一种扫地机器人及避障方法、可读存储介质与流程

文档序号:12033966阅读:306来源:国知局
一种扫地机器人及避障方法、可读存储介质与流程

本发明涉及扫地机器人技术领域,具体涉及一种扫地机器人及避障方法、可读存储介质。



背景技术:

扫地机器人又叫懒人扫地机,是一种能对地面进行自动吸尘的智能家用电器。能凭借一定的人工智能,自动在房间内完成地板清扫、吸尘和擦地工作,将地面杂物吸纳进入自身的垃圾收纳盒,完成地面清理的功能。扫地机器人在工作过程中由于避障不好,经常磕碰障碍物,损坏家具和扫地机器人外观。

现有的扫地机器人常常通过红外感应或超声波仿生技术检测障碍物,对障碍物进行避开,将垃圾或吸或扫或擦进行清理。红外线传输距离远,但对使用环境有相当高的要求,当遇上浅色或是深色的家居物品它无法反射回来,不能够有效避障,会造成机器与家居物品发生碰撞;而且使用红外检测仅能够使机器人获悉前面内有障碍物,不能使机器人准确确定障碍物的具体位置,无法及时作出预判、有效避障。对于超声波,其检测视角较小,受环境干扰比较大,检测不到地面低矮和细小的障碍物,易导致扫地机器人被细小物体缠绕,避障效果不好。



技术实现要素:

本申请提供一种扫地机器人及避障方法、可读存储介质,根据摄像头采集的图像信息检测障碍物,确定障碍物的世界坐标,实现有效避障。

根据本申请第一方面,本申请提供一种扫地机器人避障方法,包括:

图像获取步骤,获取摄像头拍摄的图像数据;

图像处理步骤,对图像进行缩放和灰度处理;

障碍物识别步骤,对缩放和灰度处理后的图像进行线检测,识别出障碍物;

障碍物定位步骤,确定障碍物的世界坐标;

预判步骤,根据障碍物的世界坐标,进行预判,计算扫地机器人下一时刻行驶的方向和速度。

在一些实施例,所述障碍物识别步骤包括:

线检测步骤,将缩放和灰度处理后的图像像素点灰度值与高斯核函数进行卷积,计算卷积结果的差分响应,将差分响应值超过预设阈值的像素点作为线段点,再将连续的线段点连接为线段勾勒障碍物轮廓。

在一些实施例,所述障碍物识别步骤还包括:

过滤步骤,对线检测得到的线段进行过滤处理,过滤处理至少包括:忽略边沿线、过滤直线、过滤长度小于预设长度的线段和过滤密度大于预设密度的线段。

在一些实施例,所述障碍物定位步骤包括:

可视区域计算步骤,根据扫地机器人的直径、摄像的安装角度和摄像头安装高度,计算摄像头可视区域;

获取可视区域坐标步骤,获取摄像头可视区域特征值的世界坐标,所述特征值包括:摄像头可视区域边缘点和角点;

获取障碍物坐标步骤,获取障碍物的像素坐标,将其映射到所述世界坐标,确定障碍物的世界坐标。

在一些实施例,所述图像处理步骤中,图像经缩放处理后,变成qqvga格式。

根据本申请第二方面,本申请提供一种扫地机器人避障装置,包括:

图像获取模块,用于获取摄像头拍摄的图像数据;

图像处理模块,用于对图像进行缩放和灰度处理;

障碍物检测模块,用于对缩放和灰度处理后的图像进行线检测,识别出障碍物;

障碍物定位模块,用于确定障碍物的世界坐标;

预判模块,用于根据障碍物的世界坐标,进行预判,计算扫地机器人下一时刻行驶的方向和速度。

根据本申请第三方面,本申请提供一种扫地机器人,包括:

摄像头,用于拍摄扫地机器人行驶方向地面的图像;

处理器,用于获取摄像头拍摄的图像数据,对图像进行缩放和灰度处理,对缩放和灰度处理后的图像进行线检测,识别出障碍物,根据障碍物的世界坐标,进行预判,计算扫地机器人下一时刻行驶的方向和速度;

驱动器,用于根据处理器输出的方向和速度信息,驱动扫地机器人避开障碍物。

在一些实施例,所述摄像头包括单目摄像头或双目摄像头,其中,摄像头进行快拍一次成像。

根据本申请第四方面,本申请提供一种扫地机器人,包括:

存储器,用于存储程序;

处理器,用于通过执行所述存储器存储的程序以实现如本申请第一方面中任一项所述的方法。

根据本申请第五方面,本申请提供一种计算机可读存储介质,包括程序,所述程序能够被处理器执行以实现如本申请第一方面中任一项所述的方法。

