Profile - TW060


TW060

智慧型吸塵機器人



Semi-Finals


[print]


Project Paper - view as Preliminary(2010/07/21), Final(2010/11/01), Draft, Latest

1. 設計介紹 (Preliminary Paper)

 

    在現在這個高齡人口不斷增加而且生育率低落的社會,青壯年的負擔越來越重,所以家務型機器人就變得越來越重要,為了使得人們的居家生活環境可以維持在良好的狀態,吸塵器機器人成為我們研究的目標。為了讓吸塵器可以更好的發展,我們加入影像辨識處理的功能,並以此跟市面上現有的機器人的功能區分,進而達到更方便實用的目的。目前市面上現有的iRobot機器人 (iRobot Roomba Vacuum Cleaning Robot)是利用硬體本身超過30個感測器(偵測紅外線),以及緩衝器(bumper)避免對於家具的碰撞,進而透過所規劃的路徑與定時吸塵的功能達到智慧吸塵的目的。以iRobot所設計的Roomba 561 機器人吸塵器為例,它能夠透過紅外線傳輸自動返回基地台充電、定時清潔打掃、設定自動虛擬牆限制Roomba清掃區域範圍等功能。本作品將以iRobot為目標,將相關的感應控制功能以Altera DE2-70平台以及攝影機取代,透過影像辨識之避障系統來取代感測器進行物體的判斷與事件處理,達到智慧型吸塵機器人的研究。機器人的移動平台透過馬達與驅動晶片結合設計,再經由DE2所產生的PWM訊號控制車體的移動,避且在車體下方設計吸塵裝置,達到吸塵機器人的功能。
 

1.1:應用領域:
(a).機電整合 
(b).
電機控制系統
(c).
機器視覺系統

                                圖 1 : iRobot 智慧型吸塵機器人

1 : iRobot 智慧型吸塵機器人

(Draft / 2010-06-29 13:15:06)

2. 功能描述 (Final Project Paper)

A.移動平台
當平台移動時,依照預設路徑移動(如圖2(a)),當判斷前方為障礙物時將修正移動路徑,進行避開障礙物動作(向右轉後再前行),避障工作完成後繼續進行吸塵工作,直到完成任務為止。(如圖2(b))

           2(a) 吸塵機器人移動路徑     (b) 吸塵機器人避障路徑

B.影像處理
本研究所設計的吸塵機器人持續進行吸塵與影像處理辨識工作,直到任務完成。在影像處理方面,先擷取障礙物之影像,再將影像進行二值化,之後再利用侵蝕與膨脹移除雜訊,抓取座標以利進行障礙物的框取動作。西陳機器人移動過程,透過障礙物兩次框取,進行障礙物的變化量比較。計算吸塵機器人移動之距離與障礙物的物體大小變化量,經過計算後取得機身與物體的距離,在是當距離內進行右轉再直行動作,避開障礙物,持續進行吸塵與影像處理辨識工作。

(Revision: 3 / 2010-09-17 19:24:32)

3. 效能參數 (Final Project Paper)

本次使用的設備有Altera DE2-70平台,吸塵器、馬達與馬達控制晶片等。利用FPGA產生PWM訊號給予馬達控制晶片調整馬達速度,透過CCD擷取影像資料經由硬體電路來實現影像處理的過程,影像即時的處理如下圖4,另外擷取CCD的影像像素為800x480,數位電路在時脈 50 MHz之下,CMOS其每秒的擷取速度約為20 FPS (Frame Per Second)

 

圖3 影像處理的過程

(Revision: 2 / 2010-09-17 19:24:56)

4. 設計架構 (Preliminary Paper)

本作品整合的硬體架構如圖4所示,建立所需要的SOPC硬體架構,包括CMOS MasterNOIS II MasterTFT Master(硬體加速器)、匯流排(Avalon Bus)ArbiterSDRAM。藉由CMOS模組電路所拍攝的影像資料,經過影像二值化處理過後,存放於SDRAM裡,TFT模組電路在將SDRAM裡的資料抓出來做用硬體加速,NOIS IISDRAM裡的資料抓出來,NOIS II將影像資料分辨出影像裡的物件大小,之後利用機器人的移動與影像物件大小的變化,透過演算法計算出物件的距離,若物體大小過大則辨識系統則將其視為障礙物,立即啟動避障機制,控制車體在適當的距離左右轉避開;若是物體過小則判讀為垃圾,吸塵器機器人啟動吸塵裝置吸取之。視覺辨識系統的設計讓吸塵器機器人能夠更智慧的行動,並且減少感測器的架設與使用,依照視覺的功能做為吸取的依據或辨識為障礙物的依據,並且將視覺系統以硬體(FPGA)來實現,達到及時控制的功能。

圖 2 : 系統架構

 

圖4: 系統架構

(Revision: 2 / 2010-09-17 19:26:58)

5. 設計方法 (Final Project Paper)

本作品為達成智慧型吸塵機器人功能,主要工作分為影像處理演算法及機構部分。而使用FPGA實現影像處理演算法的設計流程如下:

二值化:從CMOS鏡頭讀取畫面中擷取RGB值,利用所設定的臨界值將目標物與其他畫面做明顯分離,使得影像畫面只有兩種數值,以利於明確判斷並抓出目標物所在位置。

Line Buffer:由於從CMOS鏡頭讀取的資料是一次800像素(Pixels),完整的一張圖片要讀取480次。而在影像處裡演算法時使用的是九宮格掃瞄,所以我們必須使用Line Buffer將資料每三個Pixels推出一個Pixels(如圖5),並排列成九宮格(如圖6)以順利執行後續演算法。

5 將資料前三個Pixels推出

6 九宮格

 

侵蝕:此目的為消除畫面中的微小雜訊,利用Line Buffer所推出的九宮格進行演算法。將九宮格內的值做AND邏輯運算,並將結果儲存。接續上筆結果繼續使用在下筆資料做運算,以此類推。

AQN代表二值化影像A被遮N侵蝕;先判斷遮的結N二值化影像中是否為1如符合判斷n1~n8)在矩陣A的相對位置是否皆為1,都符合n 10,其判斷式為

 

n = n1Çn2Çn3Çn4Çn5Çn6Çn7Çn8                    (1)

ÇAND 邏輯運算n

膨脹:利用侵蝕後的結果做膨脹,此目的是將目標物做明顯突出以便後續流程。利用Line Buffer所推出的九宮格進行演算法。將九宮格內的值做OR邏輯運算,並將結果儲存。接續上筆結果繼續使用在下筆資料做運算,以此類推。

AN代表二值化影像A 被遮N膨脹;先判斷遮的結n

值化影像中是否為1如符合判斷n1~n8)在矩陣A 的相對位置

是否有(至少一個),都符合n 1 之為0。其判斷式為

 

n = n1Èn2Èn3Èn4Èn5Èn6Èn7Èn8                 (2)

 

ÈOR 邏輯運算,n

以圖7至圖12侵蝕膨脹的實運作

7 二值化矩陣A

 

8 九宮格內的值做第一次邏輯運算

9 九宮格內的值做第二次邏輯運算

10九宮格

11矩陣A侵蝕

 

將圖10裡的值帶入(1)得到n會變成0,下一筆資料(如圖9)一樣帶入(1),最後侵蝕完後會得到圖11

12矩陣A膨脹

將圖10裡的值帶入(2)得到n會變成1,下一筆資料(如圖9)一樣帶入(2),最後侵蝕完後會得到圖12

 

尋找目標物:完成以上的影像前置處理後,已經可以得到單純的目標物二值影像,可以很簡單的進一步分析目標物,本研究將進一步判斷目標物所在位置。首先從影像像素的第一列第一行開始由左向右開始掃描,掃描至最後一行在繼續從下一列開始掃描,直到掃描出第一點像素質為1(黑色)(如圖13)。以九宮格遮罩擴散方法掃描出目標物上、下、左、右四個座標點(如圖14),利用鄰邊座標算出物體面積。此時將物體面積與事先設定好的面積值做判斷,比較大小是否構成所要尋找的目標物。確定目標物後將鄰邊座標儲存至暫存器,以提供後續演算法使用。

13 搜尋目標物

14 目標物位置判斷

    距離判斷:在得到車體移動前與移動後兩次的物體座標後,利用相似三角形法算出與物體的相對距離,以利進行避障功能。

    行走規則:在車體的移動過程中,將以避開障礙物為優先項目,若物體大小未超出影像範圍,則固定採取向右轉彎之方式來避障,若有其中一邊超出範圍,則往相反方向轉彎,若左右都超出範圍,則以後退的方式直到其中一邊無超出範圍為止。

 

而機構部分設計流程如下:
移動平台控制:QuartusII中的Verilog程式碼燒進DE2並執行,DE2開發板將PWM訊號傳至驅動電路板上再傳至馬達,利用左右輪之PWM值差異達成轉彎等功能。

(Revision: 3 / 2010-09-17 19:43:29)

6. 設計特點 (Preliminary Paper)

 

1. 影像辨識系統:

為避免所行走的路徑有障礙物,將利用影像辨識代替相關的感測器,使得機器人可以利用影像來辨別物體是否為障礙物,若是則計算距離遠近,移動車體避開之;若否,則繼續前進將其視為垃圾吸取之。

2. 硬體加速器:

為增進影像辨識的功能,使用硬體加速器與Avalon Bus提升影像處理之效能並且達到即時(real time)的需求。

 

(Revision: 2 / 2010-09-17 19:27:48)

7. 總結 (Final Project Paper)

友晶科技公司提供了我們許多FPGA高階開發平台及設計資源,在豐沛的資源環境下使學生在創作或研究上能夠盡情的發揮,並且將這些努力的結晶展現在友晶科技公司舉辦的「2010 Altera 亞洲創新設計大賽」,讓所有評審委員及全國師生相互交流。

大家都體會到理論與實際應用必然有一段差距,真正著手實驗不難發現有許多的理論會假設這些實際上真正的困難點不存在或不考慮,透過這次的比賽我們了解這些理論必須依靠實際應用來證明其價值。在實踐的過程中我們也發現一個作品實在是很難說它是完美的,因為我們常會發掘此作品尚有很多問題。雖然如此,我們依舊盡力發掘問題並改良舊技術甚至產生新技術來解決問題。

 

(Draft / 2010-09-17 19:28:17)