Skip to content

Commit d5eeb13

Browse files
committed
Slighly reword the planning group section
Also add different screenshots that more clearly display the hand of the robot, which is kind of hidden in the startup pose.
1 parent d167054 commit d5eeb13

File tree

3 files changed

+47
-27
lines changed

3 files changed

+47
-27
lines changed
7.06 KB
Loading
14.5 KB
Loading

doc/setup_assistant/setup_assistant_tutorial.rst

Lines changed: 47 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -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

118123
Planning groups are used for semantically describing different parts
119124
of 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
215228
some 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
240260
joints so we will skip this step.
241261

242262

243-
Step 8: ROS Control
263+
Step 8: Controllers
244264
---------------------
245265

246266
ROS 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

Comments
 (0)