标准范围:
本标准规定了模块化和网络化构建的机器人产品的软件资源的功能封装技术,机器人软件开发领 域的组件模型和相应的设计规范,以及机器人组件的集成方法。
本标准适用于机器人软件开发领域。非模块化、网络化机器人系统中的机器人软件开发和设计亦可参照使用本标准。
本标准针对机器人产品软件资源的功能组件化需求,采用模块化设计思想规定了模块化和网络化 构建的机器人软件功能组件框架,包括功能组件的接口描述和状态转换,组件化机器人软件系统的设计方法,为机器人软件设计者和使用者提供参考。
本标准有助于建立一个良好的机器人产业的生态环境。开发人员可以将来自不同供应商的机器人功能组件结合到一个的应用程序中,从而使得机器人和机器人软件的开发变得方便和快捷,使得机器人系统变得灵活和高效。
执行状态管理:
组件执行状态描述如下。
———执行环境:是组件内线程的抽象表示。线程根据当前状态执行组件内相关的工作任务。
———行为内核:负责组件的内部逻辑处理。具体包含一个有限状态机(FSM)和一个内部逻辑单元,用于计算和处理不同时刻组件所处的状态模式。
———状态自检:组件可以对自身状态自检,当出现异常时通过异常接口对外通知。
组件状态变迁:
创建状态:
当前机器人功能组件已经被实例化,但是还没有完全初始化。处于创建状态的机器人功能组件可以进行初始化操作,若初始化成功,则组件变迁到非激活状态。
非激活状态:
当前机器人功能组件已经完全初始化,但是没有被任何的执行环境所调用。处于创建状态的机器 人功能组件可以进行激活操作,若激活成功,则组件变迁到激活状态。
激活状态:
当前机器人功能组件被至少一个执行环境调用,通常当前机器人功能组件的核心功能处于执行状态。处于激活状态的机器人功能组件可以进行失活操作,若失活成功,则组件变迁到非激活状态。处于激活状态的机器人功能组件若遇到执行错误,则组件将变迁到与环境相对应的错误状态。
错误状态:
当前机器人功能组件在一个给定的执行环境遇到问题时,处于错误状态的机器人功能组件可以被重置,如果重置成功,机器人功能组件的状态将会变迁到非激活状态,如果重置失败将还是保持错误状态。