<?xml version="1.0" ?>
<!-- =================================================================================== -->
<!-- |    This document was autogenerated by xacro from robot.xacro                    | -->
<!-- |    EDITING THIS FILE BY HAND IS NOT RECOMMENDED                                 | -->
<!-- =================================================================================== -->
<robot name="go1_description" xmlns:xacro="http://www.ros.org/wiki/xacro">
  <material name="black">
    <color rgba="0.0 0.0 0.0 1.0"/>
  </material>
  <material name="blue">
    <color rgba="0.0 0.0 0.8 1.0"/>
  </material>
  <material name="green">
    <color rgba="0.0 0.8 0.0 1.0"/>
  </material>
  <material name="grey">
    <color rgba="0.2 0.2 0.2 1.0"/>
  </material>
  <material name="silver">
    <color rgba="0.913725490196 0.913725490196 0.847058823529 1.0"/>
  </material>
  <material name="orange">
    <color rgba="1.0 0.423529411765 0.0392156862745 1.0"/>
  </material>
  <material name="brown">
    <color rgba="0.870588235294 0.811764705882 0.764705882353 1.0"/>
  </material>
  <material name="red">
    <color rgba="0.8 0.0 0.0 1.0"/>
  </material>
  <material name="white">
    <color rgba="1.0 1.0 1.0 1.0"/>
  </material>
  <!-- ros_control plugin -->
  <!-- <gazebo>
    <plugin filename="libgazebo_ros_control.so" name="gazebo_ros_control">
      <robotNamespace>/go1_gazebo</robotNamespace>
      <robotSimType>gazebo_ros_control/DefaultRobotHWSim</robotSimType>
    </plugin>
  </gazebo> -->
  <!-- Show the trajectory of trunk center. -->
  <!-- <gazebo>
    <plugin filename="libLinkPlot3DPlugin.so" name="3dplot">
      <frequency>10</frequency>
      <plot>
        <link>base</link>
        <pose>0 0 0 0 0 0</pose>
        <material>Gazebo/Yellow</material>
      </plot>
    </plugin>
  </gazebo> -->
  <!-- Show the trajectory of foot. You can add another trajectory about another foot. -->
  <!-- <gazebo>
        <plugin name="3dplot" filename="libLinkPlot3DPlugin.so">
            <frequency>100</frequency>
            <plot>
                <link>FL_foot</link>
                <pose>0 0 0 0 0 0</pose>
                <material>Gazebo/Green</material>
            </plot>
        </plugin>
    </gazebo> -->
  <!-- <gazebo>
    <plugin filename="libgazebo_ros_force.so" name="gazebo_ros_force">
      <bodyName>trunk</bodyName>
      <topicName>/apply_force/trunk</topicName>
    </plugin>
  </gazebo> -->
  <!-- <gazebo reference="imu_link">
    <gravity>true</gravity>
    <sensor name="imu_sensor" type="imu">
      <always_on>true</always_on>
      <update_rate>1000</update_rate>
      <visualize>true</visualize>
      <topic>__default_topic__</topic>
      <plugin filename="libgazebo_ros_imu_sensor.so" name="imu_plugin">
        <topicName>trunk_imu</topicName>
        <bodyName>imu_link</bodyName>
        <updateRateHZ>1000.0</updateRateHZ>
        <gaussianNoise>0.0</gaussianNoise>
        <xyzOffset>0 0 0</xyzOffset>
        <rpyOffset>0 0 0</rpyOffset>
        <frameName>imu_link</frameName>
      </plugin>
      <pose>0 0 0 0 0 0</pose>
    </sensor>
  </gazebo> -->
  <!-- Depth camera -->
  <!-- <gazebo>
        <plugin name="camera_plugin" filename="libgazebo_ros_openni_kinect.so">
            <baseline>0.025</baseline>
            <always_on>true</always_on>
            <updateRate>0.0</updateRate>
            <cameraName>unitree_camera_left</cameraName>
            <frameName>depthCamera_link_left</frameName>
            <imageTopicName>rgb/imageRaw_left</imageTopicName>
            <depthImageTopicName>depth/imageRaw_left</depthImageTopicName>
            <pointCloudTopicName>depth/points_left</pointCloudTopicName>
            <cameraInfoTopicName>rgb/cameraInfo_left</cameraInfoTopicName>              
            <depthImageCameraInfoTopicName>depth/cameraInfo_left</depthImageCameraInfoTopicName>            
            <pointCloudCutoff>0.1</pointCloudCutoff>                
            <pointCloudCutoffMax>1.5</pointCloudCutoffMax>                
            <distortionK1>0.0</distortionK1>
            <distortionK2>0.0</distortionK2>
            <distortionK3>0.0</distortionK3>
            <distortionT1>0.0</distortionT1>
            <distortionT2>0.0</distortionT2>
            <CxPrime>0.0</CxPrime>
            <Cx>0.0045</Cx>
            <Cy>0.0039</Cy>
            <focalLength>0.004</focalLength>
            <hackBaseline>0.0</hackBaseline>
        </plugin>
    </gazebo> -->
  <!-- <gazebo reference="depthCamera_link_left">
        <sensor name="unitree_camera_left" type="depth_camera">
            <update_rate>16</update_rate>
            <always_on>true</always_on>
            <visualize>true</visualize>
            <camera>
                <horizontal_fov>2.094</horizontal_fov>
                <image>
                    <width>928</width>
                    <height>800</height>
                    <format>R8G8B8</format>
                </image>
                <depth_camera></depth_camera>
                <clip>
                    <near>0.1</near>
                    <far>100</far>
                </clip>
            </camera>
            <plugin name="camera_plugin" filename="libgazebo_ros_openni_kinect.so">
                <baseline>0.025</baseline>
                <always_on>true</always_on>
                <updateRate>0.0</updateRate>
                <cameraName>unitree_camera_left</cameraName>
                <frameName>depthCamera_link_left</frameName>
                <imageTopicName>rgb/imageRaw_left</imageTopicName>
                <depthImageTopicName>depth/imageRaw_left</depthImageTopicName>
                <pointCloudTopicName>depth/points_left</pointCloudTopicName>
                <cameraInfoTopicName>rgb/cameraInfo_left</cameraInfoTopicName>              
                <depthImageCameraInfoTopicName>depth/cameraInfo_left</depthImageCameraInfoTopicName>            
                <pointCloudCutoff>0.1</pointCloudCutoff>                
                <pointCloudCutoffMax>1.5</pointCloudCutoffMax>                
                <distortionK1>0.0</distortionK1>
                <distortionK2>0.0</distortionK2>
                <distortionK3>0.0</distortionK3>
                <distortionT1>0.0</distortionT1>
                <distortionT2>0.0</distortionT2>
                <CxPrime>0.0</CxPrime>
                <Cx>0.0045</Cx>
                <Cy>0.0039</Cy>
                <focalLength>0.004</focalLength>
                <hackBaseline>0.0</hackBaseline>
            </plugin>
        </sensor>
    </gazebo> -->
  <!-- <gazebo reference="depthCamera_link_left">
    <sensor name="camera_link_camera" type="depth">
      <update_rate>20</update_rate>
      <camera>
        <horizontal_fov>1.047198</horizontal_fov>
        <image>
          <width>640</width>
          <height>480</height>
          <format>R8G8B8</format>
        </image>
        <clip>
          <near>0.05</near>
          <far>3</far>
        </clip>
      </camera>
      <plugin filename="libgazebo_ros_openni_kinect.so" name="camera_link_controller">
        <baseline>0.2</baseline>
        <alwaysOn>true</alwaysOn>
        <updateRate>1.0</updateRate>
        <cameraName>camera_link_ir</cameraName>
        <imageTopicName>/camera_link/color/image_raw</imageTopicName>
        <cameraInfoTopicName>/camera_link/color/camera_info</cameraInfoTopicName>
        <depthImageTopicName>/camera_link/depth/image_raw</depthImageTopicName>
        <depthImageInfoTopicName>/camera_link/depth/camera_info</depthImageInfoTopicName>
        <pointCloudTopicName>/camera_link/depth/points</pointCloudTopicName>
        <frameName>depthCamera_link_left</frameName>
        <pointCloudCutoff>0.5</pointCloudCutoff>
        <pointCloudCutoffMax>3.0</pointCloudCutoffMax>
        <distortionK1>0.00000001</distortionK1>
        <distortionK2>0.00000001</distortionK2>
        <distortionK3>0.00000001</distortionK3>
        <distortionT1>0.00000001</distortionT1>
        <distortionT2>0.00000001</distortionT2>
        <CxPrime>0</CxPrime>
        <Cx>0</Cx>
        <Cy>0</Cy>
        <focalLength>0</focalLength>
        <hackBaseline>0</hackBaseline>
      </plugin>
    </sensor>
  </gazebo> -->
  <!-- Foot contacts. -->
  <!-- <gazebo reference="FR_calf">
    <sensor name="FR_foot_contact" type="contact">
      <update_rate>100</update_rate>
      <plugin filename="libunitreeFootContactPlugin.so" name="contactPlugin"/>
      <contact>
        <collision>FR_calf_fixed_joint_lump__FR_foot_collision_1</collision>
      </contact>
    </sensor>
  </gazebo>
  <gazebo reference="FL_calf">
    <sensor name="FL_foot_contact" type="contact">
      <update_rate>100</update_rate>
      <plugin filename="libunitreeFootContactPlugin.so" name="contactPlugin"/>
      <contact>
        <collision>FL_calf_fixed_joint_lump__FL_foot_collision_1</collision>
      </contact>
    </sensor>
  </gazebo>
  <gazebo reference="RR_calf">
    <sensor name="RR_foot_contact" type="contact">
      <update_rate>100</update_rate>
      <plugin filename="libunitreeFootContactPlugin.so" name="contactPlugin"/>
      <contact>
        <collision>RR_calf_fixed_joint_lump__RR_foot_collision_1</collision>
      </contact>
    </sensor>
  </gazebo>
  <gazebo reference="RL_calf">
    <sensor name="RL_foot_contact" type="contact">
      <update_rate>100</update_rate>
      <plugin filename="libunitreeFootContactPlugin.so" name="contactPlugin"/>
      <contact>
        <collision>RL_calf_fixed_joint_lump__RL_foot_collision_1</collision>
      </contact>
    </sensor>
  </gazebo> -->
  <!-- Visualization of Foot contacts. -->
  <gazebo reference="FR_foot">
    <visual>
      <plugin filename="libunitreeDrawForcePlugin.so" name="drawForcePlugin">
        <topicName>FR_foot_contact</topicName>
      </plugin>
    </visual>
  </gazebo>
  <gazebo reference="FL_foot">
    <visual>
      <plugin filename="libunitreeDrawForcePlugin.so" name="drawForcePlugin">
        <topicName>FL_foot_contact</topicName>
      </plugin>
    </visual>
  </gazebo>
  <gazebo reference="RR_foot">
    <visual>
      <plugin filename="libunitreeDrawForcePlugin.so" name="drawForcePlugin">
        <topicName>RR_foot_contact</topicName>
      </plugin>
    </visual>
  </gazebo>
  <gazebo reference="RL_foot">
    <visual>
      <plugin filename="libunitreeDrawForcePlugin.so" name="drawForcePlugin">
        <topicName>RL_foot_contact</topicName>
      </plugin>
    </visual>
  </gazebo>
  <gazebo reference="base">
    <material>Gazebo/Green</material>
    <turnGravityOff>false</turnGravityOff>
  </gazebo>
  <gazebo reference="trunk">
    <mu1>0.2</mu1>
    <mu2>0.2</mu2>
    <kp value="1000000.0"/>
    <kd value="1.0"/>
  </gazebo>
  <gazebo reference="stick_link">
    <mu1>0.2</mu1>
    <mu2>0.2</mu2>
    <material>Gazebo/White</material>
  </gazebo>
  <gazebo reference="imu_link">
    <mu1>0.2</mu1>
    <mu2>0.2</mu2>
    <material>Gazebo/Red</material>
  </gazebo>
  <!-- FL leg -->
  <gazebo reference="FL_hip">
    <mu1>0.2</mu1>
    <mu2>0.2</mu2>
    <material>Gazebo/DarkGrey</material>
  </gazebo>
  <gazebo reference="FL_thigh">
    <mu1>0.2</mu1>
    <mu2>0.2</mu2>
    <self_collide>1</self_collide>
    <material>Gazebo/DarkGrey</material>
    <kp value="1000000.0"/>
    <kd value="1.0"/>
  </gazebo>
  <gazebo reference="FL_calf">
    <mu1>0.2</mu1>
    <mu2>0.2</mu2>
    <self_collide>1</self_collide>
  </gazebo>
  <gazebo reference="FL_foot">
    <mu1>0.6</mu1>
    <mu2>0.6</mu2>
    <self_collide>1</self_collide>
    <material>Gazebo/DarkGrey</material>
    <kp value="1000000.0"/>
    <kd value="1.0"/>
  </gazebo>
  <!-- FR leg -->
  <gazebo reference="FR_hip">
    <mu1>0.2</mu1>
    <mu2>0.2</mu2>
    <material>Gazebo/DarkGrey</material>
  </gazebo>
  <gazebo reference="FR_thigh">
    <mu1>0.2</mu1>
    <mu2>0.2</mu2>
    <self_collide>1</self_collide>
    <material>Gazebo/DarkGrey</material>
    <kp value="1000000.0"/>
    <kd value="1.0"/>
  </gazebo>
  <gazebo reference="FR_calf">
    <mu1>0.2</mu1>
    <mu2>0.2</mu2>
    <self_collide>1</self_collide>
  </gazebo>
  <gazebo reference="FR_foot">
    <mu1>0.6</mu1>
    <mu2>0.6</mu2>
    <self_collide>1</self_collide>
    <material>Gazebo/DarkGrey</material>
    <kp value="1000000.0"/>
    <kd value="1.0"/>
  </gazebo>
  <!-- RL leg -->
  <gazebo reference="RL_hip">
    <mu1>0.2</mu1>
    <mu2>0.2</mu2>
    <material>Gazebo/DarkGrey</material>
  </gazebo>
  <gazebo reference="RL_thigh">
    <mu1>0.2</mu1>
    <mu2>0.2</mu2>
    <self_collide>1</self_collide>
    <material>Gazebo/DarkGrey</material>
    <kp value="1000000.0"/>
    <kd value="1.0"/>
  </gazebo>
  <gazebo reference="RL_calf">
    <mu1>0.2</mu1>
    <mu2>0.2</mu2>
    <self_collide>1</self_collide>
  </gazebo>
  <gazebo reference="RL_foot">
    <mu1>0.6</mu1>
    <mu2>0.6</mu2>
    <self_collide>1</self_collide>
    <material>Gazebo/DarkGrey</material>
    <kp value="1000000.0"/>
    <kd value="1.0"/>
  </gazebo>
  <!-- RR leg -->
  <gazebo reference="RR_hip">
    <mu1>0.2</mu1>
    <mu2>0.2</mu2>
    <material>Gazebo/DarkGrey</material>
  </gazebo>
  <gazebo reference="RR_thigh">
    <mu1>0.2</mu1>
    <mu2>0.2</mu2>
    <self_collide>1</self_collide>
    <material>Gazebo/DarkGrey</material>
    <kp value="1000000.0"/>
    <kd value="1.0"/>
  </gazebo>
  <gazebo reference="RR_calf">
    <mu1>0.2</mu1>
    <mu2>0.2</mu2>
    <self_collide>1</self_collide>
  </gazebo>
  <gazebo reference="RR_foot">
    <mu1>0.6</mu1>
    <mu2>0.6</mu2>
    <self_collide>1</self_collide>
    <material>Gazebo/DarkGrey</material>
    <kp value="1000000.0"/>
    <kd value="1.0"/>
  </gazebo>
  <!-- <xacro:include filename="$(find go1_gazebo)/launch/stairs.urdf.xacro"/> -->
  <!-- <xacro:stairs stairs="15" xpos="0" ypos="0" zpos="0" /> -->
  <!-- Debug mode will hung up the robot, use "true" or "false" to switch it. -->
  <!-- <xacro:if value="$(arg DEBUG)">
    <link name="world"/>
    <joint name="base_static_joint" type="fixed">
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <parent link="world"/>
      <child link="base"/>
    </joint>
  </xacro:if>  -->
  <link name="base">
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <box size="0.001 0.001 0.001"/>
      </geometry>
    </visual>
  </link>
  <joint name="floating_base" type="fixed">
    <origin rpy="0 0 0" xyz="0 0 0"/>
    <parent link="base"/>
    <child link="trunk"/>
  </joint>
  <link name="trunk">
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="../meshes/trunk.dae" scale="1 1 1"/>
      </geometry>
      <!-- <material name="orange"/> -->
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <box size="0.28 0.16 0.11"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 0" xyz="0.0223 0.002 -0.0005"/>
      <mass value="5.204"/>
      <inertia ixx="0.0168352186" ixy="0.0004636141" ixz="0.0002367952" iyy="0.0656071082" iyz="3.6671e-05" izz="0.0742720659"/>
    </inertial>
  </link>
  <joint name="imu_joint" type="fixed">
    <parent link="trunk"/>
    <child link="imu_link"/>
    <origin rpy="0 0 0" xyz="-0.01592 -0.06659 -0.00617"/>
  </joint>
  <link name="imu_link">
    <inertial>
      <mass value="0.001"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="0.0001" ixy="0" ixz="0" iyy="0.0001" iyz="0" izz="0.0001"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <box size="0.001 0.001 0.001"/>
      </geometry>
      <!-- <material name="red"/> -->
    </visual>
    <collision>
      <!-- For front face camera module -->
      <!-- The additional realsense camera is taken into account -->
      <origin rpy="0 0 0" xyz="0.28 0.06659 0.0325"/>
      <geometry>
        <box size=".05 .11 .17"/>
      </geometry>
    </collision>
  </link>
  <joint name="FR_hip_joint" type="revolute">
    <origin rpy="0 0 0" xyz="0.1881 -0.04675 0"/>
    <parent link="trunk"/>
    <child link="FR_hip"/>
    <axis xyz="1 0 0"/>
    <dynamics damping="0.0" friction="0.0"/>
    <limit effort="23.7" lower="-1.0471975512" upper="1.0471975512" velocity="30.1"/>
  </joint>
  <link name="FR_hip">
    <visual>
      <origin rpy="3.14159265359 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="../meshes/hip.dae" scale="1 1 1"/>
      </geometry>
      <!-- <material name="orange"/> -->
    </visual>
    <!-- <collision>
      <origin rpy="1.57079632679 0 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.04" radius="0.046"/>
      </geometry>
    </collision> -->
    <inertial>
      <origin rpy="0 0 0" xyz="-0.00541 0.00074 6e-06"/>
      <mass value="0.591"/>
      <inertia ixx="0.000374268192" ixy="-3.6844422e-05" ixz="-9.86754e-07" iyy="0.000635923669" iyz="1.172894e-06" izz="0.000457647394"/>
    </inertial>
  </link>
  <joint name="FR_hip_fixed" type="fixed">
    <origin rpy="0 0 0" xyz="0 -0.08 0"/>
    <parent link="FR_hip"/>
    <child link="FR_thigh_shoulder"/>
  </joint>
  <!-- this link is only for collision -->
  <link name="FR_thigh_shoulder">
    <collision>
      <origin rpy="1.57079632679 0 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.002" radius="0.044"/>
      </geometry>
    </collision>
  </link>
  <joint name="FR_thigh_joint" type="revolute">
    <origin rpy="0 0 0" xyz="0 -0.08 0"/>
    <parent link="FR_hip"/>
    <child link="FR_thigh"/>
    <axis xyz="0 1 0"/>
    <dynamics damping="0.0" friction="0.0"/>
    <limit effort="23.7" lower="-0.663225115758" upper="2.96705972839" velocity="30.1"/>
  </joint>
  <link name="FR_thigh">
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="../meshes/thigh_mirror.dae" scale="1 1 1"/>
      </geometry>
      <!-- <material name="orange"/> -->
    </visual>
    <collision>
      <origin rpy="0 1.57079632679 0" xyz="0 0 -0.1065"/>
      <geometry>
        <box size="0.213 0.0245 0.034"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 0" xyz="-0.003468 0.018947 -0.032736"/>
      <mass value="0.92"/>
      <inertia ixx="0.005851561134" ixy="-1.783284e-06" ixz="0.000328291374" iyy="0.005596155105" iyz="-2.1430713e-05" izz="0.00107157026"/>
    </inertial>
  </link>
  <joint name="FR_calf_joint" type="revolute">
    <origin rpy="0 0 0" xyz="0 0 -0.213"/>
    <parent link="FR_thigh"/>
    <child link="FR_calf"/>
    <axis xyz="0 1 0"/>
    <dynamics damping="0.0" friction="0.0"/>
    <limit effort="23.7" lower="-2.72271363311" upper="-0.837758040957" velocity="30.1"/>
  </joint>
  <link name="FR_calf">
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="../meshes/calf.dae" scale="1 1 1"/>
      </geometry>
      <!-- <material name="orange"/> -->
    </visual>
    <collision>
      <origin rpy="0 1.57079632679 0" xyz="0 0 -0.1065"/>
      <geometry>
        <box size="0.213 0.016 0.016"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 0" xyz="0.006286 0.001307 -0.122269"/>
      <mass value="0.131"/>
      <inertia ixx="0.002939186297" ixy="1.440899e-06" ixz="-0.00010535955" iyy="0.00295576935" iyz="-2.4397752e-05" izz="3.0273372e-05"/>
    </inertial>
  </link>
  <joint name="FR_foot_fixed" type="fixed">
    <origin rpy="0 0 0" xyz="0 0 -0.213"/>
    <parent link="FR_calf"/>
    <child link="FR_foot"/>
  </joint>
  <link name="FR_foot">
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <sphere radius="0.01"/>
      </geometry>
      <!-- <material name="orange"/> -->
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <sphere radius="0.02"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.06"/>
      <inertia ixx="9.6e-06" ixy="0.0" ixz="0.0" iyy="9.6e-06" iyz="0.0" izz="9.6e-06"/>
    </inertial>
  </link>
  <!-- <transmission name="FR_hip_tran">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="FR_hip_joint">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="FR_hip_motor">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission> -->
  <!-- <transmission name="FR_thigh_tran">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="FR_thigh_joint">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="FR_thigh_motor">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission> -->
  <!-- <transmission name="FR_calf_tran">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="FR_calf_joint">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="FR_calf_motor">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission> -->
  <joint name="FL_hip_joint" type="revolute">
    <origin rpy="0 0 0" xyz="0.1881 0.04675 0"/>
    <parent link="trunk"/>
    <child link="FL_hip"/>
    <axis xyz="1 0 0"/>
    <dynamics damping="0.0" friction="0.0"/>
    <limit effort="23.7" lower="-1.0471975512" upper="1.0471975512" velocity="30.1"/>
  </joint>
  <link name="FL_hip">
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="../meshes/hip.dae" scale="1 1 1"/>
      </geometry>
      <!-- <material name="orange"/> -->
    </visual>
    <!-- <collision>
      <origin rpy="1.57079632679 0 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.04" radius="0.046"/>
      </geometry>
    </collision> -->
    <inertial>
      <origin rpy="0 0 0" xyz="-0.00541 -0.00074 6e-06"/>
      <mass value="0.591"/>
      <inertia ixx="0.000374268192" ixy="3.6844422e-05" ixz="-9.86754e-07" iyy="0.000635923669" iyz="-1.172894e-06" izz="0.000457647394"/>
    </inertial>
  </link>
  <joint name="FL_hip_fixed" type="fixed">
    <origin rpy="0 0 0" xyz="0 0.08 0"/>
    <parent link="FL_hip"/>
    <child link="FL_thigh_shoulder"/>
  </joint>
  <!-- this link is only for collision -->
  <link name="FL_thigh_shoulder">
    <collision>
      <origin rpy="1.57079632679 0 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.002" radius="0.044"/>
      </geometry>
    </collision>
  </link>
  <joint name="FL_thigh_joint" type="revolute">
    <origin rpy="0 0 0" xyz="0 0.08 0"/>
    <parent link="FL_hip"/>
    <child link="FL_thigh"/>
    <axis xyz="0 1 0"/>
    <dynamics damping="0.0" friction="0.0"/>
    <limit effort="23.7" lower="-0.663225115758" upper="2.96705972839" velocity="30.1"/>
  </joint>
  <link name="FL_thigh">
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="../meshes/thigh.dae" scale="1 1 1"/>
      </geometry>
      <!-- <material name="orange"/> -->
    </visual>
    <collision>
      <origin rpy="0 1.57079632679 0" xyz="0 0 -0.1065"/>
      <geometry>
        <box size="0.213 0.0245 0.034"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 0" xyz="-0.003468 -0.018947 -0.032736"/>
      <mass value="0.92"/>
      <inertia ixx="0.005851561134" ixy="1.783284e-06" ixz="0.000328291374" iyy="0.005596155105" iyz="2.1430713e-05" izz="0.00107157026"/>
    </inertial>
  </link>
  <joint name="FL_calf_joint" type="revolute">
    <origin rpy="0 0 0" xyz="0 0 -0.213"/>
    <parent link="FL_thigh"/>
    <child link="FL_calf"/>
    <axis xyz="0 1 0"/>
    <dynamics damping="0.0" friction="0.0"/>
    <limit effort="23.7" lower="-2.72271363311" upper="-0.837758040957" velocity="30.1"/>
  </joint>
  <link name="FL_calf">
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="../meshes/calf.dae" scale="1 1 1"/>
      </geometry>
      <!-- <material name="orange"/> -->
    </visual>
    <collision>
      <origin rpy="0 1.57079632679 0" xyz="0 0 -0.1065"/>
      <geometry>
        <box size="0.213 0.016 0.016"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 0" xyz="0.006286 0.001307 -0.122269"/>
      <mass value="0.131"/>
      <inertia ixx="0.002939186297" ixy="1.440899e-06" ixz="-0.00010535955" iyy="0.00295576935" iyz="-2.4397752e-05" izz="3.0273372e-05"/>
    </inertial>
  </link>
  <joint name="FL_foot_fixed" type="fixed">
    <origin rpy="0 0 0" xyz="0 0 -0.213"/>
    <parent link="FL_calf"/>
    <child link="FL_foot"/>
  </joint>
  <link name="FL_foot">
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <sphere radius="0.01"/>
      </geometry>
      <!-- <material name="orange"/> -->
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <sphere radius="0.02"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.06"/>
      <inertia ixx="9.6e-06" ixy="0.0" ixz="0.0" iyy="9.6e-06" iyz="0.0" izz="9.6e-06"/>
    </inertial>
  </link>
  <!-- <transmission name="FL_hip_tran">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="FL_hip_joint">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="FL_hip_motor">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission> -->
  <!-- <transmission name="FL_thigh_tran">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="FL_thigh_joint">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="FL_thigh_motor">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission> -->
  <!-- <transmission name="FL_calf_tran">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="FL_calf_joint">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="FL_calf_motor">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission> -->
  <joint name="RR_hip_joint" type="revolute">
    <origin rpy="0 0 0" xyz="-0.1881 -0.04675 0"/>
    <parent link="trunk"/>
    <child link="RR_hip"/>
    <axis xyz="1 0 0"/>
    <dynamics damping="0.0" friction="0.0"/>
    <limit effort="23.7" lower="-1.0471975512" upper="1.0471975512" velocity="30.1"/>
  </joint>
  <link name="RR_hip">
    <visual>
      <origin rpy="3.14159265359 3.14159265359 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="../meshes/hip.dae" scale="1 1 1"/>
      </geometry>
      <!-- <material name="orange"/> -->
    </visual>
    <!-- <collision>
      <origin rpy="1.57079632679 0 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.04" radius="0.046"/>
      </geometry>
    </collision> -->
    <inertial>
      <origin rpy="0 0 0" xyz="0.00541 0.00074 6e-06"/>
      <mass value="0.591"/>
      <inertia ixx="0.000374268192" ixy="3.6844422e-05" ixz="9.86754e-07" iyy="0.000635923669" iyz="1.172894e-06" izz="0.000457647394"/>
    </inertial>
  </link>
  <joint name="RR_hip_fixed" type="fixed">
    <origin rpy="0 0 0" xyz="0 -0.08 0"/>
    <parent link="RR_hip"/>
    <child link="RR_thigh_shoulder"/>
  </joint>
  <!-- this link is only for collision -->
  <link name="RR_thigh_shoulder">
    <collision>
      <origin rpy="1.57079632679 0 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.002" radius="0.044"/>
      </geometry>
    </collision>
  </link>
  <joint name="RR_thigh_joint" type="revolute">
    <origin rpy="0 0 0" xyz="0 -0.08 0"/>
    <parent link="RR_hip"/>
    <child link="RR_thigh"/>
    <axis xyz="0 1 0"/>
    <dynamics damping="0.0" friction="0.0"/>
    <limit effort="23.7" lower="-0.663225115758" upper="2.96705972839" velocity="30.1"/>
  </joint>
  <link name="RR_thigh">
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="../meshes/thigh_mirror.dae" scale="1 1 1"/>
      </geometry>
      <!-- <material name="orange"/> -->
    </visual>
    <collision>
      <origin rpy="0 1.57079632679 0" xyz="0 0 -0.1065"/>
      <geometry>
        <box size="0.213 0.0245 0.034"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 0" xyz="-0.003468 0.018947 -0.032736"/>
      <mass value="0.92"/>
      <inertia ixx="0.005851561134" ixy="-1.783284e-06" ixz="0.000328291374" iyy="0.005596155105" iyz="-2.1430713e-05" izz="0.00107157026"/>
    </inertial>
  </link>
  <joint name="RR_calf_joint" type="revolute">
    <origin rpy="0 0 0" xyz="0 0 -0.213"/>
    <parent link="RR_thigh"/>
    <child link="RR_calf"/>
    <axis xyz="0 1 0"/>
    <dynamics damping="0.0" friction="0.0"/>
    <limit effort="23.7" lower="-2.72271363311" upper="-0.837758040957" velocity="30.1"/>
  </joint>
  <link name="RR_calf">
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="../meshes/calf.dae" scale="1 1 1"/>
      </geometry>
      <!-- <material name="orange"/> -->
    </visual>
    <collision>
      <origin rpy="0 1.57079632679 0" xyz="0 0 -0.1065"/>
      <geometry>
        <box size="0.213 0.016 0.016"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 0" xyz="0.006286 0.001307 -0.122269"/>
      <mass value="0.131"/>
      <inertia ixx="0.002939186297" ixy="1.440899e-06" ixz="-0.00010535955" iyy="0.00295576935" iyz="-2.4397752e-05" izz="3.0273372e-05"/>
    </inertial>
  </link>
  <joint name="RR_foot_fixed" type="fixed">
    <origin rpy="0 0 0" xyz="0 0 -0.213"/>
    <parent link="RR_calf"/>
    <child link="RR_foot"/>
  </joint>
  <link name="RR_foot">
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <sphere radius="0.01"/>
      </geometry>
      <!-- <material name="orange"/> -->
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <sphere radius="0.02"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.06"/>
      <inertia ixx="9.6e-06" ixy="0.0" ixz="0.0" iyy="9.6e-06" iyz="0.0" izz="9.6e-06"/>
    </inertial>
  </link>
  <!-- <transmission name="RR_hip_tran">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="RR_hip_joint">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="RR_hip_motor">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission> -->
  <!-- <transmission name="RR_thigh_tran">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="RR_thigh_joint">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="RR_thigh_motor">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission> -->
  <!-- <transmission name="RR_calf_tran">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="RR_calf_joint">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="RR_calf_motor">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission> -->
  <joint name="RL_hip_joint" type="revolute">
    <origin rpy="0 0 0" xyz="-0.1881 0.04675 0"/>
    <parent link="trunk"/>
    <child link="RL_hip"/>
    <axis xyz="1 0 0"/>
    <dynamics damping="0.0" friction="0.0"/>
    <limit effort="23.7" lower="-1.0471975512" upper="1.0471975512" velocity="30.1"/>
  </joint>
  <link name="RL_hip">
    <visual>
      <origin rpy="0 3.14159265359 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="../meshes/hip.dae" scale="1 1 1"/>
      </geometry>
      <!-- <material name="orange"/> -->
    </visual>
    <!-- <collision>
      <origin rpy="1.57079632679 0 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.04" radius="0.046"/>
      </geometry>
    </collision> -->
    <inertial>
      <origin rpy="0 0 0" xyz="0.00541 -0.00074 6e-06"/>
      <mass value="0.591"/>
      <inertia ixx="0.000374268192" ixy="-3.6844422e-05" ixz="9.86754e-07" iyy="0.000635923669" iyz="-1.172894e-06" izz="0.000457647394"/>
    </inertial>
  </link>
  <joint name="RL_hip_fixed" type="fixed">
    <origin rpy="0 0 0" xyz="0 0.08 0"/>
    <parent link="RL_hip"/>
    <child link="RL_thigh_shoulder"/>
  </joint>
  <!-- this link is only for collision -->
  <link name="RL_thigh_shoulder">
    <collision>
      <origin rpy="1.57079632679 0 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.002" radius="0.044"/>
      </geometry>
    </collision>
  </link>
  <joint name="RL_thigh_joint" type="revolute">
    <origin rpy="0 0 0" xyz="0 0.08 0"/>
    <parent link="RL_hip"/>
    <child link="RL_thigh"/>
    <axis xyz="0 1 0"/>
    <dynamics damping="0.0" friction="0.0"/>
    <limit effort="23.7" lower="-0.663225115758" upper="2.96705972839" velocity="30.1"/>
  </joint>
  <link name="RL_thigh">
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="../meshes/thigh.dae" scale="1 1 1"/>
      </geometry>
      <!-- <material name="orange"/> -->
    </visual>
    <collision>
      <origin rpy="0 1.57079632679 0" xyz="0 0 -0.1065"/>
      <geometry>
        <box size="0.213 0.0245 0.034"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 0" xyz="-0.003468 -0.018947 -0.032736"/>
      <mass value="0.92"/>
      <inertia ixx="0.005851561134" ixy="1.783284e-06" ixz="0.000328291374" iyy="0.005596155105" iyz="2.1430713e-05" izz="0.00107157026"/>
    </inertial>
  </link>
  <joint name="RL_calf_joint" type="revolute">
    <origin rpy="0 0 0" xyz="0 0 -0.213"/>
    <parent link="RL_thigh"/>
    <child link="RL_calf"/>
    <axis xyz="0 1 0"/>
    <dynamics damping="0.0" friction="0.0"/>
    <limit effort="23.7" lower="-2.72271363311" upper="-0.837758040957" velocity="30.1"/>
  </joint>
  <link name="RL_calf">
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="../meshes/calf.dae" scale="1 1 1"/>
      </geometry>
      <!-- <material name="orange"/> -->
    </visual>
    <collision>
      <origin rpy="0 1.57079632679 0" xyz="0 0 -0.1065"/>
      <geometry>
        <box size="0.213 0.016 0.016"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 0" xyz="0.006286 0.001307 -0.122269"/>
      <mass value="0.131"/>
      <inertia ixx="0.002939186297" ixy="1.440899e-06" ixz="-0.00010535955" iyy="0.00295576935" iyz="-2.4397752e-05" izz="3.0273372e-05"/>
    </inertial>
  </link>
  <joint name="RL_foot_fixed" type="fixed">
    <origin rpy="0 0 0" xyz="0 0 -0.213"/>
    <parent link="RL_calf"/>
    <child link="RL_foot"/>
  </joint>
  <link name="RL_foot">
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <sphere radius="0.01"/>
      </geometry>
      <!-- <material name="orange"/> -->
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <sphere radius="0.02"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.06"/>
      <inertia ixx="9.6e-06" ixy="0.0" ixz="0.0" iyy="9.6e-06" iyz="0.0" izz="9.6e-06"/>
    </inertial>
  </link>
  <!-- <transmission name="RL_hip_tran">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="RL_hip_joint">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="RL_hip_motor">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission> -->
  <!-- <transmission name="RL_thigh_tran">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="RL_thigh_joint">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="RL_thigh_motor">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission> -->
  <!-- <transmission name="RL_calf_tran">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="RL_calf_joint">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="RL_calf_motor">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission> -->
  <!-- 12.013 kg in urdf -->

</robot>
