障碍物识别方法、系统及具有障碍物识别功能的机器人与流程

文档序号:15555583发布日期:2018-09-29 01:02阅读:429来源:国知局

本发明涉及机器人避障领域,尤指一种障碍物识别方法、系统及具有障碍物识别功能的机器人。



背景技术:

随着科技的不断进步,智能机器人领域得到了快速发展,障碍物检测和避让是其智能化水平的重要体现。良好的避障功能是移动机器人安全行走的重要保障。

目前常用的避障方法是机器人通过激光雷达扫描周围环境,通过返回的激光,探知周围的障碍物。在实际运用中,考虑到耗电、设计、外观等因素,一些机器人会将激光雷达安装在胸部或者贴近地面端,这样一来,激光雷达扫描的高度就达不到机器人的身高,为机器人对障碍物的识别与避让带来影响。

例如,在某些医院中开始使用的医疗运输机器人。这种医疗运输机器人使用安装在其车体上的二维激光雷达做为重要的避障传感器来躲避和绕开运输路径上的人以及障碍物。而国内的医院运输环境复杂多变,其中病床是常见的阻碍机器人运输的物件之一。但由于二维激光雷达能探测到的平面高度与病床床板高度有所不同,往往只能探测到病床的腿部。这使得长出床腿的床体无法被机器人雷达检测到,在机器人避障距离设置不够的情况下,可能会引发碰撞情况。若设置比较大的避障距离,又会影响机器人通过窄门或狭窄通道的运动流畅程度。所以如果能够识别出医院中的病床,并加以合理利用,可以有效提升机器人运输过程中的运动效果以及避障能力。

为了解决上述问题,本发明提供了一种障碍物识别方法、系统及具有障碍物识别功能的机器人。



技术实现要素:

本发明的目的是提供一种障碍物识别方法、系统及具有障碍物识别功能的机器人,可以准确识别特定障碍物。

本发明提供的技术方案如下:

本发明提供了一种障碍物识别方法,包括步骤:s1通过激光雷达对周围环境进行扫描,获取每一激光反射点反射激光的激光数据;所述激光数据包括:激光反射点距离机器人的距离,激光反射点相对于机器人的方向;s2根据每一激光反射点反射的激光数据,将所有激光反射点进行分簇,得到若干个激光反射点簇;s4在若干个激光反射点簇中,判断是否有激光反射点簇对应的障碍物特征满足目标障碍物特征;s5若有,则根据满足目标障碍物特征的激光反射点簇,确定目标障碍物的方位。

优选的,步骤s1之前包括步骤:s0预先对目标障碍物的表面进行处理,增加所述目标障碍物的反光强度。

优选的,其特征在于,步骤s2之后包括步骤:s31在若干个激光反射点簇中,筛选出点簇宽度在第一预设距离阈值范围内的激光反射点簇作为第一参考激光反射点簇;s32在第一参考激光反射点簇中,筛选出与机器人的距离在第二预设距离范围内的第一参考激光反射点簇作为第二参考激光反射点簇;s33在第二参考激光反射点簇中,筛选出激光强度满足预设强度范围的第二参考激光反射点簇作为候选激光反射点簇。

优选的,步骤s4具体包括步骤:s41在多个候选激光反射点簇中,筛选出候选激光反射点簇之间的距离符合预设宽度阈值的两个候选激光反射点簇作为第一激光反射点簇对,以及候选激光反射点簇之间的距离符合预设长度阈值的两个候选激光反射点簇作为第二激光反射点簇对;s42判断第一激光反射点簇对两两之间的距离是否有满足所述预设长度阈值的两个第一激光反射点簇对;或判断第二激光反射点簇对两两之间是否有满足所述预设宽度阈值的两个第二激光反射点簇对;s43若有,则判断为有满足目标障碍物特征的激光反射点簇。

优选的,步骤s42之后具体包括步骤:s44若无,则判断第一激光反射点簇对与第二激光反射点簇对中,是否有同时含有同一激光反射点簇的一对第一激光反射点簇对和一对第二激光反射点簇对;s45若无,则判断为没有满足目标障碍物特征的激光反射点簇;若有,则返回步骤s43。

优选的,步骤s5具体包括步骤:s51根据其中一组第一激光反射点簇对中的四个激光反射点簇分别对应的激光数据,确定目标障碍物方位;或根据其中一组第二激光反射点簇对中的四个激光反射点簇分别对应的激光数据,确定目标障碍物方位。

优选的,步骤s5具体包括步骤:s52根据同时含有同一激光反射点簇的一个第一激光反射点簇对和一个第二激光反射点簇对中的三个激光反射点簇分别对应的激光数据,推算出第四个激光反射点簇的方位,从而确定目标障碍物的方位。

优选的,步骤s2具体包括步骤:s21根据每一激光反射点反射的激光数据,确定每一激光反射点的位置;s22将扫描到障碍物的第一个激光反射点归属为一个激光反射点簇,并依次判断相邻两个激光反射点簇中的后一激光反射点与前一激光反射点的距离是否小于第三预设距离;s23若是,则将相邻两个激光反射点簇中的后一激光反射点归为前一激光反射点所属的激光反射点簇;s24若否,则将相邻两个激光反射点簇中的后一激光反射点归属为另一激光反射点簇。

本发明还提供了一种机器人的障碍物识别系统,包括:获取模块,通过激光雷达对周围环境进行扫描,获取每一激光反射点反射激光的激光数据;所述激光数据包括:激光反射点距离机器人的距离,激光反射点相对于机器人的方向;处理模块,与所述获取模块电连接,用于根据每一激光反射点反射的激光数据,将所有激光反射点进行分簇,得到若干个激光反射点簇;判断模块,与所述处理模块电连接,用于在若干个激光反射点簇中,判断是否有激光反射点簇对应的障碍物特征满足目标障碍物特征;障碍物定位模块,与所述判断模块电连接,用于当有激光反射点簇对应的障碍物特征满足目标障碍物特征时,根据满足目标障碍物特征的激光反射点簇,确定目标障碍物的方位。

优选的,还包括:筛选模块,与所述处理模块电连接,在若干个激光反射点簇中,筛选出点簇宽度在第一预设距离阈值范围内的若干个激光反射点簇作为第一参考激光反射点簇;所述筛选模块,还用于在在第一参考激光反射点簇中,筛选出与机器人的距离在第二预设距离范围内的第一参考激光反射点簇作为第二参考激光反射点簇;所述筛选模块,还用于在第二参考激光反射点簇中,筛选出激光强度满足预设强度范围的第二参考激光反射点簇作为候选激光反射点簇。

优选的,还包括:所述筛选模块,还用于在在多个候选激光反射点簇中,筛选出候选激光反射点簇之间的距离符合预设宽度阈值的两个候选激光反射点簇作为第一激光反射点簇对,以及候选激光反射点簇之间的距离符合预设长度阈值的两个候选激光反射点簇作为第二激光反射点簇对;所述判断模块,还用于判断第一激光反射点簇对两两之间的距离是否有满足所述预设长度阈值的两个第一激光反射点簇对;或判断第二激光反射点簇对两两之间是否有满足所述预设宽度阈值的两个第二激光反射点簇对;若有,则判断为有满足目标障碍物特征的激光反射点簇。

优选的,所述判断模块,还用于当第一激光反射点簇对两两之间有满足所述预设长度阈值的至少一组第一激光反射点簇组;或第二激光反射点簇对两两之间有满足所述预设宽度阈值的一组第二激光反射点簇组时,则判断第一激光反射点簇对与第二激光反射点簇对中,是否有同时含有同一激光反射点簇的一个第一激光反射点簇对和一个第二激光反射点簇对;若无,则判断为没有满足目标障碍物特征的激光反射点簇;若有,则判断为有满足目标障碍物特征的激光反射点簇。

优选的,所述障碍物定位模块,还用于根据根据满足所述预设长度阈值的两个第一激光反射点簇对或满足所述预设宽度阈值的两个第二激光反射点簇对中的四个激光反射点簇分别对应的激光数据,确定目标障碍物方位。

优选的,所述障碍物定位模块,还用于根据同时含有同一激光反射点簇的一个第一激光反射点簇对和一个第二激光反射点簇对中的三个激光反射点簇分别对应的激光数据,推算出第四个激光反射点簇的方位,从而确定目标障碍物的方位。

优选的,所述处理模块还用于根据每一激光反射点反射的激光数据,确定每一激光反射点的位置;所述判断模块,还用于逐一判断每一激光反射点与其最近的激光反射点簇的距离是否小于第三预设距离;所述处理模块还用于,将扫描到障碍物的第一个激光反射点作为一个激光反射点簇;所述判断模块,还用于判断之后的每一激光反射点与前一激光反射点的距离是否小于第三预设距离;所述处理模块还用于,若判断之后的一激光反射点与前一激光反射点的距离是否小于第三预设距离;,则将此激光反射点归为前一激光反射点所属的激光反射点簇;否则将此激光反射点作为另一激光反射点簇。

优选的,所述处理模块还用于根据每一激光反射点反射的激光数据,确定每一激光反射点的位置;将扫描到障碍物的第一个激光反射点归属为一个激光反射点簇,所述判断模块,依次判断相邻两个激光反射点簇中的后一激光反射点与前一激光反射点的距离是否小于第三预设距离;所述处理模块还用于,若判断相邻两个激光反射点簇中的后一激光反射点与前一激光反射点的距离小于第三预设距离,则将此激光反射点归属为此激光反射点簇,若否,则将相邻两个激光反射点簇中的后一激光反射点归属为另一激光反射点簇。

本发明还提供了一种具有障碍物识别功能的机器人,机器人包括:获取模块,通过激光雷达对周围环境进行扫描,获取每一激光反射点反射激光的激光数据;所述激光数据包括:激光反射点距离机器人的距离,激光反射点相对于机器人的方向;处理模块,与所述获取模块电连接,用于根据每一激光反射点反射的激光数据,将所有激光反射点进行分簇,得到若干个激光反射点簇;判断模块,与所述处理模块电连接,用于在若干个激光反射点簇中,判断是否有激光反射点簇对应的障碍物特征满足目标障碍物特征;障碍物定位模块,与所述判断模块电连接,用于当有激光反射点簇对应的障碍物特征满足目标障碍物特征时,根据满足目标障碍物特征的激光反射点簇,确定目标障碍物的方位。

优选的,还包括:筛选模块,与所述处理模块电连接,在若干个激光反射点簇中,筛选出点簇宽度在第一预设距离阈值范围内的若干个激光反射点簇作为第一参考激光反射点簇;所述筛选模块,还用于在在第一参考激光反射点簇中,筛选出与机器人的距离在第二预设距离范围内的第一参考激光反射点簇作为第二参考激光反射点簇;所述筛选模块,还用于在第二参考激光反射点簇中,筛选出激光强度满足预设强度范围的第二参考激光反射点簇作为候选激光反射点簇。

