基于粒子群算法的无人机飞控系统参数优化方法

文档序号:240876 发布日期:2021-11-12 浏览:5次 >En<

阅读说明:本技术 基于粒子群算法的无人机飞控系统参数优化方法 (Particle swarm algorithm-based parameter optimization method for unmanned aerial vehicle flight control system ) 是由 李鹏 西蒙尼·巴尔迪 张亚婕 刘娣 杨康 夏鑫 于 2021-08-30 设计创作,主要内容包括:本发明提供了基于粒子群算法的无人机飞控系统参数优化方法,本发明通过迭代的方法,粒子群算法将参数传给ArduPlane的飞控系统中的级联PID控制器,飞控与软件在换仿真器一起完成设置任务后,成本值模块将计算这一过程中飞控的状态成本和能量成本,最后成本值又会传输给粒子群算法,粒子群算法根据新得到的成本更新每个粒子的个体最优值和群体全局最优值,并得到新的参数传给ArduPlane模块,一直到迭代结束。本发明解决飞控系统中的级联PID控制器的参数优化问题,同时优化级联的控制器,利用粒子群算法得到的优化后的参数能够保证控制器的输入能量损耗尽量小,更大提升控制器的综合性能。(The invention provides a particle swarm algorithm-based parameter optimization method for an unmanned aerial vehicle flight control system, which is characterized in that parameters are transmitted to a cascade PID controller in the flight control system of the Arduplane by the particle swarm algorithm through an iteration method, after the flight control and software complete a setting task together by replacing a simulator, a cost value module calculates the state cost and the energy cost of the flight control in the process, finally the cost value is transmitted to the particle swarm algorithm, the particle swarm algorithm updates the individual optimal value and the group global optimal value of each particle according to the newly obtained cost, obtains new parameters and transmits the new parameters to the Arduplane module until the iteration is finished. The invention solves the problem of parameter optimization of the cascade PID controller in the flight control system, optimizes the cascade controller, and can ensure that the input energy loss of the controller is as small as possible by utilizing the optimized parameters obtained by the particle swarm algorithm, thereby greatly improving the comprehensive performance of the controller.)

基于粒子群算法的无人机飞控系统参数优化方法

技术领域

本发明涉及一种基于粒子群算法的无人机飞控系统参数优化方法,属于自动化控制技术领域。

背景技术

固定翼无人机因其优良的性能及模块化集成,被广泛应用于军事,商业和学术研究等领域中。它是一种4输入6自由度的欠激励耦合非线性动力学系统,因此固定翼无人机的控制系统十分复杂。

为了简化非线性系统模型的分析过程,人们常常将无人机模型进行线性化处理,简化后的模型系统也简化了其控制系统,无人机控制系统被称为飞控系统。ArduPilot是全球知名的开源无人机飞控系统,其中包含各种无人系统的开源控制模块,包括固定翼无人机,旋翼无人机,无人艇等等,而ArduPlane则是其中的固定翼无人机开源飞控系统。当前工业界中最常用的飞控系统一般采用PID控制器,ArduPlane的飞控系统主要包含仰角控制器,滚角控制器,偏航控制器,总能量控制器等,这些控制器均采用PID控制器。虽说PID控制器具有适应性好,较强的鲁棒性等优点,然而控制器的增益调正却常为人诟病,尤其是ArduPlane飞控系统包含多个PID控制器的级联,意味着飞控系统具有十分复杂的特点,导致依靠手动和以往经验进行控制器增益的调正方法无疑是一项工作量巨大而繁琐的工作。

针对于此,人们提出了利用智能算法进行控制器的参数优化,粒子群算法由于其简单易实现,且无多个参数需要调节,被广泛应用于优化的各个领域。然而该方法并未考虑到ArduPlane这种级联PID控制器的飞控系统。与此同时,当前利用粒子群算法进行PID控制器参数优化所设计的成本函数仅仅考虑控制器的追踪误差,并未考虑控制器输入能量成本,这样可能导致粒子群参数优化的结果使控制输入能量过大,使得控制器的综合性能下降等问题。综上所述,当前ArduPlane级联飞控系统仍然缺少一种能够应对多个PID控制器级联同时又能尽量保证控制器输入能量尽量小的参数优化方法。

发明内容

为解决上述问题,本发明提出了一种基于粒子群算法的无人机飞控系统参数优化方法,利用粒子群算法解决固定翼无人机ArduPlane飞控系统中的级联PID控制器的参数优化问题,将人们从繁琐的参数调正工作中解放出来,使得飞控系统中复杂的级联PID控制器仍能够参数调正自动化。此外,本发明所设计的成本函数,在考虑追踪误差的同时也兼顾输入能量,所得到的参数优化结果将减少控制器的输入能量成本,大大提升控制器的综合性能。

本发明通过迭代的方法,粒子群算法将参数传给ArduPlane的飞控系统中的级联PID控制器,飞控与软件在换仿真器一起完成设置任务后,成本值模块将计算这一过程中飞控的状态成本和能量成本,最后成本值又会传输给粒子群算法,粒子群算法根据新得到的成本更新每个粒子的个体最优值和群体全局最优值,并得到新的参数传给ArduPlane模块,一直到迭代结束。

为了达到上述目的,本发明提供如下技术方案:

基于粒子群算法的无人机飞控系统参数优化方法,包括如下步骤:

确定ArduPlane飞控系统中级联PID控制器的参数和取值范围;

设置粒子群算法代码中初始参数;

粒子群算法根据成本计算模块反馈回的成本值大小计算更新粒子群中每个粒子群移动的速度大小和方向,得到新的待优化参数值;

ArduPalne的飞控系统根据新得到的控制器参数值启动软件在环仿真器,飞控系统向仿真器发送飞行姿态控制器输入数据,仿真则返回给飞控系统传感器数据,飞控系统和仿真器共同完成指定飞行任务;

成本计算模块计算飞控系统里的各个级联PID控制器的成本值并求和;

成本值计算模块完成飞控系统和输入能量损耗之后,将更新的成本值传回给粒子群算法,直至迭代终止。

进一步的,成本计算模块计算成本值时考虑四个控制输入能量大小。

进一步的,具体包括如下步骤:

1)确定ArduPlane飞控系统中级联PID控制器的待优化参数,所述待优化参数至少包括:仰角控制器,滚角控制器,偏航控制器,总能量控制器中的比例控制器增益,积分控制器增益和微分控制器增益;确定参数后,设置参数的待优化取值范围,并将这些参数的取值范围输入粒子群算法代码中;

2)在粒子群算法代码中设置初始参数,所述初始参数至少包括:粒子个数,最大迭代次数,迭代终止的精度;随机初始化每个粒子,个体最优解pbest和全局最优解gbest

3)将新得到的每个粒子最优解pbest对应的参数值输入到ArduPlane飞控系统中的对应控制器增益;

4)启动ArduPlane的飞控系统,向软件在环仿真器发送飞行姿态控制器输入数据,仿真器则返回给飞控系统传感器数据,所述数据至少包括:飞行状态角度速度,高度,速度;飞控系统和仿真器将共同完成指定飞行任务;

5)完成飞行任务后,成本计算模块利用改进的成本函数计算飞控系统里的各个级联PID控制器的成本值;成本值包含飞控系统中各个控制器里的测量状态与目标状态之间的差值e及其时间倒数其公式为:

其中i是指飞控的仰角控制器模块,滚角控制器模块,偏航控制器模块和总能量控制器模块;所述测量状态至少包括无人机仰角,滚角,速度,高度;计算成本值时考虑四个控制输入能量大小,其公式为:

其中Ei是指飞控系统各个控制器的输入能量大小,这样得到飞控系统中的总成本值为:

其中Costori是指原始飞控系统中的状态成本值,CostE_ori是指原始飞控系统中的能量成本值;

6)将步骤5)得到的成本值Cost返回给粒子群算法,更新当前每个粒子的个体最优解和群体全局最优解;每个粒子将利用下面的公式更新自己的速度和位置:

xj+1=xj+Vj+1

其中Vj是指移动速度,xj是指位置;

7)查看是否满足迭代终止条件,如果满足条件则退出迭代,结束并输出最优参数值,否则返回步骤3)。

进一步的,所述步骤1)中参数个数组成粒子群搜索空间的维度。

进一步的,所述步骤3)中飞控系统中的对应控制器包括如下控制器:ArduPlane中libraries里的PitchController,RollController,YawController,TECS的相应控制器。

进一步的,所述步骤4)中指定飞行任务为:在固定时间内固定翼无人机从起飞到以指定高度和速度作指定半径的圆圈飞行。

进一步的,利用默认参数的飞控系统得到状态成本值给步骤5)中的Cost1进行归一化,利用默认参数的飞控系统得到的能量成本值给步骤5)中的Cost2进行归一化。

与现有技术相比,本发明具有如下优点和有益效果:

1.固定翼无人机ArduPlane飞控系统中的级联PID控制器增加了参数优化的难度和复杂度,本发明利用粒子群算法解决飞控系统中的级联PID控制器的参数优化问题,同时优化级联的控制器将人们从繁琐的参数调正工作中解放出来,使得飞控系统中复杂的级联PID控制器仍能够参数调正工作自动化。

2.改进了粒子群算法中的成本函数计算方法,在计算成本值的时候会考虑四个控制输入能量大小,有效防止参数优化后的飞控系统输入能量损耗大的问题。这样利用粒子群算法得到的优化后的参数能够保证控制器的输入能量损耗尽量小,更大提升控制器的综合性能。经过参数优化后的飞控系统性能相比原始的飞控系统,其性能将提高20%。

附图说明

图1为基于粒子群算法的ArduPlane无人机飞控系统参数优化方法的整体架构图。

图2为ArduPlane的软件在换(SSITL)仿真器数据传输结构图。

图3为基于粒子群算法的ArduPlane飞控系统参数优化方法流程图。

图4为ArduPlane参数优化仿真效果图。

具体实施方式

以下将结合具体实施例对本发明提供的技术方案进行详细说明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。

本发明方法整体框架流程如图1所示,首先粒子群算法根据成本计算模块反馈回的成本值大小计算更新粒子群中每个粒子群移动的速度大小和方向,得出新的一组待优化参数值,然后ArduPalne的飞控系统根据新得到的控制器参数值启动软件在环(SITL)仿真器,飞控系统向仿真器发送飞行姿态控制器输入数据,而仿真器则返回给飞控系统传感器数据,包括飞行状态角度速度,高度,速度等等数据,如图2所示。飞控系统和仿真器将共同完成指定飞行任务,例如在固定时间内固定翼无人机从起飞到以指定高度和速度作指定半径的圆圈飞行。完成飞行任务后,成本计算模块将计算飞控系统里的各个级联PID控制器的成本值并求和。这里需要注意的是,为了防止参数优化后的飞控系统输入能量损耗大的问题,在计算成本值的时候会考虑四个控制输入能量大小,这样利用粒子群算法得到的优化后的参数能够保证控制器的输入能量损耗尽量小,更大提升控制器的综合性能。成本值计算模块完成飞控系统和输入能量损耗之后,将更新的成本值传回给粒子群算法。这样就完成了一次迭代反馈过程,粒子群算法又会根据新的成本值重新激发参数优化过程,直到触发了迭代终止条件,最终粒子群算法就能得出最优的参数优化结果,该结果能提升ArduPlane的飞控系统的综合性能。

粒子群优化算法是一种迭代进化计算技术,源于对鸟群觅食行为的研究,其基本思想是通过群体之间的信息共享与协作来寻找最优解。粒子群中的每个粒子具有两个属性:移动的方向和速度大小。利用迭代的方法,每个粒子单独搜寻最优解作为个体最优解,在群体中的最优解作为全局最优解,所有粒子根据自己当前的个体最优解和全局最优解来更新自己的移动的方向和速度大小。通过不断迭代更新个体最优解和群体全局最优解,以此更新粒子个体的位置和速度。当达到迭代终止条件时,粒子群算法即能得到最优参数解。

