会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 巡航高度 / 一种基于控制变量参数化的无人飞行器巡航跟踪控制系统及控制方法

一种基于控制变量参数化的无人飞行器巡航跟踪控制系统及控制方法

申请号 CN201810535506.0 申请日 2018-05-30 公开(公告)号 CN108717265B 公开(公告)日 2021-05-18
申请人 重庆邮电大学; 发明人 刘平; 柯梅花; 黄袁园; 陈晓雷; 吕霞付; 虞继敏; 王平;
摘要 本发明公开了一种基于控制变量参数化的无人飞行器巡航跟踪控制系统及控制方法,无人飞行器在巡航空域飞行,飞行器巡航高度传感器、飞行器速度传感器、飞行器航道倾角传感器开启,获得飞行器巡航高度偏差、速度和飞行器航道倾角信息,飞行器MCU根据设定的巡航高度偏差、速度和飞行器航道倾角要求自动执行内部控制变量参数化优化算法,得到使无人飞行器在指定时间内到达设定巡航轨迹的控制策略,飞行器MCU将获得的控制策略转换为控制指令发送给飞行器推力控制模块和俯仰角控制模块执行。本发明能够根据无人飞行器不同的巡航高度偏差、速度和飞行器航道倾角状态快速地得到优化控制策略,使无人飞行器在设定时间内平稳到达指定的巡航轨迹状态。
权利要求

1.一种基于控制变量参数化的无人飞行器巡航跟踪控制系统,其特征在于:包括动力学模型、飞行器性能约束条件、优化目标设置模块(11),无人飞行器MCU模块(12),飞行器巡航高度传感器(13),飞行器速度传感器(14),飞行器航道倾角传感器(15),飞行器巡航高度偏差、速度、飞行器航道倾角、飞行器调节时间设置模块(16),飞行器推力控制模块(17)和飞行器俯仰角控制模块(18);其中所述动力学模型、飞行器性能约束条件、优化目标设置模块(11)用于设定飞行器动力学模型函数、飞行器性能约束条件函数和飞行器推力、俯仰角优化目标参数;

所述飞行器巡航高度传感器(13)用于获取飞行器当前的巡航高度偏差,并输入无人飞行器MCU模块(12);

所述飞行器速度传感器(14)用于获取飞行器当前的速度,并输入无人飞行器MCU模块(12);

所述飞行器航道倾角传感器(15)用于获取飞行器当前的航道倾角,并输入无人飞行器MCU模块(12);

所述飞行器巡航高度偏差、速度、飞行器航道倾角、飞行器调节时间设置模块(16)用于设定飞行器巡航高度偏差、速度、飞行器航道倾角值和飞行器调节时间;

所述无人飞行器MCU模块(12)用于根据设定的飞行器巡航高度偏差、速度、飞行器航道倾角和飞行器调节时间,以及当前的巡航高度偏差、当前的速度和的航道倾角,采用控制变量参数化优化算法得到使无人飞行器在设定调节时间范围内平稳到达指定飞行轨迹状态的推力和俯仰角控制量,并分别发送给飞行器推力控制模块(17)和飞行器俯仰角控制模块(18);

所述飞行器推力控制模块(17)用于控制飞行器飞行推力;

所述飞行器俯仰角控制模块(18)用于控制飞行器的俯仰角;

所述无人飞行器MCU模块(12)包括信息采集模块(21)、初始化模块(22)、ODE求解模块(23)、梯度求解模块(24)、NLP问题求解模块(25)和控制策略输出模块(26);

所述信息采集模块(21)用于采集无人飞行器当前的巡航高度偏差、飞行速度和飞行器航道倾角状态信息;

所述初始化模块(22)用于设置由调节时间优化过程的离散段数、飞行器推力和俯仰角(0)

变量组成的控制向量初始猜测值u (t),设置优化精度要求tol,将迭代次数k置零;

(k)

所述ODE求解模块(23)根据无人飞行器动力学方程获取本次迭代的状态信息x (t)和(k)

目标函数值J (u(t),x(t),t);

(k) (k)

所述梯度求解模块(24)根据状态信息x (t)和灵敏度轨迹方程Γ (t)获取本次迭代(k) (k)

目标函数梯度信息dJ (u(t),x(t),t)和约束条件梯度信息dg (u(t),x(t),t);

(k)

所述NLP问题求解模块(25)进行收敛性判断,如果本次迭代得到的目标函数值J (u(k‑1)

(t),x(t),t)与上一次迭代目标函数值J (u(t),x(t),t)的绝对值之差小于精度tol,则判断收敛性满足,并将本次迭代的控制策略转换为无人飞行器的推力和俯仰角控制指令输(k)

出至控制策略输出模块(26);如果本次迭代得到的目标函数值J (u(t),x(t),t)与上一次(k‑1)

迭代的目标函数值J (u(t),x(t),t)的绝对值之差大于精度tol,则判断收敛性不满足。

2.一种基于控制变量参数化的无人飞行器巡航跟踪控制方法,其特征在于,包括以下步骤:

步骤A1):通过动力学模型、飞行器性能约束条件、优化目标设置模块(11)设定飞行器动力学模型函数、飞行器性能约束条件函数和飞行器推力、俯仰角优化目标参数;

步骤A2):无人飞行器到达指定飞行空域后,开启飞行器巡航高度传感器(13)、飞行器速度传感器(14)和飞行器航道倾角传感器(15),分别获得飞行器当前的巡航高度偏差、当前的速度和当前的飞行器航道倾角;

步骤A3):无人飞行器MCU(12)根据飞行器巡航高度偏差、速度、飞行器航道倾角、飞行器调节时间设置模块(16)中设定的巡航高度偏差、飞行速度、飞行器航道倾角和调节时间,采用控制变量参数化优化算法,得到使无人飞行器在设定调节时间范围内平稳到达指定飞行轨迹状态的推力和俯仰角控制量;

所述控制变量参数化优化算法包括以下步骤:步骤B1):信息采集模块(21)采集无人飞行器当前的巡航高度偏差、飞行速度和飞行器航道倾角状态信息;

步骤B2):初始化模块(22)设置由调节时间优化过程的离散段数、飞行器推力和俯仰角(0)

变量组成的控制向量的初始猜测值u (t),设置优化精度要求tol,将迭代次数k置零;

(k)

步骤B3):ODE求解模块(23)根据无人飞行器动力学方程获取本次迭代的状态信息x(k)

(t)和目标函数值J (u(t),x(t),t);

(k) (k)

步骤B4):梯度求解模块(24)根据状态信息x (t)和灵敏度轨迹方程Γ (t)获取本次(k) (k)

迭代目标函数梯度信息dJ (u(t),x(t),t)和约束条件梯度信息dg (u(t),x(t),t),当k=0时跳过步骤B5)和B6),直接执行步骤B7);

(k)

步骤B5):NLP问题求解模块(25)进行收敛性判断,如果本次迭代得到的目标函数值J(k‑1)

(u(t),x(t),t)与上一次迭代的目标函数值J (u(t),x(t),t)的绝对值之差小于精度tol,则判断收敛性满足,并将本次迭代的控制策略转换为无人飞行器的推力和俯仰角控制(k)

指令输出至控制策略输出模块(26);如果本次迭代得到的目标函数值J (u(t),x(t),t)与(k‑1)

上一次迭代的目标函数值J (u(t),x(t),t)的绝对值之差大于精度tol,则判断收敛性不满足,继续执行步骤B6);

(k) (k) (k) (k)步骤B6):用u (t),J (u(t),x(t),t),dJ (u(t),x(t),t),dg (u(t),x(t),t)的值(k‑1) (k‑1) (k‑1) (k‑1)覆盖上一次迭代u (t),J (u(t),x(t),t),dJ (u(t),x(t),t),dg (u(t),x(t),t)的值,并将迭代次数k加1;

步骤B7):利用在步骤B3)和B4)中获得的目标函数值和梯度信息,求解寻优方向和寻优(k‑1)

步长,并进行寻优修正,获得比上一次迭代推力和俯仰角控制策略组成的控制向量u (t)(k)

更优的新的推力和俯仰角控制策略组成的控制向量u (t);该步骤执行完成后再次跳转至步骤B3),直至NLP收敛性判断模块满足为止;得到的最优解作为控制策略输入控制策略输出模块(26);

步骤A4):无人飞行器MCU(12)将步骤A3)所述推力和俯仰角控制量分别输出至飞行器推力控制模块(17)和飞行器俯仰角控制模块(18)。

3.根据权利要求2所述一种基于控制变量参数化的无人飞行器巡航跟踪控制方法,其特征在于:所述步骤B3)中ODE快速求解采用的是四级五阶龙格库塔方法,求解公式为:(k) (k)

K1=f[u (t),x (ti),ti](k) (k)

K2=f[u (t),x (ti)+K1h/2,ti+h/2](k) (k)

K3=f[u (t),x (ti)+K2h/2,ti+h/2](k) (k)

K4=f[u (t),x (ti)+K3h,ti+h](k) (k)

x (ti+h)=x (ti)+h(K1+2K2+2K3+K4)/6(k)

其中,t表示时间,ti表示龙格库塔方法选择的积分时刻,h为积分步长,x (ti)表示无人飞行器在第k次迭代中第ti时刻的飞行状态信息,f(·)表示描述无人飞行器动力学方程(k)

组的函数,K1、K2、K3、K4分别表示龙格库塔法积分过程中的4个节点的函数值,u (t)表示推力和俯仰角控制策略组成的控制向量。

4.根据权利要求3所述一种基于控制变量参数化的无人飞行器巡航跟踪控制方法,其特征在于:所述梯度求解模块采用灵敏度轨迹方程法,具体为:(k)

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

Γ (t)的求解公式为:

(k)

其中,t表示时间, 表示第k次迭代中灵敏度轨迹方程对于时间t的导数,f(u(k) (k)

(t),x (t),t)是描述无人飞行器状态微分方程的函数,Γ (t0)表示灵敏度轨迹方程在第k次迭代时的初始时刻状态值,x0表示无人飞行器状态微分方程函数的初始时刻状态值;

(k)

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

(k) (k)

Q1=S[u (t),x (ti),ti](k) (k)

Q2=S[u (t),x (ti)+Q1h/2,ti+h/2](k) (k)

Q3=S[u (t),x (ti)+Q2h/2,ti+h/2](k) (k)

Q4=S[u (t),x (ti)+Q3h,ti+h](k) (k)

Γ (ti+h)=Γ (ti)+h(Q1+2Q2+2Q3+Q4)/6其中,t表示时间,ti表示龙格库塔方法选择的控制过程中某一时间点,h为积分步长,x(k)

(ti)表示无人飞行器在第k次迭代中第ti时刻的状态信息,S(·)是描述灵敏度轨迹方程的函数,Q1、Q2、Q3、Q4分别表示龙格库塔法积分过程中的4个节点的函数值;

(k) (k)

步骤C3):根据得到的无人飞行器状态信息x (t)和灵敏度轨迹方程Γ (t),求解目(k)

标函数的梯度信息dJ (u(t),x(t),t):(k) (k)

其中,J (u(t),x(t),t)表示第k次迭代的目标函数,dJ (u(t),x(t),t)表示第k次迭(k)

代的目标函数关于控制向量u (t)的梯度信息;

(k) (k)

步骤C4):根据得到的无人飞行器状态信息x (t)和灵敏度轨迹方程Γ (t),求解约(k)

束条件的梯度信息dg (u(t),x(t),t):(k) (k) (k)

dg (u(t),x(t),t)=[dg1  … dgj ],j=1,2,...,me,me+1,...,m(k) (k)

其中,gj (u(t),x(t),t)表示第j个约束条件第k次迭代的函数,dgj (u(t),x(t),t)(k)

表示第j个约束条件关于控制向量u (t)的第k次迭代梯度信息,me表示等式约束个数,m表示约束条件总的个数。

5.根据权利要求2所述一种基于控制变量参数化的无人飞行器巡航跟踪控制方法,其特征在于:所述NLP问题求解模块(25)进行收敛性判断的步骤为:(k‑1)

步骤D1):将飞行器推力和俯仰角变量组成的控制向量u (t)作为向量空间中的某个(k‑1)

点,记作P1,P1对应的目标函数值就是J (u(t),x(t),t);

(k‑1) (k‑1)

步骤D2):从点P1出发,构造向量空间中的一个寻优方向d 和步长α ;

(k) (k‑1) (k‑1) (k‑1) (k)步骤D3):通过式u (t)=u (t)+α d 构造向量空间中对应u (t)的另外一个(k) (k‑1)

点P2,使得P2对应的目标函数值J (u(t),x(t),t)比J (u(t),x(t),t)更优;

(k)

步骤D4):采用寻优校正u (t),得到校正后的点 记为点P3,同时令(k)

使得P3对应的目标函数值 比J (u(t),x(t),t)更优;

步骤D5):如果本次迭代的目标函数值 与上一次迭代的目标函数值的绝对值之差小于精度 则判断收敛性满足,令(k)

同时将本次迭代得到的控制向量u (t)输出至控制策略(k)

输出模块(26);如果收敛性不满足,迭代次数k增加1,将u (t)设置为向量空间点P1,继续执行步骤D2)。

说明书全文

一种基于控制变量参数化的无人飞行器巡航跟踪控制系统及

控制方法

技术领域

[0001] 本发明涉及无人飞行器巡航跟踪控制领域,主要是一种基于控制变量参数化算法的无人飞行器巡航跟踪控制系统及控制方法。能够根据无人飞行器的不同巡航高度偏差、
速度和飞行器航道倾角信息快速获取飞行器推力和俯仰角控制策略,使飞行器在设定调节
时间内平稳到达指定的飞行轨迹状态。

背景技术

[0002] 随着科技的进步,无人飞行器已经逐步应用于航空侦查、航空测绘、电力巡线、森林防火等领域,无人飞行器已经成为世界航空航天领域一个极其重要的发展方向,研究和
发展无人飞行器控制系统对进一步提升其飞行品质和扩展其应用领域具有非常重要的意
义。
[0003] 通常,无人飞行器到达巡航空域后,为了保证飞行安全,飞行器的速度、航迹倾角和飞行高度需要限制在“安全气动包络线”之内,因此,巡航跟踪控制是保证无人飞行器完
成飞行任务的核心关键技术之一。然而,由于无人飞行器系统非线性、多变量、时变以及多
输入输出的特性,传统的经典控制方法并不能完全满足无人飞行器日益增长的高品质控制
要求,研究高品质的无人飞行器跟踪控制系统已成为当前国内外研究的热点和前沿。

发明内容

[0004] 为了提高无人飞行器的巡航跟踪控制品质,使飞行器在设定调节时间内平稳到达指定的飞行轨迹状态,本发明提供了一种基于控制变量参数化方法的无人飞行器巡航跟踪
控制系统。
[0005] 首先,在设定调节时间内飞行的无人飞行器巡航跟踪过程动力学模型可以用如下式子描述:
[0006]
[0007] x(t0)=x0
[0008] 其中,t表示时间,x(t)表示无人飞行器速度、飞行器航道倾角和飞行器巡航高度偏差组成的状态向量, 是x(t)的一阶导数;u(t)表示无人飞行器推力和俯仰角变量组
成的控制向量, 是u(t)的一阶导数;f(u(t),x(t),t)是无人飞行器速度、飞行器航道倾
角和飞行器巡航高度偏差动力学方程组成的微分方程组;t0表示无人飞行器进行巡航跟踪
控制的起始时刻,x0为t0时刻的状态向量。要使飞行器在设定调节时间内平稳到达指定的飞
行轨迹状态,即要求飞行器调节过程状态变量偏差最小,则该无人飞行器的巡航跟踪问题
可以描述为:
[0009]
[0010]
[0011] x(t0)=x0
[0012] x(tf)=xtf
[0013] gi(u(t),x(t),t)=0,i=1,2,...,me
[0014] gj(u(t),x(t),t)≤0,j=me+1,...,m
[0015]
[0016] t0≤t≤tf
[0017] 其中t表示时间,x(t)表示无人飞行器速度、飞行器航道倾角和飞行器巡航高度偏差组成的状态向量, 是x(t)的一阶导数;u(t)表示无人飞行器推力(u1(t))和俯仰角(u2
(t))组成的控制向量, 是u(t)的一阶导数;f(u(t),x(t),t)是无人飞行器速度、飞行器
航道倾角和飞行器巡航高度偏差动力学方程组成的微分方程组;t0表示无人飞行器进行巡
航跟踪控制的起始时刻,x0为t0时刻的状态向量;tf表示无人飞行器进行巡航跟踪控制的终
止时刻, 为tf时刻需要到达的巡航跟踪目标状态向量;J(u(t),x(t),t)表示无人飞行器
轨迹优化的目标函数;L0(u(t),x(t),t)表示飞行器调节过程状态变量偏差函数;gi(u(t),x
(t),t)=0,i=1,2,...,me是无人飞行器调节过程的等式约束条件函数;gj(u(t),x(t),t)
≤0,j=me+1,...,m是无人飞行器调节过程的不等式约束条件;me表示等式约束个数,m表示
约束条件总的个数, 分别表示无人飞行器推力和俯仰角调节量的下限值,
分别表示无人飞行器推力和俯仰角调节量的上限值;无人飞行器的巡航跟踪调
节时间为t0时刻到tf时刻。分析可知,该问题本质上为最优控制问题
[0018] 本发明解决其技术问题所采用的技术方案是:在无人飞行器MCU中集成了控制变量参数化优化方法,能够根据无人飞行器的不同巡航高度偏差、飞行速度和飞行器航道倾
角信息给出飞行器推力和俯仰角控制策略,使飞行器在设定调节时间内平稳到达指定的飞
行轨迹状态。
[0019] 具体地,本发明的系统包括动力学模型、飞行器性能约束条件、优化目标设置模块,无人飞行器MCU模块,飞行器巡航高度传感器,飞行器速度传感器,飞行器航道倾角传感
器,飞行器巡航高度偏差、速度、飞行器航道倾角、飞行器调节时间设置模块,飞行器推力控
制模块和飞行器俯仰角控制模块;其中所述动力学模型、飞行器性能约束条件、优化目标设
置模块用于设定飞行器动力学模型函数、飞行器性能约束条件函数和飞行器推力、俯仰角
优化目标参数。
[0020] 所述飞行器巡航高度传感器用于获取飞行器当前的巡航高度偏差,并输入无人飞行器MCU模块。
[0021] 所述飞行器速度传感器用于获取飞行器当前的速度,并输入无人飞行器MCU模块。
[0022] 所述飞行器航道倾角传感器用于获取飞行器当前的航道倾角,并输入无人飞行器MCU模块。
[0023] 所述飞行器巡航高度偏差、速度、飞行器航道倾角、飞行器调节时间设置模块用于设定飞行器巡航高度偏差、速度、飞行器航道倾角和飞行器调节时间;
[0024] 所述无人飞行器MCU模块用于根据设定的飞行器巡航高度偏差、速度、飞行器航道倾角和飞行器调节时间,以及当前的巡航高度偏差、当前的速度和当前的航道倾角,采用控
制变量参数化优化算法得到使无人飞行器在设定调节时间范围内平稳到达指定飞行轨迹
状态的推力和俯仰角控制量,并分别发送给飞行器推力控制模块和飞行器俯仰角控制模
块。
[0025] 所述飞行器推力控制模块用于控制飞行器飞行;所述飞行器俯仰角控制模块用于控制飞行器的俯仰角。
[0026] 本发明还提供了一种控制方法,步骤如下:
[0027] 步骤A1):将所述MCU安装在某型无人飞行器上,通过动力学模型、飞行器性能约束条件、优化目标设置模块设定飞行器动力学模型函数、飞行器性能约束条件函数和飞行器
推力、俯仰角优化目标参数;
[0028] 步骤A2):无人飞行器到达指定飞行空域后,开启飞行器巡航高度传感器、飞行器速度传感器和飞行器航道倾角传感器,分别获得飞行器当前的巡航高度偏差、当前的速度
和当前的飞行器航道倾角;
[0029] 步骤A3):无人飞行器MCU根据飞行器巡航高度偏差、速度、飞行器航道倾角、飞行器调节时间设置模块中设定的巡航高度、飞行速度、飞行器航道倾角和调节时间,采用控制
变量参数化优化算法,得到使无人飞行器在设定调节时间范围内平稳到达指定飞行轨迹状
态的推力和俯仰角控制量;
[0030] 步骤A4):无人飞行器MCU将步骤A3)所述推力和俯仰角控制量分别输出至飞行器推力控制模块和飞行器俯仰角控制模块。
[0031] 所述的无人飞行器MCU自动产生飞行器推力和俯仰角控制指令的控制变量参数化优化算法运行步骤如下:
[0032] 步骤B1):无人飞行器到达巡航空域后,飞行器巡航高度传感器、飞行器速度传感器和飞行器航道倾角传感器开启,信息采集模块获取无人飞行器当前的巡航高度偏差、飞
行速度和飞行器航道倾角状态信息;
[0033] 步骤B2):初始化模块开始运行,输入信息采集模块获得的信息,设置调节时间优(0)
化过程的离散段数、飞行器推力和俯仰角变量组成的控制向量的初始猜测值u (t),设定
优化精度要求tol,将迭代次数k置零;
[0034] 步骤B3):通过ODE求解模块获取本次迭代的状态信息x(k)(t)和目标函数值J(k)(x(t),u(t),t);
[0035] 步骤B4):通过梯度求解模块24获取本次迭代目标函数梯度信息dJ(k)(u(t),x(t),(k)
t)和约束条件梯度信息dg (u(t),x(t),t);当k=0时跳过步骤B5)和B6),直接执行步骤
B7);
[0036] 步骤B5):NLP问题求解模块25运行,通过NLP收敛性判断模块进行收敛性判断,如(k) (k‑1)
果本次迭代得到的目标函数值J (u(t),x(t),t)与上一次迭代的目标函数值J (u(t),x
(t),t)的绝对值之差小于精度tol,则判断收敛性满足,并将本次迭代的控制策略转换为无
人飞行器的推力和俯仰角控制指令输出至控制策略输出模块26;如果本次迭代得到的目标
(k) (k‑1)
函数值J (u(t),x(t),t)与上一次迭代的目标函数值J (u(t),x(t),t)的绝对值之差大
于精度tol,则判断收敛性不满足,继续执行步骤B6);
[0037] 步骤B6):用u(k)(t),J(k)(u(t),x(t),t),dJ(k)(u(t),x(t),t),dg(k)(u(t),x(t),t)(k‑1) (k‑1) (k‑1) (k‑1)
的值覆盖上一次迭代u (t),J (u(t),x(t),t),dJ (u(t),x(t),t),dg (u(t),x
(t),t)的值,并将迭代次数k加1;
[0038] 步骤B7):NLP问题求解模块25利用在步骤B3)和B4)中获得的目标函数值和梯度信息,求解寻优方向和寻优步长,并进行寻优修正,获得比上一次迭代推力和俯仰角控制策略
(k‑1) (k)
组成的控制向量u (t)更优的新的推力和俯仰角控制策略组成的控制向量u (t)。该步
骤执行完成后再次跳转至步骤B3),直至NLP收敛性判断模块满足为止;得到的最优解作为
控制策略输入控制策略输出模块26。
[0039] 所述的ODE快速求解模块,采用的是四级五阶龙格库塔方法,求解公式为:
[0040] K1=f[u(k)(t),x(k)(ti),ti]
[0041] K2=f[u(k)(t),x(k)(ti)+K1h/2,ti+h/2]
[0042] K3=f[u(k)(t),x(k)(ti)+K2h/2,ti+h/2]
[0043] K4=f[u(k)(t),x(k)(ti)+K3h,ti+h]
[0044] x(k)(ti+h)=x(k)(ti)+h(K1+2K2+2K3+K4)/6
[0045] 其中,t表示时间,ti表示龙格库塔方法选择的积分时刻,h为积分步长,x(k)(ti)表示无人飞行器在第k次迭代中第ti时刻的飞行状态信息(包括飞行器巡航高度偏差、飞行器
速度、飞行器航道倾角),f(·)是描述无人飞行器动力学方程组的函数,K1、K2、K3、K4分别表
(k)
示龙格库塔法积分过程中的4个节点的函数值。u (t)表示推力和俯仰角控制策略组成的
控制向量。
[0046] 所述的梯度求解模块,采用灵敏度轨迹方程法:
[0047] 步骤C1):定义第k次迭代的灵敏度轨迹方程Γ(k)(t)为:
[0048]
[0049] Γ(k)(t)的求解公式为:
[0050]
[0051]
[0052] 其中,t表示时间, 表示第k次迭代中灵敏度轨迹方程对于时间t的导数,f(u(k) (k) (k)
(t),x (t),t)是描述无人飞行器状态微分方程的函数,Γ (t0)表示灵敏度轨迹方程
在第k次迭代时的初始时刻状态值,x0表示无人飞行器状态微分方程函数的初始时刻状态
值。
[0053] 步骤C2):采用四级五阶龙格库塔方法求解灵敏度轨迹方程Γ(k)(t)在各积分时刻的值,求解公式为:
[0054] Q1=S[u(k)(t),x(k)(ti),ti]
[0055] Q2=S[u(k)(t),x(k)(ti)+Q1h/2,ti+h/2]
[0056] Q3=S[u(k)(t),x(k)(ti)+Q2h/2,ti+h/2]
[0057] Q4=S[u(k)(t),x(k)(ti)+Q3h,ti+h]
[0058] Γ(k)(ti+h)=Γ(k)(ti)+h(Q1+2Q2+2Q3+Q4)/6
[0059] 其中,t表示时间,ti表示龙格库塔方法选择的控制过程中某一时间点,h为积分步(k)
长,x (ti)表示无人飞行器在第k次迭代中第ti时刻的状态信息(包括飞行器巡航高度偏
差、飞行器速度、飞行器航道倾角),S(·)是描述灵敏度方程的函数,Q1、Q2、Q3、Q4分别表示
龙格库塔法积分过程中的4个节点的函数值。
[0060] 步骤C3):根据得到的无人飞行器状态信息x(k)(t)和灵敏度轨迹方程Γ(k)(t),求(k)
解目标函数的梯度信息dJ (u(t),x(t),t):
[0061]
[0062] 其中,J(k)(u(t),x(t),t)表示第k次迭代的目标函数,dJ(k)(u(t),x(t),t)表示第k(k)
次迭代的目标函数关于控制向量u (t)的梯度信息。
[0063] 步骤C4):根据得到的无人飞行器状态信息x(k)(t)和灵敏度轨迹方程Γ(k)(t),求(k)
解约束条件的梯度信息dg (u(t),x(t),t):
[0064]
[0065] dg(k)(u(t),x(t),t)=[dg1(k) … dgj(k)],j=1,2,...,me,me+1,...,m
[0066] 其中,gj(k)(u(t),x(t),t)表示第j个约束条件第k次迭代的函数,dgj(k)(u(t),x(k)
(t),t)表示第j个约束条件关于控制向量u (t)的第k次迭代梯度信息,me表示等式约束个
数,m表示约束条件总的个数。
[0067] 所述的NLP求解模块,采用如下步骤实现:
[0068] 步骤D1):将飞行器推力和俯仰角变量组成的控制向量u(k‑1)(t)作为向量空间中的(k‑1)
某个点,记作P1,P1对应的目标函数值就是J (u(t),x(t),t);
[0069] 步骤D2):从点P1出发,根据选用的NLP算法,构造向量空间中的一个寻优方向d(k‑1)(k‑1)
和步长α ;
[0070] 步骤D3):通过式u(k)(t)=u(k‑1)(t)+α(k‑1)d(k‑1)构造向量空间中对应u(k)(t)的另外(k) (k‑1)
一个点P2,使得P2对应的目标函数值J (u(t),x(t),t)比J (u(t),x(t),t)更优。
[0071] 步骤D4):采用寻优校正u(k)(t),得到校正后的点 记为点P3,同时令(k)
使得P3对应的目标函数值 比J (u(t),x(t),t)更优;
[0072] 步骤D5):如果本次迭代的目标函数值 与上一次迭代的目标函数值(k‑1)
J (u(t),x(t),t)的绝对值之差小于精度tol,则判断收敛性满足,令
(k)
同时将本次迭代得到的控制策略u (t)输出至控制策略
(k)
输出模块26;如果收敛性不满足,迭代次数k增加1,将u (t)设置为向量空间点P1,继续执
行步骤D2)。
[0073] 本发明的有益效果主要表现在:根据无人飞行器的不同巡航高度偏差、速度和飞行器航道倾角信息快速获取飞行器推力和俯仰角控制策略,使飞行器在设定调节时间内平
稳到达指定的巡航轨迹状态,提高无人飞行器的巡航跟踪控制水平。

附图说明

[0074] 图1是本发明的结构示意图;
[0075] 图2是本发明无人飞行器MCU内部模块结构图;
[0076] 图3是实施例1的无人飞行器推力控制曲线图;
[0077] 图4是实施例1的无人飞行器俯仰角控制曲线图;
[0078] 图5是实施例1的无人飞行器速度曲线图;
[0079] 图6是实施例1的无人飞行器航迹倾角曲线图;
[0080] 图7是实施例1的无人飞行器巡航高度偏差曲线图。

具体实施方式

[0081] 所述巡航跟踪控制系统如图1所示,包括动力学模型、飞行器性能约束条件、优化目标设置模块11,无人飞行器MCU模块12,飞行器巡航高度传感器13,飞行器速度传感器14,
飞行器航道倾角传感器15,飞行器巡航高度偏差、速度、飞行器航道倾角、飞行器调节时间
设置模块16,飞行器推力控制模块17,飞行器俯仰角控制模块18,所述系统内的各组成部分
均由控制器内数据总线连接。
[0082] 所述的无人飞行器MCU部分如图2所示,包括信息采集模块21、初始化模块22、常微分方程组(Ordinary Differential Equations,简称ODE)求解模块23、梯度求解模块24、非
线性规划(Non‑linear Programming,简称NLP)问题求解模块25、控制策略输出模块26。其
中,信息采集模块包括飞行器初始巡航高度偏差和飞行速度采集、飞行器初始飞行器航道
倾角采集、飞行器巡航高度偏差和速度设定采集、飞行器航道倾角设定采集、飞行器的气动
系数模型函数和性能约束条件函数以及优化目标参数采集五个子模块;NLP求解模块包括
寻优方向求解、寻优步长求解、寻优修正、NLP收敛性判断四个子模块。
[0083] 实施例1
[0084] 某型号无人飞行器,其动力学模型如下:
[0085]
[0086] 其中,x1(t)表示飞行器的飞行速度,x2(t)表示飞行器的航道倾角,x3(t)表示飞行器的巡航高度偏差,u1(t)表示飞行器的推力,u2(t)表示飞行器的俯仰角,x(t)是由x1(t)、
T
x2(t)和x3(t)组成的状态向量(x(t)=[x1(t)x2(t)x3(t)]), 是x(t)的一阶导数,控制
T
向量为u(t)=[u1(t)u2(t)] 。为了保证飞行器的飞行安全,飞行器在巡航空域的性能约束
限制为:
[0087] 92≤x1(t)≤170(m/s),‑20≤x2(t)≤25(°),‑150≤x3(t)≤150(m)
[0088] 60000≤u1(t)≤125000(N),‑20≤u2(t)≤25(°)
[0089] 无人飞行器到达指定巡航空域后,飞行器巡航高度传感器、飞行器速度传感器和飞行器航道倾角传感器和MCU均已开启。信息采集模块立即采集飞行器动力学性能约束条
件函数,当前时刻的巡航高度偏差、飞行速度和飞行器航道倾角信息,设当前初始时刻t0=
0s,巡航高度传感器传入MCU后得到偏差为x3(t0)=‑120(m),速度传感器传入MCU的速度为
x1(t0)=150(m/s),飞行器航道倾角传感器传入MCU的飞行器航道倾角为x2(t0)=20(°);飞
行器的调节时间限制为100s,即调节终值时间为tf=100(s);终止时刻无人飞行器需要满
足的巡航轨迹要求为 无人飞行器的巡航跟踪要
求是根据无人飞行器当前巡航高度偏差、速度和飞行器航道倾角信息快速获取飞行器推力
和俯仰角控制策略,使飞行器在设定调节时间内平稳到达指定的巡航轨迹状态。因此,结合
飞行器的三维空间运动方程、气动系数模型、飞行器性能约束条件函数和控制目标,整理得
到该问题的数学模型如下:
[0090]
[0091]
[0092] 92≤x1(t)≤170(m/s)
[0093] ‑20≤x2(t)≤25(°)
[0094] ‑150≤x3(t)≤150(m)
[0095] 60000≤u1(t)≤125000(N)
[0096] ‑20≤u2(t)≤25(°)
[0097] x1(t0)=150(m/s),x2(t0)=20(°),x3(t0)=‑120(m)
[0098]
[0099]
[0100] t0=0(s),tf=100(s)
[0101] 其中,J(u(t),x(t),t)表示无人飞行器巡航跟踪问题的优化目标函数。可以看出问题是一个典型的最优控制问题。为了便于表述,采用F(u(t),x(t),t)表示无人飞行器动
力学微分方程组数学模型,即:
[0102]
[0103] 采用g(u(t),x(t),t)表示无人飞行器状态变量约束条件,为:
[0104]
[0105] 所述无人飞行器巡航跟踪控制系统自动产生推力和俯仰角控制指令的控制变量参数化算法如图2所示,其运行步骤如下:
[0106] 步骤B1):无人飞行器到达巡航空域后,飞行器巡航高度传感器、飞行器速度传感器和飞行器航道倾角传感器开启,设当前初始时刻t0=0s,信息采集模块21采集无人飞行
器的性能约束条件函数和控制目标函数J(u(t),x(t),t),获取t0时刻无人飞行器速度x1
(t0)=150(m/s),飞行器航道倾角x2(t0)=20(°),巡航高度偏差x3(t0)=‑120(m),设定飞行
器的调节时间限制为100s,终止时刻无人飞行器巡航轨迹要求
[0107] 步骤B2):初始化模块22开始运行,输入信息采集模块21获得的信息,设置调节时(0)
间优化过程的离散段数为20、控制向量的初始猜测值为u (t)=0.5,设定优化精度要求
‑4
tol=10 ,将迭代次数k置零;
[0108] 步骤B3):通过ODE快速求解模块23获取本次迭代的状态信息x(k)(t)和目标函数值(k)
J (u(t),x(t),t);
[0109] 步骤B4):通过梯度求解模块24获取本次迭代目标函数梯度信息dJ(k)(u(t),x(t),(k)
t)和约束条件梯度信息dg (u(t),x(t),t);当k=0时跳过步骤B5)和步骤B6),直接执行步
骤B7);
[0110] 步骤B5):NLP问题求解模块25运行,通过NLP收敛性判断模块进行收敛性判断,如(k) (k‑1)
果本次迭代得到的目标函数值J (u(t),x(t),t)与上一次迭代的目标函数值J (u(t),x
‑4
(t),t)的绝对值之差小于精度tol=10 ,则判断收敛性满足,并将本次迭代的控制策略转
换为无人飞行器的推力和俯仰角控制指令输出至控制策略输出模块26;如果本次迭代得到
(k) (k‑1)
的目标函数值J (u(t),x(t),t)与上一次迭代的目标函数值J (u(t),x(t),t)的绝对值
之差大于精度tol,则判断收敛性不满足,继续执行步骤B6);
[0111] 步骤B6):用u(k)(t),J(k)(u(t),x(t),t),dJ(k)(u(t),x(t),t),dg(k)(u(t),x(t),t)(k‑1) (k‑1) (k‑1) (k‑1)
的值覆盖上一次迭代u (t),J (u(t),x(t),t),dJ (u(t),x(t),t),dg (u(t),x
(t),t)的值,并将迭代次数k加1;
[0112] 步骤B7):NLP问题求解模块25利用在步骤B3)和B4)中获得的目标函数值和梯度信息,求解寻优方向和寻优步长,并进行寻优修正,获得比上一次迭代推力和俯仰角控制策略
(k‑1) (k)
组成的控制向量u (t)更优的新的推力和俯仰角控制策略组成的控制向量u (t)。该步
骤执行完成后再次跳转至步骤B3),直至NLP收敛性判断模块满足为止;得到的最优解作为
控制策略输入控制策略输出模块26。
[0113] 所述的ODE快速求解模块,采用的是四级五阶龙格库塔方法,求解公式为:
[0114] K1=F[u(k)(t),x(k)(ti),ti]
[0115] K2=F[u(k)(t),x(k)(ti)+K1h/2,ti+h/2]
[0116] K3=F[u(k)(t),x(k)(ti)+K2h/2,ti+h/2]
[0117] K4=F[u(k)(t),x(k)(ti)+K3h,ti+h]
[0118] x(k)(ti+h)=x(k)(ti)+h(K1+2K2+2K3+K4)/6
[0119] 其中,t表示时间,ti表示龙格库塔方法选择的积分时刻,h为积分步长,x(k)(ti)表示无人飞行器在第k次迭代中第ti时刻的飞行状态信息(包括飞行器巡航高度偏差、飞行器
速度、飞行器航道倾角),F(·)是无人飞行器动力学微分方程组数学模型,K1、K2、K3、K4分别
表示龙格库塔法积分过程中的4个节点的函数值。
[0120] 所述的梯度求解模块,采用灵敏度轨迹方程法:
[0121] 步骤C1):定义第k次迭代的灵敏度轨迹方程Γ(k)(t)为:
[0122]
[0123] Γ(k)(t)的求解公式为:
[0124]
[0125]
[0126] 其中,t表示时间, 表示第k次迭代中灵敏度轨迹方程对于时间t的导数,F(u(k) (k) (k)
(t),x (t),t)是无人飞行器动力学微分方程组数学模型,Γ (t0)表示灵敏度轨迹方
程在第k次迭代时的初始时刻状态值,x0表示无人飞行器状态微分方程函数的初始时刻状
态值。
[0127] 步骤C2):采用四级五阶龙格库塔方法求解灵敏度轨迹方程Γ(k)(t)在各积分时刻的值,求解公式为:
[0128] Q1=S[u(k)(t),x(k)(ti),ti]
[0129] Q2=S[u(k)(t),x(k)(ti)+Q1h/2,ti+h/2]
[0130] Q3=S[u(k)(t),x(k)(ti)+Q2h/2,ti+h/2]
[0131] Q4=S[u(k)(t),x(k)(ti)+Q3h,ti+h]
[0132] Γ(k)(ti+h)=Γ(k)(ti)+h(Q1+2Q2+2Q3+Q4)/6
[0133] 其中,t表示时间,ti表示龙格库塔方法选择的控制过程中某一时间点,h为积分步(k)
长,x (ti)表示无人飞行器在第k次迭代中第ti时刻的状态信息(包括飞行器巡航高度偏
差、飞行器速度、飞行器航道倾角),S(·)是描述灵敏度方程的函数,Q1、Q2、Q3、Q4分别表示
龙格库塔法积分过程中的4个节点的函数值。
[0134] 步骤C3):根据得到的无人飞行器状态信息x(k)(t)和灵敏度轨迹方程Γ(k)(t),求(k)
解目标函数的梯度信息dJ (u(t),x(t),t):
[0135]
[0136] 其中,J(k)(u(t),x(t),t)表示第k次迭代的目标函数,dJ(k)(u(t),x(t),t)表示第k次迭代的目标函数关于控制向量u(t)的梯度信息。
[0137] 步骤C4):根据得到的无人飞行器状态信息x(k)(t)和灵敏度轨迹方程Γ(k)(t),求(k)
解约束条件的梯度信息dg (u(t),x(t),t):
[0138]
[0139] dg(k)(u(t),x(t),t)=[dg1(k) … dgj(k)],j=1,2,...,6
[0140] 其中,gj(k)(u(t),x(t),t)表示第j个约束条件第k次迭代的函数,dgj(k)(u(t),x(t),t)表示第j个约束条件关于控制向量u(t)的第k次迭代梯度信息。
[0141] 所述的NLP求解模块,采用如下步骤实现:
[0142] 步骤D1):将飞行器推力和俯仰角变量组成的控制向量u(k‑1)(t)作为向量空间中的(k‑1)
某个点,记作P1,P1对应的目标函数值就是J (u(t),x(t),t);
[0143] 步骤D2):从点P1出发,根据选用的NLP算法,构造向量空间中的一个寻优方向d(k‑1)(k‑1)
和步长α ;
[0144] 步骤D3):通过式u(k)(t)=u(k‑1)(t)+α(k‑1)d(k‑1)构造向量空间中对应u(k)(t)的另外(k) (k‑1)
一个点P2,使得P2对应的目标函数值J (u(t),x(t),t)比J (u(t),x(t),t)更优。
[0145] 步骤D4):采用寻优校正u(k)(t),得到校正后的点 记为点P3,同时令(k)
使得P3对应的目标函数值 比J (u(t),x(t),t)更优;
[0146] 步骤D5):如果本次迭代的目标函数值 与上一次迭代的目标函数值(k‑1) ‑4
J (u(t),x(t),t)的绝对值之差小于精度tol=10 ,则判断收敛性满足,令
(k)
同时将本次迭代得到的控制策略u (t)输出至控制策略
(k)
输出模块26;如果收敛性不满足,迭代次数k增加1,将u (t)设置为向量空间点P1,继续执
行步骤D2)。
[0147] 最后,飞行器MCU将获得的巡航跟踪推力和俯仰角控制量作为指令输出到控制策略输出模块,转换为控制指令发送给推力和俯仰角控制模块,完成巡航跟踪的执行。
[0148] 图3~图7给出了实施例1中飞行器MCU执行内部控制变量参数化优化算法得到的无人飞行器推力、俯仰角控制曲线,以及在该推力和俯仰角控制策略下的无人飞行器速度、
航迹倾角、巡航高度偏差曲线。可以看出,针对实施例1,控制变量参数化优化算法得到的无
4
人飞行器推力控制量维持在6×10N附近,如图3所示;而俯仰角控制量则主要在前40秒进
行调节,之后趋于平稳,如图4所示。采用图3和图4所示的无人飞行器推力和俯仰角控制策
略后,飞行器的速度由150m/s调整到目标设定的140m/s,如图5所示;同时,飞行器航迹倾角
由20度降低到优化设定目标的0度,如图6所示;此外,飞行器巡航高度偏差由‑120米调整到
0米,如图7所示。
[0149] 以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不
脱离发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护
范围。