Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

I agree the issue is how the laser represents out of range values. I had success in setting the out of range values to slightly less than max_range by using a filter. I used the laser filters package and edited range_filter.h to replace with the value I wanted (4.9 was my replaced out of range value). Remember to catkin_make and source setup.bash after making these changes. Need to then add a remap from "scan" to "scan_filtered" in the launch file you're using.

The other important step is to check the raytrace_range parameter in costmap_common_params.yaml is greater than your replaced out of range value. As the previous answer mentioned, without this, your obstacles will not be cleared when detecting out of range.

Also check the the obstacle_range parameter, which is also in costmap_common_params.yaml is less than your raytrace_range parameter.

My config:

  • Laser: Neato XV_11 Lidar
  • Range: 0.06 to 5.0 m
  • Default out of range value: 0.05999 (this can be checked through rostopic echo /scan. Note - this value of 0.05999 will not clear obstacles behind it)
  • Parameters: replaced out of range value = 4.5, raytrace_range = 5.0, obstacle_range = 4.0.