本技术涉及三维栅格地图构建及机器人控制,尤其涉及一种用于机器人路径规划的三维栅格地图的生成方法。此外,本技术还涉及三维栅格地图的解析方法、机器人路径规划方法、地图生成装置、三维栅格地图的解析装置、机器人路径规划装置、存储介质、机器人控制器、机器人控制系统、及其机器人,例如移动机器人、双足机器人、四足机器人或四轮足机器人等。
背景技术:
1、随着机器人技术的发展,机器人可以借助地图构建算法构建地图,并在构建好的地图中进行路径规划。由于地图可以反映机器人周边环境的信息,机器人基于周边环境的信息进行路径规划,因此地图的能否准确反映机器人周边环境的信息对于机器人路径规划尤为重要。
2、目前,在机器人路径规划技术领域中,通常采用常规的2.5d地图或3d地图进行路径规划,两者之间各有特点,3d地图虽然可以显示完整的三维效果,但是其数据量大,应用3d地图进行路径规划时,算力需求较高;导致计算单元发热量大,路径规划速度慢,相比之下,2.5d地图数据量小,能有效解决上述问题,但其只能显示环境高度这一环境信息,并不能显示其它环境信息,因而不能实现完整的三维效果,导致机器人在使用2.5d地图进行路径规划时,无法从障碍物下方穿行。
3、容易看出,对于机器人而言,采用3d地图进行路径规划,对其算力、内存具有较高要求,会带来更大的时间延迟和更高的硬件成本,但可以获取准确的周边环境信息,更有利于路径规划的准确性;采用2.5d地图进行路径规划,虽然对其算力、内存要求较低,可降低时间延迟和硬件成本,但是只能获取环境高度这一环境信息,会降低路径规划的准确性。
技术实现思路
1、为解决或部分解决相关技术中存在的问题,本技术提供了一种用于机器人路径规划的三维栅格地图的生成方法,可以生成适用于机器人路径规划的三维栅格地图,降低三维栅格地图的数据量并显示比2.5d地图更为详细的环境信息,实现降低机器人内存和算力开销的同时获取足以满足机器人路径规划所需的环境信息,以提升机器人路径规划的效率和准确性。
2、第一方面,本技术提供了一种用于机器人路径规划的三维栅格地图的生成方法,包括:针对二维栅格地图中的每一个栅格,根据栅格在高度方向上的物体分布信息,生成栅格对应的数据序列;其中,栅格在高度方向上被划分为n个单位高度,n的取值为大于或等于1的整数,数据序列用于表征n个单位高度中每一个单位高度上有无物体存在,栅格与数据序列之间一一对应;应理解上述栅格在高度方向上的单位高度划分适用于二维栅格地图中的每一个栅格,但是对于不同栅格被划分后的单位高度数量可以相同也可以不相同;上述物体分布信息包括每一个单位高度上有无物体存在的信息;在生成每一个栅格对应的数据序列之后,将每一个数据序列分别映射至二维栅格地图中,生成三维栅格地图。
3、通过本技术第一方面的技术方案,可以实现以下技术效果:针对二维栅格地图中的每一个栅格,对栅格在高度方向上划分为n个单位高度,并生成相应的数据序列,以表征n个单位高度中每一个单位高度上有无物体存在,栅格与数据序列之间一一对应,从而可以准确获知每一个栅格对应的物体分布信息,由于采用数据序列对物体分布信息进行表征,存储数据序列不会占用大量存储空间,因此本技术中的三维栅格地图可以显示比2.5d地图中环境高度之外更为详细的物体分布信息,并且有效地减少三维栅格地图的数据量,降低三维栅格地图的内存和算力开销,对于机器人路径规划而言使用三维栅格地图中高度方向上的物体分布信息不仅可以满足其路径规划需求,还可以提升机器人路径规划的准确性,并且无需经过复杂的数据计算即可解析得到高度方向上的物体分布信息,降低机器人在路径规划时的计算时间,可以提升机器人路径规划的效率。
4、可选的,在第一方面的一种可能的实现方式中,一个数据序列中包括 n个数据,n个数据与n个单位高度之间一一对应,即一个数据对应一个单位高度,每一个数据均分别用于表征该数据对应的单位高度上有无物体存在。在该种可能的实现方式中,将数据序列中的数据与不同的高度位置之间一一对应,由于通过数据序列可以无需计算、直接获知z轴方向上的物体分布信息,并且数据序列所占用的存储空间较小,因此可以有效地节约存储空间。
5、可选的,在第一方面的一种可能的实现方式中,上述n个数据中每一个数据均分别采用m个比特进行存储,m个比特的取值用于表征数据对应的单位高度上有无物体存在,m为大于或等于1且小于或等于32的整数。
6、可选的,在第一方面的一种可能的实现方式中,当上述m取值为1时,n个数据中的每一个数据均分别采用一个比特进行存储,每一个数据对应的取值为0或1。在该种可能的实现方式中,数据序列中的一个数据对应一个比特,即一个比特存储一个数据,由于比特位是计算机最小的存储单元,因此使用比特位存储数据序列中的数据,可以进一步有效地节约存储空间;容易知道,比特位的取值为0和1,与物体的有、无两者状态之间具有对应关系,通过比特位的取值便可以直接获知有物体存在或者无物体存在,无需进行计算,从而可以进一步降低硬件的内存占用率和算力开销。
7、可选的,在第一方面的一种可能的实现方式中,上述根据栅格在高度方向上的物体分布信息,生成栅格对应的数据序列,具体包括:首先,根据物体分布信息,确定栅格在每一个单位高度上的物体情况,物体情况包括存在物体或不存在物体;根据栅格在每一个单位高度上物体情况,确定每一个单位高度对应比特的取值为0或1;按照预设的数据排列方式,依次记录每一个单位高度对应比特的取值,得到所述栅格对应的数据序列。
8、可选的,在第一方面的一种可能的实现方式中,数据排列方式包括高度由低至高或由高至低的排列顺序。
9、可选的,在第一方面的一种可能的实现方式中,当比特的取值为1时,表征单位高度上有物体存在;当比特的取值为0时,表征单位高度上无物体存在。
10、可选的,在第一方面的一种可能的实现方式中,当比特的取值为0时,表征单位高度上有物体存在;当比特的取值为1时,表征单位高度上无物体存在。
11、可选的,在第一方面的一种可能的实现方式中,每一个栅格对应的数据序列中n的取值均相等且为32,每一个栅格对应的数据序列被分别存储为4个字节大小的一个long型数据或float型数据。
12、可选的,在第一方面的一种可能的实现方式中,每一个栅格对应的数据序列中n的取值均相等且为64,每一个栅格对应的数据序列被分别存储为8个字节大小的一个double型数据。
13、可选的,在第一方面的一种可能的实现方式中,二维栅格地图中所有的栅格在高度方向上被划分后n的取值均相等,n的取值为32或64。
14、可选的,在第一方面的一种可能的实现方式中,二维栅格地图中每一个栅格在高度方向上被划分后n的取值是根据各自栅格在高度方向上的最大高度值与单位高度之间的比值确定。
15、可选的,在第一方面的一种可能的实现方式中,在根据栅格在高度方向上的物体分布信息,生成栅格对应的数据序列之前,还包括:获取机器人周边环境的点云数据,点云数据为至少一组深度摄像头采集得到;针对二维栅格地图中每一个栅格,对点云数据进行分析得到每一个栅格的物体分布信息。
16、可选的,在第一方面的一种可能的实现方式中,当m为2时,n个数据中的每四个数据被存储为1个字节大小的一个byte型数据;或,当m为2时,n个数据中的每八个数据被存储为2个字节大小的一个short型数据;或,当m为2时,n个数据中的每十六个数据被存储为4个字节大小的一个long型数据或float型数据;或,当m为2时,n个数据中的每三十二个数据被存储为8个字节大小的一个double型数据。
17、可选的,在第一方面的一种可能的实现方式中,当m为4时,n个数据中的每两个数据被存储为1个字节大小的一个byte型数据;或,当m为4时,n个数据中的每四个数据被存储为2个字节大小的一个short型数据;或,当m为4时,n个数据中的每八个数据被存储为4个字节大小的一个long型数据或float型数据;或,当m为4时,n个数据中的每十六个数据被存储为8个字节大小的一个double型数据。
18、可选的,在第一方面的一种可能的实现方式中,当m为8时,n个数据中的每一个数据被存储为1个字节大小的一个byte型数据;或,当m为8时,n个数据中的每两个数据被存储为2个字节大小的一个short型数据;或,当m为8时,n个数据中的每四个数据存储为4个字节大小的一个long型数据或float型数据;或,当m为8时,n个数据中的每八个数据被存储为8个字节大小的一个double型数据。
19、可选的,在第一方面的一种可能的实现方式中,当m为16时,n个数据中的每一个数据被存储为2个字节大小的一个short型数据;或,当m为16时,n个数据中的每两个数据被存储为4个字节大小的一个long型数据或float型数据;或,当m为16时,n个数据中的每四个数据被存储为8个字节大小的一个double型数据。
20、可选的,在第一方面的一种可能的实现方式中,当m为32时,n个数据中的每一个数据被存储为4个字节大小的一个long型数据或float型数据;或,当m为32时,n个数据中的每两个数据被存储为8个字节大小的一个double型数据。
21、可选的,在第一方面的一种可能的实现方式中,一个数据序列中包括n个数据,每一个数据分别存储为一个比特,其取值为0或1;每一个数据与每一个单位高度之间一一对应,分别用于表征均分别用于表征数据对应的单位高度上有无物体存在;
22、根据栅格在高度方向上的物体分布信息,生成栅格对应的数据序列,包括:根据物体分布信息,确定栅格在每一个单位高度上的物体情况,物体情况包括存在物体或不存在物体;根据栅格在每一个单位高度上物体情况,确定每一个单位高度对应比特的取值为0或1;按照预设的数据排列方式,依次记录每一个单位高度对应比特的取值,得到栅格对应的数据序列。
23、第二方面,本技术提供了一种三维栅格地图的解析方法,包括:执行如上述第一方面及其实现方式中任一项所述的用于机器人路径规划的三维栅格地图的生成方法,得到三维栅格地图,该三维栅格地图用于机器人路径规划;解析三维栅格地图中每一个栅格对应的数据序列,得到每一个栅格的物体分布信息,物体分布信息为每一个栅格在高度方向上每一个单位高度的物体情况,物体情况包括存在物体或不存在物体,以使得三维栅格地图被解析后具有三维效果。
24、通过本技术第二方面的技术方案,可以实现以下技术效果:与常规的三维地图相比,本技术中用于机器人路径规划的三维栅格地图,解析三维栅格地图中每一个栅格对应的数据序列可以得到栅格的物体分布信息,该物体分布信息是栅格在每一个单位高度上是否存在物体的情况,因此不仅可以获知存在物体的最高位置,还可以最高位置与地面之间各个单位高度处有无物体存在,因此使得解析后的三维栅格地图具有三维效果,另外,由于仅仅存储在高度方向上的物体分布信息这一空间信息,因此一方面可以大幅度降低三维栅格地图的数据量,节约硬件设备如机器人的内存和算力开销。
25、第三方面,本技术提供了另一种三维栅格地图的解析方法,包括:执行如上述第一方面及其实现方式中任一项所述的用于机器人路径规划的三维栅格地图的生成方法,得到三维栅格地图,该三维栅格地图用于机器人路径规划;解析三维栅格地图中每一个栅格对应的数据序列,得到每一个栅格的物体分布信息,物体分布信息为每一个栅格在高度方向上存在物体的最高高度值,并将高度值低于最高高度值的所有单位高度上均认定为存在物体,以使得三维栅格地图被解析后具有2.5d栅格地图的2.5d效果。
26、通过本技术第三方面的技术方案,可以实现以下技术效果:由于栅格在高度方向上的物体分布信息包括每一个单位高度上是否存在物体的情况,当然也就可以获知存在物体的最高高度值,并将高度值低于最高高度值的所有单位高度上均认定为存在物体,因此采用此种解析方式对数据序列进行解析,相当于获取了环境高度这一空间信息,从而可以实现将三维栅格地图转换为2.5d地图、实现2.5效果。
27、综上所述,本技术中的三维栅格地图不仅可以实现三维地图的三维效果,还可以实现2.5d地图的2.5d效果。
28、第四方面,本技术还提供了一种机器人路径规划方法,包括:接收路径规划指令,该路径规划指令用于指示为机器人进行路径规划;调用三维栅格地图,并根据路径规划指令的指示对三维栅格地图中每一个栅格对应的数据序列执行解析操作,得到每一个栅格的物体分布信息;其中,三维栅格地图是执行如第一方面及其实现方式中任一项所述的用于机器人路径规划的三维栅格地图的生成方法生成,用于机器人路径规划的地图;使用每一个栅格的物体分布信息执行路径规划操作,得到机器人运动路径。
29、基于第四方面中的技术方案,可以实现以下技术效果:基于本技术中用于机器人路径规划的三维栅格地图,由于与常规的三维地图相比,本技术中的三维栅格地图的数据量较小,并且地图中的物体分布信息足以满足机器人路径规划的需求,对于机器人而言使用本技术中的三维栅格地图可以降低机器人内存和算力开销的同时获取足以满足机器人路径规划所需的环境信息,以提升机器人路径规划的效率和准确性。
30、可选的,在第四方面的一种可能的实现方式中,路径规划指令包括第一指令和第二指令,第一指令用于指示在运动模式a下进行路径规划,运动模式a为允许机器人从物体下方通行;第二指令用于指示在运动模式b下进行路径规划,运动模式b为不允许机器人从物体下方通行。
31、可选的,在第四方面的一种可能的实现方式中,当路径规划指令为第一指令时,执行解析操作包括:执行如权利要求20中的解析方法中的操作,并将每一个栅格在高度方向上每一个单位高度的物体情况作为物体分布信息,物体情况包括存在物体或不存在物体。
32、可选的,在第四方面的一种可能的实现方式中,执行路径规划操作,包括:当在高度方向上物体与地面之间的垂直空隙高度大于一般允许通过高度时,允许机器人以正常姿态从物体下方通行,一般允许通过高度为机器人在正常姿态下通行时的限制高度。
33、可选的,在第四方面的一种可能的实现方式中,当机器人上方被增加第三方配件时,一般允许通过高度是在机器人的自身高度基础上结合第三方配置的垂直高度设置的可确保机器人能以正常姿态通过的高度值。
34、可选的,在第四方面的一种可能的实现方式中,执行路径规划操作,包括:当在高度方向上物体与地面之间的垂直空隙高度大于最低允许通过高度时,允许机器人以低趴姿态从物体下方通行,最低允许通过高度为机器人在低趴姿态下通行时的限制高度,最低允许通过高度低于一般允许通过高度。
35、可选的,在第四方面的一种可能的实现方式中,当机器人上方被增加第三方配件时,最低允许通过高度是在机器人的自身高度基础上结合第三方配置的垂直高度设置的可确保机器人能以低趴姿态通过的高度值。
36、可选的,在第四方面的一种可能的实现方式中,当路径规划指令为第二指令时,执行解析操作包括:执行如权利要求21中的解析方法中的操作,以使得将三维栅格地图转换为2.5d栅格地图,并基于2.5d栅格地图进行路径规划。
37、第五方面,本技术还提供了一种机器人控制系统,包括:存储器、机器人控制器和至少一组深度摄像头;至少一组深度摄像头用于采集机器人周边环境的点云数据;存储器用于存储计算机程序代码指令;机器人控制器通过调用计算机程序代码指令执行如第一方面及其实现方式任一项中所述的用于机器人路径规划的三维栅格地图的生成方法,对点云数据进行处理以生成三维栅格地图并将三维栅格地图存储至存储器中;其中,三维栅格地图中栅格在高度方向上的物体分布信息是控制器从点云数据中获取。
38、可选的,在第五方面的一种可能的实现方式中,在生成三维栅格地图之后,机器人控制器还用于执行如第二方面或第三方面中所述的三维栅格地图的解析方法。
39、可选的,在第五方面的一种可能的实现方式中,在生成三维栅格地图之后,机器人控制器还用于执行如第四方面及其实现方式任一项中所述的机器人路径规划方法。
40、第六方面,本技术还提供了一种地图生成装置,包括:地图生成模块,用于执行以下操作:针对二维栅格地图中每一个栅格,根据栅格在高度方向上的物体分布信息,生成栅格对应的数据序列;其中,栅格在高度方向上被划分为n个单位高度,n的取值为大于或等于1的整数,数据序列用于表征n个单位高度中的每一个单位高度上有无物体存在,栅格与数据序列之间一一对应;将每一个数据序列分别映射至二维栅格地图中,生成三维栅格地图。
41、可选的,在第六方面的一种可能的实现方式中,地图生成模块还用于执行如第一方面的实现方式中任一项所述的用于机器人路径规划的三维栅格地图的生成方法。
42、第七方面,本技术还提供了一种地图生成装置,包括:存储器和处理器,其中存储器上存储有计算机程序代码指令;当计算机程序代码指令被处理器所调用时,使得地图生成装置执行如第一方面及其实现方式中任一项所述的用于机器人路径规划的三维栅格地图的生成方法。
43、第八方面,本技术提供了一种三维栅格地图的解析装置,包括:地图解析模块,用于执行以下操作:执行如第一方面及其实现方式中任一项所述的用于机器人路径规划的三维栅格地图的生成方法,得到三维栅格地图,三维栅格地图用于机器人路径规划;解析三维栅格地图中每一个栅格对应的数据序列,得到每一个栅格的物体分布信息,物体分布信息为每一个栅格在高度方向上每一个单位高度的物体情况,物体情况包括存在物体或不存在物体,以使得三维栅格地图被解析后具有三维效果。
44、第九方面,本技术还提供了另一种三维栅格地图的解析装置,包括:地图解析模块,用于执行以下操作:执行如第一方面及其实现方式中任一项所述的用于机器人路径规划的三维栅格地图的生成方法,得到三维栅格地图,三维栅格地图用于机器人路径规划;解析三维栅格地图中每一个栅格对应的数据序列,得到每一个栅格的物体分布信息,物体分布信息为每一个栅格在高度方向上存在物体的最高高度值,并将高度值低于最高高度值的所有单位高度上均认定为存在物体,以使得三维栅格地图被解析后具有2.5d栅格地图的2.5d效果。
45、第十方面,本技术还提供了另一种三维栅格地图的解析装置,包括:存储器和处理器,其中存储器上存储有计算机程序代码指令;当计算机程序代码指令被处理器所调用时,使得解析装置执行如第二方面或第三方面所述的三维栅格地图的解析方法。
46、第十一方面,本技术提供了一种机器人路径规划装置,包括:路径规划模块,用于执行以下操作:接收路径规划指令,路径规划指令用于指示为机器人进行路径规划;调用三维栅格地图,并根据路径规划指令的指示对三维栅格地图中每一个栅格对应的数据序列执行解析操作,得到每一个栅格的物体分布信息;其中,三维栅格地图是执行如第一方面及其实现方式任一项中所述的用于机器人路径规划的三维栅格地图的生成方法生成,用于机器人路径规划的地图;使用每一个栅格的物体分布信息执行路径规划操作,得到机器人运动路径。
47、可选的,在第十一方面的一种可能的实现方式中,路径规划模块还用于执行如第四方面的实现方式中任一项所述的路径规划方法。
48、第十二方面,本技术提供了机器人控制器,包括:处理器和存储器,其中存储器上存储有计算机程序代码指令;当计算机程序代码指令被处理器所调用时,使得机器人控制器执行:如第一方面及其实现方式中任一项所述的用于机器人路径规划的三维栅格地图的生成方法;和/或,如第二方面或第三方面中所述的三维栅格地图的解析方法;和/或,如第四方面及其实现方式中任一项所述的路径规划方法。
49、第十三方面,本技术提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序代码指令,当计算机程序代码指令被机器人控制器所调用时,使得机器人控制器执行:如第一方面及其实现方式中任一项所述的用于机器人路径规划的三维栅格地图的生成方法;和/或,如第二方面或第三方面中所述的三维栅格地图的解析方法;和/或,如第四方面及其实现方式中任一项所述的路径规划方法。
50、第十四方面,本技术提供了一种移动机器人,该移动机器人具有:如第五方面及其实现方式中任一项所述的机器人控制系统;或如第十二方面中所述的机器人控制器。
51、第十五方面,本技术提供了一种双足机器人,该双足机器人具有:如第五方面及其实现方式中任一项所述的机器人控制系统;或如第十二方面中所述的机器人控制器。
52、第十六方面,本技术提供了一种四足机器人,该四足机器人具有:如第五方面及其实现方式中任一项所述的机器人控制系统;或如第十二方面中所述的机器人控制器。
53、第十七方面,本技术提供了一种四轮足机器人,该四轮足机器人具有:如第五方面及其实现方式中任一项所述的机器人控制系统;或如第十二方面中所述的机器人控制器。
54、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。