摘要
隨著現代社會經濟環境結構的關係,很多家庭為雙薪家庭,導致家中經常無人在家,因此遭到有心人士闖入屋內的機會大增。同時,當屋主下班回到家後,經常疲憊且已無多餘精力照顧家中瑣事。因此,我們設計了居家防盜與服務系統解決上述問題。當小偷入侵時,系統會判定並立即傳送簡訊告知屋主家中遭可疑人士入侵;而屋主可隨時透過手機監看家中的動態,並且將影像儲存於電腦中,提供追查宵小影像資料,而屋內的警報器也會隨之作響,來達到監視嚇阻的作用。而當屋主在家中時,可利用特定的手勢,來調整電器功率的大小、開啟、關閉等等。另外隨著現今環保意識逐漸抬頭,節約用電的觀念也是目前生活上的重要議題,故我們也設計了節能功能,當屋主離開房間經過一定時間後,系統便自動關閉家中所開啟之電器,來達到節能的效果。而在整個系統的設計上,以HT66F50作為系統主控晶片,並且結合Kinect,首先我們提出創新的結構,來改善Kinect無法左右移動的缺點,有效擴展其應用,進一步來完成此居家防盜與服務系統,使屋主出門在外可隨時注意家中安全,進屋後可藉由Kinect來控制家電,並能達到節能的效果。
1. 前言
1.1 創作動機
隨著社會現代化的變遷,雙薪家庭漸漸成為主流的家庭結構,男主外、女主內的觀念漸漸轉變,屋主在忙碌的工作回家後,通常已無其他精力做家中太繁瑣的事。故我們以增進居家生活安全與便利性為出發點,將目前各項技術的整合,架構出一套居家服務系統,並且提出創新硬體結構,改善我們所使用設備技術上的缺點,希望能讓使用者能透過我們的系統讓生活的操作模式變得更方便,更無須去擔憂家中的瑣事。
1.2 創新性
本作品使用HT66F50作為主系統晶片,將Kinect所感測之骨架追蹤、手勢辨識,感測後存取數值,再利用UART傳送數值給主系統晶片,並做出鎖定追蹤、居家服務、節能、防盜等功能,系統之服務流程如圖1所示,本作品創新性功能為:
●鎖定追蹤─Kinect骨架追蹤,跟隨人體
●居家服務模式─手勢辨識,控制家電
●防盜模式─緊急簡訊通知、影像監視/錄製儲存
●節能模式─家電智慧節能
1.3 作品功能
如下圖1為本系統功能流程圖,以盛群晶片及Kinect為主體,在做出相對應之服務。
而下一章節開始介紹本系統各種功能。
1.3.1 鎖定追蹤
本作品首先設計創新結構,利用骨架追蹤配合伺服馬達,使得Kinect可以左右移動,改善原本Kinect偵測範圍侷限的問題,當屋主在家中移動時,可鎖定並且追蹤屋主,隨時了解到屋主目前需要及提供適時之服務。
1.3.2 居家服務模式
鎖定追蹤屋主的同時,若屋主想控制屋內的家電,可利用骨架判斷作特定手勢,來開啟/關閉所指定之家電,甚至是家電功率大小的調節,使在屋內控制家電可變得更直覺更方便。
1.3.3 居家保全模式
若判定進屋內的人士並非屋主時,主系統會自動發送緊急簡訊至屋主手機,當屋主看到簡訊後可即時利用手機監看屋內動態,並將所監視到的畫面自動儲存於自家中電腦,而在同時屋內警報器也隨之作響。
1.3.4 節能模式
利用Kinect骨架的判斷,偵測屋中是否還有人,若一段時間內都未偵測到骨架,系統便會判定屋主不在房間現場,接著會自動關閉屋主所開啟之電器,來省下多餘的電費達到節能的效果。
2 工作原理
2.1 系統設備
2.1.1 HT66F50
本作品利用盛群HT66F50晶片[1],如圖2所示,作為整個系統的主控晶片,搭配Kinect進行居家的防盜與服務,系統透過Kinect本身的骨架判別,判斷人體骨架的位置、動作,接著利用UART串列傳輸回傳數據給盛群HT66F50作出相對應之功能與動作,而因為HT66F50沒有內建UART串列傳輸的功能,所以需要再透過盛群另一顆晶片HT45B0F來完成串列傳輸的功能,主控晶片才能與Kinect作溝通。而我們系統運作時,HT66F50扮演了下列幾項重點功能:
●系統流程判斷與觸發
●PWM脈波寬度調變
●SPI to UART
●紅外線編碼控制
2.1.2 Holtek HT45B0F
本系統為了實現UART串列傳輸的功能,必須藉由HT45B0F來解決當下所需的技術[3],這塊晶片用來實現SPI轉UART數據的功能,將Kinect所讀取到的數值,運用UART傳送至HT45B0F,數據經過SPI轉換後再傳送至HT66F50,最終完成雙邊通信的目的。
2.1.3 Kinect
我們使用之設備Kinect外觀如下圖3所示,透過Kinect鏡頭即時擷取使用者動作,接著再判斷骨架作出相對應動作,利用內建紅外線傳感器,發射出紅外光,藉由反射後接收數據的時間差異,建構出3D深度影像,判斷使用者的骨架位置,手勢動作等,根據判斷在作出相關的應用[2]。
根據其特定骨架位置、動作,我們可實現鎖定追蹤人體,判斷是否還有偵測到骨架,如下圖4所示,若沒有便關閉家電,若作特定手勢可控制屋內電器。
2.2 鎖定追蹤
而我們對Kinect所提出創新結構,如圖5所示,其動作原理如下:當Kinect偵測到的骨架座標超越我們所設定的左右基準點時,便判定人正在移動,骨架座標經計算後,運用UART串列傳輸回傳數值給主系統晶片,計算後觸發Kinect下的伺服馬達,來調整Kinect偵測的角度範圍,達到追蹤人體的目的,改善原本Kinect因無法左右移動而導致喪失骨架判別的效應。
當Kinect鎖定特定人士之後,即不理會其他骨架,避免Kinect同時偵測過多骨架導致當機的情況,直至鎖定人解除鎖定或離開Kinect偵測範圍時其他人方可使用。
當Kinect鎖定特定人士之後,即不理會其他骨架,避免Kinect同時偵測過多骨架導致當機的情況,直至鎖定人解除鎖定或離開Kinect偵測範圍時其他人方可使用。
2.2.1 伺服馬達(GWS S03T)
為了使Kinect達到追蹤人體的目的,在底部安裝了伺服馬達,如下圖6所示,而控制伺服馬達轉向的原理為:根據Kinect骨架偵測判斷後,回傳數據給HT66F50,接著根據骨架位置的不同,運用PWM脈波寬度調變調整Duty Cycle,伺服馬達能轉至不同的角度,致使Kinect偵測到更廣的範圍
2.3 居家服務模式
屋主被鎖定追蹤後,即可進行居家服務的模式,若屋主想控制家電,可利用特定的手勢來開啟/關閉電器以及控制電器功率的大小。
2.3.1 SM5021
當揮動手勢經由Kinect判斷後,主系統晶片接收到不同的命令,接著撰寫及傳送特定資料訊息至編碼IC SM5021,最後由紅外線LED發射出指令,完成手勢遙控電器的功能[4]。
2.4 防盜模式
有人進入家中後,需在指定時間內做特定動作讓系統判定是否為屋主,若在指定時間內沒有做骨架驗證的話,即判定為非屋主之人,緊接著再做出相對應防盜措施。
2.4.1 緊急簡訊通知/WebCam影像監看儲存
當小偷侵入家中,系統會利用骨架驗證是否為屋主,判定是小偷時,透過緊急簡訊功能傳送簡訊至屋主手機進行通知,當屋主查看到簡訊後立即開啟Web Cam監看到屋內狀況,視情況可線上報案。若屋主沒辦法再第一時間接收到簡訊,系統也會先將影像錄製儲存至家中電腦,以防未來若想看影像卻沒證據的窘境。
2.4.2 蜂鳴警報器
若小偷入侵家中,系統經判斷後會開啟警報器作響,達到聲響嚇阻的作用。此警報器工作電壓為12V,而盛群晶片工作電壓為5V,故無法直接傳送訊號使用,所以我們利用繼電器來實現此功能,當有小偷入侵家裡時,系統晶片會接收到指令,傳送電位差至繼電器輸入迴路,供應電壓後,繼電器輸出迴路短路導通,警報器即便做動。
2.5 節能模式
屋主進行居家服務模式時,若突然離開房間忘記關閉家電時,經過一段時間後,系統會自動關閉屋主先前所開啟之家電,達到節約用電的效果。
我們利用Kinect的骨架判別判斷是否有持續偵測到骨架,若無偵測到骨架,即判定屋主離開房間了,透過主系統晶片的延遲等待以及Kinect的持續偵測,確認屋主不在後,再使用紅外線將設定之電器關閉以達到節能的目的。
3. 作品結構
在一進家門,Kinect便會先偵測骨架驗證是否為屋主,若不是屋主,即進入防盜模式,觸發相對應動作。若驗證為屋主時,進入居家服務模式,同時鎖定追蹤屋主,在判斷作出相對應服務,當Kinect未偵測到骨架一段時間後立即關閉家電達到節能省電的效果。
下圖8為主系統晶片與其他硬體結構關係說明,以主系統晶片出發,達到所有模組相互結合之應用,各項皆有所功能,進而完成居家防盜與服務系統。
4. 測試方法
在作品各個模式功能完成後,緊接著即是要將整個系統整合起來實際測試,我們的測試方法主要以從屋主進門開始,測試各個模式的使用情境以及動作。
下圖9為本系統屋主進門後的使用情境圖,當屋主一進門後,Kinect即轉向門口,同時偵測骨架及手勢,此時必須做出特定手勢確認是否為屋主身份,若沒有即判斷為非屋主之人侵入,進入居家保全模式,將傳送緊急簡訊告知屋主,屋主看到訊息後可即時用監看屋內動態,同時將所監視到的畫面自動儲存於家中電腦,並且屋內警報器也會隨之作響。
若使用者進入屋內後有做特定手勢判定為屋主時,Kinect便鎖定追蹤屋主,屋主不管走到何處,系統皆會跟隨偵測著屋主的骨架,隨時等待屋主是否有使用要求,在觸發做出相對應的動作及服務。
當進入屋內驗證屋主身份除了鎖定屋主以外,同時也會進入居家服務模式,如下圖10為屋主在家中使用本系統的使用情境圖,若屋主想控制家中電風扇,可利用特定手勢,來開啟/關閉電風扇以及功率大小的調節等,讓使用者在屋內控制家電變得更直覺更方便。
若屋主在居家模式之下,突然離開房間並且忘記關閉電風扇時,經過一段時間後,系統便會自動關閉電風扇,來達到節能的效果。
而本作品於實作過程中,主要有兩種必須進行仔細調整與測試之項目:
●伺服馬達PWM控制
●Kinect手勢設定與指令測試
4.1 伺服馬達PWM控制
為了能夠讓系統完成鎖定追蹤的目的,控制伺服馬達為最首要且重要的測試,利用Kinect骨架定位識別,當骨架座標超越我們所設定的左右基準點時,便判定人正在移動,骨架座標經計算後,回傳數值給主系統,計算後觸發伺服馬達,來調整Kinect偵測的角度範圍。
而為了使伺服馬達做出相對應轉向,我們運用STM PWM輸出脈波,伺服馬達接收的訊號為20ms的週期脈波,藉由控制高電位的長度(工作週期duty cycle),可讓伺服馬達運轉到特定的角度。
當工作週期為0.75%(1.5ms高電位)時,伺服馬達轉至0度,此為Kinect歸零之角度。
當工作週期為0.55%(1.1ms高電位)時,左轉至-45度。
當工作週期為0.95%(1.9ms高電位)時,右轉至45度。
4.2 Kinect手勢設定與指令測試
本作品結合Kinect進行骨架偵測與動作辨識,骨架偵測應用於追蹤模式與節能模式,手勢辨識則應用於鎖定功能以及家電控制功能,我們為了完成各個動作的功能,進而測試手勢不同方向與動作。
●鎖定功能:當屋主進入屋內後即刻舉起左手使Kinect偵測到屋主手勢便馬上鎖定。
●追蹤功能:鎖定到屋主後便自動啟動追蹤功能,當偵測到屋主骨架座標超越我們設定的左右基準時,伺服馬達引導Kinect鏡頭來追蹤屋主骨架,方便接下來家電控制的感測。
●家電控制功能:鎖定人體骨架後,當屋主左手平舉移動便控制家中燈具開/關;右手向上舉設定為開啟電器及控制家電功率大小;右手平舉則設定為關閉家電。
●節能模式:當Kinect未偵測到骨架時,經過一段時間的延遲及繼續判斷是否有骨架進入,若無,便關閉家中電器已達到省電的效果。
(本文由盛群半導體提供 作者為樹德科技大學 電腦與通訊系顏錦柱教授、李宗達、郭亮逞、許祐禎、張皓勛)