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

Ubuntu 22.04 下基于 ROS2 Humble 的 PX4 无人机仿真环境搭建

介绍在 Ubuntu 22.04 系统上配置 ROS2 Humble 环境,并搭建 PX4 无人机仿真平台。主要步骤包括下载 PX4 源码、安装 Gazebo 仿真依赖、编译及部署 Micro XRCE-DDS Agent 代理、编译 PX4 固件以及进行通信与 offboard 控制测试。通过该流程可实现 PX4 与 ROS2 之间的数据交互与仿真验证。

涅槃凤凰发布于 2026/4/6更新于 2026/7/2452 浏览
Ubuntu 22.04 下基于 ROS2 Humble 的 PX4 无人机仿真环境搭建

前言

本教程基于 ROS2,在搭建之前,需要把 ROS2、QGC 等基础环境安装配置完成。本次安装是以 px4 v1.14.0 为例,不适用之前的 px4 版本。

建议安装之前可以先查看相关概念介绍及 ROS2 安装教程。

1. 准备

1.1 下载 PX4 源码

方式一:

从 Github 上下载。

sudo apt install git
git clone https://github.com/PX4/PX4-Autopilot.git
mv PX4-Autopilot PX4_Firmware
cd PX4_Firmware
git checkout v1.14.0
git submodule update --init --recursive
方式二:

从提供的网盘或社区资源下载。

解压后执行下面命令:

cd PX4_Firmware
wget https://gitee.com/tyx6/mytools/raw/main/px4/set_executable.sh
chmod +x set_executable.sh
./set_executable.sh

1.2 安装仿真依赖

sudo apt install ros-dev-tools
cd ~/PX4_Firmware/Tools/setup
chmod +x ubuntu.sh
./ubuntu.sh --no-nuttx --no-sim-tools

说明:脚本执行时间跟个人网络有关。如果需要自己编译飞控固件烧录到飞控中,则不需要加 --no-nuttx 参数。

安装完成后,重启 Ubuntu。

1.3 安装 Gazebo

Gazebo 是一款强大的 3D 仿真软件,主要用于机器人学的研究和开发。Ubuntu 22.04 及以后的版本支持 Gazebo (原 Gazebo Ignition)。

cd ~/PX4_Firmware/Tools/setup
./ubuntu.sh --no-nuttx

再运行一下 gz sim 测试是否成功。

成功后再重启 Ubuntu。

2. 安装 Micro XRCE-DDS Agent

在 ROS2 中 PX4 使用 uXRCE-DDS 中间件来允许在配套计算机上发布和订阅 uORB 消息。这提供了 PX4 和 ROS2 之间快速可靠的集成。

  • 下载源码:
git clone -b v2.4.2 https://github.com/eProsima/Micro-XRCE-DDS-Agent.git
  • 编译:
cd Micro-XRCE-DDS-Agent
mkdir build
cd build
cmake ..
make

注意:如果编译过程中出现 fastdds 版本错误,可在 build 目录下执行以下命令修改后再重新 make:

sed -i 's/checkout 2\.12\.x --/checkout v2.12.1 --/' ./fastdds/tmp/fastdds-gitclone.cmake
  • 安装:
sudo make install
sudo ldconfig /usr/local/lib/

3. 编译 PX4

cd ~/PX4_Firmware
make px4_sitl gz_x500

常见错误处理:

  1. 虚拟机 OpenGL 错误:如果在虚拟机中遇到渲染引擎问题,可修改文件 ~/PX4_Firmware/ROMFS/px4fmu_common/init.d-posix/px4-rc.simulator,将启动命令中的 -g 改为 -g --render-engine ogre。
  2. gz_bridge 超时:如果编译过程中出现 gz_bridge 启动超时,可参考官方 Issue 或社区解决方案调整配置后重新编译。

4. 通信测试

打开一个终端,启动 MicroXRCEAgent:

MicroXRCEAgent udp4 -p 8888

打开另一个终端,启动仿真:

cd ~/PX4_Firmware
make px4_sitl gz_x500

都启动后,可以看到通信成功。

5. 官方 offboard 程序

  • 创建工作空间:
mkdir -p ~/ros2_ws/src
  • 下载源码:
cd ~/ros2_ws/src
git clone https://github.com/PX4/px4_msgs.git -b release/1.14
git clone https://github.com/PX4/px4_ros_com.git -b release/v1.14
  • 编译:
cd ~/ros2_ws
colcon build
  • 更新环境:
echo "source ~/ros2_ws/install/setup.bash" >> ~/.bashrc
source ~/.bashrc

6. offboard 测试

先启动 QGC,然后执行下面命令:

  • 终端一,启动 MicroXRCEAgent:
MicroXRCEAgent udp4 -p 8888
  • 终端二,启动仿真:
cd ~/PX4_Firmware
make px4_sitl gz_x500
  • 终端三,启动官方 offboard 案例(上升 5 米):
ros2 run px4_ros_com offboard_control

注:如果过了一段时间,无人机无法 offboard 起飞,程序都正常启动,这时可以尝试重新编译并 source 环境后再次测试。

至此 PX4 无人机基本仿真环境就搭建完成了,大家可以基于此来拓展自己的仿真。

参考

  • ROS 2 用户指南 | PX4 Guide
  • PX4 ROS 2 User Guide v1.14
  • PX4 documentation
  • uXRCE-DDS
  • Ubuntu Development Environment
  • a-new-era-for-gazebo

目录

  1. 前言
  2. 1. 准备
  3. 1.1 下载 PX4 源码
  4. 方式一:
  5. 方式二:
  6. 1.2 安装仿真依赖
  7. 1.3 安装 Gazebo
  8. 2. 安装 Micro XRCE-DDS Agent
  9. 3. 编译 PX4
  10. 4. 通信测试
  11. 5. 官方 offboard 程序
  12. 6. offboard 测试
  13. 参考
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

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

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

更多推荐文章

查看全部
  • 云开发 Copilot 实战:AI 辅助低代码应用构建
  • 基于 AI 的智能算力调度与分配实践
  • React Native HarmonyOS react-native-webview 集成指南
  • 贪心算法实战:摆动序列与股票买卖详解
  • Linux 进程间通信之命名管道(FIFO)实战与面向对象封装
  • HarmonyOS6 RcList 组件核心架构与类型系统设计
  • Virt-A-Mate 虚拟实境互动软件简介
  • SpringAI 结合 Ollama 本地部署 Deepseek 模型实现对话机器人
  • OpenClaw 基础:Telegram 机器人配置与加入群聊
  • Stable Diffusion 本地部署与性能优化指南
  • Ubuntu 22.04 环境下编译安装 libwebkit2gtk-4.1-0 指南
  • WSL 版本过旧导致 Docker Desktop 无法启动的解决方案
  • Java 网络编程:TCP/UDP 协议与 Socket 实战
  • Tmux 终端复用工具指令与配置详解
  • 前端四年裸辞求职经历与面试复盘
  • Rust Vec 内存布局与扩容策略详解
  • Llama.cpp 整体架构分析
  • DeepSeek-OCR-WebUI 部署实战:7 种模式与 GPU 加速多语言识别
  • 从新加坡 AI 系统安全指南看可信 AI 全生命周期防护框架
  • Raphael AI:基于 Flux 模型的免费 AI 图像生成工具

相关免费在线工具

  • 加密/解密文本

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