参数辨识的简单理解
1.参数辨识技术,是一种将理论模型与试验数据结合起来用于预测的技术。参数辨识根据实验数据和建立的模型来确定一组模型的参数,使得由模型计算得到的数值结果能最好地拟合测试数据(可以看做是一种曲线拟合问题)从而可以对未知过程进行预测,提供一定的理论指导。
2.在具体研究中,首先建立一个粗略的模型,用这个模型对试验测量结果进行预测当计算得到的数值结果与测试值之间的误差较大时,就认为该数学模型与实际的过程不符或者差距较大,进而修改模型,重新选择修改。当预测结果与实测结果相符合,认为此模型具有较高的可信度。
机器人正向运动学和D
1概念1.1机器人本文讨论的机器人,为空间开链连杆机构,其中的运动副(转动副或移动副)常称为关节,关节个数通常即为机器人的自由度数。即:机器人由一系列关节(Joint)和连杆(Link)组成,这些关节可能是滑动(线性)的或旋转(转动)的,它们可以按任意的顺序放置并处于任意的平面,连杆也可以是任意的长度(包括为零),它可能被弯曲或扭曲,也可能位于任意平面上,所以任何一组关节和连杆都可以构成一个机器人。给定机器人结构后,我们就可以确定各关节的类型、相邻关节之间的尺寸等参数。
1.2机器人运动学机器人运动学包括正向运动学和逆向运动学正向运动学即给定机器人各关节变量(一般为相邻关节相对运动量),计算机器人末端的位置姿态;逆向运动学即已知机器人末端的位置姿态,计算机器人各关节的关节变量。本文暂不讨论逆向运动学。
1.3机器人正向运动学的D-H参数模型在机器人正向运动学解算中,机器人每一个关节相对于上一个关节的位姿(位置和姿态),理论上应该有6个自由度(位置3个,姿态3个),并用一个变换矩阵来表达,各关节的变换矩阵依次相乘,就得到了机器人的正向运动学方程,从而解算出机器人末端在机器人基坐标系中的位置和姿态。但按照机器人的关节之间的相对关系,实际上是有约束的,所以没有必要用以上的复杂描述形式。1955年,Denavit和Hartenberg在“ASMEJournalofAppliedMechanics”发表了一篇论文,后来的机器人表示和建模就依据了这篇论文,成为表示机器人和机器人运动进行建模的标准方法,被称为Denavit-Hartenberg参数模型(Denavit–Hartenbergparameters),简称D-H模型。D-H模型表示了对机器人连杆和关节进行建模的一种非常简单的方法,可用于任何机器人构型,而不管机器人的结构顺序和复杂程度如何。
2D-H参数法进行正向运动学解算的过程D-H参数法按照设定规则为每个连杆固连了一个坐标系,之后就可以方便的描述一个连杆坐标系到相邻的下一个连杆坐标系的转换关系。实质就是把相邻坐标系的转换分解为了若干个步骤,每个步骤均只有一个参量。这几个步骤对应变换的组合就完成了相邻坐标系的变换。如图为机器人的两个相邻连杆,即第i−1i-1i−1关节,然后是i−1i-1i−1连杆、第iii关节、第iii连杆、……,按照图中的坐标系设定,坐标系{Ai−1A_{i-1}Ai−1}固连在连杆i−1i-1i−1上,坐标系{AiA_{i}Ai}固连在连杆iii上,现在我们要求出从坐标系{Ai−1A_{i-1}Ai−1}向坐标系{AiA_{i}Ai}的转换矩阵,从图中看,可以分解为以下四个步骤完成:步骤1:坐标系初始位于坐标系{Ai−1A_{i-1}Ai−1},绕Xi−1X_{i-1}Xi−1轴旋转αi−1α_{i-1}αi−1,使ZZZ轴与ZiZ_{i}Zi轴平行;步骤2:坐标系沿Xi−1X_{i-1}Xi−1轴平移ai−1a_{i-1}ai−1,使ZZZ轴与ZiZ_{i}Zi轴共线;步骤3:坐标系绕Zi−1Z_{i-1}Zi−1(同时也是ZiZ_{i}Zi)旋转θiθ_{i}θi,使XXX轴与XiX_{i}Xi轴平行;步骤4:坐标系沿Zi−1Z_{i-1}Zi−1(同时也是ZiZ_{i}Zi)平移did_{i}di,此时已变换到{AiA_{i}Ai}。用齐次矩阵形式描述,由于四个步骤均是在变换后的坐标系下进行下一个变换,所以矩阵右乘,我们就得到坐标系{Ai−1A_{i-1}Ai−1}向坐标系{AiA_{i}Ai}的变换矩阵:ii−1T=Rot(X,αi−1)Trans(ai−1,0,0)Rot(Z,θi)Trans(0,0,di)^{i-1}_iT=Rot(X,α_{i-1})Trans(a_{i-1},0,0)Rot(Z,θ_{i})Trans(0,0,d_{i})ii−1T=Rot(X,αi−1)Trans(ai−1,0,0)Rot(Z,θi)Trans(0,0,di)式中:RotRotRot为旋转矩阵,TransTransTrans为平移矩阵。R(X,θ)=[10000cosθ−sinθ00sinθcosθ00001]R(X,θ)=left[egin{matrix}1&0&0&0\0&cosθ&-sinθ&0\0&sinθ&cosθ&0\0&0&0&1\end{matrix} ight]R(X,θ)=⎣⎢⎢⎡10000cosθsinθ00−sinθcosθ00001⎦⎥⎥⎤,R(Z,θ)=[cosθ−sinθ00sinθcosθ0000100001]R(Z,θ)=left[egin{matrix}cosθ&-sinθ&0&0\sinθ&cosθ&0&0\0&0&1&0\0&0&0&1\end{matrix} ight]R(Z,θ)=⎣⎢⎢⎡cosθsinθ00−sinθcosθ0000100001⎦⎥⎥⎤,Trans(x,y,z)=[100x010y001z0001]Trans(x,y,z)=left[egin{matrix}1&0&0&x\0&1&0&y\0&0&1&z\0&0&0&1\end{matrix} ight]Trans(x,y,z)=⎣⎢⎢⎡100001000010xyz1⎦⎥⎥⎤可计算出:ii−1T=Rot(X,αi−1)Trans(ai−1,0,0)Rot(Z,θi)Trans(0,0,di)^{i-1}_iT=Rot(X,α_{i-1})Trans(a_{i-1},0,0)Rot(Z,θ_{i})Trans(0,0,d_{i})ii−1T=Rot(X,αi−1)Trans(ai−1,0,0)Rot(Z,θi)Trans(0,0,di)=[cos(θi)−sin(θi)0ai−1sin(θi)cos(αi−1)cos(θi)cos(αi−1)−sin(αi−1)−sin(αi−1)disin(θi)sin(αi−1)cos(θi)sin(αi−1)cos(αi−1)cos(αi−1)di0001]=left[egin{matrix}cos(θ_i)&-sin(θ_i)&0&a_{i-1}\sin(θ_i)cos(α_{i-1})&cos(θ_i)cos(α_{i-1})&-sin(α_{i-1})&-sin(α_{i-1})d_i\sin(θ_i)sin(α_{i-1})&cos(θ_i)sin(α_{i-1})&cos(α_{i-1})&cos(α_{i-1})d_i\0&0&0&1\end{matrix} ight]=⎣⎢⎢⎡cos(θi)sin(θi)cos(αi−1)sin(θi)sin(αi−1)0−sin(θi)cos(θi)cos(αi−1)cos(θi)sin(αi−1)00−sin(αi−1)cos(αi−1)0ai−1−sin(αi−1)dicos(αi−1)di1⎦⎥⎥⎤从而,最终我们就可以得到一个nnn自由度机器人从基坐标系{A0A_0A0}到末端坐标系{AnA_nAn}的转换齐次矩阵:n0T=10T21T...nn−1T^0_nT=^0_1T^1_2T...^{n-1}_nTn0T=10T21T...nn−1T得到n0T^0_nTn0T后,其矩阵n0T=[n0Rn0p0001]^0_nT=left[egin{matrix}&&^0_nR&&^0_np\&0&0&0&1\end{matrix} ight]n0T=[0n0R00n0p1]的左上角3×3矩阵n0R^0_nRn0R即为末端在基坐标系中的旋转矩阵,向量n0p^0_npn0p即为末端在基坐标系中的空间位置坐标。
3两类D-H参数法D-H参数法实际上有两种方法:标准D-H(classicDHparameters)、改进D-H(modifiedDHparameters)以上介绍的是改进D-H。两者的区别是固连到连杆上的坐标系不同,以及变换顺序不同,下图描述了标准D-H方法。与前面介绍的改进D-H法比较,改进D-H法的坐标系是固连在每个连杆的首端,而标准D-H的坐标系固连在每个连杆的末端。此时,同样也是分解为四个步骤,但变换顺序与改进D-H不同了:1:坐标系初始位于坐标系{AnA_{n}An},绕znz_{n}zn轴旋转θn+1θ_{n+1}θn+1,使xnx_nxn轴与xn+1x_{n+1}xn+1轴平行;2:坐标系沿znz_{n}zn轴平移dn+1d_{n+1}dn+1,使xnx_nxn轴与xn+1x_{n+1}xn+1轴共线;3:坐标系绕xnx_{n}xn(同时也是xn+1x_{n+1}xn+1)旋转αn+1α_{n+1}αn+1,使znz_nzn轴与zn+1z_{n+1}zn+1轴平行;4:坐标系沿xnx_{n}xn(同时也是xn+1x_{n+1}xn+1)平移an+1a_{n+1}an+1,此时已变换到{An+1A_{n+1}An+1}。对应的,其变换矩阵形式也不同,这里列出n+1nT=Rot(X,θn+1)Trans(0,0,dn+1)Rot(X,αn+1)Trans(an+1,0,0)^n_{n+1}T=Rot(X,θ_{n+1})Trans(0,0,d_{n+1})Rot(X,α_{n+1})Trans(a_{n+1},0,0)n+1nT=Rot(X,θn+1)Trans(0,0,dn+1)Rot(X,αn+1)Trans(an+1,0,0)=[cos(θn+1)−sin(θn+1)cos(αn+1)sin(θn+1)sin(αn+1)cos(θn+1)an+1sin(θn+1)cos(θn+1)cos(αn+1)−cos(θn+1)sin(αn+1)sin(θn+1)an+10sin(αn+1)cos(αn+1)dn+10001]=left[egin{matrix}cos(θ_{n+1})&-sin(θ_{n+1})cos(α_{n+1})&sin(θ_{n+1})sin(α_{n+1})&cos(θ_{n+1})a_{n+1}\sin(θ_{n+1})&cos(θ_{n+1})cos(α_{n+1})&-cos(θ_{n+1})sin(α_{n+1})&sin(θ_{n+1})a_{n+1}\0&sin(α_{n+1})&cos(α_{n+1})&d_{n+1}\0&0&0&1\end{matrix} ight]=⎣⎢⎢⎡cos(θn+1)sin(θn+1)00−sin(θn+1)cos(αn+1)cos(θn+1)cos(αn+1)sin(αn+1)0sin(θn+1)sin(αn+1)−cos(θn+1)sin(αn+1)cos(αn+1)0cos(θn+1)an+1sin(θn+1)an+1dn+11⎦⎥⎥⎤不管哪种方法,原理是一致的,实际上只要弄懂了其中一种,另一种只是变个形式而已。以下我们仍采用改进D-H法。
4D-H坐标系确定和D-H表的建立从以上原理过程看,D-H参数法中,坐标系选定后,一旦确定了每两个相邻连杆的四个参数:αi−1α_{i-1}αi−1、ai−1a_{i-1}ai−1、θiθ_{i}θi、did_{i}di,就可以直接写出其变换齐次矩阵,因此,D-H参数法的一个重要步骤就是建立各个连杆的这四个参数,称为D-H参数表,建立D-H参数表即可带入以上公式完成机器人的正向解算。
4.1D-H坐标系选定4.1.1D-H坐标系对于每个连杆都建立一个固连在其上的坐标系,基座也可以看作是一个连杆,机器人末端(手部)也认为连接了一个连杆(只不过长度为零),这样一个n自由度的机器人,就有n+1个连杆,相应地,有n+1个坐标系。这里提醒注意:坐标系是固连在连杆上,而不是固连在关节上,以前看资料和博客怎么说的都有,弄的很糊涂,后来才搞明白,坐标系是固连在连杆上,如果认为坐标系固连在关节上,分析问题时会让人很崩溃的。
4.1.2坐标系的建立原则以下以改进D-H法为准。1基座连杆坐标系:定义为0号坐标系{A0A_0A0},它也是机器人的基坐标系,0号坐标系在基座上的位置和方向可任选,但一般z0z_0z0轴线与关节1的轴线z1z_1z1重合或相交。2除基座外的各连杆的坐标系确定原则如下:
Z轴确定Z轴一定过连杆首端关节的旋转轴(或滑动轴);
X轴确定X轴位置根据本坐标系的Z轴与下一个连杆固连坐标系的Z轴的关系确定,X轴方向任选,但一般指向下一个关节,我们用下图一个4轴机器人为例来说明。情况1:两关节Z轴既不平行也不相交,如下图连杆3情况取两Z轴公垂线为X轴,方向一般指向下一个关节;情况2:两关节Z轴平行,如下图连杆2情况此时,两Z轴之间有无数条公垂线,可选与前一关节Z轴公垂线相交的一条公垂线,方向也是一般指向下一个关节情况3:两关节Z轴相交,如下图连杆1情况取两条Z轴的叉积(向量积)方向作为X轴,即取同时垂直于两条Z轴的直线作为X轴,此时X轴方向任选上图的连杆1坐标系可能出乎很多人意料,怎么原点跑到连杆的末端关节上去了,所以理解以上说的“连杆的坐标系建立在连杆首端关节处”时要注意,坐标原点不一定位于连杆的首端关节中心那个点,这一点也是之前很糊涂了一段后来搞明白的,可能上面图有点不太明白,还是上图那个4轴机器人,我们把连杆1弯曲一下,然后可能好理解一些为什么原点跑了。
Y轴确定X轴和Z轴确定后,按右手定则确定Y轴。
4.2D-H表建立确定了坐标系后,就可以建立D-H表了,即确定以上的四个参数,还是以上面的四轴机器人为例,我们建立D-H表,因为是为了举例假设的机器人,所以一些定值这里没有给出具体数,而以描述的方式。
iiiαi−1α_{i-1}αi−1ai−1a_{i-1}ai−1θiθ_iθidid_idi100θ1θ_1θ1基座到关节2纵向高度(定值)2900θ2θ_2θ2030连杆2长度(定值)θ3θ_3θ304-90沿Z4轴径向的关节3与关节4的距离(定值)θ4θ_4θ4沿Z4轴轴向的关节3与关节4的距离(定值)建立这个表时不要死记各个参数的含义,建议结合前面讲述的四步变换步骤,就很容易确定各个参数。表中θ1θ_1θ1~θ4θ_4θ4分别为各个连杆相对于上一个连杆的旋转角度。还有一点要注意:D-H表是在确定了各连杆坐标系后对应建立的,同一个机器人,坐标系建立不同,D-H表就不同。
参考文献https://www.docin.com/p-1249134279.html