首页 科技周边 人工智能 一文带你通俗易懂地理解自动驾驶

一文带你通俗易懂地理解自动驾驶

Apr 12, 2023 pm 01:28 PM
自动驾驶

从自动驾驶的架构出发往往最能够理解自动驾驶的原理,大众对自动驾驶最浅显易懂的理解就是感知,决策,执行。所有机器人都是这样的架构。

图片

  • 感知回答周围有什么的问题,类似人的眼睛,耳朵。通过摄像头,雷达,地图等手段获得周围障碍物和道路的信息。 
  • 决策回答我要如何做的问题,类似大脑。通过分析感知得来的信息,生成路径和车速。 
  • 执行则类似于手脚,将决策获得信息转化成刹车、油门和转向信号,控制车辆按照预期行驶。

接下来我们深入一层,问题开始有一些复杂。

图片

我们在日常生活中可能会直觉的认为,我每时每刻在根据当下眼睛看到信息决定我下一步的决策,但情况往往并不是如此。从眼睛到脑袋再到手脚总是存在一个时间的延迟,自动驾驶也是如此。但我们不曾感受到影响是因为大脑会自动处理“预测”这件事情。哪怕只有几毫秒,我们的决策也是根据对所见之物的预测来指导手脚运作的,这是我们维持正常机能的基础。因此我们会在自动驾驶决策之前增加预测这个模块。  

感知过程同样内藏乾坤,仔细推敲也分为两个阶段“传感”和“感知”。“传感”获得的是传感器的原始数据比如图片,而“感知”是从图片里处理出的有用信息(诸如图里有几个人)。古语常说“眼见为实,耳听为虚”。“感知”的有用信息又可以继续分为自车感知与外部感知,人亦或是自动驾驶汽车在处理这两大类信息时往往有不同的策略。

  • 自车感知-由感受器官每时每刻获得的信息(包括摄像头,雷达,GPS等) 
  • 外部感知-由外部智能体或过往记忆,收集处理后转告的信息(包括定位,地图,车联信息等),前提需要自车定位感知(GPS)的输入。

图片

另外各类传感器经由算法处理后的障碍物,车道等信息往往存在矛盾。雷达看到了前方有一个障碍物而摄像头告诉你没有,这时候就需要增加“融合”模块。对不一致的信息作进一步的关联和判断。  

这里我们也常常把“融合与预测”归纳为“世界模型”。这个词非常生动,无论你是唯物主义还是唯心主义。“世界”都不可能全部塞进你的脑子里,而指导我们工作生活的是“世界”的“模型”,也就是通过对我们出生后的所见所谓加以处理,在脑中逐步构建的对世界的理解,道家称之为“内景”。世界模型的核心职责就是通过“融合”来理解当下环境要素的属性和关系,并配合“先验的规律”作出“预测”为决策执行提供更从容的判断,这个时间跨度可以从几毫秒到几小时。  

由于世界模型的加入,整个架构变得更加丰满,但这里还一个细节常常被忽略。也就是信息的流向。简单的理解,人是通过眼睛感知再到大脑处理最后交给手脚执行的单向过程,可实际的情况往往更加复杂。这里有两个典型的行为构成了一个完全相反的信息流,那就是“目标达成的预案”以及“注意力的转移”。  

“目标达成的预案”如何理解?实际上思考的伊始并非感知而是“目标”。有目标才可以触发一个有意义的“感知-决策-执行”过程,比方说你希望开车去一个目的地,可能你知道有几个路线,而你最后会权衡拥堵情况选择其中一个线路。拥堵情况属于世界模型,而“到达目的地”属于决策。这是一个决策向世界模型传递的过程。  

“注意力的转移”又如何理解?哪怕是一张图片,无论是人类还是机器都无法获取内部隐含的所有信息。从一个需求和上下文出发,我们往往会把注意力放在一个有限范围和有限的品类上。这些信息无法从图片本身获得,而是来源于“世界模型”和“目标”,是一个从决策到世界模型再向感知传递的过程。  

我们补充一些必要的信息,重新整理下整个架构,它变成了如下的模样,是不是又复杂了一些。还没完我们继续看。

图片

自动驾驶算法和大脑一样,有一个对处理时间的要求。一般的周期在10ms-100ms之间,可以满足对环境变化的反应要求。但环境有时简单有时却非常复杂。很多算法模块无法达成这个时间要求。比如思考一遍人生的意义可能不是100ms可以搞定的事情,如果每走一步路都要思考一遍人生,对大脑一定是一种摧残。计算机也是如此,存在算力和运算速度的物理限制。解决方法就是引入分层框架。  

这种分层机制越往上处理周期一般会缩短3-10倍,当然并不一定需要完整出现在实际框架当中,工程上根据板上资源以及算法使用情况可以灵活调整。基本上,感知是上行过程,根据注意力不断精细化特定要素,提供有“纵深和指向”的感知信息。决策是下行过程,根据不同层次的世界模型逐层从目标分解动作到每个执行单元。世界模型一般没有特定流向,用于构建不同粒度尺度的环境信息。  

根据处理任务的复杂度,人员分工以及通讯环境也会进行适当的阉割与合并。比如低阶ADAS功能(ACC),算力较少,可以只设计一层。高阶ADAS功能(AutoPilot)一般会有两层的配置。而自动驾驶功能,复杂算法较多,三层的设计有时是必须的。在软件架构设计中,也存在同一层的世界模型与感知或是决策模块合并的情况。

图片

各类自动驾驶公司或者行业标准都会发布自己的软件架构设计,但往往都是根据现状阉割后的结果,并不具有普适性,但为了方便大家理解,我还是把当下主流的功能模块代入进来,大家来看看对照关系,对理解原理更有帮助。

图片

这里需要提前注意下,虽然这已经有点软件架构的意味,但仍然是一种对原理的描述,实际的软件架构设计相较于此还要更为复杂,这里并没有展开所有细节,而是把容易混淆的部分重点做了展开。下面我们重点梳理下。

图片

环境感知-ALL IN深度学习

为了确保无人车对环境的理解和把握,无人驾驶系统的环境感知部分通常需要获取周围环境的大量信息,包括障碍物的位置,速度,前方车道的精确形状,标志牌的位置类型等。通常是通过融合激光雷达(Lidar),周视/环视相机(Camera),毫米波雷达(Millimeter Wave Radar)等多种传感器的数据来获取这些信息。  

深度学习的发展,使得通过神经网络算法完成自动驾驶搭建成为全行业共识。感知模块的算法是整个深度学习化的“马前卒”,是最早完成转型的软件模块。

定位地图与V2X-自车感知与外部感知之间的关联与差异

传统意义上理解,外部感知是以GPS定位信号为基础,将高精地图和车联网消息(V2X)等绝对坐标系下的信息转化到自车坐标系下,供车辆使用的感知源。和人使用的高德导航仪类似。配合原本就在自车坐标系下的“自车感知”信息综合为自动驾驶提供环境信息。  

但实际的设计往往更为复杂,由于GPS不可靠,IMU需要持续修正,可量产的自动驾驶定位往往使用感知地图的匹配来精确获得精确的绝对位置,利用感知结果来修正IMU获得精确的相对位置,和GPS-IMU组成的INS系统形成冗余。因此“外部感知”所必须的定位信号,往往依赖于“自车感知”信息。  

另外虽然地图严格意义上属于“世界模型”的组成部分,但受限于GPS的敏感性,在国内进行软件实施的过程中,会把定位模块和地图模块进行整合,并加偏所有GPS数据,确保没有敏感定位信息的外泄。

融合预测模块-核心关注两者的差异

融合的核心是解决两个问题,一个是时空同步问题,利用坐标系转换算法和软硬协同的时间同步算法,首先将激光雷达,相机和毫米波雷达等感知测量结果对齐到一个时空点上,确保整个环境感知原始数据的统一。另一个是解决关联(Association)与异常剔除的问题,处理不同传感器映射到同一个“世界模型”元素(一个人/一根车道等)的关联,并且剔除可能由于单一传感器误检导致的异常。但融合区别于预测的根本是其只处理过去以及当前时刻的信息,并不会对外来时刻做处理。  

而预测会基于融合的结果做出对未来时刻的判断,这个未来的时刻从10ms-5分钟皆有。其中包括对信号灯的预测,对周围障碍物行驶路径的预测或者是对远处的过弯位置做出预测。不同周期的预测会给到对应周期的规划,做不同粒度的预判,从而为规划的调整提供更大的空间。

