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

Package Summary

Tags No category tags.
Version 0.1.11
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rm-controls/rm_controllers.git
VCS Type git
VCS Version master
Last Updated 2025-06-03
Dev Status DEVELOPED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

RoboMaster standard robot Gimbal controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_gimbal_controllers

Overview

The rm_gimbal_controllers has three states: RATE, TRACK, and DIRECT. It performs PID control on the yaw joint and pitch joint according to commands. It can also perform moving average filtering based on detection data and calculate, predict and track targets based on the ballistic model.

Keywords: ROS, Robomaster, gimbal, bullet solver, moving average filter

License

The source code is released under a BSD 3-Clause license.

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The package has been tested under ROS Indigo, Melodic and Noetic on respectively Ubuntu 18.04 and 20.04. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

Hardware interface type

  • JointStateInterface Used to get the speed and position of gimbal joint.
  • EffortJointInterface Used to send effort command to gimbal joint .
  • RoboStateInterface Used to get the current and historical transform between gimbal and the world coordinate system and the transform between visual target and the world coordinate system.

Installation

Installation from Packages

To install all packages from the this repository as Debian packages use

sudo apt-get install ros-noetic-rm-gimbal-controllers

Or better, use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • tf2_eigen
  • tf2_geometry_msgs
  • visualization_msgs
  • dynamic_reconfigure

ROS API

Subscribed Topics

  • command (rm_msgs/GimbalCmd)

    Set gimbal mode, pitch and yaw axis rotation speed, tracking target, pointing target and coordinate system.

  • /detection (rm_msgs/TargetDetectionArray)

    Receive visual recognition data.

  • /<camera_name>/camera_info (CameraInfo)

    Make sure that the detection node receives a new frame of image and sends the prediction data to the detection node.

Published Topics

  • error (rm_msgs/GimbalDesError) The error calculated by the ballistic model to shoot at the current gimbal angle to the target.

  • track (rm_msgs/TrackDataArray) The predicted data used for detection node to decide the ROI.
    Bullet solver
  • model_desire ( visualization_msgs/Marker ) Used to visualize the desired bullet trajectory.

  • model_real ( visualization_msgs/Marker ) Used to visualize the trajectory that caculated by ballistic model in the current gimbal angle.

    Parameters

  • detection_topic (string, default: “/detection”)

    The name of the topic where detection node gets predicted data.

  • detection_frame (string, default: “detection”)

    The name of the frame of detection.

  • camera_topic (string, default: “/galaxy_camera/camera_info”)

    The name of the topic that is determined that the detection node receives a new frame of image and sends the prediction data to the detection node.

  • publish_rate (double)

    Frequency (in Hz) of publishing gimbal error.

  • chassis_angular_data_num (double)

    The number of angle data of chassis.Used for chassis angular average filter.

  • time_compensation (double)

    Time(in s) of image transmission delay(in s).Used to compensate for the effects of images transimission delay

Bullet solver

Bullet solver is used to get the bullet drop point

  • resistance_coff_qd_10, resistance_coff_qd_15, resistance_coff_qd_16, resistance_coff_qd_18, resistance_coff_qd_30 ( double )

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_gimbal_controllers

0.1.11 (2023-06-20)

  • Merge pull request #135 from ye-luo-xi-tui/feedforward Add input feedforward and fix a bug in computing desire vel at TRACK mode
  • Add input feedforward and fix a bug in computing desire vel at TRACK mode.
  • Merge pull request #124 from ye-luo-xi-tui/resistance_compensation Add velocity_dead_zone and effort_dead_zone
  • Merge branch 'master' into dev/balance
  • Add velocity_dead_zone and effort_dead_zone.
  • Merge pull request #120 from ye-luo-xi-tui/master 0.1.10
  • Merge branch 'rm-controls:master' into gpio_calibration_controller
  • Contributors: 1moule, ye-luo-xi-tui, yezi, yuchen

0.1.10 (2023-03-25)

  • Merge branch 'rm-controls:master' into master
  • Merge pull request #114 from ye-luo-xi-tui/resistance_compensation Add resistance compensation on yaw
  • Add resistance compensation on yaw.
  • Merge pull request #113 from ye-luo-xi-tui/master Use Vector3WithFilter in rm_common instead
  • Use Vector3WithFilter in rm_common instead.
  • Merge pull request #106 from ye-luo-xi-tui/master 0.1.9
  • Contributors: ye-luo-xi-tui, yezi

0.1.9 (2023-02-21)

  • Merge pull request #104 from ye-luo-xi-tui/balance_standard Fix bug.
  • Fix bug.
  • Merge pull request #102 from ljq-lv/fix_warning Fixed the bug of gimbal warning
  • Add the else to judge mode TRACK
  • Fixed the bug of gimbal warning
  • Merge branch 'master' into balance_standard
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Contributors: ljq-lv, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #92 from ye-luo-xi-tui/target_velocity_correction Estimate chassis vel with moving average and subtract chassis_vel from target_vel
  • Fix trylock bug.
  • Subtract chassis_vel from target_vel.
  • Estimate chassis vel with moving average.
  • Merge pull request #86 from NaHCO3bc/Readme Fix the dependence part bug.
  • Modify the test file folder.
  • Fix the dependence part bug.
  • Merge pull request #85 from ye-luo-xi-tui/master 0.1.7
  • Contributors: NaHCO3bc, ye-luo-xi-tui, yezi

0.1.7 (2022-09-10)

  • Optimize TRACK mode of rm_gimbal_controller.
  • Change frame "map" to "odom".
  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan, yezi

0.1.6 (2022-06-16)

  • Merge branch 'gimbal/chassis_vel'
  • Merge pull request #77 from ye-luo-xi-tui/gimbal/chassis_vel Fix a stupid bug
  • Fix a stupid bug.
  • Add chassis_vel as a feedforward to the yaw joint
  • Merge remote-tracking branch 'origin/master'
  • Add chassis_vel to yaw's PID
  • Contributors: QiayuanLiao, qiayuan, yezi

0.1.5 (2022-06-10)

  • Merge pull request #71 from ye-luo-xi-tui/gimbal/joint_velocity Set joint desired velocity according to the target velocity

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • test/load_controllers.launch
      • base_link_tf [default: false] — Set true when not imu and chassis controllers loaded
      • odom_tf [default: false] — Set true when not chassis but imu and orientation controllers loaded

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_gimbal_controllers at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 0.1.11
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rm-controls/rm_controllers.git
VCS Type git
VCS Version master
Last Updated 2025-06-03
Dev Status DEVELOPED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

RoboMaster standard robot Gimbal controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_gimbal_controllers

Overview

The rm_gimbal_controllers has three states: RATE, TRACK, and DIRECT. It performs PID control on the yaw joint and pitch joint according to commands. It can also perform moving average filtering based on detection data and calculate, predict and track targets based on the ballistic model.

Keywords: ROS, Robomaster, gimbal, bullet solver, moving average filter

License

The source code is released under a BSD 3-Clause license.

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The package has been tested under ROS Indigo, Melodic and Noetic on respectively Ubuntu 18.04 and 20.04. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

Hardware interface type

  • JointStateInterface Used to get the speed and position of gimbal joint.
  • EffortJointInterface Used to send effort command to gimbal joint .
  • RoboStateInterface Used to get the current and historical transform between gimbal and the world coordinate system and the transform between visual target and the world coordinate system.

Installation

Installation from Packages

To install all packages from the this repository as Debian packages use

sudo apt-get install ros-noetic-rm-gimbal-controllers

Or better, use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • tf2_eigen
  • tf2_geometry_msgs
  • visualization_msgs
  • dynamic_reconfigure

ROS API

Subscribed Topics

  • command (rm_msgs/GimbalCmd)

    Set gimbal mode, pitch and yaw axis rotation speed, tracking target, pointing target and coordinate system.

  • /detection (rm_msgs/TargetDetectionArray)

    Receive visual recognition data.

  • /<camera_name>/camera_info (CameraInfo)

    Make sure that the detection node receives a new frame of image and sends the prediction data to the detection node.

Published Topics

  • error (rm_msgs/GimbalDesError) The error calculated by the ballistic model to shoot at the current gimbal angle to the target.

  • track (rm_msgs/TrackDataArray) The predicted data used for detection node to decide the ROI.
    Bullet solver
  • model_desire ( visualization_msgs/Marker ) Used to visualize the desired bullet trajectory.

  • model_real ( visualization_msgs/Marker ) Used to visualize the trajectory that caculated by ballistic model in the current gimbal angle.

    Parameters

  • detection_topic (string, default: “/detection”)

    The name of the topic where detection node gets predicted data.

  • detection_frame (string, default: “detection”)

    The name of the frame of detection.

  • camera_topic (string, default: “/galaxy_camera/camera_info”)

    The name of the topic that is determined that the detection node receives a new frame of image and sends the prediction data to the detection node.

  • publish_rate (double)

    Frequency (in Hz) of publishing gimbal error.

  • chassis_angular_data_num (double)

    The number of angle data of chassis.Used for chassis angular average filter.

  • time_compensation (double)

    Time(in s) of image transmission delay(in s).Used to compensate for the effects of images transimission delay

Bullet solver

Bullet solver is used to get the bullet drop point

  • resistance_coff_qd_10, resistance_coff_qd_15, resistance_coff_qd_16, resistance_coff_qd_18, resistance_coff_qd_30 ( double )

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_gimbal_controllers

0.1.11 (2023-06-20)

  • Merge pull request #135 from ye-luo-xi-tui/feedforward Add input feedforward and fix a bug in computing desire vel at TRACK mode
  • Add input feedforward and fix a bug in computing desire vel at TRACK mode.
  • Merge pull request #124 from ye-luo-xi-tui/resistance_compensation Add velocity_dead_zone and effort_dead_zone
  • Merge branch 'master' into dev/balance
  • Add velocity_dead_zone and effort_dead_zone.
  • Merge pull request #120 from ye-luo-xi-tui/master 0.1.10
  • Merge branch 'rm-controls:master' into gpio_calibration_controller
  • Contributors: 1moule, ye-luo-xi-tui, yezi, yuchen

0.1.10 (2023-03-25)

  • Merge branch 'rm-controls:master' into master
  • Merge pull request #114 from ye-luo-xi-tui/resistance_compensation Add resistance compensation on yaw
  • Add resistance compensation on yaw.
  • Merge pull request #113 from ye-luo-xi-tui/master Use Vector3WithFilter in rm_common instead
  • Use Vector3WithFilter in rm_common instead.
  • Merge pull request #106 from ye-luo-xi-tui/master 0.1.9
  • Contributors: ye-luo-xi-tui, yezi

0.1.9 (2023-02-21)

  • Merge pull request #104 from ye-luo-xi-tui/balance_standard Fix bug.
  • Fix bug.
  • Merge pull request #102 from ljq-lv/fix_warning Fixed the bug of gimbal warning
  • Add the else to judge mode TRACK
  • Fixed the bug of gimbal warning
  • Merge branch 'master' into balance_standard
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Contributors: ljq-lv, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #92 from ye-luo-xi-tui/target_velocity_correction Estimate chassis vel with moving average and subtract chassis_vel from target_vel
  • Fix trylock bug.
  • Subtract chassis_vel from target_vel.
  • Estimate chassis vel with moving average.
  • Merge pull request #86 from NaHCO3bc/Readme Fix the dependence part bug.
  • Modify the test file folder.
  • Fix the dependence part bug.
  • Merge pull request #85 from ye-luo-xi-tui/master 0.1.7
  • Contributors: NaHCO3bc, ye-luo-xi-tui, yezi

0.1.7 (2022-09-10)

  • Optimize TRACK mode of rm_gimbal_controller.
  • Change frame "map" to "odom".
  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan, yezi

0.1.6 (2022-06-16)

  • Merge branch 'gimbal/chassis_vel'
  • Merge pull request #77 from ye-luo-xi-tui/gimbal/chassis_vel Fix a stupid bug
  • Fix a stupid bug.
  • Add chassis_vel as a feedforward to the yaw joint
  • Merge remote-tracking branch 'origin/master'
  • Add chassis_vel to yaw's PID
  • Contributors: QiayuanLiao, qiayuan, yezi

0.1.5 (2022-06-10)

  • Merge pull request #71 from ye-luo-xi-tui/gimbal/joint_velocity Set joint desired velocity according to the target velocity

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • test/load_controllers.launch
      • base_link_tf [default: false] — Set true when not imu and chassis controllers loaded
      • odom_tf [default: false] — Set true when not chassis but imu and orientation controllers loaded

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_gimbal_controllers at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 0.1.11
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rm-controls/rm_controllers.git
VCS Type git
VCS Version master
Last Updated 2025-06-03
Dev Status DEVELOPED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

RoboMaster standard robot Gimbal controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_gimbal_controllers

Overview

The rm_gimbal_controllers has three states: RATE, TRACK, and DIRECT. It performs PID control on the yaw joint and pitch joint according to commands. It can also perform moving average filtering based on detection data and calculate, predict and track targets based on the ballistic model.

Keywords: ROS, Robomaster, gimbal, bullet solver, moving average filter

License

The source code is released under a BSD 3-Clause license.

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The package has been tested under ROS Indigo, Melodic and Noetic on respectively Ubuntu 18.04 and 20.04. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

Hardware interface type

  • JointStateInterface Used to get the speed and position of gimbal joint.
  • EffortJointInterface Used to send effort command to gimbal joint .
  • RoboStateInterface Used to get the current and historical transform between gimbal and the world coordinate system and the transform between visual target and the world coordinate system.

Installation

Installation from Packages

To install all packages from the this repository as Debian packages use

sudo apt-get install ros-noetic-rm-gimbal-controllers

Or better, use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • tf2_eigen
  • tf2_geometry_msgs
  • visualization_msgs
  • dynamic_reconfigure

ROS API

Subscribed Topics

  • command (rm_msgs/GimbalCmd)

    Set gimbal mode, pitch and yaw axis rotation speed, tracking target, pointing target and coordinate system.

  • /detection (rm_msgs/TargetDetectionArray)

    Receive visual recognition data.

  • /<camera_name>/camera_info (CameraInfo)

    Make sure that the detection node receives a new frame of image and sends the prediction data to the detection node.

Published Topics

  • error (rm_msgs/GimbalDesError) The error calculated by the ballistic model to shoot at the current gimbal angle to the target.

  • track (rm_msgs/TrackDataArray) The predicted data used for detection node to decide the ROI.
    Bullet solver
  • model_desire ( visualization_msgs/Marker ) Used to visualize the desired bullet trajectory.

  • model_real ( visualization_msgs/Marker ) Used to visualize the trajectory that caculated by ballistic model in the current gimbal angle.

    Parameters

  • detection_topic (string, default: “/detection”)

    The name of the topic where detection node gets predicted data.

  • detection_frame (string, default: “detection”)

    The name of the frame of detection.

  • camera_topic (string, default: “/galaxy_camera/camera_info”)

    The name of the topic that is determined that the detection node receives a new frame of image and sends the prediction data to the detection node.

  • publish_rate (double)

    Frequency (in Hz) of publishing gimbal error.

  • chassis_angular_data_num (double)

    The number of angle data of chassis.Used for chassis angular average filter.

  • time_compensation (double)

    Time(in s) of image transmission delay(in s).Used to compensate for the effects of images transimission delay

