通过 Gazebo 模拟激光雷达传感器,并在 Rviz 中显示激光数据。

实现流程:

雷达仿真基本流程:

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

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

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

1.Gazebo 仿真雷达

在 urdf/gazebo 下新建 laser.xacro 

1.2 xacro 文件集成

更新 car.urdf.xacro

<robot name="my_base" xmlns:xacro="http://www.ros.org/wiki/xacro">
    <!--包含惯性矩阵文件-->
    <xacro:include filename="head.xacro" />
    <!--包含底盘、摄像头与雷达的 xacro 文件-->
    <xacro:include filename="demo05_car_base.urdf.xacro" />
    <xacro:include filename="demo06_car_camera.urdf.xacro" />
    <xacro:include filename="demo07_car_laser.urdf.xacro" />

    <!--运动控制-->
    <xacro:include filename="gazebo/move.xacro" />

    <!--雷达控制-->
    <xacro:include filename="gazebo/laser.xacro" />

</robot>

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

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

  <!-- 雷达 -->
  <gazebo reference="laser">
    <sensor type="ray" name="rplidar">
      <pose>0 0 0 0 0 0</pose>
      <visualize>true</visualize>
      <update_rate>5.5</update_rate>
      <ray>
        <scan>
          <horizontal>
            <samples>360</samples>
            <resolution>1</resolution>
            <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>

启动两个 launch 文件

cys@ubuntu:~/demo05_ws$ source ./devel/setup.bash
cys@ubuntu:~/demo05_ws$ roslaunch urdf02_gazebo demo03_env.launch 
cys@ubuntu:~/demo05_ws$ source ./devel/setup.bash
cys@ubuntu:~/demo05_ws$ roslaunch urdf02_gazebo demo04_sensor.launch 

机器人系统仿真(十五)——雷达信息仿真以及显示_ubuntu

2.Rviz 显示雷达数据

先启动 rviz,添加雷达信息显示插件机器人系统仿真(十五)——雷达信息仿真以及显示_激光雷达_02

 机器人系统仿真(十五)——雷达信息仿真以及显示_bash_03