概述
本文介绍如何在 Ubuntu 环境下搭建 ROS2 + Gazebo Classic + PX4 的无人机仿真环境,并实现从环境配置到无人机起飞的完整流程。
环境搭建
前置环境
- ROS2 Humble
- Gazebo Classic (11)
1. 下载 PX4 源码
在 Home 目录下,使用 Git 克隆 PX4 代码仓库,并更新所有子模块。
git clone https://github.com/PX4/PX4-Autopilot.git --recursive
**注意:**由于源码包含许多子模块,不建议直接从 GitHub 主页下载 zip 包解压,这会缺失子模块。若网络较慢,建议使用代理加速。
2. 运行自动安装脚本
PX4 提供自动化脚本,可安装编译仿真环境所需的所有依赖。
cd PX4-Autopilot
bash ./Tools/setup/ubuntu.sh
如果仅用于仿真且无需与实体硬件交互,可选择跳过固件/编译环境的安装以节省时间:
cd PX4-Autopilot
bash ./Tools/setup/ubuntu.sh --no-nuttx
3. 编译并运行示例
在 PX4-Autopilot 目录下执行以下命令:
make px4_sitl gazebo-classic_iris
首次编译耗时较长属正常现象,请耐心等待。
成功启动后,Gazebo 将弹出并显示一架黑色无人机模型。
4. 安装并配置 QGC(地面站)
QGroundControl (QGC) 是用于地面监控和操控飞机的软件。安装前需对 Ubuntu 系统进行配置以确保通信正常。
# 将用户添加到 dialout 组以便访问 USB 设备
sudo usermod -aG dialout "$(id -un)"
# 移除 ModemManager,避免干扰串口通信
sudo apt-get remove modemmanager -y
# 安装 GStreamer 相关库以支持视频流
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 文件执行权限:
chmod +x ./QGroundControl-x86_64.AppImage

