What Units are used by diff-drive-controller package? [closed]
Dear Ros Community,
I am trying to implement diff-drive-controller
package from Ros Controllers
. I am confused about the units it takes and publishes. This package takes speed value to calculate odom and process cmd_vel to publish speed commands.
Currently, I am sending speed values in m/s
and I am assuming that I received speed commands in m/s
. I made this assumption by considering Ros is using SI unit system. However, it also takes radius as input so it can be publishing speed commands in rad/s too. So what should I expect to receive from diff-drive-controlle
r package and what should I send as input?
Please see #q242766 (and #q311686).
I have already checked those questions. They are mentioniing about the output of
diff-drive-controller
. I wonder whether it takes rad/sec as input or m/s to calculate odometry.The controller requires
JointState
handles to read the current joint state (which it gets from yourhardware_interface
), and as everything in ROS having to do with positions, velocities, accelerations, etc (see REP-103: Standard Units of Measure and Coordinate Conventions), those handles expect to be accessing data in appropriate units. So for revolute type joints, that would berad
,rad/s
andrad/s^2
. For linear joints,m
,m/s
andm/s^2
.There is no single answer to your question, as we do not know what type of robot you are trying to configure the
diff_drive_controller
for.