热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

GoogleWaymo2017自动驾驶安全技术报告(一)

2017年10月GoogleWaymo向美国交通部提交了一份43页的安全报告,报告中详细说明了Waymo如何装备和训练自动驾驶车辆,从而避免驾驶中的一般和意外情况发生。这份报告对W

2017年10月Google Waymo向美国交通部提交了一份43页的安全报告,报告中详细说明了Waymo如何装备和训练自动驾驶车辆,从而避免驾驶中的一般和意外情况发生。这份报告对Waymo的自动驾驶技术进行了详细的解读,希望能够对自动驾驶从业者带来一些启发。

自动驾驶技术的必要性

技术图片

2013年在全球有120万人死于交通事故;2016年美国有37461人死于道路交通事故;2015年美国有240万人在交通事故中受伤;94%美国发生的交通事故中由于人为失误引起;2/3的人在一生中至少遭遇一次酒驾事故;自动驾驶技术每年可以避免数千人死于交通事故。

1.How Our Self-Driving Vehicle Sees the World and How it Works

自动驾驶汽车要解决的四个问题:

1.Where am I;

2.What’s around me;

3.What will happen next;

4.What should I do;

1.1 Where am I

Waymo的自动驾驶汽车不依赖于GPS,它通过实时传感器数据与预先制作的三维高精度地图交叉对比验证得到自动驾驶汽车在道路中的精确位置。

如下图所示,三维高精度地图中包含了道路属性、道路路肩、人行横道、车道线、红绿灯、Stop Sign等。

技术图片

1.2 What’s Around Me

Waymo自动驾驶汽车的传感器和软件持续的扫描周围300米范围内的环境信息:行人、车辆、机动车辆、非机动车辆、道路施工、道路障碍物等;并不断的从红绿灯颜色和铁路交叉道口的临时Stop Sign不断读取交通控制信息;

技术图片

1.3 What Will Happen Next

对于道路上的每一个动态物体,软件系统会依据它们当前的速度和轨迹预测未来的运动;不同类型的道路交通类型参与者,他们的行为差异很大,所以软件系统会根据不同的动态物体类型(行人或者自行车等)分别预测多条他们下一步的可能路径作为自动驾驶车辆下一步行动的参考;Waymo的软件系统也会考虑道路环境的变化(比如前方车道拥堵)对周围车辆行为的影响。

技术图片

1.4 What Should I Do

Waymo自动驾驶软件系统会根据获得的所有信息计算出可行驶的最优驾驶策略,比如准确轨迹、速度、车道、驾驶方向等。由于自动驾驶汽车可以360度持续观察道路环境、预测其它道路使用者的未来行为,因而能够快速安全的应对任何道路事件。

技术图片

2.Our System Safety Program – safety by design

Waymo内部有一套复杂的系统安全流程:Safety by Design,Safety by Design的含义是从设计、研发、测试、验证的每一个环节都要考虑安全因素。这套流程机制衍生了Waymo许多关键的安全功能的设计,比如使得无人驾驶汽车在出现技术故障的情况下依然能够安全的停下来的关键冗余安全系统;拥有重叠视野的传感器系统;无处不在的测试系统等等。

Waymo的System Safety Program包含五种类型: behavioral safety, functional safety, crash safety, operational safety, and non-collision safety。

2.1 Behavioral Safety

Behavioral safety是指自动驾驶车辆在道路上的驾驶决策和驾驶行为。与人类驾驶员一样,自动驾驶车辆也必须要遵守交通规则,处理各种各样的预料之中和意料之外的各种场景。Waymo使用功能分析、仿真工具、实际上路验证来理解在ODD(operational design domain)中面临的挑战,设计安全要求和进行多管齐下的测试和验证流程。

2.2 Functional Safety

Functional safety保证在车辆系统失效或者异常的情况下仍然能够安全驾驶。这意味需要一个备用冗余系统用来处理意料之外的情况。例如,我们的自动驾驶系统安装了冗余计算系统,它能够在主计算系统故障的情况下迅速接管,使得自动驾驶车辆能够停靠到安全区域;每一辆自动驾驶车辆都有备用的方向盘和刹车,和很多层次的冗余系统。

2.3 Crash Safety

Crash Safety是指车辆通过各种措施保护车内乘客的能力,比如保护车内人员的结构设计到减轻伤害或防止死亡的座椅约束和安全气囊等功能。美国的碰撞安全(Crash Safety)由美国国家公路交通安全管理局(NHTSA)发布的联邦机动车安全标准(FMVSS)涵盖,车辆制造商必须证明其基本车辆符合适用的FMVSS要求。

