基于ToF成像系统的栈板识别方法及自动导引运输车与流程

文档序号:16393658发布日期:2018-12-25 19:34阅读:365来源:国知局
基于ToF成像系统的栈板识别方法及自动导引运输车与流程

本发明涉及自动化物流技术领域,具体地涉及一种基于tof成像系统的栈板识别方法及自动导引运输车。

背景技术

自动化物流和仓储系统是未来的发展趋势,而智能叉车在其中起到了重要的作用。智能叉车除了需要自主导航外,还需要动态识别安放货物的栈板,同时确定栈板的姿态和位置,精准完成自动搬运任务。

目前栈板的识别没有非常通用和成熟的技术,目前一方面的方法需要给栈板添加人工标签,但是该方法需要丢栈板做改造,人工成本高;目前另一方面的方法中,通过单目、双目或深度摄像头基于图像识别栈板,但该方法受到了应用环境的限制(例如受光线的影响大),并且由于程序运算量大而无法得出实时处理图像的效果。



技术实现要素:

本发明实施例的目的是提供一种基于tof成像系统的栈板识别方法及自动导引运输车,用以解决目前栈板打标签所导致的高成本以及图像识别栈板所导致的高复杂性的问题。

为了实现上述目的,本发明实施例一方面提供了一种基于tof成像系统的栈板识别方法,包括:基于tof成像系统,获取关于待识别的栈板的栈板点云数据;从所述栈板点云数据中分离出地面成分和物体成分;基于点云区域增长算法,从对应所述物体成分的点云数据中分割出栈板前端面;根据所分割出的栈板前端面的几何特征信息,识别所述栈板的姿态和空间位置。

可选的,所述从所述栈板点云数据中分离出地面成分和物体成分包括:根据自然三轴坐标系,将所获取的栈板点云数据赋予为对应的点云坐标;获取所述待识别的栈板的需求高度;根据所述需求高度,滤除所述点云坐标下与所述需求高度不匹配的栈板点云数据;从经滤除的栈板点云数据中分离出地面成分和物体成分。

可选的,所述从所述栈板点云数据中分离出地面成分和物体成分包括:分别多次随机从所述点云数据中抽取多个点,并相应地拟合出多个基准平面;统计所述点云数据下所有的点分别与所述多个基准平面的距离在容差距离范围内的相应的点的数量;比较所统计的所述点的数量,并根据该比较的结果和所述多个基准平面确定地面成分

可选的,所述基于点云区域增长算法从对应所述物体成分的点云数据中分割出栈板前端面包括:从所述物体成分的点云数据中随机选取种子点,并判断所述种子点与作为所述种子点周围的非种子点是否处于同一平面内,其中所述种子点的法向量与地面法向量垂直;当确定所述种子点和所述非种子点处于同一平面内时,确定将该非种子点作为新的种子点;迭代判断所述新的种子点与其周围的非种子点是否处于同一平面内,以通过点云区域生长的方式统计出所有的种子点;以及基于所统计的种子点,构建所述栈板前端面。

可选的,所述基于所统计的种子点构建所述栈板前端面包括:判断所统计的种子点的数量是否处于预设定的数量范围内;若是,则基于所统计的种子点构建所述栈板前端面;以及若否,则确定所统计的种子点所对应的面不属于栈板前端面。

可选的,所述栈板配置有多种栈板前端面类型,其中,所述根据所分割出的栈板前端面的几何特征信息识别所述栈板的姿态和空间位置包括:确定所分割出的栈板前端面的最远两点之间的最长长度;将所述最长长度与多个对角线标准值进行匹配,以确定所述栈板前端面所属的栈板前端面类型,其中所述多个对角线标准值分别对应于多个不同的栈板前端面类型;根据与预设栈板前端面类型相对应的栈板前端面的中心点,确定栈板的空间位置。

可选的,该方法还包括:确定对应第一栈板前端面类型的第一栈板前端面的中心点与对应第二栈板前端面类型的第二栈板前端面的中心点之间的中心点距离;根据所述中心点距离与预设定的端面间标准距离,确定所述第一栈板前端面和所述第二栈板前端面是否属于同一个栈板的前端面,其中所述端面间标准距离指示单个栈板的在第一栈板前端面类型和第二栈板前端面类型的前端面的中心点的标准距离。

可选的,所述根据所分割出的栈板前端面的几何特征信息识别所述栈板的姿态和空间位置包括:计算栈板前端面上所有的点的法向量的平均值;以及根据该计算所得的平均值,确定所述栈板的姿态以得到所述栈板的朝向。

