1.一种基于卷积神经网络的机器人自主抓取方法,其特征在于:包含以下步骤:
S1:构建基于多尺度特征的抓取检测模型,实现对抓取位姿的估计,具体包括:
S11:抓取检测模型特征提取部分的设计:特征提取部分以Darknet-53网络为基础,将SE模块嵌入到Darknet-53网络中的前四组残差结构中,使网络能够感知不同特征通道的重要程度,实现通道的自适应校准;将末端残差结构中的3×3的卷积替换为可变形卷积,使卷积核可以根据待抓取物体轮廓作为边界,而不是将感受眼局限于规则的矩形之中;
S12:抓取检测模型输出检测部分的设计:输出检测部分采用跨尺度预测的思想,抓取检测模型依次在三个尺度的特征图上进行抓取框的预测;抓取检测模型以五维向量抓取框的形式进行输出,抓取框定义为:G={x,y,h,w,θ} (1)
其中,(x,y)表示抓取框的中心点;(h,w)表示抓取框的长度和宽度;θ表示抓取框的方位角,本发明将方向角的预测转化为分类与回归组合的问题,定义为:θ=θcls+θreg (2)
其中,θcls表示方向角的类别,θcls∈{0°,10°,…,170°},将方向角从0°~180°依次划分成18个类别;θreg表示方向角回归部分的具体角度,θreg∈[0°,10°);
S13:抓取检测模型损失函数的设计:损失函数主要分为回归损失(Lreg)、分类损失(Lcls)和置信度损失(Lconf);回归损失包含抓取框的定位损失以及方向角的回归部分的损失;其中抓取框的定位损失采用DIoU,当预测的抓取框与真值框的DIoU值越高时,表明两个边界框重叠和对齐的越好;方向角回归部分的损失采用smoothL1,当预测的抓取框与真值框的smoothL1值越小时,表明方向角回归的越好;回归部分的损失函数定义为:其中S×S表示每张图片预测的栅格数;B表示每个栅格预测抓取框的数目; 表示第i个栅格中第j个抓取框是否包含待抓取物体,有为1没有为0;k表示抓取框的预测值,k′表示抓取框的真实值;θreg表示方向角回归部分的预测值,θr′eg表示方向角回归部分的真实值;
分类损失部分主要为方向角分类部分的损失,其损失函数采用FocalLoss,当预测的抓取框与真值框的FocalLoss值越小时,表明方向角分到类别的越正确;分类部分的损失函数定义为:其中θcls表示方向角分类部分的预测值,θc′ls表示方角分类部分的真实值;
置信度为判断某个栅格内是否包含待抓取物体,同时也更好的让模型去区分前景区域与背景区域;置信度部损失函数定义为:其中c表示预测出的置信度,c′表示真实的置信度;
总的损失函数(Loss)为回归损失、分类损失以及置信度损失的加权和,定义为:Loss=αLreg+βLcls+Lconf (6)
其中α为回归损失部分的加权系数;β为分类损失部分的加权系数;
S2:通过视觉传感器采集大量包含待抓取物体的场景信息,并作为训练的数据集;同时为了防止抓取检测模型过拟合借助迁移学习的思想对抓取检测模型进行训练,最终得到鲁棒性更强泛化能力更好的抓取检测模型;
S3:将抓取检测模型运用到实际检测过程中,将包含待抓取物体的场景图片输入到抓取检测模型中,并对输入图像进行预处理,使其符合抓取检测模型的输入要求;最终抓取检测模型预测得到待抓取物体在像素坐标系下的抓取位姿;预测的过程表示为:F(imgRGB)→Gobj(x,y,w,h,θ) (7)
其中,F表示抓取检测模型;imgRGB表示包含RGB信息的输入图片;Gobj表示待抓取物体在像素坐标系下的抓取位姿;
S4:根据相机内参将像素坐标系下的抓取位姿转化到相机坐标系下,根据手眼参数将相机坐标系下的抓取位姿转化到机器人基坐标下,通过与末端执行器之间的坐标变化关系进一步得到末端执行器的抓取位姿,最后根据建立的机器人运动学模型,通过计算机器人逆运动学求解得到机器人各个关节的坐标,驱动各关节到达指定位置完成对物体的抓取;
实现从待抓取物体的像素坐标到机器人关节坐标的转化,需要经过3次坐标变换和1次运动学求逆计算,假设将其统称为4次变换,那么待抓取物体在像素坐标系下的抓取位姿到机器人关节坐标的映射函数可以表示为:其中, 代表像素坐标系到相机坐标系的变换矩阵; 代表相机坐标系到机器人基坐标系的变换矩阵; 代表机器人基坐标系到机器人末端执行器位姿的变换矩阵;
代表机器人末端执行器位姿到关节坐标的变换矩阵。