一种机器人自动避障方法和装置的制造方法

文档序号:10686409阅读:432来源:国知局
一种机器人自动避障方法和装置的制造方法
【专利摘要】本发明提供了一种机器人自动避障方法,所述方法包括:根据深度传感器获取机器人所在场景的可运动区域的深度数据;根据预先设定的深度阈值,对所述深度数据进行二值化处理;根据所述二值化处理的结果的区域的平均值或区域的求和值,确定机器人当前距离障碍物较远的区域作为机器人移动的方向。本发明通过采集深度数据,不容易出现测试盲区,并且只需要进行简单的对比,对二值化后的深度数据进行平均值计算,处理较为简单,处理速度快,对系统要求和成本较低。
【专利说明】
一种机器人自动避障方法和装置
技术领域
[0001]本发明属于机器人领域,尤其涉及一种机器人自动避障方法。
【背景技术】
[0002]随着智能控制技术的发展,越来越多的智能机器人进入到了人们的生活。比如,扫地机器人、擦窗机器人等家庭服务机器人,可以自动高效的帮助人们完成日常的扫地或者擦窗工作,为人们生活带来了极大的便利性。
[0003]在家庭服务机器人工作过程中,通常需要在室内或者室外自动行走。在行走过程中,必然会遇到各种障碍物,比如家具、墙壁、树木等。因此,在家庭服务机器人工作时,如何高效、精确的躲避障碍物,是保证智能机器人服务质量的重要技术点。
[0004]目前的家庭服务机器人主要是通过超声波、红外线、激光等传感器探测前方是否有障碍物,并且避障算法加入势场法来指导机器人避开障碍物。现有技术虽然可以实现机器人自动避障,但由于在使用超场波、红外线等传感器测量时,存在测量盲区且容易受环境影响,影响避障的准确度;而使用激光传感器进行测量时,由于激光传感器对系统的要求高,产品成本较高,并且避障处理的速度较慢。

【发明内容】

