机器人的运动控制.pdf
《机器人的运动控制.pdf》由会员分享,可在线阅读,更多相关《机器人的运动控制.pdf(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、.2.42.4 手臂的控制手臂的控制运动控制对于机器人手臂的运动来说,人们通常关注末端的运动,而末端运动乃是由各个关节的运动合成实现的。因而必须考虑手臂末端的位置、姿态与各个关节位移之间的关系。此外,手臂运动,不仅仅涉及末端从某个位置向另外一个位置的移动,有时也希望它能沿着特定的空间路径进行移动。为此,不仅要考虑手臂末端的位置,而且还必须顾及它的速度和加速度。若再进一步从控制的观点来看,机器人手臂是一个复杂的多变量非线性系统,各关节之间存在耦合,为了完成高精度运动,必须对相互的影响进行补偿。1.关节伺服和作业坐标伺服现在来研究 n 个自由度的手臂,设关节位移以 n 维向量q (q1,q2,qn
2、)Tn表示,qi是第 i 个关节的位移,刚性臂的关节位移和末端位置、姿态之间的关系以下式给出:r fr(q)1rm是某作业坐标系表示的m 维末端向量,当它表示三维空间的位置姿态时,m=6。如式1 所示,对刚性臂来说,由于各关节的位移完全决定了手臂末端的位置姿态,故如欲控制手臂运动,只要控制各关节的运动即可。设刚性臂的运动方程式如下所示:M(q)q h(q,q)q g(q)2式中,M(q)nn为手臂的惯性矩阵;h(q,q)n为表示离心力和哥氏力的向量,nn为 粘 性 摩 擦 系 数 矩 阵;g(q)n为 表 示 重 力 项 的 向 量;(1,n)Tn为关节驱动力向量。机器人手臂的驱动装置是一个为
3、了跟踪目标值对手臂当前运动状态进行反馈构成的伺服系统。无论何种伺服系统结构,控制装置的功能都是检测各关节的当前位置q及速度q,将它们作为反馈信号,最后直接或间接地决定各关节的驱动力。图 1 给出了控制系统的构成示意图。来自示教、数值数据或外传感器的信号等构成了作业指令,控制系统根据这些指令,在目标轨迹生成部分产生伺服系统需要的目标值。伺服系统的构成方法因目标值的选取方法的不同而异,大体上可以分为关节伺服和作业坐标伺服两种。当目标值为速度、加速度量纲时,分别称之为速度控制或加速度控制,关于这些将在本节 2.和 3.中加以叙述。图 1刚性臂控制系统的构成1)关节伺服控制讨论以各关节位移的形式给定手
4、臂运动目标值的情况。1/21.令关节的目标值为qd(qd1,qd 2,qdn)Tn。图 2 给出了关节伺服的构成。若目标值是以关节位移的形式给出的,那么如图 2 所示,各个关节可以独立构成伺服系统,因此问题就变得十分简单。目标值qd可以根据末端目标值rd由式1 的反函数,即逆运动学inverse kinematics 的计算得出qd fr1(rd)3图 2 关节伺服构成举例如果是工业机器人经常采用的示教方法,那么示教者实际上都是一面看着手臂末端,一面进行示教的,所以不必进行式3 的计算,qd是直接给出的。如果想让手臂静止于某个点,只要对qd取定值即可,当欲使手臂从某个点向另一个点逐渐移动,或者
5、使之沿某一轨迹运动时,则必须按时间的变化使qd发生变化。为了简单起见,假设驱动器的动态特性忽略不计,各个关节的驱动力i可以直接给出。这时,最简单的一种伺服系统如下所示:i kpi(qdi qi)kviqi4kpi是比例增益,kvi是速度反馈增益。对于全部关节,可以将式4 归纳表示为 Kp(qdq)Kvq5nnnn式中,Kp diag(kpi);Kv diag(kvi)。这种关节伺服系统把每一个关节作为简单的单输入、单输出系统来处理,所以其结构简单,现在的工业机器人大部分都由这种关节伺服系统来控制。但是,从式2 中可知,从手臂的动态特性来看,严格地说,每个关节都不是单输入、单输出系统,惯性项和速
6、度项在关节彼此之间存在动态耦合。在式 5 所表示的关节伺服中,这些耦合均被视为外部干扰来进行处理,为了减少外部干扰的影响,在保持稳定性围应该尽量将增益kpi、kvi设置得大一些。但无论怎样加大增益,由于重力项的影响,手臂在静止状态下,各个关节仍会产生稳态误差,即将式5 代入式6 中,若q q 0,将产生下式所示的稳态误差 e:e qdq Kp1g(q)6有时为了使稳态误差为零,可在式5 中再加上积分项,构成 Kp(qdq)KvqKi(qdq)dt7式中,Kinn为积分环节的增益矩阵,和Kp、Kv一样,它是一个对角矩阵。2/21.传统上,上述伺服系统是用模拟电路构成的。近年来,由于微处理器和信号
7、处理器等高性能、低价格的计算器件的普及,将伺服系统的一部分或全部改成数字电路的所谓软件伺服已经很普遍了。与模拟电路的情况相比,软件伺服能进行更精细的控制。例如,不再让各个关节的增益kpi、kvi固定不变,而是让其按照手臂不同姿态时所期望的响应特性而变化,用下式代替式7,通过对重力项的计算,直接实现重力项的补偿 Kp(qdq)Kvqg(q)8后续的容中,都是在软件伺服假设的前提下展开讨论的。如后面所述,软件伺服系统方式还能有比式7 和式8 更高级的控制方法,但是即使用式7 和式8 的简单的控制方法,闭环系统的平衡点qd也能达到渐进稳定,即经过无限长的时间,q能收敛于qd。即在多数场合,式7 和式
8、8 的控制方法已经足够了。2 作业坐标伺服控制关节伺服控制的结构简单,对软件伺服来说,计算量少,采样时间较短,所以是工业机器人经常采用的方法,这一点已经在前面有所论述。但在自由空间对手臂进行控制时,在很多场合都希望直接给出手臂末端位置、姿态运动的显式表达。例如,让手臂从某个点沿直线运动至另一个点就是这种情况。在这种情况下,很自然会取末端姿态向量r的目标值rd作为手臂运动的目标值。一旦得到rd,利用上述式3 变换为qd,当然也能应用关节伺服方式。但是,为此不但需要事前求解末端目标值rd,而且往往要在运动中对其加以在线修正,于是必须实时计算式3 的逆运动学方程式。此外,因为在关节伺服系统中各个关节
9、是独立受控的,它们的实际响应结果导致的末端位置、姿态的响应比较难以预测,而且为了得到期望的末端响应,对各关节伺服系统的增益调节也十分困难。因此,现在我们来研究不将rd变为qd,而把rd本身作为目标值来构成伺服系统。由于在很多情况下,末端位置、姿态rd是用固定于空间的某一个作业坐标系来描述的,所以把以rd作为目标值的伺服系统称为作业坐标伺服。下面举一最简单的作业坐标伺服的例子。为此,首先将式 1 的两边对时间进行微分,由此可得下式:r frq J(q)q9qT式中,J(q)q frqTmn,称之为雅可比矩阵,雅可比矩阵为q的函数。r和q通常如式 1 所示,为非线性关系。与此相反,由式 9 可知,
10、r和q为线性关系。3/21.式中J(q)是q的函数。根据式9 和虚功原理,可得下式:J(q)Tf10式中,J(q)T表示J(q)的转置,当 m=6 时,f (fx,fy,fz,m,m,m)T6,是组合向量,包括作业坐标系所描述的三维平移力向量和以欧拉角等描述的r的姿态所对应的三维旋转力向量,式10 表示与手臂末端的力和旋转力等效的各关节驱动力的关系式。若取欧拉角(,)作为r的姿态分量,则m,m,m为绕欧拉角各自旋转轴的力矩,这从直观上非常难以理解。所以,在机器人学中,雅可比矩阵经常不是根据式9,而是根据速度的关系直接按照下式来定义:s (vT,T)T Js(q)q11在式11 中,末端速度向量
11、s的姿态分量不是姿态分量的时间微分描述,而是用角速度向量3来表示。不过,在s中,v3是末端的平移速度,和r的位置分量的时间微分一致。式 11 的矩阵Js(q)也称为雅可比矩阵,它表示末端速度向量S与关节速度q之间的关系。虽然它不是从式9 原本的数学意义出发的,但是在机器人学常称之为雅可比矩阵。若采用式11 所定义的雅可比矩阵,对应于式10 右边的f就成为f,fxy,fz,mx,my,mz,f的旋转力分量就变成绕三维空间某些轴旋转的力矩向T量,这样从直觉就很容易理解。有了上面一些预备知识,可以用下式给出一个作业坐标伺服的例子:J(q)TKp(rdr)Kvqg(q)12此时对应的控制系统示于图 3
12、 中,再考虑附加积分环节,即如下式所示:J(q)TKp(rdr)Ki(rdr)dtKvq13图 3 作业坐标伺服举例如果将末端位置、姿态的误差向量rd r分解成位置和姿态分量,用TTTeTp,eo表示,各个分量可以用ep pd p,eod,d,d来表示。p3是末端位置向量,pd是目标值,(,)是欧拉角或横摇角、纵摇角、偏转角,(d,d,d)是其目标值。由式10 可知,与式12、式13 右边第一项中的Kp有关的项产生的使r与rd一致的潜在的力4/21f Kp(rdr)可视为.是施加在末端上的。式12、式13 中手臂末端的当前位置、姿态r可根据当前的关节位移q,由式1 的正运动学direct ki
13、nematics 计算求得。为了从直观上便于理解,可以认为式12、式13 的方法就是要把末端拉向目标值的方向。另外它还有一个特点,就是不含逆运动学计算。与式 7、式 8 一样,式 12 和式 13表明闭环系统的平衡点rd是渐进稳定的。3 姿态的误差表示在式12 或式13 中,可以用式11 中的雅可比矩阵Js(q)代替式9 中的雅可比矩阵。但此时s的姿态分量无对应的位置量纲来表示 的积分值没有物理意义,故必须留意末端的误差,即姿态分量rd r的表示方法。现令末端的姿态误差由基准作业坐标系的姿态矩阵0Rh33给出,即0Rhn,o,a14式中,n,o,a3表示姿态矩阵中的列向量,它们是基准坐标系表示
14、的末端坐标系中 x 轴,y 轴,z 轴方向的单位向量。姿态目标值也可以用姿态矩阵的形式来表示,即0Rhdnd,od,ad15在式 12 或式 13 中,如果用雅可比矩阵Js(q),则rd r的姿态向量可以用下式给出的e0代替e0:1e0nndoodaad162从而得到与式12 对应的式子如下:TTJs(q)TKpeTp,eoKvqg(q)17同样,用式16 所定义的e0,式13 可以变形为e0 ksin18式中,k是从0R转向0Rhd的等效旋转轴方向的单位向量图 4;表示绕此轴的旋转角。e0即是指向k方向的、大小为sin的向量。若用e0表示姿态的误差,虽然姿态的误差角超过2后e0的模反而会变小
15、,当时变为0,会产生错误的结果,但是,如果假设姿态误差不太大,如在2 2的围,那就没什么问题5/21.了。图 4 等效旋转轴若用欧拉角或横摇角、纵摇角、偏转角表示姿态,则式10 中f对应的姿态分量在直观上就变得难以理解了,而且在表现奇异点方面也会出现问题。用式16 定义的e0虽然在直观上容易理解,在表现奇异点方面也没有问题,但是只有在姿态误差小的条件下才有效。因此,这里最后介绍采用四元数quaternion 的姿态误差的表示法。四元法作为欧拉参数Euler parameters 为人们所熟知。设从基准姿态向某一个别的姿态0R1变化的等效旋转轴为u,绕该轴的旋转角为,则4用下式定义:四元数q c
16、os2,usin219在式 19 中要注意,等效旋转轴的向量u无论是从基准坐标系,还是从用0R1表示的坐标系,它的表达都是相同的,即0R1u 1R0u u。这时,旋转矩阵0R1与四元数具有如下式所示的关系:q0R1(221)I 2(T)20式中,为与向量的外积等效的变形对称矩阵;I为33单位矩阵。式20也可反过来应用,即给出四元数,求解与之对应的旋转矩阵。本书将与当前手臂末端姿态0Rh及其目标姿态0Rhd所对应的四元数分别定TTTThdhd,hdhh,h。和q义为q于是,与从末端姿态0Rh到目标姿态0Rhd的 等效旋转相对应的四元数qThhdhhd21T可以利用下式求出:hhdhdhhd22式
17、中,这时的等效旋转轴用0Rh或0Rhd表示的坐标系来描述。因此,若考虑用基准坐标系描述该等效旋转轴向量,设为 ksin给出:2(0Rh0Rhd),则可用下式hhdhdhhd236/21.要注意的是,与仅第三项的外积符号不同。这里使用式23 给出的代替前面的e0,虽然特性上它们同样是非线性的,但即使姿态的误差角超过 2,仍呈单调增加。2.速度控制在 1.中就关节伺服和作业坐标伺服的有关容作了说明,手臂的目标值是以位置量纲给出的。但是,有时手臂作业不用末端的位置和姿态来指定,而改成命令它从当前的位置向某一个方向移动,例如手臂末端从当前位置垂直向上运动,或者只绕规定轴旋转变化姿态,这相当于使用操纵杆
18、操纵遥控机械手的情况。对于这种类型的运动指令,虽然也允许用位置量纲的目标值给出,但必须沿着末端目标值运动的方向时时刻刻改变目标值。在关节伺服的场合还必须对每个末端目标值根据式3 进行一次逆运动学计算,以求得关节目标值,显然为此将花费很多计算时间。对于这种运动指令,人们很自然地想到把末端速度作为目标值给出。末端速度r或s与关节速度q之间具有如式 9 或式 11 所示的线性关系。设rd或sd为末端速度的目标值。假设手臂无冗余性,也不存在奇异状态,于是 m=n,式9 或式11 的雅可比矩阵为正则矩阵,这时实现rd或sd的关节速度qd(qd1,qdn)Tn可由下式求出:qd J(q)1rd24或qd
19、Js(q)1sd25如果手臂具有冗余性,即 nm 时,或者手臂处于奇异状态下,不存在雅可比矩阵的逆矩阵,那么就无法直接应用式 24 或式 25。在实际的计算中,与其按式 24或式25 直接求解雅可比矩阵的逆矩阵,不如把式24 或式25 看作是雅可比矩阵,写出系数矩阵的联立代数方程,然后用消去法去求解rd,从计算量的角度来看后者会更有利些。我们可以把式24 或式25 视为把末端运动分解成必要的关节运动,故称之为分解速度控制RMRC:Resolved Motion Rate Control。式24、式25 的目标是速度,与其说是这些式子本身在实施控制,倒不如将其视为以速度量纲进行逆运动学计算更妥当
20、。和式3 一样,应该把它们的作用看成是把末端空间的目标值变换为关节空间的目标值。如果在各个关节处具备独立跟踪目标速度qdi的速度伺服系统,那么只要把式24 或式25 所求得的qd的各个元素作为各个关节伺服系统的目标值即可。因此,这种情况可以说是利用关节伺服进行的速度控制。图 5 给出了此时控制系统的构成。图 5 关节伺服的速度控制举例另外,式 24 和式 25 中的各个关节伺服系统也适用于本节1.中所涉及的把关节位移qdi作为目标值的情况。设末端速度的目标值用时间函数rd(t)给出,而且关节目标值的初始值为7/21.rd(t0),则在时刻 t 的目标值rd(t)为qd(t)J(q(t)1rd(
21、t)26qd(t)qd(t0)qd(v)dv27t0t用式26 和式27 计算qd(t),相当于式3 的逆运动学计算的数值计算,这个方法对用式3 的无解析解的手臂尤其有效。不过,若反复用式26、式27 进行计算,存在着与目标位置之间的位置积累误差增大的问题。为了解决这一问题,只要在式26 中加上位置反馈即可,如下式所示:qdJ(q)1rdKp(rdr)28对含雅可比矩阵Js的式25 也可以采用同样的办法,不过此时应该将对应于s 的姿态分量的末端姿态误差改换成式16 中的e0,或者用式23 的表示,如下式所示:TTqdJs(q)1sdKpeTp,eo29在式28 或式29 中,是从末端误差rd
22、r的角度来求解qd的,因此将qd作为各个关节速度伺服系统的目标值进行控制的方法,无法明确地区分是属于关节伺服还是属于作业坐标伺服。3加速度控制前面就将目标值设定为位置或速度的场合的手臂伺服系统的构成做了介绍。但是在关节伺服的情况下,即使给出正确的目标值qd、qd,实际的响应情况仍然被各个关节伺服系统的性能所左右。通常的做法是在保证稳定的情况下调大增益,减小与目标值的偏差,然而手臂的运动速度越快、加速度越大,则离心力、哥式力、惯性力和关节轴间耦合的影响也就越大,误差也越严重。即使保证作业坐标伺服的式12 和式13 具有目标值的渐进稳定性,也无法保证过渡特性的好坏,而且随着手臂姿态的不同,响应特性
23、还可能会发生变化。这些问题之所以产生,是因为在迄今所考虑的控制策略中,并未涉及手臂动态特性的式2 所致。因此,在本小节中所叙述的方法是将目标值再追加加速度,即考虑手臂的动态特性,以显式的形式给出过渡特性的要求。首先,设目标值为qd、qd、qd,即包括关节变量加速度,这时考虑采用如下的控制方法:M(q)qdKv(qdq)Kp(qdq)h(q,q)qg(q)30这是关节伺服加速度控制,图 6 表示伺服系统的结构。在式 30 中,M(q)、h(q,q)、g(q)均和式 2中的意义相同,式 30相当于进行逆运动力学 inverse dynamics8/21.计算,以求出能实现由qadjqdKv(qdq
24、)Kp(qdq)所给出的关节加速度的关节驱动力。为简便起见,先假设M(q)、h(q,q)等的值可以正确计算。把式 30代入式2 的左边整理后,得M(q)e KveKpe 031式中,e qdq。因为M(q)是正定对称矩阵,故两边乘上M(q)1后得到eKveKpe 032图 6 用关节伺服的加速度控制适当选择位置增益Kp、速度增益Kv,可以使e渐进收敛于 0,使q与qd达到一致。瞬态响应特性可由Kp、Kv来确定。例如,设Kv kvI、Kp矩阵,若kv 2n、kp kpII是n n的单位2n,则式32 的响应是角频率为n、阻尼系数为的二阶系统响应。控制手臂运动时,一般不希望出现超调量,所以通常取1
25、。这样在加速度控制中之所以瞬态特性也能被满足,是因为通过离心力、哥氏力、重力等的补偿,使非线性手臂的动态特性被线性化,同时考虑了惯性项使系统解耦的结果。因此,可以将式30 的加速度控制视为本节 4.中打算加以说明的动态控制dynamic control的一种方式。式 30 所示的加速度控制由于能够给定瞬态特性,所以这种控制策略非常有效,不过也应该指出它的问题是计算量非常大。为了缩短采样时间,可将式30 的部分计算省略,采用下面简化的公式:MqdKv(qdq)Kp(qdq)Ki(qdq)dt33式33 中省略了h(q,q)、q、g(q)的计算,M nn被M(q)取代,简化为仅由对角元素构成的常数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机器人 运动 控制
限制150内