干货系列

缩短算法开发周期,Livox LOAM 让好产品更好用

2020/05/22

从传统机械旋转式激光雷达切换到 Livox 激光雷达的算法迁移难度并不高,而大规模商用时节省下来的真金白银远大于算法迁移成本。

 

年初,Livox 推出了适用于自动驾驶的重磅产品——浩界 Horizon 激光雷达,售价仅需¥6499,大幅降低高性能激光雷达的使用门槛。自发布以来,各行各业客户纷纷采购、试用。浩界激光雷达 0.1 秒内可以输出的点数约为 24000,在 81.7° × 25.1° 的 FOV 范围内,足以获取丰富的三维信息,可以通过点云的帧间匹配实现激光雷达的位姿估计,实现激光里程计、ego-motion、三维重建等功能。由于这款产品有别于传统的机械式激光雷达,客户在实际应用中也需要有相对应的调整。本文将介绍部分开源算法及实际使用案例,希望能对您的团队有所启发。

 

浩界Horizon loam_livox算法示例

传统机械式激光雷达采用线束间重复扫描方式,相邻帧点云的重复度非常高,因此可采用常见的 ICP、NDT 等算法匹配点云,获取激光里程计信息,进而完成运动估计、三维建图等工作。

而非重复扫描的激光雷达,激光线束的扫描位置时刻处在变化之中,每帧数据采集到的点云形态存在较大差异,若直接通过点到点(Point to Point)的方式匹配点云,往往无法获得精度较高的匹配结果。因此对于非重复扫描雷达的点云数据,可以通过直接与地图匹配(Scan to Map)的方式,如 loam_livox[1],通过获得每帧点云在世界坐标系下的位姿,实现激光雷达的位姿估计。

下面以开源算法 livox_horizon_loam[2] 为例,简单讲述如何利用单台浩界 Horizon雷达与 LOAM[3]算法,完成激光 SLAM 工作。

硬件配置:可移动平台×1、浩界 Horizon 激光雷达×1

 

 

软件环境:Ubuntu 16.04、ROS Kinetic、PCL 1.7、Ceres 1.13.0、Eigen 3.3.7、OpenCV 3.3.1。

算法介绍:

 

 

01 点云特征提取

 

从浩界 Horizon的单帧点云(0.1 秒点云数据,下同)中提取边缘特征点和平面特征点等信息,再利用点到直线(Point to Line)和点到平面(Point to Plane)的点云配准方式,精简浩界 Horizon单帧点云的数据量,可在提升运算速度的同时,降低非重复扫描对点云匹配造成的不利影响,提升匹配的精度与稳定度

浩界 Horizon 点云以固定的线号顺序,按照时序依次输出,如下所示。这种规则的扫描方式,为提取点云特征提供了巨大便利。

 

0.1s (10HZ) 浩界点云扫描示意图

 

在浩界 Horizon的点云数据中,每个点所属的线号、时间戳等信息都可轻松读取,以本文使用的 livox_ros_driver/CustomMsg 数据格式为例,其数据结构如下所示:

对于第 n 线(即line=n)的一个点 通过与其同线号的邻近点,可以计算该点的曲率值。基于曲率值大小的判断,可以将所有点区分为“边缘点”、“平面点”、“一般点”三种类型。如图 2 所示,处在边缘的点,其曲率较大,而处在平面上的点,曲率接近于 0。定义点集,其中包含了点 以及与其相邻的 2m 个点。则点 的曲率值可以通过下式计算:

定义边缘点曲率阈值 与平面点曲率阈值 ,则边缘点需满足> 的判定条件,而平面点需满足< 的判定条件,其余点都被归类为一般点。

图2 曲率计算示意图

 

浩界点云特征提取效果如下图3所示,其中白色点为一般点,红色点的边缘点,绿色点为平面点。

图3 浩界 Horizon点云特征提取效果

 

 

02 点云匹配与位姿修正

 

浩界 Horizon两帧点云数据在优化点云之间特征点的匹配误差后,便可完成点云的配准,获得雷达运动状态的估计结果。除此之外,在优化每一帧点云在全局地图坐标系中的位姿之后,浩界 Horizon还能够在实时输出激光里程计信息的同时,构建高质量的场景三维点云地图。这部分的具体实现方法与 LOAM[1] 完全一致,最终效果如文章开头视频所示。

 

扩展

本文通过实际案例,证明将浩界 Horizon的非重复扫描点云数据应用到现有优秀算法完全可行。虽然算法的迁移不可避免,但大规模商用时节省下来的真金白银远大于算法迁移成本。从本文案例以及 Livox 相关客户的经验来看,从传统机械旋转式激光雷达切换到 Livox 激光雷达的算法迁移难度并不高。

从技术原理上说,传统算法所使用的点云邻域信息依然适用于浩界 Horizon的点云,只需针对不同算法,在具体参数上进行调整和优化,即可完成浩界 Horizon点云与已有算法的适配。而适用于传统雷达的深度学习模型的深度学习算法,只需完成相应的数据采集、标注与训练,同样可用于浩界 Horizon激光雷达。

下面视频展示的示例中,我们将浩界 Horizon激光雷达与 IMU 数据进行融合定位与建图,在提高了浩界 Horizon定位精度的同时,又增强了浩界 Horizon点云对多种复杂场景的应对能力,如城市道路、高架桥、隧道等。此外,引入深度学习技术后,我们能对每一帧点云中出现的车辆进行检测与追踪,有效提升了浩界 Horizon激光雷达的感知能力,也说明浩界 Horizon激光雷达非常适用于自动驾驶及其相关领域。

 

 

参考文献.

[1] loam_livox: https://github.com/hku-mars/loam_livox

[2] livox_horizon_loam: https://github.com/Livox-SDK/livox_horizon_loam

[3] LOAM: https://ri.cmu.edu/pub_files/2014/7/Ji_LidarMapping_RSS2014_v8.pdf