CN115930933B - 一种基于集群控制的多智能体协同建图方法 - Google Patents
一种基于集群控制的多智能体协同建图方法 Download PDFInfo
- Publication number
- CN115930933B CN115930933B CN202211143964.2A CN202211143964A CN115930933B CN 115930933 B CN115930933 B CN 115930933B CN 202211143964 A CN202211143964 A CN 202211143964A CN 115930933 B CN115930933 B CN 115930933B
- Authority
- CN
- China
- Prior art keywords
- candidate target
- agent
- target point
- points
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于集群控制的多智能体协同建图方法,S1:所有智能体共同探测环境,生成初始地图并根据候选目标点算法生成候选目标点并上传服务器;S2:服务器对所有返回的候选目标点做筛选与聚类,并根据候选目标点分配算法为每个智能体分配候选目标点;S3:智能体前往目标点;S4:智能体到达目标点后,对周围环境进行探测,获得局部地图与新的候选目标点;S5:服务器判断建图是否完成,如果没有完成就返回S2;本发明提升多智能体的建图效率;利用集中控制方式使得各个智能体之间相互协调配合,共同完成复杂场景下的定位建图需求的多智能体协同建图体系,提高多智能体协同建图系统的灵活性和鲁棒性。
Description
技术领域
本发明涉及建图领域,具体为一种基于集群控制的多智能体协同建图方法。
背景技术
ROS(Robot Operating System,下文简称“ROS”)是一个适用于机器人的开源的元操作系统;它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理,它也提供用于获取、编译、编写、和跨计算机运行代码所需的工具和库函数;ROS的主要目标是为机器人研究和开发提供代码复用的支持。ROS是一个分布式的进程(也就是“节点”)框架,这些进程被封装在易于被分享和发布的程序包和功能包中。ROS也支持一种类似于代码储存库的联合系统,这个系统也可以实现工程的协作及发布。这个设计可以使一个工程的开发和实现从文件系统到用户接口完全独立决策(不受ROS限制)。同时,所有的工程都可以被ROS的基础工具整合在一起。
gmapping作为ROS的功能包之一,通过订阅机器人的深度信息、IMU信息和里程计信息,使用者只要完成一些必要参数的配置,即可创建并输出基于概率的二维栅格地图。gmapping功能包基于openslam社区的开源SLAM算法,集成了Rao-Blackwellized粒子滤波算法,为开发者隐去了复杂的内部实现。
传统的基于边缘格方法的多智能体协同建图任务分配算法在执行建图任务时,各个智能体首先将自身导航至最近的边缘栅格,其次探测环境信息并建立相应局部地图,然后通过全局通信方法,将环境信息也就是局部地图同步给其他智能体。在该方法下,多智能体系统完成未知环境下的建图任务是以分布式控制结构为基础的,因此各个智能体选择的目标点可能会与其他智能体选择的目标点相近甚至重复,导致整体建图效率损失。
Simmons则引入了贪婪竞标的策略;建图时,各个智能体向服务器发送其计算出的评价值;服务器根据收益最大化原则为每个任务分配评价值最高的智能体,但该方法依然会导致地图中某一段路径被多次探索,因为智能体在执行建图任务时,会对其他智能体行为产生影响;同时,没有及时返回环境信息也会导致这种情况的发生。
后来,在基于贪婪竞标的多智能体协同建图策略中,智能体首先计算其目标点的任务价格,同时,其他智能体通过发送自己的标的参与竞拍此目标点。该算法的不足之处为拍卖方式只是单项拍卖,探索效率不高。
随后,在组合拍卖的基础上进一步优化了的多智能体协同建图方法中,服务器依据算法中的打包策略,将不同的探索任务抽象后进行合并以减少总体任务数量。增加了任务合并这一步骤后,多智能体协同建图的效率被进一步提高了。但增加的这一步也增加了服务器的计算量,因为任务合并时需要遍历所有的合并可能。同时,多任务环境下,该算法存在的PN-hard问题难以解决。
近年来,在基于K-均值聚类的组合拍卖多智能体协同建图方法中,服务器将实时将所有候选目标点进行K-均值聚类,其中聚类个数等于智能体的数量;通过这种K-均值聚类的方式,智能体在整体建图任务开始时就能有效地分散到不同的建图子区域中,极大地减少相互之间的干扰,也因此大大减少了智能体之间的重复探索路径,提高了建图任务完成效率。但该方法在不同的环境下并不稳定,受初始状态影响大;并且,K-均值聚类虽然能将建图任务分割为互不连通的子区域,却难以保证不同子区域建图工作量的近似,如果各个子区域见图工作量差距较大,会导致智能体浪费过多时间在已知环境中导航。
发明内容
本发明的目的是针对现有技术的缺陷,提供一种基于集群控制的多智能体协同建图方法,以解决上述背景技术提出的问题。
为实现上述目的,本发明提供如下技术方案:一种基于集群控制的多智能体协同建图方法,具体步骤如下:
S1:初始化,所有智能体共同探测环境,生成初始地图并根据候选目标点算法生成候选目标点并上传服务器;
S2:服务器对所有返回的候选目标点做筛选与聚类,并根据候选目标点分配算法为每个智能体分配候选目标点;
S3:智能体前往目标点;
S4:智能体到达目标点后,对周围环境进行探测,获得局部地图与新的候选目标点;
S5:服务器判断建图是否完成,如果完成就进入S6,如果没有完成就返回S2;
S6:结束建图。
作为本发明的一种优选技术方案,所述S1中的智能体的具体操作过程:首先在环境中移动,通过自身传感器收集环境信息,构建自身局部地图;然后,根据环境信息产生可能的候选目标点,将可能的候选目标点提交给服务器进行下一步处理;最后,向服务器请求下一个目标点的位置与路径。
作为本发明的一种优选技术方案,所述S1中的服务器的具体操作过程:
首先,维护一张全局地图,接受智能体传回的环境信息,并记录到全局地图中,同时检验是否有智能体的目标点在更新的环境信息中,如果有就为其更新目标点;
其次,维护一个全局候选目标点集合,对智能体返回的候选目标点做校验,不满足校验就丢弃,满足校验就将其加入全局候选目标点集合;
最后,当智能体请求下一个目标点时,根据智能体所在位置,计算其到全局候选目标点集合中路程最短的候选目标点,并将其分配给智能体,然后将该点从全局候选目标点集合中移除。
作为本发明的一种优选技术方案,所述S1中的智能体共同探测环境是引入包围盒方法以去除这些由于智能体互相遮挡而产生的错误信息,同时保留正确的环境信息;
具体的方法如下:
步骤1:每个智能体在建图任务开始时就独立维护一个自身包围盒,这个包围盒由四个点BOX={pLU,pRU,pRD,pLD}组成,这四个点分别表示包围盒的左上、右上、右下、左下四个顶点的位置;对于理想情况下任意外形的智能体模型在抽象为长方形后,易得其相对于自身的局部坐标为其中,W、L分别为智能体的宽度和高度;
随后使用坐标系变换公式将每个点的局部坐标转换为全局坐标,可得:
其中,Θ、X、Y为智能体自身的位姿;
步骤2:当每个智能体对环境进行扫描时,同时同步其他智能体的包围盒信息,在更新地图信息前,对每束激光进行有效性检测,如果激光的返回的碰撞信息落在包围盒内,则对该束激光只更新包围盒外的地图信息,将包围盒内的激光信息丢弃;
步骤3:对于如何检测碰撞信息是否落在包围盒内,利用向量叉积的性质构造方法如下:对于每一个激光经过的地图栅格,以栅格中心的坐标为其所在点E=[x,y],做向量PLUE,PLUPRU,PRDE,PRDPLD,当(PLUE×PLUPRU)(PRDE×PRDPLD)≥0时,表明点E在直线PLUPRU与直线PRDPLD之间;同理可得点E在直线PLUPLD与直线PRUPRD之间的条件;
数学表达式如下:
至此,已完成去除由于智能体互相遮挡而产生的错误信息,及保留正确的环境信息这一任务。
作为本发明的一种优选技术方案,所述S1中智能体候选目标点的确定方法:
步骤1:设ρ=f(θ)表示在集群的前进方向,逆时针方向θ∈[0,2π),距离ρ∈(0,F]米处有障碍物,其中F表示激光的最大量程;得函数f(θ)共有两类特殊点,第一类是由于不同障碍物的距离不同而产生的跳跃间断点;第二类是由于激光的最大量程内没有障碍物而产生的无定义点;为了避免函数头尾处的特殊处理,在处理前先将函数延拓一个周期;同时,局部坐标(ρ,θ)可通过如下公式转换为全局坐标;
(xg,yg)=(ρcos(θ+Θ)+X,ρsin(θ+Θ)+Y)
步骤2:对于第二类特殊点,由于函数y=f(x)中的y对此类点没有意义,因此在处理中可以省略,同时可以将连续分布的第二类特殊点作为一个整体p={x|a≤x≤b}来看待;
整体p可以视作智能体周围的一片未知区域,为了快速地获得p周围的环境信息,此问题可以被转化为如下的规划问题:
maxS((Og1∪Og2∪…∪Ogn)-OXY)
s.t.g1、g2、…、gn∈OXY
其中,Oi表示以i为圆心,激光最大量程F为半径的圆;函数S(O)表示形状O覆盖的面积,可以沿p方向,在F距离处密集取点,此时为最大值,同时,为满足智能体通过需要,可以计算得到候选点选取分布最密集的间隔角度其中,T为设定的阈值,设置为智能体通过所需的最小宽度;
随后通过公式(xg,yg)=(ρcos(θ+Θ)+X,ρsin(θ+Θ)+Y)即可转换为全局坐标;
步骤3:对于第一类特殊点,可以假设t时刻激光雷达扫描到在坐标a处有障碍物,t+Δt时刻激光雷达扫描到在全局坐标b处有障碍物,仿照第二类特殊点的选取方式,可以计算得到候选点选取分布最密集的间隔距离dD=T,由此可得在线段上一共要生成个目标点,易得候选目标点G的选取公式如下:
至此,两类特殊点的候选坐标都已获得,从而解决在智能体采样过程中会由于不同障碍物的遮挡而导致采样结果产生间断的问题。
作为本发明的一种优选技术方案,所述S2中服务器对所有返回的候选目标点做筛选与聚类,也就是服务器对智能体返回的候选点信息进行预处理,所述预处理包括直接剔除预处理和聚类法预处理;
直接剔除预处理:服务器遍历每一个候选目标点,如果候选目标点周围的方块在全局地图中已有记录,那么表明该候选目标点附近环境信息已被其他智能体获取,因此,此候选目标点已不属于全局地图的边界点,可以直接从全局候选目标点集合中剔除此候选目标点,无需重复进行建图任务;
聚类法预处理:由于全局地图信息未知,需要避免将聚类中心生成在全局地图信息未知处,因此可以简化为候选目标点的选取问题,通过建立相应的信息函数,在相近的候选目标点集合中挑选出一个最有代表性的候选目标点;
具体的方法如下:
步骤1:随机选取一个未被标记的候选目标点加入集合i;
步骤2:遍历其余未被标记的候选目标点,如果其与目前集合i中的任一候选目标点距离小于阈值,那么把它也加入集合i;
步骤3:如果上述集合发生变化,那么回到步骤2,如果没有发生变化那么进行下一步;
步骤4:计算集合内候选目标点的信息函数,将信息函数最大的候选目标点加入result集合;
其中,信息函数如下:
Hg=∑map(x,y),(x,y)∈Og
上述公式中map(x,y)为地图标记,若(x,y)被扫描过,则map(x,y)=0,若(x,y)没有被扫描过,则map(x,y)=1;Hg函数表明一个候选目标点g预计将为全局地图带来多少新的信息。
作为本发明的一种优选技术方案,所述S2中候选目标点的分配算法具体步骤如下:服务器的候选目标点分配方法就要为每个智能体分配当前路径损耗最小的目标点,即在保证建图完整性的前提下通过减少重复路径来提高建图效率;为此,建立一个以智能体为拍卖物,各个全局候选目标点作为投标人,路径损耗为标的的拍卖系统;在该拍卖系统中,标的最小的投标人获得拍卖物,也就是每个智能体作为一种建图资源,路径损耗最小的全局候选目标点获得目前拍卖的资源的使用权;标点的路径损耗可由建图算法中自带的A*算法等寻路算法获得。
本发明的有益效果是:本发明目的是对多智能体协同建图方面进行改进,提升多智能体的建图效率;在基于分布式集群控制的多智能体协同算法中加入任务分配与任务合并策略,并结合候选目标点算法与包围盒算法,解决探索效率低和目标点选择的问题;是以多智能体集群控制为基础,为集群内的每个单智能体分配任务,并利用集中控制方式使得各个智能体之间相互协调配合,共同完成复杂场景下的定位建图需求的多智能体协同建图体系,提高多智能体协同建图系统的灵活性和鲁棒性。
1、本方法帮助用户屏蔽了多智能体协同建图任务底层的数据交互等细节,用户只需要编写智能体的逻辑行为,就能实现一个多智能体协同建图系统;
2、本方法基于拍卖理论提出了一种有效的多智能体协同建图系统,能够在保证建图覆盖率的基础上实现高效的多智能体协同;在相似建图效果下,相比其他技术具有更小的路径重复;
3、本方法根据拍卖理论的信息交换特点以及多智能体建图的特点设计出一种有效的协同方法实现多智能体协同建图,该方法的协同效率结果比原来的边缘格方法更高,建图结果也更好;
4、本方法在基于Unity和栅格建图法上进行实验证明算法的有效性,实验结果表明了我们的算法相比于经典边缘格方法的优越性;
5、在相同建图覆盖率的情况下,本发明的多智能体协同方法在建图效率以及建图结果的主观效果上都优于其他的多智能体协同方法。
附图说明
图1本发明的服务器建图任务流程图;
图2本发明的单个智能体建图任务流程图;
图3本发明的多智能体协同建图系统数据流图;
图4本发明的包围盒示意图;
图5本发明的智能体位姿示意图;
图6本发明的点在包围盒内示意图;
图7本发明的两类特殊点示意图;
图8本发明的未处理的全局候选目标点示意图;
图9本发明的候选目标点实验环境;
图10本发明的候选目标点实验中间结果(时间顺序为a-b-c-d);
图11本发明的建图结果;
图12本发明的实验环境。
具体实施方式
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易被本领域人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
实施例:请参阅图1-2,本发明提供一种技术方案:一种基于集群控制的多智能体协同建图方法,具体步骤如下:
S1:初始化,所有智能体共同探测环境,生成初始地图并根据候选目标点算法生成候选目标点并上传服务器;
S2:服务器对所有返回的候选目标点做筛选与聚类,并根据候选目标点分配算法为每个智能体分配候选目标点;
S3:智能体前往目标点;
S4:智能体到达目标点后,对周围环境进行探测,获得局部地图与新的候选目标点;
S5:服务器判断建图是否完成,如果完成就进入S6,如果没有完成就返回S2;
S6:结束建图。
本方法依据拍卖理论的信息交换特点,构建一个集中式控制的任务分配系统;在这个系统中,存在一个服务器,集中掌握了建图环境中的全局信息,并且整个系统中所有智能体都只与服务器进行信息传递,系统所有的信息将进行集中式处理,也就是说,工作的任务分配与资源分配由服务器根据分配算法合理分配给每一个智能体,各个智能体通过执行服务器分配的任务来共同完成建图工作,每个智能体只需负责环境信息的输入和输出以及执行由服务器分配的具体任务,服务器负责全局地图的存储和各个智能体任务的分配。
智能体的具体功能:
(1)、在环境中移动,通过自身传感器收集环境信息,构建自身局部地图;
(2)、根据环境信息产生可能的候选目标点,将可能的候选目标点提交给服务器进行下一步处理;
(3)、向服务器请求下一个目标点的位置与路径。
服务器的具体功能:
(1)、维护一张全局地图,接受智能体传回的环境信息,并记录到全局地图中,同时检验是否有智能体的目标点在更新的环境信息中,如果有就为其更新目标点;
(2)、维护一个全局候选目标点集合,对智能体返回的候选目标点做校验,不满足校验就丢弃,满足校验就将其加入全局候选目标点集合;
(3)、当智能体请求下一个目标点时,根据智能体所在位置,计算其到全局候选目标点集合中路程最短的候选目标点,并将其分配给智能体,然后将该点从全局候选目标点集合中移除。
智能体探测环境时激光信息筛选方法;
对于一个单独的智能体,当其获取环境信息时,必然会受到其他智能体的遮挡而产生错误的环境信息;因此,引入包围盒方法以去除这些由于智能体互相遮挡而产生的错误信息,同时尽可能保留正确的环境信息,包围盒示意图如图4;
具体的做法就是,每个智能体在建图任务开始时就独立维护一个自身包围盒,这个包围盒由四个点BOX={pLU,pRU,pRD,pLD}组成,这四个点分别表示包围盒的左上、右上、右下、左下四个顶点的位置;对于理想情况下任意外形的智能体模型在抽象为长方形后,易得其相对于自身的局部坐标为其中,W、L分别为智能体的宽度和高度;随后使用坐标系变换公式将每个点的局部坐标转换为全局坐标如图5,可得:
其中,Θ、X、Y为智能体自身的位姿;
当每个智能体对环境进行扫描时,同时同步其他智能体的包围盒信息,在更新地图信息前,对每束激光进行有效性检测,如果激光的返回的碰撞信息落在包围盒内,则对该束激光只更新包围盒外的地图信息,将包围盒内的激光信息丢弃。对于如何检测碰撞信息是否落在包围盒内,可以利用向量叉积的性质构造方法如下:对于每一个激光经过的地图栅格,以栅格中心的坐标为其所在点E=[x,y],做向量PLUE,PLUPRU,PRDE,PRDPLD。
如图6所示,当(PLUE×PLUPRU)(PRDE×PRDPLD)≥0时,表明点E在直线PLUPRU与直线PRDPLD之间。同理可得点E在直线PLUPLD与直线PRUPRD之间的条件。
严谨的数学表达式如下:
至此,已完成去除由于智能体互相遮挡而产生的错误信息,及保留正确的环境信息这一任务。
智能体候选目标点确定方法:
对于每个独立的智能体,其激光雷达在对周围扫描时,可视为对环境的采样。如图7所示,在采样过程中会由于不同障碍物的遮挡而导致采样结果产生间断。因此,假设ρ=f(θ)表示在集群的前进方向,逆时针方向θ∈[0,2π),距离ρ∈(0,F]米处有障碍物,其中F表示激光的最大量程。易得函数f(θ)共有两类特殊点,第一类是由于不同障碍物的距离不同而产生的跳跃间断点;第二类是由于激光的最大量程内没有障碍物而产生的无定义点。为了避免函数头尾处的特殊处理,可以在处理前先将函数延拓一个周期。同时,局部坐标(ρ,θ)可通过如下公式转换为全局坐标。
(xg,yg)=(ρcos(θ+Θ)+X,ρsin(θ+Θ)+Y)
对于第二类特殊点,由于函数y=f(x)中的y对此类点没有意义,因此在处理中可以省略,同时可以将连续分布的第二类特殊点作为一个整体p={x|a≤x≤b}来看待。
整体p可以视作智能体周围的一片未知区域,为了尽可能快速地获得p周围的环境信息,此问题可以被转化为如下的规划问题:
maxS((Og1∪Og2∪…∪Ogn)-OXY)
s.t.g1、g2、…、gn∈OXY
其中,Oi表示以i为圆心,激光最大量程F为半径的圆。函数S(O)表示形状O覆盖的面积。在理想情况下,可以沿p方向,在F距离处密集取点,此时为最大值,同时,为满足智能体通过需要,可以计算得到候选点选取分布最密集的间隔角度/>其中,T为设定的阈值,一般可设置为智能体通过所需的最小宽度。
随后通过公式(xg,yg)=(ρcos(θ+Θ)+X,ρsin(θ+Θ)+Y)即可转换为全局坐标。
而对于第一类特殊点,可以假设t时刻激光雷达扫描到在坐标a处有障碍物,t+Δt时刻激光雷达扫描到在全局坐标b处有障碍物,仿照第二类特殊点的选取方式,可以计算得到候选点选取分布最密集的间隔距离dD=T,由此可得在线段上一共要生成个目标点,易得候选目标点G的选取公式如下:
至此,两类特殊点的候选坐标都已获得。
服务器全局候选目标点集合维护方法;
由于各个智能体提交的候选目标点之间可能会产生距离过近甚至重叠等问题,如图8所示,因此服务器需要对集群内智能体返回的候选点信息进行预处理,以便下一步的任务分配工作。
预处理方法大致可分为两种:直接剔除和聚类。其中,直接剔除方法就是遍历每一个候选目标点,如果候选目标点周围的方块在全局地图中已有记录,那么表明该候选目标点附近环境信息已被其他智能体获取,因此,此候选目标点已不属于全局地图的边界点,可以直接从全局候选目标点集合中剔除此候选目标点,无需重复进行建图任务。
对于聚类法,由于全局地图信息未知,需要避免将聚类中心生成在全局地图信息未知处。因此可以简化为候选目标点的选取问题。通过建立相应的信息函数,在相近的候选目标点集合中挑选出一个最有代表性的候选目标点。该算法的具体描述如下:(1)随机选取一个未被标记的候选目标点加入集合i。(2)遍历其余未被标记的候选目标点,如果其与目前集合i中的任一候选目标点距离小于阈值,那么把它也加入集合i。(3)如果上述集合发生变化,那么回到第二步,如果没有发生变化那么进行下一步。(4)计算集合内候选目标点的信息函数,将信息函数最大的候选目标点加入result集合。
其中,信息函数如下:
Hg=∑map(x,y),(x,y)∈Og
上述公式中map(x,y)为地图标记,若(x,y)被扫描过,则map(x,y)=0,若(x,y)没有被扫描过,则map(x,y)=1。Hg函数表明一个候选目标点g预计将为全局地图带来多少新的信息。具体算法流程如下:
服务器候选目标点分配方法;
多智能体协同建图的关键在于最小化路径损耗,即在保证建图完整性的前提下通过减少重复路径来提高建图效率。在这个原则下,服务器的候选目标点分配方法就要为每个智能体分配当前路径损耗最小的目标点。
综上,可以建立一个以智能体为拍卖物,各个全局候选目标点作为投标人,路径损耗为标的的拍卖系统。在该拍卖系统中,标的最小的投标人获得拍卖物,换句话说就是,每个智能体作为一种建图资源,路径损耗最小的全局候选目标点获得目前拍卖的资源的使用权。具体的算法可表示如下:
其中,目标点的路径损耗可由建图算法中自带的A*算法等寻路算法获得;
从智能体和服务器两个方面,分别完善了所需算法;针对智能体提出了激光信息筛选算法以及候选目标点确定算法;针对服务器提出了全局候选目标点集合维护方法以及候选目标点分配方法;基于这些基础算法,可以构建整体建图任务数据流图如图3所示;而服务器建图任务流程如图1所示;单个智能体的建图任务流程如图2所示;
候选目标点选取与筛选实验;
本实验使用一个智能体,在一个30*30的S型环境中进行探索建图(如图9所示)。本实验的目的是验证候选目标点选取以及筛选算法的有效性。其中地图精度为1,智能体激光最大量程设置为30,智能体长宽均为1,障碍物最窄处为3。
从图10中可以看出,智能体生成的候选目标点达到了预期的效果,都产生在地图边界,并随着智能体的移动逐步扩散,没有产生多余的在已探索过的地图内部的候选目标点。同时,聚类算法将一些分布密集的候选目标点进行了精简,使后续目标点的选取更为有效。
同时,由于第二类候选目标点与智能体之间路径长度几乎相同,而第一类候选目标点与智能体间的路径长度会更近一些,所以智能体的目标点会更倾向于在上一次建图过程中产生的第一类候选目标点中选取。最终建图覆盖率达到了100%。
需要注意的是,在建图结果中出现了一些不连续的障碍栅格,这主要是由于栅格建图法的局限性导致的。具体来说,就是当激光方向与障碍物表面法线垂直且距离较近时,会增加栅格的可通行标记计数,当这种情况出现多次时,会使最后的建图结果在该栅格处标记为可通过。这个现象与本发明所提出的算法无关。
多智能体协同策略实验;
本实验使用两个智能体,在一个30*30的环境中进行探索建图(如图12所示),环境中分布着边长为2、5、10的障碍物,用于检测智能体的建图能力。本实验的目的是验证多智能体协控制算法的有效性。其中地图精度为1,智能体激光最大量程设置为30,智能体长宽均为5。
为减小随机性带来的影响,本实验首先在16个不同的初始位置,利用单智能体完成建图任务,收集到数据如下:
表1单智能体实验数据
随后加入一个智能体,在8组不同初始位置下,对多智能体协同建图进行仿真,收集到数据如下:
表2多智能体实验数据
在理想状况下,多智能体协同建图应该将未知区域划分成等工作量的子区域,智能体分别完成各自子区域的任务,因此,理想状况下,多智能体与单智能体执行相同建图任务时,多智能体建图用时应当小于单智能体建图用时的1/n,其中n为多智能体的个数。
表3平均数据
在本次试验中,选取了2个智能体,因此可以将单智能体用时除以二作为基准,同时以建图用时的倒数作为建图效率,可得本次实验,多智能体建图效率达到了理想建图效率的90.352%,表现良好。
综合以上数据可以看出,本发明所提出的多智能体协同方法可以在保证建图覆盖率为100%的情况下,较为充分地发挥多智能体建图的优势。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (6)
1.一种基于集群控制的多智能体协同建图方法,其特征在于:具体步骤如下:
S1:初始化,所有智能体共同探测环境,生成初始地图并根据候选目标点算法生成候选目标点并上传服务器;
候选目标点的确定方法如下:
S11:设ρ=f(θ)表示在集群的前进方向,逆时针方向θ∈[0,2π),距离ρ∈(0,F]米处有障碍物,其中F表示激光的最大量程;得函数f(θ)共有两类特殊点,第一类是由于不同障碍物的距离不同而产生的跳跃间断点;第二类是由于激光的最大量程内没有障碍物而产生的无定义点;为了避免函数头尾处的特殊处理,在处理前先将函数延拓一个周期;同时,局部坐标(ρ,θ)可通过如下公式转换为全局坐标;
(xg,yg)=(ρcos(θ+Θ)+X,ρsin(θ+Θ)+Y)
Θ、X、Y为智能体自身的位姿;
S12:对于第二类特殊点,由于函数y=f(x)中的y对此类点没有意义,因此在处理中省略,同时将连续分布的第二类特殊点作为一个整体p={x|a≤x≤b}来看待;其中a和b代表这个整体的起点与终点坐标;
整体p视作智能体周围的一片未知区域,为了快速地获得p周围的环境信息,此问题被转化为如下的规划问题:
maxS((Og1∪Og2∪…∪Ogn)-OXY)
s.t.g1、g2、…、gn∈OXY
其中,Oi表示以i为圆心,激光最大量程F为半径的圆;函数S(O)表示形状O覆盖的面积,沿p方向,在F距离处密集取点,此时为最大值,其中θa和θb分别指坐标点a和b的角度,同时,为满足智能体通过需要,计算得到候选点选取分布最密集的间隔角度/>其中,T为设定的阈值,设置为智能体通过所需的最小宽度;
随后通过公式(xg,yg)=(ρcos(θ+Θ)+X,ρsin(θ+Θ)+Y)即可转换为全局坐标;
S13:对于第一类特殊点,假设t时刻激光雷达扫描到在坐标a处有障碍物,t+Δt时刻激光雷达扫描到在全局坐标b处有障碍物,仿照第二类特殊点的选取方式,计算得到候选点选取分布最密集的间隔距离dD=T,由此可得在线段上一共要生成个目标点,易得候选目标点G的选取公式如下:
至此,两类特殊点的候选坐标都已获得,从而解决在智能体采样过程中会由于不同障碍物的遮挡而导致采样结果产生间断的问题;
S2:服务器对所有返回的候选目标点做筛选与聚类,并根据候选目标点分配算法为每个智能体分配候选目标点;
S3:智能体前往目标点;
S4:智能体到达目标点后,对周围环境进行探测,获得局部地图与新的候选目标点;
S5:服务器判断建图是否完成,如果完成就进入S6,如果没有完成就返回S2;
S6:结束建图。
2.根据权利要求1所述的一种基于集群控制的多智能体协同建图方法,其特征在于:所述S1中的智能体的具体操作过程:首先在环境中移动,通过自身传感器收集环境信息,构建自身局部地图;然后,根据环境信息产生可能的候选目标点,将可能的候选目标点提交给服务器进行下一步处理;最后,向服务器请求下一个目标点的位置与路径。
3.根据权利要求1所述的一种基于集群控制的多智能体协同建图方法,其特征在于:所述S1中的服务器的具体操作过程:
首先,维护一张全局地图,接受智能体传回的环境信息,并记录到全局地图中,同时检验是否有智能体的目标点在更新的环境信息中,如果有就为其更新目标点;
其次,维护一个全局候选目标点集合,对智能体返回的候选目标点做校验,不满足校验就丢弃,满足校验就将其加入全局候选目标点集合;
最后,当智能体请求下一个目标点时,根据智能体所在位置,计算其到全局候选目标点集合中路程最短的候选目标点,并将其分配给智能体,然后将该点从全局候选目标点集合中移除。
4.根据权利要求1所述的一种基于集群控制的多智能体协同建图方法,其特征在于:所述S1中的智能体共同探测环境是引入包围盒方法以去除这些由于智能体互相遮挡而产生的错误信息,同时保留正确的环境信息;
具体的方法如下:
步骤1:每个智能体在建图任务开始时就独立维护一个自身包围盒,这个包围盒由四个点BOX={pLU,pRU,pRD,pLD}组成,这四个点分别表示包围盒的左上、右上、右下、左下四个顶点的位置;对于理想情况下任意外形的智能体模型在抽象为长方形后,易得其相对于自身的局部坐标为
随后使用坐标系变换公式将每个点的局部坐标转换为全局坐标,可得:
步骤2:当每个智能体对环境进行扫描时,同时同步其他智能体的包围盒信息,在更新地图信息前,对每束激光进行有效性检测,如果激光的返回的碰撞信息落在包围盒内,则对该束激光只更新包围盒外的地图信息,将包围盒内的激光信息丢弃;
步骤3:对于如何检测碰撞信息是否落在包围盒内,利用向量叉积的性质构造方法如下:对于每一个激光经过的地图栅格,以栅格中心的坐标为其所在点E=[x,y],做向量PLUE,PLUPRU,PRDE,PRDPLD,当(PLUE×PLUPRU)(PRDE×PRDPLD)≥0时,表明点E在直线PLUPRU与直线PRDPLD之间;同理可得点E在直线PLUPLD与直线PRUPRD之间的条件;
数学表达式如下:
至此,已完成去除由于智能体互相遮挡而产生的错误信息,及保留正确的环境信息这一任务。
5.根据权利要求1所述的一种基于集群控制的多智能体协同建图方法,其特征在于:所述S2中服务器对所有返回的候选目标点做筛选与聚类,也就是服务器对智能体返回的候选点信息进行预处理,所述预处理包括直接剔除预处理和聚类法预处理;
直接剔除预处理:服务器遍历每一个候选目标点,如果候选目标点周围的栅格在全局地图中已有记录,那么表明该候选目标点附近环境信息已被其他智能体获取,因此,此候选目标点已不属于全局地图的边界点,直接从全局候选目标点集合中剔除此候选目标点,无需重复进行建图任务;
聚类法预处理:由于全局地图信息未知,需要避免将聚类中心生成在全局地图信息未知处,因此简化为候选目标点的选取问题,通过建立相应的信息函数,在相近的候选目标点集合中挑选出一个最有代表性的候选目标点;
具体的方法如下:
步骤1:随机选取一个未被标记的候选目标点加入集合i;
步骤2:遍历其余未被标记的候选目标点,如果其与目前集合i中的任一候选目标点距离小于阈值,那么把它也加入集合i;
步骤3:如果上述集合发生变化,那么回到步骤2,如果没有发生变化那么进行下一步;
步骤4:计算集合内候选目标点的信息函数,将信息函数最大的候选目标点加入result集合;
其中,信息函数如下:
Hg=∑map(x,y),(x,y)∈Og
上述公式中map(x,y)为地图标记,若(x,y)被扫描过,则map(x,y)=0,若(x,y)没有被扫描过,则map(x,y)=1;Hg函数表明一个候选目标点g预计将为全局地图带来多少新的信息。
6.根据权利要求1所述的一种基于集群控制的多智能体协同建图方法,其特征在于:所述S2中候选目标点的分配算法具体步骤如下:服务器的候选目标点分配方法就要为每个智能体分配当前路径损耗最小的目标点,即在保证建图完整性的前提下通过减少重复路径来提高建图效率;为此,建立一个以智能体为拍卖物,各个全局候选目标点作为投标人,路径损耗为标的的拍卖系统;在该拍卖系统中,标的最小的投标人获得拍卖物,也就是每个智能体作为一种建图资源,路径损耗最小的全局候选目标点获得目前拍卖的资源的使用权;目标点的路径损耗由建图算法中自带的寻路算法获得。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211143964.2A CN115930933B (zh) | 2022-09-20 | 2022-09-20 | 一种基于集群控制的多智能体协同建图方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211143964.2A CN115930933B (zh) | 2022-09-20 | 2022-09-20 | 一种基于集群控制的多智能体协同建图方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115930933A CN115930933A (zh) | 2023-04-07 |
CN115930933B true CN115930933B (zh) | 2023-07-04 |
Family
ID=86649527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211143964.2A Active CN115930933B (zh) | 2022-09-20 | 2022-09-20 | 一种基于集群控制的多智能体协同建图方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115930933B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116302449B (zh) * | 2023-05-17 | 2023-08-22 | 鹏城实验室 | 跨智能体的算法资源调度方法、装置、设备和介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101968127B1 (ko) * | 2017-01-12 | 2019-04-11 | 국방과학연구소 | 군집 무인체계 자율탐색 및 지도생성 방법 |
KR20190024467A (ko) * | 2017-08-31 | 2019-03-08 | 엘지전자 주식회사 | 타겟 지향 로컬 경로를 생성하는 방법 및 이를 구현하는 로봇 |
KR102664410B1 (ko) * | 2019-05-03 | 2024-05-08 | 엘지전자 주식회사 | 다중 센서 및 인공지능에 기반하여 맵을 생성하고 맵을 이용하여 주행하는 로봇 |
CN111275816B (zh) * | 2020-02-25 | 2022-05-10 | 华为技术有限公司 | 获取点云数据的方法及相关设备 |
CN112284393B (zh) * | 2020-10-23 | 2022-12-23 | 苏州大学 | 一种智能移动机器人全局路径规划方法和系统 |
CN114859375A (zh) * | 2022-04-13 | 2022-08-05 | 杭州电子科技大学 | 基于多机器人协作的自主探索建图系统及探索建图方法 |
CN114967694A (zh) * | 2022-05-30 | 2022-08-30 | 江苏科技大学 | 一种移动机器人协同环境探索方法 |
-
2022
- 2022-09-20 CN CN202211143964.2A patent/CN115930933B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115930933A (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Valada et al. | Deep auxiliary learning for visual localization and odometry | |
Deo et al. | Multimodal trajectory prediction conditioned on lane-graph traversals | |
Zhao et al. | A heuristic distributed task allocation method for multivehicle multitask problems and its application to search and rescue scenario | |
Seenu et al. | Review on state-of-the-art dynamic task allocation strategies for multiple-robot systems | |
Rekleitis et al. | Efficient boustrophedon multi-robot coverage: an algorithmic approach | |
Nesmachnow | An overview of metaheuristics: accurate and efficient methods for optimisation | |
Bautin et al. | Minpos: A novel frontier allocation algorithm for multi-robot exploration | |
Manathara et al. | Multiple UAV coalitions for a search and prosecute mission | |
Huang et al. | Edge robotics: Edge-computing-accelerated multirobot simultaneous localization and mapping | |
Zhang et al. | Rapidly-exploring Random Trees multi-robot map exploration under optimization framework | |
Song et al. | Online coverage and inspection planning for 3D modeling | |
CN115930933B (zh) | 一种基于集群控制的多智能体协同建图方法 | |
Sujit et al. | Self assessment-based decision making for multiagent cooperative search | |
Öztürk et al. | Optimal bid valuation using path finding for multi-robot task allocation | |
Gao et al. | A-STC: Auction-based spanning tree coverage algorithm formotion planning of cooperative robots | |
Ye et al. | Multi-robot active mapping via neural bipartite graph matching | |
Feng et al. | Predrecon: A prediction-boosted planning framework for fast and high-quality autonomous aerial reconstruction | |
Zangeneh et al. | A probabilistic framework for visual localization in ambiguous scenes | |
Guo et al. | Asynchronous collaborative autoscanning with mode switching for multi-robot scene reconstruction | |
Xu et al. | Research on multi-robot cooperative location algorithm based on wireless sensor networks | |
Cavalcante et al. | Improving combinatorial auctions for multi-robot exploration | |
Xu et al. | Market-based coordination of coupled robot systems | |
Umari | Multi-robot map exploration based on multiple rapidly-exploring randomized trees | |
Sun et al. | Online map fusion system based on sparse point-cloud | |
Wang | Cellular matrix for parallel k-means and local search to Euclidean grid matching |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |