机器人的运动控制机械制造工业自动化_机械制造-工业自动化.pdf
《机器人的运动控制机械制造工业自动化_机械制造-工业自动化.pdf》由会员分享,可在线阅读,更多相关《机器人的运动控制机械制造工业自动化_机械制造-工业自动化.pdf(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、机器人的运动控制 1/36 2.4 手臂的控制 2.4.1 运动控制 对于机器人手臂的运动来说,人们通常关注末端的运动,而末端运动乃是由各个关节的运动合成实现的。因而必须考虑手臂末端的位置、姿态与各个关节位移之间的关系。此外,手臂运动,不仅仅涉与末端从某个位置向另外一个位置的移动,有时也希望它能沿着特定的空间路径进行移动。为此,不仅要考虑手臂末端的位置,而且还必须顾与它的速度和加速度。若再进一步从控制的观点来看,机器人手臂是一个复杂的多变量非线性系统,各关节之间存在耦合,为了完成高精度运动,必须对相互的影响进行补偿。1.关节伺服和作业坐标伺服 现 在 来 研 究 n 个 自 由 度 的 手 臂
2、,设 关 节 位 移 以 n 维 向 量12(,)Tnnqq qq 表示,iq是第i 个关节的位移,刚性臂的关节位移和末端位置、姿态之间的关系以下式给出:()rrf q (1)mr 是某作业坐标系表示的 m维末端向量,当它表示三维空间内的位置姿态时,m=6。如式(1)所示,对刚性臂来说,由于各关节的位移完全决定了手臂末端的位置姿态,故如欲控制手臂运动,只要控制各关节的运动即可。设刚性臂的运动方程式如下所示:()(,)()M q qh q qqg q (2)机器人的运动控制 2/36 式中,()n nM q为手臂的惯性矩阵;(,)nh q q 为表示离心力和哥氏力的向量,n n为粘性摩擦系数矩阵
3、;()ng q 为表示重力项的向量;1(,)Tnn为关节驱动力向量。机器人手臂的驱动装置是一个为了跟踪目标值对手臂当前运动状态进行反馈构成的伺服系统。无论何种伺服系统结构,控制装置的功能都是检测各关节的当前位置q与速度q,将它们作为反馈信号,最后直接或间接地决定各关节的驱动力。图 1 给出了控制系统的构成示意图。来自示教、数值数据或外传感器的信号等构成了作业指令,控制系统根据这些指令,在目标轨迹生成部分产生伺服系统需要的目标值。伺服系统的构成方法因目标值的选取方法的不同而异,大体上可以分为关节伺服和作业坐标伺服两种。当目标值为速度、加速度量纲时,分别称之为速度控制或加速度控制,关于这些将在本节
4、 2.和 3.中加以叙述。图 1 刚性臂控制系统的构成 1)关节伺服控制 讨论以各关节位移的形式给定手臂运动目标值的情况。令关节的目标值为12(,)Tnddddnqqqq。图 2 给出了关节伺服的构个关节的运动合成实现的因而必须考虑手臂末端的位置姿态与各个关节位移之间的关系此外手臂运动不仅仅涉与末端从某个位置向另外一个位置的移动有时也希望它能沿着特定的空间路径进行移动为此不仅要考虑手臂末端的位置而之间存在耦合为了完成高精度运动必须对相互的影响进行补偿关节伺服和作业坐标伺服现在来研究个自由度的手臂设关节位移以维向量示是第个关节的位移刚性臂的关节位移和末端位置姿态之间的关系以下式给出是某作业坐标系
5、示置姿态故如欲控制手臂运动只要控制各关节的运动即可设刚性臂的运动方程式如下所示机器人的运动控制式中为手臂的惯性矩阵为表示离心力和哥氏力的向量为粘性摩擦系数矩阵为表示重力项的向量为关节驱动力向量机器人手臂的机器人的运动控制 3/36 成。若目标值是以关节位移的形式给出的,那么如图 2 所示,各个关节可以独立构成伺服系统,因此问题就变得十分简单。目标值dq可以根据末端目标值dr由式(1)的反函数,即逆运动学(inverse kinematics)的计算得出 1()drdqfr (3)图 2 关节伺服构成举例 如果是工业机器人经常采用的示教方法,那么示教者实际上都是一面看着手臂末端,一面进行示教的,
6、所以不必进行式(3)的计算,dq是直接给出的。如果想让手臂静止于某个点,只要对dq取定值即可,当欲使手臂从某个点向另一个点逐渐移动,或者使之沿某一轨迹运动时,则必须按时间的变化使dq发生变化。为了简单起见,假设驱动器的动态特性忽略不计,各个关节的驱动力i可以直接给出。这时,最简单的一种伺服系统如下所示:()ipidiiviikqqk q (4)pik是比例增益,vik是速度反馈增益。对于全部关节,可以将式(4)个关节的运动合成实现的因而必须考虑手臂末端的位置姿态与各个关节位移之间的关系此外手臂运动不仅仅涉与末端从某个位置向另外一个位置的移动有时也希望它能沿着特定的空间路径进行移动为此不仅要考虑
7、手臂末端的位置而之间存在耦合为了完成高精度运动必须对相互的影响进行补偿关节伺服和作业坐标伺服现在来研究个自由度的手臂设关节位移以维向量示是第个关节的位移刚性臂的关节位移和末端位置姿态之间的关系以下式给出是某作业坐标系示置姿态故如欲控制手臂运动只要控制各关节的运动即可设刚性臂的运动方程式如下所示机器人的运动控制式中为手臂的惯性矩阵为表示离心力和哥氏力的向量为粘性摩擦系数矩阵为表示重力项的向量为关节驱动力向量机器人手臂的机器人的运动控制 4/36 归纳表示为()pvdKqqK q (5)式中,()n npipdiag kK;()n nvivdiag kK。这种关节伺服系统把每一个关节作为简单的单输
8、入、单输出系统来处理,所以其结构简单,现在的工业机器人大部分都由这种关节伺服系统来控制。但是,从式(2)中可知,从手臂的动态特性来看,严格地说,每个关节都不是单输入、单输出系统,惯性项和速度项在关节彼此之间存在动态耦合。在式(5)所表示的关节伺服中,这些耦合均被视为外部干扰来进行处理,为了减少外部干扰的影响,在保持稳定性范围内应该尽量将增益pik、vik设置得大一些。但无论怎样加大增益,由于重力项的影响,手臂在静止状态下,各个关节仍会产生稳态误差,即将式(5)代入式(6)中,若0qq,将产生下式所示的稳态误差 e:1()pdgeqqKq (6)有时为了使稳态误差为零,可在式(5)中再加上积分项
9、,构成()()pvidddtKqqK qKqq (7)式中,n niK为积分环节的增益矩阵,和pK、vK一样,它是一个对角矩阵。传统上,上述伺服系统是用模拟电路构成的。近年来,由于微处理器和信号处理器等高性能、低价格的计算器件的普与,将伺服系统的一部分或全部改成数字电路的所谓软件伺服已经很普遍了。与模拟电路的情况相比,软件伺服能进行更精细的控制。例如,不再让各个关节的增益pik、vik固定不变,而是让其按照手臂不同姿态时所期望的响应特性而变化,用个关节的运动合成实现的因而必须考虑手臂末端的位置姿态与各个关节位移之间的关系此外手臂运动不仅仅涉与末端从某个位置向另外一个位置的移动有时也希望它能沿着
10、特定的空间路径进行移动为此不仅要考虑手臂末端的位置而之间存在耦合为了完成高精度运动必须对相互的影响进行补偿关节伺服和作业坐标伺服现在来研究个自由度的手臂设关节位移以维向量示是第个关节的位移刚性臂的关节位移和末端位置姿态之间的关系以下式给出是某作业坐标系示置姿态故如欲控制手臂运动只要控制各关节的运动即可设刚性臂的运动方程式如下所示机器人的运动控制式中为手臂的惯性矩阵为表示离心力和哥氏力的向量为粘性摩擦系数矩阵为表示重力项的向量为关节驱动力向量机器人手臂的机器人的运动控制 5/36 下式代替式(7),通过对重力项的计算,直接实现重力项的补偿()()pvdg qKqqK q (8)后续的内容中,都是
11、在软件伺服假设的前提下展开讨论的。如后面所述,软件伺服系统方式还能有比式(7)和式(8)更高级的控制方法,但是即使用式(7)和式(8)的简单的控制方法,闭环系统的平衡点dq也能达到渐进稳定,即经过无限长的时间,q能收敛于dq。即在多数场合,式(7)和式(8)的控制方法已经足够了。2)作业坐标伺服控制 关节伺服控制的结构简单,对软件伺服来说,计算量少,采样时间较短,所以是工业机器人经常采用的方法,这一点已经在前面有所论述。但在自由空间内对手臂进行控制时,在很多场合都希望直接给出手臂末端位置、姿态运动的显式表达。例如,让手臂从某个点沿直线运动至另一个点就是这种情况。在这种情况下,很自然会取末端姿态
12、向量r的目标值dr作为手臂运动的目标值。一旦得到dr,利用上述式(3)变换为dq,当然也能应用关节伺服方式。但是,为此不但需要事前求解末端目标值dr,而且往往要在运动中对其加以在线修正,于是必须实时计算式(3)的逆运动学方程式。此外,因为在关节伺服系统中各个关节是独立受控的,它们的实际响应结果导致的末端位置、姿态的响应比较难以预测,而且为了得到期望的末端响应,对各关节伺服系统的增益调节也十分困难。因此,现在我们来研究不将dr变为dq,而把dr本身作为目标值来构成伺服系统。由于在很多情况下,末端位置、姿态dr是用固定于空间内的某个关节的运动合成实现的因而必须考虑手臂末端的位置姿态与各个关节位移之
13、间的关系此外手臂运动不仅仅涉与末端从某个位置向另外一个位置的移动有时也希望它能沿着特定的空间路径进行移动为此不仅要考虑手臂末端的位置而之间存在耦合为了完成高精度运动必须对相互的影响进行补偿关节伺服和作业坐标伺服现在来研究个自由度的手臂设关节位移以维向量示是第个关节的位移刚性臂的关节位移和末端位置姿态之间的关系以下式给出是某作业坐标系示置姿态故如欲控制手臂运动只要控制各关节的运动即可设刚性臂的运动方程式如下所示机器人的运动控制式中为手臂的惯性矩阵为表示离心力和哥氏力的向量为粘性摩擦系数矩阵为表示重力项的向量为关节驱动力向量机器人手臂的机器人的运动控制 6/36 一个作业坐标系来描述的,所以把以d
14、r作为目标值的伺服系统称为作业坐标伺服。下面举一最简单的作业坐标伺服的例子。为此,首先将式(1)的两边对时间进行微分,由此可得下式:(9)式中,()Tm nrJ q qfq ,称之为雅可比矩阵,雅可比矩阵为q的函数。r和q通常如式(1)所示,为非线性关系。与此相反,由式(9)可知,r和q为线性关系。式中()J q是q的函数。根据式(9)和虚功原理,可得下式:()TJ qf (10)式中,()TJ q表示()J q的转置,当 m=6时,6(,)Txyzffffmmm,是组合向量,包括作业坐标系所描述的三维平移力向量和以欧拉角等描述的r的姿态所对应的三维旋转力向量,式(10)表示与手臂末端的力和旋
15、转力等效的各关节驱动力的关系式。若取欧拉角(,)作为r的姿态分量,则,mmm为绕欧拉角各自旋转轴的力矩,这从直观上非常难以理解。所以,在机器人学中,雅可比矩阵经常不是根据式(9),而是根据速度的关系直接按照下式来定义:(,)()TTTssvJq q (11)在式(11)中,末端速度向量s的姿态分量不是姿态分量的时间微分描述,而是用角速度向量3来表示。不过,在s中,3v是末端的平移速度,和r的位置分量的时间微分一致。式(11)的矩阵()sJq也称为雅可比矩阵,它表示末端速度向量S与关节速度q之间的关系。虽然它不是个关节的运动合成实现的因而必须考虑手臂末端的位置姿态与各个关节位移之间的关系此外手臂
16、运动不仅仅涉与末端从某个位置向另外一个位置的移动有时也希望它能沿着特定的空间路径进行移动为此不仅要考虑手臂末端的位置而之间存在耦合为了完成高精度运动必须对相互的影响进行补偿关节伺服和作业坐标伺服现在来研究个自由度的手臂设关节位移以维向量示是第个关节的位移刚性臂的关节位移和末端位置姿态之间的关系以下式给出是某作业坐标系示置姿态故如欲控制手臂运动只要控制各关节的运动即可设刚性臂的运动方程式如下所示机器人的运动控制式中为手臂的惯性矩阵为表示离心力和哥氏力的向量为粘性摩擦系数矩阵为表示重力项的向量为关节驱动力向量机器人手臂的机器人的运动控制 7/36 从式(9)原本的数学意义出发的,但是在机器人学中通
17、常称之为雅可比矩阵。若采用式(11)所定义的雅可比矩阵,对应于式(10)右边的f就成为Tzyxzyxmmmfff,,f的旋转力分量就变成绕三维空间内某些轴旋转的力矩向量,这样从直觉就很容易理解。有了上面一些预备知识,可以用下式给出一个作业坐标伺服的例子:()()()TpvdJ qg qKrrK q (12)此时对应的控制系统示于图 3 中,再考虑附加积分环节,即如下式所示:()()()TpviddJ qdtKrrKrrK q (13)图 3 作业坐标伺服举例 如果将末端位置、姿态的误差向量drr分解成位置和姿态分量,用,TTTpoe e表示,各个分量可以用pdepp,,Toddde 来表示。3
18、p是末端位置向量,dp是目标值,(,)是欧拉角或横摇角、纵摇角、偏转角,(,)ddd 是其目标值。由式(10)可知,与式(12)、式(13)右边第一项中的pK有关的项产生的使r与dr一致的潜在的力()pdfKrr可视为是施加在末端上的。式(12)、式(13)中手臂末端个关节的运动合成实现的因而必须考虑手臂末端的位置姿态与各个关节位移之间的关系此外手臂运动不仅仅涉与末端从某个位置向另外一个位置的移动有时也希望它能沿着特定的空间路径进行移动为此不仅要考虑手臂末端的位置而之间存在耦合为了完成高精度运动必须对相互的影响进行补偿关节伺服和作业坐标伺服现在来研究个自由度的手臂设关节位移以维向量示是第个关节
19、的位移刚性臂的关节位移和末端位置姿态之间的关系以下式给出是某作业坐标系示置姿态故如欲控制手臂运动只要控制各关节的运动即可设刚性臂的运动方程式如下所示机器人的运动控制式中为手臂的惯性矩阵为表示离心力和哥氏力的向量为粘性摩擦系数矩阵为表示重力项的向量为关节驱动力向量机器人手臂的机器人的运动控制 8/36 的当前位置、姿态r可根据当前的关节位移q,由式(1)的正运动学(direct kinematics)计算求得。为了从直观上便于理解,可以认为式(12)、式(13)的方法就是要把末端拉向目标值的方向。另外它还有一个特点,就是不含逆运动学计算。与式(7)、式(8)一样,式(12)和式(13)表明闭环系
20、统的平衡点dr是渐进稳定的。3)姿态的误差表示 在式(12)或式(13)中,可以用式(11)中的雅可比矩阵()sJq代替式(9)中的雅可比矩阵。但此时s的姿态分量无对应的位置量纲来表示(的积分值没有物理意义),故必须留意末端的误差,即姿态分量drr的表示方法。现令末端的姿态误差由基准作业坐标系的姿态矩阵03 3hR给出,即 0,hRn o a (14)式中,3,n o a 表示姿态矩阵中的列向量,它们是基准坐标系表示的末端坐标系中 x 轴,y 轴,z 轴方向的单位向量。姿态目标值也可以用姿态矩阵的形式来表示,即 0,hddddRnoa (15)在式(12)或式(13)中,如果用雅可比矩阵()s
21、Jq,则drr的姿态向量可以用下式给出的0e代替0e:012dddennooaa (16)从而得到与式(12)对应的式子如下:()(),TTTTspopvJqg qKe eK q(17)同样,用式(16)所定义的0e,式(13)可以变形为 个关节的运动合成实现的因而必须考虑手臂末端的位置姿态与各个关节位移之间的关系此外手臂运动不仅仅涉与末端从某个位置向另外一个位置的移动有时也希望它能沿着特定的空间路径进行移动为此不仅要考虑手臂末端的位置而之间存在耦合为了完成高精度运动必须对相互的影响进行补偿关节伺服和作业坐标伺服现在来研究个自由度的手臂设关节位移以维向量示是第个关节的位移刚性臂的关节位移和末端
22、位置姿态之间的关系以下式给出是某作业坐标系示置姿态故如欲控制手臂运动只要控制各关节的运动即可设刚性臂的运动方程式如下所示机器人的运动控制式中为手臂的惯性矩阵为表示离心力和哥氏力的向量为粘性摩擦系数矩阵为表示重力项的向量为关节驱动力向量机器人手臂的机器人的运动控制 9/36 0sinek (18)式中,k是从0R转向0hdR的等效旋转轴方向的单位向量(图 4);表示绕此轴的旋转角。0e即是指向k方向的、大小为sin的向量。若用0e表示姿态的误差,虽然姿态的误差角超过2后0e的模反而会变小,当 时变为 0,会产生错误的结果,但是,如果假设姿态误差不太大,如在22 的范围内,那就没什么问题了。图 4
23、 等效旋转轴 若用欧拉角(或横摇角、纵摇角、偏转角)表示姿态,则式(10)中f对应的姿态分量在直观上就变得难以理解了,而且在表现奇异点方面也会出现问题。用式(16)定义的0e虽然在直观上容易理解,在表现奇异点方面也没有问题,但是只有在姿态误差小的条件下才有效。因此,这里最后介绍采用四元数(quaternion)的姿态误差的表示法。四元法作为欧拉参数(Euler parameters)为人们所熟知。设从基准姿态向某一个别的姿态01R变化的等效旋转轴为u,绕该轴的旋转角为,则四元数4q用下式定义:,TTq 个关节的运动合成实现的因而必须考虑手臂末端的位置姿态与各个关节位移之间的关系此外手臂运动不仅
24、仅涉与末端从某个位置向另外一个位置的移动有时也希望它能沿着特定的空间路径进行移动为此不仅要考虑手臂末端的位置而之间存在耦合为了完成高精度运动必须对相互的影响进行补偿关节伺服和作业坐标伺服现在来研究个自由度的手臂设关节位移以维向量示是第个关节的位移刚性臂的关节位移和末端位置姿态之间的关系以下式给出是某作业坐标系示置姿态故如欲控制手臂运动只要控制各关节的运动即可设刚性臂的运动方程式如下所示机器人的运动控制式中为手臂的惯性矩阵为表示离心力和哥氏力的向量为粘性摩擦系数矩阵为表示重力项的向量为关节驱动力向量机器人手臂的机器人的运动控制 10/36,(19)在式(19)中要注意,等效旋转轴的向量u无论是从
25、基准坐标系,还是从用01R表示的坐标系,它的表达都是相同的,即0110RuR uu。这时,旋转矩阵01R与四元数q具有如下式所示的关系:021(21)2()TRI (20)式中,为与向量的外积等效的变形对称矩阵;I为3 3单位矩阵。式(20)也可反过来应用,即给出四元数,求解与之对应的旋转矩阵。本书将与当前手臂末端姿态0hR与其目标姿态0hdR所对应的四元数分别定义为,TThhhq和,TThdhdhdq。于是,与从末端姿态0hR到目标姿态0hdR的等效旋转相对应的四元数 Tq 可以利用下式求出:Thhdhhd (21)hhdhdhhd (22)式中,这时的等效旋转轴用0hR或0hdR表示的坐标
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机器人 运动 控制 机械制造 工业 自动化
限制150内