基于图像处理的低误差机械臂位姿检测仿真

2022-04-19 00:47高一凡陈立祥
计算机仿真 2022年3期
关键词:位姿柔性机械

高一凡,陈立祥

(1.长安大学 工程机械学院,陕西 西安 710018;2.天津科技大学 理学院,天津 300222)

1 引言

随着计算机领域及机器视觉领域的迅速发展,机器人已是现代社会中的热门领域。现如今机器人的种类繁多,例如:串联、并联以及混联机器人等[1],其不同之处在于关节连接方式的差异[2]。传统柔性机械臂的结构装备精度不够准确,无法感知机器人的位姿,使柔性机械臂的运动性能存有误差,存在机器部件破损、破坏物体等问题。因此,为保证柔性机械臂能够高效运行,需要对柔性机械臂位姿进行有效检测。

余峰[3]等人提出基于多传感器融合的柔性机械臂姿态检测方法。该方法采用变形补偿末端位置方法对变形后的柔性臂进行检测,计算检测后的机械臂数据获取柔性臂姿态和尾端变形量,在此搭建两个自由柔性臂,测算其精准度是否满足测量精度要求,实现柔性机械臂位姿检测,该方法没有对图像进行去噪预处理,导致柔性机械臂位姿检测具有偏差,检测偏航角的误差大。

杨聚庆[4]等人提出机械臂全工作空间域非参数约束位姿检测方法。该方法通过非参数化约束的运动学误差及动态估算建立了机械臂位姿误差模型,将末端位姿误差产生的多种原因总结成机械臂转角变量的动态函数,再通过对位姿的多关节坐标系进行设计,完成对机械臂的位姿检测,该方法没有采用中止滤波算法解决图像中存在干扰噪声的问题,导致图像信息数据过多,检测俯仰角的偏差大。

雷洋[5]等人提出基于非刚体静力模型的微型机械臂姿态检测方法。该方法将构建的非刚体静力模型中10个关节变量转换成两个变量,分别是位移变量和张力变量,利用传感器对机械臂末端进行测量,将其结果进行误差对比,完成机械臂的位姿检测,该方法在建立非刚体静力模型前没有降低图像噪声,导致机械臂位姿偏差精准度低,说明该方法的图像匹配真实性差,存在机械臂位姿检测滚转角误差大的问题。

为解决上述方法中存在的问题,提出新的基于机械视觉的柔性机械臂位姿检测方法。

2 柔性机械臂位姿检测

2.1 图像采集及展示

机械视觉的柔性机械臂位姿检测主要利用TL5147采集机械臂位姿图像,并对采集图像进行解码和A/D转换操作,将其信号转变成数字信号,实现机械视觉的柔性机械臂位姿图像采集。

通过采集模块对图像进行采集,利用双重缓冲模式解决显示器出现的闪屏问题[6]。采用EDMA传输方式对图像进行传输操作,这个操作不需要经过CPU访问存储器,减小了CPU的负担,提升了程序的工作效率。且在图像采集过程中每个内存都具有两种方案,在确保数据采集不会被覆盖的情况下又保证了显示图像时LCD不会闪屏。

2.2 机械臂位姿图像预处理

利用相机内部元件对摄像头拍摄到的原始图像进行优化处理,被优化后的图像依旧存在少许干扰噪声,对后期特征提取的精准度有很大影响,为解决这一问题,需要提前对图像进行预处理。其经常使用的图像预处理算法具有以下几种:

1)灰度化:利用加权平均法对RGB分量进行加权平均,待图像逐渐变成灰色时就是与条件相符的灰度图像,算法如下表示:

(1)

式中,R、G、B分别代表图像的三个灰度值分量。

2)图像滤波:图像滤波一般使用中值、均值和拉普拉斯算子三种滤波方法,通过CCD采集的图像中大多存在椒盐噪声,所以选择中值滤波算法[6]。

3)二值化:像素中的灰度值需要通过二值化方法处理转换,一般转换为0和255,其公式表示如下:

(2)

方程中,GT表示二值化阈值;I1(x,y)与I2(x,y)表示像素值(x,y)。当自定义阈值像素点小于等于灰度值时,选择255灰度值;当自定义阈值像素点大于等于灰度值时,选择0灰度值。

4)边缘检测:针对边缘的检测通常使用Sobel算子模板,将两组横纵向相同的矩阵作为检测模板,逐次卷积两组矩阵,获取横纵向亮度差,设A表示初始图像矩阵,该方程表达式如下:

(3)

式中,Gx代表纵向图像检测;Gy代表横向图像检测。

其中,图像中横纵向像素梯度近似值G的表达式为G=|Gx|+|Gy|。

5)连通域的检测和质心提取:提取图像时使用连通域检测[7-8],其算法流程为,利用行号对像素进行扫描处理,将每一段出现的连续白色像素标记出来,并将标记后的白色像素设置成团,对行号中团的起始位置及结束位置进行有效记录;除了第一行的团以外,其他团都需要与上一行的团连接在一起成为最小号码,再与上一行连接团组建成等价序列,其号码编写保持相同;连通域平均像素坐标点为连通域质心坐标。

2.3 求解特征点三维坐标

取得连通域质心坐标后,需要将特征点的图像坐标和特征点的靶标空间坐标结合起来,构建一个相应算法模型,对相机及靶标两个坐标系空间位姿进行求解。其中,为了保证系统的稳定性,利用单目视觉位姿算法至少采取3个选定的坐标值特征点,这样可以使用相机投影模型对空间坐标系中的位姿进行计算。

机械视觉测量原理图如图1所示。

图1 机械视觉测量原理图

(4)

(5)

(6)

设三角形ΔOcP1P2、ΔOcP2P3和ΔOcP1P3的P1P2长度为a,P2P3的长度为b,P1P3的长度为c,其长度可以提前在实验室中标记出来。根据三角形余弦定理,建立S1、S2和S3的三个方程,表示如下:

(7)

对方程组进行求解获取S1、S2、S3的数值,再对特征点P1、P2和P3进行求解计算出在相机坐标系下的坐标值。

方程Pi=siJi,i=1,2,3也可以对剩下的两个空间点进行求解,得出相机坐标系下的坐标值。

2.4 位姿检测

利用5个空间坐标值对5个相机坐标值进行求解,得出二者之间的相对位置关系。设{Mwi}代表世界坐标特征点,{Mpi}代表相机坐标特征点,i=5,其变换关系为Mw=R(Mp)+T。

式中,T表示平移量,经旋转后Mp代表的是R(Mp)。

由于数据都存有一定误差,所以存在误差的方程式表示为ei=Mwi-R(Mpi)-T。

即所有特征点的中心可用方程表示为:

(8)

新坐标表示为

(9)

变换成新的误差,用方程定义如下:

(10)

(11)

(12)

通过单目视觉测量方法完成图像采集及处理,提取具有特征点的连通域质心,利用三角形原理标记出空间坐标值和相机坐标值,采用四元数法解算相机坐标系和靶标坐标系的位姿关系,进而得到水平方向的平移量,实现柔性机械臂位姿检测。

3 实验与分析

为验证基于机械视觉的柔性机械臂位姿检测方法的整体有效性,需要对基于机械视觉的柔性机械臂位姿检测方法进行检测,本次实验平台为:CPU:Intel Xeon E5-2620 双CPU,2*8核;机箱:DELL7610机箱;内存:64GB;硬盘:4T;显卡:NVIDIA NVS 310。

采用基于机械视觉的柔性机械臂位姿检测方法(方法1)、基于多传感器融合的柔性机械臂姿态检测方法(方法2)和机械臂全工作空间域非参数约束位姿检测方法(方法3)对柔性机械臂的位姿进行检测。

