Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: apply upstream changes to 'setup_assistant_tutorial' tutorial #678

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified doc/setup_assistant/MoveIt_setup_assistant_launch.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_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_3d_perception.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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_arm.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 not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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_done.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.
Binary file modified doc/setup_assistant/setup_assistant_panda_planning_groups.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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_ros_control.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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_ros_control_create.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_self_collisions.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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_simulation_screen.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_virtual_joints.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_start.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
133 changes: 73 additions & 60 deletions doc/setup_assistant/setup_assistant_tutorial.rst
Original file line number Diff line number Diff line change
Expand Up @@ -49,13 +49,14 @@ Step 1: Start

.. image:: setup_assistant_start.png

* Click on the browse button and navigate to the *panda_arm_hand.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_hand.urdf.xacro on Ubuntu
with ROS Noetic.) Choose that file and then click *Load Files*. The
Setup Assistant will load the files (this might take a few seconds)
and present you with this screen:
* 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.

* 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:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest to start with a more generic formulation here and then become more specific. See my commit.


.. image:: setup_assistant_panda_100.png
:width: 700px
Expand Down Expand Up @@ -134,30 +135,27 @@ Add the arm
kinematics solver. *Note: if you have a custom robot and would
like a powerful custom IK solver, see* `Kinematics/IKFast <../ikfast/ikfast_tutorial.html>`_

* Let *Kin. Search Resolution* and *Kin. Search Timeout* stay at
* Let *Kin. Search Resolution*, *Kin. Search Timeout* and *Kin. parameters file* stay at
their default values.

.. image:: setup_assistant_panda_arm.png
:width: 700px

* Now, click on the *Add Joints* button. You will see a
list of joints on the left hand side. You need to choose all the
joints that belong to the arm and add them to the right hand
side. The joints are arranged in the order that they are stored in
an internal tree structure. This makes it easy to select a serial
chain of joints.
* 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.

* Click on **virtual_joint**, hold down the **Shift**
button on your keyboard and then click on the
*panda_joint8*. Now click on the **>** button to add these
joints into the list of selected joints on the right.
* 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.

.. image:: setup_assistant_panda_arm_joints.png
.. image:: setup_assistant_panda_arm_links.png
:width: 700px

* Click *Save* to save the selected group.

.. image:: setup_assistant_panda_arm_joints_saved.png
.. image:: setup_assistant_panda_arm_links_saved.png
:width: 700px

Add the gripper
Expand All @@ -172,11 +170,12 @@ Add the gripper

* Let *Kinematic Solver* stay at its default value; **None**.

* Let *Kin. Search Resolution* and *Kin. Search Timeout* stay at their default values.
* Let *Kin. Search Resolution*, *Kin. Search Timeout* and *Kin. parameters file* stay at
their default values.

* Click on the *Add Links* button.

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

* Click *Save*
Expand Down Expand Up @@ -223,7 +222,7 @@ some special operations to happen on them internally.

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

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

* Leave *Parent Group* blank.

Expand All @@ -241,24 +240,57 @@ directly controlled. The Panda does not have any passive
joints so we will skip this step.


Step 8: 3D Perception
--------------------------
Step 8: ROS Control
---------------------

The 3D Perception tab is meant to set the parameters of the YAML configuration file
for configuring the 3D sensors `sensors_3d.yaml`.
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_

e.g. `point_cloud` parameters:
.. _documentation: http://wiki.ros.org/ros_control

.. image:: setup_assistant_panda_3d_perception_point_cloud.png
ROS Control tab can be used to auto-generate simulated controllers to actuate the joints of your robot. This will allow us to provide the correct ROS interfaces MoveIt.

* Click on the *ROS Control* pane selector.

.. image:: setup_assistant_panda_ros_control.png
:width: 700px

For more details about those parameters please see perception pipeline `tutorial <../perception_pipeline/perception_pipeline_tutorial.html>`_
* Click on *Add Controller* and you should see the following screen:

In case of `sensors_3d.yaml` was not needed, choose `None`.
.. image:: setup_assistant_panda_ros_control_add_controller.png
:width: 700px

.. image:: setup_assistant_panda_3d_perception.png
Add the arm

* We will first add Panda arm position controller

* Enter *Controller Name* as **arm_position_controller**

* Choose **position_controllers/JointTrajectoryController** as the controller type

* Next, you have to choose the controlled joints, you can add joints individually or add all the joints in a planning group altogether.

* Now, click on *Add Planning Group Joints*.

.. image:: setup_assistant_panda_ros_control_create.png
:width: 700px

* Choose panda_arm planning group to add all the joints in that group to the arm controller.

.. image:: setup_assistant_panda_ros_control_add_joints.png
:width: 700px

* Click *Save* to save the selected controller.

Add the gripper

* Again, click on *Add Controller* to add the hand controller.

* Now also choose the **position_controllers/JointTrajectoryController** controller as the controller type
but set the *Controller Name* as **panda_hand_controller**.

* Now, click on *Add Individual Joints* and add the **panda_finger_joint1** joint.

* Finally, click *save* to save the selected controller.

Step 9: Gazebo Simulation
--------------------------
Expand All @@ -283,42 +315,24 @@ You can use the generated robot `urdf` to spawn the robot in Gazebo in the follo
:width: 700px


Step 10: ROS Control
---------------------

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_

.. _documentation: http://wiki.ros.org/ros_control
Step 10: 3D Perception
--------------------------

ROS Control tab can be used to auto generate simulated controllers to actuate the joints of your robot. This will allow us to provide the correct ROS interfaces MoveIt.
The 3D Perception tab is meant to set the parameters of the YAML configuration file
for configuring the 3D sensors `sensors_3d.yaml`.

* Click on the *ROS Control* pane selector.
e.g. `point_cloud` parameters:

.. image:: setup_assistant_panda_ros_control.png
.. image:: setup_assistant_panda_3d_perception_point_cloud.png
:width: 700px

* Click on *Add Controller* and you should see the following screen:

* We will first add Panda arm position controller

* Enter *Controller Name* as **arm_position_controller**

* Choose **position_controllers/JointPositionController** as the controller type

* Next you have to choose this controller joints, you can add joints individually or add all the joints in a planning group all together.

* Now, click on Add Planning Group Joints.

.. image:: setup_assistant_panda_ros_control_create.png
:width: 700px
For more details about those parameters please see perception pipeline `tutorial <../perception_pipeline/perception_pipeline_tutorial.html>`_

* Choose panda_arm planning group to add all the joints in that group to the arm controller.
In case of `sensors_3d.yaml` was not needed, choose `None`.

.. image:: setup_assistant_panda_ros_control_add_joints.png
.. image:: setup_assistant_panda_3d_perception.png
:width: 700px

* Click *Save* to save the selected controller.

Step 11: Add Author Information
--------------------------------

Expand Down Expand Up @@ -360,7 +374,6 @@ files that you will need to start using MoveIt
What's Next
---------------


The MoveIt RViz plugin

* Start looking at how you can use the generated configuration files
Expand Down