掌桥专利:专业的专利平台
掌桥专利
首页

机器人、地图构建方法、装置和存储介质

文献发布时间:2023-06-19 12:14:58


机器人、地图构建方法、装置和存储介质

技术领域

本发明涉及机器人、地图构建技术领域,尤其涉及一种机器人、地图构建方法、装置和存储介质。

背景技术

机器人等技术领域的定位算法中,通常需要定位和建图,目前的定位或建图方案,常需要利用标签定位方式实现,去借助标签确定机器处于哪个位置。现有的处理方式中,当需要对某个区域准确识别时,通常需要在该区域设置许多标签,以便机器人识别整个区域的标签,然而,上述方案中,需要大量的标签实现,成本过高且布置繁杂,便利性极差。

发明内容

本发明提供一种机器人、地图构建方法、装置和存储介质,用于解决传统方案中,需要大量的标签实现,成本过高且布置繁杂,便利性极差的问题。

第一方面,提供了一种机器人,包括探测设备、存储器和处理器,存储器存储有程序代码;

探测设备,用于对机器人的环境周边进行探测,以得到探测信息;

处理器,用于调用程序代码,并当程序代码被执行时,被布置为:

获取探测信息,并利用探测信息进行标识识别;

当识别到标识时,将机器人当前位置节点用当前识别到的标识进行标记,并逆顺序依次判断机器人已走过的位置节点中是否有与当前位置节点存在相同标识的位置节点;

当判定出有与当前位置节点存在相同标识的位置节点时,则将首次判断出的存在相同标识的位置节点到当前位置节点之间所有位置节点,用当前识别到的标识作为有效标识进行标记。

在一种实现中,处理器将机器人当前位置节点用当前识别到的标识进行标记时,被布置为:

将当前识别到的标识与当前位置节点的位置节点信息进行关联绑定。

在一种实现中,当处理器未识别到标识时,还被布置为:

将机器人经过的未识别到标识时对应的位置节点用无效标识进行标记。

在一种实现中,处理器将首次判断出的存在相同标识的位置节点到当前位置节点之间所有位置节点,用当前识别到的标识进行标记时,被布置为:

将存在相同标识的位置节点,到当前位置节点之间所有位置节点的无效标识,更改为当前识别到的标识。

在一种实现中,识别到的标识为基于实体标签或者虚拟标签所获得的标识,实体标签为肉眼可见的标示标签,虚拟标签为肉眼不可见的虚拟信号标签。

在一种实现中,实体标签为二维码标签或者点阵码。

在一种实现中,处理器,还被布置为:

对多个位置节点进行闭环检测,以获得闭环信息;

利用闭环信息中两个位置节点的标识,判断闭环信息是否为有效闭环信息;

若是,则基于有效闭环信息进行地图构建。

在一种实现中,处理器利用闭环信息中两个位置节点的标识,判断闭环信息是否为有效闭环信息时,被布置为:

当两个位置节点的标识均为有效标识且相同,则判定闭环信息为有效闭环信息;

当两个位置节点的标识均为无效标识,则判定闭环信息为有效闭环信息;

当两个位置节点的标识均为有效标识且不相同,则判断闭环信息为无效闭环信息。

在一种实现中,处理器还被布置为:

当闭环信息的两个位置节点的标识中仅有一个为有效标识时,则缓存闭环信息;

在预设时长后或者机器人运行预设距离之后,从缓存的闭环信息中比较两个位置节点的标识;

当两个位置节点的标识相同,则将闭环信息确定为有效闭环信息;

当两个位置节点的标识不同,则将闭环信息确定为无效闭环信息。

在一种实现中,处理器,还被布置为:

将无效闭环信息进行删除。

第二方面,提供轮胎一种地图构建方法,地图构建方法包括:

获取探测设备探测到的探测信息,并利用探测信息进行标识识别;

当识别到标识时,将机器人当前位置节点用当前识别到的标识进行标记,并逆顺序依次判断机器人已走过的位置节点中是否有与当前位置节点存在相同标识的位置节点;

当判定出有与当前位置节点存在相同标识的位置节点时,则将首次判断出的存在相同标识的位置节点到当前位置节点之间所有位置节点,用当前识别到的标识作为有效标识进行标记。

在一种实现中,将机器人当前位置节点用当前识别到的标识进行标记,包括:

将当前识别到的标识与当前位置节点的位置节点信息进行关联绑定。

在一种实现中,当未识别到标识时,地图构建方法还包括:

