<mujoco model="ant">
  <compiler angle="degree" coordinate="local" inertiafromgeom="true" settotalmass="40"/>
  <option integrator="RK4" timestep="0.005"/>
  <custom>
    <numeric data="0.0 0.0 0.55 1.0 0.0 0.0 0.0 0.0 1.0 0.0 -1.0 0.0 -1.0 0.0 1.0" name="init_qpos"/>
  </custom>
  <default>
    <joint armature="1" damping="1" limited="true"/>
    <geom conaffinity="1" contype="1" condim="3" density="5.0" friction="1 0.5 0.5" margin="0.01" rgba="0.8 0.6 0.4 1" material="geom"/>
  </default>
    <asset>
        <texture type="skybox" builtin="gradient" rgb1=".1 .12 .15" rgb2="0 0 0" width="100" height="100"/>
        <texture builtin="checker" height="100" name="texplane" rgb1=".35 .65 .65" rgb2=".0 .4 0.6" type="2d" width="100"/>
        <material name="MatPlane" reflectance="0.5" shininess="1" specular="1" texrepeat="25 25" texture="texplane"/>
        <texture builtin="flat" height="1278" mark="cross" markrgb="1 1 1" name="texgeom" random="0.01" rgb1="0.8 0.6 0.4" rgb2="0.8 0.6 0.4" type="cube" width="127"/>
        <material name="geom" texture="texgeom" texuniform="true"/>
    </asset>
  <worldbody>
    <light directional="true" cutoff="100" exponent="1" diffuse="1 1 1" specular=".1 .1 .1" pos="0 0 1.3" dir="-0 0 -1.3" />
    <geom name='floor' material="MatPlane" pos='0 0 0' size='40 40 40' type='plane' rgba='0.9 0.9 0.9 1' condim='3' group="1"/>

    <geom name="wall-0" pos="-3.5   0.0  0.5" rgba="1. 1. 1. 1" size=" 0.5 13.0 1.0" type="box" material="" group="1" />
    <geom name="wall-1" pos=" 3.5   0.0  0.5" rgba="1. 1. 1. 1" size=" 0.5  6.0 1.0" type="box" material="" group="1" />
    <geom name="wall-2" pos="14.5   0.0  0.5" rgba="1. 1. 1. 1" size=" 0.5  6.0 1.0" type="box" material="" group="1" />    
    <geom name="wall-3" pos="21.5   0.0  0.5" rgba="1. 1. 1. 1" size=" 0.5 13.0 1.0" type="box" material="" group="1" />
    <geom name="wall-4" pos=" 9.0  12.5  0.5" rgba="1. 1. 1. 1" size="12.0  0.5 1.0" type="box" material="" group="1" />
    <geom name="wall-5" pos=" 9.0   5.5  0.5" rgba="1. 1. 1. 1" size=" 5.0  0.5 1.0" type="box" material="" group="1" />
    <geom name="wall-6" pos=" 9.0  -5.5  0.5" rgba="1. 1. 1. 1" size=" 5.0  0.5 1.0" type="box" material="" group="1" />
    <geom name="wall-7" pos=" 9.0 -12.5  0.5" rgba="1. 1. 1. 1" size="12.0  0.5 1.0" type="box" material="" group="1" />

    <geom name="target" pos="0  9 0.85" rgba="1 0 0 1.0" size="0.75" type="sphere" group="1" contype="0" conaffinity="0" />

    <body name="torso" pos="0 0 0.75">
      <geom name="torso_geom" pos="0 0 0" size="0.50 0.25 0.25" type="ellipsoid"/>
      <geom name="head" density="0.01" rgba="1.0 0.5 0.3 1" pos="0.4 0 0.25" size="0.25" type="sphere"/>
      <joint armature="0" damping="0" limited="false" margin="0.01" name="root" pos="0 0 0" type="free"/>
      <body name="front_left_leg" pos="0 0 0">
        <geom fromto="0.0 0.0 0.0 0.2 0.2 0.0" name="aux_1_geom" size="0.08" type="capsule"/>
        <body name="aux_1" pos="0.4 0.2 0">
          <joint axis="0 0 1" name="hip_1" pos="0.0 0.0 0.0" range="-30 30" type="hinge"/>
          <geom fromto="0.0 0.0 0.0 0.2 0.2 0.0" name="left_leg_geom" size="0.08" type="capsule"/>
          <body pos="0.2 0.2 0">
            <joint axis="-1 1 0" name="ankle_1" pos="0.0 0.0 0.0" range="30 70" type="hinge"/>
            <geom fromto="0.0 0.0 0.0 0.4 0.4 0.0" name="left_ankle_geom" size="0.08" type="capsule"/>
          </body>
        </body>
      </body>
      <body name="front_right_leg" pos="0 0 0">
        <geom fromto="0.0 0.0 0.0 -0.2 0.2 0.0" name="aux_2_geom" size="0.08" type="capsule"/>
        <body name="aux_2" pos="-0.2 0.2 0">
          <joint axis="0 0 1" name="hip_2" pos="0.0 0.0 0.0" range="-30 30" type="hinge"/>
          <geom fromto="0.0 0.0 0.0 -0.2 0.2 0.0" name="right_leg_geom" size="0.08" type="capsule"/>
          <body pos="-0.2 0.2 0">
            <joint axis="1 1 0" name="ankle_2" pos="0.0 0.0 0.0" range="-70 -30" type="hinge"/>
            <geom fromto="0.0 0.0 0.0 -0.4 0.4 0.0" name="right_ankle_geom" size="0.08" type="capsule"/>
          </body>
        </body>
      </body>
      <body name="back_leg" pos="0 0 0">
        <geom fromto="0.0 0.0 0.0 -0.2 -0.2 0.0" name="aux_3_geom" size="0.08" type="capsule"/>
        <body name="aux_3" pos="-0.2 -0.2 0">
          <joint axis="0 0 1" name="hip_3" pos="0.0 0.0 0.0" range="-30 30" type="hinge"/>
          <geom fromto="0.0 0.0 0.0 -0.2 -0.2 0.0" name="back_leg_geom" size="0.08" type="capsule"/>
          <body pos="-0.2 -0.2 0">
            <joint axis="-1 1 0" name="ankle_3" pos="0.0 0.0 0.0" range="-70 -30" type="hinge"/>
            <geom fromto="0.0 0.0 0.0 -0.4 -0.4 0.0" name="third_ankle_geom" size="0.08" type="capsule"/>
          </body>
        </body>
      </body>
      <body name="right_back_leg" pos="0 0 0">
        <geom fromto="0.0 0.0 0.0 0.2 -0.2 0.0" name="aux_4_geom" size="0.08" type="capsule"/>
        <body name="aux_4" pos="0.4 -0.2 0">
          <joint axis="0 0 1" name="hip_4" pos="0.0 0.0 0.0" range="-30 30" type="hinge"/>
          <geom fromto="0.0 0.0 0.0 0.2 -0.2 0.0" name="rightback_leg_geom" size="0.08" type="capsule"/>
          <body pos="0.2 -0.2 0">
            <joint axis="1 1 0" name="ankle_4" pos="0.0 0.0 0.0" range="30 70" type="hinge"/>
            <geom fromto="0.0 0.0 0.0 0.4 -0.4 0.0" name="fourth_ankle_geom" size="0.08" type="capsule"/>
          </body>
        </body>
      </body>
    </body>    
  </worldbody>
  <actuator>
    <motor ctrllimited="true" ctrlrange="-1.0 1.0" joint="hip_4" gear="150"/>
    <motor ctrllimited="true" ctrlrange="-1.0 1.0" joint="ankle_4" gear="150"/>
    <motor ctrllimited="true" ctrlrange="-1.0 1.0" joint="hip_1" gear="150"/>
    <motor ctrllimited="true" ctrlrange="-1.0 1.0" joint="ankle_1" gear="150"/>
    <motor ctrllimited="true" ctrlrange="-1.0 1.0" joint="hip_2" gear="150"/>
    <motor ctrllimited="true" ctrlrange="-1.0 1.0" joint="ankle_2" gear="150"/>
    <motor ctrllimited="true" ctrlrange="-1.0 1.0" joint="hip_3" gear="150"/>
    <motor ctrllimited="true" ctrlrange="-1.0 1.0" joint="ankle_3" gear="150"/>
  </actuator>
  <sensor>
    <jointpos name='pos_hip_1' joint='hip_1' />
    <jointpos name='pos_hip_2' joint='hip_2' />
    <jointpos name='pos_hip_3' joint='hip_3' />
    <jointpos name='pos_hip_4' joint='hip_4' />
    <jointpos name='pos_ankle_1' joint='ankle_1' />
    <jointpos name='pos_ankle_2' joint='ankle_2' />
    <jointpos name='pos_ankle_3' joint='ankle_3' />
    <jointpos name='pos_ankle_4' joint='ankle_4' />

    <jointvel name='vel_hip_1'   joint='hip_1' />
    <jointvel name='vel_hip_2'   joint='hip_2' />
    <jointvel name='vel_hip_3'   joint='hip_3' />
    <jointvel name='vel_hip_4'   joint='hip_4' />
    <jointvel name='vel_ankle_1' joint='ankle_1' />
    <jointvel name='vel_ankle_2' joint='ankle_2' />
    <jointvel name='vel_ankle_3' joint='ankle_3' />
    <jointvel name='vel_ankle_4' joint='ankle_4' />
  </sensor>
</mujoco>
