一文读懂自动驾驶汽车:软硬结合 造就未来出行体验(上篇)

news2024/11/16 17:50:17

在 GTC 2022 秋季大会上,NVIDIA 汽车部门营销经理 Katie Burke Washabaugh,面向想要了解自动驾驶汽车、并有志于投身自动驾驶行业的观众,介绍了自动驾驶汽车的历史、工作原理、相关技术以及发展前景。本文对此次分享的精华内容进行了汇总和整理,以帮助大家更好地了解自动驾驶与 AI 行业!

本文将分为上下两篇,主要包括四个章节:

  • 自动驾驶汽车的发展简介,包括过去十年发生的重大事件以及技术突破。

  • 自动驾驶汽车的工作原理,包括车辆中的硬件,如传感器架构和车载计算,以及车辆中运行的软件、深度神经网络等。

  • 自动驾驶汽车的训练与仿真

  • 自动驾驶汽车未来的发展方向,包括“软件定义汽车”,智能座舱等。

底蕴深厚,路径明确

在深入了解自动驾驶汽车的历史之前,先为大家简要介绍一些专业用词。

2014 年,美国汽车工程师学会将自动驾驶技术划分为五个等级,用于描述车辆功能。

  • L1 级和 L2 级表示车辆没有自动驾驶功能,其中 L1 级表示完全没有自动驾驶功能,驾驶员需要手动完成车辆中的每一项操作。

  • L2 级则更多涉及主动安全功能和自动化功能,例如自动紧急制动和车道保持辅助,这些功能在如今的车辆中已为大众所熟知。

  • L3 级则拥有更多 AI 辅助驾驶功能,可让车辆自行转向和制动,但人们仍需负责驾驶全程。即使汽车能够自己转向和制动,驾驶员也须时刻准备接管控制权。当业内谈及自动驾驶汽车时,则主要是在谈论 L4 级和 L5 级的自动驾驶汽车。

  • L4 级车辆可以在特定环境下实现完全的自动驾驶,例如,自动驾驶出租车车队可在矿区、港口、机场、物流园区等封闭区域行驶。

  • L5 级则代表着全自动驾驶,汽车可以随时随地进行自动驾驶,完全不需要真人驾驶员进行操作。

自动驾驶技术分级

早期自动驾驶探索:

算力和速度存在瓶颈

自动驾驶汽车的概念产生至今已有几十年,科幻作品和电视节目中都曾提及该概念,例如电视剧《霹雳游侠》(Knight Rider)中高度人工智能的跑车 KITT。当前的自动驾驶技术应用主要来源于世界上第一个自动驾驶汽车长距离比赛,“美国无人驾驶挑战赛”(DARPA Grand Challenge),特别是 2007 年的赛事,将自动驾驶汽车挑战赛扩展到了一般路面和更多城市环境之中,开启了自动驾驶产业的起源。

早期自动驾驶汽车(2007 年 DARPA 城市挑战赛)

如上图所示,参加 2007 年城市挑战赛的车辆非常笨重,车辆周身悬挂着多个极其昂贵的传感器和硬件,同时车辆后备箱里装满了电脑设备。这些车辆尚未达到自动化级别,难以在极端环境运行。对于量产型车辆而言,必须拥有 10-11 年以上的使用寿命,并且在使用期需要能够应对极端高温、严寒、大雪等情况,城市挑战赛的车辆显然无法经受密歇根坑洼道路的考验。城市挑战赛中的优胜车辆在 4 小时内完成了近 96 千米( 60 英里)路程。事实上,开车是为实现方便高效,在 4 个小时内行驶 96 千米( 60 英里),既不方便也不高效。因此,早期车辆难以投入量产。然而,这些车辆却推动了自动驾驶技术的快速发展,让自动驾驶行业能获得如今的成果。这里有几个数据希望大家留意,后续我们会比较一下:2007 年的城市挑战赛中,优胜车辆在 4 个小时内行驶了 96 千米( 60 英里),每秒可进行 230 亿次运算(23 billion FLOPS)。

AI 技术突破,自动驾驶如有神助

得益于 AI 技术的突破,所有可移动的事物都将实现自动化。从乘用车、出租车,到商用卡车运输、再到共享出行、公共交通,更加安全高效的自动驾驶技术正在改变交通运输行业的各个方面,甚至农业也可通过自动驾驶实现彻底革新。

所有可移动的事物都将实现自动化

那么自动驾驶行业提到的 AI 究竟是什么意思呢?

具体来说,指的是 AI 的一个子集,即深度学习,可使汽车如同人类一般进行学习和行动。汽车中的软件则由深度神经网络(DNN)组成,可驱动特定的任务,如感知、推理、驾驶,或是驱动、高精地图以及车辆定位,又或者是汽车在空间中精确定位的能力。

为实现现实世界中的安全行驶,自动驾驶深度神经网络必须能够根据周围环境推断信息,例如,在驾驶过程中,如果看到路上有一个滚落的球,驾驶员根据以往的生活经验可推断出,球的后面很可能会跟着一个孩子,由此在通过时会减速稍等一会儿。但是,如何教会汽车以同样的方式思考和行动呢?答案则是借助海量数据以涵盖可能遇到的各种情况。DNN 在车辆中运行之前,会在数据中心大规模运行相关数据,并利用仿真对这些情境进行测试和验证。最后,当这些网络准备好“上车”时,则需要能够运行各种神经网络的集中式高性能计算平台,保障能实时覆盖每个必要的任务,以实现安全操作。

技术合力,助力自动驾驶汽车安全高效运行

那么,自动驾驶汽车的工作原理究竟是什么?

传感器架构“保驾护航”

首先,人们在驾驶时依靠感官来感知周围环境,眼观六路,耳听八方。真人驾驶员会时刻保持对提示物、标识牌以及其他车辆的警惕。自动驾驶汽车则是依靠传感器获取感知信息,以在驾驶环境中做出反应。这些传感器必须具备两个重要特性,即冗余和多样化。

使用丰富的传感器实现冗余和多样化

“冗余”指的是每个组件都有一个备份,来对传感器探测到的数据进行查验,从而确保检测对象的真实存在。如果摄像头看到阴影中存在某物,雷达则会进行双重检测,从而确保确实有物体存在,就算在摄像头误报时,汽车也能从其他传感器处及时得到真实反馈。

所谓“多样化”,是指每个组件都能处理在现实世界中运行时所需执行的各种任务。在冗余且多样化的传感器架构中,首先需要可充当视觉传感器的摄像头传感器,用于检测和分类静态或静止物体,以及动态或移动物体。上述物体包括交通标志、交通灯、车道边界,以及行人、骑行者或动物。正如前文所述,此架构中还包含了雷达,可作为备用手段,在必要时替代摄像头感知外界信息,协助测量周围物体的距离和移动速度。目前,大家可能已经很熟悉用于其他行业或技术的摄像头和雷达传感器,但激光雷达对于部分人而言,可能是一个相对较新的术语。

激光雷达当前的工作原理是将多束激光同时发射到周围环境中,并接收反射回来的激光。随后,传感器会根据激光反射回雷达所用的时间,基于任意两次激光发射的时间间隔,构建出车辆周围环境的 3D 图像。除此之外,此架构还会使用通过声波进行感知的超声波设备,以及用于粗略定位和运动补偿的 GNSS 和 IMU 传感器。

AI 计算“智力无限”

上一部分讨论了汽车的感知系统,也就是自动驾驶的“眼睛”和“耳朵”。接下来将为大家介绍汽车的“大脑”,即集中式 AI 计算平台—自动驾驶汽车的计算平台负责处理由冗余且多样化的传感器所采集的大量数据

正如之前所说,汽车采用冗余且多样化的传感器架构,来生成海量数据。直观地说,一辆用于测试的自动驾驶汽车运行 6 小时就能生成约 32TB 数据,相当于可填满至少 256 部具有 128GB 内存的智能手机。此外,这种计算还必须能够运行数十个深度神经网络,以便在处理数据的同时,为车辆感知系统提供实时支持。

集中式 AI 计算

软件定义“常用常新”

为应对自动驾驶带来的挑战,计算平台必须具有超高性能,同时满足节能和车规级要求。所谓车规级要求,是指能够承受量产型汽车将面对的极端运行条件,以及因长途行车、糟糕路况和极端天气造成的磨损。此外,该计算平台还必须具有可扩展性以及持续升级的能力。这里所说的“可扩展性”是指计算平台能够与未来的新平台兼容。计算技术在持续发展,因此软件开发公司基于当前一代计算技术开发的产品,必须能够兼容下一代产品,以便能够充分利用最前沿和最出色的计算性能。而这里所说的“持续升级”,指的是计算平台需要拥有足够的空间,允许自动驾驶汽车通过 OTA 持续更新最新功能,从而实现软件定义汽车,这意味着该计算平台可基于最新的数据、体验和功能,持续改进。