将机器人经过的未识别到标识时对应的位置节点用无效标识进行标记。

在一种实现中,将首次判断出的存在相同标识的位置节点到当前位置节点之间所有位置节点,用当前识别到的标识作为有效标识进行标记,包括:

将存在相同标识的位置节点,到当前位置节点之间所有位置节点的无效标识,更改为当前识别到的标识。

在一种实现中,识别到的标识为实体标签或者虚拟标签所获得的标识,实体标签为肉眼可见的标示标签,虚拟标签为肉眼不可见的虚拟信号标签。

在一种实现中,实体标签为二维码标签或者点阵码。

在一种实现中,地图构建方法还包括:

对多个位置节点进行闭环检测,以获得闭环信息;

利用闭环信息中两个位置节点的标识,判断闭环信息是否为有效闭环信息;

若是,则基于有效闭环信息进行地图构建。

在一种实现中,利用闭环信息中两个位置节点的标识,判断闭环信息是否为有效闭环信息,包括:

当两个位置节点的标识均为有效标识且相同,则判定闭环信息为有效闭环信息;

当两个位置节点的标识均为无效标识,则判定闭环信息为有效闭环信息;

当两个位置节点的标识均为有效标识且不相同,则判断闭环信息为无效闭环信息。

在一种实现中,地图构建方法还包括:

当闭环信息的两个位置节点的标识中仅有一个为有效标识时,则缓存闭环信息;

在预设时长后或者机器人运行预设距离之后,从缓存的闭环信息中比较两个位置节点的标识;

当两个位置节点的标识相同,则将闭环信息确定为有效闭环信息;

当两个位置节点的标识不同,则将闭环信息确定为无效闭环信息。

在一种实现中,地图构建方法还包括:

将无效闭环信息进行删除。

第三方面,提供了一种地图构建装置,地图构建装置包括:

获取模块,用于获取探测设备探测到的探测信息;

识别模块,用于利用探测信息进行标识识别;

标记模块,用于:

当识别到标识时,将机器人当前位置节点用当前识别到的标识进行标记,并逆顺序依次判断机器人已走过的位置节点中是否有与当前位置节点存在相同标识的位置节点;

当判定出有与当前位置节点存在相同标识的位置节点时,则将首次判断出的存在相同标识的位置节点到当前位置节点之间所有位置节点,用当前识别到的标识作为有效标识进行标记。

第四方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时用于实现如前述提及的地图构建方法。

上述机器人、地图构建方法、装置和存储介质所实现的方案中,探测设备对用于机器人的周边环境进行探测,以得到探测信息,便于处理器通过探测信息进行标识识别,通过上述方案,对于有布置标识需求的场景,便利用识别到的少量标识,对某一片区域的位置节点进行标识标记,实现对某片区域利用相同的标识进行标记,而无需为该区域设置布置大量的用于被识别的标识,成本较低,且由于量少,布置也简单,极为便利。

附图说明

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

图1是本发明实施例中机器人的一系统示意图;

图2是本发明实施例中的一标识布置场景示意图;

图3是本发明实施例中地图构建方法的一流程示意图;

图4是本发明实施例中地图构建方法的另一流程示意图;

图5是本发明实施例中地图构建装置的一结构示意图;

图6是本发明实施例中地图构建装置的另一结构示意图。

具体实施方式

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

本发明提供了一种机器人,地图构建方法、装置和存储介质,下面分为不同的实施例,逐一进行描述。

实施例1

如图1所示,提供了一种机器人,该机器人包括探测设备、存储器和处理器,探测设备和存储器均与处理器通信连接,存储器存储有程序代码;探测设备,用于对机器人的环境周边进行探测,以获取探测信息;处理器,用于调用程序代码,并当程序代码被执行时,被布置为:

获取探测信息,并利用探测信息进行标识识别;

当识别到标识时,将机器人当前位置节点用当前识别到的标识进行标记,并逆顺序依次判断机器人已走过的位置节点中是否有与上述当前位置节点存在相同标识的位置节点;

当判定出有与当前位置节点存在相同标识的位置节点时,则将首次判断出的存在相同标识的位置节点到当前位置节点之间所有位置节点,用当前识别到的标识作为有效标识进行标记。

其中,本发明所指的能被识别到的标识,是用于辅助定位或辅助识别某个区域所设置的特殊标识,当机器人经过设置有上述标识的位置节点周围时,取决于标识的布置位置,探测设备可以对对该标识进行探测,从而探测到上述布置位置所设置的标识,探测设备用于探测到包含了标识的探测信息,以使处理器通过探测信息识别标识,通过上述方案,对于有布置标识需求的场景,便利用识别到的少量标识,对某一片区域的位置节点进行标识标记,实现对某片区域利用相同的标识进行标记的目的,而无需为该区域设置布置大量的用于被识别的标识,成本较低,且由于标识量少,布置也简单,极为便利。其中,上述位置节点可通过2D激光和轮式里程计获取的信息,由处理器通过2D激光和轮式里程计获取的信息计算出来各个位置节点信息,其中,输出的位置节点信息包括节点ID、位置信息(X、Y)和朝向信息。位置信息(X、Y)表示的是其相对于坐标系的坐标信息,另外值得说明的是,得到的位置节点信息还可以有多种不同的形式,比如节点ID可以换成节点时间等等,名称也可以取不同,但意义一样,主要用于记录每个位置节点,本发明不展开描述。

其中,在一实施例中,依据不同的场景,机器人的行走区域具有不同的区域类型,且部分不同类型的行走区域的相应位置设置有不同的标识。例如,行走区域可以包括独立包间、单向走道和双向走道,不同的独立包间的门口相应位置各设有不同的标识,不同的单向走道的入口相应位置设有不同的标识,双向走道中每个走道的两端相应位置也设有不同的标识。需要说明的是,何为不同的行走区域,可以事先进行定义,可以取决于具体的应用场景。如餐厅应用场景中或者其他会议场景,自然包括独立包间,主干道以及各个分走道,本发明实施例中,可认为上述区域是机器人不同类型的行走区域。

为充分理解上述发明点以及技术效果,下面结合具体场景进行描述。

如图2所示,图2为针对不同类型的行走区域布置了标识的布置场景示意图,该布置场景包括主干道,沿主干道分布有包间1、包间2、单向走道1(如单向走廊)、单向走道2、双向走道1和双向走道2。其中,单向走道指的是机器人沿单向走道门口进入后,仅能通过该单向走道的门口再次出来的道路,双向走道指的是机器人沿双向走道的某一门口进入后,可以从另一门口出来,例如,在主干道从双向走道1门口进入后,可从双向走道2回到主干道。其中,上述不同包间、不同单向走道、不同双向走道以及主干道,对于机器人而言,均是不同类型的行走区域,本发明中,可以在上述不同的行走区域中的门口相应位置,设置能被识别的标识。如图2中,包间1门口相应位置设置有标识2、包间2门口相应位置设置标识8,单向走道1门口相应位置设置有标识1,单向走道2门口相应位置设置标识7,双向走道1的两端口相应位置,分别设置了标识3和标识4,双向走道2的两端口相应位置,分别设置了标识5和标识6,需要说明的是,对于双向走道,也可以仅其中一端口设置标识就行,具体不做限定,例如,双向走道1的其中一端口相应位置设置标识3,双向走道2的其中一端口相应位置设置标识6。而主干道上未设置标识,需要说明的是,主干道上也可以设置相应的标识,具体不做限定。

结合图2,以单向走道上的标识标记场景为例进行说明,当机器人移动至单向走道1的门口时,由于单向走道1门口相应位置设置标识1,机器人经过或即将经过该单向走道1门口时,探测设备所探测到的探测信息会包括该标识1,处理器获取到包含有标识1的探测信息后,对该探测信息进行分析处理,就能识别到该标识1,从而将当前位置节点A用当前识别到的标识1进行标记;随后,机器人继续往单向走道1内部行走,由于单向走道1内部已经没有设置标识,处理器通过探测设备探测的探测信息无法识别到标识,当机器人从单向走道1内部往单向走道1门口走出至主干道,会再次经过单向走道1门口,处理器会再次识别到标识1。处理器会逆顺序依次判断机器人已走过的位置节点中是否有标识1的位置节点,由于单向走道1内部均无设置有标识1,因此,逆顺序依次判断机器人已走过的位置节点后,首先识别到的将是标识1,具体会在位置节点A识别到标识1,对该首次判断出已标记有标识1的位置节点A,到当前位置节点之间的所有位置节点,全部用标识1进行标记,可以看出,通过上述方式,便可以通过一个标识1,便能将单向走道1对应的位置节点,全部标记为标识1,也即将单向走道1标记为标识1。

