2.4 手臂的控制2.4.1 运动控制对于机器人手臂的运动来说,人们通常关注末端的运动,而末端运动乃是由各个关节的运动合成实现的。
因而必须考虑手臂末端的位置、姿态与各个关节位移之间的关系。
此外,手臂运动,不仅仅涉及末端从某个位置向另外一个位置的移动,有时也希望它能沿着特定的空间路径进行移动。
为此,不仅要考虑手臂末端的位置,而且还必须顾及它的速度和加速度。
若再进一步从控制的观点来看,机器人手臂是一个复杂的多变量非线性系统,各关节之间存在耦合,为了完成高精度运动,必须对相互的影响进行补偿。
1.关节伺服和作业坐标伺服现在来研究n个自由度的手臂,设关节位移以ni个关节的位移,刚性臂的关节位移和末端位置、姿态之间的关系以下式给出:(1)m维末端向量,当它表示三维空间内的位置姿态时,m=6。
如式(1)所示,对刚性臂来说,由于各关节的位移完全决定了手臂末端的位置姿态,故如欲控制手臂运动,只要控制各关节的运动即可。
设刚性臂的运动方程式如下所示:(2)量为粘性摩擦系数矩阵;表示重力项的向量;机器人手臂的驱动装置是一个为了跟踪目标值对手臂当前运动状态进行反馈构成的伺服系统。
无论何种伺服系统结构,控制装置的功能都是检测各关节的1给出了控制系统的构成示意图。
来自示教、数值数据或外传感器的信号等构成了作业指令,控制系统根据这些指令,在目标轨迹生成部分产生伺服系统需要的目标值。
伺服系统的构成方法因目标值的选取方法的不同而异,大体上可以分为关节伺服和作业坐标伺服两种。
当目标值为速度、加速度量纲时,分别称之为速度控制或加速度控制,关于这些将在本节2.和3.中加以叙述。
图1 刚性臂控制系统的构成1) 关节伺服控制讨论以各关节位移的形式给定手臂运动目标值的情况。
令关节的目标值为12(,,,)T n d d d dn q q q q =∈ℜ。
图2给出了关节伺服的构成。
若目标值是以关节位移的形式给出的,那么如图2所示,各个关节可以独立构成伺服系统,因此问题就变得十分简单。
目标值d q 可以根据末端目标值d r 由式(1)的反函数,即逆运动学(inverse kinematics )的计算得出1()d r d q f r -= (3)图2 关节伺服构成举例如果是工业机器人经常采用的示教方法,那么示教者实际上都是一面看着手臂末端,一面进行示教的,所以不必进行式(3)的计算,d q 是直接给出的。
如果想让手臂静止于某个点,只要对d q 取定值即可,当欲使手臂从某个点向另一个点逐渐移动,或者使之沿某一轨迹运动时,则必须按时间的变化使dq发生变化。
为了简单起见,假设驱动器的动态特性忽略不计,直接给出。
这时,最简单的一种伺服系统如下所示:(4)4)归纳表示为(5)一个关节作为简单的单输入、单输出系统来处理,所以其结构简单,现在的工业机器人大部分都由这种关节伺服系统来控制。
但是,从式(2)中可知,从手臂的动态特性来看,严格地说,每个关节都不是单输入、单输出系统,惯性项和速度项在关节彼此之间存在动态耦合。
在式(5)所表示的关节伺服中,这些耦合均被视为外部干扰来进行处理,为了减少外部干扰的影响,在保持稳定性范围内响,手臂在静止状态下,各个关节仍会产生稳态误差,即将式(5)代入式(6)e:(6)有时为了使稳态误差为零,可在式(5)中再加上积分项,构成(7)它是一个对角矩阵。
传统上,上述伺服系统是用模拟电路构成的。
近年来,由于微处理器和信号处理器等高性能、低价格的计算器件的普及,将伺服系统的一部分或全部改成数字电路的所谓软件伺服已经很普遍了。
与模拟电路的情况相比,软件伺服能进照手臂不同姿态时所期望的响应特性而变化,用下式代替式(7),通过对重力项的计算,直接实现重力项的补偿(8)后续的内容中,都是在软件伺服假设的前提下展开讨论的。
如后面所述,软件伺服系统方式还能有比式(7)和式(8)更高级的控制方法,但是即使用式(7)和式(8无限长的时间,7)和式(8)的控制方法已经足够了。
2)作业坐标伺服控制关节伺服控制的结构简单,对软件伺服来说,计算量少,采样时间较短,所以是工业机器人经常采用的方法,这一点已经在前面有所论述。
但在自由空间内对手臂进行控制时,在很多场合都希望直接给出手臂末端位置、姿态运动的显式表达。
例如,让手臂从某个点沿直线运动至另一个点就是这种情况。
在这种情况下,3是,而且往往要在运动中对其加以在线修正,于是必须实时计算式(3)的逆运动学方程式。
此外,因为在关节伺服系统中各个关节是独立受控的,它们的实际响应结果导致的末端位置、姿态的响应比较难以预测,而且为了得到期望的末端响应,对各关节伺服系统的增益调节也十分困难。
系统。
由于在很多情况下,末端位置、下面举一最简单的作业坐标伺服的例子。
为此,首先将式(1)的两边对时间进行微分,由此可得下式: r T q q=∂(9)r ∂称之为雅可比矩阵,1)所示,为非线性关系。
与此相反,由式(9和q 为根据式(9)和虚功原理,可得下式:(10)m=6组合向量,态所对应的三维旋转力向量,式(10)表示与手臂末端的力和旋转力等效的各关为绕欧拉角各自旋转轴的力矩,这从直观上非常难以理解。
所以,在机器人学中,雅可比矩阵经常不是根据式(9),而是根据速度的关系直接按照下式来定义: (,)()T T T s s v J q q ω== (11)在式(11)中,末端速度向量s 的姿态分量不是姿态分量的时间微分描述,而是用角速度向量3ω∈ℜ来表示。
不过,在s 中,3v ∈ℜ是末端的平移速度,和r 的位置分量的时间微分一致。
式(11)的矩阵()s J q 也称为雅可比矩阵,它表示末端速度向量S 与关节速度q 之间的关系。
虽然它不是从式(9)原本的数学意义出发的,但是在机器人学中通常称之为雅可比矩阵。
若采用式(11)所定义的雅可比矩阵,对应于式(10)右边的f 就成为()Tz y x z y x m m m f f f ,,,,,,f 的旋转力分量就变成绕三维空间内某些轴旋转的力矩向量,这样从直觉就很容易理解。
有了上面一些预备知识,可以用下式给出一个作业坐标伺服的例子:()[()()]T p v d J q g q K r r K q τ=--+ (12)此时对应的控制系统示于图3中,再考虑附加积分环节,即如下式所示:()[()()]T p v i d d J q dt K r r K r r K q τ=-+--⎰ (13)图3 作业坐标伺服举例如果将末端位置、姿态的误差向量d r r -分解成位置和姿态分量,用[,]T T T p o e e 表示,各个分量可以用p d e p p =-,[,,]T o d d d e ααββγγ=---来表示。
3p ∈ℜ是末端位置向量,d p 是目标值,(,,)αβγ是欧拉角或横摇角、纵摇角、偏转角,(,,)d d d αβγ是其目标值。
由式(10)可知,与式(12)、式(1312)、式(13)中手臂末端的1)的正运动学(directkinematics)计算求得。
为了从直观上便于理解,可以认为式(12)、式(13)的方法就是要把末端拉向目标值的方向。
另外它还有一个特点,就是不含逆运动学计算。
与式(7)、式(8)一样,式(12)和式(13是渐进稳定的。
3)姿态的误差表示在式(12)或式(13)中,可以用式(119)中的雅可比矩阵义)(14)系中x轴,y轴,z轴方向的单位向量。
姿态目标值也可以用姿态矩阵的形式来表示,即(15)在式(12)或式(13姿态向量可以用下式给(16)从而得到与式(12)对应的式子如下:(17)同样,用式(1613)可以变形为(18)4)虽然姿态的误差角φ超过2π后0e 的模反而会变小,当φπ=时变为0,会产生错误的结果,但是,如果假设姿态误差不太大,如在22πφπ-<<的范围内,那就没什么问题了。
图4 等效旋转轴若用欧拉角(或横摇角、纵摇角、偏转角)表示姿态,则式(10)中f 对应的姿态分量在直观上就变得难以理解了,而且在表现奇异点方面也会出现问题。
用式(16)定义的0e 虽然在直观上容易理解,在表现奇异点方面也没有问题,但是只有在姿态误差小的条件下才有效。
因此,这里最后介绍采用四元数(quaternion )的姿态误差的表示法。
四元法作为欧拉参数(Euler parameters )为人们所熟知。
设从基准姿态向某一个别的姿态01R 变化的等效旋转轴为u ,绕该轴的旋转角为θ,则四元数4ˆq∈ℜ用下式定义: ˆ[,]T T qηε= cos 2θη=,sin 2u θε= (19)在式(19)中要注意,等效旋转轴的向量u 无论是从基准坐标系,还是从用01R 表示的坐标系,它的表达都是相同的,即0110R u R u u ==。
这时,旋转矩阵01R 与四元数ˆq具有如下式所示的关系: 021(21)2([])T R I ηεεηε=-++⨯ (20)式中,[]⨯为与向量的外积等效的变形对称矩阵;I 为33⨯单位矩阵。
式(20)也可反过来应用,即给出四元数,求解与之对应的旋转矩阵。
(21)(22)下式给出:(23)232.速度控制在1.中就关节伺服和作业坐标伺服的有关内容作了说明,手臂的目标值是以位置量纲给出的。
但是,有时手臂作业不用末端的位置和姿态来指定,而改成命令它从当前的位置向某一个方向移动,例如手臂末端从当前位置垂直向上运动,或者只绕规定轴旋转变化姿态,这相当于使用操纵杆操纵遥控机械手的情况。
对于这种类型的运动指令,虽然也允许用位置量纲的目标值给出,但必须沿着末端目标值运动的方向时时刻刻改变目标值。
在关节伺服的场合还必须对每个末端目标值根据式(3)进行一次逆运动学计算,以求得关节目标值,显然为此将花费很多计算时间。
对于这种运动指令,人们很自然地想到把末端速度作为目标值给出。
或s与关节速度9)或式(11m=n,式(9)或式(11由下式求出:(24)或 1()d s d q J q s -= (25)如果手臂具有冗余性,即n>m 时,或者手臂处于奇异状态下,不存在雅可比矩阵的逆矩阵,那么就无法直接应用式(24)或式(25)。
在实际的计算中,与其按式(24)或式(25)直接求解雅可比矩阵的逆矩阵,不如把式(24)或式(25)看作是雅可比矩阵,写出系数矩阵的联立代数方程,然后用消去法去求解d r ,从计算量的角度来看后者会更有利些。
我们可以把式(24)或式(25)视为把末端运动分解成必要的关节运动,故称之为分解速度控制(RMRC :Resolved Motion Rate Control )。
式(24)、式(25)的目标是速度,与其说是这些式子本身在实施控制,倒不如将其视为以速度量纲进行逆运动学计算更妥当。