接收雷达消息得到障碍物距离
首先呢,启动 Gazebo 仿真系统,并运行tianracer
导航Demo。
我们可以看见正上方的便是我们小车配备的激光雷达传感器,对于激光雷达的测距原理这里就不多概述了,感兴趣的朋友可以去改一下链接查看:https://www.slamtec.com/cn/News/Detail/190
启动完我们的驱动之后,我们需要使用来查看我们的话题是否存在(也就是我们的驱动是否正常运行) :
rostopic list
这里可以看见我们的驱动已经正常运行。
现在探查我们激光雷达的话题中的数据用到以下命令:
rostopic echo /tianracer/scan
当然,使用上述命令数据流过多不方便查看,改为监听一帧的数据:
rostopic echo /tianracer/scan -n1
如果你们想知道数据中的信息,那么官方的数据消息:https://docs.ros.org/en/melodic/api/sensor_msgs/html/msg/LaserScan.html
在这里提一嘴,激光雷达测量的角度范围是-π——π(不是0——2π)
接下来就是代码实例了,这里不过多赘述了,可以看看该博客:
ROS仿真中 读取 turtlebot3 扫描雷达传感器数据 求 前方距离和最短距离(对应方向)
该案例是使用C++(python)实现激光雷达获取数据,如果想知道具体代码示例可以去看看该视频: