基于规则库的除冰机器人专家控制方法的研究
2012-07-03王吉岱孙爱芹
苏 伟,王吉岱,孙爱芹
(山东科技大学,青岛 266510)
0 引言
近年来,专家系统在理论研究和实际应用方面取得了令人瞩目的成就。作为人工智能的关键部分,专家系统是人工智能从一般思维规律探索走向专门知识利用,从理论方法研究走向实际系统设计的转折点和突破口[1]。它是一种典型的“知识工程”系统,既是知识表达、知识存储、知识推理、知识获取和知识管理技术的综合应用对象,也是研究和开发知识工程技术的工具,它促进了计算机软件、硬件和系统从数据信息处理向知识信息处理的发展。本文以高压输电线路除冰机器人为控制对象,采用专家控制原理研究设计了一种基于规则库专家控制系统,为高压线除冰机器人的智能化提供了一种有效的方法及途径。
1 专家系统的建立
专家系统是一种计算机程序,具有启发性、透明性、灵活性及智能性的特点[2]。本文所设计的系统是基于规则的产生式专家系统,主要由知识库、推理机、静态数据库、动态数据库、解释机制和人机接口组成,如图1所示。
图1 专家系统的组成
本文首先对试验线路进行编号,然后对线路上的障碍进行特征提取,最后根据以往经验将机器人运行过程中的标准运动状态及所对应的传感器信息以列表的形式列出。利用clips与VC++相结合的方式编程,将这些静态知识信息转化为机器人所能识别的语言存入静态数据库中。根据以上事实,制定高效、简洁、可扩展性好的规则存储与知识库中。结合实时采集的机器人的运动事实,由推理机通过推理决定这些事实与哪些规则匹配,并授予规则优先级,进而执行最高优先级的规则,触发机器人的下一步动作,同时将推理中产生的新信息放入动态数据库中[2]。动态数据库中也存储实时接收到的传感器信息及控制指令。此外,本专家系统中还有人机接口及解释机制,方便用户操作。
2 规则库的建立
本专家系统是基于规则的产生式专家系统,知识库采用规则库,其规则即为存储推理所用的规则。规则的表达采用IF…THEN的形式,存储格式为:
(defrule <rule name > [<comment>]
<patterns>*;// Left-Hand side of
the rule
=>
<actions>*);// Right-Hand side of
the rule
其中=>是IF…THEN规则中THEN部分开始的标记,最后一部分是行为列表,行为是声明的事实,当此规则触发时这些行为就会被执行。
例如系统中规则1存储的是机器人前行的触发规则,程序实现的方法为:
(deftemplate sensor
(multislot number)
(multislot signal))
(defrule rule-1
(sensor (number a) (signal 1)
(sensor (number b) (signal 0)
…
(sensor (number n) (signal 1))
=>
(printout t “the robot is moving forward”
crlf)
d2410_write_outbit(0,s,0) )
//向所用运动控制卡DMC2410的通用输出s口发送低电平,控制电机的以实现除冰机器人的前行。
3 事实库的组成及实现方法
事实库由线路库、障碍库和动作库组成,线路库存储要巡检的线路编号及相应的线路特征;障碍库存放不同障碍的基本特征;动作库中存放根据机器人的运动状态,各个执行元件的动作指令。
本系统中事实库采用列表法实现,根据对机器人运动状态的分析及多次试验经验,采用列表法将机器人的运动状态及对应的传感器信号电平列出。例如当机器人跨越垂直线夹时,机器人的标准运动状态如表1所示。
表1 机器人标准运动状态
其中,横坐标代表机器人传感系统的检测信息(低电平有效),纵坐标代表根据状态信息不同组合确立的机器人标准运动状态。
利用CLIPS语言将列表中存储的事实转化为推理机能够识别的信息块[3],这些信息块在通过定义的模板进行编辑之后,被存储在事实表中。程序编写方法为:
( deffacts move-forward
(sensor (number a)
(signal d2410_read_inbit(1,p)
……
(sensor (number n)
(signal d2410_read_inbit(1,q)))
CLIPS所承认的事实都保存在事实表(factlist)中。新的事实用assert 命令加入事实表:
(assert<<<fact>>>)
4 推理机的实现
推理机是专家系统的组织控制机构,是关于问题求解的一般性控制知识[4]。本系统采用正向推理的方式建立推理机,从已知的不同传感器信号对应的机器人不同运动状态事实出发,正向使用推理规则。基本的思想是:先将机器人运动状态事实放入综合数据库中,根据综合数据库中的已有事实,到知识库中寻找当前可用知识,形成一个当前可用知识集,然后按照冲突消解策略,从该知识集中选择几条知识进行推理,并将新推出的事实加入综合数据库,作为后面继续推理时可用的已知事实,如此重复这一过程,直到求出所需要的解或者知识库中再无可用知识为止。推理流程图如图2所示。
图2 推理流程图
5 实验结果
根据实验室搭建的模拟线路,对本文研究的控制方法进行了验证。实验结果如图3所示。图3(a)表示机器人的遇到垂直线夹的静止状态,此时前轮的红外传感器检测到了障碍,信号自动变为低电平0。事实表中的存储事实状态为:(0,1,0,1,1,1,0,1,1,1,0,1,1);推理机将此事实与知识库中的规则相比对,触发与之匹配的规则“前臂升起”规则;图3(b)表示机器人前臂升起准备越障的状态,此时前臂的上下两个限位开关分别由1变为0,由0变为1,事实表中存储的事实为:(1,0,1,1,1,1,0,1,1,1,0,1,1);触发与之相匹配的规则进而使机器人前臂越障。图3(c)表示机器人前臂越过障碍,中间臂红外传感器检测到垂直线夹,机器人停止运行,等待前臂挂线。图3(d表示前臂挂线,中间臂等待越障。原理同图3(a),(b)一样。
图3 实验结果
6 结论
经过试验得出,本文所提出的专家系统的结构合理,完全可以实现对机器人的智能控制,为输电线路的除冰机器人智能化提供了一种有效的方法和途径。
[1] 涂序彦.人工智能及其应用[M].北京:电子工业出版社,1994.
[2] 李维赞.输电线路巡检机器人的设计与控制系统的研究[J].北京:制造业自动化,2008.
[3] Joseph C.Giarratano.专家系统原理及编程[M].北京:机械工业出版社,2000.
[4] Villa A.Expert control system:A rationale to handle system uncertainty and control structure complexity[J].IEEE Trans SMC,1987,17-28.