why the costmaps don't clear obstacles in time when using move_base package?
Hello all, I am using gmapping and move_base to navigate and generate a map.But I ran into a problem.Becaust of the interference of external factors to laser(URG04LX),the map may take several points as obstacles.But with the robot moving ,the map updates and the points (fake obstacles) are cleared.But the costmap donot clear the points in time ,even several minutes after the map have already cleared those points.Picture 1 is the costmap and Picture2 is the map at the same time.As we can see ,the costmap take those yellow points as obstacles including those around the robot which actually has already been cleared on the map.As a result the robot was stuck and can't rotate.
I donot know if I have something wrong with configuration of costmap,so I paste the files below. baselocalplanner_params.yaml:
TrajectoryPlannerROS:
max_vel_x: 0.20
min_vel_x: 0.08
max_rotational_vel: 0.23
min_in_place_rotational_vel: 0.05
acc_lim_th: 1.05
acc_lim_x: 1.0
acc_lim_y: 1.0
holonomic_robot: false
costmapcommonparams.yaml:
obstacle_range: 5.0
raytrace_range: 5.0
footprint: [[0.5, 0.25],
[-0.3, 0.25],
[-0.3, -0.25],
[0.5, -0.25]]
inflation_radius: 0.15
observation_sources: laser_scan_sensor
laser_scan_sensor: {sensor_frame: base_laser, data_type: LaserScan, topic: scan, marking: true, clearing: true}
globalcostmapparams.yaml:
global_costmap:
global_frame: /map
robot_base_frame: base_link
update_frequency: 0.5
publish_frequency: 0.5
static_map: false
rolling_window: true
width: 190.0
height: 190.0
resolution: 0.03
localcostmapparams.yaml:
local_costmap:
global_frame: odom
robot_base_frame: base_link
update_frequency: 0.5
publish_frequency: 0.5
static_map: false
rolling_window: true
width: 3.0
height: 3.0
resolution: 0.03
move_base.launch:
<?xml version="1.0"?>
<launch>
<master auto="start"/>
<node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
<rosparam file="$(find SEU_Jolly_2dnav)/costmap_common_params.yaml" command="load" ns="global_costmap" />
<rosparam file="$(find SEU_Jolly_2dnav)/costmap_common_params.yaml" command="load" ns="local_costmap" />
<rosparam file="$(find SEU_Jolly_2dnav)/local_costmap_params.yaml" command="load" />
<rosparam file="$(find SEU_Jolly_2dnav)/global_costmap_params.yaml" command="load" />
<rosparam file="$(find SEU_Jolly_2dnav)/base_local_planner_params.yaml" command="load" />
<param name="controller_frequency" value="5.0" />
</node>
</launch>
Has anyone met the problem before?Any advice will be appreciated.Thank you very much.
Yuichi
Asked by Yuichi Chu on 2014-06-05 22:37:43 UTC
Comments
Where did the yellow points come from? Is it leftover from the localization, or from the sensors?
Asked by David Lu on 2014-06-13 12:39:23 UTC
Hi YuiChi Chu,
I have exactly same problem as yours. Did you get solution ?
Thanks.
Asked by WB on 2015-12-16 03:01:27 UTC
Same problem here. Any answers?
Asked by Usman Arif on 2016-04-09 23:26:31 UTC
I think your laser sensor cannot update map information until your robot moves. My suggestion is calling service move_base/clear_costmaps before your new navigation task. Hope it helps!
Asked by WB on 2016-04-11 02:31:36 UTC