构建地图及定位方法、客户端、移动机器人及存储介质

文档序号:1145918 发布日期:2020-09-11 浏览:3次 >En<

阅读说明:本技术 构建地图及定位方法、客户端、移动机器人及存储介质 (Map construction and positioning method, client, mobile robot and storage medium ) 是由 不公告发明人 于 2020-04-16 设计创作,主要内容包括:本申请公开一种构建地图及定位方法、客户端、移动机器人及存储介质。其中,环构建地图的方法包括:从多个地图片段中选择利用第一构建地图方式而构建的第一地图片段和第二地图片段;其中,多个地图片段是利用至少一种构建地图方式而构建的,第一地图片段和第二地图片段是基于移动机器人所检测到的中断情况而被单独构建的;依据第一地图片段和第二地图片段中描述同一物理空间的两个地图位置的位姿偏差,将第一地图片段和第二地图片段融合成一个地图片段。本申请有效减少因中断情况的影响而使得移动机器人所构建的地图误差较大的问题;以及将单独构建的多个地图片段进行融合的方式实现了移动机器人将多个地图片段进行整合的目的。(The application discloses a map construction and positioning method, a client, a mobile robot and a storage medium. The method for constructing the map by the ring comprises the following steps: selecting a first map segment and a second map segment which are constructed by utilizing a first map construction mode from a plurality of map segments; wherein the plurality of map segments are constructed using at least one map construction approach, the first map segment and the second map segment being constructed separately based on the detected outage situation of the mobile robot; and fusing the first map segment and the second map segment into one map segment according to the pose deviations of the two map positions describing the same physical space in the first map segment and the second map segment. The method and the device effectively reduce the problem that the map constructed by the mobile robot has larger error due to the influence of the interruption condition; and the aim of integrating a plurality of map segments by the mobile robot is fulfilled by fusing a plurality of map segments which are constructed independently.)

构建地图及定位方法、客户端、移动机器人及存储介质

技术领域

本申请涉及计算机数据处理领域,具体的涉及一种构建地图及定位方法、客户端、移动机器人及存储介质。

背景技术

移动机器人是自动执行工作的机器装置。它既可以接受人类指挥,又可以运行预先编排的程序,也可以根据以人工智能技术制定的原则纲领行动。这类移动机器人可用在室内或室外,可用于工业或家庭,可用于取代保安巡视、取代人们清洁地面,还可用于家庭陪伴、辅助办公等。受不同移动机器人所应用的领域差别,各领域所使用的移动机器人的移动方式有所差异,例如,移动机器人可采用轮式移动、行走式移动、链条式移动等。随着移动机器人的移动技术的更新迭代,利用传感器所提供的移动信息进行即时定位与地图构建(简称SLAM),以便为移动机器人提供更精准的导航能力,使得移动机器人能更有效地自主移动。然而,以扫地机器人为例,滚轮在不同材质的地面上移动所能行进的距离并不相同,这使得SLAM技术在该领域中所构建的地图与实际物理空间的地图可能出现较大差异。

发明内容

鉴于以上所述相关技术的缺点,本申请的目的在于提供一种构建地图及定位方法、客户端、移动机器人及存储介质,用以克服上述相关技术中存在的移动机器人通过移动测量而构建的地图与实际物理空间之间具有较大误差的技术问题。

为实现上述目的及其他相关目的,本申请公开的第一方面提供一种构建地图的方法,用于处理移动机器人所构建的多个地图片段,所述方法包括:从多个地图片段中选择利用第一构建地图方式而构建的第一地图片段和第二地图片段;其中,所述多个地图片段是利用至少一种构建地图方式而构建的,所述第一地图片段和第二地图片段是基于移动机器人所检测到的中断情况而被单独构建的;依据所述第一地图片段和第二地图片段中描述同一物理空间的两个地图位置的位姿偏差,将所述第一地图片段和第二地图片段融合成一个地图片段。

在本申请第一方面的某些实施方式中,所述多个地图片段中还包括利用第二构建地图方式而构建的第三地图片段;其中,所述第三地图片段起始于第一地图片段的终点位置,以及第三地图片段结束于所述第二地图片段的起点位置。

在本申请第一方面的某些实施方式中,所述中断情况包括以下至少一种:因外力干预而使得移动中断的情况、因所述第一构建地图方式所需的数据缺失而使得地图片段构建中断的情况、或者因所产生的控制指令的干预而使得移动中断的情况。

在本申请第一方面的某些实施方式中,所述从多个地图片段中选择利用第一构建地图方式而构建的第一地图片段和第二地图片段的步骤包括:在所述第二地图片段构建完成之前,从所述多个地图片段中选择此前所构建的第一地图片段;或者从所述多个地图片段中选择已构建完成的第一地图片段和第二地图片段,其中,所述第二地图片段是在所述第一地图片段之后构建的。

在本申请第一方面的某些实施方式中,所述从多个地图片段中选择利用第一构建地图方式而构建的第一地图片段和第二地图片段的步骤包括:依据各地图片段的邻接关系从多个地图片段中选择与第二地图片段最近的第一地图片段。

在本申请第一方面的某些实施方式中,所述邻接关系通过依照构建顺序而检测至少两个地图片段的重叠情况而确定;和/或所述邻接关系通过检测至少两个地图片段中的图像匹配情况而确定。

在本申请第一方面的某些实施方式中,所述将第一地图片段和第二地图片段融合成一个地图片段的步骤包括:根据所述位姿偏差拼接第一地图片段和第二地图片段以得到新的地图片段。

在本申请第一方面的某些实施方式中,所述根据位姿偏差拼接第一地图片段和第二地图片段以得到新的地图片段的步骤包括:根据所述第一地图片段和第二地图片段中描述同一物理空间的两个地图位置的位姿偏差将所述第二地图片段和所述第一地图片段进行对齐;根据对齐后的第一地图片段和第二地图片段更新所述第一地图片段中的地图数据,以拼接成所述新的地图片段。

在本申请第一方面的某些实施方式中,所述根据第一地图片段和第二地图片段中描述同一物理空间的两个地图位置的位姿偏差将所述第二地图片段和所述第一地图片段进行对齐的步骤包括:根据所述第一地图片段和第二地图片段中相匹配的图像特征对在各地图片段中的各地图位置确定所述位姿偏差;根据所述位姿偏差,对所述第二地图片段进行旋转变换、平移变换、或缩放变换中的至少一种,以对齐所述第二地图片段和所述第一地图片段。

在本申请第一方面的某些实施方式中,所述将第一地图片段和第二地图片段融合成一个地图片段的步骤包括以下至少一种:去除新的地图片段中的冗余信息;更新所述新的地图片段中与定位相关的信息。

在本申请第一方面的某些实施方式中,所述将第一地图片段和第二地图片段融合成一个地图片段的步骤包括:将在后构建的第二地图片段融合到在先构建的第一地图片段中以得到融合后的地图片段。

在本申请第一方面的某些实施方式中,所述第二构建地图方式是利用所述移动机器人的移动数据构建地图片段的方式。

在本申请第一方面的某些实施方式中,所述构建地图的方法还包括:根据融合后的地图片段修正所述第三地图片段。

在本申请第一方面的某些实施方式中,所述构建地图的方法还包括:将融合后的地图片段归入所述多个地图片段中,以供从所述多个地图片段中选取新的第一地图片段和第二地图片段并执行所述将第一地图片段和第二地图片段融合成一个地图片段的操作。

在本申请第一方面的某些实施方式中,所述构建地图的方法还包括:将所述多个地图片段、和/或融合后的地图片段发送至客户端,以供客户端显示。

