I am working on a robot involving holonomic drive using 4 mecanum wheels. I have the following questions:
- Is there any ros2 controller for holonomic drive (like for diff drive and Ackermann Steering Controller at https://control.ros.org/master/doc/ros2_controllers/doc/controllers_index.html)?
- If not, any idea about how is the robot at the following link https://github.com/MickySukmana/holonomic working(Although it is using omni wheels and I plan to build a different setup)?
UPDATE_1: The PR version of ros2 controllers is installed successfully on ros2 iron. I tried publishing command velocities to "/mec_cont/controller_state" topic but the bot is not moving. To which topic shall I publish command velocities to using teleop_twist_keyboard? The following topics are available when running mecanum drive controller:
/mec_cont/controller_state
/mec_cont/odometry
/mec_cont/reference
/mec_cont/tf_odometry
/mec_cont/transition_event
and in the case of diff_drive controller the following were available out of which I was publishing to "/diff_cont/cmd_vel_unstamped":
/diff_cont/cmd_vel_unstamped
/diff_cont/odom
/diff_cont/transition_event
UPDATE_2:
The robot was not performing all the movements involved in a mecanum wheel drive.
I figured out I did not passed "sum_of_robot_center_projection_on_X_Y_axis: 1.0" parameter under "kinematics:" in the controller ".yaml" file. Also make sure the joints are in perfect sequence. Example:
command_joint_names: ["front_left_wheel_joint", "back_left_wheel_joint", "back_right_wheel_joint", "front_right_wheel_joint"]