结合图2,以双向走道的标识标记场景为例进行说明,对本发明实施例提供的机器人进行说明,如机器人移动至双向走道1的门口时,由于双向走道1门口相应位置设置了标识3,机器人经过或即将经过该双向走道1门口时,探测设备所探测到的探测信息会包括该标识3,处理器获取到包含该标识3的探测信息后,能识别到该标识3,从而将当前位置节点用当前识别到的标识3进行标记;随后,机器人继续往双向走道1内部行走,并从双向走道2顺时针走出来时会再识别到标识3,此时,处理器会逆顺序依次判断机器人已走过的位置节点中是否有标识3的位置节点,很明显,处理器逆顺序依次判断机器人已走过的位置节点后,将之前识别到有标识3对应的位置节点与机器人当前的位置节点之间所有的位置节点,用有标识3进行标记,可以看出,通过上述方式,便可以通过少量有效标签,将双向走道1和2对应的位置节点,全部标记为标识3。

需要说明的是,上述针对双向走道1的标记方式,是以机器人顺时针移动而得到的标记结果,如果机器人在主干道从双向走道2门口进去,然后经过双向走道1再回到主干道,那么依据上述处理逻辑,双向走道1则将被标记为标识6,此为机器人顺时针走的标记结果。且以此类推,其他单向走道或双向走道,也将被标记上相应的标识。对于包间而言,与上述单向走道或双向走道的处理方式类型,机器人行走过包间后,包间1所在的位置节点,将被标记为标识2,包间2所在的位置节点,将被标记为标识8。

通过上述例子说明,能更加清楚的看出,对于有标记标识的需求场景,便利用识别到的少量有标识对某一片区域的位置节点进行标识标记,实现对某片区域利用相同的标识进行标记,而无需为该区域设置许多通过物理方式布置大量的用于被识别的标签,以便机器人利用少量的标识识别整个区域,成本较低,且由于所需布置的标识量少,布置也简单,极为便利。

需要说明的是,本发明所指的标记,可以有多种实现方式,在其中一种实现方式中,处理器将机器人当前位置节点用当前识别到的标识进行标记时,被布置为:将当前识别到的标识与当前位置节点的位置节点信息进行关联绑定,例如进行关联存储以建立绑定关系。结合上述例子为例进行说明:机器人经过或即将经过该单向走道1门口时,假设对应的位置节点信息包括:位置节点A、位置X

在一些实施例中,当处理器未识别到标识时,还被布置为:将机器人经过的未识别到标识时对应的位置节点用无效标识进行标记。需要说明的是,对于没有设置相应标识的位置,机器人经过或即将经过未设置标识的位置时,无法通过探测信息识别到标识,此时,可以将相应位置节点用无效标识进行标记。其中,该无效标识是一种预先定义的标识,而非布置于场景中用于被识别的标识,因此,该无效标识具体也可以有多种实现方式,具体不做限定。例如,在其中一种实现方式中,可用简单字符或者其他方式替代方式作为无效标识,例如,该无效标识可以用“-1”进行表达。在用无效标识对位置节点进行标记时,标记方式可以与识别到的标识的标记方式相同,这里不做限定,例如也可以通过关联存储的方式进行绑定。

结合上述实施例,处理器将首次判断出的存在相同标识的位置节点到当前位置节点之间所有位置节点,用当前识别到的标识进行标记时,具体被布置为:将存在相同标识的位置节点,到当前位置节点之间所有位置节点的无效标识,更改为当前识别到的标识。以实际场景为例,当机器人从未标记的主干道进入时,由于主干道(包括主干道入口和主干道本身)均未设置有标识,机器人从主干道入口行走至时包间2内时,标识8到主干道入口这段区域将被处理器用无效标识进行标记,并且值得注意的是,走至时包间2内时虽然能识别到标识8,但由于之前不存在识别到标识8的位置节点,因此,标识8到主干道入口这段区域的无效标识不会被更改为标识8。

需要说明的是,在一些实施例中,当处理器未识别到标识时,还可以被布置为不对机器人经过的位置节点进行标记,也即,将位置节点的原标记状态(未标记任何无效标识),去作为无效标识标记的替代方案,具体本发明不做限定。

另外,在相应门口或入口布置标识时,也可以有多种形式,在一实施例中,独立包间的门口相应位置可以是指门口天花板、门口地面或门墙,单向走道的入口相应位置为入口天花板、入口地面或入口墙面,每个走道的两端相应位置为两端口天花板、两端口地面或两端口墙面,具体不做限定。

另外需要说明的是,图2所示场景在此仅为示例性说明,在实际应用场景中,可能还包括其他类型的区域,具体这里不做限定。上述包间也可以理解为一种具有唯一门口的独立房间,而且,针对某个行走区域,除了在门口相应位置布置唯一的标识外,在一些实施例中,还可以布置多个相同标识,例如,以图2的单向走道1为例,可以在单向走道1中间贴上多个标识1,对于双向走道和包间,也可贴多个标识1。但值得注意的是,通过本发明提供的机器人,依旧可以通过少量标识来对大片区域进行标识标记,标识数量较少,极为便利。

在本发明中,对于设置的标识,也可以有多种实现手段,在一实施例中,识别到的标识为基于实体标签或者虚拟标签所获得的标识,所述实体标签为肉眼可见的标示标签,所述虚拟标签为肉眼不可见的虚拟信号标签。也就是说,实体标签指的是被探测设备通过图像方式探测,并能被处理器识别到的显示标示。示例性的,该实体标签可以是二维码标签,可以在机器人不同的行走区域上的相应位置张贴不同的二维码标签。如在独立包间的门口天花板张贴、单向走道的入口天花板、双向走道的两端口天花板上分别张贴各自对应的二维码。

在其他实施例中,该二维码标签还具体可以是点阵码等。

或者,该实体标签是通过实体装置输出的特殊显示标示(如某种特殊符号或者上述二维码),又或者是该实体装置本身就是一种特殊设计的实体结构,该实体结构具备改变自身状态,从而能具备不同显示标示的装置,例如,该实体装置可以包括若干标识单体和基体,若干标识单体以点阵形式排布于基体上,那么通过改变若干单体之间的排布形式或者单体的形状,便能使得该实体装置具备不同的标示,以被探测设备拍摄到。如在独立包间的门口天花板布置上述实体装置、单向走道的入口天花板、双向走道的两端口天花板上分别张贴各自上述实体装置,不同的是,不同行走区域的天花板上的实体装置输出的显示标示不同。

值得注意的是,通过实体标签实现上述标识布置方案时,该探测设备为摄像机,机器人装载有该摄像机,那么机器人行走过程中,通过摄像机对预设方向进行拍摄得到图像数据,当拍摄到包括上述实体标签的图像数据时,处理器依据图像数据进行分析处理后,便能识别到该实体标签所包含的相应的标识信息。

需要说明的是,机器人上的摄像机的布置方式可依据实体标签的布置场景所确定,如实体标签布置在天花板的话,可以采用顶部摄像机的方式,控制摄像机往机器人的顶部拍摄。如前述实施例介绍,实体标签也可以在门口的其他位置进行布置,如墙上、地面,相应的摄像机也可以进行相应布置,以对某个方向进行拍摄,便于有效、快速提取到有用的图像数据。另外,上述摄像机也可以是红外相机、深度相机或者单目相机等等,具体这里不做限定。

在一实施例中,识别到的标识也可以为基于虚拟标签所获得的标识,该虚拟标签是肉眼不可见的虚拟信号标签,其中,虚拟标签指的是能被探测设备通过光源方式或者其他形式,且能被处理器识别到的虚拟信号标签。示例性的,该虚拟标签可以是利用实体装置输出的光源信号标签,例如激光信号标签,需要说明的是,当采用虚拟信号标签时,探测设备为能识别到该虚拟信号标签的设备,如采用激光信号标签时,该探测设备可以是激光雷达设备。可以理解,通过虚拟信号标签的方式,相对于需通过图像识别的方式,其处理量会更少,计算负担会减轻,而且,虚拟信号标签是一种不可见的信号标签,相对于上述描述到的实体结构或者二维码标签的方式,可以降低对实体装置的维护成本。另外,对于实体或虚拟标签,都可以认为是一种机器能识别的视觉标签。

需要说明的是,在该实施例中,该机器人包括:机体、装载于机体上的动力系统,该动力系统是用于为机器人提供动力的系统,以驱动机体移动,从而带动机器人行走。

在一实施例中,并当程序代码被执行时,处理器被布置为:

对多个位置节点进行闭环检测,以获得闭环信息;

利用闭环信息中两个位置节点的标识,判断闭环信息是否为有效闭环信息;

若是,则基于有效闭环信息进行地图构建。

需要说明的是,在经过上述标识标记过程后,其中一个应用场景就是利用标记结果构建定位地图。

传统建立的定位地图的过程中,是指机器人通过地图构建方法所构建得到的定位地图,如通过SLAM(simultaneous localization and mapping,同步定位与建图)方式建立的定位地图,该定位地图可以是指利用2D激光和轮式里程计得到的位置节点信息进行构建得到。然而,目前的闭环检测方式基本是采用图扫描匹配的方式进行,采用图扫描匹配的方式等闭环检测过程中,在许多地图构建场景中,由于其布局特点,往往具有类似的区域场景,如图2所示,单向走道1和单向走道2就可能是极为相似的区域场景,利用图扫描匹配的等方式进行闭环检测,往往容易将单向走道1和单向走道2认为是同个区域,也即,将原本不同的区域,认为是同个区域,从而删除了不该删除的有效闭环信息,使得参与后续地图构建的闭环信息存在错误。因此,为了解决闭环信息出错的问题,在本发明实施例中,基于标识的标记结果,提出另一种特殊的确定闭环信息是否有效的方式。

机器人在建图过程中,需要走一遍全部区域,那么在这个过程中,便可以利用上述实施例提供的标识标记方式,对区域的位置节点进行标识标记,且在此过程中,对多个位置节点进行闭环检测,以获得闭环信息,并利用闭环信息中两个位置节点的标识,判断闭环信息是否为有效闭环信息,若是,则基于有效闭环信息进行地图构建。

通过本发明实施例可以看出,在本发明提供的机器人中,在标记的过程中机器人可以完成标识标记过程,且可以利用闭环检测出的闭环信息中位置节点的标识做进一步判定有效闭环信息,由于有位置节点的标识做参考确定出有效闭环信息,可以防止建图过程中,将不同区域认为是相同区域,提高了闭环检测准确率,有效地保证了最后定位地图的准确性和完整性。

在一实施例中,处理器利用闭环信息中两个位置节点的标识,判断闭环信息是否为有效闭环信息时,被布置为:

当两个位置节点的标识均为有效标识且相同,则判定闭环信息为有效闭环信息;

当两个位置节点的标识均为无效标识,则判定闭环信息为有效闭环信息;

当两个位置节点的标识均为有效标识且不相同,则判断闭环信息为无效闭环信息。

比如,检测为闭环信息的位置节点为Pc和Po,如果Pc和Po的标识有效,且相同,则该闭环信息为有效闭环信息,如果Pc和Po的标识都为无效标识,则认为该闭环信息为有效闭环信息,如果Pc和Po的标识均为有效且不相同,则判断该闭环信息为无效闭环信息。举个简单例子,在可选实施例中,由于不同走廊/走道之间具有较高的相似性,如果单向走道1和单向走道2的实际场景在相似的情况下,具体是单向走道1中的某个位置节点P1的场景和单向走道2的某个位置节点P2的场景很相似的情况下,可能会将位置节点P1和位置节点P2建立闭环信息,但是实际而言,位置节点P1和位置节点P2完全是不同的地方,为防止在建图中基于该错误的闭环信息进行优化建图,则很有可能导致建图错误,而由于本申请中位置节点P1的标识为1,而位置节点P2的标识为2,则可以判定位置节点P1和位置节点P2为无效回环信息,因此不会影响到最终的建图。

可以看出,虽然单向走道1和单向走道2的这两个场景很相似,而不会被误删掉一个,可以使得后续构建的定位地图所参考的有效闭环信息更加精确,提高了地图构建精确性和完整性。

在其他情况中,当两个位置节点的标识均为无效标识,如主干道中,则判定闭环信息为有效闭环信息;当两个位置节点的标识均为有效标识且不相同,此时则判断闭环信息为无效闭环信息。可见,该实施例提供了一种具体地结合标记标识,判断闭环检测出的闭环信息是否为有效闭环信息的方式,提高了方案的可实施性。

在具体实施例中,对于同一长走廊/走道而言,不同的位置节点的图像信息(例如激光图像信息或者视觉图像信息)是相似甚至相同的,因此在构建位置节点的闭环信息时,可以通过一些距离限定,例如需要比较的两个位置节点需要大于10m乃至20m等才进行比对,具体数值这里不做限定,防止同一走廊的不同位置节点进行比对,进而防止将同一走廊的不同位置节点构建闭环约束(闭环信息)。

在一实施例中,处理器还被布置为:

当闭环信息的两个位置节点的标识中仅有一个为有效标识时,则缓存闭环信息;

