CN113874177A - 机器人***、恢复程序生成装置、控制辅助装置、控制装置、程序、恢复程序的生成方法以及恢复程序的输出方法 - Google Patents
机器人***、恢复程序生成装置、控制辅助装置、控制装置、程序、恢复程序的生成方法以及恢复程序的输出方法 Download PDFInfo
- Publication number
- CN113874177A CN113874177A CN201980096428.1A CN201980096428A CN113874177A CN 113874177 A CN113874177 A CN 113874177A CN 201980096428 A CN201980096428 A CN 201980096428A CN 113874177 A CN113874177 A CN 113874177A
- Authority
- CN
- China
- Prior art keywords
- robot
- program
- unit
- abnormal state
- recovery
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 61
- 230000002093 peripheral effect Effects 0.000 claims abstract description 213
- 230000002159 abnormal effect Effects 0.000 claims abstract description 151
- 238000011084 recovery Methods 0.000 claims description 95
- 238000012545 processing Methods 0.000 claims description 41
- 238000010977 unit operation Methods 0.000 claims description 28
- 238000004088 simulation Methods 0.000 claims description 25
- 230000033001 locomotion Effects 0.000 claims description 23
- 230000009471 action Effects 0.000 claims description 16
- 238000004891 communication Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 15
- 238000004148 unit process Methods 0.000 description 15
- 238000003860 storage Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 210000000707 wrist Anatomy 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000005520 cutting process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000020169 heat generation Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000003754 machining Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003801 milling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000007921 spray Substances 0.000 description 1
- 238000005507 spraying Methods 0.000 description 1
- 238000003466 welding Methods 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/1628—Programme controls characterised by the control loop
- B25J9/1653—Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
-
- 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
-
- 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
-
- 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/1674—Programme controls characterised by safety, monitoring, diagnostic
-
- 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/1674—Programme controls characterised by safety, monitoring, diagnostic
- B25J9/1676—Avoiding collision or forbidden zones
-
- 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
-
- 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/40—Robotics, robotics mapping to robotics vision
- G05B2219/40164—Fault recovery from task execution errors
-
- 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/40—Robotics, robotics mapping to robotics vision
- G05B2219/40204—Each fault condition has a different recovery procedure
-
- 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/40—Robotics, robotics mapping to robotics vision
- G05B2219/40314—Simulation of program locally before remote operation
-
- 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/40—Robotics, robotics mapping to robotics vision
- G05B2219/40516—Replanning
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
机器人***(1)包括:机器人(10);周边设备(50),配置在机器人(10)的周边;控制部(112),基于程序至少使机器人(10)动作;中断部(113),当在周边设备(50)中发生了异常状态时,使基于动作程序的由机器人(10)进行的与周边设备(50)联动的一系列的多个动作中断;以及模拟器(300),至少基于由于异常状态的发生而中断了动作的时间点的机器人(10)的机器人状态信息来生成恢复程序,控制部(112)基于恢复程序使机器人(10)相对于周边设备(50)进行动作,以使被中断的基于动作程序的动作成为能够继续的状态。
Description
技术领域
本公开涉及机器人***、恢复程序生成装置、控制辅助装置、控制装置、程序、恢复程序的生成方法以及恢复程序的输出方法。
背景技术
在专利文献1中公开了一种加工机***,其具备加工机和机器人,使机器人执行针对加工机的工件的更换。
现有技术文献
专利文献
专利文献1:日本特开2016-168661号公报。
发明内容
发明所要解决的问题
本公开提供一种对机器人从周边设备中的异常状态的迅速恢复有效的机器人***。
用于解决问题的手段
本公开的一个方面所涉及的机器人***,包括:机器人;周边设备,配置在机器人的周边;控制部,基于程序至少使机器人动作;中断部,当在周边设备中发生了异常状态时,使基于动作程序的由机器人进行的与周边设备联动的一系列的多个动作中断;以及恢复程序生成部,至少基于由于异常状态的发生而中断了动作的时间点的机器人的机器人状态信息来生成恢复程序,控制部基于恢复程序使机器人相对于周边设备进行动作,以使被中断的基于动作程序的动作成为能够继续的状态。
本公开的另一方面所涉及的恢复程序生成装置包括:状态信息获取部,当在配置于机器人的周边的周边设备中发生了异常状态时,至少获取中断了基于动作程序的与周边设备联动的一系列的多个动作的机器人的机器人状态信息;以及恢复程序生成部,至少基于机器人状态信息来生成机器人的恢复程序,恢复程序用于使被中断的基于动作程序的动作成为能够继续的状态。
本公开的又一方面所涉及的控制辅助装置包括:状态信息获取部,当在配置于机器人的周边的周边设备中发生了异常状态时,至少获取异常状态信息和中断了基于动作程序的与周边设备联动的一系列的多个动作的机器人的机器人状态信息,异常状态信息表示周边设备的异常状态;类别确定部,至少基于异常状态信息来确定该异常状态的类别;以及恢复程序输出部,至少基于异常状态的类别和机器人状态信息来输出机器人的恢复程序,恢复程序用于使被中断的基于动作程序的动作成为能够继续的状态。
本公开的又一方面所涉及的控制装置包括:控制部,基于程序至少使机器人动作;中断部,当在配置于机器人的周边的周边设备中发生了异常状态时,使基于动作程序的由机器人进行的与周边设备联动的一系列的多个动作中断;以及恢复程序获取部,获取恢复程序,恢复程序是至少基于机器人状态信息的程序,控制部基于恢复程序使机器人相对于周边设备进行动作,以使被中断的基于动作程序的动作成为能够继续的状态。
本发明的又一方面所涉及的程序使装置执行:当在配置于机器人的周边的周边设备中发生了异常状态时,至少获取中断了基于动作程序的与周边设备联动的一系列的多个动作的机器人的机器人状态信息;以及至少基于机器人状态信息生成机器人的恢复程序,恢复程序用于使被中断的基于动作程序的动作成为能够继续的状态。
本公开的又一方面所涉及的程序使装置执行:当在配置于机器人的周边的周边设备中发生了异常状态时,至少获取异常状态信息和中断了基于动作程序的与周边设备联动的一系列的多个动作的机器人的机器人状态信息,异常状态信息表示周边设备的异常状态;至少基于异常状态信息来确定该异常状态的类别;以及至少基于异常状态的类别和机器人状态信息来输出机器人的恢复程序,恢复程序用于使被中断的基于动作程序的动作成为能够继续的状态。
本发明的又一方面所涉及的恢复程序的生成方法包括:当在配置于机器人的周边的周边设备中发生了异常状态时,至少获取中断了基于动作程序的与周边设备联动的一系列的多个动作的机器人的机器人状态信息;以及至少基于机器人状态信息生成机器人的恢复程序,恢复程序用于使被中断的基于动作程序的动作成为能够继续的状态。
本公开的又一方面所涉及的恢复程序的输出方法包括:当在配置于机器人的周边的周边设备中发生了异常状态时,至少获取异常状态信息和中断了基于动作程序的与周边设备联动的一系列的多个动作的机器人的机器人状态信息,异常状态信息表示周边设备的异常状态;至少基于异常状态信息来确定该异常状态的类别;以及至少基于异常状态的类别和机器人状态信息来输出机器人的恢复程序,恢复程序用于使被中断的基于动作程序的动作成为能够继续的状态。
发明效果
根据本公开,能够提供一种对机器人从周边设备中的异常状态迅速恢复有效的机器人***。
附图说明
图1是示出机器人***的概略结构的示意图。
图2是例示控制器的功能性结构的框图。
图3是例示控制辅助装置的功能性结构的框图。
图4是例示模拟器的功能性结构的框图。
图5是例示动作程序的时序图。
图6是例示***有恢复程序的动作程序的时序图。
图7是例示控制***的硬件结构的框图。
图8是例示控制步骤的流程图。
图9是例示中断处理步骤的流程图。
图10是例示恢复处理步骤的流程图。
图11是例示恢复程序的生成辅助步骤的流程图。
图12是例示恢复程序的生成步骤的流程图。
图13是例示恢复步骤的设定步骤的流程图。
具体实施方式
以下,参照附图对实施方式进行详细说明。在说明中,对相同要素或具有相同功能的要素标注相同的附图标记,并省略重复的说明。
[机器人***]
本实施方式涉及的机器人***是通过机器人和配置于其周边的至少一台周边设备对工件执行规定的作业(例如加工、组装等)的***。作为机器人与周边设备的协作方式的具体例子,可以举出对机器人所操纵的工件通过周边设备实施规定的作业的方式、对周边设备进行保持并调节位置/姿势的工件实施基于机器人的规定的作业的方式等。
如图1所示,机器人***1具备至少1台机器人10、至少1台周边设备50以及控制***2。机器人10例如是6轴的垂直多关节机器人,具有基部11、旋转部12、第一臂13、第二臂14、手腕部15、前端部16以及致动器41、42、43、44、45、46。
基部11固定于地面或台车等。旋转部12设置在基部11上,能够绕铅垂的轴线21旋转。即,机器人10具有能够使旋转部12绕轴线21旋转的关节31。
第一臂13从旋转部12延伸,能够绕与轴线21交叉(例如正交)的轴线22摆动。即,机器人10具有能够使第一臂13绕轴线22摆动的关节32。另外,这里的交叉包括所谓的立体交叉那样相互处于扭转的关系的状态下的交叉。以下也同样。
第二臂14从第一臂13的前端部延伸,能够绕与轴线21交叉(例如正交)的轴线23摆动。即,机器人10具有能够使第二臂14绕轴线23摆动的关节33。轴线23也可以与轴线22平行。
第二臂14的前端部能够绕沿第二臂14的延伸方向与轴线23交叉(例如正交)的轴线24旋转。即,机器人10具有能够使第二臂14的前端部绕轴线24旋转的关节34。
手腕部15从第二臂14的前端部延伸,能够绕与轴线24交叉(例如正交)的轴线25摆动。即,机器人10具有能够使手腕部15绕轴线25摆动的关节35。
前端部16设置于手腕部15的前端部,能够绕沿手腕部15的延伸方向与轴线25交叉(例如正交)的轴线26旋转。即,机器人10具有能够使前端部16绕轴线26旋转的关节36。在前端部16设置有作业用的各种工具。作为工具的具体例,可列举出用于保持工件的手、喷出涂料的喷涂枪以及焊炬等。
致动器41、42、43、44、45、46分别驱动关节31、32、33、34、35、36。例如,致动器41使旋转部12绕轴线21旋转,致动器42使第一臂13绕轴线22摆动,致动器43使第二臂14绕轴线23摆动,致动器44使第二臂14的前端部绕轴线24旋转,致动器45使手腕部15绕轴线25摆动,致动器46使前端部16绕轴线26旋转。
另外,机器人10也能够构成为只要能够在所希望的范围内变更前端部16的位置以及姿势即可。例如,机器人10也可以是在上述的6轴的垂直多关节机器人中追加了冗余轴的7轴垂直多关节机器人。另外,机器人10可以是所谓scalar型的机器人,也可以是并联连杆型的机器人。
作为周边设备50的具体例,可列举NC(Numerical Control:数控)机床(例如加工中心、NC车床、NC铣床等)、保持工件并调节姿势的工件姿势调节装置等。周边设备50也可以是与机器人10同样地构成的机器人。另外,在图1中,示出了1台机器人10和2台周边设备50,但机器人10以及周边设备50的数量没有特别限制。
控制***2构成为执行以下处理:基于程序至少使机器人10动作;当在周边设备50中发生异常状态时,使基于动作程序的由机器人10进行的与周边设备50联动的一系列的多个动作中断;至少基于由于异常状态的发生而中断了动作的时间点的机器人10的机器人状态信息生成恢复程序;以及基于恢复程序使机器人10相对于周边设备50进行动作,以使得被中断的基于动作程序的动作成为能够继续的状态。
例如,控制***2具有控制器100、控制辅助装置200以及模拟器300。以下,分别例示这些结构。以机器人10和周边设备50的配置位置为基准,控制器100配置在所谓的边缘侧。与此相对,模拟器300配置在所谓的云侧。例如,模拟器300经由通信网络NW与控制器100通信。通信网络NW可以是因特网,也可以是专用网络。
控制辅助装置200介于模拟器300与控制器100之间。控制辅助装置200也可以介于模拟器300与多个控制器100之间。控制辅助装置200可以设置在边缘侧,也可以设置在云侧。例如,控制辅助装置200设置于边缘侧,与控制器100连接。这里的连接意味着能够通过无线或有线进行相互的信息通信。
模拟器300经由通信网络NW与至少一个控制辅助装置200进行通信,经由通信网络NW和控制辅助装置200与控制器100进行通信。模拟器300也可以与多个控制辅助装置200进行通信。以下,对控制器100、控制辅助装置200以及模拟器300的功能以及结构分别进行说明。
(控制器)
控制器100执行如下处理:基于程序至少控制机器人10;当在周边设备50中发生了异常状态时,使上述一系列的多个动作中断;获取至少基于由于异常状态的发生而中断了动作的时间点的机器人10的机器人状态信息的恢复程序;以及基于恢复程序,使机器人10相对于周边设备50进行动作,以使得被中断的基于动作程序的动作成为能够继续的状态。
例如,控制器100是对集中于一个单元的至少1台机器人10以及至少一台周边设备50进行控制的单元控制器。控制器100构成为向机器人10的致动器41、42、43、44、45、46输出驱动电力,向周边设备50输出控制指令。控制器100也可以构成为对至少任一个周边设备50输出驱动电力来代替控制指令。
此外,控制器100也可以不一定集中于一个壳体,也可以分为多个壳体。例如,控制器100也可以分为根据控制指令向机器人10的致动器41、42、43、44、45、46输出驱动电力的机器人控制器、向机器人控制器及周边设备50输出控制指令的可编程逻辑控制器。
在存在接受驱动电力的周边设备50(以下,称为“第一类型的周边设备50”)和接受控制指令的周边设备50(以下,称为“第二类型的周边设备50”)的情况下,控制器100可以分为:上述机器人控制器;伺服驱动器,根据控制指令向第一类型的周边设备50输出驱动电力;以及可编程逻辑控制器,向机器人控制器、伺服驱动器以及第二类型的周边设备50输出控制指令。
如图2所示,在控制器100(控制装置)中,作为功能结构(以下,称为“功能块”)而具有为程序存储部111、控制部112、中断部113以及恢复程序获取部114。
程序存储部111存储用于使机器人10和周边设备50动作的动作程序。动作程序包含用于使机器人10动作的机器人动作程序、和用于与机器人10联动地使周边设备50执行处理的周边处理程序。
机器人动作程序包含按时间顺序排列的多个单位任务。各单位任务是用于使机器人10执行一系列的单位动作的程序。作为单位动作的具体例子,可列举工件的把持、把持的工件的运送、工件向周边设备50的安装、工件从周边设备50的拆卸、工具向周边设备50的安装、工具从周边设备50的拆卸、工具的把持、把持的工具的运送、工具对工件的加工等。
例如,单位任务包含按时间顺序排列的多个动作命令。各动作命令包含前端部16的目标位置以及目标姿势、向目标位置以及目标姿势的移动速度、以及从当前位置以及当前姿势到目标位置以及目标姿势的插值方式。作为插值方式的具体例,可举出线性插值、S字插值等。
机器人动作程序也可以在机器人10的多个单位动作的一个或两个动作以上之间具有可中断点。表示可中断点的信息也可以与单位任务建立关联地存储。例如,各单位任务也可以包含表示在该任务完成后能否中断机器人10的动作的可否停止标志。例如,在单位任务的可否停止标志为“可”的情况下,该单位任务与下一个单位任务之间成为可中断点。
周边处理程序包含用于与机器人10联动地使周边设备50执行处理的至少一个处理命令。处理命令是以能够由周边设备50识别的形式表示一系列的单位处理的内容的命令码。
控制部112基于程序至少使机器人10动作。例如,控制部112基于机器人动作程序使机器人10动作,基于周边设备动作程序使周边设备50动作。
例如,控制部112以规定的控制周期反复进行机器人10以及周边设备50的控制。在各控制周期中,控制部112基于机器人10以及周边设备50的状态和机器人动作程序来计算针对机器人10的控制指令,并将与计算出的控制指令对应的驱动电力向致动器41、42、43、44、45、46输出。
例如,控制部112基于机器人10以及周边设备50的状态和机器人动作程序来计算每个控制周期的前端部16的目标位置以及目标姿势,通过基于该目标位置以及目标姿势的逆运动学运算,计算致动器41、42、43、44、45、46的目标角度作为上述控制指令。在各控制周期中,控制部112基于机器人10以及周边设备50的状态和周边设备动作程序来计算针对周边设备50的控制指令并输出。
在周边设备50中发生了异常状态的情况下,中断部113使基于机器人动作程序的机器人10的动作(与周边设备50联动的一系列的多个单位动作)中断。中断部113也可以中断基于周边设备动作程序的周边设备50的动作(与机器人10联动的动作)。
作为异常状态的具体例子,可举出工件的设置不良、工具的设置不良、工件的不存在、工具的不存在、工件的质量不良、致动器的过载异常、异常发热、周边设备50的门的开闭不良等。另外,在周边设备50中发生的异常状态包括工件的把持失败、工具的把持失败等因机器人10的动作失败而发生的异常状态。
中断部113也可以在从周边设备50中发生了异常状态时起之后的上述可中断点,使机器人10的多个单位动作中断。例如,中断部113也可以在周边设备50中发生异常状态时的下一个到来的上述可中断点,使机器人10的多个单位动作中断。
恢复程序获取部114获取至少基于由于异常状态的发生而中断了动作的时间点的机器人10的状态信息的恢复程序。例如,恢复程序获取部114将由于异常状态的发生而机器人10中断了动作的时间点的机器人***1的状态信息发送至控制辅助装置200,并从控制辅助装置200获取基于机器人***1的状态信息而生成的恢复程序。
机器人***1的状态信息包含机器人10的状态信息(以下,称为“机器人状态信息”)、以及周边设备50的状态信息(以下,称为“周边设备状态信息”)。
机器人状态信息至少包含表示前端部16的位置以及姿势的信息。表示前端部16的位置以及姿势的信息也可以是关节31、32、33、34、35、36的角度信息。机器人状态信息也可以还包含机器人10的拍摄图像等。
周边设备状态信息包含表示周边设备50中的异常状态的异常状态信息。作为异常状态信息的具体例子,除了表示负荷等级、发热等级等的等级信息以外,还可以举出通知上述的各种异常状态的发生的各种警报信息等。周边设备状态信息也可以还包含周边设备50的拍摄图像等。
恢复程序可以包含机器人用的恢复程序(以下,称为“机器人恢复程序”)以及周边设备50用的恢复程序(以下,称为“周边恢复程序”)。
机器人恢复程序是用于使机器人10执行用于被中断的基于动作程序的动作成为能够继续的状态的动作(以下,称为“恢复动作”)的程序。作为恢复动作的具体例子,可举出工件的更换、工具的更换、工件的再设置、工具的再设置等。另外,在周边设备50是与机器人10相同结构的机器人(以下,称为“其他机器人”)的情况下,恢复动作也可以包括代替由其他机器人执行的预定的作业。
此外,使被中断的基于动作程序的动作成为能够继续的状态,除了使该动作成为能够从中断时间点起继续的状态之外,还包括使该动作成为从中断时间点之前的时间点能够继续的状态。中断时间点之前的时间点也可以是动作程序的开始时间点。能够继续的状态是指解除了异常状态、能够再次开始基于动作程序的动作的状态。
与机器人动作程序同样地,机器人恢复程序包含按时间顺序排列的多个单位任务。机器人恢复程序所包含的单位任务的数量也可以是一个。周边恢复程序是用于使周边设备50执行用于被中断的基于动作程序的动作成为能够继续的状态的处理(以下,称为“恢复处理”)的程序。作为恢复处理的具体例子,可举出原点恢复等。周边恢复程序包含用于与机器人10联动地使周边设备50执行恢复处理的至少一个处理命令。
在恢复程序获取部114获取了恢复程序的情况下,控制部112基于恢复程序使机器人10相对于周边设备50进行动作,以使被中断的基于动作程序的动作成为能够继续的状态。之后,控制部112使机器人10再次开始被中断的基于动作程序的动作。
在恢复程序包含上述机器人恢复程序和周边恢复程序的情况下,控制部112基于机器人恢复程序使机器人10相对于周边设备50进行动作,以使被中断的基于动作程序的动作成为能够继续的状态,基于周边恢复程序使周边设备50与机器人10联动地执行恢复处理。
此外,控制器100也可以构成为:即使在未发生异常状态的情况下,也周期性地向控制辅助装置200发送机器人***1的状态信息。
(控制辅助装置)
控制辅助装置200构成为执行以下处理:至少获取上述机器人状态信息和上述异常状态信息;至少基于异常状态信息来确定该异常状态的类别;以及至少基于异常状态的类别和机器人状态信息输出用于使被中断的基于动作程序的动作成为能够继续的状态的机器人10的恢复程序。
控制辅助装置200是与至少一个控制器100进行通信、基于从控制器100收集到的信息来辅助控制器100的控制的计算机。控制辅助装置200也可以构成为与多个控制器100进行通信,基于从多个控制器100收集到的信息来辅助各控制器100的控制。如图3所示,控制辅助装置200作为功能块包含单位动作数据库211、恢复处理数据库212、恢复步骤设定部213、恢复步骤数据库214、类别确定部215、恢复步骤确定部216以及恢复程序输出部217。
单位动作数据库211存储有能够用于构成上述机器人恢复动作的多个单位动作。单位动作数据库211可以存储多个单位动作作为表示动作目的的概念信息,例如工件的把持、把持的工件的运送、工件向周边设备50的安装、工件从周边设备50的拆卸、工具向周边设备50的安装、工具从周边设备50的拆卸、工具的把持、把持的工具的运送等,也可以将多个单位任务分别与多个单位动作建立关联地存储。单位动作数据库211所存储的多个单位任务也可以包含与程序存储部111的机器人动作程序所包含的单位任务共同的单位任务。
恢复处理数据库212存储能够用于构成上述恢复处理的多个单位处理。恢复处理数据库212可以存储多个单位处理作为表示处理目的的概念信息,例如初始化、原点恢复等,也可以将多个处理命令分别与多个单位处理建立关联来进行存储。恢复处理数据库212存储的多个处理命令也可以包含与程序存储部111的周边处理程序包含的处理命令共同的处理命令。
恢复步骤设定部213针对在周边设备50中可发生的异常状态的每个类别,基于用户的输入(例如向输入设备226的输入)来设定恢复步骤。恢复步骤为了使由于异常状态的发生而中断的基于动作程序的动作成为能够继续的状态,而包含应该使机器人10执行的恢复步骤(以下,称为“机器人恢复步骤”)以及应使周边设备50执行的恢复步骤(以下,称为“周边恢复步骤”)。机器人恢复步骤包括至少一个单位动作和其执行步骤。周边恢复步骤包含至少一个单位处理和其执行顺序。
恢复步骤数据库214按照异常状态的类别存储恢复步骤设定部213所设定的恢复步骤。类别确定部215至少基于异常状态信息来确定异常状态的类别。这里的类别是在能够导出恢复步骤的等级下表示异常状态的主要原因的信息。作为一例,类别确定部215基于异常状态信息来确定异常状态符合恢复步骤数据库214中的哪一个类别。
恢复步骤确定部216(单位动作确定部)基于由类别确定部215确定的异常状态的类别来确定表示已经确定的机器人10的动作的一个或两个动作以上的单位动作。例如,恢复步骤确定部216基于由类别确定部215确定出的异常状态的类别和恢复步骤数据库214来确定恢复步骤。更具体而言,恢复步骤确定部216在恢复步骤数据库214中确定与异常状态的类别建立关联的恢复步骤。由此,确定机器人恢复步骤所包含的至少一个单位动作,将周边恢复步骤所包含的至少一个单位处理确定为恢复处理。
如此,由于确定与异常状态的类别对应的单位动作和恢复处理,因此类别确定部215确定异常状态的类别相当于在本实施方式中确定单位动作和恢复处理。即,类别确定部215基于异常状态信息,除了异常状态的类别以外,还确定机器人10的一个或两个以上的单位动作,确定周边设备50中的恢复处理。
恢复程序输出部217至少基于异常状态的类别和机器人状态信息,向控制器100输出用于使被中断的基于动作程序的动作成为能够继续的状态的机器人10的恢复程序。例如,恢复程序输出部217将恢复步骤确定部216确定的恢复步骤和从控制器100获取的机器人***1的状态信息发送给模拟器300,从模拟器300获取基于恢复步骤和机器人***1的状态信息生成的恢复程序,并将获取的恢复程序输出到控制器100。
(模拟器)
模拟器300(恢复程序生成部)构成为执行如下处理:当在周边设备50中发生异常状态时,至少获取中断了基于动作程序的与周边设备50联动的一系列的多个动作的机器人10的机器人状态信息;以及至少基于机器人状态信息生成用于使被中断的基于动作程序的动作成为能够继续的状态的机器人10的恢复程序。
模拟器300也可以至少基于机器人状态信息使用机器人10和周边设备50的模拟来生成恢复程序。模拟器300也可以至少基于上述异常状态信息和机器人状态信息,在模拟上再现机器人10和周边设备50的状态,生成恢复程序。模拟器300也可以至少基于上述异常状态的类别和机器人状态信息使用模拟来生成恢复程序。
模拟器300是基于机器人10以及周边设备50的模拟模型进行基于控制器100的控制的模拟的单元模拟器。模拟器300至少与一个控制辅助装置200进行通信,基于控制辅助装置200收集到的信息进行至少一个控制器100的控制的模拟。模拟器300也可以构成为与多个控制辅助装置200进行通信,基于各控制辅助装置200收集到的信息来进行多个控制器100的控制的模拟。
如图4所示,模拟器300作为功能块而具有模拟模型存储部311、空切生成部312、编程部313、干涉***314以及恢复程序输出部315。
模拟模型存储部311存储机器人10的模型数据、周边设备50的模型数据、工件以及工具等模型数据。机器人10的模型数据包含机器人10的配置、构造以及各部尺寸。周边设备50的模型数据包含周边设备50的配置、构造以及各部尺寸等。工件和工具等模型数据包含构造和各部尺寸。
空切(air cut)生成部312基于从控制辅助装置200获取的恢复步骤所包含的至少一个单位动作和机器人状态信息,使用模拟在单位动作之前、之后或者其前后生成机器人10应动作的空切动作。
空切生成部312也可以使用模拟来生成空切动作,以避免机器人10与包含周边设备50的其他物体碰撞。例如,空切生成部312基于机器人***1的状态信息和模拟模型存储部311存储的模型数据,在虚拟空间中再现机器人10和周边设备50的状态的模型,基于该模型生成从前端部16的当前位置和姿势到最初的单位动作的起点(最初的动作命令的目标位置和目标姿势)的空切动作。
另外,在恢复步骤包含多个单位动作的情况下,空切生成部312生成单位动作间的空切动作。例如,空切生成部312生成到先行的单位动作的终点(最后的动作命令的目标位置及目标姿势)和后续的单位动作的起点(最初的动作命令的目标位置及目标姿势)的空切动作。作为空切动作的一例,空切生成部312生成包含按时间顺序排列的多个动作命令的空切任务。各动作命令包含前端部16的目标位置以及目标姿势、向目标位置以及目标姿势的移动速度、以及从当前位置以及当前姿势到目标位置以及目标姿势的插值方式。
作为一个例子,空切生成部312在空切动作的区间中生成能够避免与其他物体的碰撞的经由点,并反复修正空切任务以通过该经由点,直至能够在整个空切任务中避免碰撞。另外,空切作业的生成方法例如也在日本专利第4103057号等中详细地公开。
编程部313基于恢复步骤所包含的至少一个单位动作和空切生成部312生成的空切动作,生成机器人恢复程序。例如,编程部313将与恢复步骤中包含的至少一个单位动作对应的至少一个单位任务、和空切生成部312生成的空切任务连接而生成机器人恢复程序。此外,编程部313基于恢复步骤所包含的恢复处理生成上述周边恢复程序。
干涉***314基于编程部313生成的机器人恢复程序,在模拟中确认机器人10是否与其他物体碰撞。例如,干涉***314通过基于模拟模型存储部311所存储的模型数据的逆运动学运算以及正运动学运算来算出基于机器人恢复程序的机器人10的姿势的推移,确认各姿势有无碰撞。
恢复程序输出部315将组合了由编程部313生成且干涉***314确认为不干涉的机器人恢复程序、和编程部313生成的周边恢复程序的恢复程序输出到控制辅助装置200。恢复程序输出部315可以仅将恢复程序输出到控制辅助装置200,也可以将在恢复程序之后再次开始的动作程序与恢复程序相连的程序输出到控制辅助装置200。
控制辅助装置200将从恢复程序输出部315获取的恢复程序输出到控制器100。与此相应地,控制器100的控制部112基于机器人恢复程序使机器人10相对于周边设备50进行动作,基于周边恢复程序使周边设备50与机器人10联动地执行恢复处理。然后,控制器100使基于动作程序的机器人10以及周边设备50的动作再次开始。
图5是例示基于动作程序的机器人10的动作以及周边设备50的处理的时序图。机器人10的动作包含单位动作R01、R02、R03、R04、R05。左侧的周边设备50的处理包括单位处理M11、M12、M13,单位处理M12与单位动作R04联动地执行。右侧的周边设备50的处理包含单位处理M21、M22、M23、M24,单位处理M22与单位动作R02联动地执行。紧接单位动作R04之后的点P1表示上述可中断点。
例示在图5的单位处理M23的中途(参照点P2)产生异常状态的情况下的控制***2的作用。若在点P2发生异常状态,则控制器100继续机器人10的动作直至点P2之后的作为可中断点的点P1,并使机器人10的动作中断。
然后,通过控制辅助装置200以及模拟器300生成恢复程序,并输出到控制器100。与此相应地,如图6所示,控制器100使机器人执行基于机器人恢复程序的恢复动作R11。与此联动,控制器100基于周边恢复程序使周边设备50执行恢复处理M31。
之后,控制器100从单位动作R05再次开始机器人10的动作,从单位处理M13再次开始左侧的周边设备50的处理,从发生了异常状态的单位处理M23再次开始右侧的周边设备50的处理。
另外,模拟器300也可以构成为,在恢复步骤所包含的单位动作是上述概念信息的情况下,也执行与该单位动作对应的单位任务的生成。另外,模拟器300也可以构成为将所生成的恢复程序与恢复步骤和机器人***1的状态信息建立关联来存储。在该情况下,在恢复步骤与机器人***1的状态信息一致的情况下,能够沿用过去的恢复程序。
(控制***的硬件结构)
图7是例示控制***的硬件结构的框图。如图7所示,控制器100包含电路120。电路120包含至少一个处理器121、内存122、存储器123、通信端口124、驱动器125、输入输出端口126和驱动器127。存储器123是能够由计算机读取的非易失性存储介质(例如闪存)。存储器123存储有程序,该程序用于使控制器100执行如下处理:至少基于程序来控制机器人10;在周边设备50中发生了异常状态的情况下,中断上述一系列的多个动作;获取至少基于由于异常状态的发生而中断了动作的时间点的机器人10的机器人状态信息的恢复程序;以及基于恢复程序使机器人10相对于周边设备50进行动作,以使被中断的基于动作程序的动作成为能够继续的状态。例如,存储器123通过与控制器100的硬件的协作来存储用于构成上述各功能块的程序。
内存122暂时存储从存储器123加载的程序以及处理器121的运算结果等。处理器121通过与内存122协作来执行上述程序,从而构成控制器100的各功能块。通信端口124根据来自处理器121的指令在与控制辅助装置200之间进行网络通信。例如,通信端口124用于获取由上述恢复程序获取部114获取的恢复程序。驱动器125根据来自处理器121的指令驱动机器人10的致动器41、42、43、44、45、46。输入输出端口126根据来自处理器121的指令在与周边设备50之间进行电信号的输入输出。驱动器127根据来自处理器121的指令驱动周边设备50的致动器。
控制辅助装置200包含电路220。电路220包含至少一个处理器221、内存222、存储器223、通信端口224、网络适配器225、输入设备226和显示设备227。存储器223是能够由计算机读取的非易失性存储介质(例如闪存)。存储器223存储有用于使控制辅助装置200执行如下处理的程序:至少获取上述机器人状态信息和上述异常状态信息;至少基于异常状态信息,确定该异常状态的类别;以及至少基于异常状态的类别和机器人状态信息,输出用于使被中断的基于动作程序的动作成为能够继续的状态的机器人10的恢复程序。例如,存储器223存储有用于通过与控制辅助装置200的硬件的协作来构成上述各功能块的程序。
内存222暂时存储从存储器223加载的程序以及处理器221的运算结果等。处理器221通过与内存222协作来执行上述程序,从而构成控制辅助装置200的各功能块。通信端口224根据来自处理器221的指令与控制器100之间进行网络通信。例如,通信端口224用于由上述恢复程序输出部217进行的恢复程序的输出。网络适配器225根据来自处理器221的指令,在与模拟器300之间经由通信网络NW进行通信。输入设备226例如是液晶监视器等。显示设备227例如是键盘等。输入设备226以及显示设备227也可以如所谓的触摸面板那样一体化。输入设备226和显示设备227例如用于由上述恢复步骤设定部213进行的恢复步骤的设定。
模拟器300包含电路320。电路320包含至少一个处理器321、内存322、存储器323和网络适配器324。存储器323是能够由计算机读取的非易失性存储介质(例如硬盘驱动器或闪存)。存储器323存储有用于使模拟器300执行以下处理的程序:在周边设备50中发生了异常状态的情况下,至少获取中断了基于动作程序的与周边设备50联动的一系列的多个动作的机器人10的机器人状态信息;以及至少基于机器人状态信息,生成用于使被中断的基于动作程序的动作成为能够继续的状态的机器人10的恢复程序。例如,存储器323存储有用于通过与模拟器300的硬件的协作构成上述各功能块的程序。
内存322暂时存储从存储器323加载的程序以及处理器321的运算结果等。处理器321通过与内存322协作来执行上述程序,来构成模拟器300的各功能块。网络适配器324根据来自处理器321的指令,在与控制辅助装置200之间经由通信网络NW进行通信。
另外,以上的硬件结构只是一例,能够适当变更。例如模拟器300也可以不必配置于云侧,也可以与控制器100以及控制辅助装置200一起配置于边缘侧。可以将控制辅助装置200组装于控制器100,也可以将控制辅助装置200以及模拟器300组装于控制器100。另外,控制器100、控制辅助装置200以及模拟器300不一定限于通过程序来构成各功能的装置。例如,控制器100、控制辅助装置200以及模拟器300也可以通过专用的逻辑电路或者集成了该逻辑电路的ASIC(Application Specific Integrated Circuit,专用集成电路)来构成至少一部分的功能。
(控制方法)
接着,作为控制方法的一例,例示机器人***1的控制步骤。该控制步骤包含:由控制器100进行的机器人10及周边设备50的控制步骤;由控制辅助装置200进行的恢复程序的生成辅助步骤;由模拟器300进行的恢复程序的生成步骤;以及由控制辅助装置200进行的恢复步骤的设定步骤。以下,详细例示各步骤。
(控制步骤)
由控制器100进行的机器人10以及周边设备50的控制步骤包括:基于程序来至少控制机器人10;在周边设备50中发生了异常状态的情况下,中断上述一系列的多个动作;获取至少基于由于异常状态的发生而中断了动作的时间点的机器人10的机器人状态信息的恢复程序;以及基于恢复程序,使机器人10相对于周边设备50进行动作,以使被中断的基于动作程序的动作成为能够继续的状态。
如图8所示,控制器100首先执行步骤S01、S02、S03。在步骤S01中,控制部112基于机器人10以及周边设备50的状态和机器人动作程序来计算前端部16的目标位置以及目标姿势,通过基于该目标位置以及目标姿势的逆运动学运算来计算致动器41、42、43、44、45、46的目标角度作为上述控制指令。另外,控制部112基于机器人10以及周边设备50的状态和周边设备动作程序来计算针对周边设备50的控制指令。
在步骤S02中,控制部112将与在步骤S01中计算出的控制指令对应的驱动电力向致动器41、42、43、44、45、46输出,将在步骤S01中计算出的控制指令向周边设备50输出。在步骤S03中,中断部113确认是否发生异常状态。例如,中断部113基于从周边设备50获取的状态信息来确认是否发生异常状态。
在步骤S03中判定为未发生异常状态的情况下,控制器100执行步骤S04。在步骤S04中,控制部112确认动作程序的执行是否完成。
在步骤S04中判定为动作程序的执行未完成的情况下,控制器100执行步骤S05。在步骤S05中,控制部112等待控制周期的经过而使处理转移到下一周期的控制。然后,控制器100使处理返回到步骤S01。以后,一边确认异常状态的发生一边继续机器人10以及周边设备50的控制,直至动作程序的执行完成为止。
在步骤S03中判定为发生了异常状态的情况下,控制器100在步骤S11中执行中断处理。之后,控制器100在步骤S12中执行恢复处理后,再次开始步骤S04。稍后将描述中断处理和恢复处理的具体内容。
在步骤S04中判定为动作程序的执行已完成的情况下,控制器100完成机器人10及周边设备50的控制。
图9是例示步骤S11中的中断处理的步骤的流程图。如图9所示,控制器100首先执行步骤S21、S22。在步骤S21中,中断部113将周边设备50中发生异常状态时的下一个到来的上述可中断点作为机器人10的动作的中断点。在步骤S22中,中断部113确认机器人10的动作是否到达中断点。
在步骤S22中判定为机器人10的动作未到达中断点的情况下,控制器100执行步骤S23、S24、S25。在步骤S23中,控制部112等待控制周期的经过而使处理转移到下一周期的控制。在步骤S24中,与步骤S01同样地,控制部112计算机器人10以及周边设备50的控制指令。在步骤S25中,与步骤S02同样地,控制部112将与在步骤S24中计算出的控制指令对应的驱动电力向致动器41、42、43、44、45、46输出,将在步骤S24中计算出的控制指令向周边设备50输出。然后,控制器100使处理返回到步骤S22。
在步骤S22中判定为机器人10的动作已到达中断点的情况下,中断部113使控制部112对机器人10以及周边设备50的控制中断。以上,中断处理完成。
图10是例示步骤S12中的恢复处理的步骤的流程图。如图10所示,控制器100首先执行步骤S31、S32、S33、S34、S35、S36。在步骤S31中,恢复程序获取部114将基于异常状态的发生的机器人10以及周边设备50的动作的中断通知给控制辅助装置200。在步骤S32中,恢复程序获取部114将由于异常状态的发生而机器人10中断了动作的时间点的机器人***1的状态信息发送到控制辅助装置200。在步骤S33中,恢复程序获取部114等待从控制辅助装置200获取基于机器人***1的状态信息而生成的恢复程序。
在步骤S34中,控制部112基于机器人10以及周边设备50的状态和机器人恢复程序来计算前端部16的目标位置以及目标姿势,通过基于该目标位置以及目标姿势的逆运动学运算来计算致动器41、42、43、44、45、46的目标角度作为上述控制指令。另外,控制部112基于机器人10以及周边设备50的状态和周边设备动作程序来计算针对周边设备50的控制指令。在步骤S35中,控制部112将与在步骤S34中计算出的控制指令对应的驱动电力向致动器41、42、43、44、45、46输出,将在步骤S34中计算出的控制指令向周边设备50输出。在步骤S36中,控制部112确认恢复程序的执行是否完成。
在步骤S36中判定为恢复程序的执行未完成的情况下,控制器100执行步骤S37。在步骤S37中,控制部112等待控制周期的经过而转移到下一周期的控制。然后,控制器100使处理返回到步骤S31。以后,继续基于恢复程序控制机器人10以及周边设备50,直至恢复程序的执行完成为止。
在步骤S36中判定为恢复程序的执行已完成的情况下,控制器100完成基于恢复程序的机器人10及周边设备50的控制。以上,恢复处理完成。
(恢复程序的生成辅助步骤)
由控制辅助装置200进行的恢复程序的生成辅助步骤包括:至少获取上述机器人状态信息和上述异常状态信息;至少基于异常状态信息确定该异常状态的类别;以及至少基于异常状态的类别和机器人状态信息输出用于使被中断的基于动作程序的动作成为能够继续的状态的机器人10的恢复程序。
如图11所示,控制辅助装置200执行步骤S41、S42、S43、S44、S45、S46、S47。在步骤S41中,恢复程序输出部217等待机器人10以及周边设备50的动作中断的通知。在步骤S42中,恢复程序输出部217等待接收由于异常状态的发生而机器人10中断了动作的时间点的机器人***1的状态信息。
在步骤S43中,类别确定部215至少基于异常状态信息来确定异常状态的类别。在步骤S44中,恢复步骤确定部216基于由类别确定部215确定出的异常状态的类别和恢复步骤数据库214来确定恢复步骤。
在步骤S45中,恢复程序输出部217将恢复步骤确定部216确定的恢复步骤和从控制器100获取的机器人***1的状态信息发送给模拟器300。在步骤S46中,恢复程序输出部217等待从模拟器300获取基于恢复步骤以及机器人***1的状态信息而生成的恢复程序。在步骤S47中,恢复程序输出部217将从模拟器300获取的恢复程序输出到控制器100。以上,恢复程序的生成辅助步骤结束。
(恢复程序的生成步骤)
由模拟器300进行的恢复程序的生成步骤包括:在周边设备50中发生异常状态的情况下,至少获取中断了基于动作程序的与周边设备50联动的一系列的多个动作的机器人10的机器人状态信息;以及至少基于机器人状态信息生成用于使被中断的基于动作程序的动作成为能够继续的状态的机器人10的恢复程序。
如图12所示,模拟器300首先执行步骤S51、S52、S53、S54、S55。在步骤S51中,空切生成部312等待恢复步骤确定部216确定的恢复步骤和控制辅助装置200对从控制器100获取的机器人***1的状态信息的接收。在步骤S52中,空切生成部312基于机器人***1的状态信息和模拟模型存储部311存储的模型数据,在虚拟空间中再现机器人10和周边设备50的状态。以下,将空切生成部312在虚拟空间中再现的状态称为“再现模型”。
在步骤S53中,空切生成部312基于再现模型生成上述空切动作。在步骤S54中,编程部313基于恢复步骤所包含的至少一个单位动作和空切生成部312生成的空切动作来生成机器人恢复程序。此外,编程部313基于恢复步骤所包含的恢复处理生成上述周边恢复程序。在步骤S55中,干涉***314基于编程部313生成的机器人恢复程序在模拟上确认机器人10是否与其他物体碰撞。
在步骤S55中判定为机器人10与其他物体碰撞的情况下,模拟器300使处理返回到步骤S53,再次执行空切动作的生成。
在步骤S55中判定为机器人10不与其他物体碰撞的情况下,模拟器300执行步骤S56。在步骤S56中,恢复程序输出部315将由编程部313生成并确认为干涉***314不发生干涉的机器人恢复程序、和编程部313生成的周边恢复程序进行组合而得到的恢复程序输出到控制辅助装置200。以上,恢复程序的生成处理完成。
(恢复步骤的设定步骤)
由控制辅助装置200进行的恢复步骤的设定步骤包括:按照异常状态的每个类别,获取机器人10的单位动作的选择输入和周边设备50的单位处理的选择输入;以及基于在选择输入中选择出的单位动作和恢复处理来设定恢复步骤。
如图13所示,控制辅助装置200执行步骤S61、S62、S63、S64、S65、S66。在步骤S61中,恢复步骤设定部213等待输入恢复步骤的设定开始的请求(例如输入到输入设备226)。在步骤S62中,恢复步骤设定部213生成单位动作数据库211所存储的多个单位动作的列表。在步骤S63中,恢复步骤设定部213生成恢复处理数据库212所存储的多个单位处理的列表。
在步骤S64中,恢复步骤设定部213显示恢复步骤的输入画面(例如显示于显示设备227)。输入画面包括:在步骤S61、S62中生成的列表的显示部;指定成为恢复步骤的设定对象的异常状态的类别的输入部;以及一边决定执行顺序一边选择单位动作以及单位处理的输入部。
在步骤S65中,恢复步骤设定部213等待向输入画面的输入内容的登记请求。在步骤S66中,恢复步骤设定部213基于对输入画面的输入内容来设定恢复步骤,将其与输入画面的上述类别建立关联来存储到恢复步骤数据库214中。以上,恢复步骤的设定步骤完成。
(本实施方式的效果)
如以上所说明的那样,机器人***1具备:机器人10;周边设备50,其配置于机器人10的周边;控制部112,其基于程序至少使机器人10动作;中断部113,其当在周边设备50中发生了异常状态时,使基于动作程序的由机器人10进行的与周边设备50联动的一系列的多个动作中断;以及模拟器300,其至少基于由于异常状态的发生而中断了动作的时间点的机器人10的机器人状态信息来生成恢复程序,控制部112基于恢复程序使机器人10相对于周边设备50进行动作,以使被中断的基于动作程序的动作成为能够继续的状态。
根据该机器人***1,在由于异常状态的发生而机器人10的动作中断的情况下,能够基于恢复程序自动地再次开始中断了的动作。另外,还进行基于机器人状态信息的恢复程序的自动生成,因此即使不预先准备很多的恢复程序,也能够从各种异常状态自动恢复。因此,对于从异常状态的迅速的恢复是有效的。
如本实施方式所例示的那样,模拟器300也可以至少基于机器人状态信息,使用机器人10和周边设备50的模拟来生成恢复程序。在该情况下,通过模拟能够生成灵活且可靠性高的恢复程序。
如本实施方式所例示的那样,模拟器300也可以至少基于表示周边设备50的异常状态的异常状态信息和机器人状态信息,在模拟上再现机器人10和周边设备50的状态,从而生成恢复程序。在该情况下,还能够生成可靠性更高的恢复程序。
如在本实施方式中例示的那样,机器人***1也可以还具有至少基于异常状态信息来确定该异常状态的类别的类别确定部215,模拟器300至少基于异常状态的类别和机器人状态信息,使用模拟来生成恢复程序。用于确定异常状态的类别的逻辑即使没有机器人10的动作编程的技能也能够设定。因此,通过将模拟器300和类别确定部215分开,能够将类别确定部215的确定中使用的数据库、逻辑的构建委托给用户,机器人***1的启动变得容易。
如本实施方式所例示的那样,类别确定部215也可以基于异常状态信息,除了异常状态的类别以外,还确定周边设备50中的恢复处理,周边设备50执行恢复处理。在该情况下,周边设备50的动作也能够自动地再次开始。因此,对从异常状态的迅速恢复是更有效的。
如本实施方式所例示的那样,机器人***1还具备恢复步骤确定部216,其基于异常状态的类别确定表示已经确定的机器人10的动作的一个或两个以上的单位动作,模拟器300具有:空切生成部312,其至少基于单位动作和机器人状态信息并使用模拟在单位动作之前、之后或者其前后生成机器人10应动作的空切动作;以及编程部313,其基于单位动作和空切动作生成恢复程序。在该情况下,要求精度的结果是作为单位动作而预先设定,通过利用空切动作将它们之间连接,从而能够以更少的资源生成要求高精度的恢复程序。
如本实施方式所例示的那样,空切生成部312也可以使用模拟生成空切动作,以避免机器人10与包含周边设备50的其他物体碰撞。在该情况下,能够生成可靠性更高的恢复程序。
如本实施方式所例示的那样,模拟器300也可以还具有干涉***314,其基于编程部313生成的恢复程序在模拟上确认机器人10是否与包含周边设备50的其他物体碰撞,控制部112可以基于干涉***314确认为不发生干涉的恢复程序使机器人10动作。在该情况下,恢复程序的可靠性进一步提高。
如本实施方式所例示的那样,动作程序也可以在机器人10的多个动作的一个或两个动作以上之间具有可中断点,中断部113在从周边设备50中发生异常状态时起之后设定的可中断点,使机器人10的多个动作中断。在该情况下,通过将中断动作的时间点的机器人10的状态限制为预先决定的中断点,能够抑制机器人10的动作的中断对机器人***1的输出(工件的生产等)造成的影响。另外,限制中断动作的时间点的机器人10的状态对于容易生成恢复程序也是有效的。
如本实施方式所例示的那样,至少模拟器300也可以经由专用网络或者因特网与配置于配置有机器人10和周边设备50的边缘侧的控制部112进行通信。在该情况下,通过将模拟器300配置在网络上,容易在多个控制部112中共用模拟器300。
以上,对实施方式进行了说明,但本公开不一定限定于上述的实施方式,在不脱离其主旨的范围内能够进行各种变更。
[符号说明]
1……机器人***,10……机器人,50……周边设备,112……控制部,113……中断部,114……恢复程序获取部,200……控制辅助装置,215……类别确定部,216……恢复步骤确定部(单位动作确定部),217……恢复程序输出部,300……模拟器(恢复程序生成部),312……空切生成部,313……编程部,314……干涉***,M31……恢复处理,R01、R02、R03、R04、R05……单位动作。
Claims (17)
1.一种机器人***,包括:
机器人;
周边设备,配置在所述机器人的周边;
控制部,基于程序至少使所述机器人动作;
中断部,当在所述周边设备中发生了异常状态时,使基于动作程序的由所述机器人进行的与所述周边设备联动的一系列的多个动作中断;以及
恢复程序生成部,至少基于由于所述异常状态的发生而中断了动作的时间点的所述机器人的机器人状态信息来生成恢复程序,
所述控制部基于所述恢复程序使所述机器人相对于所述周边设备进行动作,以使被中断的基于所述动作程序的动作成为能够继续的状态。
2.根据权利要求1所述的机器人***,其中,
所述恢复程序生成部至少基于所述机器人状态信息使用所述机器人和所述周边设备的模拟来生成所述恢复程序。
3.根据权利要求2所述的机器人***,其中,
所述恢复程序生成部至少基于异常状态信息和所述机器人状态信息在模拟上再现所述机器人和所述周边设备的状态,从而生成所述恢复程序,所述异常状态信息表示所述周边设备的所述异常状态。
4.根据权利要求3所述的机器人***,还具有:
类别确定部,该类别确定部至少基于所述异常状态信息来确定该异常状态的类别,
所述恢复程序生成部至少基于所述异常状态的类别和所述机器人状态信息使用所述模拟来生成所述恢复程序。
5.根据权利要求4所述的机器人***,其中,
所述类别确定部基于所述异常状态信息来确定所述异常状态的类别和所述周边设备中的恢复处理,
所述周边设备执行所述恢复处理。
6.根据权利要求4或5所述的机器人***,还包括:
单位动作确定部,基于所述异常状态的类别来确定一个或两个以上的单位动作,所述单位动作表示已经确定的所述机器人的动作,
所述恢复程序生成部包括:
空切生成部,至少基于所述单位动作和所述机器人状态信息并使用所述模拟在所述单位动作之前、所述单位动作之后或者其前后生成所述机器人应动作的空切动作;以及
编程部,基于所述单位动作和所述空切动作来生成所述恢复程序。
7.根据权利要求6所述的机器人***,其中,
所述空切生成部使用所述模拟生成所述空切动作,以避免所述机器人与包含所述周边设备的其他物体碰撞。
8.根据权利要求6或7所述的机器人***,其中,
所述恢复程序生成部还具有干涉***,所述干涉***基于所述编程部生成的所述恢复程序在所述模拟上确认所述机器人是否与包含所述周边设备的其他物体碰撞,
所述控制部基于所述干涉***确认为不发生干涉的所述恢复程序使所述机器人动作。
9.根据权利要求1至8中任一项所述的机器人***,其中,
所述动作程序在所述机器人的多个动作的一个或两个动作以上之间具有可中断点,
所述中断部在从所述周边设备中发生了异常状态时起之后设定的所述可中断点使所述机器人的多个动作中断。
10.根据权利要求1至9中任一项所述的机器人***,其中,
至少所述恢复程序生成部经由专用网络或者因特网与控制部进行通信,所述控制部配置于边缘侧,在所述边缘测配置有所述机器人和所述周边设备。
11.一种恢复程序生成装置,包括:
状态信息获取部,当在配置于机器人的周边的周边设备中发生了异常状态时,至少获取中断了基于动作程序的与所述周边设备联动的一系列的多个动作的所述机器人的机器人状态信息;以及
恢复程序生成部,至少基于所述机器人状态信息来生成所述机器人的恢复程序,所述恢复程序用于使被中断的基于所述动作程序的动作成为能够继续的状态。
12.一种控制辅助装置,包括:
状态信息获取部,当在配置于机器人的周边的周边设备中发生了异常状态时,至少获取异常状态信息和中断了基于动作程序的与所述周边设备联动的一系列的多个动作的所述机器人的机器人状态信息,所述异常状态信息表示所述周边设备的所述异常状态;
类别确定部,至少基于所述异常状态信息来确定该异常状态的类别;以及
恢复程序输出部,至少基于所述异常状态的类别和所述机器人状态信息来输出所述机器人的恢复程序,所述恢复程序用于使被中断的基于所述动作程序的动作成为能够继续的状态。
13.一种控制装置,包括:
控制部,基于程序至少使机器人动作;
中断部,当在配置于所述机器人的周边的周边设备中发生了异常状态时,使基于动作程序的由所述机器人进行的与所述周边设备联动的一系列的多个动作中断;以及
恢复程序获取部,获取恢复程序,所述恢复程序是至少基于由于所述异常状态的发生而中断了动作的时间点的所述机器人的机器人状态信息的程序,
所述控制部基于所述恢复程序使所述机器人相对于所述周边设备进行动作,以使被中断的基于所述动作程序的动作成为能够继续的状态。
14.一种程序,使装置执行:
当在配置于机器人的周边的周边设备中发生了异常状态时,至少获取中断了基于动作程序的与所述周边设备联动的一系列的多个动作的所述机器人的机器人状态信息;以及
至少基于所述机器人状态信息生成所述机器人的恢复程序,所述恢复程序用于使被中断的基于所述动作程序的动作成为能够继续的状态。
15.一种程序,使装置执行:
当在配置于机器人的周边的周边设备中发生了异常状态时,至少获取异常状态信息和中断了基于动作程序的与所述周边设备联动的一系列的多个动作的所述机器人的机器人状态信息,所述异常状态信息表示所述周边设备的所述异常状态;
至少基于所述异常状态信息来确定该异常状态的类别;以及
至少基于所述异常状态的类别和所述机器人状态信息来输出所述机器人的恢复程序,所述恢复程序用于使被中断的基于所述动作程序的动作成为能够继续的状态。
16.一种恢复程序的生成方法,包括:
当在配置于机器人的周边的周边设备中发生了异常状态时,至少获取中断了基于动作程序的与所述周边设备联动的一系列的多个动作的所述机器人的机器人状态信息;以及
至少基于所述机器人状态信息生成所述机器人的恢复程序,所述恢复程序用于使被中断的基于所述动作程序的动作成为能够继续的状态。
17.一种恢复程序的输出方法,包括:
当在配置于机器人的周边的周边设备中发生了异常状态时,至少获取异常状态信息和中断了基于动作程序的与所述周边设备联动的一系列的多个动作的所述机器人的机器人状态信息,所述异常状态信息表示所述周边设备的所述异常状态;
至少基于所述异常状态信息来确定该异常状态的类别;以及
至少基于所述异常状态的类别和所述机器人状态信息来输出所述机器人的恢复程序,所述恢复程序用于使被中断的基于所述动作程序的动作成为能够继续的状态。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/019788 WO2020234946A1 (ja) | 2019-05-17 | 2019-05-17 | ロボットシステム、復帰プログラム生成装置、制御支援装置、制御装置、プログラム、復帰プログラムの生成方法及び復帰プログラムの出力方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113874177A true CN113874177A (zh) | 2021-12-31 |
Family
ID=69997951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980096428.1A Pending CN113874177A (zh) | 2019-05-17 | 2019-05-17 | 机器人***、恢复程序生成装置、控制辅助装置、控制装置、程序、恢复程序的生成方法以及恢复程序的输出方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220072703A1 (zh) |
EP (1) | EP3970925A4 (zh) |
JP (1) | JP6658985B1 (zh) |
CN (1) | CN113874177A (zh) |
WO (1) | WO2020234946A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210197368A1 (en) * | 2019-12-31 | 2021-07-01 | X Development Llc | Robot planning for envelope invariants |
JP6898506B1 (ja) | 2020-07-01 | 2021-07-07 | 株式会社安川電機 | 制御システム、ロボットシステム及び制御方法 |
CN115981178B (zh) * | 2022-12-19 | 2024-05-24 | 广东若铂智能机器人有限公司 | 一种鱼类水产宰杀的仿真*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102317044A (zh) * | 2009-02-12 | 2012-01-11 | 三菱电机株式会社 | 产业用机器人*** |
CN104339355A (zh) * | 2013-07-26 | 2015-02-11 | 株式会社安川电机 | 机器人***、机器人***的机器人管理计算机和机器人***的管理方法 |
CN105690395A (zh) * | 2016-04-23 | 2016-06-22 | 韩少卿 | 工业机器人及其控制方法 |
JP2018051686A (ja) * | 2016-09-29 | 2018-04-05 | 川崎重工業株式会社 | ロボット復旧支援装置及びそれを備えるロボットシステム |
CN108289719A (zh) * | 2016-01-20 | 2018-07-17 | 直观外科手术操作公司 | 快速暂停和恢复医疗设备可重新定位臂中的运动偏离的***和方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3276248B2 (ja) * | 1994-08-02 | 2002-04-22 | 株式会社小松製作所 | 異常復帰装置 |
JP4103057B2 (ja) | 1998-06-29 | 2008-06-18 | 株式会社安川電機 | ロボットの動作経路計画方法およびその装置 |
JP4027350B2 (ja) * | 2004-06-29 | 2007-12-26 | ファナック株式会社 | ロボットの待機位置復帰プログラム作成装置 |
JP2012232363A (ja) * | 2011-04-28 | 2012-11-29 | Seiko Epson Corp | ロボット制御システム、ロボットシステム及びプログラム |
CN104812535A (zh) * | 2012-10-11 | 2015-07-29 | Abb技术有限公司 | 自动产生用于将机器人从停止位置返回预设重启位置的无碰撞返回程序的方法和设备 |
US9446517B2 (en) * | 2013-10-17 | 2016-09-20 | Intuitive Surgical Operations, Inc. | Fault reaction, fault isolation, and graceful degradation in a robotic system |
JP6181687B2 (ja) | 2015-03-13 | 2017-08-16 | ファナック株式会社 | 加工により発生した切粉を除去可能な加工機システム |
JP6392819B2 (ja) * | 2016-08-23 | 2018-09-19 | ファナック株式会社 | 製造時間情報により異常検出条件を変更する製造管理システム |
-
2019
- 2019-05-17 WO PCT/JP2019/019788 patent/WO2020234946A1/ja active Application Filing
- 2019-05-17 CN CN201980096428.1A patent/CN113874177A/zh active Pending
- 2019-05-17 JP JP2019545836A patent/JP6658985B1/ja active Active
- 2019-05-17 EP EP19929443.0A patent/EP3970925A4/en active Pending
-
2021
- 2021-11-15 US US17/525,959 patent/US20220072703A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102317044A (zh) * | 2009-02-12 | 2012-01-11 | 三菱电机株式会社 | 产业用机器人*** |
CN104339355A (zh) * | 2013-07-26 | 2015-02-11 | 株式会社安川电机 | 机器人***、机器人***的机器人管理计算机和机器人***的管理方法 |
CN108289719A (zh) * | 2016-01-20 | 2018-07-17 | 直观外科手术操作公司 | 快速暂停和恢复医疗设备可重新定位臂中的运动偏离的***和方法 |
CN105690395A (zh) * | 2016-04-23 | 2016-06-22 | 韩少卿 | 工业机器人及其控制方法 |
JP2018051686A (ja) * | 2016-09-29 | 2018-04-05 | 川崎重工業株式会社 | ロボット復旧支援装置及びそれを備えるロボットシステム |
Also Published As
Publication number | Publication date |
---|---|
JP6658985B1 (ja) | 2020-03-04 |
EP3970925A1 (en) | 2022-03-23 |
EP3970925A4 (en) | 2023-04-19 |
JPWO2020234946A1 (ja) | 2021-06-10 |
US20220072703A1 (en) | 2022-03-10 |
WO2020234946A1 (ja) | 2020-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2993542B1 (en) | Teaching system, robot system, and teaching method | |
CN113874177A (zh) | 机器人***、恢复程序生成装置、控制辅助装置、控制装置、程序、恢复程序的生成方法以及恢复程序的输出方法 | |
JP2004265041A (ja) | ロボット教示装置 | |
JP2014024162A (ja) | ロボットシステム、ロボット制御装置、ロボット制御方法及びロボット制御プログラム | |
JP6754883B1 (ja) | 制御システム、ローカルコントローラ及び制御方法 | |
CN108687767B (zh) | 离线编程装置以及离线编程方法 | |
JP2006099260A (ja) | ロボットプログラム作成装置 | |
US11826913B2 (en) | Control system, robot system and control method | |
JP4625112B2 (ja) | ロボットプログラム作成装置 | |
CN111093911A (zh) | 机器人***及其运行方法 | |
JP7314824B2 (ja) | ロボットシステム、復帰プログラム生成装置、制御支援装置、制御装置、プログラム、復帰プログラムの生成方法及び復帰プログラムの出力方法 | |
JP2010240782A (ja) | ロボット制御システム、制御装置および制御方法 | |
CN115697649A (zh) | 生产***、单元控制器、机器人控制器以及控制方法 | |
CN115697648A (zh) | 控制***和控制方法 | |
JP2019081204A (ja) | ロボット制御方法、制御端末、およびロボットシステム | |
US12042940B2 (en) | Interference check for robot operation | |
JP2021146435A (ja) | ロボットシステム、ロボットシステムで実行される方法および教示データを生成する方法 | |
JP5272447B2 (ja) | 数値制御機械の動作シミュレータ | |
JP7374867B2 (ja) | 制御システム、ローカルコントローラ及び制御方法 | |
JP3991077B2 (ja) | ロボット教示方法およびロボット教示装置 | |
US20230249347A1 (en) | Path planning during execution of robot control | |
JP2001042907A (ja) | シーケンス制御装置 | |
WO2023167324A1 (ja) | 生産システム及び再現方法 | |
JP2022139199A (ja) | 複数の移動機構を制御するシステムおよび方法 | |
JP2001125623A (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 |