本发明属于机器人领域,具体涉及一种基于二进制编码的分布式集群机器人个体识别系统及方法。
背景技术:
1、机器人技术作为人工智能领域的一个重要分支,已深刻地塑造了我们生活的多个方面。其中在应对复杂任务时,采用多个机器人协同工作以提高效率是一种行之有效的途径。当机器人规模较大时,传统的中央控制方法存在容错能力较低且难以维护的问题。集群机器人的出现为解决这些问题提供了切实可行的解决方案。
2、集群机器人旨在通过个体之间简单的交互规则,使由大量简单机器人组成的系统涌现出复杂的集群行为。随着对群体机器人自组织运动控制算法的深入研究,验证集群机器人的性能成为工程应用中的一个关键环节。为了更好地贴近工程实际,进行集群算法验证实验时,机器人应该具备独立识别周围个体的能力。然而,目前的集群机器人通常通过搭载复杂的标志物,如aruco码、二维码、动捕识别标志球等,并结合外部拍摄设备以全局方式获取个体身份状态信息。
3、为了满足集群机器人系统的要求,机器人通常构造简单且成本低廉。为更好地满足算法的实际需求,需要以结构简洁的方式构建分布式集群机器人的个体识别系统。
技术实现思路
1、本发明所要解决的技术问题是:
2、针对分布式桌面集群机器人不易获取邻居身份状态信息的瓶颈问题,本发明设计了一种基于二进制编码的分布式集群机器人个体识别系统及方法。依靠视觉传感器和灯光编码模块,机器人快速识别出二进制编码的矩形组,从而计算出邻居个体身份编码和状态用于集群算法使用。
3、为了解决上述技术问题,本发明采用的技术方案为:
4、一种基于二进制编码的分布式集群机器人个体识别系统,其特征在于该系统设置在机器人顶部,包括灯光编码模块、视觉传感器模块、主控板、电源模块,
5、所述灯光编码模块,用于根据集群算法需求发出不同颜色灯光表示机器人所处状态和设有二进制编码区用于对机器人进行编码;
6、所述视觉传感器模块,用于采集个体周围全向视野的图像信息传递给主控板进行计算分析;
7、所述主控板,连接灯光编码模块和视觉传感器模块,用于处理视觉传感器采集到的图像,并将处理后的结果储存到其存储单元中,可供集群算法程序调用,同时主控板控制灯光编码模块对外输出自身状态信息;
8、所述电源模块,用于给主控板供电。
9、本发明进一步的技术方案:所述灯光编码模块包括圆柱形灯罩、三条rgb可编程led灯带和等边三角形木条组成;三条rgb可编程led灯带分别固定在等边三角形木条三个侧面上,灯带可根据集群算法需求发出不同颜色灯光表示机器人所处状态;圆柱形灯罩由磨砂亚克力管制成,灯罩通过黑色不透光胶带分割为三部分,分别为上下部定位区以及中部二进制编码区;编码区由n个宽度相等从上而下的环组成,每个环具有亮暗颜色特征,当环上存在黑色不透光胶带则为暗色代表“1”,当环透光则为亮色代表“0”;最上方环表示二进制的20位,以此向下类推2n-1位,可表示十进制数字0~2n-1-1。
10、本发明进一步的技术方案:所述视觉传感器模块由三个摄像头组成,三个摄像头分别朝向多个方向用以获得个体周围全向视野。
11、本发明进一步的技术方案:所述主控板raspberry pi 4b,可支持自身控制程序调用或与其它终端在局域网内进行传输。
12、一种基于二进制编码的分布式集群机器人个体识别方法,其特征在于,包括:
13、s1:将获取的多幅图像进行灰度化处理,生成灰度图像;对灰度图像进行高斯滤波形成灰度直方图,根据灰度直方图设定阈值,对灰度图像做二值化处理;
14、s2:对二值化图像进行腐蚀和膨胀处理;
15、s3:对腐蚀和膨胀处理后的图像中的亮块按大小进行筛选,去除过小亮块;
16、s4:获取图像中每个亮块的最小内接矩形的中心坐标(x,y)和矩形像素高度h,图像中矩形中心点横坐标相差不超过10个像素点的矩形为一组,选取该组内y坐标最大和最小的两个矩形亮块为一个机器人的定位区,根据上下两个定位区确定编码区并读取编码区的二进制码字符信息,进而计算对应机器人身份编码;
17、s5:根据机器人定位区位置获取图像相应像素位置的rgb值,根据rgb值确定相应机器人所处状态。
18、本发明进一步的技术方案:还包括筛除多幅图像中重复计算的机器人。
19、本发明进一步的技术方案:所述的筛选具体为去除像素点少于200个的亮块。
20、本发明进一步的技术方案:计算对应机器人身份编码包括:
21、根据两个矩形亮块的横纵坐标以及高度,分别计算涉及的二进制20~2n-1位坐标位点;
22、对二值化处理图像获取以上多个位点像素点对应灰度值,生成一串二进制编码字符,转换成十进制数字,表示对应机器人编码值。
23、本发明进一步的技术方案:使用一个基于apache2.0许可发行的跨平台计算机视觉和机器学习软件库opencv进行处理。
24、一种计算机系统,其特征在于包括:一个或多个处理器,计算机可读存储介质,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述的方法。
25、本发明的有益效果在于:
26、本发明提出的一种基于二进制编码的集群机器人个体识别系统及方法,仅需机器人搭载廉价摄像头模块和简单灯光编码模块,便可以获取周围邻居机器人的编码和状态信息。不同于其它分布式集群机器人的身份表达方式,本发明基于二进制编码的表达方式无论从任何方向观察均可以获得对应集群机器人的身份信息,且扩展性强,表达稳定。同时其可变灯光的信息表达方式可以适应集群围捕算法,集群在线进化算法,集群防御算法等算法中对于特定信息的显示表达与传递需求,本发明系统和方法有助与构建大规模分布式机器人集群,并在集群系统中进行有信息显示表达需求的集群算法验证实验。
1.一种基于二进制编码的分布式集群机器人个体识别系统,其特征在于该系统设置在机器人顶部,包括灯光编码模块、视觉传感器模块、主控板、电源模块,
2.根据权利要求1所述的一种基于二进制编码的分布式集群机器人个体识别系统,其特征在于,所述灯光编码模块包括圆柱形灯罩、三条rgb可编程led灯带和等边三角形木条组成;三条rgb可编程led灯带分别固定在等边三角形木条三个侧面上,灯带可根据集群算法需求发出不同颜色灯光表示机器人所处状态;圆柱形灯罩由磨砂亚克力管制成,灯罩通过黑色不透光胶带分割为三部分,分别为上下部定位区以及中部二进制编码区;编码区由n个宽度相等从上而下的环组成,每个环具有亮暗颜色特征,当环上存在黑色不透光胶带则为暗色代表“1”,当环透光则为亮色代表“0”;最上方环表示二进制的20位,以此向下类推2n-1位,可表示十进制数字0~2n-1-1。
3.根据权利要求1所述的一种基于二进制编码的分布式集群机器人个体识别系统,其特征在于,所述视觉传感器模块由三个摄像头组成,三个摄像头分别朝向多个方向用以获得个体周围全向视野。
4.根据权利要求1所述的一种基于二进制编码的分布式集群机器人个体识别系统,其特征在于,所述主控板raspberry pi 4b,可支持自身控制程序调用或与其它终端在局域网内进行传输。
5.一种基于二进制编码的分布式集群机器人个体识别方法,其特征在于,包括:
6.根据权利要求5所述的一种基于二进制编码的分布式集群机器人个体识别方法,其特征在于,还包括筛除多幅图像中重复计算的机器人。
7.根据权利要求5所述的一种基于二进制编码的分布式集群机器人个体识别方法,其特征在于,所述的筛选具体为去除像素点少于200个的亮块。
8.根据权利要求5所述的一种基于二进制编码的分布式集群机器人个体识别方法,其特征在于,计算对应机器人身份编码包括:
9.根据权利要求5所述的一种基于二进制编码的分布式集群机器人个体识别方法,其特征在于,使用一个基于apache2.0许可发行的跨平台计算机视觉和机器学习软件库opencv进行处理。
10.一种计算机系统,其特征在于包括:一个或多个处理器,计算机可读存储介质,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求5-9任一项所述的方法。