一种障碍物识别方法及装置与流程

文档序号:11261686阅读:323来源:国知局
一种障碍物识别方法及装置与流程

本申请涉及人工智能技术领域,尤其涉及一种障碍物识别方法及装置。



背景技术:

随着智能机器人技术的发展,能够自动移动的机器人逐渐走入人们的视野。在机器人移动的过程中,如果机器人前方存在障碍物,则需要躲避障碍物。因此,在机器人移动过程中,有必要识别前方是否存在障碍物。

现有技术中,机器人通过安装在机器人上的传感器采集传感器视野范围内的三维点云数据,将传感器的视野范围内的空间划分为多个栅格;将采集到的三维点云数据映射到多个栅格中,每个栅格会包括多个三维点云数据;接着,对每个栅格中三维点云数据进行平面拟合,得到多个拟合平面;通过分析多个拟合平面,识别前方是否存在障碍物。

上述方法需要划分栅格,以及针对每个栅格中的三维点云数据进行平面拟合,计算量较大,系统资源消耗较大,障碍物识别效率较低。



技术实现要素:

本申请所要解决的技术问题在于提供一种障碍物识别方法及装置,用以解决障碍物识别过程中计算量较大,系统资源消耗较大,障碍物识别效率较低的问题。

为了解决上述问题,本申请实施例提供了一种障碍物识别方法,包括:

根据机器人的行进能力参数,从所述机器人行进前方空间内的三维点云数据中,获取位于所述机器人行进能力可达范围内的三维点云数据;

平面拟合位于所述机器人行进能力可达范围内的三维点云数据,以获得平面拟合结果;

根据所述平面拟合结果,识别所述机器人行进前方空间内的三维点云数据中的障碍物数据点。

可选地,所述根据机器人的行进能力参数,从所述机器人行进前方空间内的三维点云数据中,获取位于所述机器人行进能力可达范围内的三维点云数据,包括:

通过安装在所述机器人上的传感器,采集所述机器人行进前方空间内的三维点云数据;

根据所述传感器所在坐标系与所述机器人所在坐标系之间的转换关系,对所述机器人行进前方空间内的三维点云数据进行坐标转换,以获得所述机器人所在坐标系下的三维点云数据;

根据所述行进能力参数,从所述机器人所在坐标系下的三维点云数据中,选择位于所述机器人行进能力可达范围内的三维点云数据。

可选地,所述根据所述传感器所在坐标系与所述机器人所在坐标系之间的转换关系,对所述机器人行进前方空间内的三维点云数据进行坐标转换,以获得所述机器人所在坐标系下的三维点云数据之前,所述方法还包括:

根据所述传感器在所述机器人上的安装角度,构建所述传感器所在坐标系;

以地平面以及所述机器人的站立方向,构建所述机器人所在坐标系;

根据所述传感器所在坐标系与所述机器人所在坐标系中相应坐标轴之间的夹角,计算所述传感器所在坐标系与所述机器人所在坐标系之间的转换关系。

可选地,所述根据所述传感器所在坐标系与所述机器人所在坐标系中相应坐标轴之间的夹角,计算所述传感器所在坐标系与所述机器人所在坐标系之间的转换关系,包括:

根据所述传感器所在坐标系的原点与所述机器人所在坐标系的原点的距离,确定平移矩阵;

根据所述传感器所在坐标系与所述机器人所在坐标系中相应坐标轴之间的夹角,确定旋转矩阵;

根据所述平移矩阵和所述旋转矩阵,确定所述转换关系对应的转换矩阵。

可选地,所述根据所述平面拟合结果,识别位于所述机器人行进能力可达范围内的三维点云数据中的障碍物数据点,包括:

若所述平面拟合结果为拟合出一空间平面,根据所述空间平面的倾斜角度,识别位于所述机器人行进前方空间内的三维点云数据中的障碍物数据点。

