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 或自定义控制器。
入门指南
- 快速评估 – 从最新的 GitHub 版本下载预构建环境,并按照 预构建环境指南 启动场景并使用 Python 控制车辆。
- 完整构建 – 安装 Unreal 5.2/5.7/5.8,设置
UE_ROOT,运行setup_linux_dev_tools.sh(或 Windows 等效命令),然后构建仿真库(./build.sh simlibs_debug)。生成项目文件并在 VS Code/Visual Studio 中打开工作区。 - 无头模式 – 使用
-RenderOffScreen运行打包的 Unreal 构建,或使用-nullrhi完全禁用渲染,适用于云或 CI 工作负载。 - 仅 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 等流行机器人工具集成。
相关
- 项目
- 项目
- 项目
- 项目
- 项目