ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Our robot's local costmap contains false objects in a perfect ring shape around the robot. The object detection otherwise works properly within the ring. Any ideas why?

asked 2022-03-21 12:03:53 -0500

benripka gravatar image

updated 2022-04-17 10:31:27 -0500

lucasw gravatar image

I am working with the Clearpath Husky UGV. Currently I am trying to integrate an Ouster OS0 3D LiDAR sensor for object detection and avoidance using the move_base_flex node. It is working perfectly apart from the fact that it falsely identifies obstacles in a continuous ring around it's current position. This is obviously a problem as it prevents navigation to any points outside this false ring object due to no routes being found, and ruins the global costmap while the robot moves around.

A screenshot of the local costmap while the robot sits still next to a wall can be seen here https://ibb.co/3SGVk5G (Sorry, I'm new here and don't have enough points for image upload). In the image you can see many accurately identified obstacles (tables, desks, chairs, myself, etc.) and the wall being detected behind the robot. Then there is the circular pattern around the robot that is a FALSE object detection. The radius of the ring appears to be roughly the local cost map size limit. The 3D LiDAR pointcloud is not being used directly for object detection, but rather it is being converted to a 2D LaserScan type before being fed into move_base_flex. the laser scan looks good and is also seen in the local costmap screenshot provided (yellow dots). The raw point cloud coming from the LiDAR does not show this ring at all. Nor does the laser scan.

This seems like very odd behaviour to me and I was wondering if anyone has any ideas about what may be causing it? I have tried several things including reducing the size of the local costmap. When the local costmap width and height are set to < 5 the rings is no longer visible and the costmap works much better. This is a poor solution of course because such a small local map impacts performance in other ways. The ring is just hidden from view.

The local costmap configs are:

robot_base_frame: base_link
footprint: [[-0.5, -0.35], [-0.5, 0.35], [0.5, 0.35], [0.5, -0.35]]
footprint_padding: 0.01
transform_tolerance: 0.5
#If true the full costmap is published in every update
always_send_full_costmap: true

local_costmap:
  update_frequency: 10
  publish_frequency: 5
  global_frame: map
  robot_base_frame: base_link
  rolling_window: true
  width: 9.0   #lower than this will prevent the robot from going full speed
  height: 9.0
  resolution: 0.1 # 0.05 # 0.05
  plugins:
  - name: obstacles
    type: "costmap_2d::ObstacleLayer"
  - name: inflation
    type: "costmap_2d::InflationLayer"

  obstacles:
   observation_sources: laser lidar
   resolution: 0.25


  inflation:
   inflation_radius: 0.3

With the laser and lidar configs being:

  obstacles:
 lidar: {sensor_frame: velodyne, data_type: LaserScan, topic: /velodyne_scan_filtered, expected_update_rate: 0.4, 
 observation_persistence: 0.0, marking: true, clearing: true, inf_is_valid: true, max_obstacle_height: 1.2, min_obstacle_height: 
 0.45, obstacle_range: 4.5, raytrace_range: 5}

other info

I am using ROS Melodic, Ubuntu 18.04

Please let me know if I can provide any additional information. Any thoughts are appreciated :)

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2022-03-31 03:28:29 -0500

benripka gravatar image

Ah, it turns out I simply had my pointcloud_to_laserscan node producing a LaserScan that was too small in radius to satisfy the needs of my local cost map (I guess). When I increased the radius of points in the generated LaserScan the false ring obstacle disappeared. The false ring only appears when the diameter of the LaserScan drops to less than the width of the local costmap. I'll leave this up in case anyone else stumbles upon this problem :)

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2022-03-21 12:03:53 -0500

Seen: 148 times

Last updated: Mar 31 '22