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 Shooter controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_shooter_controller

Overview

The rm_shooter_controller has four states: STOP, READY, PUSH, and BLOCK, it controls the left and right friction wheels and the trigger wheel through PID algorithm according to the command. It can set the bullet speed by setting the angular velocity of the friction wheel, and at the same time realizes the block detection.

Keywords: ROS, robomaster, shooter

License

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

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The rm_shooter_controller package has been tested under ROS Melodic and Noetic on respectively 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 obtain the speed of friction wheel and trigger wheel and the position of trigger wheel.
  • EffortJointInterface Used to send torque commands for friction wheels and trigger wheel.

Installation

Installation from Packages

To install all packages from this repository as Debian packages use

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

or better use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • dynamic_reconfigure

Cfg

  • shooter.cfg: Add parameters related to friction wheel’s angular velocity corresponding to each bullet speed and trigger block detection parameters.

ROS API

Subscribed Topics

  • command (rm_msgs/ShootCmd)

    Commands of controller state, bullet speed, frequency of shooting.

Parameters

  • block_effort, block_speed, block_duration (double)

    When the torque of the trigger motor is greater than block_effort (in N·m), and the angular velocity of trigger motor is less than block_speed (in rad/s), it will be regarded as blocking if it continues for block_duration (in s), and the the state of shooter controller will switch to BLOCK.

  • block_overtime (double)

    If the time to enter BLOCK state exceeds block_overtime (in s), the state of shooter controller will switch to PUSH.

  • anti_block_angle (double)

    If shooter controller enter BLOCK state, the friction wheel will reverse anti_block_angle (in rad) to try to get rid of blocking. When the friction wheel get rid of BLOCK state successfully, the state of shooter controller will switch to PUSH.

  • anti_block_threshold (double)

    If the anti angle of the friction wheel exceeds anti_block_threshold (in rad), it means that friction wheel reverse successfully.

  • qd_10, qd_15, qd_18, qd_30 (double)

    These parameters mean the friction wheel’s angular velocity, the number of it’s name expresses different bullet speeds (in m/s).

Controller configuration examples

Complete description

``` shooter_controller: type: rm_shooter_controllers/Controller publish_rate: 50 friction_left: joint: “left_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } friction_right: joint: “right_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } trigger: joint: “trigger_joint” pid: { p: 50.0, i: 0.0, d: 1.5, i_clamp_max: 0.0, i_clamp_min: 0.0, antiwindup: true, publish_state: true } push_per_rotation: 8 push_qd_threshold: 0.90 block_effort: 0.95

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_shooter_controllers

0.1.11 (2023-06-20)

  • Merge pull request #129 from ye-luo-xi-tui/master Shooter_controller would not check block when friction wheel don't rotate
  • Shooter_controller would not check block when friction wheel don't rotate.
  • Merge branch 'master' into dev/balance
  • 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 pull request #118 from ye-luo-xi-tui/master Publish shoot state
  • Publish shoot state.
  • Merge pull request #109 from ye-luo-xi-tui/master Modifier default value of forward_push_threshold and exit_push_threshold
  • Modifier default value of forward_push_threshold and exit_push_threshold.
  • 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 branch 'master' into balance_standard
  • Merge remote-tracking branch 'origin/fix_return' into fix_return
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Merge branch 'rm-controls:master' into fix_return
  • Contributors: L-SY, lsy, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #93 from NaHCO3bc/master Fix the bug that the shooter cannot be turned from push to ready
  • Modify the name and the description of the params about push forward threshold.
  • Optimize the logic of entering the block mode.
  • Fix the bug that shooter cannot push or enter block when the position error is too big.
  • Modify the params name.
  • Modify the params about enter and exit push mode.
  • Parametric position difference of trigger.
  • Fix the bug that the shooter cannot be turned from push to ready.
  • 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

0.1.7 (2022-09-10)

  • Try two fix double shoot
  • Merge remote-tracking branch 'origin/master'
  • Fix bug of shooting if statement
  • Contributors: qiayuan

0.1.6 (2022-06-16)

  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan

0.1.5 (2022-06-10)

  • Add hz counting in trigger test mode.
  • Merge remote-tracking branch 'origin/master'
  • Add testing option to shooter for testing the trigger without friction wheel
  • 0.1.4
  • Merge branch 'master' into gimbal_track
  • Merge pull request #45 from mlione/master Delete some config files in rm_controllers.
  • Delete some config files in rm_controller.
  • Merge pull request #46 from ye-luo-xi-tui/master Deprecated imu_filter_controller
  • Contributors: BruceLannn, QiayuanLiao, YuuinIH, mlione, qiayuan, yezi

0.1.3 (2022-03-28)

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.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Name Deps
rm_controllers

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_shooter_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 Shooter controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_shooter_controller

Overview

The rm_shooter_controller has four states: STOP, READY, PUSH, and BLOCK, it controls the left and right friction wheels and the trigger wheel through PID algorithm according to the command. It can set the bullet speed by setting the angular velocity of the friction wheel, and at the same time realizes the block detection.

Keywords: ROS, robomaster, shooter

License

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

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The rm_shooter_controller package has been tested under ROS Melodic and Noetic on respectively 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 obtain the speed of friction wheel and trigger wheel and the position of trigger wheel.
  • EffortJointInterface Used to send torque commands for friction wheels and trigger wheel.

Installation

Installation from Packages

To install all packages from this repository as Debian packages use

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

or better use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • dynamic_reconfigure

Cfg

  • shooter.cfg: Add parameters related to friction wheel’s angular velocity corresponding to each bullet speed and trigger block detection parameters.

ROS API

Subscribed Topics

  • command (rm_msgs/ShootCmd)

    Commands of controller state, bullet speed, frequency of shooting.

Parameters

  • block_effort, block_speed, block_duration (double)

    When the torque of the trigger motor is greater than block_effort (in N·m), and the angular velocity of trigger motor is less than block_speed (in rad/s), it will be regarded as blocking if it continues for block_duration (in s), and the the state of shooter controller will switch to BLOCK.

  • block_overtime (double)

    If the time to enter BLOCK state exceeds block_overtime (in s), the state of shooter controller will switch to PUSH.

  • anti_block_angle (double)

    If shooter controller enter BLOCK state, the friction wheel will reverse anti_block_angle (in rad) to try to get rid of blocking. When the friction wheel get rid of BLOCK state successfully, the state of shooter controller will switch to PUSH.

  • anti_block_threshold (double)

    If the anti angle of the friction wheel exceeds anti_block_threshold (in rad), it means that friction wheel reverse successfully.

  • qd_10, qd_15, qd_18, qd_30 (double)

    These parameters mean the friction wheel’s angular velocity, the number of it’s name expresses different bullet speeds (in m/s).

Controller configuration examples

Complete description

``` shooter_controller: type: rm_shooter_controllers/Controller publish_rate: 50 friction_left: joint: “left_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } friction_right: joint: “right_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } trigger: joint: “trigger_joint” pid: { p: 50.0, i: 0.0, d: 1.5, i_clamp_max: 0.0, i_clamp_min: 0.0, antiwindup: true, publish_state: true } push_per_rotation: 8 push_qd_threshold: 0.90 block_effort: 0.95

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_shooter_controllers

0.1.11 (2023-06-20)

  • Merge pull request #129 from ye-luo-xi-tui/master Shooter_controller would not check block when friction wheel don't rotate
  • Shooter_controller would not check block when friction wheel don't rotate.
  • Merge branch 'master' into dev/balance
  • 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 pull request #118 from ye-luo-xi-tui/master Publish shoot state
  • Publish shoot state.
  • Merge pull request #109 from ye-luo-xi-tui/master Modifier default value of forward_push_threshold and exit_push_threshold
  • Modifier default value of forward_push_threshold and exit_push_threshold.
  • 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 branch 'master' into balance_standard
  • Merge remote-tracking branch 'origin/fix_return' into fix_return
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Merge branch 'rm-controls:master' into fix_return
  • Contributors: L-SY, lsy, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #93 from NaHCO3bc/master Fix the bug that the shooter cannot be turned from push to ready
  • Modify the name and the description of the params about push forward threshold.
  • Optimize the logic of entering the block mode.
  • Fix the bug that shooter cannot push or enter block when the position error is too big.
  • Modify the params name.
  • Modify the params about enter and exit push mode.
  • Parametric position difference of trigger.
  • Fix the bug that the shooter cannot be turned from push to ready.
  • 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

0.1.7 (2022-09-10)

  • Try two fix double shoot
  • Merge remote-tracking branch 'origin/master'
  • Fix bug of shooting if statement
  • Contributors: qiayuan

0.1.6 (2022-06-16)

  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan

0.1.5 (2022-06-10)

  • Add hz counting in trigger test mode.
  • Merge remote-tracking branch 'origin/master'
  • Add testing option to shooter for testing the trigger without friction wheel
  • 0.1.4
  • Merge branch 'master' into gimbal_track
  • Merge pull request #45 from mlione/master Delete some config files in rm_controllers.
  • Delete some config files in rm_controller.
  • Merge pull request #46 from ye-luo-xi-tui/master Deprecated imu_filter_controller
  • Contributors: BruceLannn, QiayuanLiao, YuuinIH, mlione, qiayuan, yezi

0.1.3 (2022-03-28)

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.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Name Deps
rm_controllers

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_shooter_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 Shooter controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_shooter_controller

Overview

The rm_shooter_controller has four states: STOP, READY, PUSH, and BLOCK, it controls the left and right friction wheels and the trigger wheel through PID algorithm according to the command. It can set the bullet speed by setting the angular velocity of the friction wheel, and at the same time realizes the block detection.

Keywords: ROS, robomaster, shooter

License

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

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The rm_shooter_controller package has been tested under ROS Melodic and Noetic on respectively 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 obtain the speed of friction wheel and trigger wheel and the position of trigger wheel.
  • EffortJointInterface Used to send torque commands for friction wheels and trigger wheel.

Installation

Installation from Packages

To install all packages from this repository as Debian packages use

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

or better use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • dynamic_reconfigure

Cfg

  • shooter.cfg: Add parameters related to friction wheel’s angular velocity corresponding to each bullet speed and trigger block detection parameters.

ROS API

Subscribed Topics

  • command (rm_msgs/ShootCmd)

    Commands of controller state, bullet speed, frequency of shooting.

Parameters

  • block_effort, block_speed, block_duration (double)

    When the torque of the trigger motor is greater than block_effort (in N·m), and the angular velocity of trigger motor is less than block_speed (in rad/s), it will be regarded as blocking if it continues for block_duration (in s), and the the state of shooter controller will switch to BLOCK.

  • block_overtime (double)

    If the time to enter BLOCK state exceeds block_overtime (in s), the state of shooter controller will switch to PUSH.

  • anti_block_angle (double)

    If shooter controller enter BLOCK state, the friction wheel will reverse anti_block_angle (in rad) to try to get rid of blocking. When the friction wheel get rid of BLOCK state successfully, the state of shooter controller will switch to PUSH.

  • anti_block_threshold (double)

    If the anti angle of the friction wheel exceeds anti_block_threshold (in rad), it means that friction wheel reverse successfully.

  • qd_10, qd_15, qd_18, qd_30 (double)

    These parameters mean the friction wheel’s angular velocity, the number of it’s name expresses different bullet speeds (in m/s).

