1 空间描述和变换
2017-02-13 15:06
162 查看
1 空间描述和变换
空间描述和变换1位置描述
2 姿态描述
3 坐标系的描述
4坐标系的一般映射齐次矩阵变换
5 变换算法
51混合变换
52 逆变换
6变换方程
7 姿态的其他描述方法
71固定角坐标系
72 X-Y-Z欧拉角
73 Z-Y-Z欧拉角
74 等效坐标轴表示法
75 欧拉参数
1.1位置描述
在坐标系{A}中,空间中一个点的位置用一个3×1的矢量描述
AP=⎡⎣⎢pxpypz⎤⎦⎥ (1−1)
1.2 姿态描述
点的位置可以用矢量描述,物体的姿态可以用固定在其上的坐标系描述。描述坐标系{B}的一种方法是用{A}坐标系的三个主轴单位矢量表示。
用XˆB,YˆB,ZˆB来表示{B}主轴方向的单位矢量,当用坐标系{A}的坐标来表达时,被写成AXˆB,AYˆB,AZˆB,{B}相对于{A}的表达为
ABR=[AXˆBAYˆBAZˆB]=⎡⎣⎢r11r21r31r12r22r32r12r23r33⎤⎦⎥ (1−2)
标量rij可用每个矢量在其参考坐标系中单位方向上的投影来表示,投影可通过点积得到,因此
ABR=[AXˆBAYˆBAZˆB]=⎡⎣⎢⎢XˆB⋅XAXˆB⋅YAXˆB⋅ZAYˆB⋅XAYˆB⋅YAYˆB⋅ZAZˆB⋅XAZˆB⋅YAZˆB⋅ZA⎤⎦⎥⎥ (1−3)
上式中矢量的右上标被省略了。实际上,只要点积的对矢量是在同一坐标系中描述,那么坐标系的选择是任意的。观察上式,也可发现矩阵中行向量是单位矢量{A}在{B}中的表达。即
ABR=[AXˆBAYˆBAZˆB]=⎡⎣⎢⎢BXTABYTABZTA⎤⎦⎥⎥ (1−4)
因此,坐标系{A}相对于{B}的描述,可由 ABR转置得到,即
BAR=ABRT (1−5)
这表明旋转矩阵的逆可由它的转置得到,实际上旋转矩阵也是正交矩阵。
1.3 坐标系的描述
在机器人学中,位置和姿态经常成对出现,我们将此组合称作坐标系。因此一个坐标系可等价的用一个位置矢量和一个旋转矩阵来描述,例如{B}=[ABR,AP] (1−6)
1.4坐标系的一般映射:齐次矩阵变换
齐次变换矩阵有三方面的含义:(1)它是坐标系的描述。ABT表示相对于坐标系{A}的坐标系{B}。特别是,ABR 的各列是坐标系{B}主轴方向的单位矢量。 确定了{B}的原点。
(2)它是变换映射。 ABT是映射BP→AP。
(3)它是变换算子。 T将AP1变换为AP2 。
其次变换矩阵是旋转和平移的组合,具体可写成
[AP1]=[ABR0,0,0APBORG1] (1−7)
由此可见,坐标系和变换都可以通过位置矢量和姿态来描述。一般坐标系主要用于描述,而变换用来表示映射或算子。
1.5 变换算法
1.5.1混合变换
AP=ABTBCTCP (1−8)
由此定义
ACT=ABTBCT (1−9)
由变换的定义,可得
ACT=[ABRBCR0,0,0ABRBPCORG+APBORG1] (1−10)
1.5.2 逆变换
通过一般的方法求矩阵的逆可以得到逆变换,但是结合旋转矩阵的性质,可以更简便得到逆变换,编程时分开计算可降低维数,减少求逆的计算时间。BAT=ABT−1=[ABRT0,0,0−ABRTAPBORG1] (1−11)
1.6变换方程
坐标系{D}可以通过两个不同的变换得到
UDT=AUTADT (1−12)UDT=UBTBCTCDT (1−13)
两个表达式构成一个方程
UATADT=UBTBCTCDT (1−14)
如果有n个未知变换和n个变换方程,这个变换可以从变换方程解出。
1.7 姿态的其他描述方法
1.7.1固定角坐标系
首先将坐标系{B}和一个已知的参考坐标系{A}重合,先将{B}绕XˆA轴旋转γ角,再绕YˆA轴旋转β,最后绕ZˆA轴旋转α角。每次旋转都是绕着固定参考坐标系{A}的轴。
把每个旋转看做算子,等价旋转矩阵为
ABRXYZ(γ,β,α)=RZ(α)RY(β)RX(α)=⎡⎣⎢cαsα0−sαcα0001⎤⎦⎥⎡⎣⎢cβ0−sβ010sβ0cβ⎤⎦⎥⎡⎣⎢1000cγsγ0−sγcγ⎤⎦⎥ (1−15)
计算得到
ABRXYZ(γ,β,α)=⎡⎣⎢cαcβsαcβ−sβcαsβsγ−sαcγsαsβsγ+cαcγcβsγcαsβcγ+sαsγsαsβcγ−cαsγcβcγ⎤⎦⎥ (1−16)
1.7.2 X-Y-Z欧拉角
坐标系{B}的描述:
首先将坐标系{B}与一个已知坐标系{A}重合,先将{B}绕ZˆB旋转α角,再将{B}绕YˆB旋转β角,最后将{B}绕XˆB旋转γ角。每次都是绕运行坐标系{B}的各轴旋转。
把每个旋转看成坐标系的描述,可立即写出
ABR=AB′RB′B′′RB′′BR (1−17)
即{B}相对于{A}的最终姿态为
ABRX′Y′Z′(γ,β,α)=RZ(α)RY(β)RX(α)=⎡⎣⎢cαsα0−sαcα0001⎤⎦⎥⎡⎣⎢cβ0−sβ010sβ0cβ⎤⎦⎥⎡⎣⎢1000cγsγ0−sγcγ⎤⎦⎥ (1−18)
计算得到
ABRX′Y′Z′(γ,β,α)=⎡⎣⎢cαcβsαcβ−sβcαsβsγ−sαcγsαsβsγ+cαcγcβsγcαsβcγ+sαsγsαsβcγ−cαsγcβcγ⎤⎦⎥ (1−19)
带有“撇”号表示是由X-Y-Z欧拉角参数化的旋转矩阵。发现和X-Y-Z固定轴旋转矩阵是完全相同的。这两种变换的矩阵一样,因此求解欧拉角的方法一样。由旋转矩阵求欧拉角,设
ABRXYZ(γ,β,α)=⎡⎣⎢cαcβsαcβ−sβcαsβsγ−sαcγsαsβsγ+cαcγcβsγcαsβcγ+sαsγsαsβcγ−cαsγcβcγ⎤⎦⎥=⎡⎣⎢r11r21r31r12r22r32r13r23r33⎤⎦⎥ (1−20)
当cβ≠0(β≠±90∘)时
β=Atan2(−r31,r211+r221−−−−−−−√)α=Atan2(r21/cβ,r11/cβ)γ=Atan2(r32/cβ,r33/cβ) (1−21)
当cβ=0(β=±90∘)时,一般取α=0,结果如下
若β=90∘,
β=90∘α=0∘γ=Atan2(r12,r22) (1−22)
若β=−90∘,
β=−90∘α=0∘γ=−Atan2(r12,r22) (1−23)
1.7.3 Z-Y-Z欧拉角
坐标系{B}的描述: 首先将坐标系{B}与一个已知坐标系{A}重合,先将{B}绕ZˆB旋转α角,再将{B}绕YˆB旋转β角,最后将{B}绕ZˆB旋转γ角。每次都是绕运行坐标系{B}的各轴旋转。
等效旋转矩阵为
ABRZ′Y′Z′(α,β,γ)=⎡⎣⎢cαsβcγ−sαsγsαcβcγ+cαcβsγ−sβcγ−cαcβsγ−sαcγ−sαcβsγ+cαcγsβsγcαsβsαsβcβ⎤⎦⎥ (1−24)
1.7.4 等效坐标轴表示法
坐标系{B}的描述: 首先将坐标系{B}与一个已知的参考坐标系{A}重合,将{B}绕矢量AKˆ 按右手定则旋转θ角。
则{B}相对于{A}的姿态可用ABR(Kˆ,θ)或ABRK(θ)表示,称作等效轴角坐标表示法。如下图所示
1.7.5 欧拉参数
另一种姿态表示法通过四个数值来表示,称为欧拉参数法。根据等效旋转轴和等效旋转角,可以得到欧拉参数如下ε1=kxsinθ2ε2=kysinθ2ε3=kzsinθ2ε4=cosθ2 (1−25)
这四个参数不是相互独立的
ε1+ε2+ε3+ε4=1 (1−26)
使用欧拉参数表示的旋转矩阵Re为
Re=⎡⎣⎢⎢1−2ε22−2ε232(ε1ε2−ε3ε4)2(ε1ε3+ε2ε4)2(ε1ε2−ε3ε4)1−2ε21−2ε232(ε2ε3+ε1ε4)2(ε1ε3+ε2ε4)2(ε2ε3+ε1ε4)1−2ε21−2ε22⎤⎦⎥⎥ (1−27)
已知一个矩阵,得到对应的欧拉参数为
ε1=r32−r234ε4ε2=r13−r314ε4ε3=r21−r124ε4ε4=121+r11+r22+r33−−−−−−−−−−−−−−√ (1−28)
相关文章推荐
- 第七课 ROS的空间描述和变换
- 第八课 ROS的空间描述和变换
- 【机器人】空间描述和变换:平移、旋转、变换(算子)
- 机器人学导论(一)——空间描述和变换
- 第六课 ROS的空间描述和变换
- 《ROS精品入门》学习笔记四:ROS中的空间描述与变换
- 错误:"无法从命名空间绑定的导入"错误消息出现,当您试图通过使用 Web 服务描述语言工具创建 XML Web 服务代理文件时
- 《数字图像处理》冈萨雷斯学习笔记2:亮度变换与空间滤波
- OpenGL空间(坐标系)变换
- 图像处理 灰度变换与空间滤波
- ArcXML——基于INTERNET的空间数据描述语言
- 数字图像处理——灰度变换与空间滤波(使用MFC)
- 3D游戏基础 空间几何(三) 变换、平面、射线
- OpenGL中的空间变换
- ArcXML——基于INTERNET的空间数据描述语言
- 数字图像处理--空间变换
- ASP.NET常见命名空间及其功能描述
- RGB色彩变换到Lab空间代码
- 问题描述:一个长度为2n的(整型)数组元素为 a1 a2 ... an b1 b2 ... bn 要求: 用O(1)的空间代价, 在O(n)时间内把数组变成 a1 b1 a2 b2 a3 b3 ... an bn
- 车道线检测---色彩空间变换