New in navigation ROS Diamondback, navigation_experimental ROS CTurtle
The move_slow_and_clear::MoveSlowAndClear is a simple recovery behavior that clears information in the costmap and then limits the speed of the robot. Note, this recovery behavior is not truly safe, the robot may hit things, it'll just happen at a user-specified speed. Also, this recovery behavior is only compatible with local planners that allow maximum speeds to be set via dynamic_reconfigure such as the dwa_local_planner.
The move_slow_and_clear::MoveSlowAndClear object exposes its functionality as a C++ ROS Wrapper. It operates within a ROS namespace (assumed to be name from here on) specified on initialization. It adheres to the nav_core::RecoveryBehavior interface found in the nav_core package.
- The C++ API is stable.
- The ROS API is stable.
~<name>/clearing_distance (double, default: 0.5)
- The radius away from the robot in meters inside of which obstacles will be cleared.
- The translational speed in meters/second the robot will be limited to while executing this recovery behavior.
- The rotational speed in radians/second the robot will be limited to while executing this recovery behavior.
- The distance in meters the robot must move before the speed restrictions are lifted.
- The name of the planner to reconfigure parameters on. Specifically the max_trans_vel and max_rot_vel parameters will be reconfigured within this namespace.
The C++ move_slow_and_clear::MoveSlowAndClear class adheres to the nav_core::RecoveryBehavior interface found in the nav_core package. For detailed documentation, please see MoveSlowAndClear Documentation.
To use move_slow_and_clear, add the following lines in your move base yaml file:
- name: 'move_slow_and_clear'