- Global vs. local planner:
In the example there is
GlobalPlanner class which inherits from
class GlobalPlanner : public nav_core::BaseGlobalPlanner
There is also
nav_core::BaseLocalPlanner class which your plugin will inherit from.
Documentation for both classes is:
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.
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
.yaml files and provided for planner during runtime.
Algorithms that are used in ROSbot by default could be used also on turtlebot.