[Documentation] [TitleIndex] [WordIndex

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))

StepbackAndSteerturnRecovery Parameters

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

~<name>/trial_times (int, default: 3) ~<name>/obstacle_patience (double, default: 0.3) ~<name>/obstacle_check_frequency (double, default: 5.0) ~<name>/sim_angle_resolution (double, default: 0.1) ~<name>/simulation_frequency (int, default: 5) ~<name>/linear_vel_back (double, default: -0.3) ~<name>/step_back_length (double, default: 1.0) ~<name>/step_back_timeout (double, default: 15.0) ~<name>/linear_vel_steer (double, default: 0.3) ~<name>/angular_speed_steer (double, default: 0.3) ~<name>/steering_timeout (double, default: 15.0) ~<name>/linear_vel_forward (double, default: 0.3) ~<name>/step_forward_timeout (double)

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.


2019-11-30 13:18