定位处理方法和装置与流程

文档序号:12904169阅读:158来源:国知局
定位处理方法和装置与流程

本发明涉及数据处理技术领域,尤其涉及一种定位处理方法和装置。



背景技术:

近年来,智能移动机器人在人类生活中扮演越来越重要的角色,在诸多领域得到广泛应用。而为了实现机器人的智能移动性,自主导航功能不可或缺。

机器人自主导航主要分为两大类:视觉导航系统与非视觉导航系统。前者是由视觉提取设备提取以「面」为单位的数据类型,检测范围广,能够获得大部分的环境信息。

当采用视觉导航系统时,视觉提取设备在机器人身上的安装过程中以及视觉提取设备出厂过程中都可能导致位置偏差的存在,比如理想情况下,视觉提取设备的应该平行于水平地面,而实际上却与水平地面呈现一定的角度偏差。这种偏差对于机器人位置的定位结果会产生不利影响,从而使得机器人的自主导航性能不佳,因此,需要预先获知这种偏差对定位的影响,以便提高机器人位置定位结果的准确性。



技术实现要素:

有鉴于此,本发明实施例提供一种定位处理方法和装置,用以准确获得机器人的视觉提取设备的定位偏差,以便可以提高机器人位置定位结果的准确性。

第一方面,本发明实施例提供一种定位处理方法,包括:

获取机器人在原地旋转过程中拍得的多张图片,所述多张图片中均包括相同的标志物;

确定所述多张图片各自的中心位置相对各自包含的标志物的第一坐标;

根据所述第一坐标和所述标志物在预设地图中的第二坐标,确定所述多张图片各自的中心位置在所述地图中对应的第三坐标;

根据所述多张图片各自的中心位置在所述地图中对应的第三坐标确定定位偏差。

第二方面,本发明实施例提供一种定位处理装置,包括:

第一获取模块,用于获取机器人在原地旋转过程中拍得的多张图片,所述多张图片中均包括相同的标志物;

第一确定模块,用于确定所述多张图片各自的中心位置相对各自包含的标志物的第一坐标;

第二确定模块,用于根据所述第一坐标和所述标志物在预设地图中的第二坐标,确定所述多张图片各自的中心位置在所述地图中对应的第三坐标;

第三确定模块,用于根据所述多张图片各自的中心位置在所述地图中对应的第三坐标确定定位偏差。

本发明实施例提供的定位处理方法和装置,为获得机器人的视觉提取设备的定位偏差,可以控制机器人在某位置处原地旋转,每转动一定角度通过视觉提取设备拍得一张包含有预设的标志物的图片,从而可以获得机器人在该位置处原地旋转过程中拍得的多张包含有相同的标志物的图片。进而,通过确定多张图片各自的中心位置相对各自包含的标志物的第一坐标,结合各第一坐标以及该标志物在预设地图中对应的第二坐标,可以确定多张图片各自的中心位置在地图中对应的第三坐标,该第三坐标即为机器人的视觉提取设备在不同旋转角度时对应的定位位置。当视觉提取设备安装或出厂时存在偏差时,各第三坐标将不尽相同,从而,根据各第三坐标可以准确地确定出机器人的视觉提取设备的定位偏差,以便基于该定位偏差来提高机器人位置定位结果的准确性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的定位处理方法实施例一的流程图;

图2为本发明实施例提供的预设地图的示意图;

图3为本发明实施例提供的确定拍得图片的中心位置相对于其中包含的标志物的坐标的原理示意图;

图4为本发明实施例提供的定位处理装置的结构示意图。

具体实施方式

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

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。

应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述xxx,但这些xxx不应限于这些术语。这些术语仅用来将xxx区分开。例如,在不脱离本发明实施例范围的情况下,第一xxx也可以被称为第二xxx,类似地,第二xxx也可以被称为第一xxx。

取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。

进一步值得说明的是,本发明各实施例中各步骤之间的顺序是可以调整的,不是必须按照以下举例的顺序执行。

图1为本发明实施例提供的定位处理方法实施例一的流程图,本实施例提供的该定位处理方法可以由一定位处理装置来执行,该定位处理装置可以集成设置在机器人中,或者也可以独立于机器人而设置在某管理平台中,该管理平台可以用于与机器人交互,以定位机器人的位置。如图1所示,该方法包括如下步骤:

101、获取机器人在原地旋转过程中拍得的多张图片,多张图片中均包括相同的标志物。

102、确定多张图片各自的中心位置相对各自包含的标志物的第一坐标。

103、根据第一坐标和标志物在预设地图中的第二坐标,确定多张图片各自的中心位置在地图中对应的第三坐标。

104、根据多张图片各自的中心位置在地图中对应的第三坐标确定定位偏差。

本发明实施例中假设机器人可以被应用于如下的场景中:在某室内场景中设置多个标志物,用于辅助进行机器人位置的定位。机器人上可以设置视觉提取设备,比如可以是摄像头。当机器人在行走的过程中,可以通过拍摄、识别周围存在的标志物,以根据预先设定的标志物在该室内场景中对应的位置信息确定机器人当前所处的位置。在一种简单的实现方式中,可以以拍得的一个标志物所对应的位置作为机器人当前所处的位置,或者,当拍得多个标识物时,也可以以多个标志物分别对应的位置所界定的中心作为机器人当前所处的位置。

上述举例的应用场景不是对本发明实施例提供的定位处理方法可以适用于的场景的唯一限定,主要是强调本发明实施例提供的定位处理方法所适用于的场景中需要满足:机器人上设置有视觉提取设备,场景中设置有多个用于辅助进行机器人定位的标志物。

其中,该标志物比如可以是二维码标签,也可以是其他具有容易识别的特定颜色、形状的图形,比如矩形图形。

另外,可以预先生成与应用场景对应的包含多个标志物的预设地图。具体地,可以预先生成与该应用场景对应的地图,该应用场景可以是室内场景也可以是室外场景。该地图中可以包含应用场景中的各物体的位置。并且,可以预先测得多个标志物分别对应的位置,该位置可以体现为在应用场景中被设置xyz三轴方向上的位置坐标。进而,根据各标志物的位置将各标志物标注在地图上,形成预设地图。

在一可选方式中,可以将多个标志物直接设置在天花板上,或者将多个标志物映射到天花板上,从而,上述预设地图可以是包含有该多个标志物的位置的天花板图像(天花板地图)。其中,上述映射是指将设置在比如地面、墙壁等非天花板处的标志物向天花板进行垂直映射,得到相应的位置。

如图2所示,图中示意的是包含abcdef六个标志物的预设地图,该预设地图中各标志物的坐标是根据预设坐标系确定的,该坐标系的坐标原点可以选自预设地图中的某参考点,该参考点比如可以是左下角顶点,该坐标系的z轴方向垂直于地面。假设该预设地图对应于某室内场景的天花板图像,则xy轴可以分别平行于天花板的边界。

基于上述应用场景的介绍,以视觉提取设备为摄像头为例,摄像头可以安装在机器人机身上的合适位置,比如,当在天花板上设置多个标志物时,可以将摄像头安装在机器人的头顶位置并调整摄像头的拍摄角度,使得摄像头的拍摄角度朝向天花板。理想情况下,摄像头的光轴应该是垂直于天花板的,但是实际中,由于安装误差等原因,可能导致摄像头安歪了,这对于机器人位置定位结果的准确性将会产生不利影响,因此,需要确定摄像头的定位偏差。

为此,可以控制机器人行走至合适的位置,即能够拍摄到标志物的位置。进而,控制机器人在该位置处原地旋转,每旋转一定角度即控制摄像头拍得一张包含有标志物的图片。在标志物设置在天花板的场景中,即为拍得多张天花板图像。由于机器人的位置并未发生改变,因此,拍得的多张图片中包含的标志物是相同的标志物,区别在于,由于在各旋转角度处,摄像头相对于该相同的标志物的拍摄角度可能有所不同,因此,该标志物在拍得的多张图片中对应的位置可能不同。一般地,标志物在拍得的各图片中的位置可以以标志物的中心位置来表征。

这里假设一共拍得了10张图片,如图3所示,图中示意的是拍得的10张图片中的任一图片,该任一图片中拍得的标志物为图2中所示的标志物e。

值得说明的是,实际应用中,也可以将摄像头设置在可旋转装置上,通过控制该可旋转装置控制摄像头旋转,没旋转一定角度或每隔一定时间,拍得一张图片。

在得到上述多张图片之后,针对每张图片,可以确定该图片的中心位置相对于其中包含的标志物的坐标,称为第一坐标。其中,图片的中心位置被视为是机器人上的视觉提取设备的位置,即被视为是机器人的位置。

可选地,以图3为例,在一种可选实现方式中,针对多张图片中的任一图片,可以先建立与该任一图片中的标志物e对应的第一坐标系x1oy1和第二坐标系x2oy2,其中第一坐标系x1oy1的坐标轴x1y1分别平行于标志物e的边框,第二坐标系x2oy2的坐标轴x2y2分别平行于该任一图片的边框,此时,标志物e为矩形图形,坐标原点o对应于标志物e的中心位置。进而,在第一坐标系x1oy1中,确定该任一图片的中心位置在第一坐标系中的第四坐标(x0,y0)。之后,根据第四坐标(x0,y0)和第一坐标系x1oy1与第二坐标系x2oy2的映射关系,确定该任一图片的中心位置相对任一图片中的标志物e的第一坐标(x1,y1),即定该任一图片的中心位置在第二坐标系中对应的位置。

图3中示意出了,第一坐标系x1oy1和第二坐标系x2oy2的映射关系主要体现为x1方向和x2方向呈现一定的夹角α。

那么,第一坐标(x1,y1)与第四坐标(x0,y0)的关系可以表现为:

x1=(x0-y0*tanα)*cosα;

y1=(x0-y0*tanα)*sinα+y0/cosα。

在另一种可选实现方式中,仍以图3为例,针对多张图片中的任一图片,可以直接建立与该任一图片对应的坐标系,该坐标系的坐标原点可以是该任一图片中的某个参考点,该参考点比如可以是该任一图片的左上角顶点,该坐标系的x方向坐标轴平行于该任一图片的长度边框,y方向坐标轴平行于该任一图片的宽度边框。此时,根据标志物e的中心位置和该任一图片的中心位置分别在该坐标系中对应的坐标,确定该任一图片的中心位置相对于其中包含的标志物e的坐标。

在基于上述过程确定出多张图片各自的中心位置相对各自包含的标志物e的第一坐标之后,可以根据多个第一坐标和该标志物e在预设地图中的第二坐标,确定多张图片各自的中心位置在预设地图中对应的第三坐标。

其中,任一图片中的标志物e在预设地图中的第二坐标是指标志物e在预设地图对应的第三坐标系中的坐标。前面已经说明了预设地图对应的第三坐标系的坐标原点可以是预设地图中的任一参考点,xyz坐标轴方向中,z轴垂直于地面,可选地,如图2所示,x轴可以指向预设地图的长度方向,y轴指向预设地图的宽度方向。而标志物e在预设地图中的第二坐标是被预先固定设置好的,因此,获得标志物e在预设地图中的第二坐标的过程其实就是识别拍得的图片中包含的是哪个标志物的过程。

从而,针对任一图片中包含的标志物e来说,根据该任一图片的中心位置相对于该标志物e的第一坐标和该标志物e在预设地图中的第二坐标,确定该任一图片的中心位置在预设地图中对应的第三坐标,具体包括:

识别该任一图片中的标志物e对应的第二坐标;

根据该任一图片的中心位置相对该任一图片中的标志物e的第一坐标和该第二坐标,以及第二坐标系与预设地图对应的第三坐标系的映射关系,确定该任一图片的中心位置在第三坐标系中对应的第三坐标。

可选地,当在设置标志物的同时,将标志物在预设地图中的坐标与该标志物一并关联设置时,比如在天花板上贴标志物的同时,将标志物在预设地图中的坐标也写在标志物表面,此时,可以直接通过识别拍得的图片来获得其中包含的标志物在预设地图中对应的坐标。

可选地,当标志物具体实现为二维码标签时,可以将标志物在预设地图中对应的坐标编码在二维码标签中,此时,机器人上的视觉提取设备包括二维码标签识别装置,用于解析获得拍得图片中包含的标志物在预设地图中对应的坐标。

可选地,还可以差异性设置各标志物,比如为各标志物设置不同的编号,编号与对应的标志物关联设置,比如写在对应的标志物表面。当识别出拍得的图片中标志物对应的编号时,基于预先存储的编号与标志物在预设地图中对应的坐标的对应关系,查询确定对应的坐标。

在一种理想的情况下,第二坐标系与预设地图对应的第三坐标系的映射关系可以体现为,第二坐标系的x2轴方向平行于第三坐标系的x轴方向,第二坐标系的y2方向平行于第三坐标系的y轴方向。

此时,以图3中示意的任一图片中的标志物e为例,假设标志物e在预设地图中对应的坐标为(x2,y2,z2),则该任一图片的中心位置在预设地图中对应的第三坐标为:

x3=x2+(x0-y0*tanα)*cosα;

y3=y2-(x0-y0*tanα)*sinα+y0/cosα;

z3=z2。

针对拍得的多张图片,都分别基于上述过程确定出每张图片的中心位置在预设地图中对应的第三坐标后,相当于是获得了机器人的多个位置坐标。进而,根据多张图片各自的中心位置在预设地图中对应的第三坐标中的x轴方向的最小值与最大值确定x轴方向定位偏差,根据多张图片各自的中心位置在预设地图中对应的第三坐标中的y轴方向的最小值与最大值确定y轴方向定位偏差。从而,由该x轴方向定位偏差和y轴方向定位偏差组成机器人的视觉提取设备的定位偏差。

举例来说,假设拍得10张图片,当基于上述过程得到每张图片的中心位置在预设地图中对应的第三坐标后,即在获得10个第三坐标后,针对这10个第三坐标中的10个x坐标值,计算最大x坐标值与最小x坐标值的差值,作为x轴方向定位偏差;针对这10个第三坐标中的10个y坐标值,计算最大y坐标值与最小y坐标值的差值,作为y轴方向定位偏差。

实际应用中,可选地,可以在初始使用机器人时,进行上述定位偏差的确定即可,后续在进行机器人位置的定位应用中,直接理解初始时确定的该定位偏差。另外,可选地,也可以定时触发上述定位偏差的确定,以避免在机器人使用过程中,由于意外情况导致机器人的视觉提取设备发生松动等对定位结果的影响。

可选地,在获得上述定位偏差之后,在机器人的正常使用过程中,当需要定位机器人的实际位置时,可以通过如下步骤实现:

获取定位到的机器人相对于预设地图的实际位置。

根据已获得的定位偏差修正实际位置。

其中,该修正的过程可以是在实际位置的基础上,加/减定位偏差,以获得最终的定位结果。

其中,上述实际位置的获取过程可以是:当触发机器人定位的操作指令时,控制机器人的视觉提取设备拍摄包含标志物的图片,比如对着天花板拍摄设置有标志物的图片。进而,可以参考前述第三坐标的确定过程获得拍得图片的中心位置在预设地图中的坐标,以此作为机器人的实际位置。值得说明的是,此时与前述第三坐标的确定过程不同的是,此时无需控制机器人以不同旋转角度原地旋转来拍得多张图片,而仅需在接收到上述操作指令时,控制机器人以当前的姿态拍得一幅图片即可。

综上,本发明实施例中,为获得机器人的视觉提取设备的定位偏差,可以控制机器人在某位置处原地旋转,每转动一定角度通过视觉提取设备拍得一张包含有预设的标志物的图片,从而可以获得机器人在该位置处原地旋转过程中拍得的多张包含有相同的标志物的图片。进而,通过确定多张图片各自的中心位置相对各自包含的标志物的第一坐标,结合各第一坐标以及该标志物在预设地图中对应的第二坐标,可以确定多张图片各自的中心位置在地图中对应的第三坐标,该第三坐标即为机器人的视觉提取设备在不同旋转角度时对应的定位位置。当视觉提取设备安装或出厂时存在偏差时,各第三坐标将不尽相同,从而,根据各第三坐标可以准确地确定出机器人的视觉提取设备的定位偏差,以便基于该定位偏差来提高机器人位置定位结果的准确性。

图4为本发明实施例提供的定位处理装置实施例一的结构示意图,如图4所示,该装置包括:第一获取模块11、第一确定模块12、第二确定模块13、第三确定模块14。

第一获取模块11,用于获取机器人在原地旋转过程中拍得的多张图片,所述多张图片中均包括相同的标志物。

第一确定模块12,用于确定所述多张图片各自的中心位置相对各自包含的标志物的第一坐标。

第二确定模块13,用于根据所述第一坐标和所述标志物在预设地图中的第二坐标,确定所述多张图片各自的中心位置在所述地图中对应的第三坐标。

第三确定模块14,用于根据所述多张图片各自的中心位置在所述预设地图中对应的第三坐标确定定位偏差。

可选地,所述第一确定模块12包括:建立单元121、第一确定单元122、第二确定单元123。

建立单元121,用于针对所述多张图片中的任一图片,建立与所述任一图片中的所述标志物对应的第一坐标系和第二坐标系,所述第一坐标系的坐标轴分别平行于所述标志物的边框,所述第二坐标系的坐标轴分别平行于所述任一图片的边框。

第一确定单元122,用于确定所述任一图片的中心位置在所述第一坐标系中的第四坐标。

第二确定单元123,用于根据所述第四坐标和所述第一坐标系与所述第二坐标系的映射关系,确定所述任一图片的中心位置相对所述任一图片中的所述标志物的第一坐标。

可选地,所述第二确定模块13包括:识别单元131、第三确定单元132。

识别单元131,用于识别所述任一图片中的所述标志物对应的第二坐标。

第三确定单元132,用于根据所述任一图片的中心位置相对所述任一图片中的所述标志物的第一坐标和所述第二坐标,以及所述第二坐标系与所述预设地图对应的第三坐标系的映射关系,确定所述任一图片的中心位置在所述第三坐标系中对应的第三坐标。

可选地,所述第三确定模块14具体用于:

根据所述多张图片各自的中心位置在所述预设地图中对应的第三坐标中的x轴方向的最小值与最大值确定x轴方向定位偏差,根据所述多张图片各自的中心位置在所述预设地图中对应的第三坐标中的y轴方向的最小值与最大值确定y轴方向定位偏差。

可选地,该装置还包括:第二获取模块15、修正模块16。

第二获取模块15,用于获取定位到的所述机器人相对于所述预设地图的实际位置。

修正模块16,用于根据所述定位偏差修正所述实际位置。

图4所示装置可以执行图1所示实施例的方法,本实施例未详细描述的部分,可参考对图1所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1所示实施例中的描述,在此不再赘述。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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