Skip to content

Ubuntu LTS/Debian Linux 的开发环境

以下说明将使用一个 bash 脚本,在 PX4 支持的 Ubuntu Linux LTS 版本(Ubuntu 22.04(Jammy Jellyfish)、20.04(Focal Fossa)和 18.04(Bionic Beaver))上设置 PX4 开发环境。

该环境包括:

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 版本上运行,可能无法正常工作。

要安装工具链,请按以下步骤操作:

  1. 下载 PX4 源代码
    sh
    git clone https://github.com/PX4/PX4-Autopilot.git --recursive

    INFO

    源代码中的环境设置脚本通常适用于较新的 PX4 版本。如果使用的是较旧版本的 PX4,可能需要获取特定版本的源代码

::: 2. 在 bash shell 中不带任何参数运行 ubuntu.sh 脚本以安装所有内容:

sh
bash ./PX4-Autopilot/Tools/setup/ubuntu.sh
  • 在安装过程中确认并通过所有提示。
  • 可以使用 --no-nuttx--no-sim-tools 选项省略 NuttX 和/或仿真工具的安装。
  1. 完成后重新启动计算机。
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.shrequirements.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

Gazebo 依赖项

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

  • 安装 VSCode(如果您更喜欢使用集成开发环境而不是命令行)。
  • 安装 QGroundControl 每日构建版本

    TIP

    每日构建版本包含了发布版本中隐藏的开发工具,还可能提供对发布版本中尚未支持的新 PX4 功能的访问权限。

:::