展会信息港展会大全

移动机器人远程交互控制中的图像处理
来源:互联网   发布日期:2012-02-16 20:07:13   浏览:31681次  

导读:1、引言 目前,移动机器人已经广泛地应用于未知领域探索、危险环境工作及排险救灾等方面,针对这些人类无法亲临现场的场合,为了方便远程控制机器人和了解现场状况,往往需要移动机器人拍摄现场图像并远程传输到监控中心,以进一步指导和控制机器人工作,实...

  1、引言

  目前,移动机器人已经广泛地应用于未知领域探索、危险环境工作及排险救灾等方面,针对这些人类无法亲临现场的场合,为了方便远程控制机器人和了解现场状况,往往需要移动机器人拍摄现场图像并远程传输到监控中心,以进一步指导和控制机器人工作,实现移动机器人的人机交互控制,通过图像可获取丰富的信息,应用图像监控可以将人控和移动机器人自身控制更好地协调起来,从而提高了机器人的鲁棒性。

  移动机器人通常采用基于现场总线的本地控制方式,其适应性差,操作范围有限,且易受外界各种因素的破坏,大大地限制了移动机器人的应用范围。同时随着移动机器人系统的复杂度和集成度的提高,采用现场总线的方式存在走线困难和开放性差等问题[1],,而采用无线交互控制可以较好地解决这一问题。为了实现移动机器人远程图像无线传输,可借助于覆盖范围极广的移动通信网络,目前主要的移动通信网络有GPRS/GSM和CDMA,CDMA无线网络抗干扰能力强,其无线数据传输速率(153.6Kbps)和系统容量是GPRS/GSM的4~5倍,且网络阻塞率低,接通率高,可与Internet互连,不受时间和距离地限制,在一定程度上较好满足较大数据量无线传输的实际需要。

  为了提高无线通讯的实时性,必须对图像等大数据量信息进行压缩。因此,基于移动通信网络的图像无线传输系统设计的重点之一就是图像压缩编码。目前图像压缩编码在算法上已经取得很大的进展,但就其成熟性而言,应用较广的仍然是JPEG或MPEG。JPEG算法针对单帧的图像图片进行处理(帧内压缩),和利用图像序列间相似性(帧间压缩)的MPEG技术相比,在连续图像传输过程中,JPEG对于传输信道一次误码最多损失图像序列中的一幅,而MPEG将导致后续多幅帧间编码序列无法复现[2],更好满足移动机器人远程图像监控对可靠性的要求。同时JPEG算法压缩比可灵活控制,且在较大压缩比下仍能保持较高的图像质量,更方便远程监控中心根据传输速率仍较低的无线移动通信网络状况和实际需要对传输图像质量及大小进行调整。因此本文图像压缩优选JPEG。

  2、系统总体设计

  2.1 系统组成与原理

  图1所示为基于图像无线传输的移动机器人远程交互控制系统组成结构框图,整个系统包括图像采集终端、CDMA移动网络和远程监控中心3个部分,图像采集终端根据远程监控中心控制命令进行图像数据的采集和压缩,处理后的图像数据由CDMA无线数传模块进行打包处理后,通过CDMA移动网络传送到远程监控中心,远程监控中心通过Internet接受数据包并对数据解包后,便可对压缩图像进行解压、存储和显示。

  本文使用的CDMA无线数传模块与图像采集终端之间采用标准RS232接口连接。该模块采用CDMA 2000 1x技术,并内置TCP/IP/UDP协议栈,支持点对点、点对多点等的数据传输,具备动态IP地址管理和自动识别终端设备的功能,极大地方便CDMA移动网络传输系统的实现。

  

  图1 移动机器人远程交互控制系统组成结构

  2.2 图像采集终端硬件设计

  图像采集终端硬件系统需要完成图像采集、大数据量存储和复杂算法的快速处理,因此我们采用TI公司2003年推出的一款针对多媒体领域应用的64位定点DSP芯片TMS320DM642作为系统的处理器,该芯片基于C64x核心构架,主频达600MHz,具有丰富的外设及接口,很好地满足本系统的应用要求。以该芯片为核心的图像采集终端硬件方框图如图2所示。

  

  图2 图像采集终端硬件方框图

  图像采集终端通过DM642的I2C模块对两视频解码器进行初始化配置后,便可以进行对CCD彩色摄像机采集视频信号的解码,解码后的标准视频流再通过DM642视频端口进行捕捉,捕捉到的图像数据可以是一场或一帧,并按YUV三个分量分别存放于DM642视频模块的FIFO内,FIFO缓冲区数据达到设定门限后,将触发一次DMA传送事件,将FIFO内图像数据传送到指定存储空间内,实现监控图像数据的采集。

  为了与CDMA无线数传模块和云台控制器进行连接,本文应用DM642的EMIFA接口扩展了两个基于RS232总线的UART通信接口。该通信接口由可基于流控制且带64 byte FIFO 双UART芯片和RS232电平转换芯片组成,双UART芯片的控制逻辑完全由CPLD来实现。使用该接口时,首先对双UART芯片被映射到DM642的CE1空间的寄存器进行初始化设置,如设置比特率、是否基于流控制,FIFO实际使用大小,是否奇偶校验等,然后通过检测相应寄存器状态,或通过检测接收/发送标志引脚状态,或通过中断的方式来实现数据接收/发送完毕的检测。

  3、图像压缩算法的实现

  为了缩短图像数据无线传输的时间,降低网络阻塞,图像采集后需先进行适当比例的压缩。本文的图像压缩采用了基于离散余弦变换(DCT)的顺序模式有损JPEG压缩算法[3],该算法下的JPEG图像压缩编码系统为基本系统,基本系统采用单遍扫描完成一个图像分量(YUV颜色空间下)的编码,扫描次序从左到右、从上到下。基本系统要求图像像素的各个色彩分量都是8bit,并可通过量化线性地改变DCT频率系数的量化结果来调整图像质量和压缩比,基于基本系统的单个图像分量JPEG压缩编码器框图如图3所示,JPEG基本系统图像压缩主要经过图像预处理、正向离散余弦变换(FDCT)、量化和编码4个步骤。

  

  图3 单个图像分量JPEG压缩编码器

  JPEG压缩支持YUV444、YUV422、YUV411等格式的图像数据,为了进一步提高压缩比,本文采用了YUV411格式。对于YUV411格式,JPEG压缩最小单元(MCU)由水平4个Y分量8×8图像块、水平1个U分量8×8图像块和1个V分量8×8图像块组成,基本系统将按照从上到下、从左到右的顺序将原图像整理为若干个MCU,后续JPEG压缩就是对每个MCU中各分量的图像块分别进行压缩,所有MCU的排列顺序就是最终图像压缩数据的排列顺序。

  DM642视频端口捕捉到的图像数据为YUV422格式,因此,本文图像预处理首先进行YUV422到YUV411的转换,该转换可通过Y分量不变,而UV两分量水平方向上隔行取像素点来实现。然后再对YUV411格式图像数据进行MCU分块和整理。

  图像预处理后,在对每个8×8图像块进行FDCT之前,采样值应该先进行幅度值的位移,使之成为一个有符号的数,本文图像分量为8bit,因此幅度位移值为128。JPEG需要对大量的8×8图像块进行FDCT,因此FDCT的运算速度直接影响到JPEG压缩的速度。采用常规二维FDCT计算量大,本文采用其改进算法,该改进算法将二维FDCT分解为两个一维的FDCT(Chen FDCT)进行计算[4-5],大大提高了运算效率。

  经过FDCT变换后的频率系数是一些浮点数,需进行均匀量化为JPEG可编码的整数系数,每一个FDCT变换后的频率系统使用一个量化器,每个量化器的步长可由指定量化表给定,本文使用的量化表采用JPEG标准推荐的两个量化表,分别用于亮度(Y)和色差(UV)信号。通过线性地改变量化表各元素数值可以控制图像压缩后的质量和压缩比,可通过对量化表各元素乘以一个量化因子来实现量化表元素数值调整。图像质量越高则压缩越小,反之,压缩比越大,应根据实际需要对图像质量和压缩比进行权衡来选择合适的量化因子。

  JPEG图像压缩的最后步骤是对量化后的系数进行编码。直流(DC)系数(8×8的DCT频率系数数组第1个系数)应首先进行差分预测编码(DPCM),DC系数是图像数据块的样本均值,包含了图像大部分的能量,数值也较大,通过差分预测编码可进一步去除数据块间平均值之间的相关性,然后再进行Huffman编码;其他63个交流(AC)系数应首先进行Zig-Zag排列和0-RLE变换来压缩掉量化后的频率系数中较多的0系数,然后再进行Huffman编码。为了提高编码效率,本文Huffman编码采用查表的方式来实现。

  TI公司针对其多媒体DSP芯片提供了一个专门用于图像/视频处理的函数库(Image/Video Processing Library),该库函数结合多媒体DSP芯片的特点进行优化,具有程序量小,执行效率高的特点,应用这些库函数可缩短开发周期,降低开发难度。DM642使用其图像/视频处理函数库需在其编译器工程项目中添加img64x.lib文件,在使用具体函数时,还需在程序文件中添加包含该函数的头(*.h)文件。本文JPEG压缩的FDCT及量化通过调用库函数来实现。

  FDCT函数原型为:

  void IMG_fdct_8×8(short *dct_data , unsigned num_fdcts);

  其中*dct_data指向待变换的若干8×8图像数据块,num_fdcts为进行变换的8×8图像数据块的数目,该函数将二维FDCT变换转换为一维FDCT进行运算。该函数代码大小为976 bytes,执行周期cycles=50+76×num_fdcts。

  量化函数的原型为:

  void IMG_quantize(short *data , unsigned short num_blks , unsigned short blk_size, const short *recip_tbl, int q_pt);

  其中*data指向待量化的数据,num_blks为进行量化的8×8数据块数目,blk_size为量化数据块大小(8的整数倍,本文取64),*recip_tbl指向量化使用的量化表(根据量化因子调整后的量化表),q_pt∈[0,31]为量化取整精度的位数(本文取16)。该函数代码大小为580 bytes,执行周期cycles=26+(blk_size÷16)×num_blks×8。

  4、图像采集终端与监控中心的数据传输策略

  图1监控中心使用公网固定IP,并与CDMA无线数传模块形成服务器/客户端(Client/Server)模式(即C/S模式),CDMA无线数传模块(Client)上电后自动以动态IP接入Internet,并通过指定的公网固定IP来访问远程监控中心(Server),监控中心则通过唯一ID号来识别当前的CDMA无线数传模块。

  网络数据传输在大多数情况下采用UDP进行封装以提高实时性要求,也提供TCP传输方式保证传输数据的准确性。本文图像传输强调实时性要求,因此其网络传输层采用UDP协议,并通过传输控制程序来保证其传输的可靠性,当网络状况较差而出现数据包丢失时,将引起该传输控制程序数据重传机制,数据发送方通过响应数据接收方的重传请求,将已备份的前次发送数据进行重新发送。

  图像采集终端与监控中心建立网络连接后便可进行透明的无线数据传输,为了进一步提高数据传输的速率和可靠性,传输数据采用固定长度分组进行发送,每个分组包由21字节构成,包含2字节包头,2字节控制命令字说明包内数据类型,15字节数据和2字节的CRC-16校验码。在进行数据通信前,图像采集终端与监控中心通过握手方式取得通信同步。

  5、实验

  本文应用VC++6.0的MFC模块完成监控中心软件系统的设计,监控中心网络传输功能采用Socket网络套接字实现,并在TI专用于DSP的集成开发环境CCS(Code Composer Studio)中,应用DDK(Driver Development Kit)设备驱动开发包,在RF5程序参考框架和XDAIS(DSP算法标准)下,完成图像采集终端基于DSP/BIOS的多任务实时软件系统设计。

  无线数传模块在使用前需要应用配套专用软件对其进行相关参数配置,包括配置其串口传输比特率和本地端口,并对其指定监控中心IP和端口,监控中心启动网络服务并与图像采集终端取得通信同步。实验时,首先在监控中心人机界面上设置传输图像的质量系数为25(1~100)和无线数传模块ID号,然后启动图像监控,图像大小为320×240,监控界面如图4所示。

  

  图4 移动机器人监控中心界面

  此时压缩图像的压缩比达45:1,图像采集终端每秒可处理13帧图像数据,图像传输每帧总耗时120ms(串口比特率为19200),质量系数越低,图像采集终端可处理的帧数越多,传输耗时也越短,但质量系数太低将引起图像的方块效应,通过多次实验我们发现质量系数取25左右就能取得较好的监控效果。

  实际应用中我们还通过对DM642进行存储器和软件系统的优化[6],使得图像压缩的处理时间比优化缩短了近1倍,进一步提高了图像监控的实时性。

  6、结论

  本文设计了用于移动机器人远程交互控制的图像无线传输系统,由于其传输信道采用了目前覆盖范围极广、传输速率较高的CDMA移动通信网络,使得系统更具开放性和交互操作性。此外,为了满足移动机器人图像监控的实时性和可靠性要求,采用压缩比可控的基于DCT的JPEG图像编码算法对图像进行压缩,并以TI高性能多媒体芯片DSP处理器DM642为核心构建了监控系统的远程图像采集终端。为了在DM642上实现JPEG压缩算法,并进一步提高计算效率,采用直接调用该公司C6000系列芯片运行效率极高的库函数来实现JPEG的DCT变换算法改进和量化。同时,为了提高无线通信网络数据传输速率,对其网络传输层采用了UDP协议,并通过传输控制程序来弥补其传输可靠性上的不足。实验表明,本文图像无线传输系统较好地满足移动机器人一般场合下的图像监控要求,具有较高的实用价值。

  参考文献

  [1] 宋光明,葛运建,张建军,唐毅,江建举.基于蓝牙技术的智能机器人传感器网络研究[J].传感技术学报,2003,(1):1-5.

  [2] 高玉华,苏剑波.JMF视频传输技术在Web机器人中的应用[J].机器人,2004,26(3):218-221.

  [3] 陆利坤,辛望,李业丽.基于数字信号处理器的JPEG压缩算法分析与实现[J].北京印刷学院学报.2004,12(3):6-10.

  [4] Hou H.A Fast Recursive Algorithm for Computing the Discrete Cosine Transform[J].IEEE Trans.on ASSP, 1987,ASSP-35(10):1455-1461.

  [5] Feig E,Winograd S.Fast Algorithms for Discrete Cosine Transform[J].IEEE Trans.on Signal Processing, 1992,40(9):2174-2193.

  [6] 田黎育,何佩琨,朱梦宇编译.TMS320C6000系列DSP编程工具与指南([美]Texas Instruments Inc.著)[M].北京:清华大学出版社,2006.240-272.

赞助本站

人工智能实验室
下一篇:没有了...
AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港