• 349查看
  • 0回复

[规划决策] 智能驾驶算法学习笔记-1—规划的混合A*

[复制链接]


该用户从未签到

发表于 9-4-2024 20:09:31 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


对于A*算法能够完成在二维地图网格中生成衔接始末位置的粗略路径,但是该算法并没有充分的考虑车辆的运动学模型,因此生成的路径几乎都无法被车辆直接跟踪执行。虽然A*算法所生成的路径仅用于决策(确定车辆绕行障碍物的拓扑方案),但更符合运动学规律的初始解无疑有利于加快轨迹规划环节的NLP求解过程。混合A*算法是经典A*算法的一种重要的改进版本,它致力于生成更符合车辆运动学规律的路径。混合A*(Hybrid A*)是一种启发式搜索算法,用于在连续空间中找到最短路径。它结合了传统的离散A*算法和连续空间路径规划方法,以在高维连续空间中进行路径搜索。


混合A*的基本原理如下:


    离散化地图:首先,将连续空间地图离散化为一个网格图。每个网格单元代表一个离散的状态,可以是可行驶或不可行驶的。

    构建离散A*:使用离散化的地图构建一个离散A图搜索。离散A算法使用启发式函数(如曼哈顿距离)来估计每个网格单元到目标的代价。它通过扩展网格单元来搜索最短路径。

    连续空间路径规划:在离散A*搜索中,当遇到离散路径的转折点时,将转折点映射回连续空间。然后,使用连续空间路径规划方法(如样条曲线)来生成两个连续空间转折点之间的路径。

    重复步骤2和3:重复执行步骤2和3,直到找到从起始点到目标点的最短路径。

混合A的优点是它可以在高维连续空间中进行路径搜索,而不需要对整个连续空间进行搜索。它通过离散化地图和连续空间路径规划的结合,可以在较短的时间内找到最短路径。然而,混合A的缺点是它需要对连续空间进行采样和路径规划,这可能会导致路径的近似性。



接下来我们用MATLAB对于整个混合A*的过程做一个仿真:
load parkingLotCostVal.mat % costValmap = binaryOccupancyMap(costVal);validator = validatorOccupancyMap;validator.Map = map;planner = plannerHybridAStar(validator,'MinTurningRadius',4,'MotionPrimitiveLength',5.5);startPose = [6 10 pi/4]; % [meters, meters, radians]goalPose = [90 46 -pi];refpath = plan(planner,startPose,goalPose);show(planner)

智能驾驶算法学习笔记-1—规划的混合A*w5.jpg

再详细的细节以及算法原理就需要诸位自行参悟了!

智能驾驶算法学习笔记-1—规划的混合A*w6.jpg

智能驾驶算法学习笔记-1—规划的混合A*w7.jpg



    自动驾驶系统学习——操作系统;

    智能驾驶系统学习——基础概念篇笔记;

    智能驾驶系统学习——基础模块概述;


引用 Refreences
本文由不架构的汽车电子电气原创,作者:Feynman-Yang。文中部分图片、封面图片来自网络截图,如因版权等有疑问,请于本文刊发30日内联系。©不架构的汽车电子电气微信公众账号 保留所有权利作者:92年,一个北方的汉子,汽车电子电气系统的工程师,一个带有三分浪漫主义,七分实用主义的90后,希望在这结识更多的朋友和伙伴,在这个领域遇到更多的高手和专家。

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 20-11-2024 17:24 , Processed in 0.313271 second(s), 30 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.