优选的,还包括:所述筛选模块,还用于在在多个候选激光反射点簇中,筛选出候选激光反射点簇之间的距离符合预设宽度阈值的两个候选激光反射点簇作为第一激光反射点簇对,以及候选激光反射点簇之间的距离符合预设长度阈值的两个候选激光反射点簇作为第二激光反射点簇对;所述判断模块,还用于判断第一激光反射点簇对两两之间的距离是否有满足所述预设长度阈值的两个第一激光反射点簇对;或判断第二激光反射点簇对两两之间是否有满足所述预设宽度阈值的两个第二激光反射点簇对;若有,则判断为有满足目标障碍物特征的激光反射点簇。

优选的,所述判断模块,还用于当第一激光反射点簇对两两之间有满足所述预设长度阈值的至少一组第一激光反射点簇组;或第二激光反射点簇对两两之间有满足所述预设宽度阈值的一组第二激光反射点簇组时,则判断第一激光反射点簇对与第二激光反射点簇对中,是否有同时含有同一激光反射点簇的一个第一激光反射点簇对和一个第二激光反射点簇对;若无,则判断为没有满足目标障碍物特征的激光反射点簇;若有,则判断为有满足目标障碍物特征的激光反射点簇。

优选的,所述障碍物定位模块,还用于根据根据满足所述预设长度阈值的两个第一激光反射点簇对或满足所述预设宽度阈值的两个第二激光反射点簇对中的四个激光反射点簇分别对应的激光数据,确定目标障碍物方位。

优选的,所述障碍物定位模块,还用于根据同时含有同一激光反射点簇的一个第一激光反射点簇对和一个第二激光反射点簇对中的三个激光反射点簇分别对应的激光数据,推算出第四个激光反射点簇的方位,从而确定目标障碍物的方位。

优选的,所述处理模块还用于根据每一激光反射点反射的激光数据,确定每一激光反射点的位置;所述判断模块,还用于逐一判断每一激光反射点与其最近的激光反射点簇的距离是否小于第三预设距离;所述处理模块还用于,将扫描到障碍物的第一个激光反射点作为一个激光反射点簇;所述判断模块,还用于判断之后的每一激光反射点与前一激光反射点的距离是否小于第三预设距离;所述处理模块还用于,若判断之后的一激光反射点与前一激光反射点的距离是否小于第三预设距离;则将此激光反射点归为前一激光反射点所属的激光反射点簇;否则将此激光反射点作为另一激光反射点簇。

优选的,所述处理模块还用于根据每一激光反射点反射的激光数据,确定每一激光反射点的位置;将扫描到障碍物的第一个激光反射点归属为一个激光反射点簇,所述判断模块,依次判断相邻两个激光反射点簇中的后一激光反射点与前一激光反射点的距离是否小于第三预设距离;所述处理模块还用于,若判断相邻两个激光反射点簇中的后一激光反射点与前一激光反射点的距离小于第三预设距离,则将此激光反射点归属为此激光反射点簇,若否,则将相邻两个激光反射点簇中的后一激光反射点归属为另一激光反射点簇。

通过本发明提供的一种障碍物识别方法、系统及具有障碍物识别功能的机器人,能够带来以下至少一种有益效果:

1、本发明能够根据激光雷达扫描后形成的激光反射点簇,识别一些特定特征的障碍物,防止机器人设置的避障距离过短而碰撞到障碍物。

2、在得到若干个激光反射点簇之后,本发明会对若干个激光反射点簇进行筛选,排除具有干扰因素的激光反射点簇,减少了机器人进行障碍物特征比对时的工作量,提高了障碍物的识别精度,优化了机器人的障碍物识别能力。

3、本发明中提供的激光反射点簇对应的特征与目标障碍物特征进行比对方式,能够精确地探测到特定障碍物,避免了其他障碍物对应的激光反射点簇对特定障碍物对应的激光反射点簇造成干扰。

4、通过满足目标障碍物的激光反射点簇对应的激光数据,能够准确计算出障碍物的方位、距离,使机器人能够有效避障。

附图说明

下面将以明确易懂的方式,结合附图说明优选实施方式,对一种障碍物识别方法、系统及具有障碍物识别功能的机器人的上述特性、技术特征、优点及其实现方式予以进一步说明。

图1是本发明一种障碍物识别方法的一个实施例的流程图;

图2是本发明一种障碍物识别方法的另一个实施例的流程图;

图3是本发明一种障碍物识别方法的另一个实施例的流程图;

图4是本发明一种障碍物识别方法的另一个实施例的流程图;

图5是本发明一种障碍物识别系统的另一个实施例的结构示意图;

图6是本发明一种具有障碍物识别功能的机器人的实施例的结构示意图。

附图标号说明:

1-获取模块、2-处理模块、3-判断模块、4-障碍物定位模块、5-筛选模块。

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。

为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。

如图1所示,本发明提供了一种障碍物识别方法的一个实施例,包括步骤:

s1通过激光雷达对周围环境进行扫描,获取每一激光反射点反射激光的激光数据;所述激光数据包括:激光反射点距离机器人的距离,激光反射点相对于机器人的方向;

