王新庆机械设计与车辆工程系工科D414工程软件演示与讲解教学法机器人运动学及其数学基础参考教材[美]付京逊《机器人学》[中南大学]蔡自兴《机器人学》[美]理查德·鲍尔《机器人操作手·数学·编程与控制》参考教材[中南大学]蔡自兴中南大学教授,我国人工智能和机器人领域著名专家中国人工智能学会智能机器人专委会理事长曾与付京逊教授一起工作过一机器人位置和姿态的描述Justincatchball串联机器人可以用一个开环关节链来建模由数个驱动器驱动的转动或移动关节串联而成一端固定在基座上,另一端是自由的,安装工具(末端执行器),用以操纵物体,或完成各种任务运动学问题:B,H坐标系位置:H的原点在B坐标系中的坐标表示姿态:H坐标系相对于B坐标系的姿态inoa关节变量末端执行器位置和姿态运动学研究的两个问题Whereismyhand?DirectKinematicsHERE!HowdoIputmyhandhere?InverseKinematics:Choosetheseangles!运动学正问题运动学逆问题轴线平行及相交研究运动学的方法轴线异面轴线平行时采用几何分析方法1955年丹纳维特(Denavit)和哈顿伯格(Hartenberg)提出了一种采用矩阵代数方法解决机器人的运动学问题—D-H方法具有直观的几何意义能表达动力学、计算机视觉和比例变换问题研究运动学的方法数学基础是齐次变换二数学基础—齐次坐标和齐次变换2.1点和面的齐次坐标2.1.1点的齐次坐标用n+1个变量表示n维空间的几何元素。引入齐次坐标的目的是为了表示几何变换的旋转、平移和缩放显然,齐次坐标表达并不是唯一的,随w值的不同而不同。在计算机图学中,w作为通用比例因子,它可取任意正值,但在机器人的运动分析中,总是取w=1。kcjbiav一个点矢:TxyzVw列矩阵式中i,j,k为x,y,z轴上的单位矢量,a=,b=,c=,w为比例系数wxwywz[例1]:kjiV543可以表示为:V=[3451]T或V=[68102]T或V=[-12-16-20-4]T齐次坐标与三维直角坐标的区别V点在ΣOXYZ坐标系中表示是唯一的(a、b、c)而在齐次坐标中表示可以是多值的。不同的表示方法代表的V点在空间位置上不变。xyzzyxV图2-2o几个特定意义的齐次坐标:[000n]T—坐标原点矢量的齐次坐标,n为任意非零比例系数[1000]T—指向无穷远处的OX轴[0100]T—指向无穷远处的OY轴[0010]T—指向无穷远处的OZ轴[0000]T—没有意义2个常用的公式:zzyyxxbabababakbabajbabaibababbbaaakjibaxyyxzxxzyzzyzyxzyx)()()(点乘:叉乘:2.1.2平面的齐次坐标平面齐次坐标由行矩阵P=[abcd]来表示当点v=[xyzw]T处于平面P内时,矩阵乘积PV=0,或记为0dwczbyaxwzyxdcbaPV如果定义一个常数m=,则有:222cba()()xyzabcxaybzcdijkijk可以把矢量解释为某个平面的外法线,此平面沿着法线方向与坐标原点的距离为(-d/m)。)(kmcjmbima点和平面间的位置关系设一个平行于x、y轴,且在z轴上的坐标为单位距离的平面P可以表示为:或有:PV=1100P2200Pv0v0v0点在平面下方点在平面上点在平面上方与点矢相仿,平面也没有意义T00000000例如:点V=[102011]T必定处于此平面内,而点V=[0021]T处于平P的上方,点V=[0001]T处于P平面下方,因为:102000101001101120011000-110001-1002.1.3平移变换1、二维坐标平移变换1111byaxyxabyxy1x1P(x1,y1)oo1沿坐标轴平移(a,b)。P位于O1坐标系中,O为绝对坐标系人(P)坐在汽车里运动11111001110011xxaxyTyby2、三维坐标平移变换1100010001000111111111zyxcbazyxTzyxzyxoo′w′u′v′abcw′v′u′o′沿坐标轴方向平移(a,b,c)车绕盘山公路行驶平移齐次变换矩阵100010TTrans(abc)0010001abc对任意向量u=(x,y,z,w)进行T变换后为:100/010/001/00011axxawxwabyybwywbVTuczzcwzwcww对已知任意向量u=(x,y,z,w)进行T变换实质是将u与平移向量(a,b,c,1)相加2.2旋转矩阵及旋转齐次变换2.2.1旋转矩阵设固定参考坐标系直角坐标为ΣOxyz,动坐标系为ΣO´uvw,研究旋转变换情况。xyzwvuPo(O')图2-3①初始位置时,动静坐标系重合,O、O´重合,如图。各轴对应重合,设P点是动坐标系ΣO´uvw中的一点,且固定不变。则P点在ΣO´uvw中可表示为:wwvvuuuvwkPjPiPP、、为坐标系ΣO´uvw的单位矢量,则P点在Σoxyz中可表示为:uivjwkzzyyxxxyzkPjPiPPxyzuvwPP例:绕坐标轴Z旋转yAxAoA{A}yBxB{B}θpθcossinABBpppxxysincosABBpppyxyABppzz2.2.2三个基本旋转矩阵和合成旋转矩阵sinBpxcosBpy写成矩阵形式00001ABppABppABppxcsxyscyzzcosBpxsinBpy()ABZ图中动坐标系换成uvw00001zwcskksc方向余弦阵xyzouvwU'W'O'v'图2-5由图2-5可知,在x轴上的投影为,在y轴上的投影为,在x轴上的投影为,在y轴上的投影为uicosuisinvjvjuisinuivjcosvj绕Z轴的基本旋转矩阵对x轴投影对y轴投影对z轴投影同理:cos0sin010sin0cos)y,R(1000cossin0sin-cos)z,R(ssin0sincos0001)R(x,co三个基本旋转矩阵:xyzouvwU'W'O'xyzouvwU'V'W'O'总结三个基本旋转矩阵(,)Rz即动坐标系求的旋转矩阵,也就是求出坐标系中各轴单位矢量在固定坐标系中各轴的投影分量,很容易得到在两个坐标系重合时,有:OvwOZ,绕轴转动角,vwO'wvkji,,Oxyz(,)Rz100010001R②当动坐标系ΣO´uvw绕O点回转时,求P点在固定坐标系Σoxyz中的位置yzxo(O')uvwPPwPvPu图2-4已知:P点在ΣO´uvw中是不变的仍然成立,由于ΣO´uvw回转,则:wwvvuuuvwkPjPiPPxwwvvuuxuvwxikPjPiPiP)(PywwvvuuyuvwyjkPjPiPjP)(PzwwvvuuzuvwzkkPjPiPkP)(P用矩阵表示为:wvwzvzzwvyywxvxxzyxPPPkkjkikkjjjijkijiiiPPPy(2-7)uvwxyzwzvzzwvyywxvxxPRpkkjkikkjjjijkijiii:Ry则旋转矩阵为:定义反过来:xyzuvwPRP1RRRdet*1T1RRRdet因此是正交矩阵,的行列式,由于为的伴随矩阵,为RRRR2.2.2旋转齐次变换用齐次坐标变换来表示式(2-7)110000001wvuzyxPPPRPPP1100000011zyxwvuPPPRPPP00001zwcskkscxyzouvwU'W'O'v'图2-5以绕Z轴的基本旋转矩阵为例验证yxxvxwyyvwzzvzwiiijikRjijjjkkikjkk合成旋转矩阵:例1:在动坐标中有一固定点,相对固定参考坐标系做如下运动:①R(x,90°);②R(z,90°);③R(y,90°)。求运动后点在固定参考坐标系下的位置。TuvwPo1321'OxyzuvwPo'Oxyz解1:用画图的简单方法塑料块演示解2:用分步计算的方法①R(x,90°)②R(z,90°)③R(y,90°)123113211000001001-000001'P12131231100001000001001-0''P1312121310000001-00100100'''P(2-14)(2-15)(2-16)上述计算方法非常繁琐,可以通过一系列计算得到上述结果。将式(2-14)(2-15)(2-16)联写为如下形式:33000100011xuyvzwPPPRPPPR4x4为二者之间的关系矩阵,我们令:),(),(),RR33xRzRy(定义1:当动坐标系绕固定坐标系各坐标轴顺序有限次转动时,其合成旋转矩阵为各基本旋转矩阵依旋转顺序左乘。注意:旋转矩阵间不可以交换,平移矩阵间可以交换uvwO'Oxyz2.2.4相对变换举例说明:例1:动坐标系∑0′起始位置与固定参考坐标系∑0重合,动坐标系∑0′做如下运动:①R(Z,90º)②R(y,90º)③Trans(4,-3,7),求合成矩阵解1:用画图的方法:o′zyx74-3ow```u```v```v″u″w″zyxoo(o′)xyzuvwzyxu′w′o(o′)v′解2:用计算的方法根据定义1,我们有:TTrans(4,-3,7)R(Y,90)R(Z,90)(start)0014100301070001以上均以固定坐标系各轴为变换基准,因此矩阵左乘。如果我们做如下变换,也可以得到相同的结果:例2:①先平移Trans(4,-3,7);②绕当前轴转动90º;③绕当前轴转动90º;求合成旋转矩阵。vw(2-20)解1:用画图的方法zyxo(o′)vwuzyxoo′w′u′v′ozyxo′w″v″u″xyzoo′w```u```v```解2:用计算的方法o00141003T()Trans(4,-3,7)R(v,90)R(w,90)01070001ostart(2-21)00141003TTrans(4