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

文档序号:14248491阅读:224来源:国知局
一种基于自适应优化控制节点的月球探测器软着陆最优控制系统的制作方法

本发明涉及月球软着陆控制领域,主要是一种基于自适应优化控制节点的月球探测器软着陆最优控制系统。在月球探测器将要着陆时,该系统能够计算出最优的软着陆策略,以保证探测器安全着陆并且最大程度地减少燃料的消耗。



背景技术:

二十世纪五十年代末至今,美国、前苏联/俄罗斯、日本、欧洲航天局、中国和印度先后进行了月球探测,九十年代以来兴起了新一轮的热潮。其中,月球探测器软着陆是一种非常重要的技术手段。软着陆就是在落地之前通过一定的手段减小垂直速度,使之以一个可以接受的速度落地,以保护飞行器和航天员。由于月球上没有空气,类似于真空,用降落伞是不可能的,而气垫不好控制力度,目前的技术是靠月球探测器自身的反作用力实现软着陆。现今,国内外众多专家学者都对此展开了深入研究。



技术实现要素:

为了使月球探测器安全着陆并且最大程度地减少燃料的消耗,本发明提供了一种基于自适应优化控制节点的月球探测器软着陆最优控制系统,该系统借助mcu作为最优控制方法的实现载体。

本发明的目的是通过以下技术方案来实现的:一种基于自适应优化控制节点的月球探测器软着陆最优控制系统,能够计算出最优的软着陆策略,以保证探测器安全着陆并且最大程度地减少燃料的消耗。由速度传感器、距离探测器、mcu、燃料消耗系统、软着陆状态显示构成。所述系统的运行过程包括:

步骤a4:月球探测器准备软着陆时开启速度传感器以及距离探测器,用于实时测量当前该探测器的下降速度以及与月球表面之间的距离,并将测量数据传送给mcu;

步骤a5:mcu执行内部的自适应控制节点最优控制方法,计算出使月球探测器安全着陆并且最少消耗燃料的燃料消耗速率控制策略;

步骤a6:mcu将得到的燃料消耗速率控制策略转换为燃料消耗系统运行指令,传送给燃料消耗系统,并实时显示当前软着陆状态。

所述的mcu,包括信息采集模块、初始化模块、结束时间处理模块、控制向量参数化模块、非线性规划(nonlinearprogramming,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是本发明的核心,其内部包括信息采集模块、初始化模块、结束时间处理模块、控制向量参数化模块、非线性规划(nonlinearprogramming,nlp)问题求解模块、终止条件判断模块、自适应控制节点分配模块、时间尺度转换模块、控制指令输出模块。

信息采集模块包括当前下降速度采集、与月球表面之间的距离采集两个子模块。

结束时间处理模块引入新的时间变量υ,使得

t=(tf-t0)υ+t0(3)

从而将结束时间tf不固定的数学模型(2)转换为控制时域为[0,1]的数学模型,如下所示:

其中,

控制向量参数化模块采用分段常量策略来实现燃料消耗速率控制,具体如下:

假设整个控制时域[0,1]被划分为p(p>0)个控制子区间[υk-1,υk)(k=1,2,…,p),并且

0<υ1<…<υp-1<υp=1(6)

这样,可表示为:

其中,为常数,表示在控制子区间[υk-1,υk)内的参数值,χk(υ)为单位开关函数,其定义如下:

从而,燃料消耗速率控制参数可由向量表示。

nlp问题求解模块包括序列二次规划(sequentialquadraticprogramming,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-1,υk)(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所示,其内部包括信息采集模块、初始化模块、结束时间处理模块、控制向量参数化模块、非线性规划(nonlinearprogramming,nlp)问题求解模块、终止条件判断模块、自适应控制节点分配模块、时间尺度转换模块、控制指令输出模块。

信息采集模块包括当前下降速度采集、与月球表面之间的距离采集两个子模块。

结束时间处理模块引入新的时间变量υ,使得

t=(tf-t0)υ+t0(30)

从而将结束时间tf不固定的数学模型(2)转换为控制时域为[0,1]的数学模型,如下所示:

其中,

控制向量参数化模块采用分段常量策略来实现燃料消耗速率控制,具体如下:

假设整个控制时域[0,1]被划分为p(p>0)个控制子区间[υk-1,υk)(k=1,2,…,p),并且

0<υ1<…<υp-1<υp=1(33)

这样,可表示为:

其中,为常数,表示在控制子区间[υk-1,υk)内的参数值,χk(υ)为单位开关函数,其定义如下:

从而,燃料消耗速率控制参数可由向量表示。

nlp问题求解模块包括序列二次规划(sequentialquadraticprogramming,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-1,υk)(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将得到的燃料消耗速率控制策略转换为燃料消耗系统运行指令,传送给燃料消耗系统,并实时显示当前软着陆状态。

上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1