一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种沿墙行走方法、装置、扫地机器人及存储介质与流程

2022-06-04 19:04:12 来源:中国专利 TAG:


1.本发明涉及机器人控制领域,尤其涉及一种沿墙行走方法、装置、扫地机器人及存储介质。


背景技术:

2.现在的扫地机器人在对边边角角清扫的时候,都会需要进行沿墙行动,而为了打扫干净,自然是离前面越近越好,因此需要规划好沿墙运行路线。现有技术一般使用单点tof(time of flight)或单点红外传感器实现机器人的沿墙运动,这种方法测量范围小,灵敏度不高,使得机器人容易碰到墙面。并且单点tof的价格昂贵,性价比不高。


技术实现要素:

3.有鉴于此,本技术提供一种沿墙行走方法,应用于扫地机器人,包括:
4.实时获取点云数据和imu数据,利用所述imu数据对所述点云数据进行预处理得到融合点云数据;
5.对所述融合点云数据进行点云特征提取,当所述机器人和所述点云特征的距离处于预设范围内时,识别所述点云特征是否为墙特征;
6.根据识别到的所述墙特征和机器人参数,生成沿墙运动轨迹;
7.控制所述扫地机器人沿着所述沿墙运动轨迹行走。
8.进一步的,所述点云数据包括点云坐标和点云时间戳,所述imu数据包括所述扫地机器人的运动状态数据和imu时间戳;
9.所述利用所述imu数据对所述点云数据进行预处理得到融合点云数据包括:
10.根据所述点云时间戳计算所述点云数据的回程差;
11.根据所述运动状态数据、所述回程差和imu时间戳对所述点云坐标进行校正得到校正后的点云数据;
12.对所述校正后的点云数据进行立方体滤波,得到所述融合点云数据。
13.进一步的,所述点云数据包括点云坐标和点云时间戳,所述imu数据包括所述扫地机器人的运动状态数据和imu时间戳;
14.所述利用所述imu数据对所述点云数据进行预处理得到融合点云数据包括:
15.根据当前帧所述imu时间戳和最近一帧的所述点云时间戳计算得到时间差,在获得下一帧点云数据之前,根据所述时间差和所述运动状态数据,计算当前时间的插值点云数据;
16.对所述插值点云数据进行立方体滤波,得到所述融合点云数据。
17.进一步的,所述点云特征包括直线、折线和圆弧中的一种或者多种组合;所述方法还包括:
18.在沿着所述沿墙运动轨迹行走之前或者行走过程中,根据所述直线的斜率、所述折线的角度或所述圆弧的弧度,对所述扫地机器人的位姿进行调整。
19.进一步的,所述点云数据为通过三维深度传感器采集到的三维点云数据或为通过雷达采集到的雷达点云数据;
20.若所述点云数据为所述三维点云数据,则在得到所述融合点云数据后还包括:
21.对三维的所述融合点云数据进行降维,得到二维的融合点云数据,所述二维的融合点云数据用于进行所述点云特征提取。
22.进一步的,所述机器人参数包括机器人半径,所述根据识别到的所述墙特征和机器人参数,生成沿墙运动轨迹:
23.将所述机器人半径与预设距离之和作为轨迹距离;
24.将各所述墙特征朝向机器人所在方向平移所述轨迹距离,生成各段平行轨迹,并将各段所述平行轨迹进行接续,生成沿墙运动轨迹。
25.进一步的,所述机器人参数还包括机器人形状,所述生成沿墙运动轨迹还包括:
26.当所述机器人的形状为圆形以外的形状,对所述机器人进行边缘膨胀处理;
27.根据所述沿墙运动轨迹和膨胀后的边缘生成轮廓沿墙运动轨迹;
28.若所述轮廓沿墙运动轨迹和所述墙特征互斥,则根据互斥程度增大所述轨迹距离,根据增大后的所述轨迹距离生成新的沿墙运动轨迹。
29.进一步的,本技术实施例还提供一种沿墙行走装置,包括:
30.数据获取模块,实时获取点云数据和imu数据,利用所述imu数据对所述点云数据进行预处理得到融合点云数据;
31.特征提取模块,用于对所述融合点云数据进行点云特征提取,当所述机器人和所述点云特征的距离处于预设范围内时,识别所述点云特征是否为墙特征;
32.轨迹生成模块,用于根据识别到的所述墙特征和机器人参数,生成沿墙运动轨迹;
33.控制模块,用于控制所述扫地机器人沿着所述沿墙运动轨迹走。
34.进一步的,本技术实施例还提供一种扫地机器人,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行上述实施例中任一项所述的沿墙行走方法。
35.进一步的,本技术实施例还提供一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行上述实施例中任一项所述的沿墙行走方法。
36.本发明提供一种沿墙行走方法,该方法包括实时获取点云数据和imu数据,利用所述imu数据对所述点云数据进行预处理得到融合点云数据;对所述融合点云数据进行点云特征提取,当所述机器人和所述点云特征的距离处于预设范围内时,识别所述点云特征是否为墙特征;根据识别到的所述墙特征和机器人参数,生成沿墙运动轨迹;控制所述扫地机器人沿着所述沿墙运动轨迹行走。通过特征提取和筛选,确保了该方法的正常触发,并且确保在机器人的运行当中也可以生成符合要求的轨迹,使得机器人在沿着轨迹行走时,减少和墙面碰撞的可能。
附图说明
37.为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
38.图1示出了本技术实施例一种沿墙行走方法流程示意图;
39.图2示出了本技术实施例一种预处理方法示意图;
40.图3示出了本技术实施例有一种预处理方法示意图;
41.图4示出了本技术实施例一种沿墙行走示意图;
42.图5示出了本技术实施例机器人膨胀示意图;
43.图6示出了本技术实施例边缘轨迹示意图;
44.图7示出了本技术实施例一种沿墙行走装置示意图。
具体实施方式
45.下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
46.通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
47.在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
48.此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
49.除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
50.本技术的技术方案应用于扫地机器人,当扫地机器人进行扫地时,会有沿墙打扫的需求,对于这种情况下,需要和墙离得足够近,同时还不能和墙有碰撞,保证机器人的安全,为此需要精确规划扫地机器人的沿墙轨迹。
51.接下来以具体实施例来解释本技术的技术方案。
52.实施例1
53.如图1所示,本技术的技术方案包括以下步骤。
54.步骤s100实时获取点云数据和imu数据,利用所述imu数据对所述点云数据进行预处理得到融合点云数据。
55.机器人首先会通过传感器来初步获取点云数据,本实施例中,该点云数据可以是三维深度传感器采集到的三维点云数据或为通过雷达采集到的雷达点云,这些点云数据包括点云坐标以及对应的点云时间戳,该点云时间戳反映了得到对应帧的点云数据的时间,通过得到点云数据的时间,以及传感器发送探测信号的时间就可以得到获得该帧点云数据
的回程差。
56.除此之外,机器人还会通过传感器收集imu(inertial measurement unit惯性测量单元)数据,本实施例中,该imu数据包括扫地机器人的运动速度运动方向运动角度等运动状态数据和对应的imu时间戳。
57.由于实时获取的点云数据存在回程差,因此,还需要对上述数据进行预处理。
58.在一种实施方式中,上述的预处理包括:根据所述点云时间戳计算所述点云数据的回程差;根据所述运动状态数据、所述回程差和imu时间戳对所述点云坐标进行校正得到校正后的点云数据。具体地,根据该回程差以及imu数据中的运动状态数据,对获得的点云数据进行校正处理,如图2所示,机器人10从a向b的方向移动,在a点发出探测信号到前方的障碍物上,在b点获取到对应的点云数据,可见在获得反馈的点云数据时,已经不是精确的数据了,需要对该点云数据进行校正,因此可以根据在b点获得的imu数据对获得的点云数据中的点云坐标进行校正计算,来获得校正点云数据,以此来确保获得的点云数据的实时性。
59.在另一种实施方式中,上述的预处理包括:根据当前帧所述imu时间戳和最近一帧的所述点云时间戳计算得到时间差,在获得下一帧点云数据之前,根据所述时间差和所述运动状态数据,计算当前时间的插值点云数据。通过imu数据对点云数据进行插值扩充计算。一般来讲,获取点云数据的频率没有获取imu数据的频率高,即相对而言,imu数据的帧率会更高,因此在相邻两帧点云数据之间,会有多个imu数据。具体的如图3所示,ti和t2为相邻的两个点云数据获得的时间戳,在t1和t2中间,机器人没有得到新的点云数据,但是因为imu数据的获取频率比点云数据快,所以可以获取多个imu数据,因此在t1到t2时间段内,机器人可以根据每一帧imu数据和t1时间的点云数据进行计算,可以计算每一帧或每几帧imu数据对应的插值点云数据,实现对点云数据的扩充,增强扫地机器人对周边环境的把控,以及点云数据的实时性。
60.在对点云数据进行了上述的校正或者插值运算之后,上述的预处理还包括:对上述的校正点云数据或者插值点云数据进行立方体滤波,以过滤掉无效的离散的点云数据,确保接下来参与特征识别的点云数据都是有效数据,最终得到的便是融合点云数据。
61.值得注意的是,若获取到的所述点云数据为所述三维点云数据,则在得到所述融合点云数据后还需要对所述三维点云数据进行降维,得到二维点云数据,以减少接下来的特征提取识别的计算量。具体而言,三维的点云数据可以在地板所在平面进行投影计算,来得到二维平面的融合点云数据。
62.步骤s200对所述融合点云数据进行点云特征提取,当所述机器人和所述点云特征的距离处于预设范围内时,识别所述点云特征是否为墙特征。
63.例如,这些点云特征可以包括直线、折线和圆弧等这些墙面常见的形状特征,同时这些形状特征也会有自身的参数特征,比如长度、直线的斜率、折线的角度以及圆弧的弧度,提取这些特征进行分析可以确认当前障碍物的形态和位置。
64.可以理解的是,对于上述点云特征的提取,可以是通过机器学习的方式,由识别模型对点云数据进行特征识别,提取出融合点云数据中的上述形状特征,然后再对这些特征参数进行计算,得到相应的长度、斜率、角度和弧度等这些参数。
65.机器人只有在接近墙面或类似墙体的如大衣柜等物体的时候才会需要进行沿墙
行走,因此在打扫过程中,若机器人与探测到的点云特征要是距离太远,则没有必要进行墙特征的识别,只有当机器人和点云特征之间的距离处于预设范围内时,机器人才需要对这些在范围内的融合点云数据进行特征提取,比如设置机器人和点云特征之间距离在30厘米的时候开始进行特征识别,判断该特征是不是墙特征。
66.所以在提取到上述点云特征之后,还会判断这些点云特征是否是墙特征,这样才符合沿墙行走的要求,具体而言,可以判断这些形状特征的长度是不是大于预设长度,无论是直线特征还是折线或者圆弧特征,只要是墙,那么就应当具有很长的长度,因此可以通过这些特征的长度判断识别到的特征是不是墙特征。
67.例如,当这些直线、折线或者弧度被探测到的长度有10厘米甚至更长,则认为面前是墙,若这些特征长度不足10厘米,则可能只是一些小障碍物,比如桌子腿之类的,则不是墙,识别到是墙特征,则开始根据这些特征进行沿墙运动轨迹的规划,若发现不是墙特征,则进行避障等操作。
68.作为一种可选的方案,该方法还包括:在沿着所述沿墙运动轨迹行走之前,根据所述直线的斜率、所述折线的角度或所述圆弧的弧度,对所述扫地机器人的位姿进行调整。
69.例如,如果机器人在进行沿墙行走中,或者沿墙行走前,发现前方是一个折线,角度为90度,则知道是一个夹角,270度,则知道是转角,两种不同的地形开阔程度不同,那么这时候就可以针对性的调整机器人位姿,进行转弯操作,同时要控制自身和对面墙壁的距离,避免碰撞。
70.同样,若发现是圆弧,通过弧度判断是夹角还是转角,依次来决定机器人位姿和转弯策略,若发现前方是平直的墙壁时,通过判断该直线与机器人行走方向的斜率,来确定机器人接下来以怎样的位姿进入沿墙运动轨迹,或者直接掉头等。
71.步骤s300根据识别到的所述墙特征和机器人参数,生成沿墙运动轨迹。
72.当识别出符合沿墙行走的特征时,意味着机器人需要进行沿墙行走,此时会根据上述墙特征和机器人本身的参数来生成沿墙运动轨迹。
73.首先需要根据所述机器人的形状以及尺寸等参数,确定所述机器人与所述墙面之间的轨迹距离。一般来讲,机器人的运行轨迹视为一条线的话,该线应当和机器人中心位置重合,因此只需要计算出机器人中心距离墙面的距离就可以计算得到轨迹距离。
74.例如机器人为圆形时,机器人的中心就是圆心,所以只要轨迹距离大于机器人的半径就可以进行沿墙行走,但是也不能将该距离设置得太远,这样扫地机器人也无法清扫干净边角位置,因此上述轨迹距离可以为机器人半径与一预设值的和,比如一圆形机器人半径为10厘米,系统内的预设值可为0.15厘米,则最终计算得到的轨迹距离为10.15厘米。
75.在得到该轨迹距离后,机器人就可以根据所述轨迹距离和所述墙特征形成所述沿墙运动轨迹。具体而言,是将上述墙特征中的形状特征向着机器人所在方向进行平移,形成和墙平行的轨迹。
76.因为这些轨迹由墙特征平移得到,墙特征由三维深度传感器或者雷达传感器探测的点云得到,可能因为探测过程的系统误差,或者在移动过程中产生新的特征,以及计算时的误差,因此特征之间难免会有断点。于是,在平移过后,若特征之间的距离小于预设的误差范围,则将这些特征之间接续起来,形成平滑的沿墙运动轨迹,若大于预设的误差范围,则意味着特征之间本身就有空缺。比如当机器人运行到门口时,因为门的开关状态以及和
墙所形成的角度不同,就容易识别到断断续续的特征。一般来讲,可以以机器人的直径作为上述误差范围,大于机器人直径的缺口则意味着机器人可以进入进行清扫,若小于机器人直径,则代表机器人无法进入,也没有形成缺口内部相应沿墙轨迹的必要。
77.如图4所示,当圆形机器人20当前探测到的墙面是平直的时候,所产生的沿墙运动轨迹l1则距离该墙面10.15厘米,是一条平行于该墙面的直线,圆形机器人20的中心和该沿墙运动轨迹l1重叠,并且和墙面之间还有0.15厘米的距离。若是到了拐角处,则探测到了折线或者圆弧的特征,那么将该特征平移后,会得到折线或者圆弧的沿墙运动轨迹。
78.本实施例中,当机器人不是圆形时,则为异形机器人,比如d字形或者矩形机器人,其中,方形机器人是一种特殊的矩形机器人。这类机器人的中心不如圆形机器人那样有着距离各条边都距离相同的性质,因此按照上述方法生成沿墙运动轨迹后,依旧可能会使得机器人触碰到墙面,比如在经过拐角的时候,因此针对这类异形机器人,还需要将所述机器人进行边缘膨胀处理。
79.此处的边缘膨胀如图5所示,以方形机器人40为例,相当于将机器人的长宽,形成膨胀后的机器人模型,比如将长宽膨胀0.15厘米,则对于方形机器人来讲,长宽都增加了0.3厘米,这样原来的机器人边界和膨胀后的机器人边界之间就有了0.15厘米的膨胀距离,从图5中可看出膨胀后的机器人模型比原本的机器人要大一轮。
80.根据上述方法得到沿墙运动轨迹后,可以根据膨胀后的机器人模型,得到沿着该沿墙运动轨迹的轮廓沿墙运动轨迹,即模拟了机器人按照上述沿墙运动轨迹后,膨胀后的机器人边界在运动时所产生的轨迹,若所述轮廓沿墙运动轨迹和所述墙特征互斥,则根据互斥程度增大所述轨迹距离,根据增大后的所述轨迹距离生成所述最终沿墙运动轨迹。
81.上述的互斥指在运动过程中,该轮廓沿墙运动轨迹与墙特征重叠,则意味着异形机器人有可能会和墙面碰撞,比如对于图5中的方形机器人40来讲,在经过拐角的时候会有甩尾的动作,那么机器人的边角就容易碰撞到墙壁。
82.如图6所示,为模拟了方形机器人40沿着沿墙运动轨迹l1行走时的状态以及轮廓沿墙运动轨迹l2,此时在拐角处,轮廓沿墙运动轨迹l2已经深入墙面,和墙面互斥了,而且可以看到方形机器人40的一角已经和墙面有碰撞,因此需要更新当前的沿墙运动轨迹l1。因此,根据上述轮廓沿墙运动轨迹深入墙面的程度,需要将上述方法获得的轨迹距离增大,比如计算模拟的轮廓沿墙运动轨迹深入了墙面的最大深度,比如该最大深度为0.1厘米,则增加上述轨迹距离0.1厘米,然后实时调整更新沿墙轨迹,这样机器人在即将进入可能会发生碰撞的地形时,可以调整轨迹,避免碰撞。
83.步骤s400,控制所述扫地机器人沿着所述沿墙运动轨迹行走。
84.确定了沿墙运动轨迹后,则控制扫地机器人沿着该沿墙运动轨迹行走和打扫。
85.作为一种可选的方案,该方法还包括:在沿着所述沿墙运动轨迹行走当中,也会根据所述直线的斜率、所述折线的角度或所述圆弧的弧度,对所述扫地机器人的位姿进行调整。
86.本实施例的方案通过三维点云或者雷达点云,采集足够多的环境数据,使得机器人可以识别周边物体的具体特征,进而可以根据这些特征,在适当的距离处生成沿墙运动轨迹,并且还会根据机器人的形状进行不同的沿墙轨迹规划,进一步的避免了异形机器人和墙面的碰撞,减少了机器人和墙面碰撞的概率,可以更精确的控制机器人进行沿墙清扫
的同时,也保障了机器人的安全和环境设施的安全。
87.实施例2
88.本技术实施例2还提供一种沿墙行走装置,如图7所示,包括:
89.数据获取模块50,实时获取点云数据和imu数据,利用所述imu数据对所述点云数据进行预处理得到融合点云数据;
90.特征提取模块60,用于对所述融合点云数据进行点云特征提取,当所述机器人和所述点云特征的距离处于预设范围内时,识别所述点云特征是否为墙特征;
91.轨迹生成模块70,用于根据识别到的所述墙特征和机器人参数,生成沿墙运动轨迹;
92.控制模块80,用于控制所述扫地机器人沿着所述沿墙运动轨迹走。
93.沿墙行走装置的数据获取模块50、特征提取模块60、轨迹生成模块70和控制模块80用于执行上述沿墙行走方法中的对应步骤,各个功能的具体实施,在这里不再一一描述。此外,实施例1中的相应变形方案也同样适用于实施例2的沿墙行走装置。
94.进一步的,本技术实施例还提供一种机器人,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行上述实施例中任一项所述的沿墙行走方法。
95.进一步的,本技术实施例还提供一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行上述实施例中任一项所述的沿墙行走方法。
96.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
97.另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
98.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
99.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何
熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献