本案例为2.5D定位抓放场景(普通精度)。
机构限制为:上相机安装在机器人上或静止安装,相机拍照位不变,由于机构干涉、来料型号不同等原因,相机与载物台平面可能存在相对高度的变化。
实施流程为:生产过程中目标到位后,相机对抓放目标进行拍照,引导机械臂以基准姿态实现对目标的抓放。
本场景的主要特点:
由于机构干涉、物料本身高度不一等原因,相机与目标图像采集平面可能存在相对高度的变化。
机构示意图如下图所示:
图1 拍照示意
图2 机械臂抓放示意
经过理论推导与实验室验证,提出以下解决方案:
1、本场景基础模型是一个标准的常规单点抓取模型,因此第一步是按照常规单点抓取项目完成标定流程,得到基准高度时的标定矩阵。
2、计算已知基准平面上标志物的像素间距及生产平面标志物的像素间距,通过基准平面的标定矩阵及两个像素间距,推导出生产平面此时物体所在高度的标定矩阵
根据上述解决思路,开发下述自研算法模块:
1、NorMultiplaneHomoMat模块,作用是通过图像宽高、两平面像素间距、基准平面标定矩阵,求解生产平面的标定矩阵
方案实施流程如下图所示:
图3 实施流程图
在物体高度变化的范围内选择一个基准平面进行标定,标定与常规单点抓取的标定流程一致。
各平面的关系如下图所示:
图4 标定平面、生产平面示意图
在标定平面进行示教,搭建示教流程如下图所示:
图5 示教流程
1、采集图像获取Mark点像素坐标,并测量标志物像素间距,通过标定加载模块,加载标定矩阵,订阅图像中标志物的像素间距,如下图所示:
图6 间距检测输出角点间距
在自研算法模块NorMultiplaneHomoMat中配置相应的参数,输出计算的生产平面的标定矩阵。
图像宽度、高度:采集图像的宽度、高度
基准像素间距:标定平面标志物角点像素间距
运行像素间距:生产平面标志物角点像素间距
基准标定矩阵:标定平面的标定矩阵
模块参数配置示意图如下:
图7 NorMultiplaneHomoMat参数配置
由于此时就是在基准平面示教,因此此时输出的矩阵即是基准平面标定矩阵。
2、使用机械臂去抓放物料,也记录此时机械臂的物理坐标,完成示教,在单点抓取模块中配置相应的参数。
像素点:订阅的Mark点像素坐标
示教物理点:此时实际抓放目标的机械臂绝对物理坐标
示教拍照物理点:一般填写标定时的第五点
标定矩阵:加载自研模块NorMultiplaneHomoMat输出的标定矩阵
点击创建基准完成单点抓取模块示教
模块参数配置示意图如下:
图8 单点抓取模块参数配置示意
创建基准后,此时模块输出的相对坐标为0,绝对坐标为基准标定位。
生产流程与示教一致,如下图所示。
图9 生产流程
生产时,机械臂到拍照位后,对目标进行拍照,单点抓取模块输出待抓放目标的绝对抓取坐标,如下图所示。
图 10 输出的抓取坐标
误差来源 |
应对策略 |
Mark点示教偏差 |
夹具中心安装尖针工装,保证竖直示教,尽可能提高示教精度 |
相机与机台等不平行 |
通过打表法调整相机、镜头与机台和Mark至水平平行;增加畸变标定与畸变校正 |
相机与机器人手眼标定误差 |
核对标定平移误差,进行机构静态测试和动态测试,根据测试结果优化机器人运动参数 |
标志物角点像素间距提取不够精确 |
选取稳定特征点 |
成像质量不佳 |
检查成像质量,调整打光方案 |