机器人控制装置的制作方法

文档序号:11119831阅读:594来源:国知局
机器人控制装置的制造方法

本发明涉及一种机器人控制装置。



背景技术:

机器人的关节和连杆受到作用于机器人和安装于机器人的前端的工具的重力的影响而发生弹性变形。机器人的结构要素的变形会导致机器人的定位精度的下降。因此,采用了将机器人的结构要素模型化、对其变形量进行补偿的机器人的控制方法。

例如,在日本特开2002-307344号公报中公开了以下技术:对在机器人的关节和连杆中产生的弯曲进行校正,来更准确地对各关节的致动器进行控制。在日本特开2010-058256号公报中公开了以下技术:调整臂的位置,以消除由臂的弯曲等导致的位置偏移。

在日本特开2011-125956号公报中公开了以下技术:针对多关节机器人的臂的各关节,识别绕X轴、Y轴以及Z轴的弹簧常数。

现有的技术均是对机器人的关节或连杆的弯曲进行校正。然而,已知特别是在大型的机器人、例如重量超过500kg的机器人的情况下,为设置机器人而使用的铁板、或铁制的台等支承体发生弹性变形,对机器人的定位精度产生影响。



技术实现要素:

寻求一种能够提高机器人的定位精度的机器人控制装置。

根据本申请的第一发明,提供一种机器人控制装置,对至少一个致动器进行控制,该至少一个致动器使构成机器人的多个连杆彼此相对移动,该机器人相对于支承体固定地设置,该机器人控制装置具备:弯曲估计部,其估计在假定为所述机器人的前端已到达目标的位置及姿势时、由于作用于所述机器人的重力的影响而在所述支承体中产生的弯曲;移动量计算部,其基于由所述弯曲估计部估计出的所述支承体的弯曲,来计算用于使所述机器人的前端到达所述目标的位置及姿势的所述至少一个致动器的移动量;以及驱动部,其基于由所述移动量计算部计算出的所述移动量,来对所述至少一个致动器进行驱动。

根据本申请的第二发明,在第一发明所涉及的机器人控制装置中,所述弯曲估计部构成为还将所述机器人的加速度的影响考虑在内地估计所述支承体的弯曲。

根据本申请的第三发明,在第一发明所涉及的机器人控制装置中,还具备:存储部,其存储将所述支承体模型化为转动弹簧(日文:回転バネ)时的、所述转动弹簧的弹簧常数和所述转动弹簧的转动中心的位置;以及力矩计算部,其计算由于作用于所述机器人的重力的影响而作用于所述支承体的力矩的大小和方向,所述弯曲估计部构成为:基于由所述力矩计算部计算出的力矩的大小和方向、以及所述存储部中存储的所述弹簧常数和所述转动中心的位置,来估计所述支承体的弯曲。

根据本申请的第四发明,在第三发明所涉及的机器人控制装置中,所述力矩计算部构成为:还将所述机器人的加速度的影响考虑在内地计算所述力矩的大小和方向。

通过参照附图所示的本发明的例示性的实施方式所涉及的详细的说明,这些以及其它的本发明的目的、特征以及优点会变得更加明确。

附图说明

图1是表示具备机器人和机器人控制装置的机器人系统的图。

图2是表示图1的机器人的驱动机构的图。

图3是一个实施方式所涉及的机器人控制装置的框图。

图4是一个实施方式所涉及的机器人控制装置的功能框图。

图5是表示由一个实施方式所涉及的机器人控制装置执行的处理的流程图。

图6是表示用于设置机器人的支承体的图。

图7是表示机器人的另外的结构例的图。

图8是表示图7的机器人的驱动机构的图。

具体实施方式

下面参照附图来说明本发明的实施方式。为了有助于本发明的理解,图示的实施方式的结构要素适当变更了比例尺。另外,对相同或对应的结构要素使用相同的参照标记。

参照图1~图4,对本发明的一个实施方式所涉及的机器人控制装置的结构进行说明。图1示出了具备机器人5和对机器人5进行控制的机器人控制装置10的机器人系统100。

机器人5是具备基座51、回旋主体52、下臂53、上臂54以及手腕部55的六轴垂直多关节机器人。机器人5具有关节J1~J6(参照图2)。关节J1~J6被电动机7(仅有几个电动机能够视觉识别)分别驱动。

由下臂53和上臂54等形成的连杆构成为:随着设置于相邻的连杆之间的关节被驱动而彼此相对移动。由此,机器人5能够将安装于手腕部55的末端执行器(未图示)以期望的姿势定位于期望的位置。这种机器人5的结构和机构是周知的,因此在本说明书中不进行详细的说明。

机器人5的基座51固定于支承体3。支承体3是具有任意的形态、例如板材或台座的形态的金属制的构件。支承体3用于将机器人5固定地设置于规定的位置。

机器人5经由公知的通信手段、例如通信线缆4而与机器人控制装置10连接。机器人控制装置10是具有包括主CPU 11、存储器12以及各种接口(未图示)的公知的硬件结构的数字计算机。

存储器12具有ROM、RAM、非易失性存储器等。在ROM中保存有对机器人控制装置10的基本动作进行控制的系统程序。RAM暂时地存储主CPU11的运算结果。RAM也用于存储后述的计数器的计数值。

在非易失性存储器中,保存有对机器人5进行控制的动作程序以及根据动作程序来创建针对机器人5的指令所需的参数等。另外,在非易失性存储器中,保存有与机器人5的连杆以及安装于手前端的工具的质量和重心位置等有关的数据。并且,在非易失性存储器中,保存有后述的与被利用于计算支承体3的弯曲的转动弹簧的弹簧常数、转动弹簧的转动中心的位置有关的信息。

虽未图示,但是机器人控制装置10经由各种接口而与显示器和输入设备、例如鼠标或键盘、或者操作示教板等外部设备连接。

参照图3,机器人控制装置10的主CPU 11和存储器12经由总线13而与同各个关节J1~J6相对应地设置的伺服控制器14和伺服放大器15连接。

各个伺服控制器14对伺服放大器15输出电压指令或电流指令。电压指令或电流指令是基于移动指令与反馈信号之间的偏差量创建的,其中,移动指令是按照存储器12中保存的动作程序创建的,反馈信号是从设置于各个关节J1~J6的脉冲编码器输出的。

伺服放大器15按照从伺服控制器14输出的电压指令或电流指令,来向各自对应的电动机7提供电流。电动机7根据从伺服放大器15提供的电流来进行动作,经由减速机来对机器人5的关节J1~J6进行驱动。

图4示出了一个实施方式所涉及的机器人控制装置10的功能框图。如图4所示,机器人控制装置10具备存储部20、力矩计算部21、弯曲估计部22、移动量计算部23以及驱动部24。

存储部20在存储器12的非易失性存储器中保存将支承体3模型化为转动弹簧时的转动弹簧的弹簧常数和转动弹簧的转动中心的位置。

力矩计算部21计算机器人5到达目标的位置及姿势时由于作用于机器人5的重力的影响而作用于支承体3的力矩。由力矩计算部21求出的力矩包括大小和作用方向。在一个实施方式中,力矩计算部21也可以构成为:还将由机器人5的加速度引起的惯性力考虑在内地计算作用于支承体3的力矩的大小和方向。

弯曲估计部22估计在假定为机器人5到达了目标的位置及姿势时、由于作用于机器人5的重力的影响而在支承体3中产生的弯曲。在一个实施方式中,弯曲估计部22也可以构成为:基于由力矩计算部21计算出的力矩的大小和方向、以及存储部20中存储的弹簧常数和转动中心的位置,来估计支承体3的弯曲。另外,在一个实施方式中,弯曲估计部22也可以构成为:还将由机器人5的加速度引起的惯性力考虑在内地估计支承体3的弯曲。

移动量计算部23基于由弯曲估计部22估计出的支承体3的弯曲,来计算用于使机器人3的前端到达目标的位置及姿势的电动机7的移动量。由移动量计算部23求出的移动量是对支承体3的弯曲进行补偿所需的每个电动机7的移动量。

驱动部24基于由移动量计算部23计算出的移动量,来分别驱动电动机7。

参照图5所示的流程图,来对由一个实施方式所涉及的机器人控制装置10执行的处理进行说明。在以下的说明中,如图6所示,“世界坐标系Σ0”是以未弯曲的状态的支承体3的某个位置为原点O、以重力作用的方向为Z轴的负方向的坐标系。在此,原点O是代表支承体3的任意的位置。例如,原点O可以设定在机器人5的设置面的中心。

“修正世界坐标系Σ1”是与支承体3的弯曲相应地对“世界坐标系Σ0”进行了修正而得到的坐标系。即,修正世界坐标系的位置和姿势根据支承体3的弯曲的大小和方向而变化。

参照图5,在步骤S501中,主CPU 11按照存储器12中保存的机器人5的动作程序,来获取机器人5所对应的目标位置数据。“目标位置数据”包括该时间点的机器人5的目标的位置及姿势、目标速度矢量、目标角速度矢量、目标角加速度矢量中的至少一个。这些目标位置数据表现为世界坐标系Σ0的各轴上的坐标值。后述的“目标轴数据”是根据“目标位置数据”来决定的数据,包括机器人5到达目标的位置及姿势的时间点的各个关节J1~J6的目标位置、目标角速度以及目标角加速度中的至少一个。

根据本实施方式,将与目标位置数据相对应的目标轴数据与修正世界坐标系Σ1一起迭代计算规定次数,来求出收敛解。在步骤S502中,将对迭代计算的次数进行计数的计数器的计数值设定为零。将计数器的计数值N保存到存储器12的RAM中。在步骤S503中,作为初始设定,视为修正世界坐标系Σ1与世界坐标系Σ0一致。

接着,在步骤S504中,基于目标位置数据和修正世界坐标系Σ1来计算目标轴数据。在不考虑支承体3的弯曲的情况下,通过周知的机器人的运动学的逆变换来进行目标轴数据的计算。能够由存储器12的ROM中存储的系统程序来执行逆变换的计算。根据本实施方式,代替世界坐标系Σ0而使用修正世界坐标系Σ1来计算目标轴数据。在执行逆变换的计算时,由于支承体3的速度、角速度、加速度以及角加速度与机器人5的速度、角速度、加速度以及角加速度相比非常小,因此能够近似为零。即,作为构成目标轴数据的目标速度和目标加速度,能够直接使用不考虑支承体3的弯曲而得到的值。

在步骤S505中,使计数器的计数值N增加“1”。在步骤S506中,判定计数器的计数值N是否小于迭代次数Nmax。在步骤S506中的判定结果为肯定的情况下,进入步骤S507,基于修正世界坐标系Σ1和目标轴数据来计算机器人5作用于支承体3的力矩M。

按照周知的Newton-Euler法(牛顿-欧拉法)来求出力矩M。在世界坐标系Σ0中,通过下面的式(1)来表示力矩M。

在将用于设置机器人5的支承体3的平面视为转动弹簧时,通过下面的式(2)来表示作为力矩M作用的结果而产生的转动量D。

在此,“dx”表示转动弹簧的绕与世界坐标系Σ0的X轴平行的转动轴线Rx的转动量(参照图6)。“dy”表示转动弹簧的绕与世界坐标系Σ0的Y轴平行的转动轴线Ry的转动量。“dz”表示转动弹簧的绕与世界坐标系Σ0的Z轴平行的转动轴线Rz的转动量。

“rxx”、“rxy”、“rxz”、“ryx”、“ryy”、“ryz”、“rzx”、“rzy”以及“rzz”是将支承体3模型化为转动弹簧的情况下的弹簧常数。弹簧常数表示作用于支承体3的力矩M与转动量D之间的关系。即,式(2)中求出的转动量D作为支承体3的绕作为转动弹簧的转动中心的转动轴线Rx、Ry、Rz的转动量,表现了支承体3的弯曲的大小和方向。

以下面的式(3)来表示转动轴线Rx与世界坐标系Σ0中的YZ平面的交点F。

以下面的式(4)来表示转动轴线Ry与世界坐标系Σ0中的XZ平面的交点H。

以下面的式(5)来表示转动轴线Rz与世界坐标系Σ0中的XY平面的交点J。世界坐标系Σ0中的转动轴线Rx、Ry以及Rz的位置被存储于存储器2的非易失性存储器。因而,基于存储器2中存储的信息来计算交点F、H、J各自的坐标值。

在步骤S508中,基于力矩M和弹簧常数来对修正世界坐标系Σ1进行更新。如果以“弧度”来分别表示dx、dy、dz的单位,则通过下面的式(6)来表示将世界坐标系Σ0变换为修正世界坐标系Σ1的坐标变换矩阵。

T(u,v,w)Rz(dz)Ry(dy)Rx(dx)…式(6)

此外,以下面的式(7)~式(13)来表示Rz(dz)、Ry(dy)、Rx(dx)、T(u,v,w)、u、v、w。

u=jx(1-cos(dz))+jy sin(dz)-hz sin(dy)+hx(1-cos(dy))…式(11)

v=fy(1-cos(d))+fz sin(dx)-jx sin(dz)+jy(1-cos(dz))…式(12)

w=hz(1-cos(dy))+hx sin(dy)-fy sin(dx)+fz(1-cos(dx))…式(13)

