家用機器人之智慧型互動系統研發
Development of the Intelligent Interaction System of an Advanced Home Robot

本研究計畫之主要目的在發展一智慧型家用機器人,兼具家庭夥伴(Robot mate)與家庭幫傭(Robot maid)的特性。一方面它具有容易使用的人機介面,可接受家庭中成員的命令,產生多媒體呈現的親善功能。另外一方面也可以被賦予清潔及家庭保全方面的服務性工作。因此家用機器人在功能上將具有多樣性,但這些與日常家庭生活有關的操作或功能往往必須仰賴與家庭中成員的互動來達成。為了使機器人的使用更為「自然」與「方便」,並且賦予機器人與使用者之間能夠產生溝通的能力,需要使用到一些人機介面來達成這個需求,其中之一的作法是利用語音處理的技術來達成,即發展語音辨識系統來供機器人使用,讓機器人能夠藉由語音的方式,得到使用者目前希望給予機器人的訊息,並轉化為實質的控制訊號,作出適時適當的反應動作。更進一步分析,我們發現在屬於智慧型機器人的特性上,它也經常和環境中的物體產生互動,如電視機、電話、安全系統等等。另外在與其他機器人互動方面,我們可以預期機器人與機器人之間可以有某種通訊方式來協調合作,將有助於它們完成較複雜的任務,增加了機器人的實用性。

本計劃在第一年執行期間已完成兩套家用機器人運動平台之設計與製作,自行開發多項硬體與軟體關鍵模組,包括平台機構、DSP雙軸馬達控制卡、伺服區驅動器、運動控制模組、路徑追蹤控制器及控制模組與工業電腦之連接介面。另外在語音辨識系統方面,本計劃本計劃自行開發基於DSP DSK Board之獨立式語言辨識系統,目前正成功第完成一平均辨識率達90%的模組,並成功地應用於家用機器人之運動控制上。與環境互動方面,本計劃在第一年期間主要開發以多超音波感測器作環境模型建立,目前正完成一個以鄰近的超音波感測器來共同決定障礙物位置機率的方法可以有效提高超音波感測器的角度解析度,並經由機器人在不同位置對相同方位量測來提高環境辨識的可靠度,所研製完成的多超音波感測器模組可以提供機器人一個可靠且反應快的環境探索系統。


家用機器人互動系統架構圖

家用機器人機構圖


家用機器人本體之運動控制系統 / 家用機器人之路徑追蹤控制器設計與測試

家用機器人在實際應用上,會依據使用者的規劃在不同的路徑行走,而依循路徑的功能是由運動控制卡來完成。車上控制電腦(工業PC)只要下達簡單的命令,剩下的就交由運動控制卡來處理,使其能在在規劃好的路徑上達成精確的運動控制。路徑追蹤控制需要路徑追蹤演算法與車體運動模型來交互參考運算,再者我們希望此運動控制卡是獨立模組,所有的運算都不消耗PC的資源,故運動控制卡並不是簡單的PID控制而已,市面上的控制卡不符合此功能,所以我們以TMS 320C240為核心,自行發展運動控制卡(如右圖)。

本運動控制卡在最底層以PID控制法則控制馬達,單顆DSP完成雙軸同動控制,雙軸控制不需額外解碼電路,RS-232 介面與PC連接,同時另有路徑蹤控制器時現於DSP控制卡內,使本運動控制卡不只是單純的PID運動控制卡。

家用機器人巡航的過程中必須隨時都能知道自己的姿態與位置,然後才能做路徑規劃,並便執行運動命令。而在一個未知的環境下,最有效的姿態估測,是使用多種感測器並藉由資料融合來做家用機器人的姿態估測。因為每一種感測器本身的特性及限制會使得感測結果產生若干的誤差,而利用多種感測器的話,可以利用每個感測器的優缺點來做互補,以便求得最佳的估測值。一般位置及姿態的估測最普遍的做法就是使用軸編碼器(Shaft encoder)。但是利用編碼器累積的脈波數來推算家用機器人所行駛的距離和角度的變化,卻容易受到車輪打滑造成的滑差、輪胎的磨損、路面的不平坦、車輪圓周長與輪距量測不準確等因素的影響,而產生了姿態估測累積誤差。為了改善編碼器所可能導致的誤差,另外還使用了一個與環境獨立的陀螺儀角度感測器。陀螺儀會有電壓飄移(Drift)和雜訊的現象,而且因為陀螺儀本身的輸出訊號為電壓輸出,在電壓轉換成為角速度時必須有個轉換值(Scaling factor),若這個轉換值取得不準確,也會影響到陀螺儀角度上的測量。所以必須將這兩種感測器經由簡單的資料融合方法,求得家用機器人最佳的姿態值。同時陀螺儀也需要經過一校正程序,使其輸出值能精確的代表出相對角度。

家用機器人之頭部運動控制系統

在實際的應用上,家用機器人應有良好與友善的互動功能,而頭部的互動即為一明顯的特徵,所以頭部必須有雙軸運動之功能,使其能夠完成與外界互動的功能。頭部運動控制卡是採用與底部運動控制相同的DSP運動控制卡,也是以RS-232介面與工業電腦溝通。頭部運動控制卡能隨著使用者所指定的目標移動到定點,同時在經過座標轉換後,也能將影像中的座標轉換成馬達移動的角度,使馬達可以隨影像中物體移動。

家用機器人語音辨識系統

本計劃需求的是一能獨立運算的平台。因此我們採用了數位信號處理器( DSP )來擔任這個工作,在考量過運算速度、記憶體容量大小、溝通介面……等等因素之後,採用了德州儀器公司生產之 TMSVC5402 DSK Board 來作為整體系統的核心,並利用RS232串傳輸介面將語音辨識結果回傳給主控電腦。這樣的設計模式一大優點是大幅減少主控電腦的負擔,主控電腦只要負責接收運算處理完成的結果,並對於接收到的結果作出適合的判斷和發出控制命令。如此一來資源可以分配運用到更適合的地方,以正確的控制家用機器人的各個反應動作。語音訊號由無線麥克風經A/D轉換先進入DSP中進行處理,辨識出之命令則由機器人控制電路確認進行運動控制。

家用機器人語音資料庫設計為小字彙量的範疇,主要有三個部分,運動控制命令、頭部運動控制命令及互動對話詞彙,並以中文、英文混用的方式,中文以雙字詞為主、英文以單字為主。語音資料庫中的成員,取得適當參考樣本的方式是經由收集大量語料的方式來得到,經由平均可以取得較為可靠之參考樣本,並建入資料庫中。經由實驗發現,比對的長度只需實際擷取波型之60%的時間即可得到辨識結果(如右圖)。

在系統整體辨識率的表現上,中文平均辨識成功率可達90%左右,英文則可以到達94%左右。圖43及圖44分別是測試50次所得到的數據,測試詞為[Robot]及[後退],辨識成功率分別為98%及100%。辨識時間在8組的字彙量實驗設定下,維持平均所需辨識時間0.76秒左右。

環境辨識感測模組器設計與製作

我們的目標為開發一具消防滅火功能的家庭保全機器人,基於此目的,我們必須選擇一種不受白天、黑夜影響,更不能受煙霧(火災)影響的環境感測器。而由於CCD的取像受到光線、煙霧的影響很大,所以並不適合於這種場合。因此我們決定採用超音波感測器來當我們家庭保全機器人的環境感測器。利用超音波感測器量測環境資訊,用以躲避障礙物、並建立環境地圖。

我們利用單晶片8051為主控IC控制12組超音波Module 的發射,再藉由8051的I/O埠讀取超音波的Echo訊號,以8051內建的Timer來計算從超音波發射到接收到Echo的時間間隔:Δt;再透過8051的RS-232埠將所得到的Δt傳送給主控電腦計算出障礙物的距離。此模組同時有一個搖頭式的電源開關與綠色LED運作指示燈來顯示模組式否運作正常。另外還有12個插座方便與超音波Transducer作連接與脫離,以利於未來模組的維修與組裝工作。右圖為超音波模組之內部電路模組。

由於超音波的Transducer有指向性,在面對Transducer大約±15°時能量就衰減到-15db ,所以我們在超音波模組的配置規劃上,採取每個Module相隔22.5°(±11.25°),如此就可以涵蓋到超音波主要的感測範圍;而要圍繞Robot一圈共需要16個Module,16 * 22.5° = 360°;不過,由於Robot背後比較不重要,所以,我們採取Robot背後的Module相隔45°配置的方式;所以總共用了12個超音波Module。


十二組超音波感測實驗畫面