刚体转动的姿态动力学与姿态运动学

刚体转动的姿态动力学与姿态运动学

以下是常用公式及其简单描述,这些内容在航天器控制、导航等方面是通用的。从教材上摘录整理下来的,仅供大家参考,如果要学习详细内容建议翻教材。如有错误,欢迎指出。

1. 姿态动力学

  • 描述角速度变化率与所受到的力矩之间的关系,由这些式子无法求出姿态角,只能推出角速度变化
  • 所有变量代表本体系 b b b相对惯性系 i i i在惯性系 b b b下的表达[3] page.23,如角速度 w ≡ w i b b w\equiv w_{ib}^b wwibb

角动量定义为 h = J ω \mathbf h=J\mathbf \omega h=Jω,角动量定理为
d h d t = ∂ h ∂ t + ω × h = J ˙ ω + J ω ˙ + ω × ( J ω ) = M \frac{\mathrm d\mathbf h}{\mathrm dt}=\frac{\mathrm\partial\mathbf h}{\mathrm\partial t}+\mathbf\omega\times \mathbf h =\dot J\omega+J\dot\omega+\omega\times(J\omega)=\mathbf M dtdh=th+ω×h=J˙ω+Jω˙+ω×(Jω)=M
如果不考虑对象转动惯量的变化,然后利用叉乘的法则也可以写作
J ω ˙ − h × ω = M J\dot\omega-\mathbf h\times\omega=\mathbf M Jω˙h×ω=M
力矩表示的是刚体到的力矩在本体系下的表达,即 M b b M_b^b Mbb。将角速度代入 ω = [ ω x , ω y , ω z ] T \omega=[\omega_x,\omega_y,\omega_z]^{\mathrm T} ω=[ωx,ωy,ωz]T
{ h ˙ x + h z w y − h y w z = M x h ˙ y + h x w z − h z w x = M y h ˙ z + h y w x − h x w y = M z \left\{\begin{matrix} \dot h_x+h_zw_y-h_yw_z=M_x\\ \dot h_y+h_xw_z-h_zw_x=M_y\\ \dot h_z+h_yw_x-h_xw_y=M_z \end{matrix}\right. h˙x+hzwyhywz=Mxh˙y+hxwzhzwx=Myh˙z+hywxhxwy=Mz
当三轴为惯量主轴时,转动惯量为对角阵 J = d i a g [ J x , J y , J z ] J=diag[J_x,J_y,J_z] J=diag[Jx,Jy,Jz],则
{ J x w ˙ x + ( J z − J y ) w z w y = M x J y w ˙ y + ( J x − J z ) w x w z = M y J z w ˙ z + ( J y − J x ) w x w y = M z \left\{\begin{matrix} J_x\dot w_x+ (J_z-J_y)w_zw_y=M_x\\ J_y\dot w_y+ (J_x-J_z)w_xw_z=M_y\\ J_z\dot w_z+ (J_y-J_x)w_xw_y=M_z \end{matrix}\right. Jxw˙x+(JzJy)wzwy=MxJyw˙y+(JxJz)wxwz=MyJzw˙z+(JyJx)wxwy=Mz

2. 姿态运动学

  • 体现姿态与角速度之间的关系
  • 按照四元数形式描述,四元数描述的是本体系 b b b相对于惯性系 i i i的姿态,也就是从惯性系 i i i旋转到本体系 b b b所需要的姿态 q i b q_{ib} qib
  • 由于描述姿态的是四元数,所以微分方程左边是 q ˙ i b \dot q_{ib} q˙ib

若四元数定义为[4]
q = q 0 + i q 1 + j q 2 + k q 3 = [ q 1 , q r ] q 0 2 + q 1 2 + q 2 2 + q 3 2 = 1 \begin{array}{l} {\boldsymbol{q}}=q_{0}+\bold i q_{1}+\bold j q_{2}+\bold k q_{3}=[q_1,q_\mathbf r] \\ q_{0}^{2}+q_{1}^{2}+q_{2}^{2}+q_{3}^{2}=1 \end{array} q=q0+iq1+jq2+kq3=[q1,qr]q02+q12+q22+q32=1
姿态运动学方程为
q ˙ = 1 2 Ω ( ω i b b ) ⋅ q \dot{{q}}=\frac{1}{2} \Omega\left(\omega_{ib}^{b}\right) \cdot {q} q˙=21Ω(ωibb)q
其中4阶反对称矩阵
Ω ( ω ) = [ 0 − ω x − ω y − ω z ω x 0 ω z − ω y ω y − ω z 0 ω x ω z ω y − ω x 0 ] \Omega\left(\omega\right)= \left[\begin{array}{cccc} 0 & -\omega_{x} & -\omega_{y} & -\omega_{z} \\ \omega_{x} & 0 & \omega_{z} & -\omega_{y} \\ \omega_{y} & -\omega_{z} & 0 & \omega_{x} \\ \omega_{z} & \omega_{y} & -\omega_{x} & 0 \end{array}\right] Ω(ω)=0ωxωyωzωx0ωzωyωyωz0ωxωzωyωx0
它代表的是体系相对于惯性系的角速度在体系下的表达,也就是陀螺仪能敏感到的数据。姿态运动学也可以写作四元数的4阶反对称矩阵乘以角速度的形式,即:
q ˙ = 1 2 q ⊗ ω r \dot{\boldsymbol{q}}=\frac{1}{2} \boldsymbol{q} \otimes \boldsymbol{\omega}_{\mathrm{r}} q˙=21qωr

其中 ω r = [ 0 , w r T ] \boldsymbol{\omega}_{\mathrm{r}}=[0,w_r^{\mathrm T}] ωr=[0,wrT]展开为
[ q ˙ 0 q ˙ 1 q ˙ 2 q ˙ 3 ] = 1 2 [ q 0 − q 1 − q 2 − q 3 q 1 q 0 − q 3 q 2 q 2 q 3 q 0 − q 1 q 3 − q 2 q 1 q 0 ] [ 0 ω x ω y ω z ] \left[\begin{array}{l} \dot{q}_{0} \\ \dot{q}_{1} \\ \dot{q}_{2} \\ \dot{q}_{3} \end{array}\right]=\frac{1}{2}\left[\begin{array}{cccc} q_{0} & -q_{1} & -q_{2} & -q_{3} \\ q_{1} & q_{0} & -q_{3} & q_{2} \\ q_{2} & q_{3} & q_{0} & -q_{1} \\ q_{3} & -q_{2} & q_{1} & q_{0} \end{array}\right]\left[\begin{array}{c} 0 \\ \omega_{x} \\ \omega_{y} \\ \omega_{z} \end{array}\right] q˙0q˙1q˙2q˙3=21q0q1q2q3q1q0q3q2q2q3q0q1q3q2q1q00ωxωyωz

3. 姿态旋转矩阵

3.1姿态四元数转到姿态旋转矩阵

公式如下
R i b ( q i b ) = ( q 0 2 − q r ⋅ q r ) I 2 + 2 q r q r T − 2 q 0 [ q r × ] = [ q 0 2 + q 1 2 − q 2 2 − q 3 2 − 2 q 0 q 3 + 2 q 1 q 2 2 q 0 q 2 + 2 q 1 q 3 2 q 0 q 3 + 2 q 1 q 2 q 0 2 − q 1 2 + q 2 2 − q 3 2 − 2 q 0 q 1 + 2 q 2 q 3 − 2 q 0 q 2 + 2 q 1 q 3 2 q 0 q 1 + 2 q 2 q 3 q 0 2 − q 1 2 − q 2 2 + q 3 2 ] = [ 2 ( q 0 2 + q 1 2 ) − 1 2 ( q 1 q 2 + q 0 q 3 ) 2 ( q 1 q 3 − q 0 q 2 ) 2 ( q 1 q 2 − q 0 q 3 ) 2 ( q 0 2 + q 2 2 ) − 1 2 ( q 2 q 3 + q 0 q 1 ) 2 ( q 1 q 3 + q 0 q 2 ) 2 ( q 2 q 3 − q 0 q 1 ) 2 ( q 0 2 + q 3 2 ) − 1 ] \begin{aligned} \mathbf {R}_{i}^{b}(q_{ib})&\\ =&(q_0^2-q_\mathbf r\cdot q_\mathbf r ) I_2+2q_r q_r^T-2q_0 [q_r^× ]\\ =&\left[\begin{array}{ccc} q_{0}^{2}+q_{1}^{2}-q_{2}^{2}-q_{3}^{2} & -2 q_{0} q_{3}+2 q_{1} q_{2} & 2 q_{0} q_{2}+2 q_{1} q_{3} \\ 2 q_{0} q_{3}+2 q_{1} q_{2} & q_{0}^{2}-q_{1}^{2}+q_{2}^{2}-q_{3}^{2} & -2 q_{0} q_{1}+2 q_{2} q_{3} \\ -2 q_{0} q_{2}+2 q_{1} q_{3} & 2 q_{0} q_{1}+2 q_{2} q_{3} & q_{0}^{2}-q_{1}^{2}-q_{2}^{2}+q_{3}^{2} \end{array}\right] \\=& \left[\begin{array}{lll} 2\left(q_{0}^{2}+q_{1}^{2}\right)-1 & 2\left(q_{1} q_{2}+q_{0} q_{3}\right) & 2\left(q_{1} q_{3}-q_{0} q_{2}\right) \\ 2\left(q_{1} q_{2}-q_{0} q_{3}\right) & 2\left(q_{0}^{2}+q_{2}^{2}\right)-1 & 2\left(q_{2} q_{3}+q_{0} q_{1}\right) \\ 2\left(q_{1} q_{3}+q_{0} q_{2}\right) & 2\left(q_{2} q_{3}-q_{0} q_{1}\right) & 2\left(q_{0}^{2}+q_{3}^{2}\right)-1 \end{array}\right] \end{aligned} Rib(qib)===(q02qrqr)I2+2qrqrT2q0[qr×]q02+q12q22q322q0q3+2q1q22q0q2+2q1q32q0q3+2q1q2q02q12+q22q322q0q1+2q2q32q0q2+2q1q32q0q1+2q2q3q02q12q22+q322(q02+q12)12(q1q2q0q3)2(q1q3+q0q2)2(q1q2+q0q3)2(q02+q22)12(q2q3q0q1)2(q1q3q0q2)2(q2q3+q0q1)2(q02+q32)1

其中3阶反对称矩阵
[ r × ] = [ 0 − r 3 r 2 r 3 0 − r 1 − r 2 r 1 0 ] [r\times]=\left[\begin{array}{ccc}0&-r_3&r_2\\ r_3&0&-r_1\\ -r_2&r_1&0\end{array}\right] [r×]=0r3r2r30r1r2r10

3.2 姿态四元数转到三轴姿态角

姿态四元数转到三轴姿态角,可以先转换到姿态旋转矩阵,再转到姿态角。参考[1]第91页并作出订正,航天器3-1-2旋转的过程,从惯性系转到本体系的姿态旋转矩阵应该这样构建:

  1. O x i y i z i → 绕 O z i ( " 3 " ) 旋 转 ψ 角 → O x 1 y 1 z 1 Ox_iy_iz_i\rightarrow绕Oz_i("3")旋转\psi角\rightarrow Ox_1y_1z_1 OxiyiziOzi("3")ψOx1y1z1
  2. O x 1 y 1 z 1 → 绕 O x 1 ( " 1 " ) 旋 转 θ 角 → O x 2 y 2 z 2 Ox_1y_1z_1\rightarrow绕Ox_1("1")旋转\theta角\rightarrow Ox_2y_2z_2 Ox1y1z1Ox1("1")θOx2y2z2
  3. O x 2 y 2 z 2 → 绕 O y 2 ( " 2 " ) 旋 转 γ 角 → O x b y b z b Ox_2y_2z_2\rightarrow绕Oy_2("2")旋转\gamma角\rightarrow Ox_by_bz_b Ox2y2z2Oy2("2")γOxbybzb

而姿态角xyz方向俯仰 θ \theta θ-滚转 γ \gamma γ-偏航 ψ \psi ψ,即x方向为俯仰角,y方向为滚转角,z方向为偏航角,这个和文献[2]的本体系相对应。
在这里插入图片描述
按照的312(zxy)旋转的姿态旋转矩阵为
R i b = R 2 b R 1 2 R i 1 = R y ( γ ) R x ( θ ) R z ( ψ ) = [ cos ⁡ γ 0 − sin ⁡ γ 0 1 0 sin ⁡ γ 0 cos ⁡ γ ] [ 1 0 0 0 cos ⁡ θ sin ⁡ θ 0 − sin ⁡ θ cos ⁡ θ ] [ cos ⁡ ψ − sin ⁡ ψ 0 sin ⁡ ψ sin ⁡ ψ 0 0 0 1 ] = [ cos ⁡ ψ cos ⁡ γ + sin ⁡ ψ sin ⁡ θ sin ⁡ γ − sin ⁡ ψ cos ⁡ γ + cos ⁡ ψ sin ⁡ θ sin ⁡ γ − cos ⁡ θ sin ⁡ γ sin ⁡ ψ cos ⁡ θ cos ⁡ ψ cos ⁡ θ sin ⁡ θ cos ⁡ ψ sin ⁡ γ − sin ⁡ ψ sin ⁡ θ cos ⁡ γ − sin ⁡ ψ sin ⁡ γ − cos ⁡ ψ sin ⁡ θ cos ⁡ γ cos ⁡ θ cos ⁡ γ ] \begin{array}{l} \mathbf R_{i}^{b}=R_2^bR_1^2R_i^1=R_y(\gamma)R_x(\theta)R_z(\psi)\\ =\left[\begin{array}{ccc} \cos \gamma & 0 & -\sin \gamma \\ 0 & 1 & 0 \\ \sin \gamma & 0 & \cos \gamma \end{array}\right]\left[\begin{array}{ccc} 1 & 0 & 0 \\ 0 & \cos \theta & \sin \theta \\ 0 & -\sin \theta & \cos \theta \end{array}\right]\left[\begin{array}{ccc} \cos \psi & -\sin \psi & 0 \\ \sin \psi & \sin \psi & 0 \\ 0 & 0 & 1 \end{array}\right] \\= {\left[\begin{array}{ccc} \cos \psi \cos \gamma+\sin \psi \sin \theta \sin \gamma & -\sin \psi \cos \gamma+\cos \psi \sin \theta \sin \gamma & -\cos \theta \sin \gamma \\ \sin \psi \cos \theta & \cos \psi \cos \theta & \sin \theta \\ \cos \psi \sin \gamma-\sin \psi \sin \theta \cos \gamma & -\sin \psi \sin \gamma-\cos \psi \sin \theta \cos \gamma & \cos \theta \cos \gamma \end{array}\right]} \end{array} Rib=R2bR12Ri1=Ry(γ)Rx(θ)Rz(ψ)=cosγ0sinγ010sinγ0cosγ1000cosθsinθ0sinθcosθcosψsinψ0sinψsinψ0001=cosψcosγ+sinψsinθsinγsinψcosθcosψsinγsinψsinθcosγsinψcosγ+cosψsinθsinγcosψcosθsinψsinγcosψsinθcosγcosθsinγsinθcosθcosγ

如果已知四元数,就可以得到姿态转移矩阵,相当于已知方程左边,由这个对应关系可以反解三轴姿态角
θ = sin ⁡ − 1 ( R 23 ) γ = tan ⁡ − 1 ( − R 13 R 33 ) ψ = tan ⁡ − 1 ( R 21 R 22 ) \begin{array}{l} \theta=\sin ^{-1}\left(R_{23}\right) \\ \gamma=\tan^{-1}\left(-\frac{R_{13}}{R_{33}}\right) \\ \psi=\tan^{-1}\left(\frac{R_{21}}{R_{22}}\right) \end{array} θ=sin1(R23)γ=tan1(R33R13)ψ=tan1(R22R21)

3.3 3-1-2旋转的姿态运动学

推导过程需要考虑姿态旋转矩阵的先后转动顺序,不是简单相加,如 w = θ ˙ i + γ ˙ j + ψ ˙ k w=\dot\theta\mathbf i+\dot\gamma\mathbf j+\dot\psi\mathbf k w=θ˙i+γ˙j+ψ˙k,这样是错的。正确过程是
w i b ≡ [ w x w y w z ] = γ ˙ j + R y ( γ ) θ ˙ i + R y ( γ ) R x ( θ ) ψ ˙ k ω x = θ ˙ cos ⁡ γ − ψ ˙ cos ⁡ θ sin ⁡ γ ω y = γ ˙ + ψ ˙ sin ⁡ θ ω z = θ ˙ sin ⁡ γ + ψ ˙ cos ⁡ γ cos ⁡ θ w_{ib}\equiv\begin{bmatrix}w_x\\w_y\\w_z\end{bmatrix}= \dot\gamma\mathbf j+R_y(\gamma)\dot\theta\mathbf i+R_y(\gamma)R_x(\theta)\dot\psi\mathbf k\\ \begin{array}{l} \omega_{x}=\dot{\theta} \cos \gamma-\dot{\psi} \cos \theta \sin \gamma \\ \omega_{y}=\dot{\gamma}+\dot{\psi} \sin \theta \\ \omega_{z}=\dot{\theta} \sin \gamma + \dot{\psi} \cos \gamma \cos \theta \end{array} wibwxwywz=γ˙j+Ry(γ)θ˙i+Ry(γ)Rx(θ)ψ˙kωx=θ˙cosγψ˙cosθsinγωy=γ˙+ψ˙sinθωz=θ˙sinγ+ψ˙cosγcosθ

4. 姿态旋转矩阵的姿态运动学方程

姿态旋转矩阵 R i b R_i^b Rib代表由惯性系转换到本体系。如果用姿态旋转矩阵来描述姿态,在导航算法中也是常用的,这样虽然内存占用大,但是足够精确也方便使用。这样,矩阵形式的姿态运动学方程为
d R i b d t = R i b [ w i b b × ] (1) \frac{\mathrm d R_i^b}{\mathrm d t}=R_i^b[w_{ib}^b\times] \tag 1 dtdRib=Rib[wibb×](1)
注意到角速度矢量仍然遵循坐标系变换法则,即
w i b p = R b p w i b b w_{ib}^p=R_b^pw_{ib}^b wibp=Rbpwibb
其中p为任意坐标系。向量的叉乘矩阵遵循类似的法则[3] page.25
[ w i b p × ] = R b p [ w i b b × ] R p b e.g , [ w i b i × ] = R b i [ w i b b × ] R i b [w_{ib}^p\times]=R_b^p[w_{ib}^b\times]R_p^b\quad \text{e.g},[w_{ib}^i\times]=R_b^i[w_{ib}^b\times]R_i^b [wibp×]=Rbp[wibb×]Rpbe.g,[wibi×]=Rbi[wibb×]Rib
文献[3]page 44(2-97)式指出,另一种矩阵形式的姿态运动学方程为
d R i b d t = − [ w i b b × ] R i b (2) \frac{\mathrm d R_i^b}{\mathrm d t}=-[w_{ib}^b\times]R_i^b\tag 2 dtdRib=[wibb×]Rib(2)
考虑
[ w i b i × ] = R b i [ w i b b × ] R i b ⇒ [ w i b b × ] = R i b [ w i b i × ] R b i [w_{ib}^i\times]=R_b^i[w_{ib}^b\times]R_i^b⇒[w_{ib}^b\times]=R_i^b[w_{ib}^i\times]R_b^i [wibi×]=Rbi[wibb×]Rib[wibb×]=Rib[wibi×]Rbi
代入上式并化简可得
d R i b d t = − [ w i b b × ] R i b = − R i b [ w i b i × ] R b i ⋅ R i b = R i b [ w b i i × ] (3) \frac{\mathrm d R_i^b}{\mathrm d t}=-[w_{ib}^b\times]R_i^b=-R_i^b[w_{ib}^i\times]R_b^i\cdot R_i^b=R_i^b[w_{bi}^i\times]\tag 3 dtdRib=[wibb×]Rib=Rib[wibi×]RbiRib=Rib[wbii×](3)

于是一共有3中形式的表达,其中第一种是最常用的。

5. ref

[1]. 周军, 刘莹莹. 航天器姿态与轨道控制原理[M]. 西安: 西北工业大学出版社, 2016.

[2]. 李新国, 方群. 有翼导弹飞行动力学[M]. 西北工业大学出版社, 2005.

[3]. Noureldin A, Karamat T B, Georgy J. Fundamentals of inertial navigation, satellite-based positioning and their integration[M]. 2013: 1-313.
[4]. 方群,李新国,朱战霞等[M]. 西北工业大学出版社,2015. 章节:6.5.4

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值