Ask Your Question

hectorslam + navigation stack : obstacle inflation problem

asked 2012-07-31 08:44:05 -0600

psykokwak gravatar image

updated 2014-01-28 17:13:12 -0600

ngrennan gravatar image

Hi, I'm trying to use hectorslam in conjuction with the navigation stack for automatic map exploration. My robot has odometry and laser sensors. Hectorslam works well (with joystick teleop by exemple) but I have some problems with the navigation stack. First of all, my robot has some problem to move because some wrong obstacle detection. Here a screenshot of my rviz output that shows inflated obstacles. There is inflated obstacles in the unknown areas. I don't understand why : image description

Following the navigation tutorial it shouldn't have inflated obstacle in unknown spaces : image description

Here, my navigation configuration files :

psykokwak@robot:~/ros/workspace$ cat arobot/config/*
  max_vel_x: 0.45
  min_vel_x: 0.1
  max_rotational_vel: 1.0
  min_in_place_rotational_vel: 0.4

  acc_lim_th: 3.2
  acc_lim_x: 2.5
  acc_lim_y: 2.5

  holonomic_robot: false
  meter_scoring: true

obstacle_range: 2.5
raytrace_range: 3.0
footprint: [[0.2, 0.2], [0.2, -0.2], [-0.2, -0.2], [-0.2, 0.2]]
inflation_radius: 0.50

observation_sources: laser_scan_sensor

laser_scan_sensor: {sensor_frame: /laser, data_type: LaserScan, topic: /scan, marking: true, clearing: true}

  map_type: voxel
  global_frame: /map
  robot_base_frame: /base_link
  update_frequency: 1.0
  static_map: true

  map_type: voxel
  global_frame: /odom
  robot_base_frame: /base_link
  update_frequency: 5.0
  publish_frequency: 5.0
  static_map: false
  rolling_window: true
  width: 3.0
  height: 3.0
  resolution: 0.02

An other problem I have : My computer is an Intel core i5 and the "move_base" process take 40/50%... For comparaison, the "hector_mapping" process take only 10%...

edit retag flag offensive close merge delete


So, the local costmap does not take care of the map provided by hector/gmapping but takes care of the map provided by the map server ? Where is the difference ?

psykokwak gravatar imagepsykokwak ( 2012-08-01 04:31:37 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2012-07-31 20:31:52 -0600

Roy89 gravatar image

The navigation stack creates a set of costmaps directly from the lasers scan data and not the map created with hector or gmapping. The laserscan data may indicate a wall and this is loaded into the costmap to create the inflated obstacles. If the map from hector has not been updated yet then the inflated obstacle costmap may lie partly in unknown space. This creates problems when using hector or gmapping with the navigation and exploration packages due to the differences between the costmaps and the map. I'm not sure if anyone has figured out a way to solve this yet. The navigation tutorial uses a fully made map provided by the map server so there is less discrepancies between the costmaps and the map.

edit flag offensive delete link more



I tried with a map server and AMCL and same problems : CPU overload with "[ WARN] [1343846310.236981111]: Control loop missed its desired rate of 20.0000Hz... the loop actually took 0.0671 seconds" message error and obstacles and inflated obstacles on local costmap are wrong...

psykokwak gravatar imagepsykokwak ( 2012-08-01 08:39:58 -0600 )edit

You can change the desired rate to a lower value so you don't get a warning anymore in the yaml files for the costmap settings. What do you mean the costmaps are wrong completely wrong or just lying in unknown_space?

Roy89 gravatar imageRoy89 ( 2012-08-01 23:21:08 -0600 )edit

just lying in unknown space and known space when the robot is lost (is it because it computes obstacles from map too ?). I've made some progress. But I don't understand why this module overloads my core i5.

psykokwak gravatar imagepsykokwak ( 2012-08-01 23:45:27 -0600 )edit

"The laserscan data may indicate a wall and this is loaded into the costmap to create the inflated obstacles." Won't that only happen if AMCL is running? With hector_mapping, AMCL isn't necessary because odom is already provided - right?

Ernest gravatar imageErnest ( 2013-05-06 21:38:13 -0600 )edit

Is Hector_mapping able to explore/navigate an unknown map?

StewartHemm74 gravatar imageStewartHemm74 ( 2019-02-06 13:12:28 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2012-07-31 08:44:05 -0600

Seen: 2,340 times

Last updated: Jul 31 '12