陆平老师论文Closed-Loop Endoatmospheric Ascent Guidance读后总结

Closed-Loop Endoatmospheric Ascent Guidance

作者信息:
Ping Lu,爱荷华州立大学,爱荷华州艾姆斯市
Hongsheng Sun
Bruce Tsai

总结人: 鲁鹏,北京理工大学宇航学院
2019.05.09

文章结构

  1. 引言
  2. 大气层内上升制导问题的数学模型
    1. 上升段动力学方程
    2. 最优控制问题
    3. 确定 Φ \Phi Φ α \alpha α的符号
    4. 添加路径约束
  3. 数值方法
    1. 有限差分方法
    2. 更新算法
    3. Continuation on Atmospheric Density和初值猜测
  4. 仿真
    1. 终端条件和上升时间调整
    2. 开环解
    3. 闭环仿真
  5. 结论
  • 附录A:三维最优上升问题的协态微分方程
  • 附录B:真空最优上升问题解析解

收获

  1. 运载器的在惯性坐标系中的动力学方程中的 r \boldsymbol{r} r是运载器的地心位置矢量
  2. 质量变化率公式 m ˙ = − η T v a c / ( g 0 I s p ) \dot{m} = -\eta T_{vac}/(g_{0}I_{sp}) m˙=ηTvac/(g0Isp)中的 g 0 g_{0} g0是地球表面的重力加速度。探测器月球表面软着陆也使用这个质量变化公式, g 0 g_{0} g0 依然是地球表面的重力加速度
  3. 地球自传给垂直发射运载器带来水平方向(相对于发射惯性坐标系)的初始速度
  4. 运载器上升段制导中,常用 J = 1 / r f − V f 2 / 2 J = 1/r_{f}-V^{2}_{f}/2 J=1/rfVf2/2 作为目标函数,使 J J J最小,则末端能量 − 1 / r f + V f 2 / 2 -1/r_{f}+V^{2}_{f}/2 1/rf+Vf2/2最大

优缺点

to be added …

难理解的部分

约束 S 1 = q α − Q α ≤ 0 S_{1} = q\alpha - Q_{\alpha} \leq 0 S1=qαQα0零阶约束,因为控制量 1 b \boldsymbol{1}_{b} 1b直接出现在约束中(通过 α \alpha α),约束 S 3 = q − q m a x ≤ 0 S_{3} = q - q_{max} \leq 0 S3=qqmax0是一阶约束,因为控制量 1 b \boldsymbol{1}_{b} 1b出现在 S 3 S_{3} S3对时间的一阶导数中。

公式推导

文章中的公式有很多值得注意的细节,文章中的错误也一并记录下来。

1. 真空最优上升解

真空主动段动力学方程

归一化后的方程[1]
r ˙ = V V ˙ = − r + T ( τ ) 1 b \begin{aligned} \dot{\boldsymbol{r}} =& \boldsymbol{V} \\ \dot{\boldsymbol{V}} = -\boldsymbol{r} +& T(\tau)\boldsymbol{1}_{b} \\ \end{aligned} r˙=V˙=r+VT(τ)1b

动力学方程可以简化为这种形式的前提是引力加速度做如下近似
g = − ( μ E / r 0 3 ) r = − ω 2 r \boldsymbol{g} = -(\mu_{E}/r^{3}_{0})\boldsymbol{r} = -\omega^{2}\boldsymbol{r} g=(μE/r03)r=ω2r

为了减小引力简化带来的误差,在每一次制导环的开始更新 r 0 r_{0} r0.

该方程的解析解如下所示[1-3]
[ p v ( τ ) − p r ( τ ) ] = [ cos ⁡ τ I 3 sin ⁡ τ I 3 − sin ⁡ τ I 3 cos ⁡ τ I 3 ] [ p v 0 − p r 0 ] = Ω ( τ ) [ p v 0 − p r 0 ] \begin{bmatrix} \boldsymbol{p}_{v}(\tau)\\ -\boldsymbol{p}_{r}(\tau)\\ \end{bmatrix} = \begin{bmatrix} \cos{\tau}{I}_{3} & \sin{\tau}{I}_{3}\\ -\sin{\tau}{I}_{3} & \cos{\tau}{I}_{3}\\ \end{bmatrix} \begin{bmatrix} \boldsymbol{p}_{v0}\\ -\boldsymbol{p}_{r0}\\ \end{bmatrix} = \Omega(\tau) \begin{bmatrix} \boldsymbol{p}_{v0}\\ -\boldsymbol{p}_{r0}\\ \end{bmatrix} [pv(τ)pr(τ)]=[cosτI3sinτI3sinτI3cosτI3][pv0pr0]=Ω(τ)[pv0pr0]

[ r ( τ ) V ( τ ) ] = Ω ( τ ) [ r 0 V 0 ] + Γ ( τ ) W \begin{bmatrix} \boldsymbol{r}(\tau)\\ \boldsymbol{V}(\tau)\\ \end{bmatrix} = \Omega(\tau) \begin{bmatrix} \boldsymbol{r}_{0}\\ \boldsymbol{V}_{0}\\ \end{bmatrix} + \Gamma(\tau) \mathrm{W} [r(τ)V(τ)]=Ω(τ)[r0V0]+Γ(τ)W

Γ ( τ ) = [ sin ⁡ τ I 3 − cos ⁡ τ I 3 cos ⁡ τ I 3 sin ⁡ τ I 3 ] \Gamma(\tau) = \begin{bmatrix} \sin{\tau}{I}_{3} & -\cos{\tau}{I}_{3}\\ \cos{\tau}{I}_{3} & \sin{\tau}{I}_{3}\\ \end{bmatrix} Γ(τ)=[sinτI3cosτI3cosτI3sinτI3]

W = [ I c I s ] = [ ∫ 0 τ 1 p v ( ζ ) cos ⁡ ( ζ ) T ( ζ ) d ζ ∫ 0 τ 1 p v ( ζ ) sin ⁡ ( ζ ) T ( ζ ) d ζ ] \mathrm{W} = \begin{bmatrix} I_{c} \\ I_{s} \end{bmatrix} = \begin{bmatrix} \int^{\tau}_{0}\boldsymbol{1}_{pv}(\zeta)\cos(\zeta) T(\zeta) d\zeta \\ \int^{\tau}_{0}\boldsymbol{1}_{pv}(\zeta)\sin(\zeta) T(\zeta) d\zeta \\ \end{bmatrix} W=[IcIs]=[0τ1pv(ζ)cos(ζ)T(ζ)dζ0τ1pv(ζ)sin(ζ)T(ζ)dζ]
其中, I 3 I_{3} I3 3 × 3 3\times 3 3×3的单位矩阵。通过公式可以看出初始协态变量的模 ( p v 0 T p v 0 + p r 0 T p r 0 ) (\boldsymbol{p}_{v0}^{T}\boldsymbol{p}_{v0}+\boldsymbol{p}_{r0}^{T}\boldsymbol{p}_{r0}) (pv0Tpv0+pr0Tpr0)对协态变量之后的方向变化没有任何影响,只影响协态变量的大小。考虑到状态的解析解只和 1 p v \boldsymbol{1}_{pv} 1pv有关,所以初始协态变量的模对状态也没有影响。

质量推力和发动机阀门

首先声明,程序中我在求解质量推力和发动机阀门大小时未对质量和时间归一化,只是在每个时间区间用对应的引力加速度对推力加速度 T ( t ) T(t) T(t)进行了归一化。

  1. T < T m a x T<T_{max} T<Tmax

m ( t ) = m 0 − T v a c c t T ( t ) = T v a c m ( t ) g 0 η ( t ) = 1 \begin{aligned} m(t) =& m_{0} - \frac{T_{vac}}{c}t \\ T(t) =& \frac{T_{vac}}{m(t)g_{0}} \\ \eta(t) =& 1 \\ \end{aligned} m(t)=T(t)=η(t)=m0cTvactm(t)g0Tvac1

其中, T v a c T_{vac} Tvac是发动机真空推力, g 0 g_{0} g0是运载器所在某时间区间 [ t i , t i + τ ] \lbrack t_{i},t_{i}+\tau \rbrack [ti,ti+τ]内的引力加速度值,喷嘴等效气流速度(nozzle exit velocity) c = g E I s p c = g_{E}I_{sp} c=gEIsp g E g_{E} gE是地球表面重力加速度, m ( t ) m(t) m(t)是运载器质量, m 0 m_{0} m0是运载器质量初始值, T ( t ) T(t) T(t)是被 g 0 g_{0} g0归一化后的推力加速度, η \eta η是发动机阀门。
随着 T T T不断增大,假设在 t c t_{c} tc时刻,推力加速度达到最大(取 T m a x = 4 g e T_{max}=4g_{e} Tmax=4ge),此后推力加速度 T T T保持最大,并且 t c t_{c} tc时刻在 [ t i , t i + τ ] \lbrack t_{i},t_{i}+\tau\rbrack [ti,ti+τ]内,那么
T v a c [ m 0 − ( T v a c / c ) t c ] g 0 = T m a x g 0 \frac{T_{vac}}{\lbrack m_{0}-(T_{vac}/c)t_{c}\rbrack g_{0}} = \frac{T_{max}}{g_{0}} [m0(Tvac/c)tc]g0Tvac=g0Tmax

所以
t c = c ( m 0 T v a c − 1 T m a x ) t_c = c(\frac{m_{0}}{T_{vac}}-\frac{1}{T_{max}}) tc=c(Tvacm0Tmax1)

  1. T = T m a x T=T_{max} T=Tmax后,即 t ⩾ t c t \geqslant t_{c} ttc

m ( t ) = m t c e − ( T m a x / c ) t T ( t ) = T m a x g 0 η ( t ) = T m a x m ( t ) T v a c \begin{aligned} m(t) =& m_{t_{c}}e^{-(T_{max}/c)t} \\ T(t) =& \frac{T_{max}}{g_{0}} \\ \eta(t) =& \frac{T_{max}m(t)}{T_{vac}} \\ \end{aligned} m(t)=T(t)=η(t)=mtce(Tmax/c)tg0TmaxTvacTmaxm(t)

此时的 g 0 g_{0} g0是某时间区间 [ t j , t j + τ ] \lbrack t_{j},t_{j}+\tau \rbrack [tj,tj+τ](注意 t j + τ ⩾ t c t_{j}+\tau \geqslant t_{c} tj+τtc)内引力加速度, T ( t ) T(t) T(t)是被 g 0 g_{0} g0归一化后的推力加速度, m t c m_{t_{c}} mtc t c t_{c} tc时刻运载器的质量。

垂直上升结束时运载器在发射点惯性坐标系中的位置和速度

运载器在垂直上升结束后制导率才开始工作,不同运载器有不同的垂直上升时间 t 0 t_{0} t0。文献[5]中垂直上升时间 t 0 t_{0} t0取9s,文献[1]中垂直上升时间 t 0 t_{0} t0取5s。
垂直上升阶段运载器推力加速度满足最大推力加速度约束,此时运载器所受加速度
a v e h i c l e ( t ) = T v a c − m ( t ) g E m ( t ) a_{vehicle}(t) = \frac{T_{vac} - m(t)g_{E}}{m(t)} avehicle(t)=m(t)Tvacm(t)gE

所以,对加速度积分可以得到竖直上升的速度 v 0 x ( t ) v_{0x}(t) v0x(t)
v 0 = [ v 0 x ( t 0 ) , v 0 y , v 0 z ] T v 0 x ( t ) = − c ln ⁡ ( m 0 − T v a c c t ) − g E t + c ln ⁡ ( m 0 ) \begin{aligned} v_{0} = &\lbrack v_{0x}(t_{0}), v_{0y}, v_{0z}\rbrack ^{T}\\ v_{0x}(t) = -c\ln(&m_{0}-\frac{T_{vac}}{c}t) - g_{E}t + c\ln(m_{0}) \end{aligned} v0=v0x(t)=cln([v0x(t0),v0y,v0z]Tm0cTvact)gEt+cln(m0)

其中 v 0 y , v 0 z v_{0y},v_{0z} v0y,v0z是由地球自转引起的水平面内的速度在y和z轴上的分量。对速度 v 0 x ( t ) v_{0x}(t) v0x(t)积分可得 r 0 x ( t ) r_{0x}(t) r0x(t)
r 0 = [ r 0 x ( t 0 ) , v 0 y t 0 , v 0 z t 0 ] T r 0 x ( t ) = c 2 T v a c ( m 0 − T v a c c t ) [ ln ⁡ ( m 0 − T v a c c t ) − 1 ] − 1 2 g E t 2 + c ln ⁡ ( m 0 ) t + c 2 T v a c m 0 [ 1 − ln ⁡ ( m 0 ) ] \begin{aligned} r_{0} = \lbrack r_{0x}(t_{0}), v_{0y}&t_{0}, v_{0z}t_{0}\rbrack ^{T} \\ r_{0x}(t) = \frac{c^2}{T_{vac}}(m_{0} - \frac{T_{vac}}{c}t) \lbrack \ln(&m_{0} - \frac{T_{vac}}{c}t)-1 \rbrack - \frac{1}{2}g_{E}t^{2} + \\ c\ln(m_{0})t + \frac{c^2}{T_{vac}}m_{0}\lbrack &1 - \ln(m_{0}) \rbrack \end{aligned} r0=[r0x(t0),v0yr0x(t)=Tvacc2(m0cTvact)[ln(cln(m0)t+Tvacc2m0[t0,v0zt0]Tm0cTvact)1]21gEt2+1ln(m0)]

终端约束和横截条件得到的约束方程 Ψ = 0 {\Psi} = \mathbf{0} Ψ=0

方程如下[1]
1 2 r f T r f − 1 2 r f ∗ 2 = 0 \frac{1}{2}\boldsymbol{r}^{T}_{f}\boldsymbol{r}_{f} - \frac{1}{2}r^{*2}_{f} = 0 21rfTrf21rf2=0

1 N T ( r f × V f ) − ∥ r f × V f ∥ cos ⁡ i ∗ = 0 \boldsymbol{1}^{T}_{N}(\boldsymbol{r}_{f}\times \boldsymbol{V}_{f})-\lVert \boldsymbol{r}_{f}\times \boldsymbol{V}_{f}\rVert \cos{i^{*}} = 0 1NT(rf×Vf)rf×Vfcosi=0

r f T V f − r f V f sin ⁡ γ f ∗ = 0 \boldsymbol{r}^{T}_{f}\boldsymbol{V}_{f} - r_{f}V_{f}\sin{\gamma^{*}_{f}} = 0 rfTVfrfVfsinγf=0

( V f T p r f ) r f 2 − ( r f T p V f ) V f 2 + ( r f T V f ) ( V f 2 − r f T p r f ) = 0 (\boldsymbol{V}^{T}_{f}\boldsymbol{p}_{rf})r^{2}_{f} - (\boldsymbol{r}^{T}_{f}\boldsymbol{p}_{Vf})V^{2}_{f} + (\boldsymbol{r}^{T}_{f}\boldsymbol{V}_{f})(V^{2}_{f} - \boldsymbol{r}^{T}_{f}\boldsymbol{p}_{rf}) = 0 (VfTprf)rf2(rfTpVf)Vf2+(rfTVf)(Vf2rfTprf)=0

V f T p V f − V f 2 = 0 \boldsymbol{V}^{T}_{f}\boldsymbol{p}_{Vf} - V^{2}_{f} = 0 VfTpVfVf2=0

( h f T p r f ) [ h f T ( r f × 1 N ) ] + ( h f T p V f ) [ h f T ( V f × 1 N ) ] = 0 (\boldsymbol{h}^{T}_{f}\boldsymbol{p}_{rf})\lbrack \boldsymbol{h}^{T}_{f}(\boldsymbol{r}_{f}\times \boldsymbol{1}_{N})\rbrack + (\boldsymbol{h}^{T}_{f}\boldsymbol{p}_{Vf})\lbrack \boldsymbol{h}^{T}_{f}(\boldsymbol{V}_{f}\times \boldsymbol{1}_{N})\rbrack = 0 (hfTprf)[hfT(rf×1N)]+(hfTpVf)[hfT(Vf×1N)]=0

Ψ {\Psi} Ψ对状态和协态变量的导数

f 1 f_1 f1对状态变量和协态变量求导
∂ f 1 ∂ r f = r f , ∂ f 1 ∂ V f = 0 , ∂ f 1 ∂ p V f = 0 , ∂ f 1 ∂ p r f = 0 \frac{\partial f_{1}}{\partial \boldsymbol{r}_{f}} = \boldsymbol{r}_{f}, \frac{\partial f_{1}}{\partial \boldsymbol{V}_{f}} = \boldsymbol{0}, \frac{\partial f_{1}}{\partial \boldsymbol{p}_{Vf}} = \boldsymbol{0}, \frac{\partial f_{1}}{\partial \boldsymbol{p}_{rf}} = \boldsymbol{0} rff1=rf,Vff1=0,pVff1=0,prff1=0

f 2 f_2 f2对状态变量和协态变量求导
∂ f 2 ∂ r f = V f × 1 N + ( V f × ) T ( r f × V f ) cos ⁡ i ∗ ∥ r f × V f ∥ \frac{\partial f_{2}}{\partial \boldsymbol{r}_{f}} = \boldsymbol{V}^{\times}_{f}\boldsymbol{1}_{N} + (\boldsymbol{V}^{\times}_{f})^{T}(\boldsymbol{r}_{f}\times \boldsymbol{V}_{f})\frac{\cos{i^{*}}}{\lVert \boldsymbol{r}_{f}\times \boldsymbol{V}_{f}\rVert} rff2=Vf×1N+(Vf×)T(rf×Vf)rf×Vfcosi

∂ f 2 ∂ V f = ( r f × ) T 1 N + r f × ( r f × V f ) cos ⁡ i ∗ ∥ r f × V f ∥ \frac{\partial f_{2}}{\partial \boldsymbol{V}_{f}} = (\boldsymbol{r}^{\times}_{f})^{T}\boldsymbol{1}_{N} + \boldsymbol{r}^{\times}_{f}(\boldsymbol{r}_{f}\times \boldsymbol{V}_{f})\frac{\cos{i^{*}}}{\lVert \boldsymbol{r}_{f}\times \boldsymbol{V}_{f}\rVert} Vff2=(rf×)T1N+rf×(rf×Vf)rf×Vfcosi

∂ f 2 ∂ p V f = 0 , ∂ f 2 ∂ p r f = 0 \frac{\partial f_{2}}{\partial \boldsymbol{p}_{Vf}} = \boldsymbol{0}, \frac{\partial f_{2}}{\partial \boldsymbol{p}_{rf}} = \boldsymbol{0} pVff2=0,prff2=0

f 3 f_3 f3对状态变量和协态变量求导
∂ f 3 ∂ r f = V f − ( V f sin ⁡ γ ∗ ) r f / r f \frac{\partial f_{3}}{\partial \boldsymbol{r}_{f}} = \boldsymbol{V}_{f} - (V_{f}\sin{\gamma^{*})}\boldsymbol{r}_{f}/r_{f} rff3=Vf(Vfsinγ)rf/rf

∂ f 3 ∂ V f = r f − ( r f sin ⁡ γ ∗ ) V f / V f \frac{\partial f_{3}}{\partial \boldsymbol{V}_{f}} = \boldsymbol{r}_{f} - (r_{f}\sin{\gamma^{*})}\boldsymbol{V}_{f}/V_{f} Vff3=rf(rfsinγ)Vf/Vf

∂ f 3 ∂ p V f = 0 , ∂ f 3 ∂ p r f = 0 \frac{\partial f_{3}}{\partial \boldsymbol{p}_{Vf}} = \boldsymbol{0}, \frac{\partial f_{3}}{\partial \boldsymbol{p}_{rf}} = \boldsymbol{0} pVff3=0,prff3=0

f 4 f_{4} f4对状态变量和协态变量求导
∂ f 4 ∂ r f = 2 ( V f T p r f ) r f − V f 2 p v f + V f 2 V f − ( r f T p r f ) V f − ( r f T V f ) p r f \frac{\partial f_{4}}{\partial \boldsymbol{r}_{f}} = 2(\boldsymbol{V}^{T}_{f}\boldsymbol{p}_{rf})\boldsymbol{r}_{f} - V^{2}_{f}\boldsymbol{p}_{vf} + V^{2}_{f}\boldsymbol{V}_{f} - (\boldsymbol{r}^{T}_{f}\boldsymbol{p}_{rf})\boldsymbol{V}_{f} - (\boldsymbol{r}^{T}_{f}\boldsymbol{V}_{f})\boldsymbol{p}_{rf} rff4=2(VfTprf)rfVf2pvf+Vf2Vf(rfTprf)Vf(rfTVf)prf

∂ f 4 ∂ V f = r f 2 p r f − 2 ( r f T p V f ) V f + V f 2 r f + 2 ( r f T V f ) V f − ( r f T p r f ) r f \frac{\partial f_{4}}{\partial \boldsymbol{V}_{f}} = r^{2}_{f}\boldsymbol{p}_{rf} - 2(\boldsymbol{r}^{T}_{f}\boldsymbol{p}_{Vf})\boldsymbol{V}_{f} + V^{2}_{f}\boldsymbol{r}_{f} + 2(\boldsymbol{r}^{T}_{f}\boldsymbol{V}_{f})\boldsymbol{V}_{f} - (\boldsymbol{r}^{T}_{f}\boldsymbol{p}_{rf})\boldsymbol{r}_{f} Vff4=rf2prf2(rfTpVf)Vf+Vf2rf+2(rfTVf)Vf(rfTprf)rf

∂ f 4 ∂ p V f = − V f 2 r f , ∂ f 4 ∂ p r f = r f 2 V f − ( r f T V f ) r f \frac{\partial f_{4}}{\partial \boldsymbol{p}_{Vf}} = -V^{2}_{f}\boldsymbol{r}_{f}, \frac{\partial f_{4}}{\partial \boldsymbol{p}_{rf}} = r^{2}_{f}\boldsymbol{V}_{f} - (\boldsymbol{r}^{T}_{f}\boldsymbol{V}_{f})\boldsymbol{r}_{f} pVff4=Vf2rf,prff4=rf2Vf(rfTVf)rf

f 5 f_{5} f5对状态变量和协态变量求导
∂ f 5 ∂ r f = 0 , ∂ f 5 ∂ V f = p V f − 2 V f \frac{\partial f_{5}}{\partial \boldsymbol{r}_{f}} = \boldsymbol{0}, \frac{\partial f_{5}}{\partial \boldsymbol{V}_{f}} = \boldsymbol{p}_{Vf}-2\boldsymbol{V}_{f} rff5=0,Vff5=pVf2Vf

∂ f 5 ∂ p V f = V f , ∂ f 5 ∂ p r f = 0 \frac{\partial f_{5}}{\partial \boldsymbol{p}_{Vf}} = \boldsymbol{V}_{f}, \frac{\partial f_{5}}{\partial \boldsymbol{p}_{rf}} = \boldsymbol{0} pVff5=Vf,prff5=0

f 6 f_{6} f6对状态变量和协态变量求导
∂ f 6 ∂ r f = [ h f T ( r f × 1 N ) ] V f × p r f + ( h f T p r f ) [ ( V f × ) T 1 N × + ( 1 N × ) T V f × ] r f + [ h f T ( V f × 1 N ) ] V f × p V f + ( h f T p V f ) [ ( V f × ) 2 1 N ] \begin{aligned} \frac{\partial f_{6}}{\partial \boldsymbol{r}_{f}} = &\lbrack \boldsymbol{h}^{T}_{f}(\boldsymbol{r}_{f}\times \boldsymbol{1}_{N})\rbrack \boldsymbol{V}^{\times}_{f}\boldsymbol{p}_{rf} + (\boldsymbol{h}^{T}_{f}\boldsymbol{p}_{rf})\lbrack (\boldsymbol{V}^{\times}_{f})^{T}\boldsymbol{1}^{\times}_{N} + (\boldsymbol{1}^{\times}_{N})^{T}\boldsymbol{V}^{\times}_{f}\rbrack \boldsymbol{r}_{f}\\ &+\lbrack \boldsymbol{h}^{T}_{f}(\boldsymbol{V}_{f}\times \boldsymbol{1}_{N})\rbrack \boldsymbol{V}^{\times}_{f}\boldsymbol{p}_{Vf} + (\boldsymbol{h}^{T}_{f}\boldsymbol{p}_{Vf}) \lbrack (\boldsymbol{V}^{\times}_{f})^{2}\boldsymbol{1}_{N}\rbrack \end{aligned} rff6=[hfT(rf×1N)]Vf×prf+(hfTprf)[(Vf×)T1N×+(1N×)TVf×]rf+[hfT(Vf×1N)]Vf×pVf+(hfTpVf)[(Vf×)21N]

∂ f 6 ∂ V f = [ h f T ( r f × 1 N ) ] ( r f × ) T p r f + ( h f T p r f ) [ − ( r f × ) 2 1 N ] + [ h f T ( V f × 1 N ) ] ( r f × ) T p V f + ( h f T p V f ) ( r f × 1 N × + 1 N × r f × ) V f \begin{aligned} \frac{\partial f_{6}}{\partial \boldsymbol{V}_{f}} = &\lbrack \boldsymbol{h}^{T}_{f}(\boldsymbol{r}_{f}\times \boldsymbol{1}_{N})\rbrack (\boldsymbol{r}^{\times}_{f})^{T}\boldsymbol{p}_{rf} + (\boldsymbol{h}^{T}_{f}\boldsymbol{p}_{rf})\lbrack -(\boldsymbol{r}^{\times}_{f})^{2}\boldsymbol{1}_{N}\rbrack \\ &+\lbrack \boldsymbol{h}^{T}_{f}(\boldsymbol{V}_{f}\times \boldsymbol{1}_{N})\rbrack (\boldsymbol{r}^{\times}_{f})^{T}\boldsymbol{p}_{Vf} + (\boldsymbol{h}^{T}_{f}\boldsymbol{p}_{Vf})(\boldsymbol{r}^{\times}_{f}\boldsymbol{1}^{\times}_{N} + \boldsymbol{1}^{\times}_{N}\boldsymbol{r}^{\times}_{f}) \boldsymbol{V}_{f} \end{aligned} Vff6=[hfT(rf×1N)](rf×)Tprf+(hfTprf)[(rf×)21N]+[hfT(Vf×1N)](rf×)TpVf+(hfTpVf)(rf×1N×+1N×rf×)Vf

∂ f 6 ∂ p V f = [ h f T ( V f × 1 N ) ] h f \frac{\partial f_{6}}{\partial \boldsymbol{p}_{Vf}} = \lbrack \boldsymbol{h}^{T}_{f}(\boldsymbol{V}_{f}\times \boldsymbol{1}_{N})\rbrack \boldsymbol{h}_{f} pVff6=[hfT(Vf×1N)]hf

∂ f 6 ∂ p r f = [ h f T ( r f × 1 N ) ] h f \frac{\partial f_{6}}{\partial \boldsymbol{p}_{rf}} = \lbrack \boldsymbol{h}^{T}_{f}(\boldsymbol{r}_{f}\times \boldsymbol{1}_{N})\rbrack \boldsymbol{h}_{f} prff6=[hfT(rf×1N)]hf

计算雅克比矩阵

计算雅克比矩阵,用于牛顿迭代法求解协态变量初值,过程跟参考文献[2]方法相同。考虑到完整性,在下面列出推导过程

定义 U T = [ S T λ T ] {U}^{T}=\left[S^{T}\quad \lambda^{T}\right] UT=[STλT] J T = [ I c T ( τ ) I s T ( τ ) ] {J}^{T}=\left[I_{c}^{T}(\tau)\quad I_{s}^{T}(\tau)\right] JT=[IcT(τ)IsT(τ)],其中 τ = t − t i \tau=t-t_{i} τ=tti,则有下式成立
d U ( t i + τ ) = B ( τ ) d U ( t i ) , d U T ( t 0 ) = [ 0 d λ 0 T ] d {U}\left(t_{i}+\tau\right)=B(\tau) d{U}\left(t_{i}\right) ,\quad d{U}^{T}\left(t_{0}\right)=\left[ \begin{array}{ll}{0} & {d \lambda_{0}^{T}}\end{array}\right] dU(ti+τ)=B(τ)dU(ti),dUT(t0)=[0dλ0T]

其中
B ( τ ) = [ Ω Γ d J ( τ ) d λ ( t i ) 0 Ω ] = [ Ω Γ ( τ ) [ d I c / d λ ( t i ) d I s / d λ ( t i ) ] 0 Ω ] B(\tau)=\left[ \begin{array}{cc}{\Omega} & {\Gamma \frac{d \boldsymbol{J}(\tau)}{d \boldsymbol{\lambda}\left(t_{i}\right)}} \\ \boldsymbol{0} & {\Omega}\end{array}\right]= \begin{bmatrix} \Omega & \Gamma(\tau)\begin{bmatrix} dI_{c}/{d}\lambda(t_{i})\\ {dI_{s}}/{d}\lambda(t_{i})\end{bmatrix}\\ \boldsymbol{0} & \Omega \end{bmatrix} B(τ)=[Ω0Γdλ(ti)dJ(τ)Ω]=Ω0Γ(τ)[dIc/dλ(ti)dIs/dλ(ti)]Ω

K ( τ ) = cos ⁡ ( τ ) T ( τ ) ∥ p V ( τ ) ∥ [ I 3 − p V ( τ ) ( p V ( τ ) ) T ∥ p V ( τ ) ∥ 2 ] [ cos ⁡ ( τ ) I 3 sin ⁡ ( τ ) I 3 ] K(\tau)=\frac{\cos(\tau)T(\tau)}{\lVert \boldsymbol{p}_{V}(\tau)\rVert}\lbrack {I}_{3} - \frac{\boldsymbol{p}_{V}(\tau)({\boldsymbol{p}_{V}(\tau)})^{T}}{{\lVert \boldsymbol{p}_{V}(\tau)\rVert}^{2}}\rbrack \lbrack \cos(\tau){I}_{3} \enspace \sin(\tau){I}_{3}\rbrack K(τ)=pV(τ)cos(τ)T(τ)[I3pV(τ)2pV(τ)(pV(τ))T][cos(τ)I3sin(τ)I3]

d I c ( τ ) d λ ( t i ) = τ [ 7 K ( 0 ) + 32 K ( δ ) + 12 K ( 2 δ ) + 32 K ( 3 δ ) + 7 K ( 4 δ ) ] 90 \frac{d{I}_{c}(\tau)}{d{\lambda}(t_{i})} = \frac{\tau \lbrack 7{K}(0) + 32{K}(\delta) + 12{K}(2\delta) + 32{K}(3\delta) + 7{K}(4\delta)\rbrack}{90} dλ(ti)dIc(τ)=90τ[7K(0)+32K(δ)+12K(2δ)+32K(3δ)+7K(4δ)]

d I s ( τ ) d λ ( t i ) = τ [ 32 K ( δ ) tan ⁡ ( δ ) + 12 K ( 2 δ ) tan ⁡ ( 2 δ ) + 32 K ( 3 δ ) tan ⁡ ( 3 δ ) + 7 K ( 4 δ ) tan ⁡ ( 4 δ ) ] 90 \frac{d{I}_{s}(\tau)}{d{\lambda}(t_{i})} = \frac{\tau \lbrack 32{K}(\delta)\tan(\delta) + 12{K}(2\delta)\tan(2\delta) + 32{K}(3\delta)\tan(3\delta) + 7{K}(4\delta)\tan(4\delta)\rbrack}{90} dλ(ti)dIs(τ)=90τ[32K(δ)tan(δ)+12K(2δ)tan(2δ)+32K(3δ)tan(3δ)+7K(4δ)tan(4δ)]

Θ = ∏ i = 1 M − 1 B ( t i + 1 − t i ) \Theta = \prod^{M-1}_{i=1} B(t_{i+1}-t_{i}) Θ=i=1M1B(ti+1ti)

d Ψ = Ψ S d S f + Ψ λ d λ f = ( Ψ S Θ 12 + Ψ λ Θ 22 ) d λ 0 d{\Psi} = \Psi_{S}d{S}_{f} + \Psi_{\lambda}d{\lambda}_{f} = (\Psi_{S}\Theta_{12} + \Psi_{\lambda}\Theta_{22} )d{\lambda}_{0} dΨ=ΨSdSf+Ψλdλf=(ΨSΘ12+ΨλΘ22)dλ0

其中 Θ 12 \Theta_{12} Θ12 Θ 22 \Theta_{22} Θ22是矩阵 Θ \Theta Θ的分块矩阵,因此雅克比矩阵 J a c o b \mathrm{Jacob} Jacob
J a c o b = d Ψ d λ 0 = Ψ S Θ 12 + Ψ λ Θ 22 \mathrm{Jacob} = \frac{d{\Psi}}{d{\lambda}_{0}} = \Psi_{S}\Theta_{12} + \Psi_{\lambda}\Theta_{22} Jacob=dλ0dΨ=ΨSΘ12+ΨλΘ22

2. 大气层内上升解

作者将大气层内上升问题转化为了两点边值问题(TPBVPs),并使用有限差分法求解两点边值问题。解两点边值问题之前先要推导状态方程和协态方程中涉及的相关方程。

过程约束的处理

处理不等式约束时,当约束 S < 0 S < 0 S<0时,系统的协态变量微分方程取 − ∂ H / ∂ x -\partial{H}/\partial{\boldsymbol{x}} H/x当约束 S = 0 S = 0 S=0时,才考虑将约束相关的项加入协态变量微分方程。
约束 S 1 = q α − Q α ≤ 0 S_{1}=q\alpha - Q_{\alpha} \leq 0 S1=qαQα0
S 1 = 0 S_{1} = 0 S1=0
∂ q ∂ r = ∂ ( 1 2 ρ V r 2 ) ∂ r = 1 2 V r 2 ∂ ρ ∂ r + ρ ∂ V r ∂ r = 1 2 V r 2 ρ r r r + ρ ω ˉ E × V r \begin{aligned} \frac{\partial q}{\partial\boldsymbol{r}} =& \frac{\partial(\frac{1}{2}\rho V^{2}_{r})} {\partial\boldsymbol{r}} = \frac{1}{2} V^{2}_{r} \frac{\partial\rho}{\partial{\boldsymbol{r}}} + \rho \frac{\partial V_{r}}{\partial{\boldsymbol{r}}} \\ =& \frac{1}{2} V^{2}_{r} \rho_{r} \frac{\boldsymbol{r}}{r} + \rho \bar{\omega}^{\times}_{E}\boldsymbol{V}_{r} \end{aligned} rq==r(21ρVr2)=21Vr2rρ+ρrVr21Vr2ρrrr+ρωˉE×Vr

cos ⁡ α = 1 b T 1 V r ⇒ − sin ⁡ α ∂ α ∂ V = ∂ ( 1 b T 1 V r ) ∂ V ⇒ − sin ⁡ α ∂ α ∂ V = 1 V r ∂ ( 1 b T V r ) ∂ V + 1 b T V r ∂ 1 V r ∂ V ⇒ ∂ α ∂ V = 1 V r sin ⁡ α ( cos ⁡ α 1 V r − 1 b ) \begin{aligned} \cos{\alpha}=\boldsymbol{1}^{T}_{b}\boldsymbol{1}_{Vr} &\Rightarrow -\sin{\alpha}\frac{\partial{\alpha}}{\partial{\boldsymbol{V}}} = \frac{\partial{(\boldsymbol{1}^{T}_{b}\boldsymbol{1}_{Vr})}}{\partial{\boldsymbol{V}}} \\ &\Rightarrow -\sin{\alpha} \frac{\partial{\alpha}}{\partial{\boldsymbol{V}}} = \frac{1}{V_{r}} \frac{\partial{(\boldsymbol{1}^{T}_{b}\boldsymbol{V}_{r})}}{\partial{\boldsymbol{V}}} + \boldsymbol{1}^{T}_{b}\boldsymbol{V}_{r} \frac{\partial \frac{1}{V_{r}}}{\partial\boldsymbol{V}} \\ &\Rightarrow \frac{\partial{\alpha}}{\partial\boldsymbol{V}} = \frac{1}{V_{r}\sin{\alpha}}(\cos{\alpha} \boldsymbol{1}_{Vr} - \boldsymbol{1}_{b}) \end{aligned} cosα=1bT1VrsinαVα=V(1bT1Vr)sinαVα=Vr1V(1bTVr)+1bTVrVVr1Vα=Vrsinα1(cosα1Vr1b)

∂ α ∂ r = ( ∂ V ∂ r ) T ∂ α ∂ V = ( ω ˉ E × ) T q V r sin ⁡ α ( cos ⁡ α 1 V r − 1 b ) \begin{aligned} \frac{\partial\alpha}{\partial\boldsymbol{r}} =& \left(\frac{\partial\boldsymbol{V}}{\partial\boldsymbol{r}}\right)^{T} \frac{\partial\alpha}{\partial\boldsymbol{V}} \\ =& (\bar{\omega}^{\times}_{E})^{T} \frac{q}{V_{r}\sin{\alpha}}(\cos{\alpha} \boldsymbol{1}_{Vr} - \boldsymbol{1}_{b}) \end{aligned} rα==(rV)TVα(ωˉE×)TVrsinαq(cosα1Vr1b)

∂ S 1 ∂ r = ∂ ( q α ) ∂ r = α ∂ q ∂ r + q ∂ α ∂ r = 1 2 α ρ r V r 2 r r + α ρ ω ˉ E × V r + ( ω ˉ E × ) T q V r sin ⁡ α ( cos ⁡ α 1 V r − 1 b ) \begin{aligned} \frac{\partial S_{1}}{\partial \boldsymbol{r}} =& \frac{\partial (q\alpha)}{\partial \boldsymbol{r}} = \alpha \frac{\partial{q}}{\partial{\boldsymbol{r}}} + q \frac{\partial{\alpha}}{\partial{\boldsymbol{r}}} \\ =&\frac{1}{2} \alpha \rho_{r} V^{2}_{r}\frac{\boldsymbol{r}}{r} + \alpha \rho \bar{\omega}^{\times}_{E} \boldsymbol{V}_{r} + (\bar{\omega}^{\times}_{E})^{T} \frac{q}{V_{r}\sin{\alpha}}(\cos{\alpha} \boldsymbol{1}_{Vr} - \boldsymbol{1}_{b}) \end{aligned} rS1==r(qα)=αrq+qrα21αρrVr2rr+αρωˉE×Vr+(ωˉE×)TVrsinαq(cosα1Vr1b)

∂ S 1 ∂ V = ∂ ( q α ) ∂ V = α ∂ q ∂ V + q ∂ α ∂ V = α ρ V r + q V r sin ⁡ ( α ) ( cos ⁡ α 1 V r − 1 b ) \begin{aligned} \frac{\partial S_{1}}{\partial \boldsymbol{V}} =& \frac{\partial (q\alpha)}{\partial \boldsymbol{V}} = \alpha \frac{\partial{q}}{\partial{\boldsymbol{V}}} + q \frac{\partial{\alpha}}{\partial{\boldsymbol{V}}}\\ =& \alpha \rho \boldsymbol{V}_{r} + \frac{q}{V_{r}\sin(\alpha)} (\cos{\alpha} \boldsymbol{1}_{Vr} - \boldsymbol{1}_{b}) \end{aligned} VS1==V(qα)=αVq+qVααρVr+Vrsin(α)q(cosα1Vr1b)

其中, ρ r = ∂ ρ / ∂ r \rho_{r} = \partial{\rho}/\partial{r} ρr=ρ/r

约束 S 2 = T − T m a x ≤ 0 S_{2}=T - T_{max} \leq 0 S2=TTmax0
S 2 = 0 S_{2} = 0 S2=0时,发动机的阀门根据以下公式调节
η = T m a x m ( t ) g 0 / T v a c \eta = T_{max}m(t)g_{0}/T_{vac} η=Tmaxm(t)g0/Tvac

约束 S 3 = q − q m a x ≤ 0 S_{3}=q - q_{max} \leq 0 S3=qqmax0
文章中对约束 S 3 S_{3} S3的处理那块儿,公式有点没弄懂!!当 S 3 = 0 S_{3} = 0 S3=0时,作者将动压约束转化为了对发动机阀门大小 η \eta η的约束,联立以下四个方程[1]
V ′ = − 1 r 3 r + A + T 1 b + N T = η [ T v a c + Δ T ( r ) ] / ( m ( t ) g E ) V r ′ = V ′ − ω ˉ E × V ′ − V w S 3 ′ = ( 1 / ( 2 r ) ) ρ r V r 2 r T V + ρ V r T V r ′ \begin{aligned} \boldsymbol{V}^{\prime} =& -\frac{1}{r^{3}}\boldsymbol{r} + \boldsymbol{A} + T\boldsymbol{1}_{b} + \boldsymbol{N} \\ T = &\eta \left[ T_{vac} + \Delta T(r)\right]/(m(t)g_{E}) \\ \boldsymbol{V}^{\prime}_{r} =& \boldsymbol{V}^{\prime} - \bar{\omega}_{E} \times \boldsymbol{V}^{\prime} - \boldsymbol{V}_{w} \\ S^{\prime}_{3} =& (1/(2r))\rho_{r}V^{2}_{r} \boldsymbol{r}^{T}\boldsymbol{V} + \rho \boldsymbol{V}^{T}_{r}\boldsymbol{V}^{\prime}_{r} \end{aligned} V=T=Vr=S3=r31r+A+T1b+Nη[Tvac+ΔT(r)]/(m(t)gE)VωˉE×VVw(1/(2r))ρrVr2rTV+ρVrTVr

可知
q ′ ( t ) = a q ( x , 1 b ) η ( t ) + b q ( x , 1 b ) q^{\prime}(t) = a_{q}(\boldsymbol{x},\boldsymbol{1}_{b})\eta(t) + b_{q}(\boldsymbol{x},\boldsymbol{1}_{b}) q(t)=aq(x,1b)η(t)+bq(x,1b)

其中
a q ( x , 1 b ) = . . . a_{q}(\boldsymbol{x},\boldsymbol{1}_{b}) = ... aq(x,1b)=...

b q ( x , 1 b ) = . . . b_{q}(\boldsymbol{x},\boldsymbol{1}_{b}) = ... bq(x,1b)=...

δ > 0 \delta > 0 δ>0则有
q ( t + δ ) ≈ q ( t ) + q ′ ( t ) δ \begin{aligned} q(t + \delta) \approx q(t) + q^{\prime}(t)\delta \end{aligned} q(t+δ)q(t)+q(t)δ

根据动压约束 q ( t + δ ) − q m a x ≤ 0 q(t + \delta) - q_{max} \leq 0 q(t+δ)qmax0
η ( t ) ≤ q max ⁡ − q ( t ) − b q δ a q δ ≜ η q \begin{aligned} \eta(t) \leq \frac{q_{\max }-q(t)-b_{q} \delta}{a_{q} \delta} \triangleq \eta_{q} \end{aligned} η(t)aqδqmaxq(t)bqδηq

将由约束 S 2 S_{2} S2求得的 η \eta η记为 η p r b \eta_{\mathrm{prb}} ηprb η \eta η的最小值是 η min ⁡ \eta_{\min } ηmin,那么同时考虑约束2和3, η \eta η的取值方法如下[1]
η = { η p r b ,  if  η q > η p r b η q ,  if  η min ⁡ ≤ η q ≤ η p r b η m i n ,  if  η q < η min ⁡ \begin{aligned} \eta = \left \{ \begin{array}{lll} {\eta_{\mathrm{prb}},} & {\text { if }} & {\eta_{q}>\eta_{\mathrm{prb}}} \\ {\eta_{q},} & {\text { if }} & {\eta_{\min } \leq \eta_{q} \leq \eta_{\mathrm{prb}}}\\ {\eta_{\mathrm{min}},} & {\text { if }} & {\eta_{q}<\eta_{\min }}\end{array}\right. \end{aligned} η=ηprb,ηq,ηmin, if  if  if ηq>ηprbηminηqηprbηq<ηmin

密度、声速、推力对地心距求导

密度
已知是空气密度是关于运载器所在高度的函数,即 ρ 1 = f ( h 1 ) \rho_{1} = f(h_{1}) ρ1=f(h1)
ρ r = ∂ ρ ∂ r = ∂ ρ ∂ ( 1 + h ) = ∂ ρ ∂ h (归一化方程) \begin{aligned} \rho_r = \frac{\partial \rho}{\partial r} =& \frac{\partial \rho}{\partial(1 + h)} = \frac{\partial \rho}{\partial h} \end{aligned}\quad \text{(归一化方程)} ρr=rρ=(1+h)ρ=hρ(归一化方程)

未归一化密度 ρ 1 = ρ 0 ρ \rho_{1} = \rho_{0}\rho ρ1=ρ0ρ,单位 k g / m 3 kg/m^{3} kg/m3,未归一化运载器高度 h 1 = R 0 h / 1000 h_{1} = R_{0}h / 1000 h1=R0h/1000,单位 k m km km
ρ r = R 0 1000 ρ 0 ∂ ρ 1 ∂ h 1 \begin{aligned} \rho_{r} = \frac{R_{0}}{1000\rho_{0}} \frac{\partial \rho_{1}}{\partial h_{1}} \end{aligned} ρr=1000ρ0R0h1ρ1

声速
声速是关于运载器所在高度的函数,即 V s 1 = f ( h 1 ) V_{s1} = f(h_{1}) Vs1=f(h1),此 f ( h ) f(h) f(h)非计算密度的 f ( h ) f(h) f(h)。未归一化声速 V s 1 = R 0 g E V s V_{s1} = \sqrt{R_{0}g_{E}} V_{s} Vs1=R0gE Vs,单位 m / s m/s m/s,未归一化运载器高度 h 1 = R 0 h / 1000 h_{1} = R_{0}h / 1000 h1=R0h/1000,单位 k m km km
∂ V s ∂ r = R 0 1000 R 0 g E ∂ V s 1 ∂ h 1 \begin{aligned} \frac{\partial V_{s}}{\partial r} = \frac{R_{0}}{1000\sqrt{R_{0}g_{E}}}\frac{\partial V_{s1}}{\partial h_{1}} \end{aligned} rVs=1000R0gE R0h1Vs1

推力
文献中计算推力的公式 T = η [ T v a c + Δ T ( r ) ] / ( m ( t ) g 0 ) T = \eta[T_{vac} + \Delta T(r)] / (m(t)g_{0}) T=η[Tvac+ΔT(r)]/(m(t)g0),其中 Δ T ( r ) \Delta T(r) ΔT(r)怎么求呢?由文献[4]可知,在弹道计算中,通常采用下式计算推力
P = P 0 + S e ( p 0 − p H ) P = P_{0} + S_{e}(p_{0}-p_{H}) P=P0+Se(p0pH)

其中, P P P是发动机推力, P 0 P_{0} P0是发动机地面推力, S e S_{e} Se是喷口载面积, p 0 p_{0} p0是地面大气压, p H p_{H} pH是发动机所在高度大气压。因此 Δ T ( r ) = − S e p H \Delta T(r) = -S_{e}p_{H} ΔT(r)=SepH,进而可得
T r = ∂ T ∂ r = − η S e m ( t ) g E ∂ p H ∂ r T_{r} = \frac{\partial{T}}{\partial{r}} = -\frac{\eta S_{e}}{m(t)g_{E}} \frac{\partial p_{H}}{\partial{r}} Tr=rT=m(t)gEηSerpH

求解最优体轴矢量 1 b ∗ \boldsymbol{1}^{*}_{b} 1b

在求 Y 0 Y_{0} Y0过程中,我们已经求出一条满足终端约束的上升轨迹,根据该过程中求得的各量,求解 1 b ∗ \boldsymbol{1}^{*}_{b} 1b
计算 Φ \Phi Φ
根据以下公式可以求解 Φ \Phi Φ的绝对值[1]
Φ = 1 p V T 1 V r \Phi=\mathbf{1}_{p_{V}}^{T} \mathbf{1}_{V_{r}} Φ=1pVT1Vr

再根据文章中的方法确定 Φ \Phi Φ的正负。

用牛顿迭代法求解 α \alpha α
∂ H / ∂ α = 0 \partial{H}/\partial{\alpha} = 0 H/α=0可求得下式[1]
tan ⁡ ( Φ − α ) ( T − A + N α ) − ( A α + N ) = 0 \tan (\Phi-\alpha)\left(T-A+N_{\alpha}\right)-\left(A_{\alpha}+N\right)=0 tan(Φα)(TA+Nα)(Aα+N)=0

要使用牛顿迭代法求解 α \alpha α还需求解 ∂ 2 H / ∂ α 2 {\partial^{2}H}/\partial{\alpha^{2}} 2H/α2
∂ 2 H ∂ α 2 = A − T − N α cos ⁡ 2 ( Φ − α ) + tan ⁡ ( Φ − α ) ( − A α + N α α ) − ( A α α + N α ) \frac{\partial^{2}H}{\partial{\alpha^{2}}} = \frac{A-T-N_{\alpha}}{\cos^{2}{(\Phi - \alpha)}} + \tan{(\Phi - \alpha)}(-A_{\alpha}+N_{\alpha\alpha}) - (A_{\alpha\alpha} + N_{\alpha}) α22H=cos2(Φα)ATNα+tan(Φα)(Aα+Nαα)(Aαα+Nα)

其中, A α α = ∂ 2 A / ∂ α 2 , N α α = ∂ 2 N / ∂ α 2 A_{\alpha\alpha}={\partial^{2}A}/\partial{\alpha^{2}},N_{\alpha\alpha}={\partial^{2}N}/\partial{\alpha^{2}} Aαα=2A/α2,Nαα=2N/α2。仿真时,气动力 A A A N N N被拟合成攻角 α \alpha α的二次多项式形式,很容易求得气动力对攻角的一阶和二阶偏导数。求得 α \alpha α后,根据下式求解最优体轴矢量[1]
1 b ∗ = ( sin ⁡ α sin ⁡ Φ ) 1 p V + [ cos ⁡ α − cos ⁡ Φ cos ⁡ ( Φ − α ) sin ⁡ 2 Φ ] 1 V r \mathbf{1}_{b}^{*}=\left(\frac{\sin \alpha}{\sin \Phi}\right) \mathbf{1}_{p_{V}}+\left[\frac{\cos \alpha-\cos \Phi \cos (\Phi-\alpha)}{\sin ^{2} \Phi}\right] \mathbf{1}_{V_{r}} 1b=(sinΦsinα)1pV+[sin2ΦcosαcosΦcos(Φα)]1Vr

有限差分法解TPBVPs

两点边值问题中的动力学方程由运载器的动力学方程和协态变量微分方程组成[1]
r ′ = V V ′ = − 1 r 3 r + A + T 1 b + N \begin{aligned} \boldsymbol{r}^{\prime} =& \boldsymbol{V} \\ \boldsymbol{V}^{\prime} = -\frac{1}{r^{3}}\boldsymbol{r} + \boldsymbol{A} &+ T\boldsymbol{1}_{b} + \boldsymbol{N} \\ \end{aligned} r=V=r31r+AV+T1b+N

p r ′ = 1 r 3 p V − [ 3 a p v b r 4 − a p v n ( T r − A ρ r + 1 2 V r C ρ V s 2 C A M a c h ∂ V s ∂ r ) + a p v n ( N ρ r − 1 2 V r C ρ V s 2 C N M a c h ∂ V s ∂ r ) ] r r + C ρ ω ˉ E × { a p v b [ ( C A + 1 2 V r V s C A M a c h ) V r + 1 2 C A α V r 2 ∂ α ∂ V ] − a p v n [ ( C N + 1 2 V r V s C N M a c h ) V r + 1 2 C N α V r 2 ∂ α ∂ V ] } p V ′ = − p r + C ρ [ a p v b ( C A + 1 2 V r V s C A M a c h ) − a p v n ( C N + 1 2 V r V s C N M a c h ) + 1 2 ( a p v b C A α − a p v n C N α ) cos ⁡ α sin ⁡ α ] × V r − C ρ V r 2 sin ⁡ α ( a p v b C A α − a p v n C N α ) 1 b \begin{aligned} \boldsymbol{p}^{\prime}_{r} =& \frac{1}{r^{3}}\boldsymbol{p}_{V} - \lbrack \frac{3a_{pvb}}{r^{4}} -a_{pvn} ( T_{r}-A_{\rho r} + \frac{1}{2V_{r}}C_{\rho}V^{2}_{s}C_{A_{Mach}}\frac{\partial V_{s}}{\partial r} ) \\ &+ a_{pvn}(N_{\rho r} - \frac{1}{2V_{r}}C_{\rho}V^{2}_{s}C_{N_{Mach}}\frac{\partial V_{s}}{\partial r})]\frac{\boldsymbol{r}}{r} \\ &+ C_{\rho}\bar{\omega}_{E} \times \{ a_{pvb} [(C_{A} + \frac{1}{2V_{r}}V_{s}C_{A_{Mach}}) \boldsymbol{V}_{r} + \frac{1}{2}C_{A_{\alpha}}V^{2}_{r} \frac{\partial \alpha}{\partial \boldsymbol{V}} ] \\ &- a_{pvn}[(C_{N} + \frac{1}{2V_{r}}V_{s}C_{N_{Mach}}) \boldsymbol{V}_{r} + \frac{1}{2}C_{N_{\alpha}}V^{2}_{r} \frac{\partial \alpha}{\partial \boldsymbol{V}} ] \} \\ \boldsymbol{p}^{\prime}_{V} =& -\boldsymbol{p}_{r} + C_{\rho}[a_{pvb}(C_{A} + \frac{1}{2V_{r}}V_{s}C_{A_{Mach}}) \\ &- a_{pvn}(C_{N} + \frac{1}{2V_{r}}V_{s}C_{N_{Mach}}) + \frac{1}{2}(a_{pvb}C_{A_{\alpha}} - a_{pvn}C_{N_{\alpha}})\frac{\cos{\alpha}}{\sin{\alpha}}] \\ & \times \boldsymbol{V}_{r} - \frac{C_{\rho}V_{r}}{2\sin{\alpha}}(a_{pvb}C_{A_{\alpha}} - a_{pvn}C_{N_{\alpha}})\boldsymbol{1}_{b} \end{aligned} pr=pV=r31pV[r43apvbapvn(TrAρr+2Vr1CρVs2CAMachrVs)+apvn(Nρr2Vr1CρVs2CNMachrVs)]rr+CρωˉE×{apvb[(CA+2Vr1VsCAMach)Vr+21CAαVr2Vα]apvn[(CN+2Vr1VsCNMach)Vr+21CNαVr2Vα]}pr+Cρ[apvb(CA+2Vr1VsCAMach)apvn(CN+2Vr1VsCNMach)+21(apvbCAαapvnCNα)sinαcosα]×Vr2sinαCρVr(apvbCAαapvnCNα)1b

其中, ρ r = ∂ ρ / ∂ r , T r = ∂ T / ∂ r , C ρ = ρ 0 ρ S r e f R 0 / m ( t ) \rho_{r}=\partial\rho/\partial r, T_{r}=\partial T/\partial r, C_{\rho}=\rho_{0}\rho S_{ref}R_{0}/m(t) ρr=ρ/r,Tr=T/r,Cρ=ρ0ρSrefR0/m(t),并且有
A ρ r = V r 2 S r e f R 0 ρ 0 C A ρ r 2 m ( t ) , N ρ r = V r 2 S r e f R 0 ρ 0 C N ρ r 2 m ( t ) A_{\rho r} = \frac{V^2_{r}S_{ref}R_{0}\rho_{0}C_{A}\rho_{r}}{2m(t)}, N_{\rho r} = \frac{V^2_{r}S_{ref}R_{0}\rho_{0}C_{N}\rho_{r}}{2m(t)} Aρr=2m(t)Vr2SrefR0ρ0CAρr,Nρr=2m(t)Vr2SrefR0ρ0CNρr

C A α = ∂ C A ∂ α , C N α = ∂ C N ∂ α , C A M a c h = ∂ C A ∂ M a c h C_{A_{\alpha}} = \frac{\partial C_{A}}{\partial \alpha}, C_{N_{\alpha}} = \frac{\partial C_{N}}{\partial \alpha}, C_{A_{Mach}} = \frac{\partial C_{A}}{\partial Mach} CAα=αCA,CNα=αCN,CAMach=MachCA

C N M a c h = ∂ C N ∂ M a c h , a p v b = p V T 1 b = p V cos ⁡ ( Φ − α ) C_{N_{Mach}} = \frac{\partial C_{N}}{\partial Mach}, a_{pvb} = \boldsymbol{p}^{T}_{V}\boldsymbol{1}_{b} = p_{V}\cos{(\Phi - \alpha)} CNMach=MachCN,apvb=pVT1b=pVcos(Φα)

a p v n = p V T 1 n = p V sin ⁡ ( Φ − α ) a_{pvn} = \boldsymbol{p}^{T}_{V}\boldsymbol{1}_{n} = p_{V}\sin{(\Phi - \alpha)} apvn=pVT1n=pVsin(Φα)

∂ α ∂ V = 1 V r sin ⁡ α ( cos ⁡ α 1 V r − 1 b ) \frac{\partial \alpha}{\partial \boldsymbol{V}} = \frac{1}{V_{r}\sin{\alpha}}(\cos{\alpha \boldsymbol{1}_{Vr}} - \boldsymbol{1}_{b}) Vα=Vrsinα1(cosα1Vr1b)

当加入约束 S 1 = q α − Q α = 0 S_{1}=q\alpha - Q_{\alpha} = 0 S1=qαQα=0后,协态方程
p ′ = − ∂ H ∂ x − λ q α ∂ S 1 ∂ x \begin{aligned} \boldsymbol{p}^{\prime} = -\frac{\partial H}{\partial \boldsymbol{x}} - \lambda_{q\alpha}\frac{\partial S_{1}}{\partial \boldsymbol{x}} \end{aligned} p=xHλqαxS1

初始条件 ( x 0 , p 0 ) (\boldsymbol{x}_{0},\boldsymbol{p}_{0}) (x0,p0)已知,6个终端条件由入轨条件和最优控制理论求得的横截条件组成。
将时间分成相等的 M M M段,一共 M + 1 M+1 M+1个节点,则每一段的长度 h = t f / M h = tf/M h=tf/M。我们取 M = 100 M = 100 M=100,那么两点边值问题就转换为如下方程组求解问题

E 0 = [ y 0 ( 1 : 3 ) y 0 ( 4 : 6 ) ] − [ r 0 V 0 ] E 1 = y 1 − y 0 − h f ( t 1 − 1 2 , ( y 1 + y 0 ) 2 ) E 2 = y 2 − y 1 − h f ( t 2 − 1 2 , ( y 2 + y 1 ) 2 ) . . . E 100 = y 100 − y 99 − h f ( t 100 − 1 2 , ( y 100 + y 99 ) 2 ) E 101 = Ψ ( y 100 ) \begin{aligned} E_{0} =& \begin{bmatrix} y_{0}(1:3) \\ y_{0}(4:6) \end{bmatrix} - \begin{bmatrix} \boldsymbol{r}_{0} \\ \boldsymbol{V}_{0} \end{bmatrix}\\ E_{1} =& y_{1} - y_{0} - h f(t_{1-\frac{1}{2}},\frac{(y_1+y_0)}{2}) \\ E_{2} =& y_{2} - y_{1} - h f(t_{2-\frac{1}{2}},\frac{(y_2+y_1)}{2}) \\ &... \\ E_{100} =& y_{100} - y_{99} - h f(t_{100-\frac{1}{2}},\frac{(y_{100}+y_{99})}{2}) \\ E_{101} =& {\Psi}(y_{100}) \end{aligned} \\ E0=E1=E2=E100=E101=[y0(1:3)y0(4:6)][r0V0]y1y0hf(t121,2(y1+y0))y2y1hf(t221,2(y2+y1))...y100y99hf(t10021,2(y100+y99))Ψ(y100)

其中 y 0 ( 1 : 3 ) y_{0}(1:3) y0(1:3)表示 y 0 y_{0} y0向量的前三个元素组成的向量。记方程的解为 Y = [ y 0 T , y 1 T , y 2 T , . . . , y 100 T ] T Y = [y_{0}^{T},y_{1}^{T},y_{2}^{T},...,y_{100}^{T}]^{T} Y=[y0T,y1T,y2T,...,y100T]T,其中 y = [ r T , V T , p r T , p v T ] T y = [\boldsymbol{r}^{T}, \boldsymbol{V}^{T}, \boldsymbol{p}^{T}_{r},\boldsymbol{p}^{T}_{v}]^{T} y=[rT,VT,prT,pvT]T。这里需要注意的是前面的推导中我们用过 [ r T , V T , p v T , − p r T ] T [\boldsymbol{r}^{T}, \boldsymbol{V}^{T},\boldsymbol{p}^{T}_{v}, -\boldsymbol{p}^{T}_{r}]^{T} [rT,VT,pvT,prT]T这种顺序。

数值方法求 ∂ E / ∂ Y \partial{E} / \partial{Y} E/Y
∂ E ∂ Y = [ . . . ] 1212 × 1212 = [ ∂ E 0 y 0 ∂ E 0 y 1 . . . ∂ E 0 y 100 ∂ E 1 y 0 ∂ E 1 y 1 . . . ∂ E 1 y 100 . . . ∂ E 101 y 0 ∂ E 101 y 1 . . . ∂ E 101 y 100 ] \begin{aligned} \frac{\partial{E}}{\partial{Y}} = [...]_{1212\times1212} = \begin{bmatrix} \frac{\partial{E_{0}}}{y_{0}} & \frac{\partial{E_{0}}}{y_{1}} & ... & \frac{\partial{E_{0}}}{y_{100}} \\ \frac{\partial{E_{1}}}{y_{0}} & \frac{\partial{E_{1}}}{y_{1}} & ... & \frac{\partial{E_{1}}}{y_{100}} \\ &... \\ \frac{\partial{E_{101}}}{y_{0}} & \frac{\partial{E_{101}}}{y_{1}} & ... & \frac{\partial{E_{101}}}{y_{100}} \end{bmatrix} \end{aligned} YE=[...]1212×1212=y0E0y0E1y0E101y1E0y1E1...y1E101.........y100E0y100E1y100E101

= [ [ I 6 , 0 ] 6 × 12 0 6 × 12 . . . . . . 0 6 × 12 − I 12 × 12 − h ∂ f ( t 1 − 1 2 , ( y 1 + y 0 ) 2 ) ∂ y 0 I 12 × 12 − h f ( , ) y 1 0 12 × 12 . . . 0 12 × 12 0 12 × 12 − I 12 × 12 − h ∂ f ( , ) ∂ y 1 I 12 × 12 − h f ( , ) y 2 . . . 0 12 × 12 . . . . . . . . . . . . . . . 0 12 × 12 . . . 0 12 × 12 − I 12 × 12 − h ∂ f ( , ) ∂ y 99 I 12 × 12 − h f ( , ) y 100 0 6 × 12 . . . . . . 0 6 × 12 ∂ Ψ ∂ y 100 ] \begin{aligned} = \begin{bmatrix} [I_{6},\mathbf{0}]_{6\times12} & \mathbf{0}_{6\times12} & ... & ... & \mathbf{0}_{6\times12} \\ -I_{12\times12}-h\frac{\partial{f(t_{1-\frac{1}{2}},\frac{(y_1+y_0)}{2})}}{\partial{y_{0}}} & I_{12\times12}-h\frac{f(,)}{y_{1}} & \boldsymbol{0}_{12\times12} & ... & \boldsymbol{0}_{12\times12} \\ \boldsymbol{0}_{12\times12} & -I_{12\times12}-h\frac{\partial{f(,)}}{\partial{y_{1}}} & I_{12\times12}-h\frac{f(,)}{y_{2}} & ... & \mathbf{0}_{12\times12} \\ ... & ... & ... & ... & ... & \\ \mathbf{0}_{12\times12} & ... & \mathbf{0}_{12\times12} & -I_{12\times12}-h\frac{\partial{f(,)}}{\partial{y_{99}}} & I_{12\times12}-h\frac{f(,)}{y_{100}}\\ \mathbf{0}_{6\times12} & ... & ... & \mathbf{0}_{6\times12} & \frac{\partial{\mathbf{\Psi}}}{\partial{y_{100}}} \end{bmatrix} \end{aligned} =[I6,0]6×12I12×12hy0f(t121,2(y1+y0))012×12...012×1206×1206×12I12×12hy1f(,)I12×12hy1f(,)............012×12I12×12hy2f(,)...012×12...............I12×12hy99f(,)06×1206×12012×12012×12...I12×12hy100f(,)y100Ψ

其中, f ( , ) f(,) f(,)是对应时刻 f ( t k − 1 2 , ( y k + y k − 1 ) 2 ) f(t_{k-\frac{1}{2}},\frac{(y_{k}+y_{k-1})}{2}) f(tk21,2(yk+yk1))的简写, ∂ Ψ ∂ y 100 \frac{\partial{\mathbf{\Psi}}}{\partial{y_{100}}} y100Ψ之前有个小节推导过,是有解析形式的,除此以外其它的偏导数由数值的方法计算。

∂ f ( t k − 1 2 , ( y k + y k − 1 ) 2 ) ∂ y k = ∂ f ( t k − 1 2 , ( y k + y k − 1 ) 2 ) ∂ ( ( y k + y k − 1 ) 2 ) ∂ ( ( y k + y k − 1 ) 2 ) ∂ y k \frac{\partial{f(t_{k-\frac{1}{2}},\frac{(y_k+y_{k-1})}{2})}}{\partial{y_{k}}} = \frac{\partial{f(t_{k-\frac{1}{2}},\frac{(y_k+y_{k-1})}{2})}}{\partial{(\frac{(y_k+y_{k-1})}{2}})} \frac{\partial{(\frac{(y_k+y_{k-1})}{2}})}{\partial{y_{k}}} ykf(tk21,2(yk+yk1))=(2(yk+yk1))f(tk21,2(yk+yk1))yk(2(yk+yk1))

高斯消元法求解搜索方向 d j \boldsymbol{d}_{j} dj
[ ∂ E ( Y j − 1 ) ∂ Y ] d j = − E ( Y j − 1 ) \begin{aligned} \left[ \frac{\partial{E}(Y_{j-1})}{\partial{Y}} \right] \boldsymbol{d}_{j} = -E(Y_{j-1}) \end{aligned} [YE(Yj1)]dj=E(Yj1)

由于 ∂ E ∂ Y \frac{\partial{E}}{\partial{Y}} YE的稀疏特性,我们可以用高斯消元法求解 d j \boldsymbol{d}_{j} dj

参考文献

[1] Lu P , Sun H , Tsai B . Closed-Loop Endoatmospheric Ascent Guidance[J]. Journal of Guidance, Control, and Dynamics, 2003, 26(2):283-294.
[2] Calise A J , Melamed N , Lee S . Design and Evaluation of a Three-Dimensional Optimal Ascent Guidance Algorithm[J]. Journal of Guidance, Control, and Dynamics, 1998, 21(6):867-875.
[3] Mcadoo S F J , Jezewski D J , Dawkins G S . Development of a method for optimal maneuver analysis of complex space missions[J]. Nasa Sti/recon Technical Report N, 1975, 75.
[4] 王志刚, 施志佳. 远程火箭与卫星轨道力学基础[M].西安:西北工业大学出版社,2006.
[5] 傅瑜. 升力式天地往返飞行器自主制导方法研究[D]. 哈尔滨工业大学, 2012.

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oPengLuo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值