ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A
Ask Your Question

can hector_slam be used to create 3D models?

asked 2016-02-16 13:22:12 -0500

chukcha2 gravatar image

Hello, Does hector_slam create only 2D maps or can it be used to created 3D models as well? My data comes from a Velodyne LiDAR and I need to create a 3D model of the object that is being scanned. I am looking for the right tool to use and was not sure if hector_slam could create 3D models. If it can't and you can recommend something else, please do so :) Thank you.

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2016-02-17 01:28:59 -0500

hector_slam performs localization only in 2D, but if you combine that information with IMU data (for roll and pitch) and additional data about the z position (from prior knowledge, odometry or other sensors), it can be used for 3D mapping. This approach is used for building a 3D octomap-based map via mapping with known poses using a RGB-D sensor with our autonomous USAR robots as visible in this video.

Depending on your accuracy requirements, sensor motion and scale of environment other solutions might be worth a look. See for instance this recent video made using a Velodyne HDL-64e. ethzasl_icp_mapping also uses libpointmatcher and you could try that.

edit flag offensive delete link more


Thank you Stefan. It is not immediately clear from the video the quality of the 3D model, the resolution, etc. but I will look into libpointmatcher and ethzasl_icp_mapping. I am specifically interested in mounting VLP-16 on a drone and scanning a small building with a couple cm or better resolution.

chukcha2 gravatar image chukcha2  ( 2016-02-17 11:08:01 -0500 )edit

Hi, I'm doing something similar as you are up to. I first tried using lpm/ethzasl_icp_mapping but was disappointed by the high percentage of points that you have to filter out to get it running in realtime. I found configuring it quite hard. Please let me know if you're better at tweaking params :)

jodafo gravatar image jodafo  ( 2016-02-29 07:15:47 -0500 )edit

Also, I implemented a point to plane algo that doesnt rely on kd trees for surface normal approximation and src/tar point association. It seems to be _a_lot_ faster (>20iter, 100%pts) than lpm and doesnt deteriorate with map size . I'll try to write up the approach and release code end of next month

jodafo gravatar image jodafo  ( 2016-02-29 07:33:18 -0500 )edit

@jodafo, I haven't had a chance to try it yet. But please let me know of your results :)

chukcha2 gravatar image chukcha2  ( 2016-03-02 15:34:42 -0500 )edit

Our team is also working on 3D SLAM by modifying some existing 2D SLAM algorithm such as hector_slam, gmapping and MRPT icp-SLAM. We are not sure whether we can successfully modify hector_slam because it seems hard to add IMU data to it, neither is gmapping. Hope to see any of your progress :)

Clack gravatar image Clack  ( 2016-03-03 03:11:25 -0500 )edit

Hi Clack, how much work have you done ? have you been successful in modifying hector_slam to get a 3D SLAM ?

hashim gravatar image hashim  ( 2016-04-10 02:25:39 -0500 )edit

We've mainly focused on building a 2D SLAM system recently. However one of our teammates planned to convert 2D point cloud to 3D using data obtained by IMU. He will have this done in maybe one month. I will inform you as soon as we have a progress. And we are also curious about your idea :)

Clack gravatar image Clack  ( 2016-04-10 06:07:32 -0500 )edit

I mean the 3D point clouds are based on 2D ones obtained by the laser scanner. And IMU data are used to build a transform relationship between 2D and 3D.

Clack gravatar image Clack  ( 2016-04-10 06:11:22 -0500 )edit

answered 2016-06-27 05:38:43 -0500

hashim gravatar image

updated 2016-06-28 05:22:26 -0500

i was successful in generating a 3D map of the indoor environments (somewhat rough). I have used hector_localization and hector_mapping for localizing my robot in a 3D environment and octomapps for generating the maps. hector_localization is provided with imu messages and poseupdate topic from the hector_mapping node. Thanks to Stefan for providing the file which is linked in this answer

edit flag offensive delete link more


Can you please email me at ? I am interested in a setup much like yours and would like to see your cose / ask you questions.

ateator gravatar image ateator  ( 2016-06-27 07:44:43 -0500 )edit

@ateator, if possible, can you keep this correspondence public so that others can benefit from it too? ;) @hashim, did you use an IMU in your setup?

chukcha2 gravatar image chukcha2  ( 2016-06-27 13:09:54 -0500 )edit

yes i have used imu in the setup, but i am thinking of writing a blog or something like this on it. first see the video, there are some errors but they can be removed using a better hardware

hashim gravatar image hashim  ( 2016-06-28 05:09:12 -0500 )edit

I've generated fairly accurate 3D maps of indoor environments using hector_mapping, hector_imu_attitude_to_tf, and octomap_server using a laser scanner, ultrasonic range finder for altitude, and an IMU for orientation.

Icehawk101 gravatar image Icehawk101  ( 2016-06-29 08:29:11 -0500 )edit

Well, icehawk, is there any way we could get copies of some of your files? Possibly over email?

ateator gravatar image ateator  ( 2016-06-29 09:40:34 -0500 )edit

@Icehawk101, how do you use a range finder for measuring altitude? And yes, it would be great to see the maps you were able to generate.

chukcha2 gravatar image chukcha2  ( 2016-06-29 12:32:34 -0500 )edit

I have the ulrasonic sensor facing down to determine the range between the prototype and the ground, then I built a node that takes the pose estimate from hector_mapping, adds the height as a z value for the pose, then publishes a transform from base_footprint->base_stabilized

Icehawk101 gravatar image Icehawk101  ( 2016-06-29 13:01:31 -0500 )edit

I am trying to do a similar setup, can you guide me on how to interface hector_slam with octomap 3D?

kumar12 gravatar image kumar12  ( 2017-10-23 17:00:02 -0500 )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: 2016-02-16 13:22:12 -0500

Seen: 3,614 times

Last updated: Jun 28 '16