行政院國家科學委員會補助專題研究計畫
■ 成 果 報 告
□期中進度報告
打乒乓球之人形機器人之研究(2/2)
計畫類別:■ 個別型計畫 □ 整合型計畫
計畫編號:NSC 94-2212-E-006-022
執行期間: 94 年 08 月 01 日至 95 年 10 月 15 日
計畫主持人:蔡清元
共同主持人:無
計畫參與人員:
賴昌宏、王培睿、謝東利、黃鈞立、吳維凱、黃俊嘉
成果報告類型(依經費核定清單規定繳交):□精簡報告 ■完整報告
本成果報告包括以下應繳交之附件:
□赴國外出差或研習心得報告一份
□赴大陸地區出差或研習心得報告一份
■出席國際學術會議心得報告及發表之論文各一份
□國際合作研究計畫國外研究報告書一份
處理方式:除產學合作研究計畫、提升產業技術及人才培育研究計畫、
列管計畫及下列情形者外,得立即公開查詢
■涉及專利或其他智慧財產權,□一年■二年後可公開查詢
執行單位:
國立成功大學 機械工程學系
中文摘要
近十年來,由於人形機器人擁有擬人的外形、具親和力的設計及在人類生活環 境中的智能等要素,使得人形機器人成為眾所期盼的對象;而為了滿足消費者的需 求,近幾年來,已開發出各式各樣的人形機器人。本研究計畫屬於二年期的研究計畫, 其目的在於創造一個能與人對打乒乓球之人形機器人。 第一年期主要著重於一個會打乒乓球之人形機器人之建構、嵌入式以 DSP 為基 礎之控制系統之研發,以及機器人雙眼機械頭之視覺伺服控制器之設計。而第二年期 的主要目標,在於發展一個眼/手的智慧型協調控制之設計架構,藉以使人形機器人 能與人對打乒乓球。因此,我們以先前本實驗室所開發之家用機器人為基礎,重新建 構其頭部與身軀,使其更為靈巧,以便能勝任打乒乓球之人形機器人。本研究所完成 之人形機器人,主要是由一輪式移動平台、一個三自由度的腰部、一雙分別為七自由 度的左右機械手臂、一雙分別為七自由度的左右機械手,以及一個七自由度的雙眼機 械頭所組成。為了機器人能撿拾起乒乓球,或於對手發球時能以球拍追蹤著對手所握 持之球,提出了一個眼/手協調控制之設計架構,此一架構主要是利用自我組織可逆 映射類祌經網路,學習影像資訊、雙眼機械頭及機械手臂控制命令之間的關係,配合 灰色預測對於空間目標物進行視覺追蹤;並透過柯漢寧類神經網路來學習空間表示式 變化與機械手臂控制命令間的關係,進而驅動機械手臂來追蹤此目標物。而在機器人 的打擊運動上,我們提出應用倒傳遞類神經網路來預測球的軌跡,以決定拍擊的瞬間 行為及機械手臂的贅餘自由度結構之運動控制策略。 最後,以實驗來驗證理論的推導與打乒乓球人形機器人的性能。實驗結果顯示, 人形機器人能成功地打擊進入機器人場地的乒乓球,並返回對手場地。 關鍵詞:人形機器人、乒乓球、嵌入式、以數位訊號處理器為基礎、眼/手協調、自 我組織可逆映射類祌經網路、灰色理論、柯漢寧類神經網路、倒傳遞類神經 網路Abstract
In the recent decade, humanoid robots are widely anticipated to emerge owing to factors such as anthropomorphism, friendly design, and intelligence within human living environments. To fulfill these consumer demands, several humanoid robots have been developed in recent years. This research project is a two-year project. The objective of this project is to create a humanoid robot that can play ping-pong with human players.
The first year focuses on the construction of a ping-pong playing humanoid robot, the development of an embedded DSP-based control system and the design of the visual servo controller for the robotic binocular head. The main goal of the second year is to develop a design framework for robotic eye/arm intelligent coordination control to play ping-pong with human players. Consequently, the head and the torso of a previously developed home humanoid robot were reconstructed to be more dexterous to serve as a ping-pong playing humanoid robot. The new humanoid robot comprises mainly a wheeled mobile base, an 3 D.O.F. waist, two 7 D.O.F. robot arms, two 7 D.O.F. robot hands and an 7 D.O.F. robotic binocular head. The proposed design framework for robotic eye/arm coordination control to pick up the ball or track the ball held by the human player is based upon the proposed control structure and involves the application of SOIM neural network, grey theory, and Kohonen neural network. SOIM neural network is utilized to learn a calibration-free spatial representation of 3D targets. Kohonen neural network is utilized to learn the mapping from incremental changes in the spatial representation to incremental changes in the joint configurations of a robot arm. The back-propagation neural network is applied to predict the trajectory of the ball in the hitting task.
Finally, several experiments are conducted to verify the theoretical derivations and the performance of the ping-pong playing humanoid robot. Experimental results indicate that the humanoid robot can return the ball to the opponent site successfully.
Keywords: humanoid robot, ping-pong, embedded, DSP-based, eye/arm coordination, SOIM neural network, grey theory, Kohonen neural network, back-propagation neural network
目錄
中文摘要... I 英文摘要... II 目錄... III 第一章 緒論... 1 1.1 前言... 1 1.2 研究目的... 1 1.3 文獻回顧... 2 第二章 人形機器人之設計與逆向動力學之計算... 5 2.1 人形機器人頭部及腰部之設計與建構... 5 2.1.1 雙眼機械頭之設計與建構... 5 2.1.2 人形機器人腰部之設計與建構... 7 2.2 以 DSP 為基礎之控制系統之開發... 8 2.3 人形機器人逆向動力學之推導... 9 第三章 機器人伺服控制器之設計... 13 3.1 滑動模式控制... 13 3.2 模糊滑動模式控制... 18 3.3 人形機器人模糊滑動模式控制器之設計... 21 3.4 實驗... 23 第四章 機器人之手/眼協調控制策略... 25 4.1 手/眼協調控制的概念... 25 4.2 視覺追蹤系統控制器之設計... 26 4.2.1 SOIM 類神經網路... 26 4.2.2 SOIM 網路的可逆性... 294.4 灰色預測... 32 4.5 手/眼協調控制之架構與實驗... 35 第五章 機器人之打擊策略... 42 5.1 球之行為事件... 42 5.2 球之軌跡預測... 45 5.3 座標關係... 49 5.4 拍面方位之決定... 51 5.5 機械手臂移動軌跡之規劃... 52 5.5.1 機械手臂之逆向運動解... 53 5.5.2 拍面運動軌跡之規劃... 57 5.6 打擊實驗... 60 第六章 結論... 67 參考文獻... 69
第一章 緒論
1.1 前言 隨著電子科技、電腦與控制技術之快速發展,近十年來各種仿生機器(機器狗、 機器貓、機器猿、機器魚、機器蛇、人形機器人等)應運而生。由於其應用範圍包括 娛樂、生活援助、家庭、運動、災害救援,甚至高科技領域等,因此吸引了各國研究 人員積極地投入研究。其中,由於人形機器人具有類似人類的動作與智慧,其自由度 大、靈巧性高,不但易與人們互動,而且亦能與工作環境配合,近年來已漸漸成為機 器人研究領域中最熱門項目之一。 因此,機器人不再只是被要求能完成人類所不願意做或重複性的工作,而是希 望機器人能更進一步的與人互動,且更具有親和力;於是一個仿人類外形,且能深入 人類的生活,為人類做更多的事的人形機器人由此而生。人形機器人的建構,在機構 上需模組化及小型化,在控制系統上需具有即時網路通訊的分散式控制,而在感測系 統上需集合多樣感測器。 1.2 研究目的 自從日本 HONDA 公司在 1998 年公開發表其人形機器人的研究成果後,這個領 域開始引發熱烈討論,其亦將是機器人學在本世紀的一個重要研究方向。人形機器人 顧名思義為一具有類似人類的外形與功能的機器人,就外觀而言,一定有頭部與手 臂,如何令其眼睛與手臂能像人一樣能互相協調地去完成任務,將是一個非常重要的 研究課題。本研究計畫的目的在於研究人形機器人之智慧感測與決筞,以及手/眼協 調運動控制的機制,以建立未來個人機器人的基礎技術。本計畫所研究的對象是輪式 人形機器人,該輪式人形機器人將改良自本實驗室所設計的第一代家用人形機器人, 除了更改其雙眼機械頭的設計與增加其腰部的自由度外,並重新設計與規劃控制系 統,藉以減輕系統的重量與提昇系統的運算速度,而在實驗測試上,此一新的輪式人 形機器人將與人類進行乒乓球的對打,以驗證系統整合與控制策略的有效性。1.3 文獻回顧 在人形機器人的研發上,日本東京的早稻田大學無疑地一直是重要的研究中 心。該校的加藤一郎教授於 1973 年建構了世界上第一具真人大小的人形機器人 「WABOT-1」,其為一具配備有基本視覺與語言能力的龐然大物;而於 1984 年所建構 的人形機器人「WABOT-2」,則因為於 1985 年的筑波科學博覽會中演奏管風琴,而 聞名遐邇,激起了大家對未來機器人的想像。早稻田大學於 1992 年成立人形機器人 研究中心,此後,分別於 1995 年與 1997 年,建構了「Hadaly-1」與「Hadaly-2」二 具人形機器人,研究重點分別為導航、與人類間的互助;另於 1997 年開始建構人形機 器人「WABIAN」,目前已發展至第三代 WABIAN-RIII,具有 35 個運動自由度,重 130 公斤、高 188 公分,其特殊之處為利用身軀幫助平衡及膝關節非線性彈簧對抗肌 的功能,研究重點在於從機器人的角度釐清人體的運動控制機制,以及建立未來個人 機器人的基礎技術;而為了要提昇人形機器人的靈巧度,以及與人類接觸上的互動, 於 1998 年建構了「WENDY」機器人,其具有 52 個自由度,重 170 公斤、高 150 公 分。該校並於 2000 年成立人形機器人研究所,研究方向有了解人類科學、復健工程、 運動科學、及創造人類的助手。其他的著名日本大學如東京大學、名古屋大學、東京 技術學院、京都大學等也不餘遺力在研究人形機器人[9][14]。韓國科學與技術學院, 早年創辦 ROBOCUP 機器人足球競賽,正積極發展人形機器人的研究,並已開發他 們自己的人形機器人原型 KIST-2000。美國在人形機器人的研究,以 MIT 的人工智慧 實驗室(AI Lab.)為主,其於 1993 年開始進行人形機器人的計畫[7],而於 1998 年完成 建構一具僅具上半身的人形機器人寇格(Cog)[6],主要用於研究生理形態、感應器與 驅動器整合及社會性互動等主題,並藉由機器人的建置研究人類智能。 工業界從事人形機器人的研究與開發,應首推日本的本田汽車公司。就在早稻 田大學的「WABOT-2」於 1985 年演奏管風琴的隔年,本田汽車公司開始進行一項耗 資百萬美元的秘密計畫—研發以雙腳行走的人形機器人,其先由腳形機器人著手,其 型式從 E0(1986)、E1 至 E6(1993),機器人具備了以雙腳行走的基本功能後,接著研 究人員設法將腳形機器人和上半身機器人組合成人形機器人,其型式由 P1(1993)、 P2(1996) 至 P3(1997) [8],由於 P3 型廣受矚目,促使日本政府推動耗資數百萬美元
為 期 五 年 的 人 形 機 器 人 計 畫 。 由 於 本 田 公 司 的 不 斷 研 發 , 最 新 型 的 阿 西 莫 (ASIMO;2000)機器人,已可依據地形狀況決定自己如何動作,因此能夠於上下樓梯 及斜坡進行時保持身體直立,以時速 1.6 公里走向目的地。日本 Sony 在 1999 年設計 出來的 Aibo 狗,差一點就取代狗,成為人類最好的朋友;之後,該公司以同樣的運算 處理技術為基礎,設計了一具人形機器人「SDR-4X」。而 2001 年 9 月日本的 Fujitsu 也曾發表一具會以雙足走路的人形機器人「HOAP-1」。「SDR-4X」與「HOAP-1」皆 屬娛樂性質,HOAP-1 走起路來像個喝醉酒的小孩,而 SDR-4X 本來就是用來娛樂大 家,顯然在唱歌伴舞方面要強得多。 綜觀國外的人形機器人研究,本田汽車公司從 1986 年至今有 20 年的歷史,而 日本早稻田大學從 1973 年至今已有 33 年的歷史。由於二足式的人形機器人所需的研 發時間相當長,而且,有些場合以輪式移動平台取代雙足就足夠了,例如: Hadaly-1、 Hadaly-2 及 WENDY,都是上半身似人形而下半身為一移動平台,這些機器人的結構 設計多數著重於模仿人類頭部與雙眼方面的研究,以及透過雙臂與人類進行互動工作 [12][13]。因此,本計畫特選定輪式人形機器人為研究對象,以作為朝向二足式人形 機器人邁進的第一步。
以機器人與人類對打乒乓球,最早是由美國貝爾實驗室(At&T Bell Lab.) 於 1988 年所提出,該實驗室發展出一套能與人類進行乒乓球對打的機器人系統 [2][3][4],其 中使用的乒乓球桌比人類所使用的桌子要狹小,且加入乒乓球必須通過的金屬線框於 兩端及中央,比賽是由一個小型的機器人和人類進行對打,所使用的機器人為一部六 自由度的 Puma 260 機械手臂,而二部攝影機則固定地架設於機械手臂的兩側。控制 系統分為四個部分且分佈於多部電腦中:一個 3D 視覺系統(3D Vision System)能每 1/60 秒決定球的位置,一個軌跡分析器(Trajectory Analyzer)能決定且推斷球的運動軌 跡,一個專家控制器(Expert Controller)能經由乒乓球的打擊策略來產生機器人所要的 打擊軌跡,以及伺服系統(Servo System)能使機器人隨著軌跡移動。雖然系統能成功 地與人類進行對打,但仍受限於某些條件,例如:人類必須使球穿過所規劃的金屬框 線,而且由於攝影機的涵蓋視野有限,因此,桌面的寬度與長度皆小於一般的桌球桌。 為了屏除這些限制條件,本研究計畫擬以所設計的輪式人形機器人與人類進行乒乓球
對打,除了其具有主動視覺的優勢外,配合所提出的智慧感測法則與手/眼協調運動 控制的策略,必能完成任務。
第二章 人形機器人之設計與逆向動力學之計算
為了使機器人能融入人類生活環境中,機器人以擬人形活動於人類生活環境,將 有助於增加機器人對人類的親和力。然而,完全仿似人類外形的機器人,在製作上存 在著一定程度的困難性,因此,適當簡化機器人外形,可使機器人具有足夠親和力且 在製作上容易完成。本計畫在硬體上,改良自本實驗室所設計的第一代家用人形機器 人-輪式人形機器人,除了更改其雙眼機械頭的設計與增加其腰部的自由度外,並重 新設計與規劃控制系統,新的人形機器人其上半身擁有一個具三自由度的腰部的軀 體、一個七自由度的雙眼機械頭、各七自由度之左右機械手臂,以及各七自由度的左 右機械手,而在下半身則為一輪式移動平台。本文 2.1 節介紹人形機器人之頭部、腰 部之硬體設計,2.2 節說明人形機器人新的控制系統,2.3 節則推導機器人之逆向動力 學計算。 2.1 人形機器人頭部及腰部之設計與建構 2.1.1 雙眼機械頭之設計與建構 在人類的眼球中,視網膜的感測神經元分為兩大部分:錐狀體神經元和柱狀體神 經元,錐狀體神經元負責視覺中央區域的感測,柱狀體神經元負責在視覺中央兩側區 域的感測。因此,人類的視覺具有廣角的視野及高度的解析力,並且在視覺的中央部 分的感測有相當高密度,但在兩側的視覺感測其密度則相對較低。為了在新設計的機 械頭上實現與人類相當的視覺感測機制,必須使攝影機具有廣角的視野及高解析度。 基於上述的理念,我們設計了一個擁有七自由度的雙眼機械頭,如圖 2.1 所示。 在機構設計上,使用商用軟體 ProE 進行設計及分析,以決定所需的馬達動力及驅動 性能,表 2.1 為此雙眼機械頭的運動參數。圖 2.1 七自由度雙眼機械頭 表 2.1 七自由度雙眼機械頭之運動參數 淨重 4.86 Kg 軸 下極限(deg) 上極限(deg) 最大角速度 (deg/s) 1 -80 80 160 2 -35 35 160 3 -35 35 160 4 -35 35 160 5 -45 45 300 6 -45 45 300 7 -45 45 300 其中,雙眼部分之機構具備三自由度,而頸部則具有四自由度。在眼部機構中,由於 每一隻眼睛將具備兩部攝影機,一部為超廣角視野的攝影機,另一部為高解析度之攝 影機,需建立一個固定機構並使兩部攝影機可同步轉動(Vergence),主要是模仿眼球 可以做朝左朝右的運動,並提供一個可做局部的上下轉動(Tilt)的機構,主要是模仿眼 球可以做朝上朝下的運動;而在頸部機構中,底座第一軸垂直於身軀之接觸面,可做 大範圍的轉動(Pan),如同人的頸子可以做轉動,第二軸與第三軸為一個正交機構設 計,主要是為了使頸部產生側彎及前傾的動作,而第四軸與第三軸是平行的,而整個
眼部機構將架於第四軸連桿上,這四個自由度的設計,主要是為了使眼部更能藉由頸 部之彎曲及伸展,來觀察靠近身體的物體。 2.1.2 人形機器人腰部之設計與建構 機器人的輪式移動平台可使機器人自由的移動於平面空間中。輪式移動平台在大 範圍的空間移動對機器人有相當的效果,但如果機器人須側身擊球或撿拾起在輪式移 動平台周圍的物體,則僅賴輪式移動平台將無法完成此任務。為了增加機器人身軀之 靈巧度,我們建構一個具三自由度的腰部,如圖 2.2 所示。 圖 2.2 三自由度機械人腰部 在腰部之結構設計上,採用 roll-pitch- yaw 的架構,並令三個旋轉軸相交於一點, 而機械人腰部的運動參數則列於表 2.2。圖 2.3 顯示完成後的整體機器人架構。 表 2.2 三自由度機械人腰部之運動參數 淨重 18 Kg
軸 下極限(deg) 上極限(deg) 最大角速度(deg/s)
Roll -90 90 90
圖 2.3 人形機器人 2.2 以 DSP 為基礎之控制系統之開發 為了增加機器人控制電子系統的性能,本計畫建立了以 DSP 晶片為核心的控制 系統,此一以 DSP 為基礎之控制系統包含有主控制子系統、伺服控制子系統與影像 處理子系統,為了故障偵查、排除與系統維護,皆採模組化的設計方式,各模組化的 單元可透過其資料傳輸介面,以協調各控制模組進行平行資料傳輸,可提升機器人控 制系統的效率。主控制子系統主要是進行最上層的控制決策;伺服控制子系統除了用 以執行最底層的馬達控制外,亦負責一些感測器訊息之讀取;而影像處理子系統可將 來自 CCD 攝影機所擷取的影像,經由適當的演算法而得到影像資訊,並將此資訊傳 遞至主控制子系統做為決策的輸入信號;當主控制子系統完成控制決策後,會將所要 的輸出行為傳遞至伺服控制子系統,以進行馬達的驅動完成整體控制。人形機器人的 整個控制系統之硬體架構如圖 2.4 所示。
圖 2.4 人形機器人控制系統之硬體架構 2.3 人形機器人逆向動力學之推導 為了描述相鄰兩根連桿間平移與旋轉的關係,必須在每根連桿上定義座標系。本 計畫採用 Modified Denavit-Hartenberg 表示法,定義以機器人的腰部為基底座標系 (O−x y zwb wb wb)之人形機器人整體座標系統,如圖 2.5 所示。有了座標系統的定義後, 即可決定機器人之連桿參數,並完成順向運動學的推導。 而在動力學的分析上,主要探討機構運動與致動器所施加的力與力矩之間的關 係。一般常用來推導動力學的演算法包括了 Newton-Euler 法和 Lagrangian 法。 Newton-Euler 法是直接利用 Newton 第二定律來推導,根據力與動量來描述動態行為; 以 Newton-Euler 法所得到的方程式,包括了作用在相鄰兩連桿間的拘束力,必須透 過額外計算來消除這些項,才能得到關節力矩以及由關節角度所描述機構運動的關 係。而 Lagrangian 法則是根據功和能量來描述系統的動態行為。Newton-Euler 的計算 法則為遞迴式計算,其計算方程式具有模組之結構,對於微處理器之計算及程式之撰 寫更有效率。因此本計畫採用 Newton-Euler 遞迴式來計算機器人系統的逆向動力學。
圖 2.5 人形機器人整體座標系統 Newton-Euler 遞迴式計算有兩大部份,分為向外疊代計算及向內疊代計算。向外 疊代計算為求得各軸轉速、角加速度及線性加速度,則各連桿質量中心相對於該座標 系的線性加速度可由上式求得;接下來我們可以採用 Newton-Euler 方程式求出作用於 連桿質量中心處的慣性力及力矩。而向內疊代計算為將由向外疊代計算求得的慣性力 及力矩,疊代推導至前端連桿,以求得各軸之最終所受的力及力矩。其公式如下, 1 1 cos sin 0
sin cos cos cos sin sin
sin sin cos sin cos cos
i i i i i i i i i i i i i i i i i i i i i a R p d d
θ
θ
θ
α
θ
α
α
α
θ
α
θ
α
α
α
− − − ⎡ ⎤ ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ =⎢ − ⎥ = −⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ ⎣ ⎦1
cos
sin
cos
sin
sin
sin
cos
cos
cos
sin
0
sin
cos
i i i i i i i i i i i i i iR
θ
θ
α
θ
α
θ
θ
α
θ
α
α
α
−⎡
⎤
⎢
⎥
= −
⎢
⎥
−
⎢
⎥
⎣
⎦
0
ˆ
0
1
iz
⎡ ⎤
⎢ ⎥
= ⎢ ⎥
⎢ ⎥
⎣ ⎦
向外疊代計算: 1 1ˆ
i i iR
i iz
it
θ
ω
=
−•
ω
−+
∂
∂
(2.1) 2 1 1 1 1?
2 i i i i i i i i i i iR
R
z
z
t
t
t
t
ω
ω
−ω
θ
θ
− − −∂
=
•
∂
+
•
⎛
×
∂
⎞
+
∂
⎜
⎟
∂
∂
⎝
∂
⎠
∂
(2.2)(
)
1 1 1 1 1 1 1 i i i i i i i i i i iv
v
R
p
p
t
t
t
ω
− −ω
ω
− − − − −∂
=
⎡
∂
×
+
•
×
+
∂
⎤
⎢
⎥
∂
⎣
∂
∂
⎦
(2.3)(
)
( ) ( ) i i ci i i c i i i c iv
v
p
p
t
t
t
ω
ω
ω
∂
=
∂
×
+ •
×
+
∂
∂
∂
∂
(2.4) ( ) i i i c iF
=
m
•
v
(2.5)(
)
( ) ( ) i i c i i c i iN
I
I
t
ω ω
ω
∂
=
•
+ ×
•
∂
(2.6) 向內疊代計算: 1 1 1 i i i i if
−=
R
−f
+
F
− (2.7)(
)
1 1 1 1 1 1 ( 1) 1 i i i i i i i i c i i i i in
−=
N
−+
R
−• +
n
p
−−•
F
−+
p
−×
R
−•
f
(2.8) 1 1ˆ
1 T in
iz
iτ
−=
− − (2.9) 初始條件如下: 向外疊代:ω
i−1=[
0 0 0]
T[
]
1 0 0 0 T i t ω− ∂ = ∂[
]
1 0 0 T i v g t − ∂ = − ∂ 向內疊代: fi =[
0 0 0]
T[
0 0 0]
T i n = (沒有外力及外力矩) 使用此法來計算機器人逆向動力學時,以連桿接著下一連桿的方式來進行計算,(1)腰座標系(W1)→胸座標系(C4)→右手臂之肩座標系(RA1)→右手臂之肘座標系 (RA4)→右手臂之腕座標系(RA7), (2)腰座標系(W1)→胸座標系(C4)→左手臂之肩座標系(LA1)→左手臂之肘座標系 (LA4)→左手臂之腕座標系(LA7), (3)腰座標系(W1)→胸座標系(C4)→頭之頸座標系(H1)→頭之座標系(H56)→頭右眼座 標系(H6), (4)腰座標系(W1)→胸座標系(C4)→頭之頸座標系(H1)→頭之座標系(H56)→頭左眼座 標系(H7)。 在這四組迴路中有兩個共用的分岔點,分別為胸座標系(C4)及頭之座標系 (H56),所以在向內疊代計算時由末端遞迴到此二分岔點時,必須先行合併其計算結 果,分別以以下方程式進行結果的合併, (1)在頭之座標系(H56)的結合: 56 56 56 6 6 7 7 56 H H H H H H H H
f
=
R
f
+
R
f
+
F
(2.10)(
)
(
)
56 56 56 56 56 6 6 7 7 ( 56) 56 56 56 56 56 6 6 6 7 7 7H H H H H H H H H c H H H H H H H H H H H H
n
N
R
n
R
n
p
F
p
R
f
p
R
f
=
+
•
+
•
+
•
+
×
•
+
×
•
(2.11) (2)在胸座標系(C4)的結合: 4 4 4 4 1 1 1 1 1 1 4 C C C C H H RA RA LA LA Cf
=
R
f
+
R
f
+
R
f
+
F
(2.12)(
)
(
)
(
)
4 4 4 4 4 4 1 1 1 1 1 1 ( 4) 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1C C C C C C H H RA RA LA LA c C C C C C C C C H H H RA RA RA LA LA LA
n
N
R
n
R
n
R
n
p
F
p
R
f
p
R
f
p
R
f
=
+
•
+
•
+
•
+
•
+
×
•
+
×
•
+
×
•
(2.13) 由上述的計算後,最終可獲得每個座標系的瞬間所受的力與力矩,此為一般的逆 向動力學計算。第三章 機器人伺服控制器之設計
傳統的控制器如 PD 控制器、計算力矩法等,在面對運動速度提高、摩擦力或 是建模不確定性的影響,系統的追蹤性能便會變差。本計畫根據上一章所探討之逆向 動力學計算結果,對機器人之機械手臂與雙眼機械頭各設計了一模糊滑動模式控制 器。本計畫所設計的模糊滑動模式控制,是結合了模糊控制及滑動模式控制的觀念, 主要是利用模糊控制來解決滑動模式中的抖動(Chattering)問題,應用滑動模式來產生 模糊控制器的控制法則,並根據滑動曲面邊界層的觀念,來決定模糊控制器的參數, 如此可以保有系統的穩定性和強健性。也就是將滑動平面模糊化,在相位平面上建立 一邊界層,並在邊界層內,提供非線性的內差結果,以抑制抖動的發生。 首先在 3.1 節中,對傳統的滑動模式控制做說明。接著在 3.2 節引入模糊邏輯的 概念,結合傳統的滑動模式控制,成為模糊滑動模式控制,以改善抖動的現象和抑制 建模不確定因素的影響。而在 3.3 節中,將針對人形機器人,設計模糊滑動模式控制 器。最後,3.4 節中,將進行右機械手臂之軌跡追蹤實驗,以驗證所設計之控制器之 性能。 3.1 滑動模式控制 滑動模式的基本概念為,在系統的狀態空間中定義一個滑動平面S X( ,t)=0,利 用所設計的控制律,使得系統的軌跡皆朝向滑動平面移動。當軌跡到達滑動平面後, 便會保持在滑動平面上。而要使軌跡維持在滑動平面的充分必要條件為 0 0 2 1 2 < ⇔ ⋅ < S S dt dS (3.1) 滑動模式的穩定性可由 Lyapunov 函數來說明。若令V(X)=[S(X,t)]2 >0則 0 2 < = dt dS S dt dV 所以當滑動模式成立,亦保證系統為漸進穩定(Asymptotic Stability)。應用滑動模式理論於控制系統時,即使系統在干擾及模型不確定性的影響下, 仍可達到預定的控制目的。先考慮單輸入單輸出的非線性系統,可由(3.2)式表示: ) ( ) ( ) , ( ) , ( ) ( t d t u t b t f x n = X + X + (3.2) 其中 ) , ( t f X 為不精確的系統模型,即 ) , ( ) , ( ˆ ) , ( t f t f t f X = X +∆ X 且 ∆f(X,t) ≤ F(X,t) 控制律增益b X( ,t)僅知其範圍,即 ) , ( ) , ( ) , ( 0<βmin X t ≤b X t ≤βmax X t ) (t d 表示任意的干擾,且具有一上界,即 ) , ( ) (t D t d ≤ X 而 此 系 統 要 追 蹤 的 軌 跡 為
[
n]
T d d d d(t) x (t),x (t), ,x (t) ) 1 ( − = " X 。 定 義 追 蹤 誤 差 為[
~( ),~( ), ,~ ( )]
~ ( 1) t x t x t x n d − = − =X X " X 。並定義滑動曲面為 + =∫
t n d x dt d t S 0 ( ) ~ ) , (X λ τ τ λ >0 (3.3) 即 0 ) ( ~ ) ( ~ 1 ) ( ~ 2 ) ( ~ 1 ) ( ~ 0 1 2 ) 2 ( ) 1 ( = + − + − + + +∫
− − − − t n n n n n d x n n t x n n t x n n t x n t x τ τ λ λ λ λ " (3.4) 其中 n m m n m n m n ≤ ∀ − = )! ( ! ! 因為滑動曲面所有特徵值皆小於零,對於(3.4)式的任意初始值X~(0)均能使得 0 ) ( ~ lim = ∞ → X t t (3.5)因此若系統的軌跡能達到滑動曲面,並維持在滑動曲面上,則其追蹤誤差將趨近於 零。所以控制上的追蹤問題,便可化簡為維持滑動區面S X( ,t)的值為零。 滑動模式控制主要是藉著設計控制律u(t)使得S ⋅S <0,即 0 ~ 1 ) ( ) ( < + − + + ⋅
∑
= − n i i n i n d x i n x d bu f S λ (3.6) 假設所有狀態均可量測,則可設計控制律u(t)如下,控制架構則如圖 3.1 所示。 +∫
t n d e dt d 0 ) (τ τ λ PLANT S d X X u ∆ e eq u u + + + − u ∆ K K − S + − −∑
= − n i n i n d e i n x f b 1 ) 1 ( ) ( ˆ ˆ 1 λ 圖 3.1 滑動模式控制架構 ) sgn( ) , ( ˆ ~ ˆ ) , ( ˆ 1 ) ( 1 ) ( ) ( S t b K x i n x f t b t u n i i n i n d X X − + − − =∑
= − λ (3.7) 其中 2 / 1 max min ) ( ) , ( ˆ t = β β b X 為b X( ,t)的估測值 < − > = 0 ; 1 0 ; 1 ) sgn( S S S 將控制律u(t)代入(3.1)式得 + − − − − − − ≤ − + ∆ + + − − = ⋅
∑
∑
= − = − n i i n i n d n i i n i n d x i n x f b b D F K b b S K b b S d f S x i n x f b b S S 1 ) ( ) ( 1 ) ( ) ( ~ ˆ ˆ 1 ˆ ˆ ) ( ~ ˆ ˆ 1 λ λ 因此只要 0 ~ ˆ ˆ 1 ˆ 1 ) ( ) ( > + − − − − −∑
= − n i i n i n d x i n x f b b D F K b b λ (3.8) 即可滿足滑動模式成立的條件S ⋅S <0。所以K X( ,t)必須被設計成符合(3.8)式,即∑
∑
= − = − + − − + + > + − − + + > n i i n i n d n i i n i n d x i n x f D F K x i n x f b b D F K b b 1 ) ( ) ( 1 ) ( ) ( ~ ˆ ) 1 ( ) ( ~ ˆ ˆ 1 ˆ λ β β λ 其中 b bˆ = β 取 0 ~ ˆ ) 1 ( ) ( 1 ) ( ) ( + ≥ > + − − + + =∑
= − η η λ β β n i i n i n d x i n x f D F K (3.9) 因此對於單輸入單輸出的非線性系統,藉著選擇適當的不連續控制律u(t)中之 增益值,使得滑動模式的條件成立,則在面對干擾及不確定的作用,仍可達到準確追 蹤的目的。 先前討論的方法,可輕易推廣至多輸入多輸出系統。主要關鍵在設定 m 個滑動 曲面,而第 j 個滑動曲面Sj只與Xj,t有關,即Sj =Sj(Xj,t)=0。則 m 個變數的追蹤 問題,可簡化為 m 個滑動模式控制的問題,即第 j 個滑動模式的控制問題,選擇適當 的不連續控制律uj(t),使得 0 , , 2 , 1 ; 0 ) ( ~ ) , ( 0 ) ( < ⋅ = = + =∫
j j t j n j j j S S m j d x dt d t X S j " τ τ λ (3.10)理想的控制律u(t)應如圖 3.2(a)所示。但是實際上,u(t)的切換並不是瞬間完成, 存在著時間延遲,使得真實的控制律如圖 3.2(b)。如此會導致抖動現象的發生。而抖 動現象很容易激發系統高頻動態行為,這在控制上應該避免的。為了抑制高頻動態行 為,必須解決抖動的問題。 K − K S ) (t u K − K S ) (t u ∆ − ∆ 圖 3.2(a) 理想滑動模式控制律 圖 3.2(b)實際滑動模式控制律 因為抖動現象是來自不連續控制律u(t)在S X( ,t)的切換,可以在滑動平面鄰近 區一很小的邊界層,如圖 3.3 所示,使u(t)變成連續函數,而在邊界層外,仍符合滑 動模式成立的條件。如此抖動現象就會被抑制,而滑動模式的特性仍然存在。 為了改善抖動現象,將控制律u(t)修改為: ) ( ) , ( ˆ ~ ˆ ) , ( ˆ 1 ) ( 1 ) ( ) ( Φ − + − − =
∑
= − S sat t b K x i n x f t b t u n i i n i n d X X λ (3.11) 其中 Φ ≤ Φ Φ < − Φ > = Φ ) , ( ) , ( 1 ) , ( 1 ) ( t S if S t S if t S if S sat X X X 也就是在邊界層內,對控制律u(t)做一階差補,得到如圖 3.4 所示之連續控制律。0 = S Φ − = S Φ = S x x Boundary Layer Φ − Φ K − K S ) (t u Boundary Layer 圖 3.3 邊界層示意圖 圖 3.4 連續控制律 3.2 模糊滑動模式控制 本文所討論的模糊滑動模式控制,是結合了模糊控制及滑動模式控制的觀念, 主要是利用模糊控制來解決滑動模式中的抖動問題,應用滑動模式來產生模糊控制器 的控制法則,並根據滑動曲面邊界層的觀念,來決定模糊控制器的參數,如此可以保 有系統的穩定性和強健性。也就是將滑動平面模糊化,在相位平面上建立一邊界層, 並在邊界層內,提供非線性的內差結果,以抑制抖動的發生。 先將原本滑動模式的控制律寫成 u u S t b K x i n x f t b t u eq n i i n i n d ∆ + = − + − − =
∑
= − sgn( ) ) , ( ˆ ~ ˆ ) , ( ˆ 1 ) ( 1 ) ( ) ( X X λ (3.12) 其中 ) sgn( ) , ( ˆ ) sgn( ) , ( ˆ ~ ˆ ) , ( ˆ 1 1 ) ( ) ( S t b K u S t b K x i n x f t b u n i i n i n d eq X X X − = ∆ − + − − =∑
= − λ 模糊滑動模式控制是將滑動曲面S X( ,t)=0予以模糊化,並應用模糊控制的方法 重新設計∆u,控制架構如圖 3.5 所示。與圖 3.1 的差異在於∆u的設計改用模糊控制器完成。 +
∫
t n d e dt d 0 ) (τ τ λ Fuzzy Logic Controller PLANT S d X X u ∆ e eq u u + + + − + − −∑
= − n i n i n d e i n x f b 1 ) 1 ( ) ( ˆ ˆ 1 λ 圖 3.5 模糊滑動模式之控制架構 模糊控制器的目的為使S(X,t)趨近於零,並儘可能停在S(X,t)=0。首先將滑動 模式控制成立的條件S ⋅S <0,將其數位化改寫成S(k)⋅∆S(k)<0。要得到良好的控 制性能,必須分別對S(k)和∆S(k)做控制。因此在設計模糊滑動模式控制器時,取輸 入變數為滑動曲面S(k)及滑動曲面的變化量∆S(k),其輸出變數則為∆u(k)。模糊邏 輯控制器的架構,如圖 3.6 所示。Fuzzy Control Rule & Fuzzy Inference 1 k 2 k 3 k S′ S′ ∆ ) (k S ) (k S ∆ u ∆ u′ ∆ 圖 3.6 模糊邏輯控制器架構 對S(k)、∆S(k)和∆u(k)做正規化,其結果分別為S′、∆S′和∆u′。再將S′、∆S′ 和∆u′各分為七個模糊集合:
Positive Medium (PM) Positive Small (PS) Zero (ZO) Negative Small (NS) Negative Medium (NM) Negative Big (NB) 其隸屬函數如圖 3.7 所示。 u s s′
µ
∆′µ
∆ ′µ
,
,
S
′
∆
S
′
u
′
∆
0
1
1
1
−
−
2
/
3
−
1
/
3
1
/
3
2
/
3
ZO
PS
PM
PB
NS
NM
NB
圖 3.7 隸屬函數 根據滑動模式控制成立的條件S(k)⋅∆S(k)<0,定義出 49 條的控制法則,如表 3.1 所示。再採用”sup-min”合成法則以及”min”模糊蘊含,與廣義形心法的解模糊化介 面,則可以得到模糊滑動模式控制器的輸出∆u′,進而找出適當的控制律 u ,達到所 要求的控制。 表 3.1 控制法則 S′ ∆ u′ ∆ NB NM NS ZO PS PM PB NB PB PB PB PB PM PS ZO NM PB PB PB PM PS ZO NS NS PB PB PM PS ZO NS NM ZO PB PM PS ZO NS NM NB PS PM PS ZO NS NM NB NB PM PS ZO NS NM NB NB NB S′ PB ZO NS NM NB NB NB NB3.3 人形機器人模糊滑動模式控制器之設計 假設人形機器人之機械手臂或雙眼機械頭真實的動態方程式為 τ h q H+ = (3.13) 令其估測的動態方程式為 τ h q Hˆ+ ˆ = (3.14) 假設控制律取為 h H τ = ˆu+ ˆ (3.15) 則 h H H H q=( −1 ˆ)u+ −1∆ (3.16) 其中 h h h= − ∆ ˆ
[
L L Ln]
H 1 2 " 1 = −[
H H Hn]
H H H= − = ∆ ∆ ∆ ∆ ˆ 1 2 " 取第i軸之滑動曲面為 n i d q q q Si ~ 2 i~i i t~i( ) ; 1, 2, , 0 2 " = + + = λ λ∫
τ τ (3.17) 其中 di i i q q q~ = − q 為規劃的di 路徑 則(
)
∑
∆ + ∆ − − − + = + + − = j i i i i di T i j j T i i i i i i di i i q q q h L u H L u q q q q S ~ ~ 2 ~ ~ 2 2 2 λ λ λ λ ∆ + = = − λ~ −λ ~則
(
)
(
L H)
u L H u L H u L h h L u u H L u H L u h L u H L u S T i i j j j T i j eq j T i i i T i T i i eq i T i i j j j T i i T i j j j T i i i i i ∆ + ∆ + ∆ + ∆ ∆ + = ∆ + ∆ + ∆ + ∆ + ∆ = ∆ + ∆ + ∆ =∑
∑
∑
∑
≠ ≠ 1 忽略∑
≠ ∆ ∆ i j j j T i H u L 的影響[5],則(
)
i j T i eqj j T i i i i T i i iS L H u S L H u L h S S ∆ + ∆ + ∆ ∆ + = 1∑
假設1+ ∆ i >0 T i D L ,所以 i T i j eq j T i i T i i i i i i T i S h L u H L H L S u S S H L j ∆ + ∆ ∆ + + ∆ = ∆ + 1∑
1 1 1 因此只要設計∆ui使得上式小於零,則滑動模式條件成立,即可達到路徑控制的 目的。由(3.18)式,控制律可取為(
u u)
h{
Hu h}
H u H τ = ˆ +∆ +ˆ = ˆ + ˆ + ˆ∆ eq eq (3.19) 其中[
]
T eq eq eq eq = u 1 u 2 " u n u ,[
]
T n u u u ∆ ∆ ∆ = ∆u 1 2 " i u ∆ 的設計方法,是根據 3.2 節的模糊邏輯控制器,並將模糊推論、解模糊化的過程 以離線(Off-line)的方式,推算出所有輸入對應的輸出,做成查閱表(Look-up Table), 以縮短線上計算的時間。整個機械手臂或雙眼機械頭之模糊滑動模式控制架構,則如 圖 3.8(a)和 3.8(b)所示。Fuzzy Sliding Mode Controller Hu h ˆ ˆ + u m k n 2 D / A d s d s d si qi qi q , , e τ v + + i s q i s q Driver Robotic System Encoder Velocity Estimate − 圖 3.8(a) 機械手臂或雙眼機械頭之模糊滑動模式控制架構 di q i q ~i q ~ i i i i di q q q −2λ~ −λ2~ ) (k Si Time Delay ) 1 (k− Si i eq u 2 i k 3 i k 1 i k Look-up Table − + ) (k Si ∆ ) (k Si′ ) (k Si′ ∆ ) (k ui′ ∆ + +
∫
t i i i i i d q q q 0 2 ~( ) ~ 2 ~ τ τ λ λ i u ∆ + + ui 圖 3.8(b) 第i軸模糊滑動模式控制架構 3.4 實驗 為了驗證所設計的模糊滑動模式控制器的性能,分別對機器人之機械手臂與雙 眼機械頭進行實驗測試,然而在此僅呈現機械手臂之測試結果。在實驗中,我們對右 機械手臂做一軌跡規畫,此軌跡以一五階多項式規畫手臂腕部的運動曲線,透過右機 械手臂的運動逆解,求得每一時刻的關節角度,並將此值輸入模糊滑動模式控制器來 進行右機械手臂運動控制。右機械手臂各關節軸之角度變化如圖 3.9 所示,由圖中可 看出,真實的軌跡和所期望的軌跡近乎重合,而圖 3.10 顯示右機械手臂各關節軸之 角度誤差,其中最大的角度誤差為 0.2 度。0 500 1000 1500 2000 -20 0 20 40 J o in t 1 (d eg) 0 500 1000 1500 2000 -10 0 10 20 J o in t 2 (d eg) 0 500 1000 1500 2000 -5 0 5 10 15 J o in t 3 (deg ) 0 500 1000 1500 2000 0 50 100 J o in t 4 (deg ) 0 500 1000 1500 2000 -5 0 5 10 15 J o in t 5 (d eg ) 0 500 1000 1500 2000 -15 -10 -5 0 5 J o in t 6 (d eg ) time (ms) 0 500 1000 1500 2000 -40 -30 -20 -10 0 J o in t 7 (d eg) time (ms) desired real 圖 3.9 右機械手臂各關節軸之運動軌跡 0 500 1000 1500 2000 -1 0 1 2 E rro r o n J 1 (d e g ) 0 500 1000 1500 2000 -0.01 0 0.01 0.02 0.03 E rro r o n J 2 (d e g ) 0 500 1000 1500 2000 -0.2 0 0.2 0.4 0.6 Er ro r o n J 3 ( d e g ) 0 500 1000 1500 2000 -4 -2 0 2 Er ro r o n J 4 ( d e g ) 0 500 1000 1500 2000 -0.6 -0.4 -0.2 0 0.2 E rro r o n J 5 (d e g ) 0 500 1000 1500 2000 -0.2 0 0.2 0.4 0.6 E rro r o n J 6 (d e g ) time (ms) 0 500 1000 1500 2000 -3 -2 -1 0 1 Er ro r o n J 7 ( d e g ) time (ms) 圖 3.10 右機械手臂各關節軸之軌跡誤差
第四章 機器人之手/眼協調控制策略
機器人於打乒乓球時,若由機器人發球時,其需要由桌面上拾起乒乓球,若由 對手發球時,則機器人於等待階段球拍須追蹤著對手之球,以利於後續之第一擊。以 上兩項動作皆有賴機器人利用雙眼機械頭之目標追蹤系統去追蹤一個移動中(含靜止 中)的目標物,同時並將其影像資訊回授,使機械手臂能夠進行抓取或追蹤的動作, 其控制架構可分為兩部份,其中一部份為機械手臂抓取或追蹤控制,另一部份則為雙 眼機械頭之目標追蹤系統之追蹤控制。機械手臂是採 ECL(End-point Closed Loop)的 方式經由視覺影像回授來執行任務,而雙眼機械頭之目標追蹤系統則專司對空間目標 物的視覺追蹤。在機械手臂視覺伺服控制部分,主要是採動態的以影像為基礎的看而 後 動 架 構 (Dynamic Image-based Look-and-move Structure) , 並 利 用 SOIM (Self-organizing Invertible Map)類神經網路架構,視覺回授過程中同時擷取機械手臂與 目標物的影像資訊。由於動態目標之軌跡為不規則,因此,無法建立其運動模型,本 計畫利用灰色理論來對目標物的運動軌跡進行預測,以補償時間延遲所造成之影響。 首先在 4.1 節對於整合機械手臂與主動式視覺系統的手/眼協調控制概念做說 明;接著在 4.2 節介紹所採用的視覺追蹤控制器;於 4.3 節介紹柯漢寧類神經網路; 在 4.4 節說明灰色預測;最後,在 4.5 節對於人形機器人之手/眼協調控制架構做說明 及實驗應證。 4.1 手/眼協調控制的概念 為了加速抓取與追蹤性能,本計畫以色彩資訊抽取出視野內特定目標之位置, 以加強其在複雜環境下的強健性。而採用的 SOIM 類神經網路架構,其優點在於經由 類神經的學習,可免去繁瑣的校正工作,而目的在學習一種空間表示式I
(Spatial Representation),此表示式為一個三維向量,可唯一表示目標物在工作空間中的位置, 並將不會因為攝影機姿態的改變而改變,而 SOIM 網路乃以目標物的影像座標與機械 頭之關節角為輸入,I
為輸出。在手/眼協調控制中,為了使機械手臂能透過視覺來抓取或追蹤乒乓球,其視覺 系統同時擷取機械手臂的球拍面與乒乓球的影像資訊,以求得球拍面中心之空間表示 式Ir和乒乓球之空間表示式It,取兩者的誤差(∆I)作為回授訊號。將期望誤差(∆Id) 與回授訊號相減(∆ − ∆Id I),再透過訓練過的柯漢寧類神經網路得到機械手臂的球拍面 所需之空間變化 r p ∆ ,最後利用模糊滑動模式控制器來控制機械手臂完成追蹤。 4.2 視覺追蹤系統控制器之設計 主動式視覺系統為了鎖定目標物,使其成像在左右攝影機影像平面的中心,機 械頭會隨著目標物移動而改變攝影機的姿態。雖然可由目標物的位置,透過空間的幾 何關係反算所需的各關節角度。但是這必須對主動式視覺系統做精準的校正,包括機 構的參數以及攝影機內部參數,過程不但繁瑣且容易出錯。本計畫則是利用 SOIM 類 神經網路來學習三維空間目標物的空間表示式 I (Spatial Representation),其最大的特 色為:所學習的空間表示式並不會隨攝影機姿態改變而有所差異;並可利用其可逆特 性(Invertible Property),求得鎖定目標物所需的關節角度。 4.2.1 SOIM 類神經網路 SOIM 網路架構最主要的精神就是學習一種映射關係,此映射之輸入為目標物在 左右兩眼的影像座標與雙眼機械頭各軸的關節角,輸出為一個空間表示式,此空間表 示式可以唯一描述三維空間目標物的位置。SOIM 為一個三層的網路架構,如圖 4.1 所示。
u1 v1 u2 v2 u1 v1 1−u1 1−v1 u2 v2 1−u2 1−v2 J K Visual Signals θ5 θ6 θ7 Motor Signals 5 I I6 I7 Spatial Representation Weights ZJL Weights WJL Weights WKR ZKR Weights F1 F2 Input Layer Hidden Layer Output Layer 圖 4.1 SOIM 類神經網路之架構 第一層:為輸入層(Input Layer),包含兩種不同形式的輸入,影像座標輸入: 1 1 ( , ) L X = u v , ( ,2 2) R X = u v 分別代表空間目標物投影在左、右兩個攝影機影像平面上的 座標,而且u 、1 v 、1 u 、2 v 皆已被正規化(Normalized)於 0 到 1 之間。其中,角度2 向量輸入:Q=( ,θ θ θ5 6, 7)對應雙眼機械頭眼睛部位各軸瞬間的角度,θ5為眼部 Tilt 運動之關節角度,而θ6、θ7分別為眼部右、左眼 Vergence 運動之關節角度,且正 規化於 0 到 1 之間。 第二層:影像座標輸入部分首先經由第二層的模糊適應性共振理論網路 (Fuzzy Adaptive Resonance Theory Network) [15]做分類的處理,模糊適應性共振理 論網路屬於非監督式學習(Unsupervised Learning),與傳統 ART1 網路最大的差別 在於 ART1 只能接受二進位(Binary)的輸入,而 fuzzy ART 則可以接受二進位 (Binary)與連續性(Analog)的輸入,本計畫的輸入型態為 0 到 1 之間的任意值。
第三層:為輸出層,產生空間表示式 I =
[
I I I1, 2, 3]
L R i i Ji Ki I = +θ z +z i=1, 2, 3 (4.1) 其中 K 、J 為左、右兩眼的影像輸入在經過模糊適應性共振理論網路 後,所對應的分類節點。 L Ji z 、zKiR 為F 分類層與輸出層的連接權重,2 初始值設為 0 到 1 之間的隨機值。 在每一次的學習循環中,每組輸入向量皆可對應一組輸出 I ,如(4.1)式,而第三 層 最 主 要 的 工 作 就 是 學 習 空 間 表 示 式 I , 其 特 色 在 於 學 習 的 過 程 是 自 我 組 織 (Self-organized)方式。對空間中一個固定的目標物,I 和k Ik′為兩個連續由(4.1)式求出 的空間表示式,對於空間中相同位置所算出的I 和k Ik′應該相同,但因為 L Ji z 、zJiR的初 始值是 0 到 1 之間的隨機值,所以I 和k Ik′不會相同,必須修改 L Ji z 與zJiR,其學習法則 為: ( ) L L Ji i i J z γ I I′ ρ ∆ = − (4.2) 其中 γ 為學習速率(Learning Rate) L L J L L J w V V ∧ = ρ 表示影像輸入與模糊適應共振理論網路優勝節點J的 相似程度 此學習之所以為自我組織方式,因為 (Ii−Ii′)是由網路在學習過程中自我產生的 (Self-generated)。SOIM 網路應用在雙眼機械頭的學習架構如圖 4.2,在離線學習(Off-line Learning) 過程中,針對工作空間中的一個固定目標物,令雙眼機械頭各軸隨機轉動至一個位 置,然後以 CCD 擷取此目標物之影像,儲存雙眼機械頭的各關節角度及經影像處理 後的影像座標,不斷重覆上述動作到所期望的學習次數,再將儲存的資料輸入至
來調變權重值 L Ji z 與zJiR,此固定目標物的空間表示式( I )最後將會收斂至一微小區間 (其收斂性之證明可參考文獻[16]),並且記錄下學習後的權重(z 與L z ),完成 SOIMR 的學習。 Pulse Generator Binocular Head Camera Motion Image Processing SOIM Stationary Point Spatial Representation I Previous Spatial Representation I′ + -Random Input XL= u v ( ,1 1) XR= u v ( ,2 2) Q Joint Position 圖 4.2 SOIM 網路學習架構
4.2.2 SOIM 網路的可逆性(Invertible Property)
經由前面的討論,對於空間中的任何一點,在兩個攝影機可以拍攝到的範圍內, 皆可以經由 SOIM 網路得到一組空間表示式I 。SOIM 網路的可逆性乃是指可以計算 出影像伺服機構的輸出角,使空間目標物成像在影像平面中任何所指定的位置上,因 此假如我們決定了目標物的影像座標 d X ,則影像伺服機構相對應的角度輸出,可由 (4.1)式推導出下列式子。 c L R i i J i K i q = −I z ′ −z ′ (4.3) 其中,J′、K′代表對應所設定之影像座標 d X 在模糊適應性共振理論網路的輸出節點。 SOIM 網路的可逆性可以圖 4.3 表示,對已學習完成的 SOIM 網路,給定目標物 在左、右兩眼之影像平面上的期望座標Xd =( , ,u v u v1 1 2, 2),經過模糊適應性共振理論 網路的分類後,可得一組與 d X 相對應的權重(zJL′,zKR′),而根據目標物的影像座標和雙 眼機械頭之關節角透過 SOIM 網路可得一空間表示式 I ,將此空間表示式 I 與權重
( L, R) J K z ′ z ′ 依(4.3)式可求出雙眼機械頭所對應的各軸角度,驅動雙眼機械頭至定位,使 得目標物能夠成像在影像平面中所期望的座標 d X ,達到主動式視覺追蹤。 fuzzy ART network
z
K R ′z
J L ′ Target's Features Desired Point on the Image Planed
X
Joint Positions of Binocular Robot Head
+ + SOIM Spatial Representation
I
Joint Output + -圖 4.3 SOIM 網路的可逆性 4.3 柯漢寧類神經網路 柯漢寧類神經網路的目的,在於學習空間表示式的變化(∆I)與機械手臂的球拍 面中心之空間位置( r p ),其映射至機械手臂的球拍面所需之空間變化(∆pr)的關係。 柯漢寧類神經網路為一個三層的網路架構,如圖 4.4 所示。第一層為輸入層,包 括兩種不同類型的輸入。第一類為機械手臂的球拍面中心的空間位置pxr, pry, pzr; 第二類為空間表示式的變化[
∆I5, ∆I6, ∆I7]
,表示目前機械手臂的球拍面中心位置之 空間表示式與期望的機械手臂的球拍面中心位置之空間表示式間的誤差。J 5 I ∆ ∆I6 ∆I7 r x P Pyr r z P
Change in Internal Representation Current Robot Configuration
r x P ∆ r y P ∆ r z P ∆
Change in Robot Configuration Kohonen Layer Weights Weights J w J z 圖 4.4 柯漢寧類神經網路之架構
第二層為柯漢寧類神經網路層(Kohonen Network Layer)。利用輸入訊號與連接權
值wj間的歐氏距離 (Euclidean Distance)dj,將輸入訊號分成不同的聚類。 1/ 2 4 2 2 2 , , ( ) ( r ) j i ij k kj i k x y z d I w p w = = = ∆ − + −
∑
∑
(4.4) 分類後的輸入訊號利用(4.5)式的學習法則,可得到相對應機械手臂之球拍面中心之空 間位置變化∆prx, ∆pyr, ∆pzr。 , , ( r ) jk k jk k x y z z γ p z = ∆ = ∆ − (4.5) 其中,γ 為學習速率。4.4 灰色預測 對工程系統而言,觀察其行為,發現系統內部與外在環境都有相當明確的輸入、 輸出關係時,我們常用所謂的映射函數來表示這種關係,此類系統的內外關係信息完 全明確,稱為白色系統;相對的,若完全不明確稱為黑色系統。如果系統其內部與外 在環境的關係信息屬於部分明確,部分不明確,則稱之為灰色系統。 對於模型建立的過程中,輸入、輸出資料的取得若含有某些不確定的因素存在 時,則稱原系統的建模為灰色的逆過程,而由這種逆過程所建立的模型就稱為灰色模 型(Grey Model)[10],簡稱 GM。灰色模型所表達的是系統內部的連續行為,所以灰色 系統理論所建立的是微分方程模型,而非一般系統辨識(System Identification)所建立 的差分方程模型。 在GM n( ,1)模型中(n≥1),本計畫採用GM(1,1)模型,其好處是運算時間最短, 符合即時控制的要求,因為是一階預測,所以不能反映出高頻擾動的現象,對機械臂 抓取目標物的實驗而言,如果目標物是在某一個明顯的位置或軌跡上有擾動現象,也 不需要去做太詳細的預測,只要將其明顯的位置(Nominal Location)預測出來,機械手 臂即可進行抓取動作。 在進行灰色建模之前,必須先對灰色理論中一些基本定義做說明,對於一組原 始的序列如(4.6)式表示,
{
X
k( )i
}
( )
0 ,i
N
k
h
=
=
1 2
1 2
, ,...,
, ,...,
(4.6) 首先定義(4.6)式的一次累加序列之運算如(4.7)式:X
kX
kl
l i ( ) ( )( )
1 0 1=
=∑
(4.7) 為了方便起見並將(4.6)式的一次累加序列記為(4.8)式{
X
k( )i
}
( )
1 ,i
N
k
m
=
=
1 2
1 2
, ,...,
, ,...,
(4.8)接著亦定義