CN114820391A - 基于点云处理的仓储托盘检测定位方法及系统 - Google Patents

基于点云处理的仓储托盘检测定位方法及系统 Download PDF

Info

Publication number
CN114820391A
CN114820391A CN202210737623.1A CN202210737623A CN114820391A CN 114820391 A CN114820391 A CN 114820391A CN 202210737623 A CN202210737623 A CN 202210737623A CN 114820391 A CN114820391 A CN 114820391A
Authority
CN
China
Prior art keywords
point cloud
point
points
tray
cluster
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210737623.1A
Other languages
English (en)
Other versions
CN114820391B (zh
Inventor
周军
林乐彬
杨旭浩
李文广
李留昭
叶丰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Alesmart Intelligent Technology Co Ltd
Original Assignee
Shandong Alesmart Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Alesmart Intelligent Technology Co Ltd filed Critical Shandong Alesmart Intelligent Technology Co Ltd
Priority to CN202210737623.1A priority Critical patent/CN114820391B/zh
Publication of CN114820391A publication Critical patent/CN114820391A/zh
Application granted granted Critical
Publication of CN114820391B publication Critical patent/CN114820391B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • G06T5/70
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration by the use of local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • G06T7/344Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20024Filtering details
    • G06T2207/20032Median filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)

Abstract

本发明提供了一种基于点云处理的仓储托盘检测定位方法及系统,属于仓储托盘定位技术领域,获取位于叉车式AGV升降机构上传感器采集的点云数据;对获取的点云数据进行预处理;对预处理后的点云进行聚类分割,进行再次筛选后与托盘模板点云进行匹配,计算每簇分割点云的匹配误差;选取匹配误差计算最小的点云进行平面拟合,得到仓储托盘的转角和位置;本发明能够应用在不同的可以获取点云的设备中,可以实现不同种类仓储托盘的检测,有效地提高了仓储托盘的定位精度。

Description

基于点云处理的仓储托盘检测定位方法及系统
技术领域
本发明涉及仓储托盘定位技术领域,特别涉及一种基于点云处理的仓储托盘检测定位方法及系统。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术,并不必然构成现有技术。
随着电子商务、工业制造等快速发展,企业的仓储物流环节面临压力的逐渐增大。对于现代企业,建立一个效率高、便于管理、维护成本低的仓储系统是提升企业效率的关键,随着国内机器人技术和互联网技术的发展,企业的仓储物流智能化也不断发展,AGV(Automated Guided Vehicle自动导引运输车)是智能仓储的重要环节,其中叉车式AGV又以其载重量大、可以实现搬运及货物堆高、在高位货架存取而得到广泛的应用。
为提升叉车式AGV的灵活性,叉车式AGV多采用无轨引导的方式,需要机器人自主建立环境地图并定位自身,对仓储托盘进行自动检测及定位。而仓储环境较为复杂,不同企业存放的物料、使用的仓储托盘、堆放的环境不尽相同。因此在叉车式AGV到达物料存放点后,如何消除环境因素的干扰,正确地识别出不同种类的托盘是实现叉车自主拾取物料的关键,可以显著提升叉车智能化水平。
发明人发现,目前针对仓储托盘的识别方法可以分为基于标签的方法和基于托盘自身特征的方法。基于标签的方法主要是在仓储托盘的立柱表面贴上视觉标签,或反光板,使用相机或激光雷达便可根据二维码或反射强度较高的点云来判断托盘位置,这种方法可以检测定位不同种类的托盘,但标签容易受到污染,在实际应用中可能会因磨损而无法使用。基于特征的方法主要包括检测托盘的颜色和几何特征,通过形态学、边缘检测和霍夫变换来找到边缘和角点,但靠这种方法来检测托盘容易受到光照和不同托盘种类的影响;利用深度学习的方法来检测托盘有着快速、易于部署的优点,但需要准备大量数据集进行相关训练。
发明内容
为了解决现有技术的不足,本发明提供了一种基于点云处理的仓储托盘检测定位方法及系统,能够应用在不同的可以获取点云的设备中,可以实现不同种类仓储托盘的检测,有效地提高了仓储托盘的定位精度。
为了实现上述目的,本发明采用如下技术方案:
本发明第一方面提供了一种基于点云处理的仓储托盘检测定位方法。
一种基于点云处理的仓储托盘检测定位方法,包括以下过程:
获取位于叉车式AGV升降机构上传感器采集的点云数据;
对获取的点云数据进行预处理;
对预处理后的点云进行聚类分割,进行再次筛选后与托盘模板点云进行匹配,计算每簇分割点云的匹配误差;
选取匹配误差计算最小的点云进行平面拟合,得到仓储托盘的转角和位置。
作为可选的一种实现方式,对获取的点云数据进行预处理,包括:
根据叉齿长度以及升降机构处于最低高度时传感器相对于地面的高度,对获得的原始点云进行直通滤波,去除地面点云和叉齿上的点云,补偿预设高度以去除托盘与地面接触的部分。
进一步的,通过直通滤波保留的点云满足如下条件:
Figure 717523DEST_PATH_IMAGE001
其中,x s 为点云的x坐标值,x max 为点云的x坐标值的最大值,l为叉齿长度,△h为补偿的预设高度,h p 为检测的仓储托盘高度,z s 为点云的z轴坐标值h s 为升降机构处于最低高度时传感器相对于地面的高度。
作为可选的一种实现方式,对获取的点云数据进行预处理,包括:
采用统计学滤波的方式和中值滤波的方式去除点云噪声,包括:
假设点云中每个点到其邻域的距离符合高斯分布,设点云中两点之间的距离为d,第i个点到k个临近点的平均距离为μ,标准差为σ,设置标准差倍数n,通过统计滤波能够保留的点云满足:
Figure 135866DEST_PATH_IMAGE002
对于点云一个采样点
Figure 851143DEST_PATH_IMAGE003
,设置邻域半径为r内的所有点,即
Figure 177082DEST_PATH_IMAGE004
,采用基于KD树的结构进行采样点的近邻搜索,只对邻域内所有点的X方向的坐标值大小进行从小到大排列,取其中值
Figure 605789DEST_PATH_IMAGE005
作为采样点,则采样点坐标更新公式为:
Figure 726192DEST_PATH_IMAGE006
遍历统计滤波后的所有点,得到中值滤波后的场景点云。
作为可选的一种实现方式,对预处理后的点云进行聚类分割,包括:
基于法向量的区域生长算法对场景点云进行分割,计算输入点云的法向量和曲率,并设置算法的曲率阈值K、法向量夹角阈值θ和搜索近邻点的个数N,根据曲率大小对各点进行排序,选取曲率最小的点为初始种子点加入种子点集合Q中;
搜索该种子点的N个近邻点,采用KD树的结构加速搜索,若近邻点的法线夹角与种子点的夹角小于θ且曲率值小于K则将该点加入种子点集合Q中;
在该种子点所有近邻点搜索完后将该种子点移出Q,在Q中选择新的种子点并重复以上步骤,直到Q中为空完成一个区域生长的聚类;
判断所有聚类的点云数,删除不满足最小聚类点数和最大聚类点数的点云。
作为可选的一种实现方式,进行再次筛选,包括:
计算每个聚类的平均法向量,删除X方向法向量分量低于设定值的点云集合。
进一步的,与托盘模板点云进行匹配,计算每簇分割点云的匹配误差,包括:
加载仓储托盘模板点云,将剩下的每个聚类分别与模板点云进行基于ICP算法的点云配准:对于一个聚类点云中某个点进行一个初始变换
Figure 692880DEST_PATH_IMAGE007
得到
Figure 556931DEST_PATH_IMAGE008
,从模板点云中找到距离
Figure 840145DEST_PATH_IMAGE008
最近的点
Figure 351023DEST_PATH_IMAGE009
,则最优变换T为:
Figure 352477DEST_PATH_IMAGE010
将该聚类的点云施以最优变换T,得到配准后的点云,计算配准后
Figure 472748DEST_PATH_IMAGE011
与对应点
Figure 344889DEST_PATH_IMAGE012
的距离的平方和,以均方根误差最小的聚类为检测到的托盘点云。
作为可选的一种实现方式,对得到的托盘点云进行基于RANSAC算法的平面拟合,设置最大迭代次数N,距离阈值d:从点云中随机选取三个点拟合平面方程;
用其他点计算到该平面的距离,小于阈值d的认为是平面内点,统计剩余点中是平面内点的个数并重复以上步骤,记录内点个数最多的平面方程,直到达到迭代次数N为止,得到平面方程为
Figure 338253DEST_PATH_IMAGE013
,保存在拟合平面内的点;
计算所得平面的法向量,XY方向的法向量分量a和b,由此可以得到托盘相对于传感器X方向和Y方向的夹角arctan(b/a)和arctan(a/b);
将得到平面点云中的点按XY方向位置大小进行排序,分别删除这两个方向上最大和最小的多个点,计算剩余点中两个最大及最小多个点的平均值xmin、xmax和ymin、ymax,进而得到仓储托盘的中心位置;
将仓储托盘的中心位置转化到叉车坐标系下,得到仓储托盘相对于叉车的实际位置。
本发明第二方面提供了一种基于点云处理的仓储托盘检测定位系统。
一种基于点云处理的仓储托盘检测定位系统,包括:
数据获取模块,被配置为:获取位于叉车式AGV升降机构上传感器采集的点云数据;
预处理模块,被配置为:对获取的点云数据进行预处理;
点云匹配模块,被配置为:对预处理后的点云进行聚类分割,进行再次筛选后与托盘模板点云进行匹配,计算每簇分割点云的匹配误差;
托盘定位模块,被配置为:选取匹配误差计算最小的点云进行平面拟合,得到仓储托盘的转角和位置。
作为可选的一种实现方式,对获取的点云数据进行预处理,包括:
采用统计学滤波的方式和中值滤波的方式去除点云噪声,包括:
假设点云中每个点到其邻域的距离符合高斯分布,设点云中两点之间的距离为d,第i个点到k个临近点的平均距离为μ,标准差为σ,设置标准差倍数n,通过统计滤波能够保留的点云满足:
Figure 561424DEST_PATH_IMAGE014
对于点云一个采样点
Figure 721272DEST_PATH_IMAGE015
,设置邻域半径为r内的所有点,即
Figure 979078DEST_PATH_IMAGE016
,采用基于KD树的结构进行采样点的近邻搜索,只对邻域内所有点的X方向的坐标值大小进行从小到大排列,取其中值
Figure 330294DEST_PATH_IMAGE017
作为采样点,则采样点坐标更新公式为:
Figure 40761DEST_PATH_IMAGE018
遍历统计滤波后的所有点,得到中值滤波后的场景点云。
与现有技术相比,本发明的有益效果是:
1、本发明所述的基于点云处理的仓储托盘检测定位方法及系统,基于点云数据处理的原理,可以针对多种可以获取点云的传感器进行相应的部署,包括深度相机、双目相机、面阵激光雷达,同时,当使用ToF相机和面阵激光雷达作为传感器部署本发明检测时,可避免光照的影响。
2、本发明所述的基于点云处理的仓储托盘检测定位方法及系统,相较于现有实现托盘检测的技术方案,本发明避免了给托盘贴标签,标签受到污染以致影响检测情况的发生,也不需要准备额外的数据集进行训练,只需更换托盘模板点云就可实现多种类型托盘的检测,降低了成本。
3、本发明所述的基于点云处理的仓储托盘检测定位方法及系统,对原始数据进行相关处理,对场景点云进行了针对性的筛选,在较为复杂的仓储物流场景有较好的鲁棒性。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为本发明实施例1提供的基于点云处理的仓储托盘检测定位方法的流程示意图。
图2为本发明实施例1提供的传感器坐标表示示意图。
图3为本发明实施例1提供的仓储托盘位姿计算流程示意图。
其中,1-货物;2-托盘;3-插齿;4-传感器。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例1:
如图1所示,本发明实施例1提供了一种基于点云处理的仓储托盘检测定位方法,包括以下过程:
S1:将传感器固定在叉车AGV的升降机构,使其能跟随着叉齿上下移动,保证叉齿和传感器有着固定的位姿。
S2:获取传感器的点云数据,对点云进行相关滤波,准备好仓储托盘模板点云。
S3:对预处理后的点云进行聚类分割,进行再次筛选,与托盘模板点云进行匹配,计算每簇分割点云的匹配误差。
S4:选取匹配误差计算最小的点云,进行平面拟合,计算仓储托盘转角及位置。
S1中,具体的,包括:
将传感器固定在叉车AGV的升降机构,使其能跟随着叉齿上下移动,保证叉齿和传感器有着固定的位姿,保证传感器X轴方向正对叉车AGV叉齿前方,货物1、托盘2、插齿3和传感器4的位置如图2所示。记录叉齿长度l及升降机构处于最低高度时传感器相对于地面的高度h s ,传感器与叉车AGV的安装位置,传感器相对于叉车的旋转矩阵、平移向量分别为Rt,则传感器获得的点云
Figure 50305DEST_PATH_IMAGE019
可以由式(1-1)齐次转换到叉车坐标系的Pr,由此可以得到被检测物体相对于叉车本体的位置。
Figure 116613DEST_PATH_IMAGE020
(1-1)
S2中,具体的,包括:
由于面阵雷达等激光雷达传感器在近处的点云数据不准,而有的ToF深度相机会在测量范围外随机插值点云,所以需要对测量范围进行限制,滤除无效点云。首先,根据叉齿长度l和传感器安装h s 对获得的原始点云进行直通滤波,去除地面点云和叉齿上的点云,由于地面反光时托盘与地面交界处的点云会形成一定的坡度,故需要补偿一定的高度
Figure 920621DEST_PATH_IMAGE021
以去除托盘与地面接触的部分,设检测的仓储托盘高度为hp,则通过直通滤波能够保留的点云满足条件如式(1-2)所示:
Figure 383963DEST_PATH_IMAGE022
(1-2)
传感器获得的原始数据分布不均匀且有一定的跳变,需要对传感器数据进行离群点去除,平滑跳变点云,本实施例采用统计学滤波的方式和中值滤波的方式去除点云噪声,具体实施方式如下。
(1)假设点云中每个点到其邻域的距离符合高斯分布,设点云中两点之间的距离为d,第i个点到k个临近点的平均距离
Figure 384149DEST_PATH_IMAGE023
,标准差为
Figure 350968DEST_PATH_IMAGE024
,根据实际传感器情况设置标准差倍数n,则通过统计滤波能够保留的点云到满足条件如式(1-3)所示。
Figure 794719DEST_PATH_IMAGE025
(1-3)
(2)对于点云一个采样点
Figure 230510DEST_PATH_IMAGE026
,设置邻域半径为r内的所有点,即
Figure 847436DEST_PATH_IMAGE027
。为加速点云搜索速度,采用基于KD树的结构进行采样点的近邻搜索。由于检测时仓储托盘大多正对于传感器(即X方向的法向量分量较大),对YZ方向进行中值滤波会使托盘点云产生畸变,而X方向影响较小,因此只对邻域内所有点的X方向的坐标值大小进行从小到大排列,取其中值
Figure 872024DEST_PATH_IMAGE028
作为采样点,则采样点坐标更新如式(1-4)所示:
Figure 798261DEST_PATH_IMAGE029
(1-4)
遍历统计滤波后的所有点,由此得到中值滤波后的场景点云。
仓储托盘模板点云可按照S1、S2处理后,用可视化点云处理软件手动分割出来,保存成模板点云文件,对于不同材质、尺寸的托盘需要保存成单独的点云模板文件。
S3中,具体的,包括:
S3.1:基于法向量的区域生长算法对场景点云进行分割。首先计算输入点云的法向量和曲率,并设置算法的曲率阈值K、法向量夹角阈值θ和搜索近邻点的个数N,根据曲率大小对各点进行排序,选取曲率最小的点为初始种子点加入种子点集合Q中;搜索该种子点的N个近邻点,采用KD树的结构加速搜索,若近邻点的法线夹角与种子点的夹角小于θ且曲率值小于K则将该点加入种子点集合Q中;在该种子点所有近邻点搜索完后将该种子点移出Q,在Q中选择新的种子点并重复以上步骤,直到Q中为空完成一个区域生长的聚类;判断所有聚类的点云数,删除不满足最小聚类点数和最大聚类点数的点云。
S3.2:计算每个聚类的平均法向量,即:
Figure 705037DEST_PATH_IMAGE030
由于检测时仓储托盘相对于叉车的偏航角不会太大,因此删除X方向法向量分量低于0.6(即预设值)的点云集合。
S3.3:加载S2生成的仓储托盘模板点云,将剩下的每个聚类分别与模板点云进行基于ICP算法的点云配准:设置对于一个聚类点云A中某个点进行一个初始变换
Figure 797758DEST_PATH_IMAGE031
得到
Figure 755481DEST_PATH_IMAGE032
,从模板点云中找到距离
Figure 275455DEST_PATH_IMAGE032
最近的点
Figure 669527DEST_PATH_IMAGE033
,则最优变换T可用式(1-5)表示:
Figure 877523DEST_PATH_IMAGE034
(1-5)
对每个聚类的点云施以最优变换T,分别得到各个配准后的点云,分别计算配准后一聚类点云A中点所有与模板点云B对应的点的距离的平方和,其中所求均方根误差最小的聚类认为是检测到的托盘点云,如式(1-6)所示。
Figure 876703DEST_PATH_IMAGE035
(1-6)
S4中,具体的,包括:
S4.1:对S3得到的托盘点云进行基于RANSAC算法的平面拟合,设置最大迭代次数N,距离阈值d:从点云中随机选取三个点拟合平面方程;用其他点计算到该平面的距离,小于阈值d的认为是平面内点,统计剩余点中是内点的个数;重复以上步骤,记录内点个数最多的平面方程,直到达到迭代次数N为止,得到平面方程为
Figure 629896DEST_PATH_IMAGE036
,保存在拟合平面内的点。
S4.2:计算S4.1所得的平面法向量,XY方向的法向量分量a、b如式(1-7)所示,由此可以得到托盘相对于传感器X方向和Y方向的夹角,分别为arctan(b/a)和arctan(a/b):
Figure 527576DEST_PATH_IMAGE037
(1-7)
S4.3:将S4.1得到平面点云中的点按XY方向位置大小进行排序,分别删除这两个方向上最大和最小的5个点,计算剩余点中两个最大及最小10个点的平均值xmin、xmax和ymin、ymax则仓储托盘的中心位置可由式(1-8)表示:
Figure 758837DEST_PATH_IMAGE038
(8)
最终根据S1将计算出的托盘位姿转化到叉车坐标系下,得到仓储托盘相对于叉车的实际位置,S4的流程图如图3所示。
实施例2:
本发明实施例2提供了一种基于点云处理的仓储托盘检测定位系统,包括:
数据获取模块,被配置为:获取位于叉车式AGV升降机构上传感器采集的点云数据;
预处理模块,被配置为:对获取的点云数据进行预处理;
点云匹配模块,被配置为:对预处理后的点云进行聚类分割,进行再次筛选后与托盘模板点云进行匹配,计算每簇分割点云的匹配误差;
托盘定位模块,被配置为:选取匹配误差计算最小的点云进行平面拟合,得到仓储托盘的转角和位置。
数据获取模块,具体的,包括:
将传感器固定在叉车AGV的升降机构,使其能跟随着叉齿上下移动,保证叉齿和传感器有着固定的位姿,保证传感器X轴方向正对叉车AGV叉齿前方。记录叉齿长度l及升降机构处于最低高度时传感器相对于地面的高度h s ,传感器与叉车AGV的安装位置,传感器相对于叉车的旋转矩阵、平移向量分别为Rt,则传感器获得的点云
Figure 330633DEST_PATH_IMAGE039
可以由式(2-1)齐次转换到叉车坐标系的Pr,由此可以得到被检测物体相对于叉车本体的位置。
Figure 520306DEST_PATH_IMAGE040
(2-1)
预处理模块,具体的,包括:
由于面阵雷达等激光雷达传感器在近处的点云数据不准,而有的ToF深度相机会在测量范围外随机插值点云,所以需要对测量范围进行限制,滤除无效点云。首先,根据叉齿长度l和传感器安装h s 对获得的原始点云进行直通滤波,去除地面点云和叉齿上的点云,由于地面反光时托盘与地面交界处的点云会形成一定的坡度,故需要补偿一定的高度
Figure 888970DEST_PATH_IMAGE041
以去除托盘与地面接触的部分,设检测的仓储托盘高度为hp,则通过直通滤波能够保留的点云满足条件如式(2-2)所示:
Figure 877917DEST_PATH_IMAGE042
(2-2)
传感器获得的原始数据分布不均匀且有一定的跳变,需要对传感器数据进行离群点去除,平滑跳变点云,本实施例采用统计学滤波的方式和中值滤波的方式去除点云噪声,具体实施方式如下:
(1)假设点云中每个点到其邻域的距离符合高斯分布,设点云中两点之间的距离为d,第i个点到k个临近点的平均距离
Figure 382847DEST_PATH_IMAGE043
,标准差为
Figure 743422DEST_PATH_IMAGE044
,根据实际传感器情况设置标准差倍数n,则通过统计滤波能够保留的点云到满足条件如式(2-3)所示。
Figure 51912DEST_PATH_IMAGE045
(2-3)
(2)对于点云一个采样点
Figure 890555DEST_PATH_IMAGE046
,设置邻域半径为r内的所有点,即
Figure 718834DEST_PATH_IMAGE047
。为加速点云搜索速度,采用基于KD树的结构进行采样点的近邻搜索。由于检测时仓储托盘大多正对于传感器(即X方向的法向量分量较大),对YZ方向进行中值滤波会使托盘点云产生畸变,而X方向影响较小,因此只对邻域内所有点的X方向的坐标值大小进行从小到大排列,取其中值
Figure 735463DEST_PATH_IMAGE048
作为采样点,则采样点坐标更新如式(2-4)所示:
Figure 78719DEST_PATH_IMAGE049
(2-4)
遍历统计滤波后的所有点,由此得到中值滤波后的场景点云。
仓储托盘模板点云可按照数据获取模块和预处理模块的处理后,用可视化点云处理软件手动分割出来,保存成模板点云文件,对于不同材质、尺寸的托盘需要保存成单独的点云模板文件。
点云匹配模块,具体的,包括:
(1)基于法向量的区域生长算法对场景点云进行分割。首先计算输入点云的法向量和曲率,并设置算法的曲率阈值K、法向量夹角阈值θ和搜索近邻点的个数N,根据曲率大小对各点进行排序,选取曲率最小的点为初始种子点加入种子点集合Q中;搜索该种子点的N个近邻点,采用KD树的结构加速搜索,若近邻点的法线夹角与种子点的夹角小于θ且曲率值小于K则将该点加入种子点集合Q中;在该种子点所有近邻点搜索完后将该种子点移出Q,在Q中选择新的种子点并重复以上步骤,直到Q中为空完成一个区域生长的聚类;判断所有聚类的点云数,删除不满足最小聚类点数和最大聚类点数的点云。
(2)计算每个聚类的平均法向量,即:
Figure 924315DEST_PATH_IMAGE050
由于检测时仓储托盘相对于叉车的偏航角不会太大,因此删除X方向法向量分量低于0.6(即预设值)的点云集合。
(3)加载预处理模块生成的仓储托盘模板点云,将剩下的每个聚类分别与模板点云进行基于ICP算法的点云配准:设置对于一个聚类点云A中某个点进行一个初始变换
Figure 653106DEST_PATH_IMAGE051
得到
Figure 355483DEST_PATH_IMAGE052
,从模板点云中找到距离
Figure 920456DEST_PATH_IMAGE053
最近的点
Figure 31459DEST_PATH_IMAGE054
,则最优变换T可用式(2-5)表示:
Figure 631068DEST_PATH_IMAGE055
(2-5)
对每个聚类的点云施以最优变换T,分别得到各个配准后的点云,分别计算配准后一聚类点云A中点所有与模板点云B对应的点的距离的平方和,其中所求均方根误差最小的聚类认为是检测到的托盘点云,如式(2-6)所示。
Figure 442029DEST_PATH_IMAGE056
(2-6)
托盘定位模块,具体的,包括:
(1)对点云匹配模块得到的托盘点云进行基于RANSAC算法的平面拟合,设置最大迭代次数N,距离阈值d:从点云中随机选取三个点拟合平面方程;用其他点计算到该平面的距离,小于阈值d的认为是平面内点,统计剩余点中是内点的个数;重复以上步骤,记录内点个数最多的平面方程,直到达到迭代次数N为止,得到平面方程为
Figure 743566DEST_PATH_IMAGE057
,保存在拟合平面内的点。
(2)计算(1)所得的平面法向量,XY方向的法向量分量a、b如式(2-7)所示,由此可以得到托盘相对于传感器X方向和Y方向的夹角,分别为arctan(b/a)和arctan(a/b):
Figure 727703DEST_PATH_IMAGE058
(2-7)
(3)将(1)得到平面点云中的点按XY方向位置大小进行排序,分别删除这两个方向上最大和最小的5个点,计算剩余点中两个最大及最小10个点的平均值xmin、xmax和ymin、ymax,则仓储托盘的中心位置可由式(2-8)表示:
Figure 650659DEST_PATH_IMAGE059
(2-8)
最终根据数据获取模块将计算出的托盘位姿转化到叉车坐标系下,得到仓储托盘相对于叉车的实际位置。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于点云处理的仓储托盘检测定位方法,其特征在于:
包括以下过程:
获取位于叉车式AGV升降机构上传感器采集的点云数据;
对获取的点云数据进行预处理;
对预处理后的点云进行聚类分割,进行再次筛选后与托盘模板点云进行匹配,计算每簇分割点云的匹配误差;
选取匹配误差计算最小的点云进行平面拟合,得到仓储托盘的转角和位置。
2.如权利要求1所述的基于点云处理的仓储托盘检测定位方法,其特征在于:
对获取的点云数据进行预处理,包括:
根据叉齿长度以及升降机构处于最低高度时传感器相对于地面的高度,对获得的原始点云进行直通滤波,去除地面点云和叉齿上的点云,补偿预设高度以去除托盘与地面接触的部分。
3.如权利要求2所述的基于点云处理的仓储托盘检测定位方法,其特征在于:
通过直通滤波保留的点云满足如下条件:
Figure 886942DEST_PATH_IMAGE001
其中,x s 为点云的x坐标值,x max 为点云的x坐标值的最大值,l为叉齿长度,△h为补偿的预设高度,h p 为检测的仓储托盘高度,z s 为点云的z轴坐标值h s 为升降机构处于最低高度时传感器相对于地面的高度。
4.如权利要求1所述的基于点云处理的仓储托盘检测定位方法,其特征在于:
对获取的点云数据进行预处理,包括:
采用统计学滤波的方式和中值滤波的方式去除点云噪声,包括:
假设点云中每个点到其邻域的距离符合高斯分布,设点云中两点之间的距离为d,第i个点到k个临近点的平均距离为μ,标准差为σ,设置标准差倍数n,通过统计滤波能够保留的点云满足:
Figure 211744DEST_PATH_IMAGE002
对于点云一个采样点
Figure 34075DEST_PATH_IMAGE003
,设置邻域半径为r内的所有点,即
Figure 190250DEST_PATH_IMAGE004
,采用基于KD树的结构进行采样点的近邻搜索,只对邻域内所有点的X方向的坐标值大小进行从小到大排列,取其中值
Figure 190567DEST_PATH_IMAGE005
作为采样点,则采样点坐标更新公式为:
Figure 691081DEST_PATH_IMAGE006
遍历统计滤波后的所有点,得到中值滤波后的场景点云。
5.如权利要求1所述的基于点云处理的仓储托盘检测定位方法,其特征在于:
对预处理后的点云进行聚类分割,包括:
基于法向量的区域生长算法对场景点云进行分割,计算输入点云的法向量和曲率,并设置算法的曲率阈值K、法向量夹角阈值θ和搜索近邻点的个数N,根据曲率大小对各点进行排序,选取曲率最小的点为初始种子点加入种子点集合Q中;
搜索该种子点的N个近邻点,采用KD树的结构加速搜索,若近邻点的法线夹角与种子点的夹角小于θ且曲率值小于K则将该点加入种子点集合Q中;
在该种子点所有近邻点搜索完后将该种子点移出Q,在Q中选择新的种子点并重复以上步骤,直到Q中为空完成一个区域生长的聚类;
判断所有聚类的点云数,删除不满足最小聚类点数和最大聚类点数的点云。
6.如权利要求1所述的基于点云处理的仓储托盘检测定位方法,其特征在于:
进行再次筛选,包括:
计算每个聚类的平均法向量,删除X方向法向量分量低于设定值的点云集合。
7.如权利要求6所述的基于点云处理的仓储托盘检测定位方法,其特征在于:
与托盘模板点云进行匹配,计算每簇分割点云的匹配误差,包括:
加载仓储托盘模板点云,将剩下的每个聚类分别与模板点云进行基于ICP算法的点云配准:对于一个聚类点云中某个点进行一个初始变换
Figure 67836DEST_PATH_IMAGE007
得到
Figure 344096DEST_PATH_IMAGE008
,从模板点云中找到距离
Figure 967845DEST_PATH_IMAGE009
最近的点
Figure 267239DEST_PATH_IMAGE010
,则最优变换T为:
Figure 510001DEST_PATH_IMAGE011
将该聚类的点云施以最优变换T,得到配准后的点云,计算配准后
Figure 266867DEST_PATH_IMAGE012
与对应点
Figure 608987DEST_PATH_IMAGE013
的距离的平方和,以均方根误差最小的聚类为检测到的托盘点云。
8.如权利要求1所述的基于点云处理的仓储托盘检测定位方法,其特征在于:
对得到的托盘点云进行基于RANSAC算法的平面拟合,设置最大迭代次数N,距离阈值d:从点云中随机选取三个点拟合平面方程;
用其他点计算到该平面的距离,小于阈值d的认为是平面内点,统计剩余点中是平面内点的个数并重复以上步骤,记录内点个数最多的平面方程,直到达到迭代次数N为止,得到平面方程为
Figure 457994DEST_PATH_IMAGE014
,保存在拟合平面内的点;
计算所得平面的法向量,XY方向的法向量分量a和b,由此可以得到托盘相对于传感器X方向和Y方向的夹角arctan(b/a)和arctan(a/b);
将得到平面点云中的点按XY方向位置大小进行排序,分别删除这两个方向上最大和最小的多个点,计算剩余点中两个最大及最小多个点的平均值xmin、xmax和ymin、ymax,进而得到仓储托盘的中心位置;
将仓储托盘的中心位置转化到叉车坐标系下,得到仓储托盘相对于叉车的实际位置。
9.一种基于点云处理的仓储托盘检测定位系统,其特征在于:
包括:
数据获取模块,被配置为:获取位于叉车式AGV升降机构上传感器采集的点云数据;
预处理模块,被配置为:对获取的点云数据进行预处理;
点云匹配模块,被配置为:对预处理后的点云进行聚类分割,进行再次筛选后与托盘模板点云进行匹配,计算每簇分割点云的匹配误差;
托盘定位模块,被配置为:选取匹配误差计算最小的点云进行平面拟合,得到仓储托盘的转角和位置。
10.如权利要求9所述的基于点云处理的仓储托盘检测定位系统,其特征在于:
对获取的点云数据进行预处理,包括:
采用统计学滤波的方式和中值滤波的方式去除点云噪声,包括:
假设点云中每个点到其邻域的距离符合高斯分布,设点云中两点之间的距离为d,第i个点到k个临近点的平均距离为μ,标准差为σ,设置标准差倍数n,通过统计滤波能够保留的点云满足:
Figure 160240DEST_PATH_IMAGE015
对于点云一个采样点
Figure 552038DEST_PATH_IMAGE016
,设置邻域半径为r内的所有点,即
Figure 127376DEST_PATH_IMAGE017
,采用基于KD树的结构进行采样点的近邻搜索,只对邻域内所有点的X方向的坐标值大小进行从小到大排列,取其中值
Figure 152095DEST_PATH_IMAGE018
作为采样点,则采样点坐标更新公式为:
Figure 346447DEST_PATH_IMAGE019
遍历统计滤波后的所有点,得到中值滤波后的场景点云。
CN202210737623.1A 2022-06-28 2022-06-28 基于点云处理的仓储托盘检测定位方法及系统 Active CN114820391B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210737623.1A CN114820391B (zh) 2022-06-28 2022-06-28 基于点云处理的仓储托盘检测定位方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210737623.1A CN114820391B (zh) 2022-06-28 2022-06-28 基于点云处理的仓储托盘检测定位方法及系统

