掌桥专利:专业的专利平台
掌桥专利
首页

支持机器人的动作程序创建的系统、方法及计算机程序

文献发布时间:2024-04-18 19:48:15


支持机器人的动作程序创建的系统、方法及计算机程序

技术领域

本公开涉及支持机器人的动作程序创建的系统、方法以及计算机程序。

背景技术

关于产业用的多关节机器人,在指定手指指尖的目标位置姿态并输出各关节的动作指示时,通常根据机器人逆运动学求出用于实现目标位置姿态的关节角度。但是,作为该逆运动学的解有可能产生多个解。

在专利文献1中公开了一种机器人动作示教支持装置,使用模拟器求出在后续位置的机器人的动作姿态并进行画面显示,判断在后续位置有无机器人的干渉。

专利文献1:日本特开2013-136123号公报

发明内容

但是,在上述现有技术中存在这样的问题,即存在以与关节角度相关的逆运动学的解所再现的机械臂的臂姿态与用户期望的臂姿态不同的情况。

根据本公开的第一方式,提供一种支持机器人的动作程序创建的系统,其特征在于,具备:模拟器,关于所述动作程序中所包含的目标位置姿态,对表示机械臂可采取的多个臂姿态的多个模拟图像进行画面显示;以及程序修改部,将表示用户从所述多个臂姿态中选择的一个臂姿态的臂姿态参数,反映为表示向所述目标位置姿态移动的动作命令的参数。

根据本公开的第二方式,提供一种支持机器人的动作程序创建的方法,其特征在于,包括如下工序:(a)关于所述动作程序中所包含的目标位置姿态,对表示机械臂可采取的多个臂姿态的多个模拟图像进行画面显示;以及(b)将表示用户从所述多个臂姿态中选择的一个臂姿态的臂姿态参数,反映为表示向所述目标位置姿态移动的动作命令的参数。

根据本公开的第三方式,提供一种计算机程序,其特征在于,所述计算机程序使处理器执行支持机器人的动作程序创建的处理,所述计算机程序使所述处理器执行如下处理:(a)关于所述动作程序中所包含的目标位置姿态,对表示机械臂可采取的多个臂姿态的多个模拟图像进行画面显示;以及(b)将表示用户从所述多个臂姿态中选择的一个臂姿态的臂姿态参数,反映为表示向所述目标位置姿态移动的动作命令的参数。

附图说明

图1是表示实施方式中的机器人系统的结构的说明图。

图2是表示信息处理装置的内部结构的框图。

图3是表示动作程序的修改流程的流程图。

图4是表示用于进行动作程序的创建及修改的窗口的例子的说明图。

图5是表示模拟器的画面显示的一例的说明图。

图6是表示姿态调整模式的多个臂姿态的画面显示的例子的说明图。

图7是表示Hand标志不同的两个臂姿态的说明图。

图8是表示根据臂姿态选择所修改的动作程序的说明图。

附图标记说明

100…机器人;110…基座;120…机械臂;121…第一联杆;122…第二联杆;126…臂末端;150…末端执行器;200…控制装置;300…信息处理装置;310…处理器;311…动作程序创建支持部;312…程序创建部;314…模拟器;316…程序修改部;320…存储器;330…接口电路;340…输入装置;350…显示装置。

具体实施方式

图1是表示一实施方式中的机器人系统的一例的说明图。该机器人系统具备机器人100、控制机器人100的控制装置200、以及信息处理装置300。信息处理装置300例如是个人计算机。用户能够使用信息处理装置300创建或修改机器人100的动作程序。控制装置200按照由信息处理装置300提供的动作程序和指示来控制机器人100的动作。

在图1中描绘了规定三维空间的正交坐标系的三个轴X、Y、Z。X轴和Y轴是水平方向的轴,Z轴是铅垂方向的轴。这些X、Y、Z轴是以机器人100的预先设定的位置为原点的机器人坐标系Σr的坐标轴。

机器人100具备基座110和机械臂120。在机械臂120的末端部即臂末端126安装有末端执行器150。在图1的例子中,末端执行器150是夹具。机械臂120具有六个关节J1~J6,这些关节J1~J6通过联杆而依次连接。六个关节J1~J6中的三个关节J2、J3、J5是弯曲关节,其他三个关节J1、J4、J6是扭转关节。在以下的说明中,也将关节J1~J6称为“J1轴~J6轴”。在机械臂120的末端部附近设定有作为机器人100的控制点的TCP(Tool CenterPoint,工具中心点)。控制点TCP能够设定在任意位置。在本实施方式中举例示出了六轴机器人,但还能够使用具备具有多个关节的任意机械臂机构的机器人。并且,本实施方式的机器人100是垂直多关节机器人,但也可以使用水平多关节机器人。

图2是表示信息处理装置300的功能的框图。信息处理装置300具有处理器310、存储器320、接口电路330、与接口电路330连接的输入装置340及显示装置350。在接口电路330还连接有控制装置200。

处理器310具有支持机器人的动作程序RP创建的作为动作程序创建支持部311的功能。动作程序创建支持部311包括程序创建部312、模拟器314和程序修改部316的功能。程序创建部312执行按照用户的输入创建动作程序RP的处理。所创建的动作程序RP被储存在存储器320中。模拟器314执行使机器人100按照动作程序RP进行动作的模拟,将其模拟图像显示于显示装置350。程序修改部316执行按照用户的输入执行动作程序RP的修改的处理。动作程序创建支持部311的功能通过由处理器310执行存储器320中储存的计算机程序来实现。但是,也可以通过硬件电路来实现动作程序创建支持部311的功能的一部分或者全部。

存储器320中储存模拟器314所使用的机器人模型RM和机器人的动作程序RP。机器人模型RM是用于使一种以上的机器人100再现形状和动作的数据。动作程序RP由使机器人100进行动作的多个命令构成。存储器320中存储一个以上的动作程序RP。

图3是表示动作程序RP的修改流程的流程图。在步骤S110中,修改对象的动作程序由用户进行选择。

图4是表示进行动作程序RP的创建及修改用的窗口W1的例子的说明图。在该窗口W1的上侧的区域设有用于选择动作程序的选择菜单MN、指示所选择的动作程序的模拟的开始的按钮BT1和指示有无使用姿态调整模式的复选框CB1。所谓“姿态调整模式”是指关于对动作命令的目标位置姿态通过逆运动学的计算而得到的关节角度的多个解,通过模拟器314画面显示以各个解所再现的机械臂120的多个臂姿态的模式。在窗口W1的上部的区域还配置有指示所选择的动作程序的暂停和停止的执行按钮组DBT。用户使用选择菜单MN选择作为修改对象的动作程序。

在窗口W1的下侧的区域显示有使用选择菜单MN所选择的动作程序SRP。该动作程序SRP是记述了拾取及冲压作业的程序,行L1~L12的含义如下所述。另外,行序号是为了便于说明而附加的。

行L1、L3、L8、L12的动作命令是PTP(Point To Point,点到点)动作的命令,作为实现TCP的目标位置姿态用的逆运动学的多个解,可以得到多个臂姿态。因此,在通过模拟来执行PTP动作的动作命令时,画面显示多个臂姿态。另外,TCP的目标位置姿态P0、P1、P2例如用机器人坐标系中的位置(x、y、z)和姿态(w、p、r)表述。姿态用围绕三个轴的旋转角度(w、p、r)表示。

行L4、L6、L9、L11的动作命令是CP(Continuous Path,连续路径)动作的命令。CP动作是指在TCP由当前位置姿态移动到目标位置姿态时,以直线、圆弧等指定的轨迹而到达的动作。在CP动作中,原则上维持当前的机械臂120的姿态。在通过模拟来执行这些动作命令时,也可以仅画面显示一个臂姿态。但是,关于CP动作,也能够使画面显示多个臂姿态。其他的行L2、L5、L7、L10的命令是动作程序SRP的一部分,但不是机械臂120的动作命令。

这样,在姿态调整模式的模拟中,关于一部分的动作命令画面显示多个臂姿态,关于其他动作命令仅画面显示一个臂姿态。在本公开中,将在姿态调整模式中画面显示多个臂姿态的动作称为“特定动作”。特定动作也可以包括PTP动作以外的动作。

在图3的步骤S120中,按照用户的指示,动作程序SRP的模拟开始。具体地,在图4的窗口W1中,在按下指示模拟的开始的按钮BT1时,模拟器314开始关于所选择的动作程序SRP的模拟。此时,在姿态调整模式的复选框CB1被选中的情况下,在特定动作中画面显示多个臂姿态。另一方面,在姿态调整模式的复选框CB1未被选中的情况下,动作程序SRP中的多个命令被连续执行。下面,对姿态调整模式的复选框CB1被选中时的模拟进行说明。

在步骤S130中,判定成为模拟的执行对象的动作命令是否为特定动作。在是特定动作的情况下,执行自后述的步骤S140起的处理。另一方面,在不是特定动作的情况下,进入步骤S170,下一个位置姿态的臂姿态被画面显示为模拟图像。

图5是表示基于模拟器314的画面显示的一例的说明图。在表示模拟结果的窗口W2的右侧的区域显示有机器人100的模拟图像,在窗口W2的左侧的区域显示有执行中的动作程序SRP。但是,动作程序SRP的显示也可以省略。在步骤S170中,如图5所示,对表示一个臂姿态的模拟图像进行显示。

在步骤S180中,判定是否存在下一个动作命令,在不存在的情况下,结束图3的处理。另一方面,在存在下一个动作命令的情况下,返回到步骤S130,判定下一个动作命令是否为特定动作。在下一个动作命令是特定动作的情况下,进入步骤S140,对表示多个臂姿态的多个模拟图像进行画面显示。

图6是表示多个臂姿态的画面显示的例子的说明图。该例是模拟PTP动作命令的情况的例子。如上述那样,PTP动作是对表示多个臂姿态的多个模拟图像进行显示的特定动作。

在图6的窗口W3的左侧的区域显示有表示当前的臂姿态的模拟图像SM0和执行中的动作程序SRP。但是,这些显示也可以省略。

在窗口W3的右侧的区域中,目标位置姿态P1的多个臂姿态被显示为模拟图像SM1~SM4。在各个模拟图像中,作为区分机械臂120的姿态的臂姿态参数PAP,显示有以下三个标志。

(1)Hand标志

Hand标志是区分机械臂120通过J1轴和J2轴的旋转可采取的两个姿态的第一标志。

图7是表示Hand标志不同的两个臂姿态的说明图。Hand标志为“Right”(右腕系统)的情况为第一联杆121由J1轴沿+X方向延伸、第二联杆122由J2轴继续沿+X方向延伸的通常的臂姿态。即,Hand标志为“Right”的情况采取第一联杆121和第二联杆122沿基本相同的方向延伸的臂姿态。另一方面,Hand标志为“Left”(左腕系统)的情况为J1轴和J2轴旋转,第一联杆121由J1轴沿-X方向延伸、第二联杆122由J2轴沿+X方向延伸的臂姿态。即,Hand标志为“Left”的情况采取第一联杆121和第二联杆122相互弯曲并反向延伸的臂姿态。Hand标志为“Right”和“Left”在动作程序SRP中用"/R"和"/L"进行区分。

(2)Elbow标志

Elbow标志是区分机械臂120通过J3轴的旋转可采取的两个姿态的第二标志。J3轴是与人的胳膊肘相当的关节。例如,在目标位置姿态的Y坐标为正时,在与人的胳膊肘相当的部分位于上侧时Elbow标志为“Above”,在位于下侧时为“Below”。Elbow标志的“Above”和“Below”在动作程序SRP中用"/A"和"/B"进行区分。模拟图像SM1、SM3表示仅Elbow标志不同的两个臂姿态。模拟图像SM2、SM4也一样。

(3)Wrist标志

Wrist标志是区分机械臂120通过J5轴的旋转可采取的两个姿态的标志。J5轴是与人的手腕相当的关节。例如,在与人的手腕相当的部分位于上侧时Wrist标志为“NoFlip”,在位于下侧时为“Flip”。Wrist标志的“NoFlip”和“Flip”在动作程序SRP中用"/N"和"/F"进行区分。模拟图像SM1、SM2表示仅Wrist标志不同的两个臂姿态。模拟图像SM3、SM4也一样。

上述的三个标志的值的组合有八种组合,但在图6中仅显示出其中的四种。然而,关于标志的值的所有组合,也可以显示出表示这些臂姿态的模拟图像。并且,优选的是,模拟器314构成为不将机械臂120的一部分处于预先设定的动作范围之外的臂姿态显示为机械臂120可采取的臂姿态。这样,不将机械臂120的不恰当的臂姿态显示为候选,所以用户能够更容易选择恰当的臂姿态。

并且,优选的是,模拟器314构成为关于机械臂120自身撞击的臂姿态和机械臂120与周边物体发生撞击的臂姿态中的至少一种臂姿态,用户能够选择是否显示为机械臂120可采取的多个臂姿态。另外,所谓“机械臂120自身撞击的臂姿态”是指机械臂120撞击机器人100的其他部分的含义。另外,所谓“周边物体”是指机器人100以外的物体。也将周边物体称为“外部障碍物”或者“障碍物”。在图6的窗口W3中,关于这两种的臂姿态设有供用户指定是否显示的复选框CB2、CB3。例如,当在未对这些复选框CB2,CB3进行选中的状态下机械臂120可采取的臂姿态一个也没显示的情况下,通过用户对复选框CB2、CB3进行选中,能够显示机械臂120自身撞击的臂姿态和机械臂120与周边物体发生撞击的臂姿态。其结果是,能够确认臂姿态是否产生这些问题。在与周边物体发生撞击的情况下,优选该周边物体也显示于模拟图像中。并且,在显示撞击发生的臂姿态的情况下,优选将撞击发生的臂部分的颜色变更为特定颜色,由此可识别地显示撞击部分。

