自动驾驶感知系统-激光雷达

感知系统

现有的车载传感器主要包括超声波雷达、激光雷达、毫米波雷达、车载摄像头、红外探头等。主流的自动驾驶感知平台以雷达和车载摄像头为主,呈现多传感器融合发展趋势。基于测量能力和环境适应性,预计雷达和车载摄像头会保持其感知平台霸主地位,并不断地与多种传感器融合,发展多种组合版本。
在这里插入图片描述
传感器性能对比

激光雷达

激光雷达又称光学雷达(Light Detection And Ranging, LiDAR),是一种先进的光学遥感技术,它通过首先向目标发射一束激光,然后根据接收和反射的时间间隔确定目标物体的实际距离。同时结合这束激光的发射角度,利用基本的三角函数原理推导出目标的位置信息。由于激光具有能量密度高、方向性好的特点,激光雷达的探测距离往往能达到100m以上。与传统雷达使用不可见的无线电波不同,激光雷达的探测介质是激光射线,使用的波长集中在600~1000nm,远低于传统雷达的波长。又因为雷达具有波长越短探测精度越高的特点,故激光雷达可以用于测量物体距离和表面形状。激光雷达的精度可达厘米级。激光雷达在自动驾驶运用中有两个核心作用。

  1. 三维建模进行环境感知。通过激光扫描可以得到汽车周围环境的三位模型,运用相关算法比对上一帧和下一帧的环境变化可以较容易地探测出周围的车辆和行人。
  2. SLAM加强定位。三维激光雷达的另一特性是同步建图(SLAM),实时得到全局地图。通过和高精地图中特征物的比对,可以实现导航及加强车辆定位精度等功能。
    LiDAR以线数及距离两大因素为标准,价格从几百美元到几万美元不等。单线激光雷达的应用在国内已相对较广,像扫地机器人使用的便是单线激光雷达。单线激光雷达可以获取二维数据,单无法识别目标的高度信息,而多线激光雷达可以识别2.5维甚至三维数据,在精度上会比单线雷达高很多。目前,在国际市场上推出的主要有4线、8线、16线、32线、64线和128线。随着线数的提升,其识别的数据点也随之增加,所要处理的数据量也非常巨大。
    激光雷达的激光发射器线数越多,每秒采集的数据点就越多。线数越多就代表雷达造价越昂贵。
    在这里插入图片描述
    在这里插入图片描述
    在自动驾驶领域,激光雷达是目前最有效的方案,被认为是最精准的自主感知手段,其有限感知范围超过120m,而精度可以达到厘米级。但由于现阶段价格高昂,无法部署在量产车上,是目前最难以跨域的硬件门槛。多线激光雷达的成本下降将会显著加速自动驾驶汽车量产。

激光雷达工作原理

在这里插入图片描述
LiDAR系统一般分为3个组成部件,分别是激光发射器、扫描与光学部件、感光部件。激光发射器发射波长在600~1000nm的激光用于探测环境和物体。扫描与光学元件,主要用于收集发射点与反射点之间的距离,以及反射时间和水平角度。感光部件用于检测反射回来光线的强度。通过这3个部件的工作,激光雷达实现对目标的探测,检测的每个点均包含点的位置信息(空间坐标x,y,z)及返回光线的强度信息。光线强度除了与发射光强度和光线大气通过率有关外,主要与被测物体的表面光反射率直接相关,因此通过检测光强度也可以对被测物体的表面反射率有大概判断。
在无人驾驶汽车行驶过程中,LiDAR系统并不是静止不动的,而是随着车辆移动以相对于汽车的稳定角速度转动,同时不断向周围发射激光并探测周围的物体,记录下反射点信息,以便得到无人驾驶汽车四周全方位环境信息。LiDAR在收集反射点距离的过程中也同时记录实时时间数据和水平角度。结合每个激光发射器已知的位置和姿态,可以计算得到所有反射点的坐标。LiDAR每旋转一周,收集到的所有反射点坐标的集合就构成了点云。
无人驾驶汽车的定位除了接收GNSS系统发射回来的数据外,还依赖激光雷达生成的点云与数据库中的高精地图做比较,以得出汽车所在的精确位置,这个精度可以达到厘米级别。高精地图并非是指人们日常生活所用到的数字地图的高精度版本,而是用大量点云拼接而成的大范围道路环境信息。高精地图的绘制同样依赖LiDAR的应用,数据采集过程主要使用专门搭载高性能LiDAR的数据采集车反复行驶于同一路段,收集这一路段的点云数据。后期通过人工修饰与更改,剔除一些错误的不应保留的信息,例如移动中的行人与车辆,或其他与道路环境无关的物体所反射的点云数据,再经过多次对齐与加工修饰,最终拼接成完整的高精地图。
利用LiDAR可以帮助无人车精准定位。利用以下简化的概率模型:已知t0时刻的GNSS信息,t0时刻的点云信息,以及t1时刻无人车可能位于的3个位置P1,P2,P3(为了简化问题,假设无人车会在这3个位置中的某一个),求t1时刻车在这3点的概率。根据贝叶斯法则,无人车的位置的概率公式为 在这里插入图片描述
右侧第一项 在这里插入图片描述表示给定当前位置,观测到点云信息的概率分布。其计算方式一般分为局部估计和全局估计两种。局部估计较简单的做法就是通过当前时刻点云和上一时刻点云的匹配,借助几何推到估计无人车在当前位置的可能性。全局估计就是利用当前时刻的点云和高精地图做匹配,可以得到当前车在地图上的位置。实际情况是两种方法往往结合使用。在这里插入图片描述代表对当前位置的预测的概率分布,这里可以使用GNSS给出的位置坐标做为预测。通过计算P1,P2,P3 3个点的后验概率,可以估计出无人车在哪一个位置的可能性最高。通过两个概率分布相乘,可以很大程度上提供无人车定位的精度。
激光雷达还可以联合GNSS/IMU与高精度地图等手段进行加强定位,一方面通过GNSS得到初始位置信息,再通过IMU和车辆的Encoder(编码器)配合得到车辆的初始位置;另一方面,将激光雷达的3D点云数据,包括几何信息和语义信息进行特征提取,并结合车辆初始位置进行空间变化,获取基于全局坐标系下的矢量特征。最后,将初始位置信息,激光雷达提取的特征跟高精地图的特征信息进行匹配,从而获取一个准确的定位。如下图
在这里插入图片描述
在障碍物检测方面,机器视觉中一个较为难解决的问题是判断物体距离。基于单一摄像头抓取的二维图像无法得到准确的位置信息,而基于多摄像头合成的方法又需要实时处理很大的计算量,难以满足无人车实时性的要求。此外,光学摄像头在光线不好的条件下(黑夜或昏暗的隧道内)性能很差,抓取图像难以使用。而LiDAR生成的点云可以在很多程度上避免摄像头的上述问题。借助LiDAR本身的特性可以很好的探测反射障碍物的远近,大小,甚至表面形状,有利于障碍物检测准确性的提高,而且在算法方面比起机器视觉算法来也比较简单,更适合无人车的需求,下图为激光雷达生成的点云图
在这里插入图片描述
激光雷达的缺点:
首先,LiDAR会受天气影响。空气中的水珠以及其他悬浮物都会对LiDAR的精度造成影响,试验表明,随着雨量的增大,LiDAR的探测距离会线性下降。
其次,LiDAR在使用过程中时刻都会产生海量的点云数据,即使16线的LiDAR每秒钟要处理的数据点也达到30万个,64线的型号每秒产生的点数甚至超过200万个。LiDAR给出的原始数据只是反射物体的距离信息,需要对所有的点进行几何变换,且在后期处理中也要进行大量的坐标系转换工作,这些对计算硬件(CPU,GPU,FPGA等)提出很高要求。
最后,LiDAR系统造假十分昂贵。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/6640.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在react中配置less

第一步:暴露出webpack配置文件 终端命令:npm run eject (此命令一旦运行不可逆) 第二步:安装less以及less-loader npm install less less-loader --save-dev 第三步:修改webpack的配置文件 运行完以上命令后,项目…

精通自动化,Pytest自动化测试框架-fixture用例的前后置(实现)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 测试用例实现前后…

crmeb部署

安装宝塔 教程 安装所需要的软件 php mysql5.7 redis fileinfo nginx 安装crmeb 重启mysql 前台http://192.168.216.128/ 后台http://192.168.216.128/admin admin admin888登录 访问前台

自动化运维工具--saltstack部署及使用

目录 一、saltstack简介 1、介绍 2、Salt的核心功能 3、saltstack通信机制 二、saltstack部署 1、部署环境 2、配置yum源 3、安装master与minion 4、连接认证master和minion 三、salt运行 1、执行格式 2、实操演示 一、saltstack简介 1、介绍 saltstack是一个配置管…

连锁反应开始了!Linux 发行版迎新变化!

任何企业都有合法权利捍卫其模型和产品。撇开大量不真正了解开源许可证如何工作的人不谈,我们的印象是,有很多人觉得仅仅因为这是Linux,他们就有某种权利免费获得它。但事实上,他们没有。这不是自由软件中的“自由”的意思&#x…

浮点型在内存中的存储

目录 1.浮点数是什么? 2. 浮点数存储规则 1.浮点数是什么? 就是数学中的小数。 常见的浮点数: 3.14159 1E10(1*10^10) 浮点数家族包括: float、double、long double 类型。 浮点数表示的范围&#x…

