ARGoS Example

diffusion_10.argos

<- back

<?xml version="1.0" ?>
<argos-configuration>
 
  <!-- ************************* -->
  <!-- * General configuration * -->
  <!-- ************************* -->
  <framework>
    <system threads="0" />
    <experiment length="0"
                ticks_per_second="10"
                random_seed="124" />
  </framework>
 
  <!-- *************** -->
  <!-- * Controllers * -->
  <!-- *************** -->
  <controllers>
 
    <footbot_diffusion_controller id="fdc"
                                  library="build/controllers/footbot_diffusion/libfootbot_diffusion.so">
      <actuators>
        <differential_steering implementation="default" />
      </actuators>
      <sensors>
        <footbot_proximity implementation="default" show_rays="true" />
      </sensors>
      <params alpha="7.5" delta="0.1" velocity="5" />
    </footbot_diffusion_controller>
 
  </controllers>
 
  <!-- *********************** -->
  <!-- * Arena configuration * -->
  <!-- *********************** -->
  <arena size="5, 5, 1" center="0,0,0.5">
 
    <box id="wall_north" size="4,0.1,0.5" movable="false">
      <body position="0,2,0" orientation="0,0,0" />
    </box>
    <box id="wall_south" size="4,0.1,0.5" movable="false">
      <body position="0,-2,0" orientation="0,0,0" />
    </box>
    <box id="wall_east" size="0.1,4,0.5" movable="false">
      <body position="2,0,0" orientation="0,0,0" />
    </box>
    <box id="wall_west" size="0.1,4,0.5" movable="false">
      <body position="-2,0,0" orientation="0,0,0" />
    </box>
 
    <!--
        You can distribute entities randomly. Here, we distribute
        10 foot-bots in this way:
        - the position is uniformly distributed
        on the ground, in the square whose corners are (-2,-2) and (2,2)
        - the orientations are non-zero only when rotating around Z and chosen
        from a gaussian distribution, whose mean is zero degrees and
        standard deviation is 360 degrees.
    -->
    <distribute>
      <position method="uniform" min="-2,-2,0" max="2,2,0" />
      <orientation method="gaussian" mean="0,0,0" std_dev="360,0,0" />
      <entity quantity="10" max_trials="100">
        <foot-bot id="fb">
          <controller config="fdc" />
        </foot-bot>
      </entity>
    </distribute>
 
    <!--
        We distribute 5 boxes uniformly in position and rotation around Z.
    -->
    <distribute>
      <position method="uniform" min="-2,-2,0" max="2,2,0" />
      <orientation method="uniform" min="0,0,0" max="360,0,0" />
      <entity quantity="5" max_trials="100">
        <box id="b" size="0.3,0.3,0.5" movable="false" />
      </entity>
    </distribute>
 
    <!--
        We distribute cylinders uniformly in position and with
        constant rotation (rotating a cylinder around Z does not
        matter)
    -->
    <distribute>
      <position method="uniform" min="-2,-2,0" max="2,2,0" />
      <orientation method="constant" values="0,0,0" />
      <entity quantity="5" max_trials="100">
        <cylinder id="c" height="0.5" radius="0.15" movable="false" />
      </entity>
    </distribute>
 
  </arena>
 
  <!-- ******************* -->
  <!-- * Physics engines * -->
  <!-- ******************* -->
  <physics_engines>
    <dynamics2d id="dyn2d" />
  </physics_engines>
 
  <!-- ********* -->
  <!-- * Media * -->
  <!-- ********* -->
  <media />
 
  <!-- ****************** -->
  <!-- * Visualization * -->
  <!-- ****************** -->
  <visualization>
    <qt-opengl>
      <camera>
        <placements>
          <placement index="0" position="0,0,13" look_at="0,0,0" up="1,0,0" lens_focal_length="65" />
        </placements>
      </camera>
    </qt-opengl>
  </visualization>
 
</argos-configuration>
 

<- back