赞
踩
对于在三维空间里的一个参考系,任何坐标系的取向,都可以用三个欧拉角来表现。参考系又称为实验室参考系,是静止不动的,而坐标系则固定于刚体,随着刚体的旋转而旋转。
以下规定:XYZ坐标轴是旋转的刚体坐标轴;而xyz坐标轴是静止不动的实验室参考轴。
参考下图,坐标系XYZ原与参考系xyz重合,旋转后,称xy平面与XY平面的交线为交点线,用英文字母N代表。zXZ顺规的欧拉角可以静态地定义如下:
右图用动画描述了旋转的过程:即第一绕z轴旋转α,第二绕交点线(即X轴旋转后的轴)旋转β,第三绕Z轴旋转γ.
因此,此过程可分解为三个基本的旋转,从左到右依次代表绕着z轴的旋转、绕着交点线的旋转、绕着Z轴的旋转。即其旋转矩阵为
R
=
R
Z
(
α
)
R
X
(
β
)
R
z
(
γ
)
=
[
c
o
s
α
−
s
i
n
α
0
s
i
n
α
c
o
s
α
0
0
0
1
]
[
1
0
0
0
c
o
s
β
−
s
i
n
β
0
s
i
n
β
c
o
s
β
]
[
c
o
s
γ
−
s
i
n
γ
0
s
i
n
γ
c
o
s
γ
0
0
0
1
]
=
R
z
−
1
(
γ
)
R
X
−
1
(
β
)
R
Z
−
1
(
α
)
=
[
c
o
s
γ
s
i
n
γ
0
−
s
i
n
γ
c
o
s
γ
0
0
0
1
]
[
1
0
0
0
c
o
s
β
s
i
n
β
0
−
s
i
n
β
c
o
s
β
]
[
c
o
s
α
s
i
n
α
0
−
s
i
n
α
c
o
s
α
0
0
0
1
]
R=R_Z(α)R_X(β)R_z(γ)= \left[
合法的欧拉角组中,唯一的限制是,任何两个连续的旋转,必须绕着不同的转动轴旋转。因此,一共有12种顺规,分别被划分为两类:
可以看出两者的区别是:经典欧拉角的第一个旋转角度和第三个旋转角度都是围绕同一个轴的(例如z-x-z,或者 z-x’-z’‘),而Tait-Bryan角使用三个轴上的旋转角度去表示(例如 x-y-z或者x-y’-z’‘)。
泰特-布莱恩角(Tait–Bryan angles)又常称为:yaw(偏航,绕z旋转)-pitch(俯仰,绕y’旋转)-roll(翻滚,绕x’'旋转)
同样的一个旋转,按旋转的坐标系又可分为内旋和外旋:
定义A:内旋,绕着XYZ坐标轴旋转,旋转轴是动态的:最初,两个坐标系统xyz与XYZ的坐标轴是重合的。开始先绕着Z轴旋转α角值。然后,绕着X轴旋转β角值。最后,绕着Z轴作角值γ的旋转。上面动态图表示的就是这个内旋过程。实际上,内旋就是以上的欧拉角静态定义
内旋的旋转矩阵:
R
=
R
Z
(
α
)
R
X
(
β
)
R
Z
(
γ
)
R=R_Z(α)R_X(β)R_Z(γ)
R=RZ(α)RX(β)RZ(γ)
内旋按顺序右乘。
定义B:外旋,绕着xyz坐标轴旋转,旋转轴始终不变:最初,两个坐标系统xyz与XYZ的坐标轴是重合的。开始先绕着z轴旋转γ角值。然后,绕着x轴旋转 β角值。最后,绕着z轴作角值α的旋转。
外旋的旋转矩阵:
R
=
R
z
(
α
)
R
x
(
β
)
R
z
(
γ
)
R=R_z(α)R_x(β)R_z(γ)
R=Rz(α)Rx(β)Rz(γ)
外旋按顺序左乘。
可以证明,以上定义A和定义B两者是等效的。
(原证明方法存在疑义,已移除,谢谢热心读者指点)。
万向锁(Gimbal lock)是在使用动态欧拉角表示三维物体的旋转时出现的问题。一旦选择±90°作为pitch角,就会导致第一次旋转和第三次旋转等价,整个旋转表示系统被限制在只能绕竖直轴旋转,丢失了一个表示维度。
https://blog.csdn.net/qq_38288618/article/details/77195271
https://blog.csdn.net/qq_21834027/article/details/85144454
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。