|
rm_controllers
|
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
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.
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.To install all packages from this repository as Debian packages use
or better use rosdep:
command (rm_msgs/ShootCmd)
Commands of controller state, bullet speed, frequency of shooting.
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).
Please report bugs and request features using the Issue Tracker .