林 濤,李 輝,郭 曉,趙宏科,陳 恩
(河北工業(yè)大學(xué) 控制科學(xué)與工程學(xué)院,天津 300130)
手工操作的抄表收費(fèi)方式不但費(fèi)時(shí)費(fèi)力費(fèi)用過高還存在安全隱患。隨著無線網(wǎng)絡(luò)技術(shù)的飛速發(fā)展與成熟,將其應(yīng)用于抄表系統(tǒng)可使抄表工作變得方便、快捷。傳統(tǒng)的無線抄表系統(tǒng)大多是利用分布式器件(如采集器)采集數(shù)據(jù),然后把數(shù)據(jù)傳至上位機(jī),由上位機(jī)進(jìn)行處理。這種方式存在一定的問題:由于所有的數(shù)據(jù)都交由上位機(jī)統(tǒng)一處理,一旦出現(xiàn)某種干擾阻止它運(yùn)行,就會(huì)造成整個(gè)抄表系統(tǒng)數(shù)據(jù)錯(cuò)誤或丟失;并且,由單一的主機(jī)處理所有數(shù)據(jù)限制了整個(gè)抄表系統(tǒng)的規(guī)模,大量的數(shù)據(jù)同時(shí)傳輸將會(huì)導(dǎo)致網(wǎng)絡(luò)通信過載,從而導(dǎo)致整個(gè)系統(tǒng)的實(shí)時(shí)性差,系統(tǒng)節(jié)點(diǎn)之間難以實(shí)現(xiàn)互操作。如果出現(xiàn)可疑數(shù)據(jù),系統(tǒng)很難判定是數(shù)據(jù)在傳輸過程中產(chǎn)生,還是表具本身故障所致。
Agent是具有智能和較高自治能力的實(shí)體,對(duì)動(dòng)態(tài)變化作出適當(dāng)反應(yīng),Agent能夠模擬人類的行為,且具有良好的智能性、協(xié)調(diào)性、適應(yīng)性[1-2]。由于Agent的這些特性,設(shè)計(jì)了一種基于多Agent技術(shù)的無線抄表系統(tǒng),實(shí)現(xiàn)了采集節(jié)點(diǎn)獨(dú)立采集分析數(shù)據(jù),并且重點(diǎn)研究了系統(tǒng)對(duì)錯(cuò)誤數(shù)據(jù)的判別及協(xié)調(diào)功能,在物業(yè)中心Agent和采集器Agent加入遞推算法和最小二乘法,使系統(tǒng)能夠快速解決可疑數(shù)據(jù)的問題,保證了無線抄表系統(tǒng)的安全、可靠。
Agent理論和技術(shù)起源于20世紀(jì)80年代,隨著計(jì)算機(jī)軟、硬件技術(shù)飛速發(fā)展,Agent理論得到了強(qiáng)大的技術(shù)支持,使Agent的實(shí)現(xiàn)能力不斷增強(qiáng),應(yīng)用逐漸擴(kuò)展到了工業(yè)、農(nóng)業(yè)、醫(yī)療、交通等領(lǐng)域[3]。Agent是具有智能和較高自治能力的實(shí)體。相對(duì)于傳統(tǒng)技術(shù)而言,它不僅可以在目標(biāo)的驅(qū)動(dòng)下實(shí)現(xiàn)目標(biāo),還可感知、適應(yīng)環(huán)境,對(duì)動(dòng)態(tài)變化作出適當(dāng)反應(yīng);Agent能夠模擬人類的行為,且具有良好的智能性、協(xié)調(diào)性、適應(yīng)性等特性,特別是在滿足分布式應(yīng)用方面的優(yōu)勢(shì)受到越來越多的關(guān)注。
多 Agent系統(tǒng) MAS(multi-Agent system)是分布式人工智能的拓展,是由多個(gè)Agent組成的一種分布式自主系統(tǒng)。MAS中的每個(gè)Agent擁有解決不同問題的不完全信息和能力,不存在全局控制。數(shù)據(jù)是分散的,計(jì)算過程是異步的。它旨在于把一個(gè)復(fù)雜的系統(tǒng)分散成若干個(gè)易于管理的小系統(tǒng),這些小系統(tǒng)可以相互通信、相互協(xié)作,從而實(shí)現(xiàn)信息、知識(shí)的共享。
在開放的MAS系統(tǒng)中,每個(gè)Agent都具有自主性,在求解過程中會(huì)按自己的目的、知識(shí)與能力進(jìn)行活動(dòng),由于封閉世界假設(shè)對(duì)MAS不成立,因此不能用演繹邏輯的方法解決矛盾,必須引入?yún)f(xié)調(diào)機(jī)制[4]。MAS協(xié)調(diào)是指具有不同目標(biāo)的多個(gè)Agent對(duì)其目標(biāo)、資源等進(jìn)行合理安排,以協(xié)調(diào)各自行為,最大限度地實(shí)現(xiàn)各自目標(biāo)。對(duì)于無線抄表系統(tǒng)而言,通過MAS協(xié)調(diào)機(jī)制,調(diào)節(jié)每個(gè)Agent的能力,降低復(fù)雜系統(tǒng)的難度,使復(fù)雜系統(tǒng)變得易于實(shí)現(xiàn)。MAS有3種結(jié)構(gòu)形式[5-6]:純分布式結(jié)構(gòu)、黑板結(jié)構(gòu)和聯(lián)邦式結(jié)構(gòu)。筆者采用黑板結(jié)構(gòu)實(shí)現(xiàn)設(shè)計(jì)無線抄表系統(tǒng)。黑板結(jié)構(gòu)中的黑板是一個(gè)公共數(shù)據(jù)存儲(chǔ)區(qū),各個(gè)Agent通過對(duì)黑板的直接讀寫來完成數(shù)據(jù)共享。
抄表系統(tǒng)中的通信主要是末端節(jié)點(diǎn)(水表)與物業(yè)中心的通信,本文設(shè)計(jì)采用SI4432和GPRS相結(jié)合的方式實(shí)現(xiàn)通訊。本系統(tǒng)中共存在3種設(shè)備:水表、帶有SI4432的采集器、帶有SI4432和GPRS的集中器。其中采集器用來采集水表數(shù)據(jù),也是多Agent系統(tǒng)中重要的組成部分,集中器作為遠(yuǎn)程設(shè)備之間的中繼器來進(jìn)行通信,能夠用于拓展網(wǎng)絡(luò)的范圍。無線抄表系統(tǒng)拓?fù)浣Y(jié)構(gòu)如圖1所示。
圖1 無線抄表系統(tǒng)拓?fù)浣Y(jié)構(gòu)Fig.1 Topological structure of wireless meter reading system
本系統(tǒng)的網(wǎng)絡(luò)拓?fù)浞譃?層。系統(tǒng)中的每個(gè)節(jié)點(diǎn)都是一個(gè)獨(dú)立的Agent。集中器Agent與物業(yè)中心Agent之間采用GPRS通訊,集中器Agent與采集器Agent之間采用SI4432無線通訊。物業(yè)中心Agent是系統(tǒng)的核心,其知識(shí)庫(kù)中存有系統(tǒng)的全局知識(shí),它能夠接受來自表具的數(shù)據(jù),然后根據(jù)知識(shí)庫(kù)內(nèi)的知識(shí)判定數(shù)據(jù)的正誤,將正確的數(shù)據(jù)貼入黑板,以供協(xié)調(diào)時(shí)所用。集中器Agent靠集中器地址進(jìn)行識(shí)別,有自己的知識(shí)算法及數(shù)據(jù)庫(kù)。采集器Agent負(fù)責(zé)采集數(shù)據(jù),并傳送給集中器,同時(shí)對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)。抄表方式有2種:一種是定時(shí)通訊,采集器定時(shí)采集表具數(shù)據(jù),上報(bào)給物業(yè)中心;另一種是即時(shí)通訊,操作人員不定時(shí)讀取某個(gè)表具數(shù)據(jù)。
系統(tǒng)集中器上的GPRS模塊選用華為的MG323芯片,與采集器通訊使用的是SI4432無線通訊模塊,采集器與集中器采用SI4432無線模塊通訊,將Agent嵌入到系統(tǒng)的各個(gè)節(jié)點(diǎn)形成多Agent的無線抄表系統(tǒng)。
圖2為MAS數(shù)據(jù)協(xié)調(diào)機(jī)制流程圖。
圖2 MAS數(shù)據(jù)協(xié)調(diào)機(jī)制流程圖Fig.2 Data flow chart of MAS coordinateon mechanism
通信協(xié)議是通信雙方為實(shí)現(xiàn)信息交換而制定的規(guī)則,本系統(tǒng)通訊協(xié)議的設(shè)計(jì)基于188協(xié)議,無線通訊時(shí),為了防止雜波的干擾,在188協(xié)議的基礎(chǔ)上進(jìn)行了個(gè)人的定義,通信數(shù)據(jù)是成幀成包發(fā)送的,數(shù)據(jù)包格式為:前導(dǎo)碼、起始符、表具類型、同步字(采集器的地址)、控制字、數(shù)據(jù)長(zhǎng)度、數(shù)據(jù)標(biāo)識(shí)位、數(shù)據(jù)、校驗(yàn)、結(jié)束符。前導(dǎo)碼、起始符是同步的每一包數(shù)據(jù)的引導(dǎo)頭;數(shù)據(jù)標(biāo)識(shí)是系統(tǒng)的控制指令,本系統(tǒng)的控制命令有很多種,除設(shè)置類以外其他的3種比較重要分別是:抄表命令A(yù)A、錯(cuò)誤重發(fā)命令BB、系統(tǒng)協(xié)調(diào)命令CC;校驗(yàn)碼是每包數(shù)據(jù)的校驗(yàn)標(biāo)志,采用求和的校驗(yàn)方式,確保通訊正確;結(jié)束符是整個(gè)通訊包結(jié)束的標(biāo)志。這里給出即時(shí)抄表指令為:
FE FE FE FE 68 80 BB BB BB BB 03 08 AA 99 99 99 99 99 99 99 99 CS 16
其中:4個(gè)BB為采集器地址;7個(gè)99為表具地址;AA代表抄表。
本系統(tǒng)采集的數(shù)據(jù)為用戶用水量,該類數(shù)據(jù)具有一定的規(guī)律。針對(duì)這一特點(diǎn),物業(yè)中心采用遞推算法判斷新的采樣數(shù)據(jù)是否符合歷史規(guī)律;對(duì)于需要協(xié)調(diào)的數(shù)據(jù),集中器Agent采用最小二乘法進(jìn)行協(xié)調(diào),通過數(shù)據(jù)擬合,得出合理的實(shí)時(shí)數(shù)據(jù)。
遞推算法是一種通過已知條件,利用特定關(guān)系得出中間推論,直至得到結(jié)果的算法[7]。表1為某用戶4月份上半月的用水量,描點(diǎn)畫圖,繪制出隨時(shí)間累計(jì)用水量的曲線。
表1 某小區(qū)4月份的用水量表Tab.1 Water consumption of a district in April
根據(jù)采樣數(shù)據(jù),繪制用水量與時(shí)間的關(guān)系圖如圖3所示。
圖3 用水量y與時(shí)間x關(guān)系圖Fig.3 Half a month curve of water cumulative consumption
圖中,圓點(diǎn)是用戶的實(shí)際用水?dāng)?shù)據(jù),將2014-4-1的凌晨作為0,每小時(shí)加1獲得,通過線性回歸,得出實(shí)際數(shù)據(jù)的趨勢(shì)線,很明顯該用戶趨勢(shì)曲線為直線,用水基本均勻,沒有出現(xiàn)過異常數(shù)據(jù),用待定系數(shù)法求出趨勢(shì)線表達(dá)式為
此線性公式即為用水量的理想線性規(guī)律。然而用戶水量不可能嚴(yán)格符合這一線性關(guān)系,因此需要根據(jù)歷史用水量設(shè)置一個(gè)偏差,同樣運(yùn)用描點(diǎn)畫圖的方法,繪制時(shí)間與每單獨(dú)半個(gè)月用水量曲線如圖4所示。
圖4 半個(gè)月累計(jì)用水量及每天用水量與時(shí)間曲線Fig.4 Half a month cumulative water consumption and daily water consumption curve
顯然用戶半年內(nèi)拋去粗大誤差,最大偏差為0.6978,則設(shè)定用水量遞推公式為
例如在第12天的9:00采集數(shù)據(jù),即x=11×24+9代入上式中,得到181.2133<y<182.6088。而采集到的實(shí)際數(shù)據(jù)為181.657,在此范圍內(nèi),說明此數(shù)據(jù)是正確的;若一旦超出了這一范圍,則判定數(shù)據(jù)是可疑的,繼而系統(tǒng)自動(dòng)進(jìn)入重發(fā)或協(xié)調(diào)模式。
需要說明的是用戶的趨勢(shì)線及允許偏差值并不是一成不變的,物業(yè)中心的知識(shí)庫(kù)可以根據(jù)用戶的歷史數(shù)據(jù)動(dòng)態(tài)地改變用戶的趨勢(shì)線及允許偏差,例如:用戶的某次采樣數(shù)據(jù)超出了其允許偏差,但是由用戶正常用水造成(有外來居住人員),不存在表具錯(cuò)誤和數(shù)據(jù)傳輸錯(cuò)誤,這種情況下,系統(tǒng)將會(huì)更改趨勢(shì)線及允許偏差。
當(dāng)已判定某個(gè)數(shù)據(jù)為錯(cuò)誤數(shù)據(jù)時(shí),用最小二乘法對(duì)其進(jìn)行數(shù)據(jù)擬合,使得這些求得的數(shù)據(jù)與實(shí)際數(shù)據(jù)之間誤差的平方和為最小,最小二乘法的判定效果主要取決于多重可決系數(shù)R2和殘差,多重可決系數(shù)R2是趨勢(shì)線的可用度,范圍在0~1之間,越接近1相似度越高,殘差則波動(dòng)范圍越小越好[8]。本文中采取的變量是集中器Agent從黑板中讀取問題節(jié)點(diǎn)最近多少次的歷史數(shù)據(jù),最終得出n為多少時(shí)取得合理的實(shí)時(shí)數(shù)據(jù)。
由于本系統(tǒng)的數(shù)據(jù)大體上滿足線性關(guān)系,所以設(shè)定經(jīng)驗(yàn)公式為
其中:
多Agent的無線抄表系統(tǒng)末端節(jié)點(diǎn)具有的獨(dú)立存儲(chǔ)和處理數(shù)據(jù)的功能,既減輕了上位機(jī)的工作負(fù)擔(dān),也減少了系統(tǒng)的通信負(fù)載;同時(shí)在無線抄表正常工作的基礎(chǔ)上,對(duì)可疑數(shù)據(jù)進(jìn)行了分析,通過遞推算法和最小二乘法,使系統(tǒng)快速判別數(shù)據(jù)是否正確,如果錯(cuò)誤則對(duì)錯(cuò)誤數(shù)據(jù)進(jìn)行協(xié)調(diào)糾正;系統(tǒng)對(duì)數(shù)據(jù)實(shí)施的重發(fā)或協(xié)調(diào)模式,保證了系統(tǒng)數(shù)據(jù)的準(zhǔn)確性和安全性,并能實(shí)現(xiàn)對(duì)表具的預(yù)警;所采集的數(shù)據(jù)或者擬合后的數(shù)據(jù)與實(shí)時(shí)數(shù)據(jù)的偏差可以忽略不計(jì),保證了系統(tǒng)的實(shí)時(shí)性和穩(wěn)定性。
[1] 楊繼東,朱瑞龍,苗淼.基于多Agent的無線網(wǎng)絡(luò)水表抄表系統(tǒng)應(yīng)用研究[J].測(cè)控技術(shù),2014,33(1):99-103.
[2] Sun Hongbin,Yuan Shenfang.Technologyofstructuredamage monitoring based on multi-agent[J].Journal of Systems Engineering and Electronics,2010,21(4):616-622.
[3] 呂巖.基于智能Agent的無線抄表網(wǎng)絡(luò)應(yīng)用技術(shù)研究[D].沈陽:沈陽建筑大學(xué),2009.
[4] 史忠植.高級(jí)人工智能[M].北京:科學(xué)出版社,2006.
[5] 朱茵,唐禎敏,錢大琳.基于多智能體技術(shù)的交通管理系統(tǒng)的研究[J].中國(guó)公路學(xué)報(bào),2002,15(3):82-85.
[6] Huaglory T.Multi-agent autonomic architecture and its application in e-medicine[C]//Washington,DC:IEEE Computer Society,2003.
[7] 遲鐵,馬斌,張萬江,等.基于多Agent的無線抄表系統(tǒng)設(shè)計(jì)[J].現(xiàn)代建筑電氣,2010(2):18-22.
[8] 馬斌,遲鐵,戴敬,等.針對(duì)多Agent的無線網(wǎng)絡(luò)中數(shù)據(jù)協(xié)調(diào)方法研究[J].沈陽建筑大學(xué)學(xué)報(bào):自然科學(xué)版,2011,27(1):184-189.■