首页 > 智能网

不需GPS和惯导,新型传感器实现激光雷达SLAM

来源:智能网
时间:2019-07-06 12:03:38
热度:81

不需GPS和惯导,新型传感器实现激光雷达SLAMOuster能够以比其他产品更低的价格、更大的规模、更好的分辨率实现建图。取代了以软件为中心的测绘策略,避免了对高精度GPS系统、车

Ouster能够以比其他产品更低的价格、更大的规模、更好的分辨率实现建图。取代了以软件为中心的测绘策略,避免了对高精度GPS系统、车轮里程表或昂贵陀螺仪的需求。此外,Ouster OS1多光束闪光激光雷达在同其他激光雷达产生相同数量点的情况下,价格更便宜,体积更轻便。这意味着,无论是无人机、汽车还是机器人,Ouster的地图系统都可以快速经济地部署在任何平台上。

使用激光雷达传感器制作高清地图

激光雷达技术的最佳用途之一是测绘。有了激光雷达,就有了周围一切的三维模型。

视频为使用3个Ouster OS1传感器扫描标志性的旧金山渡轮大厦

使用SLAM制作高清地图

制作一张3D地图所需要做的就是将在不同地方拍摄的激光雷达扫描序列对齐。但是,将它们排列起来的过程并不那么容易。如果激光雷达安装在移动的平台上,比如汽车上,便更加不容易。

过去,激光雷达制图依赖于激光扫描仪,比如高精度GPS惯性导航系统(inertialnavigation system, INS)。利用GPS INS测量的位置和方位,可以将激光雷达点云对齐。现代GPS INS使用诸如带有实时运动学(RTK)校正信号的地面站等技术,GPSINS系统可以将位置精确到几厘米之内,而像手机等相对便宜的GPS精确距离可能有几十米,可见现在GPS INS系统要好得多!但是,好的GPS INS系统非常贵,通常要数万美元。

至于Ouster,他们不使用昂贵的GPS INS,与Ouster OS1相比,GPS INS的价格高出几倍之多。但是,他们使用激光雷达数据本身来排列东西,这称为同步定位和建图(SLAM)。以前,计算机的速度还不够快,无法使用激光雷达数据可靠地运行SLAM,但是现在,随着SLAM技术和计算机硬件的发展,使激光雷达进行SLAM成为可能。

SLAM的原则是:对传感器数据的最佳解释是最简单的解释,对传感器数据最简单的解释是发生在所有东西都对齐时。

测量激光雷达数据如何排列

调整点

大多数机器人算法可以归结为两个步骤。首先,定义一个叫做损失函数的函数,或者目标函数。第二,调整参数使函数最小化。

对于从激光雷达对准两个点云,可以用以下方法定义目标函数。考虑将实测点云M移动到静态场景点云S中,对于M中的每一点,找到S中最近的点,目标函数为M中每一点到对应点距离的平方和。通过旋转和移动点云M来最小化目标函数。目标函数可以通过各种非线性最小二乘求解器最小化,如LevenbergMarquardt。在三维场景下,旋转和平移总共有6个自由度。

在最小化损失函数之后,点云M会移动,这意味着相应的最近点可能已经改变。为了处理这个问题,简单地重复这个过程,直到最近的点不变。该算法称为迭代最接近点(ICP)。寻找最近的点对于移动地图工具和机器人来说非常有效,因为它们移动平稳,所以可以对它们的位置有一个很好的猜测。所以最开始最接近的点很可能在优化之后仍然是最接近的点。

在实际操作中,lidars点并不完全直接对应。相反,激光雷达从一些潜在的物理表面扫描样本点。Ouster OS1不是找一个最近的点,而是找几个,然后把一个平面拟合到这些点上。然后,不是最小化两个点之间的距离,而是最小化一个点到一个平面的距离。还有其他一些先进的方法,如广义ICP、surfels或正态分布变换。

每个Ouster OS1都有一个内置惯性测量单元(IMU)。这是一种低成本的传感器,类似于每一部智能手机。虽然不如高精度INS精确,但仍然非常有用。就像对齐点一样,使用类似的策略合并IMU数据。首先,Ouster制定了一个目标函数来补偿惯性测量(转速和平动加速度)之间的差异。其次,优化状态使目标函数最小化。

