您的位置:首页 > 其它

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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息