1. 先看结论

如果你是做四旋翼强化学习,常见环境大致可以分成 4 类:

  1. 飞控闭环型:PX4 + Gazebo、Crazyswarm2 特色是更接近真实飞控链路,适合做 SITL / HITL / sim-to-real
  2. 高吞吐训练型:Gym-PyBullet-Drones、MuJoCo / MJX、Isaac Sim / Isaac Lab 特色是训练速度快、并行能力强,适合先把奖励函数、动作空间、观测空间和算法跑通。
  3. 高真实感感知型:AirSim、Flightmare、FlightGoggles、Isaac Sim 特色是图像更真实,更适合视觉导航、避障、穿门、竞速等任务。
  4. 教学 / 原型验证型:Webots + Deepbots、Unity ML-Agents、CoppeliaSim、MATLAB/Simulink 特色是上手快、可视化好,但工程闭环和真实飞控对接能力差异较大。

2. 推荐怎么选

2.1 你要是想做“最接近真实无人机系统”

优先选:

  • PX4 SITL + Gazebo Sim
  • Crazyswarm2
  • Isaac Sim + Pegasus / PX4

适合:

  • 飞控在环
  • 真机部署前验证
  • ROS2 / MAVLink / MAVSDK 工作流
  • sim-to-real

2.2 你要是想“先把 RL 跑起来”

优先选:

  • Gym-PyBullet-Drones
  • MuJoCo / MJX
  • Isaac Sim / Isaac Lab

适合:

  • PPO / SAC / TD3 快速实验
  • 奖励函数设计
  • 多环境并行训练
  • 多机 / 多智能体

2.3 你要是想做“视觉导航 / 图像感知”

优先选:

  • AirSim
  • Flightmare
  • FlightGoggles
  • Isaac Sim

适合:

  • RGB / 深度 / 分割 / LiDAR
  • 端到端视觉控制
  • 穿门、竞速、避障

2.4 你要是想做“课程 / 论文复现 / 教学展示”

优先选:

  • Webots + Deepbots
  • Unity ML-Agents
  • MATLAB/Simulink

3. 总表对比

平台WinUbuntu强化学习接口特色缺点适合方向
PX4 + Gazebo Sim可用,常走 WSL2很强需自己封装 Gym / 走 ROS2 / MAVSDK最接近真实飞控,支持 SITL/HITLWindows 不如 Ubuntu 省心飞控闭环、sim-to-real
RotorS不推荐原生 WinROS 封装,自建 Gym经典论文多,便于复现生态偏旧,ROS1/Gazebo Classic 老论文复现、传统控制对比
AirSim可用Python API / Gym wrapperUnreal 画面真实,视觉任务强官方主仓库已停止更新,长期维护风险大视觉导航、障碍回避
PRL4AirSim并行 RL 工作流AirSim 上做分布式并行训练依赖 AirSim 本体视觉 RL 并行训练
FlightmareWindows 成本高自带 Gym-style wrapper渲染与物理解耦,能高并行Windows 生态弱视觉+控制、论文实验
Gym-PyBullet-Drones原生 Gymnasium上手快,训练快,多机方便真实感不如 AirSim / Isaac算法验证、基线实验
FlightGogglesROS / Python 封装感知真实性高,HIL 思路强不原生 Gym,要自己桥接视觉感知、HIL
Crazyswarm2WSL 实验性很强ROS2,自封装 Gym多机编队非常强,仿真/真机接口一致性好更偏 Crazyflie 生态多机协同、集群控制
Webots + DeepbotsGym-style教学友好、跨平台好物理和真实感上限一般教学、快速原型
MuJoCo / MJXPython / JAX / Gym 自建并行强、适合高吞吐训练视觉真实感弱高速训练、sim-to-real 研究
Isaac Sim + Isaac Lab很强Isaac Lab / OmniDronesGPU 并行强、传感器强、视觉强显卡和显存要求高大规模训练、视觉控制
Unity + ML-Agents原生 ML-Agents / Gym wrapper可视化好,易做课程展示真飞控链路要自己搭教学、自定义任务
CoppeliaSimRemote API 桥接 Gym场景搭建方便RL 生态不如 Gym 系原型验证
MATLAB/SimulinkRL Toolbox工程链路完整,适合控制/验证商业软件,成本高工程验证、控制系统设计

