1.一种用于图书馆AGV的多任务路劲规划方法,其特征在于,包括:
步骤1,通过图书馆AGV获取取书队列中的取书信息和栅格化地图;
步骤2,根据所述取书信息和栅格化地图设置目标点,对两两目标点进行单源路径规划,得到局部最优路径,并基于所述局部最优路径求解全局最优路径;
步骤3,按照所述全局最优路径行驶并执行取书,获取所述全局最优路径上的障碍物信息,并更新所述栅格化地图,根据更新后的栅格化地图和取书信息,以当前位置为起点,目标点位置不变,重复执行步骤2,进行实时路径规划并执行取书;
步骤4,重复执行步骤1至步骤3,直到取书队列中没有取书信息。
2.根据权利要求1所述的方法,其特征在于,步骤3之后,所述方法进一步包括:
在障碍物与目标点重合的情况下,忽略该次目标点任务,并标记目标点,待取书完毕执行下次取书时,将被标记的目标点加入到取书队列中,若还有障碍物与该目标点重合,则再次标记该目标点,等待下次取书,判断目标点标记次数是否大于或等于预设阈值,若大于或等于所述预设阈值则忽略该目标点,并提示该目标点无法取书。
3.根据权利要求1所述的方法,其特征在于,所述步骤2具体包括:
步骤21,建立两个状态表即open表和closed表,其中,open表初始值为起点,closed表为空,并将起点设置为当前点。
步骤22,将当前点放入closed表中,并搜索上、下、左、右四个方向相邻节点,去掉已在closed表中的节点,判断相邻节点是否已在open表中,若不在,则根据公式1计算f、g、h值,并加入到open表中;若在open表中,则重新计算g值,g较小则更新该点的g、f和上级点:f(n)=g(n)+h(n)公式1;
其中,f(n)表示总代价值;g(n)表示起点到当前点的实际距离;h(n)表示当前点到终点估计距离,为曼哈顿距离;
步骤23,重新标记open表中f最小的节点为当前点,判断其相邻节点是否是终点,若否,则返回步骤22;若是,则获取起点经过各节点到终点的最优路径,得到局部最优路径;
步骤24,初始化操作,设定最大进化次数T,随机生成N个个体作为初始化群落,个体基因数为n,并设定交叉概率和变异概率;其中,随机生成N个个体具体包括:通过书籍位置的编号1‑n为基因,随机排序生成一个个体,并将起点与终点编号设置为0,不加入到个体中,只在适应度计算时使用;
步骤25,根据公式2计算个体的路径长度,基于如公式3所示的适应度评价函数,将个体的路径长度作为分子,全部个体的路径长度总和作为分母,计算每一个个体的适应度值,将适应度值作为分子,全部个体的适应度值总和作为分母,基于如公式4所示的轮盘赌概率公式,计算得到轮盘赌方案中的每一个个体作为下一代的概率,基于所述概率,通过轮盘赌方案选出N个个体作为下一代群落,进化次数t=t+1;
其中,L(N)表示编号为N的个体总路径长度值,aij[N]表示在N个体中,以i为起点到j终点的局部最优路径值;an0表示为n到0位置点的局部最优路径值;
其中,F(N)表示为编号为N个体的适应度值,分子表示为群落中全部个体的总路径长度;
其中,P(N)为轮盘赌中每个个体作为下一代的概率,分母为群落中全部个体适应度值总和;
步骤26,将交叉算子作用到群落中,随机排序1‑n的数字并存入到交叉数组,并将交叉数组按下标顺序,取数组中两个数值作为个体交叉的群落数组下标,通过交叉算子作用于群落选中的两个个体,生成新的个体,并加入到群落中;其中,所述交叉算子的规则表示为:按照交叉概率,选择是否需要交叉互换个体基因,若是,则标记一方为a个体,一方为b个体,随机选取0到n‑1的数,作为交叉点,并将a个体中交叉点后方的基因取出,并在b中去除与a中取出的基因的相同基因,将a取出基因接在b后方,形成新的个体,加入到群落中;若否,则不进行交叉操作,不生成新个体;
步骤27,将变异算子作用到群落中,遍历整个群落,按照变异概率,选择是否需要变异生成新个体,若是,则随机选取0到n‑1的数字,作为个体基因位置,将两位置的基因进行互换,形成新个体,加入到群落中;若否,则不进行变异操作,不生成新个体;
步骤28,若进化次数t大于最大进化次数T时,终止循环,并将最后一代群落中适应度最高的个体取出,基因序列则为全局最优路径,完成全局最优多任务路径规划;若否,则返回步骤25,进行下一次循环。
4.根据权利要求1所述的方法,其特征在于,所述步骤3中,获取所述全局最优路径上的障碍物信息具体包括:当障碍物识别系统发现前方有障碍物,判断障碍物在地图中的位置,并在地图中标记为障碍物,若障碍物位置在规划好的路径上,重新进行路径规划;若障碍物位置不影响路径行驶,则按照规划好的路径行驶。
5.一种用于图书馆AGV的多任务路劲规划系统,其特征在于,包括:
获取模块,用于通过图书馆AGV获取取书队列中的取书信息和栅格化地图;
求解模块,用于根据所述取书信息和栅格化地图设置目标点,对两两目标点进行单源路径规划,得到局部最优路径,并基于所述局部最优路径求解全局最优路径;
执行模块,用于按照所述全局最优路径行驶并执行取书,获取所述全局最优路径上的障碍物信息,并更新所述栅格化地图,根据更新后的栅格化地图和取书信息,以当前位置为起点,目标点位置不变,重复执行步骤2,进行实时路径规划并执行取书;
处理模块,用于重复调用所述获取模块、所述求解模块以及所述执行模块,直到取书队列中没有取书信息。
6.根据权利要求5所述的系统,其特征在于,所述执行模块进一步用于:
在障碍物与目标点重合的情况下,忽略该次目标点任务,并标记目标点,待取书完毕执行下次取书时,将被标记的目标点加入到取书队列中,若还有障碍物与该目标点重合,则再次标记该目标点,等待下次取书,判断目标点标记次数是否大于或等于预设阈值,若大于或等于所述预设阈值则忽略该目标点,并提示该目标点无法取书。
7.根据权利要求5所述的系统,其特征在于,所述求解模块具体用于:
建立两个状态表即open表和closed表,其中,open表初始值为起点,closed表为空,并将起点设置为当前点。
将当前点放入closed表中,并搜索上、下、左、右四个方向相邻节点,去掉已在closed表中的节点,判断相邻节点是否已在open表中,若不在,则根据公式1计算f、g、h值,并加入到open表中;若在open表中,则重新计算g值,g较小则更新该点的g、f和上级点:f(n)=g(n)+h(n)公式1;
其中,f(n)表示总代价值;g(n)表示起点到当前点的实际距离;h(n)表示当前点到终点估计距离,为曼哈顿距离;
重新标记open表中f最小的节点为当前点,判断其相邻节点是否是终点,若否,则返回上一步;若是,则获取起点经过各节点到终点的最优路径,得到局部最优路径;
初始化操作,设定最大进化次数T,随机生成N个个体作为初始化群落,个体基因数为n,并设定交叉概率和变异概率;其中,随机生成N个个体具体包括:通过书籍位置的编号1‑n为基因,随机排序生成一个个体,并将起点与终点编号设置为0,不加入到个体中,只在适应度计算时使用;
根据公式2计算个体的路径长度,基于如公式3所示的适应度评价函数,将个体的路径长度作为分子,全部个体的路径长度总和作为分母,计算每一个个体的适应度值,将适应度值作为分子,全部个体的适应度值总和作为分母,基于如公式4所示的轮盘赌概率公式,计算得到轮盘赌方案中的每一个个体作为下一代的概率,基于所述概率,通过轮盘赌方案选出N个个体作为下一代群落,进化次数t=t+1;
其中,L(N)表示编号为N的个体总路径长度值,aij[N]表示在N个体中,以i为起点到j终点的局部最优路径值;an0表示为n到0位置点的局部最优路径值;
其中,F(N)表示为编号为N个体的适应度值,分子表示为群落中全部个体的总路径长度;
其中,P(N)为轮盘赌中每个个体作为下一代的概率,分母为群落中全部个体适应度值总和;
将交叉算子作用到群落中,随机排序1‑n的数字并存入到交叉数组,并将交叉数组按下标顺序,取数组中两个数值作为个体交叉的群落数组下标,通过交叉算子作用于群落选中的两个个体,生成新的个体,并加入到群落中;其中,所述交叉算子的规则表示为:按照交叉概率,选择是否需要交叉互换个体基因,若是,则标记一方为a个体,一方为b个体,随机选取
0到n‑1的数,作为交叉点,并将a个体中交叉点后方的基因取出,并在b中去除与a中取出的基因的相同基因,将a取出基因接在b后方,形成新的个体,加入到群落中;若否,则不进行交叉操作,不生成新个体;
将变异算子作用到群落中,遍历整个群落,按照变异概率,选择是否需要变异生成新个体,若是,则随机选取0到n‑1的数字,作为个体基因位置,将两位置的基因进行互换,形成新个体,加入到群落中;若否,则不进行变异操作,不生成新个体;
若进化次数t大于最大进化次数T时,终止循环,并将最后一代群落中适应度最高的个体取出,基因序列则为全局最优路径,完成全局最优多任务路径规划;若否,则返回计算个体的路径长度所在步骤,进行下一次循环。
8.根据权利要求5所述的系统,其特征在于,所述执行模块具体用于:
当障碍物识别系统发现前方有障碍物,判断障碍物在地图中的位置,并在地图中标记为障碍物,若障碍物位置在规划好的路径上,重新进行路径规划;若障碍物位置不影响路径行驶,则按照规划好的路径行驶。
9.一种用于图书馆AGV的多任务路劲规划装置,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至4中任一项所述的用于图书馆AGV的多任务路劲规划方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现如权利要求1至4中任一项所述的用于图书馆AGV的多任务路劲规划方法的步骤。