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)的具体步骤为:步骤521):按照张正友标定法,利用主点周围的泰勒级数展开的前两项确定径向畸变的畸变系数,数学表达式:
其中,(u,v)代表理想无畸变的像素坐标, 代表实际径向畸变的情况下的像素坐标,(u0,v0)代表主点,(x,y)代表理想无畸变时的连续图像像素坐标, 代表实际径向畸变的情况下的连续图像像素坐标;k1、k2代表前两阶的畸变参数;
步骤522):对于图像上的任意一点,有两个等式,化成矩阵形式:通过相机模型计算出(x,y);
通过已求得的内参矩阵中得到(u0,v0);
由相机模型中物体的世界坐标点解出(u,v);
步骤523):用一点求得径向畸变参数;
对于n副包含棋盘格的图像进行定标,每个图像里有棋盘格角点m个,得到2mn个等式,T ‑1 T
运用最小二乘法对结果进行优化,通过等式k=(DD) Dd解得径向畸变参数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:其中:
表示摄像机(camera)坐标系相对于机器人基坐标系(也是世界坐标,world)的齐次变换矩阵;
和 表示棋盘图(grid)相对于摄像机坐标系的齐次变换矩阵,分别对应第i次和第j次样本;
和 表示机器人末端(end)TCP坐标系相对于机器人基座坐标系的齐次变换矩阵,分别对应第i次和第j次样本;
表示棋盘图(grid)相对于机器人末端TCP的齐次变换矩阵,棋盘图固定连接在机器人末端, 是一个常量矩阵;
令
求解经典数学模型AX=XB得到图像坐标系到机械臂坐标系的变换矩阵步骤包括:物体从相机像素坐标系转换到世界坐标系的过程,通过旋转和平移来得到:将其变换矩阵由一个旋转矩阵和平移向量组合成的齐次坐标矩阵来表示:其中,R为旋转矩阵,t为平移向量,r3设定在世界坐标系中物点所在平面过世界坐标系原点且与Zw轴垂直,得到Zw=0转换成上式的形式;
其中变换矩阵X为:
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=bf/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为机器人各个关节变量。