Navigation stack vs. sensor with dead zone
Hi all,
I'm trying to use navigation stack with a laser scanner which gives points from at least one meter distance. Move_base works fine but, when the robot (Pioneer) is close to an obstacle, the obstacle disappear from laser data, obstacle is cleared from costmap and robot hits it. Is there any possible solution? I'm using ROS Groovy and hydro-devel branch of navigation stack.
UPDATE:
Right now, I'm working only with simulation. Value range_min seems to be filled correctly.
angle_min: -3.1400001049 angle_max: 3.1400001049 angle_increment: 0.0015335775679 time_increment: 0.0 scan_time: 0.0 range_min: 1.0 range_max: 10.0
These are my settings (not yet transformed to the new format)...
Global costmap:
global_costmap:
global_frame: odom
robot_base_frame: base_footprint
update_frequency: 5.0
publish_frequency: 2.0
static_map: false
rolling_window: true
width: 6.0
height: 6.0
resolution: 0.025
origin_x: 0.0
origin_y: 0.0
Local costmap:
local_costmap:
global_frame: odom
robot_base_frame: base_footprint
update_frequency: 5.0
publish_frequency: 2.0
static_map: false
rolling_window: true
width: 6.0
height: 6.0
resolution: 0.025
origin_x: 0.0
origin_y: 0.0
Common params:
map_type: costmap
transform_tolerance: 0.4
obstacle_range: 2.5
raytrace_range: 3.0
inflation_radius: 1.0
footprint: [[0.3,0.3],[-0.3,0.3],[-0.3,-0.3],[0.3,-0.3]]
observation_sources: velodyne_scan
velodyne_scan: {sensor_frame: velodyne_link, topic: /velodyne/scan, data_type: LaserScan, marking: true, clearing: true}
UPDATE:
It seems that nav. stack ignores range_min in LaserScan msg (https://github.com/ros-planning/navigation/blob/hydro-devel/costmap_2d/plugins/obstacle_layer.cpp#L196).
That seems true. Can you file a bug and maybe a patch?
https://github.com/ros-planning/navigation/issues/124
I'm just working on patch. Hopefully it will be useful also for others :)