<element name="ray" required="0">
  <description>These elements are specific to the ray (laser) sensor.</description>

  <element name="scan" required="1">
    <description></description>
    <element name="horizontal" required="1">
      <description></description>

      <element name="samples" type="unsigned int" default="640" required="1">
        <description>The number of simulated rays to generate per complete laser sweep cycle.</description>
      </element>

      <element name="resolution" type="double" default="1" required="1">
        <description>This number is multiplied by samples to determine the number of range data points returned. If resolution is less than one, range data is interpolated. If resolution is greater than one, range data is averaged.</description>
      </element>

      <element name="min_angle" type="double" default="0" required="1">
        <description></description>
      </element>

      <element name="max_angle" type="double" default="0" required="1">
        <description>Must be greater or equal to min_angle</description>
      </element>

    </element> <!-- End Horizontal -->

    <element name="vertical" required="0">
      <description></description>
      <element name="samples" type="unsigned int" default="1" required="1">
        <description>The number of simulated rays to generate per complete laser sweep cycle.</description>
      </element>

      <element name="resolution" type="double" default="1" required="0">
        <description>This number is multiplied by samples to determine the number of range data points returned. If resolution is less than one, range data is interpolated. If resolution is greater than one, range data is averaged.</description>
      </element>

      <element name="min_angle" type="double" default="0" required="1">
        <description></description>
      </element>

      <element name="max_angle" type="double" default="0" required="1">
        <description>Must be greater or equal to min_angle</description>
      </element>

    </element> <!-- End Vertical -->
  </element> <!-- End Scan -->

  <element name="range" required="1">
    <description>specifies range properties of each simulated ray</description>
    <element name="min" type="double" default="0" required="1">
      <description>The minimum distance for each ray.</description>
    </element>
    <element name="max" type="double" default="0" required="1">
      <description>The maximum distance for each ray.</description>
    </element>
    <element name="resolution" type="double" default="0" required="0">
      <description>Linear resolution of each ray.</description>
    </element>
  </element> <!-- End Range -->
</element> <!-- End Ray -->