4. 各平台详细说明


4.1 PX4 SITL + Gazebo Sim

平台特点

这是目前做四旋翼仿真时最“工程化”的路线之一。如果你未来想和真实飞控、QGroundControl、MAVLink、ROS2、MAVSDK 对接,这套非常重要。

优点

  • SITL
  • HITL
  • 贴近真实 PX4 飞控链路
  • 适合 sim-to-real
  • 和 QGC、ROS2、MAVSDK 生态衔接自然

缺点

  • 原生不是 Gym,要自己封装 RL 环境
  • Windows 一般不建议原生跑,通常用 WSL2
  • 多机仿真在 Linux 下体验更好

Windows 怎么用

常见方式:

  1. Windows 装 WSL2
  2. WSL2 内装 Ubuntu
  3. 在 Ubuntu 里装 PX4 + Gazebo
  4. Windows 侧跑 QGroundControl 看状态

Ubuntu 怎么用

最常见:

  1. 安装 PX4 开发环境
  2. 安装 Gazebo Sim
  3. make px4_sitl gz_x500
  4. 用 ROS2 / MAVSDK 订阅状态、发送控制

RL 使用方式

通常做法不是直接 pip install env 就能训,而是:

  • Gazebo + PX4 负责物理和飞控
  • Python / ROS2 / MAVSDK 负责状态读取
  • 你自己写一个 Gym wrapper
  • 再接 PPO / SAC / TD3

更适合什么论文方向

  • sim-to-real
  • 飞控在环
  • 轨迹跟踪
  • 避障与导航
  • 真机验证

4.2 RotorS

平台特点

RotorS 是经典老牌多旋翼 Gazebo 仿真框架,很多老论文都基于它。

优点

  • 文献很多
  • 经典多旋翼模型齐全
  • 做老论文复现很方便

缺点

  • ROS1 / Gazebo Classic
  • 生态老
  • 在新系统上经常要修依赖

适合谁

  • 你要复现 2017~2022 年左右的一批 Gazebo / RL / 控制论文
  • 你要和经典 baseline 比

4.3 AirSim

平台特点

AirSim 基于 Unreal,引擎视觉效果很好,尤其适合:

  • 视觉导航
  • 避障
  • 穿门
  • 竞速
  • 端到端图像控制

优点

  • 视觉很真实
  • 传感器丰富:RGB、深度、IMU、GPS、LiDAR 等
  • Python API 用起来方便
  • Windows 体验相对不错

缺点

  • 官方主仓库已经停止更新
  • 长期项目风险比较大
  • 更适合作为“已有论文生态和历史平台”来用

Windows 怎么用

  1. 安装 Visual Studio
  2. 安装 Unreal Engine
  3. 编译 AirSim
  4. 打开示例场景
  5. 用 Python API 控制无人机

Ubuntu 怎么用

  1. 安装 Unreal Linux 构建环境
  2. 编译 AirSim
  3. 启动仿真环境
  4. Python 调 API

RL 怎么用

最常见:

  • 自己写 Gym wrapper
  • 或参考 Air Learning、PRL4AirSim

适合什么研究

  • 视觉导航
  • 图像到动作
  • 穿门、竞速、目标追踪
  • 感知驱动 RL

4.4 PRL4AirSim

平台特点

这是 AirSim 上的并行 RL 加速方案。

特色

  • 用多个实例并行跑采样
  • 缩短训练时间
  • 更适合 AirSim 这种单实例开销较大的平台

适合谁

  • 你已经决定用 AirSim
  • 但觉得 AirSim 训练太慢
  • 想做大规模视觉 RL

4.5 Flightmare

平台特点

Flightmare 是一个很强的研究平台。它把:

  • 渲染
  • 物理 分离开来,因此在画面不错的同时还能做到较高吞吐。

优点

  • 有 Gym-style Python wrapper
  • 可并行很多四旋翼
  • 可做视觉任务
  • 可做控制任务
  • 很适合论文实验

缺点

  • Windows 使用不如 Ubuntu 友好
  • 更偏研究型平台,不像 PX4 那么工程闭环完整

Ubuntu 使用方式

  • 装 Python 依赖
  • 安装 flightlib
  • 可选装 ROS 版本
  • 调其 wrapper 接 PPO / SAC

适合研究

  • 视觉控制
  • 穿门、竞速
  • 稳定控制
  • 高并行 RL

4.6 Gym-PyBullet-Drones

平台特点

这是最适合初学者快速做四旋翼 RL 的平台之一。

优点

  • 原生 Gymnasium 风格
  • Python 友好
  • Windows / Ubuntu 都好装
  • 多机、多智能体支持好
  • 很多示例直接能接 SB3 / RLlib

缺点

  • 真实感一般
  • 更偏“算法训练环境”,不是飞控闭环环境

怎么用

非常直接:

 import gymnasium as gym
 from stable_baselines3 import PPO
 ​
 env = gym.make ("hover-aviary-v0", obs="kin", act="rpm")
 model = PPO ("MlpPolicy", env, verbose=1)
 model.learn (total_timesteps=1_000_000)

适合谁

  • 想先做 hover / tracking / formation 的 baseline
  • 想快速对比 PPO / SAC / TD3
  • 想做多机强化学习

4.7 FlightGoggles

平台特点

FlightGoggles 的核心强项不是“最方便训练”,而是:

  • 高真实感传感器
  • HIL 思想
  • 感知驱动飞行

优点

  • 图像逼真
  • 适合视觉与惯导结合
  • 文档里有多 agent 示例

缺点

  • 不原生 Gym
  • 训练前一般要自己做 ROS / Python 桥接

适合谁

  • 做视觉感知
  • 做 VIO / 感知-控制耦合
  • 做 sim-to-real 感知实验

4.8 Crazyswarm2

平台特点

如果你关注的是多机编队,它非常突出。

优点

  • ROS2 生态
  • Crazyflie 仿真和真机链路很近
  • 多机编队很方便
  • 单机、多机都能做

缺点

  • 更偏 Crazyflie 平台
  • 不属于“拿来就能训 RL”的 Gym 环境
  • 更需要你有 ROS2 基础

适合研究

  • swarm / formation
  • 多智能体 RL
  • 协同控制
  • 真机编队验证

4.9 Webots + Deepbots

平台特点

这是一个很适合教学、入门和课程作业的组合。

优点

  • 跨平台
  • Webots 界面友好
  • Deepbots 能把它包装成 Gym 风格
  • 上手难度低

缺点

  • 高机动飞行动力学研究通常不作为首选
  • 真实感和工程闭环不如 PX4 / Isaac

适合谁

  • 想快速出一个四旋翼 RL demo
  • 做课程设计
  • 做教学展示

4.10 MuJoCo / MJX

平台特点

MuJoCo 现在非常适合做高吞吐仿真,尤其和 JAX / MJX 结合时。

优点

  • 并行能力强
  • 做系统辨识、域随机化方便
  • 适合大规模训练
  • Windows / Ubuntu 都能用

缺点

  • 视觉真实感不如 Unreal / Isaac
  • 真实飞控闭环需要自己搭

适合研究

  • 高速 RL
  • sim-to-real 方法学
  • 系统辨识
  • 动力学建模

4.11 Isaac Sim + Isaac Lab / Pegasus / OmniDrones

平台特点

这是近几年非常强势的一条路线,尤其适合 GPU 大规模并行训练和视觉任务。

优点

  • GPU 并行能力强
  • 传感器强
  • 渲染强
  • 有 Isaac Lab 工作流
  • 有 Pegasus、OmniDrones 等无人机扩展

缺点

  • 显卡、显存要求高
  • 学习成本高
  • 配置复杂度也高

适合谁

  • 有较强 GPU 资源
  • 要做大规模训练
  • 要做视觉 + 多传感器 + RL
  • 想走新一代高性能仿真栈

4.12 Unity + ML-Agents

平台特点

Unity 最大的优势是:

  • 场景编辑非常方便
  • 展示效果好
  • 自定义任务快

优点

  • Windows 体验很好
  • 上手较快
  • 适合自定义关卡、障碍物、目标点任务
  • 课程展示友好

