【Planning】路径规划方法汇总

什么是规划

规划的本质是搜索。

基于目标函数,找到一个安全舒适的行驶轨迹。

机器学习的话,其实是一个寻找mapping的过程,state to action 的mapping

搜索是寻找action去optimize objective function 的过程。

如何搜索

可以通过BFS, DFS进行搜索,不过效率不高,他们都是Non-informative search

A*为代表的方法使用了目标的信息,属于informative search,效率会高些。

对于 RL, prioritize search目标的时候是通过目前的cost加上heuristic cost,就是value function,对于RL,怎么设计和找到这个value function是个关键点。

A*算法对于无人车的路径规划有多远?

对于无人车而言,周围是个Partially observed dynamics environment,这种情况下,A*是有局限性的,A*本身是个Global Optimization,要求对整个环境全知,部分了解就会出问题。因此A*现在只应用在Global routing。

对于Partially observed dynamics environment,可以用贪心算法,表现出来就是Incremental search。

 无人车还要考虑车辆自己的运动模型,让平滑规划的轨迹,使其可以行驶。

 Motion Planning 规划方法

 

 dubin path对于无人车来说是不可以的。因为curvature不是连续的。

PRM 全空间撒点

要求对环境全知,很难实现。

通过partial observed 的环境,在一个半径内撒点,找新散布的点里那些距离原来的点较近。

 

MIT提出了改进,用平滑线去sampling, 但也有问题:动态障碍物和曲线不够平滑,主要原因是随机的撒点。

 

 局限性,不够平滑。

 curvature连续的曲线。

方格,没有人实际这么开车。

规则话的sampling,指数级的加点。computational intractable

改进,先撒点,然后再用平滑曲线去连接。重复计算简化下来------动态规划

说的简单点,最开始的Lattice Planning是不长记性的,动态规划是长记性的。

继续改进,用SL坐标系。

 路径迭代算法,可以找到一个局部最优解,但是不是全局最优,有时会出问题。

把曲线funtional话,l=f(s),优化function的objective。上面用到的方法是Quadratic Programming 凸优化,convex programming,在凸空间里,可以用二次规划很快找到最优解。

最开始的 Lattice Planner, exponential exploration时间复杂度N^{P} 太慢,是N的指数,优化后的DP,把相似的计算结果存储,复杂度是polynomial time,再进一步, 把目标函数处理成凸函数,Quadratic Programming,用牛顿法优化,二次迭代, double exponential,通过几次迭代就可以得到解, 比binary Search还要快。QP的问题是,QP要求目标函数是凸的,并且 Search Space 也是凸的。QP没法处理非凸的问题,但是速度快。

不同方法比较

Graph search based planners: Dijkstra algorithm,A-star algorithm (A*),State Lattice;

traverse a state space to get from point A to point B. This state space is often represented as an occupancy grid or lattice that depicts where objects are in the environment.

Sampling based planners: Probabilistic Road Maps (PRM)Rapidly-exploring Random Tree (RRT);

Interpolating Curve Planners:Lines,Circles,Clothoid,Polynomial,Bezier,Spline;

Numerical Optimization: Function Optimization.

参考资料:

[1] Apollo 进阶课程

[2] A Review of Motion Planning Techniques for Automated Vehicles

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值