把所有这些不同的目标函数合并成一个大函数。这叫做紧密耦合。一般来说,传感器越多效果越好。

实时性能

由于其独特的多光束闪光激光雷达设计,Ouster OS1每秒输出超过100万个点,是同类产品中最高的之一。不幸的是,高分辨率带来了很高的计算复杂度。

Ouster的SLAM算法非常著名,因为它能够在一个典型的桌面计算机CPU上实时运行。

在不要考虑目标函数的所有点的情况下,只考虑少数最好的点。这称为特征提取,最好的点称为特征点。

提取特征的一种方法是在点云最平坦的部分找到点。如前所述,一个目标功能策略是点对面ICP。直观地说,与平面匹配良好的点应该位于平面本身。他们可以通过计算一个小邻域内的主成分分析来计算每个点周围的平面度。然后,他们保留最好的,比方说,一千个最平坦的点,只要它们之间没有两个太接近,以确保他们得到一个均匀的点分布。

相对于几何特征提取,激光雷达强度与基于图像的特征提取方法相结合也是可能的。利用Ouster OS1可以捕获二维相机图像这一事实,使用基于深度学习的特征提取。这使得Ouster的算法更加健壮。

时间持续性

传统的SLAM算法将一帧与下一帧对齐。然而,现实世界中的大多数传感器并没有以恰当的速度输出离散帧。例如,惯性测量单元可以输出1000赫兹的数据,但是每秒更新车辆的位置1000次是不可行的。OusterOS1以更高的速度输出数据:64个点每秒可达到20,480次,其中每个像素列的时间戳略有不同。

以前基于lidar的SLAM方法只是使用0.1秒的数据应用帧对帧的点云对齐。在高速公路上,一辆汽车在这段时间内可能移动了3米,导致点云变形。因此,这类方法倾向于使用外部传感器,如车轮里程表,但车轮测程远不如激光雷达测程精确。

对于可能以不同速率运行的多个高频传感器,Ouster OS1采用连续时间方法进行处理。Ouster OS1没有像同时收集所有点一样平移和旋转整个点云,而是将飞行器的轨迹看作是时间的连续函数。

处理连续轨迹有两种主要方法。第一,是非参数方法,如高斯过程(这里不详细讨论)。第二种更流行的方法是将轨迹参数化为样条函数。使用这种方法,OusterOS1有一个合理数量的优化变量,每秒只有10个变量,而不是数千个。同时,解决了运动畸变问题。

对于优化问题,OusterOS1没有将两个帧对齐,而是考虑滑动窗口内的所有点在时间上的关系,比如0.5秒长。该窗口每次向前滑动0.1秒。对于每一个点,都找到了空间中最近的几个点,前提是它们在时间上不是太接近。这给了Ouster OS1相同的距离集合,研究人员可以通过更新每个相关节点实现最小化。

环路闭合问题

到目前为止,已经讨论了使用最近0.5秒数据的滑动窗口来估计轨迹。然而,即使是使用高精度传感器,非常复杂的SLAM算法也会受到一些随机不确定性的影响。因此,用这种方法确定的轨迹将不可避免地略微偏离车辆的真实轨迹。其结果是,当在一个非常大的环路中行驶时,即使车辆实际上已经回到了它开始的位置,但是车辆的估计轨迹也可能不会在相同的位置结束。这就是所谓的环路闭合问题。

环路闭合依旧是大热的研究领域。在Ouster中,他们使用基于快速傅里叶变换的位置识别和粗对准技术,研发了一种环路闭合的最新解决方案。然后,进行大点云对齐批量优化,将多辆车的数据无缝融合到一个三维模型中。批处理优化是完全封装的,运行在云基础设施上,并且具有高度可伸缩性。

得到的结果是一个清晰、详细的3D地图,随着越来越多的车辆在同一区域行驶,它会逐渐变得更精细、更准确。

结论

大规模的三维制图是困难的。Ouster能够以比其他产品更低的价格、更大的规模、更好的分辨率实现建图。取代了以软件为中心的测绘策略,避免了对高精度GPS系统、车轮里程表或昂贵陀螺仪的需求。此外,Ouster OS1多光束闪光激光雷达在同其他激光雷达产生相同数量点的情况下,价格更便宜,体积更轻便。这意味着,无论是无人机、汽车还是机器人,Ouster的地图系统都可以快速经济地部署在任何平台上。