机器人控制设备、机器人装置、机器人控制方法、用于执行机器人控制方法的程序、及在其...的制作方法

文档序号:2350211阅读:119来源:国知局
机器人控制设备、机器人装置、机器人控制方法、用于执行机器人控制方法的程序、及在其 ...的制作方法
【专利摘要】所公开的是减少时间最优控制所必需的计算量的技术。插值函数计算部件361计算插值函数,该插值函数经过插值在各个示教点之间的多个插值的示教点。而且,微分系数计算部件362计算通过利用插值函数的变量数对包含在每个插值的示教点中的每个矢量分量进行微分而获得的每个微分系数。而且,估计值计算部件365基于每个经过速度和每个微分系数来计算在每个插值的示教点中的每个关节的估计速度。而且,时间最优控制部件369改变各个经过速度并且最小化目标函数,该目标函数通过在约束条件下利用变量数对各个经过速度的倒数进行积分而获得,该约束条件包括每个关节的估计速度与预定的允许速度的比率在预定约束范围之内的条件。位置命令产生部件373通过每当经过速度函数被利用预定时间间隔的值进行时间积分时将积分值代入插值函数中的变量数中来产生位置命令。
【专利说明】机器人控制设备、机器人装置、机器人控制方法、用于执行 机器人控制方法的程序、及在其上记录程序的记录介质

【技术领域】
[0001] 本发明涉及机器人控制设备、机器人装置、机器人控制方法、用于执行机器人控制 方法的程序及在其上记录程序的记录介质,它们产生其中当关节型机器人(articulated robot)沿着由示教点给定的轨道移动时操作时间最短的位置命令。

【背景技术】
[0002] 近年来,具有能够像人手一样实现复杂和高速组装的关节型机器人的组装装置的 开发已经扩展。在这方面,关节型机器人的高速操作是重要的。
[0003] 而且,为了处理复杂和精确的组装目标,有必要处理连接三个或更多示教点的复 杂的CP (连续路径)轨道,而不是连接两个示教点的简单的PTP (点到点)的轨道。
[0004] 满足这种需要的关节型机器人的时间最优控制技术已经被提出(参考PTL 1)。自 1980年代以来,时间最优控制已经在论文中被提出并且众所周知。根据在PTL 1中所公开 的技术,为了以预定的时间间隔(例如,以lms的间隔)输出关于关节型机器人的每个关节 的位置命令(目标位置),以预定的时间间隔在各个给定的示教点之间执行插值来计算位 置命令。然后,更正每个位置命令的值以最小化操作时间。
[0005] 参考文献列表
[0006] 专利文献
[0007] PTL 1 :日本专利申请特许公开第H11-198072号


【发明内容】

[0008] 技术问题
[0009] 但是,在PTL 1所公开的技术中,时间最优控制所必需的计算量很大。具体而言, 在PTL 1所公开的技术中,指示出目标位置的位置命令是基于每个示教点计算的,时间最 优控制的计算是为计算出的位置命令执行的,然后,产生校正的位置命令。
[0010] 为了抑制关节型机器人的速度和位置精度的减小,有必要以预定的微小(例如, 若干毫秒)时间间隔输出位置命令,因此,数据量大。例如,当关节型机器人操作10秒钟并 且位置命令以lms的间隔输出时,需要10x1000 = 10000个校正的位置命令。因此,在时间 最优控制中经历计算处理的数据量必然大。而且,时间最优控制回到解的优化的问题,这需 要计算时间。因此,数据量的增大导致计算时间的增加。在计算处理中,难以操作关节型机 器人,这引起一个问题,即难以执行关节型机器人的高速操作,而关节型机器人的高速操作 是时间最优控制的目的。
[0011] 因此,本发明的一目的是为了减少时间最优控制所必需的计算量。
[0012] 问题的解决方案
[0013] 根据本发明的一方面,提供了一种机器人控制设备,其以预定的时间间隔输出位 置命令到驱动控制单元,该驱动控制单元控制用于驱动关节型机器人的每个关节的每个 致动器的操作使得每个关节被操作成顺序地跟随包括作为矢量分量的每个关节的示教位 置的多个示教点,该机器人控制设备包括计算单元,其中该计算单元执行:插值函数计算 处理,该处理计算经过插值在各个示教点之间的多个插值的示教点(interpolated teach point)的插值函数;微分系数计算处理,该处理计算通过利用插值函数的变量数来对在每 个插值的示教点中包含的每个矢量分量求微分所获得的每个微分系数;临时设置处理,该 处理临时设置指示出通过对在每个插值的示教点中的变量数求时间微分所获得的微分值 的每个经过速度;估计值计算处理,该处理基于每个经过速度和每个微分系数来计算在每 个插值的示教点中的每个关节的估计速度;时间最优控制处理,该处理改变各个经过速度 并且最小化目标函数,该目标函数通过在约束条件下利用变量数对各个经过速度的倒数进 行积分而获得,该约束条件包括每个关节的估计速度与预定的允许速度的比率在预定约束 范围之内的条件;经过速度函数计算处理,该处理根据在时间最优控制处理中所获得的每 个经过速度来计算经过速度函数;及位置命令产生处理,该处理通过每当经过速度函数被 利用预定时间间隔的值进行时间积分时将积分值代入插值函数中的变量数中来产生位置 命令。
[0014] 根据本发明的另一方面,提供了一种机器人控制方法,该方法使用包括计算单元 的机器人控制设备,该计算单元产生要以预定的时间间隔输出到驱动控制单元的位置命 令,该驱动控制单元控制用于驱动关节型机器人的每个关节的每个致动器的操作使得每个 关节被操作成顺序地跟随包括作为矢量分量的每个关节的示教位置的多个示教点,该方法 包括:由该计算单元进行的插值函数计算处理,该处理计算经过插值在各个示教点之间的 多个插值的示教点的插值函数;由该计算单元进行的微分系数计算处理,该处理计算通过 利用插值函数的变量数来对在每个插值的示教点中包含的每个矢量分量求微分所获得的 每个微分系数;由该计算单元进行的临时设置处理,该处理临时设置指示出通过对在每个 插值的示教点中的变量数求时间微分所获得的微分值的每个经过速度;由该计算单元进行 的估计值计算处理,该处理基于每个经过速度和每个微分系数来计算在每个插值的示教点 中的每个关节的估计速度;由该计算单元进行的时间最优控制处理,该处理改变各个经过 速度并且最小化目标函数,该目标函数通过在约束条件下利用变量数对各个经过速度的倒 数进行积分而获得,该约束条件包括每个关节的估计速度与预定的允许速度的比率在预定 约束范围之内的条件;由该计算单元进行的经过速度函数计算处理,该处理根据在时间最 优控制处理中所获得的每个经过速度来计算经过速度函数;及由该计算单元进行的位置命 令产生处理,该处理通过每当经过速度函数被利用预定时间间隔的值进行时间积分时将积 分值代入插值函数中的变量数中来产生位置命令。
[0015] 发明的有利效果
[0016] 根据本发明,执行了时间最优控制处理,该处理关于在每个插值的示教点中的插 值函数的变量数改变每个经过速度,以最小化目标函数,并且在每个预定的时间间隔的位 置命令是根据插值函数利用以这种方式计算的每个经过速度产生的。以这种方式,由于位 置命令是在目标函数最小化后计算的,因此不必要把插值的示教点的数量设置成与位置命 令的数量相同,并且能够把插值的示教点的数量设置成小于位置命令的数量。因此,能够 减小时间最优控制处理所必需的计算量,并且提高计算单元中用于位置命令计算的计算速 度。
[0017] 根据以下对示例性实施例的描述并参考附图,本发明的其它特征将变得清楚。

【专利附图】

【附图说明】
[0018] 图1是示意性图示出根据本发明第一实施例的机器人装置的配置的示图。
[0019] 图2是图示出机器人控制设备的配置的框图。
[0020] 图3包括图3A和3B,图3是机器人控制设备的功能框图。
[0021] 图4A是示意性图示出示教点的示图。
[0022] 图4B是示意性图示出插值的示教点和插值函数的示图。
[0023] 图4C是示意性图示出经过速度的示图。
[0024] 图5是示意性图示出位置命令的示图。
[0025] 图6是示意性图示出根据本发明第二实施例的机器人控制设备的微分系数计算 部件的操作的示图。
[0026] 图7A是示意性图示出根据本发明第三实施例的机器人装置的结构的示图。
[0027] 图7B是示意性图示出关于每个机器人臂的示教点序列的示图。
[0028] 图8是图示出根据本发明第四实施例的在机器人控制设备中约束条件违反率计 算部件的处理操作的示图。
[0029] 图9A是图示出根据本发明第四实施例的电动机的模型的示图。
[0030] 图9B是图示出允许的电动机转矩的示图。

【具体实施方式】
[0031] 在下文中,将参考附图详细描述用于实现本发明的实施例。
[0032] 第一实施例
[0033] 图1是示意性图示出根据本发明第一实施例的机器人装置的配置的示图。在图1 中图示出的机器人装置100包括作为关节型机器人的机器人臂200,及控制机器人臂200的 机器人控制设备300。而且,机器人装置100包括示教板(teaching pendant)400,该示教 板是把有关多个示教点的数据传输到机器人控制设备300的示教设备。示教板400是通过 用户操作的,并且用于指定机器人臂200或机器人控制设备300的操作。
[0034] 在第一实施例中,机器人臂200是具有6个关节的机器人。机器人臂200包括多 个(6个)致动器201至206,其分别绕着各个关节轴A1至A6旋转地驱动各个关节J1至 J6。只要机器人臂200在可移动的范围之内,机器人臂200就可以使端点(机器人臂的末 端)能够在任意的三维位置以任意的三向姿势定向。一般地,机器人臂200的位置和姿势 可以通过坐标系来表达。在图1中,To表示固定于机器人臂200的台座的坐标系,并且Te 表不固定于机器人臂200的端点的坐标系。
[0035] 在本实施例中,致动器201至206分别包括电动机211至216及连接到电动机211 至216的减速器221至226。致动器201至206中的每一个的配置都不限于此,例如,可以 使用人工肌肉等。
[0036] 在第一实施例中,将描述其中各个关节J1至J6都是转动关节的情况。在这种情 况下,术语"关节位置"指关节的角度。每个关节都可以是移动关节。在这种情况下,"关节 位置"是移动关节的位置。类似地,关于其时间微分,使用术语"关节速度"、"关节加速度" 和"关节加速度变化率(jerk)"。
[0037] 机器人臂200还包括伺服控制设备230,该设备是驱动控制单元,其控制各个致动 器201至206的电动机211至216的驱动。伺服控制设备230向电动机211至216输出电 流命令,并且控制各个电动机211至216的操作,使得各个关节J1至J6的位置基于输入位 置命令(目标位置)跟随位置命令。
[0038] 机器人控制设备300从示教板400接收多个示教点(示教点序列)的输入。机器 人控制设备300基于示教点产生要以预定的时间间隔输出到伺服控制设备230的位置命 令,并且以预定的时间间隔输出位置命令,使得机器人臂200的各个关节J1至J6被操作成 顺序地跟随多个示教点。
[0039] 示教点是包括作为矢量分量的各个关节(六个关节)J1至J6的示教位置的矢量 (示教点矢量)。而且,在机器人控制设备300中最终计算的位置命令是包括作为矢量分量 的各个关节(六个关节)J1至J6的目标位置的矢量。在第一实施例中,示教点和位置命令 在点的数量上彼此不同,但是它们的维度(单位)是相同的。
[0040] 也就是说,机器人控制设备300根据输入的示教点计算CP轨道,以产生沿着该轨 道的多个位置命令,并且以预定的时间间隔向伺服控制设备230输出位置命令。
[0041] 这时,关于由给定的示教点序列所确定的轨道,机器人控制设备300执行关节型 机器人的时间最优控制,该时间最优控制用于把轨道上的经过速度调整在不偏离约束条件 的范围之内,其中约束条件诸如机器人臂200的各个关节J1至J6的速度、加速度、转矩等。
[0042] 这里,两种类型的方法可以视作通过示教的机器人臂200的操作方法。
[0043] 1在配置空间中的运动
[0044] 用于以机器人臂200的关节角度指定示教点并且把机器人沿着由指定的示教点 所确定的轨道移动的方法。
[0045] 2在任务空间中的运动
[0046] 用于以三维位置和姿势指定示教点,并且把机器人臂200沿着由指定的示教点和 机器人臂200的端点所确定的轨道移动的方法。
[0047] 在图1中,示意性图示出四个示教点pi、p2、p3和p4。在任何情况下,机器人臂 200的操作沿着由示教点所确定的轨道移动。这里,示教点不是在所谓的三维空间中的点。 在关节空间移动的情况下,示教点对应于所有关节J1至J6的关节角度(所有电动机的旋 转角度)。在任务空间移动的情况下,如在图1中所图示出的,示教点对应于三维空间中的 位置和姿势,其中Pl、p2、p3和p4表示为坐标系。
[0048] 以下,在第一实施例中,将描述关节空间移动的情况。在关节空间移动中,示教点 对应于机器人的各个关节J1至J6的角度。因此,在6轴和6关节机器人的情况下,一个示 教点中包括六个矢量分量。
[0049] 图2是图示出机器人控制设备300的配置的框图。在第一实施例中,机器人控制 设备300是包括CPU 301的计算机,其中CPU 301是计算单元,如在图2中所图示出的。
[0050] 机器人控制设备300包括作为计算单元的CPU 301、ROM 302、RAM 303、HDD 304、 记录盘驱动器305、及各种接口 306至309。
[0051] ROM 302、RAM 303、HDD 304、记录盘驱动器305及各种接口 306至309通过总线 310连接到CPU 301。用于操作CPU 301的程序330存储在ROM 302中。程序330是使得 CPU 301执行各种计算处理的程序。CPU 301基于存储在ROM 302中的程序330执行各种 计算处理。RAM 303是临时存储CPU 301的计算处理结果的存储单元。HDD 304是存储单 元,用于存储作为计算处理结果的各种类型的数据。
[0052] 示教板400连接到接口 306,并且CPU 301通过接口 306和总线310从示教板400 接收有关示教点的数据的输入。
[0053] 在CPU 301的命令下,指示CPU 301中的计算结果的数据(位置命令数据)等存 储在HDD 304中。
[0054] 机器人臂200的伺服控制设备230连接到接口 309,并且CPU301以预定的时间间 隔通过总线310和接口 309向伺服控制设备230输出位置命令数据。
[0055] 监视器321连接到接口 307,并且在监视器321上显示各种图像。接口 308配置成 使得诸如可重写非易失性存储器或外部HDD的外部存储设备322可以连接到该接口。记录 盘驱动器305能够读取在记录盘331中记录的各种类型的数据、程序等。
[0056] 图3是图示出机器人控制设备300的功能框图。CPU 301执行存储在ROM 302中 的程序330,以充当各种处理部件351、352和353,其中各个处理部件执行后面将要描述的 各种处理。即,基于程序330,CPU 301充当在图3中图示出的第一插值部件351、经过速度 计算部件352、第二插值部件353。在图3中,圆角矩形表示数据,矩形表示CPU 301的处理。
[0057] 将简要描述各个部件351、352和353的操作。首先,第一插值部件351利用插值函 数在各个示教点之间执行插值,并且计算插值的示教点的各个位置中各个关节的位置。而 且,第一插值部件351计算一阶微分值、二阶微分值和三阶微分值。
[0058] 经过速度计算部件352定义在插值的示教点的每个位置中的经过速度。然后,经 过速度计算部件352计算经过速度的一阶微分值和经过速度的二阶微分值。经过速度计 算部件352根据每个关节的位置和经过速度的一阶微分值和二阶微分值、在第一插值部件 351中计算的一阶微分值、二阶微分值和三阶微分值,计算机器人臂200的每个关节的估计 的速度、估计的加速度、估计的加速度变化率及估计的转矩。而且,经过速度计算部件352 计算机器人臂200的末端的估计的末端速度(在下文中称为估计的端点速度),及机器人臂 200的末端的估计的旋转速度(在下文中称为估计的端点旋转速度)。
[0059] 然后,经过速度计算部件352计算约束条件违反率,约束条件违反率是所计算的 估计速度、估计的加速度、估计的加速度变化率、估计的转矩和估计的端点速度及估计的端 点旋转速度与预定的约束值的比率。
[0060] 经过速度计算部件352求解不等式约束优化问题,即其中计算出的约束条件违反 率的整个或者预先选择的部分在预定的约束范围之内(在±1的范围之内)的不等式约束 被满足,并且经过速度的倒数的总和(即,操作时间)是最短的,从而获得经过速度。
[0061] 第二插值部件353利用插值函数,计算给予在通过以预定的时间间隔积分计算的 经过速度所获得的位置中的机器人臂200的每个关节的位置命令。
[0062] 这里,数学表达式中的符号定义如下。在数学表达式中,粗体字表示矢量。
[0063] Pi不教点。由多个矢量分量构成的矢量。
[0064] 在机器人臂具有6轴关节的情况下,一个示教点由六个示教位置(关节角度)构 成。
[0065] h(s,Pi)插值函数。
[0066] q(s)插值的示教点。由多个矢量分量构成的矢量。
[0067] 在机器人臂具有6轴关节的情况下,一个插值的示教点由六个示教位置(关节角 度)构成。
[0068] s指示各个插值的示教点的序列号的变量数。这里,s不是整数而是实数。
[0069]

【权利要求】
1. 一种机器人控制设备,其以预定的时间间隔输出位置命令到驱动控制单元,该驱动 控制单元控制用于驱动关节型机器人的每个关节的每个致动器的操作使得每个关节被操 作成顺序地跟随包括作为矢量分量的每个关节的示教位置的多个示教点,该机器人控制设 备包括计算单元, 其中该计算单元执行: 插值函数计算处理,该处理计算经过插值在各个示教点之间的多个插值的示教点的插 值函数; 微分系数计算处理,该处理计算通过利用插值函数的变量数来对在每个插值的示教点 中包含的每个矢量分量求微分所获得的每个微分系数; 临时设置处理,该处理临时设置指示出通过对在每个插值的示教点中的变量数求时间 微分所获得的微分值的每个经过速度; 估计值计算处理,该处理基于每个经过速度和每个微分系数来计算在每个插值的示教 点中的每个关节的估计速度; 时间最优控制处理,该处理改变各个经过速度并且最小化目标函数,该目标函数通过 在约束条件下利用变量数对各个经过速度的倒数进行积分而获得,该约束条件包括每个关 节的估计速度与预定的允许速度的比率在预定约束范围之内的条件; 经过速度函数计算处理,该处理根据在时间最优控制处理中所获得的每个经过速度来 计算经过速度函数;及 位置命令产生处理,该处理通过每当经过速度函数被利用预定时间间隔的值进行时间 积分时将积分值代入插值函数中的变量数中来产生位置命令。
2. 如权利要求1所述的机器人控制设备, 其中,作为微分系数计算处理,该计算单元基于插值函数关于每个插值的示教点的每 个矢量分量来计算当变量数改变比各个插值的示教点之间的间隔小的微小值时的每个矢 量分量,并且利用计算结果计算每个微分系数。
3. 如权利要求1或2所述的机器人控制设备, 其中,作为插值函数计算处理,该计算单元给每个示教点分配对应于时间的示教点编 号,并且利用该示教点编号通过样条插值来计算插值函数。
4. 如权利要求1至3中任一项所述的机器人控制设备, 其中,允许的速度被设置成根据变量数的值变化的值。
5. 如权利要求4所述的机器人控制设备, 其中,允许的速度被设置成随着变量数的值的增大而减小。
6. 如权利要求1至5中任一项所述的机器人控制设备, 其中,作为估计值计算处理,该计算单元进一步基于每个经过速度和每个微分系数关 于在每个插值的示教点中的每个关节来计算通过利用时间对估计速度求一阶微分所获得 的估计的加速度,及 其中,约束条件进一步包括估计的加速度与预定的允许加速度的比率在预定约束范围 之内的条件。
7. 如权利要求1至6中任一项所述的机器人控制设备, 其中,作为估计值计算处理,该计算单元进一步基于每个经过速度和每个微分系数关 于每个插值的示教点中的每个关节来计算通过利用时间对估计速度求二阶微分所获得的 估计的加速度变化率,及 其中约束条件进一步包括估计的加速度变化率与预定的允许加速度变化率的比率在 预定约束范围之内的条件。
8. 如权利要求1至7中任一项所述的机器人控制设备, 其中,作为估计值计算处理,该计算单元进一步基于每个插值的示教点、每个经过速度 和每个微分系数来计算在每个插值的示教点中的每个关节的估计的转矩,及 其中,约束条件进一步包括估计的转矩与预定的允许转矩的比率在预定约束范围之内 的条件。
9. 如权利要求1至8中任一项所述的机器人控制设备, 其中,作为估计值计算处理,该计算单元进一步基于每个插值的示教点、每个经过速度 和每个微分系数来计算在每个插值的示教点中的关节型机器人的末端的估计的末端速度, 及 其中,约束条件进一步包括估计的末端速度与预定的允许末端速度的比率在预定约束 范围之内的条件。
10. 如权利要求1至9中任一项所述的机器人控制设备, 其中,作为估计值计算处理,该计算单元进一步基于每个插值的示教点、每个经过速度 和每个微分系数来计算在每个插值的示教点中的关节型机器人的末端的估计的旋转速度, 及 其中,约束条件进一步包括估计的旋转速度与预定的允许旋转速度的比率在预定约束 范围之内的条件。
11. 如权利要求1至10中任一项所述的机器人控制设备, 其中,致动器包括电动机和减速器, 其中,作为估计值计算处理,该计算单元进一步基于减速器的减速比、每个经过速度和 每个微分系数来计算在每个插值的示教点中的电动机的估计的电动机转矩,及 其中,约束条件进一步包括估计的电动机转矩与预定的允许电动机转矩的比率在预定 约束范围之内的条件。
12. -种机器人装置,包括: 关节型机器人;及 根据权利要求1至11中任一项所述的机器人控制设备,该设备控制关节型机器人。
13. -种机器人控制方法,该方法使用包括计算单元的机器人控制设备,该计算单元产 生要以预定的时间间隔输出到驱动控制单元的的位置命令,该驱动控制单元控制用于驱动 关节型机器人的每个关节的每个致动器的操作使得每个关节被操作成顺序地跟随包括作 为矢量分量的每个关节的示教位置的多个示教点,该方法包括: 由该计算单元进行的插值函数计算处理,该处理计算经过插值在各个示教点之间的多 个插值的示教点的插值函数; 由该计算单元进行的微分系数计算处理,该处理计算通过利用插值函数的变量数来对 在每个插值的示教点中包含的每个矢量分量求微分所获得的每个微分系数; 由该计算单元进行的临时设置处理,该处理临时设置指示出通过对在每个插值的示教 点中的变量数求时间微分所获得的微分值的每个经过速度; 由该计算单元进行的估计值计算处理,该处理基于每个经过速度和每个微分系数来计 算在每个插值的示教点中的每个关节的估计速度; 由该计算单元进行的时间最优控制处理,该处理改变各个经过速度并且最小化目标 函数,该目标函数通过在约束条件下利用变量数对各个经过速度的倒数进行积分而获得, 该约束条件包括每个关节的估计速度与预定的允许速度的比率在预定约束范围之内的条 件; 由该计算单元进行的经过速度函数计算处理,该处理根据在时间最优控制处理中所获 得的每个经过速度来计算经过速度函数;及 由该计算单元进行的位置命令产生处理,该处理通过每当经过速度函数被利用预定时 间间隔的值进行时间积分时将积分值代入插值函数中的变量数中来产生位置命令。
14. 一种使计算机执行如权利要求13所述的机器人控制方法的各个处理的程序。
15. -种计算机可读记录介质,其上记录如权利要求14所述的程序。
【文档编号】B25J9/16GK104254430SQ201380012677
【公开日】2014年12月31日 申请日期:2013年2月28日 优先权日:2012年3月7日
【发明者】根岸真人 申请人:佳能株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1