自动驾驶中的决策规划技术分享--轻舟智航
0.概述:
李仁杰,轻舟智航规划算法负责人,自动驾驶决策与规划技术专家。
在自动驾驶系统中,决策规划模块用于解决车辆“怎么走”的问题。与业界惯用的时空分离算法不同,轻舟智航采用时空联合规划算法,同时在空间和时间维度求解最优行车轨迹,得到更加舒适、安全、拟人的驾驶行为。
总体介绍
1 导航模块
2 决策模块
2.1 车道决策
-
车道保持
-
借道
-
变道
- 基于规则与有限状态机的变道决策
- 基于轨迹评价的变道决策算法
变道的难题:
-
静止车辆是否需要绕行
-
拥挤场景下如何完成变道
2.2 障碍物决策
- 给定车道决策下,定性地决定如何处理障碍物
-
前有石头挡路,决定从左绕开还是从右绕开
-
前面有车要cut in时,选择加速超过,还是选择减速让行
-
有了车道决策和障碍物决策后,可以共同为下游的轨迹规划提供一个可行解空间,做进一步的轨迹优化。
3 轨迹规划
给定导航路线,以及车道决策、障碍物决策后,怎么去定量地规划一条从当前位置指向目的地的轨迹。
时空联合规划技术
3.1 时空分离规划
-
将三维时空下的决策和规划分解成路径规划和速度规划两个二维问题。
-
第一步通常是仅考虑周围的静态障碍物,对静态障碍物做相应的横向决策,规划一条与静态障碍物没有碰撞的路径。
-
第二步在上一步规划的路径上,对动态障碍物做是否让行的决策,在路径上规划出一条不与动态障碍物发生碰撞的速度曲线。
-
最后一步将路径与速度曲线进行组合,得到最终输出的轨迹。
-
-
优点:把一个三维的问题分解成了两个二维问题,适用于纵横向运动比较解耦的场景,比如比较简单的静态绕障和路口让行。
-
缺点:很难实现与动态障碍物较复杂的纵横向联合交互,如超车、动态避让等等。对于前车慢行的场景,如果想去规划一条超车轨迹,是很难通过时空分离规划框架去实现的。
3.2 时空联合规划
-
Step 1 时空联合决策
-
不区分障碍物是动态还是静态,对障碍物做决策也不会区分横向纵向,而是统一在三维时空里对障碍物做定性的决策。
-
对障碍物做4种决策,分别是让行、超车、从左侧绕行和从右侧绕行这四种定性决策。
-
以上图右侧场景为例,前方有一辆蓝色慢车,右车道又有一辆紫色稍快一点的车,现在对这两个障碍物有两组决策方案.
-
从蓝车后面加速向右变道,切入紫车前方。在这个决策方案下,对蓝车的决策是从右侧绕行,对紫车的决策是超车。
-
在蓝车后面先减速等待,再向右变道,切入紫车后方。在这个决策方案中,对蓝车的决策仍然是从右侧让行,对紫车的决策就变成了让行。
Step 2 时空联合优化
时空联合优化算法:
-
首先将时空联合决策的结果提炼为凸可行域,作为时空联合优化的状态安全约束集。比如上一步选择了决策方案一,就会得到不同时刻的可行区域,
-
通过可行区域构造一个非线性的时空联合优化问题。对于这个时空联合的非线性优化问题,目标函数包含了轨迹的舒适性、效率以及对导航路线的跟踪性能等。我们用到的车辆模型一般也是非线性的,这样可以保证最后求解出的轨迹是实际可执行的
-
非线性优化问题求解
4 对比
马路对面有公交车正从对向驶来,同时前方还有一辆低速自行车。
对于时空分离规划来说,它很难灵活地与周围的动态障碍物进行复杂绕行,所以只能规划出一条慢慢跟随自行车的轨迹。
时空联合规划来说,它可以更加灵活地处理障碍物,可以规划一条先从左边绕行自行车、然后在公交车驶到近处之前从公交车右边对自行车超车的轨迹。
原文地址:https://blog.csdn.net/qq_39764867/article/details/139194932
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!