Robotics StackExchange | Archived questions

Any good navigation package/path planner for outdoor navigation on 3D/2d-manifold uneven terrain with a skid steer robot?

I essentially want to record some waypoints across uneven terrain and then be able to retrace those waypoints by sending goals to the stack (whilst avoiding potential dynamic/static obstacles). I've been able to do this in 2D but struggling outdoors. I've been playing around with RTAB-Map using a stereo/RGB-D camera which allows you to create 2D or 3D maps which could potentially be used for navigation but still stuck on the path planning/controller side of things in 3D.

It seems 2D/flat navigation has mostly been solved and improved by now with the standard ros navigation stack (move_base) and other extensions/projects such as locus' robot_navigation, movebaseflex and GeRoNA.

Are there any similar projects for navigation in 3D/outdoor terrain/slopes with a wheeled robot, as movebase will only work in 2D (or is there a way of using movebase for 3D/2D-manifold)?

I'm aware that the Navigation 2 stack in ROS2 is planning to implement gridmap to replace costmap2D and potentially make "3D" navigation easier but I'm currently still on ROS1. The only other scenarios I've seen of movebase being used in 3D is with RTAB-Map Stereo Outdoor Navigation and the DARPA SubT Virtual Challenge Tutorial, but I've tried using that approach but it is not ideal.

I think it might be possible to use movebaseflex with grid_maps and elevation_mapping to achieve navigation in 3D but haven't found any implementation anywhere yet (movebaseflex seem to be planning to release an implementation with gridmaps in January source). mesh_navigation is the closest thing I found to what I want to do (other than Nav2), it works with movebase flex but doesn't have dynamic obstacle avoidance yet, not sure if anyone has experience with this package? Any pros/cons to using triangular meshes? (Seems like triangular meshes would be able to represent multi-level/story terrain whilst grid_map wouldn't).

I've seen some projects using MoveIt and OMPL to implement eg. a RRT planner but not sure if this is the best approach/will be too complicated? 3D planners which use Octomap/Voxblox seem to very popular in UAV and Legged Robotics research, I imagine they would be extensible to ground robots but feels like it might be complicated. Eg. GBPlanner, FASTER, INDIRES_Navigation.

This seems to be a field that is very much still in development and the Nav2 stack seems the easiest solution in the long term but is not quite there yet, so if anyone knows of any packages for local and global path planning with ground robots on 3D surfaces or tips on how to implement the planners or approach the problem any help will be appreciated!

Asked by jorgemia on 2020-11-20 04:29:13 UTC

Comments

Answers