# Ubuntu 开发环境

以下说明将在 Ubuntu Linux 18.04 和 20.04 上建立 PX4 开发环境。该环境可用于构建 PX4,用于 大多数 PX4 目标:

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 9jMAVSim 模拟器和/或 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 9jMAVSim 模拟器和/或 NuttX/Pixhawk 工具链。

警告

ROS 用户必须遵守以下说明 ROS/Gazebo.

安装工具链

  1. 下载 PX4 源代码:
    Git 克隆 https://github.com/PX4/PX4-Autopilot.git --recursive
    
  2. 运行 ubuntu.sh 不带参数(在 bash shell 中)安装所有内容:
    敲击 ./PX4-Autopilot/Tools/setup/ubuntu.sh
    
    • 确认脚本进程中的任何提示。
    • 您可以使用 --无核x--无模拟工具 选项可省略 NuttX 和/或模拟工具。
  3. 完成后重新启动计算机。
仅供参考的说明
  • 脚本安装 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 的常用依赖项:

  1. 下载 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
    
  2. 运行 ubuntu.sh 在终端中只获取常用依赖项:
    敲击 ubuntu.sh --no-nuttx --no-sim-tools
    
  3. 然后按照以下章节所述设置交叉编译器(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 上安装。

安装开发工具链

  1. 在 bash shell 中下载脚本:
    wget https://raw.githubusercontent.com/PX4/Devguide/master/build_scripts/ubuntu_sim_ros_melodic.sh
    
  2. 运行脚本:
    敲击 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 安装 进行安装。

# 下一步工作

完成命令行工具链的设置后: