一种基于激光雷达的充电桩识别方法及移动机器人与流程

文档序号:32994216发布日期:2023-01-17 23:57阅读:23来源:国知局
一种基于激光雷达的充电桩识别方法及移动机器人与流程

1.本发明属于机器人技术领域,具体涉及一种基于激光雷达的充电桩识别方法及移动机器人。


背景技术:

2.随着移动机器人技术的不断成熟,移动机器人的自主回充问题显得尤为重要,而自主回充当中当属充电桩识别最重要。目前有相当一部分自动回充技术是使用红外传感器完成的,也有少部分自动回充技术通过激光雷达完成。同类技术的状况:针对一些通过激光雷达完成自主回充的方法,大部分都是根据激光数据去寻找充电桩的特征去完成了,一旦充电桩的特征有所改变,所需的算法就需要改变。


技术实现要素:

3.为了克服上述技术缺陷,本发明提供了一种基于激光雷达的充电桩识别方法及移动机器人,其能无需改变算法,便可识别出不同的充电桩特征。
4.本发明是通过以下方案实现的:
5.一种基于激光雷达的充电桩识别方法,包括步骤:
6.s1、获取移动机器人当前位置的激光数据,并将激光数据转换成点云数据;
7.s2、对点云数据进行降采样处理,获得第一感兴趣区域点云子集;
8.s3、对第一感兴趣区域点云子集进行处理,得到至少一个第二感兴趣区域点云子集;
9.s4、对每一个第二感兴趣区域点云子集进行点云分割处理,得到第一直线子集,对第一直线子集进行数据筛选,得到至少一个第三感兴趣区域点云子集;
10.s5、对每一个第三感兴趣区域点云子集进行点云匹配。
11.作为本发明的进一步改进,所述步骤s3包括:
12.s31、对第一感兴趣区域点云子集使用点云聚类提取点云,通过设置聚类点云个数的范围对第一感兴趣区域进行过滤,聚类后得到至少一个第二感兴趣区域点云子集。
13.作为本发明的进一步改进,所述步骤s31包括:
14.s311、从第一感兴趣区域点云子集选取种子点;
15.s312、利用k-dimensional树对种子点进行半径的领域搜索;
16.s313、若邻域内存在点,则将种子点归为同一聚类簇,并返回至步骤s311;
17.s314、若邻域内不存在点,则聚类簇结束;
18.若聚类簇满足阈值区间,则保存聚类簇;
19.若第一感兴趣区域点云子集完成遍历,则得到至少一个第二感兴趣区域点云子集;
20.若第一感兴趣区域点云子集未完成遍历,则返回至步骤s311。
21.作为本发明的进一步改进,所述步骤s4包括:
22.s41、将每一个第二感兴趣区域点云子集分割成若干直线,将若干直线的索引保存为第一直线子集。
23.作为本发明的进一步改进,所述步骤s41包括:
24.s411、选取第二感兴趣区域点云子集的一个点云聚类;
25.s412、对点云聚类进行直线提取,得到第一直线子集;
26.s413、在第一直线子集中,满足阈值条件的所有直线;
27.s414、若第二感兴趣区域点云子集遍历完毕,则得到至少一个第三感兴趣区域点云子集;
28.s415、若第二感兴趣区域点云子集遍历未完毕,则返回值步骤s411。
29.作为本发明的进一步改进,所述步骤s413包括:
30.s4131、若第一直线子集中直线的数量小于2时,选取第一直线子集中的一条直线;
31.s4132、若直线与第一直线子集中其他直线角度差满足阈值条件,则对另一直线进行阈值条件判断直至第一直线子集中的直线遍历完成;若直线与第一直线子集中其他直线角度差不满足阈值条件,则从第二感兴趣区域点云子集中删除该点云聚类。
32.作为本发明的进一步改进,所述步骤s413包括:
33.s4133、若第一直线子集中直线的数量大于等于2时,则从第二感兴趣点云子集中删除该点云聚类。
34.8、根据权利要求5~7任一项所述的充电桩识别方法,其特征在于,所述步骤s5包括:
35.s51、从第三感兴趣区域点云子集中获取任一点云聚类;
36.s52、将点云聚类与充电模板进行icp匹配;
37.s53、更新icp最低得分;
38.s54、若第三感兴趣区域点云子集遍历完毕,则根据icp最低得分得到转换矩阵,并计算充电桩的位姿;
39.s55、若第三感兴趣区域点云子集遍历未完毕,则返回至步骤s51。
40.此外,本发明还提供了一种移动机器人,其特征在于,包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由所述处理器加载并执行以实现上述的充电桩识别方法。
41.与现有技术相比,本发明具有以下有益效果:当移动机器人导航到充电桩附近的时候,移动机器人就开始对充电桩进行识别,首先移动机器人获取自身当前位置激光雷达的数据,并将该激光雷达的数据转换成点云数据。由于点云数据会存在一些噪点,所以会对点云数据先进行降采样操作,降采样完成后的点云数据定义为第一感兴趣区域点云子集;随后对第一感兴趣区域点云子集进行点云聚类分割处理,根据充电桩的大小、激光雷达的特性等设置聚类点云的范围,有效地提取出若干的第二感兴趣区域点云子集(其中包括充电桩部分的点云);然后根据充电桩的特征对提取出的第二感兴趣区域点云子集进行数据筛选,进一步筛选出更符合充电桩特征的点云,得到至少一个第三感兴趣区域点云子集;最后对每一个第三感兴趣区域点云子集进行点云匹配,匹配得出充电桩的精确位置,通过该种方法,在充电桩的特征有所改变时,也无需改变算法,大大地缩短了识别时间。
附图说明
42.下面结合附图对本发明的具体实施方式作进一步详细的说明,其中:
43.图1为实施例1所述充电桩识别方法的流程图;
44.图2为实施例1所述充电桩识别方法中步骤s3的流程图;
45.图3为实施例1所述充电桩识别方法中步骤s4的流程图;
46.图4为实施例1所述充电桩识别方法中步骤s5的流程图。
47.图5为实施例1所述的充电桩模板。
具体实施方式
48.以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
49.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,各个步骤的序号仅仅作为步骤与步骤之间的区分,并不代表每个步骤需要按照序号的顺序严格执行。
50.名词解释:
51.点云数据(point cloud data)是指在一个三维坐标系统中的一组向量的集合。点云数据除了具有几何位置以外,有的还有颜色信息。颜色信息通常是通过相机获取彩色影像,然后将对应位置的像素的颜色信息(rgb)赋予点云中对应的点。强度信息的获取是激光扫描仪接收装置采集到的回波强度,此强度信息与目标的表面材质、粗糙度、入射角方向,以及仪器的发射能量,激光波长有关。
52.点云聚类算法:用于提取点云。
53.实施例1
54.本发明提供了一种基于激光雷达的充电桩识别方法,如图1所示,包括步骤:
55.s1、当机器人收到回充指令或电量不足进行自主回充的时候,机器人会根据提前设置好的充电桩位置进行导航并导航到充电桩的附近;当导航结束之后,获取移动机器人当前位置的激光数据,并将激光数据转换成点云数据。
56.s2、由于激光雷达采集到的数据会存在噪点,这些噪点会导致点云数据密度不规则,所以需要对点云数据进行降采样的处理,降采样得出的点云数据定义为第一感兴趣区域点云子集。
57.s3、对第一感兴趣区域点云子集进行处理,得到至少一个第二感兴趣区域点云子集。
58.具体地,如图2所示,所述步骤s3包括:
59.s31、对第一感兴趣区域点云子集使用点云聚类提取点云,通过设置聚类点云个数的范围对第一感兴趣区域进行过滤,聚类后得到至少一个第二感兴趣区域点云子集。对第一感兴趣区域点云子集进行欧式聚类分割处理。经过完欧式聚类分割处理,可以有效地提取出若干的第二感兴趣区域点云子集(其中包括充电桩部分的点云)。
60.进一步地,所述步骤s31包括:
61.s311、从第一感兴趣区域点云子集选取种子点。
62.s312、利用k-dimensional树对种子点进行半径r的领域搜索。
63.s313、若邻域内存在点,则将种子点归为同一聚类簇q,并返回至步骤s311,继续在第一感兴趣区域点云子集选取种子点。
64.s314、若邻域内不存在点,即若遇到其中一个种子点在r的半径范围内搜索不到其他点,则聚类簇q结束。
65.当机器人距离充电桩越近的时候,充电桩的点数会越多,反之会越少;当激光雷达的角度分辨率越小,激光雷达转动一圈的点数就越多,生成在充电桩的点数对应的会越多;当充电桩越大,激光雷达打到充电桩的点数也会越多。所以根据机器人距离充电桩的大概位置、激光雷达的角度分辨率以及充电桩的大小去确定聚类点云点数阈值区间[ec_min_size,ec_max_size],若聚类点云簇q中点数在阈值区间内,则保存聚类结果;
[0066]
若第一感兴趣区域点云子集完成遍历,则得到至少一个第二感兴趣区域点云子集。
[0067]
若第一感兴趣区域点云子集未完成遍历,则返回至步骤s311,继续从第一感兴趣区域点云子集选取种子点,直到第一感兴趣区域点云子集完成遍历。
[0068]
s4、对每一个第二感兴趣区域点云子集进行点云分割处理,得到第一直线子集,对第一直线子集进行数据筛选,得到至少一个第三感兴趣区域点云子集;
[0069]
具体地,如涂3所示,所述步骤s4包括:
[0070]
s41、将每一个第二感兴趣区域点云子集分割成若干直线,将若干直线的索引保存为第一直线子集。
[0071]
进一步地,所述步骤s41包括:
[0072]
s411、选取第二感兴趣区域点云子集的一个点云聚类。
[0073]
s412、对点云聚类进行ransac直线提取,每个点云聚类都能得到至少一条直线,该些直线构成第一直线子集。
[0074]
s413、在第一直线子集中,满足阈值条件的所有直线。
[0075]
进一步地,所述步骤s413包括:
[0076]
s4131、若第一直线子集中直线的数量小于2时,选取第一直线子集中的一条直线。
[0077]
s4132、若直线与第一直线子集中其他直线角度差满足阈值条件[angle_min,angle_max],则对另一直线进行阈值条件判断直至第一直线子集中的直线遍历完成;若直线与第一直线子集中其他直线角度差不满足阈值条件,则从第二感兴趣区域点云子集中删除该点云聚类。
[0078]
s4133、若第一直线子集中直线的数量大于等于2时,则从第二感兴趣点云子集中删除该点云聚类。
[0079]
s414、若第二感兴趣区域点云子集遍历完毕,则得到至少一个第三感兴趣区域点云子集。
[0080]
s415、若第二感兴趣区域点云子集遍历未完毕,则返回值步骤s411。
[0081]
s5、对每一个第三感兴趣区域点云子集进行点云匹配。
[0082]
具体地,如涂4所示,所述步骤s5包括:
[0083]
s51、从第三感兴趣区域点云子集中获取任一点云聚类。
[0084]
s52、将点云聚类与充电模板进行匹配,充电模板是根据充电桩的形状预先准备
好。
[0085]
s53、更新icp最低得分,icp是迭代最近点云匹配算法。
[0086]
s54、若第三感兴趣区域点云子集遍历完毕,则根据icp最低得分得到转换矩阵,并计算充电桩的位姿。
[0087]
s55、若第三感兴趣区域点云子集遍历未完毕,则返回至步骤s51。
[0088]
由此可知,本实施例具有以下有益效果:
[0089]
1、点云聚类分割能够有效地分割出感兴趣的聚类点云簇,主要基于机器人距离充电桩的大概位置、激光雷达的角度分辨率以及充电桩的大小这些要素去确定聚类点云点数阈值区间。
[0090]
2、对聚类点云簇中进行直线提取能够更好地过滤其他不属于充电桩的聚类点云簇,有效地提高了识别的准确性,加快了识别时间。
[0091]
3、无需改变算法,只需更换不同形状的充电桩模板即可识别出各种不同形状的充电桩特征。
[0092]
实施例2
[0093]
本实施例提供了一种移动机器人,包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由所述处理器加载并执行以实现实施例1中的充电桩识别方法,移动机器人可以为扫地机器人。
[0094]
所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
[0095]
存储器可用于存储所述计算机程序或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序或模块,以及调用存储在存储器内的数据,实现所述充电桩识别方法的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据手机的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0096]
以上仅为本技术的较佳实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1