本申请第二方面提供一种定位方法,用于移动机器人,包括:获取移动机器人的摄像装置所拍摄的图像;根据预存储的至少一个地图片段中与定位相关的信息,确定所述图像中的图像特征在其中地图片段中的地理位置信息;根据所确定的图像特征的地理位置信息,确定所述移动机器人拍摄所述图像的地理位置信息;其中,所述至少一个地图片段包括:利用如第一方面中任一所述的构建地图的方法而构建的地图片段,和/或基于移动机器人所检测到的中断情况而被单独构建的地图片段。

本申请第三方面提供一种移动机器人的控制系统,包括:接口装置,用于与客户端通信连接;存储装置,存储至少一种程序,以及存储所构建的多个地图片段;其中,所述多个地图片段包括第一地图片段和第二地图片段;处理装置,与所述存储装置和接口装置相连,用于执行所述至少一种程序,以协调所述存储装置和接口装置执行如第一方面任一所述的构建地图的方法,和/或执行如第二方面所述的定位方法。

本申请第四方面提供一种移动机器人,包括:接口装置,用于与客户端通信连接;存储装置,存储至少一种程序,以及存储所构建的多个地图片段;其中,所述多个地图片段包括第一地图片段和第二地图片段;移动装置,用于受控执行移动操作;处理装置,与所述存储装置、接口装置、和移动装置相连,用于执行所述至少一种程序,以协调所述存储装置、接口装置、和移动装置执行如第一方面中任一所述的构建地图的方法,和/或执行如第二方面所述的定位方法。

本申请第五方面提供一种客户端,包括:接口模块,用于与移动机器人通信连接,以获取多个地图片段;其中,所述多个地图片段是利用至少一种构建地图方式而构建的,所述多个地图片段中包含基于移动机器人所检测到的中断情况而被单独构建的地图片段;显示模块,用于按照片段显示规则区分显示所述多个地图片段。

在本申请第五方面的某些实施方式中,所述片段显示规则包括以下至少一种:将各地图片段逐渐填充显示得规则、利用不同的显示颜色显示所述多个地图片段的规则。

在本申请第五方面的某些实施方式中,所显示的地图片段为移动机器人正在构建的地图片段、尚未合成的地图片段、或经合成的地图片段。

在本申请第五方面的某些实施方式中,所述显示模块还用于根据所获取的多个地图片段中的融合变化刷新所显示的多个地图片段。

在本申请第五方面的某些实施方式中,所述客户端还包括:构建模块,用于从多个地图片段中选择利用第一构建地图方式而构建的第一地图片段和第二地图片段;以及依据所述第一地图片段和第二地图片段中描述同一物理空间的两个地图位置的位姿偏差,将所述第一地图片段和第二地图片段融合成一个地图片段;对应地,所述显示模块按照片段显示规则显示包含融合后的地图片段的各地图片段。

本申请第六方面提供一种计算机可读存储介质,其特征在于,存储至少一种程序,所述至少一种程序在被调用时执行并实现如第一方面任一所述的构建地图的方法,和/或执行如第二方面所述的定位方法。

综上所述,本申请的构建地图的方法、客户端、移动机器人及存储介质,采用根据中断情况单独构建多个地图片段的方式,有效减少因中断情况的影响而使得移动机器人所构建的地图误差较大的问题;以及,将单独构建的多个地图片段进行融合的方式实现了移动机器人将多个地图片段进行整合的目的,这也有利于移动机器人利用所得到的地图片段进行定位操作,以供移动机器人快速确定自己在物理空间中的位置;另外,将移动机器人所构建的地图片段、融合的地图片段发送至客户端,以供其展示给用户,有利于用户通过查看所构建的以及融合后的各地图片段。

本领域技术人员能够从下文的详细描述中容易地洞察到本申请的其它方面和优势。下文的详细描述中仅显示和描述了本申请的示例性实施方式。如本领域技术人员将认识到的,本申请的内容使得本领域技术人员能够对所公开的

具体实施方式

进行改动而不脱离本申请所涉及发明的精神和范围。相应地,本申请的附图和说明书中的描述仅仅是示例性的,而非为限制性的。

附图说明

本申请所涉及的发明的具体特征如所附权利要求书所显示。通过参考下文中详细描述的示例性实施方式和附图能够更好地理解本申请所涉及发明的特点和优势。对附图简要说明书如下:

图1显示为本申请移动机器人的硬件结构示意图在一实施例中的流程图。

图2显示为本申请控制系统在不停止移动的情况下受到两次中断情况而构建的三个地图片段的示意图。

图3显示为本申请控制系统在移动期间受到一次中断情况而构建的两个地图片段。

图4显示为本申请第一地图片段和第二地图片段具有相邻关系的示例。

图5显示为本申请构建地图的一种实施方式的方法的流程图。

图6显示为本申请定位方法的一种实施方式的流程图。

图7显示为本申请客户端在一实施方式中的架构示意图。

具体实施方式

以下由特定的具体实施例说明本申请的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本申请的其他优点及功效。

在下述描述中,参考附图,附图描述了本申请的若干实施例。应当理解,还可使用其他实施例,并且可以在不背离本公开的精神和范围的情况下进行模块或单元组成、电气以及操作上的改变。下面的详细描述不应该被认为是限制性的,并且本申请的实施例的范围仅由公布的专利的权利要求所限定。这里使用的术语仅是为了描述特定实施例,而并非旨在限制本申请。

虽然在一些实例中术语第一、第二等在本文中用来描述各种元件、信息或参数,但是这些元件或参数不应当被这些术语限制。这些术语仅用来将一个元件或参数与另一个元件或参数进行区分。例如,第一地图片段可以被称作第二地图片段,并且类似地,第二地图片段可以被称作第一地图片段,而不脱离各种所描述的实施例的范围。第一地图片段和第二地图片段均是在描述一个地图片段,但是除非上下文以其他方式明确指出,否则它们不是同一个地图片段。取决于语境,比如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”。

再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。

对移动机器人来说,采用SLAM技术构建地图受地面材质影响造成移动机器人的移动传感器测量误差。在一些实施例中,移动机器人配置有摄像装置,当移动机器人基于移动任务在物理空间内移动期间,其通过对所拍摄的不同位置的各图像进行视觉定位分析以实现连续定位,利用连续定位移动机器人构建出至少移动轨迹所对应的物理空间的地图片段,当移动机器人继续移动并完成移动任务时,将所述地图片段完善成对应移动轨迹的物理空间的地图。其中,采用摄像装置进行视觉定位的方式又称为VSLAM,其利用移动机器人在移动期间所拍摄的至少一幅图像中至少一个图像特征(通常不少于4个)在相应图像中的像素位置与移动机器人与位于物理空间中对应图像特征的位置点之间的映射关系,来计算移动机器人在移动期间在物理空间中的位置信息。利用VSLAM技术累积各位置关系能够构建出对应移动轨迹的物理空间的地图。该方式虽然有效改进了SLAM技术中移动机器人与地面摩擦所带来的误差问题,然而,受环境光线影响,当移动机器人不足以从起拍摄的图像中提取足够的图像特征时,移动机器人仍需要SLAM方式构建地图。这使得移动机器人历次构建的地图误差较大。当移动机器人重复利用带有较大误差的地图时,移动机器人无法精准地执行导航、重定位等移动操作。

为了提高移动机器人在复杂环境下所构建的地图的精度问题,本申请提供一种构建地图的方式。其中,复杂环境举例为物理空间中的环境光线在不同时段/不同位置不具备稳定性,例如,客厅供人走动的地方光线较亮以及茶几/沙发下的光线较暗。复杂环境还举例为移动机器人在移动期间所接触的移动平面(如地面)的材质不具备单一性,例如,客厅的地面材质包括瓷砖和地毯。

