自动驾驶中的决策规划技术分享--轻舟智航

0.概述:

李仁杰,轻舟智航规划算法负责人,自动驾驶决策与规划技术专家。
在自动驾驶系统中,决策规划模块用于解决车辆“怎么走”的问题。与业界惯用的时空分离算法不同,轻舟智航采用时空联合规划算法,同时在空间和时间维度求解最优行车轨迹,得到更加舒适、安全、拟人的驾驶行为。

总体介绍
image

1 导航模块

image

2 决策模块

2.1 车道决策

  • 车道保持

  • 借道

  • 变道

image

  • 基于规则与有限状态机的变道决策

image

  • 基于轨迹评价的变道决策算法

image

变道的难题

  • 静止车辆是否需要绕行

  • 拥挤场景下如何完成变道

image

2.2 障碍物决策

  • 给定车道决策下,定性地决定如何处理障碍物
    • 前有石头挡路,决定从左绕开还是从右绕开

    • 前面有车要cut in时,选择加速超过,还是选择减速让行

image

有了车道决策和障碍物决策后,可以共同为下游的轨迹规划提供一个可行解空间,做进一步的轨迹优化。

3 轨迹规划

给定导航路线,以及车道决策、障碍物决策后,怎么去定量地规划一条从当前位置指向目的地的轨迹。

image

时空联合规划技术

3.1 时空分离规划

  • 将三维时空下的决策和规划分解成路径规划和速度规划两个二维问题。

    • 第一步通常是仅考虑周围的静态障碍物,对静态障碍物做相应的横向决策,规划一条与静态障碍物没有碰撞的路径。

    • 第二步在上一步规划的路径上,对动态障碍物做是否让行的决策,在路径上规划出一条不与动态障碍物发生碰撞的速度曲线。

    • 最后一步将路径与速度曲线进行组合,得到最终输出的轨迹。

image

  • 优点:把一个三维的问题分解成了两个二维问题,适用于纵横向运动比较解耦的场景,比如比较简单的静态绕障和路口让行。

  • 缺点:很难实现与动态障碍物较复杂的纵横向联合交互,如超车、动态避让等等。对于前车慢行的场景,如果想去规划一条超车轨迹,是很难通过时空分离规划框架去实现的。

3.2 时空联合规划

  • Step 1 时空联合决策

    • 不区分障碍物是动态还是静态,对障碍物做决策也不会区分横向纵向,而是统一在三维时空里对障碍物做定性的决策。

    • 对障碍物做4种决策,分别是让行、超车、从左侧绕行和从右侧绕行这四种定性决策。

image

以上图右侧场景为例,前方有一辆蓝色慢车,右车道又有一辆紫色稍快一点的车,现在对这两个障碍物有两组决策方案.

  • 从蓝车后面加速向右变道,切入紫车前方。在这个决策方案下,对蓝车的决策是从右侧绕行,对紫车的决策是超车。

  • 在蓝车后面先减速等待,再向右变道,切入紫车后方。在这个决策方案中,对蓝车的决策仍然是从右侧让行,对紫车的决策就变成了让行。

Step 2 时空联合优化

image

时空联合优化算法:

  • 首先将时空联合决策的结果提炼为凸可行域,作为时空联合优化的状态安全约束集。比如上一步选择了决策方案一,就会得到不同时刻的可行区域,

  • 通过可行区域构造一个非线性的时空联合优化问题。对于这个时空联合的非线性优化问题,目标函数包含了轨迹的舒适性、效率以及对导航路线的跟踪性能等。我们用到的车辆模型一般也是非线性的,这样可以保证最后求解出的轨迹是实际可执行的

  • 非线性优化问题求解

4 对比

马路对面有公交车正从对向驶来,同时前方还有一辆低速自行车。

对于时空分离规划来说,它很难灵活地与周围的动态障碍物进行复杂绕行,所以只能规划出一条慢慢跟随自行车的轨迹。

image

时空联合规划来说,它可以更加灵活地处理障碍物,可以规划一条先从左边绕行自行车、然后在公交车驶到近处之前从公交车右边对自行车超车的轨迹。

image

image

### 自动驾驶时空联合规划技术与实现 #### 背景介绍 在自动驾驶系统中,决策规划模块的核心目标是解决车辆如何安全、高效地完成从起点到终点的任务。其中,“怎么走”的问题由运动规划子系统负责[^1]。为了提升驾驶体验并适应复杂交通环境,部分企业采用了更为先进的 **时空联合规划算法**。 #### 时空联合规划的特点 相比传统的时间和空间分开处理的方法(即先规划路径再分配速度),时空联合规划能够在同一框架下同时优化时间和空间维度上的轨迹[^2]。这种方法的优势在于: - 更加灵活地应对动态障碍物; - 提供更平滑的加速减速曲线; - 减少不必要的急停或变道操作。 #### 技术原理 时空联合规划通常基于数学建模的方式构建优化问题,并通过数值方法求解最佳轨迹。以下是几种常见的实现方式: ##### 1. 基于模型预测控制 (MPC, Model Predictive Control) 模型预测控制是一种实时滚动优化策略,在每一步都重新计算未来一段时间内的最优动作序列。对于时空联合规划而言,可以定义状态变量为位置 \(x\) 和时间 \(t\) 的函数组合形式 \((x(t), v(t))\)[^4]。具体过程如下: - 定义代价函数:综合考虑路程长短、能耗高低以及乘客舒适度等因素。 - 添加约束条件:例如最大允许加速度/减速度范围、车道边界限制等物理规则。 - 使用梯度下降或其他迭代算法寻找满足上述要求的最佳输入信号集合。 ```python import numpy as np from scipy.optimize import minimize def cost_function(x): """自定义成本函数""" position = x[:len(x)//2] velocity = x[len(x)//2:] # 计算总距离和其他指标作为惩罚项 total_distance = sum(np.diff(position)**2) jerk_penalty = sum(np.abs(np.diff(velocity, n=2))) return total_distance + 0.1 * jerk_penalty initial_guess = ... # 初始化猜测值向量 constraints = [...] # 设置各种硬性规定 result = minimize(cost_function, initial_guess, method='SLSQP', constraints=constraints) optimal_trajectory = result.x.reshape((-1, 2)) ``` ##### 2. 利用图搜索算法扩展至四维空间 另一种思路是从经典路径查找技术出发,将二维地图升级成包含额外两个轴——时刻点 t 及对应瞬时速率 v ——构成的新坐标系[(x,y,t,v)]来进行广度优先遍历或者A*寻径[^3]。这样做的好处是可以直观表示出随着时间推移而变化的可能性分布情况;缺点则是增加了计算负担,尤其是在高分辨率网格划分条件下可能变得不可接受。 #### 应用案例分析 以轻舟智航为例,该公司在其产品线里全面引入了此类先进技术来增强用户体验感。他们开发了一套完整的解决方案,涵盖了数据采集预处理阶段直至最终执行层面各个环节的工作流程。借助这套体系结构的支持,即使面对突发状况也能迅速做出反应调整方案从而保障乘员生命财产不受损害。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值