Skip to content

Commit 9adda29

Browse files
docs(sim): add Try PX4 quick-start and pre-built packages reference (#26957)
Adds documentation for the SITL containers and .deb packages introduced in #26495. The containers are now live on Docker Hub: [`px4io/px4-sitl:latest`](https://hub.docker.com/r/px4io/px4-sitl) and [`px4io/px4-sitl-gazebo:latest`](https://hub.docker.com/r/px4io/px4-sitl-gazebo). The main addition is a [Try PX4 Simulation](https://docs.px4.io/main/en/dev_setup/try_px4) page that leads with a single `docker run` command and gets someone flying in under a minute. It lives in Getting Started, right after Recommended Hardware/Setup, so it's one of the first things new users see. The existing `.deb` package reference has been moved from `packaging/px4_sitl_deb.md` to `simulation/px4_sitl.md` and expanded to cover both containers and `.deb` packages on one page. Sections are ordered by how people use them: what's available, install, configure, connect QGC/MAVSDK, connect ROS 2. Other changes: - README now has a "Try PX4" section with the docker one-liner above "Build from Source" - Landing page (`index.md`) reworked to lead with "Try PX4" before "For Developers" - Toolchain page (`dev_env.md`) gets a tip redirecting simulation-only users to pre-built packages - `getting_started.md` and `SUMMARY.md` updated with links to the new pages - Simulation index tip updated to mention containers alongside `.deb` packages The SIH container image is published as `px4io/px4-sitl` (renamed from `px4io/px4-sitl-sih`) so the default lightweight option carries the simplest name. The Gazebo image remains `px4io/px4-sitl-gazebo`. Also upgrades all GitHub Actions in the SITL workflow to Node.js 24 compatible versions (`actions/checkout@v6`, `actions/cache@v5`, `actions/upload-artifact@v7`, `actions/download-artifact@v8`, `docker/setup-buildx-action@v4`, `docker/build-push-action@v7`) to fix the Node.js 20 deprecation warning ahead of the June 2026 deadline. --------- Signed-off-by: Ramon Roche <mrpollo@gmail.com> Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
1 parent e34cb8c commit 9adda29

File tree

11 files changed

+363
-13
lines changed

11 files changed

+363
-13
lines changed

.github/actions/build-deb/action.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ runs:
2020
steps:
2121
- name: Restore ccache
2222
id: ccache-restore
23-
uses: actions/cache/restore@v4
23+
uses: actions/cache/restore@v5
2424
with:
2525
path: ~/.ccache
2626
key: ${{ inputs.ccache-key-prefix }}-${{ github.ref_name }}-${{ github.sha }}
@@ -52,7 +52,7 @@ runs:
5252
run: ccache -s
5353

5454
- name: Save ccache
55-
uses: actions/cache/save@v4
55+
uses: actions/cache/save@v5
5656
if: always()
5757
with:
5858
path: ~/.ccache
@@ -108,7 +108,7 @@ runs:
108108
echo "PASS: gazebo package validation successful"
109109
110110
- name: Upload .deb artifacts
111-
uses: actions/upload-artifact@v4
111+
uses: actions/upload-artifact@v7
112112
with:
113113
name: ${{ inputs.artifact-name }}
114114
path: build/px4_sitl_${{ inputs.target }}/*.deb

.github/workflows/build_deb_package.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
should_push: ${{ steps.push.outputs.should_push }}
4141
steps:
4242
- uses: runs-on/action@v2
43-
- uses: actions/checkout@v4
43+
- uses: actions/checkout@v6
4444
with:
4545
fetch-tags: true
4646
submodules: false
@@ -93,7 +93,7 @@ jobs:
9393
apt-get update && apt-get install -y git
9494
git config --global --add safe.directory $(realpath .)
9595
96-
- uses: actions/checkout@v4
96+
- uses: actions/checkout@v6
9797
with:
9898
fetch-depth: 0
9999
fetch-tags: true
@@ -103,7 +103,7 @@ jobs:
103103
run: ./Tools/ci/use_aws_apt_mirror.sh
104104

105105
- name: Cache apt packages
106-
uses: actions/cache@v4
106+
uses: actions/cache@v5
107107
with:
108108
path: /var/cache/apt/archives
109109
key: apt-${{ matrix.target }}-${{ matrix.codename }}-${{ matrix.arch }}-${{ hashFiles('Tools/setup/ubuntu.sh') }}
@@ -136,7 +136,7 @@ jobs:
136136
- { image: gazebo, repo: px4-sitl-gazebo, target: default, arch: arm64, runner: arm64, platform: "linux/arm64", dockerfile: Dockerfile.gazebo }
137137
steps:
138138
- uses: runs-on/action@v2
139-
- uses: actions/checkout@v4
139+
- uses: actions/checkout@v6
140140
with:
141141
submodules: false
142142
fetch-depth: 1

README.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,17 @@ PX4 is an open-source autopilot stack for drones and unmanned vehicles. It suppo
7070

7171
<sub>…and many more: helicopters, autogyros, airships, submarines, boats, and other experimental platforms. These frames have basic support but are not part of the regular flight-test program. See the <a href="https://docs.px4.io/main/en/airframes/airframe_reference.html">full airframe reference</a>.</sub>
7272

73-
## Quick Start
73+
## Try PX4
74+
75+
Run PX4 in simulation with a single command. No build tools, no dependencies beyond Docker:
76+
77+
```bash
78+
docker run --rm -it -p 14550:14550/udp px4io/px4-sitl:latest
79+
```
80+
81+
Open [QGroundControl](https://qgroundcontrol.com) and fly. See [PX4 Simulation Quickstart](../dev_setup/px4_simulation_quickstart.md) for more options.
82+
83+
## Build from Source
7484

7585
```bash
7686
git clone https://github.com/PX4/PX4-Autopilot.git --recursive

docs/en/SUMMARY.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
- [Introduction](index.md)
22
- [Basic Concepts](getting_started/px4_basic_concepts.md)
3-
3+
- [Try PX4 (Simulation)](simulation/px4_simulation_quickstart.md)
44
- [Multicopters](frames_multicopter/index.md)
55
- [Features](features_mc/index.md)
66
- [Flight Modes](flight_modes_mc/index.md)
@@ -474,6 +474,7 @@
474474
- [Worlds](sim_gazebo_classic/worlds.md)
475475
- [Multi-Vehicle Sim](sim_gazebo_classic/multi_vehicle_simulation.md)
476476
- [Simulate Failsafes](simulation/failsafes.md)
477+
- [Pre-built Packages](simulation/px4_sitl_prebuilt_packages.md)
477478
- [Hardware](hardware/index.md)
478479
- [Flight Controller Reference Design](hardware/reference_design.md)
479480
- [Manufacturer’s Board Support Guide](hardware/board_support_guide.md)

docs/en/dev_setup/dev_env.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Setting up a Developer Environment (Toolchain)
22

3+
::: tip
4+
You only need a toolchain if you want to **modify and build** PX4 from source.
5+
If you just want to run PX4 simulation without changing the code, use a pre-built [Docker container or .deb package](../simulation/px4_sitl_prebuilt_packages.md) instead.
6+
:::
7+
38
The _supported platforms_ for PX4 development are:
49

510
- [Ubuntu Linux (24.04/22.04)](../dev_setup/dev_env_linux_ubuntu.md)

docs/en/dev_setup/getting_started.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
This section contains topics about getting started with PX4 development:
44

5+
- [PX4 Simulation QuickStart](../simulation/px4_simulation_quickstart.md) — Try PX4 in simulation without a build environment!
56
- [Initial Setup](../dev_setup/config_initial.md)
67
- [Toolchain Installation](../dev_setup/dev_env.md)
78
- [Building the Code](../dev_setup/building_px4.md)

docs/en/index.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,13 @@ Documented changes since the stable release are captured in the evolving [releas
2121

2222
</div>
2323

24+
## Try PX4
25+
26+
No hardware needed. Run PX4 in simulation with a single command using [Docker or a .deb package](simulation/px4_simulation_quickstart.md). Connect [QGroundControl](https://qgroundcontrol.com), [MAVSDK](https://mavsdk.mavlink.io/), or [ROS 2](ros2/index.md) and start flying immediately.
27+
2428
## For Developers
2529

26-
:::tip
27-
Building on PX4 or extending the platform? Start here: [Development Guide](development/development.md). Set up your [dev environment](dev_setup/config_initial.md), [build from source](dev_setup/building_px4.md), run [SITL simulation](simulation/index.md), or integrate via [ROS 2](ros2/index.md) and [MAVSDK](https://mavsdk.mavlink.io/).
28-
:::
30+
Want to modify PX4 or build from source? Start with the [Development Guide](development/development.md): set up your [dev environment](dev_setup/dev_env.md), [build the code](dev_setup/building_px4.md), and run [SITL simulation](simulation/index.md).
2931

3032
## Getting Started
3133

docs/en/sim_sih/index.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ SIH (Simulation-In-Hardware) is a lightweight, headless simulator with zero exte
66
No GUI, no external processes, no rendering overhead — just PX4 running a C++ physics model.
77
This makes it the fastest way to iterate on flight code.
88

9+
::: tip
10+
SIH is also available as a [prebuilt Docker container or .deb package](../simulation/px4_sitl_prebuilt_packages.md), which is useful if you don't need to modify PX4 itself.
11+
See [PX4 Simulation QuickStart](px4_simulation_quickstart.md) for a one-line instruction on how this is used.
12+
:::
13+
914
## Overview
1015

1116
SIH runs as a PX4 module that replaces real sensor and actuator hardware with a simulated physics model.

docs/en/simulation/index.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,15 @@ See [PX4-Autopilot#23602](https://github.com/PX4/PX4-Autopilot/issues/23602) for
2727
| Simulator | Description |
2828
| ------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
2929
| [Gazebo](../sim_gazebo_gz/index.md) | Gazebo supersedes [Gazebo Classic](../sim_gazebo_classic/index.md), featuring more advanced rendering, physics and sensor models. It is the only version of Gazebo available from Ubuntu Linux 22.04<br><br>A powerful 3D simulation environment that is particularly suitable for testing object-avoidance and computer vision. It can also be used for [multi-vehicle simulation](../simulation/multi-vehicle-simulation.md) and is commonly used with [ROS](../simulation/ros_interface.md), a collection of tools for automating vehicle control. <br><br><strong>Supported Vehicles:</strong> Quad, VTOL (Standard, Tailsitter, Tiltroter), Plane, Rovers |
30-
| [Gazebo Classic](../sim_gazebo_classic/index.md) | A powerful 3D simulation environment that is particularly suitable for testing object-avoidance and computer vision. It can also be used for [multi-vehicle simulation](../simulation/multi-vehicle-simulation.md) and is commonly used with [ROS](../simulation/ros_interface.md), a collection of tools for automating vehicle control.<br><br>**Supported Vehicles:** Quad ([Iris](../airframes/airframe_reference.md#copter_quadrotor_x_generic_quadcopter)), Hex (Typhoon H480), [Generic Standard VTOL (QuadPlane)](../airframes/airframe_reference.md#vtol_standard_vtol_generic_standard_vtol), Tailsitter, Plane, Rover, Submarine |
3130
| [SIH](../sim_sih/index.md) | A lightweight, headless simulator that runs physics directly inside PX4 as a C++ module (no external dependencies). Headless by default for fastest iteration. Supports ROS 2 via uXRCE-DDS. Can also run on flight controller hardware (`SYS_HITL=2`).<br><br>**Supported Vehicles:** Quad, Hex, Plane, Tailsitter, Standard VTOL, Rover |
31+
| [Gazebo Classic](../sim_gazebo_classic/index.md) | A powerful 3D simulation environment that is particularly suitable for testing object-avoidance and computer vision. It can also be used for [multi-vehicle simulation](../simulation/multi-vehicle-simulation.md) and is commonly used with [ROS](../simulation/ros_interface.md), a collection of tools for automating vehicle control.<br><br>**Supported Vehicles:** Quad ([Iris](../airframes/airframe_reference.md#copter_quadrotor_x_generic_quadcopter)), Hex (Typhoon H480), [Generic Standard VTOL (QuadPlane)](../airframes/airframe_reference.md#vtol_standard_vtol_generic_standard_vtol), Tailsitter, Plane, Rover, Submarine |
3232

3333
There are also a number of [Community Supported Simulators](../simulation/community_supported_simulators.md).
3434

35+
:::tip
36+
To run PX4 SITL without setting up a build environment, [pre-built packages and containers](px4_sitl_prebuilt_packages.md) are available.
37+
:::
38+
3539
### Simulator Comparison
3640

3741
| Feature | Gazebo | SIH |
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# PX4 Simulation QuickStart
2+
3+
First install [Docker](https://docs.docker.com/get-docker/) (a free tool that runs containers).
4+
5+
The following command will then run a PX4 quadrotor simulation that you can connect to [QGroundControl](https://qgroundcontrol.com), [MAVSDK](https://mavsdk.mavlink.io/) or [ROS 2](../ros2/user_guide.md) (on Linux, macOS, and Windows):
6+
7+
```sh
8+
docker run --rm -it -p 14550:14550/udp px4io/px4-sitl:latest
9+
```
10+
11+
That's it — open [QGroundControl](https://qgroundcontrol.com) and fly!
12+
13+
::: tip
14+
15+
To try [other vehicle types](../sim_sih/#supported-vehicle-types) append the corresponding line below to the command:
16+
17+
```sh
18+
-e PX4_SIM_MODEL=sihsim_airplane # Plane
19+
-e PX4_SIM_MODEL=sihsim_standard_vtol # Standard VTOL
20+
-e PX4_SIM_MODEL=sihsim_rover # Ackermann rover
21+
```
22+
23+
For more information and options see [Container Images](../simulation/px4_sitl_prebuilt_packages.md#container-images) (in _Pre-built SITL Packages_) and [SIH Simulation](../sim_sih/index.md).
24+
25+
:::

0 commit comments

Comments
 (0)