README
px4_msgs
ROS 2 message definitions for the PX4 Autopilot project.
Building this package generates all the required interfaces to interface ROS 2 nodes with the PX4 internals.
Supported versions and compatibility
Depending on the PX4 and ROS versions you want to use, you need to checkout the appropriate branch of this package:
PX4 |
ROS 2 |
Ubuntu |
branch |
|---|---|---|---|
Foxy |
Ubuntu 20.04 |
||
Foxy |
Ubuntu 20.04 |
||
Humble |
Ubuntu 22.04 |
||
Rolling |
Ubuntu 22.04 |
||
Foxy |
Ubuntu 20.04 |
||
Humble |
Ubuntu 22.04 |
||
Rolling |
Ubuntu 22.04 |
||
Foxy |
Ubuntu 22.04 |
||
Humble |
Ubuntu 22.04 |
||
Rolling |
Ubuntu 22.04 |
Messages Sync from PX4
When PX4 message definitions in the main branch of PX4 Autopilot change, a CI/CD pipeline automatically copies and pushes updated ROS message definitions to this repository. This ensures that this repository main branch and the PX4-Autopilot main branch are always up to date.
However, if you are using a custom PX4 version and you modified existing messages or created new one, then you have to manually synchronize them in this repository:
Manual Message Sync
Checkout the correct branch associated to the PX4 version from which you detached you custom version.
Delete all
*.msgand*.srvfiles inmsg/andsrv/.Copy all
*.msgand*.srvfiles fromPX4-Autopilot/msg/andPX4-Autopilot/srv/inmsg/andsrv/, respectively. Assuming that this repository and the PX4-Autopilot repository are placed in your home folder, you can run:rm -f ~/px4_msgs/msg/*.msg rm -f ~/px4_msgs/srv/*.srv cp ~/PX4-Autopilot/msg/*.msg ~/px4_msgs/msg/ cp ~/PX4-Autopilot/msg/versioned/*.msg ~/px4_msgs/msg/ cp ~/PX4-Autopilot/srv/*.srv ~/px4_msgs/srv/
Note: The ROS 2 message generation pipeline requires all messages to be directly under msg/ and doesn’t support sub-directories.
Install, build and usage
Check Using colcon to build packages to understand how this can be built inside a workspace. Check the PX4 ROS 2 User Guide section on the PX4 documentation for further details on how this integrates PX4 and how to exchange messages with the autopilot.
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 PX4 Discord Server.
