跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / BashAI算法

ROS2+Gazebo+PX4 环境搭建及无人机仿真起飞指南

环境搭建 前置环境 ROS2 humble Gazebo Classic (11) 下载 PX4 源码 在 Home 目录下,使用 Git 克隆 PX4 的代码仓库,并更新所有子模块。 **注意:** 源码包含许多子模块,不建议直接下载 GitHub 主页的 zip 包,否则可能缺失子模块。若网络较慢,建议配置代理以提升下载速度。 运行自动安装脚本 PX4 提供了自动化脚本,可安装编译仿真环境所需…

SecGuard发布于 2026/4/6更新于 2026/9/1036K 浏览

环境搭建

前置环境

  • 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 版本,并将文件移至主目录。

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
cd ~
git clone https://github.com/eProsima/Micro-XRCE-DDS-Agent.git
cd Micro-XRCE-DDS-Agent
mkdir build && cd build
cmake ..
make
sudo make install
sudo ldconfig /usr/local/lib/

注意: 编译过程对网络要求较高,建议使用网络代理并耐心等待。

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 工作空间时,均需重新克隆消息包。

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:进入工作空间并启动控制节点

cd ~/ros2_ws
source install/setup.bash
ros2 run px4_ros_com offboard_control

参考资源

  • PX4 飞控文档:https://docs.px4.io/main/zh/
  • QGroundControl 官网:https://qgroundcontrol.com/

目录

  1. 环境搭建
  2. 前置环境
  3. 1. 下载 PX4 源码
  4. 2. 运行自动安装脚本
  5. 3. 编译并运行示例
  6. 4. 安装并配置 QGC(地面站)
  7. 将当前用户添加到 dialout 组,以便访问 USB 设备
  8. 移除 ModemManager,避免干扰串口通信
  9. 安装 GStreamer 相关库,支持视频流
  10. 安装其他依赖
  11. 5. 安装 Micro-XRCE-DDS-Agent
  12. 安装依赖
  13. 编译 Micro-XRCE-DDS-Agent
  14. 6. 配置 PX4 的 ROS2 接口
  15. 安装 Python 依赖
  16. 创建工作空间
  17. 克隆 PX4 消息包
  18. 编译
  19. 7. 启动仿真
  20. 其他机型示例:gazebo-classicirisdepthcamera, gazebo-classiciris_vision 等
  21. 参考资源

更多推荐文章

查看全部
  • 红黑树的平衡规则与旋转调整技巧
  • ComfyUI 本地部署及 Stable Diffusion 使用指南
  • C++ 红黑树原理与实现详解
  • 基于 GLM-4.6V-Flash-WEB 构建生产级智能客服系统实战
  • 通义万相 2.1 多模态 AI 生成技术与应用场景分析
  • 数据结构:顺序表与链表经典算法实战
  • Whisper Diarization 语音识别与说话人分离入门指南
  • Python 学习路线与方法总结
  • Python 文本乱码原因及解决方案
  • MCP AI Copilot 错误处理与工业级容错方案
  • FastGPT 集成 MCP 协议构建工具增强型智能体
  • 未来三年职场涨薪趋势分析与应对建议
  • Paperclip:AI 代理公司编排平台
  • Go Map 进化史:从桶链式哈希表到 Swiss Table 源码剖析
  • 2025 AI 问道之旅:个人成长与深度学习理解
  • 二分查找进阶:峰值、旋转数组与缺失数字
  • 2020 年信奥赛 C++ 提高组 CSP-S 初赛真题:完善程序第 2 题
  • Flutter 跨平台 Web 认证插件 flutter_web_auth_2 适配 OpenHarmony 详解
  • Meta Llama 3 中文微调模型评测:llama3-Chinese-chat 与 Llama3-8B-Chinese-Chat
  • 大模型 LLM 在 Text2SQL 中的应用实践

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如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