任务3 坐标变换
一、任务导入
空间中的任一点P在不同坐标系中的描述是不一样的。为了阐明从一个坐标系到另一个坐标系的描述关系,需要讨论这种变换的数学问题。
当空间中的坐标系(向量、物体或运动坐标系等)相对于固定的参考坐标系产生运动时,这一运动可以用类似于表示坐标系的方式来表示。这是因为变换本身就是坐标系状态的变化(表示坐标系位姿的变化)。坐标变换可以为如下几种形式:
①平移坐标变换;
②旋转坐标变换;
③平移与旋转的组合。
平移坐标变换
二、平移坐标变换
如图2-18所示,设有一个固定的坐标系{A}和一个动直角坐标系{B}具有相同的姿态,但{A}系与{B}系的原点不重合,用位置向量来描述{B}系相对于{A}系的位置,称为{B}系相对{A}系的平移向量。且
(2-41)
其中,dx为平移向量相对于固定坐标系{A}的X轴分量;dy为平移向量相对于固定坐标系{A}的Y轴分量;dz为平移向量相对于固定坐标系{A}的Z轴分量。如果点P在{B}系中的位置是,那么相对于{A}系的位置向量可由向量的相加得出,即
=+(2-42)
上式称为坐标平移方程。
例2-10 如图2-19所示已知坐标系{B}的初始位置与{A}重合,将坐标系{B}相对于坐标系{A}的XA轴移动12个单位,并沿YA轴移动6个单位。求位置矢量。若点P在坐标系{A}中的描述为,求点P在坐标系{B}中的描述BP。试绘制两个坐标系的关系。
图2-18 坐标系平移
图2-19 例2-10
解:首先,确定位置向量APB
然后,由AP=BP+APB,可知BP=AP-APB。
旋转坐标变换
三、旋转坐标变换
如图2-20所示,设坐标系{B}与{A}有共同的原点,但是{A}系和{B}系姿态不同,用旋转矩阵来描述{B}系相对于{A}系的姿态。同一点P在两个坐标系{A}和{B}中的描述AP和BP可由向量的相乘得出,即
(2-43)
上式称为坐标旋转方程。
例2-11 如图2-21所示,已知坐标系{B}的初始位置与{A}重合,将坐标系{B}相对于坐标系{A}的XA轴旋转30°。求旋转矩阵。若点P在坐标系{B}中的描述为,求点P在坐标系{A}中的描述AP。试绘制两个坐标系的关系。
图2-20 坐标系旋转图
2-21 例2-11
解:首先,确定旋转矩阵,由于是相对于XA轴旋转30°,所以选择下式:
然后,由,可知:
相同的,也可以用来描述{A}系相对于{B}系的姿态。和都为正交矩阵,两者互逆。所以:
(2-44)
四、复合坐标变换
复合坐标变换
在实际应用中,机器人的运动往往比较复杂,不仅仅是单纯的平移或是旋转,而是平移和旋转组合变换,如图2-22所示。也就是说,坐标系{A}的原点和坐标系{B}的原点不重合,且{A}系和{B}系的姿态也不同。在描述时,用位置向量APB表示{B}系的坐标原点相对于{A}系的位置,并且用旋转矩阵ABR描述{B}系相对于{A}系的姿态。对于任一点P在两个坐标系中的描述,{A}系和{B}系中的描述AP和BP ,都有以下变换关系:
(2-45)
可把上式看成坐标旋转和坐标平移的复合变换。实际上,为了方便理解,还可以设定一个过渡坐标系{C},使{C}系坐标原点和{B}系坐标原点重合,同时,{C}系的姿态与{A}系相同。按照坐标旋转方程,可知过渡坐标系的变换:
(2-46)
再由坐标平移方程,可知:
(2-47)
例2-12 如图2-23所示,已知坐标系{B}的初始位置与{A}重合,先将坐标系{B}相对于坐标系{A}的XA轴旋转30°,再将坐标系{B}相对于坐标系{A}的XA轴移动12个单位,并沿YA轴移动6个单位,求旋转矩阵。若点P在坐标系{B}中的描述为,求点P在坐标系{A}中的描述AP。试绘制两个坐标系的关系。
图2-22 坐标系平移旋转
图2-23 例2-12
解:首先,确定位置向量APB
然后,确定旋转矩阵:
由式(2-45)可知,可知:
五、齐次坐标变换
由于各种原因,变换矩阵应写成方阵形式,3×3或4×4均可。在接下来的学习中,计算方形矩阵的逆要比计算长方形矩阵的逆容易得多。而且,为了使两个矩阵相乘,它们的维数必须匹配,即第一矩阵的列数必须与第二矩阵的行数相同,如(m×n)矩阵和(n×p)矩阵相乘会得到矩阵为(m×p)。
为了保证所表示的矩阵为方阵,如果在一个矩阵中既要表示位置又要表示姿态,那么可以在矩阵中加入比例因子使之成为4×4矩阵。如果只表示姿态,则可去掉位置向量,成为3×3的矩阵,如果同时要表示位置和姿态,就可以加入比例因子。
比如:是非齐次的坐标,但是可以将其表示成等价的齐次变换形式:
(2-48)
其中,和列向量表示三维空间的点,称为齐次坐标,但是仍然记为AP和BP。故上式可以写成以下形式:
(2-49)
其中,AP和BP是4×1的列向量,与之前所学习的空间点的表示相比,加入了第四个元素1。式中是4×4的矩阵,可以表述为:
(2-50)
实质上,齐次变换式可以写成两个部分:
;1=0+1
例2-13 已知坐标系{B}相对于坐标系{A}的旋转矩阵为,且位置向量为。请写出坐标系{B}相对于坐标系{A}位姿的齐次坐标描述。
解:首先,由可以等价齐次变换为
其中,。
可知,坐标系{B}中的点P在坐标系{A}中可以表示为:
六、平移齐次坐标变换
若空间中某点由向量ai+bj+ck描述。其中,i,j,k为轴x,y,z上的单位向量。这个点可以用平移齐次坐标变换表示:
(2-51)
式中,Trans代表平移变换。
已知向量,对u列向量进行平移变换所得的向量v为
(2-52)
例2-14 已知向量u=2i+3j+2k被向量4i-3j+7k平移变换,求出新的向量v。
解:首先
例2-15 已知坐标系{B}的初始位置与{A}重合,将坐标系{B}相对于坐标系{A}的XA轴移动10个单位,并沿YA轴移动3个单位。求位置矢量。若点P在坐标系{B}中的描述为,求点P在坐标系{A}中的描述AP。
解:首先,得到新的坐标系{B}的原点在坐标系{A}中的向量表示:
然后,列出平移齐次坐标变换矩阵:
点P在坐标系{B}中的向量表示为
则点P在坐标系{A}中的向量表示为
七、旋转齐次坐标变换
对应于轴X,Y,Z作转角为θ的旋转变换,分别可以用下列式子来描述:
(2-53)
式中,Rob表示旋转变换。
例2-16 已知向量u=7i+3j+2k,对它分别进行绕轴Z旋转90°和绕Y轴旋转90°的变换后。求出新的向量vZ和vY。
解:
例2-17 如例2-11所示,已知坐标系{B}的初始位置与{A}重合,先将坐标系{B}相对于坐标系{A}的XA轴旋转30°,再将坐标系{B}相对于坐标系{A}的XA轴移动12个单位,并沿YA轴移动6个单位,求旋转矩阵。若点P在坐标系{B}中的描述为,求点P在坐标系{A}中的描述AP。(用齐次坐标解决)
解:
所以,