关键词:仿人机器人;视觉跟踪;RTlinux
Abstract: The tracking of a moving object is one of the most important technologies in robot vision domain. The visual tracking system of a humanoid robot is designed. Two computers are embedded in the robot in order to ensure real time tracking of a moving object. Computers are linked with each other through Memolink communication module. One computer is responsible for segmenting the moving object from the video rapidly, estimating and predicting the states of the object. The other is used for the motion control of the robot. The information processing sub-system uses Windows as OS. Motion control sub-system adopts RTLinux as the platform and the conventional PD controller is used to control joints motion. Experiments show the effectiveness and robustness of the system.
Key words: Humanoid robot; Visual Tracking; RTLinux
0 引言
仿人机器人的头部视觉跟踪系统利用视觉信息作为反馈,来规划机器人的头部运动使其能实时的跟踪运动目标。视觉跟踪是仿人机器人的重要功能之一,它的研究对于仿人机器人的自主导航、人机交互以及视觉伺服都具有极其重要的意义。
视觉跟踪的实时性是仿人机器人的重要性能要求之一。针对这一系统要求,近年来有很多学者设计出了多种系统结构。文[1]中作者设计了一种基于CAN总线的分布式的仿人机器人的控制系统,其中的视觉系统通过无线局域网与控制系统进行通讯。日本仿人机器人ASIMO的运动控制系统采用集中式控制方式,视觉系统通过网络与运动控制系统通讯[2]。一台计算机难以满足视觉跟踪的实时性要求,为了实现实时跟踪,本文提出并实现了一种基于MemoLink通讯的双计算机的视觉跟踪系统。该系统通讯可靠、体积小,便于将两台计算机安置于仿人机器人的胸腔内。
目标分割的稳定性是机器人视觉跟踪系统的重要要求之一,近几年来很多学者对这个领域进行了研究,大多数的机器人目标跟踪系统选用了单一的图像信息,有的采用了物体的颜色信息[3],有的采用了物体的轮廓信息[4]。然而在复杂的非结构化的室内背景下,单一的图像信息不能保证系统稳定的分割出目标。多种图像信息的融合是解决目标物体识别稳定性的方法之一[5]。本文中作者提出了一种集成深度、颜色和形状信息的逐步逼近目标区域的快速目标分割方法
1 系统结构
仿人机器人BHR1的系统结构如图1所示,其全身有32个自由度,其中头部有2个自由度,可以在两个方向上自由转动,即左右转动和上下转动。面部放置两只CCD摄像头作为视觉传感器来模拟人的眼睛。采用SVS立体视觉处理系统处理视觉信息,SVS系统提供了每帧图像的深度图像[6]。
图1 仿人型机器人(BHR1)跟踪系统的系统结构
两台计算机置于机器人的胸腔内,其中一台计算机负责视觉信息的处理,另外一台负责机器人的运动控制。前者被称之为信息处理子系统,后者被称为运动控制子系统, 两台计算机通过Memolink进行通讯。信息处理子系统利用Windows强大的多媒体功能来处理立体视觉信息,实现目标的快速分割以及物体的运动估计和预测。运动控制子系统以Linux/RT-Linux实时操作系统作为平台,保证了机器人控制系统的实时性。除了头部运动关节,运动控制系统负责仿人机器人全部关节的控制。Memolink 是系统间进行快速通信的一种有效解决方案,是连接信息处理子系统和运动控制子系统的桥梁。具有通信速度快和通信前无需握手的优点。
整个跟踪过程执行如下的循环:搜索目标——发现目标——匹配——状态估计和预测——运动控制。不同的匹配方法应用产生了不同的跟踪方法。本文中作者提出了一种融合深度、颜色和形状信息的逐步逼近目标区域的快速分割方法。在实时的跟踪系统中,运动估计和预测有效的减少了检测区域,提高了系统的跟踪速度。研究中采用经典的卡尔曼滤波器进行运动目标的状态估计和预测。
2 基于多图像信息的目标分割方法
视觉信息处理子系统完成目标物体的快速分割,同时估计和预测目标物体的运动信息,把目标物体的位置信息实时地传递给运动控制子系统。目标识别的稳定性对整个跟踪系统的稳定性起着至关重要的作用。
在复杂背景的非结构化的室内环境下,用于机器人视觉跟踪的图像信息有:深度、颜色、形状、边缘、运动等。基于多信息的运动目标的分割方法中,所选取的信息应该具有互补性。物体的颜色是物体最显著的特征,适合用于目标的跟踪。但是当背景中包含同样颜色的物体时,基于颜色的跟踪将会失败。深度信息有助于系统得到粗略的前景区域,也就是包含运动物体的目标候选窗口,另外基于深度分割的粗略前景轮廓的获得计算量小,速度快。基于RHT(Random Hough transform)算法的形状检测器可以检测各种不同的几何形状,比如:椭圆形、三角形和多边形,进而把目标候选区域中相同颜色的物体区别开来。
图2 视频序列中运动目标分割过程
图3 复杂场景中目标物体的分割结果
本文利用仿人机器人的立体视觉系统,设计了融合深度,颜色,形状信息的逐步逼近目标区域的快速跟踪方法。图2为视频序列中运动目标的分割过程。首先利用深度信息把机器人关心的前景区域分割出来,得到ROF(Region of Foregroud)区域,即粗略的目标候选区域。在ROF中使用颜色滤波器分割,得到ROIC(Region of Interest Color)区域。最后形状检测器可以把相同颜色的物体区别开来。在分割过程中,候选目标区域逐步缩小并逼近目标区域。逐步缩小的候选目标区域减少了计算量,提高了系统的运算速度。同时,该方法有效的避免了场景中相同颜色物体的干扰,提高了目标分割的稳定性。图3显示了目标物体的分割结果。
3 运动控制子系统
3.1运动控制系统的结构
机器人的运动控制子系统是一个典型的计算机控制系统。机器人头部的控制目的是为了机器人的头部能够实时跟踪运动目标,因此实际控制信号输入量是根据目标物体的位置信息求得的规划数据。在反馈信号的输入方面,因为被控对象是电机转动的角度,用电机上面的轴角编码器的输出作为反馈信号。
系统使用了一套多功能接口板,将所有的A/D转换、D/A转换、ENC(encoder)、PWM、IO等多种功能都集成在该接口板上,提高了系统的集成性并减小了系统体积和重量。多功能接口板上上的ENC接口来作为反馈信号的输入通道,它可以测量轴角编码器的脉冲输出个数。每个运动关节采用经典的PD伺服控制。
3.2运动控制系统的软件结构
运动控制子系统采用了RT-Linux(Real Time Linux)实时操作系统,其软件结构如图4所示,主要包括两个模块:主程序模块、实时任务模块,主程序模块是linux应用程序,实时任务模块是RTLinux下的实时进程。两个模块也是两个进程,通过管道(FIFO)进行通讯等。
图4 BHR1运动控制系统的软件结构
实时任务主模块包括两部分:周期性执行的实时控制循环(即实时线程)和实时任务触发器。实时线程的周期性执行是由一个循环实现的。该循环主要完成两大功能:机器人运动控制、与各电机相连的轴角编码器的信息采集。实时任务周期为3毫秒。实时任务周期是根据D/A通道处理时间和码盘计数器读取时间,以及传感器信息获取时间确定。
主程序模块与一般的Linux应用程序没有区别,它主要有以下几个功能:与信息处理系统通讯;向实时任务传送控制参数;实现人机交互,即将从实时任务传过来的电机转动数据和传感器数据输出到监视器上,同时将通过键盘输入的控制信号,实际上主程序模块主要实现控制台的作用,可以称之为控制台程序。
3.3运动控制过程
跟踪系统的控制目标是:根据图像处理获取的目标质心在图像平面中的位置,实时调整机器人头部的2个电机转动角度,将目标置于图像平面的中央位置。运动控制系统中一个控制循环大约需要3毫秒的时间。在信息处理系统中,处理一帧图像平均需要100毫秒左右的时间。由此可见,视觉处理的周期要远远大于运动控制的周期。因此在一个视觉处理周期之后,系统应该做好下一个视觉处理周期之内的运动规划,也就是做好后面多个控制周期之内的运动规划,这样才能保证机器人的头部以均匀、平缓,同时又是准确的速度来跟踪目标。
4 实验
在仿人机器人BHR1中,信息处理计算机的CPU为PⅣ2.4GHz,内存为512MB,运动控制计算机的CPU为PIII700MHz,内存为256MB。SVS系统的采集速度为15帧每秒,采集图像的大小为320×240像素。Memolink采用PCI接口,最大传输速率为1M bytes/s或1M words/s。
4.1 复杂背景下运动目标的跟踪。
在运动物体跟踪实验中,红色小球作为目标在机器人的视野中做单摆运动。为了验证基于多图像信息的目标识别算法,背景中放置了红色的方块和一个绿色的小球。实验结果如图5所示,第一行图像是实验场景,第二行图像是左摄像头的视频序列,结果表明彩色目标运动速度小于0.3m/s时,机器人头部仍可以很好地跟踪目标的运动,并使其始终位于左侧摄像机所采集到图像的中央位置。在复杂的非结构环境的室内背景下,利用单一的图像信息,系统很可能会跟踪失败。相同背景下,单一的颜色信息不能将红色的小球和背景中的红色方块区分开来。
图 5 复杂背景下彩色目标跟踪实验
图6 目标在X、Y方向上的跟踪误差(像素)
图6显示了红色小球运动状态时的跟踪过程,图中的数据为实际数据的1/10抽样。可以看出,在X轴方向上,目标质心坐标到图像中心的偏差在±30个像素以内,在y轴方向上,目标质心坐标到图像中心的偏差在±20个像素内。实验说明在物体的运动过程中,跟踪系统能够实时跟踪物体并将物体的质心保持在左眼摄像机的中心。
5 结论
本文提出了基于Memolink通讯的双计算机的仿人机器人的视觉跟踪系统,系统能够满足仿人机器人实时视觉跟踪的性能要求。
在未知的复杂环境中,基于深度、颜色和模版匹配的多图像信息融合方案确保机器人稳定的从视频序列中分割出运动目标。
本文作者的创新点
本文提出并实现了一种基于MemoLink通讯的双计算机的视觉跟踪系统, 一台计算机负责视频信息的处理,另一台计算机负责机器人头部的运动控制,实现了仿人机器人头部对运动目标的实时跟踪。本文提出了一种集成深度、颜色和形状信息的逐步逼近目标区域的快速目标分割方法,实现了复杂背景下目标物体的稳定分割。
参考文献:
[1] 钟华,吴镇炜,卜春华. 仿人型机器人控制系统的研究与实现 [J]. 机器人. 2005, Vol 27, No. 5: 455-459.
[2] S.Yoshiaki, W.Ryujn, A.Chiaki, The intelligent ASIMO: system overview and integration [A], IEEE/RJS Conference on Intelligence robot and system [C]. Switzerland: IEEE 2002, 2479-2483.
[3] 陈凯枫,肖南峰. 家庭服务机器人的人脸检测、跟踪及识别研究[J]. 微计算机信息. 2006, Vol 22, No.5-2:228-230
[4] M. Pardas, E. Sayrol. A new approach to tracking with active contours [A]. International Conference on Image Processing [C]. Canada: 2000, vol.2, 259–262.
[5] Y. Aloimonos, D. Shulman, Integration of Visual Modules [M], Boston: Academic Press, 1989.
[6] Kurt Konolige. Small vision systems: hardware and implementation [A]. Eighth International Symposium on Robotics Research [C]. London: 1997 111-116.