本发明实施例另一方面提供一种机器可读存储介质,其上存储有能够被处理器识别的机器指令,该机器指令能够被所述处理器调用,以执行上述的基于tof成像系统的栈板识别方法。

本发明实施例又一方面提供一种自动导引运输车,其中,该自动导引运输车用于执行上述的基于tof成像系统的栈板识别方法。

通过上述技术方案,应用tof成像系统得到栈板的点云数据,并将栈板点云数据中分离出地面成分和物体成分,然后应用点云区域增长算法分割出物体成分点云数据中的栈板前端面,对栈板前端面的几何特征信息进行分析,并据此识别出栈板的姿态和空间位置。由此,不需要额外的人工标签标注,降低了人工成本;另外,相比,处理于图像识别栈板技术,不需要进行复杂的图像像素识别,并且能够同时防止光线、噪音等因素的干扰,可较为精确地计算出栈板的姿态和位置。

本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:

图1是本发明一实施例的基于tof成像系统的栈板识别方法的流程图;

图2是图1中的s13的具体执行流程的示例;

图3是本发明一实施例的基于tof成像系统的栈板识别方法的原理流程图;

图4是本发明一实施例中使用三维点云的区域增长算法分割和获取栈板前端面的效果图示例;

图5是本发明一实施例的栈板的主视图的示例;

图6是本发明一实施例的栈板的正视图的示例。

具体实施方式

以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。

如图1所示,本发明一实施例的基于tof成像系统的栈板识别方法,包括:

s11、基于tof成像系统,获取关于待识别的栈板的栈板点云数据。

本发明实施例方法的执行主题可以是任意的专用终端或服务器,例如专用于栈板识别的终端或服务器,也可以是通用型终端或服务器,而在该通用型终端或服务器上安装有存储有特定机器指令的机器可读存储介质,使得机器指令在被处理器调用时,执行栈板识别操作。优选地,本实施例方法的执行主题可以是agv(automatedguidedvehicle,自动导引运输车),例如该agv可以是智能叉车,以实现自动化识别栈板以运输货物。

关于栈板点云数据的获取方式,具体的,可以是应用tof成像系统针对仓储区域的栈板发出的脉冲信号扫描而得到的栈板点云数据(pointclouddata)。

s12、从栈板点云数据中分离出地面成分和物体成分。

优选地,可以是对栈板点云数据进行滤波的预处理操作,然后对经滤波的栈板点云数据中分离出地面成分和物体成分。关于滤波的处理操作,其具体可以是将所获取的栈板点云数据赋予为对应于自然三轴坐标系的点云坐标,然后获取待识别的栈板的需求高度,进而根据需求高度,滤除点云坐标下与需求高度不匹配的栈板点云数据;作为示例,当栈板的高度为15cm,若栈板放在水平地面上,则可以是使用直通滤波器仅获取距离地面0~15cm的点云,而若栈板堆叠在两层同样高度的栈板上,则用直通滤波器获取距离地面30~45cm的点云,最后,对获取的点云采用统计滤波器,除去离群点。由此,通过多次滤波的预处理方式,有效减少了噪音和冗余的数据,提高了后续算法的准确率和运算速度,提高了算法的鲁棒性和实时性。

关于栈板点云数据中地面成分和物体成分的提取方式,其可以是应用随机抽样一致算法与平面模型匹配来分离点云数据中的地面成分和物体成分,具体的,可以是分别多次随机从点云数据中抽取多个点,并相应地拟合出多个基准平面;统计点云数据下所有的点分别与多个基准平面的距离在容差距离范围内的相应的点的数量;比较所统计的点的数量,以从多个基准平面确定地面成分。例如,可以是选择点云数据下所有的点距离基准平面的在容差距离范围内的点的数量最多的基准平面作为地面,并将该面上的所有的点归属于地面成分。

s13、基于点云区域增长算法,从对应物体成分的点云数据中分割出栈板前端面。

如图2,其示出了关于该点云区域增长算法应用的示例,包括:s131、从物体成分的点云数据中随机选取种子点,并判断种子点与作为种子点周围的非种子点是否处于同一平面内,其中种子点的法向量与地面法向量垂直;s132、当确定种子点和非种子点处于同一平面内时,确定将该非种子点作为新的种子点;s133、迭代判断新的种子点与其周围的非种子点是否处于同一平面内,以通过点云区域生长的方式统计出所有的种子点;s134、基于所统计的种子点,构建栈板前端面。优选地,可以是判断所统计的种子点的数量是否处于预设定的数量范围内,并当该种子点数量在数量范围内时,可以基于所统计的种子点构建所述栈板前端面,以及当该该种子点数量过高或过低时,则可以认定所统计的种子点所对应的面不属于栈板前端面。由此,通过点云生长和计算的方式确定栈板前端面,提高了提取平面的准确性和运算速度。

s14、根据所分割出的栈板前端面的几何特征信息,识别栈板的姿态和空间位置。

关于栈板空间位置的识别,其可以是确定所分割出的栈板前端面的最远两点之间的最长长度,并将该最长长度与多个对角线标准值进行匹配,以确定栈板前端面所属的栈板前端面类型,其中该多个对角线标准值分别对应于多个不同的栈板前端面类型。例如,栈板配置有多种栈板前端面类型(诸如a面、b面),a面和b面可以是分别对应有不同的标准值长度,通过将所分割出的栈板前端面的最长长度与标准值长度进行匹配,能够得出该栈板前端面相匹配的栈板前端面类型。然后,根据与预设栈板前端面类型(例如b面)相对应的栈板前端面的中心点,确定栈板的空间位置,进而可便于智能叉车准确地去执行搬运任务。

关于栈板姿态的识别,其可以是计算栈板前端面上所有的点的法向量的平均值,并根据该计算所得的平均值,可以得出该栈板前端面是否倾斜的现象,进而确定栈板的姿态以得到所述栈板的朝向,由此便于智能叉车调整执行任务的角度。

当同一仓储区域存放有多个栈板时,应当对是否属于同一栈板的前端面进行区分;有鉴于此,在一些优选实施方式中,确定对应第一栈板前端面类型的第一栈板前端面的中心点与对应第二栈板前端面类型的第二栈板前端面的中心点之间的中心点距离;然后,根据中心点距离与预设定的端面间标准距离,确定第一栈板前端面和第二栈板前端面是否属于同一个栈板的前端面,其中端面间标准距离指示单个栈板的在第一栈板前端面类型和第二栈板前端面类型的前端面的中心点的标准距离。作为示例,可以是预先测量出同一栈板的a端面与b端面之间的标准距离,并当所确定的中心点距离偏离标准距离过多时,可以认定该a端面与b端面属于不同的栈板。

如图3,其示出了本发明一实施例的基于tof成像系统的栈板识别方法的原理流程,包括:

1)根据摄像头的外参,对获取的点云数据进行坐标系转换,转换为自然的xyz坐标系。利用直通滤波器,根据需要获取的栈板高度,对数据进行滤波,只保留满足高度范围的点云。例如,栈板的高度为15cm,若栈板放在水平地面上,则用直通滤波器获取距离地面0~15cm的点云。若栈板堆叠在两层同样高度的栈板上,则用直通滤波器获取距离地面30~45cm的点云。最后,对获取的点云采用统计滤波器,除去离群点。

2)采用随机抽样一致算法与平面模型匹配来提取点云中的地面成分。首先,设平面的方程形式为ax+by+cz+d=0,设定容差范围为距离r;从获取的点云数据中随机抽取n个点,用最小二乘法拟合出一个平面p,找出所有点到平面p的距离在r以内的点,记录个数为q;再次随机取n各点,重复上述过程,共计m次;从这m次中选取满足容差的点的个数q最多的一个面,最为地面所在的平面,并将满足条件的点作为地面上的点。例如每次从点云中随机抽取50个点,重复10次,可以分别得到10个不同的平面,选取容差范围为1.0cm,可以得到每个面满足容差范围的点分别为258、2580、1235、549、764、234、546、965、48、467,则第二个面点数最多,为2580个点,则这2580个点即为地面点。

该方法受噪音影响小,成功率高,能有效地分离地面和其余物体。在分割完地面后,点云数据量大大减少,有效提高了后续运算的速度。

3)使用三维点云的区域增长算法分割和获取栈板前端面,将初始的种子点设置在法向量与地面法向量近似垂直的点上,同时设置曲率等条件作为区域增长结束条件,大大提高提取平面的准确性和运算速度。

如图4所示,随机选取m个点,其法向量与地面法向量垂直,将这些点作为种子点。设p1为其中一个选取的种子点,如上图所示,其法向量与地面法向量垂直。从p1周围选取最近的n个非种子点,如点p2。首先计算p1与p2法向量的夹角(如图4所示的θ),若该夹角超过一定的阈值,则认为p2与p1不在同一个平面上。然后,设p1到p2的向量为,则到p1法向量的投影为,若的模超过一定的阈值,则认为p2与p1不在同一个平面上。若p2同时满足以上两个条件,则认为p2与p1在同一平面上,选取p2为新的种子点。对所有的种子点重复以上过程,直到每个种子点周围的n个点都不满足条件,则区域增长结束。判断生成的每个面上点的个数,若点的个数大于n_min,小于n_max,则认为该面是分割后的栈板前端面。

4)通过识别栈板前端面,结合前端面三个不同区域的几何特征,计算出栈板的姿态和空间位置,在栈板部分遮挡、栈板识别困难的情况下,也能依据部分特征计算出栈板姿态和位置。

如图5,其示出的是本发明一实施例的栈板及栈板的前端面(如图5中箭头所指向的面)。如图6所示,设栈板前三个面分别为两侧两个a面和中间一个b面,其中两侧的a面等大,而b面比a面更大。通过上述的区域增长算法可分别得到三个面上的点云。

首先,计算得到的每个面点云中,两两点之间的距离,找出距离最大的一组,将该距离与实际栈板三个面对角线的距离做对比,取误差更小的一个面作为该面的类型,该方法可以区分中间的b面和a面。如果计算得到误差过大,则认为不是栈板的前端面。

例如,实际a面对角线长度为20cm,b面对角线长度为30cm,容许的误差为1.0cm。计算得到一组面中,最远两个点的距离为29.5cm,则29.5cm与30cm的误差更小,则该面为b面;计算得到一组面中,最远两个点的距离为25.8cm,则25.8cm与25cm的误差更小,则该面为a面;计算得到一组面中,最远两个点的距离为16.3cm,则16.3cm与20cm和25cm的误差都超过1.0cm,因此该面不是栈板前端面。

然后,计算所有a、b面中点坐标的平均值,作为该面的中心点。计算每个a面到b面的距离,与实际情况作比较,如果b面中心点至少和一个a面中心点之间的距离满足误差要求,则该ab面互相匹配,为同一个栈板的前端面,则可确定识别到了栈板。在正常情况下,b面能够匹配到两个a面,若其中一个a面受到其他物体遮挡,也可以根据另一个a面来判断是否为栈板。

进而,将计算匹配到的a面与b面上所有点的法向量的平均值作为栈板的姿态信息,代表了栈板的朝向。选取b面的中心点作为栈板的定位信息,确定栈板距离摄像头的位置。

本发明实施例提供出了基于tof成像系统的栈板识别与定位方法,能够在复杂的工况下识别出栈板,同时防止光线、噪音等因素的干扰,能够较为精确地计算出栈板的姿态和位置。并且,在栈板识别前进行了滤波、地面分割的预处理方式,大大减少了算法后续需要运算的数据,提高了算法的实时性;另外,将区域增长算法的种子点设置在法向量与地面近似垂直的点上,设置法向量大小、投影大小等条件作为区域增长结束条件,大大提高提取平面的准确性和运算速度;同时,通过识别栈板前端面三个不同区域的方式来识别和定位栈板,在栈板部分遮挡、栈板识别困难的情况下,也能依据部分特征计算出栈板姿态和位置。

本发明实施例另一方面提供了一种机器可读存储介质,其上存储有能够被处理器识别的机器指令,该机器指令能够被所述处理器调用,以执行上述的基于tof成像系统的栈板识别方法。

本发明实施例又一方面提供了一种自动导引运输车,该自动导引运输车用于执行上述的基于tof成像系统的栈板识别方法。

关于本发明的机器可读存储介质和自动导引运输车实施例的更具体的细节可以参照上文关于基于tof成像系统的栈板识别方法实施例的描述,并能够实现与上述方法相同的效果,故在此便不再赘述。

以上结合附图详细描述了本发明实施例的可选实施方式,但是,本发明实施例并不限于上述实施方式中的具体细节,在本发明实施例的技术构思范围内,可以对本发明实施例的技术方案进行多种简单变型,这些简单变型均属于本发明实施例的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施例对各种可能的组合方式不再另行说明。

本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

此外,本发明实施例的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施例的思想,其同样应当视为本发明实施例所公开的内容。

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