一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于任务相似度的多AGV分布式调度方法与系统与流程

2022-03-09 01:01:52 来源:中国专利 TAG:

一种基于任务相似度的多agv分布式调度方法与系统
技术领域
1.本发明属于机器人控制技术和运筹学领域,尤其涉及一种基于任务相似度的多agv分布式调度方法与系统。


背景技术:

2.近年来,随着无线网络、计算机视觉、自主导航、slam等技术的快速发展以及cpu和传感器等硬件性能的提高,机器人领域得到了更广阔的发展。与此同时,我国的农业机器人也得到了迅速的发展,对环境感知、自主定位与地图构建、视觉系统、运动控制、路径规划、任务分配等内容开展了深入研究,迄今为止已在采摘、巡查、植保、信息采集、移栽嫁接等农业机器人方面取得研究成果。随着机器人应用场景复杂度逐渐提高,单机器人逐渐不能满足实际的工作要求,多机器人协同配合完成作业任务势在必行,目前,多机器人系统已经在军事搜救、智能安防、家庭服务和农业生产等多个领域得到实际应用。
3.多机器人系统目前主要的研究方向包括多机器人系统体系结构、通讯、多传感器融合、即时定位与地图构建、多机器人编队和多机器人调度。可见,多机器人调度和多机器人系统体系结构是当今的研究热点,多机器人系统体系结构主要包含集中式、分布式和混合式。目前,多机器人调度和系统体系结构组合研究主要为多机器人集中式调度,一套行之有效的多机器人分布式调度方案少之又少。在多机器人集中式调度中,机器人都有一个共同的中央控制器,中央控制器负责把任务进行分配,并将其发送给对应的机器人,多机器人的路径规划和冲突消解也都在中央控制器中进行解决。虽然多机器人集中式调度具有易于实现、控制效果好且整个系统具有一定的稳定性等优点,但其具有鲁棒性不强的缺点,只要中央控制器崩溃,则整个多机器人系统就崩溃,不适合机器人数量多、任务数量多且工作环境复杂的场景。在现有的多机器人分布式调度研究(cn 110264062 a) 中,虽然一定程度上克服了集中式调度的缺点,但任务的竞拍仍然由中央控制器控制,不能充分的发挥机器人的自主性,而且并未考虑动态任务情景,只适用于静态环境。因此,有必要对多机器人分布式调度方案进行设计,以此提高系统的鲁棒性和运算能力,增强系统在复杂工作环境的生存能力。


技术实现要素:

4.为了克服多agv集中式调度方法和现有多agv分布式调度方法存在的不足,本发明提出一种基于任务相似度的多agv分布式系统,该系统包括上位任务管理主机和多个同构的agv;上位任务管理主机包括任务信息管理模块和无线通讯模块a,每个agv包括无线通信模块b、任务管理模块、竞价模块、路径规划模块、冲突消解模块和任务执行模块;agv之间通过相互信息交流和局部信息利用完成任务的分配和冲突的消解,且每一个agv都具有任务执行和路径规划的自主决策能力。
5.所述任务信息管理模块,用于接收新任务信息,并对新任务进行相似度分组;
6.所述无线通信模块a和无线通信模块b,用于实现agv和上位任务管理主机的双向
无线通讯,以及agv之间的双向无线通讯;
7.所述竞价模块,用于agv之间通过相互竞价的方式获取各自要执行的任务组,这也是分布式任务分配的体现;
8.所述任务管理模块,用于优化任务执行顺序和动态任务的管理;
9.所述的任务执行模块,用于各个agv按照待执行任务列表的任务顺序执行任务;
10.所述的路径规划模块,用于为每一个agv规划出执行任务的最短行驶路径;
11.所述冲突消解模块,用于解决多agv路径冲突问题,包括等待、绕路等多种解决策略,agv之间通过局部交流实现分布式路径规划。
12.进一步地,上述任务信息管理模块,将接收的新任务存储在待分配任务列表中,通过任务相似度算法将待分配任务集合t分成m组,即{t1,t2,...,tm}。
13.进一步地,上述无线通信模块a和无线通信模块b,agv通过tcp/ip协议接收上位任务管理主机传输的任务组信息{t1,t2,...,tm},agv之间通过tcp/ip 协议实现竞拍和冲突消解。
14.进一步地,上述竞价模块采用模式为:一个agv作为拍卖方,其它agv 作为竞价方,拍卖方向竞价方广播要进行拍卖的任务组,然后拍卖方开始接收竞价方的轮番报价,最后拍卖方按照竞价的结果将任务组分配给竞价获胜的agv。
15.进一步地,上述任务管理模块,通过贪婪算法对agv待执行任务队列中的任务执行顺序进行优化,以此满足最小化agv完成任务的总行走距离;并通过贪婪算法对动态任务进行管理,将紧急任务插入到相应agv待执行任务队列的下一个任务点,作为agv的下一个任务去执行;将非紧急任务插入到相应agv 待执行任务队列的最后一个任务点,作为agv的最后一个任务去执行。
16.进一步地,上述的路径规划模块,通过蚁群算法为每一个agv规划一条距离最短且转弯次数最少的行驶路径,提高任务被完成的效率。
17.上述基于任务相似度的多agv分布式系统的调度方法,包括以下步骤:
18.步骤1:假设agv的数量为m,agv索引集合为m={1,2,...,m},agv 集合为s={r1,r2,...,rm};假设待分配任务列表中任务数为n,任务索引集合为 n={1,2,...,n},待分配任务集合为t={t1,t2,...,tn};对地图信息进行初始化,包括agv的位置信息、agv的待执行任务列表;
19.步骤2:待分配任务列表中的任务基于任务相似度算法分为m组,即 {t1,t2,...,tm}。任务相似度由式(1)和式(2)计算,分组要满足式(3)目标函数和式(4)约束。
[0020][0021][0022]
[0023][0024]
其中,d
max
表示任务ti和任务tj之间距离与任务tj和目标终点之间距离之和的最大值;其中tk表示第k组;c
ij
表示任务ti和任务tj之间的曼哈顿距离;wj表示任务j距离分拣台的曼哈顿距离;r
ij
表示任务ti和任务tj之间的相似度;x
ik
表示将任务ti是否分到第k组,若是,x
ik
为1,否则,x
ik
为0;t
ik
表示将第k组分给agv ri,若是,t
ik
为1,否则,t
ik
为0。
[0025]
步骤3:上位任务管理主机通过无线通信模块a将任务组{t1,t2,...,tm}传输给各个agv;
[0026]
步骤4:agv之间通过机器人竞价模块进行任务组竞拍,基于市场机制进行相互协商,从而形成分布式的任务竞拍。
[0027]
步骤5:各agv按照自己所赢得的任务组通过贪婪算法进行任务执行顺序优化,以此产生最优的任务执行顺序;通过计算agv和任务组中各个任务之间以及任务组中各个任务之间的曼哈顿距离,找到距离agv最近的任务作为agv 第一个要执行的任务,以第一个要执行的任务为起点,对任务进行就近排序,以满足最小化agv总行走距离;将排完序的任务列表添加到待执行任务队列;
[0028]
步骤6:各agv从各自的待执行任务队列中逐一取出任务执行,通过路径规划模块中的蚁群算法进行路径规划,通过冲突模块解决多agv之间的路径冲突问题;
[0029]
步骤7:若有动态任务出现,设动态任务有紧急任务和非紧急任务;动态任务为紧急任务时,agv之间通过市场机制的竞拍将该任务插入依据平均相似度指标出价最高的agv任务队列中,作为该agv下一项任务被执行;动态任务为非紧急任务时,agv之间通过市场机制的竞拍将该任务插入依据平均相似度指标出价最高的agv任务队列末尾,作为该agv最后一个任务被执行;
[0030]
步骤8:任务执行模块判断各agv是否执行完任务,若执行完任务,agv 回到初始位置,否则返回步骤6。
[0031]
进一步,步骤2中任务相似度分组算法,具体步骤如下:
[0032]
步骤2.1:任务信息管理模块通过式(2)计算所有任务之间的相似度,形成相似度
矩阵r,即r=(r
ij
)n×n;
[0033]
步骤2.2:在相似度矩阵r中找到最小相似度,即将其对应的任务ti和tj分到第一组t1和第二组t2,总组数group记为2,并将该任务从待分配任务列表中剔除,即t1={ti},t2={tj},group=2,t=t/{ti,tj};
[0034]
步骤2.3:如果总组数和agv数相等,进入步骤2.4,否则,遍历每一个未分组的任务,计算未分组任务和任务组中所有任务的平均相似度,找到平均相似度最小的未分配任务t
min
,将任务t
min
添加到一个新的非空组t
group
中,总组数group加1,并将任务t
min
从待分配任务列表中剔除,即group=group 1,t
group
={t
min
},t=t/{t
min
};继续步骤2.3;
[0035]
步骤2.4:将未分组任务ti加入和它有最大平均相似度的组将该任务从待分配任务列表中剔除,即直至待分配任务列表为空,此时,待分配任务集合t被成功分成m组,即{t1,t2,...,tm};
[0036]
其中平均任务相似度通过式(5)进行计算,式中sar(i,k)表示任务ti与tk组的平均相似度;
[0037][0038]
进一步,步骤4中多agv之间的竞拍算法具体步骤如下:
[0039]
步骤4.1:agv群中开始随机产生拍卖方,设产生的拍卖方为ri且位置已知,其它agv作为竞价方且位置已知。
[0040]
步骤4.2:判断是否存在未竞拍的任务组;若是,进入步骤4.2;否则,进入步骤5。
[0041]
步骤4.3:拍卖方ri根据式(5)计算自身与任务组的平均相似度,并找出平均相似度最大的任务组进行拍卖,即并向作为竞价方的其它agv广播该组的任务信息以及自己的报价;该报价用式(5)平均任务相似度进行计算,即bid
ij
=sar(i,j);
[0042]
步骤4.4:作为竞价方的其它agv接收到拍卖方的广播之后,根据平均任务相似度指标对拍卖方的出价任务组进行出价,即bid
kj
=sar(k,j)(k∈m;k≠i),并向拍卖方广播自己的出价信息;
[0043]
步骤4.5:拍卖方ri接收各竞价方的出价信息,与自己的出价进行综合对比,找出出价最高的一方,如式(6)所示,将该组任务分配给这一方;若赢得任务组的一方为拍卖方,此时将拍卖方ri从多agv群中剔除,进入步骤4.1;若赢得任务组的一方为竞价方,此时将竞价方从多agv群中剔除,进入步骤4.2;
[0044]
bid=max{bid
1j
,bid
2j
,...,bid
mj
}(6)。
[0045]
本发明的有益效果:
[0046]
在基于任务相似度的多agv分布式调度方法与系统中,多agv通过任务相似度分组和基于市场机制构建了一种分布式的任务组分配方法,一方面将任务实现区域划分,减少多agv之间不必要的冲突,另一方面,可以最大化agv之间的平衡度,增大agv的利用率。
[0047]
在基于任务相似度的多agv分布式调度方法与系统中,agv具有路径规划、任务执行顺序和任务竞拍等自主决策能力,这种并行处理机制大大提高了整个系统的运行效率。
[0048]
在基于任务相似度的多agv分布式调度方法与系统中,使得各个agv在结构和功能彼此独立,即使个别agv出现故障,也不会影响其它agv的正常工作,因此本方案具有较强的容错率和扩展性。
[0049]
在基于任务相似度的多agv分布式调度方法与系统中,采用贪婪算法优化各个agv待执行任务队列中的任务执行顺序,能减少各个agv的总行走距离,提高完成所有任务的效率,并对动态任务进行管理,提高系统在复杂环境的生存能力。
[0050]
总之,本发明提出一种基于任务相似度的多agv分布式调度方法与系统,在上位任务管理主机中将所有任务进行相似度分组,对多agv采用分布式控制的方式。使用基于市场机制对静态任务组和动态任务进行竞拍,协商达到任务的合理分配,由任务管理模块对任务执行顺序进行优化,由路径规划模块规划单个 agv行走路径,由冲突模块解决多agv的路径冲突,从而实现多agv之间的分布式控制,克服集中式计算量大、效率低的缺点,从而提高系统的鲁棒性和运算能力,增强系统在复杂工作环境的生存能力。
附图说明
[0051]
图1是多agv分布式调度方案图。
[0052]
图2是基于任务相似度的分组算法流程图。
[0053]
图3是多agv分布式调度流程图。
[0054]
图4是任务执行顺序优化算法流程图。
[0055]
图5是动态任务策略图。
[0056]
图6是动态任务算法流程图。
[0057]
图7是基于市场的多agv竞拍流程图。
[0058]
图8是采摘搬运环境图。
[0059]
图9是本发明技术方案下多agv分布式调度甘特图。
[0060]
图10是传统拍卖算法方案下多agv分布式调度甘特图。
具体实施方式
[0061]
下面结合附图对本发明的技术方案作进一步的详细说明。
[0062]
多机器人集中式调度方法虽然简单且容易实现,但却具有计算量大、效率低的特点。现有的多机器人分布式调度方法虽然一定程度克服集中式调度的缺点,但只适用于静态环境,并且不能充分发挥机器人的自主性。为了克服以上缺点,提高系统的鲁棒性和运算能力,本发明提出一种基于任务相似度的多agv分布式调度方法与系统设计,该方法是以采摘搬运环境下的多搬运机器人为应用背景,本发明所述agv以搬运机器人为例,构建了一种多搬运机器人分布式调度系统,该系统包括上位任务管理主机和多个同构的搬运机器人,该多搬运机器人分布式系统的总体结构图如图1所示。
[0063]
上位任务管理主机负责任务的管理和与下位机的交互,包括任务信息管理模块和无线通信模块a。
[0064]
所述任务信息管理模块功能是接收新任务信息,并对新任务进行相似度分组。具体为:将接收的新任务存储在待分配任务列表中,通过任务相似度算法将待分配任务集合t分成m组,即{t1,t2,...,tm}。
[0065]
所述无线通信模块a的功能是将任务组信息{t1,t2,...,tm}通过tcp/ip协议传输给下位机搬运机器人。
[0066]
下位机搬运机器人负责任务组拍卖、冲突消解、任务执行顺序以及各自的任务路径规划和执行,形成一种分布式的控制方式,包括无线通信模块、任务管理模块b、竞价模块、路径规划模块、冲突消解模块以及任务执行模块。
[0067]
所述无线通信模块b功能是实现搬运机器人和上位任务管理主机的双向无线通讯,以及搬运机器人之间的双向无线通讯。具体为:通过tcp/ip协议接收上位任务管理主机传输的任务组信息{t1,t2,...,tm},搬运机器人之间通过tcp/ip 协议实现竞拍和冲突消解。
[0068]
所述任务管理模块功能是优化任务执行顺序和动态任务的管理。具体为:通过贪婪算法对搬运机器人待执行任务队列中的任务执行顺序进行优化,以此满足最小化机器人完成任务的总行走距离。并通过贪婪算法对动态任务进行管理,动态任务包含紧急任务和非紧急任务。
[0069]
所述竞价模块功能是搬运机器人之间通过相互竞价的方式获取各自要执行的任务组。具体为:采用分布式的竞拍过程,一个搬运机器人作为拍卖方,其它搬运机器人作为竞价方,拍卖方向竞价方广播要进行拍卖的任务组,然后拍卖方开始接收竞价方的轮番报价,最后拍卖方按照竞价的结果将任务组分配给竞价获胜的机器人。
[0070]
所述路径规划模块功能是为每一个搬运机器人规划出执行任务的最短行驶距离。具体为:通过蚁群算法为每一个搬运机器人规划一条距离最短且转弯次数最少的行驶路径,提高任务被完成的效率。
[0071]
所述冲突消解模块功能是解决多搬运机器人之间的路径冲突。具体为:通过等待、绕路等多种策略来解决多搬运机器人之间的路径冲突。
[0072]
所述任务执行模块功能是用于各个搬运机器人按照待执行任务列表的任务顺序执行任务。
[0073]
本发明还提出一种基于任务相似度的多搬运机器人分布式调度方法。如图3 所示,具体实施步骤如下:
[0074]
步骤1:对系统进行初始化,包括搬运机器人信息、待分配任务列表以及搬运机器人的待执行任务列表等。实施例中搬运机器人的数量为5,机器人索引集合为m={1,2,3,4,5},机器人集合为s={r1,r2,r3,r4,r5}。实施例中任务数为79,任务索引集合为n={1,2,...,79},待分配任务集合为t={t1,t2,...,t
79
}。
[0075]
步骤2:待分配任务列表中的任务基于任务相似度算法分为m组,即 {t1,t2,...,tm}。任务管理信息模块将待分配任务列表中的任务基于任务相似度分组,任务相似度可由式(1)和式(2)计算,分组要满足式(3)目标函数和式 (4)约束。
[0076][0077]
[0078][0079][0080]
其中,d
max
表示任务ti和任务tj之间距离与任务tj和目标终点之间距离之和的最大值;其中tk表示第k组;c
ij
表示任务ti和任务tj之间的曼哈顿距离;wj表示任务j距离分拣台的曼哈顿距离;r
ij
表示任务ti和任务tj之间的相似度;x
ik
表示将任务ti是否分到第k组,若是,x
ik
为1,否则,x
ik
为0;t
ik
表示将第k组分给agv ri,若是,t
ik
为1,否则,t
ik
为0。
[0081]
步骤3:上位任务管理主机通过无线通信模块a将任务组{t1,t2,...,tm}传输给各个agv;
[0082]
步骤4:agv之间通过机器人竞价模块进行任务组竞拍,基于市场机制进行相互协商,从而形成分布式的任务竞拍。
[0083]
步骤5:各搬运机器人按照自己所赢得的任务组通过贪婪算法进行任务执行顺序优化,以此产生最优的任务执行顺序。如图4所示,通过计算agv和任务组中各个任务之间以及任务组中各个任务之间的曼哈顿距离,找到距离agv最近的任务作为agv第一个要执行的任务,以第一个要执行的任务为起点,对任务进行就近排序,以满足最小化agv总行走距离;将排完序的任务列表添加到待执行任务队列;
[0084]
步骤6:各搬运机器人从各自的待执行任务队列中逐一取出任务执行,通过路径规划模块中的蚁群算法进行路径规划,通过冲突模块中的等待、绕路等多种策略解决多搬运机器人之间路径冲突问题。
[0085]
步骤7:若有动态任务出现,假设动态任务有紧急任务和非紧急任务。如图 5和图6所示,动态任务为紧急任务时,搬运机器人之间通过市场机制的竞拍将该任务插入依据平均相似度指标出价最高的搬运机器人任务队列中,作为该搬运机器人下一项任务被执行。动态任务为非紧急任务时,搬运机器人之间通过市场机制的竞拍将该任务插入依据平均相
似度指标出价最高的搬运机器人任务队列末尾,作为该搬运机器人最后一个任务被执行。平均相似度可由式(5)进行计算,多搬运机器人之间的竞拍算法可见步骤4。
[0086]
步骤8:任务执行模块判断各搬运机器人是否执行完任务,若执行完任务,搬运机器人回到初始位置,否则返回步骤6。
[0087]
进一步,如图2所示,一种基于任务相似度的多搬运机器人分布式调度方法步骤2中任务相似度分组算法具体步骤如下:
[0088]
步骤2.1:任务信息管理模块通过式(2)计算所有任务之间的相似度,形成相似度矩阵r,即r=(r
ij
)n×n;
[0089]
步骤2.2:在相似度矩阵r中找到最小相似度,即将其对应的任务ti和tj分到第一组t1和第二组t2,总组数group记为2,并将该任务从待分配任务列表中剔除,即t1={ti},t2={tj},group=2,t=t/{ti,tj};
[0090]
步骤2.3:如果总组数和agv数相等,进入步骤2.4,否则,遍历每一个未分组的任务,计算未分组任务和任务组中所有任务的平均相似度,找到平均相似度最小的未分配任务t
min
,将任务t
min
添加到一个新的非空组t
group
中,总组数 group加1,并将任务t
min
从待分配任务列表中剔除,即 group=group 1,t
group
={t
min
},t=t/{t
min
};继续步骤2.3;
[0091]
步骤2.4:将未分组任务ti加入和它有最大平均相似度的组将该任务从待分配任务列表中剔除,即直至待分配任务列表为空,此时,待分配任务集合t被成功分成m组,即{t1,t2,...,tm};
[0092]
其中平均任务相似度通过式(5)进行计算,式中sar(i,k)表示任务ti与tk组的平均相似度;
[0093][0094]
进一步,如图7所示,步骤4中多搬运机器人之间的竞拍算法具体步骤如下:
[0095]
步骤4.1:agv群中开始随机产生拍卖方,设产生的拍卖方为ri且位置已知,其它agv作为竞价方且位置已知。
[0096]
步骤4.2:判断是否存在未竞拍的任务组;若是,进入步骤4.2;否则,进入步骤5。
[0097]
步骤4.3:拍卖方ri根据式(5)计算自身与任务组的平均相似度,并找出平均相似度最大的任务组进行拍卖,即并向作为竞价方的其它agv广播该组的任务信息以及自己的报价;该报价用式(5)平均任务相似度进行计算,即bid
ij
=sar(i,j);
[0098]
步骤4.4:作为竞价方的其它agv接收到拍卖方的广播之后,根据平均任务相似度指标对拍卖方的出价任务组进行出价,即 bid
kj
=sar(k,j)(k∈m;k≠i),并向拍卖方广播自己的出价信息;
[0099]
步骤4.5:拍卖方ri接收各竞价方的出价信息,与自己的出价进行综合对比,找出出价最高的一方,如式(6)所示,将该组任务分配给这一方;若赢得任务组的一方为拍卖方,此时将拍卖方ri从多agv群中剔除,进入步骤4.1;若赢得任务组的一方为竞价方,此时将竞价方从多agv群中剔除,进入步骤4.2;
[0100]
bid=max{bid
1j
,bid
2j
,...,bid
mj
}(6)。
[0101]
为了测试本发明所提方法的性能,将以上实施例在图8所示的采摘搬运地图上进行模拟测试,其中中间灰色网格为采摘点,白色网格表示搬运机器人的可行区域,左侧灰色网格表示果蔬分拣台,左下方灰色网格表示停车区域。任务是指将装满的果蔬筐运送到果蔬分拣台,并将空框送回原采摘点。在每次仿真中,搬运机器人数量5,搬运机器人在图中的位置随机生成,任务数量为79,任务在图中的位置随机生成。在本发明技术方案下,任务完成结果的甘特图如图9所示,搬运机器人均衡度可达93%,搬运机器人总完工时间为2696,搬运机器人最大完工时间为562。在传统的拍卖算法方案下,任务完成结果的甘特图如图10所示,搬运机器人均衡度可达74%,搬运机器人总完工时间为2756,搬运机器人最大完工时间为635。可见,本发明不仅能最小化搬运机器人总完工时间和搬运机器人最大完工时间,还能最大化搬运机器人均衡度,足以体现本发明具有以下优势:
[0102]
1.在基于任务相似度的多搬运机器人分布式调度方法与系统中,多搬运机器人通过相似度分组和市场机制构建了一种分布式的任务组分配方法,一方面将任务实现区域划分,减少多搬运机器人之间不必要的冲突,另一方面,可以最大化搬运机器人之间的平衡度,增大搬运机器人的利用率。
[0103]
2.在基于任务相似度的多搬运机器人分布式调度方法与系统中,搬运机器人具有路径规划和任务执行顺序等自主决策能力,这种并行处理机制大大提高了整个系统的运行效率。
[0104]
3.在基于任务相似度的多搬运机器人分布式调度方法与系统中,每个搬运机器人在结构和功能彼此独立,即使个别搬运机器人出现故障,也不会影响其它搬运机器人的正常工作,因此本方案具有较强的容错率和扩展性。
[0105]
4.在基于任务相似度的多搬运机器人分布式调度方法与系统中,采用贪婪算法优化各个搬运机器人待执行任务队列中的任务执行顺序,能减少各个搬运机器人的总行走距离,提高完成所有任务的效率,并对动态任务进行管理,提高系统在复杂环境的生存能力。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献