一种K-Means蚁群算法多机器人路径规划方法

文档序号:32489768发布日期:2022-12-10 02:21阅读:109来源:国知局
一种K-Means蚁群算法多机器人路径规划方法
一种k-means蚁群算法多机器人路径规划方法
技术领域
1.本发明涉及机器人路径规划技术领域,具体是一种融合改进k-means和蚁群算法(improved k-means ant colony optimization,ikmaco)的多机器人路径规划方法。


背景技术:

2.传统蚁群算法(ant colony optimization,aco)算法虽然在解决单一机器人路径规划问题时能取得较好的效果,但在多机器人路径规划中,由于一些节点可能同时是多条最优路径的构造节点,但出于节点单次使用原则,节点的信息素浓度对于蚂蚁来说,将难以反应节点的优劣,因为此时的信息素浓度将是蚂蚁试图构造不同最优路径时产生的,因此,传统蚁群算法通常难以直接应用于多机器人路径规划。
3.多机器人路径规划是指多个机器人根据多个任务的空间分布,从不同的起始任务位置出发,不重复遍历所有任务,最终回到起始位置,根据一定的准则(如路径最短,安全性最好,用时最短等),寻求一条从各起始任务节点开始并最终连接所有任务节点的最优或次优路径。
4.多机器人路径规划技术的发展在一定程度上标志着机器人智能水平的高低,而路径规划方法的优劣直接影响路径规划效果。目前,国内外许多专家学者都在致力于路径规划算法的研究,常用的优化算法主要有遗传算法、免疫算法、蚁群优化算法、神经网络算法等。
5.其中,蚁群算法作为一种基于种群的概率选择算法,由于该算法与其它启发式算法相比,在求解性能上,具有很强的鲁棒性和较好解的搜索能力,且容易与多种启发式算法结合,以改善算法性能,所以蚁群算法在路径规划领域中得到了广泛的应用。但蚁群算法在具备了种种优点的同时,也包含了一些缺点,诸如蚁群算法一般是用来求解一条满足一定约束条件的最优路径。这一特征使得蚁群算法难以去处理多机器人的路径规划问题,因为在该问题中,某一任务节点的优劣性在构建不同的最优路径中可能并不统一,这使得不同蚂蚁留在该节点上的信息素浓度无法成为衡量该节点是否优劣的标准。传统蚁群算法应用于多机器人路径规划问题时可能会产生规划的路径较长,机器人能耗不均衡等问题的缺陷。


技术实现要素:

6.本发明的目的就是为了能够克服传统蚁群算法应用于多机器人路径规划问题时可能会产生规划的路径较长,机器人能耗不均衡等问题的缺陷,提供的一种k-means蚁群算法多机器人路径规划方法。
7.由于现有技术中多机器人路径规划是指多个机器人根据多个任务的空间分布,从不同的起始任务位置出发,不重复遍历所有任务,最终回到起始位置,根据一定的准则(如路径最短,安全性最好,用时最短等),寻求一条从各起始任务节点开始并最终连接所有任务节点的最优或次优路径。如图1所示,在一个工作空间内分布着若干个任务节点和若干个
移动机器人,每个机器人需要遍历其中若干个任务节点,并且最后会回到其起点处,在这个过程中,每个任务节点仅会被遍历一次,且所有任务节点都会被遍历到,在当前约束条件作用下,求解所有机器人所产生的满足评价准则的最优路径即为多机器人路径规划,如图2所示为图一规划任务的一个解。
8.在蚁群算法的迭代过程中,蚂蚁选择节点是通过距离启发函数以及信息素浓度两个标准来确定的,其中,蚂蚁在迭代前期主要依赖距离启发函数来探索较优路径,此时,蚂蚁选择节点的主要影响因素为当前节点与下一节点的欧式距离,随着迭代的进行,节点上存在的信息素浓度渐渐对蚂蚁的决策产生影响,而信息素浓度与其所构成的路径的长短成反比,信息素浓度越高的节点,往往能构建出较优的路径,这也是形成蚁群算法优化能力的根本因素。但信息素浓度形成的优化能力仅能针对优化路径仅为一条时才有很好的效果,因为某个节点上的信息素浓度虽然较高,但其浓度可能来自不同起止点的路径产生的,因此难以通过浓度来衡量该节点在构造某条路径时的优劣。
9.本发明总体思路是拟采用聚类算法将任务空间中的若干任务节点分为若干类,将多机器人路径规划问题转换为单机器人问题,然后只需对每类的节点单独使用蚁群算法即可解决多机器人路径规划。k-means聚类算法是最著名的划分聚类算法,由于简洁和效率使得它成为所有聚类算法中最广泛使用的,但由于k-means聚类算法的分类是基于质心位置的,可能导致同一聚类所包含的节点中存在多个机器人起点的问题,因此本发明提出一种改进的k-means算法(improved k-means,ikm)用于聚类,以免出现这种问题。
10.如图3所示,将聚类中心的坐标初始为各机器人起点位置,在迭代更新的过程中,聚类中心会发生移动,那我们在每一轮迭代产生新的分类结果时,先判断是否存在多个机器人起点被分为同一类中,若存在,则直接退出,否则继续执行,直到达到最大迭代次数。
11.本发明解决其技术问题所采用的技术方案是:
12.一种k-means蚁群算法多机器人路径规划方法,包括以下步骤:
13.1、采用一种融合改进k-means聚类算法,包括以下步骤:
14.1)设所有节点以及机器人起点的坐标为式(1)的矩阵p,每一个行向量为一组节点的坐标,共有m+n组节点坐标,假定前m行为机器人坐标,后n行为任务节点坐标,聚类中心矩阵c包含了m个质心的坐标,初始为各机器人初始位置,如式(2);
[0015][0016]
c=p[0:m]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0017]
2)计算所有任务节点到各机器人起点的欧式距离,结果存入式(3)的矩阵d,d的第j个行向量dj(1≤j≤m)为所有节点到第j个机器人起点的距离,由式(4)计算,dis函数能按行计算参数矩阵的行向量的模,元素d
i,j
为第i个任务节点到第j个机器人起点的欧氏距离;
[0018]
根据式(5)计算每个节点所属质心的序号行向量,sort函数能按行找到最小元素的位置序号,当且仅当s列表中的前m项元素含有所有的1,2,3