NVIDIA DRIVE Orin 是一款适用于自动驾驶汽车的先进的软件定义平台。大家还记得上文提到的几个数字吗?在 2007 年的城市挑战赛中,优胜车辆每秒可进行 230 亿次运算 (23 billion FLOPS);而现在,DRIVE Orin SoC 每秒可进行 254 万亿次运算(254 TOPS)。凭借当前的性能水平, DRIVE Orin 能够处理车辆中同时运行的大量应用和深度神经网络,且符合 ISO 26262 ASIL-D 等系统安全标准。

深度神经网络 帮助汽车做决策

介绍完汽车的“大脑”之后,我们再来看下文中多次提及的深度神经网络。深度神经网络与传感器一样,需具备两个重要特性:冗余且多样化。这意味着,每个深度神经网络都能作为其他神经网络的一个备份,此外,每个深度神经网络将专门承担某项任务,以处理自动驾驶汽车在日常驾驶中可能遇到的各种场景。

感知—自动驾驶汽车最重要的组成部分

例如,SightNet 深度神经网络负责检测交通标志,LightNet 网络则检测交通灯,而 LaneNet 网络则负责检测车道边界和可行驶路径,此外,还有用于检测交叉路口的 WaitNet 深度神经网络。前三种网络会通过协同工作,检查 WaitNet 网络所检测到的交叉路口场景,是否包含该交叉路口中的所有交通灯、交通标志和车道边界。自动驾驶汽车能够基于检查结果做出相应的反应,并安全地通过交叉路口。这些网络能够在各种天气及照明条件下运行。不仅能适应极端天气,还能应对眩光和摄像头视野盲区。经过专门训练的深度神经网络,能够应对自动驾驶汽车可能会遇到的各种驾驶状况,确保汽车安全行驶。

以上是自动驾驶汽车的各个组成部分,但它又是如何学习的呢?这就涉及到自动驾驶汽车的训练与仿真,我们将在下篇详细叙述,敬请期待。

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

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

相关文章

基于蒙特卡诺的电动汽车对电网影响(数据+Matlab代码)

目录 0 知识回顾 1 电网没考虑电动汽车时 1.1 案例1(4kw) 1.2 案例2(7kw) 31.3 案例3(20kw) 2 静态测试 2.1 收敛的最优结果 2.2 改变电动汽车数量的影响 2.3 收敛的最优结果 3 动态测试 4 一…

图结构

图结构 从哥尼斯堡的七桥问题开始 ▪ 18世纪初普鲁士的哥斯尼堡,有一条河穿过,河上有两个小岛,有七座桥把两个小岛与河岸联系起来 ▪ 问题:一个步行者怎样才能不重复、不遗漏地一次走完七座桥,最后回到出发点。 ▪ 难点:可能的走法----7!5…

苹果给出 AirTag 固件更新日志,苹果Find My功能越来越完善

自 11 月以来,苹果已经为其 AirTag 物品追踪器发布了两个固件更新。然而,该公司此前并没有详细说明这些更新带来了什么变化。不过有网友发现,苹果终于分享了最新 AirTag 固件更新的更新内容。 以下是 AirTag 固件更新 2.0.24 和 2.0.36 带来…

[力扣c++实现]85. 最大矩形

85. 最大矩形 给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 示例 1: 输入:matrix [[“1”,“0”,“1”,“0”,“0”],[“1”,“0”,“1”,“1”,“1”],[“1”,“1”…

2022最新最全的Java面试八股文小抄开源!带你摸熟 20+ 互联网公司面试考点

2022真是多变的一年,相对往年我们会发现今年猎头电话少了,大部分企业年终奖缩水,加薪幅度也不如往年,选择好 offer 就要趁早,现在开始准备吧,刷一波 Java 面试题,能回答 70%就去 BATJTMD 大胆试…

基于SSM实现的网上手机商城项目(附源码)

基于SpringSpring MVCMyBatisLayui框架 项目完整源码下载 https://download.csdn.net/download/DeepLearning_/87327169 功能: 前台 登录、注册、注销查看商品、商品评论、热销商品收藏、取消收藏商品加入购物车购物车增、删、改、查购买商品、确认收货、删除已…

stop pin/ignore pin/exclude pin/float pin

stop pin、ignore pin、exclude pin和float pin的区别如下图: 1、Stop pins stop pin是clock tree的leaf pin,作为clock tree的终点,需要balance insertion delay(latency),clock sink都是stop pin。 2、…

七、http模块

HTTP —— 超文本传输协议,用于规范客户端浏览器和服务端以何种格式进行通信和数据交互;HTTP由请求和响应构成的,是一个标准的客服端服务器模型。 HTTP请求响应过程 先简单的来了解以下HTTP的请求响应过程:1.地址解析&#xff1a…

普通人为什么要学习python?有什么用

为什么要学习python? 比如新媒体职业: 1、简单来说,你会python后就相当于自己建造一个属于自己工作区块的微博热搜榜。你可以利用爬虫、收据抓取等技术知道哪些话题近期特别火,为什么火、有什么共通点,然后根据这些依…

3.1 多集放大电路的耦合方式

在实际应用中,常对放大电路的性能提出多方面的要求。所以,仅靠任何一种基本的放大电路并不能满足要求,此时可以选择多个基本放大电路级联在一起构成多级放大电路。 组成多级放大电路的每一个基本放大电路称为一级,级与级之间的连接…

Win11的两个实用技巧系列之玩游戏闪跳、错误代码0x80004005解决

Win11玩游戏经常无缘无故跳回桌面怎么解决? 最近有Win11用户反应,自己在玩游戏的时候遇到了经常无缘无故跳回桌面的情况,本文就为大家带来了详细的解决方法,需要的朋友一起看看吧 最近有Win11用户反应,自己在玩游戏的时候遇到了…

关于ShardingSphere内置分片算法及其数据倾斜问题总结

ShardingSphere是一款不错的分库分表中间件,并且其内置提供了多种分片算法。但是使用内置的分片算法会造成数据倾斜问题。下面以5.2.0版本的ShardingSphere详细介绍下几种内置分片算法并且分析下数据倾斜问题。 一、ShardingSphere内置分片算法介绍 根据官网描述&…

web前端-javascript-包装类(String,Number,Boolean,基本数据类型调用方法先转换为对象再调换)

包装类 1. 说明 在 JS 中为我们提供了三个包装类,通过这三个包装类可以将基本数据类型的数据转化为对象String() 可以将基本数据类型字符串转换为 String 对象 Number() 可以将基本数据类型的数字转换为 Number 对象 Boolean() 可以将基本数据类型的布尔值转换为 …

【C语言】重要函数atoi的使用

目录 一、atoi函数的介绍 二、atoi函数的使用 三、atoi函数的模拟实现 一、atoi函数的介绍 一个专门将字符串转换为整数的库函数,具体用法如下: 字符串str,将其内容转化为整数,该整数作为int值返回。 二、atoi函数的使用 atoi函…

CentOS7安装apache2并启动

CentOS7安装apache2并启动源码安装启动和停止源码安装 地址:https://downloads.apache.org/httpd/ https://downloads.apache.org/httpd/httpd-2.4.54.tar.gz 参考:https://www.cnblogs.com/xiangqs/p/8663947.html 启动和停止 网上搜到的都是/usr/lo…

linux安装redis

目录 一、准备redis 二、上传redis到linux 三、编译与安装 四、修改配置文件 五、设置开放的服务或端口号或直接关闭防火墙 法1: 法2: 六、验证是否成功 1.直接在linux启动客户端 2.在windows启动redis客户端,连接linux的redis服务…

Java+mysql基于ssm的大学生求职招聘系统

本求职招聘管理系统主要包括系统用户管理模块、企业新闻管理模块、招聘发布会管理、招聘信息管理、登录模块、和退出模块等多个模块。它帮助求职招聘管理实现了信息化、网络化,通过测试,实现了系统设计目标,相比传统的管理模式,本系统合理的利用了求职招聘管理数据资源,有效的减…

Docker方式发布jar文件

在IDEA中将SpringBoot项目打为jar包步骤&#xff1a; 1、打开项目的pom.xml文件&#xff0c;添加或修改packaging标签&#xff0c;如下图&#xff1a; <packaging>jar</packaging> 2、点击右侧maven&#xff0c;展开lifecycle&#xff0c;先clean&#xff0c;然后…

普通人应该怎么赚钱,下班后可在家操作的四个兼职副业分享

大家好&#xff0c;我是蝶衣王的小编 不少朋友发觉&#xff0c;单靠薪水好像已经很难再存下钱了&#xff0c;甚至有时候还不够一个月的开销。实际上&#xff0c;如果你想要提升月收益&#xff0c;你可以选择发展副业。那发展什么副业才能赚钱呢 有小伙伴要问&#xff1a;我要…

使用DevEco Device Tool编译并烧录全部步骤和过程详解

一、前言 我们上一篇讲了 “如何搭建设备开发的环境” ,这一篇继续上一篇提到的BearPi-HM_Nano 源码 我购买的是这款 BearPi开发板,有设备的话更好,没有设备的话,一样可以跟着我们的文章一起学习。 在进行编译烧录前需要先下载BearPi-HM_Nano 源码,我们接着往下看。 二…