1.一种抓取机器人的物体识别与位姿估计方法,其特征在于,包括如下步骤:
步骤1,采集待识别区域的2D彩色图和3D深度图,根据2D彩色图和3D深度图得到点云图,所述点云图由场景点云组成,所述场景点云包括背景点云和刚性物体点云,所述背景点云包括工作台平面和除刚性物体点云外的所有点云,所述刚性物体点云位于工作台平面上;
步骤2,构建YOLOv7‑tiny‑CBAM深度学习神经网络模型并进行训练,通过训练完毕的YOLOv7‑tiny‑CBAM深度学习神经网络模型对2D彩色图进行目标检测识别,得到目标物体定位框;
步骤3,对点云图进行处理并结合步骤2得到的目标物体定位框,得到待识别区域中各个目标物体;
步骤4,通过改进后的主成分分析PCA算法对各个目标物体进行计算,得到各个目标物体的位姿信息;
步骤5,构建抓取优先级函数,根据各个目标物体的位姿信息进行抓取优先级计算,得到优先抓取结果;
所述步骤2中,YOLOv7‑tiny‑CBAM深度学习神经网络模型是将CBAM卷积注意力模块加入YOLOv7‑tiny的主干网络中构建得到,具体是在YOLOv7‑tiny的主干网络输出的三个有效特征层上增加CBAM 卷积注意力模块;
所述步骤3中,通过直通滤波算法缩小场景点云的范围,得到缩小范围后的场景点云;
通过体素栅格降采样滤波算法对缩小范围后的场景点云进行降采样处理并抑制噪声点;通过随机采样一致算法提取工作台平面;通过平面分割的方法将刚性物体点云与工作台平面进行分割;通过聚类算法将每一个物体单独分割出来,结合目标物体定位框得到待识别区域中各个目标物体;
所述步骤4的具体内容是:定义抓取平面姿态坐标系,最大特征值对应的特征向量为主方向,X轴是此点云平面法向量并使其指向视点,机械臂夹爪沿着该轴抓取,Y轴为箱体短边平行向量,Z轴为右手坐标系,已知X轴与Y轴后确定的方向,判断目标物体姿态Y轴方向是否与机械臂末端执行器初始姿态Y轴方向为同一方向,若是同一方向则将当前姿态绕Y轴旋转
180°,将箱体姿态坐标系X轴与机械臂末端执行器初始姿态X轴方向旋转到同一方向,旋转矩阵为 ;若箱体姿态Y轴与机械臂末端执行器初始姿态Y轴方向不同,则将当前姿态绕Z轴旋转180°,将箱体姿态坐标系X轴与机械臂末端执行器初始姿态X轴方向旋转到同一方向,旋转矩阵为 ;按照绕自身轴旋转,求得最终位姿;
所述步骤5中,定义抓取优先级函数,公式如下所示:
,
其中,对目标物体表面的中心点 各个分量进行加权,对位置较高的 ,距离抓取机器人较近的 ,距离工作台边缘较近的 的物体进行优先排序,对每一个目标物体计算得分,优先抓取得分最高的物体。
2.如权利要求1所述的物体识别与位姿估计方法,其特征在于:所述步骤1中,2D彩色图提供点云图的 坐标,3D深度图提供点云图的 坐标,各个物体的 坐标构成点云图。
3.如权利要求1所述的物体识别与位姿估计方法,其特征在于:所述步骤2中,通过图像数据增强的方法对YOLOv7‑tiny‑CBAM深度学习神经网络模型进行训练,使用数据增强库进行数据增广操作,采用高斯噪声、旋转变换、高斯滤波、透视变换的数据增强方式扩充数据集,使用图像标注工具对获得的数据集进行手动标注;目标检测对象包括四个类:球体网球、长方体快递盒、圆柱体瓶子和不规则的鼠标。
4.如权利要求1所述的物体识别与位姿估计方法,其特征在于:所述直通滤波算法的具体内容是:在X轴和Y轴上定义阈值范围,对场景点云生成的阈值范围进行点云去除,限定区域范围的公式如下所示:,
,
在X轴和Y轴上找到阈值外和阈值内的点云数据,将X、Y方向上阈值外的点云数据进行删减,缩小场景点云的范围。
5.如权利要求1所述的物体识别与位姿估计方法,其特征在于:所述体素栅格降采样滤波算法的具体内容是:在X、Y、Z方向上建立包围盒坐标系,获取包围盒的最大长宽高(, , )与最小长宽高( , , ),计算包围盒在X、Y、Z方向上的长度,公式如下所示:,
其中, 、 、 分别表示包围盒在X、Y、Z方向上的长度;
创建体素栅格子空间,将上述包围盒分割成若干个小立方体包围盒,每个立方体就是一个体素,使用自适应系数指数设置体素栅格子空间大小,对缩小范围后的场景点云进行划分,获取体素栅格子空间集合,以整数为基础,根据场景点云划分栅格子空间数量为m×n×l,计算公式如下所示:,
其中 代表整数的取值,m、n、l分别表示栅格子长、宽、高上的数量,L代表小立方体栅格边长,使用最邻近搜索算法对每个栅格子空间的点集求解,计算每个栅格子空间重心,公示如下所示:,
其中, 表示每个栅格子空间重心,K表示栅格子内点的个数, 表示第j个点的重心。
6.如权利要求1所述的物体识别与位姿估计方法,其特征在于:所述随机采样一致算法的具体内容是:构建参考平面模型S,公式如下所示: 随机选取三个局内点 、 、 ,设定重复次数 n,根据随机选取的三个局内点 、 、 确定参考平面模型S的各项参数;根据确定的参考平面模型S检验其它的点云数据,如果检验的点到参考平面模型S的距离在预先设定的阈值内,则该点为局内点,将局内点扩充;重复n次后,选择局内点数量最多的参考平面模型为最终的参考平面模型,提取出工作台平面。