概述
本文档详细记录了在 Ubuntu 系统下搭建 ROS2 Humble、Gazebo Classic 与 PX4 Autopilot 的完整流程,从源码获取到最终实现无人机虚拟起飞。适合希望快速上手无人机仿真开发的开发者参考。
前置环境
- ROS2 Humble
- Gazebo Classic (11)
获取源码
在 Home 目录下使用 Git 克隆 PX4 代码仓库,务必加上 --recursive 参数以更新所有子模块。
git clone https://github.com/PX4/PX4-Autopilot.git --recursive
注意:源码包含大量子模块,不建议直接从 GitHub 下载 zip 包解压,否则会导致依赖缺失。国内网络克隆速度较慢,建议开启网络加速。
安装依赖
PX4 提供了自动化脚本,可一键安装编译及仿真所需的依赖。
cd PX4-Autopilot
bash ./Tools/setup/ubuntu.sh
如果仅进行仿真测试且无需编译固件,可跳过部分耗时步骤:
cd PX4-Autopilot
bash ./Tools/setup/ubuntu.sh --no-nuttx
编译并运行示例
进入 PX4-Autopilot 目录执行构建命令。首次编译时间较长,请耐心等待。
make px4_sitl gazebo-classic_iris
成功后会弹出 Gazebo 窗口,界面中显示黑色无人机模型即表示环境正常。

配置地面站 (QGC)
QGroundControl 是监控和操控飞机的核心软件。安装前需对 Ubuntu 系统进行少量配置以确保串口通信正常。
# 添加用户到 dialout 组以便访问 USB 设备
sudo usermod -aG dialout "$(id -un)"
# 移除可能干扰串口的 ModemManager
sudo apt-get remove modemmanager -y
# 安装视频流支持库
sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y
sudo apt install libfuse2 -y
sudo apt install libxcb-xinerama0 libxkbcommon-x11-0 libxcb-cursor-dev -y
前往 QGroundControl 官方文档 下载 Linux 版本 AppImage 文件,移至主目录并赋予执行权限:

