利用專家系統(tǒng)構建智能家居的研究與設計
1 引言
智能家居(Smart Home)的概念最早出現(xiàn)于美國,它利用先進的計算機技術、嵌入式技術、網(wǎng)絡通訊技術、綜合布線技術、將與家居生活有關的各種子系統(tǒng),有機地結合在一起。隨著科學技術的發(fā)展,智能家居的智能化、人性化一直是人們追求的目標,在此基礎上,本文提出了“AI-IA”的設想,將人工智能領域中專家系統(tǒng)控制方法應用于智能家居控制軟件的構建中,并給出了合理的設計方案。
2 關于智能家居的研究
2.1智能家居未來發(fā)展方向
智能家居是在信息技術的發(fā)展和人類對居住環(huán)境的要求不斷提高的基礎上產(chǎn)生的,由Home Automation Association(HAA,家庭自動化協(xié)會)所定義的智能家居是:一個使用不同的方法或設備的過程,以此來提高人們生活的能力,使家庭變得更舒適、安全和有效??萍家匀藶楸荆悄芗揖酉蛑悄芑?、人性化的方向逐步發(fā)展,它可以在沒有或很少有人干預的情況下,對室內(nèi)或室外可能發(fā)生的事情按預先設定的內(nèi)容做出反應。如今,家電自動化的條件已經(jīng)具備,如:電飯煲可定時煮飯煲湯,空調(diào)可以定時開關,但家居智能化還剛剛起步。
2.2 AI-IA構想
目前的智能家居均實現(xiàn)了三表抄送、家庭安全監(jiān)控等功能,家電的自動化較以前有了很大的提高,但家電之間沒有太大聯(lián)系,僅僅是單一的“機械式”模式。信息家電之間若不能相互識別、相互通信、相互協(xié)作,那它所提供的功能是十分有限的,既不能實現(xiàn)服務的相互調(diào)用,更不能根據(jù)主人的生活習慣自我調(diào)節(jié),只能按照事先設定好的模式周而復始的獨立運行。為了適應智能家居的發(fā)展,本文設計了一個類似“人腦”一樣的控制器軟件,它存儲了主人大量生活習慣的規(guī)則,在外界環(huán)境發(fā)生變化時調(diào)用、觸發(fā)相關設備,這個過程可簡單描述為:記錄、識別、控制、響應、反饋等。
AI-IA(Artificial Intelligence-Information Appliance)是人工智能與信息家電的融合,它將人工智能領域中的專家系統(tǒng)引入智能家居,實現(xiàn)了信息家電之間的智能協(xié)作。信息家電智能協(xié)作模型可簡單描述為:人們根據(jù)自己的意愿將家電所能產(chǎn)生的事件按照因果關系組織起來,當某一事件產(chǎn)生時,系統(tǒng)會按照預先設定的信息自動觸發(fā)其它設備,使之產(chǎn)生相關的事件,哪些設備參與協(xié)作以及什么時候參與協(xié)作,都是按照用戶事先設定的規(guī)則完成的。
2.3 家庭網(wǎng)關軟件體系結構
家庭網(wǎng)關的設計采用模塊化分層的體系結構,每層軟件各司其職,并通過接口函數(shù)的調(diào)用來實現(xiàn)各層之間的功能交互。整個軟件系統(tǒng)具有良好的可操作性和可移植性,自上而下分為應用程序?qū)?、網(wǎng)絡協(xié)議層、操作系統(tǒng)層、硬件驅(qū)動層。AI-IA智能控制模塊是家庭網(wǎng)關的一部分,實現(xiàn)規(guī)則的采集、設備的監(jiān)控、智能推理、智能控制等功能,在linux操作系統(tǒng)下用C語言編寫,通過應用程序接口供其它功能模塊調(diào)用。家庭網(wǎng)關體系結構如圖1所示。
圖1 家庭網(wǎng)關體系結構圖
3 AI-IA智能控制模塊的設計
AI-IA智能控制模塊實質(zhì)上是一個在家庭網(wǎng)關中起到協(xié)作功能的專家系統(tǒng),其目的是監(jiān)控設備所發(fā)生的各種事件,用戶事先設定的某條規(guī)則一旦得以滿足,便會驅(qū)動其它設備引發(fā)相應事件。此系統(tǒng)的設計模擬了生物的“刺激-反應”機制,位于智能家居中的信息家電除了聯(lián)網(wǎng)和實時通信外,還能夠根據(jù)主人的意愿,對外界的信息做出恰當?shù)姆从?,極大程度地增強了信息家電的實時、智能性能。USB2.0
3.1 AI-IA智能控制模塊體系結構
在家庭網(wǎng)關中添加的AI-IA智能控制模塊,是實現(xiàn)信息家電智能協(xié)作的關鍵,其核心思想就是將專家系統(tǒng)引入控制領域。其整體結構如圖2所示。
(1)服務的注冊
服務是設備所能提供某種功能的抽象,而設備所達到的某種狀態(tài)即可構成一個事件,設備所提供的服務只有在完成注冊后,用戶才能對這些事件進行處理。服務的注冊就是把設備所具有的功能在家庭網(wǎng)關上進行登記,以便其它設備需要某種服務時,可以通過網(wǎng)關查詢,并按照指定的接口調(diào)用服務。由于用戶使用的各種電器可能來自于不同的廠商,因此必須有一種能夠描述設備的屬性、服務等信息的描述語言來解決設備間的異構性。在此引入了Information Appliance Interface Definition Language(IAIDL, 信息家電接口定義語言),它是一種用來定義信息家電的說明性語言,只描述設備的資源信息,不直接用于編寫可執(zhí)行程序。IAIDL文件記錄了設備的可用信息,通過編譯該文件將這些信息提取出來,以數(shù)據(jù)的形式存儲到嵌入式數(shù)據(jù)庫SQLite中,完成家電設備的注冊。IAIDL的引入實現(xiàn)了設備的互通、互聯(lián),成功地解決了信息家電“即插即用”問題。
圖2 基于專家系統(tǒng)的AI-IA智能控制模塊圖
(2)知識庫的形成
知識庫是專家系統(tǒng)重要組成部分。用戶通過Graphical User Interface (GUI,圖形用戶接口)查看設備在數(shù)據(jù)庫中的注冊信息,將設備提供的事件以產(chǎn)生式規(guī)則的形式聯(lián)系起來,以此形成知識庫。系統(tǒng)的GUI具有多樣性,可以是遙控器、PDA、web網(wǎng)頁或其它方便用戶使用的方式。知識庫及知識的表達是建立專家系統(tǒng)的關鍵,它們的形式、內(nèi)容、組織方式直接影響到專家系統(tǒng)描述問題特性的能力,同時也會影響到推理機制、解釋機制等其它部分的結構和實現(xiàn)方法。
評論