Package Summary
| Version | 1.17.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/PX4/px4_msgs.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-12 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Nuno Marques
- Beniamino Pozzan
- Ramon Roche
Authors
- Nuno Marques
px4_msgs
ROS 2 message and service definitions for the PX4 Autopilot.
Overview
px4_msgs is a ROS 2 interface package: it contains only .msg and .srv definitions and the build rules that turn them into the C++/Python interfaces used by ROS 2 applications. The definitions mirror PX4’s internal uORB topics, so that a ROS 2 node can exchange them with the autopilot over the uXRCE-DDS bridge (the uxrce_dds_client running on PX4 talks to the MicroXRCEAgent running on the companion side, which publishes/subscribes these topics on the ROS 2 graph).
Because the definitions come straight from PX4, this package is the single source of truth that keeps a ROS 2 workspace ABI-compatible with a given PX4 firmware version.
Installation
From source (recommended today)
Clone the branch that matches your PX4 version (see Supported versions) into a colcon workspace and build:
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/PX4/px4_msgs.git
cd ~/ros2_ws
source /opt/ros/jazzy/setup.bash # or humble / kilted / rolling
colcon build --packages-select px4_msgs
See Using colcon to build packages and the PX4 ROS 2 User Guide for the full workflow.
From a binary (apt)
Once the package has completed its build-farm release it is installable as a Debian package:
sudo apt install ros-${ROS_DISTRO}-px4-msgs
You can also build a .deb locally — see Building Debian packages.
Usage
After sourcing the workspace, the generated interfaces are available like any other ROS 2 message package:
#include <px4_msgs/msg/vehicle_status.hpp>
// ...
sub_ = create_subscription<px4_msgs::msg::VehicleStatus>(
"/fmu/out/vehicle_status", rclcpp::QoS(10).best_effort(),
[](px4_msgs::msg::VehicleStatus::SharedPtr msg) { /* ... */ });
from px4_msgs.msg import VehicleStatus
Note: PX4 publishes with best-effort QoS; subscribers must use a compatible QoS profile (as above) or they will not receive any data. Topic names and directions (
/fmu/out/...,/fmu/in/...) are documented in the PX4 uXRCE-DDS topic list.
Package layout
px4_msgs/
├── msg/ # message definitions (*.msg), generated from PX4 uORB
├── srv/ # service definitions (*.srv)
├── CMakeLists.txt # globs msg/ and srv/ and calls rosidl_generate_interfaces
└── package.xml # ament_cmake, format 3, member of rosidl_interface_packages
Supported versions and compatibility
px4_msgs is a pure interface package, so the definitions build on any maintained ROS 2 distribution. What ties a checkout to a firmware is the PX4 release line, not the ROS 2 distribution: each PX4 release has its own branch and main tracks PX4 main. Pick the branch that matches the PX4 version you fly, then build it on whichever ROS 2 distribution you run.
PX4 release → px4_msgs branch
| PX4 release | px4_msgs branch |
|---|---|
main (in development) |
main |
| v1.17 | release/1.17 |
| v1.16 | release/1.16 |
| v1.15 | release/1.15 |
| v1.14 | release/1.14 |
| v1.13 | release/1.13 |
ROS 2 distribution → Ubuntu
The ROS 2 distribution fixes the Ubuntu version (REP 2000). CI builds main against every maintained distribution:
| ROS 2 distribution | Ubuntu | Type | Built in CI |
|---|---|---|---|
| Humble | 22.04 (Jammy) | LTS, until 2027 | yes, native runner |
| Jazzy | 24.04 (Noble) | LTS, until 2029 | yes, native runner |
File truncated at 100 lines see the full file
Changelog for package px4_msgs
The version numbers of this package track the corresponding PX4
Autopilot release line. The
message and service definitions are generated and synchronized
automatically from the uORB definitions in PX4-Autopilot, so the entries
below are produced from the tagged release history rather than by manual
edits (see scripts/generate_changelog.sh).
1.17.0 (2026-03-22)
- Synchronized with PX4 Autopilot 1.17.0.
- Added: BatteryInfo, DronecanNodeStatus, FixedWingLateralGuidanceStatus, FixedWingLateralSetpoint, FixedWingLateralStatus, FixedWingLongitudinalSetpoint, FixedWingRunwayControl, LateralControlConfiguration, LongitudinalControlConfiguration, NeuralControl, RoverSpeedSetpoint, RoverSpeedStatus, SensorGnssStatus.
- Removed: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, NpfgStatus, RoverVelocityStatus.
- Changed 44 message/service definition(s).
- Contributors: Beniamino Pozzan
1.16.2 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.1.
- Contributors: PX4 BuildBot
1.16.1 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.0.
- Contributors: PX4 BuildBot
1.16.0 (2025-08-07)
- Synchronized with PX4 Autopilot 1.16.0.
- Added: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, DistanceSensorModeChangeRequest, FuelTankStatus, InternalCombustionEngineControl, NavigatorStatus, OpenDroneIdArmStatus, OpenDroneIdOperatorId, OpenDroneIdSelfId, OpenDroneIdSystem, PurePursuitStatus, RoverAttitudeSetpoint, RoverAttitudeStatus, RoverPositionSetpoint, RoverRateSetpoint, RoverRateStatus, RoverSteeringSetpoint, RoverThrottleSetpoint, RoverVelocityStatus, TrajectorySetpoint6dof.
- Removed: Buffer128, CollisionReport, DifferentialDriveSetpoint, TrajectoryBezier, TrajectoryWaypoint, VehicleTrajectoryBezier, VehicleTrajectoryWaypoint.
- Changed 71 message/service definition(s).
- Contributors: Beniamino Pozzan, Claudio Chies, GuillaumeLaine, Mathieu David, PX4 BuildBot
1.15.4 (2025-03-20)
- PX4 point release; message and service definitions identical to 1.15.3.
- Contributors: PX4 BuildBot
1.15.3 (2025-03-20)
- Synchronized with PX4 Autopilot 1.15.3.
- Changed 3 message/service definition(s).
- Contributors: Beniamino Pozzan
1.15.2 (2024-10-06)
- PX4 point release; message and service definitions identical to 1.15.1.
- Contributors: PX4 BuildBot
1.15.1 (2024-10-06)
- Synchronized with PX4 Autopilot 1.15.1.
- Changed 1 message/service definition(s).
- Contributors: Beniamino Pozzan, PX4 BuildBot
1.15.0 (2024-06-17)
- Synchronized with PX4 Autopilot 1.15.0.
- Added: ArmingCheckReply, ArmingCheckRequest, Buffer128, CanInterfaceStatus, ConfigOverrides, DatamanRequest, DatamanResponse, DifferentialDriveSetpoint, FigureEightStatus, FlightPhaseEstimation, GeofenceStatus, GotoSetpoint, GpioConfig, GpioIn, GpioOut, GpioRequest, MessageFormatRequest, MessageFormatResponse, ParameterResetRequest, ParameterSetUsedRequest, ParameterSetValueRequest, ParameterSetValueResponse, RegisterExtComponentReply, RegisterExtComponentRequest, RtlStatus, SensorAirflow, UnregisterExtComponent, VehicleCommand, VelocityLimits, WheelEncoders.
- Changed 35 message/service definition(s).
- Contributors: Audrow Nash, Beniamino Pozzan, dependabot[bot], Federico Ciresola, PX4 BuildBot
1.14.0 (2023-11-11)
- Synchronized with PX4 Autopilot 1.14.0.
- Added: EstimatorAidSource1d, EstimatorAidSource2d, EstimatorAidSource3d, EstimatorBias3d, FailsafeFlags,
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| rosidl_default_generators | |
| rosidl_default_runtime | |
| ament_lint_auto | |
| ament_lint_common | |
| builtin_interfaces |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| as2_platform_pixhawk |
Launch files
Messages
- ActionRequest [Source]
- ActuatorArmed [Source]
- ActuatorControlsStatus [Source]
- ActuatorMotors [Source]
- ActuatorOutputs [Source]
- ActuatorServos [Source]
- ActuatorServosTrim [Source]
- ActuatorTest [Source]
- AdcReport [Source]
- Airspeed [Source]
- AirspeedValidated [Source]
- AirspeedWind [Source]
- ArmingCheckReply [Source]
- ArmingCheckRequest [Source]
- AutotuneAttitudeControlStatus [Source]
- AuxGlobalPosition [Source]
- BatteryInfo [Source]
- BatteryStatus [Source]
- ButtonEvent [Source]
- CameraCapture [Source]
- CameraStatus [Source]
- CameraTrigger [Source]
- CanInterfaceStatus [Source]
- CellularStatus [Source]
- CollisionConstraints [Source]
- ConfigOverrides [Source]
- ControlAllocatorStatus [Source]
- Cpuload [Source]
- DatamanRequest [Source]
- DatamanResponse [Source]
- DebugArray [Source]
- DebugKeyValue [Source]
- DebugValue [Source]
- DebugVect [Source]
- DeviceInformation [Source]
- DifferentialPressure [Source]
- DistanceSensor [Source]
- DistanceSensorModeChangeRequest [Source]
- DronecanNodeStatus [Source]
- Ekf2Timestamps [Source]
- EscEepromRead [Source]
- EscEepromWrite [Source]
- EscReport [Source]
- EscStatus [Source]
- EstimatorAidSource1d [Source]
- EstimatorAidSource2d [Source]
- EstimatorAidSource3d [Source]
- EstimatorBias [Source]
- EstimatorBias3d [Source]
- EstimatorEventFlags [Source]
- EstimatorFusionControl [Source]
- EstimatorGpsStatus [Source]
- EstimatorInnovations [Source]
- EstimatorSelectorStatus [Source]
- EstimatorSensorBias [Source]
- EstimatorStates [Source]
- EstimatorStatus [Source]
- EstimatorStatusFlags [Source]
- Event [Source]
- FailsafeFlags [Source]
- FailureDetectorStatus [Source]
- FiducialMarkerPosReport [Source]
- FiducialMarkerYawReport [Source]
- FigureEightStatus [Source]
- FixedWingLateralGuidanceStatus [Source]
- FixedWingLateralSetpoint [Source]
- FixedWingLateralStatus [Source]
- FixedWingLongitudinalSetpoint [Source]
- FixedWingRunwayControl [Source]
- FlightPhaseEstimation [Source]
- FollowTarget [Source]
- FollowTargetEstimator [Source]
- FollowTargetStatus [Source]
- FuelTankStatus [Source]
- GainCompression [Source]
- GeneratorStatus [Source]
- GeofenceResult [Source]
- GeofenceStatus [Source]
- GimbalControls [Source]
- GimbalDeviceAttitudeStatus [Source]
- GimbalDeviceInformation [Source]
- GimbalDeviceSetAttitude [Source]
- GimbalManagerInformation [Source]
- GimbalManagerSetAttitude [Source]
- GimbalManagerSetManualControl [Source]
- GimbalManagerStatus [Source]
- GotoSetpoint [Source]
- GpioConfig [Source]
- GpioIn [Source]
- GpioOut [Source]
- GpioRequest [Source]
- GpsDump [Source]
- GpsInjectData [Source]
- Gripper [Source]
- HealthReport [Source]
- HeaterStatus [Source]
- HomePosition [Source]
- HoverThrustEstimate [Source]
- InputRc [Source]
- InternalCombustionEngineControl [Source]
- InternalCombustionEngineStatus [Source]
- IridiumsbdStatus [Source]
- IrlockReport [Source]
- LandingGear [Source]
- LandingGearWheel [Source]
- LandingTargetInnovations [Source]
- LandingTargetPose [Source]
- LateralControlConfiguration [Source]
- LaunchDetectionStatus [Source]
- LedControl [Source]
- LogMessage [Source]
- LoggerStatus [Source]
- LongitudinalControlConfiguration [Source]
- MagWorkerData [Source]
- MagnetometerBiasEstimate [Source]
- ManualControlSetpoint [Source]
- ManualControlSwitches [Source]
- MavlinkLog [Source]
- MavlinkTunnel [Source]
- MessageFormatRequest [Source]
- MessageFormatResponse [Source]
- Mission [Source]
- MissionResult [Source]
- ModeCompleted [Source]
- MountOrientation [Source]
- NavigatorMissionItem [Source]
- NavigatorStatus [Source]
- NeuralControl [Source]
- NormalizedUnsignedSetpoint [Source]
- ObstacleDistance [Source]
- OffboardControlMode [Source]
- OnboardComputerStatus [Source]
- OpenDroneIdArmStatus [Source]
- OpenDroneIdBasicId [Source]
- OpenDroneIdOperatorId [Source]
- OpenDroneIdSelfId [Source]
- OpenDroneIdSystem [Source]
- OrbTest [Source]
- OrbTestLarge [Source]
- OrbTestMedium [Source]
- OrbitStatus [Source]
- ParameterResetRequest [Source]
- ParameterSetUsedRequest [Source]
- ParameterSetValueRequest [Source]
- ParameterSetValueResponse [Source]
- ParameterUpdate [Source]
- Ping [Source]
- PositionControllerLandingStatus [Source]
- PositionControllerStatus [Source]
- PositionSetpoint [Source]
- PositionSetpointTriplet [Source]
- PowerButtonState [Source]
- PowerMonitor [Source]
- PpsCapture [Source]
- PrecLandStatus [Source]
- PurePursuitStatus [Source]
- PwmInput [Source]
- Px4ioStatus [Source]
- QshellReq [Source]
- QshellRetval [Source]
- RadioStatus [Source]
- RangingBeacon [Source]
- RaptorInput [Source]
- RaptorStatus [Source]
- RateCtrlStatus [Source]
- RcChannels [Source]
- RcParameterMap [Source]
- RegisterExtComponentReply [Source]
- RegisterExtComponentRequest [Source]
- RoverAttitudeSetpoint [Source]
- RoverAttitudeStatus [Source]
- RoverPositionSetpoint [Source]
- RoverRateSetpoint [Source]
- RoverRateStatus [Source]
- RoverSpeedSetpoint [Source]
- RoverSpeedStatus [Source]
- RoverSteeringSetpoint [Source]
- RoverThrottleSetpoint [Source]
- Rpm [Source]
- RtlStatus [Source]
- RtlTimeEstimate [Source]
- SatelliteInfo [Source]
- SensorAccel [Source]
- SensorAccelFifo [Source]
- SensorAirflow [Source]
- SensorBaro [Source]
- SensorCombined [Source]
- SensorCorrection [Source]
- SensorGnssRelative [Source]
- SensorGnssStatus [Source]
- SensorGps [Source]
- SensorGyro [Source]
- SensorGyroFft [Source]
- SensorGyroFifo [Source]
- SensorHygrometer [Source]
- SensorMag [Source]
- SensorOpticalFlow [Source]
- SensorPreflightMag [Source]
- SensorSelection [Source]
- SensorTemp [Source]
- SensorUwb [Source]
- SensorsStatus [Source]
- SensorsStatusImu [Source]
- SystemPower [Source]
- TakeoffStatus [Source]
- TargetGnss [Source]
- TaskStackInfo [Source]
- TecsStatus [Source]
- TelemetryStatus [Source]
- TiltrotorExtraControls [Source]
- TimesyncStatus [Source]
- TrajectorySetpoint [Source]
- TrajectorySetpoint6dof [Source]
- TransponderReport [Source]
- TuneControl [Source]
- UavcanParameterRequest [Source]
- UavcanParameterValue [Source]
- UlogStream [Source]
- UlogStreamAck [Source]
- UnregisterExtComponent [Source]
- VehicleAcceleration [Source]
- VehicleAirData [Source]
- VehicleAngularAccelerationSetpoint [Source]
- VehicleAngularVelocity [Source]
- VehicleAttitude [Source]
- VehicleAttitudeSetpoint [Source]
- VehicleCommand [Source]
- VehicleCommandAck [Source]
- VehicleConstraints [Source]
- VehicleControlMode [Source]
- VehicleGlobalPosition [Source]
- VehicleImu [Source]
- VehicleImuStatus [Source]
- VehicleLandDetected [Source]
- VehicleLocalPosition [Source]
- VehicleLocalPositionSetpoint [Source]
- VehicleMagnetometer [Source]
- VehicleOdometry [Source]
- VehicleOpticalFlow [Source]
- VehicleOpticalFlowVel [Source]
- VehicleRatesSetpoint [Source]
- VehicleRoi [Source]
- VehicleStatus [Source]
- VehicleThrustSetpoint [Source]
- VehicleTorqueSetpoint [Source]
- VelocityLimits [Source]
- VteAidSource1d [Source]
- VteAidSource3d [Source]
- VteBiasInitStatus [Source]
- VteInput [Source]
- VteOrientation [Source]
- VtePosition [Source]
- VtolVehicleStatus [Source]
- Vtx [Source]
- WheelEncoders [Source]
- Wind [Source]
- YawEstimatorStatus [Source]
Services
Plugins
Recent questions tagged px4_msgs at Robotics Stack Exchange
Package Summary
| Version | 1.17.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/PX4/px4_msgs.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-12 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Nuno Marques
- Beniamino Pozzan
- Ramon Roche
Authors
- Nuno Marques
px4_msgs
ROS 2 message and service definitions for the PX4 Autopilot.
Overview
px4_msgs is a ROS 2 interface package: it contains only .msg and .srv definitions and the build rules that turn them into the C++/Python interfaces used by ROS 2 applications. The definitions mirror PX4’s internal uORB topics, so that a ROS 2 node can exchange them with the autopilot over the uXRCE-DDS bridge (the uxrce_dds_client running on PX4 talks to the MicroXRCEAgent running on the companion side, which publishes/subscribes these topics on the ROS 2 graph).
Because the definitions come straight from PX4, this package is the single source of truth that keeps a ROS 2 workspace ABI-compatible with a given PX4 firmware version.
Installation
From source (recommended today)
Clone the branch that matches your PX4 version (see Supported versions) into a colcon workspace and build:
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/PX4/px4_msgs.git
cd ~/ros2_ws
source /opt/ros/jazzy/setup.bash # or humble / kilted / rolling
colcon build --packages-select px4_msgs
See Using colcon to build packages and the PX4 ROS 2 User Guide for the full workflow.
From a binary (apt)
Once the package has completed its build-farm release it is installable as a Debian package:
sudo apt install ros-${ROS_DISTRO}-px4-msgs
You can also build a .deb locally — see Building Debian packages.
Usage
After sourcing the workspace, the generated interfaces are available like any other ROS 2 message package:
#include <px4_msgs/msg/vehicle_status.hpp>
// ...
sub_ = create_subscription<px4_msgs::msg::VehicleStatus>(
"/fmu/out/vehicle_status", rclcpp::QoS(10).best_effort(),
[](px4_msgs::msg::VehicleStatus::SharedPtr msg) { /* ... */ });
from px4_msgs.msg import VehicleStatus
Note: PX4 publishes with best-effort QoS; subscribers must use a compatible QoS profile (as above) or they will not receive any data. Topic names and directions (
/fmu/out/...,/fmu/in/...) are documented in the PX4 uXRCE-DDS topic list.
Package layout
px4_msgs/
├── msg/ # message definitions (*.msg), generated from PX4 uORB
├── srv/ # service definitions (*.srv)
├── CMakeLists.txt # globs msg/ and srv/ and calls rosidl_generate_interfaces
└── package.xml # ament_cmake, format 3, member of rosidl_interface_packages
Supported versions and compatibility
px4_msgs is a pure interface package, so the definitions build on any maintained ROS 2 distribution. What ties a checkout to a firmware is the PX4 release line, not the ROS 2 distribution: each PX4 release has its own branch and main tracks PX4 main. Pick the branch that matches the PX4 version you fly, then build it on whichever ROS 2 distribution you run.
PX4 release → px4_msgs branch
| PX4 release | px4_msgs branch |
|---|---|
main (in development) |
main |
| v1.17 | release/1.17 |
| v1.16 | release/1.16 |
| v1.15 | release/1.15 |
| v1.14 | release/1.14 |
| v1.13 | release/1.13 |
ROS 2 distribution → Ubuntu
The ROS 2 distribution fixes the Ubuntu version (REP 2000). CI builds main against every maintained distribution:
| ROS 2 distribution | Ubuntu | Type | Built in CI |
|---|---|---|---|
| Humble | 22.04 (Jammy) | LTS, until 2027 | yes, native runner |
| Jazzy | 24.04 (Noble) | LTS, until 2029 | yes, native runner |
File truncated at 100 lines see the full file
Changelog for package px4_msgs
The version numbers of this package track the corresponding PX4
Autopilot release line. The
message and service definitions are generated and synchronized
automatically from the uORB definitions in PX4-Autopilot, so the entries
below are produced from the tagged release history rather than by manual
edits (see scripts/generate_changelog.sh).
1.17.0 (2026-03-22)
- Synchronized with PX4 Autopilot 1.17.0.
- Added: BatteryInfo, DronecanNodeStatus, FixedWingLateralGuidanceStatus, FixedWingLateralSetpoint, FixedWingLateralStatus, FixedWingLongitudinalSetpoint, FixedWingRunwayControl, LateralControlConfiguration, LongitudinalControlConfiguration, NeuralControl, RoverSpeedSetpoint, RoverSpeedStatus, SensorGnssStatus.
- Removed: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, NpfgStatus, RoverVelocityStatus.
- Changed 44 message/service definition(s).
- Contributors: Beniamino Pozzan
1.16.2 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.1.
- Contributors: PX4 BuildBot
1.16.1 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.0.
- Contributors: PX4 BuildBot
1.16.0 (2025-08-07)
- Synchronized with PX4 Autopilot 1.16.0.
- Added: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, DistanceSensorModeChangeRequest, FuelTankStatus, InternalCombustionEngineControl, NavigatorStatus, OpenDroneIdArmStatus, OpenDroneIdOperatorId, OpenDroneIdSelfId, OpenDroneIdSystem, PurePursuitStatus, RoverAttitudeSetpoint, RoverAttitudeStatus, RoverPositionSetpoint, RoverRateSetpoint, RoverRateStatus, RoverSteeringSetpoint, RoverThrottleSetpoint, RoverVelocityStatus, TrajectorySetpoint6dof.
- Removed: Buffer128, CollisionReport, DifferentialDriveSetpoint, TrajectoryBezier, TrajectoryWaypoint, VehicleTrajectoryBezier, VehicleTrajectoryWaypoint.
- Changed 71 message/service definition(s).
- Contributors: Beniamino Pozzan, Claudio Chies, GuillaumeLaine, Mathieu David, PX4 BuildBot
1.15.4 (2025-03-20)
- PX4 point release; message and service definitions identical to 1.15.3.
- Contributors: PX4 BuildBot
1.15.3 (2025-03-20)
- Synchronized with PX4 Autopilot 1.15.3.
- Changed 3 message/service definition(s).
- Contributors: Beniamino Pozzan
1.15.2 (2024-10-06)
- PX4 point release; message and service definitions identical to 1.15.1.
- Contributors: PX4 BuildBot
1.15.1 (2024-10-06)
- Synchronized with PX4 Autopilot 1.15.1.
- Changed 1 message/service definition(s).
- Contributors: Beniamino Pozzan, PX4 BuildBot
1.15.0 (2024-06-17)
- Synchronized with PX4 Autopilot 1.15.0.
- Added: ArmingCheckReply, ArmingCheckRequest, Buffer128, CanInterfaceStatus, ConfigOverrides, DatamanRequest, DatamanResponse, DifferentialDriveSetpoint, FigureEightStatus, FlightPhaseEstimation, GeofenceStatus, GotoSetpoint, GpioConfig, GpioIn, GpioOut, GpioRequest, MessageFormatRequest, MessageFormatResponse, ParameterResetRequest, ParameterSetUsedRequest, ParameterSetValueRequest, ParameterSetValueResponse, RegisterExtComponentReply, RegisterExtComponentRequest, RtlStatus, SensorAirflow, UnregisterExtComponent, VehicleCommand, VelocityLimits, WheelEncoders.
- Changed 35 message/service definition(s).
- Contributors: Audrow Nash, Beniamino Pozzan, dependabot[bot], Federico Ciresola, PX4 BuildBot
1.14.0 (2023-11-11)
- Synchronized with PX4 Autopilot 1.14.0.
- Added: EstimatorAidSource1d, EstimatorAidSource2d, EstimatorAidSource3d, EstimatorBias3d, FailsafeFlags,
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| rosidl_default_generators | |
| rosidl_default_runtime | |
| ament_lint_auto | |
| ament_lint_common | |
| builtin_interfaces |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| cl_px4_mr | |
| sm_cl_px4_mr_test_1 | |
| sm_cl_px4_mr_test_2 |
Launch files
Messages
- ActionRequest [Source]
- ActuatorArmed [Source]
- ActuatorControlsStatus [Source]
- ActuatorMotors [Source]
- ActuatorOutputs [Source]
- ActuatorServos [Source]
- ActuatorServosTrim [Source]
- ActuatorTest [Source]
- AdcReport [Source]
- Airspeed [Source]
- AirspeedValidated [Source]
- AirspeedWind [Source]
- ArmingCheckReply [Source]
- ArmingCheckRequest [Source]
- AutotuneAttitudeControlStatus [Source]
- AuxGlobalPosition [Source]
- BatteryInfo [Source]
- BatteryStatus [Source]
- ButtonEvent [Source]
- CameraCapture [Source]
- CameraStatus [Source]
- CameraTrigger [Source]
- CanInterfaceStatus [Source]
- CellularStatus [Source]
- CollisionConstraints [Source]
- ConfigOverrides [Source]
- ControlAllocatorStatus [Source]
- Cpuload [Source]
- DatamanRequest [Source]
- DatamanResponse [Source]
- DebugArray [Source]
- DebugKeyValue [Source]
- DebugValue [Source]
- DebugVect [Source]
- DeviceInformation [Source]
- DifferentialPressure [Source]
- DistanceSensor [Source]
- DistanceSensorModeChangeRequest [Source]
- DronecanNodeStatus [Source]
- Ekf2Timestamps [Source]
- EscEepromRead [Source]
- EscEepromWrite [Source]
- EscReport [Source]
- EscStatus [Source]
- EstimatorAidSource1d [Source]
- EstimatorAidSource2d [Source]
- EstimatorAidSource3d [Source]
- EstimatorBias [Source]
- EstimatorBias3d [Source]
- EstimatorEventFlags [Source]
- EstimatorFusionControl [Source]
- EstimatorGpsStatus [Source]
- EstimatorInnovations [Source]
- EstimatorSelectorStatus [Source]
- EstimatorSensorBias [Source]
- EstimatorStates [Source]
- EstimatorStatus [Source]
- EstimatorStatusFlags [Source]
- Event [Source]
- FailsafeFlags [Source]
- FailureDetectorStatus [Source]
- FiducialMarkerPosReport [Source]
- FiducialMarkerYawReport [Source]
- FigureEightStatus [Source]
- FixedWingLateralGuidanceStatus [Source]
- FixedWingLateralSetpoint [Source]
- FixedWingLateralStatus [Source]
- FixedWingLongitudinalSetpoint [Source]
- FixedWingRunwayControl [Source]
- FlightPhaseEstimation [Source]
- FollowTarget [Source]
- FollowTargetEstimator [Source]
- FollowTargetStatus [Source]
- FuelTankStatus [Source]
- GainCompression [Source]
- GeneratorStatus [Source]
- GeofenceResult [Source]
- GeofenceStatus [Source]
- GimbalControls [Source]
- GimbalDeviceAttitudeStatus [Source]
- GimbalDeviceInformation [Source]
- GimbalDeviceSetAttitude [Source]
- GimbalManagerInformation [Source]
- GimbalManagerSetAttitude [Source]
- GimbalManagerSetManualControl [Source]
- GimbalManagerStatus [Source]
- GotoSetpoint [Source]
- GpioConfig [Source]
- GpioIn [Source]
- GpioOut [Source]
- GpioRequest [Source]
- GpsDump [Source]
- GpsInjectData [Source]
- Gripper [Source]
- HealthReport [Source]
- HeaterStatus [Source]
- HomePosition [Source]
- HoverThrustEstimate [Source]
- InputRc [Source]
- InternalCombustionEngineControl [Source]
- InternalCombustionEngineStatus [Source]
- IridiumsbdStatus [Source]
- IrlockReport [Source]
- LandingGear [Source]
- LandingGearWheel [Source]
- LandingTargetInnovations [Source]
- LandingTargetPose [Source]
- LateralControlConfiguration [Source]
- LaunchDetectionStatus [Source]
- LedControl [Source]
- LogMessage [Source]
- LoggerStatus [Source]
- LongitudinalControlConfiguration [Source]
- MagWorkerData [Source]
- MagnetometerBiasEstimate [Source]
- ManualControlSetpoint [Source]
- ManualControlSwitches [Source]
- MavlinkLog [Source]
- MavlinkTunnel [Source]
- MessageFormatRequest [Source]
- MessageFormatResponse [Source]
- Mission [Source]
- MissionResult [Source]
- ModeCompleted [Source]
- MountOrientation [Source]
- NavigatorMissionItem [Source]
- NavigatorStatus [Source]
- NeuralControl [Source]
- NormalizedUnsignedSetpoint [Source]
- ObstacleDistance [Source]
- OffboardControlMode [Source]
- OnboardComputerStatus [Source]
- OpenDroneIdArmStatus [Source]
- OpenDroneIdBasicId [Source]
- OpenDroneIdOperatorId [Source]
- OpenDroneIdSelfId [Source]
- OpenDroneIdSystem [Source]
- OrbTest [Source]
- OrbTestLarge [Source]
- OrbTestMedium [Source]
- OrbitStatus [Source]
- ParameterResetRequest [Source]
- ParameterSetUsedRequest [Source]
- ParameterSetValueRequest [Source]
- ParameterSetValueResponse [Source]
- ParameterUpdate [Source]
- Ping [Source]
- PositionControllerLandingStatus [Source]
- PositionControllerStatus [Source]
- PositionSetpoint [Source]
- PositionSetpointTriplet [Source]
- PowerButtonState [Source]
- PowerMonitor [Source]
- PpsCapture [Source]
- PrecLandStatus [Source]
- PurePursuitStatus [Source]
- PwmInput [Source]
- Px4ioStatus [Source]
- QshellReq [Source]
- QshellRetval [Source]
- RadioStatus [Source]
- RangingBeacon [Source]
- RaptorInput [Source]
- RaptorStatus [Source]
- RateCtrlStatus [Source]
- RcChannels [Source]
- RcParameterMap [Source]
- RegisterExtComponentReply [Source]
- RegisterExtComponentRequest [Source]
- RoverAttitudeSetpoint [Source]
- RoverAttitudeStatus [Source]
- RoverPositionSetpoint [Source]
- RoverRateSetpoint [Source]
- RoverRateStatus [Source]
- RoverSpeedSetpoint [Source]
- RoverSpeedStatus [Source]
- RoverSteeringSetpoint [Source]
- RoverThrottleSetpoint [Source]
- Rpm [Source]
- RtlStatus [Source]
- RtlTimeEstimate [Source]
- SatelliteInfo [Source]
- SensorAccel [Source]
- SensorAccelFifo [Source]
- SensorAirflow [Source]
- SensorBaro [Source]
- SensorCombined [Source]
- SensorCorrection [Source]
- SensorGnssRelative [Source]
- SensorGnssStatus [Source]
- SensorGps [Source]
- SensorGyro [Source]
- SensorGyroFft [Source]
- SensorGyroFifo [Source]
- SensorHygrometer [Source]
- SensorMag [Source]
- SensorOpticalFlow [Source]
- SensorPreflightMag [Source]
- SensorSelection [Source]
- SensorTemp [Source]
- SensorUwb [Source]
- SensorsStatus [Source]
- SensorsStatusImu [Source]
- SystemPower [Source]
- TakeoffStatus [Source]
- TargetGnss [Source]
- TaskStackInfo [Source]
- TecsStatus [Source]
- TelemetryStatus [Source]
- TiltrotorExtraControls [Source]
- TimesyncStatus [Source]
- TrajectorySetpoint [Source]
- TrajectorySetpoint6dof [Source]
- TransponderReport [Source]
- TuneControl [Source]
- UavcanParameterRequest [Source]
- UavcanParameterValue [Source]
- UlogStream [Source]
- UlogStreamAck [Source]
- UnregisterExtComponent [Source]
- VehicleAcceleration [Source]
- VehicleAirData [Source]
- VehicleAngularAccelerationSetpoint [Source]
- VehicleAngularVelocity [Source]
- VehicleAttitude [Source]
- VehicleAttitudeSetpoint [Source]
- VehicleCommand [Source]
- VehicleCommandAck [Source]
- VehicleConstraints [Source]
- VehicleControlMode [Source]
- VehicleGlobalPosition [Source]
- VehicleImu [Source]
- VehicleImuStatus [Source]
- VehicleLandDetected [Source]
- VehicleLocalPosition [Source]
- VehicleLocalPositionSetpoint [Source]
- VehicleMagnetometer [Source]
- VehicleOdometry [Source]
- VehicleOpticalFlow [Source]
- VehicleOpticalFlowVel [Source]
- VehicleRatesSetpoint [Source]
- VehicleRoi [Source]
- VehicleStatus [Source]
- VehicleThrustSetpoint [Source]
- VehicleTorqueSetpoint [Source]
- VelocityLimits [Source]
- VteAidSource1d [Source]
- VteAidSource3d [Source]
- VteBiasInitStatus [Source]
- VteInput [Source]
- VteOrientation [Source]
- VtePosition [Source]
- VtolVehicleStatus [Source]
- Vtx [Source]
- WheelEncoders [Source]
- Wind [Source]
- YawEstimatorStatus [Source]
Services
Plugins
Recent questions tagged px4_msgs at Robotics Stack Exchange
Package Summary
| Version | 1.17.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/PX4/px4_msgs.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-12 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Nuno Marques
- Beniamino Pozzan
- Ramon Roche
Authors
- Nuno Marques
px4_msgs
ROS 2 message and service definitions for the PX4 Autopilot.
Overview
px4_msgs is a ROS 2 interface package: it contains only .msg and .srv definitions and the build rules that turn them into the C++/Python interfaces used by ROS 2 applications. The definitions mirror PX4’s internal uORB topics, so that a ROS 2 node can exchange them with the autopilot over the uXRCE-DDS bridge (the uxrce_dds_client running on PX4 talks to the MicroXRCEAgent running on the companion side, which publishes/subscribes these topics on the ROS 2 graph).
Because the definitions come straight from PX4, this package is the single source of truth that keeps a ROS 2 workspace ABI-compatible with a given PX4 firmware version.
Installation
From source (recommended today)
Clone the branch that matches your PX4 version (see Supported versions) into a colcon workspace and build:
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/PX4/px4_msgs.git
cd ~/ros2_ws
source /opt/ros/jazzy/setup.bash # or humble / kilted / rolling
colcon build --packages-select px4_msgs
See Using colcon to build packages and the PX4 ROS 2 User Guide for the full workflow.
From a binary (apt)
Once the package has completed its build-farm release it is installable as a Debian package:
sudo apt install ros-${ROS_DISTRO}-px4-msgs
You can also build a .deb locally — see Building Debian packages.
Usage
After sourcing the workspace, the generated interfaces are available like any other ROS 2 message package:
#include <px4_msgs/msg/vehicle_status.hpp>
// ...
sub_ = create_subscription<px4_msgs::msg::VehicleStatus>(
"/fmu/out/vehicle_status", rclcpp::QoS(10).best_effort(),
[](px4_msgs::msg::VehicleStatus::SharedPtr msg) { /* ... */ });
from px4_msgs.msg import VehicleStatus
Note: PX4 publishes with best-effort QoS; subscribers must use a compatible QoS profile (as above) or they will not receive any data. Topic names and directions (
/fmu/out/...,/fmu/in/...) are documented in the PX4 uXRCE-DDS topic list.
Package layout
px4_msgs/
├── msg/ # message definitions (*.msg), generated from PX4 uORB
├── srv/ # service definitions (*.srv)
├── CMakeLists.txt # globs msg/ and srv/ and calls rosidl_generate_interfaces
└── package.xml # ament_cmake, format 3, member of rosidl_interface_packages
Supported versions and compatibility
px4_msgs is a pure interface package, so the definitions build on any maintained ROS 2 distribution. What ties a checkout to a firmware is the PX4 release line, not the ROS 2 distribution: each PX4 release has its own branch and main tracks PX4 main. Pick the branch that matches the PX4 version you fly, then build it on whichever ROS 2 distribution you run.
PX4 release → px4_msgs branch
| PX4 release | px4_msgs branch |
|---|---|
main (in development) |
main |
| v1.17 | release/1.17 |
| v1.16 | release/1.16 |
| v1.15 | release/1.15 |
| v1.14 | release/1.14 |
| v1.13 | release/1.13 |
ROS 2 distribution → Ubuntu
The ROS 2 distribution fixes the Ubuntu version (REP 2000). CI builds main against every maintained distribution:
| ROS 2 distribution | Ubuntu | Type | Built in CI |
|---|---|---|---|
| Humble | 22.04 (Jammy) | LTS, until 2027 | yes, native runner |
| Jazzy | 24.04 (Noble) | LTS, until 2029 | yes, native runner |
File truncated at 100 lines see the full file
Changelog for package px4_msgs
The version numbers of this package track the corresponding PX4
Autopilot release line. The
message and service definitions are generated and synchronized
automatically from the uORB definitions in PX4-Autopilot, so the entries
below are produced from the tagged release history rather than by manual
edits (see scripts/generate_changelog.sh).
1.17.0 (2026-03-22)
- Synchronized with PX4 Autopilot 1.17.0.
- Added: BatteryInfo, DronecanNodeStatus, FixedWingLateralGuidanceStatus, FixedWingLateralSetpoint, FixedWingLateralStatus, FixedWingLongitudinalSetpoint, FixedWingRunwayControl, LateralControlConfiguration, LongitudinalControlConfiguration, NeuralControl, RoverSpeedSetpoint, RoverSpeedStatus, SensorGnssStatus.
- Removed: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, NpfgStatus, RoverVelocityStatus.
- Changed 44 message/service definition(s).
- Contributors: Beniamino Pozzan
1.16.2 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.1.
- Contributors: PX4 BuildBot
1.16.1 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.0.
- Contributors: PX4 BuildBot
1.16.0 (2025-08-07)
- Synchronized with PX4 Autopilot 1.16.0.
- Added: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, DistanceSensorModeChangeRequest, FuelTankStatus, InternalCombustionEngineControl, NavigatorStatus, OpenDroneIdArmStatus, OpenDroneIdOperatorId, OpenDroneIdSelfId, OpenDroneIdSystem, PurePursuitStatus, RoverAttitudeSetpoint, RoverAttitudeStatus, RoverPositionSetpoint, RoverRateSetpoint, RoverRateStatus, RoverSteeringSetpoint, RoverThrottleSetpoint, RoverVelocityStatus, TrajectorySetpoint6dof.
- Removed: Buffer128, CollisionReport, DifferentialDriveSetpoint, TrajectoryBezier, TrajectoryWaypoint, VehicleTrajectoryBezier, VehicleTrajectoryWaypoint.
- Changed 71 message/service definition(s).
- Contributors: Beniamino Pozzan, Claudio Chies, GuillaumeLaine, Mathieu David, PX4 BuildBot
1.15.4 (2025-03-20)
- PX4 point release; message and service definitions identical to 1.15.3.
- Contributors: PX4 BuildBot
1.15.3 (2025-03-20)
- Synchronized with PX4 Autopilot 1.15.3.
- Changed 3 message/service definition(s).
- Contributors: Beniamino Pozzan
1.15.2 (2024-10-06)
- PX4 point release; message and service definitions identical to 1.15.1.
- Contributors: PX4 BuildBot
1.15.1 (2024-10-06)
- Synchronized with PX4 Autopilot 1.15.1.
- Changed 1 message/service definition(s).
- Contributors: Beniamino Pozzan, PX4 BuildBot
1.15.0 (2024-06-17)
- Synchronized with PX4 Autopilot 1.15.0.
- Added: ArmingCheckReply, ArmingCheckRequest, Buffer128, CanInterfaceStatus, ConfigOverrides, DatamanRequest, DatamanResponse, DifferentialDriveSetpoint, FigureEightStatus, FlightPhaseEstimation, GeofenceStatus, GotoSetpoint, GpioConfig, GpioIn, GpioOut, GpioRequest, MessageFormatRequest, MessageFormatResponse, ParameterResetRequest, ParameterSetUsedRequest, ParameterSetValueRequest, ParameterSetValueResponse, RegisterExtComponentReply, RegisterExtComponentRequest, RtlStatus, SensorAirflow, UnregisterExtComponent, VehicleCommand, VelocityLimits, WheelEncoders.
- Changed 35 message/service definition(s).
- Contributors: Audrow Nash, Beniamino Pozzan, dependabot[bot], Federico Ciresola, PX4 BuildBot
1.14.0 (2023-11-11)
- Synchronized with PX4 Autopilot 1.14.0.
- Added: EstimatorAidSource1d, EstimatorAidSource2d, EstimatorAidSource3d, EstimatorBias3d, FailsafeFlags,
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| rosidl_default_generators | |
| rosidl_default_runtime | |
| ament_lint_auto | |
| ament_lint_common | |
| builtin_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
- ActionRequest [Source]
- ActuatorArmed [Source]
- ActuatorControlsStatus [Source]
- ActuatorMotors [Source]
- ActuatorOutputs [Source]
- ActuatorServos [Source]
- ActuatorServosTrim [Source]
- ActuatorTest [Source]
- AdcReport [Source]
- Airspeed [Source]
- AirspeedValidated [Source]
- AirspeedWind [Source]
- ArmingCheckReply [Source]
- ArmingCheckRequest [Source]
- AutotuneAttitudeControlStatus [Source]
- AuxGlobalPosition [Source]
- BatteryInfo [Source]
- BatteryStatus [Source]
- ButtonEvent [Source]
- CameraCapture [Source]
- CameraStatus [Source]
- CameraTrigger [Source]
- CanInterfaceStatus [Source]
- CellularStatus [Source]
- CollisionConstraints [Source]
- ConfigOverrides [Source]
- ControlAllocatorStatus [Source]
- Cpuload [Source]
- DatamanRequest [Source]
- DatamanResponse [Source]
- DebugArray [Source]
- DebugKeyValue [Source]
- DebugValue [Source]
- DebugVect [Source]
- DeviceInformation [Source]
- DifferentialPressure [Source]
- DistanceSensor [Source]
- DistanceSensorModeChangeRequest [Source]
- DronecanNodeStatus [Source]
- Ekf2Timestamps [Source]
- EscEepromRead [Source]
- EscEepromWrite [Source]
- EscReport [Source]
- EscStatus [Source]
- EstimatorAidSource1d [Source]
- EstimatorAidSource2d [Source]
- EstimatorAidSource3d [Source]
- EstimatorBias [Source]
- EstimatorBias3d [Source]
- EstimatorEventFlags [Source]
- EstimatorFusionControl [Source]
- EstimatorGpsStatus [Source]
- EstimatorInnovations [Source]
- EstimatorSelectorStatus [Source]
- EstimatorSensorBias [Source]
- EstimatorStates [Source]
- EstimatorStatus [Source]
- EstimatorStatusFlags [Source]
- Event [Source]
- FailsafeFlags [Source]
- FailureDetectorStatus [Source]
- FiducialMarkerPosReport [Source]
- FiducialMarkerYawReport [Source]
- FigureEightStatus [Source]
- FixedWingLateralGuidanceStatus [Source]
- FixedWingLateralSetpoint [Source]
- FixedWingLateralStatus [Source]
- FixedWingLongitudinalSetpoint [Source]
- FixedWingRunwayControl [Source]
- FlightPhaseEstimation [Source]
- FollowTarget [Source]
- FollowTargetEstimator [Source]
- FollowTargetStatus [Source]
- FuelTankStatus [Source]
- GainCompression [Source]
- GeneratorStatus [Source]
- GeofenceResult [Source]
- GeofenceStatus [Source]
- GimbalControls [Source]
- GimbalDeviceAttitudeStatus [Source]
- GimbalDeviceInformation [Source]
- GimbalDeviceSetAttitude [Source]
- GimbalManagerInformation [Source]
- GimbalManagerSetAttitude [Source]
- GimbalManagerSetManualControl [Source]
- GimbalManagerStatus [Source]
- GotoSetpoint [Source]
- GpioConfig [Source]
- GpioIn [Source]
- GpioOut [Source]
- GpioRequest [Source]
- GpsDump [Source]
- GpsInjectData [Source]
- Gripper [Source]
- HealthReport [Source]
- HeaterStatus [Source]
- HomePosition [Source]
- HoverThrustEstimate [Source]
- InputRc [Source]
- InternalCombustionEngineControl [Source]
- InternalCombustionEngineStatus [Source]
- IridiumsbdStatus [Source]
- IrlockReport [Source]
- LandingGear [Source]
- LandingGearWheel [Source]
- LandingTargetInnovations [Source]
- LandingTargetPose [Source]
- LateralControlConfiguration [Source]
- LaunchDetectionStatus [Source]
- LedControl [Source]
- LogMessage [Source]
- LoggerStatus [Source]
- LongitudinalControlConfiguration [Source]
- MagWorkerData [Source]
- MagnetometerBiasEstimate [Source]
- ManualControlSetpoint [Source]
- ManualControlSwitches [Source]
- MavlinkLog [Source]
- MavlinkTunnel [Source]
- MessageFormatRequest [Source]
- MessageFormatResponse [Source]
- Mission [Source]
- MissionResult [Source]
- ModeCompleted [Source]
- MountOrientation [Source]
- NavigatorMissionItem [Source]
- NavigatorStatus [Source]
- NeuralControl [Source]
- NormalizedUnsignedSetpoint [Source]
- ObstacleDistance [Source]
- OffboardControlMode [Source]
- OnboardComputerStatus [Source]
- OpenDroneIdArmStatus [Source]
- OpenDroneIdBasicId [Source]
- OpenDroneIdOperatorId [Source]
- OpenDroneIdSelfId [Source]
- OpenDroneIdSystem [Source]
- OrbTest [Source]
- OrbTestLarge [Source]
- OrbTestMedium [Source]
- OrbitStatus [Source]
- ParameterResetRequest [Source]
- ParameterSetUsedRequest [Source]
- ParameterSetValueRequest [Source]
- ParameterSetValueResponse [Source]
- ParameterUpdate [Source]
- Ping [Source]
- PositionControllerLandingStatus [Source]
- PositionControllerStatus [Source]
- PositionSetpoint [Source]
- PositionSetpointTriplet [Source]
- PowerButtonState [Source]
- PowerMonitor [Source]
- PpsCapture [Source]
- PrecLandStatus [Source]
- PurePursuitStatus [Source]
- PwmInput [Source]
- Px4ioStatus [Source]
- QshellReq [Source]
- QshellRetval [Source]
- RadioStatus [Source]
- RangingBeacon [Source]
- RaptorInput [Source]
- RaptorStatus [Source]
- RateCtrlStatus [Source]
- RcChannels [Source]
- RcParameterMap [Source]
- RegisterExtComponentReply [Source]
- RegisterExtComponentRequest [Source]
- RoverAttitudeSetpoint [Source]
- RoverAttitudeStatus [Source]
- RoverPositionSetpoint [Source]
- RoverRateSetpoint [Source]
- RoverRateStatus [Source]
- RoverSpeedSetpoint [Source]
- RoverSpeedStatus [Source]
- RoverSteeringSetpoint [Source]
- RoverThrottleSetpoint [Source]
- Rpm [Source]
- RtlStatus [Source]
- RtlTimeEstimate [Source]
- SatelliteInfo [Source]
- SensorAccel [Source]
- SensorAccelFifo [Source]
- SensorAirflow [Source]
- SensorBaro [Source]
- SensorCombined [Source]
- SensorCorrection [Source]
- SensorGnssRelative [Source]
- SensorGnssStatus [Source]
- SensorGps [Source]
- SensorGyro [Source]
- SensorGyroFft [Source]
- SensorGyroFifo [Source]
- SensorHygrometer [Source]
- SensorMag [Source]
- SensorOpticalFlow [Source]
- SensorPreflightMag [Source]
- SensorSelection [Source]
- SensorTemp [Source]
- SensorUwb [Source]
- SensorsStatus [Source]
- SensorsStatusImu [Source]
- SystemPower [Source]
- TakeoffStatus [Source]
- TargetGnss [Source]
- TaskStackInfo [Source]
- TecsStatus [Source]
- TelemetryStatus [Source]
- TiltrotorExtraControls [Source]
- TimesyncStatus [Source]
- TrajectorySetpoint [Source]
- TrajectorySetpoint6dof [Source]
- TransponderReport [Source]
- TuneControl [Source]
- UavcanParameterRequest [Source]
- UavcanParameterValue [Source]
- UlogStream [Source]
- UlogStreamAck [Source]
- UnregisterExtComponent [Source]
- VehicleAcceleration [Source]
- VehicleAirData [Source]
- VehicleAngularAccelerationSetpoint [Source]
- VehicleAngularVelocity [Source]
- VehicleAttitude [Source]
- VehicleAttitudeSetpoint [Source]
- VehicleCommand [Source]
- VehicleCommandAck [Source]
- VehicleConstraints [Source]
- VehicleControlMode [Source]
- VehicleGlobalPosition [Source]
- VehicleImu [Source]
- VehicleImuStatus [Source]
- VehicleLandDetected [Source]
- VehicleLocalPosition [Source]
- VehicleLocalPositionSetpoint [Source]
- VehicleMagnetometer [Source]
- VehicleOdometry [Source]
- VehicleOpticalFlow [Source]
- VehicleOpticalFlowVel [Source]
- VehicleRatesSetpoint [Source]
- VehicleRoi [Source]
- VehicleStatus [Source]
- VehicleThrustSetpoint [Source]
- VehicleTorqueSetpoint [Source]
- VelocityLimits [Source]
- VteAidSource1d [Source]
- VteAidSource3d [Source]
- VteBiasInitStatus [Source]
- VteInput [Source]
- VteOrientation [Source]
- VtePosition [Source]
- VtolVehicleStatus [Source]
- Vtx [Source]
- WheelEncoders [Source]
- Wind [Source]
- YawEstimatorStatus [Source]
Services
Plugins
Recent questions tagged px4_msgs at Robotics Stack Exchange
Package Summary
| Version | 1.17.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/PX4/px4_msgs.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-12 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Nuno Marques
- Beniamino Pozzan
- Ramon Roche
Authors
- Nuno Marques
px4_msgs
ROS 2 message and service definitions for the PX4 Autopilot.
Overview
px4_msgs is a ROS 2 interface package: it contains only .msg and .srv definitions and the build rules that turn them into the C++/Python interfaces used by ROS 2 applications. The definitions mirror PX4’s internal uORB topics, so that a ROS 2 node can exchange them with the autopilot over the uXRCE-DDS bridge (the uxrce_dds_client running on PX4 talks to the MicroXRCEAgent running on the companion side, which publishes/subscribes these topics on the ROS 2 graph).
Because the definitions come straight from PX4, this package is the single source of truth that keeps a ROS 2 workspace ABI-compatible with a given PX4 firmware version.
Installation
From source (recommended today)
Clone the branch that matches your PX4 version (see Supported versions) into a colcon workspace and build:
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/PX4/px4_msgs.git
cd ~/ros2_ws
source /opt/ros/jazzy/setup.bash # or humble / kilted / rolling
colcon build --packages-select px4_msgs
See Using colcon to build packages and the PX4 ROS 2 User Guide for the full workflow.
From a binary (apt)
Once the package has completed its build-farm release it is installable as a Debian package:
sudo apt install ros-${ROS_DISTRO}-px4-msgs
You can also build a .deb locally — see Building Debian packages.
Usage
After sourcing the workspace, the generated interfaces are available like any other ROS 2 message package:
#include <px4_msgs/msg/vehicle_status.hpp>
// ...
sub_ = create_subscription<px4_msgs::msg::VehicleStatus>(
"/fmu/out/vehicle_status", rclcpp::QoS(10).best_effort(),
[](px4_msgs::msg::VehicleStatus::SharedPtr msg) { /* ... */ });
from px4_msgs.msg import VehicleStatus
Note: PX4 publishes with best-effort QoS; subscribers must use a compatible QoS profile (as above) or they will not receive any data. Topic names and directions (
/fmu/out/...,/fmu/in/...) are documented in the PX4 uXRCE-DDS topic list.
Package layout
px4_msgs/
├── msg/ # message definitions (*.msg), generated from PX4 uORB
├── srv/ # service definitions (*.srv)
├── CMakeLists.txt # globs msg/ and srv/ and calls rosidl_generate_interfaces
└── package.xml # ament_cmake, format 3, member of rosidl_interface_packages
Supported versions and compatibility
px4_msgs is a pure interface package, so the definitions build on any maintained ROS 2 distribution. What ties a checkout to a firmware is the PX4 release line, not the ROS 2 distribution: each PX4 release has its own branch and main tracks PX4 main. Pick the branch that matches the PX4 version you fly, then build it on whichever ROS 2 distribution you run.
PX4 release → px4_msgs branch
| PX4 release | px4_msgs branch |
|---|---|
main (in development) |
main |
| v1.17 | release/1.17 |
| v1.16 | release/1.16 |
| v1.15 | release/1.15 |
| v1.14 | release/1.14 |
| v1.13 | release/1.13 |
ROS 2 distribution → Ubuntu
The ROS 2 distribution fixes the Ubuntu version (REP 2000). CI builds main against every maintained distribution:
| ROS 2 distribution | Ubuntu | Type | Built in CI |
|---|---|---|---|
| Humble | 22.04 (Jammy) | LTS, until 2027 | yes, native runner |
| Jazzy | 24.04 (Noble) | LTS, until 2029 | yes, native runner |
File truncated at 100 lines see the full file
Changelog for package px4_msgs
The version numbers of this package track the corresponding PX4
Autopilot release line. The
message and service definitions are generated and synchronized
automatically from the uORB definitions in PX4-Autopilot, so the entries
below are produced from the tagged release history rather than by manual
edits (see scripts/generate_changelog.sh).
1.17.0 (2026-03-22)
- Synchronized with PX4 Autopilot 1.17.0.
- Added: BatteryInfo, DronecanNodeStatus, FixedWingLateralGuidanceStatus, FixedWingLateralSetpoint, FixedWingLateralStatus, FixedWingLongitudinalSetpoint, FixedWingRunwayControl, LateralControlConfiguration, LongitudinalControlConfiguration, NeuralControl, RoverSpeedSetpoint, RoverSpeedStatus, SensorGnssStatus.
- Removed: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, NpfgStatus, RoverVelocityStatus.
- Changed 44 message/service definition(s).
- Contributors: Beniamino Pozzan
1.16.2 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.1.
- Contributors: PX4 BuildBot
1.16.1 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.0.
- Contributors: PX4 BuildBot
1.16.0 (2025-08-07)
- Synchronized with PX4 Autopilot 1.16.0.
- Added: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, DistanceSensorModeChangeRequest, FuelTankStatus, InternalCombustionEngineControl, NavigatorStatus, OpenDroneIdArmStatus, OpenDroneIdOperatorId, OpenDroneIdSelfId, OpenDroneIdSystem, PurePursuitStatus, RoverAttitudeSetpoint, RoverAttitudeStatus, RoverPositionSetpoint, RoverRateSetpoint, RoverRateStatus, RoverSteeringSetpoint, RoverThrottleSetpoint, RoverVelocityStatus, TrajectorySetpoint6dof.
- Removed: Buffer128, CollisionReport, DifferentialDriveSetpoint, TrajectoryBezier, TrajectoryWaypoint, VehicleTrajectoryBezier, VehicleTrajectoryWaypoint.
- Changed 71 message/service definition(s).
- Contributors: Beniamino Pozzan, Claudio Chies, GuillaumeLaine, Mathieu David, PX4 BuildBot
1.15.4 (2025-03-20)
- PX4 point release; message and service definitions identical to 1.15.3.
- Contributors: PX4 BuildBot
1.15.3 (2025-03-20)
- Synchronized with PX4 Autopilot 1.15.3.
- Changed 3 message/service definition(s).
- Contributors: Beniamino Pozzan
1.15.2 (2024-10-06)
- PX4 point release; message and service definitions identical to 1.15.1.
- Contributors: PX4 BuildBot
1.15.1 (2024-10-06)
- Synchronized with PX4 Autopilot 1.15.1.
- Changed 1 message/service definition(s).
- Contributors: Beniamino Pozzan, PX4 BuildBot
1.15.0 (2024-06-17)
- Synchronized with PX4 Autopilot 1.15.0.
- Added: ArmingCheckReply, ArmingCheckRequest, Buffer128, CanInterfaceStatus, ConfigOverrides, DatamanRequest, DatamanResponse, DifferentialDriveSetpoint, FigureEightStatus, FlightPhaseEstimation, GeofenceStatus, GotoSetpoint, GpioConfig, GpioIn, GpioOut, GpioRequest, MessageFormatRequest, MessageFormatResponse, ParameterResetRequest, ParameterSetUsedRequest, ParameterSetValueRequest, ParameterSetValueResponse, RegisterExtComponentReply, RegisterExtComponentRequest, RtlStatus, SensorAirflow, UnregisterExtComponent, VehicleCommand, VelocityLimits, WheelEncoders.
- Changed 35 message/service definition(s).
- Contributors: Audrow Nash, Beniamino Pozzan, dependabot[bot], Federico Ciresola, PX4 BuildBot
1.14.0 (2023-11-11)
- Synchronized with PX4 Autopilot 1.14.0.
- Added: EstimatorAidSource1d, EstimatorAidSource2d, EstimatorAidSource3d, EstimatorBias3d, FailsafeFlags,
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| rosidl_default_generators | |
| rosidl_default_runtime | |
| ament_lint_auto | |
| ament_lint_common | |
| builtin_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
- ActionRequest [Source]
- ActuatorArmed [Source]
- ActuatorControlsStatus [Source]
- ActuatorMotors [Source]
- ActuatorOutputs [Source]
- ActuatorServos [Source]
- ActuatorServosTrim [Source]
- ActuatorTest [Source]
- AdcReport [Source]
- Airspeed [Source]
- AirspeedValidated [Source]
- AirspeedWind [Source]
- ArmingCheckReply [Source]
- ArmingCheckRequest [Source]
- AutotuneAttitudeControlStatus [Source]
- AuxGlobalPosition [Source]
- BatteryInfo [Source]
- BatteryStatus [Source]
- ButtonEvent [Source]
- CameraCapture [Source]
- CameraStatus [Source]
- CameraTrigger [Source]
- CanInterfaceStatus [Source]
- CellularStatus [Source]
- CollisionConstraints [Source]
- ConfigOverrides [Source]
- ControlAllocatorStatus [Source]
- Cpuload [Source]
- DatamanRequest [Source]
- DatamanResponse [Source]
- DebugArray [Source]
- DebugKeyValue [Source]
- DebugValue [Source]
- DebugVect [Source]
- DeviceInformation [Source]
- DifferentialPressure [Source]
- DistanceSensor [Source]
- DistanceSensorModeChangeRequest [Source]
- DronecanNodeStatus [Source]
- Ekf2Timestamps [Source]
- EscEepromRead [Source]
- EscEepromWrite [Source]
- EscReport [Source]
- EscStatus [Source]
- EstimatorAidSource1d [Source]
- EstimatorAidSource2d [Source]
- EstimatorAidSource3d [Source]
- EstimatorBias [Source]
- EstimatorBias3d [Source]
- EstimatorEventFlags [Source]
- EstimatorFusionControl [Source]
- EstimatorGpsStatus [Source]
- EstimatorInnovations [Source]
- EstimatorSelectorStatus [Source]
- EstimatorSensorBias [Source]
- EstimatorStates [Source]
- EstimatorStatus [Source]
- EstimatorStatusFlags [Source]
- Event [Source]
- FailsafeFlags [Source]
- FailureDetectorStatus [Source]
- FiducialMarkerPosReport [Source]
- FiducialMarkerYawReport [Source]
- FigureEightStatus [Source]
- FixedWingLateralGuidanceStatus [Source]
- FixedWingLateralSetpoint [Source]
- FixedWingLateralStatus [Source]
- FixedWingLongitudinalSetpoint [Source]
- FixedWingRunwayControl [Source]
- FlightPhaseEstimation [Source]
- FollowTarget [Source]
- FollowTargetEstimator [Source]
- FollowTargetStatus [Source]
- FuelTankStatus [Source]
- GainCompression [Source]
- GeneratorStatus [Source]
- GeofenceResult [Source]
- GeofenceStatus [Source]
- GimbalControls [Source]
- GimbalDeviceAttitudeStatus [Source]
- GimbalDeviceInformation [Source]
- GimbalDeviceSetAttitude [Source]
- GimbalManagerInformation [Source]
- GimbalManagerSetAttitude [Source]
- GimbalManagerSetManualControl [Source]
- GimbalManagerStatus [Source]
- GotoSetpoint [Source]
- GpioConfig [Source]
- GpioIn [Source]
- GpioOut [Source]
- GpioRequest [Source]
- GpsDump [Source]
- GpsInjectData [Source]
- Gripper [Source]
- HealthReport [Source]
- HeaterStatus [Source]
- HomePosition [Source]
- HoverThrustEstimate [Source]
- InputRc [Source]
- InternalCombustionEngineControl [Source]
- InternalCombustionEngineStatus [Source]
- IridiumsbdStatus [Source]
- IrlockReport [Source]
- LandingGear [Source]
- LandingGearWheel [Source]
- LandingTargetInnovations [Source]
- LandingTargetPose [Source]
- LateralControlConfiguration [Source]
- LaunchDetectionStatus [Source]
- LedControl [Source]
- LogMessage [Source]
- LoggerStatus [Source]
- LongitudinalControlConfiguration [Source]
- MagWorkerData [Source]
- MagnetometerBiasEstimate [Source]
- ManualControlSetpoint [Source]
- ManualControlSwitches [Source]
- MavlinkLog [Source]
- MavlinkTunnel [Source]
- MessageFormatRequest [Source]
- MessageFormatResponse [Source]
- Mission [Source]
- MissionResult [Source]
- ModeCompleted [Source]
- MountOrientation [Source]
- NavigatorMissionItem [Source]
- NavigatorStatus [Source]
- NeuralControl [Source]
- NormalizedUnsignedSetpoint [Source]
- ObstacleDistance [Source]
- OffboardControlMode [Source]
- OnboardComputerStatus [Source]
- OpenDroneIdArmStatus [Source]
- OpenDroneIdBasicId [Source]
- OpenDroneIdOperatorId [Source]
- OpenDroneIdSelfId [Source]
- OpenDroneIdSystem [Source]
- OrbTest [Source]
- OrbTestLarge [Source]
- OrbTestMedium [Source]
- OrbitStatus [Source]
- ParameterResetRequest [Source]
- ParameterSetUsedRequest [Source]
- ParameterSetValueRequest [Source]
- ParameterSetValueResponse [Source]
- ParameterUpdate [Source]
- Ping [Source]
- PositionControllerLandingStatus [Source]
- PositionControllerStatus [Source]
- PositionSetpoint [Source]
- PositionSetpointTriplet [Source]
- PowerButtonState [Source]
- PowerMonitor [Source]
- PpsCapture [Source]
- PrecLandStatus [Source]
- PurePursuitStatus [Source]
- PwmInput [Source]
- Px4ioStatus [Source]
- QshellReq [Source]
- QshellRetval [Source]
- RadioStatus [Source]
- RangingBeacon [Source]
- RaptorInput [Source]
- RaptorStatus [Source]
- RateCtrlStatus [Source]
- RcChannels [Source]
- RcParameterMap [Source]
- RegisterExtComponentReply [Source]
- RegisterExtComponentRequest [Source]
- RoverAttitudeSetpoint [Source]
- RoverAttitudeStatus [Source]
- RoverPositionSetpoint [Source]
- RoverRateSetpoint [Source]
- RoverRateStatus [Source]
- RoverSpeedSetpoint [Source]
- RoverSpeedStatus [Source]
- RoverSteeringSetpoint [Source]
- RoverThrottleSetpoint [Source]
- Rpm [Source]
- RtlStatus [Source]
- RtlTimeEstimate [Source]
- SatelliteInfo [Source]
- SensorAccel [Source]
- SensorAccelFifo [Source]
- SensorAirflow [Source]
- SensorBaro [Source]
- SensorCombined [Source]
- SensorCorrection [Source]
- SensorGnssRelative [Source]
- SensorGnssStatus [Source]
- SensorGps [Source]
- SensorGyro [Source]
- SensorGyroFft [Source]
- SensorGyroFifo [Source]
- SensorHygrometer [Source]
- SensorMag [Source]
- SensorOpticalFlow [Source]
- SensorPreflightMag [Source]
- SensorSelection [Source]
- SensorTemp [Source]
- SensorUwb [Source]
- SensorsStatus [Source]
- SensorsStatusImu [Source]
- SystemPower [Source]
- TakeoffStatus [Source]
- TargetGnss [Source]
- TaskStackInfo [Source]
- TecsStatus [Source]
- TelemetryStatus [Source]
- TiltrotorExtraControls [Source]
- TimesyncStatus [Source]
- TrajectorySetpoint [Source]
- TrajectorySetpoint6dof [Source]
- TransponderReport [Source]
- TuneControl [Source]
- UavcanParameterRequest [Source]
- UavcanParameterValue [Source]
- UlogStream [Source]
- UlogStreamAck [Source]
- UnregisterExtComponent [Source]
- VehicleAcceleration [Source]
- VehicleAirData [Source]
- VehicleAngularAccelerationSetpoint [Source]
- VehicleAngularVelocity [Source]
- VehicleAttitude [Source]
- VehicleAttitudeSetpoint [Source]
- VehicleCommand [Source]
- VehicleCommandAck [Source]
- VehicleConstraints [Source]
- VehicleControlMode [Source]
- VehicleGlobalPosition [Source]
- VehicleImu [Source]
- VehicleImuStatus [Source]
- VehicleLandDetected [Source]
- VehicleLocalPosition [Source]
- VehicleLocalPositionSetpoint [Source]
- VehicleMagnetometer [Source]
- VehicleOdometry [Source]
- VehicleOpticalFlow [Source]
- VehicleOpticalFlowVel [Source]
- VehicleRatesSetpoint [Source]
- VehicleRoi [Source]
- VehicleStatus [Source]
- VehicleThrustSetpoint [Source]
- VehicleTorqueSetpoint [Source]
- VelocityLimits [Source]
- VteAidSource1d [Source]
- VteAidSource3d [Source]
- VteBiasInitStatus [Source]
- VteInput [Source]
- VteOrientation [Source]
- VtePosition [Source]
- VtolVehicleStatus [Source]
- Vtx [Source]
- WheelEncoders [Source]
- Wind [Source]
- YawEstimatorStatus [Source]
Services
Plugins
Recent questions tagged px4_msgs at Robotics Stack Exchange
Package Summary
| Version | 1.17.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/PX4/px4_msgs.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-12 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Nuno Marques
- Beniamino Pozzan
- Ramon Roche
Authors
- Nuno Marques
px4_msgs
ROS 2 message and service definitions for the PX4 Autopilot.
Overview
px4_msgs is a ROS 2 interface package: it contains only .msg and .srv definitions and the build rules that turn them into the C++/Python interfaces used by ROS 2 applications. The definitions mirror PX4’s internal uORB topics, so that a ROS 2 node can exchange them with the autopilot over the uXRCE-DDS bridge (the uxrce_dds_client running on PX4 talks to the MicroXRCEAgent running on the companion side, which publishes/subscribes these topics on the ROS 2 graph).
Because the definitions come straight from PX4, this package is the single source of truth that keeps a ROS 2 workspace ABI-compatible with a given PX4 firmware version.
Installation
From source (recommended today)
Clone the branch that matches your PX4 version (see Supported versions) into a colcon workspace and build:
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/PX4/px4_msgs.git
cd ~/ros2_ws
source /opt/ros/jazzy/setup.bash # or humble / kilted / rolling
colcon build --packages-select px4_msgs
See Using colcon to build packages and the PX4 ROS 2 User Guide for the full workflow.
From a binary (apt)
Once the package has completed its build-farm release it is installable as a Debian package:
sudo apt install ros-${ROS_DISTRO}-px4-msgs
You can also build a .deb locally — see Building Debian packages.
Usage
After sourcing the workspace, the generated interfaces are available like any other ROS 2 message package:
#include <px4_msgs/msg/vehicle_status.hpp>
// ...
sub_ = create_subscription<px4_msgs::msg::VehicleStatus>(
"/fmu/out/vehicle_status", rclcpp::QoS(10).best_effort(),
[](px4_msgs::msg::VehicleStatus::SharedPtr msg) { /* ... */ });
from px4_msgs.msg import VehicleStatus
Note: PX4 publishes with best-effort QoS; subscribers must use a compatible QoS profile (as above) or they will not receive any data. Topic names and directions (
/fmu/out/...,/fmu/in/...) are documented in the PX4 uXRCE-DDS topic list.
Package layout
px4_msgs/
├── msg/ # message definitions (*.msg), generated from PX4 uORB
├── srv/ # service definitions (*.srv)
├── CMakeLists.txt # globs msg/ and srv/ and calls rosidl_generate_interfaces
└── package.xml # ament_cmake, format 3, member of rosidl_interface_packages
Supported versions and compatibility
px4_msgs is a pure interface package, so the definitions build on any maintained ROS 2 distribution. What ties a checkout to a firmware is the PX4 release line, not the ROS 2 distribution: each PX4 release has its own branch and main tracks PX4 main. Pick the branch that matches the PX4 version you fly, then build it on whichever ROS 2 distribution you run.
PX4 release → px4_msgs branch
| PX4 release | px4_msgs branch |
|---|---|
main (in development) |
main |
| v1.17 | release/1.17 |
| v1.16 | release/1.16 |
| v1.15 | release/1.15 |
| v1.14 | release/1.14 |
| v1.13 | release/1.13 |
ROS 2 distribution → Ubuntu
The ROS 2 distribution fixes the Ubuntu version (REP 2000). CI builds main against every maintained distribution:
| ROS 2 distribution | Ubuntu | Type | Built in CI |
|---|---|---|---|
| Humble | 22.04 (Jammy) | LTS, until 2027 | yes, native runner |
| Jazzy | 24.04 (Noble) | LTS, until 2029 | yes, native runner |
File truncated at 100 lines see the full file
Changelog for package px4_msgs
The version numbers of this package track the corresponding PX4
Autopilot release line. The
message and service definitions are generated and synchronized
automatically from the uORB definitions in PX4-Autopilot, so the entries
below are produced from the tagged release history rather than by manual
edits (see scripts/generate_changelog.sh).
1.17.0 (2026-03-22)
- Synchronized with PX4 Autopilot 1.17.0.
- Added: BatteryInfo, DronecanNodeStatus, FixedWingLateralGuidanceStatus, FixedWingLateralSetpoint, FixedWingLateralStatus, FixedWingLongitudinalSetpoint, FixedWingRunwayControl, LateralControlConfiguration, LongitudinalControlConfiguration, NeuralControl, RoverSpeedSetpoint, RoverSpeedStatus, SensorGnssStatus.
- Removed: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, NpfgStatus, RoverVelocityStatus.
- Changed 44 message/service definition(s).
- Contributors: Beniamino Pozzan
1.16.2 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.1.
- Contributors: PX4 BuildBot
1.16.1 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.0.
- Contributors: PX4 BuildBot
1.16.0 (2025-08-07)
- Synchronized with PX4 Autopilot 1.16.0.
- Added: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, DistanceSensorModeChangeRequest, FuelTankStatus, InternalCombustionEngineControl, NavigatorStatus, OpenDroneIdArmStatus, OpenDroneIdOperatorId, OpenDroneIdSelfId, OpenDroneIdSystem, PurePursuitStatus, RoverAttitudeSetpoint, RoverAttitudeStatus, RoverPositionSetpoint, RoverRateSetpoint, RoverRateStatus, RoverSteeringSetpoint, RoverThrottleSetpoint, RoverVelocityStatus, TrajectorySetpoint6dof.
- Removed: Buffer128, CollisionReport, DifferentialDriveSetpoint, TrajectoryBezier, TrajectoryWaypoint, VehicleTrajectoryBezier, VehicleTrajectoryWaypoint.
- Changed 71 message/service definition(s).
- Contributors: Beniamino Pozzan, Claudio Chies, GuillaumeLaine, Mathieu David, PX4 BuildBot
1.15.4 (2025-03-20)
- PX4 point release; message and service definitions identical to 1.15.3.
- Contributors: PX4 BuildBot
1.15.3 (2025-03-20)
- Synchronized with PX4 Autopilot 1.15.3.
- Changed 3 message/service definition(s).
- Contributors: Beniamino Pozzan
1.15.2 (2024-10-06)
- PX4 point release; message and service definitions identical to 1.15.1.
- Contributors: PX4 BuildBot
1.15.1 (2024-10-06)
- Synchronized with PX4 Autopilot 1.15.1.
- Changed 1 message/service definition(s).
- Contributors: Beniamino Pozzan, PX4 BuildBot
1.15.0 (2024-06-17)
- Synchronized with PX4 Autopilot 1.15.0.
- Added: ArmingCheckReply, ArmingCheckRequest, Buffer128, CanInterfaceStatus, ConfigOverrides, DatamanRequest, DatamanResponse, DifferentialDriveSetpoint, FigureEightStatus, FlightPhaseEstimation, GeofenceStatus, GotoSetpoint, GpioConfig, GpioIn, GpioOut, GpioRequest, MessageFormatRequest, MessageFormatResponse, ParameterResetRequest, ParameterSetUsedRequest, ParameterSetValueRequest, ParameterSetValueResponse, RegisterExtComponentReply, RegisterExtComponentRequest, RtlStatus, SensorAirflow, UnregisterExtComponent, VehicleCommand, VelocityLimits, WheelEncoders.
- Changed 35 message/service definition(s).
- Contributors: Audrow Nash, Beniamino Pozzan, dependabot[bot], Federico Ciresola, PX4 BuildBot
1.14.0 (2023-11-11)
- Synchronized with PX4 Autopilot 1.14.0.
- Added: EstimatorAidSource1d, EstimatorAidSource2d, EstimatorAidSource3d, EstimatorBias3d, FailsafeFlags,
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| rosidl_default_generators | |
| rosidl_default_runtime | |
| ament_lint_auto | |
| ament_lint_common | |
| builtin_interfaces |
System Dependencies
Dependant Packages
Launch files
Messages
- ActionRequest [Source]
- ActuatorArmed [Source]
- ActuatorControlsStatus [Source]
- ActuatorMotors [Source]
- ActuatorOutputs [Source]
- ActuatorServos [Source]
- ActuatorServosTrim [Source]
- ActuatorTest [Source]
- AdcReport [Source]
- Airspeed [Source]
- AirspeedValidated [Source]
- AirspeedWind [Source]
- ArmingCheckReply [Source]
- ArmingCheckRequest [Source]
- AutotuneAttitudeControlStatus [Source]
- AuxGlobalPosition [Source]
- BatteryInfo [Source]
- BatteryStatus [Source]
- ButtonEvent [Source]
- CameraCapture [Source]
- CameraStatus [Source]
- CameraTrigger [Source]
- CanInterfaceStatus [Source]
- CellularStatus [Source]
- CollisionConstraints [Source]
- ConfigOverrides [Source]
- ControlAllocatorStatus [Source]
- Cpuload [Source]
- DatamanRequest [Source]
- DatamanResponse [Source]
- DebugArray [Source]
- DebugKeyValue [Source]
- DebugValue [Source]
- DebugVect [Source]
- DeviceInformation [Source]
- DifferentialPressure [Source]
- DistanceSensor [Source]
- DistanceSensorModeChangeRequest [Source]
- DronecanNodeStatus [Source]
- Ekf2Timestamps [Source]
- EscEepromRead [Source]
- EscEepromWrite [Source]
- EscReport [Source]
- EscStatus [Source]
- EstimatorAidSource1d [Source]
- EstimatorAidSource2d [Source]
- EstimatorAidSource3d [Source]
- EstimatorBias [Source]
- EstimatorBias3d [Source]
- EstimatorEventFlags [Source]
- EstimatorFusionControl [Source]
- EstimatorGpsStatus [Source]
- EstimatorInnovations [Source]
- EstimatorSelectorStatus [Source]
- EstimatorSensorBias [Source]
- EstimatorStates [Source]
- EstimatorStatus [Source]
- EstimatorStatusFlags [Source]
- Event [Source]
- FailsafeFlags [Source]
- FailureDetectorStatus [Source]
- FiducialMarkerPosReport [Source]
- FiducialMarkerYawReport [Source]
- FigureEightStatus [Source]
- FixedWingLateralGuidanceStatus [Source]
- FixedWingLateralSetpoint [Source]
- FixedWingLateralStatus [Source]
- FixedWingLongitudinalSetpoint [Source]
- FixedWingRunwayControl [Source]
- FlightPhaseEstimation [Source]
- FollowTarget [Source]
- FollowTargetEstimator [Source]
- FollowTargetStatus [Source]
- FuelTankStatus [Source]
- GainCompression [Source]
- GeneratorStatus [Source]
- GeofenceResult [Source]
- GeofenceStatus [Source]
- GimbalControls [Source]
- GimbalDeviceAttitudeStatus [Source]
- GimbalDeviceInformation [Source]
- GimbalDeviceSetAttitude [Source]
- GimbalManagerInformation [Source]
- GimbalManagerSetAttitude [Source]
- GimbalManagerSetManualControl [Source]
- GimbalManagerStatus [Source]
- GotoSetpoint [Source]
- GpioConfig [Source]
- GpioIn [Source]
- GpioOut [Source]
- GpioRequest [Source]
- GpsDump [Source]
- GpsInjectData [Source]
- Gripper [Source]
- HealthReport [Source]
- HeaterStatus [Source]
- HomePosition [Source]
- HoverThrustEstimate [Source]
- InputRc [Source]
- InternalCombustionEngineControl [Source]
- InternalCombustionEngineStatus [Source]
- IridiumsbdStatus [Source]
- IrlockReport [Source]
- LandingGear [Source]
- LandingGearWheel [Source]
- LandingTargetInnovations [Source]
- LandingTargetPose [Source]
- LateralControlConfiguration [Source]
- LaunchDetectionStatus [Source]
- LedControl [Source]
- LogMessage [Source]
- LoggerStatus [Source]
- LongitudinalControlConfiguration [Source]
- MagWorkerData [Source]
- MagnetometerBiasEstimate [Source]
- ManualControlSetpoint [Source]
- ManualControlSwitches [Source]
- MavlinkLog [Source]
- MavlinkTunnel [Source]
- MessageFormatRequest [Source]
- MessageFormatResponse [Source]
- Mission [Source]
- MissionResult [Source]
- ModeCompleted [Source]
- MountOrientation [Source]
- NavigatorMissionItem [Source]
- NavigatorStatus [Source]
- NeuralControl [Source]
- NormalizedUnsignedSetpoint [Source]
- ObstacleDistance [Source]
- OffboardControlMode [Source]
- OnboardComputerStatus [Source]
- OpenDroneIdArmStatus [Source]
- OpenDroneIdBasicId [Source]
- OpenDroneIdOperatorId [Source]
- OpenDroneIdSelfId [Source]
- OpenDroneIdSystem [Source]
- OrbTest [Source]
- OrbTestLarge [Source]
- OrbTestMedium [Source]
- OrbitStatus [Source]
- ParameterResetRequest [Source]
- ParameterSetUsedRequest [Source]
- ParameterSetValueRequest [Source]
- ParameterSetValueResponse [Source]
- ParameterUpdate [Source]
- Ping [Source]
- PositionControllerLandingStatus [Source]
- PositionControllerStatus [Source]
- PositionSetpoint [Source]
- PositionSetpointTriplet [Source]
- PowerButtonState [Source]
- PowerMonitor [Source]
- PpsCapture [Source]
- PrecLandStatus [Source]
- PurePursuitStatus [Source]
- PwmInput [Source]
- Px4ioStatus [Source]
- QshellReq [Source]
- QshellRetval [Source]
- RadioStatus [Source]
- RangingBeacon [Source]
- RaptorInput [Source]
- RaptorStatus [Source]
- RateCtrlStatus [Source]
- RcChannels [Source]
- RcParameterMap [Source]
- RegisterExtComponentReply [Source]
- RegisterExtComponentRequest [Source]
- RoverAttitudeSetpoint [Source]
- RoverAttitudeStatus [Source]
- RoverPositionSetpoint [Source]
- RoverRateSetpoint [Source]
- RoverRateStatus [Source]
- RoverSpeedSetpoint [Source]
- RoverSpeedStatus [Source]
- RoverSteeringSetpoint [Source]
- RoverThrottleSetpoint [Source]
- Rpm [Source]
- RtlStatus [Source]
- RtlTimeEstimate [Source]
- SatelliteInfo [Source]
- SensorAccel [Source]
- SensorAccelFifo [Source]
- SensorAirflow [Source]
- SensorBaro [Source]
- SensorCombined [Source]
- SensorCorrection [Source]
- SensorGnssRelative [Source]
- SensorGnssStatus [Source]
- SensorGps [Source]
- SensorGyro [Source]
- SensorGyroFft [Source]
- SensorGyroFifo [Source]
- SensorHygrometer [Source]
- SensorMag [Source]
- SensorOpticalFlow [Source]
- SensorPreflightMag [Source]
- SensorSelection [Source]
- SensorTemp [Source]
- SensorUwb [Source]
- SensorsStatus [Source]
- SensorsStatusImu [Source]
- SystemPower [Source]
- TakeoffStatus [Source]
- TargetGnss [Source]
- TaskStackInfo [Source]
- TecsStatus [Source]
- TelemetryStatus [Source]
- TiltrotorExtraControls [Source]
- TimesyncStatus [Source]
- TrajectorySetpoint [Source]
- TrajectorySetpoint6dof [Source]
- TransponderReport [Source]
- TuneControl [Source]
- UavcanParameterRequest [Source]
- UavcanParameterValue [Source]
- UlogStream [Source]
- UlogStreamAck [Source]
- UnregisterExtComponent [Source]
- VehicleAcceleration [Source]
- VehicleAirData [Source]
- VehicleAngularAccelerationSetpoint [Source]
- VehicleAngularVelocity [Source]
- VehicleAttitude [Source]
- VehicleAttitudeSetpoint [Source]
- VehicleCommand [Source]
- VehicleCommandAck [Source]
- VehicleConstraints [Source]
- VehicleControlMode [Source]
- VehicleGlobalPosition [Source]
- VehicleImu [Source]
- VehicleImuStatus [Source]
- VehicleLandDetected [Source]
- VehicleLocalPosition [Source]
- VehicleLocalPositionSetpoint [Source]
- VehicleMagnetometer [Source]
- VehicleOdometry [Source]
- VehicleOpticalFlow [Source]
- VehicleOpticalFlowVel [Source]
- VehicleRatesSetpoint [Source]
- VehicleRoi [Source]
- VehicleStatus [Source]
- VehicleThrustSetpoint [Source]
- VehicleTorqueSetpoint [Source]
- VelocityLimits [Source]
- VteAidSource1d [Source]
- VteAidSource3d [Source]
- VteBiasInitStatus [Source]
- VteInput [Source]
- VteOrientation [Source]
- VtePosition [Source]
- VtolVehicleStatus [Source]
- Vtx [Source]
- WheelEncoders [Source]
- Wind [Source]
- YawEstimatorStatus [Source]
Services
Plugins
Recent questions tagged px4_msgs at Robotics Stack Exchange
Package Summary
| Version | 1.17.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/PX4/px4_msgs.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-12 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Nuno Marques
- Beniamino Pozzan
- Ramon Roche
Authors
- Nuno Marques
px4_msgs
ROS 2 message and service definitions for the PX4 Autopilot.
Overview
px4_msgs is a ROS 2 interface package: it contains only .msg and .srv definitions and the build rules that turn them into the C++/Python interfaces used by ROS 2 applications. The definitions mirror PX4’s internal uORB topics, so that a ROS 2 node can exchange them with the autopilot over the uXRCE-DDS bridge (the uxrce_dds_client running on PX4 talks to the MicroXRCEAgent running on the companion side, which publishes/subscribes these topics on the ROS 2 graph).
Because the definitions come straight from PX4, this package is the single source of truth that keeps a ROS 2 workspace ABI-compatible with a given PX4 firmware version.
Installation
From source (recommended today)
Clone the branch that matches your PX4 version (see Supported versions) into a colcon workspace and build:
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/PX4/px4_msgs.git
cd ~/ros2_ws
source /opt/ros/jazzy/setup.bash # or humble / kilted / rolling
colcon build --packages-select px4_msgs
See Using colcon to build packages and the PX4 ROS 2 User Guide for the full workflow.
From a binary (apt)
Once the package has completed its build-farm release it is installable as a Debian package:
sudo apt install ros-${ROS_DISTRO}-px4-msgs
You can also build a .deb locally — see Building Debian packages.
Usage
After sourcing the workspace, the generated interfaces are available like any other ROS 2 message package:
#include <px4_msgs/msg/vehicle_status.hpp>
// ...
sub_ = create_subscription<px4_msgs::msg::VehicleStatus>(
"/fmu/out/vehicle_status", rclcpp::QoS(10).best_effort(),
[](px4_msgs::msg::VehicleStatus::SharedPtr msg) { /* ... */ });
from px4_msgs.msg import VehicleStatus
Note: PX4 publishes with best-effort QoS; subscribers must use a compatible QoS profile (as above) or they will not receive any data. Topic names and directions (
/fmu/out/...,/fmu/in/...) are documented in the PX4 uXRCE-DDS topic list.
Package layout
px4_msgs/
├── msg/ # message definitions (*.msg), generated from PX4 uORB
├── srv/ # service definitions (*.srv)
├── CMakeLists.txt # globs msg/ and srv/ and calls rosidl_generate_interfaces
└── package.xml # ament_cmake, format 3, member of rosidl_interface_packages
Supported versions and compatibility
px4_msgs is a pure interface package, so the definitions build on any maintained ROS 2 distribution. What ties a checkout to a firmware is the PX4 release line, not the ROS 2 distribution: each PX4 release has its own branch and main tracks PX4 main. Pick the branch that matches the PX4 version you fly, then build it on whichever ROS 2 distribution you run.
PX4 release → px4_msgs branch
| PX4 release | px4_msgs branch |
|---|---|
main (in development) |
main |
| v1.17 | release/1.17 |
| v1.16 | release/1.16 |
| v1.15 | release/1.15 |
| v1.14 | release/1.14 |
| v1.13 | release/1.13 |
ROS 2 distribution → Ubuntu
The ROS 2 distribution fixes the Ubuntu version (REP 2000). CI builds main against every maintained distribution:
| ROS 2 distribution | Ubuntu | Type | Built in CI |
|---|---|---|---|
| Humble | 22.04 (Jammy) | LTS, until 2027 | yes, native runner |
| Jazzy | 24.04 (Noble) | LTS, until 2029 | yes, native runner |
File truncated at 100 lines see the full file
Changelog for package px4_msgs
The version numbers of this package track the corresponding PX4
Autopilot release line. The
message and service definitions are generated and synchronized
automatically from the uORB definitions in PX4-Autopilot, so the entries
below are produced from the tagged release history rather than by manual
edits (see scripts/generate_changelog.sh).
1.17.0 (2026-03-22)
- Synchronized with PX4 Autopilot 1.17.0.
- Added: BatteryInfo, DronecanNodeStatus, FixedWingLateralGuidanceStatus, FixedWingLateralSetpoint, FixedWingLateralStatus, FixedWingLongitudinalSetpoint, FixedWingRunwayControl, LateralControlConfiguration, LongitudinalControlConfiguration, NeuralControl, RoverSpeedSetpoint, RoverSpeedStatus, SensorGnssStatus.
- Removed: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, NpfgStatus, RoverVelocityStatus.
- Changed 44 message/service definition(s).
- Contributors: Beniamino Pozzan
1.16.2 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.1.
- Contributors: PX4 BuildBot
1.16.1 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.0.
- Contributors: PX4 BuildBot
1.16.0 (2025-08-07)
- Synchronized with PX4 Autopilot 1.16.0.
- Added: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, DistanceSensorModeChangeRequest, FuelTankStatus, InternalCombustionEngineControl, NavigatorStatus, OpenDroneIdArmStatus, OpenDroneIdOperatorId, OpenDroneIdSelfId, OpenDroneIdSystem, PurePursuitStatus, RoverAttitudeSetpoint, RoverAttitudeStatus, RoverPositionSetpoint, RoverRateSetpoint, RoverRateStatus, RoverSteeringSetpoint, RoverThrottleSetpoint, RoverVelocityStatus, TrajectorySetpoint6dof.
- Removed: Buffer128, CollisionReport, DifferentialDriveSetpoint, TrajectoryBezier, TrajectoryWaypoint, VehicleTrajectoryBezier, VehicleTrajectoryWaypoint.
- Changed 71 message/service definition(s).
- Contributors: Beniamino Pozzan, Claudio Chies, GuillaumeLaine, Mathieu David, PX4 BuildBot
1.15.4 (2025-03-20)
- PX4 point release; message and service definitions identical to 1.15.3.
- Contributors: PX4 BuildBot
1.15.3 (2025-03-20)
- Synchronized with PX4 Autopilot 1.15.3.
- Changed 3 message/service definition(s).
- Contributors: Beniamino Pozzan
1.15.2 (2024-10-06)
- PX4 point release; message and service definitions identical to 1.15.1.
- Contributors: PX4 BuildBot
1.15.1 (2024-10-06)
- Synchronized with PX4 Autopilot 1.15.1.
- Changed 1 message/service definition(s).
- Contributors: Beniamino Pozzan, PX4 BuildBot
1.15.0 (2024-06-17)
- Synchronized with PX4 Autopilot 1.15.0.
- Added: ArmingCheckReply, ArmingCheckRequest, Buffer128, CanInterfaceStatus, ConfigOverrides, DatamanRequest, DatamanResponse, DifferentialDriveSetpoint, FigureEightStatus, FlightPhaseEstimation, GeofenceStatus, GotoSetpoint, GpioConfig, GpioIn, GpioOut, GpioRequest, MessageFormatRequest, MessageFormatResponse, ParameterResetRequest, ParameterSetUsedRequest, ParameterSetValueRequest, ParameterSetValueResponse, RegisterExtComponentReply, RegisterExtComponentRequest, RtlStatus, SensorAirflow, UnregisterExtComponent, VehicleCommand, VelocityLimits, WheelEncoders.
- Changed 35 message/service definition(s).
- Contributors: Audrow Nash, Beniamino Pozzan, dependabot[bot], Federico Ciresola, PX4 BuildBot
1.14.0 (2023-11-11)
- Synchronized with PX4 Autopilot 1.14.0.
- Added: EstimatorAidSource1d, EstimatorAidSource2d, EstimatorAidSource3d, EstimatorBias3d, FailsafeFlags,
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| rosidl_default_generators | |
| rosidl_default_runtime | |
| ament_lint_auto | |
| ament_lint_common | |
| builtin_interfaces |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| as2_platform_pixhawk |
Launch files
Messages
- ActionRequest [Source]
- ActuatorArmed [Source]
- ActuatorControlsStatus [Source]
- ActuatorMotors [Source]
- ActuatorOutputs [Source]
- ActuatorServos [Source]
- ActuatorServosTrim [Source]
- ActuatorTest [Source]
- AdcReport [Source]
- Airspeed [Source]
- AirspeedValidated [Source]
- AirspeedWind [Source]
- ArmingCheckReply [Source]
- ArmingCheckRequest [Source]
- AutotuneAttitudeControlStatus [Source]
- AuxGlobalPosition [Source]
- BatteryInfo [Source]
- BatteryStatus [Source]
- ButtonEvent [Source]
- CameraCapture [Source]
- CameraStatus [Source]
- CameraTrigger [Source]
- CanInterfaceStatus [Source]
- CellularStatus [Source]
- CollisionConstraints [Source]
- ConfigOverrides [Source]
- ControlAllocatorStatus [Source]
- Cpuload [Source]
- DatamanRequest [Source]
- DatamanResponse [Source]
- DebugArray [Source]
- DebugKeyValue [Source]
- DebugValue [Source]
- DebugVect [Source]
- DeviceInformation [Source]
- DifferentialPressure [Source]
- DistanceSensor [Source]
- DistanceSensorModeChangeRequest [Source]
- DronecanNodeStatus [Source]
- Ekf2Timestamps [Source]
- EscEepromRead [Source]
- EscEepromWrite [Source]
- EscReport [Source]
- EscStatus [Source]
- EstimatorAidSource1d [Source]
- EstimatorAidSource2d [Source]
- EstimatorAidSource3d [Source]
- EstimatorBias [Source]
- EstimatorBias3d [Source]
- EstimatorEventFlags [Source]
- EstimatorFusionControl [Source]
- EstimatorGpsStatus [Source]
- EstimatorInnovations [Source]
- EstimatorSelectorStatus [Source]
- EstimatorSensorBias [Source]
- EstimatorStates [Source]
- EstimatorStatus [Source]
- EstimatorStatusFlags [Source]
- Event [Source]
- FailsafeFlags [Source]
- FailureDetectorStatus [Source]
- FiducialMarkerPosReport [Source]
- FiducialMarkerYawReport [Source]
- FigureEightStatus [Source]
- FixedWingLateralGuidanceStatus [Source]
- FixedWingLateralSetpoint [Source]
- FixedWingLateralStatus [Source]
- FixedWingLongitudinalSetpoint [Source]
- FixedWingRunwayControl [Source]
- FlightPhaseEstimation [Source]
- FollowTarget [Source]
- FollowTargetEstimator [Source]
- FollowTargetStatus [Source]
- FuelTankStatus [Source]
- GainCompression [Source]
- GeneratorStatus [Source]
- GeofenceResult [Source]
- GeofenceStatus [Source]
- GimbalControls [Source]
- GimbalDeviceAttitudeStatus [Source]
- GimbalDeviceInformation [Source]
- GimbalDeviceSetAttitude [Source]
- GimbalManagerInformation [Source]
- GimbalManagerSetAttitude [Source]
- GimbalManagerSetManualControl [Source]
- GimbalManagerStatus [Source]
- GotoSetpoint [Source]
- GpioConfig [Source]
- GpioIn [Source]
- GpioOut [Source]
- GpioRequest [Source]
- GpsDump [Source]
- GpsInjectData [Source]
- Gripper [Source]
- HealthReport [Source]
- HeaterStatus [Source]
- HomePosition [Source]
- HoverThrustEstimate [Source]
- InputRc [Source]
- InternalCombustionEngineControl [Source]
- InternalCombustionEngineStatus [Source]
- IridiumsbdStatus [Source]
- IrlockReport [Source]
- LandingGear [Source]
- LandingGearWheel [Source]
- LandingTargetInnovations [Source]
- LandingTargetPose [Source]
- LateralControlConfiguration [Source]
- LaunchDetectionStatus [Source]
- LedControl [Source]
- LogMessage [Source]
- LoggerStatus [Source]
- LongitudinalControlConfiguration [Source]
- MagWorkerData [Source]
- MagnetometerBiasEstimate [Source]
- ManualControlSetpoint [Source]
- ManualControlSwitches [Source]
- MavlinkLog [Source]
- MavlinkTunnel [Source]
- MessageFormatRequest [Source]
- MessageFormatResponse [Source]
- Mission [Source]
- MissionResult [Source]
- ModeCompleted [Source]
- MountOrientation [Source]
- NavigatorMissionItem [Source]
- NavigatorStatus [Source]
- NeuralControl [Source]
- NormalizedUnsignedSetpoint [Source]
- ObstacleDistance [Source]
- OffboardControlMode [Source]
- OnboardComputerStatus [Source]
- OpenDroneIdArmStatus [Source]
- OpenDroneIdBasicId [Source]
- OpenDroneIdOperatorId [Source]
- OpenDroneIdSelfId [Source]
- OpenDroneIdSystem [Source]
- OrbTest [Source]
- OrbTestLarge [Source]
- OrbTestMedium [Source]
- OrbitStatus [Source]
- ParameterResetRequest [Source]
- ParameterSetUsedRequest [Source]
- ParameterSetValueRequest [Source]
- ParameterSetValueResponse [Source]
- ParameterUpdate [Source]
- Ping [Source]
- PositionControllerLandingStatus [Source]
- PositionControllerStatus [Source]
- PositionSetpoint [Source]
- PositionSetpointTriplet [Source]
- PowerButtonState [Source]
- PowerMonitor [Source]
- PpsCapture [Source]
- PrecLandStatus [Source]
- PurePursuitStatus [Source]
- PwmInput [Source]
- Px4ioStatus [Source]
- QshellReq [Source]
- QshellRetval [Source]
- RadioStatus [Source]
- RangingBeacon [Source]
- RaptorInput [Source]
- RaptorStatus [Source]
- RateCtrlStatus [Source]
- RcChannels [Source]
- RcParameterMap [Source]
- RegisterExtComponentReply [Source]
- RegisterExtComponentRequest [Source]
- RoverAttitudeSetpoint [Source]
- RoverAttitudeStatus [Source]
- RoverPositionSetpoint [Source]
- RoverRateSetpoint [Source]
- RoverRateStatus [Source]
- RoverSpeedSetpoint [Source]
- RoverSpeedStatus [Source]
- RoverSteeringSetpoint [Source]
- RoverThrottleSetpoint [Source]
- Rpm [Source]
- RtlStatus [Source]
- RtlTimeEstimate [Source]
- SatelliteInfo [Source]
- SensorAccel [Source]
- SensorAccelFifo [Source]
- SensorAirflow [Source]
- SensorBaro [Source]
- SensorCombined [Source]
- SensorCorrection [Source]
- SensorGnssRelative [Source]
- SensorGnssStatus [Source]
- SensorGps [Source]
- SensorGyro [Source]
- SensorGyroFft [Source]
- SensorGyroFifo [Source]
- SensorHygrometer [Source]
- SensorMag [Source]
- SensorOpticalFlow [Source]
- SensorPreflightMag [Source]
- SensorSelection [Source]
- SensorTemp [Source]
- SensorUwb [Source]
- SensorsStatus [Source]
- SensorsStatusImu [Source]
- SystemPower [Source]
- TakeoffStatus [Source]
- TargetGnss [Source]
- TaskStackInfo [Source]
- TecsStatus [Source]
- TelemetryStatus [Source]
- TiltrotorExtraControls [Source]
- TimesyncStatus [Source]
- TrajectorySetpoint [Source]
- TrajectorySetpoint6dof [Source]
- TransponderReport [Source]
- TuneControl [Source]
- UavcanParameterRequest [Source]
- UavcanParameterValue [Source]
- UlogStream [Source]
- UlogStreamAck [Source]
- UnregisterExtComponent [Source]
- VehicleAcceleration [Source]
- VehicleAirData [Source]
- VehicleAngularAccelerationSetpoint [Source]
- VehicleAngularVelocity [Source]
- VehicleAttitude [Source]
- VehicleAttitudeSetpoint [Source]
- VehicleCommand [Source]
- VehicleCommandAck [Source]
- VehicleConstraints [Source]
- VehicleControlMode [Source]
- VehicleGlobalPosition [Source]
- VehicleImu [Source]
- VehicleImuStatus [Source]
- VehicleLandDetected [Source]
- VehicleLocalPosition [Source]
- VehicleLocalPositionSetpoint [Source]
- VehicleMagnetometer [Source]
- VehicleOdometry [Source]
- VehicleOpticalFlow [Source]
- VehicleOpticalFlowVel [Source]
- VehicleRatesSetpoint [Source]
- VehicleRoi [Source]
- VehicleStatus [Source]
- VehicleThrustSetpoint [Source]
- VehicleTorqueSetpoint [Source]
- VelocityLimits [Source]
- VteAidSource1d [Source]
- VteAidSource3d [Source]
- VteBiasInitStatus [Source]
- VteInput [Source]
- VteOrientation [Source]
- VtePosition [Source]
- VtolVehicleStatus [Source]
- Vtx [Source]
- WheelEncoders [Source]
- Wind [Source]
- YawEstimatorStatus [Source]
Services
Plugins
Recent questions tagged px4_msgs at Robotics Stack Exchange
Package Summary
| Version | 1.17.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/PX4/px4_msgs.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-12 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Nuno Marques
- Beniamino Pozzan
- Ramon Roche
Authors
- Nuno Marques
px4_msgs
ROS 2 message and service definitions for the PX4 Autopilot.
Overview
px4_msgs is a ROS 2 interface package: it contains only .msg and .srv definitions and the build rules that turn them into the C++/Python interfaces used by ROS 2 applications. The definitions mirror PX4’s internal uORB topics, so that a ROS 2 node can exchange them with the autopilot over the uXRCE-DDS bridge (the uxrce_dds_client running on PX4 talks to the MicroXRCEAgent running on the companion side, which publishes/subscribes these topics on the ROS 2 graph).
Because the definitions come straight from PX4, this package is the single source of truth that keeps a ROS 2 workspace ABI-compatible with a given PX4 firmware version.
Installation
From source (recommended today)
Clone the branch that matches your PX4 version (see Supported versions) into a colcon workspace and build:
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/PX4/px4_msgs.git
cd ~/ros2_ws
source /opt/ros/jazzy/setup.bash # or humble / kilted / rolling
colcon build --packages-select px4_msgs
See Using colcon to build packages and the PX4 ROS 2 User Guide for the full workflow.
From a binary (apt)
Once the package has completed its build-farm release it is installable as a Debian package:
sudo apt install ros-${ROS_DISTRO}-px4-msgs
You can also build a .deb locally — see Building Debian packages.
Usage
After sourcing the workspace, the generated interfaces are available like any other ROS 2 message package:
#include <px4_msgs/msg/vehicle_status.hpp>
// ...
sub_ = create_subscription<px4_msgs::msg::VehicleStatus>(
"/fmu/out/vehicle_status", rclcpp::QoS(10).best_effort(),
[](px4_msgs::msg::VehicleStatus::SharedPtr msg) { /* ... */ });
from px4_msgs.msg import VehicleStatus
Note: PX4 publishes with best-effort QoS; subscribers must use a compatible QoS profile (as above) or they will not receive any data. Topic names and directions (
/fmu/out/...,/fmu/in/...) are documented in the PX4 uXRCE-DDS topic list.
Package layout
px4_msgs/
├── msg/ # message definitions (*.msg), generated from PX4 uORB
├── srv/ # service definitions (*.srv)
├── CMakeLists.txt # globs msg/ and srv/ and calls rosidl_generate_interfaces
└── package.xml # ament_cmake, format 3, member of rosidl_interface_packages
Supported versions and compatibility
px4_msgs is a pure interface package, so the definitions build on any maintained ROS 2 distribution. What ties a checkout to a firmware is the PX4 release line, not the ROS 2 distribution: each PX4 release has its own branch and main tracks PX4 main. Pick the branch that matches the PX4 version you fly, then build it on whichever ROS 2 distribution you run.
PX4 release → px4_msgs branch
| PX4 release | px4_msgs branch |
|---|---|
main (in development) |
main |
| v1.17 | release/1.17 |
| v1.16 | release/1.16 |
| v1.15 | release/1.15 |
| v1.14 | release/1.14 |
| v1.13 | release/1.13 |
ROS 2 distribution → Ubuntu
The ROS 2 distribution fixes the Ubuntu version (REP 2000). CI builds main against every maintained distribution:
| ROS 2 distribution | Ubuntu | Type | Built in CI |
|---|---|---|---|
| Humble | 22.04 (Jammy) | LTS, until 2027 | yes, native runner |
| Jazzy | 24.04 (Noble) | LTS, until 2029 | yes, native runner |
File truncated at 100 lines see the full file
Changelog for package px4_msgs
The version numbers of this package track the corresponding PX4
Autopilot release line. The
message and service definitions are generated and synchronized
automatically from the uORB definitions in PX4-Autopilot, so the entries
below are produced from the tagged release history rather than by manual
edits (see scripts/generate_changelog.sh).
1.17.0 (2026-03-22)
- Synchronized with PX4 Autopilot 1.17.0.
- Added: BatteryInfo, DronecanNodeStatus, FixedWingLateralGuidanceStatus, FixedWingLateralSetpoint, FixedWingLateralStatus, FixedWingLongitudinalSetpoint, FixedWingRunwayControl, LateralControlConfiguration, LongitudinalControlConfiguration, NeuralControl, RoverSpeedSetpoint, RoverSpeedStatus, SensorGnssStatus.
- Removed: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, NpfgStatus, RoverVelocityStatus.
- Changed 44 message/service definition(s).
- Contributors: Beniamino Pozzan
1.16.2 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.1.
- Contributors: PX4 BuildBot
1.16.1 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.0.
- Contributors: PX4 BuildBot
1.16.0 (2025-08-07)
- Synchronized with PX4 Autopilot 1.16.0.
- Added: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, DistanceSensorModeChangeRequest, FuelTankStatus, InternalCombustionEngineControl, NavigatorStatus, OpenDroneIdArmStatus, OpenDroneIdOperatorId, OpenDroneIdSelfId, OpenDroneIdSystem, PurePursuitStatus, RoverAttitudeSetpoint, RoverAttitudeStatus, RoverPositionSetpoint, RoverRateSetpoint, RoverRateStatus, RoverSteeringSetpoint, RoverThrottleSetpoint, RoverVelocityStatus, TrajectorySetpoint6dof.
- Removed: Buffer128, CollisionReport, DifferentialDriveSetpoint, TrajectoryBezier, TrajectoryWaypoint, VehicleTrajectoryBezier, VehicleTrajectoryWaypoint.
- Changed 71 message/service definition(s).
- Contributors: Beniamino Pozzan, Claudio Chies, GuillaumeLaine, Mathieu David, PX4 BuildBot
1.15.4 (2025-03-20)
- PX4 point release; message and service definitions identical to 1.15.3.
- Contributors: PX4 BuildBot
1.15.3 (2025-03-20)
- Synchronized with PX4 Autopilot 1.15.3.
- Changed 3 message/service definition(s).
- Contributors: Beniamino Pozzan
1.15.2 (2024-10-06)
- PX4 point release; message and service definitions identical to 1.15.1.
- Contributors: PX4 BuildBot
1.15.1 (2024-10-06)
- Synchronized with PX4 Autopilot 1.15.1.
- Changed 1 message/service definition(s).
- Contributors: Beniamino Pozzan, PX4 BuildBot
1.15.0 (2024-06-17)
- Synchronized with PX4 Autopilot 1.15.0.
- Added: ArmingCheckReply, ArmingCheckRequest, Buffer128, CanInterfaceStatus, ConfigOverrides, DatamanRequest, DatamanResponse, DifferentialDriveSetpoint, FigureEightStatus, FlightPhaseEstimation, GeofenceStatus, GotoSetpoint, GpioConfig, GpioIn, GpioOut, GpioRequest, MessageFormatRequest, MessageFormatResponse, ParameterResetRequest, ParameterSetUsedRequest, ParameterSetValueRequest, ParameterSetValueResponse, RegisterExtComponentReply, RegisterExtComponentRequest, RtlStatus, SensorAirflow, UnregisterExtComponent, VehicleCommand, VelocityLimits, WheelEncoders.
- Changed 35 message/service definition(s).
- Contributors: Audrow Nash, Beniamino Pozzan, dependabot[bot], Federico Ciresola, PX4 BuildBot
1.14.0 (2023-11-11)
- Synchronized with PX4 Autopilot 1.14.0.
- Added: EstimatorAidSource1d, EstimatorAidSource2d, EstimatorAidSource3d, EstimatorBias3d, FailsafeFlags,
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| rosidl_default_generators | |
| rosidl_default_runtime | |
| ament_lint_auto | |
| ament_lint_common | |
| builtin_interfaces |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| as2_platform_pixhawk |
Launch files
Messages
- ActionRequest [Source]
- ActuatorArmed [Source]
- ActuatorControlsStatus [Source]
- ActuatorMotors [Source]
- ActuatorOutputs [Source]
- ActuatorServos [Source]
- ActuatorServosTrim [Source]
- ActuatorTest [Source]
- AdcReport [Source]
- Airspeed [Source]
- AirspeedValidated [Source]
- AirspeedWind [Source]
- ArmingCheckReply [Source]
- ArmingCheckRequest [Source]
- AutotuneAttitudeControlStatus [Source]
- AuxGlobalPosition [Source]
- BatteryInfo [Source]
- BatteryStatus [Source]
- ButtonEvent [Source]
- CameraCapture [Source]
- CameraStatus [Source]
- CameraTrigger [Source]
- CanInterfaceStatus [Source]
- CellularStatus [Source]
- CollisionConstraints [Source]
- ConfigOverrides [Source]
- ControlAllocatorStatus [Source]
- Cpuload [Source]
- DatamanRequest [Source]
- DatamanResponse [Source]
- DebugArray [Source]
- DebugKeyValue [Source]
- DebugValue [Source]
- DebugVect [Source]
- DeviceInformation [Source]
- DifferentialPressure [Source]
- DistanceSensor [Source]
- DistanceSensorModeChangeRequest [Source]
- DronecanNodeStatus [Source]
- Ekf2Timestamps [Source]
- EscEepromRead [Source]
- EscEepromWrite [Source]
- EscReport [Source]
- EscStatus [Source]
- EstimatorAidSource1d [Source]
- EstimatorAidSource2d [Source]
- EstimatorAidSource3d [Source]
- EstimatorBias [Source]
- EstimatorBias3d [Source]
- EstimatorEventFlags [Source]
- EstimatorFusionControl [Source]
- EstimatorGpsStatus [Source]
- EstimatorInnovations [Source]
- EstimatorSelectorStatus [Source]
- EstimatorSensorBias [Source]
- EstimatorStates [Source]
- EstimatorStatus [Source]
- EstimatorStatusFlags [Source]
- Event [Source]
- FailsafeFlags [Source]
- FailureDetectorStatus [Source]
- FiducialMarkerPosReport [Source]
- FiducialMarkerYawReport [Source]
- FigureEightStatus [Source]
- FixedWingLateralGuidanceStatus [Source]
- FixedWingLateralSetpoint [Source]
- FixedWingLateralStatus [Source]
- FixedWingLongitudinalSetpoint [Source]
- FixedWingRunwayControl [Source]
- FlightPhaseEstimation [Source]
- FollowTarget [Source]
- FollowTargetEstimator [Source]
- FollowTargetStatus [Source]
- FuelTankStatus [Source]
- GainCompression [Source]
- GeneratorStatus [Source]
- GeofenceResult [Source]
- GeofenceStatus [Source]
- GimbalControls [Source]
- GimbalDeviceAttitudeStatus [Source]
- GimbalDeviceInformation [Source]
- GimbalDeviceSetAttitude [Source]
- GimbalManagerInformation [Source]
- GimbalManagerSetAttitude [Source]
- GimbalManagerSetManualControl [Source]
- GimbalManagerStatus [Source]
- GotoSetpoint [Source]
- GpioConfig [Source]
- GpioIn [Source]
- GpioOut [Source]
- GpioRequest [Source]
- GpsDump [Source]
- GpsInjectData [Source]
- Gripper [Source]
- HealthReport [Source]
- HeaterStatus [Source]
- HomePosition [Source]
- HoverThrustEstimate [Source]
- InputRc [Source]
- InternalCombustionEngineControl [Source]
- InternalCombustionEngineStatus [Source]
- IridiumsbdStatus [Source]
- IrlockReport [Source]
- LandingGear [Source]
- LandingGearWheel [Source]
- LandingTargetInnovations [Source]
- LandingTargetPose [Source]
- LateralControlConfiguration [Source]
- LaunchDetectionStatus [Source]
- LedControl [Source]
- LogMessage [Source]
- LoggerStatus [Source]
- LongitudinalControlConfiguration [Source]
- MagWorkerData [Source]
- MagnetometerBiasEstimate [Source]
- ManualControlSetpoint [Source]
- ManualControlSwitches [Source]
- MavlinkLog [Source]
- MavlinkTunnel [Source]
- MessageFormatRequest [Source]
- MessageFormatResponse [Source]
- Mission [Source]
- MissionResult [Source]
- ModeCompleted [Source]
- MountOrientation [Source]
- NavigatorMissionItem [Source]
- NavigatorStatus [Source]
- NeuralControl [Source]
- NormalizedUnsignedSetpoint [Source]
- ObstacleDistance [Source]
- OffboardControlMode [Source]
- OnboardComputerStatus [Source]
- OpenDroneIdArmStatus [Source]
- OpenDroneIdBasicId [Source]
- OpenDroneIdOperatorId [Source]
- OpenDroneIdSelfId [Source]
- OpenDroneIdSystem [Source]
- OrbTest [Source]
- OrbTestLarge [Source]
- OrbTestMedium [Source]
- OrbitStatus [Source]
- ParameterResetRequest [Source]
- ParameterSetUsedRequest [Source]
- ParameterSetValueRequest [Source]
- ParameterSetValueResponse [Source]
- ParameterUpdate [Source]
- Ping [Source]
- PositionControllerLandingStatus [Source]
- PositionControllerStatus [Source]
- PositionSetpoint [Source]
- PositionSetpointTriplet [Source]
- PowerButtonState [Source]
- PowerMonitor [Source]
- PpsCapture [Source]
- PrecLandStatus [Source]
- PurePursuitStatus [Source]
- PwmInput [Source]
- Px4ioStatus [Source]
- QshellReq [Source]
- QshellRetval [Source]
- RadioStatus [Source]
- RangingBeacon [Source]
- RaptorInput [Source]
- RaptorStatus [Source]
- RateCtrlStatus [Source]
- RcChannels [Source]
- RcParameterMap [Source]
- RegisterExtComponentReply [Source]
- RegisterExtComponentRequest [Source]
- RoverAttitudeSetpoint [Source]
- RoverAttitudeStatus [Source]
- RoverPositionSetpoint [Source]
- RoverRateSetpoint [Source]
- RoverRateStatus [Source]
- RoverSpeedSetpoint [Source]
- RoverSpeedStatus [Source]
- RoverSteeringSetpoint [Source]
- RoverThrottleSetpoint [Source]
- Rpm [Source]
- RtlStatus [Source]
- RtlTimeEstimate [Source]
- SatelliteInfo [Source]
- SensorAccel [Source]
- SensorAccelFifo [Source]
- SensorAirflow [Source]
- SensorBaro [Source]
- SensorCombined [Source]
- SensorCorrection [Source]
- SensorGnssRelative [Source]
- SensorGnssStatus [Source]
- SensorGps [Source]
- SensorGyro [Source]
- SensorGyroFft [Source]
- SensorGyroFifo [Source]
- SensorHygrometer [Source]
- SensorMag [Source]
- SensorOpticalFlow [Source]
- SensorPreflightMag [Source]
- SensorSelection [Source]
- SensorTemp [Source]
- SensorUwb [Source]
- SensorsStatus [Source]
- SensorsStatusImu [Source]
- SystemPower [Source]
- TakeoffStatus [Source]
- TargetGnss [Source]
- TaskStackInfo [Source]
- TecsStatus [Source]
- TelemetryStatus [Source]
- TiltrotorExtraControls [Source]
- TimesyncStatus [Source]
- TrajectorySetpoint [Source]
- TrajectorySetpoint6dof [Source]
- TransponderReport [Source]
- TuneControl [Source]
- UavcanParameterRequest [Source]
- UavcanParameterValue [Source]
- UlogStream [Source]
- UlogStreamAck [Source]
- UnregisterExtComponent [Source]
- VehicleAcceleration [Source]
- VehicleAirData [Source]
- VehicleAngularAccelerationSetpoint [Source]
- VehicleAngularVelocity [Source]
- VehicleAttitude [Source]
- VehicleAttitudeSetpoint [Source]
- VehicleCommand [Source]
- VehicleCommandAck [Source]
- VehicleConstraints [Source]
- VehicleControlMode [Source]
- VehicleGlobalPosition [Source]
- VehicleImu [Source]
- VehicleImuStatus [Source]
- VehicleLandDetected [Source]
- VehicleLocalPosition [Source]
- VehicleLocalPositionSetpoint [Source]
- VehicleMagnetometer [Source]
- VehicleOdometry [Source]
- VehicleOpticalFlow [Source]
- VehicleOpticalFlowVel [Source]
- VehicleRatesSetpoint [Source]
- VehicleRoi [Source]
- VehicleStatus [Source]
- VehicleThrustSetpoint [Source]
- VehicleTorqueSetpoint [Source]
- VelocityLimits [Source]
- VteAidSource1d [Source]
- VteAidSource3d [Source]
- VteBiasInitStatus [Source]
- VteInput [Source]
- VteOrientation [Source]
- VtePosition [Source]
- VtolVehicleStatus [Source]
- Vtx [Source]
- WheelEncoders [Source]
- Wind [Source]
- YawEstimatorStatus [Source]
Services
Plugins
Recent questions tagged px4_msgs at Robotics Stack Exchange
Package Summary
| Version | 1.17.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/PX4/px4_msgs.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-12 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Nuno Marques
- Beniamino Pozzan
- Ramon Roche
Authors
- Nuno Marques
px4_msgs
ROS 2 message and service definitions for the PX4 Autopilot.
Overview
px4_msgs is a ROS 2 interface package: it contains only .msg and .srv definitions and the build rules that turn them into the C++/Python interfaces used by ROS 2 applications. The definitions mirror PX4’s internal uORB topics, so that a ROS 2 node can exchange them with the autopilot over the uXRCE-DDS bridge (the uxrce_dds_client running on PX4 talks to the MicroXRCEAgent running on the companion side, which publishes/subscribes these topics on the ROS 2 graph).
Because the definitions come straight from PX4, this package is the single source of truth that keeps a ROS 2 workspace ABI-compatible with a given PX4 firmware version.
Installation
From source (recommended today)
Clone the branch that matches your PX4 version (see Supported versions) into a colcon workspace and build:
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/PX4/px4_msgs.git
cd ~/ros2_ws
source /opt/ros/jazzy/setup.bash # or humble / kilted / rolling
colcon build --packages-select px4_msgs
See Using colcon to build packages and the PX4 ROS 2 User Guide for the full workflow.
From a binary (apt)
Once the package has completed its build-farm release it is installable as a Debian package:
sudo apt install ros-${ROS_DISTRO}-px4-msgs
You can also build a .deb locally — see Building Debian packages.
Usage
After sourcing the workspace, the generated interfaces are available like any other ROS 2 message package:
#include <px4_msgs/msg/vehicle_status.hpp>
// ...
sub_ = create_subscription<px4_msgs::msg::VehicleStatus>(
"/fmu/out/vehicle_status", rclcpp::QoS(10).best_effort(),
[](px4_msgs::msg::VehicleStatus::SharedPtr msg) { /* ... */ });
from px4_msgs.msg import VehicleStatus
Note: PX4 publishes with best-effort QoS; subscribers must use a compatible QoS profile (as above) or they will not receive any data. Topic names and directions (
/fmu/out/...,/fmu/in/...) are documented in the PX4 uXRCE-DDS topic list.
Package layout
px4_msgs/
├── msg/ # message definitions (*.msg), generated from PX4 uORB
├── srv/ # service definitions (*.srv)
├── CMakeLists.txt # globs msg/ and srv/ and calls rosidl_generate_interfaces
└── package.xml # ament_cmake, format 3, member of rosidl_interface_packages
Supported versions and compatibility
px4_msgs is a pure interface package, so the definitions build on any maintained ROS 2 distribution. What ties a checkout to a firmware is the PX4 release line, not the ROS 2 distribution: each PX4 release has its own branch and main tracks PX4 main. Pick the branch that matches the PX4 version you fly, then build it on whichever ROS 2 distribution you run.
PX4 release → px4_msgs branch
| PX4 release | px4_msgs branch |
|---|---|
main (in development) |
main |
| v1.17 | release/1.17 |
| v1.16 | release/1.16 |
| v1.15 | release/1.15 |
| v1.14 | release/1.14 |
| v1.13 | release/1.13 |
ROS 2 distribution → Ubuntu
The ROS 2 distribution fixes the Ubuntu version (REP 2000). CI builds main against every maintained distribution:
| ROS 2 distribution | Ubuntu | Type | Built in CI |
|---|---|---|---|
| Humble | 22.04 (Jammy) | LTS, until 2027 | yes, native runner |
| Jazzy | 24.04 (Noble) | LTS, until 2029 | yes, native runner |
File truncated at 100 lines see the full file
Changelog for package px4_msgs
The version numbers of this package track the corresponding PX4
Autopilot release line. The
message and service definitions are generated and synchronized
automatically from the uORB definitions in PX4-Autopilot, so the entries
below are produced from the tagged release history rather than by manual
edits (see scripts/generate_changelog.sh).
1.17.0 (2026-03-22)
- Synchronized with PX4 Autopilot 1.17.0.
- Added: BatteryInfo, DronecanNodeStatus, FixedWingLateralGuidanceStatus, FixedWingLateralSetpoint, FixedWingLateralStatus, FixedWingLongitudinalSetpoint, FixedWingRunwayControl, LateralControlConfiguration, LongitudinalControlConfiguration, NeuralControl, RoverSpeedSetpoint, RoverSpeedStatus, SensorGnssStatus.
- Removed: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, NpfgStatus, RoverVelocityStatus.
- Changed 44 message/service definition(s).
- Contributors: Beniamino Pozzan
1.16.2 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.1.
- Contributors: PX4 BuildBot
1.16.1 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.0.
- Contributors: PX4 BuildBot
1.16.0 (2025-08-07)
- Synchronized with PX4 Autopilot 1.16.0.
- Added: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, DistanceSensorModeChangeRequest, FuelTankStatus, InternalCombustionEngineControl, NavigatorStatus, OpenDroneIdArmStatus, OpenDroneIdOperatorId, OpenDroneIdSelfId, OpenDroneIdSystem, PurePursuitStatus, RoverAttitudeSetpoint, RoverAttitudeStatus, RoverPositionSetpoint, RoverRateSetpoint, RoverRateStatus, RoverSteeringSetpoint, RoverThrottleSetpoint, RoverVelocityStatus, TrajectorySetpoint6dof.
- Removed: Buffer128, CollisionReport, DifferentialDriveSetpoint, TrajectoryBezier, TrajectoryWaypoint, VehicleTrajectoryBezier, VehicleTrajectoryWaypoint.
- Changed 71 message/service definition(s).
- Contributors: Beniamino Pozzan, Claudio Chies, GuillaumeLaine, Mathieu David, PX4 BuildBot
1.15.4 (2025-03-20)
- PX4 point release; message and service definitions identical to 1.15.3.
- Contributors: PX4 BuildBot
1.15.3 (2025-03-20)
- Synchronized with PX4 Autopilot 1.15.3.
- Changed 3 message/service definition(s).
- Contributors: Beniamino Pozzan
1.15.2 (2024-10-06)
- PX4 point release; message and service definitions identical to 1.15.1.
- Contributors: PX4 BuildBot
1.15.1 (2024-10-06)
- Synchronized with PX4 Autopilot 1.15.1.
- Changed 1 message/service definition(s).
- Contributors: Beniamino Pozzan, PX4 BuildBot
1.15.0 (2024-06-17)
- Synchronized with PX4 Autopilot 1.15.0.
- Added: ArmingCheckReply, ArmingCheckRequest, Buffer128, CanInterfaceStatus, ConfigOverrides, DatamanRequest, DatamanResponse, DifferentialDriveSetpoint, FigureEightStatus, FlightPhaseEstimation, GeofenceStatus, GotoSetpoint, GpioConfig, GpioIn, GpioOut, GpioRequest, MessageFormatRequest, MessageFormatResponse, ParameterResetRequest, ParameterSetUsedRequest, ParameterSetValueRequest, ParameterSetValueResponse, RegisterExtComponentReply, RegisterExtComponentRequest, RtlStatus, SensorAirflow, UnregisterExtComponent, VehicleCommand, VelocityLimits, WheelEncoders.
- Changed 35 message/service definition(s).
- Contributors: Audrow Nash, Beniamino Pozzan, dependabot[bot], Federico Ciresola, PX4 BuildBot
1.14.0 (2023-11-11)
- Synchronized with PX4 Autopilot 1.14.0.
- Added: EstimatorAidSource1d, EstimatorAidSource2d, EstimatorAidSource3d, EstimatorBias3d, FailsafeFlags,
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| rosidl_default_generators | |
| rosidl_default_runtime | |
| ament_lint_auto | |
| ament_lint_common | |
| builtin_interfaces |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| as2_platform_pixhawk |
Launch files
Messages
- ActionRequest [Source]
- ActuatorArmed [Source]
- ActuatorControlsStatus [Source]
- ActuatorMotors [Source]
- ActuatorOutputs [Source]
- ActuatorServos [Source]
- ActuatorServosTrim [Source]
- ActuatorTest [Source]
- AdcReport [Source]
- Airspeed [Source]
- AirspeedValidated [Source]
- AirspeedWind [Source]
- ArmingCheckReply [Source]
- ArmingCheckRequest [Source]
- AutotuneAttitudeControlStatus [Source]
- AuxGlobalPosition [Source]
- BatteryInfo [Source]
- BatteryStatus [Source]
- ButtonEvent [Source]
- CameraCapture [Source]
- CameraStatus [Source]
- CameraTrigger [Source]
- CanInterfaceStatus [Source]
- CellularStatus [Source]
- CollisionConstraints [Source]
- ConfigOverrides [Source]
- ControlAllocatorStatus [Source]
- Cpuload [Source]
- DatamanRequest [Source]
- DatamanResponse [Source]
- DebugArray [Source]
- DebugKeyValue [Source]
- DebugValue [Source]
- DebugVect [Source]
- DeviceInformation [Source]
- DifferentialPressure [Source]
- DistanceSensor [Source]
- DistanceSensorModeChangeRequest [Source]
- DronecanNodeStatus [Source]
- Ekf2Timestamps [Source]
- EscEepromRead [Source]
- EscEepromWrite [Source]
- EscReport [Source]
- EscStatus [Source]
- EstimatorAidSource1d [Source]
- EstimatorAidSource2d [Source]
- EstimatorAidSource3d [Source]
- EstimatorBias [Source]
- EstimatorBias3d [Source]
- EstimatorEventFlags [Source]
- EstimatorFusionControl [Source]
- EstimatorGpsStatus [Source]
- EstimatorInnovations [Source]
- EstimatorSelectorStatus [Source]
- EstimatorSensorBias [Source]
- EstimatorStates [Source]
- EstimatorStatus [Source]
- EstimatorStatusFlags [Source]
- Event [Source]
- FailsafeFlags [Source]
- FailureDetectorStatus [Source]
- FiducialMarkerPosReport [Source]
- FiducialMarkerYawReport [Source]
- FigureEightStatus [Source]
- FixedWingLateralGuidanceStatus [Source]
- FixedWingLateralSetpoint [Source]
- FixedWingLateralStatus [Source]
- FixedWingLongitudinalSetpoint [Source]
- FixedWingRunwayControl [Source]
- FlightPhaseEstimation [Source]
- FollowTarget [Source]
- FollowTargetEstimator [Source]
- FollowTargetStatus [Source]
- FuelTankStatus [Source]
- GainCompression [Source]
- GeneratorStatus [Source]
- GeofenceResult [Source]
- GeofenceStatus [Source]
- GimbalControls [Source]
- GimbalDeviceAttitudeStatus [Source]
- GimbalDeviceInformation [Source]
- GimbalDeviceSetAttitude [Source]
- GimbalManagerInformation [Source]
- GimbalManagerSetAttitude [Source]
- GimbalManagerSetManualControl [Source]
- GimbalManagerStatus [Source]
- GotoSetpoint [Source]
- GpioConfig [Source]
- GpioIn [Source]
- GpioOut [Source]
- GpioRequest [Source]
- GpsDump [Source]
- GpsInjectData [Source]
- Gripper [Source]
- HealthReport [Source]
- HeaterStatus [Source]
- HomePosition [Source]
- HoverThrustEstimate [Source]
- InputRc [Source]
- InternalCombustionEngineControl [Source]
- InternalCombustionEngineStatus [Source]
- IridiumsbdStatus [Source]
- IrlockReport [Source]
- LandingGear [Source]
- LandingGearWheel [Source]
- LandingTargetInnovations [Source]
- LandingTargetPose [Source]
- LateralControlConfiguration [Source]
- LaunchDetectionStatus [Source]
- LedControl [Source]
- LogMessage [Source]
- LoggerStatus [Source]
- LongitudinalControlConfiguration [Source]
- MagWorkerData [Source]
- MagnetometerBiasEstimate [Source]
- ManualControlSetpoint [Source]
- ManualControlSwitches [Source]
- MavlinkLog [Source]
- MavlinkTunnel [Source]
- MessageFormatRequest [Source]
- MessageFormatResponse [Source]
- Mission [Source]
- MissionResult [Source]
- ModeCompleted [Source]
- MountOrientation [Source]
- NavigatorMissionItem [Source]
- NavigatorStatus [Source]
- NeuralControl [Source]
- NormalizedUnsignedSetpoint [Source]
- ObstacleDistance [Source]
- OffboardControlMode [Source]
- OnboardComputerStatus [Source]
- OpenDroneIdArmStatus [Source]
- OpenDroneIdBasicId [Source]
- OpenDroneIdOperatorId [Source]
- OpenDroneIdSelfId [Source]
- OpenDroneIdSystem [Source]
- OrbTest [Source]
- OrbTestLarge [Source]
- OrbTestMedium [Source]
- OrbitStatus [Source]
- ParameterResetRequest [Source]
- ParameterSetUsedRequest [Source]
- ParameterSetValueRequest [Source]
- ParameterSetValueResponse [Source]
- ParameterUpdate [Source]
- Ping [Source]
- PositionControllerLandingStatus [Source]
- PositionControllerStatus [Source]
- PositionSetpoint [Source]
- PositionSetpointTriplet [Source]
- PowerButtonState [Source]
- PowerMonitor [Source]
- PpsCapture [Source]
- PrecLandStatus [Source]
- PurePursuitStatus [Source]
- PwmInput [Source]
- Px4ioStatus [Source]
- QshellReq [Source]
- QshellRetval [Source]
- RadioStatus [Source]
- RangingBeacon [Source]
- RaptorInput [Source]
- RaptorStatus [Source]
- RateCtrlStatus [Source]
- RcChannels [Source]
- RcParameterMap [Source]
- RegisterExtComponentReply [Source]
- RegisterExtComponentRequest [Source]
- RoverAttitudeSetpoint [Source]
- RoverAttitudeStatus [Source]
- RoverPositionSetpoint [Source]
- RoverRateSetpoint [Source]
- RoverRateStatus [Source]
- RoverSpeedSetpoint [Source]
- RoverSpeedStatus [Source]
- RoverSteeringSetpoint [Source]
- RoverThrottleSetpoint [Source]
- Rpm [Source]
- RtlStatus [Source]
- RtlTimeEstimate [Source]
- SatelliteInfo [Source]
- SensorAccel [Source]
- SensorAccelFifo [Source]
- SensorAirflow [Source]
- SensorBaro [Source]
- SensorCombined [Source]
- SensorCorrection [Source]
- SensorGnssRelative [Source]
- SensorGnssStatus [Source]
- SensorGps [Source]
- SensorGyro [Source]
- SensorGyroFft [Source]
- SensorGyroFifo [Source]
- SensorHygrometer [Source]
- SensorMag [Source]
- SensorOpticalFlow [Source]
- SensorPreflightMag [Source]
- SensorSelection [Source]
- SensorTemp [Source]
- SensorUwb [Source]
- SensorsStatus [Source]
- SensorsStatusImu [Source]
- SystemPower [Source]
- TakeoffStatus [Source]
- TargetGnss [Source]
- TaskStackInfo [Source]
- TecsStatus [Source]
- TelemetryStatus [Source]
- TiltrotorExtraControls [Source]
- TimesyncStatus [Source]
- TrajectorySetpoint [Source]
- TrajectorySetpoint6dof [Source]
- TransponderReport [Source]
- TuneControl [Source]
- UavcanParameterRequest [Source]
- UavcanParameterValue [Source]
- UlogStream [Source]
- UlogStreamAck [Source]
- UnregisterExtComponent [Source]
- VehicleAcceleration [Source]
- VehicleAirData [Source]
- VehicleAngularAccelerationSetpoint [Source]
- VehicleAngularVelocity [Source]
- VehicleAttitude [Source]
- VehicleAttitudeSetpoint [Source]
- VehicleCommand [Source]
- VehicleCommandAck [Source]
- VehicleConstraints [Source]
- VehicleControlMode [Source]
- VehicleGlobalPosition [Source]
- VehicleImu [Source]
- VehicleImuStatus [Source]
- VehicleLandDetected [Source]
- VehicleLocalPosition [Source]
- VehicleLocalPositionSetpoint [Source]
- VehicleMagnetometer [Source]
- VehicleOdometry [Source]
- VehicleOpticalFlow [Source]
- VehicleOpticalFlowVel [Source]
- VehicleRatesSetpoint [Source]
- VehicleRoi [Source]
- VehicleStatus [Source]
- VehicleThrustSetpoint [Source]
- VehicleTorqueSetpoint [Source]
- VelocityLimits [Source]
- VteAidSource1d [Source]
- VteAidSource3d [Source]
- VteBiasInitStatus [Source]
- VteInput [Source]
- VteOrientation [Source]
- VtePosition [Source]
- VtolVehicleStatus [Source]
- Vtx [Source]
- WheelEncoders [Source]
- Wind [Source]
- YawEstimatorStatus [Source]
Services
Plugins
Recent questions tagged px4_msgs at Robotics Stack Exchange
Package Summary
| Version | 1.17.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/PX4/px4_msgs.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-12 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Nuno Marques
- Beniamino Pozzan
- Ramon Roche
Authors
- Nuno Marques
px4_msgs
ROS 2 message and service definitions for the PX4 Autopilot.
Overview
px4_msgs is a ROS 2 interface package: it contains only .msg and .srv definitions and the build rules that turn them into the C++/Python interfaces used by ROS 2 applications. The definitions mirror PX4’s internal uORB topics, so that a ROS 2 node can exchange them with the autopilot over the uXRCE-DDS bridge (the uxrce_dds_client running on PX4 talks to the MicroXRCEAgent running on the companion side, which publishes/subscribes these topics on the ROS 2 graph).
Because the definitions come straight from PX4, this package is the single source of truth that keeps a ROS 2 workspace ABI-compatible with a given PX4 firmware version.
Installation
From source (recommended today)
Clone the branch that matches your PX4 version (see Supported versions) into a colcon workspace and build:
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/PX4/px4_msgs.git
cd ~/ros2_ws
source /opt/ros/jazzy/setup.bash # or humble / kilted / rolling
colcon build --packages-select px4_msgs
See Using colcon to build packages and the PX4 ROS 2 User Guide for the full workflow.
From a binary (apt)
Once the package has completed its build-farm release it is installable as a Debian package:
sudo apt install ros-${ROS_DISTRO}-px4-msgs
You can also build a .deb locally — see Building Debian packages.
Usage
After sourcing the workspace, the generated interfaces are available like any other ROS 2 message package:
#include <px4_msgs/msg/vehicle_status.hpp>
// ...
sub_ = create_subscription<px4_msgs::msg::VehicleStatus>(
"/fmu/out/vehicle_status", rclcpp::QoS(10).best_effort(),
[](px4_msgs::msg::VehicleStatus::SharedPtr msg) { /* ... */ });
from px4_msgs.msg import VehicleStatus
Note: PX4 publishes with best-effort QoS; subscribers must use a compatible QoS profile (as above) or they will not receive any data. Topic names and directions (
/fmu/out/...,/fmu/in/...) are documented in the PX4 uXRCE-DDS topic list.
Package layout
px4_msgs/
├── msg/ # message definitions (*.msg), generated from PX4 uORB
├── srv/ # service definitions (*.srv)
├── CMakeLists.txt # globs msg/ and srv/ and calls rosidl_generate_interfaces
└── package.xml # ament_cmake, format 3, member of rosidl_interface_packages
Supported versions and compatibility
px4_msgs is a pure interface package, so the definitions build on any maintained ROS 2 distribution. What ties a checkout to a firmware is the PX4 release line, not the ROS 2 distribution: each PX4 release has its own branch and main tracks PX4 main. Pick the branch that matches the PX4 version you fly, then build it on whichever ROS 2 distribution you run.
PX4 release → px4_msgs branch
| PX4 release | px4_msgs branch |
|---|---|
main (in development) |
main |
| v1.17 | release/1.17 |
| v1.16 | release/1.16 |
| v1.15 | release/1.15 |
| v1.14 | release/1.14 |
| v1.13 | release/1.13 |
ROS 2 distribution → Ubuntu
The ROS 2 distribution fixes the Ubuntu version (REP 2000). CI builds main against every maintained distribution:
| ROS 2 distribution | Ubuntu | Type | Built in CI |
|---|---|---|---|
| Humble | 22.04 (Jammy) | LTS, until 2027 | yes, native runner |
| Jazzy | 24.04 (Noble) | LTS, until 2029 | yes, native runner |
File truncated at 100 lines see the full file
Changelog for package px4_msgs
The version numbers of this package track the corresponding PX4
Autopilot release line. The
message and service definitions are generated and synchronized
automatically from the uORB definitions in PX4-Autopilot, so the entries
below are produced from the tagged release history rather than by manual
edits (see scripts/generate_changelog.sh).
1.17.0 (2026-03-22)
- Synchronized with PX4 Autopilot 1.17.0.
- Added: BatteryInfo, DronecanNodeStatus, FixedWingLateralGuidanceStatus, FixedWingLateralSetpoint, FixedWingLateralStatus, FixedWingLongitudinalSetpoint, FixedWingRunwayControl, LateralControlConfiguration, LongitudinalControlConfiguration, NeuralControl, RoverSpeedSetpoint, RoverSpeedStatus, SensorGnssStatus.
- Removed: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, NpfgStatus, RoverVelocityStatus.
- Changed 44 message/service definition(s).
- Contributors: Beniamino Pozzan
1.16.2 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.1.
- Contributors: PX4 BuildBot
1.16.1 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.0.
- Contributors: PX4 BuildBot
1.16.0 (2025-08-07)
- Synchronized with PX4 Autopilot 1.16.0.
- Added: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, DistanceSensorModeChangeRequest, FuelTankStatus, InternalCombustionEngineControl, NavigatorStatus, OpenDroneIdArmStatus, OpenDroneIdOperatorId, OpenDroneIdSelfId, OpenDroneIdSystem, PurePursuitStatus, RoverAttitudeSetpoint, RoverAttitudeStatus, RoverPositionSetpoint, RoverRateSetpoint, RoverRateStatus, RoverSteeringSetpoint, RoverThrottleSetpoint, RoverVelocityStatus, TrajectorySetpoint6dof.
- Removed: Buffer128, CollisionReport, DifferentialDriveSetpoint, TrajectoryBezier, TrajectoryWaypoint, VehicleTrajectoryBezier, VehicleTrajectoryWaypoint.
- Changed 71 message/service definition(s).
- Contributors: Beniamino Pozzan, Claudio Chies, GuillaumeLaine, Mathieu David, PX4 BuildBot
1.15.4 (2025-03-20)
- PX4 point release; message and service definitions identical to 1.15.3.
- Contributors: PX4 BuildBot
1.15.3 (2025-03-20)
- Synchronized with PX4 Autopilot 1.15.3.
- Changed 3 message/service definition(s).
- Contributors: Beniamino Pozzan
1.15.2 (2024-10-06)
- PX4 point release; message and service definitions identical to 1.15.1.
- Contributors: PX4 BuildBot
1.15.1 (2024-10-06)
- Synchronized with PX4 Autopilot 1.15.1.
- Changed 1 message/service definition(s).
- Contributors: Beniamino Pozzan, PX4 BuildBot
1.15.0 (2024-06-17)
- Synchronized with PX4 Autopilot 1.15.0.
- Added: ArmingCheckReply, ArmingCheckRequest, Buffer128, CanInterfaceStatus, ConfigOverrides, DatamanRequest, DatamanResponse, DifferentialDriveSetpoint, FigureEightStatus, FlightPhaseEstimation, GeofenceStatus, GotoSetpoint, GpioConfig, GpioIn, GpioOut, GpioRequest, MessageFormatRequest, MessageFormatResponse, ParameterResetRequest, ParameterSetUsedRequest, ParameterSetValueRequest, ParameterSetValueResponse, RegisterExtComponentReply, RegisterExtComponentRequest, RtlStatus, SensorAirflow, UnregisterExtComponent, VehicleCommand, VelocityLimits, WheelEncoders.
- Changed 35 message/service definition(s).
- Contributors: Audrow Nash, Beniamino Pozzan, dependabot[bot], Federico Ciresola, PX4 BuildBot
1.14.0 (2023-11-11)
- Synchronized with PX4 Autopilot 1.14.0.
- Added: EstimatorAidSource1d, EstimatorAidSource2d, EstimatorAidSource3d, EstimatorBias3d, FailsafeFlags,
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| rosidl_default_generators | |
| rosidl_default_runtime | |
| ament_lint_auto | |
| ament_lint_common | |
| builtin_interfaces |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| as2_platform_pixhawk |
Launch files
Messages
- ActionRequest [Source]
- ActuatorArmed [Source]
- ActuatorControlsStatus [Source]
- ActuatorMotors [Source]
- ActuatorOutputs [Source]
- ActuatorServos [Source]
- ActuatorServosTrim [Source]
- ActuatorTest [Source]
- AdcReport [Source]
- Airspeed [Source]
- AirspeedValidated [Source]
- AirspeedWind [Source]
- ArmingCheckReply [Source]
- ArmingCheckRequest [Source]
- AutotuneAttitudeControlStatus [Source]
- AuxGlobalPosition [Source]
- BatteryInfo [Source]
- BatteryStatus [Source]
- ButtonEvent [Source]
- CameraCapture [Source]
- CameraStatus [Source]
- CameraTrigger [Source]
- CanInterfaceStatus [Source]
- CellularStatus [Source]
- CollisionConstraints [Source]
- ConfigOverrides [Source]
- ControlAllocatorStatus [Source]
- Cpuload [Source]
- DatamanRequest [Source]
- DatamanResponse [Source]
- DebugArray [Source]
- DebugKeyValue [Source]
- DebugValue [Source]
- DebugVect [Source]
- DeviceInformation [Source]
- DifferentialPressure [Source]
- DistanceSensor [Source]
- DistanceSensorModeChangeRequest [Source]
- DronecanNodeStatus [Source]
- Ekf2Timestamps [Source]
- EscEepromRead [Source]
- EscEepromWrite [Source]
- EscReport [Source]
- EscStatus [Source]
- EstimatorAidSource1d [Source]
- EstimatorAidSource2d [Source]
- EstimatorAidSource3d [Source]
- EstimatorBias [Source]
- EstimatorBias3d [Source]
- EstimatorEventFlags [Source]
- EstimatorFusionControl [Source]
- EstimatorGpsStatus [Source]
- EstimatorInnovations [Source]
- EstimatorSelectorStatus [Source]
- EstimatorSensorBias [Source]
- EstimatorStates [Source]
- EstimatorStatus [Source]
- EstimatorStatusFlags [Source]
- Event [Source]
- FailsafeFlags [Source]
- FailureDetectorStatus [Source]
- FiducialMarkerPosReport [Source]
- FiducialMarkerYawReport [Source]
- FigureEightStatus [Source]
- FixedWingLateralGuidanceStatus [Source]
- FixedWingLateralSetpoint [Source]
- FixedWingLateralStatus [Source]
- FixedWingLongitudinalSetpoint [Source]
- FixedWingRunwayControl [Source]
- FlightPhaseEstimation [Source]
- FollowTarget [Source]
- FollowTargetEstimator [Source]
- FollowTargetStatus [Source]
- FuelTankStatus [Source]
- GainCompression [Source]
- GeneratorStatus [Source]
- GeofenceResult [Source]
- GeofenceStatus [Source]
- GimbalControls [Source]
- GimbalDeviceAttitudeStatus [Source]
- GimbalDeviceInformation [Source]
- GimbalDeviceSetAttitude [Source]
- GimbalManagerInformation [Source]
- GimbalManagerSetAttitude [Source]
- GimbalManagerSetManualControl [Source]
- GimbalManagerStatus [Source]
- GotoSetpoint [Source]
- GpioConfig [Source]
- GpioIn [Source]
- GpioOut [Source]
- GpioRequest [Source]
- GpsDump [Source]
- GpsInjectData [Source]
- Gripper [Source]
- HealthReport [Source]
- HeaterStatus [Source]
- HomePosition [Source]
- HoverThrustEstimate [Source]
- InputRc [Source]
- InternalCombustionEngineControl [Source]
- InternalCombustionEngineStatus [Source]
- IridiumsbdStatus [Source]
- IrlockReport [Source]
- LandingGear [Source]
- LandingGearWheel [Source]
- LandingTargetInnovations [Source]
- LandingTargetPose [Source]
- LateralControlConfiguration [Source]
- LaunchDetectionStatus [Source]
- LedControl [Source]
- LogMessage [Source]
- LoggerStatus [Source]
- LongitudinalControlConfiguration [Source]
- MagWorkerData [Source]
- MagnetometerBiasEstimate [Source]
- ManualControlSetpoint [Source]
- ManualControlSwitches [Source]
- MavlinkLog [Source]
- MavlinkTunnel [Source]
- MessageFormatRequest [Source]
- MessageFormatResponse [Source]
- Mission [Source]
- MissionResult [Source]
- ModeCompleted [Source]
- MountOrientation [Source]
- NavigatorMissionItem [Source]
- NavigatorStatus [Source]
- NeuralControl [Source]
- NormalizedUnsignedSetpoint [Source]
- ObstacleDistance [Source]
- OffboardControlMode [Source]
- OnboardComputerStatus [Source]
- OpenDroneIdArmStatus [Source]
- OpenDroneIdBasicId [Source]
- OpenDroneIdOperatorId [Source]
- OpenDroneIdSelfId [Source]
- OpenDroneIdSystem [Source]
- OrbTest [Source]
- OrbTestLarge [Source]
- OrbTestMedium [Source]
- OrbitStatus [Source]
- ParameterResetRequest [Source]
- ParameterSetUsedRequest [Source]
- ParameterSetValueRequest [Source]
- ParameterSetValueResponse [Source]
- ParameterUpdate [Source]
- Ping [Source]
- PositionControllerLandingStatus [Source]
- PositionControllerStatus [Source]
- PositionSetpoint [Source]
- PositionSetpointTriplet [Source]
- PowerButtonState [Source]
- PowerMonitor [Source]
- PpsCapture [Source]
- PrecLandStatus [Source]
- PurePursuitStatus [Source]
- PwmInput [Source]
- Px4ioStatus [Source]
- QshellReq [Source]
- QshellRetval [Source]
- RadioStatus [Source]
- RangingBeacon [Source]
- RaptorInput [Source]
- RaptorStatus [Source]
- RateCtrlStatus [Source]
- RcChannels [Source]
- RcParameterMap [Source]
- RegisterExtComponentReply [Source]
- RegisterExtComponentRequest [Source]
- RoverAttitudeSetpoint [Source]
- RoverAttitudeStatus [Source]
- RoverPositionSetpoint [Source]
- RoverRateSetpoint [Source]
- RoverRateStatus [Source]
- RoverSpeedSetpoint [Source]
- RoverSpeedStatus [Source]
- RoverSteeringSetpoint [Source]
- RoverThrottleSetpoint [Source]
- Rpm [Source]
- RtlStatus [Source]
- RtlTimeEstimate [Source]
- SatelliteInfo [Source]
- SensorAccel [Source]
- SensorAccelFifo [Source]
- SensorAirflow [Source]
- SensorBaro [Source]
- SensorCombined [Source]
- SensorCorrection [Source]
- SensorGnssRelative [Source]
- SensorGnssStatus [Source]
- SensorGps [Source]
- SensorGyro [Source]
- SensorGyroFft [Source]
- SensorGyroFifo [Source]
- SensorHygrometer [Source]
- SensorMag [Source]
- SensorOpticalFlow [Source]
- SensorPreflightMag [Source]
- SensorSelection [Source]
- SensorTemp [Source]
- SensorUwb [Source]
- SensorsStatus [Source]
- SensorsStatusImu [Source]
- SystemPower [Source]
- TakeoffStatus [Source]
- TargetGnss [Source]
- TaskStackInfo [Source]
- TecsStatus [Source]
- TelemetryStatus [Source]
- TiltrotorExtraControls [Source]
- TimesyncStatus [Source]
- TrajectorySetpoint [Source]
- TrajectorySetpoint6dof [Source]
- TransponderReport [Source]
- TuneControl [Source]
- UavcanParameterRequest [Source]
- UavcanParameterValue [Source]
- UlogStream [Source]
- UlogStreamAck [Source]
- UnregisterExtComponent [Source]
- VehicleAcceleration [Source]
- VehicleAirData [Source]
- VehicleAngularAccelerationSetpoint [Source]
- VehicleAngularVelocity [Source]
- VehicleAttitude [Source]
- VehicleAttitudeSetpoint [Source]
- VehicleCommand [Source]
- VehicleCommandAck [Source]
- VehicleConstraints [Source]
- VehicleControlMode [Source]
- VehicleGlobalPosition [Source]
- VehicleImu [Source]
- VehicleImuStatus [Source]
- VehicleLandDetected [Source]
- VehicleLocalPosition [Source]
- VehicleLocalPositionSetpoint [Source]
- VehicleMagnetometer [Source]
- VehicleOdometry [Source]
- VehicleOpticalFlow [Source]
- VehicleOpticalFlowVel [Source]
- VehicleRatesSetpoint [Source]
- VehicleRoi [Source]
- VehicleStatus [Source]
- VehicleThrustSetpoint [Source]
- VehicleTorqueSetpoint [Source]
- VelocityLimits [Source]
- VteAidSource1d [Source]
- VteAidSource3d [Source]
- VteBiasInitStatus [Source]
- VteInput [Source]
- VteOrientation [Source]
- VtePosition [Source]
- VtolVehicleStatus [Source]
- Vtx [Source]
- WheelEncoders [Source]
- Wind [Source]
- YawEstimatorStatus [Source]
Services
Plugins
Recent questions tagged px4_msgs at Robotics Stack Exchange
Package Summary
| Version | 1.17.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/PX4/px4_msgs.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-12 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Nuno Marques
- Beniamino Pozzan
- Ramon Roche
Authors
- Nuno Marques
px4_msgs
ROS 2 message and service definitions for the PX4 Autopilot.
Overview
px4_msgs is a ROS 2 interface package: it contains only .msg and .srv definitions and the build rules that turn them into the C++/Python interfaces used by ROS 2 applications. The definitions mirror PX4’s internal uORB topics, so that a ROS 2 node can exchange them with the autopilot over the uXRCE-DDS bridge (the uxrce_dds_client running on PX4 talks to the MicroXRCEAgent running on the companion side, which publishes/subscribes these topics on the ROS 2 graph).
Because the definitions come straight from PX4, this package is the single source of truth that keeps a ROS 2 workspace ABI-compatible with a given PX4 firmware version.
Installation
From source (recommended today)
Clone the branch that matches your PX4 version (see Supported versions) into a colcon workspace and build:
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/PX4/px4_msgs.git
cd ~/ros2_ws
source /opt/ros/jazzy/setup.bash # or humble / kilted / rolling
colcon build --packages-select px4_msgs
See Using colcon to build packages and the PX4 ROS 2 User Guide for the full workflow.
From a binary (apt)
Once the package has completed its build-farm release it is installable as a Debian package:
sudo apt install ros-${ROS_DISTRO}-px4-msgs
You can also build a .deb locally — see Building Debian packages.
Usage
After sourcing the workspace, the generated interfaces are available like any other ROS 2 message package:
#include <px4_msgs/msg/vehicle_status.hpp>
// ...
sub_ = create_subscription<px4_msgs::msg::VehicleStatus>(
"/fmu/out/vehicle_status", rclcpp::QoS(10).best_effort(),
[](px4_msgs::msg::VehicleStatus::SharedPtr msg) { /* ... */ });
from px4_msgs.msg import VehicleStatus
Note: PX4 publishes with best-effort QoS; subscribers must use a compatible QoS profile (as above) or they will not receive any data. Topic names and directions (
/fmu/out/...,/fmu/in/...) are documented in the PX4 uXRCE-DDS topic list.
Package layout
px4_msgs/
├── msg/ # message definitions (*.msg), generated from PX4 uORB
├── srv/ # service definitions (*.srv)
├── CMakeLists.txt # globs msg/ and srv/ and calls rosidl_generate_interfaces
└── package.xml # ament_cmake, format 3, member of rosidl_interface_packages
Supported versions and compatibility
px4_msgs is a pure interface package, so the definitions build on any maintained ROS 2 distribution. What ties a checkout to a firmware is the PX4 release line, not the ROS 2 distribution: each PX4 release has its own branch and main tracks PX4 main. Pick the branch that matches the PX4 version you fly, then build it on whichever ROS 2 distribution you run.
PX4 release → px4_msgs branch
| PX4 release | px4_msgs branch |
|---|---|
main (in development) |
main |
| v1.17 | release/1.17 |
| v1.16 | release/1.16 |
| v1.15 | release/1.15 |
| v1.14 | release/1.14 |
| v1.13 | release/1.13 |
ROS 2 distribution → Ubuntu
The ROS 2 distribution fixes the Ubuntu version (REP 2000). CI builds main against every maintained distribution:
| ROS 2 distribution | Ubuntu | Type | Built in CI |
|---|---|---|---|
| Humble | 22.04 (Jammy) | LTS, until 2027 | yes, native runner |
| Jazzy | 24.04 (Noble) | LTS, until 2029 | yes, native runner |
File truncated at 100 lines see the full file
Changelog for package px4_msgs
The version numbers of this package track the corresponding PX4
Autopilot release line. The
message and service definitions are generated and synchronized
automatically from the uORB definitions in PX4-Autopilot, so the entries
below are produced from the tagged release history rather than by manual
edits (see scripts/generate_changelog.sh).
1.17.0 (2026-03-22)
- Synchronized with PX4 Autopilot 1.17.0.
- Added: BatteryInfo, DronecanNodeStatus, FixedWingLateralGuidanceStatus, FixedWingLateralSetpoint, FixedWingLateralStatus, FixedWingLongitudinalSetpoint, FixedWingRunwayControl, LateralControlConfiguration, LongitudinalControlConfiguration, NeuralControl, RoverSpeedSetpoint, RoverSpeedStatus, SensorGnssStatus.
- Removed: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, NpfgStatus, RoverVelocityStatus.
- Changed 44 message/service definition(s).
- Contributors: Beniamino Pozzan
1.16.2 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.1.
- Contributors: PX4 BuildBot
1.16.1 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.0.
- Contributors: PX4 BuildBot
1.16.0 (2025-08-07)
- Synchronized with PX4 Autopilot 1.16.0.
- Added: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, DistanceSensorModeChangeRequest, FuelTankStatus, InternalCombustionEngineControl, NavigatorStatus, OpenDroneIdArmStatus, OpenDroneIdOperatorId, OpenDroneIdSelfId, OpenDroneIdSystem, PurePursuitStatus, RoverAttitudeSetpoint, RoverAttitudeStatus, RoverPositionSetpoint, RoverRateSetpoint, RoverRateStatus, RoverSteeringSetpoint, RoverThrottleSetpoint, RoverVelocityStatus, TrajectorySetpoint6dof.
- Removed: Buffer128, CollisionReport, DifferentialDriveSetpoint, TrajectoryBezier, TrajectoryWaypoint, VehicleTrajectoryBezier, VehicleTrajectoryWaypoint.
- Changed 71 message/service definition(s).
- Contributors: Beniamino Pozzan, Claudio Chies, GuillaumeLaine, Mathieu David, PX4 BuildBot
1.15.4 (2025-03-20)
- PX4 point release; message and service definitions identical to 1.15.3.
- Contributors: PX4 BuildBot
1.15.3 (2025-03-20)
- Synchronized with PX4 Autopilot 1.15.3.
- Changed 3 message/service definition(s).
- Contributors: Beniamino Pozzan
1.15.2 (2024-10-06)
- PX4 point release; message and service definitions identical to 1.15.1.
- Contributors: PX4 BuildBot
1.15.1 (2024-10-06)
- Synchronized with PX4 Autopilot 1.15.1.
- Changed 1 message/service definition(s).
- Contributors: Beniamino Pozzan, PX4 BuildBot
1.15.0 (2024-06-17)
- Synchronized with PX4 Autopilot 1.15.0.
- Added: ArmingCheckReply, ArmingCheckRequest, Buffer128, CanInterfaceStatus, ConfigOverrides, DatamanRequest, DatamanResponse, DifferentialDriveSetpoint, FigureEightStatus, FlightPhaseEstimation, GeofenceStatus, GotoSetpoint, GpioConfig, GpioIn, GpioOut, GpioRequest, MessageFormatRequest, MessageFormatResponse, ParameterResetRequest, ParameterSetUsedRequest, ParameterSetValueRequest, ParameterSetValueResponse, RegisterExtComponentReply, RegisterExtComponentRequest, RtlStatus, SensorAirflow, UnregisterExtComponent, VehicleCommand, VelocityLimits, WheelEncoders.
- Changed 35 message/service definition(s).
- Contributors: Audrow Nash, Beniamino Pozzan, dependabot[bot], Federico Ciresola, PX4 BuildBot
1.14.0 (2023-11-11)
- Synchronized with PX4 Autopilot 1.14.0.
- Added: EstimatorAidSource1d, EstimatorAidSource2d, EstimatorAidSource3d, EstimatorBias3d, FailsafeFlags,
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| rosidl_default_generators | |
| rosidl_default_runtime | |
| ament_lint_auto | |
| ament_lint_common | |
| builtin_interfaces |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| as2_platform_pixhawk |
Launch files
Messages
- ActionRequest [Source]
- ActuatorArmed [Source]
- ActuatorControlsStatus [Source]
- ActuatorMotors [Source]
- ActuatorOutputs [Source]
- ActuatorServos [Source]
- ActuatorServosTrim [Source]
- ActuatorTest [Source]
- AdcReport [Source]
- Airspeed [Source]
- AirspeedValidated [Source]
- AirspeedWind [Source]
- ArmingCheckReply [Source]
- ArmingCheckRequest [Source]
- AutotuneAttitudeControlStatus [Source]
- AuxGlobalPosition [Source]
- BatteryInfo [Source]
- BatteryStatus [Source]
- ButtonEvent [Source]
- CameraCapture [Source]
- CameraStatus [Source]
- CameraTrigger [Source]
- CanInterfaceStatus [Source]
- CellularStatus [Source]
- CollisionConstraints [Source]
- ConfigOverrides [Source]
- ControlAllocatorStatus [Source]
- Cpuload [Source]
- DatamanRequest [Source]
- DatamanResponse [Source]
- DebugArray [Source]
- DebugKeyValue [Source]
- DebugValue [Source]
- DebugVect [Source]
- DeviceInformation [Source]
- DifferentialPressure [Source]
- DistanceSensor [Source]
- DistanceSensorModeChangeRequest [Source]
- DronecanNodeStatus [Source]
- Ekf2Timestamps [Source]
- EscEepromRead [Source]
- EscEepromWrite [Source]
- EscReport [Source]
- EscStatus [Source]
- EstimatorAidSource1d [Source]
- EstimatorAidSource2d [Source]
- EstimatorAidSource3d [Source]
- EstimatorBias [Source]
- EstimatorBias3d [Source]
- EstimatorEventFlags [Source]
- EstimatorFusionControl [Source]
- EstimatorGpsStatus [Source]
- EstimatorInnovations [Source]
- EstimatorSelectorStatus [Source]
- EstimatorSensorBias [Source]
- EstimatorStates [Source]
- EstimatorStatus [Source]
- EstimatorStatusFlags [Source]
- Event [Source]
- FailsafeFlags [Source]
- FailureDetectorStatus [Source]
- FiducialMarkerPosReport [Source]
- FiducialMarkerYawReport [Source]
- FigureEightStatus [Source]
- FixedWingLateralGuidanceStatus [Source]
- FixedWingLateralSetpoint [Source]
- FixedWingLateralStatus [Source]
- FixedWingLongitudinalSetpoint [Source]
- FixedWingRunwayControl [Source]
- FlightPhaseEstimation [Source]
- FollowTarget [Source]
- FollowTargetEstimator [Source]
- FollowTargetStatus [Source]
- FuelTankStatus [Source]
- GainCompression [Source]
- GeneratorStatus [Source]
- GeofenceResult [Source]
- GeofenceStatus [Source]
- GimbalControls [Source]
- GimbalDeviceAttitudeStatus [Source]
- GimbalDeviceInformation [Source]
- GimbalDeviceSetAttitude [Source]
- GimbalManagerInformation [Source]
- GimbalManagerSetAttitude [Source]
- GimbalManagerSetManualControl [Source]
- GimbalManagerStatus [Source]
- GotoSetpoint [Source]
- GpioConfig [Source]
- GpioIn [Source]
- GpioOut [Source]
- GpioRequest [Source]
- GpsDump [Source]
- GpsInjectData [Source]
- Gripper [Source]
- HealthReport [Source]
- HeaterStatus [Source]
- HomePosition [Source]
- HoverThrustEstimate [Source]
- InputRc [Source]
- InternalCombustionEngineControl [Source]
- InternalCombustionEngineStatus [Source]
- IridiumsbdStatus [Source]
- IrlockReport [Source]
- LandingGear [Source]
- LandingGearWheel [Source]
- LandingTargetInnovations [Source]
- LandingTargetPose [Source]
- LateralControlConfiguration [Source]
- LaunchDetectionStatus [Source]
- LedControl [Source]
- LogMessage [Source]
- LoggerStatus [Source]
- LongitudinalControlConfiguration [Source]
- MagWorkerData [Source]
- MagnetometerBiasEstimate [Source]
- ManualControlSetpoint [Source]
- ManualControlSwitches [Source]
- MavlinkLog [Source]
- MavlinkTunnel [Source]
- MessageFormatRequest [Source]
- MessageFormatResponse [Source]
- Mission [Source]
- MissionResult [Source]
- ModeCompleted [Source]
- MountOrientation [Source]
- NavigatorMissionItem [Source]
- NavigatorStatus [Source]
- NeuralControl [Source]
- NormalizedUnsignedSetpoint [Source]
- ObstacleDistance [Source]
- OffboardControlMode [Source]
- OnboardComputerStatus [Source]
- OpenDroneIdArmStatus [Source]
- OpenDroneIdBasicId [Source]
- OpenDroneIdOperatorId [Source]
- OpenDroneIdSelfId [Source]
- OpenDroneIdSystem [Source]
- OrbTest [Source]
- OrbTestLarge [Source]
- OrbTestMedium [Source]
- OrbitStatus [Source]
- ParameterResetRequest [Source]
- ParameterSetUsedRequest [Source]
- ParameterSetValueRequest [Source]
- ParameterSetValueResponse [Source]
- ParameterUpdate [Source]
- Ping [Source]
- PositionControllerLandingStatus [Source]
- PositionControllerStatus [Source]
- PositionSetpoint [Source]
- PositionSetpointTriplet [Source]
- PowerButtonState [Source]
- PowerMonitor [Source]
- PpsCapture [Source]
- PrecLandStatus [Source]
- PurePursuitStatus [Source]
- PwmInput [Source]
- Px4ioStatus [Source]
- QshellReq [Source]
- QshellRetval [Source]
- RadioStatus [Source]
- RangingBeacon [Source]
- RaptorInput [Source]
- RaptorStatus [Source]
- RateCtrlStatus [Source]
- RcChannels [Source]
- RcParameterMap [Source]
- RegisterExtComponentReply [Source]
- RegisterExtComponentRequest [Source]
- RoverAttitudeSetpoint [Source]
- RoverAttitudeStatus [Source]
- RoverPositionSetpoint [Source]
- RoverRateSetpoint [Source]
- RoverRateStatus [Source]
- RoverSpeedSetpoint [Source]
- RoverSpeedStatus [Source]
- RoverSteeringSetpoint [Source]
- RoverThrottleSetpoint [Source]
- Rpm [Source]
- RtlStatus [Source]
- RtlTimeEstimate [Source]
- SatelliteInfo [Source]
- SensorAccel [Source]
- SensorAccelFifo [Source]
- SensorAirflow [Source]
- SensorBaro [Source]
- SensorCombined [Source]
- SensorCorrection [Source]
- SensorGnssRelative [Source]
- SensorGnssStatus [Source]
- SensorGps [Source]
- SensorGyro [Source]
- SensorGyroFft [Source]
- SensorGyroFifo [Source]
- SensorHygrometer [Source]
- SensorMag [Source]
- SensorOpticalFlow [Source]
- SensorPreflightMag [Source]
- SensorSelection [Source]
- SensorTemp [Source]
- SensorUwb [Source]
- SensorsStatus [Source]
- SensorsStatusImu [Source]
- SystemPower [Source]
- TakeoffStatus [Source]
- TargetGnss [Source]
- TaskStackInfo [Source]
- TecsStatus [Source]
- TelemetryStatus [Source]
- TiltrotorExtraControls [Source]
- TimesyncStatus [Source]
- TrajectorySetpoint [Source]
- TrajectorySetpoint6dof [Source]
- TransponderReport [Source]
- TuneControl [Source]
- UavcanParameterRequest [Source]
- UavcanParameterValue [Source]
- UlogStream [Source]
- UlogStreamAck [Source]
- UnregisterExtComponent [Source]
- VehicleAcceleration [Source]
- VehicleAirData [Source]
- VehicleAngularAccelerationSetpoint [Source]
- VehicleAngularVelocity [Source]
- VehicleAttitude [Source]
- VehicleAttitudeSetpoint [Source]
- VehicleCommand [Source]
- VehicleCommandAck [Source]
- VehicleConstraints [Source]
- VehicleControlMode [Source]
- VehicleGlobalPosition [Source]
- VehicleImu [Source]
- VehicleImuStatus [Source]
- VehicleLandDetected [Source]
- VehicleLocalPosition [Source]
- VehicleLocalPositionSetpoint [Source]
- VehicleMagnetometer [Source]
- VehicleOdometry [Source]
- VehicleOpticalFlow [Source]
- VehicleOpticalFlowVel [Source]
- VehicleRatesSetpoint [Source]
- VehicleRoi [Source]
- VehicleStatus [Source]
- VehicleThrustSetpoint [Source]
- VehicleTorqueSetpoint [Source]
- VelocityLimits [Source]
- VteAidSource1d [Source]
- VteAidSource3d [Source]
- VteBiasInitStatus [Source]
- VteInput [Source]
- VteOrientation [Source]
- VtePosition [Source]
- VtolVehicleStatus [Source]
- Vtx [Source]
- WheelEncoders [Source]
- Wind [Source]
- YawEstimatorStatus [Source]
Services
Plugins
Recent questions tagged px4_msgs at Robotics Stack Exchange
Package Summary
| Version | 1.17.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/PX4/px4_msgs.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-12 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Nuno Marques
- Beniamino Pozzan
- Ramon Roche
Authors
- Nuno Marques
px4_msgs
ROS 2 message and service definitions for the PX4 Autopilot.
Overview
px4_msgs is a ROS 2 interface package: it contains only .msg and .srv definitions and the build rules that turn them into the C++/Python interfaces used by ROS 2 applications. The definitions mirror PX4’s internal uORB topics, so that a ROS 2 node can exchange them with the autopilot over the uXRCE-DDS bridge (the uxrce_dds_client running on PX4 talks to the MicroXRCEAgent running on the companion side, which publishes/subscribes these topics on the ROS 2 graph).
Because the definitions come straight from PX4, this package is the single source of truth that keeps a ROS 2 workspace ABI-compatible with a given PX4 firmware version.
Installation
From source (recommended today)
Clone the branch that matches your PX4 version (see Supported versions) into a colcon workspace and build:
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/PX4/px4_msgs.git
cd ~/ros2_ws
source /opt/ros/jazzy/setup.bash # or humble / kilted / rolling
colcon build --packages-select px4_msgs
See Using colcon to build packages and the PX4 ROS 2 User Guide for the full workflow.
From a binary (apt)
Once the package has completed its build-farm release it is installable as a Debian package:
sudo apt install ros-${ROS_DISTRO}-px4-msgs
You can also build a .deb locally — see Building Debian packages.
Usage
After sourcing the workspace, the generated interfaces are available like any other ROS 2 message package:
#include <px4_msgs/msg/vehicle_status.hpp>
// ...
sub_ = create_subscription<px4_msgs::msg::VehicleStatus>(
"/fmu/out/vehicle_status", rclcpp::QoS(10).best_effort(),
[](px4_msgs::msg::VehicleStatus::SharedPtr msg) { /* ... */ });
from px4_msgs.msg import VehicleStatus
Note: PX4 publishes with best-effort QoS; subscribers must use a compatible QoS profile (as above) or they will not receive any data. Topic names and directions (
/fmu/out/...,/fmu/in/...) are documented in the PX4 uXRCE-DDS topic list.
Package layout
px4_msgs/
├── msg/ # message definitions (*.msg), generated from PX4 uORB
├── srv/ # service definitions (*.srv)
├── CMakeLists.txt # globs msg/ and srv/ and calls rosidl_generate_interfaces
└── package.xml # ament_cmake, format 3, member of rosidl_interface_packages
Supported versions and compatibility
px4_msgs is a pure interface package, so the definitions build on any maintained ROS 2 distribution. What ties a checkout to a firmware is the PX4 release line, not the ROS 2 distribution: each PX4 release has its own branch and main tracks PX4 main. Pick the branch that matches the PX4 version you fly, then build it on whichever ROS 2 distribution you run.
PX4 release → px4_msgs branch
| PX4 release | px4_msgs branch |
|---|---|
main (in development) |
main |
| v1.17 | release/1.17 |
| v1.16 | release/1.16 |
| v1.15 | release/1.15 |
| v1.14 | release/1.14 |
| v1.13 | release/1.13 |
ROS 2 distribution → Ubuntu
The ROS 2 distribution fixes the Ubuntu version (REP 2000). CI builds main against every maintained distribution:
| ROS 2 distribution | Ubuntu | Type | Built in CI |
|---|---|---|---|
| Humble | 22.04 (Jammy) | LTS, until 2027 | yes, native runner |
| Jazzy | 24.04 (Noble) | LTS, until 2029 | yes, native runner |
File truncated at 100 lines see the full file
Changelog for package px4_msgs
The version numbers of this package track the corresponding PX4
Autopilot release line. The
message and service definitions are generated and synchronized
automatically from the uORB definitions in PX4-Autopilot, so the entries
below are produced from the tagged release history rather than by manual
edits (see scripts/generate_changelog.sh).
1.17.0 (2026-03-22)
- Synchronized with PX4 Autopilot 1.17.0.
- Added: BatteryInfo, DronecanNodeStatus, FixedWingLateralGuidanceStatus, FixedWingLateralSetpoint, FixedWingLateralStatus, FixedWingLongitudinalSetpoint, FixedWingRunwayControl, LateralControlConfiguration, LongitudinalControlConfiguration, NeuralControl, RoverSpeedSetpoint, RoverSpeedStatus, SensorGnssStatus.
- Removed: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, NpfgStatus, RoverVelocityStatus.
- Changed 44 message/service definition(s).
- Contributors: Beniamino Pozzan
1.16.2 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.1.
- Contributors: PX4 BuildBot
1.16.1 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.0.
- Contributors: PX4 BuildBot
1.16.0 (2025-08-07)
- Synchronized with PX4 Autopilot 1.16.0.
- Added: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, DistanceSensorModeChangeRequest, FuelTankStatus, InternalCombustionEngineControl, NavigatorStatus, OpenDroneIdArmStatus, OpenDroneIdOperatorId, OpenDroneIdSelfId, OpenDroneIdSystem, PurePursuitStatus, RoverAttitudeSetpoint, RoverAttitudeStatus, RoverPositionSetpoint, RoverRateSetpoint, RoverRateStatus, RoverSteeringSetpoint, RoverThrottleSetpoint, RoverVelocityStatus, TrajectorySetpoint6dof.
- Removed: Buffer128, CollisionReport, DifferentialDriveSetpoint, TrajectoryBezier, TrajectoryWaypoint, VehicleTrajectoryBezier, VehicleTrajectoryWaypoint.
- Changed 71 message/service definition(s).
- Contributors: Beniamino Pozzan, Claudio Chies, GuillaumeLaine, Mathieu David, PX4 BuildBot
1.15.4 (2025-03-20)
- PX4 point release; message and service definitions identical to 1.15.3.
- Contributors: PX4 BuildBot
1.15.3 (2025-03-20)
- Synchronized with PX4 Autopilot 1.15.3.
- Changed 3 message/service definition(s).
- Contributors: Beniamino Pozzan
1.15.2 (2024-10-06)
- PX4 point release; message and service definitions identical to 1.15.1.
- Contributors: PX4 BuildBot
1.15.1 (2024-10-06)
- Synchronized with PX4 Autopilot 1.15.1.
- Changed 1 message/service definition(s).
- Contributors: Beniamino Pozzan, PX4 BuildBot
1.15.0 (2024-06-17)
- Synchronized with PX4 Autopilot 1.15.0.
- Added: ArmingCheckReply, ArmingCheckRequest, Buffer128, CanInterfaceStatus, ConfigOverrides, DatamanRequest, DatamanResponse, DifferentialDriveSetpoint, FigureEightStatus, FlightPhaseEstimation, GeofenceStatus, GotoSetpoint, GpioConfig, GpioIn, GpioOut, GpioRequest, MessageFormatRequest, MessageFormatResponse, ParameterResetRequest, ParameterSetUsedRequest, ParameterSetValueRequest, ParameterSetValueResponse, RegisterExtComponentReply, RegisterExtComponentRequest, RtlStatus, SensorAirflow, UnregisterExtComponent, VehicleCommand, VelocityLimits, WheelEncoders.
- Changed 35 message/service definition(s).
- Contributors: Audrow Nash, Beniamino Pozzan, dependabot[bot], Federico Ciresola, PX4 BuildBot
1.14.0 (2023-11-11)
- Synchronized with PX4 Autopilot 1.14.0.
- Added: EstimatorAidSource1d, EstimatorAidSource2d, EstimatorAidSource3d, EstimatorBias3d, FailsafeFlags,
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| rosidl_default_generators | |
| rosidl_default_runtime | |
| ament_lint_auto | |
| ament_lint_common | |
| builtin_interfaces |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| as2_platform_pixhawk |
Launch files
Messages
- ActionRequest [Source]
- ActuatorArmed [Source]
- ActuatorControlsStatus [Source]
- ActuatorMotors [Source]
- ActuatorOutputs [Source]
- ActuatorServos [Source]
- ActuatorServosTrim [Source]
- ActuatorTest [Source]
- AdcReport [Source]
- Airspeed [Source]
- AirspeedValidated [Source]
- AirspeedWind [Source]
- ArmingCheckReply [Source]
- ArmingCheckRequest [Source]
- AutotuneAttitudeControlStatus [Source]
- AuxGlobalPosition [Source]
- BatteryInfo [Source]
- BatteryStatus [Source]
- ButtonEvent [Source]
- CameraCapture [Source]
- CameraStatus [Source]
- CameraTrigger [Source]
- CanInterfaceStatus [Source]
- CellularStatus [Source]
- CollisionConstraints [Source]
- ConfigOverrides [Source]
- ControlAllocatorStatus [Source]
- Cpuload [Source]
- DatamanRequest [Source]
- DatamanResponse [Source]
- DebugArray [Source]
- DebugKeyValue [Source]
- DebugValue [Source]
- DebugVect [Source]
- DeviceInformation [Source]
- DifferentialPressure [Source]
- DistanceSensor [Source]
- DistanceSensorModeChangeRequest [Source]
- DronecanNodeStatus [Source]
- Ekf2Timestamps [Source]
- EscEepromRead [Source]
- EscEepromWrite [Source]
- EscReport [Source]
- EscStatus [Source]
- EstimatorAidSource1d [Source]
- EstimatorAidSource2d [Source]
- EstimatorAidSource3d [Source]
- EstimatorBias [Source]
- EstimatorBias3d [Source]
- EstimatorEventFlags [Source]
- EstimatorFusionControl [Source]
- EstimatorGpsStatus [Source]
- EstimatorInnovations [Source]
- EstimatorSelectorStatus [Source]
- EstimatorSensorBias [Source]
- EstimatorStates [Source]
- EstimatorStatus [Source]
- EstimatorStatusFlags [Source]
- Event [Source]
- FailsafeFlags [Source]
- FailureDetectorStatus [Source]
- FiducialMarkerPosReport [Source]
- FiducialMarkerYawReport [Source]
- FigureEightStatus [Source]
- FixedWingLateralGuidanceStatus [Source]
- FixedWingLateralSetpoint [Source]
- FixedWingLateralStatus [Source]
- FixedWingLongitudinalSetpoint [Source]
- FixedWingRunwayControl [Source]
- FlightPhaseEstimation [Source]
- FollowTarget [Source]
- FollowTargetEstimator [Source]
- FollowTargetStatus [Source]
- FuelTankStatus [Source]
- GainCompression [Source]
- GeneratorStatus [Source]
- GeofenceResult [Source]
- GeofenceStatus [Source]
- GimbalControls [Source]
- GimbalDeviceAttitudeStatus [Source]
- GimbalDeviceInformation [Source]
- GimbalDeviceSetAttitude [Source]
- GimbalManagerInformation [Source]
- GimbalManagerSetAttitude [Source]
- GimbalManagerSetManualControl [Source]
- GimbalManagerStatus [Source]
- GotoSetpoint [Source]
- GpioConfig [Source]
- GpioIn [Source]
- GpioOut [Source]
- GpioRequest [Source]
- GpsDump [Source]
- GpsInjectData [Source]
- Gripper [Source]
- HealthReport [Source]
- HeaterStatus [Source]
- HomePosition [Source]
- HoverThrustEstimate [Source]
- InputRc [Source]
- InternalCombustionEngineControl [Source]
- InternalCombustionEngineStatus [Source]
- IridiumsbdStatus [Source]
- IrlockReport [Source]
- LandingGear [Source]
- LandingGearWheel [Source]
- LandingTargetInnovations [Source]
- LandingTargetPose [Source]
- LateralControlConfiguration [Source]
- LaunchDetectionStatus [Source]
- LedControl [Source]
- LogMessage [Source]
- LoggerStatus [Source]
- LongitudinalControlConfiguration [Source]
- MagWorkerData [Source]
- MagnetometerBiasEstimate [Source]
- ManualControlSetpoint [Source]
- ManualControlSwitches [Source]
- MavlinkLog [Source]
- MavlinkTunnel [Source]
- MessageFormatRequest [Source]
- MessageFormatResponse [Source]
- Mission [Source]
- MissionResult [Source]
- ModeCompleted [Source]
- MountOrientation [Source]
- NavigatorMissionItem [Source]
- NavigatorStatus [Source]
- NeuralControl [Source]
- NormalizedUnsignedSetpoint [Source]
- ObstacleDistance [Source]
- OffboardControlMode [Source]
- OnboardComputerStatus [Source]
- OpenDroneIdArmStatus [Source]
- OpenDroneIdBasicId [Source]
- OpenDroneIdOperatorId [Source]
- OpenDroneIdSelfId [Source]
- OpenDroneIdSystem [Source]
- OrbTest [Source]
- OrbTestLarge [Source]
- OrbTestMedium [Source]
- OrbitStatus [Source]
- ParameterResetRequest [Source]
- ParameterSetUsedRequest [Source]
- ParameterSetValueRequest [Source]
- ParameterSetValueResponse [Source]
- ParameterUpdate [Source]
- Ping [Source]
- PositionControllerLandingStatus [Source]
- PositionControllerStatus [Source]
- PositionSetpoint [Source]
- PositionSetpointTriplet [Source]
- PowerButtonState [Source]
- PowerMonitor [Source]
- PpsCapture [Source]
- PrecLandStatus [Source]
- PurePursuitStatus [Source]
- PwmInput [Source]
- Px4ioStatus [Source]
- QshellReq [Source]
- QshellRetval [Source]
- RadioStatus [Source]
- RangingBeacon [Source]
- RaptorInput [Source]
- RaptorStatus [Source]
- RateCtrlStatus [Source]
- RcChannels [Source]
- RcParameterMap [Source]
- RegisterExtComponentReply [Source]
- RegisterExtComponentRequest [Source]
- RoverAttitudeSetpoint [Source]
- RoverAttitudeStatus [Source]
- RoverPositionSetpoint [Source]
- RoverRateSetpoint [Source]
- RoverRateStatus [Source]
- RoverSpeedSetpoint [Source]
- RoverSpeedStatus [Source]
- RoverSteeringSetpoint [Source]
- RoverThrottleSetpoint [Source]
- Rpm [Source]
- RtlStatus [Source]
- RtlTimeEstimate [Source]
- SatelliteInfo [Source]
- SensorAccel [Source]
- SensorAccelFifo [Source]
- SensorAirflow [Source]
- SensorBaro [Source]
- SensorCombined [Source]
- SensorCorrection [Source]
- SensorGnssRelative [Source]
- SensorGnssStatus [Source]
- SensorGps [Source]
- SensorGyro [Source]
- SensorGyroFft [Source]
- SensorGyroFifo [Source]
- SensorHygrometer [Source]
- SensorMag [Source]
- SensorOpticalFlow [Source]
- SensorPreflightMag [Source]
- SensorSelection [Source]
- SensorTemp [Source]
- SensorUwb [Source]
- SensorsStatus [Source]
- SensorsStatusImu [Source]
- SystemPower [Source]
- TakeoffStatus [Source]
- TargetGnss [Source]
- TaskStackInfo [Source]
- TecsStatus [Source]
- TelemetryStatus [Source]
- TiltrotorExtraControls [Source]
- TimesyncStatus [Source]
- TrajectorySetpoint [Source]
- TrajectorySetpoint6dof [Source]
- TransponderReport [Source]
- TuneControl [Source]
- UavcanParameterRequest [Source]
- UavcanParameterValue [Source]
- UlogStream [Source]
- UlogStreamAck [Source]
- UnregisterExtComponent [Source]
- VehicleAcceleration [Source]
- VehicleAirData [Source]
- VehicleAngularAccelerationSetpoint [Source]
- VehicleAngularVelocity [Source]
- VehicleAttitude [Source]
- VehicleAttitudeSetpoint [Source]
- VehicleCommand [Source]
- VehicleCommandAck [Source]
- VehicleConstraints [Source]
- VehicleControlMode [Source]
- VehicleGlobalPosition [Source]
- VehicleImu [Source]
- VehicleImuStatus [Source]
- VehicleLandDetected [Source]
- VehicleLocalPosition [Source]
- VehicleLocalPositionSetpoint [Source]
- VehicleMagnetometer [Source]
- VehicleOdometry [Source]
- VehicleOpticalFlow [Source]
- VehicleOpticalFlowVel [Source]
- VehicleRatesSetpoint [Source]
- VehicleRoi [Source]
- VehicleStatus [Source]
- VehicleThrustSetpoint [Source]
- VehicleTorqueSetpoint [Source]
- VelocityLimits [Source]
- VteAidSource1d [Source]
- VteAidSource3d [Source]
- VteBiasInitStatus [Source]
- VteInput [Source]
- VteOrientation [Source]
- VtePosition [Source]
- VtolVehicleStatus [Source]
- Vtx [Source]
- WheelEncoders [Source]
- Wind [Source]
- YawEstimatorStatus [Source]
Services
Plugins
Recent questions tagged px4_msgs at Robotics Stack Exchange
Package Summary
| Version | 1.17.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/PX4/px4_msgs.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-12 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Nuno Marques
- Beniamino Pozzan
- Ramon Roche
Authors
- Nuno Marques
px4_msgs
ROS 2 message and service definitions for the PX4 Autopilot.
Overview
px4_msgs is a ROS 2 interface package: it contains only .msg and .srv definitions and the build rules that turn them into the C++/Python interfaces used by ROS 2 applications. The definitions mirror PX4’s internal uORB topics, so that a ROS 2 node can exchange them with the autopilot over the uXRCE-DDS bridge (the uxrce_dds_client running on PX4 talks to the MicroXRCEAgent running on the companion side, which publishes/subscribes these topics on the ROS 2 graph).
Because the definitions come straight from PX4, this package is the single source of truth that keeps a ROS 2 workspace ABI-compatible with a given PX4 firmware version.
Installation
From source (recommended today)
Clone the branch that matches your PX4 version (see Supported versions) into a colcon workspace and build:
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/PX4/px4_msgs.git
cd ~/ros2_ws
source /opt/ros/jazzy/setup.bash # or humble / kilted / rolling
colcon build --packages-select px4_msgs
See Using colcon to build packages and the PX4 ROS 2 User Guide for the full workflow.
From a binary (apt)
Once the package has completed its build-farm release it is installable as a Debian package:
sudo apt install ros-${ROS_DISTRO}-px4-msgs
You can also build a .deb locally — see Building Debian packages.
Usage
After sourcing the workspace, the generated interfaces are available like any other ROS 2 message package:
#include <px4_msgs/msg/vehicle_status.hpp>
// ...
sub_ = create_subscription<px4_msgs::msg::VehicleStatus>(
"/fmu/out/vehicle_status", rclcpp::QoS(10).best_effort(),
[](px4_msgs::msg::VehicleStatus::SharedPtr msg) { /* ... */ });
from px4_msgs.msg import VehicleStatus
Note: PX4 publishes with best-effort QoS; subscribers must use a compatible QoS profile (as above) or they will not receive any data. Topic names and directions (
/fmu/out/...,/fmu/in/...) are documented in the PX4 uXRCE-DDS topic list.
Package layout
px4_msgs/
├── msg/ # message definitions (*.msg), generated from PX4 uORB
├── srv/ # service definitions (*.srv)
├── CMakeLists.txt # globs msg/ and srv/ and calls rosidl_generate_interfaces
└── package.xml # ament_cmake, format 3, member of rosidl_interface_packages
Supported versions and compatibility
px4_msgs is a pure interface package, so the definitions build on any maintained ROS 2 distribution. What ties a checkout to a firmware is the PX4 release line, not the ROS 2 distribution: each PX4 release has its own branch and main tracks PX4 main. Pick the branch that matches the PX4 version you fly, then build it on whichever ROS 2 distribution you run.
PX4 release → px4_msgs branch
| PX4 release | px4_msgs branch |
|---|---|
main (in development) |
main |
| v1.17 | release/1.17 |
| v1.16 | release/1.16 |
| v1.15 | release/1.15 |
| v1.14 | release/1.14 |
| v1.13 | release/1.13 |
ROS 2 distribution → Ubuntu
The ROS 2 distribution fixes the Ubuntu version (REP 2000). CI builds main against every maintained distribution:
| ROS 2 distribution | Ubuntu | Type | Built in CI |
|---|---|---|---|
| Humble | 22.04 (Jammy) | LTS, until 2027 | yes, native runner |
| Jazzy | 24.04 (Noble) | LTS, until 2029 | yes, native runner |
File truncated at 100 lines see the full file
Changelog for package px4_msgs
The version numbers of this package track the corresponding PX4
Autopilot release line. The
message and service definitions are generated and synchronized
automatically from the uORB definitions in PX4-Autopilot, so the entries
below are produced from the tagged release history rather than by manual
edits (see scripts/generate_changelog.sh).
1.17.0 (2026-03-22)
- Synchronized with PX4 Autopilot 1.17.0.
- Added: BatteryInfo, DronecanNodeStatus, FixedWingLateralGuidanceStatus, FixedWingLateralSetpoint, FixedWingLateralStatus, FixedWingLongitudinalSetpoint, FixedWingRunwayControl, LateralControlConfiguration, LongitudinalControlConfiguration, NeuralControl, RoverSpeedSetpoint, RoverSpeedStatus, SensorGnssStatus.
- Removed: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, NpfgStatus, RoverVelocityStatus.
- Changed 44 message/service definition(s).
- Contributors: Beniamino Pozzan
1.16.2 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.1.
- Contributors: PX4 BuildBot
1.16.1 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.0.
- Contributors: PX4 BuildBot
1.16.0 (2025-08-07)
- Synchronized with PX4 Autopilot 1.16.0.
- Added: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, DistanceSensorModeChangeRequest, FuelTankStatus, InternalCombustionEngineControl, NavigatorStatus, OpenDroneIdArmStatus, OpenDroneIdOperatorId, OpenDroneIdSelfId, OpenDroneIdSystem, PurePursuitStatus, RoverAttitudeSetpoint, RoverAttitudeStatus, RoverPositionSetpoint, RoverRateSetpoint, RoverRateStatus, RoverSteeringSetpoint, RoverThrottleSetpoint, RoverVelocityStatus, TrajectorySetpoint6dof.
- Removed: Buffer128, CollisionReport, DifferentialDriveSetpoint, TrajectoryBezier, TrajectoryWaypoint, VehicleTrajectoryBezier, VehicleTrajectoryWaypoint.
- Changed 71 message/service definition(s).
- Contributors: Beniamino Pozzan, Claudio Chies, GuillaumeLaine, Mathieu David, PX4 BuildBot
1.15.4 (2025-03-20)
- PX4 point release; message and service definitions identical to 1.15.3.
- Contributors: PX4 BuildBot
1.15.3 (2025-03-20)
- Synchronized with PX4 Autopilot 1.15.3.
- Changed 3 message/service definition(s).
- Contributors: Beniamino Pozzan
1.15.2 (2024-10-06)
- PX4 point release; message and service definitions identical to 1.15.1.
- Contributors: PX4 BuildBot
1.15.1 (2024-10-06)
- Synchronized with PX4 Autopilot 1.15.1.
- Changed 1 message/service definition(s).
- Contributors: Beniamino Pozzan, PX4 BuildBot
1.15.0 (2024-06-17)
- Synchronized with PX4 Autopilot 1.15.0.
- Added: ArmingCheckReply, ArmingCheckRequest, Buffer128, CanInterfaceStatus, ConfigOverrides, DatamanRequest, DatamanResponse, DifferentialDriveSetpoint, FigureEightStatus, FlightPhaseEstimation, GeofenceStatus, GotoSetpoint, GpioConfig, GpioIn, GpioOut, GpioRequest, MessageFormatRequest, MessageFormatResponse, ParameterResetRequest, ParameterSetUsedRequest, ParameterSetValueRequest, ParameterSetValueResponse, RegisterExtComponentReply, RegisterExtComponentRequest, RtlStatus, SensorAirflow, UnregisterExtComponent, VehicleCommand, VelocityLimits, WheelEncoders.
- Changed 35 message/service definition(s).
- Contributors: Audrow Nash, Beniamino Pozzan, dependabot[bot], Federico Ciresola, PX4 BuildBot
1.14.0 (2023-11-11)
- Synchronized with PX4 Autopilot 1.14.0.
- Added: EstimatorAidSource1d, EstimatorAidSource2d, EstimatorAidSource3d, EstimatorBias3d, FailsafeFlags,
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| rosidl_default_generators | |
| rosidl_default_runtime | |
| ament_lint_auto | |
| ament_lint_common | |
| builtin_interfaces |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| as2_platform_pixhawk |
Launch files
Messages
- ActionRequest [Source]
- ActuatorArmed [Source]
- ActuatorControlsStatus [Source]
- ActuatorMotors [Source]
- ActuatorOutputs [Source]
- ActuatorServos [Source]
- ActuatorServosTrim [Source]
- ActuatorTest [Source]
- AdcReport [Source]
- Airspeed [Source]
- AirspeedValidated [Source]
- AirspeedWind [Source]
- ArmingCheckReply [Source]
- ArmingCheckRequest [Source]
- AutotuneAttitudeControlStatus [Source]
- AuxGlobalPosition [Source]
- BatteryInfo [Source]
- BatteryStatus [Source]
- ButtonEvent [Source]
- CameraCapture [Source]
- CameraStatus [Source]
- CameraTrigger [Source]
- CanInterfaceStatus [Source]
- CellularStatus [Source]
- CollisionConstraints [Source]
- ConfigOverrides [Source]
- ControlAllocatorStatus [Source]
- Cpuload [Source]
- DatamanRequest [Source]
- DatamanResponse [Source]
- DebugArray [Source]
- DebugKeyValue [Source]
- DebugValue [Source]
- DebugVect [Source]
- DeviceInformation [Source]
- DifferentialPressure [Source]
- DistanceSensor [Source]
- DistanceSensorModeChangeRequest [Source]
- DronecanNodeStatus [Source]
- Ekf2Timestamps [Source]
- EscEepromRead [Source]
- EscEepromWrite [Source]
- EscReport [Source]
- EscStatus [Source]
- EstimatorAidSource1d [Source]
- EstimatorAidSource2d [Source]
- EstimatorAidSource3d [Source]
- EstimatorBias [Source]
- EstimatorBias3d [Source]
- EstimatorEventFlags [Source]
- EstimatorFusionControl [Source]
- EstimatorGpsStatus [Source]
- EstimatorInnovations [Source]
- EstimatorSelectorStatus [Source]
- EstimatorSensorBias [Source]
- EstimatorStates [Source]
- EstimatorStatus [Source]
- EstimatorStatusFlags [Source]
- Event [Source]
- FailsafeFlags [Source]
- FailureDetectorStatus [Source]
- FiducialMarkerPosReport [Source]
- FiducialMarkerYawReport [Source]
- FigureEightStatus [Source]
- FixedWingLateralGuidanceStatus [Source]
- FixedWingLateralSetpoint [Source]
- FixedWingLateralStatus [Source]
- FixedWingLongitudinalSetpoint [Source]
- FixedWingRunwayControl [Source]
- FlightPhaseEstimation [Source]
- FollowTarget [Source]
- FollowTargetEstimator [Source]
- FollowTargetStatus [Source]
- FuelTankStatus [Source]
- GainCompression [Source]
- GeneratorStatus [Source]
- GeofenceResult [Source]
- GeofenceStatus [Source]
- GimbalControls [Source]
- GimbalDeviceAttitudeStatus [Source]
- GimbalDeviceInformation [Source]
- GimbalDeviceSetAttitude [Source]
- GimbalManagerInformation [Source]
- GimbalManagerSetAttitude [Source]
- GimbalManagerSetManualControl [Source]
- GimbalManagerStatus [Source]
- GotoSetpoint [Source]
- GpioConfig [Source]
- GpioIn [Source]
- GpioOut [Source]
- GpioRequest [Source]
- GpsDump [Source]
- GpsInjectData [Source]
- Gripper [Source]
- HealthReport [Source]
- HeaterStatus [Source]
- HomePosition [Source]
- HoverThrustEstimate [Source]
- InputRc [Source]
- InternalCombustionEngineControl [Source]
- InternalCombustionEngineStatus [Source]
- IridiumsbdStatus [Source]
- IrlockReport [Source]
- LandingGear [Source]
- LandingGearWheel [Source]
- LandingTargetInnovations [Source]
- LandingTargetPose [Source]
- LateralControlConfiguration [Source]
- LaunchDetectionStatus [Source]
- LedControl [Source]
- LogMessage [Source]
- LoggerStatus [Source]
- LongitudinalControlConfiguration [Source]
- MagWorkerData [Source]
- MagnetometerBiasEstimate [Source]
- ManualControlSetpoint [Source]
- ManualControlSwitches [Source]
- MavlinkLog [Source]
- MavlinkTunnel [Source]
- MessageFormatRequest [Source]
- MessageFormatResponse [Source]
- Mission [Source]
- MissionResult [Source]
- ModeCompleted [Source]
- MountOrientation [Source]
- NavigatorMissionItem [Source]
- NavigatorStatus [Source]
- NeuralControl [Source]
- NormalizedUnsignedSetpoint [Source]
- ObstacleDistance [Source]
- OffboardControlMode [Source]
- OnboardComputerStatus [Source]
- OpenDroneIdArmStatus [Source]
- OpenDroneIdBasicId [Source]
- OpenDroneIdOperatorId [Source]
- OpenDroneIdSelfId [Source]
- OpenDroneIdSystem [Source]
- OrbTest [Source]
- OrbTestLarge [Source]
- OrbTestMedium [Source]
- OrbitStatus [Source]
- ParameterResetRequest [Source]
- ParameterSetUsedRequest [Source]
- ParameterSetValueRequest [Source]
- ParameterSetValueResponse [Source]
- ParameterUpdate [Source]
- Ping [Source]
- PositionControllerLandingStatus [Source]
- PositionControllerStatus [Source]
- PositionSetpoint [Source]
- PositionSetpointTriplet [Source]
- PowerButtonState [Source]
- PowerMonitor [Source]
- PpsCapture [Source]
- PrecLandStatus [Source]
- PurePursuitStatus [Source]
- PwmInput [Source]
- Px4ioStatus [Source]
- QshellReq [Source]
- QshellRetval [Source]
- RadioStatus [Source]
- RangingBeacon [Source]
- RaptorInput [Source]
- RaptorStatus [Source]
- RateCtrlStatus [Source]
- RcChannels [Source]
- RcParameterMap [Source]
- RegisterExtComponentReply [Source]
- RegisterExtComponentRequest [Source]
- RoverAttitudeSetpoint [Source]
- RoverAttitudeStatus [Source]
- RoverPositionSetpoint [Source]
- RoverRateSetpoint [Source]
- RoverRateStatus [Source]
- RoverSpeedSetpoint [Source]
- RoverSpeedStatus [Source]
- RoverSteeringSetpoint [Source]
- RoverThrottleSetpoint [Source]
- Rpm [Source]
- RtlStatus [Source]
- RtlTimeEstimate [Source]
- SatelliteInfo [Source]
- SensorAccel [Source]
- SensorAccelFifo [Source]
- SensorAirflow [Source]
- SensorBaro [Source]
- SensorCombined [Source]
- SensorCorrection [Source]
- SensorGnssRelative [Source]
- SensorGnssStatus [Source]
- SensorGps [Source]
- SensorGyro [Source]
- SensorGyroFft [Source]
- SensorGyroFifo [Source]
- SensorHygrometer [Source]
- SensorMag [Source]
- SensorOpticalFlow [Source]
- SensorPreflightMag [Source]
- SensorSelection [Source]
- SensorTemp [Source]
- SensorUwb [Source]
- SensorsStatus [Source]
- SensorsStatusImu [Source]
- SystemPower [Source]
- TakeoffStatus [Source]
- TargetGnss [Source]
- TaskStackInfo [Source]
- TecsStatus [Source]
- TelemetryStatus [Source]
- TiltrotorExtraControls [Source]
- TimesyncStatus [Source]
- TrajectorySetpoint [Source]
- TrajectorySetpoint6dof [Source]
- TransponderReport [Source]
- TuneControl [Source]
- UavcanParameterRequest [Source]
- UavcanParameterValue [Source]
- UlogStream [Source]
- UlogStreamAck [Source]
- UnregisterExtComponent [Source]
- VehicleAcceleration [Source]
- VehicleAirData [Source]
- VehicleAngularAccelerationSetpoint [Source]
- VehicleAngularVelocity [Source]
- VehicleAttitude [Source]
- VehicleAttitudeSetpoint [Source]
- VehicleCommand [Source]
- VehicleCommandAck [Source]
- VehicleConstraints [Source]
- VehicleControlMode [Source]
- VehicleGlobalPosition [Source]
- VehicleImu [Source]
- VehicleImuStatus [Source]
- VehicleLandDetected [Source]
- VehicleLocalPosition [Source]
- VehicleLocalPositionSetpoint [Source]
- VehicleMagnetometer [Source]
- VehicleOdometry [Source]
- VehicleOpticalFlow [Source]
- VehicleOpticalFlowVel [Source]
- VehicleRatesSetpoint [Source]
- VehicleRoi [Source]
- VehicleStatus [Source]
- VehicleThrustSetpoint [Source]
- VehicleTorqueSetpoint [Source]
- VelocityLimits [Source]
- VteAidSource1d [Source]
- VteAidSource3d [Source]
- VteBiasInitStatus [Source]
- VteInput [Source]
- VteOrientation [Source]
- VtePosition [Source]
- VtolVehicleStatus [Source]
- Vtx [Source]
- WheelEncoders [Source]
- Wind [Source]
- YawEstimatorStatus [Source]
Services
Plugins
Recent questions tagged px4_msgs at Robotics Stack Exchange
Package Summary
| Version | 1.17.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/PX4/px4_msgs.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-12 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Nuno Marques
- Beniamino Pozzan
- Ramon Roche
Authors
- Nuno Marques
px4_msgs
ROS 2 message and service definitions for the PX4 Autopilot.
Overview
px4_msgs is a ROS 2 interface package: it contains only .msg and .srv definitions and the build rules that turn them into the C++/Python interfaces used by ROS 2 applications. The definitions mirror PX4’s internal uORB topics, so that a ROS 2 node can exchange them with the autopilot over the uXRCE-DDS bridge (the uxrce_dds_client running on PX4 talks to the MicroXRCEAgent running on the companion side, which publishes/subscribes these topics on the ROS 2 graph).
Because the definitions come straight from PX4, this package is the single source of truth that keeps a ROS 2 workspace ABI-compatible with a given PX4 firmware version.
Installation
From source (recommended today)
Clone the branch that matches your PX4 version (see Supported versions) into a colcon workspace and build:
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/PX4/px4_msgs.git
cd ~/ros2_ws
source /opt/ros/jazzy/setup.bash # or humble / kilted / rolling
colcon build --packages-select px4_msgs
See Using colcon to build packages and the PX4 ROS 2 User Guide for the full workflow.
From a binary (apt)
Once the package has completed its build-farm release it is installable as a Debian package:
sudo apt install ros-${ROS_DISTRO}-px4-msgs
You can also build a .deb locally — see Building Debian packages.
Usage
After sourcing the workspace, the generated interfaces are available like any other ROS 2 message package:
#include <px4_msgs/msg/vehicle_status.hpp>
// ...
sub_ = create_subscription<px4_msgs::msg::VehicleStatus>(
"/fmu/out/vehicle_status", rclcpp::QoS(10).best_effort(),
[](px4_msgs::msg::VehicleStatus::SharedPtr msg) { /* ... */ });
from px4_msgs.msg import VehicleStatus
Note: PX4 publishes with best-effort QoS; subscribers must use a compatible QoS profile (as above) or they will not receive any data. Topic names and directions (
/fmu/out/...,/fmu/in/...) are documented in the PX4 uXRCE-DDS topic list.
Package layout
px4_msgs/
├── msg/ # message definitions (*.msg), generated from PX4 uORB
├── srv/ # service definitions (*.srv)
├── CMakeLists.txt # globs msg/ and srv/ and calls rosidl_generate_interfaces
└── package.xml # ament_cmake, format 3, member of rosidl_interface_packages
Supported versions and compatibility
px4_msgs is a pure interface package, so the definitions build on any maintained ROS 2 distribution. What ties a checkout to a firmware is the PX4 release line, not the ROS 2 distribution: each PX4 release has its own branch and main tracks PX4 main. Pick the branch that matches the PX4 version you fly, then build it on whichever ROS 2 distribution you run.
PX4 release → px4_msgs branch
| PX4 release | px4_msgs branch |
|---|---|
main (in development) |
main |
| v1.17 | release/1.17 |
| v1.16 | release/1.16 |
| v1.15 | release/1.15 |
| v1.14 | release/1.14 |
| v1.13 | release/1.13 |
ROS 2 distribution → Ubuntu
The ROS 2 distribution fixes the Ubuntu version (REP 2000). CI builds main against every maintained distribution:
| ROS 2 distribution | Ubuntu | Type | Built in CI |
|---|---|---|---|
| Humble | 22.04 (Jammy) | LTS, until 2027 | yes, native runner |
| Jazzy | 24.04 (Noble) | LTS, until 2029 | yes, native runner |
File truncated at 100 lines see the full file
Changelog for package px4_msgs
The version numbers of this package track the corresponding PX4
Autopilot release line. The
message and service definitions are generated and synchronized
automatically from the uORB definitions in PX4-Autopilot, so the entries
below are produced from the tagged release history rather than by manual
edits (see scripts/generate_changelog.sh).
1.17.0 (2026-03-22)
- Synchronized with PX4 Autopilot 1.17.0.
- Added: BatteryInfo, DronecanNodeStatus, FixedWingLateralGuidanceStatus, FixedWingLateralSetpoint, FixedWingLateralStatus, FixedWingLongitudinalSetpoint, FixedWingRunwayControl, LateralControlConfiguration, LongitudinalControlConfiguration, NeuralControl, RoverSpeedSetpoint, RoverSpeedStatus, SensorGnssStatus.
- Removed: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, NpfgStatus, RoverVelocityStatus.
- Changed 44 message/service definition(s).
- Contributors: Beniamino Pozzan
1.16.2 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.1.
- Contributors: PX4 BuildBot
1.16.1 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.0.
- Contributors: PX4 BuildBot
1.16.0 (2025-08-07)
- Synchronized with PX4 Autopilot 1.16.0.
- Added: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, DistanceSensorModeChangeRequest, FuelTankStatus, InternalCombustionEngineControl, NavigatorStatus, OpenDroneIdArmStatus, OpenDroneIdOperatorId, OpenDroneIdSelfId, OpenDroneIdSystem, PurePursuitStatus, RoverAttitudeSetpoint, RoverAttitudeStatus, RoverPositionSetpoint, RoverRateSetpoint, RoverRateStatus, RoverSteeringSetpoint, RoverThrottleSetpoint, RoverVelocityStatus, TrajectorySetpoint6dof.
- Removed: Buffer128, CollisionReport, DifferentialDriveSetpoint, TrajectoryBezier, TrajectoryWaypoint, VehicleTrajectoryBezier, VehicleTrajectoryWaypoint.
- Changed 71 message/service definition(s).
- Contributors: Beniamino Pozzan, Claudio Chies, GuillaumeLaine, Mathieu David, PX4 BuildBot
1.15.4 (2025-03-20)
- PX4 point release; message and service definitions identical to 1.15.3.
- Contributors: PX4 BuildBot
1.15.3 (2025-03-20)
- Synchronized with PX4 Autopilot 1.15.3.
- Changed 3 message/service definition(s).
- Contributors: Beniamino Pozzan
1.15.2 (2024-10-06)
- PX4 point release; message and service definitions identical to 1.15.1.
- Contributors: PX4 BuildBot
1.15.1 (2024-10-06)
- Synchronized with PX4 Autopilot 1.15.1.
- Changed 1 message/service definition(s).
- Contributors: Beniamino Pozzan, PX4 BuildBot
1.15.0 (2024-06-17)
- Synchronized with PX4 Autopilot 1.15.0.
- Added: ArmingCheckReply, ArmingCheckRequest, Buffer128, CanInterfaceStatus, ConfigOverrides, DatamanRequest, DatamanResponse, DifferentialDriveSetpoint, FigureEightStatus, FlightPhaseEstimation, GeofenceStatus, GotoSetpoint, GpioConfig, GpioIn, GpioOut, GpioRequest, MessageFormatRequest, MessageFormatResponse, ParameterResetRequest, ParameterSetUsedRequest, ParameterSetValueRequest, ParameterSetValueResponse, RegisterExtComponentReply, RegisterExtComponentRequest, RtlStatus, SensorAirflow, UnregisterExtComponent, VehicleCommand, VelocityLimits, WheelEncoders.
- Changed 35 message/service definition(s).
- Contributors: Audrow Nash, Beniamino Pozzan, dependabot[bot], Federico Ciresola, PX4 BuildBot
1.14.0 (2023-11-11)
- Synchronized with PX4 Autopilot 1.14.0.
- Added: EstimatorAidSource1d, EstimatorAidSource2d, EstimatorAidSource3d, EstimatorBias3d, FailsafeFlags,
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| rosidl_default_generators | |
| rosidl_default_runtime | |
| ament_lint_auto | |
| ament_lint_common | |
| builtin_interfaces |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| as2_platform_pixhawk |
Launch files
Messages
- ActionRequest [Source]
- ActuatorArmed [Source]
- ActuatorControlsStatus [Source]
- ActuatorMotors [Source]
- ActuatorOutputs [Source]
- ActuatorServos [Source]
- ActuatorServosTrim [Source]
- ActuatorTest [Source]
- AdcReport [Source]
- Airspeed [Source]
- AirspeedValidated [Source]
- AirspeedWind [Source]
- ArmingCheckReply [Source]
- ArmingCheckRequest [Source]
- AutotuneAttitudeControlStatus [Source]
- AuxGlobalPosition [Source]
- BatteryInfo [Source]
- BatteryStatus [Source]
- ButtonEvent [Source]
- CameraCapture [Source]
- CameraStatus [Source]
- CameraTrigger [Source]
- CanInterfaceStatus [Source]
- CellularStatus [Source]
- CollisionConstraints [Source]
- ConfigOverrides [Source]
- ControlAllocatorStatus [Source]
- Cpuload [Source]
- DatamanRequest [Source]
- DatamanResponse [Source]
- DebugArray [Source]
- DebugKeyValue [Source]
- DebugValue [Source]
- DebugVect [Source]
- DeviceInformation [Source]
- DifferentialPressure [Source]
- DistanceSensor [Source]
- DistanceSensorModeChangeRequest [Source]
- DronecanNodeStatus [Source]
- Ekf2Timestamps [Source]
- EscEepromRead [Source]
- EscEepromWrite [Source]
- EscReport [Source]
- EscStatus [Source]
- EstimatorAidSource1d [Source]
- EstimatorAidSource2d [Source]
- EstimatorAidSource3d [Source]
- EstimatorBias [Source]
- EstimatorBias3d [Source]
- EstimatorEventFlags [Source]
- EstimatorFusionControl [Source]
- EstimatorGpsStatus [Source]
- EstimatorInnovations [Source]
- EstimatorSelectorStatus [Source]
- EstimatorSensorBias [Source]
- EstimatorStates [Source]
- EstimatorStatus [Source]
- EstimatorStatusFlags [Source]
- Event [Source]
- FailsafeFlags [Source]
- FailureDetectorStatus [Source]
- FiducialMarkerPosReport [Source]
- FiducialMarkerYawReport [Source]
- FigureEightStatus [Source]
- FixedWingLateralGuidanceStatus [Source]
- FixedWingLateralSetpoint [Source]
- FixedWingLateralStatus [Source]
- FixedWingLongitudinalSetpoint [Source]
- FixedWingRunwayControl [Source]
- FlightPhaseEstimation [Source]
- FollowTarget [Source]
- FollowTargetEstimator [Source]
- FollowTargetStatus [Source]
- FuelTankStatus [Source]
- GainCompression [Source]
- GeneratorStatus [Source]
- GeofenceResult [Source]
- GeofenceStatus [Source]
- GimbalControls [Source]
- GimbalDeviceAttitudeStatus [Source]
- GimbalDeviceInformation [Source]
- GimbalDeviceSetAttitude [Source]
- GimbalManagerInformation [Source]
- GimbalManagerSetAttitude [Source]
- GimbalManagerSetManualControl [Source]
- GimbalManagerStatus [Source]
- GotoSetpoint [Source]
- GpioConfig [Source]
- GpioIn [Source]
- GpioOut [Source]
- GpioRequest [Source]
- GpsDump [Source]
- GpsInjectData [Source]
- Gripper [Source]
- HealthReport [Source]
- HeaterStatus [Source]
- HomePosition [Source]
- HoverThrustEstimate [Source]
- InputRc [Source]
- InternalCombustionEngineControl [Source]
- InternalCombustionEngineStatus [Source]
- IridiumsbdStatus [Source]
- IrlockReport [Source]
- LandingGear [Source]
- LandingGearWheel [Source]
- LandingTargetInnovations [Source]
- LandingTargetPose [Source]
- LateralControlConfiguration [Source]
- LaunchDetectionStatus [Source]
- LedControl [Source]
- LogMessage [Source]
- LoggerStatus [Source]
- LongitudinalControlConfiguration [Source]
- MagWorkerData [Source]
- MagnetometerBiasEstimate [Source]
- ManualControlSetpoint [Source]
- ManualControlSwitches [Source]
- MavlinkLog [Source]
- MavlinkTunnel [Source]
- MessageFormatRequest [Source]
- MessageFormatResponse [Source]
- Mission [Source]
- MissionResult [Source]
- ModeCompleted [Source]
- MountOrientation [Source]
- NavigatorMissionItem [Source]
- NavigatorStatus [Source]
- NeuralControl [Source]
- NormalizedUnsignedSetpoint [Source]
- ObstacleDistance [Source]
- OffboardControlMode [Source]
- OnboardComputerStatus [Source]
- OpenDroneIdArmStatus [Source]
- OpenDroneIdBasicId [Source]
- OpenDroneIdOperatorId [Source]
- OpenDroneIdSelfId [Source]
- OpenDroneIdSystem [Source]
- OrbTest [Source]
- OrbTestLarge [Source]
- OrbTestMedium [Source]
- OrbitStatus [Source]
- ParameterResetRequest [Source]
- ParameterSetUsedRequest [Source]
- ParameterSetValueRequest [Source]
- ParameterSetValueResponse [Source]
- ParameterUpdate [Source]
- Ping [Source]
- PositionControllerLandingStatus [Source]
- PositionControllerStatus [Source]
- PositionSetpoint [Source]
- PositionSetpointTriplet [Source]
- PowerButtonState [Source]
- PowerMonitor [Source]
- PpsCapture [Source]
- PrecLandStatus [Source]
- PurePursuitStatus [Source]
- PwmInput [Source]
- Px4ioStatus [Source]
- QshellReq [Source]
- QshellRetval [Source]
- RadioStatus [Source]
- RangingBeacon [Source]
- RaptorInput [Source]
- RaptorStatus [Source]
- RateCtrlStatus [Source]
- RcChannels [Source]
- RcParameterMap [Source]
- RegisterExtComponentReply [Source]
- RegisterExtComponentRequest [Source]
- RoverAttitudeSetpoint [Source]
- RoverAttitudeStatus [Source]
- RoverPositionSetpoint [Source]
- RoverRateSetpoint [Source]
- RoverRateStatus [Source]
- RoverSpeedSetpoint [Source]
- RoverSpeedStatus [Source]
- RoverSteeringSetpoint [Source]
- RoverThrottleSetpoint [Source]
- Rpm [Source]
- RtlStatus [Source]
- RtlTimeEstimate [Source]
- SatelliteInfo [Source]
- SensorAccel [Source]
- SensorAccelFifo [Source]
- SensorAirflow [Source]
- SensorBaro [Source]
- SensorCombined [Source]
- SensorCorrection [Source]
- SensorGnssRelative [Source]
- SensorGnssStatus [Source]
- SensorGps [Source]
- SensorGyro [Source]
- SensorGyroFft [Source]
- SensorGyroFifo [Source]
- SensorHygrometer [Source]
- SensorMag [Source]
- SensorOpticalFlow [Source]
- SensorPreflightMag [Source]
- SensorSelection [Source]
- SensorTemp [Source]
- SensorUwb [Source]
- SensorsStatus [Source]
- SensorsStatusImu [Source]
- SystemPower [Source]
- TakeoffStatus [Source]
- TargetGnss [Source]
- TaskStackInfo [Source]
- TecsStatus [Source]
- TelemetryStatus [Source]
- TiltrotorExtraControls [Source]
- TimesyncStatus [Source]
- TrajectorySetpoint [Source]
- TrajectorySetpoint6dof [Source]
- TransponderReport [Source]
- TuneControl [Source]
- UavcanParameterRequest [Source]
- UavcanParameterValue [Source]
- UlogStream [Source]
- UlogStreamAck [Source]
- UnregisterExtComponent [Source]
- VehicleAcceleration [Source]
- VehicleAirData [Source]
- VehicleAngularAccelerationSetpoint [Source]
- VehicleAngularVelocity [Source]
- VehicleAttitude [Source]
- VehicleAttitudeSetpoint [Source]
- VehicleCommand [Source]
- VehicleCommandAck [Source]
- VehicleConstraints [Source]
- VehicleControlMode [Source]
- VehicleGlobalPosition [Source]
- VehicleImu [Source]
- VehicleImuStatus [Source]
- VehicleLandDetected [Source]
- VehicleLocalPosition [Source]
- VehicleLocalPositionSetpoint [Source]
- VehicleMagnetometer [Source]
- VehicleOdometry [Source]
- VehicleOpticalFlow [Source]
- VehicleOpticalFlowVel [Source]
- VehicleRatesSetpoint [Source]
- VehicleRoi [Source]
- VehicleStatus [Source]
- VehicleThrustSetpoint [Source]
- VehicleTorqueSetpoint [Source]
- VelocityLimits [Source]
- VteAidSource1d [Source]
- VteAidSource3d [Source]
- VteBiasInitStatus [Source]
- VteInput [Source]
- VteOrientation [Source]
- VtePosition [Source]
- VtolVehicleStatus [Source]
- Vtx [Source]
- WheelEncoders [Source]
- Wind [Source]
- YawEstimatorStatus [Source]
Services
Plugins
Recent questions tagged px4_msgs at Robotics Stack Exchange
Package Summary
| Version | 1.17.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/PX4/px4_msgs.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-12 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Nuno Marques
- Beniamino Pozzan
- Ramon Roche
Authors
- Nuno Marques
px4_msgs
ROS 2 message and service definitions for the PX4 Autopilot.
Overview
px4_msgs is a ROS 2 interface package: it contains only .msg and .srv definitions and the build rules that turn them into the C++/Python interfaces used by ROS 2 applications. The definitions mirror PX4’s internal uORB topics, so that a ROS 2 node can exchange them with the autopilot over the uXRCE-DDS bridge (the uxrce_dds_client running on PX4 talks to the MicroXRCEAgent running on the companion side, which publishes/subscribes these topics on the ROS 2 graph).
Because the definitions come straight from PX4, this package is the single source of truth that keeps a ROS 2 workspace ABI-compatible with a given PX4 firmware version.
Installation
From source (recommended today)
Clone the branch that matches your PX4 version (see Supported versions) into a colcon workspace and build:
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/PX4/px4_msgs.git
cd ~/ros2_ws
source /opt/ros/jazzy/setup.bash # or humble / kilted / rolling
colcon build --packages-select px4_msgs
See Using colcon to build packages and the PX4 ROS 2 User Guide for the full workflow.
From a binary (apt)
Once the package has completed its build-farm release it is installable as a Debian package:
sudo apt install ros-${ROS_DISTRO}-px4-msgs
You can also build a .deb locally — see Building Debian packages.
Usage
After sourcing the workspace, the generated interfaces are available like any other ROS 2 message package:
#include <px4_msgs/msg/vehicle_status.hpp>
// ...
sub_ = create_subscription<px4_msgs::msg::VehicleStatus>(
"/fmu/out/vehicle_status", rclcpp::QoS(10).best_effort(),
[](px4_msgs::msg::VehicleStatus::SharedPtr msg) { /* ... */ });
from px4_msgs.msg import VehicleStatus
Note: PX4 publishes with best-effort QoS; subscribers must use a compatible QoS profile (as above) or they will not receive any data. Topic names and directions (
/fmu/out/...,/fmu/in/...) are documented in the PX4 uXRCE-DDS topic list.
Package layout
px4_msgs/
├── msg/ # message definitions (*.msg), generated from PX4 uORB
├── srv/ # service definitions (*.srv)
├── CMakeLists.txt # globs msg/ and srv/ and calls rosidl_generate_interfaces
└── package.xml # ament_cmake, format 3, member of rosidl_interface_packages
Supported versions and compatibility
px4_msgs is a pure interface package, so the definitions build on any maintained ROS 2 distribution. What ties a checkout to a firmware is the PX4 release line, not the ROS 2 distribution: each PX4 release has its own branch and main tracks PX4 main. Pick the branch that matches the PX4 version you fly, then build it on whichever ROS 2 distribution you run.
PX4 release → px4_msgs branch
| PX4 release | px4_msgs branch |
|---|---|
main (in development) |
main |
| v1.17 | release/1.17 |
| v1.16 | release/1.16 |
| v1.15 | release/1.15 |
| v1.14 | release/1.14 |
| v1.13 | release/1.13 |
ROS 2 distribution → Ubuntu
The ROS 2 distribution fixes the Ubuntu version (REP 2000). CI builds main against every maintained distribution:
| ROS 2 distribution | Ubuntu | Type | Built in CI |
|---|---|---|---|
| Humble | 22.04 (Jammy) | LTS, until 2027 | yes, native runner |
| Jazzy | 24.04 (Noble) | LTS, until 2029 | yes, native runner |
File truncated at 100 lines see the full file
Changelog for package px4_msgs
The version numbers of this package track the corresponding PX4
Autopilot release line. The
message and service definitions are generated and synchronized
automatically from the uORB definitions in PX4-Autopilot, so the entries
below are produced from the tagged release history rather than by manual
edits (see scripts/generate_changelog.sh).
1.17.0 (2026-03-22)
- Synchronized with PX4 Autopilot 1.17.0.
- Added: BatteryInfo, DronecanNodeStatus, FixedWingLateralGuidanceStatus, FixedWingLateralSetpoint, FixedWingLateralStatus, FixedWingLongitudinalSetpoint, FixedWingRunwayControl, LateralControlConfiguration, LongitudinalControlConfiguration, NeuralControl, RoverSpeedSetpoint, RoverSpeedStatus, SensorGnssStatus.
- Removed: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, NpfgStatus, RoverVelocityStatus.
- Changed 44 message/service definition(s).
- Contributors: Beniamino Pozzan
1.16.2 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.1.
- Contributors: PX4 BuildBot
1.16.1 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.0.
- Contributors: PX4 BuildBot
1.16.0 (2025-08-07)
- Synchronized with PX4 Autopilot 1.16.0.
- Added: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, DistanceSensorModeChangeRequest, FuelTankStatus, InternalCombustionEngineControl, NavigatorStatus, OpenDroneIdArmStatus, OpenDroneIdOperatorId, OpenDroneIdSelfId, OpenDroneIdSystem, PurePursuitStatus, RoverAttitudeSetpoint, RoverAttitudeStatus, RoverPositionSetpoint, RoverRateSetpoint, RoverRateStatus, RoverSteeringSetpoint, RoverThrottleSetpoint, RoverVelocityStatus, TrajectorySetpoint6dof.
- Removed: Buffer128, CollisionReport, DifferentialDriveSetpoint, TrajectoryBezier, TrajectoryWaypoint, VehicleTrajectoryBezier, VehicleTrajectoryWaypoint.
- Changed 71 message/service definition(s).
- Contributors: Beniamino Pozzan, Claudio Chies, GuillaumeLaine, Mathieu David, PX4 BuildBot
1.15.4 (2025-03-20)
- PX4 point release; message and service definitions identical to 1.15.3.
- Contributors: PX4 BuildBot
1.15.3 (2025-03-20)
- Synchronized with PX4 Autopilot 1.15.3.
- Changed 3 message/service definition(s).
- Contributors: Beniamino Pozzan
1.15.2 (2024-10-06)
- PX4 point release; message and service definitions identical to 1.15.1.
- Contributors: PX4 BuildBot
1.15.1 (2024-10-06)
- Synchronized with PX4 Autopilot 1.15.1.
- Changed 1 message/service definition(s).
- Contributors: Beniamino Pozzan, PX4 BuildBot
1.15.0 (2024-06-17)
- Synchronized with PX4 Autopilot 1.15.0.
- Added: ArmingCheckReply, ArmingCheckRequest, Buffer128, CanInterfaceStatus, ConfigOverrides, DatamanRequest, DatamanResponse, DifferentialDriveSetpoint, FigureEightStatus, FlightPhaseEstimation, GeofenceStatus, GotoSetpoint, GpioConfig, GpioIn, GpioOut, GpioRequest, MessageFormatRequest, MessageFormatResponse, ParameterResetRequest, ParameterSetUsedRequest, ParameterSetValueRequest, ParameterSetValueResponse, RegisterExtComponentReply, RegisterExtComponentRequest, RtlStatus, SensorAirflow, UnregisterExtComponent, VehicleCommand, VelocityLimits, WheelEncoders.
- Changed 35 message/service definition(s).
- Contributors: Audrow Nash, Beniamino Pozzan, dependabot[bot], Federico Ciresola, PX4 BuildBot
1.14.0 (2023-11-11)
- Synchronized with PX4 Autopilot 1.14.0.
- Added: EstimatorAidSource1d, EstimatorAidSource2d, EstimatorAidSource3d, EstimatorBias3d, FailsafeFlags,
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| rosidl_default_generators | |
| rosidl_default_runtime | |
| ament_lint_auto | |
| ament_lint_common | |
| builtin_interfaces |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| as2_platform_pixhawk |
Launch files
Messages
- ActionRequest [Source]
- ActuatorArmed [Source]
- ActuatorControlsStatus [Source]
- ActuatorMotors [Source]
- ActuatorOutputs [Source]
- ActuatorServos [Source]
- ActuatorServosTrim [Source]
- ActuatorTest [Source]
- AdcReport [Source]
- Airspeed [Source]
- AirspeedValidated [Source]
- AirspeedWind [Source]
- ArmingCheckReply [Source]
- ArmingCheckRequest [Source]
- AutotuneAttitudeControlStatus [Source]
- AuxGlobalPosition [Source]
- BatteryInfo [Source]
- BatteryStatus [Source]
- ButtonEvent [Source]
- CameraCapture [Source]
- CameraStatus [Source]
- CameraTrigger [Source]
- CanInterfaceStatus [Source]
- CellularStatus [Source]
- CollisionConstraints [Source]
- ConfigOverrides [Source]
- ControlAllocatorStatus [Source]
- Cpuload [Source]
- DatamanRequest [Source]
- DatamanResponse [Source]
- DebugArray [Source]
- DebugKeyValue [Source]
- DebugValue [Source]
- DebugVect [Source]
- DeviceInformation [Source]
- DifferentialPressure [Source]
- DistanceSensor [Source]
- DistanceSensorModeChangeRequest [Source]
- DronecanNodeStatus [Source]
- Ekf2Timestamps [Source]
- EscEepromRead [Source]
- EscEepromWrite [Source]
- EscReport [Source]
- EscStatus [Source]
- EstimatorAidSource1d [Source]
- EstimatorAidSource2d [Source]
- EstimatorAidSource3d [Source]
- EstimatorBias [Source]
- EstimatorBias3d [Source]
- EstimatorEventFlags [Source]
- EstimatorFusionControl [Source]
- EstimatorGpsStatus [Source]
- EstimatorInnovations [Source]
- EstimatorSelectorStatus [Source]
- EstimatorSensorBias [Source]
- EstimatorStates [Source]
- EstimatorStatus [Source]
- EstimatorStatusFlags [Source]
- Event [Source]
- FailsafeFlags [Source]
- FailureDetectorStatus [Source]
- FiducialMarkerPosReport [Source]
- FiducialMarkerYawReport [Source]
- FigureEightStatus [Source]
- FixedWingLateralGuidanceStatus [Source]
- FixedWingLateralSetpoint [Source]
- FixedWingLateralStatus [Source]
- FixedWingLongitudinalSetpoint [Source]
- FixedWingRunwayControl [Source]
- FlightPhaseEstimation [Source]
- FollowTarget [Source]
- FollowTargetEstimator [Source]
- FollowTargetStatus [Source]
- FuelTankStatus [Source]
- GainCompression [Source]
- GeneratorStatus [Source]
- GeofenceResult [Source]
- GeofenceStatus [Source]
- GimbalControls [Source]
- GimbalDeviceAttitudeStatus [Source]
- GimbalDeviceInformation [Source]
- GimbalDeviceSetAttitude [Source]
- GimbalManagerInformation [Source]
- GimbalManagerSetAttitude [Source]
- GimbalManagerSetManualControl [Source]
- GimbalManagerStatus [Source]
- GotoSetpoint [Source]
- GpioConfig [Source]
- GpioIn [Source]
- GpioOut [Source]
- GpioRequest [Source]
- GpsDump [Source]
- GpsInjectData [Source]
- Gripper [Source]
- HealthReport [Source]
- HeaterStatus [Source]
- HomePosition [Source]
- HoverThrustEstimate [Source]
- InputRc [Source]
- InternalCombustionEngineControl [Source]
- InternalCombustionEngineStatus [Source]
- IridiumsbdStatus [Source]
- IrlockReport [Source]
- LandingGear [Source]
- LandingGearWheel [Source]
- LandingTargetInnovations [Source]
- LandingTargetPose [Source]
- LateralControlConfiguration [Source]
- LaunchDetectionStatus [Source]
- LedControl [Source]
- LogMessage [Source]
- LoggerStatus [Source]
- LongitudinalControlConfiguration [Source]
- MagWorkerData [Source]
- MagnetometerBiasEstimate [Source]
- ManualControlSetpoint [Source]
- ManualControlSwitches [Source]
- MavlinkLog [Source]
- MavlinkTunnel [Source]
- MessageFormatRequest [Source]
- MessageFormatResponse [Source]
- Mission [Source]
- MissionResult [Source]
- ModeCompleted [Source]
- MountOrientation [Source]
- NavigatorMissionItem [Source]
- NavigatorStatus [Source]
- NeuralControl [Source]
- NormalizedUnsignedSetpoint [Source]
- ObstacleDistance [Source]
- OffboardControlMode [Source]
- OnboardComputerStatus [Source]
- OpenDroneIdArmStatus [Source]
- OpenDroneIdBasicId [Source]
- OpenDroneIdOperatorId [Source]
- OpenDroneIdSelfId [Source]
- OpenDroneIdSystem [Source]
- OrbTest [Source]
- OrbTestLarge [Source]
- OrbTestMedium [Source]
- OrbitStatus [Source]
- ParameterResetRequest [Source]
- ParameterSetUsedRequest [Source]
- ParameterSetValueRequest [Source]
- ParameterSetValueResponse [Source]
- ParameterUpdate [Source]
- Ping [Source]
- PositionControllerLandingStatus [Source]
- PositionControllerStatus [Source]
- PositionSetpoint [Source]
- PositionSetpointTriplet [Source]
- PowerButtonState [Source]
- PowerMonitor [Source]
- PpsCapture [Source]
- PrecLandStatus [Source]
- PurePursuitStatus [Source]
- PwmInput [Source]
- Px4ioStatus [Source]
- QshellReq [Source]
- QshellRetval [Source]
- RadioStatus [Source]
- RangingBeacon [Source]
- RaptorInput [Source]
- RaptorStatus [Source]
- RateCtrlStatus [Source]
- RcChannels [Source]
- RcParameterMap [Source]
- RegisterExtComponentReply [Source]
- RegisterExtComponentRequest [Source]
- RoverAttitudeSetpoint [Source]
- RoverAttitudeStatus [Source]
- RoverPositionSetpoint [Source]
- RoverRateSetpoint [Source]
- RoverRateStatus [Source]
- RoverSpeedSetpoint [Source]
- RoverSpeedStatus [Source]
- RoverSteeringSetpoint [Source]
- RoverThrottleSetpoint [Source]
- Rpm [Source]
- RtlStatus [Source]
- RtlTimeEstimate [Source]
- SatelliteInfo [Source]
- SensorAccel [Source]
- SensorAccelFifo [Source]
- SensorAirflow [Source]
- SensorBaro [Source]
- SensorCombined [Source]
- SensorCorrection [Source]
- SensorGnssRelative [Source]
- SensorGnssStatus [Source]
- SensorGps [Source]
- SensorGyro [Source]
- SensorGyroFft [Source]
- SensorGyroFifo [Source]
- SensorHygrometer [Source]
- SensorMag [Source]
- SensorOpticalFlow [Source]
- SensorPreflightMag [Source]
- SensorSelection [Source]
- SensorTemp [Source]
- SensorUwb [Source]
- SensorsStatus [Source]
- SensorsStatusImu [Source]
- SystemPower [Source]
- TakeoffStatus [Source]
- TargetGnss [Source]
- TaskStackInfo [Source]
- TecsStatus [Source]
- TelemetryStatus [Source]
- TiltrotorExtraControls [Source]
- TimesyncStatus [Source]
- TrajectorySetpoint [Source]
- TrajectorySetpoint6dof [Source]
- TransponderReport [Source]
- TuneControl [Source]
- UavcanParameterRequest [Source]
- UavcanParameterValue [Source]
- UlogStream [Source]
- UlogStreamAck [Source]
- UnregisterExtComponent [Source]
- VehicleAcceleration [Source]
- VehicleAirData [Source]
- VehicleAngularAccelerationSetpoint [Source]
- VehicleAngularVelocity [Source]
- VehicleAttitude [Source]
- VehicleAttitudeSetpoint [Source]
- VehicleCommand [Source]
- VehicleCommandAck [Source]
- VehicleConstraints [Source]
- VehicleControlMode [Source]
- VehicleGlobalPosition [Source]
- VehicleImu [Source]
- VehicleImuStatus [Source]
- VehicleLandDetected [Source]
- VehicleLocalPosition [Source]
- VehicleLocalPositionSetpoint [Source]
- VehicleMagnetometer [Source]
- VehicleOdometry [Source]
- VehicleOpticalFlow [Source]
- VehicleOpticalFlowVel [Source]
- VehicleRatesSetpoint [Source]
- VehicleRoi [Source]
- VehicleStatus [Source]
- VehicleThrustSetpoint [Source]
- VehicleTorqueSetpoint [Source]
- VelocityLimits [Source]
- VteAidSource1d [Source]
- VteAidSource3d [Source]
- VteBiasInitStatus [Source]
- VteInput [Source]
- VteOrientation [Source]
- VtePosition [Source]
- VtolVehicleStatus [Source]
- Vtx [Source]
- WheelEncoders [Source]
- Wind [Source]
- YawEstimatorStatus [Source]
Services
Plugins
Recent questions tagged px4_msgs at Robotics Stack Exchange
Package Summary
| Version | 1.17.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/PX4/px4_msgs.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-12 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Nuno Marques
- Beniamino Pozzan
- Ramon Roche
Authors
- Nuno Marques
px4_msgs
ROS 2 message and service definitions for the PX4 Autopilot.
Overview
px4_msgs is a ROS 2 interface package: it contains only .msg and .srv definitions and the build rules that turn them into the C++/Python interfaces used by ROS 2 applications. The definitions mirror PX4’s internal uORB topics, so that a ROS 2 node can exchange them with the autopilot over the uXRCE-DDS bridge (the uxrce_dds_client running on PX4 talks to the MicroXRCEAgent running on the companion side, which publishes/subscribes these topics on the ROS 2 graph).
Because the definitions come straight from PX4, this package is the single source of truth that keeps a ROS 2 workspace ABI-compatible with a given PX4 firmware version.
Installation
From source (recommended today)
Clone the branch that matches your PX4 version (see Supported versions) into a colcon workspace and build:
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/PX4/px4_msgs.git
cd ~/ros2_ws
source /opt/ros/jazzy/setup.bash # or humble / kilted / rolling
colcon build --packages-select px4_msgs
See Using colcon to build packages and the PX4 ROS 2 User Guide for the full workflow.
From a binary (apt)
Once the package has completed its build-farm release it is installable as a Debian package:
sudo apt install ros-${ROS_DISTRO}-px4-msgs
You can also build a .deb locally — see Building Debian packages.
Usage
After sourcing the workspace, the generated interfaces are available like any other ROS 2 message package:
#include <px4_msgs/msg/vehicle_status.hpp>
// ...
sub_ = create_subscription<px4_msgs::msg::VehicleStatus>(
"/fmu/out/vehicle_status", rclcpp::QoS(10).best_effort(),
[](px4_msgs::msg::VehicleStatus::SharedPtr msg) { /* ... */ });
from px4_msgs.msg import VehicleStatus
Note: PX4 publishes with best-effort QoS; subscribers must use a compatible QoS profile (as above) or they will not receive any data. Topic names and directions (
/fmu/out/...,/fmu/in/...) are documented in the PX4 uXRCE-DDS topic list.
Package layout
px4_msgs/
├── msg/ # message definitions (*.msg), generated from PX4 uORB
├── srv/ # service definitions (*.srv)
├── CMakeLists.txt # globs msg/ and srv/ and calls rosidl_generate_interfaces
└── package.xml # ament_cmake, format 3, member of rosidl_interface_packages
Supported versions and compatibility
px4_msgs is a pure interface package, so the definitions build on any maintained ROS 2 distribution. What ties a checkout to a firmware is the PX4 release line, not the ROS 2 distribution: each PX4 release has its own branch and main tracks PX4 main. Pick the branch that matches the PX4 version you fly, then build it on whichever ROS 2 distribution you run.
PX4 release → px4_msgs branch
| PX4 release | px4_msgs branch |
|---|---|
main (in development) |
main |
| v1.17 | release/1.17 |
| v1.16 | release/1.16 |
| v1.15 | release/1.15 |
| v1.14 | release/1.14 |
| v1.13 | release/1.13 |
ROS 2 distribution → Ubuntu
The ROS 2 distribution fixes the Ubuntu version (REP 2000). CI builds main against every maintained distribution:
| ROS 2 distribution | Ubuntu | Type | Built in CI |
|---|---|---|---|
| Humble | 22.04 (Jammy) | LTS, until 2027 | yes, native runner |
| Jazzy | 24.04 (Noble) | LTS, until 2029 | yes, native runner |
File truncated at 100 lines see the full file
Changelog for package px4_msgs
The version numbers of this package track the corresponding PX4
Autopilot release line. The
message and service definitions are generated and synchronized
automatically from the uORB definitions in PX4-Autopilot, so the entries
below are produced from the tagged release history rather than by manual
edits (see scripts/generate_changelog.sh).
1.17.0 (2026-03-22)
- Synchronized with PX4 Autopilot 1.17.0.
- Added: BatteryInfo, DronecanNodeStatus, FixedWingLateralGuidanceStatus, FixedWingLateralSetpoint, FixedWingLateralStatus, FixedWingLongitudinalSetpoint, FixedWingRunwayControl, LateralControlConfiguration, LongitudinalControlConfiguration, NeuralControl, RoverSpeedSetpoint, RoverSpeedStatus, SensorGnssStatus.
- Removed: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, NpfgStatus, RoverVelocityStatus.
- Changed 44 message/service definition(s).
- Contributors: Beniamino Pozzan
1.16.2 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.1.
- Contributors: PX4 BuildBot
1.16.1 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.0.
- Contributors: PX4 BuildBot
1.16.0 (2025-08-07)
- Synchronized with PX4 Autopilot 1.16.0.
- Added: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, DistanceSensorModeChangeRequest, FuelTankStatus, InternalCombustionEngineControl, NavigatorStatus, OpenDroneIdArmStatus, OpenDroneIdOperatorId, OpenDroneIdSelfId, OpenDroneIdSystem, PurePursuitStatus, RoverAttitudeSetpoint, RoverAttitudeStatus, RoverPositionSetpoint, RoverRateSetpoint, RoverRateStatus, RoverSteeringSetpoint, RoverThrottleSetpoint, RoverVelocityStatus, TrajectorySetpoint6dof.
- Removed: Buffer128, CollisionReport, DifferentialDriveSetpoint, TrajectoryBezier, TrajectoryWaypoint, VehicleTrajectoryBezier, VehicleTrajectoryWaypoint.
- Changed 71 message/service definition(s).
- Contributors: Beniamino Pozzan, Claudio Chies, GuillaumeLaine, Mathieu David, PX4 BuildBot
1.15.4 (2025-03-20)
- PX4 point release; message and service definitions identical to 1.15.3.
- Contributors: PX4 BuildBot
1.15.3 (2025-03-20)
- Synchronized with PX4 Autopilot 1.15.3.
- Changed 3 message/service definition(s).
- Contributors: Beniamino Pozzan
1.15.2 (2024-10-06)
- PX4 point release; message and service definitions identical to 1.15.1.
- Contributors: PX4 BuildBot
1.15.1 (2024-10-06)
- Synchronized with PX4 Autopilot 1.15.1.
- Changed 1 message/service definition(s).
- Contributors: Beniamino Pozzan, PX4 BuildBot
1.15.0 (2024-06-17)
- Synchronized with PX4 Autopilot 1.15.0.
- Added: ArmingCheckReply, ArmingCheckRequest, Buffer128, CanInterfaceStatus, ConfigOverrides, DatamanRequest, DatamanResponse, DifferentialDriveSetpoint, FigureEightStatus, FlightPhaseEstimation, GeofenceStatus, GotoSetpoint, GpioConfig, GpioIn, GpioOut, GpioRequest, MessageFormatRequest, MessageFormatResponse, ParameterResetRequest, ParameterSetUsedRequest, ParameterSetValueRequest, ParameterSetValueResponse, RegisterExtComponentReply, RegisterExtComponentRequest, RtlStatus, SensorAirflow, UnregisterExtComponent, VehicleCommand, VelocityLimits, WheelEncoders.
- Changed 35 message/service definition(s).
- Contributors: Audrow Nash, Beniamino Pozzan, dependabot[bot], Federico Ciresola, PX4 BuildBot
1.14.0 (2023-11-11)
- Synchronized with PX4 Autopilot 1.14.0.
- Added: EstimatorAidSource1d, EstimatorAidSource2d, EstimatorAidSource3d, EstimatorBias3d, FailsafeFlags,
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| rosidl_default_generators | |
| rosidl_default_runtime | |
| ament_lint_auto | |
| ament_lint_common | |
| builtin_interfaces |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| as2_platform_pixhawk |
Launch files
Messages
- ActionRequest [Source]
- ActuatorArmed [Source]
- ActuatorControlsStatus [Source]
- ActuatorMotors [Source]
- ActuatorOutputs [Source]
- ActuatorServos [Source]
- ActuatorServosTrim [Source]
- ActuatorTest [Source]
- AdcReport [Source]
- Airspeed [Source]
- AirspeedValidated [Source]
- AirspeedWind [Source]
- ArmingCheckReply [Source]
- ArmingCheckRequest [Source]
- AutotuneAttitudeControlStatus [Source]
- AuxGlobalPosition [Source]
- BatteryInfo [Source]
- BatteryStatus [Source]
- ButtonEvent [Source]
- CameraCapture [Source]
- CameraStatus [Source]
- CameraTrigger [Source]
- CanInterfaceStatus [Source]
- CellularStatus [Source]
- CollisionConstraints [Source]
- ConfigOverrides [Source]
- ControlAllocatorStatus [Source]
- Cpuload [Source]
- DatamanRequest [Source]
- DatamanResponse [Source]
- DebugArray [Source]
- DebugKeyValue [Source]
- DebugValue [Source]
- DebugVect [Source]
- DeviceInformation [Source]
- DifferentialPressure [Source]
- DistanceSensor [Source]
- DistanceSensorModeChangeRequest [Source]
- DronecanNodeStatus [Source]
- Ekf2Timestamps [Source]
- EscEepromRead [Source]
- EscEepromWrite [Source]
- EscReport [Source]
- EscStatus [Source]
- EstimatorAidSource1d [Source]
- EstimatorAidSource2d [Source]
- EstimatorAidSource3d [Source]
- EstimatorBias [Source]
- EstimatorBias3d [Source]
- EstimatorEventFlags [Source]
- EstimatorFusionControl [Source]
- EstimatorGpsStatus [Source]
- EstimatorInnovations [Source]
- EstimatorSelectorStatus [Source]
- EstimatorSensorBias [Source]
- EstimatorStates [Source]
- EstimatorStatus [Source]
- EstimatorStatusFlags [Source]
- Event [Source]
- FailsafeFlags [Source]
- FailureDetectorStatus [Source]
- FiducialMarkerPosReport [Source]
- FiducialMarkerYawReport [Source]
- FigureEightStatus [Source]
- FixedWingLateralGuidanceStatus [Source]
- FixedWingLateralSetpoint [Source]
- FixedWingLateralStatus [Source]
- FixedWingLongitudinalSetpoint [Source]
- FixedWingRunwayControl [Source]
- FlightPhaseEstimation [Source]
- FollowTarget [Source]
- FollowTargetEstimator [Source]
- FollowTargetStatus [Source]
- FuelTankStatus [Source]
- GainCompression [Source]
- GeneratorStatus [Source]
- GeofenceResult [Source]
- GeofenceStatus [Source]
- GimbalControls [Source]
- GimbalDeviceAttitudeStatus [Source]
- GimbalDeviceInformation [Source]
- GimbalDeviceSetAttitude [Source]
- GimbalManagerInformation [Source]
- GimbalManagerSetAttitude [Source]
- GimbalManagerSetManualControl [Source]
- GimbalManagerStatus [Source]
- GotoSetpoint [Source]
- GpioConfig [Source]
- GpioIn [Source]
- GpioOut [Source]
- GpioRequest [Source]
- GpsDump [Source]
- GpsInjectData [Source]
- Gripper [Source]
- HealthReport [Source]
- HeaterStatus [Source]
- HomePosition [Source]
- HoverThrustEstimate [Source]
- InputRc [Source]
- InternalCombustionEngineControl [Source]
- InternalCombustionEngineStatus [Source]
- IridiumsbdStatus [Source]
- IrlockReport [Source]
- LandingGear [Source]
- LandingGearWheel [Source]
- LandingTargetInnovations [Source]
- LandingTargetPose [Source]
- LateralControlConfiguration [Source]
- LaunchDetectionStatus [Source]
- LedControl [Source]
- LogMessage [Source]
- LoggerStatus [Source]
- LongitudinalControlConfiguration [Source]
- MagWorkerData [Source]
- MagnetometerBiasEstimate [Source]
- ManualControlSetpoint [Source]
- ManualControlSwitches [Source]
- MavlinkLog [Source]
- MavlinkTunnel [Source]
- MessageFormatRequest [Source]
- MessageFormatResponse [Source]
- Mission [Source]
- MissionResult [Source]
- ModeCompleted [Source]
- MountOrientation [Source]
- NavigatorMissionItem [Source]
- NavigatorStatus [Source]
- NeuralControl [Source]
- NormalizedUnsignedSetpoint [Source]
- ObstacleDistance [Source]
- OffboardControlMode [Source]
- OnboardComputerStatus [Source]
- OpenDroneIdArmStatus [Source]
- OpenDroneIdBasicId [Source]
- OpenDroneIdOperatorId [Source]
- OpenDroneIdSelfId [Source]
- OpenDroneIdSystem [Source]
- OrbTest [Source]
- OrbTestLarge [Source]
- OrbTestMedium [Source]
- OrbitStatus [Source]
- ParameterResetRequest [Source]
- ParameterSetUsedRequest [Source]
- ParameterSetValueRequest [Source]
- ParameterSetValueResponse [Source]
- ParameterUpdate [Source]
- Ping [Source]
- PositionControllerLandingStatus [Source]
- PositionControllerStatus [Source]
- PositionSetpoint [Source]
- PositionSetpointTriplet [Source]
- PowerButtonState [Source]
- PowerMonitor [Source]
- PpsCapture [Source]
- PrecLandStatus [Source]
- PurePursuitStatus [Source]
- PwmInput [Source]
- Px4ioStatus [Source]
- QshellReq [Source]
- QshellRetval [Source]
- RadioStatus [Source]
- RangingBeacon [Source]
- RaptorInput [Source]
- RaptorStatus [Source]
- RateCtrlStatus [Source]
- RcChannels [Source]
- RcParameterMap [Source]
- RegisterExtComponentReply [Source]
- RegisterExtComponentRequest [Source]
- RoverAttitudeSetpoint [Source]
- RoverAttitudeStatus [Source]
- RoverPositionSetpoint [Source]
- RoverRateSetpoint [Source]
- RoverRateStatus [Source]
- RoverSpeedSetpoint [Source]
- RoverSpeedStatus [Source]
- RoverSteeringSetpoint [Source]
- RoverThrottleSetpoint [Source]
- Rpm [Source]
- RtlStatus [Source]
- RtlTimeEstimate [Source]
- SatelliteInfo [Source]
- SensorAccel [Source]
- SensorAccelFifo [Source]
- SensorAirflow [Source]
- SensorBaro [Source]
- SensorCombined [Source]
- SensorCorrection [Source]
- SensorGnssRelative [Source]
- SensorGnssStatus [Source]
- SensorGps [Source]
- SensorGyro [Source]
- SensorGyroFft [Source]
- SensorGyroFifo [Source]
- SensorHygrometer [Source]
- SensorMag [Source]
- SensorOpticalFlow [Source]
- SensorPreflightMag [Source]
- SensorSelection [Source]
- SensorTemp [Source]
- SensorUwb [Source]
- SensorsStatus [Source]
- SensorsStatusImu [Source]
- SystemPower [Source]
- TakeoffStatus [Source]
- TargetGnss [Source]
- TaskStackInfo [Source]
- TecsStatus [Source]
- TelemetryStatus [Source]
- TiltrotorExtraControls [Source]
- TimesyncStatus [Source]
- TrajectorySetpoint [Source]
- TrajectorySetpoint6dof [Source]
- TransponderReport [Source]
- TuneControl [Source]
- UavcanParameterRequest [Source]
- UavcanParameterValue [Source]
- UlogStream [Source]
- UlogStreamAck [Source]
- UnregisterExtComponent [Source]
- VehicleAcceleration [Source]
- VehicleAirData [Source]
- VehicleAngularAccelerationSetpoint [Source]
- VehicleAngularVelocity [Source]
- VehicleAttitude [Source]
- VehicleAttitudeSetpoint [Source]
- VehicleCommand [Source]
- VehicleCommandAck [Source]
- VehicleConstraints [Source]
- VehicleControlMode [Source]
- VehicleGlobalPosition [Source]
- VehicleImu [Source]
- VehicleImuStatus [Source]
- VehicleLandDetected [Source]
- VehicleLocalPosition [Source]
- VehicleLocalPositionSetpoint [Source]
- VehicleMagnetometer [Source]
- VehicleOdometry [Source]
- VehicleOpticalFlow [Source]
- VehicleOpticalFlowVel [Source]
- VehicleRatesSetpoint [Source]
- VehicleRoi [Source]
- VehicleStatus [Source]
- VehicleThrustSetpoint [Source]
- VehicleTorqueSetpoint [Source]
- VelocityLimits [Source]
- VteAidSource1d [Source]
- VteAidSource3d [Source]
- VteBiasInitStatus [Source]
- VteInput [Source]
- VteOrientation [Source]
- VtePosition [Source]
- VtolVehicleStatus [Source]
- Vtx [Source]
- WheelEncoders [Source]
- Wind [Source]
- YawEstimatorStatus [Source]
Services
Plugins
Recent questions tagged px4_msgs at Robotics Stack Exchange
Package Summary
| Version | 1.17.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/PX4/px4_msgs.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-12 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Nuno Marques
- Beniamino Pozzan
- Ramon Roche
Authors
- Nuno Marques
px4_msgs
ROS 2 message and service definitions for the PX4 Autopilot.
Overview
px4_msgs is a ROS 2 interface package: it contains only .msg and .srv definitions and the build rules that turn them into the C++/Python interfaces used by ROS 2 applications. The definitions mirror PX4’s internal uORB topics, so that a ROS 2 node can exchange them with the autopilot over the uXRCE-DDS bridge (the uxrce_dds_client running on PX4 talks to the MicroXRCEAgent running on the companion side, which publishes/subscribes these topics on the ROS 2 graph).
Because the definitions come straight from PX4, this package is the single source of truth that keeps a ROS 2 workspace ABI-compatible with a given PX4 firmware version.
Installation
From source (recommended today)
Clone the branch that matches your PX4 version (see Supported versions) into a colcon workspace and build:
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/PX4/px4_msgs.git
cd ~/ros2_ws
source /opt/ros/jazzy/setup.bash # or humble / kilted / rolling
colcon build --packages-select px4_msgs
See Using colcon to build packages and the PX4 ROS 2 User Guide for the full workflow.
From a binary (apt)
Once the package has completed its build-farm release it is installable as a Debian package:
sudo apt install ros-${ROS_DISTRO}-px4-msgs
You can also build a .deb locally — see Building Debian packages.
Usage
After sourcing the workspace, the generated interfaces are available like any other ROS 2 message package:
#include <px4_msgs/msg/vehicle_status.hpp>
// ...
sub_ = create_subscription<px4_msgs::msg::VehicleStatus>(
"/fmu/out/vehicle_status", rclcpp::QoS(10).best_effort(),
[](px4_msgs::msg::VehicleStatus::SharedPtr msg) { /* ... */ });
from px4_msgs.msg import VehicleStatus
Note: PX4 publishes with best-effort QoS; subscribers must use a compatible QoS profile (as above) or they will not receive any data. Topic names and directions (
/fmu/out/...,/fmu/in/...) are documented in the PX4 uXRCE-DDS topic list.
Package layout
px4_msgs/
├── msg/ # message definitions (*.msg), generated from PX4 uORB
├── srv/ # service definitions (*.srv)
├── CMakeLists.txt # globs msg/ and srv/ and calls rosidl_generate_interfaces
└── package.xml # ament_cmake, format 3, member of rosidl_interface_packages
Supported versions and compatibility
px4_msgs is a pure interface package, so the definitions build on any maintained ROS 2 distribution. What ties a checkout to a firmware is the PX4 release line, not the ROS 2 distribution: each PX4 release has its own branch and main tracks PX4 main. Pick the branch that matches the PX4 version you fly, then build it on whichever ROS 2 distribution you run.
PX4 release → px4_msgs branch
| PX4 release | px4_msgs branch |
|---|---|
main (in development) |
main |
| v1.17 | release/1.17 |
| v1.16 | release/1.16 |
| v1.15 | release/1.15 |
| v1.14 | release/1.14 |
| v1.13 | release/1.13 |
ROS 2 distribution → Ubuntu
The ROS 2 distribution fixes the Ubuntu version (REP 2000). CI builds main against every maintained distribution:
| ROS 2 distribution | Ubuntu | Type | Built in CI |
|---|---|---|---|
| Humble | 22.04 (Jammy) | LTS, until 2027 | yes, native runner |
| Jazzy | 24.04 (Noble) | LTS, until 2029 | yes, native runner |
File truncated at 100 lines see the full file
Changelog for package px4_msgs
The version numbers of this package track the corresponding PX4
Autopilot release line. The
message and service definitions are generated and synchronized
automatically from the uORB definitions in PX4-Autopilot, so the entries
below are produced from the tagged release history rather than by manual
edits (see scripts/generate_changelog.sh).
1.17.0 (2026-03-22)
- Synchronized with PX4 Autopilot 1.17.0.
- Added: BatteryInfo, DronecanNodeStatus, FixedWingLateralGuidanceStatus, FixedWingLateralSetpoint, FixedWingLateralStatus, FixedWingLongitudinalSetpoint, FixedWingRunwayControl, LateralControlConfiguration, LongitudinalControlConfiguration, NeuralControl, RoverSpeedSetpoint, RoverSpeedStatus, SensorGnssStatus.
- Removed: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, NpfgStatus, RoverVelocityStatus.
- Changed 44 message/service definition(s).
- Contributors: Beniamino Pozzan
1.16.2 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.1.
- Contributors: PX4 BuildBot
1.16.1 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.0.
- Contributors: PX4 BuildBot
1.16.0 (2025-08-07)
- Synchronized with PX4 Autopilot 1.16.0.
- Added: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, DistanceSensorModeChangeRequest, FuelTankStatus, InternalCombustionEngineControl, NavigatorStatus, OpenDroneIdArmStatus, OpenDroneIdOperatorId, OpenDroneIdSelfId, OpenDroneIdSystem, PurePursuitStatus, RoverAttitudeSetpoint, RoverAttitudeStatus, RoverPositionSetpoint, RoverRateSetpoint, RoverRateStatus, RoverSteeringSetpoint, RoverThrottleSetpoint, RoverVelocityStatus, TrajectorySetpoint6dof.
- Removed: Buffer128, CollisionReport, DifferentialDriveSetpoint, TrajectoryBezier, TrajectoryWaypoint, VehicleTrajectoryBezier, VehicleTrajectoryWaypoint.
- Changed 71 message/service definition(s).
- Contributors: Beniamino Pozzan, Claudio Chies, GuillaumeLaine, Mathieu David, PX4 BuildBot
1.15.4 (2025-03-20)
- PX4 point release; message and service definitions identical to 1.15.3.
- Contributors: PX4 BuildBot
1.15.3 (2025-03-20)
- Synchronized with PX4 Autopilot 1.15.3.
- Changed 3 message/service definition(s).
- Contributors: Beniamino Pozzan
1.15.2 (2024-10-06)
- PX4 point release; message and service definitions identical to 1.15.1.
- Contributors: PX4 BuildBot
1.15.1 (2024-10-06)
- Synchronized with PX4 Autopilot 1.15.1.
- Changed 1 message/service definition(s).
- Contributors: Beniamino Pozzan, PX4 BuildBot
1.15.0 (2024-06-17)
- Synchronized with PX4 Autopilot 1.15.0.
- Added: ArmingCheckReply, ArmingCheckRequest, Buffer128, CanInterfaceStatus, ConfigOverrides, DatamanRequest, DatamanResponse, DifferentialDriveSetpoint, FigureEightStatus, FlightPhaseEstimation, GeofenceStatus, GotoSetpoint, GpioConfig, GpioIn, GpioOut, GpioRequest, MessageFormatRequest, MessageFormatResponse, ParameterResetRequest, ParameterSetUsedRequest, ParameterSetValueRequest, ParameterSetValueResponse, RegisterExtComponentReply, RegisterExtComponentRequest, RtlStatus, SensorAirflow, UnregisterExtComponent, VehicleCommand, VelocityLimits, WheelEncoders.
- Changed 35 message/service definition(s).
- Contributors: Audrow Nash, Beniamino Pozzan, dependabot[bot], Federico Ciresola, PX4 BuildBot
1.14.0 (2023-11-11)
- Synchronized with PX4 Autopilot 1.14.0.
- Added: EstimatorAidSource1d, EstimatorAidSource2d, EstimatorAidSource3d, EstimatorBias3d, FailsafeFlags,
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| rosidl_default_generators | |
| rosidl_default_runtime | |
| ament_lint_auto | |
| ament_lint_common | |
| builtin_interfaces |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| as2_platform_pixhawk |
Launch files
Messages
- ActionRequest [Source]
- ActuatorArmed [Source]
- ActuatorControlsStatus [Source]
- ActuatorMotors [Source]
- ActuatorOutputs [Source]
- ActuatorServos [Source]
- ActuatorServosTrim [Source]
- ActuatorTest [Source]
- AdcReport [Source]
- Airspeed [Source]
- AirspeedValidated [Source]
- AirspeedWind [Source]
- ArmingCheckReply [Source]
- ArmingCheckRequest [Source]
- AutotuneAttitudeControlStatus [Source]
- AuxGlobalPosition [Source]
- BatteryInfo [Source]
- BatteryStatus [Source]
- ButtonEvent [Source]
- CameraCapture [Source]
- CameraStatus [Source]
- CameraTrigger [Source]
- CanInterfaceStatus [Source]
- CellularStatus [Source]
- CollisionConstraints [Source]
- ConfigOverrides [Source]
- ControlAllocatorStatus [Source]
- Cpuload [Source]
- DatamanRequest [Source]
- DatamanResponse [Source]
- DebugArray [Source]
- DebugKeyValue [Source]
- DebugValue [Source]
- DebugVect [Source]
- DeviceInformation [Source]
- DifferentialPressure [Source]
- DistanceSensor [Source]
- DistanceSensorModeChangeRequest [Source]
- DronecanNodeStatus [Source]
- Ekf2Timestamps [Source]
- EscEepromRead [Source]
- EscEepromWrite [Source]
- EscReport [Source]
- EscStatus [Source]
- EstimatorAidSource1d [Source]
- EstimatorAidSource2d [Source]
- EstimatorAidSource3d [Source]
- EstimatorBias [Source]
- EstimatorBias3d [Source]
- EstimatorEventFlags [Source]
- EstimatorFusionControl [Source]
- EstimatorGpsStatus [Source]
- EstimatorInnovations [Source]
- EstimatorSelectorStatus [Source]
- EstimatorSensorBias [Source]
- EstimatorStates [Source]
- EstimatorStatus [Source]
- EstimatorStatusFlags [Source]
- Event [Source]
- FailsafeFlags [Source]
- FailureDetectorStatus [Source]
- FiducialMarkerPosReport [Source]
- FiducialMarkerYawReport [Source]
- FigureEightStatus [Source]
- FixedWingLateralGuidanceStatus [Source]
- FixedWingLateralSetpoint [Source]
- FixedWingLateralStatus [Source]
- FixedWingLongitudinalSetpoint [Source]
- FixedWingRunwayControl [Source]
- FlightPhaseEstimation [Source]
- FollowTarget [Source]
- FollowTargetEstimator [Source]
- FollowTargetStatus [Source]
- FuelTankStatus [Source]
- GainCompression [Source]
- GeneratorStatus [Source]
- GeofenceResult [Source]
- GeofenceStatus [Source]
- GimbalControls [Source]
- GimbalDeviceAttitudeStatus [Source]
- GimbalDeviceInformation [Source]
- GimbalDeviceSetAttitude [Source]
- GimbalManagerInformation [Source]
- GimbalManagerSetAttitude [Source]
- GimbalManagerSetManualControl [Source]
- GimbalManagerStatus [Source]
- GotoSetpoint [Source]
- GpioConfig [Source]
- GpioIn [Source]
- GpioOut [Source]
- GpioRequest [Source]
- GpsDump [Source]
- GpsInjectData [Source]
- Gripper [Source]
- HealthReport [Source]
- HeaterStatus [Source]
- HomePosition [Source]
- HoverThrustEstimate [Source]
- InputRc [Source]
- InternalCombustionEngineControl [Source]
- InternalCombustionEngineStatus [Source]
- IridiumsbdStatus [Source]
- IrlockReport [Source]
- LandingGear [Source]
- LandingGearWheel [Source]
- LandingTargetInnovations [Source]
- LandingTargetPose [Source]
- LateralControlConfiguration [Source]
- LaunchDetectionStatus [Source]
- LedControl [Source]
- LogMessage [Source]
- LoggerStatus [Source]
- LongitudinalControlConfiguration [Source]
- MagWorkerData [Source]
- MagnetometerBiasEstimate [Source]
- ManualControlSetpoint [Source]
- ManualControlSwitches [Source]
- MavlinkLog [Source]
- MavlinkTunnel [Source]
- MessageFormatRequest [Source]
- MessageFormatResponse [Source]
- Mission [Source]
- MissionResult [Source]
- ModeCompleted [Source]
- MountOrientation [Source]
- NavigatorMissionItem [Source]
- NavigatorStatus [Source]
- NeuralControl [Source]
- NormalizedUnsignedSetpoint [Source]
- ObstacleDistance [Source]
- OffboardControlMode [Source]
- OnboardComputerStatus [Source]
- OpenDroneIdArmStatus [Source]
- OpenDroneIdBasicId [Source]
- OpenDroneIdOperatorId [Source]
- OpenDroneIdSelfId [Source]
- OpenDroneIdSystem [Source]
- OrbTest [Source]
- OrbTestLarge [Source]
- OrbTestMedium [Source]
- OrbitStatus [Source]
- ParameterResetRequest [Source]
- ParameterSetUsedRequest [Source]
- ParameterSetValueRequest [Source]
- ParameterSetValueResponse [Source]
- ParameterUpdate [Source]
- Ping [Source]
- PositionControllerLandingStatus [Source]
- PositionControllerStatus [Source]
- PositionSetpoint [Source]
- PositionSetpointTriplet [Source]
- PowerButtonState [Source]
- PowerMonitor [Source]
- PpsCapture [Source]
- PrecLandStatus [Source]
- PurePursuitStatus [Source]
- PwmInput [Source]
- Px4ioStatus [Source]
- QshellReq [Source]
- QshellRetval [Source]
- RadioStatus [Source]
- RangingBeacon [Source]
- RaptorInput [Source]
- RaptorStatus [Source]
- RateCtrlStatus [Source]
- RcChannels [Source]
- RcParameterMap [Source]
- RegisterExtComponentReply [Source]
- RegisterExtComponentRequest [Source]
- RoverAttitudeSetpoint [Source]
- RoverAttitudeStatus [Source]
- RoverPositionSetpoint [Source]
- RoverRateSetpoint [Source]
- RoverRateStatus [Source]
- RoverSpeedSetpoint [Source]
- RoverSpeedStatus [Source]
- RoverSteeringSetpoint [Source]
- RoverThrottleSetpoint [Source]
- Rpm [Source]
- RtlStatus [Source]
- RtlTimeEstimate [Source]
- SatelliteInfo [Source]
- SensorAccel [Source]
- SensorAccelFifo [Source]
- SensorAirflow [Source]
- SensorBaro [Source]
- SensorCombined [Source]
- SensorCorrection [Source]
- SensorGnssRelative [Source]
- SensorGnssStatus [Source]
- SensorGps [Source]
- SensorGyro [Source]
- SensorGyroFft [Source]
- SensorGyroFifo [Source]
- SensorHygrometer [Source]
- SensorMag [Source]
- SensorOpticalFlow [Source]
- SensorPreflightMag [Source]
- SensorSelection [Source]
- SensorTemp [Source]
- SensorUwb [Source]
- SensorsStatus [Source]
- SensorsStatusImu [Source]
- SystemPower [Source]
- TakeoffStatus [Source]
- TargetGnss [Source]
- TaskStackInfo [Source]
- TecsStatus [Source]
- TelemetryStatus [Source]
- TiltrotorExtraControls [Source]
- TimesyncStatus [Source]
- TrajectorySetpoint [Source]
- TrajectorySetpoint6dof [Source]
- TransponderReport [Source]
- TuneControl [Source]
- UavcanParameterRequest [Source]
- UavcanParameterValue [Source]
- UlogStream [Source]
- UlogStreamAck [Source]
- UnregisterExtComponent [Source]
- VehicleAcceleration [Source]
- VehicleAirData [Source]
- VehicleAngularAccelerationSetpoint [Source]
- VehicleAngularVelocity [Source]
- VehicleAttitude [Source]
- VehicleAttitudeSetpoint [Source]
- VehicleCommand [Source]
- VehicleCommandAck [Source]
- VehicleConstraints [Source]
- VehicleControlMode [Source]
- VehicleGlobalPosition [Source]
- VehicleImu [Source]
- VehicleImuStatus [Source]
- VehicleLandDetected [Source]
- VehicleLocalPosition [Source]
- VehicleLocalPositionSetpoint [Source]
- VehicleMagnetometer [Source]
- VehicleOdometry [Source]
- VehicleOpticalFlow [Source]
- VehicleOpticalFlowVel [Source]
- VehicleRatesSetpoint [Source]
- VehicleRoi [Source]
- VehicleStatus [Source]
- VehicleThrustSetpoint [Source]
- VehicleTorqueSetpoint [Source]
- VelocityLimits [Source]
- VteAidSource1d [Source]
- VteAidSource3d [Source]
- VteBiasInitStatus [Source]
- VteInput [Source]
- VteOrientation [Source]
- VtePosition [Source]
- VtolVehicleStatus [Source]
- Vtx [Source]
- WheelEncoders [Source]
- Wind [Source]
- YawEstimatorStatus [Source]
Services
Plugins
Recent questions tagged px4_msgs at Robotics Stack Exchange
Package Summary
| Version | 1.17.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/PX4/px4_msgs.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-12 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Nuno Marques
- Beniamino Pozzan
- Ramon Roche
Authors
- Nuno Marques
px4_msgs
ROS 2 message and service definitions for the PX4 Autopilot.
Overview
px4_msgs is a ROS 2 interface package: it contains only .msg and .srv definitions and the build rules that turn them into the C++/Python interfaces used by ROS 2 applications. The definitions mirror PX4’s internal uORB topics, so that a ROS 2 node can exchange them with the autopilot over the uXRCE-DDS bridge (the uxrce_dds_client running on PX4 talks to the MicroXRCEAgent running on the companion side, which publishes/subscribes these topics on the ROS 2 graph).
Because the definitions come straight from PX4, this package is the single source of truth that keeps a ROS 2 workspace ABI-compatible with a given PX4 firmware version.
Installation
From source (recommended today)
Clone the branch that matches your PX4 version (see Supported versions) into a colcon workspace and build:
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/PX4/px4_msgs.git
cd ~/ros2_ws
source /opt/ros/jazzy/setup.bash # or humble / kilted / rolling
colcon build --packages-select px4_msgs
See Using colcon to build packages and the PX4 ROS 2 User Guide for the full workflow.
From a binary (apt)
Once the package has completed its build-farm release it is installable as a Debian package:
sudo apt install ros-${ROS_DISTRO}-px4-msgs
You can also build a .deb locally — see Building Debian packages.
Usage
After sourcing the workspace, the generated interfaces are available like any other ROS 2 message package:
#include <px4_msgs/msg/vehicle_status.hpp>
// ...
sub_ = create_subscription<px4_msgs::msg::VehicleStatus>(
"/fmu/out/vehicle_status", rclcpp::QoS(10).best_effort(),
[](px4_msgs::msg::VehicleStatus::SharedPtr msg) { /* ... */ });
from px4_msgs.msg import VehicleStatus
Note: PX4 publishes with best-effort QoS; subscribers must use a compatible QoS profile (as above) or they will not receive any data. Topic names and directions (
/fmu/out/...,/fmu/in/...) are documented in the PX4 uXRCE-DDS topic list.
Package layout
px4_msgs/
├── msg/ # message definitions (*.msg), generated from PX4 uORB
├── srv/ # service definitions (*.srv)
├── CMakeLists.txt # globs msg/ and srv/ and calls rosidl_generate_interfaces
└── package.xml # ament_cmake, format 3, member of rosidl_interface_packages
Supported versions and compatibility
px4_msgs is a pure interface package, so the definitions build on any maintained ROS 2 distribution. What ties a checkout to a firmware is the PX4 release line, not the ROS 2 distribution: each PX4 release has its own branch and main tracks PX4 main. Pick the branch that matches the PX4 version you fly, then build it on whichever ROS 2 distribution you run.
PX4 release → px4_msgs branch
| PX4 release | px4_msgs branch |
|---|---|
main (in development) |
main |
| v1.17 | release/1.17 |
| v1.16 | release/1.16 |
| v1.15 | release/1.15 |
| v1.14 | release/1.14 |
| v1.13 | release/1.13 |
ROS 2 distribution → Ubuntu
The ROS 2 distribution fixes the Ubuntu version (REP 2000). CI builds main against every maintained distribution:
| ROS 2 distribution | Ubuntu | Type | Built in CI |
|---|---|---|---|
| Humble | 22.04 (Jammy) | LTS, until 2027 | yes, native runner |
| Jazzy | 24.04 (Noble) | LTS, until 2029 | yes, native runner |
File truncated at 100 lines see the full file
Changelog for package px4_msgs
The version numbers of this package track the corresponding PX4
Autopilot release line. The
message and service definitions are generated and synchronized
automatically from the uORB definitions in PX4-Autopilot, so the entries
below are produced from the tagged release history rather than by manual
edits (see scripts/generate_changelog.sh).
1.17.0 (2026-03-22)
- Synchronized with PX4 Autopilot 1.17.0.
- Added: BatteryInfo, DronecanNodeStatus, FixedWingLateralGuidanceStatus, FixedWingLateralSetpoint, FixedWingLateralStatus, FixedWingLongitudinalSetpoint, FixedWingRunwayControl, LateralControlConfiguration, LongitudinalControlConfiguration, NeuralControl, RoverSpeedSetpoint, RoverSpeedStatus, SensorGnssStatus.
- Removed: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, NpfgStatus, RoverVelocityStatus.
- Changed 44 message/service definition(s).
- Contributors: Beniamino Pozzan
1.16.2 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.1.
- Contributors: PX4 BuildBot
1.16.1 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.0.
- Contributors: PX4 BuildBot
1.16.0 (2025-08-07)
- Synchronized with PX4 Autopilot 1.16.0.
- Added: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, DistanceSensorModeChangeRequest, FuelTankStatus, InternalCombustionEngineControl, NavigatorStatus, OpenDroneIdArmStatus, OpenDroneIdOperatorId, OpenDroneIdSelfId, OpenDroneIdSystem, PurePursuitStatus, RoverAttitudeSetpoint, RoverAttitudeStatus, RoverPositionSetpoint, RoverRateSetpoint, RoverRateStatus, RoverSteeringSetpoint, RoverThrottleSetpoint, RoverVelocityStatus, TrajectorySetpoint6dof.
- Removed: Buffer128, CollisionReport, DifferentialDriveSetpoint, TrajectoryBezier, TrajectoryWaypoint, VehicleTrajectoryBezier, VehicleTrajectoryWaypoint.
- Changed 71 message/service definition(s).
- Contributors: Beniamino Pozzan, Claudio Chies, GuillaumeLaine, Mathieu David, PX4 BuildBot
1.15.4 (2025-03-20)
- PX4 point release; message and service definitions identical to 1.15.3.
- Contributors: PX4 BuildBot
1.15.3 (2025-03-20)
- Synchronized with PX4 Autopilot 1.15.3.
- Changed 3 message/service definition(s).
- Contributors: Beniamino Pozzan
1.15.2 (2024-10-06)
- PX4 point release; message and service definitions identical to 1.15.1.
- Contributors: PX4 BuildBot
1.15.1 (2024-10-06)
- Synchronized with PX4 Autopilot 1.15.1.
- Changed 1 message/service definition(s).
- Contributors: Beniamino Pozzan, PX4 BuildBot
1.15.0 (2024-06-17)
- Synchronized with PX4 Autopilot 1.15.0.
- Added: ArmingCheckReply, ArmingCheckRequest, Buffer128, CanInterfaceStatus, ConfigOverrides, DatamanRequest, DatamanResponse, DifferentialDriveSetpoint, FigureEightStatus, FlightPhaseEstimation, GeofenceStatus, GotoSetpoint, GpioConfig, GpioIn, GpioOut, GpioRequest, MessageFormatRequest, MessageFormatResponse, ParameterResetRequest, ParameterSetUsedRequest, ParameterSetValueRequest, ParameterSetValueResponse, RegisterExtComponentReply, RegisterExtComponentRequest, RtlStatus, SensorAirflow, UnregisterExtComponent, VehicleCommand, VelocityLimits, WheelEncoders.
- Changed 35 message/service definition(s).
- Contributors: Audrow Nash, Beniamino Pozzan, dependabot[bot], Federico Ciresola, PX4 BuildBot
1.14.0 (2023-11-11)
- Synchronized with PX4 Autopilot 1.14.0.
- Added: EstimatorAidSource1d, EstimatorAidSource2d, EstimatorAidSource3d, EstimatorBias3d, FailsafeFlags,
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| rosidl_default_generators | |
| rosidl_default_runtime | |
| ament_lint_auto | |
| ament_lint_common | |
| builtin_interfaces |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| as2_platform_pixhawk |
Launch files
Messages
- ActionRequest [Source]
- ActuatorArmed [Source]
- ActuatorControlsStatus [Source]
- ActuatorMotors [Source]
- ActuatorOutputs [Source]
- ActuatorServos [Source]
- ActuatorServosTrim [Source]
- ActuatorTest [Source]
- AdcReport [Source]
- Airspeed [Source]
- AirspeedValidated [Source]
- AirspeedWind [Source]
- ArmingCheckReply [Source]
- ArmingCheckRequest [Source]
- AutotuneAttitudeControlStatus [Source]
- AuxGlobalPosition [Source]
- BatteryInfo [Source]
- BatteryStatus [Source]
- ButtonEvent [Source]
- CameraCapture [Source]
- CameraStatus [Source]
- CameraTrigger [Source]
- CanInterfaceStatus [Source]
- CellularStatus [Source]
- CollisionConstraints [Source]
- ConfigOverrides [Source]
- ControlAllocatorStatus [Source]
- Cpuload [Source]
- DatamanRequest [Source]
- DatamanResponse [Source]
- DebugArray [Source]
- DebugKeyValue [Source]
- DebugValue [Source]
- DebugVect [Source]
- DeviceInformation [Source]
- DifferentialPressure [Source]
- DistanceSensor [Source]
- DistanceSensorModeChangeRequest [Source]
- DronecanNodeStatus [Source]
- Ekf2Timestamps [Source]
- EscEepromRead [Source]
- EscEepromWrite [Source]
- EscReport [Source]
- EscStatus [Source]
- EstimatorAidSource1d [Source]
- EstimatorAidSource2d [Source]
- EstimatorAidSource3d [Source]
- EstimatorBias [Source]
- EstimatorBias3d [Source]
- EstimatorEventFlags [Source]
- EstimatorFusionControl [Source]
- EstimatorGpsStatus [Source]
- EstimatorInnovations [Source]
- EstimatorSelectorStatus [Source]
- EstimatorSensorBias [Source]
- EstimatorStates [Source]
- EstimatorStatus [Source]
- EstimatorStatusFlags [Source]
- Event [Source]
- FailsafeFlags [Source]
- FailureDetectorStatus [Source]
- FiducialMarkerPosReport [Source]
- FiducialMarkerYawReport [Source]
- FigureEightStatus [Source]
- FixedWingLateralGuidanceStatus [Source]
- FixedWingLateralSetpoint [Source]
- FixedWingLateralStatus [Source]
- FixedWingLongitudinalSetpoint [Source]
- FixedWingRunwayControl [Source]
- FlightPhaseEstimation [Source]
- FollowTarget [Source]
- FollowTargetEstimator [Source]
- FollowTargetStatus [Source]
- FuelTankStatus [Source]
- GainCompression [Source]
- GeneratorStatus [Source]
- GeofenceResult [Source]
- GeofenceStatus [Source]
- GimbalControls [Source]
- GimbalDeviceAttitudeStatus [Source]
- GimbalDeviceInformation [Source]
- GimbalDeviceSetAttitude [Source]
- GimbalManagerInformation [Source]
- GimbalManagerSetAttitude [Source]
- GimbalManagerSetManualControl [Source]
- GimbalManagerStatus [Source]
- GotoSetpoint [Source]
- GpioConfig [Source]
- GpioIn [Source]
- GpioOut [Source]
- GpioRequest [Source]
- GpsDump [Source]
- GpsInjectData [Source]
- Gripper [Source]
- HealthReport [Source]
- HeaterStatus [Source]
- HomePosition [Source]
- HoverThrustEstimate [Source]
- InputRc [Source]
- InternalCombustionEngineControl [Source]
- InternalCombustionEngineStatus [Source]
- IridiumsbdStatus [Source]
- IrlockReport [Source]
- LandingGear [Source]
- LandingGearWheel [Source]
- LandingTargetInnovations [Source]
- LandingTargetPose [Source]
- LateralControlConfiguration [Source]
- LaunchDetectionStatus [Source]
- LedControl [Source]
- LogMessage [Source]
- LoggerStatus [Source]
- LongitudinalControlConfiguration [Source]
- MagWorkerData [Source]
- MagnetometerBiasEstimate [Source]
- ManualControlSetpoint [Source]
- ManualControlSwitches [Source]
- MavlinkLog [Source]
- MavlinkTunnel [Source]
- MessageFormatRequest [Source]
- MessageFormatResponse [Source]
- Mission [Source]
- MissionResult [Source]
- ModeCompleted [Source]
- MountOrientation [Source]
- NavigatorMissionItem [Source]
- NavigatorStatus [Source]
- NeuralControl [Source]
- NormalizedUnsignedSetpoint [Source]
- ObstacleDistance [Source]
- OffboardControlMode [Source]
- OnboardComputerStatus [Source]
- OpenDroneIdArmStatus [Source]
- OpenDroneIdBasicId [Source]
- OpenDroneIdOperatorId [Source]
- OpenDroneIdSelfId [Source]
- OpenDroneIdSystem [Source]
- OrbTest [Source]
- OrbTestLarge [Source]
- OrbTestMedium [Source]
- OrbitStatus [Source]
- ParameterResetRequest [Source]
- ParameterSetUsedRequest [Source]
- ParameterSetValueRequest [Source]
- ParameterSetValueResponse [Source]
- ParameterUpdate [Source]
- Ping [Source]
- PositionControllerLandingStatus [Source]
- PositionControllerStatus [Source]
- PositionSetpoint [Source]
- PositionSetpointTriplet [Source]
- PowerButtonState [Source]
- PowerMonitor [Source]
- PpsCapture [Source]
- PrecLandStatus [Source]
- PurePursuitStatus [Source]
- PwmInput [Source]
- Px4ioStatus [Source]
- QshellReq [Source]
- QshellRetval [Source]
- RadioStatus [Source]
- RangingBeacon [Source]
- RaptorInput [Source]
- RaptorStatus [Source]
- RateCtrlStatus [Source]
- RcChannels [Source]
- RcParameterMap [Source]
- RegisterExtComponentReply [Source]
- RegisterExtComponentRequest [Source]
- RoverAttitudeSetpoint [Source]
- RoverAttitudeStatus [Source]
- RoverPositionSetpoint [Source]
- RoverRateSetpoint [Source]
- RoverRateStatus [Source]
- RoverSpeedSetpoint [Source]
- RoverSpeedStatus [Source]
- RoverSteeringSetpoint [Source]
- RoverThrottleSetpoint [Source]
- Rpm [Source]
- RtlStatus [Source]
- RtlTimeEstimate [Source]
- SatelliteInfo [Source]
- SensorAccel [Source]
- SensorAccelFifo [Source]
- SensorAirflow [Source]
- SensorBaro [Source]
- SensorCombined [Source]
- SensorCorrection [Source]
- SensorGnssRelative [Source]
- SensorGnssStatus [Source]
- SensorGps [Source]
- SensorGyro [Source]
- SensorGyroFft [Source]
- SensorGyroFifo [Source]
- SensorHygrometer [Source]
- SensorMag [Source]
- SensorOpticalFlow [Source]
- SensorPreflightMag [Source]
- SensorSelection [Source]
- SensorTemp [Source]
- SensorUwb [Source]
- SensorsStatus [Source]
- SensorsStatusImu [Source]
- SystemPower [Source]
- TakeoffStatus [Source]
- TargetGnss [Source]
- TaskStackInfo [Source]
- TecsStatus [Source]
- TelemetryStatus [Source]
- TiltrotorExtraControls [Source]
- TimesyncStatus [Source]
- TrajectorySetpoint [Source]
- TrajectorySetpoint6dof [Source]
- TransponderReport [Source]
- TuneControl [Source]
- UavcanParameterRequest [Source]
- UavcanParameterValue [Source]
- UlogStream [Source]
- UlogStreamAck [Source]
- UnregisterExtComponent [Source]
- VehicleAcceleration [Source]
- VehicleAirData [Source]
- VehicleAngularAccelerationSetpoint [Source]
- VehicleAngularVelocity [Source]
- VehicleAttitude [Source]
- VehicleAttitudeSetpoint [Source]
- VehicleCommand [Source]
- VehicleCommandAck [Source]
- VehicleConstraints [Source]
- VehicleControlMode [Source]
- VehicleGlobalPosition [Source]
- VehicleImu [Source]
- VehicleImuStatus [Source]
- VehicleLandDetected [Source]
- VehicleLocalPosition [Source]
- VehicleLocalPositionSetpoint [Source]
- VehicleMagnetometer [Source]
- VehicleOdometry [Source]
- VehicleOpticalFlow [Source]
- VehicleOpticalFlowVel [Source]
- VehicleRatesSetpoint [Source]
- VehicleRoi [Source]
- VehicleStatus [Source]
- VehicleThrustSetpoint [Source]
- VehicleTorqueSetpoint [Source]
- VelocityLimits [Source]
- VteAidSource1d [Source]
- VteAidSource3d [Source]
- VteBiasInitStatus [Source]
- VteInput [Source]
- VteOrientation [Source]
- VtePosition [Source]
- VtolVehicleStatus [Source]
- Vtx [Source]
- WheelEncoders [Source]
- Wind [Source]
- YawEstimatorStatus [Source]
Services
Plugins
Recent questions tagged px4_msgs at Robotics Stack Exchange
Package Summary
| Version | 1.0.0 |
| License | BSD 3-Clause |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/PX4/px4_msgs.git |
| VCS Type | git |
| VCS Version | ros1 |
| Last Updated | 2025-05-08 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Nuno Marques
Authors
- Nuno Marques
px4_msgs
This package contains the ROS(1) message definitions of the PX4 Pro ecosystem. Building this package generates all the required interfaces to interface ROS nodes with the PX4 autopilot internals, which use the uORB messaging API. Currently the messages of this package represent a dependency to px4_ros_com package ros1 branch. The interface with PX4 is only possible using the ros1_bridge and px4_ros_com, which bridges the ROS topics with the ROS2 topics.
uORB message definitions
The uORB message definitions, which represent the counter-part of these ROS messages found in this package, can be found on the PX4 Firmware repository.
How are these messsage definitions generated?
The PX4 Firmware Jenkins-based CI/CD deploys new messages or modifications to the current definitions with each build of the master branch of the PX4 Firmware. A future improvement will also include tagging and releasing this repository according to the tags/releases of the PX4 Firmware, for a more tide coupling between the message definitions.
Install, build and usage
Check this section of the ROS tutorials in order to understand how to create and build msg and srv files. Check the RTPS/ROS2 Interface section on the PX4 Devguide for further details on how this integrates with the px4_ros_com package.
Bug tracking and feature requests
Use the Issues section to create a new issue. Report your issue or feature request here.
Questions and troubleshooting
Reach the PX4 development team on the #messaging PX4 Slack channel:
Changelog for package px4_msgs
1.0.0 (2019-10-19)
- First release of px4_msgs for ROS (1) distros
- Contributors: Nuno Marques, PX4 Build Bot, PX4BuildBot, TSC21
Package Dependencies
| Deps | Name |
|---|---|
| message_generation | |
| catkin | |
| message_runtime | |
| std_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
- ActuatorArmed [Source]
- ActuatorControls [Source]
- ActuatorControls0 [Source]
- ActuatorControls1 [Source]
- ActuatorControls2 [Source]
- ActuatorControls3 [Source]
- ActuatorControls4 [Source]
- ActuatorControls5 [Source]
- ActuatorControlsVirtualFw [Source]
- ActuatorControlsVirtualMc [Source]
- ActuatorOutputs [Source]
- AdcReport [Source]
- Airspeed [Source]
- AirspeedValidated [Source]
- AirspeedWind [Source]
- BatteryStatus [Source]
- CameraCapture [Source]
- CameraStatus [Source]
- CameraTrigger [Source]
- CameraTriggerSecondary [Source]
- CellularStatus [Source]
- CollisionConstraints [Source]
- CollisionReport [Source]
- CommanderState [Source]
- ControlAllocatorStatus [Source]
- Cpuload [Source]
- DebugArray [Source]
- DebugKeyValue [Source]
- DebugValue [Source]
- DebugVect [Source]
- DifferentialPressure [Source]
- DistanceSensor [Source]
- Ekf2Timestamps [Source]
- EkfGpsDrift [Source]
- EscReport [Source]
- EscStatus [Source]
- EstimatorAttitude [Source]
- EstimatorBaroBias [Source]
- EstimatorEventFlags [Source]
- EstimatorGlobalPosition [Source]
- EstimatorInnovationTestRatios [Source]
- EstimatorInnovationVariances [Source]
- EstimatorInnovations [Source]
- EstimatorLocalPosition [Source]
- EstimatorOdometry [Source]
- EstimatorOpticalFlowVel [Source]
- EstimatorSelectorStatus [Source]
- EstimatorSensorBias [Source]
- EstimatorStates [Source]
- EstimatorStatus [Source]
- EstimatorStatusFlags [Source]
- EstimatorVisualOdometryAligned [Source]
- EstimatorWind [Source]
- Event [Source]
- FollowTarget [Source]
- FwVirtualAttitudeSetpoint [Source]
- GeneratorStatus [Source]
- GeofenceResult [Source]
- GimbalDeviceAttitudeStatus [Source]
- GimbalDeviceInformation [Source]
- GimbalDeviceSetAttitude [Source]
- GimbalManagerInformation [Source]
- GimbalManagerSetAttitude [Source]
- GimbalManagerSetManualControl [Source]
- GimbalManagerStatus [Source]
- GpsDump [Source]
- GpsInjectData [Source]
- HeaterStatus [Source]
- HomePosition [Source]
- HoverThrustEstimate [Source]
- InputRc [Source]
- InternalCombustionEngineStatus [Source]
- IridiumsbdStatus [Source]
- IrlockReport [Source]
- LandingGear [Source]
- LandingTargetInnovations [Source]
- LandingTargetPose [Source]
- LedControl [Source]
- LogMessage [Source]
- LoggerStatus [Source]
- MagWorkerData [Source]
- ManualControlSetpoint [Source]
- ManualControlSwitches [Source]
- MavlinkLog [Source]
- McVirtualAttitudeSetpoint [Source]
- Mission [Source]
- MissionResult [Source]
- MountOrientation [Source]
- MultirotorMotorLimits [Source]
- NavigatorMissionItem [Source]
- ObstacleDistance [Source]
- ObstacleDistanceFused [Source]
- OffboardControlMode [Source]
- OnboardComputerStatus [Source]
- OpticalFlow [Source]
- OrbMultitest [Source]
- OrbTest [Source]
- OrbTestLarge [Source]
- OrbTestMedium [Source]
- OrbTestMediumMulti [Source]
- OrbTestMediumQueue [Source]
- OrbTestMediumQueuePoll [Source]
- OrbTestMediumWrapAround [Source]
- OrbitStatus [Source]
- ParameterUpdate [Source]
- Ping [Source]
- PositionControllerLandingStatus [Source]
- PositionControllerStatus [Source]
- PositionSetpoint [Source]
- PositionSetpointTriplet [Source]
- PowerButtonState [Source]
- PowerMonitor [Source]
- PwmInput [Source]
- Px4IoStatus [Source]
- RadioStatus [Source]
- RateCtrlStatus [Source]
- RcChannels [Source]
- RcParameterMap [Source]
- Rpm [Source]
- RtlFlightTime [Source]
- Safety [Source]
- SatelliteInfo [Source]
- SensorAccel [Source]
- SensorAccelFifo [Source]
- SensorBaro [Source]
- SensorCombined [Source]
- SensorCorrection [Source]
- SensorGps [Source]
- SensorGyro [Source]
- SensorGyroFft [Source]
- SensorGyroFifo [Source]
- SensorMag [Source]
- SensorPreflightMag [Source]
- SensorSelection [Source]
- SensorsStatusImu [Source]
- SystemPower [Source]
- TakeoffStatus [Source]
- TaskStackInfo [Source]
- TecsStatus [Source]
- TelemetryStatus [Source]
- TestMotor [Source]
- Timesync [Source]
- TimesyncStatus [Source]
- TrajectoryBezier [Source]
- TrajectorySetpoint [Source]
- TrajectoryWaypoint [Source]
- TransponderReport [Source]
- TuneControl [Source]
- UavcanParameterRequest [Source]
- UavcanParameterValue [Source]
- UlogStream [Source]
- UlogStreamAck [Source]
- VehicleAcceleration [Source]
- VehicleActuatorSetpoint [Source]
- VehicleAirData [Source]
- VehicleAngularAcceleration [Source]
- VehicleAngularAccelerationSetpoint [Source]
- VehicleAngularVelocity [Source]
- VehicleAngularVelocityGroundtruth [Source]
- VehicleAttitude [Source]
- VehicleAttitudeGroundtruth [Source]
- VehicleAttitudeSetpoint [Source]
- VehicleCommand [Source]
- VehicleCommandAck [Source]
- VehicleConstraints [Source]
- VehicleControlMode [Source]
- VehicleGlobalPosition [Source]
- VehicleGlobalPositionGroundtruth [Source]
- VehicleGpsPosition [Source]
- VehicleImu [Source]
- VehicleImuStatus [Source]
- VehicleLandDetected [Source]
- VehicleLocalPosition [Source]
- VehicleLocalPositionGroundtruth [Source]
- VehicleLocalPositionSetpoint [Source]
- VehicleMagnetometer [Source]
- VehicleMocapOdometry [Source]
- VehicleOdometry [Source]
- VehicleRatesSetpoint [Source]
- VehicleRoi [Source]
- VehicleStatus [Source]
- VehicleStatusFlags [Source]
- VehicleThrustSetpoint [Source]
- VehicleTorqueSetpoint [Source]
- VehicleTrajectoryBezier [Source]
- VehicleTrajectoryWaypoint [Source]
- VehicleTrajectoryWaypointDesired [Source]
- VehicleVisionAttitude [Source]
- VehicleVisualOdometry [Source]
- VtolVehicleStatus [Source]
- WheelEncoders [Source]
- Wind [Source]
- YawEstimatorStatus [Source]
Services
Plugins
Recent questions tagged px4_msgs at Robotics Stack Exchange
Package Summary
| Version | 1.0.0 |
| License | BSD 3-Clause |
| Build type | CATKIN |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/PX4/px4_msgs.git |
| VCS Type | git |
| VCS Version | ros1 |
| Last Updated | 2025-05-08 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Nuno Marques
Authors
- Nuno Marques
px4_msgs
This package contains the ROS(1) message definitions of the PX4 Pro ecosystem. Building this package generates all the required interfaces to interface ROS nodes with the PX4 autopilot internals, which use the uORB messaging API. Currently the messages of this package represent a dependency to px4_ros_com package ros1 branch. The interface with PX4 is only possible using the ros1_bridge and px4_ros_com, which bridges the ROS topics with the ROS2 topics.
uORB message definitions
The uORB message definitions, which represent the counter-part of these ROS messages found in this package, can be found on the PX4 Firmware repository.
How are these messsage definitions generated?
The PX4 Firmware Jenkins-based CI/CD deploys new messages or modifications to the current definitions with each build of the master branch of the PX4 Firmware. A future improvement will also include tagging and releasing this repository according to the tags/releases of the PX4 Firmware, for a more tide coupling between the message definitions.
Install, build and usage
Check this section of the ROS tutorials in order to understand how to create and build msg and srv files. Check the RTPS/ROS2 Interface section on the PX4 Devguide for further details on how this integrates with the px4_ros_com package.
Bug tracking and feature requests
Use the Issues section to create a new issue. Report your issue or feature request here.
Questions and troubleshooting
Reach the PX4 development team on the #messaging PX4 Slack channel:
Changelog for package px4_msgs
1.0.0 (2019-10-19)
- First release of px4_msgs for ROS (1) distros
- Contributors: Nuno Marques, PX4 Build Bot, PX4BuildBot, TSC21
Package Dependencies
| Deps | Name |
|---|---|
| message_generation | |
| catkin | |
| message_runtime | |
| std_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
- ActuatorArmed [Source]
- ActuatorControls [Source]
- ActuatorControls0 [Source]
- ActuatorControls1 [Source]
- ActuatorControls2 [Source]
- ActuatorControls3 [Source]
- ActuatorControls4 [Source]
- ActuatorControls5 [Source]
- ActuatorControlsVirtualFw [Source]
- ActuatorControlsVirtualMc [Source]
- ActuatorOutputs [Source]
- AdcReport [Source]
- Airspeed [Source]
- AirspeedValidated [Source]
- AirspeedWind [Source]
- BatteryStatus [Source]
- CameraCapture [Source]
- CameraStatus [Source]
- CameraTrigger [Source]
- CameraTriggerSecondary [Source]
- CellularStatus [Source]
- CollisionConstraints [Source]
- CollisionReport [Source]
- CommanderState [Source]
- ControlAllocatorStatus [Source]
- Cpuload [Source]
- DebugArray [Source]
- DebugKeyValue [Source]
- DebugValue [Source]
- DebugVect [Source]
- DifferentialPressure [Source]
- DistanceSensor [Source]
- Ekf2Timestamps [Source]
- EkfGpsDrift [Source]
- EscReport [Source]
- EscStatus [Source]
- EstimatorAttitude [Source]
- EstimatorBaroBias [Source]
- EstimatorEventFlags [Source]
- EstimatorGlobalPosition [Source]
- EstimatorInnovationTestRatios [Source]
- EstimatorInnovationVariances [Source]
- EstimatorInnovations [Source]
- EstimatorLocalPosition [Source]
- EstimatorOdometry [Source]
- EstimatorOpticalFlowVel [Source]
- EstimatorSelectorStatus [Source]
- EstimatorSensorBias [Source]
- EstimatorStates [Source]
- EstimatorStatus [Source]
- EstimatorStatusFlags [Source]
- EstimatorVisualOdometryAligned [Source]
- EstimatorWind [Source]
- Event [Source]
- FollowTarget [Source]
- FwVirtualAttitudeSetpoint [Source]
- GeneratorStatus [Source]
- GeofenceResult [Source]
- GimbalDeviceAttitudeStatus [Source]
- GimbalDeviceInformation [Source]
- GimbalDeviceSetAttitude [Source]
- GimbalManagerInformation [Source]
- GimbalManagerSetAttitude [Source]
- GimbalManagerSetManualControl [Source]
- GimbalManagerStatus [Source]
- GpsDump [Source]
- GpsInjectData [Source]
- HeaterStatus [Source]
- HomePosition [Source]
- HoverThrustEstimate [Source]
- InputRc [Source]
- InternalCombustionEngineStatus [Source]
- IridiumsbdStatus [Source]
- IrlockReport [Source]
- LandingGear [Source]
- LandingTargetInnovations [Source]
- LandingTargetPose [Source]
- LedControl [Source]
- LogMessage [Source]
- LoggerStatus [Source]
- MagWorkerData [Source]
- ManualControlSetpoint [Source]
- ManualControlSwitches [Source]
- MavlinkLog [Source]
- McVirtualAttitudeSetpoint [Source]
- Mission [Source]
- MissionResult [Source]
- MountOrientation [Source]
- MultirotorMotorLimits [Source]
- NavigatorMissionItem [Source]
- ObstacleDistance [Source]
- ObstacleDistanceFused [Source]
- OffboardControlMode [Source]
- OnboardComputerStatus [Source]
- OpticalFlow [Source]
- OrbMultitest [Source]
- OrbTest [Source]
- OrbTestLarge [Source]
- OrbTestMedium [Source]
- OrbTestMediumMulti [Source]
- OrbTestMediumQueue [Source]
- OrbTestMediumQueuePoll [Source]
- OrbTestMediumWrapAround [Source]
- OrbitStatus [Source]
- ParameterUpdate [Source]
- Ping [Source]
- PositionControllerLandingStatus [Source]
- PositionControllerStatus [Source]
- PositionSetpoint [Source]
- PositionSetpointTriplet [Source]
- PowerButtonState [Source]
- PowerMonitor [Source]
- PwmInput [Source]
- Px4IoStatus [Source]
- RadioStatus [Source]
- RateCtrlStatus [Source]
- RcChannels [Source]
- RcParameterMap [Source]
- Rpm [Source]
- RtlFlightTime [Source]
- Safety [Source]
- SatelliteInfo [Source]
- SensorAccel [Source]
- SensorAccelFifo [Source]
- SensorBaro [Source]
- SensorCombined [Source]
- SensorCorrection [Source]
- SensorGps [Source]
- SensorGyro [Source]
- SensorGyroFft [Source]
- SensorGyroFifo [Source]
- SensorMag [Source]
- SensorPreflightMag [Source]
- SensorSelection [Source]
- SensorsStatusImu [Source]
- SystemPower [Source]
- TakeoffStatus [Source]
- TaskStackInfo [Source]
- TecsStatus [Source]
- TelemetryStatus [Source]
- TestMotor [Source]
- Timesync [Source]
- TimesyncStatus [Source]
- TrajectoryBezier [Source]
- TrajectorySetpoint [Source]
- TrajectoryWaypoint [Source]
- TransponderReport [Source]
- TuneControl [Source]
- UavcanParameterRequest [Source]
- UavcanParameterValue [Source]
- UlogStream [Source]
- UlogStreamAck [Source]
- VehicleAcceleration [Source]
- VehicleActuatorSetpoint [Source]
- VehicleAirData [Source]
- VehicleAngularAcceleration [Source]
- VehicleAngularAccelerationSetpoint [Source]
- VehicleAngularVelocity [Source]
- VehicleAngularVelocityGroundtruth [Source]
- VehicleAttitude [Source]
- VehicleAttitudeGroundtruth [Source]
- VehicleAttitudeSetpoint [Source]
- VehicleCommand [Source]
- VehicleCommandAck [Source]
- VehicleConstraints [Source]
- VehicleControlMode [Source]
- VehicleGlobalPosition [Source]
- VehicleGlobalPositionGroundtruth [Source]
- VehicleGpsPosition [Source]
- VehicleImu [Source]
- VehicleImuStatus [Source]
- VehicleLandDetected [Source]
- VehicleLocalPosition [Source]
- VehicleLocalPositionGroundtruth [Source]
- VehicleLocalPositionSetpoint [Source]
- VehicleMagnetometer [Source]
- VehicleMocapOdometry [Source]
- VehicleOdometry [Source]
- VehicleRatesSetpoint [Source]
- VehicleRoi [Source]
- VehicleStatus [Source]
- VehicleStatusFlags [Source]
- VehicleThrustSetpoint [Source]
- VehicleTorqueSetpoint [Source]
- VehicleTrajectoryBezier [Source]
- VehicleTrajectoryWaypoint [Source]
- VehicleTrajectoryWaypointDesired [Source]
- VehicleVisionAttitude [Source]
- VehicleVisualOdometry [Source]
- VtolVehicleStatus [Source]
- WheelEncoders [Source]
- Wind [Source]
- YawEstimatorStatus [Source]
Services
Plugins
Recent questions tagged px4_msgs at Robotics Stack Exchange
Package Summary
| Version | 1.17.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/PX4/px4_msgs.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-12 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Nuno Marques
- Beniamino Pozzan
- Ramon Roche
Authors
- Nuno Marques
px4_msgs
ROS 2 message and service definitions for the PX4 Autopilot.
Overview
px4_msgs is a ROS 2 interface package: it contains only .msg and .srv definitions and the build rules that turn them into the C++/Python interfaces used by ROS 2 applications. The definitions mirror PX4’s internal uORB topics, so that a ROS 2 node can exchange them with the autopilot over the uXRCE-DDS bridge (the uxrce_dds_client running on PX4 talks to the MicroXRCEAgent running on the companion side, which publishes/subscribes these topics on the ROS 2 graph).
Because the definitions come straight from PX4, this package is the single source of truth that keeps a ROS 2 workspace ABI-compatible with a given PX4 firmware version.
Installation
From source (recommended today)
Clone the branch that matches your PX4 version (see Supported versions) into a colcon workspace and build:
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/PX4/px4_msgs.git
cd ~/ros2_ws
source /opt/ros/jazzy/setup.bash # or humble / kilted / rolling
colcon build --packages-select px4_msgs
See Using colcon to build packages and the PX4 ROS 2 User Guide for the full workflow.
From a binary (apt)
Once the package has completed its build-farm release it is installable as a Debian package:
sudo apt install ros-${ROS_DISTRO}-px4-msgs
You can also build a .deb locally — see Building Debian packages.
Usage
After sourcing the workspace, the generated interfaces are available like any other ROS 2 message package:
#include <px4_msgs/msg/vehicle_status.hpp>
// ...
sub_ = create_subscription<px4_msgs::msg::VehicleStatus>(
"/fmu/out/vehicle_status", rclcpp::QoS(10).best_effort(),
[](px4_msgs::msg::VehicleStatus::SharedPtr msg) { /* ... */ });
from px4_msgs.msg import VehicleStatus
Note: PX4 publishes with best-effort QoS; subscribers must use a compatible QoS profile (as above) or they will not receive any data. Topic names and directions (
/fmu/out/...,/fmu/in/...) are documented in the PX4 uXRCE-DDS topic list.
Package layout
px4_msgs/
├── msg/ # message definitions (*.msg), generated from PX4 uORB
├── srv/ # service definitions (*.srv)
├── CMakeLists.txt # globs msg/ and srv/ and calls rosidl_generate_interfaces
└── package.xml # ament_cmake, format 3, member of rosidl_interface_packages
Supported versions and compatibility
px4_msgs is a pure interface package, so the definitions build on any maintained ROS 2 distribution. What ties a checkout to a firmware is the PX4 release line, not the ROS 2 distribution: each PX4 release has its own branch and main tracks PX4 main. Pick the branch that matches the PX4 version you fly, then build it on whichever ROS 2 distribution you run.
PX4 release → px4_msgs branch
| PX4 release | px4_msgs branch |
|---|---|
main (in development) |
main |
| v1.17 | release/1.17 |
| v1.16 | release/1.16 |
| v1.15 | release/1.15 |
| v1.14 | release/1.14 |
| v1.13 | release/1.13 |
ROS 2 distribution → Ubuntu
The ROS 2 distribution fixes the Ubuntu version (REP 2000). CI builds main against every maintained distribution:
| ROS 2 distribution | Ubuntu | Type | Built in CI |
|---|---|---|---|
| Humble | 22.04 (Jammy) | LTS, until 2027 | yes, native runner |
| Jazzy | 24.04 (Noble) | LTS, until 2029 | yes, native runner |
File truncated at 100 lines see the full file
Changelog for package px4_msgs
The version numbers of this package track the corresponding PX4
Autopilot release line. The
message and service definitions are generated and synchronized
automatically from the uORB definitions in PX4-Autopilot, so the entries
below are produced from the tagged release history rather than by manual
edits (see scripts/generate_changelog.sh).
1.17.0 (2026-03-22)
- Synchronized with PX4 Autopilot 1.17.0.
- Added: BatteryInfo, DronecanNodeStatus, FixedWingLateralGuidanceStatus, FixedWingLateralSetpoint, FixedWingLateralStatus, FixedWingLongitudinalSetpoint, FixedWingRunwayControl, LateralControlConfiguration, LongitudinalControlConfiguration, NeuralControl, RoverSpeedSetpoint, RoverSpeedStatus, SensorGnssStatus.
- Removed: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, NpfgStatus, RoverVelocityStatus.
- Changed 44 message/service definition(s).
- Contributors: Beniamino Pozzan
1.16.2 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.1.
- Contributors: PX4 BuildBot
1.16.1 (2025-08-07)
- PX4 point release; message and service definitions identical to 1.16.0.
- Contributors: PX4 BuildBot
1.16.0 (2025-08-07)
- Synchronized with PX4 Autopilot 1.16.0.
- Added: AckermannVelocitySetpoint, DifferentialVelocitySetpoint, DistanceSensorModeChangeRequest, FuelTankStatus, InternalCombustionEngineControl, NavigatorStatus, OpenDroneIdArmStatus, OpenDroneIdOperatorId, OpenDroneIdSelfId, OpenDroneIdSystem, PurePursuitStatus, RoverAttitudeSetpoint, RoverAttitudeStatus, RoverPositionSetpoint, RoverRateSetpoint, RoverRateStatus, RoverSteeringSetpoint, RoverThrottleSetpoint, RoverVelocityStatus, TrajectorySetpoint6dof.
- Removed: Buffer128, CollisionReport, DifferentialDriveSetpoint, TrajectoryBezier, TrajectoryWaypoint, VehicleTrajectoryBezier, VehicleTrajectoryWaypoint.
- Changed 71 message/service definition(s).
- Contributors: Beniamino Pozzan, Claudio Chies, GuillaumeLaine, Mathieu David, PX4 BuildBot
1.15.4 (2025-03-20)
- PX4 point release; message and service definitions identical to 1.15.3.
- Contributors: PX4 BuildBot
1.15.3 (2025-03-20)
- Synchronized with PX4 Autopilot 1.15.3.
- Changed 3 message/service definition(s).
- Contributors: Beniamino Pozzan
1.15.2 (2024-10-06)
- PX4 point release; message and service definitions identical to 1.15.1.
- Contributors: PX4 BuildBot
1.15.1 (2024-10-06)
- Synchronized with PX4 Autopilot 1.15.1.
- Changed 1 message/service definition(s).
- Contributors: Beniamino Pozzan, PX4 BuildBot
1.15.0 (2024-06-17)
- Synchronized with PX4 Autopilot 1.15.0.
- Added: ArmingCheckReply, ArmingCheckRequest, Buffer128, CanInterfaceStatus, ConfigOverrides, DatamanRequest, DatamanResponse, DifferentialDriveSetpoint, FigureEightStatus, FlightPhaseEstimation, GeofenceStatus, GotoSetpoint, GpioConfig, GpioIn, GpioOut, GpioRequest, MessageFormatRequest, MessageFormatResponse, ParameterResetRequest, ParameterSetUsedRequest, ParameterSetValueRequest, ParameterSetValueResponse, RegisterExtComponentReply, RegisterExtComponentRequest, RtlStatus, SensorAirflow, UnregisterExtComponent, VehicleCommand, VelocityLimits, WheelEncoders.
- Changed 35 message/service definition(s).
- Contributors: Audrow Nash, Beniamino Pozzan, dependabot[bot], Federico Ciresola, PX4 BuildBot
1.14.0 (2023-11-11)
- Synchronized with PX4 Autopilot 1.14.0.
- Added: EstimatorAidSource1d, EstimatorAidSource2d, EstimatorAidSource3d, EstimatorBias3d, FailsafeFlags,
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| rosidl_default_generators | |
| rosidl_default_runtime | |
| ament_lint_auto | |
| ament_lint_common | |
| builtin_interfaces |
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| as2_platform_pixhawk |
Launch files
Messages
- ActionRequest [Source]
- ActuatorArmed [Source]
- ActuatorControlsStatus [Source]
- ActuatorMotors [Source]
- ActuatorOutputs [Source]
- ActuatorServos [Source]
- ActuatorServosTrim [Source]
- ActuatorTest [Source]
- AdcReport [Source]
- Airspeed [Source]
- AirspeedValidated [Source]
- AirspeedWind [Source]
- ArmingCheckReply [Source]
- ArmingCheckRequest [Source]
- AutotuneAttitudeControlStatus [Source]
- AuxGlobalPosition [Source]
- BatteryInfo [Source]
- BatteryStatus [Source]
- ButtonEvent [Source]
- CameraCapture [Source]
- CameraStatus [Source]
- CameraTrigger [Source]
- CanInterfaceStatus [Source]
- CellularStatus [Source]
- CollisionConstraints [Source]
- ConfigOverrides [Source]
- ControlAllocatorStatus [Source]
- Cpuload [Source]
- DatamanRequest [Source]
- DatamanResponse [Source]
- DebugArray [Source]
- DebugKeyValue [Source]
- DebugValue [Source]
- DebugVect [Source]
- DeviceInformation [Source]
- DifferentialPressure [Source]
- DistanceSensor [Source]
- DistanceSensorModeChangeRequest [Source]
- DronecanNodeStatus [Source]
- Ekf2Timestamps [Source]
- EscEepromRead [Source]
- EscEepromWrite [Source]
- EscReport [Source]
- EscStatus [Source]
- EstimatorAidSource1d [Source]
- EstimatorAidSource2d [Source]
- EstimatorAidSource3d [Source]
- EstimatorBias [Source]
- EstimatorBias3d [Source]
- EstimatorEventFlags [Source]
- EstimatorFusionControl [Source]
- EstimatorGpsStatus [Source]
- EstimatorInnovations [Source]
- EstimatorSelectorStatus [Source]
- EstimatorSensorBias [Source]
- EstimatorStates [Source]
- EstimatorStatus [Source]
- EstimatorStatusFlags [Source]
- Event [Source]
- FailsafeFlags [Source]
- FailureDetectorStatus [Source]
- FiducialMarkerPosReport [Source]
- FiducialMarkerYawReport [Source]
- FigureEightStatus [Source]
- FixedWingLateralGuidanceStatus [Source]
- FixedWingLateralSetpoint [Source]
- FixedWingLateralStatus [Source]
- FixedWingLongitudinalSetpoint [Source]
- FixedWingRunwayControl [Source]
- FlightPhaseEstimation [Source]
- FollowTarget [Source]
- FollowTargetEstimator [Source]
- FollowTargetStatus [Source]
- FuelTankStatus [Source]
- GainCompression [Source]
- GeneratorStatus [Source]
- GeofenceResult [Source]
- GeofenceStatus [Source]
- GimbalControls [Source]
- GimbalDeviceAttitudeStatus [Source]
- GimbalDeviceInformation [Source]
- GimbalDeviceSetAttitude [Source]
- GimbalManagerInformation [Source]
- GimbalManagerSetAttitude [Source]
- GimbalManagerSetManualControl [Source]
- GimbalManagerStatus [Source]
- GotoSetpoint [Source]
- GpioConfig [Source]
- GpioIn [Source]
- GpioOut [Source]
- GpioRequest [Source]
- GpsDump [Source]
- GpsInjectData [Source]
- Gripper [Source]
- HealthReport [Source]
- HeaterStatus [Source]
- HomePosition [Source]
- HoverThrustEstimate [Source]
- InputRc [Source]
- InternalCombustionEngineControl [Source]
- InternalCombustionEngineStatus [Source]
- IridiumsbdStatus [Source]
- IrlockReport [Source]
- LandingGear [Source]
- LandingGearWheel [Source]
- LandingTargetInnovations [Source]
- LandingTargetPose [Source]
- LateralControlConfiguration [Source]
- LaunchDetectionStatus [Source]
- LedControl [Source]
- LogMessage [Source]
- LoggerStatus [Source]
- LongitudinalControlConfiguration [Source]
- MagWorkerData [Source]
- MagnetometerBiasEstimate [Source]
- ManualControlSetpoint [Source]
- ManualControlSwitches [Source]
- MavlinkLog [Source]
- MavlinkTunnel [Source]
- MessageFormatRequest [Source]
- MessageFormatResponse [Source]
- Mission [Source]
- MissionResult [Source]
- ModeCompleted [Source]
- MountOrientation [Source]
- NavigatorMissionItem [Source]
- NavigatorStatus [Source]
- NeuralControl [Source]
- NormalizedUnsignedSetpoint [Source]
- ObstacleDistance [Source]
- OffboardControlMode [Source]
- OnboardComputerStatus [Source]
- OpenDroneIdArmStatus [Source]
- OpenDroneIdBasicId [Source]
- OpenDroneIdOperatorId [Source]
- OpenDroneIdSelfId [Source]
- OpenDroneIdSystem [Source]
- OrbTest [Source]
- OrbTestLarge [Source]
- OrbTestMedium [Source]
- OrbitStatus [Source]
- ParameterResetRequest [Source]
- ParameterSetUsedRequest [Source]
- ParameterSetValueRequest [Source]
- ParameterSetValueResponse [Source]
- ParameterUpdate [Source]
- Ping [Source]
- PositionControllerLandingStatus [Source]
- PositionControllerStatus [Source]
- PositionSetpoint [Source]
- PositionSetpointTriplet [Source]
- PowerButtonState [Source]
- PowerMonitor [Source]
- PpsCapture [Source]
- PrecLandStatus [Source]
- PurePursuitStatus [Source]
- PwmInput [Source]
- Px4ioStatus [Source]
- QshellReq [Source]
- QshellRetval [Source]
- RadioStatus [Source]
- RangingBeacon [Source]
- RaptorInput [Source]
- RaptorStatus [Source]
- RateCtrlStatus [Source]
- RcChannels [Source]
- RcParameterMap [Source]
- RegisterExtComponentReply [Source]
- RegisterExtComponentRequest [Source]
- RoverAttitudeSetpoint [Source]
- RoverAttitudeStatus [Source]
- RoverPositionSetpoint [Source]
- RoverRateSetpoint [Source]
- RoverRateStatus [Source]
- RoverSpeedSetpoint [Source]
- RoverSpeedStatus [Source]
- RoverSteeringSetpoint [Source]
- RoverThrottleSetpoint [Source]
- Rpm [Source]
- RtlStatus [Source]
- RtlTimeEstimate [Source]
- SatelliteInfo [Source]
- SensorAccel [Source]
- SensorAccelFifo [Source]
- SensorAirflow [Source]
- SensorBaro [Source]
- SensorCombined [Source]
- SensorCorrection [Source]
- SensorGnssRelative [Source]
- SensorGnssStatus [Source]
- SensorGps [Source]
- SensorGyro [Source]
- SensorGyroFft [Source]
- SensorGyroFifo [Source]
- SensorHygrometer [Source]
- SensorMag [Source]
- SensorOpticalFlow [Source]
- SensorPreflightMag [Source]
- SensorSelection [Source]
- SensorTemp [Source]
- SensorUwb [Source]
- SensorsStatus [Source]
- SensorsStatusImu [Source]
- SystemPower [Source]
- TakeoffStatus [Source]
- TargetGnss [Source]
- TaskStackInfo [Source]
- TecsStatus [Source]
- TelemetryStatus [Source]
- TiltrotorExtraControls [Source]
- TimesyncStatus [Source]
- TrajectorySetpoint [Source]
- TrajectorySetpoint6dof [Source]
- TransponderReport [Source]
- TuneControl [Source]
- UavcanParameterRequest [Source]
- UavcanParameterValue [Source]
- UlogStream [Source]
- UlogStreamAck [Source]
- UnregisterExtComponent [Source]
- VehicleAcceleration [Source]
- VehicleAirData [Source]
- VehicleAngularAccelerationSetpoint [Source]
- VehicleAngularVelocity [Source]
- VehicleAttitude [Source]
- VehicleAttitudeSetpoint [Source]
- VehicleCommand [Source]
- VehicleCommandAck [Source]
- VehicleConstraints [Source]
- VehicleControlMode [Source]
- VehicleGlobalPosition [Source]
- VehicleImu [Source]
- VehicleImuStatus [Source]
- VehicleLandDetected [Source]
- VehicleLocalPosition [Source]
- VehicleLocalPositionSetpoint [Source]
- VehicleMagnetometer [Source]
- VehicleOdometry [Source]
- VehicleOpticalFlow [Source]
- VehicleOpticalFlowVel [Source]
- VehicleRatesSetpoint [Source]
- VehicleRoi [Source]
- VehicleStatus [Source]
- VehicleThrustSetpoint [Source]
- VehicleTorqueSetpoint [Source]
- VelocityLimits [Source]
- VteAidSource1d [Source]
- VteAidSource3d [Source]
- VteBiasInitStatus [Source]
- VteInput [Source]
- VteOrientation [Source]
- VtePosition [Source]
- VtolVehicleStatus [Source]
- Vtx [Source]
- WheelEncoders [Source]
- Wind [Source]
- YawEstimatorStatus [Source]