夜光 : 多 AGV 小车的路径规划技术的研究 (五)

    xiaoxiao2022-06-27  161

    夜光序言:

     

    魔鬼:为什么人类说我是魔鬼

    天使:因为他们看见你杀人了

    魔鬼:为什么他们说你是天使

    天使:因为他们看见我救人了

    魔鬼:但是我昨天救人了

    天使:我看到了

    魔鬼:那为什么他们还是叫我魔鬼

    天使:因为他们没看到

    魔鬼:你昨天杀人了

    天使:是的

    魔鬼:他们为什么还说你是天使

    天使:他们昨天没看到

     

     

     

     

     

    正文:

     

    基于 Canopy 的 K-means 聚类的栅格地图分区 针对K-means的缺点,韩瑞、崔建雄提出了改进算法,基于Canopy的K-means 聚类算法。

     

    Canopy聚类不需要事先指定聚类的个数,因此具有很大的实际应 用价值。

    与其他聚类算法相比,Canopy聚类虽然精度较低,但其在寻找聚类中心点的速度上有很大优势。 

     

    除此之外,在聚类算法实现中,引入了分区货架比例 α ,分区状态标记λ 和分区阈值β 三个系数。

    (1) 分区货架比例 分区货架比例 α 为是否需要继续细分提供依据,其计算公式如图所示。  (2) 分区状态标记 如果分区内的货架较多,分区状态标记λ 取值 0 或 1。 λ 取值 0,在该分区中使用较复杂的路径搜索算法;如果λ 取值 1 表示当前分区没有货架,可使用直线路径。

     

    (3) 分区阈值 分区阈值 β 为是否需要对分区继续进行划分的边界值, β 值越大,那么分区 的划分就越细,耗费时间越长; β 值越小,分区划分越粗糙,耗费时间越短。


     

    根据三个参数的定义,地图分区划分分为如下四种情况。

    (1) α = 0 ,分区没有货架,不再进行细分,设置λ = 1 。

    (2) 0< α<β ,分区内货架较少,则需要继续细分。

    (3) β ≤α <1 ,分区内货架较多,可停止划分。设置 λ =0 。

    (4) α = 1 ,分区内只有货架栅格,可停止划分。设置 λ =2 。


     

    基于 Canopy 的 K-means 聚类的地图分区的步骤如下:

     

    步骤1:使用Canopy聚类,对所有的栅格数据进行分组处理,得到K个Canopy 集合和各个Canopy集合的中心。

    步骤2:将Canopy集合的数量K初始化K-means聚类算法的要构建的划分的 数目;将各个Canopy集合的中心作为划分的K个簇中心;基于上述确定的簇数K 和簇中心对所有原始数据采用K-means聚类算法进行聚类优化处理,输出聚类优 化结果。

    步骤3:根据聚类分区结果,计算每个分区的 α 值,若某个分区P i , 0 <αi < βi , 重复步骤1和步骤2;若 αi = 0 ,则该分区可停止划分,设置 λi =1 ,表示货架区; 若 αi =1 ,则该分区可停止划分,设置 λi =2 ,表示货架区;若 β i ≤αi <1,则该 分区停止划分,设置 λ i =0 ,表示可行区,其中i= 1,2,...,N 。 聚类分区地图的预处理流程图设计如图所示。

    可看出,分区终的结果是分成两类分区:一类是没有货架的可行区,一类是货架数量达到该分区总数量 一定比例的货架区,表示货架数量较密集。 


     

    算法对比 

    对于聚类算法,每个划分的聚类密度越大,则聚类效果越好,本文对同一 副地图的162个栅格数据,采用3个聚类算法,分别进行了聚类划分,得到如图所示的结果对比,每个聚类划分使用不相连的颜色进行标记。 

    从图中,可看出Canopy聚类算法得到14个聚类划分,K-means聚类设定K = 13 个聚类划分,基于Canopy的K-means聚类得到了11个聚类划分,如表所示,其数据分析结果如下。

    从每个聚类算法的分区大 α 值和分区小 α 值的差值可看出,K-means 算法的聚类效果优于Canopy聚类算法,但是需要手动设定K值,采用阈值限制的基于Canopy的K-means算法聚类效果优于K-means算法,且灵活性更高。   

     

     


    最新回复(0)