BEVGPT展示自动驾驶的“全知视角”,预测决策规划三合一的革新之作!

前言

本篇文章由原paper一作Pengqin Wang(王鹏钦)全权翻译分享,王鹏钦为香港科技大学博士生,师从沈劭劼教授、朱美新教授。他的研究方向为自动驾驶和机器人系统中的决策、预测和规划。他的研究成果发表于TMECH、RAL、IROS、TRB等一系列机器人和自动驾驶顶刊顶会。

1. BEVGPT开发背景

预测、决策和运动规划对于自动驾驶至关重要。在大多数传统算法架构中,它们被视为单独的模块或组合成具有共享主干但独立任务头的多任务学习范例。然而,我们认为理想的算法是将它们整合到一个综合框架中,且这种整合过程不应受到复杂的输入表示(即输入解耦)和冗余框架设计的困扰。为了解决上述问题,我们重新思考了自动驾驶任务中各个模块的必要性,并将所需的模块纳入到极简的自动驾驶框架中。我们提出了BEVGPT,一种新的集成驾驶场景预测、决策和运动规划的生成式预训练模型。该模型以鸟瞰图像(BEV)作为唯一输入源,并根据周围的交通场景做出驾驶决策。最后通过基于优化的运动规划方法来保证驾驶轨迹的可行性和平滑性。

2. BEVGPT整体框架

在这里插入图片描述
图1|BEVGPT整体框架©️【深蓝AI】

如图所示,BEVGPT采用两阶段训练过程。首先,我们使用大量自动驾驶数据来训练生成式大模型。随后,使用自动驾驶仿真模拟器通过在线学习对模型进行微调。具体来说,预训练阶段的目标是学习驾驶场景预测和决策,即自动驾驶任务中的BEV生成和自车轨迹预测。该模型能够输出未来4秒内的决策轨迹,并在长达6秒内预测未来驾驶场景。接下来是在线微调阶段,通过在线学习的方式实现模型微调,从而保证符合动力学的运动规划和更为精确的BEV预测。在微调阶段,运动规划器被设计为自动驾驶车辆生成平滑且可行的轨迹。

2.1 框架设计

我们从人类驾驶员的角度重新评估每个模块的必要性,以设计自动驾驶系统框架。首先,人类驾驶员对环境地图有先验的知识,比如在使用导航软件时,每条道路的结构和路口位置都比较明显。其次,人类驾驶员并不会显示地追踪周围的其他车辆,并预测它们的未来轨迹。相反,他们更关注的是预测的自车轨迹是否会被其他车辆所占据。然后,他们会做出相应地驾驶决策。基于上述思考,我们设计了一个极简的自动驾驶框架,即包括决策,运动规划和驾驶场景预测,而把目标跟踪以及他车运动预测模块去掉了。在该框架中,决策输出的是自车未来T=4秒内的位置,在motion planner进一步处理后生成一个符合动力学和平滑的轨迹。考虑到静态环境信息可以从高清地图轻松获取,我们更加关注包括车辆和行人在内的动态物体的精确预测。驾驶场景预测通过环境地图和动态物体预测的组合获得,如下图所示。

在这里插入图片描述
图2|驾驶场景预测©️【深蓝AI】

2.2 轨迹表示

我们采用分段多项式轨迹来表示我们的微分平坦输出,即 p x p_x px p y p_y py。为了在后续的motion planning模块中minimum Jerk,我们选择五次多项式表示。假设轨迹总共由 M M M段组成。在这种情况下,便可以表示为下面的多项式:

f n ( t ) = ∑ k = 0 5 f n , k t k , t ∈ [ T n , T n + 1 ] f_n(t) = \sum_{k=0}^{5} f_{n,k} t^k, t \in [T_{n}, T_{n+1}] fn(t)=k=05fn,ktk,t[Tn,Tn+1]

这里的 n n n表示轨迹的段数,每段具有相同的时间间隔 Δ t \Delta t Δt

2.3 运动规划

在我们的轨迹规划问题中,自车的初始状态和末状态已知。同时,决策模块的输出应当被包含在未来的轨迹中。另外,分段多项式轨迹的连续性也需要得到保证。因此,我们的运动规划问题被表达为了如下的minimum Jerk问题:

min ⁡   J ( f ( t ) ) , s . t .   f 0 ( 0 ) = p 0 ,   f ˙ 0 ( 0 ) = p ˙ 0 ,   f M − 1 ( T M ) = p M ,   f ˙ M − 1 ( T M ) = p ˙ M ,   f n ( T n ) = p ( T n ) ,   f n − 1 ( T n ) = f n ( T n ) ,   f ˙ n − 1 ( T n ) = f ˙ n ( T n ) ,   f ¨ n − 1 ( T n ) = f ¨ n ( T n ) ,   ∥ f ˙ n ( T n ) ∥ ≤ v m a x ,   ∥ f ¨ n ( T n ) ∥ ≤ a m a x ,   n ∈ { 1 , 2 , . . . , M − 1 } \begin{aligned} & \min ~ J(f(t)), \\ s.t. ~ & f_{0}(0)= \mathbf {p_0}, ~ \dot{f}_{0}(0) = \mathbf {\dot{p}_0}, \\ ~ & f_{M-1}(T_M)= \mathbf {p_M}, ~ \dot{f}_{M-1}(T_M) = \mathbf {\dot{p}_M}, \\ ~ & f_n(T_{n}) = p(T_{n}), ~ f_{n-1}(T_n)=f_{n}(T_n), \\ ~ & \dot{f}_{n-1}(T_n) = \dot{f}_{n}(T_n), ~ \ddot{f}_{n-1}(T_n) = \ddot{f}_{n}(T_n), \\ ~ & \left \|\dot{f}_{n}(T_n)\right \| \leq \mathbf {v_{max}}, ~ \left \|\ddot{f}_{n}(T_n)\right \| \leq \mathbf {a_{max}}, \\ ~ & n \in \{1, 2, ..., M - 1\} \end{aligned} s.t.      min J(f(t)),

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值