规划控制-层次化策略分解  

规划是无人车为了某一目标而作出一些有目的性的决策的过程,对于无人驾驶车辆而言,这个目标通常是指从出发地到达目的地,同时避免障碍物,并且不断优化驾驶轨迹和行为以保证乘客的安全舒适。规划的结构总结就是根据不同粒度的环境融合信息,从外部目标出发进行逐层的评估与分解,最终传递到执行器,形成完整的一次决策。  

细分来看,规划模块一般会分成三层:任务规划(Mission Planning),行为规划(Behavioral Planning)和动作规划(Motion Planning)三层,任务规划核心是基于路网和离散路径搜索算法获得全局路径被给出大尺度的任务类型,往往周期较长,行为规划是基于有限状态机判断在一个中周期上,车辆应该采取的具体行为(左换道,绕行避让,E-STOP)并设定一些边界参数和大致的路径范围。运动规划层往往会基于采样或是最优化的方法最终获得满足舒适性,安全性要求的唯一路径。最后交由控制模块通过前馈预测和反馈控制算法完成对唯一路径的跟随,并操纵制动,转向,油门,车身等执行器最终执行命令。  

不知道各位看官姥爷理解到了第几层,但以上这些也只是自动驾驶原理的入门内容,当下自动驾驶的理论,算法和架构发展都非常快,虽然上述内容是比较本源的知识点,很长时间内不会过时。但新增的需求给自动驾驶的架构和原理都带来了很多全新的认知。

图片

以上是一文带你通俗易懂地理解自动驾驶的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

为何在自动驾驶方面Gaussian Splatting如此受欢迎,开始放弃NeRF? 为何在自动驾驶方面Gaussian Splatting如此受欢迎,开始放弃NeRF? Jan 17, 2024 pm 02:57 PM

写在前面&笔者的个人理解三维Gaussiansplatting(3DGS)是近年来在显式辐射场和计算机图形学领域出现的一种变革性技术。这种创新方法的特点是使用了数百万个3D高斯,这与神经辐射场(NeRF)方法有很大的不同,后者主要使用隐式的基于坐标的模型将空间坐标映射到像素值。3DGS凭借其明确的场景表示和可微分的渲染算法,不仅保证了实时渲染能力,而且引入了前所未有的控制和场景编辑水平。这将3DGS定位为下一代3D重建和表示的潜在游戏规则改变者。为此我们首次系统地概述了3DGS领域的最新发展和关

自动驾驶场景中的长尾问题怎么解决? 自动驾驶场景中的长尾问题怎么解决? Jun 02, 2024 pm 02:44 PM

昨天面试被问到了是否做过长尾相关的问题,所以就想着简单总结一下。自动驾驶长尾问题是指自动驾驶汽车中的边缘情况,即发生概率较低的可能场景。感知的长尾问题是当前限制单车智能自动驾驶车辆运行设计域的主要原因之一。自动驾驶的底层架构和大部分技术问题已经被解决,剩下的5%的长尾问题,逐渐成了制约自动驾驶发展的关键。这些问题包括各种零碎的场景、极端的情况和无法预测的人类行为。自动驾驶中的边缘场景"长尾"是指自动驾驶汽车(AV)中的边缘情况,边缘情况是发生概率较低的可能场景。这些罕见的事件

选择相机还是激光雷达?实现鲁棒的三维目标检测的最新综述 选择相机还是激光雷达?实现鲁棒的三维目标检测的最新综述 Jan 26, 2024 am 11:18 AM

0.写在前面&&个人理解自动驾驶系统依赖于先进的感知、决策和控制技术,通过使用各种传感器(如相机、激光雷达、雷达等)来感知周围环境,并利用算法和模型进行实时分析和决策。这使得车辆能够识别道路标志、检测和跟踪其他车辆、预测行人行为等,从而安全地操作和适应复杂的交通环境.这项技术目前引起了广泛的关注,并认为是未来交通领域的重要发展领域之一。但是,让自动驾驶变得困难的是弄清楚如何让汽车了解周围发生的事情。这需要自动驾驶系统中的三维物体检测算法可以准确地感知和描述周围环境中的物体,包括它们的位置、

你是否真正掌握了坐标系转换?自动驾驶离不开的多传感器问题 你是否真正掌握了坐标系转换?自动驾驶离不开的多传感器问题 Oct 12, 2023 am 11:21 AM

一先导与重点文章主要介绍自动驾驶技术中几种常用的坐标系统,以及他们之间如何完成关联和转换,最终构建出统一的环境模型。这里重点理解自车到相机刚体转换(外参),相机到图像转换(内参),图像到像素有单位转换。3d向2d转换会有相应的畸变,平移等。重点:自车坐标系相机机体坐标系需要被重写的是:平面坐标系像素坐标系难点:要考虑图像畸变,去畸变和加畸变都是在像平面上去补偿二简介视觉系统一共有四个坐标系:像素平面坐标系(u,v)、图像坐标系(x,y)、相机坐标系()和世界坐标系()。每种坐标系之间均存在联系,

自动驾驶与轨迹预测看这一篇就够了! 自动驾驶与轨迹预测看这一篇就够了! Feb 28, 2024 pm 07:20 PM

轨迹预测在自动驾驶中承担着重要的角色,自动驾驶轨迹预测是指通过分析车辆行驶过程中的各种数据,预测车辆未来的行驶轨迹。作为自动驾驶的核心模块,轨迹预测的质量对于下游的规划控制至关重要。轨迹预测任务技术栈丰富,需要熟悉自动驾驶动/静态感知、高精地图、车道线、神经网络架构(CNN&GNN&Transformer)技能等,入门难度很大!很多粉丝期望能够尽快上手轨迹预测,少踩坑,今天就为大家盘点下轨迹预测常见的一些问题和入门学习方法!入门相关知识1.预习的论文有没有切入顺序?A:先看survey,p

SIMPL:用于自动驾驶的简单高效的多智能体运动预测基准 SIMPL:用于自动驾驶的简单高效的多智能体运动预测基准 Feb 20, 2024 am 11:48 AM

原标题:SIMPL:ASimpleandEfficientMulti-agentMotionPredictionBaselineforAutonomousDriving论文链接:https://arxiv.org/pdf/2402.02519.pdf代码链接:https://github.com/HKUST-Aerial-Robotics/SIMPL作者单位:香港科技大学大疆论文思路:本文提出了一种用于自动驾驶车辆的简单高效的运动预测基线(SIMPL)。与传统的以代理为中心(agent-cent

nuScenes最新SOTA | SparseAD:稀疏查询助力高效端到端自动驾驶! nuScenes最新SOTA | SparseAD:稀疏查询助力高效端到端自动驾驶! Apr 17, 2024 pm 06:22 PM

写在前面&出发点端到端的范式使用统一的框架在自动驾驶系统中实现多任务。尽管这种范式具有简单性和清晰性,但端到端的自动驾驶方法在子任务上的性能仍然远远落后于单任务方法。同时,先前端到端方法中广泛使用的密集鸟瞰图(BEV)特征使得扩展到更多模态或任务变得困难。这里提出了一种稀疏查找为中心的端到端自动驾驶范式(SparseAD),其中稀疏查找完全代表整个驾驶场景,包括空间、时间和任务,无需任何密集的BEV表示。具体来说,设计了一个统一的稀疏架构,用于包括检测、跟踪和在线地图绘制在内的任务感知。此外,重

聊聊端到端与下一代自动驾驶系统,以及端到端自动驾驶的一些误区? 聊聊端到端与下一代自动驾驶系统,以及端到端自动驾驶的一些误区? Apr 15, 2024 pm 04:13 PM

最近一个月由于众所周知的一些原因,非常密集地和行业内的各种老师同学进行了交流。交流中必不可免的一个话题自然是端到端与火爆的特斯拉FSDV12。想借此机会,整理一下在当下这个时刻的一些想法和观点,供大家参考和讨论。如何定义端到端的自动驾驶系统,应该期望端到端解决什么问题?按照最传统的定义,端到端的系统指的是一套系统,输入传感器的原始信息,直接输出任务关心的变量。例如,在图像识别中,CNN相对于传统的特征提取器+分类器的方法就可以称之为端到端。在自动驾驶任务中,输入各种传感器的数据(相机/LiDAR

See all articles