PX4 SITL with ROS 2 Jazzy, SIH, Micro XRCE-DDS Agent, and the PX4 ROS 2 Interface Library.
416
A ready-to-use environment for developing ROS 2 applications with PX4 Autopilot. Run packaged PX4 firmware with its built-in SIH physics simulator, without installing Gazebo or compiling PX4.
Use this image for headless simulation, ROS 2 application development, and automated application testing against the bundled firmware.
px4_msgs matching the packaged PX4 firmware.Images are available for Linux amd64 and arm64.
Run these commands in separate host terminals.
Terminal 1: start the container and DDS Agent.
docker run --rm -it --name px4-ros2 \
px4io/px4-sitl-ros2:latest MicroXRCEAgent udp4 -p 8888
Terminal 2: start PX4 with SIH.
docker exec -it px4-ros2 /usr/local/bin/ros2-entrypoint.sh px4
Terminal 3: list ROS 2 topics.
docker exec -it px4-ros2 /usr/local/bin/ros2-entrypoint.sh ros2 topic list
PX4, the Agent, and ROS 2 communicate inside the same container; this example does not require host networking. Connecting ROS nodes outside the container requires additional DDS networking configuration.
Without an explicit command, the image opens Bash with ROS 2 and the workspace at /opt/px4_ros2 already sourced. PX4 and the Agent do not start automatically.
For reproducible environments, pin an image digest rather than relying on the moving latest tag. If you modify PX4 firmware or its message definitions, rebuild the ROS workspace to match; do not assume the bundled messages are compatible.
ghcr.io/px4/px4-dev-ros2:main-jazzy provides the standalone source-build toolchain used by PX4 ROS integration CI, without bundled firmware or a prebuilt ROS workspace.Content type
Image
Digest
sha256:514cb7ee9…
Size
508.8 MB
Last updated
8 days ago
docker pull px4io/px4-sitl-ros2Pulls:
184
Last week