Only released in EOL distros:  

steer_drive_ros: steer_bot_hardware_gazebo | steer_drive_controller | stepback_and_steerturn_recovery

Package Summary

This package provides a recovery behavior for the navigation stack which steps back and proceed with a specified steer angle

Overview

The stepback_and_steerturn_recovery::StepbackAndSteerturnRecovery is designed for a robot with a car-like steering mechanism. It adheres to the nav_core::RecoveryBehavior interface found in the nav_core package and can be used as a recovery behavior plugin for the move_base node.

Flow of Recovery

The recovery behavior attempts to clear out space with a flow as follows:

1. A robot stucks, which disable the robot turn in any direction. 2. Step back for space to turn with steering. 3. Scan the navigation stack's costmaps at the point where the robot stepped back. 4. Detect the direction to the nearest obstacle and attempts to turn in the opposite direction.

stepback_and_steerturn_recovery

The plugin frequently check if there is a obstacle in the proceeding direction during recovery for protection of a robot. Detecting an obstacle at a close point to the robot make it brake and invoke local planning at the brake point.

ROS API

Published Topics

recover_run (invalid message type for MsgLink(msg/type))
  • Notification of recovery status. True when recovery is running, False otherwise.

StepbackAndSteerturnRecovery Parameters

~<name>/only_single_steering (bool, default: false)

  • True if you want to invoke just once turn.
~<name>/trial_times (int, default: 3)
  • The number of trial to recover.
~<name>/obstacle_patience (double, default: 0.3)
  • Tolerance distance [m] to obstacle.
~<name>/obstacle_check_frequency (double, default: 5.0)
  • Frequency to check obstacle during recovery.
~<name>/sim_angle_resolution (double, default: 0.1)
  • Resolution of angle [rad] to check costmap for obstacle detection. Decrease this parameter to reduce the number of access to costmap for computation efficiency.
~<name>/simulation_frequency (int, default: 5)
  • Forward simulation frequency on obstacle detection. Decrease this parameter to reduce the number of access to costmap for computation efficiency.
~<name>/linear_vel_back (double, default: -0.3)
  • Velocity of stepback [m/s].
~<name>/step_back_length (double, default: 1.0)
  • Length of stepback [m].
~<name>/step_back_timeout (double, default: 15.0)
  • Timeout [sec] of stepback.
~<name>/linear_vel_steer (double, default: 0.3)
  • Linear velocity [m/s] during turn recovery.
~<name>/angular_speed_steer (double, default: 0.3)
  • Angular speed [rad/s] during turn recovery.
~<name>/steering_timeout (double, default: 15.0)
  • Timeout [sec] of turn recovery.
~<name>/linear_vel_forward (double, default: 0.3)
  • Linear velocity [m/s] of proceeding recovery after the first turning one.
~<name>/step_forward_timeout (double)
  • Timeout of proceeding recovery after the first turning one.

TrajectoryPlannerROS Parameters

C++ API

The C++ rotate_recovery::RotateRecovery class adheres to the nav_core::RecoveryBehavior interface found in the nav_core package. For detailed documentation, please see RotateRecovery documentation.

Wiki: stepback_and_steerturn_recovery (last edited 2016-12-26 15:25:35 by MoriKen)