基于半实物仿真平台的通用无人机系统模拟器设计

2021-07-20 11:54倪怡涛李俊杰李晓明
软件工程 2021年6期
关键词:仿真通讯组件

倪怡涛 李俊杰 李晓明

摘  要:无人机本身是一个复杂的机电系统,是机械、电子、通讯、控制、信息等技术的高度融合体,如何模拟无人机单元是这些系统开发的一个重要课题。本文提出了基于通用半实物仿真平台的无人机模拟方案,与传统的数学模型或数据驱动模型方案相比,该模拟方案更接近真实系统,更容易模拟各种故障,同时也更容易与真实系统进行替换,方便系统整体的开发、测试与运行。提出的模拟器方案基于单元模拟,通过对无人机系统内各个单元的数据交互和通讯协议进行抽象,以真实的接口实现单元之间的数据交互,将无人机飞行模型仿真单元嵌入系统中,实现最大程度接近真机的模拟。测试表明,该模拟方案不但可以用于总体系统的开发和调试,而且对无人机自身的研制、测试等起到了关键作用。

關键词:无人机系统;组件;仿真;通讯

中图分类号:TP311.5     文献标识码:A

Abstract: Unmanned Aerial Vehicle (UAV), a complex electromechanical system, is a high integration of machinery, electronics, communication, control, information and other technologies. How to simulate the UAV unit is an important topic in developing these systems. This paper proposes a UAV simulation solution based on semi-physical simulation platform. Compared with traditional mathematical model or data-driven model program, the simulation solution is closer to the real system, easier to simulate various faults, and easier to match the real system. The system facilitates the overall development, testing and operation of the system. The unit-based simulator solution proposed realizes data interaction between units by abstracting data interaction and communication protocol of each unit in the UAV system with a real interface. UAV flight model simulation unit is embedded in the system to realize the simulation as close as possible to the real machine. Tests show that the simulation solution proposed can not only be used for development and debugging of the overall system, but also play a key role in the development and testing of the UAV itself.

Keywords: UAV system; component; simulation; communication

1   引言(Introduction)

无人机已广泛应用于航空、航天、测控和勘探等领域,其开发测试技术和流程越来越精细和复杂,无人机系统的仿真模拟技术应运而生。目前国内传统无人机系统的开发仿真模拟平台大多采用计算机半自动化的方案,例如LabVIEW[1-2]、MATLAB/Simulink[3]等提供仿真环境,通过软件提供的模块构建仿真模型;基于机器人操作系统(ROS)仿真环境[4],通过ROS集成的可视化功能为无人机系统提供环境信息获取、无人机动力模型搭建及可视化操作[5];基于组件化建模技术、消息总线结构等思想,构建无人机仿真实验模型对无人机系统进行半实物仿真[6-7]。

但是,在进行设备模拟、仿真实验时,开发人员必须手动操作和协调多个测试设备的控制计算机或上位机软件进行配合测试。我国现有的无人机系统模拟平台较多,但是缺少具备自动化、通用化和可伸缩化等特点的无人机系统模拟平台,导致无人机模拟开发测试效率低下,难以满足现代化的无人机开发测试需求。针对该问题,本文以按照网络化仪器概念自研的模块化组合通用测试仪器系统为基础[8],对满足现代化需求的无人机半实物仿真平台进行研究,通过对无人机系统内各个单元的数据交互和通讯协议进行抽象,进行软硬件结合的单元模拟,提出了基于通用半实物仿真平台的无人机模拟方案,最后使用该平台完成无人机半实物仿真实验。

2   无人机系统模拟器方案设计(Program design of Unmanned Aerial Vehicle system simulator)

现有的设备模拟方案基本上可以分为两类,分别是数据驱动[9]和仿真驱动[10]。前者通过预设的数据模型来模拟设备的输入输出数据与总系统进行交互,如图1所示;而后者则是通过数学模型和输入数据进行计算得到输出数据与总系统进行交互,如图2所示。

基于数据模型的模拟适合固定流程与通讯协议的设备模拟,例如设备自检、状态查询等,但对于无人机这种动态系统不太合适;基于仿真模型的模拟则相反,能够动态地生成模拟数据,但对于无人机系统开发流程各环节,通讯等行为的模拟有困难,另外模拟的效果取决于数学模型的真实性,大多数情况下难以保证。

