Ubuntu LTS/Debian Linux 的开发环境
以下说明将使用一个 bash 脚本,在 PX4 支持的 Ubuntu Linux LTS 版本(Ubuntu 22.04(Jammy Jellyfish)、20.04(Focal Fossa)和 18.04(Bionic Beaver))上设置 PX4 开发环境。
该环境包括:
- 在 Ubuntu 22.04 上使用 Gazebo 模拟器(“Harmonic”)
- 在 Ubuntu 20.04 和 Ubuntu 18.04 上使用 Gazebo Classic 模拟器
- Pixhawk(及其他基于 NuttX 的硬件)的构建工具链
INFO
其他飞行控制器、模拟器的构建工具链以及使用 ROS 的相关内容,将在下面的其他目标部分进行讨论。
TIP
如果您需要在 Ubuntu 20.04 上使用 Gazebo,可以手动安装 Gazebo “Garden”,不过要注意它在 2024 年 11 月将停止维护。如果您想在 Ubuntu 22.04 上使用 Gazebo Classic,可以按照 Gazebo Classic > 安装 中的说明手动安装。
仿真和 NuttX(Pixhawk)目标
使用 ubuntu.sh 脚本设置开发环境,以便为模拟器和/或 NuttX/Pixhawk 工具链进行构建。
TIP
该脚本旨在在全新的 Ubuntu LTS 安装上运行,如果在现有系统上运行,或者在不同的 Ubuntu 版本上运行,可能无法正常工作。
要安装工具链,请按以下步骤操作:
- 下载 PX4 源代码:sh
git clone https://github.com/PX4/PX4-Autopilot.git --recursive
INFO
源代码中的环境设置脚本通常适用于较新的 PX4 版本。如果使用的是较旧版本的 PX4,可能需要获取特定版本的源代码。
::: 2. 在 bash shell 中不带任何参数运行 ubuntu.sh 脚本以安装所有内容:
bash ./PX4-Autopilot/Tools/setup/ubuntu.sh
- 在安装过程中确认并通过所有提示。
- 可以使用
--no-nuttx
和--no-sim-tools
选项省略 NuttX 和/或仿真工具的安装。
- 完成后重新启动计算机。
Details
附加说明 这些说明仅作参考:
- 此设置由 PX4 开发团队提供支持。这些说明可能也适用于其他基于 Debian Linux 的系统。
- 可以通过确认
gcc
版本来验证 NuttX 是否安装成功,如下所示:sh$arm-none-eabi-gcc --version arm-none-eabi-gcc (GNU Arm Embedded Toolchain 9-2020-q2-update) 9.3.1 20200408 (release) Copyright (C) 2019 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- 无论如何您都需要 PX4 源代码。但如果您只想设置开发环境而不获取所有源代码,可以直接下载 ubuntu.sh 和 requirements.txt,然后运行 ubuntu.sh:sh
wget https://raw.githubusercontent.com/PX4/PX4-Autopilot/main/Tools/setup/ubuntu.sh wget https://raw.githubusercontent.com/PX4/PX4-Autopilot/main/Tools/setup/requirements.txt bash ubuntu.sh
一键安装脚本
此视频展示了如何安装 NuttX 和仿真目标的工具链(如下所述),以及 构建 PX4 软件 中涵盖的基本测试。
WARNING
视频中建议使用 JMAVSim 构建源代码,输入命令:make px4_sitl jmavsim
。由于 JMAVSim 现在由社区支持,您应该按照 构建代码 中所示,使用 Gazebo 或 Gazebo Classic 进行构建。
其他目标
用于 ROS、其他模拟器和其他硬件目标的 Ubuntu 开发环境,在各自的文档中有介绍。以下链接了部分相关主题。
通用依赖
ROS
- ROS 2:ROS 2 用户指南 > 安装与设置
- ROS(1):ROS(1)安装指南
Gazebo 依赖项
完成命令行工具链的设置后:
- 安装 VSCode(如果您更喜欢使用集成开发环境而不是命令行)。
- 安装 QGroundControl 每日构建版本
TIP
每日构建版本包含了发布版本中隐藏的开发工具,还可能提供对发布版本中尚未支持的新 PX4 功能的访问权限。
:::
- 继续阅读 构建说明。