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

hectorslam + navigation stack : obstacle inflation problem

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

psykokwak gravatar image

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

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/*
TrajectoryPlannerROS:
  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}




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





local_costmap:
  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

Comments

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 image psykokwak  ( 2012-08-01 04:31:37 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

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

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

Comments

1

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 image psykokwak  ( 2012-08-01 08:39:58 -0500 )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 image Roy89  ( 2012-08-01 23:21:08 -0500 )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 image psykokwak  ( 2012-08-01 23:45:27 -0500 )edit
1

"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 image Ernest  ( 2013-05-06 21:38:13 -0500 )edit

Is Hector_mapping able to explore/navigate an unknown map?

StewartHemm74 gravatar image StewartHemm74  ( 2019-02-06 13:12:28 -0500 )edit
1

@StewartHemm74 Nope, Hector_mapping cannot be used to explore/navigate an unknown map on its own. You might want to look into hector_navigation package or other exploration package like explore_lite or rrt_exploration.

jjbecomespheh gravatar image jjbecomespheh  ( 2020-07-29 02:09:49 -0500 )edit

Question Tools

3 followers

Stats

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

Seen: 2,656 times

Last updated: Jul 31 '12