依据上述实施例,由于本申请利用摄像头拍摄扫地机器人行驶方向地面的图像,通过对缩放和灰度处理后的图像进行线检测,识别出障碍物,并确定障碍物的世界坐标,使得可以根据障碍物的世界坐标,进行预判,计算扫地机器人下一时刻行驶的方向和速度,驱动扫地机器人避开障碍物,本申请避障目标更准,避障效果更好。

附图说明

图1为申请提供的一种扫地机器人;

图2为本申请提供的一种扫地机器人避障方法流程图;

图3为一种实施例的障碍物识别步骤流程图;

图4为一种实施例的图像像素点灰度值及其拟合函数示意图;

图5位一种实施例的线检测效果图对比图;

图6为一种实施例的障碍物定位步骤流程图;

图7为一种实施例的摄像头垂直视角示意图;

图8为一种实施例的摄像头水平视角示意图;

图9为本申请提供的一种扫地机器人避障方法装置结构图;

图10为申请提供的另一种扫地机器人;

图11为一种实施例确定的障碍物位置示意图。

具体实施方式

下面通过具体实施方式结合附图对本发明作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本申请相关的一些操作并没有在说明书中显示或者描述,这是为了避免本申请的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。

另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。

实施例一:

请参考图1,本申请提供一种扫地机器人,包括:摄像头10、处理器11和驱动器12。

摄像头10用于拍摄扫地机器人行驶方向地面的图像。

处理器11用于获取摄像头10拍摄的图像数据,对图像进行缩放和灰度处理,对缩放和灰度处理后的图像进行线检测,识别出障碍物,根据障碍物的世界坐标,进行预判,计算扫地机器人下一时刻行驶的方向和速度。

驱动器12用于根据处理器11输出的方向和速度信息,驱动扫地机器人避开障碍物。

摄像头10包括单目摄像头或双目摄像头,摄像头10可快拍一次成像,也可上下移动镜头广角成像。

在一实施例中,摄像头10为单目摄像头,通过快拍一次成像。因为要实现扫地机器人避障,主要是需要检测地面上障碍物,因此摄像头10垂直方向并不需要较大的深度,可以不上下移动镜头广角成像,快拍一次成像即可。又因为扫地机器人避障只要能识别出障碍物,对图像的清晰度要求并不特别高,鉴于成本的考虑,摄像头10采用单目摄像头,而不是成本更高的双目摄像头,但双目摄像头1完全可替代单目摄像头。

请参考图2,相应地,本申请还提供一种扫地机器人避障方法,包括:

图像获取步骤100,获取摄像头10拍摄的图像数据;

图像处理步骤200,对图像进行缩放和灰度处理;

障碍物识别步骤300,对缩放和灰度处理后的图像进行线检测,识别出障碍物;

障碍物定位步骤400,确定障碍物的世界坐标;

预判步骤500,根据障碍物的世界坐标,进行预判,计算扫地机器人下一时刻行驶的方向和速度。

在一些实施例,图像处理步骤200中,图像经缩放处理后,变成qqvga格式,即分辨率为160*120。这是因为扫地机避障仅涉及扫地机器人周围的障碍物检测,距离较短,不涉及远距离障碍物的检测,160x120的分辨率有助于减少图像检测算法时间复杂度o(w*c),其中,w表示图像宽度,c表示检测灵敏度参数。

参考图3,在一些实施例,障碍物识别步骤300包括:

线检测步骤301,将缩放和灰度处理后的图像像素点灰度值与高斯核函数进行卷积,计算卷积结果的差分响应,将差分响应值超过预设阈值的像素点作为线段点,再将连续的线段点连接为线段勾勒障碍物轮廓。

在一实施例,参考图4,线检测步骤301中,缩放和灰度处理后的图像像素点灰度值(图4中实线)可通过拟合函数fb(s)(图4中虚线)拟合的得到。拟合函数

其中,s表示像素点的中心线偏移量,w表示图像宽度,c表示检测灵敏度参数。

线检测步骤301中,高斯核函数gσ(s)可表示为:

其中,s表示像素点的中心线偏移量,σ表示平滑度参数。

上述图像像素点灰度值与高斯核函数进行卷积可表示为rb(s)=gσ(s)*fb(s),其差分响应为r"b(s)=g"σ(s)*fb(s)=h(g'σ(s+w)-g'σ(s-w))。

当差分响应值r"b(s)超过预设阈值时,对应像素点作为线段点,再将连续的线段点连接为线段,便可检测到障碍物。这是因为障碍物往往可以抽象为一段连续的线段,如果能把线段检测出来,也就检测到了障碍物。

