作者 | 论文推土机 编辑 | 汽车人
原文链接:https://zhuanlan.zhihu.com/p/667368813
点击下方卡片,关注“自动驾驶之心”公众号
ADAS巨卷干货,即可获取
点击进入→自动驾驶之心技术交流群
本文只做学术分享,如有侵权,联系删文
最近在推进一些非常屌的工作,还处于严格保密阶段。涉及到一些基础算法的回顾,这里包括很经典的一个OBCA算法,这个之前整理过论文推土机:使用混合A* 和Optimization-based method进行泊车规划的算法整理, 不过就是整理了一些论文,既然还没整理过其公式推导,不如顺便回顾完就在这里记录下。
OBCA的核心就是将碰撞检测这个非凸非光滑的问题转变成非凸的光滑问题,如果我们不考虑轨迹已经发生碰撞,必须要优化出一条尽量减少碰撞的轨迹的话,原来这个非凸非光滑问题可以直接别转化为凸的光滑问题。那么怎么做这个转变呢,基本思路就是使用对偶性质。这个对偶性质在geometry方面的应用在convex optimization中其实已经给出很多例子了。事实上,本文从两个问题的构造形式上,都给出了最后的对偶问题的转化结论。一个是将自车作为质点,障碍物进行膨胀这个前提下的对偶问题转化;另一个则是自车和障碍物都是full dimension的,比如都给包裹成多边形或多面体,然后进行问题转化。前者不好的地方是没法establish the approximation error,后面则是精准描述了碰撞,但是最大的问题是引入了大量对偶变量,如果有N个状态点和M个障碍物,则会引入M* N个对偶变量,这个优化问题规模就显著增加了不少,求起来自然会慢很多。





所以这里的自车空间,以及旋转平移矩阵写成:

回到优化问题本身,其基本形式为:



然后通过对偶性质,我们可以获得如下的等价关系:

这里的证明如下,原问题是:

原问题的对偶问题是:

由于强对偶成立,所以这里没有对偶间隙,我们可得:



有了对碰撞检测部分约束的变化,原来的优化问题就变成了:

和原来的优化问题相比,这里除了约束形式有所变化之外,还增加了非常多的优化变量:

不过根据优化问题的形式可以看到,约束还是凸的非线性约束,尚且还能用IPOPT进行求解,可以考虑一般性的问题“. Indeed, in case collisions cannot be avoided, the above formulation is not able to find "least-intrusive" trajectories by softening the constraints.”如果出现了解不得不发生碰撞,没有办法避免,我们也得给出一个尽量发生最小碰撞的解,具体表达就是尽量少的侵入障碍物的解,这个东西的表达就得用到刚才distance中的penetration部分。一样的,还是利用对偶性质,把它做一个转换:



优化问题的general表达为:



然后我们再看full dimension形式的问题表达下面的优化问题转换,结论如下:

其实这个结论教材里也写了,见到8.2节(Distance between sets ) 大概意思就是在讲如下的sets的距离怎么算:

这个问题的优化表达为:

对偶函数是:

对偶问题就是:

我们用类似的思路就能证明上面的结论,现在我们也一样引入这么一个中间变量,优化问题就变成:

对偶函数是:




这个表达就是刚才的对偶转化的结论:

由于强对偶成立,所以只要能够找到满足条件的就可以保证安全距离约束成立:

这样当前的优化问题可以被重写成:

然后继续考虑general 的表达,把penetration也考虑进来:

然后对偶转化部分的一般化表达就变成了:


然后在考虑一个松弛变量,将碰撞部分的约束进行一个松弛:

最后优化问题的表达为:

文章后面还有一个后续版本发到了CDC2018,主要是针对之前的工作再加了一些工程化的改动。





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

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

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