从入门到放弃——Lidar小白学习Lidar SLAM系列(2)使用自己的数据集跑通LeGO-LOAM

前言

上一篇博文我们从头到尾的讲解了一遍如何将LeGO-LOAM安装到一台全新的白白胖胖的电脑上,并且利用官方数据集验证了我们安装是否正确。我们学习LeGO-LOAM的目的呢,自然是为了做项目,那肯定就涉及移植了,不过这篇博文,我们不会涉及深入的东西,让我们先着眼于修改一下LeGO-LOAM所使用的传感器设置,使之能够跑通我们自己采集的数据。

入门知识

无论学习什么,基础总规是最重要的。为了能够完成本文的内容,我们有必要先行了解一下激光雷达的参数以及IMU的坐标系定义。

激光雷达

博主采用的激光雷达是速腾聚创的RS-Lidar-16,下面直接放出来雷达的参数。在这里插入图片描述
简单说说:
TOF法测距16通道TOF法自行百度,说的都很清楚。16通道是指垂直方向总共会有16条激光射线,换句话说就是激光雷达扫了一圈后,我们能在点云上看到16个圈。
测距就是有效测量范围,后面的目标反射率20%是物体固有属性,代表待测物的反光率
精度这里精度是指激光线的垂直测距精度
视角(垂直)垂直方向的视角,上下各15°
角分辨率垂直方向,两根激光射线之间的夹角是2°
视角(水平)水平方向的视角360°,扫一圈全能看到
角分辨率(水平)由于设计的原因,每秒钟能够发射的激光次数是固定的,故扫频率的越快,角分辨率就越低
转速rpm就是转每分钟

基本了解到这就可以了,后续工程上还有时间同步、相位锁定之类的功能可以自己看看手册。

IMU坐标系

我们一般意义上的imu是包含3轴陀螺、3轴加速度计的惯性测量单元,不带磁力计,请不要搞混了。imu具体性能参数之类的请自行百度,这里主要说一下坐标轴的事,之后会涉及这方面修改。

首先我们看看LeGO-LOAM的坐标系设定
在这里插入图片描述
看看,这是什么奇葩坐标系哦!!
我们车载的坐标系一般常采用两种,右前上和前右下,均是右手坐标系,分别对应当地地理坐标系的ENU和NED。
我们的IMU如果采用的是右前上坐标系,要转换成如图所示的前左上,需要对原始数据做一下坐标转换,简单的说就是把[x y z]三轴数据变为[y -x z]。

时间同步

时间同步很重要,因为IMU数据和激光雷达数据并不是同一个设备,而不同设备的时间是相互独立的,我遇到有同学用ROS接收时间作为数据同步的方法,这是一个极大的错误,因为传感器数据从产生到接收包含了AD采样、内部处理、链路传输、计算机硬件FIFO、ROS系统等待等等这些环节都会产生延迟,而且这些延迟对于每一个外设都是不同的,故ROS系统同时接受的Lidar和IMU的数据,并不是同一时刻的数据。

为了应对这一问题,我们很自然的提出了一种时间同步方法,即在每一帧数据产生时均打上一个时间戳,这样ROS接受的时候就可以按图索引,找到同一时刻对应的Lidar和IMU数据了。

LeGO-LOAM-BOR

容我先隆重介绍一下LeGO-LOAM-BOR,LeGO-LOAM-BOR是在保持了LeGO-LOAM算法不变的基础上,通过优化软件代码,使得LeGO-LOAM-BOR具备了易读性,移植性好,参数修改方便等优点。

我们接下来的工作就在LeGO-LOAM-BOR上进行修改。

LeGO-LOAM-BOR的安装请参照从入门到放弃——Lidar小白学习Lidar SLAM系列(1)LeGO-LOAM环境搭建,大家已经是成熟的孩子了,该学会自己搭建软件平台了。

  • 4
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值