自动驾驶 11-1: 光检测和测距传感器LIDAR Light Detection and Ranging Sensors
Posted AI架构师易筋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动驾驶 11-1: 光检测和测距传感器LIDAR Light Detection and Ranging Sensors相关的知识,希望对你有一定的参考价值。
欢迎来到课程的模块四。 在本模块中,我们将讨论 LIDAR, 或光检测和测距传感器。
激光雷达一直是自动驾驶汽车的一项使能技术,因为它可以 看到各个方向并且能够 提供非常准确的范围信息。
事实上,除了少数例外, 当今道路上的大多数自动驾驶汽车都是 配备某种类型的激光雷达传感器。
在本模块中,您将了解 激光雷达传感器的工作原理, 用于处理 LIDAR 数据和 LIDAR 点云的基本传感器模型, 应用于点云的不同类型的变换操作, 以及我们如何使用 LIDAR 进行本地化 使用称为点云注册的技术的自动驾驶汽车。
在这个视频中, 我们将探索激光雷达的工作原理和 查看 2D 和 3D 激光雷达的传感器模型。
我们还将描述来源 这些传感器的测量噪声和误差。
在以后的课程中,我们将更详细地讨论如何使用 用于自动驾驶车辆状态估计的 LIDAR 数据。
如果你见过像这样的自动驾驶汽车 Waymo 汽车或优步汽车, 您可能已经注意到车顶上有东西在旋转。
那个东西是激光雷达, 或光检测和测距传感器, 它的工作是提供 车辆周围环境的详细 3D 扫描。
事实上,激光雷达是最常用的传感器之一 自动驾驶汽车和许多其他类型的移动机器人。
激光雷达有许多不同的形状和尺寸, 并且可以测量到单个点的距离, 世界的二维切片, 或执行完整的 3D 扫描。
今天使用的一些最流行的模型是 由加利福尼亚的 Velodyne 等公司制造, 日本的Hokuyo和德国的SICK。
在本视频中,我们将主要关注 Velodyne 传感器作为我们的选择示例, 但基本技术也适用于其他类型的激光雷达。
在我们深入了解 LIDAR 传感的本质之前, 让我们快速浏览一下这个重要传感器的历史。
激光雷达于 1960 年代首次推出, 激光发明后不久。
最早使用激光雷达的群体是气象学家 在美国国家大气研究中心, 谁部署了激光雷达来测量云顶的高度。
这些基于地面的云高仪仍处于 今天不仅用于测量水云, 还能检测火山灰和空气污染。
机载 LIDAR 传感器如今通常用于 为农业调查和绘制地球表面, 地质、军事和其他用途。
但最先带来激光雷达的应用 进入公众意识的是阿波罗 15 号, 第四次载人登月任务, 并且第一个使用激光高度计绘制月球表面图。
所以,我们已经看到 LIDAR 可用于 测量距离并创建某种类型的地图, 但它们实际上是如何工作的, 我们如何在自动驾驶汽车上使用它们?
要在一维中构建一个基本的 LIDAR, 你需要三个组件; 一个激光器,一个光电探测器, 和一个非常精确的秒表。
激光首先发射一个短脉冲光,通常在 沿某些已知射线方向的近红外频段。
与此同时,秒表开始计数。
激光脉冲从传感器向外传播 光速并击中远处的目标。
也许我们前面的另一辆车在路上或 静止的物体,如停车标志或建筑物。
只要目标物的表面不太抛光或发亮, 激光脉冲会从表面向各个方向散射, 一些反射光会 沿着原始光线方向返回。
光电探测器捕捉到返回脉冲,秒表告诉你 什么时候过去了多少时间 脉搏先灭了又回来了。
该时间称为往返时间。
现在,我们知道光速, 这略低于每秒 3 亿米。
所以,我们可以将光速乘以往返时间 确定激光脉冲行进的总往返距离。
由于光的传播速度比汽车快得多, 将 LIDAR 和目标视为是一个很好的近似 在几纳秒内有效静止 这一切都需要发生。
这意味着从 LIDAR 到目标的距离很简单 我们刚刚计算的往返距离的一半。
这种技术称为飞行时间测距。
虽然这不是构建激光雷达的唯一方法, 这是一个非常常见的方法,也被用于 其他类型的测距传感器,如雷达和声纳。
值得一提的是 光电探测器还会告诉你强度 相对于发射脉冲强度的返回脉冲。
这种强度信息不太常用于自动驾驶, 但它提供了一些关于几何形状的额外信息 光束反射的环境和材料。
那么,为什么强度数据有用?
在某种程度上,事实证明可以从以下位置创建 2D 图像 然后您可以使用相同的激光雷达强度数据 您将在下一课程中学习的计算机视觉算法。
由于激光雷达是它自己的光源, 它实际上为自动驾驶汽车提供了一种在黑暗中看东西的方法。
所以,现在我们知道如何测量单个距离到 使用激光、光电探测器的单点, 一个秒表和飞行时间方程, 但显然留下来是不够的 激光聚焦在前方的一个点上。
那么,我们如何使用这种技术来衡量 2D 或 3D 中的一大堆距离?
诀窍是在激光雷达中构建一个旋转镜 沿不同方向引导发射的脉冲。
随着镜子的转动, 您可以测量传感器周围 2D 切片中点的距离。
如果你再添加一个上下点头的动作 随着旋转到镜子, 您可以使用相同的原理来创建 3D 扫描。
对于 Velodyne 型激光雷达, 镜子沿着整个传感器主体旋转, 使用打结动作进行 3D 扫描要困难得多。
相反,这些传感器实际上会产生 来自一系列的多条二维扫描线 以固定角度间隔隔开的单个激光器, 这有效地让你画画 激光水平条纹的世界。
这是典型的原始 LIDAR 流的示例 来自安装在车顶上的 Velodyne 传感器。
中间的黑洞是 传感器本身所在的盲点, 从那里向外扩散的同心圆 旋转 Velodyne 传感器产生的单个扫描线。
扫描中的每个点都根据返回信号的强度着色。
3D 扫描中的整个点集合称为点云, 我们将讨论如何使用点云 在接下来的几个视频中进行状态估计。
但在我们讨论点云之前 我们需要考虑 3D 中的各个点。
现在通常,激光雷达测量位置 使用球坐标的 3D 点, 从中心原点到 3D 点的范围或径向距离, 从传感器 XY 平面向上测量的仰角, 和方位角,从传感器 x 轴逆时针测量。
这是有道理的,因为方位角和仰角 角度告诉你激光脉冲的方向, 范围告诉你有多远 目标点所在的方向。
方位角和仰角的测量使用 告诉你镜子方向的编码器, 并且范围是使用我们之前看到的飞行时间来测量的。
对于 Velodyne 型激光雷达, 对于给定的扫描线,仰角是固定的。
现在,假设我们要确定笛卡尔 我们在传感器框架中扫描点的 XYZ 坐标, 这是我们经常想做的事情 将多个 LIDAR 扫描组合成一张地图。
要将球坐标转换为笛卡尔坐标, 我们使用与您相同的公式 在你的力学课上遇到过。
这为我们提供了一个逆传感器模型。
我们说这是逆模型,因为 我们的实际测量值以球面坐标给出, 我们正在尝试重建笛卡尔坐标系 在产生它们的点上的坐标。
请注意,我们还没有谈到测量噪声, 稍后我们会回到这个话题。
从笛卡尔坐标到球坐标的另一条路, 我们可以计算出这里给出的逆变换。
这是我们用于 3D LIDAR 的前向传感器模型, 其中给出了一组笛卡尔 坐标定义了传感器实际报告的内容。
现在,大部分时间我们工作的自动驾驶汽车 使用像 Velodyne 这样的 3D LIDAR 传感器, 但有时你可能想单独使用 2D LIDAR, 无论是检测障碍物还是状态估计 更结构化的环境,例如停车场。
有些汽车有多个 2D LIDAR 战略性地用作单个 3D LIDAR, 以更大或更小的测量密度覆盖不同的区域。
对于 2D LIDAR,我们使用完全相同的正向和反向传感器模型。
但是仰角增强了 z 分量 传感器框架中的 3D 点都为零。
换句话说,我们所有的测量都是 限于传感器的 XY 平面, 我们的球面坐标坍塌为 熟悉的二维极坐标。
我们现在已经看到了如何在测量的球坐标之间进行转换 传感器和笛卡尔 我们通常会对状态估计感兴趣的坐标, 但是测量噪声呢?
对于 LIDAR 传感器,有 需要考虑的几个重要噪声源。
第一,不确定性 反射信号到达的确切时间, 这是因为我们用来计算的秒表 飞行时间必然具有有限的分辨率。
同样,也存在不确定性 镜子在 2D 中的确切方向和 自编码器以来的 3D LIDAR 用来测量这个也有有限的分辨率。
另一个重要因素是与 会降低返回信号的目标表面。
例如,如果表面完全是黑色的, 它可能会吸收大部分激光脉冲。
或者如果它像镜子一样闪亮, 激光脉冲可能会被散射 完全偏离原来的脉冲方向。
在这两种情况下, LIDAR 通常会报告最大距离误差, 这可能意味着沿光束方向有空白空间, 或者脉冲遇到 高吸收性或高反射性表面。
换句话说,你根本无法判断某物是否存在, 如果你的自动驾驶汽车是安全的,这可能是一个安全问题 仅依靠激光雷达来检测和避开障碍物。
最后,光速实际上 取决于它通过的材料。
空气的温度和湿度也可以突然 例如,在我们的飞行时间计算中影响光速。
这些因素通常由 假设加性零均值高斯噪声 球坐标与 经验确定或手动调整的协方差。
正如我们之前看到的, 高斯噪声模型特别方便 状态估计即使在大多数情况下并不完全准确。
另一个非常重要的错误来源,不能 很容易解释的是运动失真, 这是因为 LIDAR 所连接的车辆是 通常相对于它扫描的环境移动。
现在,虽然这辆车不太可能 以相当一部分光速运动, 它通常会在 传感器本身转速的可观部分, 这通常在 5-20 赫兹左右,当 扫描距离为 10 到 100 米的物体。
这意味着 LIDAR 扫描中的每个点都取自 稍微不同的位置和稍微不同的方向, 这可能会导致诸如 重复的对象出现在 LIDAR 扫描中。
这使得它更难 一辆自动驾驶汽车来了解它的环境, 并且纠正这种运动失真通常需要 车辆的精确运动模型 例如,由 GPS 和 INS 提供。
回顾一下,LIDAR 传感器通过发射来测量距离 脉冲激光并测量脉冲的飞行时间。
2D 或 3D LIDAR 是通过使用镜子来扩展这一原理 将激光扫过环境 并测量多个方向的距离。
在接下来的视频中, 我们将更仔细地研究由 2D 和 3D 激光雷达创建的点云, 以及我们如何在我们的自动驾驶汽车上使用它们进行状态估计。
补充阅读:光探测和测距传感器
有关 LIDAR 传感器的更多信息,请查看以下资源:
-
阅读Timothy D. Barfoot, State Estimation for Robotics (2017)(免费提供)的第 6 章第 4.3 节。
-
阅读关于激光雷达传感器的维基百科文章。
-
阅读Roland Siegwart, Illah R. Nourbakhsh, Davide Scaramuzza, Introduction to Autonomous Mobile Robots (2nd ed., 2011) 的第 4 章第 1.9 节。
参考
https://www.coursera.org/learn/state-estimation-localization-self-driving-cars/lecture/3NXgp/lesson-1-light-detection-and-ranging-sensors
以上是关于自动驾驶 11-1: 光检测和测距传感器LIDAR Light Detection and Ranging Sensors的主要内容,如果未能解决你的问题,请参考以下文章
自动驾驶 Apollo 源码分析系列,感知篇:Lidar 障碍物检测基本流程
自动驾驶 Apollo 源码分析系列,感知篇:Lidar 障碍物检测基本流程