1.一种基于改进A*算法的智能船舶路径规划方法,其特征在于,包括以下步骤:S1、建立栅格地图,并将起始点S和障碍点分别放入Open链表和Closed链表中;
S2、确认起始点和目标点并根据夹角θ舍弃8个搜索方向中的3个搜索方向;
S3、检查Open链表中的扩展节点有无目标点,若没有目标点,则跳到步骤四;若存在目标点,则利用双向Folyd算法优化路径平滑度,同时将目标点加入Closed链表中,保存搜索路径并结束算法;
S4、将当前节点设置为父节点,并将其转移到Closed链表中;
* *
S5、根据公式 计算各个扩展节点的fi (n)值,并选择fi (n)最小的点作为新节点,同时,将其余扩展节点都存放到Closed链表中;
S6、确认Open链表是否为空表,若不为空表,则返回步骤三,若Closed链表已空,则路径不存在,算法结束;其中所述S2的所述夹角θ的具体计算过程如下:
1:连接当前节点和目标节点,测算其夹角θ;
2:根据所述夹角θ和关系表,舍弃3个搜索方向,所述关系表具体如下:
3:在路径搜索时,将夹角θ引入启发信息;
步骤S5所述公式 为改进评价函数,其启发函数 中引入障碍率Pz,所述启发函数 具体公式如下:
dx=∣xs‑xr∣
dy=∣ys‑yr∣
所述启发函数 公式中:xs,ys为起始点S的横纵坐标;xr,yr为目标点T的横纵坐标,Pz为障碍率。
2.根据权利要求1所述的基于改进A*算法的智能船舶路径规划方法,其特征在于,所述步骤S1中,所述Open链表用于存放已经生成但未检测的节点。
3.根据权利要求1所述的基于改进A*算法的智能船舶路径规划方法,其特征在于,所述步骤S1中,所述Closed链表用于存放已检测过但因为未满足要求而不被考虑的节点。
4.根据权利要求1所述的基于改进A*算法的智能船舶路径规划方法,其特征在于,所述步骤S3中扩展节点采用按等级高低对子节点排序方法进行扩展,设当前节点为(O),周围节点分别为(A、B、C、D、E、F、G、H),进行等级的划分,与当前节点在正东、正北、正西、正南4个方向上紧邻的节点划为高级组;与当前节点在对角线方向上邻接的节点划为普通组,在子节点生成的过程中,首先搜索高级组中的子节点,然后根据选择规则生成普通组的子节点。
5.根据权利要求1所述的基于改进A*算法的智能船舶路径规划方法,其特征在于,步骤S3所述双向Folyd优化路径平滑度的具体过程如下:
1.1:对路径中同一直线上的中间冗余点进行删除,仅保留起始点,拐点和目标点;
1.2:从起始点S开始,在保留节点pi,pj之间每k步取一个节点,判断取的节点和上一路径节点之间有无障碍物,若有,则路径节点不改变;若无,则计算障碍物与节点pj,pk连线之间连线的距离;
1.3:将双向平滑的理念引入Floyd算法中,从目标点T,反方向取点判断安全距离,具体判别法和步骤SS2相同;
1.4:输出路径,算法结束。
6.根据权利要求1所述的基于改进A*算法的智能船舶路径规划方法,其特征在于,所述障碍率Pz的公式如下:。
7.根据权利要求6所述的基于改进A*算法的智能船舶路径规划方法,其特征在于,所述障碍率Pz的公式中:M为障碍栅格个数,Pz∈(0,1)。