1 引言
智能家居(Smart Home)的概念最早出現(xiàn)于美國(guó),它利用先進(jìn)的計(jì)算機(jī)技術(shù)、嵌入式技術(shù)、網(wǎng)絡(luò)通訊技術(shù)、綜合布線技術(shù)、將與家居生活有關(guān)的各種子系統(tǒng),有機(jī)地結(jié)合在一起。隨著科學(xué)技術(shù)的發(fā)展,智能家居的智能化、人性化一直是人們追求的目標(biāo),在此基礎(chǔ)上,本文提出了“AI-IA”的設(shè)想,將人工智能領(lǐng)域中專家系統(tǒng)控制方法應(yīng)用于智能家居控制軟件的構(gòu)建中,并給出了合理的設(shè)計(jì)方案。
2 關(guān)于智能家居的研究
2.1智能家居未來發(fā)展方向
智能家居是在信息技術(shù)的發(fā)展和人類對(duì)居住環(huán)境的要求不斷提高的基礎(chǔ)上產(chǎn)生的,由Home Automation Association(HAA,家庭自動(dòng)化協(xié)會(huì))所定義的智能家居是:一個(gè)使用不同的方法或設(shè)備的過程,以此來提高人們生活的能力,使家庭變得更舒適、安全和有效。科技以人為本,智能家居向著智能化、人性化的方向逐步發(fā)展,它可以在沒有或很少有人干預(yù)的情況下,對(duì)室內(nèi)或室外可能發(fā)生的事情按預(yù)先設(shè)定的內(nèi)容做出反應(yīng)。如今,家電自動(dòng)化的條件已經(jīng)具備,如:電飯煲可定時(shí)煮飯煲湯,空調(diào)可以定時(shí)開關(guān),但家居智能化還剛剛起步。
2.2 AI-IA構(gòu)想
目前的智能家居均實(shí)現(xiàn)了三表抄送、家庭安全監(jiān)控等功能,家電的自動(dòng)化較以前有了很大的提高,但家電之間沒有太大聯(lián)系,僅僅是單一的“機(jī)械式”模式。信息家電之間若不能相互識(shí)別、相互通信、相互協(xié)作,那它所提供的功能是十分有限的,既不能實(shí)現(xiàn)服務(wù)的相互調(diào)用,更不能根據(jù)主人的生活習(xí)慣自我調(diào)節(jié),只能按照事先設(shè)定好的模式周而復(fù)始的獨(dú)立運(yùn)行。為了適應(yīng)智能家居的發(fā)展,本文設(shè)計(jì)了一個(gè)類似“人腦”一樣的控制器軟件,它存儲(chǔ)了主人大量生活習(xí)慣的規(guī)則,在外界環(huán)境發(fā)生變化時(shí)調(diào)用、觸發(fā)相關(guān)設(shè)備,這個(gè)過程可簡(jiǎn)單描述為:記錄、識(shí)別、控制、響應(yīng)、反饋等。
AI-IA(Artificial Intelligence-Information Appliance)是人工智能與信息家電的融合,它將人工智能領(lǐng)域中的專家系統(tǒng)引入智能家居,實(shí)現(xiàn)了信息家電之間的智能協(xié)作。信息家電智能協(xié)作模型可簡(jiǎn)單描述為:人們根據(jù)自己的意愿將家電所能產(chǎn)生的事件按照因果關(guān)系組織起來,當(dāng)某一事件產(chǎn)生時(shí),系統(tǒng)會(huì)按照預(yù)先設(shè)定的信息自動(dòng)觸發(fā)其它設(shè)備,使之產(chǎn)生相關(guān)的事件,哪些設(shè)備參與協(xié)作以及什么時(shí)候參與協(xié)作,都是按照用戶事先設(shè)定的規(guī)則完成的。
2.3 家庭網(wǎng)關(guān)軟件體系結(jié)構(gòu)
家庭網(wǎng)關(guān)的設(shè)計(jì)采用模塊化分層的體系結(jié)構(gòu),每層軟件各司其職,并通過接口函數(shù)的調(diào)用來實(shí)現(xiàn)各層之間的功能交互。整個(gè)軟件系統(tǒng)具有良好的可操作性和可移植性,自上而下分為應(yīng)用程序?qū)印⒕W(wǎng)絡(luò)協(xié)議層、操作系統(tǒng)層、硬件驅(qū)動(dòng)層。AI-IA智能控制模塊是家庭網(wǎng)關(guān)的一部分,實(shí)現(xiàn)規(guī)則的采集、設(shè)備的監(jiān)控、智能推理、智能控制等功能,在linux操作系統(tǒng)下用C語(yǔ)言編寫,通過應(yīng)用程序接口供其它功能模塊調(diào)用。家庭網(wǎng)關(guān)體系結(jié)構(gòu)如圖1所示。
圖1 家庭網(wǎng)關(guān)體系結(jié)構(gòu)圖
3 AI-IA智能控制模塊的設(shè)計(jì)
AI-IA智能控制模塊實(shí)質(zhì)上是一個(gè)在家庭網(wǎng)關(guān)中起到協(xié)作功能的專家系統(tǒng),其目的是監(jiān)控設(shè)備所發(fā)生的各種事件,用戶事先設(shè)定的某條規(guī)則一旦得以滿足,便會(huì)驅(qū)動(dòng)其它設(shè)備引發(fā)相應(yīng)事件。此系統(tǒng)的設(shè)計(jì)模擬了生物的“刺激-反應(yīng)”機(jī)制,位于智能家居中的信息家電除了聯(lián)網(wǎng)和實(shí)時(shí)通信外,還能夠根據(jù)主人的意愿,對(duì)外界的信息做出恰當(dāng)?shù)姆从常瑯O大程度地增強(qiáng)了信息家電的實(shí)時(shí)、智能性能。USB2.0
3.1 AI-IA智能控制模塊體系結(jié)構(gòu)
在家庭網(wǎng)關(guān)中添加的AI-IA智能控制模塊,是實(shí)現(xiàn)信息家電智能協(xié)作的關(guān)鍵,其核心思想就是將專家系統(tǒng)引入控制領(lǐng)域。其整體結(jié)構(gòu)如圖2所示。
(1)服務(wù)的注冊(cè)
服務(wù)是設(shè)備所能提供某種功能的抽象,而設(shè)備所達(dá)到的某種狀態(tài)即可構(gòu)成一個(gè)事件,設(shè)備所提供的服務(wù)只有在完成注冊(cè)后,用戶才能對(duì)這些事件進(jìn)行處理。服務(wù)的注冊(cè)就是把設(shè)備所具有的功能在家庭網(wǎng)關(guān)上進(jìn)行登記,以便其它設(shè)備需要某種服務(wù)時(shí),可以通過網(wǎng)關(guān)查詢,并按照指定的接口調(diào)用服務(wù)。由于用戶使用的各種電器可能來自于不同的廠商,因此必須有一種能夠描述設(shè)備的屬性、服務(wù)等信息的描述語(yǔ)言來解決設(shè)備間的異構(gòu)性。在此引入了Information Appliance Interface Definition Language(IAIDL, 信息家電接口定義語(yǔ)言),它是一種用來定義信息家電的說明性語(yǔ)言,只描述設(shè)備的資源信息,不直接用于編寫可執(zhí)行程序。IAIDL文件記錄了設(shè)備的可用信息,通過編譯該文件將這些信息提取出來,以數(shù)據(jù)的形式存儲(chǔ)到嵌入式數(shù)據(jù)庫(kù)SQLite中,完成家電設(shè)備的注冊(cè)。IAIDL的引入實(shí)現(xiàn)了設(shè)備的互通、互聯(lián),成功地解決了信息家電“即插即用”問題。
圖2 基于專家系統(tǒng)的AI-IA智能控制模塊圖
(2)知識(shí)庫(kù)的形成
知識(shí)庫(kù)是專家系統(tǒng)重要組成部分。用戶通過Graphical User Interface (GUI,圖形用戶接口)查看設(shè)備在數(shù)據(jù)庫(kù)中的注冊(cè)信息,將設(shè)備提供的事件以產(chǎn)生式規(guī)則的形式聯(lián)系起來,以此形成知識(shí)庫(kù)。系統(tǒng)的GUI具有多樣性,可以是遙控器、PDA、web網(wǎng)頁(yè)或其它方便用戶使用的方式。知識(shí)庫(kù)及知識(shí)的表達(dá)是建立專家系統(tǒng)的關(guān)鍵,它們的形式、內(nèi)容、組織方式直接影響到專家系統(tǒng)描述問題特性的能力,同時(shí)也會(huì)影響到推理機(jī)制、解釋機(jī)制等其它部分的結(jié)構(gòu)和實(shí)現(xiàn)方法。
(3)推理機(jī)的應(yīng)用
推理機(jī)負(fù)責(zé)控制并執(zhí)行問題的求解,它從已有的事實(shí)出發(fā),根據(jù)知識(shí)庫(kù)中給定的規(guī)則推導(dǎo)出最終結(jié)論。例如,IF THEN,這一規(guī)則按照特定的形式存儲(chǔ)于知識(shí)庫(kù)中。當(dāng)傳感器檢測(cè)到門已經(jīng)打開,以及室內(nèi)光線低于設(shè)定值時(shí),推理機(jī)即可識(shí)別這兩個(gè)事件與知識(shí)庫(kù)中用戶事先設(shè)定的某條規(guī)則相匹配,從而按照指定的接口調(diào)用開燈這一服務(wù)。
3.2 知識(shí)庫(kù)的設(shè)計(jì)
用戶通過友好的人機(jī)界面將大量規(guī)則存儲(chǔ)于知識(shí)庫(kù)中,例如,主人回家開門時(shí),客廳里的電燈會(huì)因室內(nèi)的光線過暗自動(dòng)打開;主人外出關(guān)門時(shí),室內(nèi)的監(jiān)控系統(tǒng)會(huì)因家中無人而自動(dòng)開啟。電燈的打開這個(gè)操作會(huì)與門打開、室內(nèi)亮度過低這兩個(gè)事件聯(lián)系在一起,我們用產(chǎn)生式規(guī)則來表示描述這條知識(shí):
IF《 門打開,室內(nèi)光線過暗》 THEN《 燈亮 》
產(chǎn)生式描述了事物之間的一種對(duì)應(yīng)關(guān)系(包括因果關(guān)系和蘊(yùn)含關(guān)系),這種基于規(guī)則的符號(hào)化模型特別適于反應(yīng)人們對(duì)家電設(shè)備的調(diào)度,由一臺(tái)設(shè)備的某一事件或狀態(tài)作為條件,引發(fā)對(duì)另一設(shè)備的使用。此系統(tǒng)中的知識(shí)庫(kù)實(shí)際上是一個(gè)能夠表達(dá)用戶主觀意愿的產(chǎn)生式規(guī)則庫(kù),在系統(tǒng)中以動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)進(jìn)行組織。
知識(shí)的表示是描述客觀事物的一組規(guī)定,是知識(shí)的符號(hào)化過程。規(guī)則主要包含規(guī)則的前提和規(guī)則結(jié)論部分,前提部分說明規(guī)則可以被引用的條件,而結(jié)論部分則說明當(dāng)前提成立時(shí)可進(jìn)行的操作或引起的領(lǐng)域行為。根據(jù)需要,一條規(guī)則可以有多個(gè)前提和多個(gè)結(jié)論。在具體用C語(yǔ)言實(shí)現(xiàn)時(shí),直接以IFTHEN語(yǔ)句形式編程是行不通的,為了實(shí)現(xiàn)事件的驅(qū)動(dòng),必須利用C語(yǔ)言強(qiáng)有力的字符串處理能力將抽象的符號(hào)變成一個(gè)個(gè)表單元。根據(jù)實(shí)際情況我們可以將智能家居監(jiān)控下的設(shè)備看成一個(gè)對(duì)象,C語(yǔ)言定義為:
struct object{
char *name; /*設(shè)備的名稱*/
float val; /*設(shè)備的特性值*/
enum events {high,middle,low,open,close};USB2.0
/*事件類型的抽象*/
};
這些對(duì)象通過規(guī)則聯(lián)系起來,每定義一條規(guī)則,都要把它們存放到規(guī)則庫(kù)Rule_Base中,以方便推理機(jī)獲取有用的規(guī)則。在規(guī)則表達(dá)中,通過rule()函數(shù)把規(guī)則的外部語(yǔ)言形式轉(zhuǎn)換成內(nèi)部的特性表的形式,它的Clause和Action特性分別存放了該規(guī)則的前提和結(jié)論。推理時(shí)若要用到某條規(guī)則rule_X(X=1,2.。.n),就直接從它的特性表中取出相應(yīng)的前提和結(jié)論,Clause和Action可以是一個(gè)函數(shù)調(diào)用、常量或變量,每條規(guī)則的特性表組織成如下形式:
(Clause(條件1 條件2…)Action (結(jié)論1 結(jié)論2…))
3.3 推理機(jī)的設(shè)計(jì)
推理機(jī)設(shè)計(jì)采用事件驅(qū)動(dòng)正向推理方式,其基本思想是:推理機(jī)通過網(wǎng)關(guān)管理模塊讀取信息家電的當(dāng)前狀態(tài),從中獲取由設(shè)備產(chǎn)生的事件,這些事件構(gòu)成了基本事實(shí);從基本事實(shí)出發(fā)引用規(guī)則庫(kù)中的規(guī)則,若某些規(guī)則的前提被滿足,則執(zhí)行這些規(guī)則的結(jié)論,若這些規(guī)則的結(jié)論部分形成新的事件,則用同樣的方法以這些邏輯結(jié)果為基礎(chǔ)再次進(jìn)行正向推理。推理過程中的沖突消解采用最先匹配策略,將所有符合當(dāng)前求解條件的知識(shí)放在一張表中,在問題求解過程中一旦找到匹配的規(guī)則即采用該規(guī)則。
事件驅(qū)動(dòng)是數(shù)據(jù)驅(qū)動(dòng)的發(fā)展形式,所謂事件驅(qū)動(dòng)是指當(dāng)事件集合中所有的事件都已發(fā)生,才能引發(fā)另一種操作。在產(chǎn)生式規(guī)則中,IF后面的條件便可當(dāng)作一個(gè)事件集合,當(dāng)用戶所設(shè)定的條件都滿足時(shí),即可得出THEN后的結(jié)論或觸發(fā)相應(yīng)的操作,本系統(tǒng)通過Event_driven()函數(shù)實(shí)現(xiàn)了基于事件驅(qū)動(dòng)的正向推理。
Event_driven()算法:
Kbase-Load() /*知識(shí)庫(kù)的裝載*/USB2.0
for(所有的事實(shí)fact)
{
event=fact中的事件;
for(所有在rulebase中的規(guī)則rule)
{
rule_event=出現(xiàn)在規(guī)則rule中的所有事件;
if(rule_event至少有一個(gè)變量沒有值)
continue; /*取規(guī)則庫(kù)中的下一條規(guī)則*/USB2.0
else
{
for(規(guī)則rule中每一前提clause)
match(clause);/*匹配clause中的條件*/
if(match(clause))
{
do(action); /*執(zhí)行規(guī)則rule中所有action結(jié)論*/
value(action); /*用value保存每一個(gè)操作結(jié)果*/
if(rule(action))/* action產(chǎn)生的事件構(gòu)成一個(gè)新的事實(shí)*/USB2.0
Add_Kbase(action) /*將產(chǎn)生的事件加入到知識(shí)庫(kù)中*/
}
}
}
}
4 結(jié)束語(yǔ)
從智能家居未來發(fā)展方向出發(fā),分析了利用專家系統(tǒng)構(gòu)建AI-IA智能控制模塊的必要性和合理性,建立了智能協(xié)作模型,并給出了設(shè)計(jì)專家系統(tǒng)的具體方法,為智能軟件的優(yōu)化以及在嵌入式開發(fā)板上的移植奠定了基礎(chǔ)。
-
自動(dòng)化
+關(guān)注
關(guān)注
29文章
5620瀏覽量
79548 -
智能家居
+關(guān)注
關(guān)注
1929文章
9606瀏覽量
186145 -
人工智能
+關(guān)注
關(guān)注
1796文章
47642瀏覽量
239813
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論