Controller configuration examples

Complete description

``` shooter_controller: type: rm_shooter_controllers/Controller publish_rate: 50 friction_left: joint: “left_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } friction_right: joint: “right_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } trigger: joint: “trigger_joint” pid: { p: 50.0, i: 0.0, d: 1.5, i_clamp_max: 0.0, i_clamp_min: 0.0, antiwindup: true, publish_state: true } push_per_rotation: 8 push_qd_threshold: 0.90 block_effort: 0.95

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_shooter_controllers

0.1.11 (2023-06-20)

  • Merge pull request #129 from ye-luo-xi-tui/master Shooter_controller would not check block when friction wheel don't rotate
  • Shooter_controller would not check block when friction wheel don't rotate.
  • Merge branch 'master' into dev/balance
  • 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 pull request #118 from ye-luo-xi-tui/master Publish shoot state
  • Publish shoot state.
  • Merge pull request #109 from ye-luo-xi-tui/master Modifier default value of forward_push_threshold and exit_push_threshold
  • Modifier default value of forward_push_threshold and exit_push_threshold.
  • 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 branch 'master' into balance_standard
  • Merge remote-tracking branch 'origin/fix_return' into fix_return
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Merge branch 'rm-controls:master' into fix_return
  • Contributors: L-SY, lsy, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #93 from NaHCO3bc/master Fix the bug that the shooter cannot be turned from push to ready
  • Modify the name and the description of the params about push forward threshold.
  • Optimize the logic of entering the block mode.
  • Fix the bug that shooter cannot push or enter block when the position error is too big.
  • Modify the params name.
  • Modify the params about enter and exit push mode.
  • Parametric position difference of trigger.
  • Fix the bug that the shooter cannot be turned from push to ready.
  • 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

0.1.7 (2022-09-10)

  • Try two fix double shoot
  • Merge remote-tracking branch 'origin/master'
  • Fix bug of shooting if statement
  • Contributors: qiayuan

0.1.6 (2022-06-16)

  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan

0.1.5 (2022-06-10)

  • Add hz counting in trigger test mode.
  • Merge remote-tracking branch 'origin/master'
  • Add testing option to shooter for testing the trigger without friction wheel
  • 0.1.4
  • Merge branch 'master' into gimbal_track
  • Merge pull request #45 from mlione/master Delete some config files in rm_controllers.
  • Delete some config files in rm_controller.
  • Merge pull request #46 from ye-luo-xi-tui/master Deprecated imu_filter_controller
  • Contributors: BruceLannn, QiayuanLiao, YuuinIH, mlione, qiayuan, yezi

0.1.3 (2022-03-28)

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.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Name Deps
rm_controllers

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_shooter_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 Shooter controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_shooter_controller

Overview

The rm_shooter_controller has four states: STOP, READY, PUSH, and BLOCK, it controls the left and right friction wheels and the trigger wheel through PID algorithm according to the command. It can set the bullet speed by setting the angular velocity of the friction wheel, and at the same time realizes the block detection.

Keywords: ROS, robomaster, shooter

License

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

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The rm_shooter_controller package has been tested under ROS Melodic and Noetic on respectively 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 obtain the speed of friction wheel and trigger wheel and the position of trigger wheel.
  • EffortJointInterface Used to send torque commands for friction wheels and trigger wheel.

Installation

Installation from Packages

To install all packages from this repository as Debian packages use

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

or better use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • dynamic_reconfigure

Cfg

  • shooter.cfg: Add parameters related to friction wheel’s angular velocity corresponding to each bullet speed and trigger block detection parameters.

ROS API

Subscribed Topics

  • command (rm_msgs/ShootCmd)

    Commands of controller state, bullet speed, frequency of shooting.

Parameters

  • block_effort, block_speed, block_duration (double)

    When the torque of the trigger motor is greater than block_effort (in N·m), and the angular velocity of trigger motor is less than block_speed (in rad/s), it will be regarded as blocking if it continues for block_duration (in s), and the the state of shooter controller will switch to BLOCK.

  • block_overtime (double)

    If the time to enter BLOCK state exceeds block_overtime (in s), the state of shooter controller will switch to PUSH.

  • anti_block_angle (double)

    If shooter controller enter BLOCK state, the friction wheel will reverse anti_block_angle (in rad) to try to get rid of blocking. When the friction wheel get rid of BLOCK state successfully, the state of shooter controller will switch to PUSH.

  • anti_block_threshold (double)

    If the anti angle of the friction wheel exceeds anti_block_threshold (in rad), it means that friction wheel reverse successfully.

  • qd_10, qd_15, qd_18, qd_30 (double)

    These parameters mean the friction wheel’s angular velocity, the number of it’s name expresses different bullet speeds (in m/s).

Controller configuration examples

Complete description

``` shooter_controller: type: rm_shooter_controllers/Controller publish_rate: 50 friction_left: joint: “left_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } friction_right: joint: “right_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } trigger: joint: “trigger_joint” pid: { p: 50.0, i: 0.0, d: 1.5, i_clamp_max: 0.0, i_clamp_min: 0.0, antiwindup: true, publish_state: true } push_per_rotation: 8 push_qd_threshold: 0.90 block_effort: 0.95

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_shooter_controllers

0.1.11 (2023-06-20)

  • Merge pull request #129 from ye-luo-xi-tui/master Shooter_controller would not check block when friction wheel don't rotate
  • Shooter_controller would not check block when friction wheel don't rotate.
  • Merge branch 'master' into dev/balance
  • 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 pull request #118 from ye-luo-xi-tui/master Publish shoot state
  • Publish shoot state.
  • Merge pull request #109 from ye-luo-xi-tui/master Modifier default value of forward_push_threshold and exit_push_threshold
  • Modifier default value of forward_push_threshold and exit_push_threshold.
  • 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 branch 'master' into balance_standard
  • Merge remote-tracking branch 'origin/fix_return' into fix_return
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Merge branch 'rm-controls:master' into fix_return
  • Contributors: L-SY, lsy, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #93 from NaHCO3bc/master Fix the bug that the shooter cannot be turned from push to ready
  • Modify the name and the description of the params about push forward threshold.
  • Optimize the logic of entering the block mode.
  • Fix the bug that shooter cannot push or enter block when the position error is too big.
  • Modify the params name.
  • Modify the params about enter and exit push mode.
  • Parametric position difference of trigger.
  • Fix the bug that the shooter cannot be turned from push to ready.
  • 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

0.1.7 (2022-09-10)

  • Try two fix double shoot
  • Merge remote-tracking branch 'origin/master'
  • Fix bug of shooting if statement
  • Contributors: qiayuan

0.1.6 (2022-06-16)

  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan

0.1.5 (2022-06-10)

  • Add hz counting in trigger test mode.
  • Merge remote-tracking branch 'origin/master'
  • Add testing option to shooter for testing the trigger without friction wheel
  • 0.1.4
  • Merge branch 'master' into gimbal_track
  • Merge pull request #45 from mlione/master Delete some config files in rm_controllers.
  • Delete some config files in rm_controller.
  • Merge pull request #46 from ye-luo-xi-tui/master Deprecated imu_filter_controller
  • Contributors: BruceLannn, QiayuanLiao, YuuinIH, mlione, qiayuan, yezi

0.1.3 (2022-03-28)

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.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Name Deps
rm_controllers

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_shooter_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 Shooter controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_shooter_controller

Overview

The rm_shooter_controller has four states: STOP, READY, PUSH, and BLOCK, it controls the left and right friction wheels and the trigger wheel through PID algorithm according to the command. It can set the bullet speed by setting the angular velocity of the friction wheel, and at the same time realizes the block detection.

Keywords: ROS, robomaster, shooter

License

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

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The rm_shooter_controller package has been tested under ROS Melodic and Noetic on respectively 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 obtain the speed of friction wheel and trigger wheel and the position of trigger wheel.
  • EffortJointInterface Used to send torque commands for friction wheels and trigger wheel.

Installation

Installation from Packages

To install all packages from this repository as Debian packages use

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

or better use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • dynamic_reconfigure

Cfg

  • shooter.cfg: Add parameters related to friction wheel’s angular velocity corresponding to each bullet speed and trigger block detection parameters.

ROS API

Subscribed Topics

  • command (rm_msgs/ShootCmd)

    Commands of controller state, bullet speed, frequency of shooting.

Parameters

  • block_effort, block_speed, block_duration (double)

    When the torque of the trigger motor is greater than block_effort (in N·m), and the angular velocity of trigger motor is less than block_speed (in rad/s), it will be regarded as blocking if it continues for block_duration (in s), and the the state of shooter controller will switch to BLOCK.

  • block_overtime (double)

    If the time to enter BLOCK state exceeds block_overtime (in s), the state of shooter controller will switch to PUSH.

  • anti_block_angle (double)

    If shooter controller enter BLOCK state, the friction wheel will reverse anti_block_angle (in rad) to try to get rid of blocking. When the friction wheel get rid of BLOCK state successfully, the state of shooter controller will switch to PUSH.

  • anti_block_threshold (double)

    If the anti angle of the friction wheel exceeds anti_block_threshold (in rad), it means that friction wheel reverse successfully.

  • qd_10, qd_15, qd_18, qd_30 (double)

    These parameters mean the friction wheel’s angular velocity, the number of it’s name expresses different bullet speeds (in m/s).

Controller configuration examples

Complete description

