ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

One key thing to remember is that some robots (notably the PR2) can move in both x and y directions, so many of the parameters allow for translation in both x and y. Your robot can only move in x.

min_vel_x is the minimum value the robot will generate in the x direction.. If the value is negative, then the robot could drive backwards.

If you have a holonomic robot, that value may be 0.0 to allowed to be 0 to allow for pure translation in the Y direction. However, if you allow for both the x velocity and y velocity to be zero, it may choose a velocity of 0 in BOTH directions. That is often times unproductive, so you want to make sure its translating in some direction. That is what min_trans_vel is for. However, with non-holonomic robots, it doesn't make much difference.

min_rot_vel serves the same general function, but there's only one way to turn.

trans_stopped_vel is only used at the end of your navigation when the robot is stopping. At this point, you do want to command your robot at a speed less than your min_vel_x. trans_stopped_vel is the velocity at which we consider the robot to be "stopped" , and when it is stopped, then we can mark the goal as succeeded. Similarly rot_stopped_vel

There exists code to have your robot prefer to move forward, but its not actually used anywhere IIRC.

I don't believe min_in_place_vel_theta is used by DWA.

There may be additional ros2 related answers here