手操器的定位方法、装置、存储介质及电子设备

文档序号:1533057 发布日期:2020-02-14 浏览:6次 >En<

阅读说明:本技术 手操器的定位方法、装置、存储介质及电子设备 (Positioning method and device of manual operator, storage medium and electronic equipment ) 是由 周志勇 朱虹 宋明岑 于 2019-10-23 设计创作,主要内容包括:本发明提供了一种手操器的定位方法、装置、存储介质及电子设备,所述方法包括:获取手操器所在区域的3D点云数据;从所述3D点云数据中提取所述手操器的点云数据;将所述手操器的点云数据与预设的模板点云数据进行配准,以确定所述手操器的位姿数据;根据所述位姿数据进行手操器的定位。本发明解决了由于手操器底部不平整无法保持其正面放置水平,进而导致机器人通过2D视觉定位的方法进行精准定位的问题,通过3D点云数据进行视觉定位,实现了机器人抓取过程中手操器的精准定位,使得生产线全自动化运行,提高生产效率。(The invention provides a positioning method and device of a manual operator, a storage medium and electronic equipment, wherein the method comprises the following steps: acquiring 3D point cloud data of an area where a manual operator is located; extracting point cloud data of the manual operator from the 3D point cloud data; registering the point cloud data of the manual operator with preset template point cloud data to determine pose data of the manual operator; and positioning the hand operator according to the pose data. The invention solves the problem that the robot can be accurately positioned by a 2D vision positioning method because the bottom of the manual operator is uneven and the front of the manual operator can not be kept horizontal, and realizes the accurate positioning of the manual operator in the robot grabbing process by performing the vision positioning through the 3D point cloud data, so that the production line runs automatically, and the production efficiency is improved.)

手操器的定位方法、装置、存储介质及电子设备

技术领域

本发明涉及计算机技术领域,尤其涉及一种手操器的定位方法、装置、存储介质及电子设备。

背景技术

随着自动化生产的需求,生产设备越来越多,为了提高效率和产量,自动化上下料成为必不可少的生产线配套设备,手操器自动化视觉检测设备是实现自动化生产必不可少的部分。

目前,手操器自动化视觉检测设备需要皮带线将手操器运送到固定位置,机器人通过视觉定位将其抓取到固定的托盘上进行下一步检测。但是手操器底部并不平整,在皮带线上的姿态各异,无法通过2D视觉定位的方法进行精准的抓取。

发明内容

本发明的目的在于克服上述技术问题,提供一种手操器的定位方法、装置、存储介质及电子设备。

本发明的一个方面,提供了一种手操器的定位方法,所述方法包括:

获取手操器所在区域的3D点云数据;

从所述3D点云数据中提取所述手操器的点云数据;

将所述手操器的点云数据与预设的模板点云数据进行配准,以确定所述手操器的位姿数据;

根据所述位姿数据进行手操器的定位。

可选地,所述从所述3D点云数据中提取所述手操器的点云数据,包括:

对所述3D点云数据进行滤波处理;

对滤波处理后的3D点云数据进行边界估计,得到所述手操器的边界;

通过区域增长算法对所述手操器的边界内的点云数据进行聚类,以从所述3D点云数据中分割出所述手操器的点云数据。

可选地,所述对所述3D点云数据进行滤波处理,包括:

采用体素网格滤波算法对所述3D点云数据进行滤波处理。

可选地,所述将所述手操器的点云数据与预设的模板点云数据进行配准,以确定所述手操器的位姿数据,包括:

采用迭代最近邻算法对所述手操器的点云数据与预设的模板点云数据进行匹配,以确定所述手操器的位姿数据。

可选地,所述采用迭代最近邻算法对所述手操器的点云数据与预设的模板点云数据进行匹配,包括:

对所述手操器的点云数据进行采样,得到采样数据集;

从所述模板点云数据中提取与所述采样数据集中点云数据对应的关键点云数据;

计算将所述采样数据集中点云数据转换为对应的关键点云数据的旋转矩阵和平移矢量;

根据所述旋转矩阵和平移矢量确定所述手操器的位姿数据。

可选地,所述从所述模板点云数据中提取与所述采样数据集中点云数据对应的关键点云数据,包括:

提取模板点云数据中与所述采样数据集中点云数据对应的目标点云数据;

从所述目标点云数据中提取与所述采样数据集中对应点云数据满足特征和位置的相似度条件的点云数据。

本发明的另一个方面,提供了一种手操器的定位装置,所述装置包括:

获取模块,用于获取手操器所在区域的3D点云数据;

提取模块,用于从所述3D点云数据中提取所述手操器的点云数据;

配准模块,用于将所述手操器的点云数据与预设的模板点云数据进行配准,以确定所述手操器的位姿数据;

定位模块,用于根据所述位姿数据进行手操器的定位。

可选地,所述提取模块,包括:

滤波单元,用于对所述3D点云数据进行滤波处理;

边界估计单元,用于对滤波处理后的3D点云数据进行边界估计,得到所述手操器的边界;

聚类单元,用于通过区域增长算法对所述手操器的边界内的点云数据进行聚类,以从所述3D点云数据中分割出所述手操器的点云数据。

可选地,所述配准模块,具体用于采用迭代最近邻算法对所述手操器的点云数据与预设的模板点云数据进行匹配,以确定所述手操器的位姿数据。

可选地,所述配准模块,包括:

采样单元,用于对所述手操器的点云数据进行采样,得到采样数据集;

提取单元,用于从所述模板点云数据中提取与所述采样数据集中点云数据对应的关键点云数据;

第一计算单元,用于计算将所述采样数据集中点云数据转换为对应的关键点云数据的旋转矩阵和平移矢量;

第二计算单元,用于根据所述旋转矩阵和平移矢量计算所述手操器的位姿数据。

可选地,所述提取单元,具体用于提取模板点云数据中与所述采样数据集中点云数据对应的目标点云数据;从所述目标点云数据中提取与所述采样数据集中对应点云数据满足特征和位置的相似度条件的点云数据。

此外,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述方法的步骤。

此外,本发明还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述方法的步骤。

本发明实施例提供的手操器的定位方法、装置、存储介质及电子设备,解决了由于手操器底部不平整无法保持其正面放置水平,进而导致机器人通过2D视觉定位的方法进行精准定位的问题,通过3D点云数据进行视觉定位,实现了机器人抓取过程中手操器的精准定位,使得生产线全自动化运行,提高生产效率。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的

具体实施方式

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为本发明实施例提供的手操器的定位方法的流程示意图;

图2为本发明实施例提供的手操器的定位方法中步骤S12的内部流程示意图;

图3为本发明实施例的手操器的定位装置的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。

图1示意性示出了本发明一个实施例的手操器的定位方法的流程图。参照图1,本发明实施例提出的手操器的定位方法具体包括步骤S11~S14,如下所示:

S11、获取手操器所在区域的3D点云数据。

本发明实施例中的手操器所在区域的3D点云数据是通过使用单目相机和结构光的方式利用三角测量法获得的点云数据。

S12、从所述3D点云数据中提取所述手操器的点云数据。

S13、将所述手操器的点云数据与预设的模板点云数据进行配准,以确定所述手操器的位姿数据。

模板点云数据是通过预先对按照正面水平放置的标准进行摆放的手操器采集的点云数据。

S14、根据所述位姿数据进行手操器的定位。

本发明实施例提供的手操器的定位方法,解决了由于手操器底部不平整无法保持其正面放置水平,进而导致机器人通过2D视觉定位的方法进行精准定位的问题,通过3D点云数据进行视觉定位,实现了机器人抓取过程中手操器的精准定位,使得生产线全自动化运行,提高生产效率。

在本发明实施例中,如图2所示,所述步骤S12记载的从所述3D点云数据中提取所述手操器的点云数据,具体包括以下步骤:

S121、对所述3D点云数据进行滤波处理。

其中,对所述3D点云数据进行滤波处理,具体包括采用体素网格滤波算法对所述3D点云数据进行滤波处理。

本发明实施例中,通过体素网格滤波算法实现下采样的方法滤掉一些杂乱的点云数据,使用体素化网格方法实现下采样,能够减少点的数量,减少点云数据,并同时保持点云的形状特征,有助于提高配准精度。在一个具体示例中,可以使用PCL点云库来实现该算法,PCL实现的VoxelGrid类通过输入的点云数据创建一个三维体素栅格,然后再每个体素内,用体素中所有点的重心来近似显示体素中其他点,这样该体素内所有的点就用一个重心点最终表示,对于所有体素处理后得到过滤后的点云。本实施例能够有效去除点云数据中离被测物体较远的点,即离群点,保证后续点云数据处理不受环境噪声的干扰,进而提高程序的处理速度。

S122、对滤波处理后的3D点云数据进行边界估计,得到所述手操器的边界。

本实施例中,首先由滤波后的点云数据估计出法线,再由法线和点云数据估计出边界。具体的,确定输入的点云数据,由于边界估计需要依赖于法线,需要预先设置边界估计的法线,此外,还需要预先设置边界估计所需要的半径,边界估计时的角度阈值,最终根据设置的搜索方式kdtree,将边界估计保存。

S123、通过区域增长算法对所述手操器的边界内的点云数据进行聚类,以从所述3D点云数据中分割出所述手操器的点云数据。

本实施例中,提取到手操器边界后通过区域增长的方式将手操器聚类分割出来,以去除背景杂乱特征。该算法是基于点法线之间角度的比较,将满足平滑约束的相邻点合并在一起,以一簇点集的形式输出,每簇点集被认为是属于相同平面。区域增长是从有最小曲率值的点开始的,因此必须计算出所有曲率值,并对它们进行排序。这是因为曲率最小的点位于平坦区域,而从最平坦的区域增长可以减少区域的总数。在一个具体示例中,通过区域增长算法实现聚类具体包括以下流程:(1)点云中有未标记点,按照点的曲率值对点进行排序,找到最小曲率值点,并把它添加到种子点集;(2)对于每个种子点,算法都会发现周边的所有近邻点。(3)计算每个近邻点与当前种子点的法线角度差,如果差值小于设置的阈值,则该近邻点被重点考虑,进行第二步测试;(4)该近邻点通过了法线角度差检验,如果它的曲率小于我们设定的阈值,这个点就被添加到种子点集,即属于当前平面。(5)通过两次检验的点,被从原始点云去除。(6)设置最小点簇的点数min,最大点簇max;重复1-3步,算法会生成点数在min和max的所有平面,并对不同平面标记不同颜色加以区分。(7)直到算法在剩余点中生成的点簇不能满足min,算法停止工作。

在本发明实施例中,所述将所述手操器的点云数据与预设的模板点云数据进行配准,以确定所述手操器的位姿数据,包括:采用迭代最近邻算法对所述手操器的点云数据与预设的模板点云数据进行匹配,以确定所述手操器的位姿数据。

具体实现包括如下附图中未示出的步骤:

S131、对所述手操器的点云数据进行采样,得到采样数据集。

S132、从所述模板点云数据中提取与所述采样数据集中点云数据对应的关键点云数据。其中,从所述模板点云数据中提取与所述采样数据集中点云数据对应的关键点云数据,具体包括:提取模板点云数据中与所述采样数据集中点云数据对应的目标点云数据;从所述目标点云数据中提取与所述采样数据集中对应点云数据满足特征和位置的相似度条件的点云数据。

S133、计算将所述采样数据集中点云数据转换为对应的关键点云数据的旋转矩阵和平移矢量。

S134、根据所述旋转矩阵和平移矢量确定所述手操器的位姿数据。

本实施例中,使用迭代最近邻点的配准方式进行手操器点云数据匹配,该匹配方法包括有以下几个实现步骤,首先是对分割出来的手操器的点云数据进行采样,减少数据量,其次是确定初始对应点集,即模板点云数据和需要与模板配准的手操器点云数据按照同样的点选取标准提取出来的点集,对选择的所有点云数据分别计算其特征描述子,结合特征描述子在两个数据集中的坐标位置,以二者之间特征和位置的相似度为基础,来估算它们的对应关系,初步估计对应点对。然后去除对配准有影响的错误的对应点对。最后进行坐标变换的求解得出手操器的位姿。将手操器点集通过最小二乘法迭代计算最优的坐标变换,即旋转矩阵和平移矢量,使得误差函数最小。此旋转矩阵和平移矢量可以使手操器点集旋转到模板点集,求解出其相对于模板的位姿,以便根据所述位姿数据进行准确定位,并将定位信息发送给机器人实现抓取。

