Advertisement

【自动驾驶】3 激光雷达①

阅读量:

🦋🦋🦋激光雷达LiDAR的全称为Light Detection and Ranging激光探测和测距。

1 激光雷达

① 激光雷达的工作原理

🌸🌸🌸对红外光束Light Pluses发射、反射和接收来探测物体。白天或黑夜下的物体与车之间的距离。甚至由于反射度的不同,车道线和路面也可以区分。

光束无法探测到被遮挡的物体。

② 激光雷达的关键参数

💕💕💕激光雷达(LiDAR)作为一种重要的传感器技术,在自动驾驶、测绘、环境监测等多个领域发挥着核心作用。

激光雷达的关键参数直接影响其性能和适用场景,以下是几个最重要的参数👇🏻👇🏻👇🏻:

▲测距精度(Range Accuracy):

表示激光雷达测量距离的精确程度,通常以厘米或毫米为单位。

高精度对于构建准确的环境地图和实现精准定位至关重要。

▲测距范围(Range):

指激光雷达能够有效工作的最大距离。测距范围决定了激光雷达的覆盖范围,对于长距离监测和高速行驶的自动驾驶车辆尤为重要。

▲视场角(Field of View,FOV):

指激光雷达可以扫描的角度范围,包括水平视场角和垂直视场角。大的视场角能够提供更广阔的环境感知,有利于全方位监测。

▲刷新率(Frame Rate):

表示激光雷达每秒可以生成点云图像的次数。高刷新率能够提供更流畅的环境变化感知,对于动态场景和快速移动的物体监测非常重要。

▲分辨率(Resolution):

指激光雷达生成点云的密度和清晰度,通常与激光束的数量和分布有关。高分辨率可以提供更详细的环境信息,有利于精确识别物体和构建环境模型。

▲角分辨率(Angular Resolution):

包括水平角分辨率和垂直角分辨率,指激光雷达区分相邻目标的能力。高角分辨率可以减少目标之间的混淆,提高目标识别的准确性。

▲回波数量(Number of Returns):

指激光雷达能够接收和处理的回波数,多回波能力可以穿透植被等半透明障碍物,提高复杂环境下的探测效果。

▲点云密度(Point Cloud Density):

指单位面积内点云的密集程度,高的点云密度可以提供更丰富的细节,有利于构建高质量的三维模型。

▲功耗(Power Consumption):

对于移动设备和长时间运行的应用,低功耗的激光雷达更为理想,可以延长电池寿命或减少能源消耗。

▲尺寸与重量(Size and Weight):

对于安装空间有限或对重量敏感的应用场景,激光雷达的尺寸和重量是重要考量因素。

▲环境适应性(Environmental Robustness):

包括激光雷达在不同天气条件(如雨、雪、雾)和温度范围下的工作稳定性,以及抗干扰能力。

▲成本(Cost):

激光雷达的成本直接影响其在商业应用中的可行性,高性价比的产品更容易被市场接受。

💕💕💕激光雷达的关键参数也可简述如下:

◆扫描频率和水平角视场角&角分辨率:

通常自动驾驶领域为了点更密集, 常采取10Hz.

10Hz扫描频率指激光雷达每秒可以完成10次完整的360度扫描,即每100毫秒完成一次扫描周期。

水平视场角(FOV)360°表示激光雷达在水平方向上的视角可以覆盖完整的圆形视野,即能够全方位监测周围环境。

水平角分辨率0.2°:在10Hz的扫描频率下,如果激光雷达的水平角分辨率为0.2°,意味着在每完成一次360°扫描时,它能够区分出最小0.2°的视角差,从而产生360° / 0.2° = 1800个独立的测量点。

点云密度:激光雷达在每完成一次扫描周期时产生的点云密度,即1800个点(在10Hz下),对于构建详细环境模型和实现精确障碍物检测极为重要。

💚为什么自动驾驶领域偏好10Hz?

🉑高密度点云:更高的扫描频率意味着在相同时间内可以收集到更多的点云数据,这对于构建高分辨率的环境地图和实现精准的障碍物检测非常重要。

🉑实时性与可靠性:高频扫描能够更快地更新车辆周围的环境信息,对于自动驾驶系统而言,这意味着能够更及时地对道路状况做出反应,提高行车安全性。

