有人机作为长机带领有人和无人机的混合编队飞行不仅将使系统的综合效能和任务执行时的冗余性能得到大幅提升,而且弥补了单纯无人机编队对复杂环境识别和判断失误等方面的不足,成为有人/无人机混合编队及其应用技术发展的研究新热点,目前在编队队形控制、协同作战、信息交互处理以及具体实现验证等多方面已经开展了广泛的研究。随着研究的不断深入,设定的系统运行环境和编队模型的相异性,对验证研究理论的方法和验证手段带来了更大的困难,由于实体验证需要完备的工程设计,大量的验证工作,人力资源的浪费,工作的耗时,以及昂贵的实验仪器和物质消耗,因此虚拟仿真验证作为一种灵活、低耗的验证方法适用于大多数的理论性预研研究[1, 2, 3, 4]。
目前有人/无人机编队飞行的虚拟仿真实验平台设计与实现方面的取得了一定的研究进展[5, 6, 7, 8],Rasmussend等[5]结合MATLAB和VC实现了无人机编队航迹规划过程中的自主避障的仿真,采用MATLAB快速的解算能力和VC设计的操作平台使无人机编队在航迹规划过程中达到了很好的避障效果,但是避障过程不能够实现三维可视化的呈现并且可视化过程中不能添加指令,占用资源多; Wei等[6]构建了一种FlightGear、VC++平台和MFC框架结合的可视化仿真平台,利用FlightGear强大视景显示功能和MFC设计的操作界面实现了在仿真过程中可以添加指令,同时也具有很好的可视化仿真效果,但是基于FlightGear飞机模型解算速度比较慢,不能达到可视化效果的实时性,且占用资源多;应进等[7]综合应用MATLAB/Simulink、FlightGear设计并实现了一个在MATLAB环境下基于FlightGear视景的直升机飞控仿真平台,利用MATLAB/Simulink快速的解算能力和FlightGear强大视景显示功能实现了直升机仿真的三维实时可视化显示,但没有设计仿真系统操作平台界面,不能在仿真过程中添加指令且占用资源多;李文皓等[8]提出了模块化结构的无人机编队飞行仿真实验平台,使系统占用资源小,但是系统可视化场景单一,不能体现起飞、编队和空战整个过程。综上所述,目前有人/无人机编队三维可视化系统的研究还不成熟,均不能同时实现三维实时可视化显示和在仿真过程中随机地添加指令的功能。为了解决上述问题,提出了运用FlightGear、MATLAB-Simulink和VC(MFC框架)结合的方法设计有人/无人机编队三维实时可视化显示的系统,实现了无人机编队整个起飞、编队变换和空战的三维实时的可视化效果和随机添加指令的功能。
该有人/无人机编队三维可视化系统是目前软件结合最为复杂、功能最全面的研究,为有人/无人机编队飞行的研究提供了一个预研性的实验工具,同时也为未来研究有人/无人机混合编队协同作战中相关的技术提供了有效的验证平台。
1 可视化系统软件 1.1 功能需求分析
混合编队可视化系统包含单机控制、编队队形保持控制[9]、编队队形变换控制、数据通信传输控制、避障控制、任务分配以及攻击占位控制等,为了验证这一系列的综合效果,系统必须具有以下几点功能:
1)地面站控制指令;
2)有人机的任务端指令;
3)编队中控制器的输入输出;
4)编队中避障控制器的输入输出;
5)编队中队形保持和队形变换控制器输入输出。
此外,为使得混合编队可视化系统具有系统逻辑封装性好、扩展性强、性能稳定、易于维护的特点,在设计系统时应当充分采用结构模块化、分散控制方式、独立化以及通用化接口设计。
1.2 系统结构设计
为了适应未来编队飞行控制技术要求,以系统结构模块化设计思想为指导,将混合编队可视化系统分为人机交互和控制部分。系统的总体架构如图 1所示。
人机交互部分包括:
1)可视化视景模块:通过FlightGear软件视景将各有人机、无人机飞行的状态实时地反映于虚拟3D场景中,将立体展示了有人/无人协同编队飞行的整个飞行场景,增加用户的沉浸感,达到了人机交互、实时可视化的效果,输入为对应当前时刻各架飞机的飞行信息,输出为3D场景渲染图形图像;
2)界面交互模块:为了方便研究人员在控制过程中添加指令和干预系统的进程,可以通过界面完成各种操作,包括编队队形的变换,在飞行航迹上添加空中或者地面威胁,重新设置控制参数等。
控制部分包括:
1)控制器模块:为了使得僚机能够快速跟踪长机的飞行航向、高度和速度,同时与长机保持一定的横向和纵向间距,通过变换控制信号使得间距误差趋向于零,无论长机是处于平飞或机动状态,任能保持一定的编队队形,并能满足性能指标。
2)编队队形保持和变换控制模块:通过地面站或者长机界面的指令集输入期望保持的编队队形参数,输出编队队形保持的状态指令。
3)编队队形变换控制模块:通过地面站或者长机界面的指令集输入期望变换的编队队形参数,输出编队变换的状态指令。
对于由N架飞机组成的编队,各个模块将生成N个独立的模块,编队中各架飞机相互独立的控制和飞行数据解算,通过在各个模块设置标准的输入端口,方便系统中各个算法的修改和变换。
2 系统的实现
系统平台设计总的可以分为人机界面、FlightGear三维可视化模块、无人机模型模块、无人机动力学系统仿真模型模块和联合仿真。
2.1 系统界面的实现
混合编队可视化系统包含地面站界面、无人机界面,人机界面如图 2所示。采用MFC框架的CFormView为基类[9],并通过添加菜单项和添加按钮、地图、列表框、图片等控件进行开发设计,用以实现数据的显示、无人机编队的实时航迹及位置和控制指令的输入。人机交互界面主要包含二维电子地图区、编队放大区、数据信息显示区和操作指令控制区。
2.2 FlightGear三维可视化视景
由于单纯以OpenGL语句实现系统编队飞行场景和飞机模型代码量巨大,也不利于针对不同的无人机尺寸模型修改,为此采用AC3D软件构建无人机的外部模型,通过编写模型的配置文件将其映射至场景中,而后飞行数据通过通信模块传输给FlightGear仿真模块,驱动无人机模块仿真。由于FlightGear包括很多子系统,飞行器模块是各个系统的综合,接受环境系统和动力学系统的控制,控制结果通过三维可视仿真系统进行渲染,通过日志系统记录飞行姿态和位置信息,发动机的响动和风声都由声音/音效系统模拟,大大简化系统开发的复杂度和周期,而且针对无人机模型不同尺寸和不同的无人机模型都可以进行相应的修改,使得建立模型与系统可视化仿真互相独立,增大了系统仿真的扩容性和模型的可移植性,同时FlightGear各主要组件都独立于硬件和操作系统,基于FlightGear开发的三维可视化仿真系统具有较高的可重用性和可扩展性,能够轻松地在不同操作系统之间移植。此外,通过设置变视点和随机全景视点,使得可以从多角度、大跨度、多尺距地观察虚拟可视化场景,为操作员的感官认知带来有利的支撑。其无人机模型制作和场景多视点观察效果如图 3所示。
2.3 模块化与集成的实现为了使得仿真系统具备较强的可扩展性,其各模块都采用UDP通信模式,在不断深入的研究中可以在离线的条件下修改对应模块算法而无需对仿真系统内部各个模块进行升级,当仿真系统出现运行报错或者异常时可通过逐步检查各模块的输入输出给予以定位和修复。无人机编队三维可视化系统的内部模块之间存在着相互独立又有数据信息交互性耦合,为了使数据传输能够在独立的情况下实现数据交互的耦合性,设立了指令集和无人机状态显示集。当地面站利用UDP网络传输方式将飞行指令传给僚机任务终端,各架僚机之间实施分散协同控制,同时将基于PID编队队形控制算法解算的飞行控制数据传输给无人机Simulink动力学模型,如图 4所示,飞行控制数据被解算为飞行数据传输到地面站界面,完成一次解算轮回,同时驱动可视化系统不断更新场景,使得三维可视化显示的实时性更高。
2.4 仿真的实现
启动VC和FlightGear,VC初始化模块对FlightGear的初始化模块和Simulink模型中的初始化文件进行设置,然后将VC的环境设置模块传给FlightGear的环境设置模块,此时,运行控制模块,开始起飞,地面站界面模块利用UDP网络传输方式(通信模块)将飞行指令传给僚机任务终端界面模块,根据指令将基于PID的控制模块解算出的飞行控制数据传=传输给无人机Simulink动力学模型,飞行控制数据被解算为飞行数据,这时飞行数据被分别传送到采用外部数据驱动的并已载入无人机模型的FlightGear,驱动FlightGear可视化引擎,生成混合编队的编队飞行、编队巡航和空战的三维可视化显示和界面终端模块,再次经过飞行控制器和动力学模型解算出下一时刻的各飞机飞行状态并更新状态,完成一次解算轮回,通过间歇式的时序驱动系统仿真不断进行解算飞行数据,使得仿真系统的飞行数据具有较高的实时性,实现了VC(控制模块)—Simulink(自驾仪模块)—FlightGear(飞机模块)三者循环调整数据,系统模块数据传输如图 5所示,控制整个飞机作战系统的飞行任务,其联合仿真图如图 6。
3 基于PID的编队飞行控制
系统采用了经典的PID控制进行编队队形控制,编队采用长僚模式飞行,由于长机采用航迹跟踪控制,故编队队形协同控制主要是对僚机控制,分为速度通道、航向通道、高度通道,分别对应为速度控制量、滚转角控制量和俯仰角控制量,并且将各个通道强制解耦,即每个通道不存在相互影响。
1)速度通道(速度):对于长僚机速度偏差采用增量式PID,其中kvp、kvi、kvd分别为长僚机速度偏差调节的比例、积分、微分系数,计算公式为
$\eqalign{
& {V_C}_{\_L\_F}\left( t \right) = {k_{vp}}\left[ {{v_e}\left( t \right) - {v_e}\left( {t - 1} \right)} \right] + {k_{vi}}\int\limits_0^t {{v_e}\left( t \right)} {\rm{d}}t + \cr
& {k_{vp}}\left[ {{v_e}\left( t \right) - 2{v_e}\left( {t - 2} \right) + {v_e}\left( {t - 1} \right)} \right] + {V_C}_{\_L\_F}\left( {t - 1} \right) \cr} $
(1)
对于纵向偏差采用位置式PID,其中kyp、kyi、kyd分别为纵向偏差的比例、积分、微分系数,公式为
$\eqalign{
& {V_{e - ye}}\left( t \right) = {k_{yp}}{y_e}\left( t \right) + {k_{yi}}\int\limits_0^t {\sum\limits_{i = 0}^{i = t} {{y_e}\left( i \right){\rm{d}}t} } + \cr
& {k_{yp}}\left[ {{y_e}\left( t \right) - {y_e}\left( {t - 1} \right)} \right] \cr} $
(2)
VC(t)=VC_L_F(t)+Vc-ye(t)
(3)
由于无人机Simulink模型输入的空速受限,故输入的速度要设定在一定的范围之内。
${V_C}\left( t \right) = \left\{ \matrix{
280, {V_C}\left( t \right) > 280 \hfill \cr
100, {V_C}\left( t \right) < 100 \hfill \cr
{V_C}\left( t \right), {\rm{其他}} \hfill \cr} \right.$
(4)
2)航向通道(滚转):对于长僚机航向偏差采用增量式PID,其中kwp、kwi、kwd分别为长僚机航向偏差调节的比例、积分、微分系数,计算公式为
$\eqalign{
& {w_C}_{\_L\_F}\left( t \right) = {k_{wp}}\left[ {{\theta _e}\left( t \right) - {\theta _e}\left( {t - 1} \right)} \right] + {k_{wi}}\int\limits_0^t {{\theta _e}\left( t \right)} {\rm{d}}t + \cr
& {k_{wp}}\left[ {{\theta _e}\left( t \right) - 2{\theta _e}\left( {t - 2} \right) + {\theta _e}\left( {t - 1} \right)} \right] + {w_C}_{\_L\_F}\left( {t - 1} \right) \cr} $
(5)
对于横向偏差采用位置式PID,其中kxp、kxi、kxd分别为横向偏差调节的比例、积分、微分系数,公式为
$\eqalign{
& {w_{c - xe}}\left( t \right) = {k_{xp}}{x_e}\left( t \right) + {k_{xi}}\int\limits_0^t {\sum\limits_{i = 0}^{i = t} {{x_e}\left( i \right){\rm{d}}t} } + \cr
& {k_{xp}}\left[ {{x_e}\left( t \right) - {x_e}\left( {t - 1} \right)} \right] \cr} $
(6)
将长僚机航向偏差经过PID后计算的速度量ωC-L-F与横向偏差经过PID后计算的速度量ωC-xe线性组合,最终得到速度控制量ωC为
wC(t)=wC_L_F(t)+wc-ye(t)
(7)
由于无人机飞行滚转角受限,故输入的滚转角要设定在一定范围之内。
${w_C}\left( t \right) = \left\{ \matrix{
30, {w_C}\left( t \right) > 30 \hfill \cr
- 30, {w_C}\left( t \right) < - 30 \hfill \cr
{w_C}\left( t \right), {\rm{其他}} \hfill \cr} \right.$
(8)
3)高度通道(俯仰):对于高度偏差采用增量式PID,其中kzp、kzi、kzd分别为长僚机高度偏差调节的比例、积分、微分系数,计算公式为
ψC_L_F(t)=kzp[ze(t)-ze(t-1)]+kzi$\int\limits_0^t {{z_e}\left( t \right)} {\rm{d}}t$+kzd[ze(t)-2ze(t-2)+ze(t-1)]+ψC(t-1)
(9)
由于无人机飞行俯仰受限,故输入的俯仰要设定在无人机的俯仰范围之内。
${\psi _C}\left( t \right) = \left\{ \matrix{
7, {\psi _C}\left( t \right) > 7 \hfill \cr
- 5, {\psi _C}\left( t \right) < - 5 \hfill \cr
{\psi _C}\left( t \right), {\rm{其他}} \hfill \cr} \right.$
(10)
4 无人机编队和空战可视化效果 4.1 系统性能测试
为了验证混合编队可视化系统飞行数据的实时性,进行了56次的功能测试,测试平台如表 1。
参数 | 值 |
平均仿真时间 | 36′27″ |
平均飞行数据 | 36.90 M |
平均录像数据 | 721.59 M |
仿真数据刷新率 | 10帧/s |
VR帧数 | 5帧/s |
系统资源占用度 | Cpu31% 内存:30 M |
平均重绘图线 | 47幅 |
通过表 1和表 2的对比,可知该三维可视化系统占用资源较少,实时性较高。
4.2 无人机编队可视化
设置不同的编队队形进行飞行可视化试验,用以验证算法的编队队形控制,无人机编队由一字队形变换成菱形编队,在变换为人形编队。编队相对位置参数如表 3所示。通过对PID控制算法中比例、积分、微分参数进行调节快速实现编队队形的变换,PID参数如表 4所示。
编队队形 | 编队队形参数 | |||
长机 | 无人机1 | 无人机2 | 无人机3 | |
一字形 | (0,0,0) | (0,200,0) | (0,400,0) | (0,600,0) |
菱形 | (0,0,0) | (-100,200,0) | (100,200,0) | (0,400,0) |
人字形 | (0,0,0) | (-100,200,0) | (100,200,0) | (200,400,0) |
通道 | PID Name | 比例 | 积分 | 微分 |
速度 | 增量式PID | 49.8 | 0.024 | 7 |
速度 | 位置式PID | 0.0296 | 0.000 000 42 | 0.0 |
航向 | 增量式PID | 1.66 | 0.000 88 | 3.42 |
航向 | 位置式PID | 0.006 | 0.0 | 0.0 |
高度 | 增量式PID | 0.129 | 014 | 037 |
通过多次试验,该系统三维可视化效果如图 7、8、9所示。
文献[5]、[7]的可视化效果分别图 10中的(a)和(b)。通过对比,本系统的三维实时可视化效果好,并可以通过地图实时显示无人机编队的位置,同时还可以在系统运行过程中添加指令。
5 结束语
随着对混合编队飞行控制、空战研究的深入,使得综合验证混合编队控制理念的需求日趋重要和迫切,本文通过可替换的飞机模型、实时的FlightGear场景的更新、飞行数据的实时显示和混合编队飞行的三维可视化显示,能够给与实验者深刻的沉浸感和参与感,解决了现有开发系统文献的不足,为混合编队控制理论的研究提供有力支撑,为未来研究有人/无人机混合编队协同作战中相关的技术提供了有效的验证平台。
[1] | TORENS C, ADOLF F, GOORMANN L. Certification and software verification considerations for autonomous unmanned aircraft[J]. Journal of aerospace information systems, 2014, 11(10): 649-664. |
[2] | REW D Y, LEE W R, KOO C H, et al. HILS approach in the virtual flight test of the Korean lunar lander demonstrator[C]//Proceedings of AIAA Modeling and Simulation Technologies (MST) Conference. Boston, MA, 2013: 4675-4684. |
[3] | TIAN Yongliang, LIU Hu, FENG Haocheng, et al. Virtual simulation-based evaluation of ground handling for future aircraft concepts[J]. Journal of aerospace information systems, 2013, 10(5): 218-228. |
[4] | SULLIVAN B, MALSOM S. Development of a real-time virtual airspace simulation capability for air traffic management research[C]//Proceedings of AIAA Modeling and Simulation Technologies Conference and Exhibit. Monterey, California, 2002: 4592-4598. |
[5] | RASMUSSEN S J, CHANDLER P R. MultiUAV: a multiple UAV simulation for investigation of cooperative control[C]//Proceedings of the Winter Simulation Conference. San Diego, CA, USA, 2002, 1: 869-877. |
[6] | WEI Liu, XU Zhi, MA Y M, et al. A study on the flight data visualization of general aviation based on flightgear[J]. Applied mechanics and materials, 2014, 552: 367-372. |
[7] | 应进, 潘浩曼, 代冀阳, 等. Matlab/FlightGear直升机视景仿真研究[J]. 实验技术与管理, 2014, 31(8): 106-109. YING Jin, PAN Haoman, DAI Jiyang, et al. Research on visual flight simulation based on Matlab/FlightGear[J]. Experimental technology and management, 2014, 31(8): 106-109. |
[8] | 李文皓, 张珩. 用于阵形控制的无人机编队飞行仿真平台设计与实现[J]. 系统仿真学报, 2009, 21(3): 691-694. LI Wenhao, ZHANG Heng. Simulation platform design and realization for unmanned aerial vehicle formation control[J]. Journal of system simulation, 2007, 21(3): 691-694. |
[9] | 徐璇, 姜明新, 黄静, 等. 基于MFC的工程软件界面设计[J]. 电子设计工程, 2011, 19(21): 11-13. XU Xuan, JIANG Mingxin, HUANG Jing, et al. Software interface design of MFC-based engineering[J]. Electronic design engineering, 2011, 19(21): 11-13. |