super1 发表于 2022-7-18 16:16

自动驾驶【路径规划/决策规划】初探



图片来自西门子

摄影|Siemens

自动驾驶是一门综合性复杂的技术,目前这块比较火热,趁此机会我了解了一下决策规划这块领域,看了b站范昊阳大佬的《百度自动驾驶技术系列课程》后,整理了一下心得。

#1 总论
路径规划是属于自动驾驶感知、决策、执行,互联几个关键领域里的决策环节,根据《Apollo 自动驾驶工程师技能图谱》中阐述的技能栈也可以看出决策的重要性。如果芯片被看作自动驾驶的大脑,那么决策好坏就决定这是一颗莱莎·徒利的大脑,还是一颗奥莲娜的大脑。

#2 全局规划

路径规划总体有3个层面:
全局规划,全局规划需要我们知道目的地,是一种长期的规划,更关心高层的信息,不太关心很细枝末节上的决策。全局规划的本质是一种搜索,在优化领域就是给定约束下的最小化问题。



Dijkstra算法示意图

解决全局优化常见的代表算法有:Dijkstra、A*、MDP。
Dijkstra是一种广度优先搜索,因为每个节点都要探寻,所以搜索会慢;
而A*及其各种衍生算法是一种启发式算法,搜索过程会朝着目的点前进,避免了一些无谓的搜索;
MDP是强化学习的思路,构建环境和奖励系统,让运动对象吃亏上当后,学会精致利己,沿着目标点前进。

#3 局部规划

局部规划,之所以有局部规划,是因为全局规划没有考虑很多局部信息的动态变化。原因有如下几个方面:
a. 局部信息有时候受限于传感器,运动物体在局部看到感知到的信息有限;
b.运动对象还受制于交通管控,它必须遵守交通规则。而交通路况是变化的,这刻绿灯,下一刻就可能是红灯,今天是通畅的,明天可能就封路改道;
c.由于其他交通参与者的行为会干扰到运动对象的路径;

这类情况下往往的解决算法思路是增量方法,就是走一步看一步,不断更新目前的状态信息,做出新的决策。这有别于全局优化,多考虑了时间这个重要的维度信息,是一种偏实时的路径规划。



RRT 算法

算法层面代表的就是PRM、RRT和Lattice,他们都是基于采样方法。PRM和RRT是基于树的方法,在空间内随机撒点,然后通过树生成的方式前进,最终达到目的地,这种方式路径不一定最优,但是可以快速求解并轻松避开障碍物。
Lattice主要应用栅格化处理方法(高效的经纬度和栅格对应可以用Geohash),通过网格离散化搜索空间,然后映射到frenet空间,利用cost函数避障和寻优,针对搜索困难,采用DP(动态规划)的原理避免重复计算。

#4 运动控制

运动控制,局部规划的路线,如果不进行平滑处理,那么是一条条线段,但是线段的曲率可能不连续,那么运动对象在速度、加速度上、锐度就可能突变,这样的路径是不能保证舒适性的,所以还需要进一步进行曲线平滑、角度平滑处理。



路径平滑

算法层面主要是样条曲线、插值方法、Bspline
Bspline可能会碰到边缘,插值的话容易产生龙格现象(过拟合,震荡厉害)。

#5 结尾

但是这还远远不够,运动物体在以上过程都被抽象成一个质点,然而运动物体一般是刚体,前后轮的运动特性不一样,还需要考虑运动物体的坐标系,分开建模。

感兴趣,可以关注公众号elegantcoin,接受更多消息

附:自动驾驶名单(欢迎添加)
禾赛科技自动驾驶雷达研发商小鹏汽车电动汽车研发生产商理想汽车智能新能源汽车研发商域驰智能自动驾驶解决方案提供商安智汽车智能驾驶全栈式解决方案提供商斑马智行智联网汽车整体解决方案提供商比亚迪新能源汽车制造商创昂智能Tron低成本自动驾驶方案供应商Tron.ai美国自动驾驶解决方案提供商地平线汽车智能电动车制造商的卢自动驾驶汽车制造商滴滴自动驾驶自动驾驶技术研发商国汽智控智能网联汽车技术研发商黑芝麻智能自动驾驶计算芯片制造商鸿泉物联商用车联网服务提供商经纬恒润智能驾驶整体解决方案提供商岚图汽车高端智能电动车研发商Momenta自动驾驶技术研发商魔视智能自动安全驾驶解決方案提供商轻舟智航无人驾驶技术研发商天瞳威视汽车辅助驾驶系统研发商蔚来智能电动汽车研发商仙途智能无人驾驶清洁车研发商上海易巴汽车动力系统智能驾驶与新能源汽车研发商MINIEYE自动驾驶感知系统研发商驭势科技L4级自动驾驶解决方案提供商知行科技自动驾驶系统解决方案提供商挚途科技智能车软硬件系统研发商奇点汽车智能新能源汽车研发商智能汽车发展平台智能汽车基础设施运营商纵目科技自动驾驶及高级驾驶辅助系统技术产品供应商

感兴趣,可以关注公众号elegantcoin,接受更多消息
页: [1]
查看完整版本: 自动驾驶【路径规划/决策规划】初探