Franka Emika Panda Description (MJCF)

Requires MuJoCo 2.3.3 or later.

Overview

This package contains a simplified robot description (MJCF) of the Franka Emika Panda developed by Franka Emika. It is derived from the publicly available URDF description.

URDF → MJCF derivation steps

  1. Converted the DAE mesh files to OBJ format using Blender.
  2. Processed .obj files with obj2mjcf.
  3. Eliminated the perfectly flat link0_6 from the resulting submeshes created for link0.
  4. Created a convex decomposition of the STL collision mesh file for link5 using V-HACD.
  5. Added <mujoco> <compiler discardvisual="false"/> </mujoco> to the URDF's <robot> clause in order to preserve visual geometries.
  6. Loaded the URDF into MuJoCo and saved a corresponding MJCF.
  7. Matched inertial parameters with inertial.yaml.
  8. Added a tracking light to the base.
  9. Manually edited the MJCF to extract common properties into the <default> section.
  10. Added <exclude> clauses to prevent collisions between link7 and link8.
  11. Manually designed collision geoms for the fingertips.
  12. Added position-controlled actuators for the arm.
  13. Added an equality constraint so that the left finger mimics the position of the right finger.
  14. Added a tendon to split the force equally between both fingers and a position actuator acting on this tendon.
  15. Added scene.xml which includes the robot, with a textured groundplane, skybox, and haze.

MJX

A version of the Franka Emika Panda environment was created for MJX. Steps:

  1. Added mjx_panda.xml, forked from panda.xml.
  2. Added mjx_scene.xml and mjx_single_cube.xml, forked from scene.xml.
  3. Gripper collision geometries were modified to contain less geoms. A capsule collision geom was added to the hand.
  4. Solver parameters were tuned for performance.
  5. Actuator kp and kv were reduced for more stable simulation.
  6. Added a site to the gripper.
  7. Removed tendon and added position actuator for the gripper. Changed gripper ctrlrange.

License

This model is released under an Apache-2.0 License.