Bullet solver

Bullet solver is used to get the bullet drop point

  • resistance_coff_qd_10, resistance_coff_qd_15, resistance_coff_qd_16, resistance_coff_qd_18, resistance_coff_qd_30 ( double )

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_gimbal_controllers

0.1.11 (2023-06-20)

  • Merge pull request #135 from ye-luo-xi-tui/feedforward Add input feedforward and fix a bug in computing desire vel at TRACK mode
  • Add input feedforward and fix a bug in computing desire vel at TRACK mode.
  • Merge pull request #124 from ye-luo-xi-tui/resistance_compensation Add velocity_dead_zone and effort_dead_zone
  • Merge branch 'master' into dev/balance
  • Add velocity_dead_zone and effort_dead_zone.
  • Merge pull request #120 from ye-luo-xi-tui/master 0.1.10
  • Merge branch 'rm-controls:master' into gpio_calibration_controller
  • Contributors: 1moule, ye-luo-xi-tui, yezi, yuchen

0.1.10 (2023-03-25)

  • Merge branch 'rm-controls:master' into master
  • Merge pull request #114 from ye-luo-xi-tui/resistance_compensation Add resistance compensation on yaw
  • Add resistance compensation on yaw.
  • Merge pull request #113 from ye-luo-xi-tui/master Use Vector3WithFilter in rm_common instead
  • Use Vector3WithFilter in rm_common instead.
  • Merge pull request #106 from ye-luo-xi-tui/master 0.1.9
  • Contributors: ye-luo-xi-tui, yezi

0.1.9 (2023-02-21)

  • Merge pull request #104 from ye-luo-xi-tui/balance_standard Fix bug.
  • Fix bug.
  • Merge pull request #102 from ljq-lv/fix_warning Fixed the bug of gimbal warning
  • Add the else to judge mode TRACK
  • Fixed the bug of gimbal warning
  • Merge branch 'master' into balance_standard
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Contributors: ljq-lv, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #92 from ye-luo-xi-tui/target_velocity_correction Estimate chassis vel with moving average and subtract chassis_vel from target_vel
  • Fix trylock bug.
  • Subtract chassis_vel from target_vel.
  • Estimate chassis vel with moving average.
  • Merge pull request #86 from NaHCO3bc/Readme Fix the dependence part bug.
  • Modify the test file folder.
  • Fix the dependence part bug.
  • Merge pull request #85 from ye-luo-xi-tui/master 0.1.7
  • Contributors: NaHCO3bc, ye-luo-xi-tui, yezi

0.1.7 (2022-09-10)

  • Optimize TRACK mode of rm_gimbal_controller.
  • Change frame "map" to "odom".
  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan, yezi

0.1.6 (2022-06-16)

  • Merge branch 'gimbal/chassis_vel'
  • Merge pull request #77 from ye-luo-xi-tui/gimbal/chassis_vel Fix a stupid bug
  • Fix a stupid bug.
  • Add chassis_vel as a feedforward to the yaw joint
  • Merge remote-tracking branch 'origin/master'
  • Add chassis_vel to yaw's PID
  • Contributors: QiayuanLiao, qiayuan, yezi

0.1.5 (2022-06-10)

  • Merge pull request #71 from ye-luo-xi-tui/gimbal/joint_velocity Set joint desired velocity according to the target velocity

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • test/load_controllers.launch
      • base_link_tf [default: false] — Set true when not imu and chassis controllers loaded
      • odom_tf [default: false] — Set true when not chassis but imu and orientation controllers loaded

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_gimbal_controllers at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 0.1.11
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rm-controls/rm_controllers.git
VCS Type git
VCS Version master
Last Updated 2025-06-03
Dev Status DEVELOPED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

RoboMaster standard robot Gimbal controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_gimbal_controllers

Overview

The rm_gimbal_controllers has three states: RATE, TRACK, and DIRECT. It performs PID control on the yaw joint and pitch joint according to commands. It can also perform moving average filtering based on detection data and calculate, predict and track targets based on the ballistic model.

Keywords: ROS, Robomaster, gimbal, bullet solver, moving average filter

License

The source code is released under a BSD 3-Clause license.

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The package has been tested under ROS Indigo, Melodic and Noetic on respectively Ubuntu 18.04 and 20.04. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

Hardware interface type

  • JointStateInterface Used to get the speed and position of gimbal joint.
  • EffortJointInterface Used to send effort command to gimbal joint .
  • RoboStateInterface Used to get the current and historical transform between gimbal and the world coordinate system and the transform between visual target and the world coordinate system.

Installation

Installation from Packages

To install all packages from the this repository as Debian packages use

sudo apt-get install ros-noetic-rm-gimbal-controllers

Or better, use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • tf2_eigen
  • tf2_geometry_msgs
  • visualization_msgs
  • dynamic_reconfigure

ROS API

Subscribed Topics

  • command (rm_msgs/GimbalCmd)

    Set gimbal mode, pitch and yaw axis rotation speed, tracking target, pointing target and coordinate system.

  • /detection (rm_msgs/TargetDetectionArray)

    Receive visual recognition data.

  • /<camera_name>/camera_info (CameraInfo)

    Make sure that the detection node receives a new frame of image and sends the prediction data to the detection node.

Published Topics

  • error (rm_msgs/GimbalDesError) The error calculated by the ballistic model to shoot at the current gimbal angle to the target.

  • track (rm_msgs/TrackDataArray) The predicted data used for detection node to decide the ROI.
    Bullet solver
  • model_desire ( visualization_msgs/Marker ) Used to visualize the desired bullet trajectory.

  • model_real ( visualization_msgs/Marker ) Used to visualize the trajectory that caculated by ballistic model in the current gimbal angle.

    Parameters

  • detection_topic (string, default: “/detection”)

    The name of the topic where detection node gets predicted data.

  • detection_frame (string, default: “detection”)

    The name of the frame of detection.

  • camera_topic (string, default: “/galaxy_camera/camera_info”)

    The name of the topic that is determined that the detection node receives a new frame of image and sends the prediction data to the detection node.

  • publish_rate (double)

    Frequency (in Hz) of publishing gimbal error.

  • chassis_angular_data_num (double)

    The number of angle data of chassis.Used for chassis angular average filter.

  • time_compensation (double)

    Time(in s) of image transmission delay(in s).Used to compensate for the effects of images transimission delay

Bullet solver

Bullet solver is used to get the bullet drop point

  • resistance_coff_qd_10, resistance_coff_qd_15, resistance_coff_qd_16, resistance_coff_qd_18, resistance_coff_qd_30 ( double )

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_gimbal_controllers

0.1.11 (2023-06-20)

  • Merge pull request #135 from ye-luo-xi-tui/feedforward Add input feedforward and fix a bug in computing desire vel at TRACK mode
  • Add input feedforward and fix a bug in computing desire vel at TRACK mode.
  • Merge pull request #124 from ye-luo-xi-tui/resistance_compensation Add velocity_dead_zone and effort_dead_zone
  • Merge branch 'master' into dev/balance
  • Add velocity_dead_zone and effort_dead_zone.
  • Merge pull request #120 from ye-luo-xi-tui/master 0.1.10
  • Merge branch 'rm-controls:master' into gpio_calibration_controller
  • Contributors: 1moule, ye-luo-xi-tui, yezi, yuchen

0.1.10 (2023-03-25)

  • Merge branch 'rm-controls:master' into master
  • Merge pull request #114 from ye-luo-xi-tui/resistance_compensation Add resistance compensation on yaw
  • Add resistance compensation on yaw.
  • Merge pull request #113 from ye-luo-xi-tui/master Use Vector3WithFilter in rm_common instead
  • Use Vector3WithFilter in rm_common instead.
  • Merge pull request #106 from ye-luo-xi-tui/master 0.1.9
  • Contributors: ye-luo-xi-tui, yezi

0.1.9 (2023-02-21)

  • Merge pull request #104 from ye-luo-xi-tui/balance_standard Fix bug.
  • Fix bug.
  • Merge pull request #102 from ljq-lv/fix_warning Fixed the bug of gimbal warning
  • Add the else to judge mode TRACK
  • Fixed the bug of gimbal warning
  • Merge branch 'master' into balance_standard
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Contributors: ljq-lv, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #92 from ye-luo-xi-tui/target_velocity_correction Estimate chassis vel with moving average and subtract chassis_vel from target_vel
  • Fix trylock bug.
  • Subtract chassis_vel from target_vel.
  • Estimate chassis vel with moving average.
  • Merge pull request #86 from NaHCO3bc/Readme Fix the dependence part bug.
  • Modify the test file folder.
  • Fix the dependence part bug.
  • Merge pull request #85 from ye-luo-xi-tui/master 0.1.7
  • Contributors: NaHCO3bc, ye-luo-xi-tui, yezi

0.1.7 (2022-09-10)

  • Optimize TRACK mode of rm_gimbal_controller.
  • Change frame "map" to "odom".
  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan, yezi

0.1.6 (2022-06-16)

  • Merge branch 'gimbal/chassis_vel'
  • Merge pull request #77 from ye-luo-xi-tui/gimbal/chassis_vel Fix a stupid bug
  • Fix a stupid bug.
  • Add chassis_vel as a feedforward to the yaw joint
  • Merge remote-tracking branch 'origin/master'
  • Add chassis_vel to yaw's PID
  • Contributors: QiayuanLiao, qiayuan, yezi

0.1.5 (2022-06-10)

  • Merge pull request #71 from ye-luo-xi-tui/gimbal/joint_velocity Set joint desired velocity according to the target velocity

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • test/load_controllers.launch
      • base_link_tf [default: false] — Set true when not imu and chassis controllers loaded
      • odom_tf [default: false] — Set true when not chassis but imu and orientation controllers loaded

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_gimbal_controllers at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 0.1.11
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rm-controls/rm_controllers.git
VCS Type git
VCS Version master
Last Updated 2025-06-03
Dev Status DEVELOPED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

RoboMaster standard robot Gimbal controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_gimbal_controllers

Overview

The rm_gimbal_controllers has three states: RATE, TRACK, and DIRECT. It performs PID control on the yaw joint and pitch joint according to commands. It can also perform moving average filtering based on detection data and calculate, predict and track targets based on the ballistic model.

Keywords: ROS, Robomaster, gimbal, bullet solver, moving average filter

License

The source code is released under a BSD 3-Clause license.

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The package has been tested under ROS Indigo, Melodic and Noetic on respectively Ubuntu 18.04 and 20.04. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

Hardware interface type

  • JointStateInterface Used to get the speed and position of gimbal joint.
  • EffortJointInterface Used to send effort command to gimbal joint .
  • RoboStateInterface Used to get the current and historical transform between gimbal and the world coordinate system and the transform between visual target and the world coordinate system.

Installation

Installation from Packages

To install all packages from the this repository as Debian packages use

sudo apt-get install ros-noetic-rm-gimbal-controllers

Or better, use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • tf2_eigen
  • tf2_geometry_msgs
  • visualization_msgs
  • dynamic_reconfigure

ROS API

Subscribed Topics

  • command (rm_msgs/GimbalCmd)

    Set gimbal mode, pitch and yaw axis rotation speed, tracking target, pointing target and coordinate system.

  • /detection (rm_msgs/TargetDetectionArray)

    Receive visual recognition data.

  • /<camera_name>/camera_info (CameraInfo)

    Make sure that the detection node receives a new frame of image and sends the prediction data to the detection node.

Published Topics

  • error (rm_msgs/GimbalDesError) The error calculated by the ballistic model to shoot at the current gimbal angle to the target.

  • track (rm_msgs/TrackDataArray) The predicted data used for detection node to decide the ROI.
    Bullet solver
  • model_desire ( visualization_msgs/Marker ) Used to visualize the desired bullet trajectory.

  • model_real ( visualization_msgs/Marker ) Used to visualize the trajectory that caculated by ballistic model in the current gimbal angle.

    Parameters

  • detection_topic (string, default: “/detection”)

    The name of the topic where detection node gets predicted data.

  • detection_frame (string, default: “detection”)

    The name of the frame of detection.

  • camera_topic (string, default: “/galaxy_camera/camera_info”)

    The name of the topic that is determined that the detection node receives a new frame of image and sends the prediction data to the detection node.

  • publish_rate (double)

    Frequency (in Hz) of publishing gimbal error.

  • chassis_angular_data_num (double)

    The number of angle data of chassis.Used for chassis angular average filter.

  • time_compensation (double)

    Time(in s) of image transmission delay(in s).Used to compensate for the effects of images transimission delay

Bullet solver

Bullet solver is used to get the bullet drop point

  • resistance_coff_qd_10, resistance_coff_qd_15, resistance_coff_qd_16, resistance_coff_qd_18, resistance_coff_qd_30 ( double )

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_gimbal_controllers

0.1.11 (2023-06-20)

  • Merge pull request #135 from ye-luo-xi-tui/feedforward Add input feedforward and fix a bug in computing desire vel at TRACK mode
  • Add input feedforward and fix a bug in computing desire vel at TRACK mode.
  • Merge pull request #124 from ye-luo-xi-tui/resistance_compensation Add velocity_dead_zone and effort_dead_zone
  • Merge branch 'master' into dev/balance
  • Add velocity_dead_zone and effort_dead_zone.
  • Merge pull request #120 from ye-luo-xi-tui/master 0.1.10
  • Merge branch 'rm-controls:master' into gpio_calibration_controller
  • Contributors: 1moule, ye-luo-xi-tui, yezi, yuchen

0.1.10 (2023-03-25)

  • Merge branch 'rm-controls:master' into master
  • Merge pull request #114 from ye-luo-xi-tui/resistance_compensation Add resistance compensation on yaw
  • Add resistance compensation on yaw.
  • Merge pull request #113 from ye-luo-xi-tui/master Use Vector3WithFilter in rm_common instead
  • Use Vector3WithFilter in rm_common instead.
  • Merge pull request #106 from ye-luo-xi-tui/master 0.1.9
  • Contributors: ye-luo-xi-tui, yezi

0.1.9 (2023-02-21)

  • Merge pull request #104 from ye-luo-xi-tui/balance_standard Fix bug.
  • Fix bug.
  • Merge pull request #102 from ljq-lv/fix_warning Fixed the bug of gimbal warning
  • Add the else to judge mode TRACK
  • Fixed the bug of gimbal warning
  • Merge branch 'master' into balance_standard
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Contributors: ljq-lv, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #92 from ye-luo-xi-tui/target_velocity_correction Estimate chassis vel with moving average and subtract chassis_vel from target_vel
  • Fix trylock bug.
  • Subtract chassis_vel from target_vel.
  • Estimate chassis vel with moving average.
  • Merge pull request #86 from NaHCO3bc/Readme Fix the dependence part bug.
  • Modify the test file folder.
  • Fix the dependence part bug.
  • Merge pull request #85 from ye-luo-xi-tui/master 0.1.7
  • Contributors: NaHCO3bc, ye-luo-xi-tui, yezi

0.1.7 (2022-09-10)

  • Optimize TRACK mode of rm_gimbal_controller.
  • Change frame "map" to "odom".
  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan, yezi

0.1.6 (2022-06-16)

  • Merge branch 'gimbal/chassis_vel'
  • Merge pull request #77 from ye-luo-xi-tui/gimbal/chassis_vel Fix a stupid bug
  • Fix a stupid bug.
  • Add chassis_vel as a feedforward to the yaw joint
  • Merge remote-tracking branch 'origin/master'
  • Add chassis_vel to yaw's PID
  • Contributors: QiayuanLiao, qiayuan, yezi

0.1.5 (2022-06-10)

  • Merge pull request #71 from ye-luo-xi-tui/gimbal/joint_velocity Set joint desired velocity according to the target velocity

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • test/load_controllers.launch
      • base_link_tf [default: false] — Set true when not imu and chassis controllers loaded
      • odom_tf [default: false] — Set true when not chassis but imu and orientation controllers loaded

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_gimbal_controllers at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 0.1.11
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rm-controls/rm_controllers.git
VCS Type git
VCS Version master
Last Updated 2025-06-03
Dev Status DEVELOPED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

RoboMaster standard robot Gimbal controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_gimbal_controllers

Overview

The rm_gimbal_controllers has three states: RATE, TRACK, and DIRECT. It performs PID control on the yaw joint and pitch joint according to commands. It can also perform moving average filtering based on detection data and calculate, predict and track targets based on the ballistic model.

Keywords: ROS, Robomaster, gimbal, bullet solver, moving average filter

License

The source code is released under a BSD 3-Clause license.

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The package has been tested under ROS Indigo, Melodic and Noetic on respectively Ubuntu 18.04 and 20.04. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

Hardware interface type

  • JointStateInterface Used to get the speed and position of gimbal joint.
  • EffortJointInterface Used to send effort command to gimbal joint .
  • RoboStateInterface Used to get the current and historical transform between gimbal and the world coordinate system and the transform between visual target and the world coordinate system.

Installation

Installation from Packages

To install all packages from the this repository as Debian packages use

sudo apt-get install ros-noetic-rm-gimbal-controllers

Or better, use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • tf2_eigen
  • tf2_geometry_msgs
  • visualization_msgs
  • dynamic_reconfigure

ROS API

Subscribed Topics

  • command (rm_msgs/GimbalCmd)

    Set gimbal mode, pitch and yaw axis rotation speed, tracking target, pointing target and coordinate system.

  • /detection (rm_msgs/TargetDetectionArray)

    Receive visual recognition data.

  • /<camera_name>/camera_info (CameraInfo)

    Make sure that the detection node receives a new frame of image and sends the prediction data to the detection node.

Published Topics

  • error (rm_msgs/GimbalDesError) The error calculated by the ballistic model to shoot at the current gimbal angle to the target.

  • track (rm_msgs/TrackDataArray) The predicted data used for detection node to decide the ROI.
    Bullet solver
  • model_desire ( visualization_msgs/Marker ) Used to visualize the desired bullet trajectory.

  • model_real ( visualization_msgs/Marker ) Used to visualize the trajectory that caculated by ballistic model in the current gimbal angle.

    Parameters

  • detection_topic (string, default: “/detection”)

    The name of the topic where detection node gets predicted data.

  • detection_frame (string, default: “detection”)

    The name of the frame of detection.

  • camera_topic (string, default: “/galaxy_camera/camera_info”)

    The name of the topic that is determined that the detection node receives a new frame of image and sends the prediction data to the detection node.

  • publish_rate (double)

    Frequency (in Hz) of publishing gimbal error.

  • chassis_angular_data_num (double)

    The number of angle data of chassis.Used for chassis angular average filter.

  • time_compensation (double)

    Time(in s) of image transmission delay(in s).Used to compensate for the effects of images transimission delay

Bullet solver

Bullet solver is used to get the bullet drop point

  • resistance_coff_qd_10, resistance_coff_qd_15, resistance_coff_qd_16, resistance_coff_qd_18, resistance_coff_qd_30 ( double )

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_gimbal_controllers

0.1.11 (2023-06-20)

  • Merge pull request #135 from ye-luo-xi-tui/feedforward Add input feedforward and fix a bug in computing desire vel at TRACK mode
  • Add input feedforward and fix a bug in computing desire vel at TRACK mode.
  • Merge pull request #124 from ye-luo-xi-tui/resistance_compensation Add velocity_dead_zone and effort_dead_zone
  • Merge branch 'master' into dev/balance
  • Add velocity_dead_zone and effort_dead_zone.
  • Merge pull request #120 from ye-luo-xi-tui/master 0.1.10
  • Merge branch 'rm-controls:master' into gpio_calibration_controller
  • Contributors: 1moule, ye-luo-xi-tui, yezi, yuchen

0.1.10 (2023-03-25)

  • Merge branch 'rm-controls:master' into master
  • Merge pull request #114 from ye-luo-xi-tui/resistance_compensation Add resistance compensation on yaw
  • Add resistance compensation on yaw.
  • Merge pull request #113 from ye-luo-xi-tui/master Use Vector3WithFilter in rm_common instead
  • Use Vector3WithFilter in rm_common instead.
  • Merge pull request #106 from ye-luo-xi-tui/master 0.1.9
  • Contributors: ye-luo-xi-tui, yezi

0.1.9 (2023-02-21)

  • Merge pull request #104 from ye-luo-xi-tui/balance_standard Fix bug.
  • Fix bug.
  • Merge pull request #102 from ljq-lv/fix_warning Fixed the bug of gimbal warning
  • Add the else to judge mode TRACK
  • Fixed the bug of gimbal warning
  • Merge branch 'master' into balance_standard
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Contributors: ljq-lv, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #92 from ye-luo-xi-tui/target_velocity_correction Estimate chassis vel with moving average and subtract chassis_vel from target_vel
  • Fix trylock bug.
  • Subtract chassis_vel from target_vel.
  • Estimate chassis vel with moving average.
  • Merge pull request #86 from NaHCO3bc/Readme Fix the dependence part bug.
  • Modify the test file folder.
  • Fix the dependence part bug.
  • Merge pull request #85 from ye-luo-xi-tui/master 0.1.7
  • Contributors: NaHCO3bc, ye-luo-xi-tui, yezi

0.1.7 (2022-09-10)

  • Optimize TRACK mode of rm_gimbal_controller.
  • Change frame "map" to "odom".
  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan, yezi

0.1.6 (2022-06-16)

  • Merge branch 'gimbal/chassis_vel'
  • Merge pull request #77 from ye-luo-xi-tui/gimbal/chassis_vel Fix a stupid bug
  • Fix a stupid bug.
  • Add chassis_vel as a feedforward to the yaw joint
  • Merge remote-tracking branch 'origin/master'
  • Add chassis_vel to yaw's PID
  • Contributors: QiayuanLiao, qiayuan, yezi

0.1.5 (2022-06-10)

  • Merge pull request #71 from ye-luo-xi-tui/gimbal/joint_velocity Set joint desired velocity according to the target velocity

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • test/load_controllers.launch
      • base_link_tf [default: false] — Set true when not imu and chassis controllers loaded
      • odom_tf [default: false] — Set true when not chassis but imu and orientation controllers loaded

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_gimbal_controllers at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 0.1.11
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rm-controls/rm_controllers.git
VCS Type git
VCS Version master
Last Updated 2025-06-03
Dev Status DEVELOPED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

RoboMaster standard robot Gimbal controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_gimbal_controllers

Overview

The rm_gimbal_controllers has three states: RATE, TRACK, and DIRECT. It performs PID control on the yaw joint and pitch joint according to commands. It can also perform moving average filtering based on detection data and calculate, predict and track targets based on the ballistic model.

Keywords: ROS, Robomaster, gimbal, bullet solver, moving average filter

License

The source code is released under a BSD 3-Clause license.

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The package has been tested under ROS Indigo, Melodic and Noetic on respectively Ubuntu 18.04 and 20.04. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

Hardware interface type

  • JointStateInterface Used to get the speed and position of gimbal joint.
  • EffortJointInterface Used to send effort command to gimbal joint .
  • RoboStateInterface Used to get the current and historical transform between gimbal and the world coordinate system and the transform between visual target and the world coordinate system.

Installation

Installation from Packages

To install all packages from the this repository as Debian packages use

sudo apt-get install ros-noetic-rm-gimbal-controllers

Or better, use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • tf2_eigen
  • tf2_geometry_msgs
  • visualization_msgs
  • dynamic_reconfigure

ROS API

Subscribed Topics

  • command (rm_msgs/GimbalCmd)

    Set gimbal mode, pitch and yaw axis rotation speed, tracking target, pointing target and coordinate system.

  • /detection (rm_msgs/TargetDetectionArray)

    Receive visual recognition data.

  • /<camera_name>/camera_info (CameraInfo)

    Make sure that the detection node receives a new frame of image and sends the prediction data to the detection node.

Published Topics

  • error (rm_msgs/GimbalDesError) The error calculated by the ballistic model to shoot at the current gimbal angle to the target.

  • track (rm_msgs/TrackDataArray) The predicted data used for detection node to decide the ROI.
    Bullet solver
  • model_desire ( visualization_msgs/Marker ) Used to visualize the desired bullet trajectory.

  • model_real ( visualization_msgs/Marker ) Used to visualize the trajectory that caculated by ballistic model in the current gimbal angle.

    Parameters

  • detection_topic (string, default: “/detection”)

    The name of the topic where detection node gets predicted data.

  • detection_frame (string, default: “detection”)

    The name of the frame of detection.

  • camera_topic (string, default: “/galaxy_camera/camera_info”)

    The name of the topic that is determined that the detection node receives a new frame of image and sends the prediction data to the detection node.

  • publish_rate (double)

    Frequency (in Hz) of publishing gimbal error.

  • chassis_angular_data_num (double)

    The number of angle data of chassis.Used for chassis angular average filter.

  • time_compensation (double)

    Time(in s) of image transmission delay(in s).Used to compensate for the effects of images transimission delay

Bullet solver

Bullet solver is used to get the bullet drop point

  • resistance_coff_qd_10, resistance_coff_qd_15, resistance_coff_qd_16, resistance_coff_qd_18, resistance_coff_qd_30 ( double )

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_gimbal_controllers

0.1.11 (2023-06-20)

  • Merge pull request #135 from ye-luo-xi-tui/feedforward Add input feedforward and fix a bug in computing desire vel at TRACK mode
  • Add input feedforward and fix a bug in computing desire vel at TRACK mode.
  • Merge pull request #124 from ye-luo-xi-tui/resistance_compensation Add velocity_dead_zone and effort_dead_zone
  • Merge branch 'master' into dev/balance
  • Add velocity_dead_zone and effort_dead_zone.
  • Merge pull request #120 from ye-luo-xi-tui/master 0.1.10
  • Merge branch 'rm-controls:master' into gpio_calibration_controller
  • Contributors: 1moule, ye-luo-xi-tui, yezi, yuchen

0.1.10 (2023-03-25)

  • Merge branch 'rm-controls:master' into master
  • Merge pull request #114 from ye-luo-xi-tui/resistance_compensation Add resistance compensation on yaw
  • Add resistance compensation on yaw.
  • Merge pull request #113 from ye-luo-xi-tui/master Use Vector3WithFilter in rm_common instead
  • Use Vector3WithFilter in rm_common instead.
  • Merge pull request #106 from ye-luo-xi-tui/master 0.1.9
  • Contributors: ye-luo-xi-tui, yezi

0.1.9 (2023-02-21)

  • Merge pull request #104 from ye-luo-xi-tui/balance_standard Fix bug.
  • Fix bug.
  • Merge pull request #102 from ljq-lv/fix_warning Fixed the bug of gimbal warning
  • Add the else to judge mode TRACK
  • Fixed the bug of gimbal warning
  • Merge branch 'master' into balance_standard
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Contributors: ljq-lv, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #92 from ye-luo-xi-tui/target_velocity_correction Estimate chassis vel with moving average and subtract chassis_vel from target_vel
  • Fix trylock bug.
  • Subtract chassis_vel from target_vel.
  • Estimate chassis vel with moving average.
  • Merge pull request #86 from NaHCO3bc/Readme Fix the dependence part bug.
  • Modify the test file folder.
  • Fix the dependence part bug.
  • Merge pull request #85 from ye-luo-xi-tui/master 0.1.7
  • Contributors: NaHCO3bc, ye-luo-xi-tui, yezi

0.1.7 (2022-09-10)

  • Optimize TRACK mode of rm_gimbal_controller.
  • Change frame "map" to "odom".
  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan, yezi

0.1.6 (2022-06-16)

  • Merge branch 'gimbal/chassis_vel'
  • Merge pull request #77 from ye-luo-xi-tui/gimbal/chassis_vel Fix a stupid bug
  • Fix a stupid bug.
  • Add chassis_vel as a feedforward to the yaw joint
  • Merge remote-tracking branch 'origin/master'
  • Add chassis_vel to yaw's PID
  • Contributors: QiayuanLiao, qiayuan, yezi

0.1.5 (2022-06-10)

  • Merge pull request #71 from ye-luo-xi-tui/gimbal/joint_velocity Set joint desired velocity according to the target velocity

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • test/load_controllers.launch
      • base_link_tf [default: false] — Set true when not imu and chassis controllers loaded
      • odom_tf [default: false] — Set true when not chassis but imu and orientation controllers loaded

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_gimbal_controllers at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 0.1.11
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rm-controls/rm_controllers.git
VCS Type git
VCS Version master
Last Updated 2025-06-03
Dev Status DEVELOPED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

RoboMaster standard robot Gimbal controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_gimbal_controllers

Overview

The rm_gimbal_controllers has three states: RATE, TRACK, and DIRECT. It performs PID control on the yaw joint and pitch joint according to commands. It can also perform moving average filtering based on detection data and calculate, predict and track targets based on the ballistic model.

Keywords: ROS, Robomaster, gimbal, bullet solver, moving average filter

License

The source code is released under a BSD 3-Clause license.

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The package has been tested under ROS Indigo, Melodic and Noetic on respectively Ubuntu 18.04 and 20.04. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

Hardware interface type

  • JointStateInterface Used to get the speed and position of gimbal joint.
  • EffortJointInterface Used to send effort command to gimbal joint .
  • RoboStateInterface Used to get the current and historical transform between gimbal and the world coordinate system and the transform between visual target and the world coordinate system.

Installation

Installation from Packages

To install all packages from the this repository as Debian packages use

sudo apt-get install ros-noetic-rm-gimbal-controllers

Or better, use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • tf2_eigen
  • tf2_geometry_msgs
  • visualization_msgs
  • dynamic_reconfigure

ROS API

Subscribed Topics

  • command (rm_msgs/GimbalCmd)

    Set gimbal mode, pitch and yaw axis rotation speed, tracking target, pointing target and coordinate system.

  • /detection (rm_msgs/TargetDetectionArray)

    Receive visual recognition data.

  • /<camera_name>/camera_info (CameraInfo)

    Make sure that the detection node receives a new frame of image and sends the prediction data to the detection node.

Published Topics

  • error (rm_msgs/GimbalDesError) The error calculated by the ballistic model to shoot at the current gimbal angle to the target.

  • track (rm_msgs/TrackDataArray) The predicted data used for detection node to decide the ROI.
    Bullet solver
  • model_desire ( visualization_msgs/Marker ) Used to visualize the desired bullet trajectory.

  • model_real ( visualization_msgs/Marker ) Used to visualize the trajectory that caculated by ballistic model in the current gimbal angle.

    Parameters

  • detection_topic (string, default: “/detection”)

    The name of the topic where detection node gets predicted data.

  • detection_frame (string, default: “detection”)

    The name of the frame of detection.

  • camera_topic (string, default: “/galaxy_camera/camera_info”)

    The name of the topic that is determined that the detection node receives a new frame of image and sends the prediction data to the detection node.

  • publish_rate (double)

    Frequency (in Hz) of publishing gimbal error.

  • chassis_angular_data_num (double)

    The number of angle data of chassis.Used for chassis angular average filter.

  • time_compensation (double)

    Time(in s) of image transmission delay(in s).Used to compensate for the effects of images transimission delay

Bullet solver

Bullet solver is used to get the bullet drop point

  • resistance_coff_qd_10, resistance_coff_qd_15, resistance_coff_qd_16, resistance_coff_qd_18, resistance_coff_qd_30 ( double )

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_gimbal_controllers

0.1.11 (2023-06-20)

  • Merge pull request #135 from ye-luo-xi-tui/feedforward Add input feedforward and fix a bug in computing desire vel at TRACK mode
  • Add input feedforward and fix a bug in computing desire vel at TRACK mode.
  • Merge pull request #124 from ye-luo-xi-tui/resistance_compensation Add velocity_dead_zone and effort_dead_zone
  • Merge branch 'master' into dev/balance
  • Add velocity_dead_zone and effort_dead_zone.
  • Merge pull request #120 from ye-luo-xi-tui/master 0.1.10
  • Merge branch 'rm-controls:master' into gpio_calibration_controller
  • Contributors: 1moule, ye-luo-xi-tui, yezi, yuchen

0.1.10 (2023-03-25)

  • Merge branch 'rm-controls:master' into master
  • Merge pull request #114 from ye-luo-xi-tui/resistance_compensation Add resistance compensation on yaw
  • Add resistance compensation on yaw.
  • Merge pull request #113 from ye-luo-xi-tui/master Use Vector3WithFilter in rm_common instead
  • Use Vector3WithFilter in rm_common instead.
  • Merge pull request #106 from ye-luo-xi-tui/master 0.1.9
  • Contributors: ye-luo-xi-tui, yezi

0.1.9 (2023-02-21)

  • Merge pull request #104 from ye-luo-xi-tui/balance_standard Fix bug.
  • Fix bug.
  • Merge pull request #102 from ljq-lv/fix_warning Fixed the bug of gimbal warning
  • Add the else to judge mode TRACK
  • Fixed the bug of gimbal warning
  • Merge branch 'master' into balance_standard
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Contributors: ljq-lv, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #92 from ye-luo-xi-tui/target_velocity_correction Estimate chassis vel with moving average and subtract chassis_vel from target_vel
  • Fix trylock bug.
  • Subtract chassis_vel from target_vel.
  • Estimate chassis vel with moving average.
  • Merge pull request #86 from NaHCO3bc/Readme Fix the dependence part bug.
  • Modify the test file folder.
  • Fix the dependence part bug.
  • Merge pull request #85 from ye-luo-xi-tui/master 0.1.7
  • Contributors: NaHCO3bc, ye-luo-xi-tui, yezi

0.1.7 (2022-09-10)

  • Optimize TRACK mode of rm_gimbal_controller.
  • Change frame "map" to "odom".
  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan, yezi

0.1.6 (2022-06-16)

  • Merge branch 'gimbal/chassis_vel'
  • Merge pull request #77 from ye-luo-xi-tui/gimbal/chassis_vel Fix a stupid bug
  • Fix a stupid bug.
  • Add chassis_vel as a feedforward to the yaw joint
  • Merge remote-tracking branch 'origin/master'
  • Add chassis_vel to yaw's PID
  • Contributors: QiayuanLiao, qiayuan, yezi

0.1.5 (2022-06-10)

  • Merge pull request #71 from ye-luo-xi-tui/gimbal/joint_velocity Set joint desired velocity according to the target velocity

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • test/load_controllers.launch
      • base_link_tf [default: false] — Set true when not imu and chassis controllers loaded
      • odom_tf [default: false] — Set true when not chassis but imu and orientation controllers loaded

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_gimbal_controllers at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 0.1.11
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rm-controls/rm_controllers.git
VCS Type git
VCS Version master
Last Updated 2025-06-03
Dev Status DEVELOPED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

RoboMaster standard robot Gimbal controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_gimbal_controllers

Overview

The rm_gimbal_controllers has three states: RATE, TRACK, and DIRECT. It performs PID control on the yaw joint and pitch joint according to commands. It can also perform moving average filtering based on detection data and calculate, predict and track targets based on the ballistic model.

Keywords: ROS, Robomaster, gimbal, bullet solver, moving average filter

License

The source code is released under a BSD 3-Clause license.

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The package has been tested under ROS Indigo, Melodic and Noetic on respectively Ubuntu 18.04 and 20.04. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

Hardware interface type

  • JointStateInterface Used to get the speed and position of gimbal joint.
  • EffortJointInterface Used to send effort command to gimbal joint .
  • RoboStateInterface Used to get the current and historical transform between gimbal and the world coordinate system and the transform between visual target and the world coordinate system.

Installation

Installation from Packages

To install all packages from the this repository as Debian packages use

sudo apt-get install ros-noetic-rm-gimbal-controllers

Or better, use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • tf2_eigen
  • tf2_geometry_msgs
  • visualization_msgs
  • dynamic_reconfigure

ROS API

Subscribed Topics

  • command (rm_msgs/GimbalCmd)

    Set gimbal mode, pitch and yaw axis rotation speed, tracking target, pointing target and coordinate system.

  • /detection (rm_msgs/TargetDetectionArray)

    Receive visual recognition data.

  • /<camera_name>/camera_info (CameraInfo)

    Make sure that the detection node receives a new frame of image and sends the prediction data to the detection node.

Published Topics

  • error (rm_msgs/GimbalDesError) The error calculated by the ballistic model to shoot at the current gimbal angle to the target.

  • track (rm_msgs/TrackDataArray) The predicted data used for detection node to decide the ROI.
    Bullet solver
  • model_desire ( visualization_msgs/Marker ) Used to visualize the desired bullet trajectory.

  • model_real ( visualization_msgs/Marker ) Used to visualize the trajectory that caculated by ballistic model in the current gimbal angle.

    Parameters

  • detection_topic (string, default: “/detection”)

    The name of the topic where detection node gets predicted data.

  • detection_frame (string, default: “detection”)

    The name of the frame of detection.

  • camera_topic (string, default: “/galaxy_camera/camera_info”)

    The name of the topic that is determined that the detection node receives a new frame of image and sends the prediction data to the detection node.

  • publish_rate (double)

    Frequency (in Hz) of publishing gimbal error.

  • chassis_angular_data_num (double)

    The number of angle data of chassis.Used for chassis angular average filter.

  • time_compensation (double)

    Time(in s) of image transmission delay(in s).Used to compensate for the effects of images transimission delay

Bullet solver

Bullet solver is used to get the bullet drop point

  • resistance_coff_qd_10, resistance_coff_qd_15, resistance_coff_qd_16, resistance_coff_qd_18, resistance_coff_qd_30 ( double )

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_gimbal_controllers

0.1.11 (2023-06-20)

  • Merge pull request #135 from ye-luo-xi-tui/feedforward Add input feedforward and fix a bug in computing desire vel at TRACK mode
  • Add input feedforward and fix a bug in computing desire vel at TRACK mode.
  • Merge pull request #124 from ye-luo-xi-tui/resistance_compensation Add velocity_dead_zone and effort_dead_zone
  • Merge branch 'master' into dev/balance
  • Add velocity_dead_zone and effort_dead_zone.
  • Merge pull request #120 from ye-luo-xi-tui/master 0.1.10
  • Merge branch 'rm-controls:master' into gpio_calibration_controller
  • Contributors: 1moule, ye-luo-xi-tui, yezi, yuchen

0.1.10 (2023-03-25)

  • Merge branch 'rm-controls:master' into master
  • Merge pull request #114 from ye-luo-xi-tui/resistance_compensation Add resistance compensation on yaw
  • Add resistance compensation on yaw.
  • Merge pull request #113 from ye-luo-xi-tui/master Use Vector3WithFilter in rm_common instead
  • Use Vector3WithFilter in rm_common instead.
  • Merge pull request #106 from ye-luo-xi-tui/master 0.1.9
  • Contributors: ye-luo-xi-tui, yezi

0.1.9 (2023-02-21)

  • Merge pull request #104 from ye-luo-xi-tui/balance_standard Fix bug.
  • Fix bug.
  • Merge pull request #102 from ljq-lv/fix_warning Fixed the bug of gimbal warning
  • Add the else to judge mode TRACK
  • Fixed the bug of gimbal warning
  • Merge branch 'master' into balance_standard
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Contributors: ljq-lv, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #92 from ye-luo-xi-tui/target_velocity_correction Estimate chassis vel with moving average and subtract chassis_vel from target_vel
  • Fix trylock bug.
  • Subtract chassis_vel from target_vel.
  • Estimate chassis vel with moving average.
  • Merge pull request #86 from NaHCO3bc/Readme Fix the dependence part bug.
  • Modify the test file folder.
  • Fix the dependence part bug.
  • Merge pull request #85 from ye-luo-xi-tui/master 0.1.7
  • Contributors: NaHCO3bc, ye-luo-xi-tui, yezi

0.1.7 (2022-09-10)

  • Optimize TRACK mode of rm_gimbal_controller.
  • Change frame "map" to "odom".
  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan, yezi

0.1.6 (2022-06-16)

  • Merge branch 'gimbal/chassis_vel'
  • Merge pull request #77 from ye-luo-xi-tui/gimbal/chassis_vel Fix a stupid bug
  • Fix a stupid bug.
  • Add chassis_vel as a feedforward to the yaw joint
  • Merge remote-tracking branch 'origin/master'
  • Add chassis_vel to yaw's PID
  • Contributors: QiayuanLiao, qiayuan, yezi

0.1.5 (2022-06-10)

  • Merge pull request #71 from ye-luo-xi-tui/gimbal/joint_velocity Set joint desired velocity according to the target velocity

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • test/load_controllers.launch
      • base_link_tf [default: false] — Set true when not imu and chassis controllers loaded
      • odom_tf [default: false] — Set true when not chassis but imu and orientation controllers loaded

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_gimbal_controllers at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 0.1.11
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rm-controls/rm_controllers.git
VCS Type git
VCS Version master
Last Updated 2025-06-03
Dev Status DEVELOPED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

RoboMaster standard robot Gimbal controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_gimbal_controllers

Overview

The rm_gimbal_controllers has three states: RATE, TRACK, and DIRECT. It performs PID control on the yaw joint and pitch joint according to commands. It can also perform moving average filtering based on detection data and calculate, predict and track targets based on the ballistic model.

Keywords: ROS, Robomaster, gimbal, bullet solver, moving average filter

License

The source code is released under a BSD 3-Clause license.

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The package has been tested under ROS Indigo, Melodic and Noetic on respectively Ubuntu 18.04 and 20.04. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

Hardware interface type

  • JointStateInterface Used to get the speed and position of gimbal joint.
  • EffortJointInterface Used to send effort command to gimbal joint .
  • RoboStateInterface Used to get the current and historical transform between gimbal and the world coordinate system and the transform between visual target and the world coordinate system.

Installation

Installation from Packages

To install all packages from the this repository as Debian packages use

sudo apt-get install ros-noetic-rm-gimbal-controllers

Or better, use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • tf2_eigen
  • tf2_geometry_msgs
  • visualization_msgs
  • dynamic_reconfigure

ROS API

Subscribed Topics

  • command (rm_msgs/GimbalCmd)

    Set gimbal mode, pitch and yaw axis rotation speed, tracking target, pointing target and coordinate system.

  • /detection (rm_msgs/TargetDetectionArray)

    Receive visual recognition data.

  • /<camera_name>/camera_info (CameraInfo)

    Make sure that the detection node receives a new frame of image and sends the prediction data to the detection node.

Published Topics

  • error (rm_msgs/GimbalDesError) The error calculated by the ballistic model to shoot at the current gimbal angle to the target.

  • track (rm_msgs/TrackDataArray) The predicted data used for detection node to decide the ROI.
    Bullet solver
  • model_desire ( visualization_msgs/Marker ) Used to visualize the desired bullet trajectory.

  • model_real ( visualization_msgs/Marker ) Used to visualize the trajectory that caculated by ballistic model in the current gimbal angle.

    Parameters

  • detection_topic (string, default: “/detection”)

    The name of the topic where detection node gets predicted data.

  • detection_frame (string, default: “detection”)

    The name of the frame of detection.

  • camera_topic (string, default: “/galaxy_camera/camera_info”)

    The name of the topic that is determined that the detection node receives a new frame of image and sends the prediction data to the detection node.

  • publish_rate (double)

    Frequency (in Hz) of publishing gimbal error.

  • chassis_angular_data_num (double)

    The number of angle data of chassis.Used for chassis angular average filter.

  • time_compensation (double)

    Time(in s) of image transmission delay(in s).Used to compensate for the effects of images transimission delay

Bullet solver

Bullet solver is used to get the bullet drop point

  • resistance_coff_qd_10, resistance_coff_qd_15, resistance_coff_qd_16, resistance_coff_qd_18, resistance_coff_qd_30 ( double )

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_gimbal_controllers

0.1.11 (2023-06-20)

  • Merge pull request #135 from ye-luo-xi-tui/feedforward Add input feedforward and fix a bug in computing desire vel at TRACK mode
  • Add input feedforward and fix a bug in computing desire vel at TRACK mode.
  • Merge pull request #124 from ye-luo-xi-tui/resistance_compensation Add velocity_dead_zone and effort_dead_zone
  • Merge branch 'master' into dev/balance
  • Add velocity_dead_zone and effort_dead_zone.
  • Merge pull request #120 from ye-luo-xi-tui/master 0.1.10
  • Merge branch 'rm-controls:master' into gpio_calibration_controller
  • Contributors: 1moule, ye-luo-xi-tui, yezi, yuchen

0.1.10 (2023-03-25)

  • Merge branch 'rm-controls:master' into master
  • Merge pull request #114 from ye-luo-xi-tui/resistance_compensation Add resistance compensation on yaw
  • Add resistance compensation on yaw.
  • Merge pull request #113 from ye-luo-xi-tui/master Use Vector3WithFilter in rm_common instead
  • Use Vector3WithFilter in rm_common instead.
  • Merge pull request #106 from ye-luo-xi-tui/master 0.1.9
  • Contributors: ye-luo-xi-tui, yezi

0.1.9 (2023-02-21)

  • Merge pull request #104 from ye-luo-xi-tui/balance_standard Fix bug.
  • Fix bug.
  • Merge pull request #102 from ljq-lv/fix_warning Fixed the bug of gimbal warning
  • Add the else to judge mode TRACK
  • Fixed the bug of gimbal warning
  • Merge branch 'master' into balance_standard
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Contributors: ljq-lv, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #92 from ye-luo-xi-tui/target_velocity_correction Estimate chassis vel with moving average and subtract chassis_vel from target_vel
  • Fix trylock bug.
  • Subtract chassis_vel from target_vel.
  • Estimate chassis vel with moving average.
  • Merge pull request #86 from NaHCO3bc/Readme Fix the dependence part bug.
  • Modify the test file folder.
  • Fix the dependence part bug.
  • Merge pull request #85 from ye-luo-xi-tui/master 0.1.7
  • Contributors: NaHCO3bc, ye-luo-xi-tui, yezi

0.1.7 (2022-09-10)

  • Optimize TRACK mode of rm_gimbal_controller.
  • Change frame "map" to "odom".
  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan, yezi

0.1.6 (2022-06-16)

  • Merge branch 'gimbal/chassis_vel'
  • Merge pull request #77 from ye-luo-xi-tui/gimbal/chassis_vel Fix a stupid bug
  • Fix a stupid bug.
  • Add chassis_vel as a feedforward to the yaw joint
  • Merge remote-tracking branch 'origin/master'
  • Add chassis_vel to yaw's PID
  • Contributors: QiayuanLiao, qiayuan, yezi

0.1.5 (2022-06-10)

  • Merge pull request #71 from ye-luo-xi-tui/gimbal/joint_velocity Set joint desired velocity according to the target velocity

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • test/load_controllers.launch
      • base_link_tf [default: false] — Set true when not imu and chassis controllers loaded
      • odom_tf [default: false] — Set true when not chassis but imu and orientation controllers loaded

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_gimbal_controllers at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 0.1.11
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rm-controls/rm_controllers.git
VCS Type git
VCS Version master
Last Updated 2025-06-03
Dev Status DEVELOPED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

RoboMaster standard robot Gimbal controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_gimbal_controllers

Overview

The rm_gimbal_controllers has three states: RATE, TRACK, and DIRECT. It performs PID control on the yaw joint and pitch joint according to commands. It can also perform moving average filtering based on detection data and calculate, predict and track targets based on the ballistic model.

Keywords: ROS, Robomaster, gimbal, bullet solver, moving average filter

License

The source code is released under a BSD 3-Clause license.

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The package has been tested under ROS Indigo, Melodic and Noetic on respectively Ubuntu 18.04 and 20.04. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

Hardware interface type

  • JointStateInterface Used to get the speed and position of gimbal joint.
  • EffortJointInterface Used to send effort command to gimbal joint .
  • RoboStateInterface Used to get the current and historical transform between gimbal and the world coordinate system and the transform between visual target and the world coordinate system.

Installation

Installation from Packages

To install all packages from the this repository as Debian packages use

sudo apt-get install ros-noetic-rm-gimbal-controllers

Or better, use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • tf2_eigen
  • tf2_geometry_msgs
  • visualization_msgs
  • dynamic_reconfigure

ROS API

Subscribed Topics

  • command (rm_msgs/GimbalCmd)

    Set gimbal mode, pitch and yaw axis rotation speed, tracking target, pointing target and coordinate system.

  • /detection (rm_msgs/TargetDetectionArray)

    Receive visual recognition data.

  • /<camera_name>/camera_info (CameraInfo)

    Make sure that the detection node receives a new frame of image and sends the prediction data to the detection node.

Published Topics

  • error (rm_msgs/GimbalDesError) The error calculated by the ballistic model to shoot at the current gimbal angle to the target.

  • track (rm_msgs/TrackDataArray) The predicted data used for detection node to decide the ROI.
    Bullet solver
  • model_desire ( visualization_msgs/Marker ) Used to visualize the desired bullet trajectory.

  • model_real ( visualization_msgs/Marker ) Used to visualize the trajectory that caculated by ballistic model in the current gimbal angle.

    Parameters

  • detection_topic (string, default: “/detection”)

    The name of the topic where detection node gets predicted data.

  • detection_frame (string, default: “detection”)

    The name of the frame of detection.

  • camera_topic (string, default: “/galaxy_camera/camera_info”)

    The name of the topic that is determined that the detection node receives a new frame of image and sends the prediction data to the detection node.

  • publish_rate (double)

    Frequency (in Hz) of publishing gimbal error.

  • chassis_angular_data_num (double)

    The number of angle data of chassis.Used for chassis angular average filter.

  • time_compensation (double)

    Time(in s) of image transmission delay(in s).Used to compensate for the effects of images transimission delay

Bullet solver

Bullet solver is used to get the bullet drop point

  • resistance_coff_qd_10, resistance_coff_qd_15, resistance_coff_qd_16, resistance_coff_qd_18, resistance_coff_qd_30 ( double )

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_gimbal_controllers

0.1.11 (2023-06-20)

  • Merge pull request #135 from ye-luo-xi-tui/feedforward Add input feedforward and fix a bug in computing desire vel at TRACK mode
  • Add input feedforward and fix a bug in computing desire vel at TRACK mode.
  • Merge pull request #124 from ye-luo-xi-tui/resistance_compensation Add velocity_dead_zone and effort_dead_zone
  • Merge branch 'master' into dev/balance
  • Add velocity_dead_zone and effort_dead_zone.
  • Merge pull request #120 from ye-luo-xi-tui/master 0.1.10
  • Merge branch 'rm-controls:master' into gpio_calibration_controller
  • Contributors: 1moule, ye-luo-xi-tui, yezi, yuchen

0.1.10 (2023-03-25)

  • Merge branch 'rm-controls:master' into master
  • Merge pull request #114 from ye-luo-xi-tui/resistance_compensation Add resistance compensation on yaw
  • Add resistance compensation on yaw.
  • Merge pull request #113 from ye-luo-xi-tui/master Use Vector3WithFilter in rm_common instead
  • Use Vector3WithFilter in rm_common instead.
  • Merge pull request #106 from ye-luo-xi-tui/master 0.1.9
  • Contributors: ye-luo-xi-tui, yezi

0.1.9 (2023-02-21)

  • Merge pull request #104 from ye-luo-xi-tui/balance_standard Fix bug.
  • Fix bug.
  • Merge pull request #102 from ljq-lv/fix_warning Fixed the bug of gimbal warning
  • Add the else to judge mode TRACK
  • Fixed the bug of gimbal warning
  • Merge branch 'master' into balance_standard
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Contributors: ljq-lv, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #92 from ye-luo-xi-tui/target_velocity_correction Estimate chassis vel with moving average and subtract chassis_vel from target_vel
  • Fix trylock bug.
  • Subtract chassis_vel from target_vel.
  • Estimate chassis vel with moving average.
  • Merge pull request #86 from NaHCO3bc/Readme Fix the dependence part bug.
  • Modify the test file folder.
  • Fix the dependence part bug.
  • Merge pull request #85 from ye-luo-xi-tui/master 0.1.7
  • Contributors: NaHCO3bc, ye-luo-xi-tui, yezi

0.1.7 (2022-09-10)

  • Optimize TRACK mode of rm_gimbal_controller.
  • Change frame "map" to "odom".
  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan, yezi

0.1.6 (2022-06-16)

  • Merge branch 'gimbal/chassis_vel'
  • Merge pull request #77 from ye-luo-xi-tui/gimbal/chassis_vel Fix a stupid bug
  • Fix a stupid bug.
  • Add chassis_vel as a feedforward to the yaw joint
  • Merge remote-tracking branch 'origin/master'
  • Add chassis_vel to yaw's PID
  • Contributors: QiayuanLiao, qiayuan, yezi

0.1.5 (2022-06-10)

  • Merge pull request #71 from ye-luo-xi-tui/gimbal/joint_velocity Set joint desired velocity according to the target velocity

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • test/load_controllers.launch
      • base_link_tf [default: false] — Set true when not imu and chassis controllers loaded
      • odom_tf [default: false] — Set true when not chassis but imu and orientation controllers loaded

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_gimbal_controllers at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 0.1.11
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rm-controls/rm_controllers.git
VCS Type git
VCS Version master
Last Updated 2025-06-03
Dev Status DEVELOPED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

RoboMaster standard robot Gimbal controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_gimbal_controllers

Overview

The rm_gimbal_controllers has three states: RATE, TRACK, and DIRECT. It performs PID control on the yaw joint and pitch joint according to commands. It can also perform moving average filtering based on detection data and calculate, predict and track targets based on the ballistic model.

Keywords: ROS, Robomaster, gimbal, bullet solver, moving average filter

License

The source code is released under a BSD 3-Clause license.

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The package has been tested under ROS Indigo, Melodic and Noetic on respectively Ubuntu 18.04 and 20.04. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

Hardware interface type

  • JointStateInterface Used to get the speed and position of gimbal joint.
  • EffortJointInterface Used to send effort command to gimbal joint .
  • RoboStateInterface Used to get the current and historical transform between gimbal and the world coordinate system and the transform between visual target and the world coordinate system.

Installation

Installation from Packages

To install all packages from the this repository as Debian packages use

sudo apt-get install ros-noetic-rm-gimbal-controllers

Or better, use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • tf2_eigen
  • tf2_geometry_msgs
  • visualization_msgs
  • dynamic_reconfigure

ROS API

Subscribed Topics

  • command (rm_msgs/GimbalCmd)

    Set gimbal mode, pitch and yaw axis rotation speed, tracking target, pointing target and coordinate system.

  • /detection (rm_msgs/TargetDetectionArray)

    Receive visual recognition data.

  • /<camera_name>/camera_info (CameraInfo)

    Make sure that the detection node receives a new frame of image and sends the prediction data to the detection node.

Published Topics

  • error (rm_msgs/GimbalDesError) The error calculated by the ballistic model to shoot at the current gimbal angle to the target.

  • track (rm_msgs/TrackDataArray) The predicted data used for detection node to decide the ROI.
    Bullet solver
  • model_desire ( visualization_msgs/Marker ) Used to visualize the desired bullet trajectory.

  • model_real ( visualization_msgs/Marker ) Used to visualize the trajectory that caculated by ballistic model in the current gimbal angle.

    Parameters

  • detection_topic (string, default: “/detection”)

    The name of the topic where detection node gets predicted data.

  • detection_frame (string, default: “detection”)

    The name of the frame of detection.

  • camera_topic (string, default: “/galaxy_camera/camera_info”)

    The name of the topic that is determined that the detection node receives a new frame of image and sends the prediction data to the detection node.

  • publish_rate (double)

    Frequency (in Hz) of publishing gimbal error.

  • chassis_angular_data_num (double)

    The number of angle data of chassis.Used for chassis angular average filter.

  • time_compensation (double)

    Time(in s) of image transmission delay(in s).Used to compensate for the effects of images transimission delay

Bullet solver

Bullet solver is used to get the bullet drop point

  • resistance_coff_qd_10, resistance_coff_qd_15, resistance_coff_qd_16, resistance_coff_qd_18, resistance_coff_qd_30 ( double )

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_gimbal_controllers

0.1.11 (2023-06-20)

  • Merge pull request #135 from ye-luo-xi-tui/feedforward Add input feedforward and fix a bug in computing desire vel at TRACK mode
  • Add input feedforward and fix a bug in computing desire vel at TRACK mode.
  • Merge pull request #124 from ye-luo-xi-tui/resistance_compensation Add velocity_dead_zone and effort_dead_zone
  • Merge branch 'master' into dev/balance
  • Add velocity_dead_zone and effort_dead_zone.
  • Merge pull request #120 from ye-luo-xi-tui/master 0.1.10
  • Merge branch 'rm-controls:master' into gpio_calibration_controller
  • Contributors: 1moule, ye-luo-xi-tui, yezi, yuchen

0.1.10 (2023-03-25)

  • Merge branch 'rm-controls:master' into master
  • Merge pull request #114 from ye-luo-xi-tui/resistance_compensation Add resistance compensation on yaw
  • Add resistance compensation on yaw.
  • Merge pull request #113 from ye-luo-xi-tui/master Use Vector3WithFilter in rm_common instead
  • Use Vector3WithFilter in rm_common instead.
  • Merge pull request #106 from ye-luo-xi-tui/master 0.1.9
  • Contributors: ye-luo-xi-tui, yezi

0.1.9 (2023-02-21)

  • Merge pull request #104 from ye-luo-xi-tui/balance_standard Fix bug.
  • Fix bug.
  • Merge pull request #102 from ljq-lv/fix_warning Fixed the bug of gimbal warning
  • Add the else to judge mode TRACK
  • Fixed the bug of gimbal warning
  • Merge branch 'master' into balance_standard
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Contributors: ljq-lv, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #92 from ye-luo-xi-tui/target_velocity_correction Estimate chassis vel with moving average and subtract chassis_vel from target_vel
  • Fix trylock bug.
  • Subtract chassis_vel from target_vel.
  • Estimate chassis vel with moving average.
  • Merge pull request #86 from NaHCO3bc/Readme Fix the dependence part bug.
  • Modify the test file folder.
  • Fix the dependence part bug.
  • Merge pull request #85 from ye-luo-xi-tui/master 0.1.7
  • Contributors: NaHCO3bc, ye-luo-xi-tui, yezi

0.1.7 (2022-09-10)

  • Optimize TRACK mode of rm_gimbal_controller.
  • Change frame "map" to "odom".
  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan, yezi

0.1.6 (2022-06-16)

  • Merge branch 'gimbal/chassis_vel'
  • Merge pull request #77 from ye-luo-xi-tui/gimbal/chassis_vel Fix a stupid bug
  • Fix a stupid bug.
  • Add chassis_vel as a feedforward to the yaw joint
  • Merge remote-tracking branch 'origin/master'
  • Add chassis_vel to yaw's PID
  • Contributors: QiayuanLiao, qiayuan, yezi

0.1.5 (2022-06-10)

  • Merge pull request #71 from ye-luo-xi-tui/gimbal/joint_velocity Set joint desired velocity according to the target velocity

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • test/load_controllers.launch
      • base_link_tf [default: false] — Set true when not imu and chassis controllers loaded
      • odom_tf [default: false] — Set true when not chassis but imu and orientation controllers loaded

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_gimbal_controllers at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 0.1.11
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rm-controls/rm_controllers.git
VCS Type git
VCS Version master
Last Updated 2025-06-03
Dev Status DEVELOPED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

RoboMaster standard robot Gimbal controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_gimbal_controllers

Overview

The rm_gimbal_controllers has three states: RATE, TRACK, and DIRECT. It performs PID control on the yaw joint and pitch joint according to commands. It can also perform moving average filtering based on detection data and calculate, predict and track targets based on the ballistic model.

Keywords: ROS, Robomaster, gimbal, bullet solver, moving average filter

License

The source code is released under a BSD 3-Clause license.

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The package has been tested under ROS Indigo, Melodic and Noetic on respectively Ubuntu 18.04 and 20.04. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

Hardware interface type

  • JointStateInterface Used to get the speed and position of gimbal joint.
  • EffortJointInterface Used to send effort command to gimbal joint .
  • RoboStateInterface Used to get the current and historical transform between gimbal and the world coordinate system and the transform between visual target and the world coordinate system.

Installation

Installation from Packages

To install all packages from the this repository as Debian packages use

sudo apt-get install ros-noetic-rm-gimbal-controllers

Or better, use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • tf2_eigen
  • tf2_geometry_msgs
  • visualization_msgs
  • dynamic_reconfigure

ROS API

Subscribed Topics

  • command (rm_msgs/GimbalCmd)

    Set gimbal mode, pitch and yaw axis rotation speed, tracking target, pointing target and coordinate system.

  • /detection (rm_msgs/TargetDetectionArray)

    Receive visual recognition data.

  • /<camera_name>/camera_info (CameraInfo)

    Make sure that the detection node receives a new frame of image and sends the prediction data to the detection node.

Published Topics

  • error (rm_msgs/GimbalDesError) The error calculated by the ballistic model to shoot at the current gimbal angle to the target.

  • track (rm_msgs/TrackDataArray) The predicted data used for detection node to decide the ROI.
    Bullet solver
  • model_desire ( visualization_msgs/Marker ) Used to visualize the desired bullet trajectory.

  • model_real ( visualization_msgs/Marker ) Used to visualize the trajectory that caculated by ballistic model in the current gimbal angle.

    Parameters

  • detection_topic (string, default: “/detection”)

    The name of the topic where detection node gets predicted data.

  • detection_frame (string, default: “detection”)

    The name of the frame of detection.

  • camera_topic (string, default: “/galaxy_camera/camera_info”)

    The name of the topic that is determined that the detection node receives a new frame of image and sends the prediction data to the detection node.

  • publish_rate (double)

    Frequency (in Hz) of publishing gimbal error.

  • chassis_angular_data_num (double)

    The number of angle data of chassis.Used for chassis angular average filter.

  • time_compensation (double)

    Time(in s) of image transmission delay(in s).Used to compensate for the effects of images transimission delay

Bullet solver

Bullet solver is used to get the bullet drop point

  • resistance_coff_qd_10, resistance_coff_qd_15, resistance_coff_qd_16, resistance_coff_qd_18, resistance_coff_qd_30 ( double )

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_gimbal_controllers

0.1.11 (2023-06-20)

  • Merge pull request #135 from ye-luo-xi-tui/feedforward Add input feedforward and fix a bug in computing desire vel at TRACK mode
  • Add input feedforward and fix a bug in computing desire vel at TRACK mode.
  • Merge pull request #124 from ye-luo-xi-tui/resistance_compensation Add velocity_dead_zone and effort_dead_zone
  • Merge branch 'master' into dev/balance
  • Add velocity_dead_zone and effort_dead_zone.
  • Merge pull request #120 from ye-luo-xi-tui/master 0.1.10
  • Merge branch 'rm-controls:master' into gpio_calibration_controller
  • Contributors: 1moule, ye-luo-xi-tui, yezi, yuchen

0.1.10 (2023-03-25)

  • Merge branch 'rm-controls:master' into master
  • Merge pull request #114 from ye-luo-xi-tui/resistance_compensation Add resistance compensation on yaw
  • Add resistance compensation on yaw.
  • Merge pull request #113 from ye-luo-xi-tui/master Use Vector3WithFilter in rm_common instead
  • Use Vector3WithFilter in rm_common instead.
  • Merge pull request #106 from ye-luo-xi-tui/master 0.1.9
  • Contributors: ye-luo-xi-tui, yezi

0.1.9 (2023-02-21)

  • Merge pull request #104 from ye-luo-xi-tui/balance_standard Fix bug.
  • Fix bug.
  • Merge pull request #102 from ljq-lv/fix_warning Fixed the bug of gimbal warning
  • Add the else to judge mode TRACK
  • Fixed the bug of gimbal warning
  • Merge branch 'master' into balance_standard
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Contributors: ljq-lv, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #92 from ye-luo-xi-tui/target_velocity_correction Estimate chassis vel with moving average and subtract chassis_vel from target_vel
  • Fix trylock bug.
  • Subtract chassis_vel from target_vel.
  • Estimate chassis vel with moving average.
  • Merge pull request #86 from NaHCO3bc/Readme Fix the dependence part bug.
  • Modify the test file folder.
  • Fix the dependence part bug.
  • Merge pull request #85 from ye-luo-xi-tui/master 0.1.7
  • Contributors: NaHCO3bc, ye-luo-xi-tui, yezi

0.1.7 (2022-09-10)

  • Optimize TRACK mode of rm_gimbal_controller.
  • Change frame "map" to "odom".
  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan, yezi

0.1.6 (2022-06-16)

  • Merge branch 'gimbal/chassis_vel'
  • Merge pull request #77 from ye-luo-xi-tui/gimbal/chassis_vel Fix a stupid bug
  • Fix a stupid bug.
  • Add chassis_vel as a feedforward to the yaw joint
  • Merge remote-tracking branch 'origin/master'
  • Add chassis_vel to yaw's PID
  • Contributors: QiayuanLiao, qiayuan, yezi

0.1.5 (2022-06-10)

  • Merge pull request #71 from ye-luo-xi-tui/gimbal/joint_velocity Set joint desired velocity according to the target velocity

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • test/load_controllers.launch
      • base_link_tf [default: false] — Set true when not imu and chassis controllers loaded
      • odom_tf [default: false] — Set true when not chassis but imu and orientation controllers loaded

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_gimbal_controllers at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 0.1.11
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rm-controls/rm_controllers.git
VCS Type git
VCS Version master
Last Updated 2025-06-03
Dev Status DEVELOPED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

RoboMaster standard robot Gimbal controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_gimbal_controllers

Overview

The rm_gimbal_controllers has three states: RATE, TRACK, and DIRECT. It performs PID control on the yaw joint and pitch joint according to commands. It can also perform moving average filtering based on detection data and calculate, predict and track targets based on the ballistic model.

Keywords: ROS, Robomaster, gimbal, bullet solver, moving average filter

License

The source code is released under a BSD 3-Clause license.

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The package has been tested under ROS Indigo, Melodic and Noetic on respectively Ubuntu 18.04 and 20.04. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

Hardware interface type

  • JointStateInterface Used to get the speed and position of gimbal joint.
  • EffortJointInterface Used to send effort command to gimbal joint .
  • RoboStateInterface Used to get the current and historical transform between gimbal and the world coordinate system and the transform between visual target and the world coordinate system.

Installation

Installation from Packages

To install all packages from the this repository as Debian packages use

sudo apt-get install ros-noetic-rm-gimbal-controllers

Or better, use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • tf2_eigen
  • tf2_geometry_msgs
  • visualization_msgs
  • dynamic_reconfigure

ROS API

Subscribed Topics

  • command (rm_msgs/GimbalCmd)

    Set gimbal mode, pitch and yaw axis rotation speed, tracking target, pointing target and coordinate system.

  • /detection (rm_msgs/TargetDetectionArray)

    Receive visual recognition data.

  • /<camera_name>/camera_info (CameraInfo)

    Make sure that the detection node receives a new frame of image and sends the prediction data to the detection node.

Published Topics

  • error (rm_msgs/GimbalDesError) The error calculated by the ballistic model to shoot at the current gimbal angle to the target.

  • track (rm_msgs/TrackDataArray) The predicted data used for detection node to decide the ROI.
    Bullet solver
  • model_desire ( visualization_msgs/Marker ) Used to visualize the desired bullet trajectory.

  • model_real ( visualization_msgs/Marker ) Used to visualize the trajectory that caculated by ballistic model in the current gimbal angle.

    Parameters

  • detection_topic (string, default: “/detection”)

    The name of the topic where detection node gets predicted data.

  • detection_frame (string, default: “detection”)

    The name of the frame of detection.

  • camera_topic (string, default: “/galaxy_camera/camera_info”)

    The name of the topic that is determined that the detection node receives a new frame of image and sends the prediction data to the detection node.

  • publish_rate (double)

    Frequency (in Hz) of publishing gimbal error.

  • chassis_angular_data_num (double)

    The number of angle data of chassis.Used for chassis angular average filter.

  • time_compensation (double)

    Time(in s) of image transmission delay(in s).Used to compensate for the effects of images transimission delay

Bullet solver

Bullet solver is used to get the bullet drop point

  • resistance_coff_qd_10, resistance_coff_qd_15, resistance_coff_qd_16, resistance_coff_qd_18, resistance_coff_qd_30 ( double )

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_gimbal_controllers

0.1.11 (2023-06-20)

  • Merge pull request #135 from ye-luo-xi-tui/feedforward Add input feedforward and fix a bug in computing desire vel at TRACK mode
  • Add input feedforward and fix a bug in computing desire vel at TRACK mode.
  • Merge pull request #124 from ye-luo-xi-tui/resistance_compensation Add velocity_dead_zone and effort_dead_zone
  • Merge branch 'master' into dev/balance
  • Add velocity_dead_zone and effort_dead_zone.
  • Merge pull request #120 from ye-luo-xi-tui/master 0.1.10
  • Merge branch 'rm-controls:master' into gpio_calibration_controller
  • Contributors: 1moule, ye-luo-xi-tui, yezi, yuchen

0.1.10 (2023-03-25)

  • Merge branch 'rm-controls:master' into master
  • Merge pull request #114 from ye-luo-xi-tui/resistance_compensation Add resistance compensation on yaw
  • Add resistance compensation on yaw.
  • Merge pull request #113 from ye-luo-xi-tui/master Use Vector3WithFilter in rm_common instead
  • Use Vector3WithFilter in rm_common instead.
  • Merge pull request #106 from ye-luo-xi-tui/master 0.1.9
  • Contributors: ye-luo-xi-tui, yezi

0.1.9 (2023-02-21)

  • Merge pull request #104 from ye-luo-xi-tui/balance_standard Fix bug.
  • Fix bug.
  • Merge pull request #102 from ljq-lv/fix_warning Fixed the bug of gimbal warning
  • Add the else to judge mode TRACK
  • Fixed the bug of gimbal warning
  • Merge branch 'master' into balance_standard
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Contributors: ljq-lv, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #92 from ye-luo-xi-tui/target_velocity_correction Estimate chassis vel with moving average and subtract chassis_vel from target_vel
  • Fix trylock bug.
  • Subtract chassis_vel from target_vel.
  • Estimate chassis vel with moving average.
  • Merge pull request #86 from NaHCO3bc/Readme Fix the dependence part bug.
  • Modify the test file folder.
  • Fix the dependence part bug.
  • Merge pull request #85 from ye-luo-xi-tui/master 0.1.7
  • Contributors: NaHCO3bc, ye-luo-xi-tui, yezi

0.1.7 (2022-09-10)

  • Optimize TRACK mode of rm_gimbal_controller.
  • Change frame "map" to "odom".
  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan, yezi

0.1.6 (2022-06-16)

  • Merge branch 'gimbal/chassis_vel'
  • Merge pull request #77 from ye-luo-xi-tui/gimbal/chassis_vel Fix a stupid bug
  • Fix a stupid bug.
  • Add chassis_vel as a feedforward to the yaw joint
  • Merge remote-tracking branch 'origin/master'
  • Add chassis_vel to yaw's PID
  • Contributors: QiayuanLiao, qiayuan, yezi

0.1.5 (2022-06-10)

  • Merge pull request #71 from ye-luo-xi-tui/gimbal/joint_velocity Set joint desired velocity according to the target velocity

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • test/load_controllers.launch
      • base_link_tf [default: false] — Set true when not imu and chassis controllers loaded
      • odom_tf [default: false] — Set true when not chassis but imu and orientation controllers loaded

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_gimbal_controllers at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 0.1.11
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rm-controls/rm_controllers.git
VCS Type git
VCS Version master
Last Updated 2025-06-03
Dev Status DEVELOPED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

RoboMaster standard robot Gimbal controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_gimbal_controllers

Overview

The rm_gimbal_controllers has three states: RATE, TRACK, and DIRECT. It performs PID control on the yaw joint and pitch joint according to commands. It can also perform moving average filtering based on detection data and calculate, predict and track targets based on the ballistic model.

Keywords: ROS, Robomaster, gimbal, bullet solver, moving average filter

License

The source code is released under a BSD 3-Clause license.

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The package has been tested under ROS Indigo, Melodic and Noetic on respectively Ubuntu 18.04 and 20.04. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

Hardware interface type

  • JointStateInterface Used to get the speed and position of gimbal joint.
  • EffortJointInterface Used to send effort command to gimbal joint .
  • RoboStateInterface Used to get the current and historical transform between gimbal and the world coordinate system and the transform between visual target and the world coordinate system.

Installation

Installation from Packages

To install all packages from the this repository as Debian packages use

sudo apt-get install ros-noetic-rm-gimbal-controllers

Or better, use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • tf2_eigen
  • tf2_geometry_msgs
  • visualization_msgs
  • dynamic_reconfigure

ROS API

Subscribed Topics

  • command (rm_msgs/GimbalCmd)

    Set gimbal mode, pitch and yaw axis rotation speed, tracking target, pointing target and coordinate system.

  • /detection (rm_msgs/TargetDetectionArray)

    Receive visual recognition data.

  • /<camera_name>/camera_info (CameraInfo)

    Make sure that the detection node receives a new frame of image and sends the prediction data to the detection node.

