一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种栅格地图构建方法、栅格地图构建装置及电子设备与流程

2022-12-10 00:12:34 来源:中国专利 TAG:


1.本技术属于导航技术领域,尤其涉及一种栅格地图构建方法、栅格地图构建装置、电子设备及计算机可读存储介质。


背景技术:

2.目前,使用三维(3-dimension,3d)激光雷达的即时定位与地图构建(simultaneous localization and mapping,slam)技术通常只能得到环境的稀疏三维点云地图。如果存在对用于机器人导航的2d栅格地图的使用需求,则需要对稀疏三维点云地图进行转换。常见的方式是通过cartographer算法来构建2d栅格地图。然而,这种方式只利用到了3d激光雷达的多线束中的某条线束,舍弃了其它线束的测量信息,这将导致无法建立任意指定高度的2d栅格地图。


技术实现要素:

3.本技术提供了一种栅格地图构建方法、栅格地图构建装置、电子设备及计算机可读存储介质,可以准确地构建环境在任意指定高度下的栅格地图。
4.第一方面,本技术提供了一种栅格地图构建方法,包括:
5.根据探测设备在环境中采集到的多帧探测数据构建环境mesh模型;
6.针对每帧探测数据,根据探测数据及指定高度,在环境mesh模型中确定虚拟激光雷达的位置,其中,虚拟激光雷达为通过数据处理而仿真得到的具有激光雷达功能的虚拟设备;
7.以虚拟激光雷达的位置为光源位置,在环境mesh模型中模拟光线投射,其中,投射出的光线平行于环境mesh模型的地平面;
8.在基于各帧探测数据得到对应的光线投射结果后,根据光线投射结果构建环境在指定高度下的栅格地图。
9.第二方面,本技术提供了一种栅格地图构建装置,包括:
10.模型构建模块,用于根据探测设备在环境中采集到的多帧探测数据构建环境mesh模型;
11.位置确定模块,用于针对每帧探测数据,根据探测数据及指定高度,在环境mesh模型中确定虚拟激光雷达的位置,其中,虚拟激光雷达为通过数据处理而仿真得到的具有激光雷达功能的虚拟设备;
12.光线投射模块,用于以虚拟激光雷达的位置为光源位置,在环境mesh模型中模拟光线投射,其中,投射出的光线平行于环境mesh模型的地平面;
13.地图构建模块,用于在基于各帧探测数据得到对应的光线投射结果后,根据光线投射结果构建环境在指定高度下的栅格地图。
14.第三方面,本技术提供了一种电子设备,上述电子设备包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程
序时实现如上述第一方面的方法的步骤。
15.第四方面,本技术提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现如上述第一方面的方法的步骤。
16.第五方面,本技术提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,上述计算机程序被一个或多个处理器执行时实现如上述第一方面的方法的步骤。
17.本技术与现有技术相比存在的有益效果是:本技术基于环境mesh模型来生成任意指定高度下的环境的栅格地图。具体地,电子设备可先根据探测设备在环境中采集到的多帧探测数据构建环境mesh模型;然后,针对每帧探测数据,电子设备都可根据探测数据及指定高度,在环境mesh模型中通过数据处理进行仿真的方式确定出虚拟激光雷达的位置,该虚拟激光雷达为具有激光雷达功能的虚拟设备;接着,电子设备就可以虚拟激光雷达的位置为光源位置,在环境mesh模型中模拟光线投射,其中,投射出的光线平行于环境mesh模型的地平面;最后,电子设备可在基于各帧探测数据得到对应的光线投射结果后,根据光线投射结果构建环境在指定高度下的栅格地图。上述过程中,环境mesh模型可重复使用,且指定高度也可以根据待导航机器人的需求而进行设置,无论待导航机器人自身所搭载的激光雷达高度如何,都不会影响到基于本技术方案而构建的指定高度下的栅格地图。综上可知,通过本技术方案,可准确地构建环境在任意指定高度下的栅格地图。
18.可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
19.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1是本技术实施例提供的栅格地图构建方法的实现流程示意图;
21.图2是本技术实施例提供的栅格地图构建方法中,步骤102的具体实现流程示意图;
22.图3是本技术实施例提供的栅格地图构建方法中,步骤103的具体实现流程示意图;
23.图4是基于现有技术所得的栅格地图的示例图;
24.图5是基于本技术实施例提供的栅格地图构建方法所得的栅格地图的示例图;
25.图6是本技术实施例提供的栅格地图构建装置的结构框图;
26.图7是本技术实施例提供的电子设备的结构示意图。
具体实施方式
27.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
28.为了说明本技术所提出的技术方案,下面通过具体实施例来进行说明。
29.本技术实施例所提出的栅格地图构建方法可应用于电子设备,该电子设备可以是机器人,也可以是服务器,还可以是能够进行数据处理操作的其它设备,此处不对该电子设备的类型作出限定。
30.下面对本技术实施例所提出的栅格地图构建方法作出说明。请参阅图1,该栅格地图构建方法的实现流程详述如下:
31.步骤101,根据探测设备在环境中采集到的多帧探测数据构建环境mesh模型。
32.探测设备具体指的是:搭载有探测传感器的设备。其中,该探测传感器通常可为雷达,例如3d激光雷达等,此处不对该探测传感器的类型作出限定。仅作为示例,考虑到本技术实施例所构建的栅格地图一般用于机器人导航,因而,可在环境的待导航机器人中随机选定任一机器人作为该探测设备。
33.在选定探测设备后,可控制探测设备在环境内移动,并在移动的过程中持续对环境进行探测。可以理解,在探测传感器为雷达的情况下,探测设备可通过探测的操作,采集得到雷达数据,并将该雷达数据作为探测数据。
34.进一步地,为了保障栅格地图构建的准确性,探测设备内还可搭载有惯性传感器,例如惯性测量单元(inertial measurement unit,imu)等,此处不作限定。基于此,电子设备可在对环境进行探测的同时也获取对应时刻的惯性数据,并将获取到的雷达数据及对应时刻的惯性数据一并作为探测数据。
35.在探测设备及电子设备为不同设备(例如探测设备为待导航机器人,电子设备为服务器)时,探测设备可将在环境内移动的过程中得到的所有探测数据均上报给电子设备,以使得电子设备可获取到探测设备在环境中采集到的多帧探测数据,并以此为基础执行步骤101。在探测设备及电子设备为相同设备(例如探测设备及电子设备均为同一待导航机器人)时,电子设备可在探测完毕后,直接开始执行步骤101.
36.仅作为示例,电子设备构建环境mesh模型的过程可具体为:首先,通过3d slam算法对各帧探测数据进行处理,获得各帧探测数据所对应的去畸变点云数据及位姿;其中,去畸变点云数据是指去除了探测过程中由于载体运动而导致的点云变形后所得的点云数据,位姿是指探测设备在探测得到对应的探测数据时的位置及姿态(也即朝向)。然后,通过基于截断地带符号距离函数(truncated signed distance function,tsdf)算法对各帧探测数据所对应的去畸变点云数据及位姿进行处理,即可得到用于描述环境的mesh模型,也即环境mesh模型;其中,在3d计算机图形学和实体建模中,mesh模型是一组由顶点、边和面定义了多面体对象的几何形状。当然,电子设备也可以选择其它合适的算法来替代3d slam算法和/或tsdf算法;也即,本技术实施例不对环境mesh模型的构建方式作出限定。
37.步骤102,针对每帧探测数据,根据探测数据及指定高度,在环境mesh模型中确定虚拟激光雷达的位置。
38.其中,虚拟激光雷达具体指的是:通过数据处理而仿真得到的具有激光雷达功能的虚拟设备。可以理解,针对每帧探测数据,电子设备都可采用相同的处理流程对其进行后续处理;因而,请参阅图2,此处为了描述方便,以一帧探测数据为例,对确定虚拟激光雷达的位置的过程进行详细描述:
39.步骤1021,根据探测数据,计算设备位姿。
40.其中,设备位姿具体指的是探测设备采集得到探测数据时,在环境mesh模型中对应的位姿,包括:探测设备在环境mesh模型坐标系下的位置以及朝向。通常而言,该环境mesh模型坐标系的z轴正方向为竖直向上的方向。具体地,该环境mesh模型坐标系为tsdf算法的一项输出;也即,对于电子设备来说,该环境mesh模型并非电子设备所自定义的坐标系,而是通过已有算法而被动得到的坐标系。可以理解,该环境mesh模型坐标系在本技术实施例中,相当于世界坐标系。
41.如前文所描述的,如果在构建环境mesh模型的过程中,电子设备已经通过3d slam算法获得了各帧探测数据所对应的位姿,则可直接将该位姿转换至环境mesh模型坐标系下,即可得到当前处理的探测数据的设备位姿。
42.步骤1022,根据设备位姿确定对应的地平面模型。
43.环境的地面可能并不平整,可能出现部分区域的地面有倾斜的情况。基于此,电子设备可根据已得的设备位姿所指示的位置(也即探测设备在环境mesh模型坐标系下的坐标),确定对应的地平面。可将该地平面模型理解为:设备位姿所指示的位置附近的地面所对应的平面模型。
44.具体地,电子设备可根据设备位姿所指示的位置,在环境mesh模型中确定出感兴趣(region of interest,roi)区域。一般而言,该roi区域在该位置附近,且该roi区域还与探测设备的探测传感器的高度有关,以此来保障该位置附近的地面的网格处于该roi区域中。在确定出roi区域之后,电子设备可对该roi区域中的网格点(也即网格的顶点)进行剪裁,即可得到地面的稀疏网格点。之后,电子设备可采用随机抽样一致(random sample consensus,ransac)算法或其它拟合算法对裁剪所得的网格点进行平面拟合的操作,即可确定出地平面模型。在环境mesh模型坐标系下,该地平面模型可表示为:ax by cz d=0;其中,a、b及c分别是不同指定平面的法向量,指定平面为环境mesh模型坐标系的两个坐标轴所构成的平面;d是拟合出的平面到环境mesh模型坐标系的原点的距离。
45.步骤1023,根据设备位姿,地平面模型及指定高度,在环境mesh模型中确定虚拟激光雷达的位置。
46.其中,指定高度具体为相对地面的高度,也即离地高度。由于本技术实施例最终所要生成的是环境在指定高度下的栅格地图,因而此处需要先计算出指定高度下该虚拟激光雷达在环境mesh模型坐标系中的位置。为便于描述,在环境mesh模型坐标系下,将虚拟激光雷达的位置记作坐标(x’,y’,z’),将设备位姿所指示的位置记作坐标(x0,y0,z0),则虚拟激光雷达的位置的计算过程可如下所示:
47.x’=x048.y’=y049.z’=(-(d

h)-a*x
’–
b*y’)/c
50.其中,h为指定高度;a、b、c及d在前文已有释义,此处不再赘述。
51.可以理解,如果步骤101中所涉及的探测数据共有n帧,则电子设备在执行步骤102后,基于该n帧探测数据,共可得到对应的n个设备位姿;每个设备位姿各自对应一个地平面模型,共可得到n个地平面模型;最终,电子设备可确定出n个虚拟激光雷达的位置。
52.步骤103,以虚拟激光雷达的位置为光源位置,在环境mesh模型中模拟光线投射。
53.其中,投射出的光线平行于环境mesh模型的地平面。可以理解,针对每帧探测数据
(也即每帧探测数据所对应的虚拟激光雷达位置),电子设备都可采用相同的处理流程对其进行后续处理;因而,请参阅图3,此处为了描述方便,以一帧探测数据所对应的虚拟激光雷达位置为例,对模拟光线投射的过程进行详细描述:
54.步骤1031,根据预设的角度采样间隔,确定多个目标角度。
55.其中,此处的目标角度指的是:相对于虚拟激光雷达的x轴方向(也即虚拟激光雷达的正面方向)而形成的夹角,也可理解为偏航角。可以理解,此处是考虑到了激光雷达的旋转特性,模拟从环绕一圈的各个方向投射出平行于地面的光线。
56.仅作为示例,角度采样间隔可以是0.5
°
。记目标角度为θ,则θ的取值可以是:0、0.5
°
、1
°
、1.5
°

