JointVelocityController -- what are the velocity units?

asked 2019-09-28 17:06:39 -0600

horseatinweeds gravatar image

I'm confused about the input units for effort_controllers/JointVelocityController

I made an Ackermann vehicle, and I'm using this controller to spin a continuous joint. I don't see where the controller is receiving any wheel dimensions, so I thought the velocity would be one revolution per second -- but after testing with the following message, I get more like 1 revolution over 8 seconds.

rostopic pub -r 10 /ack/joint_rw_velocity_controller/command std_msgs/Float64 "data: 1.0"

What am I missing here, and is there any more detailed documentation on this sort of thing?

Thanks for any advice.

edit retag flag offensive close merge delete


Observation: robot_mechanism_controllers != ros-controls/ros_controllers.

gvdhoorn gravatar image gvdhoorn  ( 2019-09-29 06:08:53 -0600 )edit

And: please see whether #q242766 and #q323635 shed any light on this.

gvdhoorn gravatar image gvdhoorn  ( 2019-09-29 06:10:47 -0600 )edit

Hi gvdhoorn. #q242766 explains that the linear speed component for the differential drive controller is actually radians per second. But the velocity controller, it doesn't know the radius of the whee, so I'm still not sure of the units. Also, if it did, the wheel should make one revolution per 6.26 seconds, but mine is taking 8.

horseatinweeds gravatar image horseatinweeds  ( 2019-09-29 08:43:15 -0600 )edit