自动驾驶系统中的Planning and Controlling模块介绍

电子说

1.2w人已加入

描述

普遍来说,在自动驾驶系统的整个链条中,感知子系统的曝光度通常会比其他子系统更高一些。这里的原因很多,比如Tesla主动挑起的纯视觉传感器路线之争,再比如日进千里的激光雷达上车工程进度,再比如AI在计算机视觉领域取得的一个又一个伟大的技术进展,再比如技术表达能力超强的Andrew Karpathy的个人魅力……相比较之下,自动驾驶系统中的规划和控制子系统——Planning and Controlling模块则相对默默无闻。小编想,这里面很多原因,不一而足。

从规划系统Planning来说,传统的机器人领域中成熟的路径搜索方案并不适用于真正的乘用车(高速高安全)自动驾驶领域。不论从安全性还是实时性来看,距离可广泛推广的商用系统性能还差距遥远。尤其在感知系统的整体水平迈向新台阶的当前阶段,规划和控制系统如果还是停留在传统机器人系统的技术水准,端到端的整体上就略显失调了。

从另一个角度看,AI到底以何种方式可以解决当前主要的自动驾驶规划问题,从而达到类似于感知系统那个级别的AI化,还没有技术定论或者一个普遍被接受的技术方案:比如Waymo的ChauffeurNet采用BehaviorCloning模仿学习,起点上就有其先天的不足,能否克服长尾问题而实现批量部署还有待观察;再比如强化学习Reinforcement Learning虽然在技术原理上先天适合部署在自动驾驶场景,但具体是个什么模式还有不小的争议。

配套的仿真系统是否足够好地模拟现实,高价值的训练数据如何获取,这都是阻挠RL在自动驾驶领域落地的主要绊脚石。相对规划系统来说,倒是单纯的控制系统所面临的问题较少。默默无闻主要是因为车辆动力学发展历史悠久,人类已经积累了对于车辆实体进行控制的足够理论和经验。

故从本期开始,在这个大的主题下我们将不定期地介绍和讨论各个主流玩家在规划和控制系统上的技术现状和进展,力图将我们的视线从感知系统扩展到规控系统。这种从头至尾的端到端地技术观察,会给我们带来更丰富的知识体验和更全面的系统级理解。

当然,在本系列中我们会依然保留车右智能在公众号文章中的一贯准则:内容上不会大段堆砌论文而太过沉重,但技术实现思路上必须清晰和连贯。希望读者能跟得上和跟得紧,有问题请在后台和小编畅所欲言。

想想还是从Tesla开始吧!后续我们根据读者的反馈和热度,再决定涉及哪些其它主流的自动驾驶厂家。

Tesla在规控模块上的线索

2021年Tesla AI Day上Karpathy的演讲受到很多追捧,尤其Transformer第一次被介绍用于BEV视觉矢量场信息的复现。自那之后的相关复盘和分析文章简直汗牛充栋了。但相对来说,Ashok主持的Planning and Controlling部分受到的关注就少多了(小编:有句刚句,Ashok一个是表达能力有限,另一个是印度英语确实太难懂了)。我们写了这么多关于Tesla的技术分析文章,也基本没有涉及过Planning & Controlling部分,算是一直以来的一块空白拼图了。

历史上,我们也几乎没有看到过Tesla主动站出来介绍自己在Planning and Controlling上的技术进展,只是有一些不严肃的只言片语,一带而过而已。但其实我们每个人都明白,P&C规控部分的重要性不言而喻。所以今天我们就从Tesla主持这一块研发的Ashok入手,开始今天的话题……

Ashok是谁

按照Elon Musk的公开说法,Ashok Elluswamy是Tesla开始筹备Autopilot团队以来所招募的第一位员工,可谓资深(小编:Elon Musk在一次播客的直播采访中,特意纠正访问人的问题,强调说Ashok的贡献并不比Karpathy小)。在AI Day的自我介绍上,Ashok说他是“1 Planning and controlling team、2 Auto-labeling team以及3 Simulation platform(Dojo)的技术负责人。”这应该是基本涵盖了除Karpathy的identification team和Milan的Hardware team以外,Tesla自动驾驶部门全部的技术力量了。

从技术角度看,因为非常紧密的技术耦合关系,这几块技术细分板块也确实适合归到一个部门来统一领导。读者可以这么理解Ashok的工作范围:通过auto labeling将合格的视觉数据(特征数据)完成有效标注之后,可以用于Planning(含预测)和Controlling模块的能力训练和建立。

在能力建立之中和建立完毕之后,利用simulation平台可以提供测试和验收。这个过程属于我们在历史文章中多次强调过的Tesla的Data Engine循环中的一部分,Tesla正是通过这个完备的Data Engine循环,来同时铸造Autopilot的感知和规控模块能力的。

因为Ashok的个人曝光度很低,在2021年度的AI Day之后,Elon Musk特意通过微博回答了一些读者对印度小哥Ashok技术背景信息的提问。如上图2的推文中写道:“Tesla Autopilot技术核心负责人分别是Ashok、Andrej Karpathy和Milan(小编:Ashok的资历和贡献其实还排在Karpathy之前),他们归属部门之间的协调关系更类似于一种圆桌骑士般的平等和协作结构。”

自动驾驶的核心任务

注:从本章节开始的后续章节,专业术语较多,但串起这些专业术语的技术思路并不算复杂,需要读者耐心辨识和记忆每一个术语,以便更好理解。

自动驾驶系统的核心任务就是实现车辆自动抵达预定目标,同时需要满足同时最大化以下三个目标:

视觉传感器

图三【control and planning-4.png】来自Tesla 2021 AI Day演讲视频截图,取自URL:https://www.youtube.com/watch?v=j0z4FweCy4M&t=4380s;

可能有些老生常谈,但未必每个读者都能真正意识到以上三目标之间的真正关联。安全性Safety——舒适性Comfort——效能Efficiency,三者之间两两相关紧密耦合,但同时达到三者各自的最大值是不现实的,例如:当在无法预测的突发状态下,车辆会牺牲行车效能Efficiency和驾乘舒适性Comfort,而采取高能耗、且剧烈的规避动作。在确保乘客人身安全的前提下,会同时牺牲乘客舒适体验和车辆的行驶效率。相仿地,从舒适性和效能出发,我们也可以得到类似极端场景的结论。因此最大化自动驾驶三要素价值的核心,是需要系统在保障行车安全性的前提下,在三者之间寻求妥协和折中之后的整体价值最大化。

商业版本的Autopilot在目前技术状态下可实现标准的Level-2自动驾驶功能,依赖导航系统的Route Path Planning输出结果,甚至可以在结构化良好的高速公路场景上,相对于L2更进一步实现相当自动化的道路行驶、自动化变道和出入高速公路的上下匝道口。

已经较好地在封闭道路环境下,统一了Safety——Comfort——Efficiency三者之间的关系。但对于更普及和关键的City road社区道路场景下,自动驾驶的规划和控制模块能力,还有相当的欠缺。这里尤其突出的核心问题就是,对于Planning规划模块来说,其所面临的道路行驶场景的复杂程度是大大地增加了。

Tesla如何处理规划Planning中的关键问题

对于自动驾驶系统的核心能力——Planning规划功能模块,其本质是要在复杂的、高时变性的外部环境下,寻找出“自车ego”——自动驾驶车辆的可行驶轨迹,且具备(小编:应该是绝对的必备!)上一章节中我们提到的安全性(实时性)、舒适性和高效能(合理性)。Tesla认为这种轨迹规划能力和对应的车辆控制能力,可以等效理解为一种需要实时解决的映射问题:即从反应外部世界真实状态的状态空间S,到决定自车轨迹的动作空间A之间的映射能力。这种能力可以保证自车ego系统对于外部瞬息万变的道路环境及时响应,寻找出最佳的运动轨迹——Trajectory,从而形成对于车辆控制的明确输入。

:我们在文中可能会多次使用路径——Path、轨迹——Trajectory的概念,基本上我们认为它们是等效的,都是区别于长距导航路径——Navigation Route的实时概念。车辆控制系统将会根据规划模块的Path or Trajectory输出,形成具体的方向、油门和刹车指令,来完成对于车辆的控制。