需要说明的是,上述复杂环境不仅为家庭环境等私人环境,还可以是移动机器人可移动的任意环境,如仓储环境、园区环境、机场/火车站等公共环境。在不同环境下的移动机器人可以执行不同的任务,为此,所述移动机器人举例为清洁机器人、物流机器人、配送机器人等。

请参阅图1,其显示为移动机器人的硬件结构示意图。所述移动机器人1至少包括:存储装置11、移动装置12、摄像装置13、和处理装置14,所述移动机器人还可以包括接口装置15。

其中,存储装置11存储至少一种程序。所述存储装置11包括至少一个存储器。在实施例中,所述存储器可包括高速随机存取存储器,并且还可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。在某些实施例中,存储器还可以包括远离一个或多个处理器的存储器,例如经由RF电路或外部端口以及通信网络访问的网络附加存储器,其中所述通信网络可以是因特网、一个或多个内部网、局域网、广域网、存储局域网等,或其适当组合。所述存储装置还包括存储器控制器。存储器控制器可控制移动机器人中的诸如CPU和外设接口之类的其他组件对存储器的访问。

处理装置14用于执行所述至少一种程序,以协调所述存储装置11和移动装置12执行一边移动一边构建地图的操作。

所述处理装置14包括至少一个处理器,且至少一个处理器与所述至少一个存储器连接,用于运行所述至少一个程序时以执行并实现构建地图的方法所描述的至少一种实施例。在实施例中,所述处理器可操作地与存储器和/或非易失性存储设备耦接。更具体地,处理器可执行在存储器和/或非易失性存储设备中存储的指令以在计算设备中执行操作,诸如生成图像和/或将图像传输到电子显示器。如此,处理器可包括一个或多个通用微处理器、一个或多个专用处理器、一个或多个现场可编程逻辑阵列、或它们的任何组合。

其中,移动装置12用于驱动移动机器人整体移动,其在处理装置的控制下执行移动操作。在一实施例中,所述移动装置12包括驱动控制装置和至少两个滚轮组。其中,所述至少两个滚轮组中的至少一个滚轮组为受控滚轮组。所述驱动控制装置与所述处理装置相连,所述驱动控制装置基于所述处理装置输出的控制指令驱动所述受控滚轮组滚动。

所述驱动控制装置包含驱动电机。所述驱动电机与所述滚轮组相连用于直接驱动滚轮组滚动。所述驱动控制装置还可以包含专用于控制驱动电机的一个或多个处理器(如CPU或微处理单元(MCU))。例如,所述微处理单元用于将所述处理装置输出的控制指令转化为对驱动电机进行控制的电信号,并根据所述电信号控制所述驱动电机的转速、转向等以驱动清洁机器人移动。所述驱动控制装置中的处理器可以和所述处理装置中的处理器共用或可独立设置。例如,所述驱动控制装置中的处理器作为从处理设备,所述处理装置中的处理器作为主设备,驱动控制装置基于处理装置的控制进行移动控制。或者所述驱动控制装置中的处理器与所述处理装置中的处理器相共用。驱动控制装置通过程序接口接收处理装置所输出的控制指令。所述驱动控制装置基于所述处理装置输出的控制指令驱动所述受控滚轮组滚动。

所述摄像装置13用于在移动机器人移动期间拍摄至少一幅图像,所拍摄的图像至少用于构建地图。

在一些实施例中,所述摄像装置13包括但不限于:照相机、视频摄像机、集成有光学系统或CCD芯片的摄像模块、以及集成有光学系统和CMOS芯片的摄像模块等。根据实际成像的需求,所述摄像机或视频摄像机可以采用的镜头包括但不限于:标准镜头、远摄镜头、鱼眼镜头、以及广角镜头等。

所述接口装置15用于提供与外部设备进行数据通信的功能。其中,所述外部设备包括但不限于以下至少一种:云服务器系统、个人用的智能终端、安防联动用的监控终端、其他移动机器人等;还包括但不限于:用于扩充所述移动机器人运行能力、读取权限等相关的外置设备,例如,U盘、U盾等。所述接口装置举例但不限于以下至少一种:无线网络接口、串行接口等。其中,无线网络接口举例为:用于接入如WiFi等无线局域网络的网络接口、用于接口移动网络等的网络接口。所述串行接口举例为符合USB、RS232等串行标准的接口。例如,所述接口装置与用户的手机通信,以将所构建的地图片段发送至所述手机侧,如此,用户可以查看所构建的至少一个地图片段。

除了上述示例所描述的硬件装置,所述移动机器人还包括多种传感装置(未予图示),例如包括:用于检测碰撞的碰撞传感器、用于检测周边障碍的测距传感器/深度传感器、用于检测移动装置移动的位移传感器/转动脉冲传感器/速度传感器、用于检测移动装置移动的转角(或称姿态)的角度传感器、用于检测移动机器人行进前方地面悬空的悬崖传感器(又称为地检传感器)、用于检测碰撞的碰撞传感器(如压力传感器等)等。各所述传感装置和摄像装置构成移动机器人感测移周边环境并获取相应感知数据的数据获取系统。对应的,所述感知数据包括但不限于:视觉数据、感应数据等。所述视觉数据举例包括图像、深度图等。所述感应数据举例包括:用于表示移动装置移动的移动数据、用于表示移动机器人与障碍物之间相对位置关系的测量数据、用于表示移动机器人行进方向的危险警示的警示数据等。所述移动数据举例为移动机器人(或称为移动机器人的移动装置)在两位置之间移动的位移数据和角度数据。测量数据举例如移动机器人与障碍物之间距离数据和方向数据。警示数据举例为碰撞数据、悬空数据等。

移动机器人的处理装置14通过调用至少一个程序来协调移动装置12、存储装置11、数据获取系统(未予图示)、和接口装置14等执行本申请所提供的构建地图的方案。其中。处理装置利用数据获取系统所能提供的感应数据和视觉数据中的至少一种,对移动装置12的移动控制的软件和硬件构成所述移动机器人的控制系统,该控制系统通过执行本申请的构建地图的方法来实现获取移动机器人所移动的物理空间的地图的目的。在此,为便于描述,处理装置协调移动机器人的各硬件装置执行构建地图方法的各步骤,又称为所述控制系统执行所述构建地图方法的过程。

在本申请所提供的示例中,所述控制系统依据所述数据获取系统所能提供的感应数据和视觉数据中的至少一种且按照一种或多同种构建地图的方式进行地图构建。

在一些示例中,若控制系统能够提供一种构建地图的方式,则在移动机器人移动期间,控制系统依据在所获取的数据满足所述构建地图方式的需要时,按照所述构建地图的方式进行地图构建,以及在所获取的数据不满足所述构建地图方式的需要时,不予按照所述构建地图的方式进行地图构建,此时,所述控制系统将在所获取的数据满足所述构建地图方式的需要时所构建的地图作为一地图片段予以保存。

在又一些示例中,若控制系统能够提供两种构建地图的方式,则在移动机器人移动期间,控制系统依据在所获取的数据满足其中的一种构建地图方式的需要时,按照相应一种构建地图的方式进行地图构建,以及在所获取的数据满足其中的另一种构建地图方式的需要时,按照相应另一种构建地图的方式进行地图构建,此时,所述控制系统将分别按照第一构建地图方式和按照第二构建地图的方式所构建的地图分为不同地图片段予以保存。

按照上述各示例描述,本申请所指的一种构建地图的方式是为构建一个地图片段而采用的计算机处理方式。

其中,为构建一个地图片段而采用的构建地图的方式举例如下:例如,在一次移动期间,控制系统能够稳定获取构建地图所需的视觉数据和感应数据,以及利用视觉数据和感应数据采用同样的数据处理方式构建一个地图片段。

以基于VSLAM技术而构建地图的方案为例,在一些实施方式中,所述控制系统将采用一种构建地图方式进行地图构建时移动机器人所在的起始位置与所构建的地图片段的起始坐标位置相对应,利用在移动机器人当前移动期间的不同位置所获取的视觉数据和感应数据进行定位操作,利用不断迭代的定位操作构建在该次移动期间的地图片段。

其中,在一些实施例中,所述定位操作举例为采用公开号为CN107907131A、或CN109643127A等定位方案而执行的定位操作,并全部引用于此。

在另一些实施例中,所述定位操作还可以举例采用如下方式:在移动期间,所述控制系统所能处理的数据至少包括取当前图像,控制系统确定第一图像与当前图像相匹配的第一图像特征对集,以及确定当前图像与第二图像中相匹配的至少一对第二图像特征对集;其中,所述第一图像、第二图像、及当前图像为在不共线的三个拍摄位置拍摄得到的;根据所述第一图像特征对集在所述第一图像和当前图像中的位置关系,所述第二图像特征对集在第二图像和当前图像中的位置关系,以及所述第一图像与第二图像对应的拍摄位置在所述物理空间的空间坐标系中的坐标信息之间的位置关系,确定所述移动机器人的当前位置的坐标信息。其中,所述第一图像和第二图像可以是在所述移动机器人的摄像装置在当前移动期间的不同位置所拍摄的图像,也可以是在历次中的某次移动期间所拍摄的图像。对应的,所述第一图像与第二图像各自对应的拍摄位置在所述物理空间的空间坐标系中的坐标信息之间的位置关系(简称两个拍摄位置之间的位置关系)可以是由当前移动期间的移动数据所测得,或者由历次中的某次移动期间的移动数据所测得。

在又一些实施例中,所述定位操作还可以举例采用如下方式:在移动机器人移动期间,所述控制系统所能处理的数据包括图像和测量数据,其中,所述测量数据为对应于所述图像中至少一像素单元在室内空间的深度信息。例如,所述深度信息为测量移动机器人至所述室内空间的顶部区域的距离信息和方位信息。所述控制系统获取来自所述摄像装置在不同位置所分别摄取的第一图像和第二图像;其中,在所述第二图像的像素单元内具有与所述第一图像中第一图像特征相匹配的第二图像特征,所述第一图像特征与第二图像特征之间构成图像特征对;依据当前的空间尺度参数、以及所述图像特征对在所述第一图像和第二图像中的像素位置偏移量,确定所述移动设备在所述不同位置之间的位置变化信息。

以基于SLAM技术而构建地图的方案为例,在一些实施方式中,所述控制系统将采用一种构建地图方式进行地图构建时移动机器人所在的起始位置与所构建的地图片段的起始坐标位置相对应,在移动机器人移动期间,所述控制系统能够处理的数据包括移动数据、测量数据等,所述控制系统利用移动数据测量在移动期间所途径的各位置与起始位置之间的位置关系,以及利用测量数据测量在移动期间各障碍物相距所途径的各位置的位置关系,并依据在移动期间所测得的各位置关系构建一个地图片段。

需要说明的是,利用一种构建地图的方式所得到的地图片段可以是采用上述任一种示例而得到的;或者根据其中至少两个定位示例并进行定位纠正后得到的;再或者其他基于SLAM或VSLAM技术而得到的。

还需要说明的是,为兼容描述地图片段的数据结构,所述一种构建地图的方式还可以是是根据描述地图片段的数据结构的种类而区分的。其中,所述数据结构为根据构建地图的方式所需的数据及所能输出的数据而确定的用于描述地图片段的数据规则。例如,所述数据结构包括:按照单位栅格而设置的矢量数据,以及移动机器人在移动期间所拍摄的图像及其拍摄位置、图像特征及其在不同图像中的像素位置等。又如,所述数据结构包括:按照单位栅格而设置的矢量数据,以及移动机器人在移动期间探测到的与障碍物之间的位置信息等。技术人员依据上述各示例所提供的不同的数据结构,确定控制系统采用了不同种类的构建地图的方式。

在一些具体实施中,当依据数据获取系统所提供的数据而使得控制系统从基于VSLAM技术而设计的构建地图的方式A切换为基于VSLAM技术而设计的构建地图的方式B,并且该构建地图的方案A和B均以相同的数据结构描述地图片段时,技术人员可以认为控制系统所提供的一种构建地图的方式包括方式A和方式B。例如,若采用包含如CN107907131A的定位方案而构建地图的方式所生成的地图片段的数据结构,与采用包含如CN109643127A的定位方案而构建地图的方式所生成的地图片段的数据结构相同,则对于所生成的同一地图片段来说,控制系统所使用的一种构建地图的方式包括:连续采用包含如CN107907131A的定位方案而构建地图的方式和采用包含如CN109643127A的定位方案而构建地图的方式。

在另一些具体示例中,所述第一构建地图方式和第二构建地图方式均为基于VSLAM技术/SLAM技术而设计的不同方案,例如,第一构建地图方式为采用包含如CN107907131A的定位方案而构建地图的方式;第二构建地图方式为采用包含如CN109643127A的定位方案而构建地图的方式。

在另一些具体地示例中,所述第一构建地图方式和第二构建地图方式可以分别基于VSLAM技术和SLAM技术而设计的不同方案,例如,第一构建地图方式为采基于VSLAM技术而设计的构建地图的方式;第二构建地图方式为基于SLAM技术而设计的构建地图的方式。

在又一些具体地示例中,所述第一构建地图方式表示采用第一种数据结构生成地图片段的方式,第二构建地图方式表示采用第二种数据结构生成地图片段的方式,其中,第一种数据结构和第二种数据结构不具兼容性。

为了便于描述,下述各步骤中所提到的第一构建地图方式和第二构建地图方式是按照相同数据结构而构建地图片段的构建地图方式进行区分的,该种区分方式的好处在于提高控制系统融合多个地图片段的能力。

上述各示例所描述的地图片段不仅描述了移动机器人在移动期间所途径的路径以及沿途所得到的障碍物的地理位置关系,还在地图片段上标记了用于标识地理位置的定位信息及其对应的地理位置信息(如坐标数据)。所述定位信息举例为图像中的图像特征、或深度数据特征等。所述定位信息举例为图像/感应数据中得到的反映障碍物的轮廓特征、角特征、点特征、线特征等。

当所述控制系统检测到中断情况时,将利用一种构建地图方式所构建的地图片段作为单独的地图片段予以保存。

其中,所述中断情况是指在移动机器人一次移动操作期间使控制系统无法利用当前所使用的构建地图方式而执行地图构建操作的事件(event)/指令(instruction)/中断(interrupt)等。所述中断情况举例包括以下任一种:因外力干预而使得移动中断的情况、因第一构建地图方式所需的数据缺失而使得地图片段构建中断的情况、或者因所产生的控制指令的干预而使得移动中断的情况。

其中,因外力干预而使得移动中断的情况主要指控制系统根据数据获取系统所提供的数据确认移动机器人在移动期间的移动路径、或者所移动的物理空间不是在其内部控制机制的控制下而发生变化的情况。例如,当用户(或宠物)强制移动机器人更改移动方向时,所述控制系统检测到所获取的移动机器人的姿态信息与所发出的移动指令不符,则确定产生中断情况。再如,当用户将移动机器人从A房间抱到B房间时,所述控制系统检测到产生悬空数据的时长超出预设的警戒时长阈值,则确定产生中断情况。当产生中断情况时,控制系统将此前所构建的地图片段作为一单独的地图片段。

其中,因第一构建地图方式所需的数据缺失而使得地图片段构建中断的情况。其中,所述第一构建地图方式所需的数据是指控制系统为执行第一构建地图方式需由数据获取系统提供的数据。在此,为确保后续步骤的执行有利于提高所构建的地图的精准度,所述第一构建地图方式为基于VSLAM技术而设计的构建地图的方案。当所需数据缺失时,控制系统产生中断情况并将此前所构建的地图片段作为一单独的地图片段。

在一些示例中,所述第一构建地图方式所需的数据为在第一构建地图方式运行时数据获取系统所提供的必要数据。以第一构建地图方式为构建地图方式A为例,若第一构建地图方式所需的数据包括在移动期间数据获取系统所提供的图像和移动数据,则当控制系统未能获取移动数据时,控制系统确定地图片段MAP0构建中断,由此得到单独的地图片段MAP0。

在另一些示例中,所述第一构建地图方式所需的数据为在第一构建地图方式运行时从数据获取系统所提供的充足数据中选取的数据。以第一构建地图方式为按照同一数据结构利用构建地图方式A或B构建地图片段的方式为例,其中,构建地图方式A所需的数据包括在移动期间数据获取系统所提供的图像和移动数据,以及构建地图方式B所需的数据包括在移动期间数据获取系统所提供不同位置的多幅图像;当控制系统以图像和移动数据作为输入数据时,采用第一构建地图方式中的构建地图方式A执行地图构建生成地图片段MAP1并随移动机器人的移动路径逐渐拓展;当控制系统无法获取移动数据时,控制系统采用第一构建地图方式中不同位置所拍摄的多幅图像为输入数据来执行构建地图方式B,并继续拓展所述地图片段MAP1;当控制系统无法获取图像时,控制系统无法依据数据获取系统所提供的其他数据执行第一构建地图方式中的构建方式A或B,即中断构建地图片段MAP1,由此得到单独的地图片段MAP1。

其中,因所产生的控制指令的干预而使得移动中断的情况主要指控制系统根据所接收的控制指令而产生使移动机器人当前的移动路径、或移动方式发生改变的情况。换言之,所述控制指令用来使移动机器人中断当前所执行的移动操作转而执行与所述控制指令相关的移动操作。当产生控制指令时,控制系统将此前所构建的地图片段作为一单独的地图片段。例如,控制系统基于所述控制指令从构建地图的移动操作转为执行一导航路线而确定的移动操作,控制系统则将此前所构建的地图片段作为一单独的地图片段,其中,所述导航路线为利用已构建的至少一个地图片段而规划得到的。

其中,所述控制指令举例产生于以下任一种情况:通过对数据获取系统所提供的各数据进行识别分析得到的,通过移动机器人的电源管理系统所提供的电源管理数据进行分析得到的,或者基于外部设备的控制操作而获取的。所述控制指令举例但不限于:包括移动方向/移动距离的控制指令,与移动机器人所能提供的功能相关的控制指令等。其中,包括移动方向/移动距离的控制指令举例包括:控制系统识别图像中人的手势/姿态以得到包含调整移动方向的控制指令,或者控制系统监听接口装置以获得与改变移动路线相关的控制指令等。与移动机器人所能提供的功能相关的控制指令举例如下:例如,移动机器人为清洁机器人,其与移动机器人所能提供的功能相关的控制指令包括根据检测到集尘箱的集尘量而产生到指定位置倾倒垃圾的控制指令,根据检测到的储水箱的水位过低而产生到指定位置补水的控制指令;又如,移动机器人为仓储搬运机器人,其与移动机器人所能提供的功能相关的控制指令包括根据所获取的包裹地址变更信息而产生的更改放置位置的控制指令等。与移动机器人所能提供的功能相关的控制指令还可以与移动机器人的电源管理系统所提供的电源管理数据相关;例如,控制系统根据电源管理系统所提供的电池剩余电量数据而产生回充移动的控制指令。

若移动机器人仅能够提供第一构建地图方式,则依据控制系统所检测到的中断情况,其得到利用第一构建地图方式而单独构建的多个地图片段。若移动机器人能够至少提供第一构建地图方式和第二构建地图方式,则依据控制系统所检测到的中断情况,其得到分别利用第一构建地图方式和第二构建地图方式而单独构建的多个地图片段。在一些实际应用中,利用第二构建地图方式所构建的地图片段的精准度低于利用第一构建地图方式所构建的地图片段,例如所述第二构建地图方式为基于SLAM技术而设计的构建地图方式;第一地图构建方式为基于VSLAM技术而设计的构建地图方式。

需要说明的是,所述移动机器人所能提供的构建地图的方式还可以更多,以便适应更为复杂的物理空间。按照上述各示例的描述,在移动期间若检测到多个中断情况,控制系统可在不停止移动的情况下在不同种类的构建地图方式之间切换,以生成多个单独的地图片段。

其中,所生成的单独的地图片段之间至少具有构建先后顺序的关联关系。例如,控制系统从开始执行移动操作时开始,依据产生中断情况的顺序依次构建多个单独的地图片段。

在一些示例中,所生成的单独的两个地图片段还具有起点位置/终点位置首尾相接的关联关系。例如,控制系统从开始执行移动操作时开始,以产生中断情况之前的地图片段的终点位置为产生中断情况之后的地图片段的起点位置。在一些具体示例中,当依据中断情况而采用不同种类构建地图方式时,各地图片段首尾相连。例如,请参阅图2,其显示为控制系统在不停止移动的情况下受到两次中断情况而构建的三个地图片段的示意图,其中,实线为简易的各地图片段中描述的移动机器人的路径,虚框用于表示单独地图片段,如图所示,控制系统从移动的起始点位置P0处开始采用第一构建地图方式而构建地图片段MAP_a,当产生第一中断情况时,控制系统从地图片段MAP_a的终点位置P1处开始采用第二构建地图方式而构建地图片段MAP_b,当产生第二中断情况时,控制系统从地图片段MAP_b的终点位置P2处开始采用第一构建地图方式而构建地图片段MAP_c直至移动终点位置P3。其中,所述第一中断情况举例为控制系统无法获得第一构建地图方式所需的图像,所述第二中断情况举例为控制系统重新获得第一构建地图方式所需的图像。在另一些具体示例中,当依据中断情况而采用同一种类构建地图方式时,各地图片段首尾相连。例如,请参阅图3,其显示为控制系统在移动期间受到一次中断情况而构建的两个地图片段,其中,实线为简易的各地图片段中描述的移动机器人的路径,虚框用于表示单独地图片段,如图所示,控制系统从移动的起始点位置P0’处开始采用第一构建地图方式而构建第一地图片段MAP_a’,当控制系统检测到悬空数据异常的持续时长超出一预设时长阈值时,确定产生一中断情况,并当检测到该悬空数据正常时,中断情况结束,控制系统从第一地图片段MAP_a’的终点位置P1’处开始继续采用第一构建地图方式构建第二地图片段MAP_b’直至移动终点位置P3’。

在另一些示例中,所生成的单独的两个地图片段之间还具有邻接关系。在一些具体示例中,请参阅图4,其显示为第一地图片段和第二地图片段具有相邻关系的示例,如图所示,当移动机器人所构建的第二地图片段A’中的区域B’与在先的第一地图片段A中的区域B具有定位信息的重叠,则第一图片段和第二地图片段之间具有邻接关系。

当利用第一构建地图方式所单独的地图片段的数量大于等于两个时,所述控制系统执行以下步骤,其通过将利用第一构建地图方式所单独的多个地图片段进行融合操作的方式,实现移动机器人在无法利用第一构建地图房室持续地为物理空间构建地图的情况下,有效整合各地图片段以提高整合后的地图片段的精准度,整合后的地图片段不因控制系统未构建地图的区域/不因控制系统采用了精度较低的第二构建地图方式等影响而降低其精准度。

请参阅图5,其显示为本申请在一实施方式中的构建地图的方法的流程图。所述方法主要由移动机器人的控制系统来执行。所述方法可以在线状态下执行,也可以在离线状态下执行。其中,在线状态表示正在构建当前地图片段所处状态,例如,在线状态表示在移动机器人在按照第一/第二构建地图方式执行地图构建所处的状态。离线状态表示在未构建地图片段的状态下,例如,离线状态表示在移动机器人充电期间、或待机期间等系统资源较为充足的状态。

在步骤S100中,从多个地图片段中选择利用第一构建地图方式而构建的第一地图片段和第二地图片段;其中,所述多个地图片段是利用至少一种构建地图方式而构建的,所述第一地图片段和第二地图片段是基于移动机器人所检测到的中断情况而被单独构建的。

为便于描述,现以控制系统利用第一构建地图方式先构建第一地图片段,而后构建第二地图片段为例,需说明的是,第一地图片段也可以称为第二地图片段,在此仅为描述方案使用。

当处于在线状态时,控制系统一边利用第一构建地图方式正在构建第二地图片段,在所述第二地图片段构建完成之前,一边从所述多个地图片段中选择此前所构建的第一地图片段。其中,选择第一地图片段的频次低于构建第二地图片段时对第二地图片段的更新频次。当处于离线状态时,控制系统从所述多个地图片段中选择已构建完成的第一地图片段和第二地图片段。

在此,从地图片段中随机选择第一地图片段,并将其与第二地图片段尝试执行后续步骤S110,或者依据构建顺序从前往后(或者从后往前)依次选择地图片段作为第一地图片段,并将其与第二地图片段尝试执行后续步骤S110,以融合两个地图片段。控制系统还可以依据各地图片段的邻接关系从多个地图片段中选择与第二地图片段最近的第一地图片段。

其中,确定第二地图片段与此前利用第一构建地图方式而构建的至少一个地图片段具有邻接关系的方式举例为将利用第一构建地图方式而构建的各地图片段的定位信息与所述第二地图片段中的定位信息进行匹配,当得到相匹配的定位信息对时,选出第一地图片段,且其与第二地图片段具有相邻关系。以第一地图片段和第二地图片段中的定位信息均为图像中的特征为例,控制系统挑选已生成的一个地图片段中一幅图像中的多个图像特征与第二地图片段中一幅图像中的多个图像特征进行匹配,当至少预设数量的图像特征匹配成功时,选择该地图片段作为第一地图片段,并执行步骤S110。

其中,确定第二地图片段与此前利用第一构建地图方式而构建的至少一个地图片段具有邻接关系的方式还举例为通过依照构建顺序而检测至少两个地图片段的重叠情况而确定。在此,控制系统依照构建顺序依次检测与第二地图片段具有重叠情况的至少一个地图片段,并选择最先检测到的地图片段作为第一地图片段。以图2所示的三个地图片段为例,控制系统依照构建顺序为从前向后的顺序依次检测地图片段MAP_a和地图片段MAP_b是否与MAP_c具有重叠情况,并当确定地图片段MAP_a与地图片段MAP_c具有重叠情况时将地图片段MAP_a作为第一地图片段,以及将地图片段MAP_c作为第二地图片段。

在此,由于控制系统基于中断情况而构建多个独立的地图片段,所选出的第一地图片段和第二地图片段之间可能/已确定按照各自的坐标系统描述了同一物理空间。对于未能确定第一地图片段和第二地图片段描述同一物理空间的情况,控制系统通过前述的图像匹配方式进行识别操作,以确定是否继续执行步骤S110,即当确定所选出的第一地图片段和第二地图片段描述同一物理空间时,控制系统继续执行步骤S110,反之则重新执行步骤S100以重新选择第一地图片段和第二地图片段中的至少一个并执行步骤S110。

在步骤S110中,依据所述第一地图片段和第二地图片段中描述同一物理空间的两个地图位置的位姿偏差,将所述第一地图片段和第二地图片段融合成一个地图片段。

对于已确定第一地图片段和第二地图片段描述同一物理空间的情况,控制系统还确定两个地图位置之间的位姿偏差,利用所确定的位姿偏差将第一地图片段和第二地图片段融合,以得到一个新的地图片段。

在此,利用第一地图片段和第二地图片段的数据结构中定位信息及其在各自地图片段中的地理位置信息(又称坐标信息),控制系统对第一地图片段和第二地图片段中的各自定位信息进行匹配,以得到定位信息对,利用所述定位信息对所对应的实际物体的局部分别在第一地图片段和第二地图片段中的地理位姿偏差,将第一地图片段和第二地图片段融合,以得到一个新的地图片段。其中,所述定位信息可由图像特征、和/或深度特征等描述。所述地理位姿偏差包括实际物体的局部分别在第一地图片段和第二地图片段中的地理位置之间位移偏差、和/或角度偏差。

在一些实施例中,所述步骤S110包括:步骤S111,根据所述第一地图片段和第二地图片段中描述同一物理空间的两个地图位置的位姿偏差将所述第二地图片段和所述第一地图片段进行对齐;以及步骤S112,根据对齐后的第一地图片段和第二地图片段更新所述第一地图片段中的地图数据,以拼接成所述新的地图片段。

以所述定位信息为图像特征为例,控制系统根据所述第一地图片段和第二地图片段中相匹配的图像特征对在各地图片段中的各地图位置确定所述位姿偏差;以及根据所述位姿偏差,对所述第二地图片段进行旋转变换、平移变换、或缩放变换中的至少一种,以对齐所述第二地图片段和所述第一地图片段。其中,所述位姿偏差包括相匹配的图像特征对在各地图片段中的各地图位置之间的位移偏差、和/或角度偏差。

在具体实施例中,控制系统选择第一地图片段中的第一图像与第二地图片段中的第二图像,并对第一图像中的多个第一图像特征和第二图像中的多个第二图像特征进行匹配操作,在得到相匹配的图像特征对时,还得到相匹配的各第一图像特征在第一地图片段中的各第一地图位置信息与各第二图像特征在第二地图片段中的各第二地图位置信息;根据相匹配的多个图像特征对在第一图像和第二图像中的像素位姿偏差,所述多个图像特征对中的各第一图像特征在第一地图片段中的各第一地图位置信息POS1,以及第一图像的图像坐标系与第一地图片段的位置坐标系之间的映射关系,得到相匹配的多个图像特征对中的各第二图像特征在第一地图片段中的各地图位置信息POS2’;按照各地图位置信息POS2’与该多个第二图像特征在第二地图片段中的各第二位置信息POS2大致重叠的条件,控制系统确定多个所述图像特征对整体所对应的物理空间在该两个地图片段中的地图位姿偏差。其中,所述像素位姿偏差包括:相匹配的多个图像特征对在第一图像和第二图像中的像素位置之间的位移偏差、和/或角度偏差。所述大致重叠的条件可以是根据所使用的第一构建地图方式的系统误差或预设固定误差值而设置的,或者是根据各地图位置信息POS2’与各第二位置信息POS2在第二地图片段中的位置误差而设置的。多个所述图像特征对整体所对应的物理空间为所述第一地图片段和第二地图片段中描述同一物理空间中的局部或全部。

其中,所述多个所述图像特征对整体所对应的物理空间在两个地图片段中的地图位姿偏差、与所述第一地图片段和第二地图片段中描述同一物理空间的两个地图位置的位姿偏差之间可视为等同或在预设误差范围内。其中,所述预设误差范围是根据所使用的第一构建地图方式的系统误差、预设固定误差值、或地图片段的面积中的至少一种而设置。

