标准弹道对应标准设计条件,实际飞行条件与标准条件有偏差,因此产生了实际弹道与标准弹道的偏差。
摄动制导只关注落点,不关注实际弹道,需要保证实际落点与标准弹道落点相同,即控制射程偏差和横程偏差为零。
一种求解射程和横程的数值方法
- 根据弹道微分方程,计算发射系下的实际弹道落点速度、位置坐标;
- 将发射系下的落点速度、位置坐标转换为落点经纬度;
- 地心纬度是矢径与地球赤道平面的夹角: s i n φ = r ⃗ ⋅ ω ⃗ e r ⋅ ω e sin{\varphi}=\frac{\vec{r}\cdot\vec{\omega}_e}{r\cdot\omega_e} sinφ=r⋅ωer⋅ωe r ⃗ = R ⃗ 0 + ρ ⃗ \vec{r}=\vec{R}_0+\vec{\rho} r=R0+ρ其中: φ \varphi φ-落点地心纬度; r ⃗ \vec{r} r-落点地心矢径; ω ⃗ e \vec{\omega}_e ωe-地球自转角速度
- 已知发射点经度,求落点与发射点经度之差即可:
为求箭下点的经度,由于已经知道发射点的经度,只需求出弹下点经度与发射点的经度之差即可,为此在地心处建立一个直角坐标系,令X轴与地球自转的轴一致,Y轴在赤道平面内,指向发射点子午线与赤道交点,Z轴与上述两个轴组成右手直角坐标系。
将地心矢径转到该坐标系内:
[ x ′ y ′ z ′ ] = [ c o s B 0 s i n B 0 0 − s i n B 0 c o s B 0 0 0 0 1 ] [ c o s A 0 0 − s i n A 0 0 1 0 s i n A 0 0 c o s A 0 ] [ x + R o x y + R o y z + R o z ] \begin{bmatrix}x'\\y'\\z'\end{bmatrix}=\begin{bmatrix}cos{B_0}&sin{B}_0&0\\-sin{B_0}&cos{B_0}&0\\0&0&1\end{bmatrix}\begin{bmatrix}cos{A_0}&0&-sin{A_0}\\0&1&0\\sin{A_0}&0&cos{A_0}\end{bmatrix}\begin{bmatrix}x+R_{ox}\\y+R_{oy}\\z+R_{oz}\end{bmatrix} x′y′z′ = cosB0−sinB00sinB0cosB00001 cosA00sinA0010−sinA00cosA0 x+Roxy+Royz+Roz t a n Δ λ = z ′ y ′ tan\Delta{\lambda}=\frac{z'}{y'} tanΔλ=y′z′ λ = λ 0 + Δ λ \lambda=\lambda_0+\Delta{\lambda} λ=λ0+Δλ其中: Δ λ \Delta{\lambda} Δλ-与发射点的经度差, λ 0 \lambda_0 λ0-发射点经度
- 结合发射点经纬度,计算射程角和射向角;
- 射程角 β \beta β:发射点与落点之间的最短距离对应的地心角
- 射向角 ψ \psi ψ:最短距离所对应的圆弧与子午线之间的夹角 c o s β = s i n φ 0 s i n φ b + c o s φ 0 c o s φ b c o s λ b cos\beta=sin\varphi_0sin\varphi_b+cos\varphi_0cos\varphi_bcos\lambda_b cosβ=sinφ0sinφb+cosφ0cosφbcosλb s i n ψ = c o s φ b sin ( λ b − λ 0 ) s i n β sin\psi=\cfrac{cos\varphi_b\sin(\lambda_b-\lambda_0)}{sin\beta} sinψ=sinβcosφbsin(λb−λ0) c o s ψ = s i n φ b − s i n φ 0 c o s β c o s φ 0 s i n β cos\psi=\cfrac{sin\varphi_b-sin\varphi_0cos\beta}{cos\varphi_0sin\beta} cosψ=cosφ0sinβsinφb−sinφ0cosβ ψ = a r c t a n ( s i n ψ cos ψ ) \psi=arctan(\frac{sin\psi}{\cos\psi}) ψ=arctan(cosψsinψ)
- 根据射程角和射向角计算射程L和横程H
L = r 0 β L=r_0\beta L=r0β H = r 0 s i n β s i n ψ H=r_0sin\beta sin\psi H=r0sinβsinψ
摄动制导三大方程
射程控制:关机方程设计-关机时间
射程是主动关机点的参数的函数,导弹的射程可以用发动机关机时刻tk时火箭的运动参数来确定,射程可以表示为:
L
=
L
(
r
k
,
r
˙
k
,
t
k
)
L=L(r_k,\dot{r}_k,t_k)
L=L(rk,r˙k,tk)对于标准弹道:
L
ˉ
=
L
ˉ
(
r
ˉ
k
,
r
ˉ
˙
k
,
t
ˉ
k
)
\bar{L}=\bar{L}(\bar{r}_k,\dot{\bar{r}}_k,\bar{t}_k)
Lˉ=Lˉ(rˉk,rˉ˙k,tˉk)射程控制是控制射程偏差
Δ
L
=
L
−
L
~
→
0
\Delta{L}=L-\tilde{L}\rightarrow0
ΔL=L−L~→0将实际射程在标准弹道附近展开为一阶泰勒级数形式:
L
(
r
k
,
r
˙
k
,
t
k
)
=
L
[
r
ˉ
k
+
δ
r
k
,
r
~
˙
k
+
δ
r
˙
k
,
t
~
k
+
Δ
t
]
=
L
ˉ
(
r
ˉ
k
,
r
ˉ
˙
k
,
t
ˉ
k
)
+
∂
L
∂
r
ˉ
k
δ
r
k
+
∂
L
∂
r
ˉ
˙
k
δ
r
˙
k
+
∂
L
∂
t
ˉ
k
Δ
t
k
+
…
L(r_k,\dot{r}_k,t_k) \\=L[\bar{r}_k+\delta{r}_k,\dot{\tilde{r}}_k+\delta{\dot{r}}_k,\tilde{t}_k+\Delta{t}]\\ =\bar{L}(\bar{r}_k,\dot{\bar{r}}_k,\bar{t}_k)+\frac{\partial{L}}{\partial{\bar{r}_k}}\delta{r_k}+\frac{\partial{L}}{\partial{\dot{\bar{r}}_k}}\delta{\dot{r}_k}+\frac{\partial{L}}{\partial{\bar{t}_k}}\Delta{t_k}+\dots
L(rk,r˙k,tk)=L[rˉk+δrk,r~˙k+δr˙k,t~k+Δt]=Lˉ(rˉk,rˉ˙k,tˉk)+∂rˉk∂Lδrk+∂rˉ˙k∂Lδr˙k+∂tˉk∂LΔtk+…略去二阶小项得:
Δ
L
=
L
−
L
ˉ
=
∂
L
∂
r
ˉ
k
δ
r
k
+
∂
L
∂
r
ˉ
˙
k
δ
r
˙
k
+
∂
L
∂
t
ˉ
k
Δ
t
k
\Delta{L}=L-\bar{L}=\frac{\partial{L}}{\partial{\bar{r}_k}}\delta{r_k}+\frac{\partial{L}}{\partial{\dot{\bar{r}}_k}}\delta{\dot{r}_k}+\frac{\partial{L}}{\partial{\bar{t}_k}}\Delta{t_k}
ΔL=L−Lˉ=∂rˉk∂Lδrk+∂rˉ˙k∂Lδr˙k+∂tˉk∂LΔtk由于实际弹道相对于标准关机点状态存在位置偏差、速度偏差、时间偏差,最终引起了射程偏差。射程偏差控制问题变成位置偏差控制、速度偏差控制和时间偏差控制问题。
射程偏差=射程对位置的偏导数*位置偏差+射程对速度的偏导数*速度偏差+射程对时间的偏导数*时间偏差
由于在标准弹道附近展开,故偏导数是对标准弹道的偏导数。
偏导数可由射程计算公式或数值方法计算,标准弹道确定后,偏导数为已知量。最终把射程偏差控制转换为关机时刻的控制,即关机方程的设计。
通过泰勒展开,将射程偏差和横程偏差写为状态偏差的函数:
Δ
L
(
t
k
)
=
(
a
,
Δ
X
(
t
k
)
)
+
∂
L
∂
t
k
Δ
t
k
\Delta L(t_k)=(a,\Delta X(t_k))+\frac{\partial{L}}{\partial{t_k}}\Delta t_k
ΔL(tk)=(a,ΔX(tk))+∂tk∂LΔtk
其中a为射程对位置、速度六分量的偏导数,是已知量:
a
=
(
∂
L
∂
x
1
k
,
∂
L
∂
x
2
k
,
∂
L
∂
x
3
k
,
∂
L
∂
x
4
k
,
∂
L
∂
x
5
k
,
∂
L
∂
x
6
k
)
a=(\frac{\partial{L}}{\partial{x_{1k}}},\frac{\partial{L}}{\partial{x_{2k}}},\frac{\partial{L}}{\partial{x_{3k}}},\frac{\partial{L}}{\partial{x_{4k}}},\frac{\partial{L}}{\partial{x_{5k}}},\frac{\partial{L}}{\partial{x_{6k}}})
a=(∂x1k∂L,∂x2k∂L,∂x3k∂L,∂x4k∂L,∂x5k∂L,∂x6k∂L)
- 状态偏差: Δ X ( t k ) = X ( t k ) − X ˉ ( t ˉ k ) \Delta X(t_k)=X(t_k)-\bar{X}(\bar{t}_k) ΔX(tk)=X(tk)−Xˉ(tˉk)
- 时间偏差:
Δ
t
k
=
t
k
−
t
ˉ
k
\Delta t_k=t_k-\bar{t}_k
Δtk=tk−tˉk
其中: t ˉ k \bar{t}_k tˉk为标准关机时刻, X ˉ ( t ˉ k ) \bar{X}(\bar{t}_k) Xˉ(tˉk)为标准关机时刻的位置、速度分量,均为已知量,和各项偏导数一同提前储存在箭上计算机中。
射程偏差函数可表示为(射程控制基本公式):
Δ L ( t ) = ( a , X ( t ) ) − ( a , X ˉ ( t ˉ k ) ) + ∂ L ∂ t k ( t − t ˉ k ) \Delta L(t)=(a,X(t))-(a,\bar{X}(\bar{t}_k))+\frac{\partial{L}}{\partial{t_k}}(t-\bar{t}_k) ΔL(t)=(a,X(t))−(a,Xˉ(tˉk))+∂tk∂L(t−tˉk)根据偏导数和标准关机状态参数,在飞行过程中可以实时计算射程偏差,该函数单调递增,零点即为关机时刻。实际飞行时射程偏差由负变正的时刻即为关机点。因此,射程控制的核心是时间控制。
从数学上说,只要向量【弹道参数偏差+时间偏差】与向量【偏导数】正交,就可以使射程偏差为零。从弹道学的角度来说,可以有无数条弹道对应同一射程。只要在标准关机点附近找到一个实际关机点,使得射程偏差为零即可,而不必在标准关机时刻使得射程偏差为零,这极大简化了制导系统设计。
横程控制:横向导引方程设计-偏航通道
与射程偏差类似,横程偏差也是位置偏差、速度偏差和时间偏差的函数:
Δ
H
=
∂
H
∂
r
ˉ
k
δ
r
k
+
∂
H
∂
r
ˉ
˙
k
δ
r
˙
k
+
∂
H
∂
t
k
Δ
t
k
\Delta H=\frac{\partial{H}}{\partial{\bar{r}_k}}\delta{r_k}+\frac{\partial{H}}{\partial{\dot{\bar{r}}_k}}\delta{\dot{r}_k}+\frac{\partial{H}}{\partial{{t}_k}}\Delta{t_k}
ΔH=∂rˉk∂Hδrk+∂rˉ˙k∂Hδr˙k+∂tk∂HΔtk横向导引控制需满足在关机时刻横程偏差为零。但由于关机时间是由射程关机方程控制,无法同时满足射程偏差和横程偏差都为零,因此采用先满足横向控制要求,再满足射程关机的方式,即先满足横程偏差为0,并加以保持,再按照射程控制要求来关机。
将横程偏差写为等时偏差形式:
Δ
H
(
t
k
)
=
δ
H
(
t
k
)
+
H
˙
(
t
ˉ
k
)
Δ
t
k
\Delta H(t_k)=\delta H(t_k)+\dot{H}(\bar{t}_k)\Delta t_k
ΔH(tk)=δH(tk)+H˙(tˉk)Δtk其中:
- δ H ( t k ) = ∂ H ∂ r ˉ k δ r ˉ k + ∂ H ∂ r ˉ ˙ k δ r ˉ k \delta H(t_k)=\frac{\partial{H}}{\partial{\bar{r}_k}}\delta{\bar{r}_k}+\frac{\partial{H}}{\partial{\dot{\bar{r}}_k}}\delta{\bar{r}_k} δH(tk)=∂rˉk∂Hδrˉk+∂rˉ˙k∂Hδrˉk,为实际弹道与标准弹道在当前时刻由状态偏差引起的横程偏差
- H ˙ ( t ˉ k ) Δ t k \dot{H}(\bar{t}_k)\Delta t_k H˙(tˉk)Δtk为由时间偏差引起的横程偏差, H ˙ ( t ˉ k ) = ∑ i = 1 6 ∂ H ∂ X i k X ˉ i ˙ ( t ˉ k ) + ∂ H ∂ t k \dot{H}(\bar{t}_k)=\sum^6_{i=1}{\frac{\partial{H}}{\partial{X_{ik}}}\dot{\bar{X}_i}(\bar{t}_k)+\frac{\partial{H}}{\partial{t_k}}} H˙(tˉk)=∑i=16∂Xik∂HXˉi˙(tˉk)+∂tk∂H
- t t t-当前时刻
- t ˉ k \bar{t}_k tˉk-标准弹道的标准关机时刻
- t k t_k tk-实际弹道的实际关机时刻
- Δ t k = t − t k \Delta t_k=t-t_k Δtk=t−tk,是当前时刻与实际关机时刻的偏差
- 之前对比的是实际弹道的当前时刻t与标准弹道的关机时刻 t ˉ k \bar{t}_k tˉk的偏差
- 现在是先对比当前时刻t的实际弹道和标准弹道的偏差,再对比当前时刻t与实际关机时刻
t
k
t_k
tk的偏差
在实际关机时刻 t k t_k tk满足射程偏差为零,将射程偏差函数也写成等时偏差形式:
Δ L ( t k ) = δ L ( t k ) + L ˙ ( t ˉ k ) Δ t k = 0 \Delta L(t_k)=\delta L(t_k)+\dot{L}(\bar{t}_k)\Delta t_k=0 ΔL(tk)=δL(tk)+L˙(tˉk)Δtk=0可以求出当前时刻与实际关机时刻之差 Δ t k = − δ L ( t k ) L ˙ ( t ˉ k ) \Delta t_k=-\cfrac{\delta L(t_k)}{\dot{L}(\bar{t}_k)} Δtk=−L˙(tˉk)δL(tk)将 Δ t k \Delta t_k Δtk代入原横程偏差函数:
Δ H ( t k ) = ( ∂ H ∂ r ˉ k − δ L ( t k ) L ˙ ( t ˉ k ) ) δ r k + ( ∂ H ∂ r ˉ ˙ k − δ L ( t k ) L ˙ ( t ˉ k ) ) δ r ˙ k \Delta H(t_k)=\left({\frac{\partial{H}}{\partial{\bar{r}_k}}-\cfrac{\delta L(t_k)}{\dot{L}(\bar{t}_k)}}\right)\delta{r_k}+\left(\frac{\partial{H}}{\partial{\dot{\bar{r}}_k}}-\cfrac{\delta L(t_k)}{\dot{L}(\bar{t}_k)}\right)\delta{\dot{r}_k} ΔH(tk)=(∂rˉk∂H−L˙(tˉk)δL(tk))δrk+(∂rˉ˙k∂H−L˙(tˉk)δL(tk))δr˙k
得到横程偏差关于当前位置偏差和速度偏差的函数,两项系数均为已知量,由标准弹道确定,分别为k1和k2,得到横程偏差控制函数:
W H ( t ) = k 1 ( t ˉ k ) δ r k + k 2 ( t ˉ k ) δ r ˙ k W_H(t)=k_1(\bar{t}_k)\delta{r_k}+k_2(\bar{t}_k)\delta{\dot{r}_k} WH(t)=k1(tˉk)δrk+k2(tˉk)δr˙k可以看出,当前的横程偏差只与当前的位置偏差和速度偏差有关。
横程偏差控制函数用于控制偏航角,乘以导引系数(单位:rad/m,手工调制)得到偏航角控制信号: u ψ = a 0 H W H ( t ) u_{\psi}=a_0^H W_H(t) uψ=a0HWH(t)
弹道倾角控制:法向导引方程设计-俯仰通道
摄动制导的核心是泰勒级数展开,必须保证二阶以上各项是高阶小量,尤其是高阶射程偏导数较大的运动参数。为此要求实际弹道相比于标准弹道是小偏差,即需要保证实际当地弹道倾角与标准弹道倾角之差为小量,该条件通过法向导引方程实现。
将当地弹道倾角偏差表示为位置偏差、速度偏差和时间偏差的函数:
Δ
Θ
(
t
k
)
=
∂
Θ
∂
r
ˉ
k
δ
r
k
+
∂
Θ
∂
r
ˉ
˙
k
δ
r
˙
k
+
∂
Θ
∂
t
k
Δ
t
k
\Delta\Theta(t_k)=\frac{\partial{\Theta}}{\partial{\bar{r}_k}}\delta{r_k}+\frac{\partial{\Theta}}{\partial{\dot{\bar{r}}_k}}\delta{\dot{r}_k}+\frac{\partial{\Theta}}{\partial{{t}_k}}\Delta{t_k}
ΔΘ(tk)=∂rˉk∂Θδrk+∂rˉ˙k∂Θδr˙k+∂tk∂ΘΔtk写成等时偏差形式:
Δ
Θ
(
t
k
)
=
(
∂
Θ
∂
r
ˉ
k
−
δ
L
(
t
k
)
L
˙
(
t
ˉ
k
)
)
δ
r
ˉ
k
+
(
∂
Θ
∂
r
ˉ
˙
k
−
δ
L
(
t
k
)
L
˙
(
t
ˉ
k
)
)
δ
r
ˉ
˙
k
\Delta\Theta(t_k)=\left({\frac{\partial{\Theta}}{\partial{\bar{r}_k}}-\cfrac{\delta L(t_k)}{\dot{L}(\bar{t}_k)}}\right)\delta{\bar{r}_k}+\left(\frac{\partial{\Theta}}{\partial{\dot{\bar{r}}_k}}-\cfrac{\delta L(t_k)}{\dot{L}(\bar{t}_k)}\right)\delta{\dot{\bar{r}}_k}
ΔΘ(tk)=(∂rˉk∂Θ−L˙(tˉk)δL(tk))δrˉk+(∂rˉ˙k∂Θ−L˙(tˉk)δL(tk))δrˉ˙k得到当地弹道倾角偏差控制函数:
W
Θ
(
t
)
=
k
3
(
t
ˉ
k
)
δ
r
ˉ
k
+
k
4
(
t
ˉ
k
)
δ
r
ˉ
˙
k
δ
r
ˉ
k
˙
W_\Theta(t)=k_3(\bar{t}_k)\delta{\bar{r}_k}+k_4(\bar{t}_k)\delta{\dot{\bar{r}}_k}\delta{\dot{\bar{r}_k}}
WΘ(t)=k3(tˉk)δrˉk+k4(tˉk)δrˉ˙kδrˉk˙俯仰控制量:
u
φ
=
a
0
Θ
W
Θ
(
t
)
u_\varphi=a_0^\Theta W_\Theta(t)
uφ=a0ΘWΘ(t)