机器人导航方法、装置、机器人及存储介质与流程

文档序号:28487594发布日期:2022-01-15 01:41阅读:54来源:国知局
机器人导航方法、装置、机器人及存储介质与流程

1.本发明涉及机器人技术领域,尤其涉及一种机器人导航方法、装置、机器人及存储介质。


背景技术:

2.现有移动服务机器人无需人工干预能够自主代替人工完成很多工作,如跑腿、配送、引导等,移动服务机器人能够基于导航地图进行导航避障,但移动服务机器人的处理导航的计算能力较低,在跨园区跨楼层或其他复杂场景服务时,需要加载的静态地图较大,此时移动服务机器人的路径规划效率较低,避障反应不够及时。
3.上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。


技术实现要素:

4.本发明的主要目的在于提供一种机器人导航方法、装置、机器人及存储介质,旨在解决现有技术机器人在复杂场景下无法快速导航的技术问题。
5.为实现上述目的,本发明提供了一种机器人导航方法,所述方法包括以下步骤:
6.获取机器人的当前位置、目标位置以及第一地图;
7.基于所述当前位置、所述目标位置以及所述第一地图通过预设路径规划模型确定第一导航路径;
8.确定所述第一导航路径依次经过的多个局部区域,加载所述机器人当前位置所在的局部区域所对应的第二地图;
9.确定加载的所述第二地图是否为所述目标位置所在的局部地图;
10.若确定所述第二地图不是所述目标位置所在的局部地图,则根据所述第二地图导航离开所述第二地图所对应的局部区域,释放当前局部区域所对应的第二地图,并根据所述第一导航路径的前进方向加载下一个局部区域所对应的第二地图;
11.返回执行所述确定加载的所述第二地图是否为所述目标位置所在的局部地图的步骤及后续步骤;
12.若确定所述第二地图是所述目标位置所在的局部地图,则根据所述第二地图导航至所述目标位置。
13.可选地,所述获取机器人的当前位置、目标位置以及第一地图的步骤之前,包括:
14.获取环境信息,将环境信息规划为路段、交叉路口和建筑物,路段、交叉路口和建筑物分别表示一局部区域;
15.路段的两端分别设置有一个进出口点,交叉路口的每个路口分别设置有一个进出口点,建筑物设置有一个进出口点,路段、交叉路口和建筑物通过进出口点连接,构建所述第一地图。
16.可选地,所述机器人导航方法,还包括:
17.分别对每一局部区域构建对应的第二地图,其中,所述第二地图为用于机器人定位导航的栅格地图。
18.可选地,所述基于所述当前位置、所述目标位置以及所述第一地图通过预设路径规划模型确定第一导航路径,包括:
19.获取所述第一地图中的进出口点的位置信息;
20.根据所述当前位置、所述目标位置和所述进出口点的位置信息规划所述第一导航路径,其中,位于所述第一导航路径的两个相邻的所述进出口点是同一局部区域的进出口点。
21.可选地,所述确定所述第一导航路径依次经过的多个局部区域,加载所述机器人当前位置所在的局部区域所对应的第二地图,包括:
22.获取所述机器人当前位置所在的坐标确定初始位置的局部区域、获取目标位置所在的坐标确定终点位置的局部区域,根据位于所述第一导航路径的两个相邻的所述进出口点确定途经的局部区域;
23.根据所述第一导航路径的前进方向,加载所述机器人当前位置所在的局部区域所对应的第二地图,所述第二地图用于机器人定位导航。
24.可选地,所述若确定所述第二地图不是所述目标位置所在的局部地图,则根据所述第二地图导航离开所述第二地图所对应的局部区域,释放当前局部区域所对应的第二地图,并根据所述第一导航路径的前进方向加载下一个局部区域所对应的第二地图,包括:
25.若所述目标位置的坐标不在所述第二地图的范围之内,则所述第二地图不是所述目标位置所在的局部地图;
26.根据所述第一导航路径的前进方向和所述第二地图中的进出口点,基于所述第二地图定位导航至所述第二地图中与下一个局部区域相连接的进出口点;
27.释放当前局部区域所对应的第二地图,并根据所述第一导航路径的前进方向加载下一个局部区域所对应的第二地图作为当前局部区域的第二地图。
28.可选地,所述根据所述第一导航路径的前进方向和所述第二地图中的进出口点,基于所述第二地图定位导航至所述第二地图中与下一个局部区域相连接的进出口点,包括:
29.根据所述第一导航路径的前进方向,确定位于所述第二地图中的最靠近所述第一导航路径的前进方向末端的进出口点作为局部终点,所述局部终点是所述第二地图中与下一个局部区域相连接的进出口点;
30.根据所述机器人所在位置和所述局部终点作路径规划以获得第二导航路径;
31.根据所述第二导航路径定位导航至所述局部终点。
32.此外,为实现上述目的,本发明还提出一种机器人导航装置,所述机器人导航装置包括:
33.获取模块,用于获取机器人的当前位置、目标位置以及第一地图;
34.规划模块,用于基于所述当前位置、所述目标位置以及所述第一地图通过预设路径规划模型确定第一导航路径;
35.加载模块,用于确定所述第一导航路径依次经过的多个局部区域,加载所述机器人当前位置所在的局部区域所对应的第二地图;
36.确定模块,用于确定加载的所述第二地图是否为所述目标位置所在的局部地图;
37.导航模块,用于若确定所述第二地图不是所述目标位置所在的局部地图,则根据所述第二地图导航离开所述第二地图所对应的局部区域,释放当前局部区域所对应的第二地图,并根据所述第一导航路径的前进方向加载下一个局部区域所对应的第二地图;
38.所述确定模块,还用于返回执行所述确定加载的所述第二地图是否为所述目标位置所在的局部地图的步骤及后续步骤;
39.所述导航模块,还用于若确定所述第二地图是所述目标位置所在的局部地图,则根据所述第二地图导航至所述目标位置。
40.此外,为实现上述目的,本发明还提出一种机器人,所述机器人包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的机器人导航程序,所述机器人导航程序配置为实现如上文所述的机器人导航方法。
41.此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有机器人导航程序,所述机器人导航程序被处理器执行时实现如上文所述的机器人导航方法。
42.本发明通过获取机器人的当前位置、目标位置以及第一地图;基于所述当前位置、所述目标位置以及所述第一地图通过预设路径规划模型确定第一导航路径;确定所述第一导航路径依次经过的多个局部区域,加载所述机器人当前位置所在的局部区域所对应的第二地图;确定加载的所述第二地图是否为所述目标位置所在的局部地图;若确定所述第二地图不是所述目标位置所在的局部地图,则根据所述第二地图导航离开所述第二地图所对应的局部区域,释放当前局部区域所对应的第二地图,并根据所述第一导航路径的前进方向加载下一个局部区域所对应的第二地图;返回执行所述确定加载的所述第二地图是否为所述目标位置所在的局部地图的步骤及后续步骤;若确定所述第二地图是所述目标位置所在的局部地图,则根据所述第二地图导航至所述目标位置。通过先确定复杂场景下基本方位的第一导航路径,然后根据第一导航路径确定机器人需要依次经过的多个局部区域,再依次加载机器人当前位置所在的局部区域对应的第二地图,按照第二地图进行导航,当离开当前位置的局部区域后将当前局部区域的第二地图释放,并切换下一个局部区域对应的第二地图,直至机器人到达目标位置,充分拓展了机器人的使用范围,将机器人所在的全部区域进行分区,将各局部区域的地图分开存储,在使用静态地图时,根据需要加载局部区域对应的地图,能够灵活应对复杂场景和大面积地图,避免了需要一次性加载全部地图的弊端,提高了机器人路径规划的效率和避障时的处理速度,同时充分拓展了机器人的使用范围同时提升了使用效率。
附图说明
43.图1是本发明实施例方案涉及的硬件运行环境的机器人导航设备的结构示意图;
44.图2为本发明机器人导航方法第一实施例的流程示意图;
45.图3为本发明机器人导航方法一实施例的区域划分示意图;
46.图4为本发明机器人导航方法一实施例的路径规划示意图;
47.图5为本发明机器人导航方法第二实施例的流程示意图;
48.图6为本发明导航装置第一实施例的结构框图。
49.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
50.应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
51.参照图1,图1为本发明实施例方案涉及的硬件运行环境的机器人导航设备结构示意图。
52.如图1所示,该机器人导航设备可以包括:处理器1001,例如中央处理器(central processing unit,cpu),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(wireless-fidelity,wi-fi)接口)。存储器1005可以是高速的随机存取存储器(random access memory,ram)存储器,也可以是稳定的非易失性存储器(non-volatile memory,nvm),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
53.本领域技术人员可以理解,图1中示出的结构并不构成对机器人导航设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
54.如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及机器人导航程序。
55.在图1所示的机器人导航设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明机器人导航设备中的处理器1001、存储器1005可以设置在机器人导航设备中,所述机器人导航设备通过处理器1001调用存储器1005中存储的机器人导航程序,并执行本发明实施例提供的机器人导航方法。
56.本发明实施例提供了一种机器人导航方法,参照图2,图2为本发明一种机器人导航方法第一实施例的流程示意图。
57.本实施例中,所述机器人导航方法包括以下步骤:
58.步骤s10:获取机器人的当前位置、目标位置以及第一地图。
59.本实施例的执行主体为可移动服务机器人的控制器,控制器获取机器人所处的当前位置,并根据用户发送的指令得到所要达到的目标位置,并获取所处当前位置的第一地图,根据当前位置、目标位置和第一地图确定第一导航路径,即确定机器人的基本移动方向,再根据第一导航路径确定基本移动方向上依次经过的多个局部区域,并加载机器人当前位置所在的局部区域对应的第二地图。当加载的第二地图不是目标位置所在的局部地图时,根据第二地图导航离开第二地图所对应的局部区域,同时释放当前局部区域所对应的第二地图,并根据第一导航路径的前进方向加载下一个局部区域所对应的第二地图,重复执行确定加载的第二地图是否为目标位置所在的局部地图的步骤及后续步骤,直至机器人根据第二地图导航至目标位置。
60.所述机器人的当前位置指的是机器人当前所处的位置,所述目标位置指的是机器人所要到达的终点,在用户发出需求指令后,机器人对需求指令进行接收识别,得到其中的目标位置,所述第一地图是机器人预先存储的当前位置和目标位置对应区域的地图,包括当前位置周围的环境信息。
61.在具体实现中,为了提高机器人在加载地图时的效率,需要提前构建全区域的环境地图。进一步地,所述获取机器人的当前位置、目标位置以及第一地图的步骤之前,包括:
获取环境信息,将环境信息规划为路段、交叉路口和建筑物,路段、交叉路口和建筑物分别表示一局部区域;路段的两端分别设置有一个进出口点,交叉路口的每个路口分别设置有一个进出口点,建筑物设置有一个进出口点,路段、交叉路口和建筑物通过进出口点连接,构建所述第一地图。
62.例如,机器人活动于园区或社区内,园区包括有建筑物、室外的路段和室外的交叉路口。获取机器人全区域的环境信息,全区域为机器人活动的园区或社区,全区域内的环境信息包括机器人所处的当前位置和需要到达的目标位置的环境信息,将环境信息规划为路段、交叉路口和建筑物,路段、交叉路口和建筑物分别表示一局部区域,同时路段的两端分别设置有一个进出点,交叉路口的每个路口分别设置有一个进出口点,建筑物设置有一个进出口点,路段、交叉路口和建筑物通过进出口点连接,构建机器人所处全区域的第一地图。如图3所示,当前机器人所处位置为a1楼宇内,目标位置为a5楼宇内,在当前位置和目标位置对应的全区域第一地图中,a1~a7为第一地图中的楼宇建筑物,b1~b13为第一地图中的路段,c1~c5为第一地图中的交叉路口,可以将第一地图划分成a1、a2、a3、a4、a5、a6、a7、b1、b2、b3、b4、b5、b6、b7、b8、b9、b10、b11、b12、b13、c1、c2、c3、c4、c5,总共25个局部区域,图中的
×
为各路段、交叉路口和建筑物即各局部区域的进出口点,例如d1为a1局部区域的进出口点,d1、d2为b1局部区域的进出口点,d2、d3为c1局部区域的进出口点,d3、d4为b3局部区域的进出口点,d4、d5为c2局部区域的进出口点,d5、d6为b6局部区域的进出口点,d6、d7为c3局部区域的进出口点,d7、d8为b8局部区域的进出口点,d8为a5局部区域的进出口点。
63.在对全区域的第一地图进行分区得到多个局部区域后,需要分别对各局部区域进行地图构建。进一步地,机器人导航方法,还包括:分别对每一局部区域构建对应的第二地图,其中,所述第二地图为用于机器人定位导航的栅格地图。
64.在得到多个局部区域后,机器人会提前分别对每一个局部区域构建对应的第二地图,第二地图为栅格地图。机器人会在每个局部区域内移动,通过激光雷达或深度相机获取各个局部区域对应的环境信息,根据环境信息基于slam(simultaneous localization and mapping)技术构建栅格地图。在构建每个局部区域对应的第二地图时,会在进出口进行标记,标记的进出口点用于进入下一局部区域,也即是和下一个局部区域相关联的位置点,在进入或走出每一个第二地图时,均会设置有对应的固定位置点即进出口点,各个局部区域对应的第二地图是通过各个进出口点关联。
65.步骤s20:基于所述当前位置、所述目标位置以及所述第一地图通过预设路径规划模型确定第一导航路径。
66.在获取当前位置、目标位置以及第一地图后,可以通过预设路径规划模型确定第一导航路径,预设路径规划模型指的是通过a星算法对第一地图进行路径规划的路径规划模型,其中,如图4,将每一个局部区域均当作一栅格处理,通过a星算法规划出当前位置至目标位置的第一导航路径r,在第一导航路径r所经过的所有局部区域中,除了当前位置和目标位置所在的局部区域之外,其他的局部区域是路段和/或交叉路口。
67.为了得到更为准确的第一导航路径,进一步地,所述基于所述当前位置、所述目标位置以及所述第一地图通过预设路径规划模型确定第一导航路径,包括:获取所述第一地图中的进出口点的位置信息;根据所述当前位置、所述目标位置和所述进出口点的位置信息规划所述第一导航路径,其中,位于所述第一导航路径的两个相邻的所述进出口点是同
一局部区域的进出口点。
68.在得到第一地图后,需要获取第一地图中所存在的进出口点的位置信息,位置信息包括进出口的位置坐标以及与建筑物、交叉路口和路段之间的关联关系,基于进出口的位置信息、机器人当前位置和目标位置进行路径规划。
69.基于机器人的当前位置的位置坐标和目标位置的位置坐标以及进出口的位置坐标以及与建筑物、交叉路口和路段之间的关联关系,利用预设路径规划模型经过各进出口点将当前位置和目标位置进行连接,即依次查找距离当前位置最近的进出口点,依次连接各距离最近的进出口点直至到达目标位置,从而得到对应的第一导航路径,其中,在第一导航路径的两个相邻的进出口点是同一局部区域的进出口点,例如d1、d2两进出口点相邻,均位于b1路段,则说明d1、d2是b1路段的进出口点。
70.在具体实现中,如图4所示,图中的a1~a5为机器人当前服务园区的建筑物,b1~b9为机器人当前服务园区建筑物与建筑物之间的路段,c1~c5为路段与路段之间的交叉路口,d1~d8为各局部区域之间的进出口点。d8为b8的进出口点,同时也是a5的进出口点。机器人的当前位置是位于a1建筑物内,要前往a5建筑物的203房间,通过预设路径规划模型确定的第一导航路径r为从a1建筑物依次经过d1~d8进出口点最终从a1至a5。
71.步骤s30:确定所述第一导航路径依次经过的多个局部区域,加载所述机器人当前位置所在的局部区域所对应的第二地图。
72.在获取第一导航路径后,根据第一导航路径上的各进出口点可以确定对应的局部区域,并加载机器人当前位置所在的局部区域对应的第二地图。
73.步骤s40:确定加载的所述第二地图是否为所述目标位置所在的局部地图。
74.在获取到机器人当前位置所的局部区域对应的第二地图后,将目标位置的坐标在第二地图内进行遍历,判断目标位置的坐标是否在第二地图范围内从而确定加载的第二地图是否为目标位置所在的局部地图。当目标位置的坐标在第二地图范围内时,确定加载的第二地图为目标位置所在的局部地图,当目标位置的坐标不在第二地图范围内时,确定加载的第二地图不是目标位置所在的局部地图。
75.步骤s50:若确定所述第二地图不是所述目标位置所在的局部地图,则根据所述第二地图导航离开所述第二地图所对应的局部区域,释放当前局部区域所对应的第二地图,并根据所述第一导航路径的前进方向加载下一个局部区域所对应的第二地图。
76.若确定第二地图不是目标位置所在的局部地图,则根据第二地图导航离开第二地图对应的局部区域,当机器人到达当前位置所在的局部区域的进出点时,需要释放当前局部区域所对应的第二地图,同时根据第一导航路径的前进方向加载下一个局部区域对应的第二地图。例如机器人的当前位置为a1局部区域的p1,p1所在的局部区域对应的第二地图m1中并不存在目标位置,则按照第二地图导航离开当前局部区域,当到达p1所在的局部区域的进出口点后释放第二地图m1,根据前进方向加载下一个局部区域对应的第二地图m2。
77.在具体实现中,步骤s50之后,需要返回执行所述确定加载的所述第二地图是否为所述目标位置所在的局部地图的步骤及后续步骤。
78.需要说明的是,在机器人所处当前位置所在的局部区域对应的第二地图中为目标位置所在的局部地图之前,需要返回执行确定加载的机器人当前位置所在的局部区域对应的第二地图是否为目标位置所在的局部地图,若不是则按照第二地图导航离开当前局部区
域并释放当前局部区域的第二地图并根据第一导航路径的前进方向加载下一个局部区域所对应的第二地图步骤。
79.例如,如图4所示,机器人当前位置p1,目标位置为p2,p1位于a1建筑物内,p2位于a5建筑物内,加载当前位置p1对应的局部区域对应的第二地图m1(对应于a1局部区域),此时判断目标位置p2不在第二地图m1内,则按照当前第二地图m1导航离开当前局部区域,当到达当前局部区域的d1进出口点时,释放当前局部区域的第二地图m1。根据第一导航路径r的前进方向加载下一个局部区域对应的第二地图m2(对应于b1局部区域),此时判断目标位置p2不在第二地图m2内,则按照当前第二地图m2导航离开当前局部区域,当到达当前局部区域的d2进出口点时,释放当前局部区域的第二地图m2。根据第一导航路径r的前进方向加载下一个局部区域对应的第二地图m3,返回执行确定加载的第二地图m3是否为目标位置p2所在的局部地图的步骤及后续步骤,直至机器人到达的当前局部区域的d8进出口点时,释放b8局部区域的第二地图,并根据第一导航路径r的前进方向加载下一个局部区域(a5局部区域)对应的第二地图,此时判断目标位置p2在a5局部区域对应的第二地图内,则按照当前第二地图导航至目标位置p2。
80.s60:若确定所述第二地图是所述目标位置所在的局部地图,则根据所述第二地图导航至所述目标位置。
81.若确定机器人当前位置所在的局部区域对应的第二地图为目标位置所在的局部地图时,则根据第二地图导航至目标位置。
82.本实施例通过获取机器人的当前位置、目标位置以及第一地图;基于所述当前位置、所述目标位置以及所述第一地图通过预设路径规划模型确定第一导航路径;确定所述第一导航路径依次经过的多个局部区域,加载所述机器人当前位置所在的局部区域所对应的第二地图;确定加载的所述第二地图是否为所述目标位置所在的局部地图;若确定所述第二地图不是所述目标位置所在的局部地图,则根据所述第二地图导航离开所述第二地图所对应的局部区域,释放当前局部区域所对应的第二地图,并根据所述第一导航路径的前进方向加载下一个局部区域所对应的第二地图;返回执行所述确定加载的所述第二地图是否为所述目标位置所在的局部地图的步骤及后续步骤;若确定所述第二地图是所述目标位置所在的局部地图,则根据所述第二地图导航至所述目标位置。通过先确定复杂场景下基本方位的第一导航路径,然后根据第一导航路径确定机器人需要依次经过的多个局部区域,再依次加载机器人当前位置所在的局部区域对应的第二地图,按照第二地图进行导航,当离开当前位置的局部区域后将当前局部区域的第二地图释放,并切换下一个局部区域对应的第二地图,直至机器人到达目标位置,充分拓展了机器人的使用范围,将机器人所在的全部区域进行分区,将各局部区域的地图分开存储,在使用静态地图时,根据需要加载局部区域对应的地图,能够灵活应对复杂场景和大面积地图,避免了需要一次性加载全部地图的弊端,提高了机器人路径规划的效率和避障时的处理速度,同时充分拓展了机器人的使用范围同时提升了使用效率。
83.参考图5,图5为本发明一种机器人导航方法第二实施例的流程示意图。
84.基于上述第一实施例,本实施例机器人导航方法中所述步骤s30:确定所述第一导航路径依次经过的多个局部区域,加载所述机器人当前位置所在的局部区域所对应的第二地图,包括:
85.步骤s31:获取所述机器人当前位置所在的坐标确定初始位置的局部区域、获取目标位置所在的坐标确定终点位置的局部区域,根据位于所述第一导航路径的两个相邻的所述进出口点确定途经的局部区域。
86.在得到机器人的当前位置和目标位置后,需要获取当前位置在第一地图上对应的坐标和目标位置在第一地图上对应的坐标,从而确定初始位置的局部区域和终点位置的局部区域。
87.由于第一导航路径上两个相邻的进出口点是同一局部区域的进出口点,即可以确定机器人由初始位置到达终点位置时途径的局部区域。
88.例如,如图4所示,图中的a1~a5为机器人当前服务园区的建筑物,b1~b9为机器人当前服务园区建筑物与建筑物之间的路段,c1~c5为路段与路段之间的交叉路口,d1~d8为各局部区域之间的进出口点,机器人的当前位置是位于a1建筑物内,要前往a5建筑物的203房间,通过预设路径规划模型确定的第一导航路径r为从a1建筑物依次经过d1~d8进出口点最终从a1至a5,机器人当前位置位于a1建筑物内,目标位置为a5建筑物内,进出口点d1和d2相邻确定途径的局部区域为b1,进出口点d2和d3相邻确定途径的局部区域为c1,依次可得到机器人途径的局部区域为a1、b1、c1、b3、c2、b6、c3、b8、a5。
89.步骤s32:根据所述第一导航路径的前进方向,加载所述机器人当前位置所在的局部区域所对应的第二地图,所述第二地图用于机器人定位导航。
90.第一导航路径中有经过各进出口点的先后顺序即前进方向和依次途径的局部区域,根据各进出口点的先后顺序和依次途径的局部区域可加载当前位置所在的局部区域对应的第二地图,当机器人离开当前位置所在的局部区域后,根据第一导航路径的前进方向可加载下一各局部区域对应的第二地图。
91.为了使机器人能更为准确且快速的响应并导航至目标位置,进一步地,所述若确定所述第二地图不是所述目标位置所在的局部地图,则根据所述第二地图导航离开所述第二地图所对应的局部区域,释放当前局部区域所对应的第二地图,并根据所述第一导航路径的前进方向加载下一个局部区域所对应的第二地图,包括:若所述目标位置的坐标不在所述第二地图的范围之内,则所述第二地图不是所述目标位置所在的局部地图;根据所述第一导航路径的前进方向和所述第二地图中的进出口点,基于所述第二地图定位导航至所述第二地图中与下一个局部区域相连接的进出口点;释放当前局部区域所对应的第二地图,并根据所述第一导航路径的前进方向加载下一个局部区域所对应的第二地图作为当前局部区域的第二地图。
92.遍历第二地图内的所有坐标,判断是否存在和目标位置的坐标相同的坐标,若存在,则说明目标位置所在的局部地图为当前位置局部区域对应的第二地图,若不存在,则说明当前位置局部区域对应的第二地图不是目标位置所在的局部地图,此时获取第一导航路径的前进方向于当前位置所在的局部区域对应的第二地图中的进出口点,基于第二地图进行导航,使机器人移动至第二地图中与下一个局部区域相关联的进出口点,释放当前位置所在的局部区域对应的第二地图,获取下一个局部区域对应的第二地图作为当前局部区域的第二地图。
93.例如,机器人当前位置所在的a1局部区域对应的第二地图为m1,此时遍历m1地图内的所有坐标,目标位置的坐标并不在m1地图内,m1地图的进出口点为d1,则根据第二地图
m1定位导航至d1,并根据第一导航路径r上的前进方向为从d1至d2,当机器人到达进出口点d1后,释放第二地图m1,并根据第一导航路径r确定途径的下一个局部区域为b1局部区域,加载下一个局部区域对应的第二地图m2,也即b1局部区域对应的第二地图m2,将第二地图m2作为当前局部区域的第二地图。
94.为了使机器人在局部区域内迅速作出响应并导航离开至当前位置所在局部区域,需要进行局部区域内的路径规划,进一步地,所述根据所述第一导航路径的前进方向和所述第二地图中的进出口点,基于所述第二地图定位导航至所述第二地图中与下一个局部区域相连接的进出口点,包括:根据所述第一导航路径的前进方向,确定位于所述第二地图中的最靠近所述第一导航路径的前进方向末端的进出口点作为局部终点,所述局部终点是所述第二地图中与下一个局部区域相连接的进出口点;根据所述机器人所在位置和所述局部终点作路径规划以获得第二导航路径;根据所述第二导航路径定位导航至所述局部终点。
95.在获取到第一导航路径后,基于第一导航路径的前进方向,确定位于第二地图中的最靠近与第一导航路径的前进方向末端的进出口点作为局部终点,局部终点也为当前区域与下一个局部区域相连接的进出口点,根据机器人所在位置即当前所在位置和局部终点作路径规划获得对应的第二导航路径即局部区域内的导航路径,机器人根据第二导航路径定位导航至局部终点离开当前位置所在的局部区域,并到达前进方向的下一个局部区域的进出口点。
96.例如,机器人当前位置为p1,p1所在a1局部区域所对应的第二地图为m1,m1的进出口点为d1,根据第一导航路径r的前进方向,确定最靠近第一导航路径r的前进方向末端的进出口点为d1,则将d1作为局部终点,下一个局部区域为b1局部区域,d1为a1局部区域和b1局部区域相连接的进出口点,此时根据p1和d1进行路径规划,得到对应的第二导航路径,机器人根据第二导航路径从p1定位导航至d2。
97.本实施例通过获取所述机器人当前位置所在的坐标确定初始位置的局部区域、获取目标位置所在的坐标确定终点位置的局部区域,根据位于所述第一导航路径的两个相邻的所述进出口点确定途经的局部区域;根据所述第一导航路径的前进方向,加载所述机器人当前位置所在的局部区域所对应的第二地图,所述第二地图用于机器人定位导航。通过根据第一导航路径的前进方向确定途径的局部区域,并在到达各局部区域后再加载当前位置所在局部区域对应的第二地图,避免了机器人一次性需要加载全部地图,提高了机器人在复杂场景下的响应能力。
98.此外,参照图6,本发明实施例还提出一种机器人导航装置,所述机器人导航装置包括:
99.获取模块10,用于获取机器人的当前位置、目标位置以及第一地图。
100.规划模块20,用于基于所述当前位置、所述目标位置以及所述第一地图通过预设路径规划模型确定第一导航路径。
101.加载模块30,用于确定所述第一导航路径依次经过的多个局部区域,加载所述机器人当前位置所在的局部区域所对应的第二地图。
102.确定模块40,用于确定加载的所述第二地图是否为所述目标位置所在的局部地图。
103.导航模块50,用于若确定所述第二地图不是所述目标位置所在的局部地图,则根
据所述第二地图导航离开所述第二地图所对应的局部区域,释放当前局部区域所对应的第二地图,并根据所述第一导航路径的前进方向加载下一个局部区域所对应的第二地图。
104.所述确定模块40,还用于返回执行所述确定加载的所述第二地图是否为所述目标位置所在的局部地图的步骤及后续步骤。
105.所述导航模块50,还用于若确定所述第二地图是所述目标位置所在的局部地图,则根据所述第二地图导航至所述目标位置。
106.本实施例通过获取机器人的当前位置、目标位置以及第一地图;基于所述当前位置、所述目标位置以及所述第一地图通过预设路径规划模型确定第一导航路径;确定所述第一导航路径依次经过的多个局部区域,加载所述机器人当前位置所在的局部区域所对应的第二地图;确定加载的所述第二地图是否为所述目标位置所在的局部地图;若确定所述第二地图不是所述目标位置所在的局部地图,则根据所述第二地图导航离开所述第二地图所对应的局部区域,释放当前局部区域所对应的第二地图,并根据所述第一导航路径的前进方向加载下一个局部区域所对应的第二地图;返回执行所述确定加载的所述第二地图是否为所述目标位置所在的局部地图的步骤及后续步骤;若确定所述第二地图是所述目标位置所在的局部地图,则根据所述第二地图导航至所述目标位置。通过先确定复杂场景下基本方位的第一导航路径,然后根据第一导航路径确定机器人需要依次经过的多个局部区域,再依次加载机器人当前位置所在的局部区域对应的第二地图,按照第二地图进行导航,当离开当前位置的局部区域后将当前局部区域的第二地图释放,并切换下一个局部区域对应的第二地图,直至机器人到达目标位置,充分拓展了机器人的使用范围,将机器人所在的全部区域进行分区,将各局部区域的地图分开存储,在使用静态地图时,根据需要加载局部区域对应的地图,能够灵活应对复杂场景和大面积地图,避免了需要一次性加载全部地图的弊端,提高了机器人路径规划的效率和避障时的处理速度,同时充分拓展了机器人的使用范围同时提升了使用效率。
107.在一实施例中,所述获取模块10,还用于获取环境信息,将环境信息规划为路段、交叉路口和建筑物,路段、交叉路口和建筑物分别表示一局部区域;
108.路段的两端分别设置有一个进出口点,交叉路口的每个路口分别设置有一个进出口点,建筑物设置有一个进出口点,路段、交叉路口和建筑物通过进出口点连接,构建所述第一地图。
109.在一实施例中,所述获取模块10,还用于分别对每一局部区域构建对应的第二地图,其中,所述第二地图为用于机器人定位导航的栅格地图。
110.在一实施例中,所述规划模块20,还用于获取所述第一地图中的进出口点的位置信息;
111.根据所述当前位置、所述目标位置和所述进出口点的位置信息规划所述第一导航路径,其中,位于所述第一导航路径的两个相邻的所述进出口点是同一局部区域的进出口点。
112.在一实施例中,所述加载模块30,还用于获取所述机器人当前位置所在的坐标确定初始位置的局部区域、获取目标位置所在的坐标确定终点位置的局部区域,根据位于所述第一导航路径的两个相邻的所述进出口点确定途经的局部区域;
113.根据所述第一导航路径的前进方向,加载所述机器人当前位置所在的局部区域所
对应的第二地图,所述第二地图用于机器人定位导航。
114.在一实施例中,所述导航模块50,还用于若所述目标位置的坐标不在所述第二地图的范围之内,则所述第二地图不是所述目标位置所在的局部地图;
115.根据所述第一导航路径的前进方向和所述第二地图中的进出口点,基于所述第二地图定位导航至所述第二地图中与下一个局部区域相连接的进出口点;
116.释放当前局部区域所对应的第二地图,并根据所述第一导航路径的前进方向加载下一个局部区域所对应的第二地图作为当前局部区域的第二地图。
117.在一实施例中,所述导航模块50,还用于根据所述第一导航路径的前进方向,确定位于所述第二地图中的最靠近所述第一导航路径的前进方向末端的进出口点作为局部终点,所述局部终点是所述第二地图中与下一个局部区域相连接的进出口点;
118.根据所述机器人所在位置和所述局部终点作路径规划以获得第二导航路径;
119.根据所述第二导航路径定位导航至所述局部终点。
120.由于本装置采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
121.此外,本发明实施例还提出一种存储介质,所述存储介质上存储有机器人导航程序,所述机器人导航程序被处理器执行时实现如上文所述的机器人导航方法的步骤。
122.由于本存储介质采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
123.需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
124.另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的机器人导航方法,此处不再赘述。
125.此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
126.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
127.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(read only memory,rom)/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
128.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1