Global and local path planner

Hello,
I implemented a new algorithm for global and local path palnner in c++. I want to integrate them in ROS and use them for ROSBot.
Are there any tutorials about how to integrate a new global and local path planner in ROSBot?

Hello Eman,

General method of integrating custom path planner into ROS is covered by this ROS tutorial.

When the planner plugin is ready, you just need to overwrite default planner with yours in move_base configuration.

Regards,
Łukasz

Many thanks.
This tutorial is for global planner and for turtlebot. Is it ok to use it for local planner and for ROSbot ?

  • Global vs. local planner:

In the example there is GlobalPlanner class which inherits from nav_core::BaseGlobalPlanner

class GlobalPlanner : public nav_core::BaseGlobalPlanner

There is also nav_core::BaseLocalPlanner class which your plugin will inherit from.
Documentation for both classes is:
nav_core::BaseLocalPlanner
nav_core::BaseGlobalPlanner
To build your own local planner, you will need to make analogous adjustments as for global planner, although, methods will differ. You will probably need to read through documentation for both base classes and figure out your modifications.

  • ROSbot vs. Turtlebot:

As the move_base is designed to be modular and adjustable, all plugins, regardless if they are global or local planner are applicable for various robots with the same or similar kinematics.
Although the main idea of motion could be shared, planners usually need parameters like robot dimensions and dynamic constraints (velocity, acceleration) dedicated for specific robot. Those parameters are defined in .launch or .yaml files and provided for planner during runtime.
Algorithms that are used in ROSbot by default could be used also on turtlebot.

Regards,
Łukasz

Many thanks. Your reply was very helpful.
I installed rosbot using instructions here:

Now my global planner plugin is ready, but I cannot find move_base.launch.xml so I can edit it.
Help please.