一种简便的无人直升机多机编队飞行仿真系统设计与实现

2021-08-12 08:32祖家奎
计算机应用与软件 2021年8期
关键词:僚机飞控测控

桂 洲 祖家奎

(南京航空航天大学自动化学院 江苏 南京 210016)

0 引 言

无人直升机经过二十多年的快速发展已逐步应用于军用和民用领域,在军事侦察、攻击、反恐、电力寻线、目标监控以及农业植保等方面发挥着越来越重要的作用[1]。当前任务的执行是以单架无人直升机系统为主要飞行单元的,然而针对协同复杂任务飞行的新需求,多机编队飞行控制是当前无人直升机工程应用的迫切需求之一[2]。编队飞行通常指多架无人机按照一定的编队方案保持队形不变或者相对位置在一定范围内变动的协同飞行,其核心是编队飞行控制系统的设计与实现,涉及多机通信、协同任务分配、协同航迹规划、控制律等多个技术细节,是一个约束条件众多且复杂的问题。此外,多机编队飞行的技术风险大,从工程实现角度需要基于一套完整的设计和实现手段,而多机编队飞行仿真系统是降低研制成本、有效控制飞行风险、提高研制效率的重要技术方法。

本文针对某型无人直升机由一站(地面测控站)一机升级到一站多机(最多五机)的工程特殊需求,在原单机航电系统的基础上,设计和实现了一种系统简单、开发快速、验证便捷的多机编队飞行控制仿真系统,主要包括多机通信、飞控软件在环(简称等效飞控)、直升机模型与飞行视景、地面站软件等细节。

1 需求分析与开发方案

某型无人直升机为了实现前期多机编队飞行控制的技术验证和工程过渡,希望基于现有单机飞控系统且不改动硬件和增加成本的前提下,充分发挥现有测控系统的通信能力,通过飞行控制系统的软件升级实现某型无人直升机一站最多五机的编队飞行。其中,其测控系统是固定频段,不具备扩频功能,具有全向和定向通信能力,如果采用测控码分多址体制或频分多址体制都需要更改测控设备且成本较高。

鉴于上述开发需求和飞控仿真的技术要求,该仿真平台构建的关键是多机通信,本文提出了以地面站为信息交换中心,利用测控的全向广播模式,基于时分多址和时分双向通信的方法实现多机分时切换通信。其中,时分多址体制是将测控通信周期划分为基准时间片,地面控制站与无人直升机在分配到的工作时隙内进行数据通信。系统总体方案如图1所示。

图1 多机飞行仿真系统总体结构图

每一个仿真节点是一台PC仿真计算机,多节点直接通过hub交换机进行网路通信,每个节点计算机运行包括地面站软件、数据电台、等效机载飞控软件、X-Plane飞行仿真软件及数据转发中继等模块。

(1) 地面站有两个作用:无人直升机飞行状态显示和指令控制;分时接收多机的状态信息并发布多机的飞行状态,即多机飞行信息的转发。

(2) 数据电台用于模拟真实的测控通信链路,分为地面站收发器和仿真计算机收发器两个部分。

(3) 等效飞控软件用于模拟运行机载飞行控制。

(4) X-Plane软件即直升机模型和视景系统。

(5) 数据转发中继实现等效飞控与X-Plane之间的数据转换。

(6) 交换机用于多个仿真计算机信息以及X-Plane多机模型的信息交换。

2 系统设计与实现

2.1 多机测控通信

1) 多机通信方案。目前,无人机测控系统实现一站多机测控模式的通信技术主要有频分多址、时分多址、码分多址、基于相控天线的空分多址和基于数字多波束相控天线等[3-6]。由于相控天线、码分多址和频分多址等通信方案需要专用测控设备支持,其实现成本较高、体积重量较大,因此本文采用时分多址测控模式实现较低成本的一站多机通信。使用的通信媒介为数据电台,如图2所示,其分为1个基站电台和3个移动站电台,其中基站电台与地面站相连,移动站电台与无人直升机相连。

图2 基站和移动站电台