Ashok在AI Day上谈及Trajectory Planning功能的问题时谈到,从外部环境的状态空间S到车辆运动的动作空间A的映射,涉及的问题主要是:第一,动作空间的输出往往是个非凸问题-Non-Convex,即存在多个可行的解(小编:在我们的问题里对应可行的轨迹选择可能不止一条),因此在数学上,你很难确定哪个“最小解”才是全局最优的最佳轨迹选择;第二,动作空间的输出轨迹,在时间尺度和控制参数尺度上看,都具备比较沉重的多维输出性质。具体讲,需要覆盖长达10-15秒内,轨迹上的每一个轨迹点的位置、速度、加速度和加加速度(Jerk)参数的求解。毫无疑问这是一个需要实时计算、和高频率迭代更新的密集计算工作量。

因此,一个合理的、混合型的Planning规划解决方案,在Ashok看来,是必须的。

视觉传感器

图四【control and planning-5.png】来自Tesla 2021 AI Day演讲视频截图和后期加工,取自URL:https://www.youtube.com/watch?v=j0z4FweCy4M&t=4380s;

上图4绘制出从左侧感知系统输出,到最右侧车辆控制系统输入之间的规划Planning流程。它是一个在结构上分步骤、功能上混合搭配的规划流程。

Coarse Search阶段,负责将感知系统提供的环境矢量空间数据,从一个非凸问题转换为凸问题(小编:读者可以将凸问题理解为界定一个有唯一最优解存在的问题边界)。所采用的具体的离散化搜索方案,可以确保规划系统在大范围内快速将问题简化为凸问题,构造出所谓的Convex Corridor;后续的Continuous Optimization阶段中,则采取完全相反的连续路径优化计算(对应于阶段一中的离散方法),利用成熟的梯度Gradient方法,在Convex Corridor内快速计算出最优的行驶轨迹,并最终交付给车辆控制系统。(小编:从现有市场资料看,我们似乎还不能确定规控模块的输出是轨迹点,还是直接的油门、刹车和方向控制数据,真正的端到端系统应该是直接的控制数据输出,而非中间状态的Trajectory轨迹点数据。)

基本上,在阶段一,通过离散方法保障快速覆盖整体路径搜索空间;在阶段二,通过连续优化方法以低计算成本寻找最优路径。这是一个很合理的前后呼应,互相弥补的Hybrid混合路径规划方案,成功地规避了离散方法和连续方法各自的不足。Ashok随后举例一个比较常规的实际规划场景——自主换道左转,来证实这个Hybrid Planning方案的可行性和性能优势。

换道左转场景下Hybrid Planning的表现

以下图5中显示了一个高度结构化的换道+左转场景。构成这个结构化场景的两个要素,一个是导航结果输出,蓝色宽线条显示。它在地理大尺度上表征自动驾驶车辆的未来路径/Path,哪个路口直行通过,哪个路口需要执行转弯操作,都在Path级别上有完整定义;另一个是道路结构化信息的确立,车道数、车道左右转属性、车道最高限速、车道在路口和红绿灯的对应关系……等等。

这些信息一部分来自于车载地图(小编:对于Tesla的Autopilot来说,这并非属于严格意义上的HDmap),另一部分来自于主车的视觉识别系统,这一部分的优先级和确定语义权重往往更高,即当视觉识别系统输出和车载地图不符合时,以视觉识别系统输出为准。

视觉传感器

图五【control and planning-6.png】来自Tesla 2021 AI Day演讲视频截图和后期加工,取自URL:https://www.youtube.com/watch?v=j0z4FweCy4M&t=4380s;

Tesla的Hybrid Planning规划方案需要解决图5中的场景,在满足安全性——舒适性——效能综合最大化的前提下,完成换道和左转操作。严格讲,这是一个不“显式/explicit”考虑道路其他参与目标(小编:比如左右侧车道的其它车辆)状态的、过于理想的Path planning能力展示。

参考下图我们做进一步解释:

视觉传感器