可选地,所述根据所述空间平面的倾斜角度,识别位于所述机器人行进前方空间内的三维点云数据中的障碍物数据点,包括:

计算所述空间平面的法向量与所述机器人所在坐标系中的z轴之间的夹角;

若所述夹角小于或等于预设夹角阈值,从位于所述机器人行进前方空间内的三维点云数据中,获取与所述空间平面的距离大于预设距离阈值的数据点作为所述障碍物数据点。

可选地,所述方法还包括:

若所述夹角大于预设夹角阈值,确定位于所述机器人行进前方空间内的三维点云数据均为所述障碍物数据点。

可选地,所述方法还包括:

若所述平面拟合结果为未拟合出空间平面,确定位于所述机器人行进前方空间内的三维点云数据均为障碍物数据点。

本申请实施例还提供了一种障碍物识别装置,包括:

获取模块,用于根据机器人的行进能力参数,从所述机器人行进前方空间内的三维点云数据中,获取位于所述机器人行进能力可达范围内的三维点云数据;

拟合模块,用于平面拟合所述位于所述机器人行进能力可达范围内的三维点云数据,以获得平面拟合结果;

识别模块,用于根据所述平面拟合结果,识别所述机器人行进前方空间内的三维点云数据中的障碍物数据点。

可选地,所述获取模块包括:采集单元、转换单元以及选择单元;

所述采集单元,用于通过安装在所述机器人上的传感器,采集所述机器人行进前方空间内的三维点云数据;

所述转换单元,用于根据所述传感器所在坐标系与所述机器人所在坐标系之间的转换关系,对所述机器人行进前方空间内的三维点云数据进行坐标转换,以获得所述机器人所在坐标系下的三维点云数据;

所述选择单元,用于根据所述行进能力参数,从所述机器人所在坐标系下的三维点云数据中,选择位于所述机器人行进能力可达范围内的三维点云数据。

与现有技术相比,本申请实施例从机器人行进前方空间内的三维点云数据中,选择位于机器人行进能力可达范围内的三维点云数据,进行平面拟合,以及通过平面拟合结果,识别机器人行进前方空间内全部数据中的障碍物数据点,减少了障碍物数据点识别的计算量,进而减少系统资源的消耗,提高障碍物识别的效率。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了根据本申请一实施例所述的一种障碍物识别方法的流程示意图;

图2示出了根据本申请又一实施例所述的一种障碍物识别方法中步骤s101的流程示意图;

图3示出了根据本申请又一实施例所述的机器人侧视图;

图4示出了根据本申请又一实施例所述的空间平面示意图;

图5示出了根据本申请又一实施例所述的一种障碍物识别装置的模块结构图;

图6示出了根据本申请又一实施例所述的获取模块的内部结构图。

具体实施方式

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

如图1所示,为本申请一实施例提供的一种障碍物识别方法,包括以下步骤:

s101:根据机器人的行进能力参数,从机器人行进前方空间内的三维点云数据中,获取位于机器人行进能力可达范围内的三维点云数据。

s102:平面拟合位于机器人行进能力可达范围内的三维点云数据,以获得平面拟合结果。

s103:根据平面拟合结果,识别机器人行进前方空间内的三维点云数据中的障碍物数据点。

目前,很多机器人可以在地面上自动行进,在现实场景中,地面常常是凹凸不平的,还可能存在障碍物。当机器人行进前方空间存在障碍物时,会导致机器人无法行进,则需要识别出障碍物,以便躲避障碍物。

为了识别机器人行进前方空间的障碍物,首先可以获取机器人行进前方空间内的三维点云数据,进而通过分析三维点云数据,识别机器人行进前方空间的障碍物。机器人行进前方空间内的三维点云数据可以指机器人行进前方空间内的物体表面每个采样点的三维空间坐标集合。

由于机器人行进前方空间内的三维点云数据的数据量一般较大,为了减少计算量,可以基于机器人行进前方空间内的部分三维点云数据进行障碍物的识别。

首先,根据机器人的行进能力参数,从机器人行进前方空间内的三维点云数据中,获取位于机器人行进能力可达范围内的三维点云数据。

机器人在地面上行进的能力可以称为机器人的行进能力。机器人的行进能力可以采用行进能力参数来表征,通过机器人的行进能力参数可以获知机器人的行进能力可达范围。

机器人的行进能力可达范围是理论上机器人可以行进的范围,理论上该范围内不应该有障碍物,否则就会阻碍机器人的行进。换句话说,在该范围内的三维点云数据理论上不应该是障碍物数据点。相反地,若机器人的行进能力可达范围内出现障碍物,那么势必会阻碍机器人的行进。此时,在机器人的行进能力可达范围之外,由于已经超出了机器人的行进能力可达范围,可以将在机器人的行进能力可达范围之外的三维点云数据视为障碍物数据点。

基于上述的分析,能否准确识别出机器人的行进能力可达范围内的障碍物对能否准确识别出机器人行进前方空间的障碍物具有重要影响。基于此,可以根据机器人的行进能力参数,从机器人行进前方空间内的三维点云数据中,获取位于机器人行进能力可达范围内的三维点云数据。可选地,根据机器人的行进能力参数,从机器人行进前方空间内的三维点云数据中,可以根据三维点云数据的坐标,获取位于机器人行进能力可达范围内的三维点云数据。

然后,平面拟合位于机器人行进能力可达范围内的三维点云数据,以获得平面拟合结果。本申请实施例中的平面拟合操作指的是用平面来刻画机器人行进能力可达范围内的三维点云数据之间的函数关系。获得平面拟合结果后,可以根据平面拟合结果,识别机器人行进前方空间内的三维点云数据中的障碍物数据点。

优选地,本申请实施例提供的方法尤其适用于机器人在较平坦的地面上行进的应用场景。

与现有技术相比,本申请实施例从机器人行进前方空间内的三维点云数据中,选择位于机器人行进能力可达范围内的三维点云数据,进行平面拟合,以及通过平面拟合结果,识别机器人行进前方空间内全部数据中的障碍物数据点,减少了障碍物数据点识别的计算量,进而减少系统资源的消耗,提高障碍物识别的效率。

在一可选实施方式中,在根据机器人的行进能力参数,从机器人行进前方空间内的三维点云数据中,获取位于机器人行进能力可达范围内的三维点云数据(即步骤s101)中,如图2所示,还可以包括以下步骤:

s1011:通过安装在机器人上的传感器,采集机器人行进前方空间内的三维点云数据。

三维点云数据可以通过安装在机器人上的传感器采集,例如,深度相机,双目相机或三维激光雷达等。传感器采集到的三维点云数据实际是物体表面采样点的三维坐标集合。

可选地,可以根据传感器的视野范围确定机器人行进前方空间,如图3为机器人的侧视图,图中阴影部分为机器人行进前方空间。

其中,传感器的视野范围由传感器的性能参数和安装参数确定。传感器的性能参数包括传感器的视角参数以及传感器的量程参数。传感器的安装参数包括安装角度以及安装位置。

在一示例中,传感器的性能参数包括视角30°以及最大量程1.5米。根据传感器的性能参数,可以采集到视角30°、最大量程1.5米内的三维点云数据。再根据传感器的安装角度:斜向地面45°(即俯仰角-45°),以及安装位置:距机器人底部1米。此时,在视角30°、最大量程1.5米内包括地面等阻隔传感器视线的物体,则传感器的视野范围会受到地面等物体的限制,如图3中阴影部分所示。

一般而言,距传感器镜头越远,传感器的精度越低,即采集到的三维点云数据与真实物体表面数据之间的误差越大。可选地,可以在根据传感器的视野范围确定机器人行进前方空间后,进一步,根据传感器精度参数选择符合所述精度参数的视野范围,作为机器人行进前方空间。在一示例中,传感器精度参数为0.2,进而确定符合精度0.2的传感器量程为4米,则可以在根据传感器的视野范围确定机器人行进前方空间后,选择量程4米内的视野范围,作为机器人行进前方空间。

