CN113524194A - 基于多模特征深度学习的机器人视觉抓取系统的目标抓取方法 - Google Patents
基于多模特征深度学习的机器人视觉抓取系统的目标抓取方法 Download PDFInfo
- Publication number
- CN113524194A CN113524194A CN202110900461.4A CN202110900461A CN113524194A CN 113524194 A CN113524194 A CN 113524194A CN 202110900461 A CN202110900461 A CN 202110900461A CN 113524194 A CN113524194 A CN 113524194A
- Authority
- CN
- China
- Prior art keywords
- workpiece
- target
- matrix
- grabbing
- camera
- 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
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1612—Programme controls characterised by the hand, wrist, grip control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
Abstract
本发明公开了一种基于多模特征深度学习的机器人视觉抓取系统的目标抓取方法,包括以下步骤:初始化视觉抓取系统中的双目视觉平台以及工业机械臂;双目视觉平台的两个相机同时对物料框拍摄照片,将照片反馈控制器,识别照片中的工件目标,并获得中心点像素坐标,分割工件目标轮廓和外界环境,将识别到的目标的区域中心点像素坐标换到机械臂坐标系;结合双目相机系统,经过三维立体重构获取工件目标深度;建立机器人正、逆运动学模型(D‑H),对工件目标进行抓取,将工件目标摆放到指定位置。计算机自动控制,使抓取更智能化;通过训练好的卷积神经网络模型,抓取工件组件更稳定、精准;CNN共享卷积核,处理高维数据、提取图像特征能力强。
Description
技术领域
本发明涉及卷积神经网络目标识别算法、6自由度工业机器人技术领域,具体的说是一种基于多模特征深度学习的机器人视觉抓取系统的目标抓取方法。
背景技术
随着经济的发展与科技的进步,人们越来越多地将自动化技术应用到生产与生活中,与此同时,也对自动化技术提出了更高的要求。近十年来,工业机器人的普及使得机器人自动化得到了更广泛的应用和关注。很多机器人系统已经集成了视觉系统,利用机器视觉技术实现检测、识别、定位等功能,为后续的机器人运动提供必要的信息。
在许多自动化应用场合中,如自动化分拣、装配、拆垛、码垛、上料等过程中,工业机器人经常被用来进行抓取作业。要完成抓取操作,机器人系统可能需要完成目标感知、运动规划、抓取规划等一系列任务。视觉系统在机器人抓取作业中的作用就是识别、定位目标物体,为机器人提供目标物体的类型与位置信息。其中,位置估计的精度关系到抓取的成功率与精度,是非常重要的技术参数。
本发明硬件选择:64位计算机,英伟达rtx2060以上gpu,六自由度工业机器人,双目工业相机,外光源。
专业针对散乱无序堆放的工件设计,可协助机器人实现3D智能抓取。通过对工件3D数据扫描以实现三维准确定位,引导机械手准确抓取定位工件,实现了工业机器人自动化生产线的柔性工装。
机器人bin-picking问题,也就是针对物体杂乱摆放的机器人抓取问题。通过人工智能深度学习以及机器人视觉的算法去主动计算具体位置并且抓取物体。
现有的机器人视觉抓取系统的识别速度、精度仍存在不足,受周围环境影响的光线影响导致抓取误差。
发明内容
针对上述问题,本发明提供了一种基于多模特征深度学习的机器人视觉抓取系统的目标抓取方法,针对现有不足的改进:通过卷积神经网络,训练出目标识别模型和语义分割模型可以加快识别的速度以及精度,对于工业生产领域提高了生产效率,降低生产过程中工人的危险。并且我们是将两个深度学习模型结合,可以降低因为周围环境的光线影响产生的误差。
为达到上述目的,本发明采用的具体技术方案如下:
一种基于多模特征深度学习的机器人视觉抓取系统的目标抓取方法,其关键在于:包括以下步骤:
步骤1):初始化视觉抓取系统中的双目视觉平台以及工业机械臂;
步骤2):视觉抓取系统控制器控制双目视觉平台的两个相机同时对物料框拍摄照片;并将拍摄得到的照片反馈至视觉抓取系统控制器;
步骤3):视觉抓取系统控制器识别照片中的工件目标,并获得工件目标的区域中心点像素坐标;
步骤4):视觉抓取系统控制器根据所述被抓取工件目标的区域中心点像素坐标对所述照片组中的工件目标轮廓和外界环境进行分割;
步骤5):视觉抓取系统控制器采用单目手眼标定算法,将识别到的所述目标的区域中心点像素坐标换到机械臂坐标系;
步骤6):视觉抓取系统控制器结合双目相机系统,经过三维立体重构获取工件目标深度;
步骤7):视觉抓取系统控制器对工业机械臂建立机器人正、逆运动学模型(D-H),对工件目标进行抓取,并将工件目标摆放到指定位置。
采用上述方案,采用双目工业相机构建视觉系统,并配合六自由度的工业机器人,实现机械臂杂乱摆放抓取。利用静态双目图像采集系统采集工件组件的图像,计算机图像采集系统采集的图像对工件组件进行三维空间精准定位并且计算出被抓取工件的外轮廓,机器人根据工件位置及轮廓信息实现对工件组件快速抓取。
进一步描述,所述步骤3)的具体步骤为:
步骤31):采集被抓取工件的图片,得到工件图片初始数据集;
步骤32):对所述工件图片初始数据集采用扩充手段进行扩充,得到扩充工件图片数据集;
其中扩充手段包括对图片进行裁剪操作、翻转操作、镜像操作、调节原图片亮度操作、调节原图对比度操作、调节原图色度操作、调节原图饱和度操作、高斯模糊操作、锐化操作、添加噪声操作、转换成灰度图像操作;
步骤33):通过labelImg程序标注出工件,划分出工件识别训练集、工件识别测试集、工件识别验证集后,在NVIDIA GPU上进行训练,得到基于tensorflow框架的卷积神经网络目标识别模型Yolov3;
步骤34):采用步骤33得到的卷积神经网络目标识别模型Yolov3对照片组中的工件进行识别,得到每个工件的识别率;
步骤35):选取识别率最高的工件作为工件目标,并计算出工件目标的区域中心点像素坐标。
采用上述方案,利用静态双目图像采集系统采集工件组件的图像,计算机图像采集系统采集的图像对工件组件进行三维空间精准定位并且计算出被抓取工件的外轮廓,机器人根据工件位置及轮廓信息实现对工件组件快速抓取在工件组件抓取中,计算机根据训练好的卷积神经网络目标识别算法(Yolov3)的快速识别定位。
再做进一步描述,步骤33)中,计算工件目标的区域中心点像素坐标的步骤为:
卷积神经网络目标识别模型Yolov3对照片组中的工件目标进行识别时,输出所有预测边界框,并设定每个预测边界框的中心点像素坐标均落在其对应的cell中;
则区域中心点像素坐标的计算公式为:
bx=σ(tx)+cx
by=σ(ty)+cy
Pr(object)*IOU)(b,Object)=σ(to)
其中,(bx,by,bw,bh)为预测的边界框在要素图feature map中的中心点像素坐标和长宽,所述要素图feature map指卷积网络里面的卷积层的输出;
(tx,ty,tw,th)为网络学习的相对于先验框(prior,anchor)的offsets;
(cx,cy)是各个cell的左上点像素坐标;
ph,pw为先验框(prior,anchor)相对于特征图的长和宽;
预测边界框相对于原照片的像素坐标实际值等于(bx,by,bw,bh)除以对应的要素图feature map的尺寸,再乘以原始照片的尺寸。
Yolov3检测原理:
Yolov3是一阶段End2End的目标检测器。Yolov3将输入图像分成S*S个格子,每个格子预测B个bounding box,每个boundingbox预测内容包括:Location(x,y,w,h)、Confidence Score和C个类别的概率,因此Yolov3输出层的channel数为S*S*B*(5+C)。Yolov3的loss函数也有三部分组成:Location误差,Confidence误差和分类误差。
Yolov3网络结构:
Yolov3的网络结构由基础特征提取网络、multi-scale特征融合层和输出层组成。特征提取网络。Yolov3使用DarkNet53作为特征提取网络:DarkNet53基本采用了全卷积网络,用步长为2的卷积操作替代了池化层,同时添加了Residual单元,避免在网络层数过深时发生梯度弥散。特征融合层。为了解决之前Yolo版本对小目标不敏感的问题,Yolov3采用了3个不同尺度的特征图来进行目标检测,分别为13*13,26*26,52*52,用来检测大、中、小三种目标。特征融合层选取DarkNet产出的三种尺度特征图作为输入,借鉴了FPN(featurepyramid networks)的思想,通过一系列的卷积层和上采样对各尺度的特征图进行融合。输出层。同样使用了全卷积结构,其中最后一个卷积层的卷积核个数是255:3*(80+4+1)=255,3表示一个grid cell包含3个boundingbox,4表示框的4个坐标信息,1表示ConfidenceScore,80表示COCO数据集中80个类别的概率。
采用上述方案,Yolov3目标识别与传统方法相比的优势:
(a)多级预测:Yolov3增加了top down的多级预测,解决了yolo颗粒度粗,对小目标无力的问题。v2只有一个detection,v3一下变成了3个,分别是一个下采样的,featuremap为13*13,还有2个上采样的eltwise sum,feature map为26*26,52*52,也就是说v3的416版本已经用到了52的feature map,而v2把多尺度考虑到训练的data采样上,最后也只是用到了13的feature map,这应该是对小目标影响最大的地方。在论文中从单层预测五种boundingbox变成每层3种boundingbox;
(b)loss不同:Yolov3替换了v2的softmax loss变成logistic loss,由于每个点所对应的bounding box少并且差异大,每个bounding与ground truth的matching策略变成了1对1。当预测的目标类别很复杂的时候,采用logistic regression进行分类是更有效的,比如在Open Images Dataset数据集进行分类。在这个数据集中,会有很多重叠的标签,比如女人、人,如果使用softmax则意味着每个候选框只对应着一个类别,但是实际上并不总是这样。复合标签的方法能对数据进行更好的建模。
(c)加深网络:采用简化的residual block取代了原来1×1和3×3的block;(其实就是加了一个shortcut,也是网络加深必然所要采取的手段)。这和上一点是有关系的,v2的darknet-19变成了v3的darknet-53,为啥呢?就是需要上采样啊,卷积层的数量自然就多了,另外作者还是用了一连串的3*3、1*1卷积,3*3的卷积增加channel,而1*1的卷积在于压缩3*3卷积后的特征表示。
(d)router:由于top down的多级预测,进而改变了router(或者说concatenate)时的方式,将原来诡异的reorg改成了upsample。
再做进一步描述,步骤4)的具体步骤为:
步骤41):获取步骤32)得到的扩充工件图片数据集;
步骤42):通过labelme程序标注出工件轮廓,区分出工件与外部环境,划分出工件分割训练集、工件分割测试集、工件分割验证集后,在NVIDIA GPU上进行训练,搭建基于pytorch框架的全卷积神经网络语义分割模型U-net;
步骤43):结合所述工件目标的区域中心点像素坐标和所述全卷积神经网络语义分割模型U-net对双目视觉平台拍摄的照片进行工件目标和外部环境分割。
采用上述方案,U-net图像分割对比传统方法优势:
(a)5个池化层(pooling layer)实现了网络对图像特征的多尺度特征识别。
(b)上采样部分会融合特征提取部分的输出,这样做实际上是将多尺度特征融合在了一起,以最后一个上采样为例,它的特征既来自第一个卷积block的输出(同尺度特征),也来自上采样的输出(大尺度特征),这样的连接是贯穿整个网络的,你可以看到上图的网络中有四次融合过程,相对应的FCN网络只在最后一层进行融合。
(c)适用于小规模的数据集。这一点主要还是针对于医学数据来说的,对于图像分类任务或者去噪之类的任务数据集还是很充足的。
(d)不使用全连接层。搭建网络时,全连接层的应用始终受限,主要是由于其参数过多。假设输入是一张尺寸为(224,224,3)的彩色图片,并假设期望输出的特征图尺寸为(224,224,64)。如果采用全连接Linear,那么输入特征数量为224*224*3=150528,输出特征尺寸为224*224*64=3211264,参数的数量为150528*3211264=483,385,147,392,这甚至比很多大型网络参数都多;而如果使用卷积Conv(假设用3x3的卷积核),那么需要的卷积核为64个3x3x3的卷积核,总参数数量为64*3*3*3=1728,所以相比于全连接,卷积层大幅度减少了网络的参数数量。
再做进一步描述,步骤5)的具体步骤为:
步骤51):利用张正友标定法获取单目相机的内参矩阵以及外参矩阵;
步骤52):利用步骤51)求得的内参矩阵与外参矩阵,通过张正友标定法,计算相机畸变系数,然后做与畸变相反的变换,消除畸变,得到单目相机参数;
其中单目相机参数包括内参矩阵、径向畸变参数k1,k2、切向畸变参数p1,p2;
对于鱼眼镜头等径向畸变特别大的才需要计算k3相机由于光学透镜的特性使得成像存在着径向畸变,可由三个参数k1,k2,k3确定;由于装配方面的误差,传感器与光学镜头之间并非完全平行,因此成像存在切向畸变。
步骤53):通过手眼标定算法得到变换矩阵X,通过步骤51)获得外参数将识别到的物体中心点像素坐标从像素坐标系转换到机械臂坐标系。
采用上述方案,手眼标定是指建立视觉传感器坐标系与机械臂坐标系之间的转换关系,用来完成视觉系统所获取的目标物位置到机械臂坐标系的转换。
再做进一步描述,步骤51)中具体步骤为:
所述内参数包括焦距f、成像原点Cx,Cy、径向畸变k1,k2、切向畸变p1,p2;所述外参数包括工件目标点的世界坐标;
利用张正友标定法通过拍摄一组棋盘格标定板的照片由C++和opencv库计算得到所述内参数和外参数;
内参矩阵为:
其中内参矩阵:
f:焦距,单位毫米;
fx:使用像素来描述x轴方向焦距的长度;
fy:使用像素来描述y轴方向焦距的长度;
u0,v0:主点坐标,单位也是像素;
γ:为坐标轴倾斜参数,理想情况下为0;
内参矩阵是相机自身的属性,通过标定就可以得到这些参数;
外参矩阵为:
其中外参矩阵:相机的外参是世界坐标系在相机坐标系下的描述;
R是旋转参数是每个轴的旋转矩阵的乘积,其中每个轴的旋转参数(φ,ω,θ);T是平移参数(Tx,Ty,Tz);旋转矩阵和平移矩阵共同描述了把主点从世界坐标系转换到相机坐标系;
旋转矩阵:描述了世界坐标系的坐标轴相对于相机坐标轴的方向;
平移矩阵:描述了在相机坐标系下,世界坐标系下原点的位置。
内外参数求解,令H=[h1h2h3],
则[h1 h2 h3]=λA[r1 r2 t],
B是一个对称阵,B的有效元素就剩下6个,即:
b=[B11 B12 B22 B13 B23 B33]T
进一步化简:
通过计算得到
vij=[hi1hj1,hi1hj2+hi2hj1,hi2hj2,hi3hj1+hi1hj3,hi3hj2+hi2hj3,hi3hj3]T
利用上述的两个约束条件得到下面的方程组:
通过cholesky分解得到摄相机机的内参阵A,对于外参阵通过下面的公式解得:[h1 h2 h3]=λA[r1 r2 t]化简可得:
其中λ=1/||A-1h1||=1/||A-1h2||。
采用上述方案,摄像头由于光学透镜的特性使得成像存在着径向畸变,可由三个参数k1,k2,k3确定;由于装配方面的误差,传感器与光学镜头之间并非完全平行,因此成像存在切向畸变,可由两个参数p1,p2确定。单个摄像头的定标主要是计算出摄像头的内参(焦距f和成像原点Cx,Cy、五个畸变参数)以及外参(标定物的世界坐标)。
再做进一步描述,步骤52)的具体步骤为:
其中,(u,v)代表理想无畸变的像素坐标,代表实际径向畸变的情况下的像素坐标,(u0,v0)代表主点,(x,y)代表理想无畸变时的连续图像像素坐标,代表实际径向畸变的情况下的连续图像像素坐标;k1、k2代表前两阶的畸变参数;
步骤522):对于图像上的任意一点,有两个等式,化成矩阵形式:
通过相机模型计算出(x,y);
通过已求得的内参矩阵中得到(u0,v0);
由相机模型中物体的世界坐标点解出(u,v);
步骤523):用一点求得径向畸变参数;
对于n副包含棋盘格的图像进行定标,每个图像里有棋盘格角点m个,得到2mn个等式,运用最小二乘法对结果进行优化,通过等式k=(DTD)-1DTd解得径向畸变参数k=[k1,k2];
其中D是等式左边的方程的系数矩阵,d是等式右边的有畸变的像素坐标与无像素坐标之差构成的矩阵;
步骤524):将求解得到的畸变参数与理想无畸变条件下的内、外参数一起进行极大似然估计;以最小化下列函数为目标,在参数估计中增加k1,k2:
极大似然估计:n副包含棋盘格的图像进行定标,每个图像里有棋盘格角点m个,令第i副图像上的角点Mj在上述计算得到的摄像机矩阵下图像上的投影点为:
其中Ri和ti是第i副图对应的旋转矩阵和平移向量,K是内参数矩阵;
则角点mij的概率密度函数为:
构造似然函数:
L取得最大值,下面式子最小:
步骤525):利用莱文贝格-马夸特方法(Levenberg-Marquardt)算法迭代计算,最终就得到了单目相机参数。
Levenberg-Marquardt:莱文贝格-马夸特方法(Levenberg–Marquardtalgorithm)能提供数非线性最小化(局部最小)的数值解。此算法能借由执行时修改参数达到结合高斯-牛顿算法以及梯度下降法的优点,并对两者之不足作改善(比如高斯-牛顿算法之反矩阵不存在或是初始值离局部极小值太远)
采用上述方案,径向畸变产生原因是光线在远离透镜中心的地方比靠近中心的地方更加弯曲径向畸变主要包含桶形畸变和枕形畸变两种。切向畸变产生的原因透镜不完全平行于图像平面,这种现象发生于成像仪被粘贴在摄像机的时候。畸变矫正,首先应该知道畸变系数,然后做与畸变相反的变换,消除畸变。张氏标定法中只关注径向畸变。我们是按照张正友标定法,计算畸变系数的。
再做进一步描述,步骤53)中具体步骤为:
步骤53)中具体步骤为:
采用Halcon工业视觉库使用9点法进行手眼标定,通过机器人的末端行经9个点得到在机械臂坐标系,同时还要用计算机识别9个点计算出像素坐标;通过求解经典数学模型AX=XB得到图像像素坐标系到机械臂坐标系的变换矩阵;
其中求解经典数学模型AX=XB:
其中:
求解经典数学模型AX=XB得到图像坐标系到机械臂坐标系的变换矩阵步骤包括:物体从相机像素坐标系转换到世界坐标系的过程,通过旋转和平移来得到:
将其变换矩阵由一个旋转矩阵和平移向量组合成的齐次坐标矩阵来表示:
其中,R为旋转矩阵,t为平移向量,r3设定在世界坐标系中物点所在平面过世界坐标系原点且与Zw轴垂直,得到Zw=0转换成上式的形式;
采用上述方案,手眼标定是指建立视觉传感器坐标系与机械臂坐标系之间的转换关系,用来完成视觉系统所获取的目标物位置到机械臂坐标系的转换。本系统采用Eye-to-Hand(眼在手外)手眼系统的标定技术,对于eye-to-hand模式手眼标定的主要过程可转化为对经典数学模型AX=XB的求解Tsai等提出两步法求解旋转平移矩阵,先求旋转矩阵,再求平移向量。
本系统借助Halcon工业视觉库使用9点法进行手眼标定,让机器人的末端去走这就9个点得到在机器人坐标系中的坐标,同时还要用计算机识别9个点计算出像素坐标。这样就得到了9组对应的坐标,通过求解AX=XB得到图像坐标系到机基标系的变换矩阵,就可以将识别到的物体中心点坐标从像素坐标系转换到基坐标系下完成平面2D抓取工作。
再做进一步描述,步骤6)中具体步骤为:
步骤61):通过OpenCV视觉库中的BM或SGBM算法进行双目立体匹配,将两个不同方向的图像平面重新投影到同一个平面且光轴互相平行;
其中利用步骤51)求得外参数进行立体匹配,该立体分配是通过分别对两张图片用单应性矩阵H(homography matrix)变换得到;
目的是把两个不同方向的图像平面(下图中灰色平面)重新投影到同一个平面且光轴互相平行,这样转化为理想情况的模型。主要工作是在极线上寻找匹配点,但是由于要保证两个相机参数完全一致是不现实的,并且外界光照变化和视角不同的影响,使得单个像素点鲁棒性很差。所以匹配工作是一项很重要的事情,这也关系着双目视觉测距的准确性。
设三维世界坐标的点为X=[X,Y,Z,1]TX=[X,Y,Z,1]T,二维相机平面像素坐标为m=[u,v,1]Tm=[u,v,1]T,所以标定用的棋盘格平面到图像平面的单应性关系为:
s0m=K[R,T]X
s0m=K[R,T]X
其中s为尺度因子,K为摄像机内参数,R为旋转矩阵,T为平移向量;令
s对于齐次坐标来说,不会改变齐次坐标值;张氏标定法中,将世界坐标系构建在棋盘格平面上,令棋盘格平面为Z=0的平面,则可得:
把K[r1,r2,t]叫做单应性矩阵H,即
H=[h1 h2 h3]
[h1 h2 h3]=λA[r1 r2 t];
步骤62):再通过双目视差d=xl-xt求得工件目标点P离双目相机的深度z;
具体计算公式为:
其中,f为相机焦距,b为左右相机基线,双目视差d为左相机像素点(xl,yl)和右相机中对应工件目标点(xr,yr)的关系。
采用上述方案,因为单目相机无法获得被抓取工件所在空间准确的高度及姿态,只能识别到其表面的中心点2D平面坐标。所以被抓取工件高度及摆放姿态受单目视觉相机限制,因此增加一个相机构成双目系统,利用双目立体匹配,实现三维空间目标抓取。利用双目相机视差测算深度信息,通过OpenCV视觉库中的BM或SGBM算法进行双目立体匹配,立体匹配是通过分别对两张图片用单应性矩阵(homography matrix)变换得到,目的是把两个不同方向的图像平面(下图中灰色平面)重新投影到同一个平面且光轴互相平行,这样转化为理想情况的模型。主要工作是在极线上寻找匹配点,但是由于要保证两个相机参数完全一致是不现实的,并且外界光照变化和视角不同的影响,使得单个像素点鲁棒性很差。所以匹配工作是一项很重要的事情,这也关系着双目视觉测距的准确性。再通过双目视差(目标点在左右两幅图上成像的横向坐标直接存在的差异)d=xl-xt求得空间点P离相机的距离(深度)Z。
再做进一步描述,步骤7)中:
所述机器人正、逆运动学模型(D-H)为:M=f(qi);
其中,M为机器人末端执行器的位置,qi为机器人各个关节变量。
若给定qi要求确定相应的M,称为正运动学问题,简记为DKP。相反,若已知末端执行器的位置M,求解对应的关节变量,称为逆运动学问题,简记为IKP。
采用上述方案,求解正运动问题,是为了检验,校准机器人,计算工作空间等。求解逆运动问题,是为了路径规划和机器人控制,逆向运动学往往有多个解而且分析更为复杂。机器人逆运动分析是运动规划不控制中的重要问题,但由于机器人逆运动问题的复杂性和多样性,无法建立通用的解析算法。逆运动学问题实际上是一个非线性超越方程组的求解问题,其中包括解的存在性、唯一性及求解的方法等一系列复杂问题。
再做一进步描述,基于位置闭环的伺服电机控制技术。
用位置控制方式(位置控制方式有加速、保持、减速的过程),每隔50毫秒发一次位置信息给运动控制器。闭环控制系统是控制系统的一种类型。具体内容是指:把控制系统输出量的一部分或全部,通过一定方法和装置反送回系统的输入端,然后将反馈信息与原输入信息进行比较,再将比较的结果施加于系统进行控制,避免系统偏离预定目标。通过位置闭环的伺服电机控制,将抓取到的工件按规定角度摆放到指定位置,即完成一轮抓取工作,随后可进行下一次抓取工作。
本发明的有益效果:本系统采用双目工业相机构建视觉系统,并配合六自由度的工业机器人,对实现机械臂杂乱摆放抓取(bin-picking)的关键技术进行了研究开发。在Visual Studio平台上利用OpenCV计算机视觉库以及Halcon工业视觉库开发自动标定算法和系统程序,搭建基于Eye-to-Hand手眼模型的工业机器人bin-picking系统平台,并进行手眼标定、双目标定和抓取摆放。利用静态双目图像采集系统采集工件组件的图像,计算机图像采集系统采集的图像对工件组件进行三维空间精准定位并且计算出被抓取工件的外轮廓,机器人根据工件位置及轮廓信息实现对工件组件快速抓取。在工件组件抓取中,计算机根据训练好的卷积神经网络目标识别算法(Yolov3)的识别定位、全卷积神经网络语义分割算法(U-net)的目标轮廓分割,平稳的控制机器人反复调节机械手与工件组件之间的相对位置,直至工件组件完成抓取及放置工作;机器人完成工件组件的抓取放置操作均由计算机自动控制,使抓取更智能化;通过训练好的卷积神经网络(CNN)模型,可以使工件组件抓取过程更稳定、更精准,并且CNN共享卷积核,可以处理高维数据、提取图像特征能力强、适应性更强,计算机运算速度快,特征提取和模式分类同时进行,并同时在训练中产生,优化工件组件的抓取过程,降低生产成本,提高生产效率。
附图说明
图1是本发明的系统目标抓取流程框图;
图2是训练过程的loss下降曲线图;
图3是识别率最高的工件计算出识别到的目标的区域中心点像素坐标示意图;
图4是物体轮廓勾与周围环境分割后的示意图;
图5是标定板的示意图;
图6是理想双目相机成像模型的示意图;
图7是数学模型AX=XB的求解Tsai的模型框图;
图8是本系统的MFC系统界面示意图。
具体实施方式
下面结合附图对本发明的具体实施方式以及工作原理作进一步详细说明。
一种基于多模特征深度学习的机器人视觉抓取系统的目标抓取方法,从图1可以看出,其中包括以下步骤:
步骤1):初始化视觉抓取系统中的双目视觉平台以及工业机械臂;
步骤2):视觉抓取系统控制器控制双目视觉平台的两个相机同时对物料框拍摄照片;并将拍摄得到的照片反馈至视觉抓取系统控制器;
步骤3):视觉抓取系统控制器识别照片中的工件目标,并获得工件目标的区域中心点像素坐标;
步骤31):采集被抓取工件的图片,得到工件图片初始数据集;
步骤32):对所述工件图片初始数据集采用扩充手段进行扩充,得到扩充工件图片数据集;
其中扩充手段包括对图片进行裁剪操作、翻转操作、镜像操作、调节原图片亮度操作、调节原图对比度操作、调节原图色度操作、调节原图饱和度操作、高斯模糊操作、锐化操作、添加噪声操作、转换成灰度图像操作;
步骤33):通过labelImg程序标注出工件,划分出工件识别训练集、工件识别测试集、工件识别验证集后,在NVIDIA GPU上进行训练,得到基于tensorflow框架的卷积神经网络目标识别模型Yolov3。可以从图2看出训练过程的loss下降曲线,利用训练好的模型进行被抓件的识别,可以从图3看出,每次选择识别率最高的工件计算出识别到的目标的区域中心点像素坐标;
步骤33)中,计算工件目标的区域中心点像素坐标的步骤为:
卷积神经网络目标识别模型Yolov3对照片组中的工件目标进行识别时,输出所有预测边界框,并设定每个预测边界框的中心点像素坐标均落在其对应的cell中;
则区域中心点像素坐标的计算公式为:
bx=σ(tx)+cx
by=σ(ty)+cy
Pr(object)*IOU)(b,Object)=σ(to)
其中,(bx,by,bw,bh)为预测的边界框在要素图feature map中的中心点像素坐标和长宽,所述要素图feature map指卷积网络里面的卷积层的输出;
(tx,ty,tw,th)为网络学习的相对于先验框(prior,anchor)的offsets;
(cx,cy)是各个cell的左上点像素坐标;
ph,pw为先验框(prior,anchor)相对于特征图的长和宽;
其中先验框:通常情况下模型预测到的框和真实目标所在的框有差异,所以我们希望有一个方法对模型预测到的框进行调整,使得预测到的框更接近真实目标所在的框。虽然我们不能约束预测框的位置,但是可以统一真实框的位置。我们将假设我们将所有真实框的长宽都设为128,把这个长宽都为128的框叫做先验框(Anchor),那么这样模型学习到的系数都会偏向这个先验框。通过平移+变换的操作让预测框变回真实框。Yolov3有9种先验框:(10x13),(16x30),(33x23),(30x61),(62x45),(59x119),(116x90),(156x198),(373x326)。
特征图:一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。Yolov3采用了3个不同尺度的特征图来进行对象检测,分别是13*13,36*26,52*52。
预测边界框相对于原照片的像素坐标实际值等于(bx,by,bw,bh)除以对应的要素图feature map的尺寸,再乘以原照片的尺寸。
步骤34):采用步骤33得到的卷积神经网络目标识别模型Yolov3对照片组中的工件进行识别,得到每个工件的识别率;
步骤35):选取识别率最高的工件作为工件目标,并计算出工件目标的区域中心点像素坐标。
步骤4):视觉抓取系统控制器根据所述被抓取工件目标的区域中心点像素坐标对所述照片组中的工件目标轮廓和外界环境进行分割;
步骤41):获取步骤32得到的扩充工件图片数据集;
步骤42):通过labelme程序标注出工件轮廓,区分出工件与外部环境,划分出工件分割训练集、工件分割测试集、工件分割验证集后,在NVIDIA GPU上进行训练,搭建基于pytorch框架的全卷积神经网络语义分割模型U-net;
采用U-net语义分割网络将目标物体进行分割,将目标物体与周围环境背景分隔开。U-net与其他常见的分割网络有一点非常不同的地方:U-net采用了完全不同的特征融合方式:拼接,U-net采用将特征在channel维度拼接在一起,形成更厚的特征。而FCN融合时使用的对应点相加,并不形成更厚的特征。所以语义分割网络在特征融合时有两种办法:1.FCN式的对应点相加,对应于tensorflow中的tf.add()函数;2.U-net式的channel维度拼接融合,对应于tensorflow的tf.concat()函数。
U-net中一个标准的上采样block,运用了一个跳连接把前面的特征图和上采样后的特征图concat到一起,目的是使得上采样后的特征图具有更多的浅层语义信息,增强分割精度,最后一层直接一个sigmoid二分类把mask分为前景和背景。
x=Conv2DTranspose(256,(2,2),strides=(2,2),padding='same')(x)
x=BatchNormalization()(x)
x=Activation('relu')(x)
x=concatenate([x,b3])
x=Conv2D(256,(3,3),padding='same')(x)
x=BatchNormalization()(x)
x=Activation('relu')(x)
x=Conv2D(256,(3,3),padding='same')(x)
x=BatchNormalization()(x)
x=Activation('relu')(x)
步骤43):结合所述工件目标的区域中心点像素坐标和所述全卷积神经网络语义分割模型U-net对双目视觉平台拍摄的照片进行工件目标和外部环境分割。可以从图4中看出,利用目标识别网络计算出物体中心点坐标后再通过语义分割网络(U-net)将物体轮廓勾与周围环境分割出。
步骤5):视觉抓取系统控制器采用单目手眼标定算法,将识别到的所述目标的区域中心点像素坐标换到机械臂坐标系;
步骤51):利用张正友标定法获取单目相机的内参数、外参数;
所述内参数包括焦距f、成像原点Cx,Cy、径向畸变k1,k2、切向畸变p1,p2;所述外参数包括工件目标点的世界坐标;
所述内参数和外参数利用张正友标定法通过拍摄一组棋盘格标定板的照片由C++和opencv库计算得到;
其中内参矩阵为:
其中内参矩阵:
f:焦距,单位毫米;
fx:使用像素来描述x轴方向焦距的长度;
fy:使用像素来描述y轴方向焦距的长度;
u0,v0:主点坐标,单位也是像素;
γ:为坐标轴倾斜参数,理想情况下为0;
内参矩阵是相机自身的属性,通过标定就可以得到这些参数;
外参矩阵为:
其中外参矩阵:相机的外参是世界坐标系在相机坐标系下的描述;
R是旋转参数是每个轴的旋转矩阵的乘积,其中每个轴的旋转参数(φ,ω,θ);T是平移参数(Tx,Ty,Tz);旋转矩阵和平移矩阵共同描述了把主点从世界坐标系转换到相机坐标系;
旋转矩阵:描述了世界坐标系的坐标轴相对于相机坐标轴的方向;
平移矩阵:描述了在相机坐标系下,世界坐标系下原点的位置。
步骤52):利用步骤51)求得的内参矩阵与外参矩阵,通过张正友标定法计算相机畸变系数,做与畸变相反的变换,消除畸变,得到单目相机参数;
径向畸变(k1,k2,k3):[-0.0877380616380599 0.153589113078236 -0.0852569993337717]
切向畸变(p1,p2):[0 0]
其中单目相机参数包括内参矩阵、径向畸变参数k1,k2、切向畸变参数p1,p2;
其中,(u,v)代表理想无畸变的像素坐标,代表实际径向畸变的情况下的像素坐标,(u0,v0)代表主点,(x,y)代表理想无畸变时的连续图像像素坐标,代表实际径向畸变的情况下的连续图像像素坐标;k1、k2代表前两阶的畸变参数;
步骤522):对于图像上的任意一点,有两个等式,化成矩阵形式:
通过相机模型计算出(x,y);
通过已求得的内参矩阵中得到(u0,v0);
由相机模型中物体的世界坐标点解出(u,v);
步骤523):用一点求得径向畸变参数;
对于n副包含棋盘格的图像进行定标,每个图像里有棋盘格角点m个,得到2mn个等式,运用最小二乘法对结果进行优化,通过等式k=(DTD)-1DTd解得径向畸变参数k=[k1,k2];
其中D是等式左边的方程的系数矩阵,d是等式右边的有畸变的像素坐标与无像素坐标之差构成的矩阵;
步骤524):将求解得到的畸变参数与理想无畸变条件下的内、外参数一起进行极大似然估计;以最小化下列函数为目标,在参数估计中增加k1,k2:
极大似然估计:n副包含棋盘格的图像进行定标,每个图像里有棋盘格角点m个,令第i副图像上的角点Mj在上述计算得到的摄像机矩阵下图像上的投影点为:
其中Ri和ti是第i副图对应的旋转矩阵和平移向量,K是内参数矩阵;
则角点mij的概率密度函数为:
构造似然函数:
L取得最大值,下面式子最小:
步骤525):利用莱文贝格-马夸特方法(Levenberg-Marquardt)算法迭代计算,最终就得到了单目相机参数。
步骤53):通过手眼标定算法得到变换矩阵X,通过步骤51)获得外参数将识别到的物体中心点像素坐标从像素坐标系转换到机械臂坐标系。
采用Halcon工业视觉库使用9点法进行手眼标定,可以从图5中看出,标定板示意图,通过机器人的末端行经9个点得到在机械臂坐标系,同时还要用计算机识别9个点计算出像素坐标;通过求解经典数学模型AX=XB得到图像像素坐标系到机械臂坐标系的变换矩阵;
其中求解经典数学模型AX=XB:
可以从图7中看出,数学模型AX=XB的求解Tsai的模型框图;
其中:
求解经典数学模型AX=XB得到图像坐标系到机械臂坐标系的变换矩阵步骤包括:物体从相机像素坐标系转换到世界坐标系的过程,通过旋转和平移来得到:
将其变换矩阵由一个旋转矩阵和平移向量组合成的齐次坐标矩阵来表示:
其中,R为旋转矩阵,t为平移向量,r3设定在世界坐标系中物点所在平面过世界坐标系原点且与Zw轴垂直,得到Zw=0转换成上式的形式;
步骤6):视觉抓取系统控制器结合双目相机系统,经过三维立体重构获取工件目标深度;
步骤61):通过OpenCV视觉库中的BM或SGBM算法进行双目立体匹配,将两个不同方向的图像平面重新投影到同一个平面且光轴互相平行;
其中利用步骤51)求得外参数进行立体匹配,该立体分配是通过分别对两张图片用单应性矩阵H(homography matrix)变换得到;
设三维世界坐标的点为X=[X,Y,Z,1]TX=[X,Y,Z,1]T,二维相机平面像素坐标为m=[u,v,1]Tm=[u,v,1]T,所以标定用的棋盘格平面到图像平面的单应性关系为:
s0m=K[R,T]X
s0m=K[R,T]X
其中s为尺度因子,K为摄像机内参数,R为旋转矩阵,T为平移向量;令
s对于齐次坐标来说,不会改变齐次坐标值;张氏标定法中,将世界坐标系构建在棋盘格平面上,令棋盘格平面为Z=0的平面,则可得:
把K[r1,r2,t]叫做单应性矩阵H,即
H=[h1 h2 h3]
[h1 h2 h3]=λA[r1 r2 t];
步骤62):再通过双目视差d=xl-xt求得工件目标点P离双目相机的深度z;
具体计算公式为:
可以从图6中看出,理想双目相机成像模式示意图;
其中,f为相机焦距,b为左右相机基线,双目视差d为左相机像素点(xl,yl)和右相机中对应工件目标点(xr,yr)的关系。
步骤7):视觉抓取系统控制器对工业机械臂建立机器人正、逆运动学模型(D-H),对工件目标进行抓取,并将工件目标摆放到指定位置。
所述机器人正、逆运动学模型(D-H)为:M=f(qi);
其中,M为机器人末端执行器的位置,qi为机器人各个关节变量。
可以从图8中看出,MFC系统界面示意图,通过MFC系统界面,将系统各个部分联系在一起,对系统的流畅程度进行整体优化,在保证识别精度的同时提高识别及抓取的速度。
系统界面解释:
(1)上方2个图像显示框为双目相机采集得到的图像显示框;
(2)下方图像显示框为对工件框拍摄的图片经过Yolov3目标识别网络处理后的图片,图中粉色框为识别到的工件;
(3)右侧“采集图像”按钮功能为:初始化双目相机并与计算机建立起通讯;
(4)右侧“保存图像”按钮功能为:同时储存双目相机拍到的图像;
(5)右侧“双目标定”按钮功能为:系统自动进行双目标定功能,为双目立体重构和测距做基础;
(6)右侧“手眼标定”按钮功能为:系统自动进行手眼标定功能,为机械手定位抓取做基础;
(7)右侧“初始化”按钮功能为:初始化机械手,与机械手建立通讯并且使机械手运动到设定好的初始位置;
(8)右侧“Yolo”按钮功能为:通过训练好的Yolov3网络以及U-net网络对拍摄到的工件框中的工件进行目标识别、目标分割、定位,并且将三维坐标经手眼标定后得到的变换矩阵转换为机械手坐标系下的基坐标,再将转换后的三维坐标通过伺服通讯协议发送给机械手,控制机械手进行抓取并移动到指定位置在放下;
(9)右侧文本编辑框中“ID”为:将抓取识别到的第几号工件(从第0号起);
“X、Y、Z”:像素坐标系下工件的三维坐标;
“QX、QY、QZ”:机械手坐标系下工件的三维坐标;
本发明的工作原理:先初始化双目视觉平台以及工业机械臂,左右相机同时对物料框拍摄照片,利用卷积神经网络算法(Yolov3)识别到被抓取目标并获取目标像素坐标,使用语义分割算法(U-net)将不规则形状工件与周围环境分割出来,通过手眼标定算法将识别到的目标像素坐标转换到机械手坐标系下,再使用双目相机系统经过三维立体重构求得该目标深度信息。对机械臂建立机器人正、逆运动学模型(D-H),通过与机械臂的伺服控制将机械臂运行到目标所在位置将目标抓取,随后将目标摆放到指定位置,完成一次抓取控制。
应当指出的是,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的普通技术人员在本发明的实质范围内所做出的变化、改性、添加或替换,也应属于本发明的保护范围。
Claims (10)
1.一种基于多模特征深度学习的机器人视觉抓取系统的目标抓取方法,其特征在于:包括以下步骤:
步骤1):初始化视觉抓取系统中的双目视觉平台以及工业机械臂;
步骤2):视觉抓取系统控制器控制双目视觉平台的两个相机同时对物料框拍摄照片;并将拍摄得到的照片反馈至视觉抓取系统控制器;
步骤3):视觉抓取系统控制器识别照片中的工件目标,并获得工件目标的区域中心点像素坐标;
步骤4):视觉抓取系统控制器根据所述被抓取工件目标的区域中心点像素坐标对所述照片组中的工件目标轮廓和外界环境进行分割;
步骤5):视觉抓取系统控制器采用单目手眼标定算法,将识别到的所述目标的区域中心点像素坐标换到机械臂坐标系;
步骤6):视觉抓取系统控制器结合双目相机系统,经过三维立体重构获取工件目标深度;
步骤7):视觉抓取系统控制器对工业机械臂建立机器人正、逆运动学模型(D-H),对工件目标进行抓取,并将工件目标摆放到指定位置。
2.根据权利要求1所述的基于多模特征深度学习的机器人视觉抓取系统的目标抓取方法,其特征在于:所述步骤3)的具体步骤为:
步骤31):采集被抓取工件的图片,得到工件图片初始数据集;
步骤32):对所述工件图片初始数据集采用扩充手段进行扩充,得到扩充工件图片数据集;
其中扩充手段包括对图片进行裁剪操作、翻转操作、镜像操作、调节原图片亮度操作、调节原图对比度操作、调节原图色度操作、调节原图饱和度操作、高斯模糊操作、锐化操作、添加噪声操作、转换成灰度图像操作;
步骤33):通过labelImg程序标注出工件,划分出工件识别训练集、工件识别测试集、工件识别验证集后,在NVIDIA GPU上进行训练,得到基于tensorflow框架的卷积神经网络目标识别模型Yolov3;
步骤34):采用步骤33得到的卷积神经网络目标识别模型Yolov3对照片组中的工件进行识别,得到每个工件的识别率;
步骤35):选取识别率最高的工件作为工件目标,并计算出工件目标的区域中心点像素坐标。
3.根据权利要求2所述的基于多模特征深度学习的机器人视觉抓取系统的目标抓取方法,其特征在于:步骤33)中,计算工件目标的区域中心点像素坐标的步骤为:
卷积神经网络目标识别模型Yolov3对照片组中的工件目标进行识别时,输出所有预测边界框,并设定每个预测边界框的中心点像素坐标均落在其对应的cell中;
则区域中心点像素坐标的计算公式为:
bx=σ(tx)+cx
by=σ(ty)+cy
Pr(object)*IOU)(b,Object)=σ(to)
其中,(bx,by,bw,bh)为预测的边界框在要素图feature map中的中心点像素坐标和长宽,所述要素图feature map指卷积网络里面的卷积层的输出;
(tx,ty,tw,th)为网络学习的相对于先验框(prior,anchor)的offsets;
(cx,cy)是各个cell的左上点像素坐标;
ph,pw为先验框(prior,anchor)相对于特征图的长和宽;
预测边界框相对于原照片的像素坐标实际值等于(bx,by,bw,bh)除以对应的要素图feature map的尺寸,再乘以原照片的尺寸。
4.根据权利要求2所述的基于多模特征深度学习的机器人视觉抓取系统的目标抓取方法,其特征在于:步骤4)的具体步骤为:
步骤41):获取步骤32得到的扩充工件图片数据集;
步骤42):通过labelme程序标注出工件轮廓,区分出工件与外部环境,划分出工件分割训练集、工件分割测试集、工件分割验证集后,在NVIDIA GPU上进行训练,搭建基于pytorch框架的全卷积神经网络语义分割模型U-net;
步骤43):结合所述工件目标的区域中心点像素坐标和所述全卷积神经网络语义分割模型U-net对双目视觉平台拍摄的照片进行工件目标和外部环境分割。
5.根据权利要求4所述的基于多模特征深度学习的机器人视觉抓取系统的目标抓取方法,其特征在于:步骤5)的具体步骤为:
步骤51):利用张正友标定法获取单目相机的内参数、外参数;
步骤52):利用步骤51)求得的内参矩阵与外参矩阵,通过张正友标定法计算相机畸变系数,做与畸变相反的变换,消除畸变,得到单目相机参数;
其中单目相机参数包括内参矩阵、径向畸变参数k1,k2、切向畸变参数p1,p2;
步骤53):通过手眼标定算法得到变换矩阵X,通过步骤51)获得外参数将识别到的物体中心点像素坐标从像素坐标系转换到机械臂坐标系。
6.根据权利要求5所述的基于多模特征深度学习的机器人视觉抓取系统的目标抓取方法,其特征在于:步骤51)中具体步骤为:
所述内参数包括焦距f、成像原点Cx,Cy、径向畸变k1,k2、切向畸变p1,p2;所述外参数包括工件目标点的世界坐标;
所述内参数和外参数利用张正友标定法通过拍摄一组棋盘格标定板的照片由C++和opencv库计算得到;
其中内参矩阵为:
其中内参矩阵:
f:焦距,单位毫米;
fx:使用像素来描述x轴方向焦距的长度;
fy:使用像素来描述y轴方向焦距的长度;
u0,v0:主点坐标,单位也是像素;
γ:为坐标轴倾斜参数;
内参矩阵是相机自身的属性,通过标定就可以得到这些参数;
外参矩阵为:
其中外参矩阵:相机的外参是世界坐标系在相机坐标系下的描述;
R是旋转参数是每个轴的旋转矩阵的乘积,其中每个轴的旋转参数(φ,ω,θ);T是平移参数(Tx,Ty,Tz);旋转矩阵和平移矩阵共同描述了把主点从世界坐标系转换到相机坐标系;
旋转矩阵:描述了世界坐标系的坐标轴相对于相机坐标轴的方向;
平移矩阵:描述了在相机坐标系下,世界坐标系下原点的位置。
7.根据权利要求5所述的基于多模特征深度学习的机器人视觉抓取系统的目标抓取方法,其特征在于:步骤52)的具体步骤为:
其中,(u,v)代表理想无畸变的像素坐标,代表实际径向畸变的情况下的像素坐标,(u0,v0)代表主点,(x,y)代表理想无畸变时的连续图像像素坐标,代表实际径向畸变的情况下的连续图像像素坐标;k1、k2代表前两阶的畸变参数;
步骤522):对于图像上的任意一点,有两个等式,化成矩阵形式:
通过相机模型计算出(x,y);
通过已求得的内参矩阵中得到(u0,v0);
由相机模型中物体的世界坐标点解出(u,v);
步骤523):用一点求得径向畸变参数;
对于n副包含棋盘格的图像进行定标,每个图像里有棋盘格角点m个,得到2mn个等式,运用最小二乘法对结果进行优化,通过等式k=(DTD)-1DTd解得径向畸变参数k=[k1,k2];
其中D是等式左边的方程的系数矩阵,d是等式右边的有畸变的像素坐标与无像素坐标之差构成的矩阵;
步骤524):将求解得到的畸变参数与理想无畸变条件下的内、外参数一起进行极大似然估计;以最小化下列函数为目标,在参数估计中增加k1,k2:
极大似然估计:n副包含棋盘格的图像进行定标,每个图像里有棋盘格角点m个,令第i副图像上的角点Mj在上述计算得到的摄像机矩阵下图像上的投影点为:
其中Ri和ti是第i副图对应的旋转矩阵和平移向量,K是内参数矩阵;
则角点mij的概率密度函数为:
构造似然函数:
L取得最大值,下面式子最小:
步骤525):利用莱文贝格-马夸特方法(Levenberg-Marquardt)算法迭代计算,最终就得到了单目相机参数。
8.根据权利要求5所述的基于多模特征深度学习的机器人视觉抓取系统的目标抓取方法,其特征在于:步骤53)中具体步骤为:
采用Halcon工业视觉库使用9点法进行手眼标定,通过机器人的末端行经9个点得到在机械臂坐标系,同时还要用计算机识别9个点计算出像素坐标;通过求解经典数学模型AX=XB得到图像像素坐标系到机械臂坐标系的变换矩阵;
其中求解经典数学模型AX=XB:
其中:
求解经典数学模型AX=XB得到图像坐标系到机械臂坐标系的变换矩阵步骤包括:物体从相机像素坐标系转换到世界坐标系的过程,通过旋转和平移来得到:
将其变换矩阵由一个旋转矩阵和平移向量组合成的齐次坐标矩阵来表示:
其中,R为旋转矩阵,t为平移向量,r3设定在世界坐标系中物点所在平面过世界坐标系原点且与Zw轴垂直,得到Zw=0转换成上式的形式;
9.根据权利要求1所述的基于多模特征深度学习的机器人视觉抓取系统的目标抓取方法,其特征在于:步骤6)中具体步骤为:
步骤61):通过OpenCV视觉库中的BM或SGBM算法进行双目立体匹配,将两个不同方向的图像平面重新投影到同一个平面且光轴互相平行;
其中利用步骤51)求得外参数进行立体匹配,该立体分配是通过分别对两张图片用单应性矩阵H(homography matrix)变换得到;
设三维世界坐标的点为X=[X,Y,Z,1]TX=[X,Y,Z,1]T,二维相机平面像素坐标为m=[u,v,1]Tm=[u,v,1]T,所以标定用的棋盘格平面到图像平面的单应性关系为:
s0m=K[R,T]X
s0m=K[R,T]X
其中s为尺度因子,K为摄像机内参数,R为旋转矩阵,T为平移向量;令
s对于齐次坐标来说,不会改变齐次坐标值;张氏标定法中,将世界坐标系构建在棋盘格平面上,令棋盘格平面为Z=0的平面,则可得:
把K[r1,r2,t]叫做单应性矩阵H,即
H=[h1 h2 h3]
[h1 h2 h3]=λA[r1 r2 t];
步骤62):再通过双目视差d=xl-xt求得工件目标点P离双目相机的深度z;
具体计算公式为:
z=b*f/d,x=z★x/d,y=z★y/f
其中,f为相机焦距,b为左右相机基线,双目视差d为左相机像素点(xl,yl)和右相机中对应工件目标点(xr,yr)的关系。
10.根据权利要求1所述的基于多模特征深度学习的机器人视觉抓取系统的目标抓取方法,其特征在于:所述步骤7)中:
所述机器人正、逆运动学模型(D-H)为:M=f(qi);
其中,M为机器人末端执行器的位置,qi为机器人各个关节变量。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2021104654550 | 2021-04-28 | ||
CN202110465455 | 2021-04-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113524194A true CN113524194A (zh) | 2021-10-22 |
CN113524194B CN113524194B (zh) | 2023-03-21 |
Family
ID=78122048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110900461.4A Active CN113524194B (zh) | 2021-04-28 | 2021-08-06 | 基于多模特征深度学习的机器人视觉抓取系统的目标抓取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113524194B (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113977581A (zh) * | 2021-11-10 | 2022-01-28 | 胜斗士(上海)科技技术发展有限公司 | 抓取系统及抓取方法 |
CN114055501A (zh) * | 2021-11-17 | 2022-02-18 | 长春理工大学 | 一种机器人抓取系统及其控制方法 |
CN114067197A (zh) * | 2021-11-17 | 2022-02-18 | 河南大学 | 一种基于目标检测及双目视觉的管道缺陷识别与定位方法 |
CN114355953A (zh) * | 2022-03-18 | 2022-04-15 | 深圳市朗宇芯科技有限公司 | 一种基于机器视觉的多轴伺服系统的高精度控制方法及系统 |
CN114663752A (zh) * | 2022-02-28 | 2022-06-24 | 江苏大学 | 一种基于机器视觉的食用豆产量智能估计方法、系统 |
CN114714357A (zh) * | 2022-04-08 | 2022-07-08 | 五邑大学 | 一种分拣搬运方法、分拣搬运机器人及存储介质 |
CN114897784A (zh) * | 2022-04-13 | 2022-08-12 | 广东工业大学 | 一种单目鸡蛋尺寸流水线测定方法 |
CN114952842A (zh) * | 2022-05-27 | 2022-08-30 | 赛那德数字技术(上海)有限公司 | 基于抓取机械手的无序抓取方法、装置及存储介质 |
CN115026828A (zh) * | 2022-06-23 | 2022-09-09 | 池州市安安新材科技有限公司 | 一种机器人手臂抓取控制方法及系统 |
CN115205286A (zh) * | 2022-09-13 | 2022-10-18 | 国网天津市电力公司建设分公司 | 爬塔机器人机械臂螺栓识别与定位方法、存储介质、终端 |
CN115219492A (zh) * | 2022-05-25 | 2022-10-21 | 中国科学院自动化研究所 | 一种三维物体的外观图像采集方法及装置 |
CN115256019A (zh) * | 2022-06-25 | 2022-11-01 | 北京建工集团有限责任公司 | 一种支护板自动拼装对齐装置 |
CN115319739A (zh) * | 2022-08-02 | 2022-11-11 | 中国科学院沈阳自动化研究所 | 一种基于视觉机械臂抓取工件方法 |
CN115628700A (zh) * | 2022-11-02 | 2023-01-20 | 江南大学 | 一种高精度量棒标定方法 |
CN116051658A (zh) * | 2023-03-27 | 2023-05-02 | 北京科技大学 | 基于双目视觉进行目标检测的相机手眼标定方法及装置 |
CN117283555A (zh) * | 2023-10-29 | 2023-12-26 | 北京小雨智造科技有限公司 | 一种用于机器人自主标定工具中心点的方法及装置 |
CN117464683A (zh) * | 2023-11-23 | 2024-01-30 | 中机生产力促进中心有限公司 | 控制机械臂模仿视频动作的方法 |
CN117495698A (zh) * | 2024-01-02 | 2024-02-02 | 福建卓航特种设备有限公司 | 飞行物识别方法、系统、智能终端及计算机可读存储介质 |
CN117464683B (zh) * | 2023-11-23 | 2024-05-14 | 中机生产力促进中心有限公司 | 控制机械臂模仿视频动作的方法 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108171748A (zh) * | 2018-01-23 | 2018-06-15 | 哈工大机器人(合肥)国际创新研究院 | 一种面向机器人智能抓取应用的视觉识别与定位方法 |
CN108363490A (zh) * | 2018-03-01 | 2018-08-03 | 深圳大图科创技术开发有限公司 | 一种交互效果良好的智能机器人系统 |
CN108648233A (zh) * | 2018-03-24 | 2018-10-12 | 北京工业大学 | 一种基于深度学习的目标识别与抓取定位方法 |
CN109344882A (zh) * | 2018-09-12 | 2019-02-15 | 浙江科技学院 | 基于卷积神经网络的机器人控制目标位姿识别方法 |
CN109360249A (zh) * | 2018-12-06 | 2019-02-19 | 北京工业大学 | 相机可调节标定系统 |
US20190069777A1 (en) * | 2017-09-05 | 2019-03-07 | eyeBrain Medical, Inc. | Method and system for measuring binocular alignment |
CN109948444A (zh) * | 2019-02-19 | 2019-06-28 | 重庆理工大学 | 基于cnn的果实与障碍物的同步识别方法、系统与机器人 |
CN110929707A (zh) * | 2019-09-30 | 2020-03-27 | 国网湖南省电力有限公司 | 一种基于图像处理的换流站扫描检测方法、系统及介质 |
CN111080693A (zh) * | 2019-11-22 | 2020-04-28 | 天津大学 | 一种基于YOLOv3的机器人自主分类抓取方法 |
US20200202163A1 (en) * | 2017-12-18 | 2020-06-25 | Shanghai Cloudpick Smart Technology Co., Ltd. | Target positioning system and target positioning method |
WO2020142498A1 (en) * | 2018-12-31 | 2020-07-09 | Abb Schweiz Ag | Robot having visual memory |
CN111695562A (zh) * | 2020-05-26 | 2020-09-22 | 浙江工业大学 | 一种基于卷积神经网络的机器人自主抓取方法 |
CN111923053A (zh) * | 2020-04-21 | 2020-11-13 | 广州里工实业有限公司 | 基于深度视觉的工业机器人物件抓取示教系统及方法 |
CN112149573A (zh) * | 2020-09-24 | 2020-12-29 | 湖南大学 | 一种基于深度学习的垃圾分类与拾取机器人 |
CN112700499A (zh) * | 2020-11-04 | 2021-04-23 | 南京理工大学 | 一种辐照环境下基于深度学习的视觉定位仿真方法及系统 |
-
2021
- 2021-08-06 CN CN202110900461.4A patent/CN113524194B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190069777A1 (en) * | 2017-09-05 | 2019-03-07 | eyeBrain Medical, Inc. | Method and system for measuring binocular alignment |
US20200202163A1 (en) * | 2017-12-18 | 2020-06-25 | Shanghai Cloudpick Smart Technology Co., Ltd. | Target positioning system and target positioning method |
CN108171748A (zh) * | 2018-01-23 | 2018-06-15 | 哈工大机器人(合肥)国际创新研究院 | 一种面向机器人智能抓取应用的视觉识别与定位方法 |
CN108363490A (zh) * | 2018-03-01 | 2018-08-03 | 深圳大图科创技术开发有限公司 | 一种交互效果良好的智能机器人系统 |
CN108648233A (zh) * | 2018-03-24 | 2018-10-12 | 北京工业大学 | 一种基于深度学习的目标识别与抓取定位方法 |
CN109344882A (zh) * | 2018-09-12 | 2019-02-15 | 浙江科技学院 | 基于卷积神经网络的机器人控制目标位姿识别方法 |
CN109360249A (zh) * | 2018-12-06 | 2019-02-19 | 北京工业大学 | 相机可调节标定系统 |
WO2020142498A1 (en) * | 2018-12-31 | 2020-07-09 | Abb Schweiz Ag | Robot having visual memory |
CN109948444A (zh) * | 2019-02-19 | 2019-06-28 | 重庆理工大学 | 基于cnn的果实与障碍物的同步识别方法、系统与机器人 |
CN110929707A (zh) * | 2019-09-30 | 2020-03-27 | 国网湖南省电力有限公司 | 一种基于图像处理的换流站扫描检测方法、系统及介质 |
CN111080693A (zh) * | 2019-11-22 | 2020-04-28 | 天津大学 | 一种基于YOLOv3的机器人自主分类抓取方法 |
CN111923053A (zh) * | 2020-04-21 | 2020-11-13 | 广州里工实业有限公司 | 基于深度视觉的工业机器人物件抓取示教系统及方法 |
CN111695562A (zh) * | 2020-05-26 | 2020-09-22 | 浙江工业大学 | 一种基于卷积神经网络的机器人自主抓取方法 |
CN112149573A (zh) * | 2020-09-24 | 2020-12-29 | 湖南大学 | 一种基于深度学习的垃圾分类与拾取机器人 |
CN112700499A (zh) * | 2020-11-04 | 2021-04-23 | 南京理工大学 | 一种辐照环境下基于深度学习的视觉定位仿真方法及系统 |
Non-Patent Citations (8)
Title |
---|
YANJUN HUANG: "A Novel Local Motion Planning Framework for Autonomous Vehicles Based on Resistance Network and Model Predictive Control", 《IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY》 * |
刘巍: "基于双目视觉的数控机床动态轮廓误差三维测量方法", 《机械工程学报》 * |
应怀樵: "《现代振动与噪声技术》", 30 April 2017 * |
张兴兰: "连铸热坯表面缺陷图像清晰度控制算法", 《重庆大学学报》 * |
王鹏: "基于双目视觉的目标识别与定位研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
罗四维: "《计算机视觉检测逆问题导论》", 31 March 2017 * |
谢心如: "智能机器人目标抓取关键技术研究", 《中国优秀博硕士学位论文全文数据库(博士)信息科技辑》 * |
高宏伟: "《电子封装工艺与装备技术基础教程》", 30 June 2017 * |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113977581A (zh) * | 2021-11-10 | 2022-01-28 | 胜斗士(上海)科技技术发展有限公司 | 抓取系统及抓取方法 |
CN114055501A (zh) * | 2021-11-17 | 2022-02-18 | 长春理工大学 | 一种机器人抓取系统及其控制方法 |
CN114067197A (zh) * | 2021-11-17 | 2022-02-18 | 河南大学 | 一种基于目标检测及双目视觉的管道缺陷识别与定位方法 |
CN114067197B (zh) * | 2021-11-17 | 2022-11-18 | 河南大学 | 一种基于目标检测及双目视觉的管道缺陷识别与定位方法 |
CN114663752A (zh) * | 2022-02-28 | 2022-06-24 | 江苏大学 | 一种基于机器视觉的食用豆产量智能估计方法、系统 |
CN114663752B (zh) * | 2022-02-28 | 2024-04-12 | 江苏大学 | 一种基于机器视觉的食用豆产量智能估计方法、系统 |
CN114355953A (zh) * | 2022-03-18 | 2022-04-15 | 深圳市朗宇芯科技有限公司 | 一种基于机器视觉的多轴伺服系统的高精度控制方法及系统 |
CN114714357A (zh) * | 2022-04-08 | 2022-07-08 | 五邑大学 | 一种分拣搬运方法、分拣搬运机器人及存储介质 |
CN114897784A (zh) * | 2022-04-13 | 2022-08-12 | 广东工业大学 | 一种单目鸡蛋尺寸流水线测定方法 |
CN115219492A (zh) * | 2022-05-25 | 2022-10-21 | 中国科学院自动化研究所 | 一种三维物体的外观图像采集方法及装置 |
CN114952842A (zh) * | 2022-05-27 | 2022-08-30 | 赛那德数字技术(上海)有限公司 | 基于抓取机械手的无序抓取方法、装置及存储介质 |
CN115026828A (zh) * | 2022-06-23 | 2022-09-09 | 池州市安安新材科技有限公司 | 一种机器人手臂抓取控制方法及系统 |
CN115256019A (zh) * | 2022-06-25 | 2022-11-01 | 北京建工集团有限责任公司 | 一种支护板自动拼装对齐装置 |
CN115319739A (zh) * | 2022-08-02 | 2022-11-11 | 中国科学院沈阳自动化研究所 | 一种基于视觉机械臂抓取工件方法 |
CN115205286A (zh) * | 2022-09-13 | 2022-10-18 | 国网天津市电力公司建设分公司 | 爬塔机器人机械臂螺栓识别与定位方法、存储介质、终端 |
CN115628700A (zh) * | 2022-11-02 | 2023-01-20 | 江南大学 | 一种高精度量棒标定方法 |
CN116051658A (zh) * | 2023-03-27 | 2023-05-02 | 北京科技大学 | 基于双目视觉进行目标检测的相机手眼标定方法及装置 |
CN116051658B (zh) * | 2023-03-27 | 2023-06-23 | 北京科技大学 | 基于双目视觉进行目标检测的相机手眼标定方法及装置 |
CN117283555A (zh) * | 2023-10-29 | 2023-12-26 | 北京小雨智造科技有限公司 | 一种用于机器人自主标定工具中心点的方法及装置 |
CN117464683A (zh) * | 2023-11-23 | 2024-01-30 | 中机生产力促进中心有限公司 | 控制机械臂模仿视频动作的方法 |
CN117464683B (zh) * | 2023-11-23 | 2024-05-14 | 中机生产力促进中心有限公司 | 控制机械臂模仿视频动作的方法 |
CN117495698A (zh) * | 2024-01-02 | 2024-02-02 | 福建卓航特种设备有限公司 | 飞行物识别方法、系统、智能终端及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113524194B (zh) | 2023-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113524194B (zh) | 基于多模特征深度学习的机器人视觉抓取系统的目标抓取方法 | |
CN109344882B (zh) | 基于卷积神经网络的机器人控制目标位姿识别方法 | |
CN107813310B (zh) | 一种基于双目视觉多手势机器人控制方法 | |
CN107953329B (zh) | 物体识别和姿态估计方法、装置及机械臂抓取系统 | |
CN110751691A (zh) | 一种基于双目视觉的管件自动抓取方法 | |
Taryudi et al. | Eye to hand calibration using ANFIS for stereo vision-based object manipulation system | |
CN112561886A (zh) | 一种基于机器视觉的工件自动分拣方法及系统 | |
Zheng et al. | Industrial part localization and grasping using a robotic arm guided by 2D monocular vision | |
CN111598172B (zh) | 基于异构深度网络融合的动态目标抓取姿态快速检测方法 | |
CN114851201A (zh) | 一种基于tsdf三维重建的机械臂六自由度视觉闭环抓取方法 | |
Van Tran et al. | BiLuNetICP: A deep neural network for object semantic segmentation and 6D pose recognition | |
CN116766194A (zh) | 基于双目视觉的盘类工件定位与抓取系统和方法 | |
CN111340878A (zh) | 图像处理方法以及装置 | |
CN116985141B (zh) | 一种基于深度学习的工业机器人智能控制方法及系统 | |
CN111275758B (zh) | 混合型3d视觉定位方法、装置、计算机设备及存储介质 | |
WO2023082417A1 (zh) | 抓取点信息获取方法、装置、电子设备和存储介质 | |
CN115958605A (zh) | 单目红外热成像视觉机械手抓取物体姿态估计装置及方法 | |
CN106622990B (zh) | 零件定位识别处理系统 | |
Fröhlig et al. | Three-dimensional pose estimation of deformable linear object tips based on a low-cost, two-dimensional sensor setup and AI-based evaluation | |
Shi et al. | A fast workpiece detection method based on multi-feature fused SSD | |
Zhang et al. | Object detection and grabbing based on machine vision for service robot | |
Ren et al. | Vision based object grasping of robotic manipulator | |
CN114092428A (zh) | 图像数据处理方法、装置、电子设备和存储介质 | |
CN114037595A (zh) | 图像数据处理方法、装置、电子设备和存储介质 | |
Grigorescu et al. | Robust feature extraction for 3D reconstruction of boundary segmented objects in a robotic library scenario |
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 |