<?xml version="1.0"?>
<gz:world xmlns:gz="http://playerstage.sourceforge.net/gazebo/xmlschema/#gz" xmlns:model="http://playerstage.sourceforge.net/gazebo/xmlschema/#model" xmlns:sensor="http://playerstage.sourceforge.net/gazebo/xmlschema/#sensor" xmlns:window="http://playerstage.sourceforge.net/gazebo/xmlschema/#window" xmlns:param="http://playerstage.sourceforge.net/gazebo/xmlschema/#params" xmlns:ui="http://playerstage.sourceforge.net/gazebo/xmlschema/#params">

  <model:ObserverCam>
    <id>userCam0</id>
    <xyz>12 9 18</xyz>
    <rpy>269.99 89 0</rpy>
    <imageSize>640 480</imageSize>
    <updateRate>10</updateRate>
    <renderMethod>SGIX</renderMethod>
  </model:ObserverCam>

  <model:SkyDome>
    <toneMap>skyTones.jpg</toneMap>
    <timeLapse>true</timeLapse>
  </model:SkyDome>

  <model:LightSource>
    <id>light1</id>
    <xyz>0.000 0.000 100.00</xyz>
    <ambientColor>0.2, 0.2, 0.2</ambientColor>
    <diffuseColor>0.8, 0.8, 0.8</diffuseColor>
    <specularColor>0.2, 0.2, 0.2</specularColor>
    <attenuation>1.0, 0.0, 0.00</attenuation>
  </model:LightSource>

  <model:LightSource>
    <id>light1</id>
    <xyz>20.000 20.000 100.00</xyz>
    <ambientColor>0.2, 0.2, 0.2</ambientColor>
    <diffuseColor>0.8, 0.8, 0.8</diffuseColor>
    <specularColor>0.2, 0.2, 0.2</specularColor>
    <attenuation>1.0, 0.0, 0.00</attenuation>
  </model:LightSource>

  <model:LightSource>
    <id>light1</id>
    <xyz>-20.000 -20.000 100.00</xyz>
    <ambientColor>0.2, 0.2, 0.2</ambientColor>
    <diffuseColor>0.8, 0.8, 0.8</diffuseColor>
    <specularColor>0.2, 0.2, 0.2</specularColor>
    <attenuation>1.0, 0.0, 0.00</attenuation>
  </model:LightSource>





  <model:GroundPlane>
    <id>ground1</id>
    <color>0.8 1.0 0.8</color>
    <textureFile>grid.ppm</textureFile>
  </model:GroundPlane>
 
  <model:Terrain>
    <xyz>0.000 0.000 -0.100</xyz>
    <color>0.000 0.300 0.100</color>
    <terrainFile>tapia.gzb</terrainFile>
    <textureFile>grid.ppm</textureFile>
  </model:Terrain>

  #robot1
  <model:Pioneer2AT>
    <id>robot1</id>
    <xyz>16 2 0</xyz>
    <rpy>0 0 60</rpy>
    <model:SonyVID30>
      <id>camera1</id>
      <xyz>0.0 0.0 0.52</xyz>
      <nearClip>0.01</nearClip>
    </model:SonyVID30>

    <model:SickLMS200>
      <id>laser1</id>
      <xyz>0.0 0.0 0.30</xyz>
    </model:SickLMS200>

    <model:TruthWidget>
      <id>truthRobot</id>
    </model:TruthWidget>
  </model:Pioneer2AT>


  #robot2 
  <model:Pioneer2AT>
    <id>robot2</id>
    <xyz>2 16 0</xyz>
    <rpy>0 0 280</rpy>
    <model:SonyVID30>
      <id>camera2</id>
      <xyz>0.0 0.0 0.52</xyz>
      <nearClip>0.01</nearClip>
    </model:SonyVID30>

    <model:SickLMS200>
      <id>laser2</id>
      <xyz>0.0 0.0 0.30</xyz>
    </model:SickLMS200>

    <model:TruthWidget>
      <id>truthRobot</id>
    </model:TruthWidget>
  </model:Pioneer2AT>

  #robot3 
  <model:Pioneer2AT>
    <id>robot3</id>
    <xyz>24 6 0</xyz>
    <rpy>0 0 0</rpy>
    <model:SonyVID30>
      <id>camera3</id>
      <xyz>0.0 0.0 0.52</xyz>
      <nearClip>0.01</nearClip>
    </model:SonyVID30>

    <model:SickLMS200>
      <id>laser3</id>
      <xyz>0.0 0.0 0.30</xyz>
    </model:SickLMS200>

    <model:TruthWidget>
      <id>truthRobot</id>
    </model:TruthWidget>
  </model:Pioneer2AT>

  #robot4
  <model:Pioneer2AT>
    <id>robot4</id>
    <xyz>11 7 0</xyz>
    <rpy>0 0 170</rpy>
    <model:SonyVID30>
      <id>camera4</id>
      <xyz>0.0 0.0 0.52</xyz>
      <nearClip>0.01</nearClip>
    </model:SonyVID30>

    <model:SickLMS200>
      <id>laser4</id>
      <xyz>0.0 0.0 0.30</xyz>
    </model:SickLMS200>

    <model:TruthWidget>
      <id>truthRobot</id>
    </model:TruthWidget>
  </model:Pioneer2AT>

  #robot5
  <model:Pioneer2AT>
    <id>robot5</id>
    <xyz>20 7 0</xyz>
    <rpy>0 0 0</rpy>
    <model:SonyVID30>
      <id>camera5</id>
      <xyz>0.0 0.0 0.52</xyz>
      <nearClip>0.01</nearClip>
    </model:SonyVID30>

    <model:SickLMS200>
      <id>laser5</id>
      <xyz>0.0 0.0 0.30</xyz>
    </model:SickLMS200>

    <model:TruthWidget>
      <id>truthRobot</id>
    </model:TruthWidget>
  </model:Pioneer2AT>

  #robot6
  <model:Pioneer2AT>
    <id>robot6</id>
    <xyz>24 16 0</xyz>
    <rpy>0 0 0</rpy>
    <model:SonyVID30>
      <id>camera6</id>
      <xyz>0.0 0.0 0.52</xyz>
      <nearClip>0.01</nearClip>
    </model:SonyVID30>

    <model:SickLMS200>
      <id>laser6</id>
      <xyz>0.0 0.0 0.30</xyz>
    </model:SickLMS200>

    <model:TruthWidget>
      <id>truthRobot</id>
    </model:TruthWidget>
  </model:Pioneer2AT>

  #robot7
  <model:Pioneer2AT>
    <id>robot7</id>
    <xyz>2 10 0</xyz>
    <rpy>0 0 0</rpy>
    <model:SonyVID30>
      <id>camera7</id>
      <xyz>0.0 0.0 0.52</xyz>
      <nearClip>0.01</nearClip>
    </model:SonyVID30>

    <model:SickLMS200>
      <id>laser7</id>
      <xyz>0.0 0.0 0.30</xyz>
    </model:SickLMS200>

    <model:TruthWidget>
      <id>truthRobot</id>
    </model:TruthWidget>
  </model:Pioneer2AT>




  #fiducial 1 (yellow, purple, blue) 
  <model:SimpleSolid>
    #first blob
    <xyz>13 7 0</xyz>
    <size>.2 .2</size>
    <shape>cylinder</shape>
    <color>1 1 0</color>
    #truth
    <model:TruthWidget>
      <id>truthCylinder</id>
    </model:TruthWidget>
    #second blob
  <model:SimpleSolid>
    <xyz>0 0 .2</xyz>
    <size>.2 .2</size>
    <shape>cylinder</shape>
    <color>1 0 1</color>
  </model:SimpleSolid>
    #third blob
  <model:SimpleSolid>
    <xyz>0 0 .4</xyz>
    <size>.2 .2</size>
    <shape>cylinder</shape>
    <color>0 0 1</color>
  </model:SimpleSolid>
  #base
  <model:SimpleSolid>
    <xyz>0 0 0</xyz>
    <size>1.5 .01</size>
    <shape>cylinder</shape>
    <color>0 1 0</color>
  </model:SimpleSolid>
 </model:SimpleSolid>

  #fiducial 2 (purple, blue, yellow) 
  <model:SimpleSolid>
    #first blob
    <xyz>20 8.5 0</xyz>
    <size>.2 .2</size>
    <shape>cylinder</shape>
    <color>1 0 1</color>
    #truth
    <model:TruthWidget>
      <id>truthCylinder</id>
    </model:TruthWidget>
    #second blob
  <model:SimpleSolid>
    <xyz>0 0 .2</xyz>
    <size>.2 .2</size>
    <shape>cylinder</shape>
    <color>0 0 1</color>
  </model:SimpleSolid>
    #third blob
  <model:SimpleSolid>
    <xyz>0 0 .4</xyz>
    <size>.2 .2</size>
    <shape>cylinder</shape>
    <color>1 1 0</color>
  </model:SimpleSolid>
  #base
  <model:SimpleSolid>
    <xyz>0 0 0</xyz>
    <size>1.5 .01</size>
    <shape>cylinder</shape>
    <color>0 1 0</color>
  </model:SimpleSolid>
  </model:SimpleSolid>

  #fiducial 3 (blue, yellow, purple) 
  <model:SimpleSolid>
    #first blob
    <xyz>8 4.15 0</xyz>
    <size>.2 .2</size>
    <shape>cylinder</shape>
    <color>0 0 1</color>
    #truth
    <model:TruthWidget>
      <id>truthCylinder</id>
    </model:TruthWidget>
    #second blob
  <model:SimpleSolid>
    <xyz>0 0 .2</xyz>
    <size>.2 .2</size>
    <shape>cylinder</shape>
    <color>1 1 0</color>
  </model:SimpleSolid>
    #third blob
  <model:SimpleSolid>
    <xyz>0 0 .4</xyz>
    <size>.2 .2</size>
    <shape>cylinder</shape>
    <color>1 0 1</color>
  </model:SimpleSolid>
  #base
  <model:SimpleSolid>
    <xyz>0 0 0</xyz>
    <size>1.5 .01</size>
    <shape>cylinder</shape>
    <color>0 1 0</color>
  </model:SimpleSolid>
  </model:SimpleSolid>

  #fiducial 4 (blue, purple, yellow) 
  <model:SimpleSolid>
    #first blob
    <xyz>12 16.4 0</xyz>
    <size>.2 .2</size>
    <shape>cylinder</shape>
    <color>0 0 1</color>
    #truth
    <model:TruthWidget>
      <id>truthCylinder</id>
    </model:TruthWidget>
    #second blob
  <model:SimpleSolid>
    <xyz>0 0 .2</xyz>
    <size>.2 .2</size>
    <shape>cylinder</shape>
    <color>1 0 1</color>
  </model:SimpleSolid>
    #third blob
  <model:SimpleSolid>
    <xyz>0 0 .4</xyz>
    <size>.2 .2</size>
    <shape>cylinder</shape>
    <color>1 1 0</color>
  </model:SimpleSolid>
  #base
  <model:SimpleSolid>
    <xyz>0 0 0</xyz>
    <size>1.5 .01</size>
    <shape>cylinder</shape>
    <color>0 1 0</color>
  </model:SimpleSolid>
  </model:SimpleSolid>

  #fiducial 5 (purple, yellow, blue) 
  <model:SimpleSolid>
    #first blob
    <xyz>20 16.4 0</xyz>
    <size>.2 .2</size>
    <shape>cylinder</shape>
    <color>1 0 1</color>
    #truth
    <model:TruthWidget>
      <id>truthCylinder</id>
    </model:TruthWidget>
    #second blob
  <model:SimpleSolid>
    <xyz>0 0 .2</xyz>
    <size>.2 .2</size>
    <shape>cylinder</shape>
    <color>1 1 0</color>
  </model:SimpleSolid>
    #third blob
  <model:SimpleSolid>
    <xyz>0 0 .4</xyz>
    <size>.2 .2</size>
    <shape>cylinder</shape>
    <color>0 0 1</color>
  </model:SimpleSolid>
  #base
  <model:SimpleSolid>
    <xyz>0 0 0</xyz>
    <size>1.5 .01</size>
    <shape>cylinder</shape>
    <color>0 1 0</color>
  </model:SimpleSolid>
  </model:SimpleSolid>

  #fiducial 6 (yellow, blue, purple) 
  <model:SimpleSolid>
    #first blob
    <xyz>20 2 0</xyz>
    <size>.2 .2</size>
    <shape>cylinder</shape>
    <color>1 1 0</color>
    #truth
    <model:TruthWidget>
      <id>truthCylinder</id>
    </model:TruthWidget>
    #second blob
  <model:SimpleSolid>
    <xyz>0 0 .2</xyz>
    <size>.2 .2</size>
    <shape>cylinder</shape>
    <color>0 0 1</color>
  </model:SimpleSolid>
    #third blob
  <model:SimpleSolid>
    <xyz>0 0 .4</xyz>
    <size>.2 .2</size>
    <shape>cylinder</shape>
    <color>1 0 1</color>
  </model:SimpleSolid>
  #base
  <model:SimpleSolid>
    <xyz>0 0 0</xyz>
    <size>1.5 .01</size>
    <shape>cylinder</shape>
    <color>0 1 0</color>
  </model:SimpleSolid>
  </model:SimpleSolid>

</gz:world>