这样,模拟器314只要针对多个臂姿态分别显示臂姿态参数PAP,用户就能够容易确认多个臂姿态与臂姿态参数PAP的关系。作为臂姿态参数PAP,既可以仅使用上述的三个标志中的一部分标志,也可以使用这些以外的与轴相关的标志。另外,臂姿态参数PAP的显示可以省略。

关于四轴的水平多关节机器人(标量机器人),臂姿态参数PAP可以由一个臂姿态标志构成。该臂姿态标志区分机械臂通过都是扭转关节的第一轴和第二轴的旋转可采取的两个姿态。该臂姿态标志可以构成为在俯视观察时区分当作人的臂部的机械臂成为与右臂相当的朝向,还是成为与左臂相当的朝向。

在模拟图像SM1~SM4中还显示有由当前位置姿态向目标位置姿态的估计移动时间ET。估计移动时间ET是指由当前位置姿态向目标位置姿态移动所需的时间的估计值。估计移动时间ET是考虑了动作程序SRP所设定的速度、加速度、负荷及惯性等多个动作参数的估算时间。也可以是,用户以该估计移动时间ET为参考,选择优选的臂姿态。但是,估计移动时间ET的显示可以省略。

另外,作为模拟图像,也可以使用动态图像,而非静态图像。作为动态图像,例如能够使用表示由当前位置姿态到目标位置姿态的动作的动态图像。并且,也可以使用如动画动态图像那样低于通常的帧频即30帧/秒的帧频的动态图像。另外,在使用动态图像时,优选对每个动态图像设有用于指示再现的开始和停止的按钮类。如果设为以动态图像显示模拟图像,则能够确认机械臂120是否进行恰当的动作。

在图3的步骤S150中,由用户选择一个臂姿态。具体地,用户用指针PT选择在图6的窗口W3所显示的多个臂姿态中最优选的臂姿态,并按下选择完成按钮BT2,由此选择优选的一个臂姿态。在图6的例子中,表示选择了第二个臂姿态的模拟图像SM2。在这种情况下,作为臂姿态参数PAP,选择"Hand=Right"、"Elbow=Above"、"Wrist=Flip"。

在步骤S160中,按照臂姿态的选择,程序修改部316修改动作程序SRP。

图8是表示根据臂姿态选择所修改的动作程序SRP的说明图。在该例子中,动作程序SRP的行L3被修改,仅此点与图4不同。即,在行L3中反映出表示臂姿态参数PAP为"Hand=Right"、"Elbow=Above"、"Wrist=Flip"的参数"/R/A/F"。该修改通过程序修改部316进行。机器人100执行这样修改过的动作程序SRP,在到达目标位置姿态P1时,以机械臂120采取用这些臂姿态参数PAP指定的臂姿态的方式机器人100进行动作。另外,也可以是,当在图6中用户选择了一个臂姿态时,与此相应地,以实际的机械臂120采取下一个目标位置姿态P1的方式使实际的机器人100进行动作。

在动作程序SRP的修改结束时进入步骤S170,与前述的图5的情况一样地,对表示在下一个目标位置姿态P1的臂姿态的模拟图像进行画面显示。在步骤S180中,判定是否存在下一个动作命令,在存在下一个动作命令的情况下,返回到步骤S130,再次执行上述的处理。另一方面,在不存在下一个动作命令的情况下,结束图3的处理。

另外,当在图4所示的窗口W1中姿态调整模式的复选框CB1未被选中的情况下,步骤S130、S170、S180依次被反复执行,对每个动作命令显示如图5所示的表示一个臂姿态的模拟图像。在这种情况下,用于决定各动作命令的目标位置姿态中的一个臂姿态的臂姿态参数的值是按照预先设定的规则决定的。

如上所述,在上述实施方式中,关于用动作命令表示的目标位置姿态,画面显示表示机械臂120可采取的多个臂姿态的多个模拟图像。并且,将表示用户由这些臂姿态中选择的一个臂姿态的臂姿态参数PAP反映为动作命令的参数。因此,无需使机器人实际进行动作,用户观察在目标位置姿态可采取的多个臂姿态的候选,即可选择期望的臂姿态。并且,能够修改动作程序,以使机械臂120采取所选择的臂姿态。