缺点

  • 真正做四旋翼动力学、飞控闭环,很多东西要自己补
  • 更适合“自定义任务仿真”,不是传统无人机工程平台

适合研究

  • 导航任务
  • 路径规划
  • 教学演示
  • 强化学习课程项目

4.13 CoppeliaSim

平台特点

它更像一个通用机器人仿真平台,能做四旋翼,但不是最主流的四旋翼 RL 生态。

优点

  • 场景搭建方便
  • Remote API 丰富
  • 跨平台

缺点

  • RL 生态较弱
  • 四旋翼相关社区不如前面几个平台强

适合谁

  • 已经有 CoppeliaSim 基础
  • 做教学或小型原型验证

4.14 MATLAB / Simulink

平台特点

如果你本身做控制、建模、工程验证,这套很顺。

优点

  • 工程链路完整
  • RL Toolbox 可直接训练
  • UAV Toolbox 能和 PX4 工作流衔接
  • 对控制工程背景的人非常友好

缺点

  • 商业软件
  • 成本高
  • 与 Python/Gym 世界融合不如前面那些自然

适合谁

  • 控制方向研究生
  • 工程验证
  • 模型驱动 + RL 混合方法

5. 不同系统下怎么选

5.1 Windows 下优先考虑

第一梯队

  • Gym-PyBullet-Drones
  • AirSim
  • Unity ML-Agents
  • Webots
  • MuJoCo
  • Isaac Sim

第二梯队

  • PX4 + Gazebo(通常走 WSL2)
  • Crazyswarm2(WSL2 实验性)
  • Flightmare(更多还是 Ubuntu)

Windows 建议

如果你主力电脑是 Windows,推荐 3 条路线:

路线 A:快速做 RL

  • Python
  • Gym-PyBullet-Drones
  • SB3 / RLlib

路线 B:做视觉

  • AirSim 或 Unity
  • Python RL

路线 C:未来要接真实飞控

  • Windows + WSL2
  • 在 WSL2 里跑 PX4 / ROS2 / Gazebo

5.2 Ubuntu 下优先考虑

Ubuntu 几乎是无人机仿真的主战场。

最推荐

  • PX4 + Gazebo
  • Flightmare
  • Gym-PyBullet-Drones
  • MuJoCo
  • Isaac Sim
  • Crazyswarm2

Ubuntu 优势

  • ROS / ROS2 生态完整
  • PX4 文档默认更偏 Linux
  • 多机、多进程、容器化更稳定
  • 真机部署链路更自然

6. 一个通用训练流程

不管你选哪个平台,通常都遵循这个流程:

  1. 确定任务

    • 悬停
    • 定点控制
    • 轨迹跟踪
    • 避障
    • 穿门
    • 多机编队
  2. 定义状态

    • 位置、速度、姿态、角速度
    • 或 RGB / 深度 / IMU
  3. 定义动作

    • 电机转速
    • 推力 + 力矩
    • 角速度指令
    • 速度指令
  4. 定义奖励

    • 目标误差
    • 控制能耗
    • 平滑性
    • 碰撞惩罚
    • 时间惩罚
  5. 训练

    • PPO / SAC / TD3 / DDPG / 多智能体算法
  6. 评估

    • 成功率
    • 稳定时间
    • 碰撞率
    • 跟踪误差
    • 泛化能力
  7. sim-to-real

    • 域随机化
    • 传感器噪声
    • 延迟建模
    • 系统辨识
    • SITL → HITL → 真机

7. 值得关注的代表论文

7.1 AirSim 方向

1) Air Learning: A Deep Reinforcement Learning Gym for Autonomous Aerial Robot Visual Navigation

  • 核心:把 AirSim 用成视觉导航 RL 平台
  • 适合:视觉导航、避障、端到端策略

2) Parallel Reinforcement Learning Simulation for Visual Quadrotor Navigation (PRL4AirSim)

  • 核心:解决 AirSim 训练慢的问题
  • 适合:并行采样、视觉任务

7.2 Gazebo / RotorS / sim-to-real 方向

3) Reinforcement learning based autonomous multi-rotor landing on moving platforms

  • 核心:Gazebo + ROS + 真机部署
  • 价值:很适合看“仿真到实机”的完整链路

4) Deep reinforcement learning for quadrotor path following with adaptive velocity

  • 核心:路径跟踪 + 连续控制 RL
  • 价值:适合轨迹跟踪研究入门

7.3 Flightmare 方向

5) Flightmare: A Flexible Quadrotor Simulator

  • 核心:渲染与物理解耦、支持高并行、支持 RL
  • 价值:研究型平台代表作

7.4 PyBullet 方向

6) Learning to Fly — a Gym Environment with PyBullet Physics for Reinforcement Learning of Multi-agent Quadcopter Control

  • 核心:标准化 Gym 风格四旋翼环境
  • 价值:算法比较和基线非常实用

7.5 Isaac / Omniverse 方向

7) Pegasus Simulator: An Isaac Sim Framework for Multiple Aerial Vehicles Simulation

  • 核心:Isaac Sim 上的多飞行器仿真框架
  • 价值:高真实感与 PX4 / ROS2 融合

8) OmniDrones: An Efficient and Flexible Platform for Reinforcement Learning in Drone Control

  • 核心:Isaac Sim 上的无人机 RL 平台化
  • 价值:新一代高性能无人机 RL 基准平台

7.6 FlightGoggles 方向

9) FlightGoggles: Photorealistic Sensor Simulation for Perception-driven Robotics using Photogrammetry and Virtual Reality

  • 核心:高真实感传感器仿真
  • 价值:适合做视觉感知驱动控制研究

7.7 MuJoCo / MJX 方向

10) How to Model Your Crazyflie Brushless

  • 核心:JAX + MJX 高并行仿真并部署到真机
  • 价值:很适合 sim-to-real 方法研究

8. 按研究目标给建议

8.1 你要做“悬停 / 轨迹跟踪 / 基础控制”

优先:

  • Gym-PyBullet-Drones
  • MuJoCo
  • PX4 + Gazebo

8.2 你要做“视觉避障 / 视觉导航 / 穿门”

优先:

  • AirSim
  • Flightmare
  • FlightGoggles
  • Isaac Sim

8.3 你要做“多机协同 / 编队”

优先:

  • Crazyswarm2
  • Gym-PyBullet-Drones
  • Isaac Sim / OmniDrones

8.4 你要做“真机迁移 / sim-to-real”

优先:

  • PX4 + Gazebo
  • Crazyswarm2
  • Isaac Sim + Pegasus
  • MuJoCo / MJX(方法研究)

8.5 你要做“课程设计 / 快速出结果”

优先:

  • Gym-PyBullet-Drones
  • Webots + Deepbots
  • Unity ML-Agents

9. 最后的实用建议

如果你现在是新手

直接从 Gym-PyBullet-Drones 开始。原因:

  • 安装简单
  • 代码直观
  • RL 接口成熟
  • 很快能看到结果

如果你以后想接真实无人机

尽快转到 PX4 + Gazebo。原因:

  • 这是工程路线
  • 和真实飞控最接近

如果你做视觉论文

优先考虑:

  • Flightmare
  • Isaac Sim
  • AirSim(但注意维护风险)

如果你做多机

优先考虑:

  • Crazyswarm2
  • Gym-PyBullet-Drones
  • OmniDrones

10. 一个非常实用的学习路线

路线 1:快速入门

  • Gym-PyBullet-Drones
  • PPO / SAC
  • 悬停 → 轨迹跟踪 → 编队

路线 2:工程落地

  • PX4 + Gazebo
  • ROS2 / MAVSDK
  • SITL → HITL → 真机

路线 3:视觉研究

  • Flightmare / Isaac Sim / AirSim
  • 图像观测
  • 视觉导航 / 穿门 / 避障

11. 参考链接(官方 / 代表仓库)


12. 一句话总结

  • 想快:Gym-PyBullet-Drones
  • 想真:PX4 + Gazebo
  • 想看图像任务:Flightmare / Isaac Sim / AirSim
  • 想多机:Crazyswarm2 / OmniDrones / Gym-PyBullet-Drones
  • 想真机迁移:PX4 / Crazyswarm2 / Pegasus / MuJoCo 方法研究