s1012:根据传感器所在坐标系与机器人所在坐标系之间的转换关系,对机器人行进前方空间内的三维点云数据进行坐标转换,以获得机器人所在坐标系下的三维点云数据。

传感器采集的三维点云数据的三维坐标是在传感器所在坐标系下的三维坐标。为了简化计算,可以对机器人行进前方空间内的三维点云数据进行坐标转换,以获得机器人所在坐标系下的三维点云数据。

可选地,在步骤s1012之前,还可以包括传感器所在坐标系与机器人所在坐标系之间的转换关系的获取过程。

首先,根据传感器在机器人上的安装角度,构建传感器所在坐标系;以地平面以及机器人的站立方向,构建机器人所在坐标系。

机器人所在坐标系的z轴指向机器人的站立方向,机器人所在坐标系的x轴指向机器人的正前方,机器人所在坐标系的y轴与z轴、x轴共同形成右手坐标系,机器人所在坐标系的原点为机器人底部与地面接触的点,如图3所示。

传感器在机器人上的安装角度包括俯仰角、偏航角以及滚转角。其中,传感器的俯仰角为传感器所在坐标系的的x轴与机器人所在坐标系xoy平面的夹角;传感器所在坐标系的x轴为传感器的中心轴,指向传感器的前方,对于双目相机而言,x轴为左边镜头的中心轴。传感器的滚转角为传感器所在坐标系的z轴与机器人所在坐标系xoz平面的夹角;传感器所在坐标系的z轴指向传感器的上方。传感器的偏航角为传感器所在坐标系的y轴与机器人所在坐标系yoz平面的夹角;传感器所在坐标系的y轴与x轴、z轴共同形成右手坐标系。传感器所在坐标系的原点为传感器镜头的中心点,如图3所示。

可选地,为了方便采集机器人行进前方空间内的三维点云数据,机器人的安装的偏航角以及滚转角均设为0度,俯仰角为负值,也就是传感器镜头向下,从而传感器可以采集到机器人正前方偏地面方向的三维点云数据,如图3所示。

然后,根据传感器所在坐标系与机器人所在坐标系中相应坐标轴之间的夹角,计算传感器所在坐标系与机器人所在坐标系之间的转换关系。

传感器所在坐标系与机器人所在坐标系中相应坐标轴之间的夹角就是俯仰角、偏航角以及滚转角。当机器人所在坐标系的原点与传感器所在坐标系的原点重合的时候,可以根据俯仰角、偏航角以及滚转角,计算传感器所在坐标系与机器人所在坐标系之间的转换关系。所述转换关系可以是旋转矩阵r。

设传感器的偏航角为α,俯仰角为β,滚转角为γ。旋转矩阵r可以由式(1)表示:

r=rz(α)ry(β)rx(γ)(1)

其中,

当机器人所在坐标系的原点与传感器所在坐标系的原点不重合的时候,可选地,根据传感器所在坐标系的原点与机器人所在坐标系的原点的距离,确定平移矩阵;根据传感器所在坐标系与机器人所在坐标系中相应坐标轴之间的夹角,确定旋转矩阵;根据平移矩阵和旋转矩阵,确定转换关系对应的转换矩阵。

其中,平移矩阵t的计算公式如下:

其中,ax为沿机器人所在坐标系x轴方向,传感器所在坐标系的原点距机器人所在坐标系的原点的距离。ay为沿机器人所在坐标系y轴方向,传感器所在坐标系的原点距机器人所在坐标系的原点的距离。az为沿机器人所在坐标系z轴方向,传感器所在坐标系的原点距机器人所在坐标系的原点的距离。

转换矩阵p可以结合式(1)式(2)得到,如式(3)所示:

其中,ri,j是旋转矩阵r中第i行,第j列的值。

