将要上市的自动驾驶新书《自动驾驶系统开发》中摘录片段

发布于:2024-05-06 ⋅ 阅读:(30) ⋅ 点赞:(0)

在这里插入图片描述

全书共分15章:第1章是自动驾驶系统的概述(场景分类、开发路径和数据闭环等),第2章简介自动驾驶的基础理论,即计算机视觉和深度学习等,第3~4章是自动驾驶的软硬件平台分析,包括传感器、计算平台、软件架构和操作系统等,第5~9章分别介绍自动驾驶的感知、地图、定位、规划和控制模块,第10章重点介绍自动驾驶的仿真系统,第11章讨论自动驾驶的安全理论,第12章讨论自动驾驶的一个特例-自动泊车系统,第13章介绍车联网技术(车-路协同和车辆编队),而第14~15章分别介绍最近自动驾驶相关的两个技术热点,即3D场景的神经渲染(主要以NeRF为主)和扩散模型的内容生成。

本书主要是给有一些基础的读者阅读,比如具备在计算机视觉和机器学习(甚至深度学习)方面的理论基础和实践经验。本书提供大量自动驾驶前沿技术第一手的资料,涉及开发自动驾驶的方方面面。希望该书能够启发和触动自动驾驶第一线的开发人员,在遇到问题和困难的时候开阔思路并发现解决问题的方法。

在“前言”部分,关于自动驾驶的研究现状,作者做了如下分析:

“自动驾驶的发展基本存在两条技术路线。一个是跨越式开发,即直接做L4级别的自动驾驶系统,以高科技公司谷歌和百度为主,他们对车企行业了解不深,把机器人研发的模式用于自动驾驶车辆。注:据说谷歌也曾想从L3级别做起,但是实验发现测试人员一段时间以后很容易相信计算机系统,失去监控的耐心。这个技术路线多半不计成本,采用高清地图和高精密度惯导定位,可没有地图的地方也很难运营(不需要和导航地图接口,直接采用高清地图进行规划,对于大规模导航区域的高清地图下载和全局规划的计算复杂度缺乏认识),安装激光雷达这种最好最昂贵的传感器(当时视觉的深度学习技术比较初级),采用最强的计算平台(因为不是量产,一些L4自动驾驶公司直接采用工控机作为支撑,不需要考虑平台移植的工程难度),面向robotaxi的落地,虽然还没有针对任意场景,但在测试的高速和城市街道场景中,基于较可靠的感知性能,的确提供了面向复杂交通环境下最强的规划决策能力。目前看到的基于数据驱动开发的规划决策算法,多半来自于L4公司,而且其中几个还举办了这方面的竞赛(基于本身提供的开源数据集)。在仿真平台的建设上,也是L4公司远远走在前面(特斯拉基本已经具备L4开发落地能力),包括数据重放和单点测试的可视化能力。高清地图方面,L4公司的技术也比较成熟。收集的传感器数据,L4公司在包括激光雷达和车辆定位轨迹等方面,也高于一般的L2公司。

另一条路线是渐进式开发,即先从L2级别的辅助自动驾驶系统起步,然后逐渐适应更复杂的交通环境,从高速高架慢慢过渡到有闸道有收费站的场景,然后进入城市大街和小路,自动驾驶系统的级别也慢慢演进到L2+、L3、L3+和L4水平。注:最近看到一种新趋势,即L4自动驾驶级别的开发公司,和L2级别自动驾驶的主机厂和Tier-1合作,共同开发L2+的量产级别车辆。渐进式开发的技术路线,一般是主机厂和Tier-1采用,他们首先会考虑成本、车规和量产用户的ODD定义。早先以mobileye为主要供应商,之后特斯拉和英伟达的开发模式成为主流。因为成本,所以这种路线多半采用摄像头为主传感器,加上车企已经接受的毫米波雷达为辅助。相对来说,这个路线的前沿水平(比如特斯拉)基本上视觉感知的能力尤其突出。因为在融合中雷达出现大量虚警信号,特斯拉甚至在自动驾驶感知模块中放弃了它。以前泊车自动驾驶采用超声波传感器,逐渐也和鱼眼摄像头结合提供泊车辅助、记忆泊车甚至代客泊车的应用。特斯拉也采用超声波提供拥挤交通场景的感知。也许是成本的压力,渐进路线一般是“重感知、轻高清地图”的模式,甚至特斯拉已经在BEV网络模型中实现了感知和在线地图及定位的端到端集成。作为行业领军企业的特斯拉,慢慢完善了数据驱动的开发工具链,实现了一个包括数据筛选、数据标注、仿真模拟、模型迭代、场景测试评估和模型部署等的数据闭环。基于自动驾驶的长尾问题和AI模型的不确定问题,谷歌也有类似的框架,但特斯拉将其发挥到极致,在量产的用户车辆上实现了良性循环,目前也已经推出L4级别的自动驾驶版本FSD。

自动驾驶基本存在1.0和2.0两个发展阶段。自动驾驶1.0时代采用多种传感器构成感知输入,比如激光雷达(Lidar)、视觉相机、雷达(Radar)、惯导IMU、轮速计和GPS/差分GPS等,各个传感器在感知能力上存在差异,针对性用多模态传感器融合架构,目前多是采用后融合策略,把各个传感器在相关任务的结果进行一次滤波,达到互补或者冗余的效果。这方面存在两种路线,一是依靠激光雷达加高清地图的做法,成本高,主要是robotaxi等L4公司采用,另一个是视觉为主、轻高清地图的道路,成本低,多是L2/L2+自动驾驶公司为量产落地的思路。两种路线都是会有很传统的后处理步骤(特别是视觉),大量调试工作和问题也来自于此。另外,这个阶段的规划决策多是采用基于规则的方法,实际上没有数据驱动的模型,比如开源的Autoware和百度Apollo。L4公司由于运行场景在一些具备高清地图的固定地区,本身感知投入的传感器精度较高,已经做过数据训练规划决策模型的探索;相对来说,L2/L2+公司还没有建立数据驱动的规划决策模块开发模式,多是采用优化理论的解决方案,普遍从高速场景入手,升级到特斯拉那种“闸道-到-闸道”的模式,很少能支持城市自动驾驶的复杂场景(比如环岛路口和无保护左拐弯操作等)。

自动驾驶2.0时代应该是以数据驱动为标志,同时对于1.0阶段的感知框架也有比较大的改进。数据驱动的开发模式倾向于端到端的模型设计和训练,对于规划决策而言就是需要大量的驾驶数据去学习“老司机”的驾驶行为,包括行为克隆的模仿学习,以及通过基于模型强化学习(M-RL)估计行为-策略的联合分布等,不再靠各种约束条件下的最优问题求解。其中轨迹预测是一个重要的前奏,需要对智体交互行为做良好的建模,并分析存在的不确定性影响。对于感知而言,2.0时代需要考虑机器学习模型取代那种传统视觉或信号处理(滤波)的部分,真正做到采集数据来解决问题的开发模式。比如特斯拉最近的BEV和Occupancy Network,都直接通过深度学习模型实现所需信息输出,而不是采用传统视觉和融合理论去二次处理模型输出。传感器融合理论也从后融合升级到模型中特征级融合甚至数据融合(如果同步和标定有一定的先验知识)。这里可以看到Transformer网络在这个感知框架下扮演着重要的角色,同时也给计算平台提出了更高的要求。基于这种数据驱动的自动驾驶平台需求,大模型的设计思路也被引入,因为大量数据的获取,包括高效的数据筛选、自动标注和仿真技术辅助,需要在服务器维护一个老师大模型支持各种布置到车端的学生小模型训练和迭代升级。”

在“概论”中,对于自动驾驶的场景,作者也进行了总结分级:

自动驾驶的场景,根据难度可以列出如下:

自动/自主泊车:自动泊车APA、记忆泊车HPA和代客泊车AVP分属L2、L3和L4级别;最低级的自动泊车是没有车辆控制的,只是提供泊车的建议,如虚拟的参考轨迹;L2级别会提供停车位检测,并确定规划和控制功能,简单的超声波雷达只是检测一个停车位,而视觉系统可以发现多个停车位,L2级系统让驾驶员选择其中一个,而L3级别会自动选择。

园区摆渡车:L4级,比如百度Apollo龙和法国创业公司EasyMiles,很多是在在闭环道路循环运行,相对驾驶路径固定,规划决策简单。

无人送货车:属于L4级别,其难度在于小区道路拥挤,行人多;但好处是低速,无人在车内,美团、京东、阿里菜鸟和硅谷创业公司Nuro均有这种场景。

高速路商用大货车巡航:属于L3-L4级,其优点是高速公路为主,商业模式简单,在降低司机成本和降低驾驶疲劳度等方面有优势;缺点是,因为高速行驶预警时间要长,而且车身大且长,周围监控难度大;谷歌、创业公司图森和智加科技在这种场景的自动驾驶研发有布局。

高速路交通拥挤堵塞巡航(HTJAP):L3级,好处是速度慢,缺点是交通拥挤,要预防有极端情况(corner case);奥迪A8实现了这种功能,特意安装了5个4线激光雷达Scala。

高速路巡航(HAP):特斯拉Autopilot,L2.5级,高速公路上提供自动跟车和车道保持,难点是报警时间不足,但是相对封闭的环境容易处理,目前正在扩展到街道,并加入红绿灯检测识别的能力;

城市路交通堵塞自动巡航(UTJAP):属于L4,目前没有市场上的产品,只有研发测试,比如Cruise在旧金山,Argo在迈阿密;

无人出租车(等同于城市自动巡航Urban Driving):L4级别,只有试运营的,比如谷歌在凤凰城的Waymo One。