2) 分时通信逻辑。为了对电台通信信道进行分配,本文采用了时分多址的方式,通信过程如图3所示。在每一通信周期内,地面站按照顺序分别查询各个无人直升机的状态信息,每架无人直升机对当前查询的ID进行判断,如果和自己的系统ID相等,则发送状态信息给地面站,否则不发送。

图3 TDMA通信周期

3) 通信协议的设计。地面站作为无人直升机编队飞行的控制中心,需要与各个无人直升机进行数据的发送和接收,因此要设计相应的通信协议及通信方式来保证通信的有效性和准确性。在通信协议上,本文参考了MAVLink协议,根据实际情况进行了相应的修改,数据包格式如图4所示。测试表明,该协议实现简单,数据传输灵活,可以应用于各种通信场景。其中系统ID用于无人直升机编号,表明该数据包是属于哪一架无人直升机,从而实现一站多机通信。

图4 协议结构

2.2 等效飞控软件

为了实现多机软件在环仿真,本文用C语言在PC机上开发出一款等效的飞行控制系统,开发环境使用Visual Studio 2015,整体结构设计如图5所示。显示界面如图6所示,其中数据区1主要显示无人直升机姿态信息,数据区2主要显示当前无人直升机所处模态,数据区3显示当前无人直升机四通道控制律参数。

图5 等效飞控结构

图6 等效飞控监控显示

为了更好地模拟硬件上飞行控制系统的运行环境,通过在PC机上移植μC/OS-Ⅱ实时操作系统来保证各个控制模块执行的实时性,主要模块及功能如下:

(1) 通信模块。通信分为与地面站和与X-Plane之间的信息交换。由于采用的是一站多机的通信方式,在这种通信方式下,无人直升机仅与地面站进行通信,因此,通信实现相对简单。在和地面站通信中,本文基于μC/OS-Ⅱ操作系统编写了两个任务,一是数据发送任务,二是数据接收任务,即TaskRx()和TaskTx()。在通信方式上,本文采用时分多址的方法[3],实现多无人直升机与地面站的信息交换。

在与X-Plane通信中,由于通信协议和通信方式的区别,设计并实现了一个中继转发程序。在等效飞控中使用Model_TaskSim()任务和转发程序进行通信,其中包括LinkRx()和LinkTx()两个子任务。

(2) 编队控制模块。编队控制主要完成在多架无人直升机进行的某种队形排列飞行时,控制每架无人直升机的飞行姿态和轨迹,使得总体编队队形保持不变或按照某种要求进行队形的重组。姿态控制由四个通道组成,分别是总矩、尾桨、横向和纵向。在实时操作系统μC/OS-Ⅱ中用COL_LawLoopCtrl()、RUD_LawLoopCtrl()、AIL_LawLoopCtrl()、ELE_LawLoopCtrl()四个任务中实现的控制律进行控制。轨迹控制及无人直升机各个飞行模态通过NAV_TaskPlaneFly()、ModeRun()来实现。本文实现的仿真系统主要对基于长机-僚机编队策略进行研究,因此在控制中有长机和僚机之分。长机控制主要侧重于飞行轨迹即按照任务要求生成的航迹进行飞行控制,而僚机主要根据长机位置、姿态等信息进行姿态控制,以保持相应的编队队形或对编队队形进行调整变换,因此主要涉及对姿态的控制。

2.3 多机编队地面站软件

为了实现对多无人直升机编队进行控制以及相关状态信息的获取,本文基于Qt开发环境使用C++设计并实现了地面控制站软件。软件主界面如图7所示,多机状态显示模块可以同时显示最多5架飞机的姿态、位置、飞行模态等信息。

(a) 地面站主界面

遥控面板用于对无人直升机发送各种指令,包括起飞准备、自动起飞、悬停、自动返航等。地图界面用百度地图开放的API开发,用于显示各个无人直升机的位置及飞行轨迹,从而达到更加直观地显示编队效果的目的。

由于采用一站多机的通信方式,地面站作为一个数据通信中心,需要负责同步多架无人直升机的通信序列。在数据链路分配采用时分多址方式的情况下,地面站通过定时轮询的方式与相应的无人直升机进行数据的发送和接收,因此每次在同一时刻只有一架无人直升机与地面站进行通信,这保证了数据传输的安全和稳定。

