开放式网络机器人通用控制系统的制作方法

文档序号:2348814阅读:177来源:国知局
专利名称:开放式网络机器人通用控制系统的制作方法
技术领域
本发明涉及一种开放式网络机器人通用控制系统,在通用机器人控制体系基础上,采用分布式对象和远程接口技术建立网络机器人通用分布式对象模型,通过服务公布-查找模型实现机器人和机器人设备间的自发互联和机器人组件的网络即插即用,主要应用于机器人设计制造,机器人智能研究领域。
据查,三星光州电子株式会社申请了“使用移动通信网络的机器人清洁系统”专利,该系统是能够利用移动通信网络从远距离控制清洁机器人的机器人清洁系统。该机器人清洁系统在把安装的摄像机拍摄的图像数据转换为移动通信信号后发送图像数据,用户可以通过移动通信网络远程控制机器人。此系统是针对专用机器人设计的专用网络控制系统,因而不具有通用性,并且控制载体是通信网络。
另外上海交通大学申请了“面向对象的机器人通用开放控制系统”专利(专利申请号03128900.2)。该系统能够实现各种异构机器人的通用化控制。但该系统只能应用于非网络环境下的本地机器人,因而无法实现网络机器人的通用化、开放式控制系统。
目前Internet技术与机器人本体制造技术已基本成熟,其功能和结构也日趋标准化。因此网络机器人开发应用的主要技术难点集中在网络平台、网络接口、网络资源利用和网络机器人的自主性方面。然而到目前为止,几乎所有的网络机器人应用系统均采用专用的网络机器人平台,网络机器人平台只能挂接特定的机器人前端设备,前端机器人设备只能理解特定网络服务器的控制和环境信息,尚未出现一套通用化的网络机器人控制系统,能够实现基于Internet各种机器人和机器人设备的统一网络控制;对于大量已有本地机器人,目前也缺乏一套统一的网络接入方案用以指导本地机器人的网络化改造工作;另外,现有网络机器人系统中,机器人和网络上的机器人组件(如机器人本地外的传感器)之间的连接必须在编制系统时,根据机器人的任务,预先设计相应接口和网络连接,而不能做到网络机器人和网络传感器间的即插即用地通过Internet连接,进而实现机器人为完成特定任务,自主性地寻找所需求的网络信息资源,并连接相应网络传感器的智能行为。
研究开放式的基于Internet的通用网络机器人控制系统是拓展网络机器人应用范围,实现网络机器人实用化、大众化的关键。
为达到这一目的,本发明在上海交通大学申请专利“面向对象的机器人通用开放控制系统”的基础上,应用分布式对象技术和远程接口技术建立了网络机器人通用分布式对象模型,并采用服务-查找模型实现机器人和机器人设备间的自发互联和机器人组件间的网络即插即用,最终实现了开放的网络机器人通用控制系统。该控制系统可完成各种异构机器人和传感器的互联和整合,实现可跨节点移植的机器人智能控制程序,支持机器人和机器人设备间的自发互联及机器人组件间的网络即插即用,最终给出了通用化的机器人远程控制及网络接入方案。
本发明是建立在通用机器人控制体系上的机器人网络控制系统。通用机器人控制体系描述了一种机器人的通用化的控制方法。该控制体系采用混杂结构机器人控制策略;使用任务层、行为层、动作层三个层次的控制模型实现机器人的通用智能控制;使用感知空间、感知信息、传感器等模块采集、处理、同步、储存机器人的传感信息。其中,动作层作为机器人控制的最低层,通过动作和状态封装了机器人的执行机构,为其上的行为层提供了屏蔽了机器人硬件结构的统一控制方法;行为层封装了机器人的反应式行为控制策略,通过行为、行为图和行为决策实现了机器人实时的行为控制;任务层则封装了机器人规划策略,通过任务和任务序列提供了顺序化的机器人决策过程。最终,通用机器人控制体系将机器人构成和控制模块抽象为以下十个单元动作、状态、行为、行为图、行为决策器、任务、任务序列、感知空间、感知信息和传感器。
本发明在通用机器人控制体系的基础上,将分布式对象和远程接口技术引入到机器人控制平台中,将通用机器人控制体系中的每个单元封装为分布式对象并定义了其远程接口,最终形成了适用于Internet网络的通用机器人控制分布式对象模型。通过引入分布式对象技术和远程接口技术,本发明建立了通用机器人控制体系的分布式对象模型,最终定义了以下十个分布式的基类对象及其接口动作对象及设定动作值接口、状态对象及设定状态接口、行为对象及输出期望状态接口、行为图对象及遍历行为接口、行为决策器对象及决策接口、任务对象及执行任务接口、任务序列对象及遍历任务接口、感知空间对象及输入输出感知信息接口、感知信息对象和传感器对象及输出感知信息接口。以上各个分布式对象中,动作和状态对象必须位于与机器人执行机构绑定的一个网络节点上,传感器对象必须位于与物理传感器绑定的网络节点上,感知信息对象则必须存储于感知空间对象中,而其它所有对象则均可作为单独的网络节点而存在。这些分布式对象及接口以如下方式构成整个系统状态对象和动作对象直接控制机器人所有执行机构。状态对象包含若干动作对象,并为这些动作对象赋值。动作对象接受状态赋予的设定值,并驱动相应执行机构。行为对象在每一时刻下根据感知空间对象中的一个或几个感知信息对象决策出一个期望状态。一个机器人某一时刻下可以同时拥有若干个动作对象,他们每个均给出一个期望状态对象。行为图对象则描述了一个机器人某一时刻下所有行为的组合方式(如链表、树等)和优先关系。行为决策器对象则根据行为图对象中所有行为的期望状态,决策出一个最终状态对象,交给状态对象执行。任务对象可读取和生成感知信息对象,也可在一段时间内通过获取感知信息,修改行为对象及行为图对象中的组合关系或生成新的行为对象。多个任务对象组成任务序列对象,并按顺序依次执行。感知空间对象包含若干感知信息对象。这些感知信息对象由传感器对象或任务对象产生,并由行为对象、任务对象等对象读取。感知信息对象可在网络节点中以对象方式传递。感知空间对象负责收集、同步、缓冲、储存传感器和行为层或任务层间交互的感知信息对象。传感器对象从环境中读取环境信息,产生感知信息对象,并将其存放于感知空间对象中。
本发明采用服务公布-查找模型实现机器人和机器人设备间的定位和自发互联。服务公布-查找模型由服务表、服务对象、客户对象组成。服务是指在系统中每个机器人组件的分布式对象实例可提供给其它对象的功能,这些功能在实际应用中由该对象的远程接口描述。通过调用远程接口和传递对象化的参数,客户对象可享受服务对象的所提供各种服务。在通用机器人控制分布式对象模型中,每个分布式对象在它创建或接入网络的时候,都将它的服务和网络属性等相关信息公布到一张所有分布式对象都可访问的表中,这张表被称为服务表。服务表可位于网络中的任意节点。当客户对象需要某个服务对象为它提供服务时,就到服务表中查找能提供所需服务的服务对象。这样,通过服务公布-查找模型,机器人系统中的各个分布式对象间可实现按需连接的自发互联。
服务表可位于网络中任意可被所有节点访问的网络节点上,或由在网络中的若干个自动同步的服务表共同组成。服务表中存储着系统中所有对象的服务、对象的网络位置、对象属性等。客户对象可根据所需对象的服务或属性在服务表中查找到服务对象的网络位置,从而连接到所需的服务对象中。在本系统中,每个对象根据其在通用机器人控制体系中的功能定义了远程访问接口。接口由一种特殊的类描述,在Java语言中可采用Java语言的接口概念实现,在其它支持面向对象的语言中则采用虚方法和虚对象的方式实现。接口的远程访问则可通过RMI或.Net Remoting、CORBA/IDL等技术实现。服务表则可采用Jini技术或其它方法实现。在本系统中,每个对象在创建时或联入网络时均首先通过单播或广播的方式连接到系统中的服务表,并将各自的顶级基类类型、远程访问接口类型、对象类型、网络位置、附加属性公布于该表中。顶级基类对象是指通用机器人控制分布式对象模型中描述的动作对象、状态对象、行为对象、行为图对象、行为决策器对象、任务对象、任务序列对象、感知空间对象和传感器对象等九种对象。附加属性是指一组描述性的数据类型,被封装于属性对象中,用于描述其它信息,如对象的状态,对象的物理位置等机器人系统工作时所需要的信息。
当系统中某个对象需要与其它对象交互时,则首先判断被访问对象是否与自己存在于同一网络节点上,如果是,则使用对象间的引用访问该对象的接口,否则就到服务表中通过被访问对象的远程接口类型或属性查找到该对象网络位置,然后通过调用该对象的远程接口与其交互。需要指出的是,只有在客户对象不知道服务对象的网络位置或不知道哪个对象可为其提供服务的情况下,客户对象才到服务表中查找服务对象。对于一个特定的机器人系统,大多数对象都在编制时可以预知所需求的服务对象类型和位置,因而无需通过服务表查找。服务的查找过程通常只在机器人的特定任务需要某个未知的传感器对象为其提供感知信息时才会出现。
本发明在通用机器人控制体系基础上,结合分布式对象技术和服务公布-查找模型,最终实现了开放式网络机器人通用控制系统。本发明通过使用分布式对象技术对通用机器人控制体系建模,建立了开放的、易用的、健壮的、通用的网络机器人控制分布式对象模型,并且使原有网络节点间通过各种网络拓扑结构的交互转化为分布式对象间的交互,屏蔽了网络结构的细节,为整个平台的实现提供了方便。同时,本发明引入了远程接口技术,将系统中各对象的功能接口实现为可被远程对象调用的远程接口,使分布对象的交互简化为对象间通过远程接口的远程调用,从而屏蔽了网络协议的细节。分布式对象技术解决了体系中各个模块的分布式封装问题,而远程接口技术则使这些对象的交互大大简化,并解决了网络传输的数据包完整性问题,并进而通过对象间的交互实现了可跨节点移植的机器人控制程序。本发明通过服务公布-查找模型实现了自主机器人自发地查找所需信息和机器人组件的网络即插即用,最终实现了适用于各种机器人和机器人设备的统一控制方法和网络接入方式,实现了机器人智能控制程序跨平台移植,实现了机器人和机器人设备间的自发地即插即用地互联方式。本系统给出了通用统一的网络机器人远程控制及网络接入方案,为机器人统一控制、分布式机器人研发提供了体系结构和技术实现上的规范和标准,使各机器人研发机构可以参照这一规范独立研制出能够相互兼容的机器人产品或技术实现,从而提高研究效率,促进机器人技术发展。
开放式网络机器人通用控制系统主要应用于机器人设计制造,机器人智能研究领域。它采用分布式对象和远程接口技术建立了网络机器人通用分布式对象模型,定义了以下分布式对象的基类对象及其接口,如

图1所示动作对象及设定动作值接口、状态对象及设定状态接口、行为对象及输出期望状态接口、行为图对象及遍历行为接口、行为决策器对象及决策接口、任务对象及执行任务接口、任务序列对象及遍历任务接口、感知空间对象及输入输出感知信息接口、感知信息对象和传感器对象及输出感知信息接口。其中,状态对象和动作对象直接控制机器人所有执行机构,状态对象为动作对象赋值,动作对象接受状态赋予的设定值,并驱动相应执行机构。行为对象在每一时刻下根据感知空间对象中的感知信息对象决策出一个机器人期望状态。行为图对象描述了机器人某一时刻下所有行为的组合方式和优先关系。行为决策器对象则根据行为图对象中所有行为的期望状态,决策出一个最终状态对象,交给状态对象执行。任务对象可读取和生成感知信息对象,也可修改行为对象及行为图对象中的组合关系或生成新的行为对象。多个任务对象组成任务序列对象,并按顺序依次执行。感知空间对象包含若干由传感器对象或任务对象产生的可在网络节点中以对象方式传递的感知信息对象,并负责收集、同步、缓冲储存这些感知信息对象。传感器对象从环境中读取环境信息,产生感知信息对象,并将其存放于感知空间对象中。开放式网络机器人通用控制系统通过服务公布-查找模型实现了机器人和机器人设备间的自发互联和机器人组件的网络即插即用。应用系统研发网络机器人应用实例需首先为机器人建立网络机器人通用分布式对象模型,然后使用服务公布-查找模型并建立服务表实现各组件间的自发互联和即插即用。
本发明在双轮差动移动机器人上的应用实例如图2所示。5个具有合法IP地址的Internet节点组成了本系统IP202.120.8.136节点作为机器人执行机构控制器和声纳传感器,与机器人的执行机构直接相联,负责驱动机器人执行机构及采集声纳数据。状态对象、左轮动作对象、右轮动作对象和声纳传感器对象运行于该节点上。其中,状态对象负责接受行为决策器对象赋予的状态值,将该状态分解为各个动作的设定值,赋予各动作对象。左轮动作、右轮动作对象则根据设定值驱动执行机构运动。声纳传感器对象周期性的从物理声纳传感器中采集声纳数据,并将其封装为声纳感知信息对象,存放于IP202.120.8.134节点的感知空间中。
IP202.120.8.134节点作为机器人的主控制器,运行机器人的行为图对象,行为对象和感知空间对象。该移动机器人运行有两个反映式行为。移动行为对象负责定义期望状态,使机器人向指定目标前进。避障行为对象则负责检查声纳感知信息对象,从中发现障碍物,并定义期望状态驱使机器人执行避障运动。行为决策器对象则根据行为图对象描述的这两个行为对象的优先级,从两个行为对象的期望状态中,决策出最终状态,赋予IP202.120.8.136节点的状态对象执行。感知空间对象则负责收集、同步、储存声纳感知信息对象和视觉感知信息对象。
IP202.120.8.47节点连接有机器人本体外的一台视觉传感器。目标辨识任务对象和视觉传感器对象运行于其上。视觉传感器对象采集视觉信息,并将其封装于视觉感知信息对象中。目标辨识任务对象则负责从视觉信息中辨识出目标信息。
IP202.120.8.67节点运行Jini服务器。本机器人的服务表采用Jini技术实现。该服务表中存储有左轮动作对象、右轮动作对象、状态对象、移动行为对象、避障行为对象、行为图对象、行为决策器对象、用户任务对象、目标辨识任务对象、声纳传感器对象、视觉传感器对象、感知空间对象的顶级基类类型、远程访问接口类型、对象类型、网络位置(IP地址)及附加属性。
IP211.80.42.20节点作为机器人远程控制的客户端节点,运行用户交互任务对象,该对象拥有人机界面,负责通过人机交互从远程操作者处获得机器人移动目标的空间位置信息,并修改移动行为参数,使机器人向指定目标位置前进。
以上各个节点上运行的对象均采用Java语言实现为分布式对象,其接口通过RMI(远程方法调用)方式实现为可被分布式对象远程调用的接口。Jini服务器使用Reggie服务(注册服务)实现服务表。各分布式对象的服务由该对象的接口描述,具体如下表所示服务表


在该系统中,各个对象在创建时通过单播方式找到服务表,然后将各自的接口类型和网络位置等信息注册于该服务表中。当机器人以远程操作者控制模式工作时,机器人依靠本体上的声纳传感器和远程操作者获得障碍和目标信息。用户交互任务对象通过与远程操作者交互,设定机器人移动目标位置,并将该参数写入移动行为对象中。然后行为决策器就会根据避障行为对象和移动行为对象的优先级决策出最终状态,并由状态对象和左/右轮动作对象执行,使机器人向远程操作者期望的目标前进。当机器人由远程操作者控制模式切换到自主工作模式时,相当于将目标辨识任务对象和视觉传感器对象接入系统,机器人会自发地到服务表中查找到这两个对象的网络位置,这两个对象也会到服务表中找到机器人系统中其它对象的网络位置,使目标辨识任务对象和视觉传感器对象接入整个系统,形成视觉传感器的即插即用,这时,由目标辨识任务对象设定移动行为对象的目标位置参数,从而完成机器人自主移动任务。
通过应用开放式网络机器人通用控制系统,该机器人建立了开放的、易用的、健壮的分布式机器人对象体系,通过服务公布-查找模型实现了自主机器人自发地查找所需信息和传感器以及视觉传感器的即插即用地接入机器人系统,最终完成了基于Internet控制的网络机器人应用实例。
权利要求
1.一种开放式网络机器人通用控制系统,其特征在于使用分布式对象和远程接口技术将通用机器人控制体系中的每个单元封装为分布式对象并定义了其远程接口,定义了以下十个分布式对象的基类对象及其接口动作对象及设定动作值接口、状态对象及设定状态接口、行为对象及输出期望状态接口、行为图对象及遍历行为接口、行为决策器对象及决策接口、任务对象及执行任务接口、任务序列对象及遍历任务接口、感知空间对象及输入输出感知信息接口、感知信息对象和传感器对象及输出感知信息接口,以上各个分布式对象中,动作和状态对象位于与机器人执行机构绑定的一个网络节点上,传感器对象位于与物理传感器绑定的网络节点上,感知信息对象则存储于感知空间对象中,其它对象则均可作为单独的网络节点而存在,采用服务公布-查找模型实现机器人和机器人设备间的定位和自发互联以及机器人组件的即插即用,服务公布-查找模型由服务表、服务对象、客户对象组成,其中,服务表中存储着每个分布式对象的顶级基类类型、远程访问接口类型、对象类型、网络位置和附加属性,服务表可位于网络中任意可被所有节点访问的网络节点上,或由在网络中的若干个自动同步的服务表共同组成。
全文摘要
本发明涉及一种开放式网络机器人通用控制系统,应用于机器人设计制造,机器人智能研究领域。在通用机器人控制体系基础上,采用分布式对象和远程接口技术建立了网络机器人通用分布式对象模型,定义了十个分布式对象的基类对象及其接口动作对象及设定动作值接口、状态对象及设定状态接口、行为对象及输出期望状态接口、行为图对象及遍历行为接口、行为决策器对象及决策接口、任务对象及执行任务接口、任务序列对象及遍历任务接口、感知空间对象及输入输出感知信息接口、感知信息对象和传感器对象及输出感知信息接口,系统通过服务公布-查找模型实现了机器人和机器人设备间的自发互联和机器人组件的网络即插即用。
文档编号B25J13/00GK1472047SQ03129538
公开日2004年2月4日 申请日期2003年6月26日 优先权日2003年6月26日
发明者苏剑波, 候雪桥, 高玉华, 戴先中, 马旭东 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1