自动驾驶决策的困境:为何需要交互感知?
为什么?因为人类司机的行为不是一成不变的。你让AV“自以为”要直行,结果旁边的人类司机看你减速,以为你要让他,他反而加速抢道……这就尴尬了。AV的决策和人类司机的反应是深度融合、互相影响的,简单解耦根本行不通。所以,一个能“交互感知”的决策框架就显得尤为重要了。
具体来说,传统方法通常采用“预测-规划”两阶段范式:先利用运动预测模型(如恒速模型、社会力模型或基于学习的轨迹预测)估计其他交通参与者的未来轨迹,然后在此基础上为自车规划一条无碰撞路径。然而,这种解耦方式存在一个根本性缺陷——它假设其他车辆的行为不受自车决策的影响。在真实驾驶中,人类司机会根据AV的刹车灯、转向灯和车速变化实时调整自己的意图,这种双向影响在无信号灯路口、匝道合流等场景中尤为显著。例如,当AV在路口减速准备左转时,对向直行的人类司机可能解读为“AV在让我先行”,从而加速通过;反之,如果AV保持速度,人类司机则可能减速等待。这种“我预判了你的预判”的循环,正是传统方法难以处理的交互困境。
为了更直观地理解,我们可以考虑一个典型的无信号灯T型路口场景:AV从支路左转汇入主路,主路上有连续的人类驾驶车辆。如果AV采用传统的独立规划方法,它可能会在路口等待一个足够大的间隙再汇入,但这种“保守”策略在交通流密集时会导致漫长的等待,甚至引发后车鸣笛催促。而人类司机在类似场景中,往往会通过缓慢前移、与主路车辆进行眼神或速度上的“协商”,找到一种双方都能接受的汇入时机。这种微妙的协调过程,本质上就是一个博弈——双方都在不断调整自己的策略,直到达成一个互利的平衡点。因此,要让AV在混合交通中表现得像“老司机”一样自然、高效,就必须将这种交互博弈显式地纳入决策模型。
博弈论登场:广义纳什均衡建模交互
传统的纳什均衡是说:在一个博弈中,每个玩家都选定了自己的策略,如果没有任何一个玩家能够通过单方面改变自己的策略而获得更好的收益,那么当前这组策略就构成了一个纳什均衡。注意,传统纳什均衡里,玩家的策略往往是独立的——你选你的,我选我的,互不影响,只是目标函数互相依赖。
但在驾驶场景里,这远远不够。因为,AV和人类司机共享同一条路,受相同的交通规则、安全距离和道路几何形状约束。这意味着,AV能不能执行某个“左转策略”,完全取决于人类司机的“直行策略”到底在哪。换句话说,AV的可行策略集本身依赖于对手的策略。这就是广义纳什均衡的核心理念。
本文的方法用一个共享的不等式约束集合来刻画这种耦合:
这个公式看起来简单,但背后的含义可不得了。简单来说,无论是碰撞避免、道路边界还是车辆动态限制,所有约束条件都同时包含了两辆车的策略变量s_v和s_o。这强迫AV的规划器在考虑自身行动时,必须把对手的潜在反应直接当作一个耦合约束来处理。
那么,一个策略组合(s_v*, s_o*)怎么样才算找到了广义纳什均衡呢?直观理解就是:在考虑对方策略不变的情况下,我自己的最优策略已经被选定了;同时,这个最优策略也满足两人共同的约束条件。这相当于要求每个玩家,在考虑对手及共享约束的前提下,都无法通过单方面改变自己的策略来得到更低(更好)的成本。
为了更深入地理解GNEP的数学结构,我们需要明确每个玩家的优化问题。对于自车(玩家v)而言,给定对手策略s_o,它需要求解以下优化问题:
min_{s_v} J_v(s_v, s_o) subject to s_v ∈ S_v(s_o)
其中J_v是自车的成本函数,通常包含行驶效率(如时间、能耗)、舒适性(如加速度、急动度)和安全性(如与障碍物的距离)等多项指标。S_v(s_o)是自车的可行策略集,它依赖于对手策略s_o,这正是GNEP区别于传统纳什均衡的关键——耦合不仅体现在目标函数中,更体现在约束条件中。例如,如果对手车辆占据了冲突区域,那么自车就无法选择“立即左转”的策略,因为这会违反碰撞避免约束。这种约束耦合使得GNEP的解空间比传统纳什均衡更加复杂,但也更真实地反映了驾驶场景中的物理交互。
论文进一步将成本函数J_v和J_o具体化。对于自车,成本函数J_v(s_v, s_o)被设计为三项的加权和:第一项是轨迹偏差成本,惩罚自车偏离参考路径(如道路中心线)的程度;第二项是速度偏差成本,鼓励自车保持期望速度以提高通行效率;第三项是交互成本,衡量自车与对手车辆之间的冲突程度,例如两车同时进入冲突区域的风险。对手车辆的成本函数J_o(s_o, s_v)采用类似的结构,但参数可能不同,以反映人类司机与AV在驾驶风格上的差异。通过调整这些权重,框架可以模拟从“激进”到“保守”的多种驾驶风格,从而适应不同的人类司机行为。
为了实现这个目标,论文定义了“联合偏差度量”J(s_v, s_o)。它巧妙地量化了当前策略组合与纳什均衡之间的距离。J(s_v, s_o)由两部分组成:Δ_v 和 Δ_o,分别代表自车和对手车辆能够单方面获得的最佳成本改进。
其中Δ_v的计算方式是:在对手策略s_o固定的情况下,遍历自己所有可能的替代策略\bar{s}_v,看当前策略s_v能比最优替代策略“好多少”。如果Δ_v和Δ_o都接近0,说明双方都没有动力再改变策略了,此时策略组合就非常接近一个广义纳什均衡。
这里需要特别说明的是,Δ_v和Δ_o的定义中涉及到一个“上确界”(supremum)运算,即寻找所有可能替代策略中能使成本降低最多的那个。在数学上,这等价于求解一个单玩家的优化问题:给定对手策略,自车如何通过改变自身策略来最大化自身收益(最小化成本)。如果这个最大收益改进为0,说明当前策略已经是自车在给定对手策略下的最优反应。因此,联合偏差度量J(s_v, s_o)实际上衡量了当前策略组合偏离纳什均衡的程度——当J=0时,双方都处于最优反应状态,即达到了广义纳什均衡。
实时求解难题:粒子群优化(PSO)求解器设计
面对这种硬骨头,论文没有选择硬啃,而是换了个思路:用元启发式算法来求解。具体来说,就是用Particle Swarm Optimization(PSO,粒子群优化算法)。
PSO算法的思想很有趣:模拟鸟群觅食的行为。你在解空间里撒下一把“粒子”(每个粒子代表一个可能的策略组合),然后让这些粒子根据自身历史最佳位置和整个群体历史最佳位置,不断调整自己的速度和方向,最终收敛到全局最优解。
在这里,每个粒子X_p代表一个纳什均衡候选解,即一对策略组合(s_v, s_o)。
这个策略组合被进一步分解为两部分:用于描述几何路径的控制点参数 P,以及用于描述速度曲线的参数 V。
具体来说,车辆的轨迹由一组B样条曲线控制点来参数化。每个控制点包含位置坐标(x, y)和时间戳t,通过调整这些控制点的位置,可以生成从起点到终点的平滑路径。速度曲线则通过一组速度节点来参数化,每个节点对应轨迹上的一个关键点,指定该点的期望速度。这种参数化方式具有几个优点:首先,B样条曲线保证了轨迹的连续性和平滑性(至少C2连续),避免了急转弯或突变;其次,控制点和速度节点的数量可以灵活调整,以平衡表达能力和计算复杂度;最后,这种参数化自然地满足了车辆的运动学约束(如最大曲率、最大加速度),因为可以通过约束控制点的位置来间接约束轨迹的几何特性。
PSO算法的核心更新公式如下:对于每个粒子i,在第t+1次迭代中,其速度v_i(t+1)和位置x_i(t+1)按照以下规则更新:
v_i(t+1) = w * v_i(t) + c1 * r1 * (p_best_i - x_i(t)) + c2 * r2 * (g_best - x_i(t))
x_i(t+1) = x_i(t) + v_i(t+1)
其中,w是惯性权重,控制粒子保持当前运动趋势的程度;c1和c2是学习因子,分别控制粒子向个人历史最优和全局历史最优靠近的强度;r1和r2是[0,1]之间的随机数,引入随机性以增强探索能力。在本文的驾驶场景中,惯性权重w被设置为随时间线性递减(从0.9到0.4),这样在迭代初期粒子可以广泛探索解空间,而在后期则更专注于局部精细搜索。学习因子c1和c2均设为2.0,以平衡个体认知和社会认知的影响。
PSO在迭代过程中,会维护每个粒子的个人历史最优(p_best)和整个群体的全局最优(g_best)。每个粒子会参考这两个最优位置,通过一个更新公式来调整自己的下一步行动。
个人历史最优p_best_i记录了粒子i在迄今为止的迭代中,所找到的联合偏差度量J最小的策略组合。全局最优g_best则记录了整个粒子群中所有粒子找到的最佳策略组合。这种“个体记忆+群体共享”的机制,使得PSO既能保持个体的多样性(不同粒子探索不同区域),又能利用群体的集体智慧加速收敛。在驾驶场景中,这意味着不同的粒子可能探索不同的交互策略——有的粒子倾向于让行(减速等待),有的倾向于抢行(加速通过),而全局最优最终会收敛到双方都能接受的均衡策略。
为了把这个大问题掰开揉碎,论文还巧妙地做了一个近似。因为原始问题需要求上确界(supremum),计算量巨大。论文提出用随机采样后的最大化(max)来代替上确界,形成对原始偏差度量的一个低偏差估计子Ĵ。这大大简化了计算,也让演化算法能更高效地运行。最终的目标就是找到一个粒子,使得这个联合偏差度量Ĵ尽可能达到0。
具体来说,原始偏差度量J(s_v, s_o)中的上确界运算需要求解一个连续优化问题,这在计算上是不可行的。论文采用了一种蒙特卡洛近似方法:在对手策略s_o固定的情况下,随机采样N个替代策略{\bar{s}_v^1, \bar{s}_v^2, ..., \bar{s}_v^N},然后计算这些替代策略中能使成本降低最多的那个。当采样数量N足够大时,这个最大值会趋近于真实的上确界。在实验中,论文将N设置为100,在计算精度和效率之间取得了良好的平衡。这种近似使得每个粒子的适应度评估可以在毫秒级完成,从而支持PSO在50ms内完成数十次迭代。
实车测试验证:左转场景下的协调行为
实验平台的具体配置如下:自车Renault Zoé搭载了高精度GPS/IMU组合导航系统(定位精度厘米级)、前置激光雷达(探测范围100米)和多个摄像头,用于感知周围环境。车辆的底层控制接口允许通过CAN总线发送转向、油门和刹车指令。计算平台采用工业级工控机,搭载Intel Core i7处理器和16GB内存,运行Ubuntu系统。PSO求解器以C++实现,通过ROS(Robot Operating System)节点与感知、定位和控制模块进行通信。对手车辆由经验丰富的驾驶员操控,驾驶员被告知按照正常驾驶习惯通过路口,不进行任何特殊配合。
场景一:协同低速左转
为了更定量地分析这个场景,论文记录了自车和对手车辆的速度曲线和相对距离。在t=0到t=2s期间,两车都以约8m/s(约29km/h)的速度接近路口。在t=2.05s时,自车的GNEP求解器计算出,如果自车继续以当前速度行驶,将在t≈3.5s时与对手车辆同时到达冲突区域,此时联合偏差度量J约为0.15,远高于均衡阈值0.01。求解器进一步搜索发现,如果自车减速至2m/s等待,而对手保持速度通过,则J可以降至0.002以下,接近完美均衡。因此,自车执行了减速策略,在t=2.1s时开始制动,以约-1.5m/s²的减速度将车速降至2m/s,并保持这个速度巡航了约3.8秒。在t=5.95s对手车辆完全通过冲突区域后,自车重新加速至6m/s完成左转。整个过程中,两车的最小距离为3.2米,远高于安全阈值1.5米,且自车的最大加速度变化率(急动度)仅为0.8m/s³,保证了乘坐舒适性。
场景二:早期无干扰左转
具体数据如下:在t=0时,自车距离路口约40米,对手车辆距离路口约80米,且对手车辆的速度约为6m/s。自车的GNEP求解器在t=0.5s时完成首次计算,发现如果自车以当前速度(8m/s)继续行驶,将在t≈5s时到达冲突区域,而此时对手车辆距离冲突区域还有约50米,需要约8.3秒才能到达。这意味着自车有充足的时间完成左转而不会与对手车辆发生冲突。求解器计算出的联合偏差度量J仅为0.001,远低于均衡阈值,表明当前策略已经接近纳什均衡。因此,自车仅做了轻微的减速(从8m/s降至7m/s)以适配左转的曲率,然后在t=4.5s至t=7.2s期间完成左转。当自车在t=7.2s驶离冲突区域时,对手车辆距离路口还有约20米,两者之间没有产生任何交互压力。这个场景验证了框架在非冲突情况下的高效性——它不会因为过度谨慎而做出不必要的等待,而是能够准确识别出安全的通行时机。
性能分析:<50ms收敛与纳什均衡逼近
收敛曲线的横轴是迭代次数,纵轴是联合偏差度量J的对数值。从图中可以观察到三个关键特征:第一,快速下降阶段(第1-10次迭代):J值从初始的约10^1迅速下降到10^-2,下降了三个数量级,这表明PSO在早期就能快速定位到均衡解附近的区域;第二,精细搜索阶段(第10-30次迭代):J值从10^-2进一步下降到10^-4,下降速度放缓,但仍在持续改善,这对应于粒子在局部区域进行精细搜索;第三,收敛稳定阶段(第30次迭代以后):J值稳定在10^-4以下,且波动很小,说明粒子群已经收敛到全局最优解附近。值得注意的是,即使在收敛后,粒子的平均成本仍然略高于全局最优成本,这反映了PSO保持了一定的探索能力,有助于避免陷入局部最优。
表格中的“策略离散化网格”指的是自车和对手车辆各自的可选策略数量。例如,50×50表示自车有50种候选路径-速度组合,对手车辆也有50种,因此总共有2500种策略组合需要评估。随着网格尺寸增大,策略组合数量呈平方增长,但PSO的计算时间仅从12.3ms增加到48.5ms,这得益于PSO的群体智能特性——它不需要枚举所有组合,而是通过粒子在解空间中的智能搜索来快速定位最优解。此外,表格还显示,即使在最小的50×50网格下,均衡成本也达到了0.0001,接近完美均衡;而在160×160网格下,均衡成本精确为0.0000,说明更大的搜索空间有助于找到更精确的均衡解。
龙哥点评:在自动驾驶领域,能用博弈论搞出实车验证,并且还能在50ms内收敛,这种工程落地的扎实程度确实值得一个大大的赞👍。
总结与展望:从两车到多车博弈
当然,论文也诚实地指出了未来的方向:将框架从目前的两车博弈扩展到N>2的情况。这确实是个极大的挑战。当车辆增加到3辆、4辆甚至更多时,PSO搜索空间的维度会呈组合式爆炸增长,同时共享约束也需要编码所有车辆之间的两两避碰关系,这会让可行域变得极其复杂和非凸。这绝对是下一块硬骨头,但也是通往真正全场景自动驾驶的必经之路。
具体来说,扩展到多车场景面临三个主要技术挑战:第一,维度灾难。对于N辆车,每辆车需要优化路径和速度参数,假设每辆车有M个参数,则总参数维度为N×M。当N=2时,参数维度约为20-30,PSO可以高效处理;但当N=5时,参数维度达到50-75,粒子数量需要指数级增加才能保持搜索覆盖度,计算时间可能从50ms飙升到数秒。第二,约束复杂性。多车场景下,共享约束需要包含所有车辆两两之间的碰撞避免条件,约束数量从O(1)增长到O(N^2)。例如,对于5辆车,需要同时满足C(5,2)=10个两两避碰约束,这些约束在高维空间中形成极其复杂的可行域边界。第三,均衡的多样性。多车博弈可能存在多个纳什均衡,如何选择最符合社会期望(如全局效率最高、最公平)的均衡,是一个需要额外研究的问题。
针对这些挑战,论文提出了一些可能的解决思路:采用分层优化策略,先通过宏观交通流模型筛选出少数关键交互车辆,再对这部分车辆进行精细的GNEP求解;或者采用分布式PSO,让每辆车独立运行一个PSO求解器,通过通信共享信息,从而避免集中式求解的维度灾难。这些方向虽然尚未在本文中实现,但为后续研究提供了有价值的参考。
龙迷三问
Q1:这篇论文解决什么问题?A1:它解决的是自动驾驶汽车(AV)在混合交通中,与人类司机交互时如何做出安全、高效且“人性化”的决策问题。传统方法把其他车当作静止或线性预测的障碍物,忽略了决策的相互影响。这篇论文通过博弈论框架,显式建模了这种“我预判了你的预判”的复杂耦合关系。
Q2:广义纳什均衡和传统纳什均衡有什么区别?为什么在这里用GNEP?A2:在传统纳什均衡里,每个玩家的策略是独立选择的,只是收益函数互相依赖。但在GNEP里,玩家的可行策略集本身也互相依赖。在驾驶场景中,AV的“可行”路径(不能撞到对方、不能压线)完全取决于对手的策略,所以必须用GNEP来描述这种耦合约束。
Q3:粒子群优化(PSO)在这个问题里扮演什么角色?为什么选择它而不是深度学习?A3:PSO作为一个元启发式优化算法,用来求解这个高度非凸、非线性的GNEP问题并找到纳什均衡解。选择PSO而不是深度学习的原因在于:1) 深度学习需要大量数据训练,而交互博弈的解空间变化极大,训练数据很难覆盖所有场景;2) PSO是一种无模型的黑箱优化方法,不需要目标函数可导,特别适合处理这种由偏差度量构成的、不光滑的目标函数;3) PSO的并行性非常适合在实车硬件上快速求解,论文证明了它在50ms内就能收敛。
龙哥点评
论文创新性分数:★★★✰✰
将GNEP与PSO结合用于自动驾驶决策,虽非开创性的理论突破,但将这套组合拳成功应用于实车验证,思路清晰且有效,具有很强的工程创新性。实验合理度:★★★★✰
实车测试是目前自动驾驶规划领域最令人信服的验证方式。论文在两个典型左转场景下展示了明确的定性结果,并提供了多次运行的定量收敛统计。对比方法若为纯规则或解耦优化方法(而非SOTA博弈论方法),则其优势更突出,但论文未做详尽benchmark对比,略有遗憾。学术研究价值:★★★★✰
为博弈论在自动驾驶交互决策领域的应用提供了强有力的实车验证和数据支撑,证明了“优雅理论也能很好落地”的可行性,对后续研究有很大的启发意义。稳定性:★★★✰✰
在封闭测试场和固定场景(左转)下表现稳定。但面对更复杂的多车、不同天气、传感器噪声、对手模型不准确等极端情况,其稳定性仍需更多测试验证。适应性以及泛化能力:★★★★✰
论文提出的GNEP框架理论上对任何两车交互场景都具有适应性。实验中的两个左转场景证明了其泛化能力。但未测试如行人、自行车、环形交叉路口等多种复杂场景,这是未来的工作方向。硬件需求及成本:★★★★✰
PSO求解器对计算资源要求相对较低,论文在实车(雷诺Zoe)上测试,意味着普通工控机就能跑。低于50ms的收敛时间证明了其轻量级特性。复现难度:★★✰✰✰
论文没有开源代码和数据集。实车验证依赖法方特有的实验平台(VEDECOM的测试场和车辆),外部研究者直接复现其完整结果的难度非常高。产品化成熟度:★★★✰✰
方法已通过实车验证,具备较高的产品化潜力。但距离成熟的完全自动驾驶产品仍有距离,需要针对更多场景进行极端测试和稳定化,同时要考虑功能安全。可能的问题:最大的瓶颈在于对对手行为的建模精度(论文假设对手是理性最小化成本,但人类司机可能非理性),且框架尚未扩展到多车(>2)交互的复杂混合交通场景。另外,实时性验证仅在较低速的固定场景下进行,高速场景表现未知。
主要参考文献
*本文仅代表个人理解及观点,不构成任何论文审核或者项目落地推荐意见,具体以相关组织评审结果为准。欢迎就论文内容交流探讨,理性发言哦~ 想了解更多原文细节的小伙伴,可以点击"阅读原文",查看更多原论文细节哦!