The MoveIt! Setup Assistant is a graphical user interface for configuring any robot for use with MoveIt!. Its primary function is generating a Semantic Robot Description Format (SRDF) file for your robot. Additionally, it generates other necessary configuration files for use with the MoveIt! pipeline. To learn more about the SRDF, you can go through the SRDF Overview page.
To start the MoveIt! Setup Assistant:
roslaunch moveit_setup_assistant setup_assistant.launch
This will bringup the start screen with two choices: Create New MoveIt! Configuration Package or Edit Existing MoveIt! Configuration Package.
Click on the Create New MoveIt! Configuration Package button to bring up the following screen:
The Default Self-Collision Matrix Generator searches for pairs of links on the robot that can safely be disabled from collision checking, decreasing motion planning processing time. These pairs of links are disabled when they are always in collision, never in collision, in collision in the robot’s default position or when the links are adjacent to each other on the kinematic chain. The sampling density specifies how many random robot positions to check for self collision. Higher densities require more computation time while lower densities have a higher possibility of disabling pairs that should not be disabled. The default value is 10,000 collision checks. Collision checking is done in parallel to decrease processing time.
Virtual joints are used primarily to attach the robot to the world. For the PR2 we will define only one virtual joint attaching the base_footprint of the PR2 to the odom_combined world frame. This virtual joint represents the motion of the base of the robot in a plane.
Planning groups are used for semantically describing different parts of your robot, such as defining what an arm is, or an end effector.
Now, add the left arm in a similar manner choosing the joints from the l_shoulder_pan_joint to the l_wrist_roll_joint.
The Setup Assistant allows you to add certain fixed poses into the configuration. This helps if, for example, you want to define a certain position of the robot as a Home position.
We have already added the right and left grippers of the PR2. Now, we will designate these two groups as special groups: end-effectors. Designating these groups as end effector allows some special operations to happen on them internally.
The passive joints tab is meant to allow specification of any passive joints that might exist in a robot. This tells the planners that they cannot (kinematically) plan for these joints. Examples of passive joints include passive casters. The PR2 does not have any passive joints so we will skip this step.
You are almost there. One last step - generating all the configuration files that you will need to start using MoveIt!