一种基于深度视觉和单线激光雷达的栅格地图标记方法与流程

文档序号:23422150发布日期:2020-12-25 11:47阅读:269来源:国知局
一种基于深度视觉和单线激光雷达的栅格地图标记方法与流程

本公开的实施例一般涉及数据处理领域,并且更具体地,涉及一种基于深度视觉和单线激光雷达的栅格地图标记方法、系统、设备和计算机可读存储介质。



背景技术:

目前市场上现有的机器人导航避障策略大多是基于激光雷达信息在栅格地图上标记障碍物,在导航规划时参考栅格地图上的信息从而实现避障和绕障。还有一些方法是加入了深度视觉的信息,实现立体避障,做法是将深度视觉的三维点云信息投影到一个平面转换为和激光雷达相同的二维信息,忽略其高度信息。

上述方法虽然能实现避障,但是效果不是很好,牺牲了很多导航通过性,主要存在以下问题:

如图3所示,如果一个障碍物的实际高度比机器人还要高,但是被深度视觉捕捉到且直接标记在栅格地图上,此时机器人原本可以通过,但是由于缺少另外一个维度(高度)的信息,所以导致机器人只能绕开或停车,甚至有些狭窄地方直接无法通行。

同时,当前的在栅格地图上标记障碍物的方法,不具备完善的记忆功能(记忆功能是指在传感器视角以外的障碍物信息要予以保留),所以很多情况下不应该清除的障碍物信息也被清除掉,会导致规划路线不合理甚至发生碰撞。



技术实现要素:

本公开旨在至少解决现有技术或相关技术中存在的技术问题之一。

为此,在本公开的第一方面,提供了一种基于深度视觉和单线激光雷达的栅格地图标记方法。该方法包括:

获取激光雷达数据和深度视觉数据;

在激光处理层中,更新障碍物信息同时根据所述激光雷达数据进行障碍物删除,并标记所有被删除的障碍物在栅格地图中的位置;

在深度视觉数据处理层中,更新障碍物信息同时根据所述深度视觉数据清除深度视觉视野内在所述栅格地图中已进行标记的障碍物;

将所述激光处理层和所述视觉数据处理层进行融合,形成带有高度信息的碍物层。

进一步地,所述深度视觉数据包括障碍物高度信息。

进一步地,所述根据所述激光雷达数据进行障碍物删除包括:

根据所述激光雷达数据将激光中心位置到每一个激光点位置的连线上的障碍物删除。

进一步地,所述根据所述深度视觉数据清除深度视觉视野内在所述栅格地图中已进行标记的障碍物包括:

判断障碍物是否在所述深度视觉视野内;其中,所述深度视觉视野包括俯视图视角和侧视图视角;

若是,则根据所述深度视觉数据清除在所述栅格地图中已进行标记的障碍物。

进一步地,所述判断障碍物是否在所述深度视觉视野内包括:

判断所述障碍物是否在所述俯视图视角内和侧视图视角内;

其中,判断所述障碍物是否在所述俯视图视角内包括:

若所述障碍物与俯视图视角的中线的夹角小于第一预设值,则所述障碍物在所述俯视图视角内;

判断所述障碍物是否在所述侧视图视角内包括:

若所述障碍物与所述侧视图视角的中线的夹角小于第二预设值,则所述障碍物在所述侧视图视角内。

进一步地,在所述根据所述深度视觉数据清除深度视觉视野内在所述栅格地图中已进行标记的障碍物之后还包括:

在所述深度视觉数据处理层中,根据所述深度视觉数据和机器人本体高度范围对能够对所述机器人通行造成障碍的障碍物进行标记。

进一步地,所述将所述激光处理层和所述视觉数据处理层进行融合,形成带有高度信息的碍物层包括:

将所述激光处理层中的障碍物信息叠加到所述深度视觉数据处理层,和所述深度视觉数据处理层中标记的障碍物信息进行融合,形成具有所述激光处理层障碍物信息和所述深度视觉数据处理层障碍物信息的包括障碍物高度信息的障碍物层。

在本公开的第二方面,提出了一种基于深度视觉和单线激光雷达的栅格地图标记系统,该系统包括:

获取模块,用于获取激光雷达数据和深度视觉数据;

第一处理模块,用于在激光处理层中,根据所述激光雷达数据进行障碍物删除,并标记所有被删除的障碍物在栅格地图中的位置;

第二处理模块,用于在深度视觉数据处理层中,根据所述深度视觉数据清除深度视觉视野内在所述栅格地图中已进行标记的障碍物;

融合模块,用于将所述激光处理层和所述视觉数据处理层进行融合,形成带有高度信息的障碍物层。

在本公开的第三方面,提出了一种设备,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如根据本公开的上述方法。

在本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如根据本公开的上述方法。

本申请实施例提供的一种基于深度视觉和单线激光雷达的栅格地图标记方法,通过获取激光雷达数据和深度视觉数据;在激光处理层中,更新障碍物信息同时根据所述激光雷达数据进行障碍物删除,并标记所有被删除的障碍物在栅格地图中的位置;在深度视觉数据处理层中,更新障碍物信息同时根据所述深度视觉数据清除深度视觉视野内在所述栅格地图中已进行标记的障碍物;将所述激光处理层和所述视觉数据处理层进行融合,形成信息完善的障碍物层。能够更完善的考虑到立体障碍物的影响,有效处理桌子、门槛,等激光雷达扫描不到的障碍物,提高了导航避障的稳定性,同时降低了主机的计算代价。

应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。

附图说明

结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:

图1示出了根据本公开的一个实施例可以应用于其中的示例性系统架构图;

图2示出了根据本公开的一种基于深度视觉和单线激光雷达的栅格地图标记方法的一个实施例的流程图;

图3示出了根据本公开的一种机器人通行场景示意图;

图4示出了根据本公开的实施例的深度视觉视野的俯视视角图;

图5示出了根据本公开的实施例的深度视觉视野的侧视视角图;

图6示出了根据本公开的实施例的基于深度视觉和单线激光雷达的栅格地图标记的方框图;

图7示出了能够实施本公开的实施例的示例性电子设备的方框图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。

另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

图1示出了可以应用本申请的基于深度视觉和单线激光雷达的栅格地图标记方法或基于深度视觉和单线激光雷达的栅格地图标记系统的实施例的示例性系统架构100。

如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。

终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以为大中型机器人、小型机器人、可移动机器人、固定节点机器人、地面机器人和/或空中机器人等。当终端设备101、102、103为软件时,可以安装在上述所列举的各式机器人中。其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。

服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的数据处理的后台服务器。后台服务器可以对接收到的数据进行分析等处理,并可以将处理结果反馈给终端设备。

需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。特别地,在目标数据不需要从远程获取的情况下,上述系统架构可以不包括网络,而只包括终端设备或服务器。

如图2所示,是本申请实施例一种基于深度视觉和单线激光雷达的栅格地图标记方法的流程图。从图2中可以看出,本实施例的基于深度视觉和单线激光雷达的栅格地图标记方法,包括以下步骤:

s210,获取激光雷达数据和深度视觉数据。

在本实施例中,用于一种基于深度视觉和单线激光雷达的栅格地图标记方法的执行主体(例如图1所示的服务器)可以通过有线方式或者无线连接的方式获取激光雷达数据和深度视觉数据。

可选地,通过机器人上安装的各类传感设备获取所述激光雷达数据和深度视觉数据。即,通过单线激光雷达视角和深度视觉视角获取所述激光雷达数据和深度视觉数据。例如,通过激光雷达传感器获取所述激光雷达数据;通过深度视觉传感器获取深度视觉数据等。

其中,所述激光雷达数据包括障碍物的位置信息和自身属性信息;

所述自身属性信息包括传感器中心位置(例如激光传感器的激光中心位置)等。

