Package symbol

px4_msgs package from px4_msgs repo

px4_msgs

ROS Distro
humble

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

Package with the ROS-equivalent of PX4 uORB msgs

Additional Links

Maintainers

  • Nuno Marques
  • Beniamino Pozzan
  • Ramon Roche

Authors

  • Nuno Marques

px4_msgs

Build package pre-commit Latest release Last commit ROS 2 REP-2004 Quality Level 3 Conventional Commits License: BSD-3-Clause PRs welcome Dronecode Discord

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

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

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

Dependant Packages

Launch files

No launch files found

Messages

Services

Plugins

No plugins found.

Recent questions tagged px4_msgs at Robotics Stack Exchange

Package symbol

px4_msgs package from px4_msgs repo

px4_msgs

ROS Distro
jazzy

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

Package with the ROS-equivalent of PX4 uORB msgs

Additional Links

Maintainers

  • Nuno Marques
  • Beniamino Pozzan
  • Ramon Roche

Authors

  • Nuno Marques

px4_msgs

Build package pre-commit Latest release Last commit ROS 2 REP-2004 Quality Level 3 Conventional Commits License: BSD-3-Clause PRs welcome Dronecode Discord

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

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

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

Launch files

No launch files found

Messages

Services

Plugins

No plugins found.

Recent questions tagged px4_msgs at Robotics Stack Exchange

Package symbol

px4_msgs package from px4_msgs repo

px4_msgs

ROS Distro
kilted

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

Package with the ROS-equivalent of PX4 uORB msgs

Additional Links

Maintainers

  • Nuno Marques
  • Beniamino Pozzan
  • Ramon Roche

Authors

  • Nuno Marques

px4_msgs

Build package pre-commit Latest release Last commit ROS 2 REP-2004 Quality Level 3 Conventional Commits License: BSD-3-Clause PRs welcome Dronecode Discord

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

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

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

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

Services

Plugins

No plugins found.

Recent questions tagged px4_msgs at Robotics Stack Exchange

Package symbol

px4_msgs package from px4_msgs repo

px4_msgs

ROS Distro
lyrical

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

Package with the ROS-equivalent of PX4 uORB msgs

Additional Links

Maintainers

  • Nuno Marques
  • Beniamino Pozzan
  • Ramon Roche

Authors

  • Nuno Marques

px4_msgs

Build package pre-commit Latest release Last commit ROS 2 REP-2004 Quality Level 3 Conventional Commits License: BSD-3-Clause PRs welcome Dronecode Discord

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

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

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

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

Services

Plugins

No plugins found.

Recent questions tagged px4_msgs at Robotics Stack Exchange

Package symbol

px4_msgs package from px4_msgs repo

px4_msgs

ROS Distro
rolling

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

Package with the ROS-equivalent of PX4 uORB msgs

Additional Links

Maintainers

  • Nuno Marques
  • Beniamino Pozzan
  • Ramon Roche

Authors

  • Nuno Marques

px4_msgs

Build package pre-commit Latest release Last commit ROS 2 REP-2004 Quality Level 3 Conventional Commits License: BSD-3-Clause PRs welcome Dronecode Discord

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

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

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

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

Services

Plugins

No plugins found.

Recent questions tagged px4_msgs at Robotics Stack Exchange

No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

px4_msgs package from px4_msgs repo

px4_msgs

ROS Distro
humble

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

Package with the ROS-equivalent of PX4 uORB msgs

Additional Links

Maintainers

  • Nuno Marques
  • Beniamino Pozzan
  • Ramon Roche

Authors

  • Nuno Marques

px4_msgs

Build package pre-commit Latest release Last commit ROS 2 REP-2004 Quality Level 3 Conventional Commits License: BSD-3-Clause PRs welcome Dronecode Discord

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

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

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

Dependant Packages

Launch files

No launch files found

Messages

Services

Plugins

No plugins found.

Recent questions tagged px4_msgs at Robotics Stack Exchange

No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

px4_msgs package from px4_msgs repo

px4_msgs

ROS Distro
humble

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

Package with the ROS-equivalent of PX4 uORB msgs

Additional Links

Maintainers

  • Nuno Marques
  • Beniamino Pozzan
  • Ramon Roche

Authors

  • Nuno Marques

px4_msgs

Build package pre-commit Latest release Last commit ROS 2 REP-2004 Quality Level 3 Conventional Commits License: BSD-3-Clause PRs welcome Dronecode Discord

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

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

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

Dependant Packages

Launch files

No launch files found

Messages

Services

Plugins

No plugins found.

Recent questions tagged px4_msgs at Robotics Stack Exchange

No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

px4_msgs package from px4_msgs repo

px4_msgs

ROS Distro
humble

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

Package with the ROS-equivalent of PX4 uORB msgs

Additional Links

Maintainers

  • Nuno Marques
  • Beniamino Pozzan
  • Ramon Roche

Authors

  • Nuno Marques

px4_msgs

Build package pre-commit Latest release Last commit ROS 2 REP-2004 Quality Level 3 Conventional Commits License: BSD-3-Clause PRs welcome Dronecode Discord

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

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

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

Dependant Packages

Launch files

No launch files found

Messages

Services

Plugins

No plugins found.

Recent questions tagged px4_msgs at Robotics Stack Exchange

No version for distro eloquent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

px4_msgs package from px4_msgs repo

px4_msgs

ROS Distro
humble

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

Package with the ROS-equivalent of PX4 uORB msgs

Additional Links

Maintainers

  • Nuno Marques
  • Beniamino Pozzan
  • Ramon Roche

Authors

  • Nuno Marques

px4_msgs

Build package pre-commit Latest release Last commit ROS 2 REP-2004 Quality Level 3 Conventional Commits License: BSD-3-Clause PRs welcome Dronecode Discord

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

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

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

Dependant Packages

Launch files

No launch files found

Messages

Services

Plugins

No plugins found.

Recent questions tagged px4_msgs at Robotics Stack Exchange

No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

px4_msgs package from px4_msgs repo

px4_msgs

ROS Distro
humble

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

Package with the ROS-equivalent of PX4 uORB msgs

Additional Links

Maintainers

  • Nuno Marques
  • Beniamino Pozzan
  • Ramon Roche

Authors

  • Nuno Marques

px4_msgs

Build package pre-commit Latest release Last commit ROS 2 REP-2004 Quality Level 3 Conventional Commits License: BSD-3-Clause PRs welcome Dronecode Discord

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

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

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

Dependant Packages

Launch files

No launch files found

Messages

Services

Plugins

No plugins found.

Recent questions tagged px4_msgs at Robotics Stack Exchange

No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

px4_msgs package from px4_msgs repo

px4_msgs

ROS Distro
humble

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

Package with the ROS-equivalent of PX4 uORB msgs

Additional Links

Maintainers

  • Nuno Marques
  • Beniamino Pozzan
  • Ramon Roche

Authors

  • Nuno Marques

px4_msgs

Build package pre-commit Latest release Last commit ROS 2 REP-2004 Quality Level 3 Conventional Commits License: BSD-3-Clause PRs welcome Dronecode Discord

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

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

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

Dependant Packages

Launch files

No launch files found

Messages

Services

Plugins

No plugins found.

Recent questions tagged px4_msgs at Robotics Stack Exchange

No version for distro foxy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

px4_msgs package from px4_msgs repo

px4_msgs

ROS Distro
humble

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

Package with the ROS-equivalent of PX4 uORB msgs

Additional Links

Maintainers

  • Nuno Marques
  • Beniamino Pozzan
  • Ramon Roche

Authors

  • Nuno Marques

px4_msgs

Build package pre-commit Latest release Last commit ROS 2 REP-2004 Quality Level 3 Conventional Commits License: BSD-3-Clause PRs welcome Dronecode Discord

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

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

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

Dependant Packages

Launch files

No launch files found

Messages

Services

Plugins

No plugins found.

Recent questions tagged px4_msgs at Robotics Stack Exchange

No version for distro iron showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

px4_msgs package from px4_msgs repo

px4_msgs

ROS Distro
humble

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

Package with the ROS-equivalent of PX4 uORB msgs

Additional Links

Maintainers

  • Nuno Marques
  • Beniamino Pozzan
  • Ramon Roche

Authors

  • Nuno Marques

px4_msgs

Build package pre-commit Latest release Last commit ROS 2 REP-2004 Quality Level 3 Conventional Commits License: BSD-3-Clause PRs welcome Dronecode Discord

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

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

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

Dependant Packages

Launch files

No launch files found

Messages

Services

Plugins

No plugins found.

Recent questions tagged px4_msgs at Robotics Stack Exchange

No version for distro lunar showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

