CN116572230A - 机器人系统及控制方法 - Google Patents
机器人系统及控制方法 Download PDFInfo
- Publication number
- CN116572230A CN116572230A CN202310141555.7A CN202310141555A CN116572230A CN 116572230 A CN116572230 A CN 116572230A CN 202310141555 A CN202310141555 A CN 202310141555A CN 116572230 A CN116572230 A CN 116572230A
- Authority
- CN
- China
- Prior art keywords
- command
- path
- unit
- robot
- commands
- 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 abstract description 56
- 230000033001 locomotion Effects 0.000 claims description 104
- 238000003860 storage Methods 0.000 claims description 79
- 230000008859 change Effects 0.000 claims description 43
- 230000007613 environmental effect Effects 0.000 claims description 26
- 230000004044 response Effects 0.000 claims description 8
- 238000009499 grossing Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 42
- 238000010586 diagram Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 14
- 238000004088 simulation Methods 0.000 description 8
- 230000009466 transformation Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000005401 electroluminescence Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
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
- 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
-
- 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/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/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled 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
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
- G05B19/41815—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
- G05B19/4182—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell manipulators and conveyor only
-
- 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/39102—Manipulator cooperating with conveyor
-
- 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/40317—For collision avoidance and detection
-
- 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/40515—Integration of simulation and planning
Abstract
本申请涉及机器人系统及控制方法。一种机器人系统包括:调用单元,其被配置为依次调用表示机器人的包括未确定区间的操作路径的多个命令;路径规划单元,其被配置为针对未确定区间生成附加路径;以及控制单元,其被配置为基于由调用单元调用的命令和附加路径来操作机器人,其中路径规划单元被配置为在控制单元基于从多个命令中调用的命令来操作机器人期间,基于机器人的周围环境信息生成附加路径。
Description
技术领域
本公开涉及机器人系统和控制方法。
背景技术
日本特开平2000-20117号公报公开了一种用于规划机器人的运动路径的方法,在该方法中通过利用计算机上的描述机器人和工作环境的几何形状以及它们的布局的几何模型装置和计算机上的用于检查模型之间的干扰的干扰检查装置,当给定机器人的起始布局和目标布局时,工作环境中的机器人和障碍物彼此不干扰。
发明内容
技术问题
本公开提供了一种用于简化操作编程的高效的机器人系统。
技术方案
根据本公开的一个方面的机器人系统包括:调用单元,其被配置为依次调用表示机器人的包括未确定区间的操作路径的多个命令;路径规划单元,其被配置为针对未确定区间生成附加路径;以及控制单元,其被配置为基于由调用单元调用的命令和附加路径来操作机器人,其中路径规划单元被配置为在控制单元基于从多个命令中调用的命令操作机器人期间,基于机器人的周围环境信息生成附加路径。
根据本公开的另一方面的机器人系统包括:调用单元,其被配置为依次调用表示机器人的包括未确定区间的操作路径的多个命令;其中,多个命令包括每个包括操作路径的经由点的信息的多个移动命令和包括未确定区间的到达点的信息的自动命令;路径规划单元,其被配置为基于自动命令和机器人的周围环境信息生成到未确定区间中的到达点的附加路径;以及控制单元,其基于调用单元调用的命令和附加路径操作机器人。
根据本公开的又一方面的任务生成装置包括:命令生成单元,其被配置为基于每个包括机器人的操作路径的经由点的信息的两个或更多个移动命令生成自动命令,自动命令包括到与两个或更多个移动命令相对应的操作的变换操作的到达点的信息;以及任务生成单元,其被配置为基于所生成的自动命令和两个或更多个移动命令生成任务,其中,响应于确定出任务被选择,基于机器人的周围环境信息生成到到达点的附加路径,机器人基于生成的附加路径和两个或更多个移动命令操作。
根据本公开的又一方面的控制方法包括:依次调用表示机器人的包括未确定区间的操作路径的多个命令;针对未确定区间生成附加路径;以及基于调用的命令和附加路径操作机器人,其中在基于从多个命令中调用的命令操作机器人期间,基于机器人的周围环境信息生成附加路径。
技术效果
根据本公开,能够提供用于简化操作编程的高效的机器人系统。
附图说明
图1是例示了机器人系统的示例配置的示意图。
图2是例示了机器人的示例配置的示意图。
图3是例示了控制器的示例功能配置的框图。
图4是例示了多个示例命令的图。
图5是例示了路径规划单元的示例配置的框图。
图6是例示了机器人的操作时段与附加路径的生成时段之间的关系的时序图。
图7是例示了任务储存单元的示例储存内容的示意图。
图8是例示了控制器的变形例的框图。
图9是例示了主机控制器的示例配置的框图。
图10是例示了控制器和主机控制器的示例硬件配置的框图。
图11是例示了示例自动命令放置过程的流程图。
图12是例示了示例任务生成过程的流程图。
图13是例示了示例程序生成过程的流程图。
图14是例示了示例系统控制过程的流程图。
图15是例示了示例命令调用过程的流程图。
图16是例示了示例路径生成过程的流程图。
图17是例示了示例环境改变检查过程的流程图。
图18是例示了机器人基于命令的示例控制过程的流程图。
具体实施方式
在下文中,将参照附图详细描述实施方式。在描述中,相同的元件或具有相同功能的元件由相同的附图标记指代,并且将省略重复的描述。
机器人系统
图1所示的机器人系统1是用于通过包括一个或更多个机器人的多个机器生产工件等的系统。机器人系统1使多个机器执行的事项不限于工件的生产等。作为示例,机器人系统1包括传送器2、多个机器人3和控制系统CS1。
传送器2例如通过电动机等的动力传送工件。传送器2的具体示例包括带式传送器和辊式传送器。多个机器人3中的每一个对由传送器2传送的工件执行操作。对工件的操作的具体示例包括将工件(例如,子部件)组装到传送器2传送的另一个工件(例如,基部部件),将部件紧固(例如,螺栓紧固)和接合(例如,焊接)在传送器2传送的工件中,等等。
图2是例示了机器人3的配置的示意图。图2所示的机器人3是具有基部11、枢转部分12、第一臂13、第二臂14、第三臂17、末端部分18和致动器41、42、43、44、45、46的六轴垂直多关节机器人。基部11放置在传送器2附近。枢转部分12安装在基部11上以绕垂直轴线21枢转。第一臂13连接至枢转部分12,以绕与轴线21交叉(例如,正交)的轴线22摆动并且远离轴线22延伸。交叉包括其中存在诸如所谓的三维交叉之类的绞合关系的情况。这同样适用于以下描述。
第二臂14连接至第一臂13的末端部分以绕与轴线22基本上平行的轴线23摆动且远离轴线23延伸。第二臂14包括臂基部15和臂端部16。臂基部15连接到第一臂13的末端部分。臂端部16连接到臂基部15的末端部分以绕与轴线23交叉(例如,正交)的轴线24枢转,并且沿轴线24在远离臂基部15的方向上延伸。
第三臂17连接到臂端部16的末端部分,以便绕与轴线24交叉(例如,正交)的轴线25摆动。末端部分18连接到第三臂17的末端部分,以绕与轴线25交叉(例如,正交)的轴线26枢转。
如上所述,机器人3包括连接基部11与枢转部分12的关节31、连接枢转部分12与第一臂13的关节32、连接第一臂13与第二臂14的关节33、连接第二臂14中的臂基部15和臂端部16的关节34、连接臂端部16和第三臂17的关节35、以及连接第三臂17和末端部分18的关节36。
致动器41、42、43、44、45、46例如包括电动机和减速器,并且分别驱动关节31、32、33、34、35、36。例如,致动器41使枢转部分12绕轴线21枢转。致动器42使第一臂13绕轴线22摆动。致动器43使第二臂14绕轴线23摆动。致动器44使臂端部16绕轴线24枢转。致动器45使第三臂17绕轴线25摆动。致动器46使末端部分18绕轴线26枢转。
可以适当修改机器人3的具体配置。例如,机器人3可以是在六轴垂直多关节机器人的基础上进一步增加了一个轴关节的七轴冗余机器人,或者可以是所谓的SCARA(Selective Compliance Assembly Robot Arm:选择顺应性组装机器臂)型多关节机器人。
返回图1,控制系统CS1控制包括多个机器人3的多个机器。控制系统CS1被配置为执行:依次调用表示机器人3的包括未确定区间的操作路径的多个命令;针对未确定区间生成附加路径;以及基于调用的命令和附加路径操作机器人3。此外,控制系统CS1被配置为在机器人基于从多个命令调用的命令的操作期间基于机器人的周围环境信息生成附加路径。
操作路径例如表示机器人3的部件(例如,末端部分18)的移动路径。操作路径可以表示末端部分18的位置和姿势的转变。操作路径包括多个区间。多个区间中的每一个位于操作路径的两个经由点之间。多个区间包括多个确定区间和一个或更多个未确定区间。多个确定区间中的每一个是其中确定了两个经由点之间的移动路径(例如,末端部分18的移动路径)的区间。一个或更多个未确定区间中的每一个是其中两个经由点之间的路径未确定的区间。
控制系统CS1基于周围环境信息生成针对未确定区间的附加路径。附加路径表示未确定区间中两个经由点之间的路径。
如果仅预先准备操作路径的对于诸如生产工件之类的操作目的重要的多个局部区间并将其设置为多个确定区间,则通过控制系统CS1补偿其余的未确定区间,从而便于对机器人3的操作示教。
此外,利用控制系统CS1,在机器人3基于多个命令开始操作之后,基于周围环境信息生成附加路径,并且基于生成的附加路径继续机器人3的操作。因此,可以使机器人3对应于周围环境中的变化灵活地执行操作。
在下文中,将更详细地描述控制系统CS1的示例配置。控制系统CS1具有多个控制器100和主机控制器200。多个控制器100基于来自主机控制器200的命令分别控制多个机器人3中的每一个。主机控制器200向多个控制器100中的每一个发送作业命令,以使多个机器人3协作地执行一系列作业。多个控制器100中的每一个基于作业命令控制相应的机器人3。
在基于作业命令的机器人3的控制中,控制器100执行:依次调用多个命令;针对一个或更多个未确定区间中的每一个生成附加路径;以及基于调用的命令和附加路径操作机器人3。在基于一个命令操作机器人3时,控制器100基于周围环境信息生成附加路径。在下文中,将更详细地描述控制器100和主机控制器200的配置。
控制器
图3是例示了控制器100的示例功能配置的框图。如图3所示,控制器100包括作为功能组件(以下称为“功能块”)的调用单元111、路径规划单元112、路径储存单元113和控制单元114。
调用单元111被配置为依次调用表示机器人3的操作路径的多个命令。多个命令可以由控制器100预先存储。例如,控制器100可以预先存储其中多个命令按照它们的执行顺序排列的操作程序。在这种情况下,调用单元111从控制器100中所存储的操作程序中依次取出多个命令。取出意味着读取数据。
多个命令可以从云发送到控制器100。在这种情况下,调用单元111从临时存储从云计算机接收的数据的接收缓冲器中依次取出多个命令。
路径规划单元112被配置为针对未确定区间生成附加路径。当操作路径包括多个未确定区间时,路径规划单元112针对多个未确定区间中的每一个生成附加路径。
作为示例,多个命令包括移动命令和自动命令。多个命令可以包括多个移动命令和一个或更多个自动命令。
移动命令包括关于操作路径的经由点的信息。经由点至少限定末端部分18的位置。经由点可以限定末端部分18的位置和姿态。经由点可以限定关节31、32、33、34、35、36的角度来代替限定末端部分18本身的位置和姿势。确定关节31、32、33、34、35、36的角度也确定了末端部分18的位置和方向。移动命令的经由点可以是由操作人员通过离线示教、在线示教等示教的示教点。
移动命令还可以包括路径指定信息。路径指定信息是用于指定在到达移动命令的经由点的区间中的路径并将该区间设置为确定区间的信息。在下文中,到达移动命令的经由点的区间被称为“移动区间”,并且移动区间的路径被称为“移动区间路径”。例如,路径信息表示用于唯一地确定移动区间路径的路径指定条件。路径指定条件的具体示例包括按照直线的移动区间插值(线性插值)和按照S形曲线的移动区间插值(S形插值)。
一个或更多个自动命令中的每一个包括操作路径的作为未确定区间的到达点的经由点的信息。一个或更多个自动命令中的每一个还可以包括表示用于生成附加路径的生成条件的条件信息。生成条件的具体示例包括稍后要描述的附加命令的路径指定条件、附加路径中的移动速度条件、附加路径中的加速条件、附加路径中的减速条件、末端部分18在附加路径中的姿态条件、以及当周围环境信息不改变时是否允许重用所生成的附加路径的条件。与移动命令的经由点类似,自动命令的经由点可以是由操作人员通过离线示教、在线示教等示教的示教点。
图4是例示了多个命令的图。图4中例示了命令C1、C2、C3、C4、C5、C6、C7、C8、C9。命令C1、C2、C3、C4、C6、C7、C8为移动命令,并且命令C5、C9为自动命令。在图4中,各命令的经由点作为自变量而输入在括号内。
在命令C1、C2、C3、C4、C6、C7、C8中,附接在“Move”之后的一个字母对应于路径信息的示例。例如,“L”表示末端部分18在起点处的位置和姿势以及末端部分18在终点处的位置和姿势是按照直线补偿的。“S”表示末端部分18在起点处的位置和姿势以及末端部分18在终点处的位置和姿势是按照S形曲线补偿的。“J”表示关节31、32、33、34、35、36在起点处的角度和关节31、32、33、34、35、36在终点处的角度是按照直线补偿的。
在命令C5、C9中,“Move”后面的“Auto”表示该命令是自动命令。
如图4所示,根据包括移动命令和自动命令的多个命令,表示包括对应于移动命令的确定区间(移动区间)和对应于自动命令的未确定区间的操作路径。返回参照图3,路径规划单元112针对对应于自动命令的未确定区间生成附加路径。例如,路径规划单元112生成从紧接在自动命令的经由点(到达点)之前的经由点(起点)至到达点的附加路径。在自动命令在多个命令的开头等的情况下,路径规划单元112可以使用机器人3的末端部分18的当前位置作为起点来生成附加路径。
控制单元114被配置为基于调用单元111调用的命令和附加路径来操作机器人3。例如,控制单元114沿着一系列操作路径操作机器人3,所述一系列操作路径包括分别对应于多个移动命令的多个移动区间路径和分别对应于一个或更多个自动命令的一个或更多个附加路径。
控制单元114不需要操作机器人3以完全符合一个或更多个附加路径以及多个移动区间路径中的每一个,而是可以操作机器人3以至少局部地符合一个或更多个附加路径以及多个移动区间路径中的每一个。例如,控制单元114可以至少局部地沿着一个或更多个附加路径和多个移动区间路径中的每一个而不是通过操作路径的一个或更多个经由点来操作机器人3。
当控制单元114正在基于一个命令操作机器人3时,路径规划单元112基于机器人3的周围环境信息生成附加路径。例如,当控制单元114正在基于移动命令操作机器人3时,路径规划单元112基于移动命令之后的自动命令以及周围的环境信息,生成到对应于自动命令的未确定区间中的到达点的附加路径。例如,当控制单元114正沿着对应于移动命令的移动区间路径操作机器人3时,路径规划单元112生成附加路径。当控制单元114正沿着与自动命令之前的作为两个或更多个命令的移动命令相对应的移动区间路径操作机器人3时,路径规划单元112可以生成附加路径。
当控制单元114正基于在前自动命令操作机器人3时,路径规划单元112可以基于后续的自动命令和周围环境信息针对对应于后续自动命令的未确定区间生成附加路径。当控制单元114正基于作为后续自动命令之前的两个或更多个命令的自动命令操作机器人3时,路径规划单元112可以基于后续自动命令和周围环境信息针对对应于后续自动命令的未确定区间生成附加路径。
路径规划单元112可以基于周围环境信息生成定义附加路径的两个或更多个新移动命令。在下文中,定义附加路径的两个或更多个新移动命令被称为“两个或更多个附加命令”。在这种情况下,分别对应于两个或更多个附加命令的两个或更多个移动区间路径连接在一起的路径是附加路径。
例如,如图5所示,路径规划单元112包括模型数据库151、干扰检查单元152和路径生成单元153。模型数据库151存储传送器2和多个机器人3的模型信息。模型数据库151还可以存储多个机器人3的周边物体和传送器2的模型信息。模型信息包括指定结构和尺寸的数值信息。
干扰检查单元152被配置为模拟传送器2和机器人3的操作以验证机器人3不干扰存在于周围环境中的周边物体和机器人自身。例如,干扰检查单元152基于模型数据库151存储的模型信息和环境信息数据库212存储的周围环境信息模拟机器人3基于附加路径的操作,并确认机器人3是否干扰周边物体。干扰是指机器人3在模拟空间中与周边物体交叠。当在模拟空间中发生干扰时,在现实空间中发生机器人3与周边物体之间的碰撞。
干扰检查单元152可以基于包括两个或更多个附加命令的两个或更多个命令来计算由控制单元114生成的一系列控制命令,并且基于计算出的一系列控制命令来模拟机器人3的操作。
路径生成单元153被配置为生成附加路径。例如,路径生成单元153首先用直线对起点和到达点进行插值,以临时生成附加路径,并使干扰检查单元152基于临时生成的附加路径模拟机器人3的动作。作为干扰检查单元152进行模拟的结果,如果确定出机器人3与周边物体之间存在干扰,则路径生成单元153随机生成不干扰周边物体的经由点并将该经由点添加在起点和到达点之间。此后,重复经由点的生成和添加,直到不会由于连接起点、所生成的一个或更多个经由点以及到达点的附加路径而出现机器人3与周边物体之间的干扰。此后,路径生成单元153生成将添加的一个或更多个经由点和到达点作为经由点的两个或更多个附加命令。
如上所述,干扰检查单元152确认机器人3在由路径规划单元112生成的附加路径中不干扰周边物体。因此,当机器人3不干扰周边物体时,控制单元114基于由路径规划单元112生成的附加路径来操作机器人3。
返回图3,路径规划单元112将生成的两个或更多个附加路径存储在路径储存单元113中。例如,路径规划单元112将生成的两个或更多个附加命令存储在路径储存单元113中。路径规划单元112可以使与控制器100通信的模拟装置生成附加路径。例如,路径规划单元112可以通过指定起点和到达点来请求模拟装置生成附加路径。模拟装置一旦接收到生成附加路径的请求,基于周围环境信息生成附加路径。这样,使另一装置基于周围环境信息生成附加路径也被包含在基于周围环境信息生成附加路径中。
当路径储存单元113存储两个或更多个附加命令时,调用单元111依次调用两个或更多个附加命令。控制单元114基于调用单元111调用的两个或更多个附加命令来操作机器人3。例如,控制单元114至少局部地沿着对应于两个或更多个附加命令的两个或更多个移动区间路径中的每一个移动机器人3。
路径规划单元112可以基于自动命令以及基于自动命令和周围环境信息的附加命令生成两个或更多个附加命令。调用单元111例如,路径规划单元112生成从紧接在调用单元111调用的自动命令的经由点(到达点)之前的经由点(起点)至到达点的附加路径。
调用单元111可以将调用的两个或更多个命令存储在命令储存单元115中。调用单元111可以将两个或更多个命令存储在命令储存单元115中,所述命令包括两个或更多个附加命令。例如,当调用单元111调用自动命令时,调用单元111可以基于自动命令从路径储存单元113调用由路径规划单元112存储在路径储存单元113中的两条或更多条附加命令并将附加命令存储在命令储存单元115中。
控制单元114可以基于由命令储存单元115存储的两个或更多个命令来操作机器人3。例如,控制单元114可以基于由命令储存单元115存储的两个或更多个命令生成用于机器人3的一系列控制命令并且基于该一系列控制命令来操作机器人3。例如,控制单元114可以基于命令储存单元中存储的两个或更多个命令生成用于使操作路径平滑的一系列控制命令。例如,控制单元114可以基于命令储存单元115存储的两个或更多命令生成包括加速和减速的一系列速度模式,并且基于该一系列速度模式操作机器人3。例如,控制单元114以预定的控制周期重复执行:通过相对于末端部分18的位置和姿势基于一系列速度模式的逆运动学计算来计算关节31、32、33、34、35、36的目标角度并使关节31、32、33、34、35、36的角度跟随目标角度。
路径规划单元112可以在与紧接在自动命令之前的移动命令相对应的操作完成之前完成了附加路径的生成的定时,开始生成附加路径。例如,路径规划单元112可以基于在移动命令之后的自动命令确定生成附加路径的开始定时,使得在基于移动命令的操作完成之前完成附加路径的生成。例如,路径规划单元112可以在与紧接在自动命令之前的移动命令相对应的操作完成之前,在两个或更多个附加命令可以存储在路径储存单元113中的定时生成附加路径。在下文中,与紧接在自动命令之前的移动命令相对应的操作被称为“在前操作”。
例如,路径规划单元112可以在从在前操作的完成预测定时开始的预定生成裕度时间之前的定时开始附加路径的生成。生成裕度时间被设置为等于或长于生成附加路径所需的时间。生成裕度时间可以被设置为等于或长于生成附加路径所需的时间和生成控制命令所需的时间的总时间。
在前操作的完成预测定时的具体示例包括从在前操作变换到基于自动命令的操作的定时、在从在前操作变换到基于自动命令的操作之前的减速开始定时、等等。
调用单元111可以修改命令储存单元115的尺寸,以改变要存储在命令储存单元115中的命令数量,使得与命令储存单元115中所存储的两个或更多个命令相对应的操作的预期时间长度至少超过(变得长于)由路径规划单元112生成附加路径所需的时间长度。例如,当预期时间短于生成附加路径所需的时间时,调用单元111可以缩短命令的调用周期,并且增加由命令储存单元115所存储的命令数量。
图6是例示了机器人的操作时段与附加路径的生成时段之间的关系的时序图,其中横轴表示时间的流逝。如图6所示,路径规划单元112在作为在前操作的完成预测定时t1之前的生成裕度时间T11的开始定时t2开始生成附加路径。生成裕度时间T11大于或等于附加路径的生成时间T13。因此,如果附加路径的生成在生成裕度时间T11开始,则可以在在前操作完成的完成预测定时t1之前完成附加路径的生成。
在图6中,与由命令储存单元115存储的两个或更多个命令相对应的运动的预期时间T12长于生成裕度时间T11。为此,在取出自动命令之后且在在前操作完成之前存在时间裕度,并且可以在开始定时t2开始生成附加路径,开始定时t2是在完成预测定时t1之前的生成裕度时间T11。
如果预期时间T12比生成裕度时间T11短,则在完成预测定时t1之前不能充分确保附加路径的生成时间,这是因为作为完成预测定时t1之前的生成裕度时间T11的开始定时t2在获取自动命令的定时处已经是过去时间。为了避免这种情况,调用单元111改变要存储在命令储存单元115中的命令数量,使得预期时间T12长于生成裕度时间T11。
返回参照图3,当自动命令包括条件信息时,路径规划单元112可以进一步基于条件信息生成附加路径。例如,路径规划单元112可以基于周围环境信息生成附加路径,使得附加路径满足由条件信息表示的生成条件。
除了移动命令和自动命令之外,多个命令还可以包括用于移位经由点的移位命令。当调用单元111在移位命令之后调用自动命令时,路径规划单元112生成到达通过基于移位命令移位自动命令的经由点(到达点)而获得的移位到达点的附加路径。多个命令还可以包括用于关闭通过移位命令移位经由点的移位停止命令。当调用单元111在移位命令之后且移位停止命令之前调用自动命令时,路径规划单元可以生成到达通过基于移位命令移位自动命令的到达点而获得的移位到达点的附加路径。
控制器100还可以包括任务储存单元121和任务选择单元123。任务储存单元121存储每个包括两个或更多个移动命令的多个任务。任务选择单元123被配置为从任务储存单元121存储的多个任务中选择一个任务。
如果控制器100包括任务储存单元121和任务选择单元123,则调用单元111可以从由任务选择单元123选择的一个任务中依次调用两个或更多个命令。调用单元111可以在调用由任务选择单元123选择的一个任务中所包括的移动命令之前调用自动命令。例如,调用单元111可以在调用由任务选择单元123所选择的一个任务的第一个移动命令之前调用自动命令。任务选择单元123可以在由调用单元111调用包括于先前所选择的任务中的两个或更多个命令的定时选择下一个任务。
任务储存单元121可以预先存储多个任务,或者可以根据需要从主机装置(例如,云计算机等)获取多个任务并存储所获取的多个任务。任务选择单元123可以从任务储存单元121中所存储的多个任务中以预定次序选择一个任务,或者可以基于机器人3的周围环境信息自主地选择适合周围环境的任务。
如果任务选择单元123以预定次序从多个任务中选择一个任务,则控制器100还可以包括流信息获取单元127和流储存单元122。流信息获取单元127基于对用户界面的用户输入等获取多个任务的执行次序,并将执行次序存储在流储存单元122中。任务选择单元123按照流储存单元122所存储的执行次序从多个任务中选择一个任务。
多个任务中的至少一个可以包括在两个或更多个移动命令之前的自动命令。例如,每个任务可以包括在两个或更多个移动命令之前的自动命令。图7是示意性地例示了任务储存单元121的存储内容的图。在图7中,任务储存单元121存储多个任务141。多个任务141中的每一个包括两个或更多个移动命令以及自动命令,并且自动命令排列在两个或更多个移动命令之前(例如,开头)。以此方式,当多个任务中的每一个任务包括自动命令时,调用单元111从任务选择单元123所选择的一个任务调用自动命令。
返回图3,控制器100还可以包括自动命令放置单元124。当通过一个任务中的移动命令定义了第一经由点(所述一个任务的起点)时,自动命令放置单元124向该任务中添加包括所述一个任务的起点作为到达点的自动命令。自动命令放置单元124可以用自动命令代替定义了第一经由点的移动命令。代替是添加的示例。自动命令放置单元124可以将自动命令插入到定义第一经由点的移动命令之前。插入也是添加的示例。例如,自动命令放置单元124可以将定义第一经由点的自动命令插入到定义第一经由点的移动命令之前。利用自动命令放置单元124,可以将不包括自动命令的现有任务转换为包括自动命令的任务并加以利用。
如图8所示,控制器100还可以包括命令生成单元131和任务生成单元132。命令生成单元131被配置为基于指定了两个或更多个移动命令的任务信息,生成要在两个或更多个移动命令之前执行的自动命令。例如,命令生成单元131可以基于对用户界面的用户输入而获得任务信息。例如,基于两个或更多个移动命令,命令生成单元131指定到与两个或更多个移动命令相对应的操作的变换操作中的到达点(任务起点),并生成包括指定的到达点的信息的自动命令。
任务生成单元132被配置为基于生成的自动命令和任务信息来生成任务。例如,任务生成单元132通过将命令生成单元131生成的自动命令插入到由任务信息指定的两个或更多个移动命令之前,来生成任务。利用命令生成单元131和任务生成单元132,可以简化包括自动命令的任务生成操作。另外,可以防止由于遗漏自动命令安排而导致的任务之间的操作失败。
调用单元111可以被配置为响应于确定出调用的移动命令定义了起点,将从所选择的一个任务的两个或更多个移动命令调用的移动命令解释为包括所选择的一个任务的起点作为到达点的自动命令。例如,调用单元111可以读取定义了第一经由点的移动命令作为以第一经由点作为到达点的自动命令。在这种情况下,可以在保留不包含自动命令的现有任务而不进行重写的情况下,在一个任务之前补偿附加路径。
返回图3,控制器100还可以包括环境变化检查单元125。环境变化检查单元125被配置为检查在路径规划单元112基于周围环境信息生成附加路径前后周围环境信息中是否存在变化。例如,环境变化检查单元125可以在已经参考周围环境信息生成附加路径之后检查周围环境信息中是否存在变化。例如,环境变化检查单元125基于主机控制器200的环境信息数据库212(稍后描述)所存储的周围环境信息,确认在周围环境信息中是否存在变化。
作为示例,环境变化检查单元125通过环境标志来表示周围环境信息中存在或不存在变化。例如,当路径规划单元112生成附加路径时,环境变化检查单元125“关闭”环境标志并从环境信息数据库212获得周围环境信息。在下文中,将此定时获取的周围环境信息称为“参考信息”。此后,当环境信息数据库212中的周围环境信息被更新时,环境变化检查单元125将更新后的周围环境信息与参考信息进行比较,并在识别到更新后的周围环境信息与参考信息之间的差异时将环境标志从“关闭”改变为“开启”。
周围环境信息可以包括不影响机器人3沿着附加路径的操作的项目。环境变化检查单元125可以仅基于周围环境信息中的被预先指定为可能影响机器人3沿着附加路径的操作的项目的项目,来检查周围环境信息中是否存在变化。
如果在路径规划单元112生成附加路径前后周围环境信息中不存在变化,则控制单元114可以基于附加路径来操作机器人3。例如,控制单元114可以在基于附加路径操作机器人3之前检查环境标志并且如果环境标志为“关闭”则基于附加路径操作机器人3。
如果在路径规划单元112生成附加路径前后在周围环境信息中存在变化,则控制单元114可以停止机器人3基于附加路径的操作。例如,控制单元114可以在机器人3基于附加命令的操作之前检查环境标志,并且如果环境标志为“开启”则清除命令储存单元115的内容。因此,由于没有生成在所生成的速度模式之后的速度模式,所以在基于所生成的速度模式的操作完成时,机器人3的操作可以临时停止。
如果在路径规划单元112生成附加路径前后在周围环境信息中存在变化,则路径规划单元112可以基于变化后的周围环境信息重新生成附加路径。例如,当控制单元114识别出环境标志为“开启”时,路径规划单元112可以基于与附加命令相对应的自动命令和变化后的周围环境信息来重新生成附加路径。例如,路径规划单元112将两个或更多个重新生成的附加命令存储在路径储存单元113中。之后,调用单元111依次读取重新生成的两个或更多个附加命令并将其存储在命令储存单元115中。当两个或更多个重新生成的附加命令存储在被清空的命令储存单元115中时,机器人3的操作恢复。
可以在机器人3至少基于多个命令开始操作之后生成附加路径。路径规划单元112可以在紧接在自动命令的经由点之前的经由点被确定的定时立即生成附加路径。
在紧接在自动命令的经由点之前的经由点被确定的定时立即生成附加路径的情况下,存在从生成附加路径到机器人3基于附加路径的操作开始的等待时间变长的可能性。当在等待时间内重新生成附加路径时,可以在不停止机器人3的操作的情况下通过重新生成的附加路径继续机器人3的操作。当等待时间中有裕度时,环境变化检查单元125可以每当重新生成附加路径时检查周围环境信息是否变化,并且路径规划单元112可以每当周围环境信息变化时重新生成附加路径。
控制器100还可以包括状态发送单元126。状态发送单元126基于控制单元114对机器人3的控制结果,向主机控制器200发送指示机器人3的状态的状态信息。状态信息包括例如关节31、32、33、34、35、36的当前角度。
主机控制器
图9是例示了主机控制器200的配置的框图。如图9所示,主机控制器200包括作为功能块的信息收集单元211、环境信息数据库212、系统控制单元213和程序储存单元214。信息收集单元211被配置为收集周围环境信息,并且将其存储在环境信息数据库212中。
信息收集单元211被配置为至少在路径规划单元112生成附加路径前后更新周围环境信息。例如,信息收集单元211以预定更新周期重复收集周围环境信息,并将收集结果按时间序列累积在环境信息数据库212中。例如,信息收集单元211可以基于从控制器100的状态发送单元126接收到的状态信息来收集周围环境信息,并且还可以基于诸如摄像头之类的环境传感器4(参见图1)来收集周围环境信息。
程序储存单元214存储用于使多个机器人3协同执行一系列任务的预定系统程序。例如,系统程序包括用于多个机器人3中的每一个的一系列作业命令。系统程序可以包括针对一系列作业命令中的至少一个的输出条件。
系统控制单元213被配置为向多个机器人3中的每一个输出作业命令,使多个机器人3协同地执行一系列作业。例如,系统控制单元213基于系统程序向多个机器人3的每一个依次输出一系列作业命令。当针对一系列作业命令中的任何作业命令定义输出条件时,系统控制单元213在环境信息数据库212的周围环境信息满足输出条件时,输出对应于输出条件的作业命令。
作业命令的具体示例包括执行上述多个任务中的任意一个的命令、按照流储存单元122存储的执行次序执行多个任务的命令、等等。
图10是例示了控制器100和主机控制器200的示例硬件配置的框图。控制器100包括电路190。电路190包括一个或更多个处理器191、存储器192、储存器193、通信端口194、驱动器电路195和用户界面196。储存器193是非易失性储存介质并且存储用于使控制器100执行控制方法的程序,该控制方法包括:依次调用多个命令;生成附加路径;以及基于调用的命令和附加路径来操作机器人3,该控制方法在机器人3基于一个命令操作时基于周围环境信息生成附加路径。例如,储存器193存储用于配置控制器100中的上述功能块的程序。储存器193可以是诸如闪存或硬盘之类的内置储存介质,或者可以是诸如USB闪存驱动器或光盘之类的便携式储存介质。
存储器192临时存储从储存器193加载的程序。存储器192的具体示例包括随机存取存储器。一个或更多个处理器191通过执行加载到存储器192中的程序来配置上述每个功能块。一个或更多个处理器191将计算结果适当地存储在存储器192中。
通信端口194是用于控制的同步通信的通信端口,并且基于来自一个或更多个处理器191的请求与主机控制器200通信。驱动器电路195基于来自一个或更多个处理器191的请求向致动器41、42、43、44、45、46提供驱动电力。用户界面196基于来自一个或更多个处理器291的请求与用户通信。例如,用户界面196包括显示装置和输入装置。显示装置的具体示例包括液晶显示器和有机电致发光(EL)显示器。输入装置的具体示例包括键盘、鼠标和小键盘。输入装置可以与显示装置集成为所谓的触摸面板。
主机控制器200包括电路290。电路290包括一个或更多个处理器291、存储器292、储存器293、通信端口294、输入/输出端口295和通信端口296。储存器293是非易失性储存介质,并且存储用于配置主机控制器200中的上述各功能块的程序。储存器293可以是诸如闪存或硬盘之类的内置储存介质,或者可以是诸如USB闪存驱动器或光盘之类的便携式储存介质。
存储器292临时存储从储存器293加载的程序。存储器292的具体示例包括随机存取存储器。一个或更多个处理器291通过执行加载到存储器292中的程序来配置上述每个功能块。一个或更多个处理器291将计算结果适当地存储在存储器292中。
通信端口296是用于控制的同步通信的通信端口,并且基于来自一个或更多个处理器291的请求与控制器100通信。输入/输出端口295基于来自一个或更多个处理器291的请求从环境传感器4等获取信息。通信端口294是用于与控制的同步通信不同的系统通信的通信端口。
上述硬件配置仅是示例并且可以适当地改变。例如,控制系统CS1不一定必须分为控制器100和主机控制器200。例如,控制器100可以合并到主机控制器200中。除了控制器100和主机控制器200之外,控制系统CS1还可以包括上述模拟装置。在这种情况下,控制器100可以被配置为使得模拟装置基于周围环境信息生成附加路径。
控制过程
接下来,作为控制方法的一例,将具体描述由控制系统CS1执行的控制过程。该过程包括依次调用多条命令,生成附加路径、以及基于命令和附加路径操作机器人3,并且当基于一条命令操作机器人3时基于命令和周围环境信息生成附加路径。控制系统CS1的控制过程可以包括由控制器100执行的任务生成过程、自动命令放置过程和程序生成过程、由主机控制器200执行的系统控制过程、以及由控制器100执行的命令调用过程、环境变化检查过程和机器人控制过程。在下文中,将详细描述每个过程。
自动命令放置过程
如图11所示,控制器100执行步骤S01、S02和S03。在步骤S01中,自动命令放置单元124从任务储存单元121所存储的多个任务中选择不包括自动命令的一个任务。在步骤S02中,如果通过一个任务的移动命令定义了第一经由点,则自动命令放置单元124用自动命令代替定义第一经由点的移动命令。自动命令放置单元124可以将自动命令插入到定义第一经由点的移动命令之前。
在步骤S03中,自动命令放置单元124检查是否已经针对不包括自动命令的所有任务放置了自动命令。如果在步骤S03中确定出仍然存在不包括自动命令的任务,则控制器100将处理返回到步骤S01。如果在步骤S03中确定出已经针对不包括自动命令的所有任务放置了自动命令,则控制器100完成处理。
任务生成过程
如图12所示,控制器100执行步骤S11、S12、S13和S14。在步骤S11中,命令生成单元131获取指定两个或更多个移动命令的任务信息。命令生成单元131可以从用户界面196获得任务信息。
在步骤S12中,命令生成单元131基于获取的任务信息生成要在两个或更多个移动命令之前执行的自动命令。例如,基于两个或更多个移动命令,命令生成单元131生成包括到与两个或更多个移动命令对应的操作的变换操作中的到达点(任务的起点)的信息的自动命令。
在步骤S13中,任务生成单元132基于所生成的自动命令和任务信息生成任务。例如,任务生成单元132通过将由命令生成单元131生成的自动命令插入到由任务信息指定的两个或更多个移动命令之前来生成任务。在步骤S14中,任务生成单元132将生成的任务存储在任务储存单元121中。这完成了任务生成过程。
程序生成过程
如图13所示,控制器100执行步骤S21和S22。在步骤S21中,流信息获取单元127获取多个任务的执行次序。在步骤S22中,流信息获取单元127将执行次序存储在流储存单元122中。这样就完成了机器人3的操作程序的生成。
系统控制过程
如图14所示,主机控制器200执行步骤S31、S32和S33。在步骤S31中,系统控制单元213基于程序储存单元214内的系统程序,指定接下来要向控制器100输出的作业命令。在下文中,所指定的作业命令称为待输出作业命令。在步骤S32中,信息收集单元211收集周围环境信息,将时间信息添加到所收集的周围环境信息的集合中,并将周围环境信息存储在环境信息数据库212中。在步骤S33中,系统控制单元213检查是否向待输出作业命令赋予输出条件。
如果在步骤S33中确定了为待输出作业命令赋予输出条件,则主机控制器200执行步骤S34。在步骤S34中,系统控制单元213检查周围环境信息是否满足输出条件。如果在步骤S34中确定周围环境信息不满足输出条件,则主机控制器200执行步骤S35。在步骤S35中,信息收集单元211等待更新周期过去。主机控制器200然后返回到步骤S32。此后,在每个更新周期重复收集周围环境信息,直到周围环境信息满足输出条件。
如果在步骤S34中确定出周围环境信息满足输出条件,则主机控制器200执行步骤S36和S37。在步骤S33中,如果确定出不为待输出作业命令赋予输出条件,则主机控制器200执行步骤S36和S37。在步骤S36中,系统控制单元213向控制器100发送待输出作业命令。在步骤S37中,系统控制单元213等待更新周期过去。控制器100然后返回到步骤S31。主机控制器200重复执行以上处理。
命令调用过程
如图15所示,控制器100首先执行步骤S41、S42和S43。在步骤S41中,任务选择单元123从任务储存单元121中存储的多个任务中选择一个任务。例如,任务选择单元123按照流储存单元122所存储的执行次序从多个任务中选择一个任务。在步骤S42中,调用单元111从一个任务中调用一个命令。在步骤S43中,调用单元111检查该一个命令是否是移动命令。
如果在步骤S43中确定该一个命令不是移动命令,则控制器100执行步骤S44。在步骤S44中,调用单元111检查该一个命令是否是自动命令。如果在步骤S44中确定出该一个命令不是自动命令,则控制器100使处理返回到步骤S42。
如果在步骤S44中确定出该一个命令是自动命令,则控制器100执行步骤S45、S46和S47。在步骤S45中,路径规划单元112等待附加路径的生成开始定时。例如,路径规划单元112等待从在前操作的完成预测定时开始的预定生成裕度时间之前的定时。在步骤S46中,路径规划单元112生成从紧接在自动命令的到达点之前的经由点(起点)到自动命令的到达点的附加路径,并将所生成的附加路径存储在路径储存单元中113。在步骤S47中,环境变化检查单元125将环境标志设置为“关闭”(或清除环境标志)。
接下来,控制器100执行步骤S53。在步骤S53中,路径规划单元112将调用单元111的命令调用目的地从任务储存单元121改变到路径储存单元113。控制器100然后返回到步骤S42。在步骤S42中,从路径储存单元113调用命令。
如果在步骤S43中确定出一个命令是移动命令,则控制器100执行步骤S54和S55。在步骤S54中,调用单元111将调用的命令存储在命令储存单元115中。在步骤S55中,调用单元111检查调用的命令是否为附加命令。
如果在步骤S55中确定出调用的命令是附加命令,则控制器100执行步骤S56。在步骤S56中,调用单元111检查是否已经调用了路径储存单元113中存储的所有附加命令。
如果在步骤S56中确定出已经调用了所有附加命令,则控制器100执行步骤S57。在步骤S57中,调用单元111将命令的调用目的地从路径储存单元113改变为任务储存单元121。
接下来,控制器100执行步骤S58。如果在步骤S56中确定出仍存在尚未被调用的附加命令,则控制器100执行步骤S57而不执行步骤S58。如果在步骤S55中确定出调用的命令不是附加命令,则控制器100执行步骤S56而不执行步骤S57和S58。在步骤S58中,调用单元111检查是否已经调用了一个任务中所包括的所有命令。
如果在步骤S58中确定出在该一个任务中仍存在尚未被调用的命令,则控制器100使处理返回到步骤S42。结果,从该一个任务中继续调用命令。如果在步骤S58中确定出已经调用了该一个任务中包括的所有命令,则控制器100使处理返回到步骤S41。因此,选择下一个任务。控制器100重复执行上述过程。在图15中,省略了其中多个命令是既不是移动命令也不是自动命令的命令(例如,上述的移位命令)的情况中的处理。当多个命令包括既不是移动命令也不是自动命令的命令时,适当地添加用于该命令的处理。
图16是例示了在步骤S46中生成附加路径的过程的流程图。如图16所示,控制器100首先执行步骤S92和S93。在步骤S92中,路径规划单元112通过对起点和到达点进行线性插值来暂时生成附加路径。在步骤S93中,干扰检查单元152基于附加路径模拟机器人3的运动,并检查机器人3与周边物体之间是否存在干扰。
如果在步骤S93中确定出存在干扰,则控制器100执行步骤S94。在步骤S94中,路径规划单元112随机地生成不干扰周边物体的经由点,将该经由点插入到起点和到达点之间,并校正附加路径。控制器100然后返回到步骤S93。之后,重复经由点的生成和添加,直到不会发生由于附加路径导致机器人3与周边物体之间的干扰为止。
如果在步骤S93中确定出不存在干扰,则控制器100执行步骤S95。在步骤S95中,路径规划单元112生成具有所添加的一个或更多个经由点和终点作为经由点的多个附加命令。这样,路径生成过程完成。
环境变化检查过程
如图17所示,控制器100执行步骤S61和S62。在步骤S61中,环境变化检查单元125从环境信息数据库212获取周围环境信息作为参考信息。在步骤S62中,环境变化检查单元125检查在上述命令调用过程中是否清除了环境标志。
如果在步骤S62中确定出没有清除环境标志,则控制器100执行步骤S63。在步骤S63中,确认环境标志的更新周期是否已经过去。如果在步骤S63中确定出更新周期还没有过去,则控制器100将处理返回到步骤S62。此后,重复步骤S62和S63,直到环境标志被清除或更新周期已经过去。
如果在步骤S63中确定出更新周期已经过去,则控制器100执行步骤S64和S65。在步骤S64中,环境变化检查单元125从环境信息数据库212获得周围环境信息。在步骤S65中,环境变化检查单元125将在步骤S64中获取的周围环境信息与参考信息进行比较,并确认在周围环境信息中是否存在变化。
如果在步骤S65中确定出在周围环境信息中不存在变化,则控制器100将处理返回到步骤S62。如果在步骤S65中确定出在周围环境信息中存在变化,则控制器100执行步骤S66。在步骤S66中,环境变化检查单元125将环境标志从“关闭”改变为“开启”。控制器100然后返回到步骤S62。
如果在步骤S62中确定出已经清除了环境标志,则控制器100执行步骤S67。在步骤S67中,环境变化检查单元125从环境信息数据库212获取周围环境信息,并用获取的周围环境信息更新参考信息。控制器100然后返回到步骤S62。此后,在响应于清除环境标志而更新参考信息的同时,针对每个更新周期重复检查周围环境信息中存在或不存在变化。
机器人控制过程
如图18所示,控制器100首先执行步骤S71和S72。在步骤S71中,控制单元114从命令储存单元115读取一个命令。在步骤S72中,控制单元114检查该一个命令是否是附加命令。
如果在步骤S72中确定该一个命令不是附加命令,则控制器100执行步骤S74和S75。在步骤S74中,控制单元114基于包括一个命令和一个或更多个先前读取的命令在内的两个或更多个命令,生成一系列控制命令(例如,速度模式)。在步骤S75中,控制单元114基于在步骤S74中生成的一系列控制命令,开始控制机器人3。控制器100然后返回到步骤S71。
如果在步骤S72中确定该一个命令是附加命令,则控制器100执行步骤S73。在步骤S73中,控制单元114检查环境标志是否关闭。如果在步骤S73中确定环境标志关闭,则控制器100使处理前进到步骤S74。
如果在步骤S73中确定环境标志“开启”,则控制器100执行步骤S81、S82和S83。在步骤S81中,控制单元114清除(擦除)命令储存单元115的内容。在步骤S82中,路径规划单元112基于周围环境信息等待与附加命令相对应的自动命令的定时。在步骤S82中,路径规划单元112重新生成从紧接在自动命令的到达点之前的经由点(起点)到自动命令的到达点的附加路径,并将所生成的附加路径存储在路径储存单元中113。在步骤S83中,环境变化检查单元125将环境标志设置(清除)为“关闭”。
接下来,控制器100执行步骤S86。在步骤S86中,路径规划单元112将调用单元111的命令的调用目的地从任务储存单元121改变为路径储存单元113。结果,重新生成的两个或更多个附加命令在上述命令调用过程中由调用单元111依次调用并且存储在命令储存单元115中。控制器100然后返回到步骤S71。控制器100重复执行以上处理。
总结
机器人系统1包括:调用单元111,其被配置为依次调用表示机器人3的包括未确定区间的操作路径的多个命令;路径规划单元112,其被配置为针对未确定区间生成附加路径;以及控制单元114,其被配置为基于由调用单元111调用的命令以及附加路径来操作机器人3。路径规划单元112被配置为当控制单元114正在基于一个命令操作机器人3时,基于机器人3的周围环境信息生成附加路径。
在该机器人系统1中,在机器人3基于多个命令开始操作之后基于周围环境信息生成附加路径,并且基于生成的附加路径继续机器人3的操作。因此,可以使机器人3与周围环境中的变化、作业内容的变化、作业过程的变化等相对应地灵活执行操作。在下文中,将在机器人3基于多个命令开始操作之后生成附加路径称为“在线路径生成”。
多个命令可以包括具有操作路径的经由点的信息的移动命令和包括操作路径的作为未确定区间的到达点的经由点的信息的自动命令。当控制单元114正基于移动命令操作机器人3时,路径规划单元112可以基于移动命令之后的自动命令和周围环境信息生成到未确定区间中的到达点的附加路径。可以容易地指定机器人3按照预定操作路径而操作的区间和机器人3按照由路径规划单元112生成的附加路径操作的区间。现有机器人3的操作程序可以通过列出包括移动命令的多个命令来描述。在基于自动命令和周围环境信息生成附加路径的配置中,可以通过使用现有的操作程序容易地生成包括在线路径生成的操作程序。
机器人系统1还可以包括:任务储存单元121,其被配置为存储每个包括两个或更多个移动命令的多个任务;以及任务选择单元123,其被配置为从任务储存单元121中存储的多个任务中选择一个任务。调用单元111可以在调用由任务选择单元123选择的一个任务中所包括的移动命令之前调用自动命令。可以基于多个单独生成的任务容易地操作机器人3。
任务中的至少一个可以包括在两个或更多个移动命令之前的自动命令。调用单元111可以从由任务选择单元123所选择的一个任务中调用自动命令。基于多个单独生成的任务,能够更容易地操作机器人3。
机器人系统1可以包括:命令生成单元131,其被配置为基于指定两个或更多个移动命令的任务信息生成要在两个或更多个移动命令之前执行的自动命令;任务生成单元132,其被配置为基于生成的自动命令和任务信息生成任务。能够简化包括自动命令的任务生成操作。此外,可以防止由于遗漏自动命令放置而导致的任务之间的操作失败。
机器人系统1还可以包括自动命令放置单元124,其被配置为当通过一个任务中的移动命令定义了第一经由点时,用自动命令代替定义第一经由点的移动命令或者将自动命令插入在定义第一经由点的移动命令之前。没有自动命令的现有任务能够容易地转换为包括自动命令的任务。
当通过一个任务中的移动命令定义了第一经由点时,调用单元111可以读取定义了第一经由点的移动命令作为将第一经由点作为到达点的自动命令。可以在保留不包括自动命令的现有任务而不重写的同时使用在线路径生成。
路径规划单元112可以生成从紧接在到达点之前的经由点至到达点的附加路径。通过将紧接之前的经由点设置为起点,不必通过自动命令确定起点,因此能够简化自动命令。
多个命令可以包括用于移位经由点的移位命令。当调用单元111在移位命令之后调用自动命令时,路径规划单元112可以生成到通过基于移位命令移位自动命令的经由点而获得的移位到达点的附加路径。通过使移位命令也适用于自动命令,能够进一步简化操作编程。
路径规划单元112可以在与紧接在自动命令之前的移动命令相对应的操作完成之前在完成附加路径的生成的定时开始生成附加路径。在这种情况下,可以减少机器人3为了等待附加路径的生成而停止的状态并且更顺畅地操作机器人3。
路径规划单元112可以基于周围环境信息生成定义附加路径的两个或更多个新移动命令。能够简化用于生成附加路径的操作。
在调用单元111调用自动命令之后,路径规划单元112可以基于自动命令和周围环境信息生成定义附加路径的两个或更多个新移动命令。调用单元111可以将两个或更多个命令存储在命令储存单元115中,两个或更多个命令包括两个或更多个新移动命令。控制单元114可以基于命令储存单元115存储的两个或更多个命令操作机器人3。通过基于命令储存单元115存储的两个或更多命令操作机器人3,能够减少机器人3停止以等待下一个命令的状态并且能够更顺畅地操作机器人3。如上所述,通过将在线路径生成的结果与基于命令储存单元115存储的两个或更多个命令来操作机器人3的机制相结合,可以平滑地连接基于移动命令的路径信息的操作区间和基于附加路径的操作区间,并且更顺畅地操作机器人3。
控制单元114可以基于命令储存单元115存储的两个或更多个命令生成用于机器人3的一系列控制命令并且基于该一系列控制命令操作机器人3。能够更顺畅地操作机器人3。
调用单元111可以改变要存储在命令储存单元115中的命令的数量,使得与命令储存单元115中存储的两个或更多个命令相对应的操作的预期时间至少长于由路径规划单元112生成附加路径所需的时间。可以进一步减少机器人3停止以等待生成附加路径的状态,并且更顺畅地操作机器人3。
自动命令可以包括指示当基于周围环境信息生成附加路径时的生成条件的条件信息。路径规划单元112可以进一步基于条件信息生成附加路径。能够通过设置条件信息来生成更合适的附加路径。
机器人系统1还可以具有干扰检查单元152,其基于由路径规划单元112生成的附加路径来模拟机器人3的操作,以确认机器人3不干扰存在于周围环境中的周边物体。如果机器人3不干扰周边物体,则控制单元114可以基于由路径规划单元112生成的附加路径来操作机器人3。可以提高包括在线路径生成在内的机器人3的操作的可靠性。
机器人系统1还可以包括:信息收集单元211,其被配置为至少在路径规划单元112生成附加路径前后更新周围环境信息;以及环境变化检查单元125,其被配置为检查在路径规划单元112基于周围环境信息生成附加路径前后在周围环境信息中是否存在变化。能够进一步提高包括在线路径生成在内的机器人3的操作的可靠性。
如果在路径规划单元112生成附加路径前后在周围环境信息中不存在变化,则控制单元114可以基于附加路径来操作机器人3。能够进一步提高包括在线路径生成在内的机器人3的操作的可靠性。
如果在生成附加路径前后在周围环境信息中存在变化,则路径规划单元112可以基于变化之后的周围环境信息重新生成附加路径。能够进一步提高包括在线路径生成在内的机器人3操作的可靠性。
上述实施方式包括一种机器人系统,其包括:调用单元111,其被配置为依次调用包括多个移动命令和自动命令的多个命令,所述多个移动命令包括机器人3的包括未确定区间的操作路径的经由点的信息,而该自动命令包括用作未确定区间的到达点的操作路径的经由点的信息;路径规划单元112,其被配置为基于自动命令和机器人3的周围环境信息,生成到达未确定区间中的到达点的附加路径;以及控制单元114,其被配置为基于由调用单元111调用的命令和附加路径来操作机器人3。
此外,上述实施方式包括一种任务生成装置,其包括:命令生成单元131,其被配置为生成包括基于指定了各自包括机器人3的操作路径的经由点的信息的两个或更多个移动命令的任务信息,生成包括到与两个或更多个移动命令相对应的操作的变换操作中的到达点的信息的自动命令;以及任务生成单元132,其被配置为基于生成的自动命令和任务信息生成任务。当选择了任务时,基于到达点的周围环境信息生成到达任务的自动命令的机器人3点的附加路径,并且机器人3基于所生成的附加路径和两个或更多个移动命令来操作。
尽管上面已经描述了实施方式,但是本发明不一定限于上述实施方式,并且在不脱离本发明的范围的情况下可以进行各种修改。
Claims (20)
1.一种机器人系统,该机器人系统包括:
调用单元,该调用单元被配置为依次调用表示机器人的包括未确定区间的操作路径的多个命令;
路径规划单元,该路径规划单元被配置为针对所述未确定区间生成附加路径;以及
控制单元,该控制单元被配置为基于由所述调用单元调用的命令和所述附加路径来操作所述机器人,
其中,所述路径规划单元被配置为在所述控制单元基于从所述多个命令中调用的命令操作所述机器人期间,基于所述机器人的周围环境信息生成所述附加路径。
2.根据权利要求1所述的机器人系统,其中,所述多个命令包括:
移动命令,该移动命令包括所述操作路径的经由点的信息;以及
自动命令,该自动命令包括所述未确定区间的到达点的信息,并且
其中,所述路径规划单元被配置为在所述机器人基于所述移动命令操作期间,基于在所述移动命令之后调用的所述自动命令以及所述周围环境信息生成到所述未确定区间中的所述到达点的所述附加路径。
3.根据权利要求2所述的机器人系统,该机器人系统还包括:
任务储存单元,该任务储存单元被配置为存储各自包括两个或更多个移动命令的多个任务,每个移动命令包括所述操作路径的经由点的信息;以及
任务选择单元,该任务选择单元被配置为从所述任务储存单元中存储的所述多个任务中依次选择一个任务,以形成所述操作路径的一部分,
其中,所述调用单元被配置为在调用所选择的一个任务中包括的两个或更多个移动命令之前调用所述自动命令。
4.根据权利要求3所述的机器人系统,其中,所述多个任务中的至少一个包括在所述两个或更多个移动命令之前的自动命令,并且
其中,所述调用单元被配置为从所选择的一个任务中调用所述自动命令。
5.根据权利要求4所述的机器人系统,该机器人系统还包括:
命令生成单元,该命令生成单元被配置为基于所述两个或更多个移动命令生成要在所述两个或更多个移动命令之前执行的所述自动命令;以及
任务生成单元,该任务生成单元被配置为基于所生成的自动命令和所述两个或更多个移动命令生成任务。
6.根据权利要求4所述的机器人系统,该机器人系统还包括自动命令放置单元,该自动命令放置单元被配置为将包括所述一个任务的起点作为到达点的所述自动命令添加到所选择的一个任务中。
7.根据权利要求3所述的机器人系统,其中,所述调用单元被配置为响应于确定出所调用的移动命令定义了起点,将从所选择的一个任务的所述两个或更多个移动命令中调用的移动命令解释为包括所述所选择的一个任务的起点作为所述到达点的自动命令。
8.根据权利要求2至7中的任一项所述的机器人系统,其中,所述路径规划单元被配置为生成从位于所述操作路径中的所述到达点之前的经由点开始的所述附加路径。
9.根据权利要求8所述的机器人系统,其中,所述多个命令包括用于移位所述经由点的移位命令,并且
其中,所述路径规划单元被配置为响应于确定出所述调用单元在所述移位命令之后调用所述自动命令,在生成到所述到达点的附加路径之前,根据所述移位命令对所述到达点进行移位。
10.根据权利要求2至7中的任一项所述的机器人系统,其中,所述路径规划单元被配置为基于所述移动命令之后的所述自动命令来确定生成所述附加路径的开始定时,使得在基于所述移动命令的操作完成之前完成所述附加路径的生成。
11.根据权利要求2至7中的任一项所述的机器人系统,其中,所述路径规划单元被配置为基于所述周围环境信息生成定义所述附加路径的两个或更多个附加移动命令。
12.根据权利要求11所述的机器人系统,其中,所述路径规划单元被配置为在所述调用单元调用所述自动命令之后,基于所述自动命令和所述周围环境信息生成所述两个或更多个附加移动命令,
其中,所述调用单元被配置为将包括所述两个或更多个附加移动命令的两个或更多命令存储在命令储存单元中,并且
其中,所述控制单元被配置为基于所述命令储存单元中存储的所述两个或更多个命令来操作所述机器人。
13.根据权利要求12所述的机器人系统,其中,所述控制单元被配置为:
基于所述命令储存单元中存储的所述两个或更多个命令,生成用于使所述操作路径平滑的一系列控制命令;以及
基于所述一系列控制命令操作所述机器人。
14.根据权利要求12所述的机器人系统,其中,所述调用单元被配置为修改所述命令储存单元的尺寸,使得所述命令储存单元中存储的与所述两个或更多个命令相对应的操作的预期时间长度超过生成所述附加路径所需的时间长度。
15.根据权利要求2至7中的任一项所述的机器人系统,其中,所述自动命令包括表示用于生成所述附加路径的生成条件的条件信息,并且
其中,所述路径规划单元被配置为进一步基于所述条件信息生成所述附加路径。
16.根据权利要求1至7中的任一项所述的机器人系统,该机器人系统还包括干扰检查单元,该干扰检查单元被配置为基于由所述路径规划单元生成的所述附加路径来模拟所述机器人的操作,并且检查所述机器人是否干扰周边物体,并且
其中,所述控制单元被配置为响应于确定出所述机器人不干扰所述周边物体,基于由所述路径规划单元生成的所述附加路径来操作所述机器人。
17.根据权利要求1至7中的任一项所述的机器人系统,该机器人系统还包括:
信息收集单元,该信息收集单元被配置为更新所述周围环境信息;以及
环境变化检查单元,该环境变化检查单元检查在已经参考所述周围环境信息生成所述附加路径之后在所述周围环境信息中是否存在变化。
18.根据权利要求17所述的机器人系统,其中,所述控制单元被配置为响应于确定出在所述周围环境信息中不存在变化而基于所述附加路径操作所述机器人。
19.根据权利要求17所述的机器人系统,其中,所述路径规划单元被配置为响应于确定出在所述周围环境信息中存在变化而基于变化后的周围环境信息重新生成所述附加路径。
20.一种控制方法,该控制方法包括以下步骤:
依次调用表示机器人的包括未确定区间的操作路径的多个命令;
针对所述未确定区间生成附加路径;以及
基于所调用的命令和所述附加路径操作所述机器人,
其中,在基于从所述多个命令中调用的命令操作所述机器人期间,基于所述机器人的周围环境信息生成所述附加路径。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022-019414 | 2022-02-10 | ||
JP2022019414A JP7485705B2 (ja) | 2022-02-10 | ロボットシステム、タスク生成装置及び制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116572230A true CN116572230A (zh) | 2023-08-11 |
Family
ID=85172385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310141555.7A Pending CN116572230A (zh) | 2022-02-10 | 2023-02-08 | 机器人系统及控制方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230249347A1 (zh) |
EP (1) | EP4227044A1 (zh) |
CN (1) | CN116572230A (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4103057B2 (ja) | 1998-06-29 | 2008-06-18 | 株式会社安川電機 | ロボットの動作経路計画方法およびその装置 |
WO2015120864A1 (en) * | 2014-02-13 | 2015-08-20 | Abb Technology Ag | Robot system and method for controlling the robot system |
US9272417B2 (en) * | 2014-07-16 | 2016-03-01 | Google Inc. | Real-time determination of object metrics for trajectory planning |
US11014237B2 (en) * | 2019-07-11 | 2021-05-25 | Intelligrated Headquarters, Llc | Methods, systems, and apparatuses, for path planning and execution in a robotic system |
JP6898506B1 (ja) * | 2020-07-01 | 2021-07-07 | 株式会社安川電機 | 制御システム、ロボットシステム及び制御方法 |
-
2023
- 2023-02-02 EP EP23154670.6A patent/EP4227044A1/en active Pending
- 2023-02-06 US US18/164,631 patent/US20230249347A1/en active Pending
- 2023-02-08 CN CN202310141555.7A patent/CN116572230A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230249347A1 (en) | 2023-08-10 |
EP4227044A1 (en) | 2023-08-16 |
JP2023116978A (ja) | 2023-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108568818B (zh) | 机器人的控制系统和方法 | |
CN110198813B (zh) | 机器人路径生成装置和机器人系统 | |
US7174225B2 (en) | Method and system for simulating processing of a workpiece with a machine tool | |
US20190051049A1 (en) | Information processing apparatus, information processing method, and non-transitory storage medium | |
US8706302B2 (en) | Method for offline programming of an NC-controlled manipulator | |
US20020069045A1 (en) | Method of logical modeling of operator interaction with programmable logic controller logical verification system | |
JP7427113B2 (ja) | ロボットデモンストレーション学習用スキルテンプレート | |
JP7052250B2 (ja) | 情報処理装置、情報処理方法、および情報処理プログラム | |
Erős et al. | Integrated virtual commissioning of a ROS2-based collaborative and intelligent automation system | |
US11826913B2 (en) | Control system, robot system and control method | |
US20230286148A1 (en) | Robot control parameter interpolation | |
KR20210065865A (ko) | 제어 시스템, 컨트롤러 및 제어 방법 | |
US20220066401A1 (en) | Machine control system | |
EP4144490A1 (en) | Control system and control method | |
US11518024B2 (en) | Extensible underconstrained robotic motion planning | |
CN116572230A (zh) | 机器人系统及控制方法 | |
JP7485705B2 (ja) | ロボットシステム、タスク生成装置及び制御方法 | |
CN114800523B (zh) | 机械臂轨迹修正方法、系统、计算机及可读存储介质 | |
EP4052865A1 (en) | Information processing apparatus, robot system, information processing method, program, and recording medium | |
US20220281111A1 (en) | Interference check for robot operation | |
EP4144491A1 (en) | Production system, cell controller, robot controller, and control method | |
JP7374867B2 (ja) | 制御システム、ローカルコントローラ及び制御方法 | |
WO2019021045A1 (en) | METHOD AND SYSTEM FOR ACTION OF AN INDUSTRIAL ROBOT BASED ON A PARAMETER | |
CN116390835A (zh) | 系统控制装置、机器人控制方法、终端装置、终端控制方法以及机器人控制系统 | |
JP2004237364A (ja) | ロボットのティーチングデータの作成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |