SpaceX 首席火箭着陆工程师 MIT论文详解:非凸软着陆最优控制问题的控制边界和指向约束的无损凸化

上一篇blog翻译了 Lars Blackmore(Lars Blackmore is principal rocket landing engineer at SpaceX)的文章,SpaceX 使用 CVXGEN 生成定制飞行代码,实现超高速机载凸优化。利用地形相对导航实现了数十米量级的导航精度,着陆器在着陆过程中成像行星表面并将特征与机载地图匹配来确定自己的位置。

今天来讲解下Lars Blackmore 在MIT读博时候的成果:Non-Convex Soft Landing Optimal Control
本文禁止转载,如果对技术解读有不同见解,可以邮箱反馈:fanzexuan135@163.com

非凸软着陆最优控制问题的控制边界和指向约束的无损凸化

1. 介绍

行星软着陆是最优控制理论的基准问题之一,由于近期对探索太阳系行星(如火星)的关注增加而重新引起兴趣。软着陆问题在考虑所有相关约束的情况下,可以表述为一个有状态和控制约束的有限时域最优控制问题。实时生成到行星表面规定位置的燃料最优路径是一个具有挑战性的问题,因为存在燃料、控制输入和状态的约束。求解这个约束问题的主要困难在于控制输入上存在非凸约束,这是由于控制输入幅值的非零下界以及其方向上的非凸约束。本文引入了对控制约束的一种凸化方法,并证明它是无损的;也就是说,软着陆问题的最优解可以通过求解提出的问题的凸松弛来获得。无损凸化使得能够使用凸优化的内点法来获得原始非凸最优控制问题的最优解。

1.1 符号说明

  • R \mathbb{R} R: 实数集
  • a.e. [a,b]: 条件几乎处处成立的区间
  • R n \mathbb{R}^n Rn: n维实向量空间
  • ∥ v ∥ \|v\| v: 向量 v v v的2范数
  • 0 0 0: 零矩阵
  • I I I: 单位矩阵
  • e i e_i ei: 第 i i i个元素为1,其余为0的列向量
  • ( v 1 , … , v m ) (v_1,\dots,v_m) (v1,,vm): 由向量 v 1 , … , v m v_1,\dots,v_m v1,,vm组成的向量,即 ( v 1 , … , v m ) : = [ v 1 T v 2 T … v m T ] T (v_1,\dots,v_m):=\begin{bmatrix}v_1^T & v_2^T & \dots & v_m^T\end{bmatrix}^T (v1,,vm):=[v1Tv2TvmT]T
  • ∂ S \partial S S: 集合 S S S的边界点集
  • i n t S int\,S intS: 集合 S S S的内部

2. 推力指向约束下的行星着陆

行星软着陆问题寻找推力(控制)剖面 T c T_c Tc和伴随的平移状态轨迹 ( r , r ˙ ) (r,\dot{r}) (r,r˙),使着陆器从初始位置 r 0 r_0 r0和速度 r ˙ 0 \dot{r}_0 r˙0导航到行星表面规定的目标位置并以零速度相对于表面,即"软着陆",同时最小化燃料消耗。该问题考虑具有恒定自转速率(角速度)、均匀重力场和忽略空气动力的行星。当从给定初始状态无法到达目标点时,考虑精确着陆问题(或最小着陆误差问题),目标是首先找到离目标最近的可达表面位置,然后获得到该最近点的最小燃料状态轨迹。我们提出了一种优先级优化方法,在统一的框架下处理这两个问题,因此称为行星软着陆问题。
在这里插入图片描述

在这个问题中,有几个状态和控制约束。主要的状态约束是位置向量上的下滑坡道约束和速度向量幅值的上界约束。下滑坡道约束如图1所示,用于确保着陆器在到达目标前与地面保持安全距离。对于有大气层的行星,需要对速度设置上限以避免超音速,因为在超音速下控制推力器可能不可靠。这两个约束都是凸的,适合本文考虑的凸优化框架。控制约束却具有挑战性,因为它们定义了一个非凸的可行控制集合。我们有三个控制约束(见图2):给定任意机动时间(飞行时间) t f t_f tf,对所有 t ∈ [ 0 , t f ] t\in[0,t_f] t[0,tf]:

  1. 推力的凸上界: ∥ T c ( t ) ∥ ≤ ρ 2 \|T_c(t)\|\le\rho_2 Tc(t)ρ2
  2. 推力的非凸下界: ∥ T c ( t ) ∥ ≥ ρ 1 > 0 \|T_c(t)\|\ge\rho_1>0 Tc(t)ρ1>0
  3. 推力指向约束: n ^ T T c ( t ) / ∥ T c ( t ) ∥ ≥ cos ⁡ θ \hat{n}^TT_c(t)/\|T_c(t)\|\ge\cos\theta n^TTc(t)/∥Tc(t)cosθ,其中 ∥ n ^ ∥ = 1 \|\hat{n}\|=1 n^=1是方向向量, 0 ≤ θ ≤ π 0\le\theta\le\pi 0θπ是相对于 n ^ \hat{n} n^给定方向的最大允许偏差角,当 θ ≤ π / 2 \theta\le\pi/2 θπ/2时它是凸的,当 θ > π / 2 \theta>\pi/2 θ>π/2时它是非凸的。

机载地形相对导航传感器通常需要特定的观测方向,这对飞行器姿态施加了约束。由于我们将飞行器建模为具有推力向量的点质量,所需的控制力通过将推力向量指向所需力的方向来施加。在这个框架下,我们可以通过简单地限制推力向量可以指向的方向来对飞行器姿态施加约束。这也避免了将飞行器的姿态动力学合并到问题公式中,否则会显著增加问题的复杂性。明确考虑姿态动力学并直接对姿态而不是推力方向施加指向约束可以成为未来研究的一部分,这可以受益于最近关于约束姿态控制的凸化结果[23]。

着陆器被建模为具有作为控制的推力矢量的集中质量,其动力学由下式描述:

x ˙ ( t ) = A ( ω ) x ( t ) + B ( g + T c ( t ) m ( t ) ) m ˙ ( t ) = − α ∥ T c ( t ) ∥ \begin{aligned} \dot{x}(t) &= A(\omega)x(t)+B\left(g+\frac{T_c(t)}{m(t)}\right)\\ \dot{m}(t) &= -\alpha\|T_c(t)\| \end{aligned} x˙(t)m˙(t)=A(ω)x(t)+B(g+m(t)Tc(t))=αTc(t)

其中 x ( t ) = ( r ( t ) , r ˙ ( t ) ) : R + → R 6 x(t)=(r(t),\dot{r}(t)):R_+\to\mathbb{R}^6 x(t)=(r(t),r˙(t)):R+R6, m ( t ) : R + → R + m(t):R_+\to R_+ m(t):R+R+是着陆器的质量,

A ( ω ) = [ 0 I − S ( ω ) 2 − 2 S ( ω ) ] , B = [ 0 I ] , S ( ω ) = [ 0 − ω 3 ω 2 ω 3 0 − ω 1 − ω 2 ω 1 0 ] A(\omega)=\begin{bmatrix}0 & I\\ -S(\omega)^2 & -2S(\omega)\end{bmatrix},\quad B=\begin{bmatrix}0\\I\end{bmatrix},\quad S(\omega)=\begin{bmatrix} 0 & -\omega_3 & \omega_2\\ \omega_3 & 0 & -\omega_1\\ -\omega_2 & \omega_1 & 0 \end{bmatrix} A(ω)=[0S(ω)2I2S(ω)],B=[0I],S(ω)= 0ω3ω2ω30ω1ω2ω10

ω = ( ω 1 , ω 2 , ω 3 ) ∈ R 3 \omega=(\omega_1,\omega_2,\omega_3)\in\mathbb{R}^3 ω=(ω1,ω2,ω3)R3是行星的恒定角速度向量, g ∈ R 3 g\in\mathbb{R}^3 gR3是恒定重力向量, α > 0 \alpha>0 α>0是描述燃料消耗(质量损耗)率的常数。这里,矢量量的时间导数在固连于行星表面的参考系中表示,该参考系具有行星的角速率,我们还使用了火箭方程,它将燃料质量消耗率与施加的推力矢量联系起来[24]。

我们使用着陆飞行器的集中质量刚体模型,其中平移动力学与旋转(姿态)动力学解耦。这是一个在实践中常用的假设,主要是因为姿态控制权限通常远高于平移控制权限的带宽。具体来说,为了使推力器指向正确的平移控制方向而需要的任何姿态机动都可以非常快速地完成,使得姿态和平移控制系统之间的相互作用最小化。因此,这是一个合理的假设,可以大大降低问题的复杂性。

给定约束、动力学方程和表面上的目标位置 ( 0 , q ) (0,q) (0,q),其中 q ∈ R 2 q\in\mathbb{R}^2 qR2表示零高度处目标的坐标,行星软着陆问题可以表述为如下的优先级优化问题。

问题1(非凸最小着陆误差问题):

min ⁡ t f , T c ∥ E r ( t f ) − q ∥ s.t. x ˙ ( t ) = A ( ω ) x ( t ) + B ( g + T c ( t ) m ) , m ˙ ( t ) = − α ∥ T c ( t ) ∥ , ∀ t ∈ [ 0 , t f ] x ( t ) ∈ X , ∀ t ∈ [ 0 , t f ] 0 < ρ 1 ≤ ∥ T c ( t ) ∥ ≤ ρ 2 , n ^ T T c ( t ) ≥ ∥ T c ( t ) ∥ cos ⁡ θ m ( 0 ) = m 0 , m ( t f ) ≥ m 0 − m f > 0 r ( 0 ) = r 0 , r ˙ ( 0 ) = r ˙ 0 e 1 T r ( t f ) = 0 , r ˙ ( t f ) = 0 \begin{aligned} \min_{t_f,T_c}\quad & \|Er(t_f)-q\|\\ \text{s.t.}\quad & \dot{x}(t)=A(\omega)x(t)+B\left(g+\frac{T_c(t)}{m}\right),\quad \dot{m}(t)=-\alpha\|T_c(t)\|,\quad \forall t\in[0,t_f]\\ & x(t)\in X,\quad \forall t\in[0,t_f]\\ & 0<\rho_1\le\|T_c(t)\|\le\rho_2,\quad \hat{n}^TT_c(t)\ge\|T_c(t)\|\cos\theta\\ & m(0)=m_0,\quad m(t_f)\ge m_0-m_f > 0\\ & r(0)=r_0,\quad \dot{r}(0)=\dot{r}_0\\ & e_1^Tr(t_f)=0,\quad \dot{r}(t_f)=0 \end{aligned} tf,Tcmins.t.Er(tf)qx˙(t)=A(ω)x(t)+B(g+mTc(t)),m˙(t)=αTc(t),t[0,tf]x(t)X,t[0,tf]0<ρ1Tc(t)ρ2,n^TTc(t)Tc(t)cosθm(0)=m0,m(tf)m0mf>0r(0)=r0,r˙(0)=r˙0e1Tr(tf)=0,r˙(tf)=0

问题2(非凸最小燃料问题):

max ⁡ t f , T c m ( t f ) − m ( 0 ) = min ⁡ t f , T c ∫ 0 t f α ∥ T c ( t ) ∥ d t s.t. 动力学方程和约束(4)-(9) ∥ E r ( t f ) − q ∥ ≤ ∥ d P 1 ∗ − q ∥ \begin{aligned} \max_{t_f,T_c}\quad & m(t_f)-m(0)=\min_{t_f,T_c}\int_0^{t_f}\alpha\|T_c(t)\|\,dt\\ \text{s.t.}\quad & \text{动力学方程和约束(4)-(9)}\\ & \|Er(t_f)-q\|\le\|d_{P1}^*-q\| \end{aligned} tf,Tcmaxs.t.m(tf)m(0)=tf,Tcmin0tfαTc(t)dt动力学方程和约束(4)-(9)Er(tf)qdP1q

其中, d P 1 ∗ = E r P 1 ∗ ( t f ) ∈ R 2 d_{P1}^*=Er_{P1}^*(t_f)\in\mathbb{R}^2 dP1=ErP1(tf)R2是通过求解问题1得到的最优成本对应的最终位置,即 d P 1 ∗ d_{P1}^* dP1是离目标位置 q q q最近的可达表面点, m f m_f mf是可用燃料, m 0 m_0 m0是着陆器的初始质量,

E = [ e 2 T e 3 T ] = [ 0 1 0 0 0 1 ] . E=\begin{bmatrix}e_2^T \\ e_3^T\end{bmatrix}=\begin{bmatrix} 0 & 1 & 0\\ 0 & 0 & 1 \end{bmatrix}. E=[e2Te3T]=[001001].

我们用 X X X来定义飞行器可行位置和速度的集合,即下滑坡道约束和最大允许速度 V m a x V_{max} Vmax的约束

X = { ( r , r ˙ ) ∈ R 6 : ∥ r ˙ ∥ ≤ V m a x , ∥ E ( r − r ( t f ) ) ∥ − c T ( r − r ( t f ) ) ≤ 0 } X=\left\{(r,\dot{r})\in\mathbb{R}^6:\|\dot{r}\|\le V_{max},\quad \|E(r-r(t_f))\|-c^T(r-r(t_f))\le 0\right\} X={(r,r˙)R6:r˙Vmax,E(rr(tf))cT(rr(tf))0}

其中 c c c指定了一个顶点在 r ( t f ) r(t_f) r(tf)处的可行锥

c : = e 1 tan ⁡ γ g s , γ g s ∈ ( 0 , π / 2 ) . c:=\frac{e_1}{\tan\gamma_{gs}},\quad\gamma_{gs}\in(0,\pi/2). c:=tanγgse1,γgs(0,π/2).

这里, γ g s \gamma_{gs} γgs是最小下滑坡道角,如图1所示。下滑坡道约束(12)确保到目标的轨迹不能太浅或进入地下。 X X X是一个凸集,为了完整起见,我们给出 X X X内部的标准定义

i n t X : = { x ∈ X : ∃ ε > 0 使得  y ∈ X 如果  ∥ x − y ∥ < ε } . int\,X:=\{x\in X:\exists\varepsilon>0\ \text{使得}\ y\in X\ \text{如果}\ \|x-y\|<\varepsilon\}. intX:={xX:ε>0 使得 yX 如果 xy<ε}.

X X X的边界由 ∂ X : = { x ∈ X : x ∉ i n t X } \partial X:=\{x\in X:x\notin int\,X\} X:={xX:x/intX}给出。等式(7)定义了着陆器的初始质量,并确保使用的燃料不超过可用燃料。等式(8)定义了着陆器的初始位置和速度,而(9)约束了最终高度和速度。飞行时间 t f t_f tf是一个优化变量,不是先验固定的。

软着陆问题的解通过求解问题1和问题2获得。这种两步优先级方法的动机是非常直观的。本文考虑的行星着陆问题的主要目标是使飞行器尽可能接近给定目标着陆,即像问题1中那样最小化着陆误差。这个问题可能有多个最优解,因此我们有第二步,即像问题2中那样找到消耗最少燃料的最小误差解。

备注1: 在问题2中,最终位置的约束由不等式(11)给出。这个约束也可以是以下选择之一
E r ( t f ) = d P 1 ∗ Er(t_f)=d_{P1}^* Er(tf)=dP1
∥ E r ( t f ) − q ∥ = ∥ d P 1 ∗ − q ∥ . \|Er(t_f)-q\|=\|d_{P1}^*-q\|. Er(tf)q=dP1q∥.
第三个选择是由(11)给出的约束,它是第二个选择的凸松弛,包括严格在这个圆内的终点位置(见图3)。 显然,通过这种进一步的松弛,我们永远无法计算出最终位置严格在圆内的解,因为这个圆的半径是可达到目标的最小距离。我们使用第三种选择有两个动机:(1)获得具有尽可能接近期望目标的最终位置的最小燃料解;(2)使问题2的所有约束都是凸的。为了了解我们如何实现这两个目标,令 F 1 F_1 F1表示问题2的所有可行解,其中(11)被(15)替换。 F 2 F_2 F2是相应的集合,其中(11)被(16)替换,而 F e F_e Fe是问题2的集合。那么很容易注意到 F 1 ⊆ F 2 ⊆ F e F_1\subseteq F_2\subseteq F_e F1F2Fe。此外,我们有 F 2 = F e F_2=F_e F2=Fe。这是因为不等式(11)不排除终点位置在圆上的解,而且我们不能进入圆内。现在,由于 F 1 ⊆ F 2 F_1\subseteq F_2 F1F2,上述第二种选择将产生使用最小燃料轨道并尽可能接近目标的解。所以最好的选择是使用第二种选择。但 ∥ E r ( t f ) − q ∥ = ∥ d P 1 ∗ − q ∥ \|Er(t_f)-q\|=\|d_{P1}^*-q\| Er(tf)q=dP1q是终点位置上的非凸约束。由于 F 2 = F e F_2=F_e F2=Fe,我们可以简单地用凸不等式(11)替换这个非凸约束。因此,我们通过系统地优先考虑两个成本,即可达距离和燃料,来实现两个主要目标:(1)明确优先考虑两个成本;(2)使两个问题都凸化,以便可以通过内点法算法在多项式时间内求解到全局最优。注意,我们通过系统地优先考虑成本来实现这两个目标。这种优化问题中的优先成本也称为字典式目标规划[25]。

定理1的关键挑战是(6)中对推力幅值的下界 ρ 1 > 0 \rho_1>0 ρ1>0,这意味着允许推力值的集合是非凸的(见图2中的第一个插图)。此外,当 ρ 1 = 0 \rho_1 = 0 ρ1=0时,推力边界约束是凸的;然而,由于(6)中的推力指向约束,控制约束仍然可能是非凸的,当 θ > π / 2 \theta>\pi/2 θ>π/2时它是非凸的(见图2中的第二个和第三个插图)。这些非凸控制约束阻止了直接使用凸优化技术来求解这个问题。此外,(4)中质量消耗 m ˙ ( t ) \dot{m}(t) m˙(t)的动力学定义了一个非线性微分方程,离散化后会导致非线性等式约束,这也是非凸的。
在这里插入图片描述
[1]中的关键结果包括对非凸推力边界约束的松弛以及处理质量消耗动力学的方法,提供了问题2的松弛版本。这个松弛问题的最优解被证明也是问题2的最优解。然而,[1]中的凸化结果在存在任何推力指向约束时不成立,包括 θ ∈ [ 0 , π / 2 ] \theta\in[0,\pi/2] θ[0,π/2]的情况。本文将控制约束的凸化扩展到也包含推力指向约束的情况。在凸化具有非凸推力指向约束的问题时,我们发展了问题的几何洞察,建立了与"正则系统"的联系[18]。正则线性系统是在最优控制理论的背景下定义的,如果系统在可行控制集合的唯一点处最大化Hamilton函数,则称该系统相对于一组可行控制是正则的。在可行控制集合是凸的情况下,系统正则意味着Hamilton函数在集合的极点处最大化[18]。我们的凸化结果具有类似的几何解释,因为它通过确保Hamilton函数在松弛可行控制集的投影的极点处最大化来建立无损凸化。然后证明这个集合包含在原始非凸可行控制集中,从而确立了我们可以通过求解其凸松弛来获得原始非凸问题的最优解。

软着陆问题的无损凸化的理论发展允许应用凸优化的内点法[10]-[12],[19],这些方法可以可靠地求解这些问题,并具有多项式时间收敛保证。此外,对快速实时凸优化领域的兴趣激增[20]-[22]表明,内点法的计算速度提高了几个数量级。这一领域的进步将显著提高内点法的实时计算效率,从而使其能够用于行星软着陆。

1.2 符号列表

  • R \mathbb{R} R是实数集。
  • 如果条件在 [ a , b ] [a,b] [a,b]中不成立的点集是零测度集,则称条件几乎处处成立,记为a.e. [ a , b ] [a,b] [a,b]
  • R n \mathbb{R}^n Rn是n维实向量空间。
  • ∥ v ∥ \|v\| v是向量 v v v的2范数。
  • 0 0 0是零矩阵。
  • I I I是单位矩阵。
  • e i e_i ei是第 i i i个元素为1,其余为0的列向量。
  • ( v 1 , v 2 , … , v m ) (v_1,v_2,\dots,v_m) (v1,v2,,vm)表示通过增广向量 v 1 , … , v m v_1,\dots,v_m v1,,vm得到的向量,使得 ( v 1 , v 2 , … , v m ) : = [ v 1 T v 2 T … s v m T ] T (v_1,v_2,\dots,v_m):=\begin{bmatrix}v_1^T & v_2^T & \dots & sv_m^T\end{bmatrix}^T (v1,v2,,vm):=[v1Tv2TsvmT]T
  • ∂ S \partial S S表示集合 S S S的边界点集, i n t S int\,S intS表示 S S S的内部。

3. 无损凸化

我们提出以下问题3和4作为问题1和2的凸松弛。

问题3(凸松弛最小着陆误差问题):

min ⁡ t f , T c , σ ∥ E r ( t f ) − q ∥ s.t. (5), (7), (8), (9) , x ˙ ( t ) = A ( ω ) x ( t ) + B ( g + T c ( t ) m ) , m ˙ ( t ) = − α σ ( t ) , ∀ t ∈ [ 0 , t f ] ∥ T c ( t ) ∥ ≤ σ ( t ) , 0 < ρ 1 ≤ σ ( t ) ≤ ρ 2 n ^ T T c ( t ) ≥ cos ⁡ θ σ ( t ) \begin{aligned} \min_{t_f,T_c,\sigma}\quad & \|Er(t_f)-q\|\\ \text{s.t.}\quad & \text{(5), (7), (8), (9)},\\ & \begin{aligned} \dot{x}(t) &= A(\omega)x(t)+B\left(g+\frac{T_c(t)}{m}\right),\\ \dot{m}(t) &= -\alpha\sigma(t),\quad\forall t\in[0,t_f] \end{aligned}\\ & \|T_c(t)\|\le \sigma(t),\quad 0<\rho_1\le\sigma(t)\le\rho_2\\ & \hat{n}^TT_c(t)\ge\cos\theta\,\sigma(t) \end{aligned} tf,Tc,σmins.t.Er(tf)q(5), (7), (8), (9),x˙(t)m˙(t)=A(ω)x(t)+B(g+mTc(t)),=ασ(t),t[0,tf]Tc(t)σ(t),0<ρ1σ(t)ρ2n^TTc(t)cosθσ(t)

问题4(凸松弛最小燃料问题):

min ⁡ t f , T c , σ ∫ 0 t f σ ( t ) d t s.t. (5), (7), (8), (9), (17), (18), (19), ∥ E r ( t f ) − q ∥ ≤ ∥ d P 3 ∗ − q ∥ \begin{aligned} \min_{t_f,T_c,\sigma}\quad & \int_0^{t_f}\sigma(t)\,dt\\ \text{s.t.}\quad & \text{(5), (7), (8), (9), (17), (18), (19),}\\ & \|Er(t_f)-q\|\le\|d_{P3}^*-q\| \end{aligned} tf,Tc,σmins.t.0tfσ(t)dt(5), (7), (8), (9), (17), (18), (19),Er(tf)qdP3q

其中 d P 3 ∗ d_{P3}^* dP3是问题3的最终最优位置。注意,问题1和2中非凸推力约束(6)已经被问题3和4中的凸约束(18)和(19)所取代。在[1]中,我们表明了对推力边界的约束松弛(18)允许将问题4的离散时间形式表述为凸优化问题;加上凸推力指向约束(19),同样的结论也成立。因此,我们不会在本文中讨论这个问题的离散化,读者可参考[1]。

定义1: F e F_e Fe F f F_f Ff分别表示问题1和2的可行解集,即如果 { t f , T c , x , m } \{t_f,T_c,x,m\} {tf,Tc,x,m}满足问题1的所有状态(5)、控制(6)、燃料(7)约束、动力学(4)和边界条件(8)和(9),则 { t f , T c , x , m } ∈ F e \{t_f,T_c,x,m\}\in F_e {tf,Tc,x,m}Fe,对 F f F_f Ff也类似。 F e ∗ F_e^* Fe F f ∗ F_f^* Ff是相应的最优解集。 F r e F_{re} Fre F r f F_{rf} Frf是问题3和4的可行解 { t f , T c , σ , x , m } \{t_f,T_c,\sigma,x,m\} {tf,Tc,σ,x,m}的集合, F r e ∗ F_{re}^* Fre F r f ∗ F_{rf}^* Frf是最优解集。

引理1: 以下结论成立:

  1. F f ⊆ F e F_f\subseteq F_e FfFe, F r f ⊆ F r e F_{rf}\subseteq F_{re} FrfFre, F f ∗ ⊆ F e ∗ F_f^*\subseteq F_e^* FfFe, 且 F r f ∗ ⊆ F r e ∗ F_{rf}^*\subseteq F_{re}^* FrfFre;
  2. 如果 { t f , T c , σ , x , m } ∈ F r f \{t_f,T_c,\sigma,x,m\}\in F_{rf} {tf,Tc,σ,x,m}Frf使得 ∥ T c ( t ) ∥ = σ ( t ) , ∀ [ 0 , t f ] \|T_c(t)\|=\sigma(t), \forall[0,t_f] Tc(t)=σ(t),[0,tf],则 { t f , T c , x , m } ∈ F f \{t_f,T_c,x,m\}\in F_f {tf,Tc,x,m}Ff;
  3. 如果 { t f ∗ , T c ∗ , σ ∗ , x ∗ , m ∗ } ∈ F r f ∗ \{t_f^*,T_c^*,\sigma^*,x^*,m^*\}\in F_{rf}^* {tf,Tc,σ,x,m}Frf使得 ∥ T c ∗ ( t ) ∥ = σ ∗ ( t ) \|T_c^*(t)\|=\sigma^*(t) Tc(t)=σ(t), a.e. [ 0 , t f ∗ ] [0,t_f^*] [0,tf],则 { t f ∗ , T c ∗ , x ∗ , m ∗ } ∈ F f ∗ \{t_f^*,T_c^*,x^*,m^*\}\in F_f^* {tf,Tc,x,m}Ff

证明:

  1. 中的前两个关系很容易证明。接下来的两个关系来自于前两个。考虑 F r f F_{rf} Frf的一个子集 F ‾ r f \overline{F}_{rf} Frf,它由所有满足 σ ( t ) = ∥ T c ( t ) ∥ , ∀ t ∈ [ 0 , t f ] \sigma(t)=\|T_c(t)\|,\forall t\in[0,t_f] σ(t)=Tc(t),t[0,tf] F r f F_{rf} Frf的解组成。由于 { t f , T c , σ , x , m } ∈ F ‾ r f \{t_f,T_c,\sigma,x,m\}\in\overline{F}_{rf} {tf,Tc,σ,x,m}Frf,其中 ∥ T c ( t ) ∥ = σ ( t ) \|T_c(t)\|=\sigma(t) Tc(t)=σ(t),满足问题2的所有动力学和约束条件, { t f , T c , x , m } ∈ F f \{t_f,T_c,x,m\}\in F_f {tf,Tc,x,m}Ff。这证明了2)。因此,由于目标函数对于 ∥ T c ∥ = σ \|T_c\|=\sigma Tc=σ的问题4和问题2是相同的,定理的最后一个陈述成立。

为了利用引理1,我们需要计算问题4的最优解并检查 σ ( t ) = ∥ T c ( t ) ∥ \sigma(t)=\|T_c(t)\| σ(t)=Tc(t)是否 ∀ t ∈ [ 0 , t f ∗ ] \forall t\in[0,t_f^*] t[0,tf]。但是在数值计算解之前,我们不知道这个条件是否会满足。下面的定理建立了这个条件通常会满足,但问题可能需要稍加修改,引入 ω ^ \hat{\omega} ω^ ε \varepsilon ε。它还提供了对[1]和[2]中早期结果的推广,以处理推力指向约束以及推力幅值的非零下界。因此,它建立了最小燃料软着陆问题(问题2,从而问题1)中控制约束的无损凸化。

定理1: 考虑在问题4中用 ω ^ \hat{\omega} ω^替换 ω \omega ω,其中 ω ^ \hat{\omega} ω^定义如下:

ω ^ : = { ω 如果  S ( ω ) n ^ = 0 , N T S ( ω ) 2 n ^ = 0 ω + ε n ^ ⊥ 如果  S ( ω ) n ^ = 0 ω + ε n ^ 如果  S ( ω ) n ^ = 0 , N T S ( ω ) 2 n ^ ≠ 0 \hat{\omega}:=\begin{cases} \omega & \text{如果}\ S(\omega)\hat{n}=0,\, N^TS(\omega)^2\hat{n}=0\\ \omega+\varepsilon\hat{n}^\perp & \text{如果}\ S(\omega)\hat{n}=0\\ \omega+\varepsilon\hat{n} & \text{如果}\ S(\omega)\hat{n}=0,\, N^TS(\omega)^2\hat{n}\ne 0 \end{cases} ω^:= ωω+εn^ω+εn^如果 S(ω)n^=0,NTS(ω)2n^=0如果 S(ω)n^=0如果 S(ω)n^=0,NTS(ω)2n^=0

其中 n ^ ⊥ \hat{n}^\perp n^是满足 n ^ T n ^ ⊥ = 0 \hat{n}^T\hat{n}^\perp=0 n^Tn^=0的单位向量, N ∈ R 3 × 2 N\in\mathbb{R}^{3\times 2} NR3×2的列张成 n ^ T \hat{n}^T n^T的零空间, ε > 0 \varepsilon>0 ε>0是一个(任意小的)实数。设 { t f ∗ , T c ∗ , σ ∗ , x ∗ , m ∗ } ∈ F r f ∗ \{t_f^*,T_c^*,\sigma^*,x^*,m^*\}\in F_{rf}^* {tf,Tc,σ,x,m}Frf使得相应的状态轨迹 x ∗ ( t ) ∈ i n t X , ∀ t ∈ [ 0 , t f ∗ ] x^*(t)\in int\,X,\forall t\in[0,t_f^*] x(t)intX,t[0,tf]。则有 { t f ∗ , T c ∗ , x ∗ , m ∗ } ∈ F f ∗ \{t_f^*,T_c^*,x^*,m^*\}\in F_f^* {tf,Tc,x,m}Ff,其中的 ω \omega ω ω ^ \hat{\omega} ω^替换。

证明:
本证明使用了附录中的引理2和3。

q ~ : = E r ∗ ( t f ∗ ) \tilde{q}:=Er^*(t_f^*) q~:=Er(tf)。那么我们也可以考虑 { t f ∗ , T c ∗ , σ ∗ , x ∗ , m ∗ } \{t_f^*,T_c^*,\sigma^*,x^*,m^*\} {tf,Tc,σ,x,m}作为问题4的最优燃料解,其中约束 ∥ E r ( t f ) − q ∥ ≤ ∥ d P 1 ∗ − q ∥ \|Er(t_f)-q\|\le\|d_{P1}^*-q\| Er(tf)qdP1q E r ( t f ) = q ~ Er(t_f)=\tilde{q} Er(tf)=q~代替。因此,在本证明中将使用这个版本的问题4,而不失一般性。

由于 x ∗ ( t ) ∈ i n t X x^*(t)\in int\,X x(t)intX且对所有 t ∈ [ 0 , t f ] t\in[0,t_f] t[0,tf] m ( t ) > m 0 − m f m(t)>m_0-m_f m(t)>m0mf,根据最优控制的极大值原理[见[18,第V.3节]或[26,第1章]],存在常数 β ≤ 0 \beta\le 0 β0和绝对连续函数 λ : R + → R 6 \lambda:R_+\to\mathbb{R}^6 λ:R+R6 η : R + → R \eta:R_+\to\mathbb{R} η:R+R,即余态向量,使得以下条件成立。

  1. 余态条件: ∀ t ∈ [ 0 , t f ∗ ] \forall t\in[0,t_f^*] t[0,tf]
    ( β , λ ( t ) , η ( t ) ) ≠ 0 (\beta,\lambda(t),\eta(t))\ne 0 (β,λ(t),η(t))=0
    λ ˙ ( t ) = − A ( ω ^ ) T λ ( t ) \dot{\lambda}(t)=-A(\hat{\omega})^T\lambda(t) λ˙(t)=A(ω^)Tλ(t)
    η ˙ ( t ) = λ ( t ) T B T c ( t ) m ( t ) 2 . \dot{\eta}(t)=\frac{\lambda(t)^TBT_c(t)}{m(t)^2}. η˙(t)=m(t)2λ(t)TBTc(t).

  2. 逐点极大值原理:

H ( φ ( t ) ) = M ( x ∗ ( t ) , m ∗ ( t ) , λ ( t ) , η ( t ) ) a.e.  t ∈ [ 0 , t f ∗ ] H(\varphi(t))=M(x^*(t),m^*(t),\lambda(t),\eta(t))\quad \text{a.e.}\ t\in[0,t_f^*] H(φ(t))=M(x(t),m(t),λ(t),η(t))a.e. t[0,tf]

其中 φ ( t ) = ( t , x ∗ ( t ) , m ∗ ( t ) , T c ∗ ( t ) , σ ∗ ( t ) , λ ( t ) , η ( t ) ) \varphi(t)=(t,x^*(t),m^*(t),T_c^*(t),\sigma^*(t),\lambda(t),\eta(t)) φ(t)=(t,x(t),m(t),Tc(t),σ(t),λ(t),η(t)), H H H是如下定义的Hamilton函数

H ( φ ) : = β + λ T ( A ( ω ^ ) x + B ( g + T c m ) ) − α η H(\varphi):=\beta+\lambda^T\left(A(\hat{\omega})x+B\left(g+\frac{T_c}{m}\right)\right)-\alpha\eta H(φ):=β+λT(A(ω^)x+B(g+mTc))αη

并且,通过定义$V:={(T_c,\sigma)\in\mathbb{R}4:|T_c|\le\sigma,\rho_1\le\sigma\le\rho_2,\hat{n}TT_c\证明的后续部分如下:

≥ cos ⁡ θ σ } \ge\cos\theta\,\sigma\} cosθσ},有

M ( x ∗ , m ∗ , λ , η ) = max ⁡ ( T c , σ ) ∈ V H ( φ ) . M(x^*,m^*,\lambda,\eta)=\max_{(T_c,\sigma)\in V}H(\varphi). M(x,m,λ,η)=(Tc,σ)VmaxH(φ).

  1. 横截条件:

η ( t f ∗ ) = 0 和 H ( φ ( t f ∗ ) ) = 0. \eta(t_f^*)=0\quad\text{和}\quad H(\varphi(t_f^*))=0. η(tf)=0H(φ(tf))=0.

以上最优性的必要条件1)和2)直接来自于极大值原理的陈述。但横截条件需要进一步解释。横截条件意味着(见[18,第190页,第V.3节]),对于松弛问题的最优解,由下式定义的向量 ψ \psi ψ

ψ : = ( H ( φ ( 0 ) ) , H ( φ ( t f ∗ ) ) , − λ ( 0 ) , − η ( 0 ) , λ ( t f ∗ ) , η ( t f ∗ ) ) \psi:=\left(H(\varphi(0)),H(\varphi(t_f^*)),-\lambda(0),-\eta(0),\lambda(t_f^*),\eta(t_f^*)\right) ψ:=(H(φ(0)),H(φ(tf)),λ(0),η(0),λ(tf),η(tf))

必须正交于由初始和最终状态的可行集合描述的流形,该流形由 ( 0 , t f , x 0 , m 0 , ( 0 , q ~ , 0 ) , m ( t f ∗ ) ) (0,t_f,x_0,m_0,(0,\tilde{q},0),m(t_f^*)) (0,tf,x0,m0,(0,q~,0),m(tf))给出,为 s p a n { e 2 , e 14 } span\{e_2,e_{14}\} span{e2,e14}。上述结论来自这样一个事实,即 t f t_f tf m ( t f ) m(t_f) m(tf)是边界条件流形中唯一的自由变量。这就意味着 e 2 T ψ = 0 e_2^T\psi=0 e2Tψ=0 e 14 T ψ = 0 e_{14}^T\psi=0 e14Tψ=0,即 H ( φ ( t f ∗ ) ) = 0 H(\varphi(t_f^*))=0 H(φ(tf))=0 η ( t f ∗ ) = 0 \eta(t_f^*)=0 η(tf)=0。接下来我们证明

y ( t ) : = B T λ ( t ) = 0 a.e.  [ 0 , t f ∗ ] . y(t):=B^T\lambda(t)=0\quad\text{a.e.}\ [0,t_f^*]. y(t):=BTλ(t)=0a.e. [0,tf].

这将通过反证法来完成。假设条件(29)不成立。由于 y y y是系统(23)的输出, y ( t ) = 0 , ∀ t ∈ [ 0 , t f ∗ ] y(t)=0,\forall t\in[0,t_f^*] y(t)=0,t[0,tf],或 y ( t ) = 0 y(t)=0 y(t)=0 [ 0 , t f ∗ ] [0,t_f^*] [0,tf]中只在可数个点处出现,这来自于引理2的第一个结论。假设 y ( t ) = 0 , ∀ t ∈ [ 0 , t f ∗ ] y(t)=0,\forall t\in[0,t_f^*] y(t)=0,t[0,tf]。注意到对 [ A ( ω ) , B ] [A(\omega),B] [A(ω),B]是可控的,这来自于 [ B A ( ω ^ ) B ] [B\ A(\hat{\omega})B] [B A(ω^)B]是可逆矩阵这一事实。因此对 ( B T , − A ( ω ^ ) T ) (B^T,-A(\hat{\omega})^T) (BT,A(ω^)T)是可观测的。因此, y ( t ) = 0 , ∀ t ∈ [ 0 , t f ∗ ] y(t)=0,\forall t\in[0,t_f^*] y(t)=0,t[0,tf]意味着 λ ( t ) = 0 , ∀ t ∈ [ 0 , t f ∗ ] \lambda(t)=0,\forall t\in[0,t_f^*] λ(t)=0,t[0,tf]。因此 η ˙ ( t ) = 0 , ∀ t ∈ [ 0 , t f ∗ ] \dot{\eta}(t)=0,\forall t\in[0,t_f^*] η˙(t)=0,t[0,tf]。由于 η ( t f ∗ ) = 0 \eta(t_f^*)=0 η(tf)=0,这就意味着 η ( t ) = 0 , ∀ t ∈ [ 0 , t f ∗ ] \eta(t)=0,\forall t\in[0,t_f^*] η(t)=0,t[0,tf]。这些都意味着 H ( φ ( t ) ) = β σ ( t ) H(\varphi(t))=\beta\sigma(t) H(φ(t))=βσ(t)。由于 H ( φ ( t f ∗ ) ) = 0 H(\varphi(t_f^*))=0 H(φ(tf))=0 σ ( t ) ≥ ρ 1 > 0 \sigma(t)\ge\rho_1>0 σ(t)ρ1>0,这表明 β = 0 \beta=0 β=0。因此, ( β , λ ( t ) , η ( t ) ) = 0 , ∀ t ∈ [ 0 , t f ∗ ] (\beta,\lambda(t),\eta(t))=0,\forall t\in[0,t_f^*] (β,λ(t),η(t))=0,t[0,tf],这与上述必要条件1)矛盾。因此,在 [ 0 , t f ∗ ] [0,t_f^*] [0,tf]中有可数个点处 y ( t ) = 0 y(t)=0 y(t)=0。由于可数集的测度为零,引理2的第二个结论意味着

y ( t ) = − α ( t ) n ^ a.e.  [ 0 , t f ∗ ] , 其中 α ( t ) > 0. y(t)=-\alpha(t)\hat{n}\quad\text{a.e.}\ [0,t_f^*], \text{其中}\alpha(t)>0. y(t)=α(t)n^a.e. [0,tf],其中α(t)>0.

由于条件(29)成立,a.e. [ 0 , t f ∗ ] [0,t_f^*] [0,tf]使得 y ( t ) ≠ 0 y(t)\ne 0 y(t)=0,且对于给定的 σ ∗ ( t ) \sigma^*(t) σ(t),最优控制推力 T c ∗ ( t ) T_c^*(t) Tc(t)必须满足

T c ∗ ( t ) = arg ⁡ max ⁡ ( T c , σ ∗ ( t ) ) ∈ V y ( t ) T T c = arg ⁡ max ⁡ T c ∈ U ( σ ∗ ) y ( t ) T T c T_c^*(t)=\arg\max_{(T_c,\sigma^*(t))\in V}y(t)^TT_c=\arg\max_{T_c\in U(\sigma^*)}y(t)^TT_c Tc(t)=arg(Tc,σ(t))Vmaxy(t)TTc=argTcU(σ)maxy(t)TTc

其中 U ( σ ) : = { T c ∈ R 3 : ∥ T c ∥ ≤ σ , n ^ T T c ≥ cos ⁡ θ σ } U(\sigma):=\{T_c\in\mathbb{R}^3:\|T_c\|\le\sigma,\hat{n}^TT_c\ge\cos\theta\,\sigma\} U(σ):={TcR3:Tcσ,n^TTccosθσ}。此外,由于条件(30)成立,a.e. [ 0 , t f ∗ ] [0,t_f^*] [0,tf]使得 y ( t ) ≠ 0 y(t)\ne 0 y(t)=0 y ( t ) = − α ( t ) n ^ y(t)=-\alpha(t)\hat{n} y(t)=α(t)n^对某些 α ( t ) > 0 \alpha(t)>0 α(t)>0成立,(31)的最大化解必须在 U ( σ ∗ ) U(\sigma^*) U(σ)的边界点处,而且是 U ( σ ∗ ) U(\sigma^*) U(σ)的极点,这来自于引理3。该引理还意味着 U ( σ ) U(\sigma) U(σ)的所有极点满足 ∥ T c ∥ = σ \|T_c\|=\sigma Tc=σ,因此 ∥ T c ∗ ( t ) ∥ = σ ∗ ( t ) \|T_c^*(t)\|=\sigma^*(t) Tc(t)=σ(t)

∥ T c ∗ ( t ) ∥ = σ ∗ ( t ) a.e.  [ 0 , t f ∗ ] \|T_c^*(t)\|=\sigma^*(t)\quad\text{a.e.}\ [0,t_f^*] Tc(t)=σ(t)a.e. [0,tf]

这意味着松弛问题(4)的最优解满足

0 < ρ 1 ≤ ∥ T c ∗ ( t ) ∥ ≤ ρ 2 , n ^ T T c ∗ ( t ) ≥ ∥ T c ∗ ( t ) ∥ cos ⁡ θ a.e.  [ 0 , t f ∗ ] . 0<\rho_1\le\|T_c^*(t)\|\le\rho_2,\quad \hat{n}^TT_c^*(t)\ge\|T_c^*(t)\|\cos\theta\quad\text{a.e.}\ [0,t_f^*]. 0<ρ1Tc(t)ρ2,n^TTc(t)Tc(t)cosθa.e. [0,tf].

因此, ( t f ∗ , T c ∗ , x ∗ , m ∗ ) ∈ F f (t_f^*,T_c^*,x^*,m^*)\in F_f (tf,Tc,x,m)Ff。由于对任意 ( t f , T c , x , m ) ∈ F f (t_f,T_c,x,m)\in F_f (tf,Tc,x,m)Ff,有 ( t f , T c , ∥ T c ∥ , x , m ) ∈ F r f (t_f,T_c,\|T_c\|,x,m)\in F_{rf} (tf,Tc,Tc,x,m)Frf,问题4的最优解具有不大于问题2最优成本的最优成本。这意味着根据引理1, ( t f ∗ , T c ∗ , x ∗ , m ∗ ) ∈ F f ∗ (t_f^*,T_c^*,x^*,m^*)\in F_f^* (tf,Tc,x,m)Ff

上述定理指出,我们可以通过求解其在问题4中的松弛来找到问题2的最优解,其中 ω \omega ω ω ^ \hat{\omega} ω^代替。显然,对于 ω = ω ^ \omega=\hat{\omega} ω=ω^,我们可以通过求解其松弛来找到感兴趣的原始问题的精确最优解。当 ω ^ ≠ ω \hat{\omega}\ne\omega ω^=ω时,我们可以找到一个问题的最优解,该问题可以通过简单地选择 ε > 0 \varepsilon>0 ε>0接近于零而变得任意接近于感兴趣的问题。此外,当 θ = π \theta=\pi θ=π,即当没有指向约束时,我们可以使用任何单位向量作为 n ^ \hat{n} n^,使得 ω = ω ^ \omega=\hat{\omega} ω=ω^。因此,我们可以找到感兴趣的原始问题的精确最优解。

值得注意的是,我们的凸化结果依赖于对 [ A ( ω ^ ) , B ] [A(\hat{\omega}),B] [A(ω^),B]是可控的。因此,只要保持这个可控性,它仍然适用于系统参数变化的情况。这显然不是一个限制性条件,因为可以合理地期望行星着陆飞行器的设计是可控的。

另一个重要的问题是对动态模型中未知参数变化或干扰力的不确定性的鲁棒性。这里我们提供了一种计算要遵循的最优状态轨迹和相应最优控制的方法。虽然本文没有涉及,但必须考虑反馈控制作用来处理不确定性和干扰。我们可以提出几种方法来实现这一点:(1)有一个跟踪反馈控制器来跟踪最优状态轨迹;(2)随着状态知识(估计)在机动过程中更新而重新计算最优轨迹和控制;(3)跟踪反馈和最优控制重计算的组合。所有行动都将利用当前最佳的状态估计,并提供反馈作用以最小化不确定性和干扰的影响。鲁棒反馈作用的设计将是我们当前论文的另一个未来扩展。

一个自然的问题是,这里的凸化方法是否可以扩展到其他控制约束。一些针对线性系统的新结果在[27]中提供,其中这种凸化过程应用于大类控制约束。然而,那里的凸化利用了最优控制位于松弛控制集的边界点而不是极点这一事实。根据本文中获得的关于松弛集极点的见解,可以进一步推广这种凸化方法,这可以成为未来研究的主题。

3.1 变量替换

我们对推力向量和质量使用以下变量替换,以消除由 T c / m T_c/m Tc/m引起的动力学中的非线性: σ : = m f m , u : = T c m , z : = ln ⁡ m \sigma:=\frac{m_f}{m},u:=\frac{T_c}{m},z:=\ln m σ:=mmf,u:=mTc,z:=lnm
质量损耗动力学然后可以重写为

z ˙ = m ˙ ( t ) m ( t ) = − α σ ( t ) . \dot{z}=\frac{\dot{m}(t)}{m(t)}=-\alpha\sigma(t). z˙=m(t)m˙(t)=ασ(t).

因此,变量替换产生了一组状态动力学的线性方程。然而,控制约束不再是凸的。现在它们由下式给出

∥ u ( t ) ∥ ≤ σ ( t ) , n ^ T u ( t ) ≥ cos ⁡ θ σ ( t ) , ∀ t ∈ [ 0 , t f ] \|u(t)\|\le\sigma(t),\quad \hat{n}^Tu(t)\ge\cos\theta\,\sigma(t),\quad \forall t\in[0,t_f] u(t)σ(t),n^Tu(t)cosθσ(t),t[0,tf]
ρ 1 e − z ( t ) ≤ σ ( t ) ≤ ρ 2 e − z ( t ) , ∀ t ∈ [ 0 , t f ] . \rho_1e^{-z(t)}\le\sigma(t)\le\rho_2e^{-z(t)},\quad\forall t\in[0,t_f]. ρ1ez(t)σ(t)ρ2ez(t),t[0,tf].

如同在[1]中,我们对不等式(35)使用二阶锥近似,它可以很容易地合并到SOCP解框架中,由下式给出

ρ 1 e − z 0 [ 1 − ( z ( t ) − z 0 ( t ) ) + ( z ( t ) − z 0 ( t ) ) 2 2 ] ≤ σ ( t ) ≤ ρ 2 e − z 0 [ 1 − ( z ( t ) − z 0 ( t ) ) ] , ∀ t ∈ [ 0 , t f ] \rho_1e^{-z_0}\left[1-(z(t)-z_0(t))+\frac{(z(t)-z_0(t))^2}{2}\right]\le\sigma(t)\le\rho_2e^{-z_0}[1-(z(t)-z_0(t))],\quad\forall t\in[0,t_f] ρ1ez0[1(z(t)z0(t))+2(z(t)z0(t))2]σ(t)ρ2ez0[1(z(t)z0(t))],t[0,tf]

其中 z 0 ( t ) = ln ⁡ ( m 0 − α ρ 2 t ) z_0(t)=\ln(m_0-\alpha\rho_2t) z0(t)=ln(m0αρ2t), m 0 m_0 m0是飞行器的初始质量。

在[1, 引理2]中,证明了由(36)给出的对(35)中不等式的近似总是产生松弛问题的可行解,并且通常对不等式的两部分都非常准确,并推导出近似误差的解析上界。由于本文的重点是控制约束的凸化,我们不会进一步详细讨论这个近似,读者可参考[1]了解更多细节。

4. 数值例子

本节给出一个数值例子,以演示上一节提出的算法求解行星软着陆问题。

行星软着陆中的指向约束确保平移机动不需要飞行器的姿态超出期望的指向锥,这通常会导致性能下降。例如,随着指向约束的收紧,由于推力指向能力的限制,所需的燃料和飞行时间通常会增加。这个结果将在下面的比较仿真中看到,这些仿真使用了具有以下特性的示例: m 0 = 2000 m_0=2000 m0=2000 kg, m f = 300 m_f=300 mf=300 kg, ρ 1 = 0.2 T m a x \rho_1=0.2T_{max} ρ1=0.2Tmax, ρ 2 = 0.8 T m a x \rho_2=0.8T_{max} ρ2=0.8Tmax, T m a x = 24000 T_{max}=24000 Tmax=24000 N, α = 5 × 1 0 − 4 \alpha=5\times 10^{-4} α=5×104 s/m,其中 T m a x T_{max} Tmax是最大推力幅值。推力限制对应于20%和80%的最小和最大节流水平。使用如图1所示的参考系来表示火星重力和旋转向量,以及飞行器在动力下降点火时的初始状态。仿真中飞行器的初始状态由下式给出

r 0 = ( 2400 , 450 , − 330 ) T m , r ˙ 0 = ( − 10 , − 40 , 10 ) T m/s r_0=(2400,450,-330)^T\text{ m},\quad \dot{r}_0=(-10,-40,10)^T\text{ m/s} r0=(2400,450,330)T m,r˙0=(10,40,10)T m/s

目标着陆点在 q = ( 0 , 0 , 0 ) T q=(0,0,0)^T q=(0,0,0)T m处,即指导框架的原点。火星引力参数也在同一坐标系中表示如下: g = ( − 3.71 , 0 , 0 ) T g=(-3.71,0,0)^T g=(3.71,0,0)T m/s 2 ^2 2, ω = ( 2.53 × 1 0 − 5 , 0 , 6.62 × 1 0 − 5 ) T \omega=(2.53\times 10^{-5},0,6.62\times 10^{-5})^T ω=(2.53×105,0,6.62×105)T rad/s。由于 S ( ω ) n ^ = 0 S(\omega)\hat{n}=0 S(ω)n^=0 N T S ( ω ) 2 n ^ = 0 N^TS(\omega)^2\hat{n}=0 NTS(ω)2n^=0,我们有 ω ^ = ω \hat{\omega}=\omega ω^=ω。进行了三次仿真,分别针对不同的指向约束限制:(1)无约束;(2) 90°约束;(3) 45°约束。这些仿真的结果如图6所示。如图所示,指向角相对于局部垂直方向,即将指向锥 n ^ \hat{n} n^向量与坐标框架的x轴对齐。姿态指向图表明松弛问题的解确保满足原问题规定的指向约束。节流图显示满足推力边界,这表明问题4中对推力幅值和指向的约束松弛对原问题[问题2]仍然有效。该图进一步提供了一些关于约束收紧时性能权衡的见解。随着指向限制的收紧,所需的飞行时间和燃料增加,如表I所总结的,这在位置轨迹中也可以看到。45°情况下沿y轴超调目标以满足指向约束。有趣的是,90°约束路径采取了更直接的路线。
在这里插入图片描述

下一个仿真(见图7)给出了一个与 X X X边界有有限次接触时凸化仍然成立的情况。在这个例子中,我们有以下参数:

r 0 = ( 2400 , 3400 , 0 ) T m , r ˙ 0 = ( − 40 , 45 , 0 ) T m/s r_0=(2400,3400,0)^T\text{ m},\dot{r}_0=(-40,45,0)^T\text{ m/s} r0=(2400,3400,0)T m,r˙0=(40,45,0)T m/s

下滑坡道角度 γ g s = 3 0 ∘ \gamma_{gs}=30^\circ γgs=30, θ = 12 0 ∘ \theta=120^\circ θ=120,最大速度为90 m/s。

5. 结论

本文提出了一种针对最优控制理论中的基准问题即软着陆问题的推力指向约束的无损凸化方法。这扩展和统一了我们之前在该领域的工作,使得算法可以处理推力上下界、推力指向约束、位置和速度约束以及行星自转。这种凸化使得行星软着陆问题可以通过凸优化来最优地求解,因此适合机载实现,具有先验的计算复杂度界和实时执行时间。

附录

引理2: 考虑以下线性时不变系统:

λ ˙ ( t ) = − A ( ω ^ ) T λ ( t ) \dot{\lambda}(t)=-A(\hat{\omega})^T\lambda(t) λ˙(t)=A(ω^)Tλ(t)
y ( t ) = B T λ ( t ) y(t)=B^T\lambda(t) y(t)=BTλ(t)

其中 λ ( t ) ∈ R 6 \lambda(t)\in\mathbb{R}^6 λ(t)R6, y ( t ) ∈ R 3 y(t)\in\mathbb{R}^3 y(t)R3,且 A ( ω ^ ) A(\hat{\omega}) A(ω^) B B B由(2)给出。则以下条件成立;对任意有限区间 [ 0 , t f ] [0,t_f] [0,tf]:
(i) y y y是解析函数, y ( t ) = 0 y(t)=0 y(t)=0要么在 [ 0 , t f ] [0,t_f] [0,tf]上成立,要么只在可数个时刻成立;
(ii) 在 [ 0 , t f ] [0,t_f] [0,tf]中有可数个时刻使得 y ( t ) = α ( t ) n ^ y(t)=\alpha(t)\hat{n} y(t)=α(t)n^对某些 α ( t ) > 0 \alpha(t)>0 α(t)>0成立。

证明:
λ \lambda λ,因此 y y y,是 t t t的解析函数,来自于[28,定理3,第213页]。因此 y ( t ) = 0 , ∀ t ∈ [ 0 , t f ∗ ] y(t)=0,\forall t\in[0,t_f^*] y(t)=0,t[0,tf],或 y ( t ) = 0 y(t)=0 y(t)=0 [ 0 , t f ∗ ] [0,t_f^*] [0,tf]中只在可数个点处出现([28,命题4.1,第41页])。这证明了(i)。

为证明条件(ii),假设存在一个区间 [ t 1 , t 2 ] ⊆ [ 0 , t f ∗ ] [t_1,t_2]\subseteq[0,t_f^*] [t1,t2][0,tf],使得 y ( t ) = − α ( t ) n ^ , ∀ t ∈ [ t 1 , t 2 ] y(t)=-\alpha(t)\hat{n},\forall t\in[t_1,t_2] y(t)=α(t)n^,t[t1,t2],其中 α ( t ) > 0 \alpha(t)>0 α(t)>0。令 λ = ( λ 1 , λ 2 ) \lambda=(\lambda_1,\lambda_2) λ=(λ1,λ2),其中 λ 1 , 2 ∈ R 3 \lambda_{1,2}\in\mathbb{R}^3 λ1,2R3, v 1 : = S ( ω ^ ) T n ^ v_1:=S(\hat{\omega})^T\hat{n} v1:=S(ω^)Tn^ v 2 : = S ( ω ^ ) T v 1 v_2:=S(\hat{\omega})^Tv_1 v2:=S(ω^)Tv1,该假设意味着以下动力学对 t ∈ [ t 1 , t 2 ] t\in[t_1,t_2] t[t1,t2]成立: λ ˙ 1 ( t ) = − α ( t ) v 2 \dot{\lambda}_1(t)=-\alpha(t)v_2 λ˙1(t)=α(t)v2 λ ˙ 2 ( t ) = − λ 1 ( t ) − 2 α ( t ) v 1 \dot{\lambda}_2(t)=-\lambda_1(t)-2\alpha(t)v_1 λ˙2(t)=λ1(t)2α(t)v1

由于在问题4中对 ω ^ \hat{\omega} ω^的构造,我们有 v 1 ≠ 0 v_1\ne 0 v1=0 N T v 2 = 0 N^Tv_2=0 NTv2=0。第一个不等式很容易证明。为了看到第二个,我们需要考虑(21)中的三种情况。首先考虑 S ( ω ) n ^ = 0 , N T S ( ω ) 2 n ^ = 0 S(\omega)\hat{n}=0,N^TS(\omega)^2\hat{n}=0 S(ω)n^=0,NTS(ω)2n^=0的情况。那么 ω = ω ^ \omega=\hat{\omega} ω=ω^ N T v 2 = N T S ( ω ) 2 n ^ = 0 N^Tv_2=N^TS(\omega)^2\hat{n}=0 NTv2=NTS(ω)2n^=0。第二,考虑 S ( ω ) n ^ = 0 S(\omega)\hat{n}=0 S(ω)n^=0的情况,即 ω = a n ^ \omega=a\hat{n} ω=an^对某些 a ∈ R a\in\mathbb{R} aR。那么 ω ^ = a n ^ + ε n ^ ⊥ \hat{\omega}=a\hat{n}+\varepsilon\hat{n}^\perp ω^=an^+εn^。然后 v 2 = S ( ω ^ ) T n ^ = S ( ω ^ ) 2 n ^ = S ( a n ^ + ε n ^ ⊥ ) S ( ε n ^ ⊥ ) n ^ v_2=S(\hat{\omega})^T\hat{n}=S(\hat{\omega})^2\hat{n}=S(a\hat{n}+\varepsilon\hat{n}^\perp)S(\varepsilon\hat{n}^\perp)\hat{n} v2=S(ω^)Tn^=S(ω^)2n^=S(an^+εn^)S(εn^)n^。由于 S ( ε n ^ ⊥ ) n ^ S(\varepsilon\hat{n}^\perp)\hat{n} S(εn^)n^ a n ^ a\hat{n} an^ ε n ^ ⊥ \varepsilon\hat{n}^\perp εn^都正交,它与它们的和正交,该和非零,因此 v 2 = 0 v_2=0 v2=0且它在 n ^ T \hat{n}^T n^T的零空间中。因此 N T S ( ω ^ ) T n ^ = 0 N^TS(\hat{\omega})^T\hat{n}=0 NTS(ω^)Tn^=0。最后,考虑 S ( ω ) n ^ = 0 S(\omega)\hat{n}=0 S(ω)n^=0 N T S ( ω ) T n ^ ≠ 0 N^TS(\omega)^T\hat{n}\ne 0 NTS(ω)Tn^=0的情况。那么我们有 S ( ω ^ ) 2 n ^ = S ( ω ) 2 n ^ + ε 2 S ( n ^ ) S ( ω ) n ^ S(\hat{\omega})^2\hat{n}=S(\omega)^2\hat{n}+\varepsilon^2 S(\hat{n})S(\omega)\hat{n} S(ω^)2n^=S(ω)2n^+ε2S(n^)S(ω)n^。这在 n ^ T \hat{n}^T n^T的零空间中有一个非零分量,因为 ε 2 S ( n ^ ) S ( ω ) n ^ \varepsilon^2 S(\hat{n})S(\omega)\hat{n} ε2S(n^)S(ω)n^非零且在 n ^ T \hat{n}^T n^T的零空间中,而 S ( ω ^ ) 2 n ^ S(\hat{\omega})^2\hat{n} S(ω^)2n^ n ^ T \hat{n}^T n^T的零空间正交。因此,我们有 N T v 2 = 0 N^Tv_2=0 NTv2=0。现在注意到 v 1 T n ^ = 0 v_1^T\hat{n}=0 v1Tn^=0。令 v 3 v_3 v3为非零向量使得 v 3 T n ^ = v 3 T v 1 = 0 v_3^T\hat{n}=v_3^Tv_1=0 v3Tn^=v3Tv1=0。因此 v 1 v_1 v1 v 3 v_3 v3张成 n ^ \hat{n} n^的零空间。这意味着我们可以写 v 2 = c 1 n ^ + c 2 v 3 + c 3 v 1 v_2=c_1\hat{n}+c_2v_3+c_3v_1 v2=c1n^+c2v3+c3v1对某些标量 c 1 c_1 c1 c 3 c_3 c3。由于 v 2 T v 1 = 0 v_2^Tv_1=0 v2Tv1=0 N T v 2 = 0 N^Tv_2=0 NTv2=0我们知道 c 3 = 0 c_3=0 c3=0 c 2 = 0 c_2=0 c2=0

观察到

λ ˙ 2 ( t ) = λ 1 ( t 1 ) − ∫ t 1 t α ( s ) d s v 2 − 2 α ( t ) v 1 \dot{\lambda}_2(t)=\lambda_1(t_1)-\int_{t_1}^t\alpha(s)ds\,v_2-2\alpha(t)v_1 λ˙2(t)=λ1(t1)t1tα(s)dsv22α(t)v1

这意味着

λ ˙ 2 ( t ) = λ 1 ( t 1 ) + g 1 ( t ) n ^ + g 2 ( t ) v 3 − 2 α ( t ) v 1 \dot{\lambda}_2(t)=\lambda_1(t_1)+g_1(t)\hat{n}+g_2(t)v_3-2\alpha(t)v_1 λ˙2(t)=λ1(t1)+g1(t)n^+g2(t)v32α(t)v1

其中 g 1 ( t ) = c 1 ∫ t 1 t α ( s ) d s g_1(t)=c_1\int_{t_1}^t\alpha(s)ds g1(t)=c1t1tα(s)ds g 2 ( t ) = c 2 ∫ t 1 t α ( s ) d s = 0 g_2(t)=c_2\int_{t_1}^t\alpha(s)ds=0 g2(t)=c2t1tα(s)ds=0 t ∈ ( t 1 , t 2 ) t\in(t_1,t_2) t(t1,t2)。由于 v 1 , v 3 v_1,v_3 v1,v3 n ^ \hat{n} n^形成一组非零向量的正交集,如果 α \alpha α是关于时间的非常数函数,那么 N T λ ˙ 2 ( t ) = 0 N^T\dot{\lambda}_2(t)=0 NTλ˙2(t)=0几乎处处在 [ t 1 , t 2 ] [t_1,t_2] [t1,t2]上。如果 α \alpha α是常数,那么 g 2 g_2 g2是关于时间的非常数线性函数(因为 c 2 ≠ 0 c_2\ne 0 c2=0),因此 N T λ ˙ 2 ( t ) = 0 N^T\dot{\lambda}_2(t)=0 NTλ˙2(t)=0几乎处处在 [ t 1 , t 2 ] [t_1,t_2] [t1,t2]上。因此, N T λ ˙ 2 ( t ) = 0 N^T\dot{\lambda}_2(t)=0 NTλ˙2(t)=0几乎处处在 [ t 1 , t 2 ] [t_1,t_2] [t1,t2]上,这意味着存在 [ t 1 , t 2 ] [t_1,t_2] [t1,t2]中的一个开的有限区间使得 λ 2 \lambda_2 λ2将离开由 n ^ \hat{n} n^定义的子空间,这与假设 λ 2 ( t ) = − α ( t ) n ^ \lambda_2(t)=-\alpha(t)\hat{n} λ2(t)=α(t)n^ [ t 1 , t 2 ] [t_1,t_2] [t1,t2]上成立相矛盾。因此不存在有限区间使得 y ( t ) = λ 2 ( t ) = − α ( t ) n ^ y(t)=\lambda_2(t)=-\alpha(t)\hat{n} y(t)=λ2(t)=α(t)n^,即 κ ( t ) : = N T λ ˙ 2 ( t ) ≠ 0 \kappa(t):=N^T\dot{\lambda}_2(t)\ne 0 κ(t):=NTλ˙2(t)=0。由于 κ \kappa κ是时间的解析函数(因为 λ \lambda λ是时间的解析函数),要么它有可数个零点,要么存在它为零的时间区间[28]。由于我们证明了后者是不可能的,那么它必须有可数个零点。这就完成了证明。