所述深度视觉数据包括障碍物的位置信息和障碍物的高度信息,所述高度信息包括障碍物的高度范围信息(最小高度和最大高度)。

优选地,上述障碍物的位置信息为所述障碍物在二维的栅格地图中的位置信息。

需要说明的是,深度视觉的视角是一个立体区域,类似四棱柱。单线激光雷达的视角是一个扇面。在消除障碍物标记时单线激光雷达只需要一个平面上完全重叠就可以消除旧的数据,而深度视觉的视角是四棱柱,他要求整个空间视角要完全吻合才能完成清除障碍物标记信息,靠其本身数据去擦除一定会出现有很多障碍物明明已经不在了,但是在栅格地图中却无法完全清除掉的情况。因此,在本申请中,在激光雷达和深度视觉都可以看见的地方(障碍物)选择使用激光雷达的数据去标记栅格地图。

s220,在激光处理层中,更新障碍物信息同时根据所述激光雷达数据进行障碍物删除,并标记所有被删除的障碍物在栅格地图中的位置。

可选地,在所述激光处理层中,通过机器人上安装的传感器(例如激光雷达传感器)获取激光雷达数据,若栅格地图已存在,则根据所述激光雷达数据对所述栅格地图进行更新;若栅格地图不存在,则根据所述激光雷达数据绘制栅格地图(初始化)。同时将所述障碍物的位置信息同步到所述栅格地图中。即,通过雷达扫描绘制(更新)栅格地图(二维)。

根据所述激光雷达数据将激光中心位置到每一个激光点位置的连线上的障碍物全部删除,并将删除的障碍物在所述栅格地图中进行标记。即,记录所有被清除的障碍物在所述栅格地图中的位置。

s230,在深度视觉数据处理层中,更新障碍物信息同时根据所述深度视觉数据清除深度视觉视野内在所述栅格地图中已进行标记的障碍物。

可选地,在所述深度视觉数据处理层中,通过机器人上安装的传感器(例如深度视觉传感器)获取深度视觉数据,根据所述深度视觉数据绘制栅格地图,并将所述障碍物的位置信息同步到所述栅格地图中。即,通过相机(深度视觉传感器)获取三维点云信息,将所述三维点云信息转换为二维信息绘制栅格地图。

可选地,根据所述深度视觉数据清除深度视觉视野内在所述栅格地图中已进行标记的障碍物。

具体地,判断在步骤s220中已经标记删除的障碍物,是否在所述深度视觉视野内,其中,所述深度视觉视野包括俯视图视角(如图3所示)和侧视图视角(如图4所示)。

若是,则根据所述深度视觉数据清除在所述栅格地图中已进行标记的障碍物;

若否,则不进行障碍物清除。

可选地,在所述深度视觉视野盲区内的障碍物不进行删除。

因为深度视觉的视野是立体(四棱锥)的它看到的物体压缩到平面后的面积一定是大于等于激光雷达传感器所看到的物体面积,所以在清除所述栅格地图中已进行标记的障碍物时,可按照一定的膨胀系数多清除些,以解决深度视觉标记的障碍物信息清除不干净的问题。所述膨胀系数可根据具体的传感器类型进行设定。

可选地,所述膨胀系数为120%。

可选地,通过如下公式判断所述障碍物是否在所述俯视图视角内:

yaw_angle=arctan(y/x)

其中,所述yaw_angle,为所述障碍物与传感器俯视图视角的中线的夹角;

所述x,为所述障碍物在所述深度视觉视野内的横坐标;

所述y,为所述障碍物在所述深度视觉视野内的纵坐标;

若所述障碍物与俯视图视角的中线的夹角小于第一预设值,则所述障碍物在所述俯视图视角内。所述第一预设值可以为所述俯视图视角的一半。

可选地,通过如下公式判断所述障碍物是否在所述侧视图视角内:

pitch_angle_1=arctan((max_h-h)/x);

pitch_angle_2=arctan((min_h-h)/x);

