本发明涉及机器人,具体而言,涉及一种导航方法、装置、可读存储介质和机器人。
背景技术:
1、在相关技术中,机器人通过同步定位与建图(simultaneous localization andmapping,slam)来解决机器人在未知环境运动时的导航寻路需求。
2、而由于机器人的嵌入式设备的运算能力和内存大小,限制了机器人构建的地图尺寸,如果机器人运行的场景较大,则需要对整体地图极性分割,建立分区域的地图,根据机器人的实时所在区域来加载特定区域的地图。
3、当机器人跨地图作业时,在机器人进入新的地图区域后,需要重新对机器人进行定位,一般是通过人工来手动标定机器人的位姿,人工开销大,效率低。
技术实现思路
1、本技术实施例的目的是提供一种导航方法、装置、可读存储介质和机器人,能够解决机器人跨地图作业时需要人工标定机器人位姿,人工开销大的问题。
2、为此,本发明的第一方面提出一种导航方法。
3、本发明的第二方面提出一种导航装置。
4、本发明的第三方面提出一种导航装置。
5、本发明的第四方面提出一种可读存储介质。
6、本发明的第五方面提出一种计算机程序产品。
7、本发明的第六方面提出一种机器人。
8、有鉴于此,本发明的第一方面提供了一种导航方法,由机器人执行,导航方法包括:获取机器人的第一位姿信息;在第一位姿信息位于第一子区域地图内,且机器人的目标导航点位于第二子区域地图内的情况下,在第一子区域地图和第二子区域地图的重叠区域中,确定目标中继点;确定机器人在目标中继点的第二位姿信息;根据第二位姿信息控制机器人运动至目标导航点。
9、在该技术方案中,导航方法应用于机器人自动走行,在机器人执行移动作业时,机器人根据当前自身的位置信息、当前所处区域的区域地图和目标导航点的目标位姿信息,来规划导航路径,并按照导航路径来执行移动作业。
10、而受限于机器人嵌入式系统的运算能力和内存大小,机器人加载的地图一般是分区建立的子区域地图,因此当机器人长距离走行时,可能会面临切换地图的问题。而机器人的定位是基于当前加载的子区域地图进行的,因此当机器人进行跨图作业,也即运动过程中切换加载的地图时,则需要针对重新加载的新地图进行重新定位,即确定机器人在新地图中的位姿信息,这个过程一般需要工作人员手动进行位姿标定,造成人工成本开销大,且机器人自动工作效率低。
11、针对上述情况,本技术实施例在建立分区地图时,使相邻的子区域地图之间,保留有部分重叠区域,以第一子区域地图和第二子区域地图为例,第一子区域地图和第二子区域地图之间,存在至少部分重合的区域,记为重叠区域。
12、当机器人需要由第一子区域地图的工作区域跨地图移动至第二子区域地图的工作区域时,假设当前机器人在第一子区域地图中的位姿信息为第一位姿信息,则机器人首先在第一子区域地图和第二子区域地图的重叠区域中,确定一个目标中继点,该目标中继点可以是随机选取的,且目标中继点的坐标落入到第一子区域地图和第二子区域地图的重叠区域内。
13、能够理解的是,该目标中继点是机器人可以移动到的点位,也即机器人能够由当前所在的点位移动至目标中继点。实例性地,可以根据当前机器人的第一位姿信息,和目标中继点的坐标信息来规划导航路径,并通过该导航路径来控制机器人走行到目标中继点。
14、在得到目标中继点后,进一步确定机器人在运动到目标中继点后的位姿信息,也即第二位姿信息。具体地,由于目标中继点在第一子区域地图和第二子区域地图的重叠区域,因此目标中继点既在第一子区域地图中,也在第二子区域地图中。
15、因此可以根据在建立第一子区域地图和第二子区域地图时,创建两者间的重叠区域中的点位,分别在第一子区域地图和第二子区域地图的映射关系,假设目标中继点p,其在第一子区域地图中为点p1(x1,y1,theta1),而在第二子区域地图中为点p2(x2,y2,theta2),则可以通过建立p1和p2之间的映射关系,当机器人通过加载第一子区域地图运动至p1时,切换加载第二子区域地图,此时根据p1和p2之间的映射关系,即可确定出机器人在第二子区域地图中的位姿p2,因此无需在切换地图后重新手动定位。
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、根据机器人在第二子区域地图中的第二位姿信息和目标导航点在第二子区域地图中的坐标信息,控制机器人走行至目标导航点,实现了高效的跨地图作业。
44、在上述任一技术方案中,第一位姿信息和第二位姿信息均包括:机器人加载的子区域地图、机器人的坐标信息和机器人的朝向信息。
45、在该技术方案中,机器人的位姿信息,具体包括第一位姿信息以及第二位姿信息,位姿信息包括机器人当前加载的子区域地图的信息,以及机器人在当前子区域地图中的坐标信息,还包括机器人的朝向信息。
46、示例性地,机器人的位姿信息的格式可以设置为:(地图a,x1,y1,theta1),其中,地图a为机器人当前加载的子区域地图的标识,x1、y1为机器人所在位置的坐标信息,theta1为机器人当前的朝向信息。
47、本发明第二方面提供了一种导航装置,用于机器人,导航装置包括:
48、获取模块,用于获取机器人的第一位姿信息;
49、确定模块,用于:
50、在第一位姿信息位于第一子区域地图内,且机器人的目标导航点位于第二子区域地图内的情况下,在第一子区域地图和第二子区域地图的重叠区域中,确定目标中继点;确定机器人在目标中继点的第二位姿信息;
51、控制模块,用于根据第二位姿信息控制机器人运动至目标导航点。
52、在该技术方案中导航方法应用于机器人自动走行,在机器人执行移动作业时,机器人根据当前自身的位置信息、当前所处区域的区域地图和目标导航点的目标位姿信息,来规划导航路径,并按照导航路径来执行移动作业。
53、而受限于机器人嵌入式系统的运算能力和内存大小,机器人加载的地图一般是分区建立的子区域地图,因此当机器人长距离走行时,可能会面临切换地图的问题。而机器人的定位是基于当前加载的子区域地图进行的,因此当机器人进行跨图作业,也即运动过程中切换加载的地图时,则需要针对重新加载的新地图进行重新定位,即确定机器人在新地图中的位姿信息,这个过程一般需要工作人员手动进行位姿标定,造成人工成本开销大,且机器人自动工作效率低。
54、针对上述情况,本技术实施例在建立分区地图时,使相邻的子区域地图之间,保留有部分重叠区域,以第一子区域地图和第二子区域地图为例,第一子区域地图和第二子区域地图之间,存在至少部分重合的区域,记为重叠区域。
55、当机器人需要由第一子区域地图的工作区域跨地图移动至第二子区域地图的工作区域时,假设当前机器人在第一子区域地图中的位姿信息为第一位姿信息,则机器人首先在第一子区域地图和第二子区域地图的重叠区域中,确定一个目标中继点,该目标中继点可以是随机选取的,且目标中继点的坐标落入到第一子区域地图和第二子区域地图的重叠区域内。
56、能够理解的是,该目标中继点是机器人可以移动到的点位,也即机器人能够由当前所在的点位移动至目标中继点。实例性地,可以根据当前机器人的第一位姿信息,和目标中继点的坐标信息来规划导航路径,并通过该导航路径来控制机器人走行到目标中继点。
57、在得到目标中继点后,进一步确定机器人在运动到目标中继点后的位姿信息,也即第二位姿信息。具体地,由于目标中继点在第一子区域地图和第二子区域地图的重叠区域,因此目标中继点既在第一子区域地图中,也在第二子区域地图中。
58、因此可以根据在建立第一子区域地图和第二子区域地图时,创建两者间的重叠区域中的点位,分别在第一子区域地图和第二子区域地图的映射关系,假设目标中继点p,其在第一子区域地图中为点p1(x1,y1,theta1),而在第二子区域地图中为点p2(x2,y2,theta2),则可以通过建立p1和p2之间的映射关系,当机器人通过加载第一子区域地图运动至p1时,切换加载第二子区域地图,此时根据p1和p2之间的映射关系,即可确定出机器人在第二子区域地图中的位姿p2,因此无需在切换地图后重新手动定位。
59、在得到机器人在目标中继点的第二位姿信息,也即在第二子区域地图中的位姿信息后,根据该第二位姿信息和机器人的目标导航点的坐标,即可在第二子区域地图中规划引导机器人前往目标导航点的导航路径,从而控制机器人跨地图移动到目标点位。
60、本技术实施例通过在相邻的子区域地图的重叠区域中选取目标中继点,并通过目标中继点将机器人在当前地图中的位姿信息映射切换为在即将切换的地图中的位姿信息,从而实现机器人跨地图移动时的自动定位,无需借助人工来输入切换地图后的位姿信息,节约了人工成本,提高了机器人跨地图工作的效率。
61、本发明第三方面提供了一种导航装置,包括:存储器,用于存储程序或指令;处理器,用于执行该程序或指令时实现如上述任一技术方案中提供的导航方法的步骤,因此也包括上述任一技术方案中提供的导航方法的全部有益效果,为了避免重复,在此不再赘述。
62、本发明第四方面提供了一种可读存储介质,其上存储有程序或指令,该程序或指令被处理器执行时视线如上述任一技术方案中提供的导航方法的步骤,因此也包括上述任一技术方案中提供的导航方法的全部有益效果,为了避免重复,在此不再赘述。
63、本发明第五方面提供了一种计算机程序产品,计算机程序产品被存储在存储介质中,该计算机程序产品被至少一个处理器执行时实现如上述任一技术方案中提供的导航方法的步骤,因此也包括上述任一技术方案中提供的导航方法的全部有益效果,为了避免重复,在此不再赘述。
64、本发明第六方面提供了一种机器人,包括如上述任一技术方案中提供的导航装置;和/或如上述任一技术方案中提供的可读存储介质;和/或如上述任一技术方案中提供的计算机程序产品,因此也包括其全部有益效果,为了避免重复,在此不再赘述。
65、在上述技术方案中,机器人还包括:本体;走行装置,设于本体,用于带动本体运动。
66、在该技术方案中,机器人的本体上设置有机器人的功能组件,如储物组件、抓取组件、执行组件和/或工具组件等。本体上还设置有走行装置,走行装置包括走行轮、走行履带和/或机械腿等。
67、在上述任一技术方案中,机器人还包括:定位模块,用于获取机器人的位置信息。
68、在该技术方案中,定位模块可以是gps(global positioning system,全球定位系统)模块,也可以是微波雷达模块,也可以是图像传感器模块或无线通信模块。
69、其中,图像传感器模块通过扫描机器人当前所在区域内张贴的定位标识,根据定位标识来获取定位信息。无线通信模块能够与机器人的调度系统进行通信,并接收机器人调度系统发送的定位信息。