迭代制导总结
本文主要参考几个经典文献学习迭代制导(Iterative Guidance Mode, IGM)技术,源代码已上传到码云 https://gitee.com/olupengo/IterativeGuidance/,仅供参考。
迭代制导总结
鲁 鹏,北京理工大学宇航学院
2019.05.17
本文主要参考文献[1-2]学习迭代制导(Iterative Guidance Mode, IGM)技术,源代码已上传到码云 https://gitee.com/olupengo/IterativeGuidance/,仅供参考。文献[3]是迭代制导技术的原始文献,写得很乱,不适入门者学习。
一般情况下,对火箭在大气层内(低于 90 k m 90km 90km高度)飞行采用固定程序控制,火箭进入真空飞行后,开始加入制导控制[1]。本文会使用原点在地心 O O O的发射惯性坐标系 O x y z Oxyz Oxyz,原点在发射点的发射点惯性坐标系,入轨点轨道坐标系(又被称为制导坐标系) O x o c f y o c f z o c f Ox_{ocf}y_{ocf}z_{ocf} Oxocfyocfzocf和升交点轨道坐标系 O x r c f y r c f z r c f Ox_{rcf}y_{rcf}z_{rcf} Oxrcfyrcfzrcf,这几个坐标系的定义见参考文献[2]。
空间运动方程
使用迭代制导时,一般会把火箭运动方程表示在制导坐标系下,考虑到运载火箭在实际飞行过程中,其控制系统是可以保证滚转角 γ o c f ≈ 0 \gamma_{ocf} \approx 0 γocf≈0,由于是在真空飞行段加入制导控制,可以不考虑大气作用。因此火箭的质心运动可以视为由推力和重力驱动下的质点运动[1-2]
[ x ¨ o c f y ¨ o c f z ¨ o c f ] = F m [ cos φ o c f cos ψ o c f sin φ o c f cos ψ o c f − sin ψ o c f ] + [ g o c f x g o c f y g o c f z ] (1) \left[ \begin{array}{c} {\ddot{x}_{ocf}} \\ {\ddot{y}_{ocf}} \\ {\ddot{z}_{ocf}} \end{array}\right] = \frac{F}{m} \left[ \begin{array}{c} {\cos \varphi_{ocf} \cos \psi_{ocf}} \\ {\sin \varphi_{o c f} \cos \psi_{ocf}} \\ {-\sin \psi_{ocf}}\end{array}\right] + \left[ \begin{array}{l} {g_{ocfx}} \\ {g_{ocfy}} \\ {g_{ocfz}} \end{array}\right] \tag{1} ⎣
⎡x¨ocfy¨ocfz¨ocf⎦
⎤=mF⎣
⎡cosφocfcosψocfsinφocfcosψocf−sinψocf⎦
⎤+⎣
⎡gocfxgocfygocfz⎦
⎤(1)
公式(1)中俯仰角 φ o c f \varphi_{ocf} φocf和偏航角 ψ o c f \psi_{ocf} ψocf定义如图 1 , F F F是火箭恒值推力, m m m是火箭质量。文献[7]有空间运动方程的详细推导。
由于入轨点不断更新,所以入轨点轨道坐标系 O x o c f y o c f z o c f Ox_{ocf}y_{ocf}z_{ocf} Oxocfyocfzocf在不断变化,但是每个制导周期中 O x o c f y o c f z o c f Ox_{ocf}y_{ocf}z_{ocf} Oxocfyocfzocf是惯性坐标系。
最优控制问题
取状态变量 x = [ x ˙ o c f x o c f y ˙ o c f y o c f z ˙ o c f z o c f ] T \boldsymbol{x}=\left[ \begin{array}{lllll}{\dot{x}_{o c f}} & {x_{o c f}} & {\dot{y}_{ocf}} & {y_{ocf}} & {\dot{z}_{ocf}} & {z_{ocf}}\end{array}\right]^{T} x=[x˙ocfxocfy˙ocfyocfz˙ocfzocf]T,将上升制导转化为最优控制问题[1-2]
J = ∫ 0 t g d t x ˙ = A x + B u + C x 0 = [ x ˙ o c f i x o c f i y ˙ o c f i y o c f i z ˙ o c f i z o c f i ] T x f = [ x ˙ o c f f x o c f f y ˙ o c f f y o c f f z ˙ o c f f z o c f f ] T (2) \begin{gathered} J = \int_{0}^{t_g} dt \\ \dot{\boldsymbol{x}}= A\boldsymbol{x} + B \boldsymbol{u}+C \\ \boldsymbol{x}_{0}=\left[\dot{x}_{ocfi} \quad x_{ocfi} \quad \dot{y}_{ocfi} \quad y_{ocfi} \quad \dot{z}_{ocfi} \quad z_{ocfi}\right]^{T} \\ \boldsymbol{x}_{f}=\left[{}{\dot{x}_{ocff}} \quad {x_{ocff}} \quad {\dot{y}_{ocff}} \quad {y_{ocff}} \quad {\dot{z}_{ocff}} \quad {z_{ocff}}\right]^{T} \\ \end{gathered}\tag{2} J=∫0tgdtx˙=Ax+Bu+Cx0=[x˙ocfixocfiy˙ocfiyocfiz˙ocfizocfi]Txf=[x˙ocffxocffy˙ocffyocffz˙ocffzocff]T(2)
其中 A = [ 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ] , B = F / m , u = [ cos φ o c f cos ψ o c f 0 sin φ o c f cos ψ o c f 0 − sin ψ o c f 0 ] , C = [ g o c f x 0 g o c f y 0 g o c f z 0 ] A=\left[ \begin{array}{cccccc}{0} & {0} & {0} & {0} & {0} & {0} \\ {1} & {0} & {0} & {0} & {0} & {0} \\ {0} & {0} & {0} & {0} & {0} & {0} \\ {0} & {0} & {1} & {0} & {0} & {0} \\ {0} & {0} & {0} & {0} & {0} & {0} \\ {0} & {0} & {0} & {0} & {1} & {0}\end{array}\right], B={F}/{m}, \boldsymbol{u}=\left[ \begin{array}{c}{\cos \varphi_{o c f} \cos \psi_{ocf}} \\ {0} \\ {\sin \varphi_{ocf} \cos \psi_{ocf}} \\ {0} \\ {-\sin \psi_{ocf}} \\ {0}\end{array}\right], C=\left[ \begin{array}{c}{g_{o c f x}} \\ {0} \\ {g_{o c f y}} \\ {0} \\ {g_{o c f z}} \\ {0}\end{array} \right] A=⎣
⎡010000000000000100000000000001000000⎦
⎤,B=F/m,u=⎣
⎡cosφocfcosψocf0sinφocfcosψocf0−sinψocf0⎦
⎤,C=⎣
⎡gocfx0gocfy0gocfz0⎦
⎤
根据连续系统最优控制泛函求极值的必要条件可知[4]
极值条件:
[ ∂ H ∂ φ o c f ∂ H ∂ ψ o c f ] = 0 ⟹ [ λ 1 sin φ o c f cos ψ o c f − λ 3 cos φ o c f cos ψ o c f λ 1 cos φ o c f sin ψ o c f + λ 3 sin φ o c f sin ψ o c f + λ 5 cos ψ o c f ] = 0 (3) \begin{bmatrix}{\frac{\partial H}{\partial \varphi_{ocf}}} \\ {\frac{\partial H}{\partial \psi_{ocf}}}\end{bmatrix}=\boldsymbol{0} \implies \begin{bmatrix}{\lambda_{1} \sin \varphi_{ocf} \cos \psi_{ocf}-\lambda_{3} \cos \varphi_{ocf} \cos \psi_{ocf}} \\ {\lambda_{1} \cos \varphi_{ocf} \sin \psi_{ocf}+\lambda_{3} \sin \varphi_{ocf} \sin \psi_{ocf}+\lambda_{5} \cos \psi_{ocf}}\end{bmatrix} = \boldsymbol{0} \tag{3} [∂φocf∂H∂ψocf∂H]=0⟹[λ1sinφocfcosψocf−λ3cosφocfcosψocfλ1cosφocfsinψocf+λ3sinφocfsinψocf+λ5cosψocf]=0(3)
其中 H H H是与最优控制问题(2)对应的哈密顿函数。
伴随条件:
λ ˙ = − ∂ H ∂ x ⟹ [ λ ˙ 1 λ ˙ 2 λ ˙ 3 λ ˙ 4 λ ˙ 5 λ ˙ 6 ] = [ − λ 2 0 − λ 4 0 − λ 6 0 ] (4) \dot{\boldsymbol{\lambda}}=-\frac{\partial H}{\partial \boldsymbol{x}} \implies \left[ \begin{array}{c}{\dot{\lambda}_{1}} \\ {\dot{\lambda}_{2}} \\ {\dot{\lambda}_{3}} \\ {\dot{\lambda}_{4}} \\ {\dot{\lambda}_{5}} \\ {\dot{\lambda}_{6}}\end{array}\right]=\left[ \begin{array}{c}{-\lambda_{2}} \\ {0} \\ {-\lambda_{4}} \\ {0} \\ {-\lambda_{6}} \\ {0}\end{array}\right] \tag{4} λ˙=−∂x∂H⟹⎣
⎡λ˙1λ˙2λ˙3λ˙4λ˙5λ˙6⎦
⎤=⎣
⎡−λ20−λ40−λ60⎦
⎤(4)
横截条件:
λ T δ x ∣ t f = 0 ⟹ [ λ 1 δ x ˙ o c f λ 2 δ x o c f λ 3 δ x ˙ o c f λ 4 δ y o c f λ 5 δ z ˙ o c f λ 6 δ z o c f ] ∣ t f = 0 (5) \boldsymbol{\lambda}^{T} \delta \boldsymbol{x} \vert_{t_{f}}=\boldsymbol{0} \implies \left[ \begin{array}{c}{\lambda_{1} \delta \dot{x}_{ocf}} \\ {\lambda_{2} \delta x_{ocf}} \\ {\lambda_{3} \delta \dot{x}_{ocf}} \\ {\lambda_{4} \delta y_{ocf}} \\ {\lambda_{5} \delta \dot{z}_{ocf}} \\ {\lambda_{6} \delta z_{ocf}}\end{array}\right]\vert_{t_{f}}=\boldsymbol{0} \tag{5} λTδx∣tf=0⟹⎣
⎡λ1δx˙ocfλ2δxocfλ3δx˙ocfλ4δyocfλ5δz˙ocfλ6δzocf⎦
⎤∣tf=0(5)
解最优控制问题,可得[2]
{ tan φ o c f = λ 30 − λ 40 t λ 10 tan ψ o c f = − ( λ 50 − λ 60 t ) λ 10 cos φ o c f + ( λ 30 − λ 40 t ) sin φ o c f (6) \left\{\begin{aligned} \tan \varphi_{ocf} =& \frac{\lambda 30-\lambda 40 t}{\lambda 10} \\ \tan \psi_{ocf} =& \frac{-(\lambda 50-\lambda 60 t)}{\lambda 10 \cos \varphi_{ocf}+(\lambda 30-\lambda 40 t) \sin \varphi_{ocf}} \end{aligned}\right. \tag{6} ⎩
⎨
⎧tanφocf=tanψocf=λ10λ30−λ40tλ10cosφocf+(λ30−λ40t)sinφocf−(λ50−λ60t)(6)
俯仰角 φ o c f \varphi_{ocf} φocf和偏航角 ψ o c f \psi_{ocf} ψocf的近似解[1-3]
{ φ o c f ≈ φ ‾ o c f + K φ 2 t − K φ 1 ψ o c f ≈ ψ ‾ o c f + K ψ 2 t − K ψ 1 (7) \left\{\begin{array}{c}{\varphi_{ocf} \approx \overline{\varphi}_{ocf}+K_{\varphi 2} t-K_{\varphi 1}} \\ {\psi_{ocf} \approx \overline{\psi}_{ocf}+K_{\psi 2} t-K_{\psi 1}}\end{array}\right. \tag{7} {φocf≈φocf+Kφ2t−Kφ1ψocf≈ψocf+Kψ2t−Kψ1(7)
其中 φ ‾ o c f \overline{\varphi}_{ocf} φocf和 ψ ‾ o c f \overline{\psi}_{ocf} ψocf是为了满足目标入轨点速度矢量产生的控制角, K φ 2 K_{\varphi 2} Kφ2 、 K φ 1 K_{\varphi 1} Kφ1、 K ψ 2 K_{\psi 2} Kψ2、 K ψ 1 K_{\psi 1} Kψ1是为了达到目标位置矢量产生的附加控制角参数[1-2]。下一节详述如何求解 φ ‾ o c f \overline{\varphi}_{ocf} φocf、 K φ 2 K_{\varphi 2} Kφ2、 K φ 1 K_{\varphi 1} Kφ1等系数。
最优控制解的计算
本节将计算剩余飞行时间以及俯仰角 φ o c f \varphi_{ocf} φocf和偏航角 ψ o c f \psi_{ocf} ψocf的近似解中的系数。
计算剩余飞行时间
利用雅克比迭代法求解下面这个非线性方程,可得剩余飞行时间[2]
t g = t h ( 1 − e − Δ V V e x ) (8) t_{g}=t_{h}\left(1-e^{-\frac{\Delta V}{V e x}}\right) \tag{8} tg=th(1−e−VexΔV)(8)
其中 Δ V = ( x ˙ o c f f − x ˙ o c f i − g o c f x t g ) 2 + ( y ˙ o c f f − y ˙ o c f i − g o c f y t g ) 2 + ( z ˙ o c f f − z ˙ o c f i − g o c f z t g ) 2 \Delta V= \sqrt{\left(\dot{x}_{ocff}-\dot{x}_{ocfi}-g_{ocfx} t_{g}\right)^{2} + \left(\dot{y}_{ocff}-\dot{y}_{ocfi}-g_{ocfy} t_{g}\right)^{2} + \left(\dot{z}_{ocff}-\dot{z}_{ocfi}-g_{ocfz} t_{g}\right)^{2}} ΔV=(x˙ocff−x˙ocfi−gocfxtg)2+(y˙ocff−y˙ocfi−gocfytg)2+(z˙ocff−z˙ocfi−gocfztg)2
传统的迭代制导方法使用下式计算引力[1-3]
g o c f = [ g o c f x g o c f y g o c f z ] = 1 2 ( [ g o c f i x g o c f i y g o c f i z ] + [ g o c f f x g o c f f y g o c f f z ] ) (9) \boldsymbol{g}_{ocf}=\left[\begin{array}{l}{g_{ocfx}} \\ {g_{ocfy}} \\ {g_{ocfz}}\end{array}\right]= \frac{1}{2}(\left[ \begin{array}{l}{g_{ocfix}} \\ {g_{ocfiy}} \\ {g_{ocfiz}}\end{array}\right]+ \left[\begin{array}{l}{g_{ocffx}} \\ {g_{ocffy}} \\ {g_{ocffz}}\end{array}\right]) \tag{9} gocf=⎣
⎡gocfxgocfygocfz⎦
⎤=21(⎣
⎡gocfixgocfiygocfiz⎦
⎤+⎣
⎡gocffxgocffygocffz⎦
⎤)(9)
其中 g o c f i = [ g o c f i x g o c f i y g o c f i z ] T \boldsymbol{g}_{ocfi} = [g_{ocfix}\quad g_{ocfiy}\quad g_{ocfiz}]^{T} gocfi=[gocfixgocfiygocfiz]T是火箭瞬时引力加速度,导航计算而得; g o c f f = [ g o c f f x g o c f f y g o c f f z ] T \boldsymbol{g}_{ocff} = [g_{ocffx}\quad g_{ocffy}\quad g_{ocffz}]^{T} gocff=[gocffxgocffygocffz]T是入轨点处引力加速度,迭代更新获取。
地心角计算
地心角 ϕ \phi ϕ是相应点在轨道平面投影形成的地心夹角。计算地心角是为了将目标轨道的轨道根数转化为制导坐标系中的速度和位置约束。
为了满足轨道倾角 i i i,升交点赤经 Ω \Omega Ω,要保证 z o c f f = 0 z_{ocff}=0 zocff=0, z ˙ o c f f = 0 \dot{z}_{ocff}=0 z˙ocff=0。在入轨点轨道坐标系中 x o c f f = 0 x_{ocff} = 0 xocff=0,为了满足半长轴 a a a,偏心率 e e e,则入轨点速度 x ˙ o c f f \dot{x}_{ocff} x˙ocff、 y ˙ o c f f \dot{y}_{ocff} y˙ocff和位置 y o c f f y_{ocff} yocff要满足如下约束
x ˙ o c f f = ( 1 + e cos f ) μ a ( 1 − e 2 ) (10) \dot{x}_{ocff} = (1 + e\cos f) \sqrt{\frac{\mu}{a\left(1-e^{2}\right)}} \tag{10} x˙ocff=(1+ecosf)a(1−e2)μ(10)
y ˙ o c f f = e sin f μ a ( 1 − e 2 ) (11) \dot{y}_{ocff} = e \sin f \sqrt{\frac{\mu}{a\left(1-e^{2}\right)}} \tag{11} y˙ocff=esinfa(1−e2)μ(11)
y o c f f = a ( 1 − e 2 ) 1 + e cos f (12) y_{ocff} = \frac{a\left(1-e^{2}\right)}{1+e \cos f} \tag{12} yocff=1+ecosfa(1−e2)(12)
火箭在入轨点的速度 V o c f f = [ x ˙ o c f f y ˙ o c f f z ˙ o c f f ] T V_{ocff} = \left[ \dot{x}_{ocff} \quad\dot{y}_{ocff} \quad\dot{z}_{ocff} \right]^{T} Vocff=[x˙ocffy˙ocffz˙ocff]T
V o c f f = μ ( 2 y o c f f − 1 a ) (13) V_{ocff}=\sqrt{\mu\left( \frac{2}{y_{ocff}} - \frac{1}{a} \right)} \tag{13} Vocff=μ(yocff2−a1)(13)
定义入轨点处火箭的速度和当地水平面的夹角,即飞行路径角为 β \beta β,则飞行路径角 β \beta β和真近点角 f f f的关系如下
cos β = r v f ˙ = 1 + e cos f 1 + e 2 + 2 e cos f sin β = 1 v r ˙ = e sin f 1 + e 2 + 2 e cos f } \left. \begin{aligned}{\cos \beta=\frac{r}{v} \dot{f}=\frac{1+e \cos f}{\sqrt{1+e^{2}+2 e \cos f}}} \\ {\sin \beta=\frac{1}{v} \dot{r}=\frac{e \sin f}{\sqrt{1+e^{2}+2 e \cos f}}}\end{aligned} \right\} cosβ=vrf˙=1+e2+2ecosf1+ecosfsinβ=v1r˙=1+e2+2ecosfesinf⎭
⎬
⎫
x ˙ o c f f = V o c f f cos β = ( 1 + e cos f ) μ a ( 1 − e 2 ) (14) \dot{x}_{ocff} = V_{ocff}\cos{\beta} = (1 + e\cos f) \sqrt{\frac{\mu}{a\left(1-e^{2}\right)}} \tag{14} x˙ocff=Vocffcosβ=(1+ecosf)a(1−e2)μ(14)
y ˙ o c f f = V o c f f sin β = e sin f μ a ( 1 − e 2 ) (15) \dot{y}_{ocff} = V_{ocff}\sin{\beta} = e \sin f \sqrt{\frac{\mu}{a\left(1-e^{2}\right)}} \tag{15} y˙ocff=Vocffsinβ=esinfa(1−e2)μ(15)
如图 2 所示,真近点角 f f f和地心角 ϕ \phi ϕ、近地点角距 ω \omega ω有如下关系[2]
f = ϕ − ω (16) f=\phi-\omega \tag{16} f=ϕ−ω(16)
计算地心角 ϕ \phi ϕ的方法文献[2]写的好乱,这是文献[2]最让我头疼的地方,总结如下
地心角 ϕ \phi ϕ由两部分组成(见图 3),一部分是火箭瞬时在目标轨道平面投影点与目标轨道升交点的地心夹角 ϕ 1 \phi_{1} ϕ1,另一部分是剩余飞行时间内火箭能飞过的地心角 ϕ 2 \phi_{2} ϕ2
ϕ 1 \phi_{1} ϕ1按如下公式计算[2]
ϕ 1 = arctan x r c f y r c f (17) \phi_{1} = \arctan{\frac{x_{rcf}}{y_{rcf}}} \tag{17} ϕ1=arctanyrcfxrcf(17)
其中 x r c f x_{rcf} xrcf和 y r c f y_{rcf} yrcf是运载火箭瞬时在升交点轨道坐标系中 x x x轴和 y y y轴的地心矢径分量。
ϕ 2 \phi_{2} ϕ2采用以下方法估算见图 4 :通过火箭在剩余飞行时间里的轨迹估算以入轨点高度为半径圆弧的长度,圆弧对的圆心角就是 ϕ 2 \phi_{2} ϕ2,因此[2]
ϕ 2 ≈ [ V t g + S t h r u s t − k t g ( V + Δ V − V o c f f ) ] cos θ y o c f f (18) \phi_{2} \approx \frac{[Vt_{g} + S_{thrust} - kt_g(V + \Delta V - V_{ocff})]\cos{\theta}}{y_{ocff}} \tag{18} ϕ2≈yocff[Vtg+Sthrust−ktg(V+ΔV−Vocff)]cosθ(18)
其中 V V V是瞬时总速度, Δ V \Delta V ΔV是推力产生的速度增量, V o c f f V_{ocff} Vocff是入轨点速度, S t h r u s t S_{thrust} Sthrust是 [ 0 t g ] [0 \quad t_{g}] [0tg]时间段内推力产生的位移, k k k是重力损失修正常数[2], k k k的求法下一小节讲, θ \theta θ是入轨点当地轨道倾角,若目标轨道为圆轨道则 θ = 0 \theta = 0 θ=0。通过等式(18)计算 ϕ 2 \phi_{2} ϕ2时要用到 y o c f f y_{ocff} yocff,但是由等式(12)和(16)可知,计算 y o c f f y_{ocff} yocff又需要 ϕ \phi ϕ,每一次迭代过程中计算 ϕ 2 \phi_{2} ϕ2时,使用上一次迭代计算出的入轨点距离地心轨道高度 y o c f f y_{ocff} yocff
姿态控制角计算
对推力的一次积分[2]
V t h r u s t = [ F 0 ( t g ) cos ( φ ‾ o c f ) + F 0 ( t g ) K φ 1 sin ( φ ‾ o c f ) − F 1 ( t g ) K φ 2 sin ( φ ‾ o c f ) F 0 ( t g ) sin ( φ ‾ o c f ) − F 0 ( t g ) K φ 1 cos ( φ ‾ o c f ) + F 1 ( t g ) K φ 2 cos ( φ ‾ o c f ) F 0 ( t g ) K ψ 1 cos ( ψ ‾ o c f ) − F 1 ( t g ) K ψ 2 cos ( ψ ‾ o c f ) + F 0 ( t g ) sin ( ψ ‾ o c f ) ] (19) \boldsymbol{V}_{thrust} = \left[\begin{array}{l} {F0\left(t_{g}\right) \cos \left(\overline{\varphi}_{ocf}\right)+F0\left(t_{g}\right) K_{\varphi 1} \sin \left(\overline{\varphi}_{ocf}\right)} {-F1\left(t_{g}\right) K_{\varphi 2} \sin \left(\overline{\varphi}_{ocf}\right)} \\ {F0\left(t_{g}\right) \sin \left(\overline{\varphi}_{ocf}\right)-F 0\left(t_{g}\right) K_{\varphi 1} \cos \left(\overline{\varphi}_{ocf}\right)} {+F1\left(t_{g}\right) K_{\varphi 2} \cos \left(\overline{\varphi}_{ocf}\right)} \\ {F0\left(t_{g}\right) K_{\psi 1} \cos \left(\overline{\psi}_{ocf}\right)-F 1\left(t_{g}\right) K_{\psi 2} \cos \left(\overline{\psi}_{ocf}\right)+F0\left(t_{g}\right) \sin \left(\overline{\psi}_{ocf}\right)} \end{array}\right] \tag{19} Vthrust=⎣
⎡F0(tg)cos(φocf)+F0(tg)Kφ1sin(φocf)−F1(tg)Kφ2sin(φocf)F0(tg)sin(φocf)−F0(tg)Kφ1cos(φocf)+F1(tg)Kφ2cos(φocf)F0(tg)Kψ1cos(ψocf)−F1(tg)Kψ2cos(ψocf)+F0(tg)sin(ψocf)⎦
⎤(19)
其中 F 0 ( t ) F0(t) F0(t)、 F 1 ( t ) F1(t) F1(t)定义如下
F 0 ( t ) ≜ ∫ 0 t V e x t h − t d t = V e x ln t h t h − t (20) F0(t) \triangleq \int_{0}^{t} \frac{V_{ex}}{t_{h}-t} d t=V_{ex} \ln \frac{t_{h}}{t_{h}-t} \tag{20} F0(t)≜∫0tth−tVexdt=Vexlnth−tth(20)
F 1 ( t ) ≜ ∫ 0 t V e x t h − t t d t = t h F 0 ( t ) − V e x t (21) F1(t) \triangleq \int_{0}^{t} \frac{V_{ex}}{t_{h}-t} t d t=t_{h} F 0(t)-V_{ex} t \tag{21} F1(t)≜∫0tth−tVextdt=thF0(t)−Vext(21)
因为 φ ‾ o c f \overline{\varphi}_{ocf} φocf和 ψ ‾ o c f \overline{\psi}_{ocf} ψocf是为了满足目标入轨点速度矢量产生的控制角,不希望 K φ 2 t − K φ 1 K_{\varphi 2} t-K_{\varphi 1} Kφ2t−Kφ1和 K ψ 2 t − K ψ 1 K_{\psi 2} t-K_{\psi 1} Kψ2t−Kψ1对入轨速度矢量产生影响,故下式成立
V t h r u s t = [ F 0 ( t g ) cos φ ‾ o c f cos ψ ‾ o c f F 0 ( t g ) sin φ ‾ o c f cos ψ ‾ o c f 0 ] (22) \boldsymbol{V}_{thrust} = \left[ \begin{array}{c} F0\left(t_{g}\right) \cos \overline{\varphi}_{ocf} \cos \overline{\psi}_{ocf} \\ F0\left(t_{g}\right) \sin \overline{\varphi}_{ocf}\cos \overline{\psi}_{ocf} \\ 0 \end{array}\right] \tag{22} Vthrust=⎣
⎡F0(tg)cosφocfcosψocfF0(tg)sinφocfcosψocf0⎦
⎤(22)
求解方程(22),可得 K φ 2 K_{\varphi 2} Kφ2与 K φ 1 K_{\varphi 1} Kφ1以及 K ψ 2 K_{\psi 2} Kψ2与 K ψ 1 K_{\psi 1} Kψ1之间的关系[5]
F 0 ( t g ) K ρ 1 = F 1 ( t g ) K φ 2 F 0 ( t g ) K ψ 1 = F 1 ( t g ) K ψ 2 (23) \begin{array}{l} {F 0\left(t_{g}\right) K_{\rho 1}=F 1\left(t_{g}\right) K_{\varphi 2}} \\ {F 0\left(t_{g}\right) K_{\psi 1}=F 1\left(t_{g}\right) K_{\psi 2}} \end{array} \tag{23} F0(tg)Kρ1=F1(tg)Kφ2F0(tg)Kψ1=F1(tg)Kψ2(23)
对等式(1)进行二次积分可得[2]
R o c f f = R t h r u s t + R g r a v i t y + V o c f i t g + R o c f i (24) \boldsymbol{R}_{ocff}=\boldsymbol{R}_{thrust}+\boldsymbol{R}_{gravity}+\boldsymbol{V}_{ocfi} t_{g}+\boldsymbol{R}_{ocfi} \tag{24} Rocff=Rthrust+Rgravity+Vocfitg+Rocfi(24)
分量形式为[2]
[ x o c f f y o c f f z o c f f ] = [ F 2 ( t g ) cos ( φ ‾ o c f ) + F 2 ( t g ) K φ 1 sin ( φ ‾ o c f ) − F 3 ( t g ) K φ 2 sin ( φ ‾ o c f ) F 2 ( t g ) sin ( φ ‾ o c f ) − F 2 ( t g ) K φ 1 cos ( φ ‾ o c f ) + F 3 ( t g ) K φ 2 cos ( φ ‾ o c f ) F 2 ( t g ) K ψ 1 cos ( ψ ‾ o c f ) − F 3 ( t g ) K ψ 2 cos ( ψ ‾ o c f ) + F 2 ( t g ) sin ( ψ ‾ o c f ) ] + [ 1 2 g o c f x t g 2 1 2 g o c f y t g 2 1 2 g o c f z t g 2 ] + [ x ˙ o c f i t g y ˙ o c f i t g z ˙ o c f i t g ] + [ x o c f i y o c f i z o c f i ] (25) \left[ \begin{gathered}{x_{ocff}} \\ {y_{ocff}} \\ {z_{ocff}}\end{gathered}\right] = \left[ \begin{gathered} {F 2\left(t_{g}\right) \cos \left(\overline{\varphi}_{ocf}\right)+F 2\left(t_{g}\right) K_{\varphi 1} \sin \left(\overline{\varphi}_{ocf}\right) -F3 \left(t_{g}\right) K_{\varphi 2} \sin \left(\overline{\varphi}_{ocf}\right)} \\ {F 2\left(t_{g}\right) \sin \left(\overline{\varphi}_{ocf}\right)-F 2\left(t_{g}\right) K_{\varphi 1} \cos \left(\overline{\varphi}_{ocf}\right)+F 3\left(t_{g}\right) K_{\varphi 2} \cos \left(\overline{\varphi}_{ocf}\right)} \\ {F 2\left(t_{g}\right) K_{\psi 1} \cos \left(\overline{\psi}_{ocf}\right)-F 3\left(t_{g}\right) K_{\psi 2} \cos \left(\overline{\psi}_{ocf}\right)+F 2\left(t_{g}\right) \sin \left(\overline{\psi}_{ocf}\right)} \end{gathered}\right] \\ +\left[ \begin{gathered} {\frac{1}{2} g_{ocfx} t_{g}^{2}} \\ {\frac{1}{2} g_{ocfy} t_{g}^{2}} \\ {\frac{1}{2} g_{ocfz} t_{g}^{2}} \end{gathered}\right] +\left[ \begin{gathered} {\dot{x}_{ocfi} t_{g}} \\ {\dot{y}_{ocfi} t_{g}} \\ {\dot{z}_{ocfi} t_{g}} \end{gathered}\right] +\left[ \begin{gathered} {x_{ocfi}} \\ {y_{ocfi}} \\ {z_{ocfi}} \end{gathered}\right] \tag{25} ⎣
⎡xocffyocffzocff⎦
⎤=⎣
⎡F2(tg)cos(φocf)+F2(tg)Kφ1sin(φocf)−F3(tg)Kφ2sin(φocf)F2(tg)sin(φocf)−F2(tg)Kφ1cos(φocf)+F3(tg)Kφ2cos(φocf)F2(tg)Kψ1cos(ψocf)−F3(tg)Kψ2cos(ψocf)+F2(tg)sin(ψocf)⎦
⎤+⎣
⎡21gocfxtg221gocfytg221gocfztg2⎦
⎤+⎣
⎡x˙ocfitgy˙ocfitgz˙ocfitg⎦
⎤+⎣
⎡xocfiyocfizocfi⎦
⎤(25)
其中 F 2 ( t ) F2(t) F2(t)、 F 3 ( t ) F3(t) F3(t)定义如下
F 2 ( t ) ≜ ∫ 0 t ∫ 0 s V e x t h − t d t d s = F 0 ( t ) ⋅ t − F 1 ( t ) (26) F 2(t) \triangleq \int_{0}^{t} \int_{0}^{s} \frac{V_{ex}}{t_{h}-t} d t d s=F 0(t) \cdot t-F 1(t) \tag{26} F2(t)≜∫0t∫0sth−tVexdtds=F0(t)⋅t−F1(t)(26)
F 3 ( t ) ≜ ∫ 0 t ∫ 0 s V e x t h − t t d t d s = F 2 ( t ) ⋅ t h − V e x 2 t 2 (27) F 3(t) \triangleq \int_{0}^{t} \int_{0}^{s} \frac{V_{ex}}{t_{h}-t} t d t d s=F 2(t) \cdot t_{h}-\frac{V_{ex}}{2}t^{2} \tag{27} F3(t)≜∫0t∫0sth−tVextdtds=F2(t)⋅th−2Vext2(27)
根据等式(23)和(25)可得[2][5]
K φ 1 = y o c f f − F 2 ( t g ) sin ( φ ‾ o c f ) − 1 2 g o c f y t g 2 − y ˙ o c f i t g − y o c f i [ − F 2 ( t g ) + F 3 ( t g ) F 0 ( t g ) F 1 ( t g ) ] cos ( φ ‾ o c f ) (28) K_{\varphi 1}=\frac{y_{ocff}-F2\left(t_{g}\right) \sin \left(\overline{\varphi}_{ocf} \right)- \frac{1}{2} g_{ocfy} t_{g}^{2}-\dot{y}_{ocfi} t_{g}-y_{ocfi}}{\left[ -F2 \left(t_{g}\right)+\frac{F 3\left(t_{g}\right) F 0\left(t_{g}\right)}{F 1\left(t_{g}\right)}\right] \cos \left(\overline{\varphi}_{o c f}\right)} \tag{28} Kφ1=[−F2(tg)+F1(tg)F3(tg)F0(tg)]cos(φocf)yocff−F2(tg)sin(φocf)−21gocfytg2−y˙ocfitg−yocfi(28)
K φ 2 = [ y o c f f − F 2 ( t g ) sin ( φ ‾ o c f ) − 1 2 g o c f y t g 2 − y ˙ o c f i t g − y o c f i ] F 0 ( t g ) [ − F 2 ( t g ) F 1 ( t g ) + F 3 ( t g ) F 0 ( t g ) ] cos ( φ ‾ o c f ) (29) K_{\varphi 2}=\frac{\left[y_{ocff}-F2\left(t_{g}\right) \sin \left(\overline{\varphi}_{ocf}\right)-\frac{1}{2} g_{ocfy} t_{g}^{2}-\dot{y}_{ocfi} t_{g}-y_{ocfi}\right] F0\left(t_{g}\right)}{\left[-F2\left(t_{g}\right) F1\left(t_{g}\right)+F3\left(t_{g}\right) F0\left(t_{g}\right)\right] \cos \left(\overline{\varphi}_{ocf}\right)} \tag{29} Kφ2=[−F2(tg)F1(tg)+F3(tg)F0(tg)]cos(φocf)[yocff−F2(tg)sin(φocf)−21gocfytg2−y˙ocfitg−yocfi]F0(tg)(29)
K ψ 1 = z o c f f − 1 2 g o c f z t g 2 − z ˙ o c f i t g − z o c f i + F 2 ( t g ) sin ( ψ ‾ o c f ) [ F 2 ( t g ) − F 3 ( t g ) F 0 ( t g ) F 1 ( t g ) ] cos ( ψ ‾ o c f ) (30) K_{\psi 1}=\frac{z_{ocff}-\frac{1}{2} g_{ocfz} t_{g}^{2}-\dot{z}_{ocfi} t_{g}-z_{ocfi}+F 2\left(t_{g}\right) \sin \left(\overline{\psi}_{ocf}\right)}{\left[ F2\left(t_{g}\right)-\frac{F 3\left(t_{g}\right) F 0\left(t_{g}\right)}{F 1\left(t_{g}\right)}\right] \cos \left(\overline{\psi}_{o c f}\right)} \tag{30} Kψ1=[F2(tg)−F1(tg)F3(tg)F0(tg)]cos(ψocf)zocff−21gocfztg2−z˙ocfitg−zocfi+F2(tg)sin(ψocf)(30)
K ψ 2 = [ z o c f f − 1 2 g o c f z t g 2 − z ˙ o c f i t g − z o c f i + F 2 ( t g ) sin ( ψ ‾ o c f ) ] F 0 ( t g ) [ F 2 ( t g ) F 1 ( t g ) − F 3 ( t g ) F 0 ( t g ) ] cos ( ψ ‾ o c f ) (31) K_{\psi 2}=\frac{\left[z_{ocff}-\frac{1}{2} g_{ocfz} t_{g}^{2}-\dot{z}_{ocfi} t_{g}-z_{ocfi} + F2\left(t_{g}\right) \sin \left(\overline{\psi}_{ocf}\right)\right] F0\left(t_{g}\right)}{\left[ F 2\left(t_{g}\right) F 1\left(t_{g}\right)-F 3\left(t_{g}\right) F 0\left(t_{g}\right)\right] \cos \left(\overline{\psi}_{ocf}\right)} \tag{31} Kψ2=[F2(tg)F1(tg)−F3(tg)F0(tg)]cos(ψocf)[zocff−21gocfztg2−z˙ocfitg−zocfi+F2(tg)sin(ψocf)]F0(tg)(31)
计算重力损失修正常数 k k k
火箭瞬时速度矢量在目标轨道平面的投影记为 V x y \boldsymbol{V}_{xy} Vxy,如果火箭以速度 V x y \boldsymbol{V}_{xy} Vxy匀速飞行,飞行的航程是 ∥ V x y ∥ t \Vert \boldsymbol{V}_{xy}\Vert t ∥Vxy∥t,但是飞行中还有推力和引力用,公式(26)计算出了推力产生的位移为 F 2 ( t g ) F2(t_{g}) F2(tg),迭代制导原始文献[3]中将引力对位移的影响设为 k t g 2 kt^{2}_{g} ktg2,其中 k k k就是重力损失修正常数,该常数与飞行任务有关。记火箭轨迹在轨道平面内投影的长度为 S 1 S_{1} S1,则 S 1 = ∥ V x y ∥ t g + F 2 ( t g ) + k t g 2 S_{1}=\Vert \boldsymbol{V}_{xy}\Vert t _{g} + F2(t_{g}) + kt^{2}_{g} S1=∥Vxy∥tg+F2(tg)+ktg2
文献[1]使用了另一种方法估计火箭轨迹在轨道平面内投影的长度。求视加速度 F / m F/m F/m在升交点轨道坐标系中的分量 W r c f x 、 W r c f y 、 W r c f z W_{rcfx}、W_{rcfy}、W_{rcfz} Wrcfx、Wrcfy、Wrcfz(实际时由导航系统输入),在轨道面内的耗尽时间 t h o r b i t = V e x / W r c f x 2 + W r c f y 2 t_{horbit}=V_{ex}/\sqrt{W^2_{rcfx}+W^2_{rcfy}} thorbit=Vex/Wrcfx2+Wrcfy2,用 t h o r b i t t_{horbit} thorbit替换 F 0 ( t ) F0(t) F0(t)、 F 1 ( t ) F1(t) F1(t)、 F 2 ( t ) F2(t) F2(t)中的 t h t_{h} th可得
F 0 ( t ) o r b i t ≜ ∫ 0 t V e x t h o r b i t − t d t = V e x ln t h o r b i t t h o r b i t − t (32) F0(t)_{orbit} \triangleq \int_{0}^{t} \frac{V_{ex}}{t_{horbit}-t} d t=V_{ex} \ln \frac{t_{horbit}}{t_{horbit}-t} \tag{32} F0(t)orbit≜∫0tthorbit−tVexdt=Vexlnthorbit−tthorbit(32)
F 1 ( t ) o r b i t ≜ ∫ 0 t V e x t h o r b i t − t t d t = t h o r b i t F 0 ( t ) o r b i t − V e x t (33) F1(t)_{orbit} \triangleq \int_{0}^{t} \frac{V_{ex}}{t_{horbit}-t} t d t=t_{horbit} F0(t)_{orbit}-V_{ex} t \tag{33} F1(t)orbit≜∫0tthorbit−tVextdt=thorbitF0(t)orbit−Vext(33)
F 2 ( t ) o r b i t ≜ ∫ 0 t ∫ 0 s V e x t h o r b i t − t d t d s = F 0 ( t ) o r b i t ⋅ t − F 1 ( t ) o r b i t (34) F 2(t)_{orbit} \triangleq \int_{0}^{t} \int_{0}^{s} \frac{V_{ex}}{t_{horbit}-t} dtds=F0(t)_{orbit} \cdot t-F1(t)_{orbit} \tag{34} F2(t)orbit≜∫0t∫0sthorbit−tVexdtds=F0(t)orbit⋅t−F1(t)orbit(34)
下图中, r x y \boldsymbol{r}_{xy} rxy表示火箭瞬时位置矢量在目标轨道平面的投影, V x y \boldsymbol{V}_{xy} Vxy表示火箭瞬时速度矢量在目标轨道平面的投影,火箭瞬时的当地轨道倾角记为 θ H \theta_{H} θH
cos ( 9 0 ∘ − θ H ) = r x y T V x y ∥ r x y ∥ ∥ V x y ∥ \cos(90^{\circ}-\theta_{H}) = \frac{\boldsymbol{r}_{xy}^{T}\boldsymbol{V}_{xy}}{\Vert\boldsymbol{r}_{xy}\Vert \Vert\boldsymbol{V}_{xy}\Vert} cos(90∘−θH)=∥rxy∥∥Vxy∥rxyTVxy
⟹ cos ( θ H ) = ∣ x y ˙ − y x ˙ ∣ ∥ r x y ∥ ∥ V x y ∥ (35) \implies \cos(\theta_{H}) = \frac{\vert x\dot{y}-y\dot{x}\vert}{\Vert\boldsymbol{r}_{xy}\Vert \Vert\boldsymbol{V}_{xy}\Vert} \tag{35} ⟹cos(θH)=∥rxy∥∥Vxy∥∣xy˙−yx˙∣(35)
其中 r x y = [ x y ] T \boldsymbol{r}_{xy} = \lbrack x \quad y\rbrack^{T} rxy=[xy]T, V x y = [ x ˙ y ˙ ] T \boldsymbol{V}_{xy}=[\dot{x}\quad \dot{y}]^{T} Vxy=[x˙y˙]T
已知入轨点当地的轨道倾角 θ \theta θ,用文献[1]的方法求解火箭轨迹在轨道平面内投影的长度 S 2 S_{2} S2的公式如下[1]
S 2 ≈ ∥ V x y ∥ t g cos θ H + F 2 ( t g ) o r b i t cos θ (36) S_{2} \approx \Vert \boldsymbol{V}_{xy}\Vert t_{g}\cos{\theta_{H}} + F2(t_{g})_{orbit}\cos{\theta} \tag{36} S2≈∥Vxy∥tgcosθH+F2(tg)orbitcosθ(36)
用 S 2 S_{2} S2近似 S 1 S_{1} S1,即 S 1 ≈ S 2 S_{1} \approx S_{2} S1≈S2,可得[2]
∥ V x y ∥ t g + F 2 ( t g ) + k t g 2 ≈ ∥ V x y ∥ t g cos θ H + F 2 ( t g ) o r b i t cos θ \Vert \boldsymbol{V}_{xy}\Vert t_{g} + F2(t_{g}) + kt^{2}_{g} \approx \Vert \boldsymbol{V}_{xy}\Vert t_{g}\cos{\theta_{H}} + F2(t_{g})_{orbit}\cos{\theta} ∥Vxy∥tg+F2(tg)+ktg2≈∥Vxy∥tgcosθH+F2(tg)orbitcosθ
⟹ k ≈ ∥ V x y ∥ t g ( cos θ H − 1 ) + F 2 ( t g ) o r b i t cos θ − F 2 ( t g ) t g 2 (37) \implies k \approx \frac{\Vert \boldsymbol{V}_{xy}\Vert t_{g}(\cos{\theta_{H}-1}) + F2(t_{g})_{orbit}\cos{\theta} - F2(t_{g})} {t^2_{g}} \tag{37} ⟹k≈tg2∥Vxy∥tg(cosθH−1)+F2(tg)orbitcosθ−F2(tg)(37)
仿真
用低地球轨道(LEO)任务进行仿真验证,任务简图如图 6,仿真参数如下表[8]
| 装订项 | 值 |
|---|---|
| 制导开始时刻的质量 m 0 m_{0} m0 | 86500 k g 86500kg 86500kg |
| 发动机真空推力 T v a c T_{vac} Tvac | 8 × 1 0 5 N 8\times 10^5 N 8×105N |
| 秒耗量 m ˙ \dot{m} m˙ | 272 k g / s 272kg/s 272kg/s |
| 发射点赤经 | 1 0 ∘ 10^{\circ} 10∘ |
| 发射点经度 | 10 0 ∘ E 100^{\circ}\text{E} 100∘E |
| 发射点地理维度 B 0 B_{0} B0 | 41.190 6 ∘ N 41.1906^{\circ}\text{N} 41.1906∘N |
| 目标轨道半长轴 a a a | 6622785.34 m 6622785.34m 6622785.34m |
| 目标轨道偏心率 e e e | 0 0 0 |
| 目标轨道倾角 i i i | 68.84 6 ∘ 68.846^{\circ} 68.846∘ |
| 目标轨道升交点赤经 Ω \Omega Ω | − 9.96 4 ∘ -9.964^{\circ} −9.964∘ |
| 目标轨道近地点幅角 ω \omega ω | 0 ∘ 0^{\circ} 0∘ |
| 目标入轨点对应的真近点角 f f f | 49.682 3 ∘ 49.6823^{\circ} 49.6823∘ |
| 制导开始时刻火箭相对于发射惯性坐标系的位置 r 0 \boldsymbol{r}_{0} r0 | [ 2.9058 × 1 0 5 92126 − 33401 ] m \left[2.9058\times 10^{5} \enspace 92126\enspace -33401\right]m [2.9058×10592126−33401]m |
| 制导开始时刻火箭相对于发射惯性坐标系的速度 v 0 \boldsymbol{v}_{0} v0 | [ 2815.75 494.703 70.953 ] m / s \left[2815.75 \enspace 494.703 \enspace 70.953 \right]m/s [2815.75494.70370.953]m/s |
| 制导周期 Δ t \Delta t Δt | 2 s 2s 2s |
| 制导开始时刻火箭俯仰角 | 61.338 3 ∘ 61.3383^{\circ} 61.3383∘ |
| 制导开始时刻火箭偏航角 | 0.310 5 ∘ 0.3105^{\circ} 0.3105∘ |
![]() |
仿真结果
入轨点轨道根数如下表
| 入轨点轨道六根数 | 仿真得到的数值 |
|---|---|
| 轨道半长轴 a a a | 6.5608 × 1 0 6 6.5608\times 10^{6} 6.5608×106 |
| 偏心率 e e e | 0.0162 |
| 轨道倾角 i i i | 68.834 0 ∘ 68.8340^{\circ} 68.8340∘ |
| 升交点赤经 Ω \Omega Ω | − 9.984 0 ∘ -9.9840^{\circ} −9.9840∘ |
| 近地点幅角 ω \omega ω | − 68.361 0 ∘ -68.3610^{\circ} −68.3610∘ |
| 入轨点真近点角 f f f | 57.589 9 ∘ 57.5899^{\circ} 57.5899∘ |




从图7可看出,火箭俯仰角 φ \varphi φ随时间变化的趋势在开始时刻有点异常。进行单步调试相关参数变化如下变
| count | f / d e g f/deg f/deg | φ ˉ o c f / d e g \bar{\varphi}_{ocf}/deg φˉocf/deg | t g 0 / s t_{g0}/s tg0/s | t g / s t_g/s tg/s | ϕ / d e g \phi/deg ϕ/deg |
|---|---|---|---|---|---|
| 1 | 57.6823 | 14.9774 | 260 | 261.2839 | 57.6823 |
| 2 | 58.0049 | 14.8186 | 258 | 259.4437 | 58.0049 |
| 3 | 57.9859 | 14.4737 | 256 | 257.5097 | 57.9859 |
| 4 | 579736 | 14.3217 | 254 | 255.6799 | 57.9736 |
| 5 | 57.9615 | 14.1649 | 252 | 253.8467 | 57.9610 |
| … | … | … | … | … | … |
从表中数据可以看出入轨点真近点角 f f f是产生该突变的原因,如果调整仿真初始条件表中的入轨点真近点角 f f f可以消除突变。当入轨点真近点角 f = 58.014 9 ∘ f = 58.0149^{\circ} f=58.0149∘时火箭俯仰角变化如图11

参考文献
[1] 韩祝斋. 用于大型运载火箭的迭代制导方法[J]. 宇航学报, 1983, 4(1):12-24.
[2] 李伟. 基于精确控制解的运载火箭迭代制导自适应性分析研究[D]. 哈尔滨工业大学, 2012.
[3] Chandler D C , Smith I E . Development of the iterative guidance mode with its application to various vehicles and missions.[J]. Journal of Spacecraft and Rockets, 1967, 4(7):898-903.
[4] 杨军, 朱学平,等. 飞行器最优控制[M]. 西北工业大学出版社, 2011.
[5] 韩业鹏. 运载火箭上升段动力故障自适应制导研究[D]. 哈尔滨工业大学, 2016.
[6] 陈新民, 余梦伦. 迭代制导在运载火箭上的应用研究[J]. 宇航学报, 2003, 24(5):484-489.
[7] 周国财. 运载火箭迭代制导方法研究[D]. 西北工业大学, 2003.
[8] 升力式天地往返飞行器自主制导方法研究[D]. 哈尔滨工业大学, 2012.
更多推荐




所有评论(0)