Tutorial 8: Generate Robot Configuration File#

Learning Objectives#

This is the third manipulator tutorial in a series of four tutorials. This tutorial will show you how to generate the robot configuration file for the UR10e robot from Universal Robots and the 2F-140 gripper from Robotiq. These robot configuration files provides information about the robot’s kinematics, dynamics, and other properties that are used in RMPFlow, CuMotion, and Lula kinematics solvers.

30 Minutes Tutorial

Prerequisites#

Note

If you have not completed the previous tutorial, you can find the prebuilt asset in the content browser at Isaac Sim/Samples/Rigging/Manipulator/Configure_Manipulator/ur10e/ur/ur_gripper.usd.

Generate Robot URDF#

Generate the robot URDF file from the UR10e robot and the 2F-140 gripper.

Enable the Isaac Sim USD to URDF Exporter Extension#

  1. Go to Window > Extensions.

  2. Type URDF in the search box, and find the Isaac Sim USD to URDF Exporter Extension.

  3. If you can’t find it, remove the @feature filter from the search box.

  4. Enable the extension by clicking the toggle button labeled ENABLE.

  5. Check the box for AUTOLOAD, just to the right of ENABLE.

Export the URDF File#

  1. Open the ur_gripper.usd asset you made in the previous tutorial, or use the completed asset provided above.

  2. Click File > Export URDF.

  3. In File name on the bottom left corner, save the file name to ur_gripper.urdf.

  4. In the Mesh Directory Path field, select the correct folder path to save the URDF meshes.

  5. Click Export.

../_images/isim_5.0_full_tut_gui_export_urdf.png

Note

Learn more about the USD to URDF Exporter Extension in the USD to URDF Exporter Extension manual.

Generate Lula Robot Description Files and Collision Spheres#

Generate the Lula robot description files and collision spheres for the UR10e robot and the 2F-140 gripper.

Enable the Isaac Sim Lula Extension#

  1. Go to Window > Extensions.

  2. Type Lula in the search box, and find the Isaac Sim Lula Extension.

  3. If you can’t find it, remove the @feature filter from the search box.

  4. Enable the extension by clicking the toggle button labeled ENABLE.

  5. Check the box for AUTOLOAD, just to the right of ENABLE.

Prepare the robot asset for Lula#

The lula robot description editor currently does not support instantiable meshes, so we need to prepare the robot asset for Lula by removing the instantiable meshes.

  1. Open the ur_gripper.usd asset you made in the previous tutorial, or use the completed asset provided above.

  2. Select all visuals and collisions prims on the stage, on the property editor, uncheck the Instantiable field

    Hint

    You can use the search feature to find the visuals and collisions prims by searching for visuals and collisions respectively.

Note

The completed asset for this tutorial can be found in the content browser at Isaac Sim/Samples/Rigging/Manipulator/configure_manipulator/ur10e/ur/ur_gripper_lula.usd.

Configure Joints in Lula Robot Description Editor#

  1. Press PLAY to start the simulation.

  2. Click Tools > Lula Robot Description Editor.

  3. In the Selection Panel, select the ur articulation.

  4. Go down to the Set Joint Properties section.

  5. For each of the Universal Robots joints, set the Joint Status to Active Joint, keep the other settings as default.

  6. Keep the Robotiq 2F-140 gripper joints as Fixed Joint, so the robotics controller will not attempt to move the gripper joints to optimize for the robot position.

Hint

The gripper and arm usually are controlled separately. Since lula framework does not actually control the gripper during collision checking, so cspace does not need to include the gripper joints.

Important

Do not stop the simulation, you will need it to generate the collision spheres.

../_images/isim_5.0_full_tut_gui_lula_robot_description_editor.png

Hint

Pay attention to the default values of the joints in cspace_to_urdf_rules. They should be the same positions with the initial pose in the manipulator USD, or you need to reset the robot joint positions to these initial positions during task initialization.

Generate Collision Spheres#

  1. Do not stop the simulation, or exit the Lula Robot Description Editor, or you will need to redo the previous steps.

  2. Go down to the Link Sphere editor section.

  3. For each of the robot links that you want ot generate collision spheres for, in the Selection Panel/Select link, select the link. We will use upper_arm_link as an example.

  4. In the Link Sphere editor/Generate Spheres/Select Mesh dropdown menu, select the mesh that the collision spheres are based on. For example, select /collisions/upperarm/mesh.

  5. Set the Radius Offset to 0.03. This is the offset between the mesh radius and the collision sphere radius.

  6. Set the Number of Spheres to 8. This is the number of collision spheres to generate. Validate that you see 8 red spheres on the upper_arm_link.

  7. Optionally, adjust the Sphere Position by left clicking on the spheres and dragging them around.

  8. Click Generate Spheres, the sphere will turn a cyan color to indicate that the collision spheres have been generated.

  9. Repeat the same steps for all the other links in the ur articulation, including the gripper links.

    ../_images/isim_5.0_full_tut_gui_lula_link_sphere_editor.png

Important

Do not stop the simulation, you will need it to generate the robot configuration file

Note

Verify that the completed asset looks like the following image:

../_images/isim_5.0_full_tut_gui_lula_link_sphere_editor_add_spheres.png

Hint

The following suggestions can help you tune the collision spheres:

  1. In general, make the collision spheres large enough to encompass the link, but not too large to cause solver issues.

  2. When choosing the size and number of collision spheres, more collision spheres the more accurate the collision detection will be, but too many collision spheres will slow down the solver.

  3. Unless you have specified collider meshes, there’s no restrictions to generate collision spheres on the collision meshes of the links only. If the visual mesh give you better collision mesh approximation, you can generate the collision spheres on the visual mesh.

  4. For longer arm links, it is generally easier to use the method above to only generate collision spheres on the ends of the link, then use Link Sphere editor/Generate Spheres/Add Spheres to add the collision spheres to the entire link evenly.

  5. If the sphere sizes are too small or too large, you can use Link Sphere editor/Generate Spheres/Scale Spheres in Link to scale the sphere sizes.

Export the Lula Robot Description File#

  1. Do not stop the simulation or save the file, you need it to export the robot configuration file.

  2. In the Lula Robot Description Editor, go to the very bottom and find the Export To File section.

  3. Expand Export to Lula Robot Description File, click the file icon and specify the file name to ur10e.yaml

  4. Click Save to export the robot configuration file

    ../_images/isim_5.0_full_tut_gui_lula_export_robot_description_file.png
  5. You can also export the cuMotion XRDF file by going to Export To File > Export to cuMotion XRDF and specify the file name to ur10e.xrdf.

  6. Stop the simulation after the robot configuration files are exported

../_images/isim_5.0_full_tut_gui_lula_export_cucore_xrdf_file.png

Note

See Lula Robot Description and XRDF Editor for more information on the robot description files.

Summary#

In this tutorial, you have learned how to generate the robot configuration file for the UR10e robot and the 2F-140 gripper using the Lula Robot Description and XRDF Editor and the USD to URDF Exporter Extension extensions.