自动驾驶技术难题——三种定位方法

2023-12-13 22:48

本文主要是介绍自动驾驶技术难题——三种定位方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1 定位技术

2 自动驾驶技术难题

3 具体公司的三种定位方法

3.1 以特斯拉为代表的视觉SLAM定位

3.2 以通用/奔驰/福特为代表的高精地图定位

3.3 以大众为代表的车联网定位

4 总结


1 定位技术

在自动驾驶技术问题中,定位技术(自身定位以及对周围环境相对位置的认知)似乎是无人驾驶汽车难掌握的技术,这与城市的动态性质有关。例如施工路面、封闭道路、新标志和缺失的道路标志等,都是这种动态性和不确定性的例子。人类面对以上随时随地可能发生改变的因素都会感到困惑,更不用说机器了。目前没有方法可以完美地解决自动驾驶汽车的定位问题,但以下几种是当前为有效也有希望解决问题的办法。不同公司有不同的倾向性选择,本文将根据具体的策略对三种定位方法进行介绍。

自从特斯拉和Waymo等公司出现以来,车企对自动驾驶技术的关注愈发增加。这种情况在2018年更甚,从而加速了无人驾驶汽车尽快落地的可能。例如,通用汽车公司在旧金山的员工已经用上了没有方向盘或踏板的cruise;福特、大众、丰田和奔驰也都在自动驾驶竞争之列;上个月,特斯拉在芯片发布会上宣布,到2020年他们将制造出完全自动驾驶汽车。

2 自动驾驶技术难题

无人驾驶的实现前途光明,但道路曲折。目前自动驾驶仍然面临很多难题,例如需要快速而连续地分析数据流、需要做对机器来说很繁琐但对人类来说只是鸡毛蒜皮的一些小事等。具体来说,物体检测、距离、速度、定位和交通法规等都是在驾驶过程中做决策时需要考虑的因素。为了达到SAE标准中的L5级别,计算机驾驶系统需要能够执行上述所有基本任务,找到针对不同问题的技术解决方案。以下列出了几种主要的自动驾驶技术难题及解决方案:

  • 距离:激光雷达(光探测和测距)
  • 速度:雷达(无线电探测器)
  • 物体探测:相机、图像处理和机器学习
  • 交通法规:物体检测(用于交通信号灯和标志)、图像处理(用于车道检测)和对本地数据的访问
  • 路径规划:软件算法(如A*搜索算法)
  • 定位:同时定位与地图创建(SimultaneousLocalizationandMapping,SLAM)或预先制作的三维地图

在上述所有问题中,定位技术(自身定位以及对周围环境相对位置的认知)似乎是无人驾驶汽车难掌握的技术,这与城市的动态性质有关。例如施工路面、封闭道路、新标志和缺失的道路标志等,都是这种动态性和不确定性的例子。人类面对以上随时随地可能发生改变的因素都会感到困惑,更不用说机器了。目前没有方法可以完美地解决自动驾驶汽车的定位问题,但以下几种是当前为有效也有希望解决问题的办法。不同公司有不同的倾向性选择,本文将根据具体的公司策略对三种定位方法进行介绍。

3 具体公司的三种定位方法

3.1 以特斯拉为代表的视觉SLAM定位

以特斯拉为例的一类企业倾向于使用基于视觉的VisualSLAM(简称VSLAM)技术进行定位,他们将尽可能多的视觉传感器置入汽车中,不依靠预先录制的地图,而是希望将图像处理和机器学习结合起来,让特斯拉车辆能够对周围环境做到实时了解。特斯拉车辆随时随地都在学习并与其他车辆分享知识。他们依靠周围的实时环境数据而不是历史数据,不存在依赖过时地图而出错的风险。

