当前位置:首页 > 文章列表 > 科技周边 > 人工智能 > 一文带你通俗易懂地理解自动驾驶

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

来源:51CTO.COM 2023-04-16 16:08:07 0浏览 收藏

珍惜时间,勤奋学习!今天给大家带来《一文带你通俗易懂地理解自动驾驶》,正文内容主要涉及到等等,如果你正在学习科技周边,或者是对科技周边有疑问,欢迎大家关注我!后面我会持续更新相关内容的,希望都能帮到正在学习的大家!

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

图片

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

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

图片

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

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

  • 自车感知-由感受器官每时每刻获得的信息(包括摄像头,雷达,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)并设定一些边界参数和大致的路径范围。运动规划层往往会基于采样或是最优化的方法最终获得满足舒适性,安全性要求的唯一路径。最后交由控制模块通过前馈预测和反馈控制算法完成对唯一路径的跟随,并操纵制动,转向,油门,车身等执行器最终执行命令。  

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

图片

文中关于自动驾驶的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《一文带你通俗易懂地理解自动驾驶》文章吧,也可关注golang学习网公众号了解相关技术文章。

版本声明
本文转载于:51CTO.COM 如有侵犯,请联系study_golang@163.com删除
这个 Windows 密钥验证工具实际上是一个绕过 Defender 的致命 BitRAT这个 Windows 密钥验证工具实际上是一个绕过 Defender 的致命 BitRAT
上一篇
这个 Windows 密钥验证工具实际上是一个绕过 Defender 的致命 BitRAT
如何关闭 Apple Watch Workout 应用倒计时并立即开始活动
下一篇
如何关闭 Apple Watch Workout 应用倒计时并立即开始活动
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    542次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    508次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    497次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    484次学习
查看更多
AI推荐
  • 毕业宝AIGC检测:AI生成内容检测工具,助力学术诚信
    毕业宝AIGC检测
    毕业宝AIGC检测是“毕业宝”平台的AI生成内容检测工具,专为学术场景设计,帮助用户初步判断文本的原创性和AI参与度。通过与知网、维普数据库联动,提供全面检测结果,适用于学生、研究者、教育工作者及内容创作者。
    18次使用
  • AI Make Song:零门槛AI音乐创作平台,助你轻松制作个性化音乐
    AI Make Song
    AI Make Song是一款革命性的AI音乐生成平台,提供文本和歌词转音乐的双模式输入,支持多语言及商业友好版权体系。无论你是音乐爱好者、内容创作者还是广告从业者,都能在这里实现“用文字创造音乐”的梦想。平台已生成超百万首原创音乐,覆盖全球20个国家,用户满意度高达95%。
    29次使用
  • SongGenerator.io:零门槛AI音乐生成器,快速创作高质量音乐
    SongGenerator
    探索SongGenerator.io,零门槛、全免费的AI音乐生成器。无需注册,通过简单文本输入即可生成多风格音乐,适用于内容创作者、音乐爱好者和教育工作者。日均生成量超10万次,全球50国家用户信赖。
    27次使用
  •  BeArt AI换脸:免费在线工具,轻松实现照片、视频、GIF换脸
    BeArt AI换脸
    探索BeArt AI换脸工具,免费在线使用,无需下载软件,即可对照片、视频和GIF进行高质量换脸。体验快速、流畅、无水印的换脸效果,适用于娱乐创作、影视制作、广告营销等多种场景。
    30次使用
  • SEO标题协启动:AI驱动的智能对话与内容生成平台 - 提升创作效率
    协启动
    SEO摘要协启动(XieQiDong Chatbot)是由深圳协启动传媒有限公司运营的AI智能服务平台,提供多模型支持的对话服务、文档处理和图像生成工具,旨在提升用户内容创作与信息处理效率。平台支持订阅制付费,适合个人及企业用户,满足日常聊天、文案生成、学习辅助等需求。
    32次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码