路径规划-Hybrid A*算法

一、算法简介:

       Hybrid A*算法仍然是一种图搜索算法。在A*算法中通常把实际物体当作一个点,不考虑物体的运动方向和物理结构的实际运动。Hybrid A*是2010年由斯坦福大学基于A*改进的算法,Hybrid A*规划的路径考虑了车辆的运动学约束,即满足了车辆的最大曲率约束。

路径规划-Hybrid A*算法_第1张图片

图1. 基于图搜索的相关算法

      图左是非常经典的A*算法,在A*算法中每一个状态格都当作一个像素点,也就是机器人路径由每个方格中心的连线组成。图中心是Field D*算法,它相对A*和后面发展的几种算法来讲最大的区别是允许路径的落脚点在方格的四周。 图右是Hybrid A*算法,它允许路径选择的落脚点在状态方格里面,而且其中的连线用某种曲线代替。

1.1改进理由:

      在普通的A*算法中通常假设物体的前进方向有四个或者八个如图1.1,这将限制物体路径方向变化,也就是在朝目标点移动的时候物体转变的方向只能为π/4的倍数,从而导致路径为次优的,并对于大型复杂的机器结构来讲难以实现而且路径往往不是最优路径。

在图1.2中是由两个等腰直角三角形组合成的等腰四边形,受于A*算法转向角的限制,路径规划往往是按照黄色线路来走。

路径规划-Hybrid A*算法_第2张图片路径规划-Hybrid A*算法_第3张图片

图1.1 A*算法的前进方向                     图1.2 路径长度对比

路径规划-Hybrid A*算法_第4张图片

图1.3  Field D*算法的路径优化的改进

 如图1.3, Field D*算法允许将路径的落脚点在状态格的周边,在很大程度上优化了路径,缺点是虽然考虑物体的转向限制,但也没有考虑实际中物体的转向角限制和物体转向所消耗的路径长度。

路径规划-Hybrid A*算法_第5张图片

图1.4 Hybrid A*算法的路径优化的改进

 算法规划主要包括两步:第一步是落点的选择。第二步是两点之间连线的优化。

1.2Hybrid A*算法:

Hybrid A*算法的启发式包括两种: non-holonomic without-obstaclesholonomic with obstacles

路径规划-Hybrid A*算法_第6张图片

 图1.2.1 paper内容描述

     前者考虑了车辆的运动约束,但不考虑障碍物,一般使用RS曲线(Reeds-Shepp曲线),Dubins曲线(Dubins曲线在路劲规划里和RS曲线差不多,只不过多了一个约束条件:汽车只能朝前开,不能后退);后者将车辆当成网格地图上面的点,但考虑了障碍物,再搜索上相当于直接照搬A*算法

1.3算法流程图

在算法流程上面还理解不太详细而且感觉网上资料也不太清楚和准确,这部分以后再补充。

阅读来源:[规划算法]Hybrid A *算法原理 - 剑本凡铁 - 博客园

paper: Practical Search Techniques in Path Planning for Autonomous Driving

Practical Search Techniques in Path Planning for Autonomous Driving (stanford.edu)

你可能感兴趣的:(扩展学习,自动驾驶,人工智能)