2.2 面向制造资源的Agent结构模型设计 |
|
当今时代正处于传统车间制造向智能制造转型的关键时期,而向智能制造转型的关键一步就是车间制造单元智能化。制造单元智能化最具有潜力的解决方案是将具有知识库、信息交互、决策推理和设备控制等功能的 Agent 软件系统与物理车间制造装备相结合构成装备智能体。良好、多样的Agent映射方式和规范的Agent结构设计是建立有效的作业车间多Agent调度模型的基础。传统MAS调度模型Agent映射方式单一、Agent结构设计不清晰,严重制约了模型的运行效率。
Agent 是一种为实现特定功能而设计的独立的软件或硬件实体,并封装了推理决策、通信和知识库等模块以解决特定问题。包振强等人将 Agent 描述成在动态复杂的环境中能自我感知周边环境并能通过外部动作改变环境,从而完成预设目标或任务的计算系统。基于 Agent 的思想,只需对系统对象中的各个功能模块和物理实体进行简单的抽象和映射,建立起对应的 Agent 实体,就可以方便地对复杂系统进行描述、降低其建模难度,并预测其行为。而MAS则是一系列相互协作的Agent组成的松散耦合系统。目前,学术界对Agent还未形成统一的定义标准,Agent 的结构也缺乏建模标准。但是,几乎目前所有的 Agent定义都包含以下四个Agent基本特征。
Agent 具有自己的数据库、知识库、计算资源和控制自己外部行为的能力,能够在脱离外界控制的情况下,根据自身知识库自主地实现某些行为。
反应性是指Agent具有感知周围环境信息的能力。当Agent收到感知设备感知到的信号或者收到其他 Agent 发送的信息时,会将其存储到自身数据库中,并根据知识库中的规则进行响应。
主动性是指 Agent 内部预设了很多目标,Agent 能够主动采取行动来实现这些目标。这说明,Agent 不仅能够被动地通过接收信息来执行动作,也能够主动地改变外部环境。主动性是Agent最重要的特点。
社会性是指单个Agent的存在是没有意义的,必须与其他Agent组合形成多Agent网络。Agent网络中的Agent个体之间可以进行信息共享和通信互知,并且能够以协作的方式一起实现特定的任务或功能。
除了以上基本特性外,学者们还为Agent定义了其他一些特性,如移动性、进化性、善意性等。研究者可根据实际需要为所设计的Agent添加特性,但是要实现MAS的基本功能,所设计的Agent模型必须同时具备上述四个特性。
Agent的映射方式、映射粒度决定了整个系统的结构和性能。将什么样的功能实体(包括逻辑功能和物理实体)映射(或称封装)为Agent,决定了Agent的粒度,同时也会影响整个系统的功能。当前,缺乏系统而完善的理论和工程方法来指导 Agent 的映射工作,从而精简 MAS 模型同时保证运行效率。通常使用自然的方法对系统对象进行功能分解和Agent映射,但这要依赖设计人员的经验。
在MAS研究及应用领域,将功能实体封装为Agent主要存在以下两种方式。
在基于功能的分解中,Agent 的映射对象为制造系统中的各个功能模块,如物流优化模块、系统资源规划、作业调度计算等。Agent 和制造系统中的生产资源实体,如机床、自动化立体仓库(Automated Storage and Retrival System,AS/RS)等之间没有明确的对应关系,Agent通过感知系统中的各种变量、状态进行运算,这注定了其成为多Agent系统信息交互和数据处理的中心。
制造车间存在很多制造装备。制造装备具备自治性、社会性、反应性和主动性等特征,将不同的制造装备映射成不同的Agent是非常简单而又自然的。在基于物理的分解中,Agent的映射对象为制造系统中的生产资源实体,如加工中心、工件、AGV、AS/RS 等。Agent和生产资源实体存在简单而明确的一一对应关系。通过此类映射获得的 Agent,其自身状态定义和信息管理相对独立,在网络中的信息负载也相对较小。
上述两种映射方式中,按照功能模块来进行映射需要开发人员具备良好的系统模块化能力,难度相对较高,而且在车间系统规模比较庞大的情况下,单个功能模块所承载的负载压力会比较高。按照物理实体进行映射是传统MAS车间常用的Agent映射方式,将制造装备与 Agent 一一对应,具有建模简单、扩展性强和容错性好等优点,适合大规模分布式制造系统,但也因为Agent多使用简单、单一的物理分解,造成MAS调度模型缺乏统一规划和全局优化能力。因此,笔者将这两种映射方式相结合,以基于物理实体进行映射方式为主,同时基于功能特点构建专门用于动态扰动事件感知和生产过程全局优化的监控Agent,用于提升系统的全局优化能力和稳定性。
进行Agent结构模型设计需要解决以下问题:Agent具有哪些功能模块?Agent如何感知外界信息?如何通过感知到的信息来影响内部状态和行为?以及如何把多个功能模块组合起来形成整体?Agent根据逻辑结构和功能特性可以分为智能型Agent(Smart Agent)、思考型Agent(Deliberative Agent)、反应型Agent(Reactive Agent)和混合型Agent(Hybrid Agent)。
智能型Agent是由Rao等人设计的一种最具智能性的Agent。其结构如图2-5所示。其结构设计基于BDI的思想,即信念(Belief),表示Agent对环境的理解;愿望(Desire),表示Agent要实现的目标;意图(Intention),表示Agent为实现自身目标而主动执行的动作。解释器负责实现信念、愿望和意图的联通和整合。智能型Agent也称为BDI型Agent。但是,智能驱动的设计理念限制了Agent对环境变化的适应能力,且执行效率不高。
图2-5 智能型Agent结构
思考型Agent通过感知设备来接收外界环境的信息,并与Agent内部状态进行信息融合,产生当前状态变更的描述信息,接着在知识库的作用下形成一系列描述动作,通过执行装置对外界环境产生作用。其结构如图2-6所示。基于上面的描述可以发现,思考型Agent类似于专家系统,是一种基于知识库的系统。它根据感知得到的外部环境信息,从知识库中生成对应的处理策略。但是,Agent 中知识库包括的策略集合相对比较固定,遇到未记录在内的紧急事件,难以做出合理的应急策略,往往会造成难以弥补的损失,因此不适用于环境复杂的离散制造车间。
图2-6 思考型Agent结构
反应型Agent不同于思考型Agent,其核心是“感知—动作”机制,Agent的动作受到某种信息刺激而引发,所以被称为反应型Agent。其结构如图2-7所示。当外部环境发生变化时,反应型 Agent 能够快速做出反应,但其规则比较单一、固定,而且智能性、自治性相对于思考型Agent较低。因此在复杂场景下该类型Agent应用较少。
图2-7 反应型Agent结构
纯粹的智能型Agent、思考型Agent和反应型Agent结构均存在一定的缺陷,各具有其局限性,无法适应复杂应用场合的建模要求。实际上在调度模型设计中,比较好的方法是将这三种结构结合起来,形成混合型Agent。混合型Agent既保留了智能型Agent和思考型Agent的智能性,又具备了反应型Agent应对外部环境变化的快速响应能力,更加适合在实际车间中实施落地。混合型Agent由两层结构组成,高层是实现智能型Agent和思考型Agent功能的决策层,底层则模拟反应型Agent,构建对环境的快速响应能力的反应层。
典型的混合型Agent结构是一个Agent中包含两个(或以上)子Agent。其中,处于高层的是思考型 Agent,根据外部信息和知识库进行逻辑推理与决策,负责处理抽象性较高的数据;处于底层的则是反应型 Agent,用来处理复杂度较低、紧急异常的事件,不用进行复杂逻辑运算就生成处理策略,侧重于Agent的短期目标。
通过对上述四种常用Agent结构的研究,对比、分析其性能优劣,并在参考混合型Agent设计思路的基础上,将在后续章节中设计出改进型MAS车间调度模型的统一Agent结构。改进后的 Agent 结构模型既能满足多智能体制造系统的自组织生产需求,又能即时感知、处理随机性动态扰动问题。
在第2.2.2节内容中提到了主要按照物理实体即生产资源来对Agent进行映射,而对于生产资源来说,作为生产制造任务的实际执行者,其主要功能可以总结为以下几个。
(1)能够保存和管理制造装备的基本属性信息。
(2)能够通过知识库中的控制指令来操作制造装备执行相应动作,并通过相关接口对制造装备的运行状态进行监控与管理。
(3)能够通过既定的通信协议与其他智能体进行正常通信与信息交互。
(4)能够根据当前物理设备的运行状态、历史数据和生产能力,识别出其他智能体发出的通信信息,并对具体信息内容做出判断、分析与决策。
由于制造装备的复杂性,多智能体制造系统中Agent既能实时监测制造装备的运行参数,判断其当前运行状态,并在设备故障时及时调整生产策略,又要能够根据自身知识库、数据库等数据信息,通过协商机制与其他智能体进行协商,最终在动态扰动下生成重调度决策结果。因此,基于MAS的物联制造车间中的智能体主要包括以下几个模块:知识库、数据库、学习与进化模块、通信模块、事件感知模块、设备操作与监控模块、推理与决策模块、人机交互接口等。
其各功能模块分别介绍如下。
(1)数据库。数据库存储装备智能体本身的属性数据和运行状态数据,如制造装备的型号、名称和加工能力等基本属性信息,完工件、在制品和缓存区任务等状态数据。
(2)知识库。知识库存储装备智能体进行调度决策时所使用到的规则和策略。知识库中的内容经学习与进化模块的学习和逻辑推理不断丰富。
(3)学习与进化模块。借助于自学习模块的学习规则,Agent 对已有的知识进行不断更新,更好地指导自身的行为,实现预定的目标。其中知识源有两个:Agent 已实现的成功事件;上个环节未达成预期目标的失败事件。此外,该模块会不断通过感知到的信息来丰富数据库和知识库。
(4)通信模块。通信模块在逻辑模块的控制下实现Agent与网络内其他Agent的通信,是 Agent 与外界信息交互的通道;通过特定的智能体间通信协议与其他装备智能体接收和发送消息,并能够屏蔽操作系统的差异。
(5)事件感知模块。该模块通过从通信模块传来的消息和自身状态来判断事件的类型,从而实现从消息到事件的转化。
(6)设备操作与监控模块。该模块可以监控和记录制造装备的运行状态,根据决策结果向制造装备发出特定控制信号,实现装备的动作操控,是连接制造装备和上层软件的桥梁。
(7)推理与决策模块。该模块根据感知到的事件查询知识库,确定响应事件的策略和方法,计算得到系统的响应输出。
(8)人机交互接口。操作人员可以通过该接口直接进行系统干预和调整。
改进型MAS调度模型的Agent设计采用如图2-8所示的统一的Agent结构,降低了软件设计的复杂程度,提高了 MAS 的可重构性和设备的互换性。但针对不同功能和优化目标的Agent,其内部结构会略有差别,如监控Agent不需要设备接口模块。
图2-8 改进型MAS调度模型的Agent结构