您好,欢迎访问三七文档
当前位置:首页 > 中学教育 > 高中教育 > 第三章 工业机器人运动学-1数学基础
第三章工业机器人运动学引言要实现对工业机器人在空间运动轨迹的控制,完成预定的作业任务,就必须知道机器人在空间瞬时的位置与姿态。如何计算机器人手部在空间的位姿是实现对机器人的控制首先要解决的问题。本章讨论机器人运动学的基本问题,将引入齐次坐标变换。推导出坐标变换方程;利用DH参数法,进行机器人的位姿分析;介绍机器人正向和逆运动学的基础知识。主要内容数学基础——齐次坐标变换机器人运动学方程的建立(正运动学)机器人逆运动学分析一、机器人数学基础——齐次坐标变换1.1引言1.2点向量和平面的描述1.3变换1.4平移变换1.5旋转变换1.6坐标系1.7相对变换1.8物体的描述1.9逆变换1.10一般性旋转变换1.11等价旋转角与旋转轴1.12扩展与缩小1.13透视变换1.14变换方程1.15小结1.1引言(Introduction)机器人操作涉及到各物体之间的关系和各物体与机械手之间的关系。这一章将给出描述这些关系必须的表达方法。类似这种表示方法在计算机图形学中已经解决。在计算机图形学和计算机视觉中,物体之间的关系是用齐次坐标变换来描述的。在本课程我们将采用齐次坐标变换来描述机械手各关节坐标之间、各物体之间以及各物体与机械手之间的关系。本章首先介绍向量和平面的表示方法,然后引出向量和平面的坐标变换,这些变换基本上是由平移和旋转组成,因此可以用坐标系来描述各种物体和机械手的空间位置和姿态。稍后还要介绍逆变换,逆变换是运动学求解的基础。a0vzyxzyxpcb0uEH图1.1点向量的描述•1.2点向量和平面的描述(Notationofpointvectorsandplanes)1.2.1点向量(Pointvectors)点向量描述空间的一个点在某个坐标系的空间位置。同一个点在不同坐标系的描述及位置向量的值也不同。如图1.1中,点p在E坐标系上表示为Ev,在H坐标系上表示为Hu,且v≠u。一个点向量可表示为v=ai+bj+ck通常用一个(n+1)维列矩阵表示,即除x、y、z三个方向上的分量外,再加一个比例因子w,即v=[xyzw]T其中a=x/w,b=y/w,c=z/w。改变比例因子w,则分量a、b、c的数值相应改变,但描述的还是同一个点向量。如v=3i+4j+5k可表示为v=[3451]T=[68102]T=[-3-4-5-1]T在向量中增加一个比例因子w是为了方便坐标变换中的矩阵运算。已知两个向量a=axi+ayj+azkb=bxi+byj+bzk(1.1)向量的点积是标量。用“·”来定义向量点积,即a·b=axbx+ayby+azbz(1.2)向量的叉积是一个垂直于由叉积的两个向量构成的平面的向量。用“×”表示叉积,即a×b=(aybz¯azby)i+(azbx¯axbz)j+(axby¯ayby)k(1.3)可用行列式表示为ijka×b=axayaz(1.4)bxbybz1.2.2平面(Planes)平面可用一个行矩阵表示,即p=[abcd](1.5)它表示了平面p的法线方向,且距坐标原点的距离为-d/m,其中m=(1.6)如图1.2所示,如果将x-y平面沿z轴正方向平移一个单位距离,构成平面p,则p=[001-1]即a=0,b=0,c=1,d=-1,m==1平面p上任一点v为v=[xy11]T,它与平面p的点乘为零,即p•v=0平面p上方任一点v,如v=[0021]T,它与平面p的点乘为一个正数,即p•v=1平面p下方任一点v,如v=[0001]T,它与平面p的点乘为一个负数,即p•v=-1注意:平面[0000]无定义。a2+b2+c2a2+b2+c2图1.2平面的描述0•vpzyx1yxH空间的变换是由4×4矩阵来完成的,它可以表示平移、旋转、扩展和透视等各种变换。如已知点u(在平面p上),它的变换v(在平面q上)用矩阵积表示为v=Hu(1.7)其中H为4×4变换矩阵,u和v为4×1的点列向量,相应的平面p到q的变换是q=pH-1(1.8)其中H-1为H的逆阵,p和q为1×4的平面行向量。经变换后的平面向量q与点向量v的点乘为q·v=pH-1·Hu=p·u(1.9)与变换前平面p与点u的点乘相等,证明了变换的等效性。1.3变换(Transformation)1.4平移变换(Translationtransformation)用向量h=ai+bj+ck进行平移,其相应的H变换矩阵是100a010bH=Trans(abc)=001c(1.10)0001因此对向量u=[xyzw]T,经H变换为向量v可表示为x+awx/w+ay+bwy/w+bv=z+cw=z/w+c(1.11)w1可见,平移实际上是对已知向量u=[xyzw]T与平移向量h=[abc1]T相加。【例1.1】对点向量u=[2321]T进行平移,平移向量为h=[4-371]T,则平移后的向量为v=[6091]T,或100426010―330v=H∙u=00172=9000111点向量的平移过程如图1.3所示。对平面的平移则用H-1进行变换,如对平面p=[100-2]进行H变换为平面q,则根据变换原理有100-40103q=pH-1=[100-2]001-70001=[100-6]平面p=[100-2]是y-z平面沿x正方向移动2个单位形成的平面(图1.3),点u=[2321]T是平面p上的一个点,它们的点乘p∙u=0。经H变换后的平面q=[100-6]是y-z平面沿x正方向移动6个单位形成的平面,点v=[6091]T是平面q上一个点,平面q与点v的点乘也应是零,即q∙v=0,说明变换前后的结果不变,证明H变换是正确的。u•0zyx3P22图1.3点向量的平移•v69qp1.5旋转变换(Rotationtransformation)如图1.4所示,绕x,y,z轴旋转一个θ角的相应变换是10000cosθ-sinθ0Rot(x,θ)=0sinθcosθ0(1.12)0001cosθ0sinθ00100Rot(y,θ)=-sinθ0cosθ0(1.13)0001cosθ-sinθ00sinθcosθ00Rot(z,θ)=0010(1.14)0001注意:θ角旋转的正方向遵循右手螺旋法则(如图1.4所示)图1.4旋转变换θ0zyxθθ【例1.2】点u=7i+3j+2k,它绕z轴旋转90°为v,经式(1.14)变换得到(sinθ=1,cosθ=0)0-1007-3100037v=Rot(z,90°)=00102=2000111起始点u和终点v如图1.5所示。如将v点再绕y轴旋转90°得到w。用式(1.13)变换得到0010-32010077w=Rot(y,90°)=-10002=3000111结果如图1.6所示。如果将上述两次旋转结合起来,写成一个表达式得到w=Rot(y,90°)v=Rot(y,90°)Rot(z,90°)u用两个变换矩阵Rot(y,90°)、Rot(z,90°)和起始点u代入上式计算的结果与前面分两次计算的结果相同。2•uzyx•v0图1.5Rot(z,90°)yuv0zx•w••图1.6Rot(y,90°)Rot(z,90°)27为此,先将点u绕z轴旋转90°,然后再绕y轴旋转90°,我们得到00100-100720100100037w=Rot(y,90°)Rot(z,90°)u=-100000102=30001000111如果按着逆序旋转,首先绕y轴旋转90°,然后再绕z轴旋转90°,其结果为0-10000107-31000010032w=Rot(z,90°)Rot(y,90°)u=0100-10002=-70001000111逆序旋转的结果如图1.7所示。显然,变换的顺序不同,其结果也不同。这从矩阵相乘是不可交换的(AB≠BA)也可以得到证明。如对经过两次旋转变换得到的点向量w再进行一次平移(平移向量为h=[4-371]T),则可得到如图1.8所示的点向量n。变换过程如下100426010-374n=Trans(4,-3,7)w=00173=10000111zuv0yx•w••图1.8Trans(4,-3,7)Rot(y,90°)Rot(z,90°)•••n72w0zyx•••u图1.7Rot(z,90°)Rot(y,90°)2-7v1.6坐标系(Coordinateframes)齐次变换矩阵H由四个列向量组成,它的前三个列向量称为方向向量,由式(1.12)到式(1.14)的旋转变换(分别绕x、y、z轴旋转θ角)确定,第四个列向量称为平移向量,它的平移分量(沿x、y、z轴的平移量)由式(1.10)第四列的前三个元素确定。如0014100-3H=Trans(4,-3,7)Rot(y,90°)Rot(z,90°)=0107(1.15)0001坐标系的原点,即零向量[0001]T的H变换是[4-371]T,相当于将原点按平移向量的各个分量进行平移的结果(如图1.9所示)。如果对x、y、z轴的单位向量进行H变换,分别得到[4-271]T、[4-381]T和[5-371]T。这四个向量在图1.9中标出,并形成了一个新坐标系。0zyxzyx0Trans(4,-3,7)Rot(z,90°)Rot(y,90°)图1.9坐标原点与单位向量的H变换这个新坐标系的x、y、z轴的方向分别是[0,1,0,0]T、[0,0,1,0]T和[1,0,0,0]T,它是由单位向量的H变换减去这个坐标原点的向量得到的。这些方向向量相应于变换矩阵的前三列(见式(1.15))。可见,H变换矩阵描述了一个坐标系绕原参考坐标系旋转和对参考坐标系平移的三个轴的方向和原点的位置(见图1.9)。如图1.10所示,当对一个向量n进行式(1.15)给出的H变换时,原向量n可以被认为是在新坐标系描述的那个向量u,即被变换了的向量u就是相对于参考坐标系描述的同一个向量n。00zzyyxxu(7,3,2,1)•n(6,4,10,1)图1.10向量的H变换1.7相对变换(Relativetransformation)我们刚刚描述的旋转和平移都是相对于一个固定的坐标系而进行的。这样,在已给的例子里0014100-3Trans(4,-3,7)Rot(y,90°)Rot(z,90°)=0107(1.16)0001坐标系首先绕参考坐标系z轴旋转90°,然后绕y轴旋转90°,最后平移4i-3j+7k,如图2.9所示。如果以相反次序从左到右来进行这些操作:首先对坐标平移4i―3j+7k,然后将它绕当前坐标系的y轴旋转90°,此时当前坐标系的y轴与参考坐标系的y轴是相同的。然后再绕着新坐标系(当前的)坐标系的z轴旋转90°,所得结果与前面的方法相同(见图1.11)。•00zzzzyyyyxxxxRot(y,90°)Rot(z,90°)Trans(4,-3,7)坐标原点图1.11相对变换一般的情况下,如果我们用一个旋转和/或平移变换矩阵右乘一个坐标系的变换,那么产生的平移和/或旋转是相对于前一个变换的坐标系(当前坐标系)的轴来说的。如果我们用一个描述平移和/或旋转的变换矩阵左乘一个坐标系的变换,那么产生的平移和/或旋转是相对于基坐标系来说的。【例1.3】给一个坐标系C和一个变换T,T为绕z轴旋转90°,并在x轴方向上平移10个单位,当变换是相对于基坐标系产生时,我们用T左乘C得到新的位置x为0-1010100200010100000-11010020x=TC=00100100=0100(1.17)000100010001当变换是相对于当前坐标系C轴产生时,我们用T右乘C得到新的位置y为100200-10100-103000-110100000-110y=CT=01000010=1000(1.18)000100010001结果如图1.12所示。YXTrans(10,0,0)Rot(z,90°)0zyxxxxxyyyyzzzzRot(z,90°)Trans(10,0,0)图1.12相对于基坐标系和当前坐标系的变换1.8物体的描述(Objectrepresentation)变换可用来描述物体的位置与方向(方位)。如图1.
本文标题:第三章 工业机器人运动学-1数学基础
链接地址:https://www.777doc.com/doc-3160520 .html