CN107942661A - 一种基于自适应优化控制节点的月球探测器软着陆最优控制系统 - Google Patents

一种基于自适应优化控制节点的月球探测器软着陆最优控制系统 Download PDF

Info

Publication number
CN107942661A
CN107942661A CN201711117056.5A CN201711117056A CN107942661A CN 107942661 A CN107942661 A CN 107942661A CN 201711117056 A CN201711117056 A CN 201711117056A CN 107942661 A CN107942661 A CN 107942661A
Authority
CN
China
Prior art keywords
mrow
mover
msub
mtd
mtr
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201711117056.5A
Other languages
English (en)
Other versions
CN107942661B (zh
Inventor
刘兴高
李国栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201711117056.5A priority Critical patent/CN107942661B/zh
Publication of CN107942661A publication Critical patent/CN107942661A/zh
Application granted granted Critical
Publication of CN107942661B publication Critical patent/CN107942661B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Magnetic Resonance Imaging Apparatus (AREA)
  • Feedback Control In General (AREA)

Abstract

本发明公开了一种基于自适应优化控制节点的月球探测器软着陆最优控制系统,该系统由速度传感器、距离探测器、MCU、燃料消耗系统、软着陆状态显示构成。月球探测器准备软着陆时,速度传感器、距离探测器测量当前该探测器的下降速度、与月球表面之间的距离,并将测量数据传送给MCU,MCU立即执行自适应优化控制节点最优控制方法,计算出使月球探测器安全着陆并且最少消耗燃料的燃料消耗速率控制策略,将其转换为运行指令传送给燃料消耗系统,并实时显示当前软着陆状态。本发明能够保证月球探测器安全软着陆并且最大程度地减少燃料的消耗。

Description

一种基于自适应优化控制节点的月球探测器软着陆最优控制 系统
技术领域
本发明涉及月球软着陆控制领域,主要是一种基于自适应优化控制节点的月球探测器软着陆最优控制系统。在月球探测器将要着陆时,该系统能够计算出最优的软着陆策略,以保证探测器安全着陆并且最大程度地减少燃料的消耗。
背景技术
二十世纪五十年代末至今,美国、前苏联/俄罗斯、日本、欧洲航天局、中国和印度先后进行了月球探测,九十年代以来兴起了新一轮的热潮。其中,月球探测器软着陆是一种非常重要的技术手段。软着陆就是在落地之前通过一定的手段减小垂直速度,使之以一个可以接受的速度落地,以保护飞行器和航天员。由于月球上没有空气,类似于真空,用降落伞是不可能的,而气垫不好控制力度,目前的技术是靠月球探测器自身的反作用力实现软着陆。现今,国内外众多专家学者都对此展开了深入研究。
发明内容
为了使月球探测器安全着陆并且最大程度地减少燃料的消耗,本发明提供了一种基于自适应优化控制节点的月球探测器软着陆最优控制系统,该系统借助MCU作为最优控制方法的实现载体。
本发明的目的是通过以下技术方案来实现的:一种基于自适应优化控制节点的月球探测器软着陆最优控制系统,能够计算出最优的软着陆策略,以保证探测器安全着陆并且最大程度地减少燃料的消耗。由速度传感器、距离探测器、MCU、燃料消耗系统、软着陆状态显示构成。所述系统的运行过程包括:
步骤A4:月球探测器准备软着陆时开启速度传感器以及距离探测器,用于实时测量当前该探测器的下降速度以及与月球表面之间的距离,并将测量数据传送给MCU;
步骤A5:MCU执行内部的自适应控制节点最优控制方法,计算出使月球探测器安全着陆并且最少消耗燃料的燃料消耗速率控制策略;
步骤A6:MCU将得到的燃料消耗速率控制策略转换为燃料消耗系统运行指令,传送给燃料消耗系统,并实时显示当前软着陆状态。
所述的MCU,包括信息采集模块、初始化模块、结束时间处理模块、控制向量参数化模块、非线性规划(Nonlinear Programming,NLP)问题求解模块、终止条件判断模块、自适应控制网格划分模块、控制指令输出模块。
月球探测器的软着陆过程可以描述为:
其中t表示时间,t0表示软着陆过程开始时间,tf表示软着陆过程结束时间,且tf不固定;被称为状态变量,表示月球探测器的速度、加速度、质量、与月球表面之间的距离等物理参数,x0是其初始值,是其一阶导数;u(t)表示月球探测器的燃料消耗速率,ul、uu分别为其下限值和上限值;是根据能量守恒以及力学原理建立的微分方程组;是对月球探测器软着陆结束时刻的物理参数建立的约束条件。nx,ng分别是状态变量和约束的数量。
假设以Φ[x(tf)]表示燃料的总消耗量,则使燃料消耗最少的数学模型可表示为:
其中J[u(t)]表示控制目标,由燃料消耗速率u(t)决定。该问题本质上是一个最优控制问题。
本发明解决该问题所采用的技术方案是:在MCU中集成了自适应优化控制节点最优控制方法,并以此为基础构建了一套最优控制系统。所述控制系统的结构包括速度传感器、距离探测器、MCU、燃料消耗系统、软着陆状态显示。所述系统的各组成部分均由月球探测器内数据总线统一连接。
所述系统的运行过程如下:
步骤C1:月球探测器准备软着陆时开启速度传感器以及距离探测器,用于实时测量当前该探测器的下降速度以及与月球表面之间的距离,并将测量数据传送给MCU;
步骤C2:MCU执行内部的自适应优化控制节点最优控制方法,计算出使月球探测器安全着陆并且最少消耗燃料的燃料消耗速率控制策略;
步骤C3:MCU将得到的燃料消耗速率控制策略转换为燃料消耗系统运行指令,传送给燃料消耗系统,并实时显示当前软着陆状态。
集成了自适应优化控制节点最优控制方法的MCU是本发明的核心,其内部包括信息采集模块、初始化模块、结束时间处理模块、控制向量参数化模块、非线性规划(Nonlinear Programming,NLP)问题求解模块、终止条件判断模块、自适应控制节点分配模块、时间尺度转换模块、控制指令输出模块。
信息采集模块包括当前下降速度采集、与月球表面之间的距离采集两个子模块。
结束时间处理模块引入新的时间变量υ,使得
t=(tf-t0)υ+t0 (3)
从而将结束时间tf不固定的数学模型(2)转换为控制时域为[0,1]的数学模型,如下所示:
其中,
控制向量参数化模块采用分段常量策略来实现燃料消耗速率控制,具体如下:
假设整个控制时域[0,1]被划分为p(p>0)个控制子区间[υk-1k)(k=1,2,…,p),并且
0<υ1<…<υp-1<υp=1 (6)
这样,可表示为:
其中,为常数,表示在控制子区间[υk-1k)内的参数值,χk(υ)为单位开关函数,其定义如下:
从而,燃料消耗速率控制参数可由向量表示。
NLP问题求解模块包括序列二次规划(Sequential Quadratic Programming,SQP)求解、联立微分方程组求解两个子模块。联立微分方程组包括方程组(9)
和方程组(10)
其中,
利用四阶Runge-Kutta算法求解联立微分方程组(9)、(10),可以得到数学模型(4)的目标函数值以及目标函数对控制参数向量的一阶梯度信息:
同样,可以得到数学模型(4)中的约束函数值以及约束函数对控制参数向量的一阶梯度信息:
自适应控制节点分配模块提供了一种自适应分配控制节点的策略,具体如下:
假设经过第l次迭代,得到的目标函数最优值为J*l,最优控制参数为 相应的控制网格为通过将Δl中的每个控制子区间进行二等分,得到控制网格及初始控制参数
对于中当前取值为的各个参数为了评估其对目标函数J下降量的影响,定义相对于J的灵敏度为:
其中,表示不超过(j+1)/2的最大整数。
假设在控制区间内,分别为第l-1次和第l次所获得的最优控制参数值。如果以下条件满足:
其中,εuv>0为给定阈值,则令
s2k-1=0且s2k=0 (17)
对于Δl'中的控制节点如果在下一次迭代中将其保留,需满足:
其中,rsu>0为给定系数,为平均灵敏度,其定义如下:
如果式(18)不满足,则将该控制节点消除。
当控制节点都被消除时,如果以下条件满足
其中,给定系数rsl∈(0,rsu]、εuh>0,则控制节点也应该被消除。
经过以上控制网格二等分以及控制节点消除等步骤,控制网格Δl'可作为下一次迭代的控制网格Δl+1
时间尺度转换模块是将当前数学模型(4)转换到一个新的时间尺度上,以便于对自适应控制节点分配模块得到的控制网格进行优化,具体如下:
对于一个新插入的控制节点如果满足
其中,给定系数rss≥rsu,则该控制节点被认为是重要控制节点。这样,控制子区间被认为是重要控制子区间,其长度可当作变量进行优化,以找到控制节点的最优位置。
假设经过自适应控制节点分配模块调整后,整个控制时域存在P个控制子区间[υk-1k)(k=1,2,...,P),每个控制子区间的长度用θk表示,且其初始值为
对于其中的非重要控制子区间,其长度为定值,不必优化。对于其中的重要控制子区间,根据其连续情况,假设可分为R(R≥1)部分,第r(1≤r≤R)部分包含nr(nr≥2)个连续控制子区间,且其所有控制子区间的长度满足:
引入时间尺度转换函数如下:
其中,τ为新的时间变量,表示不超过τ的最大整数。这样,数学模型(4)在新的时间尺度上可被转换为:
其中,
所述MCU产生燃料消耗系统运行指令的过程如下:
步骤D1:信息采集模块获取月球探测器当前下降速度以及与月球表面之间的距离;
步骤D2:初始化模块运行,设置初始控制网格数目p、燃料消耗速率控制策略的初始猜测值设定常数值εuv>0、εuh>0、rsu>0、rsl∈(0,rsu]、rss≥rsu,设置最大迭代次数lmax≥1以及终止误差tolJ>0,并令迭代计数l=0;
步骤D3:结束时间处理模块将数学模型(2)转换为数学模型(4);
步骤D4:控制向量参数化模块采用分段常量策略来表示燃料消耗速率控制曲线,如果l=0,则将控制时域等分为p段而得到当前控制网格,并令所有控制参数值为否则,采用Δl作为当前控制网格,每个控制子区间内的参数值为对应控制时域内的值;
步骤D5:NLP问题求解模块中的SQP求解模块运行,并且通过联立微分方程组求解模块获取目标函数值、目标函数对控制参数向量的一阶梯度信息、约束函数值、约束函数对控制参数向量的一阶梯度信息,最终得到当前控制网格下的目标函数最优值J*l以及相应的最优控制参数
步骤D6:终止条件判断模块运行,对于l>0,如果l=lmax
则执行步骤D10,否则,执行步骤D7;
步骤D7:自适应控制节点分配模块运行,获得新的控制网格Δl+1
步骤D8:令迭代计数l=l+1,如果l=lmax,则执行步骤D9,否则,转到步骤D4;
步骤D9:时间尺度转换模块将数学模型(4)转换为新时间尺度上的数学模型(25),转到步骤D4;
步骤D10:控制指令输出模块将当前控制时域按(24)、(3)转换到实际控制时域,并将获得的最优燃料消耗速率控制策略输出。
本发明的有益效果主要表现在:基于自适应优化控制节点的月球探测器软着陆最优控制系统,能够计算出探测器最优的软着陆策略,可以适应问题的最优控制曲线,特别是找到问题的不连续点,能够获得较高的精度;采用自适应策略之后,下一次最优控制曲线的初始估计值是当前迭代的最优曲线,由此可以获得较快的收敛速度,减少探测器最优的软着陆策略的计算时间。本发明在保证月球探测器安全软着陆的情况下,并且能够最大程度地减少燃料的消耗。
附图说明
图1是本发明的功能示意图;
图2是本发明的结构示意图;
图3是本发明MCU内部模块结构图;
图4是对实施实例1获得的燃料消耗速率控制策略图;
图5是图4中燃料消耗速率控制策略所对应的各状态变量变化图。
具体实施方式
如图1所示,月球探测器的软着陆过程可以描述为:
其中t表示时间,t0表示软着陆过程开始时间,tf表示软着陆过程结束时间,且tf不固定;被称为状态变量,表示月球探测器的速度、加速度、质量、与月球表面之间的距离等物理参数,x0是其初始值,是其一阶导数;u(t)表示月球探测器的燃料消耗速率,ul、uu分别为其下限值和上限值;是根据能量守恒以及力学原理建立的微分方程组;是对月球探测器软着陆结束时刻的物理参数建立的约束条件。nx,ng分别是状态变量和约束的数量。
假设以Φ[x(tf)]表示燃料的总消耗量,则使燃料消耗最少的数学模型可表示为:
其中J[u(t)]表示控制目标,由燃料消耗速率u(t)决定。该问题本质上是一个最优控制问题。
本发明解决该问题所采用的技术方案是:在MCU中集成了自适应优化控制节点最优控制方法,并以此为基础构建了一套最优控制系统。所述控制系统的结构如图2所示,包括速度传感器、距离探测器、MCU、燃料消耗系统、软着陆状态显示。所述系统的各组成部分均由月球探测器内数据总线统一连接。
所述系统的运行过程如下:
步骤C4:月球探测器准备软着陆时开启速度传感器以及距离探测器,用于实时测量当前该探测器的下降速度以及与月球表面之间的距离,并将测量数据传送给MCU;
步骤C5:MCU执行内部的自适应优化控制节点最优控制方法,计算出使月球探测器安全着陆并且最少消耗燃料的燃料消耗速率控制策略;
步骤C6:MCU将得到的燃料消耗速率控制策略转换为燃料消耗系统运行指令,传送给燃料消耗系统,并实时显示当前软着陆状态。
集成了自适应优化控制节点最优控制方法的MCU是本发明的核心,如图3所示,其内部包括信息采集模块、初始化模块、结束时间处理模块、控制向量参数化模块、非线性规划(Nonlinear Programming,NLP)问题求解模块、终止条件判断模块、自适应控制节点分配模块、时间尺度转换模块、控制指令输出模块。
信息采集模块包括当前下降速度采集、与月球表面之间的距离采集两个子模块。
结束时间处理模块引入新的时间变量υ,使得
t=(tf-t0)υ+t0 (30)
从而将结束时间tf不固定的数学模型(2)转换为控制时域为[0,1]的数学模型,如下所示:
其中,
控制向量参数化模块采用分段常量策略来实现燃料消耗速率控制,具体如下:
假设整个控制时域[0,1]被划分为p(p>0)个控制子区间[υk-1k)(k=1,2,…,p),并且
0<υ1<…<υp-1<υp=1 (33)
这样,可表示为:
其中,为常数,表示在控制子区间[υk-1k)内的参数值,χk(υ)为单位开关函数,其定义如下:
从而,燃料消耗速率控制参数可由向量表示。
NLP问题求解模块包括序列二次规划(Sequential Quadratic Programming,SQP)求解、联立微分方程组求解两个子模块。联立微分方程组包括方程组(9)
和方程组(10)
其中,
利用四阶Runge-Kutta算法求解联立微分方程组(9)、(10),可以得到数学模型(4)的目标函数值以及目标函数对控制参数向量的一阶梯度信息:
同样,可以得到数学模型(4)中的约束函数值以及约束函数对控制参数向量的一阶梯度信息:
自适应控制节点分配模块提供了一种自适应分配控制节点的策略,具体如下:
假设经过第l次迭代,得到的目标函数最优值为J*l,最优控制参数为 相应的控制网格为通过将Δl中的每个控制子区间进行二等分,得到控制网格及初始控制参数
对于中当前取值为的各个参数为了评估其对目标函数J下降量的影响,定义相对于J的灵敏度为:
其中,表示不超过(j+1)/2的最大整数。
假设在控制区间内,分别为第l-1次和第l次所获得的最优控制参数值。如果以下条件满足:
其中,εuv>0为给定阈值,则令
s2k-1=0且s2k=0 (44)
对于Δl'中的控制节点如果在下一次迭代中将其保留,需满足:
其中,rsu>0为给定系数,为平均灵敏度,其定义如下:
如果式(18)不满足,则将该控制节点消除。
当控制节点都被消除时,如果以下条件满足
其中,给定系数rsl∈(0,rsu]、εuh>0,则控制节点也应该被消除。
经过以上控制网格二等分以及控制节点消除等步骤,控制网格Δl'可作为下一次迭代的控制网格Δl+1
时间尺度转换模块是将当前数学模型(4)转换到一个新的时间尺度上,以便于对自适应控制节点分配模块得到的控制网格进行优化,具体如下:
对于一个新插入的控制节点如果满足
其中,给定系数rss≥rsu,则该控制节点被认为是重要控制节点。这样,控制子区间被认为是重要控制子区间,其长度可当作变量进行优化,以找到控制节点的最优位置。
假设经过自适应控制节点分配模块调整后,整个控制时域存在P个控制子区间[υk-1k)(k=1,2,...,P),每个控制子区间的长度用θk表示,且其初始值为
对于其中的非重要控制子区间,其长度为定值,不必优化。对于其中的重要控制子区间,根据其连续情况,假设可分为R(R≥1)部分,第r(1≤r≤R)部分包含nr(nr≥2)个连续控制子区间,且其所有控制子区间的长度满足:
引入时间尺度转换函数如下:
其中,τ为新的时间变量,表示不超过τ的最大整数。这样,数学模型(4)在新的时间尺度上可被转换为:
其中,
所述MCU产生燃料消耗系统运行指令的过程如下:
步骤D11:信息采集模块获取月球探测器当前下降速度以及与月球表面之间的距离;
步骤D12:初始化模块运行,设置初始控制网格数目p、燃料消耗速率控制策略的初始猜测值设定常数值εuv>0、εuh>0、rsu>0、rsl∈(0,rsu]、rss≥rsu,设置最大迭代次数lmax≥1以及终止误差tolJ>0,并令迭代计数l=0;
步骤D13:结束时间处理模块将数学模型(2)转换为数学模型(4);
步骤D14:控制向量参数化模块采用分段常量策略来表示燃料消耗速率控制曲线,如果l=0,则将控制时域等分为p段而得到当前控制网格,并令所有控制参数值为否则,采用Δl作为当前控制网格,每个控制子区间内的参数值为对应控制时域内的值;
步骤D15:NLP问题求解模块中的SQP求解模块运行,并且通过联立微分方程组求解模块获取目标函数值、目标函数对控制参数向量的一阶梯度信息、约束函数值、约束函数对控制参数向量的一阶梯度信息,最终得到当前控制网格下的目标函数最优值J*l以及相应的最优控制参数
步骤D16:终止条件判断模块运行,对于l>0,如果l=lmax
则执行步骤D20,否则,执行步骤D17;
步骤D17:自适应控制节点分配模块运行,获得新的控制网格Δl+1
步骤D18:令迭代计数l=l+1,如果l=lmax,则执行步骤D19,否则,转到步骤D14;
步骤D19:时间尺度转换模块将数学模型(4)转换为新时间尺度上的数学模型(25),转到步骤D4;
步骤D20:控制指令输出模块将当前控制时域按(24)、(3)转换到实际控制时域,并将获得的最优燃料消耗速率控制策略输出。
控制指令输出模块将当前控制时域按(3)转换到实际控制时域,并将获得的最优燃料消耗速率控制策略输出。
实施实例1
某月球探测器软着陆的数学模型如下:
其中,x1(t)、x2(t)、x3(t)分别表示探测器与月球表面之间的距离(m)、下降速度(m/s)、燃料消耗量(kg),u(t)表示燃料消耗速率(kg/s)。
当探测器开始软着陆时,速度传感器、距离探测器测量到当前该探测器的下降速度为-2m/s、与月球表面之间的距离为10m,并将这些测量数据传送给MCU的信息采集模块。MCU立即开始运行自适应优化控制节点最优控制方法,其运行过程如图3所示,为:
步骤E1:初始化模块2运行,设置初始控制网格数目p=4、燃料消耗速率控制策略的初始猜测值设定常数值εuv=10-6、εuh=10-3、rsu=0.25、rsl=0.2、rss=1.45,设置最大迭代次数lmax=2以及终止误差tolJ=10-6,并令迭代计数l=0;
步骤E2:结束时间处理模块3运行,将数学模型(55)转换为数学模型(4)的形式;
步骤E3:控制向量参数化模块4采用分段常量策略来表示燃料消耗速率控制曲线,如果l=0,则将控制时域等分为p段而得到当前控制网格,并令所有控制参数值为否则,采用Δl作为当前控制网格,每个控制子区间内的参数值为对应控制时域内的值;
步骤E4:NLP问题求解模块5中的SQP求解模块运行,并且通过联立微分方程组求解模块获取目标函数值、目标函数对控制参数向量的一阶梯度信息、约束函数值、约束函数对控制参数向量的一阶梯度信息,最终得到当前控制网格下的目标函数最优值J*l以及相应的最优控制参数
步骤E5:终止条件判断模块6运行,对于l>0,如果l=lmax
则执行步骤E9,否则,执行步骤E6;
步骤E6:自适应控制节点分配模块7运行,获得新的控制网格Δl+1
步骤E7:令迭代计数l=l+1,如果l=lmax,则执行步骤E8,否则,转到步骤E3;
步骤E8:时间尺度转换模块8将数学模型(4)转换为新时间尺度上的数学模型(25),转到步骤E3;
步骤E9:控制指令输出模块9将当前控制时域按(24)、(3)转换到实际控制时域,并将获得的最优燃料消耗速率控制策略输出。
自适应优化控制节点最优控制方法得到的最优燃料消耗速率控制曲线如图4所示,完全满足控制要求。图5显示了月球探测器与月球表面之间距离、下降速度的变化曲线,可以看到,在软着陆结束时其值均为0。
最后,MCU将得到的燃料消耗速率控制策略转换为燃料消耗系统运行指令,传送给燃料消耗系统,并实时显示当前软着陆状态。
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。

Claims (1)

1.一种基于自适应优化控制节点的月球探测器软着陆最优控制系统,能够计算出最优的软着陆策略,以保证探测器安全着陆并且最大程度地减少燃料的消耗。其特征在于:由速度传感器、距离探测器、MCU、燃料消耗系统、软着陆状态显示构成。所述系统运行过程包括:
步骤A1:月球探测器准备软着陆时开启速度传感器以及距离探测器,用于实时测量当前该探测器的下降速度以及与月球表面之间的距离,并将测量数据传送给MCU;
步骤A2:MCU执行内部的自适应优化控制节点最优控制方法,计算出使月球探测器安全着陆并且最少消耗燃料的燃料消耗速率控制策略;
步骤A3:MCU将得到的燃料消耗速率控制策略转换为燃料消耗系统运行指令,传送给燃料消耗系统,并实时显示当前软着陆状态。
所述的MCU,包括信息采集模块、初始化模块、结束时间处理模块、控制向量参数化模块、非线性规划(Nonlinear Programming,NLP)问题求解模块、终止条件判断模块、自适应控制节点分配模块、时间尺度转换模块、控制指令输出模块。
月球探测器的软着陆过程可以描述为:
<mrow> <mtable> <mtr> <mtd> <mrow> <mover> <mi>x</mi> <mo>&amp;CenterDot;</mo> </mover> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>f</mi> <mo>&amp;lsqb;</mo> <mi>t</mi> <mo>,</mo> <mi>x</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>,</mo> <mi>u</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>x</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mn>0</mn> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>G</mi> <mo>&amp;lsqb;</mo> <mi>x</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mi>f</mi> </msub> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> <mo>&amp;le;</mo> <mn>0</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>u</mi> <mi>l</mi> </msub> <mo>&amp;le;</mo> <mi>u</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>&amp;le;</mo> <msub> <mi>u</mi> <mi>u</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>t</mi> <mn>0</mn> </msub> <mo>&amp;le;</mo> <mi>t</mi> <mo>&amp;le;</mo> <msub> <mi>t</mi> <mi>f</mi> </msub> </mrow> </mtd> </mtr> </mtable> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>
其中t表示时间,t0表示软着陆过程开始时间,tf表示软着陆过程结束时间,且tf不固定;被称为状态变量,表示月球探测器的速度、加速度、质量、与月球表面之间的距离等物理参数,x0是其初始值,是其一阶导数;u(t)表示月球探测器的燃料消耗速率,ul、uu分别为其下限值和上限值;是根据能量守恒以及力学原理建立的微分方程组;是对月球探测器软着陆结束时刻的物理参数建立的约束条件。nx,ng分别是状态变量和约束的数量。
假设以Φ[x(tf)]表示燃料的总消耗量,则使燃料消耗最少的数学模型可表示为:
<mrow> <mtable> <mtr> <mtd> <mi>min</mi> </mtd> <mtd> <mrow> <mi>J</mi> <mo>&amp;lsqb;</mo> <mi>u</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> <mo>=</mo> <mi>&amp;Phi;</mi> <mo>&amp;lsqb;</mo> <mi>x</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mi>f</mi> </msub> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>s</mi> <mo>.</mo> <mi>t</mi> <mo>.</mo> </mrow> </mtd> <mtd> <mrow> <mover> <mi>x</mi> <mo>&amp;CenterDot;</mo> </mover> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>f</mi> <mo>&amp;lsqb;</mo> <mi>t</mi> <mo>,</mo> <mi>x</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>,</mo> <mi>u</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow></mrow> </mtd> <mtd> <mrow> <mi>x</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mn>0</mn> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow></mrow> </mtd> <mtd> <mrow> <mi>G</mi> <mo>&amp;lsqb;</mo> <mi>x</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mi>f</mi> </msub> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> <mo>&amp;le;</mo> <mn>0</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow></mrow> </mtd> <mtd> <mrow> <msub> <mi>u</mi> <mi>l</mi> </msub> <mo>&amp;le;</mo> <mi>u</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>&amp;le;</mo> <msub> <mi>u</mi> <mi>u</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow></mrow> </mtd> <mtd> <mrow> <msub> <mi>t</mi> <mn>0</mn> </msub> <mo>&amp;le;</mo> <mi>t</mi> <mo>&amp;le;</mo> <msub> <mi>t</mi> <mi>f</mi> </msub> </mrow> </mtd> </mtr> </mtable> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>
其中J[u(t)]表示控制目标,由燃料消耗速率u(t)决定。
信息采集模块包括当前下降速度采集、与月球表面之间的距离采集两个子模块。
结束时间处理模块引入新的时间变量υ,使得
t=(tf-t0)υ+t0 (3)
从而将结束时间tf不固定的数学模型(2)转换为控制时域为[0,1]的数学模型,如下所示:
<mrow> <mtable> <mtr> <mtd> <mi>min</mi> </mtd> <mtd> <mrow> <mi>J</mi> <mo>&amp;lsqb;</mo> <mover> <mi>u</mi> <mo>&amp;OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> <mo>=</mo> <mi>&amp;Phi;</mi> <mo>&amp;lsqb;</mo> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>s</mi> <mo>.</mo> <mi>t</mi> <mo>.</mo> </mrow> </mtd> <mtd> <mrow> <mover> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mo>&amp;CenterDot;</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>)</mo> </mrow> <mo>=</mo> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mi>f</mi> </msub> <mo>-</mo> <msub> <mi>t</mi> <mn>0</mn> </msub> <mo>)</mo> </mrow> <mover> <mi>f</mi> <mo>&amp;OverBar;</mo> </mover> <mo>&amp;lsqb;</mo> <mi>&amp;upsi;</mi> <mo>,</mo> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>)</mo> </mrow> <mo>,</mo> <mi>u</mi> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow></mrow> </mtd> <mtd> <mrow> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mrow> <mo>(</mo> <mn>0</mn> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow></mrow> </mtd> <mtd> <mrow> <mi>G</mi> <mo>&amp;lsqb;</mo> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> <mo>&amp;le;</mo> <mn>0</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow></mrow> </mtd> <mtd> <mrow> <msub> <mi>u</mi> <mi>l</mi> </msub> <mo>&amp;le;</mo> <mi>u</mi> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>)</mo> </mrow> <mo>&amp;le;</mo> <msub> <mi>u</mi> <mi>u</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow></mrow> </mtd> <mtd> <mrow> <msub> <mi>t</mi> <mn>0</mn> </msub> <mo>&amp;le;</mo> <mi>&amp;upsi;</mi> <mo>&amp;le;</mo> <msub> <mi>t</mi> <mi>f</mi> </msub> </mrow> </mtd> </mtr> </mtable> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>
其中,
<mrow> <mtable> <mtr> <mtd> <mrow> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>x</mi> <mo>&amp;lsqb;</mo> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mi>f</mi> </msub> <mo>-</mo> <msub> <mi>t</mi> <mn>0</mn> </msub> <mo>)</mo> </mrow> <mi>&amp;upsi;</mi> <mo>+</mo> <msub> <mi>t</mi> <mn>0</mn> </msub> <mo>&amp;rsqb;</mo> <mo>=</mo> <mi>x</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mover> <mi>u</mi> <mo>&amp;OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>u</mi> <mo>&amp;lsqb;</mo> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mi>f</mi> </msub> <mo>-</mo> <msub> <mi>t</mi> <mn>0</mn> </msub> <mo>)</mo> </mrow> <mi>&amp;upsi;</mi> <mo>+</mo> <msub> <mi>t</mi> <mn>0</mn> </msub> <mo>&amp;rsqb;</mo> <mo>=</mo> <mi>u</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mover> <mi>f</mi> <mo>&amp;OverBar;</mo> </mover> <mo>&amp;lsqb;</mo> <mi>&amp;upsi;</mi> <mo>,</mo> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>)</mo> </mrow> <mo>,</mo> <mover> <mi>u</mi> <mo>&amp;OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> <mo>=</mo> <mi>f</mi> <mo>{</mo> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mi>f</mi> </msub> <mo>-</mo> <msub> <mi>t</mi> <mn>0</mn> </msub> <mo>)</mo> </mrow> <mi>&amp;upsi;</mi> <mo>+</mo> <msub> <mi>t</mi> <mn>0</mn> </msub> <mo>,</mo> <mi>x</mi> <mo>&amp;lsqb;</mo> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mi>f</mi> </msub> <mo>-</mo> <msub> <mi>t</mi> <mn>0</mn> </msub> <mo>)</mo> </mrow> <mi>&amp;upsi;</mi> <mo>+</mo> <msub> <mi>t</mi> <mn>0</mn> </msub> <mo>&amp;rsqb;</mo> <mo>,</mo> <mi>u</mi> <mo>&amp;lsqb;</mo> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mi>f</mi> </msub> <mo>-</mo> <msub> <mi>t</mi> <mn>0</mn> </msub> <mo>)</mo> </mrow> <mi>&amp;upsi;</mi> <mo>+</mo> <msub> <mi>t</mi> <mn>0</mn> </msub> <mo>&amp;rsqb;</mo> <mo>}</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>=</mo> <mi>f</mi> <mo>&amp;lsqb;</mo> <mi>t</mi> <mo>,</mo> <mi>x</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>,</mo> <mi>u</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> </mrow> </mtd> </mtr> </mtable> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>
控制向量参数化模块采用分段常量策略来实现燃料消耗速率控制,具体如下:
假设整个控制时域[0,1]被划分为p(p>0)个控制子区间[υk-1k)(k=1,2,...,p),并且
0<υ1<...<υp-1<υp=1 (6)
这样,可表示为:
<mrow> <mover> <mi>u</mi> <mo>&amp;OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>p</mi> </munderover> <msub> <mover> <mi>u</mi> <mo>^</mo> </mover> <mi>k</mi> </msub> <msub> <mi>&amp;chi;</mi> <mi>k</mi> </msub> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>7</mn> <mo>)</mo> </mrow> </mrow>
其中,为常数,表示在控制子区间[υk-1k)内的参数值,χk(υ)为单位开关函数,其定义如下:
从而,燃料消耗速率控制参数可由向量表示。
NLP问题求解模块包括序列二次规划(Sequential Quadratic Programming,SQP)求解、联立微分方程组求解两个子模块。联立微分方程组包括方程组(9)
<mrow> <mtable> <mtr> <mtd> <mrow> <mover> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mo>&amp;CenterDot;</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>)</mo> </mrow> <mo>=</mo> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mi>f</mi> </msub> <mo>-</mo> <msub> <mi>t</mi> <mn>0</mn> </msub> <mo>)</mo> </mrow> <mover> <mi>f</mi> <mo>&amp;OverBar;</mo> </mover> <mo>&amp;lsqb;</mo> <mi>&amp;upsi;</mi> <mo>,</mo> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>)</mo> </mrow> <mo>,</mo> <mover> <mi>u</mi> <mo>&amp;OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mrow> <mo>(</mo> <mn>0</mn> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> </mrow> </mtd> </mtr> </mtable> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>9</mn> <mo>)</mo> </mrow> </mrow>
和方程组(10)
<mrow> <mtable> <mtr> <mtd> <mrow> <mover> <mi>S</mi> <mo>&amp;CenterDot;</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>|</mo> <mover> <mi>u</mi> <mo>^</mo> </mover> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mo>&amp;part;</mo> <mover> <mi>f</mi> <mo>&amp;OverBar;</mo> </mover> <mo>&amp;lsqb;</mo> <mi>&amp;upsi;</mi> <mo>,</mo> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>|</mo> <mover> <mi>u</mi> <mo>^</mo> </mover> <mo>)</mo> </mrow> <mo>,</mo> <mover> <mi>u</mi> <mo>^</mo> </mover> <mo>&amp;rsqb;</mo> </mrow> <mrow> <mo>&amp;part;</mo> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>|</mo> <mover> <mi>u</mi> <mo>^</mo> </mover> <mo>)</mo> </mrow> </mrow> </mfrac> <mi>S</mi> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>|</mo> <mover> <mi>u</mi> <mo>^</mo> </mover> <mo>)</mo> </mrow> <mo>+</mo> <mfrac> <mrow> <mo>&amp;part;</mo> <mi>f</mi> <mo>&amp;lsqb;</mo> <mi>&amp;upsi;</mi> <mo>,</mo> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>|</mo> <mover> <mi>u</mi> <mo>^</mo> </mover> <mo>)</mo> </mrow> <mo>,</mo> <mover> <mi>u</mi> <mo>^</mo> </mover> <mo>&amp;rsqb;</mo> </mrow> <mrow> <mo>&amp;part;</mo> <mover> <mi>u</mi> <mo>^</mo> </mover> </mrow> </mfrac> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>S</mi> <mrow> <mo>(</mo> <mn>0</mn> <mo>|</mo> <mover> <mi>u</mi> <mo>^</mo> </mover> <mo>)</mo> </mrow> <mo>=</mo> <mn>0</mn> </mrow> </mtd> </mtr> </mtable> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>10</mn> <mo>)</mo> </mrow> </mrow>
其中
<mfenced open = "" close = ""> <mtable> <mtr> <mtd> <mrow> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>|</mo> <mover> <mi>u</mi> <mo>^</mo> </mover> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> <mo>+</mo> <msubsup> <mo>&amp;Integral;</mo> <mn>0</mn> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mi>f</mi> </msub> <mo>-</mo> <msub> <mi>t</mi> <mn>0</mn> </msub> <mo>)</mo> </mrow> <mover> <mi>f</mi> <mo>&amp;OverBar;</mo> </mover> <mo>&amp;lsqb;</mo> <mi>&amp;upsi;</mi> <mo>,</mo> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>|</mo> <mover> <mi>u</mi> <mo>^</mo> </mover> <mo>)</mo> </mrow> <mo>,</mo> <mover> <mi>u</mi> <mo>^</mo> </mover> <mo>&amp;rsqb;</mo> <mi>d</mi> <mi>&amp;upsi;</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>11</mn> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>S</mi> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>|</mo> <mover> <mi>u</mi> <mo>^</mo> </mover> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mo>&amp;part;</mo> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>|</mo> <mover> <mi>u</mi> <mo>^</mo> </mover> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&amp;part;</mo> <mover> <mi>u</mi> <mo>^</mo> </mover> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>12</mn> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced>
利用四阶Runge-Kutta算法求解联立微分方程组(9)、(10),可以得到数学模型(4)的目标函数值以及目标函数对控制参数向量的一阶梯度信息:
<mrow> <mfrac> <mrow> <mo>&amp;part;</mo> <mi>J</mi> </mrow> <mrow> <mo>&amp;part;</mo> <mover> <mi>u</mi> <mo>^</mo> </mover> </mrow> </mfrac> <mo>=</mo> <mfrac> <mrow> <mo>&amp;part;</mo> <mover> <mi>&amp;Phi;</mi> <mo>&amp;OverBar;</mo> </mover> <mo>&amp;lsqb;</mo> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>|</mo> <mover> <mi>u</mi> <mo>^</mo> </mover> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> </mrow> <mrow> <mo>&amp;part;</mo> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>|</mo> <mover> <mi>u</mi> <mo>^</mo> </mover> <mo>)</mo> </mrow> </mrow> </mfrac> <mi>S</mi> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>|</mo> <mover> <mi>u</mi> <mo>^</mo> </mover> <mo>)</mo> </mrow> <msub> <mo>|</mo> <mrow> <mi>&amp;upsi;</mi> <mo>=</mo> <mn>1</mn> </mrow> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>13</mn> <mo>)</mo> </mrow> </mrow>
同样,可以得到数学模型(4)中的约束函数值以及约束函数对控制参数向量的一阶梯度信息:
<mrow> <mfrac> <mrow> <mo>&amp;part;</mo> <mi>G</mi> </mrow> <mrow> <mo>&amp;part;</mo> <mover> <mi>u</mi> <mo>^</mo> </mover> </mrow> </mfrac> <mo>=</mo> <mfrac> <mrow> <mo>&amp;part;</mo> <mi>G</mi> <mo>&amp;lsqb;</mo> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>|</mo> <mover> <mi>u</mi> <mo>^</mo> </mover> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> </mrow> <mrow> <mo>&amp;part;</mo> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>|</mo> <mover> <mi>u</mi> <mo>^</mo> </mover> <mo>)</mo> </mrow> </mrow> </mfrac> <mi>S</mi> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>|</mo> <mover> <mi>u</mi> <mo>^</mo> </mover> <mo>)</mo> </mrow> <msub> <mo>|</mo> <mrow> <mi>&amp;upsi;</mi> <mo>=</mo> <mn>1</mn> </mrow> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>14</mn> <mo>)</mo> </mrow> </mrow>
自适应控制节点分配模块提供了一种自适应分配控制节点的策略,具体如下:
假设经过第l次迭代,得到的目标函数最优值为J*l,最优控制参数为 相应的控制网格为通过将Δl中的每个控制子区间进行二等分,得到控制网格及初始控制参数
对于中当前取值为的各个参数为了评估其对目标函数J下降量的影响,定义相对于J的灵敏度为:
其中,表示不超过(j+1)/2的最大整数。
假设在控制区间内,分别为第l-1次和第l次所获得的最优控制参数值。如果以下条件满足:
<mrow> <mo>|</mo> <mrow> <msubsup> <mover> <mi>u</mi> <mo>^</mo> </mover> <mi>T</mi> <mrow> <mo>*</mo> <mi>l</mi> </mrow> </msubsup> <mo>-</mo> <msubsup> <mover> <mi>u</mi> <mo>^</mo> </mover> <mi>T</mi> <mrow> <mo>*</mo> <mi>l</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> </mrow> <mo>|</mo> <mo>&lt;</mo> <msub> <mi>&amp;epsiv;</mi> <mrow> <mi>u</mi> <mi>v</mi> </mrow> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>16</mn> <mo>)</mo> </mrow> </mrow>
其中,εuv>0为给定阈值,则令
s2k-1=0且s2k=0 (17)
对于Δl'中的控制节点如果在下一次迭代中将其保留,需满足:
其中,rsu>0为给定系数,为平均灵敏度,其定义如下:
<mrow> <mover> <mi>s</mi> <mo>&amp;OverBar;</mo> </mover> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mn>2</mn> <mi>p</mi> </mrow> </mfrac> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mn>2</mn> <mi>p</mi> </mrow> </munderover> <msub> <mi>s</mi> <mi>j</mi> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>19</mn> <mo>)</mo> </mrow> </mrow>
如果式(18)不满足,则将该控制节点消除。
当控制节点都被消除时,如果以下条件满足
其中,给定系数rsl∈(0,rsu]、εuh>0,则控制节点也应该被消除。
经过以上控制网格二等分以及控制节点消除等步骤,控制网格Δl'可作为下一次迭代的控制网格Δl+1
时间尺度转换模块是将当前数学模型(4)转换到一个新的时间尺度上,以便于对自适应控制节点分配模块得到的控制网格进行优化,具体如下:
对于一个新插入的控制节点如果满足
其中,给定系数rss≥rsu,则该控制节点被认为是重要控制节点。这样,控制子区间被认为是重要控制子区间,其长度可当作变量进行优化,以找到控制节点的最优位置。
假设经过自适应控制节点分配模块调整后,整个控制时域存在P个控制子区间[υk-1k)(k=1,2,...,P),每个控制子区间的长度用θk表示,且其初始值为
<mrow> <msubsup> <mi>&amp;theta;</mi> <mi>k</mi> <mn>0</mn> </msubsup> <mo>=</mo> <msub> <mi>&amp;upsi;</mi> <mi>k</mi> </msub> <mo>-</mo> <msub> <mi>&amp;upsi;</mi> <mrow> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>22</mn> <mo>)</mo> </mrow> </mrow>
对于其中的非重要控制子区间,其长度为定值,不必优化。对于其中的重要控制子区间,根据其连续情况,假设可分为R(R≥1)部分,第r(1≤r≤R)部分包含nr(nr≥2)个连续控制子区间,且其所有控制子区间的长度满足:
<mrow> <mtable> <mtr> <mtd> <mrow> <msub> <mi>&amp;theta;</mi> <msub> <mi>k</mi> <mi>r</mi> </msub> </msub> <mo>+</mo> <msub> <mi>&amp;theta;</mi> <mrow> <msub> <mi>k</mi> <mi>r</mi> </msub> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>+</mo> <mn>...</mn> <mo>+</mo> <msub> <mi>&amp;theta;</mi> <mrow> <msub> <mi>k</mi> <mi>r</mi> </msub> <mo>+</mo> <msub> <mi>n</mi> <mi>r</mi> </msub> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <msubsup> <mi>&amp;theta;</mi> <msub> <mi>k</mi> <mi>r</mi> </msub> <mn>0</mn> </msubsup> <mo>+</mo> <msubsup> <mi>&amp;theta;</mi> <mrow> <msub> <mi>k</mi> <mi>r</mi> </msub> <mo>+</mo> <mn>1</mn> </mrow> <mn>0</mn> </msubsup> <mo>+</mo> <mn>...</mn> <mo>+</mo> <msubsup> <mi>&amp;theta;</mi> <mrow> <msub> <mi>k</mi> <mi>r</mi> </msub> <mo>+</mo> <msub> <mi>n</mi> <mi>r</mi> </msub> <mo>-</mo> <mn>1</mn> </mrow> <mn>0</mn> </msubsup> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>&amp;theta;</mi> <msub> <mi>k</mi> <mi>r</mi> </msub> </msub> <mo>,</mo> <msub> <mi>&amp;theta;</mi> <mrow> <msub> <mi>k</mi> <mi>r</mi> </msub> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>&amp;theta;</mi> <mrow> <msub> <mi>k</mi> <mi>r</mi> </msub> <mo>+</mo> <msub> <mi>n</mi> <mi>r</mi> </msub> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>&amp;GreaterEqual;</mo> <mn>0</mn> </mrow> </mtd> </mtr> </mtable> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>23</mn> <mo>)</mo> </mrow> </mrow>
引入时间尺度转换函数如下:
其中,τ为新的时间变量,表示不超过τ的最大整数。这样,数学模型(4)在新的时间尺度上可被转换为:
其中,
<mrow> <mtable> <mtr> <mtd> <mrow> <mover> <mi>x</mi> <mo>~</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;tau;</mi> <mo>)</mo> </mrow> <mo>=</mo> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mo>&amp;lsqb;</mo> <mi>&amp;upsi;</mi> <mrow> <mo>(</mo> <mi>&amp;tau;</mi> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> <mo>=</mo> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mover> <mi>u</mi> <mo>~</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;tau;</mi> <mo>)</mo> </mrow> <mo>=</mo> <mover> <mi>u</mi> <mo>&amp;OverBar;</mo> </mover> <mo>&amp;lsqb;</mo> <mi>&amp;upsi;</mi> <mrow> <mo>(</mo> <mi>&amp;tau;</mi> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> <mo>=</mo> <mover> <mi>u</mi> <mo>&amp;OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mover> <mi>f</mi> <mo>~</mo> </mover> <mo>&amp;lsqb;</mo> <mi>&amp;tau;</mi> <mo>,</mo> <mover> <mi>x</mi> <mo>~</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;tau;</mi> <mo>)</mo> </mrow> <mo>,</mo> <mover> <mi>u</mi> <mo>~</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;tau;</mi> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> <mo>=</mo> <mover> <mi>f</mi> <mo>&amp;OverBar;</mo> </mover> <mo>{</mo> <mi>&amp;upsi;</mi> <mrow> <mo>(</mo> <mi>&amp;tau;</mi> <mo>)</mo> </mrow> <mo>,</mo> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mo>&amp;lsqb;</mo> <mi>&amp;upsi;</mi> <mrow> <mo>(</mo> <mi>&amp;tau;</mi> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> <mo>,</mo> <mover> <mi>u</mi> <mo>&amp;OverBar;</mo> </mover> <mo>&amp;lsqb;</mo> <mi>&amp;upsi;</mi> <mrow> <mo>(</mo> <mi>&amp;tau;</mi> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> <mo>}</mo> <mo>=</mo> <mover> <mi>f</mi> <mo>&amp;OverBar;</mo> </mover> <mo>&amp;lsqb;</mo> <mi>&amp;upsi;</mi> <mo>,</mo> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>)</mo> </mrow> <mo>,</mo> <mover> <mi>u</mi> <mo>&amp;OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>&amp;upsi;</mi> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> </mrow> </mtd> </mtr> </mtable> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>26</mn> <mo>)</mo> </mrow> </mrow>
所述MCU产生燃料消耗系统运行指令的过程如下:
步骤B1:信息采集模块获取月球探测器当前下降速度以及与月球表面之间的距离;
步骤B2:初始化模块运行,设置初始控制网格数目p、燃料消耗速率控制策略的初始猜测值设定常数值εuv>0、εuh>0、rsu>0、rsl∈(0,rsu]、rss≥rsu,设置最大迭代次数lmax≥1以及终止误差tolJ>0,并令迭代计数l=0;
步骤B3:结束时间处理模将结束时间不固定的月球探测器软着陆数学模型转换为控制时域为[0,1]的数学模型;
步骤B4:控制向量参数化模块采用分段常量策略来表示燃料消耗速率控制曲线,如果l=0,则将控制时域等分为p段而得到当前控制网格,并令所有控制参数值为否则,采用Δl作为当前控制网格,每个控制子区间内的参数值为对应控制时域内的值;
步骤B5:NLP问题求解模块中的SQP求解模块运行,并且通过联立微分方程组求解模块获取目标函数值、目标函数对控制参数向量的一阶梯度信息、约束函数值、约束函数对控制参数向量的一阶梯度信息,最终得到当前控制网格下的目标函数最优值J*l以及相应的最优控制参数
步骤B6:终止条件判断模块运行,对于l>0,如果l=lmax
<mrow> <mo>|</mo> <mfrac> <mrow> <msup> <mi>J</mi> <mrow> <mo>*</mo> <mi>l</mi> </mrow> </msup> <mo>-</mo> <msup> <mi>J</mi> <mrow> <mo>*</mo> <mi>l</mi> <mo>-</mo> <mn>1</mn> </mrow> </msup> </mrow> <msup> <mi>J</mi> <mrow> <mo>*</mo> <mi>l</mi> </mrow> </msup> </mfrac> <mo>|</mo> <mo>&amp;le;</mo> <msub> <mi>tol</mi> <mi>J</mi> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>27</mn> <mo>)</mo> </mrow> </mrow>
则执行步骤B10,否则,执行步骤B7;
步骤B7:自适应控制节点分配模块运行,获得新的控制网格Δl+1
步骤B8:令迭代计数l=l+1,如果l=lmax,则执行步骤B9,否则,转到步骤B4;
步骤B9:时间尺度转换模块将数学模型转换到新时间尺度上,转到步骤B4;
步骤B10:控制指令输出模块将当前控制时域按转换到实际控制时域,并将获得的最优燃料消耗速率控制策略输出。
CN201711117056.5A 2017-11-13 2017-11-13 一种基于自适应优化控制节点的月球探测器软着陆最优控制系统 Expired - Fee Related CN107942661B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711117056.5A CN107942661B (zh) 2017-11-13 2017-11-13 一种基于自适应优化控制节点的月球探测器软着陆最优控制系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711117056.5A CN107942661B (zh) 2017-11-13 2017-11-13 一种基于自适应优化控制节点的月球探测器软着陆最优控制系统

Publications (2)

Publication Number Publication Date
CN107942661A true CN107942661A (zh) 2018-04-20
CN107942661B CN107942661B (zh) 2020-02-28

Family

ID=61934929

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711117056.5A Expired - Fee Related CN107942661B (zh) 2017-11-13 2017-11-13 一种基于自适应优化控制节点的月球探测器软着陆最优控制系统

Country Status (1)

Country Link
CN (1) CN107942661B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111308893A (zh) * 2020-03-05 2020-06-19 江南大学 生物反应器流加调控的非均匀网格优化方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5094409A (en) * 1990-05-09 1992-03-10 The Bionetics Corporation Method of providing a lunar habitat from an external tank
CN101464664A (zh) * 2009-01-09 2009-06-24 浙江工业大学 基于单种群和预交叉的差分进化算法的间歇反应器最优控制方法
CN101872444A (zh) * 2010-05-21 2010-10-27 杭州电子科技大学 一种结合中期修正策略的间歇过程批到批优化方法
CN101887239A (zh) * 2010-06-30 2010-11-17 浙江大学 一种自适应的工业过程最优控制系统及方法
CN103309371A (zh) * 2013-06-08 2013-09-18 浙江大学 一种基于控制变量参数化方法的间歇反应釜控制系统
CN103309234A (zh) * 2013-06-08 2013-09-18 浙江大学 一种基于正交配置优化的间歇反应釜控制系统
CN103557511A (zh) * 2013-11-18 2014-02-05 华北电力大学(保定) 一种电站锅炉主蒸汽温度全程控制方法
CN103853127A (zh) * 2012-12-06 2014-06-11 天津市电力公司 一种寻求在dcs中最优控制变量值的方法
CN103926835A (zh) * 2014-04-04 2014-07-16 北京航空航天大学 一种基于干扰观测器的着陆器动力下降段优化控制方法
CN105253328A (zh) * 2015-09-02 2016-01-20 北京控制工程研究所 一种动力下降过程位置速度全可控的近似最优显式制导方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5094409A (en) * 1990-05-09 1992-03-10 The Bionetics Corporation Method of providing a lunar habitat from an external tank
CN101464664A (zh) * 2009-01-09 2009-06-24 浙江工业大学 基于单种群和预交叉的差分进化算法的间歇反应器最优控制方法
CN101872444A (zh) * 2010-05-21 2010-10-27 杭州电子科技大学 一种结合中期修正策略的间歇过程批到批优化方法
CN101887239A (zh) * 2010-06-30 2010-11-17 浙江大学 一种自适应的工业过程最优控制系统及方法
CN103853127A (zh) * 2012-12-06 2014-06-11 天津市电力公司 一种寻求在dcs中最优控制变量值的方法
CN103309371A (zh) * 2013-06-08 2013-09-18 浙江大学 一种基于控制变量参数化方法的间歇反应釜控制系统
CN103309234A (zh) * 2013-06-08 2013-09-18 浙江大学 一种基于正交配置优化的间歇反应釜控制系统
CN103557511A (zh) * 2013-11-18 2014-02-05 华北电力大学(保定) 一种电站锅炉主蒸汽温度全程控制方法
CN103926835A (zh) * 2014-04-04 2014-07-16 北京航空航天大学 一种基于干扰观测器的着陆器动力下降段优化控制方法
CN105253328A (zh) * 2015-09-02 2016-01-20 北京控制工程研究所 一种动力下降过程位置速度全可控的近似最优显式制导方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
朱建丰等: "基于自适应模拟退火遗传算法的月球软着陆轨道优化", 《航空学报》 *
王立伟: "自适应控制向量参数化动态优化研究", 《中国优秀硕士学位论文全文数据库 基础科学辑》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111308893A (zh) * 2020-03-05 2020-06-19 江南大学 生物反应器流加调控的非均匀网格优化方法

Also Published As

Publication number Publication date
CN107942661B (zh) 2020-02-28

Similar Documents

Publication Publication Date Title
CN104443427B (zh) 飞行器颤振预测系统及方法
CN107656439A (zh) 一种基于自适应控制网格的月球探测器软着陆最优控制系统
CN113489015B (zh) 一种基于强化学习的配电网多时间尺度无功电压控制方法
CN107765554A (zh) 一种基于自适应控制节点的月球探测器软着陆最优控制系统
CN108284442A (zh) 一种基于模糊神经网络的机械臂柔性关节控制方法
CN105487376B (zh) 一种基于数据驱动单网络结构的最优控制方法
CN104048676B (zh) 基于改进粒子滤波的mems陀螺随机误差补偿方法
CN107885082B (zh) 一种基于正交配置优化的月球着陆器轨迹控制器
CN108563843A (zh) 定常可压缩流动的扰动区域更新方法
CN103399488B (zh) 基于自学习的多模型控制方法
CN201476905U (zh) 神经网络pid控温的热电偶自动检定系统
CN113916329A (zh) 基于神经网络的天然气流量计检定装置及检定方法
CN107942661A (zh) 一种基于自适应优化控制节点的月球探测器软着陆最优控制系统
CN111443599A (zh) 优化pid参数的核电站汽轮机转速控制方法
CN107807528A (zh) 一种基于自适应优化控制节点的活塞流管式反应器最优控制系统
CN111650833B (zh) 基于偏微分方程模型学习的磁流体系统的控制方法
CN103411628A (zh) 一种mems陀螺仪随机漂移误差的处理方法
CN107703759A (zh) 一种基于自适应优化控制网格的月球探测器软着陆最优控制系统
CN107404271A (zh) 一种异步电机参数在线识别系统及方法
CN107844056A (zh) 一种基于自适应优化控制网格的活塞流管式反应器最优控制系统
CN107918277A (zh) 一种基于自适应控制网格的活塞流管式反应器最优控制系统
Li et al. A new result on semi-synchronous event-triggered backstepping robust control for a class of non-Lipschitzian networked systems
CN115130771A (zh) 一种基于长短期记忆网络lstm的液力缓速器的转矩预测方法
CN105337547A (zh) 异步电机无速度传感器矢量控制系统的转速辨识方法
CN111255557B (zh) 一种汽车发动机冷却检测系统及其控制方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200228

Termination date: 20211113

CF01 Termination of patent right due to non-payment of annual fee