掌桥专利:专业的专利平台
掌桥专利
首页

一种局部点云地图构建方法及视觉机器人

文献发布时间:2023-06-19 09:51:02


一种局部点云地图构建方法及视觉机器人

技术领域

本发明涉及局部点云地图的技术领域,特别是一种基于点云数据的局部点云地图构建方法及视觉机器人。

背景技术

3d-tof技术可以在有效范围内进行三维点云地图的还原,但3d-tof摄像头现在尚存的问题是:3d-tof因为无法完全的获得较为精准的深度值,误差普遍偏大,具体是当障碍物的距离过近过远时,深度值都会出现明显误差,使得基于单帧的深度数据分析并不能有效的识别出超近距离下的障碍物,所以需更加精确的点云地图去完成障碍物的定位。

中国专利CN110031825A公开的激光定位初始化方法,通过拼接连续获取的多帧激光点云来进行点云采样以构建三维坐标系,并以实时直方图存储采样的点云信息,但这一激光定位初始化方法需要调用大量的特征矩阵运算、构建多个坐标系以在多个象限内建立实时三维直方图,且点云数据对应的特征匹配运算过于复杂,不利于构建起精简的局部点云地图,而且依然解决不了上述过近距离的障碍物的定位识别问题。

发明内容

为了构建起一种更加精简的局部点云地图,克服3d-tof摄像头采集的点云数据存在的噪声误差问题,以便于依靠局部点云地图实时准确地定位识别出当前位置的过近障碍物,本发明公开一种局部点云地图构建方法,具体技术方案如下:

一种局部点云地图构建方法,该局部点云地图构建方法包括:步骤1、在移动机器人运动的过程中,控制移动机器人的3d-tof摄像头保持采集深度图像,并根据预设的显著位姿变化条件将3d-tof摄像头实时采集的当前帧深度图像插入关键帧序列内;然后进入步骤2;步骤2、控制关键帧序列内的深度图像的预设有效特征点进行位姿变换,以成为摄像头坐标系下的点云,然后进入步骤3;步骤3、在移动机器人的3d-tof摄像头的实时视角范围内,设置一个位于水平地面的预设目标平面区域,并在这个预设目标平面区域设置与其匹配的检测块,使得点云以三维直方图的形式标记在预设目标平面区域的正上方,然后进入步骤4;步骤4、根据点云在各个检测块的高度位置分布特征,先剔除相应的检测块内呈现离散分布状态的点云,再剔除具有被阻挡采集视线的高度特征的检测块内的点云,然后进入步骤5;步骤5、将各个检测块内分布的剩余的点云的位置标记为局部点云地图的三维位置,以实现局部点云地图的构建。

与现有技术相比,该技术方案根据预设的显著位姿变化条件采样反映机器人周边大范围区域位置的点云,使得移动机器人利用这些关键帧建立能够完整覆盖到移动机器人前方的障碍物分布状况的局部点云地图,然后以三维直方图的形式去描述出不同高度位置的点云,方便使用点云在不同检测块的三维区域分布特征去除杂散点以及当前位置下被阻挡采集视线的点云,提高过近过远障碍物场景的局部点云地图的适应性,显著降低超近距离下的障碍物位置识别定位的难度和误判概率。

进一步地,所述根据预设的显著位姿变化条件将3d-tof摄像头实时采集的当前帧深度图像插入关键帧序列内的方法具体包括:分别计算移动机器人的3d-tof摄像头当前采集的当前帧深度图像中的预设有效特征点与所述关键帧序列内的每一关键帧中的相同的预设有效特征点的相对位姿;其中,关键帧序列是移动机器人预先存储的连续排列的包括预设有效特征点的深度图像的序列;当所有计算出的相对位姿都满足预设的显著位姿变化条件时,将3d-tof摄像头当前采集的当前帧深度图像配置为新的关键帧,再将这个新的关键帧插入所述关键帧序列,以使得下一次参与前述的相对位姿计算的关键帧反映移动机器人最新的相对位置关系;其中,预设有效特征点是所述3d-tof摄像头的视角范围内用于表征移动机器人的前方的障碍物的分布位置特征,障碍物的分布位置特征包括存在障碍物和/或不存在障碍物。

与现有技术相比,使得移动机器人利用这些关键帧建立能够大范围覆盖到移动机器人前方的障碍物分布状况的局部点云地图,从而通过融合处理当前帧深度图像与这些支持更新的关键帧的相对位姿来解决机器人基于实时采集的单帧深度图像难以识别定位出机体边缘位置贴近的障碍物或距离机体过近的障碍物的问题。

进一步地,所述关键帧序列内的每一关键帧中的预设有效特征点与其对应关键帧下的3d-tof摄像头的距离和偏转角度都通过平移旋转的方式转换到所述当前帧深度图像对应所属的摄像头坐标系下,以实现所述位姿变换;其中,所述局部点云地图的地图坐标系是当前帧深度图像对应的摄像头坐标系。有利于构建起更加精确的局部点云地图,方便移动机器人的即时定位导航。

进一步地,所述所有计算出的相对位姿都满足预设的显著位姿变化条件具体为:计算出的相对位姿包括:移动机器人的3d-tof摄像头当前采集的当前帧深度图像中的预设有效特征点分别与发生所述位姿变换后的关键帧序列内的每一关键帧中的相同的预设有效特征点之间的深度距离变化量及其对应的偏转角度变化量;当所有的深度距离变化量都大于预设距离变化阈值、且所有的偏转角度变化量都大于预设角度变化阈值时,确定满足所述预设的显著位姿变化条件。

与现有技术相比,该技术方案根据通过判断两帧深度图像之间的预设有效特征点对应的实际位置点(认为是固定不变的)与3d-tof摄像头的距离的变化量是否足够大,并判断两帧深度图像之间的预设有效特征点对应的实际位置点(认为是固定不变的)相对于3d-tof摄像头的偏转角度的变化量是否足够大,来表征机体的位移是否足够大或者机体的旋转角度是否足够大,从而让配置为新的关键帧的深度图像与当前帧深度图像的间隙足够大,可以提供清晰和广域的机器人周边信息,让所属关键帧序列内深度图像的所覆盖的可视范围够大(例如角度,一个从左看,一个从右看,或者位移,近看和远看,其中这些角度位置之间的机器人位姿变换要足够大),使得关键帧序列内深度图像既存在包括障碍物的关键帧,又存在包括障碍物的关键帧。

进一步地,所述关键帧序列内的每一关键帧中的相同的预设有效特征点与其对应关键帧下的3d-tof摄像头的距离是:所述3d-tof摄像头预先采集并插入所述关键帧序列的深度图像的预设有效特征点对应的实际位置点到3d-tof摄像头的成像平面的深度距离,这个深度距离的变化量用于表示所述移动机器人发生的位移的大小程度;所述关键帧序列内的每一关键帧中的相同的预设有效特征点相对于其对应关键帧下的3d-tof摄像头的偏转角度是:所述3d-tof摄像头在采集到并插入所述关键帧序列的深度图像时的镜头朝向角度,这个镜头朝向角度的变化量用于表示所述移动机器人转动的角度。

与现有技术相比,该技术方案便于筛选出:表示移动机器人的相对位姿比较大的多帧关键帧,尤其是在移动机器人的机体发生较大角度的转动或发生较大的位移后,如果3d-tof摄像头不能识别出过近的障碍物时就从预先存储的关键帧序列中相关联的有效特征点(即预先保存的包括障碍物的关键帧)来辅助定位出这个过近障碍物的精确位置。

进一步地,所述步骤1包括:当移动机器人的3d-tof摄像头当前采集到当前帧深度图像时,调用移动机器人内部设置的惯性传感器测量移动机器人的当前位姿;然后调用预先保存的关键帧序列内的每一关键帧对应的移动机器人实时位姿,分别计算移动机器人的当前位姿与每一关键帧对应的移动机器人实时位姿之间的相对位姿。与现有技术相比,本技术方案利用机体内部的惯性传感器计算当前帧深度图像的有效采集位置与每一关键帧的有效采集位置之间的相对位姿,以直接求取出所述移动机器人采集预设有效特征点之间的位置变化量,有利于简化机器人定位运算,方便移动机器人的即时定位导航。

进一步地,所述所有计算出的相对位姿都满足预设的显著位姿变化条件具体为:计算出的相对位姿包括:移动机器人的3d-tof摄像头当前采集的当前帧深度图像中的预设有效特征点分别与预先采集到所述关键帧中相同的或同类型的预设有效特征点之间产生的移动机器人的行走距离变化量及同一采集过程中发生的偏转角度变化量;当所有的行走距离变化量都大于预设距离变化阈值、且所有的偏转角度变化量都大于预设角度变化阈值时,确定满足所述预设的显著位姿变化条件;其中,所述预设有效特征点是所述3d-tof摄像头的视角范围内用于表征移动机器人的前方的障碍物的分布位置特征,障碍物的分布位置特征包括存在障碍物和/或不存在障碍物。

与现有技术相比,该技术方案根据通过判断两帧深度图像对应的实际采集位置点的变化量是否足够大,并判断两帧深度图像对应的实际机体偏转角度的变化量是否足够大,来表征机体的位移是否足够大或者机体的旋转角度是否足够大,从而让配置为新的关键帧的深度图像与当前帧深度图像的间隙足够大,可以提供清晰和广域的机器人周边信息,让所属关键帧序列内深度图像的所覆盖的可视范围够大(例如角度,一个从左看,一个从右看,或者位移,近看和远看,其中这些角度位置之间的机器人位姿变换要足够大),使得关键帧序列内深度图像既存在包括障碍物的关键帧,又存在包括障碍物的关键帧。

进一步地,所述惯性传感器包括内设于移动机器人的机体中心的码盘和内设于移动机器人的机体中心的陀螺仪,码盘用于测量移动机器人的行走距离变化量,陀螺仪用于测量同一采集过程中移动机器人的偏转角度变化量;其中,码盘测量得到的移动机器人位置坐标通过所述移动机器人的机体中心与3d-tof摄像头的刚体连接关系转换到所述当前帧深度图像对应所属的摄像头坐标系下,以构建起局部点云地图。

进一步地,所述关键帧序列内存在三帧或三帧以上的深度图像。用于构建出所述局部点云地图。该技术方案能够为构建局部点云地图和通过有效特征点定位障碍物提供更加充足的点云样本,使得局部点云地图更加稳定有效。

进一步地,所述移动机器人采用先进先出的内存存储形式来缓存所述关键帧序列,以使所述移动机器人在移动过程中获得与3d-tof摄像头当前实时采集的一帧深度图像在时间上是最近的所述关键帧。为了实现存储空间的优化,该技术方案采用先进先出的方式存储队列存储最新筛选插入的关键帧,保证只存储最有效的帧序列,可以是离当前帧最近的三帧深度图像。

进一步地,所述预设目标平面区域是一个矩形区域,矩形区域的一边的中点是3d-tof摄像头的位置,这一边的长度等于所述移动机器人的机体直径,与该边垂直的另一边设置在3d-tof摄像头的视角前方,用于表征所述3d-tof摄像头采集的深度图像中的可探测深度距离。从而让所述预设目标平面区域配置为能够容纳所述移动机器人顺利通行的目标探测区域,结合前述的步骤2的关键帧位姿变换成的摄像头坐标系下的点云,定位出这一区域上方的障碍物点云的最大高度位置和分布特征,有效地规划出近距离条件下障碍物的避障路径。

进一步地,所述步骤4中,当检测到一个所述点云的三维坐标位置落入其中一个所述检测块内时,则确定这个所述点云分布在这个所述检测块中,并记录这个点云的高度。从而简化点云的位置信息存储运用的方式。

进一步地,所述各点云以三维直方图的形式存储的方法包括:设置所述三维直方图所属的三维坐标系的坐标原点是3d-tof摄像头的位置,设置所述预设目标平面区域覆盖到这个三维坐标系的横轴的正方向的所述机体直径的一半的距离,设置所述预设目标平面区域覆盖到这个三维坐标系的横轴的负方向的所述机体直径的一半的距离,设置所述预设目标平面区域覆盖到这个三维坐标系的纵轴的正方向的所述可探测深度距离,设置所述检测块沿着这个三维坐标系的竖轴分布,配置所述检测块在这个三维坐标系的竖轴上占据的竖直高度用于表示所述检测块分布的点云的高度,对所述点云划分得到所述预设数量的三维直方图中,实现以三维直方图的形式存储所述点云;其中,所述三维直方图所属的三维坐标系与所述局部地图的坐标系相同。从而通过直方图统计的方式将局部地图的点云转换成为局部地图的坐标系中的特定检测区域上的三维点状地图,实现利用三维点状地图中分布的直方块的高度去表征障碍物的点云高度,便于显著而快速地筛选去除杂散点云。

进一步地,所述预设目标平面区域的面积与所述检测块的水平投影面积的比值是预设整数,以使得预设目标平面区域全部被预设整数的检测块平均划分占据。提高所述检测块对所述预设目标平面区域的点云覆盖率。

进一步地,所述步骤4中,所述剔除相应的检测块内呈现离散分布状态的点云的方法具体包括:判断到所述检测块内分布的点云的数量是否小于定位数目阈值,是则将这个检测块分布的点云剔除,然后再剔除具有被阻挡采集视线的高度特征的检测块内的点云;否则直接剔除具有被阻挡采集视线的高度特征的检测块内的点云;其中,这个定位数目阈值用于描述所述离散分布状态;和/或,判断是否存在一个检测块的邻域都没有分布有点云,是则剔除这个检测块内分布的点云,然后再剔除具有被阻挡采集视线的高度特征的检测块内的点云;否则直接剔除具有被阻挡采集视线的高度特征的检测块内的点云。与现有技术相比,减少过于离散分布的点云对识别定位障碍物带来的噪声干扰,尤其是过远障碍物带来的定位误差问题,进而提高过近障碍物识别的准确性。

进一步地,所述步骤4中,所述剔除具有被阻挡采集视线的高度特征的检测块内的点云的方法包括:步骤41、沿着远离3d-tof摄像头的方向检测每一列检测块分布的点云的高度,分别判断各列检测块中是否存在从矮至高变化的检测块序列,是则进入步骤42,否则进入步骤43;其中,从矮至高变化是对应参与判断的各个检测块中分布的最大高度的点云的高度位置变化,每个检测块分布的点云的最大高度表示各自检测块的高度;步骤42、记录这一检测块序列中的高度最大的点云所属的检测块,再将这个记录的检测块后方的高度相对小的检测块分布的点云剔除,然后返回步骤41;步骤43、记录这一检测块序列中的高度最大的点云所属的检测块,再将这个记录的检测块后方的检测块分布的点云剔除。

与现有技术相比,对于检测块分布的点云的剔除方式是建立在高度最大的点云的基础上进行的,具体按照实际物理环境中的山坡形状,选择保留抬升至山峰高度位置之前的点云,而删除山的背面被阻挡采集视线的较矮的点云,从而在移动机器人当前位置中保留起到显著视线阻挡效果的障碍物,从预设目标平面区域上对应的检测块中删除因实际高度位置的阻挡而无法用于实际场景的障碍物定位的点云,克服深度图像中预先采集到的较矮的点云位置带来的误判现象,显著降低过近障碍物的位置的误判现象。

进一步地,所述关键帧序列内的关键帧上的预设有效特征点包括非过曝点、非欠曝点、非过远点、非过近点以及最大竖直高度大于20mm的像素点,其中,非过远点的深度值和非过近点的深度值都处于200mm至500mm之间。与现有技术相比,排除不可信的特征点的影响。

进一步地,所述预设有效特征点是用于表征所述障碍物的特征点,或用于表征所述障碍物之外的标准路标的特征点;其中,所述3d-tof摄像头在移动机器人移动过程中从不同的方向采集到所述预设有效特征点的不同帧深度图像。从而表征3d-tof摄像头的视角范围内移动机器人的前方的障碍物的分布位置特征。

进一步地,判断是否存在一个检测块的8个邻域都没有分布有点云,是则剔除这个检测块内分布的点云。从而剔除离散点,实现有效地识别近距离下的障碍物。

一种视觉机器人,包括:3d-tof摄像头和处理单元,处理单元用于执行所述的局部点云地图构建方法; 3d-tof摄像头装配在视觉机器人的机体上,以使该3d-tof摄像头的视角覆盖所述视觉机器人的前方。以使该3d-tof摄像头在移动机器人移动的过程中以不同的视角采样目标障碍物的点云,然后在该视觉机器人移动至某一位置时,利用3d-tof摄像头的当前视角范围内预设目标平面区域的点云的高度位置分布特征,去除杂散点,只允许局部地图中保留下用于精准定位的最大高度和合理分布的点云,该视觉机器人在转弯过程中能够重新识别回:其在转弯前已经在视角范围内识别到的贴近机体边缘位置的障碍物或距离机体过近的障碍物,提高地过近过远障碍物场景的定位适应性,显著降低超近距离下的障碍物位置的误判概率。

附图说明

图1是本发明一实施例公开一种局部点云地图构建方法的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。

本发明实施例公开一种局部点云地图构建方法,如图1所示,该局部点云地图构建方法包括:

步骤1、在移动机器人运动的过程中,控制移动机器人的3d-tof摄像头保持采集深度图像,并根据预设的显著位姿变化条件将3d-tof摄像头实时采集的当前帧深度图像插入关键帧序列内;然后进入步骤2。

需要说明的是,移动机器人的行走规则主要有两种,包括沿边和弓字型,其中,弓字型行走,用于实现清扫空旷区域;所述移动机器人在弓字型行走过程中,会遇到不同的障碍物,如果沿着弓字形路径转弯90度之前检测到一个距离很近的障碍物,那么转弯90度的过程中就检测不到同一障碍物,因为规划出的弓字形路径要根据障碍物的方位,选择一个比较大的角度旋转,使得扫地机器人朝着远离障碍物的方向旋转,以绕过障碍物。所述移动机器人可以是扫地机器人,又称自动打扫机、智能吸尘器、机器人吸尘器等,是智能家用电器的一种,能凭借一定的人工智能,自动在房间内完成弓字形规划清扫工作。

作为一种实施例,在步骤1中,所述根据预设的显著位姿变化条件将3d-tof摄像头实时采集的当前帧深度图像插入关键帧序列内的方法具体包括:

分别计算移动机器人的3d-tof摄像头当前采集的当前帧深度图像中的预设有效特征点与所述关键帧序列内的每一关键帧(经过位姿变换后的关键帧)中的相同的预设有效特征点的相对位姿;其中,关键帧序列是移动机器人预先存储的连续排列的包括预设有效特征点的深度图像的序列,用于存储连续深度图像帧中每一帧的机体相对位置信息和摄像头的朝向信息,包括已遍历识别出的距离机体过近或贴合机体的障碍物的深度图像信息,以便于后续无法识别这一类型的障碍物时,利用这些相关联的深度图像的参考坐标信息来辅助定位。其中,预设有效特征点是所述3d-tof摄像头的视角范围内用于表征移动机器人的前方的障碍物的分布位置特征,障碍物的分布位置特征包括存在障碍物和/或不存在障碍物。

当所有计算出的相对位姿都满足预设的显著位姿变化条件时,将3d-tof摄像头当前采集的当前帧深度图像配置为新的关键帧,再将这个新的关键帧插入所述关键帧序列,以使得下一次参与前述的相对位姿计算的关键帧反映移动机器人最新的相对位置关系;该步骤1用于判断移动机器人的3d-tof摄像头当前采集的深度图像与关键帧序列内的每一帧深度图像之间的相对位姿的大小程度,以便于后续筛选出机体的位移显著程度足够大的深度图像或者机体的旋转显著程度足够大的深度图像。当确定步骤1计算出的相对位姿所包括的偏转角度和相对距离都比较大,表征移动机器人发生较大的位移或发生较明显的转角变化时,将3d-tof摄像头当前采集的当前帧深度图像配置为新的关键帧,再将这个新的关键帧插入所述关键帧序列,以使得下一次参与前述的相对位姿计算的关键帧反映移动机器人最新的相对位置关系。

所述所有计算出的相对位姿都满足预设的显著位姿变化条件具体为:计算出的相对位姿包括:移动机器人的3d-tof摄像头当前采集的当前帧深度图像中的预设有效特征点分别与发生所述位姿变换后的关键帧序列内的每一关键帧中的相同的预设有效特征点之间的深度距离变化量及其对应的偏转角度变化量,表示移动机器人相对于固定不动的所述预设有效特征点发生的位移变化量(对应于所述深度距离变化量),以及绕这个所述预设有效特征点发生的角度偏转量(对应于所述偏转角度变化量);当所有的深度距离变化量都大于预设距离变化阈值、且所有的偏转角度变化量都大于预设角度变化阈值时,确定满足所述预设的显著位姿变化条件,表征移动机器人发生较大的位移或发生较明显的转角变化(比如在弓字形规划行走过程中转弯90度)。与现有技术相比,本实施例根据通过判断两帧深度图像之间的预设有效特征点对应的实际位置点(认为是固定不变的)与3d-tof摄像头的距离的变化量是否足够大,并判断两帧深度图像之间的预设有效特征点对应的实际位置点(认为是固定不变的)相对于3d-tof摄像头的偏转角度的变化量是否足够大,来表征机体的位移是否足够大或者机体的旋转角度是否足够大,从而让配置为新的关键帧的深度图像与当前帧深度图像的间隙足够大,可以提供清晰和广域的机器人周边信息,让所属关键帧序列内深度图像的所覆盖的可视范围够大(例如角度,一个从左看,一个从右看,或者位移,近看和远看,其中这些角度位置之间的机器人位姿变换要足够大),使得关键帧序列内深度图像既存在包括障碍物的关键帧,又存在包括障碍物的关键帧,且辅助后续处理构建起的局部点云地图的信息执行对障碍物的精准定位功能。

优选地,所述关键帧序列内的每一关键帧中的相同的预设有效特征点与其对应关键帧下的3d-tof摄像头的距离是:所述3d-tof摄像头预先采集并插入所述关键帧序列的深度图像的预设有效特征点对应的实际位置点到3d-tof摄像头的成像平面的深度距离,这个深度距离的变化量用于表示所述移动机器人发生的位移的大小程度;所述关键帧序列内的每一关键帧中的相同的预设有效特征点相对于其对应关键帧下的3d-tof摄像头的偏转角度是:所述3d-tof摄像头在采集到实现插入所述关键帧序列的深度图像时的镜头朝向角度,这个镜头朝向角度的变化量用于表示所述移动机器人转动的角度。与现有技术相比,本实施例对预设有效特征点的位姿信息的提取并参与帧间的偏移量比较运算,便于筛选出:表示移动机器人的相对位姿比较大的多帧关键帧,尤其是在移动机器人的机体发生较大角度的转动或发生较大的位移后,如果3d-tof摄像头不能识别出过近的障碍物时就从预先存储的关键帧序列中相关联的有效特征点(即预先保存的包括障碍物的关键帧)来配合后续的点云剔除操作来定位出这个过近障碍物的具体位置。