在预设时长后或者机器人运行预设距离之后,从缓存的闭环信息中比较两个位置节点的标识;

当两个位置节点的标识相同,则将闭环信息确定为有效闭环信息;

当两个位置节点的标识不同,则将闭环信息确定为无效闭环信息。

例如,即Pc和Po中,一个标识是有效标识的,另一个是无效标识,则无法判定Pc和Po是否为有效闭环信息。当闭环信息的位置节点的标识仅为一个为有效标识,此时无法准确判断该闭环信息是否为有效闭环信息,处理器会等待处理,将这部分闭环信息先缓存起来,在预设时长后或者机器人运行预设距离之后,此时可能缓存了足够多的闭环信息时,从缓存的闭环信息中比较两个位置节点的标识,当两个位置节点的标识相同,则将闭环信息确定为有效闭环信息;当两个位置节点的标识不同,则将闭环信息确定为无效闭环信息。

可以理解,经过标识标记处理之后,缓存的这部分闭环信息中,标识相同的位置节点判定自然是有效闭环信息,标识不同的位置节点判定为无效闭环,通过该实施例,可以将原先一部分无法判定的闭环信息缓存起来,便于后续利用,以确定出更多的有效闭环信息,也即可以输出更多具有参考意义的有效闭环,使得更多的有效闭环参与到后面的地图构建中,进一步提高了后续的定位地图完整性和准确性。

在一实施例中,处理器还被布置为:将无效闭环信息进行删除。可以理解,在利用缓存闭环信息确定出更多的有效闭环信息后,这些缓存的无效闭环信息便可以删除,避免占用存储空间。

实施例2

上述对本发明实施例提供的机器人进行了描述,基于上述机器人,本发明实施例还对应提供了一种地图构建方法,如图3所示,以该地图构建方法应用至机器人为例进行说明,该地图构建方法包括如下步骤:

S10:获取探测设备探测到的探测信息。

S20:利用探测信息进行标识识别。

S30:当识别到标识时,将机器人当前位置节点用当前识别到的标识进行标记。

S40:逆顺序依次判断机器人已走过的位置节点中是否有与当前位置节点存在相同标识的位置节点。

S50:将首次判断出的存在相同标识的位置节点到当前位置节点之间所有位置节点,用当前识别到的标识作为有效标识进行标记。

在一实施例中,将机器人当前位置节点用当前识别到的标识进行标记,指的是:将当前识别到的标识与当前位置节点的位置节点信息进行关联绑定。

在一实施例中,当未识别到标识时,该地图构建方法还包括如下步骤:

将机器人经过的未识别到标识时对应的位置节点用无效标识进行标记。

在一实施例中,将首次判断出的存在相同标识的位置节点到当前位置节点之间所有位置节点,用当前识别到的标识作为有效标识进行标记,具体指的是:将存在相同标识的位置节点,到当前位置节点之间所有位置节点的无效标识,更改为当前识别到的标识。

在一实施例中,识别到的标识为实体标签或者虚拟标签所获得的标识,实体标签为肉眼可见的标示标签,虚拟标签为肉眼不可见的虚拟信号标签。

在一实施例中,实体标签为二维码标签或者点阵码。

在一实施例中,如图4所示,该地图构建方法还包括如下步骤:

S60:对多个位置节点进行闭环检测,以获得闭环信息。

S70:利用闭环信息中两个位置节点的标识,判断闭环信息是否为有效闭环信息。

S80:若是,则基于有效闭环信息进行地图构建。

在一实施例中,利用闭环信息中两个位置节点的标识,判断闭环信息是否为有效闭环信息,具体包括如下步骤:

当两个位置节点的标识均为有效标识且相同,则判定闭环信息为有效闭环信息;

当两个位置节点的标识均为无效标识,则判定闭环信息为有效闭环信息;

当两个位置节点的标识均为有效标识且不相同,则判断闭环信息为无效闭环信息。

在一实施例中,该地图构建方法还包括如下步骤:

当闭环信息的两个位置节点的标识中仅有一个为有效标识时,则缓存闭环信息;

在预设时长后或者机器人运行预设距离之后,从缓存的闭环信息中比较两个位置节点的标识;

当两个位置节点的标识相同,则将闭环信息确定为有效闭环信息;

当两个位置节点的标识不同,则将闭环信息确定为无效闭环信息。

在一实施例中,地图构建方法还包括如下步骤:将无效闭环信息进行删除。

关于地图构建方法更多细节、解释说明和带来的技术效果,可对应参阅前述实施例中对机器人的有关描述,这里不再重复说明。

通过本发明实施例可以看出,在本发明提供的地图构建方法中,主要包括如下方面的内容,一方面,可以利用少量的标识对区域进行标记,减少标识布置成本和复杂度,另一方面,利用标识标记结果,将位置节点的标识,参与到地图构建中,具体通过位置节点的标识选出有效闭环信息,并使有效闭环信息参与到地图构建中,避免相似场景的有效闭环信息被误删除的情况,也就是可以有效地防止地图构建过程中,将不同区域认为是相同区域的情况,提高了闭环检测准确率,有效地保证了最后构建的定位地图的准确性和完整性。

实施例3

该实施例提供了一种地图构建装置,该地图构建装置与上述实施例中地图构建方法一一对应。如图5所示,该标签处理装置包括获取模块101、识别模块102和标记模块103。各功能模块详细说明如下:

获取模块101,用于获取探测设备探测到的探测信息;

识别模块102,用于利用探测信息进行标识识别;

标记模块103,用于:

当识别到标识时,将机器人当前位置节点用当前识别到的标识进行标记,并逆顺序依次判断机器人已走过的位置节点中是否有与当前位置节点存在相同标识的位置节点;

当判定出有与当前位置节点存在相同标识的位置节点时,则将首次判断出的存在相同标识的位置节点到当前位置节点之间所有位置节点,用当前识别到的标识作为有效标识进行标记。

在一实施例中,标记模块103将机器人当前位置节点用当前识别到的标识进行标记时,具体用于:将当前识别到的标识与当前位置节点的位置节点信息进行关联绑定。

在一实施例中,标记模块103还用于:当未识别到有效标签时,将机器人经过的未识别到标识时对应的位置节点用无效标识进行标记。

在一实施例中,标记模块103将首次判断出的存在相同标识的位置节点到当前位置节点之间所有位置节点,用当前识别到的标识进行标记时,具体用于将存在相同标识的位置节点,到当前位置节点之间所有位置节点的无效标识,更改为当前识别到的标识。

在一实施例中,如图6所示地图构建装置还包括:

检测模块104,用于对多个位置节点进行闭环检测,以获得闭环信息;

判断模块105,用于利用闭环信息中两个位置节点的标识,判断闭环信息是否为有效闭环信息;

构建模块106,用于若是,则基于有效闭环信息进行地图构建。

在一实施例中,判断模块105具体用于:

当两个位置节点的标识均为有效标识且相同,则判定闭环信息为有效闭环信息;

当两个位置节点的标识均为无效标识,则判定闭环信息为有效闭环信息;

当两个位置节点的标识均为有效标识且不相同,则判断闭环信息为无效闭环信息。

在一实施例中,判断模块105还具体用于:

当闭环信息的两个位置节点的标识中仅有一个为有效标识时,则缓存闭环信息;

在预设时长后或者机器人运行预设距离之后,从缓存的闭环信息中比较两个位置节点的标识;

当两个位置节点的标识相同,则将闭环信息确定为有效闭环信息;

当两个位置节点的标识不同,则将闭环信息确定为无效闭环信息。

在一实施例中,地图构建装置还包括删除模块;

删除模块,用于将无效闭环信息进行删除。

需要说明的是,关于地图构建装置的具体限定可以参见上文中地图构建方法的限定,在此不再赘述。上述地图构建装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备(如机器人)中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

实施例4

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取探测设备探测到的探测信息,并利用探测信息进行标识识别;

当识别到标识时,将机器人当前位置节点用当前识别到的标识进行标记,并逆顺序依次判断机器人已走过的位置节点中是否有与当前位置节点存在相同标识的位置节点;

当判定出有与当前位置节点存在相同标识的位置节点时,则将首次判断出的存在相同标识的位置节点到当前位置节点之间所有位置节点,用当前识别到的标识作为有效标识进行标记。

在一实施例中,上述计算机程序被处理器执行时还实现以下步骤:

对多个位置节点进行闭环检测,以获得闭环信息;

利用闭环信息中两个位置节点的标识,判断闭环信息是否为有效闭环信息;

若是,则基于有效闭环信息进行地图构建。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

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

相关技术
  • 三维地图的构建方法、构建装置、机器人及可读存储介质
  • 机器人栅格地图构建方法、装置、机器人及存储介质
技术分类

06120113220993