which node is motion planner in moveit?
BACKGROUND
This passage from book MASTER ROS FOR ROBOTICS PROGRAMMING, which explains how motion planner works in moveit raises my question:
MoveIt! can talk to the motion planners through the plugin interface. We can use any motion planner by simply changing the plugin. This method is highly extensible so we can try our own custom motion planners using this interface. The move_group node talks to the motion planner plugin via the ROS action/services. The default planner for the move_group node is OMPL ( http://ompl.kavrakilab.org/ )
To start motion planning, we should send a motion planning request to the motion planner which specified our planning requirements. The planning requirement may be setting a new goal pose of the end-effector, for example, for a pick and place operation.
We can set additional kinematic constraints for the motion planners. Given next are some inbuilt constraints in MoveIt!:
......
Using these constraints, we can send a motion planning request and the planner will generate a suitable trajectory according to the request. The move_group node will generate the suitable trajectory from the motion planner which obeys all the constraints. This can be sent to robot joint trajectory controllers
QUESTION1:
I wonder which node is motion planner in moveit?
Could u explain the above passage using the image below?
QUESTION2:
As the figure shown below, while there are nodes of action_topics in the namespace of place and pickup respectively, there is also a node of action_topics in the namespace of move_group, which seems redundant to me, there must be something I misunderstand.
QUESTION3:
What's more, they form a loop in combination with move_group and rviz, I do not quite understand how things work
Here is the rqt_graph for moveit_config demo.launch
EDIT1
Quoted from official moveit concept introduction
move_group is structured to be easily extensible - individual capabilities like pick and place, kinematics, motion planning are actually implemented as separate plugins with a common base class. The plugins are configurable using ROS through a set of ROS yaml parameters and through the use of the ROS pluginlib library. Most users will not have to configure move_group plugins since they come automatically configured in the launch files generated by the MoveIt! Setup Assistant.
QUESTION4
From above, I realize that the plugins are configured by pluginlib and yaml parameters, instead of nodes, so obviously there is no node in rqt_graph for motion planner, right?
QUESTION5
What's more, motion planner is part of the move_group node?
QUESTION6
So-called motion planning request, mentioned in many tutorials, is offered by rviz gui or user's code, right?