s2根据每一激光反射点反射的激光数据,将所有激光反射点进行分簇,得到若干个激光反射点簇;

s4在若干个激光反射点簇中,判断是否有激光反射点簇对应的障碍物特征满足目标障碍物特征;

s5若有,则根据满足目标障碍物特征的激光反射点簇,确定目标障碍物的方位;

s6若无,则判断为没有目标障碍物。

具体的,由于有的机器人机的激光雷达不是三维的,不能扫描到三维空间上的障碍物,只能扫描水平方向上某一高度的障碍物。对于一些特定的障碍物,例如医院里的病床,其床脚是处于病床靠近中部位置,床头床尾会伸出来很长一段。当机器人扫描到床脚时,若是机器人的避障距离设置得不够远,还没有达到避障距离,可能就已经撞上床头或者床尾了,这样就会导致机器人不能有效避开障碍物。但是,若将机器人的避障距离设置得太大,在进入通道门时,极有可能把门视为障碍物,导致机器人不能有效行走。因此,本发明设计了这种障碍物的识别方法。

首先,机器人先通过激光雷达扫描周围环境,激光扫描到各个障碍物时,在障碍物上会形成激光点,并返回一个激光束,机器人会根据每一返回的激光束,将所有扫描到的激光反射点进行分簇。例如在医院中,扫描时会扫描到非常多的人腿、床腿或者其他箱子柜子,激光扫描在上面都会形成一个线段式的激光反射点簇。机器人会根据某些特定障碍物的特征,判断是否有激光反射点簇对应的障碍物特征满足目标障碍物特征;例如,对于医院的病床,其四个床脚都有一定的几何位置,他们之间的距离都是固定的。而根据各个激光反射点簇对应的激光数据,可以得到每个障碍物相对于机器人的位置,若有四个障碍物的位置满足四个床脚的几何特征,即可判断出病床的位置,机器人识别之后,即可达到避障的目的。

如图2所示,本发明提供了一种障碍物识别方法的一个实施例,包括步骤:

s0预先对目标障碍物的表面进行处理,增加所述目标障碍物的反光强度。

s1通过激光雷达对周围环境进行扫描,获取每一激光反射点反射激光的激光数据;所述激光数据包括:激光反射点距离机器人的距离,激光反射点相对于机器人的方向;

s2根据每一激光反射点反射的激光数据,将所有激光反射点进行分簇,得到若干个激光反射点簇;

s31在若干个激光反射点簇中,筛选出点簇宽度在第一预设距离阈值范围内的激光反射点簇作为第一参考激光反射点簇;

s32在第一参考激光反射点簇中,筛选出与机器人的距离在第二预设距离范围内的第一参考激光反射点簇作为第二参考激光反射点簇;

s33在第二参考激光反射点簇中,筛选出激光强度满足预设强度范围的第二参考激光反射点簇作为候选激光反射点簇。

s4在若干个激光反射点簇中,判断是否有激光反射点簇对应的障碍物特征满足目标障碍物特征;

s5若有,则根据满足目标障碍物特征的激光反射点簇,确定目标障碍物的方位;

s6若无,则判断为没有目标障碍物。

具体的,本实施例可以运用在医院里的送货机器人上,由于医院中人流众多,因此避障成了机器人的一大难题。对于医院中的病床来说,机器人在对周围环境进行扫描之后,障碍物会反射激光,并形成激光反射点,由于机器人的激光雷达是二维的,因此扫描到障碍物时,每一障碍物都会形成一段激光反射点,本实施例将之成为激光反射点簇。

由于环境比较复杂,机器人扫描之后会得到很多激光反射点簇,有的是人腿的,有的是床腿的,有的是箱柜等等,这些都会对目标障碍物的识别造成影响,因此,需要对扫描得到的若干个激光反射点簇进行筛选。

首先,由于目标障碍物具有一定的特征,例如本实施例中目标障碍物可为医院的病床,其床腿的有一定的宽度,一般为2cm~6cm之间,机器人会在若干个激光反射点簇中,筛选出点簇宽度在第一预设距离阈值范围(即2cm~6cm)内的若干个激光反射点簇作为第一参考激光反射点簇;

其次,由于机器人在通过激光雷达进行扫描时,每一个激光束之间都有一定的夹角,虽然夹角非常小,但是随着激光到达障碍物的距离增加,两束激光对应的激光反射点之间的距离也会增加,这样会影响激光反射点簇的形成,从而影响障碍物的识别,因此,机器人还会将筛选出与机器人的距离在第二预设距离范围内的若干个激光反射点簇作为第二参考激光反射点簇;所述第二预设距离范围可以设为小于5m。

然后,为了更进一步减少无效的激光反射点簇,还可以对需要识别的特定障碍物的局部表面进行处理,使机器人通过激光扫描之后,反射的激光强度更大。例如在病床的床脚上粘贴高反光材料,增强反射激光的强度。机器人在若干个第二参考激光反射点簇中,筛选出激光强度满足预设强度范围的若干个激光反射点簇作为候选激光反射点簇。

通过上述的步骤进行筛选之后,能够排除无效的激光反射点簇,减少了比对若干个个反射点簇对应的障碍物特征与目标障碍物特征的工作量,同时增加了障碍物识别的精度。

如图3所示,本发明提供了一种障碍物识别方法的一个实施例,包括步骤:

s0预先对目标障碍物的表面进行处理,增加所述目标障碍物的反光强度。

