CN109859525B - 基于a星算法的车位导航方法 - Google Patents
基于a星算法的车位导航方法 Download PDFInfo
- Publication number
- CN109859525B CN109859525B CN201910266700.8A CN201910266700A CN109859525B CN 109859525 B CN109859525 B CN 109859525B CN 201910266700 A CN201910266700 A CN 201910266700A CN 109859525 B CN109859525 B CN 109859525B
- Authority
- CN
- China
- Prior art keywords
- vertex
- parking space
- grid
- starting point
- cost
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Navigation (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明提供基于A星算法的车位导航方法,属于停车位管理技术领域。本发明将停车场划分为网格,每一个网格视为一个顶点;将起点放入集合A中,集合B置空;然后将A中的各顶点按照代价值升序排列,并将第一个顶点Vi放入B中;判断Vi是否为终点,如果是,导航结束;如果不是,扩展Vi的子顶点Vj;如果A、B中都没有Vj,那么将Vj放置到A中并将指针指向它的父级顶点Vi;如果A中存在Vj,则更新集合A中Vj的代价值,并将指针指向Vi;如果B中存在Vj,则该顶点不需考虑;重复上述操作直至导航结束。本发明解决了现有车位导航不能快速有效找到最短路径的问题。本发明可用于停车位管理。
Description
技术领域
本发明涉及车位导航方法,属于停车位管理技术领域。
背景技术
车位导航目前已经开始应用于停车场的管理,现在的停车场多而大,当用户开车行驶进入停车场时,想要寻找车位时,如果视野当中没有空闲的可停车位时,用户只能漫无目的的在停车场中寻找。如果停车场剩余的位置不多,对于用户而言如果没有提示,剩余的几个位置要更难寻找。若停车场中已经没有了车位,那么这次的行为就是浪费且多余的。随着拥有车辆的用户增多,车位有限,车辆乱停乱放的问题逐渐严重,交通秩序受到了极大的影响,而车位导航的应用功能可以让用户高效的利用这些车位,让司机用户更容易找到车位,减少车辆违停的现象,维护交通秩序。
而车位导航中最需要解决的问题是如何规划从起点至目标车位的路线。车位导航本质其实就是在已知起点和终点的情况下进行路径搜索,所谓路径搜索就是在既定的地图中搜索出从起点到目的点的可行路径,绕行路径中的障碍,而且路径的搜索结果往往不止一条路径,有的路径长,有的路径短;因此如何尽可能快速的准确搜索出两点间的最短路径是车位导航技术的关键。
传统的车位导航技术通常使用宽度优先搜索算法、深度优先搜索算法以及Dijkstra算法(E.W.Dijkstra于1959年提出,又叫迪杰斯特拉算法),宽度优先搜索算法和深度优先搜索算法这两种方式在选择下一个顶点时并没有把连接两个顶点的边的权值考虑进去,也就是路线的成本没有考虑在计算范围内,所以搜索到的结果存在一定误差,通常将这种盲目地选择顶点的方式的算法归纳为盲目型算法。采用Dijkstra算法的车位导航技术虽然将路线的成本考虑在计算范围内,算法简明,不存在负权值的边时能得到最短路径,但是缺点也很明显:效率低、运算中占用空间大。
发明内容
本发明为解决现有车位导航不能快速有效找到最短路径的问题,提供了基于A星算法的车位导航方法。
本发明所述基于A星算法的车位导航方法,通过以下技术方案实现:
步骤一、将停车场划分为网格,每一个网格视为一个顶点,分别确定障碍物、起点Vs、终点Vg所在的网格;除障碍物之外的顶点数目为n;
步骤二、将起点Vs放入集合A中,并将集合B置空;
步骤三、将集合A中的各个顶点按照代价值由小到大排列,并将第一个顶点Vi放入集合B中;
步骤四、判断步骤三放入集合B中的顶点Vi是否为终点Vg,如果是,路径搜索成功,导航结束;如果不是,扩展Vi的子顶点Vj,j=1,...,n;j≠i,以顶点间路径距离作为代价,并计算Vj的代价值;
步骤五、判断Vj是否在集合A或集合B中;
如果两个集合中都没有顶点Vj,那么将顶点Vj放置到集合A中并将指针指向它的父级顶点Vi;
如果集合A中存在Vj,则更新集合A中Vj的代价值,并将指针指向它的父级顶点Vi;
如果集合B中存在Vj,则该顶点不需考虑;
返回步骤三。
本发明最为突出的特点和显著的有益效果是:
本发明所涉及的基于A星算法的车位导航方法,在选择下一个顶点时会把连接两个顶点的边的权值考虑进去,对集合A进行升序排序,使得被移入集合B、构成最终路径的顶点是代价最小的顶点。因此本发明方法相比采用盲目型搜索算法的车位导航技术在搜索结果上更具智能性,比采用Dijkstra算法的为导航技术在搜索过程中更具方向性,因此本发明方法导航计算复杂度较低、导航快速、结果有效准确;实施例中车位导航速度在1秒能完成。
附图说明
图1为本发明流程图;
图2为本发明中代价值计算原理图;
图3为实施例中停车场划分为网格后的示意图;
图4为实施例中起点的子顶点代价值信息图;
图5为实施例中顶点代价值信息图;
图6为实施例中车位导航功能静态类图;其中Point表示顶点类,AddPoint表示扩充顶点类;UpdatePoint表示更新顶点类;AStarView表示视图类;RefreshPoint表示刷新节点类;UpdateObject表示更新目标类;int表示整数类型;rect为构造函数;double表示双精度数据类型;List表示列表;Random为随机函数;
图7为实施例中车位导航功能序列图;
图8为实施例中APP上车位导航界面示意图
图9为实施例中车位导航结果在APP上的显示示意图。
具体实施方式
具体实施方式一:结合图1对本实施方式进行说明,本实施方式给出的基于A星算法的车位导航方法,具体包括以下步骤:
步骤一、将停车场划分为网格,每一个网格视为一个顶点,分别确定障碍物、起点Vs、终点Vg所在的网格;除障碍物之外的顶点数目为n;起点Vs和终点Vg属于特殊的顶点;
步骤二、将起点Vs放入集合A中,并将集合B置空;
步骤三、将集合A中的各个顶点按照代价值由小到大排列,并将第一个顶点Vi放入集合B中;
步骤四、判断步骤三放入集合B中的顶点Vi是否为终点Vg,如果是,路径搜索成功,导航结束;如果不是,扩展Vi的子顶点Vj,j=1,...,n;j≠i,以顶点间路径距离作为代价,并计算Vj的代价值;
步骤五、判断Vj是否在集合A或集合B中;
如果两个集合中都没有顶点Vj,那么将顶点Vj放置到集合A中并将指针指向它的父级顶点Vi,返回步骤三;
如果集合A中存在Vj,则更新集合A中Vj的代价值(用步骤四中算得的相对更小的Vj的代价值替换集合A中原来相对更大的Vj的代价值),并将指针指向它的父级顶点Vi;返回步骤三;
如果集合B中存在Vj,则该顶点不需考虑,进入下一步;返回步骤三。
本发明方法会对集合A进行升序排序,使得被移入集合B、构成最终路径的顶点是代价最小的顶点。这是A星算法比盲目型搜索算法在搜索结果上更具智能性,比Dijkstra算法在搜索过程中更具方向性进而更具智能性的原因。从而保证了导航的快速、准确。
具体实施方式二:本实施方式与具体实施方式一不同的是,所述基于A星算法的车位导航方法还包括以下起始点验证操作:
在步骤二之后判断集合A是否为空集,如果集合A为空集则将起点存放失败,路径搜索失败,导航结束;如果集合A不为空,进入步骤三的操作。这样可以防止出现误操作或者排除系统出现某些故障的情形,比方说选择非法的起点等。
其他步骤及参数与具体实施方式一相同。
具体实施方式三:本实施方式与具体实施方式二不同的是,步骤四中所述Vi的子顶点指的是与顶点Vi相邻的顶点(点Vi周围的顶点),障碍物所在网格除外。因此,每个顶点可能有1~8个子顶点,如图4中起点Vs有6个子顶点。
其他步骤及参数与具体实施方式一或二相同。
具体实施方式四:本实施方式与具体实施方式三不同的是,所述Vj的代价值具体的计算式为:
F(Vj)=G(Vj)+H(Vj)
其中,F(Vj)是经过顶点Vj到达终点Vg所要付出的代价值;G(Vj)是自起点至顶点Vj已付出的代价的实际值;H(Vj)是自顶点Vj至终点Vg所要付出的代价的估算值。
代价值越小,表示经过该顶点到达终点所要付出的代价越小(距离越短),则该点的重要性越强。
如图2所示,起点为I(1,4);终点为E(8,1);则经过点J(5,4)到达终点E所要付出的代价值:
而经过点C(1,1)到达终点E所要付出的代价值:
F(C)=G(C)+H(C)=|4-1|+|8-1|=10
可知,通过当顶点J到达终点E所付出的代价更小,即路径I→J→E比路径I→C→E更短。
其他步骤及参数与具体实施方式一、二或三相同。
其他步骤及参数与具体实施方式一、二、三或四相同。
实施例
采用以下实施例验证本发明的有益效果:
(1)将本发明方法应用在移动终端APP上,以A星算法为基础,在APP中自定义以寻找最优路径为目的的控件,该自定义控件需要应用Android组件绘制图模型,并支持选择起点与终点,且最终显示路径规划的动画效果。设计车位导航功能静态类图如图6所示;车位导航功能序列图如下图7所示。
(2)停车场设置传感器识别车位是否有车辆停放,以及图像识别系统识别停放的车辆车牌号是否为预订该车位的车辆,一旦不一致应给予提示。如果该车位已经被预订,或已有车位占用,应将这些信息上传至服务端,供APP进行处理将结果返还给用户,以防出现秩序混乱或错误的信息提示。
在APP中点击车位导航按钮,进入车位导航界面,设定起点终点,如图8所示。
(3)而车位导航中最需要解决的问题是如何规划从起点至目标车位的路线;
如图3是某停车场划分为网格后的示意图,虚线方块表示可通行的道路,每一块道路以坐标的形式表示,而黑色方块表示图中的障碍物不可通行。道路的顶点V(x,y);x,y分别为表示顶点V(x,y)的X轴坐标和Y轴坐标,起始顶点为Vs,目标顶点为Vg;顶点V(x,y)水平、竖直移动一格的代价是10,斜移一格的代价是目标顶点Vg的坐标值为(7,5)。依据以上信息,可选的启发函数为:
F(V(x,y))=G(V(x,y))+H(V(x,y))
具体计算的时候根据实际情况选择计算复杂度较低的进行运算。
基于A星算法的车位导航过程如下。
1.将起始顶点Vs移入集合A,将集合B置空;
2.如图4所示,因为障碍物顶点不能通行,所以不被搜索,即不能作为子顶点。将Vs的子顶点移入集合A,Vs移入集合B;
3.计算集合A中各顶点的代价值并进行升序排序;
4.将集合A中的第一个顶点移入集合B;
5.选择将最先加入集合A且代价值最小的顶点移入集合B;
顶点Vs到顶点V(4,4)的行驶路线是Vs→V(4,4),而不是Vs→V(4,5)→V(4,4),因为后一种路线其行驶方案会使G(V(4,4))由原来的14变为20,致使F(V(4,4))由原来的54变为60;除非新的代价值更小,否则保持原代价值不变;新的代价值60大于原有的代价值54,所以F(V(4,4))的估算代价仍保持54不变;
6.如图4,顶点V(4,4)的子顶点为Vs、V(4,5)、V(3,4)、V(3,3)、V(4,3),忽略已经移入集合A的顶点Vs、V(4,5)和己存在于集合A的顶点V(3,4),所以选择将顶点V(3,3)、V(4,3)添加入集合A。
7.计算集合A中各顶点的代价值并进行升序排序;
8.将集合A中的第一个顶点移入集合B;
此时顶点Vs到顶点V(4,6)的行驶路线是Vs→V(4,6),而不是Vs→V(4,4)→V(4,5)→V(4,6),原理与步骤5一样。
继续执行上述步骤,直到目标顶点Vg被移入集合B为止,最终的代价值信息如图5所示,最终路径是Vs→V(4,6)→V(5,7)→V(6,6)→Vg。
(4)上述车位导航过程瞬间(1秒内)能完成,并将生成的最优路径在APP中以路径的形式标识出来;如图9所示。
本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (3)
1.基于A星算法的车位导航方法,其特征在于,具体包括以下步骤:
步骤一、将停车场划分为网格,每一个网格视为一个顶点,分别确定障碍物、起点Vs、终点Vg所在的网格;除障碍物之外的顶点数目为n;
步骤二、将起点Vs放入集合A中,并将集合B置空;
步骤三、将集合A中的各个顶点按照代价值由小到大排列,并将第一个顶点Vi放入集合B中;
步骤四、判断步骤三放入集合B中的顶点Vi是否为终点Vg,如果是,路径搜索成功,导航结束;如果不是,扩展Vi的子顶点Vj,j=1,...,n;j≠i,以顶点间路径距离作为代价,并计算Vj的代价值;
步骤四中所述Vi的子顶点指的是与顶点Vi相邻的顶点,Vi的子顶点包括顶点Vi上方相邻的顶点、顶点Vi下方相邻的顶点、顶点Vi左侧相邻的顶点、顶点Vi右侧相邻的顶点、顶点Vi左上方相邻的顶点、顶点Vi右上方相邻的顶点、顶点Vi左下方相邻的顶点以及顶点Vi右下方相邻的顶点,障碍物所在网格除外;
所述Vj的代价值具体的计算式为:
F(Vj)=G(Vj)+H(Vj) (1)
其中,F(Vj)是经过顶点Vj到达终点Vg所要付出的代价值;G(Vj)是自起点至顶点Vj已付出的代价的实际值;H(Vj)是自顶点Vj至终点Vg所要付出的代价的估算值;
步骤五、判断Vj是否在集合A或集合B中;
如果两个集合中都没有顶点Vj,那么将顶点Vj放置到集合A中并将指针指向它的父级顶点Vi;
如果集合A中存在Vj,则更新集合A中Vj的代价值,并将指针指向它的父级顶点Vi;
如果集合B中存在Vj,则该顶点不需考虑;
返回步骤三。
2.根据权利要求1所述基于A星算法的车位导航方法,其特征在于,所述基于A星算法的车位导航方法还包括以下起始点验证操作:
在步骤二之后判断集合A是否为空集,如果集合A为空集则将起点存放失败,路径搜索失败,导航结束;如果集合A不为空,进入步骤三的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910266700.8A CN109859525B (zh) | 2019-04-03 | 2019-04-03 | 基于a星算法的车位导航方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910266700.8A CN109859525B (zh) | 2019-04-03 | 2019-04-03 | 基于a星算法的车位导航方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109859525A CN109859525A (zh) | 2019-06-07 |
CN109859525B true CN109859525B (zh) | 2020-12-08 |
Family
ID=66903146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910266700.8A Active CN109859525B (zh) | 2019-04-03 | 2019-04-03 | 基于a星算法的车位导航方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109859525B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110706498A (zh) * | 2019-09-03 | 2020-01-17 | 常州轻工职业技术学院 | 一种智能停车管理系统及其工作方法 |
CN111243286B (zh) * | 2020-01-16 | 2020-12-22 | 浙江科技学院 | 基于ZigBee与云服务器的停车场自动控制、管理方法与系统 |
CN111726757A (zh) * | 2020-05-25 | 2020-09-29 | 南京理工大学 | 一种基于蓝牙的室内停车场定位与导航方法 |
CN111627246B (zh) * | 2020-06-12 | 2022-02-11 | 桂林电子科技大学 | 基于图像识别与用户偏好的智能车位推荐方法 |
CN111982142B (zh) * | 2020-07-31 | 2023-04-18 | 华南理工大学 | 一种基于改进a星算法的智能车全局路径规划方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473947A (zh) * | 2013-09-22 | 2013-12-25 | 江苏省交通规划设计院股份有限公司 | 基于模糊识别技术的地下空间反向寻车系统和方法 |
CN103557867A (zh) * | 2013-10-09 | 2014-02-05 | 哈尔滨工程大学 | 一种基于稀疏a*搜索的三维多uav协同航迹规划方法 |
CN103697895A (zh) * | 2014-01-09 | 2014-04-02 | 西安电子科技大学 | 基于自适应a星算法的飞行器最优路径确定方法 |
CN105758410A (zh) * | 2015-11-14 | 2016-07-13 | 大连东软信息学院 | 基于A‐Star 算法的快速路径规划混合方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2015276998A1 (en) * | 2014-06-18 | 2017-01-12 | Sensity Systems Inc. | Application framework for interactive light sensor networks |
JP6379117B2 (ja) * | 2016-01-08 | 2018-08-22 | 株式会社Subaru | 経路探索装置、経路探索方法及び経路探索プログラム |
CN107687859A (zh) * | 2017-09-06 | 2018-02-13 | 电子科技大学 | 基于a星算法的最短寻路方法 |
-
2019
- 2019-04-03 CN CN201910266700.8A patent/CN109859525B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473947A (zh) * | 2013-09-22 | 2013-12-25 | 江苏省交通规划设计院股份有限公司 | 基于模糊识别技术的地下空间反向寻车系统和方法 |
CN103557867A (zh) * | 2013-10-09 | 2014-02-05 | 哈尔滨工程大学 | 一种基于稀疏a*搜索的三维多uav协同航迹规划方法 |
CN103697895A (zh) * | 2014-01-09 | 2014-04-02 | 西安电子科技大学 | 基于自适应a星算法的飞行器最优路径确定方法 |
CN105758410A (zh) * | 2015-11-14 | 2016-07-13 | 大连东软信息学院 | 基于A‐Star 算法的快速路径规划混合方法 |
Non-Patent Citations (1)
Title |
---|
路网寻径中的A星算法改进;张强;《中国优秀硕士学位论文全文数据库 信息科技辑》;20170215(第2期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109859525A (zh) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109859525B (zh) | 基于a星算法的车位导航方法 | |
CN107992050B (zh) | 无人驾驶汽车局部路径运动规划方法和装置 | |
WO2020029601A1 (zh) | 一种地图车道横向拓扑关系的构建方法、系统及存储器 | |
US10423840B1 (en) | Post-processing method and device for detecting lanes to plan the drive path of autonomous vehicle by using segmentation score map and clustering map | |
US7353111B2 (en) | Navigation system performing route guidance for vehicle | |
KR102332045B1 (ko) | 운전 참고 선 처리 방법, 장치 및 차량 | |
CN110687539A (zh) | 一种车位检测方法、装置、介质和设备 | |
CN112444263B (zh) | 全局路径规划方法及装置 | |
CN105488243A (zh) | 交叉口结构的联合概率建模及推断 | |
CN108961811A (zh) | 停车场车辆定位方法、系统、移动终端及存储介质 | |
JPWO2010109805A1 (ja) | 交差点の進路規制情報生成装置及びその方法、交差点の進路規制情報を生成するためのコンピュータプログラム及びそのコンピュータプログラムを記録した記録媒体 | |
CN111460879B (zh) | 利用网格生成器的神经网络运算方法及使用该方法的装置 | |
CN111272190A (zh) | 地图标定错误检测方法和装置 | |
CN113442908B (zh) | 自动泊车路径规划方法及系统、泊车控制设备 | |
JP2023038241A (ja) | 情報処理装置 | |
CN114754778B (zh) | 一种车辆定位方法以及装置、电子设备、存储介质 | |
CN118392202A (zh) | 一种全局最优路径规划方法、电子设备及介质 | |
CN116148890A (zh) | 高精度地图车道规划方法、系统、电子设备及存储介质 | |
CN113778102B (zh) | Avp全局路径规划系统、方法、车辆及存储介质 | |
CN114964287A (zh) | 车道定位方法、计算机设备、计算机可读存储介质及车辆 | |
CN111461318B (zh) | 利用网格生成器的神经网络运算方法及使用该方法的装置 | |
JP2013050411A (ja) | 自車位置認識システム、自車位置認識プログラム、及び自車位置認識方法 | |
JP5679203B2 (ja) | 自車位置認識システム、自車位置認識プログラム、及び自車位置認識方法 | |
CN107490381A (zh) | 一种线路修正方法及装置 | |
JP2014178285A (ja) | 交差点目印データ作成装置及びその方法、並びに交差点の目印データを作成するためのコンピュータプログラム及びコンピュータプログラムを記録した記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |