机械臂惯性矩阵的并行计算.pdf
- 文档编号:3178528
- 上传时间:2022-11-19
- 格式:PDF
- 页数:6
- 大小:194.66KB
机械臂惯性矩阵的并行计算.pdf
《机械臂惯性矩阵的并行计算.pdf》由会员分享,可在线阅读,更多相关《机械臂惯性矩阵的并行计算.pdf(6页珍藏版)》请在冰豆网上搜索。
第19卷第5期1997年9月机器人ROBOTVol.19,No.5Sept.,1997机械臂惯性矩阵的并行计算0a邹建奇(吉林工业大学长春130025)尹朝万(中国科学院沈阳自动化所沈阳110015)张京军陆佑方(吉林工业大学力学系长春130025)(中国科学院机器人学开放研究实验室沈阳)摘要本文在给出一种非递推形式的逆动力学计算公式的基础上,针对机械臂惯性矩阵的计算提出了一种面向O(n)个处理器的并行算法,并以PUMA560机器人的前3个臂为例进行了计算效率分析.关键词机械臂,惯性矩阵,并行算法,逆动力学,正动力学1引言机械臂的惯性矩阵确定了作用在机械臂上的力与其加速度之间的关系,它在机械臂运动的控制和仿真中起着非常重要的作用.同时,惯性矩阵还可应用于碰撞问题的分析.为了提供机械臂动力学实时仿真的能力以及在一些基于模型或自适应控制策略中达到实时的目的,必须研究惯性矩阵计算的高效算法6.与逆动力学情况相同,在机械臂惯性矩阵和正动力学的串行算法中,最为有效的算法仍然为递推公式.其中CompositeRigid-Body法1和CompositeRigid-BodySpatialInertia法2是目前机械臂惯性矩阵计算中最为有效的两种串行算法.为了进一步提高惯性矩阵的计算效率,发展并行算法是最具潜力的一种途径.基于CompositeRigid-Body方法,Lee和Chang3、Amin-Javaheri和Orin4,5分别研究了惯性矩阵的并行计算.其中Lee和Chang提出了一种在计算惯性矩阵对角元素时采用齐次递推公式的递推倍增法,在计算非对角元素时采用ModifiedRow-Sweep算法的并行算法.在文4中,对以VLSI为基本执行单元的Systolic结构进行了分析,最后指出,虽然立方体结构在计算惯性矩阵对角元素时只需O(log2n)步,而计算整个惯性矩阵的步数仍为O(n).在这些结构中以列式结构最好,其他结构虽然有优点,但缺点也很明显.比如立方体结构会使通讯很复杂.文5利用递推倍增法给出了两种计算惯性矩阵的方法,第一种是用n/2个处理器计算步为O(nlog2n)的并行算法;第二种是用n(n-1)/2log2n个处理器计算步为O(log2n)的并行算法.Fijany和Bejczy6基于CompositeRigid-BodySpatialInertia方法,面向O(n2)个处理器提出了两种并行算法.Vuskovic和Liang7提出了一种近似的惯性矩阵并行算法,虽然这种方法具有很高的计算效率,但是以降低结果精度为代价的.注意到在现有的机械臂正动力学及惯性矩阵的计算方法中,大部分都是与相应的逆动力学方法紧密相关的.因此,本文先给出了一种非递推形式的逆动力学计算公式,然后把文1a0国家自然科学基金及中科院机器人学开放研究实验室基金资助项目.1996-10-22收稿中的第一种计算惯性矩阵的方法进行并行化,从而提出了一种有效的并行算法.2逆动力学计算公式Zheng和Hemami8以Euler角和物体的质心坐标作为广义坐标,建立了一种非完全递推形式的多刚体系统逆动力学计算模型.但这个模型有一个致命的弱点,即在计算关节力矩时仍采用递推公式,而这部分的计算量又很大,从而破坏了模型的内在并行性,影响了其计算效率.本文通过采用方向余弦描述物体的转动,并利用坐标变换的方法导出了刚性臂的非递推形式的逆动力学计算模型.2.1运动学方程取连杆的中心惯性主轴坐标系为连杆坐标系,并以该坐标系相对于惯性坐标系的方向余弦矩阵描述连杆的转动,以质心在惯性坐标系中3个坐标描述连杆的空间位置.为了从关节变量导出方向余弦,还须在每个连杆上建立一个与该连杆固连的关节坐标系,坐标系的建立按照ModifiedDenavit-Hartenberg方法9.对于连杆i,Xi,Yi,Zi为连杆坐标系,xi,yi,zi为该连杆的关节坐标系.设Ai为由Xi,Yi,Zi到xi,yi,zi的转换矩阵,Aii-1为由xi,yi,zi到xi-1,yi-1,zi-1的转换矩阵.显然,Ai为一常矩阵,只与连杆的结构参数有关.当关节变量qi已知时,Aii-1=Aii-1(qi)亦可完全确定.又设Ci为由XiYiZi到惯性坐标系X0Y0Z0的方向余弦矩阵,则有Ci=c11c12c13c21c22c23c31c32c33i=A10A21Aii-1Ai=Ci(qi,qi)
(1)Cai=Cai(q1,qi;qa1,qai)
(2)Cbi=Cbi(q1,qi;qa1,qai;qb1,qbi)(3)设iWi=iwi1,iwi2,iwi3T和iWi=iwai1,iwai2,iwai3T分别为连杆i的角速度和角加速度在连杆i的连杆坐标系中的表示,则有iWi=CTiCai(4)iWi=CaTiCai+CTiCbi(5)其中上标波浪表示反对称矩阵.2.2运动学约束方程设Xi为从惯性坐标系的原点到连杆i质心的矢量在惯性坐标系中的表示,iKi为从连杆i的质心到连杆i的关节坐标系原点的矢量在连杆i的连杆坐标系中的表示,iLi为从连杆i的质心到连杆i+1的关节坐标系原点的矢量在连杆i的连杆坐标系中的表示.则有连杆i和连杆i-1之间的约束方程Xi+CiiKi-Xi-1+Ci-1i-1Li-1=0(6)方程(6)式对时间求两次导数,可得Xbi=CiiWiiWai-Ci(iWi)2iKi+Xbi-1+Ci-1(i-1Wi-1)2i-1Li-1-Ci-1i-1Li-1i-1Wai-1(7)令HKi=Ci(iWi(iWiiKi)-Ci(iKiiWai)(8)345第19卷第5期邹建奇等:
机械惯性矩阵的并行计算HLi=Ci(iWi(iWiiLi)-Ci(iLiiWai)(9)H(Li-Ki)=HLi-HKi(10)则有非递推计算质心加速度公式如下Xbi=H(L1-K1)+H(L2-K2)+H(Li-1-Ki-1)-HKi(11)2.3动力学方程设iNi=ini1,ini2,ini3T为作用在连杆i上的相对于质心的所有外力矩之合在连杆i的连杆坐标系中的表示,Mi为连杆i的质量阵,Fi为作用在连杆i上的所有外力之合在惯性坐标系中的表示,则由Newton-Euler方程可得Fi=MiXbi(12)ini1=Ji1iwai1-iwi2iwi3(Ji2-Ji3)ini2=Ji2iwai2-iwi3iwi1(Ji3-Ji1)ini3=Ji3iwai3-iwi1iwi2(Ji1-Ji2)(13)方程(13)可以写成紧凑形式如下iNi=iJiiWai-hi(iWi)(14)其中iJi=Ji10Ji20Ji3(15)2.4驱动力矩的计算设FCi为连杆i-1作用在连杆i上的约束力在惯性坐标系中的表示,Tai为关节i作用在连杆i上的关节驱动力矩在惯性坐标系中的表示,iTai为在连杆i的连杆坐标系中的表示,则有FCi=Fi+Fi+1+Fn-mig-mng(16)iTai=iNi+CTiCi+1i+1Tai+1-iKiCTiFCi+iLiCTiFCi+1(17)由于式(17)是一个非齐次递推公式,要把它改造成非递推的形式,首先要把它转换为齐次递推公式.这可以通过由连杆坐标系到惯性坐标系的坐标变换来实现.用转换算子Ci作用于(17)式的两边,可得CiiTai=CiiNi+Ci+1i+1Tai+1-CiiKiCTiFCi+CiiLiCTiFCi+1(18)即Tai=CiiNi+Tai+1-CiiKiCTiFCi+CiiLiCTiFCi+1(19)这是一个齐次递推公式,改造成非递推形式为Tai=CnnNn+CiiNi-CnnKnCTnFCn-CiiKiCTiFCi+CnnLnCTnFCn+1+CiiLiCTiFCi+1(20)令INi=CiiNi(21)IKi=Ci(iKi(CTiFCi+1)(22)ILi=Ci(iLi(CTiFCi+1)(23)则有346机器人1997年9月Tai=INn+INi-(IKn+IKi)+ILn+ILi(24)设Si为关节i的关节驱动力矩,则有Si=A0iTaiiZi(25)其中iZi=0,0,1T.3惯性矩阵的并行计算文献1给出的计算机械臂惯性矩阵H的第一种方法如下:
给定q的当前状态,并令qa=0,qbj=ej,其中ej为第j个元素为1,而其他元素均为0的n1阶矢量,同时不考虑重力和外力的影响,用逆动力学模型来计算驱动力/力矩Sj=Hj,这里的Hj即为所要求的机械臂惯性矩阵H的第j列.注意到这种计算惯性矩阵的方法具有自然的并行性,即可以在计算H的各列时用n个处理器并行计算.但考虑到若基于本文提出的逆动力学公式用n个处理器并行计算H的同时,又用n个处理器并行计算H的各列,则需n2个处理器.从经济的角度出发,本文采用如下并行计算H的方法:
基于本文提出的逆动力学公式用n个处理器并行计算H的每一列,共需计算n次.4计算效率分析为简单起见,以PUMA560机器人的前3个臂为例进行机械臂惯性矩阵并行计算的计算效率分析.对于PUMA560机器人的前3个臂,有C1=cosq1sinq10-sinq1cosq10001(26)C2=cosq210sinq21sinq210cosq21010(27)C3=cosq21-cosq21sinq3sinq21sinq21cosq3-sinq21sinq3-cosq21sinq3cosq30(28)1W1=00qa1(29)2W2=0qa1qa2(30)3W3=sinq3qa1cosq3qa1qa23(31)1Wa1=00qb1(32)347第19卷第5期邹建奇等:
机械惯性矩阵的并行计算2Wa2=qa1qa2qb1qb2(33)3Wa3=sinq3qb1+cosq3qa1qa23cosq3qa1-sinq3qa1qa23qb23(34)其中q21=q2-q1和q23=q2+q3.给定qi(i=1,2,3)的当前状态以及令qai=0(i=1,2,3)和qb1=1,0,0T,qb2=0,1,0T,qb3=0,0,1T,同时不考虑重力和外力的影响,并行计算H的步骤为第一步:
利用式(26),(27)和(28)并行计算Ci(i=1,2,3);第二步:
利用式(29),(30)和(31)并行计算iWi(i=1,2,3);第三步:
利用式(32),(33)和(34)并行计算iWai(i=1,2,3);第四步:
利用式(8)并行计算HKi(i=1,2,3);第五步:
利用式(9)并行计算HLi(i=1,2,3);第六步:
利用式(10)并行计算H(Li-Ki)(i=1,2,3);第七步:
利用式(11)并行计算Xbi(i=1,2,3);第八步:
利用式(12)并行计算Fi(i=1,2,3);第九步:
利用式(13)并行计算iNi(i=1,2,3);第十步:
利用式(16)并行计算FCi(i=1,2,3);第十一步:
利用式(21)并行计算INi(i=1,2,3);第十二步:
利用式(22)并行计算IKi(i=1,2,3)第十三步:
利用式(23)并行计算ILi(i=1,2,3);第十四步:
利用式(24)并行计算Tai(i=1,2,3);第十五步:
利用式(25)并行计算Sji(i=1,2,3);这里的Sj就是Hj.对j=1到n重复以上过程n次,最后可得H.整个计算过程的计算量见表1.表1计算效率比较方法乘法次数加法次数总数算法CRB1315252567串行PCRB3196167363并行FPA6198192390并行PPA6186186372并行本文72138210并行5结论本文在给出一种非递推形式的机械臂逆动力学计算公式
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机械 惯性 矩阵 并行 计算