1、机器人运动学,第二章 数学基础齐次坐标和齐次变换,杜志江、纪军红科学园C1栋机器人研究所206室86414462-参考教材付京逊机器人学蔡自兴机器人学,2.1 引言 机器人位置和姿态的描述,机器人可以用一个开环关节链来建模由数个驱动器驱动的转动或移动关节串联而成一端固定在基座上,另一端是自由的,安装工具,用以操纵物体,人们感兴趣的是操作机末端执行器相对于固定参考坐标数的空间几何描述,也就是机器人的运动学问题机器人的运动学即是研究机器人手臂末端执行器位置和姿态与关节变量空间之间的关系,动画示例,运动学研究的问题,Where is my hand?,Direct KinematicsHERE!,H
2、ow do I put my hand here?,Inverse Kinematics: Choose these angles!,运动学正问题,运动学逆问题,丹纳维特(Denavit)和哈顿贝格(Hartenberg) 于1955年提出了一种矩阵代数方法解决机器人的运动学问题D-H方法具有直观的几何意义能表达动力学、计算机视觉和比例变换问题其数学基础即是齐次变换,2.2 点和面的齐次坐标2.2.1 点的齐次坐标,一般来说,n维空间的齐次坐标表示是一个(n+1)维空间实体。有一个特定的投影附加于n维空间,也可以把它看作一个附加于每个矢量的特定坐标比例系数。,式中i, j, k为x, y, z
3、 轴上的单位矢量,a= , b= , c= ,w为比例系数,显然,齐次坐标表达并不是唯一的,随w值的不同而不同。在计算机图学中,w 作为通用比例因子,它可取任意正值,但在机器人的运动分析中,总是取w=1 。,列矩阵,例:,可以表示为: V=3 4 5 1T 或 V=6 8 10 2T 或 V=-12 -16 -20 -4T,齐次坐标与三维直角坐标的区别,V点在OXYZ坐标系中表示是唯一的(x、y、z)而在齐次坐标中表示可以是多值的。不同的表示方法代表的V点在空间位置上不变。,几个特定意义的齐次坐标:,0, 0, 0, nT坐标原点矢量的齐次坐标,n为任意非零比例系数 1 0 0 0T指向无穷远
4、处的OX轴0 1 0 0T指向无穷远处的OY轴 0 0 1 0T指向无穷远处的OZ轴,2个常用的公式:,2.2.2 平面的齐次坐标,平面齐次坐标由行矩阵P=a b c d 来表示当点v=x y z wT处于平面P内时,矩阵乘积PV=O,或记为,如果定义一个常数m= ,则有:,=,可以把矢量 解释为某个平面的外法线,此平面沿着法线方向与坐标原点的距离为。,例:,因此一个平行于x、y轴,且在z轴上的坐标为单位距离的平面P可以表示为: 或 有: PV=,例如:点 V=10 20 1 1T 必定处于此平面内,而点 V=0 0 2 1T处于平 P 的上方点V=0 0 0 1T处于P平面下方。因为:,与点
5、矢 相仿,平面 也没有意义,2.2 旋转矩阵及旋转齐次变换2.2.1 旋转矩阵,设固定参考坐标系直角坐标为Oxyz,动坐标系为Ouvw,研究旋转变换情况。, 初始位置时,动静坐标系重合,O、O 重合,如图。各轴对应重合,设P点是动坐标系Ouvw中的一点,且固定不变。则P点在Ouvw中可表示为:,、 、 为坐标系Ouvw的单位矢量,则P点在oxyz中可表示为:,当动坐标系Ouvw绕O点回转时,求P点在固定坐标系oxyz中的位置,已知:P点在Ouvw中是不变的仍然成立,由于Ouvw回转,则:,用矩阵表示为:,(2-7),反过来:,2.2.2 旋转齐次变换,用齐次坐标变换来表示式(2-7),2.2.
6、3 三个基本旋转矩阵和合成旋转矩阵,三个基本旋转矩阵,即动坐标系 求 的旋转矩阵,也就是求出坐标系 中各轴单位矢量 在固定坐标系中各轴的投影分量,很容易得到在重合时,有:,由图2-5可知, 在y轴上的投影为 , 在z轴上的投影为 , 在y轴上的投影为 , 在z轴上的投影为 ,所以有:,方向余弦阵,同理:,三个基本旋转矩阵:,合成旋转矩阵:,例1:在动坐标中有一固定点 ,相对固定参考坐标系 做如下运动: R(x, 90); R(z, 90); R(y,90)。求点 在固定参考坐标系 下的位置。,解1:用画图的简单方法,解2:用分步计算的方法, R(x, 90), R(z, 90), R(y, 9
7、0),(2-14),(2-15),(2-16),上述计算方法非常繁琐,可以通过一系列计算得到上述结果。将式(2-14)(2-15)(2-16)联写为如下形式:,R4x4为二者之间的关系矩阵,我们令:,定义1: 当动坐标系 绕固定坐标系 各坐标轴顺序有限次转动时,其合成旋转矩阵为各基本旋转矩阵依旋转顺序左乘。注意:旋转矩阵间不可以交换,平移齐次变换矩阵,注意:平移矩阵间可以交换, 平移和旋转矩阵间不可以交换,2.2.4 相对变换,举例说明:例1:动坐标系0起始位置与固定参考坐标系0重合,动坐标系0做如下运动:R(Z,90) R(y,90) Trans(4,-3, 7),求合成矩阵,解1:用画图的
8、方法:,解2:用计算的方法,根据定义1,我们有:,以上均以固定坐标系多轴为变换基准,因此矩阵左乘。如果我们做如下变换,也可以得到相同的结果:,例2:先平移Trans (4,-3,7);绕当前 轴转动90; 绕当前 轴转动90;求合成旋转矩阵。,(2-20),解1:用画图的方法,解2:用计算的方法,(2-21),式(2-20)和式(2-21)无论在形式上,还是在结果上都是一致的。因此我们有如下的结论:动坐标系在固定坐标系中的齐次变换有2种情况:定义1:如果所有的变换都是相对于固定坐标系中各坐标轴旋转或平移,则依次左乘,称为绝对变换。定义2:如果动坐标系相对于自身坐标系的当前坐标轴旋转或平移,则齐
9、次变换为依次右乘,称为相对变换。,结果均为为动坐标系在固定坐标中的位姿(位置+姿态)。相对于固定坐标系,,也就是说,动坐标系绕自身坐标轴做齐次变换,要达到绕固定坐标系相等的结果,就应该用相反的顺序。,齐次变换矩阵T 的意义:,机器人用到相对变换的时候比较多例如机械手抓一个杯子,如右图所示,手爪需要转动一个角度才抓的牢,相对于固定坐标系表达太麻烦,可以直接根据手爪的坐标系表示但也要知道在O中的位姿,就用右乘的概念。,o,H,2.2.5 绕通过原点的任意轴旋转的齐次变换,有时动坐标系O可能绕过原点O的而分量分别为rx、ry、rz的任意单位矢量r 转动角。研究这种转动的好处是可用O绕某轴r 的一次转
10、动代替绕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个子矩阵组成,写成如下形式:,为姿态矩阵,
11、表示动坐标系O在固定参考坐标系O中的姿态,即表示O各坐标轴单位矢量在O各轴上的投影,为位置矢量矩阵,代表动坐标系O坐标原点在固定参考坐标系O中的位置,为透视变换矩阵,在视觉中进行图像计算,一般置为0,为比例系数,如果需要求解O在O中的位置和姿态,此时的齐次变换矩阵为 ,即求逆矩阵:,其中:,这些式子以后经常遇到,在机器人计算中,所要求的就是齐次变换矩阵下,2.2.7 透镜成像的齐次变换,因此,进行机器人运行学计算时,不能省略透视矩阵,有摄像头时,透视矩阵为 0 - 0,没有摄像头时为0 0 0 。,知识点:,点和面的齐次坐标和齐次变换三个基本旋转矩阵绝对变换:如果所有的变换都是相对于固定坐标系
12、中各坐标轴旋转或平移,则依次左乘,称为绝对变换。相对变换:如果动坐标系相对于自身坐标系的当前坐标轴旋转或平移,则齐次变换为依次右乘,称为相对变换。绕任意轴选转,5步顺序透视变换,习题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。,习题3: 矢量 在O中表示为 ,O相对于O的奇次变换为:,解:1),解:2),解:3),, ,,习题4: 如图所示,1)写出 、 、 、 ;2)求,解:1),解2):根据定义2,绕自身旋转,右乘,习题1:O与O初始重合,O作如下运动:绕z轴转动90;绕v轴转动90;绕x轴转动90。求 T;改变旋转顺序,如何旋转才能获得相同的结果。,习题2: 已知齐次变换矩阵 要求R(f,), 求f和值,习题4: 如图所示,1)写出 、 、 、 4T5;2)求oT5,