复杂约束下自动驾驶车辆的运动规划解析

01  什么是motion planning
motion planning是在遵循道路交通规则的前提下,将自动驾驶车辆从当前位置导航到目的地的一种方法。
在实际开放道理场景下,自动驾驶要处理的场景非常繁杂:空旷的道路场景、与行人、障碍物共用道理的场景、空旷的十字路口、繁忙的十字路口、违反交通规则的行人/车辆、正常行驶的车辆/行人等等。场景虽然复杂,但都可以拆解为一系列简单行为(behavior)的组合:
将这些简单的行为(behavior)组合起来,就可以完成复杂的驾驶行为。
02  motion planning的约束条件(constraints)
motion planning是一个复杂的问题,它的执行过程需要满足很多约束条件:
2.1 车辆运动学约束
车辆运动受到运动学约束,比如它不能实现瞬时侧向移动,前驱的车辆必须依赖前轮的转向才能实现变道、转向等操作,在弯道上不能速度过快等等。通常我们采用单车模型(bicycle model)对车辆运动进行建模。
2.2 静态障碍物(static obstacle)约束
静态障碍物(static obstacle)是道路上静止的车辆、路面中间的石墩子等车辆不可行驶的区域。motion planning需要避开这些静态障碍物,避免与它们发生碰撞。解决碰撞的思路大概有两种:
1)将静态障碍物(static obstacle)在网格占位图中表示出来,然后检测规划路线是否与静态障碍物区域相交。
2)将车辆的轮廓扩大,比如扩展成一个圆形,然后检测障碍物是否与circle发生碰撞。
2.3 动态障碍物约束
motion planning要实时处理行人、车辆等各种运动的障碍物,避免与障碍物发生碰撞事故。
2.4 道路交通规则约束
车辆在道路上行驶必须要遵守车道线约束规则(比如左转专用道只能左转、实线不能变道、路口必须遵守红绿灯的指示)和各种标志标牌的指示。
03  motion planning的优化目标
了解motion planning的约束条件之后,需要构造目标优化函数,然后最小化目标函数,从而获得在当前环境下的最优运动轨迹。目标函数的种类有很多,下面枚举一些常用的目标函数。
1)关注路径长度(path length),寻求到达目的地的最短路径。
2)关注通行时间(travel time),寻求到达目的地的最短时间。
3)惩罚偏离参考轨迹和参考速度的行为。
4)考虑轨迹平滑性(smoothness)
5)考虑曲率约束(curvature)
通过组合设计自己的目标优化函数,从而获得较好的planning效果。
04  分级运动规划器
motion planning是一个异常复杂的问题,所以通常我们把它切分为一系列的子问题(sub problem)。比如mission planner、behavior planner、local planner、vehicle control等。
4.1 mission planner
mission planner关注high-level的地图级别的规划;通过graph based的图搜索算法实现自动驾驶路径的规划。
4.2 behavior planner
behavior planner主要关注交通规则、其它道路交通参与者(自行车、行人、社会车辆)等等,决定在在当前场景下应该采取何种操作(如停车让行、加速通过、避让行人等等)。
behavior planner的实现方式比较常见的有几种:有限状态机(finite state machines)、规则匹配系统(rule based system)、强化学习系统(reinforcement learning)。
有限状态机中的state是各个行为决策,根据对外界环境的感知和交通规则的约束在各个状态之间转换。比如在路口红绿灯的场景,当路口交通灯为红色不可通行时,车辆会首先切换到decelerate to stop状态,然后在路口停止线完全停下来,进入stop状态,并持续在stop状态等待,直至交通灯变为绿色允许车辆通行,车辆进入track speed状态,继续前行。
rule-based system是通过一系列的分级的规则匹配来决定下一步的决策行为。比如交通灯绿色->通行;交通灯红色->停车等待。
基于强化学习的behavior planner系统如下:
4.3 local planner
local planner关注如何生成舒适的、碰撞避免的行驶路径和舒适的运动速度,所以local planner又可以拆分为两个子问题:path planner和velocity profile generation。path planner又分为sampling-based planner、variational planner和lattice planner。
最经典的sampling-based planner算法是rapidly exploring random tree,rrt算法。
variational planner根据cost function进行优化调整,从而避开障碍物,生成安全的轨迹。
lattice planner将空间搜索限制在对车辆可行的action space。
velocity profile generation要考虑到限速、速度的平滑性等。
vehicle control将planner的规划结果转化为车辆的运动行为。


HAMR硬盘并不高大上!未来会覆盖中低容量
变压器电压不稳应该加装无功补偿设备吗
STM32的IIC库函数使用误区
如何比较市场上不同品牌的安全光幕安全光栅?
区块链技术能否解决DeFi领域面临的一些问题
复杂约束下自动驾驶车辆的运动规划解析
华为p10与小米6哪个更值得入手?华为p10与小米6对比评测:谁最性能怪兽
基于WLAN实现mesh网络的多跳无线扩展的设计
单相方波逆变电路
特斯拉Model Y雷达加热器助力自动驾驶功能积雪天气正常运行
海湾国家巴林将使用华为技术推出5G商用网络
蓝牙耳机国产品牌什么的好,蓝牙耳机国产排行榜
什么是星形和三角形接法 三角形接法和星形接法的电压电流
WiTricity与高通Halo的整合将推动无线充电的发展
台积电3nm官宣量产 扩产同日提上议程 能否为半导体注入强心针?
陈肇雄:5G技术是实现万物互联的关键信息基础设施
先进封装中铜-铜低温键合技术研究进展
东莞显同电子分享LED租赁屏箱体知识
改善优化网站UI设计的七个技巧
为什么断路处电压就是输入电压?