2.4 直升机模型和飞行视景

模拟飞行软件主要为仿真系统提供直升机模型、3D飞行视景,以及对直升机飞行环境进行模拟,例如改变天气、风速、温度等[7]。目前使用最多的是开源飞行模拟器Flight Gear。由于本文需要对多架无人直升机进行编队模拟仿真,因此选用更容易实现多机同时在线仿真的X-Plane模拟飞行软件。相对于Flight Gear,X-Plane在数据通信、界面设置上简单明了,对外提供的通信接口实现起来也比较容易。图8所示为多机设置界面,其中IP地址为其他计算机在局域网中的IP地址,端口默认为49000。通过此设置即可完成多机在线同时仿真,从而实现多机编队飞行仿真。

图8 多机设置界面

采用长机-僚机编队方法,首先建立两架无人直升机编队运动模型[8-10]。由于两机间高度不存在耦合,所以忽略高度影响,假设两机处于同一水平面内,建立如图9所示的以僚机速度方向为x轴的固连于僚机的旋转坐标系xWy,其中长机速度和航向角分别为vL、ψL,僚机对应为vW、ψW,其中ψE为航向角偏差信号。

图9 编队相对运动关系

两机间位置关系可表示为:

(1)

式(1)为非线性方程。应用小扰动和小角度假设,在水平面内,对其进行线性化处理:

(2)

编队飞行中每架无人机都安装自动驾驶仪,其一阶动力学模型如下:

(3)

式中:τv为无人机速度时间常数;τψ为航向角时间常数;下标c表示控制量。结合式(2)和式(3)得到编队运动数学模型如下:

(4)

由此可知,编队飞行中主要控制僚机速度和航向角,从而跟随长机并保持一定距离即保持与长机相对位置不变。

2.5 数据中继转发

X-Plane 模拟飞行软件提供了一个基于UDP通信协议的外部数据接口,其中发送端口默认为49000,应用程序通过此接口可以接受X-Plane中直升机相关的飞行数据,比如姿态、速度、高度、位置等,还可以获取环境的相关信息。接收端口默认为49005,通过此端口应用程序可以向X-Plane发送四通道控制指令,完成对直升机的控制。X-Plane对外通信的组帧结构如图10所示,主要包括两个部分:帧头和有效数据,其中帧头为字符串“DATA0”,有效数据由有限组数据构成,每组数据36字节共9个数据,第一位为组号用来标识该组数据表示那种类型的信息。

图10 中继转发的帧结构

由于通信协议的不同,在X-Plane和等效飞控之间通过转发中继程序进行数据的转发,如图11所示。转发中继是基于MFC(Microsoft Foundation Classes)开发的应用程序,实现了两个数据通信接口,UDP通信用来接收X-Plane中有关无人直升机的飞行数据,并通过串口转发给等效飞控,等效飞控根据编队控制要求,产生相应的四通道控制指令,经过转发中继,从而实现对X-Plane中的模型飞机进行相应控制,达到编队效果的目的。

图11 中继转发的通信模式

3 仿真验证

为了验证系统的相关设计目标,对系统进行了联合仿真测试。其测试整体实物图如图12所示,图13为地面站控制界面,图14为飞行实景仿真界面,经过测试验证表面,仿真系统可以很好地进行多机编队飞行的测试,达到了预期设计目标。

图12 整体实物图

图13 地面站

图14 飞行视景

4 结 语

本文基于X-Plane飞行模拟仿真平台设计和实现了多无人直升机编队飞行可视化仿真验证平台。 该系统利用X-Plane自带的直升机模型,开发了等效飞行控制和地面站软件,实现了对编队算法效果的可视化仿真。仿真结果表明,该系统实现以简单、有效、直观的方式验证各种编队策略的实际飞行效果,对多机编队方法的设计、实现和验证具有一定的参考价值。

猜你喜欢
僚机飞控测控
星载测控终端型谱化研究
忠诚僚机
你不是一个人在战斗
混合翼无人机的设计
中小型太阳能无人机航电系统设计
僚机