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

    xiaoxiao2022-06-28  206

    夜光序言:

     

     

    阴阳分两路,人鬼皆殊途。人知鬼恐怖,鬼晓人心毒。

     

     

     

     

     

     

     

     

    正文:算法的魅力~,我朋友研究的挺不错,提供了必要的建议~

     

    分区路径规划思想

     

    为了解决 AGV 环境建模的问题,既要考虑到一般环境建模的算法问题,又要考虑 AGV 工作环境的自身特点,结合其特点给出合适的处理方法,以优化环境建模的结果。

     

    分区路径规划算法根据栅格地图中货架的分布情况,将栅格地图分为不均等 的若干分区,并根据每个分区的货架密度来设置标识。依据分区标识,选择不同 的路径规划算法来获得该分区的短路径或者优路径。

    接下来,介绍使用基于 Canopy 的 K-means 聚类算法来进行地图的分区预处理。

     


    聚类算法分析 

     

    很多路径搜索方法鲜少考虑到场地分布情况,使得在不同环境,路径规划方法没有区分,所搜索出的路径,过于冗长曲折。使用基于 Canopy 的 K-means 聚 类算法应用于环境地图预处理,并采用分区阈值对聚类过程进行改进。

    实验表明该方法达到了预期效果,并为 AGV 的安全作业提供了高效、稳妥的短避障路径选择做了地图准备。


     

    K-means 聚类算法 K-means 聚类算法是一种典型的基于距离的排他分割算法,基本原理是: 给定K (即要构建的划分的数目),首先创建一个初始划分,随机地选择K 个对 象,每个对象初始地代表了一个簇中心。

    分别计算每个对象到簇中心的距离,将 它们分别划分到离自己距离小的簇;当簇中对象发生变化时,重新计算簇的平均值,簇中心移动,然后对对象进行重新划分。这个过程不断重复,直到簇中对象没有变化。

     

    如图所示,展示 K-means 聚类算法的过程。 

    图中,设置 K = 3,则随机选取三个对象作为初始簇中心,接着计算每个对象距离这三个对象的距离,通过距离的比较,将每个对象划分到距离自己近的 簇中;然后重新计算每个簇中,因为对象距离簇中心的距离发生了变化,重新到 得到三个新的簇中心,再进行了一次划分,得到了终的聚类结果。


    K-means 聚类大的优点是执行效率高和可伸缩性较强。但缺点也明显,包括:

    (1) K值需要事先给定,有时候不知道分成几类合适。

    (2) 初始中心点的选 择会影响聚类效果。这也是为什么每次进行聚类后,得到结果不同的原因。

    (3) 因 为通过距离判断点的相似度进行聚类,因此 K-means 算法有一定的使用局限。当 潜在簇的形状为大小相近的近似圆形,且每个簇之间聚类较明显,K-means 聚类 结果比较理想。 


     

    Canopy 聚类算法

     

    Canopy 聚类算法是由Andrew McCallum、Kamal Nigam和Lyle H.Ungar提出,它能有效降低K-means算法中计算点之间距离的复杂度。

    其原理如下:

    (1) 原始数据集合V ={ v i| i =1,2,...,n} ,v i 表示某一分区的一个货架向量,i 表示该分区的货架向量标号。按照一定的规则进行排序,初始距离阈值为 T1 , T2 , 且 T1> T2 。    

    (2) 在V中随机挑选一个数据向量 C j( j=1,2,..., n ) ,计算C j 与V中其他样本数据向量 v i 之间的距离d 。

    若数据向量 v i满足到 C j 的距离小于 T1 ,则将其划分 到C j , ;

     

    若候选中心数据向量v i 满足到C m( m = 1,2,..., n) 的距离小于 T2 ,,

    则将其划分到 C m。其中, C j 为 Canopy 中心点, Cm 为非 Canopy 候选中心点集 合。

    (3) 重复步骤 2,直到候选中心向量名单为空,算法结束。 实现过程如图所示   

     

    从图中可以看出,通过Canopy聚类进行粗聚类后,可以得到count( Cj ) 个 聚类中心,将其作为K-means算法的输入值K,一定程度上增强了选择K值的可依据性。

    再在各个粗聚类里使用K-means聚类方法进行细聚类,不同子类对象之 间不进行相似性计算比较,大大减少后续需要计算相似性的对象的个数。 

     


    最新回复(0)