Publications (2)

Publication Number Publication Date
CN114820391A true CN114820391A (zh) 2022-07-29
CN114820391B CN114820391B (zh) 2022-10-11

Family

ID=82522471

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210737623.1A Active CN114820391B (zh) 2022-06-28 2022-06-28 基于点云处理的仓储托盘检测定位方法及系统

Country Status (1)

Country Link
CN (1) CN114820391B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115222804A (zh) * 2022-09-05 2022-10-21 成都睿芯行科技有限公司 一种基于深度相机点云数据的工业料笼识别和定位方法
CN115546202A (zh) * 2022-11-23 2022-12-30 青岛中德智能技术研究院 一种用于无人叉车的托盘检测与定位方法
CN115761210A (zh) * 2023-01-09 2023-03-07 成都睿芯行科技有限公司 一种基于深度相机的托盘识别定位方法
CN116197913A (zh) * 2023-03-23 2023-06-02 广东技术师范大学 一种基于点云处理的机器人加工路径规划方法和存储介质
CN116429145A (zh) * 2023-06-07 2023-07-14 福龙马城服机器人科技有限公司 一种复杂场景下无人车与垃圾桶自动对接导航方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106599129A (zh) * 2016-12-02 2017-04-26 山东科技大学 一种顾及地形特点的多波束点云数据去噪方法
CN107507167A (zh) * 2017-07-25 2017-12-22 上海交通大学 一种基于点云平面轮廓匹配的货物托盘检测方法及系统
US20180089517A1 (en) * 2016-08-10 2018-03-29 Barry D. Douglas Pallet localization systems and methods
CN111445517A (zh) * 2020-03-14 2020-07-24 苏州艾吉威机器人有限公司 机器人视觉末端定位方法、装置及计算机可读存储介质
CN111899258A (zh) * 2020-08-20 2020-11-06 广东机场白云信息科技有限公司 自助托运行李规格检测方法
CN113267180A (zh) * 2021-06-10 2021-08-17 上海大学 一种基于3d深度视觉的agv叉车托盘定位及叉取方法
CN113989366A (zh) * 2021-12-27 2022-01-28 机科发展科技股份有限公司 一种托盘定位方法及装置
CN114332219A (zh) * 2021-12-27 2022-04-12 机科发展科技股份有限公司 一种基于三维点云处理的托盘定位方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180089517A1 (en) * 2016-08-10 2018-03-29 Barry D. Douglas Pallet localization systems and methods
CN106599129A (zh) * 2016-12-02 2017-04-26 山东科技大学 一种顾及地形特点的多波束点云数据去噪方法
CN107507167A (zh) * 2017-07-25 2017-12-22 上海交通大学 一种基于点云平面轮廓匹配的货物托盘检测方法及系统
CN111445517A (zh) * 2020-03-14 2020-07-24 苏州艾吉威机器人有限公司 机器人视觉末端定位方法、装置及计算机可读存储介质
CN111899258A (zh) * 2020-08-20 2020-11-06 广东机场白云信息科技有限公司 自助托运行李规格检测方法
CN113267180A (zh) * 2021-06-10 2021-08-17 上海大学 一种基于3d深度视觉的agv叉车托盘定位及叉取方法
CN113989366A (zh) * 2021-12-27 2022-01-28 机科发展科技股份有限公司 一种托盘定位方法及装置
CN114332219A (zh) * 2021-12-27 2022-04-12 机科发展科技股份有限公司 一种基于三维点云处理的托盘定位方法及装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115222804A (zh) * 2022-09-05 2022-10-21 成都睿芯行科技有限公司 一种基于深度相机点云数据的工业料笼识别和定位方法
CN115546202A (zh) * 2022-11-23 2022-12-30 青岛中德智能技术研究院 一种用于无人叉车的托盘检测与定位方法
CN115546202B (zh) * 2022-11-23 2023-03-03 青岛中德智能技术研究院 一种用于无人叉车的托盘检测与定位方法
CN115761210A (zh) * 2023-01-09 2023-03-07 成都睿芯行科技有限公司 一种基于深度相机的托盘识别定位方法
CN116197913A (zh) * 2023-03-23 2023-06-02 广东技术师范大学 一种基于点云处理的机器人加工路径规划方法和存储介质
CN116197913B (zh) * 2023-03-23 2023-12-05 广东技术师范大学 一种基于点云处理的机器人加工路径规划方法和存储介质
CN116429145A (zh) * 2023-06-07 2023-07-14 福龙马城服机器人科技有限公司 一种复杂场景下无人车与垃圾桶自动对接导航方法及系统
CN116429145B (zh) * 2023-06-07 2023-08-25 福龙马城服机器人科技有限公司 一种复杂场景下无人车与垃圾桶自动对接导航方法及系统

Also Published As

Publication number Publication date
CN114820391B (zh) 2022-10-11

Similar Documents

Publication Publication Date Title
CN114820391B (zh) 基于点云处理的仓储托盘检测定位方法及系统
CN110222702B (zh) 具有基于顶灯定位的工业车辆
CN112070838B (zh) 基于二维-三维融合特征的对象识别与定位方法及装置
CN110793512A (zh) 位姿识别方法、装置、电子设备和存储介质
CN112070759B (zh) 一种叉车托盘检测与定位方法及系统
CN111461107A (zh) 用于识别感兴趣区的材料搬运方法、装置和系统
CN112935703B (zh) 识别动态托盘终端的移动机器人位姿校正方法及系统
CN115049700A (zh) 一种目标检测方法及装置
CN110927732A (zh) 位姿识别方法、电子设备和存储介质
CN113920134A (zh) 一种基于多线激光雷达的斜坡地面点云分割方法及系统
US11772271B2 (en) Method and computing system for object recognition or object registration based on image classification
CN114862301A (zh) 基于二维码辅助定位的托盘叉车agv自动装载方法
US20230381971A1 (en) Method and computing system for object registration based on image classification
CN111539429A (zh) 一种基于图像几何特征的周转箱自动定位方法
CN116128841A (zh) 托盘位姿检测方法及装置、无人叉车、存储介质
CN115546202A (zh) 一种用于无人叉车的托盘检测与定位方法
Holz et al. Fast edge-based detection and localization of transport boxes and pallets in rgb-d images for mobile robot bin picking
CN113469195B (zh) 一种基于自适应颜色快速点特征直方图的目标识别方法
CN114325760A (zh) 基于多线激光雷达的公路隧道质检避障方法及系统
CN113947576A (zh) 容器定位方法、装置、容器存取设备及存储介质
CN112330748B (zh) 一种基于双目深度相机的托盘识别和定位方法
CN115116048A (zh) 一种基于点云质心识别及定位栈板的方法、系统
US11644845B2 (en) Industrial vehicle with feature-based localization and navigation
CN116342858B (zh) 物体检测方法、装置、电子设备及存储介质
CN115147491B (zh) 用于agv小车的搬运目标位姿信息估计方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant