Isaac Sim + Pegasus + PX4 无人机基础控制培训文档

本文档说明如何在 Isaac Sim 中加载无人机,并通过 QGC 或 ROS 2 进行控制。

Pegasus 负责将仿真中的无人机接入 PX4。PX4 接收 QGroundControl 或 ROS 2 的控制命令,并驱动无人机运动。

本文档面向第一次接触 Isaac Sim 无人机仿真的参赛者。推荐阅读顺序为:先使用官方 Iris 验证基础链路,再使用 ROS 2 控制无人机,最后替换为自己的比赛无人机资产。

默认测试环境:

代码按 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 环境。

文档导读:四个内容模块

核心链路是:

模块说明内容学习结果
模块一:基础认知与仿真控制链路系统架构理解 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。该文件为问题排查文档,按报错现象整理检查顺序。

 

参考资料