s1通过激光雷达对周围环境进行扫描,获取每一激光反射点反射激光的激光数据;所述激光数据包括:激光反射点距离机器人的距离,激光反射点相对于机器人的方向;

s2根据每一激光反射点反射的激光数据,将所有激光反射点进行分簇,得到若干个激光反射点簇;

s31在若干个激光反射点簇中,筛选出点簇宽度在第一预设距离阈值范围内的激光反射点簇作为第一参考激光反射点簇;

s32在第一参考激光反射点簇中,筛选出与机器人的距离在第二预设距离范围内的第一参考激光反射点簇作为第二参考激光反射点簇;

s33在第二参考激光反射点簇中,筛选出激光强度满足预设强度范围的第二参考激光反射点簇作为候选激光反射点簇。

s41在多个候选激光反射点簇中,筛选出候选激光反射点簇之间的距离符合预设宽度阈值的两个候选激光反射点簇作为第一激光反射点簇对,以及候选激光反射点簇之间的距离符合预设长度阈值的两个候选激光反射点簇作为第二激光反射点簇对;

s42判断第一激光反射点簇对两两之间的距离是否有满足所述预设长度阈值的两个第一激光反射点簇对;或判断第二激光反射点簇对两两之间是否有满足所述预设宽度阈值的两个第二激光反射点簇对;

s43若有,则判断为有满足目标障碍物特征的激光反射点簇。

s44若无,则判断第一激光反射点簇对与第二激光反射点簇对中,是否有同时含有同一激光反射点簇的一对第一激光反射点簇对和一对第二激光反射点簇对;

s45若无,则判断为没有满足目标障碍物特征的激光反射点簇;若有,则返回步骤s43。

s5若有,则根据满足目标障碍物特征的激光反射点簇,确定目标障碍物的方位;

s6若无,则判断为没有目标障碍物。

具体的,本实施例阐述了如何判断是否有激光反射点簇对应的障碍物特征满足目标障碍物特征;

对于病床这一障碍物来说,机器人智能扫描四条腿,因此,本实施例需要判断若干个候选激光反射点簇中,是否有激光反射点簇对应的障碍物特征满足这四条腿的特征

首先,在若干个候选激光反射点簇中,筛选出若干对符合预设宽度阈值的第一激光反射点簇对,以及若干对符合预设长度阈值的第二激光反射点簇对;所述预设宽度阈值和所述预设长度阈值可以根据实际病床进行设置,例如将所述预设宽度阈值设为1m,所述预设长度阈值设为1.2m。若是候选激光反射点簇中有两个激光反射点簇之间的距离为1m,即可判断这两个激光反射点簇满足预设宽度阈值,并将这两个满足预设宽度阈值的激光反射点簇作为第一激光反射点簇对。同样的,若是候选激光反射点簇中有两个激光反射点簇之间的距离符合预设长度阈值,则将这两个满足预设宽度阈值的激光反射点簇作为第一激光反射点簇对。

其次,判断第一激光反射点簇对两两之间的距离是否有满足所述预设长度阈值的两个第一激光反射点簇对,若有,则将这两个第一激光反射点簇对作为第一激光反射点簇组;或判断第二激光反射点簇对两两之间是否有满足所述预设宽度阈值的两个第二激光反射点簇对,若有,则将这两个第二激光反射点簇对作为第二激光反射点簇组;例如,若是有两个第一激光反射点簇对之间的距离达到预设长度阈值1.2m,即将这两个第一激光反射点簇对作为第一激光反射点簇组。同样,若是有两个第二激光反射点簇对之间的距离达到预设宽度阈值1m,即将这两个第二激光反射点簇对作为第二激光反射点簇组。第一激光反射点簇组和第二激光反射点簇组中都有四个激光反射点簇,反应了病床四个床腿的位置,若有这样的第一激光反射点簇组或第二激光反射点簇组,则判断为有满足目标障碍物特征的激光反射点簇,即识别到有病床。

再次,在一些角度上,病床的一个床腿有可能会遮挡住另一条床腿,因此可能无法找到满足第一激光反射点簇组和第二激光反射点簇组的四个激光反射点簇,因此在步骤s42之后判断出没有这样的第一激光反射点簇组或第二激光反射点簇组,则还会执行步骤s44,判断若干个第一激光反射点簇对与若干个第二激光反射点簇对中,是否有同时含有同一激光反射点簇的一对第一激光反射点簇对和一对第二激光反射点簇对。例如,有一对第一激光反射点簇对和另一对第二激光反射点簇对,他们中同时含有一个激光反射点,这也可以判断为有满足目标障碍物特征的激光反射点簇。

如图4所示,本发明提供了一种障碍物识别方法的一个实施例,包括步骤:

s0预先对目标障碍物的表面进行处理,增加所述目标障碍物的反光强度。

s1通过激光雷达对周围环境进行扫描,获取每一激光反射点反射激光的激光数据;所述激光数据包括:激光反射点距离机器人的距离,激光反射点相对于机器人的方向;

s11对每一激光反射点反射回的激光对应的所述激光数据进行修正,每一个激光反射点对应的激光数据的值被修正为与所述激光反射点左右相邻n个激光反射点对应的激光数据的均值;n为正整数。

s21根据每一激光反射点反射的激光数据,确定每一激光反射点的位置;

s22将扫描到障碍物的第一个激光反射点归属为一个激光反射点簇,并依次判断相邻两个激光反射点簇中的后一激光反射点与前一激光反射点的距离是否小于第三预设距离;