前端 | ( 十二)CSS3简介及基本语法(中)| 变换、过渡与动画 | 尚硅谷前端html+css零基础教程2023最新

学习来源:尚硅谷前端htmlcss零基础教程,2023最新前端开发html5css3视频 系列笔记: 【HTML4】(一)前端简介【HTML4】(二)各种各样的常用标签【HTML4】(三)表单及HTML4收尾…

【C++基础(六)】类和对象(中) --构造,析构函数

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:C初阶之路⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习C   🔝🔝 类和对象-中 1. 前言2. 构造函数3. 构造函数的特性4…

分布式系统的应用程序性能监视工具-skywalking

分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。提供分布式链路日志追踪、剖析、服务网格遥测分析、度量聚合和可视化一体化解决方案。 在应用系统进行实时监控,实现对应用性能管理和故障定位的系统化解决方案中常用的…

爬虫小白-如何辨别是否有cookie反爬案例

目录 一、Cookie介绍二、cookie生成来源区分查找三、如何判断是否有cookie反爬四、来自服务器生成的cookie反爬解决方法五、来自js生成的cookie反爬解决方法 一、Cookie介绍 先推荐该篇文章简单了解Cookie、Session、Token、JWT1、cookie的类型:会话cookie和持久co…

[驱动开发]字符设备驱动应用——点灯

点亮开发板stm32mp157的三盏灯 //头文件 #ifndef __LED_H__ #define __LED_H__//封装GPIO寄存器 typedef struct { volatile unsigned int MODER; // 0x00volatile unsigned int OTYPER; // 0x04volatile unsign…

Linux Day01

目录 一、Linux终端介绍 二、Linux目录介绍 1.目录结构 2.常见目录说明 3.绝对路径与相对路径 4.家目录 一、Linux终端介绍 二、Linux目录介绍 Linux目录:是从根目录"/"开始的 是一棵倒着的树 1.目录结构 2.常见目录说明 目前记住 bin 存放常用命…

跨境独立站如何应对恶意网络爬虫?

目录 跨境出海独立站纷纷成立 爬虫威胁跨境电商生存 如何有效识别爬虫? 技术反爬方案 防爬虫才能保发展 中国出海跨境电商业务,主要选择大平台开设店铺,例如,亚马逊、eBay、Walmart、AliExpress、Zalando等。随着业务的扩大&…

使用springboot进行后端开发100问

properties和yaml文件怎么互转 安装插件 properties文件和yaml文件区别 properties 文件通过“.”和“”赋值,值前不加空格,yaml通过“:”赋值,值前面加一个空格;yaml文件缩进用空格; properties只支持键值对&#x…

Ubuntu下打开QtCreator环境变量LD_LIBRARY_PATH与终端不一致

问题描述: 在unbuntu下使用QtCreator编译、运行程序时,总是出现XXX.so: cannot open shared object file: No such file or directory这类问题,但是在终端中编译或者运行程序则不会出现这些问题。在网上查了好久才明白QtCreator在打开时&…

逻辑漏洞原理及实战

前言 作者简介:不知名白帽,网络安全学习者。 博客主页:不知名白帽_网络安全,CTF,内网渗透-CSDN博客 网络安全交流社区:https://bbs.csdn.net/forums/angluoanquan 目录 逻辑漏洞基础 概述 分类 URL跳转漏洞 概述 危害 漏洞…

51单片机串口

该部分的笔记来自视频教程链接https://www.bilibili.com/video/BV1bt4y197NR/?spm_id_from333.788&vd_sourceb91967c499b23106586d7aa35af46413 一、51单片机串口基础介绍 一般的应用层的协议中采用和校验或CRC校验,而奇偶校验还是解决基本通信中的帧格式中的…

Eclipse整合tomcat时要注意的几点

Eclipse整合tomcat时要注意的几点 1、安装目录及jdk 2、参数配置 注意:Arguments的配置,日志输出文件目录及java内存大小设置等,如下: -Dcatalina.base"E:\apache-tomcat-7.0.52" -Dcatalina.home"E:\apache-tomc…

无符号数和有符号数的“bug”

1. 起因 在实现kmp算法时&#xff0c;出现了诡异的现象&#xff0c;看下面的代码&#xff1a; int KMP (const char *s, const char *t) {int lenS strlen (s);int lenT strlen (t);int next[lenT];get_next (next, t);int i 0;int j 0;while (i < lenS && j …

程序化广告还有未来么?——程序化领域变化的底层逻辑和反思

三、近几年程序化广告领域的变化底层逻辑是什么呢&#xff1f; 当前国内程序化生态的状态&#xff0c;更像是希腊的古典时代&#xff1a;古希腊时代的城邦高度繁荣的时期。很多人可能对古希腊城邦没有概念&#xff0c;我们解释一下&#xff1a; 所谓城邦就是城市国家&#xff0…