px4_msgs package from px4_msgs repo

px4_msgs

ROS Distro
humble

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

Package with the ROS-equivalent of PX4 uORB msgs

Additional Links

Maintainers

  • Nuno Marques
  • Beniamino Pozzan
  • Ramon Roche

Authors

  • Nuno Marques

px4_msgs

Build package pre-commit Latest release Last commit ROS 2 REP-2004 Quality Level 3 Conventional Commits License: BSD-3-Clause PRs welcome Dronecode Discord

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

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

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

Dependant Packages

Launch files

No launch files found

Messages

Services

Plugins

No plugins found.

Recent questions tagged px4_msgs at Robotics Stack Exchange

No version for distro jade showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

px4_msgs package from px4_msgs repo

px4_msgs

ROS Distro
humble

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

Package with the ROS-equivalent of PX4 uORB msgs

Additional Links

Maintainers

  • Nuno Marques
  • Beniamino Pozzan
  • Ramon Roche

Authors

  • Nuno Marques

px4_msgs

Build package pre-commit Latest release Last commit ROS 2 REP-2004 Quality Level 3 Conventional Commits License: BSD-3-Clause PRs welcome Dronecode Discord

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

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

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

Dependant Packages

Launch files

No launch files found

Messages

Services

Plugins

No plugins found.

Recent questions tagged px4_msgs at Robotics Stack Exchange

No version for distro indigo showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

px4_msgs package from px4_msgs repo

px4_msgs

ROS Distro
humble

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

Package with the ROS-equivalent of PX4 uORB msgs

Additional Links

Maintainers

  • Nuno Marques
  • Beniamino Pozzan
  • Ramon Roche

Authors

  • Nuno Marques

px4_msgs

Build package pre-commit Latest release Last commit ROS 2 REP-2004 Quality Level 3 Conventional Commits License: BSD-3-Clause PRs welcome Dronecode Discord

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

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

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

Dependant Packages

Launch files

No launch files found

Messages

Services

Plugins

No plugins found.

Recent questions tagged px4_msgs at Robotics Stack Exchange

No version for distro hydro showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

px4_msgs package from px4_msgs repo

px4_msgs

ROS Distro
humble

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

Package with the ROS-equivalent of PX4 uORB msgs

Additional Links

Maintainers

  • Nuno Marques
  • Beniamino Pozzan
  • Ramon Roche

Authors

  • Nuno Marques

px4_msgs

Build package pre-commit Latest release Last commit ROS 2 REP-2004 Quality Level 3 Conventional Commits License: BSD-3-Clause PRs welcome Dronecode Discord

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

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

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

Dependant Packages

Launch files

No launch files found

Messages

Services

Plugins

No plugins found.

Recent questions tagged px4_msgs at Robotics Stack Exchange

Package symbol

px4_msgs package from px4_msgs repo

px4_msgs

ROS Distro
kinetic

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

Package with the ROS-equivalent of PX4 uORB msgs

Additional Links

Maintainers

  • Nuno Marques

Authors

  • Nuno Marques

px4_msgs

GitHub license Build Status

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: Slack

CHANGELOG

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

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

Services

No service files found

Plugins

No plugins found.

Recent questions tagged px4_msgs at Robotics Stack Exchange

Package symbol

px4_msgs package from px4_msgs repo

px4_msgs

ROS Distro
melodic

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

Package with the ROS-equivalent of PX4 uORB msgs

Additional Links

Maintainers

  • Nuno Marques

Authors

  • Nuno Marques

px4_msgs

GitHub license Build Status

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: Slack

CHANGELOG

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

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

Services

No service files found

Plugins

No plugins found.

Recent questions tagged px4_msgs at Robotics Stack Exchange

No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

px4_msgs package from px4_msgs repo

px4_msgs

ROS Distro
humble

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

Package with the ROS-equivalent of PX4 uORB msgs

Additional Links

Maintainers

  • Nuno Marques
  • Beniamino Pozzan
  • Ramon Roche

Authors

  • Nuno Marques

px4_msgs

Build package pre-commit Latest release Last commit ROS 2 REP-2004 Quality Level 3 Conventional Commits License: BSD-3-Clause PRs welcome Dronecode Discord

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

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

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

Dependant Packages

Launch files

No launch files found

Messages

Services

Plugins

No plugins found.

Recent questions tagged px4_msgs at Robotics Stack Exchange