作为另一种实施例,在步骤1中,所述根据预设的显著位姿变化条件将3d-tof摄像头实时采集的当前帧深度图像插入关键帧序列内的方法步骤具体包括:

步骤S101、移动机器人在当前工作区域内沿着预先规划的弓字形路径移动,移动机器人在移动过程中使用3d-tof摄像头采集当前工作区域内的深度图像,包括障碍物的深度图像;然后进入步骤S102;

步骤S102、当移动机器人的3d-tof摄像头当前采集到当前帧深度图像时,调用移动机器人内部设置的惯性传感器测量移动机器人的当前位姿并保存,需要说明的是,3d-tof摄像头采集的深度图像中包含机体前方的有效特征点,包括非过曝点、非欠曝点、非过远点、非过近点以及最大竖直高度大于20mm的像素点,就可以执行该步骤;然后进入步骤S103。

步骤S103、调用预先保存的关键帧序列内的每一关键帧对应的移动机器人实时位姿(采集位置),分别计算移动机器人的当前位姿与每一关键帧对应的移动机器人实时位姿(预存的采集位置)之间的相对位姿。然后进入步骤S104。优选地,所述关键帧序列是移动机器人预先存储的连续排列的包括预设有效特征点的深度图像的序列,用于存储连续深度图像帧中每一帧的机体相对位置信息和摄像头的朝向信息,包括已遍历识别出的距离机体过近或贴合机体的障碍物的深度图像信息,以便于后续无法识别这一类型的障碍物时,利用与这些深度图像同步采集的惯性信息来辅助定位。其中,预设有效特征点是所述3d-tof摄像头的视角范围内用于表征移动机器人的前方的障碍物的分布位置特征,障碍物的分布位置特征包括存在障碍物和/或不存在障碍物。

所述所有计算出的相对位姿都满足预设的显著位姿变化条件具体为:计算出的相对位姿包括:移动机器人的3d-tof摄像头当前采集的当前帧深度图像中的预设有效特征点分别与预先采集到所述关键帧中相同的或同类型的预设有效特征点之间的移动机器人的行走距离变化量及同一采集过程中发生的偏转角度变化量。当所有的行走距离变化量都大于预设距离变化阈值、且所有的偏转角度变化量都大于预设角度变化阈值时,确定满足所述预设的显著位姿变化条件。需要说明的是,所述惯性传感器包括内设于移动机器人的机体中心的码盘和内设于移动机器人的机体中心的陀螺仪,码盘用于测量移动机器人的行走距离变化量,陀螺仪用于测量同一采集过程中移动机器人的偏转角度变化量;其中,码盘测量得到的移动机器人位置坐标通过所述移动机器人的机体中心与3d-tof摄像头的刚体连接关系转换到所述当前帧深度图像对应所属的摄像头坐标系下,以构建起局部点云地图,从而在局部点云地图上标记出移动机器人采集所述预设有效特征点所发生的移动轨迹;由于本实施例采用惯性数据直接获得移动机器人的位姿变化信息,所以相对于前述实施例的特征点计算,简化相对位姿的计算量。

优选地,所述关键帧序列内的每一关键帧中关于同一目标障碍物的特征点通过位姿变换来转化到同一局部点云地图,用于标记出同一目标障碍物到获得不同关键帧下的移动机器人的位姿。

步骤S104、判断步骤S103中所有计算出的相对位姿都满足预设的显著位姿变化条件,是则进入步骤S105,否则进入步骤S106。该步骤用于判断当前帧深度图像对应的机器人位姿与关键帧序列内的每一帧深度图像对应的机器人位姿之间的相对位姿的大小程度,以便于后续筛选出机体的位移显著程度足够大的深度图像或者机体的旋转显著程度足够大的深度图像。

步骤S105、确定步骤S103计算出的相对位姿所包括的偏转角度和相对距离都比较大,表征移动机器人发生较大的位移或发生较明显的转角变化时,将3d-tof摄像头当前采集的当前帧深度图像配置为新的关键帧,再将这个新的关键帧插入所述关键帧序列,以使得下一次参与前述的相对位姿计算的关键帧反映移动机器人最新的相对位置关系;然后再返回步骤S201,以继续移动采集当前工作区域内的深度图像。

步骤S106、确定步骤S103计算出的相对位姿所包括的偏转角度和相对距离都比较小,表征移动机器人发生较小的位移或发生不是很明显的转角变化时,不将3d-tof摄像头当前采集的当前帧深度图像配置为新的关键帧,再返回步骤S101继续移动采集当前工作区域内的深度图像。

前述步骤利用3d-tof摄像头采集到当前帧深度图像时同步获取的惯性数据、与采集到关键帧序列内的所有深度图像时同步获取的惯性数据进行融合运算,以求取表征移动机器人位置变化情况的相对位姿,再根据预设的显著位姿变化条件选择出反映清晰和广域的机器人周边信息的关键帧,与现有技术相比,使得移动机器人利用这些关键帧建立能够大范围覆盖到移动机器人前方的障碍物分布状况的局部点云地图,从而通过融合处理当前帧深度图像与这些支持更新的关键帧的相对位姿来解决机器人基于实时采集的单帧深度图像难以识别定位出机体边缘位置贴近的障碍物或距离机体过近的障碍物的问题。

需要说明的是,为了解决移动机器人在弓字形清扫时,转弯90度后,存在障碍物在机身很近的距离时无法被探测的问题,在本实施例中使用到预先存储的图像序列中的深度图像,比如当前采集时刻是t,可以使用t-1时刻、t-2时刻、t-3时刻采集的深度图像帧,或者其它更久之前具备时序性的关键帧图像,但不一定是深度图像的边缘对应的障碍物,关键帧中只要出现在机身前方的有效点都可以用来融合当前帧计算相对位姿。同时也需获取机体中心的惯性传感器实时采集的位置信息。

作为一种实施例,当所有的深度距离变化量都大于预设距离变化阈值、且所有的偏转角度变化量都大于预设角度变化阈值时,确定满足所述预设的显著位姿变化条件,表征移动机器人发生较大的位移或发生较明显的转角变化(比如在弓字形规划行走过程中转弯90度)。与现有技术相比,该技术方案根据通过判断两帧深度图像对应的实际采集位置点的变化量是否足够大,并判断两帧深度图像对应的实际机体偏转角度的变化量是否足够大,来表征机体的位移是否足够大或者机体的旋转角度是否足够大,从而让配置为新的关键帧的深度图像与当前帧深度图像的间隙足够大,可以提供清晰和广域的机器人周边信息,让所属关键帧序列内深度图像的所覆盖的可视范围够大(例如角度,一个从左看,一个从右看,或者位移,近看和远看,其中这些角度位置之间的机器人位姿变换要足够大),使得关键帧序列内深度图像既存在包括障碍物的关键帧,又存在包括障碍物的关键帧,且简化对障碍物的定位计算步骤。

步骤2、控制关键帧序列内的深度图像的预设有效特征点进行位姿变换,以成为摄像头坐标系下的点云,然后进入步骤3;所述关键帧序列内的每一关键帧中的预设有效特征点与其对应关键帧下的3d-tof摄像头的距离和偏转角度都通过平移旋转的方式转换到所述当前帧深度图像对应所属的摄像头坐标系下,以实现所述位姿变换;或者,将码盘测量得到的移动机器人位置坐标通过所述移动机器人的机体中心与3d-tof摄像头的刚体连接关系转换到所述当前帧深度图像对应所属的摄像头坐标系下,也实现所述位姿变换;其中,所述局部点云地图的地图坐标系是当前帧深度图像对应的摄像头坐标系。从而:将各个方位上采集的预设有效特征点都转化到同一局部点云坐标系下(相对距离信息和偏转角度信息),以确定移动机器人的相对位姿,也便于判断移动机器人的前方是否存在障碍物,同时也能标记出移动机器人采集所述预设有效特征点所发生的移动轨迹;其中,同一局部点云坐标系是当前帧深度图像对应的摄像头坐标系。本实施例有利于还原起更加精确的局部点云地图,方便移动机器人的即时定位导航。优选地,所述关键帧序列内的每一关键帧中关于同一目标障碍物的特征点通过位姿变换来转化到同一局部点云地图坐标系上,用于标记出同一目标障碍物到获得不同关键帧下的移动机器人的位姿。

步骤3、在移动机器人的3d-tof摄像头的实时视角范围内,设置一个位于水平地面的预设目标平面区域,并在这个预设目标平面区域设置与其匹配的检测块,使得点云以三维直方图的形式标记在预设目标平面区域的正上方,然后进入步骤4。

具体地,所述预设目标平面区域是一个矩形区域,矩形区域的一边的中点是3d-tof摄像头的位置,这一边的长度等于所述移动机器人的机体直径,与该边垂直的另一边设置在3d-tof摄像头的视角前方,用于表征所述3d-tof摄像头采集的深度图像中的可探测深度距离。从而让所述预设目标平面区域配置为能够容纳所述移动机器人顺利通行的目标探测区域,结合前述的步骤2的关键帧位姿变换成的摄像头坐标系下的点云,定位出这一区域上方的障碍物点云的最大高度位置和分布特征,有效地规划出近距离条件下障碍物的避障路径。

所述各点云以三维直方图的形式标记的方法包括:设置所述三维直方图所属的三维坐标系的坐标原点是3d-tof摄像头的位置,设置所述预设目标平面区域覆盖到这个三维坐标系的横轴的正方向的所述机体直径的一半的距离,设置所述预设目标平面区域覆盖到这个三维坐标系的横轴的负方向的所述机体直径的一半的距离,设置所述预设目标平面区域覆盖到这个三维坐标系的纵轴的正方向的所述可探测深度距离,设置所述检测块沿着这个三维坐标系的竖轴分布,配置所述检测块在这个三维坐标系的竖轴上占据的竖直高度用于表示所述检测块分布的点云的高度,对所述点云划分得到所述预设数量的三维直方图中,实现以三维直方图的形式存储所述点云;其中,所述三维直方图所属的三维坐标系与所述局部地图的坐标系相同。从而通过直方图统计的方式将局部地图的点云转换成为局部地图的坐标系中的特定检测区域上的三维点状地图,实现利用三维点状地图中分布的直方块的高度去表征障碍物的点云高度,便于显著而快速地去除杂散点云。

在本实施例中,所述预设目标平面区域对应的预设直的坐标取值范围包括:以所述3d-tof摄像头的中心为坐标原点,横轴方向上坐标覆盖范围为:由最左侧-150mm到最右侧+150mm,纵轴方向上坐标范围(表现为深度距离)为:最近处0mm到最远处300mm;本实施例在每个水平投影面积30mm*30mm的检测块中对所述局部地图的点云位置进行三维直方图统计,不在预设目标平面区域的坐标取值范围内的都不做分块记录落入其中的点云最大高度,在有效的目标空间区域内生成标记点云最大高度的三维点状地图。从而让所述预设目标平面区域配置为能够容纳所述移动机器人顺利通行的目标探测区域,通过识别定位这一区域上方的障碍物点云的最大高度位置和分布特征,实时有效地规划出近距离条件下障碍物的避障路径。

优选地,所述预设目标平面区域的面积与所述检测块的水平投影面积的比值是预设整数,以使得预设目标平面区域全部被预设整数的检测块平均划分占据。每一行排列N个检测块,每一列排列M个检测块,行的方向是与机体前进方向相垂直的侧方向,列方向是机体前进方向,在本实施例中等效于3d-tof摄像头的光轴方向,预设整数是N和M的乘积,提高所述检测块对所述预设目标平面区域的点云覆盖率。

步骤4、根据点云在各个检测块的高度位置分布特征,先剔除相应的检测块内呈现离散分布状态的点云,再剔除具有被阻挡采集视线的高度特征的检测块内的点云,然后进入步骤5。所述步骤4中,当检测到一个所述点云的三维坐标位置落入其中一个所述检测块内时,则确定这个所述点云分布在这个所述检测块中,并记录这个点云的高度,从而简化点云的位置信息存储运用的方式。进一步的,根据点云落入各个检测块的情况,分别记录各个检测块内分布的点云的高度,包括每个检测块内分布的点云的最大高度,并用每个检测块内分布的最大高度的点云标识为这个检测块的最大高度位置,使得所述点云以三维直方图的形式标记在预设目标平面区域的正上方。其中,具有被阻挡采集视线的高度特征的检测块内的点云是被某一高度较大的检测块阻挡采集视线的较矮的检测块内分布的点云,这一较矮的点云在所述3d-tof摄像头的前方且沿着远离这个3d-tof摄像头的方向排列在一高度较大的检测块后方。

所述步骤4中,所述剔除相应的检测块内呈现离散分布状态的点云的方法具体包括:判断到所述检测块内分布的点云的数量是否小于定位数目阈值,是则将这个检测块分布的点云剔除,然后再剔除具有被阻挡采集视线的高度特征的检测块内的点云;否则直接剔除具有被阻挡采集视线的高度特征的检测块内的点云;其中,这个定位数目阈值用于描述所述离散分布状态;和/或,判断是否存在一个检测块的邻域都没有分布有点云,是则剔除这个检测块内分布的点云,然后再剔除具有被阻挡采集视线的高度特征的检测块内的点云;否则直接剔除具有被阻挡采集视线的高度特征的检测块内的点云。

具体是:由于受到外界干扰如视线遮挡,障碍物等因素的影响,点云数据中往往存在着一些距离待定位识别的障碍物的点云较远的离散点,即离群点,会影响点云地图定位导航的准确性。在本实施例中,所述步骤4具体包括:

当判断到所述检测块内分布的点云的数量小于定位数目阈值,则将这个检测块内分布的点云剔除,具体是清除这个检测块内分布的点云,将其点云从预设目标平面区域的正上方剔除掉。

或者,当判断到所述检测块内分布的点云的数量小于定位数目阈值时,则继续判断这个检测块的邻域是否都没有分布有点云,是则剔除这个检测块内分布的点云。

或者,当判断到存在一个检测块的邻域都没有分布有点云,则表示这个检测块内分布的点云是相对孤立存在于预设目标平面区域的正上方,剔除这个检测块内分布的点云,具体是清除这个检测块内分布的点云,将其点云从预设目标平面区域的正上方剔除掉。

或者,当判断到存在一个检测块的邻域都没有分布有点云时,则继续判断这个检测块内分布的点云的数量是否小于定位数目阈值,是则剔除这个检测块内分布的点云。

前述步骤减少过于离散分布的点云对识别定位障碍物带来的噪声干扰,尤其是过远障碍物带来的定位误差问题,进而提高过近障碍物识别的准确性。

在所述步骤4中,所述剔除具有被阻挡采集视线的高度特征的检测块内的点云的方法包括:

步骤41、沿着远离3d-tof摄像头的方向检测每一列所述检测块分布的点云的高度,分别判断各列检测块中是否存在从矮至高变化的检测块序列,是则进入步骤42,否则进入步骤43;其中,从矮至高变化是对应参与判断的各个检测块中分布的最大高度的点云的高度位置变化,每个检测块分布的点云的最大高度表示各自检测块的实际高度,反映为所述三维直方图的各个直方块的稳定高度。

步骤42、记录这一检测块序列中的高度最大的点云所属的检测块,再将这个记录的检测块后方的高度相对小的检测块分布的点云剔除,然后返回步骤41,继续沿着原检测遍历方向去判断对应一列的剩余检测块(可以包括剔除点云的检测块)中是否还存在从矮至高变化的检测块序列,若还存在则确定这一检测块序列比上一次判断到的检测块序列的高度最大的点云还要高,继续重复前述剔除步骤,以实现将对应一列检测块中的高度最大的点云所属检测块的后方的检测块所分布的点云都剔除。

步骤43、记录这一检测块序列中的高度最大的点云所属的检测块,再将这个记录的检测块后方的检测块分布的点云剔除。

在本实施例中,需要先过滤坐标系转换后的点云中的存在的不利于当前定位的错误点,本实施例的步骤4用三维直方图形式存储的点云存在很多不合理的点,例如面对一堵墙时,在点云中的厚度达到了10cm之多,因此可以基于前述步骤,判断出机体当前位置前方采集到的这个表征墙体点云高度的检测块是否足够挡住视线,如果是,则这一检测块后面的检测块内的点云就算再有效(即被3d-tof摄像头预先采集并标记到所述局部地图中)也应该无法被当前位置下的3d-tof摄像头采集到,所以需要将这一检测块后面的检测块内的点云都剔除掉,避免直接使用预先采集并标记到所述局部地图中的对应点云位置定位,而没有考虑当前位置下的3d-tof摄像头的视角范围内的点云实际高度位置的影响,不利于移动机器人在当前位置处执行避障操作;也是理解为,点云本身的误差带来的实时定位的干扰因素,在当前位置下不能看到过高障碍物的后方,但是3d-tof摄像头已经采集到相关的深度图像,而本实施例的移动机器人容易使用将高度最大的检测块后面的检测块内的点云进行障碍物定位,容易产生定位误差。因此需将这一检测块后面较矮的检测块内的点云都剔除掉,保留高度最大的检测块前面的点云,用于实时定位和识别前方实际遇到的障碍物,从而克服点云位置测量误差带来的影响。

