机器人遥操作组织体系结构综述doc_第1页
机器人遥操作组织体系结构综述doc_第2页
机器人遥操作组织体系结构综述doc_第3页
机器人遥操作组织体系结构综述doc_第4页
机器人遥操作组织体系结构综述doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、遥操作机器人系统软件组织体系结构吴水华 刘景泰(南开大学 机器人与信息自动化研究所 300071)摘要:机器人遥操作系统在传统的机器人控制中加入了网络环节,使控制者能够在本地控制远程的机器人完成一定的作业,它延伸了人类的感官与操作手段。本文将立足于分布式系统的组织方式,讨论机器人遥操作中的软件组织体系结构的问题。文中将给出若干具有代表性的可行软件组织方案,并对其各自特性进行分析,这对于构建和改进机器人遥操作系统有指导和参考价值。关键字:机器人,遥操作,分布式系统Research for Software Architecture of Tele-Operating Robot SystemsW

2、u Shui-Hua, Liu Jing-Tai(Institute of Robotics and Information Automatic System, Nankai University 300071)Abstract: Tele-operating robot systems combining traditional robot systems with network make it possible for controllers to accomplish some work with the remote robot. It extends humans percepti

3、on and manipulation ability. Based on the architecture of the distributed system, this article will discuss how to organize the software of the tele-operating robot systems. Some typical feasible projects will be proposed, and then the character analysis of each project will be given. It is valuable

4、 to the researchers who want to build up or polish up their tele-operating robot systems.Keywords: robot, tele-operating robot system, distributed system1 引言(Introduction) 本论文资助课题:863“基于远程网开放的机器人实验平台”2001AA422290天津市自然科学基金 “基于远程网开放的机器人遥操作作业模式的研究”分布式系统技术不断发展和完善,其中一些技术也被用于遥操作机器人系统的软件结构组织上123456。然而据我们所知

5、,目前为止,被用于遥操作系统的分布式技术只涉及到分布式系统组织方式的一部分,对各种可行的组织结构的综合论述并未有人涉足。而且对于不同软件组织结构的特性分析、比较,效率分析以及如何选择和实现适合于自身硬件平台并满足应用需求的遥操作机器人软件系统的问题并没有被提出和解决。本文将从分布式系统组织的角度出发,首先介绍遥操作机器人系统的基本环境;而后叙述分布式系统及各种常用组织结构;之后本文将给出几种可行的遥操作机器人系统的软件组织结构并分析其各自特点;实验部分将对各种结构的效率(通信及处理延时)问题进行分析比较;最后,本文将对如何选择遥操作机器人系统软件组织体系结构问题进行总结。2 遥操作机器人系统(

6、TeleOperating Robot System)21 系统组织结构遥操作机器人系统在传统的机器人控制中加入了网络环节,系统从逻辑结构上包含了客户端、服务器端、本地机器人控制器及机器人本体。南开大学机器人与信息自动化研究所是国内较早从事机器人遥操作研究的单位之一,2002年我们又进一步在RH6机器人的基础上开发了基于远程网的遥操作多机器人开放实验平台7,下图是我们的遥操作机器人实验平台的体系结构。图1:遥操作机器人系统组织结构图1所示的体系结构有一定的典型性,系统主要包括用于机器人控制的前向通道(从客户端到服务器)和机器人位姿和环境图像数据等的反馈通道(从服务器到客户端)。而值得说明的是,

7、在我们的基于宽带远程网的研究环境(速率256K以上)下,图像传输较为顺畅,而如果在不能保证带宽的情况下,图像的传输效果则会很不理想,本文将立足于一般网络环境,舍弃结构中的图像传输环节,而只保留仿真环境以增强客户端操作者的临场感。结构性的仿真环境所需网络反馈数据量大大低于图像传输,一般的网络都能满足其需求。不过,仿真环境在复杂多变的环境下提供的信息可能不够完全,关于这点,图像压缩传输、图形图像叠加方面的研究有助于问题的解决。另外,本文将图1中的机器人本地控制器及机器人本体(图中:2,3,4)抽象成“机器人控制器及本体”模块以简化系统描述。22 遥操作机器人系统软件要求如图2所示,遥操作机器人系统

8、与传统的本地控制机器人系统的区别就在于操作者与执行器(机器人)的分离,即我们所说的“遥”的部分。建立遥操作机器人软件平台的任务主要就在于(1)组织和实现上图中的客户端,服务器;(2)实现它们间的高效的数据通信。图2:抽象后的遥操作机器人系统组织结构3 分布式系统组织方式(Distributed System)早期的分布式系统一般由开发者根据网络协议自行开发,随着分布式系统中间件技术的发展和成熟,一些典型的分布式系统中间件被用于分布式系统的组织中,这简化了软件开发过程,但由于中间件对于开发者的透明性,也导致了对其的效率评估较困难。常用的分布式系统技术有: CORBA, COM+(及其后的WebS

9、ervice)和J2EE体系结构。CORBA(Common Object Request Broker Architecture)是由OMG提出的分布式系统开发规范,其中定义了标准化分布式对象开发的应用框架,它允许客户应用与远程的对象通信,并动态或静态地激活远程操作。CORBA有三个重要组成部分IDL,ORB和IIOP。其中IDL提供了接口的语言独立性,ORB实现了发生在客户端和对象之间请求和应答消息的创建和转换,IIOP则用于在客户端和对象间往返发送消息。CORBA支持多语言实现,当前OMG已为Java,C,C+,SmallTalk,Ada,Lisp和COBOL定义了其与OMG接口定义语言之

10、间的映射。ORB厂家提供的工具(如IONA的Orbix)能够简化CORBA组件的开发和部署。COM即Microsoft提出的组件对象模型(Component Object Modal),可用于代码(实现)在二进制级别上的共享。COM的一个重要特性是位置透明性,即组件用户(客户端)在调用组件时并不需要了解组件所处的位置。COM是这种位置透明性的进一步扩展,使用COM可以使客户端能够调用远端计算机上的组件功能。在将某COM组件注册成服务组件后,可导出其客户端安装文件,在安装了COM客户端的计算机上就可以使用该组件服务,而不必关心服务所在的计算机位置。J2EE(即Java 2 平台企业版)是由Sun

11、公司主持推出的一项中间件技术。简单地说,J2EE是一个标准中间件体系结构,旨在简化和规范多层分布式企业应用系统的开发和部署。其中的RMI(Remote Method Invocation)可以进行远程方法调用,JavaServlet可以作为B/S方式的服务器端,而EJB则可以实现Java组件。可以看出,上述三种结构都可以用于分布式系统的开发,而三者又各有特色。CORBA有良好的多语言支持特性,J2EE享有Java“一次编译随处运行”的跨平台特性,而COM则能够得到Windows操作系统很好的支持,且Microsoft的.Net战略也在朝着跨平台的目标迈进。4遥操作机器人系统软件实现及特性分析(

12、Implementation and Analysis of TeleOperating Robot System)本部分将主要针对遥操作机器人系统软件要求(见2.2),就如何实现客户和服务器端以及在使用各种组织方式时如何保证通信数据的高效传输问题,给出几种遥操作机器人系统的软件实现,并分析其各自特点。41 基于网络协议的基本实现早期的分布式系统都是开发者直接应用网络协议各层接口直接实现,这种开发的方法目前仍被广泛应用于网络开发。该方法的特点是其对开发者透明的部分比较少,开发者可以看清程序运行的脉络。这在实时性要求比较强的应用中有其优势。采用Socket(用传输层TCP或UDP协议)实现是该方

13、法中较常用到的技术。另外为实现三维仿真环境可以应用OpenGL,Direct3D,WTK或者Java3D(如果使用Java语言开发)等。图3:基于Socket的遥操作机器人系统软件组织如图3所示,这种组织方式的一个特点就是直观,基本上没有程序员透明的部分存在(除了网络协议的实现外)。另外由于使用Socket,通信可以是双向的,效率较高。但开发者必须自行开发网络通信程序及封装和解析网络数据,系统开发过程较为复杂。42 基于分布式系统中间件的实现分布式系统中间件的出现使得开发者在开发分布式程序时不需要显式地应用网络协议,只需开发出服务组件进行部署后,由客户端应用远程方法调用等直接进行函数调用就可以

14、实现。这种远程方法调用实际上包含了客户端与服务器之间透明的数据封装、传输和解析过程。分布式系统常用的组织结构有COM,CORBA和J2EE等。对于遥操作机器人系统而言,利用中间件的系统组织与基于网络协议(如TCP)的组织方式的主要区别在于数据的交互和通信过程,而这其中的一个重要问题是客户端与服务器的高效通信问题。一般的远程方法调用是由客户端调用服务功能,其通过参数和返回值来传递处理结果,客户端和服务器的通信是由客户端发起并同步完成的。在遥操作机器人系统中,服务器常需要将反馈传递给客户端,为了实现高效传输数据,服务器需要能够主动发送通信数据,即应实现客户端与服务器间的异步数据传输。图4 基于分布

15、式系统中间件的结构组织(本图重点描述数据通信部分,客户端的其它模块实现与4.1节所述相同)如图4所示,三种使用分布式系统中间件的结构组织有其相似性。无论是使用ORBIIOP还是RPC或是RMI,实现的都是远程方法的调用,图4中的描述的即是这种调用。而如上所述服务器端常常需要主动发送数据,这种功能在这些分布式系统结构中有两类实现方法:一是使用回调,即将客户端接收反馈数据的接口传送至服务器端,在服务器需要反馈数据时调用该接口;例如CORBA中AMI(异步方法调用),COM中的可连接对象及RMI中的远程回调采用的都是这种方式,该方式中客户端与服务器互相调用对方接口,从这点上说它们各自都兼有客户端和服

16、务器的性质,且是紧耦合的,图4(2)(3)中所示的即为这种调用。另一种方法是使用事件(消息)机制,通过事件(消息)管理模块实现异步通信,如CORBA中的Event Service,COM中的事件模型和J2EE中的JMS(Java Message System),这类方法使用了事件(消息)管理模块解除了服务器与客户端的紧耦合,实现了异步调用,图4(1)中所示的即为这类方法。另外,在需要与硬件交互时,硬件厂商通常提供的只有C语言访问接口,如果我们的程序采用Java实现则可以使用JNI(Java Native Interface),用以调用nonJava程序(如c语言程序)。43 B/S方式实现B/

17、S方式由于不用安装特定客户端程序,采取这种方式便于软件的发布和使用。然而由于有浏览器的限制,使得B/S实现又有其自身特点。首先是实现具有较强功能的面向浏览器的客户端的问题。一般B/S方式中我们常使用HTML和脚本(Script)实现较简单的功能,也是我们常说的“瘦”客户端。而对于遥操作机器人系统来说其客户端的实现逻辑较为复杂,并且还有三维仿真方面的需求。针对这些,我们可以使用ActiveX结合Direct3D(或OpenGL等)实现;或者,使用JavaApplet结合Java3D(或VRML)进行实现。其次是高效数据传输问题,为了能够服务于大量用户,HTTP被设计成短暂的无状态连接,即在每次客

18、户端请求中建立和使用新链接,应答完毕后立即释放该链接。这种由客户端发起的瞬时连接对于需要频繁发送反馈数据的遥操作机器人系统来说显然不太适合,针对这个问题我们可以使用Server Push(服务器推)技术,在服务器端收到客户端请求建立链接后保持该链接作为服务器的反馈通道;或者,回避该问题,在通信中使用除HTTP协议外的其它方式(如用Socket或中间件等)。下面将给出几种实现,这些实现主要针对复杂客户端的生成和客户端与服务器间的高效通信问题。文中还将给出各种实现方式对客户端的软件环境要求。图5:ActiveX控件COM组件ASPCGI的B/S组织方式图5所示的结构中,我们用Direct3D和Ac

19、tiveX技术客户实现三维仿真模块,而HTML表单则用于实现控制面板,前向控制命令由客户端提交,通过服务器端ASP调用COM组件完成,而反馈部分则通过CGI脚本使用Server Push技术实现,仿真环境的刷新是由客户端定期读取反馈数据进行。这种方式中有几个问题需要说明:其一是开发的ActiveX控件需要数字签名以在运行时通过安全认证,如无数字签名则需要在客户端(浏览器)上进行相应安全设置,以允许无数字签名的控件下载及运行,而这会给客户端系统带来一定安全隐患。二是在每个客户端连接服务器时,服务器都将开启一个CGI脚本解释器,并保持其与客户的链接,故在多用户连接时,会导致服务器端的较大资源消耗;

20、另外我们必须处理反馈数据的多进程共享问题,在这里用的是Socket;其三,我们使用Server Push技术以利于高效的反馈数据传输,IE虽然不支持严格意义上的Server Push,但能够接收“推”数据。图6:JavaApplet+Java3D+Socket的B/S组织方式在图6所示的结构中,我们采用JavaApplet和Java3D实现客户端的控制面板及三维仿真显示等。由于JavaApplet中允许Socket和其原先所在服务器(即图中的WWW服务器)的套接字通信,因此我们采用Socket实现两端高效通信。而由于JavaApplet的执行期安全限制,图中的通信服务器和WWW服务器必须在相同

21、主机中。这种方式是一种分布特性和通信高效性的折衷,使用Socket能保证数据的高效传输但也减弱了其跨防火墙的特性。采用这种方式客户端需要有Java运行时环境及Java3D运行时环境。图7:VRMLJavaAppletCORBA的B/S组织方式VRML也是B/S方式中用于三维显示的典型方法。图7中用JavaApplet和VRML实现客户端的控制及仿真显示(JavaApplet可用External Authoring Interface控制VRML中仿真图形),使用CORBA实现客户端与服务器的互操作(与图4(1)同)。在这种方式中客户端需要有Java运行时环境,VRML解释器(插件)及ORB运行

22、时环境。另外,JavaServlet也是服务器端可选的结构之一,选用JavaServlet还可以配合JMS等实现高效异步通信B/S的组织方式有利于客户端的发布,但要实现具有较强功能的客户端又需要有相应运行环境等,这也需要客户端进行配置,可以说这又增大了发布的难度。因此,在决定是否采用B/S方式时应在这些方面进行折衷考虑。5 实验分析(Experiment)虽然文献8中将基于事件的方法用于遥操作机器人系统中,建立了对延时不敏感的模型,但在组织软件系统时应该力求使网络传输和处理延时满足一定使用要求,这对增强遥操作机器人的作业能力和遥操作机器人的易操作性等有积极意义。本部分将主要就上述各种软件组织结

23、构的网络传输及处理延时进行分析。51 实验环境本实验中客户机与服务器端选用的测试平台配置是:客户端为PII450,128m内存,操作系统为Win2000 Professional,服务器为PIII550,256m内存,操作系统为Win2000 Server,两节点之间经过两个交换机和一个路由器,测试平均带宽为7.4mbps。52 计算机间的时钟同步为测试各组织结构的传输和处理延时,我们首先参考了9中提到的一种在线时钟同步算法进行网络中计算机间的时钟同步,目的是求出计算机间时钟偏差和计时频率比(即时钟间所计单位时间对应的绝对时间的比值)。将网络中的一计算机定义成主节点,同步以该节点的时钟为准,其

24、它需要同步的计算机为从节点。校准过程是:先记下主节点本地时钟时间再由主接点发送信息给从节点,从节点接收到后立即发送此时从结点的本地时钟时间给主节点,主节点收到后记下当前本地时钟时间。经过多次发送后,我们得到了由(,)组成的三元组。由式(5.1)可得两计算机间时钟偏差: (5.1)(其中为时钟相对偏差,为测得的三元组数)在短时间内我们认为时钟计时频率比不变,故在首次校准完时钟经过时间后,我们再次进行校准,此时的时钟偏差()即是由于两时钟的计时频率不同引起,因此能计算出其计时频率比: (5.2)53 各种组织结构效率分析我们将经同步后的主、从节点分别作为客户端和服务器,进行各种体系结构的前向控制和

25、数据反馈延时测试。记下数据的发送(s)接收(r)、发送反馈(sf)、接收反馈(rf)的本地时钟时间。由(5.3)可计算前向控制延时,(5.4)可计算出反馈延时:c (5.3)f (5.4)(其中为最后一次进行时钟校准的时间)实验结果如表8所示。由于时钟同步精度和计算机计时精度的原因,测试结果并不能完全精准,但其数据在毫秒级有实际参考价值。6 总结(Conclusion)本文分析了遥操作机器人系统的各种可行软件组织体系结构,给出了其各自特性,并就其通信和处理延时问题进行了实验分析,这些对于构建和改进遥操作机器人软件系统有指导和参考价值。在开发遥操作机器人系统时可以从系统的应用需求和开发规模、难度

26、等出发,根据各种结构的特性选取适用的软件组织方式。7 参考文献(References)1 Yisheng Guan, Teresa Ho and Hong Zhang. UA Telehand:An Integrated Robotic Hand/Simulator System for Tele-Manipulation via the Internet. 2001 IEEE International Conference on Robotics & Automation. 1909-1914.2 Songmin Jia and Kunikatsu Takase. An Inter

27、net Robotic System Based Common Object Request Broker Architecture. 2001 IEEE International Conference on Robotics & Automation. 1915-19203 王宏杰,颜国正,林良明.基于 C/ S模型机器人控制器的研究及其应用.机器人 Vol.24 No.3 2002,54 X.F.Zha,H.Du. Web-Based Collaborative Framework and Environment for Designing and Building Roboti

28、c Systems. 2002 IEEE International Conference on Robotics & Automation. 2196-2201.5 Songmin Jia,Yoshiro Hada,Gang Ye and Kunikatsu Takase. Distributed Telecare Robotic Systems Using CORBA as a Communication Architecture. 2002 IEEE International Conference on Robotics & Automation. 2002-20076 R.Marin,P.J.SanZ,J.S Sanchez. A Very High Level Interface to Teleoperate a Robot Via Web i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论