引言
近年来,具有远程测控功能的机器人在发达国家已经深入到民用、工业以及军用的方方面面,在国内相关技术的发展也是十分迅猛。纵观国内外该领域的众多案例,当前远程测控采用的无线通信方式主要是卫星通信系统、无线局域网通信。伴随着3G移动互联网的深入发展,机器人远程测控系统拥有了一个更加优化的设计方案。借助于3G数据传输网络的优质资源,远程测控的实现更加便捷,性能更加稳定,同时安全性能也更高。
1 总体设计方案
典型的远程测控系统包含远程监控终端、现场监测控制端以及远程信息传输三大部分。远程监控终端是用户与现场设备进行交互的终端设备。远程信息传输主要功能是将现场的实时信息和状态参数稳定可靠地传输至远程监控终端,用户通过对现场信息的了解决定下一步的措施。现场监测控制端的主要任务就是根据远程监控终端的控制指令对测控对象进行控制,同时监测工作对象的相关状态参数并作必要的分析,再将视频图像数据以及相关参数经过处理后反馈到远程监控终端。
本文将着重介绍现场监测控制端的硬件平台搭建和软件系统设计,系统中采用了可移动式监测控制系统。
2 现场监测控制端硬件平台
系统的硬件平台是整个系统功能实现的基础,包含了系统中所有物理实现的必备条件,主要包括了机器人机械结构、控制核心平台、视频采集模块、3G通信接口模块、驱动模块、传感模块以及电源模块等多个机械及电路单元。平台总体框图如图1所示。在硬件平台设计过程中,应充分考虑方案的先进性、稳定性、可扩展性以及低功耗等多方因素,使硬件平台真正具备较高的实用价值。
图1 现场监测控制端硬件平台框图
硬件平台选用TI公司OMAP4460作为硬件的核心处理器。该处理器采用ARM+DSP多核异构架构,具有可靠性强、集成度高、数字信号处理能力强、可扩展性好以及低功耗等特点。视频数据处理交给DSP核处理,而机器人控制、低速率数据信号的处理、远程数据传输以及整个系统的逻辑及控制处理交由ARM核处理,通过分工合作可以极大地提高系统的工作性能和执行效率。
2.1 OMAP4460控制平台
OMAP4460是OMAP系列中一款高性能多媒体处理器,内核搭载了两个CortexA9架构ARM处理器,并集成了高性能的数字信号处理和高清视频图像处理系统IVA3(基于DSP C64x核心),以及2D/3D图形加速器GPU(PowerVR SGX540)。处理器支持I2C总线、GPIO、SPI等多种通用I/O接口,同时还配备了基于CSI2协议的CAMIF接口以及大容量高速率数据存储单元。
IVA3子系统是基于TM320C64x的DSP内核而设计的,具有高速数据处理能力,极大地提升了OMAP4460芯片的多媒体性能,在本设计中主要就是利用IVA3子系统进行视频硬件编码处理。整个多媒体硬件加速器包含了DSP内核、IVAHD硬件加速单元、PRCM、CortexM3双核处理器以及外部大容量存储器等模块,所有模块都以L3(3级缓存)进行内部互连,OMAP4460内部结构框图及IVA3子系统结构框图略——编者注。
IVA3子系统主要功能如下:
① 支持H.264协议的多种格式的视频数据流硬件编解码;
② 支持MPEG4协议的多种格式的视频硬件编解码;
③ 支持H.264/SVC可分级视频编码,视频清晰度从480p~1080p,其帧率为30 fps。
其中IVAHD单元作为DSP数据处理的硬件加速模块,主要工作是对DSP的运算过程进行高效控制和资源管理,并通过高性能总线提升数据(指令集)的读写,从而大幅度提升整个大容量数据处理的效率。其中包含了iME3(运动估计算法)、iPE3(帧内预测估计算法)、iLF3(去块滤波和边界强度算法)等硬件算法模块。通过硬件进行优化编码算法执行,极大地减小处理器的软件运算量,从而实现编码速度的提升。
2.2 电源电路的设计
本电源电路主要由4个模块组成:电池输入电路,5 V直流稳压电路、开关电源稳压电路以及电源管理电路,其组成框图如图2所示。
图2 电源电路框图
本设计中采用了两节容量为1200 mAh、电压为3.7 V的镍氢电池,通过串联结构送入电路,理论输入电压为7.4 V,实测为6.7 V左右。开关电源选用了TI公司的TPS54320同步电源转换芯片,该芯片输入电压范围为4.5~17 V,最大电流开关频率范围为200 kHz~1.2 MHz,输出电压值通过SS/TR引脚的信号进行控制。由于本设计为固定的输入电压,所以将该引脚设计为固定电压VB_SS,电路图如图3所示。其中,DC_5 V有5 V稳压电路提供,VBAT为输出电源,送至电源管理电路。
电源管理电路采用了专用的电源管理芯片TWL6030,该电源管理芯片性能强大,具有多路直流电压输出、多通道ADC、系统时钟信号管理,可以配置开关机流程图等功能,所有资源都是通过I2C总线进行配置。
2.3 视频采集模块电路
本设计选用了基于CSI2模组的CMOS传感器的摄像模块,采用了130万像素CMOS传感芯片OV9650作为核心,支持SXGA(15 fps)、VGA(30 fps)、QVGA(60 fps)等多种帧率视频采集,三种视频输出格式为8位 RGB 2:2:4、YUV/YCbCr 4:2:2、RGB(RAW)。
视频采集数据的传输采用了OMAP4460处理器中的CSI2接口协议,标准的CSI接口为30引脚卡扣式接口,最多
图3 开关电源电路原理图
可支持4路视频图像信号的输入。而目前市场上独立CSI2模组摄像模块大都为20引脚CAMIF接口(其封装形式为1.27 mm的20引脚排针座),所以OMAP4460也提供了基于CSI2协议的20引脚接口,电路图略——编者注。
其中,5引脚(HS)为行同步信号输出(内嵌信号),6引脚(VS)为场同步信号输出(内嵌信号),9引脚(PCLK)为像素时钟输出(与系统时钟一致),10引脚(XCLK)为系统时钟输入,12引脚(FIELD)为场同步信号(内嵌信号)。13~20引脚(D0~D7)为数据输出端口。
其他外围硬件模块,如存储模块电路、温度湿度传感模块、电机驱动模块等,采用了常用电路。
3 现场监测控制端软件设计
从整体功能上看,本系统是一个基于3G移动通信网络的收发设备,因此,整个逻辑的起始和终端都涉及信息的发送与接收。根据设计需求以及硬件资源,给出了如下的系统逻辑模型。
① 远程测控终端设备(3G智能手机)发送控制指令,通过3G网络传输。
② 现场监测控制端接收到指令后,将指令送入处理器中进行识读。
③ 当获得视频监控开启指令时,处理器执行视频远程传输的程序指令,主要完成以下任务:开启视频采集模块,采集实时视频监控信息,同时根据指令需求进行相应的移动;将视频监控信号送入视频数据处理单元,按照相应的协议进行编码;将视频编码信号进行UDP封装处理,使之能够高效地在3G网络中传输;将封装好的数据包送入发送模块中发送出去。
④ 当获得温度监测指令时,处理器执行温度监测任务,并将温度数据直接送入发送模块发送出去。
⑤ 远程测控终端设备接收到采集的视频和温度数据后,进行相应的UDP解包处理后,送入CPU进行解码等处理,最终将视频信号(温度数据)送入显示模块显示出来。
以上过程实际上是一次收发通信的流程。在实际通信中,上述过程是循环进行的,本文重点阐述现场监测控制端软件程序的设计。
3.1 现场监测控制端软件系统总体设计
为了充分运用处理器的强大的多媒体性能,本设计为基于CortexA9 MP Core处理器的硬件平台移植了Android4.0.1操作系统,为其后续的应用构建了强大的软件平台。现场监测控制端程序流程图如图4所示。
图4 现场监测控制端程序流程图
3.2 Android系统移植及软件自启动
Android操作系统移植主要有以下4步:配置编译Xloader文件、编译Uboot文件、Androidkernel的编译配置以及下载安装Android4.0.1根文件。具体移植流程如图5所示。
图5 Android系统移植及系统启动流程图
3.3 视频采集与编码模块程序设计
本模块主要是进行视频图像的实时采集,以及对视频图像数据进行基于H.264协议的编码,最终形成高质量的视频图像数据流。该部分程序设计包含了视频采集和视频编码两部分。具体视频采集及硬件编码程序流程如图6所示。
图6 视频采集及编码程序流程图
在Android环境下一般有三种方式进行视频采集:单帧采集模方式、异步内存映射采集方式和同步内存映射采集方式。本设计选用了同步内存映射采集方式进行视频信号的捕获。
视频编码模块设计:采集的视频数据流通过IVA3子系统内部总线缓存进入DSP内核完成像素宏块数据预处理,并通过IVAHD模块进行硬件编码。由于IVA3子系统中包含了H.264视频编码所有算法的硬件实现模块,所以在视频编码的设计实现上无需编写软件算法,只需配置相应的硬件寄存器,即可完成视频编码的功能,大大降低了处理器的软件运算负荷。
3.4 UDP封包模块
UDP封包模块就是将视频编码产生的数据流按照3G移动通信互联网的相关协议进行相应的封装,使之满足通信网络的传输协议。在利用软件实现H.264协议编码时,可分为两层实现:VCL(视频编码层)和NAL(网络提取层),NAL层就是进行数据封装处理。由于本系统中H.264编码完全通过硬件处理实现,所以需要另建软件模块实现数据封装功能。UDP为网络层传输协议,而其可靠性和可控性是由RTP和RTCP协议来实现的。
系统实测略——编者注。
结语
经过实际测试,本系统能够通过3G数传网络对机器人测控系统进行远程运动控制,并能正常和较为流畅地还原出现场的视频图像,并能够实时地接收到现场的温度数据。
同时系统也存在一些不足,整个系统的可靠性和稳定性仍处在试验阶段,如系统在3G网络覆盖不好的情况下丢帧现象比较严重,还有待进一步的研究与开发。