针对这一问题,本文提出了一种新的视觉伺服控制方法,使得工业机器人只需搭配较低帧率相机,即能完成高动态物体的跟踪。该方法的特点在于视觉伺服所需的反馈信号不仅仅来自相机采集的图像信息,而且还融合了机器人的实时运动信息。借助ABB EGM(external guided motion)模块,将新的伺服控制方法部署在一台ABB IRB 1200 工业机器人上。通过动态物体跟踪实验,基本验证了该方法的可行性,进一步的测试表明,该方法可以使机器人在各种相机帧率下都能实现较高精度的实时追踪。
2.控制器架构
2.1 整体架构
视觉伺服单元由相机、图像处理器、机器人控制器以及视觉伺服控制器构成,如图1所示。固定在机器人末端执行器上的相机用于捕捉工作空间内的视觉信息。图像处理器负责处理相机传来的图像流,从而计算得出目标物体相对于相机的位置。机器人控制器除负责机器人运动控制之外,还通过EGM接口,与视觉伺服控制器按UDP(用户数据报协议)进行通信。视觉伺服控制器一方面通过EGM接收机器人的运动信息,另一方面也接收图像处理器得出的目标位置数据,并根据两者的融合,计算所需的机器人运动控制信号,通过EGM接口送给机器人控制器,由后者控制机器人完成运动指令。
图1 控制系统整体架构
本文所提出的视觉伺服控制架构有别于文献[2-4]中的常规控制架构。在常规的控制架构中,伺服控制器通常仅仅基于视觉传感器的反馈信息来计算机器人的运动控制信号,所以机器人的运动控制频率不得不受限于图像传感器的帧率。因此,使用低帧率相机进行视觉伺服就必然导致较大的时延,从而无法跟踪高动态的运动物体。而本文所提出的视觉伺服控制架构,在控制闭环中额外引入了机器人运动信息,与原有的视觉反馈得到的位置信息融合之后,再计算所需的机器人运动控制信号。这样,机器人的控制频率就仅受限于机器人运动信息的反馈频率。在本文中即等于EGM的反馈频率(250 Hz),这远远高于一般低成本工业相机的帧率(16~60 Hz)。由于机器人控制频率与相机帧率无关,那么低帧率相机也可以用来跟踪高动态的运动物体。
2.2 EGM接口
EGM 接口用于由外部设备来产生机器人参考目标位置的场合,机器人会运动到由EGM接口输入的指定位置。EGM接口旨在给高阶用户提供一个底层的机器人控制接口,从而可以绕开常规的机器人运动规划程序,实现高动态响应的机器人运动。EGM接口可以高速读写机器人运动系统中的机器人位置信息,周期仅为4 ms,根据机器人信号的不同,可能会有10~20 ms的控制时延。运动的参考目标可以由机器人的关节角度指定,也可以由定义在任何一个在EGM运动模式下保持静止的工件坐标系上的机器人末端位姿指定[16]。
图1中也包含EGM的架构。在ABB机器人控制器中,运动控制模块每4 ms调用一次EGM,触发EGM中的两个任务。其中之一从运动控制模块中读取反馈数据,并通过UDP发送给外部控制器。另一个任务从UDP序列中查询外部控制器的信息。如果存在,那么EGM将会读取这条信息,并将位置和速度数据写入运动控制模块。如果UDP序列中不存在相关信息,那么运动控制模块继续使用上一周期中EGM写入的位置和速度数据。在视觉伺服控制中,位置和速度数据也是以4 ms为周期发送的,与运动控制模块调用EGM的周期相同。EGM的输入数据可以是机器人的六关节数据,也可以是六自由度的姿态数据,即三自由度直角坐标位置(x,y,z)和三自由度欧拉角(rx,ry,rz)。
2.3 图像处理器
在视觉伺服控制中,图像处理器将相机捕捉到的图像信息转换为相机坐标系中的位置信息。这个过程包含两个子过程:特征定位和坐标计算。前者在图像中搜寻目标物体的特征;后者根据该特征在图像中的尺寸和位置,计算目标物体在相机坐标系中的坐标。这两个过程都是相对成熟的技术,原理方法、应用实施等均已在诸多文献中论及,本文不再赘述。
得出目标物体的坐标之后,图像处理器会将其作为视觉反馈信号传送给视觉伺服控制器。如前所述,本文所提出的视觉控制架构对生成和发送视觉反馈信号的速率没有过高的要求。图像处理器不必像EGM反馈一样每4 ms向视觉伺服控制器发送视觉反馈信号。得益于此,较低的图像处理速率(如16~200 Hz),也是可接受的。甚至丢失图像流中的某些帧,也不会影响视觉伺服控制的效果。这样,就大大降低了对相机和图像处理器的要求;成本也相应地降低了。
3.视觉伺服跟踪实验
为了验证所提出方法的有效性,本文实施了两组实验,分别是动态运动物体跟踪实验和低帧率条件下的伺服性能测试实验。两组实验均利用一台搭载EGM 的ABB IRB 1200工业机器人进行。该机器人末端执行器上安装有一台帧率为200 Hz的高速相机。该相机可以通过设置采样频率主动降低帧率的方式,模拟低帧率相机的特性。机器人和高速相机均与一台普通计算机相连,本文所提出的视觉伺服控制方法即部署在这台计算机上。
3.1 动态物体跟踪实验
3.1.1 实验设置
该实验用以展示所提出的视觉伺服控制方法对于一个动态运动物体的跟踪能力。实验设置如图2所示,图2(a)中白色圆球为跟踪的目标物体。它是一个由操作者通过手机或平板电脑遥控的球形机器人,能在平面上向任意方向滚动。实验中球形机器人的运动完全由操作者遥控,是IRB 1200无法预知的。在实验过程中,IRB 1200机器人首先在距离目标运动平面200 mm的高度等待。当目标进入机器人视野后,机器人一边跟踪目标一边降低至距离运动平面10 mm高处,并伺机进行抓取。需要说明的是,为了验证所提出视觉伺服方法的可行性,该实验中相机的帧率仍为200 Hz,并未设置为较低帧率。低帧率条件的性能测试将在下节进行。
3.1.2 实验结果
实验结果表明,所提出的视觉伺服方法能成功地实现机器人对于任意运动目标的跟踪。图3截取了跟踪过程中3种典型的目标运动轨迹下机器人的跟踪结果。
由于基于图像的目标速度估计具有较大的测量噪声,因此图3将机器人在跟踪过程中的速度作为目标运动速度的一个参考数据给出。**条轨迹中物体沿着一条直线运动,*大运动速度为483 mm/s,产生的跟踪误差均值为3.1 mm。第二条物体运动轨迹为一条平滑曲线,具有380 mm/s的*大速度,产生的跟踪误差均值为5.2 mm。第三条物体运动轨迹为一个带有速度突变的曲线,在该状态下,产生的跟踪误差均值为6.5 mm。由实验结果可以看到,系统对随机运动的物体能够进行有效的跟踪,但是物体运动速度的突然变化,会产生较大的跟踪误差。当物体恢复平稳的运动以后,控制器才能够有效地跟踪物体并进行抓取。
3.2 低帧率条件下的伺服性能测试实验
3.2.1 实验装置
在该实验中,人为地将相机帧率降低至16 Hz,并定量测试了所提出的视觉伺服方法在高帧率和低帧率条件下的跟踪性能,实验设置如图4所示。机器人的配置与3.1节中一致,均为搭载EGM的ABB IRB 1200,相机安装在其末端执行器上。机器人需要跟踪一个放置在二维运动平台上、以设定速度和轨迹运动的物体。由于本文不关注视觉算法的测试和验证,因此均选用具有简单特征的物体作为跟踪目标。在该部分实验中,目标物体是一个如图3左上角所示的正方形的物块,该物块上有3个圆形特征用以进行视觉定位。
图4 伺服性能测试实验平台
该实验包括两组测试,一组是对静态物体的跟踪性能测试,另一组是对运动物体的跟踪性能测试。在静态物体跟踪测试中,机器人在距离物体180 mm高度的平面进行搜索,检测到目标物体以后,就迅速移动并靠近物体进行抓取。该测试比较了传统方法与本文所提出的方法在不同相机帧率下收敛速度以及收敛误差的大小。在动态物体跟踪测试中,目标物体沿着一条半径为100 mm的圆形轨迹,按照设定的线速度运动。机器人需要通过视觉伺服对该运动物体进行跟踪,跟踪性能通过比较不同相机帧率和不同速度下的误差大小来评估。需要再次指明的是,在测试中,高速相机始终用作感知模块,低帧率条件是通过人为降低高速相机的帧率来实现的。这样可以避免频繁更换相机所引起的安装、标定等误差。
3.2.2 实验结果
(1)静态跟踪结果
静态跟踪实验中,非EGM视觉伺服的结果如图5和图6所示。图像数据每秒钟采样200次,之后图像处理器将图像信息转换为位置偏差,以200 Hz或者16 Hz的频率传递给视觉伺服控制器。由实验结果可以看到,当图像帧率降低以后,在跟踪过程中将产生更大的超调和震荡。*大超调为4.1 mm,并且在开始运动2 s后才停止震荡。
本文所提出的基于EGM的视觉伺服的结果如图7和图8所示。由实验结果可以看到,在200 Hz的图像帧率下,非EGM视觉伺服方法和基于EGM的方法的性能差异不大。而在低帧率下,基于EGM的视觉伺服方法具有更好的性能。这是由于该方法通过EGM的反馈信号以及图像信息共同计算了目标的实际位置,作为机器人的运动目标。这样,即使相机的帧率降低,机器人依然可以通过EGM的反馈信息保持运动控制的频率。这个特性大大降低了机器人末端的震荡,超调也降低到了0.91 mm。
(2)动态跟踪结果
图9展示了两种视觉伺服方法在跟踪一个以100 mm/s的速度沿半径为100 mm的圆进行圆周运动的物体时的跟踪结果。从图中可以看到,非EGM方法在高帧率时能够对物体进行跟踪,但是会有一定的跟踪误差波动。然而当帧率下降到16 Hz时,非EGM方法会产生较大的跟踪误差从而导致剧烈的震荡。与之相比,本文所提出的视觉伺服方法无论在高帧率还是低帧率情况下,都能够实现更好的跟踪性能。这正是由于该方法不断根据EGM的反馈信息以及图像信息对物体运动进行了估计,以此提高了对于动态物体跟踪的性能。
图9 对圆周运动物体稳定状态下的跟踪误差曲线
此外,本文进一步测试了不同帧率不同物体运动速度的组合下,所提出方法的跟踪性能,并将结果记录在表1中。由于物体沿着一个半径为100 mm的圆进行圆周运动,因此更高的运动速度意味着物体有更高的加速度。表1中记录了不同加速度下,跟踪误差波动的峰峰值。通过表1可以看到,更大的加速度会导致更大的误差波动,但是本文所提出的视觉伺服方法对于相机帧率的变化依然有较好的适应能力,在不同帧率下依然能够保持近似的跟踪性能。这表明,在实际运用中,可以使用低帧率的相机进行视觉伺服以降低相机成本。