特斯拉的目标非常明确,即建造可以在任何条件下驾驶的车辆而不受周围环境的影响。前段时间特斯拉的芯片发布会上,因马斯克diss激光雷达还引起了一场轩然大波。马斯克说,使用激光雷达的定位方法摆脱了“丑陋,昂贵且不必要”的绘图设备,为此付出的代价是在处理不确定性时更加依赖相机和软件。特斯拉人工智能*主管AndrejKarpathy强调物理数据的作用是无法代替的,相对于利用激光雷达建立虚拟高精地图来说,特斯拉更相信现实的物理数据,看图比看雷达更真实。

目前,使用VSLAM实现定位的自动驾驶车辆主要配备三类传感器:单目、双目(或多目)、RGBD。此外还有鱼眼、全景等特殊相机,由于在研究和产品中都属于少数在此不做介绍。就实现难度而言,这三类方法难易程度从难到易依次为:单目视觉、双目视觉、RGBD。在定位过程中,VSLAM自动驾驶车辆从一个未知环境中的未知地点出发,在运动过程中通过以上这些视觉传感器观测定位自身位置、姿态、运动轨迹,再根据自身位置进行增量式的地图构建,从而达到同时定位和地图构建的目的。定位和建图是两个相辅相成的过程,地图可以提供更好的定位,而定位也可以进一步扩建地图。VSLAM技术框架如下,主要包括传感器数据预处理、前端、后端、回环检测、建图。

3.2 以通用/奔驰/福特为代表的高精地图定位

通用汽车和奔驰都看好通过激光雷达或GPS预先制作的高精地图来进行定位的方法。通用汽车于2017年收购了自己的激光雷达供应商。福特与百度合作,向一家激光雷达供应商Velodyne投资1.5亿美元,奔驰也与Velodyne签订激光雷达供应合约。

激光雷达是非常传统的定位传感器。它可以提供机器人本身与周围环境障碍物间的距离信息。常见的激光雷达有SICK、Velodyne、Rplidar等。使用激光雷达制作高精地图,实际上就是利用激光点云融合技术进行激光雷达扫描,返回场景分布点的技术。激光点云融合的技术又分为两种,一是基于点云融合的算法,其应用场景较广,不*于GPS场景;第二种是基于比较*的差分GPS和*惯导(IMU,惯性测量单元),其对场景依赖较强,必须在比较开阔的场景使用,对于高架桥等GPS信号弱的场景效果不佳。基于图像和GPS技术解决方案精度比较差,主要用来制作L2、L3的ADAS地图,而激光点云则可以满足L4、L5的需求。

这类车辆依赖于预先记录好的3D高分辨率地图,而这些地图是使用配备激光雷达的车辆预先捕获的。然后,自动驾驶车辆可以使用其自身配备的激光雷达设备获取周边环境的信息,与预先制作的高精地图进行比对,判断环境是否已经改变,然后在地图涵盖区域内实现自动驾驶。这显示了相对来说更加广泛的自动驾驶策略。为了保持地图的准确性和车辆的可用性,需要市政当局和汽车制造商之间更广泛的合作,以创建和维护新的高精度地图供车辆使用。

以凯迪拉克的超级巡航系统为例,只有当车身雷达获取的信息与高精地图信息一致并通过安全检查时,车辆才能在预存了高精地图的高速公路上导航行驶。这种方法提供了高度的可靠性和可预测性,但高精地图所需要处理的数据量巨大,必须使用数据中心计算机集群来做处理,并且涉及很多并行计算和处理,这些对数据处理能力都是极大的考验;高精地图的实时更新也相当重要,道路环境有可能在不断的变化,需要实现快速有效的更新。以上这些由于记录地图和使用激光雷达设备制造车辆所需的努力,都使得实现无人驾驶所付出的成本相对更高。

3.3 以大众为代表的车联网定位

自动驾驶定位的另一种方法,不关注如何使汽车更灵活地适应环境,而是关注如何让环境为自动驾驶汽车服务,即创造更智能的环境。这减轻了车辆的负担,使其能够找出其环境中的所有不确定因素。在这种情况下,变化的环境因素会自己“找上门”,让车辆更准确地了解到周围环境的状况,建筑物可以直接“告诉”进入的汽车建筑区域和临时车道的具体位置。

