欧拉角速度推导与不建议使用欧拉角的原因

摘要 欧拉角速度指欧拉角对时间的微分与角速度的关系,用于刚体姿态运动学建模,本文从一种复杂但严谨(应该)的角度推导这一关系,并解释为什么不建议使用欧拉角来描述姿态。

欧拉角微分方程
w ⃗ = [ 1 0 − sin ⁡ θ 0 cos ⁡ ϕ sin ⁡ ϕ cos ⁡ θ 0 − sin ⁡ ϕ cos ⁡ ϕ cos ⁡ θ ] [ ϕ ˙ θ ˙ ψ ˙ ] = [ ϕ ˙ − sin ⁡ θ ψ ˙ cos ⁡ ϕ θ ˙ + sin ⁡ ϕ cos ⁡ θ ψ ˙ − sin ⁡ ϕ θ ˙ + cos ⁡ ϕ cos ⁡ θ ψ ˙ ] [ ϕ ˙ θ ˙ ψ ˙ ] = [ 1 sin ⁡ ϕ tan ⁡ θ cos ⁡ ϕ tan ⁡ θ 0 cos ⁡ ϕ − sin ⁡ ϕ 0 sin ⁡ ϕ cos ⁡ θ cos ⁡ ϕ cos ⁡ θ ] w ⃗ \vec w = \begin{bmatrix} 1&0&-\sin\theta\\ 0&\cos\phi&\sin\phi\cos\theta\\ 0&-\sin\phi&\cos\phi\cos\theta \end{bmatrix} \begin{bmatrix} \dot{\phi} \\ \dot{\theta} \\ \dot{\psi} \end{bmatrix} =\begin{bmatrix} \dot{\phi}-\sin\theta\dot{\psi} \\ \cos\phi\dot{\theta}+\sin\phi\cos\theta\dot{\psi} \\ -\sin\phi\dot{\theta}+\cos\phi\cos\theta\dot{\psi} \end{bmatrix} \\ \begin{bmatrix} \dot{\phi} \\ \dot{\theta} \\ \dot{\psi} \end{bmatrix} = \begin{bmatrix} 1&\sin\phi\tan\theta&\cos\phi\tan\theta\\ 0&\cos\phi&-\sin\phi\\ 0&\frac{\sin\phi}{\cos\theta}&\frac{\cos\phi}{\cos\theta} \end{bmatrix}\vec w w = 1000cosϕsinϕsinθsinϕcosθcosϕcosθ ϕ˙θ˙ψ˙ = ϕ˙sinθψ˙cosϕθ˙+sinϕcosθψ˙sinϕθ˙+cosϕcosθψ˙ ϕ˙θ˙ψ˙ = 100sinϕtanθcosϕcosθsinϕcosϕtanθsinϕcosθcosϕ w
其中 ϕ , θ , ψ \phi,\theta,\psi ϕ,θ,ψ 分别为横滚角、俯仰角、偏航角。

欧拉角微分方程推导

  推导欧拉角微分方程有3种方法。第一种方法比较简单,好多教材里也都这么解释,可以参考
欧拉角导数和角速度之间的转换关系推导 -优快云博客
另外两种方法用的都是根据旋转矩阵微分方程和旋转矩阵与欧拉角的关系来推导,可以参考
Angular Velocity expressed via Euler Angles -Physics Stack Exchange
【刚体运动】欧拉角时间导数与角速度 -知乎
  下面写一下我对第一种方法的理解。把世界系和本体系分别记作 I , B I,B I,B,世界系 I I I绕Z轴旋转 ψ \psi ψ 角后的坐标系记作 Z Z Z Z Z Z系绕Y轴旋转 θ \theta θ 角后的坐标系记作 Y Y Y。从一个坐标系 A A A到另一个坐标系 B B B的旋转矩阵记作 R B A R_{BA} RBA,即 v B = R B A v A , v A = R A B v B v^B=R_{BA}v^A,v^A=R_{AB}v^B vB=RBAvA,vA=RABvB A A A系与 B B B系之间的角速度向量记作 w A B w_{AB} wAB,并且角速度向量在两系下的坐标是一样的(有人不理解为什么一样的话我再补充)。首先可以直观地得到
w Z I Z = w Z I I = [ 0 0 ψ ˙ ] T w Y Z Y = w Y Z Z = [ 0 θ ˙ 0 ] T w B Y B = w B Y Y = [ ϕ ˙ 0 0 ] T w_{ZI}^Z=w_{ZI}^I=[0 \quad 0 \quad \dot\psi]^\text T \\ w_{YZ}^Y=w_{YZ}^Z=[0 \quad \dot\theta \quad 0]^\text T \\ w_{BY}^B=w_{BY}^Y=[\dot\phi \quad 0 \quad 0]^\text T \\ wZIZ=wZII=[00ψ˙]TwYZY=wYZZ=[0θ˙0]TwBYB=wBYY=[ϕ˙00]T
三次旋转的旋转矩阵分别为
R Z I = R z ( − ψ ) ,   R Y Z = R y ( − θ ) ,   R B Y = R x ( − ϕ ) R_{ZI}=R_z(-\psi),\ R_{YZ}=R_y(-\theta),\ R_{BY}=R_x(-\phi) RZI=Rz(ψ), RYZ=Ry(θ), RBY=Rx(ϕ)
于是
w Z I B = R B Y R Y Z w Z I Z w Y Z B = R B Y w Y Z Y w B I B = w B Y B + w Y Z B + w Z I B = [ ϕ ˙ 0 0 ] + R x ( − ϕ ) [ 0 θ ˙ 0 ] + R x ( − ϕ ) R y ( − θ ) [ 0 0 ψ ˙ ] = [ 1 0 0 0 cos ⁡ ϕ sin ⁡ ϕ 0 − sin ⁡ ϕ cos ⁡ ϕ ] ( [ ϕ ˙ 0 0 ] + [ cos ⁡ θ 0 − sin ⁡ θ 0 1 0 sin ⁡ θ 0 cos ⁡ θ ] [ 0 θ ˙ ψ ˙ ] ) = [ 1 0 0 0 cos ⁡ ϕ sin ⁡ ϕ 0 − sin ⁡ ϕ cos ⁡ ϕ ] [ ϕ ˙ − sin ⁡ θ ψ ˙ θ ˙ cos ⁡ θ ψ ˙ ] = [ ϕ ˙ − sin ⁡ θ ψ ˙ cos ⁡ ϕ θ ˙ + sin ⁡ ϕ cos ⁡ θ ψ ˙ − sin ⁡ ϕ θ ˙ + cos ⁡ ϕ cos ⁡ θ ψ ˙ ] = R x ( − ϕ ) ( [ ϕ ˙ 0 0 ] + R y ( − θ ) ( [ 0 θ ˙ 0 ] + R z ( − ψ ) [ 0 0 ψ ˙ ] ) ) \begin{aligned} w_{ZI}^B =& R_{BY}R_{YZ}w_{ZI}^Z \\ w_{YZ}^B =& R_{BY}w_{YZ}^Y \\ w_{BI}^B =& w_{BY}^B+w_{YZ}^B+w_{ZI}^B \\ =& \begin{bmatrix} \dot{\phi} \\ 0 \\ 0 \end{bmatrix} +R_x(-\phi) \begin{bmatrix} 0 \\ \dot{\theta} \\ 0 \end{bmatrix} +R_x(-\phi)R_y(-\theta) \begin{bmatrix} 0 \\ 0 \\ \dot{\psi} \end{bmatrix} \\ =& \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos\phi & \sin\phi \\ 0 & -\sin\phi & \cos\phi \end{bmatrix}\left( \begin{bmatrix} \dot{\phi} \\ 0 \\ 0 \end{bmatrix}+\begin{bmatrix} \cos\theta & 0 & -\sin\theta \\ 0 & 1 & 0 \\ \sin\theta & 0 & \cos\theta \end{bmatrix}\begin{bmatrix} 0 \\ \dot{\theta} \\ \dot{\psi} \end{bmatrix}\right) \\ =& \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos\phi & \sin\phi \\ 0 & -\sin\phi & \cos\phi \end{bmatrix}\begin{bmatrix} \dot{\phi}-\sin\theta\dot{\psi} \\ \dot{\theta} \\ \cos\theta\dot{\psi} \end{bmatrix} \\ =& \begin{bmatrix} \dot{\phi}-\sin\theta\dot{\psi} \\ \cos\phi\dot{\theta}+\sin\phi\cos\theta\dot{\psi} \\ -\sin\phi\dot{\theta}+\cos\phi\cos\theta\dot{\psi} \end{bmatrix} \\ =& R_x(-\phi)\left( \begin{bmatrix} \dot{\phi} \\ 0 \\ 0 \end{bmatrix}+R_y(-\theta)\left( \begin{bmatrix} 0 \\ \dot{\theta} \\ 0 \end{bmatrix}+R_z(-\psi)\begin{bmatrix} 0 \\ 0 \\ \dot{\psi} \end{bmatrix}\right)\right) \\ \end{aligned} wZIB=wYZB=wBIB======RBYRYZwZIZRBYwYZYwBYB+wYZB+wZIB ϕ˙

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值