CN110135439B - 一种自动识别货架的方法及装置、移动机器人 - Google Patents

一种自动识别货架的方法及装置、移动机器人 Download PDF

Info

Publication number
CN110135439B
CN110135439B CN201910386141.4A CN201910386141A CN110135439B CN 110135439 B CN110135439 B CN 110135439B CN 201910386141 A CN201910386141 A CN 201910386141A CN 110135439 B CN110135439 B CN 110135439B
Authority
CN
China
Prior art keywords
shelf
point set
point
center
leg
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.)
Active
Application number
CN201910386141.4A
Other languages
English (en)
Other versions
CN110135439A (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.)
Noah robot technology (Shanghai) Co.,Ltd.
Original Assignee
Shanghai Mumu Jucong Robot 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 Shanghai Mumu Jucong Robot Technology Co ltd filed Critical Shanghai Mumu Jucong Robot Technology Co ltd
Priority to CN201910386141.4A priority Critical patent/CN110135439B/zh
Publication of CN110135439A publication Critical patent/CN110135439A/zh
Application granted granted Critical
Publication of CN110135439B publication Critical patent/CN110135439B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/757Matching configurations of points or features
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Image Analysis (AREA)
  • Manipulator (AREA)

Abstract

本发明提供了一种自动识别货架的方法及装置、移动机器人,包括:获取反映周围环境信息的点云数据;对所述点云数据进行预处理,得到疑似货架腿部的中心点集;根据预先构建的货架模型点集,对所述中心点集进行粗配准,粗配准后提取一个单货架点集;根据货架腿部特征对所述单货架点集进行精配准;当所述单货架点集与所述货架腿部特征匹配时,识别出一个货架,并计算货架底部中心位置。本发明提供自动识别货架的方法,可以支持货架的随意摆放,也不需要在货架底部安装导引器件,简化了操作。

Description

一种自动识别货架的方法及装置、移动机器人
技术领域
本发明涉及机器人领域,尤指一种自动识别货架的方法及装置、移动机器人。
背景技术
机器人自动进入货架底部,将货架载运离开是一种解决人力运输的手段。货架底部本身空间狭小,要求机器人能够执行高精度的运动移动到货架底部。目前已有方法让机器人识别货架:
方法一,要求货架摆放在特定位置,再设计路径将机器人导航运动到该位置进行装载货架。在该方法中,机器人本身并不知道它移动到了货架底部,只是单纯地移动到目的地,再执行货架装载动作。如果货架摆放位置不准确,或者机器人定位出现了偏差,就会导致机器人无法进入货架底部甚至发生碰撞货架的事件。
方法二,在货架底部安装特殊器件,比如,器件形状特殊,通过该特殊器件引导机器人进入货架底部。该方法先将机器人导航到货架前某个位置,再通过机器人上的激光扫描寻找货架底部安装的特殊器件,根据该特殊器件在货架底部的位置引导机器人进入货架底部中心.这种方法要求该特殊器件的安装位置准确,否则也会导致货架底部中心识别不准确;对所有的货架都要预先人工安装该器件,也比较费时费力;另外,如果机器人停在货架前的位置不合适、或货架摆放角度不合适,也会导致机器人无法扫描到该特殊器件,导致货架装载失败。
发明内容
本发明的目的是提供一种自动识别货架的方法及装置、移动机器人,可以支持货架的随意摆放,也不需要在货架底部安装导引器件,简化了操作。
本发明提供的技术方案如下:
一种自动识别货架的方法,包括:获取反映周围环境信息的点云数据;对所述点云数据进行预处理,得到疑似货架腿部的中心点集;根据预先构建的货架模型点集,对所述中心点集进行粗配准,粗配准后提取一个单货架点集;根据货架腿部特征对所述单货架点集进行精配准;当所述单货架点集与所述货架腿部特征匹配时,识别出一个货架,并计算货架底部中心位置。
进一步优选的,所述的对所述点云数据进行预处理,得到疑似货架腿部的中心点集具体包括:对所述点云数据进行聚簇处理,得到至少一个簇;根据所述簇的簇内点云数量,过滤非货架腿部簇;对剩下的簇,计算每个簇的中心点,并将所有的中心点构成中心点集。
进一步优选的,所述的根据预先构建的货架模型点集,对所述中心点集进行粗配准,粗配准后提取一个单货架点集包括:对所述中心点集与预先构建的货架模型点集进行匹配;当所述中心点集存在一个候选点集与所述货架模型点集匹配时,根据所述候选点集与所述货架模型点集得到目标变换矩阵;根据所述货架模型点集得到同一坐标系下的货架提取框,所述货架提取框包含所述货架模型点集,且与所述货架模型点集中心点重合;根据所述目标变换矩阵得到所述货架提取框在所述中心点集的坐标系下的对应框,用所述对应框从所述中心点集中提取一个单货架点集。
进一步优选的,所述的对所述中心点集与预先构建的货架模型点集进行匹配包括:采用迭代最近点算法对所述中心点集和预先构建的货架模型点集进行匹配。
进一步优选的,所述的根据货架腿部特征对所述单货架点集进行精配准;当所述单货架点集与所述货架腿部特征匹配时,识别出一个货架,并计算货架底部中心位置具体包括:根据货架腿部几何特征对所述单货架点集进行精配准;当所述单货架点集与所述货架腿部几何特征匹配时,识别出一个货架,得到货架底部的关键点位置;根据所述关键点位置,得到货架底部中心位置。
本发明还提供一种自动识别货架的装置,包括:数据获取模块,用于获取反映周围环境信息的点云数据;数据预处理模块,用于对所述点云数据进行预处理,得到疑似货架腿部的中心点集;粗配准模块,用于根据预先构建的货架模型点集,对所述中心点集进行粗配准,粗配准后提取一个单货架点集;精配准模块,用于根据货架腿部特征对所述单货架点集进行精配准;当所述单货架点集与所述货架腿部特征匹配时,识别出一个货架,并计算货架底部中心位置。
进一步优选的,所述数据预处理模块包括:聚簇单元,用于对所述点云数据进行聚簇处理,得到至少一个簇;过滤单元,用于根据所述簇的簇内点云数量,过滤非货架腿部簇;中心计算单元,用于对剩下的簇,计算每个簇的中心点,并将所有的中心点构成中心点集。
进一步优选的,所述粗配准模块包括:匹配单元,用于对所述中心点集与预先构建的货架模型点集进行匹配;以及,当所述中心点集存在一个候选点集与所述货架模型点集匹配时,根据所述候选点集与所述货架模型点集得到目标变换矩阵;货架提取单元,用于根据所述货架模型点集得到同一坐标系下的货架提取框,所述货架提取框包含所述货架模型点集,且与所述货架模型点集中心点重合;以及,根据所述目标变换矩阵得到所述货架提取框在所述中心点集的坐标系下的对应框,用所述对应框从所述中心点集中提取一个单货架点集。
进一步优选的,所述精配准模块,进一步用于根据货架腿部几何特征对所述单货架点集进行精配准;以及,当所述单货架点集与所述货架腿部几何特征匹配时,识别出一个货架,得到货架底部的关键点位置;根据所述关键点位置,得到货架底部中心位置。
本发明还提供一种移动机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时实现前述自动识别货架的方法的步骤。
与现有技术相比,本发明的自动识别货架的方法及装置、移动机器人有益效果在于:
1、本发明提供的自动识别货架的方法,可以支持货架的随意摆放,也不需要在货架底部安装导引器件,简化了操作。
2、本发明提供了一种根据货架腿部几何特征精准识别货架的方法,而且采用了最少点数的腿部几何特征,根据该几何特征,即使机器人不能获取单个货架所有腿部点的信息也能准确识别出货架。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对一种自动识别货架的方法及装置、移动机器人的上述特性、技术特征、优点及其实现方式予以进一步说明。
图1是本发明的一种自动识别货架的方法的一个实施例的流程图;
图2是本发明的一种自动识别货架的方法的另一个实施例的流程图;
图3是本发明的一种自动识别货架的方法的另一个实施例中的流程图;
图4是本发明的一种自动识别货架的装置的一个实施例的结构示意图;
图5是本发明的一种自动识别货架的装置的另一个实施例的结构示意图;
图6是本发明的一种移动机器人的一个实施例的结构示意图;
图7是一种货架底部结构示意图。
附图标号说明:
100.数据获取模块,200.数据预处理模块,300.粗配准模块,400.精配准模块,210.聚簇单元,220.过滤单元,230.中心计算单元,310.匹配单元,320.货架提取单元,500.移动机器人,510.存储器,520.处理器,530.计算机程序。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
在本发明的一个实施例中,如图1所示,一种自动识别货架的方法,包括:
步骤S100获取反映周围环境信息的点云数据。
具体的,机器人在行走过程中通过激光雷达扫描来了解周围环境,获取前方物体信息,前方物体可能是货架、墙面、过往行人等。
点云数据(Point Cloud Data,简称PCD),是指通过激光雷达扫描所取得的一种数据文件,该数据文件以点的型式记录,每一个点除了包含几何位置,可能还有强度信息,该强度信息根据激光雷达采集到的回波强度得到。
本实施例采用二维激光雷达采集点云数据,根据采集到的点云数据识别前方物体是否是货架腿部,根据货架腿部再进一步识别货架。为了准确采集货架腿部的数据信息,需要激光雷达水平安装在机器人进入货架的一侧,例如机器人向前移动进入货架,则安装在前方,安装高度适当,不高于货架腿部长度,以便激光水平扫描时能扫描到货架腿部。
机器人每次激光扫描有一定范围,这个因机器人而异,有的能360°扫描,有的只能小于180°范围扫描。为了避免货架不在机器人激光探测范围,比如,因机器人与货架的相对位置不当导致货架的某些腿部被遮挡而不能被激光扫描到,优选每次360°扫描获取反映周围环境信息的点云数据,针对每次扫描范围有限的机器人,通过原地旋转完成360°扫描。
步骤S200对所述点云数据进行预处理,得到疑似货架腿部的中心点集。
具体的,点云数据的数据量与扫描距离相关,同一个物体,远距离扫描获得的数据量少,近距离扫描数据量多。比如,一轮360°扫描共发出1000次激光,每轮获得一组数据,一个10cm宽的货架腿部,机器人在距离3米处扫描,对应该货架腿部约5个点;如果机器人在距离50厘米处扫描,对应该货架腿部约35个点。但是35个点并没有比5个点带来更多的信息量,所以需要对获取的点云数据做预处理。
首先对点云数据进行聚类处理,把多个密集的点聚集为一个簇。可以采用多种聚类方法,比如K-均值聚类法、均值漂移聚类法、基于密度的聚类方法等,得到若干簇。
然后根据簇内点云数量剔除明确非货架腿部的簇,比如簇内点云数量很少的簇(比如只有1、2个点,高概率是激光误差产生的噪声)、簇内点云数量很多的簇(比如100个点,远比货架腿部粗),保留可能是货架腿部的簇(即疑似货架腿部的簇)。
对剩下的簇,用每个簇的中心一个点代替整个簇,所有的簇中心构成了疑似货架腿部的中心点集,这样可以降低点云数据量,有效降低后续处理运算量。
步骤S300根据预先构建的货架模型点集,对所述中心点集进行粗配准,粗配准后提取一个单货架点集。
具体的,货架模型点集是对激光高度的货架腿部进行俯视图模型建立,或简单理解,是依据货架的底部示意图建立。可以以货架中心为坐标原点建立二维平面坐标,按照实际货架尺寸得到货架每个腿的中心点的坐标位置,所有腿的中心点的坐标位置构成了该货架模型点集。也可以以某个货架腿的中心为坐标原点,建立其他腿的中心点的坐标位置,从而得到该货架模型点集,此处不做限制。
当中心点集不为空,或满足预设最小数据量时进行粗配准。粗配准是指用货架模型点集去匹配疑似货架腿部的中心点集,识别中心点集中是否存在能构成近似货架模型的子点集。匹配方法可以采用RANSAC(RANdom SAmple Consensus,随机抽样一致)算法,它从中心点集中找出一组与货架模型点集的匹配度达到预设要求的点集,从而获得一个单货架的大概位置;提取该单货架大概位置处的点集,即得到一个单货架点集。
RANSAC算法可以从一组包含“局外点”的观测数据集中,通过迭代方式估计出数学模型的参数;局外点是指无法适应数学模型的数据,比如数据噪声。在本实施例中,观测数据集是指疑似货架腿部的中心点集,数学模型是指货架模型。
粗配准仅仅是找到货架的大概位置,尚不能满足精度要求(比如1cm误差),所以后续还要做精配准以降低误差。精配准比较耗时,为了降低精配准的运算量,从中心点集中提取一个单货架点集进行精配准,从而提高***的实时性。
步骤S400根据货架腿部特征对所述单货架点集进行精配准;
步骤S500当所述单货架点集与所述货架腿部特征匹配时,识别出一个货架,并计算货架底部中心位置。
具体的,货架腿部特征包括货架腿部几何特征,比如,如图7所示,1-6点表示6个腿部,C点表示货架中心点,1-2、2-3、4-5、5-6之间的距离为t1,1-4、3-6之间的距离为t3;该货架底部在货架中心点左右各有3个点,分别对应3条腿,该货架腿部几何特征为:存在六点同时满足以下特征:
1)六点构成了一个长方形,其一边距离为2*t1,另一边距离为t3;
2)一边有三个共线的点,每两点之间距离为t1。
若存在6个点同时满足以上特征,则包含这6个点的单货架点集对应一个实际的货架。
精配准是对单货架点集与货架腿部特征做精细的匹配,判断单货架点集中是否存在满足货架腿部特征的点集数据。沿用上述示例,精配准就是搜索单货架点集,判断其中是否存在6个满足上述几何特征的点,如果存在,则认为该单货架点集对应一个实际的货架。
货架腿部特征,除了货架腿部几何特征,还可以包括其他特征,比如,在图7的1、4点再贴上反光纸,贴有反光纸的腿部的反光强度会比较高,根据该光强度特征可快速识别出1、4点,再结合前述的腿部几何特征,识别出货架。
当判断单货架点集为实际货架时,根据单货架点集中的点的位置、以及货架腿部几何特征,可以计算出货架底部中心点的位置。如图7所示,即根据t1、t3、1-6点的位置,可以算出中心点C的位置。
根据货架底部中心位置,可进一步确定进入货架底部的路径。当到达货架底部中心位置时,可认为机器人到达货架装载位置,此时机器人可进行货架装载动作。
当然,也可以在识别出一个货架后,用剩下的中心点集数据替代中心点集数据,重复步骤300-500,继续查找货架,直至所有原始的中心点集数据都处理完,然后根据预设的搬运规则去搬运货架,比如,从原始的中心点集数据中获取了2个货架,按照就近原则搬移距离机器人最近的一个货架。
本实施例通过激光扫描识别货架腿部支架,通过货架模型点集、货架腿部特征精准识别出货架,从而准确计算出货架底部中心位置。这样可以支持货架的随意摆放,也不需要在货架底部安装导引器件,简化了操作。
在本发明的另一个实施例中,如图2所示,一种自动识别货架的方法,包括:
步骤S100获取反映周围环境信息的点云数据。
步骤S210对所述点云数据进行聚簇处理,得到至少一个簇;
步骤S220根据所述簇的簇内点云数量,过滤非货架腿部簇;
步骤S230对剩下的簇,计算每个簇的中心点,并将所有的中心点构成中心点集。
具体的,聚簇处理即聚类处理。可以采用多种聚类方法,比如K-均值聚类法,对点云数据进行聚类处理,也可以简单处理:将预设半径r范围内的点云数据作为一个簇,如果该簇***的点与该簇中一个点的距离小于等于r,则该点也加入该簇,r根据经验设置(比如2cm)。
在得到簇集S后,进行初步的过滤,剔除明确非货架腿部的簇,将所有簇内点云数量小于m,大于n的簇从簇集S中移除,得到簇集S1,其中m、n根据经验得到(比如m=2,n=50,可结合货架腿部的长、宽设置),小于m代表该簇可能是激光误差产生的噪声,大于n代表该簇比要检测的货架腿部粗很多,不会是货架。对剩下的簇,计算每个簇的簇中心坐标,再用簇中心一个点代替整个簇,所有的簇中心构成了中心点集。
步骤S310对所述中心点集与预先构建的货架模型点集进行匹配;
步骤S330判断所述中心点集是否存在一个候选点集与所述货架模型点集匹配;
步骤S340当所述中心点集存在一个候选点集与所述货架模型点集匹配时,根据所述候选点集与所述货架模型点集得到目标变换矩阵。
具体的,中心点集与货架模型点集是不同的二维坐标系下的数据,中心点集所在的坐标系是基于机器人,比如以激光扫描点为原点的坐标系;货架模型点集所在的坐标系是基于货架本身,比如,以货架底部中心为原点的坐标系。中心点集与货架模型点集进行匹配,就是要对两个不同坐标系下的数据进行配准,是点集到模型的配准。
采用RANSAC算法+ICP算法,对中心点集与货架模型点集进行匹配。通过RANSAC算法,从中心点集中找到一个与货架模型点集粗匹配的子点集,根据该子点集与货架模型点集得到ICP算法的初始的旋转平移矩阵,利用ICP算法再做进一步的匹配。采用一个相对靠谱的初始的旋转平移矩阵,相对一个随机生成的初始的旋转平移矩阵,可以提高ICP算法的匹配速度。
如下公式所示,ICP(IterativeClosestPoint,迭代最近点)算法的目的是要找到源点云与目标点云之间的旋转平移矩阵,使得两点数据之间满足某种度量准则下的最优匹配。
pt=R*ps+T
其中,pt、ps是目标点云与源点云中的一对对应点,旋转参数R与平移参数T构成旋转平移矩阵。
配准步骤如下:
假设两个二维点集:中心点集C(相当于源点云数据)、货架模型点集K(相当于目标点云数据)。
步骤一,用初始的旋转平移矩阵对点集C进行变换,得到一个变换点集;
步骤二,在这个变换点集中找到点集K中每个点的对应近点,点集K中每个点与其对应近点构成了对应点对;求得使上述对应点对平均距离最小的刚体变换,即得到优化的旋转平移矩阵;
步骤三,采用优化的旋转平移矩阵对点集C进行变换,得到新的变换点集;
步骤四,如果新的变换点集与点集K之间的最小平均距离小于某一给定阈值,则停止迭代计算,否则用新的变换点集替换变换点集,重复步骤二、三、四继续迭代。
当停止迭代时,最后所采用的旋转平移矩阵即目标变换矩阵。
步骤S350根据所述货架模型点集得到同一坐标系下的货架提取框,所述货架提取框包含所述货架模型点集,且与所述货架模型点集中心点重合。
具体的,货架模型点集仅包含了货架腿部点的坐标位置,实际货架的框架往往比货架腿部更宽,因此,在货架模型点集基础上,建立一个不小于货架轮廓的货架提取框,同时也防止把构成货架模型的有效数据排除了。
步骤S360根据所述目标变换矩阵得到所述货架提取框在所述中心点集的坐标系下的对应框,用所述对应框从所述中心点集中提取一个单货架点集。
具体的,根据目标变换矩阵,将货架提取框从货架模型点集的坐标系转换到中心点集的坐标系,得到对应框,并用该对应框从中心点集中提取一个单货架点集。该单货架点集不仅包括了货架腿部点的数据,还包括了该货架框架下的噪声数据,所以设置货架提取框可以减少对剩下的中心点集数据分析的干扰。
步骤S400根据货架腿部特征对所述单货架点集进行精配准;
步骤S500当所述单货架点集与所述货架腿部特征匹配时,识别出一个货架,并计算货架底部中心位置。
本实施例提供了一种具体方法从中心点集提取出一个与货架模型点集匹配的单货架,再根据货架腿部特征精准识别该单货架,准确计算出货架底部中心位置。这样可以支持货架的随意摆放,也不需要在货架底部安装导引器件。
在本发明的另一个实施例中,如图3所示,一种自动识别货架的方法,包括:
步骤S100获取反映周围环境信息的点云数据;
步骤S210对所述点云数据进行聚簇处理,得到至少一个簇;
步骤S220根据所述簇的簇内点云数量,过滤非货架腿部簇;
步骤S230对剩下的簇,计算每个簇的中心点,并将所有的中心点构成中心点集。
步骤S320采用迭代最近点算法对所述中心点集和预先构建的货架模型点集进行匹配。
具体的,鉴于本发明是2维点云,没有3维点云计算量大,本实施例直接采用ICP算法进行中心点集和货架模型点集的匹配。
步骤S330判断所述中心点集是否存在一个候选点集与所述货架模型点集匹配;
步骤S340当所述中心点集存在一个候选点集与所述货架模型点集匹配时,根据所述候选点集与所述货架模型点集得到目标变换矩阵;
步骤S350根据所述货架模型点集得到同一坐标系下的货架提取框,所述货架提取框包含所述货架模型点集,且与所述货架模型点集中心点重合;
步骤S360根据所述目标变换矩阵得到所述货架提取框在所述中心点集的坐标系下的对应框,用所述对应框从所述中心点集中提取一个单货架点集。
步骤S410根据货架腿部几何特征对所述单货架点集进行精配准;
步骤S510当所述单货架点集与所述货架腿部几何特征匹配时,识别出一个货架,得到货架底部的关键点位置;
步骤S520根据所述关键点位置,得到货架底部中心位置。
具体的,货架腿部几何特征可根据具体货架预先抽取。如图7所示,该货架底部在货架中心点左右各有3个点,分别对应3条腿;最少点数的货架腿部几何特征为:存在四个点同时满足以下特征:1)有三点共线,并且每两点之间距离满足阈值t1,则称该特征为共线关系。2)其中一点与另外两点的所连线段之间构成一个特定的夹角为90°,并且两条线段长度分别满足阈值t1、t3,则称该特征为夹角关系。
若单货架点集中存在满足上述特征的四个点,即同时满足共线关系与夹角关系,则认为单货架点集与货架腿部特征已匹配上,该单货架点集对应一个实际的货架,满足上述特征的四个点又称为关键点。
沿用上述示例,寻找关键点的方法如下:对单货架点集中所有点之间的距离进行计算,比如,得到的距离值有t1,t2,t3...,tn。根据上述货架腿部几何特征(该特征关注距离t1,t3),提取其中满足t1、t3的所有点对,分别记为候选点对1、候选点对2。从候选点对1中随机选取一个点对[pi,pj](表明pi点与pj点的距离等效为t1),检测候选点对1中是否存在满足共线关系的点对[pj,ps]或点对[pi,ps],若存在则再在候选点对2中查找是否存在满足夹角关系的点对[pi,pw],若存在,则找到关键点pi、pj、ps、pw。根据这四个关键点的位置,可以计算出货架底部中心点的位置。
如图7所示,有货架底部有多组关键点,如点(1,2,3,4)、点(1,2,3,6)、点(1,4,5,6)、点(2,4,5,6)等。识别出任何一组关键点,都可以确认单货架点集与货架腿部特征已匹配上。根据其中任何一组关键点,都可以计算出货架底部中心点的位置。
根据机器人的尺寸和t1、t3的关系,可进一步选择合适的方向进入货架底部,比如,当机器人尺寸大于t1,或机器人尺寸虽然小于t1,但与t1比较接近时,而t3大于t1,则优选从t3侧进入,从t1进入与货架发生碰撞的风险较高。
本实施例提供了一种根据货架腿部几何特征精准识别货架的方法,而且采用了最少点数的腿部几何特征,根据该几何特征,即使机器人不能获取单个货架所有腿部点的信息也能准确识别出货架。
在本发明的一个实施例中,如图4所示,一种自动识别货架的装置,包括:
数据获取模块100,用于获取反映周围环境信息的点云数据。
具体的,机器人在行走过程中通过激光雷达扫描来了解周围环境,获取前方物体信息,前方物体可能是货架、墙面、过往行人等。
点云数据(Point Cloud Data,简称PCD),是指通过激光雷达扫描所取得的一种数据文件,该数据文件以点的型式记录,每一个点除了包含几何位置,可能还有强度信息,该强度信息根据激光雷达采集到的回波强度得到。
本实施例采用二维激光雷达采集点云数据,根据采集到的点云数据识别前方物体是否是货架腿部,根据货架腿部再进一步识别货架。为了准确采集货架腿部的数据信息,需要激光雷达水平安装在机器人进入货架的一侧,例如机器人向前移动进入货架,则安装在前方,安装高度适当,不高于货架腿部长度,以便激光水平扫描时能扫描到货架腿部。
机器人每次激光扫描有一定范围,这个因机器人而异,有的能360o扫描,有的只能小于180°范围扫描。为了避免货架不在机器人激光探测范围,比如,因机器人与货架的相对位置不当导致货架的某些腿部被遮挡而不能被激光扫描到,优选每次360°扫描获取反映周围环境信息的点云数据,针对每次扫描范围有限的机器人,通过原地旋转完成360°扫描。
数据预处理模块200,用于对所述点云数据进行预处理,得到疑似货架腿部的中心点集。
具体的,点云数据的数据量与扫描距离相关,同一个物体,远距离扫描获得的数据量少,近距离扫描数据量多。比如,一轮360°扫描共发出1000次激光,每轮获得一组数据,一个10cm宽的货架腿部,机器人在距离3米处扫描,对应该货架腿部约5个点;如果机器人在距离50厘米处扫描,对应该货架腿部约35个点。但是35个点并没有比5个点带来更多的信息量,所以需要对获取的点云数据做预处理。
首先对点云数据进行聚类处理,把多个密集的点聚集为一个簇。可以采用多种聚类方法,比如K-均值聚类法、均值漂移聚类法、基于密度的聚类方法等,得到若干簇。
然后根据簇内点云数量剔除明确非货架腿部的簇,比如簇内点云数量很少的簇(比如只有1、2个点,高概率是激光误差产生的噪声)、簇内点云数量很多的簇(比如100个点,远比货架腿部粗),保留可能是货架腿部的簇(即疑似货架腿部的簇)。
对剩下的簇,用每个簇的中心一个点代替整个簇,所有的簇中心构成了疑似货架腿部的中心点集,这样可以降低点云数据量,有效降低后续处理运算量。
粗配准模块300,用于根据预先构建的货架模型点集,对所述中心点集进行粗配准,粗配准后提取一个单货架点集。
具体的,货架模型点集是对激光高度的货架腿部进行俯视图模型建立,或简单理解,是依据货架的底部示意图建立。可以以货架中心为坐标原点建立二维平面坐标,按照实际货架尺寸得到货架每个腿的中心点的坐标位置,所有腿的中心点的坐标位置构成了该货架模型点集。也可以以某个货架腿的中心为坐标原点,建立其他腿的中心点的坐标位置,从而得到该货架模型点集,此处不做限制。
当中心点集不为空,或满足预设最小数据量时进行粗配准。粗配准是指用货架模型点集去匹配疑似货架腿部的中心点集,识别中心点集中是否存在能构成近似货架模型的子点集。匹配方法可以采用RANSAC(RANdom SAmple Consensus,随机抽样一致)算法,它从中心点集中找出一组与货架模型点集的匹配度达到预设要求的点集,从而获得一个单货架的大概位置;提取该单货架大概位置处的点集,即得到一个单货架点集。
RANSAC算法可以从一组包含“局外点”的观测数据集中,通过迭代方式估计出数学模型的参数;局外点是指无法适应数学模型的数据,比如数据噪声。在本实施例中,观测数据集是指疑似货架腿部的中心点集,数学模型是指货架模型。
粗配准仅仅是找到货架的大概位置,尚不能满足精度要求(比如1cm误差),所以后续还要做精配准以降低误差。精配准比较耗时,为了降低精配准的运算量,从中心点集中提取一个单货架点集进行精配准,从而提高***的实时性。
精配准模块400,用于根据货架腿部特征对所述单货架点集进行精配准;当所述单货架点集与所述货架腿部特征匹配时,识别出一个货架,并计算货架底部中心位置。
具体的,货架腿部特征包括货架腿部几何特征,比如,如图7所示,1-6点表示6个腿部,C点表示货架中心点,1-2、2-3、4-5、5-6之间的距离为t1,1-4、3-6之间的距离为t3;该货架底部在货架中心点左右各有3个点,分别对应3条腿,该货架腿部几何特征为:存在六点同时满足以下特征:
1)六点构成了一个长方形,其一边距离为2*t1,另一边距离为t3;
2)一边有三个共线的点,每两点之间距离为t1。
若存在6个点同时满足以上特征,则包含这6个点的单货架点集对应一个实际的货架。
精配准是对单货架点集与货架腿部特征做精细的匹配,判断单货架点集中是否存在满足货架腿部特征的点集数据。沿用上述示例,精配准就是搜索单货架点集,判断其中是否存在6个满足上述几何特征的点,如果存在,则认为该单货架点集对应一个实际的货架。
货架腿部特征,除了货架腿部几何特征,还可以包括其他特征,比如,在图7的1、4点再贴上反光纸,贴有反光纸的腿部的反光强度会比较高,根据该光强度特征可快速识别出1、4点,再结合前述的腿部几何特征,识别出货架。
当判断单货架点集为实际货架时,根据单货架点集中的点的位置、以及货架腿部几何特征,可以计算出货架底部中心点的位置。如图7所示,即根据t1、t3、1-6点的位置,可以算出中心点C的位置。
根据货架底部中心位置,可进一步确定进入货架底部的路径。当到达货架底部中心位置时,可认为机器人到达货架装载位置,此时机器人可进行货架装载动作。
当然,也可以在识别出一个货架后,用剩下的中心点集数据替代中心点集数据,重复步骤300-500,继续查找货架,直至所有原始的中心点集数据都处理完,然后根据预设的搬运规则去搬运货架,比如,从原始的中心点集数据中获取了2个货架,按照就近原则搬移距离机器人最近的一个货架。
本实施例通过激光扫描识别货架腿部支架,通过货架模型点集、货架腿部特征精准识别出货架,从而准确计算出货架底部中心位置。这样可以支持货架的随意摆放,也不需要在货架底部安装导引器件,简化了操作。
在本发明的另一个实施例中,如图5所示,一种自动识别货架的装置,包括:
数据获取模块100,用于获取反映周围环境信息的点云数据。
数据预处理模块200,用于对所述点云数据进行预处理,得到疑似货架腿部的中心点集。所述数据预处理模块200包括:
聚簇单元210,用于对所述点云数据进行聚簇处理,得到至少一个簇。
过滤单元220,用于根据所述簇的簇内点云数量,过滤非货架腿部簇。
中心计算单元230,用于对剩下的簇,计算每个簇的中心点,并将所有的中心点构成中心点集。
具体的,聚簇处理即聚类处理。可以采用多种聚类方法,比如K-均值聚类法,对点云数据进行聚类处理,也可以简单处理:将预设半径r范围内的点云数据作为一个簇,如果该簇***的点与该簇中一个点的距离小于等于r,则该点也加入该簇,r根据经验设置(比如2cm)。
在得到簇集S后,进行初步的过滤,剔除明确非货架腿部的簇,将所有簇内点云数量小于m,大于n的簇从簇集S中移除,得到簇集S1,其中m、n根据经验得到(比如m=2,n=50,可结合货架腿部的长、宽设置),小于m代表该簇可能是激光误差产生的噪声,大于n代表该簇比要检测的货架腿部粗很多,不会是货架。对剩下的簇,计算每个簇的簇中心坐标,再用簇中心一个点代替整个簇,所有的簇中心构成了中心点集。
粗配准模块300,用于根据预先构建的货架模型点集,对所述中心点集进行粗配准,粗配准后提取一个单货架点集。所述粗配准模块300包括:
匹配单元310,用于对所述中心点集与预先构建的货架模型点集进行匹配;以及,判断所述中心点集是否存在一个候选点集与所述货架模型点集匹配;当所述中心点集存在一个候选点集与所述货架模型点集匹配时,根据所述候选点集与所述货架模型点集得到目标变换矩阵。
具体的,中心点集与货架模型点集是不同的二维坐标系下的数据,中心点集所在的坐标系是基于机器人,比如以激光扫描点为原点的坐标系;货架模型点集所在的坐标系是基于货架本身,比如,以货架底部中心为原点的坐标系。中心点集与货架模型点集进行匹配,就是要对两个不同坐标系下的数据进行配准,是点集到模型的配准。
采用RANSAC算法+ICP算法,对中心点集与货架模型点集进行匹配。通过RANSAC算法,从中心点集中找到一个与货架模型点集粗匹配的子点集,根据该子点集与货架模型点集得到ICP算法的初始的旋转平移矩阵,利用ICP算法再做进一步的匹配。采用一个相对靠谱的初始的旋转平移矩阵,相对一个随机生成的初始的旋转平移矩阵,可以提高ICP算法的匹配速度。
如下公式所示,ICP(IterativeClosestPoint,迭代最近点)算法的目的是要找到源点云与目标点云之间的旋转平移矩阵,使得两点数据之间满足某种度量准则下的最优匹配。
pt=R*ps+T
其中,pt、ps是目标点云与源点云中的一对对应点,旋转参数R与平移参数T构成旋转平移矩阵。
配准步骤如下:
假设两个二维点集:中心点集C(相当于源点云数据)、货架模型点集K(相当于目标点云数据)。
步骤一,用初始的旋转平移矩阵对点集C进行变换,得到一个变换点集;
步骤二,在这个变换点集中找到点集K中每个点的对应近点,点集K中每个点与其对应近点构成了对应点对;求得使上述对应点对平均距离最小的刚体变换,即得到优化的旋转平移矩阵;
步骤三,采用优化的旋转平移矩阵对点集C进行变换,得到新的变换点集;
步骤四,如果新的变换点集与点集K之间的最小平均距离小于某一给定阈值,则停止迭代计算,否则用新的变换点集替换变换点集,重复步骤二、三、四继续迭代。
当停止迭代时,最后所采用的旋转平移矩阵即目标变换矩阵。
货架提取单元320,用于根据所述货架模型点集得到同一坐标系下的货架提取框,所述货架提取框包含所述货架模型点集,且与所述货架模型点集中心点重合;以及,根据所述目标变换矩阵得到所述货架提取框在所述中心点集的坐标系下的对应框,用所述对应框从所述中心点集中提取一个单货架点集。
具体的,货架模型点集仅包含了货架腿部点的坐标位置,实际货架的框架往往比货架腿部更宽,因此,在货架模型点集基础上,建立一个不小于货架轮廓的货架提取框,同时也防止把构成货架模型的有效数据排除了。
根据目标变换矩阵,将货架提取框从货架模型点集的坐标系转换到中心点集的坐标系,得到对应框,并用该对应框从中心点集中提取一个单货架点集。该单货架点集不仅包括了货架腿部点的数据,还包括了该货架框架下的噪声数据,所以设置货架提取框可以减少对剩下的中心点集数据分析的干扰。
精配准模块400,用于根据货架腿部特征对所述单货架点集进行精配准;当所述单货架点集与所述货架腿部特征匹配时,识别出一个货架,并计算货架底部中心位置。
本实施例提供了一种具体方法从中心点集提取出一个与货架模型点集匹配的单货架,再根据货架腿部特征精准识别该单货架,准确计算出货架底部中心位置。这样可以支持货架的随意摆放,也不需要在货架底部安装导引器件。
在本发明的另一个实施例中,如图5所示,一种自动识别货架的装置,包括:
数据获取模块100,用于获取反映周围环境信息的点云数据。
数据预处理模块200,用于对所述点云数据进行预处理,得到疑似货架腿部的中心点集。所述数据预处理模块200包括:
聚簇单元210,用于对所述点云数据进行聚簇处理,得到至少一个簇。
过滤单元220,用于根据所述簇的簇内点云数量,过滤非货架腿部簇。
中心计算单元230,用于对剩下的簇,计算每个簇的中心点,并将所有的中心点构成中心点集。
粗配准模块300,用于根据预先构建的货架模型点集,对所述中心点集进行粗配准,粗配准后提取一个单货架点集。所述粗配准模块300包括:
匹配单元310,用于采用迭代最近点算法对所述中心点集和预先构建的货架模型点集进行匹配;以及,判断所述中心点集是否存在一个候选点集与所述货架模型点集匹配;当所述中心点集存在一个候选点集与所述货架模型点集匹配时,根据所述候选点集与所述货架模型点集得到目标变换矩阵。
具体的,鉴于本发明是2维点云,没有3维点云计算量大,本实施例直接采用ICP算法进行中心点集和货架模型点集的匹配。
货架提取单元320,用于根据所述货架模型点集得到同一坐标系下的货架提取框,所述货架提取框包含所述货架模型点集,且与所述货架模型点集中心点重合;以及,根据所述目标变换矩阵得到所述货架提取框在所述中心点集的坐标系下的对应框,用所述对应框从所述中心点集中提取一个单货架点集。
精配准模块400,用于根据货架腿部几何特征对所述单货架点集进行精配准;以及,当所述单货架点集与所述货架腿部几何特征匹配时,识别出一个货架,得到货架底部的关键点位置;根据所述关键点位置,得到货架底部中心位置。
具体的,货架腿部几何特征可根据具体货架预先抽取。如图7所示,该货架底部在货架中心点左右各有3个点,分别对应3条腿;最少点数的货架腿部几何特征为:存在四个点同时满足以下特征:1)有三点共线,并且每两点之间距离满足阈值t1,则称该特征为共线关系。2)其中一点与另外两点的所连线段之间构成一个特定的夹角为90°,并且两条线段长度分别满足阈值t1、t3,则称该特征为夹角关系。
若单货架点集中存在满足上述特征的四个点,即同时满足共线关系与夹角关系,则认为单货架点集与货架腿部特征已匹配上,该单货架点集对应一个实际的货架,满足上述特征的四个点又称为关键点。
沿用上述示例,寻找关键点的方法如下:对单货架点集中所有点之间的距离进行计算,比如,得到的距离值有t1,t2,t3...,tn。根据上述货架腿部几何特征(该特征关注距离t1,t3),提取其中满足t1、t3的所有点对,分别记为候选点对1、候选点对2。从候选点对1中随机选取一个点对[pi,pj](表明pi点与pj点的距离等效为t1),检测候选点对1中是否存在满足共线关系的点对[pj,ps]或点对[pi,ps],若存在则再在候选点对2中查找是否存在满足夹角关系的点对[pi,pw],若存在,则找到关键点pi、pj、ps、pw。根据这四个关键点的位置,可以计算出货架底部中心点的位置。
如图7所示,有货架底部有多组关键点,如点(1,2,3,4)、点(1,2,3,6)、点(1,4,5,6)、点(2,4,5,6)等。识别出任何一组关键点,都可以确认单货架点集与货架腿部特征已匹配上。根据其中任何一组关键点,都可以计算出货架底部中心点的位置。
根据机器人的尺寸和t1、t3的关系,可进一步选择合适的方向进入货架底部,比如,当机器人尺寸大于t1,或机器人尺寸虽然小于t1,但与t1比较接近时,而t3大于t1,则优选从t3侧进入,从t1进入与货架发生碰撞的风险较高。
本实施例提供了一种根据货架腿部几何特征精准识别货架的方法,而且采用了最少点数的腿部几何特征,根据该几何特征,即使机器人不能获取单个货架所有腿部点的信息也能准确识别出货架。
在本发明的另一个实施例中,如图6所示,一种移动机器人500,包括:
存储器510、处理器520以及存储在所述存储器中并可在所述处理器上运行的计算机程序530。所述处理器520运行所述计算机程序530时实现前面任一实施例所述的自动识别货架的方法的步骤。
作为一个示例,所述处理器执行计算机程序时实现根据前述记载的步骤S100至S500。
另外地,所述处理器执行计算机程序时实现前述记载的自动识别货架的装置中的各模块、单元的功能。作为又一个示例,所述处理器执行计算机程序时实现数据获取模块100、数据预处理模块200、粗配准模块300及精配准模块400的功能。
可选地,根据完成本发明的具体需要,所述计算机程序可以被分割为一个或多个模块/单元。每个模块/单元可以为能够完成特定功能的一系列计算机程序指令段。该计算机程序指令段用于描述所述计算机程序在自动识别货架的装置中的执行过程。作为示例,所述计算机程序可以被分割为虚拟装置中的各个模块/单元,譬如数据获取模块、数据预处理模块、粗配准模块及精配准模块。相应地,数据获取模块,用于获取反映周围环境信息的点云数据;数据预处理模块,用于对所述点云数据进行预处理,得到疑似货架腿部的中心点集;粗配准模块,用于根据预先构建的货架模型点集,对所述中心点集进行粗配准,粗配准后提取一个单货架点集;精配准模块,用于根据货架腿部特征对所述单货架点集进行精配准;当所述单货架点集与所述货架腿部特征匹配时,识别出一个货架,并计算货架底部中心位置。
所述处理器用于通过执行所述计算机程序从而实现自动识别货架。根据需要,所述处理器可以是中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、通用处理器或其他逻辑器件等。
所述存储器可以为任意能够实现数据、程序存储的内部存储单元和/或外部存储设备。譬如,所述存储器可以为插接式硬盘、智能存储卡(SMC)、安全数字(SD)卡或闪存卡等。所述存储器用于存储计算机程序、自动识别货架的装置的其他程序及数据。所述存储器还可以用于暂时存储已经输出或将要输出的数据。
本领域技术人员可以理解的是,上述用于实现相应功能的单元、模块的划分是出于便利于说明、叙述的目的,根据应用需求,将上述单元、模块做进一步的划分或者组合,即将装置/设备的内部结构重新进行划分、组合,以实现的上述记载的功能。上述实施例中的各个单元、模块可以分别采用单独的物理单元,也可以将两个或两个以上的单元、模块集成在一个物理单元。上述实施例中的各个单元、模块可以采用硬件和/或软件功能单元的实现对应的功能。上述实施例中的多个单元、组件、模块之间可以的直接耦合、间接耦合或通讯连接可以通过总线或者接口实现;多个单元或装置的之间的耦合、连接,可以是电性、机械或类似的方式。相应地,上述实施例中的各个单元、模块的具体名称也只是为了便于叙述及区分,并不用于限制本申请的保护范围。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (8)

1.一种自动识别货架的方法,其特征在于,包括:
获取反映周围环境信息的点云数据;
对所述点云数据进行预处理,得到疑似货架腿部的中心点集;
根据预先构建的货架模型点集,对所述中心点集进行粗配准,粗配准后提取一个单货架点集;
根据货架腿部特征对所述单货架点集进行精配准;
当所述单货架点集与所述货架腿部特征匹配时,识别出一个货架,并计算货架底部中心位置;
所述的对所述点云数据进行预处理,得到疑似货架腿部的中心点集具体包括:
对所述点云数据进行聚类处理,得到至少一个簇;
根据所述簇的簇内点云数量,过滤非货架腿部簇;
对剩下的簇,计算每个簇的中心点,每个中心点代表一个疑似货架腿部,所有的中心点构成疑似货架腿部的中心点集。
2.根据权利要求1所述的自动识别货架的方法,其特征在于,所述的根据预先构建的货架模型点集,对所述中心点集进行粗配准,粗配准后提取一个单货架点集包括:
对所述中心点集与预先构建的货架模型点集进行匹配;
当所述中心点集存在一个候选点集与所述货架模型点集匹配时,根据所述候选点集与所述货架模型点集得到目标变换矩阵;
根据所述货架模型点集得到同一坐标系下的货架提取框,所述货架提取框包含所述货架模型点集,且与所述货架模型点集中心点重合;
根据所述目标变换矩阵得到所述货架提取框在所述中心点集的坐标系下的对应框,用所述对应框从所述中心点集中提取一个单货架点集。
3.根据权利要求2所述的自动识别货架的方法,其特征在于,所述的对所述中心点集与预先构建的货架模型点集进行匹配包括:
采用迭代最近点算法对所述中心点集和预先构建的货架模型点集进行匹配。
4.根据权利要求3所述的自动识别货架的方法,其特征在于:
所述的根据货架腿部特征对所述单货架点集进行精配准包括:根据货架腿部几何特征对所述单货架点集进行精配准;
所述的当所述单货架点集与所述货架腿部特征匹配时,识别出一个货架,并计算货架底部中心位置包括:
当所述单货架点集与所述货架腿部几何特征匹配时,识别出一个货架,得到货架底部的关键点位置;
根据所述关键点位置,得到货架底部中心位置。
5.一种自动识别货架的装置,其特征在于,包括:
数据获取模块,用于获取反映周围环境信息的点云数据;
数据预处理模块,用于对所述点云数据进行预处理,得到疑似货架腿部的中心点集;
粗配准模块,用于根据预先构建的货架模型点集,对所述中心点集进行粗配准,粗配准后提取一个单货架点集;
精配准模块,用于根据货架腿部特征对所述单货架点集进行精配准;当所述单货架点集与所述货架腿部特征匹配时,识别出一个货架,并计算货架底部中心位置;
所述数据预处理模块包括:
聚簇单元,用于对所述点云数据进行聚类处理,得到至少一个簇;
过滤单元,用于根据所述簇的簇内点云数量,过滤非货架腿部簇;
中心计算单元,用于对剩下的簇,计算每个簇的中心点,每个中心点代替一个疑似货架腿部,所有的中心点构成疑似货架腿部的中心点集。
6.根据权利要求5所述的自动识别货架的装置,其特征在于,所述粗配准模块包括:
匹配单元,用于对所述中心点集与预先构建的货架模型点集进行匹配;以及,当所述中心点集存在一个候选点集与所述货架模型点集匹配时,根据所述候选点集与所述货架模型点集得到目标变换矩阵;
货架提取单元,用于根据所述货架模型点集得到同一坐标系下的货架提取框,所述货架提取框包含所述货架模型点集,且与所述货架模型点集中心点重合;以及,根据所述目标变换矩阵得到所述货架提取框在所述中心点集的坐标系下的对应框,用所述对应框从所述中心点集中提取一个单货架点集。
7.根据权利要求6所述的自动识别货架的装置,其特征在于:
所述精配准模块,进一步用于根据货架腿部几何特征对所述单货架点集进行精配准;以及,当所述单货架点集与所述货架腿部几何特征匹配时,识别出一个货架,得到货架底部的关键点位置;根据所述关键点位置,得到货架底部中心位置。
8.一种移动机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时实现如权利要求1-4中任一项所述自动识别货架的方法的步骤。
CN201910386141.4A 2019-05-09 2019-05-09 一种自动识别货架的方法及装置、移动机器人 Active CN110135439B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910386141.4A CN110135439B (zh) 2019-05-09 2019-05-09 一种自动识别货架的方法及装置、移动机器人

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910386141.4A CN110135439B (zh) 2019-05-09 2019-05-09 一种自动识别货架的方法及装置、移动机器人

Publications (2)

Publication Number Publication Date
CN110135439A CN110135439A (zh) 2019-08-16
CN110135439B true CN110135439B (zh) 2021-05-04

Family

ID=67577058

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910386141.4A Active CN110135439B (zh) 2019-05-09 2019-05-09 一种自动识别货架的方法及装置、移动机器人

Country Status (1)

Country Link
CN (1) CN110135439B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112630786A (zh) * 2020-12-07 2021-04-09 兰剑智能科技股份有限公司 基于2d激光的agv缓存区盘点方法、装置及设备
CN112731445A (zh) * 2021-01-04 2021-04-30 上海木蚁机器人科技有限公司 一种货架识别定位方法、***、装置及可读存储介质
CN112960319B (zh) * 2021-01-29 2024-02-02 苏州寻迹智行机器人技术有限公司 一种利用反光单元辅助潜入顶升式agv钻入货架的方法
CN113213054B (zh) * 2021-05-12 2023-05-30 深圳市海柔创新科技有限公司 取放货装置的调整方法、装置、设备、机器人及仓储***
CN113253737B (zh) * 2021-06-21 2021-10-15 浙江华睿科技股份有限公司 货架检测方法及装置、电子设备、存储介质
CN113268066B (zh) * 2021-07-19 2021-11-12 福勤智能科技(昆山)有限公司 一种检测目标物的方法、装置、计算机设备及存储介质
CN113311844B (zh) * 2021-07-28 2021-11-12 福勤智能科技(昆山)有限公司 一种伺服控制方法、装置、计算机设备及存储介质
CN114234853A (zh) * 2021-11-19 2022-03-25 广东嘉腾机器人自动化有限公司 基于激光扫描的货架倾角测量方法、***、设备及介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1753830A (zh) * 2002-12-31 2006-03-29 Abb股份有限公司 用于货柜识别的***与方法
WO2016052379A1 (ja) * 2014-09-30 2016-04-07 日本電気株式会社 情報処理装置、棚札管理システム、制御方法、及びプログラム
CN105479461A (zh) * 2016-01-26 2016-04-13 先驱智能机械(深圳)有限公司 控制方法、控制装置及机械手***
CN106379684A (zh) * 2016-11-11 2017-02-08 杭州南江机器人股份有限公司 一种潜入式agv对接方法及***以及潜入式agv
JP2017157216A (ja) * 2016-02-29 2017-09-07 サインポスト株式会社 情報処理システム
CN107843220A (zh) * 2017-10-30 2018-03-27 江苏博睿通智能装备有限公司 立体仓库货架检测***和检测方法
CN107922119A (zh) * 2015-11-25 2018-04-17 株式会社日立制作所 货架配置***、搬运机器人以及货架配置方法
CN109573439A (zh) * 2018-12-27 2019-04-05 北京艾瑞思机器人技术有限公司 搬运机器人、货架、仓储***以及搬运货架的方法
CN109650292A (zh) * 2019-02-02 2019-04-19 北京极智嘉科技有限公司 一种智能叉车以及智能叉车的位置调整方法和介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105674991A (zh) * 2016-03-29 2016-06-15 深圳市华讯方舟科技有限公司 一种机器人定位方法和装置
CN108830902A (zh) * 2018-04-19 2018-11-16 江南大学 一种基于点云处理的散乱工件识别与定位方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1753830A (zh) * 2002-12-31 2006-03-29 Abb股份有限公司 用于货柜识别的***与方法
WO2016052379A1 (ja) * 2014-09-30 2016-04-07 日本電気株式会社 情報処理装置、棚札管理システム、制御方法、及びプログラム
CN107922119A (zh) * 2015-11-25 2018-04-17 株式会社日立制作所 货架配置***、搬运机器人以及货架配置方法
CN105479461A (zh) * 2016-01-26 2016-04-13 先驱智能机械(深圳)有限公司 控制方法、控制装置及机械手***
JP2017157216A (ja) * 2016-02-29 2017-09-07 サインポスト株式会社 情報処理システム
CN106379684A (zh) * 2016-11-11 2017-02-08 杭州南江机器人股份有限公司 一种潜入式agv对接方法及***以及潜入式agv
CN107843220A (zh) * 2017-10-30 2018-03-27 江苏博睿通智能装备有限公司 立体仓库货架检测***和检测方法
CN109573439A (zh) * 2018-12-27 2019-04-05 北京艾瑞思机器人技术有限公司 搬运机器人、货架、仓储***以及搬运货架的方法
CN109650292A (zh) * 2019-02-02 2019-04-19 北京极智嘉科技有限公司 一种智能叉车以及智能叉车的位置调整方法和介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Model-based furniture recognition for building semantic object maps;Martin Günther 等;《Artificial Intelligence》;20150105;336-351 *
自动化立体仓库搬运机器人精定位视觉***;刘存 等;《机器人》;19920930;第14卷(第5期);54-56页 *

Also Published As

Publication number Publication date
CN110135439A (zh) 2019-08-16

Similar Documents

Publication Publication Date Title
CN110135439B (zh) 一种自动识别货架的方法及装置、移动机器人
US10366310B2 (en) Enhanced camera object detection for automated vehicles
JP6605711B2 (ja) 計測システム及び計測方法
US10031231B2 (en) Lidar object detection system for automated vehicles
EP3809370A1 (en) Apparatus, method, and system for alignment of 3d datasets
Kang et al. Automatic targetless camera–lidar calibration by aligning edge with gaussian mixture model
JP4046835B2 (ja) 可動ロボットに対する距離データの高速面区分化方法
CN111612728B (zh) 一种基于双目rgb图像的3d点云稠密化方法和装置
CN110793512A (zh) 位姿识别方法、装置、电子设备和存储介质
CN111624622A (zh) 障碍物检测方法、装置
US11822340B2 (en) Method and system for obstacle avoidance in robot path planning using depth sensors
US11506755B2 (en) Recording medium recording information processing program, information processing apparatus, and information processing method
Al-Durgham et al. RANSAC approach for automated registration of terrestrial laser scans using linear features
CN114663526A (zh) 障碍物检测方法、装置、机器人及计算机可读存储介质
CN112269386A (zh) 对称环境重定位方法、装置及机器人
CN112581511B (zh) 基于近似直立扫描点云快速配准的三维重建方法及***
JP5210396B2 (ja) コンピュータを援用してセンサデータから物体の運動を計算する方法
WO2021220346A1 (ja) エレベーターの3次元データの処理装置
WO2021220345A1 (ja) エレベーターの3次元データの処理装置
CN110609561A (zh) 一种行人跟踪方法、装置、计算机可读存储介质及机器人
Xian et al. A review of fine registration for 3D point clouds
US20220327729A1 (en) Object positioning method and object positioning system
CN116295337A (zh) 面向自动驾驶的机器定位地图生成与机器泛在定位方法
Kang Automatic registration of terrestrial point cloud using panoramic reflectance images
CN112987029A (zh) 一种适用于驾驶设备的定位方法、***、设备及介质

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
TR01 Transfer of patent right

Effective date of registration: 20210806

Address after: 200335 Room 401, floor 4, building 2, No. 33, Guangshun Road, Changning District, Shanghai

Patentee after: Noah robot technology (Shanghai) Co.,Ltd.

Address before: 201400 room 2340, building 2, Lane 1800, Xinyang highway, Fengxian District, Shanghai

Patentee before: SHANGHAI MUMU JUCONG ROBOT TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right