因此,与现有技术相比,基于前述的步骤41至步骤43,对于检测块分布的点云的剔除方式是建立在高度最大的点云的基础上进行的,具体按照实际物理环境中的山坡形状,选择保留抬升至山峰高度位置之前的点云,而删除山的背面对应的较矮的点云(具有被阻挡采集视线的高度特征的检测块内的点云),从而在移动机器人当前位置中保留起到显著视线阻挡效果的障碍物,从预设目标平面区域上对应的检测块中删除因实际高度位置的阻挡而无法用于当前位置的障碍物定位的点云,实现对局部地图的点云数据的过滤优化,也是理解为克服点云本身的测量误差(实际场景中看不到过高障碍物之后的检测块,而深度图像已经采集并转换到局部地图中)带来的定位干扰因素,显著降低过近障碍物的点云位置的误判现象,提高所述局部地图的实时定位的准确性。

步骤5、将各个检测块内分布的剩余的点云的位置标记为局部点云地图的三维位置,以实现局部点云地图的构建。在本实施例中,所述关键帧序列内存在三帧或三帧以上的深度图像,能够为构建局部点云地图和通过有效特征点定位障碍物提供更加充足的点云样本,尽管执行到步骤5时各个检测块内已经被剔除部分容易引起误差的点云,但是所述关键帧序列内存在的深度图像涉及的定位样本特征点足够多,可以保证局部点云地图更加稳定有效。

优选地,所述移动机器人采用先进先出(FIFO队列)的内存存储形式来缓存所述关键帧序列,以使所述移动机器人在移动过程中刷新所述关键帧序列内最新插入的所述关键帧,并获得与3d-tof摄像头当前实时采集的一帧深度图像在时间上是最近的所述关键帧。为了实现存储空间的优化,本实施例采用先进先出的方式存储队列存储最新筛选插入的关键帧,保证只存储最有效的帧序列,可以是离当前帧最近的三帧深度图像。先进先出(FIFO队列)的形式缓存的深度图像数据不冗余,进一步地准确地维护了有效的局部点云地图定位信息。

综上,前述步骤中,移动机器人利用这些关键帧建立能够大范围覆盖到移动机器人前方的障碍物分布状况的局部点云地图,从而通过融合处理当前帧深度图像与这些支持更新的关键帧的相对位姿,根据预设的显著位姿变化条件采样反映机器人周边大范围区域位置的点云,使得移动机器人利用这些关键帧建立能够完整覆盖到移动机器人前方的障碍物分布状况的局部点云地图,然后以三维直方图的形式去描述出不同高度位置的点云,方便使用点云在不同检测块的三维区域分布特征去除杂散点,解决机器人基于实时采集的单帧深度图像难以识别定位出机体边缘位置贴近的障碍物或距离机体过近的障碍物的问题,提高过近过远障碍物场景的局部点云地图的适应性,显著降低超近距离下的障碍物位置识别定位的难度和误判概率。

在前述实施例中,所述预设有效特征点包括非过曝点、非欠曝点、非过远点、非过近点以及最大竖直高度大于20mm的像素点,其中,非过远点的深度值和非过近点的深度值都处于200mm至500mm之间,用于表征3d-tof摄像头的视角范围内移动机器人的前方的障碍物的有效位置特征点的集合。具体地,非过曝点、非欠曝点是根据3d-tof摄像头直接获得的,对于每一帧深度图像中的每一个像素点都有四种状态,包括过曝、欠曝、过远、过近,过曝点和欠曝点都是不可信的点;过近点和过远点都不会存储在队列(FIFO)中。从而排除掉深度图像中的非可信的像素点,包括受光照亮度影响较大的过曝点及欠曝点、受距离误差影响较大的过远点及过近点。提高深度图像定位的稳定性。其中,所述预设有效特征点是:移动机器人的前进方向上的有效标示物的特征点,所述3d-tof摄像头在移动机器人移动过程中从不同的方向采集到所述预设有效特征点的不同帧深度图像,包括在转弯过程中,先后从左方采集、靠近采集、右方采集、再到远离采集所述预设有效特征点,从而先后采集到同一标示物没有被阻挡视线的深度图像以及同一标示物已经被阻挡视线的深度图像,而移动机器人在完成所述局部点云地图构建方法时,先以三维直方图形式存储最大高度的点云可能是表征这一标示物已经被阻挡采集视线的环境位置特征。

一种视觉机器人,包括:3d-tof摄像头和处理单元,处理单元用于执行所述的局部点云地图构建方法; 3d-tof摄像头装配在视觉机器人的机体上,以使该3d-tof摄像头的视角覆盖所述视觉机器人的前方。以使该3d-tof摄像头在移动机器人移动的过程中以不同的视角采样目标障碍物的点云,然后在该视觉机器人移动至某一位置时,利用3d-tof摄像头的当前视角范围内预设目标平面区域的点云的高度位置分布特征,去除杂散点,只允许局部地图中保留下用于精准定位的最大高度和合理分布的点云,该视觉机器人在转弯过程中能够重新识别回:其在转弯前已经在视角范围内识别到的贴近机体边缘位置的障碍物或距离机体过近的障碍物,提高地过近过远障碍物场景的定位适应性,显著降低超近距离下的障碍物位置的误判概率。

显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

相关技术
  • 一种局部点云地图构建方法及视觉机器人
  • 一种视觉点云地图的构建方法、装置
技术分类

06120112327175