``` shooter_controller: type: rm_shooter_controllers/Controller publish_rate: 50 friction_left: joint: “left_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } friction_right: joint: “right_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } trigger: joint: “trigger_joint” pid: { p: 50.0, i: 0.0, d: 1.5, i_clamp_max: 0.0, i_clamp_min: 0.0, antiwindup: true, publish_state: true } push_per_rotation: 8 push_qd_threshold: 0.90 block_effort: 0.95

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_shooter_controllers

0.1.11 (2023-06-20)

  • Merge pull request #129 from ye-luo-xi-tui/master Shooter_controller would not check block when friction wheel don't rotate
  • Shooter_controller would not check block when friction wheel don't rotate.
  • Merge branch 'master' into dev/balance
  • 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 pull request #118 from ye-luo-xi-tui/master Publish shoot state
  • Publish shoot state.
  • Merge pull request #109 from ye-luo-xi-tui/master Modifier default value of forward_push_threshold and exit_push_threshold
  • Modifier default value of forward_push_threshold and exit_push_threshold.
  • 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 branch 'master' into balance_standard
  • Merge remote-tracking branch 'origin/fix_return' into fix_return
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Merge branch 'rm-controls:master' into fix_return
  • Contributors: L-SY, lsy, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #93 from NaHCO3bc/master Fix the bug that the shooter cannot be turned from push to ready
  • Modify the name and the description of the params about push forward threshold.
  • Optimize the logic of entering the block mode.
  • Fix the bug that shooter cannot push or enter block when the position error is too big.
  • Modify the params name.
  • Modify the params about enter and exit push mode.
  • Parametric position difference of trigger.
  • Fix the bug that the shooter cannot be turned from push to ready.
  • 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

0.1.7 (2022-09-10)

  • Try two fix double shoot
  • Merge remote-tracking branch 'origin/master'
  • Fix bug of shooting if statement
  • Contributors: qiayuan

0.1.6 (2022-06-16)

  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan

0.1.5 (2022-06-10)

  • Add hz counting in trigger test mode.
  • Merge remote-tracking branch 'origin/master'
  • Add testing option to shooter for testing the trigger without friction wheel
  • 0.1.4
  • Merge branch 'master' into gimbal_track
  • Merge pull request #45 from mlione/master Delete some config files in rm_controllers.
  • Delete some config files in rm_controller.
  • Merge pull request #46 from ye-luo-xi-tui/master Deprecated imu_filter_controller
  • Contributors: BruceLannn, QiayuanLiao, YuuinIH, mlione, qiayuan, yezi

0.1.3 (2022-03-28)

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.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Name Deps
rm_controllers

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_shooter_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 Shooter controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_shooter_controller

Overview

The rm_shooter_controller has four states: STOP, READY, PUSH, and BLOCK, it controls the left and right friction wheels and the trigger wheel through PID algorithm according to the command. It can set the bullet speed by setting the angular velocity of the friction wheel, and at the same time realizes the block detection.

Keywords: ROS, robomaster, shooter

License

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

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The rm_shooter_controller package has been tested under ROS Melodic and Noetic on respectively 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 obtain the speed of friction wheel and trigger wheel and the position of trigger wheel.
  • EffortJointInterface Used to send torque commands for friction wheels and trigger wheel.

Installation

Installation from Packages

To install all packages from this repository as Debian packages use

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

or better use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • dynamic_reconfigure

Cfg

  • shooter.cfg: Add parameters related to friction wheel’s angular velocity corresponding to each bullet speed and trigger block detection parameters.

ROS API

Subscribed Topics

  • command (rm_msgs/ShootCmd)

    Commands of controller state, bullet speed, frequency of shooting.

Parameters

  • block_effort, block_speed, block_duration (double)

    When the torque of the trigger motor is greater than block_effort (in N·m), and the angular velocity of trigger motor is less than block_speed (in rad/s), it will be regarded as blocking if it continues for block_duration (in s), and the the state of shooter controller will switch to BLOCK.

  • block_overtime (double)

    If the time to enter BLOCK state exceeds block_overtime (in s), the state of shooter controller will switch to PUSH.

  • anti_block_angle (double)

    If shooter controller enter BLOCK state, the friction wheel will reverse anti_block_angle (in rad) to try to get rid of blocking. When the friction wheel get rid of BLOCK state successfully, the state of shooter controller will switch to PUSH.

  • anti_block_threshold (double)

    If the anti angle of the friction wheel exceeds anti_block_threshold (in rad), it means that friction wheel reverse successfully.

  • qd_10, qd_15, qd_18, qd_30 (double)

    These parameters mean the friction wheel’s angular velocity, the number of it’s name expresses different bullet speeds (in m/s).

Controller configuration examples

Complete description

``` shooter_controller: type: rm_shooter_controllers/Controller publish_rate: 50 friction_left: joint: “left_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } friction_right: joint: “right_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } trigger: joint: “trigger_joint” pid: { p: 50.0, i: 0.0, d: 1.5, i_clamp_max: 0.0, i_clamp_min: 0.0, antiwindup: true, publish_state: true } push_per_rotation: 8 push_qd_threshold: 0.90 block_effort: 0.95

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_shooter_controllers

0.1.11 (2023-06-20)

  • Merge pull request #129 from ye-luo-xi-tui/master Shooter_controller would not check block when friction wheel don't rotate
  • Shooter_controller would not check block when friction wheel don't rotate.
  • Merge branch 'master' into dev/balance
  • 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 pull request #118 from ye-luo-xi-tui/master Publish shoot state
  • Publish shoot state.
  • Merge pull request #109 from ye-luo-xi-tui/master Modifier default value of forward_push_threshold and exit_push_threshold
  • Modifier default value of forward_push_threshold and exit_push_threshold.
  • 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 branch 'master' into balance_standard
  • Merge remote-tracking branch 'origin/fix_return' into fix_return
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Merge branch 'rm-controls:master' into fix_return
  • Contributors: L-SY, lsy, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #93 from NaHCO3bc/master Fix the bug that the shooter cannot be turned from push to ready
  • Modify the name and the description of the params about push forward threshold.
  • Optimize the logic of entering the block mode.
  • Fix the bug that shooter cannot push or enter block when the position error is too big.
  • Modify the params name.
  • Modify the params about enter and exit push mode.
  • Parametric position difference of trigger.
  • Fix the bug that the shooter cannot be turned from push to ready.
  • 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

0.1.7 (2022-09-10)

  • Try two fix double shoot
  • Merge remote-tracking branch 'origin/master'
  • Fix bug of shooting if statement
  • Contributors: qiayuan

0.1.6 (2022-06-16)

  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan

0.1.5 (2022-06-10)

  • Add hz counting in trigger test mode.
  • Merge remote-tracking branch 'origin/master'
  • Add testing option to shooter for testing the trigger without friction wheel
  • 0.1.4
  • Merge branch 'master' into gimbal_track
  • Merge pull request #45 from mlione/master Delete some config files in rm_controllers.
  • Delete some config files in rm_controller.
  • Merge pull request #46 from ye-luo-xi-tui/master Deprecated imu_filter_controller
  • Contributors: BruceLannn, QiayuanLiao, YuuinIH, mlione, qiayuan, yezi

0.1.3 (2022-03-28)

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.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Name Deps
rm_controllers

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_shooter_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 Shooter controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_shooter_controller

Overview

The rm_shooter_controller has four states: STOP, READY, PUSH, and BLOCK, it controls the left and right friction wheels and the trigger wheel through PID algorithm according to the command. It can set the bullet speed by setting the angular velocity of the friction wheel, and at the same time realizes the block detection.

Keywords: ROS, robomaster, shooter

License

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

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The rm_shooter_controller package has been tested under ROS Melodic and Noetic on respectively 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 obtain the speed of friction wheel and trigger wheel and the position of trigger wheel.
  • EffortJointInterface Used to send torque commands for friction wheels and trigger wheel.

Installation

Installation from Packages

To install all packages from this repository as Debian packages use

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

or better use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • dynamic_reconfigure

Cfg

  • shooter.cfg: Add parameters related to friction wheel’s angular velocity corresponding to each bullet speed and trigger block detection parameters.

ROS API

Subscribed Topics

  • command (rm_msgs/ShootCmd)

    Commands of controller state, bullet speed, frequency of shooting.

Parameters

  • block_effort, block_speed, block_duration (double)

    When the torque of the trigger motor is greater than block_effort (in N·m), and the angular velocity of trigger motor is less than block_speed (in rad/s), it will be regarded as blocking if it continues for block_duration (in s), and the the state of shooter controller will switch to BLOCK.

  • block_overtime (double)

    If the time to enter BLOCK state exceeds block_overtime (in s), the state of shooter controller will switch to PUSH.

  • anti_block_angle (double)

    If shooter controller enter BLOCK state, the friction wheel will reverse anti_block_angle (in rad) to try to get rid of blocking. When the friction wheel get rid of BLOCK state successfully, the state of shooter controller will switch to PUSH.

  • anti_block_threshold (double)

    If the anti angle of the friction wheel exceeds anti_block_threshold (in rad), it means that friction wheel reverse successfully.

  • qd_10, qd_15, qd_18, qd_30 (double)

    These parameters mean the friction wheel’s angular velocity, the number of it’s name expresses different bullet speeds (in m/s).

Controller configuration examples

Complete description

``` shooter_controller: type: rm_shooter_controllers/Controller publish_rate: 50 friction_left: joint: “left_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } friction_right: joint: “right_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } trigger: joint: “trigger_joint” pid: { p: 50.0, i: 0.0, d: 1.5, i_clamp_max: 0.0, i_clamp_min: 0.0, antiwindup: true, publish_state: true } push_per_rotation: 8 push_qd_threshold: 0.90 block_effort: 0.95

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_shooter_controllers

0.1.11 (2023-06-20)

  • Merge pull request #129 from ye-luo-xi-tui/master Shooter_controller would not check block when friction wheel don't rotate
  • Shooter_controller would not check block when friction wheel don't rotate.
  • Merge branch 'master' into dev/balance
  • 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 pull request #118 from ye-luo-xi-tui/master Publish shoot state
  • Publish shoot state.
  • Merge pull request #109 from ye-luo-xi-tui/master Modifier default value of forward_push_threshold and exit_push_threshold
  • Modifier default value of forward_push_threshold and exit_push_threshold.
  • 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 branch 'master' into balance_standard
  • Merge remote-tracking branch 'origin/fix_return' into fix_return
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Merge branch 'rm-controls:master' into fix_return
  • Contributors: L-SY, lsy, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #93 from NaHCO3bc/master Fix the bug that the shooter cannot be turned from push to ready
  • Modify the name and the description of the params about push forward threshold.
  • Optimize the logic of entering the block mode.
  • Fix the bug that shooter cannot push or enter block when the position error is too big.
  • Modify the params name.
  • Modify the params about enter and exit push mode.
  • Parametric position difference of trigger.
  • Fix the bug that the shooter cannot be turned from push to ready.
  • 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

0.1.7 (2022-09-10)

  • Try two fix double shoot
  • Merge remote-tracking branch 'origin/master'
  • Fix bug of shooting if statement
  • Contributors: qiayuan

0.1.6 (2022-06-16)

  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan

0.1.5 (2022-06-10)

  • Add hz counting in trigger test mode.
  • Merge remote-tracking branch 'origin/master'
  • Add testing option to shooter for testing the trigger without friction wheel
  • 0.1.4
  • Merge branch 'master' into gimbal_track
  • Merge pull request #45 from mlione/master Delete some config files in rm_controllers.
  • Delete some config files in rm_controller.
  • Merge pull request #46 from ye-luo-xi-tui/master Deprecated imu_filter_controller
  • Contributors: BruceLannn, QiayuanLiao, YuuinIH, mlione, qiayuan, yezi

0.1.3 (2022-03-28)

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.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Name Deps
rm_controllers

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_shooter_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 Shooter controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_shooter_controller

Overview

The rm_shooter_controller has four states: STOP, READY, PUSH, and BLOCK, it controls the left and right friction wheels and the trigger wheel through PID algorithm according to the command. It can set the bullet speed by setting the angular velocity of the friction wheel, and at the same time realizes the block detection.

Keywords: ROS, robomaster, shooter

License

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

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The rm_shooter_controller package has been tested under ROS Melodic and Noetic on respectively 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 obtain the speed of friction wheel and trigger wheel and the position of trigger wheel.
  • EffortJointInterface Used to send torque commands for friction wheels and trigger wheel.

Installation

Installation from Packages

To install all packages from this repository as Debian packages use

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

or better use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • dynamic_reconfigure

Cfg

  • shooter.cfg: Add parameters related to friction wheel’s angular velocity corresponding to each bullet speed and trigger block detection parameters.

ROS API

Subscribed Topics

  • command (rm_msgs/ShootCmd)

    Commands of controller state, bullet speed, frequency of shooting.

Parameters

  • block_effort, block_speed, block_duration (double)

    When the torque of the trigger motor is greater than block_effort (in N·m), and the angular velocity of trigger motor is less than block_speed (in rad/s), it will be regarded as blocking if it continues for block_duration (in s), and the the state of shooter controller will switch to BLOCK.

  • block_overtime (double)

    If the time to enter BLOCK state exceeds block_overtime (in s), the state of shooter controller will switch to PUSH.

  • anti_block_angle (double)

    If shooter controller enter BLOCK state, the friction wheel will reverse anti_block_angle (in rad) to try to get rid of blocking. When the friction wheel get rid of BLOCK state successfully, the state of shooter controller will switch to PUSH.

  • anti_block_threshold (double)

    If the anti angle of the friction wheel exceeds anti_block_threshold (in rad), it means that friction wheel reverse successfully.

  • qd_10, qd_15, qd_18, qd_30 (double)

    These parameters mean the friction wheel’s angular velocity, the number of it’s name expresses different bullet speeds (in m/s).

Controller configuration examples

Complete description

``` shooter_controller: type: rm_shooter_controllers/Controller publish_rate: 50 friction_left: joint: “left_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } friction_right: joint: “right_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } trigger: joint: “trigger_joint” pid: { p: 50.0, i: 0.0, d: 1.5, i_clamp_max: 0.0, i_clamp_min: 0.0, antiwindup: true, publish_state: true } push_per_rotation: 8 push_qd_threshold: 0.90 block_effort: 0.95

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_shooter_controllers

