System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及机器人,更具体地涉及一种地图更新方法、电子设备、存储介质及计算机程序产品。
技术介绍
1、随着科技的进步,移动机器人技术得到了迅速的发展,如许多工厂或者仓库为了提高工作效率同时解决招工难的问题,许多搬运任务由人向机器人转变,同步定位与地图构建(simultaneous localization and mapping,slam)机器人由于易部署而受到了青睐。
2、然而,工厂或仓库的环境并不是一成不变的。例如,在工厂或仓库场景下,场景内的设备可能会存在数量的增减和/或位置的变动,从而导致环境发生变化,进而造成移动机器人无法识别当前环境造成定位精度下降。
3、现有技术中,当机器人无法识别当前环境时,通常会对当前环境重新建图,获得活跃地图,并将该活跃地图合并到初始地图中。但是,机器人可能会多次通过当前环境,这就导致当前环境对应多个活跃地图,会产生多次自更新。然而,单个机器人建图存在偶然性,而多个机器人针对同一区域的识别本身容易存在差异,因此无论是单个机器人多次识别同一区域,还是多个机器人分别识别同一区域,所建立的活跃地图均可能存在误差。因此,针对同一区域的多次独立更新会导致地图产生累计误差,导致更新后的地图准确性差。
技术实现思路
1、考虑到上述问题而提出了本申请。本申请提供了一种地图更新方法、电子设备、存储介质及计算机程序产品。
2、根据本申请一方面,提供了一种地图更新方法,包括:获取移动机器人上传的多个待更新区域的区域信息,区域信息包括待
3、示例性地,基于区域地图对初始地图进行更新,包括:将区域地图融合到初始地图上并将融合后的地图显示在显示界面上;基于用户的指示,将初始地图替换为融合后的地图,或者,删除融合后的地图。
4、示例性地,对多个待更新区域进行分类,以确定属于同一区域的待更新区域,包括:对于任意两个待更新区域,将两个待更新区域中的一个待更新区域重投影到另一待更新区域上,以确定两个待更新区域之间的第一匹配度得分;至少基于第一匹配度得分确定两个待更新区域是否属于同一区域。
5、示例性地,区域信息还包括待更新区域所对应的区域位姿和/或待更新区域所对应的轨迹点信息,区域位姿用于表示待更新区域在初始地图上的位置,每个待更新区域的地图信息所对应的地图基于至少一帧地图数据帧生成,轨迹点信息包括用于生成对应待更新区域的各地图数据帧所对应的机器人位姿,每个机器人位姿用于表示一轨迹点的位置,在至少基于第一匹配度得分确定两个待更新区域是否属于同一区域之前,方法还包括:在区域信息包括对应待更新区域的区域位姿的情况下,计算两个待更新区域的区域位姿之间的第一距离误差;和/或,在区域信息包括对应待更新区域的轨迹点信息的情况下,将两个待更新区域中任一第一待更新区域的轨迹点投影到另一第二待更新区域上获得投影轨迹点,并计算投影轨迹点与第二待更新区域上的距离投影轨迹点最近的轨迹点之间的第二距离误差;至少基于第一匹配度得分确定两个待更新区域是否属于同一区域,包括:基于第一距离误差和/或第二距离误差,以及第一匹配度得分,确定两个待更新区域是否属于同一区域。
6、示例性地,基于第一距离误差和/或第二距离误差,以及第一匹配度得分,确定两个待更新区域是否属于同一区域,包括:将第一距离误差与第一误差阈值相比较,和/或将第二距离误差与第二误差阈值相比较;如果第一距离误差小于第一误差阈值和/或第二距离误差小于第二误差阈值,则将第一匹配度得分与匹配度阈值相比较;如果第一匹配度得分大于匹配度阈值,则确定两个待更新区域属于同一区域;其中,将两个待更新区域中的一个待更新区域重投影到另一待更新区域上,以确定两个待更新区域之间的第一匹配度得分的操作在第一距离误差小于第一误差阈值和/或第二距离误差小于第二误差阈值的情况下执行。
7、示例性地,区域信息还包括对应待更新区域的区域信息的上传时间,对于属于同一区域的各待更新区域,基于各待更新区域的区域信息判断各待更新区域是否符合更新条件,包括:在属于同一区域的待更新区域的数目达到数目阈值的情况下,计算属于当前区域的各待更新区域中至少部分待更新区域各自对应的区域价值得分,区域价值得分与对应待更新区域所对应的获取时长负相关并与对应待更新区域的第二匹配度得分正相关,获取时长等于当前时间与上传时间之差,第二匹配度得分为通过将对应待更新区域重投影到已分类待更新区域所获得的对应待更新区域与已分类待更新区域之间的匹配度得分,已分类待更新区域为已分类为属于当前区域的待更新区域;基于至少部分待更新区域各自对应的区域价值得分计算属于当前区域的待更新区域的总价值得分;如果总价值得分大于价值阈值,则确定各待更新区域符合更新条件;如果总价值得分小于或等于价值阈值,则确定各待更新区域不符合更新条件。
8、示例性地,基于至少部分待更新区域各自对应的区域价值得分计算属于当前区域的待更新区域的总价值得分,包括:对至少部分待更新区域各自对应的区域价值得分求和或求平均,获得总价值得分。
9、示例性地,区域信息还包括对应待更新区域的区域信息的上传时间,在对于属于同一区域的各待更新区域,基于各待更新区域的区域信息判断各待更新区域是否符合更新条件之后,方法还包括:如果各待更新区域的区域信息不符合更新条件,则删除获取时长超过时长阈值的待更新区域的区域信息,获取时长等于当前时间与上传时间之差。
10、示例性地,基于各待更新区域的地图信息生成区域地图,包括:基于各待更新区域的地图信息,从各待更新区域的并集中筛选至少部分区域,获得目标更新区域;确定目标更新区域的地图信息,以获得区域地图,区域地图的地图信息为目标更新区域的地图信息。
11、示例性地,若初始地图为激光网格地图,每个待更新区域的地图信息包括该待更新区域内的各网格的概率值,基于各待更新区域的地图信息,从各待更新区域的并集中筛选至少部分区域,获得目标更新区域,包括:计算将各待更新区域内的概率值以迭代更新方式更新到初始地图上所获得的更新结果;基于更新结果,确定初始地图上由更新次数超过次数阈值且长度最长的网格组成的网格边界,其中,网格边界内的区域为各待更新区域的并集的至少一部分;确定网格边界内的区域为目标更新区域。
12、示例性地,确定目标更新区域的地图信息,以获得区域地图,包括:将更新结果中位于目标更新区域内的概率值确定为目标更新区域的地图信息,以获得区域地图。
13、示例性地,若初始地图为视觉地图,基于各待更新区域的本文档来自技高网...
【技术保护点】
1.一种地图更新方法,包括:
2.如权利要求1所述的方法,其中,所述基于所述区域地图对初始地图进行更新,包括:
3.如权利要求1所述的方法,其中,所述对所述多个待更新区域进行分类,以确定属于同一区域的待更新区域,包括:
4.如权利要求3所述的方法,其中,所述区域信息还包括待更新区域所对应的区域位姿和/或待更新区域所对应的轨迹点信息,所述区域位姿用于表示所述待更新区域在所述初始地图上的位置,每个待更新区域的地图信息所对应的地图基于至少一帧地图数据帧生成,所述轨迹点信息包括用于生成对应待更新区域的各地图数据帧所对应的机器人位姿,每个机器人位姿用于表示一轨迹点的位置,
5.如权利要求4所述的方法,其中,所述基于所述第一距离误差和/或所述第二距离误差,以及所述第一匹配度得分,确定所述两个待更新区域是否属于同一区域,包括:
6.如权利要求1-5任一项所述的方法,其中,所述区域信息还包括对应待更新区域的区域信息的上传时间,所述对于属于同一区域的各待更新区域,基于所述各待更新区域的区域信息判断所述各待更新区域是否符合更新条件,包括:<
...【技术特征摘要】
1.一种地图更新方法,包括:
2.如权利要求1所述的方法,其中,所述基于所述区域地图对初始地图进行更新,包括:
3.如权利要求1所述的方法,其中,所述对所述多个待更新区域进行分类,以确定属于同一区域的待更新区域,包括:
4.如权利要求3所述的方法,其中,所述区域信息还包括待更新区域所对应的区域位姿和/或待更新区域所对应的轨迹点信息,所述区域位姿用于表示所述待更新区域在所述初始地图上的位置,每个待更新区域的地图信息所对应的地图基于至少一帧地图数据帧生成,所述轨迹点信息包括用于生成对应待更新区域的各地图数据帧所对应的机器人位姿,每个机器人位姿用于表示一轨迹点的位置,
5.如权利要求4所述的方法,其中,所述基于所述第一距离误差和/或所述第二距离误差,以及所述第一匹配度得分,确定所述两个待更新区域是否属于同一区域,包括:
6.如权利要求1-5任一项所述的方法,其中,所述区域信息还包括对应待更新区域的区域信息的上传时间,所述对于属于同一区域的各待更新区域,基于所述各待更新区域的区域信息判断所述各待更新区域是否符合更新条件,包括:
7.如权利要求6所述的方法,其中,所述基于所述至少部分待更新区域各自对应的区域价值得分计算属于所述当前区域的待更新区域的总价值得分,包括:
8.如权利要求1-5任一项所述的方法,其中,所述区域信息还包括对应待更新区域的区域信息的上传时间,在所述对于属于同一区域的各待更新区域,基于所述各待更...
【专利技术属性】
技术研发人员:马云飞,沈毅,高江峰,崔志航,
申请(专利权)人:北京旷视机器人技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。