控制系统根据所得到的位姿偏差确定第一地图片段和第二地图片段中描述同一物理空间的两个地图位置的位姿偏差,并按照所确定的位姿偏差将所述第二地图片段和所述第一地图片段进行对齐。

在此,所述控制系统根据所述位姿偏差将第二地图片段中的各地理位置信息进行整体转换,以使第一地图片段和第二地图片段完成对齐操作。其中,所述对齐操作根据位姿偏差所描述的旋转角度、平移位移和缩放比例,对其中一个地图片段中的各地理位置信息进行矩阵转换。例如,控制系统对第二地图片段进行次旋转变换、平移变换、或缩放变换中的至少一种变换。又如,控制系统将第二地图片段分块地进行上述变换,以减少单次计算的计算量。

对齐后得到将第一地图片段和第二地图片段拼接在一起的新的地图片段。在一些实施例中,所述步骤S110还包括:将两个地图片段中的定位信息进行数据融合,例如,去除新的地图片段中的冗余信息;以及更新所述新的地图片段中与定位相关的信息。其中,所述冗余信息为第一地图片段和第二地图片段中描述同一物理区域的地图区域在拼接后所产生的。例如,控制系统将拼接后产生的第二地图片段中重叠的地图位置信息及其定位信息予以删除。所述控制系统所更新的与定位相关的信息举例包括:原本在第一地图片段或第二地图片段中的拍摄图像的地理位置信息以及图像中的图像特征所对应的地理位置信息分别在新的地图片段中的各地理位置信息等。例如控制系统将原来第二地图片段中未重叠的地图区域中所标记的拍摄图像的地理位置信息和图像特征所对应的地位置信息更新成新的地图片段中相应的地理位置信息。

在一些计算机处理方式中,控制系统将在后构建的第二地图片段融合到在先构建的第一地图片段中以得到融合后的地图片段。例如,将后续构建的地图片段不断融合到在先已融合的地图片段上,由此减少后续地图片段融合时的计算量。

移动机器人在移动期间根据中断情况选择在多种构建地图方式进行切换,使得所构建的多个地图片段中依构建顺序举例依次为第一地图片段、第三地图片段和第二地图片段;其中,第一地图片段和第二地图片段为采用第一构建地图方式而构建的地图片段,以及第三地图片段为采用第二构建地图方式而构建的地图片段。当第一地图片段和第二地图片段融合成新的地图片段后,衔接在原两个地图片段之间的第三地图片段可根据融合后的地图片段进行修正。如此,通过修正第三地图片段,控制系统可向用户展示更为准确的地图。

在此,控制系统根据融合前第一地图片段与第三地图片段的第一衔接位置,融合前第二地图片段与第三地图片段的第二衔接位置,以及该两个衔接位置对应在融合后的地图片段中的各位置,确定第三地图片段与新的地图片段的位姿偏差,以及利用所得到的位姿偏差修正所述第三地图片段。其中,所述第一衔接位置和第二衔接位置可以为位置坐标点或位置区域。

其中,所述位姿偏差可基于第一衔接位置所在位置区域的和第二衔接位置所在位置区域的定位信息之间的地理位姿偏差而确定,或者基于第一地图片段和第二地图片段拼接时的位姿偏差而确定。

当多个地图片段中所选出的第一地图片段和第二地图片段融合成新的地图片段时,该新的地图片段称为多个地图片段中的一员。在此基础上,控制系统通过重新执行上述步骤S100和S110,继续执行地图片段的融合操作,即将融合后的地图片段归入所述多个地图片段中,以供从所述多个地图片段中选取新的第一地图片段和第二地图片段并执行所述将第一地图片段和第二地图片段融合成一个地图片段的操作。由此实现将因中断情况影响而单独构建的地图片段融合成能够描述移动机器人所移动的整体物理空间内地理环境的地图片段。

为降低控制系统执行所述方法所占用的系统资源,所述控制系统执行所述方法可根据资源占用情况来启动执行。或者,按照预设时间间隔执行上述方法中的部分步骤,如选择两个地图片段并检测两个地图片段是否包含重叠区域,若包含则执行所述方法中的其他步骤,如将所述第一地图片段和第二地图片段融合成一个地图片段的步骤等。

利用已构建的/已融合的至少一个地图片段,所述控制系统还能够对移动机器人进行定位操作,所述定位操作包括当中断情况消失后的重定位、以及移动机器人执行导航任务期间的定位操作。例如,控制系统当检测到被抱起的中断情况消失时,利用已得到的至少一个地图片段启动重定位操作。又如,控制系统在导航移动期间,利用已得到的至少一个地图片段进行定位操作以防止移动机器人偏离所设置的导航路线。

在此,请参阅图6,其显示为定位方法的一种实施方式的流程图。在步骤S200中,获取移动机器人的摄像装置所拍摄的图像。所述图像中记录有移动机器人当前位置的视场范围内的实体环境。

在步骤S210中,根据预存储的至少一个地图片段中与定位相关的信息,确定所述移动机器人拍摄所述图像的地理位置信息。

在此,控制系统提取图像中的图像特征,并在其中一个地图片段中与定位相关的信息中对所提取的图像特征进行匹配,以得到所提取的图像特征在相应地图片段中的地理位置。例如,控制系统将某一地图片段中与定位相关的图像中图像特征与所提取图像特征进行匹配,当确定相匹配的图像特征对及其对应的图像对时,根据图像特征对之间的像素位姿偏差,该个地图片段中对应所述图像特征对中的图像特征在相应地图片段中的地图位置信息,以及图像的图像坐标系与该个地图片段的位置坐标系之间的映射关系,得到拍摄图像的拍摄位置在该个地图片段中的地图位置信息。

为了便于用户查看移动机器人所构建的各地图片段,所述控制系统还执行步骤S120(未予图示),将所述多个地图片段、和/或融合后的地图片段发送至客户端,以供客户端显示。

在此,所述客户端配置在用户所持有的电子设备中,所述客户端向用户提供可与移动机器人通信的软件。利用电子设备的硬件被在所述客户端的调度之下,用户可通过电子设备的显示屏查看当前存储在移动机器人中的多个地图片段,其可以是依顺序构建的多个原始的地图片段;也可以是包含有融合后的地图片段的至少一个地图片段。

为此,所述电子设备包括:接口单元、处理单元、存储单元、和显示单元。其中,所述接口单元包括网络接口,还可以包括如USB接口等用于与外部设备相连的数据接口。其中,所述网络接口举例包括以下至少一种:无线局域网接入模块、移动网络接入模块、有线网络接入模块等。

所述存储单元存储至少一种程序。所述存储单元包括至少一个存储器。在实施例中,所述存储器可包括高速随机存取存储器,并且还可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。在某些实施例中,存储器还可以包括远离一个或多个处理器的存储器,例如经由RF电路或外部端口以及通信网络访问的网络附加存储器,其中所述通信网络可以是因特网、一个或多个内部网、局域网、广域网、存储局域网等,或其适当组合。所述存储单元还包括存储器控制器。存储器控制器可控制移动机器人中的诸如CPU和外设接口之类的其他组件对存储器的访问。

所述处理单元用于执行所述至少一种程序,以协调所述存储单元、显示单元和接口单元执行展示地图片段的操作。

所述处理单元包括至少一个处理器,且至少一个处理器与所述至少一个存储器连接,用于运行所述至少一个程序时以执行并实现构建地图的方法所描述的至少一种实施例。在实施例中,所述处理器可操作地与存储器和/或非易失性存储设备耦接。更具体地,处理器可执行在存储器和/或非易失性存储设备中存储的指令以在计算设备中执行操作,诸如获取地图片段和/或将地图片段传输到电子显示器(即显示单元)。如此,处理器可包括一个或多个通用微处理器、一个或多个专用处理器、一个或多个现场可编程逻辑阵列、或它们的任何组合。

所述显示单元包含显示屏以及显示屏的控制器。其中,所述控制器可与处理单元中的处理器集成在一起、或单独配置(如GPU)。所述显示屏还可以为触摸屏,以在与用户交互操作时向处理单元发送相应的操作指令。其中,所述操作指令包括:指令移动机器人执行操作相关的指令,和/或向用户展示移动机器人执行操作的操作结果、操作过程、以及所述地图片段中的至少一种界面信息等。

请参阅图7,其显示为客户端在一实施方式中的架构示意图。所述客户端2包括:接口模块21和显示模块22。其中,所述接口模块21用于协调电子设备中的接口单元、存储单元和处理单元,用于与所述移动机器人通信连接,以获取多个地图片段。所述显示模块22通过协调电子设备的显示单元、处理单云和存储单元,用于按照片段显示规则区分显示所述多个地图片段。其中,所述多个地图片段是利用至少一种构建地图方式而构建的,所述多个地图片段中包含基于移动机器人所检测到的中断情况而被单独构建的地图片段。按照上述各地图片段的生成示例,以及两个地图片段的融合示例,所述客户端所显示的地图片段为移动机器人正在构建的地图片段、尚未合成的地图片段、或经合成的地图片段。

在一些实际应用中,用户操作客户端的显示模块所展示的主界面,产生展示移动机器人所构建的地图的指令,所述接口模块与所述移动机器人通信,以获得移动机器人所存储的多个地图片段。

在又一些实际应用中,客户端存储有移动机器人所提供的多个地图片段,在用户操作客户端所展示的主界面时,所述接口模块与移动机器人通信,以更新所存储的多个地图片段。

所述显示模块在显示界面中显示多个地图片段。其中,为便于用户识别各地图片段,显示模块按照预设的片段显示规则来显示各地图片段。其中,所述片段显示规则举例包括以下至少一种:将各地图片段逐渐填充显示得规则、利用不同的显示颜色显示所述多个地图片段的规则。

其中,将各地图片段逐渐填充显示得规则包括:依据所述多个地图片段中各地图片段的生成时间而显示,或者根据所述多个地图片段的构建顺序显示地图片段所对应的顺序号。所述客户端采用动态展示形式展示各地图片段,所述动态展示形式举例为:GIF格式的动态图、基于FLASH的动画视频等。

其中,利用不同的显示颜色显示所述多个地图片段的规则包括:采用预设种类颜色并以相邻的地图片段采用不同颜色的展示规则。其中,相邻的地图片段包括:两个地图片段有衔接点,和/或两个地图片段的衔接部分大于预设相邻阈值等。

以在显示屏上展示三个地图片段为例,依据移动机器人检测到中断情况的位置,所展示的第一地图片段和第三地图片段衔接,第三地图片段和第二地图片段衔接,则第一地图片段和第二地图片段采用同样颜色C1展示,以及第三地图片段采用另一颜色C2展示。

以在显示屏上展示二个地图片段为例,其中,二个地图片段分别为经融合后的新的地图片段,以及将第三地图片段修正后的地图片段,所展示的新的地图片段和修正后的第三地图片段采用不同颜色C1和C2。其中,新的地图片段为移动机器人将第一地图片段和第二地图片段。

需要说明的是,上述各展示规则的示例可结合使用,例如,采用不同颜色、并按照顺序逐渐将各地图片段填充显示在展示界面中。

根据电子设备中显示屏所显示的展示界面的尺寸,所展示的地图片段可以是全部地图片段或部分地图片段。

所述显示模块所展示的地图片段可以全部是已经构建完成的地图片段。为了在移动机器人构建地图期间实时地展示多个地图片段,所述客户端中的显示模块在展示已构建完成的至少一个地图片段时,还通过接口模块将移动机器人当前构建中的第二地图片段展示在展示界面中,如此,用户可看到移动机器人构建第二地图片段的过程,且按照片段显示规则,所展示的第二地图片段区别于已构建的其他地图片段。

在一些实际应用中,所述客户端也可以执行上述移动机器人所执行的步骤S100-S110。如此,客户端可将移动机器人尚未融合的地图片段进行融合操作,在此不再详述。为此,所述客户端包括构建模块,其用于执行所述步骤S100-S110,即用于从多个地图片段中选择利用第一构建地图方式而构建的第一地图片段和第二地图片段;以及依据所述第一地图片段和第二地图片段中描述同一物理空间的两个地图位置的位姿偏差,将所述第一地图片段和第二地图片段融合成一个地图片。所述客户端的显示模块将所述构建模块所融合的地图片段予以显示。为此,所述移动机器人可将单独构建的各地图片段发送至所述电子设备,并由所述客户端的构建模块进行地图片段的融合操作。

在又一些应用中,所述步骤S100-S110还可以由一云服务器系统来执行,其中,移动机器人与所述云服务器系统通信,以及所述云服务器系统还可以与客户端通信,如此实现通过云服务器系统将各地图片段展示在客户端。其中,移动机器人将按照至少一种构建地图方式所构建的多个地图片段上传至云服务器系统,所述云服务器系统执行所述步骤S100-S110,并当客户端展示所述地图片段时,从云服务器系统获取当前所需展示的一个或多个地图片段。

为降低客户端执行所述方法时所占用的系统资源,所述客户端执行所述方法的频率低于当前显示地图片段的刷新频率。如此,当客户端显示移动机器人正在构建的地图片段时,用户可看到相应地图片段的构建过程,以及看到两个地图片段从融合前到融合后的显示变化。其中,所述显示变化包括:两个地图片段执行融合操作前后地图片段的结构变化,以及按照显示规则而产生的显示变化等。

在又一些应用中,当移动机器人利用上述至少一个地图片段确定当前位置时,该位置还可以通过包含移动机器人与客户端的通信连接展示在客户端的相应地图片段中。

本申请还提供一种计算机可读写存储介质,存储有计算机程序,所述计算机程序被执行时实现上述针对构建地图方法所描述的至少一种实施例,比如图5及所对应的任一中所描述的实施例。或者实现针对定位方法所描述的至少一种实施例,比如图6及所对应的任一中所描述的实施例。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。

于本申请提供的实施例中,所述计算机可读写存储介质可以包括只读存储器、随机存取存储器、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁存储设备、闪存、U盘、移动硬盘、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。另外,任何连接都可以适当地称为计算机可读介质。例如,如果指令是使用同轴电缆、光纤光缆、双绞线、数字订户线(DSL)或者诸如红外线、无线电和微波之类的无线技术,从网站、服务器或其它远程源发送的,则所述同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线电和微波之类的无线技术包括在所述介质的定义中。然而,应当理解的是,计算机可读写存储介质和数据存储介质不包括连接、载波、信号或者其它暂时性介质,而是旨在针对于非暂时性、有形的存储介质。如申请中所使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中,磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。

在一个或多个示例性方面,本申请所述方法的计算机程序所描述的功能可以用硬件、软件、固件或其任意组合的方式来实现。当用软件实现时,可以将这些功能作为一个或多个指令或代码存储或传送到计算机可读介质上。本申请所公开的方法或算法的步骤可以用处理器可执行软件模块来体现,其中处理器可执行软件模块可以位于有形、非临时性计算机可读写存储介质上。有形、非临时性计算机可读写存储介质可以是计算机能够存取的任何可用介质。

本申请上述的附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。基于此,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。

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

26页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于估算车辆在地图上的位置的方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!