s23若是,则将相邻两个激光反射点簇中的后一激光反射点归为前一激光反射点所属的激光反射点簇;

s24若否,则将相邻两个激光反射点簇中的后一激光反射点归属为另一激光反射点簇。

s31在若干个激光反射点簇中,筛选出点簇宽度在第一预设距离阈值范围内的激光反射点簇作为第一参考激光反射点簇;

s32在第一参考激光反射点簇中,筛选出与机器人的距离在第二预设距离范围内的第一参考激光反射点簇作为第二参考激光反射点簇;

s33在第二参考激光反射点簇中,筛选出激光强度满足预设强度范围的第二参考激光反射点簇作为候选激光反射点簇。

s41在多个候选激光反射点簇中,筛选出候选激光反射点簇之间的距离符合预设宽度阈值的两个候选激光反射点簇作为第一激光反射点簇对,以及候选激光反射点簇之间的距离符合预设长度阈值的两个候选激光反射点簇作为第二激光反射点簇对;

s42判断第一激光反射点簇对两两之间的距离是否有满足所述预设长度阈值的两个第一激光反射点簇对;或判断第二激光反射点簇对两两之间是否有满足所述预设宽度阈值的两个第二激光反射点簇对;

s43若有,则判断为有满足目标障碍物特征的激光反射点簇。

s44若无,则判断第一激光反射点簇对与第二激光反射点簇对中,是否有同时含有同一激光反射点簇的一对第一激光反射点簇对和一对第二激光反射点簇对;

s45若无,则判断为没有满足目标障碍物特征的激光反射点簇;若有,则返回步骤s43。

s51根据满足所述预设长度阈值的两个第一激光反射点簇对或满足所述预设宽度阈值的两个第二激光反射点簇对中的四个激光反射点簇分别对应的激光数据,确定目标障碍物方位。

s52根据同时含有同一激光反射点簇的一个第一激光反射点簇对和一个第二激光反射点簇对中的三个激光反射点簇分别对应的激光数据,推算出第四个激光反射点簇的方位,从而确定目标障碍物的方位。

具体的,由于激光测距是通过光反射实现,在物体边缘处反射率巨变会使激光测距会出现大误差,为了消除这个现象,首先对要对采集到的每一帧激光数据进行均值滤波,方法为一个激光点的值被修正为其与其左右n个点(经验值为3个点)的均值。

s6若无激光反射点簇对应的障碍物特征满足目标障碍物特征,则判断为没有目标障碍物。

由于二维激光雷达发射激光扫描障碍物时,是通过周期性旋转的激光扫描枪进行扫描的,因此,发射出去的每一束激光都有其先后顺序。每一束激光反射回来后,机器人都可以根据每一激光反射点反射的激光数据,确定每一激光反射点的位置;并将扫描到障碍物的第一个激光反射点作为一个激光反射点簇,然后依次判断之后的每一束激光形成的激光反射点与前一束激光激光反射点的距离是否小于第三预设距离(可设为3cm);若是,则将此激光反射点归为前一激光反射点所属的激光反射点簇;若否,则将此激光反射点作为另一激光反射点簇。

机器人在发射激光探测障碍物时,每一激光束都可以看成是一具有方向和长度的矢量,因此,可以准确计算出每一激光反射点簇的位置。显然,在病床四个床腿分别对应的四个激光反射点簇的位置确定之后,病床的位置也将得到,机器人就可以有效避开病床。如步骤s44、s45所述的,当有同时含有同一激光反射点簇的一对第一激光反射点簇对和一对第二激光反射点簇对时,可以根据同时含有同一激光反射点簇的一个第一激光反射点簇对和一个第二激光反射点簇对中的三个激光反射点簇分别对应的激光数据,确定这三个激光反射点簇相对于机器人的位置,并通过这三个激光反射点簇的位置以及四个床脚的相对位置,推算出第四个激光反射点簇的方位,从而得到病床的具体位置,达到避障的目的。

如图5所示,本发明还提供了一种机器人的障碍物识别系统,还包括:

获取模块1,通过激光雷达对周围环境进行扫描,获取每一激光反射点反射激光的激光数据;所述激光数据包括:激光反射点距离机器人的距离,激光反射点相对于机器人的方向;

处理模块2,与所述获取模块1电连接,用于根据每一激光反射点反射的激光数据,将所有激光反射点进行分簇,得到若干个激光反射点簇;

判断模块3,与所述处理模块2电连接,用于在若干个激光反射点簇中,判断是否有激光反射点簇对应的障碍物特征满足目标障碍物特征;

障碍物定位模块4,与所述判断模块3电连接,用于当有激光反射点簇对应的障碍物特征满足目标障碍物特征时,根据满足目标障碍物特征的激光反射点簇,确定目标障碍物的方位。

首先,机器人先通过激光雷达扫描周围环境,激光扫描到各个障碍物时,在障碍物上会形成激光点,并返回一个激光束,机器人会根据每一返回的激光束,将所有扫描到的激光反射点进行分簇。例如在医院中,扫描时会扫描到非常多的人腿、床腿或者其他箱子柜子,激光扫描在上面都会形成一个线段式的激光反射点簇。机器人会根据某些特定障碍物的特征,判断是否有激光反射点簇对应的障碍物特征满足目标障碍物特征;例如,对于医院的病床,其四个床脚都有一定的几何位置,他们之间的距离都是固定的。而根据各个激光反射点簇对应的激光数据,可以得到每个障碍物相对于机器人的位置,若有四个障碍物的位置满足四个床脚的几何特征,即可判断出病床的位置,机器人识别之后,即可达到避障的目的。

