<?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>30.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>/simulator_laser_scan</topicName>
        <frameName>front_bottom_lrf</frameName>
      </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>40</update_rate>
      <ray>
        <scan>
          <horizontal>
            <samples>1080</samples>
            <resolution>0.02</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>/line_laser_scan</topicName>
        <frameName>line_lrf</frameName>
      </plugin>
    </sensor>
  </gazebo>
  <!-- <gazebo reference="rear_bottom_lrf"><sensor type="ray" name="rear_bottom_lrf_hokuyo_sensor"><pose>0 0 0 0 0 0</pose><visualize>true</visualize><update_rate>50</update_rate><ray><scan><horizontal><samples>720</samples><resolution>1</resolution><min_angle>-1.570796</min_angle><max_angle>1.570796</max_angle></horizontal></scan><range><min>0.10</min><max>30.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>/cirkit_unit03/laser/base_scan2</topicName><frameName>rear_bottom_lrf</frameName></plugin></sensor></gazebo> -->
  <!-- <gazebo reference="front_top_lrf"><sensor type="ray" name="front_top_lrf_hokuyo_sensor"><pose>0 0 0 0 0 0</pose><visualize>true</visualize><update_rate>50</update_rate><ray><scan><horizontal><samples>720</samples><resolution>1</resolution><min_angle>-1.570796</min_angle><max_angle>1.570796</max_angle></horizontal></scan><range><min>0.10</min><max>30.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>/cirkit_unit03/laser/base_scan1</topicName><frameName>front_top_lrf</frameName></plugin></sensor></gazebo> -->
  <!-- <gazebo reference="front_top_3durg"><sensor type="depth" name="openni_camera"><always_on>1</always_on><visualize>true</visualize><camera><horizontal_fov>2.8</horizontal_fov><image><width>640</width><height>480</height> -->
  <!--<format>R8G8B8</format>-->
  <!-- <format>B8G8R8</format></image><depth_camera></depth_camera><clip><near>0.01</near><far>100</far></clip></camera><plugin name="onepni_camera_controller" filename="libgazebo_ros_openni_kinect.so"><alwaysOn>true</alwaysOn><updateRate>10.0</updateRate><cameraName>camera</cameraName><frameName>front_top_3durg_rgbd_optical_frame</frameName><imageTopicName>rgb/image_raw</imageTopicName><depthImageTopicName>depth/image_raw</depthImageTopicName><pointCloudTopicName>depth/points</pointCloudTopicName><cameraInfoTopicName>rgb/camera_info</cameraInfoTopicName><depthImageCameraInfoTopicName>depth/camera_info</depthImageCameraInfoTopicName><pointCloudCutoff>0.4</pointCloudCutoff><hackBaseline>0.07</hackBaseline><distortionK1>0.0</distortionK1><distortionK2>0.0</distortionK2><distortionK3>0.0</distortionK3><distortionT1>0.0</distortionT1><distortionT2>0.0</distortionT2><CxPrime>0.0</CxPrime><Cx>0.0</Cx><Cy>0.0</Cy><focalLength>0.0</focalLength></plugin></sensor></gazebo> -->
  <!-- camera -->
  <!-- <gazebo reference="camera_link"><sensor type="camera" name="camera1"><update_rate>30.0</update_rate><camera name="head"><horizontal_fov>1.3962634</horizontal_fov><image><width>800</width><height>800</height><format>R8G8B8</format></image><clip><near>0.02</near><far>300</far></clip><noise><type>gaussian</type> -->
  <!-- Noise is sampled independently per pixel on each frame. -->
  <!-- That pixel's noise value is added to each of its color channels, which at that point lie in the range [0,1]. -->
  <!-- <mean>0.0</mean><stddev>0.007</stddev></noise></camera><plugin name="camera_controller" filename="libgazebo_ros_camera.so"><alwaysOn>true</alwaysOn><updateRate>0.0</updateRate><cameraName>cirkit_unit03/camera1</cameraName><imageTopicName>image_raw</imageTopicName><cameraInfoTopicName>camera_info</cameraInfoTopicName><frameName>camera_link</frameName><hackBaseline>0.07</hackBaseline><distortionK1>0.0</distortionK1><distortionK2>0.0</distortionK2><distortionK3>0.0</distortionK3><distortionT1>0.0</distortionT1><distortionT2>0.0</distortionT2></plugin></sensor></gazebo> -->
</robot>