3.机器人运动学ENTER3.1机器人正运动学方程3.2机器人逆运动学方程本章主要内容运动学研究的问题:手在空间的运动与各个关节的运动之间的关系。3.1机器人正运动学方程•定义:–描述机器人手部在空间相对于绝对坐标系或机座坐标系的位置及姿态的数学表达式•运动学方程的模型:••M——机器人手在空间的位姿•qi——机器人各个关节变量()ifqM已知杆件几何参数和关节角矢量求机器人末端相对于参考坐标系的位置和姿态3.1机器人正运动学方程3.1机器人正运动学方程•连杆描述•连杆连接的描述•对连杆附加坐标系的规定•操作臂运动学•PUMA560运动学方程机器人的各连杆通过关节连接在一起,关节有移动副与转动副两种。关节和连杆的编号:机座称杆件0,…机座与杆件1的关节编号—关节1,类推之.关节编号3.1.1连杆描述描述一个连杆的两个参数:1.Linklength连杆长度ai-1关节轴i-1和关节轴i之间的公垂线的长度ai-1假设条件把连杆看作是一个刚体2.Linktwist连杆转角αi-1假设作一个平面,并使该平面与两关节轴之间的公垂线垂直,然后把关节轴i-1和关节轴i投影到该平面上,在平面内轴i-1按照右手法则转向轴i,测量两轴角之间的夹角为αi-1.3.1.1连杆描述•下图中的连杆长度和连杆转角?3.1.2连杆连接的描述描述连杆连接的两个参数:1)linkoffset连杆偏距di.相邻两个连杆之间有一个公共的关节,沿着两个相邻连杆公共法线线的距离可以用一个参数描述为连杆偏距di.当i为移动关节时,连杆偏距为一变量.(1)连杆中的中间连杆2)jointangle关节角θi.描述两个相邻连杆绕公共轴线旋转的夹角θi.当i为转动关节时,关节角为一变量.3.1.2连杆连接的描述(2)连杆中的首尾连杆•对于运动链中的末端连杆,其参数习惯设为0,即•从关节2到关节n的连杆偏距di和关节角θi.是根据前面的规定进行定义.•关节1(或n)如果为转动关节,则θ1的零位可以任意选取,规定d1=0.0,•关节1(或n)如果为移动关节,则d1的零位可以任意选取,规定θ1=0.0;000.0,0.0nnaa3.1.2连杆连接的描述(3)连杆参数•对于转动关节,θi为关节变量,其他三个参数固定不变;•对于移动关节,di为关节变量,其他三个参数固定不变;•这种用连杆参数描述机构运动关系的方法称为Denavit-Hartenberg法,•对于一个6关节机器人,需要用18个参数就可以完全描述这些固定的运动学参数,可用6组(ai-1,αi-1,di)表示,用6个关节变量θi描述运动学中的变化部分。3.1.3连杆附加坐标系的规定为了描述每个连杆和相邻连杆之间的相对位置关系,需要在每个连杆上定义一个固连坐标系.11iiixzz(1)连杆中的中间连杆规定:•坐标系{i-1}的Z轴称为Zi-1,与关节轴i-1重合;•坐标系{i-1}的原点位于公垂线ai-1与关节轴i-1的交点处.•Xi-1轴沿ai-1方向由关节i-1指向关节i•(若:ai-1=0,则Xi-1垂直于Zi-1和Zi所在的平面;•Yi-1轴由右手定则确定Yi-1=Zi-1×Xi-13.1.3连杆附加坐标系的规定•坐标系{0}通常规定:–Z0轴沿着关节轴1的方向,当坐标系1的关节变量为0时,设定参考坐标系{0}与{1}重合.且a0=0,α0=0,当关节1为转动关节,d1=0;当关节1为移动关节,θ1=0.•坐标系{n}通常规定:–对于转动关节n,设定θn=0.0,此时Xn和Xn-1轴的方向相同,选取坐标系{n}的原点位置,使之满足dn=0;–对于移动关节n,设定Xn轴的方向使之满足θn=0.0,当dn=0时,选取坐标系{n}的原点位于Xn-1轴与关节轴n的交点位置.(2)连杆中的首尾连杆3.1.3连杆附加坐标系的规定(3)在连杆坐标系中对连杆参数的归纳αi-111111111,,,;,;iiiiiiiiiiiiiiiiXZZXZZdZXXZXaX沿轴从到的距离;绕轴从到的角度;沿轴从到的距离绕轴从旋转到的角度•通常规定,其余可正可负.按照上述规定的坐标系不是唯一的;•Zi的指向有两种选择;•如果关节轴相交,Xi轴的指向也有两种选择.•当相邻两轴平行时,坐标系原点可以任意选择.•当关节为移动关节时,坐标系的选取具有一定任意性.10ia3.1.3连杆附加坐标系的规定确定关节轴,并画出轴的延长线。找出关节轴i-1和i的公垂线或交点,作为坐标系i-1的原点。规定Zi-1的指向是沿着第i-1个关节轴。规定Xi-1轴得指向是沿着轴i-1和i的公垂线的方向,如果关节轴i-1和i相交,则Xi-1轴垂直于关节轴i-1和i所在的平面。Yi-1轴的方向由右手定则确定Yi-1=Zi-1×Xi-1。当第一个关节变量为0时,规定坐标系{0}和{1}重合,对于坐标系{N},尽量选择坐标系使得连杆参数为0.(4)建立连杆坐标系的步骤αi-13.1.3连杆附加坐标系的规定【例题1】iai-1αi-1diθi1000θ12L100θ23L200θ311111111,,,;,;iiiiiiiiiiiiiiiiXZZXZZdZXXZXaX沿轴从到的距离;绕轴从到的角度;沿轴从到的距离绕轴从旋转到的角度3.1.3连杆附加坐标系的规定【例题2】iai-1αi-1diθi1000θ12090°d20300L2θ33.1.4操作臂运动学方程目的:求出相邻连杆间的坐标变换的形式,进一步求出连杆n相对于连杆0的位置和姿态。(1)推导过程:1.坐标系{i-1}相对于坐标系{i}的变换是由连杆四个参数构成的函数,其中只有一个变量。2.为求解,对每个连杆建立坐标系,分解成4个变换子问题,每个子变换只包含一个连杆参数。3.定义三个中间坐标系{R}{Q}{P}:坐标系{R}是由坐标系{i-1}绕Xi-1轴偏转αi-1得到;坐标系{Q}是由坐标系{R}沿着Xi-1轴平移ai-1得到;坐标系{P}是由坐标系{Q}绕Zi轴旋转Θi得到;坐标系{i}是由坐标系{P}沿着Zi轴平移di得到。Tii1Tii1{R}{Q}{P}3.1.4操作臂运动学方程•最后,得到相邻连杆的一般变换为:(相对于运动坐标系,算子右乘)1111111111111(,)(,)(,)(,)00001iiiiiiiiiiiiiiiiiiiiiiiiiRotxTransxaRotzTranszdcsascccsdssscscdcTT3.定义三个中间坐标系{R}{Q}{P}:坐标系{R}是由坐标系{i-1}绕Xi-1轴偏转αi-1得到;坐标系{Q}是由坐标系{R}沿着Xi-1轴平移ai-1得到;坐标系{P}是由坐标系{Q}绕Zi轴旋转Θi得到;坐标系{i}是由坐标系{P}沿着Zi轴平移di得到。3.1.4操作臂运动学方程111111111111(,)(,)(,)(,)(,,)(,,)(,,)TTPTTTTPPTPTTTTTiiiRQPiRQPiiiiiiRQPRQPiiiiiiiiiiiiiiRotxTransxaRotzTranszdScrewxaScrewzdScrewkrkrk代表沿着轴平移,再绕轴旋转的组合变换。化简:这里:根据变换过程:即:变换矩阵:Tii1{R}{Q}{P}3.1.4操作臂运动学方程(2)连续连杆变换定义了连杆坐标系和相应得连杆参数,就能建立运动学方程,坐标系{N}相对于坐标系{0}的变换矩阵为:00121123NNNTTTTT变换矩阵是关于n个关节变量的函数,这些变量可以通过放置在关节上的传感器测得,则机器人末端连杆在基坐标系(笛卡尔坐标系)中的位置和姿态就能描述出来。0NT0011121122000(,,,)()()()0001NNNNNNNqqqqqqTTTTRP3.1.5PUMA560型机器人运动学方程3.1.5PUMA560型机器人运动学方程3.1.5PUMA560型机器人运动学方程•1.确定D-H坐标系•2.确定各连杆D-H参数和关节变量αi-1=沿Xi-1轴,从Zi-1到Zi的距离;ai-1=绕Xi-1轴,从Zi-1到Zi的角度;di=沿Zi轴,从Xi-1到Xi的距离;θi=绕Zi轴,从Xi-1旋转到Xi的角度;iαi-1ai-1diθi100°0θ1(90°)20-90°d2θ2(0°)3α20°0θ3(-90°)4α3-90°d4θ4(0°)5090°0θ5(0°)60-90°0θ6(0°)•3.求出两杆间的位姿矩阵111111111100001iiiiiiiiiiiiiiiiiiicsascccsdssscscdcT3.1.5PUMA560型机器人运动学方程1122112011222000000001,00100000010001cscsscdTTsc3324433342334440000001,00100000010001csacsascdTTsc556645565566000000100010,000000010001cscsTTscsc不同的坐标系下D-H矩阵是不同的,关键是约定!!3.1.5PUMA560型机器人运动学方程•4.求末杆的位姿矩阵55565666445656656500000001cccssscTTTscscc545646456464333456565464645646456464500001cccssccssccsasssscdTTTscccsscsccss2323222112323232322000100001csacdTTTscas3.1.5PUMA560型机器人运动学方程1111111111363611110001xxxxyyyyzzzznoapnoapTTTnoap123456462356145646123456462356123456462356145646123456462356()()()()xyzxyznccccsssscnscccsnscccsscscocccsscsssoscsccosccssccss123452351451234523512232342312132322423xyzxyzaccsscassascsccpacacdspdpasasdc3.1.5PUMA560型机器人运动学方程0016160001xxxxyyyyzzzznoapnoapTTTnoap1234564623561456461234564623561456462345646235612345646235614564612345646235[()]()[()]()()[()]()[()xyzxyncccccsssscsscccsnsccccssssccscccsnscccsscscoccccsscssssscsccoscccsscsss614564623456462356]()()zcscsccosccssccss12345235145123452351452345235122323423211223234232132322423()()[][]xyzxyz