<mujoco model="two_servo">
  <compiler angle="radian" meshdir="./" />
  <asset>
    <mesh name="st3215" content_type="model/stl" file="st3215.stl" scale="0.001 0.001 0.001" />
    <mesh name="base_holder_detach" content_type="model/stl" file="base_holder_detach.stl" scale="0.001 0.001 0.001" />
    <mesh name="fiducial_mount" content_type="model/stl" file="fiducial_mount.stl" scale="0.001 0.001 0.001" />
    <mesh name="yoke_fillet" content_type="model/stl" file="yoke_fillet.stl" scale="0.001 0.001 0.001" />
    <mesh name="holder_fillet" content_type="model/stl" file="holder_fillet.stl" scale="0.001 0.001 0.001" />
    <mesh name="connector_beauty_1" content_type="model/stl" file="connector_beauty_1.stl" scale="0.001 0.001 0.001" />
    <mesh name="connector_beauty_2" content_type="model/stl" file="connector_beauty_2.stl" scale="0.001 0.001 0.001" />
    <mesh name="connector_beauty_3" content_type="model/stl" file="connector_beauty_3.stl" scale="0.001 0.001 0.001" />
    <mesh name="connector_beauty_4" content_type="model/stl" file="connector_beauty_4.stl" scale="0.001 0.001 0.001" />
    <mesh name="connector_beauty_5" content_type="model/stl" file="connector_beauty_5.stl" scale="0.001 0.001 0.001" />
    <texture name="armboard" type="2d" file="aruco_arm_base_grid.png" />
    <material name="armboard" texture="armboard" />
    <mesh name="aruco_plane160" file="aruco_plane.obj" scale="0.53333 0.53333 0.001" inertia="shell" />
    <texture name="sky" type="skybox" builtin="gradient" rgb1="0.35 0.45 0.55" rgb2="0.05 0.05 0.1" width="256" height="256" />
    <texture name="floor" type="2d" builtin="checker" rgb1="0.2 0.25 0.3" rgb2="0.15 0.18 0.22" width="300" height="300" />
    <material name="floor" texture="floor" texuniform="true" texrepeat="4 4" />
    <mesh name="u_gnode_servo_to_finger" content_type="model/stl" file="gnode_servo_to_finger.stl" scale="0.001 0.001 0.001" />
    <mesh name="u_gnode_servo" content_type="model/stl" file="gnode_servo.stl" scale="0.001 0.001 0.001" />
    <mesh name="u_gnode_holder" content_type="model/stl" file="gnode_holder.stl" scale="0.001 0.001 0.001" />
    <mesh name="u_gnode_finger_adj" content_type="model/stl" file="gnode_finger_adj.stl" scale="0.001 0.001 0.001" />
    <mesh name="u_gnode_connector1" content_type="model/stl" file="gnode_connector1.stl" scale="0.001 0.001 0.001" />
    <mesh name="u_gnode_camera_mount" content_type="model/stl" file="gnode_camera_mount.stl" scale="0.001 0.001 0.001" />
    <mesh name="u_gnode_camera_cover" content_type="model/stl" file="gnode_camera_cover.stl" scale="0.001 0.001 0.001" />
    <mesh name="u_gnode_camera_body" content_type="model/stl" file="gnode_camera_body.stl" scale="0.001 0.001 0.001" />
    <mesh name="u_gnode_cam_conn" content_type="model/stl" file="gnode_cam_conn.stl" scale="0.001 0.001 0.001" />
    <mesh name="u_gnode_fixed_conn" content_type="model/stl" file="gnode_fixed_conn.stl" scale="0.001 0.001 0.001" />
    <mesh name="u_gnode_handle" content_type="model/stl" file="gnode_handle.stl" scale="0.001 0.001 0.001" />
    <mesh name="u_gnode_aruco_cube" content_type="model/stl" file="gnode_aruco_cube.stl" scale="0.001 0.001 0.001" />
    <mesh name="u_gnode_finger" content_type="model/stl" file="gnode_finger.stl" scale="0.001 0.001 0.001" />
    <mesh name="u_gnode_yoke" content_type="model/stl" file="gnode_yoke.stl" scale="0.001 0.001 0.001" />
    <mesh name="u_gnode_yoke_conn" content_type="model/stl" file="gnode_yoke_conn.stl" scale="0.001 0.001 0.001" />
    <mesh name="u_gnode_finger_ring" content_type="model/stl" file="gnode_finger_ring.stl" scale="0.001 0.001 0.001" />
    <texture name="u_ar_top" type="2d" file="aruco_umi_top_grid.png" />
    <material name="u_ar_top" texture="u_ar_top" texuniform="false" texrepeat="1 1" />
    <texture name="u_ar_back" type="2d" file="aruco_umi_back_grid.png" />
    <material name="u_ar_back" texture="u_ar_back" texuniform="false" texrepeat="1 1" />
    <mesh name="u_aruco_plane" file="aruco_plane.obj" scale="0.26667 0.26667 0.001" inertia="shell" />
  </asset>
  <worldbody>
    <geom pos="0 0 0.032" 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="st3215" />
    <geom pos="0 0 0.032" 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="base_holder_detach" />
    <geom pos="0 0 0.032" quat="0.707105 0.707108 0 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.93 0.55 0.16 1" mesh="fiducial_mount" />
    <body name="yoke_0" pos="-0.0255 0 0.032" quat="0.707105 0.707108 0 0">
      <inertial pos="-0.01325 0.0175 0.0045" quat="0.599231 0.734542 0.246708 0.201261" mass="0.2" diaginertia="0.000300412 0.000300412 0.0002" />
      <joint name="output_0" pos="0 0 0" axis="0 1 0" range="-1.74 1.74" actuatorfrcrange="-2.94 2.94" />
      <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.6 0.2 1" mesh="yoke_fillet" />
      <geom pos="-0.0265 0.035 0.009" quat="0.5 0.5 -0.5 -0.5" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.35 0.35 0.4 1" mesh="st3215" />
      <geom pos="-0.0265 0.035 0.009" quat="0.5 0.5 -0.5 -0.5" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.2 0.52 0.85 1" mesh="holder_fillet" />
      <geom pos="-0.0265 0.035 0.009" quat="0.5 0.5 -0.5 -0.5" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.3 0.66 0.45 1" mesh="connector_beauty_1" />
      <body name="yoke_1" pos="-0.0265 0.0605 0.009" quat="0.5 0.5 -0.5 -0.5">
        <inertial pos="-0.11025 0 0.003" quat="0.493153 0.506755 0.506755 0.493153" mass="0.2" diaginertia="0.00263281 0.00263281 0.0002" />
        <joint name="output_1" pos="0 0 0" axis="0 1 0" range="-1.74 1.74" actuatorfrcrange="-2.94 2.94" />
        <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.6 0.2 1" mesh="yoke_fillet" />
        <geom pos="-0.2205 0 0.006" quat="0.707107 0 0.707107 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.35 0.35 0.4 1" mesh="st3215" />
        <geom pos="-0.2205 0 0.006" quat="0.707107 0 0.707107 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.2 0.52 0.85 1" mesh="holder_fillet" />
        <geom pos="-0.2205 0 0.006" quat="0.707107 0 0.707107 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.3 0.66 0.45 1" mesh="connector_beauty_2" />
        <body name="yoke_2" pos="-0.2205 0 0.0315" quat="0.707107 0 0.707107 0">
          <inertial pos="-0.09025 -0.005 -0.0045" quat="0.49791 0.473738 0.50071 0.526258" mass="0.2" diaginertia="0.00183806 0.00183806 0.0002" />
          <joint name="output_2" pos="0 0 0" axis="0 1 0" range="-1.74 1.74" actuatorfrcrange="-2.94 2.94" />
          <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.6 0.2 1" mesh="yoke_fillet" />
          <geom pos="-0.1805 -0.01 -0.009" quat="0.707107 -0.707107 0 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.35 0.35 0.4 1" mesh="st3215" />
          <geom pos="-0.1805 -0.01 -0.009" quat="0.707107 -0.707107 0 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.2 0.52 0.85 1" mesh="holder_fillet" />
          <geom pos="-0.1805 -0.01 -0.009" quat="0.707107 -0.707107 0 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.3 0.66 0.45 1" mesh="connector_beauty_3" />
          <body name="yoke_3" pos="-0.206 -0.01 -0.009" quat="0.707107 -0.707107 0 0">
            <inertial pos="-0.03475 -0.0045 0.005" quat="0.428047 0.503841 0.562828 0.496129" mass="0.2" diaginertia="0.000450563 0.000450563 0.0002" />
            <joint name="output_3" pos="0 0 0" axis="0 1 0" range="-1.74 1.74" actuatorfrcrange="-2.94 2.94" />
            <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.6 0.2 1" mesh="yoke_fillet" />
            <geom pos="-0.0695 -0.009 0.01" quat="0.707107 0.707107 0 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.35 0.35 0.4 1" mesh="st3215" />
            <geom pos="-0.0695 -0.009 0.01" quat="0.707107 0.707107 0 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.2 0.52 0.85 1" mesh="holder_fillet" />
            <geom pos="-0.0695 -0.009 0.01" quat="0.707107 0.707107 0 0" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.3 0.66 0.45 1" mesh="connector_beauty_4" />
            <body name="yoke_4" pos="-0.095 -0.009 0.01" quat="0.707107 0.707107 0 0">
              <inertial pos="-0.03125 -0.004 0.0035" quat="0.440636 0.492299 0.559329 0.500632" mass="0.2" diaginertia="0.000400963 0.000400963 0.0002" />
              <joint name="output_4" pos="0 0 0" axis="0 1 0" range="-1.74 1.74" actuatorfrcrange="-2.94 2.94" />
              <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.6 0.2 1" mesh="yoke_fillet" />
              <geom pos="-0.0625 -0.008 0.007" quat="0.5 0.5 0.5 -0.5" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.35 0.35 0.4 1" mesh="st3215" />
              <geom pos="-0.0625 -0.008 0.007" quat="0.5 0.5 0.5 -0.5" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.2 0.52 0.85 1" mesh="holder_fillet" />
              <geom pos="-0.0625 -0.008 0.007" quat="0.5 0.5 0.5 -0.5" type="mesh" contype="0" conaffinity="0" group="1" density="0" rgba="0.3 0.66 0.45 1" mesh="connector_beauty_5" />
              <body name="yoke_5" pos="-0.0625 -0.008 0.0325" quat="0.5 0.5 0.5 -0.5">
                <inertial pos="0 0 0" mass="0.1" diaginertia="0.0001 0.0001 0.0001" />
                <joint name="output_5" pos="0 0 0" axis="0 1 0" range="-1.74 1.74" actuatorfrcrange="-2.94 2.94" />
                <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.6 0.2 1" mesh="yoke_fillet" />
              </body>
            </body>
          </body>
        </body>
      </body>
    </body>
    <geom type="plane" size="1.2 1.2 0.05" material="floor" />
    <geom type="mesh" mesh="aruco_plane160" material="armboard" pos="-0.0221 0.1800 0.0041" contype="0" conaffinity="0" />
    <light pos="0.4 0.4 1.0" dir="-0.3 -0.3 -1" directional="false" />
    <body name="u_root" pos="-0.01983 0.34612 0.13605" quat="0.996949 -0.072725 -0.010248 -0.026437">
      <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="u_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="u_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="u_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="u_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="u_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="u_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="u_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="u_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="u_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="u_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="u_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="u_gnode_aruco_cube" />
      <body name="u_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="u_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="u_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="u_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="u_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="u_gnode_finger_ring" />
      </body>
      <geom type="mesh" mesh="u_aruco_plane" material="u_ar_top" pos="0.0870 -0.0000 0.0517" contype="0" conaffinity="0" />
      <geom type="mesh" mesh="u_aruco_plane" material="u_ar_back" pos="0.1277 -0.0000 0.0110" euler="0 1.5708 0" contype="0" conaffinity="0" />
    </body>
    <camera name="scene_est" pos="0.31630 0.13967 0.38305" xyaxes="0.336572 0.941635 0.006485 -0.482872 0.166674 0.859683" fovy="65.488" />
    <camera name="wrist_est" pos="0.16770 0.22084 0.31249" xyaxes="0.291472 -0.908531 0.299360 0.915682 0.174468 -0.362061" fovy="48.487" />
  </worldbody>
  <visual>
    <global offwidth="2200" offheight="2200" />
    <headlight ambient="0.45 0.45 0.45" />
  </visual>
  <actuator>
    <position joint="output_0" kp="40" kv="2" ctrlrange="-1.74 1.74" name="output_0" />
    <position joint="output_1" kp="40" kv="2" ctrlrange="-1.74 1.74" name="output_1" />
    <position joint="output_2" kp="40" kv="2" ctrlrange="-1.74 1.74" name="output_2" />
    <position joint="output_3" kp="40" kv="2" ctrlrange="-1.74 1.74" name="output_3" />
    <position joint="output_4" kp="40" kv="2" ctrlrange="-1.74 1.74" name="output_4" />
    <position joint="output_5" kp="40" kv="2" ctrlrange="-1.74 1.74" name="output_5" />
  </actuator>
</mujoco>