CN110116405A - 轨迹生成方法和轨迹生成装置 - Google Patents

轨迹生成方法和轨迹生成装置 Download PDF

Info

Publication number
CN110116405A
CN110116405A CN201910101556.2A CN201910101556A CN110116405A CN 110116405 A CN110116405 A CN 110116405A CN 201910101556 A CN201910101556 A CN 201910101556A CN 110116405 A CN110116405 A CN 110116405A
Authority
CN
China
Prior art keywords
track
robot arm
teaching point
point
generation method
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
Application number
CN201910101556.2A
Other languages
English (en)
Other versions
CN110116405B (zh
Inventor
木村弦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from JP2018018583A external-priority patent/JP7158862B2/ja
Priority claimed from JP2018178064A external-priority patent/JP7210201B2/ja
Application filed by Canon Inc filed Critical Canon Inc
Publication of CN110116405A publication Critical patent/CN110116405A/zh
Application granted granted Critical
Publication of CN110116405B publication Critical patent/CN110116405B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0081Programme-controlled manipulators with master teach-in means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1651Programme controls characterised by the control loop acceleration, rate control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39135For multiple manipulators operating at same time, avoid collision
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40428Using rapidly exploring random trees algorithm RRT-algorithm
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40463Shortest distance in time, or metric, time optimal
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40475In presence of moving obstacles, dynamic environment
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40477Plan path independent from obstacles, then correction for obstacles

Abstract

本发明涉及轨迹生成方法、存储控制程序的非暂时性计算机可读取介质、轨迹生成装置、制造系统、以及用于制造物品的制造方法。轨迹生成方法包括:在开始教示点和目标教示点之间生成多个轨迹的第一生成过程,评估机器人手臂在每个轨迹上的动作以计算每个轨迹的评估值的评估过程,基于计算的评估值选择所述多个轨迹中的一个的选择过程,以及通过重复经由改变在选择过程中选择的轨迹而生成多个新轨迹、计算机器人手臂在每个改变的轨迹上的动作的评估值、以及基于计算的评估值选择轨迹的过程来更新轨迹的更新过程。

Description

轨迹生成方法和轨迹生成装置
技术领域
本发明涉及用于生成机器人手臂的轨迹的轨迹生成方法以及轨迹 生成装置。
背景技术
迄今为止,已知这样的配置:在所述配置中将工业机器人系统布 置在诸如汽车和电子产品这样的物品(工业产品)的制造系统(生产 线)中,以使诸如焊接和组装这样的作业自动化。在此类制造系统中, 机器人系统、工件、工件安置台、工具以及其他周边设备以它们可能 相互干涉(接触、碰撞)的状态布置。相应地,近年来,使用虚拟环 境的模拟在这样的制造系统中经常被用于设计机器人系统的手臂的操 作轨迹。
在离线使用模拟器系统以模拟机器人系统的动作的情况下,机器 人手臂、工件、工件安置台、工具以及其他周边设备的3-D(三维) 模型被安置在虚拟环境中。例如,一些模拟器系统生成在预先准备好 的机器人手臂的教示点之间的轨迹,并且在虚拟环境内沿着该轨迹操 作机器人手臂的3D模型以验证机器人手臂的动作。机器人手臂的模 型如何进行操作的状态能够例如以动画形式显示在模拟器系统的显示 器中的虚拟显示区域上。
取决于机器人手臂的操作轨迹,模拟结果最终自然会明显地不同。 如果机器人手臂的轨迹不合适,则会出现下列问题:机器人手臂的操 作轨迹的一部分进入机器人手臂不可操作的区域、机器人手臂干涉另 外的物体、或者循环时间因无效动作而延迟。
根据常规方法,操作者以试错方式准备机器人手臂的教示点,其 满足这样的条件:机器人手臂不会进入使机器人手臂变得不可操作的 区域或者不会干涉周边设备。在这样的情况下,因为首先要考虑机器 人手臂能够移动或者不干涉其他物体这样的条件,所以存在无法生成 始终允许机器人手臂以最佳动作速度操作的机器人轨迹、因此延迟了 循环时间的情况。在这样的情况下,需要手动作业来重新考虑以及重 置机器人手臂的教示点。
同时,在制造系统(生产线)中使用机器人系统的情况下,工程 设计人员准备教示点的工时较大,使得人员成本的升高已成为问题。 相应地,近年来,取代由教示者直接进行教示,已经提出了通过使用 计算机实现用于教示机器人手臂的高效作业的方法和装置。
Kalakrishnan,Mrinal等人的“STOMP:Stochastic trajectory optimizationfor motion planning”,Robotics and Automation (ICRA),2011IEEE InternationalConference on IEEE,2011(下文 称为非专利文献1)公开了一种方法,其用于生成避免机器人手臂干 涉周围障碍物的轨迹并且用于最小化在机器人手臂的关节中使用的马 达的扭矩。图8示意性地示出了在非专利文献1中用于生成机器人手 臂的轨迹的方法。图8示出了具有两个旋转轴J1和J2并简化为两个 自由度的机器人手臂A以及障碍物Ob。
在图8中,p1,p2…p9分别表示机器人手臂A的手(TCP:工 具中心点)移动通过的位置。在这些位置中,相应地,p1表示动作开 始位置(开始教示点),并且p9表示动作目标位置(目标教示点)。此 外,p2至p8表示布置在开始位置(p1)和目标位置(p9)之间的中 间指令值。例如,可以在每个控制周期顺序地指示机器人手臂A实施 p1,p2…p9的取向,以便实施从p1开始并到达p9的动作。在此情况 下,可以将机器人手臂在开始位置(p1)和目标位置(p9)之间的操 作时间计算为控制周期×(9-1)。在非专利文献1的情况下,多个中 间指令值(p2至p8)被预先确定为常数并且在此情况下为7。尽管在 图8中机器人手臂在p4和p5处与障碍物Ob发生干涉,但是可以通 过以下的方法生成使机器人手臂能够避免该干涉的轨迹。
首先,使对应于中间指令值p2,p3…p8的关节角度平滑地移位 以生成新的N个中间指令值ri2,ri3,…ri8(i=1,…N)。接下来, 评估中间指令值ri2,ri3,…ri8(i=1,…N),并且基于评估值来重复 移位中间指令值p2,p3…p8的过程以优化轨迹。非专利文献1使用 机器人手臂A和障碍物Ob的嵌入量(sink-in amount)以及在每个关 节轴中使用的马达的扭矩作为中间指令值的评估值。通过使用这样的 评估值,生成使机器人手臂A不会干涉障碍物Ob并且在每个关节轴 中使用的马达的扭矩不会过载的轨迹。
如上所述,非专利文献1的技术能够生成使机器人手臂A不会干 涉障碍物Ob并且在每个关节轴中使用的马达的扭矩不会过载的轨 迹。然而,根据非专利文献1中公开的技术,多个中间指令值是固定 的数值。因此,从开始教示点(p1)到目标教示点(p9)的操作时间 是固定的,从而存在例如不能优化手臂的操作时间的问题。此外,如 果操作时间是固定的,则难以满足在每个关节轴中使用的马达的扭矩 的约束条件以及其他的约束条件。难以实现的与机器人手臂的操作相 关的约束条件例如是关节轴扭矩、关节角速度、关节角加速度、加加 速度(jerk acceleration)、手速度和手加速度的约束条件。也就是说, 如非专利文献1所述的现有技术具有以下的问题。即,在中间指令值 的数量过少的区域中不能保证满足与机器人的动作相关的约束条件, 相反地,在中间指令值的数量过多的区域中则不能获得优化了操作时 间的轨迹。
发明内容
根据本发明的第一方面,提供了一种轨迹生成方法,其用于生成 在开始教示点和目标教示点之间操作机器人手臂的轨迹,其包括在所 述开始教示点和所述目标教示点之间生成多个轨迹的第一生成过程, 评估所述机器人手臂在所述第一生成过程中生成的每个轨迹上的动作 以计算每个轨迹的评估值的评估过程,基于计算的评估值选择所述多 个轨迹中的一个的选择过程,以及通过重复经由改变在所述选择过程 中选择的轨迹而生成多个新轨迹、计算所述机器人手臂在每个改变的 轨迹上的动作的评估值、以及基于计算的评估值选择轨迹的过程来更 新轨迹的更新过程。
根据本发明的第二方面,提供了一种轨迹生成装置,其用于生成 在开始教示点和目标教示点之间操作机器人手臂的轨迹,其包括控制 器,所述控制器执行在所述开始教示点和所述目标教示点之间生成多 个轨迹的第一生成过程,评估所述机器人手臂在所述第一生成过程中 生成的每个轨迹上的动作以计算评估值的评估过程,基于计算的评估 值选择所述多个轨迹中的一个的选择过程,以及通过重复经由改变在 所述选择过程中选择的轨迹而生成多个新轨迹、计算所述机器人手臂 在每个改变的轨迹上的动作的评估值、以及基于计算的评估值选择轨 迹的过程来更新轨迹的更新过程。
参考附图,根据示例性实施例的以下描述,本发明的其他特征将 变得显而易见。
附图说明
图1示出了本公开的第一实施例的轨迹生成装置的功能配置。
图2示出了本公开的第一实施例的机器人手臂的双轴配置。
图3示出了本公开的第一实施例的教示点组和轨迹。
图4是示出本公开的第一实施例的轨迹优化过程的流程图。
图5A示出了本公开的第一实施例的轨迹优化过程的初始步骤。
图5B示出了本公开的第一实施例的轨迹优化过程的下一步骤。
图5C示出了本公开的第一实施例的轨迹优化过程的再一步骤。
图5D示出了本公开的第一实施例的轨迹优化过程的又一步骤。
图5E示出了本公开的第一实施例的轨迹优化过程的再下一步骤。
图6示出了本公开的第一实施例的教示点组和轨迹。
图7A示出了本公开的第二实施例的轨迹优化过程的初始步骤。
图7B示出了本公开的第二实施例的轨迹优化过程的下一步骤。
图7C示出了本公开的第二实施例的轨迹优化过程的再一步骤。
图7D示出了本公开的第二实施例的轨迹优化过程的又一步骤。
图7E示出了本公开的第二实施例的轨迹优化过程的再下一步骤。
图8示出了现有技术的轨迹控制方法。
图9是示出能够应用于本公开的实施例的控制器的示意性配置的 框图。
图10示出了可以布置在本公开的实施例的制造系统中的机器人 系统。
图11示出了根据本公开的第三实施例的障碍物以及多个机器人 手臂的教示点组。
图12示出了本公开的第三实施例的多个机器人手臂的教示点组 和轨迹。
图13是示出本公开的第三实施例的轨迹生成过程的流程图。
图14A示出了根据本公开的第三实施例的轨迹生成过程的状态。
图14B示出了根据本公开的第三实施例的轨迹生成过程的另一状 态。
图14C示出了根据本公开的第三实施例的轨迹生成过程的又一状 态。
图14D示出了根据本公开的第三实施例的轨迹生成过程的再一状 态。
图15A示出了根据本公开的第五实施例的用于生成不同轨迹的轨 迹生成过程的状态的初始步骤。
图15B示出了根据本公开的第五实施例的用于生成不同轨迹的轨 迹生成过程的状态的下一步骤。
图15C示出了根据本公开的第五实施例的用于生成不同轨迹的轨 迹生成过程的状态的又一步骤。
图15D示出了根据本公开的第五实施例的用于生成不同轨迹的轨 迹生成过程的状态的再一步骤。
图16A示出了现有技术的轨迹生成方法。
图16B示出了现有技术的轨迹生成方法。
图16C示出了现有技术的轨迹生成方法。
图16D示出了现有技术的轨迹生成方法。
图16E示出了现有技术的轨迹生成方法。
图16F示出了现有技术的轨迹生成方法。
图16G示出了现有技术的轨迹生成方法。
图17示出了根据本公开的实施例的可以布置在生产线中的机器 人系统。
具体实施方式
下面将参考附图描述用于实现本公开的实施例。应当注意,以下 配置终究仅是示例性配置,并且本领域技术人员可以例如在不脱离本 公开的主旨的范围内适当地修改细节配置。实施例中所采用的数值也 是参考数值,而并不是限制本公开。
第一实施例
图1示出了第一实施例的轨迹生成装置的配置。应当注意,尽管 “轨迹生成装置”是指在本实施例中用于生成本公开的轨迹的装置,但 是该装置例如可以设置为机器人模拟器系统。
如图1所示的轨迹生成装置包括演算处理器1、使教示者等能够 输入数据的操作单元2、用于记录操作程序等的记录单元3、以及用于 显示机器人手臂的操作轨迹等的显示单元4。轨迹生成装置可以由诸 如PC(个人计算机)这样的计算机硬件进行配置。图9示出了演算 处理器1的具体示例性配置。
图9示出了与轨迹生成装置特别是演算处理器1(图1)的主要部 分相对应的控制器1000的示例性配置。如图9所示,控制器1000是 包括布置在CPU 1601周围的各个模块的控制系统。应当注意,包括 布置在CPU 1601周围的各个模块的该配置能够以几乎相同的方式适 用于例如在下文描述的机器人控制器(200:图10)。
图9中的控制器1000包括用作主控制器的CPU 1601、用作存储 单元的ROM 1602和RAM 1603。用于实现在下文描述的控制过程的 CPU 1601的控制程序和常数信息可以存储在ROM 1602中。RAM 1603在执行下文描述的控制过程时被用作CPU 1601的工作区域。
在图9所示的演算处理器1(图1)的配置的情况下,显示器(DISP) 1608(图1中的显示单元4)和操作单元(OP)1609(图2中的操作 单元2)与作为用户接口系统的接口(IF)1607连接。操作单元1609 可以由全键盘、点击设备等构成,并且构成用于供操作者模拟和验证轨迹的用户接口。
图9所示的控制器1000包括用作通过网络NW进行通信的通信 单元的网络接口(NIF)1605。图1中的演算处理器1可以通过网络 接口1605和网络NW向/从实际机器的机器人手臂A(或图10中的机 器人控制器200)发送/接收诸如教示点数据和轨迹数据这样的控制信 息。在这样的情况下,网络接口1605的结构符合例如IEEE 802.3这 样的有线通信的通信标准或者IEEE 802.11或802.15这样的无线通信 的通信标准。然而,网络NW当然可以采用除上述通信标准以外的任 意通信标准。
用于实现稍后描述的控制过程的CPU 1601的控制程序可以存储 在由HDD和SSD构成的外部存储单元1604以及ROM 1602的存储 单元(例如EEPROM区域)中。在这样的情况下,用于实现稍后描 述的控制过程的CPU 1601的控制程序可以提供给存储单元,或者可 以通过网络接口1605更新为新的(其他的)程序。或者,用于实现稍 后描述的控制过程的CPU1601的控制程序可以提供给上述的存储单 元,或者可以通过诸如各种磁盘、光盘和闪存这样的存储设备以及通 过它们的驱动单元更新为新的(其他的)程序。因此,处在存储用于实现上述控制过程的CPU 1601的控制程序的状态下的各种存储装置 和存储单元构成了存储本公开的控制过程的计算机可读取存储介质。
应当注意,在机器人控制器200(图10)的情况下,用于驱动机 器人手臂A的每个部分的马达和螺线管(未示出)的驱动电路连接到 图9的系统中的接口(IF)1606。此外,在机器人控制器200的情况 下,包括显示器1608和操作单元1609的用户接口例如可以用图10中的操作终端204(例如教示器)代替。
机器人手臂通常由关节和连杆构成,并且关节机构包括各种类型, 例如旋转式关节、线性动作关节和球关节。在本实施例中,假定为其 生成轨迹的机器人手臂具有连杆通过旋转式关节进行联接的配置,如 图2所示。
图2示出了在本实施例中要为其生成轨迹的示例性机器人手臂。 图2中的机器人手臂A被简化以便于其描述。
图2中的机器人手臂A具有由两个旋转式关节构成的两个轴J1 和J2。这些关节的轴J1和J2的关节角度(关节位置)在下文中分别 表示为θ1和θ2。轴J2的末端将被定义为用作参考位置的TCP(工具 中心点)。在本实施例中,定义机器人手臂A的位置的教示点将表示为TCP的位置。要生成的机器人手臂A的轨迹被生成为TCP移动所 通过的轨迹。
通常,在给出轴J1和J2的关节角度θ1和θ2的情况下,可以通 过运动学演算获取TCP的位置,并且在给出TCP的位置的情况下, 当TCP占据该位置时,可以通过逆运动学演算获取轴J1和J2的关节 角度θ1和θ2。应当注意,在提及TCP的情况下,下文中存在将其简 称为“手”的情况。
还应当注意,尽管为了便于理解而将机器人手臂A示出为具有非 常简化的配置,但是该配置不限于本公开的实施例。例如,本领域技 术人员可以使用六轴关节式机器人手臂或线性动作型机器人手臂的配 置作为实现本公开的机器人手臂A。相应地,以下实施例的机器人手 臂的控制系统的配置和控制过程可以容易地扩展到使用这样的机器人 手臂的情况。
接下来,将描述机器人手臂A的移动操作。在机器人手臂A移动 的情况下,将表示移动的开始位置的教示点称为开始教示点,并且将 表示目标位置的教示点称为目标教示点。可以通过手(TCP)的位置 和取向或者通过关节轴角度来确定机器人手臂A的位置。或者,手 (TCP)的位置和取向可以通过逆运动学演算换算成每个关节轴的关节 角度,并且相反地,每个关节轴的关节角度可以通过(正)运动学演 算换算成手(TCP)的位置和取向。
这里,开始教示点和目标教示点将分别表示为Ps和Pg。此外, 布置在开始教示点和目标教示点之间的教示点将被称为中间教示点并 表示为P1,P2…Pn。在中间教示点P1,P2…Pn被统一命名的情况下, 存在将它们称为中间教示点组的情况。
作为用曲线平滑地插值中间教示点组P1,P2…Pn的方法,存在 诸如样条插值、B样条插值和贝塞尔(Bezier)曲线插值这样的已知 插值方法。通过生成平滑地连接这些教示点的路径,即可平滑地操作 机器人手臂A。
在本说明书中,机器人手臂的“操作路径”或“路径”是指机器 人手臂的动作路线,不包括诸如速度这样的时间概念。此外,机器人 手臂的“操作轨迹”或“轨迹”是指除了上述机器人手臂的“(操作) 路径”以外还具有机器人手臂的动作速度信息的信息体,并且明显区 别于本说明书中的上述的“(操作)路径”。应当注意,存在这样的情 况:“轨迹”在机器人控制技术中由每个特定单位时间(例如,机器人 手臂的每个控制时钟周期)中的机器人手臂的关节(角度)的指令值 数据串(data string)表示。
存在将最短时间控制作为用于生成轨迹的方法,所述轨迹包括通 过使用上述插值方法生成的机器人手臂的路径所涉及的速度信息。通 过使用最短时间控制,基于通过插值所生成的路径,可以获得在保持 机器人手臂的物理约束条件的同时使操作时间最小化的轨迹。应当注 意,最短时间控制是获得在预定路径上使操作时间最小化的移动速度 的技术,并且机器人手臂的操作所通过的路径最终取决于中间教示点 组P1,P2…Pn。作为除上述内容之外的机器人手臂的物理约束条件, 可以想到例如操作的关节扭矩约束、关节角速度约束、关节角加速度 约束、加加速度约束、手速度约束和手加速度约束。通过使用最短时 间控制生成的轨迹将表示为p1,p2,…pt以作为每个控制周期中的机 器人手臂的位置指令值的串。
图3示出了在操作环境(虚拟环境)中布置模拟机器人手臂A的3-D模型或机器人手臂模型或者模拟障碍物Ob的3-D模型或障碍物 模型的状态。图3还示出了开始教示点Ps、目标教示点Pg、中间教 示点组P1,P2…Pn以及由教示点生成的轨迹(p1,p2,…pt)。
机器人手臂A在图3所示的轨迹(p1,p2,…pt)中的p4和p5 处与障碍物Ob发生干涉,并且不能按照该轨迹从开始教示点Ps移动 到目标教示点Pg。本实施例的目的在于获得使机器人手臂不会在从开 始教示点Ps到目标教示点Pg的路径中与障碍物发生干涉(并且满足 其他条件)的最佳中间教示点组P1,P2…Pn。应当注意,不仅在障 碍物Ob静止的情况下可以计算最佳轨迹,而且在障碍物Ob移动的 情况下也可以计算最佳轨迹。
图4是描述本实施例的轨迹生成方法的主控制过程的流程图。图 4中的控制过程可以作为CPU 1601的控制程序存储在ROM 1602或 外部存储单元1604中。图5A至5E以与图3类似的形式示出了图4 的每个步骤中的控制过程。尽管以下是在机器人手臂A和障碍物Ob的3-D模型上执行了轨迹的生成及其优化,但是存在这样的情况:省 略“3-D模型”的表达并且针对要控制的对象是机器人手臂A和障碍 物Ob这样的情况进行说明以便简化描述。
机器人手臂A的模型、约束条件、开始教示点Ps和目标教示点 Pg被输入到机器人手臂A在其中进行操作的作业空间中,如图5A所 示和图4中的步骤S100所述。用户可以通过例如由操作单元2和显示 单元4构成的用户接口输入这些输入量。具体地,用户通过显示单元 4上的虚拟显示器(GUI)输入开始教示点Ps和目标教示点Pg,或者 CPU 1601可以在通过AI处理生成轨迹时确定教示点。
机器人手臂A的模型是构成机器人手臂A的部件的设计信息,并 且包括诸如每个连杆的惯性矩、质量、位置和取向以及轴的数量这样 的信息。约束条件定义了机器人手臂的物理约束条件并且包括关节扭 矩约束、关节角速度约束、关节角加速度约束、加加速度约束、手速 度约束、手加速度约束等。
在步骤S101中,生成中间教示点(第一中间教示点组)P1,P2…Pn以作为在步骤S100中给出的机器人手臂A的开始教示点Ps和目 标教示点Pg之间的初始值,如图5B所示。在本实施例中,n个中间 教示点被生成并且按顺序排列为P1,P2…Pn,如图5B所示。
作为用于生成中间教示点的方法,可以设想使用路径规划算法来 计算避开障碍物的路径。现有许多路径生成方法,例如势能方法、PRM (概率路线图方法)和RRT(快速探索随机树方法)。无需受限于上述 的路径生成方法,其他的路径生成方法例如可见图方法、单元分解方 法和维诺图方法也可以是适用的。在不使用路径规划算法的情况下, 可以简单地使用对开始教示点和目标教示点之间的路径进行线性插值 这样的处理。应当注意,如上所述的路径规划技术仅在最终线性地连 接教示点的情况下计算出确保避免干涉的路径。因此,存在这样的情 况:在用曲线插值中间教示点组P1,P2…Pn的路径中不一定能始终 确保避免干涉。
例如,中间教示点组P1,P2…Pn(第一中间教示点组)对应于 与障碍物Ob发生干涉的轨迹(例如如图5B所示)。根据本实施例, 可以移动作为初始值的中间教示点组(第一中间教示点组)P1,P2… Pn,以使得即便从这样的中间教示点组P1,P2…Pn(第一中间教示 点组)开始也能生成最佳轨迹。
还可以设定成使得用户通过操作单元2和显示单元4构成的用户 接口在屏幕上的虚拟环境内绘制作为初始值的中间教示点组P1,P2… Pn(第一中间教示点组)。
在图4的步骤S102中,对中间教示点组P1,P2…Pn(第一中间 教示点组)进行空间移位以生成新的中间教示点组R11,R12,…R1n (第二中间教示点组),如图5C所示(中间教示点生成过程)。作为用 于进行移位的方法,例如可以设想添加随机数值作为对每个中间教示 点进行空间移位的参数。然而,如果采用简单且随机地操作随机数值 的方法,则存在教示点被振荡地布置并且机器人手臂的动作不平滑的 情况。由于操作时间在机器人手臂的动作变得振荡的情况下通常会趋 于增加,所以不希望振荡地布置教示点。
然后,在为了进行空间移位而作用于相邻的中间教示点的随机数 之间赋予相关性。该布置使得能够平滑轨迹(路径)。例如,将机器人 手臂在中间教示点组P1,P2…Pn处的单轴关节值设定为θ11,θ12,… θ1n,以便考虑以这些关节值为变量的多变量正态分布。通过对方差- 协方差矩阵中的协方差赋予正值,即可关联相邻的中间教示点的关节 值并且沿着路径生成平滑的随机值。
在步骤S103中,通过用曲线插值中间教示点组R11,R12,…R1n 之间的路径以及通过最短时间控制来生成轨迹(轨迹生成过程)。这里, 如果目的是避开静止的障碍物,则评估机器人手臂A在用曲线插值的 “路径”上的干涉可能就足够了,在本实施例中考虑“轨迹”的原因是 在障碍物被认为能够移动的情况下则需要考虑时间轴。
在步骤S104中,确定所生成的轨迹是否满足约束条件,并且在轨 迹不满足约束条件的情况下,过程返回步骤S102。在轨迹满足约束条 件的情况下,过程进入步骤S105。在步骤S104中确定的约束条件至 少是不能通过步骤S103中使用的最短时间控制技术进行约束的约束 条件。在步骤S104中确定的约束条件至少是机器人手臂A的机构不 能偏离在步骤S103中生成的轨迹上的可移动范围。也可以设想诸如关 节扭矩约束、关节角速度约束、关节角加速度约束、加加速度约束、 手速度约束和手加速度约束这样的其他条件作为要在步骤S104中确 定的约束条件。在步骤S104中,能够以生成满足这样的约束条件中的 任何一个或多个的轨迹的方式进行确定。
在步骤S105中,存储中间教示点组R11,R12,…R1n以及基于 中间教示点组生成的轨迹。为了与其他存储的中间教示点组区分开, 将待存储的中间教示点组表示为Ri1,Ri2,…Rin。这里,i是存储的 顺序编号。
在步骤S106中,确定所存储的中间教示点组和轨迹的数量是否达 到特定常数N。如果在步骤S106中存储的中间教示点组和轨迹的数量 尚未达到N,则过程返回步骤S102。如果数量达到N,则过程进入步 骤S107。
在步骤S107中,对N个存储的中间教示点组Ri1,Ri2,…Rin (i=1至N)给出评估值,如图5D所示(评估过程)。在本实施例中, 这些评估值用于移位(移动)中间教示点组P1,P2…Pn(第一中间 教示点组)以便生成最佳轨迹。
通过评估对应于中间教示点组Ri1,Ri2,…Rin(i=1至N)的轨 迹来生成评估值。例如,为了在本实施例中获得使机器人手臂避免与 障碍物Ob发生干涉的轨迹,将机器人手臂与障碍物的干涉量指定为 评估值。干涉量可以是机器人手臂和障碍物占据同一个空间的干涉时 间、嵌入量或干涉距离(或机器人手臂和障碍物这两者的扫掠空间中 的重叠体积)。在本实施例中采用干涉时间作为干涉量并将其用作评估 值。
图5D中的示例示出了相对于三个中间教示点组由干涉量(干涉 时间或嵌入量)生成的评估值。对于第二中间教示点组R11,R12,… R1n而言评估值为10,对于中间教示点组R21,R22,…R2n而言评 估值为30,并且对于组R31,R32,…R3n而言评估值为50。具有较 小干涉量(接近于零)的中间教示点组R11,R12,…R1n在此被评 估为最佳。
应当注意,可以采用另外的方法来评估对应于中间教示点组Ri1, Ri2,…Rin(i=1至N)的轨迹,以用于除了避免与障碍物Ob发生干 涉以外的目的。
在步骤S108中,基于N个中间教示点组Ri1,Ri2,…Rin(i=1 至N)的评估值移动中间教示点组P1,P2…Pn,如图5E所示。作为 用于移动教示点组的一种方法,例如可以设想将中间教示点组P1, P2…Pn移动到在中间教示点组Ri1,Ri2,…Rin(i=1至N)中具有 最小(最佳)评估值的中间教示点。在图5E所示的示例中,中间教 示点组P1,P2…Pn(在第一中间教示点组中)被移动到具有较小(接 近于零)的干涉量的中间教示点组R11,R12…R1n的位置。
也可以通过将中间教示点组Ri1,Ri2,…Rin(i=1至N)的评估 值的倒数设定为权重以求取N个中间教示点组Ri1,Ri2,…Rin(i=1 至N)的加权平均值的方式来移动中间教示点组P1,P2,…Pn。
在步骤S109中,确定是否满足了用于中断步骤S102至步骤S108 的过程的条件。如果不满足中断条件,则过程返回步骤S102。如果满 足中断条件,则过程进入步骤S110。
或者,可以预先设定执行步骤S102至S109的循环的上限次数。 在这样的情况下,在步骤S109中的次数达到上限次数的情况下,过程 通过放弃其更多次数的尝试而进入步骤S110。或者,可以执行在显示 单元4上输出适当报错消息的报错处理。
在如下所述的条件下确定在步骤S109中确定的中止条件:相对于 例如在移动之后的中间教示点组P1,P2…Pn(第一中间教示点组) 生成与步骤S107中类似的评估值,并且评估值满足预定条件。例如, 本实施例旨在避免机器人手臂A与障碍物Ob发生干涉。然后,条件 被设定为使得相对于移动之后的中间教示点组P1,P2…Pn(第一中 间教示点组)生成的评估值归零,即使得诸如干涉时间或嵌入量这样 的干涉量归零。该布置使得可以生成满足与机器人的动作相关的约束 条件的最佳轨迹(轨迹确定过程)。
在步骤S110中,输出中间教示点组P1,P2…Pn以作为优化教示 点组。例如通过在显示单元4的虚拟显示器内沿着由优化中间教示点 组P1,P2…Pn生成的轨迹操作机器人手臂A的3-D模型(机器人手 臂模型)来进行输出。或者,步骤S110可以是将中间教示点组P1,P2…Pn或者由这些教示点生成的轨迹数据输出到实际机器的机器人 手臂A或其在图10中的机器人控制器(200)的过程。
由于本实施例旨在避免干涉,因此在过程到达步骤S110的情况 下,机器人手臂处于这样的状态:机器人手臂沿着基于移动之后的中 间教示点组P1,P2…Pn生成的轨迹(p1,p2,…pt)不会与障碍物 发生干涉,如图6所示。
根据本实施例,生成多个中间教示点组Ri1,Ri2,…Rin(i=1至 N),并且基于由它们定义的轨迹的评估结果来移动中间教示点组P1, P2…Pn。将与诸如关节扭矩约束这样的物理约束条件相关的条件用于 轨迹的评估,并且将实现避开障碍物的条件用于移动中间教示点组 P1,P2,…Pn的过程的退出条件。根据本实施例,这样的布置使得 可以生成避开障碍物并且满足诸如关节扭矩约束这样的物理约束条件 的平滑曲线轨迹。
第二实施例
下面将参考图7A至7E在第二实施例中描述生成轨迹的示例性优 化过程,机器人手臂A(的3-D模型)可以沿着所述轨迹在最短时间 内移动,同时实现避免与障碍物Ob发生干涉。除了参考图7A至7E 所描述的那些内容以外,本实施例的配置例如轨迹生成装置及其控制 器的硬件配置均与第一实施例相同。
尽管本实施例的轨迹生成方法的控制过程与图4所示的第一实施 例的流程图相同,但是本实施例与第一实施例的不同之处在于中间教 示点组P1,P2…Pn的初始值、轨迹上的约束条件、轨迹的评估方法 和中断条件。图7A至7E示出了在本实施例中执行的轨迹(第一中间 教示点)的优化过程的状态。图7A至7E通过与图5A至5E相同的 形式示出了图4中的每个步骤在本实施例中的处理。
在上述的第一实施例中,已经在图4的步骤S101中描述了通过路 径规划技术在开始教示点Ps和目标教示点Pg(参见图7A)之间生成 中间教示点组P1,P2…Pn的示例。然而,在本实施例中,在图4的 步骤S101中使用了通过第一实施例的优化过程输出的中间教示点组 P1,P2…Pn(参见图6和7B)。
通过使用已经通过第一实施例的优化过程输出的中间教示点组 P1,P2…Pn作为初始值,可以优化也就是缩短机器人手臂A沿着已 经被处理为避开障碍物的轨迹的操作时间。因此,本公开的优化控制 过程(参见图4)可以在两个路径(或超过该数量的多个路径)中使 用。在这样的情况下,可以通过在每个路径中利用不同的约束条件来 获取针对每个约束条件进行优化的轨迹。
在第一实施例中,已经生成了新的中间教示点组R11,R12,… R1n(第二中间教示点组)(参见图5C),并且在图4的步骤S104中 在确定第二中间教示点组的轨迹是否满足约束条件时已经确定了机器 人手臂A是否在其可移动的范围内。在本实施例中,除了生成新的中 间教示点组R11,R12,…R1n(第二中间教示点组)(参见图7C)并 且确定机器人手臂A是否在其可移动的范围内以外,还确定了机器人 手臂A是否与障碍物Ob发生干涉。在机器人手臂A与障碍物Ob发 生干涉的情况下,中间教示点组R11,R12,…R1n无效,并且过程 返回步骤S102。
此外,在图4中的步骤S107中已经用干涉时间或嵌入量作为评估 值来评估轨迹。在本实施例中,用机器人手臂A的操作时间的评估值 来评估轨迹,如图7D所示。该布置使得可以生成用以最小化操作时 间的中间教示点组P1,P2…Pn。在图7D所示的情况下,关于第二中 间教示点组的操作时间的评估值在中间教示点组R11,R12,…R1n 中为180,在中间教示点组R21,R22,…R2n中为120,并且在中间 教示点组R31,R32,…R3n中为150。这里评估为最佳的是具有较小 干涉量(即,关于操作时间的较小值)的中间教示点组R21,R22,… R2n。
此外,图4的步骤S109中的一个中断条件在于评估值归零。然而, 在本实施例中,使用了提供关于重复步骤S102到步骤S109的过程的 上限次数的方法或者提供关于中间教示点组P1,P2…Pn的评估值(几 乎)没有连续变化的次数的上限的方法。例如,在不能再缩短操作时 间的情况下,过程从步骤S102到S109的过程循环退出,并且在步骤 S110中输出用以获取最短时间的中间教示点组P1,P2…Pn,如图7E 所示。或者,不一定需要在最终的移动状态下输出中间教示点组P1, P2…Pn以作为第二实施例的步骤S110中的优化教示点。例如,可以 布置成在从步骤S102到S108的重复中获取中间教示点组P1,P2… Pn的变化的历史记录并输出被评估为最佳的内容。
如上所述,本实施例带来这样的效果:所生成的轨迹可以在避开 障碍物并且保持诸如扭矩约束这样的物理约束条件的同时使操作时间 最小化。特别地,最佳控制过程(图4)可以在两个路径中(或在超 过该数量的多个路径中)使用,在这样的情况下,可以通过在每个路 径中利用不同的约束条件来获取针对每个约束条件进行优化的轨迹。
这里,将描述机器人手臂A的更具体的示例性配置以及在机器人 手臂A应用于制造系统的情况下的配置。
图10示出了机器人手臂A的比图2的示意图中的配置更为具体的 整体配置。在图10中,机器人手臂A(机器人系统)包括例如六轴 (关节)的竖直铰接式机器人手臂本体201。通过伺服控制设置在每 个关节中的伺服马达,可以控制机器人手臂本体201的每个关节以获 得期望的位置和取向。
诸如手202这样的工具附接在手臂本体201的远端(末端)处。 该手202可以执行抓取工件203、组合工件203和机加工工件203这 样的制造作业。工件203例如是诸如汽车和电子产品这样的物品(工 业产品)的组成部分,并且机器人手臂A可以作为制造单元布置在这样的制造系统(生产线)中。
机器人手臂A的手臂本体201的动作由机器人控制器200控制。 机器人手臂A的动作可以用连接到机器人控制器200的操作终端204 (例如教示器或平板电脑终端)进行编程(教示)。例如,可以通过经 由操作终端204顺序地指定教示点来对诸如TCP和机器人手臂A的 工具附接面这样的特定部分的动作进行编程以便沿着期望路线移动。
机器人手臂A或机器人控制器200可以通过网络NW从轨迹生成 装置(或如图1所示的机器人模拟器)接收如上所述进行优化的中间 教示点或轨迹数据。该布置使得可以基于通过上述过程优化的中间教 示点或轨迹数据将机器人手臂A布置在制造系统(生产线)中并且将 机器人手臂A作为制造单元进行操作以制造物品。
本公开也可以通过以下的过程来实现:通过网络或存储介质将实 现了上述实施例中的一个或多个功能的程序提供给系统或装置,并且 由系统或装置的计算机中的一个或多个处理器读取并执行该程序。也 可以通过实现上述实施例中的一个或多个功能的电路(例如ASIC) 来实现本公开。
第三实施例
接下来,将描述本公开的第三实施例。尽管在上述实施例中将可 能与机器人手臂A发生干涉的障碍物Ob作为固定件进行处理,但是 在本实施例要描述在将障碍物作为能够移动的物体进行处理的情况下 用于生成机器人手臂的轨迹的方法。更具体地,将描述用于生成多个 并置的机器人手臂的轨迹的方法,所述方法使机器人手臂能够避免彼 此干涉并且能够提高作业效率。应当注意,下面将描述与上述的第一 和第二实施例不同的部分,并且诸如机器人系统的硬件配置这样的重 复部分将由相同的附图标记表示,并且将省略其描述。首先,将描述 本实施例的背景。
例如,日本专利申请公报No.H.11-347984(在下文中称为专利文 献1)公开了一种控制器,其有效地操作多个机器人,同时避免机器 人彼此干涉并且最小化每个机器人的待机时间。专利文献1公开的机 器人控制器准备了在两个机器人的作业点之间的每个路径的干涉表。 干涉表的使用清楚地表明,在机器人手臂A和B分别位于某些作业点 时,只要它们同时操作,机器人手臂A就会干涉机器人手臂B。在如 上所述的机器人手臂可能会彼此干涉的情况下,优先进行任一机器人 手臂的作业。在生成控制优先顺序的数据作为优先顺序表时,在与每 个机器人的作业点处的剩余作业时间和待机时间的总和等相对应这样 的情况下确定优先顺序。
G.S'anchez和J.-C.Latombe,“On delaying collision checking in PRMplanning:Application to multi-robot coordination”, International Journal ofRobotics Research,vol.21,no.1,pp.5-26, 2002公开了一种通过将多个机器人手臂A和B假设为一个机器人手 臂C来生成路径以避免机器人手臂彼此干涉的技术。图16A至16G 示出了用上述文献中公开的技术控制的机器人手臂A和B的动作。这 些机器人手臂是具有两个关节(两个自由度)的双轴机器人手臂。在 这些机器人手臂中,假设机器人手臂A在开始点处具有双轴关节角度 (θas1,θas2)并且在目标点处具有双轴关节角度(θag1,θag2)。同时,假设机器人手臂B在其开始点处具有双轴关节角度(θbs1,θbs2) 并且在其目标点处具有双轴关节角度(θbg1,θbg2)。此外,障碍物 Ob布置在机器人手臂A和B的作业空间中。
根据上述文献的技术,将机器人手臂A和B作为一个机器人手臂 C进行处理,以便生成考虑了避免在各机器人手臂之间发生干涉以及 避免与障碍物发生干涉的路径。然后,在机器人手臂C的四维配置空 间中,搜索从开始点(θas1,θas2,θbs1,θbs2)到目标点(θag1,θag2, θbg1,θbg2)的避开障碍物的路径。在生成路径时,可以使用诸如 RRT(快速探索随机树方法)和PRM(概率路线图方法)这样的路径 生成算法。然后就可以通过将机器人手臂A和B(第一和第二机器人 手臂)作为一个虚拟机器人手臂进行处理而生成路径来确定机器人手 臂互不干涉的相应路径,如图16A至16G所示。
在上述专利文献1的控制中,首先进行高优先级机器人手臂到作 业点的移动及其作业,并且直到在两个机器人手臂可能会相互干涉的 作业点处完成了高优先级机器人手臂的移动和作业之前都使低优先级 机器人手臂到作业点的移动及其作业待机。但是,如果使低优先级机 器人在直到高优先级机器人完成其作业并移动到下一个作业点时的作 业点之前都待机,则作业效率可能会下降。例如,如果考虑了进入干 涉区域的低优先级机器人的移动时间,那么即使高优先级机器人不在 干涉区域之外,也存在低优先级机器人可以开始移动的可能性。此外, 在这样的情况下,存在例如通过校正低优先级机器人的轨迹就能够更 快地移动低优先级机器人的可能性。在日本专利申请公报No. H.11-347984所公开的技术中没有考虑这样的优化空间。也就是说,尽 管在专利文献1公开的技术中仍然充分地留有用于缩短整个作业时间 的空间,但是该方法存在的问题是它不能再对此进行处理,原因在于 没有考虑避免两个机器人手臂在同时移动时相互干涉的轨迹。
同时,根据G.S'anchez和J.-C.Latombe的上述文献中公开的方法, 通过将两个机器人手臂假设为一个机器人手臂并用路径生成算法生成 路径以避免两个机器人手臂在同时移动时相互干涉。诸如RRT(快速 探索随机树方法)和PRM(概率路线图方法)这样的算法可以用于生 成这样的路径。
上述文献将第一和第二机器人手臂假设为一个虚拟机器人手臂并 且将虚拟机器人手臂的取向作为配置空间中的一个点来处理。由此, 第一和第二机器人手臂的动作定时被同步。然而,如果控制第一和第 二机器人手臂以使其同步并且例如如果一个机器人手臂仅轻微移动而 另一个机器人手臂大幅移动,则将存在前一手臂受后一手臂影响的情 况,因而无谓地延迟了整个操作。
例如,在图16A至16G所示的示例中,移动较少的机器人手臂A 可以到达目标点(图16G),并且可以优选用于特定用途。然而,由于 在上述文献的技术中将第一和第二机器人手臂作为一个虚拟机器人手 臂进行处理,因此第一和第二机器人手臂不得不被控制成使得到达目 标点的定时相等。因此,在多个机器人手臂之间的移动变化的情况下, 根据上述文献中公开的技术,存在对动作造成无谓约束的可能性。使 用上述文献所公开的将第一和第二机器人手臂作为一个虚拟机器人手 臂进行处理的技术,还存在不能控制随后的机器人操作的可能性。那 些机器人操作是第一和第二机器人手臂接近相同部位的情况以及第二 机器人手臂在第一机器人手臂移动期间开始移动的情况。上述文献的 控制技术也不能使第一机器人手臂首先到达目标点并且先行开始另外 的操作。也就是说,G.S'anchez和J.-C.Latombe的技术具有这样的 问题:用于使多个机器人手臂的作业时间最小化的优化可能无法实现, 并且要生成的操作受到限制。
鉴于上述情况,本实施例旨在生成最佳轨迹,所述最佳轨迹能够 高效地操作多个机器人手臂而不会在作业空间内导致机器人手臂之间 或者障碍物与机器人手臂之间的干涉。图2示出了一个示例性布置, 其中机器人手臂A和B在布置有障碍物Ob的作业空间内进行操作。 在图11中,给出了机器人手臂A的教示点PA1、PA2和PA3以及机 器人手臂B的教示点PB1、PB2和PB3。将在本实施例的轨迹生成过 程中生成经过这些教示点的轨迹。在这样的情况下,生成不仅机器人 手臂A和B不会相互干涉而且机器人手臂A和B都不会与障碍物Ob发生干涉的轨迹。
下面将通过假设机器人手臂A和B在任务空间中具有主要在X 和Y方向上移动的两个自由度来描述本实施例的轨迹生成过程。然而, 本公开的机器人手臂可以是被广义地认为是执行常规的自动作业的装 置,并且本公开不应当仅由机器人手臂的关节的数量、由关节实现的 取向的自由度的数量等进行解释。例如,本公开可以通过例如如图17 所示的使用六轴关节机器人和线性动作型机器人手臂的机器人系统来 实现。
在该类型的具有两个或更多个自由度的多个关节的关节式机器人 手臂的情况下,机器人手臂的教示点可以通过手的位置和取向或者通 过关节轴角度来确定。尽管在本实施例中将描述操作两个机器人手臂 的情况,但是本公开不受限于机器人手臂的数量,而是也可以在操作 三个或更多个机器人手臂的系统中实现,正如例如下文在第五实施例 中所述的那样。
在图11中,假设机器人手臂A按下列顺序移动通过教示点PA1、 PA2和PA3,同时避免与障碍物Ob和机器人手臂B发生干涉。还假 设机器人手臂B按下列顺序移动通过教示点PB1、PB2和PB3,同时 避免与障碍物Ob和机器人手臂A发生干涉。
此外,在教示点PA2和PB2处,此时机器人手臂A和B位于它 们彼此干涉的位置,在机器人手臂B到达教示点PB2之前使机器人手 臂A到达教示点PA2的操作在本实施例中将被称为操作约束。在该操 作约束中假设的操作是:机器人手臂A传送工件且在教示点PA2处安置工件,并且机器人手臂B在教示点PB2处接收工件。
图12示出了布置在教示点之间的中间点,其用于评估图11中的 环境中的机器人手臂的轨迹和路径。应当注意,尽管为了便于描述而 将在本实施例中描述在对应于开始位置和目标位置的两个教示点之间 布置了三个中间点的情况,但是本公开不受中间点的数量限制。
在本说明书中,机器人手臂的“路径”是指诸如机器人手臂(例 如手)这样的特定参考部分移动所遵循的、并且不包括诸如速度这样 的时间概念的路线。此外,机器人手臂的“轨迹”是指“路径”以及 具有机器人手臂在“路径”上的操作速度信息的信息体,并且明显区 别于本说明书中的上述的“路径”。“轨迹”通常由位置指令值数据表 示,一般用于在每个控制时钟周期中定位机器人手臂的特定参考部分。 例如,位置指令值数据以诸如机器人手臂的每个关节的位置(角度) 数据列表的形式表示,用于将所述特定参考部分定位到特定位置(教 示点)。
在图12所示的示例中,机器人手臂A通过在用曲线平滑插值的 路径TA1上经过作为控制点的教示点PA1、中间点PA11,PA12,PA13、 以及教示点PA2而从教示点PA1移动到教示点PA2。此后,机器人手 臂A通过在用曲线平滑插值的路径TA2上经过教示点PA2、中间点PA21,PA22,PA23、以及教示点PA3而从教示点PA2到达教示点PA3。
同时,机器人手臂B通过在用曲线平滑插值的路径TB1上经过作 为控制点的教示点PB1、中间点PB11,PB12,PB13、以及教示点PB2 而从教示点PB1移动到教示点PB2。此后,机器人手臂B通过在用曲 线平滑插值的路径TB2上经过教示点PB2、中间点PB21,PB22,PB23、以及教示点PB3而从教示点PB2到达教示点PB3。
作为用于用曲线平滑插值机器人手臂的预定部分在教示点之间 (或中间点之间)所通过的路径的方法,存在已知的插值方法例如样条 插值、B样条插值和Bezier曲线插值。通过生成平滑地连接那些教示 点的路径,即可实现机器人手臂A的平滑动作。应当注意,图3所示 看起来像是机器人手臂经过中间点,但中间点仅仅是用于生成路径的 参数,并且机器人手臂不一定需要经过中间点。例如,存在这样的情 况:在用B样条插值对轨迹进行插值的情况下,路径不经过中间点。
存在将最短时间控制作为用于生成轨迹的方法,所述轨迹包括通 过使用教示点和中间点生成的机器人手臂的路径的速度信息。通过使 用稍后描述的轨迹生成过程中的最短时间控制,基于通过插值生成的 路径可以获得在机器人手臂的物理约束条件内使操作时间最小化的轨 迹。应当注意,最短时间控制是获得移动速度以使得在预定路径上的操作时间最小化并且不改变路径的技术。
机器人手臂的动作要满足的物理约束条件包括例如关节扭矩约 束、关节角速度约束、关节角加速度约束、加加速度约束、手速度约 束和手加速度约束。通过使用最短时间控制生成的轨迹成为每个确定 的控制周期中的机器人手臂的位置指令值。然而,可以通过利用凸轮 曲线来生成轨迹而并不使用最短时间控制。
此外,机器人手臂在每个教示点都待机一定时间,并且在本实施 例中将该时间称为待机时间(然而,本实施例不排除使待机时间归零 的控制)。根据本实施例,机器人手臂A被设定为在教示点PA1处待 机WA1秒并且在教示点PA2处待机WA2秒。由于教示点PA3是终点并且机器人手臂A在操作之后继续待机,因此没有为教示点PA3 定义待机时间。机器人手臂B也被设定为在教示点PB1处待机WB1 秒并且在教示点PB2处待机WB2秒。由于教示点PB3是终点,并且 机器人手臂B与机器人手臂A的情况类似地在操作之后继续待机,因 此没有为教示点PB3定义待机时间。
在图12中,在机器人手臂A和B分别开始沿着路径TA1、TA2、 TB1和TB2移动而不待机的情况下,机器人手臂A和B被认为例如 会在教示点PA2和PB2处相互干涉。
这里,假设在机器人手臂A到达对应于作业内容等的教示点PA2 之后,确定机器人手臂B应当到达教示点PB2的位置。在这样的情况 下,可以通过设定成使得机器人手臂B在教示点PB1和PB2处待机 适当的待机时间(WB1,WB2)来避免机器人手臂彼此干涉。此外, 为了在机器人手臂B到达教示点PB2之前使机器人手臂A到达教示 点PA2,需要设定成使得WB2比WB1更大(更长)。
因此,图12中(或稍后在图14中描述)的示例生成的轨迹使机 器人手臂A和B能够经过相应的教示点而不会导致机器人手臂之间以 及机器人手臂与障碍物之间的干涉。该示例所生成的机器人手臂A和 B的轨迹也会使机器人手臂A在机器人手臂B到达教示点PB2之前到 达教示点PA2。
图9所示的控制器1000包括用作通过网络NW进行通信的通信 单元的网络接口1605。图1中的演算处理器1可以通过网络接口1605 和网络NW与实际机器的机器人手臂1001A和1001B(或图17中的 它们的机器人控制器200A和200B)进行通信,即向/从实际机器的机 器人手臂1001A和1001B(或图17中的它们的机器人控制器200A和 200B)传送/接收控制信息例如教示点数据和轨迹数据。在这样的情况 下,网络接口1605的结构符合IEEE802.3的有线通信的通信标准或 者IEEE 802.11和802.15的无线通信的通信标准。然而,当然可以对 网络NW采用除上述通信标准之外的任意通信标准。
用于实现稍后描述的控制过程的CPU 1601的控制程序可以存储 在由HDD和SSD构成的外部存储单元1604以及ROM 1602的存储 单元(例如EEPROM区域)中。在这样的情况下,用于实现稍后描 述的控制过程的CPU 1601的控制程序可以提供给存储单元,或者可 以通过网络接口1605更新为新的(其他的)程序。或者,用于实现稍 后描述的控制过程的CPU1601的控制程序可以提供给上述的存储单 元,或者可以通过诸如各种磁盘、光盘和闪存这样的存储设备以及通 过它们的驱动单元更新为新的(其他的)程序。因此,处在存储用于实现上述控制过程的CPU 1601的控制程序的条件下的各种存储装置 和存储单元构成了存储本公开的控制过程的计算机可读取存储介质。
应当注意,在机器人控制器200A和200B(图17中)的情况下, 用于驱动机器人手臂1001A和1001B的每个部分的马达和螺线管(未 示出)的驱动电路连接到图9所示的系统中的接口1606。此外,在机 器人控制器200A和200B(图17)的情况下,包括显示器1608和操 作单元1609的用户接口可以用诸如图17中的教示器204A和204B这 样的操作终端代替。
在本实施例中生成用于在开始教示点和目标教示点之间操作机器 人手臂的轨迹的情况下,用在开始教示点和目标教示点之间生成的轨 迹(操作信息)来评估机器人手臂的动作以计算轨迹的评估值(评估 过程)。在试验过程或更新过程中,例如对轨迹内的位置以及使机器人 手臂在该位置待机的待机时间进行适当的变化以改变位置和待机时间 并生成多个新的轨迹(生成过程)。在新的轨迹上执行上述评估过程, 并且基于评估值选择新轨迹中的一个(选择过程)。更具体地,在选择 处理中选择具有较高评估值的轨迹(例如,具有最高评估值的轨迹)。 然后,在试验过程或更新过程中重复地执行生成过程、评估过程和选 择过程。
在本实施例中,对轨迹的路径、待机位置和待机位置处的待机时 间进行变化以在如上所述的更新过程(图13的步骤S203到S210)中 更新并且生成新的轨迹。然而,可以像第一和第二实施例那样仅对轨 迹的路径进行变化以生成新的轨迹。或者,可以仅对上述的待机位置 和待机时间中的任意一个进行变化以生成新的轨迹。此外,可以仅对 路径、待机位置和待机时间中的一个进行变化以生成新的轨迹。另外, 对待机位置和/或待机时间进行变化也可以被认为是改变用于移动机 器人手臂的速度。即,也可以通过改变用于移动机器人手臂的速度来 生成新的轨迹。应当注意,在改变速度时不一定需要停止机器人手臂。 因此,更新过程可以布置成通过重复经由改变在选择过程中选择的轨 迹来生成多个新轨迹、计算在每个改变的轨迹上的机器人手臂的动作 的评估值以及选择具有较高评估值的轨迹的过程来更新轨迹。
图13示出了本实施例的轨迹生成过程的流程。图14A至14D示 出了对应于图13中的每个步骤的控制的机器人手臂的路径和轨迹。也 就是说,下面将参照图13和14描述本实施例的机器人手臂的轨迹生 成过程。
在图13的步骤S200中,模拟这些机器人手臂的机器人手臂模型、 物理约束条件、操作约束条件和相应的教示点被输入到机器人手臂A 和B进行操作的作业空间(图14A)中。对应于机器人手臂A和B的 机器人手臂模型在模拟作业空间的虚拟空间中操作以生成轨迹并优化 它们。应当注意,在轨迹生成过程和优化过程的以下描述中,为了简 化描述,机器人手臂模型和障碍物模型在虚拟空间中的动作可以用就 像是实际机器的机器人手臂和障碍物的动作的方式进行描述。
图14A示出了与图11所示相同的布置和设置,例如有机器人手 臂A、机器人手臂B、障碍物Ob、机器人手臂A的教示点PA1,PA2 和PA3以及机器人手臂B的教示点PB1,PB2和PB3。
机器人手臂A和B的机器人手臂模型是构成机器人手臂的部件的 设计信息。机器人手臂A和B的机器人手臂模型由多边形信息、惯性 矩、质量、位置和取向、轴数等表示。构成机器人手臂模型的物理约 束条件定义了机器人手臂的物理约束条件并且包括机器人手臂的机械 结构、关节扭矩约束、手速度约束、手加速度约束以及根据几何形状 等施加的其他约束条件。
操作约束条件与在机器人手臂B到达教示点PB2之前使机器人手 臂A到达教示点PA2的动作的这种顺序关系有关。操作约束条件例如 由特定物品制造过程的条件等确定,以使得机器人手臂A必须在机器 人手臂B到达教示点PB2之前在教示点PA2处执行特定作业。
在图13的步骤S201和S202中,生成临时中间点(第一中间点 组),并且初始化在相应的临时中间点(第一中间点组)处的临时待机 时间(第一待机时间组)(初始化过程)。
在步骤S201中,在步骤S200中给出的教示点之间生成临时中间 点(第一中间点组)。根据稍后描述的多个新中间点组(第二中间点组) 的评估结果,将移位应用于临时中间点(第一中间点组)以进行移动 从而能够生成最佳轨迹。
在本实施例中,在教示点之间生成三个中间点以作为中间点(第 一和第二中间点组)。如图14B所示,临时中间点PA11,PA12和PA13 (第一中间点组)布置在教示点PA1和教示点PA2之间,并且临时中 间点PA21,PA22和PA23(第一中间点组)布置在教示点PA2和教 示点PA3之间。此外,临时中间点PB11,PB12和PB13(第一中间 点组)布置在教示点PB1和教示点PB2之间,并且临时中间点PB21, PB22和PB23(第一中间点组)布置在教示点PB2和教示点PB3之间。
可以设想在步骤S201中使用路径规划算法作为生成临时中间点 的方法以用于计算避开障碍物的路径。诸如势能法、PRM(概率路线 图方法)和RRT(快速探索随机树方法)这样的已知方法可以被用作 路径生成方法。此外,不限于上述的路径生成方法,也可以应用其他 的路径生成方法例如可见图方法、单元分解方法和维诺图方法。此外, 在不使用路径规划算法的情况下,可以简单地使用对开始教示点和目 标教示点之间的路径进行线性插值这样的处理。
在本实施例中,在使机器人手臂待机的临时中间点(第一中间点 组)处定义临时待机时间(第一待机时间组)。然后,优化中间点(第 一中间点组)并优化相应的待机时间(第一待机时间组)。在这样的情 况下,对临时待机时间(第一待机时间组)进行移位以生成稍后描述 的新待机时间(第二待机时间组)。将新待机时间与新中间点(第二中 间点组)一起评估。在步骤S202中,在使机器人手臂待机的每个临时 中间点(第一中间点组)处的临时待机时间WA1,WA2,WB1和WB2 (第一待机时间组)被初始化为零。
在步骤S203中,将移位分别应用于临时中间点PA11至PA13、 PA21至PA23、PB11至PB13以及PB21至PB23(第一中间点组)以 计算新中间点(第二中间点组)。还将移位分别应用于临时待机时间 WA1、WA2、WB1和WB2(第一待机时间组)以计算新待机时间(第 二待机时间组)。
这里,作为用于进行移位的方法,可以设想对临时待机时间和临 时中间点中的每一个独立地添加随机数值。或者,可以使用这样的方 法:添加通过使用多变量正态分布而生成的随机数值,通过关联临时 待机时间和临时中间点的参数来得到所述多变量正态分布。用于移位 轨迹内的位置或待机时间的随机数的数值范围可以控制成例如随着重 复新轨迹的生成和评估的试验过程或更新过程的重复执行次数的增加 而缩小。也就是说,可以进行控制,以使得当试验过程或更新过程的 重复执行的次数增加时,应用于第一中间点组的每个中间点和第一待 机时间组的每个待机时间的移位量减小。可以通过针对生成用于移位 轨迹内的位置或待机时间的随机数的随机数生成子程序的设定过程来 设定随机数的值和方差值的范围以实现这样的控制。如上所述的控制 使得可以提高要更新和生成的轨迹的精度并且有利地使该过程收敛。
在步骤S204中,通过使用新待机时间(第二待机时间组)和新中 间点(第二中间点组)来准备包括机器人手臂的时间信息的操作信息 (轨迹)(轨迹准备过程)。例如,通过使用每个机器人手臂的新中间点 和最短时间控制,用曲线插值在教示点之间生成路径。之后,根据每 个特定控制周期中的新的待机时间和轨迹生成每个机器人手臂的位置 指令值。待机时间期间的指令值是用于待机教示点所处位置的按待机 时间复制的位置指令值。接下来,将机器人手臂A和B的指令值组合 成一个指令值以便每次生成指示机器人手臂A和B的位置指令值的操 作信息的信息体。操作信息的信息体由诸如RAM 1603和外部存储单元1604(图9)这样的存储器上的诸如表数据的结构表示。该操作信 息可以被认为是控制“轨迹”的控制信息,其不仅包括路径而且包括 待机时间。相应地,有时将在下文中用括号来描述操作信息,例如“(轨 迹)”。
在步骤S205中,基于操作信息(轨迹)确定是否满足上述的操作 约束条件。在不满足约束条件的情况下,过程返回步骤S203,并且在 满足约束条件的情况下,过程进入步骤S206。步骤S205中的“约束 条件”不是由步骤S104中使用的最短时间控制技术约束的物理约束条 件,而是与机器人手臂A是否首先到达教示点PA2的动作的顺序关系 相关的约束条件。
在步骤S206中,存储由新的待机时间(第二待机时间组)、新的 中间点(第二中间点组)、以及基于它们生成的操作信息(轨迹)构成 的组(生成过程)。
在步骤S207中,确定存储的由新待机时间(第二待机时间组)、 新中间点(第二中间点组)和对应操作信息(轨迹)构成的组的数量 是否已达到预定值N。如果存储的多个组的数量在此尚未达到数量N, 则过程返回步骤S203。如果该数量已达到数量N,则过程进入步骤 S208。也就是说,根据本实施例,由新待机时间(第二待机时间组)、 新中间点(第二中间点组)和对应操作信息(轨迹)构成的多个(即, 预定数量N个)组被生成并存储在RAM1603和外部存储单元1604 (图8)的预定存储区域中。
在本实施例中,将要生成和存储的由新待机时间(第二待机时间 组)、新中间点(第二中间点组)和对应操作信息(轨迹)构成的组的 数量设定为N=2以便于其描述。图14B和14C示出了在N=2的情况 下基于新中间点(第二中间点组)和对应操作信息生成的示例性轨迹。 在图14B和14C中,在第一组教示点PA1,PA2,PB1和PB2处的新 待机时间(第二待机时间组)分别是WA11,WA21,WB11和WB21。 此外,通过移位中间点(第一中间点组)获得的教示点PA1和PA2 之间的新中间点(第二中间点组)是PA111,PA121和PA131,并且 教示点PA2和PA3之间的新中间点(第二中间点组)是PA211,PA221 和PA231。此外,教示点PB1和PB2之间的新中间点(第二中间点组) 是PB111,PB121和PB131,并且教示点PB2和PB3之间的新中间点 (第二中间点组)是PB211,PB221和PB231。
以相同的方式,在第二组教示点PA1,PA2,PB1和PB2处的新 待机时间(第二待机时间组)分别是WA12,WA22,WB12和WB22。 此外,通过移位中间点(第一中间点组)获得的教示点PA1和PA2 之间的新中间点(第二中间点组)是PA112,PA122和PA132,并且 教示点PA2和PA3之间的新中间点(第二中间点组)是PA212,PA222 和PA232。此外,教示点PB1和PB2之间的新中间点(第二中间点组) 是PB112,PB122和PB132,并且教示点PB2和PB3之间的新中间点 (第二中间点组)是PB212,PB222和PB232。
在图13的步骤S208中,分别对存储的N个由新待机时间、新中 间点和操作信息构成的组给出评估值(评估过程)。该评估基于操作信 息进行。基于干涉量进行评估以避免机器人手臂与另一物体发生干涉。 机器人手臂与另一物体之间的干涉对应于多个机器人手臂模型之间或 机器人手臂模型与障碍物模型之间的干涉。在本实施例中,机器人手 臂模型与另一物体发生干涉期间(占据同一空间期间)的干涉时间例 如被用作评估值。根据机器人手臂中所包括的多边形信息进行干涉的 确定。此外,除了干涉时间以外,机器人手臂和障碍物(或其他机器 人手臂)之间的嵌入量(例如,干涉距离)也可以被用作评估值。然而,操作信息(轨迹)的评估标准不具体地受限于上述内容,而可以 是其他的评估标准。
在步骤S209中,基于N个由新待机时间、新中间点和操作信息 构成的组的评估值,施加移位并移动临时待机时间(第一待机时间组) 和临时中间点(第一中间点组)。以下的方法被用作移动临时待机时间 (第一待机时间组)和临时中间点(第一中间点组)的方法。例如,临 时第一待机时间组和第一中间点组被移动到在由新待机时间(第二待 机时间组)、新中间点和对应操作信息构成的组中具有最小(最佳)评 估值的新待机时间和新中间点。或者,也可以使用这样的方法:将临 时待机时间(第一待机时间组)和临时中间点(第一中间点组)移动 到通过使用由新待机时间(第二待机时间组)、新中间点和对应操作信 息构成的组进行加权而获得的加权平均值。
图14D示出了临时待机时间(第一待机时间组)和临时中间点(第 一中间点组)被移动到其评估值有利的第二组的新待机时间(第二待 机时间组)和新中间点(第二中间点组)的示例。
重复执行由步骤S203至步骤S209构成的生成过程、轨迹生成过 程和评估过程(试验过程)。在图13的步骤S210中确定该循环过程(试 验过程)的退出条件。
在步骤S210中,确定是否满足中断由步骤S203至步骤S209构 成的循环过程(试验过程)的条件。如果不满足中断条件,则过程返 回步骤S203。如果满足中断条件,则过程进入步骤S211以退出循环 过程(试验过程)。
本实施例旨在避免机器人手臂与障碍物发生干涉。由此,在步骤 S210中确定的中断条件被设定成使得在N组新待机时间、新中间点和 操作信息中的最小评估值归零。
在步骤S211中,通过使用临时待机时间(第一待机时间组)和临 时中间点(第一中间点组)来生成分别操作机器人手臂A和B的轨迹 (轨迹生成过程)。
如上所述,本实施例使得可以生成使多个机器人手臂能够在保持 到达教示点的顺序的同时避免彼此干涉以及与障碍物发生干涉的轨 迹。此外,本实施例使得能够在生成用于评估的轨迹时添加诸如操作 约束条件、物理约束条件和最短时间控制这样的控制。由此,可以生 成在符合作业安排的同时高效地操作多个机器人手臂且不会导致任何 机械问题的轨迹。
第四实施例
在第三实施例中已经描述了生成轨迹的优化技术,所述轨迹使多 个机器人手臂能够在不违背到达教示点的顺序的约束条件的情况下避 免彼此干涉以及与障碍物发生干涉。第四实施例旨在生成这样的轨迹, 所述轨迹使多个机器人手臂能够在最短时间内操作,同时在不违背到 达教示点的顺序的约束条件的情况下避免彼此干涉以及与障碍物发生 干涉。
本实施例的机器人系统的硬件结构与第三实施例相同,并且本实 施例的轨迹生成方法的主要步骤与第三实施例的图13中的流程图相 符。然而,第四实施例在临时待机时间的初始值、临时中间点的初始 值、操作约束方法、操作评估方法和中断条件的配置等方面是不同的。
在第四实施例中,通过执行图13所示的过程,并且通过使用满足 中断条件的临时待机时间(第一待机时间组)和临时中间点(第一中 间点组)如下所述地再次执行根据图13的过程部分修改的过程来生成 优化的轨迹。
根据图13的过程部分修改的过程与第三实施例的图13中的过程 的不同之处在于首先执行初始化过程。在第三实施例中,基于图13 的步骤S201中的路径规划技术生成临时中间点(第一中间点组),并 且在步骤S202中将临时待机时间(第一待机时间组)初始化为零。然 而,在本实施例的步骤S202中,对在图13的步骤S210和S211中收 敛并生成的临时待机时间(第一待机时间组)和临时中间点(第一中 间点组)实施初始化。所以,在该过程的第一路径中,第三实施例中 的图13的步骤S211被改变成不立即生成轨迹。
因此,在本实施例中使用满足第三实施例的过程中的中断条件的 临时待机时间(第一待机时间组)和临时中间点(第一中间点组)作 为初始值。该布置使得可以通过利用已经被确定为避免了机器人手臂 彼此干涉以及与障碍物发生干涉的临时待机时间(第一待机时间组) 和临时中间点(第一中间点组)作为开始点来执行减少操作时间的轨 迹优化过程。
在确定轨迹是否满足第三实施例的图13的过程中的步骤S205中 的约束条件时,已经确定了在机器人手臂B到达教示点PB2之前机器 人手臂A是否到达教示点PA2。然而,在本实施例中,除了上述过程 之外,还确定了机器人手臂是否彼此干涉或者机器人手臂是否与障碍 物发生干涉。然后,在机器人手臂彼此干涉或者机器人手臂与障碍物 发生干涉的情况下,新待机时间和新中间点无效,并且过程返回图3 中的步骤S203。
此外,通过使用干涉时间或嵌入量作为第三实施例的图13的步骤 S208中的评估值来评估操作。然而,在第四实施例中,使用从赋予多 个机器人手臂(即机器人手臂A和B)的教示点完成所有特定动作所 需的需要时间作为评估值。通过生成这样的评估值,可以生成将过程 作业时间最小化的临时待机时间(第一待机时间组)和临时中间点(第 一中间点组)。
此外,在第三实施例中,图13的步骤S210中的中断条件已经被 设定成使得在N组新待机时间,新中间点和操作信息中的最小评估值 归零。然而,在第四实施例中,步骤S210中的中断条件被设定成从步 骤S203到步骤S209的过程(试验过程)的重复次数是否达到预定次 数或者评估值不连续变化的过程的次数是否达到预定次数。该布置使 得可以应对试验过程不收敛并且发散的情况并且能够检测到临时待机 时间(第一待机时间组)和临时中间点(第一中间点组)基本上在试 验过程中收敛。
在第四实施例中,临时待机时间(第一待机时间组)和临时中间 点(第一中间点组)被用于在步骤S211中生成轨迹。然而,可以存储 在重复步骤S203至S209(试验过程)时的临时待机时间(第一待机 时间组)和临时中间点(第一中间点组)的变化历史,并且最有利的 第一待机时间组和第一中间点组可以被用于生成轨迹。例如,在存储 历史中获得了最有利的评估值(例如最短操作时间)的临时待机时间 (第一待机时间组)和临时中间点(第一中间点组)被用于生成轨迹。
如上所述,根据第四实施例,通过使用满足第三实施例的图13 的过程中的中断条件的临时待机时间(第一待机时间组)和临时中间 点(第一中间点组),再次执行对如图13所述的第三实施例部分修改 的过程。几乎为双路径配置的这种优化过程使得可以生成将操作时间 最小化、同时满足到达多个机器人的目标教示点的顺序以及避免机器 人手臂彼此干涉并避免与障碍物发生干涉的所有约束条件的轨迹。
以上已经描述了在将避免干涉时的干涉量用作评估值的优化(第 三实施例)之后使用多个需要时间作为评估值的本实施例(第四实施 例)的轨迹生成过程。然而,使用多个机器人手臂完成根据给定教示 点得到的所有特定动作所需的需要时间作为评估值的轨迹生成过程可 以在不一定需要考虑避免干涉的情况下单独执行。
此外,如第四实施例中所述,可以分别使用不同的评估值生成和 优化多个路径中的轨迹。也就是说,在分别使用不同的评估值生成和 优化多个路径中的轨迹的情况下,本公开不限于轨迹生成过程或其优 化控制中的路径的数量。例如,在存在期望用于评估轨迹的多个评估 值的情况下,可以通过例如三个或更多个路径配置来进行依次获取满 足中断条件的临时待机时间(第一待机时间组)和临时中间点(第一 中间点组)的控制。
在这样的情况下,准备执行初始化过程、生成过程、轨迹生成过 程和评估过程的试验过程的多个路径,并且在每个路径的评估过程中 生成相互不同的评估值。然后,在多个路径的评估过程中使用相互不 同的评估值,以使用在评估过程中满足中断条件的临时待机时间(第 一待机时间组)和临时中间点(第一中间点组)作为后续路径中的初 始化过程中的待机时间和中间点的初始值。然后,通过使用满足最终 路径的评估过程的中断条件的临时待机时间(第一待机时间组)和临 时中间点(第一中间点组)来生成轨迹。
第五实施例
已经在第三和第四实施例中描述了主要在两个机器人手臂的配置 中的轨迹生成过程及其优化控制。在第五实施例的机器人系统中将举 例说明除了机器人手臂A和B之外在作业空间中还布置有机器人手臂 C的配置。本实施例旨在生成这样的轨迹,所述轨迹使机器人手臂能 够经由它们的教示点进行操作而不会导致相互干涉并且当然也不会与 障碍物发生干涉。在此情况下,本实施例中的机器人手臂A、B和C 的动作采用在机器人手臂B到达教示点PB2之前使机器人手臂A到 达教示点PA2的约束条件。
在第五实施例中的轨迹生成过程的主要步骤也与图13的流程图 相符。图15A至15D示出了图13中的主要步骤的控制。在本实施例 中,机器人手臂C以及机器人手臂C的教示点PC1和PC2被新添加 到第三实施例的配置中,如图15A所示。
关于机器人手臂C,给出教示点PC1和PC2,并且生成机器人手 臂C从教示点PC1移动到教示点PC2的轨迹。在此情况下,生成的 轨迹使得机器人手臂C可以在不干涉障碍物、当然也不干涉其他机器 人手臂的情况下进行操作。还假设机器人手臂C在机器人手臂A和B的动作方面没有顺序关系的约束条件。
通过与第三实施例的图13中相同的过程也可以在这样的配置中 生成机器人手臂A、B和C的最佳轨迹。在这样的情况下,首先,在 图13的步骤S200中,对应于图15A所示的配置,除了机器人手臂A 和B之外,还要输入机器人手臂C的模型、物理约束条件、操作约束 条件、教示点PC1和PC2。这里,如上所述,假设机器人手臂C在 本实施例中与其他的机器人手臂在动作方面没有顺序关系的操作约束 条件。
在图13的步骤S201中,除了第三实施例中的过程之外,还生成 临时中间点PC11,PC12和PC13(第一中间点组)的初始值(图15B)。 此外,除了第三实施例的机器人手臂A和B之外,在步骤202中对于 机器人手臂C,临时待机时间WC1(第一待机时间组)的初始值也被初始化为零。
此外,在图13的步骤S203至步骤S207中,类似于第三实施例, 对于机器人手臂C也生成新待机时间(第二待机时间组)和新中间点 (第二中间点组)。此时,类似于第三实施例,丢弃不满足操作约束条 件的新待机时间和新中间点的组,并且计算满足操作约束条件的N组 (N=2)新待机时间(第二待机时间组)和新中间点(第二中间点组)。
图15C示出了对应于新中间点(第二中间点组)的示例性路径。 这里,除了第三实施例中的过程之外,第一组教示点PC1和PC2处 的新待机时间(第二待机时间组)分别设定为WC11和WC21。此外, PC111,PC121和PC131被生成作为教示点PC1和PC2之间的新中 间点(第二中间点组)。以相同的方式,第二组教示点PC1和PC2处 的新待机时间(第二待机时间组)分别设定为WC12和WC22。此外, PC112,PC122和PC132被生成作为教示点PC1和PC2之间的新中 间点(第二中间点组)。
在步骤S208中,在机器人手臂相互干涉或与障碍物发生干涉时, 根据机器人手臂A、B和C的新待机时间(第二待机时间组)和新中 间点(第二中间点组)生成操作信息(轨迹)以计算评估值。
在步骤S209中,类似于第三实施例,基于第二组(N=2)的新待 机时间(第二待机时间组)、新中间点(第二中间点组)和对应操作信 息(轨迹)的评估值的评估结果来移动临时第一待机时间组和第一中 间点组。在图15D所示的示例中,采用第二组的新待机时间(第二待 机时间组)和新中间点(第二中间点组),并且将临时待机时间(第一 待机时间组)和临时中间点(第一中间点组)移动至此。
在图13的步骤S210中,以与第三实施例相同的方式确定是否满 足中断试验过程(步骤S203至步骤S209)的条件。然后,在满足中 断条件的情况下,以与第三实施例相同的方式通过使用满足步骤S211 中的中断条件的临时待机时间(第一待机时间组)和临时中间点(第 一中间点组)来生成机器人手臂A、B和C的轨迹。
如上所述,根据第五实施例,可以生成三个机器人手臂的轨迹, 其能够操作机器人手臂且同时避免彼此干涉以及与障碍物发生干涉, 同时还能保持到达教示点的顺序的约束条件。此外,可以在用于评估 的轨迹生成过程中添加诸如操作约束条件、物理约束条件和最短时间 控制这样的控制。因此,可以生成能够在符合作业过程的同时高效地 操作多个机器人手臂而不会导致任何机械问题的轨迹。
在第五实施例中,已经通过将机器人手臂C添加到第三实施例来 描述了生成避免干涉的轨迹的示例性优化。然而,上述第四实施例的 控制也可以在三臂配置的机器人系统中实施。也就是说,通过使用满 足中断条件并且在第五实施例的过程(第一路径)中获取的临时待机 时间(第一待机时间组)和临时中间点(第一中间点组)来执行第四 实施例的控制。该布置使得可以通过使用操作时间作为评估值来生成 在操作时间方面的最佳轨迹且同时避免干涉。如上所述,本公开的轨 迹生成过程及其优化控制可以生成机器人手臂的轨迹而不受机器人手 臂的数量和评估指标的限制。
机器人系统的配置
这里,将描述包括用上述第三至第五实施例生成的机器人轨迹控 制的多个机器人手臂的机器人系统的具体示例性配置以及在将该机器 人系统应用于制造系统的情况下的配置。
图17示出了比图11的示意图的图示更具体的机器人手臂A和B 的示例性配置。在图17中,机器人手臂1001A和1001B分别对应于 上述的机器人手臂A和B,并且具有六轴(关节)竖直铰接配置。通 过驱动每个关节的伺服马达的伺服控制,可以将机器人手臂1001A和1001B的每个关节控制到期望的位置和取向。
机器人手臂1001A和1001B在其末端处附接有诸如手202A和 202B这样的工具。机器人手臂1001A和1001B可以通过手202A和202B抓取工件203A和203B,并且可以执行组装和加工这些工件的制 造作业。工件203A和203B例如是汽车、电子装置和电气装置这样的 物品(工业产品)的构成部分。机器人手臂1001A和1001B可以作为 制造单元布置在制造系统(生产线)中。
机器人手臂1001A和1001B的操作分别由机器人控制器200A和 200B控制。机器人手臂1001A和1001B的操作可以通过连接到机器 人控制器200A和200B的操作终端204(例如教示器)进行编程(教 示)。例如,通过经由操作终端204顺序地指定教示点,可以对机器人手臂1001A和1001B的特定部分(TCP以及手臂末端处的工具附接 面)沿着期望路线移动的操作进行编程。
机器人手臂1001A和1001B或者机器人控制器200A和200B可 以通过网络NW从上述的轨迹生成装置(图1中的机器人模拟器)接 收优化的中间教示点或轨迹数据。由此,作为制造单元布置在制造系 统(生产线)中的机器人手臂1001A和1001B可以通过优化的中间教示点或轨迹数据进行操作并且可以制造物品。
本公开也可以通过以下的过程实现:通过网络或存储介质将实现 上述实施例的一个或多个功能的程序提供给系统或装置,并且由系统 或装置的计算机中的一个或多个处理器读取并执行程序。本公开也可 以通过实现一个或多个功能的电路(例如ASIC)实现。
其他实施例
本发明的(一个或多个)实施例也可以通过读出并执行记录在存 储介质(其也可以更完整地称为“非暂时性计算机可读取存储介质”) 上的计算机可执行指令(例如,一个或多个程序)以执行上述(一个 或多个)实施例中的一个或多个的功能和/或包括用于执行上述(一个 或多个)实施例中的一个或多个的功能的一个或多个电路(例如,专 用集成电路(ASIC))的系统或装置的计算机来实现,以及通过由系 统或装置的计算机例如通过从存储介质读出并执行计算机可执行指令 以执行上述(一个或多个)实施例中的一个或多个的功能和/或控制一 个或多个电路执行上述(一个或多个)实施例中的一个或多个的功能 的方法来实现。计算机可以包括一个或多个处理器(例如,中央处理 单元(CPU)、微处理单元(MPU))并且可以包括独立计算机或独立 处理器的网络以读出并执行计算机可执行指令。计算机可执行指令可 以例如从网络或存储介质提供给计算机。存储介质可以包括例如硬盘、 随机存取存储器(RAM)、只读存储器(ROM)、分布式计算系统的 存储器、光盘(如压缩盘(CD)、数字通用光盘(DVD)或蓝光光盘 (BD)TM)、闪存装置、存储卡等。
其他实施例
本发明的实施例还可以通过如下的方法来实现,即,通过网络或 者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统 或装置,该系统或装置的计算机或是中央处理单元(CPU)、微处理单 元(MPU)读出并执行程序的方法。
尽管已经参考示例性实施例描述了本发明,但是应当理解,本发 明不限于所公开的示例性实施例。所附权利要求的范围应被赋予最广 泛的解释,以便包含所有的这些变型以及等同的结构和功能。

Claims (22)

1.一种轨迹生成方法,所述轨迹生成方法用于生成在开始教示点和目标教示点之间操作机器人手臂的轨迹,所述轨迹生成方法包括:
在所述开始教示点和所述目标教示点之间生成多个轨迹的第一生成过程;
评估所述机器人手臂在所述第一生成过程中生成的每个轨迹上的动作以计算每个轨迹的评估值的评估过程;
基于计算的评估值选择所述多个轨迹中的一个的选择过程;以及
更新过程,所述更新过程通过重复以下的过程来更新轨迹:经由改变在所述选择过程中选择的轨迹而生成多个新轨迹的过程、计算所述机器人手臂在每个改变的轨迹上的动作的评估值的过程、以及基于计算的评估值选择轨迹的过程。
2.根据权利要求1所述的轨迹生成方法,其中所述更新过程包括:
对布置在操作所述机器人手臂的轨迹的开始教示点和目标教示点之间的第一中间教示点组进行不同的移位以生成多个第二中间教示点组的中间教示点生成过程,以及
基于多个第二中间教示点组生成操作所述机器人手臂的多个新轨迹的轨迹生成过程。
3.根据权利要求2所述的轨迹生成方法,其中在所述中间教示点生成过程中生成允许所述机器人手臂避开布置在所述机器人手臂操作的空间中的另一物体的多个中间教示点组。
4.根据权利要求2所述的轨迹生成方法,其中在所述中间教示点生成过程中使分别与相邻的中间教示点关联的参数作用于每一个第二中间教示点组以平滑连接多个中间教示点的路径。
5.根据权利要求2所述的轨迹生成方法,其中在所述轨迹生成过程中基于多个第二中间教示点组生成多个新轨迹以缩短所述机器人手臂进行操作的操作时间。
6.根据权利要求1所述的轨迹生成方法,其中基于所述机器人手臂和布置在所述机器人手臂操作的空间中的另一物体之间的干涉量来生成所述评估值,并且基于所述评估值在减小所述干涉量的方向上改变选择的轨迹以在所述更新过程中生成新轨迹。
7.根据权利要求6所述的轨迹生成方法,其中所述干涉量是所述机器人手臂和所述另一物体占据同一空间的干涉时间、或者是所述机器人手臂和所述另一物体之间的干涉距离。
8.根据权利要求1所述的轨迹生成方法,其中在要评估的轨迹上操作所述机器人手臂的情况下基于操作时间来生成所述评估值。
9.根据权利要求1所述的轨迹生成方法,其中所述更新过程基于计算的评估值满足预定条件这样的条件来中断轨迹的更新。
10.根据权利要求1所述的轨迹生成方法,其中所述多个新轨迹以满足下列约束中的任意一个或多个约束的方式生成:与所述机器人手臂相关的关节扭矩约束、关节角速度约束、关节角加速度约束、加加速度约束、手速度约束和手加速度约束。
11.根据权利要求1所述的轨迹生成方法,其中所述更新过程通过改变使所述机器人手臂待机的待机位置和/或在选定轨迹内的待机时间来生成所述多个新轨迹。
12.根据权利要求11所述的轨迹生成方法,其中生成所述机器人手臂与另一机器人手臂在所述机器人手臂在新轨迹上操作的空间内进行操作的干涉量作为所述评估值,并且在所述更新过程中在所述干涉量减小的方向上改变所述待机位置和/或待机时间。
13.根据权利要求1至12中任一项所述的轨迹生成方法,其中所述更新过程基于所述更新过程的重复执行的次数达到预定次数而中断轨迹的更新。
14.根据权利要求1至12中任一项所述的轨迹生成方法,其中所述更新过程基于所述评估值不连续变化的次数达到预定次数而中断轨迹的更新。
15.根据权利要求11所述的轨迹生成方法,其中基于所述开始教示点、所述目标教示点以及布置在这些教示点之间的中间点用曲线插值生成所述机器人手臂的预定部分通过的路径,并且在生成所述多个新轨迹时经由使用最短时间控制来确定所述机器人手臂通过所述路径的速度。
16.根据权利要求1所述的轨迹生成方法,其中生成所述机器人手臂完成由教示点指定的所有操作所需的需要时间作为所述评估值,并且在所述更新过程中通过基于所述评估值在缩短所述需要时间的方向上改变选择的轨迹来生成新轨迹。
17.根据权利要求1所述的轨迹生成方法,其中当所述更新过程的重复执行的次数增加时改变选择的轨迹的变化量减小。
18.根据权利要求1所述的轨迹生成方法,其中所述更新过程通过改变用于移动所述机器人手臂的速度来生成所述多个新轨迹。
19.一种存储控制程序的非暂时性计算机可读取介质,所述控制程序使控制器执行如权利要求1所述的轨迹生成方法的每一个过程。
20.一种轨迹生成装置,所述轨迹生成装置用于生成在开始教示点和目标教示点之间操作机器人手臂的轨迹,所述轨迹生成装置包括控制器,所述控制器执行:
在所述开始教示点和所述目标教示点之间生成多个轨迹的第一生成过程;
评估所述机器人手臂在所述第一生成过程中生成的每个轨迹上的动作以计算评估值的评估过程;
基于计算的评估值选择所述多个轨迹中的一个的选择过程;以及
更新过程,所述更新过程通过重复以下的过程来更新轨迹:经由改变在所述选择过程中选择的轨迹而生成多个新轨迹的过程、计算所述机器人手臂在每个改变的轨迹上的动作的评估值的过程、以及基于计算的评估值选择轨迹的过程。
21.一种制造系统,所述制造系统包括:
机器人手臂;以及
控制器,所述控制器用于通过在使用如权利要求1所述的轨迹生成方法生成的轨迹上操作所述机器人手臂组装工件来制造物品。
22.一种用于制造物品的制造方法,所述制造方法包括通过在使用如权利要求1所述的轨迹生成方法生成的轨迹上操作机器人手臂来组装工件。
CN201910101556.2A 2018-02-05 2019-02-01 轨迹生成方法和轨迹生成装置 Active CN110116405B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2018018583A JP7158862B2 (ja) 2018-02-05 2018-02-05 情報処理方法及び情報処理装置
JP2018-018583 2018-02-05
JP2018178064A JP7210201B2 (ja) 2018-09-21 2018-09-21 情報処理方法、プログラム、記録媒体、情報処理装置、ロボットシステム、物品の製造方法
JP2018-178064 2018-09-21

Publications (2)

Publication Number Publication Date
CN110116405A true CN110116405A (zh) 2019-08-13
CN110116405B CN110116405B (zh) 2022-12-09

Family

ID=67475931

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910101556.2A Active CN110116405B (zh) 2018-02-05 2019-02-01 轨迹生成方法和轨迹生成装置

Country Status (2)

Country Link
US (2) US11458626B2 (zh)
CN (1) CN110116405B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111546347A (zh) * 2020-06-03 2020-08-18 中国人民解放军海军工程大学 一种适用于动态环境下的机械臂路径规划方法
CN112975905A (zh) * 2019-12-16 2021-06-18 电装波动株式会社 用于对机器人操作进行编程的支持装置
CN113290553A (zh) * 2020-02-05 2021-08-24 株式会社电装 轨迹生成装置、多连杆系统以及轨迹生成方法
CN113386127A (zh) * 2020-03-13 2021-09-14 欧姆龙株式会社 干涉判断装置及方法、存储介质
CN113954073A (zh) * 2021-11-08 2022-01-21 北京华航唯实机器人科技股份有限公司 机器人活动部件的轨迹分析方法及装置、机器人设备
CN114585482A (zh) * 2019-11-27 2022-06-03 株式会社日立制作所 控制装置、控制方法以及机器人系统
CN114851211A (zh) * 2022-07-07 2022-08-05 国网瑞嘉(天津)智能机器人有限公司 臂架轨迹的规划方法、装置、服务器及存储介质

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017223061A1 (en) * 2016-06-20 2017-12-28 Hypertherm, Inc. Systems and methods for planning paths to guide robots
US10919153B2 (en) * 2017-03-06 2021-02-16 Canon Kabushiki Kaisha Teaching method for teaching operations to a plurality of robots and teaching system used therefor
DK3485730T3 (da) 2017-11-21 2021-09-06 Techtronic Cordless Gp Koldluftforstøverapparat
US11511415B2 (en) * 2018-06-26 2022-11-29 Teradyne, Inc. System and method for robotic bin picking
JP6838017B2 (ja) * 2018-08-31 2021-03-03 ファナック株式会社 レーザ加工のための教示装置、教示方法、及び教示プログラム
DE102018122376B3 (de) * 2018-09-13 2019-11-07 Pilz Gmbh & Co. Kg Verfahren und Vorrichtung zur kollisionsfreien Bewegungsplanung eines Manipulators
CN110941258A (zh) * 2018-09-21 2020-03-31 日本电产株式会社 移动体的控制方法及移动体的控制系统
JP6838028B2 (ja) * 2018-10-31 2021-03-03 ファナック株式会社 自動プログラム修正装置および自動プログラム修正方法
JP7028151B2 (ja) * 2018-12-14 2022-03-02 トヨタ自動車株式会社 軌道生成装置
JP7042209B2 (ja) * 2018-12-25 2022-03-25 株式会社日立製作所 軌道生成装置、軌道生成方法、及びロボットシステム
US11059173B2 (en) * 2018-12-30 2021-07-13 UBTECH Robotics Corp. Robot joint motion control method, device and robot using the same
EP3924152A1 (en) 2019-02-11 2021-12-22 Hypertherm, INC. Motion distribution in robotic systems
US11358282B2 (en) * 2019-04-08 2022-06-14 Teradyne, Inc. System and method for constraint management of one or more robots
US11577392B2 (en) * 2019-08-30 2023-02-14 Intrinsic Innovation Llc Splitting transformers for robotics planning
US11747787B2 (en) 2019-08-30 2023-09-05 Intrinsic Innovation Llc Combining transformers for robotics planning
JP6792184B1 (ja) * 2019-11-27 2020-11-25 株式会社安川電機 シミュレーションシステム、シミュレーション方法、シミュレーションプログラム、ロボットの製造方法、およびロボットシステム
JP2021133481A (ja) * 2020-02-28 2021-09-13 株式会社日立製作所 ロボットの制御システムおよび制御方法
WO2021178872A1 (en) * 2020-03-06 2021-09-10 Embodied Intelligence Inc. Trajectory optimization using neural networks
WO2021178865A1 (en) * 2020-03-06 2021-09-10 Embodied Intelligence Inc. Trajectory optimization using neural networks
CN111331600B (zh) * 2020-03-10 2021-04-30 库卡机器人制造(上海)有限公司 轨迹调整方法及相关设备
CN111687843B (zh) * 2020-06-19 2022-02-15 浙江大学 一种使用机械臂抬起最少次数完成覆盖任务的方法
CN111890353B (zh) * 2020-06-24 2022-01-11 深圳市越疆科技有限公司 机器人示教轨迹复现方法、装置及计算机可读存储介质
JP7435434B2 (ja) * 2020-12-22 2024-02-21 株式会社デンソー レイアウト生成装置、レイアウト生成方法およびレイアウト生成プログラム
JP2022149202A (ja) * 2021-03-25 2022-10-06 セイコーエプソン株式会社 ロボットの制御プログラムの生成方法、ロボットの制御プログラムを生成する処理をプロセッサーに実行させるコンピュータープログラム、及び教示装置
CN113689468A (zh) * 2021-08-17 2021-11-23 珠海格力智能装备有限公司 工件加工装置的控制方法及其装置、计算机可读存储介质
CN115741688A (zh) * 2022-11-15 2023-03-07 福州大学 基于改进遗传算法的六自由度机械臂轨迹优化方法
CN115488864B (zh) * 2022-11-17 2023-03-24 广东隆崎机器人有限公司 机器人示教轨迹优化方法、装置、电子设备及存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040133309A1 (en) * 2002-11-06 2004-07-08 Manfred Huttenhofer Method and device for controlling movements in the case of manipulators
US20040199848A1 (en) * 2002-03-29 2004-10-07 Kazuhiko Tamesue Error correction decoding apparatus and error correction decoding method
CN101770235A (zh) * 2009-01-01 2010-07-07 索尼株式会社 路径计划装置、路径计划方法和计算机程序
CN102917843A (zh) * 2010-11-26 2013-02-06 日商乐华股份有限公司 机器人的控制装置及控制方法
CN103425053A (zh) * 2012-05-18 2013-12-04 发那科株式会社 机器人系统的动作仿真装置
US8700307B1 (en) * 2013-03-04 2014-04-15 Mitsubishi Electric Research Laboratories, Inc. Method for determining trajectories manipulators to avoid obstacles
CN104254430A (zh) * 2012-03-07 2014-12-31 佳能株式会社 机器人控制设备、机器人装置、机器人控制方法、用于执行机器人控制方法的程序、及在其上记录程序的记录介质
US20160016311A1 (en) * 2014-07-16 2016-01-21 Google Inc. Real-Time Determination of Object Metrics for Trajectory Planning
WO2016206798A2 (de) * 2015-06-25 2016-12-29 Kuka Roboter Gmbh Abfahren einer vorgegebenen bahn mit einem roboter
US20170348856A1 (en) * 2014-12-25 2017-12-07 Kawasaki Jukogyo Kabushiki Kaisha Method of automatically avoiding obstacle for arm robot and control device
CN107571261A (zh) * 2017-08-30 2018-01-12 中国科学院自动化研究所 示教机器人多空间轨迹规划的平滑过渡方法及装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04201081A (ja) 1990-11-29 1992-07-22 Honda Motor Co Ltd ロボット制御装置
JPH10260714A (ja) 1997-03-21 1998-09-29 Nissan Motor Co Ltd ロボット干渉域設定プログラム作成方法
JPH11347984A (ja) 1998-06-02 1999-12-21 Nissan Motor Co Ltd ロボット制御装置
JP3698007B2 (ja) 2000-03-24 2005-09-21 Jfeエンジニアリング株式会社 制御装置及び制御方法
US7447593B2 (en) * 2004-03-26 2008-11-04 Raytheon Company System and method for adaptive path planning
JP4667764B2 (ja) 2004-04-23 2011-04-13 トヨタ自動車株式会社 経路設定方法
JP4736607B2 (ja) * 2005-08-05 2011-07-27 株式会社デンソーウェーブ ロボット制御装置
JP4941068B2 (ja) 2007-04-16 2012-05-30 トヨタ自動車株式会社 経路作成方法及び経路作成装置
US7979158B2 (en) * 2007-07-31 2011-07-12 Rockwell Automation Technologies, Inc. Blending algorithm for trajectory planning
KR101667032B1 (ko) * 2009-10-30 2016-10-17 삼성전자 주식회사 로봇의 경로 계획 장치 및 그 방법
JP5724919B2 (ja) * 2012-03-22 2015-05-27 トヨタ自動車株式会社 軌道生成装置、移動体、軌道生成方法及びプログラム
KR102009482B1 (ko) * 2012-10-30 2019-08-14 한화디펜스 주식회사 로봇의 경로계획 장치와 방법 및 상기 방법을 구현하는 프로그램이 기록된 기록 매체
US9242376B2 (en) * 2013-03-28 2016-01-26 Denso Wave Incorporated Method of generating path of multiaxial robot and control apparatus for the multiaxial robot
JP5860081B2 (ja) 2014-02-27 2016-02-16 ファナック株式会社 ロボットの動作経路を生成するロボットシミュレーション装置
JP5877867B2 (ja) 2014-04-25 2016-03-08 ファナック株式会社 複数台のロボットのシミュレーション装置
JP5908544B2 (ja) * 2014-08-11 2016-04-26 ファナック株式会社 駆動軸のジャークを低下させるロボットプログラムを生成するロボットプログラム生成装置
JP6371670B2 (ja) * 2014-10-28 2018-08-08 シャープ株式会社 ロボット、ロボットの制御方法、およびプログラム
WO2017223061A1 (en) * 2016-06-20 2017-12-28 Hypertherm, Inc. Systems and methods for planning paths to guide robots
JP7009051B2 (ja) 2016-08-04 2022-01-25 キヤノン株式会社 レイアウト設定方法、制御プログラム、記録媒体、制御装置、部品の製造方法、ロボットシステム、ロボット制御装置、情報処理方法、情報処理装置
JP6567101B2 (ja) 2017-03-06 2019-08-28 キヤノン株式会社 教示方法、ロボットの動作方法、プログラム、記憶媒体、教示装置
CN107053176B (zh) * 2017-04-09 2019-07-12 北京工业大学 一种六自由度机器人末端空间曲线轨迹的误差建模方法
JP2017152051A (ja) 2017-06-07 2017-08-31 株式会社日立産機システム 移動体の走行制御手段に対して制御指令を出力する位置検出装置を取り付けた移動体及びその位置検出装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040199848A1 (en) * 2002-03-29 2004-10-07 Kazuhiko Tamesue Error correction decoding apparatus and error correction decoding method
US20040133309A1 (en) * 2002-11-06 2004-07-08 Manfred Huttenhofer Method and device for controlling movements in the case of manipulators
CN101770235A (zh) * 2009-01-01 2010-07-07 索尼株式会社 路径计划装置、路径计划方法和计算机程序
CN102917843A (zh) * 2010-11-26 2013-02-06 日商乐华股份有限公司 机器人的控制装置及控制方法
CN104254430A (zh) * 2012-03-07 2014-12-31 佳能株式会社 机器人控制设备、机器人装置、机器人控制方法、用于执行机器人控制方法的程序、及在其上记录程序的记录介质
CN103425053A (zh) * 2012-05-18 2013-12-04 发那科株式会社 机器人系统的动作仿真装置
US8700307B1 (en) * 2013-03-04 2014-04-15 Mitsubishi Electric Research Laboratories, Inc. Method for determining trajectories manipulators to avoid obstacles
US20160016311A1 (en) * 2014-07-16 2016-01-21 Google Inc. Real-Time Determination of Object Metrics for Trajectory Planning
US20170348856A1 (en) * 2014-12-25 2017-12-07 Kawasaki Jukogyo Kabushiki Kaisha Method of automatically avoiding obstacle for arm robot and control device
WO2016206798A2 (de) * 2015-06-25 2016-12-29 Kuka Roboter Gmbh Abfahren einer vorgegebenen bahn mit einem roboter
CN107571261A (zh) * 2017-08-30 2018-01-12 中国科学院自动化研究所 示教机器人多空间轨迹规划的平滑过渡方法及装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114585482A (zh) * 2019-11-27 2022-06-03 株式会社日立制作所 控制装置、控制方法以及机器人系统
CN114585482B (zh) * 2019-11-27 2023-08-11 株式会社日立制作所 控制装置、控制方法以及机器人系统
CN112975905A (zh) * 2019-12-16 2021-06-18 电装波动株式会社 用于对机器人操作进行编程的支持装置
CN113290553A (zh) * 2020-02-05 2021-08-24 株式会社电装 轨迹生成装置、多连杆系统以及轨迹生成方法
CN113386127A (zh) * 2020-03-13 2021-09-14 欧姆龙株式会社 干涉判断装置及方法、存储介质
CN113386127B (zh) * 2020-03-13 2023-10-20 欧姆龙株式会社 干涉判断装置及方法、存储介质
CN111546347A (zh) * 2020-06-03 2020-08-18 中国人民解放军海军工程大学 一种适用于动态环境下的机械臂路径规划方法
CN111546347B (zh) * 2020-06-03 2021-09-03 中国人民解放军海军工程大学 一种适用于动态环境下的机械臂路径规划方法
CN113954073A (zh) * 2021-11-08 2022-01-21 北京华航唯实机器人科技股份有限公司 机器人活动部件的轨迹分析方法及装置、机器人设备
CN113954073B (zh) * 2021-11-08 2024-03-22 北京华航唯实机器人科技股份有限公司 机器人活动部件的轨迹分析方法及装置、机器人设备
CN114851211A (zh) * 2022-07-07 2022-08-05 国网瑞嘉(天津)智能机器人有限公司 臂架轨迹的规划方法、装置、服务器及存储介质
CN114851211B (zh) * 2022-07-07 2022-09-23 国网瑞嘉(天津)智能机器人有限公司 臂架轨迹的规划方法、装置、服务器及存储介质

Also Published As

Publication number Publication date
US20190240833A1 (en) 2019-08-08
CN110116405B (zh) 2022-12-09
US11458626B2 (en) 2022-10-04
US20220402132A1 (en) 2022-12-22

Similar Documents

Publication Publication Date Title
CN110116405A (zh) 轨迹生成方法和轨迹生成装置
JP7439206B2 (ja) 情報処理方法、情報処理装置、プログラム、記録媒体、生産システム、ロボットシステム、物品の製造方法
CN103492133B (zh) 具有运动冗余臂的工业机器人和用于控制该机器人的方法
US20200174460A1 (en) Planning and Adapting Projects Based on a Buildability Analysis
JP6576255B2 (ja) ロボット軌道生成方法、ロボット軌道生成装置、および製造方法
JP6282140B2 (ja) 軌道生成方法、ロボット装置、プログラム及び記録媒体
CN107530879B (zh) 多轴机械装置仿真器、运转指令装置的设计辅助装置、电动机控制装置的设计辅助装置以及电动机的容量选定装置
Escande et al. Planning support contact-points for humanoid robots and experiments on HRP-2
CN108326877A (zh) 机器人控制设备、系统和控制方法及制品装配制造方法
EP3562629B1 (en) Method and system for determining a sequence of kinematic chains of a multiple robot
Mayr et al. Skill-based multi-objective reinforcement learning of industrial robot tasks with planning and knowledge integration
JP7210201B2 (ja) 情報処理方法、プログラム、記録媒体、情報処理装置、ロボットシステム、物品の製造方法
Oguz et al. Progressive stochastic motion planning for human-robot interaction
Gafur et al. Dynamic collision avoidance for multiple robotic manipulators based on a non-cooperative multi-agent game
CN114454180B (zh) 移动机器人的运动控制方法、装置和移动机器人
Spitz et al. Trial-and-error learning of repulsors for humanoid QP-based whole-body control
JP2013136109A (ja) 干渉判定装置及び干渉判定方法
Andres et al. Calibration and control of a redundant robotic workcell for milling tasks
Villagrossi et al. Optimal robot dynamics local identification using genetic-based path planning in workspace subregions
Brunn Robot collision avoidance
FarzanehKaloorazi et al. Simultaneous task placement and sequence optimization in an inspection robotic cell
Pedrocchi et al. On robot dynamic model identification through sub-workspace evolved trajectories for optimal torque estimation
Abu-Dakka et al. Parallel-populations genetic algorithm for the optimization of cubic polynomial joint trajectories for industrial robots
EP3784448A1 (en) Method and control system for controlling movement trajectories of a robot
JP6932618B2 (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