如图5所示为线检测效果图对比图,其中,左图为障碍物示意图,右图为线检测效果图。

线检测步骤301之后还需过滤掉一些噪声,避免引起误判。参考图3,在一些实施例,障碍物识别步骤300还包括:

过滤步骤302,对线检测得到的线段进行过滤处理,过滤处理至少包括:忽略边沿线、过滤直线、过滤长度小于预设长度的线段和过滤密度大于预设密度的线段。

具体包括:如果线检测步骤301提取的线段在图像边沿,则需要忽略,因为图像外的障碍物已经超出了摄像头10的可视区域;又由于家庭中地板砖的缝隙是细而直的,故还需要过滤直线;另外,为了区分垃圾与障碍物,还要过滤那些长度小于预设长度的线段和过滤密度大于预设密度的线段,这些线段代表的可能垃圾。

参考图6,在一些实施例,障碍物定位步骤400包括:

可视区域计算步骤401,根据扫地机器人的直径、摄像头10的安装角度和摄像头10安装高度,计算摄像头10可视区域;

获取可视区域坐标步骤402,获取摄像头10可视区域特征值的世界坐标,所述特征值包括:摄像头10可视区域边缘点和角点;

获取障碍物坐标步骤403,获取障碍物的像素坐标,将其映射到世界坐标,确定障碍物的世界坐标。

因为扫地机只需检测地面上的障碍物,并根据障碍物的位置进行调整行驶方向和速度即可,且扫地机只前进不后退,故固定好安装摄像头10后,根据摄像头10的安装高度和角度,就可确定扫地机每次检测的范围,即摄像头10的可视区域。

在一实施例,可视区域计算步骤401中,摄像头10可视区域由摄像头10垂直视角α和摄像头10水平视角β决定。如图7所示,当摄像头10安装好后,其安装高度h和安装角度θ固定,其垂直视角α被确定。如图8所示,当摄像头10的安装高度h和安装角度θ被固定后,根据扫地机的直径也可确定水平视角β。其中,水平视角β可表示为

l表示扫地机的直径,θ表示摄像头10安装角度,即摄像头10与垂直方向的夹角,h表示摄像头10安装高度。

在一实施例,获取障碍物坐标步骤403中,像素坐标(u,v)(以图像左上角为原点)可以表示为:

其中,x、y、z为相机坐标系下的坐标点,fx、fy、cx、cy表示摄像头内参。摄像头内参可利用张氏标定法计算出来,fx、fy表示摄像头10的相机焦距,cx、cy表示的摄像头10光学中心点坐标。

利用以下矩阵实现障碍物从二维图像像素坐标(u,v)到世界坐标系的变换,得出物体在物理世界的位置。该矩阵为:

其中,x、y、z为世界坐标系下的坐标点;r、t相机坐标系到世界坐标系的旋转矩阵和偏移矩阵,可通过棋盘格方法标定。

由此可见,通过式(4)和式(5),即可确定障碍物的世界坐标。

参考图9,基于上述方法,本申请提供了一种扫地机器人避障装置,包括:

图像获取模块,用于获取摄像头10拍摄的图像数据;

图像处理模块,用于对图像进行缩放和灰度处理;

障碍物检测模块,用于对缩放和灰度处理后的图像进行线检测,识别出障碍物;

障碍物定位模块,用于确定障碍物的世界坐标;

预判模块,用于根据障碍物的世界坐标,进行预判,计算扫地机器人下一时刻行驶的方向和速度。

参考图10,基于上述方法,本申请一种扫地机器人,包括:

存储器110,用于存储程序;

处理器11,用于通过执行所述存储器存储的程序以实现上述实施例所述的方法。

参考图11,为利用本申请确定的障碍物位置示意图。如图9所示,本申请不仅可以获取障碍物离摄像头的距离,还获取水平方向障碍物映射和偏移量,方面扫地机做出预判,避开障碍物。

本领域技术人员可以理解,上述实施方式中各种方法的全部或部分功能可以通过硬件的方式实现,也可以通过计算机程序的方式实现。当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘、光盘、硬盘等,通过计算机执行该程序以实现上述功能。例如,将程序存储在设备的存储器中,当通过处理器执行存储器中程序,即可实现上述全部或部分功能。另外,当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序也可以存储在服务器、另一计算机、磁盘、光盘、闪存盘或移动硬盘等存储介质中,通过下载或复制保存到本地设备的存储器中,或对本地设备的系统进行版本更新,当通过处理器执行存储器中的程序时,即可实现上述实施方式中全部或部分功能。

以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。

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