激光雷达数据分析
既然要做一个基于gmapping的小车,那么激光雷达就是最重要的传感器之一,对应的激光雷达扫描信息就很重要了。激光雷达没什么神秘的,本质上就是一个测距传感器,只不过由于加上旋转,就可以测一个面上的距离数据(也就是360°),在扫描区域中激光雷达在每个角度分辨率对应位置解析出的距离值会被依次连接起来,这样,通过极坐标表示就能非常直观地看到周围物体的切面轮廓。
激光雷达通常有四个性能衡量指标:测距分辨率、扫描频率(有时也用扫描周期)、角度分辨率及可视范围。测距分辨率衡量在一个给定的距离下测距的精确程度,通常与距离真实值相差在5-20mm;扫描频率衡量激光雷达完成一次完整扫描的快慢,通常在10Hz及以上;角度分辨率直接决定激光雷达一次完整扫描能返回多少个样本点。具体数据根据不同雷达而有一些差距(钱越多,越牛逼)。
下面以我买的一款激光雷达为例,当然我买的可以说是我能找到的最便宜的激光雷达了,但也足够了。
买激光雷达一般都会提供驱动,我们从ros的角度来讲激光雷达,而不是激光雷达的最底层数据。在ros中,激光雷达的消息一般是:sensor_msgs/LaserScan
现在我们安装了一个激光雷达,并启动了一个可以发布激光雷达信息的节点,并发布了激光雷达扫描信息的topic/sacn
(当然也可以直接下载数据集并rosbag play *.bag
)
输入:
rosmsg show sensor_msgs/LaserScan
我们可以看到LaserScan的消息结构: