智慧清潔助手的研發目的,是簡化家庭清潔的工作,以提高居家生活品質。本系統會先即時偵測路上垃圾,同時做到吸塵功能和即時檢測空氣中危險氣體並發出警報,偵測到垃圾時,把垃圾夾起丟掉。
由於現今人們對於生活品質的要求愈來愈高,並且隨著生活型態的改變,雙薪家庭的比率居高不下。因為傳統的家庭清潔工作需要大量的時間和體力,對於現代忙碌的雙薪家庭來說,這往往是一個挑戰,若是因為垃圾長時間的不當累積進而產生惡臭,甚至是有害氣體,想必後果將會不堪設想。
另外目前國內外的市面上,清潔機器人主要具有兩大功能,分別為吸塵和拖地,但對於較大型的垃圾則束手無策,如寶特瓶、鐵鋁罐等等。因此團隊以清潔機器人為基礎,加上視覺辨識、雙手臂系統及感測器的結合,設計出能夠完成家庭清潔和居家安全檢測任務的裝置。
居家清潔助手的目的是在提高生活品質,以及有效地節省上班族的負擔,能夠辨識垃圾及與垃圾的距離、夾取垃圾、吸塵、燃氣檢測和及時LINE通知等任務(圖1)。總結來說,智慧清潔助手整合了多項功能,及雙手臂的未來發展性,成為了居家清潔和安全檢測的最佳助手。
圖1 情境圖
使系統由BMduino主控板控制步進馬達完成前進和轉彎,以及超音波感測器達到避障的功能,和自製的吸塵設備來完成基本的家庭清潔任務。接著利Intel小電腦透過Intel Realsense D435深度相機進行識別垃圾和距離的工作,並將距離資訊傳遞給BMduino主控板,以控制步進馬達來移動至垃圾前方。
當裝置停在垃圾前方時就控制雙手臂,完成夾取垃圾的任務。此裝置在執行所有家庭清潔任務的同時,還會藉由半導體式燃氣偵測模組,來偵測室內是否具有危險氣體,再經由WiFi模組做到即時的LINE通知。本系統使用到的元件有BMduino主控板、L298N馬達驅動板、MG996R伺服馬達、Intel Realsense D435深度相機、A1-16智慧馬達、超音波感測器、Intel小電腦。半導體是燃器偵測模組、WIFI模組、自製吸塵設備、步進馬達(圖2)。
圖2 內部結構圖
工作原理
本研究為全方位移動並搭載深度鏡頭,及雙手臂協調系統的機器人,具備辨識垃圾、測距、夾取垃圾、吸塵、有害氣體的檢測和及時LINE通知,各功能的工作原理詳述如下:
視覺辨識
本系統利用Intel Realsense D435深度相機取得景深資料,其結構具備一組RGB相機,如圖3中藍色區域所示,能夠取得彩色的影像。當取得彩色影像後,交由預訓練好的YOLOv8模型進行辨識,藉此取得目標物體像素的尺寸與像素座標。
圖3 Intel Realsense D435深度攝影機
測距
因為Intel Realsense D435深度相機的結構,亦具備紅外線投射器與紅外線接收器,如圖4中紅色區域所示,因此能夠取得物體的深度訊息。而本系統先將24帧的目標物體中心座標的深度資料由小排至大,再將其中第6位數到第18位數的深度資料取平均作為最終測距取得的資料,此目的是為了讓測距結果更加準確。
圖4 Intel Realsense D435原理示意圖
有了與目標物體的直線距離D,還需要得知與目標物體的橫向距離P。因此將影像中心的X座標減去目標物體的X座標,以取得圖中的W值。並配合事先得知的與目標物體直線距離D和相機焦距F,再利用相似三角形的原理,就能得知與目標物體的橫向距離P。
避障
超音波感測器是由超音波的發射器(Transmitter)、接收器(Receiver)和控制電路所組成,經由計算發射後到接收的時間差來換算出與障礙物的距離(圖5)。
圖5 超音波感測器原理示意圖
手臂撿取
夾取垃圾的動作分為固定垃圾的手臂,及夾取垃圾的手臂。由一隻手臂先固定垃圾位置,並由另一隻手臂把垃圾撿起來。固定手臂由12V電池提供給A1-16智慧馬達控制,而撿起的手臂是由5V的電池供給MG996R伺服馬達控制。
A1-16智慧馬達是經UART,利用BMduino傳送命令包來控制手臂達到固定瓶子的效果。MG996R伺服馬達則是經由BMduino使用PWM控制手臂,完成夾取瓶子的任務動作(圖6)。
圖6 固定手臂及夾取手臂
吸塵
使用12V電池驅動直流馬達,成為吸塵馬達的旋轉動力,並經由BMDUINO控制轉動,來達到吸塵的效果。如圖7中將馬達裝至容器下方,並從容器中快速抽取空氣。因為壓力的影響,另一個孔會大量吸入空氣,藉由這兩項動作做到吸入空氣的效果,並將吸入的空氣透過裡面內建的過濾網,達到吸塵的功能。
圖7 自製吸塵設備
即時LINE通知
IFTTT為一個網路服務平台,是If,this, then,that的縮寫,類似程式語言的「若XX進行YY行為,就執行ZZ動作」,可以將不同的App、聯網裝置和軟體服務整合在一起。因此本系統將ThingSpeak平台與IFTTT建立連結,並將IFTTT與LINE建立連結。
當半導體式燃氣偵測模組偵測到的數值大於設定的臨界值,ThingSpea平台會發布指令給IFTTT,當IFTTT接受到指令後就執行任務,也就是將警報訊息發布至LINE。
MCU的核心功能
本系統使用BMduino作為主控板,主要用於連接各個元件並以程式控制。連接方式有GPIO、PWM和UART(表1)。
表1 元件功能描述