PX4 runs a full autopilot in simulation, on your laptop, with nothing to install besides Docker. One command and you have a flying vehicle ready for QGroundControl, MAVSDK, or ROS 2.
docker run --rm -it -p 14550:14550/udp px4io/px4-sitl-sih:latestThat's it. PX4 is running. Open QGroundControl and fly.
No hardware, no build environment, no dependencies beyond Docker. Read on for more options.
The command above starts a lightweight simulation where the physics run inside PX4 itself. It starts instantly and works everywhere, but it is headless (no 3D window). You can still monitor the vehicle in QGroundControl, and there are additional visualization options if you need them.
If you need a 3D environment with cameras, LiDAR, and custom worlds, PX4 also supports Gazebo. Gazebo requires more setup (graphics forwarding, GPU access) so it is better suited as a native install or built from source. See the simulator comparison table for a full feature breakdown.
Containers package PX4 and all its dependencies into a single download so you don't have to install anything on your system. Just install Docker (a free tool that runs containers) and you're ready to go. Works on Linux, macOS, and Windows.
docker run --rm -it -p 14550:14550/udp px4io/px4-sitl-sih:latestPX4 starts a simulated quadcopter. You land in the PX4 shell (pxh>).
Open QGroundControl and it auto-connects on UDP port 14550.
For other vehicle types, environment variables, and configuration, see the full SIH Simulation guide.
If you're on Ubuntu and prefer to install PX4 simulation (SITL) directly on your system instead of using a container, download a .deb package. This installs PX4 SITL as a regular application, no Docker required. Both lightweight and Gazebo 3D packages are available.
Available for Ubuntu 22.04 and 24.04. Download from the PX4 Releases page, then:
sudo apt install ./px4_*.deb
PX4_SIM_MODEL=sihsim_quadx px4For Gazebo packages, multi-instance, ROS 2 integration, and all configuration options, see the Pre-built SITL Packages guide.
PX4 is running. Here's what to try next:
- Fly around. Open QGroundControl, it connects automatically. Arm the vehicle, take off, and explore the flight modes.
- Control it with code. Use MAVSDK to write a program that commands the vehicle: takeoff, fly a mission, land. Works in any language with a MAVLink connection.
- Connect ROS 2. PX4 publishes vehicle state and accepts commands over uXRCE-DDS. If ROS 2 is your stack, you can subscribe to topics and send setpoints from ROS nodes.
- Go deeper. Ready to modify PX4 itself? Head to the next page to set up a development environment and build from source.