基于RMI-IIOP的移动机器人远程监控系统的研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
随着机器人技术的发展,机器人的种类日趋增多。不同种类的机器人往往具有不同的硬件平台、操作系统,使用不同的协议进行通信,采用不同的编程语言进行应用程序开发。所有这些不同都体现了机器人的异构性,阻碍着机器人之间的相互通信。因此,如何构建一个通用的平台来实现机器人之间的互相通信,成为一个非常有意义的研究课题。
     本文采用RMI-ⅡOP中间件技术的方法解决了移动机器人之间的异构性问题,并在此基础上实现了B/S(浏览器/服务器)模式下的移动机器人远程监控。
     论文首先介绍CORBA规范与Java RMI技术的基本概念,具体分析两者的优缺点,在此基础上深入研究了结合两者优势的RMI-ⅡOP技术。CORBA(公共对象请求代理体系结构)建立了一个跨语言的分布式对象体系构架,提供了一个多种语言对象间进行交互的分布式操作规范,以支持异构分布应用程序间的互操作性及独立于平台和编程语言的对象重用。CORBA非常复杂,要熟练使用CORBA,开发者通常要经历陡峭的培训曲线。Java RMI(Java远程方法调用)是一种分布式系统技术,通过使用Java语言来编写分布式对象,它允许一个Java虚拟机调用运行在位于网络中另一处Java虚拟机的对象方法,为采用Java对象的分布式计算提供了简单而直接的途径。Java RMI仅仅适用于纯Java应用,跨语言特性差,不能与其他语言实现的对象进行通信。RMI-ⅡOP是企业服务器端Java开发的基础,RMI-ⅡOP克服了RMI和CORBA的缺点,融合了RMI和CORBA各自的优点,兼有Java RMI的简易性和CORBA技术的语言中立特性。开发者只需要极少修改就可以在ⅡOP上运行RMI调用,从而能够更加方便地编写分布式程序设计。
     其次给出系统的实现目标,并针对该目标设计了B/S模式下基于RMI-ⅡOP的包括数据源、Web服务器、监控终端在内的三层分布式网络控制体系结构。数据源包括移动机器人、声纳传感器、激光传感器、摄像头、车载PC以及数据库服务器,Web服务器采用了免费的开放源代码的Tomcat应用服务器,监控终端是任何一台连接到互联网上的计算机。
     随后详细展示移动机器人软件系统研发流程。首先设计了通用的移动机器人接口,然后针对MobileRobots机器人具体实现了该通用接口,开发出通用的服务器端和客户端。同时利用JMF技术在服务端实现了视频的实时采集和发送,在客户端实现了视频的实时接收和显示。最终进行系统部署和测试,测试结果表明系统具有良好的可操作性、可移植性和跨平台性。
With the development of robot technology, the types of robot have been increasing. Different types of robots often have different hardware platforms and operating systems. At the same time, they often use different protocols to communicate and use different programming languages for application developments. These differences exhibit large heterogeneity of the robots and they hamper the mutual communication between the robots. So how to build a common platform to achieve mutual communication between different types of robots has become a valuable research topic.
     This dissertation uses RMI-IIOP middleware technology to solve the heterogeneous problem between mobile robots, and implements mobile robot remote monitoring under the B/S(Browser/Server) mode.
     This dissertation first introduces the fundamental concepts of Java RMI and CORBA. Then with a concrete analysis of the advantages and disadvantages of Java RMI and CORBA, the dissertation has an in-depth study on RMI-IIOP which is a combination of the advantages of Java RMI and CORBA. CORBA(Common Object Request Broker Architecture) establishes a cross-language framework of the distributed object system, and provides distributed practices of interaction between multilingual objects to support interoperability between heterogeneous distributed applications and object reuse which is independent of platform and programming language. CORBA is very complicated and developers usually have to undergo steep training curve before skilled using CORBA. Java RMI (Java Remote Method Invocation) is a technology of distributed system. Through using Java language to implement distributed objects, Java RMI allows a Java Virtual Machine to call a function of a remote object at another Java Virtual Machine in the network. So Java RMI provides a simple and direct way for distributed computing to use the Java objects. But Java RMI is only adapted to pure Java applications, and has poor cross-language feature. So the objects implemented in Java can not communicate with the objects implemented in other languages. RMI-IIOP is the basis of server-side Java development for the enterprise. RMI-IIOP overcomes the shortcomings of RMI and CORBA, and integrates the respective merits of RMI and CORBA. It has the simplicity of the Java RMI and language-neutrality of the CORBA. Developers rarely need to modify the applications invocating RMI calls over the IIOP protocol, and they can more easily program for distributed systems.
     Secondly, the dissertation sets the target of the system and designs a three-tier distributed network architecture based on the RMI-IIOP under the B/S model. The three tiers include data sources, web server and monitoring terminal. Data sources include mobile robot, sonar sensors, laser sensors, cameras, onboard PC and database server. Web server uses free and open-source Tomcat application server. Monitoring terminals can be any computer connected to the Internet.
     Subsequently the dissertation detailed displays the development process of mobile robots remote monitoring and control system. First a common interface for mobile robots is designed, then a concrete realization of the common interface according to MobileRobots is provided, and a universal server side and client side are developed. At the same time, through using JMF technology, the server side implements the real-time acquisition and delivery of video, and the client side implements real-time receive and display of video. Ultimately deployment and test of the system is implemented and the results show that the system has good workability, portability and cross-platform features.
引文
[1]蔡鹤皋.机器人将是21世纪技术发展的热点.中国机械工程,2000,11(1-2):58-60
    [2]NJ Nilson.An application of Artificial Intelligence Techniques.AM Automation - Proc.IJCAI,Washington DC,1969
    [3]李磊,叶涛,谭民等.移动机器人技术研究现状与未来.机器人,2002,24(5):475-480
    [4]徐国保,尹怡欣,周美娟.智能移动机器人技术现状及展望.机器人技术与应用,2007,(2):29-34
    [5]史英海,王越超.具有实时性保障的INTERNET机器人控制系统设计方法.机器人,2003,24(2):105-108
    [6]闫继宏,赵杰,朱延河,蔡鹤皋.基于INTERNET多机器人遥操作采用协调控制器的协作控制研究.高技术通讯,2004,14(3),56-62
    [7]游松.基于国际互联网的遥操作机器人系统研究.博士学位论文,北京航空航天大学,2000
    [8]王庆鹏.基于网络的机器人遥操作研究.博士学位论文,中国科学院沈阳自动化研究所,2001
    [9]欧青立,何克忠.室外智能移动机器人的发展及其关键技术研究.2000,22(6):519-526
    [10]丑武胜,战强.空间遥操作机器人系统控制参考模型.宇航学报,2003,24(4):378-383
    [11]李成,梁斌.空间机器人的遥操作.宇航学报,2001,22(1):95-98
    [12]彭一准,原魁,周庆瑞.一种遥操作移动机器人的研究与实现.科学技术与工程,2005,5(16):1162-1166
    [13]庄严,王伟,恽为民.基于网络的机器人控制技术研究现状与发展.机器人,2002,24(3):276-282
    [14]吴水华,刘景泰.遥操作机器人系统软件组织体系结构.机器人,2003,25(7):731-736
    [15]聂勇军,魏世民,廖启征.基于CORBA技术的网络机器人的远程控制系统.计算机应用,2004,24(6):398-400
    [16]周风余,宋洪军,刘涛等.基于中间件技术的异构机器人系统设计及实现.山东大学学报(工学版),2007,37(3):41-45
    [17]Sun Microsystems,Inc.Java Remote Method Invocation White Paper http://java.sun.com./javase/technologies/core/basic/rmi/whitepaper/index.jsp
    [18]Object Management Group,Inc.CORBA/IIOP Specifications.http://www.omg.org/technology/documents/corba_spec_catalog.htm
    [19]Goldberg K,Mascha M,Gentner S,Rothenberg N,Sutter C,Wiegley J.Desktop teleoperation via the World Wide Web.Robotics and Automation,1995(1):654-659
    [20]K.Goldberg,M.Mascha,S.Gentner,N.Rothenberg,C.Sutter,and Jeff Wiegley.Beyond the web:Manipulating the physical world via the www.Computer Networks and ISDN Systems Journal,28(1),December 1995.Archives can be viewed at http://www.usc.edu/dept/raiders/
    [21]K.Goldberg,J.Santarromana,G.Bekey,S.Gentner,R.Morris,C.Sutter,and J.Wiegley.A telerobotic garden on the world wide web.Technical report,SPIE OE Reports,June 1996.Visit:http://www.ieor.berkeley.edu/~goldberg/garden/Ars/
    [22]K.Taylor and J.Trevelyan.Australia's telerobot on the Web.Proc.26th Int.Symp.Industrial Robots,1995,pp 39-44.Visit:http://telerobot.mech.uwa.edu.au/
    [23]Rovetta Alberto,Sala Remo,Wen Xia,Togno Arianna.Remote control in telerobotic surgery. IEEE Transactions on Systems,Man,and Cybemetics Part A:Systems and Humans.Vol.26,no.4,pp.438-444.1996
    [24]R.E.Schantz and D.C.Schmidt.Middleware for distributed systems:evolving the common structure for network-centric applications.In:J.Marciniak and G.Telecki,Editors,Encyclopedia of Software Engineering,Wiley,New York(2002)
    [25]S.Fleury,M.Herrb,R.Chatila,GenoM:A Tool for the specification and the implementation of operating modules in a distributed robot architecture,in:Proceedings of the International Conference on Intelligent Robots and Systems(IROS),Grenoble,France,vol.2,1997,pp.842-848
    [26]Bandini,S.& Mauri,G.1999 Multilayered cellular automata.Theor.Comp.Sci.217,99-113
    [27]L.Petersson,D.Austin,and H.I.Christensen.DCA:A Distributed Control Architecture for Robotics.In IROS,pages 2361-2368,Maui,October 2001.IEEE
    [28]Henri E.Bal,M.Frans Kaashoek,Andrew S.Tanenbaum.Orca:A Language for Parallel Programming of Distributed Systems.IEEE Transactions on Software Engineering,v.18 n.3,p.190-205,March 1992
    [29]MARIE Main Page.http://marie.sourceforge.net
    [30]H.Ug,S.Sablatnog,S.Enderle,and G.Kraetzschmar.MIRO-Middleware for mobile mbot applications.IEEE Trans.on Robotics and Automation,Vol.18,no.4,pp.493-297,2002
    [31]Eric Colon CoRoBa,a multi mobile robot control and simulation framework,,Ph.D.Thesis,November 2006,Vrije Universiteit Brussel - Koninklijke Militaire School
    [32]Meng-Chun Wueng,Fu-Fang Yang,Cheng-Zen Yang.A novel Java RMI middleware design for active networks.TENCON 2004.2004 IEEE Region 10 Conference Volume C,21-24Nov.2004 Page(s):68-71 Vol.3
    [33]Object Management Group.The Common Object Request Broker Architecture and Specification.Revision 2.3.1998
    [34]Object Management Group.Java Language to IDL Mapping Specification.Version 1.1.2001
    [35]M.Kamel and S.Leue,Formalization and validation of the General Inter-ORB Protocol (GIOP)using PROMELA and SPIN,International Journal on Software Tools for Technology Transfer 2(2000)(4),pp.394-409
    [36]卜炜.基于ORB的RMMIOP的设计与实现[D].电子科技大学,2002
    [37]汪芸,谢俊清,沈卓炜,顾冠群.实时CORBA技术综述[J].东南大学学报(自然科学版),2002,(03)
    [38]杜风雷.用RMI开发基于Java的分布式应用[J].微电子学与计算机,2006,(07)
    [39]陈桦,李鹏.Java远程方法调用(RMI)技术及实现方法[J].计算机系统应用,2003,(06)
    [40]陈孝威,陈凌云.三层体系结构的客户机/服务器[J]计算机应用,2000,(1)
    [41]祝建中.基于RMI的分布式计算的实现[J].计算机工程,2003,(10)
    [42]王晔,王晨,张德富.分布对象平台Java RMI和CORBA的对比研究[J]计算机工程与应用,2001,(21)
    [43]兰晓伟,于长云.Java RMI与CORBA的集成研究[J]大津理工大学学报,2005,(03)
    [44]Sun Microsystems,Inc.Tutorial:Getting Started Using RMI-IIOP.http://java.sun.com/j2se/1.4.2/docs/guide/rmi-iiop/tutorial.html
    [45]Akira,Andoh and Simon Nash.RMI over IIOP:The new RMI-IIOP standard features easy programming combined with CORBA connections,http://www.javaworld.com/jw-12-1999/jw-12-iiop.html.1999
    [46]李文立,邓贵仕.CORBA和Java RMI的集成研究[J].计算机工程与应用,2003,(06)
    [47]Damian Hagge.RMI-IIOP in the enterprise:An introduction to running RMI over IIOP.http://www.ibm.com/developerworks/library/j-rmi-iiop/2002
    [48]钱江等.基于Java Applet和服务器组件技术的Web机器人遥操作.计算机工程.2001(6):37-39
    [49]吴向阳,戴先中,孟正大.分布式机器人控制器体系结构的研究[J].东南大学学报(自然科学版),2003,(S1)
    [50]陶永祥等,基于Java的多层分布式应用结构[J],计算机工程与应用,2001(19):117-120
    [51]Orfali,Robert,Dan Harkey.Client/Server Programming with Java and CORBA.New York:Wiley,1998
    [52]Patrick Saucy,Fracesco Mondada.KhepOnTheWeb:Open Access to a Mobile Robot On the Internet.IEEE Robotics& Automation magazine,March 2000:41-47
    [53]Michel,P.Saucy,and F.Mondada.KhepOn TheWeb:An experimental demonstrator in telerobotics and virtual reality.In Proceedings of the IEEE International Conference on Virtual Systems and Multimedia(VSMM'97),1997:90-98
    [54]谢川.基于B/S的异构数据源集成系统设计[J].计算机应用,2007,(02)
    [55]MobileRobots.Advanced Robotics Interface for Applications(ARIA)Developer's Reference Manual.http://www.ai.rug.nl/vakinformatie/pas/content/Aria-manual/main.html.2006
    [56]宋洪军,周风余,李贻斌,贾磊.基于CORBA的工业机器人软件框架的研究和应用[J].计算机工程与应用,2007,(25)
    [57]Schaaf M.,Maurer F.Integrating Java and CORBA:a programmer's perspective Internet Computing,IEEE Volume 5,Issue 1,Jan-Feb.2001 Page(s):72-78
    [58]Rob Gordon,Stephen Talley.Essential JMF-Java Media Framework.Prentice Hall PTR,1999,ISBN:0-13-080104-6
    [59]Sun Microsystems,Inc.JMF 2.1.1 Software Documentation.http://java.sun.com/products/java-media/jmf/2.1.1/documentation.html.2003