在获取传感器所在坐标系与机器人所在坐标系之间的转换关系后,可以依据所述转换关系,对机器人行进前方空间内的三维点云数据进行坐标转换,以获得机器人所在坐标系下的三维点云数据。当计算出的转换关系为p时,如式(4)所示:

p*[xi,yi,zi,1]t=[xi,yi,zi,1]t(4)

其中,机器人所在坐标系下的三维点云数据可以表示为{(xi,yi,zi)},传感器所在坐标系下的三维点云数据可以表示为{(xi,yi,zi)}。

当计算出的转换关系为r时,也可以应用式(4)计算机器人所在坐标系下的三维点云数据的三维坐标,只不过,此时ax、ay、az均为0。

s1013:根据行进能力参数,从机器人所在坐标系下的三维点云数据中,选择位于机器人行进能力可达范围内的三维点云数据。

可选地,行进能力参数可以是机器人能行进的最大水平角α。基于此,可以从机器人所在坐标系原点起,沿x轴正向作两个与xoy平面形成α和-α夹角的平面。则机器人的行进能力可达范围可以是上述所作两个平面之间所夹的范围,如图4所示。

在一示例中,机器人能行进的最大水平角为5°,则可以从机器人所在坐标系原点出发沿x轴正向作两个与xoy平面形成5°和-5°夹角的平面。则机器人行进能力可达范围为上述两个平面之间所夹的范围。

确定了机器人行进能力可达范围后,可以从机器人所在坐标系下的三维点云数据中,选择位于机器人行进能力可达范围内的三维点云数据进行平面拟合。

本实施例中,通过将传感器所在坐标系下的三维点云数据转换到机器人所在坐标系下,使得计算过程更简便;通过选择机器人的行进能力可达范围内的数据点作为平面拟合的点,减少了计算量,从而减少系统资源的消耗,提高障碍物识别的效率。

在上述实施例或下述实施例中,根据平面拟合结果,识别位于机器人行进能力可达范围内的三维点云数据中的障碍物数据点的过程中,根据平面拟合结果为能否拟合出一空间平面,包括以下两种可选实施方式:

第一种实施方式:若平面拟合结果为拟合出一空间平面,根据空间平面的倾斜角度,识别位于机器人行进前方空间内的三维点云数据中的障碍物数据点。

可选地,预设一误差阈值,根据最小二乘法,平面拟合所述选取的三维点云数据,以得到一拟合误差不大于误差阈值的空间平面。当然,除了最小二乘法,还可以使用遗传算法、神经网络算法等算法进行平面拟合。

下面是根据最小二乘法进行平面拟合的过程:

空间平面表达式可以是z=ax+by+c,通过确定系数a、b、c来确定空间平面。首先,a、b可以根据式(4)确定。

其中,机器人所在坐标系下的三维点云数据可以表示为{(xi,yi,zi)},0<i<=m,i是整数,m是自然数。是机器人所在坐标系下的三维点云数据的x轴坐标值的平均值,是机器人所在坐标系下的三维点云数据的y轴坐标值的平均值,是机器人所在坐标系下的三维点云数据的z轴坐标值的平均值。

接着,通过令拟合误差e(a,b,c)最小,来确定c。其中,e(a,b,c)可以由式(5)得到。

误差阈值可以用f表示,若拟合误差e(a,b,c)不大于误差阈值f,意味着拟合出的空间平面方程满足精度要求,可以得到空间平面;若拟合误差e(a,b,c)大于误差阈值f,意味着拟合出的空间平面方程不满足精度要求,可以视为未拟合出空间平面。

对于拟合出空间平面的情况,可以根据空间平面的倾斜角度,识别位于机器人行进前方空间内的三维点云数据中的障碍物数据点。

