移动机器人网络化控制平台装置的制作方法

文档序号:7589708阅读:101来源:国知局
专利名称:移动机器人网络化控制平台装置的制作方法
技术领域
本发明是一种移动型设备网络化远程控制的实现方法和嵌入式平台装置,适用于移动机器人移动设备的基于包括互联网在内的网络化远程控制和服务管理,属于网络自动接入和服务管理技术领域。
背景技术
随着互联网的普及,基于标准传输控制协议/互联网协议(TCP/IP)的网络化应用已成为当今技术发展中的重要趋势之一。当用户需要通过互联网随时随地访问远方的设备,如移动或固定的机器人、智能设备、安保监控设备等,实现对这些设备的操作或通过它们实现对环境的实时监控,这就需要网络化控制技术的支持,这类技术可应用于公共场所、办公、家庭服务、安保、救险等场所,进而使操作者能对远处真实世界实施无界的交互作用,大大延伸了网络的功能,将互联网的应用扩展到一个全新的领域。
这类网络化应用服务的关键在于能为上述设备提供接入与应用一体化服务的平台系统。一方面,目前采用的是传统的专业服务器技术用于普通数据类服务,在此类互联网服务方面可以较好地完成接入访问的功能。但是,传统的服务器一般以具有高运算处理能力和海量存储容量的台式工作站或PC机为硬件工作平台,以通用非实时操作系统为软件工作平台,其上运行的是大型复杂的服务器程序,典型的如基于Windows NT的IIS(Internet Information Server),基于Unix的Apache WebServer。此类服务器体积大,不便于携带移动,价格和维护费用也相对昂贵。因此,传统服务器的这种高档配置方案和缺乏灵活性对于各类中小型网络控制设备如移动机器人,智能仪表等监控系统中则是不合适的。此外,相对于专业性网络连接和配置而言,面向包括未来家庭应用在内的所谓网络机器人要求具有简单的网络接口,具有即插即用自动服务功能,势必要求网络接入与控制服务一体化。需要采用一些新技术,使移动机器人与网络无缝连接,进而实现网络化控制方法和设备系统。

发明内容
技术问题本发明的目的是提供一种由服务器端提供下载Java软件,利用客户端标准Java虚拟机为互联网客户提供远程访问服务,又可实现移动机器人自动接入管理与控制的方法和系统,进而实现移动机器人的远程控制服务的移动机器人网络化控制平台。
技术方案实现该系统的基本方案为首先将系统分为三层远程客户、移动机器人网络化控制平台以及移动机器人,其中移动机器人网络化控制平台由互联网WEB服务器和网络机器人服务模块、数据服务模块和命名服务模块组成。其次,网络机器人服务模块同移动机器人之间的交互采用公共对象请求代理体系(CORBA)分布对象技术,并引入代理、租借等机制实现该模块资源的管理和多机器人的连接。同时基于命名服务采用“查找—发现—匹配”的接入机制实现移动机器人的即插即用。远程客户计算机从平台的嵌入式互联网WEB服务器下载客户Java小应用程序,并采用“连接即运行”的策略嵌入在客户浏览器中运行同平台的网络机器人服务模块交互。该客户Java小应用程序与其他网络页面组合共同为用户提供良好的人机交互接口。针对系统面向多用户的特点,系统采用组播技术来为多用户传输标准压缩格式JPEG图像等多媒体信息。最后,将上述系统封装入以嵌入式Linux为操作系统的嵌入式设备中,组成一嵌入式移动机器人网络化控制平台装置。
本发明的移动机器人网络化控制平台装置为一嵌入式设备,其中的公共网络通信适配器、本地网络通信适配器、图像采集适配器、嵌入式处理器、快擦写只读存储器、随机读写存储器、输入/输出适配器、分别与总线相连接;公共网络通信适配器的输出端与外部的公共服务互联网络相连接;本地网络通信适配器的输出端与外部的本地网络相连接;图像采集适配器的输出端与外部的CCD彩色摄像头相连接;输入/输出适配器的输出端与磁盘存储器相连接;其上软件安装有嵌入式操作系统Linux、嵌入式CORBA中间件、嵌入式互联网WEB服务器、网络机器人服务模块、数据服务模块和命名服务模块;其中,嵌入式操作系统Linux和嵌入式CORBA中间件固化在嵌入式微机系统中的快擦写只读型存储器,嵌入式互联网WEB服务器、网络机器人服务模块、数据服务模块及命名服务模块组成存放在磁盘存储器中。
网络机器人服务模块由平台管理器、图像采集压缩对象、用户代理对象和移动机器人代理对象、租借对象组成;用户代理对象同客户Java小应用程序的交互采用标准传输控制协议TCP和自定义应用协议来实现,而移动机器人代理对象与移动机器人的交互采用CORBA分布对象技术来实现,并将接收到的多媒体信息以组播方式发送至互联网;同时,客户Java小应用程序与移动机器人的交互由它们各自的代理来完成;移动机器人代理对象也与数据服务模块进行交互,即移动机器人在接入时向数据服务模块写入该移动机器人的基本信息和功能信息,也从其中读取用户向互联网WEB服务器提交的功能控制命令并提交给移动机器人;网络机器人服务模块将平台管理器的对象引用以字符串为索引值写入命名服务模块中;网络机器人服务模块对其资源的管理采用租借的模式,对每一个用户代理对象或移动机器人代理对象的实例赋予一个租借对象;网络机器人服务模块采用图像采集压缩对象采集并压缩CCD彩色摄像头的图像,并以组播的方式通过公共网络通信适配器发送至公共服务互联网。
移动机器人即插即用实现方法由以下7个步骤组成1)搜索查找命名服务模块;2)发现网络机器人服务模块;3)注册移动机器人的基本信息;4)创建移动机器人代理对象;5)创建相应的数据空间;6)传输多媒体信息;7)创建并绑定租借对象。
移动机器人网络化控制平台装置与移动机器人之间的交互采用CORBA技术实现;移动机器人网络化控制平台装置与远程客户计算机之间的交互采用传输控制协议TCP协议和自定义高层协议相结合的方法实现。
有益效果本发明的原理是通过在嵌入式系统思想的基础上合理设计移动机器人网络化控制平台系统的结构,为互联网用户或者移动机器人设备提供远程或本地的即插即用自动服务功能,并实现客户端到移动机器人设备端的可靠连接和交互作用,因而大大提高了系统的易用性、可靠性和可操作性。
本发明的优点在于1.客户端采用服务器自动下载网络语言Java小应用程序模块,Java虚拟机本身所具有的安全机制保证了客户端系统的安全性以及未来软件的自动升级功能。
2.移动机器人的自动接入控制与服务模块具有自动客户服务和自动本地资源管理功能。自动客户服务功能使设备具有很好的广域网接入服务功能,保证了移动机器人网络化控制平台装置如同普通家电设备一样的易用性。自动本地资源管理功能则保证了系统工作的稳定性。
3.装置具有一机多用的功能,可以同时连接多个移动机器人。当多台移动机器人作为团队合作工作时,也能保证简单可靠的网络控制性能。
本发明提供了移动机器人网络化控制所需基本服务交互控制功能,适用于移动机器人类移动设备的基于包括互联网在内的网络化远程控制和服务管理,不仅可用于构造新型家用网络机器人服务系统,有着很高的应用价值,也可用于其他移动型设备如远程参观服务机器人系统、移动式安保监控设备的控制、操作,应用前景非常广阔。


图1是整个网络化控制系统的连接关系图,其中有远程客户计算机(100)、移动机器人网络化控制平台装置(102)、CCD彩色摄像头(104)和移动机器人(105)。
图2是移动机器人网络化控制平台装置(102)的硬件结构示意图,其中有公共网络通信适配器(107)、本地网络通信适配器(109)、图像采集适配器(106)、嵌入式处理器(110)、快擦写只读型存储器(111)、随机读写型存储器(112)、输入/输出适配器(113)、磁盘存储器(114)以及总线(115)。
图3是移动机器人网络化控制平台装置的软硬件层次关系图,其中从底层到高层分别为移动机器人网络化控制平台装置(102)、嵌入式操作系统Linux(121)、嵌入式互联网WEB服务器(116)、数据服务模块(117)、命名服务模块(118)和网络机器人服务模块(119)、嵌入式CORBA中间件(120)。
图4是整个网络化控制系统的软件系统模块图。其中移动机器人网络化控制平台软件系统(108)由嵌入式互联网WEB服务器(116)、数据服务模块(117)、命名服务模块(118)以及网络机器人服务模块(119)组成。
图5是网络机器人服务模块(119)的对象示意图。其中对象有平台管理器(125)、图像采集压缩对象(124)、用户代理对象(126)、移动机器人代理对象(127)和租借对象(128)。
图6是网络机器人服务模块(119)的控制流程框图。
图7是移动机器人(105)即插即用过程的流程框图。
图8是远程客户计算机(100)接入的流程框图。
图9给出了通过客户Java小应用程序实现简单控制功能的流程图。
图10给出了通过网络页面实现移动机器人(105)任务级命令控制的流程图。
具体实施例方式
根据本发明的特点,其具体实施方案如下本发明的移动机器人网络化控制平台装置102为一嵌入式设备,其中的公共网络通信适配器107、本地网络通信适配器109、图像采集适配器106、嵌入式处理器110、快擦写只读存储器111、随机读写存储器112、输入/输出适配器113、分别与总线115相连接;公共网络通信适配器107的输出端与外部的公共服务互联网络101相连接;本地网络通信适配器109的输出端与外部的本地网络103相连接;图像采集适配器106的输出端与外部的CCD彩色摄像头104相连接;输入/输出适配器113的输出端与磁盘存储器114相连接;其上软件安装有嵌入式操作系统Linux 121、嵌入式CORBA中间件120、嵌入式互联网WEB服务器116、网络机器人服务模块119、数据服务模块117和命名服务模块118;其中,嵌入式操作系统Linux 121和嵌入式CORBA中间件120固化在嵌入式微机系统中的快擦写只读型存储器111,嵌入式互联网WEB服务器116、网络机器人服务模块119、数据服务模块117及命名服务模块118组成存放在磁盘存储器114中。
网络机器人服务模块119由平台管理器125、图像采集压缩对象124、用户代理对象126和移动机器人代理对象127、租借对象128组成;用户代理对象126同客户Java小应用程序123的交互采用标准传输控制协议TCP和自定义应用协议来实现,而移动机器人代理对象127与移动机器人105的交互采用CORBA分布对象技术来实现,并将接收到的多媒体信息以组播方式发送至互联网;同时,客户Java小应用程序123与移动机器人105的交互由它们各自的代理来完成;移动机器人代理对象127也与数据服务模块117进行交互,即移动机器人105在接入时向数据服务模块117写入该移动机器人105的基本信息和功能信息,也从其中读取用户向互联网WEB服务器116提交的功能控制命令并提交给移动机器人105;网络机器人服务模块119将平台管理器125的对象引用以字符串为索引值写入命名服务模块118中;网络机器人服务模块119对其资源的管理采用租借的模式,对每一个用户代理对象126或移动机器人代理对象127的实例赋予一个租借对象128;网络机器人服务模块119采用图像采集压缩对象124采集并压缩CCD彩色摄像头104的图像,并以组播的方式通过公共网络通信适配器107发送至公共服务互联网101。
移动机器人105即插即用实现方法由以下7个步骤组成1)搜索查找命名服务模块118;2)发现网络机器人服务模块119;3)注册移动机器人105的基本信息;
4)创建移动机器人代理对象127;5)创建相应的数据空间;6)传输多媒体信息;7)创建并绑定租借对象128。
移动机器人网络化控制平台装置102与移动机器人105之间的交互采用CORBA技术实现;移动机器人网络化控制平台装置102与远程客户计算机100之间的交互采用传输控制协议TCP协议和自定义高层协议相结合的方法实现。
参见图1,其中示出了一个基于该平台装置的移动机器人网络化控制系统实施例所含的各种系统。以移动机器人网络化控制平台装置为中心,在内外两端分别为移动机器人和远程客户计算机提供连接服务,从而实现远程客户计算机和移动机器人的交互。具体来说,移动机器人网络化控制平台装置以代号102示出,移动机器人以代号105给出。作为例子,可以看到图1示出了三台移动机器人105,不过应理解,根据移动机器人网络化控制平台装置102的计算能力,系统可连接四个或者更多移动机器人105。移动机器人网络化控制平台装置102和移动机器人105可通过一本地网络103互连。该本地网络103可以是局域网(LAN)、以太网和令环网等。以局域网为例,移动机器人网络化控制平台装置102和一无线网桥连接到以太网HUB,而移动机器人105通过其车载的无线以太网适配器和无线网桥采用标准无线通信协议IEEE802.11b实现互连,它们之间的交互采用公共对象请求代理体系(CORBA)技术实现。
移动机器人网络化控制平台装置102也通过公共服务互联网络101和远程客户计算机100互连,该公共服务互联网络例如是Internet网络或者是局域网(LAN)。图1中同样示出了三台远程客户计算机100,但应该理解根据移动机器人网络化控制平台装置102的计算能力,可连接四台或者更多的远程客户计算机100。此远程客户计算机100在连接之前需具有安装Java插件的WEB浏览器(Java虚拟机的版本为1.3或更高),以便能正常使用从移动机器人网络化控制平台装置102下载人机交互接口。
从图1还可以看出,移动机器人网络化控制平台装置102还可以连接一CCD彩色摄像头104,为远程用户提供移动机器人所在环境的全局信息,为节省视频信息传输所需网络带宽,从CCD彩色摄像头104采集的图像先压缩成标准JPEG格式再发送至公共服务互联网络101,压缩可采用硬件或者软件实现。
图2给出了一种移动机器人网络化控制平台装置典型的硬件配置例子,典型地,该系统为一嵌入式装置,当然它也可以预期或者配置成普通PC机、或者工作站等。
图1给出了以嵌入式装置为背景的例子。设有一个嵌入式处理器110,它通过一个系统总线115与其他系统部件互连,该处理器110例如是一个从英特尔(Intel)公司购得得英特尔奔腾微处理器。快擦写只读存储器111通过总线115连接到嵌入式处理器110上,含有能控制基本计算机功能得基本输入/输出系统(BIOS),并固化有嵌入式操作系统Linux 121和嵌入式CORBA中间件120。随机读写存储器112、输入输出适配器113、公共网络通信适配器107、本地网络适配器109、图像采集适配器106也都连接在系统总线115上。输入/输出适配器113是一个能与硬驱这样得磁盘存储器114通信得小型计算机系统接口(SCSI)适配器。公共网络适配器107和本地网络适配器109使得系统能分别与公共服务互联网络101和本地网络103互连,从而也为这两个网络的信息交换建立通道。图像采集适配器106是一可连接CCD彩色摄像头104的适配器,从而使系统能从CCD彩色摄像头104中采集图像。
图3给出了移动机器人网络化控制平台软件系统108的软件层次图,由嵌入式操作系统Linux 121、嵌入式互联网WEB服务器116、数据服务模块117、命名服务模块118、网络机器人服务模块119和嵌入式CORBA中间件120组成。嵌入式操作系统Linux 121和嵌入式CORBA中间件120固化在快擦写只读存储器111中,嵌入式互联网WEB服务器116、数据服务模块117、命名服务模块118、网络机器人服务模块119存放在磁盘存储器114中。其中,嵌入式CORBA中间件120可采用例如美国华盛顿大学的ACE+TAO(5.2)组件,命名服务模块118可采用该组件提供的命名服务软件Naming Service来实现。嵌入式互联网WEB服务器116可采用例如GoAhead公司的嵌入式GoAhead Web Server。而数据服务模块117可基于MySQLAB公司的MySQL4.0数据库实现。最后网络机器人服务模块119可实现为在Linux系统运行的C++服务程序,在下面结合图5和图6对其进行详细描述。这些模块均在系统启动或者更新时自动启动。
现在结合图4说明系统中各模块的连接,图4是图1所示各部件的软件模块方框图。图中示出远程客户计算机100上的人机交互接口由两部分组成,即WEB页面122和客户Java小应用程序123组成。移动机器人网络化控制平台装置102中的网络机器人服务模块119可进一步划分成如图5所示的五个组成部分图像采集压缩对象124,平台管理器125,用户代理对象126,移动机器人代理对象127和租借对象128。
互联网WEB服务器116与数据服务模块117相连接,同时也与远程客户计算机100连接,为后者下载相应的人机交互接口资源,并运行于远程客户计算机100。其中,WEB页面122与互联网WEB服务器116建立连接,向后者提交移动机器人105任务级控制命令信息,并存放入数据服务模块117中相应的任务级命令临时存放表。而客户Java小应用程序123与网络机器人服务模块119建立连接,前者可向后者传递移动机器人105及其附件设备(例如车载摄像头和车载机械臂)的简单控制命令信息,同时后者也可向前者发送JPEG图像信息和反馈命令操作结果信息。
从图4还可以看出,移动机器人105同命名服务模块118建立连接,并根据命名服务模块118提供的信息确定网络机器人服务模块119,从而与网络机器人服务模块119建立连接。
现在结合图6详细说明网络机器人服务模块119。网络机器人服务模块119在启动之后首先创建平台管理器125对象并与数据服务模块和命名服务模块建立通信连接,接着创建图像采集压缩对象,此对象在初始化时打开图像采集适配器106设备文件,设置原始采集图像和图像压缩的参数,同时设置一组播组地址。然后该模块创建一新线程,在此线程中循环实现三个步骤(1)从图像采集适配器的设备文件中采集原始RGB图像。(2)按JPEG格式对原始图像进行压缩。(3)基于RTP协议将压缩图像数据按设定的组播组发送至公共服务互联网络101。网络机器人服务模块119在创建上述线程成功后立即在命名服务模块中注册平台管理器对象引用,以便移动机器人105的连接请求。随后该模块创建另一新线程,在此线程中创建侦听套接字,并循环等待远程客户计算机100的连接请求。至此,网络机器人服务模块119完成初始化工作,随即进入等待远程客户计算机100或者移动机器人105连接请求的状态。
当移动机器人105请求注册连接时,网络机器人服务模块119首先完成移动机器人105的注册流程(该注册交互流程将由图7给出),创建一移动机器人代理对象127,然后移动机器人代理对象循环执行以下三个步骤,直至该代理对象结束(1)判断所绑定的租借对象128是否到期,若到期,则结束该移动机器人代理对象127。(2)从数据服务模块117的任务级命令临时存放表中读取命令信息,存放入该代理对象127的命令缓冲区。(3)从该命令缓冲区中读取命令并基于CORBA调用机制实现移动机器人105的控制,若该控制有返回结果,则将此结果放入拥有控制权限的用户代理对象126的消息缓冲区。最后从缓冲区中删除此命令。
当远程客户计算机100请求接入时,网络机器人服务模块119也首先完成接入控制流程(该控制流程将由图8给出),创建一用户代理对象126,然后用户代理对象循环执行以下三个步骤(1)判断所绑定的租借对象128是否到期,若到期,则结束该用户代理对象126。(2)从远程客户计算机100接收控制命令数据,加入该用户代理对象126用户对移动机器人105的控制权限,则将这些命令数据存放入移动机器人代理对象127的命令缓冲区。(3)将该代理对象126的消息缓冲区中的内容发送给远程客户计算机100,然后在消息缓冲区中删除该内容。
上述的循环过程采用多线程的机制实现。
下面结合图7具体说明移动机器人105的接入流程控制。该流程对应用来说为一自动过程,表现为即插即用。移动机器人105开机即连接到移动机器人网络化控制平台装置102,其接入控制可细分为7个步骤实施。
1)搜索查找命名服务模块118。移动机器人105需要不断采用某种方式查找命名服务模块118,并与之建立通信,以在其中获取网络机器人服务模块119的位置。在网络通信中,查找方式采用单播方式进行。
2)发现网络机器人服务模块119。命名服务模块118中存放多种CORBA对象引用,并以字符串作为索引值。移动机器人105在查找到命名服务模块118后,需要按字符串索引值发现网络机器人服务模块119的平台管理器125。同时,在获得网络机器人服务模块119的平台管理器125对象引用之后,需要验证此平台管理器125对象所在的网络机器人服务模块119是否能提供该移动机器人105所需要的服务。若不能,则需要重新发现其他的平台管理器125。最后,若找不到合适的网络机器人服务模块119,则需要重新查找命名服务模块118,即回到第1步。
3)注册移动机器人105的基本信息。移动机器人105在找到合适的网络机器人服务模块119后,则在相应的网络机器人服务模块119上注册该移动机器人105,并提供关于此移动机器人105的两种基本信息,包括(1)移动机器人硬件的基本配置情况。(2)移动机器人要传输的多媒体信息说明。同时,网络机器人服务模块119的平台管理器125将这些信息按一定的记录格式写进数据服务模块117中的机器人注册信息表。
4)创建移动机器人代理对象127。在移动机器人105注册之后,网络机器人服务模块119的平台管理器125将创建移动机器人代理对象127来为此移动机器人105专门服务。
5)创建相应的数据空间。代理对象127在数据服务模块117中创建一个与移动机器人105同名的数据空间(如数据服务模块以MySQL实现,则此数据空间为一数据库),并在此数据空间中创建二个不同的表(1)功能说明表。此移动机器人所具有的功能以记录的形式写进此表。(2)任务级命令的临时存放表,存放互联网用户递交的任务命令,以便让相应的移动机器人代理对象127读取。在创建之前需要检查此数据空间是否已存在,若已存在则无需创建,作相应更新即可。
6)传输多媒体信息。这里的多媒体信息包含两个部分移动机器人的车载视频及移动机器人的状态。多媒体信息的传输包括两个方面(1)移动机器人代理对象127根据移动机器人105所注册的多媒体信息,采用CORBA服务—视频/音频流服务,在其与移动机器人105之间开辟两条基于UDP的传输通道传输多媒体信息。(2)移动机器人代理对象127创建两个不同的组播组,采用UDP数据包向此两组播组发送多媒体信息的两个部分。
7)创建并绑定租借对象128。网络机器人服务模块119的平台管理器125将创建一租借对象128,并与4)中创建的移动机器人代理对象127绑定。最后将租借对象128的引用传给移动机器人105,由移动机器人105负责移动机器人代理对象127的续借工作。
至此,完成移动机器人105接入控制的实施,其后移动机器人105只需设计为等待网络化控制平台装置102的控制命令并执行。当然,移动机器人105须设计成在租借资源时间到期之前,自动对移动机器人代理对象127所绑定的租借对象128进行续借操作。当移动机器人105正常或非正常退出时,网络机器人服务模块119的平台管理器125将在该模块119和数据服务模块117中删除其对应的移动机器人代理对象127和注册信息,并释放其资源,包括关闭相应的UDP通道和组播组。
下面结合图8说明远程客户计算机100的接入流程控制。互联网用户在访问网络机器人服务器之前,其访问工具WEB浏览器如IE等需预先安装1.3或更高版本的Java插件。远程客户计算机100访问移动机器人网络化控制平台装置102进而控制移动机器人105采用“连接即运行”的方式,其接入流程控制可细分为以下6个步骤实施1)用户的身份验证。用户在刚开始访问移动机器人网络化控制平台装置102时,会获得一个填写用户信息(包括用户名称和密码等)的WEB页面。用户在填写相应的信息后,递交给互联网WEB服务器116,而互联网WEB服务器116通过访问数据服务模块117中的用户信息数据表获得相应的信息,并与用户提交的信息进行比较进行身份验证。
2)选择移动机器人105。在用户通过身份验证之后,会获得一个选择移动机器人105的WEB页面,此页面的信息均由互联网WEB服务器116从数据服务模块117中的移动机器人注册数据表中读取。对于同一个移动机器人网络化控制平台装置102,可以并发连接多个移动机器人105,用户在监控移动机器人105之前可根据WEB页面提供的相关机器人信息,选定某个移动机器人105。
3)下载人机交互接口资源。用户在选定移动机器人105后,则从移动机器人网络化控制平台装置102下载人机交互接口资源。该人机交互接口资源由Java小应用程序123和WEB页面122组成,其中客户Java小应用程序123自动连接到移动机器人网络化控制平台装置102的网络机器人服务模块119预定端口。期间会弹出修改Java小应用程序运行的本地安全策略对话框,用户应接受该修改以支持组播技术,以便能接收到多媒体信息。
4)创建用户代理对象126。当人机交互接口资源(主要是Java小应用程序)连接到移动机器人网络化控制平台装置102的网络机器人服务模块119时,网络机器人服务模块119的平台管理器125创建一用户代理对象126来为其服务。当连接建立后,客户Java小应用程序123给用户代理对象126发送用户信息(名称)及其所选定移动机器人105代号,然后用户代理对象126与该代号所对应的移动机器人代理对象127绑定,并从该移动机器人代理对象127中读取相应的信息(设备信息和组播地址),发送给客户Java小应用程序123。
5)创建租借对象128。网络机器人服务模块119的平台管理器125创建一租借对象128,并将4)中创建的用户代理对象126绑定。当租借对象128检测到用户代理对象126无效时,由前者负责后者资源的释放。
6)初始化客户Java小应用程序123。客户Java小应用程序123根据步骤4中来自用户代理对象126的信息,作相应的初始化工作。包括(1)初始化移动机器人105设备列表。(2)根据用户代理对象126提供的组播地址,客户Java小应用程序123加入相应的组播组,以接收多媒体信息并显示。
至此,完成远程客户计算机100初始化接入控制的实施。其后实施设计为(1)循环向用户代理对象126发送续借的信息包;(2)等待互联网用户监控操作的输入并将操作信息发送给用户代理对象126;(3)等待接收完整的信息包进行显示处理。
现在说明整个系统控制的实施流程。在移动机器人105和远程客户计算机100完成接入之后,一方面,客户Java小应用程序123通过不断接收并显示多媒体信息,以方便互联网用户观察移动机器人105的运动;另一方面,互联网用户也可通过人机交互接口事项对移动机器人105的远程控制。互联网用户远程控制移动机器人105的方式有两种。一是通过Java小应用程序123提供的简单控制功能,二是通过WEB页面122提供的任务级控制命令。下面对这两种方式的流程控制进行分别说明。
1、结合图9说明远程用户通过客户Java小应用程序123实现简单控制功能的流程。在这种方式下,用户首先通过鼠标点击的方式进行控制。此客户Java小应用程序123提供的控制动作包括(1)移动机器人105的加速和减速按钮。(2)移动机器人105的转弯按钮。(4)小型车载操作手的移动和抓取按钮。同时在视频显示区,可通过鼠标的拖拉控制移动机器人105车载摄像头的转动及镜头的拉伸;在远程虚拟环境区可通过鼠标点击设定移动机器人105移动的目标点。其次这些控制命令信息按已定义的格式通过客户Java小应用程序123与用户代理对象126的交互通道传递,并由用户代理对象126将其存放到移动机器人代理对象127的命令缓冲区中。最后移动机器人代理对象127不断查询此命令缓冲区,并根据其中的控制命令调用移动机器人接口中的方法。若有返回结果,将结果返回给用户代理对象126,由后者发送给客户Java小应用程序123,最后从缓冲区中清除该命令。。当上述过程中发生任何异常时,均向客户Java小应用程序123发送异常信息,具体包括网络通信异常,没有控制权限,不支持该操作,命令参数不匹配等信息。
2、结合图10说明远程用户通过WEB页面122实现移动机器人任务级命令控制的流程。在这种方式下,首先互联网用户在人机交互接口资源中的WEB页面122上填写任务级控制命令的表单。其次,用户在填写完表单之后,将其提交给互联网WEB服务器116,互联网WEB服务器116将此信息按已定义的格式写入数据服务模块117中的任务级命令临时存放表。若上述过程发生异常,则通过互联网WEB服务器116以WEB页面的方式给互联网用户发送异常信息并显示在远程客户计算机100的人机交互接口上。最后,移动机器人105对应的代理对象127不断查询此表,若表中有新命令数据,则读取表中的数据并存放入其命令缓冲区,随后由此代理对象127从此命令缓冲区中提取命令信息并调用移动机器人105接口中的方法。然后该移动机器人代理对象127从任务级命令临时存放表中删除该命令数据。该方式没有返回结果。若上述过程发生异常,则通过用户代理对象126给客户Java小应用程序123发送异常信息,具体包括优先级低,不支持该操作,命令参数不匹配等信息。
根据以上所述,便可实现本发明。
权利要求
1.一种移动机器人网络化控制平台装置,其特征在于该移动机器人网络化控制平台装置(102)为一嵌入式设备,其中的公共网络通信适配器(107)、本地网络通信适配器(109)、图像采集适配器(106)、嵌入式处理器(110)、快擦写只读存储器(111)、随机读写存储器(112)、输入/输出适配器(113)、分别与总线(115)相连接;公共网络通信适配器(107)的输出端与外部的公共服务互联网络(101)相连接;本地网络通信适配器(109)的输出端与外部的本地网络(103)相连接;图像采集适配器(106)的输出端与外部的CCD彩色摄像头(104)相连接;输入/输出适配器(113)的输出端与磁盘存储器(114)相连接;其上软件安装有嵌入式操作系统Linux(121)、嵌入式CORBA中间件(120)、嵌入式互联网WEB服务器(116)、网络机器人服务模块(119)、数据服务模块(117)和命名服务模块(118);其中,嵌入式操作系统Linux(121)和嵌入式CORBA中间件(120)固化在嵌入式微机系统中的快擦写只读型存储器(111),嵌入式互联网WEB服务器(116)、网络机器人服务模块(119)、数据服务模块(117)及命名服务模块(118)组成存放在磁盘存储器(114)中。
2.根据权利要求1所述的移动机器人网络化控制平台装置,其特征在于网络机器人服务模块(119)由平台管理器(125)、图像采集压缩对象(124)、用户代理对象(126)和移动机器人代理对象(127)、租借对象(128)组成;用户代理对象(126)同客户Java小应用程序(123)的交互采用标准传输控制协议(TCP)和自定义应用协议来实现,而移动机器人代理对象(127)与移动机器人(105)的交互采用CORBA分布对象技术来实现,并将接收到的多媒体信息以组播方式发送至互联网;同时,客户Java小应用程序(123)与移动机器人(105)的交互由它们各自的代理来完成;移动机器人代理对象(127)也与数据服务模块(117)进行交互,即移动机器人(105)在接入时向数据服务模块(117)写入该移动机器人(105)的基本信息和功能信息,也从其中读取用户向互联网WEB服务器(116)提交的功能控制命令并提交给移动机器人(105);网络机器人服务模块(119)将平台管理器(125)的对象引用以字符串为索引值写入命名服务模块(118)中;网络机器人服务模块(119)对其资源的管理采用租借的模式,对每一个用户代理对象(126)或移动机器人代理对象(127)的实例赋予一个租借对象(128);网络机器人服务模块(119)采用图像采集压缩对象(124)采集并压缩CCD彩色摄像头(104)的图像,并以组播的方式通过公共网络通信适配器(107)发送至公共服务互联网(101)。
3.据权利要求1所述的移动机器人网络化控制平台装置,其特征是移动机器人(105)即插即用实现方法由以下7个步骤组成1)搜索查找命名服务模块(118);2)发现网络机器人服务模块(119);3)注册移动机器人(105)的基本信息;4)创建移动机器人代理对象(127);5)创建相应的数据空间;6)传输多媒体信息;7)创建并绑定租借对象(128)。
4.据权利要求1所述的移动机器人网络化控制平台装置,其特征是移动机器人网络化控制平台装置(102)与移动机器人(105)之间的交互采用CORBA技术实现;移动机器人网络化控制平台装置(102)与远程客户计算机(100)之间的交互采用传输控制协议(TCP)协议和自定义高层协议相结合的方法实现。
全文摘要
移动机器人网络化控制平台装置采用嵌入式服务器结构,适用于操作者通过浏览器实现互联网或局域网上移动机器人的行为控制和信息传输,使移动机器人具有即插即用式自动注册服务、联机控制性能。该移动机器人网络化控制平台装置为一嵌入式设备,其中的公共网络通信适配器、本地网络通信适配器、图像采集适配器、嵌入式处理器、快擦写只读存储器、随机读写存储器、输入/输出适配器、分别与总线相连接;公共网络通信适配器的输出端与外部的公共服务互联网络相连接;本地网络通信适配器的输出端与外部的本地网络相连接;图像采集适配器的输出端与外部的CCD彩色摄像头相连接;输入/输出适配器的输出端与磁盘存储器相连接;其上安装有嵌入式操作系统Linux等软件。
文档编号H04L12/46GK1556609SQ20041001385
公开日2004年12月22日 申请日期2004年1月9日 优先权日2004年1月9日
发明者马旭东, 戴先中, 王栋耀, 尚文, 苏剑波 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1