交互式多模型算法的远程控制机器人设计

2011-10-24 06:47申一歌
上海电气技术 2011年3期
关键词:远程服务器传输

袁 铸, 马 林, 申一歌

(河南工业职业技术学院,河南南阳473000)

随着网络技术和机器人技术的发展,人们提出了各种远程控制的理论方法,用以实现对机器人的远程控制以满足人们的某种要求。这不仅扩展了机器人的应用领域,同时通过远程控制还可以使操作人员远离机器人所处的危险作业环境,从而避免造成人身伤害。

机器人远程控制按照不同的控制方法,大体上可以分为4类,即直接控制、监督控制、预测/预演显示控制和事件智能控制模式等[1]。所谓事件智能控制模式,就是把事件驱动思想引入到机器人远程控制领域。它能够避免时延的影响,要求服务器端有更强的智能控制能力,是机器人远程控制系统中目前较有前景的控制模式,但是这种控制方式技术还很不成熟,理论体系也没有建立。

在目标跟踪的过程中,如果每次都在整个图像范围内对目标进行搜索,必然会增大系统的计算量,影响系统的实时性[2]。为了提高算法的效率,减少计算量,人们常用滤波算法来预测目标的位置。在相对小的范围内搜索目标,目前常用的算法是Kalman滤波算法,但是当目标运动状态突然改变的时候,这种滤波算法很容易发散,导致跟踪目标丢失[3]。为此,采用交互式多模型(Interacting Multiple Model,IMM)算法[4]来提高目标预测的精度。

本文基于事件智能控制理论,运用IMM算法建立了一个校园网内简单的机器人远程控制的目标跟踪系统。

1 系统总体设计

本系统采用“B/S(浏览器/服务器)”模式实现,包括一个客户机浏览器,一个服务器和机器人服务器。客户机浏览器就是远程控制端,操作界面选择了可以嵌入到Web页面中的ActiveX控件技术,实现控制指令和实时图像的传输。Web服务器采用交互语言应用平台(Interactive Speech Application Platform,ISAP)技术构建,实现一个交互的服务系统,对用户的操作进行处理。机器人服务器实现目标识别跟踪,根据估计目标的状态,进行轨迹规划,并通过机器人运动控制器控制机器人,与Web服务器安装在同一台电脑上。

用户发出控制信息之后,机器人服务器经Web服务器把远程摄像头采集的图像传给用户,同时执行本地跟踪算法。在一帧帧的图像中对目标进行识别,预测目标将要出现的位置和状态,最终控制机器人完成打击或抓取的任务。

1.1 B/S模式的实现

为实现基于Web的远程控制,使用一个开发的ActvieX控件,将其嵌入到 Web服务器的页面中,它负责用户控制指令的传输以及视频的显示。

当用户访问服务器时,浏览器就会自动下载这个ActvieX控件,为用户提供一个远程控制的操作界面。当用户登陆后,就进入控制界面。如果没有其他用户进行控制,系统就会把该用户连接视频时刻摄像头采集的图像保存下来,并发送至该用户,等待其标定好需要跟踪的目标区域后,用户标定的坐标会以控制指令的形式发给Web服务器,同时开始接收实时视频。Web服务器会把这些信息解释后发给机器人服务器,其他登陆的用户只能接收实时视频,每次只允许一个用户进行远程控制。在机器人服务器端图像的传输和控制指令的传递是分开的程序进程。控制指令的传递是一个封装了指令参数的结构体,该结构体能进行自身数据的网络字节顺序与机器字节顺序的转换。

1.2 Web服务器端

通过编写一个ISAP I服务器扩展程序来扩展互联网信息服务(Internet Information Service,IIS)的Web服务器功能,为客户端用户提供遥控操作界面,并对注册用户信息进行管理。

在视频传输方面,由于是在发送者和接收者之间实现一点对多点的网络连接,故采用IP组播方式传送图像。IP组播的核心思想就是通过一个IP地址向一组主机发送数据,发送者仅仅向一个组地址发送信息,接收者只需加入到这个分组就可以接收信息,所有的接收者接收的是同一个数据流,组员是动态的,可以自愿随时加入或退出[5-6]。

1.3 图像采集和传输