Published Topics

  • error (rm_msgs/GimbalDesError) The error calculated by the ballistic model to shoot at the current gimbal angle to the target.

  • track (rm_msgs/TrackDataArray) The predicted data used for detection node to decide the ROI.
    Bullet solver
  • model_desire ( visualization_msgs/Marker ) Used to visualize the desired bullet trajectory.

  • model_real ( visualization_msgs/Marker ) Used to visualize the trajectory that caculated by ballistic model in the current gimbal angle.

    Parameters

  • detection_topic (string, default: “/detection”)

    The name of the topic where detection node gets predicted data.

  • detection_frame (string, default: “detection”)

    The name of the frame of detection.

  • camera_topic (string, default: “/galaxy_camera/camera_info”)

    The name of the topic that is determined that the detection node receives a new frame of image and sends the prediction data to the detection node.

  • publish_rate (double)

    Frequency (in Hz) of publishing gimbal error.

  • chassis_angular_data_num (double)

    The number of angle data of chassis.Used for chassis angular average filter.

  • time_compensation (double)

    Time(in s) of image transmission delay(in s).Used to compensate for the effects of images transimission delay

Bullet solver

Bullet solver is used to get the bullet drop point

  • resistance_coff_qd_10, resistance_coff_qd_15, resistance_coff_qd_16, resistance_coff_qd_18, resistance_coff_qd_30 ( double )

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_gimbal_controllers

0.1.11 (2023-06-20)

  • Merge pull request #135 from ye-luo-xi-tui/feedforward Add input feedforward and fix a bug in computing desire vel at TRACK mode
  • Add input feedforward and fix a bug in computing desire vel at TRACK mode.
  • Merge pull request #124 from ye-luo-xi-tui/resistance_compensation Add velocity_dead_zone and effort_dead_zone
  • Merge branch 'master' into dev/balance
  • Add velocity_dead_zone and effort_dead_zone.
  • Merge pull request #120 from ye-luo-xi-tui/master 0.1.10
  • Merge branch 'rm-controls:master' into gpio_calibration_controller
  • Contributors: 1moule, ye-luo-xi-tui, yezi, yuchen

0.1.10 (2023-03-25)

  • Merge branch 'rm-controls:master' into master
  • Merge pull request #114 from ye-luo-xi-tui/resistance_compensation Add resistance compensation on yaw
  • Add resistance compensation on yaw.
  • Merge pull request #113 from ye-luo-xi-tui/master Use Vector3WithFilter in rm_common instead
  • Use Vector3WithFilter in rm_common instead.
  • Merge pull request #106 from ye-luo-xi-tui/master 0.1.9
  • Contributors: ye-luo-xi-tui, yezi

0.1.9 (2023-02-21)

  • Merge pull request #104 from ye-luo-xi-tui/balance_standard Fix bug.
  • Fix bug.
  • Merge pull request #102 from ljq-lv/fix_warning Fixed the bug of gimbal warning
  • Add the else to judge mode TRACK
  • Fixed the bug of gimbal warning
  • Merge branch 'master' into balance_standard
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Contributors: ljq-lv, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #92 from ye-luo-xi-tui/target_velocity_correction Estimate chassis vel with moving average and subtract chassis_vel from target_vel
  • Fix trylock bug.
  • Subtract chassis_vel from target_vel.
  • Estimate chassis vel with moving average.
  • Merge pull request #86 from NaHCO3bc/Readme Fix the dependence part bug.
  • Modify the test file folder.
  • Fix the dependence part bug.
  • Merge pull request #85 from ye-luo-xi-tui/master 0.1.7
  • Contributors: NaHCO3bc, ye-luo-xi-tui, yezi

0.1.7 (2022-09-10)

  • Optimize TRACK mode of rm_gimbal_controller.
  • Change frame "map" to "odom".
  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan, yezi

0.1.6 (2022-06-16)

  • Merge branch 'gimbal/chassis_vel'
  • Merge pull request #77 from ye-luo-xi-tui/gimbal/chassis_vel Fix a stupid bug
  • Fix a stupid bug.
  • Add chassis_vel as a feedforward to the yaw joint
  • Merge remote-tracking branch 'origin/master'
  • Add chassis_vel to yaw's PID
  • Contributors: QiayuanLiao, qiayuan, yezi

0.1.5 (2022-06-10)

  • Merge pull request #71 from ye-luo-xi-tui/gimbal/joint_velocity Set joint desired velocity according to the target velocity

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • test/load_controllers.launch
      • base_link_tf [default: false] — Set true when not imu and chassis controllers loaded
      • odom_tf [default: false] — Set true when not chassis but imu and orientation controllers loaded

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_gimbal_controllers at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 0.1.11
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rm-controls/rm_controllers.git
VCS Type git
VCS Version master
Last Updated 2025-06-03
Dev Status DEVELOPED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

RoboMaster standard robot Gimbal controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_gimbal_controllers

Overview

The rm_gimbal_controllers has three states: RATE, TRACK, and DIRECT. It performs PID control on the yaw joint and pitch joint according to commands. It can also perform moving average filtering based on detection data and calculate, predict and track targets based on the ballistic model.

Keywords: ROS, Robomaster, gimbal, bullet solver, moving average filter

License

The source code is released under a BSD 3-Clause license.

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The package has been tested under ROS Indigo, Melodic and Noetic on respectively Ubuntu 18.04 and 20.04. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

Hardware interface type

  • JointStateInterface Used to get the speed and position of gimbal joint.
  • EffortJointInterface Used to send effort command to gimbal joint .
  • RoboStateInterface Used to get the current and historical transform between gimbal and the world coordinate system and the transform between visual target and the world coordinate system.

Installation

Installation from Packages

To install all packages from the this repository as Debian packages use

sudo apt-get install ros-noetic-rm-gimbal-controllers

Or better, use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • tf2_eigen
  • tf2_geometry_msgs
  • visualization_msgs
  • dynamic_reconfigure

ROS API

Subscribed Topics

  • command (rm_msgs/GimbalCmd)

    Set gimbal mode, pitch and yaw axis rotation speed, tracking target, pointing target and coordinate system.

  • /detection (rm_msgs/TargetDetectionArray)

    Receive visual recognition data.

  • /<camera_name>/camera_info (CameraInfo)

    Make sure that the detection node receives a new frame of image and sends the prediction data to the detection node.

Published Topics

  • error (rm_msgs/GimbalDesError) The error calculated by the ballistic model to shoot at the current gimbal angle to the target.

  • track (rm_msgs/TrackDataArray) The predicted data used for detection node to decide the ROI.
    Bullet solver
  • model_desire ( visualization_msgs/Marker ) Used to visualize the desired bullet trajectory.

  • model_real ( visualization_msgs/Marker ) Used to visualize the trajectory that caculated by ballistic model in the current gimbal angle.

    Parameters

  • detection_topic (string, default: “/detection”)

    The name of the topic where detection node gets predicted data.

  • detection_frame (string, default: “detection”)

    The name of the frame of detection.

  • camera_topic (string, default: “/galaxy_camera/camera_info”)

    The name of the topic that is determined that the detection node receives a new frame of image and sends the prediction data to the detection node.

  • publish_rate (double)

    Frequency (in Hz) of publishing gimbal error.

  • chassis_angular_data_num (double)

    The number of angle data of chassis.Used for chassis angular average filter.

  • time_compensation (double)

    Time(in s) of image transmission delay(in s).Used to compensate for the effects of images transimission delay

Bullet solver

Bullet solver is used to get the bullet drop point

  • resistance_coff_qd_10, resistance_coff_qd_15, resistance_coff_qd_16, resistance_coff_qd_18, resistance_coff_qd_30 ( double )

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_gimbal_controllers

0.1.11 (2023-06-20)

  • Merge pull request #135 from ye-luo-xi-tui/feedforward Add input feedforward and fix a bug in computing desire vel at TRACK mode
  • Add input feedforward and fix a bug in computing desire vel at TRACK mode.
  • Merge pull request #124 from ye-luo-xi-tui/resistance_compensation Add velocity_dead_zone and effort_dead_zone
  • Merge branch 'master' into dev/balance
  • Add velocity_dead_zone and effort_dead_zone.
  • Merge pull request #120 from ye-luo-xi-tui/master 0.1.10
  • Merge branch 'rm-controls:master' into gpio_calibration_controller
  • Contributors: 1moule, ye-luo-xi-tui, yezi, yuchen

0.1.10 (2023-03-25)

  • Merge branch 'rm-controls:master' into master
  • Merge pull request #114 from ye-luo-xi-tui/resistance_compensation Add resistance compensation on yaw
  • Add resistance compensation on yaw.
  • Merge pull request #113 from ye-luo-xi-tui/master Use Vector3WithFilter in rm_common instead
  • Use Vector3WithFilter in rm_common instead.
  • Merge pull request #106 from ye-luo-xi-tui/master 0.1.9
  • Contributors: ye-luo-xi-tui, yezi

0.1.9 (2023-02-21)

  • Merge pull request #104 from ye-luo-xi-tui/balance_standard Fix bug.
  • Fix bug.
  • Merge pull request #102 from ljq-lv/fix_warning Fixed the bug of gimbal warning
  • Add the else to judge mode TRACK
  • Fixed the bug of gimbal warning
  • Merge branch 'master' into balance_standard
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Contributors: ljq-lv, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #92 from ye-luo-xi-tui/target_velocity_correction Estimate chassis vel with moving average and subtract chassis_vel from target_vel
  • Fix trylock bug.
  • Subtract chassis_vel from target_vel.
  • Estimate chassis vel with moving average.
  • Merge pull request #86 from NaHCO3bc/Readme Fix the dependence part bug.
  • Modify the test file folder.
  • Fix the dependence part bug.
  • Merge pull request #85 from ye-luo-xi-tui/master 0.1.7
  • Contributors: NaHCO3bc, ye-luo-xi-tui, yezi

0.1.7 (2022-09-10)

  • Optimize TRACK mode of rm_gimbal_controller.
  • Change frame "map" to "odom".
  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan, yezi

0.1.6 (2022-06-16)

  • Merge branch 'gimbal/chassis_vel'
  • Merge pull request #77 from ye-luo-xi-tui/gimbal/chassis_vel Fix a stupid bug
  • Fix a stupid bug.
  • Add chassis_vel as a feedforward to the yaw joint
  • Merge remote-tracking branch 'origin/master'
  • Add chassis_vel to yaw's PID
  • Contributors: QiayuanLiao, qiayuan, yezi

0.1.5 (2022-06-10)

  • Merge pull request #71 from ye-luo-xi-tui/gimbal/joint_velocity Set joint desired velocity according to the target velocity

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • test/load_controllers.launch
      • base_link_tf [default: false] — Set true when not imu and chassis controllers loaded
      • odom_tf [default: false] — Set true when not chassis but imu and orientation controllers loaded

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_gimbal_controllers at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 0.1.11
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rm-controls/rm_controllers.git
VCS Type git
VCS Version master
Last Updated 2025-06-03
Dev Status DEVELOPED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

RoboMaster standard robot Gimbal controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_gimbal_controllers

Overview

The rm_gimbal_controllers has three states: RATE, TRACK, and DIRECT. It performs PID control on the yaw joint and pitch joint according to commands. It can also perform moving average filtering based on detection data and calculate, predict and track targets based on the ballistic model.

Keywords: ROS, Robomaster, gimbal, bullet solver, moving average filter

License

The source code is released under a BSD 3-Clause license.

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The package has been tested under ROS Indigo, Melodic and Noetic on respectively Ubuntu 18.04 and 20.04. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

Hardware interface type

  • JointStateInterface Used to get the speed and position of gimbal joint.
  • EffortJointInterface Used to send effort command to gimbal joint .
  • RoboStateInterface Used to get the current and historical transform between gimbal and the world coordinate system and the transform between visual target and the world coordinate system.

Installation

Installation from Packages

To install all packages from the this repository as Debian packages use

sudo apt-get install ros-noetic-rm-gimbal-controllers

Or better, use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • tf2_eigen
  • tf2_geometry_msgs
  • visualization_msgs
  • dynamic_reconfigure

ROS API

Subscribed Topics

  • command (rm_msgs/GimbalCmd)

    Set gimbal mode, pitch and yaw axis rotation speed, tracking target, pointing target and coordinate system.

  • /detection (rm_msgs/TargetDetectionArray)

    Receive visual recognition data.

  • /<camera_name>/camera_info (CameraInfo)

    Make sure that the detection node receives a new frame of image and sends the prediction data to the detection node.

Published Topics

  • error (rm_msgs/GimbalDesError) The error calculated by the ballistic model to shoot at the current gimbal angle to the target.

  • track (rm_msgs/TrackDataArray) The predicted data used for detection node to decide the ROI.
    Bullet solver
  • model_desire ( visualization_msgs/Marker ) Used to visualize the desired bullet trajectory.

  • model_real ( visualization_msgs/Marker ) Used to visualize the trajectory that caculated by ballistic model in the current gimbal angle.

    Parameters

  • detection_topic (string, default: “/detection”)

    The name of the topic where detection node gets predicted data.

  • detection_frame (string, default: “detection”)

    The name of the frame of detection.

  • camera_topic (string, default: “/galaxy_camera/camera_info”)

    The name of the topic that is determined that the detection node receives a new frame of image and sends the prediction data to the detection node.

  • publish_rate (double)

    Frequency (in Hz) of publishing gimbal error.

  • chassis_angular_data_num (double)

    The number of angle data of chassis.Used for chassis angular average filter.

  • time_compensation (double)

    Time(in s) of image transmission delay(in s).Used to compensate for the effects of images transimission delay

Bullet solver

Bullet solver is used to get the bullet drop point

  • resistance_coff_qd_10, resistance_coff_qd_15, resistance_coff_qd_16, resistance_coff_qd_18, resistance_coff_qd_30 ( double )

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_gimbal_controllers

0.1.11 (2023-06-20)

  • Merge pull request #135 from ye-luo-xi-tui/feedforward Add input feedforward and fix a bug in computing desire vel at TRACK mode
  • Add input feedforward and fix a bug in computing desire vel at TRACK mode.
  • Merge pull request #124 from ye-luo-xi-tui/resistance_compensation Add velocity_dead_zone and effort_dead_zone
  • Merge branch 'master' into dev/balance
  • Add velocity_dead_zone and effort_dead_zone.
  • Merge pull request #120 from ye-luo-xi-tui/master 0.1.10
  • Merge branch 'rm-controls:master' into gpio_calibration_controller
  • Contributors: 1moule, ye-luo-xi-tui, yezi, yuchen

0.1.10 (2023-03-25)

  • Merge branch 'rm-controls:master' into master
  • Merge pull request #114 from ye-luo-xi-tui/resistance_compensation Add resistance compensation on yaw
  • Add resistance compensation on yaw.
  • Merge pull request #113 from ye-luo-xi-tui/master Use Vector3WithFilter in rm_common instead
  • Use Vector3WithFilter in rm_common instead.
  • Merge pull request #106 from ye-luo-xi-tui/master 0.1.9
  • Contributors: ye-luo-xi-tui, yezi

0.1.9 (2023-02-21)

  • Merge pull request #104 from ye-luo-xi-tui/balance_standard Fix bug.
  • Fix bug.
  • Merge pull request #102 from ljq-lv/fix_warning Fixed the bug of gimbal warning
  • Add the else to judge mode TRACK
  • Fixed the bug of gimbal warning
  • Merge branch 'master' into balance_standard
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Contributors: ljq-lv, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #92 from ye-luo-xi-tui/target_velocity_correction Estimate chassis vel with moving average and subtract chassis_vel from target_vel
  • Fix trylock bug.
  • Subtract chassis_vel from target_vel.
  • Estimate chassis vel with moving average.
  • Merge pull request #86 from NaHCO3bc/Readme Fix the dependence part bug.
  • Modify the test file folder.
  • Fix the dependence part bug.
  • Merge pull request #85 from ye-luo-xi-tui/master 0.1.7
  • Contributors: NaHCO3bc, ye-luo-xi-tui, yezi

0.1.7 (2022-09-10)

  • Optimize TRACK mode of rm_gimbal_controller.
  • Change frame "map" to "odom".
  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan, yezi

0.1.6 (2022-06-16)

  • Merge branch 'gimbal/chassis_vel'
  • Merge pull request #77 from ye-luo-xi-tui/gimbal/chassis_vel Fix a stupid bug
  • Fix a stupid bug.
  • Add chassis_vel as a feedforward to the yaw joint
  • Merge remote-tracking branch 'origin/master'
  • Add chassis_vel to yaw's PID
  • Contributors: QiayuanLiao, qiayuan, yezi

0.1.5 (2022-06-10)

  • Merge pull request #71 from ye-luo-xi-tui/gimbal/joint_velocity Set joint desired velocity according to the target velocity

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • test/load_controllers.launch
      • base_link_tf [default: false] — Set true when not imu and chassis controllers loaded
      • odom_tf [default: false] — Set true when not chassis but imu and orientation controllers loaded

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_gimbal_controllers at Robotics Stack Exchange

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

Package Summary

Tags No category tags.
Version 0.1.11
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rm-controls/rm_controllers.git
VCS Type git
VCS Version master
Last Updated 2025-06-03
Dev Status DEVELOPED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

RoboMaster standard robot Gimbal controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_gimbal_controllers

Overview

The rm_gimbal_controllers has three states: RATE, TRACK, and DIRECT. It performs PID control on the yaw joint and pitch joint according to commands. It can also perform moving average filtering based on detection data and calculate, predict and track targets based on the ballistic model.

Keywords: ROS, Robomaster, gimbal, bullet solver, moving average filter

License

The source code is released under a BSD 3-Clause license.

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The package has been tested under ROS Indigo, Melodic and Noetic on respectively Ubuntu 18.04 and 20.04. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

Hardware interface type

  • JointStateInterface Used to get the speed and position of gimbal joint.
  • EffortJointInterface Used to send effort command to gimbal joint .
  • RoboStateInterface Used to get the current and historical transform between gimbal and the world coordinate system and the transform between visual target and the world coordinate system.

Installation

Installation from Packages

To install all packages from the this repository as Debian packages use

sudo apt-get install ros-noetic-rm-gimbal-controllers

Or better, use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • tf2_eigen
  • tf2_geometry_msgs
  • visualization_msgs
  • dynamic_reconfigure

ROS API

Subscribed Topics

  • command (rm_msgs/GimbalCmd)

    Set gimbal mode, pitch and yaw axis rotation speed, tracking target, pointing target and coordinate system.

  • /detection (rm_msgs/TargetDetectionArray)

    Receive visual recognition data.

  • /<camera_name>/camera_info (CameraInfo)

    Make sure that the detection node receives a new frame of image and sends the prediction data to the detection node.

Published Topics

  • error (rm_msgs/GimbalDesError) The error calculated by the ballistic model to shoot at the current gimbal angle to the target.

  • track (rm_msgs/TrackDataArray) The predicted data used for detection node to decide the ROI.
    Bullet solver
  • model_desire ( visualization_msgs/Marker ) Used to visualize the desired bullet trajectory.

  • model_real ( visualization_msgs/Marker ) Used to visualize the trajectory that caculated by ballistic model in the current gimbal angle.

    Parameters

  • detection_topic (string, default: “/detection”)

    The name of the topic where detection node gets predicted data.

  • detection_frame (string, default: “detection”)

    The name of the frame of detection.

  • camera_topic (string, default: “/galaxy_camera/camera_info”)

    The name of the topic that is determined that the detection node receives a new frame of image and sends the prediction data to the detection node.

  • publish_rate (double)

    Frequency (in Hz) of publishing gimbal error.

  • chassis_angular_data_num (double)

    The number of angle data of chassis.Used for chassis angular average filter.

  • time_compensation (double)

    Time(in s) of image transmission delay(in s).Used to compensate for the effects of images transimission delay

Bullet solver

Bullet solver is used to get the bullet drop point

  • resistance_coff_qd_10, resistance_coff_qd_15, resistance_coff_qd_16, resistance_coff_qd_18, resistance_coff_qd_30 ( double )

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_gimbal_controllers

0.1.11 (2023-06-20)

  • Merge pull request #135 from ye-luo-xi-tui/feedforward Add input feedforward and fix a bug in computing desire vel at TRACK mode
  • Add input feedforward and fix a bug in computing desire vel at TRACK mode.
  • Merge pull request #124 from ye-luo-xi-tui/resistance_compensation Add velocity_dead_zone and effort_dead_zone
  • Merge branch 'master' into dev/balance
  • Add velocity_dead_zone and effort_dead_zone.
  • Merge pull request #120 from ye-luo-xi-tui/master 0.1.10
  • Merge branch 'rm-controls:master' into gpio_calibration_controller
  • Contributors: 1moule, ye-luo-xi-tui, yezi, yuchen

0.1.10 (2023-03-25)

  • Merge branch 'rm-controls:master' into master
  • Merge pull request #114 from ye-luo-xi-tui/resistance_compensation Add resistance compensation on yaw
  • Add resistance compensation on yaw.
  • Merge pull request #113 from ye-luo-xi-tui/master Use Vector3WithFilter in rm_common instead
  • Use Vector3WithFilter in rm_common instead.
  • Merge pull request #106 from ye-luo-xi-tui/master 0.1.9
  • Contributors: ye-luo-xi-tui, yezi

0.1.9 (2023-02-21)

  • Merge pull request #104 from ye-luo-xi-tui/balance_standard Fix bug.
  • Fix bug.
  • Merge pull request #102 from ljq-lv/fix_warning Fixed the bug of gimbal warning
  • Add the else to judge mode TRACK
  • Fixed the bug of gimbal warning
  • Merge branch 'master' into balance_standard
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Contributors: ljq-lv, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #92 from ye-luo-xi-tui/target_velocity_correction Estimate chassis vel with moving average and subtract chassis_vel from target_vel
  • Fix trylock bug.
  • Subtract chassis_vel from target_vel.
  • Estimate chassis vel with moving average.
  • Merge pull request #86 from NaHCO3bc/Readme Fix the dependence part bug.
  • Modify the test file folder.
  • Fix the dependence part bug.
  • Merge pull request #85 from ye-luo-xi-tui/master 0.1.7
  • Contributors: NaHCO3bc, ye-luo-xi-tui, yezi

0.1.7 (2022-09-10)

  • Optimize TRACK mode of rm_gimbal_controller.
  • Change frame "map" to "odom".
  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan, yezi

0.1.6 (2022-06-16)

  • Merge branch 'gimbal/chassis_vel'
  • Merge pull request #77 from ye-luo-xi-tui/gimbal/chassis_vel Fix a stupid bug
  • Fix a stupid bug.
  • Add chassis_vel as a feedforward to the yaw joint
  • Merge remote-tracking branch 'origin/master'
  • Add chassis_vel to yaw's PID
  • Contributors: QiayuanLiao, qiayuan, yezi

0.1.5 (2022-06-10)

  • Merge pull request #71 from ye-luo-xi-tui/gimbal/joint_velocity Set joint desired velocity according to the target velocity

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • test/load_controllers.launch
      • base_link_tf [default: false] — Set true when not imu and chassis controllers loaded
      • odom_tf [default: false] — Set true when not chassis but imu and orientation controllers loaded

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_gimbal_controllers at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 0.1.11
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rm-controls/rm_controllers.git
VCS Type git
VCS Version master
Last Updated 2025-06-03
Dev Status DEVELOPED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

RoboMaster standard robot Gimbal controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_gimbal_controllers

Overview

The rm_gimbal_controllers has three states: RATE, TRACK, and DIRECT. It performs PID control on the yaw joint and pitch joint according to commands. It can also perform moving average filtering based on detection data and calculate, predict and track targets based on the ballistic model.

Keywords: ROS, Robomaster, gimbal, bullet solver, moving average filter

License

The source code is released under a BSD 3-Clause license.

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The package has been tested under ROS Indigo, Melodic and Noetic on respectively Ubuntu 18.04 and 20.04. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

Hardware interface type

  • JointStateInterface Used to get the speed and position of gimbal joint.
  • EffortJointInterface Used to send effort command to gimbal joint .
  • RoboStateInterface Used to get the current and historical transform between gimbal and the world coordinate system and the transform between visual target and the world coordinate system.

Installation

Installation from Packages

To install all packages from the this repository as Debian packages use

sudo apt-get install ros-noetic-rm-gimbal-controllers

Or better, use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • tf2_eigen
  • tf2_geometry_msgs
  • visualization_msgs
  • dynamic_reconfigure

ROS API

Subscribed Topics

  • command (rm_msgs/GimbalCmd)

    Set gimbal mode, pitch and yaw axis rotation speed, tracking target, pointing target and coordinate system.

  • /detection (rm_msgs/TargetDetectionArray)

    Receive visual recognition data.

  • /<camera_name>/camera_info (CameraInfo)

    Make sure that the detection node receives a new frame of image and sends the prediction data to the detection node.

Published Topics

  • error (rm_msgs/GimbalDesError) The error calculated by the ballistic model to shoot at the current gimbal angle to the target.

  • track (rm_msgs/TrackDataArray) The predicted data used for detection node to decide the ROI.
    Bullet solver
  • model_desire ( visualization_msgs/Marker ) Used to visualize the desired bullet trajectory.

  • model_real ( visualization_msgs/Marker ) Used to visualize the trajectory that caculated by ballistic model in the current gimbal angle.

    Parameters

  • detection_topic (string, default: “/detection”)

    The name of the topic where detection node gets predicted data.

  • detection_frame (string, default: “detection”)

    The name of the frame of detection.

  • camera_topic (string, default: “/galaxy_camera/camera_info”)

    The name of the topic that is determined that the detection node receives a new frame of image and sends the prediction data to the detection node.

  • publish_rate (double)

    Frequency (in Hz) of publishing gimbal error.

  • chassis_angular_data_num (double)

    The number of angle data of chassis.Used for chassis angular average filter.

  • time_compensation (double)

    Time(in s) of image transmission delay(in s).Used to compensate for the effects of images transimission delay

Bullet solver

Bullet solver is used to get the bullet drop point

  • resistance_coff_qd_10, resistance_coff_qd_15, resistance_coff_qd_16, resistance_coff_qd_18, resistance_coff_qd_30 ( double )

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_gimbal_controllers

0.1.11 (2023-06-20)

  • Merge pull request #135 from ye-luo-xi-tui/feedforward Add input feedforward and fix a bug in computing desire vel at TRACK mode
  • Add input feedforward and fix a bug in computing desire vel at TRACK mode.
  • Merge pull request #124 from ye-luo-xi-tui/resistance_compensation Add velocity_dead_zone and effort_dead_zone
  • Merge branch 'master' into dev/balance
  • Add velocity_dead_zone and effort_dead_zone.
  • Merge pull request #120 from ye-luo-xi-tui/master 0.1.10
  • Merge branch 'rm-controls:master' into gpio_calibration_controller
  • Contributors: 1moule, ye-luo-xi-tui, yezi, yuchen

0.1.10 (2023-03-25)

  • Merge branch 'rm-controls:master' into master
  • Merge pull request #114 from ye-luo-xi-tui/resistance_compensation Add resistance compensation on yaw
  • Add resistance compensation on yaw.
  • Merge pull request #113 from ye-luo-xi-tui/master Use Vector3WithFilter in rm_common instead
  • Use Vector3WithFilter in rm_common instead.
  • Merge pull request #106 from ye-luo-xi-tui/master 0.1.9
  • Contributors: ye-luo-xi-tui, yezi

0.1.9 (2023-02-21)

  • Merge pull request #104 from ye-luo-xi-tui/balance_standard Fix bug.
  • Fix bug.
  • Merge pull request #102 from ljq-lv/fix_warning Fixed the bug of gimbal warning
  • Add the else to judge mode TRACK
  • Fixed the bug of gimbal warning
  • Merge branch 'master' into balance_standard
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Contributors: ljq-lv, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #92 from ye-luo-xi-tui/target_velocity_correction Estimate chassis vel with moving average and subtract chassis_vel from target_vel
  • Fix trylock bug.
  • Subtract chassis_vel from target_vel.
  • Estimate chassis vel with moving average.
  • Merge pull request #86 from NaHCO3bc/Readme Fix the dependence part bug.
  • Modify the test file folder.
  • Fix the dependence part bug.
  • Merge pull request #85 from ye-luo-xi-tui/master 0.1.7
  • Contributors: NaHCO3bc, ye-luo-xi-tui, yezi

0.1.7 (2022-09-10)

  • Optimize TRACK mode of rm_gimbal_controller.
  • Change frame "map" to "odom".
  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan, yezi

0.1.6 (2022-06-16)

  • Merge branch 'gimbal/chassis_vel'
  • Merge pull request #77 from ye-luo-xi-tui/gimbal/chassis_vel Fix a stupid bug
  • Fix a stupid bug.
  • Add chassis_vel as a feedforward to the yaw joint
  • Merge remote-tracking branch 'origin/master'
  • Add chassis_vel to yaw's PID
  • Contributors: QiayuanLiao, qiayuan, yezi

0.1.5 (2022-06-10)

  • Merge pull request #71 from ye-luo-xi-tui/gimbal/joint_velocity Set joint desired velocity according to the target velocity

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • test/load_controllers.launch
      • base_link_tf [default: false] — Set true when not imu and chassis controllers loaded
      • odom_tf [default: false] — Set true when not chassis but imu and orientation controllers loaded

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_gimbal_controllers at Robotics Stack Exchange

OSZAR »