基于线特征识别的机器人姿态控制方法、系统及机器人与流程

文档序号:16984229发布日期:2019-02-26 20:21阅读:151来源:国知局
基于线特征识别的机器人姿态控制方法、系统及机器人与流程

本发明涉及机器人技术领域,特别是涉及基于线特征识别的机器人姿态控制方法、系统及机器人。



背景技术:

目前家用扫地机器人,清扫前需要进行初始方向的调整,即理想是调节到垂直于正对墙面方向,然后进行清扫,但如何进行精准的机器人姿态调整,实为难题;一旦初始方向调整有误差,则在清扫时可能会出现方向偏差的不良情形。



技术实现要素:

鉴于以上所述现有技术的缺点,本发明的目的在于提供基于线特征识别的机器人姿态控制方法、系统及机器人,用于解决现有技术中的问题。

为实现上述目的及其他相关目的,本发明提供一种基于线特征识别的机器人姿态控制方法,包括:实时采集室内环境图像;从所述室内环境图像中提取物体的轮廓信息;从所提取的轮廓信息中提取其中的主要直线,所述主要直线的类型包括:水平或竖直直线;筛选各主要直线中的各水平线,以确定墙面所在方位;调整机器人的姿态至与所述墙面垂直。

于本发明的一实施例中,筛选各主要直线中的各水平线,以确定墙面所在方位,包括:按具有共同消失点的直线为一组,将各所述主要直线进行分类为多组;选取包含主要直线最多的一组为位于一墙面的平行线以定位该墙面方位。

于本发明的一实施例中,所述调整机器人的姿态至与墙面垂直,包括:调整机器人的姿态,直至所述选取的一组中的各主要直线在当前室内环境图像中显示为相互平行。

于本发明的一实施例中,所述轮廓信息的提取方式,包括:通过opencv程序中的canny算子算法提取。

于本发明的一实施例中,所述主要直线的提取方式,包括:通过opencv程序中的霍夫线提取算法提取。

为实现上述目的及其他相关目的,本发明提供一种基于线特征识别的机器人姿态控制系统,包括:图像采集模块,用于实时采集室内环境图像;图像处理模块,用于从所述室内环境图像中提取物体的轮廓信息;所述图像处理模块,用于从所提取的轮廓信息中提取其中的主要直线,所述主要直线的类型包括:水平或竖直直线;所述图像处理模块,用于筛选各主要直线中的各水平线,以确定墙面所在方位;运动控制模块,用于调整机器人的姿态至与所述墙面垂直。

为实现上述目的及其他相关目的,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的方法。

为实现上述目的及其他相关目的,本发明提供一种计算机系统,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述计算机系统执行所述的方法。

为实现上述目的及其他相关目的,本发明提供一种机器人,能进行运动,包括所述的计算机系统。

于本发明的一实施例中,所述机器人为扫地机器人。

如上所述,本发明的基于线特征识别的机器人姿态控制方法、系统及机器人,通过实时采集室内环境图像;从所述室内环境图像中提取物体的轮廓信息;从所提取的轮廓信息中提取其中的主要直线,所述主要直线的类型包括:水平或竖直直线;筛选各主要直线中的各水平线,以确定墙面所在方位;调整机器人的姿态至与所述墙面垂直;对室内环境图像进行特征识别来找到墙面,从而精确调整机器人的姿态,解决现有技术的问题。

附图说明

图1显示为本发明于一实施例中的机器人姿态控制方法的流程示意图。

图2a及2b显示为本发明于一实施例中对室内环境图像处理的轮廓信息的示意图。

图3显示为本发明于一实施例中的机器人姿态控制系统的模块示意图。

元件标号说明

301图像采集模块

302图像处理模块

303运动控制模块

s101~s105步骤

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

本发明的技术方案应用于能运动的机器人,例如室内的扫地机器人,当然,也可以是其它进行物品运送的机器人,并非以此为限;本发明的技术方案通过对室内环境的图像特征识别来找到墙面方位,据以调整机器人姿态。

请参阅图1,展示本发明的基于线特征识别的机器人姿态控制方法在一实施例中的流程示意图;所述方法包括:

步骤s101:实时采集室内环境图像。

于本发明的一实施例中,机器人可携带有图像采集装置,例如摄像头等,以实时拍摄其所在的室内环境图像,所述室内环境图像可以是图片或视频等。

步骤s102:从所述室内环境图像中提取物体的轮廓信息。

于本发明的一实施例中,若所述室内环境图像是彩色的,则先将其处理为黑白图像,进而进行轮廓信息的提取。