在远程控制中图像的传输主要包括:图像采集、图像压缩、图像传输、图像解码和图像显示等几个过程,其组成框架如图1所示。

图1 图像传输组成框架

本系统通过一个安装在机器人本体上方的固定USB摄像头,使查看画面的范围比机器人本体所能到达的范围稍大,这样便于远程观测到机器人周边环境。图像采集有2个用途:① 把机器人执行跟踪的过程传给过程控制的用户以及观看的用户;② 用于机器人服务器进行目标的识别跟踪。

采集到的原始图像是不适合直接用来网络传输的,因为一般原始图像的数据量是庞大的,如果直接用来网络传输,将会占用大量的网络带宽。为了提高网络传输的效率,加快网络传输的速度,需要对原始图像进行压缩处理,去除图像的冗余数据。图像传输中图像压缩所采用的一般有静态压缩和动态压缩两种方式。静态压缩是对每一帧图像进行独立压缩,不考虑前后两帧图像之间的关系。动态压缩是对运动图像序列进行压缩,它不只是单独针对一帧图像,还考虑帧与帧之间的相互关系,但算法复杂。本系统采用了静态的JPEG压缩。为了保持数据的完整性,用于图像处理采用了24位BMP格式。由于采用的是IP组播实现图像的一对多传输,故采用的是用户数据报协议(User Datagram Protol,UDP)协议[7]。

图像解压缩是图像压缩的逆过程,即将压缩的图像数据进行解码,重现出图像的原始内容,以显示给远程用户。解压缩方式是与压缩方式相对应的。远程用户端将图像解压后,显示给用户。

由于本系统是一个简单的基于事件的远程控制系统,所以对图像的实时性要求并不是太高,不需要用户在对图像的观看过程中根据图像的状态对机器人发送控制指令,所要做的就是观察远程机器人是怎样执行跟踪的过程。

2 机器人对标定目标的跟踪

本系统一个重要的特点就是用户把控制信息发送过去之后,执行过程就不需要用户进行干预,而是由机器人服务器去自主完成跟踪,这就需要机器人服务器有强大的跟踪能力,故引入IMM算法,提高对目标未来运动状态的预测能力。

2.1 IMM 算法

假定目标有r种运动状态,如匀速运动、匀加速运动等,每种运动状态对应一种模型,即有r种运动模型,记为M1,M2,…,Mr。根据不同的运动状态建立不同的模型滤波器,各模型滤波器通过估计状态的组合实现交互作用,其输出结果之间用马尔可夫链进行切换,实现机动目标的混合状态估计,即目标的运动状态预测,这一算法称为IMM算法。IMM算法是一种递推的算法结构,其每一个循环过程大体上分为4步:输入交互、各滤波器并行滤波、模型概率更新和输出交互。

2.1.1 输入交互

预测模型概率:

式中,Mj为系统模型;Zk-1为量测序列;pij为从模型i转移到模型j的转移概率。在k时刻

式中,Mi(k)为目标模型Mi发生的后验概率。

滤波器初始状态输入:

滤波器初始协方差输入:

2.1.2 各滤波器并行滤波

把式(3)和(4)的估计作为与模型Mj相匹配的滤波器的输入,并对各滤波器分别进行卡尔曼滤波,得到各自的估计状态X^j(k/k)和协方差矩阵Pj(k/k)。

2.1.3 模型概率更新

在每一个模型完成上一步更新之后,利用似然函数Λj(k)计算新的模型概率μj(k),其中似然函数Λj(k)由2.1.2节中卡尔曼滤波中得到的测量残差υj和残差协方差Sj更新量计算得出:

模型概率μj(k)更新由贝叶斯定理给出:

2.1.4 输出交互

在计算出各模型的后验概率之后,就可以对各滤波器的状态估计进行概率加权求和,得到最终的状态估计和协方差:

2.2 IMM算法在目标跟踪中的应用

本文采用基于特征差异的彩色目标识别方法[8]识别目标。在应用IMM算法时,设定运动目标具有匀速运动和匀加速运动两种状态,每种运动状态对应一种模型,即有两种运动模型。用于模型切换的马尔可夫过程的转移概率矩阵:

对于一个具有高斯噪声的离散时间跟踪系统,设采样周期为T,其离散化后的运动和量测的数学模型可用以下状态方程描述:

故,可以使用IMM算法估计出目标当前的状态,并根据滤波残差序列的统计特性[2],构造目标下一时刻的矩形预测门。

3 实验结果

本系统由校园网内的计算机做为远程端,一个PentiumIV计算机作为机器人服务器和Web服务器,并与微型CCD摄像头和机器人运动控制器相连,加上控制对象机器人本体和一个需要跟踪的运动目标组成。其中,从摄像头采集的图像为320×240的分辨率,10帧/s。机器人为一个GRB—400型SKARA机器人,有一个固定的多关节机械手,具有4个自由度。

在坐标系选取上,以机器人工作台坐标作为基准,其远程控制的操作界面如图2所示。

图2 机器人远程控制操作界面

当远程标定目标后,机器人跟踪目标的图像就实时传送过来,由于是在校园网内进行实验,采用静态压缩,丢帧现象也明显,所以图像依然很流畅。

在机器人服务器端,可获得目标的位置信息。从用户登陆时保存的那帧图像中找到目标,用颜色特征集法提取目标的特征,然后开始顺序选取前3帧图像,确定目标的起始速度、加速度。以后处理每一帧图片时,都先由IMM滤波算法给出目标的预测位置,在以此为中心的一定区域内构造预测门,在该范围内进行搜索,与特征值有最大相似度矩形的位置就认定为目标位置。同时,IMM算法能给出运动目标的状态估计,经过轨迹规划,由运动控制器控制机器人实时跟踪目标。实验取得了预期的效果,机器人跟踪上了目标,并且图像也回传给登陆用户。

4 结 语

本系统实现了在远程标定跟踪目标位置,通过Web服务器把信息发送给机器人服务器,驱动机器人进行目标跟踪,并进行打击,同时把视频回传给登陆用户。引入IMM滤波算法,通过对连续的图像中运动目标位置的预测,由原来的全局搜索改为局部搜索,极大地缩小了搜索空间,提高了跟踪的效率;通过对目标运动状态的估计,能快速准确的控制机器人跟踪上目标。同时,采用了IP组播方式实现一对多的视频传输。本文只是一个简单的远程智能事件控制机器人自主跟踪远程标定的目标系统,可实现远程控制的功能,当控制信息发送以后,网络时延等对于系统的影响就变得不再明显。系统加强了机器人服务器端的执行能力,远程控制端在传出跟踪信息后就不再控制,只是观看,所以本系统暂时对图像的传输质量没什么控制,在校园网内图像流畅,但是若在互联网上图像就可能不够流畅。

[1]刘振宝,辛洪兵,王文静.网络机器人技术及其控制系统的研究状况[J].北京工商大学学报:自然科学版,2006,(5):32-36.

[2]陈东炎,张 玘,王艳玲,等.图像跟踪系统中机动目标预测的实现[J].应用光学,2007(1):33-37,57.

[3]苏建峰,吴海涛,边玉敬.自适应滤波技术的研究[J].飞行器测控学报,2006(2):71-74.

[4]李 辉,赵 敏,张 安,等.交互式多模型算法在机动目标跟踪中的应用[J].弹箭与制导学报,2005,25(3):234-237.

[5]陆其明.DirectShow实务精选[M].北京:科学出版社,2004.

[6]董兴娥,迟学芬,周仁贵,等.基于IP组播视频会议系统的研究与实现[J].吉林大学学报:信息科学版,2007(7):385-390.

[7]陈 洋,陆宇平.机器人实时远程控制系统及其开发库的设计与实现[J].电子技术应用,2006(2):7-11.

[8]屠文柯,阎保定,杨海涛.基于影射·特征·知识的辨识复杂彩色目标的方法[J].计算机工程与应用,2005(25):54-56.

猜你喜欢
远程服务器传输
让人胆寒的“远程杀手”:弹道导弹
远程工作狂综合征
混合型随机微分方程的传输不等式
牵引8K超高清传输时代 FIBBR Pure38K
通信控制服务器(CCS)维护终端的设计与实现
关于无线电力传输的探究
远程诈骗
中国服务器市场份额出炉
支持长距离4K HDR传输 AudioQuest Pearl、 Forest、 Cinnamon HDMI线
得形忘意的服务器标准