蘇 偉,王吉岱,孫愛芹
(山東科技大學(xué),青島 266510)
近年來,專家系統(tǒng)在理論研究和實(shí)際應(yīng)用方面取得了令人矚目的成就。作為人工智能的關(guān)鍵部分,專家系統(tǒng)是人工智能從一般思維規(guī)律探索走向?qū)iT知識利用,從理論方法研究走向?qū)嶋H系統(tǒng)設(shè)計的轉(zhuǎn)折點(diǎn)和突破口[1]。它是一種典型的“知識工程”系統(tǒng),既是知識表達(dá)、知識存儲、知識推理、知識獲取和知識管理技術(shù)的綜合應(yīng)用對象,也是研究和開發(fā)知識工程技術(shù)的工具,它促進(jìn)了計算機(jī)軟件、硬件和系統(tǒng)從數(shù)據(jù)信息處理向知識信息處理的發(fā)展。本文以高壓輸電線路除冰機(jī)器人為控制對象,采用專家控制原理研究設(shè)計了一種基于規(guī)則庫專家控制系統(tǒng),為高壓線除冰機(jī)器人的智能化提供了一種有效的方法及途徑。
專家系統(tǒng)是一種計算機(jī)程序,具有啟發(fā)性、透明性、靈活性及智能性的特點(diǎn)[2]。本文所設(shè)計的系統(tǒng)是基于規(guī)則的產(chǎn)生式專家系統(tǒng),主要由知識庫、推理機(jī)、靜態(tài)數(shù)據(jù)庫、動態(tài)數(shù)據(jù)庫、解釋機(jī)制和人機(jī)接口組成,如圖1所示。
圖1 專家系統(tǒng)的組成
本文首先對試驗(yàn)線路進(jìn)行編號,然后對線路上的障礙進(jìn)行特征提取,最后根據(jù)以往經(jīng)驗(yàn)將機(jī)器人運(yùn)行過程中的標(biāo)準(zhǔn)運(yùn)動狀態(tài)及所對應(yīng)的傳感器信息以列表的形式列出。利用clips與VC++相結(jié)合的方式編程,將這些靜態(tài)知識信息轉(zhuǎn)化為機(jī)器人所能識別的語言存入靜態(tài)數(shù)據(jù)庫中。根據(jù)以上事實(shí),制定高效、簡潔、可擴(kuò)展性好的規(guī)則存儲與知識庫中。結(jié)合實(shí)時采集的機(jī)器人的運(yùn)動事實(shí),由推理機(jī)通過推理決定這些事實(shí)與哪些規(guī)則匹配,并授予規(guī)則優(yōu)先級,進(jìn)而執(zhí)行最高優(yōu)先級的規(guī)則,觸發(fā)機(jī)器人的下一步動作,同時將推理中產(chǎn)生的新信息放入動態(tài)數(shù)據(jù)庫中[2]。動態(tài)數(shù)據(jù)庫中也存儲實(shí)時接收到的傳感器信息及控制指令。此外,本專家系統(tǒng)中還有人機(jī)接口及解釋機(jī)制,方便用戶操作。
本專家系統(tǒng)是基于規(guī)則的產(chǎn)生式專家系統(tǒng),知識庫采用規(guī)則庫,其規(guī)則即為存儲推理所用的規(guī)則。規(guī)則的表達(dá)采用IF…THEN的形式,存儲格式為:
(defrule <rule name > [<comment>]
<patterns>*;// Left-Hand side of
the rule
=>
<actions>*);// Right-Hand side of
the rule
其中=>是IF…THEN規(guī)則中THEN部分開始的標(biāo)記,最后一部分是行為列表,行為是聲明的事實(shí),當(dāng)此規(guī)則觸發(fā)時這些行為就會被執(zhí)行。
例如系統(tǒng)中規(guī)則1存儲的是機(jī)器人前行的觸發(fā)規(guī)則,程序?qū)崿F(xiàn)的方法為:
(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) )
//向所用運(yùn)動控制卡DMC2410的通用輸出s口發(fā)送低電平,控制電機(jī)的以實(shí)現(xiàn)除冰機(jī)器人的前行。
事實(shí)庫由線路庫、障礙庫和動作庫組成,線路庫存儲要巡檢的線路編號及相應(yīng)的線路特征;障礙庫存放不同障礙的基本特征;動作庫中存放根據(jù)機(jī)器人的運(yùn)動狀態(tài),各個執(zhí)行元件的動作指令。
本系統(tǒng)中事實(shí)庫采用列表法實(shí)現(xiàn),根據(jù)對機(jī)器人運(yùn)動狀態(tài)的分析及多次試驗(yàn)經(jīng)驗(yàn),采用列表法將機(jī)器人的運(yùn)動狀態(tài)及對應(yīng)的傳感器信號電平列出。例如當(dāng)機(jī)器人跨越垂直線夾時,機(jī)器人的標(biāo)準(zhǔn)運(yùn)動狀態(tài)如表1所示。
表1 機(jī)器人標(biāo)準(zhǔn)運(yùn)動狀態(tài)
其中,橫坐標(biāo)代表機(jī)器人傳感系統(tǒng)的檢測信息(低電平有效),縱坐標(biāo)代表根據(jù)狀態(tài)信息不同組合確立的機(jī)器人標(biāo)準(zhǔn)運(yùn)動狀態(tài)。
利用CLIPS語言將列表中存儲的事實(shí)轉(zhuǎn)化為推理機(jī)能夠識別的信息塊[3],這些信息塊在通過定義的模板進(jìn)行編輯之后,被存儲在事實(shí)表中。程序編寫方法為:
( deffacts move-forward
(sensor (number a)
(signal d2410_read_inbit(1,p)
……
(sensor (number n)
(signal d2410_read_inbit(1,q)))
CLIPS所承認(rèn)的事實(shí)都保存在事實(shí)表(factlist)中。新的事實(shí)用assert 命令加入事實(shí)表:
(assert<<<fact>>>)
推理機(jī)是專家系統(tǒng)的組織控制機(jī)構(gòu),是關(guān)于問題求解的一般性控制知識[4]。本系統(tǒng)采用正向推理的方式建立推理機(jī),從已知的不同傳感器信號對應(yīng)的機(jī)器人不同運(yùn)動狀態(tài)事實(shí)出發(fā),正向使用推理規(guī)則。基本的思想是:先將機(jī)器人運(yùn)動狀態(tài)事實(shí)放入綜合數(shù)據(jù)庫中,根據(jù)綜合數(shù)據(jù)庫中的已有事實(shí),到知識庫中尋找當(dāng)前可用知識,形成一個當(dāng)前可用知識集,然后按照沖突消解策略,從該知識集中選擇幾條知識進(jìn)行推理,并將新推出的事實(shí)加入綜合數(shù)據(jù)庫,作為后面繼續(xù)推理時可用的已知事實(shí),如此重復(fù)這一過程,直到求出所需要的解或者知識庫中再無可用知識為止。推理流程圖如圖2所示。
圖2 推理流程圖
根據(jù)實(shí)驗(yàn)室搭建的模擬線路,對本文研究的控制方法進(jìn)行了驗(yàn)證。實(shí)驗(yàn)結(jié)果如圖3所示。圖3(a)表示機(jī)器人的遇到垂直線夾的靜止?fàn)顟B(tài),此時前輪的紅外傳感器檢測到了障礙,信號自動變?yōu)榈碗娖?。事實(shí)表中的存儲事實(shí)狀態(tài)為:(0,1,0,1,1,1,0,1,1,1,0,1,1);推理機(jī)將此事實(shí)與知識庫中的規(guī)則相比對,觸發(fā)與之匹配的規(guī)則“前臂升起”規(guī)則;圖3(b)表示機(jī)器人前臂升起準(zhǔn)備越障的狀態(tài),此時前臂的上下兩個限位開關(guān)分別由1變?yōu)?,由0變?yōu)?,事實(shí)表中存儲的事實(shí)為:(1,0,1,1,1,1,0,1,1,1,0,1,1);觸發(fā)與之相匹配的規(guī)則進(jìn)而使機(jī)器人前臂越障。圖3(c)表示機(jī)器人前臂越過障礙,中間臂紅外傳感器檢測到垂直線夾,機(jī)器人停止運(yùn)行,等待前臂掛線。圖3(d表示前臂掛線,中間臂等待越障。原理同圖3(a),(b)一樣。
圖3 實(shí)驗(yàn)結(jié)果
經(jīng)過試驗(yàn)得出,本文所提出的專家系統(tǒng)的結(jié)構(gòu)合理,完全可以實(shí)現(xiàn)對機(jī)器人的智能控制,為輸電線路的除冰機(jī)器人智能化提供了一種有效的方法和途徑。
[1] 涂序彥.人工智能及其應(yīng)用[M].北京:電子工業(yè)出版社,1994.
[2] 李維贊.輸電線路巡檢機(jī)器人的設(shè)計與控制系統(tǒng)的研究[J].北京:制造業(yè)自動化,2008.
[3] Joseph C.Giarratano.專家系統(tǒng)原理及編程[M].北京:機(jī)械工業(yè)出版社,2000.
[4] Villa A.Expert control system:A rationale to handle system uncertainty and control structure complexity[J].IEEE Trans SMC,1987,17-28.