You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu20.04搭建PX4+ROS2 Foxy环境遇错误,求适配方案

PX4 + ROS2 Foxy 在 Ubuntu 20.04 环境搭建问题排查与解决方案

一、操作步骤问题分析

  • 错误参考旧版本配置:你在完整性检查阶段误用了仅适配Ubuntu 18.04/ROS Melodic的ROS/Gazebo路径配置,Ubuntu 20.04搭配ROS2 Foxy默认使用Gazebo 11,旧配置指向的Gazebo 9依赖库与当前环境不兼容,直接引发后续编译冲突。
  • 标准安装未关联ROS2环境:直接执行「Gazebo、JMAVSim和NuttX」标准安装时,PX4编译脚本无法自动识别ROS2 Foxy的环境变量,导致RTPS模块编译缺失必要依赖,进而出现大量错误。

二、适配ROS2 Foxy的正确安装流程

1. 确认ROS2 Foxy环境正常

  • 执行source /opt/ros/foxy/setup.bash加载ROS2环境变量;
  • 可选:将该命令添加至~/.bashrc,实现终端启动自动加载,避免每次手动执行。

2. 安装PX4专属ROS2依赖

不要使用标准安装脚本,改用PX4官方提供的ROS2适配依赖安装流程:

  • 克隆PX4源码仓库(建议选择v1.13及以上稳定版本):
    git clone https://github.com/PX4/PX4-Autopilot.git --recursive
    cd PX4-Autopilot
    
  • 运行ROS2 Foxy专属依赖安装脚本:
    ./Tools/setup/ubuntu.sh --ros2 foxy
    
    该脚本会自动适配Ubuntu 20.04环境,安装兼容的Gazebo 11、Fast DDS(RTPS核心依赖)及其他PX4必需组件,同时自动配置正确的环境关联。

3. 编译与通信验证

依赖安装完成后,重启终端确保环境变量生效,执行编译命令:

make px4_sitl_rtps gazebo

编译成功后,可通过以下步骤验证ROS2与PX4的通信:

  • 新开终端,执行source install/setup.bash && ros2 topic list,若能看到/fmu/out/前缀的系列话题,说明环境搭建成功。

三、常见错误排查要点

  • 检查ROS环境变量:执行echo $ROS_DISTRO,确保输出为foxy,避免同时加载ROS Melodic的环境;
  • 验证Fast DDS版本:PX4 v1.13+要求Fast DDS 2.0及以上,可通过fastddsversion命令查看版本;
  • 确认Gazebo版本:执行gazebo --version,确保版本为11.x,清理系统中残留的Gazebo 9依赖。

内容的提问来源于stack exchange,提问作者tamasso-parec

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 17:01:36