CN111791228A - 编程辅助装置、机器人系统和编程辅助方法 - Google Patents
编程辅助装置、机器人系统和编程辅助方法 Download PDFInfo
- Publication number
- CN111791228A CN111791228A CN202010234727.1A CN202010234727A CN111791228A CN 111791228 A CN111791228 A CN 111791228A CN 202010234727 A CN202010234727 A CN 202010234727A CN 111791228 A CN111791228 A CN 111791228A
- Authority
- CN
- China
- Prior art keywords
- job
- program
- robot
- time
- jobs
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 93
- 238000012795 verification Methods 0.000 claims abstract description 104
- 230000007704 transition Effects 0.000 claims description 103
- 238000004088 simulation Methods 0.000 claims description 42
- 230000008859 change Effects 0.000 claims description 41
- 230000009471 action Effects 0.000 claims description 39
- 239000003550 marker Substances 0.000 claims description 11
- 230000001172 regenerating effect Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 description 69
- 230000001052 transient effect Effects 0.000 description 50
- 230000004048 modification Effects 0.000 description 49
- 238000004364 calculation method Methods 0.000 description 45
- 238000012986 modification Methods 0.000 description 42
- 238000003860 storage Methods 0.000 description 37
- 230000004044 response Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 10
- 230000008929 regeneration Effects 0.000 description 10
- 238000011069 regeneration method Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 210000000707 wrist Anatomy 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000003825 pressing Methods 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 238000003466 welding Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003245 working effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
- B25J9/1666—Avoiding collision or forbidden zones
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B15/00—Systems controlled by a computer
- G05B15/02—Systems controlled by a computer electric
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0426—Programming the control sequence
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1671—Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39135—For multiple manipulators operating at same time, avoid collision
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- General Engineering & Computer Science (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
本发明涉及编程辅助装置、机器人系统和编程辅助方法。编程辅助装置包括程序存储单元,其存储包括第一组时序作业的第一程序,第一程序的每个作业定义第一机器人的至少一个操作,第一程序配置成沿着共享时间线执行;并且存储包括第二组时序作业的第二程序,第二程序的每个作业定义第二机器人的至少一个操作,第二程序配置成沿着共享时间线执行。编程辅助装置还包括作业图像生成单元,其至少部分地基于用户指定,在共享时间线中辨识验证目标时间;并且基于第一程序和第二程序,来生成作业图像,作业图像指示在共享时间线中指定的验证目标时间处第一机器人所执行的第一组时序作业中的至少一者和第二机器人所执行的第二组时序作业中的至少一者。
Description
技术领域
本公开涉及编程辅助装置、机器人系统和编程辅助方法。
背景技术
日本特开第2016-59985号公报公开了一种工作计划装置,其包括划分单元和调整单元,该划分单元配置成将包括多个执行实体的活动划分为针对每个执行主体的多个活动,该调整单元配置成调整多个活动中的至少一个开始定时。多个活动的执行基于表示多个活动之间的依赖性的依赖性信息。
发明内容
本公开涉及对多个机器人的操作编程进行有效地优化的编程辅助装置、机器人系统和编程辅助方法。
根据本公开的一个方面的编程辅助装置包括:程序存储单元,其配置成为多个机器人中的每一者存储包括多个作业的操作程序;以及作业图像生成单元,该作业图像生成单元配置成如果用户指定了验证目标时间,则基于操作程序来生成指示多个机器人在验证目标时间处所执行的作业的作业图像。
根据本公开的另一方面的机器人系统包括编程辅助装置、多个机器人以及配置成根据操作程序来控制多个机器人的控制器。
根据本公开的又一方面的编程辅助方法包括以下步骤:为多个机器人中的每一者存储包括多个作业中的每一者的操作程序;如果用户指定了验证目标时间,则基于操作程序来生成指示多个机器人在验证目标时间处所执行的作业的作业图像。
本公开能够提供对多个机器人的操作编程进行有效地优化的编程辅助装置、机器人系统和编程辅助方法。
附图说明
图1是示出机器人系统的整体结构的示意图;
图2是示出在功能上等同于编程辅助装置的配置的框图;
图3是示出用户界面屏幕的示意图;
图4是示出程序生成单元的配置的框图;
图5是示出程序验证辅助单元的配置的框图;
图6是示出模拟器的配置的框图;
图7是示出编程辅助装置的硬件配置的框图;
图8是示出依赖性登记过程的流程图;
图9是示出执行顺序设置过程的流程图;
图10是示出程序生成过程的流程图;
图11是示出过渡作业生成过程的流程图;
图12是示出过渡作业生成过程的变形例的流程图;
图13是示出待机时段设置过程的流程图;
图14是示出执行顺序改变过程的流程图;
图15是示出生成条件改变过程的流程图;
图16是示出时间指定图像显示过程的流程图;
图17是示出作业图像显示过程的流程图;以及
图18是示出操作回放过程的流程图。
具体实施方式
以下,将参考附图对实施例进行详细描述。在说明书中,相同的附图标记被分配给相同的元件或具有相同功能的元件,并且省略冗余的描述。
[机器人系统]
根据本实施例的机器人系统是通过使机器人执行由操作者教示的操作来使各种工作(诸如处理、组装等)自动化的系统。如图1所示,机器人系统1包括多个机器人2、多个机器人控制器3和编程辅助装置100。在一些示例中,机器人2可以包括第一机器人和第二机器人。
机器人2例如是串联式链接铰接机器人,并且通过使用其末端部12保持工作工具,来执行各种工作。机器人2例如是6轴线垂直铰接机器人,并且具有基座部11、末端部12和铰接臂13。
基座部11例如安装在机器人2的工作区域中的地板上。铰接臂13将基座部11和末端部12相连接。铰接臂13具有多个关节,并且通过改变多个关节的角度,来改变末端部12相对于基座部11的位置和姿势。例如,铰接臂13具有旋转部21、下臂22、上臂23、腕部24以及马达41、42、43、44、45和46。
旋转部21以能够绕竖直轴线Ax1旋转的方式设置在基座部11的顶部。即,铰接臂13具有使旋转部21能够绕轴线Ax1旋转的关节31。
下臂22以能够绕与轴线Ax1相交(例如正交)的轴线Ax2摆动的方式连接至旋转部21。即,铰接臂13具有使下臂22能够绕轴线Ax2摆动的关节32。注意,在这里,相交还包括按照所谓的三维相交的相互扭转关系的情况。下文中也是如此。
上臂23以能够绕与轴线Ax1相交的轴线Ax3摆动的方式连接至下臂22的一端。即,铰接臂13具有使上臂23能够绕轴线Ax3摆动的关节33。轴线Ax3也可以平行于轴线Ax2。
上臂23的末端部26能够绕沿着上臂23的中心的轴线Ax4旋转。即,铰接臂13具有使上臂23的末端部26能够绕轴线Ax4旋转的关节34。换句话说,上臂23的末端部26能够相对于基座部25旋转。
腕部24以能够绕与轴线Ax4相交(例如正交)的轴线Ax5摆动的方式连接至上臂23的末端部26。即,铰接臂13具有使腕部24能够绕轴线Ax5摆动的关节35。
末端部12以能够沿着腕部24的中心绕轴线Ax6旋转的方式连接至腕部24的末端部。即,铰接臂13具有使末端部12能够绕轴线Ax6旋转的关节36。
马达41、42、43、44、45和46响应于电力的供应而驱动铰接臂13的多个移动部件。例如,马达41使旋转部21绕轴线Ax1旋转,马达42使下臂22绕轴线Ax2摆动,马达43使上臂23绕轴线Ax3摇摆,马达44使上臂23的末端部26绕轴线Ax4旋转,马达45使腕部24绕轴线Ax5旋转,并且马达46使末端部12绕轴线Ax6旋转。即,马达41、42、43、44、45和46分别驱动关节31、32、33、34、35和36。
注意,机器人2的前述配置仅是示例。机器人2也可以以任何方式配置,以仅能够调整末端部12相对于基座部11的位置和姿势。例如,机器人2也可以是通过将冗余轴线添加至上述6轴线垂直铰接机器人而获得的7轴线机器人。此外,机器人2可以是所谓的标量机器人或并联式链接机器人。
多个机器人控制器3根据预定义的操作程序来控制多个机器人2中的每一者。例如,机器人控制器3是控制计算机,该控制计算机具有用于控制马达41、42、43、44、45和46的位置和速度的驱动电路以及通信端口。
操作程序包括按时间顺序布置的多个操作命令。每个操作命令包括末端部12的目标位置和目标姿势、从当前位置和当前姿势到目标位置和目标姿势的移动速度以及从当前位置和当前位置到目标位置和目标姿势的插值方法。插值方法的具体示例包括在末端部12的当前位置和当前姿势与末端部12的目标位置和目标姿势之间的线性或S形插值等方法,以及在对应于末端部12的当前位置和当前姿势的关节角度(关节31、32、33、34、35和36的操作角度)与对应于末端部12的目标位置和目标姿势的关节角度之间的线性或S形插值等方法。
编程辅助装置100是辅助生成前述操作程序的装置。编程辅助装置100配置成为多个机器人2中的每一者存储包括多个作业中的每一者的操作程序,并且基于操作程序,响应于由用户指定验证目标时间来生成作业图像,该作业图像指示多个机器人2在验证目标时间处所执行的作业。在一些示例中,编程辅助装置100可以存储第一程序和第二程序,该第一程序包括各自定义了第一机器人的动作的时序作业,该第二程序包括各自定义了第二机器人的动作的时序作业。编程辅助装置100可以基于第一程序和第二程序,生成指示在时间线中由用户指定的验证目标时间处第一机器人所执行的作业和第二机器人所执行的作业的作业图像。
编程辅助装置100可以生成作业图像,以便为多个机器人2中的每一者指示流程图和标记,在该流程图中,多个作业按执行顺序布置,该标记指示流程图中的在验证目标时间处被执行的部分。作业图像可以是使用户能够识别多个机器人2在验证目标时间处所执行的作业的任何图像,并且因此可以是对多个机器人2在验证目标时间处所执行的作业的ID的布置进行显示的图像。
编程辅助装置100还可以进一步配置成通过基于操作程序执行操作模拟,来生成多个机器人2在验证目标时间处的模拟图像,并且配置成生成包括作业图像和模拟图像的用户界面。
编程辅助装置100还可以进一步配置成生成包括光标的时间指定图像并且根据光标在时间指定图像中的位置来指定验证目标时间,该光标指示在表示时间轴线的方向上的位置,并且编程辅助装置100配置成生成还包括时间指定图像的用户界面。
图2是示出在功能上等同于编程辅助装置100的配置的框图。以下将图2所示的每个块称为“功能块”。如图2所示,编程辅助装置100包括作业信息存储单元112、作业信息获取单元111、依赖性设置单元113、依赖性存储单元114、接口单元120、程序生成单元130、程序存储单元115、程序验证辅助单元140和模拟器150作为功能块。
作业信息存储单元112为机器人2存储多个工作作业。工作作业是作为操作程序的一部分被处理并且包括至少一个操作命令的程序。工作作业还可以包括按时间顺序布置的多个操作命令。在一些示例中,第一程序的工作可以包括各自定义了第一机器人的预定工作动作的工作作业。第二程序的工作可以包括各自定义了第二机器人的预定工作动作的工作作业。
例如,为使机器人2执行的每个工作单元配置工作作业。工作单元的具体示例包括在一个连续操作中完成的工作,如同沿着一条直线进行焊接的情况。工作单元还可以包括多个不连续的工作,如同在多个相邻点处进行点焊的情况。对工作作业所包含的操作命令的数量没有限制。此外,各个操作命令的执行时间段根据移动距离和移动速度而变化。因此,作业信息存储单元112所存储的多个工作作业的执行时间段不统一。机器人2的机器人控制器3根据对机器人2进行教示的工作等来生成并存储工作作业。
作业信息获取单元111获取多个机器人控制器3中的每一者所存储的工作,并且将与工作作业的内容相关联的工作作业辨识信息登记在作业信息存储单元112中。
接口单元120构成所谓的图形用户界面(graphical user interface,GUI),以辅助操作程序的生成。例如,接口单元120在显示装置上显示包括多个图形元素的用户界面屏幕,并且获取用于选择和移动图形元素的操作信息等。
图3是示出接口单元120所显示的用户界面屏幕的示意图。如图3所示,接口单元120所显示的用户界面屏幕200包括依赖性输入按钮211、流程创建按钮212、程序创建按钮213、流程显示窗口220、模拟窗口240和时间线窗口230。
依赖性输入按钮211是用于开始为作业信息存储单元112所存储的多个工作作业中的每一者进行依赖性设置的按钮。流程创建按钮212是用于开始创建判定多个工作作业的执行顺序的流程图的按钮。程序创建按钮213是用于根据前述流程图来指导操作程序的创建的按钮。
流程显示窗口220是显示作业图像的窗口,该作业图像为多个机器人2中的每一者指示流程图和标记,在流程图中,多个作业按执行顺序布置,该标记指示流程图中的在验证目标时间处被执行的部分。在一些示例中,作业图像可以包括:第一流程图,在该第一流程图中,与第一程序的作业相对应的多个符号按执行顺序布置;第一标记,其在第一流程图中指示第一机器人在验证目标时间处所执行的作业程序;第二流程图,在该第二流程图中,与第二程序的作业相对应的多个符号按执行顺序布置;以及第二标记,其在第二流程图中指示第二机器人在验证目标时间处所执行的作业程序。每个流程图包括各自指示多个工作作业的多个工作符号以及各自指示多个过渡作业的多个移动符号。在一些示例中,在第一流程图中,可以按执行顺序布置与第一程序的工作作业和过渡作业相对应的多个符号。作业图像可以包括第一标记,该第一标记在第一流程图中指示第一机器人在验证目标时间处所执行的作业程序。在第二流程图中,可以按执行顺序布置与第二程序的工作作业和过渡作业相对应的多个符号。作业图像可以包括第二标记,该第二标记在第二流程图中指示第二机器人在验证目标时间处所执行的作业程序。例如,每个流程图包括起点221、各自指示多个工作作业的多个工作块222(工作符号)、各自指示多个过渡作业的多个移动线223(移动符号)和终点224。
起点221指示将末端部12设置在预定的操作开始位置和预定的操作开始姿势的工作作业(以下称为“操作开始作业”)。终点224指示将末端部12设置在预定的操作结束位置和预定的操作结束姿势的工作作业(以下称为“操作结束作业”)。操作结束位置和操作结束姿势也可以与操作开始位置和操作开始姿势相同。
多个工作块222布置为按根据执行顺序的布置顺序,从起点221朝终点224延伸。多个移动线223包括将起点221连接至初始工作块222的移动线223、将相邻的工作块222连接在一起的移动线223以及将最终工作块222连接至终点224的移动线223。所有的移动线223指示按时间顺序布置的两个工作作业之间的过渡作业。
标记225例如借助于流程图旁边的箭头形状示出,并且指示流程图中的在验证目标时间处被执行的部分。也可以通过使用颜色、亮度或厚度突出显示在验证目标时间处所执行的工作块222或移动线223,来示出在验证目标时间处被执行的部分。在这种情况下,突出显示的工作块222或移动线223本身用作标记。
模拟窗口240是显示多个机器人2在验证目标时间处的模拟图像的窗口。模拟图像包括机器人图像241和工件图像242,该机器人图像241示出机器人2在验证目标时间处的位置和姿势,该工件图像242示出工件在验证目标时间处的位置和姿势。模拟图像还可以包括示出与机器人2相邻的物体(诸如夹具或输送装置等)的图像。
时间线窗口230显示用于指定验证目标时间的时间指定图像。时间指定图像可以沿着时间流逝方向延伸。时间线窗口230的时间指定图像包括针对多个机器人2中的每一者的流逝时间条231、光标232、回放按钮233、停止按钮234和总时间显示单元235。
流逝时间条231被示出为遵循表示时间轴线的方向(图3中的竖直方向),并且借助于沿着该方向的长度来指示时间的长度。流逝时间条231包括指示工作作业执行时段的工作时段显示单元236、指示过渡作业执行时段的移动时段显示单元237和指示作业执行待机时段的待机时段显示单元238。
光标232借助于在表示时间轴线的方向上的位置来指定验证目标时间。图3中的光标232以与所有流逝时间条231交叉的线的形式示出,但是并不限于此。光标232可以以任何方式显示,只要示出在表示时间轴线的方向上的位置即可。例如,光标232可以以流逝时间条231旁边的箭头或点的形式示出。
回放按钮233是用于指示光标232以预定速度移动的按钮。作为使光标232移动的结果,标记225在流程显示窗口220中移动,并且机器人图像241和工件图像242在模拟窗口240中显示为移动图像。停止按钮234是用于指示光标232的移动停止的按钮。总时间显示单元235指示执行操作程序所需的时间。
在图3中,在流程显示窗口220中示出两个流程图,在时间线窗口230中示出两个流逝时间条231,并且在模拟窗口240中示出两个机器人图像241,但是这些图像的数量可以根据机器人2的数量而适当地改变。此外,图3中的流程显示窗口220、时间线窗口230和模拟窗口240的布局仅是示例,并且可以适当地改变。流程显示窗口220和模拟窗口240也可以以使得能够借助于选项卡选择进行切换的重叠方式来显示。时间线窗口230也可以被示出为使得时间轴线水平。
返回至图2,依赖性设置单元113响应于按下依赖性输入按钮211,在接口单元120上显示用于输入依赖性的图像,并且响应于对该图像的输入,来设置工作作业之间的依赖性。工作作业之间的依赖性意味着为了执行任何给定的工作作业所应满足的与另一个工作作业的执行定时关系。执行定时关系例如包括工作作业之间的先前关系和工作作业之间的间隔。例如,依赖性设置单元113针对每个工作作业,设置预先要执行的另一个工作作业的辨识信息(以下称为“所需先前作业”)以及在所需先前作业之后要提供的间隔。还可以有两个或更多个所需先前作业。
更具体地,依赖性设置单元113响应于按下依赖性输入按钮211,在接口单元120上显示工作作业选择图像(以下称为“目标选择图像”)。另外,依赖性设置单元113在接口单元120上显示针对经由目标选择图像所选择的工作作业(以下称为“目标作业”)的依赖性输入图像。此外,依赖性设置单元113响应于对依赖性输入图像的输入,来设置与目标作业有关的依赖性。依赖性输入图像是用于输入所需先前作业和在所需先前作业之后要提供的间隔的图像,并且可以配置成使得能够指定两个或更多个所需先前作业。依赖性存储单元114存储依赖性设置单元113所预设的工作作业之间的依赖性。
程序生成单元130基于接口单元120从用户界面屏幕200所获取的信息,为多个机器人2中的每一者生成包括多个作业的操作程序。程序存储单元115针对多个机器人2中的每一者,存储程序生成单元130所生成的操作程序。例如,程序存储单元115可以配置成存储第一程序和第二程序。第一程序包括第一组时序作业。第一程序的每个作业均定义了第一机器人的至少一个操作。第一程序配置成沿着共享时间线执行。第二程序包括第二组时序作业。第二程序的每个作业均定义了第二机器人的至少一个操作。第二程序配置成沿着共享时间线执行。第一程序可以包括至少两个彼此不同的作业执行时段。第二程序可以包括至少两个彼此不同的作业执行时段。第一组时序作业中的至少两者可以包括至少一个指示针对第一机器人的目标位置和目标速度的命令。第二组时序作业中的至少两者可以包括至少一个指示针对第二机器人的目标位置和目标速度的命令。
程序验证辅助单元140基于操作程序来生成指示多个机器人2在验证目标时间处所执行的作业的作业图像,并且基于操作程序使用操作模拟来生成多个机器人2在验证目标时间处的模拟图像。
例如,程序验证辅助单元140基于程序存储单元115所存储的操作程序,来识别机器人2在验证目标时间处所执行的作业,并且将识别结果输出至接口单元120,以更新流程显示窗口220的作业图像。此外,程序验证辅助单元140基于程序存储单元115所存储的操作程序,使用操作模拟来生成多个机器人2在验证目标时间处的模拟图像,并且将模拟图像输出至接口单元120以更新模拟窗口240的模拟图像。
模拟器150执行操作模拟。模拟器150保持指示机器人2的布置、结构和零件尺寸等的模型数据,并且根据模型数据以及末端部12的目标位置和目标姿势使用逆运动学运算来计算关节31、32、33、34、35和36的角度。此外,基于关节31、32、33、34、35和36的角度,模拟器150还判定碰撞的存在并且生成模拟图像。
下文,将更详细地描述程序生成单元130、程序验证辅助单元140和模拟器150的配置。如图4所示,程序生成单元130具有执行顺序设置单元131、可执行性检查单元132、生成条件设置单元133、生成条件存储单元134、过渡作业生成单元135、待机时段计算单元136、生成条件改变单元137和修改位置识别单元138作为功能块。
执行顺序设置单元131基于对用户界面屏幕200的输入,为多个机器人2中的每一者设置多个工作作业的执行顺序。在一些示例中,执行顺序设置单元131可以基于用户输入,来设置第一程序的工作作业的第一执行顺序和第二程序的工作作业的第二执行顺序。例如,执行顺序设置单元131响应于按下流程创建按钮212,在接口单元120上显示工作作业选择图像(以下称为“执行作业选择图像”)。
执行作业选择图像是用于为每个机器人2输入要执行的多个工作作业(以下称为“执行作业”)和多个执行作业的执行顺序的图像。执行顺序设置单元131响应于对执行作业选择图像的输入,为每个机器人2设置多个执行作业的执行顺序。
可执行性检查单元132检查操作程序的工作作业所定义的机器人2的工作动作是否满足机器人2的动作约束(与工作作业中的至少两者相关的序列操作条件)。可执行性检查单元132可以基于第一程序和第二程序,来检查工作作业的执行顺序是否满足与工作作业中的至少两者相关联的序列条件。在一些示例中,可执行性检查单元132基于每个机器人2的动作约束和依赖性存储单元114所存储的依赖性(与工作作业中的至少两者相关的顺序条件),根据执行顺序设置单元131所设置的执行顺序(以下称为“设置顺序”),为每个机器人2判定多个执行作业的可执行性。动作约束的具体示例包括末端部12的可移动范围、关节31、32、33、34、35和36的可移动角度等。可移动角度是允许的最大操作角度。
例如,可执行性检查单元132使模拟器150计算用于使末端部12根据执行作业而移动的关节31、32、33、34、35和36的操作角度,并且从模拟器150获取判定计算结果是否位于可移动角度内的结果。如果模拟器150判定关节31、32、33、34、35和36的操作角度超过可移动角度,则可执行性检查单元132判定多个执行作业无法根据设置顺序来执行。
此外,在用于任何执行作业的所需先前作业均未位于执行作业之前的情况下,可执行性检查单元132还判定多个执行作业无法根据设置顺序来执行。
如果另一个机器人2执行针对机器人2的执行作业的所需先前作业,则通过调整与另一个机器人2的操作定时,该执行作业可以满足时间指定单元142所存储的依赖性。因此,如果针对任何执行作业的所需先前作业是机器人2中的另一个机器人2的执行作业,则可执行性检查单元132可以判定执行作业满足依赖性。
如果机器人2中的任一者均无法根据设置顺序来执行多个执行作业,则可执行性检查单元132在接口单元120上显示错误消息,该错误消息包含指示不满足特定执行作业的哪个条件的信息。另一方面,如果判定所有机器人2均可以根据设置顺序来执行多个执行作业,则可执行性检查单元132使用接口单元120在流程显示窗口220中并且根据设置顺序来显示多个机器人2中的每一者的流程图。
另外,可执行性检查单元132针对多个机器人2中的每一者,将如下程序作为操作程序保存在程序存储单元115中:该程序通过根据设置顺序将多个执行作业插入至操作开始作业与操作结束作业之间而获得。相应地,临时生成在执行作业之间移动最短距离的操作程序。
生成条件设置单元133针对工作作业(执行作业)之间的每个移动片段,在临时生成的操作程序中,将过渡作业生成条件设置为预设初始条件。过渡作业生成条件的具体示例包括用于定义生成为过渡作业候选的作业(以下称为“候选作业”)的数量的条件和候选作业选择条件(以下称为“第一类型条件”)。
选择条件的具体示例包括对移动作业特性(移动时间、移动距离或移动期间的功耗等)的最高评估得分。评估得分可以是仅基于一种类型的特性的得分,或者可以是基于多种类型的特性的得分。
过渡作业生成条件的其他示例包括定义用于采用过渡作业特性的评估得分的阈值的条件(以下称为“第二类型条件”)。此外,这样的条件还包括定义用于重复候选作业生成的时间或频率并且定义候选作业选择条件的条件(以下称为“第三类型条件”)。这些类型的生成条件中的两种或更多种也可以组合。
生成条件存储单元134针对每个移动片段,存储生成条件设置单元133所设置的生成条件。
过渡作业生成单元135(作业生成单元)基于执行顺序设置单元131所设置的执行顺序,为多个机器人2中的每一者生成多个工作作业之间的过渡作业。在一些示例中,过渡作业生成单元135可以基于第一执行顺序来生成至少一个过渡作业,该过渡作业定义第一机器人在第一程序的两个序列工作作业之间的动作。过渡作业生成单元135可以基于第二执行顺序来生成至少一个过渡作业,该过渡作业定义第二机器人在第二程序的两个序列工作作业之间的动作。例如,过渡作业生成单元135根据生成条件存储单元134所存储的生成条件,为每个移动片段生成过渡作业。
例如,过渡作业生成单元135生成过渡作业,以便将前序工作作业的终点(最终操作命令的目标位置和目标姿势)与后续工作作业的起点(初始操作命令的目标位置和目标姿势)之间进行链接,并且避免机器人2与工件和相邻物体相碰撞。通过提供示例,过渡作业生成单元135生成能够避免碰撞的通过点,并且重复过渡作业的修改以实现经由通过点的通路,直至针对整个过渡作业均可以避免碰撞为止。
当生成过渡作业时,过渡作业生成单元135使模拟器150执行机器人2与工件和相邻物体的碰撞的判定。注意,例如,日本特许第4103057号公报中也详细地公开了用于生成过渡作业的方法。
如果生成条件存储单元134所存储的生成条件是第一类型条件,则过渡作业生成单元135使用前述生成方法来生成第一类型条件所定义的数量的候选作业,并且根据第一类型条件所定义的选择条件,来选择任何候选作业作为过渡作业。
如果生成条件存储单元134所存储的生成条件是第二类型条件,则过渡作业生成单元135使用前述生成方法来重复生成过渡作业,直至过渡作业特性的评估得分超过第二类型条件所定义的采用阈值为止。
如果生成条件存储单元134所存储的生成条件是第三类型条件,则过渡作业生成单元135重复生成候选作业,直至达到第三类型条件所定义的时间或频率为止,并且根据第三类型条件所定义的选择条件,来选择任何候选作业作为过渡作业。
待机时段计算单元136为多个机器人2中的每一者计算(或设置)多个作业(包括工作作业和过渡作业)的相应的执行待机时段,以调整多个机器人2的相对操作定时。在一些示例中,待机时段计算单元136可以计算第一程序的两个序列作业之间的至少一个待机时段,以调整第一机器人和第二机器人的相对操作定时。待机时段计算单元136可以计算第二程序的两个序列作业之间的至少一个待机时段,以调整第一机器人和第二机器人的相对操作定时。时间指定图像还可以包括:第一时间条,其沿着时间流逝方向延伸并且包括指示第一程序的执行时段的执行部分和指示第一程序的至少一个待机时段的至少一个待机部分;以及第二时间条,其沿着时间流逝方向延伸并且包括指示第二程序的执行时段的执行部分和指示第二程序的至少一个待机时段的至少一个待机部分。第一时间条的执行部分可以包括指示第一程序的工作作业的执行时段的工作执行部分和指示第一程序的至少一个过渡作业的执行时段的至少一个过渡部分。第二时间条的执行部分可以包括指示第二程序的工作作业的执行时段的工作执行部分和指示第二程序的至少一个过渡作业的执行时段的至少一个过渡部分。例如,如果另一个机器人2的操作程序包括针对任何给定的机器人2的工作作业的所需先前作业,则待机时段计算单元136计算该工作作业的待机时段,使得工作作业在所需先前作业之后开始。
另外,如果两个机器人2在同时执行作业时会发生碰撞,则待机时段计算单元136计算两个机器人2中的任一者的作业待机时段,使得序列地执行作业。待机时段计算单元136使模拟器150执行对机器人2之间的碰撞的存在的判定。
编程辅助装置100可以配置成基于对流程显示窗口220的操作输入来修改操作程序。例如,执行顺序设置单元131可以响应于使工作作业在流程显示窗口220的作业图像内移动的输入(例如,使工作块222移动的拖动输入),来改变与工作作业的移动相关联的至少一个机器人2(以下称为“修改目标机器人”)的执行顺序。如果进行输入以使工作作业在流程显示窗口220的作业图像中的两个流程图之间移动,则存在两个修改目标机器人。在一些示例中,执行顺序设置单元131可以根据使第一程序的工作作业的目标作业在第一流程图中移动的用户请求来改变第一执行顺序。执行顺序设置单元可以根据使工作作业的目标作业在第一流程图与第二流程图之间移动的用户请求来改变第一执行顺序和第二执行顺序。
可执行性检查单元132针对修改目标机器人,根据改变后的执行顺序(以下称为“改变后的顺序”)来重新判定多个执行作业的可执行性。当判定无法根据改变后的顺序执行多个执行作业时,可执行性检查单元132使接口单元120显示错误消息,该错误消息包含指示不满足特定执行作业的哪个条件的信息。
另一方面,在判定多个执行作业可以根据改变后的顺序来执行时,可执行性检查单元132使用接口单元120根据改变后的顺序来修改流程显示窗口220中的修改目标机器人的流程图。
另外,在程序存储单元115中,将如下程序保存为修改目标机器人的操作程序:该程序通过根据改变后的顺序将多个执行作业插入至操作开始作业与操作结束作业之间而获得。相应地,临时生成修改目标机器人的修改后操作程序(以下称为“修改后程序”)。
生成条件设置单元133针对工作作业之间的每个移动片段,在临时生成的修改后程序中将过渡作业生成条件改变为预设初始条件,并且将过渡作业生成条件保存在生成条件存储单元134中。
过渡作业生成单元135基于执行顺序设置单元131所改变的执行顺序,来重新生成至少一个过渡作业。例如,过渡作业生成单元135针对修改后的程序的每个移动片段,根据生成条件存储单元134所存储的生成条件来重新生成过渡作业。在一些示例中,过渡作业生成单元135可以根据因根据用户请求所改变的第一执行顺序来重新生成至少一个过渡作业。过渡作业生成单元135可以根据因根据用户请求所改变的第二执行顺序来重新生成至少一个过渡作业。
待机时段计算单元136基于执行顺序设置单元131所重新计算(或改变)的执行顺序和过渡作业生成单元135所重新生成的作业,针对多个机器人2中的每一者来改变多个作业的相应的执行待机时段。在一些示例中,待机时段计算单元136可以根据改变后的第一执行顺序,来重新计算第一程序和第二程序的待机时段。
程序生成单元130还可以包括修改位置识别单元138。修改位置识别单元138识别修改必要位置和修改不必要位置,在修改必要位置处,需要根据执行顺序设置单元131对执行顺序的改变来进行过渡作业重新生成,在修改不必要位置处,无需过渡作业重新生成。在这种情况下,过渡作业生成单元135重新生成修改必要位置的过渡作业,而不重新生成修改不必要位置的过渡作业。在一些示例中,过渡作业生成单元135可以跳过与用户所移动的工作作业不相关联的过渡作业的重新生成。在一些示例中,修改位置识别单元138可以根据第一执行顺序来识别其间包括至少一个过渡作业中的过渡作业的一对或多对序列工作作业。修改位置识别单元138可以根据因根据用户请求所改变的第一执行顺序,来在一对或多对序列工作作业中识别其间不包括目标作业的一对序列工作作业。在这种情况下,过渡作业生成单元135可以根据因根据用户请求所改变的第一执行顺序,将过渡作业保留在其间不包括目标作业的一对序列工作作业之间。
例如,修改位置识别单元138针对修改后程序的每个移动片段,确认修改前操作程序(以下称为“修改前程序”)中是否存在相同的移动片段。相同的移动片段意味着前序工作作业与后续工作作业之间相一致的移动片段。如果修改前程序中不存在与修改后程序的移动片段相同的移动片段,则修改位置识别单元138将该移动片段识别为修改必要位置。
如果修改前程序中存在与修改后程序的移动片段相同的移动片段,则修改位置识别单元138将该移动片段识别为修改不必要位置,并且将与修改前程序中的过渡作业相同的过渡作业插入至移动片段中。过渡作业生成单元135在修改后程序中不重新生成供过渡作业插入的移动片段的过渡作业,并且重新生成不供过渡作业插入的移动片段的过渡作业。
程序生成单元130还可以包括生成条件改变单元137。生成条件改变单元137响应于对流程显示窗口220中的作业图像的输入,来分别改变过渡作业的生成条件。在一些示例中,生成条件改变单元可以选择用户在作业图像中指出的过渡作业;并且根据用户的输入来改变所选的过渡作业的生成条件。例如,生成条件改变单元137响应于输入(例如,点击移动线223)来使接口单元120显示针对过渡作业的生成条件输入图像,以在流程显示窗口220中的作业图像中选择过渡作业,并且基于对输入图像的输入,来改变过渡作业的生成条件。
例如,生成条件改变单元137基于对输入图像的输入来设置过渡作业的生成条件,并且重写生成条件存储单元134。在这种情况下,过渡作业生成单元135基于生成条件改变单元137所改变的生成条件,来重新生成与改变后的生成条件相对应的过渡作业。
例如,如果过渡作业生成条件改变,则生成条件改变单元137从程序存储单元115中擦除过渡作业。过渡作业生成单元135重新生成过渡作业被擦除的移动片段的过渡作业。
如图5所示,程序验证辅助单元140包括时间指定图像生成单元141、时间指定单元142、作业图像生成单元143、模拟图像生成单元144和回放处理单元145作为功能块。
时间指定图像生成单元141生成包括光标的时间指定图像,该光标指示在表示时间轴线的方向上的位置。时间指定图像生成单元141也可以生成还包括针对多个机器人2中的每一者的流逝时间条的时间指定图像,该流逝时间条沿着时间轴线指示作业执行时段和作业执行待机时段。时间指定图像生成单元141可以基于对时间指定图像的用户输入,来改变时间光标在时间流逝方向上的位置。时间指定图像生成单元141还可以生成时间指定图像,以在流逝时间条上进一步指示工作作业的执行时段和过渡作业的执行时段。
例如,时间指定图像生成单元141生成上述时间线窗口230中的时间指定图像的数据,并且使接口单元120根据数据在时间线窗口230中显示时间指定图像。因此,构成了包括时间指定图像的图形用户界面。
时间指定图像生成单元141还可以配置成基于执行顺序设置单元131所改变的执行顺序、过渡作业生成单元135所重新生成的过渡作业和待机时段计算单元136所改变的执行待机时段,来更新流逝时间条231。在一些示例中,时间指定图像生成单元141可以基于改变的第一执行顺序、重新生成的过渡作业和重新计算的待机时段,来更新第一时间条和第二时间条。
例如,时间指定图像生成单元141基于执行顺序设置单元131所改变的执行顺序、过渡作业生成单元135所重新生成的过渡作业和待机时段计算单元136所改变的执行待机时段,来生成流逝时间条231的更新数据,并且使接口单元120根据更新数据来更新流逝时间条231。
时间指定单元142根据光标在时间指定图像上的位置,来指定验证目标时间。例如,时间指定单元142基于光标232在时间线窗口230中的时间指定图像上的位置(例如,光标232在流逝时间条231的延伸方向上的位置)来指定验证目标时间。
当用户指定了验证目标时间时,作业图像生成单元143基于操作程序,来生成指示多个机器人2在验证目标时间处所执行的作业的作业图像。在一些示例中,作业图像生成单元143可以基于第一程序和第二程序,来生成指示在验证目标时间处第一机器人所执行的第一组时序作业中的至少一者和第二机器人所执行的第二组时序作业中的至少一者的作业图像。在一些示例中,作业图像生成单元143可以基于对第一机器人的命令来计算第一组时序作业中的至少两者的执行时段,并且基于对第二机器人的命令来计算第二组时序作业中的至少两者的执行时段。作业图像生成单元143可以基于第一组时序作业中的至少两者的执行时段,来检测第一机器人在验证目标时间处所执行的作业;并且基于第二组时序作业中的至少两者的执行时段,来检测第二机器人在验证目标时间处所执行的作业。作业图像生成单元143还可以生成以便为该多个机器人2中的每一者指示流程图和标记的作业图像,在该流程图中,多个作业按执行顺序布置,该标记指示流程图中的在验证目标时间处被执行的部分。在一些示例中,作业图像可以包括:第一流程图,在该第一流程图中,与第一程序的作业相对应的多个符号按执行顺序布置;第一标记,其在第一流程图中指示第一机器人在验证目标时间处所执行的作业程序;第二流程图,在该第二流程图中,与第二程序的作业相对应的多个符号按执行顺序布置;第二标记,其在第二流程图中指示第二机器人在验证目标时间处所执行的作业程序。作业图像生成单元143还可以生成为多个机器人2中的每一者指示流程图的作业图像,该流程图包括各自指示多个工作作业的多个工作符号和指示过渡作业的移动符号。
例如,如果基于光标232在时间线窗口230中的时间指定图像上的位置来指定验证目标时间,则作业图像生成单元143基于程序存储单元115所存储的操作程序来识别多个机器人2在验证目标时间处所执行的作业,并且使用接口单元120在流程显示窗口220中显示指示识别出的作业的标记225。因此,构成了包括作业图像的图形用户界面。
模拟图像生成单元144基于操作程序,通过使用操作模拟来生成多个机器人2在验证目标时间处的模拟图像。例如,模拟图像生成单元144使模拟器150生成多个机器人2在验证目标时间处的模拟图像。
例如,模拟图像生成单元144将每个机器人2的末端部12在验证目标时间处的目标位置和目标姿势输出至模拟器150,并且使模拟器150生成多个机器人2、工件和相邻物体的模拟图像。模拟图像生成单元144获取模拟器150所生成的模拟图像的数据(例如,使用多边形的三维表面数据),并且使接口单元120根据数据在模拟窗口240中显示模拟图像。因此,构成了包括模拟图像的图形用户界面。
回放处理单元145使光标232以预定速度移动。例如,回放处理单元145响应于在用户界面屏幕200上按下回放按钮233而开始光标232的移动,并且响应于按下停止按钮234而停止光标232的移动。
当回放处理单元145使光标232移动时,作业图像生成单元143相应地更新流程显示窗口220中的标记225,并且模拟图像生成单元144更新模拟窗口240中的机器人图像241和工件图像242等。相应地,标记225根据光标232的移动而在流程显示窗口220中移动,并且机器人图像241和工件图像242等在模拟窗口240中显示为移动图像。
如图6所示,模拟器150具有模型信息存储单元151、可操作性检查单元152、碰撞判定单元153、154和模拟图像生成单元155。
模型信息存储单元151存储多个机器人2的模型数据、安装多个机器人2的环境的模型数据以及工件模型数据。机器人2的模型数据包括机器人2的布局、结构和零件尺寸以及关节31、32、33、34、35和36的可移动角度。安装多个机器人2的环境的模型数据包括相邻物体的布局、结构和零件尺寸等。工件模型数据也包括布局、结构和零件尺寸等。
可操作性检查单元152从可执行性检查单元132获取工作作业(执行作业),并且基于末端部12的目标位置和目标姿势以及模型信息存储单元151所存储的模型数据,借助于逆运动学运算来计算每个机器人2的关节31、32、33、34、35和36的操作角度。可操作性检查单元152判定所计算的关节31、32、33、34、35和36的操作角度是否处于可移动角度之内,并且将判定结果输出至可执行性检查单元132。
碰撞判定单元153从过渡作业生成单元135获取过渡作业,并且基于末端部12的目标位置和目标姿势以及模型信息存储单元151所存储的模型数据,借助于逆运动学运算来计算关节31、32、33、34、35和36的操作角度。碰撞判定单元153基于所计算的关节31、32、33、34、35和36的操作角度以及模型信息存储单元151所存储的模型数据,借助于直接运动学运算来计算机器人2的各部分的位置,并且基于计算结果来判定机器人2与工件和相邻物体之间的碰撞的存在。碰撞判定单元153将判定结果输出至过渡作业生成单元135。
碰撞判定单元154从待机时段计算单元136获取每个机器人2的过渡作业或工作作业,并且基于末端部12的目标位置和目标姿势以及模型信息存储单元151所存储的模型数据,借助于逆运动学运算为每个机器人2计算关节31、32、33、34、35和36的操作角度。碰撞判定单元154基于所计算出的关节31、32、33、34、35和36的操作角度以及模型信息存储单元151所存储的模型数据,借助于直接运动学操作来计算机器人2的各部分的位置,并且基于计算结果来判定机器人2之间的碰撞的存在。碰撞判定单元154将判定结果输出至待机时段计算单元136。
模拟图像生成单元155从模拟图像生成单元144获取每个机器人2的过渡作业或工作作业,并且基于末端部12的目标位置和目标姿势以及模型信息存储单元151所存储的模型数据,借助于逆运动学运算来为每个机器人2计算关节31、32、33、33、34、35和36的操作角度。模拟图像生成单元155基于所计算出的关节31、32、33、33、34、35和36的操作角度以及模型信息存储单元151所存储的模型数据,借助于直接运动学运算来计算机器人2的各部分的位置,并且基于针对每个机器人2的计算结果来生成模拟图像的数据。模拟图像生成单元155将生成的数据输出至模拟图像生成单元144。
图7是示出编程辅助装置100的硬件配置的框图。如图7所示,编程辅助装置100包括电路190。电路190具有一个或多个处理器191、内存192、存储器193、通信端口194、显示装置195和输入装置196。
存储器193存储程序,该程序用于使编程辅助装置100针对多个机器人2中的每一者执行包括多个作业中的每一者的操作程序的存储,并且如果用户指定了验证目标时间,则基于操作程序来执行作业图像的生成,该作业图像指示多个机器人2在验证目标时间处所执行的作业。例如,存储器193是诸如至少一个硬盘或非易失性内存等的存储介质,并且存储用于配置上述编程辅助装置100的功能块的程序。
内存192临时存储从存储器193加载的程序以及处理器191所执行的操作的结果等。处理器191与内存192协作地执行程序。通信端口194配置成根据来自处理器191的指令,经由有线或无线通信路径与另一个编程辅助装置100的通信端口194进行通信。
显示装置195例如包括液晶监视器等。显示装置195用于显示用户界面屏幕200,以作为上述接口单元120。输入装置196例如是键盘等。输入装置196用于获取对用户界面屏幕200的输入,以作为上述接口单元120。显示装置195和输入装置196还可以集成为所谓的触摸面板。
[编程辅助方法]
接着,通过编程辅助方法的示例,将描述编程辅助装置100所执行的编程辅助过程。这些过程包括:为多个机器人2中的每一者存储包括多个作业中的每一者的操作程序;以及如果用户指定了验证目标时间,则基于操作程序来生成作业图像,该作业图像指示多个机器人2在验证目标时间处所执行的作业。这些过程例如包括依赖性登记过程、执行顺序设置过程、操作程序生成过程、执行顺序改变过程、生成条件改变过程、时间指定图像显示过程、作业图像显示过程和操作回放过程。下面,对每个过程进行详细的描述。
(依赖性登记过程)
图8示出如果按下用户界面屏幕200的依赖性输入按钮211,编程辅助装置100所执行的过程。如图8所示,编程辅助装置100执行步骤S01、S02、S03、S04、S05和S06。在步骤S01中,依赖性设置单元113使接口单元120显示工作作业选择图像(前述目标选择图像)。在步骤S02中,依赖性设置单元113等待经由目标选择图像选择工作作业。
在步骤S03中,依赖性设置单元113使接口单元120显示经由目标选择图像所选择的工作作业的依赖性输入图像。在步骤S04中,依赖性设置单元113等待经由依赖性输入图像发出依赖性登记请求(例如,按下待机登记按钮)。在步骤S05中,依赖性设置单元113获取输入至依赖性输入图像的依赖性,并且将依赖性保存在依赖性存储单元114中。在步骤S06中,依赖性设置单元113使接口单元120擦除依赖性输入图像。依赖性登记过程如上所述地完成。
(执行顺序配置过程)
图9示出如果按下用户界面屏幕200的流程创建按钮212,编程辅助装置100所执行的过程。如图9所示,编程辅助装置100首先执行步骤S11、S12和S13。在步骤S11中,执行顺序设置单元131使接口单元120显示工作作业选择图像(前述执行作业选择图像)。在步骤S12中,执行顺序设置单元131等待经由执行作业选择图像发出流程图创建请求(例如,等待按下执行按钮)。
在步骤S13中,可执行性检查单元132基于多个机器人2中的每一者的动作约束,根据执行顺序设置单元131所设置的执行顺序(设置顺序),为每个机器人2判定多个执行作业的执行是否可行。例如,可执行性检查单元132使模拟器150计算用于使末端部12根据执行作业移动的关节31、32、33、34、35和36的操作角度,并且从模拟器150获取判定计算结果是否处于可移动角度内的结果。
如果在步骤S13中判定计算结果处于可移动角度内,则编程辅助装置100执行步骤S14。在步骤S14中,可执行性检查单元132确认是否存在不满足依赖性的执行作业。
如果在步骤S13中判定计算结果未处于可移动角度内,或者在步骤S14中判定存在不满足依赖性的执行作业,则编程辅助装置100执行步骤S15。在步骤S15中,可执行性检查单元132使接口单元120显示错误消息,该错误消息包含指示不满足特定执行作业中的哪个条件的信息。此后,编程辅助装置100使处理返回至步骤S11。相应地,再次请求选择工作作业。
如果在步骤S14中判定不存在不满足依赖性的执行作业,则编程辅助装置执行步骤S16、S17、S18和S19。在步骤S16中,可执行性检查单元132使用接口单元120在流程显示窗口220中并且根据设置顺序显示多个机器人2中的每一者的流程图。在步骤S17中,可执行性检查单元132针对多个机器人2中的每一者,临时生成如下程序作为操作程序:该程序通过根据设置顺序将多个执行作业插入操作开始作业与操作结束作业之间而获得,并且将临时生成的操作程序保存在程序存储单元115中。
在步骤S18中,生成条件设置单元133在临时生成的操作程序中,为工作作业之间的每个移动片段设置过渡作业生成条件,以作为预设初始条件。在步骤S19中,接口单元120激活程序创建按钮213。注意,激活意味着用户的启用操作。执行顺序设置过程如上所述地完成。
(操作程序生成过程)
图10示出如果按下激活的程序创建按钮213,编程辅助装置100针对每个机器人2所执行的过程。如图10所示,编程辅助装置100首先执行步骤S21和S22。在步骤S21中,过渡作业生成单元135为程序存储单元115中的操作程序的初始移动片段设置过渡作业生成目标。以下,将过渡作业生成目标的移动片段称为“目标片段”。在步骤S22中,过渡作业生成单元135确认目标片段中是否存在过渡作业。
如果在步骤S22中判定目标片段中不存在过渡作业,则编程辅助装置100执行步骤S23。在步骤S23中,过渡作业生成单元135根据生成条件存储单元134所存储的生成条件来生成目标片段的过渡作业。随后,将描述步骤S23的具体内容。
然后,编程辅助装置100执行步骤S24。如果在步骤S22中判定目标片段中存在过渡作业,则编程辅助装置100执行步骤S24而不执行步骤S23。在步骤S24中,过渡作业生成单元135确认在所有移动片段中是否均存在过渡作业。
如果在步骤S24中判定存在不具有过渡作业的移动片段,则编程辅助装置100执行步骤S25。在步骤S25中,过渡作业生成单元135将目标片段改变为下一个移动片段。此后,编程辅助装置100使处理返回至步骤S22。随后,编程辅助装置100生成并且重复将过渡作业插入至未插入过渡作业的移动片段中,直至判定所有移动片段中均存在过渡作业为止。
如果在S24中判定所有移动片段中均存在过渡作业,则编程辅助装置100执行步骤S26和S27。在步骤S26中,待机时段计算单元136为多个机器人2中的每一者计算多个作业(包括工作作业和过渡作业)的相应的执行待机时段,以调整多个机器人2的相对操作定时。随后,将描述步骤S26的具体内容。在步骤S27中,接口单元120停用程序创建按钮213。注意,停用意味着用户的禁止操作。操作程序生成过程如上所述地完成。
图11是示出步骤S23中的过渡作业生成过程的流程图。图11示出基于前述第一类型生成条件的过渡作业生成过程。如图11所示,编程辅助装置100首先执行步骤S31和S32。在步骤S31中,过渡作业生成单元135临时生成过渡作业以在工作作业之间创建最短路线。在步骤S32中,过渡作业生成单元135确认针对整个过渡作业在机器人2与工件和相邻物体之间是否存在碰撞。
如果在步骤S32中判定机器人2与工件和相邻物体之间存在碰撞,则编程辅助装置100执行步骤S33和S34。在步骤S33中,过渡作业生成单元135生成能够避免碰撞的通过点。在步骤S34中,过渡作业生成单元135修改过渡作业以通过所生成的通过点。此后,编程辅助装置100使处理返回至步骤S32。随后,重复通过点的添加和过渡作业的修改,直至判定针对整个过渡作业在机器人2与工件和相邻物体之间不存在碰撞为止。
如果在步骤S32中判定针对整个过渡作业在机器人2与工件和相邻物体之间不存在碰撞,则编程辅助装置100执行步骤S35。在步骤S35中,过渡作业生成单元135将到目前为止所生成的过渡作业作为候选作业。在步骤S36中,过渡作业生成单元135确认候选作业的数量是否达到第一类型条件所定义的数量(以下称为“预定义数量”)。
如果在步骤S36中判定候选作业的数量尚未达到预定义数量,则编程辅助装置100使处理返回至步骤S31。随后,重复候选作业的生成,直至候选作业的数量达到预定义数量为止。如果在步骤S36中判定候选作业的数量达到预定义数量,则编程辅助装置100执行步骤S37。在步骤S37中,过渡作业生成单元135根据第一类型条件所定义的选择条件,选择任何候选作业作为过渡作业。过渡作业生成过程如上所述地完成。
图12示出基于前述第二类型生成条件的过渡作业生成过程。如图12所示,编程辅助装置100首先重复与步骤S31、S32、S33和S34同样的步骤S41、S42、S43和S44,直至判定针对整个过渡作业在机器人2与工件和相邻物体之间不存在碰撞为止。
如果在步骤S42中判定针对整个过渡作业在机器人2与工件和相邻物体之间不存在碰撞,则编程辅助装置100执行步骤S45。在步骤S45中,过渡作业生成单元135确认过渡作业的特性是否超过第二类型条件所定义的采用阈值。
如果在步骤S45中判定过渡作业的特性未超过第二类型条件所定义的采用阈值,则编程辅助装置100使处理返回至步骤S41。随后,重复过渡作业的生成,直至生成超过采用阈值的过渡作业为止。如果在步骤S45中判定过渡作业的特性超过第二类型条件所定义的采用阈值,则过渡作业生成过程完成。
图13示出步骤S26的待机时段计算过程。如图13所示,编程辅助装置100首先执行步骤S51、S52和S53。在步骤S51中,待机时段计算单元136将每个作业的待机时段设置为零。在步骤S52中,待机时段计算单元136将待机需要/不需要验证周期设置为初始控制周期。控制周期是时段性地重复反馈和基于偏差的指令输出的控制的一个周期。
在步骤S53中,待机时段计算单元136确认在验证周期中机器人2之间是否存在碰撞。待机时段计算单元136将每个机器人2的末端部12在验证周期中的目标位置和目标姿势输出至模拟器150,并且使模拟器150判定机器人2之间是否存在碰撞。
如果在步骤S53中判定在验证周期中机器人2之间不存在碰撞,则编程辅助装置100执行步骤S54。在步骤S54中,待机时段计算单元136确认是否存在在完成所需先前作业之前开始的工作作业。
如果在步骤S53中判定在验证周期中机器人2之间存在碰撞,或者如果在步骤S54中判定存在在完成所需先前作业之前开始的工作作业,则编程辅助装置100执行步骤S55、S56、S57和S58。在步骤S55中,待机时段计算单元136选择操作处于待机的机器人2(以下称为“待机机器人”)。例如,如果检测到机器人2之间的碰撞,则待机时段计算单元136将其中任一个机器人2作为待机机器人。此外,如果检测出在完成所需先前作业之前开始的工作作业,则待机时段计算单元136将执行该工作作业的机器人2作为待机机器人。
在步骤S56中,待机时段计算单元136将所选择的机器人2在验证周期中所执行的作业设置为待机作业。在步骤S57中,待机时段计算单元136设置所选择的待机作业的待机时段。在待机以避免机器人2之间的碰撞的情况下,待机时段计算单元136例如使用碰撞中所涉及的另一个机器人2在验证周期中所执行的作业完成之前的时段作为待机时段。在待机以满足依赖性的情况下,待机时段计算单元136使用另一个机器人2完成所需先前作业之前的时段作为待机时段。如果设置了在所需先前作业之后的间隔,则待机时段计算单元136使用该时段作为待机时段,直至在另一个机器人2完成了所需先前作业之后流逝了该间隔为止。在步骤S58中,待机时段计算单元136通过将步骤S57中设置的待机时段插入至步骤S56中设置的待机时段之前,来修改待机机器人的操作程序。
然后,编程辅助装置100执行步骤S59。如果在步骤S54中判定不存在在完成所需先前作业之前开始的工作,则编程辅助装置100执行步骤S59而不执行步骤S55、S56、S57和S58。在步骤S59中,待机时段计算单元136确认验证周期是否是最终控制周期。
如果在步骤S59中判定验证周期不是最终控制周期,则编程辅助装置100执行步骤S61。在步骤S61中,待机时段计算单元136将验证周期改变为下一个控制周期。此后,编程辅助装置100使处理返回至步骤S53。随后,重复判定待机时段的需要/不需要并且在必要时重复待机时段的计算,直至最终控制周期的验证完成为止。如果在步骤S59中判定验证周期是最终控制周期,则待机时段计算过程完成。
(执行顺序改变过程)
图14示出响应于经由流程显示窗口220的输入的执行顺序改变过程。如图14所示,编程辅助装置100首先执行步骤S71和S72。在步骤S71中,接口单元120等待使工作块222在流程显示窗口220内移动的输入(即,前述使执行作业移动的输入)。在步骤S72中,执行顺序设置单元131确认执行作业的移动是否是限于单个机器人2的移动。
如果在步骤S72中判定执行作业的移动是限于单个机器人2的移动,则编程辅助装置100执行步骤S73和S74。在步骤S73中,执行顺序设置单元131响应于使执行作业移动的输入,来改变与执行作业的移动有关的单个机器人2(前述的修改目标机器人)的执行顺序。在步骤S74中,可执行性检查单元132确认是否存在不满足依赖性的执行作业。
如果在步骤S72中判定执行作业的移动并不限于单个机器人2的移动,则编程辅助装置100执行步骤S75和S76。在步骤S75中,执行顺序设置单元131响应于使执行作业移动的输入,来改变与执行作业的移动有关的两个机器人2(前述的修改目标机器人)的执行顺序。
在步骤S76中,可执行性检查单元132基于两个修改目标机器人中的每一者的动作约束,根据执行顺序设置单元131所改变的执行顺序(改变后的顺序)为两个修改目标机器人中的每一者判定执行多个执行作业是否可行。例如,可执行性检查单元132使模拟器150计算用于使末端部12根据执行作业而移动的关节31、32、33、34、35和36的操作角度,并且从模拟器150获取判定计算结果是否处于可移动角度内的结果。
如果在步骤S76中判定可以根据改变后的顺序来执行多个执行作业,则编程辅助装置100使处理进入步骤S74。
如果在步骤S74中判定存在不满足依赖性的执行作业,或者在步骤S76中判定无法根据改变后的顺序来执行多个执行作业,则编程辅助装置100执行步骤S77。在步骤S77中,可执行性检查单元132使接口单元120显示错误消息,该错误消息包含指示不满足特定执行作业中的哪个条件的信息。此后,编程辅助装置100使处理返回至步骤S71。
如果在步骤S74中判定不存在不满足依赖性的执行作业,则编程辅助装置100执行步骤S78、S79、S81、S82、S83和S84。在步骤S78中,可执行性检查单元132使用接口单元120在流程显示窗口220中并且根据改变后的顺序显示每个修改目标机器人的流程图。
在步骤S79中,可执行性检查单元132将如下程序作为修改目标机器人的操作程序保存在程序存储单元115中:该程序通过根据改变后的顺序将多个执行作业插入操作开始作业与操作结束作业之间而获得。因此,临时生成修改目标机器人的修改后操作程序(“修改后程序”)。
在步骤S81中,修改位置识别单元138识别修改必要位置和修改不必要位置,在修改必要位置处,需要根据执行顺序设置单元131对执行顺序的改变来进行过渡作业重新生成,在修改不必要位置处,无需过渡作业重新生成。例如,修改位置识别单元138针对修改后程序的每个移动片段,确认修改前程序中是否存在相同的移动片段。如果修改前程序中不存在与修改后程序的移动片段相同的移动片段,则修改位置识别单元138将该移动片段识别为修改必要位置。如果修改前程序中存在与修改后程序的移动片段相同的移动片段,则修改位置识别单元138将该移动片段识别为修改不必要位置。
在步骤S82中,修改位置识别单元138将与修改前程序中的过渡作业相同的过渡作业插入至被识别为修改不必要位置的移动片段中。在步骤S83中,生成条件设置单元133针对由修改位置识别单元138识别为修改必要位置的每个移动片段,将过渡作业生成条件改变为预设初始条件,并且将过渡作业生成条件保存在生成条件存储单元134。在步骤S84中,接口单元120激活程序创建按钮213。此后,编程辅助装置100使处理返回至步骤S71。
当按下在步骤S84中激活的程序创建按钮213时,编程辅助装置100再次执行前述程序生成过程。在上述程序生成过程中,过渡作业生成单元135重新生成不存在过渡作业的移动片段的过渡作业,而不重新生成存在过渡作业的移动片段的过渡作业。相应地,重新生成修改必要位置的过渡作业,而不重新生成修改不必要位置的过渡作业。
(生成条件改变过程)
图15示出响应于经由流程显示窗口220的输入的生成条件改变过程。如图15所示,编程辅助装置100执行步骤S91、S92、S93、S94、S95和S96。在步骤S91中,例如,生成条件改变单元137等待在流程显示窗口220的上部图像中选择过渡作业的输入(例如,点击移动线223)。在步骤S92中,生成条件改变单元137使接口单元120显示针对所选择的过渡作业的生成条件输入图像。
在步骤S93中,生成条件改变单元137等待经由生成条件输入图像发出生成条件登记请求(例如,等待登记按钮被按下)。在步骤S94中,生成条件改变单元137基于对生成条件输入图像的输入来改变过渡作业的生成条件。例如,生成条件改变单元137基于对生成条件输入图像的输入来设置过渡作业的生成条件,并且重写生成条件存储单元134。在步骤S95中,生成条件改变单元137从程序存储单元115擦除生成条件已经改变的过渡作业。在步骤S96中,接口单元120激活程序创建按钮213。此后,编程辅助装置100使处理返回至步骤S91。
当按下在步骤S96中激活的程序创建按钮213时,编程辅助装置100再次执行前述程序生成过程。在上述程序生成过程中,过渡作业生成单元135重新生成不存在过渡作业的移动片段的过渡作业,而不重新生成存在过渡作业的移动片段的过渡作业。因此,对于过渡条件被生成条件改变单元137擦除的移动片段,基于改变后的生成条件来生成过渡作业。
(时间指定图像显示过程)
图16示出根据操作程序的生成和修改的时间指定图像显示过程。如图16所示,编程辅助装置100首先执行步骤S101。在步骤S101中,时间指定图像生成单元141确认程序存储单元115中是否生成了新的操作程序。
如果在步骤S101中判定程序存储单元115中生成了新的操作程序,则编程辅助装置100执行步骤S102、S103、S104和S105。在步骤S102中,时间指定图像生成单元141基于执行顺序设置单元131所设置的执行顺序、过渡作业生成单元135所生成的过渡作业以及待机时段计算单元136所计算的执行待机时段,为多个机器人2中的每一者生成流逝时间条231的显示数据。在步骤S103中,时间指定图像生成单元141基于流逝时间条231的显示数据,来生成时间线窗口230中的时间指定图像的数据。在步骤S104中,时间指定图像生成单元141使用接口单元120根据所生成的数据在时间线窗口230中显示时间指定图像。
在步骤S105中,接口单元120激活时间线窗口230。因此,使得能够通过光标232的移动以及回放按钮233和停止按钮234的操作进行验证时间指定。此后,编程辅助装置100使处理返回至步骤S101。
如果在步骤S101中判定程序存储单元115中尚未生成新的操作程序,则编程辅助装置100执行步骤S106。在步骤S106中,接口单元120判定执行顺序设置单元131是否改变了执行顺序。如果在步骤S106中判定执行顺序尚未改变,则编程辅助装置100使处理返回至步骤S101。
如果在步骤S106中判定执行顺序被改变,则编程辅助装置100执行步骤S107。在步骤S107中,接口单元120停用时间线窗口230。因此,禁止通过光标232的移动以及回放按钮233和停止按钮234的操作进行验证时间指定。此后,编程辅助装置100使处理返回至步骤S101。
当在执行顺序被改变之后在步骤S101中再次检测到操作程序的生成时,时间指定图像生成单元141基于执行顺序设置单元131所改变的执行顺序、过渡作业生成单元135所重新生成的过渡作业和待机时段计算单元136所改变的执行待机时段来更新流逝时间条231(步骤S102、S103、S104)。此外,接口单元120重新激活时间线窗口230(步骤S105)。如上所述,继续根据操作程序的修改来更新时间指定图像。
(用于显示验证目标时间处的作业图像和模拟图像的过程)
图17示出响应于使光标232移动的输入而显示作业图像和模拟图像的过程。如图17所示,编程辅助装置100执行步骤S111、S112、S113、S114和S115。在步骤S111中,时间指定单元142根据光标在时间指定图像上的位置来指定验证目标时间。在步骤S112中,作业图像生成单元143基于程序存储单元115所存储的操作程序,来识别多个机器人2在验证目标时间处所执行的作业。在步骤S113中,作业图像生成单元143使用接口单元120在流程显示窗口220中显示指示所识别的作业的标记225。
在步骤S114中,模拟图像生成单元144使模拟器150生成多个机器人2在验证目标时间处的模拟图像。在步骤S115中,模拟图像生成单元144获取模拟器150所生成的模拟图像的数据,并且使用接口单元120根据该数据在模拟窗口240中显示模拟图像。如上所述,用于显示验证目标时间处的作业图像和模拟图像的过程如上所述地完成。
(用于作业图像和模拟图像的移动图像回放的过程)
图18示出当按下回放按钮233时用于作业图像和模拟图像的移动图像回放的过程。如图18所示,编程辅助装置100首先执行步骤S121、S122、S123、S124、S125、S126和S127。在步骤S121中,接口单元120禁止工作块222在流程显示窗口220中移动及其生成条件的改变。在步骤S122中,时间指定单元142根据光标在时间指定图像上的位置来指定验证目标时间。在步骤S123中,作业图像生成单元143基于程序存储单元115所存储的操作程序,来识别多个机器人2在验证目标时间处所执行的作业。在步骤S124中,作业图像生成单元143使用接口单元120在流程显示窗口220中显示指示识别出的作业的标记225。
在步骤S125中,模拟图像生成单元144使模拟器150生成多个机器人2在验证目标时间处的模拟图像。在步骤S126中,模拟图像生成单元144获取模拟器150所生成的模拟图像的数据,并且使用接口单元120根据该数据在模拟窗口240中显示模拟图像。在步骤S127中,回放处理单元145确认光标232是否到达流逝时间条231的端部(图3所示的下端)。
如果在步骤S127中判定光标232尚未到达流逝时间条231的端部,则编程辅助装置100执行步骤S128。在步骤S128中,接口单元120判定是否按下停止按钮234。
如果在步骤S128中判定尚未按下停止按钮234,则编程辅助装置100执行步骤S129。在步骤S129中,回放处理单元145以预定的间距使光标232前进一格(使光标232在流逝时间的方向上前进)。此后,编程辅助装置100使处理返回至步骤S122。随后,重复光标232的前进以及作业图像和模拟图像的更新,直至光标232到达端部或按下停止按钮234为止。
如果在步骤S127中判定光标232到达流逝时间条231的端部或者在步骤S128中判定按下了停止按钮234,则编程辅助装置100执行步骤S131。在步骤S131中,接口单元120取消对工作块222在流程显示窗口220中的移动的禁止及其生成条件的改变的禁止。移动图像回放过程如上所述地完成。
[本实施例的有益效果]
如上所述,编程辅助装置100包括:程序存储单元115,其配置成为多个机器人中的每一者存储包括多个作业的操作程序;作业图像生成单元143,其配置成如果用户指定了验证目标时间,则基于操作程序来生成作业图像,该作业图像指示多个机器人2在验证目标时间处所执行的作业。
多个作业的执行时间可以不固定,并且多个作业可以包括具有彼此不同的执行时段的至少两个作业。例如,机器人所执行的每个作业可以包括按时间顺序布置的多个操作命令。操作命令可以指定目标位置和移动速度。机器人完成操作命令所花费的时间可以是从机器人的当前位置到目标位置的距离以及移动速度的函数。相应地,当第一机器人和第二机器人各自执行不同的作业时,即使作业具有相同数量的命令,作业也可以在不同的时间完成。因此,可能难以简单地通过为每个机器人2指示多个作业或命令的执行顺序,来确定多个机器人2的操作之间的关系。可以在不同时间执行在多个机器人2的操作程序中位于相同的顺序的作业。在一些示例中,编程辅助装置100可以配置成生成作业显示图像,该作业显示图像指示多个机器人2在指定验证目标时间处所执行的作业。因此,用户可以易于确定机器人2的操作之间的关系。因此,有效地优化了多个机器人2的操作程序。
编程辅助装置100还可以包括:模拟图像生成单元144,其通过基于操作程序执行操作模拟,来生成多个机器人2在验证目标时间处的模拟图像;以及接口单元120,其配置成生成包括作业图像和模拟图像的用户界面。在这种情况下,通过添加验证目标时间处的模拟图像,用户还能够易于确定机器人2之间的关系。因此,更有效地优化了多个机器人2的操作程序。
作业图像生成单元143还可以生成为多个机器人2中的每一者指示流程图和标记225的作业图像,在该流程图中,多个作业按执行顺序布置,该标记225指示流程图中的在验证目标时间处被执行的部分。在这种情况下,验证目标时间处的作业与前序作业和后续作业一起显示。因此,易于在视觉上确定对微调操作程序有效的编辑位置。因此,更有效地优化了多个机器人2的操作程序。
编程辅助装置100还可以包括:执行顺序设置单元131,其配置成为多个机器人2中的每一者设置多个工作作业的执行顺序;过渡作业生成单元135,其配置成基于执行顺序设置单元131所设置的执行顺序,为多个机器人生成多个工作作业之间的过渡作业,其中,作业图像生成单元143可以生成为多个机器人2中的每一者指示流程图的作业图像,该流程图包括分别指示多个工作作业的多个工作块222和指示过渡作业的移动线223。在这种情况下,更易于在视觉上确定对微调操作程序有效的编辑位置。因此,更有效地优化了多个机器人2的操作程序。
编程辅助装置100还可以包括:时间指定图像生成单元141,其配置成生成时间指定图像,该时间指定图像包括光标232,该光标232指示在表示时间轴线的方向上的位置;以及时间指定单元142,其配置成根据光标232在时间指定图像中的位置,来指定验证目标时间,其中,接口单元120可以生成还包括时间指定图像的用户界面。在这种情况下,可以易于指定验证目标时间。因此,更有效地优化了多个机器人2的操作程序。
编程辅助装置100还可以包括待机时段计算单元136,该待机时段计算单元136配置成为多个机器人2中的每一者计算多个作业的相应的执行待机时段,以调整多个机器人2的相对操作定时,其中,时间指定图像生成单元141可以生成还包括针对多个机器人2中的每一者的流逝时间条231的时间指定图像,该流逝时间条231沿着时间轴线指示作业执行时段和作业执行待机时段。为了对操作程序进行微调使得多个机器人2高效地操作,有利的是确定所生成的作业执行待机时段的主要原因。相反,在前述情况下,显示还包括针对多个机器人2中的每一者的流逝时间条231的时间指定图像,该流逝时间条231沿着时间轴线指示作业执行时段和作业执行待机时段。因此,可以易于筛选用作验证目标时间的位置,并且根据光标232的布置可以更易于指定筛选的位置。因此,可以更有效地优化多个机器人2的操作程序。
时间指定图像生成单元141还可以生成在流逝时间条231上进一步指示工作作业的执行时段和过渡作业的执行时段的时间指定图像。在这种情况下,更容易筛选要指定为验证目标时间的位置。
编程辅助装置100还可以包括生成条件改变单元137,该生成条件改变单元137配置成响应于对作业图像的输入而单独地改变过渡作业生成条件,其中,过渡作业生成单元135可以基于改变后的内容,来重新生成与生成条件改变单元137所改变的生成条件相对应的过渡作业。在这种情况下,可以部分地改变过渡作业的生成条件并且高效地微调过渡作业。因此,更有效地优化了多个机器人2的操作程序。
执行顺序设置单元131可以响应于用于使作业图像中的工作作业移动的输入,来改变至少一个机器人2的执行顺序,并且过渡作业生成单元135还可以根据执行顺序设置单元所改变的执行顺序,来重新生成至少一个过渡作业。在这种情况下,可以借助于使工作作业在作业图像中移动的简单操作,来执行执行顺序改变和过渡作业重新生成。因此,可以高效地重复操作程序的编辑和验证。因此,更有效地优化了多个机器人2的操作程序。
执行顺序设置单元131可以响应于用于使工作作业在作业图像中的两个流程图之间移动的输入,来改变与工作作业的移动有关的两个机器人2的执行顺序,并且过渡作业生成单元135可以根据执行顺序设置单元131所改变的执行顺序,为两个机器人2重新生成至少一个过渡作业。在这种情况下,通过执行使工作作业在作业图像中移动的简单操作,可以改变工作作业向多个机器人2的分配并且可以相应地执行执行顺序改变和过渡作业重新生成。因此,更有效地优化了多个机器人2的操作程序。
编程辅助装置100还可以包括修改位置识别单元138,该修改位置识别单元138配置成识别修改必要位置和修改不必要位置,在修改必要位置处,需要根据执行顺序设置单元131对执行顺序的改变来进行过渡作业重新生成,在修改不必要位置处,无需过渡作业重新生成,其中,过渡作业生成单元135可以重新生成修改必要位置的过渡作业,而不重新生成修改不必要位置的过渡作业。在这种情况下,可以减轻过渡作业重新生成的处理负担。因此,更有效地优化了多个机器人2的操作程序。
执行顺序设置单元131可以响应于用于使工作作业在作业图像中移动的输入,来改变至少一个机器人2的执行顺序,并且过渡作业生成单元135可以根据执行顺序设置单元131所改变的执行顺序,来重新生成至少一个过渡作业。另外,待机时段计算单元136可以基于执行顺序设置单元131所改变的执行顺序和过渡作业生成单元135所重新生成的过渡作业,为多个机器人2中的每一者改变多个作业的相应的执行待机时段。此外,时间指定图像生成单元141可以基于执行顺序设置单元131所改变的执行顺序、过渡作业生成单元135所重新生成的过渡作业和待机时段计算单元136所改变的执行待机时段,来更新流逝时间条231。在这种情况下,可以更高效地重复操作程序的编辑和验证。因此,更有效地优化了多个机器人2的操作程序。
编程辅助装置100还可以包括可执行性检查单元132,该可执行性检查单元132配置成基于多个机器人2中的每一者的动作约束,来判定工作作业的可执行性。在这种情况下,抑制了无效的编辑输入。因此,更有效地优化了多个机器人2的操作程序。
编程辅助装置100还可以包括依赖性存储单元114,该依赖性存储单元114配置成存储预设工作作业之间的依赖性,其中,可执行性检查单元132还可以基于依赖性来判定工作作业的可执行性。在这种情况下,抑制无效的编辑输入。因此,更有效地优化了多个机器人2的操作程序。
尽管以上已经描述了实施例,但是本公开不必限于前述实施例,而是可以在不脱离本公开的精神的范围内进行各种修改。
关于上述实施例,附加了以下内容。
(附录1)一种编程辅助装置,其包括:
程序存储单元,其配置成
存储包括第一组时序作业的第一程序,所述第一程序的每个作业定义第一机器人的至少一个操作,其中,所述第一程序配置成沿着共享时间线执行;并且
存储包括第二组时序作业的第二程序,所述第二程序的每个作业定义第二机器人的至少一个操作,其中,所述第二程序配置成沿着所述共享时间线执行;以及
作业图像生成单元,其配置成
至少部分地基于用户指定,在所述共享时间线中辨识验证目标时间;并且
基于所述第一程序和所述第二程序,来生成作业图像,所述作业图像指示在所述共享时间线中指定的所述验证目标时间处所述第一机器人所执行的所述第一组时序作业中的至少一者和所述第二机器人所执行的所述第二组时序作业中的至少一者。
(附录2)根据附录1所述的编程辅助装置,
其中,所述第一组时序作业中的至少两者包括针对所述第一机器人指示目标位置和目标速度的至少一个命令,并且
其中,所述第二组时序作业中的至少两者包括针对所述第二机器人指示目标位置和目标速度的至少一个命令。
(附录3)根据附录2所述的编程辅助装置,其中,所述作业图像生成单元还配置成:
基于针对所述第一机器人的所述至少一个命令,来计算所述第一组时序作业中的至少两者的执行时段;
基于针对所述第二机器人的所述至少一个命令,来计算所述第二组时序作业中的至少两者的执行时段;
基于所述第一组时序作业中的至少两者的执行时段,来检测所述第一机器人在所述验证目标时间处所执行的至少一个作业;并且
基于所述第二组时序作业中的至少两者的执行时段,来检测所述第二机器人在所述验证目标时间处所执行的至少一个作业。
(附录4)根据附录1至3中的任一项所述的编程辅助装置,还包括模拟图像生成单元,所述模拟图像生成单元配置成通过基于所述第一程序和所述第二程序执行操作模拟,而生成所述第一机器人和所述第二机器人在所述验证目标时间处的模拟图像。
(附录5)根据附录1至4中的任一项所述的编程辅助装置,其中,所述作业图像生成单元所生成的所述作业图像包括:
第一流程图,在所述第一流程图中,与所述第一程序的所述第一组时序作业相对应的多个符号按照执行顺序布置;
第一标记,其在所述第一流程图中指示所述第一机器人在所述验证目标时间处所执行的至少一个作业;
第二流程图,在所述第二流程图中,与所述第二程序的所述第二组时序作业相对应的多个符号按照执行顺序布置;以及
第二标记,其在所述第二流程图中指示所述第二机器人在所述验证目标时间处所执行的至少一个作业。
(附录6)根据附录1至5中的任一项所述的编程辅助装置,
其中,所述第一程序包括以第一执行顺序执行的工作作业,所述第一程序的工作作业定义所述第一机器人的一个或多个预定工作动作,
其中,所述第二程序包括以第二执行顺序执行的工作作业,所述第二程序的工作作业定义所述第二机器人的一个或多个预定工作动作,并且
其中,所述编程辅助装置还包括:
作业生成单元,其配置成
基于所述第一执行顺序,来生成所述第一程序的至少一个过渡作业,所述第一程序的过渡作业定义所述第一机器人在所述第一程序的两个序列工作作业之间的动作;和
基于所述第二执行顺序,来生成所述第二程序的至少一个过渡作业,所述第二程序的过渡作业定义所述第二机器人在所述第二程序的两个序列工作作业之间的动作。
(附录7)根据附录6所述的编程辅助装置,还包括执行顺序设置单元,其配置成基于用户输入来设置所述第一执行顺序和所述第二执行顺序。
(附录8)根据附录6所述的编程辅助装置,其中,所述作业图像生成单元所生成的所述作业图像包括:
第一流程图,在所述第一流程图中,与所述第一程序的工作作业和至少一个过渡作业相对应的多个符号按照执行顺序布置;
第一标记,其在所述第一流程图中指示所述第一机器人在所述验证目标时间处所执行的作业;
第二流程图,在所述第二流程图中,与所述第二程序的工作作业和至少一个过渡作业相对应的多个符号按照执行顺序布置;和
第二标记,其在所述第二流程图中指示所述第二机器人在所述验证目标时间处所执行的作业。
(附录9)根据附录1至5中的任一项所述的编程辅助装置,还包括:
时间指定图像生成单元,其配置成
生成时间指定图像,所述时间指定图像沿时间流逝方向延伸并且包括指示所述时间流逝方向上的位置的时间光标;
基于对所述时间指定图像的用户输入,来改变所述时间光标在所述时间流逝方向上的位置;以及
时间指定单元,其配置成根据所述光标在所述时间指定图像中的位置来指定所述验证目标时间。
(附录10)根据附录9所述的编程辅助装置,还包括:
待机时段计算单元,其配置成
计算所述第一程序的两个序列作业之间的至少一个待机时段,以调整所述第一机器人和所述第二机器人的相对操作定时;并且
计算所述第二程序的两个序列作业之间的至少一个待机时段,以调整所述第一机器人和所述第二机器人的相对操作定时;并且
其中,所述时间指定图像生成单元所生成的所述时间指定图像还包括
第一时间条,其沿着所述时间流逝方向延伸并且包括指示所述第一程序的执行时段的执行部分和指示所述第一程序的至少一个待机时段的至少一个待机部分;以及
第二时间条,其沿着所述时间流逝方向延伸并且包括指示所述第二程序的执行时段的执行部分和指示所述第二程序的至少一个待机时段的至少一个待机部分。
(附录11)根据附录10所述的编程辅助装置,
其中,所述第一程序的所述第一组时序作业包括定义所述第一机器人的一个或多个预定工作动作的工作作业;
其中,所述第二程序的所述第二组时序作业包括定义所述第二机器人的一个或多个预定工作动作的工作作业;
其中,所述编程辅助装置还包括:
执行顺序设置单元,其配置成设置所述第一程序的工作作业的第一执行顺序和所述第二程序的工作作业的第二执行顺序;以及
作业生成单元,其配置成
基于所述第一执行顺序,来生成定义所述第一机器人在所述第一程序的工作作业之间的动作的至少一个过渡作业;并且
基于所述第二执行顺序,来生成定义所述第二机器人在所述第二程序的工作作业之间的动作的至少一个过渡作业;
其中,所述第一时间条的执行部分包括指示所述第一程序的工作作业的执行时段的工作执行部分和指示所述第一程序的至少一个过渡作业的执行时段的至少一个过渡部分;并且
其中,所述第二时间条的执行部分包括指示所述第二程序的工作作业的执行时段的工作执行部分和指示所述第二程序的至少一个过渡作业的执行时段的至少一个过渡部分。
(附录12)根据附录6至8中任一项所述的编程辅助装置,还包括:
生成条件改变单元,其配置成
在所述作业图像中辨识用户选择的过渡作业;并且
根据附加用户输入,来改变针对所述用户选择的过渡作业的过渡生成条件;并且
其中,所述作业生成单元还配置成根据所述生成条件改变单元所改变的生成条件,来生成所述用户选择的过渡作业。
(附录13)根据附录8所述的编程辅助装置,
其中,所述执行顺序设置单元还配置成根据使所述第一程序的工作作业的目标作业在所述第一流程图中移动的用户请求,来改变所述第一执行顺序;并且
其中,所述作业生成单元还配置成根据所述执行顺序设置单元所改变的所述第一执行顺序,来重新生成至少一个过渡作业。
(附录14)根据附录13所述的编程辅助装置,
其中,所述执行顺序设置单元还配置成根据使工作作业的目标作业在所述第一流程图与所述第二流程图之间移动的用户请求,来改变所述第一执行顺序和所述第二执行顺序;并且
其中,所述作业生成单元还配置成
根据因根据所述用户请求所改变的所述第一执行顺序,来重新生成至少一个过渡作业;并且
根据因根据所述用户请求所改变的第二执行顺序,来重新生成至少一个过渡作业。
(附录15)根据附录13或14所述的编程辅助装置,还包括:
修改位置识别单元,其配置成
根据所述第一执行顺序,来辨识其间包括所述至少一个过渡作业中的过渡作业的一对或多对序列工作作业;并且
根据因根据所述用户请求所改变的所述第一执行顺序,来辨识所述一对或多对序列工作作业中不包括所述目标作业的一对序列工作作业,
其中,所述作业生成单元按根据所述用户请求所改变的所述第一执行顺序,将所述过渡作业保留在不包括所述目标作业的一对序列工作作业之间。
(附录16)根据附录11所述的编程辅助装置,
其中,所述执行顺序设置单元还配置成根据使工作作业在所述作业图像中移动的用户请求来改变所述第一执行顺序;
其中,所述作业生成单元还配置成根据因根据所述用户请求所改变的所述第一执行顺序,来重新生成至少一个过渡作业;
其中,所述待机时段计算单元还配置成根据因根据所述用户请求所改变的所述第一执行顺序,来重新计算所述第一程序和所述第二程序的至少一个待机时段;并且
其中,所述时间指定图像生成单元还配置成基于因根据所述用户请求所改变的所述第一执行顺序、根据因根据所述用户请求所改变的所述第一执行顺序所重新生成的所述至少一个过渡作业和根据因根据所述用户请求所改变的所述第一执行顺序所重新计算的至少一个待机时段,来更新所述第一时间条和所述第二时间条。
(附录17)根据附录6至8中任一项所述的编程辅助装置,还包括可执行性检查单元,所述可执行性检查单元配置成:
检查所述第一程序的工作作业所定义的所述第一机器人的工作动作是否满足所述第一机器人的动作约束;并且
检查所述第二程序的工作作业所定义的所述第二机器人的工作动作是否满足所述第二机器人的动作约束。
(附录18)根据附录17所述的编程辅助装置,其中,所述可执行性检查单元还配置成基于所述第一程序和所述第二程序,来检查所述第一执行顺序和所述第二执行顺序是否满足与工作作业中的至少两者相关联的序列操作条件。
(附录19)一种机器人系统,其包括:
根据附录1至18中的任一项所述的编程辅助装置;
第一机器人;
第二机器人;以及
控制器,其配置成根据第一程序和第二程序,来控制所述第一机器人和所述第二机器人。
(附录20)一种编程辅助方法,其包括以下步骤:
存储包括第一组时序作业的第一程序,所述第一组时序作业中的每个作业定义第一机器人的动作,其中,所述第一程序配置成沿着共享时间线执行;
存储包括第二组时序作业的第二程序,所述第二组时序作业中的每个作业定义第二机器人的动作,其中,所述第二程序配置成沿着所述共享时间线执行;
至少部分地基于用户指定,在所述共享时间线中辨识验证目标时间;以及
基于所述第一程序和所述第二程序,来生成作业图像,所述作业图像指示在所述共享时间线中指定的所述验证目标时间处所述第一机器人所执行的第一作业和所述第二机器人所执行的第二作业。
Claims (20)
1.一种编程辅助装置,其包括:
程序存储单元,其配置成
存储包括第一组时序作业的第一程序,所述第一程序的每个作业定义第一机器人的至少一个操作,其中,所述第一程序配置成沿着共享时间线执行;并且
存储包括第二组时序作业的第二程序,所述第二程序的每个作业定义第二机器人的至少一个操作,其中,所述第二程序配置成沿着所述共享时间线执行;以及
作业图像生成单元,其配置成
至少部分地基于用户指定,在所述共享时间线中辨识验证目标时间;并且
基于所述第一程序和所述第二程序,来生成作业图像,所述作业图像指示在所述共享时间线中指定的所述验证目标时间处所述第一机器人所执行的所述第一组时序作业中的至少一者和所述第二机器人所执行的所述第二组时序作业中的至少一者。
2.根据权利要求1所述的编程辅助装置,
其中,所述第一组时序作业中的至少两者包括针对所述第一机器人指示目标位置和目标速度的至少一个命令,并且
其中,所述第二组时序作业中的至少两者包括针对所述第二机器人指示目标位置和目标速度的至少一个命令。
3.根据权利要求2所述的编程辅助装置,其中,所述作业图像生成单元还配置成:
基于针对所述第一机器人的所述至少一个命令,来计算所述第一组时序作业中的至少两者的执行时段;
基于针对所述第二机器人的所述至少一个命令,来计算所述第二组时序作业中的至少两者的执行时段;
基于所述第一组时序作业中的至少两者的执行时段,来检测所述第一机器人在所述验证目标时间处所执行的至少一个作业;并且
基于所述第二组时序作业中的至少两者的执行时段,来检测所述第二机器人在所述验证目标时间处所执行的至少一个作业。
4.根据权利要求1或2所述的编程辅助装置,还包括模拟图像生成单元,所述模拟图像生成单元配置成通过基于所述第一程序和所述第二程序执行操作模拟,而生成所述第一机器人和所述第二机器人在所述验证目标时间处的模拟图像。
5.根据权利要求1或2所述的编程辅助装置,其中,所述作业图像生成单元所生成的所述作业图像包括:
第一流程图,在所述第一流程图中,与所述第一程序的所述第一组时序作业相对应的多个符号按照执行顺序布置;
第一标记,其在所述第一流程图中指示所述第一机器人在所述验证目标时间处所执行的至少一个作业;
第二流程图,在所述第二流程图中,与所述第二程序的所述第二组时序作业相对应的多个符号按照执行顺序布置;以及
第二标记,其在所述第二流程图中指示所述第二机器人在所述验证目标时间处所执行的至少一个作业。
6.根据权利要求1或2所述的编程辅助装置,
其中,所述第一程序包括以第一执行顺序执行的工作作业,所述第一程序的工作作业定义所述第一机器人的一个或多个预定工作动作,
其中,所述第二程序包括以第二执行顺序执行的工作作业,所述第二程序的工作作业定义所述第二机器人的一个或多个预定工作动作,并且
其中,所述编程辅助装置还包括:
作业生成单元,其配置成
基于所述第一执行顺序,来生成所述第一程序的至少一个过渡作业,所述第一程序的过渡作业定义所述第一机器人在所述第一程序的两个序列工作作业之间的动作;和
基于所述第二执行顺序,来生成所述第二程序的至少一个过渡作业,所述第二程序的过渡作业定义所述第二机器人在所述第二程序的两个序列工作作业之间的动作。
7.根据权利要求6所述的编程辅助装置,还包括执行顺序设置单元,其配置成基于用户输入来设置所述第一执行顺序和所述第二执行顺序。
8.根据权利要求6所述的编程辅助装置,其中,所述作业图像生成单元所生成的所述作业图像包括:
第一流程图,在所述第一流程图中,与所述第一程序的工作作业和至少一个过渡作业相对应的多个符号按照执行顺序布置;
第一标记,其在所述第一流程图中指示所述第一机器人在所述验证目标时间处所执行的作业;
第二流程图,在所述第二流程图中,与所述第二程序的工作作业和至少一个过渡作业相对应的多个符号按照执行顺序布置;和
第二标记,其在所述第二流程图中指示所述第二机器人在所述验证目标时间处所执行的作业。
9.根据权利要求1或2所述的编程辅助装置,还包括:
时间指定图像生成单元,其配置成
生成时间指定图像,所述时间指定图像沿时间流逝方向延伸并且包括指示所述时间流逝方向上的位置的时间光标;
基于对所述时间指定图像的用户输入,来改变所述时间光标在所述时间流逝方向上的位置;以及
时间指定单元,其配置成根据所述光标在所述时间指定图像中的位置来指定所述验证目标时间。
10.根据权利要求9所述的编程辅助装置,还包括:
待机时段计算单元,其配置成
计算所述第一程序的两个序列作业之间的至少一个待机时段,以调整所述第一机器人和所述第二机器人的相对操作定时;并且
计算所述第二程序的两个序列作业之间的至少一个待机时段,以调整所述第一机器人和所述第二机器人的所述相对操作定时;并且
其中,所述时间指定图像生成单元所生成的所述时间指定图像还包括
第一时间条,其沿着所述时间流逝方向延伸并且包括指示所述第一程序的执行时段的执行部分和指示所述第一程序的至少一个待机时段的至少一个待机部分;以及
第二时间条,其沿着所述时间流逝方向延伸并且包括指示所述第二程序的执行时段的执行部分和指示所述第二程序的至少一个待机时段的至少一个待机部分。
11.根据权利要求10所述的编程辅助装置,
其中,所述第一程序的所述第一组时序作业包括定义所述第一机器人的一个或多个预定工作动作的工作作业;
其中,所述第二程序的所述第二组时序作业包括定义所述第二机器人的一个或多个预定工作动作的工作作业;
其中,所述编程辅助装置还包括:
执行顺序设置单元,其配置成设置所述第一程序的工作作业的第一执行顺序和所述第二程序的工作作业的第二执行顺序;以及
作业生成单元,其配置成:
基于所述第一执行顺序,来生成定义所述第一机器人在所述第一程序的工作作业之间的动作的至少一个过渡作业;并且
基于所述第二执行顺序,来生成定义所述第二机器人在所述第二程序的工作作业之间的动作的至少一个过渡作业;
其中,所述第一时间条的执行部分包括指示所述第一程序的工作作业的执行时段的工作执行部分和指示所述第一程序的至少一个过渡作业的执行时段的至少一个过渡部分;并且
其中,所述第二时间条的执行部分包括指示所述第二程序的工作作业的执行时段的工作执行部分和指示所述第二程序的至少一个过渡作业的执行时段的至少一个过渡部分。
12.根据权利要求7所述的编程辅助装置,还包括:
生成条件改变单元,其配置成
在所述作业图像中辨识用户选择的过渡作业;并且
根据附加用户输入,来改变针对所述用户选择的过渡作业的过渡生成条件;并且
其中,所述作业生成单元还配置成根据所述生成条件改变单元所改变的生成条件,来生成所述用户选择的过渡作业。
13.根据权利要求8所述的编程辅助装置,
其中,所述执行顺序设置单元还配置成根据使所述第一程序的工作作业的目标作业在所述第一流程图中移动的用户请求,来改变所述第一执行顺序;并且
其中,所述作业生成单元还配置成根据所述执行顺序设置单元所改变的所述第一执行顺序,来重新生成至少一个过渡作业。
14.根据权利要求13所述的编程辅助装置,
其中,所述执行顺序设置单元还配置成根据使工作作业的目标作业在所述第一流程图与所述第二流程图之间移动的用户请求,来改变所述第一执行顺序和所述第二执行顺序;并且
其中,所述作业生成单元还配置成:
根据因根据所述用户请求所改变的所述第一执行顺序,来重新生成至少一个过渡作业;并且
根据因根据所述用户请求所改变的第二执行顺序,来重新生成至少一个过渡作业。
15.根据权利要求13所述的编程辅助装置,还包括:
修改位置识别单元,其配置成
根据所述第一执行顺序,来辨识其间包括所述至少一个过渡作业中的过渡作业的一对或多对序列工作作业;并且
根据因根据所述用户请求所改变的所述第一执行顺序,来辨识所述一对或多对序列工作作业中不包括所述目标作业的一对序列工作作业,其中,所述作业生成单元按根据所述用户请求所改变的所述第一执行顺序,将所述过渡作业保留在不包括所述目标作业的一对序列工作作业之间。
16.根据权利要求11所述的编程辅助装置,
其中,所述执行顺序设置单元还配置成根据使工作作业在所述作业图像中移动的用户请求来改变所述第一执行顺序;
其中,所述作业生成单元还配置成根据因根据所述用户请求所改变的所述第一执行顺序,来重新生成至少一个过渡作业;
其中,所述待机时段计算单元还配置成根据因根据所述用户请求所改变的所述第一执行顺序,来重新计算所述第一程序和所述第二程序的至少一个待机时段;并且
其中,所述时间指定图像生成单元还配置成基于因根据所述用户请求所改变的所述第一执行顺序、根据因根据所述用户请求所改变的所述第一执行顺序所重新生成的所述至少一个过渡作业和根据因根据所述用户请求所改变的所述第一执行顺序所重新计算的至少一个待机时段,来更新所述第一时间条和所述第二时间条。
17.根据权利要求6所述的编程辅助装置,还包括可执行性检查单元,所述可执行性检查单元配置成:
检查所述第一程序的工作作业所定义的所述第一机器人的工作动作是否满足所述第一机器人的动作约束;并且
检查所述第二程序的工作作业所定义的所述第二机器人的工作动作是否满足所述第二机器人的动作约束。
18.根据权利要求17所述的编程辅助装置,其中,所述可执行性检查单元还配置成基于所述第一程序和所述第二程序,来检查所述第一执行顺序和所述第二执行顺序是否满足与工作作业中的至少两者相关联的序列操作条件。
19.一种机器人系统,其包括:
根据权利要求1至18中的任一项所述的编程辅助装置;
第一机器人;
第二机器人;以及
控制器,其配置成根据第一程序和第二程序,来控制所述第一机器人和所述第二机器人。
20.一种编程辅助方法,其包括以下步骤:
存储包括第一组时序作业的第一程序,所述第一组时序作业中的每个作业定义第一机器人的动作,其中,所述第一程序配置成沿着共享时间线执行;
存储包括第二组时序作业的第二程序,所述第二组时序作业中的每个作业定义第二机器人的动作,其中,所述第二程序配置成沿着所述共享时间线执行;
至少部分地基于用户指定,在所述共享时间线中辨识验证目标时间;以及
基于所述第一程序和所述第二程序,来生成作业图像,所述作业图像指示在所述共享时间线中指定的所述验证目标时间处所述第一机器人所执行的第一作业和所述第二机器人所执行的第二作业。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019-069834 | 2019-04-01 | ||
JP2019069834A JP6717401B1 (ja) | 2019-04-01 | 2019-04-01 | プログラミング支援装置、ロボットシステム及びプログラミング支援方法 |
US201962906735P | 2019-09-27 | 2019-09-27 | |
US62/906,735 | 2019-09-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111791228A true CN111791228A (zh) | 2020-10-20 |
CN111791228B CN111791228B (zh) | 2023-11-17 |
Family
ID=71131600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010234727.1A Active CN111791228B (zh) | 2019-04-01 | 2020-03-30 | 编程辅助装置、机器人系统和编程辅助方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11413752B2 (zh) |
EP (1) | EP3718702B1 (zh) |
JP (1) | JP6717401B1 (zh) |
CN (1) | CN111791228B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11656753B2 (en) * | 2020-01-31 | 2023-05-23 | Canon Kabushiki Kaisha | Information processing device and method displaying at least two apparatuses for virtually checking interference |
JP7272374B2 (ja) * | 2021-01-19 | 2023-05-12 | 株式会社安川電機 | プランニングシステム、ロボットシステム、プランニング方法、およびプランニングプログラム |
WO2023276506A1 (ja) * | 2021-06-30 | 2023-01-05 | 株式会社安川電機 | プランニングシステム、ロボットシステム、プランニング方法、およびプランニングプログラム |
DE112021008356T5 (de) * | 2021-12-20 | 2024-08-01 | Fanuc Corporation | Programmlehr-Unterstützungsvorrichtung |
CN114979020A (zh) * | 2022-04-15 | 2022-08-30 | 湖南三一中型起重机械有限公司 | 工程机械协同作业控制方法、装置及系统 |
KR20240112431A (ko) * | 2023-01-12 | 2024-07-19 | 주식회사 디엔솔루션즈 | 갠트리로더의 제어 방법 |
Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1461693A (zh) * | 2002-05-30 | 2003-12-17 | 库卡-罗伯特有限公司 | 用于避免在协作机器人之间的碰撞的方法和控制装置 |
US6944584B1 (en) * | 1999-04-16 | 2005-09-13 | Brooks Automation, Inc. | System and method for control and simulation |
CN1907655A (zh) * | 2005-08-04 | 2007-02-07 | 发那科株式会社 | 机器人程序设计装置 |
JP2008030136A (ja) * | 2006-07-27 | 2008-02-14 | Sony Corp | ロボットの動作編集装置及び動作編集方法、並びにコンピュータ・プログラム |
JP2008100315A (ja) * | 2006-10-19 | 2008-05-01 | Mitsubishi Heavy Ind Ltd | 制御シミュレーションシステム |
CN101850552A (zh) * | 2010-05-28 | 2010-10-06 | 广东工业大学 | 一种工业机器人综合控制平台及其控制方法 |
US20100268358A1 (en) * | 2009-04-20 | 2010-10-21 | Cantarelli Matteo | Method and device for programming an industrial controller |
US20110071676A1 (en) * | 2009-09-22 | 2011-03-24 | Gm Global Technology Operations, Inc. | Interactive robot control system and method of use |
CN102658550A (zh) * | 2010-12-24 | 2012-09-12 | 精工爱普生株式会社 | 机器人模拟装置以及机器人模拟方法 |
US20130230832A1 (en) * | 2008-08-21 | 2013-09-05 | Carl Peters | Systems and methods providing an enhanced user experience in a real-time simulated virtual reality welding environment |
CN103389699A (zh) * | 2013-05-09 | 2013-11-13 | 浙江大学 | 基于分布式智能监测控制节点的机器人监控及自主移动系统的运行方法 |
US20140371910A1 (en) * | 2013-06-17 | 2014-12-18 | Canon Kabushiki Kaisha | Robot system and robot control method |
CN104793579A (zh) * | 2014-01-17 | 2015-07-22 | 株式会社神户制钢所 | 控制工业机器人的控制系统、控制装置及焊接件制造方法 |
CN104827473A (zh) * | 2014-02-06 | 2015-08-12 | 库卡实验仪器有限公司 | 用于对工业机器人编程的方法和对应的工业机器人 |
US20150328769A1 (en) * | 2014-05-14 | 2015-11-19 | Yaskawa America, Inc. | Method, apparatus, and medium for teaching industrial robot |
US20150336269A1 (en) * | 2014-05-21 | 2015-11-26 | Bot & Dolly, Llc | Systems and Methods for Time-Based Parallel Robotic Operation |
US20150379171A1 (en) * | 2014-06-30 | 2015-12-31 | Kabushiki Kaisha Yaskawa Denki | Robot simulator and file generation method for robot simulator |
JP2016093869A (ja) * | 2014-11-14 | 2016-05-26 | 株式会社クリエイティブマシン | 教示データの作成方法、作成装置、及び作成プログラム、並びに、教示データのデータ構造、記録媒体 |
CN106796427A (zh) * | 2014-04-01 | 2017-05-31 | 波特与多利有限责任公司 | 用于机器人制造系统的运行时间控制器 |
US9707680B1 (en) * | 2015-05-28 | 2017-07-18 | X Development Llc | Suggesting, selecting, and applying task-level movement parameters to implementation of robot motion primitives |
US20180113577A1 (en) * | 2016-10-26 | 2018-04-26 | Google Inc. | Timeline-Video Relationship Presentation for Alert Events |
CN108081268A (zh) * | 2013-10-10 | 2018-05-29 | 精工爱普生株式会社 | 机器人控制系统、机器人、程序以及机器人控制方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2518178B2 (ja) * | 1987-06-03 | 1996-07-24 | 株式会社安川電機 | ロボットの相互干渉チェックのためのプログラム表示方法 |
JPH05324022A (ja) * | 1992-05-19 | 1993-12-07 | Fanuc Ltd | 計算機接続型ロボット制御装置 |
JP3832686B2 (ja) * | 1997-08-08 | 2006-10-11 | 株式会社安川電機 | ロボットの動作プログラム表示装置および制御装置 |
JP4103057B2 (ja) | 1998-06-29 | 2008-06-18 | 株式会社安川電機 | ロボットの動作経路計画方法およびその装置 |
JP4670136B2 (ja) * | 2000-10-11 | 2011-04-13 | ソニー株式会社 | オーサリング・システム及びオーサリング方法、並びに記憶媒体 |
JP4671628B2 (ja) * | 2004-06-16 | 2011-04-20 | ソニー株式会社 | ロボット装置の制御システム及び制御方法 |
FR2946160B1 (fr) | 2009-05-26 | 2014-05-09 | Aldebaran Robotics | Systeme et procede pour editer et commander des comportements d'un robot mobile. |
JP5582427B2 (ja) | 2012-12-18 | 2014-09-03 | 株式会社安川電機 | 教示データ作成装置、ロボットシステム、及び教示データ作成方法 |
JP6144845B2 (ja) * | 2014-02-05 | 2017-06-07 | アーベーベー シュヴァイツ アクツィエンゲゼルシャフト | ショーを協調的に演じている複数のロボットの動きを定義するためのシステム及び方法 |
JP6394218B2 (ja) | 2014-09-16 | 2018-09-26 | 株式会社安川電機 | 作業計画装置、作業計画方法および作業計画プログラム |
CN110536783B (zh) | 2017-04-19 | 2022-06-14 | 株式会社安川电机 | 编程支持装置、机器人系统、编程支持方法以及存储介质 |
-
2019
- 2019-04-01 JP JP2019069834A patent/JP6717401B1/ja active Active
-
2020
- 2020-03-27 EP EP20166385.3A patent/EP3718702B1/en active Active
- 2020-03-30 US US16/833,679 patent/US11413752B2/en active Active
- 2020-03-30 CN CN202010234727.1A patent/CN111791228B/zh active Active
Patent Citations (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6944584B1 (en) * | 1999-04-16 | 2005-09-13 | Brooks Automation, Inc. | System and method for control and simulation |
CN1461693A (zh) * | 2002-05-30 | 2003-12-17 | 库卡-罗伯特有限公司 | 用于避免在协作机器人之间的碰撞的方法和控制装置 |
CN1907655A (zh) * | 2005-08-04 | 2007-02-07 | 发那科株式会社 | 机器人程序设计装置 |
JP2008030136A (ja) * | 2006-07-27 | 2008-02-14 | Sony Corp | ロボットの動作編集装置及び動作編集方法、並びにコンピュータ・プログラム |
JP2008100315A (ja) * | 2006-10-19 | 2008-05-01 | Mitsubishi Heavy Ind Ltd | 制御シミュレーションシステム |
US20130230832A1 (en) * | 2008-08-21 | 2013-09-05 | Carl Peters | Systems and methods providing an enhanced user experience in a real-time simulated virtual reality welding environment |
US20100268358A1 (en) * | 2009-04-20 | 2010-10-21 | Cantarelli Matteo | Method and device for programming an industrial controller |
US20110071676A1 (en) * | 2009-09-22 | 2011-03-24 | Gm Global Technology Operations, Inc. | Interactive robot control system and method of use |
JP2011067943A (ja) * | 2009-09-22 | 2011-04-07 | Gm Global Technology Operations Inc | インターアクティブロボット制御システム及び使用方法 |
US8260460B2 (en) * | 2009-09-22 | 2012-09-04 | GM Global Technology Operations LLC | Interactive robot control system and method of use |
CN101850552A (zh) * | 2010-05-28 | 2010-10-06 | 广东工业大学 | 一种工业机器人综合控制平台及其控制方法 |
CN102658550A (zh) * | 2010-12-24 | 2012-09-12 | 精工爱普生株式会社 | 机器人模拟装置以及机器人模拟方法 |
CN103389699A (zh) * | 2013-05-09 | 2013-11-13 | 浙江大学 | 基于分布式智能监测控制节点的机器人监控及自主移动系统的运行方法 |
US20140371910A1 (en) * | 2013-06-17 | 2014-12-18 | Canon Kabushiki Kaisha | Robot system and robot control method |
CN108081268A (zh) * | 2013-10-10 | 2018-05-29 | 精工爱普生株式会社 | 机器人控制系统、机器人、程序以及机器人控制方法 |
CN104793579A (zh) * | 2014-01-17 | 2015-07-22 | 株式会社神户制钢所 | 控制工业机器人的控制系统、控制装置及焊接件制造方法 |
CN104827473A (zh) * | 2014-02-06 | 2015-08-12 | 库卡实验仪器有限公司 | 用于对工业机器人编程的方法和对应的工业机器人 |
CN106796427A (zh) * | 2014-04-01 | 2017-05-31 | 波特与多利有限责任公司 | 用于机器人制造系统的运行时间控制器 |
US20150328769A1 (en) * | 2014-05-14 | 2015-11-19 | Yaskawa America, Inc. | Method, apparatus, and medium for teaching industrial robot |
CN107073708A (zh) * | 2014-05-21 | 2017-08-18 | 波特与多利有限责任公司 | 用于时基并行机器人操作的系统和方法 |
US20150336269A1 (en) * | 2014-05-21 | 2015-11-26 | Bot & Dolly, Llc | Systems and Methods for Time-Based Parallel Robotic Operation |
US20170097631A1 (en) * | 2014-05-21 | 2017-04-06 | Bot & Dolly, Llc | Systems and Methods for Time-Based Parallel Robotic Operation |
US20150379171A1 (en) * | 2014-06-30 | 2015-12-31 | Kabushiki Kaisha Yaskawa Denki | Robot simulator and file generation method for robot simulator |
JP2016093869A (ja) * | 2014-11-14 | 2016-05-26 | 株式会社クリエイティブマシン | 教示データの作成方法、作成装置、及び作成プログラム、並びに、教示データのデータ構造、記録媒体 |
US9707680B1 (en) * | 2015-05-28 | 2017-07-18 | X Development Llc | Suggesting, selecting, and applying task-level movement parameters to implementation of robot motion primitives |
US20180113577A1 (en) * | 2016-10-26 | 2018-04-26 | Google Inc. | Timeline-Video Relationship Presentation for Alert Events |
Non-Patent Citations (1)
Title |
---|
梁宇斌: "3RPS/UPS并联机器人神经网络观测器反演控制", 计算机工程与应用 * |
Also Published As
Publication number | Publication date |
---|---|
JP6717401B1 (ja) | 2020-07-01 |
CN111791228B (zh) | 2023-11-17 |
EP3718702A1 (en) | 2020-10-07 |
EP3718702B1 (en) | 2024-09-18 |
JP2020168666A (ja) | 2020-10-15 |
US20200306967A1 (en) | 2020-10-01 |
US11413752B2 (en) | 2022-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111791228B (zh) | 编程辅助装置、机器人系统和编程辅助方法 | |
CN108453702B (zh) | 机器人仿真器、机器人系统以及仿真方法 | |
US10525594B2 (en) | Teaching system, robot system, and teaching method | |
JP6311421B2 (ja) | ティーチングシステム、ロボットシステムおよびティーチング方法 | |
EP3482886A1 (en) | Programming assistance apparatus, robot system, and method for generating program | |
US20200047339A1 (en) | Programming support apparatus, robot system, and programming support method | |
EP3263268B1 (en) | Offline teaching device | |
JP2015098076A (ja) | ロボットプログラム作成方法、ロボットプログラム作成装置、プログラム及び記録媒体 | |
CN102161126B (zh) | 作业机械手的传感动作生成方法、传感动作生成装置 | |
JP4574580B2 (ja) | 作業ロボットのオフラインティーチング装置 | |
CN114761184B (zh) | 仿真系统、仿真方法、仿真程序、机器人的制造方法以及机器人系统 | |
JP2009119589A (ja) | ロボットシミュレータ | |
JP6792184B1 (ja) | シミュレーションシステム、シミュレーション方法、シミュレーションプログラム、ロボットの製造方法、およびロボットシステム | |
US20230286153A1 (en) | Path generation for manual robot teaching | |
US20230249347A1 (en) | Path planning during execution of robot control | |
US20220355478A1 (en) | Robot slider position setting device, robot slider position setting method, and robot slider position setting program | |
JP7272374B2 (ja) | プランニングシステム、ロボットシステム、プランニング方法、およびプランニングプログラム | |
WO2023276149A1 (ja) | 最適化支援装置 | |
JP2016218934A (ja) | ロボット言語プログラムの修正装置,方法およびプログラム | |
CN115958592A (zh) | 信息处理装置、信息处理方法及制造产品的方法 | |
JP2005138245A (ja) | 人間介入型ロボットの制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |