1.前言
随着Internet技术的发展,我们能够与任何地方的同行方便快速地传递文本、图片、声音和视像,但是相对于Internet在数据共享与数据舆传输方面的强大功能,使人感到遗憾的是目前多数基于Internet的应用还不能提供与真实世界的实时交互,更不用说直接实时地控制和改变周围环境。
机器人本身是一种专为改变某一目标而研制的一种可操作设施,与外部(甚至远距离)真实世界有丰富的传感器联接方式(视觉、触觉和位置传感等),因此,在现有Internet技术结合起来,尽可能延伸Internet的应用领域,在其可以延伸到的地方以相当低廉的价格实现远程监视与操作,进行远程教学、远程医疗以及远程作业等,具有深远的研究意义。另外,受现有机器人技术的限制,机器人不可能自主地完成所有的任务,因此人将作为一个控制环节加入到机器人控制系统中,对机器人的操作提供关键性的指导,采用宏观人工监控和局部自主结合的遥操作机器人技术已成为当前机器人领域的研究热点。
近年来,国外在网络机器人方面的研究有了很大的进展。1994年南加州大学的Ken Goldberg与Michnel Masha将一个简单的二连杠装置连入互联网后,开始有了简单的提供可访问交实时操作的网站,如[2][3][4],1995年Rovetta研制了一种远程医疗机器人系统,在去年IROS98(IEEE/RSJ International Conference on Intelligent Robots and Systems)会议上,有几名学者第一次举办了一个关于网络机器人的小型研讨会[5]。
国内机器人控制领域的学者目前还很少介入Internet应用的研究,本文将介绍如何将自己的机器人实验系统与校园网连接起来,建立一个遥操作机器人实验平台,研究开发一种基于Internet的智能视觉实时跟踪系统。
2.网络机器人系统结构
如图1所示,本系统采用了Client/Server客户/服务器模式。服务器与机器人相连接,通过视频采集卡采集摄像机的图像,对图像进行实时处理并控制机器人的运行,同时服务器还负责监控客户机的通讯,包括图像的压缩与传输、接收客户端的控制命令并进行响应。
图1 系统结构图
客户机则向客户提供具有图形、图像、文字等多种提示信息的良好界面和操作环境,客户可在这里监视工作现场的情况以及机器人的工作情况,发出相应的控制命令。
3.系统功能及其具体实现
3.1 系统开发平台
本系统支持TCIP协议,可连接到Internet网络上。操作系统为Windows95或WinNT,实用Visuai C++5.0作为开发工具,并利用WinSockt开发APL。作者所处的华南理工大学为中国教育科研网(CERNET)华南区的网管单位,有相当完善的校园网络环境。
3.2 机器人自主控制子系统
机器人实时跟踪系统采用客户/服务器模式并不意味着控制作用被上移到网络,实时的控制依然由现场控制单元来完成。而网络更关注的是现场信息的监视和管理,由于客户器模式的灵活性,使得监视/监控客户可以运行于连在Internet上的工作站,经授权操作即可获取相应的信息。因此监控系统在信息管理和共享方面更为方便,可靠性也大大提高。
本实验室采用的是进口的精密Zebro机械臂,PTZ摄像机和自己正在研制的移动机器人。其中Zebro机械臂或以通过C语言直接编程控制,在实现跟踪的任务时,只需给定跟踪对像的实时位置,系统即可自动实现跟踪;移动机器人研制成功之后就可以将机械臂装在其上,实现较大范围的移动跟踪后再由机械臂精确定位。
服务器与机器人相连,由上可知,服务器要完成机器人控制、图像采集、图像处理、图像压缩传输、与客户方的应答等多项处理工作,考虑到工作的实进性,问题系统采用了多线程的设计方法。具体如下:
线程一:
图像采集和缓存,图像处理和机器的控制;
线程二:
图像传输,机器人与被跟踪物体参数的发;
线程三:
客户请求应答;
由于本系统可实现即时图像传输,每当计算机采集到一幅图像就立刻创建线程二把图像传输出去,而线程一又要立刻对图像进行处理,两者之间涉及到访问公共缓冲区问题,需要用临界段防止冲突。线程三在收到客户要求时创立,客户的指令是对机器人任务、图像传输与否。图像质量等参数进行修改。而这些参数又影响线程一到二的运行,所以要建立和维护一个信息表,这个表中包含所有与客户操作相关的参数,这些数据在当前的线程一到二运行完毕后才产生作用。
3.3 人机交互子系统
在本系统中,人可以在远离机器人的场所通过连接在网络上的工作站对网络机器人进行监视控制,因此人机交互界面是软件系统的重要组成部分,它必须能够提供足够的信息,形象、逼真、有效地将机器人的状态信息显示出来,以方便人们了解机器人运行状况和进行控制,所以系统采用了可视化的人机界面。
机器人工作现场摄像机所拍下的全运动图像将在工作站上实时显示出来,使人仿佛在工作现场监视机器人的工作情况;同时显示一个实时数据表格,包括机器人的各个关节的实时数据以及运动物体的位置数据;另外还通过将机器人在当明一段时间内关节的变化以及运动物体的运动情况记录下来并用轨迹图描绘出来并显示,有利于观察机器人与物体的运动趋势及其相互关系。
为了便于对进行操作,该软件提供了多种操作机器人的方式;菜单方式、命令行方式和图形辅助方式。软件将本系统所有的机器人操作命令分组在菜单上列出,必要时还会弹出详细地对话框,即使是初学者也可以很快了解和掌握机器人的各项操作;命令方式方便熟练的操作者;而图像辅助方式加上弹出式菜单,操作者可以直接在图像上给机器人指定位置、指定操作对象等操作,更好地方便了用户。
在工人站上除了能控制机器人外,还可根据网络的负荷情况,在满足机器人工作要求条件下控制摄像机的图像采集精度和传输到工作站的图像的精度,甚至可控制图像传输与否以及每秒传输帧数,由于图像传输是网络通讯最大的负担,通过改变图像精度可对网络通讯状况产生一定的影响。
3.4 网络传输协议及管理
在本系统中,需要传输的数据很多,考虑到我国网络建设的实际情况,设计严格的网络传输协议,是系统成功的关键。
为了对远程机器人现场进行监控,本系统的图像传输要求实时进行,它要求图像的实时传输和实时播放,因此要求服务器方发送持续稳定的数据流,客户方一边接收数据一边播放。为此,我们采用了实时图像传输协议RPTP(Real-time Picture Transmission Protrcol),它建立在无的基于Socket的客户/服务器模式的基础上。
在工作现场,视频捕捉卡采集下CCD摄像机拍下的图像,并将其转化为24/16/8/2位(可选)的位图图像,为了保证良好的视觉效果,一般选择24位的真彩图像。受网络带宽的限制,在图像传输之前,需要进行压缩,现在Internet上能较好地压缩视频的编码标准有MPEG-2、H263、MPEG-4等,本系统拟采用基于小波的态图像压缩编码和视频压缩编码,高压缩比情况下软件测试结果表明图像复现质量优于MPEG-2。压缩后的图像加上数据包头封装后就可发送出去。
为了保证控制命令的正确传输,控制命令的传送采用有连接的传输方式。由于控制命令比较多,为方便以后的进一步扩展和缩短控制命令的长度,将各种命令分类编码,在服务器和工作站建立一张相同的命令编码表和参数表,由程序通过查询的方式负责进行控制与维护。
4.结束语
本系统以一个实现实时跟踪的网络机器人为对象,实现了远程监控与管理的集成,在基于校园网的基础上采用先进的客户服务器分部式网络结构,使得系统可灵活扩充、安全可靠;建立了良好的人机界面,便于操作人员获取信息与发布指令,并充分发挥了现在机器人设备的潜力。另外,由于系统较好地完成了跟踪任务,再加上Zebra机器人提供的多种担任功能,可以容易地实现操作,满足客户的要求。
参考文献
[1]David Kushuer,Web Robots offer hands on experience from afar,The New York Times, November, 1998.
[2]http://telegarden.nec.at/
[3]http://telerobot.mech.uqn.edu.au/
[4]http:khepontheWeb.epfl.ch/
[5]Kevin Brady and T.J.Tarn, Internet-Based Remote Teleoperation, IEEE Internatyinal Conference on Robotics and Automation, Leunen,Belgium,1998.
[6]Niemeyer,G.,and Slotine, J.J.E., Toward Force-Reflecting Teleoperation over the Internet, IEEE Int. Conf. Robotics and Automation, Leuwen, Belgiug,1998.
[7]Roboto Oboe and Paolo Fiorini, A Desing and Control Environment for Internet-Based Telerobotics, International Journal of Robotics Researdn,Vol 17,No.4,1998,pp.433-449.
[8]Mohamed Shaheen, K.A.Loparo and M.R.Buchner, Remote Laboratory Experimentation,Proc.of 1998 American Control Conference, June,1998.
[9]冯穗力、裴海龙、张凌、叶梧, 基于带宽需求预测的VBR业务速率分配,《电路与系统学报》,Vol.3,No.2,June,1998,pp.21-34.