🉑计算资源平衡:虽然更高的扫描频率可以带来更详细的环境感知,但同时也增加了数据处理的负担。10Hz在提供足够数据密度的同时,也考虑到了计算资源的合理利用,避免了因数据量过大而导致的处理延迟。

◆线数:

对于机械激光雷达来说, 一般多少线就需要多少个激光器。

◆反射率:

激光雷达返回值除了三维点坐标 (x, y, z)之外, 还有反射率和距离, 入射角度, 与物体表面反射率相关。

◆垂直角视场角&角分辨率:

垂直视场角常常不是和水平线对称的, 而是略微朝下倾斜的,这也是为了扫描到更多的障碍物, 充分利用点云。

◆波长:

常见的激光雷达波长为 905nm, 1550nm两种, 1550nm 距离可见光波段更远, 所以对人眼更安全, 波长更长穿透度更好,更有利于在雨雾天气使用,但由于成本较高, 还未成为主流。

◆探测距离:

一般要求都是200m, 以达到最远刹车距离的要求。

◆回波模式:

单回波和多回波, 激光雷达发出的激光点是有一定面积的, 有时可能会出现1个激光点发出后, 打在2个物体上(如同一束激光打在两片树叶上), 此时可以选择是接受最后一次回波的值还是反射强度最强的回波的值。

③ 激光雷达的种类

■ 传统机械扫描

AT128,有机械结构,体积比较大。

■ MEMS(Micro‐Electro‐Mechanical System) 半固态激光雷达

由于内部有可旋转的MEMS微振镜,没有摆脱机械结构。

MEMS在硅基芯片上集成了体积十分精巧的微振镜,其核心结构是尺寸很小的悬臂梁——通过控制微小的镜面平动和扭转往复运动,将激光管反射到不同的角度完成扫描,而激光发生器本身固定不动。

运动部件减少,体积小,成本相对较低;探测角度和距离有限。

■ FLASH 泛光面阵式

纯固态激光雷达, 工作原理类似于摄像头, 只不过摄像头是被动接受光信息, 而FLASH是主动发射面激光并接受反射激光。

💕固态-FLASH激光雷达

Flash激光雷达的成像原理是发射大面积激光一次照亮整个场景,然后使用多个传感器接收检测和反射光。但最大的问题是这种工作模式需要非常高的激光功率。而在体积限制下,Flash激光雷达的功率密度不能很高。因此Flash激光雷达由于功率密度的限制,无法考虑三个参数:视场角、检测距离和分辨率,即如果检测距离较远,则需要牺牲视场角或分辨率;如果需要高分辨率,则需要牺牲视场角或检测距离。

■ OPA(Optical Phased Array) 光学相控阵

光学相控阵技术的原理是利用光源相干技术实现光线角度偏转,从而达到扫描测距的目的。

💕固态-OPA激光雷达

OPA(Optical Phase Array的简称,即光学相控阵)激光雷达发射的是光,而光和电磁波一样也表现出波的特性。波与波之间会产生干涉现象,通过控制相控阵雷达平面阵列各个阵元的电流相位,利用相位差可以让不同的位置的波源会产生干涉(类似的是两圈水波相互叠加后,有的方向会相互抵消,有的会相互增强),从而指向特定的方向,往复控制便得以实现扫描效果。

OPA是纯固态器件,无需要活动的机械结构,激光雷达对激光调试、信号处理的运算力要求很高。

2 自动驾驶感知传感器

💕💕💕感知主要的传感器:Lidar、Radar(长距、短距)、Camera。

🦋🦋🦋视觉传感器一般用于障碍物、车道线、交通灯检测、障碍物检测。基本原理是首先获取图像并将图片转化为二维数据,然后通过深度学习方法做目标识别,再根据相机的内外参计算目标物体和主车的相对距离和相对速度。

💚毫米波雷达主要用于目标检测、换道辅助、自适应巡航控制、停车辅助等。

💙激光雷达一般应用于障碍物检测、定位等。

💜感知完成红绿灯检测、车道线检测、目标检测和跟踪功能。

❤️Radar和Lidar感知主要是目标检测和跟踪。

在三种传感器完成目标检测和跟踪之后做感知融合。在感知融合中,会对所有目标进一步处理,得到更加准确的目标类别、距离、尺寸、速度等,感知完成红绿灯检测、车道线检测目标融合之后,把感知信息发送给下游模块。

