网站地图 | Tags | 热门标准 | 最新标准 | 订阅
您当前的位置:首页 > GB/T 33263-2016 机器人软件功能组件设计规范 > 下载地址2

GB/T 33263-2016 机器人软件功能组件设计规范

  • 名  称:GB/T 33263-2016 机器人软件功能组件设计规范 - 下载地址2
  • 下载地址:[下载地址2]
  • 提 取 码
  • 浏览次数:3
下载帮助: 发表评论 加入收藏夹 错误报告目录
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
新闻评论(共有 0 条评论)

资料介绍

  ICS 25. 040.30 J 28

  中 华 人 民 共 和 国 国 家 标 准

  GB/T 33263—2016

  机器人软件功能组件设计规范

  Design specification ofroboticsoftware functionalcomponent

  2016-12-13发布 2017-07-01实施

  中华人民共和国国家质量监督检验检疫总局中 国 国 家 标 准 化 管 理 委 员 会

  发

  布

  GB/T 33263—2016

  GB/T 33263—2016

  前 言

  本标准按照 GB/T 1. 1—2009给出的规则起草 。

  本标准由中国机械工业联合会提出 。

  本标准由全国 自动化系统与集成标准化技术委员会(SAC/TC159)归 口 。

  本标准起草单位 :上海 交 通 大 学 、北 京 机 械 工 业 自 动 化 研 究 所 、沈 阳 新 松 机 器 人 自 动 化 股 份 有 限公司 。

  本标准主要起草人 :曹其新 、张培艳 、王雯珊 、杨书评 、黎晓东 、刘颖 、徐方 。

  引 言

  为了解决生产和生活中越来越困难的任务 ,机器人和其他智能系统的复杂程度飞速增加 。 与成熟的 PC产业相比 ,机器人市场的集成存在着极大的障碍 ,其主要原因包括硬件模块互不兼容 、软件模块互不兼容 。一个机器人的硬件模块不能组装到另外一个机器人上 ,为一个机器人开发的控制软件无法直接在另一个机器人上使用 ,使得机器人产品大量处于低层次重复开发 ,复用化程度低 、扩展性差 ,造成了巨大的资源浪费 。

  本标准针对机器人产品软件资源的功能组件化需求 ,采用模块化设计思想规定了模块化和网络化构建的机器人软件功能组件框架 ,包括功能组件的接口描述和状态转换 ,组件化机器人软件系统的设计方法 ,为机器人软件设计者和使用者提供参考 。

  本标准有助于建立一个良好的机器人产业的生态环境 。开发人员可以将来自不同供应商的机器人功能组件结合到一个的应用程序中 ,从而使得机器人和机器人软件的开发变得方便和快捷 ,使得机器人系统变得灵活和高效 。

  机器人软件功能组件设计规范

  1 范围

  本标准规定了模块化和网络化构建的机器人产品的软件资源的功能封装技术 ,机器人软件开发领域的组件模型和相应的设计规范 , 以及机器人组件的集成方法 。

  本标准适用于机器人软件开发领域 。非模块化 、网络化机器人系统中的机器人软件开发和设计亦可参照使用本标准 。

  2 术语和定义

  下列术语和定义适用于本文件 。

  2. 1

  机器人功能组件 robotic functionalcomponent

  实现机器人模块化的要素 ,具有独立的结构 ,符合标准的软件和硬件接口规范 , 能完成机器人相关的独立功能 ,能够实现支撑 、运动 、感知 、计算 、控制等特定功能 。

  注 : 机器人功能组件包括 :机构类功能组件 、软件类 功 能 组 件 和 电 气 类 功 能 组 件 。本 标 准 提 及 的 功 能 组 件 , 特 指 软件类功能组件 ,可用在不同机器人系统 ,便于实现机器人的快速集成 。

  2.2

  机器人功能组件创建器 RFC builder

  一个用于开发机器人功能组件的模板生成工具 。

  注 : 机器人功能组件创建器生成基于用户配置的参数化自定义模板 ,并以 XML文件进行保存 。它通常是以插件或脚本形式运行 。

  2.3

  机器人功能组件集成器 RFC integrator

  将若干个机器人功能组件集成起来进行协同管理的工具 。

  注 : 每个组件外部有若干数量的输入 、输出端口(包括数据端口和服务端口等) ,开发人员能够在端口之间连线来规范模块间的数据流和服务流关系 ,能够将系统的全部组件连接关系以图形化形式 进 行 编 辑 ,并 以 XML格 式 存储 。程序编辑完成后 ,通过机器人功能组件集成器控制整个机器人系统运行 。

  2.4

  任务编辑器 task editor

  以脚本或图形化编程的形式 ,为机器人系统编写任务或服务的软件 。

  注 : 在任务编辑器中 ,各个组件通过输入 、输出接口 互 相 连 接 。用 户 基 于 有 限 状 态 机 编 写 脚 本 或 流 程 图 , 任 务 编 辑器即 自动生成可以直接执行的任务序列 。编辑好的任务以 XML格式存储 ,可以 连 接 仿 真 环 境 查 看 运 行 效 果 ,也可以直接下载到机器人系统运行 。

  3 缩略语

  下列缩略语适用于本文件 。

  FSM : 有限状态机(Finite State Machine)

  OMG: 对象管理组织(ObjectManagementGroup)

  RFC: 机器人功能组件(Robotic FunctionalComponent)

  UML: 统一建模语言(Unified Modeling Language)

  VRML: 虚拟现实建模语言(VirtualReality Modeling Language)

  XML: 可扩展标记语言(Extensible Markup Language)

  4 机器人功能组件的模型

  4. 1 概述

  在机器人软件系统中 ,其基本的组件单元称为机器人功能组件如图 1所示 ,其 UML模型如图 2所示 。

  图 1 机器人功能组件模型

  图 2 机器人功能组件模型简化 UML描述

  4.2 机器人功能组件的构成

  4.2. 1 描述

  组件服务信息 ,用以描述组件各方面的属性 ,如组件名称 、组件的端口信息 、组件的服务状态等 。

  4.2.2 执行状态管理

  组件执行状态描述如下 。

  — 执行环境 :是组件内线程的抽象表示 。线程根据当前状态执行组件内相关的工作任务 。

  — 行为内核 :负责组件 的 内 部 逻 辑 处 理 。具 体 包 含 一 个 有 限 状 态 机(FSM) 和 一 个 内 部 逻 辑 单元 ,用于计算和处理不同时刻组件所处的状态模式 。

  — 状态自检 :组件可以对自身状态自检 , 当出现异常时通过异常接口对外通知 。

  4.2.3 端口管理

  组件端口定义及功能描述如下 。

  — 数据端 口 :组件用于对外进行数据传输的单元 ,包括输入端口和输出端口两类 。

  ● 数据输入端 口 :用于接收从外界获取的数据 ,并将其传送到内部逻辑单元进行处理 。

  ● 数据输出端 口 :用于向外界特定连接发送数据 。

  — 事件端 口 :组件用于事件触发的单元 ,包括事件输入端口和事件输出端 口 。

  ● 事件输入端 口 :用于接收事件 ,并根据该事件触发某项功能 。

  ● 事件输出端 口 :用于发出事件 , 以触发其他组件的某项功能 。

  — 服务端 口 :组件用于对外进行服务交互的单元 ,可以向外界租用或提供特定的服务资源 。

  ● 服务提供者 :用于向外界提供本组件内部的相关服务 。

  ● 服务消费者 :用于调用外部组件的服务资源 。

  — 动作端 口 :组件用于对外交互动作的单元 ,可以向外界提供组件内部的动作或调用外部组件的

  动作资源 。

  ● 动作提供者 :用于向外界提供本组件内部的相关动作 ,该动作一般需要较长时间执行 。 动作提供单元根据动作消费单元的需求执行相关动作 ,并根据执行情况提供反馈与结果 。

  ● 动作消费者 :用于调用外部组件的动作资源 。

  — 配置接 口 :该接口为外界提供动态的调用 、修改组件内部逻辑参数的能力 。

  — 广播事件接 口 :用于接收系统的事件广播 ,允许组件在特定事件发生时做相应的动作 。

  — 脚本服务接 口 :用户可以直接用脚本对组件进行控制 ,状态查询等操作 。

  — 异常接 口 :组件在异常情况发生时 ,对外通知 ,发出相应的命令和动作 。

  5 组件状态变迁

  5. 1 概述

  RFC具有创建 、激活 、非激活和错误状态 ,处于何种状态则依赖于它所运行的执行环境 。状态之间的转换由有限状态机(FSM)定义 ,并能根据外部命令切换 。

  5.2 创建状态

  当前机器人功能组件已经被实例化 ,但是还没有完全初始化 。处于创建状态的机器人功能组件可以进行初始化操作 ,若初始化成功 ,则组件变迁到非激活状态 。

  5.3 非激活状态

  当前机器人功能组件已经完全初始化 ,但是没有被任何的执行环境所调用 。处于创建状态的机器人功能组件可以进行激活操作 ,若激活成功 ,则组件变迁到激活状态 。

  5.4 激活状态

  当前机器人功能组件被至少一个执行环境调用 ,通常当前机器人功能组件的核心功能处于执行状态 。处于激活状态的机器人功能组件可以进行失活操作 ,若失活成功 ,则组件变迁到非激活状态 。处于激活状态的机器人功能组件若遇到执行错误 ,则组件将变迁到与环境相对应的错误状态 。

  5.5 错误状态

  当前机器人功能组件在一个给定的执行环境遇到问题时 ,处于错误状态的机器人功能组件可以被重置 ,如果重置成功 , 机器人功能组件的状态将会变迁到非激活状态 , 如果重置失败将还是保持 错 误状态 。

  6 机器人功能组件集成方法

  6. 1 设计机器人功能组件

  对机器人模块化功能组件进行功能和结构分析 ,确定机器人组件的功能和主要参数 。确定操作系统 、开发环境 、编程语言等工具 。设计机器人接口 、状态变迁关系和执行环境 。

  6.2 创建机器人功能组件模型

  定义机器人功能组件参数 ,设置组件名称 、执行模式 、循环周期等属性 。创建数据端口 、服务端 口 、事件端口 、动作端 口 ,配置端 口 ,定义各端口数据类型 。编写功能函数 ,实现组件功能逻辑 。

  6.3 调试机器人功能组件

  如果机器人功能组件能够正常初始化 ,可被激活和失活且运行正常 ,则说明机器人功能组件创建成功 。机器人功能组件的运行状态可以通过脚本服务查询和控制 。

  6.4 机器人功能组件通信测试

  连接不同机器人功能组件的数据端口 、服务端口 、事件端口和动作端 口 ,激活上述各个机器人功能组件 ,测试各组件是否正常运行 ,测试各组件之间的通信和服务等信息是否正确 。

  6.5 机器人功能组件集成完毕

  如果以上步骤都正确完成 ,组件之间通过上述标准接口交换数据 、调用服务 ,形成一个紧密相连的整体 ,则机器人功能组件集成完毕 。机器人功能组件集成示例参见附录 A。

  附 录 A

  (资料性附录)

  机器人功能组件集成示例

  A. 1 建立机器人组件模型

  对机器人模块化功能组件进行功能和结构分析 。 以最简的控制器和执行器所组成的控制系统为例 , 由控制器输出数据以控制执行器执行相应指令 。其中 ,控制器具有一个数据输出端 口 , 而执行器则有一个数据输入端 口 ,数据类型可定义为双精度数组类型 。

  A.2 用机器人功能组件创建器创建 RFC模型

  用机器人功能组件创建器创建 RFC模型一般流程如下 :

  a) 控制器组件 ,如图 A. 1所示 。

  图 A. 1 机器人功能组件创建器创建控制器组件

  b) 执行器组件的创建 ,如图 A. 2所示 。

  图 A.2 机器人功能组件创建器创建执行器组件

  A.3 调试机器人功能组件

  如果机器人功能组件能够正常激活和运行 ,则机器人功能创建成功 。通过机器人功能组件集成器观察机器人功能组件的运行状态 。如图 A.3 和图 A.4所示 ,即为创建成功的控制器组件和执行器组件 。

  图 A.3 创建成功的控制器 RFC

  图 A.4 创建成功的执行器 RFC

  A.4 机器人功能组件通信测试

  测试各组件之间的通信和服务等信息是否正确 。激活上述各机器人功能组件 ,测试各组件是否正常运行 ,测试各组件之间的通信和服务传递等信息是否正确 。机器人功能组件在不同状态下 ,分别对应机器人功能组件集成器里的不同颜色 ,如失活对应蓝色 、激活对应绿色 、错误对应红色等 。针对此案例 ,正确运行的机器人软件系统如图 A. 5所示 。

  图 A.5 正确运行的机器人功能组件

  A.5 机器人功能组件集成完毕

  如果以上步骤都正确完成 ,组件之间通过上述标准接口交换数据 、调用服务 ,形成一个紧密相连的整体 ,则机器人功能组件集成完毕 。

  参 考 文 献

  [1] ISO/IEC 19500-1:2012ObjectManagementGroup—Common ObjectRequestBrokerAr- chitecture(CORBA) —Part1: Interfaces

  [2] ISO/IEC 19500-2:2012ObjectManagementGroup—Common ObjectRequestBrokerAr- chitecture(CORBA) —Part2: Interoperability

  [3] ISO/IEC 19500-3:2012ObjectManagementGroup—Common ObjectRequestBrokerAr- chitecture(CORBA) —Part3: Components

  [4] ISO/IEC 19505-1:2012 ObjectManagementGroup UnifiedModeling Language(OMG UML) — Part1: Infrastructure

  [5] ISO/IEC19505-2:2012 ObjectManagementGroup UnifiedModeling Language(OMG UML) — Part2: Superstructure

  [6] [UML]UnifiedModelingLanguage, SuperstructureSpecification version2.1.1(http://www. omg. org/technology/documents/formal/uml.htm)

  [7] OPRoS Standards(http://ropros. org/)

  [8] C. Jang, S.-I. Lee, S.-W. Jung, B. Song, R. Kim , S. Kim , and C.-H. Lee. Opros: A new component-based robotsoftware platform. ETRIjournal, vol. 32, no. 5, pp. 646-656, 2010

  [9] H. Bruyninckx, “OROCOS: design and implementation of a robotcontrolsoftware frame- work,”Tutorialgiven atIRCA2002, 2002

  [10] H. Bruyninckx, P. Soetens, and B. Koninckx. The real-time motion control core of the OROCOS project. Proceedings—IEEE International Conference on Robotics and Automation. pp. 2766-2771.

  [11] Robotoperating system(ROS), http://www. ros. org.

  [12] M. Quigley, B. Gerkey, K. Conley, J. Faust, T. Foote, J. Leibs, E. Berger, R. Wheeler, andA. Ng. ROS: an open-source RobotOperating System. pp. 1-6.

  [13] Robotic Technology Component Specification Version1.1, http://www. omg. org/spec/ RTC/20111205/

29141380529
下载排行 | 下载帮助 | 下载声明 | 信息反馈 | 网站地图  360book | 联系我们谢谢