大众汽车一直在努力建立自己作为V2X技术先驱的身份。在2017年大众就宣布所有2019年的车型都将配备完整的V2X功能套件。这些连接将提供大约500米以内的交通状况、事故和与当地环境共享的其他交通状况信息,甚至更广。

通过车联网方法进行定位的车辆通过GPS、RFID、传感器、摄像头图像处理等装置,在由车辆位置、速度和路线等信息构成的巨大交互网络中完成自身环境和状态信息的采集。在互联网中,所有车辆将自身的各种信息传输汇聚到中央处理器,实现位置信息的交互共享。目前,国家强制要求所有运营车辆都要转配车载定位终端,同时接入相关企业服务平台,并终接入省部级服务平台。

具体来说,车辆节点的定位和位置感知技术是车联网的技术核心。定位强调位置信息的*性,即定位得到的是真实的地理坐标信息,而位置感知侧重于节点之间在位置上的相对性,反映的是移动节点在时间维度和空间维度上的轨迹。

位置感知中,其位置信息是参照锚节点来计算的,而锚节点的产生视不同的算法实现而不同,主要采用非测距技术(Renge-free)来定位。无线测距的基本原理分为三边测量法、三角测量法、极大似然估计法和质心算法四种类型。三边测量法原理比较简单,是在已知3个锚节点二维坐标信息的前提下,就可以计算出1个未知节点的位置信息;三角测量法的原理是在网络中选定一系列的锚节点构成相互连接的三角形,通过测量某一三角形的三个角节点到某一位置节点的相对水平角度来对节点进行定位;极大似然估计法的原理是一句N个锚节点的坐标以及到未知节点的距离来对节点进行定位;质心算法中的质心是指多边形的几何中心,质心算法的实现原理是网络中的锚节点周期性地广播用于标识节点自身身份标识和坐标未知的分组,当未直接点接受到的锚节点的分组达到一个门限值时,或接受锚节点分组的时间达到预设值时,将由这些锚节点组成一个多边形,该多边形的质心便是该未知节点的坐标。

车联网的定位技术则是通过合理部署在城市交通道路周边的RSU,利用无线测距技术实现对移动中车联的实时定位。目前所采用的技术主要有利用接收信号强度值(RSSI)、到达时间(TOA)、到达时间差(TDOA)、到达角度(AOA)及到达频率差(FDOA)等。FDOA定位技术具有无模糊区、精度高等优点,它可以与TDOA等定位技术结合,实现更加完善的定位功能,成为车联网定位技术的一个发展方向。在此不做具体介绍。

4 总结

虽然目前对车联网定位和感知技术的研究取得了一定的成果,但仍然有很多问题需要进一步解决,主要体现在专门针对车联网的定位和感知技术、室外移动三维定位技术、精准无缝的协作定位等方面。

当然,能够辅助实现定位目的的有例如GPS、卫星、激光雷达、相机及其他多种传感器,本文介绍的三种方法是实现自动驾驶定位的三种不同思路,思路上的不同并不排斥具体使用技术上的借鉴与融合。

技术只是自动驾驶的一个方面,道路安全法律法规也需要适应自动驾驶市场的变化。今年福特、通用和丰田在自动驾驶汽车相关安全法规上就达成了合作伙伴关系。另外,在人类社会不断向前发展的进程中,经验是一个不可忽视的关键因素,无论现时段自动驾驶面临了什么小成就和大挫折,都必须清楚地明白一点:我们生活在技术不断创新的时代,新技术解决新困难,时间会说明自动驾驶是如何向我们一步步走来的。

这篇关于自动驾驶技术难题——三种定位方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

Python将字符串转换为小写字母的几种常用方法

