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

3D Slam vs. 2D Navigation

asked 2018-03-22 15:01:05 -0500

RoboRos gravatar image

updated 2018-03-22 15:12:28 -0500


It's a very basic question.

Is it possible to do 3d navigation? (robust using LIDaR). (other than rtab (focused on lidar data))

There are slam algorithms which are responsible for 3d slam (e.g octomap). But for navigation these algorithms downgrade it to 2D. In this case why should we do 3d mapping? Is there any benefit of doing so? I mean at the end if navigation is suppose to be done in 2d; what is the purpose of fancy 3d map?

Many Thanks!

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2018-03-22 16:11:54 -0500

Gayan Brahmanage gravatar image

Hi There, It is a good point to clarify. We use a map to estimate a drivable path in an environment. We can use either 2D or 3D map depending on the application what robot is designed for. If we use 3D motion planning (6 DOF), we definitely need a 3D map to avoid obstacles and reach the goal in a 3D space. However, in most wheel robot applications, a robot is driving on a 2D plane and a 2D map is sufficient to achieve navigation task. For those applications, laser scanners based mapping methods such as Gmapping can be used. In addition, if someone uses an RGB camera like Kinect for mapping, Gmaping may not give an accurate result since, RGBD sensors are low FoV and short-range sensors. But it gives an accurate result with RGBD mapping (3D). Therefore, people use an extracted 2D slice from a 3D map for 2D navigation with path planning algorithms such as A*. On the other hand, a 3D map provides details information on the environment. Also, it provides registered RGB images at each pose and they can be used for place recognition, and for other decision-making tasks based on the Visual information. Therefore, RGB sensors give more capabilities for 2D navigation.

edit flag offensive delete link more


Hi, Thanks for your response. But in case; if we are using a legged robot (not wheeled one) . During navigation; how is it suppose to benefit from the 2d map (as we downgrade the map to 2d for navigation). ?

RoboRos gravatar image RoboRos  ( 2018-03-23 05:42:00 -0500 )edit

Hi, I have a problem, Now using ORB_SLAM2 and kinect camera, I can construct the environment map, such as dense pointcloud and octomap, But I don't know how to use this map to navigate. You mentioned people use an extracted 2D slice from a 3D map for 2D navigation. Can you tell me how to use it ?

qinyingying gravatar image qinyingying  ( 2018-07-17 03:28:36 -0500 )edit

@qinyingying once you create the octomap. You can save it in 2d by running the command: rosrun map_server map_saver -f map_name.pgm + 2d_mapping_topic

RoboRos gravatar image RoboRos  ( 2018-07-22 01:30:33 -0500 )edit

Can I transfer a octomap to .pgm file by using this command?

qinyingying gravatar image qinyingying  ( 2018-07-22 02:30:33 -0500 )edit

thank you for your answer, and what's the meaning of 2d_mapping_topic?

qinyingying gravatar image qinyingying  ( 2018-07-22 02:31:54 -0500 )edit

Yes, definitely, below command will save the 2d map. Make sure that this topic is published though:

rosrun map_server map_saver -f map_name.pgm map:=projected_map

Can you please explain, how did you safe octomap using orb?

RoboRos gravatar image RoboRos  ( 2018-07-22 02:52:43 -0500 )edit

Thankk you for your answer, I will try. I using the ORB_SLAM2 to obtain keyframe, then I insert the keyframe to octomap.

qinyingying gravatar image qinyingying  ( 2018-07-22 03:23:14 -0500 )edit

I tried the map_server, but I can't transfer my octomap to .pgm, the error is Waiting for the map. And my octomap is published in this way, octo_pub = nh.advertise<octomap_msgs::octomap>("/octomap_binary", 1). Can you help me? Thank you in advance.

qinyingying gravatar image qinyingying  ( 2018-07-23 07:01:56 -0500 )edit

answered 2018-03-22 15:52:22 -0500

David Lu gravatar image

The main ros navigation stack is unable to do 3d navigation.

edit flag offensive delete link more

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: 2018-03-22 15:01:05 -0500

Seen: 4,627 times

Last updated: Mar 22 '18