I'll try to answer the questions in order.
All assuming you use the Standard move_base
structure as linked to by @gvdhoorn above.
Who generates > nav_msg/Path local planner or global planner?
Both, but actually just for visualization. Typically on something like move_base/<PLANNER>/<local_/global_>plan
topics. The local planner also generates a geometry_msgs/Twist
message which provides the commanded velocities to the robot.
If it is generated by global_planner then how local planner use it to avoid obstacle.
It is passed from the global planner to the local planner through the nav_core
Interfaces.
Can we generate customized nav_msg/Path??
Sure, as both local_planners
and global_planners
are plugins to move_base
you can write your own plugin which creates the plan in a way that you want. Some more Information about how to do this can be found in the Tutorials or here, for example.
Actually how exactly the communication happens between global planner and local planner, using what topics or messages?
As stated above, this happens through the defined nav_core
interfaces. For more Details, please refer to the API documentation on the wiki page.
Is it black box?
No, as this is, as all of ROS, OSS. Check the links to the API documentation as well as the github repos on the respective wiki pages.
I'm not sure, but it seems your question is at least partially answered by wiki/navigation/Tutorials/RobotSetup (Robot Setup section).
Is it black box?
I don't understand what you're saying. The diagram under "Robot Setup" shows a (terse) overview of the communication between various parts of the navigation stack. I don't see any black boxes.
note that global and local planner are plugins that are loaded into a single node,
move_base
. So they don't actually communicate via Topics. They both have a defined API through which the respective Information is passed. They provide Topics e.g. for visualization as well as cmds, but that is it.@mig is it through nav_core interfaces? Is there any extra information available on internet, journal or any book?
Use Google:
@mig: ROS Answers is for (new) users to get some guidance on how to approach and/or solve their problem(s).
Your contributions are very much appreciated, but I assume that if @mallikarjun knew what to search for he would've done that.
Perhaps you could extend your comment a bit and post an answer?
@gvdhoorn@mallikarjun sorry, if my comment was a bit harsh. it wasn't intended to be like that.