前言
本教程基于 ROS2,在搭建之前,需要把 ROS2、QGC 等基础环境安装配置完成。
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 # 更新下载子模块
1.2 安装仿真依赖
sudo apt install ros-dev-tools
cd ~/PX4_Firmware/Tools/setup
修改文件并备份(就把 pip 安装源换成了清华源),这一步是可做可不做,如果觉得 python 包下载太慢了,可以试试
chmod +x ubuntu.sh
./ubuntu.sh --no-nuttx --no-sim-tools # 这是官方提供的脚本 有两个可选参数
# --no-sim-tools 不安装仿真环境
# --no-nuttx 不安装交叉编译环境
# (如果需要自己编译飞控固件,烧录到飞控中,那就需要交叉编译环境)
# 脚本执行时间,跟个人网络有关,可能需要一段时间
安装完成后,重启 Ubuntu
1.3 安装 Gazebo
Gazebo 是一款强大的 3D 仿真软件,主要用于机器人学的研究和开发。它提供了高度逼真的物理模拟环境,包括动力学、碰撞检测、传感器模型以及与真实世界相似的物理属性如重力、摩擦力等。Gazebo 可以模拟各种类型的机器人,从移动机器人、无人机到机械臂,甚至可以模拟整个城市环境。
根据说明,Gazebo 官方做了更新将之前的 Gazebo Ignition 命名为 Gazebo,以前的 Gazebo 现在叫 Gazebo Classic,而 Ubuntu 22.04 及以后的版本就支持 Gazebo (Gazebo Ignition)。 因为几年前官方对 Gazebo 进行了重大架构变更,然后将变更后的版本叫 Gazebo Ignition,旧的仍叫 Gazebo。后面 Gazebo Ignition 逐渐成熟并经过使用验证,所以他结束了旧的 Gazebo (Gazebo 11 是 Gazebo Classic 的最后一个版本,支持到 2025 年),并重新对它们命了名。而且两个应该不能共存,安装一个会卸载另一个。
cd ~/PX4_Firmware/Tools/setup
./ubuntu.sh --no-nuttx # 这一步会安装仿真环境依赖,包括 gazebo
# 脚本执行时间,跟个人网络有关


