当前位置:首页>自动驾驶>最强大脑!自动驾驶决策算法:全局路径规划、行为决策、运动规划……

最强大脑!自动驾驶决策算法:全局路径规划、行为决策、运动规划……

  • 2026-09-08 01:48:35
最强大脑!自动驾驶决策算法:全局路径规划、行为决策、运动规划……
什么是自动驾驶的“最强大脑”?我想就是自动驾驶决策算法了吧。自动驾驶决策算法主要解决车辆在复杂交通中“下一步做什么,应该如何做”的核心问题。它就像一个分层递进的大脑,主要分为两层,一层是运动规划层,另外一层是行为决策层。
行为决策层决定做什么,运动规划层决定具体如何做。

在自动驾驶中,感知系统只是它的眼睛和耳朵——看得见、听得见,但完全不知道下一步该干什么。而决策系统,才是真正的大脑。

本文详解自动驾驶决策的三大核心模块:全局路径规划、行为决策、运动规划。

一、全局路径规划:先回答“去哪儿”

假设你坐在副驾,打开手机高德,输入“北京天安门 → 上海东方明珠”。地图给你规划了一条沿着京沪高速一路向南的路线——这就是全局路径规划。在自动驾驶里,它的任务非常清晰:从起点到终点,哪条路最合理?

但它的“合理”远比你想象的要复杂。

全局路径规划依赖什么?
  1. 高精度地图(HD Map):不是我们手机上的普通导航地图。高精度地图的精度达到厘米级,它记录的信息包括:每条车道的确切边界、路沿石的位置、交通标志的精确三维坐标、坡度和曲率、甚至每个红绿灯的精确经纬度。有了它,车才知道“前方300米,最左侧车道是左转专用道”。

  2. 实时交通信息:哪里堵车?哪里封路?哪里事故?全局规划会结合实时路况,动态重规划。比如原本要走二环,但二环堵了3公里,系统会主动切换到三环——就像你在导航上点了“躲避拥堵”。

  3. 车辆自身约束:电动车电量不够?货车限高?某个路段禁止自动驾驶车辆通行?这些都会纳入全局路径的约束条件。

一个容易被忽视的真相

全局路径规划并不需要高频运行。它可能每隔几十秒甚至几分钟才更新一次,因为它解决的是“宏观路线”问题。但一旦这条路定下来,它就为下面两个层次画好了“边界”——接下来所有的行为决策和运动规划,都不能跳出这条路。

打个比方:全局路径规划就像你决定从北京开车去上海走京沪高速,那么你后面所有的变道、超车、进服务区,都只能发生在这条高速上。你不会突然想拐到京港澳上去。

二、行为决策:最像“人类司机”的一层

从全局路径规划我们知道:车知道“要走京沪高速,从上海嘉定出口下”。但开上高速后,面对密密麻麻的车流,它要怎么决定此时此刻该做什么?

是跟车?是变道?是加速超车?还是在出口前提前减速?

这时候就该行为决策(Behavioral Decision)上场了。它处理的是离散的、高层级的驾驶意图。你可以把它理解为自动驾驶的“战术指挥官”。

常见的驾驶行为有哪些?

  • 车道保持(Lane Keeping):老老实实待在当前车道,保持速度,保持安全车距。

  • 跟车(Car Following):前车慢我就慢,前车快我就快(但不超速)。

  • 变道(Lane Change):向左变还是向右变?是主动变道(为了更快)还是被动变道(因为当前车道要结束)?

  • 超车(Overtaking):本质上是一次“向左变道+加速+再向右变道”的组合行为。

  • 路口行为:直行、左转、右转、掉头。

  • 停车/起步:等红灯时停车,绿灯亮起后起步。

  • 让行/抢行:无保护左转时,让对向直行车先过;或者合流时,判断是否要插入车流。

行为决策是怎么做出来的?

现代自动驾驶的行为决策,早已不是简单的“if-else”规则。它会根据情况综合考虑:

  • 感知结果:周围有哪些车?它们的速度、加速度、意图(通过转向灯判断)是什么?

  • 交通规则:这段路限速多少?实线能不能变道?这个路口能不能掉头?

  • 驾驶策略:是“激进型”还是“保守型”?比如看到旁边车道有空间,激进的车会立即变道,保守的车会再观察一秒。

  • 预测模块:其他车接下来会怎么走?这个非常关键。行为决策必须“预判别人的预判”。

真实场景:高速出口博弈

如果你的车辆要在前方500米下高速,但当前在最左侧车道,右侧两车道都是密集的卡车流。行为决策会如何进行推理呢?

  1. 先判断“是否需要变道”:是的,因为出口在右侧。

  2. 再判断“是否可以安全变道”:当前右侧车道有间隙吗?后车速度允许吗?

  3. 如果暂时不行,就进入“寻找机会”状态:保持速度,监控右侧车流,同时点亮转向灯,等待一个安全的空档。

  4. 一旦出现空档,决策变为“向右变道一次”。

  5. 重复这个过程,直到进入最右侧车道,然后决策变为“减速并准备驶出”。

这5条完全实际上就是一个动态的、基于状态的决策过程。我们日常开车的时候,内心活动和考量大概也是如此。

三、运动规划:把“想法”变成“轨迹”

行为决策说:“我要向右变道。”

那怎么变呢?方向盘怎么打?油门踩多深?用3秒钟完成变道还是5秒钟?变道过程中遇到后车突然加速怎么办?

这就是运动规划(Motion Planning)要解决的事。它的输入是一个驾驶行为意图(比如“向右变道”),输出是一条具体、平滑、安全、可执行的轨迹。

一条完整的轨迹,由两部分组成:

  • 路径(Path):车辆在几何空间上要经过的一系列点(x, y, yaw)。

  • 速度曲线(Speed Profile):在路径上每个点的时刻和速度(t, v)。

运动规划既要告诉车“走哪条线”,也要告诉车“每时每刻开多快”。

运动规划在进行操作的时候要注意什么?

  1. 平滑性:方向盘不能突然打死,否则乘客会吐。轨迹的曲率必须连续变化。

  2. 可行性:轨迹必须符合车辆的运动学约束(比如前轮最大转角、最大加/减速度)。

  3. 安全性:必须与所有障碍物(其他车、行人、路沿)保持安全距离。

  4. 舒适性:横向加速度和纵向加加速度(jerk)要控制在舒适范围内。

  5. 实时性:必须在几十毫秒内计算出轨迹,因为车辆在一秒内就能冲出几十米。

主流方法:采样+优化

自动驾驶的运动规划,通常采用“采样-评估-优化”的框架:

  • 先通过随机采样或搜索(比如A*、RRT)生成一批候选路径。

  • 再用代价函数评估每条路径:离障碍物多远?平不平滑?符合行为意图吗?

  • 选出最优的一条,再通过二次规划(QP)进行局部平滑和速度优化。

举个例子:变道的运动规划

行为决策要求“在3秒内向右变道”。运动规划会这样做:

  1. 生成一条从当前车道中心线,平滑过渡到目标车道中心线的S形曲线。

  2. 在这条曲线上,设计速度曲线:先轻微加速(减少与后车的速度差),变道过程中保持匀速,变道完成后适当调整。

  3. 检查轨迹上每个点:会不会与右后方车辆发生碰撞?如果会,就重新规划(比如加快变道速度,或者放弃变道)。

  4. 最终输出一串指令:未来3秒内,每20毫秒一个“期望方向盘转角+期望加速度”。

然后,这个指令被发送到执行系统(转向、油门、刹车),车辆就真的动起来了。

三个层次的协同:一个完整的故事

如果我要从五道口去北京首都机场T3,那自动驾驶是怎么做的?

场景:自动驾驶车辆从北京五道口出发,去首都机场T3航站楼。

  • 全局路径规划:先走北四环,然后上机场高速,最后从T3出口驶出。这条路定下来后,生成一系列“路点”(waypoints)。

  • 行为决策:车行驶在北四环上,感知系统发现前方500米有出口。行为决策判断:我需要去机场高速,所以必须从这个出口驶出。当前我在第二条车道,出口在最右侧。于是决策进入“向右变道”的意图序列:先变一次到第三条车道,再变一次到最右侧。

  • 运动规划:针对“第一次向右变道”这个意图,生成一条具体的、3秒长的轨迹。过程中,右后方有一辆出租车突然加速冲上来,运动规划检测到碰撞风险,立即重新规划:减速并推迟变道,等出租车过去后再完成变道。

三个层次各有分工,又紧密衔接。没有全局规划,车就不知道大方向;没有行为决策,车就只能傻傻地走直线;没有运动规划,所有的意图都只是空想。

为什么理解决策系统如此重要?

大家在讨论自动驾驶的时候,张口闭口就是“多少个摄像头”“多少线激光雷达”。但真正决定自动驾驶智能程度的,其实是决策系统。

一个感知再强的车,如果决策逻辑愚蠢——比如该让不让、该超不超、变道犹豫不决——它依然是一个让人害怕的“铁皮傻子”。反之,一个决策系统足够优秀的车,哪怕只用摄像头,也能在复杂路况中游刃有余。

最新文章

随机文章