随着无人机与无人集群的快速发展,开发者对于无人机系统仿真测试环境的需求也日渐显现。本文整理了几款常见的无人机仿真平台,旨在为开发者提供一款更为易用、通用且真实可靠的平台。
无人机与无人集群的研制应用快速发展,无人机系统研制过程中试验成本高,空域申请难,测试稳定性低及危险性高等缺点严重限制了无人机集群算法验证的飞行测试工作。无人机系统仿真测试环境应运而生,研究者仅需将无人机研究工作中的实验和算法迭代部分放在仿真环境中,充分验证后再进行实际的飞行测试,可以很大程度上降低研制的成本和风险,有效缩短研制进程。
本文将对比几款常见的无人机仿真平台,旨在为开发者提供一款更为易用、通用且真实可靠的平台,使其专注于算法研究工作,检验理论成果,提升实验效率,大大推动开发人员进入领域研究进程,加速教学、科研的进度。
常见的无人机仿真平台
01
X-Plane无人机仿真平台
X-Plane是一款由Laminar Research开发的仿真平台,针对包括Windows、Linux和MacOS在内的多种操作系统具有特定的构建方式。
该平台有适用于 Android,iOS 和WebOS的移动版本。X-Plane包含许多商用、军用等飞机,场景使用地球大部分地区的真实贴图。具有一种插件设计类型的架构,允许用户创建其他模块,从而扩展了模拟器的功能。X-Plane采用在Plane Maker中创建的几何形状来显示无人机的飞行方式。使用一种工程机制将无人机分为小部分,并找出对每个部分起作用的力。该模拟器可以可视化作用在无人机上的不同作用力和无人机飞行路径等,并且还可以确定飞行故障,其仿真平台采用的是UDP通讯协议。
02
FlightGear开源多平台飞行模拟器
FlightGear是一个开源的多平台飞行模拟器,由FlightGear项目从1997年开始实施,并且一直在持续开发中。
该模拟器具有针对各种操作系统(例如 Windows,Mac,OS,Solaris)以及各种Linux发行版(例如Ubuntu和Debian)的特定构建。FlightGear代码是根据GNU通用公共许可证发行的。必须通过外部3D建模应用程序创建UAV模型,并使用XML文件说明各种UAV功能。由于为多飞机环境开发了多人协议,因此FlightGear可以在本地网络上使用。此外,在多种情况下针对多种模式初始化的不同的多种无人机可以在周围环境中进行协调和通信,此功能可用于空中交通管制或编队飞行模拟。
03
Gazebo 机器人仿真平台
Gazebo 机器人仿真平台是南加州大学 Andrew Howard 博士和他的学生Nate Koenig 开发的一款满足各种条件下在室外环境中模拟机器人的平台。
Willow Garage 的工程师 John Hsu 将ROS和PR2集成整合进了 Gazebo 中,使 Gazebo 成为 ROS环境中主要工具之一。直到2012年,Gazebo从 williow Garage 中脱离并有开源机器人基金会(Open Source Robotics Foundation (OSRF))进行管理与开发。目前 Gazebo 是智能机器人领域应用较为广泛的仿真平台之一,具有多样的物理引擎、传感器模型和 3D场景等模块化设计,同时也具有模拟一般机器人连接部件和关节结构,如复杂的机械手臂或双足机器人。虽然Gazebo 功能丰富,但场景搭建与渲染部分已落后于当代发展,很难创建无人机仿真所需的与现实视觉环境相似的大型场景。
04
JMavSim四旋翼无人机仿真平台
JMavSim是一个用于与PX4固件驱动的四旋翼无人机仿真平台。具有四旋翼无人机通信 MAVlink 接口,并与PX4 固件和 ROS 平台集成在一起,其图像界面由 Java3d设计而成,使用UDP通信协议进行通信。更侧重于飞控相关算法的测试与验证。但是没有办法在仿真环境中添加传感器和检测障碍物,也不能模拟无人机物理特性。
05
AirSim无人机驾驶自动控制仿真平台
AirSim是由微软(Microsoft)于2017年开发的一个基于虚幻引擎Unreal Engine 4的无人机驾驶自动控制仿真平台。
具有高还原度的物理引擎和逼真的视觉场景两大特点,其物理引擎可支持主流无人机协议(如 MavLink)的高频实时硬件在环(HITL)的仿真。同时支持无人机类型、飞控和通信协议的拓展性更新与修改,适用于 pixhawk 飞控及PX4 固件,同时具备普通相机,立体相机,激光雷达,全球定位系统,IMU,磁力计等传感器。不仅可以使用C++和python代码来控制无人机,还可以使用PX4的飞行器遥控器。
06
飞思无人系统仿真开发平台
飞思无人系统仿真开发平台是在北航可靠飞行控制组提出的RflySim仿真框架的基础上开发的一体化无人机系统仿真开发平台,专为无人平台控制系统开发、大规模集群协同、人工智能视觉等前沿研究领域研发的一套高可信度的无人控制系统开发、测试与评估平台。
相对于其他平台,RflySim主要有以下特点:
①无人机物理特性仿真还原度高。
其开发者均为无人机研究团队,具有丰富的无人机领域研究经验;
②易用性。
一键安装、一键代码生成、一键固件部署、一键软硬件在环仿真和快速实飞,将MBD理念应用于整个开发流程,开发者只需具备基础的Simulink(或Python)知识,即可快速将自己的算法经过层层验证并应用于真机上,使其更专注于算法的开发与测试;
③完全分布式构架。
所有应用软件都可以在同一台或多台电脑上多开,并且各个应用之间可以通过UDP网络相互收发消息,这种分布式的构架非常适合于大规模带视觉的无人机集群仿真测试;
④支持多种机型仿真。
支持小车、固定翼、垂直起降飞行器(VTOL)等多种机型。用户可以在Simulink中根据规范的接口搭建机架模型,然后自动生成DLL文件用于HIL仿真。实验平台能被拓展到任意无人系统中;
⑤支持无人机集群仿真。
在同一局域网下,开发者可以使用CopterSim连接多个Pixhawk进行硬件或软件在环仿真。同时,还可以使用Simulink或者C++程序控制飞行器,控制指令会由Mavlink协议经过串口(数传)或者网络(WIFI)发送给Pixhawk;
⑥提供高逼真的3D视景。
提供源码和教程帮助开发者在虚幻4 (Unreal Engine 4 ,UE4)中搭建高度逼真的3D场景,用于室内外环境仿真或者基于视觉算法的开发;场景支持物理碰撞引擎,全球地形和地图,OSGB+Cesium倾斜摄影视景地图导入,自定义GPS坐标,任意多窗口切换观察,RGB、深度、灰度、IMU、激光雷达等传感器数据输出,支持共享内存或者UDP图片直发指定IP地址,可用于机载计算机硬件在环SLAM仿真。
⑦支持基于视觉的控制。
基于UE4的三维视景平台还支持视角切换功能,可以方便地获取到多个视角的图像数据。还支持通过共享内存的方式在Simulink、Python、C/C++等代码平台中实时获取到图像数据并进行处理,处理得到的视觉数据可以通过UDP再返回给CopterSim或者Simulink控制,形成带有视觉的硬件在环仿真闭环。
⑧支持多种故障注入。
可实现的故障类型包括模型故障、通信故障和环境故障等。
效果展示:
软件在环仿真
自动代码生成
硬件在环仿真
带安全防护的真机实验
一键连接PX4的集群软件在环仿真
一键安装与部属
基于UE4的室内硬件在环仿真
无人车的室外硬件在环仿真场景
集群控制和硬件在环仿真
基于视觉的一键穿环控制例程
电机失效故障硬件在环仿真
Simulink控制集群飞机室内飞行实验
各平台特性对比
版权归原作者 飞思实验室 所有, 如有侵权,请联系我们删除。