Ubuntu 搭建 PX4 无人机仿真环境
本教程基于 ROS2,在开始之前请确保已安装配置好 ROS2 和 QGC 等基础环境。本次示例以 PX4 v1.14.0、Ubuntu 22.04 及 ROS2 Humble 为例。
准备
获取 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
安装仿真依赖
进入工具目录并运行官方脚本:
sudo apt install ros-dev-tools
cd ~/PX4_Firmware/Tools/setup
chmod +x ubuntu.sh
./ubuntu.sh --no-nuttx --no-sim-tools
说明:脚本支持两个可选参数。
--no-sim-tools表示不安装仿真环境;--no-nuttx表示不安装交叉编译环境(若需自行编译固件烧录则需保留)。执行时间取决于网络状况,建议耐心等待。
安装完成后重启系统。
安装 Gazebo
Gazebo 是机器人学研究中常用的 3D 仿真软件,提供物理模拟、碰撞检测及传感器模型等功能。Ubuntu 22.04 及以上版本默认支持 Gazebo Ignition(现更名为 Gazebo),旧版 Gazebo Classic 已不再维护。
cd ~/PX4_Firmware/Tools/setup
./ubuntu.sh --no-nuttx
验证安装:
gz sim
启动成功后再次重启系统。
安装 Micro XRCE-DDS Agent
在 ROS2 中,PX4 使用 uXRCE-DDS 中间件来发布和订阅 uORB 消息,使其表现为 ROS2 话题。这提供了 PX4 与 ROS2 之间快速可靠的集成。
相比 MAVROS,Micro XRCE-DDS Agent 更适配 DDS 生态,适合资源受限设备与分布式网络通信,但在单设备简单通信场景下略显复杂。
编译与安装
git clone -b v2.4.2 https://github.com/eProsima/Micro-XRCE-DDS-Agent.git
cd Micro-XRCE-DDS-Agent
build
build
cmake ..
make


