一种基于动态优化的月球着陆器反推进最优控制器的制作方法

文档序号:14235401阅读:242来源:国知局
一种基于动态优化的月球着陆器反推进最优控制器的制作方法

本发明涉及月球着陆器反推进控制领域,主要是一种基于动态优化的月球着陆器反推进发动机控制器。在月球着陆器到达指定着陆空域后能够给出月球着陆器反推进发动机控制指令,使月球着陆器安全软着陆的同时月球着陆器反推进发动机消耗的燃料也最少,以保证月球勘探任务下一步的顺利执行。



背景技术:

美国、欧空局、俄罗斯、日本、印度等国家和地区先后宣布了新的月球探测计划,掀起了继“阿波罗”计划后新一轮探月热潮,与初期的月球探测相比,技术要求也就更高。

我国于2004年启动了“探月工程”,根据开展月球探测工程的基本原则,月球探测工程将分为“绕”、“落”、“回”三个阶段实施。在目前实施的阶段中,月球着陆器的软着陆是一项关键技术,也是进行月球勘探的重要前提。然而,由于月球表面没有大气,月球着陆器的减速必须完全由反推进发动机实现,这一过程需要消耗大量燃料,研究表明在动力下降过程中月球着陆器将消耗探月球测器总燃料的80%左右,为了使探测器安全到达月球表面,就需要对下降过程中的制导与控制技术有一定的要求。

因此,在考虑燃耗最少和安全着陆的情况下,如何设计一种先进的控制方案在保证月球着陆器安全软着陆的同时使着陆器反推进发动机消耗的燃料也最少非常关键。



技术实现要素:

为了得到使月球着陆器安全软着陆的同时着陆器反推进发动机消耗的燃料也最少的月球着陆器控制方案,本发明提供一种基于动态优化的月球着陆器反推进发动机控制器。

本发明的目的是通过以下技术方案来实现的:一种基于动态优化的月球着陆器反推进最优控制器,根据月球着陆器的不同高度和速度状态快速获取最优反推进发动机控制策略,保证月球着陆器的安全着陆同时反推进发动机燃料消耗也最少。由月球着陆器高度测量传感器、月球着陆器速度测量传感器、球着陆器微控制单元(mcu)与反推进发动机控制器构成,各组成部分均由月球着陆器内数据总线连接。所述最优控制器的运行过程包括:

步骤1):在月球着陆器mcu中输入对应于该月球着陆器的反推进发动机参数;

步骤2):到达指定着陆空域后,月球着陆器高度测量传感器、速度测量传感器测和mcu开启,测量当前月球着陆器的着陆高度和下降速度;

步骤3):月球着陆器mcu根据设定高度和速度参数自动执行内部动态优化算法,得到既能使月球着陆器安全软着陆同时又能使着陆器反推进发动机消耗的燃料最少的最优控制策略;

步骤4):月球着陆器mcu将获得的最优控制策略转换为控制指令发送给反推进发动机控制器。

所述的月球着陆器mcu部分,包括信息采集模块、初始化模块、常微分方程组(ordinarydifferentialequations,简称ode)求解模块、梯度求解模块、非线性规划(non-linearprogramming,简称nlp)问题求解模块、控制指令输出模块。其中,信息采集模块包括测量当前月球着陆器着陆高度采集、月球着陆器下降速度采集、月球着陆器到达高度设定采集、月球着陆器到达速度采集、月球着陆器反推进发动机性能参数采集五个子模块;nlp求解模块包括寻优方向计算、寻优步长计算、寻优修正、nlp收敛性判断四个子模块。

上述的月球着陆器反推进着陆过程最优控制问题可以描述为

其中t表示时间,u(t)表示反推进发动机的燃料消耗速率,x(t)表示月球着陆器着陆过程的状态信息,f(x(t),u(t),t)是根据月球着陆器动力学方程建立的微分方程组,表示x(t)的一阶导数,umin表示月球着陆器反推进发动机燃料消耗速率的下限,umax表示月球着陆器反推进发动机燃料消耗速率的最大上限,t0表示月球着陆器反推进发动机开始点火的时间点,x1(t0)为t0时刻月球着陆器的高度,h0表示高度的数值,x2(t0)为t0时刻月球着陆器的速度,v0表示速度的数值,tf表示月球着陆器完成着陆要求的时间点,x1(tf)为tf时刻月球着陆器需要达到的高度,hf表示到达高度的数值,x2(tf)为tf时刻月球着陆器需要达到的速度,vf表示到达速度的数值,j(u(t))表示燃料量消耗最少的目标函数。

本发明解决其技术问题所采用的技术方案是:在球着陆器微控制单元(mcu)中集成动态优化算法,在月球着陆器到达指定着陆空域后自动给出月球着陆器反推进发动机控制指令,使月球着陆器安全软着陆的同时着陆器反推进发动机消耗的燃料也最少。

月球和地面基站之间存在通讯延迟,因此所述的mcu是一种月球着陆器反推进发动机自动控制信号控制器,包括反推进发动机参数输入模块11,月球着陆器mcu模块12,月球着陆器高度测量传感器13、月球着陆器速度测量传感器14,月球着陆器着陆高度、速度设定模块15,反推进发动机控制器16。所述系统内的各组成部分均由月球着陆器内数据总线连接。

所述最优控制器的运行过程如下:

步骤1):将所述控制器安装在某型月球探测器上,并在月球着陆器mcu12中输入对应于探测器的月球着陆器反推进发动机参数11;

步骤2):月球探测器到达月球指定着陆空域后,月球着陆器高度测量传感器13、速度测量传感器测14和月球着陆器mcu12开启,获取当前时刻月球着陆器的初始高度和初始速度信息;

步骤3):月球着陆器mcu12根据预先设定的月球着陆器着陆高度、速度设定模块15获取控制目标信息,mcu模块12执行内部动态优化算法,得到使月球着陆器安全软着陆的同时着陆器反推进发动机消耗的燃料也最少的反推进发动机控制策略;

步骤4):月球着陆器mcu12得到反推进发动机控制策略后转换为控制指令输出给反推进发动机控制器16。

集成了动态优化算法的月球着陆器mcu是本发明的核心,包括信息采集模块21、初始化模块22、常微分方程组(ordinarydifferentialequations,简称ode)求解模块23、梯度求解模块24、非线性规划(non-linearprogramming,简称nlp)问题求解模块25、控制指令输出模块26。该mcu执行内部动态优化算法得到使月球着陆器安全软着陆的同时着陆器反推进发动机消耗的燃料也最少的反推进发动机控制策略的运行步骤如下:

步骤1):到达指定着陆空域后,月球着陆器高度测量传感器、速度测量传感器测和mcu开启,信息采集模块21获取月球着陆器的着陆高度和速度,同时采集设定的月球着陆器反推进发动机性能参数、月球着陆器到达高度和速度;

步骤2):初始化模块22开始运行,采用分段常量参数化,设置着陆过程的分段数ne、月球着陆器反推进发动机的参数化向量的初始猜测值u(k),设定计算精度tol,将迭代次数k置零;

步骤3):通过ode快速求解模块23获取本次迭代的状态信息x(k)(t)和目标函数值j(k)

步骤4):通过梯度求解模块24获取本次迭代目标函数梯度信息dj(k)和约束条件梯度信息g(k)。当k=0时跳过步骤5)直接执行步骤7);

步骤5):nlp问题求解模块25运行,通过nlp收敛性判断模块进行收敛性判断,如果本次迭代目标函数值j(k)与上一次迭代的目标函数值j(k-1)的绝对值之差小于精度tol,则判断收敛性满足,并将本次迭代的控制策略转换为月球着陆器反推进发动机的控制指令输出至控制策略输出模块26;如果收敛性不满足,则继续执行步骤6);

步骤6):用u(k),j(k),dj(k),g(k)的值覆盖上一次迭代u(k-1),j(k-1),dj(k-1),g(k-1)的值,并将迭代次数k加1;

步骤7):nlp问题求解模块25利用在步骤3)和4)中获得的目标函数值和梯度信息,求解寻优方向和寻优步长,并进行寻优修正,获得比u(k-1)更优的新的速度控制策略u(k)。该步骤执行完成后再次跳转至步骤3),直至nlp收敛性判断模块满足为止;得到的最优解作为控制策略输入控制策略输出模块26。

所述的ode快速求解模块,采用的是四级五阶龙格库塔方法,求解公式为:

其中,t表示时间,ti表示龙格库塔方法选择的积分时刻,h为积分步长,x(k)(ti)表示月球着陆器在第k次迭代中第ti时刻的状态信息,f(·)是描述状月球着陆器态微分方程的函数,k1、k2、k3、k4分别表示龙格库塔法积分过程中的4个节点的函数值。

所述的梯度求解模块,采用灵敏度轨迹方程法:

步骤1):定义第k次迭代的灵敏度轨迹方程γ(k)(t)为:

γ(k)(t)的求解公式为:

其中,t表示时间,表示第k次迭代中灵敏度轨迹方程对于时间t的导数,f(u(k),x(k)(t),t)是描述月球着陆器状态微分方程的函数,γ(k)(t0)表示灵敏度轨迹方程在第k次迭代时的初始时刻状态值,x0表示状态微分方程函数的初始时刻状态值。

步骤2):采用四级五阶龙格库塔方法求解灵敏度轨迹方程γ(k)(t)在各积分时刻的值,求解公式为:

其中,t表示时间,ti表示龙格库塔方法选择的控制过程中某一时间点,h为积分步长,x(k)(ti)表示月球着陆器在第k次迭代中第ti时刻的状态信息,s(·)是描述灵敏度方程的函数,q1、q2、q3、q4分别表示龙格库塔法积分过程中的4个节点的函数值。

步骤3):根据得到的月球着陆器状态信息x(k)(t)和灵敏度轨迹方程γ(k)(t),求解目标函数的梯度信息dj(k)

其中,l0(u(k),x(k)(t),t)表示目标函数的积分项。

步骤4):根据得到的月球着陆器状态信息x(k)(t)和灵敏度轨迹方程γ(k)(t),求解约束条件的梯度信息g(k)

其中,φj(u(k),x(k)(t),tf)表示第j个等式约束条件函数。

所述的nlp求解模块,采用如下步骤实现:

步骤1):如果j(k)与上一次迭代的目标函数值j(k-1)的绝对值之差小于精度tol,则判断收敛性满足,将得到的最优解作为控制策略输入控制策略输出模块26;如果收敛性不满足,则继续执行步骤2);

步骤2):用u(k),j(k),dj(k),g(k)的值覆盖上一次迭代u(k-1),j(k-1),dj(k-1),g(k-1)的值,并将迭代次数k增加1;

步骤3):将反推进发动机控制策略u(k-1)作为向量空间中的某个点,记作p1,p1对应的目标函数值就是j(k-1)

步骤4):从点p1出发,根据选用的nlp算法和点p1处的目标函数梯度信息dj(k-1)和约束条件梯度信息g(k-1),构造向量空间中的一个寻优方向d(k-1)和步长α(k-1)

步骤5):通过式u(k)=u(k-1)(k-1)d(k-1)构造向量空间中对应u(k)的另外一个点p2;

步骤6):采用寻优校正得到向量空间中对应u(k)的另外一个点p3,使得p3对应的目标函数值j(k)比j(k-1)更优,继续执行步骤1)。

本发明的有益效果主要表现在:对于微分方程组,由于采用了四级五阶龙格库塔方法求解灵敏度轨迹方程组,具有精度高、速度快的特点。推导了月球软着陆最优控制问题的灵敏度信息,从而得到解析的梯度信息,该信息可以加快问题收敛的速度,在求解nlp的迭代过程中所需要的迭代次数更少,因而更高效。本发明能保证着陆器控制反推进发动机安全到达设定着陆高度和速度的情况下,使月球着陆器反推进发动机燃料消耗量最少。

附图说明

图1是本发明的结构示意图;

图2是本发明中控mcu内部模块结构图;

图3是实施例1的月球着陆器反推进发动机控制信号图;

图4是是图3中月球着陆器反推进发动机控制策略对应的月球着陆器着陆高度、着陆速度和着陆时间变化图。

具体实施方式

上述的月球着陆器反推进着陆过程最优控制问题可以描述为

其中t表示时间,u(t)表示反推进发动机的燃料消耗速率,x(t)表示月球着陆器着陆过程的状态信息,f(x(t),u(t),t)是根据月球着陆器动力学方程建立的微分方程组,表示x(t)的一阶导数,umin表示月球着陆器反推进发动机燃料消耗速率的下限,umax表示月球着陆器反推进发动机燃料消耗速率的最大上限,t0表示月球着陆器反推进发动机开始点火的时间点,x1(t0)为t0时刻月球着陆器的高度,h0表示高度的数值,x2(t0)为t0时刻月球着陆器的速度,v0表示速度的数值,tf表示月球着陆器完成着陆要求的时间点,x1(tf)为tf时刻月球着陆器需要达到的高度,hf表示到达高度的数值,x2(tf)为tf时刻月球着陆器需要达到的速度,vf表示到达速度的数值,j(u(t))表示燃料量消耗最少的目标函数。

本发明解决其技术问题所采用的技术方案是:在球着陆器微控制单元(mcu)中集成动态优化算法,在月球着陆器到达指定着陆空域后自动给出月球着陆器反推进发动机控制指令,使月球着陆器安全软着陆的同时着陆器反推进发动机消耗的燃料也最少。

月球和地面基站之间存在通讯延迟,因此如图1所示,所述的mcu是一种月球着陆器反推进发动机自动控制信号控制器,包括反推进发动机参数输入模块11,月球着陆器mcu模块12,月球着陆器高度测量传感器13、月球着陆器速度测量传感器14,月球着陆器着陆高度、速度设定模块15,反推进发动机控制器16。所述系统内的各组成部分均由月球着陆器内数据总线连接。

所述最优控制器的运行过程如下:

步骤1):将所述控制器安装在某型月球探测器上,并在月球着陆器mcu12中输入对应于探测器的月球着陆器反推进发动机参数11;

步骤2):月球探测器到达月球指定着陆空域后,月球着陆器高度测量传感器13、速度测量传感器测14和月球着陆器mcu12开启,获取当前时刻月球着陆器的初始高度和初始速度信息;

步骤3):月球着陆器mcu12根据预先设定的月球着陆器着陆高度、速度设定模块15获取控制目标信息,mcu模块12执行内部动态优化算法,得到使月球着陆器安全软着陆的同时着陆器反推进发动机消耗的燃料也最少的反推进发动机控制策略;

步骤4):月球着陆器mcu12得到反推进发动机控制策略后转换为控制指令输出给反推进发动机控制器16。

集成了动态优化算法的月球着陆器mcu是本发明的核心,包括信息采集模块21、初始化模块22、常微分方程组(ordinarydifferentialequations,简称ode)求解模块23、梯度求解模块24、非线性规划(non-linearprogramming,简称nlp)问题求解模块25、控制指令输出模块26。该mcu执行内部动态优化算法得到使月球着陆器安全软着陆的同时着陆器反推进发动机消耗的燃料也最少的反推进发动机控制策略的运行步骤如下:

步骤1):到达指定着陆空域后,月球着陆器高度测量传感器、速度测量传感器测和mcu开启,信息采集模块21获取月球着陆器的着陆高度和速度,同时采集设定的月球着陆器反推进发动机性能参数、月球着陆器到达高度和速度;

步骤2):初始化模块22开始运行,采用分段常量参数化,设置着陆过程的分段数ne、月球着陆器反推进发动机的参数化向量的初始猜测值u(k),设定计算精度tol,将迭代次数k置零;

步骤3):通过ode快速求解模块23获取本次迭代的状态信息x(k)(t)和目标函数值j(k)

步骤4):通过梯度求解模块24获取本次迭代目标函数梯度信息dj(k)和约束条件梯度信息g(k)。当k=0时跳过步骤5)直接执行步骤7);

步骤5):nlp问题求解模块25运行,通过nlp收敛性判断模块进行收敛性判断,如果本次迭代目标函数值j(k)与上一次迭代的目标函数值j(k-1)的绝对值之差小于精度tol,则判断收敛性满足,并将本次迭代的控制策略转换为月球着陆器反推进发动机的控制指令输出至控制策略输出模块26;如果收敛性不满足,则继续执行步骤6);

步骤6):用u(k),j(k),dj(k),g(k)的值覆盖上一次迭代u(k-1),j(k-1),dj(k-1),g(k-1)的值,并将迭代次数k加1;

步骤7):nlp问题求解模块25利用在步骤3)和4)中获得的目标函数值和梯度信息,求解寻优方向和寻优步长,并进行寻优修正,获得比u(k-1)更优的新的速度控制策略u(k)。该步骤执行完成后再次跳转至步骤3),直至nlp收敛性判断模块满足为止;得到的最优解作为控制策略输入控制策略输出模块26。

所述的ode快速求解模块,采用的是四级五阶龙格库塔方法,求解公式为:

其中,t表示时间,ti表示龙格库塔方法选择的积分时刻,h为积分步长,x(k)(ti)表示月球着陆器在第k次迭代中第ti时刻的状态信息,f(·)是描述状月球着陆器态微分方程的函数,k1、k2、k3、k4分别表示龙格库塔法积分过程中的4个节点的函数值。

所述的梯度求解模块,采用灵敏度轨迹方程法:

步骤1):定义第k次迭代的灵敏度轨迹方程γ(k)(t)为:

γ(k)(t)的求解公式为:

其中,t表示时间,表示第k次迭代中灵敏度轨迹方程对于时间t的导数,f(u(k),x(k)(t),t)是描述月球着陆器状态微分方程的函数,γ(k)(t0)表示灵敏度轨迹方程在第k次迭代时的初始时刻状态值,x0表示状态微分方程函数的初始时刻状态值。

步骤2):采用四级五阶龙格库塔方法求解灵敏度轨迹方程γ(k)(t)在各积分时刻的值,求解公式为:

其中,t表示时间,ti表示龙格库塔方法选择的控制过程中某一时间点,h为积分步长,x(k)(ti)表示月球着陆器在第k次迭代中第ti时刻的状态信息,s(·)是描述灵敏度方程的函数,q1、q2、q3、q4分别表示龙格库塔法积分过程中的4个节点的函数值。

步骤3):根据得到的月球着陆器状态信息x(k)(t)和灵敏度轨迹方程γ(k)(t),求解目标函数的梯度信息dj(k)

其中,l0(u(k),x(k)(t),t)表示目标函数的积分项。

步骤4):根据得到的月球着陆器状态信息x(k)(t)和灵敏度轨迹方程γ(k)(t),求解约束条件的梯度信息g(k)

其中,φj(u(k),x(k)(t),tf)表示第j个等式约束条件函数。

所述的nlp求解模块,采用如下步骤实现:

步骤1):如果j(k)与上一次迭代的目标函数值j(k-1)的绝对值之差小于精度tol,则判断收敛性满足,将得到的最优解作为控制策略输入控制策略输出模块26;如果收敛性不满足,则继续执行步骤2);

步骤2):用u(k),j(k),dj(k),g(k)的值覆盖上一次迭代u(k-1),j(k-1),dj(k-1),g(k-1)的值,并将迭代次数k增加1;

步骤3):将反推进发动机控制策略u(k-1)作为向量空间中的某个点,记作p1,p1对应的目标函数值就是j(k-1)

步骤4):从点p1出发,根据选用的nlp算法和点p1处的目标函数梯度信息dj(k-1)和约束条件梯度信息g(k-1),构造向量空间中的一个寻优方向d(k-1)和步长α(k-1)

步骤5):通过式u(k)=u(k-1)(k-1)d(k-1)构造向量空间中对应u(k)的另外一个点p2;

步骤6):采用寻优校正得到向量空间中对应u(k)的另外一个点p3,使得p3对应的目标函数值j(k)比j(k-1)更优,继续执行步骤1)。

最后,mcu将收敛得到的控制策略转换为控制指令输出到反推进发动机控制器,完成月球着陆器的安全着陆同时实现反推进发动机燃料消耗最少。

实施例1

假设月球着陆器已经到达月球指定着陆空域,月球着陆器高度测量传感器、速度测量传感器测和mcu均已开启。信息采集模块立即采集月球着陆器的着陆高度和速度,设当月球着陆器高度测量传感器传入mcu的着陆高度为h0=1000m,速度测量传感器传入mcu的着陆速度为v0=10m/s,同时采集设定的月球着陆器反推进发动机性能参数,假设umin=0m/s2,umax=3m/s2,月球着陆器设定到达高度hf=0m,设定到达速度为vf=0m/s,月球着陆器反推进发动机开始点火的时间t0从0s开始。

为了获得使月球着陆器安全软着陆的同时着陆器反推进发动机消耗的燃料也最少的控制策略,月球着陆器mcu自动运行内部动态优化算法,并快速输出月球着陆器反推进发动机控制指令到控制器。mcu自动运行内部动态优化算法的执行过程如图2所示,执行步骤为:

步骤1):到达指定着陆空域后,月球着陆器高度测量传感器、速度测量传感器测和mcu开启,信息采集模块21采集当前月球着陆器高度信息h0=1000m,速度信息v0=10m/s,同时采集设定的月球着陆器反推进发动机性能参数umin=0m/s2,umax=3m/s2,月球着陆器设定到达高度和速度信息hf=0m,vf=0m/s,t0设置为0s;

步骤2):初始化模块22开始运行,将迭代次数k置零,采用分段常量参数化,设置着陆过程的分段数ne=50、月球着陆器反推进发动机的参数化向量的初始猜测值u(0)为1,设定计算精度tol=10-6

步骤3):通过ode快速求解模块23获取本次迭代的状态信息x(k)(t)和目标函数值j(k)

步骤4):通过梯度求解模块24获取本次迭代目标函数梯度信息dj(k)和等式约束条件梯度信息g(k)。当k=0时跳过步骤5)直接执行步骤7);

步骤5):nlp问题求解模块25运行,通过nlp收敛性判断模块进行收敛性判断,如果j(k)与上一次迭代的目标函数值j(k-1)的绝对值之差小于精度10-6,则判断收敛性满足,并将本次迭代的控制策略转换为反推进发动机的控制指令输出至控制策略输出模块26;如果收敛性不满足,则继续执行步骤6);

步骤6):用u(k),j(k),dj(k),g(k)的值覆盖u(k-1),j(k-1),dj(k-1),g(k-1)的值,并将迭代次数k加1;

步骤7):nlp问题求解模块25利用在步骤3)和4)中获得的目标函数值和梯度信息,求解寻优方向和寻优步长,并进行寻优修正,获得比u(k-1)更优的新的反推进发动机控制策略u(k)。该步骤执行完成后再次跳转至步骤3),直至nlp收敛性判断模块满足为止;得到的最优解作为控制策略输入控制策略输出模块26。

图3是实施例1的月球着陆器反推进发动机控制信号图;图4是是图3中月球着陆器反推进发动机控制策略对应的月球着陆器着陆高度、着陆速度和着陆时间变化图。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

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