<?xml version="1.0"?>
<robot>
  <gazebo reference="right_front_wheel">
    <mu1 value="1.0"/>
    <mu2 value="1.0"/>
    <kp value="10000000.0" />
    <kd value="1.0" />
    <fdir1 value="1 0 0"/>
  </gazebo>
  <gazebo reference="left_front_wheel">
    <mu1 value="1.0"/>
    <mu2 value="1.0"/>
    <kp value="10000000.0" />
    <kd value="1.0" />
    <fdir1 value="1 0 0"/>
  </gazebo>
  <gazebo reference="right_rear_wheel">
    <mu1 value="1.0"/>
    <mu2 value="1.0"/>
    <kp value="10000000.0" />
    <kd value="1.0" />
    <fdir1 value="1 0 0"/>
  </gazebo>
  <gazebo reference="left_rear_wheel">
    <mu1 value="1.0"/>
    <mu2 value="1.0"/>
    <kp value="10000000.0" />
    <kd value="1.0" />
    <fdir1 value="1 0 0"/>
  </gazebo>
  <gazebo reference="camera_link">
    <mu1>0.2</mu1>
    <mu2>0.2</mu2>
    <material>Gazebo/Black</material>
  </gazebo>
  <!-- hokuyo -->
  <gazebo reference="front_bottom_lrf">
    <sensor type="ray" name="front_bottom_lrf_hokuyo_sensor">
      <pose>0 0 0 0 0 0</pose>
      <visualize>true</visualize>
      <update_rate>40</update_rate>
      <ray>
        <scan>
          <horizontal>
            <samples>1080</samples>
            <resolution>0.1</resolution>
            <min_angle>-2.50</min_angle>
            <max_angle>2.50</max_angle>
          </horizontal>
        </scan>
        <range>
          <min>0.10</min>
          <max>50.0</max>
          <resolution>0.01</resolution>
        </range>
        <noise>
          <type>gaussian</type>
          <!-- Noise parameters based on published spec for Hokuyo laser achieving "+-30mm" accuracy at range < 10m. -->
          <!-- A mean of 0.0m and stddev of 0.01m will put 99.7% of samples within 0.03m of the true reading. -->
          <mean>0.0</mean>
          <stddev>0.01</stddev>
        </noise>
      </ray>
      <plugin name="gazebo_ros_head_hokuyo_controller" filename="libgazebo_ros_laser.so">
        <topicName>/$(arg nsp)/simulator_laser_scan</topicName>
        <frameId>$(arg tfpre)/base_link</frameId>
        <frameName>front_bottom_lrf</frameName>
        <robotNamespace>/</robotNamespace>
      </plugin>
    </sensor>
  </gazebo>
  <!-- hokuyo line -->
  <gazebo reference="line_lrf">
    <sensor type="ray" name="line_hokuyo_sensor">
      <pose>0 0 0 0 0 0</pose>
      <visualize>true</visualize>
      <update_rate>30</update_rate>
      <ray>
        <scan>
          <horizontal>
            <samples>1080</samples>
            <resolution>0.1</resolution>
            <min_angle>0.20</min_angle>
            <max_angle>2.20</max_angle>
          </horizontal>
        </scan>
        <range>
          <min>0.10</min>
          <max>50.0</max>
          <resolution>0.01</resolution>
        </range>
        <noise>
          <type>gaussian</type>
          <!-- Noise parameters based on published spec for Hokuyo laser achieving "+-30mm" accuracy at range < 10m. -->
          <!-- A mean of 0.0m and stddev of 0.01m will put 99.7% of samples within 0.03m of the true reading. -->
          <mean>0.0</mean>
          <stddev>0.01</stddev>
        </noise>
      </ray>
      <plugin name="gazebo_ros_head_hokuyo_controller" filename="libgazebo_ros_laser.so">
        <topicName>/$(arg nsp)/line_laser_scan</topicName>
        <frameId>$(arg tfpre)/base_link</frameId>
        <frameName>line_lrf</frameName>
        <robotNamespace>/</robotNamespace>
      </plugin>
    </sensor>
  </gazebo>

</robot>