m时,即s列表对应的分类合
法,否则为不合法,见式(6);
[0019][0020]dj
=dis(p-c[j])
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0021]
s=sort(d)=[s1,s2,s3,...sj],s
1≤j≤m+n
∈[0,m]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0022][0023]
3)当且仅当由式(6)的condition=true时,根据式(7)更新质心坐标,其中average函数能按列计算每列元素的平均值,否则退出聚类过程。
[0024]
c[i]=average(p[s==i])
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0025]
2、在聚类过程结束后,对每一类中的节点采用蚁群算法以解决一个类的路径规划问题,包括以下步骤:
[0026]
1)设某一类结果中包括机器人起点以及若干个任务节点,则在调用蚁群算法解决时,首先将蚂蚁放置在机器人起点上,然后根据式(8)计算各任务节点的选择概率,使用轮盘赌法选择并将蚂蚁移动到下一个节点,将上一个节点添加进禁忌表中,然后重复计算选择概率和移动的过程,直到所有的任务节点都遍历完;
[0027][0028]
其中,是由迭代次数t时的第k只蚂蚁由节点i转移至节点j的选择概率,τ
ij
(t)是距离启发函数,η
ij
(t)是信息素浓度启发函数,α和β分别是距离启发因子以及信息素浓度启发因子,allowedk为可行节点列表,其中节点不存在于禁忌表中;
[0029]
2)当一代蚂蚁移动终止后,环境中的信息素将会按照式(9)进行削减,以模拟现实中的挥发效果;
[0030]
τ

ij
(t+1)=(1-ρ)τ
ij
(t)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)
[0031]
在式(9)中,ρ是挥发系数,另外,根据当代蚂蚁的行驶轨迹,对路线上的节点依据式(10)进行信息素更新;
[0032][0033]
式(10)中,为第k只蚂蚁在节点处留下的信息素浓度,定义如下:
[0034][0035]
其中,q为单只蚂蚁在一条路径上留下的总信息素量,lk为第k只蚂蚁走过的路径总长度。
[0036]
重复上述迭代过程,直到最大迭代次数,输出最优路径。
[0037]
本发明还提供了一种k-means蚁群算法多机器人路径规划方法的计算机程序,包括以下步骤:
[0038]
s1、初始化算法相关参数与变量;
[0039]
s2、调用改进的k-means聚类算法进行聚类任务:
[0040]
s2.1、将聚类中心设置为各机器人起点节点;
[0041]
s2.2、开始聚类循环过程:
[0042]
s2.3、计算各任务节点与聚类中心的欧式距离,并将任务节点划分给最近的聚类中心以进行分类;
[0043]
s2.4、对式(6)进行判断,当且仅当式(6)为true时,执行s2.5;否则将上一次的聚类结果返回;
[0044]
s2.5、根据式(7)计算新的聚类中心,是否达到最大循环条件,若达到,则返回最新的聚类结果,否则,执行s2.3;
[0045]
s3、分别对聚类结果的每一类节点使用蚁群算法进行路径规划:
[0046]
s3.1、将第i(i1,2...m)只蚂蚁放至起点开始寻路;
[0047]
s3.2、根据式(8)计算节点的选择概率,使用轮盘赌法选择下一节点并移动;
[0048]
s3.3、判断当前节点是否为终点,若是,则执行s3.4,否则执行s3.2;
[0049]
s3.4、记录所有的寻路结果,保存路径节点信息与路径长度信息,若所有蚂蚁都完成了寻路任务,执行s3.5,否则执行s3.1;
[0050]
s3.5、按照式(9)、(10)、(11)更新各节点的信息素浓度;
[0051]
s3.6、若当前迭代次数小于最大迭代次数,则执行s3.1;否则,执行s3.7;
[0052]
s3.7、循环最大迭代次数t代后结束循环,输出全局最优解。
[0053]
s4、将每一类的路径规划结果组合并输出,完成多机器人路径规划任务。
[0054]
本发明的有点在于,考虑到传统蚁群算法在处理单一路径规划问题时具备天然的优越性,基于此,本发明针对上述传统蚁群算法存在的问题提出一种融合改进k-means和蚁群算法(improved k-means ant colony optimization,ikmaco)的多机器人路径规划方法,在ikmaco中,首先通过改进的k-means算法将所有的任务节点聚类成若干类,其数目等于机器人数,且每一类节点中有且仅有一个机器人起点节点,之后,针对每一类节点使用蚁群算法进行路径规划。仿真结果表明,采取本发明的ikmaco算法在解决多机器人路径规划问题上的效果明显,且规划的各机器人能耗的均衡性较好,整体性能优于基本蚁群算法和改进的蚁群算法。
附图说明
[0055]
下面结合附图和实施例对本发明进一步说明:
[0056]
图1多机器人路径规划模型示意图;
[0057]
图2多机器人路径规划的一个解示意图;
[0058]
图3聚类中心移动示意图;
[0059]
图4本发明ikmaco算法流程图;
[0060]
图5传统蚁群算法仿真结果;
[0061]
图6本发明ikmaco算法仿真结果;
[0062]
图7两种算法的机器人能耗对比图;
[0063]
图8文献iaco算法仿真结果;
[0064]
图9本发明ikmaco算法仿真结果。
具体实施方式
[0065]
一种k-means蚁群算法多机器人路径规划方法,包括以下步骤:
[0066]
一、采用一种融合改进k-means聚类算法,包括以下子步骤:
[0067]
1)、设所有节点以及机器人起点的坐标为式(1)的矩阵p,每一个行向量为一组节点的坐标,共有m+n组节点坐标,假定前m行为机器人坐标,后n行为任务节点坐标,聚类中心矩阵c包含了m个质心的坐标,初始为各机器人初始位置,如式(2);
[0068][0069]
cp[0:m]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0070]
2)、计算所有任务节点到各机器人起点的欧式距离,结果存入式(3)的矩阵d,d的第j个行向量dj(1≤j≤m)为所有节点到第j个机器人起点的距离,由式(4)计算,dis函数能按行计算参数矩阵的行向量的模,元素d
i,j
为第i个任务节点到第j个机器人起点的欧氏距离;
[0071]
根据式(5)计算每个节点所属质心的序号行向量,sort函数能按行找到最小元素的位置序号,当且仅当s列表中的前m项元素含有所有的1,2,3

m时,即s列表对应的分类合法,否则为不合法,见式(6)。
[0072][0073]dj
=dis(p-c[j])
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0074]
s=sort(d)=[s1,s2,s3,...sj],s
1≤j≤m+n
∈[0,m]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0075][0076]
3)、当且仅当由式(6)的condition=true时,根据式(7)更新质心坐标,其中average函数能按列计算每列元素的平均值,否则退出聚类过程。
[0077]
c[i]=average(p[s==i])
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0078]
二、在聚类过程结束后,对每一类中的节点采用蚁群算法以解决一个类的路径规划问题,包括以下子步骤:
[0079]
1).设某一类结果中包括机器人起点以及若干个任务节点,则在调用蚁群算法解决时,首先将蚂蚁放置在机器人起点上,然后根据式(8)计算各任务节点的选择概率,使用轮盘赌法选择并将蚂蚁移动到下一个节点,将上一个节点添加进禁忌表中,然后重复计算选择概率和移动的过程,直到所有的任务节点都遍历完。
[0080][0081]
其中,是由迭代次数t时的第k只蚂蚁由节点i转移至节点j的选择概率,τ
ij
(t)是距离启发函数,η
ij
(t)是信息素浓度启发函数,α和β分别是距离启发因子以及信息素浓度启发因子,allowedk为可行节点列表,其中节点不存在于禁忌表中;
[0082]
2).当一代蚂蚁移动终止后,环境中的信息素将会按照式(9)进行削减,以模拟现实中的挥发效果。
[0083]
τ

ij
(t+1)=(1-ρ)τ
ij
(t)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)
[0084]
在式(9)中,ρ是挥发系数,另外,根据当代蚂蚁的行驶轨迹,对路线上的节点依据式(10)进行信息素更新。
[0085][0086]
式(10)中,为第k只蚂蚁在节点处留下的信息素浓度,定义如下:
[0087][0088]
其中,q为单只蚂蚁在一条路径上留下的总信息素量,lk为第k只蚂蚁走过的路径总长度。
[0089]
重复上述迭代过程,直到最大迭代次数,输出最优路径。
[0090]
本发明还提供的一种融合改进k-means和蚁群算法(improved k-means ant colony optimzation,ikmaco)的多机器人路径规划方法的计算机应用程序,如图4所示,包括以下步骤:
[0091]
s1、初始化算法相关参数与变量;
[0092]
s2、调用改进的k-means聚类算法进行聚类任务:
[0093]
s2.1、将聚类中心设置为各机器人起点节点;
[0094]
s2.2、开始聚类循环过程:
[0095]
s2.3、计算各任务节点与聚类中心的欧式距离,并将任务节点划分给最近的聚类中心以进行分类;
[0096]
s2.4、对式(6)进行判断,当且仅当式(6)为true时,执行s2.5;否则将上一次的聚类结果返回;
[0097]
s2.5、根据式(7)计算新的聚类中心,是否达到最大循环条件,若达到,则返回最新的聚类结果;否则,执行s2.3;
[0098]
s3、分别对聚类结果的每一类节点使用蚁群算法进行路径规划:
[0099]
s3.1、将第i(i=1,2...m)只蚂蚁放至起点开始寻路;
[0100]
s3.2、根据式(8)计算节点的选择概率,使用轮盘赌法选择下一节点并移动;
[0101]
s3.3、判断当前节点是否为终点,若是,则执行s3.4,否则执行s3.2;
[0102]
s3.4、记录所有的寻路结果,保存路径节点信息与路径长度信息,若所有蚂蚁都完成了寻路任务,执行s3.5,否则执行s3.1;
[0103]
s3.5、按照式(9)、(10)、(11)更新各节点的信息素浓度;
[0104]
s3.6、若当前迭代次数小于最大迭代次数,则执行s3.1;否则,执行s3.7;
[0105]
s3.7、循环最大迭代次数t代后结束循环,输出全局最优解。
[0106]
s4、将每一类的路径规划结果组合并输出,完成多机器人路径规划任务。
[0107]
本发明的有益效果是,通过改进的k-means聚类算法将任务节点与机器人起点节点进行分类,实现每一类有且仅有一个机器人起点节点,从而将多机器人路径规划任务转化为单机器人路径规划任务,针对每一类节点使用蚁群算法解决单路径规划任务,最终实现多机器人的路径规划任务。本发明解决了蚁群算法难以直接应用在多机器人路径规划的问题;
[0108]
本发明的效果可以通过以下仿真实验进一步说明:
[0109]
为验证本方法的正确性和合理性,在ubuntu20.04系统上运用python语言编程,仿真参数见表2,以表3中的节点坐标数据进行仿真,传统蚁群算法与本发明ikmaco算法得到的仿真结果分别如图5和图6所示,两种算法的机器人最小能耗对比如图7和表4所示。
[0110]
表2算法仿真参数
[0111][0112]
表3节点坐标数据
[0113]
[0114][0115]
表4两种算法仿真数据对比
[0116][0117]
从仿真结果数据中可以看出,传统蚁群算法虽然找到一个次优解803.5334m,而本发明ikmaco得到了最优解781.4410m,且从机器人能耗的均衡性的角度来看,本发明的三个机器人的能耗标准差为19.8877,优于传统aco算法的标准差72.5051,因此,综合的来看,本发明的ikmaco效果更好。
[0118]
为了进一步验证本发明提出的改进算法的有效性,将本发明与另外一种改进的iaco(improved ant colony algorithm,iaco))算法进行比较,另一种改进的iaco算法为2018年的天津大学硕士学位论文《多机器人任务规划方法研究》中记载的改进iaco算法,在该文章的第四章第五节对文中的iaco进行仿真实验的eil76数据集下利用本发明方法进行仿真,并将实验结果与文献数据进行对比,如图8、9以及表5所示。
[0119]
表5两种算法仿真数据对比
[0120][0121]
通过分析仿真结果数据可知,本发明ikmaco算法所得最优路径结果为568.7333m,优于文献iaco算法的所得结果585.4301m,且本发明ikmaco的机器人能耗标准差为23.2426,同样优于文献iaco算法的标准差32.6793,因此,本发明ikmaco算法的路径规划能力较好,且对各机器人分配的能耗均衡性更好,这说明了本发明提出的ikmaco算法在多机器人的路径规划方面的具备一定的可行性与实用性。
[0122]
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制;任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同替换、等效变化及修饰,均仍属于本发明技术方案保护的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1