机器人空转识别方法及装置与流程

文档序号:18454573发布日期:2019-08-17 01:30阅读:307来源:国知局
机器人空转识别方法及装置与流程

本申请涉及机器人室内导航领域,具体而言,涉及一种机器人空转识别方法及装置。



背景技术:

机器人行走时经常遇到需要地面高度不一致的情况,比如进出电梯时、经过地毯时、地面有坎,电梯与地面高度可能不一致。

发明人发现,目前的由于机器人轮子空转导致的导航出错问题无法得到较好解决。

针对相关技术中机器人轮子空转识别效果不佳的问题,目前尚未提出有效的解决方案。



技术实现要素:

本申请的主要目的在于提供一种机器人空转识别方法及装置,以解决机器人轮子空转识别效果不佳的问题。

为了实现上述目的,根据本申请的一个方面,提供了一种机器人空转识别方法。

根据本申请的机器人空转识别方法包括:获取机器人在第一状态和第二状态下的深度视觉图像重合度,并作为判断基准阈值;每隔预设时间读取所述深度视觉图像,并计算该预设时间内轮式编码器的位姿变化;计算相邻两帧图像的重合度,并结合所述判断基准阈值判断机器人的轮子是否空转。

进一步地,每隔预设时间读取所述深度视觉图像,并计算该预设时间内轮式编码器的位姿变化包括:每隔预设时间读取所述深度视觉图像,通过两帧深度视觉图像的匹配;如果相邻两帧图像大部分差异小,且机器人轮式里程计变化较大,则轮子空转。

进一步地,获取机器人在第一状态和第二状态下的深度视觉图像重合度,并作为判断基准阈值包括:获取机器人在保持不动不动时的深度视觉图像,作为第一状态;获取机器人在小幅度上下晃动时的深度视觉图像,作为第二状态;测试在第一状态和第二状态下的深度视觉图像的重合度,并将所述重合度作为机器人不动的阈值。

进一步地,获取机器人在第一状态和第二状态下的深度视觉图像重合度,并作为判断基准阈值之前,还包括:采用预先配置深度视觉相机的机器人。

进一步地,计算相邻两帧图像的重合度,并结合所述判断基准阈值判断机器人的轮子是否空转之后,还包括:向所述机器人发送轮子停止转动的控制命令,并且在所述轮子停止转动后,计算当前空转时间段内轮子转动距离;根据所述轮子转动距离,在当前机器人位置基础上扣除该距离;将所述机器人位置重置后继续执行命令恢复到正常运行状态。

为了实现上述目的,根据本申请的另一方面,提供了一种机器人空转识别装置。

根据本申请的机器人空转识别装置包括:第一获取模块,用于获取机器人在第一状态和第二状态下的深度视觉图像重合度,并作为判断基准阈值;第二获取模块,用于每隔预设时间读取所述深度视觉图像,并计算该预设时间内轮式编码器的位姿变化;计算模块,用于计算相邻两帧图像的重合度,并结合所述判断基准阈值判断机器人的轮子是否空转。

进一步地,所述第二获取模块还用于,每隔预设时间读取所述深度视觉图像,通过两帧深度视觉图像的匹配;如果相邻两帧图像大部分差异小,且机器人轮式里程计变化较大,则轮子空转。

进一步地,所述第一获取模块还用于,获取机器人在保持不动不动时的深度视觉图像,作为第一状态;获取机器人在小幅度上下晃动时的深度视觉图像,作为第二状态;测试在第一状态和第二状态下的深度视觉图像的重合度,并将所述重合度作为机器人不动的阈值。

进一步地,装置还包括:校正模块,还用于向所述机器人发送轮子停止转动的控制命令,并且在所述轮子停止转动后,计算当前空转时间段内轮子转动距离;根据所述轮子转动距离,在当前机器人位置基础上扣除该距离;将所述机器人位置重置后继续执行命令恢复到正常运行状态。

在本申请实施例中机器人空转识别方法及装置,采用获取机器人在第一状态和第二状态下的深度视觉图像重合度,并作为判断基准阈值的方式,通过每隔预设时间读取所述深度视觉图像,并计算该预设时间内轮式编码器的位姿变化,达到了计算相邻两帧图像的重合度,并结合所述判断基准阈值判断机器人的轮子是否空转的目的,从而实现了基于深度视觉图像识别机器人轮子空转的技术效果,进而解决了机器人轮子空转识别效果不佳的技术问题。

附图说明

构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请第一实施例中的机器人空转识别方法流程示意图;

图2是根据本申请第二实施例中的机器人空转识别方法流程示意图;

图3是根据本申请第三实施例中的机器人空转识别方法流程示意图;

图4是根据本申请第四实施例中的机器人空转识别方法流程示意图;

图5是根据本申请第一实施例中的机器人空转识别装置结构示意图;

图6是根据本申请第二实施例中的机器人空转识别装置结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本申请及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。

并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本申请中的具体含义。

此外,术语“安装”、“设置”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。

本申请的名词解释:

轮式机器人,其导航采取的传感器配置是轮式里程计+激光雷达+imu,imu提供方向基准,轮式里程计提供短期的位姿估计,激光雷达在此基础上进行位姿估计的修正。

机器人行走时经常遇到需要地面高度不一致的情况,比如进出电梯时、经过地毯时、地面有坎,电梯与地面高度可能不一致。这就需要机器人有一定的过坎能力。不同的机器人过坎能力有差异,而地面高度不一致程度也不同。总会存在机器人不能过坎的情况,此时机器人轮子虽然一直向前转动,但机器人的位置却几乎不动,轮式里程计的位姿估计与真实值偏差较大,传统的激光雷达无法修正大的位姿偏差,机器人的位置误差很快变大,最终导致导航失败。这种机器人轮子向前滚动而实际位置几乎不变的情况,称为轮子空转。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

本申请中的机器人空转识别方法,基于深度视觉图像匹配的方法解决轮子空转导致的导航失败问题。

如图1所示,该方法包括如下的步骤s102至步骤s106:

步骤s102,获取机器人在第一状态和第二状态下的深度视觉图像重合度,并作为判断基准阈值;

获取得到所述机器人的第一状态下的深度视觉图像。获取得到所述第二状下的深度视觉图像。并通过获取得到的深度视觉图像计算不同状态下的深度视觉图像重合度。将当前的重合度作为判断基准阈值。

具体地,机器人保持不动和小幅上下晃动机器人,测试所拍出的深度视觉图像的重合度,后面以此重合度作为机器人不动的阈值。

步骤s104,每隔预设时间读取所述深度视觉图像,并计算该预设时间内轮式编码器的位姿变化;

每隔预设时间再次读取所述深度视觉图像,之后再计算该预设时间内轮式编码器的位姿变化。

具体地,每隔一段时间读取深度视觉图像,考虑到实时性、计算量和差异性,该时间间隔不宜太小也不能太大,同时计算该段时间内轮式编码器的位姿变化。

步骤s106,计算相邻两帧图像的重合度,并结合所述判断基准阈值判断机器人的轮子是否空转。

通过计算机器人在第一状态和第二状态下的深度视觉图像相邻两帧图像的重合度,并结合所述判断基准阈值判断机器人的轮子是否空转。

具体地,计算相邻两帧图像的重合度,若重合度大于上述步骤s102中的阈值,同时轮式编码器位姿变化大于一定的阈值,则说明轮子空转。此时,会发送命令使机器人轮子立即停止转动。

此外,还需要注意的是,如果在轮子空转时前方有人或物体移动,会导致两帧深度图像的图片差异过大,从而影响导识别的效果。

从以上的描述中,可以看出,本申请实现了如下技术效果:

在本申请实施例中,采用获取机器人在第一状态和第二状态下的深度视觉图像重合度,并作为判断基准阈值的方式,通过每隔预设时间读取所述深度视觉图像,并计算该预设时间内轮式编码器的位姿变化,达到了计算相邻两帧图像的重合度,并结合所述判断基准阈值判断机器人的轮子是否空转的目的,从而实现了基于深度视觉图像识别机器人轮子空转的技术效果,进而解决了机器人轮子空转识别效果不佳的技术问题。

根据本申请实施例,作为本实施例中的优选,如图2所示,每隔预设时间读取所述深度视觉图像,并计算该预设时间内轮式编码器的位姿变化包括:

步骤s202,每隔预设时间读取所述深度视觉图像,通过两帧深度视觉图像的匹配;

步骤s202,如果相邻两帧图像大部分差异小,且机器人轮式里程计变化较大,则轮子空转。

具体地,计算相邻两帧图像的重合度,若重合度大于步骤1)中的阈值,同时轮式编码器位姿变化大于一定的阈值(比如0.2m),则说明轮子空转。此时发送命令使机器人轮子立即停止转动。轮子停止后,计算空转时间段内轮子转动距离,在当前机器人位置基础上扣除该距离。机器人位置重置后继续执行命令恢复到正常运行状态。

根据本申请实施例,作为本实施例中的优选,如图3所示,获取机器人在第一状态和第二状态下的深度视觉图像重合度,并作为判断基准阈值包括:

步骤s302,获取机器人在保持不动不动时的深度视觉图像,作为第一状态;

步骤s304,获取机器人在小幅度上下晃动时的深度视觉图像,作为第二状态;

步骤s306,测试在第一状态和第二状态下的深度视觉图像的重合度,并将所述重合度作为机器人不动的阈值。

具体地,在第一状态机器人保持不动的深度视觉图像,第二状态下小幅上下晃动机器人的深度视觉图像,测试所拍出的深度视觉图像的重合度,后面以此重合度作为机器人不动的阈值。优选地,获取机器人在第一状态和第二状态下的深度视觉图像重合度,并作为判断基准阈值之前,还包括:采用预先配置深度视觉相机的机器人。

具体地,重合度计算伪代码如下:

需要注意的是,计算重合度的方式并不在本申请中进行具体限定,只要能够满足图像重合度计算要求即可。

根据本申请实施例,作为本实施例中的优选,如图4所示,计算相邻两帧图像的重合度,并结合所述判断基准阈值判断机器人的轮子是否空转之后,还包括:

步骤s402,向所述机器人发送轮子停止转动的控制命令,并且在所述轮子停止转动后,计算当前空转时间段内轮子转动距离;

步骤s404,根据所述轮子转动距离,在当前机器人位置基础上扣除该距离;

步骤s406,将所述机器人位置重置后继续执行命令恢复到正常运行状态。

具体地,在机器人轮子停止后,计算空转时间段内轮子转动距离,在当前机器人位置基础上扣除该距离。机器人位置重置后继续执行命令恢复到正常运行状态。在识别轮子空转之后需要先停止轮子转动再进行位姿调整,影响机器人移动的流畅性,但保证了机器人任务的正常运行。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

根据本申请实施例,还提供了一种用于实施上述方法的机器人空转识别装置,如图5所示,该装置包括:第一获取模块10,用于获取机器人在第一状态和第二状态下的深度视觉图像重合度,并作为判断基准阈值;第二获取模块20,用于每隔预设时间读取所述深度视觉图像,并计算该预设时间内轮式编码器的位姿变化;计算模块30,用于计算相邻两帧图像的重合度,并结合所述判断基准阈值判断机器人的轮子是否空转。

本申请实施例的第一获取模块10中获取得到所述机器人的第一状态下的深度视觉图像。获取得到所述第二状下的深度视觉图像。并通过获取得到的深度视觉图像计算不同状态下的深度视觉图像重合度。将当前的重合度作为判断基准阈值。

具体地,机器人保持不动和小幅上下晃动机器人,测试所拍出的深度视觉图像的重合度,后面以此重合度作为机器人不动的阈值。

本申请实施例的第二获取模块20中每隔预设时间再次读取所述深度视觉图像,之后再计算该预设时间内轮式编码器的位姿变化。

具体地,每隔一段时间读取深度视觉图像,考虑到实时性、计算量和差异性,该时间间隔不宜太小也不能太大,同时计算该段时间内轮式编码器的位姿变化。

本申请实施例的计算模块30中通过计算机器人在第一状态和第二状态下的深度视觉图像相邻两帧图像的重合度,并结合所述判断基准阈值判断机器人的轮子是否空转。

具体地,计算相邻两帧图像的重合度,若重合度大于上述步骤s102中的阈值,同时轮式编码器位姿变化大于一定的阈值,则说明轮子空转。此时,会发送命令使机器人轮子立即停止转动。

此外,还需要注意的是,如果在轮子空转时前方有人或物体移动,会导致两帧深度图像的图片差异过大,从而影响导识别的效果。

根据本申请实施例,作为本实施例中的优选,所述第二获取模块还用于,每隔预设时间读取所述深度视觉图像,通过两帧深度视觉图像的匹配;如果相邻两帧图像大部分差异小,且机器人轮式里程计变化较大,则轮子空转。

所述第二获取模块20中具体地,计算相邻两帧图像的重合度,若重合度大于步骤1)中的阈值,同时轮式编码器位姿变化大于一定的阈值(比如0.2m),则说明轮子空转。此时发送命令使机器人轮子立即停止转动。轮子停止后,计算空转时间段内轮子转动距离,在当前机器人位置基础上扣除该距离。机器人位置重置后继续执行命令恢复到正常运行状态。

根据本申请实施例,作为本实施例中的优选,所述第一获取模块还用于,获取机器人在保持不动不动时的深度视觉图像,作为第一状态;获取机器人在小幅度上下晃动时的深度视觉图像,作为第二状态;测试在第一状态和第二状态下的深度视觉图像的重合度,并将所述重合度作为机器人不动的阈值。

所述第一获取模块10中具体地,在第一状态机器人保持不动的深度视觉图像,第二状态下小幅上下晃动机器人的深度视觉图像,测试所拍出的深度视觉图像的重合度,后面以此重合度作为机器人不动的阈值。优选地,获取机器人在第一状态和第二状态下的深度视觉图像重合度,并作为判断基准阈值之前,还包括:采用预先配置深度视觉相机的机器人。

根据本申请实施例,作为本实施例中的优选,如图6所示,装置还包括:校正模块,还用于向所述机器人发送轮子停止转动的控制命令,并且在所述轮子停止转动后,计算当前空转时间段内轮子转动距离;根据所述轮子转动距离,在当前机器人位置基础上扣除该距离;将所述机器人位置重置后继续执行命令恢复到正常运行状态。

所述校正模块40中具体地,在机器人轮子停止后,计算空转时间段内轮子转动距离,在当前机器人位置基础上扣除该距离。机器人位置重置后继续执行命令恢复到正常运行状态。在识别轮子空转之后需要先停止轮子转动再进行位姿调整,影响机器人移动的流畅性,但保证了机器人任务的正常运行。

显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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