一直没有看过赛车的比赛,直到春节陪小朋友看了一出贺岁片《飞驰人生3》,里面有大量的拉力赛比赛的场景。每辆车里是2个人,一个是车手,负责开车,一个是领航员,拿着预先编制的路书,负责引导车手开车。大概就是下面的画风:也就是说,在拉力赛这种极限的环境下,车手一个人的脑和眼已经不够用了,要深度融合2个人的大脑才能完成比赛。或者说,车手和领航员并不是两个独立工作的个体,而是一个分布式处理系统。我试着将经典的自动驾驶架构(感知、判断、决策、执行)套用在他们身上,于是就发现一套极高效率的信息加工链路:
1. 感知 (Perception):双传感器融合
拉力赛的感知层分为“瞬时环境感知”和“预见性环境感知”。
2. 判断 (Situation Assessment):语义化处理
感知到的原始数据(Raw Data)需要被转化为有意义的驾驶语义。
3. 决策 (Decision Making):分级规划
这是两人配合的核心,也是拉力赛最迷人的地方:决策权是交替触发的。
4. 执行 (Execution):闭环控制
在执行层面,车手是唯一的终端,但领航员充当了反馈环 (Feedback Loop)。
车手和领航员需要长期的训练来达到完美的默契,才能完成这种融合,这也正是拉力赛最大的魅力所在。即便如此,对于一些极端的现场突发事件也会处理失败,导致事故。事实上,2023年之前的自动驾驶,都是类似于拉力赛开车的模式,感知、判断、决策、执行,4个模块各司其职,但是遇到一些长尾场景,还是搞不定。这4个模块真正的耦合很难。直到2023/08/02马斯克宣布,删掉特斯拉之前30万行C++的程序,另起炉灶,改用端到端的算法。新的版本是2024年开始交付的FSD V12版本。之后的自动驾驶就突飞猛进,逐步进入实用阶段了。端到端的模型,无限接近车手的直觉,相当于针对复杂长尾场景的本能反应处理。马斯克能采用端到端的算法,有一个前提条件,就是不论车载的硬件还是后台负责训练的超算,在当时算力都有了极大的提升,使这种无限接近人类直觉的算法成为可能。类比来说就是,车队找到了一个超人,他可以向我们普通人在马路上用直觉开车的方式,在赛道上用直觉开车。端到端的方式来开车,还有一个商业上的好处,就是用户是否接受自动驾驶实际上是第一次试乘的前几分钟就决定了,靠的是自己的感觉,不是什么厂家宣传资料的参数表。端到端的方式无限接近普通人自己开车而不是拉力赛车手开的车,试乘之后很容易建立信任,降低了推广成本。自动驾驶走过了一个人开车、四个人开车再回到一个人开车的过程,对应的就是软件工程里耦合、解耦、再耦合的轮回。所以,我相信,现在离最后的普及推广确实就是到了最后的临门一脚。BTW:马斯克的推文都比较委婉,我的理解是今年2季度Cybercab的交付是板上钉钉的,年底的Optimus(Gen3)大概率不靠谱。