随着计算机网络的迅速发展和机器人应用的逐步推广,对远程机器人进行实时的控制和监测,已经越来越受到人们的关注。我们所承担的国家863项目“利用远程网络技术的机器人遥操作研究”正是在这样的背景下展开的。 |
1 总体结构和模块划分 |
通过Internet网络实现对远程机器人的监控,是指用户在本地发送控制命令给远端的机器人,由远端机器人的控制系统对控制命令加以解释、执行,从而控制机器人完成相应的动作。同时,由远端的摄象机把现场的图像加以采集。由于视频图像信息的数据量非常大,不可能在Internet网络上实时传输,因此,必须先对图像信息进行压缩,然后通过网络传送到用户站点。用户站点把接收到的已压缩的图像信息进行解压缩,还原成原来的图像。随后,用户可根据总的调度程序给远端机器人发出新的控制命令,远端机器人再完成相应的动作。同样,又通过网络把机器人的动作情况传送到用户站点。于是,远端机器人的一举一动都能及时地呈现在用户的面前,这就是所谓的现场感。 |
为了把控制命令和运动过程都记录下来,为以后的分析、研究提供准确的数据,有必要建立控制命令和运动过程数据库。按这样的设想,该系统的总体结构如图1所示。 |
系统采用客户机/服务器(Client/Server)体系结构。对于控制命令来说,客户机接受用户提供的机器人控制命令,然后形成相应的命令帧格式,发送到网络上。服务器对接收到的控制命令进行分析解释,并通过机器人的控制系统驱动机器人执行相应的命令。对于视频图像来说,首先由客户机采集视频图像,然后进行数据压缩,再发送到网络上。服务器则把从网络上接收到的图像数据进行组合,完成相应的解压工作,恢复视频图像的本来面目。 |
从整个系统的工作过程可以看出,从对控制命令的处理这一角度来看,本地是客户机,远端是服务器,而从对视频图像的处理这一角度来看,远端是客户机,本地是服务器。也就是说,客户机/服务器结构不是从物理上的本地或远端来划分的,而是从逻辑上的不同功能来划分的。之所以这样划分,是因为在该系统中,视频图像的处理和传输过程是相对独立的,而不是控制命令的简单应答和反馈信息。总之,客户机主动发出各种信息,而服务器则被动地接收来自客户机的信息,并进行相应的处理。 |
2 视频图像压缩传输的基本流程 |
系统首先建立获取窗口,然后指定回调函数。系统获取的图像存放在一段连续的内存中,以回调函数的形式传送给编程人员。在回调函数中,先进行压缩处理,然后把大数据块打包,再把数据包按序号依次发送到Internet网络上。本地站点接收到数据包以后,按序号组合成数据块,然后解压缩,在给定窗口上重现视频图像。视频图像压缩传输过程如图2所示。 |
我们采用的是混合编码方案,其视频图像压缩的基本流程如图3所示。首先判断是否为关键帧,若是关键帧,则先进行离散余弦变换DCT(Discrete Cosine Transform,然后对DCT系数作量化处理,再对量化后的交流(AC)系数以Z形路径进行行程编码RLE(Run-Length Encoding,进行哈夫曼编码;若不是关键帧,则采用帧间压缩。 |
对于帧间压缩,我们比较了两种不同的方式。 |
种方式以象素为基础,首先将其与上一帧作差,得到一个稀疏的矩阵。在作差的过程中,采用小范围匹配的方法去掉一部分噪声,然后采用改进的行程编码得到结果。再把当前帧图像保存在指定的内存区内,作为下一帧作差的参考帧。 |
第二种方式是以宏块为基础的运动补偿方式,首先计算运动矢量,然后采用行程编码RLE和哈夫曼编码。由于机器人的运动主要是平移和转动,而缺少局部的细微变化,用运动补偿可以达到较高的压缩比和相当好的图像质量。 |
由于与远程站点之间通过Internet网进行传输时,信道的数据传输率不是固定的,因此,系统中通过信道测试反馈信息来改变量化时的步长,从而调节视频信息的数码率,以便更好地适应信道传输率的变化。 |
3 实验数据和性能分析 |
我们对几种不同的压缩算法进行了比较。为了接近Internet网的数据传输率,采用的数据流量为10kb/s。具体的实验数据如表1所示。 |
由上述数据可画出使用IC压缩器(IC Compressor进行定流量压缩时,帧频和压缩比随图像格式而变化的曲线如图4所示。 |
从图中曲线可以看出,随着图像的变大,压缩比大大提高,而帧频则随之下降。这是因为,当图像变大时,背景相应变大,而在背景几乎不变的情况下,帧间压缩的压缩比会相当大,从而使总的压缩比明显提高;随着图像的增大,数据量将成倍增加,在数据传输率一定的条件下,帧频必然会下降。 |
使用定质量(Fix Quality压缩时,帧频和压缩比随质量而变化的曲线图5所示。 |
从如上曲线可以看出,随着对图像质量要求的提高,帧频和压缩比均呈下降趋势。这是因为,对于特定的压缩算法,要提高图像质量必须要增加压缩后的数据量,压缩比自然会下降;而在网络数据传输率一定的条件下,传输一帧的图像数据所用的时间就会增加,从而在单位时间内能传输的帧数必然要减少。 |
对于实验的种混合编码方式,其结果明显优于以上方式,在图像质量一定的情况下,帧频和压缩比均有明显提高。 |
对于采用的第二种混合编码方式,在数据传输率较低的情况下,达到了较高的压缩比、较好的图像质量和基本实时的视频效果。 |
实验数据中给出的帧频和压缩比计算如下:记录图像采集开始和结束的时刻,在播放过程中统计帧数,用帧数除以时间差即为帧频: |
帧频=帧数/(结束时间-开始时间) |
用图像信息应传输的字节数除以实际传输的字节数即为压缩比: |
压缩比=应传字节数/实传字节数 |
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。