{"id":1256,"date":"2024-08-14T18:34:01","date_gmt":"2024-08-14T16:34:01","guid":{"rendered":"https:\/\/erdalpekel.de\/?p=1256"},"modified":"2024-08-14T19:11:29","modified_gmt":"2024-08-14T17:11:29","slug":"add-basic-suction-gripper-to-panda-in-omniverse-isaac","status":"publish","type":"post","link":"https:\/\/erdalpekel.de\/?p=1256","title":{"rendered":"Add basic suction gripper to Panda in Omniverse Isaac"},"content":{"rendered":"\n<p>In this blog post, we will add a suction gripper to the Panda robotic arm in NVIDIA&#8217;s Omniverse Isaac simulation environment. In our latest contribution, we added the Panda robotic arm to Isaac Sim and controlled it with MoveIt! via <code>ros_bridge<\/code>. We will continue this series by modifying the arm&#8217;s model and by adding the suction gripper functionality. The resulting robotic arm model will be able to grip rigid bodies with its gripper in the simulation. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Blender<\/h2>\n\n\n\n<p>We will start by creating a suction gripper 3d model with Blender. The model will be fairly simple: We will create a simple cube and attach it to the last link of the Panda robotic arm. We start by resizing the default cube that appears when Blender is started. We choose 0.1 by 0.1 by 0.04 meters as it fits perfectly to Panda&#8217;s last link with these dimensions. Then, we move the cube&#8217;s coordinate system origin along its z-axis by 0.02 m to the bottom. Finally, we save the model as <code>.stl<\/code> file to the <code>franka_description<\/code> ROS repository at <code>meshes\/collision<\/code> and <code>meshes\/visual<\/code>.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"719\" data-id=\"1257\" src=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-37-59-1024x719.png\" alt=\"Default Cube\" class=\"wp-image-1257\" srcset=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-37-59-1024x719.png 1024w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-37-59-300x211.png 300w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-37-59-768x539.png 768w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-37-59-1536x1078.png 1536w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-37-59-2048x1438.png 2048w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-37-59-1000x702.png 1000w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-37-59-230x161.png 230w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-37-59-350x246.png 350w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-37-59-480x337.png 480w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Default Cube<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"719\" data-id=\"1258\" src=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-39-48-1024x719.png\" alt=\"Scale Cube to Desired Dimensions\" class=\"wp-image-1258\" srcset=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-39-48-1024x719.png 1024w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-39-48-300x211.png 300w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-39-48-768x539.png 768w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-39-48-1536x1078.png 1536w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-39-48-2048x1438.png 2048w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-39-48-1000x702.png 1000w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-39-48-230x161.png 230w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-39-48-350x246.png 350w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-39-48-480x337.png 480w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Scale Cube to Desired Dimensions<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"719\" data-id=\"1259\" src=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-39-55-1024x719.png\" alt=\"Zoom to View Smaller Cube\" class=\"wp-image-1259\" srcset=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-39-55-1024x719.png 1024w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-39-55-300x211.png 300w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-39-55-768x539.png 768w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-39-55-1536x1078.png 1536w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-39-55-2048x1438.png 2048w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-39-55-1000x702.png 1000w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-39-55-230x161.png 230w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-39-55-350x246.png 350w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-39-55-480x337.png 480w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Zoom to View Smaller Cube<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"719\" data-id=\"1260\" src=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-15-1024x719.png\" alt=\"Open Cube Transform Window\" class=\"wp-image-1260\" srcset=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-15-1024x719.png 1024w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-15-300x211.png 300w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-15-768x539.png 768w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-15-1536x1078.png 1536w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-15-2048x1438.png 2048w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-15-1000x702.png 1000w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-15-230x161.png 230w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-15-350x246.png 350w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-15-480x337.png 480w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Open Cube Transform Window<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"719\" data-id=\"1261\" src=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-27-1024x719.png\" alt=\"Move Cube Center to Bottom\" class=\"wp-image-1261\" srcset=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-27-1024x719.png 1024w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-27-300x211.png 300w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-27-768x539.png 768w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-27-1536x1078.png 1536w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-27-2048x1438.png 2048w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-27-1000x702.png 1000w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-27-230x161.png 230w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-27-350x246.png 350w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-27-480x337.png 480w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Move Cube Center to Bottom<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"719\" data-id=\"1262\" src=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-32-1024x719.png\" alt=\"Move Cube Center to Bottom - Change Angle\" class=\"wp-image-1262\" srcset=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-32-1024x719.png 1024w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-32-300x211.png 300w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-32-768x539.png 768w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-32-1536x1078.png 1536w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-32-2048x1438.png 2048w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-32-1000x702.png 1000w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-32-230x161.png 230w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-32-350x246.png 350w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-32-480x337.png 480w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Move Cube Center to Bottom &#8211; Change Angle<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"719\" data-id=\"1263\" src=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-40-1024x719.png\" alt=\"Export Cube as .stl file\" class=\"wp-image-1263\" srcset=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-40-1024x719.png 1024w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-40-300x211.png 300w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-40-768x539.png 768w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-40-1536x1078.png 1536w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-40-2048x1438.png 2048w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-40-1000x702.png 1000w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-40-230x161.png 230w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-40-350x246.png 350w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-17-40-40-480x337.png 480w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Export Cube as .stl file<\/figcaption><\/figure>\n<\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Robot Model<\/h2>\n\n\n\n<p>We will add the cube that we exported from Blender in to Panda in its model file <code>panda_arm.urdf<\/code>. We will accomplish this by first adding the gripper link as <code>panda_eef<\/code> and pointing to the cube <code>.stl<\/code> file. <code>panda_joint_eef<\/code> connects links <code>panda_link8<\/code> and <code>panda_eef<\/code> to each other as fixed joint. Additionally, we will create a tip link <code>panda_tip<\/code> for easier configuration of the suction gripper in Isaac Sim and also easier planning with MoveIt!.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"xml\" class=\"language-xml\">&lt;link name=\"panda_eef\"&gt;\n  &lt;visual&gt;\n    &lt;geometry&gt;\n      &lt;mesh filename=\"package:\/\/franka_description\/meshes\/visual\/gripper.stl\" \/&gt;\n    &lt;\/geometry&gt;\n  &lt;\/visual&gt;\n  &lt;collision&gt;\n    &lt;geometry&gt;\n      &lt;mesh filename=\"package:\/\/franka_description\/meshes\/collision\/gripper.stl\" \/&gt;\n    &lt;\/geometry&gt;\n  &lt;\/collision&gt;\n&lt;\/link&gt;\n&lt;joint name=\"panda_joint_eef\" type=\"fixed\"&gt;\n  &lt;origin rpy=\"0 0 0\" xyz=\"0 0 0\" \/&gt;\n  &lt;parent link=\"panda_link8\" \/&gt;\n  &lt;child link=\"panda_eef\" \/&gt;\n&lt;\/joint&gt;\n&lt;link name=\"panda_tip\" \/&gt;\n&lt;joint name=\"panda_joint_tip\" type=\"fixed\"&gt;\n  &lt;origin rpy=\"0 1.57 0\" xyz=\"0 0 0.04\" \/&gt;\n  &lt;parent link=\"panda_eef\" \/&gt;\n  &lt;child link=\"panda_tip\" \/&gt;\n&lt;\/joint&gt;<\/code><\/pre>\n\n\n\n<p>We can visualize the resulting robot model in RViz by using the <code>urdf_tutorial<\/code> repository. Copy the robot model <code>panda_arm.urdf<\/code> to the <code>urdf_tutorial<\/code> repository and start the display script with the model as parameter:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">ros2 launch urdf_tutorial display.launch.py model:=urdf\/panda_arm.urdf<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"736\" data-id=\"1265\" src=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-27-1024x736.png\" alt=\"Panda Robot Model in RViz\" class=\"wp-image-1265\" srcset=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-27-1024x736.png 1024w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-27-300x216.png 300w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-27-768x552.png 768w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-27-1536x1104.png 1536w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-27-2048x1473.png 2048w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-27-1000x719.png 1000w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-27-230x165.png 230w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-27-350x252.png 350w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-27-480x345.png 480w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Panda Robot Model in RViz<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"736\" data-id=\"1266\" src=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-34-1024x736.png\" alt=\"Panda Coordinate Transforms\" class=\"wp-image-1266\" srcset=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-34-1024x736.png 1024w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-34-300x216.png 300w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-34-768x552.png 768w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-34-1536x1104.png 1536w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-34-2048x1473.png 2048w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-34-1000x719.png 1000w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-34-230x165.png 230w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-34-350x252.png 350w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-34-480x345.png 480w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Panda Coordinate Transforms<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"736\" data-id=\"1267\" src=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-43-1024x736.png\" alt=\"Panda Coordinate Transforms - eef\" class=\"wp-image-1267\" srcset=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-43-1024x736.png 1024w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-43-300x216.png 300w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-43-768x552.png 768w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-43-1536x1104.png 1536w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-43-2048x1473.png 2048w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-43-1000x719.png 1000w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-43-230x165.png 230w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-43-350x252.png 350w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-43-480x345.png 480w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Panda Coordinate Transforms &#8211; eef<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"736\" data-id=\"1268\" src=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-49-1024x736.png\" alt=\"Panda Coordinate Transforms - tip\" class=\"wp-image-1268\" srcset=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-49-1024x736.png 1024w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-49-300x216.png 300w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-49-768x552.png 768w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-49-1536x1104.png 1536w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-49-2048x1473.png 2048w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-49-1000x719.png 1000w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-49-230x165.png 230w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-49-350x252.png 350w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-49-480x345.png 480w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Panda Coordinate Transforms &#8211; tip<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"736\" data-id=\"1269\" src=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-59-1024x736.png\" alt=\"Panda Coordinate Transforms - tip - Close Up\" class=\"wp-image-1269\" srcset=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-59-1024x736.png 1024w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-59-300x216.png 300w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-59-768x552.png 768w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-59-1536x1104.png 1536w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-59-2048x1473.png 2048w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-59-1000x719.png 1000w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-59-230x165.png 230w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-59-350x252.png 350w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-12-18-40-59-480x345.png 480w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Panda Coordinate Transforms &#8211; tip &#8211; Close Up<\/figcaption><\/figure>\n<\/figure>\n\n\n\n<p>We can see that the new links and the suction gripper cube were inserted correctly into the robot model. The x-axis of the final link points towards the last link or inwards. This is important as the the suction gripper in Isaac Sim is configured in x-axis direction by default.<\/p>\n\n\n\n<p>It is also important to reset the joint effort limits in the robot model file in order to eliminate weird behavior of the robotic arm after the importing the robot URDF into Isaac Sim. We will set the maximum effort and velocity values to <code>0<\/code> and the Isaac Sim will allow the maximum value for these parameters in the simulation. Finally, we will remove the safety_controller tags as those are not necessary in Isaac Sim:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"xml\" class=\"language-xml\">&lt;joint name=\"panda_joint7\" type=\"revolute\"&gt;\n  &lt;origin rpy=\"1.5707963267948966 0 0\" xyz=\"0.088 0 0\" \/&gt;\n  &lt;parent link=\"panda_link6\" \/&gt;\n  &lt;child link=\"panda_link7\" \/&gt;\n  &lt;axis xyz=\"0 0 1\" \/&gt;\n  &lt;limit effort=\"0\" lower=\"-2.8973\" upper=\"2.8973\" velocity=\"0\" \/&gt;\n&lt;\/joint&gt;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Isaac Sim<\/h2>\n\n\n\n<p>Now that we have prepared Panda arm&#8217;s robot model we can import it using the same routine as in our <a href=\"https:\/\/erdalpekel.de\/?p=1170\" target=\"_blank\" rel=\"noreferrer noopener\">previous blog post<\/a>. There, we first imported the URDF file <code>franka_description\/panda_arm.urdf<\/code> using Isaac Sim&#8217;s URDF importer. In a subsequent step, we modified the resulting <code>.usda<\/code> file to move the arm&#8217;s articulation to the root XForm <code>panda<\/code>. Below is a gallery illustrating the URDF import process in Isaac Sim:<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69f1329be2da6&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69f1329be2da6\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"742\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"1203\" src=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-27-37-1024x742.png\" alt=\"\" class=\"wp-image-1203\" srcset=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-27-37-1024x742.png 1024w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-27-37-300x217.png 300w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-27-37-768x556.png 768w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-27-37-1536x1113.png 1536w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-27-37-1000x724.png 1000w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-27-37-550x400.png 550w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-27-37-230x167.png 230w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-27-37-350x254.png 350w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-27-37-480x348.png 480w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-27-37.png 1923w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69f1329be390e&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69f1329be390e\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"742\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"1202\" src=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-27-45-1024x742.png\" alt=\"\" class=\"wp-image-1202\" srcset=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-27-45-1024x742.png 1024w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-27-45-300x217.png 300w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-27-45-768x556.png 768w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-27-45-1536x1113.png 1536w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-27-45-1000x724.png 1000w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-27-45-550x400.png 550w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-27-45-230x167.png 230w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-27-45-350x254.png 350w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-27-45-480x348.png 480w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-27-45.png 1923w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69f1329be4360&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69f1329be4360\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"742\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"1201\" src=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-30-41-1024x742.png\" alt=\"\" class=\"wp-image-1201\" srcset=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-30-41-1024x742.png 1024w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-30-41-300x217.png 300w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-30-41-768x556.png 768w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-30-41-1536x1113.png 1536w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-30-41-1000x724.png 1000w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-30-41-550x400.png 550w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-30-41-230x167.png 230w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-30-41-350x254.png 350w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-30-41-480x348.png 480w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-30-41.png 1923w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69f1329be4e59&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69f1329be4e59\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"742\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"1200\" src=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-30-53-1024x742.png\" alt=\"\" class=\"wp-image-1200\" srcset=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-30-53-1024x742.png 1024w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-30-53-300x217.png 300w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-30-53-768x556.png 768w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-30-53-1536x1113.png 1536w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-30-53-1000x724.png 1000w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-30-53-550x400.png 550w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-30-53-230x167.png 230w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-30-53-350x254.png 350w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-30-53-480x348.png 480w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-30-53.png 1923w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69f1329be5979&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69f1329be5979\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"742\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"1199\" src=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-31-22-1024x742.png\" alt=\"\" class=\"wp-image-1199\" srcset=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-31-22-1024x742.png 1024w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-31-22-300x217.png 300w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-31-22-768x556.png 768w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-31-22-1536x1113.png 1536w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-31-22-1000x724.png 1000w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-31-22-550x400.png 550w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-31-22-230x167.png 230w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-31-22-350x254.png 350w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-31-22-480x348.png 480w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-31-22.png 1923w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69f1329be6410&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69f1329be6410\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"742\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" data-id=\"1198\" src=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-31-35-1024x742.png\" alt=\"\" class=\"wp-image-1198\" srcset=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-31-35-1024x742.png 1024w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-31-35-300x217.png 300w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-31-35-768x556.png 768w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-31-35-1536x1113.png 1536w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-31-35-1000x724.png 1000w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-31-35-550x400.png 550w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-31-35-230x167.png 230w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-31-35-350x254.png 350w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-31-35-480x348.png 480w, https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/Screenshot-from-2024-08-03-17-31-35.png 1923w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<figcaption class=\"blocks-gallery-caption wp-element-caption\">Importing a robot URDF model into Isaac Sim<\/figcaption><\/figure>\n\n\n\n<p>We will also add a ground plane and a cube to our <code>scene.usda<\/code> file. We will attempt to pick the cube with the suction gripper. It is important to mention, that we added rigid body properties, enabled collisions and most importantly, added a small mass. If no mass is specified, the suction mechanism will not work in our testing.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">def Cube \"Cube\" (\n    prepend apiSchemas = [\"PhysicsRigidBodyAPI\", \"PhysxRigidBodyAPI\", \"PhysicsCollisionAPI\", \"PhysxCollisionAPI\", \"PhysicsMassAPI\"]\n)\n{\n    float3[] extent = [(-0.5, -0.5, -0.5), (0.5, 0.5, 0.5)]\n    float physics:mass = 0.000001\n    bool physics:collisionEnabled = 1\n    bool physics:kinematicEnabled = 0\n    bool physics:rigidBodyEnabled = 1\n    double size = 1\n    quatd xformOp:orient = (1, 0, 0, 0)\n    double3 xformOp:scale = (0.1, 0.1, 0.2)\n    double3 xformOp:translate = (0.5, 0, 0.1)\n    uniform token[] xformOpOrder = [\"xformOp:translate\", \"xformOp:orient\", \"xformOp:scale\"]\n}<\/code><\/pre>\n\n\n\n<p>In our extension code, we will modify the <code>ui_builder.py<\/code> file to add a button that closes the suction gripper. In <code>scenario.py<\/code>, we will initialize the suction gripper with the new <code>init_gripper()<\/code> method:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">def init_gripper(self):\n    self._dc = dc.acquire_dynamic_control_interface()\n    self.sgp = Surface_Gripper_Properties()\n    self.sgp.d6JointPath = \"\/World\/panda\/panda_tip\/d6FixedJoint\"\n    self.sgp.parentPath = \"\/World\/panda\/panda_tip\"\n    self.sgp.offset = dc.Transform()  # Offset the transform to the base of the Cone\n    self.sgp.offset.p.x = -0.001\n    self.sgp.offset.r = [1.0, 0, 0, 0]\n    self.sgp.gripThreshold = 0.02\n    self.sgp.forceLimit = 1.0e3\n    self.sgp.torqueLimit = 1.0e3\n    self.sgp.bendAngle = 7.5\n    self.sgp.stiffness = 1.0e4\n    self.sgp.damping = 1.0e3\n    self.sgp.retryClose = True\n\n    self.surface_gripper = Surface_Gripper(self._dc)\n    self.surface_gripper.initialize(self.sgp)<\/code><\/pre>\n\n\n\n<p>We can see a few important aspects of the surface gripper in this method:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The <code>Surface Gripper<\/code> is initialized with the <code>Surface_Gripper_Properties<\/code> structure<\/li>\n\n\n\n<li>The Surface Gripper is attached to a link of the robotic arm with its path in the scene (<code>\/World\/panda\/panda_tip<\/code>)<\/li>\n\n\n\n<li>Various physical and dynamical properties of the suction gripper, e.g. force limit and torque limit can be configured<\/li>\n\n\n\n<li>A grip threshold for gripping objects within a specified distance threshold can be specified<\/li>\n\n\n\n<li>The retry close attribute retires the suction gripper&#8217;s close operation until an object could be picked<\/li>\n\n\n\n<li>Perhaps the most important attribute for the configuration is the <code>offset<\/code>: It specifies where the surface gripper is located and how it is oriented. This specifies in which direction the surface gripper applies suction force. By default, the Surface Gripper applies suction along the x-axis. When the <code>Surface_Gripper<\/code> class is initialized with with the <code>Surface_Gripper_Properties<\/code> structure, the suction direction cannot be changed. But the <code>offset<\/code> parameter can be used to alter the position and orientation of the internal coordinate system to apply suction force at an arbitrary direction.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Result<\/h2>\n\n\n\n<p>The resulting ROS package can be started with the following commands:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">ros2 launch isaac_moveit_sample simulation.launch.py<\/code><\/pre>\n\n\n\n<p>The Isaac Sim extension can be opened from the top navigation bar. We now have two windows: RViz for the motion planning pipeline for Panda and Isaac Sim with panda arm simulation running on <code>Load<\/code> and <code>Run<\/code>. We will load and run the simulation in Isaac Sim and start a motion planning and execution request which will move Panda to the cube. Next, we will click the <code>GRASP<\/code> button in Isaac Sim. Finally, when we plan and execute a path to a position over the cube, the arm moves with the cube without releasing it.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"3195\" height=\"1675\" src=\"https:\/\/erdalpekel.de\/wp-content\/uploads\/2024\/08\/output-1.gif\" alt=\"\" class=\"wp-image-1285\"\/><figcaption class=\"wp-element-caption\">Isaac \u2013 Suction Gripper Result: Sample Pick and Hold Execution with RViz<\/figcaption><\/figure>\n\n\n\n<p>The custom <a href=\"https:\/\/github.com\/erdalpekel\/isaac_moveit_sample\" target=\"_blank\" rel=\"noreferrer noopener\">ROS package<\/a> as well as the modified <a href=\"https:\/\/github.com\/erdalpekel\/franka_description\" target=\"_blank\" rel=\"noreferrer noopener\">franka_description<\/a> and <a href=\"https:\/\/github.com\/erdalpekel\/IsaacMoveitExtension\">Isaac Sim extension<\/a> repositories are available in my <a href=\"https:\/\/github.com\/erdalpekel\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub profile<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this blog post, we will add a suction gripper to the Panda robotic arm in NVIDIA&#8217;s Omniverse Isaac simulation environment. In [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1287,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[34,9,33,5,3,8,7,35,36],"tags":[],"class_list":["post-1256","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-isaac","category-moveit","category-omniverse","category-robot-operating-system-ros","category-robotics","category-ros","category-simulation","category-suction-gripper","category-suction-gripper-omniverse"],"_links":{"self":[{"href":"https:\/\/erdalpekel.de\/index.php?rest_route=\/wp\/v2\/posts\/1256","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/erdalpekel.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/erdalpekel.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/erdalpekel.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/erdalpekel.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1256"}],"version-history":[{"count":18,"href":"https:\/\/erdalpekel.de\/index.php?rest_route=\/wp\/v2\/posts\/1256\/revisions"}],"predecessor-version":[{"id":1291,"href":"https:\/\/erdalpekel.de\/index.php?rest_route=\/wp\/v2\/posts\/1256\/revisions\/1291"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/erdalpekel.de\/index.php?rest_route=\/wp\/v2\/media\/1287"}],"wp:attachment":[{"href":"https:\/\/erdalpekel.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1256"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/erdalpekel.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1256"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/erdalpekel.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1256"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}