视频融合在遥操作机器人系统中的应用
扫描二维码
随时随地手机看文章
1 系统总体结构
针对以上情况,本文提出采用建立标准坐标系使仿真机器人和反馈视频在同一界面融合的方法,仿真模型预演作业任务而反馈视频则跟踪其轨迹进行作业,通过两者对比及时发现机器人作业情况,一旦越界违规立刻停止。操作者也能根据两者的比较了解现场环境,如出现障碍物或机器人伤人事件时,立刻做出下一步命令以避免危险发生。系统总体结构如图1所示。具体工作流程:摄像头采集真实机器人的视频数据传送到服务器端图像采集卡的静态内存中对其进行H.263压缩,视频数据压缩后经网络传输送到客户机端。客户机对数据进行解压、还原、显示、在仿真模型界面显示视频使两者融合,同时客户机实现操作界面程序编写。操作界面包括视频融合模块、视频处理模块和控制模块。视频融合模块对视频进行相应的坐标变换后使其同仿真机器人在一个界面上重合显示。视频处理模块包括视频放大、视频缩小、视频保存、打开视频、视频截图、存位图、存JPEG图、打开位图、打开JPEG图等功能。仿真三维立体模型采用3DSMAX建立,在OPENGL编程环境下对其进行相应的绘制及控制。反馈视频数据经压缩、传输、解压、相应的坐标变换及比例缩放后在客户端显示。服务器完成视频采集、压缩、存储、传输。客户机完成仿真模型控制、解压、显示视频,以及对视频进行相应的放大、缩小、截图、保存。由于网络传输存在延时,而且这种延时除了传输指定距离所需的固定延时及指令执行延时外,还有一些随机扰动延时,如果这种延时不能够及时发现,操作者根据视频反馈会做出错误判断。根据这种情况在客户端绘制接收数据字节曲线,可形象直观地观察到网络状况对视频传输的影响,如图2所示。
控制模块如图3所示,包括每个关节的启动、停止按钮、速度输出及速度变量输出显示。
2 仿真模型建立及视频融合实现
2.1 通信建立与视频传输
网络通信分为同步方式和异步方式。同步方式是发送方不等接收方响应,便接着发下一个数据包的通信方式;异步方式是发送方发出数据后,等收到接收方发回的响应,才发下一个数据包的通信方式。本系统开发的是客户端/服务器(C/S)结构的软件,该软件是异步非阻塞模式。此模式的优点是既可以同步执行,也可以重叠执行。图像在网络中传输时,不可避免地要牵涉到传输协议的问题。TCP/IP是一组协议,其中底层的协议TCP和UDP对于图像的传输起着至关重要的作用。TCP是面向连接的,即在端与端的通信中,TCP协议建立一条端与端之间的虚电路。UDP是一种面向无连接的,它取消了重传校验机制,能够达到很高的通信效率,很适合于可靠性要求不高的数据传输。由于本机器人系统对视频的丢帧情况要求不高,故采用客户/服务器模式的UDP协议方式。视频传输采用UDP传输,建立Socket类直接传输图像数据,客户端调用自写show函数在OPENGL编程环境下绘制反馈视频,实现视频再现。系统中,使用MFC来开发通信程序及操作界面。这是因为MFC主要是基于窗口和文档的应用软件编程,它集成了大量的数据和方法,将许多烦琐的任务,如应用程序初始化、文档处理和磁盘I/O封装起来,为使用者的编程带来了巨大的方便。
2.2 仿真机器人模型绘制
采用3DSMAX建立MOTOMAN机器人三维仿真机器人模型后,采用Deep Explortation转换软件转换成VC代码,在VC的工程设置中加入OPENGL的链接库,建立工程并调用转化的仿真机器人代码。在创建、装入、相乘模型变换和投影变换矩阵时都用到堆栈操作,一般来说,矩阵堆栈常用于构造具有继承性的模型,即由一些简单目标构成的复杂模型。MOTOMAN机器人仿真模型中,复杂的机械手臂是由多个简单的长方体依据继承关系构成的,而这种继承关系由矩阵堆栈顺序决定。机械手臂、关节、底座均按照实际机器人的比例进行相应缩放。规定好了底座的坐标系后,其他关节、手臂则根据自身的立体尺寸就能计算出坐标位置进行绘制。本机器人模型由3层支撑底座、4个旋转关节、1个横梁、1个竖柱、手爪及其他一些零部件构成,仿真机器人模型如图4(a)所示。它的继承性表现在当末端执行器手爪运动时(如垂直上升),首先是关节3向上启动,然后关节2向手爪方向转动,接着是关节1微转,整个机器人垂直平移,如此进行下去,整个机器人协调配合保持末端执行器(手爪)垂直上升。三维模型在OPENGL中的显示流程是:世界坐标系中的三维物体经三维几何变换后投影并进行三维裁剪及视口变换,最后在屏幕坐标系中显示图形。
2.3 视频融合及控制实现
仿真机器人底座视点坐标系确定后,视频机器人根据仿真机器人的大小进行缩放绘制,使底座同仿真机器人底座在一个坐标位置。视频中机器人的其他部分同底座一样进行相应的映射,因此,初始时刻视频和仿真模型的关节、视角位置是基本重合的。视频融合界面通过VC控件SLIDER调节视频透明度,操作者根据实际情况选择清晰度,也可以将反馈视频设置成完全透明(此时只能看到模型而看不到视频)。本仿真机器人在OpenGL三维编程中实现3DSMAX数据模型的程序控制。3DSMAX是一种简便快捷的建模软件,比同类软件进一步完善了建模功能,更侧重于复杂模型的建模,可以很容易地用C++和OpenGL结合实现图形学算法,再把本算法作为插件嵌入3DSMAX环境中,而不用考虑物体模型的生成和处理的复杂代码,利用3DSMAX的渲染计时器可以方便地检验所编算法的效率和效果[12]。在仿真机器人制作时应遵循一个原则:在能够保证视觉效果的前提下,尽量采用比较简单的模型,而且若能够用参数化方法构建的对象尽量用参数化方法构建。同时,在模型创作过程中,对模型进行分割、独立建模,以利于进行操作和考察。仿真机器人视频融合前后对比如图4所示。控制程序实现仿真模型控制,控制过程是:按下相应操作按钮,2个线程同时运行,1个线程将控制指令传送到仿真模型使虚拟机器人运动,另1个线程将控制命令通过网络传输送到服务器控制真实MOTOMAN机器人完成一致作业。在仿真模型和视频融合界面中,模型走过的轨迹在程序中用红线标定(为方便观察者,红色轨迹线采用10个像素的粗实线绘制),反馈视频随后跟踪此轨迹运行,操作者观察视频中机器人的运行情况并判断运行是否达标及决策下一步。
该视频融合方法应用于遥操作机器人系统中,能够使控制者准确判断机器人作业精准度,同时将传统的遥操作机器人视频监控及仿真预测相结合,提出将视频融合应用于遥操作机器人技术中。实验结果表明,这种方法对于精准度要求高的机器人系统非常实用,将来可以将该视频融合方法拓展在抢险救灾、灾情调查、工程运行、水利监测、城市调查中,除了能对现场完成监测录像、图像传输等功能外,还可以比较预测与实际的差异。
参考文献
[1] 高永生.基于Internet多机器人遥操作系统安全机制的研究[D].哈尔滨:哈尔滨工业大学,2008:15-19.
[2] 黄继伟.遥操作机器人系统及其夹持器抓取算法研究[D].南京:东南大学,2008:12-15.
[3] 王学谦,梁斌,李成,等.自由飞行空间机器人遥操作三维预测仿真系统研究[J].宇航学报,2009(1):2-3.
[4] 蒋再男,刘宏,谢宗武,等.3D图形预测仿真及虚拟夹具的大时延遥操作技术[J].西安交通大学学报,2008(1):2-3.
[5] 郑云辉,郑伟,席宁,等.基于无线网络的足球机器人遥操作系统[J].计算机应用,2008(1):2-3.
[6] 谭明金.Visual C++图形编程技巧与实例[M].北京:人民邮电出版社,2002.
[7] 张海燕,王东木,宋克欧,等.图像压缩技术[J].系统仿真学报,2002,14(7):831-835.
[8] 沈洁,杜宇人,殷玲玲,等.基于DCT变换的图像压缩技术研究[J].信息技术,2006(10).
[9] 郭海静,葛万成.基于DCT与SPIHT的数字图像压缩技术研究[J].信息技术,2005(12):2.
[10] ABEYTA A M, FRANKLIN J. The accuracy of vegetation stand boundaries derived from image segmentaion in a desert environment[J]. Photogrammetric Engineering and Remote Sensing, 1998,64(1):60-64.
[11] AFEK Y, BRAND A. Mosaicking of orthorectified aerial images[J]. Photogrammetric Engineering and Remote Sensing, 1998,64(2):116-120.
[12] 王爱民,许志峰.基于3DSMAX和OpenGL的遥操作机器人图形建模[J].工业仪表与自动化装置学报,2007(4):2-3.