ros学习笔记之雷达信息仿真及显示

实现流程:

雷达仿真基本流程:

  1. 已经创建完毕的机器人模型,编写一个单独的 xacro 文件,为机器人模型添加雷达配置;

  2. 将此文件集成进xacro文件;

  3. 启动 Gazebo,使用 Rviz 显示雷达信息。

1.Gazebo 仿真雷达

1.1 新建 Xacro 文件,配置雷达传感器信息

<robot name="my_sensors" xmlns:xacro="http://wiki.ros.org/xacro">

  <!-- 雷达 -->
  <gazebo reference="laser">    //reference要和laser连杆名称一致
    <sensor type="ray" name="rplidar">        //type雷达类型 name起名字
      <pose>0 0 0 0 0 0</pose>        //6D位姿
      <visualize>true</visualize>        //雷达射线true可视,false不可视
      <update_rate>5.5</update_rate>        //雷达射线更新频率  次/s
      <ray>
        <scan>
          <horizontal>
            <samples>360</samples>        //采样个数,雷达旋转一周采样数
            <resolution>1</resolution>        //分辨率,每N个射线测距一次,设置大一点设备计算压力小,但是损失精度
            <min_angle>-3</min_angle>        //采样范围,单位是弧度,以机器人朝向为中心
            <max_angle>3</max_angle>        //逆时针为正,顺时针为负(看下面演示)
          </horizontal>
        </scan>
        <range>
          <min>0.10</min>        //采样范围   单位  米
          <max>30.0</max>
          <resolution>0.01</resolution>         //采样精度
        </range>
        <noise>        //高斯噪声,数据采集不可能每次都准确
          <type>gaussian</type>
          <mean>0.0</mean>
          <stddev>0.01</stddev>
        </noise>
      </ray>
      <plugin name="gazebo_rplidar" filename="libgazebo_ros_laser.so">
        <topicName>/scan</topicName>        //雷达发布的话题!!!
        <frameName>laser</frameName>
      </plugin>
    </sensor>
  </gazebo>

</robot>

        记住了!左正右负!

顺时针为负 -3   逆时针为正 1.5

然后把laser.xacro进行文件包含

运行gazebo看效果,能看到laser的激光射线

在运行rviz,需要进行配置:

添加LaserScan组件,在topic选择/scan(非常重要!)。激光点的大小可以设置,可以大致看出来gazebo中的仿真环境的轮廓。


版权声明:本文为weixin_51067502原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。