[0005]本发明的目的在于提供一种机器人自动避障方法,以解决现有技术的机器人自动避障时,避障准确度不高,或者对系统要求高,产品成本较高,处理速度较慢的问题。
[0006]第一方面,本发明实施例提供了一种机器人自动避障方法,所述方法包括:
[0007]根据深度传感器获取机器人所在场景的可运动区域的深度数据;
[0008]根据预先设定的深度阈值,对所述深度数据进行二值化处理;
[0009]根据所述二值化处理的结果的区域的平均值或区域的求和值,确定机器人当前距离障碍物较远的区域作为机器人移动的方向。
[0010]结合第一方面,在第一方面的第一种可能实现方式中,所述根据所述二值化处理的结果的区域的平均值或区域的求和值,确定机器人当前距离障碍物最远的区域作为机器人移动的方向步骤包括:
[0011]将所述机器人所在场景的可运动区域划分为预定个数的区域;
[0012]根据所述二值化处理的后的深度数据,计算所述预定个数的区域的平均值或求和值;
[0013]根据所述平均值或求和值的比较结果,确定机器人当前距离障碍物较远的区域作为机器人移动的方向。
[0014]结合第一方面,在第一方面的第二种可能实现方式中,在所述根据所述二值化处理的结果的区域的平均值或区域的求和值,确定机器人当前距离障碍物较远的区域作为机器人移动的方向步骤包括:
[0015]将所述机器人所在场景的可运动区域按照多种不同的方式划分为预定个数的区域;
[0016]计算多种方式所划分的区域中的二值化处理的深度数据的平均值或求和值;
[0017]根据所述平均值或求和值的比较结果,确定机器人当前距离障碍物较远的区域作为机器人移动的方向。
[0018]结合第一方面、第一方面的第一种可能实现方式或第一方面的第二种可能实现,在第一方面的第三种可能实现方式中,所述根据预先设定的深度阈值,对所述深度数据进行二值化处理步骤包括:
[0019]将获取的深度数据与预先设定的深度阈值进行比较,如果获取的深度数据大于预先设定的深度阈值,则赋值为I,如果获取的深度数据小于预先设定的深度阈值,则赋值为O。
[0020]结合第一方面,在第一方面的第四种可能实现方式中,在所述根据预先设定的深度阈值,对所述深度数据进行二值化处理步骤之前,所述方法还包括:
[0021]根据获取的深度数据的计算深度平均值,将所计算的深度的平均值作为深度阈值。
[0022 ]第二方面,本发明实施例提供了一种机器人自动避障装置,所述装置包括:
[0023]深度数据获取单元,用于根据深度传感器获取机器人所在场景的可运动区域的深度数据;
[0024]二值化处理单元,用于根据预先设定的深度阈值,对所述深度数据进行二值化处理;
[0025]移动单元,用于根据所述二值化处理的结果的区域的平均值或区域的求和值,确定机器人当前距离障碍物较远的区域作为机器人移动的方向。
[0026]结合第二方面,在第二方面的第一种可能实现方式中,所述移动单元包括:
[0027]第一区域划分子单元,用于将所述机器人所在场景的可运动区域划分为预定个数的区域;
[0028]第一计算子单元,用于根据所述二值化处理的后的深度数据,计算所述预定个数的区域的平均值或求和值;
[0029]第一方向确定子单元,用于根据所述平均值或求和值的比较结果,确定机器人当前距离障碍物较远的区域作为机器人移动的方向。
[0030]结合第二方面,在第二方面的第二种可能实现方式中,所述移动单元包括:
[0031]第二区域划分子单元,用于将所述机器人所在场景的可运动区域按照多种方式划分为预定个数的区域;
[0032]第二计算子单元,用于计算多种方式所划分的区域中的二值化处理的深度数据的平均值或求和值;
[0033]第二方向确定子单元,用于根据所述平均值或求和值的比较结果,确定机器人当前距离障碍物较远的区域作为机器人移动的方向。
[0034]结合第二方面、第二方面的第一种可能实现方式或第二方面的第二种可能实现方式,在第二方面的第三种可能实现方式中,所述二值化处理单元具体用于:
[0035]将获取的深度数据与预先设定的深度阈值进行比较,如果获取的深度数据大于预先设定的深度阈值,则赋值为I,如果获取的深度数据小于预先设定的深度阈值,则赋值为O。
[0036]结合第二方面,在第二方面的第四种可能实现方式中,所述装置还包括:
[0037]深度阈值确定单元,用于根据获取的深度数据的计算深度平均值,将所计算的深度的平均值作为深度阈值。
[0038]在本发明中,通过获取机器人所在场景的可运动区域的深度数据,根据预先设定的深度阈值,对所述深度数据进行二值化处理,对二值化处理后的区域计算平均值或求和值,根据计算的平均值或求和值即可确定机器人距离障碍物较远的区域作为移动方向。由于本发明通过采集深度数据,不容易出现测试盲区,并且只需要进行简单的对比,对二值化后的深度数据进行平均值或求和值计算,处理较为简单,处理速度快,对系统要求和成本较低。
【附图说明】
[0039]图1是本发明第一实施例提供的机器人自动避障方法的实现流程图;
[0040]图2是本发明第二实施例提供的机器人自动避障方法的实现流程图;
[0041]图3是本发明第三实施例提供的机器人自动避障方法的实现流程图;
[0042]图4为本发明第四实施例提供的机器人自动避障装置的结构示意图。
【具体实施方式】
[0043]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0044]本发明实施例的目的在于提供一种机器人自动避障方法,以解决现有技术中的机器人进行障碍物识别时,使用红外传感器或者超声波进行识别时,可能会存在检测盲区,而且检测时容易受到环境的影响,影响避障的准确度,或者使用激光传感器进行测量时,由于激光传感器对系统的要求高,增加了产品成本,并且避障处理较为复杂,处理速度较慢,避障的效率不高。下面结合附图,对本发明作进一步的说明。
[0045]实施例一:
[0046]图1示出了本发明第一实施例提供的机器人自动避障方法的实现流程,详述如下:
[0047]在步骤SlOl中,根据深度传感器获取机器人所在场景的可运动区域的深度数据。
[0048]具体的,本发明实施例所述深度传感器,可以使用3D传感器。比如,可以使用双目摄像机分别进行图像的采集,根据双目摄像机的设置参数,以及图像之间的差异信息,获取图像中的物体的深度数据。
[0049]所述机器人所在场景的可运动区域,即在机器人所在的平面中,比如扫地机器人所在的平面,即机器人所在的地面,对于擦玻璃机器人,即机器人所在的玻璃平面。所述可运动区域一般为机器人所在平面中,在该平面的360度任意方向。
[0050]所述深度数据,也就是图像中的物体距离机器人的距离值。可以根据深度传感器,获取机器人所在场景的图像中的每个像素点的深度数据。
[0051]在步骤S102中,根据预先设定的深度阈值,对所述深度数据进行二值化处理。
[0052]具体的,本发明实施例所述中所述深度阈值,可以根据机器人所在场景的不同,而选用与场景相匹配的深度阈值。比如在卧室等较为拥挤的环境中,可以选用数值较小的深度阈值,而对于较为开阔的环境中,可以设定较大数值的深度阈值。
[0053]根据选定的数据对获取的所述深度数据进行二值化处理时,可以通过简单的比较,即可得到每个深度数据对应的二值化结果。
[0054]比如,将获取的深度数据的数值大于深度阈值的二值化结果设定为1,将获取的深度数据的数值小于深度阈值的二值化结果设定为O。那么,对于获取的深度数据,可以全部由数值“O”和数值“I”进行表示。
[0055]当然,上述表示方式只是本发明其中一种实施方式,也可以将获取的深度数据的数值小于深度阈值的二值化结果设定为I,将获取的深度数据的数值大于深度阈值的二值化结果设定为O。在此不作具体的限定。
[0056]在步骤S103中,根据所述二值化处理的结果的区域的平均值或区域的求和值,确定机器人当前距离障碍物较远的区域作为机器人移动的方向。
[0057]在确定了机器人所在场景的可运动区域的深度数据对应的二值化数据后,可对于机器人可运动的任一方向对应的区域的深度值进行计算,比如通过“O”和“I”表示的二值化深度数据,可以非常迅速的计算得到任一方向对应的区域的二值化处理的深度值的平均值或求和值。
[0058]比如,当二值化处理后的深度值“I”表示获取的深度数据的数值大于深度阈值时,则当所述平均值或求和值越大,则表示障碍物距离机器人的距离越远,可以更为有效的躲避障碍物。
[0059]本发明通过获取机器人所在场景的可运动区域的深度数据,根据预先设定的深度阈值,对所述深度数据进行二值化处理,对二值化处理后的区域计算平均值或求和值,根据计算的平均值或求和值即可确定机器人距离障碍物较远的区域作为移动方向。由于本发明通过采集深度数据,不容易出现测试盲区,并且只需要进行简单的对比,对二值化后的深度数据进行平均值或求和值计算,处理较为简单,处理速度快,对系统要求和成本较低。
[0060]实施例二:
[0061]图2示出了本发明第二实施例提供的机器人自动避障方法的实现流程,详述如下:
[0062]在步骤S201中,根据深度传感器获取机器人所在场景的可运动区域的深度数据。
[0063]在步骤S202中,根据预先设定的深度阈值,对所述深度数据进行二值化处理。
[0064]本发明实施例中步骤S201-S202与实施例一中的步骤S101-S102基本相同,在此不作重复赘述。
[0065]在步骤S203中,将所述机器人所在场景的可运动区域划分为预定个数的区域。
[0066]在本发明实施例中,可根据机器人当前的朝向,将可运动范围平均划分若干个区域,比如可以将可运动范围平均划分为11个区域,每个区域中包括一定数量的深度数据。
[0067]当然,本发明实施例中所述步骤S202和步骤S203不用限定严格按照先后执行,还可以先划分区域,然后再对划分后的区域中的深度数据进行二值化处理。
[0068]作为本发明进一步优化的实施方式中,还可以按照多种不同的划分方式,得到更为丰富的区域划分方式。比如方式一以当前机器人朝向开始划分为第一区域。而方式二则在方式一的基础上偏移预定的角度值,比如偏移I度。因此,根据精度的需要,可以划分更多个包括不同像素的区域,得到的深度的平均值或求和值也可能不尽相同。
[0069]在步骤S204中,根据所述二值化处理的后的深度数据,计算所述预定个数的区域的平均值或求和值。
[0070]当系统采用一种方式对可运动范围的图像进行划分时,对于划分后的区域中二值化数据,可以快速的计算得到区域的二值化数据的平均值或求和值。
[0071]当系统采用多种方式对于运动范围的图像进行划分时,由于二值化数据计算简单,因此仍然能够较为快速的得到到区域的二值化数据的平均值或求和值,但是,由于多种方式划分,包括更多种可能的区域,因而更有利于得到平均值或求和值更高或者更低的区域,因而能够更为精确的确定前进的方向,更为有效的躲避障碍物。
[0072]在步骤S205中,根据所述平均值或求和值的比较结果,确定机器人当前距离障碍物较远的区域作为机器人移动的方向。
[0073]比如,当二值化处理后的深度值“I”表示获取的深度数据的数值大于深度阈值时,则可以将平均值或求和值较大的区域作为机器人前进的方向,从而可以使得机器人更为有效的对障碍物进行躲避。同理,当二值化处理后的深度值“O”表示获取的深度数据的数值大于深度阈值时,则将平均值或求和值较小的区域作为机器人前进的方向。并且,本发明通过多种划分区域的方式,可以更有效的提高前进方向的精度。
[0074]实施例三:
[0075]图3示出了本发明第三实施例提供的机器人自动避障方法的实现流程,详述如下:
[0076]在步骤S301中,根据深度传感器获取机器人所在场景的可运动区域的深度数据。
[0077]在步骤S302中,根据获取的深度数据的计算深度平均值,将所计算的深度的平均值作为深度阈值。
[0078]具体的,为了使得机器人能够更为主的适应不同场景的深度值的比对要求,本发明还包括对机器人所在场景的深度数据的平均值进行计算。
[0079]在本发明实施例中所述的深度平均值,可以通过抽样的方式,选取不同角度的深度数据进行平均值的计算。从而能够有效的提高深度平均值的计算处理效率。在步骤S303中,根据设定的深度阈值,对所述深度数据进行二值化处理。
[0080]在步骤S304中,根据所述二值化处理的结果的区域的平均值或区域的求和值,确定机器人当前距离障碍物较远的区域作为机器人移动的方向。
[0081]本发明实施例在实施例一的基础上,增加了对深度阈值的计算步骤,通过选用场景中的平均深度值作为深度阈值,可以免于用户对不同场景需要调整深度阈值的麻烦,本发明通过自主适应的方式,可以有效的提高机器人使用的便利性。
[0082]实施例四:
[0083]图4示出了本发明第四实施例提供的机器人自动避障装置的结构示意图,详述如下:
[0084]本发明实施例所述机器人自动避障装置,包括:
[0085]深度数据获取单元401,用于根据深度传感器获取机器人所在场景的可运动区域的深度数据;
[0086]二值化处理单元402,用于根据预先设定的深度阈值,对所述深度数据进行二值化处理;
[0087]移动单元403,用于根据所述二值化处理的结果的区域的平均值或区域的求和值,确定机器人当前距离障碍物较远的区域作为机器人移动的方向。
[0088]优选的,第一区域划分子单元,用于将所述机器人所在场景的可运动区域划分为预定个数的区域;
[0089]第一计算子单元,用于根据所述二值化处理的后的深度数据,计算所述预定个数的区域的平均值或求和值;
[0090]第一方向确定子单元,用于根据所述平均值或求和值的比较结果,确定机器人当前距离障碍物较远的区域作为机器人移动的方向。
[0091]优选的,第二区域划分子单元,用于将所述机器人所在场景的可运动区域按照多种方式划分为预定个数的区域;
[0092]第二计算子单元,用于计算多种方式所划分的区域中的二值化处理的深度数据的平均值或求和值;
[0093]第二方向确定子单元,用于根据所述平均值或求和值的比较结果,确定机器人当前距离障碍物较远的区域作为机器人移动的方向。
[0094]优选的,所述二值化处理单元具体用于:
[0095]将获取的深度数据与预先设定的深度阈值进行比较,如果获取的深度数据大于预先设定的深度阈值,则赋值为I,如果获取的深度数据小于预先设定的深度阈值,则赋值为O。
[0096]优选的,所述装置还包括:
[0097]深度阈值确定单元,用于根据获取的深度数据的计算深度平均值,将所计算的深度的平均值作为深度阈值。
[0098]本发明实施例所述机器人自动避障装置,与实施例一至三所述机器人自动避障方法对应,在此不作重复赘述。
[0099]在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0100]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0101]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0102]所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory),随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0103]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种机器人自动避障方法,其特征在于,所述方法包括: 根据深度传感器获取机器人所在场景的可运动区域的深度数据; 根据预先设定的深度阈值,对所述深度数据进行二值化处理; 根据所述二值化处理的结果的区域的平均值或区域的求和值,确定机器人当前距离障碍物较远的区域作为机器人移动的方向。2.根据权利要求1所述方法,其特征在于,所述根据所述二值化处理的结果的区域的平均值或区域的求和值,确定机器人当前距离障碍物最远的区域作为机器人移动的方向步骤包括: 将所述机器人所在场景的可运动区域划分为预定个数的区域; 根据所述二值化处理的后的深度数据,计算所述预定个数的区域的平均值或求和值; 根据所述平均值或求和值的比较结果,确定机器人当前距离障碍物较远的区域作为机器人移动的方向。3.根据权利要求1所述方法,其特征在于,在所述根据所述二值化处理的结果的区域的平均值或区域的求和值,确定机器人当前距离障碍物较远的区域作为机器人移动的方向步骤包括: 将所述机器人所在场景的可运动区域按照多种不同的方式划分为预定个数的区域; 计算多种方式所划分的区域中的二值化处理的深度数据的平均值或求和值; 根据所述平均值或求和值的比较结果,确定机器人当前距离障碍物较远的区域作为机器人移动的方向。4.根据权利要求1-3任一项所述方法,其特征在于,所述根据预先设定的深度阈值,对所述深度数据进行二值化处理步骤包括: 将获取的深度数据与预先设定的深度阈值进行比较,如果获取的深度数据大于预先设定的深度阈值,则赋值为I,如果获取的深度数据小于预先设定的深度阈值,则赋值为O。5.根据权利要求1所述方法,其特征在于,在所述根据预先设定的深度阈值,对所述深度数据进行二值化处理步骤之前,所述方法还包括: 根据获取的深度数据的计算深度平均值,将所计算的深度的平均值作为深度阈值。6.一种机器人自动避障装置,其特征在于,所述装置包括: 深度数据获取单元,用于根据深度传感器获取机器人所在场景的可运动区域的深度数据; 二值化处理单元,用于根据预先设定的深度阈值,对所述深度数据进行二值化处理; 移动单元,用于根据所述二值化处理的结果的区域的平均值或区域的求和值,确定机器人当前距离障碍物较远的区域作为机器人移动的方向。7.根据权利要求6所述装置,其特征在于,所述移动单元包括: 第一区域划分子单元,用于将所述机器人所在场景的可运动区域划分为预定个数的区域; 第一计算子单元,用于根据所述二值化处理的后的深度数据,计算所述预定个数的区域的平均值或求和值; 第一方向确定子单元,用于根据所述平均值或求和值的比较结果,确定机器人当前距离障碍物较远的区域作为机器人移动的方向。8.根据权利要求6所述装置,其特征在于,所述移动单元包括: 第二区域划分子单元,用于将所述机器人所在场景的可运动区域按照多种方式划分为预定个数的区域; 第二计算子单元,用于计算多种方式所划分的区域中的二值化处理的深度数据的平均值或求和值; 第二方向确定子单元,用于根据所述平均值或求和值的比较结果,确定机器人当前距离障碍物较远的区域作为机器人移动的方向。9.根据权利要求6-8任一项所述装置,其特征在于,所述二值化处理单元具体用于: 将获取的深度数据与预先设定的深度阈值进行比较,如果获取的深度数据大于预先设定的深度阈值,则赋值为I,如果获取的深度数据小于预先设定的深度阈值,则赋值为O。10.根据权利要求6所述装置,其特征在于,所述装置还包括: 深度阈值确定单元,用于根据获取的深度数据的计算深度平均值,将所计算的深度的平均值作为深度阈值。
【文档编号】G05D1/02GK106054888SQ201610485153
【公开日】2016年10月26日
【申请日】2016年6月28日
【发明人】林绿德, 庄永军
【申请人】旗瀚科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1