TW071 機器人智慧型控制系統設計

排名 獲獎學生 學校 指導教授
冠軍 陳志瑄、張家榮 元智大學電機工程系 林志民
 

1. 設計介紹

由於科技產業高速發展,推動的機器人新興產業的來臨,是20世紀人類科學技術進步的重大里程碑。為了滿足各種不同情況的需求,許多特殊功能性的機器人因此而誕生;無論是重工業的機器人、家庭娛樂機器人、環境安全維護及軍用機器人、NASA火星探測機器人或是HONDA推出的ASIMO人形機器人等,都意味機器人世代即將來臨。

全世界在機器人研發投入相當多的人力與成本,尤其是日本在機器人產業發展最為全面,工業局推估機器人產值在2009年可達到400億元,預期在2015年時,全台智慧型機器人產業產值將由目前的200餘億元,大幅成長至2500億元。在2000年HONDA推出最新款的人形機器人ASIMO為當代最具影響力的機器人,它結合許多產業,電子電機、通訊系統、訊號處理、機械結構、半導體、影像處理,語音處理等不同領域結合,也唯有機器人是唯一可將眾多領域結合的最佳平台。

就目前機器人領域發展上,許多實用性理論在發展階段,許多演算法陸續被發展出來,使機器人更能適應不同的環境。因為人們所生活的環境對於與機器人共存有相當程度的困難性,以人形機器人為例,可能一個門檻就會使機器人跌倒,因此機器人發展還有很長的路要走。有鑑於此,為了能達到適應不同的環境,就必須安裝許多感測器,以及搭載人工智慧,因此選擇整合功能強大的FPGA當作系統平台。機器人行走最主要設計考量有三大要素,第一大要素:不同地形的反作用力造成機器人姿態變化(適應不同地形反映出不同的補償動作);第二大要素:末端軌跡路徑規畫(透過運動學實現);第三大要素:目標零力矩點(Zero Moment Point ,ZMP)控制(使重心保持在穩定區間)。

本作品目標鎖定在未來10年的家庭機器人產業領域與教育用途機器人,設計出可替代人們做高危險的工作或是反覆性高的工作。近年來由於少子化的趨勢導致高齡化社會,所以可將本技術拓展到居家安全機器人,為了使機器人發展更為廣泛,目前日本正積極發展此項領域。為了達到高門檻機器人整合技術與未來高發展性平台,目前屬於研究階段,本作品結合了機械視覺以部分硬體實現演算法提高及時性,辨識目標物與人臉偵測,以及搭配的慣性導航系統(Inertial Navigation System ,INS)相關的姿態感測器:陀螺儀、加速度規與電子羅盤等,結合超音波感測與紅外線測距達到避障的功能等等。

1.1 作品介紹

  本作品建立出兩個Nios II軟核處理器系統,透過硬體加速可將許多複雜的周邊電路實現即時資料擷取,同時可分攤NIOS II的工作量,以及NIOS II,並且將部分影像處理硬體化,也可提高即時影像處理的實現性。透過Nios II強大的處理器,可更容易將更大規模的系統整合,也可減少設計產品周期,配合使用者自訂指令,Look-Up Table與Nios II C2H編輯器等可同時提升系統的即時性。

機器人智慧型系統實驗外觀圖如圖一所示,本機器人機構自行設計開發。機器人規格為高度460mm,重量約為3kg,搭配27顆不同扭力需求所配置的伺服馬達,電力驅動有外部提供或內部電池,身體內部相關電路有電源管理電路,電源隔離電路,數位取樣電路,主動濾波電路,放大器等等介面,以及眾多周邊感測器(陀螺儀、加速度規、壓力感測器、電位計、超音波測距、紅外線測距、電子指南針等等)整合而成的機器人系統,背部部分搭載Altera Cyclone III FPGA Starter Kit。圖二為機器人系統搭配Altera Cyclone III FPGA Starter Kit背視圖:

圖一 、機器人智慧型系統實驗環境

圖二 、搭配Altera Cyclone III FPGA Starter Kit背視圖

本作品建立出兩個Nios II軟核處理器系統,透過硬體加速可將許多複雜的周邊電路實現即時資料擷取,同時可分攤NIOS II的工作量,以及NIOS II,並且將部分影像處理硬體化,也可提高即時影像處理的實現性。透過Nios II強大的處理器,可更容易將更大規模的系統整合,也可減少設計產品周期,配合使用者自訂指令,Look-Up Table與Nios II C2H編輯器等可同時加速系統的實現性。機器人智慧型系統平台如圖三所示。

 
圖三、機器人智慧型系統平台

1.2 應用領域:

(a).智慧型系統與人工智慧
(b).機電整合與微機電系統
(c).電力電子
(d).電機控制系統
(e).無線通訊相關
(f).機器視覺系統
(g).隨機訊號處理
(h).感測器

1.3 目標的使用者:

(a).家庭機器人研發廠商:照顧居家老人以及分攤家務事。
(b).產業用途機器人研發廠商:替代高危險的工作群從事危險的工作等等。
(c).教育用途機器人:培養學生在機器人領域相關常識與發展創造力。
(d).休閒娛樂用途機器人研發廠商:表演用途。

1.4 發展套件

選購時尋找強大的整合平台,整合周邊電路,硬體加速實現,來實現機械視覺和機器人相關理論與智慧型控制演算法,但為了達到Stand-Alone與受機器人體積的限制,選擇體積較小且功能強大的 Altera Cyclone III FPGA Starter Kit來當作整合平台。其中同此尺寸發展板中,經過比較後,Altera Cyclone III FPGA Starter Kit為整合性最強發展板。

2. 功能描述

1.功能介紹

a. 周邊串列式A/D 轉換器擷取外部感測器數位資訊,在FPGA的GPIO有限的前提下,採用串列式A/D 轉換器可大量減少GPIO使用 (以Verilog設計) 。
b. 周邊感測器擷取溝通,例如測量背部障礙物而設計的超音波感測器以及定位用的電子羅盤感測器。(以Verilog設計) 。
c. 將慣性姿態感測器資訊當作機器人姿態平衡的依據,利用智慧型控制器補償機器人軀幹。
d. 利用壓力感測元件感應腳底壓力值以求出實際的重心,若重心落在雙腳或單腳構成的支撐平面內,則機器人會保持平衡不會傾倒。
e. 將每一個伺服馬達以MIMO閉迴路控制器運算,可確保每一個單位伺服馬達確實有達到目標位置。
f. 透過FPGA強大整合功能,將控制以及姿態平衡等相關演算法與影像處理分別放入至不同的CPU並行處理,因應不同需求而設計,並 且可提高整體效能
g. 透過CMOS感測器可進行影像處理,例如:球狀偵測,特殊顏色偵測,人臉膚色偵測等等,達到自主目的。

2.實現方法

硬體加速周邊部分:

a. 使用除頻電路將輸入頻率為50MHz降為200K與100K分別給予串列式A/D來控制訊號。
b. 產生PWM電路給予25個伺服馬達。
c. 雙向port控制周邊方位感測元件與距離感測器。
d. 利用on-chip 記憶體做為基底來建構常用數學運算函數,例如指對數、高斯函數或三角函數等等。
e. 雙NIOS II核心並行處理;主要的CPU控制周邊硬體電路與智慧型演算法與其他演算法的實現;另一個CPU主要針對影像處理相關的資訊。

軟體實現演算法部分:

f. 因為外部感測器常被雜訊掩蓋真實訊號,利用遞回估測濾波器:卡曼爾濾波器消除高頻彈跳雜訊。
g. 小腦模型控制器為on-line tuning 的智慧型控制器,其優點在於簡單的網路架構以及線上學習的能力,可。
h. 影像演算法:二值化、中值濾波、邊緣偵測、等直方圖、色像與特徵判斷。可將部分改良為硬體電路,其中將最運算時間的邊緣偵測,利用C2H轉換為硬體電路。

3. 效能參數

 本次使用硬體電路如AD轉換電路、PWM產生電路,等其他周邊感應器控制電路,以及使用C2H,可提高快20倍以上的效率,另外也使用查表法,利用查表法提高25倍以上的效率。另外,控制核心的頻率為100Hz,影像處理核心的頻率約為4~10Hz,雖然影像的處理無法比上控制核心,但是在實際機器人用途上,還是可以有量好的即時追蹤效果,原因為機器人步行時,速度並不快。

4. 設計架構

1.系統架構

為了加強系統性能,將系統拆成雙NIOS II核心並行處理,主要的CPU控制周邊硬體電路與智慧型演算法與其他演算法的實現;另一顆CPU主要針對影像處理相關的資訊以及控制影像周邊硬體電路,並且透過輸出入中斷達到彼此溝通的目的,因為影像處理必須花上許多時間,但機器人需要及時控制,否則容易會發生傾倒的風險,為了加強系統的即時性,因此不規劃在同一顆核心串列處理,所以採用雙NIOS II核心系統。本作品系統方塊圖如圖四所示:

圖四、系統方塊圖

2.軟體流程圖

圖五為軟體流程圖,主要分為兩個主要的程式在不同的NIOS II系統,第一部分主程式為處理智慧型控制、機器人演算法、控制周邊硬體電路、外部通訊系統與彙整外部感測器等等,第二部份主程式為處理機器影像視覺、控制影像周邊模組。當機器人得到影像資訊後傳給CPU1,此時機器人根據CMOS感測器資訊給予行為回饋,因為行走其間因為地形不一致,造成機器人可能會有傾倒的可能性,透過姿態感測器回饋可補償機器人姿態,使機器人按照控制者給予的命令或是自主達成目標。

 
圖五、軟體流程圖

5. 設計方法

本作品設計主要是將機器人整合系統建構於FPGA與NIOS II強大整合能力之下,透過硬體加速也可提升整體效能。機器人系統如同人依樣,有眾多的感應器,因此將會有需多的周邊電路搭配,透過感應器偵測,可得知機器人目前的姿態以及周遭環境資訊,將這些有用的資訊加以計算,也利用目前十分熱門的智慧型控制器,使機器人宛如小孩般的學習,當學習成果與預期目標收斂後,會做出相對應行為,以及可適應不同的地形等等,為本作品主要目的。
 
1.       零力矩點: 零力矩點理論為重要的步行指標,被廣泛的應用於人形機器人之控制與軌跡規劃。其定義為在地面上的慣性力與重力之淨力矩無水平成分,也就代表各連趕在行走時產生的加速度有慣性力,若連桿的合力矩與地面的反作用力抵銷,地面反作用力之點為零力矩點。若零力矩點落在雙腳或單腳構成的支撐平面內,則機器人會保持平衡不會傾倒,若要偵測機器人實際之零力矩點,可透過壓力感測器計算出實際之零力矩點位置。零力矩公式為:
 
2.       軌跡規劃:機器人步行軌跡規劃由擺動腳軌跡與腰部中心軌跡所組成,其中腰部中心軌跡是由理想的零力矩點軌跡所反推出重心投影向量,腰部中心軌跡也就依循重心投影向量所規劃出來的軌跡行走,實際上是off-line產生軌跡,再透過智慧型控制器on-line補償軌跡。
 
3.       數位濾波器:卡曼濾波器由一系列遞迴數學公式描述。它們提供了一種高效可計算的方法來估計過程的狀態,並使估計均方誤差最小。卡曼濾波器應用廣泛且功能強大,可以估計信號的過去和當前狀態,甚至能估計將來的狀態,即使並不知道模型的確切性質。
 
4.       小腦模型控制器: 基本上CMAC是類似於人類小腦的一種學習結構。在此技術中,每一變數都被量化,所以整個問題的狀態空間被分成不同區塊的離散狀態。對於一個輸入離散狀態,可將此狀態所對映一組量化的輸入向量視為記憶體的位址,而從記憶體中獲得其輸出。每一狀態的輸出訊號是分佈地儲存在記憶體中。
 
 
A.          輸入空間 :每一個輸入的狀態空間變數 可以被分成不同區塊的離散空間(稱為元素)。
B.          聯想記憶體空間 :多個不同的元素可以堆積成一個區段。此空間中每一個區段利用高斯數來當其基底函數並表示如下:
 
C.          超立方體空間:其關係式如下 :
D.          權重記憶體空間:表示超立方體所對應的記憶體內容值。
E.           輸出空間:因此整個CMAC輸出表示可以表示為 :
 
5.       運動學: 運動學可分為順向運動學與逆向運動學;順向運動學為給定各關節之旋轉角度,進而求得末端連桿在絕對座標系中的空間位置;逆運動學為給定末端連桿在絕對座標系中的空間位置,反過來求解各關節的旋轉角度,本作品是採用D-H連桿座標系來表示各關節座標系統,再以幾何關係推導反向運動學。其中會使用大量的三角函數,為了加快運算數度,將常用的三角函數建表,採用查表法來減少運算時間。D-H連桿為:
 
6.       抗干擾控制:
         假若當步行時,突然受到外步作用力,那機器人可能會傾斜倒,因此設計一控制器補償反方向的作用力。實際上要測得機器人重心可利用足部壓力感測搭配慣性感測器,陀螺儀與加速度規,設立初始位置為機器人腰部重心,因此可以使機器人維持同一站姿。
 
 
 
 7.       視覺伺服控制
 
視覺伺服控制利用影像訊號當迴受訊號,這其中結合了影像處理,座標系轉換與控制理論,其實現方法接不同,因為本作品為單一CMOS鏡頭,所以無法透過數學計算立體影像,因此得到的資訊為二維的影像,無深度資訊,但透過取兩張影像,可推算出實際上兩張影像的關聯性,也就是斜邊與傾斜角,即可得知物體與機器人的向量,可透過逆向運動學實現抓取空間中特定一物體。

 

6. 設計特點

主要設計特點有:

1.採用雙NIOS II核心並行處理:
將系統拆成雙NIOS II核心並行處理,主要的CPU控制周邊硬體電路與智慧型演算法與其他演算法的實現;另一個CPU主要針對影像處理相關的資訊以及控制影像周邊硬體電路,並且透過輸出入中斷達到彼此溝通的目的。
2.使用C2H編譯器:
由於嵌入式的CPU運算重複性高的軟體程式不夠快,可能無法達到real time需求,利用強大的C2H可將軟體程式轉為硬體提升性能。
3.自訂指令
複雜的數學演算法與運算量大的數學式在NIOS II處理不夠迅速,利用自訂指令可減少整體處理速度,提升系統及時性。
4.自訂模組
將重複性高與消耗時間的周邊電路透過硬體演算法實現,例如CMOS擷取電路,PWM產生電路,類比/數位擷取電路或是機器視覺演算法。
5.智慧型演算法實現
透過AI人工智慧演算法實現在NIOS II核心,可根據不同的環境給予適應性的補償,再依據李亞普諾夫穩定性定理設計智慧型控制器的參數適應性調整法則,因此整個閉迴路控制系統可以被保證。另外,具有學習能力的智慧型控制器解決控制系統使用長久造成系統老化以及系統故障的容忍能力。

7. 總結

從去年就打算參加今年比賽,因此在這一年慢慢的累積自己的實力,也同時了解,要做一個產品,可真不是件容易的事。打從最初概念發想到逐步規劃,從尋找材料到組裝機構,從PCB設計到訊號處理,從verilog到NIOS II,從有線傳輸到wireless,從電學到力學,再從力學轉為控制方面的問題,再從控制方面的問題轉為影像方面的問題,從遇到挫折到解決問題,這每一步,都走的相當辛苦,尤其是讓我最大的突破在於Altera平台的整合性強大,有相當多的資源與IP,靈活性強,在學界也最具有代表,讓我對於硬體電路與系統整合這領域有了個敲門磚。

這次也很榮幸能參加Altera大賽,讓我有機會努力驗證實現自己的作品,儘管這一切都很苦,因此相信這樣的努力,都是值得的!