一种目标障碍物的检测方法、装置和机器人转让专利

申请号 : CN202010278757.2

文献号 : CN111337022B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郑志盛黄富军闫瑞君

申请人 : 深圳市银星智能科技股份有限公司

摘要 :

本发明实施例涉及一种目标障碍物的检测方法、装置和机器人,所述方法包括:确定所述机器人的数据阈值,所述数据阈值包括激光雷达数据阈值和前进距离阈值;获取所述激光雷达的检测数据,并根据所述激光雷达数据阈值和所述检测数据判断所述机器人是否检测到障碍物;若是,控制所述机器人向所述障碍物移动,并获取所述机器人相对所述障碍物前进的距离;判断所述距离是否大于或等于所述前进距离阈值;若是,则确定所述障碍物为目标障碍物。本发明实施例提供的方法、装置和机器人能够避免由于机器人被目标障碍物覆盖而造成的机器人自主定位和建图功能受影响的问题,还可以提高机器人的工作效率。

权利要求 :

1.一种目标障碍物的检测方法,用于机器人,所述机器人包括激光雷达,其特征在于,所述方法包括:

确定所述机器人的数据阈值,所述数据阈值包括激光雷达数据阈值和前进距离阈值;

获取所述激光雷达的检测数据,并根据所述激光雷达数据阈值和所述检测数据判断所述机器人是否检测到障碍物,所述激光雷达数据阈值包括角度阈值范围、距离阈值范围以及激光点数阈值,所述检测数据包括多个激光点的发射角度和检测距离;其中,根据当前应用场景的场地摆放的物体的密集程度和场地的面积确定所述角度阈值范围,根据所述机器人机身的大小确定所述距离阈值范围;

若是,控制所述机器人向所述障碍物移动,并获取所述机器人相对所述障碍物前进的距离;

判断所述距离是否大于或等于所述前进距离阈值;

若是,则确定所述障碍物为目标障碍物。

2.根据权利要求1所述的方法,其特征在于,所述获取所述激光雷达的检测数据,并根据所述激光雷达数据阈值和所述检测数据判断所述机器人是否检测到障碍物,包括:根据所述检测数据统计满足预设条件的激光点的数目,所述预设条件为所述激光点的发射角度在所述角度阈值范围内,且所述激光点的检测距离在所述距离阈值范围内;

判断所述满足预设条件的激光点的数目是否大于或等于所述激光点数阈值;

若是,则检测到障碍物。

3.根据权利要求1或2所述的方法,其特征在于,在所述获取所述激光雷达的检测数据,并根据所述激光雷达数据阈值和所述检测数据判断所述机器人是否检测到障碍物的步骤之前,所述方法还包括:

将所述激光雷达表示的坐标系原点转换至所述机器人的物理中心位置,并根据转换后的所述激光雷达的位置建立坐标系;

所述获取所述激光雷达的检测数据包括:根据所述坐标系获取所述激光雷达的检测数据。

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述机器人建立的地图上标记所述目标障碍物对应的区域;

控制所述机器人后退,旋转预设角度后前进,以使所述机器人检测其他目标障碍物。

5.一种目标障碍物的检测装置,用于机器人,所述机器人包括激光雷达,其特征在于,所述装置包括:

第一确定模块,用于确定所述机器人的数据阈值,所述数据阈值包括激光雷达数据阈值和前进距离阈值;

第一处理模块,用于获取所述激光雷达的检测数据,并根据所述激光雷达数据阈值和所述检测数据判断所述机器人是否检测到障碍物,所述激光雷达数据阈值包括角度阈值范围、距离阈值范围以及激光点数阈值,所述检测数据包括多个激光点的发射角度和检测距离;其中,根据当前应用场景的场地摆放的物体的密集程度和场地的面积确定所述角度阈值范围,根据所述机器人机身的大小确定所述距离阈值范围;

第一控制模块,用于若是,控制所述机器人向所述障碍物移动,并获取所述机器人相对所述障碍物前进的距离;

判断模块,用于判断所述距离是否大于或等于所述前进距离阈值;

第二确定模块,用于若是,则确定所述障碍物为目标障碍物。

6.根据权利要求5所述的装置,其特征在于,所述第一处理模块具体用于:

根据所述检测数据统计满足预设条件的激光点的数目,所述预设条件为所述激光点的发射角度在所述角度阈值范围内,且所述激光点的检测距离在所述距离阈值范围内;

判断所述满足预设条件的激光点的数目是否大于或等于所述激光点数阈值;

若是,则检测到障碍物。

7.根据权利要求5或6所述的装置,其特征在于,所述装置还包括:第二处理模块,用于将所述激光雷达表示的坐标系原点转换至所述机器人的物理中心位置,并根据转换后的所述激光雷达的位置建立坐标系;

其中,所述第一处理模块具体用于:根据所述坐标系获取所述激光雷达的检测数据,并根据所述激光雷达数据阈值和所述检测数据判断所述机器人是否检测到障碍物;

标记模块,用于在所述机器人建立的地图上标记所述目标障碍物对应的区域;

第二控制模块,用于控制所述机器人后退,旋转预设角度后前进,以使所述机器人检测其他目标障碍物。

8.一种机器人,其特征在于,所述机器人包括:机器人主体;

设于所述机器人主体上的行走机构;

设于所述机器人主体上的激光雷达,所述激光雷达用于获得所述机器人周围环境的障碍物信息;

控制器,所述控制器内置于所述机器人主体中,与所述激光雷达连接;

所述控制器包括:

至少一个处理器,以及

存储器,所述存储器与所述至少一个处理器通信连接,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1‑4中任一项所述的方法。

说明书 :

一种目标障碍物的检测方法、装置和机器人

技术领域

[0001] 本发明实施例涉及人工智能技术领域,特别涉及一种目标障碍物的检测方法、装置和机器人。

背景技术

[0002] 随着科技不断的发展,机器人技术有了很大的突破,智能化程度越来越高,当前机器人已经进入很多领域并开始为人们服务。比如,激光雷达扫地机器人,其能代替人类从事
家务劳动,因此深受人类的喜爱。机器人在完成用户的任务时,需要在未知环境中运动,在
运动过程中实现自主定位和导航。
[0003] 实现本发明过程中,发明人发现相关技术中至少存在如下问题:现有的激光雷达扫地机器人的碰撞传感器无法准确的检测环境中易变形的物体(比如窗帘)和易移动的物
体(比如空纸盒)。其中,当机器人进入易变形物体的区域内时,可能会导致机器人被易变形
物体覆盖,从而导致机器人自主定位不准确,建图功能受影响,此外,还会导致机器人重复
触发脱困动作,从而降低了机器人的工作效率。当机器人碰撞到易移动的物体时,可能会推
动易移动物体前进,一定程度上也降低了机器人的工作效率。

发明内容

[0004] 本发明实施例的目的是提供一种目标障碍物的检测方法、装置和机器人,以准确的检测出环境中的易变形物体和易移动物体。
[0005] 第一方面,本发明实施例提供了一种目标障碍物的检测方法,用于机器人,所述机器人包括激光雷达,所述方法包括:
[0006] 确定所述机器人的数据阈值,所述数据阈值包括激光雷达数据阈值和前进距离阈值;
[0007] 获取所述激光雷达的检测数据,并根据所述激光雷达数据阈值和所述检测数据判断所述机器人是否检测到障碍物;
[0008] 若是,控制所述机器人向所述障碍物移动,并获取所述机器人相对所述障碍物前进的距离;
[0009] 判断所述距离是否大于或等于所述前进距离阈值;
[0010] 若是,则确定所述障碍物为目标障碍物。
[0011] 在一些实施例中,所述确定所述机器人的数据阈值包括:
[0012] 根据所述机器人当前应用的场景和所述机器人机身的大小确定所述机器人的数据阈值。
[0013] 在一些实施例中,所述激光雷达数据阈值包括角度阈值范围、距离阈值范围以及激光点数阈值,所述检测数据包括多个激光点的发射角度和检测距离;
[0014] 所述获取所述激光雷达的检测数据,并根据所述激光雷达数据阈值和所述检测数据判断所述机器人是否检测到障碍物,包括:
[0015] 根据所述检测数据统计满足预设条件的激光点的数目,所述预设条件为所述激光点的发射角度在所述角度阈值范围内,且所述激光点的检测距离在所述距离阈值范围内;
[0016] 判断所述满足预设条件的激光点的数目是否大于或等于所述激光点数阈值;
[0017] 若是,则检测到障碍物。
[0018] 在一些实施例中,在所述获取所述激光雷达的检测数据,并根据所述激光雷达数据阈值和所述检测数据判断所述机器人是否检测到障碍物的步骤之前,所述方法还包括:
[0019] 将所述激光雷达表示的坐标系原点转换至所述机器人的物理中心位置,并根据转换后的所述激光雷达的位置建立坐标系;
[0020] 所述获取所述激光雷达的检测数据包括:
[0021] 根据所述坐标系获取所述激光雷达的检测数据。
[0022] 在一些实施例中,所述方法还包括:
[0023] 在所述机器人建立的地图上标记所述目标障碍物对应的区域;
[0024] 控制所述机器人后退,旋转预设角度后前进,以使所述机器人检测其他目标障碍物。
[0025] 第二方面,本发明实施例提供了一种目标障碍物的检测装置,用于机器人,所述机器人包括激光雷达,所述装置包括:
[0026] 第一确定模块,用于确定所述机器人的数据阈值,所述数据阈值包括激光雷达数据阈值和前进距离阈值;
[0027] 第一处理模块,用于获取所述激光雷达的检测数据,并根据所述激光雷达数据阈值和所述检测数据判断所述机器人是否检测到障碍物;
[0028] 第一控制模块,用于若是,控制所述机器人向所述障碍物移动,并获取所述机器人相对所述障碍物前进的距离;
[0029] 判断模块,用于判断所述距离是否大于或等于所述前进距离阈值;
[0030] 第二确定模块,用于若是,则确定所述障碍物为目标障碍物。
[0031] 在一些实施例中,所述第一确定模块具体用于:
[0032] 根据所述机器人当前应用的场景和所述机器人机身的大小确定所述机器人的数据阈值。
[0033] 在一些实施例中,所述激光雷达数据阈值包括角度阈值范围、距离阈值范围以及激光点数阈值,所述检测数据包括多个激光点的发射角度和检测距离;
[0034] 所述第一处理模块具体用于:
[0035] 根据所述检测数据统计满足预设条件的激光点的数目,所述预设条件为所述激光点的发射角度在所述角度阈值范围内,且所述激光点的检测距离在所述距离阈值范围内;
[0036] 判断所述满足预设条件的激光点的数目是否大于或等于所述激光点数阈值;
[0037] 若是,则检测到障碍物。
[0038] 在一些实施例中,所述装置还包括:
[0039] 第二处理模块,用于将所述激光雷达表示的坐标系原点转换至所述机器人的物理中心位置,并根据转换后的所述激光雷达的位置建立坐标系;
[0040] 其中,所述第一处理模块具体用于:根据所述坐标系获取所述激光雷达的检测数据,并根据所述激光雷达数据阈值和所述检测数据判断所述机器人是否检测到障碍物;
[0041] 标记模块,用于在所述机器人建立的地图上标记所述目标障碍物对应的区域;
[0042] 第二控制模块,用于控制所述机器人后退,旋转预设角度后前进,以使所述机器人检测其他目标障碍物。
[0043] 第三方面,本发明实施例提供了一种机器人,所述机器人包括:
[0044] 机器人主体;
[0045] 设于所述机器人主体上的行走机构;
[0046] 设于所述机器人主体上的激光雷达,所述激光雷达用于获得所述机器人周围环境的障碍物信息;
[0047] 控制器,所述控制器内置于所述机器人主体中,与所述激光雷达连接;
[0048] 所述控制器包括:
[0049] 至少一个处理器,以及
[0050] 存储器,所述存储器与所述至少一个处理器通信连接,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个
处理器能够执行如上所述的目标障碍物的检测方法。
[0051] 本发明实施例提供的目标障碍物的检测方法、装置和机器人,通过确定机器人的激光雷达数据阈值和前进距离阈值,并获取机器人移动过程中激光雷达的检测数据,根据
所述检测数据和所述激光雷达数据阈值检测机器人当前场景中是否存在障碍物,若存在,
则控制所述机器人相对所述障碍物前进一段距离,并根据所述前进距离阈值和所述距离来
检测所述障碍物是否是目标障碍物,从而检测出环境中存在的易变形的物体和易移动的物
体。本发明实施例提供的目标障碍物的检测方法、装置和机器人能够检测出环境中的易变
形的物体,从而避免了由于机器人被易变形的物体覆盖而造成的机器人自主定位和建图功
能受影响的问题,还可以避免机器人触发重复脱困动作,从而提高了机器人的工作效率。此
外,还能够检测出环境中易移动的物体,总体上提高了机器人的工作效率。

附图说明

[0052] 一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除
非有特别申明,附图中的图不构成比例限制。
[0053] 图1是本发明实施例提供的目标障碍物的检测方法和装置的一个应用场景示意图;
[0054] 图2是本发明一个实施例提供的一种机器人的结构示意图;
[0055] 图3是本发明实施例提供的一种目标障碍物的检测方法的流程示意图;
[0056] 图4是本发明实施例提供的检测障碍物的方法的流程示意图;
[0057] 图5是本发明实施例提供的应用于窗帘场景中的模型图;
[0058] 图6是本发明实施例提供的应用于窗帘场景中的检测窗帘的方法的流程图;
[0059] 图7是本发明实施例提供的一种目标障碍物的检测装置的结构示意图;
[0060] 图8是本发明一个实施例提供的一种机器人中控制器的硬件结构示意图。

具体实施方式