本发明还提供了一种机器人的障碍物识别系统,还包括:

获取模块1,通过激光雷达对周围环境进行扫描,获取每一激光反射点反射激光的激光数据;所述激光数据包括:激光反射点距离机器人的距离,激光反射点相对于机器人的方向;

处理模块2,与所述获取模块1电连接,用于根据每一激光反射点反射的激光数据,将所有激光反射点进行分簇,得到若干个激光反射点簇;

判断模块3,与所述处理模块2电连接,用于在若干个激光反射点簇中,判断是否有激光反射点簇对应的障碍物特征满足目标障碍物特征;

障碍物定位模块4,与所述判断模块3电连接,用于当有激光反射点簇对应的障碍物特征满足目标障碍物特征时,根据满足目标障碍物特征的激光反射点簇,确定目标障碍物的方位。

优选的,还包括:筛选模块5,与所述处理模块2电连接,在若干个激光反射点簇中,筛选出点簇宽度在第一预设距离阈值范围内的若干个激光反射点簇作为第一参考激光反射点簇;所述筛选模块5,还用于在在第一参考激光反射点簇中,筛选出与机器人的距离在第二预设距离范围内的第一参考激光反射点簇作为第二参考激光反射点簇;所述筛选模块5,还用于在第二参考激光反射点簇中,筛选出激光强度满足预设强度范围的第二参考激光反射点簇作为候选激光反射点簇。

优选的,还包括:所述筛选模块5,还用于在在多个候选激光反射点簇中,筛选出候选激光反射点簇之间的距离符合预设宽度阈值的两个候选激光反射点簇作为第一激光反射点簇对,以及候选激光反射点簇之间的距离符合预设长度阈值的两个候选激光反射点簇作为第二激光反射点簇对;所述判断模块3,还用于判断第一激光反射点簇对两两之间的距离是否有满足所述预设长度阈值的两个第一激光反射点簇对;或判断第二激光反射点簇对两两之间是否有满足所述预设宽度阈值的两个第二激光反射点簇对;若有,则判断为有满足目标障碍物特征的激光反射点簇。

优选的,所述判断模块3,还用于当第一激光反射点簇对两两之间有满足所述预设长度阈值的至少一组第一激光反射点簇组;或第二激光反射点簇对两两之间有满足所述预设宽度阈值的一组第二激光反射点簇组时,则判断第一激光反射点簇对与第二激光反射点簇对中,是否有同时含有同一激光反射点簇的一个第一激光反射点簇对和一个第二激光反射点簇对;若无,则判断为没有满足目标障碍物特征的激光反射点簇;若有,则判断为有满足目标障碍物特征的激光反射点簇。

优选的,所述障碍物定位模块4,还用于根据根据满足所述预设长度阈值的两个第一激光反射点簇对或满足所述预设宽度阈值的两个第二激光反射点簇对中的四个激光反射点簇分别对应的激光数据,确定目标障碍物方位。

优选的,所述障碍物定位模块4,还用于根据同时含有同一激光反射点簇的一个第一激光反射点簇对和一个第二激光反射点簇对中的三个激光反射点簇分别对应的激光数据,推算出第四个激光反射点簇的方位,从而确定目标障碍物的方位。

所述处理模块,还用于根据每一激光反射点反射的激光数据,确定每一激光反射点的位置;将扫描到障碍物的第一个激光反射点归属为一个激光反射点簇,并依次判断相邻两个激光反射点簇中的后一激光反射点与前一激光反射点的距离是否小于第三预设距离;若是,则将相邻两个激光反射点簇中的后一激光反射点归为前一激光反射点所属的激光反射点簇;若否,则将相邻两个激光反射点簇中的后一激光反射点归属为另一激光反射点簇。

具体的,机器人上集成有激光雷达,用于探测障碍物,扫描之后,机器人通过获取模块1获取每一激光反射点所反射的激光数据,然后机器人会在若干个激光反射点簇中,筛选出点簇宽度在第一预设距离阈值范围内的若干个激光反射点簇作为第一参考激光反射点簇;其次,机器人还会将筛选出与机器人的距离在第二预设距离范围内的若干个激光反射点簇作为第二参考激光反射点簇;然后机器人在若干个第二参考激光反射点簇中,筛选出激光强度满足预设强度范围的若干个激光反射点簇作为候选激光反射点簇。

在若干个候选激光反射点簇中,筛选出若干对符合预设宽度阈值的第一激光反射点簇对,以及若干对符合预设长度阈值的第二激光反射点簇对;所述预设宽度阈值和所述预设长度阈值可以根据实际病床进行设置。其次,判断第一激光反射点簇对两两之间的距离是否有满足所述预设长度阈值的两个第一激光反射点簇对,若有,则将这两个第一激光反射点簇对作为第一激光反射点簇组;或判断第二激光反射点簇对两两之间是否有满足所述预设宽度阈值的两个第二激光反射点簇对,若有,则将这两个第二激光反射点簇对作为第二激光反射点簇组。第一激光反射点簇组和第二激光反射点簇组中都有四个激光反射点簇,反应了病床四个床腿的位置,若有这样的第一激光反射点簇组或第二激光反射点簇组,则判断为有满足目标障碍物特征的激光反射点簇,即识别到有病床。

