@@ -49,14 +49,19 @@ Step 1: Start
4949
5050.. image :: setup_assistant_start.png
5151
52- * Click on the browse button and navigate to the *panda_arm.urdf.xacro * file
53- installed when you installed the Franka package above. (This file gets installed in
54- ``/opt/ros/noetic/share/franka_description/robots/panda_arm.urdf.xacro `` on Ubuntu
55- with ROS Noetic) Choose that file.
52+ * Click on the browse button and navigate to the ``.urdf `` file of your robot.
53+ MoveIt Setup Assistant supports both, plain ``.urdf `` files as well as ``.urdf.xacro `` files
54+ that require the `xacro <http://wiki.ros.org/xacro >`_ pre-processor to generate the final URDF.
5655
57- * Now add **hand:=true ** as the *optional xacro arguments and then click *Load Files *.
58- The Setup Assistant will load the files (this might take a few seconds) and present
59- you with this screen:
56+ For the Panda robot, the file is called ``panda_arm.urdf.xacro `` provided by the ``franka_description ``
57+ package, located in ``/opt/ros/noetic/share/franka_description/robots/panda_arm.urdf.xacro `` when installed
58+ from the ROS Noetic package repository as done above.
59+
60+ * Optionally, enter xacro commandline parameters to steer the URDF generation process.
61+ For the Panda, you should add **hand:=true ** to enable creation of both arm *and * hand.
62+
63+ * Finally, click *Load Files *. The Setup Assistant will load the files (this might take a few seconds) and present
64+ you with this screen, showing the robot in a default pose with all joints at the center of their range:
6065
6166.. image :: setup_assistant_panda_100.png
6267 :width: 700px
@@ -117,6 +122,10 @@ Step 4: Add Planning Groups
117122
118123Planning groups are used for semantically describing different parts
119124of your robot, such as defining what an arm is, or an end effector.
125+ A planning group essentially defines which joints will actively participate in
126+ motion generation, what are reference frames for inverse kinematics, etc.
127+
128+ In the following, we will define two planning groups for the arm and one group for the hand.
120129
121130* Click on the *Planning Groups * pane selector.
122131
@@ -125,9 +134,8 @@ of your robot, such as defining what an arm is, or an end effector.
125134.. image :: setup_assistant_panda_planning_groups.png
126135 :width: 700px
127136
128- Add the arm
129137
130- * We will first add Panda arm as a planning group
138+ * We will first add `` panda_arm `` as a planning group
131139
132140 * Enter *Group Name * as **panda_arm **
133141
@@ -141,14 +149,15 @@ Add the arm
141149.. image :: setup_assistant_panda_arm.png
142150 :width: 700px
143151
144- * Now, click on the *Add Kin. Chain * button. Click the *Expand All * button. You will see a
145- list of links on the left-hand side. The links are arranged in the order that they are stored in
146- an internal tree structure.
152+ * Groups can be define in various ways. Here, we prefer defining the group via a kinematic chain,
153+ i.e. defining its first and last link along the chain.
154+ Thus, click on the *Add Kin. Chain * button and, on the next pane, click the *Expand All * button to see the full
155+ kinematic tree of your robot.
147156
148157 * Click on the **panda_link0 ** link and press the *Choose Selected * button next to the
149- Base link text field.
150- * Click on the **panda_tool ** link and press the *Choose Selected * button next to the
151- Tip link text field.
158+ ** Base link ** text field.
159+ * Click on the **panda_link8 ** link and press the *Choose Selected * button next to the
160+ ** Tip link ** text field.
152161
153162.. image :: setup_assistant_panda_arm_links.png
154163 :width: 700px
@@ -158,11 +167,15 @@ Add the arm
158167.. image :: setup_assistant_panda_arm_links_saved.png
159168 :width: 700px
160169
161- Add the gripper
170+ Repeat this procedure for another arm group, called ``manipulator ``, ranging from base link ``panda_link0 ``
171+ to tip link ``panda_hand_tcp ``. While ``panda_link8 `` defines the tool mount frame of the Panda, the virtual frame
172+ ``panda_hand_tcp `` defines the tool center point between the two gripper flanges. Both frames have a different orientation
173+ as well, ``panda_hand_tcp `` being aligned with the hand.
174+
175+ Add the ``hand `` group
162176
163- * We will also add a group for the end
164- effector. NOTE that you will do this using a different procedure
165- than adding the arm.
177+ * We will also add a group for the end effector.
178+ NOTE that you will do this using a slightly different procedure than adding the arm.
166179
167180 * Click on the *Add Group * button.
168181
@@ -175,7 +188,7 @@ Add the gripper
175188
176189 * Click on the *Add Links * button.
177190
178- * Choose **panda_hand **, **panda_leftfinger **, ** panda_rightfinger ** and **panda_hand_coarse * and add them
191+ * Choose **panda_hand **, **panda_leftfinger **, and **panda_rightfinger * * and add them
179192 to the list of *Selected Links * on the right hand side.
180193
181194 * Click *Save *
@@ -206,12 +219,12 @@ certain position of the robot as a **Home** position.
206219.. image :: setup_assistant_panda_saved_poses.png
207220 :width: 700px
208221
209- Step 6: Label End Effectors
222+ Step 6: Add End Effectors
210223---------------------------
211224
212- We have already added the gripper of the Panda. Now, we
213- will designate this group as a special group:
214- ** end effectors **. Designating this group as end effectors allows
225+ We have already added the gripper of the Panda as a planning group . Now, we
226+ will designate this group as a special group, an ** end effector **.
227+ Designating the group as an end effector allows
215228some special operations to happen on them internally.
216229
217230* Click on the *End Effectors * pane.
@@ -222,9 +235,16 @@ some special operations to happen on them internally.
222235
223236* Select **hand ** as the *End Effector Group *.
224237
225- * Select **panda_tool ** as the *Parent Link * for this end-effector.
238+ * Select **panda_link8 ** as the *Parent Link * and **panda_arm ** as the *Parent Group * for this end-effector.
239+
240+ Add another end effector group, called **hand_tcp **, using **manipulator ** as its parent group
241+ and **panda_hand_tcp ** as its parent link. Thus, the two arm planning groups essentially differ in
242+ their associated end effector as well as the corresponding end-effector link = parent link.
243+ Thus they will provide different interactive markers to steer the robot in Cartesian space.
226244
227- * Leave *Parent Group * blank.
245+ Note, that it is possible to associate several end effector groups to a single parent group.
246+ If you select such a planning group for planning, *all * associated interactive markers will be provided
247+ to steer the arm - potentially using different end-effector reference frames.
228248
229249.. image :: setup_assistant_panda_end_effector_add.png
230250 :width: 700px
@@ -240,7 +260,7 @@ directly controlled. The Panda does not have any passive
240260joints so we will skip this step.
241261
242262
243- Step 8: ROS Control
263+ Step 8: Controllers
244264---------------------
245265
246266ROS Control is a set of packages that include controller interfaces, controller managers, transmissions and hardware_interfaces, for more details please look at `ros_control ` documentation _
0 commit comments