下面的引理在使用Pontryagin极大值原理表明最优控制发生在凸可行控制集的极点处起着重要作用。

引理3:
以下优化问题的最优解也是可行解集 U ( σ ) U(\sigma) U(σ)的极点: max ⁡ T c y T T c \max_{T_c}y^TT_c maxTcyTTc 满足 T c ∈ U ( σ ) T_c\in U(\sigma) TcU(σ),其中 U ( σ ) : = { T c : ∥ T c ∥ ≤ σ , n ^ T T c ≥ cos ⁡ θ σ } U(\sigma):=\{T_c:\|T_c\|\le\sigma,\hat{n}^TT_c\ge\cos\theta\,\sigma\} U(σ):={Tc:Tcσ,n^TTccosθσ},且 y ≠ 0 y\ne 0 y=0 y = − α n ^ y=-\alpha\hat{n} y=αn^对任意 α > 0 \alpha>0 α>0。因此最优解 T c ∗ T_c^* Tc满足 ∥ T c ∗ ∥ = σ \|T_c^*\|=\sigma Tc=σ

证明:
由于优化问题的目标函数是线性的,因此是凸的,最大化问题导致 U U U的边界 ∂ U \partial U U上的最优解[29]。 ∂ U \partial U U有一部分是半径为 σ \sigma σ的球面,一部分是单位法向量为 n ^ \hat{n} n^的超平面。边界的所有极点都在球面上:如果边界上的任何点不在球面上,那么它在超平面上,在边界上另外两点之间的线段上。这意味着 U U U的极点满足 ∥ T c ∥ = σ \|T_c\|=\sigma Tc=σ

注意到 y = c 1 n ^ + c 2 n ^ ⊥ y=c_1\hat{n}+c_2\hat{n}^\perp y=c1n^+c2n^对某些 c 2 ≠ 0 c_2\ne 0 c2=0和与 n ^ \hat{n} n^正交的单位向量 n ^ ⊥ \hat{n}^\perp n^。这意味着 T c ∗ = a 1 n ^ + a 2 n ^ ⊥ T_c^*=a_1\hat{n}+a_2\hat{n}^\perp Tc=a1n^+a2n^,其中 a 2 ≠ 0 a_2\ne 0 a2=0 a 1 2 + a 2 2 ≤ σ 2 a_1^2+a_2^2\le\sigma^2 a12+a22σ2。假设 n ^ T T c ∗ = cos ⁡ θ σ \hat{n}^TT_c^*=\cos\theta\,\sigma n^TTc=cosθσ,这意味着 a 1 = cos ⁡ θ σ a_1=\cos\theta\,\sigma a1=cosθσ。由于 y T T c ∗ = c 1 a 1 + c 2 a 2 = c 1 cos ⁡ θ σ + c 2 a 2 y^TT_c^*=c_1a_1+c_2a_2=c_1\cos\theta\,\sigma+c_2a_2 yTTc=c1a1+c2a2=c1cosθσ+c2a2,如果 c 2 c_2 c2 a 2 a_2 a2同号且 a 1 2 + a 2 2 = σ 2 a_1^2+a_2^2=\sigma^2 a12+a22=σ2,即 ∥ T c ∗ ∥ = σ \|T_c^*\|=\sigma Tc=σ,那么代价最大。

因此最优解必须是 U U U的极点。

总结

这篇文章研究了行星软着陆问题,该问题可以表述为一个有状态和控制约束的有限时域最优控制问题。求解这个问题的主要困难在于控制输入上存在非凸约束。本文的主要贡献是引入了对这些控制约束的凸化方法,并证明它是无损的,即可以通过求解凸化松弛问题得到原问题的最优解。

论文首先给出了行星软着陆问题的数学描述,包括动力学方程、状态约束(如下滑道约束)和控制约束(如推力幅值和指向约束)。然后提出了两个优化问题的形式:最小着陆误差问题和最小燃料问题。接下来引入了这两个问题的凸松弛形式,其中非凸控制约束被凸约束代替。

论文的核心结果是定理1,它说明了在一定条件下,可以通过求解凸松弛问题得到原问题的最优解。证明过程用到了Pontryagin极大值原理,以及附录中给出的两个引理。引理2给出了余态方程的一些性质,引理3说明了最优控制发生在可行控制集的极点处。

为了方便求解,论文还引入了变量替换以消除动力学方程中的非线性,并使用了二阶锥规划对约束进行近似。最后,通过数值算例验证了所提出方法的有效性。

我给出一个简单的代码示例,演示如何使用cvxpy库在Python中求解凸化后的软着陆问题。

import cvxpy as cp
import numpy as np# 问题参数
n = 100  # 时间步数
dt = 0.1  # 时间步长
m0 = 1000  # 初始质量
mf = 300  # 最终质量
g = 9.8  # 重力加速度
rho_1 = 1000  # 最小推力
rho_2 = 5000  # 最大推力
theta = np.pi/3  # 推力指向约束的半角
r0 = np.array([0, 0, 1000])  # 初始位置
v0 = np.array([0, 0, -50])  # 初始速度
rf = np.array([100, 100, 0])  # 目标位置# 决策变量
r = cp.Variable((n+1, 3))  # 位置
v = cp.Variable((n+1, 3))  # 速度
u = cp.Variable((n, 3))  # 推力加速度
sigma = cp.Variable(n)  # 推力大小# 初始条件
constr = [r[0] == r0, v[0] == v0]# 动力学方程
for t in range(n):dr = v[t] * dtdv = (u[t] - g*np.array([0,0,1])) * dtconstr.append(r[t+1] == r[t] + dr)constr.append(v[t+1] == v[t] + dv) # 终端状态约束
constr.append(r[-1] == rf)
constr.append(v[-1] == 0)# 控制约束
for t in range(n):constr.append(cp.norm(u[t]) <= sigma[t])constr.append(u[t] @ np.array([0,0,1]) >= cp.norm(u[t])*np.cos(theta))constr.append(rho_1/m0 <= sigma[t])constr.append(sigma[t] <= rho_2/m0)# 目标函数
objective = cp.Minimize(cp.sum(sigma)*dt)# 求解优化问题
prob = cp.Problem(objective, constr)
result = prob.solve()# 输出结果
print(f"最优燃料消耗: {result*m0}")
  1. 首先定义了问题的参数,如时间步数、初始状态、目标位置等。

  2. 然后定义了决策变量,包括各时刻的位置r、速度v、推力加速度u和推力大小sigma。

  3. 接下来是约束条件,包括初始条件、动力学方程约束、终端状态约束和控制约束。其中控制约束对应于论文中的凸化松弛形式。

  4. 目标函数是最小化总推力的积分,对应最小燃料消耗。

  5. 最后,我们构建优化问题,调用求解器,输出最优目标值。

这个示例模型与论文中的略有不同,例如使用了推力加速度而不是直接的推力作为控制变量,对质量的变化也进行了简化。但基本的思路是一致的,即将原问题转化为凸优化问题求解。
这篇论文中的参考文献列表:

[1] B. Açıkme¸se and S. R. Ploen, “Convex programming approach to powered descent guidance for mars landing,” Journal of Guidance, Control, and Dynamics, vol. 30, no. 5, pp. 1353–1366, 2007.

[2] L. Blackmore, B. Açıkme¸se, and D. P. Scharf, “Minimum-landing-error powered-descent guidance for mars landing using convex optimization,” Journal of Guidance, Control, and Dynamics, vol. 33, no. 4, pp. 1161–1171, 2010.

[3] J. S. Meditch, “On the problem of optimal thrust programming for a lunar soft landing,” IEEE Transactions on Automatic Control, vol. 9, no. 4, pp. 477–484, 1964.

[4] A. Miele, “The calculus of variations in applied aerodynamics and flight mechanics,” in Optimization Techniques, G. Leitmann, Ed. Elsevier, 1962, pp. 99–170.

[5] A. R. Klumpp, “Apollo lunar descent guidance,” Automatica, vol. 10, no. 2, pp. 133–146, 1974.

[6] U. Topcu, J. Casoliva, and K. D. Mease, “Minimum-fuel powered descent for mars pinpoint landing,” Journal of Spacecraft and Rockets, vol. 44, no. 2, pp. 324–331, 2007.

[7] R. Sostaric and J. Rea, “Powered descent guidance methods for the moon and mars,” in AIAA Guidance, Navigation, and Control Conference and Exhibit, 2005, p. 6287.

[8] F. Najson and K. D. Mease, “A computationally non-expensive guidance algorithm for fuel efficient soft landing,” in AIAA Guidance, Navigation, and Control Conference and Exhibit, 2006, p. 6438.

[9] B. A. Steinfeldt, M. J. Grant, D. A. Matz, R. D. Braun, and G. H. Barton, “Guidance, navigation, and control system performance trades for mars pinpoint landing,” Journal of Spacecraft and Rockets, vol. 47, no. 1, pp. 188–198, 2010.

[10] S. Boyd and L. Vandenberghe, Convex Optimization. Cambridge University Press, 2004.

[11] Y. Nesterov and A. Nemirovskii, Interior-Point Polynomial Algorithms in Convex Programming. SIAM, 1994.

[12] J. Peng, C. Roos, and T. Terlaky, Self-Regularity: A New Paradigm for Primal-Dual Interior-Point Algorithms. Princeton University Press, 2002.

[13] J. F. Sturm, “Using SeDuMi 1.02, a MATLAB toolbox for optimization over symmetric cones,” Optimization methods and software, vol. 11, no. 1-4, pp. 625–653, 1999.

[14] C. D’Souza, “An optimal guidance law for planetary landing,” in AIAA Guidance, Navigation, and Control Conference, 1997, pp. 1376–1381.

[15] S. R. Ploen, B. Acikmese, and A. Wolf, “A comparison of powered descent guidance laws for mars pinpoint landing,” in AIAA/AAS Astrodynamics Specialist Conference and Exhibit, 2006, p. 6676.