本文提出了基于半实物平台的无人机设备模拟方案,该方案将无人机各个子系统(单元)虚拟化,但各单元的通讯接口采用实物实现,通过接口传送的信号均为真实物理信号。虚拟化的单元运行于计算机系统内,通过数据驱动或者仿真驱动的方式接收真实的输入信号,同时在对应的接口处生成应答的信号。该方案结构如图3所示。

无人机系统可以抽象为飞行模型模拟单元、惯组模拟单元、控制器模拟单元、发动机模拟单元、视觉模拟单元、通讯模拟单元等六个模拟单元。通过该结构图可以看出,本文提出的模拟方案基于半实物仿真平台,通过模拟各个单元的模型及其之间的相互通讯从而实现总体的设备模拟。具体到每个单元的模拟,则可以分别采用数据模型或者仿真模型的方式来实现。

该方案是在本课题组自研的半实物仿真平台基础上设计实现的,该半实物仿真平台硬件上采用组合式结构,通过自有知识产权的仪器总线将嵌入式主机、各个DSP扩展模块、电源系统等连接在一起,可根据需要选择不同的DSP扩展模块,例如CAN通讯模块、串口模块、专用计算模块等。嵌入式主机运行嵌入式操作系统,可以通过以太网络接口与上位机PC进行通讯;软件上开发了基于组件的运行平台和开发平台,提供了图形化编程的应用开发方式以及所见即所得应用界面开发方式。

3   无人机模拟器半实物仿真平台设计与实现(Design   and implementation of semi-physical simulation     platform for Unmanned Aerial Vehicle simulator)

3.1   无人机模拟器系统架构设计

无人机系统模拟以课题组自研的模块化组合通用测试仪器系统为基础,用基于组件化的开发平台/运行平台来实现无人机系统的模拟。应用软件开发平台构成方面,无人机半实物仿真平台主要由运行在上位机的客户端、主机的服务端和前端扩展板的软件程序构成。

无人机系统模拟器采用三层架构的设计,三层闭环模拟系统分为:上位机闭环、主机闭环和前端闭环,如图4所示。上位机闭环显示无人机系统的人机界面,模拟数据显示与应答;主机闭环根据上位机下发的指令和数据进行无人机功能模拟,进行无人机系统内部单元模拟;前端闭环是进行无人机真实单元设备的数据和交互,完整地模拟设备的真实运行。三个层次之间通过数据通讯技术来实现同步,并实现数据自上而下的分解,例如上位机闭环处理的是无人机本体的相关数据,主机闭环处理的是各个模拟单元的标准数据,前端闭环则负责将标准数据转换为前端对应的专用设备可以识别的专用数据或信号。

为了保证模拟器系统的通用性,需要将无人机模拟器内的数据进行标准化,制定各单元间标准的通讯协议,这样在上位机、主机和前端之间交互的数据就是内部的、标准化的数据[11]。所有的数据处理、控制流程、模型计算等都可以标准化并实现通用化;前端与外部物理接口输入输出的数据(信号)是面向应用的,是专用的,由前端模块里的DSP程序负责转换,如图5所示。

3.2   无人机系统模拟器主机与前端通讯接口选择

无人机系统模拟器是模拟真实的无人机设备,系统内部常用设备有惯组、控制器、发动机、视觉传感器等,不同功能、生产厂家和型号的设备产品的硬件体系结构、程序语言定义和具体程序编制等往往不同,它们对外开放的硬件通讯接口和软件通讯协议通常也都各有差异,因此,需要对真实无人机系统内部模块的硬件通讯接口进行梳理归纳,如表1所示。

由此可见,无人机系统中各单元之间通讯方式大部分是标准的通讯接口,可以选用课题组开发的通用IO前端模块系列来实现。该IO通讯系列前端具有标准化的各类硬件通讯接口,包括USB接口、LAN接口、CAN总线接口、RS232/422/485接口等,解决了半实物仿真系统中无人机系统硬件通讯接口不足的问题。对于特别稀有的通讯接口,可以开发专用的前端模块来解决。

3.3   无人机模拟器系統应用高层通讯协议

应用高层协议是主机与DSP前端之间数据交换的标准化协议。该协议建立在半实物仿真平台内部高速仪器总线通讯协议的基础上,在设计时除了数据字段外,预留了32位留给应用层协议实现。该32位主要影响的是发送数据包的优先级问题,由于优先级与具体的操作和消息类型有关,因此该32位主要用来定义发送的消息和数据的类型以及标识。

应用高层协议主要描述的是数据/消息的标识定义方法以及该数据/消息携带的数据的具体封装格式[12-13]。因此,无人机高层协议里主要需要抽象出完整系统中各种数据和消息的定义及结构并标准化,实现通用。

由于数据和消息依赖于具体的单元,因此首先对无人机设备的硬件类型进行归纳,如表2所示。

下面以惯组模拟单元为例介绍高层协议的设计。

惯组模拟单元主要进行环境参数采集、初始经纬度数据采集、初始三轴加速度采集、初始三轴角速度采集、导航参数设置和导航数据采集等操作,如表3所示是惯组模拟单元的每个操作及其对应的参数集合。惯组模拟的类型编号为0,基础操作编号是指该类测试硬件单个基础操作的编号,可以对惯组模拟单元的特定数据进行采集与设置。无人机系统的总线实现了优先级仲裁功能,高优先级的消息能更快地得到响应,因此将惯组模拟单元数据采集、设置以及无人机系统设备设置类从低到高设置优先级。无人机系统硬件的类型数和操作数都在10 个以内,因此将测试硬件类型、优先级和基础操作编号分别预留4 byte、2 byte和4 byte。

3.4   无人机模拟器仿真模型实现

无人机系统模拟器可以抽象为飞行模型组件、惯组组件、控制器组件、发动机组件、视觉组件、通讯组件等基础组件,这些组件遵循通用仪器平台组件设计规范,能够被设计平台和运行平台自动识别,并在设计和运行阶段提供相应的参数属性设置以及预设的功能、操作等。

无人机系统内部设备抽象为单元模拟组件之后,设计相关组件具体功能,如表4所示。

以惯组组件为例,如图6所示,该组件实现模拟惯组设备功能:(1)进行实时仿真惯组的行为模拟;(2)接受控制器模块发来的指令和数据;(3)根据接受的指令做动作或应答;(4)产生应答数据发送给控制器模块,对数据进行实时打包和传递。对该组件,我们定义三个输入端口和两个输出端口,具体组件的端口类型、数据类型、功能说明如表5所示。

4   实例测试(Example demonstration)

本实验基于课题组的模块化组合通用测试仪器系统,实物如图7所示。在软件构成方面,无人机测试平台主要由运行在主控计算机上的客户端、主机的服务端以及前端的DSP程序组成;应用开发平台主要由测试界面(UI)软件开发平台、测试应用软件开发平台、下载管理工具和其他扩展插件组成;测试界面软件开发平台包括UI组件库、UI组件更新软件、测试界面可视化编程软件和测试界面运行软件等部分,其功能是组件的加载和更新,为UI组件提供界面属性编辑视图,允许用户以嵌套界面组件的方式组合和编辑无人机仿真测试界面,最终运行生成无人机测试界面软件;测试应用软件开发平台主要是应用组件库、应用组件更新软件、测试应用可视化编程软件(分别为客户端和服务端)和测试应用运行软件,为应用组件提供加载和更新的功能,其属性编辑视图允许用户以拖放组件图标和组件端口连线的方式组合和编辑无人机仿真测试应用,最终运行生成無人机测试应用软件。

进行无人机系统半实物仿真测试,流程图如图8所示,搭建无人机客户端的测试界面软件和应用软件。本实例进行惯组组件的单元模拟测试。

首先从应用组件库通过拖拉的方式将组件图标拖入可视化编程视图中,如图9所示;再通过嵌套的组合搭建UI测试页面,编辑组件属性;最后绑定开发平台组件的端口进行数据交互,运行测试应用软件进行无人机系统的半实物仿真。

通过上位机客户端展示无人机系统模拟器的实时仿真数据,可以按照测试要求搭建界面数据信息展示组件,启动按钮可以开始无人机界面测试软件的运行,指示灯表示软件运行状态,如图10所示。

通过上位机客户端与主机服务端互相通讯,运行界面测试软件,实时展示无人机惯组组件的传感器数据、导航数据等,如图11所示。

5   结论(Conclusion)

本文所提出的模拟器方案基于单元模拟,通过对无人机系统内各个单元的数据交互和通讯协议进行抽象,以真实的接口实现单元之间的数据交互,将无人机飞行模型仿真单元嵌入系统中,实现最大程度接近真机的模拟。测试表明,使用基于模块化组合通用测试仪器系统的无人机系统测试平台对无人机单元模拟测试,通过组合模块化组件的方式搭建无人机测试软件,说明无人机系统测试平台能够与不同硬件通讯接口和软件通讯协议的无人机系统单元进行通讯,验证了无人机系统测试应用通讯协议的有效性。本文所提出的模拟方案不但可以用于总体系统的开发和调试,同时对无人机自身的研制、测试等也提供了一个重要的平台。

参考文献(References)

[1] 董祥见,陆洋.基于LabVIEW的电控旋翼测控系统设计[J].南京航空航天大学学报,2017,49(02):251-257.

[2] PATEL S, SHARMA V. Analysis of Different Controllers used for boiler drum level control by using LabVIEW simulation[J]. Journal of Trend in Scientific Research and Development, 2019, 4(1):17-24.

[3] 梁勤,马捷中,翟正军,等.基于MATLAB的通用飞行器仿真[J].计算机测量与控制,2008,16(8):1141-1144.

[4] LI Y T, SCANAVINO M, CAPELLO E, et al. A novel distributed architecture for UAV indoor navigation[J].Transportation Research Procedia, 2018(35):6-9.

[5] 陈晋音,杨东勇,俞山青,等.基于ROS的无人机仿真开放性实验教学设计与实现[J].实验科学与技术,2018,16(1):40-43.

[6] 黄克明,张明义,王涛.基于组件化建模技术的无人机仿真实验模型系统设计[J].舰船电子工程,2015,35(12):86-89.

[7] 沈为群,王福,叶斌斌.基于消息总线结构的某无人机仿真平台的研究[J].系统仿真技术,2008,4(04):272-281.

[8] 赵仕俊.网络仪器概念及有关问题的研究[J].仪表技术与传感器,2002(03):37-39.

[9] 马竹青.数据分析模型的构建[J].黑龙江科学,2016,7(17):      22-23.

[10] 张启信,张莉英,王辉.地地战役战术导弹武器系统仿真方案设计与实现[C]//中国自动化学会系统仿真专业委员会,中国系统仿真学会仿真计算机与软件专业委员会.2003系统仿真技术及其应用学术交流会论文集.合肥:中国科学技术大学出版社,2003:495-499.

[11] 温立辉.软件设计模式分析[J].科技创新与应用,2020(07):        92-93.

[12] NEUFELD G, VUONG S. An overview of ASN.1[J]. Elsevier, 1992, 23(5):393-415.

[13] 王沁,许娜,张燕,等.优化TLV编码规则[J].计算机科学,        2008(11):104-106.

作者简介:

倪怡涛(1995-),男,硕士生.研究领域:无人机系统仿真模拟的关键技术.

李俊杰(1986-),女,硕士,工程师.研究领域:测试与诊断,软件开发.

李晓明(1976-),男,博士,副教授.研究领域:机电系统集成,软件开发.本文通讯作者.

猜你喜欢
仿真通讯组件
《茶叶通讯》简介
《茶叶通讯》简介
通讯报道
无人机智能巡检在光伏电站组件诊断中的应用
新型碎边剪刀盘组件
U盾外壳组件注塑模具设计
Buck开关变换器的基本参数设计及仿真分析
试析PLC控制下的自动化立体仓库仿真情况分析
基于MADYMO的航空座椅约束系统优化设计
中国体态假人模型与FAA Hybrid Ⅲ 型假人模型冲击差异性分析