In **moveit_commander.move_group.MoveGroupCommander** [class source code](http://docs.ros.org/jade/api/moveit_commander/html/move__group_8py_source.html),
In line 40,
> from moveit_ros_planning_interface import _moveit_move_group_interface
It raises my curiosity to find it out what it is.
Then I **search moveit_ros_planning_interface trying to find more about this API**,
**however, I cannot find more about it**
In [ros index website,](http://rosindex.github.io/p/moveit_ros_planning_interface/)I click **API doc** on the right,
then click [**namespace**](http://docs.ros.org/indigo/api/moveit_ros_planning_interface/html/namespaces.html) and find **moveit_ros_planning_interface**
However, when I click **moveit_ros_planning_interface** , it only appears [**planning_interface**](http://docs.ros.org/indigo/api/moveit_ros_planning_interface/html/namespacemoveit__ros__planning__interface.html),
I click it , and it links me to [**ros.org**](http://wiki.ros.org/planning_interface) but it tells me
> This page does not exist yet.
**Q1:**
How can I find more info about **moveit_ros_planning_interface** and **_moveit_move_group_interface** within it?
**Q2:**

As figure shows, why do both **planning_interface and py_bindings_tools** have **parent namespace moveit**, while **moveit_ros_planning_interface** do not?
**Q3:**
In [moveit_ros repos](http://rosindex.github.io/r/moveit_ros/github-ros-planning-moveit_ros/), it says,
> MoveIt ROS
This repository includes
> components of MoveIt that use ROS.
> This is where much of the
> functionality MoveIt provides it put
> together. Libraries from MoveIt Core
> and various plugins are used to
> provide that functionality. - planning
> - planning interfaces - benchmarking - manipulation - visualization
Now I am **confused with the concept of package and API**, what is moveit_ros_planning_interface exactly?
**Q4:**
In **moveit_commander.move_group.MoveGroupCommander** [class source code](http://docs.ros.org/jade/api/moveit_commander/html/move__group_8py_source.html),
00044 class MoveGroupCommander(object):
00045 """
00046 Execution of simple commands for a particular group
00047 """
00048
00049 def __init__(self, name, robot_description="robot_description"):
00050 """ Specify the group name for which to construct this commander instance. Throws an exception if there is an initialization error. """
00051 self._g = _moveit_move_group_interface.MoveGroup(name, robot_description)
Why there is **._g** in __init__function ?
↧