笔记 / 返回列表

机器人系统

PX4 与 Gazebo 仿真环境复现

复现既有 PX4 v1.16.2 仿真环境时的版本边界、最小检查步骤和迁移原则。

问题
复现既有 PX4 v1.16.2 仿真环境时的版本边界、最小检查步骤和迁移原则。
环境
PX4 · Gazebo · SITL · ROS2
状态
待发布
首次发布
2026年8月8日
最后更新
2026年8月10日
预计阅读
3 分钟

警告:历史环境,不是新项目模板 本文保留给既有 PX4 v1.16.2 工程的复现和排障。ROS 2 Foxy 已结束支持,Gazebo Classic 已结束维护;新部署应从 PX4 开发环境说明 和 PX4 仿真文档 选择当前受支持的 Ubuntu、ROS 2 与现代 Gazebo 组合。

先固定版本矩阵

仿真问题往往来自版本混用,而不是某一条命令。复现旧工程前,把 PX4 标签、操作系统、Gazebo 代际、ROS 2 发行版和桥接方式记录到同一份环境文件中。历史记录中常见的两种组合如下:

目的 组合 生命周期
复现旧工程 Ubuntu 20.04、ROS 2 Foxy、Gazebo Classic 11 仅限隔离复现
过渡期 WSL2 环境 Ubuntu 22.04、PX4 v1.16.2、Gazebo Harmonic 先按当前 PX4 文档复核

不要把 Gazebo Classic 的命令、插件或模型目录复制到现代 Gazebo 环境,也不要在同一个终端中叠加 Foxy 与其他 ROS 2 发行版。

最小复现步骤

  1. 从项目记录中的标签检出 PX4 源码,并保留提交号或版本标签。
  2. 按该标签对应的 PX4 文档安装依赖;不要通过来历不明的 HTTP 脚本以高权限执行安装。
  3. 先启动不含 ROS 2 桥接的 SITL,确认飞行器模型、仿真时钟和控制台正常。
  4. 再接入 ROS 2,检查 DDS Agent、消息类型和发布频率。
  5. 最后记录能复现的启动命令、模型、话题和验证现象,而非只记录“安装成功”。

验证清单

Terminal window
# 以下命令仅用于观察,不替代项目对应的启动命令
ros2 topic list
ros2 topic echo <topic>
ros2 topic hz <topic>

重点核对:SITL 是否运行、仿真器是否连接、桥接组件是否在线、预期话题的类型是否一致,以及控制指令是否在安全的仿真模型中产生预期状态变化。

迁移原则

旧环境能启动不代表它适合继续开发。迁移时先从当前 PX4 ROS 2 用户指南 确认通信接口,再逐步替换操作系统、ROS 2 和仿真器。每次只改变一个版本维度,并保留前一组可工作的锁定依赖,避免出现无法归因的组合问题。

ROS 2 工作空间的构建与测试步骤见 ROS 2 工作空间编译与运行。

SEARCH / QUICK JUMP

搜索工程档案

↑↓ 选择 · Enter 打开 · Esc 关闭