1.基于改进遗传算法的巡检机器人路径规划方法,其特征是,包括:建立巡检机器人行走的栅格地图;
获取巡检机器人在栅格地图中行走时的移动方向数据和位置数据;其中,移动方向数据和位置数据通过GPS获取;
根据巡检机器人的移动方向数据和位置数据,基于改进的遗传算法,得到最优移动路径排序,将排序最靠前的路径作为巡检机器人下一步的移动路径;具体步骤包括:S1.设置巡检机器人的初始位置,设置巡检机器人的目标位置,设置巡检机器人可行走的路径数量为初始种群规模,设置最大迭代次数;根据建立的栅格地图对种群进行初始化;
所述可行走的路径为不与障碍物栅格碰撞的路径;
S2.通过对初始种群的全局搜索,得到种群集合P;种群集合P是所有可行解的集合,后续操作都是对种群集合P中的个体进行的,通过后续操作不断优化所述可行解;
S3.执行带偏向的资源分配策略;对种群中的个体分配交配的机会,带偏向指的是每个个体分得的交配机会并不是随机或者平均的,通过带偏向的资源分配策略让更优秀的个体得到更多的交配机会;
将有偏资源分配策略应用于群体P,包括两个步骤:1)用户设定优选对象的数量;2)根据个体的表现分配资源;
S4.执行快速个体开发策略:根据分配的交配次数,对个体执行交配操作,也就是执行优化操作,得到的是更优秀的个体的集合;具体步骤包括:计算扰动值;基于扰动值,计算出需要重新规划的栅格的数量Ω;
基于扰动值生成邻居;随机除去除了起点和终点以外的Ω个连续栅格组成的路径,然后通过路径初始化操作,重新组成这段路径;
将生成的邻居放进集合K;
S5.执行精英策略,以保证最优秀的个体进入到下一代的种群;
S6.生成新一代种群;
S7.判断是否满足迭代终止条件,如果不满足终止条件,则迭代次数加一,返回对初始种群的全局搜索步骤;如果满足则从各个迭代保留结果中,选择最优个体作为巡检机器人的下一步移动路径并输出;
S3中,带偏向的资源分配策略由配额管理和配额分配组成;
S3.1在配额管理中提出了一种手动机制,用户可以通过调整优选对象的数量来控制算法的效率,此机制定义为:imax=k×N,(k>0) (1)
其中k是偏差因子,N是群体的大小,imax是候选人的数量即配额;
其中变量k与候选人数量呈正相关:k值越大,更多的计算资源将被转化为解集的质量,为了保证效率,建议k∈(0.05,0.5);
S3.2在配额分配中提出一种基于平滑度的轮盘赌,以平滑度为指标来计算个体被选中的概率,主要步骤如下:S3.21路径越平滑,相邻三点形成的角度越大,角度越大相邻三点之间的距离越大,因此计算路径中所有相邻三点的距离作为适应度函数的第二部分,第i个个体的平滑度计算公式如下:其中,end是个体决策变量的最后一位(即终点),xic是个体xi的第c位决策变量,xic+2是个体xi的第c+2位决策变量;
S3.22对集合T中的个体基于平滑度进行归一化,计算如下:其中,xi是集合T的第i个个体,P(xi)是个体xi被选中的概率,smooth(xi)是xi的平滑度,t是集合T中的个体数;
S3.23计算集合T中每个个体xi的累积概率qi,定义为S3.24在[0,1]中生成一个随机数h;
S3.25如果h<q1,将个体x1放入存档集D;否则,找到使qi‑1
其中,每一个个体都可以被反复选择;
S4中,快速个体开发策略,包括:
基于tanh的扰动算子,方程式如下:
生成优选对象xi的邻居的过程如下:
1)生成一个包含r个随机数的集合L,L={l1,…,ls,…,lr},其值在区间[a,b](a,b∈R)中;
设a=‑3,b=3;2)对于每个ls∈L,通过公式(6)计算vs,得到扰动值V={v1,…,vs,…,vr};
通过式(6)得到的扰动是tanh函数在(a,b)区间上的绝对值,其值域为(0,1);
2)在得到扰动集合后,通过式(7)生成xi∈T的邻居其中 是xi的第s个邻居,vs是v的第s个元素,mi表示个体xi的维度,Mute()表示变异操作;
式(7)表示个体xi的第s个邻居由对个体xi中除了终点起点之外的长度为vs×(mi‑2)的连续路径进行变异操作得到的,变异的程度由vs的值来控制;
路径初始的步骤,具体如下:
第一,首先产生一条间断路径;机器人每次行走一个栅格,因此每一行至少有一个栅格在可行路径中,所以初始化时先按顺序在每一行随机取出一个无障碍栅格,形成一条间断的路径,其中为了减短路径长度路径的第一个和最后一个栅格分别为机器人的起始位置和目标位置;
第二,将间断的路径连接为连续路径;首先从第一个栅格开始判断相邻的两个栅格是否为连续栅格,栅格是否连续的判断方法为:i+1 i i+1 i
D=max{abs(x ‑x),abs(y ‑y)}若D等于1则说明两个相邻栅格连续,反之不连续;对于不连续的栅格取两个栅格的中点栅格,中点栅格的坐标计算为:若新栅格为障碍物栅格,则以上下左右顺序取新栅格的相邻栅格,并判断此栅格是否已经在路径中;如果此栅格为无障碍栅格且不在路径中则插入路径中,如果遍历上下左右四个栅格后没有满足条件的栅格则删除这条路径;若新栅格为无障碍物栅格,则插入两个不连续栅格中间;继续判断新插入的栅格和新插入的栅格的前一个栅格是否连续,若不连续则循环以上步骤,直到两个栅格连续;当两个栅格连续后取下一个栅格,循环以上步骤,直到整条路径连续;其中:abs(x)表示数值x的绝对值,int(x)表示对数值x取整。
2.如权利要求1所述的基于改进遗传算法的巡检机器人路径规划方法,其特征是,所述通过对初始种群的全局搜索,得到种群集合P;具体步骤包括:对每个个体进行路径长度计算,将计算得到的路径长度作为适应度;适应度的使用体现在所有涉及个体选拔的操作中,适应度等同于个体的优秀程度;
计算路径中所有相邻三点的距离作为平滑度;
交叉操作:对于选中的任意两个路径,找出两条路径中所有相同的点,然后随机选择其中的一个点,将之后的路径进行互换操作;路径互换之后产生新的个体,新的个体有着新的路径长度,也就是新的适应度;
变异操作:随机选取路径中除起点和终点以外的任意两个栅格,去除这两个栅格之间的路径,然后以这两个栅格为相邻点,使用初始化路径的方法将这两个点重新进行连续操作;得到一个新的个体。
3.如权利要求1所述的基于改进遗传算法的巡检机器人路径规划方法,其特征是,执行带偏向的资源分配策略;具体步骤包括:设置候选对象的数量imax;
将集合P中距离最短的所有路径放在集合T中,并对T中的个体实施基于平滑度的轮盘赌,计算候选对象分配的配额,获得一个拥有imax个元素的、由候选对象及其分配的资源组成的存档集合D。
4.如权利要求3所述的基于改进遗传算法的巡检机器人路径规划方法,其特征是,根据优选对象的数量imax,基于平滑度的轮盘赌计算优选对象分配的配额,获得一个由候选对象及其分配的资源组成的存档集合D;具体步骤包括:将集合P中距离最短的所有路径放在集合T中,对集合T中的个体基于平滑度进行归一化,得到个体被选中的概率;
计算集合T中第i个体xi的累积概率qi;
生成一个0到1之间的随机数h;
如果随机数h小于累积概率qi,则将个体存放到存档集合D;否则,找到使随机数qi‑1
重复上述步骤,直到存档集合D中有imax个个体。
5.如权利要求1所述的基于改进遗传算法的巡检机器人路径规划方法,其特征是,所述执行精英策略,以保证最优秀的个体进入到下一代的种群;具体步骤包括:将集合K与集合P结合,对集合P中的个体使用精英策略,得到新一代的种群;
所述使用精英策略,是指:将由第i代种群生成的子代个体们和第i代种群合并,然后依据适应度对这两代个体进行优劣排序,取排名靠前的个体作为第i+1代种群。
6.基于改进遗传算法的巡检机器人路径规划系统,其特征是,包括:栅格地图建立模块,其被配置为:建立巡检机器人行走的栅格地图;
获取模块,其被配置为:获取巡检机器人在栅格地图中行走时的移动方向数据和位置数据;其中,移动方向数据和位置数据通过GPS获取;
路径规划模块,其被配置为:根据巡检机器人的移动方向数据和位置数据,基于改进的遗传算法,得到最优移动路径排序,将排序最靠前的路径作为巡检机器人下一步的移动路径;具体步骤包括:S1.设置巡检机器人的初始位置,设置巡检机器人的目标位置,设置巡检机器人可行走的路径数量为初始种群规模,设置最大迭代次数;根据建立的栅格地图对种群进行初始化;
所述可行走的路径为不与障碍物栅格碰撞的路径;
S2.通过对初始种群的全局搜索,得到种群集合P;种群集合P是所有可行解的集合,后续操作都是对种群集合P中的个体进行的,通过后续操作不断优化所述可行解;
S3.执行带偏向的资源分配策略;对种群中的个体分配交配的机会,带偏向指的是每个个体分得的交配机会并不是随机或者平均的,通过带偏向的资源分配策略让更优秀的个体得到更多的交配机会;
将有偏资源分配策略应用于群体P,包括两个步骤:1)用户设定优选对象的数量;2)根据个体的表现分配资源;
S4.执行快速个体开发策略:根据分配的交配次数,对个体执行交配操作,也就是执行优化操作,得到的是更优秀的个体的集合;具体步骤包括:计算扰动值;基于扰动值,计算出需要重新规划的栅格的数量Ω;
基于扰动值生成邻居;随机除去除了起点和终点以外的Ω个连续栅格组成的路径,然后通过路径初始化操作,重新组成这段路径;
将生成的邻居放进集合K;
S5.执行精英策略,以保证最优秀的个体进入到下一代的种群;
S6.生成新一代种群;
S7.判断是否满足迭代终止条件,如果不满足终止条件,则迭代次数加一,返回对初始种群的全局搜索步骤;如果满足则从各个迭代保留结果中,选择最优个体作为巡检机器人的下一步移动路径并输出;
S3中,带偏向的资源分配策略由配额管理和配额分配组成;
S3.1在配额管理中提出了一种手动机制,用户可以通过调整优选对象的数量来控制算法的效率,此机制定义为:imax=k×N,(k>0) (1)
其中k是偏差因子,N是群体的大小,imax是候选人的数量即配额;
其中变量k与候选人数量呈正相关:k值越大,更多的计算资源将被转化为解集的质量,为了保证效率,建议k∈(0.05,0.5);
S3.2在配额分配中提出一种基于平滑度的轮盘赌,以平滑度为指标来计算个体被选中的概率,主要步骤如下:S3.21路径越平滑,相邻三点形成的角度越大,角度越大相邻三点之间的距离越大,因此计算路径中所有相邻三点的距离作为适应度函数的第二部分,第i个个体的平滑度计算公式如下:其中,end是个体决策变量的最后一位(即终点),xic是个体xi的第c位决策变量,xic+2是个体xi的第c+2位决策变量;
S3.22对集合T中的个体基于平滑度进行归一化,计算如下:其中,xi是集合T的第i个个体,P(xi)是个体xi被选中的概率,smooth(xi)是xi的平滑度,t是集合T中的个体数;
S3.23计算集合T中每个个体xi的累积概率qi,定义为S3.24在[0,1]中生成一个随机数h;
S3.25如果h<q1,将个体x1放入存档集D;否则,找到使qi‑1
其中,每一个个体都可以被反复选择;
S4中,快速个体开发策略,包括:
基于tanh的扰动算子,方程式如下:
生成优选对象xi的邻居的过程如下:
1)生成一个包含r个随机数的集合L,L={l1,…,ls,…,lr},其值在区间[a,b](a,b∈R)中;
设a=‑3,b=3;2)对于每个ls∈L,通过公式(6)计算vs,得到扰动值V={v1,…,vs,…,vr};
通过式(6)得到的扰动是tanh函数在(a,b)区间上的绝对值,其值域为(0,1);
2)在得到扰动集合后,通过式(7)生成xi∈T的邻居其中 是xi的第s个邻居,vs是v的第s个元素,mi表示个体xi的维度,Mute()表示变异操作;
式(7)表示个体xi的第s个邻居由对个体xi中除了终点起点之外的长度为vs×(mi‑2)的连续路径进行变异操作得到的,变异的程度由vs的值来控制;
路径初始的步骤,具体如下:
第一,首先产生一条间断路径;机器人每次行走一个栅格,因此每一行至少有一个栅格在可行路径中,所以初始化时先按顺序在每一行随机取出一个无障碍栅格,形成一条间断的路径,其中为了减短路径长度路径的第一个和最后一个栅格分别为机器人的起始位置和目标位置;
第二,将间断的路径连接为连续路径;首先从第一个栅格开始判断相邻的两个栅格是否为连续栅格,栅格是否连续的判断方法为:i+1 i i+1 i
D=max{abs(x ‑x),abs(y ‑y)}若D等于1则说明两个相邻栅格连续,反之不连续;对于不连续的栅格取两个栅格的中点栅格,中点栅格的坐标计算为:若新栅格为障碍物栅格,则以上下左右顺序取新栅格的相邻栅格,并判断此栅格是否已经在路径中;如果此栅格为无障碍栅格且不在路径中则插入路径中,如果遍历上下左右四个栅格后没有满足条件的栅格则删除这条路径;若新栅格为无障碍物栅格,则插入两个不连续栅格中间;继续判断新插入的栅格和新插入的栅格的前一个栅格是否连续,若不连续则循环以上步骤,直到两个栅格连续;当两个栅格连续后取下一个栅格,循环以上步骤,直到整条路径连续;其中:abs(x)表示数值x的绝对值,int(x)表示对数值x取整。
7.一种电子设备,其特征是,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述权利要求1‑5任一项所述的方法。
8.一种计算机可读存储介质,其特征是,用于存储计算机指令,所述计算机指令被处理器执行时,完成权利要求1‑5任一项所述的方法。