先进制造技术与系统中大量应用了各种人工智能技术,尤其是专家系统技术。但以往大都是以单机单结点应用为主,即使是一个系统中有多个结点采用了人工智能技术,但制造系统往往本身是递阶集中控制的,导致各节点的人工智能技术应用是以孤岛方式存在,相互间并无明显联系。事实上,先进制造系统信息处理本质上应是分布式的,只是在传统递阶与集中控制方式下,这一特点被掩盖了。随着分布式处理技术的发展与应用,在先进制造系统的检测监控系统中应用分布式人工智能(Distributed Artificial Intelligence—DAI)技术已是必然,并已成为检测监控系统实现智能化的核心技术 [1~3] 。
本文以柔性制造系统(FMS)为对象,讨论DAI技术在FMS检测监控技术中的应用。由于FMS固有的复杂性,它是先进制造系统的典型代表,因此这里所讨论的技术也可直接应用于各类先进制造系统。
1 FMS智能检测监控系统建模
图1为一实际FMS(BQ—FMS)平面布置图,其主要组成:2台加工中心、1辆有轨自动导引小车(AGV)、1台换刀机器人、1台工件清洗机、中央刀库、工件交换站、托盘缓冲站、FMS控制器等部分。BQ—FMS加工的零件包括:表尺座、油路板、变速盒、阀体、行星齿轮架等。
图1 BQ—FMS平面布置图
FMS的检测监控系统一般都采用集中递阶控制的结构模型,这种结构在制造系统规模较小时,或者是制造系统各个组成部分之间的关联很少,尤其是时序要求不高、事件之间同步关联可忽略时,是合理且可行的。但对于FMS这样的复杂系统,其每一组成部分的状态都会影响其它组成部分的行为,最终会影响整个FMS的运行与调度。同时FMS对检测监控系统的实时性提出了很高的要求,若集中监控,则必须对FMS所有状态进行检测,然后才能评估诊断,达到监控目的[4,5] 。根据图1采用DAI技术的BQ—FMS智能检测监控系统见图2。
图2 FMS智能检测监控系统模型
在图2的模型中,BQ—FMS检测监控系统由3个相对独立的子系统组成,分别完成加工过程的检测监控、刀具流部分检测监控、物料搬运部分检测监控功能。图2的模型采用了多Agent的方式。根据图1、图2,每个监控子系统,即Agent的基本任务是,①负责管理相应子系统内的有关检测监控装置、设备;②负责对子系统内相应制造设备进行监控、评估、诊断、控制;③接收其它监控子系统(Agent)发来的状态信息,发送本监控子系统(Agent)的状态信息给其它子系统(Agent);④提供人机接口。
由于是在DAI环境中,因此完成基本任务②的信息基础不再仅是本子系统采集的状态信息,还包括其它子系统此时的状态,以及其它子系统对本子系统所处状态的响应等。此时FMS检测监控系统不再是一个递阶、集中的整体,而是由3个子系统(用3个Agent表示)相互独立但紧密联系、协作来实现。各子系统独自处理自身问题,以求尽可能实时,同时它们的综合又使得FMS整体检测监控能力尽可能最优。
各Agent内部的构成见图3,其中状态表是各Agent内部活动的基础,它采集了本子系统内的设备运行状态,人对各Agent子系统的干预也通过它进行,这样每个Agent的运行只与其具有的知识和FMS状态有关。监控模块完成了本子系统的状态评估、粗略的诊断,并通知(触发)有关模块。诊断模块根据自身Agent状态表信息和具有的知识推理出本Agent所处状态、应采用的控制及调度策略。但诊断模块的结论并不是本子系统(Agent)实际采用的,该结论必须送入融合、协调、控制模块中,由它根据其它监控子系统(Agent)的状态决定本监控子系统(Agent)应该采取何种控制和调度策略。因此,融合、协调、控制模块是实现基于DAI的检测监控核心。 nextpage
图3 Agent内部结构及其相互关系
在图3中,监控模块、诊断模块由于只由状态表驱动,其拥有知识也只和本Agent有关。而融合、协调、控制模块和其它Agent有关,故系统中Agent的数量和对象变化时,它是要相应改变的。但在实际应用中,我们只接受其它Agent送过来的其自身对其状态的响应信息,而非原始信息,故数量较少,复杂性也大为降低,结合下一节的方法,就可解决多Agent应用的知识更新问题。
在该DAI系统中,采用了多Agent系统实现方法,各Agent之间的信息交互方法十分重要。可用的方法也很多,为了简化设计,采用公共黑板方式。
2 融合、协调、控制策略
在FMS每一个监控子系统(Agent)中,监控、诊断、控制等模块都是基于知识的子智能行为体,或者可以说是一种更小和更简单的子Agent,但它们的实现方法有差异。监控和诊断模块是根据本Agent采集的设备状态信息,由子系统状态表直接驱动进行,由于强调实时性,并简化设计,采用专家系统思想,利用IF—THEN规则形成描述知识和指导推理,每一条IF—THEN规则除含有诊断信息外,还含有该规则相对应的本Agent调度、控制策略。如前所述,这一策略还不是该Agent最终执行的调度策略。下面着重介绍融合、协调、控制模块的运行机理与控制策略。
(1)首先本模块要进行状态信息融合,信息来源为本Agent的状态表、监控与诊断模块提供的特征与控制信息、另2个相关Agent发来的状态信息。
(2)根据融合后的信息及监控诊断模块提供的初步控制策略,在本模块拥有的知识的支持下,确定本Agent实际应采用的运行、调度与控制策略。作为一特定工程背景,知识系统设计时仍可采用IF—THEN规则形式,只不过这里的每一条规则要考虑Agent B、Agent C的影响,下面以Agent A为例,形式为
IF Agent A处于A1(A1表示加工中心正常加工)
AND Agent B处于B1(B1表示机器人运行正常)
Agent C处于C1(C1表示AGV运行正常)
THEN DO 事件0(事件0表示进行正常加工)
ELSE 1 IF Agent B处于B2(B2表示机器人不能运送刀具)
Agent C处于C1
DO 事件1(事件1:当前工件的当前工序完成后停止加工)
ELSE n IF Agent B处于B n
Agent C处于C n
DO事件n
最终本Agent的动作是Agent A、Agent B、Agent C综合影响的结果。
(3)这里存在一个问题,即Agent A影响了Agent B和Agent C,则B和C内部又要进行协调、控制,反过来Agent B影响Agent A和Agent C,Agent C影响Agent A和Agent B,不断循环,极限情况下会出现不稳定。同时由多Agent构成的FMS检测监控子系统的实时性也大幅下降。这是多Agent系统不允许的,也是DAI系统在工程中能否有效应用须解决的关键问题。针对BQ—FMS检测监控,我们采用如下方法综合进行解决。
(1)对Agent间相互影响采用循环次数控制,当次数多于设定值时自行停止。
(2)在多Agent中引入一主控Agent(MainAgent),由它决定这种循环是否应该结束。这里对加工系统进行监控的AgentA可设定为MainAgent。
(3)采用时间来约束,这是一种类似“Watchdog(看门狗)”的技术方法。
(4)由各Agent的知识系统对其循环协调过程的稳定性进行判定。若其它Agent状态变化某一时刻不引起本Agent状态变化,则稳定。这样逐步增加稳定Agent数,最终是DAI系统中每个Agent都稳定。该方法是多Agent达到稳定状态的关键。
3 试验系统组成
基于多Agent的BQ—FMS检测监控系统可采用图4所示的2种方法组建。
图4a中各Agent的联系通过智能串行通讯卡实现,通讯方式是点对点或用现场总线。智能通讯卡可直接接入MainAgent(如用PCL744通讯卡),这样公共黑板宜放在MainAgent上。对于3个Agent的简单情况也可直接用PC机的2个串口,两两相连解决。在图4b中采用客户/服务器结构,各Agent连在计算机网络上,公共黑板可以存在任一Agent中,更好的方法是直接放在服务器上,这样各Agent都可高效存取黑板,同时检测监控系统也方便地和FMS其它分系统实现信息集成。
图4 基于多Agent的FMS检测监控系统
4 结论
由于用分布式人工智能(DAI)技术研究与开发FMS检测监控系统真实、有效地反映了FMS检测监控信息处理的特点,是实现FMS检测监控系统智能化的技术基础。采用多Agent方法建立FMS检测监控系统的模型具有直观、简便、易于实现的特点。所采用的融合、协调和控制方法,知识表示与推理机制是实现该系统的关键。