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

基于改进市场法的多机器人快速协同建图方法与流程

2022-03-05 10:37:43 来源:中国专利 TAG:


1.本发明涉及多机器人协作建图技术领域,尤其涉及一种基于改进市场法的多机器人快速协同建图方法。


背景技术:

2.slam(simultaneous localization and mapping,即时定位与地图构建)是移动机器人研究领域中的基本问题与研究热点,也是移动机器人实现自主导航的关键,利用多机器人解决建图问题,涉及机器视觉、信息滤波、非线性优化等领域。近年来基于多机器人协作的地图构建问题正逐渐获得越来越多的关注。与单机器人相比使用多个机器人进行协作建图具有高效、高精度、高鲁棒性以及低成本等优点,所以更加适合用于实际复杂的场景。
3.例如,现有技术中,已经有很多关于提高单机器人的即时定位建图精度的方法,如基于拓展卡尔曼滤波、基于粒子滤波的slam方法等。当有足够的时间、充分的数据及充足的算力时,我们可以更注重建图精确度,但是当情况紧急的时候,比如救灾救援、应急搜索等,我们需要在保证一定精确度的同时,尽快实现对指定区域的遍历。多机器人在行动过程中,如果发生故障,组内其他机器人可以代替故障机器人完成工作。尤其在未知环境下,执行复杂结构的大空间探索时,多机器人协同能够降低任务失败的风险。因此,使用多机器人协同slam可以提高搜索或探测速度,提高任务完成的效率。
4.在过去多机器人任务协同的研究中,研究者常基于任务量简单地将执行分配决策,而缺乏对任务环境和集群状态等信息的综合考虑。另一方面,市场法的应用也没有形成一套理论完备,流程明确的算法过程。可见,现有的方法建图效率不高,未能提供多机器人协同建图从而提高建图效率的方法。


技术实现要素:

5.为解决上述现有技术中存在的部分或全部技术问题,本发明提供一种基于改进市场法的多机器人快速协同建图方法。
6.本发明的技术方案如下:
7.一种基于改进市场法的多机器人快速协同建图方法,所述方法包括:
8.s1:初始化机器人集群,在具有多台机器人的机器人集群中随机选择其中的一个机器人,基于所述随机选择的机器人的视角使用视觉驱动算法生成初始主地图;
9.s2:建图,所述机器人集群中的每个机器人均对各自的环境进行扫描,基于所有扫描的环境对所述初始主地图进行迭代更新,生成新的主地图;
10.s3:探索,获取所述新的主地图中的已知区域与未知区域之间的边界点,将当前获取的边界点加入到待拍卖任务集合中;
11.s4:任务分配,遍历所述待拍卖任务集合,使得所述机器人集群中的所有机器人竞拍所述待拍卖任务集合中的任务,机器人的出价方式基于路径距离和机器人的位置,当机
器人分配到任务后,机器人将竞拍所得的任务按照当前的价值进行排序以得到自己的任务列表,随后,机器人将自己任务列表中的第一项任务设定为当前目标点;
12.s5:执行,每个机器人独立地向各自的当前目标点行进;
13.s6:当机器人到达自己的当前目标点后,返回执行s2中的动作,如此循环,直到s3中没有新的边界点。
14.可选地,在所述s1中,还包括:初始化队伍,将所述机器人集群中的多台机器人放置于可以相互有效感知范围内的不同位置。
15.可选地,在所述s1中,所述基于所述随机选择的机器人的视角生成初始主地图,包括:基于所选机器人的双目摄像机,使用orbslam2工具包并结合octomap工具包生成占用栅格型初始主地图。
16.可选地,在所述s2中包括:所述机器人集群中的每个机器人均使用双目摄像机获取周边的图像信息,并实时解算场景深度,获取场景深度图,每个所述机器人均根据各自当前的场景深度图结合所述初始主地图进行自身定位,之后,每个所述机器人使用orbslam2工具包和octomap工具包生成各自的当前位置和感知区域的占用栅格,并将所述占用栅格更新至所述初始主地图,以生成新的主地图。
17.可选地,在所述s4中包括,从所述任务列表中删除不再属于边界点的任务,并更新所述任务列表。
18.可选地,在所述s4中包括,所述机器人群集中的每个机器人均能够分配到各自的任务。
19.本发明技术方案的主要优点如下:
20.本发明的基于改进市场法的多机器人快速协同建图方法,基于市场法进行理论建模与方法优化,结合了团队合作价值的计算因子,可以有效地配置机器人集群,使得机器人集群中的每个机器人均能够得到与各自位置以及目标路径距离相适配的任务列表,并能够根据任务列表执行任务,可以有效地进行环境探索以及获取图像信息。与现有技术相比,本方法能够提升多机器人协同搜索效率,使得系统对环境的鲁棒性更强,能够实现对大型室内结构化及空旷环境的高效协同搜索。
附图说明
21.此处所说明的附图用来提供对本发明实施例的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
22.图1为根据本发明的一个实施方式中的基于改进市场法的多机器人快速协同建图方法的步骤示意图:
23.图2为图1中所示方法的流程示意图;
24.图3为根据本发明的一个实施方式中的方法的边界点的分布示意图;
25.图4为根据本发明的一个实施方式中的方法的任务竞拍的流程示意图。
具体实施方式
26.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及
相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
27.本领域技术人员可知,多机器人协作建图的主要内容是:自主探索和协作建图。自主探索方法包括路径规划法、边界点法、空间点采样法等,难点在于如何实现多机器人之间的任务分配,以实现高效协作;建图方法在学术上也有不少研究并且在工程中也有较为广泛的应,如ros机器人操作系统的gmapping工具包。有效的多机器人协同slam方法可以提高任务分配效率,缩短区域探索时间。本发明重点在于提出一种多机器人协同构建地图时的任务分配方法。在学术研究中,也有将该类问题理解成多目标优化,通过构建多变量目标函数,基于遗传算法、蚁群算法框架进行优化求解。一些侧重于对搜索区域做处理的方法,如区域分割法,对任务分配效率也能有所改善。
28.本发明中的方法则是基于市场拍卖过程的改进和应用,具备高效执行分配计算的良好基础,集群协同逻辑明确,能够提升从决策到控制的效率。
29.以下结合附图,详细说明本发明实施方式提供的技术方案。
30.如图1至图4所示,在根据本发明的一个实施方式中提供了一种基于改进市场法的多机器人快速协同建图方法,该方法基于市场法进行理论建模与方法优化,结合了团队合作价值的计算因子,使得每个机器人都拥有自己的任务列表。
31.在本实施方式中,如图1和图2所示,该方法包括:
32.s1:初始化机器人集群,在具有多台机器人的机器人集群中随机选择其中的一个机器人,基于所述随机选择的机器人的视角使用视觉驱动算法生成初始主地图;
33.在s1中,需要初始化队伍和初始化主地图。具体而言:
34.初始化队伍,即,将机器人集群中的多台机器人放置于可以相互有效感知范围内的不同位置。也就是说,在机器人能够相互感知的前提下,将多个机器人尽可能地分布在各个不同且随机的位置,提高探测效率。
35.示例性地,当机器人集群中的n台机器人放置在相互有效感知范围内的任意位置后,则该拥有n个成员的机器人队伍可以表示为:
36.rt={r1,r2,r3,....,rn};
37.其中,ri代表第i个机器人。例如,第4个机器人可以表示为r4。
38.初始化主地图,即,在机器人集群中随机选择一个机器人,并基于该所选的机器人的双目摄像机,使用orbslam2工具包并结合octomap工具包生成占用栅格型初始主地图。
39.示例性地,当随机选择一个机器人后,以该机器人当前相机的坐标原点为世界坐标系原点,并建立世界坐标系。而且,利用该机器人的双目摄像机解算出深度图像,并将所得的深度图像转换为该世界坐标系下的点云,使用octomap包中给出的octomap::pointcloud数据结构来插入点云。
40.同时,利用该机器人当前相机的位置与点云在该世界坐标系下的位置,生成光束模型。具体地,光线的起点为该机器人当前相机的坐标,终点为点云的坐标,光束经过的点的占有概率低,则其状态将被视为空闲(非占有),光线终点状态将被视为占有。由此,可以初始化一张占有栅格型主地图。
41.本实施方式中,该方法还包括:
42.s2:建图,所述机器人集群中的每个机器人均对各自的环境进行扫描,基于所有扫描的环境对所述初始主地图进行迭代更新,生成新的主地图;
43.具体地,机器人集群中的每个机器人均使用双目摄像机获取周边的图像信息,并实时解算场景深度,获取场景深度图,每个机器人均根据各自当前的场景深度图结合初始主地图进行自身定位,之后,每个机器人使用orbslam2工具包和octomap工具包生成各自的当前位置和感知区域的占用栅格,并将占用栅格更新至初始主地图,以生成新的主地图。
44.示例性地,机器人集群在空间移动的过程中,各个机器人均能够使用其各自的双目摄像机获取自身周边的图像信息,并能够实时解算场景深度,获得场景深度图,之后,以orbslam2包为基础,在解算出关键帧相机位姿及关键帧点云在世界坐标系下位置后,同样使用octomap::pointcloud数据结构来插入点云,使用前述光束模型判断栅格占有状态。可以理解,将初始主地图更新为新的主地图的过程为:多个机器人生成各自的关键帧点云,并将其插入到主地图中。
45.需要说明的是,本实施方式中的方法主要应用于二维水平面上的地图探索,因此在建图时只选取深度图像画面中给定的一条水平线上的点来生成点云。对于三维立体的地图探索,则可以采取类似的拓展,例如,可以将二维方格替换成三维方块。
46.本实施方式中,该方法还包括:
47.s3:探索,获取所述新的主地图中的已知区域与未知区域之间的边界点,将当前获取的边界点加入到待拍卖任务集合中;
48.具体地,本方法中的机器人需要从已知的区域逐渐向未知的区域进行探索,在已知区域和未知区域之间存在边界点,在s3中,为了更有效地对未知区域进行探索,需要根据已知的新的主地图,获取边界点作为待分配的任务点。
49.示例性地,如图3所示,边界点的提取方式如下:
50.在图3中,占用栅格地图由三部分组成,黑色部分的栅格表示状态为占用的区域,白色部分的栅格表示状态为空闲的区域,灰色部分的栅格表示状态为未知的区域。栅格中标注有“f”的部分便是边界点frontiers,边界点frontiers可以通过octomap包中的变量“chagekeys”找出。遍历状态发生变化的点集sc,即变量“chagekeys”。从sc中挑出四邻域内存在未知点的点,这些被挑出的点就是边界点frontiers。
51.令sf代表边界点frontiers的集合,s
occpuy
代表状态为占用的点的集合,p代表占用栅格地图中的一个点,s
unknown
代表状态为未知的点的集合,5(p)4代表点p周围上、下、左、右四个方向相邻点的集合。则sf可以表示为:
[0052][0053]
本实施方式中,该方法还包括:
[0054]
s4:任务分配,遍历所述待拍卖任务集合,使得所述机器人集群中的所有机器人竞拍所述待拍卖任务集合中的任务,机器人的出价方式基于路径距离和机器人的位置,当机器人分配到任务后,机器人将竞拍所得的任务按照当前的价值进行排序以得到自己的任务列表,随后,机器人将自己任务列表中的第一项任务设定为当前目标点;
[0055]
具体地,在s3中已经基于边界点获取了相关的拍卖任务集合,为了让机器人能够获取最优的边界点的任务,则可以基于机器人与边界点的路径距离以及机器人的位置竞拍拍卖任务集合中任务,当机器人竞拍得到相关的任务后,可以将竞拍所得的任务按照当前
的价值进行由小到大的排序,并生成任务列表。该任务列表即为机器人所需要执行的任务清单,其中,机器人可以将任务列表中的第一项任务设定为当前目标点。
[0056]
进一步地,为了避免任务重复执行,机器人需要从任务列表中删除不再属于边界点的任务,并且需要更新任务列表。
[0057]
此外,为了提高机器人的利用率,机器人群集中的每个机器人均能够分配到各自的任务。当然,基于任务的路径距离以及机器人的位置等,也可以使得部分机器人处于休眠待分配的状态。
[0058]
为了更明确的说明本方法中任务分配的步骤,以下将通过一个具体地实施例进一步地说明:
[0059]
本方法中任务分配的步骤可以包括:
[0060]
第一步:当获取当前新的主地图的边界点frontiers之后,将所有获取的边界点frontiers的集合作为任务集合t,该任务集合t可以表示为:
[0061]
t={t1,t2,t3,....,tm};
[0062]
其中,ti表示第i个任务点。
[0063]
第二步:拍卖任务集合t中的所有任务点,其中,每一个任务点ti都必须对应有一个机器人r作为竞拍得主winner(ti),当竞拍完成之后,还需要将任务点ti添加至竞拍得主的任务列表中。竞拍得主可以表示为:
[0064]
winner(ti)=arg minr(auctionprice(r,ti));
[0065]
竞拍价格auctionprice根据机器人和任务的信息给出。竞拍价格可以表示为:
[0066][0067]
其中,
[0068]
c=weight*crad(psr(r)∩ra(path(r,t)[k]));
[0069]
在上式中,path(r,t)[k]意为从r到t的路径中的第k个点。n为路径中点的数量。在本实施方式中,weight的取值为4。
[0070]
当决策一个机器人的竞拍价格auctionprice时,需要用到机器人集群中除了本体机器人以外的其他机器人的位置集合psr(robot),以及会被纳入排斥区域的点集ra(p)。
[0071]
位置集合psr(robot)和点集ra(p)可以分别表示为:
[0072]
psr(robot)={(x,y)|∑(x(r),y(r)),r∈(rt\robot)};
[0073]
ra(p)={(x,y)|(x-x(p))2 (y-y(p))2<=(k*r
laser
)2};
[0074]
其中,x(r)意为机器人r的x坐标,y(r)意为机器人r的y坐标,x(p)意为点p的x坐标,y(p)意为点p的y坐标,k为常数,r
laser
为机器人传感器扫描的半径。
[0075]
为了更清晰地表示本方法中的竞拍方式,图4展示了任务竞拍、决出赢家、剔除已被分配任务的过程。
[0076]
具体地,在图4中,t1至tm为所有被竞拍的任务点,r1至rn为等待竞拍的机器人。在步骤(a)中,机器人r1至rn共同竞拍第一个任务点t1,在步骤(b)中,决出赢家,r2竞拍得到该任务点t1,在步骤(c)中,任务点t1从任务集合t中被剔除,机器人r1至rn再次共同竞拍第二个任务点t2。由此,任务集合t中的所有任务点依次被机器人竞拍,直到所有的任务点被竞
拍完毕。
[0077]
第三步,竞拍完成之后,各个机器人自身任务列表中的任务按照当前价值升序排列,同时,机器人将会实时调整自身的任务列表,不再属于边界点frontiers的任务点将会从机器人的任务列表中被移除,而且当前任务列表中的第一个任务点将会被作为下一个等待执行的当前目标点。
[0078]
可以理解,若其中一个机器人的所有任务执行完毕之后,其任务列表将会显示为空,此时,为了有效地提高利用率,可以将任务数量最多的机器人的任务列表中的最后一个任务移交至该机器人。
[0079]
本实施方式中,该方法还包括:
[0080]
s5:执行,每个机器人独立地向各自的当前目标点行进;
[0081]
具体地,机器人已经将任务列表中的第一项任务设定为了当前目标点,则机器人可以向该当前目标点前进,执行环境探索和扫描的任务。
[0082]
本实施方式中,该方法还包括:
[0083]
s6:当机器人到达自己的当前目标点后,返回执行s2中的动作,如此循环,直到s3中没有新的边界点。
[0084]
具体地,当机器人移动至自身设定的当前目标点之后,则可以对当前目标点的环境进行扫描,直到获取当前所处环境的所有图像信息。之后,基于获得的新的图像信息对之前的主地图进行更新,从而获取新的主地图。再之后,循环执行s3,直到所有机器人的任务列表为空,此时,则说明在当前的任务下,已经没有新的边界点,则没有了需要探索的未知区域,机器人不再需要执行探索地图的任务。
[0085]
本实施方式中的基于改进市场法的多机器人快速协同建图方法具有以下优点:
[0086]
本实施方式的基于改进市场法的多机器人快速协同建图方法,基于市场法进行理论建模与方法优化,结合了团队合作价值的计算因子,可以有效地配置机器人集群,使得机器人集群中的每个机器人均能够得到与各自位置以及目标路径距离相适配的任务列表,并能够根据任务列表执行任务,可以有效地进行环境探索以及获取图像信息。与现有技术相比,本方法能够提升多机器人协同搜索效率,使得系统对环境鲁棒性的鲁棒性更强,能够实现对大型室内结构化及空旷环境的高效协同搜索。
[0087]
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。此外,本文中“前”、“后”、“左”、“右”、“上”、“下”均以附图中表示的放置状态为参照。
[0088]
最后应说明的是:以上实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

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

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

相关文献