Error in move base : Aborting because the robot appears to be oscillating over and over. Even after executing all recovery behaviors"
I have created my navigating tracked mobile robot. When i give a simple goal to the robot in RVIZ path planning was done successfully. But the robot did not move. Instead of moving the error message was prompted after few seconds as Aborting because the robot appears to be oscillating over and over. Even after executing all recovery behaviors". Can anyone give me a proper solution for this. In here i have attached all parameter files, rqt graph of active topics and some screenshots in RVIZ.
localcostmapparams.ymail
local_costmap:
global_frame: odom
robot_base_frame: base_link
update_frequency: 5.0
publish_frequency: 2.0
static_map: false
rolling_window: true
width: 1.0
height: 1.0
resolution: 0.05
transform_tolerance: 0.5
plugins:
- {name: obstacles, type: "costmap_2d::VoxelLayer"}
- {name: inflater, type: "costmap_2d::InflationLayer"}
globalcostmapparams.yaml
global_costmap:
global_frame: /map
robot_base_frame: base_link
update_frequency: 1.0
publish_frequency: 0.5
static_map: true
transform_tolerance: 0.5
costmapcommonparams.yaml
obstacle_range: 2.5
raytrace_range: 3.0
#footprint: [[x0, y0], [x1, y1], ... [xn, yn]]
footprint: [[-0.2,-0.2],[-0.2,0.2], [0.2, 0.2], [0.2,-0.2]]
#robot_radius: 0.22545
robot_radius: 0.4002
#cost_scaling_factor and inflation_radius were now moved to the inflation_layer ns
inflation_layer:
enabled: true
cost_scaling_factor: 10.0 # exponential rate at which the obstacle cost drops off (default: 10)
inflation_radius: 0.30 # max. distance from an obstacle at which costs are incurred for planning paths.
obstacle_layer:
enabled: true
min_obstacle_height: 0.0
max_obstacle_height: 0.6
origin_z: 0.0
z_resolution: 0.2
z_voxels: 2
unknown_threshold: 15
mark_threshold: 0
combination_method: 1
track_unknown_space: true #true needed for disabling global path planning through unknown space
obstacle_range: 2.5
raytrace_range: 3.0
observation_sources: laser_scan_sensor
laser_scan_sensor: {sensor_frame: laser, data_type: LaserScan, topic: scan, marking: true, clearing: true}
dwalocalplanner_params.yaml
DWAPlannerROS:
# Robot Configuration Parameters - Kobuki
max_vel_x: 0.55 # 0.55
min_vel_x: 0.0
max_vel_y: 0.4 # diff drive robot
min_vel_y: 0.0 # diff drive robot
max_trans_vel: 0.38 # choose slightly less than the base's capability
min_trans_vel: 0.10 # this is the min trans velocity when there is negligible rotational velocity
trans_stopped_vel: 0.1
# Warning!
# do not set min_trans_vel to 0.0 otherwise dwa will always think translational velocities
# are non-negligible and small in place rotational velocities will be created.
#max_rot_vel: 5.0 # choose slightly less than the base's capability
max_rot_vel: 2.0 # Very slow for exploration!
min_rot_vel: 0.4 # this is the min angular velocity when there is negligible translational velocity
rot_stopped_vel: 0.4
acc_lim_x: 0.5 # maximum is theoretically 2.0, but we
acc_lim_theta: 2.0
acc_lim_y: 0.0 # diff drive robot
# Goal Tolerance Parameters
yaw_goal_tolerance: 0.1 # 0.05
xy_goal_tolerance: 0.15 # 0.10
# latch_xy_goal_tolerance: false
# Forward Simulation Parameters
sim_time: 1.0 # 1.7
vx_samples: 6 # 3
vy_samples: 1 # diff drive robot, there is only one sample
vtheta_samples: 20 # 20
# Trajectory Scoring Parameters
path_distance_bias: 32.0 # 32.0 - weighting for how much it should stick to the global path plan
goal_distance_bias: 24.0 # 24.0 - wighting for how much it should attempt to reach its goal
occdist_scale: 0.50 # 0.01 - weighting for how much the controller should avoid obstacles
forward_point_distance: 0.325 # 0.325 - how far along to place an additional scoring point
stop_time_buffer: 0.2 # 0.2 - amount of time a robot must stop in before colliding for a valid traj.
scaling_speed: 0.25 # 0.25 - absolute velocity at which to start scaling the robot's footprint
max_scaling_factor: 0.2 # 0.2 - how much to scale the robot's footprint when at speed.
# Oscillation Prevention Parameters
oscillation_reset_dist: 0.05 # 0.05 - how far to travel before resetting oscillation flags
# Debugging
publish_traj_pc : true
publish_cost_grid_pc: true
global_frame_id: odom
# Differential-drive robot configuration - necessary?
holonomic_robot: false
prune_plan: true # May help with Auto Explore.
move_base.launch.xml
<!--
ROS navigation stack with velocity smoother and safety (reactive) controller
-->
<launch>
<arg name="odom_frame_id" default="odom"/>
<arg name="base_frame_id" default="base_link"/>
<arg name="global_frame_id" default="map"/>
<arg name="odom_topic" default="/odom" />
<arg name="laser_topic" default="/scan" />
<arg name="vel_topic" default="cmd_vel" />
<arg name="custom_param_file" default="$(find arlobot_navigation)/param/dummy.yaml"/>
<node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
<rosparam file="$(find arlobot_navigation)/param/costmap_common_params.yaml" command="load" ns="global_costmap" />
<rosparam file="$(find arlobot_navigation)/param/costmap_common_params.yaml" command="load" ns="local_costmap" />
<rosparam file="$(find arlobot_navigation)/param/local_costmap_params.yaml" command="load" />
<rosparam file="$(find arlobot_navigation)/param/global_costmap_params.yaml" command="load" />
<rosparam file="$(find arlobot_navigation)/param/dwa_local_planner_params.yaml" command="load" />
<param name="base_local_planner" value="dwa_local_planner/DWAPlannerROS"/>
<rosparam file="$(find arlobot_navigation)/param/move_base_params.yaml" command="load" />
<rosparam file="$(find arlobot_navigation)/param/global_planner_params.yaml" command="load" />
<rosparam file="$(find arlobot_navigation)/param/navfn_global_planner_params.yaml" command="load" />
<!-- external params file that could be loaded into the move_base namespace -->
<rosparam file="$(arg custom_param_file)" command="load" />
<!-- reset frame_id parameters using user input data -->
<param name="global_costmap/global_frame" value="$(arg global_frame_id)"/>
<param name="global_costmap/robot_base_frame" value="$(arg base_frame_id)"/>
<param name="local_costmap/global_frame" value="$(arg odom_frame_id)"/>
<param name="local_costmap/robot_base_frame" value="$(arg base_frame_id)"/>
<param name="DWAPlannerROS/global_frame_id" value="$(arg odom_frame_id)"/>
<remap from="odom" to="$(arg odom_topic)"/>
<remap from="scan" to="$(arg laser_topic)"/>
<remap from="cmd_vel" to="$(arg vel_topic)"/>
</node>
</launch>
rqt graphs of active topics and nodes
RVIZ view after giving a simple goal
Error message
Velocity messeges published on the robot base by /cmd_vel topic
Can anyone help please....
Asked by channa on 2016-09-07 02:17:49 UTC
Comments
did you find a solution?
Asked by SH_Developer on 2017-05-29 09:47:41 UTC