apollo学习笔记十三:apollo规划技术(三)

Optimization Inside Motion Planning

约束问题的核心有三点:
(1)目标函数的定义,目标函数比较清晰,对于后面的求解更有帮助。
(2)约束,比如路网约束、交规、动态约束等。
(3)约束问题的优化,比如动态规划、二次规划等。

动态规划

通过类似于有限元的方式,把问题从连续空间抽象成离散空间,然后在离散空间中里把重复计算通过aggregating方式进行简化。虽然这种方法可以逼近连续空间中的最优解,但是计算复杂度很高。针对计算时间长的问题,可以使用牛顿方法进行优化,它的收敛次数是指数平方,也叫二次收敛。

二次规划

在这里插入图片描述

在实践中,二阶导数基本可以满足问题需求。如果知道凸问题的二阶导数,就能以更快的方法找到最优解。如果不是凸函数,也能使用二次规划,但是收敛性很难保证。二次规划也涉及牛顿法与泰勒逼近,但牛顿法要求 locally convex 才能保证收敛,也就是导数是严格单调递增的。但是一般函数并没有这样的特性,动态规划或二次规划都无法获得全局最优解。
在这里插入图片描述

  • 一个二次规划问题写成一个二次函数,如上图所示,其中,X 是向量参数,Q 是一个对称的正定矩阵, cTx是偏差项。对于这种没有约束的二次规划问题,只需要求导数等于0的那个点,使得 Qx=−C ,即可求解二次规划问题。

启发式搜索方法

首先通过动态规划方式对整个问题有一个粗浅的认识,然后通过二次规划进行细化。这种启发式搜索方法也是目前百度 Apollo 的 EM 算法的核心思想。这种方法和人开车的过程是一样的,通常驾驶员会先形成一个大概的指导思想,指明往什么方向开,然后再规划一条最优路径。

  • KKT
    在这里插入图片描述
  • Active set method
    在这里插入图片描述

总的来说,对于求解非线性优化问题(自动驾驶中的规划基本都是非线性的),通常就是用启发式方法来求解。先用动态规划给出一个粗略解,给出一个凸空间。然后用二次规划方法在凸空间里去寻找最优解

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值