1.一种基于A星优化算法的寻路方法,其特征在于,包括以下步骤:给出地图的网格图,并确定相应障碍点的位置坐标,确定起始点和目标点坐标;
构建起始点和目标点之间的直线函数,根据所连直线的倾角,判断采用横向遍历还是纵向遍历,求出直线与网格相交的关键点,再求出相关毗邻的节点,判断这些节点中是否有与障碍点重合的节点;
若节点与障碍节点不重合,则寻找的最佳路径就是汽车起始点和目标点之间的一条直线;
若遇到障碍点,就内部调用A星算法:
f(n)=g(n)+h(n)
其中f(n)是估价函数,g(n)是起始点到当前点之间的代价值,h(n)是从当前点到目标点的最短路径的启发值。将当前节点放入close列表中,周围节点放入到open列表中,所述open列表中存储当前节点周围的节点,不包括障碍节点和已经存在于close列表中的节点;所述close列表用来存储路径确定的相关节点。计算出当前节点的邻近点的f值,选择f值最小的节点作为下一个父节点,将其放在close列表中;
判断open列表是否为空,如果不为空,说明在达到结束点前已经找到所有可能路径点,寻路失败,算法结束,否则继续寻路;
从open列表中取出一个f值最小的点,作为寻找路径的下一步;
判断该点是否是目标点,如果是,则寻路成功,算法结束;否则继续寻路,将该点设为当前点。
2.根据权利要求1所述的一种基于A星优化算法的寻路方法,其特征在于,所述相关相毗邻节点根据构建的无人驾驶汽车起始点和目标点之间的数学函数y=kx+b得到,通常有四种形式:第一种:关键点的x,y值都不是整数,则这个关键点只有一个节点;
第二种:关键点的x值为整数,y值不是整数,则这个关键点的节点在网格横向相邻的邻边上;
第三种:关键点的y值为整数,x值不是整数,则这个关键点的节点在网格纵向相邻的邻边上;
第四种:x,y同时为整数,则这个关键点同时拥有四个节点。
3.根据权利要求1所述的一种基于A星优化算法的寻路方法,其特征在于,所述f值最小的点是由g值和h值相加确定的,其中g值的大小是从进入A星算法的起始点到当前节点的代价值,h值采用对角线距离,其计算公式如下:其中,h(n)是从当前点到目标点的最短路径的启发值,D是代价值,h_diagonal(c)是沿斜线可以移动的步数,h_strainght(c)是直线移动的步数。