CN101479081B - 多关节机器人及其控制程序 - Google Patents
多关节机器人及其控制程序 Download PDFInfo
- Publication number
- CN101479081B CN101479081B CN2007800238681A CN200780023868A CN101479081B CN 101479081 B CN101479081 B CN 101479081B CN 2007800238681 A CN2007800238681 A CN 2007800238681A CN 200780023868 A CN200780023868 A CN 200780023868A CN 101479081 B CN101479081 B CN 101479081B
- Authority
- CN
- China
- Prior art keywords
- joint
- load
- overload
- state vector
- key element
- 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.)
- Expired - Fee Related
Links
- 239000013598 vector Substances 0.000 claims abstract description 171
- 239000000284 extract Substances 0.000 claims abstract description 6
- 230000007246 mechanism Effects 0.000 claims description 33
- 238000000605 extraction Methods 0.000 claims description 22
- 230000009471 action Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 9
- 238000000034 method Methods 0.000 claims description 9
- 230000009466 transformation Effects 0.000 description 34
- 239000011159 matrix material Substances 0.000 description 29
- 239000012636 effector Substances 0.000 description 23
- 238000004364 calculation method Methods 0.000 description 13
- 230000008859 change Effects 0.000 description 13
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 13
- 238000000354 decomposition reaction Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000001133 acceleration Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000036962 time dependent Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 238000005476 soldering Methods 0.000 description 2
- 206010034719 Personality change Diseases 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000009916 joint effect Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000002040 relaxant effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
-
- 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/37—Measurements
- G05B2219/37342—Overload of motor, tool
-
- 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/40461—Plan for even distribution of motor load of joints
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
本发明提供一种多关节机器人,该多关节机器人,当作用于关节的负荷为过负荷时对关节进行控制,使得缓和过负荷状态,并能够尽可能地继续作业。由负荷推定部(32)推定作用于各关节的负荷,由过负荷确定部(34)确定推定负荷大于阈值的过负荷关节。在存储装置(40)中存储有机器人的前端连杆的目标状态矢量和针对该矢量的要素预先设定的优先级。要素抽出部(42)按优先级高的顺序从目标状态矢量中抽出与非过负荷关节同数的要素。针对过负荷关节,通过力控制演算部(36)决定沿与负荷相同的方向驱动关节的目标驱动量。针对非过负荷关节,通过逆变换部决定实现抽出的要素的目标驱动量。能够向缓和负荷的方向对过负荷关节进行控制,同时能够对非过负荷关节进行控制使得尽可能地追随目标状态矢量。
Description
技术领域
本发明主张基于2006年6月26日申请的日本专利申请第2006-175063号的优先权。该申请的全部内容作为参照而引用在本说明书中。
本发明涉及多关节机器人及其控制程序(用于控制多关节机器人的计算机程序产品)。
背景技术
多关节机器人具备多关节机器人机构和用于控制该机构的控制器。在本说明书中,在表示“多关节机器人机构”时,有时也称“多关节机器人”或简称“机器人”。本说明书所说的多关节机器人机构,是指具有多个连杆和多个关节、相邻的连杆经由关节连接、至少有两个以上的关节介于基部连杆和前端连杆之间的机器人。这里所说的前端连杆是指被给与目标状态矢量的连杆,并不一定限于物理性地配置于前端的连杆。例如,模拟包含5根手指的手臂的多关节机器人,在给与手掌连杆的目标状态矢量时,虽然在手掌连杆的最前端连接有手指连杆群,但手掌连杆却成为前端连杆。还有,在本说明书中,将1自由度计为一个关节,能够使相邻的连杆围绕两轴旋转的关节由2个关节构成。
具有n个关节的多关节机器人(即,具有n自由度的多关节机器人),通过独立控制各关节,能够使前端连杆的当前状态矢量追随以n以下的维度记述的目标状态矢量。在本说明书中,简化“使前端连杆的当前状态追随目标状态矢量”的表达,记为“使前端连杆追随目标状态矢量”。目标状态矢量,有时以位置(姿态)单位给与,有时以速度(角速度)单位给与。或者有时以加速度(加速度)的单位、力(转矩)的单位给与。例如,在目标状态矢量具有6维,以位置(姿态)的单位给与的情况下,目标状态矢量的要素,通过直角坐标系的各坐标轴方向的位置和、所谓滚动角(roll)、俯仰角(pitch)以及偏转角(yaw)的6个数量值来给与。因为目标状态矢量的要素能够取各种单位系,所以在本说明书中代替目标位置矢量、目标速度矢量等这样的表达,而使用没有特定单位系的目标状态矢量的表达。前端连杆的当前状态矢量,是以与目标状态矢量同样的单位系记述前端连杆的物理状态的矢量。
还有,将目标状态矢量的次数表述为n以下,是因为本说明书所涉及的多关节机器人也可以是具有所谓冗余自由度的多关节机器人。
如果对n自由度的多关节机器人给与n以下的目标状态矢量,则能够决定用于使前端连杆追随目标状态矢量的各关节的目标驱动量。关节的目标驱动量的单位,可以取位置(角度)、速度(角速度)等各种单位系。本发明书中的“目标驱动量”这一表达,以包括关节的目标关节角、目标角速度这样的关节的“目标状态”的意思而使用。因此,有时将例如驱动关节使得关节的当前关节角追随目标关节角表达为“使关节追随目标驱动量”。
众所周知,可以通过所谓逆变换、雅可比矩阵求出用于使前端连杆追随目标状态矢量的各关节的目标驱动量。在求出关节的目标驱动量后,控制用于驱动关节的执行器,使得关节的当前状态(当前关节角、当前关节角速度等)追随关节的目标驱动量(目标关节角、目标关节角速度等)。这里所说的“驱动关节”是指使与关节连接的连杆彼此之间的相对位置(姿态)变化。在是旋转关节的情况下,相当于使与关节连接的连杆之间的角度(关节角)变化。在是直线运动关节的情况下,相当于使与关节连接的连杆之间的距离变化。
通过使机器人的前端连杆追随目标状态矢量,能够使机器人进行预定的作业。通过将例如机械爪、焊接工具等的末端执行器(end-effector)固定于机器人的前端连杆,使前端连杆追随随时间变化的目标状态矢量,从而能够使该末端执行器沿预期的轨道移动而进行预定的作业。或者,在多关节机器人是腿式机器人的情况下,通过使相当于前端连杆的脚掌连杆追随目标状态矢量,能够使其执行步行这一作业。
但是,在机器人的作业中,存在作用于关节的负荷增大的可能性。例如,如果机器人已与未预期的物体接触,却继续进行追随随时间变化的目标状态矢量的控制,则其结果是机器人会推开物体。在机器人推开物体时,存在作用于关节的负荷增大的可能性。或者,在机器人通过安装于前端连杆的机械爪进行拿起物体的作业的情况下,如果拿起物体的质量比预料的大,则作用于关节的负荷也出乎预料地增大。关于作用于关节的负荷中的、作用于关节的驱动轴的负荷分量,能够通过在驱动该关节的执行器上设置扭矩限制器等的过负荷对策来加以缓和。下面,以作用于关节的驱动轴的负荷为对象。还有,本说明书中所说的过负荷,是指作用于关节的负荷超过预先设定的阈值的情况。即,本说明书中所说的过负荷,并不限定于超过关节的物理容许限度的负荷作用于关节的情况。
作为过负荷对策安装于关节的扭矩限制器,包括机械性的扭矩限制器和软件性的扭矩限制器。在专利文献1中公开了软件性的扭矩限制器的一个例子。专利文献1所公开的技术,是监视施加于执行器即马达的电流,在所施加的电流超过了预定值的情况下,停止对马达的电流供给的技术。
专利文献1:日本特许公开公报2005-161469
发明内容
在某关节变为过负荷、扭矩限制器工作后,不能基于目标驱动量控制该关节。
如上所述,在多关节机器人中,决定各关节的目标驱动量使得前端连杆追随目标状态矢量。目标状态矢量的各个要素的值,通常是多个关节的目标驱动量的函数。而且,在机器人的所有的关节都能够用于使前端连杆追随目标状态矢量这一前提下,决定各个关节的目标驱动量。因此,如果即便有一个关节过负荷而无法使该关节追随目标驱动量,则关于目标状态矢量的多个要素,就不能使前端连杆的当前状态矢量的要素的值追随对应的目标状态矢量的要素的值。即,机器人的作业中断。
一个关节过负荷,其他的关节并不一定也过负荷。而是没有过负荷的关节的数量高于已成为过负荷的关节的可能性较大。如果剩有没有过负荷的关节,则优选,通过适当地驱动这些关节,尽可能地继续使机器人的前端连杆追随目标状态矢量的控制,使机器人继续进行预定的作业。
在现有技术中,仅着眼于如果有一个关节成为过负荷,则解除过负荷状态,而不是消除过负荷状态同时尽可能地使预定的作业继续。因此,在关节变为过负荷的情况下,能够一边消除该过负荷状态并一边有效利用没有变为过负荷的关节、能够继续进行预定的机器人作业的多关节机器人是所希望的。
为了使机器人的前端连杆的当前状态矢量追随被给与的目标状态矢量,相对于目标状态矢量的要素的数量,要求可控制为任意的关节角的关节的数量在其以上。即,对于n维的目标状态矢量,要求机器人有n以上的自由度。于是,通常根据目标状态矢量的维数来决定机器人的自由度数。例如,如果目标状态矢量是n维的,则要准备具有n自由度的多关节机器人。在处于机器人的作业中的关节变为过负荷的情况下,该关节已经不能用于使前端连杆追随目标状态矢量的控制,所以能够用于使前端连杆追随目标状态矢量的控制的关节数会低于n个。其结果是,不能使机器人的前端连杆追随目标状态矢量。
发明者着眼于根据使机器人进行的作业的种类,使前端连杆的目标状态矢量的要素中包含希望前端连杆尽可能正确地进行追随的要素和可以使其不那么正确地进行追随的要素。例如,对用安装于前端连杆的末端执行器抓持装有水的杯子并使其移动的作业进行研究。此时,假定目标状态矢量具有前端连杆的6维空间(3轴的直角坐标系中的各轴方向的目标位置和围绕各轴的目标姿态角)的6要素。设定前端连杆的目标姿态角,使得杯子内的水不会溢出。此时,如果前端连杆的围绕水平面内的两轴的姿态角(即,杯子的倾斜角)中的任意一方从目标姿态角偏离,则杯子内的水可能溢出。另一方面,即便前端连杆的围绕垂直方向的轴的姿态角(即,杯子的围绕垂直轴的旋转角)从目标姿态角偏离,杯子内的水也不会溢出。而且,即便围绕垂直轴的姿态角变化,杯子的三轴方向的位置也不会变化。在使水不会溢出的状态下移动杯子的作业中,即便前端连杆的围绕垂直轴的姿态角不追随目标姿态角,只要当前状态矢量的其他要素(即,前端连杆的三轴方向的位置和围绕水平面内的两轴的姿态角的5要素)追随目标状态矢量的对应的要素,也能够完成杯子的移动作业。即,在某关节的执行器变为过负荷的情况下(即,已不能将该关节用于使前端连杆追随目标状态矢量的控制的情况下),即便牺牲前端连杆的围绕垂直轴的当前姿态角对目标姿态角的追随性,如果对剩余的关节进行控制使得:当前状态矢量的其他要素对目标状态矢量的对应的要素的追随性得以维持,则能够继续作业。
于是,在本发明中,对于机器人的前端连杆的目标状态矢量的各要素,预先设定优先级。在目标状态矢量的要素中、对希望使其尽可能正确地进行追随的要素设定高优先级,对不要求高追随性的要素设定低优先级。根据使机器人进行的作业的种类,预先设定优先级即可。做好这样的准备,在机器人的作业中进行下述的处理。确定过负荷状态的关节,对该关节,不论目标状态矢量如何,决定关节的目标驱动量以消除过负荷状态。例如,如果将关节的目标驱动量作为目标关节角来设定,则可以决定目标关节角使得关节沿与作用于该关节的负荷的方向相同的方向旋转。
另一方面,确定没有变为过负荷的非过负荷关节的数量,按优先级高的顺序从目标状态矢量中抽出与非过负荷关节相同数量的要素。因为已抽出的要素的数量与非过负荷关节的数量相同,所以对非过负荷关节,能够决定用于实现已抽出的要素的目标驱动量。
相对于一直以来的多关节机器人的自由度数必须在目标状态矢量的维数以上的一般想法,本发明基于使目标状态矢量低维度化到与能够用于使前端连杆追随目标状态矢量的控制的关节的数量相同这一新的构思。而且,着眼于目标状态矢量的要素关于追随性具有优先级,预先对目标状态矢量的各要素设定优先级。通过按设定的优先级低的顺序进行舍弃而使目标状态矢量低维度化,维持对作业重要的要素(目标状态矢量的要素)的追随性。另一方面,关于过负荷关节,无论目标状态矢量如何,设定关节的目标驱动量,以缓和过负荷状态。
本发明成功地实现了能够缓和过负荷关节的过负荷状态并尽可能继续进行最初预定的作业的多关节机器人。
另外,以上的论述不依存于目标状态矢量的各要素的单位系。即,目标状态矢量的要素不仅可以是位置、角度(姿态角),还可以是速度、角速度,这意味着关节的目标驱动量不限定于角度的单位,也可以是角速度、角加速度、转矩的单位。或者,在关节是直线运动关节的情况下,关节的目标驱动量也可以是伸展长度、伸展速度、伸张加速度、伸展力。
本发明,能够实现具有多关节机器人机构和控制器的多关节机器人。多关节机器人机构,具有多个连杆、多个关节和多个执行器。相邻的连杆经由关节相连接,能够通过各个执行器驱动各个关节而使前端连杆的状态变化。
控制器具备:存储器;负荷推定部;过负荷关节确定部;第一驱动量算出部;第二驱动量算出部;以及驱动器。
在存储部中存储有前端连杆的目标状态矢量和按各目标状态矢量的要素设定的优先级。负荷推定部,推定作用于各关节的驱动轴的负荷的大小和方向。过负荷关节确定部,确定推定出的负荷的大小大于阈值的过负荷关节、和推定出的负荷的大小在阈值以下的非过负荷关节。第一驱动量算出部,针对过负荷关节,算出沿与负荷的作用方向相同的方向驱动过负荷关节的目标驱动量。另一方面,第二驱动量算出部,从目标状态矢量的要素中按优先级高的顺序抽出与非过负荷关节相同数量的要素,针对非过负荷关节,算出驱动非过负荷关节使得实现已抽出的要素的值的目标驱动量。而且,驱动器基于第一驱动量算出部和第二驱动量算出部算出的目标驱动量对执行器进行控制。
在该关节是旋转关节的情况下,施加于各关节的驱动轴的负荷是施加于驱动轴的转矩,在该关节是直线关节的情况下,施加于各关节的驱动轴的负荷是沿驱动轴延伸的方向施加的力。
负荷推定部,在是旋转关节的情况下,可以是这样的演算部:接收来自安装于关节轴的转矩传感器的信号,将接收的信号乘以预定的系数而推定负荷的大小和方向。或者,在执行器是电流驱动的马达的情况下,可以是这样的推定器:根据驱动器向马达输出的电流指令值推定执行器的输出转矩的大小和方向,根据该输出转矩推定施加于驱动轴的负荷的大小和方向。关于电流驱动的马达,施加的电流与输出转矩具有大致成比例的关系的情况较多。在是这样的马达的情况下,通过将驱动器向马达输出的电流指令值乘以所谓转矩常数,能够推定马达的输出转矩。通过将马达的输出转矩乘以从马达轴向关节驱动轴的转矩传递常数,能够推定关节驱动轴的输出转矩。
还有,可以将关节驱动轴的输出转矩的大小作为负荷的大小的推定值。可以将与输出转矩的方向相反的方向作为负荷的方向的推定值。或者,也可以在前端连杆上安装力传感器,根据力传感器所检测出的外力的大小和方向推定作用于各关节的驱动轴的负荷的大小和方向。众所周知,使用雅可比矩阵能够算出从力传感器所检测出的外力向作用于各关节的驱动轴的负荷的变换。
如上所述,在关节是旋转关节的情况下,关节的目标驱动量可以是关节角、关节角速度、关节角加速度或者转矩中的任意一种。在关节是直线运动关节的情况下,关节的目标驱动量可以是伸展长度、伸展速度、伸展加速度或者伸展力中的任意一种。还有,目标状态矢量可以随时间变化。还有,阈值可以是随各关节而不同的值,也可以随时间变化。
此外,将推定出的负荷的大小大于阈值的关节确定为过负荷关节,将推定出的负荷的大小在阈值以下的关节确定为非过负荷关节。这里,明确指出,即便将“大于阈值”和“在阈值以下”的分类变为“在阈值以上”和“小于阈值”的分类,也没有超出本发明的技术范围。在本发明中,设定阈值很重要,将施加有与阈值相等的负荷的关节分类为非过负荷关节,只是为了便于以阈值的高低在数学上无矛盾地对关节进行分类。即便将施加有与阈值相等的负荷的关节分类为过负荷关节,本发明的特征也不会有任何改变。
在上述构成中,过负荷关节确定部,将全部的关节分为施加有超过阈值的负荷的过负荷关节和并非如此的非过负荷关节。对过负荷关节,通过第一驱动量算出部,无论目标状态矢量如何,决定沿与负荷相同的方向驱动过负荷关节的目标驱动量。这是因为如果沿与负荷所作用的方向相同的方向驱动过负荷关节,则能够降低负荷的可能性较大。另一方面,对没有变为过负荷的非过负荷关节(即,能够用于对目标状态矢量的追随控制的关节),通过第二驱动量算出部,决定驱动非过负荷关节的目标驱动量,使得前端连杆在可能的范围内追随目标状态矢量。具体而言,从目标状态矢量中抽出与非过负荷关节的数量相等数量的要素。因为非过负荷关节的数量与已抽出的要素数一致,所以能够决定能实现抽出的要素的值的目标驱动量。而且,按预先设定的优先级高的顺序抽出目标状态矢量的要素。即,无论哪个关节变为过负荷,都会有追随性受到重视的要素被抽出,对该要素,确保其对目标值的追随性。即,能够实现与预定作业的动作相近的动作。
在以关节角表示目标驱动量的情况下,各关节的目标驱动量的决定,可以通过逆变换(逆运动学)来进行。或者也可以通过顺变换的反复计算来决定。还有,在目标驱动量由关节角速度表示的情况下,可以基于所谓分解速度控制法来决定。
在使机器人进行作业时,多数情况下,在机器人的前端连杆安装有末端执行器。末端执行器是机械爪(包括多指手)、切削工具、焊接工具等,根据作业目的来选择。在这样的情况下,因为末端执行器与对象物(例如上述的杯子移动作业中的杯子等)接触,所以经由末端执行器对机器人施加外力。这样的外力是预定的外力。另一方面,多关节机器人,如果使各关节动作,则机器人整体的姿态改变。其结果是,在末端执行器以外的位置,机器人可能超出预计地与其他物体接触。优选,能够降低由接触所产生的外力。于是,优选,在机器人的前端连杆安装力传感器,负荷推定单元通过从作用于驱动轴的各关节的总负荷减去由力传感器检测出的外力所产生的负荷来推定该关节的负荷的大小和方向。将力传感器安装在例如前端连杆和末端执行器之间。通过这样的力传感器,能够检测出经由末端执行器施加于机器人的外力。作用于各关节轴的负荷,如上所述,可以根据由力传感器所检测出的外力,通过雅可比矩阵来推定。另一方面,作用于关节的驱动轴的总负荷,如上所述,可以通过将对执行器即马达的电流指令值乘以转矩常数来推定。
对于从作用于关节的驱动轴的总负荷中减去由力传感器检测出的外力所产生的负荷后所得的负荷的大小超过阈值的过负荷关节,通过第一驱动量算出部,算出沿与负荷的作用方向相同的方向驱动过负荷关节的目标驱动量。通过按照该目标驱动量驱动过负荷关节,机器人能够使姿态向解除接触状态的方向变化。同时,作为非过负荷关节的目标驱动量,通过第二驱动量算出部,算出用于使前端连杆尽可能地追随目标状态矢量的驱动量。通过按照这样算出的目标驱动量控制非过负荷关节,对于目标状态矢量中的优先级高的要素,确保其追随性。根据上述内容,能够实现一种多关节机器人,该多关节机器人,当机器人在其前端连杆以外的位置与物体接触时,以解除该接触状态并以使前端连杆尽可能地追随目标状态矢量的方式工作。
有时,控制器所具有的负荷推定器、过负荷关节确定部、第一驱动量算出部、第二驱动量算出部以及驱动器所执行的处理,记述在安装于控制器的计算机程序中。因此,本发明也能够实现多关节机器人的控制用计算机程序产品。该计算机程序产品中,包括使多关节机器人执行下面的步骤的指令。
推定作用于各关节的驱动轴的负荷的大小和方向的负荷推定步骤;
确定推定出的负荷的大小大于阈值的过负荷关节、和推定出的负荷的大小在阈值以下的非过负荷关节的过负荷关节确定步骤;
第一驱动量算出步骤,算出沿与负荷的作用方向相同的方向驱动过负荷关节的过负荷关节的目标驱动量;
第二驱动量算出步骤,从所给与的前端连杆的目标状态矢量的要素中,按所给与的优先级高的顺序,抽出与非过负荷关节相同数量的要素,算出驱动非过负荷关节使得实现抽出的要素的值的非过负荷关节的目标驱动量;和
向对执行器进行控制的驱动器输出第一驱动量算出单元和第二驱动量算出单元算出的目标驱动量的步骤。
发明的效果
根据本发明,能够实现:在某关节成为过负荷时,解除该过负荷状态并使机器人的前端连杆尽可能地追随目标状态矢量的多关节机器人。根据该多关节机器人,在某关节成为过负荷时,前端连杆的状态对于目标状态矢量的追随性,按照目标状态矢量的要素中的预先确定的优先级高的顺序得以确保。因此,无论哪个关节成为过负荷,在多关节机器人进行的作业中,对目标状态矢量中的重要的要素,能够确保前端连杆的追随性(前端连杆的当前状态矢量的要素对目标状态矢量的要素的追随性)。其结果是,多关节机器人,无论哪个关节成为过负荷,都能够尽可能地继续作业。
附图说明
图1是第一实施例的多关节机器人的概要图。
图2是第一实施例的多关节机器人的框图。
图3是第一实施例的多关节机器人的控制流程图。
图4是第二实施例的多关节机器人的框图。
符号说明
10:机器人机构
12a、12b、12c、12d、12e、12f、12g:连杆
14:末端执行器
20a、20b、20c、20d、20e、20f:关节
22a、22b、22c、22d、22e、22f:执行器
26:编码器
28:力传感器
30:控制器
32:负荷推定部
34:过负荷关节推定部
36:力控制部
38:马达驱动器
40:存储装置
42:要素抽出部
44:逆变换部
具体实施方式
(第一实施例)
对本发明的第一实施例所涉及的多关节机器人,参照附图进行说明。图1表示多关节机器人100的概要图。多关节机器人100具备机器人机构10(多关节机器人机构)和控制器30。在图1中,通过关节和连杆的连接结构的骨架图来表示机器人机构10。本实施例的多关节机器人100是进行杯子移动作业的机器人,该杯子移动作业为,用机械爪14抓持位于初期位置的装有水的杯子(未图示),以目标姿态向目标位置定位。本实施例的多关节机器人100,当在杯子移动作业中施加于关节的负荷转矩的大小超过了预先设定的阈值时,能够对超过了阈值的关节以降低负荷的方式进行控制,并使用剩余的关节尽可能地继续进行杯子移动作业。施加于关节的负荷转矩的大小超过阈值的情况,可能会发生在例如机器人机构10的某部位与其他物体接触,从而对机器人机构10施加预想以外的外力的情况。
机器人机构10具有第一连杆12a~第七连杆12g的7个连杆,和第一关节20a~第六关节20f的6个关节。第一连杆12a的一端固定于地板面94。即,第一连杆12a相对于绝对坐标系而固定。相对于绝对坐标系而固定的第一连杆12a,也称为基部连杆。第一连杆12a和第二连杆12b,通过第一关节20a可旋转地连接。第二连杆12b和第三连杆12c,通过第二关节20b可旋转地连接。关于第三连杆12c、第四连杆12d、第五连杆12e、第六连杆12f、第七连杆12g也都一样。在图1中,像第一关节20a那样由矩形表示的关节,表示旋转轴沿连杆的长度方向延伸的关节。通过第一关节20a,第二连杆12b能够相对于第一连杆12a沿图1的箭头90的方向旋转。还有,像第二关节20b那样由圆表示的关节,表示旋转轴沿与图面垂直的方向延伸的关节。通过第二关节20b,第三连杆12c能够相对于第二连杆12b沿图1的箭头92的方向旋转。
在第一关节20a上安装有马达22a。通过驱动马达22a,能够改变第一连杆12a和第二连杆12b的相对角。即,能够通过马达22a驱动第一关节20a。在第二关节20b~第六关节20f上,分别安装有马达22b~22f。下面,在总称全部的连杆时,省略英文标号而表示为连杆12,在总称全部的关节时表示为关节20,在总称全部的马达时表示为马达22。
第七连杆12g也称为机器人机构10的前端连杆。在第七连杆12g上安装有末端执行器14。末端执行器14是机械爪,能够抓持杯子等的物体。
机器人机构10是具有从第一关节20a到第六关节20f的六个关节的6自由度机器人。因此,多关节机器人100,能够在三维空间内以垂直三轴方向的位置(图1所示的坐标系中的x坐标值、y坐标值、z坐标值)和围绕三轴的旋转角(图1所示的坐标系中的滚动角、俯仰角、偏转角)的合计6自由度任意控制其前端连杆即第七连杆12g(即,末端执行器14)。换言之,多关节机器人100是6自由度多关节机器人。
在各个关节20上安装有编码器(未图示)。通过编码器能够检测出各关节的关节角。
编码器(未图示)的检测信号被输入至控制器30。还有,从控制器30向马达22输出控制信号(电流指令值)。通过控制器控制马达20,能够驱动各关节,将末端执行器14以目标姿态向目标位置定位。即,能够以目标姿态将末端执行器14抓持的杯子向目标位置定位。
在图2中,示出了多关节机器人100的框图。在控制器30中具有:负荷推定部32、过负荷关节确定部34、力控制演算部36、马达驱动器38、存储装置40、要素抽出部42以及逆变换器44。除了存储装置40之外,各部作为控制器30所具备的CPU(未图示)执行的程序模块而安装在控制器30中。机器人机构10具有执行器22和编码器26。执行器22和编码器26设置于各个关节。编码器26检测各关节的关节角(当前关节角)。还有,在图2中省略末端执行器14的图示。
在存储装置40中,存储有第七连杆12g(前端连杆)的目标状态矢量、优先级、和关节的负荷阈值的数据。本实施例中的目标状态矢量,是以固定于第七连杆12g的坐标系相对于绝对坐标系的相对位置和相对姿态角为要素矢量。将固定于第七连杆12g的坐标系相对于绝对坐标系的相对位置称为目标位置,将相对姿态角称为目标姿态角。具体而言,在图1所示的垂直三轴的XYZ坐标系中,是以各坐标轴方向的目标位置(x坐标值、y坐标值以及z坐标值)和围绕各坐标轴的目标姿态角(滚动角、俯仰角、偏转角)的合计6个值为要素的矢量。目标状态矢量,作为随时间变化的时间序列数据而被存储。还有,在本说明书中,目标状态矢量的各要素的值也称为“目标要素”或简称为目标值。还有,将根据编码器26的检测值算出的、将以固定于第七连杆12g的坐标系相对于绝对坐标系的x坐标值、y坐标值、z坐标值、滚动角、俯仰角、偏转角为要素的矢量称为前端连杆的当前状态矢量。当前状态矢量的各个要素的值也称为当前值。
如上所述,因为机器人机构10具有6个关节,所以通过控制器30适当地控制6个关节的关节角,能够使前端连杆的当前状态矢量的各要素的值(当前值)追随目标状态矢量的对应的各要素的值。即,能够执行使装有水的杯子沿目标状态矢量移动的杯子移动作业。还有,可以通过所谓顺变换从编码器26检测出的各关节角的值而求出当前状态矢量。
对目标状态矢量的6个要素预先设定存储于存储装置40的优先级。这里所说的优先级是指,在控制器30进行使前端连杆的当前状态矢量追随目标状态矢量的控制时,在不能使当前状态矢量的全部的要素的值追随目标状态矢量的对应的要素的值的情况下,指定优先使其进行追随的要素。在本实施例中,因为是使装有水的杯子移动的作业,所以使杯子的水不溢出很重要。因此,在本实施例中,在图1所示的坐标系中,按滚动角、俯仰角、z坐标值、x坐标值、y坐标值、偏转角的顺序设定优先级。这里,滚动角和俯仰角的优先级高是因为:如果这两个角度偏离目标值,则由于水杯相对于水平轴倾斜,杯子内的水可能会溢出。另一方面,偏转角被设定为最低优先级是因为:即便杯子围绕Z轴(即垂直方向的轴)旋转,杯子的水也不会溢出,而且即便偏转角变化,杯子(前端连杆)的x坐标值、y坐标值以及z坐标值也不会变。关于三轴方向的位置,z坐标值比x坐标值和y坐标值优先级高,这是因为本实施例的作业是将杯子从初期位置拿起-移动-放下杯子的作业,即便杯子的水平方向的位置偏离,也要使杯子的垂直方向的位置不从目标值偏离。通过如上述那样设定优先级,在杯子移动作业中,即便优先级最低的偏转角的当前值不能追随目标值,但只要其他的当前值追随目标值,就能够继续进行杯子移动作业。还有,即便优先级仅高于偏转角的y坐标值的当前值不能追随目标值,只要除了偏转角和y坐标值以外的当前值追随目标值,就能够使水不会溢出,使杯子至少针对x坐标值和z坐标值而移动至目标位置。即,即便几个关节成为过负荷而不能用于对目标状态矢量的追随控制,也能够尽可能地继续进行预定的作业。
这里,不能使当前状态矢量的全部要素追随目标状态矢量的对应的要素的值的情况,如后面所述,是指在作用于关节的负荷的大小超过了阈值时,为了控制该关节以降低负荷,该关节不能用于对目标状态矢量的追随控制。这是因为:当能够用于对目标状态矢量的追随控制的关节的数量小于6时,不能分别独立地控制前端连杆的当前状态矢量的6个要素。
在存储装置40中,按各关节将各个关节能够容许的负荷的大小作为阈值存储。根据使马达不会过热的条件、或者当机器人与其他物体接触时不会给机器人或其他物体带来损伤的条件等,预先设定阈值。
接着,对控制器30所执行的控制进行说明。首先,对通常状态(即,在全部的关节中,作用的负荷的大小小于阈值的状态)下的控制进行说明。每隔预定周期向逆变换部44输入存储在存储装置40中的目标状态矢量。还有,对要素抽出部42所进行的处理,将在后面介绍。还向逆变换部44输入安装于机器人机构10的各关节的编码器26所计测的关节角(当前关节角)。逆变换部44,使用当前关节角,进行将目标状态矢量向各关节的目标关节角(目标关节角矢量)变换的逆变换。已知机器人机构10的连杆结构,只要取得各控制时的各关节的当前关节角,就能够求出逆变换式。在本实施例中,多关节机器人的关节的总数是6个,目标状态矢量的总要素数也是6个,所以能够决定求出实现任意的目标状态矢量的目标关节角的逆变换式。通过逆变换器44求出的6个目标关节角被发送至马达驱动器38。马达驱动器38按各关节控制执行器22,使得当前关节角追随目标关节角。上面的控制与现有的多关节机器人的控制相同。
接着,对作用于关节的负荷的大小大于阈值的情况下的控制进行说明。作用于关节的负荷的大小和方向由负荷推定部32推定。在本实施例中,马达驱动器38的最下层的控制环是电流控制环。执行器即马达的输出转矩与施加于马达的电流值大致成比例。因此,通过监视马达驱动器38向执行器22输出的电流指令值,能够推定执行器的输出转矩的大小和方向。能够预先调查执行器的输出转矩和关节轴输出的转矩的关系。负荷推定部32,通过监视马达驱动器38向执行器输出的电流指令值,推定各关节的转矩,即作用于各关节的负荷转矩的大小和方向。
由负荷推定部32推定出的各关节的推定负荷的大小和方向,被发送至过负荷关节确定部34。过负荷关节确定部34,从存储装置40读出各关节的阈值,按各关节比较推定负荷的大小。这里,在推定负荷的大小大于阈值的情况下将该关节称为过负荷关节。还有,将不是过负荷关节的关节称为非过负荷关节。另外,这里所说的“过负荷关节”是推定负荷的大小超过了预先设定的阈值的关节,并不限于推定负荷的大小超过关节的物理容许负荷的大小的关节。通过过负荷关节确定部34,机器人机构10的全部的关节被确定为过负荷关节或者非过负荷关节中的任一种。
对于过负荷关节,由力控制演算部36确定其目标关节角。对于非过负荷关节角,由逆变换器44决定其目标关节角。
在力控制演算部36中,针对过负荷关节,决定沿与负荷作用的方向相同的方向驱动关节的目标关节角。在本实施例中,力控制逻辑由下面的(1)式表示。
τ=K·(θd-θc) ...(1)
这里,T是由负荷推定部32推定出的负荷。K是弹簧常数,预先被设定。θc是由编码器26检测出的关节角(当前关节角)。θd是目标关节角。根据(1)式,目标关节角θd由下面的(2)式决定。
θd=θc+τ/K ...(2)
(2)式的意思如下。目标关节角θd被决定为:相对于检测出的当前关节角θc,在负荷τ作用的方向旋转τ/K后到达的位置。换言之,目标关节角θd被决定为沿与推定负荷τ作用于关节驱动轴的方向相同的方向驱动关节。在作用于某关节的驱动轴的负荷的大小由于机器人机构与其他物体接触而增大的情况下,设定使该关节沿与推定负荷τ作用的方向相同的方向进行旋转的目标关节角,进行控制使得当前关节角追随目标关节角,从而能够降低作用于关节的负荷。对推定负荷的大小超过阈值的所有关节(即,过负荷关节),通过(1)式以及(2)式决定目标关节角。(1)式以及(2)式中表示的变量(τ、K、θd以及θc),可以按各关节而取不同的值。
另一方面,过负荷关节确定部34的处理结果(即,哪个关节是过负荷关节的信息)被发送至要素抽出部42和逆变换器44。更具体而言,向要素抽出部42发送表示过负荷关节的数量的数据。表示过负荷关节的数量的数据,等价于表示非过负荷关节的数量的数据。向逆变换部44发送在多关节机器人所具有的关节中确定过负荷关节的数据。要素抽出部42还从存储装置40读出目标状态矢量和优先级的数据。要素抽出部42,从目标状态矢量的要素中,按优先级高的顺序抽出与非过负荷关节的数量等数的要素。要素抽出部42将抽出的目标要素向逆变换部44发送。从过负荷确定部34向逆变换部44发送确定过负荷关节的数据,因此,在逆变换部44中,能够确定非过负荷关节。这里,在逆变换部44中,预先设定有多个逆变换式(逆变换式群)。该逆变换式群,是将目标状态矢量的要素的任意组合作为输入,将目标关节角矢量的要素的任意组合作为输出的逆变换式的集合。这些逆变换式群,能够根据机器人机构的几何学构造而预先求出。在逆变换部44中,从这些逆变换式群中,选定以要素抽出部42抽出的要素为输入、以非过负荷关节的目标关节角为输出的逆变换式。通过使用选定的逆变换式,能够求出以由要素抽出部42抽出的要素为输入时的非过负荷关节的目标关节角。即,通过逆变换部44决定非过负荷关节的目标关节角。
通过上面的处理,过负荷关节的目标关节角由力控制演算部36决定,非过负荷关节的目标关节角由逆变换部44决定。分别决定的目标关节角被发送至马达驱动器38。通过马达驱动器38,与上述通常状态(没有过负荷关节的情况)一样,对各个关节,控制执行器22,使得当前关节角追随已决定的目标关节角。
参照图3的流程图说明上述的处理的流程。首先,由编码器26取得各关节的当前的关节角(步骤S100)。接着,通过监视从马达驱动器38向执行器22发送的电流指令值,推定作用于各关节的负荷的大小和方向(步骤S102)。接着,按各关节将推定出的负荷的大小与阈值进行比较(步骤S104)。这里,推定出的负荷的大小大于阈值的关节被确定为过负荷关节。对过负荷关节,通过(1)式和(2)式决定目标关节角(步骤S106)。另一方面,因为在步骤S104中过负荷关节被确定,所以过负荷关节以外的关节被确定为非过负荷关节(步骤S108)。从目标状态矢量中,按优先级高的顺序抽出与非过负荷关节的数量等数的要素(步骤S110)。选定以抽出的要素为输入、以非过负荷关节的目标关节角为输出的逆变换式(步骤S112)。在逆变换式中代入在步骤S110中取得的当前关节角的值。这样一来,逆变换式的具体的数值被设定。将抽出的要素的值输入设定的逆变换式,决定非过负荷关节的目标关节角(步骤S114)。将在步骤S106中决定的过负荷关节的目标关节角和在步骤S114中决定的非过负荷关节的目标关节角都向马达驱动器38输出(步骤S116)。虽然在图3中没有示出,但通过马达驱动器38,控制各关节使得当前关节角追随目标关节角。上述的处理按每个控制采样反复进行。
本实施例的多关节机器人100具有6个关节。即,多关节机器人100具有6自由度。因此,能够进行控制使得前端连杆的当前状态矢量追随6维的目标状态矢量。在6个关节全部是非过负荷关节的情况下,能够将6个关节全部用于对6维的目标状态矢量的追随控制。即,能够使末端(前端连杆)的状态矢量追随目标状态矢量。这里,在某关节的推定负荷的大小超过阈值的情况下,通过上述(2)式,该关节沿负荷作用的方向驱动,与目标状态矢量无关。即,过负荷关节沿负荷降低的方向被驱动。
过负荷关节,与目标状态矢量无关地根据负荷被控制,所以不能将该过负荷关节用于使前端连杆的当前状态矢量追随目标状态矢量。能够用于对目标状态矢量的追随控制的关节(即非过负荷关节)的数量,比目标状态矢量的维数少。因此,在现有技术中,不能使前端连杆的当前状态矢量追随被给与的目标状态矢量。在本实施例的多关节机器人100中,针对目标状态矢量的各要素预先设定优先级。从目标状态矢量的要素中,按优先级高的顺序抽出与非过负荷关节等数的要素。即,使目标状态矢量低维度化,直到与能够用于追随控制的关节的数量等数。由此,能够决定目标关节角,该目标关节角使前端连杆的当前状态矢量追随低维度化后的目标状态矢量。在使目标状态矢量低维度化时,按照预先决定的优先级,根据使多关节机器人执行的作业,优先抽出希望使其更正确地进行追随的要素。在本实施例的多关节机器人中,即便某关节成为过负荷状态而难以使前端连杆的当前状态矢量完全追随目标状态矢量时,也能够控制非过负荷关节,使得目标状态矢量中的重要的要素维持较高的追随性。由此,能够实现即便某关节成为过负荷状态也能尽可能地继续作业的多关节机器人。本实施例的多关节机器人,无论哪个关节成为过负荷,对目标状态矢量的要素中的高优先级的要素,都总是能够确保其追随性。根据本实施例的多关节机器人,无论哪个关节成为过负荷关节,都能够尽可能地继续预定的作业。
还有,在本实施例中,目标关节角相当于目标驱动量的一个形态。图2的负荷推定部32相当于权利要求的负荷推定部的一个形态。过负荷关节确定部34相当于权利要求的过负荷关节确定部的一个形态。力控制演算部36相当于权利要求的第一驱动量算出部的一个形态。要素抽出部42和逆变换部44相当于权利要求的第二驱动量算出部的一个形态。
在本实施例中,负荷推定部32、过负荷关节确定部34、力控制演算部36、要素抽出部42以及逆变换部44,作为控制器30的CPU执行的计算机程序模块安装。负荷推定部32等也可以分别作为进行专用的处理的专用硬件。换言之,CPU执行的程序包括使图3所示的流程图的各步骤执行的指示。
第二实施例
接着,对第二实施例进行说明。图4中示出了第二实施例的多关节机器人的框图。在图4中,对与图2所示的第一实施例的框图的部件相同的部件,标注相同的附图标记。对标注了与图2相同的附图标记的部件,省略说明。
第二实施例的多关节机器人中的机器人机构10b,力传感器28设置于前端连杆(图1的第七连杆12g)。除了力传感器28以外,与第一实施例的机器人机构10相同,所以省略说明。力传感器28,安装在末端执行器14(参照图1)和机器人机构10b的前端连杆之间。即,力传感器28检测经由末端执行器14对机器人机构10b施加的外力。
第二实施例的控制器30与第一实施例的控制器30(参照图2)的不同点在于负荷推定部32。除了负荷推定部32b以外,与第一实施例的控制器30相同,所以省略说明。
在本实施例的多关节机器人中,与第一实施例同样地,根据从马达驱动器38向执行器22指令的电流指令值,推定作用于各关节的驱动轴的总负荷。力传感器28的检测值和编码器26的检测值(各关节的当前的关节角)被输入至负荷推定部32b。负荷推定部32b,将通过力传感器检测出的外力(即经由末端执行器14对机器人机构10b施加的外力)变换为对各关节的驱动轴的负荷转矩(由末端外力所产生的负荷转矩)。负荷推定部32b将从推定出的总负荷的值中减去由末端外力所产生的负荷转矩的值后所得的值作为最终的推定负荷输出。此时的输出中包括推定负荷的大小和方向。还有,经由末端执行器14施加于机器人机构的外力向各驱动轴的变换,运用根据当前的关节角算出的雅可比矩阵的转置矩阵求出。即,本实施例中的负荷推定部32b,推定从作用于关节的驱动轴的总负荷中减去由力传感器检测出的外力(经由末端执行器作用于机器人机构10的外力)所产生的负荷后所得的负荷的大小和方向。下面,将从作用于关节的驱动轴的总负荷中减去由力传感器检测出的外力所产生的负荷后所得的负荷称为设想外负荷。将成为设想外负荷的原因的外力称为设想外外力。设想外外力,是例如在多关节机器人在作业中由于改变其姿态,机器人机构的末端执行器以外的部分与其他物体接触的情况等产生的外力。即,在起因于设想外外力的设想外负荷的大小超过了阈值的情况下,机器人机构与其他物体非预期地接触的可能性较大。在这样的情况下,优选,使机器人以避免其与其他物体的接触的方式进行工作。本实施例的控制器30b,除了负荷推定部32b以外,与第一实施例的控制器30一样。因此,关于由负荷推定部32b推定出的负荷(设想外负荷)的大小大于阈值的过负荷关节,沿与负荷作用的方向相同的方向驱动关节。由此,能够使关节沿解除机器人与其他物体的接触的方向动作。还有,本实施例中的阈值的值可以与第一实施例中的阈值的值不同。具体而言,在本实施例中,负荷推定部32b推定起因于设想外外力的设想外负荷,所以将阈值设定为能够容许设想外负荷的值。
本实施例的多关节机器人,在末端执行器以外的部位与其他物体接触的情况下,消除该接触,并控制未参与接触的消除的关节(即非过负荷关节)使得前端连杆的当前状态矢量尽可能地追随目标状态矢量。即,本实施例的多关节机器人,在末端执行器以外的部位与其他物体接触的情况下,能够消除该接触,而且机器人能够尽可能地继续正在执行的作业。
第三实施例
接着,对本发明的第三实施例进行说明。在第一实施例以及第二实施例中,在决定非过负荷关节的目标关节角时使用了逆变换。在第三实施例中,控制各关节时的目标值(目标驱动量)是关节角速度,目标状态矢量由前端连杆的目标速度(图1的坐标系中的x、y、z各轴方向的速度以及滚动角角速度、俯仰角角速度、偏转角角速度)表示。即,在不存在过负荷关节的情况下,第三实施例的多关节机器人进行所谓分解速度控制。本实施例,在决定非过负荷关节的目标值(角速度)时应用分解速度控制。还有,在本实施例中,多关节机器人的框图参照图2。只不过,将图2中的逆变换部44置换为分解速度控制演算部。
可以用雅可比矩阵从前端连杆的目标状态矢量向目标关节角速度矢量(关节的目标驱动量矢量)变换。目标状态矢量用dX表示,以各关节的当前关节角为要素的关节角矢量用Θ表示,以各关节的目标角速度为要素的目标关节角速度矢量(目标驱动量矢量)用dΘ表示,雅可比矩阵用J(Θ)表示,则它们的关系由下面的(3)式表示。
dX=J(Θ)·dΘ ...(3)
因此,目标关节角速度矢量dΘ由下面的(4)式表示。
dΘ=J-1(Θ)·dX ...(4)
这里,J-1(Θ)是雅可比矩阵J(Θ)的逆矩阵。与第一实施例同样的,多关节机器人具有6个关节,目标状态矢量是以前端连杆的x轴、y轴、z轴方向的速度和、分别围绕3轴的滚动角速度、俯仰角速度以及偏转角速度为要素的6维矢量。在(3)式中,dX和dΘ都是6维的,所以雅可比矩阵J(Θ)是6×6的方阵。因此,只要雅可比矩阵J(Θ)的行列式不是零,逆矩阵J-1(Θ)存在,则能够通过(4)式根据目标状态矢量dX求出dΘ。对各要素具有(角)速度的单位的目标状态矢量,使用雅可比矩阵的逆矩阵,算出目标关节角速度,控制各关节的执行器以实现得出的目标关节角速度,这样的方法是被称为分解速度控制法的控制法。
在本实施例中,对存在过负荷关节的情况下的处理进行说明。现在,设定通过图2的过负荷特定部34,6维的关节角矢量Θ的第i要素的关节被确定为过负荷关节。存在一个过负荷关节,所以要素抽出部42从6维的目标状态矢量dX的要素中按高优先级抽出5个要素。换言之,抽出低维度化为5维的目标状态矢量。这里,设定在6维的目标状态矢量dX的要素中,第j要素为优先级最低的要素。本实施例的分解速度控制演算部,根据缺少了第j要素的5维的目标状态矢量(表示为dX’)决定缺少了第i要素的5维的目标关节角速度矢量(表示为dΘ’)。从(3)式中表示的6×6的雅可比矩阵J(Θ)除去了第j行和第i列后所得的5×5的降阶雅可比矩阵用J’(Θ)表示,则下面的(5)式成立。
dX’=J’-1(Θ)·dΘ’ ...(5)
因此,5维的目标关节角速度矢量dΘ’通过下面的(6)式求出。
dΘ’=J’-1(Θ)·dX’ ...(6)
本实施例的分解速度控制演算部,能够通过(6)式决定非过负荷关节(除去了第i个关节的关节)的目标关节角速度矢量dΘ’。将决定了的目标关节角速度矢量dΘ’的各要素(各非过负荷关节的目标关节角速度)被发送至马达驱动器38。马达驱动器38控制执行器22,使得追随目标关节角速度。还有,本实施例中的控制演算部36,按各驱动轴,基于进行阻抗控制或力控制的控制律,算出过负荷关节的目标关节角速度。
还有,在上述例子中,假定过负荷关节为一个,但在过负荷关节存在多个的情况下,同样的理论也成立。
在第三实施例中,利用分解速度控制法,算出非过负荷关节的目标关节角速度(目标驱动量)。分解速度控制是使用雅可比矩阵的逆矩阵根据由具有速度单位的要素构成的目标状态矢量来决定各关节的目标关节角速度的方法。在第三实施例中,设定多关节机器人的雅可比矩阵,确定降阶雅可比矩阵,该降阶雅可比矩阵,在所述雅可比矩阵中除去了与确定的过负荷关节相对应的列(在上述例子中为第i列)和与没有被抽出的目标状态矢量的要素相对应的行(在上述例子中为第j行)。使用该降阶雅可比矩阵的逆矩阵,根据抽出的目标状态矢量的要素来决定非过负荷关节的目标关节角速度(目标驱动量)。在第三实施例中,确定能够用于对目标状态矢量的追随控制的关节(非过负荷关节)的数量。而且,对目标状态矢量,使其要素的数量低维度化为与非过负荷关节的数量相等。通过使目标状态矢量的维数与非过负荷关节的数量一致,能够使它们之间组成的雅可比矩阵总是维持为方阵。由于雅可比矩阵被维持为方阵,所以能够算出雅可比矩阵的逆矩阵(但是除去特殊的情况)。因此,使前端连杆的当前状态矢量追随进行了低维度化后的目标状态矢量的目标驱动量,能够通过降阶后的雅可比矩阵简单地决定。本实施例中的分解速度控制演算部(在图2或者图4中置换为逆变换器44)和图2或图4的要素抽出部42,相当于权利要求的第二驱动量算出部的一个形态。
图3所示的流程图的处理,由控制器30或30b执行。这些处理,记述在控制器30执行的计算机程序中。因此,本发明也作为多关节机器人的控制用计算机程序产品而实现。如果要概括图3所示的流程图,则该计算机程序产品包括使以下的步骤执行的指示。
推定作用于各关节的驱动轴的负荷的大小和方向的负荷推定步骤(步骤S102);
确定推定出的负荷的大小大于阈值的过负荷关节和推定出的负荷的大小在阈值以下的非过负荷关节的过负荷关节确定步骤(步骤S104);
第一驱动量算出步骤,算出沿与负荷的作用方向相同的方向驱动过负荷关节的过负荷关节的目标驱动量(步骤S106);
第二驱动量算出步骤,从所给与的前端连杆的目标状态矢量的要素中,按所给与的优先级高的顺序抽出与非过负荷关节相同数量的要素,算出驱动非过负荷关节使得实现抽出的要素的值的非过负荷关节的目标驱动量(步骤S110、S112、S114);和
将由第一驱动量算出步骤和第二驱动量算出步骤算出的目标驱动量,向对执行器进行控制的驱动器输出的输出步骤(步骤S116)。
上面,详细说明了本发明的具体例子,但这些只是例示,并不会限定权利要求。权利要求中所记载的技术,包括对以上例示的具体例子进行了各种各样的变形、变更的内容。
例如,起因于机器人的自重的负荷也作用于各驱动轴。或者,在机器人高速工作的情况下,起因于惯性力的负荷也作用于它们。机器人的自重、惯性力所产生的负荷是能够预想的负荷,在确定过负荷关节时,有时可以将它们从与阈值进行比较的推定负荷中除去。在这样的情况下,负荷推定部,也可以按各关节,推定从作用于驱动轴的总负荷中除去起因于重力的负荷而得到的负荷的大小和方向。或者,负荷推定部,也可以按各关节推定从作用于驱动轴的总负荷中除去起因于惯性力的负荷而得到的负荷的大小和方向。而且,负荷推定部,也可以按各关节推定从作用于驱动轴的总负荷中除去起因于重力和惯性力两者的负荷而得到的负荷的大小和方向。另外,起因于机器人的自重而作用于驱动轴的负荷的大小和方向,能够通过机器人的各部的质量与惯性力矩和以及各关节的当前关节角算出。起因于惯性力而作用于驱动轴的负荷的大小和方向,还能够通过各关节的关节角加速度和角速度算出。
本说明书或附图中所说明的技术要素,是单独地或者通过各种的组合而发挥技术有用性的技术要素,并不限定于提出申请时的权利要求所记载的组合。还有,本发明书或附图中所例示的技术,能够同时实现多个目的,因实现其中一个目的本身而具有技术有用性。
Claims (5)
1.一种多关节机器人,该机器人具有多关节机器人机构和控制器,其特征在于,
多关节机器人机构,具有多个连杆、多个关节和多个执行器,相邻的连杆经由关节相连接,能够通过各个执行器驱动各个关节而使前端连杆的状态变化,
控制器,具备:
存储有前端连杆的状态的目标状态矢量和按各目标状态矢量的要素而设定的优先级的存储部;
推定作用于各关节的驱动轴的负荷的大小和方向的负荷推定部;
确定推定出的负荷的大小大于阈值的过负荷关节、和推定出的负荷的大小在阈值以下的非过负荷关节的过负荷关节确定部;
第一驱动量算出部,其针对过负荷关节,算出沿与负荷的作用方向相同的方向驱动过负荷关节的目标驱动量;
第二驱动量算出部,其从目标状态矢量的要素中按优先级高的顺序抽出与非过负荷关节相同数量的要素,针对非过负荷关节,算出驱动非过负荷关节使得实现抽出的要素的值的目标驱动量;和
基于第一驱动量算出部和第二驱动量算出部算出的目标驱动量对执行器进行控制的驱动器。
2.根据权利要求1所记载的多关节机器人,其特征在于,
各执行器是输出转矩与所施加的电流成比例的马达,
负荷推定部,根据驱动器对马达输出的电流指令值推定出负荷的大小和方向。
3.根据权利要求1所记载的多关节机器人,其特征在于,
在前端连杆安装有力传感器,负荷推定部根据力传感器所检测出的外力,推定出作用于各关节的驱动轴的负荷的大小和方向。
4.根据权利要求1所记载的多关节机器人,其特征在于,
在前端连杆安装有力传感器,负荷推定部,通过从作用于各关节的驱动轴的各关节的总负荷中减去由力传感器检测出的外力所产生的负荷,推定关节的负荷的大小和方向。
5.一种用于通过计算机程序控制多关节机器人的方法,该机器人具有多个连杆、多个关节和多个执行器,相邻的连杆经由关节相连接,能够通过各个执行器驱动各个关节而使前端连杆的状态变化,该方法包括:
推定作用于各关节的驱动轴的负荷的大小和方向的负荷推定步骤;
确定推定出的负荷的大小大于阈值的过负荷关节和推定出的负荷的大小在阈值以下的非过负荷关节的过负荷关节确定步骤;
第一驱动量算出步骤,算出沿与负荷的作用方向相同的方向驱动过负荷关节的过负荷关节的目标驱动量;
第二驱动量算出步骤,从所给的前端连杆的目标状态矢量的要素中、按所给的优先级高的顺序抽出与非过负荷关节相同数量的要素,算出驱动非过负荷关节使得实现抽出的要素的值的非过负荷关节的目标驱动量;和
将由第一驱动量算出步骤和第二驱动量算出步骤算出的目标驱动量,向控制执行器的驱动器输出的输出步骤。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP175063/2006 | 2006-06-26 | ||
JP2006175063A JP4508164B2 (ja) | 2006-06-26 | 2006-06-26 | 多関節ロボット及びその制御プログラム |
PCT/JP2007/062675 WO2008001713A1 (fr) | 2006-06-26 | 2007-06-25 | Robot articulé et son programme de commande |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101479081A CN101479081A (zh) | 2009-07-08 |
CN101479081B true CN101479081B (zh) | 2011-06-15 |
Family
ID=38845477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007800238681A Expired - Fee Related CN101479081B (zh) | 2006-06-26 | 2007-06-25 | 多关节机器人及其控制程序 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8112179B2 (zh) |
EP (1) | EP2033746A4 (zh) |
JP (1) | JP4508164B2 (zh) |
CN (1) | CN101479081B (zh) |
WO (1) | WO2008001713A1 (zh) |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101396830A (zh) * | 2007-09-29 | 2009-04-01 | 株式会社Ihi | 机器人装置的控制方法以及机器人装置 |
JP2009220184A (ja) * | 2008-03-13 | 2009-10-01 | Nachi Fujikoshi Corp | 産業用ロボットの出力トルク制限回路 |
JP4715863B2 (ja) * | 2008-05-01 | 2011-07-06 | ソニー株式会社 | アクチュエータ制御装置及びアクチュエータ制御方法、アクチュエータ、ロボット装置、並びにコンピュータ・プログラム |
CN101737603B (zh) * | 2008-11-10 | 2011-11-30 | 鸿富锦精密工业(深圳)有限公司 | 万向关节 |
US8170718B2 (en) * | 2008-12-18 | 2012-05-01 | GM Global Technology Operations LLC | Multiple priority operational space impedance control |
US9643316B2 (en) * | 2009-10-27 | 2017-05-09 | Battelle Memorial Institute | Semi-autonomous multi-use robot system and method of operation |
WO2011080856A1 (ja) * | 2010-01-04 | 2011-07-07 | パナソニック株式会社 | ロボット、ロボットの制御装置、及び制御方法 |
KR101953113B1 (ko) * | 2011-05-30 | 2019-03-05 | 삼성전자주식회사 | 로봇 및 그 제어방법 |
JP5966372B2 (ja) | 2012-01-17 | 2016-08-10 | セイコーエプソン株式会社 | ロボット制御装置、ロボットシステム、ロボット制御方法及びロボット |
JP5962020B2 (ja) * | 2012-01-17 | 2016-08-03 | セイコーエプソン株式会社 | ロボット制御装置、ロボットシステム、ロボット及びロボット制御方法 |
US10383765B2 (en) | 2012-04-24 | 2019-08-20 | Auris Health, Inc. | Apparatus and method for a global coordinate system for use in robotic surgery |
US9796082B2 (en) * | 2013-05-24 | 2017-10-24 | Carnegie Mellon University, CTTEC | Series elastic actuators for robots and robotic devices |
DE102013016019B3 (de) * | 2013-09-25 | 2015-03-19 | Festo Ag & Co. Kg | Verfahren zum Betreiben eines mehrgliedrigen Manipulators |
US9259844B2 (en) * | 2014-02-12 | 2016-02-16 | General Electric Company | Vision-guided electromagnetic robotic system |
JP5941083B2 (ja) * | 2014-03-12 | 2016-06-29 | ファナック株式会社 | 外部環境との接触を検知するロボット制御装置 |
US9346165B1 (en) * | 2014-06-02 | 2016-05-24 | Google Inc. | Robotic devices with multi-degree of freedom (DOF) load cell for shear beam sensing |
US10499999B2 (en) | 2014-10-09 | 2019-12-10 | Auris Health, Inc. | Systems and methods for aligning an elongate member with an access site |
CN104626171A (zh) * | 2015-01-07 | 2015-05-20 | 北京卫星环境工程研究所 | 基于六维力传感器的机械臂碰撞检测与响应方法 |
US10201901B2 (en) * | 2015-01-29 | 2019-02-12 | Canon Kabushiki Kaisha | Robot apparatus, method for controlling robot, program, and recording medium |
KR101743225B1 (ko) * | 2015-12-30 | 2017-06-15 | 국방과학연구소 | 다축 구동계의 무게중심 측정 방법 및 장치 |
US20170259433A1 (en) * | 2016-03-11 | 2017-09-14 | Seiko Epson Corporation | Robot control device, information processing device, and robot system |
CN109843521A (zh) * | 2016-10-31 | 2019-06-04 | 生活机器人学股份有限公司 | 机械臂机构 |
US10821614B2 (en) | 2016-11-11 | 2020-11-03 | Sarcos Corp. | Clutched joint modules having a quasi-passive elastic actuator for a robotic assembly |
US10828767B2 (en) | 2016-11-11 | 2020-11-10 | Sarcos Corp. | Tunable actuator joint modules having energy recovering quasi-passive elastic actuators with internal valve arrangements |
CN110809452B (zh) | 2017-06-28 | 2023-05-23 | 奥瑞斯健康公司 | 电磁场发生器对准 |
US11395703B2 (en) | 2017-06-28 | 2022-07-26 | Auris Health, Inc. | Electromagnetic distortion detection |
US10464209B2 (en) | 2017-10-05 | 2019-11-05 | Auris Health, Inc. | Robotic system with indication of boundary for robotic arm |
US10016900B1 (en) * | 2017-10-10 | 2018-07-10 | Auris Health, Inc. | Surgical robotic arm admittance control |
JP7001439B2 (ja) * | 2017-11-24 | 2022-01-19 | 川崎重工業株式会社 | 監視方法 |
JP7028092B2 (ja) * | 2018-07-13 | 2022-03-02 | オムロン株式会社 | 把持姿勢評価装置及び把持姿勢評価プログラム |
CN112384341A (zh) * | 2018-07-17 | 2021-02-19 | 索尼公司 | 控制装置、控制方法以及控制系统 |
US11034026B2 (en) * | 2019-01-10 | 2021-06-15 | General Electric Company | Utilizing optical data to dynamically control operation of a snake-arm robot |
EP3689554A1 (de) * | 2019-01-30 | 2020-08-05 | Siemens Aktiengesellschaft | Schonung eines robotergelenks durch eine geänderte bahntrajektorie |
US20220226993A1 (en) * | 2019-04-17 | 2022-07-21 | Universal Robots A/S | Method of controlling a robot arm based on adaptive friction |
US11324558B2 (en) | 2019-09-03 | 2022-05-10 | Auris Health, Inc. | Electromagnetic distortion detection and compensation |
CN110928236B (zh) * | 2019-11-21 | 2021-07-27 | 珠海格力智能装备有限公司 | 机器人受力数据的检测方法、装置及系统 |
DE102019131400B4 (de) * | 2019-11-21 | 2022-03-10 | Franka Emika Gmbh | Kraftmessung und Krafterzeugung in redundanten Robotermanipulatoren |
CN111687832B (zh) * | 2020-04-30 | 2023-06-02 | 广西科技大学 | 空间机械手冗余机械臂逆优先级阻抗控制系统及控制方法 |
CN111687835B (zh) * | 2020-04-30 | 2023-06-02 | 广西科技大学 | 水下机械手冗余机械臂逆优先级阻抗控制系统及控制方法 |
CN111687833B (zh) * | 2020-04-30 | 2023-06-02 | 广西科技大学 | 机械手逆优先级阻抗控制系统及控制方法 |
CN111687834B (zh) * | 2020-04-30 | 2023-06-02 | 广西科技大学 | 移动机械手冗余机械臂逆优先级阻抗控制系统及控制方法 |
US11833676B2 (en) | 2020-12-07 | 2023-12-05 | Sarcos Corp. | Combining sensor output data to prevent unsafe operation of an exoskeleton |
CN114310063B (zh) * | 2022-01-28 | 2023-06-06 | 长春职业技术学院 | 一种基于六轴机器人的焊接优化方法 |
US11826907B1 (en) * | 2022-08-17 | 2023-11-28 | Sarcos Corp. | Robotic joint system with length adapter |
WO2024053079A1 (ja) * | 2022-09-09 | 2024-03-14 | ファナック株式会社 | ロボットシステム、ロボットの診断装置、診断方法および診断プログラム |
US11924023B1 (en) | 2022-11-17 | 2024-03-05 | Sarcos Corp. | Systems and methods for redundant network communication in a robot |
US11897132B1 (en) | 2022-11-17 | 2024-02-13 | Sarcos Corp. | Systems and methods for redundant network communication in a robot |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5130632A (en) * | 1989-12-06 | 1992-07-14 | Hitachi, Ltd. | Manipulator and control method therefor |
CN1481298A (zh) * | 2002-04-12 | 2004-03-10 | 三菱电机株式会社 | 机械手 |
CN1757490A (zh) * | 2004-10-08 | 2006-04-12 | 发那科株式会社 | 把持型机械手 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4807153A (en) * | 1986-11-20 | 1989-02-21 | Unimation Inc. | Multiaxis digital robot control having a backup velocity monitor and protection system |
US4864206A (en) * | 1986-11-20 | 1989-09-05 | Westinghouse Electric Corp. | Multiaxis robot control having improved energy monitoring system for protecting robots against joint motor overload |
JP2713899B2 (ja) | 1987-03-30 | 1998-02-16 | 株式会社日立製作所 | ロボツト装置 |
IL120889A (en) * | 1997-05-22 | 1998-10-30 | Eshed Robotec 1982 Ltd | Method and facility for direct learning of vending machines |
JPH11277468A (ja) * | 1998-03-30 | 1999-10-12 | Denso Corp | ロボットの制御装置 |
JP2003082701A (ja) * | 2001-09-10 | 2003-03-19 | Hitachi Constr Mach Co Ltd | 多関節アーム作業機の軌跡逸脱防止装置 |
DE60336992D1 (de) * | 2002-03-18 | 2011-06-16 | Sony Corp | Robotereinrichtung mit steuerverfahren |
JP4592276B2 (ja) * | 2003-10-24 | 2010-12-01 | ソニー株式会社 | ロボット装置のためのモーション編集装置及びモーション編集方法、並びにコンピュータ・プログラム |
JP2005144644A (ja) * | 2003-11-19 | 2005-06-09 | Yaskawa Electric Corp | 自動機械の動作範囲制限方法 |
JP2005161469A (ja) * | 2003-12-03 | 2005-06-23 | Sony Corp | ロボット装置及びロボット装置のための過電流保護装置 |
JP2006175063A (ja) | 2004-12-22 | 2006-07-06 | Noru Corporation:Kk | 装飾部材を緩嵌合可能とされる装飾具及び装飾具用装飾部材 |
-
2006
- 2006-06-26 JP JP2006175063A patent/JP4508164B2/ja not_active Expired - Fee Related
-
2007
- 2007-06-25 US US12/303,649 patent/US8112179B2/en not_active Expired - Fee Related
- 2007-06-25 WO PCT/JP2007/062675 patent/WO2008001713A1/ja active Application Filing
- 2007-06-25 CN CN2007800238681A patent/CN101479081B/zh not_active Expired - Fee Related
- 2007-06-25 EP EP07767482.8A patent/EP2033746A4/en not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5130632A (en) * | 1989-12-06 | 1992-07-14 | Hitachi, Ltd. | Manipulator and control method therefor |
CN1481298A (zh) * | 2002-04-12 | 2004-03-10 | 三菱电机株式会社 | 机械手 |
CN1757490A (zh) * | 2004-10-08 | 2006-04-12 | 发那科株式会社 | 把持型机械手 |
Non-Patent Citations (2)
Title |
---|
JP特开2003-82701A 2003.03.19 |
JP特开2005-144644A 2005.06.09 |
Also Published As
Publication number | Publication date |
---|---|
EP2033746A4 (en) | 2013-08-14 |
US8112179B2 (en) | 2012-02-07 |
JP4508164B2 (ja) | 2010-07-21 |
JP2008000861A (ja) | 2008-01-10 |
EP2033746A1 (en) | 2009-03-11 |
CN101479081A (zh) | 2009-07-08 |
US20100234999A1 (en) | 2010-09-16 |
WO2008001713A1 (fr) | 2008-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101479081B (zh) | 多关节机器人及其控制程序 | |
Kaspar et al. | Sim2real transfer for reinforcement learning without dynamics randomization | |
US9403273B2 (en) | Rapid robotic imitation learning of force-torque tasks | |
US8364314B2 (en) | Method and apparatus for automatic control of a humanoid robot | |
US10406692B2 (en) | Robot system, robot, and robot control apparatus | |
EP2639020A2 (en) | Robot control method, robot control device, and robot control system | |
Whitsell et al. | Physical human–robot interaction (pHRI) in 6 DOF with asymmetric cooperation | |
KR20170000815A (ko) | 수동 안내-작동모드로의 로봇의 제어기의 전환 | |
CN111712356A (zh) | 机器人系统和操作方法 | |
CN112809667B (zh) | 工业机器人的力控制方法、装置及其应用 | |
Hamaya et al. | Learning robotic assembly tasks with lower dimensional systems by leveraging physical softness and environmental constraints | |
US9283676B2 (en) | Real-time robotic grasp planning | |
JP2010064155A (ja) | 把持装置 | |
Sievers et al. | Learning purely tactile in-hand manipulation with a torque-controlled hand | |
JP6322949B2 (ja) | ロボット制御装置、ロボットシステム、ロボット、ロボット制御方法及びロボット制御プログラム | |
Hou et al. | Reorienting objects in 3D space using pivoting | |
CN116113523A (zh) | 信息处理装置、信息处理方法和程序 | |
Park et al. | Quantitative evaluation of an intuitive teaching method for industrial robot using a force/moment direction sensor | |
Stemmer et al. | Robust assembly of complex shaped planar parts using vision and force | |
Abdeetedal et al. | Development and grasp analysis of a sensorized underactuated finger | |
da Fonseca et al. | Fuzzy controlled object manipulation using a three-fingered robotic hand | |
US20240131699A1 (en) | Robot system, learning apparatus, information processing apparatus, learned model, control method, information processing method, method for manufacturing product, and recording medium | |
Haberbusch | Autonomous skills for remote robotic assembly | |
JP2024072129A (ja) | 計算機システム及びロボットの制御方法 | |
TWI784700B (zh) | 機器人系統及拾取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110615 Termination date: 20160625 |
|
CF01 | Termination of patent right due to non-payment of annual fee |