本发明实施例提供的手操器的定位方法,通过使用手操器的3D点云数据进行三维特征处理,通过体素滤波进行下采样去除多余的点云数据,再通过区域增长的算法将手操器从复杂的背景中提取出来,最后通过迭代最近邻点配准方法确定手操器的坐标位置和姿态。本发明能够解决由于手操器底部不平整无法保持其正面放置水平进行机器人通过平面特征进行定位抓取的问题,可以替代人工,解决手操器生产过程半自动化状态,使得生产线全自动化,提高生产效率。

对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

图3示意性示出了本发明一个实施例的手操器的定位装置的结构示意图。参照图3,本发明实施例的手操器的定位装置具体包括获取模块201、提取模块202、配准模块203和定位模块204,其中:

获取模块201,用于获取手操器所在区域的3D点云数据;

提取模块202,用于从所述3D点云数据中提取所述手操器的点云数据;

配准模块203,用于将所述手操器的点云数据与预设的模板点云数据进行配准,以确定所述手操器的位姿数据;

定位模块204,用于根据所述位姿数据进行手操器的定位。

本发明实施例中,所述提取模块202,具体包括滤波单元、边界估计单元和聚类单元,其中:

滤波单元,用于对所述3D点云数据进行滤波处理;

边界估计单元,用于对滤波处理后的3D点云数据进行边界估计,得到所述手操器的边界;

聚类单元,用于通过区域增长算法对所述手操器的边界内的点云数据进行聚类,以从所述3D点云数据中分割出所述手操器的点云数据。

其中,所述的滤波单元,具体用于采用体素网格滤波算法对所述3D点云数据进行滤波处理。

本发明实施例中,所述配准模块203,具体用于采用迭代最近邻算法对所述手操器的点云数据与预设的模板点云数据进行匹配,以确定所述手操器的位姿数据。

进一步地,所述配准模块203,具体包括采样单元、提取单元、第一计算单元和第二计算单元,其中:

采样单元,用于对所述手操器的点云数据进行采样,得到采样数据集;

提取单元,用于从所述模板点云数据中提取与所述采样数据集中点云数据对应的关键点云数据;

第一计算单元,用于计算将所述采样数据集中点云数据转换为对应的关键点云数据的旋转矩阵和平移矢量;

第二计算单元,用于根据所述旋转矩阵和平移矢量计算所述手操器的位姿数据。

进一步地,所述提取单元,具体用于提取模板点云数据中与所述采样数据集中点云数据对应的目标点云数据;从所述目标点云数据中提取与所述采样数据集中对应点云数据满足特征和位置的相似度条件的点云数据。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

本发明实施例提供的手操器的定位方法、装置,解决了由于手操器底部不平整无法保持其正面放置水平,进而导致机器人通过2D视觉定位的方法进行精准定位的问题,通过3D点云数据进行视觉定位,实现了机器人抓取过程中手操器的精准定位,使得生产线全自动化运行,提高生产效率。

此外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述方法的步骤。

本实施例中,所述手操器的定位装置集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

本发明实施例提供的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述各个手操器的定位方法实施例中的步骤,例如图1所示的S11、获取手操器所在区域的3D点云数据;S12、从所述3D点云数据中提取所述手操器的点云数据;S13、将所述手操器的点云数据与预设的模板点云数据进行配准,以确定所述手操器的位姿数据;S14、根据所述位姿数据进行手操器的定位。或者,所述处理器执行所述计算机程序时实现上述各手操器的定位装置实施例中各模块/单元的功能,例如图3所示的获取模块201、提取模块202、配准模块203和定位模块204。

示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述手操器的定位装置中的执行过程。例如,所述计算机程序可以被分割成获取模块201、提取模块202、配准模块203和定位模块204。

所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是中心,利用各种接口和线路连接整个电子设备的各个部分。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述电子设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于模糊熵和人工鱼群算法的低速冲击位置辨识方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!