跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
C++AI算法

ROS2+Gazebo+PX4 环境搭建与仿真飞行指南

ROS2 Humble 结合 Gazebo Classic 与 PX4 Autopilot 构建无人机仿真环境。步骤涵盖源码克隆、依赖安装、固件编译、QGroundControl 地面站配置、Micro-XRCE-DDS-Agent 通信桥接以及 ROS2 消息包集成。最终通过多终端协同启动仿真器与控制节点,实现虚拟无人机的离线控制与状态监控,为后续机器人开发奠定环境基础。

w795471发布于 2026/4/12更新于 2026/5/2119 浏览

环境搭建

前置环境

  • ROS2 humble
  • Gazebo Classic (11)

1. 下载 PX4 源码

在 Home 目录下,使用 Git 克隆 PX4 代码仓库并更新子模块。

git clone https://github.com/PX4/PX4-Autopilot.git --recursive

注意:源码包含许多子模块,不建议直接下载 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 用于地面监控和操控。需先配置 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

从官网下载 Linux 版本并移至主目录。赋予 AppImage 文件执行权限:

chmod +x ./QGroundControl-x86_64.AppImage

5. 安装 Micro-XRCE-DDS-Agent

作为 ROS2 与 PX4 的通信桥梁。

# 安装依赖
sudo apt install -y ros-humble-ros-base ros-humble-geometry-msgs ros-humble-sensor-msgs
# 编译 Micro-XRCE-DDS-Agent
 ~
git  https://github.com/eProsima/Micro-XRCE-DDS-Agent.git
 Micro-XRCE-DDS-Agent
 build &&  build
cmake ..
make
 make install
 ldconfig /usr/local/lib/
cd
clone
cd
mkdir
cd
sudo
sudo

注意:编译过程对网络要求较高,建议开启网络加速并耐心等待。

6. 配置 PX4 的 ROS2 接口

cd ~/PX4-Autopilot
# 安装 Python 依赖
pip3 install --user -U empy pyros-genmsg setuptools
# 创建工作空间
mkdir -p ros2_ws/src
cd ros2_ws/src
# 克隆 PX4 消息包
git clone https://github.com/PX4/px4_msgs.git
git clone https://github.com/PX4/px4_ros_com.git
# 编译
cd ..
colcon build

注意:安装 Python 依赖时可能出现版本冲突,建议降级至稳定组合:

pip3 install --user empy==3.3.4 setuptools==59.8.0

每次创建 PX4 工作空间时,均需克隆 PX4 的消息包。

7. 启动仿真

打开多个终端分别执行以下命令:

# 终端 1:启动 Micro-XRCE-DDS-Agent
MicroXRCEAgent udp4 -p 8888

# 终端 2:启动 Gazebo 仿真
cd ~/PX4-Autopilot
make px4_sitl gazebo-classic_iris
# 其他机型示例:gazebo-classic_iris_depth_camera, gazebo-classic_iris_vision 等

# 终端 3:启动 QGroundControl(可选)
./QGroundControl-x86_64.AppImage

# 终端 4:进入工作空间后启动控制节点
ros2 run px4_ros_com offboard_control

参考资料

  • PX4 飞控官网:https://docs.px4.io/main/zh/
  • QGC 地面站:https://qgroundcontrol.com/

目录

  1. 环境搭建
  2. 前置环境
  3. 1. 下载 PX4 源码
  4. 2. 运行自动安装脚本
  5. 3. 编译并运行示例
  6. 4. 安装并配置 QGC(地面站)
  7. 将用户添加到 dialout 组以便访问 USB 设备
  8. 移除 ModemManager,防止干扰串口通信
  9. 安装 GStreamer 相关库及依赖
  10. 5. 安装 Micro-XRCE-DDS-Agent
  11. 安装依赖
  12. 编译 Micro-XRCE-DDS-Agent
  13. 6. 配置 PX4 的 ROS2 接口
  14. 安装 Python 依赖
  15. 创建工作空间
  16. 克隆 PX4 消息包
  17. 编译
  18. 7. 启动仿真
  19. 终端 1:启动 Micro-XRCE-DDS-Agent
  20. 终端 2:启动 Gazebo 仿真
  21. 其他机型示例:gazebo-classicirisdepthcamera, gazebo-classiciris_vision 等
  22. 终端 3:启动 QGroundControl(可选)
  23. 终端 4:进入工作空间后启动控制节点
  24. 参考资料
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • FPGA 实现多协议编码器接口:BISS-C、SSI 与多摩川集成
  • 2026 年全球 AI 大模型发展深度报告
  • Linux System V 共享内存:原理、实操与常见陷阱
  • AI 面试辅助工具即答侠技术架构与功能解析
  • Stable Diffusion 底模与 VAE 搭配指南:提升生成质量的核心策略
  • AIGC 核心概念解析:22 个基础术语详解
  • 五大经典排序算法详解:插入、希尔、冒泡、选择与堆排序
  • 线性动态规划经典四题实战解析
  • Effective Java 第 32 条:谨慎并用泛型和可变参数
  • AI 驱动的对话式 PCB 设计工具实战与展望
  • Neo4j Desktop 2.0 安装及自定义路径配置指南
  • 前缀和算法实战:从一维到二维及哈希结合应用
  • 缓存算法:LRU 与 LFU 原理及 Java 实现
  • OpenClaw 飞书机器人权限配置与安全指南
  • 91n 网络环境下最优 TensorFlow 镜像拉取方案
  • 无人机视觉目标检测数据集 VisDrone 详解
  • AI 智能体工具:OpenCode、OpenClaw 安装与配置指南
  • 三维模型数据结构与存储方式解析
  • OpenClaw 开源智能 AI 助理云端部署方案
  • VS Code 配置 GitHub Copilot Agent Skills 实战指南

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online