1.一种基于改进遗传算法的移动机器人路径规划方法,其特征在于,包括以下步骤:S1,建立栅格点地图模型,并设置机器人起始点的位置坐标信息S(x,y)、目的地的位置坐标信息T(x,y)以及赋予每个栅格点一个属性值表示行走的困难度;
S2,运用障碍物膨胀法对障碍物进行膨胀,膨胀范围是机器人宽度的r倍,若膨胀之后两个障碍物相交则视为一个障碍物以确保机器人与障碍物有绝对的安全距离,r>1/2;
S3,判定当前机器人在全局坐标系中的初始位姿;
S4,利用SPS算法获取空间中各个静态障碍物的周围点,若周围点在障碍物内,则缩小相邻栅格点之间的距离;
S5,将获得的障碍物周围点两两相连并去除与障碍物相交的连线,并用深度优先遍历得到从起始点到目标点的所有可行路径,即初始种群;然后增加删除算子、平滑算子优化生成的路径;最后引入小生境法来保持种群多样性。若到达迭代次数,则执行S6,若没达到迭代次数,则更新种群继续迭代;
S6:开始执行并判断是否已经到达目的地坐标位置T(x,y),若到达则结束导航,若没有到达,则返回继续执行S4。
2.根据权利要求1所述的一种基于改进遗传算法的移动机器人路径规划方法,其特征在于,所述步骤S2将运用障碍物膨胀法对障碍物进行膨胀,膨胀范围是机器人宽度的r倍,具体为:对机器人工作空间中的栅格点赋予另一个属性值并用布尔值标识,标识该栅格点是否在障碍物内,具体标识:式中,Pmn为栅格点标识符,Mmn为与Pmn对应栅格点的布尔值,m为栅格点对应的行,n为栅格点对应的列,T表示Pmn在障碍物内,F表示Pmn不在障碍物内,A表示Pmn为自由栅格点,B表示Pmn为威胁栅格点,障碍物膨胀法引入了虚拟障碍集合C,对障碍物周围的相邻栅格进行扩展,当相邻栅格以PNb表示时,扩展依据以下原则:if PNb∈A,thenPNb∈C,MNb=F
if PNb∈B,thenPNb∈C,MNb=F
根据障碍物膨胀法和相邻栅格点之间的距离将障碍物膨胀为机器人宽度的r倍以确保机器人与障碍物有绝对的安全距离,r>1/2,若增大后两个障碍物相交,则视为一个障碍物,否则视为两个障碍物。
3.根据权利要求1所述的一种基于改进遗传算法的移动机器人路径规划方法,其特征在于,所述步骤S3判定当前机器人在全局坐标系中的初始位姿,具体为:通过机器人的历史里程计数据结合当前环境信息E0i与地图环境模型进行匹配,定位当前机器人在全局坐标系中的位姿:根据Eti与 判断t时刻环境中的障碍物的全局坐标为Oti(Xti,Yti),满足:其中, 表示起始时刻机器人在全局坐标系XOY中的位姿、x0表示起始时刻机器人在全局坐标系XOY中的横坐标、y0表示起始时刻机器人在全局坐标系XOY中的纵坐标、θ0表示起始时刻机器人的位姿角度,(xt,yt)表示t时刻机器人的全局坐标,d0i表示第i个障碍物到机器的距离,θt表示机器人t时刻位姿角度,k表示障碍物和机器人位姿指向之间的夹角。
4.根据权利要求1所述的一种基于改进遗传算法的移动机器人路径规划方法,其特征在于,步骤S4利用Surrounding Point Set(SPS)算法获取空间中各个静态障碍物的周围点,若周围点在障碍物内,则缩小相邻栅格点之间的距离,具体步骤为:S41:定义障碍物的周围点、临时点;
在栅格点地图模型中,任意一个栅格点与其周围的8个点进行水平连接和垂直连接,若障碍物碰到其中一条或几条连线,则该栅格点称为障碍物的周围点,其余不在障碍物内的点称为临时点;
S42:产生周围点的步骤:
Step1:创建周围点集和sps和临时点集和temp,并确定起始参考点p,通过将起始点与目标点连成直线与障碍物相交,离该交点最近的栅格点为起始参考点p,并放入sps集合中,把与点p相邻的且不在障碍物内的点放入temp集合中;
Step2:依次迭代判断temp集合中的点是否为该障碍物的周围点,若是,则将该点放入sps集合中并移除temp集合中的该点,把与该点相邻的且不在障碍物内的点放入temp集合中,若不是,则将该点从temp集合中移除即可;
Step3:在保证temp集合与sps集合没有重复点的前提下,重复步骤Step2,直到temp集合为空。
5.根据权利要求4所述的一种基于改进遗传算法的移动机器人路径规划方法,其特征在于,所述步骤S5根据周围点,利用多约束条件下的遗传算法规划出一条从起始点S(x,y)到目标点T(x,y)的最优或次优路径,具体为:S51:产生初始路径;
S52:添加删除算子:如果一条路径中存在一个路径点pi,若删除pi,pi的前一个路径点pi-1与后一个路径点pi+1相连后是可行路径段,则删除pi;
S53:添加平滑算子:路径中的每个坐标点相当于粒子群算法中的粒子的位置,根据坐标点的前后坐标计算出粒子的速度,根据位置更新公式和速度更新公式,计算出新的坐标点,经过多次迭代后使路径更平滑;
S54:选择算子:采用锦标赛法进行选择,即对种群中的个体进行随机分组,每组根据个体的适应度值选择适应度值最低的个体进入子代种群,并采用精英保留策略,按一定比例将适应度最优的个体不需要经过遗传直接复制到子代种群;
S55:交叉算子:采用单点交叉方式,即随机选择两个个体,找出路径相同点进行交叉,这样可以保证路径的连续性,如果交叉后不是连续的路径,则将上半段的最后一个点和下半段的第一个点作为起始点和目标点,运用障碍物的周围点集进行修补使其成为一条连续的路径;
S56:变异算子:对路径上点的坐标依据概率进行小范围调整,从而保证变异后路径的可行性。
6.根据权利要求5所述的一种基于改进遗传算法的移动机器人路径规划方法,其特征在于,所述步骤S51产生初始路径的步骤具体为;
Step1:让机器人从起始点出发沿直线走到目标点,如果中途碰到障碍物,会根据SPS算法在障碍物的周围产生周围点集;
Step2:运用Dijkstra算法测试该障碍物的周围是否有可行路径,如果有,则沿着可行路径继续往前走;
Step3:如果没有可行路径,则减小栅格点之间的宽度,重复Step1和Step2。
7.根据权利要求5所述的一种基于改进遗传算法的移动机器人路径规划方法,其特征在于,所述步骤S53的位置更新公式和速度更新公式如下:其中 表示第t次迭代第i点与前一个点的位置之差, 表示第t次迭代第i点与后一个点的位置之差,xt,i(p)表示第t次迭代第i个点的位置,ω是惯性权重,表示的是前一时刻速度对当前速度的影响程度,r1和r2是0和1之间的随机数。
8.根据权利要求5所述的一种基于改进遗传算法的移动机器人路径规划方法,其特征在于,所述步骤S5在保证路径长度、路经困难度以及路径平滑度尽可能最小的情况下,在更少的时间内规划出一条无碰最优或次优路径,具体包括:S61:长度指标是指路径的总长度,如下式:
其中|pipi+1|是路径节点pi到路径节点pi+1的欧式距离,n表示一条可行路径中路径点的个数;
S62:平滑度指标是指路径中所有相邻矢量线段的角度之和,如下式:
其中θ(pipi+1,pi+1pi+2)是相邻矢量线段 和 的夹角,0≤θ≤π,C1是一个正整数,S是一条路径中线段的数量;
S63:困难度指标是指机器人经过路径中每一个节点的困难指数之和,如下式:其中xi表示路径中第i个节点,d(xi)表示机器人通过该节点的困难指数。
9.一种存储介质,该存储介质内部存储计算机程序,其特征在于,所述计算机程序被处理器读取时,执行上述权利要求1~8任一项的方法。