具体地说,实现本发明方法时,从Github中下载ArduPlane 4.0.6版本的源代码和粒子群算法的代码,参考图3并按照以下步骤修改和运行代码:

1)确定ArduPlane飞控系统中级联PID控制器的待优化参数,分别是仰角控制器,滚角控制器,偏航控制器,总能量控制器中的比例控制器增益,积分控制器增益和微分控制器增益,总共有11个参数。确定这些参数后,设置这些参数的待优化取值范围,本发明的取值范围是[10-5,100],并将这些参数的取值范围输入粒子群算法代码中。需要注意的是,这些参数个数将组成粒子群搜索空间的维度。

2)在粒子群算法代码中设置初始参数,如粒子个数为300,最大迭代次数10000,迭代终止的精度0.001等。随机初始化每个粒子,个体最优解pbest和全局最优解gbest

3)将新得到的每个粒子最优解pbest对应的参数值输入到ArduPlane飞控系统中的对应控制器增益,也就是ArduPlane中libraries里的PitchController,RollController,YawController,TECS的相应控制器增益参数。

4)启动ArduPlane的飞控系统,向软件在环仿真器发送飞行姿态控制器输入数据,而仿真器则返回给飞控系统传感器数据,包括飞行状态角度速度,高度,速度等等数据(如图3所示,图中详细介绍了将ArduPlane飞控系统嵌入到粒子群算法进行参数优化的过程)。飞控系统和仿真器将共同完成指定飞行任务,即在固定时间内固定翼无人机从起飞到以指定高度和速度作指定半径的圆圈飞行。最终效果如图4所示,图中左上角是控制台窗口展示了飞行状态数据,左下角是命令窗口用于输入飞行模式命令,右边窗口是无人机飞行图形界面。

5)完成飞行任务后,成本计算模块将利用改进的成本函数计算飞控系统里的各个级联PID控制器的成本值。成本值包含飞控系统中各个控制器里的测量状态与目标状态之间的差值e及其时间倒数其公式为:

其中i是指飞控的仰角控制器模块,滚角控制器模块,偏航控制器模块和总能量控制器模块。上述系统中的测量状态包括无人机仰角,滚角,速度,高度等。由于ArduPlane飞控系统中已经默认有这些控制器增益参数,为了更好证明本发明提供的参数优化比默认的有效,可以利用默认参数的飞控系统得到状态成本值给上文的Cost1进行归一化,也避免了不同控制器模块中状态差值因量纲不统一导致粒子群算法优化不准确的问题。为了防止参数优化后的飞控系统输入能量损耗大的问题,在计算成本值的时候会考虑四个控制输入能量大小,其公式为:

其中Ei是指飞控系统各个控制器的输入能量大小,同样的,为了更好证明本发明提供的参数优化比默认的有效,利用默认参数的飞控系统得到的能量成本值给上文的Cost2进行归一化。这样得到飞控系统中的总成本值为:

其中Costori是指原始飞控系统中的状态成本值,CostE_ori是指原始飞控系统中的能量成本值,这里的Cost已经做作了归一化处理。

6)将步骤5)得到的成本值Cost返回给粒子群算法,更新当前每个粒子的个体最优解和群体全局最优解。每个粒子将利用下面的公式更新自己的速度和位置:

xj+1=xj+Vj+1

其中Vj是指移动速度,xj是指位置,c1和c2是学习因子,通常为2。

7)查看是否满足迭代终止条件,如果满足条件则退出迭代,结束并输出最优参数值,否则返回步骤3)。

本发明利用粒子群算法解决固定翼无人机ArduPlane飞控系统中的级联PID控制器的参数优化问题,将人们从繁琐的参数调正工作中解放出来,使得飞控系统中复杂的级联PID控制器仍能够参数调正自动化。此外,所设计成本函数兼顾了输入能量,所得到的参数优化结果将减少控制器的输入能量成本,大大提升控制器的综合性能。

本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:水冷炉排控制系统的控制方法及控制系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!