CN1255251C - 面向对象的机器人通用开放控制系统 - Google Patents
面向对象的机器人通用开放控制系统 Download PDFInfo
- Publication number
- CN1255251C CN1255251C CN 03128900 CN03128900A CN1255251C CN 1255251 C CN1255251 C CN 1255251C CN 03128900 CN03128900 CN 03128900 CN 03128900 A CN03128900 A CN 03128900A CN 1255251 C CN1255251 C CN 1255251C
- Authority
- CN
- China
- Prior art keywords
- robot
- layer
- behavior
- task
- control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Numerical Control (AREA)
- Toys (AREA)
Abstract
本发明公开了一种面向对象的机器人通用开放控制系统,该系统主要应用于机器人设计制造,机器人智能研究领域。它设计了“通用机器人控制体系”、并提供了“面向对象的抽象机器人”作为相应的编程模型。通用机器人控制体系定义了动作层、行为层、任务层三层智能的控制模型,以及感知空间、感知信息、传感器、传感信息解释器等模块,并约束了这些模块的交互方式和层次归属,面向对象的抽象机器人模型是采用面向对象技术对通用机器人控制体系建立的编程模型。本发明为机器人的研制和开发提供了统一、开放、通用、标准化的控制体系参考模型和设计规范。
Description
技术领域:
本发明涉及一种面向对象的机器人通用开放控制系统,实现机器人智能模块标准化和通用化,规范机器人的研究开发,属于机器人、计算机工程、机器人与计算机接口技术领域。
背景技术
现今世界上一共有近100万台的机器人在运行,机器人已形成为一个很有发展前景的产业。开放式结构机器人控制系统的研究是目前国内外学者广泛关注的热点,如美国斯坦福大学研究开发的NYMPH系统、MIT研制的MIT/Utah手实验系统和我国沈阳自动化研究所开发的OSMR系统等。据查,中国科学院自动化研究所申请了“开放式工业机器人控制平台”的专利,审定公告号:2447131。该专利中开放式工业机器人控制平台属于通用的工业机器人控制系统。其突出特点是将通用的工业计算机引入传统的机器人控制系统中,并采用独特的开放式及模块化结构,将原来结构封闭的控制器扩展为结构开放的控制平台。这一发明主要应用在基于工业计算机平台上的机器人,因而无法推广到一般硬件平台上的机器人控制。
目前已有的机器人控制系统,在体系结构方面存在通用性上的不足,并且这一问题已经影响到了机器人技术研究发展。首先,由于现有机器人控制系统往往基于某种或某系列机器人硬件平台研制,因而大多数机器人控制系统不能跨越硬件平台移植;其次由于选择某种控制策略(如路径规划或基于行为机制)作为其模块化的参考依据,现有机器人控制系统的智能模块和程序无法在不同的机器人上通用,使得一些智能算法在不同机器人上应用时必须修改和重复编程,造成了研究精力的浪费;再次,由于在机器人控制系统在体系结构方面缺乏标准化的研发规范,不同厂家和研究机构生产的机器人产品及机器人智能程序之间不通用,造成各个研究机构的机器人技术研究不能互通有无,取长补短,大大影响了机器人技术的研究和发展。
发明内容:
本发明的目的在于针对现有技术的不足,研制一种面向对象的机器人通用开放控制系统,能够描述一种通用于各种硬件平台,适应各种控制策略和智能层次的机器人控制体系,并给出相应的编程模型。使机器人控制策略、控制算法和控制程序等智能模块独立于机器人硬件平台,简化并统一机器人智能的开发和操作,标准化通用化机器人智能模块,为机器人研发提供控制体系上的规范,使各机器人研究机构和厂家可以参照这一规范研发通用的机器人产品,从而促进机器人技术的发展和普及。
为实现这样的目的,本发明设计了“通用机器人控制体系”用以描述通用的机器人控制方式,并在此基础上提供了“面向对象的抽象机器人”作为相应的编程模型。
通用机器人控制体系是一种通用化的机器人控制结构。该控制体系抽象了典型机器人控制策略(如“路径规划”、“基于行为”、“混合结构”等),建立了三个层次的智能控制模型,并将机器人执行机构、机器人智能、传感器、传感信息解释器等部件封装为功能模块。进而,通过约束各模块间的交互和规范各模块所属层次,最终实现了通用统一的机器人控制体系。
本发明的通用机器人控制体系的核心是三个控制层次(动作层、行为层和任务层)、感知空间模块、传感器模块和传感信息解释器。它们以如下方式构成整个系统:
●动作层是机器人控制的最低层,它包含一个状态对象,并直接控制机器人所有执行机构。状态包含若干动作,并为这些动作赋值。动作接受状态赋予的设定值,并驱动相应执行机构。状态和动作组成了动作层。
●行为层是机器人控制的中间层,它由行为、行为图和行为决策器构成。行为读取感知空间中的感知信息,并决策出期望状态。若干行为以一定方式组合成行为图。行为决策器则按行为图描述的组合关系,读取所有行为的期望状态,决策融合出最终状态,赋值给动作层中的状态。
●任务层是机器人控制的最高层,由任务和任务序列组成。任务通过读取感知信息或与用户交互,决定行为的参数或行为图的构成。
●感知空间模块包含若干感知信息对象。这些感知信息由传感器模块、传感信息解释器等产生,并由行为层、任务层读取。
●传感器模块从环境中读取环境信息,产生感知信息直接、或交给更高级的传感信息解释器处理后,存放于感知空间模块中。传感信息解释器收集感知信息,产生高级的感知信息或控制任务的执行。
本发明体系中各层次、模块的定义、功能和工作方式如下所述:
●动作层:动作被定义为只能用一个数值描述的不可分解的最基本的机器人执行单元,例如一个自由度就是一个动作。一个机器人所有动作的集合被定义为状态。状态描述了一个机器人的所有运动能力。动作和状态组成了动作层。动作层作为机器人控制的最低层,接受行为层设定的最终状态并驱动机器人执行机构执行相应动作。
●行为层:行为被定义为某一时刻下定义机器人期望状态的单元,即行为通过与感知空间交互,根据传感信息或地图等感知信息决定机器人所有运动的数值。一个机器人某一时刻下可以同时拥有若干个动作,他们每个均给出一个期望状态。行为图是描述一个机器人某一时刻下所有动作的组合方式(如链表、树等)和优先关系的单元。行为决策器则根据行为图中所有行为的期望状态,决策出一个最终状态,交给动作层执行。行为层通过获取感知信息,规定了一个时刻内机器人的所有智能行为。
●任务层:任务被定义为一段时间内,通过获取感知信息,决定行为层中行为的参数和行为图的单元。多个任务组成任务序列,并按顺序依次执行。任务层作为机器人控制的最高层次,给出了机器人在一段时间内的智能描述,并且任务层只能操作行为和行为图,不能直接控制动作层。
●感知空间模块:感知空间模块是机器人所有感知信息的集合。作为感知信息的容器,感知空间模块负责收集、同步、缓冲传感器和行为层或任务层间交互的感知信息。该体系不允许行为层和任务层直接与传感器模块、传感信息解释器交互,而规定此过程必须通过感知空间模块完成。感知空间模块是机器人中所有交互信息的集中储存空间。
●传感器模块和传感信息解释器:传感器模块是封装了真正物理传感器的抽象单元。它负责控制和设定物理传感器,采集传感信息,并将传感信息存放于感知空间模块。传感信息解释器则收集传感信息或感知信息,经处理后产生更高层次的感知信息(如地图、目标等)或直接控制任务的执行,典型的传感信息解释器包括地图创建、目标识别、路径规划等。在通用机器人控制体系的基础上,本发明运用面向对象技术对其建模,形成了面向对象的抽象机器人(Object-Oriented Abstract Robot)模型,从而为机器人设备和机器人智能研发提供了的一个开放的编程模型。在这里,抽象机器人不是指某种现实机器人的具体实现,而仅仅是各种机器人和机器人设备在功能特性上的抽象。本发明使用“接口”这一概念,描述通用机器人控制体系中各个模块的外特性,使该编程模型保持扩展性。通过面向对象技术和接口概念,面向对象的抽象机器人提供了描述各种机器人部件及设备模块的基类和接口,以及描述线程模型和事件机制的辅助类,用以组成完整的编程模型。
由于使用了纯面向对象方法对机器人通用控制体系建模,因此所有支持面向对象的计算机编程语言均可用于实现该模型。需要指出的是,由于该体系引入了接口(Interface)概念描述各部件的外特性,Java语言作为本身包含接口概念的面向对象语言,因而成为最适宜的实现语言。同时,c++,Pascal等面向对象语言则需要利用虚对象、虚方法等概念,间接实现接口方法。
面向对象的抽象机器人包括以下抽象类及其相应接口,其功能、组合关系与通用机器人控制体系中对应关系完全一致:动作类、状态类、行为类、行为图类、行为决策器类、感知空间类、感知信息类、传感器类、传感信息解释器类;另外还提供了同步线程类、异步线程类、事件类和监听接口以及其它一些辅助类。
本发明通过设计机器人通用控制体系,以及建立相应的面向对象的编程模型,最终完成了面向对象的机器人通用开放控制系统。该系统能通用于各种硬件平台,适应各种控制策略和智能层次(自主、半自主、纯执行器)的机器人控制体系,能够使机器人控制策略、控制算法和控制程序等智能模块独立于机器人硬件平台,简化并统一机器人智能的开发和操作,标准化通用化机器人智能模块,为机器人研发、机器人智能研究提供了控制体系上的规范,从而使各厂家、研发机构可以在统一的平台上研制具有通用性的机器人产品。同时本发明通过面向对象技术,提供了扩展性好、规范、高效、健壮的编程模型,使基于该系统的机器人研发可以并行开展,从而提高了开发效率,缩短了研发周期,因而具有较高的实践价值和现实意义。
附图说明:
图1为本发明的通用机器人控制体系组成示意图。
图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)负责定期激发决策器对象(ActionSeleeter)决策最终行为,声纳视觉传感器对象(VisionSensor)更新传感数据。
4.感知空间:感知空间对象(PS)封装了机器人感知空间,并负责同步工作于不同的线程中的传感器对象和行为对象;它主要包含两个感知空间数据:由声纳传感器对象(SonarSensor)产生的地图数据对象(SonarRnnge)和由视觉传感器对象(VisionSensor)产生的视频流数据对象(VisionStream)。
5.传感器:机器人避障声纳传感器和视觉传感器分别封装于声纳传感器对象(SonarSensor)、视觉传感器对象(VisionSensor)中,并受行为机制处理对象(ActionHandle)的定期激发,更新感知空间对象(PS)中的传感信息数据。
通过应用“面向对象的机器人通用开放控制系统”,IRURobot机器人的控制体系具有高度的通用性和健壮性,同时也大大缩短了控制部分的研制周期。基于该控制体系上的机器人智能模块的研究,可由不同的项目组并行展开。经试验证明,参照“面向对象的机器人通用开放控制系统”研发的机器人智能模块,具有统一规范的接口,可以直接整合到现有机器人的控制系统中,并且相同功能的模块可在线替换,而不需停止整个系统,从而大大提高了研发效率,节省了研发人力的投入。
Claims (1)
1、一种面向对象的机器人通用开放控制系统,其特征在于包括通用机器人控制体系和相应的面向对象的抽象机器人编程模型,通用机器人控制体系包括动作层、行为层、任务层、感知空间模块、传感器模块和传感信息解释器;动作层由状态和动作组成,动作被定义为只能用一个数值描述的不可分解的最基本的机器人执行单元,它接受状态赋予的设定值,并驱动机器人相应的执行机构,状态被定义为一个机器人所有动作的集合;行为层由行为、行为图和行为决策器构成,行为被定义为某一时刻下定义机器人期望状态的单元,行为决策器按行为图描述的行为的组合关系,读取所有行为的期望状态,决策融合出最终状态,赋值给动作层中的状态;任务层由任务和任务序列组成,任务被定义为一段时间内,通过获取感知信息,决定行为层中行为的参数和行为图的单元;感知空间模块被定义为所有感知信息的集合,它包含的感知信息由传感器模块、传感信息解释器产生,并由行为层、任务层读取;传感器模块从环境中读取环境信息,产生感知信息直接、或交给更高级的传感信息解释器处理后,存放于感知空间模块中,传感信息解释器收集感知信息,产生高级的感知信息或控制任务的执行;面向对象的抽象机器人编程模型是采用面向对象技术对通用机器人控制体系建立的编程模型,它将通用机器人控制体系中的动作层、行为层、任务层、感知空间模块、传感器模块和传感信息解释器封装为对象,并采用接口描述对象的外特性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 03128900 CN1255251C (zh) | 2003-05-29 | 2003-05-29 | 面向对象的机器人通用开放控制系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 03128900 CN1255251C (zh) | 2003-05-29 | 2003-05-29 | 面向对象的机器人通用开放控制系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1478638A CN1478638A (zh) | 2004-03-03 |
CN1255251C true CN1255251C (zh) | 2006-05-10 |
Family
ID=34153407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 03128900 Expired - Fee Related CN1255251C (zh) | 2003-05-29 | 2003-05-29 | 面向对象的机器人通用开放控制系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1255251C (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7693585B2 (en) * | 2004-09-30 | 2010-04-06 | Rockwell Automation Technologies, Inc. | Enabling object oriented capabilities in automation systems |
JP2007041735A (ja) * | 2005-08-01 | 2007-02-15 | Toyota Motor Corp | ロボット制御システム |
CN102708377B (zh) * | 2012-04-25 | 2014-06-25 | 中国科学院计算技术研究所 | 虚拟人组合任务规划方法 |
CN105807628B (zh) * | 2014-12-29 | 2018-09-21 | 中国科学院沈阳自动化研究所 | 用于复杂cps的机器人柔性控制器及其实现方法 |
CN105867378B (zh) * | 2016-04-18 | 2018-07-31 | 苏州大学 | 一种通过自动创建抽象动作控制移动机器人的方法 |
EP3613548A4 (en) * | 2017-04-19 | 2021-05-19 | Kabushiki Kaisha Yaskawa Denki | PROGRAMMING ASSISTANT DEVICE, ROBOT SYSTEM, PROGRAMMING ASSISTANCE METHOD, AND PROGRAM GENERATION METHOD |
CN108333974A (zh) * | 2018-03-15 | 2018-07-27 | 珠海金萝卜智动科技有限公司 | 一种基于ros的通用机器人控制系统及方法 |
CN110134081B (zh) * | 2019-04-08 | 2020-09-04 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 一种基于机器人能力模型的控制系统 |
CN111421517A (zh) * | 2020-01-03 | 2020-07-17 | 武汉智美科技有限责任公司 | 一种智能终端增强的编程教育机器人 |
-
2003
- 2003-05-29 CN CN 03128900 patent/CN1255251C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1478638A (zh) | 2004-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106475999B (zh) | 刚性条件下基于阻抗模型的双臂协调的加速度控制方法 | |
CN101592951B (zh) | 分布式仿人机器人通用控制系统 | |
CN100401218C (zh) | 基于两级dsp的并联装备开放式运动控制卡及控制方法 | |
CN1255251C (zh) | 面向对象的机器人通用开放控制系统 | |
CN101286058A (zh) | 机器人模块化分布式自适应控制系统及方法 | |
CN101034418A (zh) | 用于机器人仿真的装置、程序、记录介质以及方法 | |
CN105945946A (zh) | 一种基于g代码编程的六轴机械手运动控制方法 | |
CN111459062B (zh) | 虚实共用的复杂信息物理产品数字孪生控制逻辑生成方法 | |
CN104267665B (zh) | 一种视觉智能数控系统的数据交换方法 | |
Bergerman et al. | Experimental study of an underactuated manipulator | |
Dietrich et al. | RCA562: Control architecture for parallel kinematic robots | |
Garcia et al. | An approach of cyber-physical production systems architecture for robot control | |
Garcia et al. | Design of flexible cyber-physical production systems architecture for industrial robot control | |
CN116069317A (zh) | 一种基于AutomationML的工业设备运动控制PLC代码自动生成方法及装置 | |
CN115648202A (zh) | 基于时序逻辑的机器人视觉感知和反应规划联合方法及系统 | |
CN1256224C (zh) | 开放式网络机器人通用控制系统 | |
CN1209722C (zh) | 基于单处理器结构的教学机器人控制系统 | |
Pack et al. | Intelligent machine architecture for object-based system integration | |
Oliveira et al. | An open-architecture robot controller applied to interaction tasks | |
Strasser et al. | Structuring of large scale distributed control programs with IEC 61499 subapplications and a hierarchical plant structure model | |
Jacak et al. | CAST tools for intelligent control in manufacturing automation | |
Filipescu et al. | Digital Twin for a Mechatronics Line with Integrated Mobile Robotic Systems | |
Zha | An integrated intelligent approach and system for rapid robotic assembly prototyping, planning and control | |
Hou et al. | Monitoring System of Robot Based on Digital Twin | |
Choomuang | Distributed control on a model of Mars rover spirit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060510 |