文章目录
- 深入解读航天器交会最优控制中的Hamilton函数
-
- 引言
- 一、什么是Hamilton函数?
-
- [1.1 标准定义](#1.1 标准定义)
- [1.2 文字解释](#1.2 文字解释)
- [1.3 通俗理解](#1.3 通俗理解)
- 二、航天器交会问题的Hamilton函数
-
- [2.1 完整表达式](#2.1 完整表达式)
- [2.2 识别各组成部分](#2.2 识别各组成部分)
- [2.4 各部分物理含义](#2.4 各部分物理含义)
- 三、Hamilton函数的核心作用
-
- [3.1 推导最优控制律](#3.1 推导最优控制律)
-
- [最优推力方向 α ∗ \alpha^* α∗](#最优推力方向 α ∗ \alpha^* α∗)
- [最优推力大小 u ∗ u^* u∗](#最优推力大小 u ∗ u^* u∗)
- [3.2 协态变量微分方程](#3.2 协态变量微分方程)
- [3.3 形成两点边值问题](#3.3 形成两点边值问题)
- 四、常见误区澄清
-
- [误区1:所有 Hamilton 函数都有显式的 L L L](#误区1:所有 Hamilton 函数都有显式的 L L L)
- 误区2:协态变量是常数
- 误区3:标准形式中的符号可以随意正负
- 五、整体框架图
- 六、总结
- 七、一句话总结
- 参考文献
深入解读航天器交会最优控制中的Hamilton函数
引言
在航天器协同交会问题中,如何用最少的燃料实现两个航天器的精确对接,是一个典型的最优控制问题。而Hamilton函数(哈密顿函数)则是破解这一问题的核心数学工具。今天,我们就来深入解读这个看似复杂实则逻辑清晰的Hamilton函数,系统讲解其标准定义、物理含义以及在实际问题中的应用。
一、什么是Hamilton函数?
1.1 标准定义
在最优控制理论中,Hamilton函数是一个将动力学系统 、性能指标 和约束条件统一起来的数学表达式。
考虑如下最优控制问题:
-
状态方程 (描述系统如何演化):
x ˙ ( t ) = f ( x ( t ) , u ( t ) , t ) \dot{x}(t) = f(x(t), u(t), t) x˙(t)=f(x(t),u(t),t) -
性能指标 (要最小化的代价函数):
J = Φ ( x ( t f ) ) + ∫ t 0 t f L ( x ( t ) , u ( t ) , t ) d t J = \Phi(x(t_f)) + \int_{t_0}^{t_f} L(x(t), u(t), t) \, dt J=Φ(x(tf))+∫t0tfL(x(t),u(t),t)dt其中 Φ ( x ( t f ) ) \Phi(x(t_f)) Φ(x(tf)) 是终端代价(如最终位置误差), ∫ L d t \int L \, dt ∫Ldt 是过程代价(如累计燃料消耗)。
则 Hamilton函数 的标准定义为:
H ( x , u , λ , t ) = L ( x , u , t ) + λ T ( t ) f ( x , u , t ) \boxed{H(x, u, \lambda, t) = L(x, u, t) + \lambda^T(t) \, f(x, u, t)} H(x,u,λ,t)=L(x,u,t)+λT(t)f(x,u,t)
各符号含义:
- x ( t ) x(t) x(t):状态变量(位置、速度、质量等)
- u ( t ) u(t) u(t):控制变量(推力比、推力方向)
- λ ( t ) \lambda(t) λ(t):协态变量(Costate,也叫伴随变量,相当于拉格朗日乘子)
- f ( x , u , t ) f(x,u,t) f(x,u,t):状态方程右边(系统动力学)
- L ( x , u , t ) L(x,u,t) L(x,u,t):运行代价(积分代价的被积函数,如燃料消耗率)
1.2 文字解释
Hamilton 函数 = 运行代价 L L L + 协态变量 λ T \lambda^T λT 乘以状态方程 f f f
- 第一部分 L L L:直接来自代价函数,代表即时成本(如燃料燃烧的瞬时速率)
- 第二部分 λ T f \lambda^T f λTf:把动力学约束"加入"最优问题中,代表状态演化对未来代价的影响
通过庞特里亚金极值原理,对控制量 u u u 求 Hamilton 函数的极值(最小值),即可得到最优控制律。
1.3 通俗理解
可以把 Hamilton 函数想象成整个系统的"能量账本":
- 第一项 L L L:现在花了多少钱(当前燃料消耗)
- 第二项 λ T f \lambda^T f λTf:未来还要花多少钱的预估值(通过协态变量将未来代价折算到现在)
最优控制就是在每一时刻,让这个"总账"最小化。
二、航天器交会问题的Hamilton函数
2.1 完整表达式
对于航天器协同交会问题,文献[1]中的 Hamilton 函数(式7)为:
H = λ v T ( − μ e r j 3 r j − ζ r j 5 A 1 r j + 15 ζ z j 2 2 r j 7 r + F j u j m j α j ) + λ v T v j + λ m ( − u j F j I s p g 0 ) + u j F j I s p g 0 \begin{aligned} H = &\lambda_v^T \left( -\frac{\mu_e}{r_j^3} r_j - \frac{\zeta}{r_j^5} A_1 r_j + \frac{15\zeta z_j^2}{2r_j^7} r + \frac{F_j u_j}{m_j} \alpha_j \right) \\ &+ \lambda_v^T v_j + \lambda_m \left( -\frac{u_j F_j}{I_{sp} g_0} \right) + \frac{u_j F_j}{I_{sp} g_0} \end{aligned} H=λvT(−rj3μerj−rj5ζA1rj+2rj715ζzj2r+mjFjujαj)+λvTvj+λm(−Ispg0ujFj)+Ispg0ujFj
乍看很复杂,但我们可以将其分解,并与标准形式 H = L + λ T f H = L + \lambda^T f H=L+λTf 逐一对应。
2.2 识别各组成部分
首先,明确航天器交会问题的:
状态变量 :
x = [ r j v j m j ] 其中 r j = [ x , y , z ] T , v j = [ v x , v y , v z ] T x = \begin{bmatrix} r_j \\ v_j \\ m_j \end{bmatrix} \quad \text{其中} \quad r_j = [x, y, z]^T, \quad v_j = [v_x, v_y, v_z]^T x= rjvjmj 其中rj=[x,y,z]T,vj=[vx,vy,vz]T
控制变量:
- u j ∈ [ 0 , 1 ] u_j \in [0,1] uj∈[0,1]:推力比(发动机开多大)
- α j \alpha_j αj:推力方向单位矢量(往哪个方向推)
状态方程 f f f (系统动力学):
r ˙ j = v j v ˙ j = − μ e r j 3 r j ⏟ 中心引力 − ζ r j 5 A 1 r j + 15 ζ z j 2 2 r j 7 r ⏟ J₂非球形摄动 + F j u j m j α j ⏟ 推力加速度 m ˙ j = − u j F j I s p g 0 ( 燃料消耗,质量减少 ) \begin{aligned} \dot{r}j &= v_j \\ \dot{v}j &= \underbrace{-\frac{\mu_e}{r_j^3} r_j}{\text{中心引力}} \underbrace{-\frac{\zeta}{r_j^5} A_1 r_j + \frac{15\zeta z_j^2}{2r_j^7} r}{\text{J₂非球形摄动}} + \underbrace{\frac{F_j u_j}{m_j} \alpha_j}_{\text{推力加速度}} \\ \dot{m}j &= -\frac{u_j F_j}{I{sp} g_0} \quad (\text{燃料消耗,质量减少}) \end{aligned} r˙jv˙jm˙j=vj=中心引力 −rj3μerjJ₂非球形摄动 −rj5ζA1rj+2rj715ζzj2r+推力加速度 mjFjujαj=−Ispg0ujFj(燃料消耗,质量减少)
运行代价 L L L (来自性能指标 J = ∑ F j I s p g 0 ∫ u j d t J = \sum \frac{F_j}{I_{sp}g_0} \int u_j dt J=∑Ispg0Fj∫ujdt):
L = u j F j I s p g 0 L = \frac{u_j F_j}{I_{sp} g_0} L=Ispg0ujFj
这就是单位时间内消耗的燃料质量。
文献[1]中的 Hamilton 函数完全符合标准形式:
H = u j F j I s p g 0 ⏟ L + λ r T v j + λ v T v ˙ j + λ m m ˙ j ⏟ λ T f H = \underbrace{\frac{u_j F_j}{I_{sp} g_0}}_{L} + \underbrace{\lambda_r^T v_j + \lambda_v^T \dot{v}_j + \lambda_m \dot{m}j}{\lambda^T f} H=L Ispg0ujFj+λTf λrTvj+λvTv˙j+λmm˙j
2.4 各部分物理含义
第一部分:加速度项
λ v T ( − μ e r j 3 r j − ζ r j 5 A 1 r j + 15 ζ z j 2 2 r j 7 r + F j u j m j α j ) \lambda_v^T \left( -\frac{\mu_e}{r_j^3} r_j - \frac{\zeta}{r_j^5} A_1 r_j + \frac{15\zeta z_j^2}{2r_j^7} r + \frac{F_j u_j}{m_j} \alpha_j \right) λvT(−rj3μerj−rj5ζA1rj+2rj715ζzj2r+mjFjujαj)
- 中心引力 : − μ e / r j 3 ⋅ r j -\mu_e/r_j^3 \cdot r_j −μe/rj3⋅rj(地球主体引力,开普勒运动)
- J₂非球形摄动 : − ζ / r j 5 ⋅ A 1 r j + 15 ζ z j 2 / ( 2 r j 7 ) ⋅ r -\zeta/r_j^5 \cdot A_1 r_j + 15\zeta z_j^2/(2r_j^7) \cdot r −ζ/rj5⋅A1rj+15ζzj2/(2rj7)⋅r(地球扁平效应, J 2 J_2 J2是带谐项系数)
- 推力加速度 : F j u j / m j ⋅ α j F_j u_j/m_j \cdot \alpha_j Fjuj/mj⋅αj(发动机产生的加速度)
- 系数矩阵 : A 1 = diag ( 1.5 , 1.5 , 4.5 ) A_1 = \text{diag}(1.5, 1.5, 4.5) A1=diag(1.5,1.5,4.5), ζ = μ e J 2 R e 2 \zeta = \mu_e J_2 R_e^2 ζ=μeJ2Re2
这里 λ v T v ˙ \lambda_v^T \dot{v} λvTv˙ 体现了速度变化的代价。
第二部分:速度项
λ v T v j \lambda_v^T v_j λvTvj
对应状态方程 r ˙ = v \dot{r} = v r˙=v,连接位置和速度。注意此项系数应为 λ r T \lambda_r^T λrT(位置协态变量),文献[1]中写为 λ v T \lambda_v^T λvT 可能是标记习惯或笔误,但不影响本质理解。
第三部分:质量变化项
λ m ( − u j F j I s p g 0 ) \lambda_m \left( -\frac{u_j F_j}{I_{sp} g_0} \right) λm(−Ispg0ujFj)
对应质量消耗方程, λ m \lambda_m λm 是质量协态变量,表示"单位质量变化对总体代价的灵敏度"。
第四部分:直接代价项
u j F j I s p g 0 \frac{u_j F_j}{I_{sp} g_0} Ispg0ujFj
这就是运行代价 L L L,表示瞬时燃料消耗率。
三、Hamilton函数的核心作用
3.1 推导最优控制律
通过极值原理,对控制变量求 Hamilton 函数的极值,可以得到最优控制律。
最优推力方向 α ∗ \alpha^* α∗
对方向 α \alpha α(满足 ∥ α ∥ = 1 \|\alpha\|=1 ∥α∥=1)极值化:
α j ∗ = − λ v j ∥ λ v j ∥ \alpha_j^* = -\frac{\lambda_{vj}}{\|\lambda_{vj}\|} αj∗=−∥λvj∥λvj
物理意义:推力应沿速度协态变量的反方向,即"敏感度最大"的方向。
最优推力大小 u ∗ u^* u∗
定义开关函数 :
ρ j = ∂ H ∂ u j = 1 − λ m j − I s p g 0 m j ∥ λ v j ∥ \rho_j = \frac{\partial H}{\partial u_j} = 1 - \lambda_{mj} - \frac{I_{sp} g_0}{m_j} \|\lambda_{vj}\| ρj=∂uj∂H=1−λmj−mjIspg0∥λvj∥
则最优控制为 bang-bang 控制 :
u j ∗ = { 0 , ρ j > 0 ( 关机 ) 1 , ρ j < 0 ( 满推力 ) ∈ ( 0 , 1 ) , ρ j = 0 ( 奇异弧,一般极少出现 ) u_j^* = \begin{cases} 0, & \rho_j > 0 \quad (\text{关机}) \\ 1, & \rho_j < 0 \quad (\text{满推力}) \\ \in (0,1), & \rho_j = 0 \quad (\text{奇异弧,一般极少出现}) \end{cases} uj∗=⎩ ⎨ ⎧0,1,∈(0,1),ρj>0(关机)ρj<0(满推力)ρj=0(奇异弧,一般极少出现)
通俗理解:
- ρ j > 0 \rho_j > 0 ρj>0:边际成本为正 → 推力越小越好 → 关机
- ρ j < 0 \rho_j < 0 ρj<0:边际成本为负 → 推力越大越好 → 满推力
- ρ j = 0 \rho_j = 0 ρj=0:奇异情况,推力可连续调节
3.2 协态变量微分方程
Hamilton函数对状态变量求偏导,得到协态变量的演化方程(正则方程):
λ ˙ r j = − ∂ H ∂ r j , λ ˙ v j = − ∂ H ∂ v j , λ ˙ m j = − ∂ H ∂ m j \dot{\lambda}{rj} = -\frac{\partial H}{\partial r_j}, \quad \dot{\lambda}{vj} = -\frac{\partial H}{\partial v_j}, \quad \dot{\lambda}_{mj} = -\frac{\partial H}{\partial m_j} λ˙rj=−∂rj∂H,λ˙vj=−∂vj∂H,λ˙mj=−∂mj∂H
文献[1]中的式(12)给出了具体表达式:
λ ˙ v j = ( μ e r j 3 + ζ r j 5 A 1 − 15 ζ z j 2 2 r j 7 I ) λ v j − 15 ζ r j 7 ( λ v j T r j ) A 2 z j \dot{\lambda}{vj} = \left( \frac{\mu_e}{r_j^3} + \frac{\zeta}{r_j^5} A_1 - \frac{15\zeta z_j^2}{2r_j^7} I \right) \lambda{vj} - \frac{15\zeta}{r_j^7} (\lambda_{vj}^T r_j) A_2 z_j λ˙vj=(rj3μe+rj5ζA1−2rj715ζzj2I)λvj−rj715ζ(λvjTrj)A2zj
λ ˙ m j = − u j F j m j 2 ∥ λ v j ∥ \dot{\lambda}{mj} = -\frac{u_j F_j}{m_j^2} \|\lambda{vj}\| λ˙mj=−mj2ujFj∥λvj∥
(式中 A 2 = [ 0 , 0 , 1 ] T A_2 = [0,0,1]^T A2=[0,0,1]T)
物理意义:协态变量是时间函数,它们的演化规律由系统动力学决定,相当于"最优未来代价"的传播方程。
3.3 形成两点边值问题
利用 Hamilton 函数,原问题转化为:
- 状态方程: x ˙ = ∂ H / ∂ λ \dot{x} = \partial H / \partial \lambda x˙=∂H/∂λ (从 t 0 t_0 t0 向前积分)
- 协态方程: λ ˙ = − ∂ H / ∂ x \dot{\lambda} = -\partial H / \partial x λ˙=−∂H/∂x (从 t f t_f tf 向后积分)
- 边界条件: ψ 0 = 0 \psi_0 = 0 ψ0=0(初始状态固定), ψ f = 0 \psi_f = 0 ψf=0(终端交会条件)
这构成了一个两点边值问题,通常用打靶法或配点法数值求解。
四、常见误区澄清
误区1:所有 Hamilton 函数都有显式的 L L L
❌ 错误理解
✅ 正确 :如果性能指标只由终端代价 Φ \Phi Φ 决定(没有积分项 L L L),那么 H = λ T f H = \lambda^T f H=λTf,没有显式的运行代价项。
误区2:协态变量是常数
❌ 错误理解
✅ 正确 :协态变量 λ ( t ) \lambda(t) λ(t) 是时间函数,由微分方程 λ ˙ = − ∂ H / ∂ x \dot{\lambda} = -\partial H / \partial x λ˙=−∂H/∂x 决定,一般随时间是变化的。
误区3:标准形式中的符号可以随意正负
❌ 错误理解
✅ 正确 :不同教材有不同定义,有的用 H = λ T f − L H = \lambda^T f - L H=λTf−L(对应最大值原理),有的用 H = L + λ T f H = L + \lambda^T f H=L+λTf(对应最小值原理)。文献[1]采用 +L 形式,符合最小值原理的常规写法。
五、整体框架图
┌─────────────────────────────────────────────────────────────┐
│ 最优控制问题 │
├─────────────────────────────────────────────────────────────┤
│ 状态方程: ˙x = f(x,u,t) │
│ 性能指标: J = Φ(x(t_f)) + ∫ L(x,u,t) dt │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ Hamilton函数: H = L + λ^T f │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ 庞特里亚金极值原理 │
│ u* = argmin H (最小值原理) │
└─────────────────────────────────────────────────────────────┘
↓
┌──────────────────────────┬──────────────────────────────────┐
│ 最优控制律 │ 协态方程 │
│ α* = -λ_v/‖λ_v‖ │ ˙λ = -∂H/∂x │
│ u* = 0/1 (bang-bang) │ │
└──────────────────────────┴──────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ 两点边值问题 (数值求解) │
│ 状态变量: 正向积分 x(t₀) → x(t_f) │
│ 协态变量: 反向积分 λ(t_f) ← λ(t₀) │
│ 边界条件: ψ₀ = 0, ψ_f = 0 │
└─────────────────────────────────────────────────────────────┘
六、总结
| 核心要点 | 说明 |
|---|---|
| 标准定义 | H = L + λ T f H = L + \lambda^T f H=L+λTf,其中 L L L 是运行代价, f f f 是状态方程 |
| 物理含义 | H H H = 现在花的钱 + 未来要花的钱的当前预估 |
| 文献[1]对应 | 式(7) = u F I s p g 0 ( L ) \frac{uF}{I_{sp}g_0}(L) Ispg0uF(L) + λ v T v ˙ + ⋯ \lambda_v^T \dot{v} + \cdots λvTv˙+⋯ 完全符合标准形式 |
| 最优推力 | 方向: α ∗ = − λ v / ∣ λ v ∣ \alpha^* = -\lambda_v / |\lambda_v| α∗=−λv/∣λv∣;大小:bang-bang 控制 |
| 协态变量 | 时间函数,由 λ ˙ = − ∂ H / ∂ x \dot{\lambda} = -\partial H/\partial x λ˙=−∂H/∂x 决定,不是常数 |
| 求解方法 | 转化为两点边值问题,数值打靶法求解 |
七、一句话总结
标准 Hamilton 函数 = 代价函数的被积函数 L L L + 协态变量与动力学方程 f f f 的内积
式 (7) 完全符合这一标准写法。Hamilton 函数是最优控制的"心脏",它将物理规律和目标函数融为一体,通过极值原理导出最优控制律,最终转化为可数值求解的两点边值问题。
参考文献
1\] 关宇同, 高长生, 胡玉东, 等. 面向航天器远距离协同交会的超参数自主调优-同伦方法\[J\]. 宇航学报, 2026, 47(4): 1019-1031. \[2\] Meyer K R, Offin D C. Introduction to hamiltonian dynamical systems and the N-body problem: Vol. 90\[M\]. Cham: Springer International Publishing, 2017. \[3\] Jorba À, Masdemont J. Nonlinear dynamics in an extended neighbourhood of the translunar equilibrium point\[M\]//Simó C. Hamiltonian systems with three or more degrees of freedom. Dordrecht: Springer Netherlands, 1999: 430-434. \[4\] Ramacher U. Hamiltonian dynamics of neural networks\[M\]//Neurobionics. Elsevier, 1993: 61-85. \[5\] Lacomba E A, Llibre J. Hamiltonian systems and celestial mechanics\[M\]. WORLD SCIENTIFIC, 1993. *** ** * ** *** *希望这篇博客能帮助你全面理解 Hamilton 函数在航天器交会问题中的含义与应用。如有疑问,欢迎留言讨论!*