AirLib
AirSim代码的大部分 都位于 AirLib. 这是一个独立的库 a self-contained library,你可以使用任何 C++11 编译器进行编译。
AirLib包含以下组件:
物理
- 物理引擎 Physics engine:这是header-only physics engine? 它旨在快速和可扩展,以实现不同的车辆。
- 传感器型号Sensor models:这是用于气压计,IMU,GPS和磁力计的 header-only models?
- 车型Vehicle models:这是车辆配置和型号的 header-only models。
目前我们已经在X配置中实现了MultiRotor的模型和PX4 QuadRotor的配置。 - 控制库:AirLib的这一部分为我们的API 提供 抽象基类abstract base class,并为特定的车辆平台(如MavLink)提供 具体实现concrete implementation。 它还具有RPC客户端client 和服务器server的类。
Unreal/Plugins/AirSim
这是项目中唯一依赖于虚幻引擎的部分。 我们已将它隔离,因此我们也可以为其他平台实现模拟器(例如,Unity)。
虚幻代码利用其基于UObject的类(包括蓝图)。The Unreal code takes advantage of its UObject based classes including Blueprints.
- SimMode_类 SimMode_ classes:我们希