其中,所述yaw_angle(pitch_angle_1、pitch_angle_2),为所述障碍物与传感器侧视图视角的中线的夹角;

所述max_h,为所述障碍物的最大高度;

所述min_h,为所述障碍物的最小高度;

所述h,为传感器自身高度。

若所述pitch_angle1和pitch_angle2均小于第二预设值,则证明该障碍物信息在侧视图视角内。所述第二预设值可以为视觉传感器侧视图视角的一半。

可选地,创建两个数据结构,该数据结构为一个一维数组,大小和顺序与栅格地图完全相同,代表的意义分别为最大高度和最小高度(障碍物的高度信息)。在标记障碍物的同时将高度信息不断迭代进去,以保证标记后的栅格地图中的障碍物信息中均包含高度信息。

进一步地,在所述深度视觉数据处理层中,根据所述深度视觉数据和机器人本体高度范围对障碍物进行标记。即,对所述机器人通行会造成障碍的障碍物进行标记。

s240,将所述激光处理层和所述视觉数据处理层进行融合,形成带有高度信息的障碍物层。

将所述激光处理层中的障碍物信息叠加到所述深度视觉数据处理层,和所述深度视觉数据处理层中标记的障碍物信息进行融合,形成带有所述激光处理层障碍物信息和带有所述深度视觉数据处理层障碍物信息的包括障碍物高度信息的障碍物层。

可选地,所述障碍物的高度信息为在所述深度视觉数据处理层中进行标记的障碍物的高度信息。

可选地,所述激光处理层中的障碍物和所述深度视觉数据处理层中的障碍物有可能并不完全重合。但是,在所述障碍物层中,所述激光处理层中的障碍物和所述深度视觉数据处理层中的障碍物均会进行显示。

本实施例的一种基于深度视觉和单线激光雷达的栅格地图标记方法,通过在二维的栅格地图上合理的标记深度视觉的三维信息,将点云信息投影到一个平面以后并记录平面上每一个有效障碍物的高度范围(最小高度和最大高度),使机器人在进行避障时有更丰富的障碍物信息,并且在避障的时候可以参考障碍物的高度信息,提高了整体通过性和路线规划合理性。

如图6所示,本申请实施例还提出了一种基于深度视觉和单线激光雷达的栅格地图标记系统,包括:

获取模块610,用于获取激光雷达数据和深度视觉数据;

第一处理模块620,用于在激光处理层中,根据所述激光雷达数据进行障碍物删除,并标记所有被删除的障碍物在栅格地图中的位置;

第二处理模块630,用于在深度视觉数据处理层中,根据所述深度视觉数据清除深度视觉视野内在所述栅格地图中已进行标记的障碍物;

融合模块640,用于将所述激光处理层和所述视觉数据处理层进行融合,形成带有高度信息的障碍物层。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的系统的具体工作过程,可以参考前述一种基于深度视觉和单线激光雷达的栅格地图标记方法实施例中的对应过程,在此不再赘述。

本申请实施例还提出了一种设备,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的一种基于深度视觉和单线激光雷达的栅格地图标记方法。

此外,本申请实施例还提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的一种基于深度视觉和单线激光雷达的栅格地图标记方法。

下面参考图7,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。图7示出的终端设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图7所示,设备700包括中央处理单元(cpu)701,其可以根据存储在只读存储器(rom)702中的计算机程序指令或者从存储单元708加载到随机访问存储器(ram)703中的计算机程序指令,来执行各种适当的动作和处理。在ram703中,还可以存储设备700操作所需的各种程序和数据。cpu701、rom702以及ram403通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。

设备700中的多个部件连接至i/o接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

处理单元701执行上文所描述的各个方法和处理,例如方法100、200。例如,在一些实施例中,方法100、200可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由rom702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到ram703并由cpu701执行时,可以执行上文描述的方法100、200的一个或多个步骤。备选地,在其他实施例中,cpu701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法100、200。

本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)等等。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

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