图2 俯仰角测量角度与实际角度对比

针对方法1、方法2和方法3的测量俯仰角与实际角度进行比较,测量角度与实际角度越近,说明该方法的准确度越高。由图2可知,方法1与实际角度波动轨迹相似,而方法2的角度波动轨迹剧烈,与实际角度相差过远,方法3的角度波动轨迹平稳,但与实际角度差距过高,由此可知,方法2与方法3俯仰角测量结果都与实际角度存在差距,所以位姿测量准确度低。

综上所述,方法1在进行柔性机械臂位姿俯仰角测试与实际角度对比时,俯仰角结果与实际角度差距小,波动值相似,准确度高,因为该方法在采集图像时预先进行图像降噪预处理,使图像恢复真实信息,有效提升了特征提取的精准度。

基于上述实验,选取六组偏航角的测量结果与实际偏航角进行比较,具体结果如表1所示:

表1 偏航角测量结果

分析表1数据可知,当选取时间为5min、10min、15min、20min、25min和30min时,偏航角实际距离分别为15°、30°、50°、70°、75°和78°,方法1与实际角度完全相符,测量结果的精确值极高;经对比发现,方法2和方法3的测量角度与实际角度都存有偏差,测量结果相距实际角度数值时而偏大时而偏小,数值不够稳定,所以在位姿检测中方法2与方法3的有效性较低。

经上述分析可知,方法1进行机械臂位姿偏航角测量角度与实际偏航角角度比较测试时,测量结果基本符合实际角度,位姿测量精准度高,因为方法1利用中值滤波算法解决了图像干扰噪声的问题,消除了图像中的无关信息,提高了图像识别的可靠性。

采用方法1、方法2和方法3对柔性机械臂位姿的滚转角测量结果与实际角度进行比较,分析图3数据可知,在滚转角的角度不断增加时,方法1与实际角度的波动轨迹和角度大小基本吻合,说明方法1的切实性高;方法2的测量角度随着滚转角角度的增加而变化,测量角度与实际角度波动轨迹相差过大且测量数据值不稳定;方法3的测量角度波动轨迹小,但与实际角度存有差异,因而在测试过程中,方法2与方法3的测量误差比方法1大,在滚转角测试中准确值低。

图3 滚转角测量角度与实际角度比较

综合分析可知,方法1进行柔性机械臂位姿滚转角测量结果与实际角度比较测试时,该方法的测量角度与实际角度差距小,数值基本相符,说明测量机械臂的滚转角位姿准确值较高,因为该方法利用灰度化算法减弱图像噪声,减少了图像处理的数据量,提高了图像匹配的真实性。

4 结束语

现如今机器视觉领域发展迅速,机器人种类繁多,传统的柔性机械臂已经不能感知机器人的位姿。因此,为了保证柔性机械臂能够有效运行,提出基于机械视觉的柔性机械臂位姿检测方法。经研究发现,传统机械视觉的柔性机械臂位姿检测存在机械臂位姿俯仰角误差大、位姿偏航角误差高和位姿滚转角偏差大的问题。针对以上问题提出基于机械视觉的柔性机械臂位姿检测方法,通过采集柔性机械臂位姿图像,实现机械臂位姿图像预处理,将获取的特征点坐标值进行计算求解,完成对机械视觉的柔性机械臂位姿检测,提高了柔性机械臂位姿有效性及实用性,解决了传统方法中存在的问题,为今后柔性机械臂位姿检测奠定了重要基础。

猜你喜欢
位姿柔性机械
柔性接口铸铁排水管在建筑排水工程中的应用
一种柔性复合高导热索制备及应用
中小企业柔性体系的协同与共治机理
基于PLC的六自由度焊接机器人手臂设计与应用
基于位置依赖的密集融合的6D位姿估计方法
调试机械臂
曲柄摇杆机构的动力学仿真
简单机械
按摩机械臂
柔性的思维