Package symbol

mavros_extras package from mavros repo

libmavconn mavros mavros_examples mavros_extras mavros_msgs

ROS Distro
humble

Package Summary

Version 2.16.0
License GPLv3
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/mavlink/mavros.git
VCS Type git
VCS Version ros2
Last Updated 2026-10-24
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Extra nodes and plugins for

Additional Links

Maintainers

  • Vladimir Ermakov

Authors

  • Vladimir Ermakov
  • Amilcar Lucas

mavros extras

Some extra plugins and nodes for mavros.

The full ROS API of every plugin (topics, services, parameters) is documented in the plugin reference and the generated plugin pages.

This package provides the optional plugins:

  • 3dr_radio, adsb, camera, cam_imu_sync, cellular_status, companion_process_status, debug_value, distance_sensor, esc_status, esc_telemetry, fake_gps, gimbal_control, gps_input, gps_rtk, gps_status, guided_target, hil, landing_target, log_transfer, mag_calibration_status, mocap_pose_estimate, mount_control, obstacle_distance, obstacle_distance_3d, odom, onboard_computer_status, open_drone_id, optical_flow, play_tune, px4flow, rangefinder, sim_state, terrain, trajectory, tunnel, vfr_hud, vibration, vision_pose_estimate, vision_speed_estimate, wheel_odometry.

See the plugin reference for how to load and configure each plugin.

CHANGELOG

Changelog for package mavros_extras

2.16.0 (2026-09-27)

  • Merge pull request #2308 from webzuweb/fix/gimbal-control-frame-id-race fix(gimbal_control): guard frame_id/tf_frame_id against data race
  • gimbal_control: fix uncrustify
  • fix(gimbal_control): guard frame_id/tf_frame_id against data race The frame_id and tf_frame_id std::string members are written from parameter callbacks on the plugin node executor and read from MAVLink message handlers on the UAS executor, with no common synchronization. This is a C++ data race (undefined behavior) when parameters change while gimbal messages arrive. Take the existing shared_timed_mutex mu for writes (s_unique_lock) and copy the frame names under a shared lock (s_shared_lock) before use. Fixes #2301
  • Merge pull request #2261 from Daniiiil1/codex/fix-fake-gps-ned-velocity Fix fake GPS velocity frame and COG units
  • extras: move fake GPS velocity/course helpers to frame_tf Move calculate_velocity_ned() and course_over_ground_cdeg() into the generic mavros::ftf helpers and drop the fake_gps_utils.hpp shim and its dedicated test target. The fake GPS velocity and course tests now live in the existing libmavros-frame-conversions test.
  • Merge pull request #2289 from mavlink/check-cbg plugins: fix cmd/command service deadlocks and const shared_ptr deprecation warnings
  • extras: use const shared_ptr in servo_state_publisher callbacks rclcpp deprecates non-const shared_ptr subscription callbacks in favor of ConstSharedPtr. Both robot_description_cb and rc_out_cb only read the received messages.
  • extras: use const shared_ptr in tunnel callback rclcpp deprecates non-const shared_ptr subscription callbacks in favor of ConstSharedPtr. ros_callback only reads the received message.
  • extras: use const shared_ptr in play_tune callback rclcpp deprecates non-const shared_ptr subscription callbacks in favor of ConstSharedPtr. The tune callback only reads the received message.
  • extras: use const shared_ptr in gimbal manual control callback rclcpp deprecates non-const shared_ptr subscription callbacks in favor of ConstSharedPtr. manager_set_manual_control_cb was the only gimbal callback still taking a non-const pointer; it does not modify the message.
  • extras: run mount configure in a dedicated callback group (fix #2286) The throwaway cmd/command client lands in the node default MutuallyExclusive group. Because configure_srv also ran in that group, mount_configure_cb blocked on future.get() while the client response callback could never be scheduled, deadlocking the ~/configure service. Bind configure_srv to its own callback group so the caller and the client response run in disjoint groups.
  • Fix fake GPS test dependency
  • Fix fake GPS NED velocity and course
  • Contributors: Daniil Mordanov, Vladimir Ermakov, webzuweb

2.15.1 (2026-08-22)

  • extras: fix mount diagnostic clock source
  • extras: fix HIL_GPS over-scaling and expose id/yaw (fix #2090)
  • Merge pull request #2260 from mavlink/fix-deprecations Fix deprecations
  • mavros: fix deprecated subscription callback signatures rclcpp deprecates callbacks taking non-const std::shared_ptr<MessageT>. Convert topic subscription callbacks to MessageT::ConstSharedPtr, and the Mavlink router/UAS bus to MessageT::UniquePtr (matching the zero-copy make_unique publisher).
  • docs: restructure node docs and refresh links Move mavros README content into docs/ (connection URLs, frames, nodes, troubleshooting), reduce package READMEs to GitHub overviews, add mermaid diagrams, and refresh docs.ros.org references to Lyrical.
  • Contributors: Vladimir Ermakov

2.15.0 (2026-08-08)

  • Merge pull request #2259 from mavlink/docs-refresh docs: refresh, refactor extractor

  • cog: re-generate all

  • docs: refresh subpackage READMEs

    - mavros: point the API docs link at readthedocs/plugin reference instead of the dead wiki.ros.org page; fix ROS1 roslaunch examples to ros2 launch; note that up-to-date install instructions live in the readthedocs guide.

    • mavros_extras: link to the full plugin reference.
    • libmavconn: link to the docs and API reference.
    • mavros_msgs: add the missing README (message/service overview + API links).
    • test_mavros: mark the ROS1-era SITL hand-tests as historical.
  • docs: remove redundant topic repetitions in plugin docs

File truncated at 100 lines see the full file

Launch files

  • launch/px4flow.launch
      • fcu_url [default: serial:///dev/ttyACM0:921600]
      • gcs_url [default: ]
      • tgt_system [default: 81]
      • tgt_component [default: 50]

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged mavros_extras at Robotics Stack Exchange

Package symbol

mavros_extras package from mavros repo

libmavconn mavros mavros_examples mavros_extras mavros_msgs

ROS Distro
jazzy

Package Summary

Version 2.16.0
License GPLv3
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/mavlink/mavros.git
VCS Type git
VCS Version ros2
Last Updated 2026-10-24
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Extra nodes and plugins for

Additional Links

Maintainers

  • Vladimir Ermakov

Authors

  • Vladimir Ermakov
  • Amilcar Lucas

mavros extras

Some extra plugins and nodes for mavros.

The full ROS API of every plugin (topics, services, parameters) is documented in the plugin reference and the generated plugin pages.

This package provides the optional plugins:

  • 3dr_radio, adsb, camera, cam_imu_sync, cellular_status, companion_process_status, debug_value, distance_sensor, esc_status, esc_telemetry, fake_gps, gimbal_control, gps_input, gps_rtk, gps_status, guided_target, hil, landing_target, log_transfer, mag_calibration_status, mocap_pose_estimate, mount_control, obstacle_distance, obstacle_distance_3d, odom, onboard_computer_status, open_drone_id, optical_flow, play_tune, px4flow, rangefinder, sim_state, terrain, trajectory, tunnel, vfr_hud, vibration, vision_pose_estimate, vision_speed_estimate, wheel_odometry.

See the plugin reference for how to load and configure each plugin.

CHANGELOG

Changelog for package mavros_extras

2.16.0 (2026-09-27)

  • Merge pull request #2308 from webzuweb/fix/gimbal-control-frame-id-race fix(gimbal_control): guard frame_id/tf_frame_id against data race
  • gimbal_control: fix uncrustify
  • fix(gimbal_control): guard frame_id/tf_frame_id against data race The frame_id and tf_frame_id std::string members are written from parameter callbacks on the plugin node executor and read from MAVLink message handlers on the UAS executor, with no common synchronization. This is a C++ data race (undefined behavior) when parameters change while gimbal messages arrive. Take the existing shared_timed_mutex mu for writes (s_unique_lock) and copy the frame names under a shared lock (s_shared_lock) before use. Fixes #2301
  • Merge pull request #2261 from Daniiiil1/codex/fix-fake-gps-ned-velocity Fix fake GPS velocity frame and COG units
  • extras: move fake GPS velocity/course helpers to frame_tf Move calculate_velocity_ned() and course_over_ground_cdeg() into the generic mavros::ftf helpers and drop the fake_gps_utils.hpp shim and its dedicated test target. The fake GPS velocity and course tests now live in the existing libmavros-frame-conversions test.
  • Merge pull request #2289 from mavlink/check-cbg plugins: fix cmd/command service deadlocks and const shared_ptr deprecation warnings
  • extras: use const shared_ptr in servo_state_publisher callbacks rclcpp deprecates non-const shared_ptr subscription callbacks in favor of ConstSharedPtr. Both robot_description_cb and rc_out_cb only read the received messages.
  • extras: use const shared_ptr in tunnel callback rclcpp deprecates non-const shared_ptr subscription callbacks in favor of ConstSharedPtr. ros_callback only reads the received message.
  • extras: use const shared_ptr in play_tune callback rclcpp deprecates non-const shared_ptr subscription callbacks in favor of ConstSharedPtr. The tune callback only reads the received message.
  • extras: use const shared_ptr in gimbal manual control callback rclcpp deprecates non-const shared_ptr subscription callbacks in favor of ConstSharedPtr. manager_set_manual_control_cb was the only gimbal callback still taking a non-const pointer; it does not modify the message.
  • extras: run mount configure in a dedicated callback group (fix #2286) The throwaway cmd/command client lands in the node default MutuallyExclusive group. Because configure_srv also ran in that group, mount_configure_cb blocked on future.get() while the client response callback could never be scheduled, deadlocking the ~/configure service. Bind configure_srv to its own callback group so the caller and the client response run in disjoint groups.
  • Fix fake GPS test dependency
  • Fix fake GPS NED velocity and course
  • Contributors: Daniil Mordanov, Vladimir Ermakov, webzuweb

2.15.1 (2026-08-22)

  • extras: fix mount diagnostic clock source
  • extras: fix HIL_GPS over-scaling and expose id/yaw (fix #2090)
  • Merge pull request #2260 from mavlink/fix-deprecations Fix deprecations
  • mavros: fix deprecated subscription callback signatures rclcpp deprecates callbacks taking non-const std::shared_ptr<MessageT>. Convert topic subscription callbacks to MessageT::ConstSharedPtr, and the Mavlink router/UAS bus to MessageT::UniquePtr (matching the zero-copy make_unique publisher).
  • docs: restructure node docs and refresh links Move mavros README content into docs/ (connection URLs, frames, nodes, troubleshooting), reduce package READMEs to GitHub overviews, add mermaid diagrams, and refresh docs.ros.org references to Lyrical.
  • Contributors: Vladimir Ermakov

2.15.0 (2026-08-08)

  • Merge pull request #2259 from mavlink/docs-refresh docs: refresh, refactor extractor

  • cog: re-generate all

  • docs: refresh subpackage READMEs

    - mavros: point the API docs link at readthedocs/plugin reference instead of the dead wiki.ros.org page; fix ROS1 roslaunch examples to ros2 launch; note that up-to-date install instructions live in the readthedocs guide.

    • mavros_extras: link to the full plugin reference.
    • libmavconn: link to the docs and API reference.
    • mavros_msgs: add the missing README (message/service overview + API links).
    • test_mavros: mark the ROS1-era SITL hand-tests as historical.
  • docs: remove redundant topic repetitions in plugin docs

File truncated at 100 lines see the full file

Launch files

  • launch/px4flow.launch
      • fcu_url [default: serial:///dev/ttyACM0:921600]
      • gcs_url [default: ]
      • tgt_system [default: 81]
      • tgt_component [default: 50]

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged mavros_extras at Robotics Stack Exchange

Package symbol

mavros_extras package from mavros repo

libmavconn mavros mavros_examples mavros_extras mavros_msgs

ROS Distro
kilted

Package Summary

Version 2.16.0
License GPLv3
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/mavlink/mavros.git
VCS Type git
VCS Version ros2
Last Updated 2026-10-24
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Extra nodes and plugins for

Additional Links

Maintainers

  • Vladimir Ermakov

Authors

  • Vladimir Ermakov
  • Amilcar Lucas

mavros extras

Some extra plugins and nodes for mavros.

The full ROS API of every plugin (topics, services, parameters) is documented in the plugin reference and the generated plugin pages.

This package provides the optional plugins:

  • 3dr_radio, adsb, camera, cam_imu_sync, cellular_status, companion_process_status, debug_value, distance_sensor, esc_status, esc_telemetry, fake_gps, gimbal_control, gps_input, gps_rtk, gps_status, guided_target, hil, landing_target, log_transfer, mag_calibration_status, mocap_pose_estimate, mount_control, obstacle_distance, obstacle_distance_3d, odom, onboard_computer_status, open_drone_id, optical_flow, play_tune, px4flow, rangefinder, sim_state, terrain, trajectory, tunnel, vfr_hud, vibration, vision_pose_estimate, vision_speed_estimate, wheel_odometry.

See the plugin reference for how to load and configure each plugin.

CHANGELOG

Changelog for package mavros_extras

2.16.0 (2026-09-27)

  • Merge pull request #2308 from webzuweb/fix/gimbal-control-frame-id-race fix(gimbal_control): guard frame_id/tf_frame_id against data race
  • gimbal_control: fix uncrustify
  • fix(gimbal_control): guard frame_id/tf_frame_id against data race The frame_id and tf_frame_id std::string members are written from parameter callbacks on the plugin node executor and read from MAVLink message handlers on the UAS executor, with no common synchronization. This is a C++ data race (undefined behavior) when parameters change while gimbal messages arrive. Take the existing shared_timed_mutex mu for writes (s_unique_lock) and copy the frame names under a shared lock (s_shared_lock) before use. Fixes #2301
  • Merge pull request #2261 from Daniiiil1/codex/fix-fake-gps-ned-velocity Fix fake GPS velocity frame and COG units
  • extras: move fake GPS velocity/course helpers to frame_tf Move calculate_velocity_ned() and course_over_ground_cdeg() into the generic mavros::ftf helpers and drop the fake_gps_utils.hpp shim and its dedicated test target. The fake GPS velocity and course tests now live in the existing libmavros-frame-conversions test.
  • Merge pull request #2289 from mavlink/check-cbg plugins: fix cmd/command service deadlocks and const shared_ptr deprecation warnings
  • extras: use const shared_ptr in servo_state_publisher callbacks rclcpp deprecates non-const shared_ptr subscription callbacks in favor of ConstSharedPtr. Both robot_description_cb and rc_out_cb only read the received messages.
  • extras: use const shared_ptr in tunnel callback rclcpp deprecates non-const shared_ptr subscription callbacks in favor of ConstSharedPtr. ros_callback only reads the received message.
  • extras: use const shared_ptr in play_tune callback rclcpp deprecates non-const shared_ptr subscription callbacks in favor of ConstSharedPtr. The tune callback only reads the received message.
  • extras: use const shared_ptr in gimbal manual control callback rclcpp deprecates non-const shared_ptr subscription callbacks in favor of ConstSharedPtr. manager_set_manual_control_cb was the only gimbal callback still taking a non-const pointer; it does not modify the message.
  • extras: run mount configure in a dedicated callback group (fix #2286) The throwaway cmd/command client lands in the node default MutuallyExclusive group. Because configure_srv also ran in that group, mount_configure_cb blocked on future.get() while the client response callback could never be scheduled, deadlocking the ~/configure service. Bind configure_srv to its own callback group so the caller and the client response run in disjoint groups.
  • Fix fake GPS test dependency
  • Fix fake GPS NED velocity and course
  • Contributors: Daniil Mordanov, Vladimir Ermakov, webzuweb

2.15.1 (2026-08-22)

  • extras: fix mount diagnostic clock source
  • extras: fix HIL_GPS over-scaling and expose id/yaw (fix #2090)
  • Merge pull request #2260 from mavlink/fix-deprecations Fix deprecations
  • mavros: fix deprecated subscription callback signatures rclcpp deprecates callbacks taking non-const std::shared_ptr<MessageT>. Convert topic subscription callbacks to MessageT::ConstSharedPtr, and the Mavlink router/UAS bus to MessageT::UniquePtr (matching the zero-copy make_unique publisher).
  • docs: restructure node docs and refresh links Move mavros README content into docs/ (connection URLs, frames, nodes, troubleshooting), reduce package READMEs to GitHub overviews, add mermaid diagrams, and refresh docs.ros.org references to Lyrical.
  • Contributors: Vladimir Ermakov

2.15.0 (2026-08-08)

  • Merge pull request #2259 from mavlink/docs-refresh docs: refresh, refactor extractor

  • cog: re-generate all

  • docs: refresh subpackage READMEs

    - mavros: point the API docs link at readthedocs/plugin reference instead of the dead wiki.ros.org page; fix ROS1 roslaunch examples to ros2 launch; note that up-to-date install instructions live in the readthedocs guide.

    • mavros_extras: link to the full plugin reference.
    • libmavconn: link to the docs and API reference.
    • mavros_msgs: add the missing README (message/service overview + API links).
    • test_mavros: mark the ROS1-era SITL hand-tests as historical.
  • docs: remove redundant topic repetitions in plugin docs

File truncated at 100 lines see the full file

Launch files

  • launch/px4flow.launch
      • fcu_url [default: serial:///dev/ttyACM0:921600]
      • gcs_url [default: ]
      • tgt_system [default: 81]
      • tgt_component [default: 50]

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged mavros_extras at Robotics Stack Exchange

Package symbol

mavros_extras package from mavros repo

libmavconn mavros mavros_examples mavros_extras mavros_msgs

ROS Distro
lyrical

Package Summary

Version 2.16.0
License GPLv3
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/mavlink/mavros.git
VCS Type git
VCS Version ros2
Last Updated 2026-10-24
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Extra nodes and plugins for

Additional Links

Maintainers

  • Vladimir Ermakov

Authors

  • Vladimir Ermakov
  • Amilcar Lucas

mavros extras

Some extra plugins and nodes for mavros.

The full ROS API of every plugin (topics, services, parameters) is documented in the plugin reference and the generated plugin pages.

This package provides the optional plugins:

  • 3dr_radio, adsb, camera, cam_imu_sync, cellular_status, companion_process_status, debug_value, distance_sensor, esc_status, esc_telemetry, fake_gps, gimbal_control, gps_input, gps_rtk, gps_status, guided_target, hil, landing_target, log_transfer, mag_calibration_status, mocap_pose_estimate, mount_control, obstacle_distance, obstacle_distance_3d, odom, onboard_computer_status, open_drone_id, optical_flow, play_tune, px4flow, rangefinder, sim_state, terrain, trajectory, tunnel, vfr_hud, vibration, vision_pose_estimate, vision_speed_estimate, wheel_odometry.

See the plugin reference for how to load and configure each plugin.

CHANGELOG

Changelog for package mavros_extras

2.16.0 (2026-09-27)

  • Merge pull request #2308 from webzuweb/fix/gimbal-control-frame-id-race fix(gimbal_control): guard frame_id/tf_frame_id against data race
  • gimbal_control: fix uncrustify
  • fix(gimbal_control): guard frame_id/tf_frame_id against data race The frame_id and tf_frame_id std::string members are written from parameter callbacks on the plugin node executor and read from MAVLink message handlers on the UAS executor, with no common synchronization. This is a C++ data race (undefined behavior) when parameters change while gimbal messages arrive. Take the existing shared_timed_mutex mu for writes (s_unique_lock) and copy the frame names under a shared lock (s_shared_lock) before use. Fixes #2301
  • Merge pull request #2261 from Daniiiil1/codex/fix-fake-gps-ned-velocity Fix fake GPS velocity frame and COG units
  • extras: move fake GPS velocity/course helpers to frame_tf Move calculate_velocity_ned() and course_over_ground_cdeg() into the generic mavros::ftf helpers and drop the fake_gps_utils.hpp shim and its dedicated test target. The fake GPS velocity and course tests now live in the existing libmavros-frame-conversions test.
  • Merge pull request #2289 from mavlink/check-cbg plugins: fix cmd/command service deadlocks and const shared_ptr deprecation warnings
  • extras: use const shared_ptr in servo_state_publisher callbacks rclcpp deprecates non-const shared_ptr subscription callbacks in favor of ConstSharedPtr. Both robot_description_cb and rc_out_cb only read the received messages.
  • extras: use const shared_ptr in tunnel callback rclcpp deprecates non-const shared_ptr subscription callbacks in favor of ConstSharedPtr. ros_callback only reads the received message.
  • extras: use const shared_ptr in play_tune callback rclcpp deprecates non-const shared_ptr subscription callbacks in favor of ConstSharedPtr. The tune callback only reads the received message.
  • extras: use const shared_ptr in gimbal manual control callback rclcpp deprecates non-const shared_ptr subscription callbacks in favor of ConstSharedPtr. manager_set_manual_control_cb was the only gimbal callback still taking a non-const pointer; it does not modify the message.
  • extras: run mount configure in a dedicated callback group (fix #2286) The throwaway cmd/command client lands in the node default MutuallyExclusive group. Because configure_srv also ran in that group, mount_configure_cb blocked on future.get() while the client response callback could never be scheduled, deadlocking the ~/configure service. Bind configure_srv to its own callback group so the caller and the client response run in disjoint groups.
  • Fix fake GPS test dependency
  • Fix fake GPS NED velocity and course
  • Contributors: Daniil Mordanov, Vladimir Ermakov, webzuweb

2.15.1 (2026-08-22)

  • extras: fix mount diagnostic clock source
  • extras: fix HIL_GPS over-scaling and expose id/yaw (fix #2090)
  • Merge pull request #2260 from mavlink/fix-deprecations Fix deprecations
  • mavros: fix deprecated subscription callback signatures rclcpp deprecates callbacks taking non-const std::shared_ptr<MessageT>. Convert topic subscription callbacks to MessageT::ConstSharedPtr, and the Mavlink router/UAS bus to MessageT::UniquePtr (matching the zero-copy make_unique publisher).
  • docs: restructure node docs and refresh links Move mavros README content into docs/ (connection URLs, frames, nodes, troubleshooting), reduce package READMEs to GitHub overviews, add mermaid diagrams, and refresh docs.ros.org references to Lyrical.
  • Contributors: Vladimir Ermakov

2.15.0 (2026-08-08)

  • Merge pull request #2259 from mavlink/docs-refresh docs: refresh, refactor extractor

  • cog: re-generate all

  • docs: refresh subpackage READMEs

    - mavros: point the API docs link at readthedocs/plugin reference instead of the dead wiki.ros.org page; fix ROS1 roslaunch examples to ros2 launch; note that up-to-date install instructions live in the readthedocs guide.

    • mavros_extras: link to the full plugin reference.
    • libmavconn: link to the docs and API reference.
    • mavros_msgs: add the missing README (message/service overview + API links).
    • test_mavros: mark the ROS1-era SITL hand-tests as historical.
  • docs: remove redundant topic repetitions in plugin docs

File truncated at 100 lines see the full file

Launch files

  • launch/px4flow.launch
      • fcu_url [default: serial:///dev/ttyACM0:921600]
      • gcs_url [default: ]
      • tgt_system [default: 81]
      • tgt_component [default: 50]

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged mavros_extras at Robotics Stack Exchange

Package symbol

mavros_extras package from mavros repo

libmavconn mavros mavros_examples mavros_extras mavros_msgs

ROS Distro
rolling

Package Summary

Version 2.16.0
License GPLv3
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/mavlink/mavros.git
VCS Type git
VCS Version ros2
Last Updated 2026-10-24
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Extra nodes and plugins for

Additional Links

Maintainers

  • Vladimir Ermakov

Authors

  • Vladimir Ermakov
  • Amilcar Lucas

mavros extras

Some extra plugins and nodes for mavros.

The full ROS API of every plugin (topics, services, parameters) is documented in the plugin reference and the generated plugin pages.

This package provides the optional plugins:

  • 3dr_radio, adsb, camera, cam_imu_sync, cellular_status, companion_process_status, debug_value, distance_sensor, esc_status, esc_telemetry, fake_gps, gimbal_control, gps_input, gps_rtk, gps_status, guided_target, hil, landing_target, log_transfer, mag_calibration_status, mocap_pose_estimate, mount_control, obstacle_distance, obstacle_distance_3d, odom, onboard_computer_status, open_drone_id, optical_flow, play_tune, px4flow, rangefinder, sim_state, terrain, trajectory, tunnel, vfr_hud, vibration, vision_pose_estimate, vision_speed_estimate, wheel_odometry.

See the plugin reference for how to load and configure each plugin.

CHANGELOG

Changelog for package mavros_extras

2.16.0 (2026-09-27)

  • Merge pull request #2308 from webzuweb/fix/gimbal-control-frame-id-race fix(gimbal_control): guard frame_id/tf_frame_id against data race
  • gimbal_control: fix uncrustify
  • fix(gimbal_control): guard frame_id/tf_frame_id against data race The frame_id and tf_frame_id std::string members are written from parameter callbacks on the plugin node executor and read from MAVLink message handlers on the UAS executor, with no common synchronization. This is a C++ data race (undefined behavior) when parameters change while gimbal messages arrive. Take the existing shared_timed_mutex mu for writes (s_unique_lock) and copy the frame names under a shared lock (s_shared_lock) before use. Fixes #2301
  • Merge pull request #2261 from Daniiiil1/codex/fix-fake-gps-ned-velocity Fix fake GPS velocity frame and COG units
  • extras: move fake GPS velocity/course helpers to frame_tf Move calculate_velocity_ned() and course_over_ground_cdeg() into the generic mavros::ftf helpers and drop the fake_gps_utils.hpp shim and its dedicated test target. The fake GPS velocity and course tests now live in the existing libmavros-frame-conversions test.
  • Merge pull request #2289 from mavlink/check-cbg plugins: fix cmd/command service deadlocks and const shared_ptr deprecation warnings
  • extras: use const shared_ptr in servo_state_publisher callbacks rclcpp deprecates non-const shared_ptr subscription callbacks in favor of ConstSharedPtr. Both robot_description_cb and rc_out_cb only read the received messages.
  • extras: use const shared_ptr in tunnel callback rclcpp deprecates non-const shared_ptr subscription callbacks in favor of ConstSharedPtr. ros_callback only reads the received message.
  • extras: use const shared_ptr in play_tune callback rclcpp deprecates non-const shared_ptr subscription callbacks in favor of ConstSharedPtr. The tune callback only reads the received message.
  • extras: use const shared_ptr in gimbal manual control callback rclcpp deprecates non-const shared_ptr subscription callbacks in favor of ConstSharedPtr. manager_set_manual_control_cb was the only gimbal callback still taking a non-const pointer; it does not modify the message.
  • extras: run mount configure in a dedicated callback group (fix #2286) The throwaway cmd/command client lands in the node default MutuallyExclusive group. Because configure_srv also ran in that group, mount_configure_cb blocked on future.get() while the client response callback could never be scheduled, deadlocking the ~/configure service. Bind configure_srv to its own callback group so the caller and the client response run in disjoint groups.
  • Fix fake GPS test dependency
  • Fix fake GPS NED velocity and course
  • Contributors: Daniil Mordanov, Vladimir Ermakov, webzuweb

2.15.1 (2026-08-22)

  • extras: fix mount diagnostic clock source
  • extras: fix HIL_GPS over-scaling and expose id/yaw (fix #2090)
  • Merge pull request #2260 from mavlink/fix-deprecations Fix deprecations
  • mavros: fix deprecated subscription callback signatures rclcpp deprecates callbacks taking non-const std::shared_ptr<MessageT>. Convert topic subscription callbacks to MessageT::ConstSharedPtr, and the Mavlink router/UAS bus to MessageT::UniquePtr (matching the zero-copy make_unique publisher).
  • docs: restructure node docs and refresh links Move mavros README content into docs/ (connection URLs, frames, nodes, troubleshooting), reduce package READMEs to GitHub overviews, add mermaid diagrams, and refresh docs.ros.org references to Lyrical.
  • Contributors: Vladimir Ermakov

2.15.0 (2026-08-08)

  • Merge pull request #2259 from mavlink/docs-refresh docs: refresh, refactor extractor

  • cog: re-generate all

  • docs: refresh subpackage READMEs

    - mavros: point the API docs link at readthedocs/plugin reference instead of the dead wiki.ros.org page; fix ROS1 roslaunch examples to ros2 launch; note that up-to-date install instructions live in the readthedocs guide.

    • mavros_extras: link to the full plugin reference.
    • libmavconn: link to the docs and API reference.
    • mavros_msgs: add the missing README (message/service overview + API links).
    • test_mavros: mark the ROS1-era SITL hand-tests as historical.
  • docs: remove redundant topic repetitions in plugin docs

File truncated at 100 lines see the full file

Launch files

  • launch/px4flow.launch
      • fcu_url [default: serial:///dev/ttyACM0:921600]
      • gcs_url [default: ]
      • tgt_system [default: 81]
      • tgt_component [default: 50]

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged mavros_extras at Robotics Stack Exchange

Package Summary

Version 1.5.1
License GPLv3
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/arijitnoobstar/uavprojectilecatcher.git
VCS Type git
VCS Version master
Last Updated 2021-05-16
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Extra nodes and plugins for

Additional Links

Maintainers

  • Vladimir Ermakov

Authors

  • Vladimir Ermakov
  • Amilcar Lucas

mavros extras

Some extra plugins and nodes for [mavros][mr].

ADSB

Publish/subscribe to the location and information of an ADS-B vehicle.

cam_imu_sync

Publish camera trigger data for synchronisation of IMU and camera frames.

debug_value

Subs/Pubs debug msgs from and to the FCU.

distance_sensor

Publish DISTANCE_SENSOR message data from FCU or connected sensors in companion computer.

fake_gps

Sends fake GPS from local position estimation source data (motion capture, vision) to FCU.

gps_status

Publish GPS_RAW and GPS_RTK messages from FCU.

gps_rtk

Sends the RTCM messages to the FCU for the RTK Fix.

log_transfer

Expose firmware functionality, that is related to log transfer

mocap_pose_estimate

Send motion capture pose estimate to FCU. Currently, not used by the FCU. Data can be send via vision_position plugin.

obstacle_distance

Send obstacle distance report to the FCU.

odom

Send odometry to FCU from another estimator.

px4flow

Publish OPTICAL_FLOW_RAD data from FCU or PX4Flow module.

rangefinder

Publish RANGEFINDER message data from FCU sensors in companion computer.

trajectory

Receive planned path from the FCU and send back corrected path (collision free, smoothed) to the FCU.

wheel_odometry

Compute and publish wheel odometry coming from FCU sensors.

vibration

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mavros_extras

1.5.1 (2021-01-04)

  • Initialise message structures Uninitialised Mavlink 2 extension fields were sent if the fields were not later set. Initialising the fields to zero is the default value for extension fields and appears to the receiver as though sender is unaware of Mavlink 2. Instances were found with regex below, more may exist: mavlink::[\^:]+::msg::[\^:={]+ ?[\^:={]*;
  • Contributors: Rob Clarke

1.5.0 (2020-11-11)

  • mavros_extras: Fix member initialization order
  • mavros_extras: Add override specifiers
  • mavros_extras: distance_sensor: Don't publish data when orientation configuration does not match incomming data.
  • fake_gps: Fix assignment typo This colon should probably be an equals sign. With the colon, this assignment becomes a label instead, and [_gps_rate]{.title-ref} after the colon becomes an unused expression result.
  • Contributors: Kristian Klausen, Morten Fyhn Amundsen

1.4.0 (2020-09-11)

1.3.0 (2020-08-08)

  • Take into account message count for message size
  • Add esc_status plugin.
  • fake_gps.cpp: Implement GPS time data
  • fake_gps.cpp: implement speed accuracy
  • fake_gps.cpp: Added horiz_accuracy and vert_accuracy parameters
  • fake_gps.cpp: Add mocap_withcovariance configuration parameter
  • fake_gps.cpp: add initial support for GPS_INPUT MAVLink message
  • fake_gps.cpp: uncrustify
  • Add gps_status plugin to publish GPS_RAW and GPS_RTK messages from FCU. The timestamps for the gps_status topics take into account the mavlink time and uses the convienence function
  • uncrustify gps_rtk plugin
  • adding support for publishing rtkbaseline msgs over ROS
  • Contributors: CSCE439, Dr.-Ing. Amilcar do Carmo Lucas, Ricardo Marques

1.2.0 (2020-05-22)

  • Revert "extras: odom: Hardcode BODY_FRD enum_value to fix compilation" This reverts commit 1a898dea2202ee1af56d698bd40d40994346c5cb.
  • extras: odom: Hardcode BODY_FRD enum_value to fix compilation That PR broke build: https://github.com/mavlink/mavlink/pull/1112 TODO: find out what frame should be used
  • Contributors: Vladimir Ermakov

1.1.0 (2020-04-04)

  • Setting the same transparency for all elements
  • Visualization of the direction of the device
  • add support for bezier
  • Contributors: Alamoris, Martina Rivizzigno

1.0.0 (2020-01-01)

  • Change odometry subscription queue to 1 to avoid buffering.
  • Contributors: James Goppert

0.33.4 (2019-12-12)

  • obstacle_distance: Fill both increment and increment_f fields
  • obstacle_distance: Fix wrong angle increment The computation [req->angle_increment * RAD_TO_DEG]{.title-ref} correctly computes angle increment in degrees as a float, but the [increment]{.title-ref} field of the OBSTACLE_DISTANCE MAVLink message is a uint8, so the float value gets truncated. So if your real increment is 10 degrees, you may a floating point value of something like 9.999999, which results in the integer value 9 getting written to the increment field. An improvement would be to round properly, with something like [static_cast<uint8_t>(increment_deg_float)]{.title-ref}, but a better solution is to allow non-integer degree values for the increment, which is supported by the [increment_f]{.title-ref} field. According to the MAVLink reference, increment_f is used instead of increment whenever increment_f is nonzero.
  • Contributors: Morten Fyhn Amundsen

0.33.3 (2019-11-13)

  • package: fix 6fa58e59 - main package depends on trajectory_msgs, not extras

File truncated at 100 lines see the full file

Launch files

  • launch/px4_image.launch
      • fcu_url [default: serial:///dev/ttyACM0:57600]
      • gcs_url [default: udp://@]
      • tgt_system [default: 1]
      • tgt_component [default: 1]
  • launch/px4flow.launch
      • fcu_url [default: serial:///dev/ttyACM0:921600]
      • gcs_url [default: ]
      • tgt_system [default: 81]
      • tgt_component [default: 50]
  • launch/teleop.launch
      • teleop_args [default: -att]

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged mavros_extras at Robotics Stack Exchange

Package symbol

mavros_extras package from mavros repo

libmavconn mavros mavros_examples mavros_extras mavros_msgs

ROS Distro
galactic

Package Summary

Version 2.16.0
License GPLv3
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/mavlink/mavros.git
VCS Type git
VCS Version ros2
Last Updated 2026-10-24
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Extra nodes and plugins for

Additional Links

Maintainers

  • Vladimir Ermakov

Authors

  • Vladimir Ermakov
  • Amilcar Lucas

mavros extras

Some extra plugins and nodes for mavros.

The full ROS API of every plugin (topics, services, parameters) is documented in the plugin reference and the generated plugin pages.

This package provides the optional plugins:

  • 3dr_radio, adsb, camera, cam_imu_sync, cellular_status, companion_process_status, debug_value, distance_sensor, esc_status, esc_telemetry, fake_gps, gimbal_control, gps_input, gps_rtk, gps_status, guided_target, hil, landing_target, log_transfer, mag_calibration_status, mocap_pose_estimate, mount_control, obstacle_distance, obstacle_distance_3d, odom, onboard_computer_status, open_drone_id, optical_flow, play_tune, px4flow, rangefinder, sim_state, terrain, trajectory, tunnel, vfr_hud, vibration, vision_pose_estimate, vision_speed_estimate, wheel_odometry.

See the plugin reference for how to load and configure each plugin.

CHANGELOG

Changelog for package mavros_extras

2.16.0 (2026-09-27)

  • Merge pull request #2308 from webzuweb/fix/gimbal-control-frame-id-race fix(gimbal_control): guard frame_id/tf_frame_id against data race
  • gimbal_control: fix uncrustify
  • fix(gimbal_control): guard frame_id/tf_frame_id against data race The frame_id and tf_frame_id std::string members are written from parameter callbacks on the plugin node executor and read from MAVLink message handlers on the UAS executor, with no common synchronization. This is a C++ data race (undefined behavior) when parameters change while gimbal messages arrive. Take the existing shared_timed_mutex mu for writes (s_unique_lock) and copy the frame names under a shared lock (s_shared_lock) before use. Fixes #2301
  • Merge pull request #2261 from Daniiiil1/codex/fix-fake-gps-ned-velocity Fix fake GPS velocity frame and COG units
  • extras: move fake GPS velocity/course helpers to frame_tf Move calculate_velocity_ned() and course_over_ground_cdeg() into the generic mavros::ftf helpers and drop the fake_gps_utils.hpp shim and its dedicated test target. The fake GPS velocity and course tests now live in the existing libmavros-frame-conversions test.
  • Merge pull request #2289 from mavlink/check-cbg plugins: fix cmd/command service deadlocks and const shared_ptr deprecation warnings
  • extras: use const shared_ptr in servo_state_publisher callbacks rclcpp deprecates non-const shared_ptr subscription callbacks in favor of ConstSharedPtr. Both robot_description_cb and rc_out_cb only read the received messages.
  • extras: use const shared_ptr in tunnel callback rclcpp deprecates non-const shared_ptr subscription callbacks in favor of ConstSharedPtr. ros_callback only reads the received message.
  • extras: use const shared_ptr in play_tune callback rclcpp deprecates non-const shared_ptr subscription callbacks in favor of ConstSharedPtr. The tune callback only reads the received message.
  • extras: use const shared_ptr in gimbal manual control callback rclcpp deprecates non-const shared_ptr subscription callbacks in favor of ConstSharedPtr. manager_set_manual_control_cb was the only gimbal callback still taking a non-const pointer; it does not modify the message.
  • extras: run mount configure in a dedicated callback group (fix #2286) The throwaway cmd/command client lands in the node default MutuallyExclusive group. Because configure_srv also ran in that group, mount_configure_cb blocked on future.get() while the client response callback could never be scheduled, deadlocking the ~/configure service. Bind configure_srv to its own callback group so the caller and the client response run in disjoint groups.
  • Fix fake GPS test dependency
  • Fix fake GPS NED velocity and course
  • Contributors: Daniil Mordanov, Vladimir Ermakov, webzuweb

2.15.1 (2026-08-22)

  • extras: fix mount diagnostic clock source
  • extras: fix HIL_GPS over-scaling and expose id/yaw (fix #2090)
  • Merge pull request #2260 from mavlink/fix-deprecations Fix deprecations
  • mavros: fix deprecated subscription callback signatures rclcpp deprecates callbacks taking non-const std::shared_ptr<MessageT>. Convert topic subscription callbacks to MessageT::ConstSharedPtr, and the Mavlink router/UAS bus to MessageT::UniquePtr (matching the zero-copy make_unique publisher).
  • docs: restructure node docs and refresh links Move mavros README content into docs/ (connection URLs, frames, nodes, troubleshooting), reduce package READMEs to GitHub overviews, add mermaid diagrams, and refresh docs.ros.org references to Lyrical.
  • Contributors: Vladimir Ermakov

2.15.0 (2026-08-08)

  • Merge pull request #2259 from mavlink/docs-refresh docs: refresh, refactor extractor

  • cog: re-generate all

  • docs: refresh subpackage READMEs

    - mavros: point the API docs link at readthedocs/plugin reference instead of the dead wiki.ros.org page; fix ROS1 roslaunch examples to ros2 launch; note that up-to-date install instructions live in the readthedocs guide.

    • mavros_extras: link to the full plugin reference.
    • libmavconn: link to the docs and API reference.
    • mavros_msgs: add the missing README (message/service overview + API links).
    • test_mavros: mark the ROS1-era SITL hand-tests as historical.
  • docs: remove redundant topic repetitions in plugin docs

File truncated at 100 lines see the full file

Launch files

  • launch/px4flow.launch
      • fcu_url [default: serial:///dev/ttyACM0:921600]
      • gcs_url [default: ]
      • tgt_system [default: 81]
      • tgt_component [default: 50]

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged mavros_extras at Robotics Stack Exchange

Package symbol

mavros_extras package from mavros repo

libmavconn mavros mavros_examples mavros_extras mavros_msgs

ROS Distro
iron

Package Summary

Version 2.16.0
License GPLv3
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/mavlink/mavros.git
VCS Type git
VCS Version ros2
Last Updated 2026-10-24
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Extra nodes and plugins for

Additional Links

Maintainers

  • Vladimir Ermakov

Authors

  • Vladimir Ermakov
  • Amilcar Lucas

mavros extras

Some extra plugins and nodes for mavros.

The full ROS API of every plugin (topics, services, parameters) is documented in the plugin reference and the generated plugin pages.

This package provides the optional plugins:

  • 3dr_radio, adsb, camera, cam_imu_sync, cellular_status, companion_process_status, debug_value, distance_sensor, esc_status, esc_telemetry, fake_gps, gimbal_control, gps_input, gps_rtk, gps_status, guided_target, hil, landing_target, log_transfer, mag_calibration_status, mocap_pose_estimate, mount_control, obstacle_distance, obstacle_distance_3d, odom, onboard_computer_status, open_drone_id, optical_flow, play_tune, px4flow, rangefinder, sim_state, terrain, trajectory, tunnel, vfr_hud, vibration, vision_pose_estimate, vision_speed_estimate, wheel_odometry.

See the plugin reference for how to load and configure each plugin.

CHANGELOG

Changelog for package mavros_extras

2.16.0 (2026-09-27)

  • Merge pull request #2308 from webzuweb/fix/gimbal-control-frame-id-race fix(gimbal_control): guard frame_id/tf_frame_id against data race
  • gimbal_control: fix uncrustify
  • fix(gimbal_control): guard frame_id/tf_frame_id against data race The frame_id and tf_frame_id std::string members are written from parameter callbacks on the plugin node executor and read from MAVLink message handlers on the UAS executor, with no common synchronization. This is a C++ data race (undefined behavior) when parameters change while gimbal messages arrive. Take the existing shared_timed_mutex mu for writes (s_unique_lock) and copy the frame names under a shared lock (s_shared_lock) before use. Fixes #2301
  • Merge pull request #2261 from Daniiiil1/codex/fix-fake-gps-ned-velocity Fix fake GPS velocity frame and COG units
  • extras: move fake GPS velocity/course helpers to frame_tf Move calculate_velocity_ned() and course_over_ground_cdeg() into the generic mavros::ftf helpers and drop the fake_gps_utils.hpp shim and its dedicated test target. The fake GPS velocity and course tests now live in the existing libmavros-frame-conversions test.
  • Merge pull request #2289 from mavlink/check-cbg plugins: fix cmd/command service deadlocks and const shared_ptr deprecation warnings
  • extras: use const shared_ptr in servo_state_publisher callbacks rclcpp deprecates non-const shared_ptr subscription callbacks in favor of ConstSharedPtr. Both robot_description_cb and rc_out_cb only read the received messages.
  • extras: use const shared_ptr in tunnel callback rclcpp deprecates non-const shared_ptr subscription callbacks in favor of ConstSharedPtr. ros_callback only reads the received message.
  • extras: use const shared_ptr in play_tune callback rclcpp deprecates non-const shared_ptr subscription callbacks in favor of ConstSharedPtr. The tune callback only reads the received message.
  • extras: use const shared_ptr in gimbal manual control callback rclcpp deprecates non-const shared_ptr subscription callbacks in favor of ConstSharedPtr. manager_set_manual_control_cb was the only gimbal callback still taking a non-const pointer; it does not modify the message.
  • extras: run mount configure in a dedicated callback group (fix #2286) The throwaway cmd/command client lands in the node default MutuallyExclusive group. Because configure_srv also ran in that group, mount_configure_cb blocked on future.get() while the client response callback could never be scheduled, deadlocking the ~/configure service. Bind configure_srv to its own callback group so the caller and the client response run in disjoint groups.
  • Fix fake GPS test dependency
  • Fix fake GPS NED velocity and course
  • Contributors: Daniil Mordanov, Vladimir Ermakov, webzuweb

2.15.1 (2026-08-22)

  • extras: fix mount diagnostic clock source
  • extras: fix HIL_GPS over-scaling and expose id/yaw (fix #2090)
  • Merge pull request #2260 from mavlink/fix-deprecations Fix deprecations
  • mavros: fix deprecated subscription callback signatures rclcpp deprecates callbacks taking non-const std::shared_ptr<MessageT>. Convert topic subscription callbacks to MessageT::ConstSharedPtr, and the Mavlink router/UAS bus to MessageT::UniquePtr (matching the zero-copy make_unique publisher).
  • docs: restructure node docs and refresh links Move mavros README content into docs/ (connection URLs, frames, nodes, troubleshooting), reduce package READMEs to GitHub overviews, add mermaid diagrams, and refresh docs.ros.org references to Lyrical.
  • Contributors: Vladimir Ermakov

2.15.0 (2026-08-08)

  • Merge pull request #2259 from mavlink/docs-refresh docs: refresh, refactor extractor

  • cog: re-generate all

  • docs: refresh subpackage READMEs

    - mavros: point the API docs link at readthedocs/plugin reference instead of the dead wiki.ros.org page; fix ROS1 roslaunch examples to ros2 launch; note that up-to-date install instructions live in the readthedocs guide.

    • mavros_extras: link to the full plugin reference.
    • libmavconn: link to the docs and API reference.
    • mavros_msgs: add the missing README (message/service overview + API links).
    • test_mavros: mark the ROS1-era SITL hand-tests as historical.
  • docs: remove redundant topic repetitions in plugin docs

File truncated at 100 lines see the full file

Launch files

  • launch/px4flow.launch
      • fcu_url [default: serial:///dev/ttyACM0:921600]
      • gcs_url [default: ]
      • tgt_system [default: 81]
      • tgt_component [default: 50]

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged mavros_extras at Robotics Stack Exchange

Package symbol

mavros_extras package from mavros repo

libmavconn mavros mavros_extras mavros_msgs test_mavros

ROS Distro
melodic

Package Summary

Version 1.21.1
License GPLv3
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/mavlink/mavros.git
VCS Type git
VCS Version master
Last Updated 2025-12-12
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Extra nodes and plugins for

Additional Links

Maintainers

  • Vladimir Ermakov

Authors

  • Vladimir Ermakov
  • Amilcar Lucas

mavros extras

Some extra plugins and nodes for [mavros][mr].

ADSB

Publish/subscribe to the location and information of an ADS-B vehicle.

cam_imu_sync

Publish camera trigger data for synchronisation of IMU and camera frames.

debug_value

Subs/Pubs debug msgs from and to the FCU.

distance_sensor

Publish DISTANCE_SENSOR message data from FCU or connected sensors in companion computer.

fake_gps

Sends fake GPS from local position estimation source data (motion capture, vision) to FCU.

gps_input

Send GPS_INPUT messages to the FCU.

gps_status

Publish GPS_RAW and GPS_RTK messages from FCU.

gps_rtk

Sends the RTCM messages to the FCU for the RTK Fix.

log_transfer

Expose firmware functionality, that is related to log transfer

mocap_pose_estimate

Send motion capture pose estimate to FCU. Currently, not used by the FCU. Data can be send via vision_position plugin.

obstacle_distance

Send obstacle distance report to the FCU.

odom

Send odometry to FCU from another estimator.

px4flow

Publish OPTICAL_FLOW_RAD data from FCU or PX4Flow module.

rangefinder

Publish RANGEFINDER message data from FCU sensors in companion computer.

trajectory

Receive planned path from the FCU and send back corrected path (collision free, smoothed) to the FCU.

wheel_odometry

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mavros_extras

1.21.1 (2025-12-12)

  • extras: fix misprint
  • extras landing_target: fix #2080 fov vector init
  • Contributors: Vladimir Ermakov

1.21.0 (2025-09-08)

  • regenerate all
  • Contributors: Vladimir Ermakov

1.20.1 (2025-05-05)

1.20.0 (2024-10-10)

  • Add missing std_srvs dependency
  • add param to odom plugin
  • add frame_id parameter
  • Fix compile error when compiling with gcc 13 The error is: src/plugins/mag_calibration_status.cpp:64:22: error: ‘bitset’ is not a member of ‘std’
  • Contributors: EnderMandS, Michal Sojka, Roland Arsenault

1.19.0 (2024-06-06)

1.18.0 (2024-03-03)

  • [camera plugin] Fix image_index and capture_result not properly filled
  • Fix missing semi-colon
  • GPS_STATUS Plugin: Fill in available messages for ROS1 legacy Filled in available fields in GPS_RAW_INT & GPS2_RAW messages p.s. seems GPS2_RAW more complete than original GPS_RAW_INT
  • Contributors: Beniamino Pozzan, Seunghwan Jo

1.17.0 (2023-09-09)

  • Merge pull request #1865 from scoutdi/warnings Fix / suppress some build warnings
  • mavros_extras: Fix some init order warnings
  • Suppress warnings from included headers
  • Contributors: Morten Fyhn Amundsen, Vladimir Ermakov

1.16.0 (2023-05-05)

  • Merge pull request #1817 from lucasw/pluginlib_hpp use hpp instead of deprecated .h pluginlib headers
  • use hpp instead of deprecated .h pluginlib headers
  • Contributors: Lucas Walter, Vladimir Ermakov

1.15.0 (2022-12-30)

  • Merge pull request #1811 from scoutdi/debug-float-array Implement debug float array handler
  • Implement debug float array handler Co-authored-by: Morten Fyhn Amundsen <<morten.f.amundsen@scoutdi.com>>
  • Merge pull request #1807 from scoutdi/fix-bitwise-comparison mavros_extras: Fix a comparison that shouldn't be bitwise
  • Merge pull request #1808 from scoutdi/fix-sequence-point-warning mavros_extras: Fix a sequence point warning
  • mavros_extras: Fix a sequence point warning
  • mavros_extras: Fix a comparison that shouldn't be bitwise
  • Merge pull request #1805 from scoutdi/fix-latlon-check mavros_extras: Fix buggy check for lat/lon ignored
  • mavros_extras: Fix buggy check for lat/lon ignored
  • Contributors: Morten Fyhn Amundsen, Sverre Velten Rothmund, Vladimir Ermakov

1.14.0 (2022-09-24)

  • Merge pull request #1780 from snktshrma/master guided_target: accept position-target-global-int messages
  • plugins: add guided_target to accept offboard position targets Update guided_target.cpp Update guided_target.cpp Update mavros_plugins.xml Update CMakeLists.txt Added offboard_position.cpp Update apm_config.yaml Update offboard_position.cpp Update offboard_position.cpp Rename offboard_position.cpp to guided_target.cpp Update CMakeLists.txt Update mavros_plugins.xml Update apm_config.yaml Update guided_target.cpp
  • Merge pull request #1744 from amilcarlucas/pr_gimbal_diagnostics_fixes mount_control.cpp: detect MOUNT_ORIENTATION stale messages
  • mount_control.cpp: detect MOUNT_ORIENTATION stale messages correct

File truncated at 100 lines see the full file

Launch files

  • launch/px4_image.launch
      • fcu_url [default: serial:///dev/ttyACM0:57600]
      • gcs_url [default: udp://@]
      • tgt_system [default: 1]
      • tgt_component [default: 1]
  • launch/px4flow.launch
      • fcu_url [default: serial:///dev/ttyACM0:921600]
      • gcs_url [default: ]
      • tgt_system [default: 81]
      • tgt_component [default: 50]
  • launch/teleop.launch
      • teleop_args [default: -att]

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged mavros_extras at Robotics Stack Exchange

Package symbol

mavros_extras package from mavros repo

libmavconn mavros mavros_extras mavros_msgs test_mavros

ROS Distro
noetic

Package Summary

Version 1.21.1
License GPLv3
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/mavlink/mavros.git
VCS Type git
VCS Version master
Last Updated 2025-12-12
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Extra nodes and plugins for

Additional Links

Maintainers

  • Vladimir Ermakov

Authors

  • Vladimir Ermakov
  • Amilcar Lucas

mavros extras

Some extra plugins and nodes for [mavros][mr].

ADSB

Publish/subscribe to the location and information of an ADS-B vehicle.

cam_imu_sync

Publish camera trigger data for synchronisation of IMU and camera frames.

debug_value

Subs/Pubs debug msgs from and to the FCU.

distance_sensor

Publish DISTANCE_SENSOR message data from FCU or connected sensors in companion computer.

fake_gps

Sends fake GPS from local position estimation source data (motion capture, vision) to FCU.

gps_input

Send GPS_INPUT messages to the FCU.

gps_status

Publish GPS_RAW and GPS_RTK messages from FCU.

gps_rtk

Sends the RTCM messages to the FCU for the RTK Fix.

log_transfer

Expose firmware functionality, that is related to log transfer

mocap_pose_estimate

Send motion capture pose estimate to FCU. Currently, not used by the FCU. Data can be send via vision_position plugin.

obstacle_distance

Send obstacle distance report to the FCU.

odom

Send odometry to FCU from another estimator.

px4flow

Publish OPTICAL_FLOW_RAD data from FCU or PX4Flow module.

rangefinder

Publish RANGEFINDER message data from FCU sensors in companion computer.

trajectory

Receive planned path from the FCU and send back corrected path (collision free, smoothed) to the FCU.

wheel_odometry

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mavros_extras

1.21.1 (2025-12-12)

  • extras: fix misprint
  • extras landing_target: fix #2080 fov vector init
  • Contributors: Vladimir Ermakov

1.21.0 (2025-09-08)

  • regenerate all
  • Contributors: Vladimir Ermakov

1.20.1 (2025-05-05)

1.20.0 (2024-10-10)

  • Add missing std_srvs dependency
  • add param to odom plugin
  • add frame_id parameter
  • Fix compile error when compiling with gcc 13 The error is: src/plugins/mag_calibration_status.cpp:64:22: error: ‘bitset’ is not a member of ‘std’
  • Contributors: EnderMandS, Michal Sojka, Roland Arsenault

1.19.0 (2024-06-06)

1.18.0 (2024-03-03)

  • [camera plugin] Fix image_index and capture_result not properly filled
  • Fix missing semi-colon
  • GPS_STATUS Plugin: Fill in available messages for ROS1 legacy Filled in available fields in GPS_RAW_INT & GPS2_RAW messages p.s. seems GPS2_RAW more complete than original GPS_RAW_INT
  • Contributors: Beniamino Pozzan, Seunghwan Jo

1.17.0 (2023-09-09)

  • Merge pull request #1865 from scoutdi/warnings Fix / suppress some build warnings
  • mavros_extras: Fix some init order warnings
  • Suppress warnings from included headers
  • Contributors: Morten Fyhn Amundsen, Vladimir Ermakov

1.16.0 (2023-05-05)

  • Merge pull request #1817 from lucasw/pluginlib_hpp use hpp instead of deprecated .h pluginlib headers
  • use hpp instead of deprecated .h pluginlib headers
  • Contributors: Lucas Walter, Vladimir Ermakov

1.15.0 (2022-12-30)

  • Merge pull request #1811 from scoutdi/debug-float-array Implement debug float array handler
  • Implement debug float array handler Co-authored-by: Morten Fyhn Amundsen <<morten.f.amundsen@scoutdi.com>>
  • Merge pull request #1807 from scoutdi/fix-bitwise-comparison mavros_extras: Fix a comparison that shouldn't be bitwise
  • Merge pull request #1808 from scoutdi/fix-sequence-point-warning mavros_extras: Fix a sequence point warning
  • mavros_extras: Fix a sequence point warning
  • mavros_extras: Fix a comparison that shouldn't be bitwise
  • Merge pull request #1805 from scoutdi/fix-latlon-check mavros_extras: Fix buggy check for lat/lon ignored
  • mavros_extras: Fix buggy check for lat/lon ignored
  • Contributors: Morten Fyhn Amundsen, Sverre Velten Rothmund, Vladimir Ermakov

1.14.0 (2022-09-24)

  • Merge pull request #1780 from snktshrma/master guided_target: accept position-target-global-int messages
  • plugins: add guided_target to accept offboard position targets Update guided_target.cpp Update guided_target.cpp Update mavros_plugins.xml Update CMakeLists.txt Added offboard_position.cpp Update apm_config.yaml Update offboard_position.cpp Update offboard_position.cpp Rename offboard_position.cpp to guided_target.cpp Update CMakeLists.txt Update mavros_plugins.xml Update apm_config.yaml Update guided_target.cpp
  • Merge pull request #1744 from amilcarlucas/pr_gimbal_diagnostics_fixes mount_control.cpp: detect MOUNT_ORIENTATION stale messages
  • mount_control.cpp: detect MOUNT_ORIENTATION stale messages correct

File truncated at 100 lines see the full file

Launch files

  • launch/px4_image.launch
      • fcu_url [default: serial:///dev/ttyACM0:57600]
      • gcs_url [default: udp://@]
      • tgt_system [default: 1]
      • tgt_component [default: 1]
  • launch/px4flow.launch
      • fcu_url [default: serial:///dev/ttyACM0:921600]
      • gcs_url [default: ]
      • tgt_system [default: 81]
      • tgt_component [default: 50]
  • launch/teleop.launch
      • teleop_args [default: -att]

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged mavros_extras at Robotics Stack Exchange