CN114820391A - 基于点云处理的仓储托盘检测定位方法及系统 - Google Patents
基于点云处理的仓储托盘检测定位方法及系统 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000001514 detection method Methods 0.000 title claims abstract description 33
- 238000003860 storage Methods 0.000 title claims abstract description 33
- 238000012545 processing Methods 0.000 title claims abstract description 30
- 238000007781 pre-processing Methods 0.000 claims abstract description 17
- 230000007246 mechanism Effects 0.000 claims abstract description 15
- 238000012216 screening Methods 0.000 claims abstract description 10
- 230000011218 segmentation Effects 0.000 claims abstract description 9
- 238000004364 calculation method Methods 0.000 claims abstract description 8
- 238000001914 filtration Methods 0.000 claims description 37
- 238000005070 sampling Methods 0.000 claims description 18
- 238000004422 calculation algorithm Methods 0.000 claims description 16
- 238000009616 inductively coupled plasma Methods 0.000 claims description 8
- 230000000717 retained effect Effects 0.000 claims description 8
- 238000009826 distribution Methods 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 6
- 238000003825 pressing Methods 0.000 claims description 4
- 239000000126 substance Substances 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 8
- 239000000463 material Substances 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010862 gear shaping Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 238000005299 abrasion Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
Classifications
-
- G06T5/70—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration by the use of local operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
- G06T7/344—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20024—Filtering details
- G06T2207/20032—Median 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升降机构上传感器采集的点云数据;
对获取的点云数据进行预处理;
对预处理后的点云进行聚类分割,进行再次筛选后与托盘模板点云进行匹配,计算每簇分割点云的匹配误差;
选取匹配误差计算最小的点云进行平面拟合,得到仓储托盘的转角和位置。
作为可选的一种实现方式,对获取的点云数据进行预处理,包括:
根据叉齿长度以及升降机构处于最低高度时传感器相对于地面的高度,对获得的原始点云进行直通滤波,去除地面点云和叉齿上的点云,补偿预设高度以去除托盘与地面接触的部分。
进一步的,通过直通滤波保留的点云满足如下条件:
其中,x s 为点云的x坐标值,x max 为点云的x坐标值的最大值,l为叉齿长度,△h为补偿的预设高度,h p 为检测的仓储托盘高度,z s 为点云的z轴坐标值,h s 为升降机构处于最低高度时传感器相对于地面的高度。
作为可选的一种实现方式,对获取的点云数据进行预处理,包括:
采用统计学滤波的方式和中值滤波的方式去除点云噪声,包括:
遍历统计滤波后的所有点,得到中值滤波后的场景点云。
作为可选的一种实现方式,对预处理后的点云进行聚类分割,包括:
基于法向量的区域生长算法对场景点云进行分割,计算输入点云的法向量和曲率,并设置算法的曲率阈值K、法向量夹角阈值θ和搜索近邻点的个数N,根据曲率大小对各点进行排序,选取曲率最小的点为初始种子点加入种子点集合Q中;
搜索该种子点的N个近邻点,采用KD树的结构加速搜索,若近邻点的法线夹角与种子点的夹角小于θ且曲率值小于K则将该点加入种子点集合Q中;
在该种子点所有近邻点搜索完后将该种子点移出Q,在Q中选择新的种子点并重复以上步骤,直到Q中为空完成一个区域生长的聚类;
判断所有聚类的点云数,删除不满足最小聚类点数和最大聚类点数的点云。
作为可选的一种实现方式,进行再次筛选,包括:
计算每个聚类的平均法向量,删除X方向法向量分量低于设定值的点云集合。
进一步的,与托盘模板点云进行匹配,计算每簇分割点云的匹配误差,包括:
作为可选的一种实现方式,对得到的托盘点云进行基于RANSAC算法的平面拟合,设置最大迭代次数N,距离阈值d:从点云中随机选取三个点拟合平面方程;
计算所得平面的法向量,X和Y方向的法向量分量a和b,由此可以得到托盘相对于传感器X方向和Y方向的夹角arctan(b/a)和arctan(a/b);
将得到平面点云中的点按X、Y方向位置大小进行排序,分别删除这两个方向上最大和最小的多个点,计算剩余点中两个最大及最小多个点的平均值xmin、xmax和ymin、ymax,进而得到仓储托盘的中心位置;
将仓储托盘的中心位置转化到叉车坐标系下,得到仓储托盘相对于叉车的实际位置。
本发明第二方面提供了一种基于点云处理的仓储托盘检测定位系统。
一种基于点云处理的仓储托盘检测定位系统,包括:
数据获取模块,被配置为:获取位于叉车式AGV升降机构上传感器采集的点云数据;
预处理模块,被配置为:对获取的点云数据进行预处理;
点云匹配模块,被配置为:对预处理后的点云进行聚类分割,进行再次筛选后与托盘模板点云进行匹配,计算每簇分割点云的匹配误差;
托盘定位模块,被配置为:选取匹配误差计算最小的点云进行平面拟合,得到仓储托盘的转角和位置。
作为可选的一种实现方式,对获取的点云数据进行预处理,包括:
采用统计学滤波的方式和中值滤波的方式去除点云噪声,包括:
遍历统计滤波后的所有点,得到中值滤波后的场景点云。
与现有技术相比,本发明的有益效果是:
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的安装位置,传感器相对于叉车的旋转矩阵、平移向量分别为R、t,则传感器获得的点云可以由式(1-1)齐次转换到叉车坐标系的Pr,由此可以得到被检测物体相对于叉车本体的位置。
S2中,具体的,包括:
由于面阵雷达等激光雷达传感器在近处的点云数据不准,而有的ToF深度相机会在测量范围外随机插值点云,所以需要对测量范围进行限制,滤除无效点云。首先,根据叉齿长度l和传感器安装h s 对获得的原始点云进行直通滤波,去除地面点云和叉齿上的点云,由于地面反光时托盘与地面交界处的点云会形成一定的坡度,故需要补偿一定的高度以去除托盘与地面接触的部分,设检测的仓储托盘高度为hp,则通过直通滤波能够保留的点云满足条件如式(1-2)所示:
传感器获得的原始数据分布不均匀且有一定的跳变,需要对传感器数据进行离群点去除,平滑跳变点云,本实施例采用统计学滤波的方式和中值滤波的方式去除点云噪声,具体实施方式如下。
(1)假设点云中每个点到其邻域的距离符合高斯分布,设点云中两点之间的距离为d,第i个点到k个临近点的平均距离,标准差为,根据实际传感器情况设置标准差倍数n,则通过统计滤波能够保留的点云到满足条件如式(1-3)所示。
(2)对于点云一个采样点,设置邻域半径为r内的所有点,即。为加速点云搜索速度,采用基于KD树的结构进行采样点的近邻搜索。由于检测时仓储托盘大多正对于传感器(即X方向的法向量分量较大),对Y和Z方向进行中值滤波会使托盘点云产生畸变,而X方向影响较小,因此只对邻域内所有点的X方向的坐标值大小进行从小到大排列,取其中值作为采样点,则采样点坐标更新如式(1-4)所示:
遍历统计滤波后的所有点,由此得到中值滤波后的场景点云。
仓储托盘模板点云可按照S1、S2处理后,用可视化点云处理软件手动分割出来,保存成模板点云文件,对于不同材质、尺寸的托盘需要保存成单独的点云模板文件。
S3中,具体的,包括:
S3.1:基于法向量的区域生长算法对场景点云进行分割。首先计算输入点云的法向量和曲率,并设置算法的曲率阈值K、法向量夹角阈值θ和搜索近邻点的个数N,根据曲率大小对各点进行排序,选取曲率最小的点为初始种子点加入种子点集合Q中;搜索该种子点的N个近邻点,采用KD树的结构加速搜索,若近邻点的法线夹角与种子点的夹角小于θ且曲率值小于K则将该点加入种子点集合Q中;在该种子点所有近邻点搜索完后将该种子点移出Q,在Q中选择新的种子点并重复以上步骤,直到Q中为空完成一个区域生长的聚类;判断所有聚类的点云数,删除不满足最小聚类点数和最大聚类点数的点云。
S3.2:计算每个聚类的平均法向量,即:
由于检测时仓储托盘相对于叉车的偏航角不会太大,因此删除X方向法向量分量低于0.6(即预设值)的点云集合。
S3.3:加载S2生成的仓储托盘模板点云,将剩下的每个聚类分别与模板点云进行基于ICP算法的点云配准:设置对于一个聚类点云A中某个点进行一个初始变换得到,从模板点云中找到距离最近的点,则最优变换T可用式(1-5)表示:
对每个聚类的点云施以最优变换T,分别得到各个配准后的点云,分别计算配准后一聚类点云A中点所有与模板点云B对应的点的距离的平方和,其中所求均方根误差最小的聚类认为是检测到的托盘点云,如式(1-6)所示。
S4中,具体的,包括:
S4.1:对S3得到的托盘点云进行基于RANSAC算法的平面拟合,设置最大迭代次数N,距离阈值d:从点云中随机选取三个点拟合平面方程;用其他点计算到该平面的距离,小于阈值d的认为是平面内点,统计剩余点中是内点的个数;重复以上步骤,记录内点个数最多的平面方程,直到达到迭代次数N为止,得到平面方程为,保存在拟合平面内的点。
S4.2:计算S4.1所得的平面法向量,X和Y方向的法向量分量a、b如式(1-7)所示,由此可以得到托盘相对于传感器X方向和Y方向的夹角,分别为arctan(b/a)和arctan(a/b):
S4.3:将S4.1得到平面点云中的点按X、Y方向位置大小进行排序,分别删除这两个方向上最大和最小的5个点,计算剩余点中两个最大及最小10个点的平均值xmin、xmax和ymin、ymax则仓储托盘的中心位置可由式(1-8)表示:
最终根据S1将计算出的托盘位姿转化到叉车坐标系下,得到仓储托盘相对于叉车的实际位置,S4的流程图如图3所示。
实施例2:
本发明实施例2提供了一种基于点云处理的仓储托盘检测定位系统,包括:
数据获取模块,被配置为:获取位于叉车式AGV升降机构上传感器采集的点云数据;
预处理模块,被配置为:对获取的点云数据进行预处理;
点云匹配模块,被配置为:对预处理后的点云进行聚类分割,进行再次筛选后与托盘模板点云进行匹配,计算每簇分割点云的匹配误差;
托盘定位模块,被配置为:选取匹配误差计算最小的点云进行平面拟合,得到仓储托盘的转角和位置。
数据获取模块,具体的,包括:
将传感器固定在叉车AGV的升降机构,使其能跟随着叉齿上下移动,保证叉齿和传感器有着固定的位姿,保证传感器X轴方向正对叉车AGV叉齿前方。记录叉齿长度l及升降机构处于最低高度时传感器相对于地面的高度h s ,传感器与叉车AGV的安装位置,传感器相对于叉车的旋转矩阵、平移向量分别为R、t,则传感器获得的点云可以由式(2-1)齐次转换到叉车坐标系的Pr,由此可以得到被检测物体相对于叉车本体的位置。
预处理模块,具体的,包括:
由于面阵雷达等激光雷达传感器在近处的点云数据不准,而有的ToF深度相机会在测量范围外随机插值点云,所以需要对测量范围进行限制,滤除无效点云。首先,根据叉齿长度l和传感器安装h s 对获得的原始点云进行直通滤波,去除地面点云和叉齿上的点云,由于地面反光时托盘与地面交界处的点云会形成一定的坡度,故需要补偿一定的高度以去除托盘与地面接触的部分,设检测的仓储托盘高度为hp,则通过直通滤波能够保留的点云满足条件如式(2-2)所示:
传感器获得的原始数据分布不均匀且有一定的跳变,需要对传感器数据进行离群点去除,平滑跳变点云,本实施例采用统计学滤波的方式和中值滤波的方式去除点云噪声,具体实施方式如下:
(1)假设点云中每个点到其邻域的距离符合高斯分布,设点云中两点之间的距离为d,第i个点到k个临近点的平均距离,标准差为,根据实际传感器情况设置标准差倍数n,则通过统计滤波能够保留的点云到满足条件如式(2-3)所示。
(2)对于点云一个采样点,设置邻域半径为r内的所有点,即。为加速点云搜索速度,采用基于KD树的结构进行采样点的近邻搜索。由于检测时仓储托盘大多正对于传感器(即X方向的法向量分量较大),对Y和Z方向进行中值滤波会使托盘点云产生畸变,而X方向影响较小,因此只对邻域内所有点的X方向的坐标值大小进行从小到大排列,取其中值作为采样点,则采样点坐标更新如式(2-4)所示:
遍历统计滤波后的所有点,由此得到中值滤波后的场景点云。
仓储托盘模板点云可按照数据获取模块和预处理模块的处理后,用可视化点云处理软件手动分割出来,保存成模板点云文件,对于不同材质、尺寸的托盘需要保存成单独的点云模板文件。
点云匹配模块,具体的,包括:
(1)基于法向量的区域生长算法对场景点云进行分割。首先计算输入点云的法向量和曲率,并设置算法的曲率阈值K、法向量夹角阈值θ和搜索近邻点的个数N,根据曲率大小对各点进行排序,选取曲率最小的点为初始种子点加入种子点集合Q中;搜索该种子点的N个近邻点,采用KD树的结构加速搜索,若近邻点的法线夹角与种子点的夹角小于θ且曲率值小于K则将该点加入种子点集合Q中;在该种子点所有近邻点搜索完后将该种子点移出Q,在Q中选择新的种子点并重复以上步骤,直到Q中为空完成一个区域生长的聚类;判断所有聚类的点云数,删除不满足最小聚类点数和最大聚类点数的点云。
(2)计算每个聚类的平均法向量,即:
由于检测时仓储托盘相对于叉车的偏航角不会太大,因此删除X方向法向量分量低于0.6(即预设值)的点云集合。
(3)加载预处理模块生成的仓储托盘模板点云,将剩下的每个聚类分别与模板点云进行基于ICP算法的点云配准:设置对于一个聚类点云A中某个点进行一个初始变换得到,从模板点云中找到距离最近的点,则最优变换T可用式(2-5)表示:
对每个聚类的点云施以最优变换T,分别得到各个配准后的点云,分别计算配准后一聚类点云A中点所有与模板点云B对应的点的距离的平方和,其中所求均方根误差最小的聚类认为是检测到的托盘点云,如式(2-6)所示。
托盘定位模块,具体的,包括:
(1)对点云匹配模块得到的托盘点云进行基于RANSAC算法的平面拟合,设置最大迭代次数N,距离阈值d:从点云中随机选取三个点拟合平面方程;用其他点计算到该平面的距离,小于阈值d的认为是平面内点,统计剩余点中是内点的个数;重复以上步骤,记录内点个数最多的平面方程,直到达到迭代次数N为止,得到平面方程为,保存在拟合平面内的点。
(2)计算(1)所得的平面法向量,X和Y方向的法向量分量a、b如式(2-7)所示,由此可以得到托盘相对于传感器X方向和Y方向的夹角,分别为arctan(b/a)和arctan(a/b):
(3)将(1)得到平面点云中的点按X、Y方向位置大小进行排序,分别删除这两个方向上最大和最小的5个点,计算剩余点中两个最大及最小10个点的平均值xmin、xmax和ymin、ymax,则仓储托盘的中心位置可由式(2-8)表示:
最终根据数据获取模块将计算出的托盘位姿转化到叉车坐标系下,得到仓储托盘相对于叉车的实际位置。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于点云处理的仓储托盘检测定位方法,其特征在于:
包括以下过程:
获取位于叉车式AGV升降机构上传感器采集的点云数据;
对获取的点云数据进行预处理;
对预处理后的点云进行聚类分割,进行再次筛选后与托盘模板点云进行匹配,计算每簇分割点云的匹配误差;
选取匹配误差计算最小的点云进行平面拟合,得到仓储托盘的转角和位置。
2.如权利要求1所述的基于点云处理的仓储托盘检测定位方法,其特征在于:
对获取的点云数据进行预处理,包括:
根据叉齿长度以及升降机构处于最低高度时传感器相对于地面的高度,对获得的原始点云进行直通滤波,去除地面点云和叉齿上的点云,补偿预设高度以去除托盘与地面接触的部分。
5.如权利要求1所述的基于点云处理的仓储托盘检测定位方法,其特征在于:
对预处理后的点云进行聚类分割,包括:
基于法向量的区域生长算法对场景点云进行分割,计算输入点云的法向量和曲率,并设置算法的曲率阈值K、法向量夹角阈值θ和搜索近邻点的个数N,根据曲率大小对各点进行排序,选取曲率最小的点为初始种子点加入种子点集合Q中;
搜索该种子点的N个近邻点,采用KD树的结构加速搜索,若近邻点的法线夹角与种子点的夹角小于θ且曲率值小于K则将该点加入种子点集合Q中;
在该种子点所有近邻点搜索完后将该种子点移出Q,在Q中选择新的种子点并重复以上步骤,直到Q中为空完成一个区域生长的聚类;
判断所有聚类的点云数,删除不满足最小聚类点数和最大聚类点数的点云。
6.如权利要求1所述的基于点云处理的仓储托盘检测定位方法,其特征在于:
进行再次筛选,包括:
计算每个聚类的平均法向量,删除X方向法向量分量低于设定值的点云集合。
8.如权利要求1所述的基于点云处理的仓储托盘检测定位方法,其特征在于:
对得到的托盘点云进行基于RANSAC算法的平面拟合,设置最大迭代次数N,距离阈值d:从点云中随机选取三个点拟合平面方程;
计算所得平面的法向量,X和Y方向的法向量分量a和b,由此可以得到托盘相对于传感器X方向和Y方向的夹角arctan(b/a)和arctan(a/b);
将得到平面点云中的点按X、Y方向位置大小进行排序,分别删除这两个方向上最大和最小的多个点,计算剩余点中两个最大及最小多个点的平均值xmin、xmax和ymin、ymax,进而得到仓储托盘的中心位置;
将仓储托盘的中心位置转化到叉车坐标系下,得到仓储托盘相对于叉车的实际位置。
9.一种基于点云处理的仓储托盘检测定位系统,其特征在于:
包括:
数据获取模块,被配置为:获取位于叉车式AGV升降机构上传感器采集的点云数据;
预处理模块,被配置为:对获取的点云数据进行预处理;
点云匹配模块,被配置为:对预处理后的点云进行聚类分割,进行再次筛选后与托盘模板点云进行匹配,计算每簇分割点云的匹配误差;
托盘定位模块,被配置为:选取匹配误差计算最小的点云进行平面拟合,得到仓储托盘的转角和位置。
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)
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)
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 | 机科发展科技股份有限公司 | 一种基于三维点云处理的托盘定位方法及装置 |
-
2022
- 2022-06-28 CN CN202210737623.1A patent/CN114820391B/zh active Active
Patent Citations (8)
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)
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 |