<!-- Author + Copyright (C) Aravind Rajeswaran, rajeswaran.aravind@gmail.com. 
See LICENSE file for legal notices. LICENSE must be kept together with this file. -->
<mujoco model="PointMass">
    <include file="./common/skybox.xml"/>
    <include file="./common/visual.xml"/>
    <include file="./common/materials.xml"/>

    <compiler inertiafromgeom="true" angle="radian" />
    <default>
        <joint armature="0.01" damping="0.1" limited="true"/>
        <geom contype="0" friction="1 0.1 0.1" rgba="0.7 0.7 0 1"/>
        <motor ctrllimited="true" ctrlrange="-1.0 1.0" />
    </default>
    <option gravity="0 0 0" integrator="RK4" timestep="0.01"/>

    <asset>
        <texture builtin="flat" height="100" name="grayplane" rgb1="0.4 0.4 0.4" rgb2=".1 0.15 0.2" type="2d" width="100"/>
<!--         <material name="grayfloor" reflectance="0" shininess="0" specular="1" texture="grayplane"/>
 -->    </asset>

    <worldbody>
        <light name="light" pos="0 0 1.2"/>
        <camera name="fixed" pos="0 0 5" quat="1 0 0 0"/>

        <!-- Arena -->
        <geom conaffinity="0" contype="0" name="ground" pos="0 0 0" rgba="0.9 0.9 0.9 1" size="1.5 1.5 .05" type="plane" material="site"/>
        <geom conaffinity="0" fromto="-1.5 -1.5 .02 1.5 -1.5 .02" name="sideS" rgba="0.3 0.4 0.3 1.0" size=".04" type="capsule" mass="0.1"/>
        <geom conaffinity="0" fromto=" 1.5 -1.5 .02 1.5  1.5 .02" name="sideE" rgba="0.3 0.4 0.3 1.0" size=".04" type="capsule" mass="0.1"/>
        <geom conaffinity="0" fromto="-1.5  1.5 .02 1.5  1.5 .02" name="sideN" rgba="0.3 0.4 0.3 1.0" size=".04" type="capsule" mass="0.1"/>
        <geom conaffinity="0" fromto="-1.5 -1.5 .02 -1.5 1.5 .02" name="sideW" rgba="0.3 0.4 0.3 1.0" size=".04" type="capsule" mass="0.1"/>

        <geom conaffinity="1" fromto="-0.5 -0.5 .02 -0.5 0.5 .02" name="sideW2" rgba="0.3 0.4 0.3 1.0" size=".04" type="capsule" mass="0.1"/>

        <geom conaffinity="1" fromto="0.5 0.5 .02 0.5 1.5 .02" name="sideW3" rgba="0.3 0.4 0.3 1.0" size=".04" type="capsule" mass="0.1"/>

        <geom conaffinity="1" fromto="-0.5  0.5 .02 0.5  0.5 .02" name="sideN2" rgba="0.3 0.4 0.3 1.0" size=".04" type="capsule" mass="0.1"/>

        <geom conaffinity="1" fromto="-1.0  -1.0 .02 0.5  -1.0 .02" name="sideN3" rgba="0.3 0.4 0.3 1.0" size=".04" type="capsule" mass="0.1"/>

        <geom conaffinity="1" fromto="1.0 -0.95 .02 1.0 1.0 .02" name="sideW4" rgba="0.3 0.4 0.3 1.0" size=".04" type="capsule" mass="0.1"/>

        <geom conaffinity="1" fromto="0.0 -1.0 .02 .0 1.0 .02" name="sideW5" rgba="0.3 0.4 0.3 1.0" size=".04" type="capsule" mass="0.1"/>

        <geom conaffinity="1" fromto="-1.0 -1.0 .02 -1.0 1.0 .02" name="sideW6" rgba="0.3 0.4 0.3 1.0" size=".04" type="capsule" mass="0.1"/>

        <!-- Agent -->
        <body name="agent" pos="0 0 .05">
            <joint axis="1 0 0" name="agent_x" pos="0 0 0" range="-1.4 1.4" stiffness="0" type="slide"/>
            <joint axis="0 1 0" name="agent_y" pos="0 0 0" range="-1.4 1.4" stiffness="0" type="slide"/>
            <geom conaffinity="1" contype="1" name="agent" pos="0 0 0" rgba="0.2 0.2 0.6 1" size=".05" type="sphere"/>
        </body>

        <!-- Target -->
        <!-- <site name="target" pos="1.0 0 .05" rgba="0.6 0.2 0.2 0.2" size=".07" type="sphere" material="target_highlight" /> -->
        <site name="target" pos="-0.25 0.3 .05" size=".07" type="sphere" rgba="0.6 0.2 0.2 1"  material="target_highlight" />
        <site name="target0" pos="-0.25 0.3 .05" size=".07" type="sphere" material="target_hidden" />
        <site name="target1" pos="1.2 1.2 .05" size=".07" type="sphere" material="target_hidden" />
        <site name="target2" pos="1.2 0.6 .05" size=".07" type="sphere" material="target_hidden" />
        <site name="target3" pos="0.25 0.8 .05" size=".07" type="sphere" material="target_hidden" />
    </worldbody>

    <actuator>
        <motor gear="2.0" joint="agent_x"/>
        <motor gear="2.0" joint="agent_y"/>
    </actuator>

</mujoco>