再次,在一些角度上,病床的一个床腿有可能会遮挡住另一条床腿,因此可能无法找到满足第一激光反射点簇组和第二激光反射点簇组的四个激光反射点簇,在判断出没有这样的第一激光反射点簇组或第二激光反射点簇组时,判断若干个第一激光反射点簇对与若干个第二激光反射点簇对中,是否有同时含有同一激光反射点簇的一对第一激光反射点簇对和一对第二激光反射点簇对。

如图6所示,本发明还提供了一种具有障碍物识别功能的机器人的实施例,机器人包括:

获取模块1,通过激光雷达对周围环境进行扫描,获取每一激光反射点反射激光的激光数据;所述激光数据包括:激光反射点距离机器人的距离,激光反射点相对于机器人的方向;处理模块2,与所述获取模块1电连接,用于根据每一激光反射点反射的激光数据,将所有激光反射点进行分簇,得到若干个激光反射点簇;判断模块3,与所述处理模块2电连接,用于在若干个激光反射点簇中,判断是否有激光反射点簇对应的障碍物特征满足目标障碍物特征;障碍物定位模块4,与所述判断模块3电连接,用于当有激光反射点簇对应的障碍物特征满足目标障碍物特征时,根据满足目标障碍物特征的激光反射点簇,确定目标障碍物的方位。

优选的,还包括:筛选模块5,与所述处理模块2电连接,在若干个激光反射点簇中,筛选出点簇宽度在第一预设距离阈值范围内的若干个激光反射点簇作为第一参考激光反射点簇;所述筛选模块5,还用于在在第一参考激光反射点簇中,筛选出与机器人的距离在第二预设距离范围内的第一参考激光反射点簇作为第二参考激光反射点簇;所述筛选模块5,还用于在第二参考激光反射点簇中,筛选出激光强度满足预设强度范围的第二参考激光反射点簇作为候选激光反射点簇。

优选的,还包括:所述筛选模块5,还用于在在多个候选激光反射点簇中,筛选出候选激光反射点簇之间的距离符合预设宽度阈值的两个候选激光反射点簇作为第一激光反射点簇对,以及候选激光反射点簇之间的距离符合预设长度阈值的两个候选激光反射点簇作为第二激光反射点簇对;所述判断模块3,还用于判断第一激光反射点簇对两两之间的距离是否有满足所述预设长度阈值的两个第一激光反射点簇对;或判断第二激光反射点簇对两两之间是否有满足所述预设宽度阈值的两个第二激光反射点簇对;若有,则判断为有满足目标障碍物特征的激光反射点簇。

优选的,所述判断模块3,还用于当第一激光反射点簇对两两之间有满足所述预设长度阈值的至少一组第一激光反射点簇组;或第二激光反射点簇对两两之间有满足所述预设宽度阈值的一组第二激光反射点簇组时,则判断第一激光反射点簇对与第二激光反射点簇对中,是否有同时含有同一激光反射点簇的一个第一激光反射点簇对和一个第二激光反射点簇对;若无,则判断为没有满足目标障碍物特征的激光反射点簇;若有,则判断为有满足目标障碍物特征的激光反射点簇。

优选的,所述障碍物定位模块4,还用于根据根据满足所述预设长度阈值的两个第一激光反射点簇对或满足所述预设宽度阈值的两个第二激光反射点簇对中的四个激光反射点簇分别对应的激光数据,确定目标障碍物方位。

优选的,所述障碍物定位模块4,还用于根据同时含有同一激光反射点簇的一个第一激光反射点簇对和一个第二激光反射点簇对中的三个激光反射点簇分别对应的激光数据,推算出第四个激光反射点簇的方位,从而确定目标障碍物的方位。

优选的,所述处理模块2还用于根据每一激光反射点反射的激光数据,确定每一激光反射点的位置;将扫描到障碍物的第一个激光反射点归属为一个激光反射点簇,所述判断模块3,依次判断相邻两个激光反射点簇中的后一激光反射点与前一激光反射点的距离是否小于第三预设距离;所述处理模块2还用于,若判断相邻两个激光反射点簇中的后一激光反射点与前一激光反射点的距离小于第三预设距离,则将此激光反射点归属为此激光反射点簇,若否,则将相邻两个激光反射点簇中的后一激光反射点归属为另一激光反射点簇。

具体的,机器人上安装有激光雷达,用于发射激光束,扫描环境中的障碍物,激光扫描到各个障碍物时,在障碍物上会形成激光点,并返回一个激光束,机器人会根据每一返回的激光束,将所有扫描到的激光反射点进行分簇。例如在医院中,会扫描到非常对的人腿、床腿或者其他箱子柜子,激光扫描在上面都会形成一个个线段式的激光反射点簇。机器人会根据某些特定障碍物的特征,判断是否有激光反射点簇对应的障碍物特征满足目标障碍物特征;例如,对于医院的病床,其四个床脚都有一定的几何位置关系,他们之间的距离都是固定的。而根据各个激光反射点簇对应的激光数据,可以得到每个障碍物相对于机器人的位置,若有四个障碍物的位置满足四个床脚的几何特征,可判断出病床的位置,机器人识别之后,即可达到避障的目的。机器人对障碍物的具体识别方法,可参见上述一种障碍物识别方法的实施例,此处不再赘述。

应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1