Skip to content

Commit

Permalink
Slighly reword the planning group section
Browse files Browse the repository at this point in the history
Also add different screenshots that more clearly display the hand
of the robot, which is kind of hidden in the startup pose.
  • Loading branch information
rhaschke committed Nov 10, 2021
1 parent d167054 commit d5eeb13
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 27 deletions.
Binary file modified doc/setup_assistant/setup_assistant_panda_100.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/setup_assistant/setup_assistant_panda_end_effector_add.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
74 changes: 47 additions & 27 deletions doc/setup_assistant/setup_assistant_tutorial.rst
Original file line number Diff line number Diff line change
Expand Up @@ -49,14 +49,19 @@ Step 1: Start

.. image:: setup_assistant_start.png

* Click on the browse button and navigate to the *panda_arm.urdf.xacro* file
installed when you installed the Franka package above. (This file gets installed in
``/opt/ros/noetic/share/franka_description/robots/panda_arm.urdf.xacro`` on Ubuntu
with ROS Noetic) Choose that file.
* Click on the browse button and navigate to the ``.urdf`` file of your robot.
MoveIt Setup Assistant supports both, plain ``.urdf`` files as well as ``.urdf.xacro`` files
that require the `xacro <http://wiki.ros.org/xacro>`_ pre-processor to generate the final URDF.

* Now add **hand:=true** as the *optional xacro arguments and then click *Load Files*.
The Setup Assistant will load the files (this might take a few seconds) and present
you with this screen:
For the Panda robot, the file is called ``panda_arm.urdf.xacro`` provided by the ``franka_description``
package, located in ``/opt/ros/noetic/share/franka_description/robots/panda_arm.urdf.xacro`` when installed
from the ROS Noetic package repository as done above.

* Optionally, enter xacro commandline parameters to steer the URDF generation process.
For the Panda, you should add **hand:=true** to enable creation of both arm *and* hand.

* Finally, click *Load Files*. The Setup Assistant will load the files (this might take a few seconds) and present
you with this screen, showing the robot in a default pose with all joints at the center of their range:

.. image:: setup_assistant_panda_100.png
:width: 700px
Expand Down Expand Up @@ -117,6 +122,10 @@ Step 4: Add Planning Groups

Planning groups are used for semantically describing different parts
of your robot, such as defining what an arm is, or an end effector.
A planning group essentially defines which joints will actively participate in
motion generation, what are reference frames for inverse kinematics, etc.

In the following, we will define two planning groups for the arm and one group for the hand.

* Click on the *Planning Groups* pane selector.

Expand All @@ -125,9 +134,8 @@ of your robot, such as defining what an arm is, or an end effector.
.. image:: setup_assistant_panda_planning_groups.png
:width: 700px

Add the arm

* We will first add Panda arm as a planning group
* We will first add ``panda_arm`` as a planning group

* Enter *Group Name* as **panda_arm**

Expand All @@ -141,14 +149,15 @@ Add the arm
.. image:: setup_assistant_panda_arm.png
:width: 700px

* Now, click on the *Add Kin. Chain* button. Click the *Expand All* button. You will see a
list of links on the left-hand side. The links are arranged in the order that they are stored in
an internal tree structure.
* Groups can be define in various ways. Here, we prefer defining the group via a kinematic chain,
i.e. defining its first and last link along the chain.
Thus, click on the *Add Kin. Chain* button and, on the next pane, click the *Expand All* button to see the full
kinematic tree of your robot.

* Click on the **panda_link0** link and press the *Choose Selected* button next to the
Base link text field.
* Click on the **panda_tool** link and press the *Choose Selected* button next to the
Tip link text field.
**Base link** text field.
* Click on the **panda_link8** link and press the *Choose Selected* button next to the
**Tip link** text field.

.. image:: setup_assistant_panda_arm_links.png
:width: 700px
Expand All @@ -158,11 +167,15 @@ Add the arm
.. image:: setup_assistant_panda_arm_links_saved.png
:width: 700px

Add the gripper
Repeat this procedure for another arm group, called ``manipulator``, ranging from base link ``panda_link0``
to tip link ``panda_hand_tcp``. While ``panda_link8`` defines the tool mount frame of the Panda, the virtual frame
``panda_hand_tcp`` defines the tool center point between the two gripper flanges. Both frames have a different orientation
as well, ``panda_hand_tcp`` being aligned with the hand.

Add the ``hand`` group

* We will also add a group for the end
effector. NOTE that you will do this using a different procedure
than adding the arm.
* We will also add a group for the end effector.
NOTE that you will do this using a slightly different procedure than adding the arm.

* Click on the *Add Group* button.

Expand All @@ -175,7 +188,7 @@ Add the gripper

* Click on the *Add Links* button.

* Choose **panda_hand**, **panda_leftfinger**, **panda_rightfinger** and **panda_hand_coarse* and add them
* Choose **panda_hand**, **panda_leftfinger**, and **panda_rightfinger** and add them
to the list of *Selected Links* on the right hand side.

* Click *Save*
Expand Down Expand Up @@ -206,12 +219,12 @@ certain position of the robot as a **Home** position.
.. image:: setup_assistant_panda_saved_poses.png
:width: 700px

Step 6: Label End Effectors
Step 6: Add End Effectors
---------------------------

We have already added the gripper of the Panda. Now, we
will designate this group as a special group:
**end effectors**. Designating this group as end effectors allows
We have already added the gripper of the Panda as a planning group. Now, we
will designate this group as a special group, an **end effector**.
Designating the group as an end effector allows
some special operations to happen on them internally.

* Click on the *End Effectors* pane.
Expand All @@ -222,9 +235,16 @@ some special operations to happen on them internally.

* Select **hand** as the *End Effector Group*.

* Select **panda_tool** as the *Parent Link* for this end-effector.
* Select **panda_link8** as the *Parent Link* and **panda_arm** as the *Parent Group* for this end-effector.

Add another end effector group, called **hand_tcp**, using **manipulator** as its parent group
and **panda_hand_tcp** as its parent link. Thus, the two arm planning groups essentially differ in
their associated end effector as well as the corresponding end-effector link = parent link.
Thus they will provide different interactive markers to steer the robot in Cartesian space.

* Leave *Parent Group* blank.
Note, that it is possible to associate several end effector groups to a single parent group.
If you select such a planning group for planning, *all* associated interactive markers will be provided
to steer the arm - potentially using different end-effector reference frames.

.. image:: setup_assistant_panda_end_effector_add.png
:width: 700px
Expand All @@ -240,7 +260,7 @@ directly controlled. The Panda does not have any passive
joints so we will skip this step.


Step 8: ROS Control
Step 8: Controllers
---------------------

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_
Expand Down

0 comments on commit d5eeb13

Please sign in to comment.