<mujoco model="gripper">
  <compiler angle="radian" meshdir="./" />
  <asset>
    <mesh name="gnode_servo_to_finger" content_type="model/stl" file="gnode_servo_to_finger.stl" scale="0.001 0.001 0.001" />
    <mesh name="gnode_servo" content_type="model/stl" file="gnode_servo.stl" scale="0.001 0.001 0.001" />
    <mesh name="gnode_holder" content_type="model/stl" file="gnode_holder.stl" scale="0.001 0.001 0.001" />
    <mesh name="gnode_finger_adj" content_type="model/stl" file="gnode_finger_adj.stl" scale="0.001 0.001 0.001" />
    <mesh name="gnode_connector1" content_type="model/stl" file="gnode_connector1.stl" scale="0.001 0.001 0.001" />
    <mesh name="gnode_camera_mount" content_type="model/stl" file="gnode_camera_mount.stl" scale="0.001 0.001 0.001" />
    <mesh name="gnode_camera_cover" content_type="model/stl" file="gnode_camera_cover.stl" scale="0.001 0.001 0.001" />
    <mesh name="gnode_camera_body" content_type="model/stl" file="gnode_camera_body.stl" scale="0.001 0.001 0.001" />
    <mesh name="gnode_cam_conn" content_type="model/stl" file="gnode_cam_conn.stl" scale="0.001 0.001 0.001" />
    <mesh name="gnode_fixed_conn" content_type="model/stl" file="gnode_fixed_conn.stl" scale="0.001 0.001 0.001" />
    <mesh name="gnode_handle" content_type="model/stl" file="gnode_handle.stl" scale="0.001 0.001 0.001" />
    <mesh name="gnode_aruco_cube" content_type="model/stl" file="gnode_aruco_cube.stl" scale="0.001 0.001 0.001" />
    <mesh name="gnode_finger" content_type="model/stl" file="gnode_finger.stl" scale="0.001 0.001 0.001" />
    <mesh name="gnode_yoke" content_type="model/stl" file="gnode_yoke.stl" scale="0.001 0.001 0.001" />
    <mesh name="gnode_yoke_conn" content_type="model/stl" file="gnode_yoke_conn.stl" scale="0.001 0.001 0.001" />
    <mesh name="gnode_finger_ring" content_type="model/stl" file="gnode_finger_ring.stl" scale="0.001 0.001 0.001" />
    <texture name="ar_top" type="2d" file="aruco_umi_top_grid.png" />
    <material name="ar_top" texture="ar_top" texuniform="false" texrepeat="1 1" />
    <texture name="ar_back" type="2d" file="aruco_umi_back_grid.png" />
    <material name="ar_back" texture="ar_back" texuniform="false" texrepeat="1 1" />
    <mesh name="aruco_plane" file="aruco_plane.obj" scale="0.26667 0.26667 0.001" inertia="shell" />
  </asset>
  <worldbody>
    <geom pos="0 0 0" quat="0.707105 0.707108 0 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.55 0.6 0.7 1" mesh="gnode_servo_to_finger" />
    <geom quat="0.707105 0.707108 0 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.35 0.35 0.4 1" mesh="gnode_servo" />
    <geom quat="0.707105 0.707108 0 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.2 0.52 0.85 1" mesh="gnode_holder" />
    <geom pos="0 0 0" quat="0.707105 0.707108 0 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.55 0.6 0.7 1" mesh="gnode_finger_adj" />
    <geom quat="0.707105 0.707108 0 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.95 0.45 0.12 1" mesh="gnode_connector1" />
    <geom quat="0.707105 0.707108 0 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.55 0.75 0.6 1" mesh="gnode_camera_mount" />
    <geom quat="0.707105 0.707108 0 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.95 0.55 0.15 1" mesh="gnode_camera_cover" />
    <geom quat="0.707105 0.707108 0 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.13 0.13 0.16 1" mesh="gnode_camera_body" />
    <geom quat="0.707105 0.707108 0 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.3 0.66 0.45 1" mesh="gnode_cam_conn" />
    <geom pos="0 0 0" quat="0.707105 0.707108 0 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.3 0.66 0.45 1" mesh="gnode_fixed_conn" />
    <geom pos="0 0 0" quat="0.707105 0.707108 0 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.25 0.3 0.38 1" mesh="gnode_handle" />
    <geom quat="0.707105 0.707108 0 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.92 0.92 0.92 1" mesh="gnode_aruco_cube" />
    <body name="jaw_link" pos="-0.0255 0 0" quat="0.707105 0.707108 0 0">
      <inertial pos="0 0 0" mass="0.05" diaginertia="1e-05 1e-05 1e-05" />
      <joint name="jaw" pos="0 0 0" axis="0 1 0" range="-0.1 0.9" actuatorfrcrange="-3 3" />
      <geom pos="0.0255 0 0" quat="1 0 0 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.9 0.65 0.2 1" mesh="gnode_finger" />
      <geom pos="0.0255 0 0" quat="1 0 0 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.9 0.65 0.2 1" mesh="gnode_yoke" />
      <geom pos="0.0255 0 0" quat="1 0 0 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.85 0.3 0.3 1" mesh="gnode_yoke_conn" />
      <geom pos="0.0255 0 0" quat="1 0 0 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.85 0.35 0.25 1" mesh="gnode_finger_ring" />
    </body>
    <geom type="mesh" mesh="aruco_plane" material="ar_top" pos="0.0870 -0.0000 0.0517" contype="0" conaffinity="0" />
    <geom type="mesh" mesh="aruco_plane" material="ar_back" pos="0.1277 -0.0000 0.0110" euler="0 1.5708 0" contype="0" conaffinity="0" />
    <light pos="0.3 0.3 0.6" dir="-0.4 -0.4 -1" />
  </worldbody>
  <visual>
    <global offwidth="1600" offheight="1200" />
    <headlight ambient="0.5 0.5 0.5" />
  </visual>
  <actuator>
    <position joint="jaw" kp="5" kv="0.4" ctrlrange="-0.1 0.9" name="jaw" />
  </actuator>
</mujoco>