px4_msgs is a ROS 2 interface package that provides message and service definitions for the PX4 Autopilot.
The package solves the problem of maintaining compatibility between ROS 2 applications and PX4 firmware by serving as the single source of truth for message definitions. It mirrors PX4's internal uORB topics, allowing ROS 2 nodes to exchange data with the autopilot through the uXRCE-DDS bridge. This bridge connects a uXRCE-DDS client running on PX4 with a MicroXRCEAgent on the companion side, which publishes and subscribes to these topics on the ROS 2 graph. By deriving definitions directly from PX4, the package ensures that a ROS 2 workspace remains ABI-compatible with a specific PX4 firmware version.
Developers building ROS 2 applications that need to communicate with PX4-based autopilots should adopt this package. It is essential for any project integrating PX4 firmware with ROS 2, whether for drone control, autonomous vehicle systems, or robotics applications using PX4 as the flight stack. The package supports multiple ROS 2 distributions and can be installed either from source by cloning the branch matching your PX4 version into a colcon workspace, or as a Debian package from the build farm once released.
The project maintains active build automation with passing package builds and pre-commit checks enabled. The repository welcomes pull requests and maintains community engagement through the Dronecode Discord channel.