Using RTAB-MAP Path Planning for autonomous navigation in 3D

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Using RTAB-MAP Path Planning for autonomous navigation in 3D

Harsha
This post was updated on .
 I have a ARDrone with a RGB-D camera attached on top of it in gazebo simulator. I am able to use rtabmap_ros to create a map of my room by moving the drone manually (using keyboard).  Now I need to make the mapping autonomous. For this I'll need to generate goals (I'll be using Frontier based Exploration for this) and I also need to be able to make the drone navigate to the goal autonomously. Can I do the navigation part just using RTAB-MAP?

 I see that when a goal is given to the topic 'rtabmap/goal' a corresponding global and local path is generated. But when I visualize the global path in RViz, the global path is passing through the spaces in between the the points of the map that is generated by RTAB-MAP (i.e. is through obstacles that are mapped). How do I do obstacle avoidance using the in-built path planner in RTAB-MAP?

If the global path is correct, and the local path gives waypoints along the local path, I can command the drone to move to the waypoints (the drone moves using a PID controller)

Could you also give a brief overview of how the global/local path planning in RTAB-MAP works?
Reply | Threaded
Open this post in threaded view
|

Re: Using RTAB-MAP Path Planning for autonomous navigation in 3D

matlabbe
Administrator
Hi,

rtabmap does topological planning with its graph. The global path would be all nodes to be traversed on the map's graph to reach the goal. The local graph is the upcoming nodes (up to RGBD/LocalRadius, default 10 meters) that should be loaded in Working Memory so that the robot can localize on the path.

In this topological planning, there is no explicit obstacle detection (the grid map is not used), it is just assumed that poses on the graph are cleared from obstacle (which should be the case if the robot moved on  these particular locations). Normally, rtabmap planning would be integrated on top of move_base navigation for metric planning, which will do obstacle avoidance using the grid map generated by rtabmap. rtabmap sends goals to move_base, then move_base sends velocity commands to robot controller.

Note that you can also send goals directly to move_base.

cheers,
Mathieu