0
$\begingroup$

Rosanswers logo

I'm trying to do a SLAM and navigation on a flat surface. However, 2D SLAM may result in incomplete mapping for some machines. For example, some machines would not pass through table due to its size and the place sensor is placed during navigation. So 3D map would be a better solution regarding those limitations. But the environtment is flat enough to be considered as 2D, so I want to do navigation in 2D with 3D maps. In my plan, two 2D Lidars (vertical and horizontal) and possibly additional IMU would be used. Is it thoretically possible to perform 2D navigation with 3D map?


Originally posted by anymate98 on ROS Answers with karma: 13 on 2019-10-10

Post score: 1


Original comments

Comment by darshb34 on 2021-01-10:
I think the question here is how do use NavStack's 2d path planning (NavFn or DWA) on 3d slam maps generated by cartographer or hdl_graph slam. 3D slam maps are usually .pcd files and hence we do not have "grid map" (.pgm) for path planning and for costmap2d node of NavStack.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

If your concern is getting under tables, you can set the max obstacle height to buffer into your environmental representation to just a little taller than your robot. While your cameras would see the table, since its taller than you, you dont really care. For taller robots, they might care and again just set the max obstacle height to a little more than its actual height.

It is alluring (and I constantly fall into this working in perception) to want to use all the data and have the richest representation as possible, but unless the robot needs to later interact with the table and not just navigate around it, its largely unnecessary and would make you have to implement a planner that checks validity based on height in its search as well (which isn't hard, but isnt "free" computationally).


Originally posted by stevemacenski with karma: 8272 on 2019-10-10

This answer was ACCEPTED on the original site

Post score: 3


Original comments

Comment by gvdhoorn on 2019-10-10:\

you can set the max obstacle height to buffer into your environmental representation to just a little taller than your robot.

and for users that don't know where this can be done: is there a setting for this (in any of the commonly used packages)?

Comment by stevemacenski on 2019-10-10:
Ah yes, in the obstacle, voxel, or spatiotemporal costmap_2D layers.

Comment by anymate98 on 2019-10-10:
Thaks for the tip. However, because I currently tried making 2D maps only, I'm unclear about some things. Does this answer assume that the navigation stack takes 3D maps as an input, and if it is right, in which format? Or is it just talking about 2D SLAM with .pgm and .yaml map style for localization and using 3D LaserScans for determining obstacles and putting it into the costmap while navigating? I am trying to use cartographer in SLAM (and possibly in localization, too).

Comment by stevemacenski on 2019-10-10:
it makes no assumption what so ever on the map

$\endgroup$

Your Answer

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