2.4 Operational Safety

Operational Safety是指车辆和乘客之间的交互能力。通过操作安全,我们可以确保用户在车辆上拥有安全舒适的体验。Waymo通过危险分析、已有的安全标准、广泛的测试以及各种行业的最佳实践来构建安全的产品能力。比如,Waymo通过早期的试乘机制,研发了一套能够使得乘客能够清楚指示目的地,指挥车辆靠边停车,联系Waymo帮助支持的交互系统。

2.5 Non-Collision Safety

我们强调与车辆交互的人群的人身安全。例如,避免电气系统或传感器可能对乘客、车辆技术人员、测试驾驶员、旁观者造成的潜在危险。

3. How Waymo’s Self-Driving Vehicles Work

我们的自动驾驶不像目前市面上的自适应巡航控制系统(adaptive cruise-control)和车道控制系统(lane-keeping systems),它集成的软硬件可以在特定区域和特定限制条件下替代人类司机的所有驾驶功能,完全不需要人类司机。这种技术在国际汽车工程师学会(SAE)自动驾驶系统定义中被称为Level 4级自动驾驶。我们的技术不同于较低层次的自动驾驶系统(Level 1,Level2,Level3),Level级自动驾驶系统能够在任何系统故障时使车辆安全停车(即最小风险条件,minimal risk condition),而无需人类驾驶员接管。

3.1 Our Vehicle Sensors

为了满足自动驾驶的复杂需求,Waymo开发了一系列传感器,使我们的车辆在白天和晚上都能看到360度的视野,并且可以看到三个足球场以外的地方。Waymo多层次传感器套件无缝衔接,绘制出一幅详细的三维世界图像,包含了所有动态和静态物体(如行人、骑自行车的人、其他车辆、交通灯、建筑锥体和其他道路特征等)。

技术图片

LiDAR (Laser) System

LiDAR (Light Detection and Ranging) System 360度日夜不停的工作,每秒发射数百万个激光脉冲,并测量从障碍物表面反射回车辆所需的时间。Waymo自动驾驶系统包括三种内部开发的激光雷达:短程激光雷达、高分辨率中程激光雷达,以及可以看到三个足球场远的新一代远程激光雷达。

Vision (Camera) System

Vision System设计的目的是像人类一样通过视觉系统感知周围环境,它拥有360度的视野,远超人类驾驶员120度的驾驶视野。由于我们的高分辨率视觉系统可以检测颜色,因此它可以帮助我们识别交通灯、建筑区、校车和应急车辆的闪光灯。Waymo的视觉系统由几组高分辨率摄像机组成,长距离、日光和低光条件下都可以很好的工作。

Radar System

Radar利用波长感知物体和运动。它的波长可以穿透小的障碍物,这使得它可以在雨天、雾天、雪天或夜间都能发挥作用。Waymo的Radar系统拥有360度连续视角,因此它可以跟踪车辆前方、后方和两侧的道路使用者的运动速度。

Supplemental Sensors

Waymo车辆还配备许多额外的传感器,包括音频检测系统,它可以听到数百英尺以外的警察和紧急车辆警报;GPS,它可以补充我们车辆对在全局空间位置的感知。

3.2 Our Self-Driving Software

自动驾驶软件是我们汽车的“大脑”,它能够理解来自传感器的信息,并利用这些信息为各种场景下做出最佳驾驶决策。Waymo花了八年时间使用机器学习和其他先进的工程技术来构建和改进我们的软件,并通过数十亿英里的模拟驾驶和超过350万英里的公路行驶来训练和测试我们的软件。

我们的自动驾驶软件系统不仅仅可以检测到障碍物的存在,事实上它可以判断出障碍物的类型,障碍物可能如何运动,以及它的运动如何影响我们的车辆在道路上的行为。

虽然我们的自动驾驶软件系统由许多不同的模块组成,但这里主要详细介绍其中的三个主要模块:perception, behavior prediction, and planner。

PERCEPTION

Perception可以检测和分类道路上的物体,同时还可以估计它们的速度、航向和加速度。Perception模块不仅可以帮助我们的自动驾驶车辆区分行人、骑自行车的人、骑摩托车的人、车辆等,同时它还可以区分静态对象(如交通信号灯)的颜色。Perception使我们的系统能够在语义层面上理解我们的车辆周围的情况(比如红绿灯是否为绿色并允许车辆是否继续行驶,车道是否因为道路布满锥桶而堵塞)。

BEHAVIOR PREDICTION

通过Behavior Prediction,我们的软件可以建模、预测和理解道路上每个对象的意图。由于Waymo拥有数百万英里的驾驶经验,这使得我们的车辆模型非常精确,可以准确反应不同道路使用者的行为。例如,我们的软件理解尽管行人、骑自行车的人和骑摩托车的人看起来很相似,但他们的行为可能会有很大的差异:行人比骑自行车或骑摩托车的人移动得慢,但他们可以突然地改变方向。

PLANNER

Planner利用从感知模块和行为预测模块中收集到的所有信息,为自动驾驶车辆规划了一条可行驶的道路。根据我们的经验,最好的驾驶员是防守型驾驶员,这就是我们采取防御性的驾驶行为的原因,比如避开其他驾驶员的盲点,为骑自行车的人和行人留出额外的通行空间。Waymo的Planner模块也会提前做一些驾驶预判,例如如果我们的软件系统发现前面的车道因施工而关闭,并预测施工车道上的自行车手将借道机动车道,Planer模块会提前减速或者提前为自行车手腾出空间。利用实际道路的驾驶经验,我们也在不断改进我们的驾驶行为,使得自动驾驶车辆在道路上的行驶平顺舒适,让车内的乘客感到舒适,让其他道路使用者感到自然和可预测。

3.3 Operational Design Domain

技术图片

Operational Design Domain(ODD)是指自动驾驶系统能够安全运行的所需的条件。Waymo的ODD包括地理位置、道路类型、速度范围、天气、时间以及州和地方交通法规。

Operational Design Domain(ODD)可以非常局限,例如在白天温和的天气条件下,在低速公共街道或私人场地上设置一条固定路线。然而,Waymo目前正在开发的自动驾驶技术可以在广阔的地理区域内的各种条件下的城市街道驾驶,比如可以在恶劣天气(如小雨至中雨)下行驶;可以在白天和夜间行驶等。

Waymo的系统被设计成不在其允许的Operational Design Domain(ODD)之外行驶。例如,乘客不能在我们允许的地理区域之外选择目的地;我们的软件不会创建一条在“地理围栏”区域之外行驶的路线。另外,我们的自动驾驶系统可以自动检测在其ODD内会影响安全驾驶的突然变化(如暴风雪),并在条件改善之前安全的停下来。

我们设计的自动驾驶系统能够遵守运行区域所在的联邦、州和地方的法律。法律的所有要求以及所有法律的变更都会作为安全需求纳入我们的自动驾驶系统,包括限速、交通标志和信号灯等等。我们的自动驾驶车辆每到一个新的测试场地,都会努力了解当地独特的道路规则或驾驶习惯,然后将这些内容更新到我们的软件系统,使我们的车辆能够安全处理这些场景。

Waymo的Operational Design Domain(ODD)在持续演化,我们的最终目标是开发完全的自动驾驶技术,可以在任何时间、任何地点和任何条件下将乘客从A地送到B地。随着我们自动系统能力的增长,我们将持续扩展我们的Operational Design Domain(ODD),将我们的自动驾驶能力带给更多的人。

3.4 Minimal Risk Condition (Fallback): Ensuring the Vehicle Can Transition to a Safe Stop

低级别自动驾驶的车辆,如果道路上的情况变得太复杂技术无法处理或者技术本身失败的情况下,需要人工驾驶员来收回控制权。作为一个完全自动驾驶系统,Waymo的技术必须足够强大到能够独立处理这些情况。

如果我们的自动驾驶车辆不能继续按计划行驶,它必须能够执行安全停车,即“minimal risk condition”或fallback。这可能包括自动驾驶系统遇到问题、车辆发生碰撞或环境条件发生变化,从而影响我们ODD内的安全驾驶的情况。Waymo的自动驾驶系统会以每秒数千次的频率自动检测这些场景,查找系统故障,同时为关键系统(如传感器、计算和制动等)配备了一系列冗余备份。自动驾驶系统根据故障发生的道路类型、交通状况和技术故障的程度等因素确定适当的响应(比如靠边停车、安全停车等),以确保车辆及其乘客的安全。

技术图片

3.5 How We Build a Map for a Self-Driving Vehicle

在自动驾驶车辆上路前,我们的地图团队会首先使用我们安装在测试车辆上的传感器创建高度详细的三维地图。不同于卫星图像或在线地图,Waymo的地图为自动驾驶车辆提供了对物理环境的非常详细的语义理解:道路类型、道路长度以及其他地形特征等。

技术图片

我们在上述数据基础上增加交通控制信息如人行横道、交通灯和相关标志。

技术图片

使用这些地图数据,我们的自动驾驶系统可以重点关注它周围动态变化的环境(如其他道路使用者)。我们的系统可以通过交叉引用实时传感器数据和车载3D地图来检测道路的变化,如果检测到道路发生变化(例如前方发生碰撞导致道路交叉口封闭),我们的车辆可以在系统的ODD内重新确定路线,并向我们的运营中心发出警报,以便车队中的其他车辆可以避开该区域。

3.6 Data Recording and Post-Crash Behavior

Waymo有一个强大的系统可以收集和分析路上遇到的数据,从一辆车的经验中学到的任何东西可以适用于整个车队。当碰撞发生时Waymo的自动驾驶系统可以立即检测到并自动通知Waymo操作中心,然后我们训练有素的专家可以启动碰撞后程序,其中包括与执法部门和第一响应者互动的程序,以及将我们团队的成员派往现场的程序,同时我们的运营中心也有专家通过车内音频系统直接与乘客沟通。

碰撞发生后,我们会分析所有可用数据(包括视频和其他传感器数据),以评估可能导致事故的因素,并且对软件系统进行必要的修改和升级,并相应地更新车队中的每辆车。在事故中遭受损坏的车辆在修复之后,经过安全系统的验证测试,会重新回归车队。

3.7 Self-Driving Vehicle Cybersecurity

Waymo开发了一个强大的流程来识别、优先处理和缓解网络安全威胁,我们的安全实践是建立在Google’s Security 基础之上的。为了帮助开发未来的最佳安全实践,Waymo还加入了Auto ISAC,这是一项旨在增强全球汽车行业网络安全意识和协作的行业运营倡议。

技术图片

我们从内部和外部对自驾系统的所有潜在安全接入点进行了全面审查,并采取措施限制这些接入点的数量和功能。

我们OEM合作伙伴在一起沟通确认车辆的潜在薄弱环节,并在软件研发和车辆设计过程充分考虑已知威胁,以确保自动驾驶系统的安全。新的软件发布必须经历广泛的同行评审和充分的验证过程,其中的危险分析和风险评估流程旨在识别和减轻可能影响安全的风险。在车辆设计中,Waymo车辆的安全关键部件(如转向、制动、控制器等)与外部通信隔离;决定车辆移动的关键计算模块和车载3D地图都完全被屏蔽,无法从车辆的无线连接和系统进行访问。

我们还考虑了无线通信的安全性。Waymo自动驾驶车辆不依赖于持续的网络连接来保障安全运行,道路上辆和Waymo之间的所有通信(例如冗余蜂窝连接)都是加密的,包括Waymo的运营支持人员和我们的乘客之间的通信。

这些保护措施有助于防止任何人(无论是乘客或附近的恶意行为人)接触我们的自动驾驶车辆,损害或改变他们的安全行为。同时我们有不同的机制来发现异常行为和分析这些事件的内部过程,如果我们意识到有人试图破坏我们车辆的安全,Waymo将启动公司范围内的事件响应程序,包括影响评估、遏制、恢复和补救等。

完整的waymo自动驾驶安全报告地址:

https://storage.googleapis.com/sdc-prod/v1/safety-report/waymo-safety-report-2017-10.pdf


技术图片

个人网站地址: http://www.banbeichadexiaojiubei.com

Google Waymo 2017自动驾驶安全技术报告(一)


推荐阅读
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文内容为asp.net微信公众平台开发的目录汇总,包括数据库设计、多层架构框架搭建和入口实现、微信消息封装及反射赋值、关注事件、用户记录、回复文本消息、图文消息、服务搭建(接入)、自定义菜单等。同时提供了示例代码和相关的后台管理功能。内容涵盖了多个方面,适合综合运用。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • 本文介绍了指针的概念以及在函数调用时使用指针作为参数的情况。指针存放的是变量的地址,通过指针可以修改指针所指的变量的值。然而,如果想要修改指针的指向,就需要使用指针的引用。文章还通过一个简单的示例代码解释了指针的引用的使用方法,并思考了在修改指针的指向后,取指针的输出结果。 ... [详细]
  • 在project.properties添加#Projecttarget.targetandroid-19android.library.reference.1..Sliding ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了一种解析GRE报文长度的方法,通过分析GRE报文头中的标志位来计算报文长度。具体实现步骤包括获取GRE报文头指针、提取标志位、计算报文长度等。该方法可以帮助用户准确地获取GRE报文的长度信息。 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
author-avatar
晨曦dora
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有