跳到主要内容
极客日志极客日志面向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 固件以及配置 ROS2 工作空间。教程涵盖了通信测试、官方 offboard 控制程序的使用及常见问题排查(如 OpenGL 渲染错误),旨在帮助用户完成从环境准备到无人机仿真的全流程验证。

机器人发布于 2026/4/5更新于 2026/7/1950 浏览
Ubuntu 22.04 下基于 ROS2 Humble 的 PX4 无人机仿真环境搭建

前言

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

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

注:脚本执行时间跟个人网络有关,可能需要一段时间。安装完成后,重启 Ubuntu。

1.3 安装 Gazebo

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

cd ~/PX4_Firmware/Tools/setup
./ubuntu.sh --no-nuttx # 这一步会安装仿真环境依赖,包括 gazebo

运行一下 gazebo:

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
  • 编译:
 Micro-XRCE-DDS-Agent
 build
 build
cmake ..
make
cd
mkdir
cd

注意:make 的时候还会额外下载代码,跟个人网速有关,大概要 10-20 分钟。

如果出现 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 错误:如果在虚拟机中遇到 OpenGL 版本降低导致的错误,需修改渲染引擎版本。 打开文件:
gedit ~/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

目录

  1. 前言
  2. 1. 准备
  3. 1.1 下载 PX4 源码
  4. 方式一:从 Github 上下载
  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

更多推荐文章

查看全部
  • Layui 框架下 Unity WebGL Tab 切换黑屏解决方案
  • Git 原理与使用进阶:远程操作、标签管理与多人协作
  • 无人机飞行空域申请全流程指南
  • 大模型前沿:15 篇必读研究论文汇总
  • Webhook 是什么:原理、实现及缺点分析
  • TeleGrip:基于 VR 的机械臂遥操作系统全流程解析
  • FPGA 实现 CAN 总线:原理、Verilog 代码与硬件验证
  • Python 中国节假日日历库使用指南:识别法定节假日与工作日
  • 利用 GPT 快速梳理 Python 知识脉络与入门指南
  • 多模态 AI 如何重塑人机交互的未来
  • 大模型商业化:ToB 与 ToC 并非选择题
  • Python 网络爬虫技术原理与实战应用指南
  • 链表经典算法实战:相交、回文与随机指针复制
  • 基于 Spring Boot 的在线拍卖系统设计与实现
  • Java 常见面试题及答案汇总
  • Java 如何将方法作为参数传递及性能测量实践
  • C++ 模板基础:泛型编程与函数类模板详解
  • 基于 SpringBoot 的在线点餐系统设计与实现
  • AI 发展的四次浪潮:从符号主义到大语言模型
  • Python 循环语句详解:For 与 While 用法及控制流程

相关免费在线工具

  • 加密/解密文本

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