# Ubuntu 开发环境
以下说明将在 Ubuntu Linux 18.04 和 20.04 上建立 PX4 开发环境。该环境可用于构建 PX4,用于 大多数 PX4 目标:
- Pixhawk 和其他基于 NuttX 的硬件
- jMAVSim 模拟
- 仿真场景Gazebo模拟
- 树莓派
- ROS (1) (机器人操作系统)
- 快速 DDS - 需要 ROS2
TIP
PX4 开发团队支持这种设置。
备注
PX4 开发支持的操作系统版本有 Ubuntu Linux LTS (打开新窗口) 18.04 (Bionic Beaver) 和 20.04 (Focal Fossa)。ROS (1) 仅支持 Ubuntu LTS 18.04。
该说明也应适用于其他基于 Debian Linux 的系统,但尚未得到验证/官方支持。
# 视频指南
本视频展示了如何为 NuttX 和仿真目标安装工具链 (如下所述中涵盖的基本测试)以及 构建 PX4 软件.
# Bash 脚本
提供的 Bash 脚本可帮助用户轻松为不同的目标平台安装开发环境。它们将在 清洗 Ubuntu LTS 安装。
脚本 | 说明 |
---|---|
ubuntu.sh (打开新窗口) | 安装 仿真场景Gazebo 9 和 jMAVSim 模拟器和/或 NuttX/Pixhawk 工具 不包括 快速 DDS. |
ubuntu_sim_ros_melodic.sh (打开新窗口) | 安装 ROS "旋律"; 和 Ubuntu 18.04 LTS 上的 PX4 只是. 请勿在 Ubuntu 20.04 或更高版本上使用! |
备注
脚本 可以 如果安装在现有系统的顶部或不同版本的 Ubuntu 上,则无法正常运行。
# Gazebo、JMAVSim 和 NuttX(Pixhawk)目标
使用 ubuntu.sh (打开新窗口) 脚本来设置开发环境,其中包括 仿真场景Gazebo 9 和 jMAVSim 模拟器和/或 NuttX/Pixhawk 工具链。
警告
ROS 用户必须遵守以下说明 ROS/Gazebo.
安装工具链
- 下载 PX4 源代码:
Git 克隆 https://github.com/PX4/PX4-Autopilot.git --recursive
- 运行 ubuntu.sh 不带参数(在 bash shell 中)安装所有内容:
敲击 ./PX4-Autopilot/Tools/setup/ubuntu.sh
- 确认脚本进程中的任何提示。
- 您可以使用
--无核x
和--无模拟工具
选项可省略 NuttX 和/或模拟工具。
- 完成后重新启动计算机。
仅供参考的说明
- 脚本安装 Gazebo 9(按照 gazebosim.org 说明 (打开新窗口)).也支持 Gazebo 7 和 8,但不推荐使用。
- 如图所示,您可以通过确认 gcc 版本来验证 NuttX 的安装:
臂-none-eabi-gcc --version arm-none-eabi-gcc (GNU 工具 对于 Arm 嵌入式处理器 7-2017-Q4-主要) 7.2.1 20170904 (释放) [ARM/embedded-7 分支修订版 255204] 版权 (C) 2017 自由软件基金会这是 免费的 软件; 参见 消息来源 对于 复制条件。不保修; 都不 对于 适销性或特定用途的适用性。
- 无论如何,你都需要 PX4 的源代码。但如果你只是想建立开发环境,而不需要所有源代码,你可以直接下载 ubuntu.sh (打开新窗口) 和 requirements.txt (打开新窗口) 然后运行 ubuntu.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 敲击 ubuntu.sh
# 树莓派
下面的说明解释了如何在 RasPi 上设置构建工具链。 Ubuntu 18.04.
警告
要为 Ubuntu 20.04(焦点)构建 PX4,必须使用 docker(Ubuntu 20.04 上的 GCC 工具链可以构建 PX4,但生成的二进制文件太新,无法在实际的 Pi 上运行)。更多信息,请参阅 PilotPi 与 Raspberry Pi OS 开发人员快速入门> 使用 docker 的替代构建方法.
获取 Raspberry Pi 的常用依赖项:
- 下载 ubuntu.sh (打开新窗口) 和 requirements.txt (打开新窗口) 从 PX4 源代码库 (/Tools/setup/):
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
- 运行 ubuntu.sh 在终端中只获取常用依赖项:
敲击 ubuntu.sh --no-nuttx --no-sim-tools
- 然后按照以下章节所述设置交叉编译器(GCC 或 clang)。
# 海湾合作委员会(armhf)
Ubuntu 软件仓库提供了一套预编译工具链。请注意,Ubuntu Focal 附带了 gcc-9-arm-linux-gnueabihf
的默认安装方式,但它并不完全受支持,因此我们必须手动安装 gcc-8-arm-linux-gnueabihf
并将其设置为默认工具链。本指南同样适用于早期的 Ubuntu 版本(Bionic)。下面的指令假定你没有安装任何版本的 arm-linux-gnueabihf,并将默认可执行文件设置为 更新备选方案
.使用终端命令安装它们:
苏都 apt-get 安装 -y gcc-8-arm-linux-gnueabihf g++-8-arm-linux-gnueabihf
将它们设置为默认值:
苏都 update-alternatives --install /usr/bin/arm-linux-gnueabihf-gcc arm-linux-gnueabihf-gcc /usr/bin/arm-linux-gnueabihf-gcc-8 100 --slave /usr/bin/arm-linux-gnueabihf-g++ arm-linux-gnueabihf-g++ /usr/bin/arm-linux-gnueabihf-g++-8
苏都 update-alternatives --config arm-linux-gnueabihf-gcc
# GCC (aarch64)
如果要为 ARM64 设备构建 PX4,本节是必需的。
苏都 apt-get 安装 -y gcc-8-aarch64-linux-gnu g++-8-aarch64-linux-gnu
苏都 update-alternatives --install /usr/bin/aarch64-linux-gnu-gcc aarch64-linux-gnu-gcc /usr/bin/aarch64-linux-gnu-gcc-8 100 --slave /usr/bin/aarch64-linux-gnu-g++ aarch64-linux-gnu-g++ /usr/bin/aarch64-linux-gnu-g++-8
苏都 update-alternatives --config aarch64-linux-gnu-gcc
# Clang(可选)
首先安装 GCC(使用 clang 时需要)。
我们建议你从 Ubuntu 软件仓库获取 clang,如下所示:
sudo apt-get install clang
下面是用树形结构构建 PX4 固件的示例,使用 CMake.
CD <;路径-TO-PX4-SRC>;
mkdir build/px4_raspberrypi_default_clang
CD build/px4_raspberrypi_default_clang cmake \
-G"Unix Makefiles"; \
-DCONFIG=px4_raspberrypi_default \
-ucmake_c_compiler \
-dcmake_c_编译器=铛 \
-ucmake_cxx_compiler \
-dcmake_cxx_compiler=clang++ \
../..
生产
# 详细信息
有关在 Raspberry Pi 上使用 PX4 的其他开发人员信息(包括本地构建 PX4),请点击此处:
# ROS/Gazebo
本节介绍如何安装 ROS Ubuntu 18.04 上的 "Melodic" 和 PX4。
警告
ROS 的构建与特定的 Ubuntu 版本绑定!ROS Melodic 可以 只是 在 Ubuntu 18.04 上安装。
安装开发工具链
- 在 bash shell 中下载脚本:
wget https://raw.githubusercontent.com/PX4/Devguide/master/build_scripts/ubuntu_sim_ros_melodic.sh
- 运行脚本:随着脚本的进行,您可能需要确认一些提示。
敲击 ubuntu_sim_ros_melodic.sh
备注
- ROS Melodic 默认与 Gazebo9 一起安装。
- 您的 catkin(ROS 构建系统)工作区创建于 ~/catkin_ws/.
- 该脚本使用 ROS Wiki "Melodic" 中的说明; Ubuntu 页面 (打开新窗口).
# 快速安装 DDS
eProsima Fast DDS (打开新窗口) 如果将 PX4 与 ROS2(或其他 RTPS/DDS 系统)一起使用,则需要使用"......"。
请按照 快速 DDS 安装 进行安装。
# 下一步工作
完成命令行工具链的设置后:
- 安装 VSCode (如果你更喜欢使用集成开发环境而不是命令行)。
- 安装 QGroundControl 日常构建 (打开新窗口)
TIP
日常建设 包括隐藏在发布版中的开发工具。它还可以让用户访问发布版中尚未支持的 PX4 新功能。
- 继续前往 建造说明.
← MacOS 设置 Windows 设置 →