面向数字孪生的工业机械臂手眼标定方法的研究
2023-02-03乔峰丽苗鸿宾纪慧君张伟苏赫朋
乔峰丽,苗鸿宾,2,纪慧君,张伟,苏赫朋
(1.中北大学机械工程学院,山西太原 030051; 2.山西省深孔加工工程技术研究中心, 山西太原 030199)
0 前言
智能制造的出现和发展使得机械臂成为工业领域生产制造等自动化生产任务的主力,因此机械臂智能制造相关技术的研究具有重要意义。目前机械臂的抓取方式普遍使用离线编程,存在视觉识别准确率低以及自主避障能力弱等问题。人类即使在复杂变化的环境中也可以本能、准确、稳定、快速地执行抓取任务,但这对于机械臂来说仍然是一项具有挑战性的工作[1]。机械臂运动学模型是机械臂本体多关节之间的坐标系转换,但机械臂本体无法做到自主检测到空间中某个物体,因此需要求解世界坐标系与视觉相机所在坐标系的位置关系,最终实现机械臂在视觉相机的辅助下抓取物体[2-3]。传统标定方法存在标定误差大、精度低以及标定过程复杂的问题[4-5],本文作者针对以上问题提出了一种面向数字孪生的手眼标定方法,保证了工件抓取的识别精度和抓取精度以及对环境中障碍物的识别和躲避功能。
1 机械臂手眼标定方法
1.1 机械臂结构参数
文中研究对象为六自由度串联型机械臂。该型机械臂具有外形结构、体积轻巧的优良特点,尤其在小单元范围中能够保持高精度和高速作业,最大载质量为6 kg,在自动化生产线中具有良好的工作表现。工业机械臂本体及连杆坐标系如图1所示。
图1 JL8工业机械臂
1.2 手眼标定方法
在进行手眼标定实验之前,需要确定TCP标定精度。根据线性空间相邻坐标系变换原则[6],机械臂末端相对于基座的坐标变换映射如下:
(1)
当增加工具坐标系用来标定实验时,上式坐标变换改写为
(2)
当操作机械臂使末端标定针以不同姿态与标定台标定针标定2次时,根据上式有:
(3)
按照上述模式列出多次标定次数下的齐次方程组为
(4)
化简上式有:
(5)
结合2次标定求解TCP原理,从上式可以看出,当且仅当上式系数矩阵满秩的情况下才能保证有唯一解。
根据曲线拟合中最小二乘法原则[7],上述拟合非齐次线性方程组问题等价为
(6)
判断上述精度问题可以用式(7)描述:
(7)
文中机械臂视觉相机的安装方式是固定在机械臂以外的固定位置,故需确定机械臂坐标系和相机所在坐标系之间的位置关系。为了便于后续论述,现规定世界坐标系为Base,机械臂末端执行器相对于基座所在的坐标系为B-end,相机坐标系为Camera,标定台所在坐标系为Object。各坐标系相对位置如图2所示。
图2 机械臂手眼标定相对位置关系
可以看出,相机和机械臂基座坐标系是固定不变的,同样标定台相对于机械臂末端之间的坐标变换也是不变的。故存在以下不变量:
(8)
当机械臂进行2次运动,相机运动2次时有:
TB-end1→BaseTBase→CameraTCamera→Object1=TB-end2→Base·
TBase→CameraTCamera→Object2
(9)
对式(9)化简后为
(TB-end2→Base)-1TB-end1→BaseTBase→Camera=TBase→Camera·TCamera→Object2(TCamera→Object1)-1
(10)
为了简化公式,令:
AB=(TB-end2→Base)-1TB-end1→Base
X=TBase→Camera
B=TCamera→Object2(TCamera→Object1)-1
简化后的式(10)改写为
ABX=XB
(11)
上述方程为齐次线性方程组的求解,其中具有代表性的解法为李群代数求解法[8]。文中为了得到唯一解采用取值法,即分别移动机械臂和相机3次进行标定实验,得到机械臂基座相对于末端执行器的3次坐标变换:
(12)
以及3次相机标定相对于初始位置的坐标变换:
(13)
由于上述坐标变换为已知,根据一一对应关系可求解TBase→TCamera,即机械臂基座相对于相机的坐标变换。值得注意的是,由于实验室机械臂的特殊安装方式和便于简化计算,此实验的机械臂世界坐标系和机械臂第2个连杆所在的坐标系重合。
由于通过3D相机扫描出来的点云生成的模型不完整[9],在抓取过程中只能识别单面,而希望当工件无序摆放时,只有正面朝上工件能被识别抓取,反面朝上则不能抓取工件。所以选择3D扫描仪生成的模型进行后续抓取点以及抓取位姿的标定。通过扫描得到的某待抓取物3D点云和3D扫描仪生成的点云如图3所示。
图3 点云图像
2 机械臂数字孪生模型
文中以JL8工业机械臂作为研究对象构建了针对工件抓取的视觉抓取系统。文中构建的数字孪生数据流分为交互层、数据处理层和数据传输层。根据分层策略规则各层数据遵循向下可见原则[10-11]。交互层包括示教器示教物理空间以及虚拟空间中的机械臂,使它能够移动、抓取、显示实时环境状况、碰撞检测等功能,数据处理层负责机械臂正逆解求解、路径生成、最短路径计算、工件识别、工件抓取点计算、指令生成,数据传输层负责虚拟孪生环境和物理空间之间数据的交换、传输。数字孪生系统框架如图4所示。
图4 机械臂数字孪生框架Fig.4 Digital twin frame of manipulator
物理机械臂系统是由机械臂实体、视觉相机、各种传感器、待抓取工件以及控制器组成。物理机械臂抓取过程可以实时映射到虚拟孪生系统中,同时物理机械臂在执行任务过程中受到虚拟空间指令的控制。
虚拟机械臂系统是物理抓取系统在虚拟空间中多维度、全要素的镜像。虚拟抓取系统不仅包含物理系统中的几何模型、物理模型以及相关数据,还包含系统内部的行为约束。通过虚拟系统对抓取任务的仿真、迭代优化、实验验证以及和物理机械臂系统的实时信息交互、数据映射实现对物理机械臂系统的控制、预测。
信息服务平台用来管理和组织整个抓取系统,通过与物理、孪生系统的数据交互实现抓取任务的优化。物理机械臂抓取过程中产生的数据、虚拟机械臂抓取系统产生的仿真数据以及信息服务平台产生的关系数据通过不断优化完善可以更好地驱动三者之间的交互。
3 基于数字孪生的碰撞检测框架
机械臂碰撞检测通常与被抓取工件、机械臂本体以及环境中的其他元素有关,通过对物理空间机械臂本体的虚拟仿真实现了对真实环境的实时动态感知,实现碰撞的实时检测[12]。包围盒的重叠思想是通过比对各方向的最大值和最小值来判断碰撞可能[13-14]。首先需定义2个零部件的在空间中的区间范围,若满足如下条件则可判断2个物体重叠:
xa-MIN≤xb≤xa-MAX
ya-MIN≤yb≤ya-MAX
za-MIN≤zb≤za-MAX
(14)
基于数字孪生的碰撞检测框架如图5所示。
图5 基于数字孪生的机械臂碰撞检测框架Fig.5 Collision detection framework of manipulator based on digital twinning
4 机械臂抓取实验
针对上述提出的手眼标定和模板匹配方法引导工业机械臂进行抓取实验的验证。此实验抓取对象为铸铁工件,工件随意摆放在识别区域,通过激光线扫描工件的3D点云并与模板库中的工件模板进行匹配,根据手眼标定方法计算抓取位姿并发送给机械臂完成抓取并放置工件的任务。其中的虚实环境的通信通过PLC协议使用ControlStudio获取并发送关节数据到CoppeliaSim仿真平台控制虚拟机械臂的运动。抓取过程中虚拟空间和上位机控制界面如图6所示。
图6 抓取过程演示Fig.6 Capture process demonstration:(a)virtual space; (b) control interface
为了增加机械臂系统处理难度,在机械臂工作区域随意摆放3个工件,且其中1个为反面放置,另外2个工件倾斜放置。机械臂移动到工件位置、调整抓取位姿如图7所示。当机械臂抓取工件后,要求它放置指定工位。由于工位的特殊性,要求机械臂以特定位姿放置。
图7 机械臂调整示意Fig.7 Manipulator adjustment signal:(a) grasping position;(b) placement of workpiece
为了验证文中相机标定方法和模板匹配方法的优良性,将待抓取工件放置在工作区域,机械臂运动到抓取坐标并读取示教器中的坐标与姿态。同时控制视觉相机扫描工作区域并记录视觉系统中的工件抓取坐标,计算两者的距离作为误差。实验采取了80组数据,其中5组数据如表1所示。
表1 精度与处理时间Tab.1 Precision and processing time
从实验结果可以看出,相较于传统工业领域0.1 mm的标定精度,文中提出的手眼标定算法的定位精度在0.01~0.05 mm之间。因此,文中提出的方法具有抓取精度高、效率高、位置误差小等优势。从视觉相机识别待抓取工件到机械臂开始运动时间在5.2 s左右,为了保证视觉相机的准确扫描,故设定相机扫描时间为5 s,计算抓取路径时间为0.2 s左右。无序状态下成功抓取工件并正确放置工件的成功率在100%。由于光照情况会影响相机对物体的识别,在不同光照条件下50次实验中的整体抓取成功率可达92%。
5 结语
根据实验室现有实验环境提出新的手眼标定方法,对视觉标定方法进行了系统概述,给出了标定方法的数学模型及基本原理,基于上述理论方法给出了手眼标定基本操作流程,同时实现了物理空间和虚拟空间的实时交互功能,能够更直观地观察实验情况,最后通过工件抓取实验验证了该方法的正确性。从实验结果可以看出:文中提出的手眼标定方法引导机械臂抓取工件的方法精度高,具有良好的抓取性能,可以应用在相关的精度要求高的工业领域。