面向对象的机器人通用开放控制系统的制作方法

文档序号:2348809阅读:245来源:国知局
专利名称:面向对象的机器人通用开放控制系统的制作方法
技术领域
本发明涉及一种面向对象的机器人通用开放控制系统,实现机器人智能模块标准化和通用化,规范机器人的研究开发,属于机器人、计算机工程、机器人与计算机接口技术领域。
目前已有的机器人控制系统,在体系结构方面存在通用性上的不足,并且这一问题已经影响到了机器人技术研究发展。首先,由于现有机器人控制系统往往基于某种或某系列机器人硬件平台研制,因而大多数机器人控制系统不能跨越硬件平台移植;其次由于选择某种控制策略(如路径规划或基于行为机制)作为其模块化的参考依据,现有机器人控制系统的智能模块和程序无法在不同的机器人上通用,使得一些智能算法在不同机器人上应用时必须修改和重复编程,造成了研究精力的浪费;再次,由于在机器人控制系统在体系结构方面缺乏标准化的研发规范,不同厂家和研究机构生产的机器人产品及机器人智能程序之间不通用,造成各个研究机构的机器人技术研究不能互通有无,取长补短,大大影响了机器人技术的研究和发展。
为实现这样的目的,本发明设计了“通用机器人控制体系”用以描述通用的机器人控制方式,并在此基础上提供了“面向对象的抽象机器人”作为相应的编程模型。
通用机器人控制体系是一种通用化的机器人控制结构。该控制体系抽象了典型机器人控制策略(如“路径规划”、“基于行为”、“混合结构”等),建立了三个层次的智能控制模型,并将机器人执行机构、机器人智能、传感器、传感信息解释器等部件封装为功能模块。进而,通过约束各模块间的交互和规范各模块所属层次,最终实现了通用统一的机器人控制体系。
本发明的通用机器人控制体系的核心是三个控制层次(动作层、行为层和任务层)、感知空间模块和传感器相关模块。它们以如下方式构成整个系统·动作层是机器人控制的最低层,它包含一个状态对象,并直接控制机器人所有执行机构。状态包含若干动作,并为这些动作赋值。动作接受状态赋予的设定值,并驱动相应执行机构。状态和动作组成了动作层。
·行为层是机器人控制的中间层,它由行为、行为图和行为决策器构成。行为读取感知空间中的感知信息,并决策出期望状态。若干行为以一定方式组合成行为图。行为决策器则按行为图描述的组合关系,读取所有行为的期望状态,决策融合出最终状态,赋值给动作层中的状态。
·任务层是机器人控制的最高层,由任务和任务序列组成。任务通过读取感知信息或与用户交互,决定行为的参数或行为图的构成。
·感知空间包含若干感知信息对象。这些感知信息由传感器模块、传感信息解释器等产生,并由行为、任务等模块读取。
·传感器模块从环境中读取环境信息,产生感知信息直接、或交给更高级的传感信息解释器处理后,存放于感知空间中。传感信息解释器,收集感知信息,产生高级的感知信息或控制任务的执行。本发明体系中各层次、模块的定义、功能和工作方式如下所述·动作层动作被定义为只能用一个数值描述的不可分解的最基本的机器人执行单元,例如一个自由度就是一个动作。一个机器人所有动作的集合被定义为状态。状态描述了一个机器人的所有运动能力。动作和状态组成了动作层。动作层作为机器人控制的最低层,接受行为层设定的最终状态并驱动机器人执行机构执行相应动作。
·行为层行为被定义为某一时刻下定义机器人期望状态的单元,即行为通过与感知空间交互,根据传感信息或地图等感知信息决定机器人所有运动的数值。一个机器人某一时刻下可以同时拥有若干个动作,他们每个均给出一个期望状态。行为图是描述一个机器人某一时刻下所有动作的组合方式(如链表、树等)和优先关系的单元。行为决策器则根据行为图中所有行为的期望状态,决策出一个最终状态,交给动作层执行。行为层通过获取感知信息,规定了一个时刻内机器人的所有智能行为。
·任务层任务被定义为一段时间内,通过获取感知信息,决定行为层中行为的参数和行为图的单元。多个任务组成任务序列,并按顺序依次执行。任务层作为机器人控制的最高层次,给出了机器人在一段时间内的智能描述,并且任务层只能操作行为和行为图,不能直接控制动作层。
·感知空间感知空间是机器人所有感知信息的集合。作为感知信息的容器,感知空间模块负责收集、同步、缓冲传感器和行为层或任务层间交互的感知信息。该体系不允许行为层和任务层直接与传感器、传感信息解释器交互,而规定此过程必须通过感知空间完成。感知空间是机器人中所有交互信息的集中储存空间。
·传感器传感器模块是封装了真正物理传感器的抽象单元。它负责控制和设定物理传感器,采集传感信息,并将传感信息封装为感知模块。传感信息解释器则收集传感信息或感知信息,经处理后产生更高层次的感知信息(如地图、目标等)或直接控制任务的执行,典型的传感信息解释器包括地图创建、目标识别、路径规划等。
在通用机器人控制体系的基础上,本发明运用面向对象技术对其建模,形成了面向对象的抽象机器人(Object-Oriented Abstract Robot)模型,从而为机器人设备和机器人智能研发提供了的一个开放的编程模型。在这里,抽象机器人不是指某种现实机器人的具体实现,而仅仅是各种机器人和机器人设备在功能特性上的抽象。本发明使用“接口”这一概念,描述通用机器人控制体系中各个模块的外特性,使该编程模型保持扩展性。通过面向对象技术和接口概念,面向对象的抽象机器人提供了描述各种机器人部件及设备模块的基类和接口,以及描述线程模型和事件机制的辅助类,用以组成完整的编程模型。
由于使用了纯面向对象方法对机器人通用控制体系建模,因此所有支持面向对象的计算机编程语言均可用于实现该模型。需要指出的是,由于该体系引入了接口(Interface)概念描述各部件的外特性,Java语言作为本身包含接口概念的面向对象语言,因而成为最适宜的实现语言。同时,c++,Pascal等面向对象语言则需要利用虚对象、虚方法等概念,间接实现接口方法。
面向对象的抽象机器人包括以下抽象类及其相应接口,其功能、组合关系与通用机器人控制体系中对应关系完全一致动作类、状态类、行为类、行为图类、行为决策器类、感知空间类、感知信息类、传感器类、传感信息解释器类;另外还提供了同步线程类、异步线程类、事件类和监听接口以及其它一些辅助类。
本发明通过设计机器人通用控制体系,以及建立相应的面向对象的编程模型,最终完成了面向对象的机器人通用开放控制系统。该系统能通用于各种硬件平台,适应各种控制策略和智能层次(自主、半自主、纯执行器)的机器人控制体系,能够使机器人控制策略、控制算法和控制程序等智能模块独立于机器人硬件平台,简化并统一机器人智能的开发和操作,标准化通用化机器人智能模块,为机器人研发、机器人智能研究提供了控制体系上的规范,从而使各厂家、研发机构可以在统一的平台上研制具有通用性的机器人产品。同时本发明通过面向对象技术,提供了扩展性好、规范、高效、健壮的编程模型,使基于该系统的机器人研发可以并行开展,从而提高了开发效率,缩短了研发周期,因而具有较高的实践价值和现实意义。
图2为本发明实施例的双轮差动式移动机器人IRURobot电器结构图。
图3为IRURobot包对象关系图。
本发明的通用机器人控制体系组成如

图1所示,包括动作、行为和任务三个控制层、感知空间模块和传感器相关模块。动作层是机器人控制的最低层,由状态和动作组成,动作接受状态赋予的设定值,并驱动相应的机器人执行机构。行为层是机器人控制的中间层,由行为、行为图和行为决策器构成。行为读取感知空间中的感知信息,并决策出期望状态。若干行为以一定方式组合成行为图。行为决策器则按行为图描述的组合关系,读取所有行为的期望状态,决策融合出最终状态,赋值给动作层中的状态。任务层是机器人控制的最高层,由任务和任务序列组成。任务通过读取感知信息或与用户交互,决定行为的参数或行为图的构成。感知空间包含若干感知信息对象,这些感知信息由传感器模块、传感信息解释器等产生,并由行为、任务等模块读取。传感器模块从环境中读取环境信息,产生感知信息直接、或交给更高级的传感信息解释器处理后,存放于感知空间中。传感信息解释器,收集感知信息,产生高级的感知信息或控制任务的执行。在该体系基础上,本发明使用面向对象技术建立编程模型,形成最终的控制系统。
下面以双轮差动式移动机器人IRURobot为范本,简述面向对象的机器人通用开放控制系统在机器人上的应用实例。
IRURobot机器人具有两自由度安装有视觉传感器的头部,其电器结构如图2所示。其中,DSP控制板控制四个电机转动和采集声纳数据;PC机采集摄像头视频反馈;编码器负责反馈左、右轮电机转速;角电位器负责反馈头部电机转动角度。该移动机器人主要用于研究移动机器人控制策略,实现跟踪、导航等典型移动机器人行为,为机器人自主智能研究提供实验平台。
面向对象的机器人通用开放控制系统在IRURobot机器人的应用是通过将该机器人封装于Java类IRURobotClass中实现的。同时,在IRURobotClass所属包(图3)中还封装有其它该机器人的所属类。下面简述面向对象的机器人通用开放控制体系在IRURobot机器人上的实现过程。
1.运动控制层运动控制层将IRURobot机器人的左轮速度、右轮速度、头部左右转动角度、头部上下转动角度四个自由度作为4个运动分别封装为左轮转速(MotionLVel)、右轮转速(MotionRVel)、头部水平转动角度(MotionPan)和头部垂直转动角度(MotionTile)四个对象中。这四个对象负责与电机控制DSP通讯,完成设定数值的跟踪,并组成IRURobot机器人最基本的控制对象,封装于状态对象(State)中。
2.行为层行为层将机器人的避碰和移动行为封装于避碰行为对象(ActionAvoid)和移动行为对象(ActionGo)中,分别负责完成声纳避障和以指定速度、方向前进的行为;同时将这两个对象包容于行为图对象(ActionMap)中,并为这两个行为赋予优先级,由决策器对象(ActionSelecter)进行决策,以决定最终行为。
3.任务层用户任务对象(UserMission)负责完成用户界面交互,并决策机器人前进方向速度,同时修改移动行为对象(ActionGo)的参数,使之按用户需求前进。行为机制处理对象(ActionHandle)负责定期激发决策器对象(ActionSelecter)决策最终行为,声纳视觉传感器对象(VisionSensor)更新传感数据。
4.感知空间感知空间对象(PS)封装了机器人感知空间,并负责同步工作于不同的线程中的传感器对象和行为对象;它主要包含两个感知空间数据由声纳传感器对象(SonarSensor)产生的地图数据对象(SonarRange)和由视觉传感器对象(VisionSensor)产生的视频流数据对象(VisionStream)。
5.传感器机器人避障声纳传感器和视觉传感器分别封装于声纳传感器对象(SonarSensor)、视觉传感器对象(VisionSensor)中,并受行为机制处理对象(ActionHandle)的定期激发,更新感知空间对象(PS)中的传感信息数据。
通过应用“面向对象的机器人通用开放控制系统”,IRURobot机器人的控制体系具有高度的通用性和健壮性,同时也大大缩短了控制部分的研制周期。基于该控制体系上的机器人智能模块的研究,可由不同的项目组并行展开。经试验证明,参照“面向对象的机器人通用开放控制系统”研发的机器人智能模块,具有统一规范的接口,可以直接整合到现有机器人的控制系统中,并且相同功能的模块可在线替换,而不需停止整个系统,从而大大提高了研发效率,节省了研发人力的投入。
权利要求
1.一种面向对象的机器人通用开放控制系统,其特征在于包括通用机器人控制体系和相应的面向对象的抽象机器人编程模型,通用机器人控制体系包括动作、行为和任务三个控制层、感知空间模块和传感器相关模块,动作层由状态和动作组成,动作被定义为只能用一个数值描述的不可分解的最基本的机器人执行单元,它接受状态赋予的设定值,并驱动相应机器人执行机构,状态被定义为一个机器人所有动作的集合;行为层由行为、行为图和行为决策器构成,行为被定义为某一时刻下定义机器人期望状态的单元,行为决策器按行为图描述的行为的组合关系,读取所有行为的期望状态,决策融合出最终状态,赋值给动作层中的状态;任务层由任务和任务序列组成,任务被定义为一段时间内,通过获取感知信息,决定行为层中行为的参数和行为图的单元;感知空间被定义为所有感知信息的集合,它包含的感知信息由传感器模块、传感信息解释器产生,并由行为、任务模块读取;传感器模块从环境中读取环境信息,产生感知信息直接、或交给更高级的传感信息解释器处理后,存放于感知空间中,传感信息解释器,收集感知信息,产生高级的感知信息或控制任务的执行;面向对象的抽象机器人是采用面向对象技术对通用机器人控制体系建立的编程模型,它将通用机器人控制体系中各个模块封装为对象,并采用接口描述对象的外特性。
全文摘要
本发明公开了一种面向对象的机器人通用开放控制系统,该系统主要应用于机器人设计制造,机器人智能研究领域。它设计了“通用机器人控制体系”、并提供了“面向对象的抽象机器人”作为相应的编程模型。通用机器人控制体系定义了动作层、行为层、任务层三层智能的控制模型,以及感知空间、感知信息、传感器、传感信息解释器等模块,并约束了这些模块的交互方式和层次归属,面向对象的抽象机器人模型是采用面向对象技术对通用机器人控制体系建立的编程模型。本发明为机器人的研制和开发提供了统一、开放、通用、标准化的控制体系参考模型和设计规范。
文档编号B25J13/00GK1478638SQ03128900
公开日2004年3月3日 申请日期2003年5月29日 优先权日2003年5月29日
发明者苏剑波, 侯雪桥, 高玉华, 戴先中, 马旭东 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1