所述轮廓信息的提取方式,包括:通过opencv程序中的canny算子算法提取。opencv是一个基于bsd许可(开源)发行的跨平台计算机视觉库,可以运行在linux、windows、android和macos操作系统上。它轻量级而且高效--由一系列c函数和少量c++类构成,同时提供了python、ruby、matlab等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法;opencv用c++语言编写,它的主要接口也是c++语言,但是依然保留了大量的c语言接口。该库也有大量的python,javaandmatlab/octave(版本2.5)的接口。这些语言的api接口函数可以通过在线文档获得。如今也提供对于c#,ch,ruby的支持。

opencv所应用的领域有:人机互动、物体识别、图像分割、人脸识别、动作识别、运动跟踪、机器人、运动分析、机器视觉、结构分析、及汽车安全驾驶等。

步骤s103:从所提取的轮廓信息中提取其中的主要直线,所述主要直线的类型包括:水平或竖直直线。

于本发明的一实施例中,承前所述,可以通过opencv程序来得到轮廓信息,由此延展,也可以通过opencv程序中的霍夫线提取算法来提取所述主要直线。所述主要直线指的是在所述轮廓信息中可以识别的各个直线中,符合预设条件的直线,所述参数包括:直度和/或长度等;举例来讲,当轮廓信息中的直线的直度大于预设直度阈值,和/或其长度大于预设长度阈值时,可判定该直线为主要直线;该预设条件,例如该直度阈值、长度阈值等,均可以根据实际情况需求加以设定,此处不加以限制。

具体的,如图2a和2b所示,图2a展示室内环境图像的示意图,其为一图片;图2b展示从中获得的轮廓信息的示意图,其中灰色线展示的是主要直线,所述主要直线中有水平线,也有竖直线。

步骤s104:筛选各主要直线中的各水平线,以确定墙面所在方位。

于本发明的一实施例中,“消失点”,是空间中相互平行的透视线在画面上汇集到视平线上的交叉点,具有相同消失点的平行线可能是在同一墙面上的,并且形成同一消失点的最多数量的平行线最有可能是一墙面的。

据此,筛选各主要直线中的各水平线,以确定墙面所在方位,包括:按具有共同消失点的直线为一组,将各所述主要直线进行分类为多组,从而就可以筛除竖直线;进而,再选取其中包含主要直线最多的一组主要直线,从而确定墙面。

步骤s105:调整机器人的姿态至与所述墙面垂直。

于本发明的一实施例中,由于消失点是因为视角的关系引起,因此,调整机器人的姿态,令直所筛选出的一组(即包含水平线最多的一组)中的各主要直线在当前室内环境图像中显示为相互平行即可。

举例来说,在筛选出的一组确定属于同一墙面的主要直线中,属于同一消失点a的水平线a、b在室内环境图像中显示为有夹角,而机器人调整姿态后,当采集到的室内环境图像上,直线a、b间显示为平行,则说明当前机器人视角对应的所在位置是垂直于直线a、b所在的墙面的,从而完成机器人姿态的调整。

如图3所示,展示本发明的基于线特征识别的机器人姿态控制系统的实施例,该控制系统的原理与上述方法大致相同,故相同的技术方案不作重复赘述;所述系统包括:图像采集模块301,用于实时采集室内环境图像;图像处理模块302,用于从所述室内环境图像中提取物体的轮廓信息;所述图像处理模块302,用于从所提取的轮廓信息中提取其中的主要直线,所述主要直线的类型包括:水平或竖直直线;所述图像处理模块302,用于筛选各主要直线中的各水平线,以确定墙面所在方位;运动控制模块303,用于调整机器人的姿态至与所述墙面垂直。

需要说明的是,应理解图3实施例中装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,每个模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上接收模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。

例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(applicationspecificintegratedcircuit,简称asic),或,一个或多个微处理器(digitalsingnalprocessor,简称dsp),或,一个或者多个现场可编程门阵列(fieldprogrammablegatearray,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessingunit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。

为实现上述目的及其他相关目的,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如图1实施例所示的方法中的各步骤的功能。

需说明的是,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

为实现上述目的及其他相关目的,本发明提供一种计算机系统,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述计算机系统执行如图1实施例所示的方法中的各步骤的功能。

所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机系统的控制中心,利用各种接口和线路连接计算机系统的各个部分。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机系统的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

该计算机系统可以通过集成电路实现,而装载于所述机器人(例如扫地机器人)上。

综上所述,本发明的基于线特征识别的机器人姿态控制方法、系统及机器人,通过实时采集室内环境图像;从所述室内环境图像中提取物体的轮廓信息;从所提取的轮廓信息中提取其中的主要直线,所述主要直线的类型包括:水平或竖直直线;筛选各主要直线中的各水平线,以确定墙面所在方位;调整机器人的姿态至与所述墙面垂直;对室内环境图像进行特征识别来找到墙面,从而精确调整机器人的姿态,解决现有技术的问题。

本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

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