技术文档 | 二次规划(QP)样条路径

参考:

https://mp.weixin.qq.com/s?__biz=MzI1NjkxOTMyNQ==&mid=2247486492&idx=1&sn=2bfb421186364cbd6b00fb278a4a70fe&chksm=ea1e1e6edd699778417d0b1dc6e009b445c8c03218d555f5c872ecc08f49f4b1767fcabdd029&mpshare=1&scene=1&srcid=#rd

 

Apollo的Planning分为参考线平滑、决策、路径规划、速度规划等部分。

从整体上来说,规划模块的架构分为两个部分:一部分负责对数据的监听、获取和预处理;另一部分负责管理各个优化模块。数据进入后,对其综合处理为规划模块的内部数据结构,由任务管理器调度合适的优化器进行各个优化任务。综合优化的结果,经过最终的验证后,输出给控制模块。

在设计上,实现了策略的可插拔,使得各个优化器可以灵活配置不同策略,提升迭代效率。

 

EM-Planner是具体的规划实施类,它基于高精地图、导航路径及障碍物信息作出实际的驾驶决策,包括路径、速度等方面。

首先使用DP(动态规划)方法确定初始的路径和速度,再利用QP(二次规划)方法进一步优化路径和速度,以得到一条更平滑的轨迹,既满足舒适性,又方便车辆操纵。

基于样条的车辆轨迹优化二次规划,为了寻求更优质更平滑,体感更好的路径,需要使用二次规划的方法寻找。需要的限制条件有:曲率和曲率连续性、贴近中心线、避免碰撞。

 

将路径划分为n段,每段路径用一个多项式来表示。

每个样条段 i 都有沿着参考线的累加距离image。每段的路径默认用5阶多项式表示:

image

优化问题:

image

image

image

初始点约束:

image

终点约束:

image

平滑节点约束:

image

点采样边界约束:

在路径上均匀的取样m个点,检查这些点上的障碍物边界。将这些约束转换为QP约束不等式,使用不等式:

image

posted @ 2019-03-08 22:07  莫回首_love  阅读(3445)  评论(0编辑  收藏  举报