[发明专利]一种基于3D视觉的机械臂修坯方法在审
申请号: | 202110168422.X | 申请日: | 2021-02-07 |
公开(公告)号: | CN112862878A | 公开(公告)日: | 2021-05-28 |
发明(设计)人: | 禹鑫燚;张毅凯;仇翔;欧林林;程兆赢;许成军 | 申请(专利权)人: | 浙江工业大学 |
主分类号: | G06T7/521 | 分类号: | G06T7/521;G06T7/593;B25J9/16;B25J11/00 |
代理公司: | 杭州天正专利事务所有限公司 33201 | 代理人: | 王兵 |
地址: | 310014 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 视觉 机械 臂修坯 方法 | ||
1.一种基于3D视觉的机械臂修坯方法,其具体步骤如下:
步骤1:采集含有多角度目标素坯工件的场景点云数据;具体包括:
利用融合式双目深度相机采集点云数据,该融合式双目深度相机基于双目立体成像原理以及红外结构光测距原理,获得深度书数据;将待扫描的目标工件放置于可控制旋转角度的旋转平台上,融合式双目深度相机与旋转平台之间构成固定的相对位置,工件以一定的初始位置放置于旋转平台之上,并以固定角度为增量进行步进式旋转,以获得目标素坯的多角度信息,深度相机对场景中的每一个角度进行扫描和记录后回传至电脑,并将点云数据按照时间顺序以PCD文件的形式保存,命名为View1、View2、View3,...ViewN等N个视角场景点云文件;
步骤2:目标点云提取;将步骤1采集得到多视角的场景点云View1、View2、View3,...ViewN中将无关的数据点剔除并提取出目标工件数据;其具体步骤如下:
步骤2-1:根据步骤1中的深度相机和旋转平台的相对位置设置ROI参数,对复杂场景点云View1、View2、View3,...ViewN中的空间点进行ROI区域分割筛选,即选取出每一个点的三维空间坐标x,y,z位于ROI区域内的三维点;初步分割出只包含地面、旋转平台、工件三部分的小场景点云;
步骤2-2:将步骤2-1中获得的小场景点云中的点云数据集合表示为:
A{a1,a2,a3,...an};
使用随机采样一致性(RANSAC)算法在点云集合A中进行平面拟合,RANSAC算法拟合出小场景中的平面及其平面参数,将A集合内的点分为平面上的点,与不属于平面的点两类;并记录下属于平面内的数据点的下标,以及不属于平面内的数据点下标,根据下标进行去平面处理,剔除属于平面的点;RANSAC算法获得平面参数后,可以确定平面在小场景点云中的位置,通过测量获得旋转平台高度为H,可以将距离平面上方H高度的所有点剔除,从而剔除旋转平台部分的数据,得到初步的目标工件数据;
步骤2-3:步骤2-2中得到的初步目标工件数据会有算法上效率不足所产生的离群点,以及3D视觉传感器采集数据时留下的表面毛刺噪声和边缘噪声,使得后续步骤产生差错;因此使用统计分析滤波器(StatisticalOutlierRemovel),将上述结果作为输入进行滤波,去除离群点和表面离群点噪声;最终从View1、View2、View3,...ViewN中提取出多视角目标工件点云数据Obj1,Obj2,Obj3,...ObjN;
步骤3:多视角目标点云配准,这一过程是将步骤2-3中得到的Obj1,Obj2,Obj3,...ObjN进行两两配准,进行全局拼接,得到完整模型;
步骤3-1:为相邻的两个视角的点云建立高斯混合模型;从Obj1,Obj2,Obj3,...ObjN中选择需要配准的相邻两视角点云,设目标点云Scene,以及待配准点云Model;已知高斯连续概率密度分布函数为:
其中,μ为均值向量,∑为协方差矩阵,d为数据的维度;
根据以下准则建立高斯混合模型:
1)高斯混和模型中的高斯分量数量等于每一个点云数据集中的点云数量;
2)对于每一个高斯混合模型中的高斯分量,其平均值向量根据点的空间位置设置;
3)高斯混合模型中的所有高斯分量共享同一个协方差矩阵;
最终将如上所述的所有高斯分量以相同的权重相加,可得:
其中wi为高斯混合模型中每一个高斯分量的权重系数;对Scene和Model按照如上规则建立高斯混合模型gmm(S),gmm(M),gmm表示上述(2)中的函数关系,输入S代表点云Scene,M代表点云Model;
步骤3-2:建立带有参数θ的两点云间的变换矩阵,经过参数变换的Model点云表示为Transform(M,θ),其高斯混合模型可表示为gmm(Transform(M,θ)),其中Transform代表根据根据带有参数θ的变换矩阵做相应刚体变换的函数;
步骤3-3:对两个高斯混合模型进行差平方积分建立差异化目标函数:
∫(gmm(S)-gmm(T(M,θ)))2dx (3)
将步骤1中使用的固定旋转参数作为参数θ的初始值,使用高斯牛顿算法进行迭代优化运算,得到使得上述的目标函数最小时的参数值;并根据参数值计算出变换矩阵T;
步骤3-4:将Obj1作为配准的基准,将Obj1所在的坐标系视为基准坐标系;按照步骤3-3,Obj1视为Scene,Obj2视为Model,对Obj1和Obj2进行配准处理得到变换矩阵T12,Obj2可通过T12矩阵变换至基准坐标系下;对Obj2和Obj3进行高斯混合模型点云配准处理,得到变换矩阵T23,Obj3可通过T12*T23矩阵变换至基准坐标系下;依次进行两两视角的配准计算并根据变换矩阵变换到基准坐标系下,并将多视角点云拼接,得到全视角点云模型;
步骤4:在点云步骤3建立的全视角点云模型的基础上,对工件表面进行重采样、漏洞修复,使用对周围点数据进行高阶多项式插值来重建表面的漏洞部分,并对由配准造成的表面法向量和曲率特征进行修正;使用Delaunay三角剖分法进行点云表面重建,将原本散乱的点云拟合逼近与真实的表面,获得重建模型;
步骤5:机械臂轨迹规划;基于ROS操作系统与Moveit!进行目标点的获取,以及逆运动学求解,在仿真Rviz环境中进行轨迹规划并验证正确性,最终执行作业任务,具体骤如下:;
步骤5-1:使用ROS Moveit Setup Assistant建立机械臂工编程和运动规划所需要的功能包;按步骤导入修坯场景中使用的机械臂URDF结构描述模型文件,配置自碰撞矩阵以判断运动过程中潜在的自碰撞,创建规划组并选择运动学解析器,定义机器人初始默认位姿,配置机器人末端工具;
步骤5-2:在ROS-Rviz环境中导入目标素坯的重建模型以及机械臂的模型文件;得到重建模型表面的离散非联通加工目标点Target1、Target2、Target3......以避免关节碰撞、避免与素坯碰撞为目标使用Moveit框架根据目标点计算出运动轨迹点,使用运动学求解器求得逆解获得机械臂的关节数据,并在仿环境中执行修坯路径;确认无误后将最终的机械臂加工路径点和法向量,发送至机械臂的底层控制器,执行作业。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江工业大学,未经浙江工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110168422.X/1.html,转载请声明来源钻瓜专利网。