ROS综合运动控制:雷达信息仿真及显示

综合运动控制:雷达信息仿真及显示

(1)新建laser.xacro文件并集成到小车模型文件中(include)

  编写laser.xacro文件,需要修改对照的部分是:

  第三行gazebo reference部分和倒数第五行frame name的名字“laser”,该文件要作用到机器人模型的雷达连杆部分,要找到自己雷达连杆设置的名字并对应修改。该标签上面的topicname话题就是雷达传感器发布数据所用的话题,这里是/scan。

<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>gazebo是否显示雷达射线
      <update_rate>5.5</update_rate>雷达射线的更新频率
      <ray>
        <scan>
          <horizontal>
            <samples>360</samples>采样个数:雷达旋转一周采样几个点
            <resolution>1</resolution>分辨率:可以设置为整数n,每n个射线测距一次
            <min_angle>-3</min_angle>设置雷达的采样范围(180度采样?120度采样?单位是弧度制)
            <max_angle>3</max_angle>
          </horizontal>
        </scan>
        <range>
          <min>0.10</min>雷达有效范围0.1米到30米
          <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>

(2)roslaunch启动env.launch和rviz

  观察gazebo的结果,可以看到仿真中会显示雷达信号的波束

在这里插入图片描述

(3)在RVIZ中进行对应设置,显示雷达信号的组件

改坐标系Fixed Frames:odom,添加组件laserscan

在这里插入图片描述

​ topic选择/scan,可以看到rviz中出现了一些红色的点组成的边界,这就是雷达信息得到的信号,可以看到周围环境的障碍物情况

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45205599/article/details/129708118
今日推荐