0.1.11 (2023-06-20)

  • Merge pull request #129 from ye-luo-xi-tui/master Shooter_controller would not check block when friction wheel don't rotate
  • Shooter_controller would not check block when friction wheel don't rotate.
  • Merge branch 'master' into dev/balance
  • 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 pull request #118 from ye-luo-xi-tui/master Publish shoot state
  • Publish shoot state.
  • Merge pull request #109 from ye-luo-xi-tui/master Modifier default value of forward_push_threshold and exit_push_threshold
  • Modifier default value of forward_push_threshold and exit_push_threshold.
  • 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 branch 'master' into balance_standard
  • Merge remote-tracking branch 'origin/fix_return' into fix_return
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Merge branch 'rm-controls:master' into fix_return
  • Contributors: L-SY, lsy, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #93 from NaHCO3bc/master Fix the bug that the shooter cannot be turned from push to ready
  • Modify the name and the description of the params about push forward threshold.
  • Optimize the logic of entering the block mode.
  • Fix the bug that shooter cannot push or enter block when the position error is too big.
  • Modify the params name.
  • Modify the params about enter and exit push mode.
  • Parametric position difference of trigger.
  • Fix the bug that the shooter cannot be turned from push to ready.
  • 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

0.1.7 (2022-09-10)

  • Try two fix double shoot
  • Merge remote-tracking branch 'origin/master'
  • Fix bug of shooting if statement
  • Contributors: qiayuan

0.1.6 (2022-06-16)

  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan

0.1.5 (2022-06-10)

  • Add hz counting in trigger test mode.
  • Merge remote-tracking branch 'origin/master'
  • Add testing option to shooter for testing the trigger without friction wheel
  • 0.1.4
  • Merge branch 'master' into gimbal_track
  • Merge pull request #45 from mlione/master Delete some config files in rm_controllers.
  • Delete some config files in rm_controller.
  • Merge pull request #46 from ye-luo-xi-tui/master Deprecated imu_filter_controller
  • Contributors: BruceLannn, QiayuanLiao, YuuinIH, mlione, qiayuan, yezi

0.1.3 (2022-03-28)

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.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Name Deps
rm_controllers

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_shooter_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 Shooter controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_shooter_controller

Overview

The rm_shooter_controller has four states: STOP, READY, PUSH, and BLOCK, it controls the left and right friction wheels and the trigger wheel through PID algorithm according to the command. It can set the bullet speed by setting the angular velocity of the friction wheel, and at the same time realizes the block detection.

Keywords: ROS, robomaster, shooter

License

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

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The rm_shooter_controller package has been tested under ROS Melodic and Noetic on respectively 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 obtain the speed of friction wheel and trigger wheel and the position of trigger wheel.
  • EffortJointInterface Used to send torque commands for friction wheels and trigger wheel.

Installation

Installation from Packages

To install all packages from this repository as Debian packages use

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

or better use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • dynamic_reconfigure

Cfg

  • shooter.cfg: Add parameters related to friction wheel’s angular velocity corresponding to each bullet speed and trigger block detection parameters.

ROS API

Subscribed Topics

  • command (rm_msgs/ShootCmd)

    Commands of controller state, bullet speed, frequency of shooting.

Parameters

  • block_effort, block_speed, block_duration (double)

    When the torque of the trigger motor is greater than block_effort (in N·m), and the angular velocity of trigger motor is less than block_speed (in rad/s), it will be regarded as blocking if it continues for block_duration (in s), and the the state of shooter controller will switch to BLOCK.

  • block_overtime (double)

    If the time to enter BLOCK state exceeds block_overtime (in s), the state of shooter controller will switch to PUSH.

  • anti_block_angle (double)

    If shooter controller enter BLOCK state, the friction wheel will reverse anti_block_angle (in rad) to try to get rid of blocking. When the friction wheel get rid of BLOCK state successfully, the state of shooter controller will switch to PUSH.

  • anti_block_threshold (double)

    If the anti angle of the friction wheel exceeds anti_block_threshold (in rad), it means that friction wheel reverse successfully.

  • qd_10, qd_15, qd_18, qd_30 (double)

    These parameters mean the friction wheel’s angular velocity, the number of it’s name expresses different bullet speeds (in m/s).

Controller configuration examples

Complete description

``` shooter_controller: type: rm_shooter_controllers/Controller publish_rate: 50 friction_left: joint: “left_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } friction_right: joint: “right_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } trigger: joint: “trigger_joint” pid: { p: 50.0, i: 0.0, d: 1.5, i_clamp_max: 0.0, i_clamp_min: 0.0, antiwindup: true, publish_state: true } push_per_rotation: 8 push_qd_threshold: 0.90 block_effort: 0.95

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_shooter_controllers

0.1.11 (2023-06-20)

  • Merge pull request #129 from ye-luo-xi-tui/master Shooter_controller would not check block when friction wheel don't rotate
  • Shooter_controller would not check block when friction wheel don't rotate.
  • Merge branch 'master' into dev/balance
  • 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 pull request #118 from ye-luo-xi-tui/master Publish shoot state
  • Publish shoot state.
  • Merge pull request #109 from ye-luo-xi-tui/master Modifier default value of forward_push_threshold and exit_push_threshold
  • Modifier default value of forward_push_threshold and exit_push_threshold.
  • 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 branch 'master' into balance_standard
  • Merge remote-tracking branch 'origin/fix_return' into fix_return
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Merge branch 'rm-controls:master' into fix_return
  • Contributors: L-SY, lsy, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #93 from NaHCO3bc/master Fix the bug that the shooter cannot be turned from push to ready
  • Modify the name and the description of the params about push forward threshold.
  • Optimize the logic of entering the block mode.
  • Fix the bug that shooter cannot push or enter block when the position error is too big.
  • Modify the params name.
  • Modify the params about enter and exit push mode.
  • Parametric position difference of trigger.
  • Fix the bug that the shooter cannot be turned from push to ready.
  • 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

0.1.7 (2022-09-10)

  • Try two fix double shoot
  • Merge remote-tracking branch 'origin/master'
  • Fix bug of shooting if statement
  • Contributors: qiayuan

0.1.6 (2022-06-16)

  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan

0.1.5 (2022-06-10)

  • Add hz counting in trigger test mode.
  • Merge remote-tracking branch 'origin/master'
  • Add testing option to shooter for testing the trigger without friction wheel
  • 0.1.4
  • Merge branch 'master' into gimbal_track
  • Merge pull request #45 from mlione/master Delete some config files in rm_controllers.
  • Delete some config files in rm_controller.
  • Merge pull request #46 from ye-luo-xi-tui/master Deprecated imu_filter_controller
  • Contributors: BruceLannn, QiayuanLiao, YuuinIH, mlione, qiayuan, yezi

0.1.3 (2022-03-28)

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.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Name Deps
rm_controllers

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_shooter_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 Shooter controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_shooter_controller

Overview

The rm_shooter_controller has four states: STOP, READY, PUSH, and BLOCK, it controls the left and right friction wheels and the trigger wheel through PID algorithm according to the command. It can set the bullet speed by setting the angular velocity of the friction wheel, and at the same time realizes the block detection.

Keywords: ROS, robomaster, shooter

License

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

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The rm_shooter_controller package has been tested under ROS Melodic and Noetic on respectively 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 obtain the speed of friction wheel and trigger wheel and the position of trigger wheel.
  • EffortJointInterface Used to send torque commands for friction wheels and trigger wheel.

Installation

Installation from Packages

To install all packages from this repository as Debian packages use

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

or better use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • dynamic_reconfigure

Cfg

  • shooter.cfg: Add parameters related to friction wheel’s angular velocity corresponding to each bullet speed and trigger block detection parameters.

ROS API

Subscribed Topics

  • command (rm_msgs/ShootCmd)

    Commands of controller state, bullet speed, frequency of shooting.

Parameters

  • block_effort, block_speed, block_duration (double)

    When the torque of the trigger motor is greater than block_effort (in N·m), and the angular velocity of trigger motor is less than block_speed (in rad/s), it will be regarded as blocking if it continues for block_duration (in s), and the the state of shooter controller will switch to BLOCK.

  • block_overtime (double)

    If the time to enter BLOCK state exceeds block_overtime (in s), the state of shooter controller will switch to PUSH.

  • anti_block_angle (double)

    If shooter controller enter BLOCK state, the friction wheel will reverse anti_block_angle (in rad) to try to get rid of blocking. When the friction wheel get rid of BLOCK state successfully, the state of shooter controller will switch to PUSH.

  • anti_block_threshold (double)

    If the anti angle of the friction wheel exceeds anti_block_threshold (in rad), it means that friction wheel reverse successfully.

  • qd_10, qd_15, qd_18, qd_30 (double)

    These parameters mean the friction wheel’s angular velocity, the number of it’s name expresses different bullet speeds (in m/s).

Controller configuration examples

Complete description

``` shooter_controller: type: rm_shooter_controllers/Controller publish_rate: 50 friction_left: joint: “left_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } friction_right: joint: “right_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } trigger: joint: “trigger_joint” pid: { p: 50.0, i: 0.0, d: 1.5, i_clamp_max: 0.0, i_clamp_min: 0.0, antiwindup: true, publish_state: true } push_per_rotation: 8 push_qd_threshold: 0.90 block_effort: 0.95

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_shooter_controllers

0.1.11 (2023-06-20)

  • Merge pull request #129 from ye-luo-xi-tui/master Shooter_controller would not check block when friction wheel don't rotate
  • Shooter_controller would not check block when friction wheel don't rotate.
  • Merge branch 'master' into dev/balance
  • 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 pull request #118 from ye-luo-xi-tui/master Publish shoot state
  • Publish shoot state.
  • Merge pull request #109 from ye-luo-xi-tui/master Modifier default value of forward_push_threshold and exit_push_threshold
  • Modifier default value of forward_push_threshold and exit_push_threshold.
  • 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 branch 'master' into balance_standard
  • Merge remote-tracking branch 'origin/fix_return' into fix_return
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Merge branch 'rm-controls:master' into fix_return
  • Contributors: L-SY, lsy, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #93 from NaHCO3bc/master Fix the bug that the shooter cannot be turned from push to ready
  • Modify the name and the description of the params about push forward threshold.
  • Optimize the logic of entering the block mode.
  • Fix the bug that shooter cannot push or enter block when the position error is too big.
  • Modify the params name.
  • Modify the params about enter and exit push mode.
  • Parametric position difference of trigger.
  • Fix the bug that the shooter cannot be turned from push to ready.
  • 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

0.1.7 (2022-09-10)

  • Try two fix double shoot
  • Merge remote-tracking branch 'origin/master'
  • Fix bug of shooting if statement
  • Contributors: qiayuan

0.1.6 (2022-06-16)

  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan

0.1.5 (2022-06-10)

  • Add hz counting in trigger test mode.
  • Merge remote-tracking branch 'origin/master'
  • Add testing option to shooter for testing the trigger without friction wheel
  • 0.1.4
  • Merge branch 'master' into gimbal_track
  • Merge pull request #45 from mlione/master Delete some config files in rm_controllers.
  • Delete some config files in rm_controller.
  • Merge pull request #46 from ye-luo-xi-tui/master Deprecated imu_filter_controller
  • Contributors: BruceLannn, QiayuanLiao, YuuinIH, mlione, qiayuan, yezi

0.1.3 (2022-03-28)

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.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Name Deps
rm_controllers

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_shooter_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 Shooter controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_shooter_controller

Overview

The rm_shooter_controller has four states: STOP, READY, PUSH, and BLOCK, it controls the left and right friction wheels and the trigger wheel through PID algorithm according to the command. It can set the bullet speed by setting the angular velocity of the friction wheel, and at the same time realizes the block detection.

Keywords: ROS, robomaster, shooter

License

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

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The rm_shooter_controller package has been tested under ROS Melodic and Noetic on respectively 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 obtain the speed of friction wheel and trigger wheel and the position of trigger wheel.
  • EffortJointInterface Used to send torque commands for friction wheels and trigger wheel.

Installation

Installation from Packages

To install all packages from this repository as Debian packages use

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

or better use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • dynamic_reconfigure

Cfg

  • shooter.cfg: Add parameters related to friction wheel’s angular velocity corresponding to each bullet speed and trigger block detection parameters.

ROS API

Subscribed Topics

  • command (rm_msgs/ShootCmd)

    Commands of controller state, bullet speed, frequency of shooting.

Parameters

  • block_effort, block_speed, block_duration (double)

    When the torque of the trigger motor is greater than block_effort (in N·m), and the angular velocity of trigger motor is less than block_speed (in rad/s), it will be regarded as blocking if it continues for block_duration (in s), and the the state of shooter controller will switch to BLOCK.

  • block_overtime (double)

    If the time to enter BLOCK state exceeds block_overtime (in s), the state of shooter controller will switch to PUSH.

  • anti_block_angle (double)

    If shooter controller enter BLOCK state, the friction wheel will reverse anti_block_angle (in rad) to try to get rid of blocking. When the friction wheel get rid of BLOCK state successfully, the state of shooter controller will switch to PUSH.

  • anti_block_threshold (double)

    If the anti angle of the friction wheel exceeds anti_block_threshold (in rad), it means that friction wheel reverse successfully.

  • qd_10, qd_15, qd_18, qd_30 (double)

    These parameters mean the friction wheel’s angular velocity, the number of it’s name expresses different bullet speeds (in m/s).

Controller configuration examples

Complete description

``` shooter_controller: type: rm_shooter_controllers/Controller publish_rate: 50 friction_left: joint: “left_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } friction_right: joint: “right_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } trigger: joint: “trigger_joint” pid: { p: 50.0, i: 0.0, d: 1.5, i_clamp_max: 0.0, i_clamp_min: 0.0, antiwindup: true, publish_state: true } push_per_rotation: 8 push_qd_threshold: 0.90 block_effort: 0.95

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_shooter_controllers

0.1.11 (2023-06-20)

  • Merge pull request #129 from ye-luo-xi-tui/master Shooter_controller would not check block when friction wheel don't rotate
  • Shooter_controller would not check block when friction wheel don't rotate.
  • Merge branch 'master' into dev/balance
  • 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 pull request #118 from ye-luo-xi-tui/master Publish shoot state
  • Publish shoot state.
  • Merge pull request #109 from ye-luo-xi-tui/master Modifier default value of forward_push_threshold and exit_push_threshold
  • Modifier default value of forward_push_threshold and exit_push_threshold.
  • 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 branch 'master' into balance_standard
  • Merge remote-tracking branch 'origin/fix_return' into fix_return
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Merge branch 'rm-controls:master' into fix_return
  • Contributors: L-SY, lsy, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #93 from NaHCO3bc/master Fix the bug that the shooter cannot be turned from push to ready
  • Modify the name and the description of the params about push forward threshold.
  • Optimize the logic of entering the block mode.
  • Fix the bug that shooter cannot push or enter block when the position error is too big.
  • Modify the params name.
  • Modify the params about enter and exit push mode.
  • Parametric position difference of trigger.
  • Fix the bug that the shooter cannot be turned from push to ready.
  • 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

0.1.7 (2022-09-10)

  • Try two fix double shoot
  • Merge remote-tracking branch 'origin/master'
  • Fix bug of shooting if statement
  • Contributors: qiayuan

0.1.6 (2022-06-16)

  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan

0.1.5 (2022-06-10)

  • Add hz counting in trigger test mode.
  • Merge remote-tracking branch 'origin/master'
  • Add testing option to shooter for testing the trigger without friction wheel
  • 0.1.4
  • Merge branch 'master' into gimbal_track
  • Merge pull request #45 from mlione/master Delete some config files in rm_controllers.
  • Delete some config files in rm_controller.
  • Merge pull request #46 from ye-luo-xi-tui/master Deprecated imu_filter_controller
  • Contributors: BruceLannn, QiayuanLiao, YuuinIH, mlione, qiayuan, yezi

0.1.3 (2022-03-28)

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.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Name Deps
rm_controllers

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_shooter_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 Shooter controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_shooter_controller

Overview

The rm_shooter_controller has four states: STOP, READY, PUSH, and BLOCK, it controls the left and right friction wheels and the trigger wheel through PID algorithm according to the command. It can set the bullet speed by setting the angular velocity of the friction wheel, and at the same time realizes the block detection.

Keywords: ROS, robomaster, shooter

License

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

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The rm_shooter_controller package has been tested under ROS Melodic and Noetic on respectively 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 obtain the speed of friction wheel and trigger wheel and the position of trigger wheel.
  • EffortJointInterface Used to send torque commands for friction wheels and trigger wheel.

Installation

Installation from Packages

To install all packages from this repository as Debian packages use

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

or better use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • dynamic_reconfigure

Cfg

  • shooter.cfg: Add parameters related to friction wheel’s angular velocity corresponding to each bullet speed and trigger block detection parameters.

ROS API

Subscribed Topics

  • command (rm_msgs/ShootCmd)

    Commands of controller state, bullet speed, frequency of shooting.

Parameters

  • block_effort, block_speed, block_duration (double)

    When the torque of the trigger motor is greater than block_effort (in N·m), and the angular velocity of trigger motor is less than block_speed (in rad/s), it will be regarded as blocking if it continues for block_duration (in s), and the the state of shooter controller will switch to BLOCK.

  • block_overtime (double)

    If the time to enter BLOCK state exceeds block_overtime (in s), the state of shooter controller will switch to PUSH.

  • anti_block_angle (double)

    If shooter controller enter BLOCK state, the friction wheel will reverse anti_block_angle (in rad) to try to get rid of blocking. When the friction wheel get rid of BLOCK state successfully, the state of shooter controller will switch to PUSH.

  • anti_block_threshold (double)

    If the anti angle of the friction wheel exceeds anti_block_threshold (in rad), it means that friction wheel reverse successfully.

  • qd_10, qd_15, qd_18, qd_30 (double)

    These parameters mean the friction wheel’s angular velocity, the number of it’s name expresses different bullet speeds (in m/s).

Controller configuration examples

Complete description

``` shooter_controller: type: rm_shooter_controllers/Controller publish_rate: 50 friction_left: joint: “left_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } friction_right: joint: “right_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } trigger: joint: “trigger_joint” pid: { p: 50.0, i: 0.0, d: 1.5, i_clamp_max: 0.0, i_clamp_min: 0.0, antiwindup: true, publish_state: true } push_per_rotation: 8 push_qd_threshold: 0.90 block_effort: 0.95

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_shooter_controllers

0.1.11 (2023-06-20)

  • Merge pull request #129 from ye-luo-xi-tui/master Shooter_controller would not check block when friction wheel don't rotate
  • Shooter_controller would not check block when friction wheel don't rotate.
  • Merge branch 'master' into dev/balance
  • 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 pull request #118 from ye-luo-xi-tui/master Publish shoot state
  • Publish shoot state.
  • Merge pull request #109 from ye-luo-xi-tui/master Modifier default value of forward_push_threshold and exit_push_threshold
  • Modifier default value of forward_push_threshold and exit_push_threshold.
  • 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 branch 'master' into balance_standard
  • Merge remote-tracking branch 'origin/fix_return' into fix_return
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Merge branch 'rm-controls:master' into fix_return
  • Contributors: L-SY, lsy, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #93 from NaHCO3bc/master Fix the bug that the shooter cannot be turned from push to ready
  • Modify the name and the description of the params about push forward threshold.
  • Optimize the logic of entering the block mode.
  • Fix the bug that shooter cannot push or enter block when the position error is too big.
  • Modify the params name.
  • Modify the params about enter and exit push mode.
  • Parametric position difference of trigger.
  • Fix the bug that the shooter cannot be turned from push to ready.
  • 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

0.1.7 (2022-09-10)

  • Try two fix double shoot
  • Merge remote-tracking branch 'origin/master'
  • Fix bug of shooting if statement
  • Contributors: qiayuan

0.1.6 (2022-06-16)

  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan

0.1.5 (2022-06-10)

  • Add hz counting in trigger test mode.
  • Merge remote-tracking branch 'origin/master'
  • Add testing option to shooter for testing the trigger without friction wheel
  • 0.1.4
  • Merge branch 'master' into gimbal_track
  • Merge pull request #45 from mlione/master Delete some config files in rm_controllers.
  • Delete some config files in rm_controller.
  • Merge pull request #46 from ye-luo-xi-tui/master Deprecated imu_filter_controller
  • Contributors: BruceLannn, QiayuanLiao, YuuinIH, mlione, qiayuan, yezi

0.1.3 (2022-03-28)

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.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Name Deps
rm_controllers

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_shooter_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 Shooter controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_shooter_controller

Overview

The rm_shooter_controller has four states: STOP, READY, PUSH, and BLOCK, it controls the left and right friction wheels and the trigger wheel through PID algorithm according to the command. It can set the bullet speed by setting the angular velocity of the friction wheel, and at the same time realizes the block detection.

Keywords: ROS, robomaster, shooter

License

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

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The rm_shooter_controller package has been tested under ROS Melodic and Noetic on respectively 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 obtain the speed of friction wheel and trigger wheel and the position of trigger wheel.
  • EffortJointInterface Used to send torque commands for friction wheels and trigger wheel.

Installation

Installation from Packages

To install all packages from this repository as Debian packages use

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

or better use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • dynamic_reconfigure

Cfg

  • shooter.cfg: Add parameters related to friction wheel’s angular velocity corresponding to each bullet speed and trigger block detection parameters.

ROS API

Subscribed Topics

  • command (rm_msgs/ShootCmd)

    Commands of controller state, bullet speed, frequency of shooting.

Parameters

  • block_effort, block_speed, block_duration (double)

    When the torque of the trigger motor is greater than block_effort (in N·m), and the angular velocity of trigger motor is less than block_speed (in rad/s), it will be regarded as blocking if it continues for block_duration (in s), and the the state of shooter controller will switch to BLOCK.

  • block_overtime (double)

    If the time to enter BLOCK state exceeds block_overtime (in s), the state of shooter controller will switch to PUSH.

  • anti_block_angle (double)

    If shooter controller enter BLOCK state, the friction wheel will reverse anti_block_angle (in rad) to try to get rid of blocking. When the friction wheel get rid of BLOCK state successfully, the state of shooter controller will switch to PUSH.

  • anti_block_threshold (double)

    If the anti angle of the friction wheel exceeds anti_block_threshold (in rad), it means that friction wheel reverse successfully.

  • qd_10, qd_15, qd_18, qd_30 (double)

    These parameters mean the friction wheel’s angular velocity, the number of it’s name expresses different bullet speeds (in m/s).

Controller configuration examples

Complete description

``` shooter_controller: type: rm_shooter_controllers/Controller publish_rate: 50 friction_left: joint: “left_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } friction_right: joint: “right_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } trigger: joint: “trigger_joint” pid: { p: 50.0, i: 0.0, d: 1.5, i_clamp_max: 0.0, i_clamp_min: 0.0, antiwindup: true, publish_state: true } push_per_rotation: 8 push_qd_threshold: 0.90 block_effort: 0.95

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_shooter_controllers

0.1.11 (2023-06-20)

  • Merge pull request #129 from ye-luo-xi-tui/master Shooter_controller would not check block when friction wheel don't rotate
  • Shooter_controller would not check block when friction wheel don't rotate.
  • Merge branch 'master' into dev/balance
  • 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 pull request #118 from ye-luo-xi-tui/master Publish shoot state
  • Publish shoot state.
  • Merge pull request #109 from ye-luo-xi-tui/master Modifier default value of forward_push_threshold and exit_push_threshold
  • Modifier default value of forward_push_threshold and exit_push_threshold.
  • 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 branch 'master' into balance_standard
  • Merge remote-tracking branch 'origin/fix_return' into fix_return
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Merge branch 'rm-controls:master' into fix_return
  • Contributors: L-SY, lsy, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #93 from NaHCO3bc/master Fix the bug that the shooter cannot be turned from push to ready
  • Modify the name and the description of the params about push forward threshold.
  • Optimize the logic of entering the block mode.
  • Fix the bug that shooter cannot push or enter block when the position error is too big.
  • Modify the params name.
  • Modify the params about enter and exit push mode.
  • Parametric position difference of trigger.
  • Fix the bug that the shooter cannot be turned from push to ready.
  • 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

0.1.7 (2022-09-10)

  • Try two fix double shoot
  • Merge remote-tracking branch 'origin/master'
  • Fix bug of shooting if statement
  • Contributors: qiayuan

0.1.6 (2022-06-16)

  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan

0.1.5 (2022-06-10)

  • Add hz counting in trigger test mode.
  • Merge remote-tracking branch 'origin/master'
  • Add testing option to shooter for testing the trigger without friction wheel
  • 0.1.4
  • Merge branch 'master' into gimbal_track
  • Merge pull request #45 from mlione/master Delete some config files in rm_controllers.
  • Delete some config files in rm_controller.
  • Merge pull request #46 from ye-luo-xi-tui/master Deprecated imu_filter_controller
  • Contributors: BruceLannn, QiayuanLiao, YuuinIH, mlione, qiayuan, yezi

0.1.3 (2022-03-28)

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.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Name Deps
rm_controllers

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_shooter_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 Shooter controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_shooter_controller

Overview

The rm_shooter_controller has four states: STOP, READY, PUSH, and BLOCK, it controls the left and right friction wheels and the trigger wheel through PID algorithm according to the command. It can set the bullet speed by setting the angular velocity of the friction wheel, and at the same time realizes the block detection.

Keywords: ROS, robomaster, shooter

License

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

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The rm_shooter_controller package has been tested under ROS Melodic and Noetic on respectively 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 obtain the speed of friction wheel and trigger wheel and the position of trigger wheel.
  • EffortJointInterface Used to send torque commands for friction wheels and trigger wheel.

Installation

Installation from Packages

To install all packages from this repository as Debian packages use

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

or better use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • dynamic_reconfigure

Cfg

  • shooter.cfg: Add parameters related to friction wheel’s angular velocity corresponding to each bullet speed and trigger block detection parameters.

ROS API

Subscribed Topics

  • command (rm_msgs/ShootCmd)

    Commands of controller state, bullet speed, frequency of shooting.

Parameters

  • block_effort, block_speed, block_duration (double)

    When the torque of the trigger motor is greater than block_effort (in N·m), and the angular velocity of trigger motor is less than block_speed (in rad/s), it will be regarded as blocking if it continues for block_duration (in s), and the the state of shooter controller will switch to BLOCK.

  • block_overtime (double)

    If the time to enter BLOCK state exceeds block_overtime (in s), the state of shooter controller will switch to PUSH.

  • anti_block_angle (double)

    If shooter controller enter BLOCK state, the friction wheel will reverse anti_block_angle (in rad) to try to get rid of blocking. When the friction wheel get rid of BLOCK state successfully, the state of shooter controller will switch to PUSH.

  • anti_block_threshold (double)

    If the anti angle of the friction wheel exceeds anti_block_threshold (in rad), it means that friction wheel reverse successfully.

  • qd_10, qd_15, qd_18, qd_30 (double)

    These parameters mean the friction wheel’s angular velocity, the number of it’s name expresses different bullet speeds (in m/s).

Controller configuration examples

Complete description

``` shooter_controller: type: rm_shooter_controllers/Controller publish_rate: 50 friction_left: joint: “left_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } friction_right: joint: “right_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } trigger: joint: “trigger_joint” pid: { p: 50.0, i: 0.0, d: 1.5, i_clamp_max: 0.0, i_clamp_min: 0.0, antiwindup: true, publish_state: true } push_per_rotation: 8 push_qd_threshold: 0.90 block_effort: 0.95

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_shooter_controllers

0.1.11 (2023-06-20)

  • Merge pull request #129 from ye-luo-xi-tui/master Shooter_controller would not check block when friction wheel don't rotate
  • Shooter_controller would not check block when friction wheel don't rotate.
  • Merge branch 'master' into dev/balance
  • 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 pull request #118 from ye-luo-xi-tui/master Publish shoot state
  • Publish shoot state.
  • Merge pull request #109 from ye-luo-xi-tui/master Modifier default value of forward_push_threshold and exit_push_threshold
  • Modifier default value of forward_push_threshold and exit_push_threshold.
  • 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 branch 'master' into balance_standard
  • Merge remote-tracking branch 'origin/fix_return' into fix_return
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Merge branch 'rm-controls:master' into fix_return
  • Contributors: L-SY, lsy, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #93 from NaHCO3bc/master Fix the bug that the shooter cannot be turned from push to ready
  • Modify the name and the description of the params about push forward threshold.
  • Optimize the logic of entering the block mode.
  • Fix the bug that shooter cannot push or enter block when the position error is too big.
  • Modify the params name.
  • Modify the params about enter and exit push mode.
  • Parametric position difference of trigger.
  • Fix the bug that the shooter cannot be turned from push to ready.
  • 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

0.1.7 (2022-09-10)

  • Try two fix double shoot
  • Merge remote-tracking branch 'origin/master'
  • Fix bug of shooting if statement
  • Contributors: qiayuan

0.1.6 (2022-06-16)

  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan

0.1.5 (2022-06-10)

  • Add hz counting in trigger test mode.
  • Merge remote-tracking branch 'origin/master'
  • Add testing option to shooter for testing the trigger without friction wheel
  • 0.1.4
  • Merge branch 'master' into gimbal_track
  • Merge pull request #45 from mlione/master Delete some config files in rm_controllers.
  • Delete some config files in rm_controller.
  • Merge pull request #46 from ye-luo-xi-tui/master Deprecated imu_filter_controller
  • Contributors: BruceLannn, QiayuanLiao, YuuinIH, mlione, qiayuan, yezi

0.1.3 (2022-03-28)

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.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Name Deps
rm_controllers

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_shooter_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 Shooter controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_shooter_controller

Overview

The rm_shooter_controller has four states: STOP, READY, PUSH, and BLOCK, it controls the left and right friction wheels and the trigger wheel through PID algorithm according to the command. It can set the bullet speed by setting the angular velocity of the friction wheel, and at the same time realizes the block detection.

Keywords: ROS, robomaster, shooter

License

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

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The rm_shooter_controller package has been tested under ROS Melodic and Noetic on respectively 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 obtain the speed of friction wheel and trigger wheel and the position of trigger wheel.
  • EffortJointInterface Used to send torque commands for friction wheels and trigger wheel.

Installation

Installation from Packages

To install all packages from this repository as Debian packages use

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

or better use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • dynamic_reconfigure

Cfg

  • shooter.cfg: Add parameters related to friction wheel’s angular velocity corresponding to each bullet speed and trigger block detection parameters.

ROS API

Subscribed Topics

  • command (rm_msgs/ShootCmd)

    Commands of controller state, bullet speed, frequency of shooting.

Parameters

  • block_effort, block_speed, block_duration (double)

    When the torque of the trigger motor is greater than block_effort (in N·m), and the angular velocity of trigger motor is less than block_speed (in rad/s), it will be regarded as blocking if it continues for block_duration (in s), and the the state of shooter controller will switch to BLOCK.

  • block_overtime (double)

    If the time to enter BLOCK state exceeds block_overtime (in s), the state of shooter controller will switch to PUSH.

  • anti_block_angle (double)

    If shooter controller enter BLOCK state, the friction wheel will reverse anti_block_angle (in rad) to try to get rid of blocking. When the friction wheel get rid of BLOCK state successfully, the state of shooter controller will switch to PUSH.

  • anti_block_threshold (double)

    If the anti angle of the friction wheel exceeds anti_block_threshold (in rad), it means that friction wheel reverse successfully.

  • qd_10, qd_15, qd_18, qd_30 (double)

    These parameters mean the friction wheel’s angular velocity, the number of it’s name expresses different bullet speeds (in m/s).

Controller configuration examples

Complete description

``` shooter_controller: type: rm_shooter_controllers/Controller publish_rate: 50 friction_left: joint: “left_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } friction_right: joint: “right_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } trigger: joint: “trigger_joint” pid: { p: 50.0, i: 0.0, d: 1.5, i_clamp_max: 0.0, i_clamp_min: 0.0, antiwindup: true, publish_state: true } push_per_rotation: 8 push_qd_threshold: 0.90 block_effort: 0.95

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_shooter_controllers

0.1.11 (2023-06-20)

  • Merge pull request #129 from ye-luo-xi-tui/master Shooter_controller would not check block when friction wheel don't rotate
  • Shooter_controller would not check block when friction wheel don't rotate.
  • Merge branch 'master' into dev/balance
  • 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 pull request #118 from ye-luo-xi-tui/master Publish shoot state
  • Publish shoot state.
  • Merge pull request #109 from ye-luo-xi-tui/master Modifier default value of forward_push_threshold and exit_push_threshold
  • Modifier default value of forward_push_threshold and exit_push_threshold.
  • 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 branch 'master' into balance_standard
  • Merge remote-tracking branch 'origin/fix_return' into fix_return
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Merge branch 'rm-controls:master' into fix_return
  • Contributors: L-SY, lsy, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #93 from NaHCO3bc/master Fix the bug that the shooter cannot be turned from push to ready
  • Modify the name and the description of the params about push forward threshold.
  • Optimize the logic of entering the block mode.
  • Fix the bug that shooter cannot push or enter block when the position error is too big.
  • Modify the params name.
  • Modify the params about enter and exit push mode.
  • Parametric position difference of trigger.
  • Fix the bug that the shooter cannot be turned from push to ready.
  • 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

0.1.7 (2022-09-10)

  • Try two fix double shoot
  • Merge remote-tracking branch 'origin/master'
  • Fix bug of shooting if statement
  • Contributors: qiayuan

0.1.6 (2022-06-16)

  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan

0.1.5 (2022-06-10)

  • Add hz counting in trigger test mode.
  • Merge remote-tracking branch 'origin/master'
  • Add testing option to shooter for testing the trigger without friction wheel
  • 0.1.4
  • Merge branch 'master' into gimbal_track
  • Merge pull request #45 from mlione/master Delete some config files in rm_controllers.
  • Delete some config files in rm_controller.
  • Merge pull request #46 from ye-luo-xi-tui/master Deprecated imu_filter_controller
  • Contributors: BruceLannn, QiayuanLiao, YuuinIH, mlione, qiayuan, yezi

0.1.3 (2022-03-28)

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.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Name Deps
rm_controllers

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_shooter_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 Shooter controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_shooter_controller

Overview

The rm_shooter_controller has four states: STOP, READY, PUSH, and BLOCK, it controls the left and right friction wheels and the trigger wheel through PID algorithm according to the command. It can set the bullet speed by setting the angular velocity of the friction wheel, and at the same time realizes the block detection.

Keywords: ROS, robomaster, shooter

License

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

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The rm_shooter_controller package has been tested under ROS Melodic and Noetic on respectively 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 obtain the speed of friction wheel and trigger wheel and the position of trigger wheel.
  • EffortJointInterface Used to send torque commands for friction wheels and trigger wheel.

Installation

Installation from Packages

To install all packages from this repository as Debian packages use

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

or better use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • dynamic_reconfigure

Cfg

  • shooter.cfg: Add parameters related to friction wheel’s angular velocity corresponding to each bullet speed and trigger block detection parameters.

ROS API

Subscribed Topics

  • command (rm_msgs/ShootCmd)

    Commands of controller state, bullet speed, frequency of shooting.

Parameters

  • block_effort, block_speed, block_duration (double)

    When the torque of the trigger motor is greater than block_effort (in N·m), and the angular velocity of trigger motor is less than block_speed (in rad/s), it will be regarded as blocking if it continues for block_duration (in s), and the the state of shooter controller will switch to BLOCK.

  • block_overtime (double)

    If the time to enter BLOCK state exceeds block_overtime (in s), the state of shooter controller will switch to PUSH.

  • anti_block_angle (double)

    If shooter controller enter BLOCK state, the friction wheel will reverse anti_block_angle (in rad) to try to get rid of blocking. When the friction wheel get rid of BLOCK state successfully, the state of shooter controller will switch to PUSH.

  • anti_block_threshold (double)

    If the anti angle of the friction wheel exceeds anti_block_threshold (in rad), it means that friction wheel reverse successfully.

  • qd_10, qd_15, qd_18, qd_30 (double)

    These parameters mean the friction wheel’s angular velocity, the number of it’s name expresses different bullet speeds (in m/s).

Controller configuration examples

Complete description

``` shooter_controller: type: rm_shooter_controllers/Controller publish_rate: 50 friction_left: joint: “left_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } friction_right: joint: “right_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } trigger: joint: “trigger_joint” pid: { p: 50.0, i: 0.0, d: 1.5, i_clamp_max: 0.0, i_clamp_min: 0.0, antiwindup: true, publish_state: true } push_per_rotation: 8 push_qd_threshold: 0.90 block_effort: 0.95

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_shooter_controllers

0.1.11 (2023-06-20)

  • Merge pull request #129 from ye-luo-xi-tui/master Shooter_controller would not check block when friction wheel don't rotate
  • Shooter_controller would not check block when friction wheel don't rotate.
  • Merge branch 'master' into dev/balance
  • 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 pull request #118 from ye-luo-xi-tui/master Publish shoot state
  • Publish shoot state.
  • Merge pull request #109 from ye-luo-xi-tui/master Modifier default value of forward_push_threshold and exit_push_threshold
  • Modifier default value of forward_push_threshold and exit_push_threshold.
  • 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 branch 'master' into balance_standard
  • Merge remote-tracking branch 'origin/fix_return' into fix_return
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Merge branch 'rm-controls:master' into fix_return
  • Contributors: L-SY, lsy, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #93 from NaHCO3bc/master Fix the bug that the shooter cannot be turned from push to ready
  • Modify the name and the description of the params about push forward threshold.
  • Optimize the logic of entering the block mode.
  • Fix the bug that shooter cannot push or enter block when the position error is too big.
  • Modify the params name.
  • Modify the params about enter and exit push mode.
  • Parametric position difference of trigger.
  • Fix the bug that the shooter cannot be turned from push to ready.
  • 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

0.1.7 (2022-09-10)

  • Try two fix double shoot
  • Merge remote-tracking branch 'origin/master'
  • Fix bug of shooting if statement
  • Contributors: qiayuan

0.1.6 (2022-06-16)

  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan

0.1.5 (2022-06-10)

  • Add hz counting in trigger test mode.
  • Merge remote-tracking branch 'origin/master'
  • Add testing option to shooter for testing the trigger without friction wheel
  • 0.1.4
  • Merge branch 'master' into gimbal_track
  • Merge pull request #45 from mlione/master Delete some config files in rm_controllers.
  • Delete some config files in rm_controller.
  • Merge pull request #46 from ye-luo-xi-tui/master Deprecated imu_filter_controller
  • Contributors: BruceLannn, QiayuanLiao, YuuinIH, mlione, qiayuan, yezi

0.1.3 (2022-03-28)

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.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Name Deps
rm_controllers

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_shooter_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 Shooter controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_shooter_controller

Overview

The rm_shooter_controller has four states: STOP, READY, PUSH, and BLOCK, it controls the left and right friction wheels and the trigger wheel through PID algorithm according to the command. It can set the bullet speed by setting the angular velocity of the friction wheel, and at the same time realizes the block detection.

Keywords: ROS, robomaster, shooter

License

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

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The rm_shooter_controller package has been tested under ROS Melodic and Noetic on respectively 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 obtain the speed of friction wheel and trigger wheel and the position of trigger wheel.
  • EffortJointInterface Used to send torque commands for friction wheels and trigger wheel.

Installation

Installation from Packages

To install all packages from this repository as Debian packages use

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

or better use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • dynamic_reconfigure

Cfg

  • shooter.cfg: Add parameters related to friction wheel’s angular velocity corresponding to each bullet speed and trigger block detection parameters.

ROS API

Subscribed Topics

  • command (rm_msgs/ShootCmd)

    Commands of controller state, bullet speed, frequency of shooting.

Parameters

  • block_effort, block_speed, block_duration (double)

    When the torque of the trigger motor is greater than block_effort (in N·m), and the angular velocity of trigger motor is less than block_speed (in rad/s), it will be regarded as blocking if it continues for block_duration (in s), and the the state of shooter controller will switch to BLOCK.

  • block_overtime (double)

    If the time to enter BLOCK state exceeds block_overtime (in s), the state of shooter controller will switch to PUSH.

  • anti_block_angle (double)

    If shooter controller enter BLOCK state, the friction wheel will reverse anti_block_angle (in rad) to try to get rid of blocking. When the friction wheel get rid of BLOCK state successfully, the state of shooter controller will switch to PUSH.

  • anti_block_threshold (double)

    If the anti angle of the friction wheel exceeds anti_block_threshold (in rad), it means that friction wheel reverse successfully.

  • qd_10, qd_15, qd_18, qd_30 (double)

    These parameters mean the friction wheel’s angular velocity, the number of it’s name expresses different bullet speeds (in m/s).

Controller configuration examples

Complete description

``` shooter_controller: type: rm_shooter_controllers/Controller publish_rate: 50 friction_left: joint: “left_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } friction_right: joint: “right_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } trigger: joint: “trigger_joint” pid: { p: 50.0, i: 0.0, d: 1.5, i_clamp_max: 0.0, i_clamp_min: 0.0, antiwindup: true, publish_state: true } push_per_rotation: 8 push_qd_threshold: 0.90 block_effort: 0.95

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_shooter_controllers

0.1.11 (2023-06-20)

  • Merge pull request #129 from ye-luo-xi-tui/master Shooter_controller would not check block when friction wheel don't rotate
  • Shooter_controller would not check block when friction wheel don't rotate.
  • Merge branch 'master' into dev/balance
  • 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 pull request #118 from ye-luo-xi-tui/master Publish shoot state
  • Publish shoot state.
  • Merge pull request #109 from ye-luo-xi-tui/master Modifier default value of forward_push_threshold and exit_push_threshold
  • Modifier default value of forward_push_threshold and exit_push_threshold.
  • 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 branch 'master' into balance_standard
  • Merge remote-tracking branch 'origin/fix_return' into fix_return
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Merge branch 'rm-controls:master' into fix_return
  • Contributors: L-SY, lsy, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #93 from NaHCO3bc/master Fix the bug that the shooter cannot be turned from push to ready
  • Modify the name and the description of the params about push forward threshold.
  • Optimize the logic of entering the block mode.
  • Fix the bug that shooter cannot push or enter block when the position error is too big.
  • Modify the params name.
  • Modify the params about enter and exit push mode.
  • Parametric position difference of trigger.
  • Fix the bug that the shooter cannot be turned from push to ready.
  • 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

0.1.7 (2022-09-10)

  • Try two fix double shoot
  • Merge remote-tracking branch 'origin/master'
  • Fix bug of shooting if statement
  • Contributors: qiayuan

0.1.6 (2022-06-16)

  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan

0.1.5 (2022-06-10)

  • Add hz counting in trigger test mode.
  • Merge remote-tracking branch 'origin/master'
  • Add testing option to shooter for testing the trigger without friction wheel
  • 0.1.4
  • Merge branch 'master' into gimbal_track
  • Merge pull request #45 from mlione/master Delete some config files in rm_controllers.
  • Delete some config files in rm_controller.
  • Merge pull request #46 from ye-luo-xi-tui/master Deprecated imu_filter_controller
  • Contributors: BruceLannn, QiayuanLiao, YuuinIH, mlione, qiayuan, yezi

0.1.3 (2022-03-28)

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.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Name Deps
rm_controllers

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_shooter_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 Shooter controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_shooter_controller

Overview

The rm_shooter_controller has four states: STOP, READY, PUSH, and BLOCK, it controls the left and right friction wheels and the trigger wheel through PID algorithm according to the command. It can set the bullet speed by setting the angular velocity of the friction wheel, and at the same time realizes the block detection.

Keywords: ROS, robomaster, shooter

License

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

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The rm_shooter_controller package has been tested under ROS Melodic and Noetic on respectively 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 obtain the speed of friction wheel and trigger wheel and the position of trigger wheel.
  • EffortJointInterface Used to send torque commands for friction wheels and trigger wheel.

Installation

Installation from Packages

To install all packages from this repository as Debian packages use

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

or better use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • dynamic_reconfigure

Cfg

  • shooter.cfg: Add parameters related to friction wheel’s angular velocity corresponding to each bullet speed and trigger block detection parameters.

ROS API

Subscribed Topics

  • command (rm_msgs/ShootCmd)

    Commands of controller state, bullet speed, frequency of shooting.

Parameters

  • block_effort, block_speed, block_duration (double)

    When the torque of the trigger motor is greater than block_effort (in N·m), and the angular velocity of trigger motor is less than block_speed (in rad/s), it will be regarded as blocking if it continues for block_duration (in s), and the the state of shooter controller will switch to BLOCK.

  • block_overtime (double)

    If the time to enter BLOCK state exceeds block_overtime (in s), the state of shooter controller will switch to PUSH.

  • anti_block_angle (double)

    If shooter controller enter BLOCK state, the friction wheel will reverse anti_block_angle (in rad) to try to get rid of blocking. When the friction wheel get rid of BLOCK state successfully, the state of shooter controller will switch to PUSH.

  • anti_block_threshold (double)

    If the anti angle of the friction wheel exceeds anti_block_threshold (in rad), it means that friction wheel reverse successfully.

  • qd_10, qd_15, qd_18, qd_30 (double)

    These parameters mean the friction wheel’s angular velocity, the number of it’s name expresses different bullet speeds (in m/s).

Controller configuration examples

Complete description

``` shooter_controller: type: rm_shooter_controllers/Controller publish_rate: 50 friction_left: joint: “left_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } friction_right: joint: “right_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } trigger: joint: “trigger_joint” pid: { p: 50.0, i: 0.0, d: 1.5, i_clamp_max: 0.0, i_clamp_min: 0.0, antiwindup: true, publish_state: true } push_per_rotation: 8 push_qd_threshold: 0.90 block_effort: 0.95

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_shooter_controllers

0.1.11 (2023-06-20)

  • Merge pull request #129 from ye-luo-xi-tui/master Shooter_controller would not check block when friction wheel don't rotate
  • Shooter_controller would not check block when friction wheel don't rotate.
  • Merge branch 'master' into dev/balance
  • 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 pull request #118 from ye-luo-xi-tui/master Publish shoot state
  • Publish shoot state.
  • Merge pull request #109 from ye-luo-xi-tui/master Modifier default value of forward_push_threshold and exit_push_threshold
  • Modifier default value of forward_push_threshold and exit_push_threshold.
  • 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 branch 'master' into balance_standard
  • Merge remote-tracking branch 'origin/fix_return' into fix_return
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Merge branch 'rm-controls:master' into fix_return
  • Contributors: L-SY, lsy, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #93 from NaHCO3bc/master Fix the bug that the shooter cannot be turned from push to ready
  • Modify the name and the description of the params about push forward threshold.
  • Optimize the logic of entering the block mode.
  • Fix the bug that shooter cannot push or enter block when the position error is too big.
  • Modify the params name.
  • Modify the params about enter and exit push mode.
  • Parametric position difference of trigger.
  • Fix the bug that the shooter cannot be turned from push to ready.
  • 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

0.1.7 (2022-09-10)

  • Try two fix double shoot
  • Merge remote-tracking branch 'origin/master'
  • Fix bug of shooting if statement
  • Contributors: qiayuan

0.1.6 (2022-06-16)

  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan

0.1.5 (2022-06-10)

  • Add hz counting in trigger test mode.
  • Merge remote-tracking branch 'origin/master'
  • Add testing option to shooter for testing the trigger without friction wheel
  • 0.1.4
  • Merge branch 'master' into gimbal_track
  • Merge pull request #45 from mlione/master Delete some config files in rm_controllers.
  • Delete some config files in rm_controller.
  • Merge pull request #46 from ye-luo-xi-tui/master Deprecated imu_filter_controller
  • Contributors: BruceLannn, QiayuanLiao, YuuinIH, mlione, qiayuan, yezi

0.1.3 (2022-03-28)

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.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Name Deps
rm_controllers

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_shooter_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 Shooter controller

Additional Links

No additional links.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

rm_shooter_controller

Overview

The rm_shooter_controller has four states: STOP, READY, PUSH, and BLOCK, it controls the left and right friction wheels and the trigger wheel through PID algorithm according to the command. It can set the bullet speed by setting the angular velocity of the friction wheel, and at the same time realizes the block detection.

Keywords: ROS, robomaster, shooter

License

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

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The rm_shooter_controller package has been tested under ROS Melodic and Noetic on respectively 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 obtain the speed of friction wheel and trigger wheel and the position of trigger wheel.
  • EffortJointInterface Used to send torque commands for friction wheels and trigger wheel.

Installation

Installation from Packages

To install all packages from this repository as Debian packages use

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

or better use rosdep:

sudo rosdep install --from-paths src

Dependencies

  • roscpp
  • rm_common
  • effort_controllers
  • dynamic_reconfigure

Cfg

  • shooter.cfg: Add parameters related to friction wheel’s angular velocity corresponding to each bullet speed and trigger block detection parameters.

ROS API

Subscribed Topics

  • command (rm_msgs/ShootCmd)

    Commands of controller state, bullet speed, frequency of shooting.

Parameters

  • block_effort, block_speed, block_duration (double)

    When the torque of the trigger motor is greater than block_effort (in N·m), and the angular velocity of trigger motor is less than block_speed (in rad/s), it will be regarded as blocking if it continues for block_duration (in s), and the the state of shooter controller will switch to BLOCK.

  • block_overtime (double)

    If the time to enter BLOCK state exceeds block_overtime (in s), the state of shooter controller will switch to PUSH.

  • anti_block_angle (double)

    If shooter controller enter BLOCK state, the friction wheel will reverse anti_block_angle (in rad) to try to get rid of blocking. When the friction wheel get rid of BLOCK state successfully, the state of shooter controller will switch to PUSH.

  • anti_block_threshold (double)

    If the anti angle of the friction wheel exceeds anti_block_threshold (in rad), it means that friction wheel reverse successfully.

  • qd_10, qd_15, qd_18, qd_30 (double)

    These parameters mean the friction wheel’s angular velocity, the number of it’s name expresses different bullet speeds (in m/s).

Controller configuration examples

Complete description

``` shooter_controller: type: rm_shooter_controllers/Controller publish_rate: 50 friction_left: joint: “left_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } friction_right: joint: “right_friction_wheel_joint” pid: { p: 0.001, i: 0.01, d: 0.0, i_clamp_max: 0.01, i_clamp_min: -0.01, antiwindup: true, publish_state: true } trigger: joint: “trigger_joint” pid: { p: 50.0, i: 0.0, d: 1.5, i_clamp_max: 0.0, i_clamp_min: 0.0, antiwindup: true, publish_state: true } push_per_rotation: 8 push_qd_threshold: 0.90 block_effort: 0.95

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rm_shooter_controllers

0.1.11 (2023-06-20)

  • Merge pull request #129 from ye-luo-xi-tui/master Shooter_controller would not check block when friction wheel don't rotate
  • Shooter_controller would not check block when friction wheel don't rotate.
  • Merge branch 'master' into dev/balance
  • 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 pull request #118 from ye-luo-xi-tui/master Publish shoot state
  • Publish shoot state.
  • Merge pull request #109 from ye-luo-xi-tui/master Modifier default value of forward_push_threshold and exit_push_threshold
  • Modifier default value of forward_push_threshold and exit_push_threshold.
  • 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 branch 'master' into balance_standard
  • Merge remote-tracking branch 'origin/fix_return' into fix_return
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Merge branch 'rm-controls:master' into fix_return
  • Contributors: L-SY, lsy, ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #93 from NaHCO3bc/master Fix the bug that the shooter cannot be turned from push to ready
  • Modify the name and the description of the params about push forward threshold.
  • Optimize the logic of entering the block mode.
  • Fix the bug that shooter cannot push or enter block when the position error is too big.
  • Modify the params name.
  • Modify the params about enter and exit push mode.
  • Parametric position difference of trigger.
  • Fix the bug that the shooter cannot be turned from push to ready.
  • 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

0.1.7 (2022-09-10)

  • Try two fix double shoot
  • Merge remote-tracking branch 'origin/master'
  • Fix bug of shooting if statement
  • Contributors: qiayuan

0.1.6 (2022-06-16)

  • Merge remote-tracking branch 'origin/master'
  • Contributors: qiayuan

0.1.5 (2022-06-10)

  • Add hz counting in trigger test mode.
  • Merge remote-tracking branch 'origin/master'
  • Add testing option to shooter for testing the trigger without friction wheel
  • 0.1.4
  • Merge branch 'master' into gimbal_track
  • Merge pull request #45 from mlione/master Delete some config files in rm_controllers.
  • Delete some config files in rm_controller.
  • Merge pull request #46 from ye-luo-xi-tui/master Deprecated imu_filter_controller
  • Contributors: BruceLannn, QiayuanLiao, YuuinIH, mlione, qiayuan, yezi

0.1.3 (2022-03-28)

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.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Name Deps
rm_controllers

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_shooter_controllers at Robotics Stack Exchange