可选地,倾斜角度可以通过计算空间平面的法向量与机器人所在坐标系中的z轴之间的夹角得到。可选地,空间平面的法向量指向上方,空间平面的法向量与机器人所在坐标系中的z轴正向之间的夹角表征了空间平面的倾斜角度,如图4所示,z′与机器人所在坐标系z轴的指向相同。图中的虚线表示空间平面,夹角越大,空间平面的倾斜角度越大,三维点云数据为障碍物数据点的概率越大。

基于此,可以设置一预设夹角阈值,所述预设夹角阈值可以与机器人的行进能力参数中的最大水平角相同。若空间平面的法向量与机器人所在坐标系中的z轴之间的夹角大于预设夹角阈值,确定位于机器人行进前方空间内的三维点云数据均为障碍物数据点。相反,若夹角小于或等于预设夹角阈值时,分以下两种情况识别机器人行进前方的三维点云数据是否为障碍物数据点。

第一种情况:从位于机器人行进前方空间内的三维点云数据中,获取与空间平面的距离大于预设距离阈值的数据点作为障碍物数据点;第二种情况:从位于机器人行进前方空间内的三维点云数据中,获取与空间平面的距离小于等于预设距离阈值的数据点作为地面数据点。

可选地,三维点云数据与空间平面的距离可以由以下方法得到:将机器人行进前方空间中每个三维点云数据的坐标(xi,yi,zi)中的(xi,yi)分别带入到空间平面方程f=ax+by+c中,求得f。对于每个三维点云数据来说,其与空间平面的距离为f与zi的差值。

所述距离大于预设距离阈值的数据点可以被认为是距离地面较远的数据点,因此可以作为障碍物数据点;所述距离小于等于预设距离阈值的数据点可以被认为是距离地面较近的数据点,因此可以作为地面数据点。

其中,预设距离阈值可以是多次试验所得的经验值。所述试验的过程可以是,多次调整距离阈值,直到障碍物识别装置能够准确识别出障碍物数据点,所得的距离阈值作为预设距离阈值。例如,在一试验中,在机器人行进前方空间的地面上放置一障碍物,安装在机器人上的传感器可以采集到地面点数据和障碍物表面采样点的三维坐标。障碍物识别装置将位于机器人行进能力可达范围内的三维点云数据拟合出一空间平面后,可以将距离阈值由大到小逐步调整,直到障碍物识别装置准确识别出障碍物数据点,调整后的距离阈值可以作为预设距离阈值。

第二种实施方式:若平面拟合结果为未拟合出空间平面,也就是拟合误差e(a,b,c)大于误差阈值f,可以确定位于机器人行进前方空间内的三维点云数据均为障碍物数据点。

当未拟合出空间平面时,可以认为三维点云数据的分布比较杂乱,此时不存在地面数据点,可以确定位于机器人行进前方空间内的三维点云数据均为障碍物数据点。

本实施例中,通过能否拟合出平面、空间平面的倾斜角度以及三维点云数据到空间平面的距离,分情况识别三维点云数据是否为障碍物数据点,提高了障碍物识别的效率。

本申请实施例还提供了一种障碍物识别装置500,包括获取模块510、拟合模块520以及识别模块530。

获取模块510,用于根据机器人的行进能力参数,从机器人行进前方空间内的三维点云数据中,获取位于机器人行进能力可达范围内的三维点云数据。

拟合模块520,用于平面拟合获取模块510获取的位于机器人行进能力可达范围内的三维点云数据,以获得平面拟合结果。

识别模块530,用于根据拟合模块520获得的平面拟合结果,识别机器人行进前方空间内的三维点云数据中的障碍物数据点。

可选地,获取模块510还用于根据机器人的行进能力参数,从机器人行进前方空间内的三维点云数据中,根据三维点云数据的坐标,获取位于机器人行进能力可达范围内的三维点云数据。

与现有技术相比,本申请实施例从机器人行进前方空间内的三维点云数据中,选择位于机器人行进能力可达范围内的三维点云数据,进行平面拟合,以及通过平面拟合结果,识别机器人行进前方空间内全部数据中的障碍物数据点,减少了障碍物数据点识别的计算量,进而减少系统资源的消耗,提高障碍物识别的效率。

