<?xml version="1.0"?>
<!-- A quadruped built entirely from primitives, so it loads with no mesh
     files at all. Proportions, masses and joint ranges follow a real
     small-dog-class robot: 12 actuated joints, three per leg. -->
<robot name="Sample quadruped">
  <material name="shell"><color rgba="0.16 0.17 0.19 1"/></material>
  <material name="panel"><color rgba="0.55 0.59 0.63 1"/></material>
  <material name="accent"><color rgba="0.13 0.83 0.93 1"/></material>
  <material name="rubber"><color rgba="0.09 0.09 0.10 1"/></material>

  <link name="base_link">
    <inertial>
      <origin xyz="0 0 0"/>
      <mass value="6.0"/>
      <inertia ixx="0.0335" ixy="0" ixz="0" iyy="0.0925" iyz="0" izz="0.1090"/>
    </inertial>
    <visual><geometry><box size="0.38 0.17 0.10"/></geometry><material name="shell"/></visual>
    <visual><origin xyz="0 0 0.055"/><geometry><box size="0.30 0.14 0.02"/></geometry><material name="panel"/></visual>
    <collision><geometry><box size="0.38 0.17 0.10"/></geometry></collision>
  </link>

  <link name="head">
    <inertial><mass value="0.6"/><inertia ixx="0.0009" ixy="0" ixz="0" iyy="0.0012" iyz="0" izz="0.0012"/></inertial>
    <visual><geometry><box size="0.09 0.12 0.07"/></geometry><material name="shell"/></visual>
    <visual><origin xyz="0.046 0 0.005"/><geometry><cylinder radius="0.022" length="0.012"/></geometry><material name="accent"/></visual>
    <collision><geometry><box size="0.09 0.12 0.07"/></geometry></collision>
  </link>
  <joint name="head_fixed" type="fixed">
    <origin xyz="0.215 0 0.01" rpy="0 1.5708 0"/>
    <parent link="base_link"/><child link="head"/>
  </joint>

  <link name="lidar">
    <inertial><mass value="0.15"/><inertia ixx="0.00007" ixy="0" ixz="0" iyy="0.00007" iyz="0" izz="0.0001"/></inertial>
    <visual><geometry><cylinder radius="0.035" length="0.04"/></geometry><material name="panel"/></visual>
    <visual><origin xyz="0 0 0.022"/><geometry><cylinder radius="0.028" length="0.006"/></geometry><material name="accent"/></visual>
  </link>
  <joint name="lidar_spin" type="continuous">
    <origin xyz="0.05 0 0.085"/>
    <parent link="base_link"/><child link="lidar"/>
    <axis xyz="0 0 1"/>
  </joint>

  <!-- Front left leg -->
  <link name="fl_hip">
    <inertial><mass value="0.7"/><inertia ixx="0.0006" ixy="0" ixz="0" iyy="0.0008" iyz="0" izz="0.0006"/></inertial>
    <visual><origin rpy="1.5708 0 0"/><geometry><cylinder radius="0.041" length="0.05"/></geometry><material name="accent"/></visual>
  </link>
  <joint name="fl_hip_roll" type="revolute">
    <origin xyz="0.16 0.088 0"/><parent link="base_link"/><child link="fl_hip"/>
    <axis xyz="1 0 0"/><limit lower="-0.72" upper="0.72" effort="24" velocity="21"/>
    <dynamics damping="0.02" friction="0.01"/>
  </joint>

  <link name="fl_thigh">
    <inertial><origin xyz="0 0 -0.065"/><mass value="1.0"/>
      <inertia ixx="0.0053" ixy="0" ixz="0" iyy="0.0053" iyz="0" izz="0.0005"/></inertial>
    <visual><origin xyz="0 0 -0.065"/><geometry><box size="0.045 0.036 0.145"/></geometry><material name="shell"/></visual>
    <collision><origin xyz="0 0 -0.065"/><geometry><box size="0.045 0.036 0.145"/></geometry></collision>
  </link>
  <joint name="fl_thigh_pitch" type="revolute">
    <origin xyz="0 0.052 0"/><parent link="fl_hip"/><child link="fl_thigh"/>
    <axis xyz="0 1 0"/><limit lower="-1.05" upper="3.05" effort="24" velocity="21"/>
  </joint>

  <link name="fl_calf">
    <inertial><origin xyz="0 0 -0.06"/><mass value="0.22"/>
      <inertia ixx="0.0008" ixy="0" ixz="0" iyy="0.0008" iyz="0" izz="0.00004"/></inertial>
    <visual><origin xyz="0 0 -0.06"/><geometry><box size="0.026 0.022 0.135"/></geometry><material name="panel"/></visual>
    <visual><origin xyz="0 0 -0.128"/><geometry><sphere radius="0.019"/></geometry><material name="rubber"/></visual>
    <collision><origin xyz="0 0 -0.128"/><geometry><sphere radius="0.019"/></geometry></collision>
  </link>
  <joint name="fl_calf_pitch" type="revolute">
    <origin xyz="0 0 -0.135"/><parent link="fl_thigh"/><child link="fl_calf"/>
    <axis xyz="0 1 0"/><limit lower="-2.72" upper="-0.70" effort="36" velocity="16"/>
  </joint>

  <!-- Front right leg -->
  <link name="fr_hip">
    <inertial><mass value="0.7"/><inertia ixx="0.0006" ixy="0" ixz="0" iyy="0.0008" iyz="0" izz="0.0006"/></inertial>
    <visual><origin rpy="1.5708 0 0"/><geometry><cylinder radius="0.041" length="0.05"/></geometry><material name="accent"/></visual>
  </link>
  <joint name="fr_hip_roll" type="revolute">
    <origin xyz="0.16 -0.088 0"/><parent link="base_link"/><child link="fr_hip"/>
    <axis xyz="1 0 0"/><limit lower="-0.72" upper="0.72" effort="24" velocity="21"/>
  </joint>

  <link name="fr_thigh">
    <inertial><origin xyz="0 0 -0.065"/><mass value="1.0"/>
      <inertia ixx="0.0053" ixy="0" ixz="0" iyy="0.0053" iyz="0" izz="0.0005"/></inertial>
    <visual><origin xyz="0 0 -0.065"/><geometry><box size="0.045 0.036 0.145"/></geometry><material name="shell"/></visual>
    <collision><origin xyz="0 0 -0.065"/><geometry><box size="0.045 0.036 0.145"/></geometry></collision>
  </link>
  <joint name="fr_thigh_pitch" type="revolute">
    <origin xyz="0 -0.052 0"/><parent link="fr_hip"/><child link="fr_thigh"/>
    <axis xyz="0 1 0"/><limit lower="-1.05" upper="3.05" effort="24" velocity="21"/>
  </joint>

  <link name="fr_calf">
    <inertial><origin xyz="0 0 -0.06"/><mass value="0.22"/>
      <inertia ixx="0.0008" ixy="0" ixz="0" iyy="0.0008" iyz="0" izz="0.00004"/></inertial>
    <visual><origin xyz="0 0 -0.06"/><geometry><box size="0.026 0.022 0.135"/></geometry><material name="panel"/></visual>
    <visual><origin xyz="0 0 -0.128"/><geometry><sphere radius="0.019"/></geometry><material name="rubber"/></visual>
    <collision><origin xyz="0 0 -0.128"/><geometry><sphere radius="0.019"/></geometry></collision>
  </link>
  <joint name="fr_calf_pitch" type="revolute">
    <origin xyz="0 0 -0.135"/><parent link="fr_thigh"/><child link="fr_calf"/>
    <axis xyz="0 1 0"/><limit lower="-2.72" upper="-0.70" effort="36" velocity="16"/>
  </joint>

  <!-- Rear left leg -->
  <link name="rl_hip">
    <inertial><mass value="0.7"/><inertia ixx="0.0006" ixy="0" ixz="0" iyy="0.0008" iyz="0" izz="0.0006"/></inertial>
    <visual><origin rpy="1.5708 0 0"/><geometry><cylinder radius="0.041" length="0.05"/></geometry><material name="accent"/></visual>
  </link>
  <joint name="rl_hip_roll" type="revolute">
    <origin xyz="-0.16 0.088 0"/><parent link="base_link"/><child link="rl_hip"/>
    <axis xyz="1 0 0"/><limit lower="-0.72" upper="0.72" effort="24" velocity="21"/>
  </joint>

  <link name="rl_thigh">
    <inertial><origin xyz="0 0 -0.065"/><mass value="1.0"/>
      <inertia ixx="0.0053" ixy="0" ixz="0" iyy="0.0053" iyz="0" izz="0.0005"/></inertial>
    <visual><origin xyz="0 0 -0.065"/><geometry><box size="0.045 0.036 0.145"/></geometry><material name="shell"/></visual>
    <collision><origin xyz="0 0 -0.065"/><geometry><box size="0.045 0.036 0.145"/></geometry></collision>
  </link>
  <joint name="rl_thigh_pitch" type="revolute">
    <origin xyz="0 0.052 0"/><parent link="rl_hip"/><child link="rl_thigh"/>
    <axis xyz="0 1 0"/><limit lower="-1.05" upper="3.05" effort="24" velocity="21"/>
  </joint>

  <link name="rl_calf">
    <inertial><origin xyz="0 0 -0.06"/><mass value="0.22"/>
      <inertia ixx="0.0008" ixy="0" ixz="0" iyy="0.0008" iyz="0" izz="0.00004"/></inertial>
    <visual><origin xyz="0 0 -0.06"/><geometry><box size="0.026 0.022 0.135"/></geometry><material name="panel"/></visual>
    <visual><origin xyz="0 0 -0.128"/><geometry><sphere radius="0.019"/></geometry><material name="rubber"/></visual>
    <collision><origin xyz="0 0 -0.128"/><geometry><sphere radius="0.019"/></geometry></collision>
  </link>
  <joint name="rl_calf_pitch" type="revolute">
    <origin xyz="0 0 -0.135"/><parent link="rl_thigh"/><child link="rl_calf"/>
    <axis xyz="0 1 0"/><limit lower="-2.72" upper="-0.70" effort="36" velocity="16"/>
  </joint>

  <!-- Rear right leg -->
  <link name="rr_hip">
    <inertial><mass value="0.7"/><inertia ixx="0.0006" ixy="0" ixz="0" iyy="0.0008" iyz="0" izz="0.0006"/></inertial>
    <visual><origin rpy="1.5708 0 0"/><geometry><cylinder radius="0.041" length="0.05"/></geometry><material name="accent"/></visual>
  </link>
  <joint name="rr_hip_roll" type="revolute">
    <origin xyz="-0.16 -0.088 0"/><parent link="base_link"/><child link="rr_hip"/>
    <axis xyz="1 0 0"/><limit lower="-0.72" upper="0.72" effort="24" velocity="21"/>
  </joint>

  <link name="rr_thigh">
    <inertial><origin xyz="0 0 -0.065"/><mass value="1.0"/>
      <inertia ixx="0.0053" ixy="0" ixz="0" iyy="0.0053" iyz="0" izz="0.0005"/></inertial>
    <visual><origin xyz="0 0 -0.065"/><geometry><box size="0.045 0.036 0.145"/></geometry><material name="shell"/></visual>
    <collision><origin xyz="0 0 -0.065"/><geometry><box size="0.045 0.036 0.145"/></geometry></collision>
  </link>
  <joint name="rr_thigh_pitch" type="revolute">
    <origin xyz="0 -0.052 0"/><parent link="rr_hip"/><child link="rr_thigh"/>
    <axis xyz="0 1 0"/><limit lower="-1.05" upper="3.05" effort="24" velocity="21"/>
  </joint>

  <link name="rr_calf">
    <inertial><origin xyz="0 0 -0.06"/><mass value="0.22"/>
      <inertia ixx="0.0008" ixy="0" ixz="0" iyy="0.0008" iyz="0" izz="0.00004"/></inertial>
    <visual><origin xyz="0 0 -0.06"/><geometry><box size="0.026 0.022 0.135"/></geometry><material name="panel"/></visual>
    <visual><origin xyz="0 0 -0.128"/><geometry><sphere radius="0.019"/></geometry><material name="rubber"/></visual>
    <collision><origin xyz="0 0 -0.128"/><geometry><sphere radius="0.019"/></geometry></collision>
  </link>
  <joint name="rr_calf_pitch" type="revolute">
    <origin xyz="0 0 -0.135"/><parent link="rr_thigh"/><child link="rr_calf"/>
    <axis xyz="0 1 0"/><limit lower="-2.72" upper="-0.70" effort="36" velocity="16"/>
  </joint>
</robot>
