<!-- Population -->
<element name="population" required="*">
  <description>
    The population element defines how and where a set of models will
    be automatically populated in Gazebo.
  </description>

  <attribute name="name" type="string" default="__default__" required="1">
    <description>
      A unique name for the population. This name must not match
      another population in the world.
    </description>
  </attribute>

  <include filename="box_shape.sdf" required="0"/>
  <include filename="cylinder_shape.sdf" required="0"/>

  <element name="model_count" type="int" default="1" required="1">
    <description>The number of models to place.</description>
  </element><!-- End Model_count -->

  <element name="distribution" required="1">
    <description>
      Specifies the type of object distribution and its optional parameters.
    </description>

    <element name="type" type="string" default="random" required="1">
      <description>
        Define how the objects will be placed in the specified region.
        - random: Models placed at random.
        - uniform: Models approximately placed in a 2D grid pattern with control
            over the number of objects.
        - grid: Models evenly placed in a 2D grid pattern. The number of objects
            is not explicitly specified, it is based on the number of rows and
            columns of the grid.
        - linear-x: Models evently placed in a row along the global x-axis.
        - linear-y: Models evently placed in a row along the global y-axis.
        - linear-z: Models evently placed in a row along the global z-axis.
      </description>
    </element><!-- End Type -->

    <element name="rows" type="int" default="1" required="0">
      <description>Number of rows in the grid.</description>
    </element><!-- End Rows -->
    <element name="cols" type="int" default="1" required="0">
      <description>Number of columns in the grid.</description>
    </element><!-- End Columns -->
    <element name="step" type="vector3" default="0.5 0.5 0" required="0">
      <description>Distance between elements of the grid.</description>
    </element><!-- End Step -->

  </element><!-- End Distribution -->

  <include filename="frame.sdf" required="*"/>
  <include filename="pose.sdf" required="0"/>

  <include filename="model.sdf" required="1"/>

</element> <!-- End Population -->
