國立交通大學
電機與控制工程學系
碩士論文
雙足機器人之步態補償控制設計
Gait Compensation Control Design of a
Biped Robot
研 究 生:許煥坤
指導教授:宋開泰 博士
中 華 民 國 九十七 年 十 月
雙足機器人之步態補償控制設計
Gait Compensation Control Design
of a Biped Robot
研 究 生:許煥坤 Student: Huan‐Kun Hsu
指導教授:宋開泰 博士 Advisor: Dr. Kai‐Tai Song
國立交通大學
電機與控制工程學系
碩士論文
A Thesis Submitted to Department of Electrical and Control Engineering College of Electrical and Computer Engineering National Chiao Tung University in Partial Fulfillment of the Requirements for the Degree of Master in Electrical and Control Engineering October 2008 Hsinchu, Taiwan, Republic of China
中華民國九十七年十月
i
雙足機器人之步態補償控制設計
學生:許煥坤 指導教授:宋開泰 博士 國立交通大學電機與控制工程學系摘要
本論文之目的在於設計一雙足機器人及其運動控制系統,並探討其於直線步 行中遇到不平物體障礙時之步態補償以避免傾倒。藉由安裝在腳底的壓力感測器 取得腳底受力的資訊,使雙足機器人得以在地面上有不平物體之步行中,產生適 度的補償動作以完成步行。本論文中採用靜態步行(Static Walking)的控制方式來 設計機器人的動作與軌跡,使用不同的參數設定可對軌跡進行修改。在方法上, 本論文發展出一套補償控制器演算法,使用量測式的 ZMP 計算,於步行中可以 藉由機器人腳底壓力感測器所獲得的 ZMP 資訊,判斷腳底障礙物的存在與位置, 並因此產生機器人腳部的補償動作以進行障礙物之適應,使機器人得以順利跨越 障礙物。文中以實驗室自行設計之 60 公分高的 12 自由度雙足機器人搭配工業電 腦,驗證所提出方法的可行性。經過實驗驗證,此系統可相當程度提高機器人經 過 21mm 高障礙物之穩定性。ii
Gait Compensation Control Design
of a Biped Robot
Student: Huan‐Kun Hsu Advisor: Dr. Kai‐Tai Song Department of Electrical and Control Engineering National Chiao Tung UniversityABSTRACT
The objective of this thesis is to design a biped robot and a motion controller such that it can handle an uneven floor in bipedal walking. Walking pattern for stably straight motion is generated online in real time. Using the information of the pressure sensors under the biped feet, the robot can walk across an uneven obstacle with suitable compensation of the angle of the ankle joint. The method of static walking is adopted to generate the walking trajectory which can be changed by modulating parameters. By measuring the ZMP, we also develop an algorithm which is used to sense obstacles under the foot and generating the compensation of the ankle. The compensation is combined with the walking trajectory to adapt to the obstacle on the ground while robot walking. Experimental results show that the biped robot can walk successfully across the obstacle which is lower than 21mm.iii
誌謝
謹向我的指導教授宋開泰博士致上感謝之意,感謝他兩年來在專業上的指導, 以他豐富的學識與經驗,配合理論的應用,使得本論文得以順利完成。感謝口試 委員楊谷洋教授與蔡清池教授的指導與意見,讓本論文能夠更加嚴謹。 感謝與我共同奮鬥的同學弘哲、兆戊及仕傑的相互鼓勵及提攜,以及學弟 科棟、巧敏及舒涵在生活上帶來的樂趣,同時感謝學長孟儒、嘉豪、格豪、振暘、 志昇及裕宏在實作與理論上的指點。 感謝我的朋友們的勉勵與支持,並在研究上相互討論,讓我獲益良多。最後 感謝我的父母與家人,由於他們的辛苦栽培,在生活上給予我細心地關懷與照料, 使得我才得以順利完成此論文,在此我願以此論文獻給我最感激的父母親。
iv
目錄
摘要 ... i ABSTRACT ... ii 誌謝 ... iii 目錄 ... iv 圖目錄 ... vi 表目錄 ... ix 第一章 緒論 ... 1 1.1 研究動機與目的... 1 1.2 相關研究回顧... 2 1.3 問題描述... 3 1.4 系統架構... 4 1.5 主要貢獻... 5 1.6 章節說明... 5 第二章 雙足機器人設計與實現 ... 6 2.1 雙足機器人之整體架構... 6 2.2 雙足機器人之機構設計與實現... 7 2.2.1 雙足機器人腳部自由度配置... 7 2.2.2 雙足機器人下半身機構設計與實現... 12 2.2.3 雙足機器人上半身機構設計與硬體配置... 19 2.3 雙足機器人之硬體設計與實現... 19 2.3.1 運算系統之實現... 20 2.3.2 壓力感測系統之設計與實現... 21 2.3.3 馬達控制系統之設計與實現... 25 2.4 雙足機器人之軟體設計與實現... 28 第三章 步態規劃 ... 29 3.1 步行軌跡產生系統架構... 29 3.2 步態規劃... 30 3.2.1 腰部及腳部軌跡產生... 31v 3.2.2 腳部至腰部向量計算... 33 3.2.3 雙足機器人運動學... 34 3.2.4 雙足機器人行走之分析... 41 第四章 補償控制器設計 ... 43 4.1 補償控制器架構... 43 4.2 壓力感測器數值轉換... 44 4.3 零力矩點 ZMP 計算 ... 44 4.4 基於力量測之 ZMP 補償 ... 46 4.4.1 ZMP 穩定區間定義 ... 47 4.4.2 控制器的作用原理與方式... 48 4.4.3 控制器的作用時機... 50 第五章 實驗結果 ... 51 5.1 壓力感測器實驗... 51 5.2 平地直線軌跡步行實驗... 54 5.3 障礙地形步行實驗... 61 5.4 討論... 69 第六章 結論與未來展望 ... 72 6.1 結論... 72 6.2 未來展望... 72 參考文獻 ... 73
vi
圖目錄
圖 1. 1 系統架構圖 ... 5 圖 2. 1 雙足機器人之整體架構 ... 6 圖 2. 2 雙足機器人重心橫移正面示意圖 ... 8 圖 2. 3 雙足機器人重心前移側面示意圖 ... 9 圖 2. 4 雙足機器人跨步高度正面示意圖(a)單腳 4 自由度(b)單腳 5 自由度 ... 9 圖 2. 5 雙足機器人跨步旋轉俯視示意圖 ... 9 圖 2. 6 雙足機器人自由度配置示意圖 ... 10 圖 2. 7 雙足機器人各關節座標旋轉向量示意圖 ... 11 圖 2. 8 雙足機器人正面全身圖 ... 11 圖 2. 9(a)右腳踝關節背面設計圖(b)右腳踝關節正面設計圖 ... 12 圖 2. 10 踝關節實際外觀(a)背面(b)正面 ... 13圖 2. 11(a)右腳踝關節 Roll 方向活動性(b) 右腳踝關節 Pitch 方向活動性 ... 13
圖 2. 12(a)膝關節背面設計圖 (b)膝關節正面設計圖 ... 14
圖 2. 13 膝關節實際外觀(a)背面(b)正面 ... 14
圖 2. 14 膝關節 Pitch 方向活動性 ... 14
圖 2. 15 (a)髖關節背面設計圖 (b)髖關節正面設計圖 ... 15
圖 2. 16 髖關節實際外觀(a)背面(b)正面 ... 16
圖 2. 17 (a)髖關節 Pitch 活動性(b)髖關節 Roll 活動性(c)髖關節 Yaw 活動性 ... 16
圖 2. 18 下半身設計正面全圖... 18 圖 2. 19 下半身設計背面全圖... 18 圖 2. 20 控制系統架構... 20 圖 2. 21 IPC GENE‐9310 ... 20 圖 2. 22 足底壓力感測器裝配位置俯視與相對位置示意圖... 21 圖 2. 23 腳底夾層設計... 21 圖 2. 24 壓力感測器實體... 22 圖 2. 25 OP 放大電路實體 ... 23 圖 2. 26 OP 反相放大電路設計示意圖 ... 23 圖 2. 27 OP 放大電路電源板實體與電池 ... 23 圖 2. 28 OP 放大電路電源板示意圖 ... 24 圖 2. 29 類比轉數位轉換器實體... 24 圖 2. 30 直流伺服馬達實體... 26 圖 2. 31 直流伺服馬達控制器實體... 26 圖 2. 32 CAN 匯流排介面控制器實體 ... 27 圖 2. 33 CAN 匯流排介面電路分接板 ... 27 圖 2. 34 PC 端操作介面 ... 28 圖 3. 1 步行軌跡產生器架構 ... 30
vii 圖 3. 2 擺線輪廓曲線函數示意圖 ... 31 圖 3. 3 雙足機器人行走模擬側視圖 ... 32 圖 3. 4 單週期腰部軌跡示意圖 ... 33 圖 3. 5 腳部至腰部位置向量計算示意圖 ... 33 圖 3. 6(a)腳部模型(b)腳部 D‐H model ... 35 圖 3. 7 一組位置可解出之所有角度解 ... 40 圖 3. 8 單週期雙足機器人行走模擬 3D 圖 ... 40 圖 3. 9 雙足機器人行走相位示意圖 ... 41 圖 3. 10 雙足機器人步行之完整週期... 42 圖 3. 11 雙足機器人行走重心示意圖... 42 圖 4. 1 補償控制器架構圖 ... 44 圖 4. 2 雙足機器人步行時 ZMP 穩定範圍示意圖 ... 45 圖 4. 3 壓力感測器安裝示意圖 ... 47 圖 4. 4 單腳 ZMP 穩定區間示意 ... 48 圖 4. 5 擺動腳障礙物偵測的原理示意(a)未補償(b)補償中(c)補償後 ... 48 圖 4. 6 控制器的作用時機示意 ... 50 圖 5. 1 壓力感測器壓力與讀值對應曲線 (a)sensor 1 (b)sensor 2 (c)sensor 3 (d)sensor 4 (e)sensor 5 (f)sensor 6 (g)sensor 7 (h)sensor 8 ... 53 圖 5. 2 實驗環境配置 ... 55 圖 5. 3 直線步行動作單週期序列示意圖 ... 55 圖 5. 4 左腳 X 方向 ZMP 軌跡 ... 56 圖 5. 5 左腳 X 方向單一週期 ZMP 軌跡 ... 56 圖 5. 6 左腳 Y 方向 ZMP 軌跡 ... 57 圖 5. 7 左腳 Y 方向單一週期 ZMP 軌跡 ... 57 圖 5. 8 右腳 X 方向 ZMP 軌跡 ... 58 圖 5. 9 右腳 X 方向單一週期 ZMP 軌跡 ... 58 圖 5. 10 右腳 Y 方向 ZMP 軌跡 ... 59 圖 5. 11 右腳 Y 方向單一週期 ZMP 軌跡 ... 59 圖 5. 12 左右腳軌跡(a)DOF1(b) DOF2 (c) DOF3 (d) DOF4 (e) DOF5 (f) DOF6 ... 60 圖 5. 13 實驗環境配置... 62 圖 5. 14 步行固定障礙有控制器三步動作序列... 62 圖 5. 15 有控制器右腳 Y 方向 ZMP 軌跡 ... 63 圖 5. 16 右腳取樣補償角與總補償角... 63 圖 5. 17 右腳踝關節 Pitch 角度變化 ... 64 圖 5. 18 步行固定障礙無控制器三步動作序列... 65 圖 5. 19 無控制器右腳 Y 方向 ZMP 軌跡 ... 65 圖 5. 20 步行手動障礙有控制器五步動作序列... 67 圖 5. 21 有控制器右腳 Y 方向 ZMP 軌跡 ... 68
viii 圖 5. 22 右腳單位補償角與總補償角... 68 圖 5. 23 右腳踝關節 Pitch 角度變化 ... 69 圖 5. 24 步行手動障礙無控制器五步動作序列... 70 圖 5. 25 無控制器右腳 Y 方向 ZMP 軌跡 ... 70
ix
表目錄
表 2. 1 自訂各自由度可活動範圍 ... 17 表 2. 2 壓力感測器規格 ... 22 表 2. 3 直流伺服馬達規格 ... 25 表 2. 4 直流伺服馬達控制器 ... 27 表 3. 1 D‐H 參數表 ... 35 表 5. 1 壓力感測器臨界設定值 ... 52 表 5. 2 壓力感測器壓力與數值對應表 ... 52第一章 緒論
1.1 研究動機與目的
近年來,機器人領域各相關技術之發展相當蓬勃,舉凡機構設計、運動規劃 與控制、驅動伺服控制、影像視覺技術、環境辨識感知技術、互動學習系統、嵌 入式系統晶片開發、整合系統設計研製等各方面,都有許多學者提出有效的方法。 由於機器人的各項功能及動作都互有關聯,各項技術之整合設計將是機器人研究 最重要的一環。 綜觀現今之各型機器人,最適合與人類一起生活的應該是人形機器人,因為 其動作近似人類,關節自由度高因此靈活度高,與現有工作環境容易配合,與人 類互動也最無隔閡。但是,從大多數的機器人來看,很多並不像人的形狀,有的 甚至沒有一點人的模樣,這也讓很多機器人愛好者大失所望。其實,研發出外觀 和功能都與人相同的機器人一直是科學家們夢寐以求的願望,也是他們努力不懈 追求的目標。人形機器人就是以建造與人類相同軀體架構為目標,希望製造像人 類一樣雙足直立行走。而以人形架構為設計主軸的機器人,則以日本各大企業之 研發成果最為豐碩,如 Honda 公司的 ASIMO 機器人[1],以及 Fujitsu 公司的 HOAP‐1 機器人[2],以及 SONY 公司的 QRIO 機器人[3] 都是相當成功的研究。此 外,日本工業技術綜合研究所和清水建設公司共同開發建築機器人「HRP‐2P」[4], 此機器人身長和體重與真人差不多,能和人一起搬運建材之類的重物,也會與人 合作固定螺栓。而為了使人形機器人在人類的環境中能夠自由行動適應環境,雙 足的步行是很重要的課題,同時為了平衡也須付出相當大的努力。為了使機器人 在未知的環境中移動,必須具備足夠的環境偵測能力,在遇到障礙物或目標物時 能隨時自我反應。因此,機器人本身所具有的感測器的種類與性能便決定了機器 人對外界的辨識能力。 人形機器人顧名思義為一具有類似人類的外型與功能的機器人,在人形機器人的發展中,分為人形雙足機器人以及上半身擬人形但下半身為一移動平台的結 構兩大方向。上半身擬人形而下半身為一移動平台的結構通常具有頭部與手部的 擬人形構造,而在下半身則為一具輪式的移動平台,此類型的人形機器人的結構 設計多數著重於模仿人類頭部與雙眼方面的研究以及透過雙臂進行互動工作 [5][6]。而在另一方面,人形雙足機器人的研究亦有多年的歷史,研究初期多著 重在雙足的步行控制,屬於多自由度的連桿運動機構,並且對於機構自由度的設 計安排也有所探討[7][8],而後探討上半身與下半身的協調控制。如日本早稻田 大學至今已完成十多具人形雙足機器人的原型機以及步行實驗,且日本 HONDA 公司在 1998 年公開發表其人形雙足機器人 P2[9]的研究成果後,許多著名日本大 學如東京大學、名古屋大學、東京技術學院、京都大學等也不遺餘力在研究自己 的人形雙足機器人,直到現今的 HONDA 公司的 ASIMO[1]和早稻田大學的 WABIAN‐2[10]等也都有不錯的成果。 在眾多種類的機器人當中以雙足機器人的移動方式最近似於人類,關節自由 度多因此靈活度高,最容易與現有人類的生活空間與工作環境相配合,適合於幫 助人類與人類一同工作。
1.2 相關研究回顧
在雙足機器人步行的部分,由於一個穩定且可依賴的步行是最重要的基本理 念,然而對於雙足機器人的腳部所具備的多自由度則是一個相當大的難題,而這 樣的運動問題可以從以下 2 個方向做探討。 首先是連續步行軌跡的產生。一般雙足機器人的雙足步行運動被劃分為 2 種 運動模式,分別為靜態步行(static walking)與動態步行(dynamic walking)2 種 [11][12][13],靜態步行是發生在雙足步行機器人以較低速運動時,忽略了機器人 本身慣性的存在,持續保持機器人的重心投影落於腳底所形成的支撐多邊形上, 控制方式較為單純,分析也較容易。而動態步行則是發生在較高速運動時,此時系統的重心投影並不一定要落在腳底所形成的支撐多邊形上,其維持平衡的方法 是透過複雜控制系統,精確控制步行速度、加速度及作用力矩等,如零力矩點 (ZMP)理論,使 ZMP 落於腳底支撐多邊形內。大部分在採用 ZMP 理論規劃動態 軌跡之時都是離線進行運算,並設定好已知的機器人模型與環境條件[9][14],因 此主要適用於固定的環境,機體專用性高,而後開始有人將 ZMP 軌跡運算採用 線上的即時運算方式加入[15][16][17]。 另一方面,則是針對控制器進行設計,首先是由動態方程式來設計機器人運 動控制器[18][19],在實行上會使用到較高的運算資源,也需要設定精確的機器 人模型。為了簡化控制器,許多人提出了使用倒單擺模型控制來穩定步行[9][20], 有效性也受到證實。 爾後根據生物學上對人類步行的研究指出了人類的步行其實是根據有韻律 與周期性的內在步行動作與反射式的動作組合而成[21]。在這典型的步行環境中, 這種已設定好直接輸出的周期性軌跡是必要的,而加上反射式的動作,則可以如 同人類的神經系統一般,針對感測器輸入產生快速且局部性的反應,用來應付突 發性的狀況,像是不預期的外力與不理想的地形等[22][23][24][25],更進一步利 用反射的方式直接進行腳踝的調整[24][25],使機器人得以保持平衡,跨越過不 平地面或是斜坡,使控制逐漸朝向更接近人類的方式邁進。
1.3 問題描述
對於一具有步行移動功能的雙足機器人而言,首要的問題便是在於如何在環 境中進行平穩的步行,而真實環境通常不是完美的,加上雙足機器人本身所具備 的高自由度,在動作規劃與平衡維持上更顯重要。尤其要使雙足機器人運動方式 可以接近人類,在自由度的安排與數量選擇上,將是一個重要的考量。 而當雙足機器人開始步行後,可能會遭遇到不在原本規劃之內的情形,尤其 是當環境中具有不理想的地形或不預期的障礙物時,使用固定模式的步行將不足以完成任務,因此要如何利用自身的感測系統來察覺,並對於察覺到的環境情報 來加以判斷,使機器人得知目前的處境是必要的。因此,如何設置足夠多的感測 器來進行對外在環境的感知便是一個考量。 而當雙足機器人的感測系統感測到外界情報並進行處理後,機器人本身則必 須要能夠對不同類型的障礙物產生出適當的反應,使自身不因受到外界環境的影 響而導致傾倒等危險,並繼續完成原有之動作。而針對刺激產生反應的控制器就 是設計的重點所在。 因此,本篇論文希望能夠設計一套具備適當自由度的雙足機器人移動平台, 其本身可以藉由規畫好的軌跡來進行步行運動,也可以在遭遇不在預期中的障礙 物時,由感測系統感知,而後交由補償控制器進行修正,以使得障礙物的影響降 到最低,讓雙足機器人可以繼續完成動作。 而為了使設計出的雙足機器人更類似於人類,吾人採用了如同人類的反射動 作般直覺的補償控制器設計,並且以類似人類腳底皮膚觸覺的壓力感測器作為感 測系統,以感測器所感測到的資訊來做為雙足機器人在環境中行走時對於不在預 期中之不平地形進行步伐補償之依據。期望能使雙足機器人的行走更加平穩順 暢。 而在補償的方式上,吾人藉由觀察人類的腳步於踩到障礙物時的反應,會產 生腳踝對地面的姿態適應,因此將補償朝向此種方式設計,且配合反射動作的方 式設計補償,與使用演算法完全重新計算動作相比,可以節省許多計算量,並且 得到較快速的反應。
1.4 系統架構
圖 1.1,為本論文所設計的系統架構,主要分為 2 個主要區塊:步行軌跡產 生器(Walking pattern generator)與補償器(Compensator),其中每個主要區塊尚包 含 3 至 4 個步驟。而此系統架構及是描述我們如何經由使用者的輸入,產生可用user Walking pattern generator command + Compensator Biped robot Sensor information Biped walking controller 圖 1. 1 系統架構圖 的步行軌跡以控制機器人本身的動作。 首先,經由使用者輸入所想要的軌跡特性與行走步數,產生步行軌跡,再經 由雙足機器人身上的感測器回傳資訊產生補償動作,而後將 2 者合成雙足機器人 實際步行軌跡,最後輸出給機器人使其產生想要的動作。
1.5 主要貢獻
本論文主要貢獻分別為: (1) 設計並實現一台單腳 6 自由度,雙腳共 12 自由度的機器人平台,可以 產生近似人類的腳步運動。 (2) 設計一不須精確建立機器人之系統模型即可使用之靜態步行軌跡,可以 簡單實現並且調整彈性大。 (3) 提出一針對地面障礙物跨越步行之步態補償控制法,使機器人行走時遇 到一定程度的障礙物可以不致傾倒。1.6 章節說明
本論文一共分為六章,第一章介紹研究動機與目的,並且概略說明所設計之 系統架構。第二章說明雙足機器人實驗平台的設計與組建。第三章則為本論文所 提出之雙足機器人步行軌跡規畫法。第四章為補償控制器演算法。第五章為實驗 結果,驗證整體設計上之可行性。第六章為結論與未來展望。第二章 雙足機器人設計與實現
本論文之主要目標為實現一隻能夠進行平穩步行並且自由度接近於人類之 雙足機器人,並且設計一運動控制演算法使其可以進行不平路面之步行而不至於 傾倒。關於本論文中雙足機器人的整體架構之設計與軟體、硬體、機構之實現都 將在本章節中說明,其內容包含: 1. 吾人所提出之整體系統架構,包含系統訊號流程。 2. 實現設計所需之硬體設備及機構,包括感測器、晶片與機構設計概念 等。2.1 雙足機器人之整體架構
本論文以回授控制系統的概念來提出一雙足機器人之整體系統架構,如圖 2.1 所示。整體系統為一使用感測器資訊之閉回路運動控制系統。以下扼要說明 此運動控制系統之主要功能與目的,詳細內容則敘述於後續章節。 此系統主要目的為接收由程式端使用者輸入之運動命令,以離線方式產生雙 足機器人步行前進之動作軌跡。另外,即時配合壓力感測器之回授訊號,使機器 人能夠在遭遇障礙時感測資訊與調整姿態使行進不致傾倒,使雙足機器人對於環 境有著更高的適應能力。 圖 2. 1 雙足機器人之整體架構2.2 雙足機器人之機構設計與實現
本論文自行設計開發一隻雙足機器人機構,在機器人板金材料方面選用鋁合 金,厚度為 2mm,主要優點在於鋁合金質輕且強度高,相當廣泛的使用於航太 科技或是汽車上。另外,在某些需要進行焊接以取得更高強度的部位,則是採用 了 0.8‐1mm 厚的白鐵作為板金的材料,以及在轉軸的部分使用鋼製作。在機器 人構成整體結構的部件上,則是大量使用了邊緣反摺的設計方式,可以在不增加 組裝的情況複雜度下,強化部件的結構強度。 對於雙足機器人來說,由於行走是其重要之能力,因此腳部機構的設計就顯 得相當重要,而在腳部設計之前必須先決定腳關節自由度的數量。若自由度數量 不足,則動作將較不靈活,行動也會受到較多的限制,但是若自由度過多,則會 增加控制上的複雜度與運算量以及機構設計上的困難,因此必須取得設計上的平 衡點。接著雙足機器人身體的部分主要是用來放置控制電腦、各種電路及控制器 的地方,因此必須考量所以需要裝進去的配備來進行設計,並且分配其安裝空間。 另外,由於雙足機器人在行走中腳部的姿態是處於不斷變化的狀態,在馬達配線 部分也必須注意要留有足夠了拉伸容忍度以及避免被機構夾到,否則線路及機構 都容易受損。2.2.1
雙足機器人腳部自由度配置
在本論文中吾人所設計的雙足機器人,其設計重點主要在於使其可以進行平 順的行走動作,動作靈活度與動作模式可以類似於人類,並且為了使機構的設計 上得以簡化與動作控制的複雜度得以降低,我們必須選擇使用最少但符合靈活度 要求的自由度,來進行雙足機器人的設計。吾人所需的動作靈活性如下[7]: (1) 可以進行身體重心的左右方向平移運動,使機器人重心可以輕易的受 到調整,且身體姿態不會產生太大的歪斜,在單腳支撐相時可以落在 支撐腳的區域內,雙腳支撐相時則可以移動至下一隻支撐腳區域內,如圖 2.2 所示,圖中之 COG 為機器人重心,投影在支撐腳內則靜態步 行得以穩定。因此由圖可以知道在此種運動中,機器人之髖關節與踝 關節各需要 Roll 方向 1 自由度的機構。 (2) 可以進行身體重心的前後方向平移運動,可以使機器人身體向前方移 動,且身體姿態不會產生太大的歪斜,在單腳支撐相時可以落在支撐 腳的區域內,雙腳支撐相時則可以移動至下一隻支撐腳區域內,如圖 2.3 所示,圖中之 COG 為機器人重心,投影在支撐腳內則靜態步行得 以穩定。因此可以知道在此種運動中,機器人之髖關節與踝關節也各 需要 Pitch 方向 1 自由度的機構。 (3) 可以使抬腳時離地的高度上升,且不需產生過大的腳部姿態變化,如 圖 2.4 所示,抬腳同一高度的情況下,膝關節自由度的增加可以降低 腳部外彎的情況,因此可以知道增加膝關節 Pitch 方向 1 自由度的必 要性。 (4) 使機器人可於行進中改變方向,如圖 2.5 所示,將抬起的腳進行旋轉 以使得腳底著地點發生改變,只要增加髖關節 Yaw 方向 1 自由度即可 達成。 圖 2. 2 雙足機器人重心橫移正面示意圖
圖 2. 3 雙足機器人重心前移側面示意圖 圖 2. 4 雙足機器人跨步高度正面示意圖(a)單腳 4 自由度(b)單腳 5 自由度 圖 2. 5 雙足機器人跨步旋轉俯視示意圖
在第(1)點與第(2)點中,吾人共需要單腳 4 自由度,分別於 Pitch 方向與 Roll 方向各 2 自由度,基本上具有此 4 自由度已經可以使雙足機器人保持適當的重心 移動以進行適當的步行,但進行步行時的姿態則會因為腳底至腰部的連桿長度不 變而產生較大且不自然的動作。因此吾人再加進第(3)點所需的膝關節,由於此 膝關節的加入,使得腳底至腰部的距離可以藉由膝關節彎曲而縮短,使得抬腳時 不需將腳底繞至外側,而是可以直接將腳抬起,移動角度降低不少,姿態也較為 自然,而最後加入的第(4)點則是為了使雙足機器人可以在其步行軌跡上產生變 化,除了直線行進以外,還可以藉由髖關節的旋轉使行進方向發生改變,動作可 以更近似於人類。 因此吾人將自由度設定為單腳 6 自由度,雙腳共 12 自由度,機器人自由度 配置如圖 2.6,分別為:髖關節 3 自由度、膝關節 1 自由度與踝關節 2 自由度, 並且使髖關節三旋轉軸正交相交於同一點,效果如同人類的球形關節,使其可以 有效地接近人類的行走方式。圖 2.7 為各自由度旋轉方向定義,定義順序為由下 往上,左右腳相同,以及定義機器人重心於身體中央。下半身長約 330mm,雙 腳中心距 140mm,腳底板長約 180mm,寬約 110mm。上半身則是採用方盒狀中 空設計,深約 100mm,寬約 200mm,高約 240mm,可容納電腦、電源電路、控 制電路以及感測電路等。雙足機器人全高則約 570mm,重量在電路設備等裝備 上去後約為 7 公斤,實際雙足機器人的外觀如圖 2.8。 圖 2. 6 雙足機器人自由度配置示意圖
圖 2. 7 雙足機器人各關節座標旋轉向量示意圖
圖 2. 8 雙足機器人正面全身圖
2.2.2
雙足機器人下半身機構設計與實現
本論文中雙足機器人的下半身包含了三個主要部分,分別是髖關節、膝關節 與踝關節。 在踝關節的設計中,包含了 2 個自由度,如圖 2.9,分別是 Pitch 方向旋轉和 Roll 方向旋轉,設計的特點是使用了減速比為 1:1 的時規皮帶輪進行運動傳遞 將 Pitch 方向的馬達旋轉軸向下方等效平移到與 Roll 方向的馬達旋轉軸處於相同 平面上,而使 2 個正交的旋轉軸等效交於同一點,而 Roll 方向的馬達則是進行直 接輸出驅動即可,不進行額外的運動傳遞,實際外觀如圖 2.10。如此的設計方式 主要是使用了皮帶輪運用上的彈性,可以自由設計旋轉軸平移的距離,與齒輪組 運動傳遞相比,重量、體積與效率皆占有優勢,而令旋轉軸正交於同一點,則是 可以更接近人類的身體運動方式,同時也可以降低運動學模型建立時的參數複雜 度。而踝關節的活動性則如圖 2.11 所示,在雙足機器人直立的情形下,單獨進 行右腳踝關節各自由度的活動性模擬,在 Roll 方向約 71~‐29 度,Pitch 方向約 92~‐97 度,左腳的設計則是與右腳呈現對稱關係。 (a) (b) 圖 2. 9(a)右腳踝關節背面設計圖(b)右腳踝關節正面設計圖(a) (b) 圖 2. 10 踝關節實際外觀(a)背面(b)正面 71.66° 29.44° 92.49° 97.43° (a) (b)
圖 2. 11(a)右腳踝關節 Roll 方向活動性(b) 右腳踝關節 Pitch 方向活動性 在膝關節的設計中,只包含了單 1 個自由度,如圖 2.12 所示,只有 Pitch 方 向旋轉的可活動性,可以產生使腳部彎曲的效果,使機器人動作更加靈活,實際 外觀如圖 2.13。馬達則是採取直接驅動的方式,不經過運動傳遞,直接帶動下肢 連桿轉動,膝關節的活動性則如圖 2.14 所示,這是在雙足機器人直立的情形下, 單獨進行右腳膝關節自由度的活動性模擬,如同人類身體一般將向前的自由度大
幅縮減,而將向後的自由度提高。下肢向前方運動的活動性藉由機構限制至 27 度,向後則可達到約 144 度,左腳的設計則是與右腳呈現對稱關係。 (a) (b) 圖 2. 12(a)膝關節背面設計圖 (b)膝關節正面設計圖 (a) (b) 圖 2. 13 膝關節實際外觀(a)背面(b)正面 圖 2. 14 膝關節 Pitch 方向活動性
在髖關節的設計中,總共包含了 3 個旋轉自由度,如圖 2.15 所示,分別為 Yaw 方向旋轉、Pitch 方向旋轉和 Roll 方向旋轉,在 Pitch 和 Roll 方向上設計類似 於踝關節,特點同樣在於使用了減速比為 1:1 的時規皮帶輪來將 Pitch 方向的馬 達旋轉軸向上方等效平移至 Roll 方向的馬達旋轉軸的平面。並且由於 Yaw 方向 的馬達較小,轉軸也較細,若直接進行驅動則可能因為受到非旋轉方向的外力, 而有彎曲甚至斷裂的危險,因此也加上一段減速比為 1:1 的時規皮帶輪進行運 動傳遞,將運動效果轉移到較粗的轉軸上,進而帶動整隻腳旋轉,再將其設計為 使 Yaw 方向旋轉軸也與 Pitch 和 Roll 方向旋轉軸正交於同一點,達成三旋轉軸正 交於同一點的結果,同樣也是為了使此髖關節可以更加靈活,動作更類似人類, 並且同樣可以降低運動學模型建立時的參數複雜度,實際外觀如圖 2.16。髖關節 的活動性則如圖 2.17 所示,在雙足機器人直立的情形下,單獨進行右腳髖關節 各自由度的活動性模擬,在 Roll 方向約 54~‐25 度,Pitch 方向約 102~‐110 度,Yaw 方向若不包含腳底,範圍為 180~‐180 度,若包含腳底則是 19~‐19 度之間,左腳 的設計則同樣是與右腳呈現對稱關係。
(a) (b)
(a) (b) 圖 2. 16 髖關節實際外觀(a)背面(b)正面 (a) (b) (c)
由以上的設計,吾人可知各關節大概的活動範圍為何,但是卻不可以直接將 此範圍拿來使用,只能當作一個不可以超過的參考,因為當多自由度同時運作的 時候,各個自由度的範圍都會互相影響而有所減少,程度難以預料,因此吾人必 須針對雙足機器人即將進行的動作軌跡來進行範圍的調整,設定一個較小但合適 的範圍。因為目前的軌跡是針對直線步行設計,因此吾人將各自由度的可活動範 圍設定如表 2.1,旋轉方向由圖 2.7 定義,由表可知踝部的 Roll 方向活動性低於 Pitch 方向活動性,且第 6 軸固定不動。下半身完整設計圖如圖 2.18 和圖 2.19。 總結本論文中雙足機器人的步行機構設計特點有以下數點: (1) 髖關節和踝關節具有類似的設計,減少了部份零件的種類,可以降低製 作成本及組裝複雜度。 (2) 需要進行旋轉軸平移的馬達使用皮帶輪將旋轉軸平移傳動具備了高效 率以及可彈性的設計並且節省空間使用及重量。若是馬達輸出軸直徑較 細,強度不足,則同樣使用減速比 1:1 的皮帶輪將旋轉軸轉換為直徑 較粗,強度足夠的旋轉軸進行驅動。而不需要旋轉軸平移的馬達則是盡 量以直接連結的方式驅動,可減少能量耗損。 (3) 根據馬達的形狀採取了互補的裝配法,如圖 2.15(b),可節省空間的使 用,也具有一定結構強度,單獨的馬達也使用框架作成模組化設計。 (4) 除了踝關節 2 正交軸共交點與髖關節 3 正交軸共交點之外,關節與關節 之間的轉軸也使其於直立時位於同一垂直面上,如圖 3.6,更進一步減 少運動學模型的參數複雜度。 表 2. 1 自訂各自由度可活動範圍 θ ‐25°~+25° θ ‐55°~+55° θ 0°~105° θ ‐55°~+55° θ ‐25°~+25° θ 0°
圖 2. 18 下半身設計正面全圖
圖 2. 19 下半身設計背面全圖
2.2.3
雙足機器人上半身機構設計與硬體配置
在本論文中的雙足機器人設計中,上半身主要的用處是在於放置各種須搭載 於雙足機器人上之裝置,並且兼具保護的功用,因此設計成為一中空的方盒,其 中最內層先放置的是 12 個直流伺服馬達控制器,再來第 2 層放置的是 USB 介面 的類比轉數位轉換電路、CAN 匯流排介面的電路分接板與壓力感測器放大電路所 需之電源板。最後一層則是工業電腦的裝置、USB Hub 與 CAN 匯流排介面控制器 支撐架。2.3 雙足機器人之硬體設計與實現
本論文所提之控制系統架構如圖 2.20 所示。 圖中白色區塊的機器人控制器為雙足機器人系統中的運算系統,負責各種控 制程式的執行與人機介面的操作,這裡主要是採用工業電腦,使用 USB 通訊介 面與外部連接。 圖中淺灰色區塊為壓力感測器搭配 8 通道類比轉數位轉換器組合成之壓力 感測系統,透過 USB 通訊介面傳送 8 個壓力感測器的讀值給主要運算核心的工 業電腦(圖中白色區塊),每腳有 4 個壓力感測器,1‐4 號為左腳,5‐8 號為右腳。 圖中深灰色區塊則為 12 個直流伺服馬達與 12 個直流伺服馬達專用驅動器, 搭配傳輸命令用的 CAN(Controller Area Network)匯流排介面組合成馬達控制系統, 透過 USB 通訊介面接收工業電腦的馬達控制命令,每腳有 6 個馬達,1‐6 號為左 腳,7‐12 號為右腳。在伺服馬達控制的部份,採用的是位置控制,裝置於馬達上 的編碼器會將馬達位置資訊傳送給馬達控制器以進行控制。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 圖 2. 20 控制系統架構
2.3.1
運算系統之實現
本論文之雙足機器人採用以 PC 為基礎的運算系統,為了降低體積與重量, 使用了由研揚科技生產的小型工業電腦 GENE‐9310,實體如圖 2.21,選用 INTEL 公司時脈 2GHz 的中央處理器及 2GB 的記憶體。儲存媒體則因為電腦需裝置於機 器人身上,會接受到許多的振動與加速度,為了降低因震動而可能造成的損壞, 而使用 8GB 固態硬碟取代傳統硬碟。 圖 2. 21 IPC GENE‐93102.3.2
壓力感測系統之設計與實現
在本論文中,為了取得雙足機器人與地面的接觸情況,吾人在雙足機器人的 矩形腳底裝設了壓力感測器。裝配位置如圖 2.22,每隻腳的 4 個角落各裝設了 1 個壓力感測器,共使用 8 個。另外,為了使地面的作用力可以由每隻腳底的 4 個壓力感測器完全吸收,採用了如圖 2.23 的夾層設計,並將壓力感測器的感測 區域以小塊墊片墊高,以確保腳底板的受力可以由 4 個支點完全吸收,並且在與 地面接觸的底板是使用高硬度的 2mm 厚鋁合金板製作,用以降低腳板因受力形 變而造成的測量誤差。Left foot Right foot
front front back back 0 97 0 167 0 97 Y X unit:mm 圖 2. 22 足底壓力感測器裝配位置俯視與相對位置示意圖 圖 2. 23 腳底夾層設計
在此處使用的感測器則是 Tekscan 公司所生產之撓性壓力感測器 “FlexiForce Sensor”,外觀如圖 2.24,規格如表 2.2,屬於壓阻效應型,測量範圍 0 ‐ 25 lb. (110N), 無負載時阻抗約 20MΩ 以上,當有壓力施加於感測器上時,感測器阻抗則會隨著 壓力的上升而降低。 因為此壓力感測器的特性是阻抗隨著壓力而改變,不是電壓隨著壓力而改變, 因此無法直接使用類比轉數位轉換器讀取壓力數值,需要使用一轉換電路,將電 阻變化的效果轉換成電壓變化。吾人所使用的電阻轉電壓轉換電路為使用 OP 放 大器之反相放大電路,使用的 OP 放大器為 MC34074P,此 IC 是將 4 個 OP 放大 器整合在一起,因此 8 個壓力感測器只需分別做出 2 組電路,如圖 2.25,可以節 省許多電路元件配置的空間,電路設計如圖 2.26 所示。放大電路的電源板實體 圖如圖 2.27 所示,使用了 2 個 7.4V 的鋰電池,一個做為 OP 放大器的正電源, 另一個反接到 7905 穩壓 IC,使‐7.4V 降成‐5V,以作為放大器的負電源以及反相 放大器的輸入電源,電路設計如圖 2.28。由於輸入電源為負,根據反相放大器的 公式,如(2.1)式,可得輸出電壓為正,再加上電路中所配置的 500KΩ 的可變電阻, 可將電壓範圍進行調節,使其符合類比轉數位轉換器的 0‐5V 輸入範圍,並且最 佳化雙足機器人行走壓力感測所需的解析度。 圖 2. 24 壓力感測器實體 表 2. 2 壓力感測器規格 Thickness 0.005"(0.127mm) Length 8.00"(203mm) Width 0.55"(14mm) Sensing Area 0.375"diameter(9.53mm) Connector 3 pin Male Square Pin
Vo RR Vi (2.1) 圖 2. 25 OP 放大電路實體 圖 2. 26 OP 反相放大電路設計示意圖 圖 2. 27 OP 放大電路電源板實體與電池
圖 2. 28 OP 放大電路電源板示意圖 接著吾人便可以將感測電路所得到的 8 個壓力感測器的輸出電壓表現連接 到類比轉數位轉換器中進行讀取,在此處吾人所選用的類比轉數位轉換器為 PHIDGETS 公司所設計生產的 PhidgetInterfaceKit 8/8/8,實體如圖 2.29 所示,具 有 8 個通道的類比輸入、8 個通道的數位輸入及 8 個通道的數位輸出,可以一次 對應到吾人的 8 個類比輸入需求,並且資料的傳送與控制都可藉由 USB 介面與 電腦連接,便利性相當高。吾人在此處主要是利用其類比輸入功能,其類比轉數 位之範圍為 0‐5V,性能可以達到 10Bit 的解析度,也就是 1024 階,電壓解析度 約為 5mV,而取樣的更新速度約為每秒 65 次,足以搭配本論文中的控制系統使 用。 圖 2. 29 類比轉數位轉換器實體
2.3.3
馬達控制系統之設計與實現
在本論文中由於雙足機器人體型較大,因此扭力的需求也較高,無法採用一 般的 RC 伺服馬達(Radio Control Servo Motor),因此採用的是直流伺服馬達,這 樣同時也具備了定位的高精準度。在馬達的選用方面,主要是採用 MAXON 公司 所生產的直流伺服馬達,包含了直流馬達、減速機和編碼器三部份。而目前的腳 部設計則是將馬達區分成 2 種不同大小扭力的等級,如表 2.3 所示,實體圖如圖 2.30。吾人共使用 12 個馬達,每自由度使用 1 個馬達,10 個大的 2 個小的,左 右腳各 6 個自由度。小馬達使用的地方主要是在髖關節的 Yaw 方向,其餘的髖 部、膝部和踝部皆使用相同規格的大馬達。 表 2. 3 直流伺服馬達規格
torque level high low
motor type RE max 24(ф24mm) A max 16(ф16mm) gear type GS 38(ф38mm) GS 16 A(ф16mm) Nominal voltage(V) 24 24 Reduction 900:1 485:1 Max. efficiency 53% 59% Max. continuous torque before reduction(mNm) 11.2 2.44 Max. continuous speed before reduction(rpm) 7742 6790 Max. continuous speed after reduction(rpm) 8.602222222 14 Max. continuous torque after reduction(kg*cm) 102.8571429 12.0755102 Max. continuous speed after reduction(degree/s) 51.61333333 84 Encoder type Encoder MR Encoder MR
Count per turn 256 256
resolution after reduction(degree/count) 0.0015625 0.002899485
圖 2. 30 直流伺服馬達實體 在馬達控制器的部分,使用的是同樣由 MAXON 所生產的直流伺服馬達控制 器 EPOS 24/1,實體如圖 2.31,概略規格如表 2.4,可藉由排線直接讀取編碼器數 值並控制馬達進行位置控制、速度控制和電流控制等數種控制,在本論文中,吾 人所使用的控制方式為位置控制,其控制方式如同一閉迴路,在吾人下達一位置 命令後,控制器就會不斷讀取編碼器讀值並加以控制馬達誤差修正以達成所設定 之命令,而修正之方式為 PID 控制,吾人可藉由調整 PID 各參數,使控制器的誤 差修正效能有不一樣的表現。 圖 2. 31 直流伺服馬達控制器實體
表 2. 4 直流伺服馬達控制器 Operating voltage 9‐24VDC Max. output current(<1 s) 2A Continuous output current 1A Max. speed 25000rpm 另外,在馬達控制器的數量上,由於一個控制器只能控制一個馬達,因此控 制器的數量同樣也是 12 個。而在分配控制器命令的方面,是由 CAN 匯流排介面 負責傳輸,因為與 RS232 傳輸介面相比,CAN 匯流排介面可以更輕易的連接多個 節點與有著更高的傳輸速度。吾人在此所選用的是與 MAXON 馬達控制器相容的 由 National Instrument(NI)所生產的 CAN 匯流排介面控制器,實體如圖 2.32,可 藉由 USB 傳輸介面與電腦相連接,並將電腦端所發出的命令藉由 CAN‐High 與 CAN‐Low 兩條訊號線傳輸到各個控制器節點,如圖 2.33 為吾人所製作之將馬達 電源與 CAN 匯流排連接至各個並聯控制器之電路分接板。 圖 2. 32 CAN 匯流排介面控制器實體 圖 2. 33 CAN 匯流排介面電路分接板
2.4 雙足機器人之軟體設計與實現
吾人在 PC 的視窗系統環境下進行控制程式與演算法的編寫,只要載入類比 轉數位轉換器與直流伺服馬達控制器的驅動程式,依照原廠所提供的指令即可對 硬體進行控制,整合性與方便性相當高,對於圖形化界面的編寫也相當容易,吾 人所撰寫之 PC 端控制介面如圖 2.34。 圖 2. 34 PC 端操作介面第三章 步態規劃
回顧過去雙足機器人的研究,主要皆集中在控制機器人的姿態。如何使得雙 足機器人在運動時的穩定及平衡是一個很重要的課題。在機器人學中,分析的面 向主要可分為運動學(Kinematics)以及動力學(Dynamics)兩部份[26]。以一個 多連桿系統為例,在運動學的分析中,主要是在計算各連桿之旋轉角度所產生在 空間中的位移量。而其中可再分為順向運動學(Forward‐Kinematics)和逆向運動 學(Inverse‐Kinematics)兩種。另外,動力學的分析則包括連桿之速度、角速度、 加速度或扭力等等,而分析方法主要有 Newton‐Euler method 及 Lagrange Equation。 但是,吾人認為上述之動力學分析法在應用上缺乏一實際且準確的系統質量模型, 且應用在雙足機器人時,受控系統的自由度(Degree of Freedom, DOF)相當多, 如此將使得分析過程變得複雜。並且在系統模擬分析的過程不易以將環境的變數 考慮進去,例如地形的變化,包括坡度、不平坦等。本章節將說明吾人所提出之 雙足機器人的運動控制器架構與軌跡模擬等。3.1 步行軌跡產生系統架構
為了使雙足機器人可以進行步行,吾人設計了一套步行軌跡產生器,架構如 圖 3.1。概述功能如下: 由使用者從程式操作介面輸入想要得到的行走步數與行走模式參數等進入 步行軌跡產生器,程式便會先分別產生所需的腰部與腳部擺線軌跡,而後對應各 取樣時間點,計算腳部至腰部的位置向量,將其帶入反運動學求解,轉換為各關 節角度,最後根據步態的週期性與所需步數連接組合出完整之步行軌跡。到目前 的過程皆為步行開始前之離線作業。而θp(t)則是將計算完之關節軌跡逐步取樣 後產生之長度 12 之向量,分別對應 12 個馬達,之後配合補償控制器進行即時控 制,將於下一章詳述。圖 3. 1 步行軌跡產生器架構
3.2 步態規劃
在本節中,所要說明的是本論文中的雙足機器人所使用到的步行軌跡產生方 式,如圖 3.1 中,主要分為四個小區塊,首先是需要產生腰部與腳部軌跡的功能, 接著是利用產生出的軌跡計算出腳部連桿系統所需的末端點位置,將其帶入逆向 運動學進行求解,取得單一週期腳部各軸角度軌跡,而後根據所需的移動跨步數 重複將軌跡連接組成最終軌跡,最後再將軌跡角度從頭到尾逐個輸出至馬達控制 器。 根據維持本身平衡的方法,一般將雙足機器人或是多足機器人的步行分為靜 態步行及動態步行。動態步行的定義為機器人的重心投影在步行時有時不會落在 腳部的支撐多邊形區域內,反之,靜態步行就是機器人的重心投影在步行時會全 落在腳部的支撐多邊形區域內。一般而言,採用靜態步行的雙足機器人都會有較 大的腳板與較低的加速度,其目的是希望雙足機器人在運動時重心投影可以容易 置於支撐多邊形內,並且較不會受到加速度的影響而不穩定。而動態步行的雙足 機器人通常有較輕的身體,且有較小的腳掌以維持步行的靈敏度,其維持平衡的 方法是透過複雜的控制系統,精確計算步行速度、加速度及作用力矩等,以運動 慣量來保持平衡。一般而言,進行動態步行的雙足機器人可做較高速的運動,但 其平衡控制的難度遠高於靜態步行。因此靜態步行依舊會是一個重要的研究課題, 尤其是當我們要分析當雙足機器人行經不平坦地面時的穩定度變化情形。因此吾 人也是採用靜態步行作為本論文雙足機器人的基本控制。3.2.1
腰部及腳部軌跡產生
首先是圖 3.1 中第一區塊的功能描述,由於吾人需要進行腳部之軌跡規畫, 來取得想要之運動軌跡。吾人為了使雙足機器人步行運動能近似人類步伐,在此 使用了擺線輪廓曲線函數來規劃雙足機器人步行時的腳掌座標位置[27][28],設 定擺線輪廓曲線函數所需的參數由使用者於程式中設定,需要設定的參數包括擺 線輪廓曲線的高度、長度與取樣切分數。如圖 3.2 中虛線所示,其中黑色代表是 左腳,而灰色代表的是右腳。此擺線輪廓曲線函數提供一簡單函數來描述人類正 常步行之腳踝的運動軌跡。且此函數容易修改,適合不同的步行模式。左右腳的 軌跡也都相同,僅只是順序不同輪流出現。 令擺動腳之運動軌跡如式(3.1)所示。其中, 為跨一步於 Z 軸方向之半跨距, 也就是擺線總長度之一半;h 為跨步高度;T 為跨一步之取樣數,也就是將一週 期擺線分為多少等分。圖 3.3 顯示出雙足機器人行走模擬圖,其中紅色(較淺色) 代表是左腳,而藍色(較深色)代表的是右腳,上方黑色則是代表軀幹。模擬參數 分別為半跨距 60mm、跨步高度 h=40mm、跨步取樣 T=128、桿件長度為上: 108.6mm,下:135.4mm。 x t 2πT sin 2πT z t 1 cos 2πT , 0 t T (3.1) 圖 3. 2 擺線輪廓曲線函數示意圖圖 3. 3 雙足機器人行走模擬側視圖 另外,由於在本論文中所使用的是靜態步行,除了腳部軌跡之外,還必須規 畫腰部的軌跡,藉以規劃機器人之重心位置來使得機器人的重心可以落於支撐多 邊形內,軌跡設定的方式就是在單腳支撐相時,將重心置於支撐腳上方,而在雙 腳支撐相時就將重心往另一隻支撐腳移動,為了避免軌跡轉折點造成的不穩定, 腰部軌跡的產生同樣使用了可調整的擺線輪廓曲線函數作為軌跡,軌跡函數為式 (3.2),使腰部可以進行水平方向平滑的左右移動,如圖 3.4 所示,使機器人可以 在單腳支撐相時將重心偏移至支撐腳上,而雙腳支撐相時再將重心經由支撐多邊 形偏移至一隻腳支撐面內,而一個完整週期步行中共需 2 個腰部的擺線輪廓曲線 軌跡。 x t 2πT sin 2πT y t 1 cos 2πT , 0 t T (3.2)
圖 3. 4 單週期腰部軌跡示意圖
3.2.2
腳部至腰部向量計算
此節描述的是圖 3.1 中第二區塊的功能,吾人根據前節決定好的腰部軌跡以 及腳部軌跡即可相減算出左右兩腳所應該產生之由腳部至腰部的末端點向量軌 跡,如圖 3.5 所示。而此位置向量即是從腳底指向腰部的的操作臂末端點位置, 因此我們需要將其帶入反向運動學進行角度求解。 圖 3. 5 腳部至腰部位置向量計算示意圖3.2.3
雙足機器人運動學
機器人的運動學又可分為順向運動學(Forward‐Kinematics)及逆向運動學 (Inverse‐Kinematics)兩部分。順向運動學為給定各關節軸之旋轉角度數據,進 而求得末端桿件(link)在絕對座標系中的空間位置;而逆向運動學則是以給定 末端桿件在絕對座標系中的空間位置,反過來求解各軸關節的旋轉角度,這也就 是圖 3.1 中第三區塊主要執行的功能。若已知各桿件向量和各關節旋轉角的資料, 可利用順向運動學方程式推導出各關節點之空間座標,也可由連續的腳掌點座標 形成行走軌跡。為了模擬雙足機器人步行的情形,必須先規劃步行姿態使機器人 動作。其中,兩隻腳掌座標以及髖部座標必須先規劃完成,而後使用這三點之座 標軌跡,透過逆向運動學之計算,即可求解出機器人步行時各關節旋轉軸之絕對 角度。而透過步行姿態規畫也可改善或調整機器人之穩定性。在本論文中,吾人 採用的是 D‐H model 將機器人建立運動學模型,用以進行順向運動學以及逆向運 動學的計算。D‐H model 是一種針對連桿運動設計的運動學分析法,可以對連桿 在 3 度空間的移動與轉動有著簡單而完整的描述。 進行分析之前,本論文先做下列之假設: (1) 身體中心的位置將一直保持在離地面固定高度上,將運動從 3D 降為 2D, 身體的姿態也將在運動中保持不變,也就是身體主要是處於水平移動 的狀態。 (2) 移動中的腳底板的姿態會與初始狀態相同,也就是維持水平且方向不 變。 (3) 各桿件為剛體。 (4) 桿件間旋轉接頭處視為一點。 (5) 不考慮雙足機器人受地面衝擊之振動行為。 (6) 假設雙足機器人支撐腳底不與地面產生滑動。 接著利用D‐H model來建立運動學模型,建立順序為由腳底到腰部,如圖3.6所示,表3.1為雙足機器人D‐H model的參數表,其中每4個D‐H參數(θ、α、a、d) 可決定出一個手臂自由度的座標轉換矩陣,如式(3.3),左上角3*3矩陣代表的是 旋轉方向,而第4行前三個元素則是代表X、Y、Z方向的位移。整個手臂有多少自 由度就有幾個座標轉換矩陣作為代表,將所有自由度的代表矩陣照順序乘積起來 即可得知操作臂末端的姿態與位置的矩陣。
cos θ cos α sin θ sin α sin θ a cos θ sin θ cos α cos θ sin α cos θ a sin θ 0 sin α cos α d 0 0 0 1 (3.3) 表 3. 1 D‐H 參數表 108.6 135.4 X3 X4 Z5 X2 X0 X1 Z3 X5 Z2 Z1 Z4 Z0 waist hip knee ankle foot Shift 39.5 Shift 43.1 unit:mm (a) (b) 圖 3. 6(a)腳部模型(b)腳部 D‐H model θ α a d Joint1 θ1 -90° 0 0 Joint2 θ2 0 135.4 0 Joint3 θ3 0 108.6 0 Joint4 θ4 90° 0 0 Joint5 θ5 +90° 90° 0 0 Joint6 θ6 0 0 0
因此本論文之雙足機器人模型可建立以下 6 個轉換矩陣,如式(3.4‐3.9),除 了這 6 個自由度的轉換矩陣之外,其餘自由度皆為平移效果,因此在求逆向運動 學之時,可以先將其效果忽略進行求解,直到最後需要使用順向運動學計算身體 與腳底位置之時再將其加入。 cos θ 0 sin θ sin θ 0 cos θ 0 1 0 0 0 0 0 0 1 1 (3.4) cos θ sin θ 0 sin θ cos θ 0 0 0 1 135.4 cos θ 135.4 sin θ 0 0 0 0 1 (3.5) cos θ sin θ 0 sin θ cos θ 0 0 0 1 108.6 cos θ 108.6 sin θ 0 0 0 0 1 (3.6) cos 0 sin sin 0 cos 0 1 0 0 0 0 0 0 0 1 (3.7) cos 0 sin sin 0 cos 0 1 0 0 0 0 0 0 0 1 (3.8) cos θ sin θ 0 sin θ cos θ 0 0 0 1 0 0 0 0 0 0 1 (3.9) 並定義雙足機器人採用卡式座標系,以正 X 軸為前進方向,Z 軸為上方向, 並以起始位置雙腳踝中心為原點。機器人身體中心座標以及雙腳踝座標對絕對座 標系原點皆只是平移運動。各軸旋轉角度方向定義如圖 2.7。 逆向運動學求解方式如下: 將腳底座標系設為基座往上進行連桿帶動,直到髖部最後一自由度設為末端, 根據模型可知此種結構為 wrist‐partitioned 的類型,求解 6 自由度操作臂之時, 有容易解的算法。也就是因為末端位置的決定只受到 A1‐A3 轉換矩陣的影響, A4‐A6 轉換矩陣只會影響到末端姿態,因此可以藉由末端空間的三個座標變數(X、 Y、Z)來解得三個矩陣的角度變數(θ 、θ 、θ ),而產生將 6 自由度的問題拆成 2
個 3 自由度問題的效果。令吾人所想取得的末端空間座標值 P 與系統的前三自由 度轉移矩陣 A1*A2*A3 之第四行,設為 T13,分別為式(3.10‐3.11),式(3.11)即為順
向運動學推導出之本系統末端之空間座標。
P P P P 1 (3.10)
T
cos θ1 cos θ2 135.4 108.6 cos θ3 108.6 sin θ2sin θ3
sin θ1 cos θ2 135.4 108.6 cos θ3 108.6 sin θ2sin θ3
sin θ2 135.4 108.6 cos θ3 108.6 cos θ2sin θ3
1
(3.11)
接著令其在空間的三個座標變數(X、Y、Z)分別相等,也就是令式(3.10)與式 (3.11)個別相等,可得以下三式:(3.12‐3.14)。
P cos θ cos θ 135.4 108.6 cos θ 108.6 sin θ sin θ (3.12) P sin θ cos θ 135.4 108.6 cos θ 108.6 sin θ sin θ (3.13) P sin θ 135.4 108.6 cos θ 108.6 cos θ sin θ (3.14) 用此三方程式解三個變數,因此有解。首先將式(3.13)左右同除以式(3.12),可得: P P tan θ θ Atan2 P , P (3.15) 另外,θ 具有以下的同值解: θ Atan2 P , P (3.16) 相位相差 180 度。接著在已知θ 後, 也為已知,因此令 同左乘 P 與 T13, 可得 *P 與 之第四行相等,設為 T23,可得下三式(3.17‐3.19):
135.4 cos θ 108.6 cos θ θ P cos θ P sin θ (3.17) 135.4 sin θ 108.6 sin θ θ P (3.18) 0 P cos θ P sin θ (3.19) 將式 3.17 與式 3.18 平方相加可解得下式: cos θ = P P . P . . . (3.20) sin θ = 1 cos θ (3.21) 所以可得
θ =Atan2(sin θ , cos θ ) (3.22) 因為 Sin 有正負號的緣故,另一解為
θ =Atan2( sin θ , cos θ ) (3.23) 剛好相差一個負號。接著,由於θ 、θ 皆已知,吾人再將 同左乘 *P 與
,可得 P 與 之第 4 行相等設為 T3,可得下列三式:
P sin θ P cos θ cos θ P sin θ cos θ 135.4 108.6 cos θ (3.24) P cos θ P cos θ sin θ P sin θ sin θ 108.6 sin θ (3.25) P cos θ P sin θ 0 (3.26) 藉由式(3.24)與式(3.25)解sin θ 與 cos θ 之聯立方程式,可得 cos θ . P P P . P P P . . P P P P (3.27) sin θ . P P P P P P . . (3.28) 所以可知 θ =Atan2(sin θ , cos θ ) (3.29) 到此已解出前三軸角度,接下來要利用末端點之空間姿態方向來解出後三軸角 度。 在之前模型設定時已將第一個自由度的座標方向定義為 1 0 0 0 1 0 0 0 1 ,並且由於 本論文中之機器人移動軌跡皆為直線,暫不考慮最後一軸之旋轉,並且根據假設 腳底座標軸各軸的方向將與身體姿態座標軸平行,也就是 X0、Y0、Z0 與 Z5、X5、 Y5 平行,則末端的空間姿態則固定為 0 0 1 1 0 0 0 1 0 ,令 之旋轉矩陣 3*3 稱 做R ,而 之旋轉矩陣 3*3 稱做R ,分別可知:
R =
cos θ cos θ θ cos θ sin θ θ sin θ sin θ cos θ θ sin θ sin θ θ cos θ
sin θ θ cos θ θ 0 (3.30)
R =
cos θ cos θ cos θ sin θ sin θ sin θ cos θ cos θ cos θ sin θ cos θ sin θ sin θ cos θ cos θ cos θ sin θ cos θ cos θ sin θ cos θ sin θ sin θ sin θ
sin θ cos θ sin θ sin θ cos θ (3.31)
R 0 0 11 0 0 0 1 0 R R (3.32) 將已知的R 同左乘式(3.32)左右,可得R R R ,由於右側皆為已知,設 其為矩陣 n o a n o a n o a ,與式(3.31)比較可得:
cos θ cos θ cos θ sin θ sin θ sin θ cos θ cos θ cos θ sin θ cos θ sin θ sin θ cos θ cos θ cos θ sin θ cos θ cos θ sin θ cos θ sin θ sin θ sin θ
sin θ cos θ sin θ sin θ cos θ =
n o a n o a n o a (3.33) 因此可知 θ =Atan2 ay3, ax3 θ =Atan2 ay32 ax32, az3 ,範圍 0~π (3.34) θ =Atan2 oy3, nx3 或 θ =Atan2 ay3, ax3 θ =Atan2 ay32 ax32, az3 ,範圍 π~0 (3.35) θ =Atan2 oy3, nx3 以此方式解得之所有解的組合如圖 3.7,共有 8 組,因此吾人必須搭配各個 自由度的可行活動範圍來進行篩選,最後只留下一組可行解。到此,吾人已經可 以將想要之末端坐標經由逆向運動學轉換成為各關節角度。
圖 3. 7 一組位置可解出之所有角度解 接著將前節所得到之向量軌跡依序帶入反運動學求解,即可得到所應產生之 旋轉角度軌跡,而利用解出之角度帶入順向運動學中,畫出的軌跡模擬圖,如圖 3.8 所示,腰部軌跡參數:半跨距 30mm、距中心橫移距離 h1=70mm、跨步 取樣 T1=64;腳部軌跡參數:半跨距 60mm、跨步高度 h2=40mm、跨步週期 T2=32、桿件長度為上:108.6mm,下:135.4mm,全週期取樣為 128,左右腳軌 跡相差半個週期,單腳支撐相及雙腳支撐相時間長度相等並交互出現,腰部在 Y 方向以擺線輪廓曲線左右橫移。 圖 3. 8 單週期雙足機器人行走模擬 3D 圖
3.2.4
雙足機器人行走之分析
一般而言,過去的研究將兩足機器人之行走的過程中的姿態分為單腳支撐相 (Single‐support phase)與雙腳支撐相(Double‐support phase)兩種[22][29]。而 機器人在行走的過程中,便是這兩種相位循環交替,形成週期性的動作而前進, 如圖 3.9。其中,假設灰色的腿為左腳,而黑色的腿為右腳。首先由右腳跨出一 步,開始跨步時,從圖 3.9 中由左到右歷經雙腳支撐相與單腳支撐相之後,最後 再回到雙腳支撐相,如此反覆循環,達成連續行走之姿態。 因此將連續 2 組單雙支撐相組合起來成為一個新週期,如圖 3.10 所示,機 器人的動作將會是完全重複。因此在圖 3.1 中第四區塊的功能中,主要是將吾人 設計出之一完整週期之步態軌跡,按照命令輸入的步數連接起來重複組合使用, 展延出所需的步行距離,並且吾人所設定之單腳支撐相與雙腳支撐相之取樣時間 皆為相等。因此,吾人之做法為在機器人控制起始之時先將所需之全步態軌跡運 算完成,而後再將運算出之分段取樣軌跡逐個輸出使機器人產生運動。1
2
3
4
雙腳支撐相Double 單腳支撐相 單腳支撐相 雙腳支撐相 support phase Single support phase Single support phase Double support phase 圖 3. 9 雙足機器人行走相位示意圖圖 3. 10 雙足機器人步行之完整週期 當靜態步行在移動的過程中,為了不至於傾倒,都必須將重心置於支撐腳的 多邊形內,如圖 3.11,虛線代表的是腳浮空,圖中紅色所代表的是機器人的重心 位置,而重心是隨著步伐的移動而改變的,但是都是落在支撐腳多邊形上,如此 便能保持平衡不跌倒。因此,在機器人學的分析中,機器人的關節運動軌跡規畫 是重要的,因為這對於兩足機器人之平衡有著絕對的關係。一般來說,吾人先經 由運動學之分析,以驗證關節(joint)運動軌跡之可行性,而後經由實驗驗證以 完成控制器。 雙腳支撐相 單腳支撐相 單腳支撐相 雙腳支撐相
1
2
3
4
重心 左腳 右腳 圖 3. 11 雙足機器人行走重心示意圖第四章 補償控制器設計
在前節中,吾人已經設計好了一個可以進行平地行走的軌跡,使雙足機器人 得以進行直線靜態步行,但是當機器人一但遭遇障礙物或非理想地形時,就很容 易產生不穩甚至於傾倒的現象。因此,設計一個控制器可以在行走過程中感測地 形的變化,並根據變化輸出補償去微調原本的步行軌跡,不使重心的移動產生過 大的變動,並在變化解除之後得以還原至原本的軌跡將補償值歸零,便是本節的 重點。4.1 補償控制器架構
本論文中補償控制器的架構,如圖 4.1 所示,是屬於每個步行取樣中都會啟 動的及時控制方式,內容概述如下: 在雙足機器人的步行取樣中,根據裝置在雙足機器人腳底的壓力感測器所取 得的數值,傳送到補償器中,藉由自行建表內插轉換成為壓力值,再根據 ZMP 計算公式算出 ZMP 的位置。將算出之 ZMP 位置與使用者設定之相關參數送入補 償產生器,計算本次步行取樣所需的補償角或補償歸零角累加至總補償角中於每 次取樣時輸出。 接著於每次取樣時,步行軌跡產生器與補償器都會送出數值進行加總,一個 是本次取樣時理論上應執行的角度,另一個是累積至本次取樣時之總補償角度, 合成後則為本次取樣實際輸出角度。將實際輸出角度連續輸出則成為新步行軌跡。 角度合成如式(4.1),令 為最終輸入給馬達的角度, 則是步行軌跡所產 生的馬達角度,∆ 就是補償控制器所產生的總補償角,以上三個皆為長度 12 的向量,分別對應 12 個馬達自由度,但在總補償角向量中,由於吾人只針對踝 部的軌跡作補償,因此除了踝部 Pitch 方向之外,其餘自由度皆為 0。 ∆ (4.1)圖 4. 1 補償控制器架構圖
4.2 壓力感測器數值轉換
在補償控制器的圖 4. 1 第一個區塊中,主要是進行將腳底 8 個壓力感測模組 輸出的電壓由類比轉數位轉換器讀取的數值轉換為對應壓力的工作,由於壓力感 測器對於受力感測的範圍,在不同力量大小之下,有著相異的變化情形,呈現一 種非線性對應的狀況,因此吾人不可將讀取到的數值直接當成受力大小進行計算, 否則將會造成誤差。在此吾人則是使用建表查表的方式來設定轉換的曲線,在壓 力讀取數值為 0‐1000 的範圍內,吾人先將壓力感測器的測量值做一個統一的動 作,也就是先統一使用一個 5 公斤重的重物壓在壓力感測器上並調整可變電阻, 使壓力感測器的測量值達到 700,接著使用標準砝碼組合出各種重量並對各個壓 力感測器進行測量,建立各個壓力感測器的數值壓力對應表,而對於此表所未測 量的數值,則是採用線性插補法計算其壓力值來近似其特性曲線。4.3 零力矩點 ZMP 計算
為了達到控制的目的,推導足以代表系統動態行為的雙足步行機器人數學模 型是有必要的,一般常用之方法有兩種:第一種為 Lagrange Equation,此方法從 能量的觀點出發,基於整個系統之動能與位能之消耗而得,可提供設計者了解系統之動態行為。但是當系統自由度越多時,系統的動態方程式將會過於複雜;第 二種方法為 Newton‐Euler method,從力的觀點出發,將機器人每一連桿視為一 個獨立之自由體,以公式決定每一根連桿之動態模型,最後所求得之運動方程式 代表的是連桿與相鄰連桿之變化關係的疊代模型。此模型包括了連桿平移與轉動 之動態量,此模型可幫助設計者了解每一根連桿之動態行為,尤其該公式可以指 出透過機器人關節所傳遞之力與力矩和關節之間的相互作用力大小。 但是吾人認為上述之動力學分析法在應用上缺乏一實際且準確的系統模型, 當應用在兩足機器人時,受控系統的自由度相當多,如此將使得分析過程變得複 雜。且在系統模擬分析的過程不易以將環境的變數考慮進去,例如地形的變化等。 所以本論文對機器人動力學的分析是採用對零力矩和點(Zero Moment Point, ZMP)的分析[30]而成的。 當機器人運動時,各桿件產生加速度而有慣性。假設全部桿件的合力矩由一 地面反作用力矩相抵消。而地面反作用力若作用在腳掌內,即表示全部桿件的合 力作用也在腳掌內,則機器人保持平衡不跌倒,稱為零力矩和點(ZMP)。所以, 若是 ZMP 落在雙足機器人與地面所作用之支撐範圍內,吾人便可認為機器人為 平衡狀態,如圖 4.2。圖中深灰色之範圍為穩定支撐區域,所以雙足機器人在行 走時,ZMP 應該落在此區域中。 在過去許多研究當中,ZMP 是經由機器人之動態模型分析而得,如式(4.2) 與式(4.3)所示。其中m 為桿件之質量,I 與I 為慣量,Ω 及Ω 則分別是第i個桿
圖 4. 2 雙足機器人步行時 ZMP 穩定範圍示意圖
件之質量中心沿著x軸與y軸的絕對角速度,g為重力加速度常數, x , y , z 為桿 件質量中心之座標向量。