视觉伺服利用视觉传感器间接检测目标物体和机械臂的实际位姿或相对位姿,并以此实现机械臂对目标物体的跟踪或定位控制.传统的视觉伺服系统作业前需要精密的标定以获得机械臂系统和视觉系统参数,如相机标定、手眼标定、机器人标定等.标定过程精密繁琐,在一些特殊情况下几乎不可能完成.相比之下,无标定视觉伺服无需预先进行系统标定,通过对控制律的研究来控制机械臂运动,在控制成本、控制时间、便捷性和性能等方面表现更优良.在自动化、智能化的发展趋势下,无标定视觉伺服无疑拥有更大的发展潜力[1-3].
视觉跟踪控制涉及领域众多,包括机器人学、图像处理、控制理论、计算机技术等多个领域,一直以来受到各领域学者及工业界的广泛关注.按照跟踪目标是否运动,视觉跟踪可以分为静态目标跟踪和动态目标跟踪两类.其中,静态目标跟踪可以视为速度为零的动态目标跟踪.
Piepmeier等在无需进行系统标定的情况下,将动态Broyden算法和递归最小二乘(RLS)算法应用到伺服控制系统中来跟踪动态目标,并通过仿真验证了系统的有效性[4];Bonkovic等在无标定视觉伺服控制系统中应用基于群体的Broyden(BP)算法跟踪动态目标,通过仿真验证了系统优良的跟踪性能[5];清华大学Hao等在伺服控制系统中分别应用动态Broyden算法、RLS算法、BP算法[1]和卡尔曼滤波方法跟踪动态目标,比较不同算法在不同场景下的性能[6];Music′等在Hao等工作的基础上,在伺服控制系统中应用粒子滤波算法对动态目标进行跟踪[7].上述研究者应用不同算法跟踪动态目标时,跟踪策略中未考虑由开始跟踪目标到成功跟踪目标这一过程的时间效率问题.
本文从提高动态目标跟踪的时间效率出发,考虑图像特征提取频率和提取时间对跟踪效率的影响,提出了一种新的跟踪策略.
1 传统跟踪策略与新跟踪策略雅克比矩阵描述图像特征变化速度与关节角变化速度之间的关系.计算雅克比矩阵的算法有很多,如动态Broyden算法、RLS算法、BP算法、卡尔曼滤波法等[4-6].由于传统跟踪策略和新跟踪策略均可以应用不同的算法计算雅克比矩阵,本文在介绍无标定视觉伺服跟踪策略时,以RLS算法为例.
图 1为机械臂与目标相对位置示意图.如图所示,在传统跟踪策略中,机械臂末端位置θk+1由目标位置Objk计算而来.机械臂由θk运动至θk+1,末端位置接近Objk.但此时,目标已由Objk运动到Objk+1,并非停留在Objk处.运动后末端位置滞后于目标实际位置.尽管重复该过程,末端与目标距离越来越小直至成功跟踪,但是仍损失了跟踪的时间效率.
假设以下不等式成立
(1) |
式中:tfc为进行一次特征提取和计算的时间;Δt为图像捕捉时间间隔;n为使式(1)成立的最小正整数.
表 1为两种跟踪策略的算法流程,其中:θk为第k次迭代时的机械臂关节角向量;Jk为第k次迭代时的雅克比矩阵;fk为第k次迭代时的目标函数;Pk为遗忘因子比例矩阵;λ为遗忘因子常数[4].
定义机械臂1个图像捕捉间隙Δt所走的关节角向量θΔt,如式(2)所示.其中,ωmax为关节运动速度;θk+1-θk=[Δq1,…,Δqn]T;θk+1-θk所有元素中绝对值最大的元素为Δqmax.
(2) |
为提高跟踪效率,一方面,新跟踪策略控制机械臂不停歇地以ωmax运动,以保证机械臂的跟踪速度;另一方面,控制系统使用尽可能新的图像计算关节角,以提高系统的实时性.
为了最大限度使用实时图像信息,每获取n张图像进行一次特征提取和计算.系统特征提取和计算用时tfc,机械臂运动nθΔt用时nΔt.由于控制器根据特征提取和计算结果控制机械臂运动, 故nΔt时间内,无法完成上述两行为.若每获取2n张图像进行一次特征提取和计算,以下方法可完成任务.一方面,若计算结果θk+1距离θk过远,等比例缩小θk+1-θk的数值,以提高特征识别和计算的频率;另一方面,在计算结果θk+1的基础上,预测nθΔt的关节角,由于θk+1+nθΔt不依赖于下一次的特征提取与计算结果,所以,机械臂由θk+1运动至θk+1+nθΔt的过程可与下一次的特征提取与计算行为同时进行.
2 仿真实验结果 2.1 仿真实验介绍如图 2所示,使用Machine Vision Toolbox[8]和Robotics Toolbox[9]建立ABB IRB1200机械臂模型和CentralCamera相机模型,并在Matlab软件中编写不同策略控制程序,基于此建立仿真环境.其中:机械臂模型的D-H参数如表 2所示;相机配置为1024×1024像素,焦距8mm,像素尺寸10μm;使用RLS算法计算关节角;ωmax设置为16.5(°)/s;相机图像捕捉速度30帧/s,即Δt为1/30s;特征提取时间为25ms,计算时间3.3ms,即tfc等于28.3ms.
根据传统跟踪策略和快速跟踪策略构建两个无标定视觉伺服系统,控制机械臂的第二、第三关节在世界坐标系的XOZ平面追踪目标物体.目标物体分别沿式(3)描述的直线运动和式(4)描述的圆形运动.为了模拟现实情况,在仿真实验中,为观测数据添加均值为0、方差为1的高斯白噪声.
(3) |
(4) |
图 3a和图 3b分别表示目标沿式(3)和式(4)描述的曲线运动时,观测噪声方差σ2=1条件下,不同策略的跟踪轨迹.图 3a中,目标由图左上角向右下角方向运动;图 3b中,目标沿图中顺时针方向运动.
传统策略轨迹和新策略轨迹由起始点到第一个拐点之间的轨迹重合.该轨迹表示机械臂由θ0运动到θ1的末端轨迹.θ0,θ1为RLS算法计算的初始关节角,由于两种策略初始关节角相同,所以此段轨迹重合.
由图 3可知,新策略的轨迹比传统策略的轨迹短;新策略的轨迹方向不停向目标运动方向缓慢变化,传统策略的轨迹方向在拐点处大幅变化,在两拐点之间轨迹方向几乎不变.新策略轨迹不停向目标运动方向运动,证明新策略相比于传统策略有更好的实时性.
相比于新策略,传统策略的跟踪轨迹在目标轨迹附近有明显波动,新策略的跟踪轨迹接近目标轨迹后与目标轨迹近似重合,无明显波动.通过估计得到的初始雅克比矩阵[10]并不精确,而不同的算法每次计算都会修正雅克比矩阵.因此,随着计算次数的增加,雅克比矩阵越来越精确,计算出的关节角对应的末端位置与目标位置的误差越来越小.传统策略在每个轨迹拐点处计算一次雅克比矩阵和关节角;新策略最大移动2θΔt便进行一次计算,雅克比矩阵不精确带来的误差只作用在新策略跟踪轨迹的起始几步的一小段距离,影响极小,在轨迹图上无法分辨.传统策略初始移动距离长,受雅克比矩阵估计误差影响大,初始移动时机械臂末端超出相机视野范围风险大.
传统策略轨迹与目标轨迹近似重合后,传统策略轨迹和新策略轨迹之间无显著差别.这是因为此时机械臂末端与目标非常接近,机械臂每次移动的关节角较小.而当|θk+1-θk|≤2nθΔt时,新策略与传统策略相同,所以此部分轨迹无显著差别.
图 4a和图 4b分别表示目标沿式(3)和式(4)描述的曲线运动时,观测噪声方差σ2=1条件下,不同策略下机械臂末端和目标之间的距离-时间曲线.
图 4中,初始时,新策略与传统策略曲线完全重合;随后,新策略曲线用更短的时间收敛;传统策略曲线经过几次波动后达到收敛位置.两策略曲线均收敛后,两曲线变化规律相似.
设某时刻机械臂末端和目标在像素平面上的坐标分别为(uend,vend), (uobj,vobj),机械臂末端和目标之间距离d为
(5) |
表 3记录了机械臂末端与目标之间距离由起始到第一次小于一个像素的时间,记为收敛时间.每种情况重复10次实验并取平均值,记录收敛时间.由表 3可得,相比于传统策略,当系统应用新策略且目标沿着式(3)所描述的直线运动时,收敛效率提升了约46%;跟踪沿式(4)圆形运动的目标时,收敛效率提升了约60%.证明了新策略收敛的快速性.
实验设备主要包括ABB机械臂、台式电脑和Kinect v1相机,如图 5所示.其中:ABB机械臂型号为IRB1200,D-H参数见表 2;台式电脑CPU型号为AMD速龙200GE,运行内存8GB;相机的图像捕捉频率为30帧/s,分辨率为640×480.
机械臂初始关节角向量θ0为[0,-5π/180]T,θ1为[π/90,-2π/45]T,单位为rad;最大关节角速度ωmax设置为21(°)/s;初始雅克比矩阵为
一次特征提取时间约为23ms;计算时间小于0.1ms;一次特征提取和计算的时间和tfc约为23ms;图像捕捉间隔Δt=1/30s;使式(1)成立的最小正整数n为1.
3.2 实验结果在图 6a中,目标由轨迹的左上端向右下端运动;传统策略的跟踪轨迹与目标轨迹近似重合前有明显波动,新策略跟踪轨迹无明显波动.证明新策略对初始雅克比矩阵误差具有更高的抗干扰性.
在图 6a中,传统策略的轨迹方向在拐点前后大幅变化,拐点之间无明显变化,其轨迹方向并非总是指向目标位置;新策略的轨迹方向一直向目标运动方向缓慢变化.图 6b中,传统策略下,目标与机械臂距离有较大波动;新策略下距离近似直线减小.证明新策略相比于传统策略有更好的实时性.
在图 6b中,传统策略收敛时间约为5.3s;新策略收敛时间约为3s;证明了新策略收敛的快速性.
4 结语本文提出一种新的无标定视觉伺服跟踪策略.一方面,系统通过预测机械臂关节角,使控制器行为与机械臂运动并行进行;另一方面,系统使用更实时的图像信息计算关节角.在仿真和实物实验中,通过对比跟踪时间、跟踪路径,验证了新策略的快速性、实时性和对初始雅克比矩阵误差的抗干扰性.
[1] |
Shi Y Q, Li X, Zhang X, et al. Reversible data hiding:advances in the past two decades[J]. IEEE Access, 2016, 4: 3210-3237. |
[2] |
Choi K, Pun C, Chen C L, et al. Application of a generalized difference expansion based reversible audio data hiding algorithm[J]. Multimedia Tools and Applications, 2015, 74(6): 1961-1982. |
[3] |
Zhao J, Li Z. Three-dimensional histogram shifting for reversible data hiding[J]. Multimedia Systems, 2018, 24(1): 95-109. |
[4] |
Ni Z, Shi Y Q, Ansari N, et al. Reversible data hiding[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2006, 16(3): 354-362. |
[5] |
Li X, Li B, Yang B, et al. A general framework to histogram-shifting-based reversible data hiding[J]. IEEE Transactions on Image Processing, 2013, 22(6): 2181-2191. |
[6] |
Tsai Y Y, Tsai D S, Liu C L. Reversible data hiding scheme based on neighboring pixel differences[J]. Digital Signal Processing, 2013, 23(3): 919-927. |
[7] |
Liu L, Chang C C, Wang A. Reversible data hiding scheme based on histogram shifting of n-bit planes[J]. Multimedia Tools and Applications, 2016, 75(8): 11311-11326. |
[8] |
Jhou C Y, Pan J S, Chou D.Reversible data hiding base on histogram shift for 3D vertex[C]//Proceedings of 3rd International Conference on Intelligent Information Hiding and Multimedia Signal Processing.Taiwan, 2007: 365-370.
|
[9] |
Chuang C H, Cheng C W, Yen Z Y.Reversible data hiding with affine invariance for 3D models[C]//Proceedings of IET International Conference on Frontier Computing Theory, Technologies and Applications.Taiwan, 2010: 77-81.
|
[10] |
Huang H C, Fang W C, Tsai I T.Reversible data hiding using histogram-based difference expansion[C]//Proceedings of IEEE International Symposium on Circuits and Systems.Taiwan, 2009: 1661-1664.
|
[11] |
Wu H T, Dugelay J L.Reversible watermarking of 3D mesh models by prediction-error expansion[C]//Proceedings of IEEE 10th Workshop on Multimedia Signal Processing.Queensland, 2008: 797-802.
|
[12] |
Jiang R, Zhang W, Hou D, et al. Reversible data hiding for 3D mesh models with three-dimensional prediction-error histogram modification[J]. Multimedia Tools and Applications, 2018, 77(5): 5263-5280. |