iamaisim/ProjectAirSim

Project AirSim is Microsoft's evolution of AirSim, an advanced simulation platform for building, training, and testing autonomous systems in high-fidelity virtual environments

Project AirSim – 简介

Project AirSim 是一个开源、引擎无关的仿真平台,适用于无人机、固定翼飞机和无人地面车辆(UGV)等自主系统。它基于 Microsoft 的原始 AirSim 和 Project AirSim 代码库构建,现由 IAMAI Consulting 维护。核心仿真库和 API 可以无需 3D 引擎运行(轻量级 Project AirSim Runtime),也可以托管在 Unreal Engine 5 中,以提供完整的 3D 世界、渲染传感器和复杂环境。


核心功能(截至 main 分支 / 1.0.0 版本)

功能 详情
车辆类型 可配置的单车辆或多车辆场景;无人机、固定翼飞机(JSBSim Cessna 310、Skywalker X8)、UGV(SimpleDrive SUV Blueprint)。
物理引擎 Fast Physics (C++)、JSBSim、Simulink (MATLAB) – 可通过自定义 C++ 层扩展。
飞行控制器 支持 PX4、ArduPilot 的 SITL/HITL,以及手动控制。
传感器 摄像头、LiDAR(GPU 360°)、雷达、IMU、GPS、气压计、磁力计、空速等(Runtime 中也可使用非渲染传感器)。
多车辆与集群 在共享仿真中同时运行多辆车辆,并配置传感器套件。
API 访问 Python 和 C++ 客户端库;ROS 2 C++ 桥接。
执行模式 • Unreal 主机 – 完整渲染、网格碰撞、动态城市。
• Runtime 主机 – 无头、无渲染、快速物理;仅限于平坦地面碰撞。
跨引擎参考 实验性 Unity 主机(仅供参考,不支持)。

典型用例

  • 感知引导控制 – 例如,使用实时摄像头馈送进行自主着陆。
  • 环境测试 – 在车辆飞行时调整天气、风、光照。
  • 基础设施检查 – 在大型 Unreal 世界中检查风力涡轮机或可再生能源资产。
  • 集群研究 – 同时模拟数十架固定翼或旋翼飞行器。
  • 空中出租车和城市交通 – 在密集城市模型中测试自主空中出租车运营。
  • 机器人集成 – 通过提供的桥接器连接 ROS 2 堆栈、PX4 或自定义控制器。

入门指南

  1. 快速评估 – 从最新的 GitHub 版本下载预构建环境,并按照 预构建环境指南 启动场景并使用 Python 控制车辆。
  2. 完整构建 – 安装 Unreal 5.2/5.7/5.8,设置 UE_ROOT,运行 setup_linux_dev_tools.sh(或 Windows 等效命令),然后构建仿真库(./build.sh simlibs_debug)。生成项目文件并在 VS Code/Visual Studio 中打开工作区。
  3. 无头模式 – 使用 -RenderOffScreen 运行打包的 Unreal 构建,或使用 -nullrhi 完全禁用渲染,适用于云或 CI 工作负载。
  4. 仅 Runtime – 使用轻量级 Project AirSim Runtime 运行物理和非渲染传感器,无需 Unreal(适用于控制器开发或大规模批量运行)。

架构概述

客户端库 (Python / C++ / ROS2)  <--->  仿真主机
   |                                         |
   |   • Runtime(无头)                  |   • 仿真库(核心物理、机器人定义、传感器模型)
   |   • Unreal Engine 插件(渲染)      |

两个主机共享相同的核心库,确保为 Runtime 编写的代码无需修改即可在 Unreal 主机上运行。


平台支持

  • Linux – Ubuntu 22.04(主要),使用 Clang 13 或 Unreal 的打包工具链。
  • Windows – Windows 11,Visual Studio 2022(MSVC 14.37/14.44)。
  • macOS – Apple Silicon (ARM64) 用于无头构建和库测试。
  • Unreal Engine – 5.2、5.7、5.8。
  • Python – ≥ 3.10(低于 4)。
  • ROS 2 – Ubuntu 22.04 上的 Humble。

社区与支持

  • GitHub – 问题、讨论和拉取请求,用于错误、功能和贡献。
  • Discord – 实时社区聊天。
  • 专业服务 – IAMAI 提供仿真准备、PX4/ROS 2 集成、自定义 Unreal 环境和验证管道的咨询服务。

许可证

核心仿真代码、API 和配置系统在 MIT 许可证 下发布。第三方组件(例如 JSBSim 飞机定义、Unreal 资产)保留其原始许可证;详情请参阅 NOTICE.txt 和 thirdparty/Licenses/。


底线: Project AirSim 为自主车辆研究和开发提供了灵活、模块化的仿真堆栈,可使用或不使用重型 3D 引擎,并直接与 ROS 2、PX4 和 ArduPilot 等流行机器人工具集成。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目