[0061] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是
本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员
在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0062] 本发明实施例提供的目标障碍物的检测方法和装置可以应用于图1所示的应用场景。所述应用场景包括机器人10。其中,机器人10可以为可移动机器人,例如扫地机器人、巡
检机器人、无人采样机器人、无人叉车等等。
[0063] 机器人10在为了完成用户的任务或者其他情况下,需要在未知环境中运动。在运动过程中为了实现自主定位和导航,需要构建增量式地图,同时进行定位,即估计自身在地
图中的位置。
[0064] 当机器人10被环境中的易变形物体覆盖时,可能会导致机器人10的激光雷达传感器被遮挡一段时间,从而影响了机器人10构建增量式地图的功能。此外,如果机器人10被所
述易变形物体困住,一定程度上降低了机器人10的工作效率,比如扫地机器人的清扫效率。
因此需要对机器人10所处的环境进行易变形物体的检测。
[0065] 例如,所述机器人10可以用于执行以下步骤:确定所述机器人的数据阈值,所述数据阈值包括激光雷达数据阈值和前进距离阈值;获取所述激光雷达的检测数据,并根据所
述激光雷达数据阈值和所述检测数据判断所述机器人是否检测到障碍物;若是,控制所述
机器人向所述障碍物移动,并获取所述机器人相对所述障碍物前进的距离;判断所述距离
是否大于或等于所述前进距离阈值;若是,则确定所述障碍物为目标障碍物。
[0066] 其中,为了使机器人10检测易变形物体的准确度更高,可以基于所述机器人10本身的机身大小和所述机器人10当前应用的场景确定所述数据阈值。此外,由于机器人10是
通过激光雷达来检测角度信息和距离信息的,通常所述激光雷达不是位于机器人10的中心
位置,为了便于确定数据和调试数据,可以将根据所述激光雷达建立的坐标系原点转换为
所述机器人10的物体中心位置。在本发明实施例中,机器人10在移动的过程中能够实时的
检测其周围是否包含易变形物体。
[0067] 此外,所述机器人10还可以对环境中易移动的物体(比如空纸盒、玩具小汽车等)进行检测。当机器人10与易移动的物体碰撞后,可以推动所述易移动的物体前进,一方面,
可以将该易移动物体推动至目标位置(比如墙角落),从而能清洁其当前应用的场地;另一
方面,所述机器人10在检测到所述易移动的物体后,可以向用户发出提示信息,所述提示信
息可以用于提示用户处理所述易移动的物体,比如,提示用户搬走空纸箱;也可以用于帮助
用户找回丢失的易移动的物体,比如帮助用户找到藏在床底下的玩具小汽车。
[0068] 其中,在一些实施例中,请参照图2,机器人10包括机器人主体11、激光雷达12、控制器13、行走机构14和惯性测量单元15。其中,机器人主体11是机器人的主体结构,可以根
据机器人10的实际需要,选用相应的形状结构及制造材质(如硬质塑料或者铝、铁等金属),
例如设置为扫地机器人常见的较为扁平的圆柱形。
[0069] 行走机构14设置于机器人主体11上,是为机器人10提供移动能力的结构装置。所述行走机构14具体可以采用任何类型的移动装置实现,例如滚轮、履带式等。激光雷达12用
于感知机器人周围环境的障碍物情况,获得障碍物信息,检测障碍物与机器人10的距离,以
及获得所述激光雷达12的扫描角度等。在其他实施例中,也可以采用其他传感器代替激光
雷达12,例如RGBD摄像机等。
[0070] 在一些实施例中,惯性测量单元15包括陀螺仪、加速度计等,用于获得机器人10的角速度和加速度等,并根据所述角速度和加速度对机器人10的位置进行估计,获得机器人
的初始估计位置。在另一些实施例中,也可以采用其他方法或者其他测量单元获得机器人
的初始估计位置。
[0071] 控制器13是内置于机器人主体11中的电子计算核心,用于执行逻辑运算步骤以实现机器人10的智能化控制。控制器13与激光雷达12和惯性测量单元15连接,用于根据激光
雷达12和惯性测量单元15采集的数据,执行预设的算法进行障碍物检测、地图构图和机器
人定位。
[0072] 需要说明的是,根据所要完成的任务,除了以上的功能模组以外,机器人主体11上还可以搭载一个或者多个其它不同的功能模组(如储水箱、清扫装置等),相互配合用以执
行相应的任务。
[0073] 图3为本发明实施例提供的一种目标障碍物的检测方法的流程示意图,所述方法可以由图1或图2所示的机器人10执行(具体的,在其中一些实施例中,由机器人10中的控制
器13执行),所述机器人包括激光雷达,如图3所示,所述方法包括:
[0074] S101、确定所述机器人的数据阈值,所述数据阈值包括激光雷达数据阈值和前进距离阈值。
[0075] 所述机器人的数据阈值包括激光雷达数据阈值和前进距离阈值,所述激光雷达数据阈值指的是通过所述激光雷达检测得到的与机器人扫描角度、机器人与障碍物的距离、
激光点数目等相关的信息。所述前进距离阈值是预设的一个距离值,其用于指示所述机器
人需要移动所述距离值。其中,所述扫描角度和所述机器人与障碍物的距离的大小可以通
过多次重复试验得到,以使最终确定的扫描角度和所述距离能够保证所述机器人在所述扫
描角度时,和/或所述距离时不会漏掉机器人当前所处位置的周围环中存在的障碍物,其
中,可以根据所述激光雷达检测到的激光点数目来具体确定所述障碍物的存在。
[0076] 在一些实施例中,所述确定所述机器人的数据阈值包括:根据所述机器人当前应用的场景和所述机器人机身的大小确定所述机器人的数据阈值。具体地,比如,根据所述当
前应用的场景的场地摆放的物体的密集程度、场地的面积等确定所述扫描角度阈值,根据
机器人机身的半径大小确定所述机器人与障碍物的距离阈值。其中,如果所述机器人活动
的场地摆放了较多的物体,所述扫描角度阈值可以设置的较大一些,所述距离阈值可以设
置的较小一些,以尽可能的使机器人能够检测到场地中的障碍物。其中,所述距离阈值可以
包括最大距离阈值和最小距离阈值,在确定所述最大距离阈值时,可以在所述机器人机身
半径的基础上再加上额外的长度距离,所述额外的长度距离可以人为的根据当前应用场景
进行设置。在确定所述最小距离阈值时,可以使所述最小距离阈值小于所述机器人的机身
半径。
[0077] 需要说明的是,所述激光雷达数据阈值和所述前进距离阈值可以根据机器人应用场景的不同进行不同的设置。其中,不同的应用场景中所述前进距离阈值可以相同。所述激
光雷达数据阈值是适合当前应用场景的一个合理值,不一定是最优值。
[0078] S102、获取所述激光雷达的检测数据,并根据所述激光雷达数据阈值和所述检测数据判断所述机器人是否检测到障碍物。
[0079] 其中,所述激光雷达数据阈值包括角度阈值范围、距离阈值范围以及激光点数阈值。所述角度阈值范围包括最小角度阈值和最大角度阈值,所述最小角度阈值和所述最大
角度阈值可以根据上述步骤S101进行确定。所述距离阈值范围包括最小距离阈值和最大距
离阈值,所述最小距离阈值和所述最大距离阈值也可以根据上述步骤S101进行确定。所述
激光点数阈值可以通过控制机器人在距离障碍物一定距离时,通过激光雷达多次向所述障
碍物发射激光,获取每一次发射激光后检测到的激光点的数目,统计每一次发射激光后检
测到的激光点的数目,可以通过多次重复试验得到激光点数目的平均值,从而可以将该平
均值作为所述激光点数阈值。
[0080] 其中,所述最小距离阈值可以是小于机器人机身半径的数值,所述最大距离阈值可以是机器人机身半径和预设的距离值的和,所述预设的距离值可以由用户自定义设置。
所述最小角度阈值不能太小,如果太小会导致检测到的激光点数目很少,从而不能准确确
定障碍物。所述最大角度阈值不能太大,如果太大容易造成机器人误触发。
[0081] 其中,所述激光雷达的检测数据指的是机器人在移动过程中实时检测到的激光雷达的扫描角度、机器人与障碍物的距离以及激光雷达检测到的激光点的数目。
[0082] 所述激光点的数目通过所述激光雷达检测得到,具体地,激光雷达的激光器发射一束光脉冲,打在物体上并反射回来,最终被接收器所接收,接收器准确地测量光脉冲从发
射到被反射回的传播时间。鉴于光速是已知的,传播时间即可被转换为对距离的测量。结合
激光器与物体的距离,激光扫描角度,就可以准确地计算出每一个激光点的三维坐标,从而
确定激光点的位置和激光点的数目。
[0083] 其中,所述检测数据包括多个激光点的发射角度和检测距离。所述发射角度是机器人在发射激光时的发射角度,所述检测距离是机器人实时检测到所述机器人与障碍物的
距离。
[0084] 如图4所示,所述获取所述激光雷达的检测数据,并根据所述激光雷达数据阈值和所述检测数据判断所述机器人是否检测到障碍物包括:
[0085] S1021、根据所述检测数据统计满足预设条件的激光点的数目,所述预设条件为所述激光点的发射角度在所述角度阈值范围内,且所述激光点的检测距离在所述距离阈值范
围内;
[0086] S1022、判断所述满足预设条件的激光点的数目是否大于或等于所述激光点数阈值;
[0087] 若是,则执行下述步骤S1023。
[0088] S1023、检测到障碍物。
[0089] 在本实施例中,所统计的激光点满足发射角度在所述角度阈值范围内,并且所述激光点的检测距离在所述距离阈值范围内,而不满足所述预设条件的激光点可以过滤掉。
[0090] 可以理解的是,激光雷达是通过发射激光束来探测目标位置、速度等特征量的雷达系统,其基本工作原理是,根据激光遇到障碍物后的折返时间计算目标与自己的相对距
离。激光光束可以准确测量视场中物体轮廓边沿与设备之间的相对距离,这些轮廓信息由
激光点组成,全部的激光点构成点云,根据所述点云可以绘制出2D或3D环境地图。其中,为
了构建2D或3D图像,需要光能达到可视范围内的所有测量点,在发射端,相机将通过光束控
制单元调整光束的发射,来扫描对应测试区域。在接收端,来自目标反射的光线被收集起
来,并且这些光对应发射源的传输时间也将被进行计算,从而得到对应测量距离。
[0091] 在本实施例中,统计满足所述预设条件的激光点的数目,根据所述激光点的数目确定是否检测到障碍物。如果激光点的数目大于或等于所述激光点数阈值,则表示检测到
障碍物,否则所述角度阈值范围内和所述距离阈值范围内没有检测到障碍物。
[0092] 如果检测到障碍物,所述障碍物可以是一个易变形物体或易移动物体或不易变形物体或不易移动物体等。
[0093] 在其他一些实施例中,检测到的所述障碍物还可以是多个,也即是满足所述角度阈值范围且满足所述距离阈值范围内对应至少两个障碍物。可以基于获得的激光点获取其
对应的点云密度,通过点云密度特征辅助进行激光雷达数据的分类,通过对密度的分割完
成点云的分割,从而获得目标空间中障碍物的分布状态。此外,还可以根据激光雷达发射激
光的频率获得激光点的分辨率,根据激光点的分辨率检测所述激光点是否是连续的,再根
据激光点的连续性判断检测到的障碍物的数量。
[0094] 其中,如果全部的激光点都是连续的,则表示当前只检测到一个障碍物,并且所述障碍物对应整个目标空间;如果包括至少一个子空间范围内的激光点连续,则表示所述子
空间对应一个障碍物,有多少个这样的子空间即有多少个障碍物。其中,所述目标空间指的
是所述预设条件对应的空间,所述子空间是属于所述目标空间内的小空间。
[0095] 需要说明的是,当上述确定满足所述预设条件的激光点对应的障碍物包含多个时,所述多个障碍物包括:易变形物体、易移动物体、不易变形物体和不易移动物体等。
[0096] 进一步地,还可以根据激光点获得障碍物的轮廓,再根据所述轮廓对所述障碍物进行初步识别。
[0097] 在本实施例中主要对易变形物体和易移动物体进行检测,因此,当所述机器人检测到障碍物时,继续执行下述步骤S103,以进一步确定所述障碍物是否是目标障碍物,所述
目标障碍物包括易变形物体和易移动物体。
[0098] S103、控制所述机器人向所述障碍物移动,并获取所述机器人相对所述障碍物前进的距离。
[0099] S104、判断所述距离是否大于或等于所述前进距离阈值。
[0100] 若是,则执行下述步骤S105。
[0101] S105、确定所述障碍物为目标障碍物。
[0102] 可以理解的是,如果所述障碍物是易变形物体或易移动物体,必定能够在机器人碰撞所述障碍物后还能向前移动一段距离,如果所述障碍物不是易变形物体或者易移动物
体,机器人在碰撞所述障碍物后肯定不能向前移动一段距离。因此,所述机器人可以尝试前
进一段距离,该距离可以是所述前进距离阈值,如果机器人能够成功前进所述距离,那么就
认为所述障碍物是所述目标障碍物,否则不是所述目标障碍物。
[0103] 其中,所述前进距离阈值可以根据机器人待检测的障碍物进行人为设定。由于用户可以事先获得应用场景中可能会存在哪些易变形的物体和/或易移动的物体,因此,用户
可以根据障碍物的易变形程度设置所述前进距离阈值或者根据障碍物可以被推动行走的
距离设置所述前进距离阈值。比如,越容易变形的物体对应的所述前进距离阈值可以大于
较容易变形的物体对应的所述前进距离阈值。又比如,重量较重的易移动物体对应的所述
前进距离阈值可以小于重量较轻的易移动物体对应的所述前进距离阈值。如果所述机器人
的应用场景中即包含易变形的物体又包含易移动的物体,则所述前进距离阈值可以根据各
自对应的前进距离阈值取权重,最后获得所述前进距离阈值。
[0104] 本发明实施例提供了一种目标障碍物的检测方法,通过该方法能够准确检测出场景中的易变形物体和易移动物体,从而能够避免机器人被易变形物体覆盖而造成的机器人
自主定位和建图功能受影响的问题,还可以避免机器人触发重复脱困动作,提高了机器人
的工作效率。另外,如果检测出环境中的易移动物体,一方面,可以通过所述机器人帮忙推
动所述易移动物体至目标区域,从而清洁当前的应用场地;另一方面,可以提醒用户当前所
检测到的易移动物体,机器人可以绕开所述易移动物体,也可以由用户拿走所述易移动物
体,从而避免了该易移动物体对机器人工作的干扰,一定程度上提高了机器人的工作效率。
[0105] 在一些实施例中,上述检测到满足所述预设条件的激光点后,还可以根据激光点确定障碍物的轮廓,根据检测出的轮廓对检测到的所述障碍物进行识别,以识别出其是否
是易变形物体或易移动物体。其中,可以预先提取所述易变形物体和所述易移动物体的特
征,比如,窗帘是易变形物体,其特征包括波浪形的轮廓、透光性弱等。空纸盒是易移动物
体,其特征包括纸盒的边缘轮廓是立方体,内部空间是空心状态等。在检测到满足所述预设
条件的激光点后,除了统计激光点的数目之外,还可以识别出所述激光点表示的轮廓等,根
据得到的激光点表示的轮廓特征识别所述障碍物具体是什么。
[0106] 在一些实施例中,在所述获取所述激光雷达的检测数据,并根据所述激光雷达数据阈值和所述检测数据判断所述机器人是否检测到目标障碍物的步骤之前,所述方法还包
括:将所述激光雷达表示的坐标系的原点转换至所述机器人的物理中心位置,并根据转换
后的所述激光雷达的位置建立坐标系。其中,所述获取所述激光雷达的检测数据包括:根据
所述坐标系获取所述激光雷达的检测数据。如图5所示,图中灰色的圆斑点标识所述激光雷
达的位置,其通常不是在所述机器人的机身的中心位置。为了方便数据调试更简单并且提
高数据检测的准确性,可以将所述激光雷达在坐标系中表示的原点的位置转换到所述机器
人的机身的中心位置(即图5中黑色小圆点的位置)。
[0107] 在一些实施例中,所述方法还包括:在所述机器人建立的地图上标记所述目标障碍物对应的区域;控制所述机器人后退,旋转预设角度后前进,以使所述机器人继续检测环
境中其他的目标障碍物。其中,对于检测到的易变形物体或易移动物体,机器人可以在地图
上标识出,从而在后续工作过程中可以绕开易变形物体或易移动物体,以保证机器人能够
稳定的运行,提高工作效率。对于检测到的易移动物体,机器人可以将易移动物体推动至其
他区域,从而便于对地面清洁;机器人也可以向用户发送所述易移动物体的位置信息,从而
帮助用户找寻所述易移动物体,比如,所述易移动物体是掉落在桌子下面的手机。
[0108] 图5和图6以机器人为扫地机器人为例示出了目标障碍物的检测方法的一种具体实现方式。该扫地机器人用于对场景中的窗帘进行检测。在图5和图6所示的实施例中,机器
人设置了最大距离阈值A、最小距离阈值B、激光点数目阈值C、最小角度阈值D、最大角度阈
值E和前进距离阈值F。在机器人移动的过程中,获取激光雷达采集的数据,所述数据包括激
光雷达数据角度、激光雷达数据距离和激光点数目,其中,获得所述激光雷达采集的数据的
过程中是以所述激光雷达为原点建立的坐标系获得的,所述激光雷达对应的原点为所述机
器人的物体中心。在获得所述激光雷达采集的数据后,先判断激光雷达数据角度是否小于
或等于最大角度阈值E且大于或等于最小角度阈值D,如果不是,则可以忽略掉采集的激光
雷达数据;如果是,则进一步判断所述激光雷达数据距离是否大于或等于最小距离阈值B。
其中,如果是小于所述最小距离阈值B,则可以忽略掉采集的激光雷达数据;如果是大于或
等于最小距离阈值B,则统计距离小于或等于所述最大距离阈值A的激光点数目。当统计的
所述激光点数目大于或等于激光点数目阈值C时,将机器人的前进标志设置为true,即表示
控制机器人继续前进,并获取机器人前进的距离,当检测到所述距离大于或等于所述前进
距离阈值F,表示检测到目标障碍物。其中,如果统计的距离小于或等于所述最大距离阈值A
的激光点数目小于所述激光点数目阈值C时,可以继续采集当前角度范围和当前距离范围
内的激光点数目,并再次与C进行比较。本实施例提供的方法,能够准确检测出环境中的窗
帘区域,从而可以避免机器人的激光雷达被窗帘覆盖或者机器人受困于窗帘等情况发生,
保障了机器人的安全稳定运行,提高了机器人的清扫效率。
[0109] 图7是本发明实施例提供的一种目标障碍物的检测装置的结构示意图,所述装置可以由图1或图2所示的机器人10执行(具体的,在其中一些实施例中,由机器人10中的控制
器13执行),所述机器人包括激光雷达,如图7所示,所述装置20包括:第一确定模块21、第一
处理模块22、第一控制模块23、判断模块24以及第二确定模块25。
[0110] 其中,所述第一确定模块21,用于确定所述机器人的数据阈值,所述数据阈值包括激光雷达数据阈值和前进距离阈值;所述第一处理模块22,用于获取所述激光雷达的检测
数据,并根据所述激光雷达数据阈值和所述检测数据判断所述机器人是否检测到障碍物;
所述第一控制模块23,用于若检测到障碍物,则控制所述机器人向所述障碍物移动,并获取
所述机器人相对所述障碍物前进的距离;所述判断模块24,用于判断所述距离是否大于或
等于所述前进距离阈值;所述第二确定模块25,用于若是大于或等于所述前进距离阈值,则
确定所述障碍物为目标障碍物。
[0111] 其中,所述第一确定模块21具体用于:根据所述机器人当前应用的场景和所述机器人机身的大小确定所述机器人的数据阈值。
[0112] 其中,所述激光雷达数据阈值包括角度阈值范围、距离阈值范围以及激光点数阈值,所述检测数据包括多个激光点的发射角度和检测距离。所述第一处理模块22具体用于:
[0113] 根据所述检测数据统计满足预设条件的激光点的数目,所述预设条件为所述激光点的发射角度在所述角度阈值范围内,且所述激光点的检测距离在所述距离阈值范围内;
[0114] 判断所述满足预设条件的激光点的数目是否大于或等于所述激光点数阈值;
[0115] 若是,则检测到目标障碍物。
[0116] 在一些实施例中,同样请参阅图7,所述装置20还包括第二处理模块26,第二处理模块26用于将所述激光雷达表示的坐标系原点转换至所述机器人的物理中心位置,并根据
转换后的所述激光雷达的位置建立坐标系。所述第二处理模块26在上述第一处理模块22之
前执行,执行所述第二处理模块26的功能后,所述第一处理模块22具体用于根据所述坐标
系获取所述激光雷达的检测数据,并根据所述激光雷达数据阈值和所述检测数据判断所述
机器人是否检测到障碍物。
[0117] 在一些实施例中,同样请参阅图7,所述装置20还包括标记模块27和第二控制模块28。所述标记模块27,用于在所述机器人建立的地图上标记所述目标障碍物对应的区域;所
述第二控制模块28,用于控制所述机器人后退,旋转预设角度后前进,以使所述机器人检测
其他目标障碍物。
[0118] 需要说明的是,上述装置可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在装置实施例中详尽描述的技术细节,可参见本发明实施例所
提供的方法。
[0119] 图8为机器人10的一个实施例中控制器13的硬件结构示意图,如图8所示,控制器13包括:
[0120] 一个或多个处理器131以及处理器132,图8中以一个处理器131为例。
[0121] 处理器131和处理器132可以通过总线或者其他方式连接,图8中以通过总线连接为例。
[0122] 处理器132作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的障碍物的检测方法对应的
程序指令/模块(例如,附图7所示的各个模块)。处理器131通过运行存储在处理器132中的
非易失性软件程序、指令以及模块,从而执行控制器的各种功能应用以及数据处理,即实现
上述方法实施例的障碍物的检测方法。
[0123] 处理器132可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据障碍物的检测装置的使用所
创建的数据等。此外,处理器132可以包括高速随机存取存储器,还可以包括非易失性存储
器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例
中,处理器132可选包括相对于处理器131远程设置的存储器,这些远程存储器可以通过网
络连接至机器人。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网
及其组合。
[0124] 所述一个或者多个模块存储在所述处理器132中,当被所述一个或者多个处理器131执行时,执行上述任意方法实施例中的障碍物的检测方法,例如,执行以上描述的图3中
的方法步骤S101至S105,图4中的方法步骤S1021至S1023;实现图6中的模块21‑28的功能。
[0125] 上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
[0126] 本发明实施例提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图8中的
一个处理器131,可使得上述一个或多个处理器可执行上述任意方法实施例中的障碍物的
检测方法,例如,执行以上描述的图3中的方法步骤S101至S105,图4中的方法步骤S1021至
S1023;实现图6中的模块21‑28的功能。
[0127] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单
元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其
中的部分或者全部模块来实现本实施例方案的目的。
[0128] 通过以上的实施例的描述,本领域普通技术人员可以清楚地了解到各实施例可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理
解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来
完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各
方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read‑Only 
Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
[0129] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行互相组合,步骤
可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它
们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技
术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部
分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明
各实施例技术方案的范围。