Skip to content

Ubuntu LTS/Debian Linux 的开发环境

The following instructions use a bash script to set up the PX4 development environment on the Ubuntu Linux LTS versions supported by PX4: Ubuntu 22.04 (Jammy Jellyfish), 20.04 (Focal Fossa), and 18.04 (Bionic Beaver).

The environment includes:

The build toolchain for other flight controllers, simulators, and working with ROS are discussed in the Other Targets section below.

Simulation and NuttX (Pixhawk) Targets

Use the ubuntu.sh script to set up a development environment that allows you to build for simulators and/or the NuttX/Pixhawk toolchain.

TIP

The script is intended to be run on clean Ubuntu LTS installations, and may not work if run "on top" of an existing system, or on a different Ubuntu release.

To install the toolchain:

  1. ubuntu_sim_common_deps.sh通用依赖jMAVSim 模拟器

    sh
    git clone https://github.com/PX4/PX4-Autopilot.git --recursive

    The environment setup scripts in the source usually work for recent PX4 releases. If working with an older version of PX4 you may need to get the source code specific to your release.

:::

  1. 运行 bash 脚本(比如运行 ubuntu_sim.sh ): bash source ubuntu_sim.sh 所有弹出的提示均确认通过。

    sh
    bash ./PX4-Autopilot/Tools/setup/ubuntu.sh
    • 在安装过程中确认并通过所有的提示。
    • 你可以通过传输参数--no-nuttx--no-sim-tools 来跳过 nuttx 和/或 仿真器工具的安装。
  2. 完成后重新启动计算机。

Details

Additional notes These notes are provided "for information only":

  • This setup is supported by the PX4 Dev Team. The instructions may also work on other Debian Linux based systems.

  • The script installs Gazebo "Garden" on Ubuntu 22.04, Gazebo Classic 11 on Ubuntu 20.04, and Gazebo Classic 9 on Ubuntu 18.04.

  • If you want to use Gazebo on Ubuntu 20.04 you can add it manually. See Gazebo > Installation.

  • You can verify the NuttX installation by confirming the gcc version as shown:

    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.
  • You're going to need the PX4 source code anyway. But if you just wanted to set up the development environment without getting all the source code you could instead just download ubuntu.sh and requirements.txt and then run 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

一键安装脚本

This video shows how to install the toolchain for NuttX and simulation targets (as covered below) along with the basic testing covered in Building PX4 Software.

WARNING

The video suggests that you build source using JMAVSim, entering the command: make px4_sitl jmavsim. As JMAVSim is now community-supported, you should instead build using Gazebo or Gazebo Classic, as shown in Building the Code

Other Targets

The Ubuntu development environment for ROS, other simulators, and other hardware targets, is covered in their respective documentation. A subset of the relevant topics are linked below.

通用依赖

ROS

Gazebo dependencies

Once you have finished setting up the command-line toolchain:

TIP

The daily build includes development tools that hidden in release builds. It may also provide access to new PX4 features that are not yet supported in release builds.