本发明涉及月球软着陆控制领域,主要是一种基于自适应优化控制网格的月球探测器软着陆最优控制系统。在月球探测器将要着陆时,该系统能够计算出最优的软着陆策略,以保证探测器安全着陆并且最大程度地减少燃料的消耗。
背景技术:
二十世纪五十年代末至今,美国、前苏联/俄罗斯、日本、欧洲航天局、中国和印度先后进行了月球探测,九十年代以来兴起了新一轮的热潮。其中,月球探测器软着陆是一种非常重要的技术手段。软着陆就是在落地之前通过一定的手段减小垂直速度,使之以一个可以接受的速度落地,以保护飞行器和航天员。由于月球上没有空气,类似于真空,用降落伞是不可能的,而气垫不好控制力度,目前的技术是靠月球探测器自身的反作用力实现软着陆。现今,国内外众多专家学者都对此展开了深入研究。
技术实现要素:
为了使月球探测器安全着陆并且最大程度地减少燃料的消耗,本发明提供了一种基于自适应优化控制网格的月球探测器软着陆最优控制系统,该系统借助mcu作为最优控制方法的实现载体。
本发明的目的是通过以下技术方案来实现的:一种基于自适应优化控制网格的月球探测器软着陆最优控制系统,能够计算出最优的软着陆策略,以保证探测器安全着陆并且最大程度地减少燃料的消耗。其特征在于:由速度传感器、距离探测器、mcu、燃料消耗系统、软着陆状态显示构成。所述系统的运行过程包括:
步骤a4:月球探测器准备软着陆时开启速度传感器以及距离探测器,用于实时测量当前该探测器的下降速度以及与月球表面之间的距离,并将测量数据传送给mcu;
步骤a5:mcu执行内部的自适应优化控制网格最优控制方法,计算出使月球探测器安全着陆并且最少消耗燃料的燃料消耗速率控制策略;
步骤a6:mcu将得到的燃料消耗速率控制策略转换为燃料消耗系统运行指令,传送给燃料消耗系统,并实时显示当前软着陆状态。
所述的mcu,包括信息采集模块、初始化模块、结束时间处理模块、控制向量参数化模块、非线性规划(nonlinearprogramming,nlp)问题求解模块、终止条件判断模块、自适应控制网格划分模块、时间尺度转换模块、控制指令输出模块。
月球探测器的软着陆过程可以描述为:
其中t表示时间,t0表示软着陆过程开始时间,tf表示软着陆过程结束时间,且tf不固定;
假设以φ[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)
这样,
其中,
从而,燃料消耗速率控制参数可由向量
nlp问题求解模块包括序列二次规划(sequentialquadraticprogramming,sqp)求解、联立微分方程组求解两个子模块。联立微分方程组包括方程组(9)
和方程组(10)
其中,
利用四阶runge-kutta算法求解联立微分方程组(9)、(10),可以得到数学模型(4)的目标函数值
同样,可以得到数学模型(4)中的约束函数值g[x(1)]以及约束函数对控制参数向量的一阶梯度信息:
自适应控制网格划分模块提供了一种自适应划分控制网格的策略,具体如下:
首先利用快速小波变换(fastwavelettransformation,fwt)将控制向量参数化模块处理过的
其中,
假设经过第l次迭代获得最优解
|d*l|<εe(16)
其中,εe>0为给定阈值,则该小波系数可被忽略。所被消除的小波函数
定义小波函数ψj,k-1、ψj,k+1为小波函数ψj,k的水平相邻函数,ψj+1,2k、ψj+1,2k+1为其垂直相邻函数。如果某一小波函数至少有一个相邻函数的小波系数为零,则其被称为边界小波函数。所有边界小波系数由
选择最少数目的边界小波函数
其中,εi∈(0,1]表示给定的选择百分比。这样,小波函数
最终得到下一次迭代的小波索引集合为:
即将当前小波索引集合与下一次迭代潜在的集合合并,同时除去所消除的小波索引。这样,与集合λl+1相对应的时间网格就是所得到的更合适的控制网格δl+1,将在下一次迭代中被应用。
时间尺度转换模块是将当前数学模型(4)转换到一个新的时间尺度上,以便于对自适应控制网格划分模块得到的控制网格进行优化,具体如下:
选择边界小波
其中,εs∈(0,1]为给定的选择比例。这样,小波函数
假设经过自适应控制网格划分模块调整后,整个控制时域存在p个控制子区间[υk-1,υk)(k=1,2,...,p),每个控制子区间的长度用θk表示,且其初始值为
对于其中的非重要控制子区间,其长度为定值,不必优化。对于其中的重要控制子区间,根据其连续情况,假设可分为r(r≥1)部分,第r(1≤r≤r)部分包含nr(nr≥2)个连续控制子区间,且其所有控制子区间的长度满足:
引入时间尺度转换函数如下:
其中,τ为新的时间变量,
其中,
所述mcu产生燃料消耗系统运行指令的过程如下:
步骤d1:信息采集模块获取月球探测器当前下降速度以及与月球表面之间的距离;
步骤d2:初始化模块运行,设置初始控制网格数目p、燃料消耗速率控制策略的初始猜测值
步骤d3:结束时间处理模块将数学模型(2)转换为数学模型(4);
步骤d4:控制向量参数化模块采用分段常量策略来表示燃料消耗速率控制曲线,如果l=0,则将控制时域等分为p段而得到当前控制网格,并令所有控制参数值为
步骤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)转换为新时间尺度上的数学模型(23),转到步骤d4;
步骤d10:控制指令输出模块将当前控制时域按(22)、(3)转换到实际控制时域,并将获得的最优燃料消耗速率控制策略输出。
本发明的有益效果主要表现在:基于小波分析的自适应优化控制网格的月球探测器软着陆最优控制系统,能够计算出探测器最优的软着陆策略,可以适应问题的最优控制曲线,特别是找到问题的不连续点,能够获得较高的精度;采用自适应策略之后,下一次最优控制曲线的初始估计值是当前迭代的最优曲线,由此可以获得较快的收敛速度,减少探测器最优的软着陆策略的计算时间。本发明在保证月球探测器安全软着陆的情况下,并且能够最大程度地减少燃料的消耗。
附图说明
图1是本发明的功能示意图;
图2是本发明的结构示意图;
图3是本发明mcu内部模块结构图;
图4是对实施实例1获得的燃料消耗速率控制策略图;
图5是图4中燃料消耗速率控制策略所对应的各状态变量变化图。
具体实施方式
如图1所示,月球探测器的软着陆过程可以描述为:
其中t表示时间,t0表示软着陆过程开始时间,tf表示软着陆过程结束时间,且tf不固定;
假设以φ[x(tf)]表示燃料的总消耗量,则使燃料消耗最少的数学模型可表示为:
其中j[u(t)]表示控制目标,由燃料消耗速率u(t)决定。该问题本质上是一个最优控制问题。
本发明解决该问题所采用的技术方案是:在mcu中集成了自适应优化控制网格最优控制方法,并以此为基础构建了一套最优控制系统。所述控制系统的结构如图2所示,包括速度传感器、距离探测器、mcu、燃料消耗系统、软着陆状态显示。所述系统的各组成部分均由月球探测器内数据总线统一连接。
所述系统的运行过程如下:
步骤c4:月球探测器准备软着陆时开启速度传感器以及距离探测器,用于实时测量当前该探测器的下降速度以及与月球表面之间的距离,并将测量数据传送给mcu;
步骤c5:mcu执行内部的自适应优化控制网格最优控制方法,计算出使月球探测器安全着陆并且最少消耗燃料的燃料消耗速率控制策略;
步骤c6:mcu将得到的燃料消耗速率控制策略转换为燃料消耗系统运行指令,传送给燃料消耗系统,并实时显示当前软着陆状态。
集成了自适应优化控制网格最优控制方法的mcu是本发明的核心,如图3所示,其内部包括信息采集模块、初始化模块、结束时间处理模块、控制向量参数化模块、非线性规划(nonlinearprogramming,nlp)问题求解模块、终止条件判断模块、自适应控制网格划分模块、时间尺度转换模块、控制指令输出模块。
信息采集模块包括当前下降速度采集、与月球表面之间的距离采集两个子模块。
结束时间处理模块引入新的时间变量υ,使得
t=(tf-t0)υ+t0(28)
从而将结束时间tf不固定的数学模型(2)转换为控制时域为[0,1]的数学模型,如下所示:
其中,
控制向量参数化模块采用分段常量策略来实现燃料消耗速率控制,具体如下:
假设整个控制时域[0,1]被划分为p(p>0)个控制子区间[υk-1,υk)(k=1,2,...,p),并且
0<υ1<…<υp-1<υp=1(31)
这样,
其中,
从而,燃料消耗速率控制参数可由向量
nlp问题求解模块包括序列二次规划(sequentialquadraticprogramming,sqp)求解、联立微分方程组求解两个子模块。联立微分方程组包括方程组(9)
和方程组(10)
其中,
利用四阶runge-kutta算法求解联立微分方程组(9)、(10),可以得到数学模型(4)的目标函数值
同样,可以得到数学模型(4)中的约束函数值
自适应控制网格划分模块提供了一种自适应划分控制网格的策略,具体如下:
首先利用快速小波变换(fastwavelettransformation,fwt)将控制向量参数化模块处理过的
其中,
假设经过第l次迭代获得最优解
|d*l|<εe(41)
其中,εe>0为给定阈值,则该小波系数可被忽略。所被消除的小波函数
定义小波函数ψj,k-1、ψj,k+1为小波函数ψj,k的水平相邻函数,ψj+1,2k、ψj+1,2k+1为其垂直相邻函数。如果某一小波函数至少有一个相邻函数的小波系数为零,则其被称为边界小波函数。所有边界小波系数由
选择最少数目的边界小波函数
其中,εi∈(0,1]表示给定的选择百分比。这样,小波函数
最终得到下一次迭代的小波索引集合为:
即将当前小波索引集合与下一次迭代潜在的集合合并,同时除去所消除的小波索引。这样,与集合λl+1相对应的时间网格就是所得到的更合适的控制网格δl+1,将在下一次迭代中被应用。
时间尺度转换模块是将当前数学模型(4)转换到一个新的时间尺度上,以便于对自适应控制网格划分模块得到的控制网格进行优化,具体如下:
选择边界小波
其中,εs∈(0,1]为给定的选择比例。这样,小波函数
假设经过自适应控制网格划分模块调整后,整个控制时域存在p个控制子区间[υk-1,υk)(k=1,2,...,p),每个控制子区间的长度用θk表示,且其初始值为
对于其中的非重要控制子区间,其长度为定值,不必优化。对于其中的重要控制子区间,根据其连续情况,假设可分为r(r≥1)部分,第r(1≤r≤r)部分包含nr(nr≥2)个连续控制子区间,且其所有控制子区间的长度满足:
引入时间尺度转换函数如下:
其中,τ为新的时间变量,
其中,
所述mcu产生燃料消耗系统运行指令的过程如下:
步骤d11:信息采集模块获取月球探测器当前下降速度以及与月球表面之间的距离;
步骤d12:初始化模块运行,设置初始控制网格数目p、燃料消耗速率控制策略的初始猜测值
步骤d13:结束时间处理模块将数学模型(2)转换为数学模型(4);
步骤d14:控制向量参数化模块采用分段常量策略来表示燃料消耗速率控制曲线,如果l=0,则将控制时域等分为p段而得到当前控制网格,并令所有控制参数值为
步骤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)转换为新时间尺度上的数学模型(23),转到步骤d14;
步骤d20:控制指令输出模块将当前控制时域按(22)、(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、燃料消耗速率控制策略的初始猜测值
步骤e2:结束时间处理模块3运行,将数学模型(51)转换为数学模型(4)的形式;
步骤e3:控制向量参数化模块4采用分段常量策略来表示燃料消耗速率控制曲线,如果l=0,则将控制时域等分为p段而得到当前控制网格,并令所有控制参数值为
步骤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)转换为新时间尺度上的数学模型(23),转到步骤e3;
步骤e9:控制指令输出模块9将当前控制时域按(22)、(3)转换到实际控制时域,并将获得的最优燃料消耗速率控制策略输出。
自适应优化控制网格最优控制方法得到的最优燃料消耗速率控制曲线如图4所示,完全满足控制要求。图5显示了月球探测器与月球表面之间距离、下降速度的变化曲线,可以看到,在软着陆结束时其值均为0。
最后,mcu将得到的燃料消耗速率控制策略转换为燃料消耗系统运行指令,传送给燃料消耗系统,并实时显示当前软着陆状态。
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。