机器人学数学基础.ppt
机器人运动学,数学基础,2.1 位置和姿态的表示2.2 坐标变换2.3 齐次坐标变换2.4 旋转矩阵,机器人技术数学基础Mathematic Preparation for Robotics,2.1 机器人位置和姿态的描述,机器人可以用一个开环关节链来建模由数个驱动器驱动的转动或移动关节串联而成一端固定在基座上,另一端是自由的,安装工具,用以操纵物体,人们感兴趣的是操作机末端执行器相对于固定参考坐标数的空间几何描述,也就是机器人的运动学问题机器人的运动学即是研究机器人手臂末端执行器位置和姿态与关节变量空间之间的关系,运动学研究的问题,Where is my hand?,Direct KinematicsHERE!,How do I put my hand here?,Inverse Kinematics:Choose these angles!,运动学正问题,运动学逆问题,研究的两类问题:运动学正问题-已知杆件几何参数和关节角矢量,求操作机末端执行器相对于固定参考作标的位置和姿态(齐次变换问题)。运动学逆问题-已知操作机杆件的几何参数,给定操作机末端执行器相对于参考坐标系的期望位置和姿态(位置),操作机能否使其末端执行器达到这个预期的位姿?如能达到,那么操作机有几种不同形态可以满足同样的条件?,研究的对象机器人从机构形式上分为两种,一种是关节式串联机器人,另外一种是并联机器人。,PUMA560,Hexapod,Fanuc manipulator,这两种机器人有所不同:串联机器人:工作空间大,灵活,刚度差,负载小,误差累积并放大。并联机器人:刚性好,负载大,误差不积累,工作空间小,姿态范围不大。本章讲解以串联机器人为主。,D-H方法基本思想,给每个关节指定一个参考坐标系,然后,确定从一个关节到下一个关节(一个坐标系到下一个坐标系)来进行变换的步骤。如果将从基座到第一个关节,再从第一个关节到第二个关节直至到最后一个关节的所有变换结合起来,就得到了机器人的总变换矩阵。,D-H模型表示了对机器人连杆和关节进行建模的一种非常简单的方法,可用于任何机器人构型,而不管机器人的结构顺序和复杂程度如何。它也可用于表示已经讨论过的在任何坐标中的变换,例如直角坐标、圆柱坐标、球坐标、欧拉角坐标及RPY坐标等。另外,它也可以用于表示全旋转的链式机器人、SCARA机器人或任何可能的关节和连杆组合。,数学基础 齐次坐标和齐次变换,点向量(Point vectors)点向量描述空间的一个点在某个坐标系的空间位置。同一个点在不同坐标系的描述及位置向量的值也不同。如图2.1中,点p在E坐标系上表示为 Ev,在H坐标系上表示为 Hu,且v u。一个点向量可表示为 v=ai+bj+ck 通常用一个(n+1)维列矩阵表示,即除 x、y、z 三个方向上的分量外,再加一个比例因子 w,即 v=x y z w T 其中 a=x/w,b=y/w,c=z/w。,已知两个向量 a=ax i+ay j+az k b=bx i+by j+bz k(2.1)向量的点积是标量。用“”来定义向量点积,即 a b=ax bx+ay by+az bz(2.2)向量的叉积是一个垂直于由叉积的两个向量构成的平面的向量。用“”表示叉积,即 a b=(ay bz az by)i+(az bx ax bz)j+(ax by ay by)k(2.3)可用行列式表示为 i j k a b=ax ay az(2.4)bx by bz,2.2 点齐次坐标2.2.1 点的齐次坐标,一般来说,n维空间的齐次坐标表示是一个(n+1)维空间实体。有一个特定的投影附加于n维空间,也可以把它看作一个附加于每个矢量的特定坐标比例系数。,式中i,j,k为x,y,z 轴上的单位矢量,a=,b=,c=,w为比例系数,显然,齐次坐标表达并不是唯一的,随w值的不同而不同。在计算机图学中,w 作为通用比例因子,它可取任意正值,但在机器人的运动分析中,总是取w=1。,列矩阵,为什么引入齐次坐标?,在欧几里得几何空间里,两条平行线永远都不会相交。但是在投影空间中,如右图中的两条铁轨在地平线处却是会相交的,因为在无限远处它们看起来相交于一点。,在欧几里得(或称笛卡尔)空间里描述2D/3D 几何物体是很理想的,但在投影空间里面却并不见得。我们用(x,y)表示笛卡尔空间中的一个 2D 点,而处于无限远处的点(,)在笛卡尔空间里是没有意义的。投影空间里的两条平行线会在无限远处相交于一点,但笛卡尔空间里面无法搞定这个问题(因为无限远处的点在笛卡尔空间里是没有意义的),因此数学家想出齐次坐标这个点子来了。,由August Ferdinand Mbius 提出的齐次坐标(Homogeneous coordinates)让我们能够在投影空间里进行图像和几何处理,齐次坐标用 N+1个分量来描述 N 维坐标。比如,2D 齐次坐标是在笛卡尔坐标(X,Y)的基础上增加一个新分量 w,变成(x,y,w),其中笛卡尔坐标系中的大X,Y 与齐次坐标中的小x,y有如下对应关系:X=x/wY=y/w 笛卡尔坐标中的点(1,2)在齐次坐标中就是(1,2,1)。如果这点移动到无限远(,)处,在齐次坐标中就是(1,2,0),这样我们就避免了用没意义的 来描述无限远处的点。,点(1,2,3),(2,4,6)和(4,8,12)对应笛卡尔坐标中的同一点(1/3,2/3)。任意数量积的(1a,2a,3a)始终对应于笛卡尔坐标中的同一点(1/3,2/3)。因此这些点是“齐次”的,因为他们始终对应于笛卡尔坐标中的同一点。换句话说,齐次坐标描述缩放不变性(scale invariant)。,例:,可以表示为:V=3 4 5 1T 或 V=6 8 10 2T 或 V=-12-16-20-4T,齐次坐标与三维直角坐标的区别,V点在OXYZ坐标系中表示是唯一的(x、y、z)而在齐次坐标中表示可以是多值的。不同的表示方法代表的V点在空间位置上不变。,旋转矩阵,设固定参考坐标系直角坐标为Oxyz,动坐标系为Ouvw,研究旋转变换情况。,初始位置时,动静坐标系重合,O、O 重合,如图。各轴对应重合,设P点是动坐标系Ouvw中的一点,且固定不变。则P点在Ouvw中可表示为:,、为坐标系Ouvw的单位矢量,则P点在oxyz中可表示为:,当动坐标系Ouvw绕O点回转时,求P点在固定坐标系oxyz中的位置,已知:P点在Ouvw中是不变的仍然成立,由于Ouvw回转,则:,用矩阵表示为:,(2-7),反过来:,由刚体的等距变换可知:,将上式代入,可得:,R为正交矩阵。,由图可知,在y轴上的投影为,在z轴上的投影为,在y轴上的投影为,在z轴上的投影为,所以有:,方向余弦阵,同理:,三个基本旋转矩阵:,2.2 旋转齐次变换,用齐次坐标变换来表示式旋转变换:,2.2.3 合成旋转矩阵:,例1:在动坐标中有一固定点,相对固定参考坐标系 做如下运动:R(x,90);R(z,90);R(y,90)。求点 在固定参考坐标系 下的位置。,解1:用画图的简单方法,解2:用分步计算的方法,R(x,90),R(z,90),R(y,90),(2-14),(2-15),(2-16),上述计算方法非常繁琐,可以通过一系列计算得到上述结果。将式(2-14)(2-15)(2-16)联写为如下形式:,R4x4为二者之间的关系矩阵,我们令:,定义1:当动坐标系 绕固定坐标系 各坐标轴顺序有限次转动时,其合成旋转矩阵为各基本旋转矩阵依旋转顺序左乘。注意:旋转矩阵间不可以交换,平移齐次变换矩阵,注意:平移矩阵间可以交换,平移和旋转矩阵间不可以交换,因此对向量 u=x y z w T,经H变换为向量v可表示为 x+aw x/w+a y+bw y/w+b z+cw z/w+c w 1,2.2.4 相对变换,举例说明:例1:动坐标系0起始位置与固定参考坐标系0重合,动坐标系0做如下运动:R(Z,90)R(y,90)Trans(4,-3,7),求合成矩阵,解1:用画图的方法:,解2:用计算的方法,根据定义1,我们有:,以上均以固定坐标系多轴为变换基准,因此矩阵左乘。如果我们做如下变换,也可以得到相同的结果:,例2:先平移Trans(4,-3,7);绕当前 轴转动90;绕当前 轴转动90;求合成旋转矩阵。,(2-20),解1:用画图的方法,解2:用计算的方法,式(2-20)和式(2-21)无论在形式上,还是在结果上都是一致的。因此我们有如下的结论:动坐标系在固定坐标系中的齐次变换有2种情况:定义1:如果所有的变换都是相对于固定坐标系中各坐标轴旋转或平移,则依次左乘,称为绝对变换。定义2:如果动坐标系相对于自身坐标系的当前坐标轴旋转或平移,则齐次变换为依次右乘,称为相对变换。,结果均为动坐标系在固定坐标中的位姿(位置+姿态)。相对于固定坐标系,,也就是说,动坐标系绕自身坐标轴做齐次变换,要达到绕固定坐标系相等的结果,就应该用相反的顺序。,机器人用到相对变换的时候比较多例如机械手抓一个杯子,如右图所示,手爪需要转动一个角度才抓的牢,相对于固定坐标系表达太麻烦,可以直接根据手爪的坐标系表示但也要知道在O中的位姿,就用右乘的概念。,o,H,2.2.5 绕通过原点的任意轴旋转的齐次变换,有时动坐标系O可能绕过原点O的而分量分别为rx、ry、rz的任意单位矢量r 转动角。研究这种转动的好处是可用O绕某轴r 的一次转动代替绕O各坐标轴的数次转动为推导此旋转矩阵,可作下述变换:绕X 轴转角,使r 轴处于XZ平面内绕Y 轴转-角,使r 轴与OZ轴重合绕OZ轴转动角绕Y 轴转角绕X 轴转-角,由上图容易求出:,由定义1和定义2,上述5次旋转的合成旋转矩阵为:,(2-25),带入式(2-25),得,2.2.6 齐次交换矩阵的几何意义,设T=,有一个手爪,已知其在O的位置,设一个该坐标系O,已知,那么O在O中的齐次坐标变换为,如果手爪转了一个角度,则:,T反映了O在O中的位置和姿态,即表示了该坐标系原点和各坐标轴单位矢量在固定坐标系中的位置和姿态。该矩阵可以由4个子矩阵组成,写成如下形式:,为姿态矩阵,表示动坐标系O在固定参考坐标系O中的姿态,即表示O各坐标轴单位矢量在O各轴上的投影,为位置矢量矩阵,代表动坐标系O坐标原点在固定参考坐标系O中的位置,为透视变换矩阵,在视觉中进行图像计算,一般置为0,为比例系数,如果需要求解O在O中的位置和姿态,此时的齐次变换矩阵为,即求逆矩阵:,其中:,这些式子以后经常遇到,在机器人计算中,所要求的就是齐次变换矩阵,习题1:O与O初始重合,O作如下运动:绕Z轴转动30;绕X轴转动60;绕Y轴转动90。求T。,习题2:O与O初始重合,O作如下运动:绕X轴转动90;绕w轴转动90;绕Y轴转动90。求 T;改变旋转顺序,如何旋转才能获得相同的结果。,解:,解:绕Z(w)轴转动90;绕X轴转动90;绕Y轴转动90。,