《Python将字符串转换为小写字母的几种常用方法》:本文主要介绍Python中将字符串大写字母转小写的四种方法:lower()方法简洁高效,手动ASCII转换灵活可控,str.translate... 目录一、使用内置方法 lower()(最简单)二、手动遍历 + ASCII 码转换三、使用 str.tr

Python处理超大规模数据的4大方法详解

《Python处理超大规模数据的4大方法详解》在数据的奇妙世界里,数据量就像滚雪球一样,越变越大,从最初的GB级别的小数据堆,逐渐演变成TB级别的数据大山,所以本文我们就来看看Python处理... 目录1. Mars:数据处理界的 “变形金刚”2. Dask:分布式计算的 “指挥家”3. CuPy:GPU

Java中的StringUtils.isBlank()方法解读

《Java中的StringUtils.isBlank()方法解读》:本文主要介绍Java中的StringUtils.isBlank()方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录所在库及依赖引入方法签名方法功能示例代码代码解释与其他方法的对比总结StringUtils.isBl

python利用backoff实现异常自动重试详解

《python利用backoff实现异常自动重试详解》backoff是一个用于实现重试机制的Python库,通过指数退避或其他策略自动重试失败的操作,下面小编就来和大家详细讲讲如何利用backoff实... 目录1. backoff 库简介2. on_exception 装饰器的原理2.1 核心逻辑2.2

CentOS7增加Swap空间的两种方法

《CentOS7增加Swap空间的两种方法》当服务器物理内存不足时,增加Swap空间可以作为虚拟内存使用,帮助系统处理内存压力,本文给大家介绍了CentOS7增加Swap空间的两种方法:创建新的Swa... 目录在Centos 7上增加Swap空间的方法方法一:创建新的Swap文件(推荐)方法二:调整Sww

QT6中绘制UI的两种方法详解与示例代码

《QT6中绘制UI的两种方法详解与示例代码》Qt6提供了两种主要的UI绘制技术:​​QML(QtMeta-ObjectLanguage)​​和​​C++Widgets​​,这两种技术各有优势,适用于不... 目录一、QML 技术详解1.1 QML 简介1.2 QML 的核心概念1.3 QML 示例:简单按钮

SpringBoot实现接口数据加解密的三种实战方案

《SpringBoot实现接口数据加解密的三种实战方案》在金融支付、用户隐私信息传输等场景中,接口数据若以明文传输,极易被中间人攻击窃取,SpringBoot提供了多种优雅的加解密实现方案,本文将从原... 目录一、为什么需要接口数据加解密?二、核心加解密算法选择1. 对称加密(AES)2. 非对称加密(R

基于Go语言实现Base62编码的三种方式以及对比分析

《基于Go语言实现Base62编码的三种方式以及对比分析》Base62编码是一种在字符编码中使用62个字符的编码方式,在计算机科学中,,Go语言是一种静态类型、编译型语言,它由Google开发并开源,... 目录一、标准库现状与解决方案1. 标准库对比表2. 解决方案完整实现代码(含边界处理)二、关键实现细

MySQL精准控制Binlog日志数量的三种方案

《MySQL精准控制Binlog日志数量的三种方案》作为数据库管理员,你是否经常为服务器磁盘爆满而抓狂?Binlog就像数据库的“黑匣子”,默默记录着每一次数据变动,但若放任不管,几天内这些日志文件就... 目录 一招修改配置文件:永久生效的控制术1.定位my.cnf文件2.添加核心参数不重启热更新:高手应

Oracle 通过 ROWID 批量更新表的方法

《Oracle通过ROWID批量更新表的方法》在Oracle数据库中,使用ROWID进行批量更新是一种高效的更新方法,因为它直接定位到物理行位置,避免了通过索引查找的开销,下面给大家介绍Orac... 目录oracle 通过 ROWID 批量更新表ROWID 基本概念性能优化建议性能UoTrFPH优化建议注