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为设定的阈值,设置为智能体通过所需的最小宽度;
由此可得在p上一共要生成 个目标点,然后使这些目标点在p上均匀分布即可得到目标点的选取公式如下:
随后通过公式(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}组成,这四个点分别表示包围盒的左上、右上、右下、左下四个顶点的位置;对于理想情况下任意外形的智能体模型在抽象为长方形后,易得其相对于自身的局部坐标为其中,W、L分别为智能体的宽
度和高度;
随后使用坐标系变换公式将每个点的局部坐标转换为全局坐标,可得:步骤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中候选目标点的分配算法具体步骤如下:服务器的候选目标点分配方法就要为每个智能体分配当前路径损耗最小的目标点,即在保证建图完整性的前提下通过减少重复路径来提高建图效率;为此,建立一个以智能体为拍卖物,各个全局候选目标点作为投标人,路径损耗为标的的拍卖系统;在该拍卖系统中,标的最小的投标人获得拍卖物,也就是每个智能体作为一种建图资源,路径损耗最小的全局候选目标点获得目前拍卖的资源的使用权;目标点的路径损耗由建图算法中自带的寻路算法获得。