……
、359
°
及359.5
°
,共计720个目标角度。可以理解,电子设备具体可从精度及运算量的角度出发,设定合适的角度采样间隔,此处不作限定。
57.步骤1032,针对每个目标角度,根据目标角度及地平面模型,确定对应的目标投射方向向量。
58.考虑到地面并非绝对水平,为提高栅格地图的构建效率,电子设备可假定虚拟激光雷达与地平面保持平行关系,则在已确定目标角度θ后,可计算出目标角度所对应的目标投射方向的方向向量dir,该方向向量可被记作目标投射方向向量。该目标投射方向向量dir为三维向量,其具体计算过程如下所示:
59.dir[0]=cos(θ)
[0060]
dir[1]=sin(θ)
[0061]
dir[2]=(-a*dir0.–
b*dir[1])/c
[0062]
其中,dir[0]用于表示目标投射方向投影在环境mesh模型坐标系的x轴的单位量;dir[1]用于表示目标投射方向投影在环境mesh模型坐标系的y轴的单位量;dir[2]用于表示目标投射方向投影在环境mesh模型坐标系的z轴的单位量;a、b及c在前文已有释义,此处不再赘述。
[0063]
步骤1033,以虚拟激光雷达的位置为光源位置,分别根据每个目标投射方向向量在环境mesh模型中执行光线投射算法,得到每个目标投射方向向量所对应的光线投射结果。
[0064]
电子设备通过光线投射算法,可以得到从虚拟激光雷达处沿目标投射方向所投射出的光线在环境mesh模型中的击中点与虚拟激光雷达的间隔距离。基于此,光线投射结果具体可表达为如下形式:(θ,d),其中,θ为与目标投射方向向量对应的目标角度,d为投射出的光线在环境mesh模型中的击中点与虚拟激光雷达的间隔距离。
[0065]
可以理解,针对任一虚拟激光雷达的位置,假定确定有m个目标角度,则可在该虚拟激光雷达的位置处对应得到m个光线投射结果,也即得到m个(θ,d)。
[0066]
在一些实施例中,环境mesh模型不可避免存在一些空洞,这会导致投射出的某些光束从空洞透过,击中对面障碍物的反面。这种情况所得到的击中点实际为错误的击中点,也即无效的击中点。基于此,针对每个光线投射结果,电子设备均可检测其是否有效,也即光线是否从正面投射。如果该光线投射结果有效,则可保留该光线投射结果,也即该光线投射结果可以在后续栅格地图的构建过程中被投入使用。如果该光线投射结果无效,则可剔除该光线投射结果,也即步骤104中不会使用到该光线投射结果,以避免影响到后续构建所得的栅格地图的准确性。
[0067]
电子设备可通过如下方式检测光线投射结果是否有效:首先,获取目标网格的法向量,该目标网格具体指的是与该光线投射结果对应的击中点所处的网格;然后,检测指定向量与该法向量的夹角是否为锐角,该指定向量具体指的是从该击中点指向虚拟激光雷达的向量;若该夹角为锐角,则确定该光线投射结果有效;若该夹角不为锐角,则确定该光线投射结果无效。具体地,电子设备可通过计算该夹角的cos值来判断其是否为锐角:在计算所得的cos值大于0时,该夹角为锐角;在计算所得的cos值不大于0时,该夹角不为锐角。当然,电子设备也可通过其它方式判断该夹角是否为锐角,此处不作限定。
[0068]
除此之外,投射出的光线也可能未能击中环境mesh模型的任何物体,此时所返回的间隔距离d为无穷大,由此所得的光线投射结果(也即指示的间隔距离d为无穷大的光线投射结果)也会被电子设备确认为无效。
[0069]
可以理解,针对任一虚拟激光雷达的位置,电子设备可在获得该虚拟激光雷达的位置所对应的所有光线投射结果后,再依次对各个光线投射结果进行有效性的检测;或者,电子设备也可在获得任一光线投射结果后,立即对该光线投射结果进行有效性的检测,此处不对检测时机作出限定。
[0070]
步骤104,在基于各帧探测数据得到对应的光线投射结果后,根据光线投射结果构建环境在指定高度下的栅格地图。
[0071]
可以理解,针对任一个虚拟激光雷达的位置,电子设备都可得到多个有效的光线投射结果;将这多个有效的光线投射结果进行组合,即可得到一帧在该虚拟激光雷达的位置上的激光扫描数据帧。在遍历所有虚拟激光雷达的位置,也即n个虚拟激光雷达的位置后,电子设备可得到n帧激光扫描数据帧。根据这n个虚拟激光雷达的位置及对应的n帧激光扫描数据帧,电子设备可使用栅格更新算法来生成二维的栅格地图,该栅格地图即为环境在指定高度下的地图。
[0072]
可以理解,上述过程实际是在环境mesh模型中,根据指定高度及探测数据所对应的设备位姿,构造虚拟激光雷达的五自由度位姿,并基于此进行光纤投射,这五个自由度分别为:在环境mesh模型坐标系下的x、y及z坐标,翻滚角及俯仰角(由于虚拟激光雷达与地平面平行,因而取值与地平面模型相关,也即确定出的地平面模型隐含确定了翻滚角及俯仰角)。相比于现有技术的基于3d扫描投影构建栅格地图的方法,本技术实施例提供的栅格地图构建方法可以在环境存在倾斜地面时,减少出现因该倾斜地面的点云数据而误生成障碍物栅格的情况,同时能够准确的区分各个栅格是空闲状态还是未知状态,保障栅格地图的准确性。
[0073]
在一些实施例中,当环境中存在多个待导航机器人时,电子设备可在这多个待导航机器人中,根据该栅格地图所对应的指定高度确定出目标机器人。可以理解,目标机器人指的是希望以该指定高度的栅格地图进行后续导航/定位任务的待导航机器人。在确定出目标机器人后,电子设备即可向该目标机器人发送该栅格地图。
[0074]
需要注意的是,环境mesh模型是可重复使用的。基于此,在步骤101之前,电子设备可先检测是否已有针对当前的环境的环境mesh模型。在已有的情况下,电子设备可直接获取该环境mesh模型并执行步骤102。在未有的情况下,电子设备可正常执行步骤101。
[0075]
仅作为示例,假定环境中有待导航机器人r1、r2及r3。其中,待导航机器人r1需要该环境在h1高度下的栅格地图,待导航机器人r2及r3需要该环境在h2高度下的栅格地图,
则:电子设备可先设定指定高度为h1,执行本技术实施例所提出的各个步骤,得到h1高度下的栅格地图,并将该h1高度下的栅格地图发送给待导航机器人r1;之后,电子设备再设定指定高度为h2,由于环境mesh文件在构建h1高度下的栅格地图时已构建完成,因而本次可跳过步骤101,直接执行步骤101的后续步骤,得到h2高度下的栅格地图,并将该h2高度下的栅格地图发送给待导航机器人r2及r3。
[0076]
请参阅附图4及附图5。其中,图4给出了基于3d扫描投影而得的栅格地图的示例,图5给出了基于本技术实施例所提出的栅格地图构建方法而得的栅格地图的示例。可以看出,相比于基于3d扫描投影而得的栅格地图,基于本技术实施例所提出的栅格地图构建方法而得的栅格地图有着更高的精度(墙壁更薄),更丰富的细节,更少的离散点,且基本无明显重影,这可有效提高后续机器人的定位/导航精度。
[0077]
由上可见,本技术基于环境mesh模型来生成任意指定高度下的环境的栅格地图。具体地,电子设备可先根据探测设备在环境中采集到的多帧探测数据构建环境mesh模型;然后,针对每帧探测数据,电子设备都可根据探测数据及指定高度,在环境mesh模型中通过数据处理进行仿真的方式确定出虚拟激光雷达的位置,该虚拟激光雷达为具有激光雷达功能的虚拟设备;接着,电子设备就可以虚拟激光雷达的位置为光源位置,在环境mesh模型中模拟光线投射,其中,投射出的光线平行于环境mesh模型的地平面;最后,电子设备可在基于各帧探测数据得到对应的光线投射结果后,根据光线投射结果构建环境在指定高度下的栅格地图。上述过程中,环境mesh模型可重复使用,且指定高度也可以根据待导航机器人的需求而进行设置,无论待导航机器人自身所搭载的激光雷达高度如何,都不会影响到基于本技术实施例而构建的指定高度下的栅格地图。综上可知,通过本技术实施例,可准确地构建环境在任意指定高度下的栅格地图。
[0078]
对应于上文所提供的栅格地图构建方法,本技术实施例还提供了一种栅格地图构建装置。如图6所示,该栅格地图构建装置6包括:
[0079]
模型构建模块601,用于根据探测设备在环境中采集到的多帧探测数据构建环境mesh模型;
[0080]
位置确定模块602,用于针对每帧探测数据,根据探测数据及指定高度,在环境mesh模型中确定虚拟激光雷达的位置,其中,虚拟激光雷达为通过数据处理而仿真得到的具有激光雷达功能的虚拟设备;
[0081]
光线投射模块603,用于以虚拟激光雷达的位置为光源位置,在环境mesh模型中模拟光线投射,其中,投射出的光线平行于环境mesh模型的地平面;
[0082]
地图构建模块604,用于在基于各帧探测数据得到对应的光线投射结果后,根据光线投射结果构建环境在指定高度下的栅格地图。
[0083]
在一些实施例中,位置确定模块602,包括:
[0084]
位姿计算单元,用于根据探测数据,计算设备位姿,其中,设备位姿为:探测设备采集得到探测数据时,在环境mesh模型中对应的位姿;
[0085]
地平面模型确定单元,用于根据设备位姿确定对应的地平面模型;
[0086]
雷达位置确定单元,用于根据设备位姿,地平面模型及指定高度,在环境mesh模型中确定虚拟激光雷达的位置。
[0087]
在一些实施例中,地平面模型确定单元,包括:
[0088]
感兴趣区域确定子单元,用于根据设备位姿,在环境mesh模型中确定感兴趣区域;
[0089]
地平面模型确定子单元,用于通过对感兴趣区域中的网格点的拟合操作,确定地平面模型。
[0090]
在一些实施例中,光线投射模块603,包括:
[0091]
目标角度确定单元,用于根据预设的角度采样间隔,确定多个目标角度;
[0092]
目标投射方向向量确定单元,用于针对每个目标角度,根据目标角度及地平面模型,确定对应的目标投射方向向量;
[0093]
光线投射单元,用于以虚拟激光雷达的位置为光源位置,分别根据每个目标投射方向向量在环境mesh模型中执行光线投射算法,得到每个目标投射方向向量所对应的光线投射结果,光线投射结果为:与目标投射方向向量对应的目标角度下,投射出的光线在环境mesh模型中的击中点与虚拟激光雷达的间隔距离。
[0094]
在一些实施例中,光线投射模块603,还包括:
[0095]
结果检测单元,用于针对每个光线投射结果,检测光线投射结果是否有效;
[0096]
结果处理单元,用于若光线投射结果有效,则保留光线投射结果,若光线投射结果无效,则剔除光线投射结果。
[0097]
在一些实施例中,结果检测单元,包括:
[0098]
法向量获取子单元,用于获取目标网格的法向量,目标网格为:与光线投射结果对应的击中点所处的网格;
[0099]
锐角检测子单元,用于检测指定向量与法向量的夹角是否为锐角,其中,指定向量为:从击中点指向虚拟激光雷达的向量;
[0100]
检测结果确定子单元,用于若夹角为锐角,则确定光线投射结果有效,若夹角不为锐角,则确定光线投射结果无效。
[0101]
在一些实施例中,栅格地图构建装置6还包括:
[0102]
目标机器人确定模块,用于在环境的待导航机器人中,根据指定高度确定目标机器人;
[0103]
栅格地图发送模块,用于向目标机器人发送栅格地图。
[0104]
由上可见,本技术基于环境mesh模型来生成任意指定高度下的环境的栅格地图。具体地,栅格地图构建装置可先根据探测设备在环境中采集到的多帧探测数据构建环境mesh模型;然后,针对每帧探测数据,栅格地图构建装置都可根据探测数据及指定高度,在环境mesh模型中通过数据处理进行仿真的方式确定出虚拟激光雷达的位置,该虚拟激光雷达为具有激光雷达功能的虚拟设备;接着,栅格地图构建装置就可以虚拟激光雷达的位置为光源位置,在环境mesh模型中模拟光线投射,其中,投射出的光线平行于环境mesh模型的地平面;最后,栅格地图构建装置可在基于各帧探测数据得到对应的光线投射结果后,根据光线投射结果构建环境在指定高度下的栅格地图。上述过程中,环境mesh模型可重复使用,且指定高度也可以根据待导航机器人的需求而进行设置,无论待导航机器人自身所搭载的激光雷达高度如何,都不会影响到基于本技术实施例而构建的指定高度下的栅格地图。综上可知,通过本技术实施例,可准确地构建环境在任意指定高度下的栅格地图。
[0105]
对应于上文所提供的栅格地图构建方法,本技术实施例还提供了一种电子设备。请参阅图7,本技术实施例中的电子设备7包括:存储器701,一个或多个处理器702(图7中仅
示出一个)及存储在存储器701上并可在处理器上运行的计算机程序。其中:存储器701用于存储软件程序以及单元,处理器702通过运行存储在存储器701的软件程序以及单元,从而执行各种功能应用以及数据处理,以获取上述预设事件对应的资源。具体地,处理器702通过运行存储在存储器701的上述计算机程序时实现以下步骤:
[0106]
根据探测设备在环境中采集到的多帧探测数据构建环境mesh模型;
[0107]
针对每帧探测数据,根据探测数据及指定高度,在环境mesh模型中确定虚拟激光雷达的位置,其中,虚拟激光雷达为通过数据处理而仿真得到的具有激光雷达功能的虚拟设备;
[0108]
以虚拟激光雷达的位置为光源位置,在环境mesh模型中模拟光线投射,其中,投射出的光线平行于环境mesh模型的地平面;
[0109]
在基于各帧探测数据得到对应的光线投射结果后,根据光线投射结果构建环境在指定高度下的栅格地图。
[0110]
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,根据探测数据及指定高度,在环境mesh模型中确定虚拟激光雷达的位置,包括:
[0111]
根据探测数据,计算设备位姿,其中,设备位姿为:探测设备采集得到探测数据时,在环境mesh模型中对应的位姿;
[0112]
根据设备位姿确定对应的地平面模型;
[0113]
根据设备位姿,地平面模型及指定高度,在环境mesh模型中确定虚拟激光雷达的位置。
[0114]
在上述第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,根据设备位姿确定对应的地平面模型,包括:
[0115]
根据设备位姿,在环境mesh模型中确定感兴趣区域;
[0116]
通过对感兴趣区域中的网格点的拟合操作,确定地平面模型。
[0117]
在上述第二种可能的实施方式作为基础而提供的第四种可能的实施方式中,以虚拟激光雷达的位置为光源位置,在环境mesh模型中模拟光线投射,包括:
[0118]
根据预设的角度采样间隔,确定多个目标角度;
[0119]
针对每个目标角度,根据目标角度及地平面模型,确定对应的目标投射方向向量;
[0120]
以虚拟激光雷达的位置为光源位置,分别根据每个目标投射方向向量在环境mesh模型中执行光线投射算法,得到每个目标投射方向向量所对应的光线投射结果,光线投射结果为:与目标投射方向向量对应的目标角度下,投射出的光线在环境mesh模型中的击中点与虚拟激光雷达的间隔距离。
[0121]
在上述第四种可能的实施方式作为基础而提供的第五种可能的实施方式中,处理器702通过运行存储在存储器701的上述计算机程序时还实现以下步骤:
[0122]
针对每个光线投射结果,检测光线投射结果是否有效;
[0123]
若光线投射结果有效,则保留光线投射结果;
[0124]
若光线投射结果无效,则剔除光线投射结果。
[0125]
在上述第五种可能的实施方式作为基础而提供的第六种可能的实施方式中,检测光线投射结果是否有效,包括:
[0126]
获取目标网格的法向量,目标网格为:与光线投射结果对应的击中点所处的网格;
[0127]
检测指定向量与法向量的夹角是否为锐角,其中,指定向量为:从击中点指向虚拟激光雷达的向量;
[0128]
若夹角为锐角,则确定光线投射结果有效;
[0129]
若夹角不为锐角,则确定光线投射结果无效。
[0130]
在上述第一种可能的实施方式作为基础,或者上述第二种可能的实施方式作为基础,或者上述第三种可能的实施方式作为基础,或者上述第四种可能的实施方式作为基础,或者上述第五种可能的实施方式作为基础,或者上述第六种可能的实施方式作为基础而提供的第七种可能的实施方式中,在根据光线投射结果构建环境在指定高度下的栅格地图之后,处理器702通过运行存储在存储器701的上述计算机程序时还实现以下步骤:
[0131]
在环境的待导航机器人中,根据指定高度确定目标机器人;
[0132]
向目标机器人发送栅格地图。
[0133]
应当理解,在本技术实施例中,所称处理器702可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0134]
存储器701可以包括只读存储器和随机存取存储器,并向处理器702提供指令和数据。存储器701的一部分或全部还可以包括非易失性随机存取存储器。例如,存储器701还可以存储设备类别的信息。
[0135]
由上可见,本技术基于环境mesh模型来生成任意指定高度下的环境的栅格地图。具体地,电子设备可先根据探测设备在环境中采集到的多帧探测数据构建环境mesh模型;然后,针对每帧探测数据,电子设备都可根据探测数据及指定高度,在环境mesh模型中通过数据处理进行仿真的方式确定出虚拟激光雷达的位置,该虚拟激光雷达为具有激光雷达功能的虚拟设备;接着,电子设备就可以虚拟激光雷达的位置为光源位置,在环境mesh模型中模拟光线投射,其中,投射出的光线平行于环境mesh模型的地平面;最后,电子设备可在基于各帧探测数据得到对应的光线投射结果后,根据光线投射结果构建环境在指定高度下的栅格地图。上述过程中,环境mesh模型可重复使用,且指定高度也可以根据待导航机器人的需求而进行设置,无论待导航机器人自身所搭载的激光雷达高度如何,都不会影响到基于本技术实施例而构建的指定高度下的栅格地图。综上可知,通过本技术实施例,可准确地构建环境在任意指定高度下的栅格地图。
[0136]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统
中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0137]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0138]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者外部设备软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0139]
在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0140]
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0141]
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关联的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读存储介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机可读存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括是电载波信号和电信信号。
[0142]
以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献