<robot name="robot">
  <link name="base_footprint" />
  <!-- <joint name="base_joint" type="fixed">
    <parent link="base_footprint" />
    <child link="base_link" />
    <origin xyz="0 0 0.11" rpy="0 0 0" />
    <limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
  </joint> -->
  <link name="base_link">
    <visual>
      <origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
      <geometry>
        <mesh filename="../meshes/Little_Sophia_Torso.obj"
        
          scale="0.001 0.001 0.001" />
      </geometry>
      <material name="base_link-material">
        <color rgba="0.0021246888847058823 0.04970656597728775 0.48514994004665124 1" />
      </material>
    </visual>
    <collision>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <geometry>
        <box size="0.1 0.05 0.05" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <mass value="1" />
      <inertia ixx="0.16666666666666666" ixy="0" ixz="0" iyy="0.16666666666666666" iyz="0"
        izz="0.16666666666666666" />
    </inertial>
  </link>
  <joint name="base_link_to_upper_arm_right" type="revolute">
    <parent link="base_link" />
    <child link="upper_arm_right" />
    <origin xyz="0.04 0 0.048" rpy="0 0 0" />
    <axis xyz="1 0 0" />
    <limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
  </joint>
  <link name="upper_arm_right">
    <visual>
      <origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
      <geometry>
        <mesh filename="../meshes/Little_Sophia_Arm_Right.obj"
          scale="0.001 0.001 0.001" />
      </geometry>
      <material name="upper_arm_right-material">
        <color rgba="0.0021246888847058823 0.04970656597728775 0.48514994004665124 1" />
      </material>
    </visual>
    <collision>
      <origin xyz="0 0 0.03" rpy="0 0 0" />
      <geometry>
        <box size="0.03 0.03 0.06" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0 0 0.03" rpy="0 0 0" />
      <mass value="1" />
      <inertia ixx="0.16666666666666666" ixy="0" ixz="0" iyy="0.16666666666666666" iyz="0"
        izz="0.16666666666666666" />
    </inertial>
  </link>


  <!-- Left Upper Arm -->
  <joint name="base_link_to_upper_arm_left" type="revolute">
    <parent link="base_link" />
    <child link="upper_arm_left" />
    <origin xyz="-0.04 0 0.048" rpy="0 0 0" />
    <axis xyz="-1 0 0" />
    <limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
  </joint>

  <link name="upper_arm_left">
    <visual>
      <origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
      <geometry>
        <mesh filename="../meshes/Little_Sophia_Arm_Left.obj"
          scale="0.001 0.001 0.001" />
      </geometry>
      <material name="upper_arm_left-material">
        <color rgba="0.0021246888847058823 0.04970656597728775 0.48514994004665124 1" />
      </material>
    </visual>
    <collision>
      <origin xyz="0 0 0.03" rpy="0 0 0" />
      <geometry>
        <box size="0.03 0.03 0.06" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0 0 0.03" rpy="0 0 0" />
      <mass value="1" />
      <inertia ixx="0.16666666666666666" ixy="0" ixz="0" iyy="0.16666666666666666" iyz="0"
        izz="0.16666666666666666" />
    </inertial>
  </link>

  <joint name="base_link_to_hip_right" type="revolute">
    <parent link="base_link" />
    <child link="hip_right" />
    <origin xyz="0.024 0.005 -0.023" rpy="0 0 0" />
    <axis xyz="0 0 -1" />
    <limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
  </joint>
  <link name="hip_right">
    <visual>
      <origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
      <geometry>
        <mesh filename="../meshes/Little_Sophia_Hip_Right.obj"
          scale="0.001 0.001 0.001" />
      </geometry>
      <material name="upper_leg_right-material">
        <color rgba="0.0021 0.0497 0.4851 1" />
      </material>
    </visual>
    <collision>
      <origin xyz="0 0 -0.035" rpy="0 0 0" />
      <geometry>
        <box size="0.04 0.04 0.07" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0 0 -0.035" rpy="0 0 0" />
      <mass value="1" />
      <inertia ixx="0.1667" ixy="0" ixz="0" iyy="0.1667" iyz="0" izz="0.1667" />
    </inertial>
  </link>

  <joint name="hip_right_to_upper_leg_right" type="revolute">
    <parent link="hip_right" />
    <child link="upper_leg_right" />
    <origin xyz="0.009 0.0 -0.023" rpy="0 0 0" />
    <axis xyz="-1 0 0" />
    <limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
  </joint>

  <link name="upper_leg_right">
    <visual>
      <origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
      <geometry>
        <mesh filename="../meshes/Little_Sophia_Upper_Leg_Right.obj"
          scale="0.001 0.001 0.001" />
      </geometry>
      <material name="upper_leg_right-material">
        <color rgba="0.0021 0.0497 0.4851 1" />
      </material>
    </visual>
    <collision>
      <origin xyz="0 0 -0.035" rpy="0 0 0" />
      <geometry>
        <box size="0.04 0.04 0.07" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0 0 -0.035" rpy="0 0 0" />
      <mass value="1" />
      <inertia ixx="0.1667" ixy="0" ixz="0" iyy="0.1667" iyz="0" izz="0.1667" />
    </inertial>
  </link>


  <!-- Upper leg to lower leg roll link (pivot at upper gear center) -->
  <joint name="upper_leg_right_to_lower_leg_right_roll" type="revolute">
    <parent link="upper_leg_right" />
    <child link="lower_leg_right_roll_link" />
    <origin xyz="0.0 0.007 -0.028" rpy="0 0 0" /> <!-- upper gear center -->
    <axis xyz="-1 0 0" /> <!-- rolling axis -->
    <limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
  </joint>

  <link name="lower_leg_right_roll_link" />

  <!-- Lower leg roll link to actual lower leg (pivot at lower gear center) -->
  <joint name="lower_leg_roll_to_lower_leg_right" type="revolute">
    <parent link="lower_leg_right_roll_link" />
    <child link="lower_leg_right" />
    <origin xyz="-0.001 -0.0025 -0.029" rpy="0 0 0" />
    <axis xyz="-1 0 0" />
    <limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
    <mimic joint="upper_leg_right_to_lower_leg_right_roll" multiplier="1.1" offset="0" />
  </joint>


  <link name="lower_leg_right">
    <visual>
      <origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
      <geometry>
        <mesh filename="../meshes/Little_Sophia_Lower_Leg_Right.obj"
          scale="0.001 0.001 0.001" />
      </geometry>
      <material name="lower_leg_right-material">
        <color rgba="0.0021 0.0497 0.4851 1" />
      </material>
    </visual>
    <collision>
      <origin xyz="0 0 -0.035" rpy="0 0 0" />
      <geometry>
        <box size="0.04 0.04 0.07" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0 0 -0.035" rpy="0 0 0" />
      <mass value="1" />
      <inertia ixx="0.1667" ixy="0" ixz="0" iyy="0.1667" iyz="0" izz="0.1667" />
    </inertial>
  </link>


  <joint name="lower_leg_right_to_foot_right" type="revolute">
    <parent link="lower_leg_right" />
    <child link="foot_right" />
    <origin xyz="0 0 -0.043" rpy="0 0 0" />
    <axis xyz="1 0 0" />
    <limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
  </joint>

  <link name="foot_right">
    <visual>
      <origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
      <geometry>
        <mesh filename="../meshes/Little_Sophia_Foot_Right.obj"
          scale="0.001 0.001 0.001" />
      </geometry>
      <material name="foot_right-material">
        <color rgba="0.0021 0.0497 0.4851 1" />
      </material>
    </visual>
    <collision>
      <origin xyz="0 0.02 -0.01" rpy="0 0 0" />
      <geometry>
        <box size="0.04 0.08 0.02" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0 0.02 -0.01" rpy="0 0 0" />
      <mass value="1" />
      <inertia ixx="0.1667" ixy="0" ixz="0" iyy="0.1667" iyz="0" izz="0.1667" />
    </inertial>
  </link>


  <!-- Left Upper Leg -->
  <joint name="base_link_to_hip_left" type="revolute">
    <parent link="base_link" />
    <child link="hip_left" />
    <origin xyz="-0.024 0.005 -0.023" rpy="0 0 0" />
    <axis xyz="0 0 -1" />
    <limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
  </joint>

  <link name="hip_left">
    <visual>
      <origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
      <geometry>
        <mesh filename="../meshes/Little_Sophia_Hip_Left.obj"
          scale="0.001 0.001 0.001" />
      </geometry>
      <material name="upper_leg_left-material">
        <color rgba="0.0021 0.0497 0.4851 1" />
      </material>
    </visual>
    <collision>
      <origin xyz="0 0 -0.035" rpy="0 0 0" />
      <geometry>
        <box size="0.04 0.04 0.07" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0 0 -0.035" rpy="0 0 0" />
      <mass value="1" />
      <inertia ixx="0.1667" ixy="0" ixz="0" iyy="0.1667" iyz="0" izz="0.1667" />
    </inertial>
  </link>

  <joint name="hip_left_to_upper_leg_left" type="revolute">
    <parent link="hip_left" />
    <child link="upper_leg_left" />
    <origin xyz="-0.009 0.0 -0.023" rpy="0 0 0" />
    <axis xyz="1 0 0" />
    <limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
  </joint>

  <link name="upper_leg_left">
    <visual>
      <origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
      <geometry>
        <mesh filename="../meshes/Little_Sophia_Upper_Leg_Left.obj"
          scale="0.001 0.001 0.001" />
      </geometry>
      <material name="upper_leg_left-material">
        <color rgba="0.0021 0.0497 0.4851 1" />
      </material>
    </visual>
    <collision>
      <origin xyz="0 0 -0.035" rpy="0 0 0" />
      <geometry>
        <box size="0.04 0.04 0.07" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0 0 -0.035" rpy="0 0 0" />
      <mass value="1" />
      <inertia ixx="0.1667" ixy="0" ixz="0" iyy="0.1667" iyz="0" izz="0.1667" />
    </inertial>
  </link>

  <!-- Upper leg to lower leg roll link (pivot at upper gear center) -->
  <joint name="upper_leg_left_to_lower_leg_left_roll" type="revolute">
    <parent link="upper_leg_left" />
    <child link="lower_leg_left_roll_link" />
    <origin xyz="0.0 0.007 -0.028" rpy="0 0 0" /> <!-- upper gear center -->
    <axis xyz="1 0 0" /> <!-- rolling axis -->
    <limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
  </joint>

  <link name="lower_leg_left_roll_link" />

  <!-- Lower leg roll link to actual lower leg (pivot at lower gear center) -->
  <joint name="lower_leg_roll_to_lower_leg_left" type="revolute">
    <parent link="lower_leg_left_roll_link" />
    <child link="lower_leg_left" />
    <origin xyz="-0.001 -0.0025 -0.029" rpy="0 0 0" />
    <axis xyz="1 0 0" />
    <limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
    <mimic joint="upper_leg_left_to_lower_leg_left_roll" multiplier="1.1" offset="0" />
  </joint>


  <link name="lower_leg_left">
    <visual>
      <origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
      <geometry>
        <mesh filename="../meshes/Little_Sophia_Lower_Leg_Left.obj"
          scale="0.001 0.001 0.001" />
      </geometry>
      <material name="lower_leg_right-material">
        <color rgba="0.0021 0.0497 0.4851 1" />
      </material>
    </visual>
    <collision>
      <origin xyz="0 0 -0.035" rpy="0 0 0" />
      <geometry>
        <box size="0.04 0.04 0.07" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0 0 -0.035" rpy="0 0 0" />
      <mass value="1" />
      <inertia ixx="0.1667" ixy="0" ixz="0" iyy="0.1667" iyz="0" izz="0.1667" />
    </inertial>
  </link>

  <joint name="lower_leg_left_to_foot_left" type="revolute">
    <parent link="lower_leg_left" />
    <child link="foot_left" />
    <origin xyz="0 0 -0.043" rpy="0 0 0" />
    <axis xyz="-1 0 0" />
    <limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
  </joint>


  <link name="foot_left">
    <visual>
      <origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
      <geometry>
        <mesh filename="../meshes/Little_Sophia_Foot_Left.obj"
          scale="0.001 0.001 0.001" />
      </geometry>
      <material name="foot_left-material">
        <color rgba="0.0021 0.0497 0.4851 1" />
      </material>
    </visual>
    <collision>
      <origin xyz="0 0.02 -0.01" rpy="0 0 0" />
      <geometry>
        <box size="0.04 0.08 0.02" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0 0.02 -0.01" rpy="0 0 0" />
      <mass value="1" />
      <inertia ixx="0.1667" ixy="0" ixz="0" iyy="0.1667" iyz="0" izz="0.1667" />
    </inertial>
  </link>

  <joint name="foot_left_to_foot_left_outer" type="revolute">
    <parent link="foot_left" />
    <child link="foot_left_outer" />
    <origin xyz="-0.0215 -0.033 -0.021" rpy="0 0 0" />
    <axis xyz="0.05 0 0" />
    <limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
  </joint>


  <link name="foot_left_outer">
    <visual>
      <origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
      <geometry>
        <mesh filename="../meshes/Little_Sophia_Foot_Left_Outer.obj"
          scale="0.001 0.001 0.001" />
      </geometry>
      <material name="foot_left-material">
        <color rgba="0.0021 0.0497 0.4851 1" />
      </material>
    </visual>
    <collision>
      <origin xyz="0 0.02 -0.01" rpy="0 0 0" />
      <geometry>
        <box size="0.04 0.08 0.02" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0 0.02 -0.01" rpy="0 0 0" />
      <mass value="1" />
      <inertia ixx="0.1667" ixy="0" ixz="0" iyy="0.1667" iyz="0" izz="0.1667" />
    </inertial>
  </link>

  <joint name="foot_right_to_foot_right_outer" type="revolute">
    <parent link="foot_right" />
    <child link="foot_right_outer" />
    <origin xyz="0.0215 -0.033 -0.021" rpy="0 0 0" />
    <axis xyz="0.05 0 0" />
    <limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
  </joint>

  <link name="foot_right_outer">
    <visual>
      <origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
      <geometry>
        <mesh filename="../meshes/Little_Sophia_Foot_Right_Outer.obj"
          scale="0.001 0.001 0.001" />
      </geometry>
      <material name="foot_left-material">
        <color rgba="0.0021 0.0497 0.4851 1" />
      </material>
    </visual>
    <collision>
      <origin xyz="0 0.02 -0.01" rpy="0 0 0" />
      <geometry>
        <box size="0.04 0.08 0.02" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0 0.02 -0.01" rpy="0 0 0" />
      <mass value="1" />
      <inertia ixx="0.1667" ixy="0" ixz="0" iyy="0.1667" iyz="0" izz="0.1667" />
    </inertial>
  </link>


  <!-- Spine to yaw joint -->
  <joint name="base_link_to_neck_yaw" type="revolute">
    <parent link="base_link" />
    <child link="neck_yaw_link" />
    <origin xyz="0 0 0.065" rpy="0 0 0" />
    <axis xyz="0 0 1" /> <!-- yaw/pan around Z -->
    <limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
  </joint>
  <link name="neck_yaw_link" />

  <!-- Pitch joint -->
  <joint name="neck_pitch" type="revolute">
    <parent link="neck_yaw_link" />
    <child link="neck_pitch_link" />
    <origin xyz="0 0 0" rpy="0 0 0" />
    <axis xyz="-1 0 0" /> <!-- pitch around X -->
    <limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
  </joint>
  <link name="neck_pitch_link" />

  <!-- Roll joint -->
  <joint name="neck_roll" type="revolute">
    <parent link="neck_pitch_link" />
    <child link="head" />
    <origin xyz="0 0 0" rpy="0 0 0" />
    <axis xyz="0 1 0" /> <!-- roll around Y -->
    <limit effort="1000.0" lower="-1" upper="1" velocity="0.5" />
  </joint>

  <!-- Head (includes fused neck geometry) -->
  <link name="head">
    <visual>
      <origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
      <geometry>
        <mesh filename="../meshes/Little_Sophia_Face.obj"
          scale="0.001 0.001 0.001" />
      </geometry>
      <material name="head-material">
        <color rgba="0.002 0.05 0.48 1" />
      </material>
    </visual>
    <collision>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <geometry>
        <box size="0.06 0.06 0.06" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <mass value="1" />
      <inertia ixx="0.16" ixy="0" ixz="0" iyy="0.16" iyz="0" izz="0.16" />
    </inertial>
  </link>

  <!-- Left eye joint -->
  <joint name="eye_left_yaw" type="revolute">
    <parent link="head" />
    <child link="eye_left" />
    <!-- Position the eye relative to the head -->
    <origin xyz="-0.0198 0.024 0.065" rpy="0 0 0" />
    <!-- yaw axis: adjust depending on your coordinate system -->
    <axis xyz="0 0 -1" />
    <limit effort="10.0" lower="-1.0" upper="1.0" velocity="1.0" />
  </joint>

  <link name="eye_left">
    <visual>
      <origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
      <geometry>
        <mesh filename="../meshes/Little_Sophia_Eye_Left.obj"
          scale="0.001 0.001 0.001" />
      </geometry>
    </visual>
    <collision>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <geometry>
        <sphere radius="0.01" />
      </geometry>
    </collision>
    <inertial>
      <mass value="0.01" />
      <inertia ixx="1e-5" iyy="1e-5" izz="1e-5" ixy="0" ixz="0" iyz="0" />
    </inertial>
  </link>

  <!-- Right eye joint -->
  <joint name="eye_right_yaw" type="revolute">
    <parent link="head" />
    <child link="eye_right" />
    <origin xyz="0.0193 0.024 0.065" rpy="0 0 0" />
    <axis xyz="0 0 -1" />
    <limit effort="10.0" lower="-1.0" upper="1.0" velocity="1.0" />
  </joint>

  <link name="eye_right">
    <visual>
      <origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
      <geometry>
        <mesh filename="../meshes/Little_Sophia_Eye_Right.obj"
          scale="0.001 0.001 0.001" />
      </geometry>
    </visual>
    <collision>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <geometry>
        <sphere radius="0.01" />
      </geometry>
    </collision>
    <inertial>
      <mass value="0.01" />
      <inertia ixx="1e-5" iyy="1e-5" izz="1e-5" ixy="0" ixz="0" iyz="0" />
    </inertial>
  </link>

  <joint name="eyelid_upper_pitch" type="revolute">
    <parent link="head" />
    <child link="eyelid_upper" />
    <origin xyz="-0.0005 0.024 0.056" rpy="0 0 0" />
    <axis xyz="1 0 0" />
    <limit effort="10.0" lower="-1.0" upper="1.0" velocity="1.0" />
  </joint>

  <link name="eyelid_upper">
    <visual>
      <origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
      <geometry>
        <mesh filename="../meshes/Little_Sophia_Eyelid_Upper.obj"
          scale="0.001 0.001 0.001" />
      </geometry>
    </visual>
    <collision>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <geometry>
        <sphere radius="0.01" />
      </geometry>
    </collision>
    <inertial>
      <mass value="0.01" />
      <inertia ixx="1e-5" iyy="1e-5" izz="1e-5" ixy="0" ixz="0" iyz="0" />
    </inertial>
  </link>

  <joint name="eyelid_lower_pitch" type="revolute">
    <parent link="head" />
    <child link="eyelid_lower" />
    <origin xyz="-0.0005 0.024 0.056" rpy="0 0 0" />
    <axis xyz="1 0 0" />
    <mimic joint="eyelid_upper_pitch" multiplier="-1.0" offset="0" />
    <limit effort="10.0" lower="-1.0" upper="1.0" velocity="1.0" />
  </joint>

  <link name="eyelid_lower">
    <visual>
      <origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
      <geometry>
        <mesh filename="../meshes/Little_Sophia_Eyelid_Lower.obj"
          scale="0.001 0.001 0.001" />
      </geometry>
    </visual>
    <collision>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <geometry>
        <sphere radius="0.01" />
      </geometry>
    </collision>
    <inertial>
      <mass value="0.01" />
      <inertia ixx="1e-5" iyy="1e-5" izz="1e-5" ixy="0" ixz="0" iyz="0" />
    </inertial>
  </link>

  <joint name="teeth_lower_pitch" type="revolute">
    <parent link="head" />
    <child link="teeth_lower" />
    <origin xyz="-0.0009 0.01 0.026" rpy="0 0 0" />
    <axis xyz="-1 0 0" />
    <limit effort="10.0" lower="-1.0" upper="1.0" velocity="1.0" />
  </joint>

  <link name="teeth_lower">
    <visual>
      <origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
      <geometry>
        <mesh filename="../meshes/Little_Sophia_Teeth_Lower.obj"
          scale="0.001 0.001 0.001" />
      </geometry>
    </visual>
    <collision>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <geometry>
        <sphere radius="0.01" />
      </geometry>
    </collision>
    <inertial>
      <mass value="0.01" />
      <inertia ixx="1e-5" iyy="1e-5" izz="1e-5" ixy="0" ixz="0" iyz="0" />
    </inertial>
  </link>

  <joint name="teeth_upper_pitch" type="revolute">
    <parent link="head" />
    <child link="teeth_upper" />
    <origin xyz="-0.0009 0.01 0.026" rpy="0 0 0" />
    <axis xyz="1 0 0" />
    <limit effort="10.0" lower="-1.0" upper="1.0" velocity="1.0" />
  </joint>

  <link name="teeth_upper">
    <visual>
      <origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
      <geometry>
        <mesh filename="../meshes/Little_Sophia_Teeth_Upper.obj"
          scale="0.001 0.001 0.001" />
      </geometry>
    </visual>
    <collision>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <geometry>
        <sphere radius="0.01" />
      </geometry>
    </collision>
    <inertial>
      <mass value="0.01" />
      <inertia ixx="1e-5" iyy="1e-5" izz="1e-5" ixy="0" ixz="0" iyz="0" />
    </inertial>
  </link>

  <joint name="smile_left_roll" type="revolute">
    <parent link="head" />
    <child link="smile_left" />
    <origin xyz="-0.021 -0.002 0.018" rpy="0 0 0" />
    <axis xyz="0 1 0" />
    <limit effort="10.0" lower="-1.0" upper="1.0" velocity="1.0" />
  </joint>

  <link name="smile_left">
    <visual>
      <origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
      <geometry>
        <mesh filename="../meshes/Little_Sophia_Smile_Left.obj"
          scale="0.001 0.001 0.001" />
      </geometry>
    </visual>
    <collision>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <geometry>
        <sphere radius="0.01" />
      </geometry>
    </collision>
    <inertial>
      <mass value="0.01" />
      <inertia ixx="1e-5" iyy="1e-5" izz="1e-5" ixy="0" ixz="0" iyz="0" />
    </inertial>
  </link>

  <joint name="smile_right_roll" type="revolute">
    <parent link="head" />
    <child link="smile_right" />
    <origin xyz="0.021 -0.002 0.018" rpy="0 0 0" />
    <axis xyz="0 1 0" />
    <limit effort="10.0" lower="-1.0" upper="1.0" velocity="1.0" />
  </joint>

  <link name="smile_right">
    <visual>
      <origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
      <geometry>
        <mesh filename="../meshes/Little_Sophia_Smile_Right.obj"
          scale="0.001 0.001 0.001" />
      </geometry>
    </visual>
    <collision>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <geometry>
        <sphere radius="0.01" />
      </geometry>
    </collision>
    <inertial>
      <mass value="0.01" />
      <inertia ixx="1e-5" iyy="1e-5" izz="1e-5" ixy="0" ixz="0" iyz="0" />
    </inertial>
  </link>

  <joint name="brow_right_roll" type="revolute">
    <parent link="head" />
    <child link="brow_right" />
    <origin xyz="0.018 -0.01 0.07" rpy="0 0 0" />
    <axis xyz="1 0 0" />
    <limit effort="10.0" lower="-1.0" upper="1.0" velocity="1.0" />
  </joint>

  <link name="brow_right">
    <visual>
      <origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
      <geometry>
        <mesh filename="../meshes/Little_Sophia_Brow_Right.obj"
          scale="0.001 0.001 0.001" />
      </geometry>
    </visual>
    <collision>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <geometry>
        <sphere radius="0.01" />
      </geometry>
    </collision>
    <inertial>
      <mass value="0.01" />
      <inertia ixx="1e-5" iyy="1e-5" izz="1e-5" ixy="0" ixz="0" iyz="0" />
    </inertial>
  </link>

  <joint name="brow_left_roll" type="revolute">
    <parent link="head" />
    <child link="brow_left" />
    <origin xyz="-0.018 -0.01 0.07" rpy="0 0 0" />
    <axis xyz="1 0 0" />
    <limit effort="10.0" lower="-1.0" upper="1.0" velocity="1.0" />
  </joint>

  <link name="brow_left">
    <visual>
      <origin xyz="0 0 0" rpy="-1.5745 3.149 0" />
      <geometry>
        <mesh filename="../meshes/Little_Sophia_Brow_Left.obj"
          scale="0.001 0.001 0.001" />
      </geometry>
    </visual>
    <collision>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <geometry>
        <sphere radius="0.01" />
      </geometry>
    </collision>
    <inertial>
      <mass value="0.01" />
      <inertia ixx="1e-5" iyy="1e-5" izz="1e-5" ixy="0" ixz="0" iyz="0" />
    </inertial>
  </link>


  <transmission name="upper_arm_left">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="base_link_to_upper_arm_left">
      <hardwareInterface>PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="upper_arm_left">
      <mechanicalReduction>1</mechanicalReduction>
      <hardwareInterface>PositionJointInterface</hardwareInterface>
      <encoderTicks>4096</encoderTicks>
      <encoderValidMin>200</encoderValidMin>
      <encoderValidMax>3500</encoderValidMax>
      <encoderRange>300</encoderRange>
      <motorID>23</motorID>
    </actuator>
  </transmission>
  <transmission name="hand_left">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="lower_arm_left_to_hand_left">
      <hardwareInterface>PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="hand_left">
      <mechanicalReduction>1</mechanicalReduction>
      <hardwareInterface>PositionJointInterface</hardwareInterface>
      <encoderTicks>4096</encoderTicks>
      <encoderValidMin>200</encoderValidMin>
      <encoderValidMax>3500</encoderValidMax>
      <encoderRange>300</encoderRange>
    </actuator>
  </transmission>

  <transmission name="upper_arm_right">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="base_link_to_upper_arm_right">
      <hardwareInterface>PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="upper_arm_right">
      <mechanicalReduction>1</mechanicalReduction>
      <hardwareInterface>PositionJointInterface</hardwareInterface>
      <encoderTicks>4096</encoderTicks>
      <encoderValidMin>200</encoderValidMin>
      <encoderValidMax>3500</encoderValidMax>
      <encoderRange>300</encoderRange>
      <motorID>25</motorID>
    </actuator>
  </transmission>


  <transmission name="hip_right">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="base_link_to_hip_right">
      <hardwareInterface>PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="hip_right">
      <mechanicalReduction>3</mechanicalReduction>
      <hardwareInterface>PositionJointInterface</hardwareInterface>
      <encoderTicks>4096</encoderTicks>
      <encoderValidMin>200</encoderValidMin>
      <encoderValidMax>3500</encoderValidMax>
      <encoderRange>300</encoderRange>
      <motorID>34</motorID>
    </actuator>
  </transmission>

  <transmission name="upper_leg_right">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="hip_right_to_upper_leg_right">
      <hardwareInterface>PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="upper_leg_right">
      <mechanicalReduction>1.4</mechanicalReduction>
      <hardwareInterface>PositionJointInterface</hardwareInterface>
      <encoderTicks>4096</encoderTicks>
      <encoderValidMin>200</encoderValidMin>
      <encoderValidMax>3500</encoderValidMax>
      <encoderRange>300</encoderRange>
      <motorID>33</motorID>
    </actuator>
  </transmission>

  <transmission name="lower_leg_right">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="upper_leg_right_to_lower_leg_right_roll">
      <hardwareInterface>PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="lower_leg_right">
      <mechanicalReduction>1</mechanicalReduction>
      <hardwareInterface>PositionJointInterface</hardwareInterface>
      <encoderTicks>4096</encoderTicks>
      <encoderValidMin>200</encoderValidMin>
      <encoderValidMax>3500</encoderValidMax>
      <encoderRange>300</encoderRange>
      <motorID>32</motorID>
    </actuator>
  </transmission>

  <transmission name="foot_right">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="lower_leg_right_to_foot_right">
      <hardwareInterface>PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="foot_right">
      <mechanicalReduction>3</mechanicalReduction>
      <hardwareInterface>PositionJointInterface</hardwareInterface>
      <encoderTicks>4096</encoderTicks>
      <encoderValidMin>200</encoderValidMin>
      <encoderValidMax>3500</encoderValidMax>
      <encoderRange>300</encoderRange>
      <motorID>30</motorID>
    </actuator>
  </transmission>

  <transmission name="foot_right_outer">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="foot_right_to_foot_right_outer">
      <hardwareInterface>PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="foot_right_outer">
      <mechanicalReduction>3</mechanicalReduction>
      <hardwareInterface>PositionJointInterface</hardwareInterface>
      <encoderTicks>4096</encoderTicks>
      <encoderValidMin>200</encoderValidMin>
      <encoderValidMax>3500</encoderValidMax>
      <encoderRange>300</encoderRange>
      <motorID>31</motorID>
    </actuator>
  </transmission>

  <transmission name="hip_left">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="base_link_to_hip_left">
      <hardwareInterface>PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="hip_left">
      <mechanicalReduction>3</mechanicalReduction>
      <hardwareInterface>PositionJointInterface</hardwareInterface>
      <encoderTicks>4096</encoderTicks>
      <encoderValidMin>200</encoderValidMin>
      <encoderValidMax>3500</encoderValidMax>
      <encoderRange>300</encoderRange>
      <motorID>39</motorID>
    </actuator>
  </transmission>

  <transmission name="upper_leg_left">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="hip_left_to_upper_leg_left">
      <hardwareInterface>PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="upper_leg_left">
      <mechanicalReduction>1.4</mechanicalReduction>
      <hardwareInterface>PositionJointInterface</hardwareInterface>
      <encoderTicks>4096</encoderTicks>
      <encoderValidMin>200</encoderValidMin>
      <encoderValidMax>3500</encoderValidMax>
      <encoderRange>300</encoderRange>
      <motorID>38</motorID>
    </actuator>
  </transmission>

  <transmission name="lower_leg_left">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="upper_leg_left_to_lower_leg_left_roll">
      <hardwareInterface>PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="lower_leg_left">
      <mechanicalReduction>1</mechanicalReduction>
      <hardwareInterface>PositionJointInterface</hardwareInterface>
      <encoderTicks>4096</encoderTicks>
      <encoderValidMin>200</encoderValidMin>
      <encoderValidMax>3500</encoderValidMax>
      <encoderRange>300</encoderRange>
      <motorID>37</motorID>
    </actuator>
  </transmission>


  <transmission name="foot_left">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="lower_leg_left_to_foot_left">
      <hardwareInterface>PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="foot_left">
      <mechanicalReduction>3</mechanicalReduction>
      <hardwareInterface>PositionJointInterface</hardwareInterface>
      <encoderTicks>4096</encoderTicks>
      <encoderValidMin>200</encoderValidMin>
      <encoderValidMax>3500</encoderValidMax>
      <encoderRange>300</encoderRange>
      <motorID>35</motorID>
    </actuator>
  </transmission>

  <transmission name="foot_left_outer">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="foot_left_to_foot_left_outer">
      <hardwareInterface>PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="foot_left_outer">
      <mechanicalReduction>3</mechanicalReduction>
      <hardwareInterface>PositionJointInterface</hardwareInterface>
      <encoderTicks>4096</encoderTicks>
      <encoderValidMin>200</encoderValidMin>
      <encoderValidMax>3500</encoderValidMax>
      <encoderRange>300</encoderRange>
      <motorID>36</motorID>
    </actuator>
  </transmission>

  <!-- Yaw (pan) transmission -->
  <transmission name="neck_yaw_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="base_link_to_neck_yaw">
      <hardwareInterface>PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="neck_yaw">
      <mechanicalReduction>1</mechanicalReduction>
      <hardwareInterface>PositionJointInterface</hardwareInterface>
      <encoderTicks>4096</encoderTicks>
      <encoderValidMin>200</encoderValidMin>
      <encoderValidMax>3500</encoderValidMax>
      <encoderRange>300</encoderRange>
      <motorID>27</motorID>
    </actuator>
  </transmission>

  <!-- Pitch transmission -->
  <transmission name="neck_pitch_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="neck_pitch">
      <hardwareInterface>PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="neck_pitch">
      <mechanicalReduction>1</mechanicalReduction>
      <hardwareInterface>PositionJointInterface</hardwareInterface>
      <encoderTicks>4096</encoderTicks>
      <encoderValidMin>500</encoderValidMin>
      <encoderValidMax>4095</encoderValidMax>
      <encoderRange>300</encoderRange>
      <motorID>41</motorID>
    </actuator>
  </transmission>

  <!-- Roll transmission -->
  <transmission name="neck_roll_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="neck_roll">
      <hardwareInterface>PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="neck_roll">
      <mechanicalReduction>1</mechanicalReduction>
      <hardwareInterface>PositionJointInterface</hardwareInterface>
      <encoderTicks>4095</encoderTicks>
      <encoderValidMin>100</encoderValidMin>
      <encoderValidMax>3900</encoderValidMax>
      <encoderRange>300</encoderRange>
      <motorID>42</motorID>
    </actuator>
  </transmission>

  <transmission name="eye_left_yaw">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="eye_left_yaw">
      <hardwareInterface>PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="eye_left_yaw">
      <mechanicalReduction>1</mechanicalReduction>
      <hardwareInterface>PositionJointInterface</hardwareInterface>
      <encoderTicks>4095</encoderTicks>
      <encoderValidMin>100</encoderValidMin>
      <encoderValidMax>3900</encoderValidMax>
      <encoderRange>300</encoderRange>
      <motorID>14</motorID>
    </actuator>
  </transmission>

  <transmission name="eye_right_yaw">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="eye_right_yaw">
      <hardwareInterface>PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="eye_right_yaw">
      <mechanicalReduction>1</mechanicalReduction>
      <hardwareInterface>PositionJointInterface</hardwareInterface>
      <encoderTicks>4095</encoderTicks>
      <encoderValidMin>100</encoderValidMin>
      <encoderValidMax>3900</encoderValidMax>
      <encoderRange>300</encoderRange>
      <motorID>15</motorID>
    </actuator>
  </transmission>

  <transmission name="eyelid_upper_pitch">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="eyelid_upper_pitch">
      <hardwareInterface>PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="eyelid_upper_pitch">
      <mechanicalReduction>1</mechanicalReduction>
      <hardwareInterface>PositionJointInterface</hardwareInterface>
      <encoderTicks>4095</encoderTicks>
      <encoderValidMin>100</encoderValidMin>
      <encoderValidMax>3900</encoderValidMax>
      <encoderRange>300</encoderRange>
      <motorID>10</motorID>
    </actuator>
  </transmission>

  <!-- Eyelid lower pitch follows upper via mimic; no separate transmission -->

  <transmission name="teeth_lower_pitch">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="teeth_lower_pitch">
      <hardwareInterface>PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="teeth_lower_pitch">
      <mechanicalReduction>1</mechanicalReduction>
      <hardwareInterface>PositionJointInterface</hardwareInterface>
      <encoderTicks>4095</encoderTicks>
      <encoderValidMin>100</encoderValidMin>
      <encoderValidMax>3900</encoderValidMax>
      <encoderRange>300</encoderRange>
      <motorID>40</motorID>
    </actuator>
  </transmission>

  <transmission name="smile_left_roll">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="smile_left_roll">
      <hardwareInterface>PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="smile_left_roll">
      <mechanicalReduction>1</mechanicalReduction>
      <hardwareInterface>PositionJointInterface</hardwareInterface>
      <encoderTicks>4095</encoderTicks>
      <encoderValidMin>100</encoderValidMin>
      <encoderValidMax>3900</encoderValidMax>
      <encoderRange>300</encoderRange>
      <motorID>43</motorID>
    </actuator>
  </transmission>

  <transmission name="smile_right_roll">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="smile_right_roll">
      <hardwareInterface>PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="smile_right_roll">
      <mechanicalReduction>1</mechanicalReduction>
      <hardwareInterface>PositionJointInterface</hardwareInterface>
      <encoderTicks>4095</encoderTicks>
      <encoderValidMin>100</encoderValidMin>
      <encoderValidMax>3900</encoderValidMax>
      <encoderRange>300</encoderRange>
      <motorID>44</motorID>
    </actuator>
  </transmission>

  <transmission name="brow_right_roll">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="brow_right_roll">
      <hardwareInterface>PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="brow_right_roll">
      <mechanicalReduction>1</mechanicalReduction>
      <hardwareInterface>PositionJointInterface</hardwareInterface>
      <encoderTicks>4095</encoderTicks>
      <encoderValidMin>100</encoderValidMin>
      <encoderValidMax>3900</encoderValidMax>
      <encoderRange>300</encoderRange>
      <motorID>1</motorID>
    </actuator>
  </transmission>

  <transmission name="brow_left_roll">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="brow_left_roll">
      <hardwareInterface>PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="brow_left_roll">
      <mechanicalReduction>1</mechanicalReduction>
      <hardwareInterface>PositionJointInterface</hardwareInterface>
      <encoderTicks>4095</encoderTicks>
      <encoderValidMin>100</encoderValidMin>
      <encoderValidMax>3900</encoderValidMax>
      <encoderRange>300</encoderRange>
      <motorID>0</motorID>
    </actuator>
  </transmission>

</robot>
