Tesla AI Day决策规划部分解析


作者 |  果然东
来源 |  知乎


功能升级:高速路-> 城市道路
特斯 拉之前释放的规划算法都是Highway的场景,道路环境更加简单,而本次AI DAY介绍的则是FSD相关的规划,场景拓展到了城市、乡村道路等更加复杂的场景。

优化目标:安全-舒适-效率
安全:不碰撞;
舒适:加速度在一定范围内,加加速度(jerk)尽量小;
效率:通行时间尽量短。

Tesla AI Day决策规划部分解析的图1

规划任务难点
1. 空间非凸
空间非凸即意味着如果采用牛顿梯度下降等迭代数值求解,大概率限于局部最优解而无法搜索到全局最优解。

2. 参数高维
参数维度过高意味着搜索使用搜索求解到最优会非常耗时,例如如果一个维度采样100个点,2个维度有100的2次方即1万个组合需要搜索,而如果3个维度就有100万个组合需要搜索遍历,会造成算力消耗过大,计算实时性也难以保证,而规划控制对实时性要求极高。

Tesla AI Day决策规划部分解析的图2

结构化道路:技术方案
使用传统学院派常用的路线:coarse to fine(粗糙到精细)的分步优化。

首先使用搜索的方法搜到最优解所在的凸走廊(空间),然后在凸的问题空间内使用最优化方法求出最优解。

这就好像我们先查阅地图搜索到了喜马拉雅山有最高峰的潜力,然后在喜马拉雅山不断努力攀登达到最高峰,而不是上来就一味低头向上爬,最后爬到山顶才发现原来爬的是上海的佘山。

这样的分布优化求解的思想也适合日常的研发管理,凸空间类似当前已有的方案,我们需要refine方案,但是首先要确保的是当前的方案有较好的优化潜力,确保在此凸空间最优解被求解出来时方案依然在大市场环境下有着不错的竞争力,否则花费大量时间停留在已有落后方案上优化,工作起来可能看似和谐舒适,但在激烈的竞争环境中却实际上不断地浪费时间、错失机遇。而在如何决定我们应该在哪个凸空间的方案上优化前进,哪个凸空间更有潜力且优化起来更有效率?这就是专家的价值。

Tesla AI Day决策规划部分解析的图3

这里特斯拉针对换道任务的规划举了个栗子:

图A是一开始搜索的一个解,其换道动作相对激烈,会造成不舒适感(满足硬约束,但非最优);

图B是另一个搜索的解,其可能错过导航的换道时机,不满足硬约束条件。

图C右侧是搜索的过程,左侧是最后搜索到的粗糙解,并在此基础上进行最优化平衡安全-舒适-效率。

Tesla AI Day决策规划部分解析的图4
图A:换道轨迹过于激烈,舒适度差

Tesla AI Day决策规划部分解析的图5
图B:换道时机过晚,错过导航左转

Tesla AI Day决策规划部分解析的图6
图C:左侧搜索结果,右侧搜索过程

讨论:这里的例子其实不是很详尽、对应,因为没有显著阐述第一步搜索出来的是一个凸走廊,而是类似于apollo方案中的EM planner,搜索出来一条粗糙的轨迹。后文左转的case里面则体现了凸走廊这一个步骤。

周边车辆规划(预测-博弈-决策)
前文的coarse to fine的思路与当前科技公司主流技术方案基本一致,而为周边车辆规划则“可能”是特斯拉规划算法的一大特色。

之所以说“可能”,是因为特斯拉没有阐述算法细节。特斯拉的描述是为其它车辆规划,本质上当前业界自动驾驶技术体系内的预测就是其它车辆的规划,因此究竟是和业界主流的预测算法一样,还是将自车的规划算法打包应用在周边车辆上,仍然不清楚,我觉得前者的概率更大,因为后者思路玩起来难度实在太大,对整体算法即代码的效率、算力的要求、感知模块的精度都有很强的要求。

我个人判断,有2种可能: 1)特斯拉大概率是提取了一套粗糙简化的决策规划算法应用于环境车辆,以此完成博弈;2)预测多条轨迹,基于车速、环境等辅助信息,判断各条轨迹的选择概率。

下面有2个具体案例。

案例1:
图A:开始自车在一个窄过道上行驶,因为这里是没有车道线的非结构化道路,因此使用的应该是open space的一套规划算法规划出自车轨迹。

图B:这时检测到了前方来车,因此自车有一个减速的规划,轨迹前方设定了一个停止点。

图C:这时决策算法发现在狭路相逢时,自车右边停满了车,没有空间让车(pull over and yield),而对方却有让度空间,因此判断对方会让自己,于是恢复继续前行的规划。

Tesla AI Day决策规划部分解析的图7

案例2:
图A:又发现一辆来车,因此进行减速停车的规划;

图B:如之前所述,为前车“规划“了(即预测前车)2条可能的轨迹,由于当前前车速度较快,结合车辆姿态,判断红色轨迹概率更大,因此自车选择减速靠边避让;

图C:或许是自车向右避让的幅度不大,对方车辆做出了避让的动作,因此这时判断对向来车选择绿色轨迹,因此自车继续规划向前行驶的轨迹。

Tesla AI Day决策规划部分解析的图8

最优化求解
如图A灰色区域,是一个凸走廊,即优化问题的硬约束;图B则是优化迭代求解的初值;图C是优化结果及过程(时间、碰撞风险、加速度、加加速度随时间变化)。

Tesla AI Day决策规划部分解析的图9

Tesla AI Day决策规划部分解析的图10

从这一步释放的材料中可以大致判断,特斯拉的优化求解并不像apollo一样分步骤优化(先优化求得路径,再基于路径优化路径上速度点,这样算力消耗更低,但可能次优),而是一同完成的优化。

代客泊车:基于神经网络启发式函数的Hybrid

A*
A*类算法中,启发式函数设计的合理性直接决定整个问题求解的效率。

特斯拉这里比较了3种启发式函数的效果;

欧氏距离启发式函数:搜索398320步。通常产品方案都不会使用这个,仅作为baseline;

导航启发式函数:搜索22224步,提升了10余倍,成熟方案常用的思路,但遇到导航路径上有锥桶等障碍物时,搜索效率非常低;

传统手动设计的启发式函数局限性大,难以适应不同变化的场景,并且每一步的启发是基于当前看到的局部环境而非全局考虑,调试起来无聊(tedious),于是特斯拉使用了神经网络。

神经网络启发式函数:搜索228步,相对baseline提升1000余倍,相对导航启发式函数提升了100倍;特斯拉特别强调这里还没有结合导航启发式函数,因为神经网络是看整个空间,其中已经包含了导航信息。

Tesla AI Day决策规划部分解析的图11

特斯拉具体的做法是使用神经网络计算出各种候选轨迹的启发式函数的f值,并输入蒙特卡洛树,相比于传统的碰撞后再回退的迭代,蒙特卡洛树则考虑了人为接管、舒适性的情况提前回退,进一步优化了求解的质量。(这里具体的回退机制我也不是很清楚细节,如果有人更了解,欢迎评论)

Tesla AI Day决策规划部分解析的图12

架构总结
特斯拉规控整体架构会1)从感知端拿到周围环境Vector Space,2)以及利用感知的中间层特征,拿到迁移学习得到的轨迹分布输入。

Tesla AI Day决策规划部分解析的图13

思考
1. 环境目标预测算法(video module)从感知中间层提取intermediate features,本文的启发式轨迹也是利用了感知神经网络的中间层输出特征,可见特斯拉总体方案中对于神经网络中间层特征的重视程度,其好处有2点:1)共用了网络前端的部分,避免重复消耗计算资源,2)中间层特征更加丰富,相对于仅仅使用输出感知目标物结果(目标位置、速度等,噪声也相对较大),还有更丰富的环境信息,因此有更大的潜力。在听演讲过程中,我惊讶于特斯拉的预测、规划可以紧密地和感知合作完成耦合如此紧密方案的设计开发,这和组织的文化及架构都有很强的关系,如果组织部门墙严重,感知、预测、规划又切分明确,则非常难以推进这样的方案;

2. 高精度地图
业界一直讨论说特斯拉的自动驾驶方案多么牛,不用高精度地图可以完成FSD,从这次AI DAY释放的内容可以看出,其虽然没有用业界认为的那种精确测量的高精度地图,但实际感知算法中已经完成了众包构图的工作,有一个“中精度”地图,而规划中介绍的左转case明显也是有车道级“中精度”地图的支撑。这就是马斯克说的第一性原理,并不局限于“高精度”的概念争辩,而是从原理出发,找到可行最优的解决方案。BTW,这也许就是为啥FSD在我国迟迟不OTA的原因,理论上FSD在大陆推出一定要等本土化数据中心落地,确保众包构图的数据存储在本土不外流,否则国家信息安全法规可以直接将特斯拉扫地出门,而马斯克众生无法踏上这片热土。

默认 最新
当前暂无评论,小编等你评论哦!
点赞 评论 收藏
关注