自用的姿态与轨道动力学笔记

文章详细介绍了圆锥曲线轨道的数学表示,包括轨道元素如半长轴、偏心率等,并提供了计算位置和速度向量的公式。此外,还讨论了四元数、欧拉角和旋转矩阵在描述旋转中的应用,以及QUEST算法在估计旋转矩阵时的误差最小化方法。内容涵盖了从初始条件到动态模型的推导,是航天动力学和控制理论的重要组成部分。
摘要由CSDN通过智能技术生成

圆锥曲线轨道

轨道六根数指:
半长轴(a)、偏心率(e),轨道倾角(i),升交点赤经( Ω \Omega Ω)、近地点幅角( ω \omega ω)、真近点角( ϕ \phi ϕ)。
其它参数:
角动量 h ⃗ \vec{h} h 、半通径 p p p、远拱点 r a r_a ra、周期 T T T
E = − μ 2 a = v 2 2 − μ r = v i n f 2 2 h ⃗ = r ⃗ × v ⃗ ∣ h ⃗ ∣ = ∣ r ⃗ ∣ ∣ v ⃗ ∣ sin ⁡ θ a = p 1 − e 2 = − μ 2 E = μ r 2 μ − r v 2 p = h 2 μ e ⃗ = v ⃗ × h ⃗ μ − r ⃗ ∣ r ⃗ ∣ = ( v 2 μ − 1 r ) r ⃗ − v ⃗ ⋅ r ⃗ μ v ⃗ e = 1 − h 2 a μ r = p 1 + e cos ⁡ f f = arccos ⁡ ( 1 e ( h 2 μ r − 1 ) ) r a = a ( 1 + e ) T = 2 π a 3 μ \begin{aligned} \mathcal{E} =& -\frac{\mu}{2a}=\frac{v^2}{2}-\frac{\mu}{r} = \frac{v_{inf}^2}{2} \\ \vec{h} =& \vec{r}\times\vec{v} \\ |\vec{h}| =& |\vec{r}||\vec{v}|\sin\theta \\ a =& \frac{p}{1-e^2}=-\frac{\mu}{2\mathcal{E}} = \frac{\mu r}{2\mu-rv^2} \\ p =& \frac{h^2}{\mu} \\ \vec{e} =& \frac{\vec{v}\times\vec{h}}{\mu} - \frac{\vec{r}}{|\vec{r}|} = (\frac{v^2}{\mu}-\frac{1}{r})\vec{r} - \frac{\vec{v}\cdot\vec{r}}{\mu}\vec{v} \\ e =& \sqrt{1-\frac{h^2}{a\mu}} \\ r =& \frac{p}{1+e\cos f} \\ f =& \arccos(\frac{1}{e}(\frac{h^2}{\mu r}-1)) \\ r_a =& a(1+e) \\ T =& 2\pi\sqrt{\frac{a^3}{\mu}} \end{aligned} E=h =h =a=p=e =e=r=f=ra=T=2aμ=2v2rμ=2vinf2r ×v r ∣∣v sinθ1e2p=2Eμ=2μrv2μrμh2μv ×h r r =(μv2r1)r μv r v 1aμh2 1+ecosfparccos(e1(μrh21))a(1+e)2πμa3
由轨道元素计算位置和速度向量
R = [ c Ω c ω − s Ω c i s ω − c Ω s ω − s Ω c i c ω s Ω s i s Ω c ω + c Ω c i s ω − s Ω s ω + c Ω c i c ω − c Ω s i s i s ω s i c ω c i ] r ⃗ = R [ a ( 1 − e 2 ) 1 + e cos ⁡ θ cos ⁡ θ a ( 1 − e 2 ) 1 + e cos ⁡ θ sin ⁡ θ 0 ] v ⃗ = μ a ( 1 − e 2 ) R [ − sin ⁡ θ e + cos ⁡ θ 0 ] \begin{aligned} R =& \begin{bmatrix} c_\Omega c_\omega-s_\Omega c_i s_\omega & -c_\Omega s_\omega-s_\Omega c_i c_\omega & s_\Omega s_i \\ s_\Omega c_\omega+c_\Omega c_i s_\omega & -s_\Omega s_\omega+c_\Omega c_i c_\omega & -c_\Omega s_i \\ s_i s_\omega & s_i c_\omega & c_i \end{bmatrix} \\ \vec{r} =& R\begin{bmatrix} \displaystyle\frac{a(1-e^2)}{1+e\cos\theta}\cos\theta \\ \displaystyle\frac{a(1-e^2)}{1+e\cos\theta}\sin\theta \\ 0 \end{bmatrix} \\ \vec{v} =& \sqrt{\frac{\mu}{a(1-e^2)}}R\begin{bmatrix} -\sin\theta \\ e+\cos\theta \\ 0 \end{bmatrix} \end{aligned} R=r =v = cΩcωsΩcisωsΩcω+cΩcisωsisωcΩsωsΩcicωsΩsω+cΩcicωsicωsΩsicΩsici R 1+ecosθa(1e2)cosθ1+ecosθa(1e2)sinθ0 a(1e2)μ R sinθe+cosθ0
平近点角(mean anomaly, M M M)
真近点角(true anomaly, θ \theta θ)
偏近点角(eccentric anomaly, E E E)
E − e sin ⁡ E = M tan ⁡ E 2 tan ⁡ θ 2 = 1 − e 1 + e \begin{aligned} & E-e\sin E=M \\ & \frac{\tan\frac{E}{2}}{\tan\frac{\theta}{2}} = \sqrt{\frac{1-e}{1+e}} \end{aligned} EesinE=Mtan2θtan2E=1+e1e
根据平近点角计算真近点角
θ = M + ( 2 e − 1 4 e 3 ) sin ⁡ M + 5 4 e 2 sin ⁡ 2 M + 13 12 e 3 sin ⁡ 3 M + O ( e 4 ) \begin{aligned} \theta =& M+\left(2e-{\frac {1}{4}}e^{3}\right)\sin {M} + {\frac {5}{4}}e^{2}\sin {2M} \\ &+ {\frac {13}{12}}e^{3}\sin {3M}+O(e^{4}) \end{aligned} θ=M+(2e41e3)sinM+45e2sin2M+1213e3sin3M+O(e4)
已知 μ \mu μ、初始位置 r ⃗ \vec{r} r 和速度 v ⃗ \vec{v} v 计算经过指定时间 T 0 T_0 T0 后的位置和速度

  1. 根据初始位置速度计算轨道能量 E \mathcal{E} E 和偏心率 e ⃗ \vec{e} e
  2. 根据 μ \mu μ E \mathcal{E} E 计算半长轴 a a a 进而计算轨道周期 T T T
  3. 根据 T 0 T_0 T0 T T T 计算平近点角进而计算偏近点角 E E E
  4. 根据 e ⃗ \vec{e} e 计算半短轴 b b b 和焦距 c c c,由椭圆参数方程得到 r ⃗ \vec{r} r
  5. E \mathcal{E} E 计算速度大小 ∣ v ⃗ ∣ |\vec{v}| v
  6. 由偏心率公式计算速度 v ⃗ \vec{v} v

[ e 0 0 ] = ( v ⃗ × h ⃗ μ − r ⃗ ∣ r ⃗ ∣ ) [ r x r y 0 ] − v x r x + v y r y μ [ v x v y 0 ] k = v ⃗ × h ⃗ μ − r ⃗ ∣ r ⃗ ∣ r x v x 2 + r y v x v y = μ ( k r x − e ) r y v y 2 + r x v x v y = μ k r y r x 2 v x 2 + r x r y v x v y = μ ( k r x − e ) r x r y 2 v y 2 + r x r y v x v y = μ k r y r y r x 2 v x 2 − r y 2 v y 2 = μ ( k r x − e ) r x − μ k r y r y = k 1 v x 2 + v y 2 = v 2 v x 2 = r y 2 v 2 + k 1 r 2 v y 2 = r x 2 v 2 − k 1 r 2 k 1 = μ k ( r x 2 − r y 2 ) − e r x = ( v 2 − μ r ) ( r x 2 − r y 2 ) − μ e r x \begin{aligned} &\left[\begin{matrix} e \\ 0 \\ 0 \end{matrix}\right] = (\frac{\vec{v}\times\vec{h}}{\mu} - \frac{\vec{r}}{|\vec{r}|}) \left[\begin{matrix} r_x \\ r_y \\ 0 \end{matrix}\right] - \frac{v_xr_x+v_yr_y}{\mu} \left[\begin{matrix} v_x \\ v_y \\ 0 \end{matrix}\right] \\ & k = \frac{\vec{v}\times\vec{h}}{\mu} - \frac{\vec{r}}{|\vec{r}|} \\ & r_xv_x^2+r_yv_xv_y = \mu(kr_x-e) \\ & r_yv_y^2+r_xv_xv_y = \mu kr_y \\ & r_x^2v_x^2+r_xr_yv_xv_y = \mu(kr_x-e)r_x \\ & r_y^2v_y^2+r_xr_yv_xv_y = \mu kr_yr_y \\ & r_x^2v_x^2-r_y^2v_y^2 = \mu(kr_x-e)r_x - \mu kr_yr_y = k_1 \\ & v_x^2+v_y^2 = v^2 \\ & v_x^2 = \frac{r_y^2v^2 + k_1}{r^2} \\ & v_y^2 = \frac{r_x^2v^2 - k_1}{r^2} \\ &k_1 = \mu k(r_x^2-r_y^2) - er_x = (v^2 - \frac{\mu}{r})(r_x^2-r_y^2) - \mu er_x \end{aligned} e00 =(μv ×h r r ) rxry0 μvxrx+vyry vxvy0 k=μv ×h r r rxvx2+ryvxvy=μ(krxe)ryvy2+rxvxvy=μkryrx2vx2+rxryvxvy=μ(krxe)rxry2vy2+rxryvxvy=μkryryrx2vx2ry2vy2=μ(krxe)rxμkryry=k1vx2+vy2=v2vx2=r2ry2v2+k1vy2=r2rx2v2k1k1=μk(rx2ry2)erx=(v2rμ)(rx2ry2)μerx

四元数、欧拉角、旋转矩阵

四元数、欧拉角、旋转矩阵笔记

旋转坐标系下的速度和加速度

自用的刚体姿态动力学推导

QUEST 算法

  QUEST(QUaternion ESTimator)已知多个参考向量 y k y_k yk 和对应的多个观测向量 x k x_k xk,求旋转矩阵 A A A 使得 y = R x y=Rx y=Rx 的误差最小,即最小化指标函数
J 0 = 1 2 ∑ k = 1 n α k ∣ y k − A x k ∣ 2 J_0=\frac{1}{2}\sum_{k=1}^n\alpha_k|y_k-Ax_k|^2 J0=21k=1nαkykAxk2
或者最大化指标函数
J = ∑ k = 1 n α k y k T A x k J=\sum_{k=1}^n\alpha_ky_k^\text{T}Ax_k J=k=1nαkykTAxk
其中 y k y_k yk x k x_k xk 均为单位向量, α k ≥ 0 \alpha_k\ge 0 αk0 为加权因子, ∑ α k = 1 \sum\alpha_k=1 αk=1,并且 J = 1 − J 0 J=1-J_0 J=1J0

一组数据的情况

  首先研究一个向量 y = A x y=Ax y=Ax,设 B = y x T B=yx^\text{T} B=yxT,利用关于矩阵的迹的两个公式
x T y = tr ( y x T ) = tr ( x y T ) tr ( A B ) = tr ( B A ) x^\text{T}y=\text{tr}(yx^\text{T})=\text{tr}(xy^\text{T}) \\ \text{tr}(AB)=\text{tr}(BA) xTy=tr(yxT)=tr(xyT)tr(AB)=tr(BA)

J = y T A x = tr ( y ( A x ) T ) = tr ( y x T A T ) = tr ( B A T ) = tr ( A B T ) \begin{aligned} J=y^\text{T}Ax=\text{tr}(y(Ax)^\text{T})=\text{tr}(yx^\text{T}A^\text{T}) =\text{tr}(BA^\text{T})=\text{tr}(AB^\text{T}) \end{aligned} J=yTAx=tr(y(Ax)T)=tr(yxTAT)=tr(BAT)=tr(ABT)
将四元数与旋转矩阵的关系 (四元数、欧拉角、旋转矩阵笔记)
R = ( w 2 − q v T q v ) I + 2 q v q v T − 2 w q v ∧ R=(w^2-q_v^\text{T}q_v)I+2q_vq_v^\text{T}-2wq_v^{\wedge} R=(w2qvTqv)I+2qvqvT2wqv
代入 J J J
J = tr ( [ ( w 2 − q v T q v ) I + 2 q v q v T − 2 w q v ∧ ] B T ) = ( w 2 − q v T q v ) tr ( B ) + 2 tr ( q v q v T B T ) − 2 w tr ( q v ∧ B T ) \begin{aligned} J =& \text{tr}([(w^2-q_v^\text{T}q_v)I +2q_vq_v^\text{T}-2wq_v^{\wedge}]B^\text{T}) \\ =& (w^2-q_v^\text{T}q_v)\text{tr}(B)+2\text{tr}(q_vq_v^\text{T}B^\text{T}) -2w\text{tr}(q_v^{\wedge}B^\text{T}) \end{aligned} J==tr([(w2qvTqv)I+2qvqvT2wqv]BT)(w2qvTqv)tr(B)+2tr(qvqvTBT)2wtr(qvBT)

σ = tr ( B ) S = B + B T = y x T + x y T Z = y × x \begin{aligned} \sigma =& \text{tr}(B) \\ S =& B+B^\text{T} = yx^\text{T}+xy^\text{T} \\ Z =& y\times x \end{aligned} σ=S=Z=tr(B)B+BT=yxT+xyTy×x

J = ( w 2 − q v T q v ) σ + 2 tr ( q v q v T x y T ) − 2 w tr ( q v ∧ x y T ) = w 2 σ − q v T q v σ + tr ( x y T q v q v T ) + q v T x tr ( q v y T ) − 2 w tr ( q v ∧ x y T ) = w 2 σ − q v T q v σ + y T q v tr ( x q v T ) + q v T x tr ( y T q v ) − 2 w y T q v ∧ x = w 2 σ − σ q v T q v + q v T y x T q v + q v T x y T q v + 2 w q v T y ∧ x = w 2 σ − σ q v T q v + q v T S q v + 2 w q v T ( y × x ) = w 2 σ + q v T Z w + w Z T q v + q v T S q v − σ q v T q v = ( w σ + q v T Z ) w + ( w Z T + q v T ( S − σ I ) ) q v = [ w q v T ] [ σ Z T Z S − σ I ] [ w q v ] = q T K q \begin{aligned} J=& (w^2-q_v^\text{T}q_v)\sigma+2\text{tr}(q_vq_v^\text{T}xy^\text{T}) -2w\text{tr}(q_v^{\wedge}xy^\text{T}) \\ =& w^2\sigma-q_v^\text{T}q_v\sigma+\text{tr}(xy^\text{T}q_vq_v^\text{T}) +q_v^\text{T}x\text{tr}(q_vy^\text{T}) -2w\text{tr}(q_v^{\wedge}xy^\text{T}) \\ =& w^2\sigma-q_v^\text{T}q_v\sigma+y^\text{T}q_v\text{tr}(xq_v^\text{T}) +q_v^\text{T}x\text{tr}(y^\text{T}q_v) -2wy^\text{T}q_v^{\wedge}x \\ =& w^2\sigma-\sigma q_v^\text{T}q_v+q_v^\text{T}yx^\text{T}q_v +q_v^\text{T}xy^\text{T}q_v+2wq_v^\text{T}y^{\wedge}x \\ =& w^2\sigma-\sigma q_v^\text{T}q_v+q_v^\text{T}Sq_v+2wq_v^\text{T}(y\times x) \\ =& w^2\sigma+q_v^\text{T}Zw+wZ^\text{T}q_v +q_v^\text{T}Sq_v-\sigma q_v^\text{T}q_v \\ =& (w\sigma+q_v^\text{T}Z)w+(wZ^\text{T}+q_v^\text{T}(S-\sigma I))q_v \\ =& \begin{bmatrix} w & q_v^\text{T} \end{bmatrix} \begin{bmatrix} \sigma & Z^\text{T} \\ Z & S-\sigma I \\ \end{bmatrix} \begin{bmatrix} w \\ q_v \end{bmatrix} \\ =& q^\text{T}Kq \end{aligned} J=========(w2qvTqv)σ+2tr(qvqvTxyT)2wtr(qvxyT)w2σqvTqvσ+tr(xyTqvqvT)+qvTxtr(qvyT)2wtr(qvxyT)w2σqvTqvσ+yTqvtr(xqvT)+qvTxtr(yTqv)2wyTqvxw2σσqvTqv+qvTyxTqv+qvTxyTqv+2wqvTyxw2σσqvTqv+qvTSqv+2wqvT(y×x)w2σ+qvTZw+wZTqv+qvTSqvσqvTqv(wσ+qvTZ)w+(wZT+qvT(SσI))qv[wqvT][σZZTSσI][wqv]qTKq
其中第3行到第4行 y T q v ∧ x = − q v T y ∧ x y^\text{T}q_v^{\wedge}x = -q_v^\text{T}y^{\wedge}x yTqvx=qvTyx 实际上等价于
a ⋅ ( b × c ) = b ⋅ ( c × a ) = c ⋅ ( a × b ) a\cdot (b\times c) = b\cdot (c\times a) = c\cdot (a\times b) a(b×c)=b(c×a)=c(a×b)
  考虑到单位四元数 q q q 满足 ∣ q ∣ = 1 |q|=1 q=1,使用拉格朗日乘子法,
L = q T K q + λ ( q T q − 1 ) ∂ L ∂ q = 2 K q − 2 λ q = 0 \begin{aligned} L =& q^\text{T}Kq+\lambda(q^\text{T}q-1) \\ \frac{\partial L}{\partial q} =& 2Kq-2\lambda q=0 \end{aligned} L=qL=qTKq+λ(qTq1)2Kq2λq=0
  进一步扩展到多组数据并加入权重,取
B = ∑ k = 1 n α k y k x k T σ = tr ( B ) S = B + B T Z = ∑ k = 1 n α k y k × x k \begin{aligned} B =& \sum_{k=1}^n \alpha_k y_k x_k^\text{T} \\ \sigma =& \text{tr}(B) \\ S =& B+B^\text{T} \\ Z =& \sum_{k=1}^n \alpha_k y_k \times x_k \end{aligned} B=σ=S=Z=k=1nαkykxkTtr(B)B+BTk=1nαkyk×xk

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值