图六【control and planning-7.png】来自Tesla 2021 AI Day演讲视频截图和后期加工,取自URL:https://www.youtube.com/watch?v=j0z4FweCy4M&t=4380s;

图6中的主车ego一旦获取导航模块的route输出,和当前行驶路段的道路结构信息之后,即可以发起Path planning规划工作。回想图4当中的Hybrid planning混合规划方式的第一步——从Vector(和导航Route输出)中获取信息,然后在Coarse Search阶段中执行离散化的路径搜索策略,以快速覆盖所有路径选择的可能,并避免陷入局部最优路径选择的陷阱。

这种快速离散化路径搜索的起点和终点定义逻辑非常简单,可以参见上图6中右侧在距离(自车ego距离路口的实际距离)和速度(自车ego的运行速度)变化趋势:即自车ego先踩刹车再寻机变道、还是自车ego先加速再选择变道时机。

在两种极限操作所塑造的车辆运动轨迹空间以内(小编:上图6中的两个扇形区域内),自动驾驶系统需要最终根据安全——效能——舒适度三要素综合最大化的原则,来最终确定选取哪一条路径最合时宜。读到这里读者还是需要关注的两个小重点:

1 离散化的路径生成和搜索方法并不复杂,在当前的计算硬件上可以实现非常高的计算效率。如果以这个换道+左转场景为例,它可以在1.5ms内生成2500条可行的可选路径;

2 这仅仅是Hybrid planning规划算法的第一步,只是在较大的地理尺度上挑选并确定了候选路径,或者说是一条Convex Corridor(小编:克服了非凸问题的凸走廊),这个路径在后续并非一成不变,而只是一个基准的参考路径。为后续的Continuous Optimization连续优化埋下伏笔。

这里一定会有读者提问,这种Planning规划的阶段输出,只考虑固定的道路结构和导航输出Route所产生的恒定的操作空间(比如左转右转直行),而没有考虑道路上其它资源使用者的动态信息,这是否可行?其实这就是Ashok没有表达出来的含义,这种Planning规划模块的工作模式都是迭代的,迭代周期非常短(小编:可能在ms或者百ms级别),它在每一个规划任务要求的时间间隔上都会重新进行路径规划Coarse Search计算,并产生输出。

理想如高速公路直行行驶时,这种迭代结果趋同,我们从规划结果上就很难看出这种迭代效果;对比如果在路口、或者复杂干扰物存在的道路环境下,路径规划模块就会在统计上体现出快速的迭代效果,极端情况下就是我们经常能看到的路径输出“剧烈摆动”效应

当车辆直行且道路环境单纯,动态合作目标的数量很少的时间段内,自车ego的规划模块输出将长时间保持恒定。以Tesla的FSD展示来看,其车载中控屏幕上的蓝色线段即为指定时间窗内的路径规划输出,长时间保持恒定。

图8视频片段中,当车辆执行右转操作,发现路口环境被临时阻挡、且有动态的行人目标参与时,自车ego的路径规划模块在每一个时间间隔内都会随着车辆运动而不断刷新规划结果。结果在Hybrid Planning的第一阶段,就不断更改所谓的最佳路径搜索结果,每一个时间间隔都会重新计算并得到更新的Convex Corridor。这样所造成的视觉效果即“剧烈抖动”。

由彼及此,读者需要认真思考,类似这种Hybrid Planning在复杂的交通场景下,可用性到底有多高呢?如果图6中的场景中,相邻车道存在大量高速和密集的其他车辆,同样会造成Hybrid Planning第一阶段Coarse Search的搜索结果巨幅跳动,迟迟给不出可以执行的Convex Corridor结果,也就无法进入第二阶段的Continuous Optimization。

实际上在互联网上大量存在的FSD beta测试视频中,确实有不少关于Tesla FSD beta因为错误的行驶车道选择,而最终在路口区域错过左转或者右转机会的。所以Tesla显然还有技术后手,这就是所谓的“联合预测”。

针对多道路参与者的联合预测和规划

预测模块Prediction module是规划和控制行为发生的前提,尤其在相对复杂的道路环境下。预测功能出现在每一个自动驾驶系统提供商的技术框图之中,不可或缺,但表现形式各不相同。比如Cruise所能提供的复杂而全面的预测体系,包括对道路参与目标的各种类别的行为预测都有具体定义和实现;再比如Waymo的预测,使其关键的ChauffeurNet模仿学习驾驶网络(小编:等同于规控模块)可以工作在一个很高的可靠性水准之上。

只有充分的和准确的预测系统,才可以让ChauffeurNet将从人类驾驶员这里模仿而来的技能发挥到最好水平;还有就是本文的焦点——Tesla FSD系统的预测模块能力,是建立在感知模块对于时间上不连续和视线遮挡条件下的各种道路参与者强大的感知能力基础之上的(小编:这部分由Karpathy负责)。

“Need to plan for ourselves & everyone else Jointly”,图9给出Tesla的预测能力体现为一种对于自车ego和它车的联合运动规划和预测(小编:不难理解,对于自车ego是规划plan,对于它车是预测prediction)。对于联合规划和预测,Ashok给出的样本场景如下图:

视觉传感器

图十【control and planning-11.png】来自Tesla 2021 AI Day演讲视频截图和后期加工,取自URL:https://www.youtube.com/watch?v=j0z4FweCy4M&t=4380s;

图10显示,自车ego的规控输出,是基于对于道路参与目标的预测行为而联合计算得出。在来车方向上,如果感知系统给出对向来车明显表现出高置信度的某种行为预测结论——道路狭窄部抢行企图,则自车ego需要据此预测结果来给出对应的规划结果——上图为自车ego停车让行。

这种看着非常类似人类司机的行为,可谓相当智能。但实际上这在当下的自动驾驶产业界是一种主流规控实现方式,原理上并没有什么特立独行之处。Tesla的优势在于,由于市场保有车队数量庞大,所以Tesla确实有机会获取更大量的外界数据实例。只要“影子模式”的触发点足够细腻和准确、数据标注手段足够丰富和准确,Tesla获取到比竞争对手更多的实际人类驾驶意图的机会更大更多也很正常(小编:但是目前我们尚未感受到FSD beta展现出更高的行驶能力,这也是事实)。

路径规划中的博弈现象

前述Tesla强调的Jointly Planning联合规划,如果再往高级的形式演化,就是人类独有的“博弈行为”在道路驾驶策略上的一种智能体现。以上图11的视频中,就是对应图10当中3D形式表现的联合规划场景实景。我们可以从视频中感受到,FSD beta的自车ego通过“博弈”胜了第一辆对向车辆,迫使对方率先选择让路/Yield行为;但自车ego也主动选择避让了第二辆车辆(小编:主动避让也可以看作博弈的胜利,避让行为并不是关键,主动选择才是关键行为)……当ego的感知系统收到第二辆车的人类司机明确的让行意图之后,再次起步。

去年夏天,华为极狐曾在上海车展前期有几段上海金桥地区的自动驾驶demo视频流出。小编记得极狐可以做到在通过十字路口无保护左转时,做出类似人类的压线动作——左转车辆会选择缓慢切入并挤占对向直行车辆的正常行驶直线,从而尽快获取快速通过的机会。这也是人类经常采用的一种博弈行为,可以说是交通繁忙地段的约定俗成。当然,我们并不知道华为的自动驾驶系统路径规划方案在这种“博弈”现象的背后的实现机制和训练机制(小编:如果是模仿学习的结果,类似waymo的chauffeurNet,则不足为奇)。

暂时的段落

好!截至目前,我们已经研究了Hybrid Planning方法在第一阶段——Coarse Search和联合规划和预测方面的技术细节,FSD在这个阶段可以给出Convex Corridor路径选择(范围)了,这是个基础中的基础。并且FSD可以在标准道路和相对复杂的路况下利用预测能力自如规划了…….但是,人类世界的路况永远是复杂的、多样的,我们不可能假设所有人都遵循规则,且交通永远井井有条如“预测”般发展。所以在后面章节我们会介绍Tesla是如何针对复杂交通环境,进一步给出解决方法的。







审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分