0
$\begingroup$

Rosanswers logo

Hello,

Using my custom robot base, I can successfully perform autonomous navigation using either [amcl/map_server/move_base] or [gmapping/move_base]. However, I really would like to use hector_mapping for SLAM, as it seems to perform much better (less CPU, better localization). I tried two approaches, but none led to success:

OPTION 1: Use hector_mapping/move_base

This fails with the follwing error message thrown by move_base:

[ERROR] [1384155009.792804637]: Extrapolation Error: Lookup would require extrapolation into the future.  Requested time 1384155009.754343262 but the latest data is at time 1384155009.733661973, when looking up transform from frame [odom] to frame [map]

Looking at the output of rosrun tf tf_monitor, I can see the following differences between the published tf's:

hector_mapping providing /map -> /odom transform:

rosrun tf tf_monitor
Frame: odom published by /hector_mapping Average Delay: 0.0486663 Max Delay: 0.0770144

amcl providing /map -> /odom transform:

rosrun tf tf_monitor
Frame: odom published by /amcl Average Delay: -0.0532177 Max Delay: 0

This completely makes sense, as the amcl documentation states here:

The published transforms are future dated.

This explains why move_base throws the extrapolation error. The question is: How to fix it? Of course, I could add 0.1s to the tf time stamp generated by hector_mapping in the source, but then I won't get future package updates, which is not ideal. Any better suggestions how to make hector_mapping compatible with move_base?

Option 2: Use hecor_navigation package

Unfortunately, there is no documentation available for this package. As hecor_navigation only available from source, I downloaded it from here into my rosbuild workspace (package is not catkinized) and ran rosmake to compile it. This produced the following error:

[rospack] Error: package/stack 'hector_elevation_visualization' depends on non-existent package 'common_rosdeps' and rosdep claims that it is not a system dependency. Check the ROS_PACKAGE_PATH or try calling 'rosdep update'

@Stefan: Is hecor_navigation still being maintained, or is there a successor package that is compatible with Groovy or Hydro?

Thanks, Heiko


Originally posted by Huibuh on ROS Answers with karma: 399 on 2013-11-10

Post score: 3

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

We used hector_mapping with move_base before (and some other people have done so too, I think), so things really should work. Are hector_mapping and move_base running on different machines? If that´s the case, we could be looking at a time sync issue. Other than that, it looks like some tf lookup in move_base is not done properly (i.e. a wait appears to be missing). Which move_base version are you using?

As for hector_navigation: We didn´t have time to catkinize it yet (Atlas keeps me pretty busy these days), but we use it for our autonomous robot systems with Team Hector (also in groovy and hydro). Have you tried what happens when you remove the common_rosdeps dependency?


Originally posted by Stefan Kohlbrecher with karma: 24361 on 2013-11-11

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by Huibuh on 2013-11-11:
hector_mapping and move_base are running on the same machine, so I think we can rule time sync issues out.

Comment by Huibuh on 2013-11-11:
I am using the latest move_base version on Hydro, everything is up-to-date. The fact that move_base works fine if I exchange hector_mapping with amcl hints that amcl's tf future-dating is the culprit here. To confirm, I need to future-date the /map -> /odom tf provided by hector_mapping. But how?

Comment by Huibuh on 2013-11-11:
Btw., I have not found any reports anywhere of someone actually succeedig in usung hector_mapping as a amcl/gmapping replacement. Please provide a link if I missed soemthing.

Comment by Huibuh on 2013-11-12:
Regarding hector_navigation: I tried getting it to work under Hydro. Issues: 1) If I remove the common_rosdeps dependency I get ".../hector_navigation/hector_elevation_visualization/src/hector_elevation_visualization.h:16:22: fatal error: Eigen/Core: No such file or directory"

Comment by Johannes Meyer on 2013-11-12:
I removed the old common_rosdeps dependency in package hector_elevation_visualization in https://github.com/tu-darmstadt-ros-pkg/hector_navigation/commit/b8515e5672132351def92db388704844c8169529 .

Comment by Huibuh on 2013-11-12:
Awesome, I will try it out tomorrow. Cheers!

Comment by Stefan Kohlbrecher on 2013-11-12:
The guy who made this video used hector_mapping with move_base apparently: http://www.youtube.com/watch?v=5V-0Y43i0h8 We also did so with our (LIDAR equipped) Turtlebots before.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.