一种基于多地图切换导航方法与流程

文档序号:24344333发布日期:2021-03-19 12:27阅读:84来源:国知局
一种基于多地图切换导航方法与流程

本发明涉及导航方法技术领域,特别涉及一种基于多地图切换导航方法。



背景技术:

国家发明专利《一种基于多地图的机器人导航方法及装置》(申请号:cn201610353287.5)提出了一种基于多地图的机器人导航方法和装置,虽然该方法涉及了机器人多地图切换导航的方法,但是却具有以下的缺点。缺点1:机器人在进行导航前,首先加载全局路径图,全局路径图会一直存在于系统内存中,用于判断机器人当前位置处于哪一张区域导航地图中,这会造成系统内存的浪费以及额外的计算资源的消耗。缺点2:该专利没有涉及到跨楼层的多地图切换导航的实现细节,多地图之间的切换点是根据全局路径图生成导航路径之后才确定的,专利只提出了同一平面的多地图导航。缺点3:该专利没有明确描述每一张区域导航地图之间变换关系的获取和表示方法。



技术实现要素:

本发明要解决的技术问题是提供一种能够提高效率,减少操作者手动操作步骤,同时能够精确的变换地图关系以及准确定位变换后新地图位置的基于多地图切换导航方法。

为了解决上述技术问题,本发明的技术方案为:

一种基于多地图切换导航方法,所述方法包括:定位模块、导航目标点判断模块、导航路径选择模块、导航地图切换模块以及导航模块;定位模块,获取移动机器人的当前位置,所述移动机器人通过slam构图算法自动构建多张2d地图;导航目标点判断模块,判断应用层发布的导航目标点的所在地图;当移动机器人完成从一张地图到下一张地图的转换时,它将准备好在第二张地图上进行导航的任务;移动机器人进行地图切换时,会重新加载新地图到系统内存中用于导航。

优选的,所述两张地图之间切换时设有重叠区域。

优选的,所述每一地图设置有基本信息。

优选的,所述基本信息包括地图的名称、每张地图之间的变换关系以及地图之间的过渡区域。

优选的,每一地图的所述基本信息以yaml文件中的参数来定义。

优选的,所述地图之间的过渡区域通过虫洞来定义。

优选的,所述虫洞具有设定半径的圆形区域。

优选的,所述导航路径选择模块获取当前导航地图的虫洞信息。

优选的,所述导航地图切换模块通过查找要进行切换的地图信息,机器人的导航地图进行地图切换。

优选的,所述导航模块根据选择的导航路径,从而控制机器人按照导航路径向目标点位置运动。

采用上述技术方案,本发明的多地图之间的变换关系是在构建地图阶段自动获取的,这样就不需要在所有地图构建完成后再通过手动选择的方式获取变换关系,一方面提高了效率,减少了手动操作步骤,另一方面在构图阶段获取的是地图间精确的变换关系,这样机器人在地图切换后就能够得到自身在新地图的精确位姿。

附图说明

图1为本发明为多地图切换导航的设计逻辑图;

图2为本发明的流程示意图。

图中,1-机器人,2-定位模块,3-导航目标点判断模块,4-导航路径选择模块,5-导航地图切换模块,6-导航模块。

具体实施方式

下面结合附图对本发明的具体实施方式作进一步说明。在此需要说明的是,对于这些实施方式的说明用于帮助理解本发明,但并不构成对本发明的限定。此外,下面所描述的本发明各个实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互组合。

在本发明中,一种基于多地图切换导航方法,如图1所述,定位模块2:获取机器人1在当前导航地图的位置。导航目标点判断模块3:判断应用层发布的导航目标点的所在地图,若目标点在当前导航地图上,则不需要进行地图切换,若目标点不在当前导航地图上,则需要进行地图切换。导航路径选择模块4:获取当前导航地图的虫洞信息,虫洞即多地图之间的连接区域,虫洞信息包含虫洞的位置信息以及与虫洞连接的地图名称信息,根据当前机器人1所在位置以及目标点位置,确定可以到达最终目标点的导航路径。导航地图切换模块5:根据机器人1在地图中的导航位置,当机器人1进入虫洞后,查找要进行切换的地图信息,对机器人1的导航地图进行地图切换。导航模块6:根据选择的导航路径,控制机器人1按照导航路径向目标点位置运动。

本发明提供了一种基于多地图切换的移动机器人导航方法,多地图切换导航方法可以实现移动机器人1在多张2d地图之间通过地图切换完成导航的任务,两张不同的地图通过相应的过渡区域连接在一起。

移动机器人1要完成多地图切换导航的任务,首先需要进行构建多张地图的工作。要创建用于多地图切换导航方法的地图,移动机器人1首先使用slam构图算法构建多张2d地图。这里可以使用不同的slam构图算法进行多地图构建,例如gmapping、slam_karto和cartographer等等。当移动机器人1完成从一张地图到下一张地图的转换时,它将准备好在第二张地图上进行导航的任务。移动机器人1进行地图切换时,会重新加载新地图到系统内存中用于导航,这时候旧地图的信息就会被抹除,加载的地图信息都是新地图的信息,因此要完成两张地图之间的完美过渡,本方法进行切换的两张地图之间要有一定的重叠区域,以便移动机器人1能够在每次转换时继续进行导航任务。在构建完成一张地图时,移动机器人1需要记录自身在当前地图坐标系下构图结束点的位置信息,然后以当前地图的结束位置作为起始点,开始构建下一张地图。通过这一操作,移动机器人1就可以计算出这两张地图之间的变换关系,这是移动机器人1完成多地图切换导航任务的重要条件之一。

在多地图构建的步骤完成后,本方法需要设置每一张地图的基本信息,这里的基本信息主要包括地图的名称、每张地图之间的变换关系以及地图之间的过渡区域,本方法以yaml文件中的参数来定义每张地图的基本信息。首先,在所有地图构建完成后,需要为每张地图提供描述性名称,以便多地图切换算法在定义地图切换时可以正确使用它们。然后,第二项需要定义的参数是所有地图相对于基准地图的变换关系,基准地图是从第一步构建的多张地图中选择,一般选择第一张地图作为所有地图的基准地图,而这里的变换关系指的是平移和旋转变换。最后,第三项需要定义的参数是每张地图跟相连地图的过渡区域,本方法使用“虫洞”来定义地图之间的过渡区域,虫洞是一个具有设定半径的圆形区域。

下面根据附图说明本发明提供的基于多地图切换导航方法的具体流程。第一,移动机器人1首先启动导航节点,然后加载yaml文件中保存的多地图信息,这里的多地图信息包含每张地图的名称、地图之间的变换关系和以及地图的虫洞信息。第二,当多地图信息加载成功后,移动机器人1就可以开始接收导航目标点。移动机器人1接收应用层发送的导航目标点,目标点除了含有坐标和方向信息以外,还包含地图名称信息,即导航目标点位于哪一张地图。第三,移动机器人1接收导航目标点后,会对目标点进行分析,判断是否在当前地图上。若是,则机器人1不需要进行地图切换,在当前地图上执行导航任务,最后到达当前地图的目标点。若否,则机器人1需要通过地图切换导航到最终目标点,这个目标点是在另一张地图上的。机器人1将会根据当前地图上的所有虫洞信息,计算能够到达最终目标点的一个最优虫洞,最优虫洞的选择方法如下,遍历当前地图上的所有虫洞,计算得到和最终目标点的欧氏距离最小的一个虫洞,然后选择这个最优虫洞作为过渡目标点。由于多地图之间是通过虫洞连接在一起的,所以当机器人1进入最优虫洞后,它会加载相邻地图的信息,接着在虫洞中进行导航地图的切换。地图切换成功后,机器人1会根据两张地图之间的变换矩阵,计算自身在新地图的位姿并对导航位姿进行更新。然后会回到第三步,机器人1继续判断最终目标点是否在当前地图上,这样一直到机器人1切换到最终目标点所在的地图上,并且成功到达最终目标点为止。以上就是基于多地图切换导航方法的具体流程。

以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。

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