关于具有七轴以上的关节的机器人,与六轴机器人一样,也可以对表示机械臂可采取的多个臂姿态的多个模拟图像进行显示。在这种情况下,作为构成臂姿态参数的臂姿态标志,优选使用四个以上的标志。这样,对于具有冗余自由度的机器人,也能够画面显示机械臂可采取的多个臂姿态让用户选择。

·其他方式:

本公开不限于上述的实施方式,能够在不脱离其宗旨的范围内以各种方式来实现。例如,本公开也能够通过以下的方式(aspect)来实现。与以下记载的各方式中的技术特征对应的上述实施方式中的技术特征,为了解决本公开的问题的一部分或者全部、或者为了实现本公开的效果的一部分或者全部,能够适当地进行替换和组合。并且,该技术特征如果在本说明书中未作为必要技术特征进行说明,则能够适当删除。

(1)根据本公开的第一方式,提供一种支持机器人的动作程序创建的系统。该系统具备:模拟器,关于所述动作程序中所包含的目标位置姿态,画面显示表示机械臂可采取的多个臂姿态的多个模拟图像;程序修改部,将表示用户从所述多个臂姿态中选择的一个臂姿态的臂姿态参数,反映为表示向所述目标位置姿态移动的动作命令的参数。

根据该系统,无需使机器人实际进行动作,用户观察在目标位置姿态可采取的多个臂姿态的候选,即可选择期望的臂姿态,并且能够修改动作程序,以使机械臂采取所选择的臂姿态。

(2)在上述系统中,也可以是,所述模拟器针对所述多个臂姿态分别显示所述臂姿态参数。

根据该系统,用户能够容易确认多个臂姿态与臂姿态参数的关系。

(3)在上述系统中,也可以是,所述机器人是所述机械臂具有如下结构的六轴机器人:作为扭转关节的第一轴、第四轴及第六轴和作为弯曲关节的第二轴、第三轴及第五轴,从所述第一轴到所述第六轴依次通过联杆相连接。也可以是,所述臂姿态参数包括:第一标志,区分所述机械臂通过所述第一轴和所述第二轴的旋转可采取的两个姿态;第二标志,区分所述机械臂通过所述第三轴的旋转可采取的两个姿态;第三标志,区分所述机械臂通过所述第五轴的旋转可采取的两个姿态。

根据该系统,能够使用三个标志区分六轴的机械臂可采取的多个姿态。

(4)在上述系统中,也可以是,所述模拟器构成为不将所述机械臂的一部分处于预先设定的动作范围之外的臂姿态显示为所述机械臂可采取的所述多个臂姿态。

根据该系统,不将机械臂的不恰当的臂姿态显示为候选,所以用户能够更容易选择恰当的臂姿态。

(5)在上述系统中,也可以是,所述模拟器构成为关于所述机械臂自身撞击的臂姿态、所述机械臂与周边物体发生撞击的臂姿态中的至少一种臂姿态,用户能够选择是否显示为所述机械臂可采取的所述多个臂姿态。

根据该系统,能够确认机械臂是否发生自身撞击和与周边物体的撞击。

(6)在上述系统中,也可以是,所述模拟器构成为关于所述机械臂可采取的多个臂姿态,分别显示由当前位置姿态向所述目标位置姿态的估计移动时间。

根据该系统,针对多个臂姿态显示估计移动时间,所以用户能够更容易选择恰当的臂姿态。

(7)在上述系统中,也可以是,所述模拟图像是表示由当前位置姿态到所述目标位置姿态的动作的动态图像。

根据该系统,能够确认机械臂是否进行恰当的运动。

(8)根据本公开的第二方式,提供一种支持机器人的动作程序创建的方法。该方法包括:(a)工序,关于所述动作程序中所包含的目标位置姿态,画面显示表示机械臂可采取的多个臂姿态的多个模拟图像;(b)工序,将表示用户从所述多个臂姿态中选择的一个臂姿态的臂姿态参数,反映为表示向所述目标位置姿态移动的动作命令的参数。

根据本公开的第三方式,提供一种使处理器执行支持机器人的动作程序创建的处理的计算机程序。该计算机程序使所述处理器执行:(a)处理,关于所述动作程序中所包含的目标位置姿态,画面显示表示机械臂可采取的多个臂姿态的多个模拟图像;(b)处理,将表示用户从所述多个臂姿态中选择的一个臂姿态的臂姿态参数,反映为表示向所述目标位置姿态移动的动作命令的参数。

本公开还能够以上述以外的各种方式来实现。例如,能够以具备机器人和控制装置的机器人系统、用于实现控制装置的功能的计算机程序、记录了该计算机程序的非易失性的记录介质(non-transitory storage medium)等方式来实现。

技术分类

06120116307066