3 激光雷达感知框架

💕💕💕以百度Apollo为例。

感知框架,lidar、camera、radar、fusion 四部分内容定义在四个模块中。Lidar 和 camera 每个模块内部功能复杂,学习成本较高。

感知框架拆分后,模块依赖关系清晰。

Lidar 和 camera 的感知流程分为多个模块,依赖关系呈线性状态。

radar和 fusion 的功能在单个模块内,功能如框图所示。
0dade1759b794958b0c09022103c4160.jpg

激光雷达检测用于 3D 目标检测,它的输入是激光雷达点云,输出为检测到的物体的类型和坐标。

◆ pointcloud_preprocess

点云预处理模块对输出的点云数据进行预处理。删除超值点、太远的点、扫描到自身车辆上的点、太高的点。

点云预处理模块对点云做过滤,删除异常的、感知不需要的点云。

  • 删除空值,超限值点云;

  • 删除过远(超过1000m)的点云;

  • 删除过高的点云;

  • 点云转化到主车自身坐标系,删除扫描到主车身上的点云。

原始点云和矫正后的点云示意图如下:
b66c7493640b42628af8de737a7b56ca.jpg

◆ pointcloud_map_based_roi

过滤 ROI 之外的点云。 感兴趣区域 (ROI) 指定可行驶区域,包括从高精地图检索到的路面和路口。

HDMap ROI 过滤器处理 ROI 外部的lidar点,去除背景物体,例如道路周围的建筑物和树木。 剩下的就是ROI中的点云以供后续处理。 给定HDMap,每个 LiDAR 点的隶属关系指示它是在 ROI 内部还是外部。

点云基于地图计算兴趣区域(roi,region of interest),根据高精度地图的road和junction边界判断点云是否在高精度地图内,获得在高精地图内的点的索引。下图是基于地图roi过滤的效果图。红色的是roi内的点云,白色的是roi外的点云。
777c1ba2d52841fe87582ab3ab555a11.jpg

◆ pointcloud_ground_detection:点云地面检测,检测地面点,并保存所有非地面点的索引。

◆ lidar_detection:基于点云进行3D物体检测,并输出检测到的物体的位置、大小和方向。

Apollo提供了4种激光雷达检测模型:centerpoint、maskpillars、pointpillars、cnnseg。

检测模型完成目标检测功能,获得目标的如下结果:cx, cy, cz, length, width, height, heading, type。其中,(cx, cy, cz)是中心点,(length, width, height)是长宽高,heading是朝向,type是目标类别。除了获取目标,还根据目标的3d bounding box,得到每个目标的所有点云。

◆ lidar_detection_filter:根据对象属性、车道线、ROI 等过滤前景和背景对象。

完成激光雷达目标检测后,对检测目标做过滤。object_filter_bank可以同时使用多个过滤器,针对roi_boundary_filter做介绍,roi_boundary_filter只用来处理前景目标。roi_boundary_filter过滤规则如下图。
a474157cf70a4ee691fbdc576b2584ad.jpg

◆ lidar_tracking: 跟踪模块用于跟踪障碍物的运动轨迹,更新障碍物的运动状态和几何形状,并分配跟踪id。

多目标跟踪,获取目标运动的历史轨迹,得到更加稳定的朝向、速度、位置等信息,得到跟踪id。多目标跟踪的结果可进一步用于障碍物轨迹预测。

detections 来自最新检测的结果,tracks 表示历史的匹配结果。Match 是目标匹配算法,最终得到三种匹配结果:

  • unassigned tracks:历史的目标没有和最新的检测结果匹配上,这种情况会更新历史 tracks,并删除过老的 tracks。

  • assignment:表示已经匹配上,根据dets和tracks更新tracks。

  • unassignement detections:最新检测的结果没有匹配上,添加到历史tracks中。这时会赋予一个新的track‐id。

◆ multi_sensor_fusion: 多传感器融合模块融合Lidar、Camera、Radar多个传感器的输出结果,使检测结果更加可靠。该模块采用后处理技术,采用的算法是概率融合

至此,本文分享的内容就结束了💕💕💕。

全部评论 (0)

还没有任何评论哟~