自动驾驶端到端规划方法汇总

作者 | 张云聪  编辑 | 汽车人

原文链接:https://zhuanlan.zhihu.com/p/662376219

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心【规划控制】技术交流群

本文只做学术分享,如有侵权,联系删文

一、Woven Planet(丰田子公司)的方案:Urban Driver 2021

这篇文章是21年的,但一大堆新文章都拿它来做对比基线,因此应该也有必要来看看方法。

26c3fd4ad4ef63752f7d55f3d44e26f6.png 31e3844c3d57020cfc8d47661f6314a8.png

大概看了下,主要就是用Policy Gradients学习State->近期action的映射函数,有了这个映射函数,可以一步步推演出整个执行轨迹,最后loss就是让这个推演给出的轨迹尽可能的接近专家轨迹。

效果应该当时还不错,因此能成为各家新算法的基线。

二、南洋理工大学方案一 Conditional Predictive Behavior Planning with Inverse Reinforcement Learning 2023.04

38625cce6d2c8dfa8093ef930653f336.png

先使用规则枚举了多种行为,生成了10~30条轨迹。(未使用预测结果)
使用Condtional Prediction算出每条主车待选轨迹情况下的预测结果,然后使用IRL对待选轨迹打分。

其中Conditional Joint Prediction模型长这样:

116b7222558ba57a9ad9794d04ec1593.png

这个方法基本上很赞的点就是利用了Conditional Joint Prediction可以很好的完成交互性的预测,使得算法有一定的博弈能力。
但我个人认为算法缺点是前边只生成了10~30条轨迹,而且轨迹生成时没考虑预测,而且最后会直接在IRL打分后,直接选用这些轨迹中的一条作为最终结果,比较容易出现10~30条在考虑预测后发现都不大理想的情况。相当于要在瘸子里边挑将军,挑出来的也还是瘸子。基于这个方案,再解决前边待选样本生成质量会是很不错的路子

三、英伟达方案:2023.02 Tree-structured Policy Planning with Learned Behavior Models

用规则树状采样,一层一层的往后考虑,对每一层的每个子结点都生成一个conditional prediction,然后用规则对prediction结果和主车轨迹打分,并用一些规则把不合法的干掉,然后,利用DP往后生成最优轨迹,DP思路有点类似于apollo里dp_path_optimizer,不过加了一个时间维度。

不过因为多了一个维度,这个后边扩展次数多了之后,还是会出现解空间很大计算量过大的情况,当前论文里写的方法是到节点过多之后,随机丢弃了一些节点来确保计算量可控(感觉意思是节点过多之后可能也是n层之后了,可能影响比较小了)

本文主要贡献就是把一个连续解空间通过这种树形采样规则转变一个马尔可夫决策过程,然后再利用dp求解。

四、南洋理工大学&英伟达联合 2023年10月最新方案:DTPP: Differentiable Joint Conditional Prediction and Cost Evaluation for Tree Policy Planning in Autonomous Driving

看标题就感觉很Exciting:

一、Conditional Prediction确保了一定博弈效果
二、可导,能够整个梯度回传,让预测与IRL一起训练。也是能拼出一个端到端自动驾驶的必备条件
三、Tree Policy Planning,可能有一定的交互推演能力

仔细看完,发现这篇文章信息含量很高,方法很巧妙。

ad8281a6525d6862ea65a19e78456112.png

主要基于英伟达的TPP和南洋理工的Conditional Predictive Behavior Planning with Inverse Reinforcement Learning进行糅合改进,很好的解决了之前南洋理工论文中待选轨迹不好的问题。

论文方案主要模块有:

一、Conditional Prediction模块,输入一条主车历史轨迹+提示轨迹 + 障碍车历史轨迹,给出主车接近提示轨迹的预测轨迹和与主车行为自洽的障碍车的预测轨迹。
二、打分模块,能够给一个主车+障碍车轨迹打分看这个轨迹是否像专家的行为,学习方法是IRL。
三、Tree Policy Search模块,用来生成一堆待选轨迹

使用Tree Search的方案来探索主车的可行解,探索过程中每一步都会把已经探索出来的轨迹作为输入,使用Conditional Prediction来给出主车和障碍车的预测轨迹,然后再调用打分模块评估轨迹的好坏,从而影响到下一步搜索扩展结点的方向。通过这种办法可以得到一些差异比较大的主车轨迹,并且轨迹生成时已经随时考虑了与障碍车的交互。

传统的IRL都是人工搞了一大堆的feature,如前后一堆障碍物在轨迹时间维度上的各种feature(如相对s, l和ttc之类的),本文里为了让模型可导,则是直接使用prediction的ego context MLP生成一个Weight数组(size = 1 * C),隐式表征了主车周围的环境信息,然后又用MLP直接接把主车轨迹+对应多模态预测结果转成Feature数组(size = C * N, N指的待选轨迹数),然后两个矩阵相乘得到最终轨迹打分。然后IRL让专家得分最高。个人感觉这里可能是为了计算效率,让decoder尽可能简单,还是有一定的主车信息丢失,如果不关注计算效率,可以用一些更复杂一些的网络连接Ego Context和Predicted Trajectories,应该效果层面会更好?或者如果放弃可导性,这里还是可以考虑再把人工设置的feature加进去,也应该可以提升模型效果。

在耗时方面,该方案采用一次重Encode + 多次轻量化Decode的方法,有效降低了计算时延,文中提到时延可以压到98ms。

在learning based planner中属于SOTA行列,闭环效果接近前一篇文章中提到的nuplan 排第一的Rule Based方案PDM。

总结

看下来,感觉这么个范式是挺不错的思路,中间具体过程可以自己想办法调整:

  1. 用预测模型指导一些规则来生成一些待选ego轨迹

  2. 对每条轨迹,用Conditional Joint Prediction做交互式预测,生成agent预测。可以提升博弈性能。

  3. IRL等方法做利用Conditional Joint Prediction结果对前边的主车轨迹打分,选出最优轨迹

① 全网独家视频课程

BEV感知、毫米波雷达视觉融合多传感器标定多传感器融合多模态3D目标检测点云3D目标检测目标跟踪Occupancy、cuda与TensorRT模型部署协同感知语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习

2bdbe52ab79cc96e0a1964dd3fa42985.png 视频官网:www.zdjszx.com

② 国内首个自动驾驶学习社区

近2000人的交流社区,涉及30+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(2D检测、分割、2D/3D车道线、BEV感知、3D目标检测、Occupancy、多传感器融合、多传感器标定、目标跟踪、光流估计)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!

04cc6d9260637a8c66f3fc2b5696c04f.png

③【自动驾驶之心】技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多模态感知、Occupancy、多传感器融合、transformer、大模型、点云处理、端到端自动驾驶、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向。扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)

4589136cf2f99f13df39e3d2b32cb59e.jpeg

④【自动驾驶之心】平台矩阵,欢迎联系我们!

7c3725a29ee395c55a5a2d2ae6423f3a.jpeg

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值