无人设备路面障碍检测方法、装置、无人设备及存储介质与流程

文档序号:30183923发布日期:2022-05-26 16:35阅读:112来源:国知局
无人设备路面障碍检测方法、装置、无人设备及存储介质与流程

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.可选的,所述第二坐标与所述激光雷达采集所述目标点云时的角度的函数如下:
[0029][0030]
其中,(x
′i,y
′i,z

i)为第i个特征点在所述无人设备坐标系中的第二坐标,(xi,yi,zi)为第i个特征点在目标点云中对应的点在所述激光雷达坐标系中的第一坐标,α,γ,t
x
,ty,tz分别为所述激光雷达相对于所述无人设备的滚转角、偏航角及位置参数,θ为所述激光雷达采集所述目标点云时的角度。
[0031]
可选的,以所述激光雷达采集所述目标点云时的角度为变量最小化所述距离函数,如下:
[0032][0033]
其中,θ
*
为所述激光雷达采集每一帧所述目标点云时的俯仰角,a
pi
,b
pi
,c
pi
,d
pi
为第i个特征点对应的特征面的平面方程参数。
[0034]
可选的,基于所述俯仰角将所述至少两帧目标点云转换至同一坐标系下,包括:
[0035]
基于如下公式将所述至少两帧目标点云转换至无人设备坐标系下;
[0036][0037]
其中,(x
′1,y
′1,z
′1)为所述目标点云中的点转换为无人设备坐标系下的坐标,(x1,y1,z1)为所述目标点云中的点在所述激光雷达坐标系中的坐标,α,γ,t
x
,ty,tz分别为所述激光雷达相对于所述无人设备的滚转角、偏航角及位置参数,θ
*
为所述激光雷达采集所述目标点云时的俯仰角。
[0038]
可选的,基于所述密集点云确定所述无人设备行进路径上的真实障碍,包括:
[0039]
采用聚类算法对所述密集点云进行处理,将所述密集点云中相互距离小于预设的距离阈值的点作为第二集群;
[0040]
将所述第二集群的尺寸与预设的尺寸阈值进行比较,将大于或等于所述尺寸阈值的第二集群作为所述无人设备行进路径上的真实障碍。
[0041]
第二方面,本发明实施例还提供了一种无人设备路面障碍检测装置,包括:
[0042]
点云获取模块,用于获取无人设备在行进过程激光雷达采集的点云;
[0043]
疑似障碍确定模块,用于基于所述点云确定所述无人设备行进路径上的疑似障碍;
[0044]
目标点云获取模块,用于控制所述激光雷达以至少两种不同的角度扫描所述疑似障碍所在的区域,得到至少两帧目标点云;
[0045]
点云融合模块,用于将所述至少两帧目标点云融合,得到密集点云;
[0046]
真实障碍确定模块,用于基于所述密集点云确定所述无人设备行进路径上的真实障碍。
[0047]
第三方面,本发明实施例还提供了一种无人设备,包括:
[0048]
一个或多个处理器;
[0049]
存储装置,用于存储一个或多个程序;
[0050]
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明第一方面提供的无人设备路面障碍检测方法。
[0051]
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如本发明第一方面提供的无人设备路面障碍检测方法。
[0052]
本发明实施例提供的无人设备路面障碍检测方法,在获取无人设备在行进过程激光雷达采集的点云之后,基于点云确定无人设备行进路径上的疑似障碍,并控制激光雷达以至少两种不同的角度扫描疑似障碍所在的区域,得到至少两帧目标点云,然后将至少两帧目标点云融合,得到密集点云,并基于密集点云确定无人设备行进路径上的真实障碍。以至少两种不同的角度扫描疑似障碍所在的区域,增加打在疑似障碍上的光斑的密度,提高了激光雷达的分辨率和点云对疑似障碍的覆盖率,进而提高了障碍的检测精度,避免出现漏检影响无人设备的正常运行的情况,提高了无人设备的安全性。
附图说明
[0053]
图1为本发明实施例提供的一种无人设备的结构示意图;
[0054]
图2为本发明实施例一提供的一种无人设备路面障碍检测方法的流程图;
[0055]
图3a是本发明实施例二提供的一种无人设备路面障碍检测方法的流程图;
[0056]
图3b为本发明实施例提供的一种无人设备的侧视图;
[0057]
图3c为本发明实施例提供的一种无人设备的正视图;
[0058]
图4为本发明实施例三提供的一种无人设备路面障碍检测装置的结构示意图;
[0059]
图5为本发明实施例四提供的一种无人设备的结构示意图。
具体实施方式
[0060]
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0061]
在本发明实施例中,无人设备可以是无人车、搬运机器人、清扫机器人等轮式无人设备,本发明实施例在此不做限定。图1为本发明实施例提供的一种无人设备的结构示意图,如图1所示,无人设备可以包括控制设备101,总线102,ecu(electronic control unit,电子控制单元)103,传感器104和执行器件105。
[0062]
其中,控制设备101负责整个无人设备的总体智能控制。控制设备101可以是单独设置的控制器,例如可编程逻辑控制器(programmable logic controller,plc)、单片机、工业控制机等;也可以是由其他具有输入/输出端口,并具有运算控制功能的电子器件组成的设备;还可以是安装有无人设备控制类应用的计算机设备。控制设备101可以对从总线102上接收到的ecu 103发来的数据和/或传感器104发来的数据进行分析处理,作出相应的决策,并将决策对应的指令发送到总线102。
[0063]
总线102可以是用于连接控制设备101,ecu 103、传感器104以及无人设备的其他未示出的设备的总线。由于can(controller area network,控制器局域网络)总线的高性能和可靠性已被广泛认同,因此目前无人设备中常用的总线为can总线。当然,可以理解的是总线102也可以是其他类型的总线。
[0064]
总线102可以将控制设备101发出的指令发送给ecu 103,ecu 103将上述指令进行分析处理后发给相应的执行器件105执行。执行器件可以包括但不限于制动器、转向器等。
[0065]
上述传感器104包括但不限于激光雷达、相机,等等。
[0066]
需要说明的是,本发明实施例所提供的无人设备路面障碍检测方法可以由控制设备101执行,相应地,无人设备路面障碍检测装置一般设置于控制设备101中。
[0067]
应该理解,图1中的控制设备101、总线102、ecu 103、传感器104和执行器件105的数目仅仅是示意性的。根据实现需要,可以具有任意数目的控制设备101、总线102、ecu 103、传感器104和执行器件105,本发明实施例在此不做限定。
[0068]
实施例一
[0069]
图2为本发明实施例一提供的一种无人设备路面障碍检测方法的流程图,本实施例可适用于路面小型障碍物的检测,该方法可以由本发明实施例提供的无人设备路面障碍检测装置来执行,该装置可以由软件和/或硬件的方式实现,并配置于本发明实施例提供的无人设备中,如图2所示,该方法具体包括如下步骤:
[0070]
s201、获取无人设备在行进过程激光雷达采集的点云。
[0071]
在本无人设备行进过程中,无人设备驱动激光雷达持续扫描无人设备周围的环境。激光雷达发射包括多条(例如32线或64线)激光的激光束,并接收物体表面反射回的反射激光。激光雷达准确地测量激光从发射到被反射回的传播时间。鉴于光速是已知的,传播时间即可被转换为对距离的测量。结合激光雷达的高度和激光扫描角度,就可以准确地计算出每一个光斑的在激光雷达所在的坐标系中的三维坐标,从而得到由多个点组成的点云。
[0072]
s202、基于点云确定无人设备行进路径上的疑似障碍。
[0073]
在本发明实施例中,示例性的,可以对采集的点云进行语义分割,对点云中的每一点进行分类,确定该点所属的物体,例如,属于路面的点、属于道路边缘的点、属于路灯的点、属于障碍的点、属于其他无人设备的点,等等。通过上述语义分割,可以确定无人设备行进路径上的障碍,并对障碍进行尺寸评估,将大于或等于预设的尺寸阈值的障碍标记为真实障碍,将小于尺寸阈值的障碍标记为疑似障碍。其中,尺寸阈值可以是无人设备可通过的最大障碍物尺寸,最大障碍物尺寸小于无人设备的底盘高度。
[0074]
如前文所述,多线激光雷达的垂直分辨率有限,只有部分线束会打在物体上,无法覆盖整个物体,即通过上述语义分割得到的障碍实际上只是真实障碍的一部分,这就可能出现小于尺寸阈值的障碍的实际尺寸大于尺寸阈值的情况。因此,需要对小于尺寸阈值的疑似障碍进一步分析,判断其是否为真实障碍。
[0075]
需要说明的是,在本发明实施例中,对点云进行语义分割的具体算法不做限定,只要能够从点云中确定疑似障碍即可。
[0076]
s203、控制激光雷达以至少两种不同的角度扫描疑似障碍所在的区域,得到至少两帧目标点云。
[0077]
在本发明实施例中,激光雷达可以转动或摆动,当点云中出现疑似障碍时,无人设备控制激光雷达转动或摆动,以至少两种不同的角度扫描疑似障碍所在的区域,得到至少两帧目标点云。
[0078]
s204、将至少两帧目标点云融合,得到密集点云。
[0079]
在本发明实施例中,将上述得到的至少两帧目标点云融合,得到密集点云。在本发明实施例中,通过控制激光雷达以至少两种不同的角度扫描疑似障碍所在的区域,得到至少两帧目标点云,并将至少两帧目标点云融合,增加打在疑似障碍上的光斑的密度,提高激光雷达的分辨率,进而可以对疑似障碍的尺寸进行精确评估,提高了障碍的检测精度。
[0080]
s205、基于密集点云确定无人设备行进路径上的真实障碍。
[0081]
在本发明实施例中,示例性的,可以对得到的密集点云进行语义分割,确定无人设备行进路径上的障碍,并对障碍进行尺寸评估,将大于或等于预设的尺寸阈值的障碍标记为真实障碍,将小于尺寸阈值的障碍标记为非障碍。由于该语义分割过程是对密集点云进行处理,障碍上的点云密度较大,分辨率较高,对障碍的覆盖率高,因此,得到的障碍接近真实障碍的实际尺寸,提高了障碍的检测精度。
[0082]
本发明实施例提供的无人设备路面障碍检测方法,在获取无人设备在行进过程激光雷达采集的点云之后,基于点云确定无人设备行进路径上的疑似障碍,并控制激光雷达以至少两种不同的角度扫描疑似障碍所在的区域,得到至少两帧目标点云,然后将至少两帧目标点云融合,得到密集点云,并基于密集点云确定无人设备行进路径上的真实障碍。以至少两种不同的角度扫描疑似障碍所在的区域,增加打在疑似障碍上的光斑的密度,提高了激光雷达的分辨率和点云对疑似障碍的覆盖率,进而提高了障碍的检测精度,避免出现漏检影响无人设备的正常运行的情况,提高了无人设备的安全性。
[0083]
实施例二
[0084]
图3a是本发明实施例二提供的一种无人设备路面障碍检测方法的流程图,本实施例在上述实施例一的基础上进行细化,详细描述了无人设备路面障碍检测方法中各步骤的具体实现过程,如图3a所示,该方法包括:
[0085]
s301、获取无人设备在行进过程激光雷达采集的点云。
[0086]
在本无人设备行进过程中,无人设备驱动激光雷达持续扫描无人设备周围的环境,得到点云。
[0087]
在本发明实施例中,无人设备为扫地机器人、无人驾驶清扫车等清扫设备,这类设备常见应用环境包括城市道路,园区,人行道等,而上述场所的路面情况经常存在坑洼、砖头、碎石、水管等小型障碍。如前文所述,多线激光雷达的垂直分辨率有限,点云无法覆盖整个物体,可能会忽略这些小型障碍(即漏检障碍)。而为了便于清扫地面,这类设备的底盘通常都较低,其通过性往往较差,导致无人设备很难越过这些小型障碍,甚至出现小型物体被吸入无人设备导致无人设备受损的情况。
[0088]
s302、将点云分割成位于地面以上的第一点云和位于地面以下的第二点云。
[0089]
在本发明实施例中,基于点云中各点的在激光雷达所在的坐标系中的三维坐标,例如竖直方向的坐标值,将点云中的点分割为三个部分,分别为地面的点、低于地面的点和高于地面的点,并将位于地面以上(即高于地面)的点组成的点云称之为第一点云,将位于地面以下(即低于地面)的点组成的点云称之为第二点云。
[0090]
s303、采用聚类算法分别对第一点云和第二点云进行处理,将第一点云和第二点云中相互距离小于预设的距离阈值的点作为第一集群。
[0091]
在本发明实施例中,采用聚类算法分别对第一点云和第二点云进行语义分割。具体的,采用聚类算法分别对第一点云和第二点云进行聚类处理,将第一点云和第二点云中相互距离小于预设的距离阈值的点作为第一集群。对于地面以上的第一点云中的第一集群,我们认为其是位于地面上的物体,对于地面以下的第二点云中的第一集群,我们认为其是地面上的坑洼。
[0092]
示例性的,在本发明实施例中,采用欧式聚类算法分别对第一点云和第二点云进行处理,将第一点云和第二点云中相互距离小于预设的距离阈值的点作为第一集群。欧式聚类是一种基于欧氏距离度量的聚类算法。具体的,以对第一点云的处理为示例,对于第一点云中的某一点p,通过kd-tree近邻搜索算法找到k个离p点最近的点,这些点中距离小于预设的距离阈值的便聚类到第一集群(即集合)q中。如果q中元素的数目不再增加,则整个聚类过程便结束;否则须在第一集群q中选取p点以外的点,重复上述过程,直到q中元素的数目不在增加为止。其中kd-tree是k-dimension tree的缩写,是对数据点在k维空间中划分的一种数据结构。k-d tree是每个节点均为k维数值点的二叉树,其上的每个节点代表一个超平面,该超平面垂直于当前划分维度的坐标轴,并在该维度上将空间划分为两部分,一部分在其左子树,另一部分在其右子树。即若当前节点的划分维度为d,其左子树上所有点在d维的坐标值均小于当前值,右子树上所有点在d维的坐标值均大于等于当前值,本定义对其任意子节点均成立。
[0093]
s304、将第一集群的尺寸与预设的尺寸阈值进行比较,将小于尺寸阈值的第一集群作为无人设备行进路径上的疑似障碍。
[0094]
在本发明实施例中,将各第一集群的尺寸(包括长、宽、高)与预设的尺寸阈值进行比较,将小于尺寸阈值的第一集群作为无人设备行进路径上的疑似障碍,将大于或等于预设的尺寸阈值的障碍标记为真实障碍。在本发明实施例中,无人设备为扫地机器人、无人驾驶清扫车等清扫设备,所以尺寸阈值可以是无人设备可清扫的最大物体的尺寸。
[0095]
s305、控制无人设备停止行进。
[0096]
在检测到疑似障碍时,控制无人设备停止行进。
[0097]
s306、控制激光雷达绕平行于地面且垂直于行进方向的转轴摆动,以至少两种不同的角度扫描疑似障碍所在的区域,得到至少两帧目标点云。
[0098]
图3b为本发明实施例提供的一种无人设备的侧视图,图3c为本发明实施例提供的一种无人设备的正视图,如图3b、图3c所示,在本发明实施例中,无人设备的顶部安装有激光雷达和驱动机构,激光雷达与驱动机构连接,驱动机构通过安装支架与无人设备固定连接。驱动机构包括一平行于地面且垂直于行进方向的转轴,激光雷达固定在该转轴上。驱动机构驱动转轴转动,从而带动激光雷达摆动,从而使激光雷达能获取不同角度下的点云。在无人设备停止行进后,控制驱动机构驱动转轴转动,从而带动激光雷达绕平行于地面且垂直于行进方向的转轴摆动,以至少两种不同的角度扫描疑似障碍所在的区域,得到至少两帧目标点云
[0099]
s307、确定激光雷达采集每一帧目标点云时的俯仰角。
[0100]
在本发明实的一些施例中,驱动机构可以是伺服驱动机构,例如伺服电机,通过伺服驱动机构的转动角度可以确定激光雷达采集每一帧目标点云时的俯仰角。由于伺服驱动机构的成本较高,因此,在本发明实施例中,利用无人设备外形的几何特征以及打在无人设备上的点云来确定激光雷达采集每一帧目标点云时的俯仰角,具体过程如下:
[0101]
1、从目标点云中找到特征点对应的点,并确定特征点对应的点在激光雷达坐标系中的第一坐标。
[0102]
无人设备上设置有多个用于标定的特征点,目标点云覆盖特征点。在本发明实施例中,为了保证目标点云能够覆盖所有特征点,激光雷达倒置安装在无人设备顶部,上端固定在驱动机构的转轴上,下端可以绕转轴摆动,以增大激光雷达对无人设备的覆盖率。
[0103]
在本发明实施例中,针对每一帧目标点云,从目标点云中找到特征点对应的点,并确定特征点对应的点在激光雷达坐标系中的第一坐标。
[0104]
2、基于第一坐标与特征点在无人设备坐标系中的第二坐标的转换关系,构建第二坐标与激光雷达采集目标点云时的角度的函数。
[0105]
具体的,第二坐标与激光雷达采集目标点云时的角度的函数如下:
[0106][0107]
其中,(x
′i,y
′i,z
′i)为第i个特征点在无人设备坐标系中的第二坐标,(xi,yi,zi)为第i个特征点在目标点云中对应的点在激光雷达坐标系中的第一坐标,α,γ,t
x
,ty,tz分别为激光雷达相对于无人设备的滚转角、偏航角及位置参数,θ为激光雷达采集目标点云时的角度。其中,滚转角、偏航角及位置参数可通过预先标定获取。
[0108]
3、构建第二坐标到特征点所在的特征面的距离函数。
[0109]
在本发明实施例中,第二坐标到特征点所在的特征面的距离函数如下:
[0110][0111]
其中,di为第二坐标到特征点所在的特征面的距离,a
pi
,b
pi
,c
pi
,d
pi
为第i个特征点对应的特征面的平面方程参数。
[0112]
4、以激光雷达采集目标点云时的角度为变量最小化距离函数,并将距离函数的最小值对应的角度作为激光雷达采集每一帧目标点云时的俯仰角。
[0113]
具体的,以激光雷达采集目标点云时的角度为变量最小化距离函数,如下:
[0114][0115]
其中,θ
*
为待求的激光雷达采集每一帧所述目标点云时的俯仰角,由于a
pi
,b
pi
,c
pi
,d
pi
为第i个特征点对应的特征面的平面方程参数为已知的常数,因此上式可简化为:
[0116][0117]
示例性的,可以基于高斯牛顿法可实现对上式的求解,得到使第二坐标到特征点所在的特征面的距离函数最小的角度作为俯仰角。
[0118]
本发明实施例利用无人设备外形的几何特征以及打在无人设备上的点云来确定激光雷达采集每一帧目标点云时的俯仰角,不受外界环境中动态物体的影响(如车辆、行人、随风飘动的树木等),这使得获取的俯仰角具有较高的精度和可靠性。此外,利用无人设备外形的几何特征及打在无人设备上的激光点云来确定俯仰角,可降低系统的复杂度和成本。
[0119]
需要说明的是,上述确定激光雷达的俯仰角的方法为对本发明实施例的示例性说明,在本发明其他实施例中,也可以采用其他方法来确定激光雷达的俯仰角,本发明实施例在此不做限定。
[0120]
s308、基于俯仰角将至少两帧目标点云转换至同一坐标系下。
[0121]
点云的融合过程就是求一个两个点云之间的平移变换矩阵(rigid transform or euclidean transform刚性变换或欧式变换),将源点云(source cloud)变换到目标点云(target cloud)相同的坐标系下。
[0122]
在本发明实施例中,基于俯仰角将至少两帧目标点云转换至同一坐标系下,包括:
[0123]
基于如下公式将至少两帧目标点云转换至无人设备坐标系下。
[0124][0125]
其中,(x
′1,y
′1,z
′1)为目标点云中的点转换为无人设备坐标系下的坐标,(x1,y1,z1)为目标点云中的点在激光雷达坐标系中的坐标,α,γ,t
x
,ty,tz分别为激光雷达相对于无人设备的滚转角、偏航角及位置参数,θ
*
为激光雷达采集目标点云时的俯仰角。
[0126]
s309、将位于同一坐标系下的至少两帧目标点云融合,得到密集点云。
[0127]
将位于同一坐标系下的至少两帧目标点云融合,得到点密度更高的密集点云,增加打在疑似障碍上的光斑的密度,提高激光雷达的分辨率,进而可以对疑似障碍的尺寸进行精确评估,提高了障碍的检测精度。
[0128]
s310、采用聚类算法对密集点云进行处理,将密集点云中相互距离小于预设的距离阈值的点作为第二集群。
[0129]
示例性的,在本发明实施例中,采用聚类算法对密集点云进行聚类处理,将密集点云中相互距离小于预设的距离阈值的点作为第二集群。示例性的,在本发明实施例中,采用欧式聚类算法对密集点云进行处理,将密集点云中相互距离小于预设的距离阈值的点作为第二集群。具体的,欧式聚类算法在本发明前述实施例中已有详细记载,本发明实施例在此不再赘述。
[0130]
s311、将第二集群的尺寸与预设的尺寸阈值进行比较,将大于或等于尺寸阈值的第二集群作为无人设备行进路径上的真实障碍。
[0131]
在本发明实施例中,将各第二集群的尺寸(包括长、宽、高)与预设的尺寸阈值进行比较,将大于或等于尺寸阈值的第二集群作为无人设备行进路径上的真实障碍,将小于尺寸阈值的障碍标记为非障碍。由于该第二集群是对密集点云进行聚类处理得到的,障碍上的点云密度较大,分辨率较高,对障碍的覆盖率高,因此,得到的障碍接近真实障碍的实际尺寸,提高了障碍的检测精度。
[0132]
本发明实施例提供的无人设备路面障碍检测方法,在确定无人设备行进路径上的疑似障碍时,以至少两种不同的角度扫描疑似障碍所在的区域,增加打在疑似障碍上的光斑的密度,提高了激光雷达的分辨率和点云对疑似障碍的覆盖率,进而提高了障碍的检测精度,避免出现漏检影响无人设备的正常运行的情况,提高了无人设备的安全性。此外,利用无人设备外形的几何特征以及打在无人设备上的点云来确定激光雷达采集每一帧目标点云时的俯仰角,提高了俯仰角的精度,降低了无人设备的成本。
[0133]
实施例三
[0134]
图4为本发明实施例三提供的一种无人设备路面障碍检测装置的结构示意图,如图4所示,该装置包括:
[0135]
点云获取模块401,用于获取无人设备在行进过程激光雷达采集的点云;
[0136]
疑似障碍确定模块402,用于基于所述点云确定所述无人设备行进路径上的疑似障碍;
[0137]
目标点云获取模块403,用于控制所述激光雷达以至少两种不同的角度扫描所述疑似障碍所在的区域,得到至少两帧目标点云;
[0138]
点云融合模块404,用于将所述至少两帧目标点云融合,得到密集点云;
[0139]
真实障碍确定模块405,用于基于所述密集点云确定所述无人设备行进路径上的真实障碍。
[0140]
在本发明的一些实施例中,疑似障碍确定模块402包括:
[0141]
点云分割子模块,用于将所述点云分割成位于地面以上的第一点云和位于地面以下的第二点云;
[0142]
第一聚类子模块,用于采用聚类算法分别对所述第一点云和所述第二点云进行处
理,将所述第一点云和所述第二点云中相互距离小于预设的距离阈值的点作为第一集群;
[0143]
第一尺寸比较子模块,用于将所述第一集群的尺寸与预设的尺寸阈值进行比较,将小于所述尺寸阈值的第一集群作为所述无人设备行进路径上的疑似障碍。
[0144]
在本发明的一些实施例中,目标点云获取模块403包括:
[0145]
停止子模块,用于控制所述无人设备停止行进;
[0146]
目标点云获取子模块,用于在所述无人设备停止行进后,控制所述激光雷达绕平行于地面且垂直于行进方向的转轴摆动,以至少两种不同的角度扫描所述疑似障碍所在的区域,得到至少两帧目标点云。
[0147]
在本发明的一些实施例中,点云融合模块404包括:
[0148]
俯仰角确定子模块,用于确定所述激光雷达采集每一帧所述目标点云时的俯仰角;
[0149]
坐标转换子模块,用于基于所述俯仰角将所述至少两帧目标点云转换至同一坐标系下;
[0150]
融合子模块,用于将位于同一坐标系下的所述至少两帧目标点云融合,得到密集点云。
[0151]
在本发明的一些实施例中,所述无人设备上设置有多个用于标定的特征点,所述目标点云覆盖所述特征点,俯仰角确定子模块包括:
[0152]
特征点坐标确定单元,用于从所述目标点云中找到所述特征点对应的点,并确定所述特征点对应的点在所述激光雷达坐标系中的第一坐标;
[0153]
第一函数构建单元,用于基于第一坐标与所述特征点在所述无人设备坐标系中的第二坐标的转换关系,构建所述第二坐标与所述激光雷达采集所述目标点云时的角度的函数;
[0154]
第二函数构建单元,用于构建所述第二坐标到所述特征点所在的特征面的距离函数;
[0155]
俯仰角确定单元,用于以所述激光雷达采集所述目标点云时的角度为变量最小化所述距离函数,并将所述距离函数的最小值对应的角度作为所述激光雷达采集每一帧所述目标点云时的俯仰角。
[0156]
在本发明的一些实施例中,所述第二坐标与所述激光雷达采集所述目标点云时的角度的函数如下:
[0157][0158]
其中,(x
′i,y
′i,z
′i)为第i个特征点在所述无人设备坐标系中的第二坐标,(xi,yi,zi)为第i个特征点在目标点云中对应的点在所述激光雷达坐标系中的第一坐标,α,γ,t
x
,ty,tz分别为所述激光雷达相对于所述无人设备的滚转角、偏航角及位置参数,θ为所述激光雷达采集所述目标点云时的角度。
[0159]
在本发明的一些实施例中,以所述激光雷达采集所述目标点云时的角度为变量最小化所述距离函数,如下:
[0160][0161]
其中,θ
*
为所述激光雷达采集每一帧所述目标点云时的俯仰角,a
pi
,b
pi
,c
pi
,d
pi
为第i个特征点对应的特征面的平面方程参数。
[0162]
在本发明的一些实施例中,坐标转换子模块基于如下公式将所述至少两帧目标点云转换至无人设备坐标系下:
[0163][0164]
其中,(x
′1,y
′1,z
′1)为所述目标点云中的点转换为无人设备坐标系下的坐标,(x1,y1,z1)为所述目标点云中的点在所述激光雷达坐标系中的坐标,α,γ,t
x
,ty,tz分别为所述激光雷达相对于所述无人设备的滚转角、偏航角及位置参数,θ
*
为所述激光雷达采集所述目标点云时的俯仰角。
[0165]
在本发明的一些实施例中,真实障碍确定模块405包括:
[0166]
第二聚类子模块,用于采用聚类算法对所述密集点云进行处理,将所述密集点云中相互距离小于预设的距离阈值的点作为第二集群;
[0167]
第二尺寸比较子模块,用于将所述第二集群的尺寸与预设的尺寸阈值进行比较,将大于或等于所述尺寸阈值的第二集群作为所述无人设备行进路径上的真实障碍。
[0168]
上述无人设备路面障碍检测装置可执行本发明任意实施例所提供的无人设备路面障碍检测方法,具备执行无人设备路面障碍检测方法相应的功能模块和有益效果。
[0169]
实施例四
[0170]
本发明实施例四提供了一种无人设备,示例性的,无人设备为扫地机器人、无人驾驶清扫车等清扫设备。图5为本发明实施例四提供的一种无人设备的结构示意图,如图5所示,该无人设备包括处理器501、存储器502、通信模块503、输入装置504和输出装置505;无人设备中处理器501的数量可以是一个或多个,图5中以一个处理器501为例;无人设备中的处理器501、存储器502、通信模块503、输入装置504和输出装置505可以通过总线或其他方式连接,图5中以通过总线连接为例。上述处理器501、存储器502、通信模块503、输入装置504和输出装置505可以集成在无人设备的控制主板上。
[0171]
存储器502作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本实施例中的无人设备路面障碍检测方法对应的模块。处理器501通过运行存储在存储器502中的软件程序、指令以及模块,从而执行无人设备的各种功能应用以及数据处理,即实现上述实施例提供的无人设备路面障碍检测方法。
[0172]
存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据无人设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器502可进一步包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至无人设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0173]
通信模块503,用于与外界设备(例如智能终端)建立连接,并实现与外界设备的数据交互。输入装置504可用于接收输入的数字或字符信息,以及产生与无人设备的用户设置以及功能控制有关的键信号输入。
[0174]
本实施例提供的一种无人设备,可执行本发明上述任意实施例提供的无人设备路面障碍检测方法,具体相应的功能和有益效果。
[0175]
实施例五
[0176]
本发明实施例五提供了一种包含计算机可执行指令的存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明上述任意实施例提供的无人设备路面障碍检测方法,该方法包括:
[0177]
获取无人设备在行进过程激光雷达采集的点云;
[0178]
基于所述点云确定所述无人设备行进路径上的疑似障碍;
[0179]
控制所述激光雷达以至少两种不同的角度扫描所述疑似障碍所在的区域,得到至少两帧目标点云;
[0180]
将所述至少两帧目标点云融合,得到密集点云;
[0181]
基于所述密集点云确定所述无人设备行进路径上的真实障碍。
[0182]
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明实施例所提供的无人设备路面障碍检测方法中的相关操作。
[0183]
需要说明的是,对于装置、设备和存储介质实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0184]
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是机器人,个人计算机,服务器,或者网络设备等)执行本发明任意实施例所述的无人设备路面障碍检测方法。
[0185]
值得注意的是,上述装置中,所包括的各个模块、子模块、单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
[0186]
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行装置执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0187]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特
点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0188]
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1