安 鵬,閆 偉,張 亮
1(山東師范大學 信息科學與工程學院,濟南 250358)
2(山東大學 前沿交叉科學青島研究院,青島 266237)
基于模糊推理的空調智能控制系統是利用模糊推理算法作為數學工具,用計算機來實現對空調的智能控制,其本質上是一種非線性的智能控制系統.其特點主要有:不需要建立精確的數學模型,利用模糊規則對環境溫度參數進行模糊推理以實現自動化控制;具有較強的魯棒性,對參數變化不靈敏,抗干擾能力強;基于模糊規則進行控制,用文字語言代替數學變量,更加簡單方便.基于以上優于常規控制策略的顯著特點,模糊推理在工業控制領域,家用電器自動化領域等行業中解決了傳統控制方法難以解決的控制問題.另一方面,模糊控制系統在理論和應用領域都還沒形成完整的研究體系,缺乏更深入的研究和進展,因此,對模糊推理控制系統的研究對自動控制和工業過程自動化的進一步發展都具有非常重要的意義.
基于模糊推理的空調智能控制系統首先對溫度參數進行定義,設置模糊變量、模糊術語、模糊值等,規定了在一定溫度范圍內人體感受及人體感受的程度.接下來,對該系統進行規則庫構建,該系統的規則庫主要是針對冷熱閥門的開關、通風口尺寸的大小變化以及風速變化進行建立,將外界溫度的準確數值傳遞給模糊推理系統.準確的溫度參數經過模糊化、模糊規則匹配、去模糊化等步驟,產生準確的控制指令,控制指令傳遞給空調控制器,進行相應的精確控制.
本文主要內容如下:
(1)空調智能控制概述.本部分主要介紹空調智能控制領域的相關研究,以及與本文所提出的基于模糊推理的空調智能控制系統的相關研究.
(2)相關模糊理論.本部分主要介紹模糊控制技術所需要的相關模糊理論,包括模糊變量、模糊集合、隸屬度函數、模糊集合運算等.
(3)模糊控制技術方法.本部分主要介紹模糊控制系統的主要技術步驟,包括精確參量模糊化、模糊規則庫構建、模糊推理和去模糊化4 部分組成.
(4)實驗驗證.本部分主要利用Java的FuzzyJ Tooklit 第三方工具包對基于模糊推理的空調智能控制系統進行了模擬實現,同時將實驗結果與PID 模擬實驗結果進行對比,從對比結果中可以明顯看出模糊推理在空調溫度控制領域的表現優于PID 算法.
(5)模糊控制系統實現.基于模糊推理的空調智能控制系統在本部分利用Matlab的Mamdani 模型和Java的FuzzyJ Toolkit 第三方包進行了模擬實現,并在原有模擬控制系統的基礎上對該控制系統進行可視化,利用Java 進行GUI 界面的編寫,實現系統的可視化交互.
(6)結束語.本部分主要簡要總結了全文研究內容,并提出了基于模糊推理的空調智能控制系統的不足,同時對下一步的研究工作進行了展望.
隨著社會的發展,人們生活水平提高,對空調的控制效果也提出了更高的要求.黃志遠等[1]對家用變頻空調的節能原理以及控制方法進行了介紹,其中就包括分段定點控制、PID 控制和模糊邏輯控制等智能控制方法;文丹[2]提出基于迭代優化的空調溫濕度控制算法,在保證空調送風溫度的基礎上,實現室內負荷的變更與控制系統應對外界隨機干擾的需求;于軍琪等[3]提出了一種群智能控制系統適用的并聯水泵優化算法,解決了中央空調系統中并聯水泵優化算法在群智能控制方面適應性不足的問題;王彥等[4]針對中央空調的控制提出了自適應Smith 預估補償控制方案,仿真研究表明,當參數發生變化時,該方案具有較好的控制性能.
模糊推理是基于模糊邏輯的思想發展起來的推理機制,模糊邏輯是利用語言文字來計算的邏輯.1965年,美國加利福尼亞大學教授Zadeh[5]提出“隸屬函數”概念來定量描述事物Fuzzy 性的模糊集合理論;1973年,Zadeh[6]定義了模糊控制器;1974年,英國工程師Mamdani[7]首次將模糊集合理論應用到蒸汽機控制中;1985年Kiszka 等[8]提出了模糊系統穩定性理論;1988年Dubois和Prade[9]提出了模糊近似推理.在國內,越來越多的研究者將模糊推理應用到生活的各個領域:白云飛等[10]通過模糊推理實現了對蜂群中蜂王的識別;孫博[11]利用模糊推理技術實現了雷達機動目標跟蹤,將這一技術從理論層面成功應用到軍事領域;梁娟等[12]利用自適應神經模糊推理系統和比例積分微分實現了一種機器人控制方法,實驗結果表明,該方法能很好地控制并聯機器人末端機械手的運動;袁小平等[13]利用優化的模糊PID 控制器改善了電動汽車驅動器控制系統中量化因子和比例因子自調節能力;陳果等[14]采用變論域模糊PID 控制提高了導管機器人的相應速度、定位精度與穩定性,為血管介入手術導管機器人的控制提供良好的理論依據.
在利用模糊邏輯對空調進行控制的研究中,趙巍等[15]嘗試將模糊控制與PID 控制結合,對空調冰蓄冷進行控制;朱如春[16]將神經網絡與模糊控制結合,對智能變頻空調控制系統進行了一系列研究;徐今強等[17]提出了一種魯棒自適應兩級模糊比例-積分-微分控制器,解決了變頻多聯機空調運行特性復雜的問題,實驗證明該控制方法和控制器控制溫度時可獲得優良的動靜態控制性能.但是,這些復合式空調控制系統目前技術尚未成熟,并不適合廣泛應用到工業生產中.模糊控制與傳統的PID 控制相比參數控制更精確,空調能耗更低,且易于推廣到大規模工業生產,所以基于模糊推理的空調智能控制系統更具有實用價值.
經典集合論可以很好地表達分界線明確的關系,但是自然界中有許多分界線不明確的事物關系,例如溫度的高低、產品質量的好壞等.這種界限不明確的關系不能用經典集合論來表達,所以人們引入了模糊集合論[18]的概念,通過隸屬度的方式來表達自然界中的模糊關系.
在模糊集合論中,論域Z中的元素z與論域Z上的某一集合X′的關系是模糊的,這種隸屬關系可以用如下映射來表示:

其中,X′是 模糊集合;μX′為模糊集合X′的隸屬度函數;X′(z) 表示論域Z中的元素z對模糊集合X′的隸屬度.由此可知,元素z對模糊集合X′的隸屬度可以在0–1 之間變化,而不是經典集合論中非0 即1的情況.通過使用隸屬度函數可以將一些界限模糊不確定的事物現象作定量描述,實際上,在現實生活中遇到的模糊事物現象遠多于界限明確的事物現象.
假設論域Z上有X′和Y′兩個模糊集合,對于論域上任意元素z,可以得到模糊集合的隸屬度函數表達式μX′(z)和μY′(z).模糊集合之間的運算關系包括了交、并、補3 種,用隸屬度函數定義模糊集合的3 種運算:
交運算:

并運算:

補運算:

其中,∧和∨分別表示比較后取較小值和比較后取較大值,μX′∩Y′(z)、μX′∪Y′(z)、μXˉ′(z)、μYˉ′(z)分別是交集X′∩Y′、并集X′∪Y′和補集Xˉ′、Yˉ′的隸屬度函數.
本文利用模糊控制系統對環境溫度進行處理最終生成空調控制器的控制方案,控制方案包括了冷熱閥門的開關狀態、通風口的開放尺寸以及風速大小.一個模糊控制系統由精確參量模糊化、模糊規則庫構建、模糊推理和去模糊化4 部分組成,模糊控制系統結構如圖1所示.

圖1 模糊控制系統結構框架
模糊化是將輸入的精確參數通過隸屬度函數轉換成模糊集的過程.隸屬度函數是把輸入變量對應到模糊集合中某個介于0和1 之間的值,求出隸屬度,隸屬度函數的形式常見的有三角隸屬函數、梯形隸屬函數和高斯隸屬函數.在本文提出的基于模糊推理的空調智能控制系統中對輸入的溫度數值和輸出的通風口尺寸以及風速大小均選擇了三角隸屬函數來實現模糊化.三角隸屬函數公式如下:

三角隸屬函數圖如圖2所示.

圖2 三角隸屬度函數
在空調控制系統控制冷熱空氣閥門的開關及通風口開放尺寸的過程中,包含了大量精確的溫度數據,這些溫度數據經過分析后可以被粗略定義為寒冷、涼爽、舒適、溫暖、炎熱等多種人體感覺.對于不同群體而言,不同的溫度范圍對應著不同的人體感覺,而溫度范圍又可以無限細分.于是,本文結合了大部分人的實際感受來定義溫度參數.根據調查,人的舒適感取決于人體的熱平衡.影響熱平衡的因素有很多,比如環境溫度、相對濕度、人體附近的空氣流速、人的年齡和健康狀況等,因此,舒適感是主觀與客觀多種因素綜合作用后人產生的主觀感受.同時,本文也考慮到人體健康的問題.室內外溫差太大,會使人進出時氣溫驟變,容易患病感冒,因此室內外溫差不易太大,一般在5–10 ℃為宜.
為了更直觀地表示在不同溫度下的人體感覺,本文在一定溫度范圍內設定人體感覺的程度,該程度可由0.0 到1.0 來劃分(0.0 表示一定不,1.0 表示一定),人體感覺暫分為寒冷(cold)、涼爽(cool)、舒適(OK)、溫暖(warm)和炎熱(hot) 5 種,環境溫度的隸屬度函數如圖3所示.

圖3 溫度隸屬度函數
空調通風口尺寸是模糊控制的輸出參數,與環境溫度一樣需要進行模糊化處理.假設一個空調的通風口完全打開時尺寸為長500 mm×寬300 mm,如果把空調通風口當作標準矩形來處理,那么空調通風口在變化狀態下,通風口的長度保持不變,只有通風口的寬度在變化,所以本文以通風口的寬度變化來描述通風口尺寸的變化.本文把通風口開合程度分為完全開放(all)、大部分開放(almost)、半開放(half) 3 種狀態.如表1所示.

表1 通風口尺寸定義(mm)
通風口尺寸的隸屬度函數如圖4所示.

圖4 通風口尺寸隸屬函數
空調風速是模糊控制的另一個輸出參數,同樣需要進行模糊化處理.經調查,家用空調的出風速度為1–3 m/s.本文將空調風速分為快速(fast)、中等(medium)、慢速(slow) 3 種狀態,如表2所示.

表2 空調風速定義(mm)
空調風速的隸屬度函數如圖5所示.

圖5 空調風速隸屬函數
將精確參數模糊化后要構建一組規則存放在模糊規則庫中,模糊規則采用“If A Then B”的形式,可表示為:
Ri:Ifx1(k) isAi1andx2(k) isAi2and···andxm(k) isAim,Theny(k) isBi,i=1,2,···,l,其中,Ri表示第i條 規則,l表示總規則數,Aiq,q=1,2,···,n表示系統輸入參量所在的模糊集合,Bi表示系統輸出變量所在的集合,xq(k),q=1,2,···,n為模糊控制系統的輸入變量,y(k)為模糊控制系統的輸出變量.本文提出的基于模糊推理的空調控制系統輸入參量為環境溫度數值,輸出參量為通風口尺寸及空調風速.對于冷熱閥門的開關狀態,因為該參量屬于布爾類型,即當溫度達到某個閾值時冷熱閥門只有開啟和關閉兩種狀態,所以本文針對冷熱閥門狀態參量選擇兩個三角隸屬函數,以冷閥門為例,若最終推理結果大于0.5 則認為冷閥門開啟,若推理結果小于0.5,則認為冷閥門關閉.根據以上所述,本文提出5 條模糊規則如圖6所示.

圖6 模糊規則
模糊推理主要是將模糊集根據模糊規則進行推理運算.首先將模糊化后的輸入變量按照模糊規則通過運算進行近似推理得到單規則推理結果,然后將各推理結果疊加得到最終推理結果.常見的模糊推理模型有Tsukamoto 模型、Mamdani 模型和TSK 模型,本文利用Mamdani 模型對空調控制系統進行模糊推理,將在第5.1 節中詳細闡述.推理規則的運算選擇與模糊算子的確定有一定的聯系,目前世界上多數使用最大最小法和最大乘積法等算法[19],模糊推理規則表達式形式如下:

其中,ωij(j=1,2,···,n)表示人體感受的程度即模糊權重,0≤ωij≤1;0≤λ≤1表示規則激活的閾值;m表示規則庫中的規則數目.當規則滿足所有條件的綜合相似度大于等于閾值時,可以推斷出結論Z.以一個輸入變量,兩條規則為例,假設模糊規則庫中保存的兩條規則如下:

輸入變量模糊化后得到A1、A2兩組隸屬值,對其進行min 運算得到激活權值 ω1、ω2,激活權值在輸出變量隸屬度函數上激活的部分就是單規則推理結果C1、C2,對兩個單規則推理結果進行max 運算得到最終模糊推理綜合結果C.
去模糊化是將模糊推理結果通過運算得到精確輸出結果的過程.去模糊化的方法主要有重心法、面積中心法、均值最大法等,本文提出的控制系統采用重心法來對模糊推理結果進行去模糊化,重心法公式如下:

y′表示去模糊化后的精確值.當推理結果的模糊集通過取面積中心得到最終的推理精確值,對于本系統最終獲得通風口的精確開放尺寸.
本部分主要利用Java的FuzzyJ Toolkit 第三方工具包[20]對基于模糊推理的空調智能控制系統進行了模擬實現,該工具包是在Jess 專家系統的基礎上,將Java 代碼和Jess 專家系統融合到一起的模糊推理工具,利用前向規則快速匹配Rete 算法,推理效率高.首先,本文規定溫度輸入的范圍為–10 ℃到40 ℃,這是根據我國空調使用率高的地區的年溫度范圍而制定的,符合大多數人對環境溫度的要求.其次,將不同環境溫度下人體感受分為cold、OK、hot 三類,將通風口尺寸分為all、almost、half 三類,將空調風速分為fast、medium、slow 三類,使用三角隸屬度函數公式將精確的溫度參數模糊化.然后,利用If…Then 原則構建相應的模糊規則庫,部分模糊規則庫示例如表3所示.

表3 空調控制系統部分模糊規則庫
最后,將輸入的環境溫度與建立的模糊規則庫進行匹配得到模糊集合,模糊集合經過去模糊化得到精確的空調控制指令.本系統將模糊推理結果利用窗口界面進行了輸出,部分輸出結果如表4所示.

表4 部分輸出結果
通過輸出結果可以直觀地看到,基于模糊推理的空調智能控制系統在輸入溫度參數從零下10 ℃到40 ℃的過程中,冷空氣閥門先關閉后開啟,熱空氣閥門先開啟后關閉,通風口尺寸經歷了由大到小再變大的過程,空調風速經歷了由快變慢再變快的過程.注意到本系統設置通風口尺寸最小為100 cm2,這是因為在現實生活中通風口完全關閉則空調將停止運行,在某一溫度下用戶只需要冷熱閥門同時關閉但并不希望空調完全關閉,而且通風口由關閉到打開的過程會增加空調控制器的控制時間,造成控制不精確和能源消耗大的問題,因此本系統不設置空調通風口完全關閉的情況.另外,由輸出結果可以看到,冷熱閥門的開啟和關閉情況屬于布爾類型,也就是說冷熱閥門只有開啟和關閉兩種狀態,從這一點無法體現出模糊推理控制系統的精確度.但是,在通風口尺寸一列,溫度每發生變化,通風口尺寸就會相應地發生變化,這些變化幅度不大而且每一條控制指令的通風口尺寸都精確到小數點7 位以后(溫度為20 ℃時除外),這就體現出該系統對溫度參數精確的調節.
同時,考慮到不同個體對溫度的感官差異大,只是依賴通風口尺寸的控制顯然不夠嚴謹,因此我們在系統中引入空調風速這一輸出參量.當環境溫度低,讓人體感受到寒冷,空調的通風口尺寸變大的同時空調風速會加快.而環境溫度使人感覺舒適時,空調通風口尺寸變小同時空調風速會減慢.從輸出結果中可看出,空調風速的變化精確到小數點后兩位,同時隨環境溫度的改變空調風速的變化幅度相對平穩,空調通風口尺寸與空調風速的結合,可以成功解決傳統空調控制算法參數調節困難,調節效果差以及非線性、滯后性、突變性等問題,很好地改善空調控制效果.
4.2.1 PID 算法介紹
PID 算法是集比例(proportion)、積分(integral)、微分(differential) 3 部分于一體的控制算法,PID 控制的實質就是根據輸入的偏差值,按照比例、積分、微分的函數關系進行運算,運算結果用以控制輸出[21].PID 控制分為位置型控制算法和增量型控制算法,其中位置型控制算法公式為:

增量型控制算法公式為:

其中,Kp為比例系數,Ki為積分系數,Kd為微分系數.PID 控制原理圖如圖7所示.

圖7 PID 控制流程
4.2.2 模糊控制與PID 控制比較
本部分將PID 算法在對空調通風口的控制這一角度進行了簡單實現并與模糊控制算法進行對比.設定參數Kp=0.01,Ki=0.1,Kd=0.05 (參數的確定是作者通過多次參數調整對控制結果進行比較而得).因為本系統需要的控制量是增量而不是位置量的絕對值,所以采用增量式PID 控制算法.在系統運行過程中為其添加了高斯噪聲,表示系統在運行過程中的不穩定過程.設置溫度范圍為[0,40],通風口尺寸最大值為300.得到運行結果如圖8所示.

圖8 PID 控制輸出結果
據圖8可發現,當溫度從0 ℃增加到40 ℃,PID控制的通風口尺寸由小迅速變大再減小,最后逐漸穩定到200 cm2,這說明PID 控制在前期溫度發生小幅度改變時通風口尺寸變化幅度過大,而到后期溫度上升幅度較大時通風口尺寸的變化幅度幾乎忽略不計.將PID 控制結果與本文實現的模糊控制結果進行對比,為了更直觀地觀察到兩種控制算法在0–40 ℃對通風口尺寸的控制變化,本文將兩組數據制成折線圖,如圖9所示.
由圖9不難發現,PID 算法在0–40 ℃變化過程中對通風口尺寸的控制是先在短時間內迅速將通風口開放至某一尺寸,然后在該尺寸上來回波動,但波動幅度很小.環境溫度在0–40 ℃的過程中,人體感受大約會經歷寒冷、涼爽、舒適、溫暖、炎熱5 個階段,PID算法所控制的通風口尺寸在5 ℃左右達到最大值,突變性會迅速改變環境溫度,給人體感官造成不適.隨著溫度升高,通風口尺寸幾乎未發生變化,空調只是機械地感應環境溫度,通過出冷熱風來使環境溫度符合設定的溫度.在這個過程中,空調控制系統并不關心人體感受,所以PID 控制算法對空調的控制與人體感受無實質關聯.

圖9 PID 與模糊推理對比
模糊推理算法則是感知環境溫度后,將環境溫度參數模糊化為人體感受,比如寒冷、舒適、炎熱等,依據已建立的模糊規則庫,來調節通風口尺寸.要注意的是,模糊推理算法持續感知環境溫度,并不斷重復模糊化、模糊推理、去模糊化的步驟,使空調通風口尺寸一直處于動態變化的過程中,如此,模糊控制的空調控制系統會將環境溫度適中控制在使人體感覺為舒適的程度.
除了通風口尺寸外,本文還引入了空調風速作為另一個輸出參量,在本部分實驗驗證中并未涉及該參量,僅用通風口尺寸這一輸出參量對PID 算法和模糊推理算法進行了簡單對比.通過對比可得,模糊推理算法在對空調控制上可以解決PID 控制參數調節不精確,控制效果不佳,大滯后性等問題,控制效果明顯優于PID 算法.
本文利用Matlab的模糊邏輯工具箱[22]對空調控制系統進行了模糊推理過程的實現.首先,定義環境溫度數值為輸入變量,冷閥門開關、熱閥門開關及通風口尺寸為輸出變量,設定環境溫度的論域范圍為[?10,40],冷熱閥門的論域范圍為[0,1],通風口尺寸論域范圍為[100,200],空調風速的論域范圍為[1,3].這里需要說明的是,因為冷熱閥門只有開啟和關閉兩種狀態,所以當推理結果大于0.5 時即認為此閥門開啟,小于0.5 認為閥門關閉.接下來為輸入輸出變量添加隸屬度函數,本系統為輸入變量即環境溫度添加5 個三角隸屬函數,分別對應cold、cool、ok、warm、hot 五個語言變量;為冷熱閥門分別添加2 個三角隸屬函數,分別對應off、on;為通風口尺寸添加3 個三角隸屬函數,分別對應half、almost、all;為空調風速添加3 個三角隸屬函數,分別對應fast、medium、slow.下一步對設置好的模糊變量進行規則庫的建立,本文建立了5 條規則如圖10所示.

圖10 模糊規則庫
最后選擇重心法進行去模糊化,得到推理結果如圖11所示.

圖11 模糊推理結果
從圖11可以觀察出,當環境溫度為0 ℃時,冷閥門推理結果為0.33,認為冷閥門處于關閉狀態,;熱閥門推理結果為0.67,認為熱閥門處于開啟狀態;通風口尺寸推理結果為151,屬于大部分開放狀態;空調風速為2.05,屬于中速狀態.在Input 欄內輸入準確溫度即可得到對應的推理結果.
基于模糊推理的空調智能控制系統已利用Matlab的Mamdani 模型和Java的FuzzyJ Toolkit 第三方包進行了模擬實現,具體內容已在第5.1 節和第4 節中詳細闡述.本章將在原有模擬控制系統的基礎上對該控制系統進行可視化,利用Java 進行GUI 界面的編寫,實現系統的可視化交互.本章分為用戶管理、溫度輸入、溫度監測3 部分.
5.2.1 用戶管理
本系統與MySQL 數據庫相連接,對登錄系統的用戶進行管理.用戶名和密碼均由管理員設置并發送給用戶,用戶在登錄界面輸入正確的用戶名和密碼進入系統主界面.
5.2.2 溫度輸入
溫度輸入功能是本系統的核心功能,主要操作流程為:
1)點擊“溫度輸入”按鈕,進入溫度輸入界面.
2)在溫度輸入框內輸入[?10,50]區間內的溫度數值,點擊“開始計算”按鈕,即可得到對應的控制方案.
3)點擊再次計算按鈕回到溫度輸入界面繼續輸入溫度,點擊“關閉頁面”按鈕即可關閉當前頁面.
本模塊通過輸入某一范圍內的溫度數值,可以得到該溫度下空調冷熱閥門狀態,通風口的精確尺寸及空調風速.
5.2.3 溫度監測
溫度監測功能的目的是記錄某天溫度的變化及系統對空調控制器控制方案的變化,用戶輸入目標日期后點擊“溫度數據”或“控制器響應數據”即可分別通過折線圖和導出csv 文件的方式獲得該日的溫度或控制器數據信息.溫度監測功能的主要作用是為了幫助管理員隨時獲取某日的溫度及控制器數據信息,檢查系統是否出現問題以便及時維修.
目前,空調成為家居工作必不可少的一部分,傳統的PID 控制算法存在參數調節不精準,突變性等問題,而使用模糊推理算法對空調進行控制則可以很好地解決PID 算法的缺點,并且模糊推理算法更加智能化,更符合當代人的需要,為此,本文提出了一種基于模糊推理的空調智能控制機制,與傳統控制算法進行實驗對比后,得出模糊控制效果明顯優于傳統控制算法.
目前,有很多研究提出復合式控制算法,這些算法經仿真實驗驗證的確對空調控制性能有較好的改善.但是這些復合式算法無論從成本還是技術成熟性角度都不適合進行大規模工業生產.而模糊推理算法技術已相對成熟,對空調的控制效果明顯優于傳統的PID算法的控制效果,適合進行大規模工業空調的生產,所以這必將成為空調控制領域的一個熱點研究.
基于模糊推理的空調智能控制系統尚有幾點不足之處:
1)對溫度參數進行定義時,不同年齡、不同地域、不同生活習慣的人群對溫度帶來的人體感覺不同.
2)本文實現的模擬控制系統的模糊規則庫內的規則簡單化,不符合自然界復雜多變的環境變化.
針對以上問題,提出改進方法:
1)按照年齡、地域等類別收集更多的人群信息,將溫度參數定義盡可能詳細化,同時可讓用戶自主選擇此時的身體感受,通過空調遙控裝置向控制系統發送信號,使控制效果更加理想.
2)不斷豐富和更新規則庫內的規則,適應自然界復雜多變的環境變化,使空調能更精確地控制環境溫度.
下一步的研究將重點關注模糊推理與其他機器學習算法相結合,并將其應用到空調智能控制領域,力求提高空調控制的精準性、有效減少空調控制能耗.