TW010 自主式多功能保母機器人

排名 獲獎學生 學校 指導教授
季軍 余政達、戴嘉宏、吳秉洲 元智大學 電機工程學系研究所 黃英哲
 

1. 設計介紹

在科技日新月異的發展下,將擁有服務能力的機器人帶進家庭是必然的趨勢,這將可以減輕家庭中不少人力的負擔,也會讓生活更加便利,對於獨居老人、或是肢體殘障人士,也大有幫助。在過去機器人多半被使用在工業用途、從事一些人力無法完成的工作或是對人有危險的工作,不過最近幾年裡日本許多業者,嘗試研發可與人互動或是擁有服務能力的機器人。像是轟動一時的機器狗愛寶,將機器寵物化、甚至是人性化,不但已經成為世界的趨勢,在技術上也日趨成熟,但是實用的家用機器人必須要能夠完成一些家庭成員所給予的工作,讓擁有這種能力的機器人走入家庭。

國際機器人協會(IFR)對於服務型機器人的定義是:在工業製造領域之外,凡是能夠針對人力或是設備,提供半自動或是全自動服務的機器人,都可以定義為服務型機器人。根據國際機器人協會的定義,服務型機器人的範圍相當廣泛,而在日本科技大廠所發表的服務型機器人方面,比較受到注目的有:松下電工的清掃機器人SuiPPi以及能在醫院中幫忙傳遞病例機器人,以及寵物外型機器人;若以功能性來區分,主要可以分為幾類:寵物機器人、保全機器人、清理機器人,以及陪護型機器人,當然也有身兼數種功能的多功能型機器人。

高階一些的機器人,如三菱的Wakamaru機器人,可以自己偵測出在居家環境中的位置、自行前往充電器所在位置進行充電、閃避障礙物、與人類進行某種程度的語音對談、辨識人臉、偵測入侵者行為並通知屋主,以及語音提醒服藥與藥名、播放新聞與天氣預報等網路資訊;NEC的PaPeRo機器人,除了具備類似於Wakamaru的功能之外,當人類拍打它的頭部時,PaPeRo則會認為是一種讚美的行為。此外,東芝特別強調ApriAlpha機器人的追隨功能,使它能夠在看護安全與外出購物這兩個層面,提供某種程度上的幫助。

藉由這些服務型機器人所擁有的功能與構造,可以了解到,目前機器人系統的研究已從過去的工業機器人時代,進入到一個嶄新的時代,著重於如何使機器人更貼近人類的生活,並且除了可靠性之外,還需要針對機器人的功能性、安全性與易用性進行深入探討。

功能性:讓機器人真正具實用性,能提供人們生活上實質的幫助,而不只是一個放在家中的大玩具或裝飾品。此外,若機器人能夠有自我學習、下載新技能、個人化(根據使用者習慣作調整)的能力,就能更人性化、更體貼使用者。甚至能和其他不同功能的機器人共同合作,截長補短,讓事情更有效率的完成,或者達到更好的效果。

安全性:機器人必須能及時因應環境的變化,並做出適當的反應,以確保使用時的絕對安全,讓使用者能放心與機器人一同生活。

易用性:需要簡化機器人的操作、提供人性化的操作介面、提升機器人的智慧、增加互動的能力,讓使用者幾乎不需要學習,就可以很自然的使用。

目前台灣的機器人研究大部份著重於足球機器人、人形機器人、以及自走車上,對於居家服務機器人的研究較少。在現今十倍速發展的時代,人們每天忙於工作,家長對於小孩的照顧日益疏遠,為能夠減輕家長的負擔,讓機器人能融入人類的日常生活,本作品的方向著重於機器人對於居家日常生活之幫助,善用機器人協助搬運的工作(如嬰兒、行李等),尤其現在幾乎都是小家庭,母親下班後除了照顧小孩外,還得做其他家事,新聞常報導母親因壓力過大而產生憂鬱症或者自殺,也常見嬰兒因母親粗心而死亡(如悶死、摔倒等),為了解決這些問題,如果家中有個能追蹤母親的嬰兒車,讓小孩隨時處於視線範圍內,除了能減低母親壓力外,也可大大降低小孩發生危險的機率。

本作品基本上是以嬰兒的照護為出發點,使用現場可規劃邏輯閘陣列(FPGA)技術,實現整合直流馬達控制、超音波感測、紅外線測距、人體紅外線感測、電子羅盤、全球衛星定位系統、攝影鏡頭、及藍芽傳輸模組之機器人控制系統,具有如下功能:
(1) 讓嬰兒車機器人可以跟著父母移動,以減輕照顧者的負擔;
(2) 搭配遙控模組,父母可以利用遙控器選擇行為模式,包括追蹤模式、遙控模式及搖籃模式等;
(3) 利用三組全向輪作為機器人致動器,讓移動、避障或轉彎時更迅速,增加舒適感;
(4) 具有全球定位系統(GPS)導航的功能,可以隨時追蹤嬰兒車機器人的位置,讓機器人達到定位功能,並且配合地理資訊系統(GIS),在自製的地圖中顯示;
(5) 以模糊控制理論來達到路徑追蹤功能,讓機器人能在預設軌跡上移動;
(6) 在嬰兒車上方設有攝影鏡頭,可以隨時觀察嬰兒狀況或週遭環境,並可以無線傳輸的方式傳給家長即時影像,達到監控效果;
(7) 機器人以三組全向輪作為致動器,讓移動或轉彎時更迅速;
(8) 應用模糊控制理論達到直流馬達的閉迴路轉速控制,讓機器人依然能行走於斜坡等地形。

在過去以電腦為基礎(PC-Based)的發展環境來設計控制器具有運算快速、軟體資源豐富、資料顯示介面表示方式多樣及發展的彈性大等諸多優點,但是相對的所需成本和設備空間也較大,不易攜帶和無法隨時操作展示,在教學上和實際工業應用上帶來諸多麻煩和困難。現今,PC-Based控制器的更進一步發展是以建立協同處理器(co-processor)為焦點,其用意在於強化數值的計算能力,以及將控制程序與作業系統分離,使控制程式可由協同處理器獨立執行來化解上述的問題。數位信號處理器(DSP)的發展是以特定的數值分析運算執行為主,例如DSP-Based控制器,其目的在於強化一般微處理器的運算能力,使有助於將控制程序運算與作業系統的運算分離開,藉以降低對即時作業系統的依賴,達成低成本高效能的控制系統發展需求,以提高控制系統的實用性。基於以上觀點,為了更進一步落實控制系統的研發、驗證與具快速計算能力的硬體結構能整合於一體,本作品是利用FPGA-Based設計及整合相關功能,其功能包含遙控、避障、追蹤以及運動控制。

 

2. 功能描述

本作品以嬰兒的照護為出發點,使用現場可規劃邏輯閘陣列技術,實現整合直流馬達控制、超音波感測、紅外線測距、人體紅外線感測、電子羅盤、全球衛星定位系統、攝影鏡頭、及藍芽傳輸模組之機器人控制系統,讓機器人可以跟隨父母及避障,並保持適當距離,以減輕照顧者的負擔;父母亦可使用電腦透過藍芽裝置監控機器人保母,利用無線攝影機隨時察看嬰兒或週遭環境;另外,搭配全球衛星定位系統及地理資訊系統,讓機器人達到定位功能;更以模糊控制理論來達到路徑追蹤功能,讓機器人能在預設軌跡上移動,並配合無線攝影機與藍芽遙控模組達到監控效果;機器人以三組全向輪作為致動器,讓移動或轉彎時更迅速;另外應用模糊控制理論達到直流馬達的閉迴路轉速控制,讓機器人依然能行走於斜坡等地形。

 

3. 效能參數

表1 掃描效能表
Sensor
掃描頻率
超音波測距
20ms
電子羅盤
16ms
紅外線測距
9.5ms
GPS
1s
表2 執行效能表

執行項目
預期效能
實際效能
備註
前進最大速度
10cm/s
8cm/s
約降低20%效能
爬坡最大斜度
15度
20度
約提升34%效能
環境掃描一趟時間
30ms
20ms
提升約50%效能

 

4. 設計架構

圖1 系統架構圖

系統架構如圖1所示,系統以FPGA為中心,接收外部感測器訊號(超音波、人體紅外線、GPS及電子羅盤等),並控制外部馬達;再透過藍芽模組與電腦作無線溝通,達到無線監控功能。控制器採用DE1的FPGA元件,並利用Verilog硬體描述語言來設計控制器,電腦端人機介面則利用Visual Basic設計,功能包括GIS資料讀取、GPS訊號擷取及影像處理等。

感測單元包括人體感測器、超音波感測器及紅外線感測器,數顆超音波感測器用來避障以及保持距離;此外,為了得知母親位置,利用人體紅外線感測器讓機器人知道附近有沒有人,藉此達到追蹤的目的。

硬體架構如圖2所示,共分三層,底層裝置一顆紅外線感測器、三顆直流馬達以及全向輪;第二層放置蓄電池、六顆超音波感測器及電路板;第三層放置FPGA控制板、GPS、電子羅盤、藍芽模組、人體感測器、紅外線感測器及超音波感測器,最頂端則裝上嬰兒床。

 

 

圖2 硬體架構圖

 

5. 設計方法

5-1 感測單元

感測方面又分距離感測及人體感測。距離感測部分,使用九個超音波及五個紅外線,超音波模組傳回訊號為脈波訊號,計算脈波寬度即可得知距離,紅外線模組則是以RS232封包格式回傳,必須撰寫接收程式以判斷距離。此外,超音波的缺點是會因障礙材質的不同而有誤差(會偵測不到棉質物體),而紅外線會因物體顏色而產生誤差,因此兩種搭配使用,互相彌補缺點。 人體感測器使用了五顆,並利用ㄇ字型壓克力調整其感測角度,讓機器人得知附近是否有人,並判斷方位以決定移動方位,達到追蹤之功能。

超音感測器之回傳值為脈波寬度調變格式,由於回授為PWM訊號,需藉由PWM編碼電路來編碼,將波寬值轉換為12 bit之數位值,如圖3所示為超音波接收流程圖,一開始即進入第一個迴圈,輸出觸發脈波並等待傳回值,當接收到正脈波後即進入第二迴圈,並開始計算脈波寬度。圖4為解PWM電路模擬圖,Counter會從PWM正緣開始計數,由負緣結束並更新dis暫存器數值。

圖3 解PWM流程圖

  圖4 解PWM電路模擬圖

數位型紅外線感測器,是透過紅外線LED燈(IR LED)與位置感光檢測器(PSD)偵測距離,以RS232封包格式傳回,可偵測10cm到80cm的距離。提供三種操作模式:

(1)串列HEX模式:

預設的操作模式,傳回8bit的訊號,傳輸率為4800bps。

(2)DIRRS模式:

傳回8bit的訊號,傳輸率由Pin 2輸入的Clock所決定。

(3)串列CM模式:

以ASCII字元傳輸方式,將距離以公分為單位傳回。 該感測器已內建A/D轉換,可將電壓值轉換成數位值,其範圍為255~0,代表10cm~80cm。

5-2 運動控制單元

本作品的全方位移動平台運動控制方面,是利用三顆馬達的個別轉速不同來控制平台的移動方向;對於此平台而言可以說是一種二維度運動方式,運動情況包括:前進、後退、左轉、右轉……等等,因此必須對此移動平台的個別輪子轉速加以適當的控制,便可以達到控制全方位移動的目的。

由於每顆馬達轉速未必相同,即使計算出每顆馬達的速度向量,也可能因馬達本身或地形關係造成移動角度有誤差,為了確定馬達轉速一致,必須對馬達轉速作閉迴路控制;首先在馬達中心軸處裝置Encoder,利用馬達編碼器產生的脈波來計算轉速,其方法同前章所介紹的超音波感測器之解PWM原理,寬度越寬則轉速越慢,否則轉速越快。馬達控制方塊如圖5所示,為了能夠讓直流馬達的轉速更穩定,利用模糊控制理論,將Encoder轉速與預設轉速之誤差作為輸入變數,經模糊化、模糊邏輯及解模糊等過程,以決定輸出電壓值。

圖5 直流馬達控制方塊圖

輸入歸屬函數如圖6所示,輸出歸屬函數如圖7所示,並利用重心法解模糊化,實際馬達輸出響應如圖8所示。

圖6 輸入歸屬函數

圖7 輸出歸屬函數

圖8 馬達輸出響應圖

機器人使用三組直流馬達,因此個別套用三個Fuzzy控制器,並且讓機器人實際移動,實驗結果發現,當機器人行經凹凸不平的地面時,機器人依然能夠通過,證明馬達轉速模糊控制器是可行的。 本機器人採用三組全向輪做為致動器,需要利用三顆馬達的個別轉速不同來控制平台的移動方向;對於此平台而言可以說是一種二維度運動方式,運動情況包括:前進、後退、左平移、右平移…等等,因此必須對此移動平台的個別輪子轉速加以適當的控制,便可以達到控制全方位移動的目的。

為了進一步了解全方位移動平台的運動方程式,首先必須對此平台做一些假設條件:

A. 假設平台的輪胎與地面僅有滾動沒有滑動現象。
B. 假設此平台的質心位置在平台中心處。
C. 假設將平台的個別馬達轉速表示成速度向量,利用向量疊合關係產生所需要的移動向量。
D. 假定平台在移動的時候不會轉動。

有了上述的條件之後,全方位移動平台動態模型如圖9所示:

圖9 全方位移動動態模型

以右邊水平線為0度,V1、V2及V3輪配置於30度、150度及270度,則各個馬達所需的轉速為:

5-3 避障及追蹤單元

由於家中多多少少會有桌子椅子等障礙物干擾,為了讓機器人能夠避開它們,裝置了九顆超音波及四顆紅外線感測器,配置方式如圖10所示,粗箭頭為超音波感測方向,細箭頭為紅外線感測方向,環繞機器人前半圓,這些距離感測器有兩種功能,一為前進時偵測障礙物並下令讓機器人避開,二為追蹤模式時,可與父母保持適當距離。

圖10 感測器配置圖

(1)遙控及避障模式

遙控部分使用藍芽收發模組,利用VB設計人機介面(如圖11所示),透過NB下令機器人移動,而所謂人有失手馬有失蹄,如果純手動會發生諸如撞牆或傾倒等危險,因此須搭配感測器避障,才能確保嬰兒的安全。將前進指令加上避障功能,以改變輸出的移動方向,圖12為避障流程圖,一開始先環境掃描,判斷前半圓的範圍內有無障礙物,若有障礙物則開始原地旋轉,其旋轉的方向由左前方及右前方之障礙距離總和作判斷,當前半圓的範圍內無障礙物時,有五種行為模式讓系統判斷該往哪種角度(分為0度、30度、90度、150度、180度)去做全方位移動,最後回到環境掃描重新判斷,讓避障時能夠更平滑,增加舒適感;另外搭配電子羅盤,使機器人在避開障礙物後,能夠朝預設方向移動。

圖11 藍芽遙控介面

圖12 避障流程圖

(2)追蹤模式

利用五顆人體感測器來判斷父母位置,以決定移動方位,感測器擺放角度分別為0、45、90、135、180度,則可以得到5位元的值(由左至右為0°、45°、90°、135°180°),其控制規則如表3所示,X代表don’t care。

表3 追蹤控制規則表
Sensor
移動方向
X010X
與父母保持距離
X100X
右轉
X001X
左轉
X110X
120°平移
X011X
60°平移
10000
右轉
00001
左轉
00000
停止不動
X111X
與父母保持距離

其中,與父母保持距離則需使用到前方的超音波及紅外線感測器,太近則退後,太遠則前進,直到適當距離則停止,而人體感測器負責判斷母親偏左或偏右,目的讓嬰兒車面向母親並保持安全距離。

(3)操作介面

藍芽遙控使用說明: 透過電腦端直接執行嬰兒車的行走方向(前進、左轉、右轉、後退)、切換模式(遙控模式、搖籃模式、追蹤模式)及GPS定位,而右下角的介面是利用滑鼠的點擊位置去控制嬰兒車的移動角度和速度,也就是和中心的紅點去做相對的位置和速度比較,例如當滑鼠點擊在紅點的右上方時,嬰兒車就會往右上方移動,而離紅點越近速度越慢,反之,離紅點越遠速度越快。

遙控器使用說明:

5-4 衛星定位功能

另外利用下拉式選單來選擇縣市,程式即會開啟對應的檔案並繪製地圖(如圖13所示),以單線連接轉折點,以構成地圖畫面,另外可利用右邊的捲軸調整地圖大小。

圖13 開啟資料並繪製地圖

 

圖14為自製的地圖顯示程式,選擇縣市後,程式會讀取該縣市檔案,接著按下“連接GPS”鈕,即以RS232方式連接GPS模組,並將收到的字串進行判斷與擷取,將目前座標設為畫面中心。

圖14 地圖顯示程式

用滑鼠點擊地圖中的任何節點,即自動找出分支的道路及角度,首先掃瞄整個縣市道路,記錄通過該點的道路,並計算道路角度,圖15中實線為道路,(X0,Y0)為節點座標,其道路角度計算公式如下:

將道路兩點的緯度(y)相減除以經度(x)相減取絕對值,再取反正切得到道路與水平軸的夾角,接著判斷象限以計算實際角度。執行結果如圖16所示,點擊該節點後,若有N條分支,左上角會顯示N個角度,圖中有三條分支,因此可得到346°、90°及190°。

 

6. 設計特點

    1. 利用現有的FPGA控制器以及全向輪移動平台(包含驅動器),以Verilog硬體描述語撰寫PWM控制程式,完成每顆馬達之開迴路轉速及正反轉控制。
    2. 撰寫FPGA的RS232傳送介面,用於將馬達的轉速值傳至電腦,並使用VB程式語言設計電腦端介面,將接收到的數值以波形方式顯示,用來取代示波器的功能,利用這套工具可以有效增加設計效率。
    3. 由於直流馬達容易因地形或其它因素造成轉速降低,可能使機器人實際的移動角度失真,因此利用馬達編碼器的回授訊號,撰寫轉速解碼程式,計算傳回的Pulse寬度以得知其轉速,再設計模糊控制器來控制輸出轉速,使轉速比較平順,讓實際轉速與期望值一致,達到閉迴路轉速控制。
    4. 為了達到全方位移動,需對三顆馬達下達不同的轉速命令,利用向量疊合關係產生所需要的移動向量,會用到三角函數計算,由於Verilog硬體描述語不支援三角函數,因此利用建表方式,將輸入角度轉換成輸出轉速;最後整合三組馬達,個別控制轉速來達到全方位移動。
    5. 組裝五個人體紅外線感測器,因為其感測範圍過大(左右50度、上下30度),為了讓機器人知道人體的確切位置,需製作ㄇ型壓克力並放置於感測器前方,增加準確度。
    6. 裝置藍芽傳輸模組,可透過電腦端直接監控嬰兒車,將前進指令加上避障功能,讓避障時能更平滑。
    7. 裝置無線射頻遙控器,為了讓父母能夠實際操控嬰兒車,避免機器人誤判或跟丟等問題,因此多加遙控功能。
    8. 設計人體追蹤功能,判斷人體紅外線感測器的傳回值(ON/OFF)以得知附近是否有人,由於感測器只有單一訊號,僅能得知是否在範圍內,因此需利用前方的超音波感測器來得知與母親的距離,在母親移動時機器人則保持適當距離移動,太近則後退、太遠則前進。
    9. 裝置電子羅盤,配合避障功能,讓機器人能夠保持同一方向前進。
    10. 裝置GPS接收模組,利用FPGA擷取資訊,再透過藍芽模組將座標資料傳至NB,由於GPS傳送速率為4800bps,而藍芽傳輸速率為9600bps,因此需撰寫緩衝程式,讓資料順利傳輸。
    11. 嬰兒車配置無線攝影機,並且顯示在VB人機介面,讓監控功能更完整。

 

7. 總結

由於Altera大賽不限制比賽內容,我們就以FPGA-Based (Altera DE1),設計出能夠跟隨人體移動、監控環境以及GPS定位之機器人系統為基礎,並以這個設計參加競賽,製作過程雖然繁複,需要設計外觀、感測器配置及電路配置…等,但是可以藉由實作學習解決問題的能力,另外透過各種裝置的統整,讓系統在整合方面能更加完善,並持續研究如何改寫程式及測試感測器的數值,讓機器人能運作更完美。

藉由參與這次競賽,讓我們可以和其他大專院校作比較,能更清楚對於自己的作品設計與創新能力到達什麼地步,並能吸收各方面的資訊,來提升參賽者的見聞,我們很榮幸能參加這項競賽。