可选地,如图6所示,获取模块510的一种实现结构包括:采集单元511、转换单元512以及选择单元513。

采集单元511,用于通过安装在机器人上的传感器,采集机器人行进前方空间内的三维点云数据;

转换单元512,用于根据传感器所在坐标系与机器人所在坐标系之间的转换关系,对采集单元511采集的机器人行进前方空间内的三维点云数据进行坐标转换,以获得机器人所在坐标系下的三维点云数据;

选择单元513,用于根据行进能力参数,从转换单元512获得的机器人所在坐标系下的三维点云数据中,选择位于机器人行进能力可达范围内的三维点云数据。

可选地,获取模块510还可以包括计算单元。

计算单元具体用于:根据传感器在机器人上的安装角度,构建传感器所在坐标系;以地平面以及机器人的站立方向,构建机器人所在坐标系;根据传感器所在坐标系与机器人所在坐标系中相应坐标轴之间的夹角,计算传感器所在坐标系与机器人所在坐标系之间的转换关系。所述转换关系可以是转换矩阵。

转换单元512可以根据计算单元计算出的转换关系,对机器人行进前方空间内的三维点云数据进行坐标转换,以获得机器人所在坐标系下的三维点云数据。可选地,转换单元512用于将传感器所在坐标系下的三维点云数据的三维坐标右乘计算单元计算出的转换矩阵,得到机器人所在坐标系下的三维点云数据的三维坐标。

可选地,计算单元在根据传感器所在坐标系与机器人所在坐标系中相应坐标轴之间的夹角,计算传感器所在坐标系与机器人所在坐标系之间的转换关系时,具体还用于:根据传感器所在坐标系的原点与机器人所在坐标系的原点的距离,确定平移矩阵;根据传感器所在坐标系与机器人所在坐标系中相应坐标轴之间的夹角,确定旋转矩阵;根据平移矩阵和旋转矩阵,确定转换关系对应的转换矩阵。

本实施例中,通过将传感器所在坐标系下的三维点云数据转换到机器人所在坐标系下,使得计算过程更简便;通过选择机器人的行进能力可达范围内的数据点作为平面拟合的点,减少了计算量,从而减少系统资源的消耗,提高障碍物识别的效率。

可选地,识别模块530在根据平面拟合结果,识别位于机器人行进能力可达范围内的三维点云数据中的障碍物数据点时,具体用于:若平面拟合结果为拟合出一空间平面,根据空间平面的倾斜角度,识别位于机器人行进前方空间内的三维点云数据中的障碍物数据点。

可选地,识别模块530在根据空间平面的倾斜角度,识别位于机器人行进前方空间内的三维点云数据中的障碍物数据点时,具体用于:计算空间平面的法向量与机器人所在坐标系中的z轴之间的夹角;若夹角小于或等于预设夹角阈值,从位于机器人行进前方空间内的三维点云数据中,获取与空间平面的距离大于预设距离阈值的数据点作为障碍物数据点。

可选地,识别模块530在计算空间平面的法向量与机器人所在坐标系中的z轴之间的夹角后,还用于若夹角大于预设夹角阈值,确定位于机器人行进前方空间内的三维点云数据均为障碍物数据点。

可选地,识别模块在根据平面拟合结果,识别位于机器人行进能力可达范围内的三维点云数据中的障碍物数据点时,具体用于:若平面拟合结果为未拟合出空间平面,确定位于机器人行进前方空间内的三维点云数据均为障碍物数据点。

本实施例中,通过能否拟合出平面、空间平面的倾斜角度以及三维点云数据到空间平面的距离,分情况识别三维点云数据是否为障碍物数据点,提高了障碍物识别的效率。

所述装置与前述的方法流程描述对应,不足之处参考上述方法流程的叙述,不再一一赘述。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统,也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。

应该注意上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。

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