本文档说明如何在 Isaac Sim 中加载无人机,并通过 QGC 或 ROS 2 进行控制。
Pegasus 负责将仿真中的无人机接入 PX4。PX4 接收 QGroundControl 或 ROS 2 的控制命令,并驱动无人机运动。
本文档面向第一次接触 Isaac Sim 无人机仿真的参赛者。推荐阅读顺序为:先使用官方 Iris 验证基础链路,再使用 ROS 2 控制无人机,最后替换为自己的比赛无人机资产。
默认测试环境:
Ubuntu 20.04ROS 2 FoxyPX4 v1.14.xIsaac Sim + Pegasus Simulator代码按 Ubuntu 20.04、24.04 和 26.04 做了兼容处理,但当前仅在 Ubuntu 20.04 上完整测试。建议使用 Ubuntu 20.04 运行本文档中的示例。24.04 和 26.04 遇到依赖、Python 或 ROS 2 版本问题时,需要按对应系统调整。
ROS 2 Foxy 已经停止官方维护。本文档继续使用 Foxy,是为了匹配 Ubuntu 20.04 环境。
核心链路是:
xxxxxxxxxxIsaac Sim 场景 -> Pegasus Simulator 加载无人机并连接 PX4 -> PX4 SITL 执行飞控逻辑 -> QGroundControl 做状态监控和手动控制 -> ROS 2 / px4_msgs 做 Offboard 自动控制 -> 替换为自定义比赛无人机| 模块 | 说明内容 | 学习结果 |
|---|---|---|
| 模块一:基础认知与仿真控制链路 | 系统架构 | 理解 Isaac Sim、Pegasus、PX4、QGC、ROS 2 的职责 |
| 模块二:Isaac Sim + Pegasus + PX4 官方 Iris 试飞 | 官方 Iris 基础飞行 | QGC 可以连接 PX4,Iris 可以 arm、takeoff、move、land |
| 模块三:PX4 Offboard 与 ROS 2 代码控制 | ROS 2 自动控制 | 理解 ROS 2 控制流程,并使用代码完成 takeoff、move、hover、land |
| 模块四:自定义无人机接入与资产说明 | 比赛无人机资产接入 | 加载 Sunray150,并判断问题所在层级 |
| 问题排查 | 安装、通信、Offboard、自定义资产问题 | 按现象定位到 Isaac Sim、Pegasus、PX4、ROS 2 或 USD 资产 |
推荐阅读顺序:
| 顺序 | 主题 | 目标 |
|---|---|---|
| 1 | 基础链路 + Pegasus + PX4 + QGC + Iris 手动试飞 | 在 Isaac Sim 中加载 Iris,QGC 显示 Ready To Fly,并完成手动起飞、移动、降落 |
| 2 | 坐标系 + ROS 2 Offboard + 代码控制 | 查看 /fmu/out/* 状态话题,运行控制菜单,并理解 z=-1 表示上升的原因 |
| 3 | 自定义无人机 + 比赛资产 + 接入排查 | 加载比赛无人机资产,确认 /World/quadrotor 和 /World/quadrotor/body,并通过 QGC 或 ROS 2 控制 |
运行时遇到问题,先查看 docs/05_疑难杂症_QA.md。该文件为问题排查文档,按报错现象整理检查顺序。