当步骤S508中的处理完成时,返回到步骤S504,利用更新后的修正世界坐标系Σ1来再次计算目标轴数据。

另一方面,在步骤S506中的判定结果为否定的情况下、即计数器的计数值N达到Nmax时,进入步骤S509。在步骤S509中,基于最新的在步骤S504中计算出的目标轴数据,来计算电动机7的移动量。

根据本实施方式,校正针对电动机7的移动指令,以补偿支承体3的弹性变形。因而,即使由于机器人5的移动而支承体3发生弹性变形,也能够正确地定位机器人5。有时即使在机器人5向目标的位置及姿势移动的途中的插值点上也要求定位精度。在该情况下,如果对插值点上的机器人5应用前述的处理,则对于移动途中的机器人5也能够实现正确的定位。

接着,对另外的实施方式进行说明。本实施方式所涉及的机器人控制装置10用于对具有一个关节的机器人5进行控制。图7和图8示出了本实施方式所涉及的机器人5的结构例。机器人5具有关节J1和通过关节J1而转动的连杆L1。图8所示的点“O”示出了世界坐标系Σ0的原点。

在以下的说明中,视为在目标的位置及姿势下的机器人5是静止的。即,在机器人5处于目标的位置及姿势时,速度、加速度、角速度以及角加速度分别为零。能够与参照图5说明的第一实施方式同样地分别求出作用于支承体3的力矩M和修正世界坐标系Σ1。

另外,如果设世界坐标系Σ0的Y轴与关节J1的转动轴线Ry一致,则以下面的式(14)来表示力矩M。

M=gmP×G…式(14)

在此,“g”是重力加速度。“m”是连杆L1的质量。“P”是表示世界坐标系Σ0中的连杆L1的重心位置的矢量。“G”是重力方向单位矢量,以下面的式(15)来表示。

以下面的式(16)来表示修正世界坐标系Σ1中的重心位置矢量P。“θ”是关节J1的转动角度。“L”是关节J1的转动轴线Ry与连杆L1的重心之间的距离。

如果假定仅有绕Y轴的转动和在XZ平面上的平行移动,则修正世界坐标系Σ1中的重心位置矢量P的Y分量为零。在该情况下,若使用式(16)所示的P来求出力矩M,则如式(17)所示,X轴分量和Z轴分量为零。

在此,在将支承体3模型化为转动弹簧的情况下,以下面的式(18)来表示与力矩M的Y轴分量my相对应的支承体3的转动量D。

D=rmy…式(18)

“D”是转动弹簧的绕与世界坐标系Σ0的Y轴平行的转动轴线Ry的转动量。“r”是表示力矩my与转动量D之间的关系的弹簧常数。

在转动轴线Ry位于支承体3的原点O的正上方的情况下,在世界坐标系Σ0中以下面的式(19)来表示转动轴线Ry与世界坐标系Σ0的XZ平面的交点“H”。

如果以“弧度”来表示转动量D的单位,则通过下面的式(20)来表示将世界坐标系Σ0变换为修正世界坐标系Σ1的坐标变换矩阵。

根据本实施方式,需要考虑的关节只有一个,且在目标的位置及姿势下机器人5是静止的。因而,为求出修正世界坐标系Σ1而要求的计算量少。

在一例中,在作为变更了机器人5的姿势的结果而支承体3弯曲了0.05度的情况下,如果假定为工具前端距离弯曲的转动中心为2000mm,则工具前端的位置偏移约1.7mm。与此相对,如果按照前述的实施方式来对机器人的移动量进行校正,则能够补偿该偏移而将机器人5定位于所意图的位置。

作为对机器人5的连杆进行驱动的致动器的例子,对采用了旋转电动机的机器人5的例子进行了说明,但是机器人5也可以具备至少一个直线电动机。

根据本发明所涉及的机器人控制装置,对机器人到达目标的位置及姿势时在支承体中产生的弯曲进行估计,并且基于估计出的支承体的弯曲来计算对机器人进行驱动的致动器的移动量。由此,即使支承体发生弹性变形,也能够正确地对机器人进行定位。

以上,对本发明的各种实施方式进行了说明,但是本领域技术人员应当认识到,通过其它实施方式也能够实现本发明所意图的作用效果。特别是,能够不脱离本发明的范围地对前述的实施方式的结构要素进行删除或置换、或者能够进一步附加公知的手段。另外,通过任意地组合本说明书中明示或暗示地公开的多个实施方式的特征也能够实施本发明,这对本领域技术人员来说是不言而喻的。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1