摘要:本文详解微软开源的AirSim无人机仿真系统,基于UE4虚幻引擎,支持高精度物理建模与“硬件在环”(HILS)技术,适用于复杂环境下的无人机开发、测试与蜂群算法仿真。
AirSim是一个基于虚幻引擎(Unreal Engine,简称UE)的开源无人机模拟器,其相对于其他的无人机模拟器,最大的优势在于,其借助虚幻引擎的物理模拟功能,实现了一个既视觉逼真又物理精确的模拟环境。
UE不仅赋予了AirSim一个近乎完美的画面表现力,还使其能够轻松实现复杂场景下的动态模拟,比如风速变化对无人机飞行轨迹的影响、不同地形条件下的操控响应等等。这种深层次的技术融合,使得AirSim在无人机模拟领域独树一帜,成为众多科研人员与开发者的首选工具。
AirSim无人机仿真环境由两部分组成:Windows平台上使用UE+AirSim插件搭建无人机飞行场景,配置无人机物理参数。
在AirSim中可为导航模块提供图像、激光雷达或GNSS测量数据。灵泽任务计算机开发板运行导航程序,接收Windows传输的测量数据、进行导航解算并输出控制指令至Windows平台来控制无人机和其他无人装备执行任务。
1.部署AirSim
本环境配置在Windows上。AirSim版本为1.8.1,虚幻引擎(UE)采⽤4.27版本,python版本需⾼于3.7,windows10操作系统,Visual Studio 2022社区版。
(1)下载并安装UE v2.7
UE v2.7可以通过官⽅⽹站进⾏下载,选择UE v2.7.2版本,下载地址如下:
https://www.unrealengine.com/zh-CN
首次下载需要注册登录,登录后可下载客户端。
如上图所示,进⼊客户端,点击虚幻引擎,下载安装不同版本的引擎。点击上⽅的“库” 选项卡,然后点击引擎版本后⾯的 “+” 按钮,就会出现当前虚幻引擎的最新版本,点击 “安装” 即可⾃动下载安装,安装成功后,桌⾯会出现⼀个 Unreal Engine的快捷⽅式。继续点击 “+” 按钮,可以同时安装其他的版本。最后点击最新版本中的⼩三⻆,选择 “设置为当前项”,这样默认启动的引擎版本就是当前版本。
(2)下载并安装Visual Studio 2022社区版
Visual Studio 2022社区版可以通过官⽅⽹站进⾏下载,下载地址如下:
https://visualstudio.microsoft.com/zh-hans/vs/

如上图所示,在Visual Studio 2022社区版的安装过程中,需选中使⽤C++的桌⾯开发。
如上图所示,还需要在单个组件选项卡下⾯搜索勾选Windows 10 SDK 10.0.19041.0
待安装步骤执行完成且无报错,则认为Visual Studio 2022社区版安装成功。
(3)部署AirSim
下载AirSim源码并编译,AirSim源码下载地址如下,如国内网络环境不好,可关注中号,并回复:AirSim源码,获取下载好的源码包:
github下载地址如下:
git clone https://github.com/microsoft/AirSim.git
下载之后需要使⽤Cmake进⾏编译,需要先下载Cmake。下载地址如下:
https://cmake.org/download/
下载之后安装即可,安装成功后需要重启电脑,并重启。
在正确完成上述步骤后,如下图所示,在开始菜单中找到并打开“Developer Command Prompt for VS 2022”
打开之后,进⼊到AirSim下载时的⽂件夹中,执⾏.\build.cmd指令进⾏编译,编译有错误可以在公众号中选择联系灵泽,获得指导。
完成编译后,就可以在UE中启动AirSim,并使用其自带的demo测试:
打开“Developer Command Prompt for VS 2022”,进⼊
“Airsim\Unreal\Environments\Blocks” ⽂件夹下。运⾏指令
update_from_git.bat
运⾏完成之后,会在“Airsim\Unreal\Environments\Blocks”⽂件夹下⽣成 “Blocks.sln” ⼯程⽂件,双击打开此⼯程⽂件,会⾃动运⾏ Visual Studio 2022。
在Visual Studio 2022中,将 “Block⼯程” 设为启动项⽬,编译选项设为“DebugGame_Editor”和“Win64”。如下图所示。然后点击 “调试” -> “开始调试”,如下图所示,这时就会⾃动打开虚幻引擎。
如上图所示,Block 环境⾮常简单只有⼏个正⽅体和球,当然你也可以在⾥⾯做⼀些其他的操作。点击上⽅的 “运⾏”,此时会跳出⼀个对话框,点击 “No”,就会出现⼀个四旋翼(如果是点击的 “Yes”,就会出现⼀个⼩⻋)。如果出现上述画面,则证明 AirSim 环境配置成功。
2.接入灵泽任务计算机开发板
灵泽任务计算机开发板,预置了ROS2和MAVROS,如使用其他硬件设备,也可联系灵泽获取ROS和PX4的部署指导。
ROS2是第二代机器人操作系统。它是一个开源的元级操作系统(后操作系统),提供类似于操作系统的服务,包括硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间消息传递、程序发行包管理,它也提供一些工具和库用于获取、建立、编写和执行多机融合的程序。MAVROS 是 PX4 飞控中的 MAVLINK 模块。MAVROS 将话题转为 MAVLINK 格式消息发送给飞控,飞控中的 MAVLINK 模块将 MAVLINK 格式消息转化为 uORB 消息,以便在 PX4 各模块间传递消息。
将灵泽任务计算机开发板接入AirSim仿真,需要在板卡上部署编译AirSim插件。先将前文下载的AirSim源码拷贝到开发板,执行:
在执行成功后,需要配置AirSim服务器的地址。切换root⽤户并打开~/.bashrc⽂件,添加如下内容:
其中地址为AirSim服务器的地址,setup.sh的路径请根据情况⾃⼰查询。至此,灵泽任务计算机开发板配置完成。
3.测试仿真飞行
在灵泽任务计算机开发板中,可通过摇杆或MAVSDK控制无人机运动。摇杆灵泽任务计算机开发板天然支持,下文主要描述如何通过MAVSDK控制无人机运动。
首先,需要下载MAVSDK源码,下载地址如下:
git clone https://github.com/mavlink/MAVSDK.git --recursive
如果国内网络环境不好,可在灵泽智能公众号中回复:MAVSDK源码,获取下载好的源码。
在完成下载后,执行以下编译指令:
cd MAVSDK && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install -Bbuild/default -H.
编译成功后,执⾏如下指令进⾏安装:
cmake --build build/default --target install
安装成功后可以执⾏MAVSDK中的示例代码,验证能否通过mavlink通信。此时,可以根据MAVSDK API编写运动控制代码,API介绍在如下地址:
https://mavsdk.mavlink.io/main/en/cpp/
AirSim能够创建出令人惊叹的真实世界模拟环境,这为无人机等自主移动设备的研究与开发提供了前所未有的便利条件。在AirSim中,我们可以设置各种气象条件,以测试无人机机体和飞控的稳定性和性能,也可以设置各种各样的任务场景,以验证无人机视觉传感器和处理器的能力。通过Airsim引擎支持的HILS技术,AirSim还支持接入各种真实的传感器或飞控硬件,以实现“硬件在环仿真”,使得无人机开发更加高效和便捷。欢迎关注灵泽智能公众号,获取更多关于无人机仿真系统、AirSim使用教程和蜂群算法的最新资讯!