[16] B. A. Steinfeldt, M. J. Grant, D. A. Matz, R. D. Braun, and G. H. Barton, “Guidance, navigation, and control technology system trades for mars pinpoint landing,” in AIAA Guidance, Navigation and Control Conference and Exhibit, 2008, p. 6216.

[17] J. M. Carson III, B. Açıkme¸se, and L. Blackmore, “Lossless convexification of powered-descent guidance with non-convex thrust bound and pointing constraints,” in 2011 American Control Conference, IEEE, 2011, pp. 2651–2656.

[18] L. D. Berkovitz, Optimal Control Theory, ser. Applied Mathematical Sciences. Springer New York, 1974, vol. 12.

[19] K.-C. Toh, M. J. Todd, and R. H. Tütüncü, “SDPT3—a matlab software package for semidefinite programming, version 1.3,” Optimization methods and software, vol. 11, no. 1-4, pp. 545–581, 1999.

[20] J. Mattingley and S. Boyd, “Real-time convex optimization in signal processing,” IEEE Signal Processing Magazine, vol. 27, no. 3, pp. 50–61, 2010.

[21] ——, “Automatic code generation for real-time convex optimization,” in Convex Optimization in Signal Processing and Communications, D. P. Palomar and Y. C. Eldar, Eds. Cambridge University Press, 2010.

[22] Y. Wang and S. Boyd, “Fast model predictive control using online optimization,” IEEE Transactions on Control Systems Technology, vol. 18, no. 2, pp. 267–278, 2009.

[23] Y. Kim and M. Mesbahi, “Quadratically constrained attitude control via semidefinite programming,” IEEE Transactions on Automatic Control, vol. 49, no. 5, pp. 731–735, 2004.

[24] G. P. Sutton and O. Biblarz, Rocket Propulsion Elements. John Wiley & Sons, 2010.

[25] M. Tamiz, D. Jones, and C. Romero, “Goal programming for decision making: An overview of the current state-of-the-art,” European journal of operational research, vol. 111, no. 3, pp. 569–581, 1998.

[26] L. S. Pontryagin, Mathematical Theory of Optimal Processes. Routledge, 2018.

[27] B. Açıkme¸se and L. Blackmore, “Lossless convexification of a class of optimal control problems with non-convex control constraints,” Automatica, vol. 47, no. 2, pp. 341–347, 2011.

[28] H. Cartan, Elementary Theory of Analytic Functions of One or Several Complex Variables. Courier Corporation, 1995.

[29] L. D. Berkovitz, Convexity and Optimization in R n R^n Rn. John Wiley & Sons, 2003.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/22770.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP序列化、反序列化

目录 一、PHP序列化&#xff1a;serialize() 1.对象序列化 2.pop链序列化 3.数组序列化 二、反序列化&#xff1a;unserialize() 三、魔术方法 ​四、NSSCTF相关简单题目 1.[SWPUCTF 2021 新生赛]ez_unserialize 2.[SWPUCTF 2021 新生赛]no_wakeup 学习参考&#xff1…

解决MAC M1 Docker Desktop启动一直在starting

问题描述&#xff1a; 今天使用docker buildx 构建Multi-platform&#xff0c;提示如下错误&#xff1a; ERROR: Multi-platform build is not supported for the docker driver. Switch to a different driver, or turn on the containerd image store, and try again. 于是按…

EasyRecovery2024破解版本下载,电脑数据恢复新突破!

在当今数字化时代&#xff0c;数据安全和软件版权已成为全球关注的热点。EasyRecovery&#xff0c;作为一款广受欢迎的数据恢复软件&#xff0c;因其强大的数据恢复功能而深受用户喜爱。然而&#xff0c;随着“EasyRecovery2024 crack”关键词的流行&#xff0c;我们不得不面对…

电子电气架构 —— 刷写模式:并行刷写

电子电气架构 —— 刷写模式:并行刷写 我是穿拖鞋的汉子,魔都中坚持长期主义的工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 人们会在生活中不断攻击你。他们的主要武器是向你灌输对自己的怀疑:你的价值、你的能力、你的潜力。他们往往会将此…

【深度学习入门篇一】阿里云服务器(不需要配环境直接上手跟学代码)

前言 博主刚刚开始学深度学习&#xff0c;配环境配的心力交瘁&#xff0c;一塌糊涂&#xff0c;不想配环境的刚入门的同伴们可以直接选择阿里云服务器 阿里云天池实验室&#xff0c;在入门阶段跑个小项目完全没有问题&#xff0c;不要自己傻傻的在那配环境配了半天还不匹配&a…

【ARM Cache 系列文章 2.1 -- Cache PoP 及 PoDP 介绍】

请阅读【ARM Cache 及 MMU/MPU 系列文章专栏导读】 及【嵌入式开发学习必备专栏】 文章目录 PoP 及 PoDPCache PoDPCache PoP应用和影响PoP 及 PoDP Cache PoDP 点对深度持久性(Point of Deep Persistence, PoDP)是内存系统中的一个点,在该点达到的任何写操作即使在系统供电…

石油行业的数字化转型与智能化发展:新技术综合运用助力业务提升

引言 石油行业面临的挑战与机遇 石油行业是全球能源供应的重要支柱&#xff0c;然而&#xff0c;随着资源枯竭、环境压力增加以及市场竞争加剧&#xff0c;石油企业面临着前所未有的挑战。传统的勘探和生产方式已经难以满足当前高效、安全、环保的要求。同时&#xff0c;能源转…

用幻灯片来解释C/C++指针及运算

在互联网上发现了一个很好的C入门学习网站&#xff0c;用各种图表和幻灯片来学习C知识&#xff0c;非常直观&#xff0c;一目了然&#xff0c;比看文字更容易理解。做个搬运工用中文分享一下C/C最难懂的的内存指针的讲解&#xff0c;由浅入深的将指针解释的很清楚易懂&#xff…

web刷题记录(3)

[NISACTF 2022]checkin 简单的get传参,好久没做过这么简单的题了 王德发&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff01;&#xff0c;看了源代码以后&#xff0c;本来以为是js脚本的问题&#xff0c;但是禁用js脚本没用&#xff0c;看了大佬的wp以后…

鸿蒙轻内核M核源码分析系列六 任务及任务调度(2)任务模块

任务是操作系统一个重要的概念&#xff0c;是竞争系统资源的最小运行单元。任务可以使用或等待CPU、使用内存空间等系统资源&#xff0c;并独立于其它任务运行。鸿蒙轻内核的任务模块可以给用户提供多个任务&#xff0c;实现任务间的切换&#xff0c;帮助用户管理业务程序流程。…

智慧校园究竟有何魅力?

随着科技的快速发展&#xff0c;智慧校园已成为教育领域的热门话题。智慧校园利用先进的技术手段&#xff0c;将信息化与教育深度融合&#xff0c;为学生、教师和家长提供更便捷、高效的教育服务。本文将带您深入了解智慧校园的魅力&#xff0c;让您对未来教育的发展充满期待。…

Ego微商项目部署(小程序项目)(全网最详细教程)

目录 1.项目部署前的准备 1.1获取APPID和APPSecret&#xff08;微信小程序&#xff09; 1.2测试工具 1.3微信开发者工具下载与安装 2.Ego微商后端项目部署 2.1部署细节流程 2.2部署架构图 2.3组件要求及版本 2.4后台部署操作 2.4.1安装vm和cenos7 2.4.2本地服务检查…

我们如何利用 0 美元营销将 UX/UI 产品发展到 320k 用户

嘿 &#x1f44b; 我是 Paul&#xff0c;FlowMapp 的联合创始人。 现在&#xff0c;我们是一个由7人&#xff08;少数兼职成员&#xff09;组成的团队&#xff0c;试图将产品扩展到$ 1M ARR。 希望这些对您有所帮助&#xff0c;并祝您未来的产品好运&#xff01; 我决定与…

【AI大模型】Transformers大模型库(四):AutoTokenizer

目录​​​​​​​ 一、引言 二、自动分词器&#xff08;AutoTokenizer&#xff09; 2.1 概述 2.2 主要特点 2.3 代码示例 三、总结 一、引言 这里的Transformers指的是huggingface开发的大模型库&#xff0c;为huggingface上数以万计的预训练大模型提供预测、训练等服…

python字符串的进阶

在上一篇文章的 密码破解器 中&#xff0c;我们回顾了循环专题的知识点。 while 循环和 for 循环是 Python 中的两大循环语句&#xff0c;它们都可以实现循环的功能&#xff0c;但在具体使用时略有差别。当循环次数不确定时&#xff0c;我们选用 while 循环&#xff1b;当循环…

【限免】杂波环境下线性调频脉冲、巴克码、频率步进脉冲雷达MTI、脉冲压缩【附MATLAB代码】

文章来源&#xff1a;​微信公众号&#xff1a;EW Frontier/ 智能电磁频谱算法 本代码主要模拟杂波环境&#xff08;飞机、地杂波、鸟类信号&#xff09;下&#xff0c;Chirp脉冲、巴克码脉冲、频率步进脉冲雷达信号的脉冲压缩及MTI、匹配滤波。 MATLAB主代码 % 生成雷达信号…

做任务赚钱的app有哪些?(真实可靠能做任务赚钱软件app推荐)

在数字化时代&#xff0c;通过手机APP做任务赚钱已成为一种流行的兼职方式。这些APP为用户提供了完成小任务以赚取现金或奖励的机会。以下是一些真实可靠的做任务赚钱的APP推荐&#xff0c;帮助您在空闲时间增加收入。 赏帮赚是一个正规的兼职接单赚钱平台&#xff0c;在这个平…

MariaDB数据导入与导出操作演示

文章目录 整个数据库导出导入先删除库然后再导入 参考这里&#xff1a; MariaDB数据库导出导入. 整个数据库 该部分演示&#xff1a;导出数据库&#xff0c;然后重建数据库&#xff0c;并导入数据的整个过程。 导出 Win R &#xff0c;打开运行输入cmd并回车&#xff0c;然…

迅雷极简易下载

一、简介 1、迅雷是一家全球领先的去中心化服务商&#xff0c;以技术构建商业&#xff0c;以服务创造共识&#xff0c;从而建立一个高效可信的存储与传输网络。 迅雷成立于2003年&#xff0c;总部位于中国深圳&#xff0c;2014年于纳斯达克上市&#xff08;纳斯达克股票代码&a…

OPPO 文件传输 - 将文件从 OPPO 手机传输到 PC 的 5 种方法

OPPO手机以其出色的拍照功能而闻名&#xff0c;尤其是新推出的OPPO Find X2系列&#xff0c;它配备了高清前置镜头和超夜景模式&#xff0c;让您轻松拍出精彩瞬间。当您需要将这些照片或其他文件从OPPO手机传输到PC时&#xff0c;以下是五种简便的方法。 第 1 部分&#xff…