• 沒有找到結果。

雙足步行機器人於未知斜面之姿態控制設計

N/A
N/A
Protected

Academic year: 2021

Share "雙足步行機器人於未知斜面之姿態控制設計"

Copied!
118
0
0

加載中.... (立即查看全文)

全文

(1)

國立交通大學

電控工程研究所

碩士論文

雙足步行機器人於未知斜面之姿態控制設計

Pose-Control Design for Bipedal Walking on

Unknown Slope Surfaces

研 究 生:謝章宏

指導教授:宋開泰 博士

中 華 民 國 一百零二 年 五 月

(2)

雙足步行機器人於未知斜面之姿態控制設計

Pose-Control Design for Bipedal Walking on

Unknown Slope Surfaces

研 究 生:謝章宏

Student: Chang-Hung Hsieh

指導教授:宋開泰 博士

Advisor: Dr. Kai-Tai Song

國 立 交 通 大 學

電 控 工 程 研 究 所

碩 士 論 文

A Thesis

Submitted to Institute of Electrical 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 Control Engineering May 2013

Hsinchu, Taiwan, Republic of China

(3)

雙足步行機器人於未知斜面之姿態控制設計

學生:謝章宏 指導教授:宋開泰 博士 國立交通大學電控工程研究所

摘要

本論文之目的為設計一雙足機器人之步態控制器,使其於步行中遇到地面坡 度改變時能即時進行姿態補償控制,以避免傾倒。本設計藉由安裝於機器人之陀 螺儀與加速規取得上半身姿態資訊,使雙足機器人得以在變化的坡度地形,產生

適當的姿態調整動作以完成平衡步行。本論文以Central Pattern Generator(CPG)

為主要理論基礎來設計機器人行走時的完整步態軌跡。在平衡行走系統設計上, 本論文發展出一套補償控制器演算法,在雙足步行中藉由機器人上半身姿態的感 測值,判斷地形坡度與上半身姿態兩者關係,即時產生對機器人上半身姿態調整 之補償動作。此補償動作分為預測補償(Predictive Compensation)和即時補償 (Immediate Compensation),兩種控制法則結合使用,使機器人得以克服斜坡變化 順利完成連續步行。本論文以雙足機器人NAO 進行模擬和實驗,驗證所提出之 平衡行走系統的可行性。經過模擬與實驗驗證,此系統可達成雙足機器人於未知 斜面間進行平穩的行走。

(4)

Pose-Control Design for Bipedal Walking on

Unknown Slope Surfaces

Student: Chang-Hung Hsieh Advisor: Dr. Kai-Tai Song

Institute of Electrical Control Engineering National Chiao Tung University

Abstract

The objective of this study is to design a walking pattern generator and a balance control system such that a bipedal robot can handle an unknown slope in bipedal walking. The robot uses onboard gyro and accelerometer sensors to detect the pose information of upper-body. A controller is proposed for the robot to walk on unknown slope with suitable adjustment of the tilt angle of the upper-body pose. The theory of central pattern generator(CPG) is applied to generate the walking trajectory. By the pose information of upper-body, we develop a method to determine the relationship of the slope of the terrain and the upper-body posture and generate the compensation motion to adjust the tilt angle of the upper-body. The compensation control consists of the predictive compensation and the immediate compensation. The integrated controller adapts to the unknown slope while robot walking. Using the bipedal robot NAO, the simulation and the experimental results show that the biped robot can walk successfully on unknown slopes.

(5)

誌謝

謹向我的指導教授宋開泰博士致上感謝之意,感謝他三年來給予我在專業研 究上的指導上和生活上待人處事的教導,並以他豐富的學識與經驗,配合理論的 應用,使得本論文得以順利完成。 感謝學長孟儒、嘉豪、格豪、信毅、允智、育萱、仕晟、建宏、上畯及學姊 巧敏在理論及實驗過程中的指導,以及感謝同學家昌和Carlos 在學習過程中互 相勉勵與成長,同時感謝學弟昭宇、俊儒、京叡、奕夫、瑋哲、政輝、佑霖、明 翰以及學妹依穎在生活與課業帶來的樂趣。 最後,特別感謝我的父母,由於他們時刻的關心與辛苦的栽培,以及在生活 與精神上的支持與溫暖,並在研究過程中給了我許多的鼓勵,是促使我向前的動 力,使我才能順利完成論文,在此我願以此論文獻給我最摯愛的父母。

(6)

Symbols and Abbreviations

Symbols

, Neuron

, Membrane potential

, Variable of self-inhibition of the neuron

, Time constant

Tonic excitation Adaptation constant Control constant Number j of inputs Scaled gain of input

Output of the whole oscillator

The maximum positive value of 0 and x The minimum negative value of 0 and x

p Z-direction length from left foot to shoulder

pRz Z-direction length from right foot to shoulder

Offset of X-direction between two foot sole in DSP

p Difference value between and left foot position

pRx Difference value between and right foot position

Coordinate position of shoulder center in Y-direction Coordinate position of shoulder center in X-direction Coordinate position of left foot sole in Y-direction Coordinate position of right foot sole in Y-direction Current time in DSP

_ Total time of DSP

Scaled gain of shoulder center moving in X-direction Adjust the curve of shoulder center moving in

X-direction

Initial length of Z-direction

Output of oscillator for Z-direction

Scaled factor of the amplitude of

Output of oscillator for X-direction

Scaled factor of the amplitude of

_ Control upper-body to swing of forward-backward

_ Predictive compensation value for pitch plane

_ Real-time compensation value for pitch plane

(7)

θ _ Control upper-body to swing of left-right

_ Real-time compensation value for roll plane

_ Control the angle value of Hip-Roll joint

_ Oscillator output for pitch plane

_ Scaled factor of _

_ Oscillator output for roll plane

_ Scaled factor of _

x y z Absolute coordinate frame of joints

Representing the timing which is last time of the joint angles output to control robot in DSP

Angular value of pitching angle of upper-body at k time

_ Angular velocity value of pitching angle of

upper-body at k time

Sensor data of pitching angle of upper-body Timer

S Step of No.S

Angular value of pitching angle of upper-body in DSP Scaled factor of

Scaled factor of _

Average execution time of program The input of oscillator for pitch plane Scaled factor of

Scaled factor of

Sensor data of rolling angle of upper-body Scaled factor of

,i=1~5 The angle value of joint i

_ _ _

Absolute coordinate frame of joints

_ _ _

World coordinate frame of robot

θ The angle value of solution j of joint i

, , , , Parameter of oscillator for Z-direction

, , , , Parameter of oscillator for X-direction

, , , , Parameter of oscillator for pitch plane

(8)

The position of vector of Zero Moment Point

The measured pressure value of the j-th force sensor The position of vector of the j-th force sensor The output value of vacant of the j-th force sensor The output value of the j-th force sensor

The parameter of calibration Abbreviations

ZMP Zero Moment Point

CoM Center of Mass

IMU Inertial Measurement Unit

CPG Central Pattern Generator

DSP Double Support Phase

SSP Single Support Phase

D-H Denavit-Hartenberg

FSRs Foot Sensing Resistors

(9)

目錄

摘要... i

Abstract ... ii

誌謝... iii

Symbols and Abbreviations ... iv

目錄... vii 圖例... ix 表例... xiii 第一章 緒論... 1 1.1 研究動機與目的... 1 1.2 神經振盪元 CPG 原理 ... 1 1.3 相關研究回顧... 11 1.4 問題描述... 16 1.5 系統架構... 17 1.6 章節說明... 17 第二章 雙足步行步態規劃... 18 2.1 行走步態之規劃... 18 2.2 單腳支撐相... 19 2.3 雙腳支撐相... 24 第三章 在不平地面行走之補償設計... 26 3.1 系統設計理念... 26 3.2 行走的預測補償設計... 28 3.3 行走的即時補償設計... 31 3.4 補償控制的使用時機... 35 3.5 補償方式討論... 36 第四章 機器人實驗平台... 38 4.1 NAO 之硬體介紹 ... 38 4.2 NAO 之運動學計算 ... 40 4.3 NAO 之感測器 ... 45 4.4 NAO 之軟體介紹 ... 48 4.5 NAO 之電腦模擬系統 ... 49 第五章 模擬與實驗結果... 52

(10)

5.1 模擬和實驗之參數設定... 52 5.2 平衡行走之模擬結果... 56 5.2.1 平衡行走於 °斜坡之模擬結果 ... 56 5.2.2 平衡行走於 °斜坡之模擬結果 ... 60 5.2.3 平衡行走於 °斜坡之模擬結果 ... 64 5.2.4 模擬結果之比較... 68 5.3 平衡行走之實驗結果... 68 5.3.1 步態驗證之平地行走... 69 5.3.2 斜坡行走實驗結果之 ZMP 驗證 ... 71 5.3.2.1 平地→ °上坡之 ZMP 驗證 ... 71 5.3.2.2 平地→ °下坡之 ZMP 驗證 ... 75 5.3.2.3 平地→ °上坡之 ZMP 驗證 ... 77 5.3.2.4 °下坡→平地之 ZMP 驗證 ... 79 5.3.3 斜坡行走實驗結果之控制器效果驗證... 81 5.3.3.1 平地→ °上坡→平地之行走實驗結果 ... 81 5.3.3.2 平地→ °下坡→平地之行走實驗結果 ... 85 5.3.3.3 平地→ °上坡之行走實驗結果 ... 90 5.3.3.4 °下坡→平地之行走實驗結果 ... 93 5.3.4 實驗結果之討論... 96 5.4 討論... 96 第六章 結論與未來展望... 99 6.1 結論... 99 6.2 未來展望... 100 參考文獻... 101 

(11)

圖例

圖 1.1 在 IEEE 探索資料庫利用詞彙 Central Pattern Generator 或是 CPG 與 Robot

一起進行搜尋時所得到的相關文章數... 3  圖 1.2 振盪器的模型圖... 5  圖 1.3 對於有無滿足公式(1.7)的 CPG 輸出曲線變化圖(a)無滿足公式因此不會振 盪(b)有滿足公式因此保持週期性振盪 ... 7  圖 1.4 對於有無滿足公式(1.8)的 CPG 輸出曲線變化圖(a)無滿足公式因此振盪時 振幅依次縮減至0 (b)有滿足公式因此保持同振幅的週期性振盪 ... 7  圖 1.5 CPG 輸出曲線的自然頻率與 1/ 1的關係曲線圖 ... 8  圖 1.6 在輸入振幅改變時,CPG 輸出的對應變化關係圖 ... 9  圖 1.7 當輸入為固定常數時,CPG 輸出的對應變化關係圖 ... 10  圖 1.8 說明運動產生方式,藉由(a)神經系統(b)傳統機器人系統 ... 11  圖 1.9 機器人姿態修正示意圖各別在(a)前向平面 (b)側向平面 ... 12  圖 1.10 (a)地面感測(b)從雙足位移及正交方向估測出新的表面梯度 ... 13  圖 1.11 機器人跌倒情況分析(a)下坡情況(b)上坡情況 ... 13  圖 1.12 崎嶇地面行走時的整體控制流程... 14  圖 1.13 行走控制之架構圖[16] ... 14  圖 1.14 (a)整體 CPG 網絡 (b)與人相對的關節比較示意圖 ... 15  圖 1.15 利用 CPG 的整體控制架構 ... 16  圖 1.16 系統流程圖... 17  圖 2.1 整體的步態規劃... 19  圖 2.2 四個振盪器的控制安排... 21  圖 2.3 (a)前向平面上的軀幹搖擺示意圖(b)側向平面上的軀幹搖擺示意圖 ... 23  圖 3.1 整體之平衡行走控制架構圖... 28  圖 3.2 雙足行走處於雙腳支撐相時期之整體行走架構圖... 29 

(12)

圖 3.3 雙足行走處於單腳支撐相時期之整體行走架構圖... 32  圖 3.4 控制器的使用時機示意圖... 35  圖 4.1 機器人結構上桿件間長度說明(單位為公厘) ... 39  圖 4.2 雙腳自由度資訊與運動學使用上之命名... 39  圖 4.3 NAO 雙腳之 D-H model ... 41  圖 4.4 一組位置可解出之所有角度解... 45  圖 4.5 NAO 足部壓力計分布圖 ... 47  圖 4.6 Python SDK 之程式介面 ... 49  圖 4.7 NAO 之程式與硬體之間的傳輸方式 ... 49  圖 4.8 虛擬 NAO 的模擬環境 ... 50  圖 4.9 虛擬 NAO 站立時之 Gyro 感測器數值模擬圖 ... 51  圖 5.1 平衡行走於 4°斜坡之模擬過程... 57  圖 5.2 行走過程中之 Y 方向旋轉角度曲線 ... 57  圖 5.3 直接補償於關節 Hip-Pitch 之預測補償角度值 ... 58  圖 5.4 控制上半身前後擺盪的 CPG 的輸入與輸出之間的變化關係 ... 58  圖 5.5 單腳支撐相時補償於關節 Hip-Pitch 之即時補償角度值 ... 59  圖 5.6 行走過程中之 X 方向旋轉角度曲線 ... 59  圖 5.7 單腳支撐相時補償於關節 Hip-Roll 之即時補償角度值 ... 60  圖 5.8 平衡行走於 5°斜坡之模擬過程... 61  圖 5.9 行走過程中之 Y 方向旋轉角度曲線 ... 61  圖 5.10 直接補償於關節 Hip-Pitch 之預測補償角度值 ... 62  圖 5.11 控制上半身前後擺盪的 CPG 的輸入與輸出之間的變化關係 ... 62  圖 5.12 單腳支撐相時補償於關節 Hip-Pitch 之即時補償角度值 ... 63  圖 5.13 行走過程中之 X 方向旋轉角度曲線 ... 63  圖 5.14 單腳支撐相時補償於關節 Hip-Roll 之即時補償角度值 ... 63  圖 5.15 平衡行走於 7°斜坡之模擬過程... 64 

(13)

圖 5.16 行走過程中之 Y 方向旋轉角度曲線 ... 65  圖 5.17 直接補償於關節 Hip-Pitch 之預測補償角度值 ... 65  圖 5.18 控制上半身前後擺盪的 CPG 的輸入與輸出之間的變化關係 ... 66  圖 5.19 單腳支撐相時補償於關節 Hip-Pitch 之即時補償角度值 ... 66  圖 5.20 行走過程中之 X 方向旋轉角度曲線 ... 67  圖 5.21 單腳支撐相時補償於關節 Hip-Roll 之即時補償角度值 ... 67  圖 5.22 (a)4°之斜坡環境(b) 7°之斜坡環境 ... 69  圖 5.23 穩定行走之步態切片圖... 69  圖 5.24 步態行走時,四個 CPG 之個別振盪圖 ... 70  圖 5.25 ZMP 軌跡 ... 72  圖 5.26 行走過程中之 Y 方向旋轉角度曲線 ... 72  圖 5.27 行走過程中之 X 方向旋轉角度曲線 ... 73  圖 5.28 直接補償於關節 Hip-Pitch 之預測補償角度值 ... 73  圖 5.29 控制上半身前後擺盪的 CPG 的輸入與輸出之間的變化關係 ... 74  圖 5.30 單腳支撐相時補償於關節 Hip-Pitch 之即時補償角度值 ... 74  圖 5.31 單腳支撐相時補償於關節 Hip-Roll 之即時補償角度值 ... 75  圖 5.32 ZMP 軌跡 ... 76  圖 5.33 行走過程中之 Y 方向旋轉角度曲線 ... 76  圖 5.34 行走過程中之 X 方向旋轉角度曲線 ... 77  圖 5.35 ZMP 軌跡 ... 78  圖 5.36 行走過程中之 Y 方向旋轉角度曲線 ... 78  圖 5.37 行走過程中之 X 方向旋轉角度曲線 ... 79  圖 5.38 ZMP 軌跡 ... 80  圖 5.39 行走過程中之 Y 方向旋轉角度曲線 ... 80  圖 5.40 行走過程中之 X 方向旋轉角度曲線 ... 81  圖 5.41 平地→4°上坡→平地之行走實驗過程... 82 

(14)

圖 5.42 行走過程中之 Y 方向旋轉角度曲線 ... 82  圖 5.43 直接補償於關節 Hip-Pitch 之預測補償角度值 ... 83  圖 5.44 控制上半身前後擺盪的 CPG 的輸入與輸出之間的變化關係 ... 84  圖 5.45 單腳支撐相時補償於關節 Hip-Pitch 之即時補償角度值 ... 84  圖 5.46 行走過程中之 X 方向旋轉角度曲線 ... 85  圖 5.47 單腳支撐相時補償於關節 Hip-Roll 之即時補償角度值 ... 85  圖 5.48 平地→4°下坡→平地之行走實驗過程... 86  圖 5.49 行走過程中之 Y 方向旋轉角度曲線 ... 87  圖 5.50 直接補償於關節 Hip-Pitch 之預測補償角度值 ... 87  圖 5.51 控制上半身前後擺盪的 CPG 的輸入與輸出之間的變化關係 ... 88  圖 5.52 單腳支撐相時補償於關節 Hip-Pitch 之即時補償角度值 ... 88  圖 5.53 行走過程中之 X 方向旋轉角度曲線 ... 89  圖 5.54 單腳支撐相時補償於關節 Hip-Roll 之即時補償角度值 ... 89  圖 5.55 行走過程中之 Y 方向旋轉角度曲線 ... 90  圖 5.56 直接補償於關節 Hip-Pitch 之預測補償角度值 ... 91  圖 5.57 控制上半身前後擺盪的 CPG 的輸入與輸出之間的變化關係 ... 91  圖 5.58 單腳支撐相時補償於關節 Hip-Pitch 之即時補償角度值 ... 91  圖 5.59 行走過程中之 X 方向旋轉角度曲線 ... 92  圖 5.60 單腳支撐相時補償於關節 Hip-Roll 之即時補償角度值 ... 92  圖 5.61 行走過程中之 Y 方向旋轉角度曲線 ... 94  圖 5.62 直接補償於關節 Hip-Pitch 之預測補償角度值 ... 94  圖 5.63 控制上半身前後擺盪的 CPG 的輸入與輸出之間的變化關係 ... 94  圖 5.64 單腳支撐相時補償於關節 Hip-Pitch 之即時補償角度值 ... 95  圖 5.65 行走過程中之 X 方向旋轉角度曲線 ... 95  圖 5.66 單腳支撐相時補償於關節 Hip-Roll 之即時補償角度值 ... 96 

(15)

表例

表 4.1 雙腳各個馬達的旋轉角度之限制... 38  表 4.2 NAO 之雙腳 D-H model 參數 ... 41  表 4.3 壓力感測器量測值... 48  表 5.1 CPG 振盪器之參數,模擬與實驗皆用此組參數 ... 53  表 5.2 步態規劃之參數... 54  表 5.3 平衡控制器之參數... 56  表 5.4 模擬結果之預測補償值比較... 68 

(16)

第一章

緒論

1.1 研究動機與目的

在現今機器人的應用上,除了工業用機器人以外,在其他領域的機器人應用 也是蓬勃的發展中,例如:家用機器人、醫療用機器人…等等。對於這些機器人 的研究開發與應用,除了要代替人類勞力與使人類可以不用在有危險的場合工作 之外,許多機器人的應用是需要直接與人類進行互動已提供服務,因此在機器人 的設計上,較友善的擬人化機器人近幾年來受到很多重視。 雙足機器人與人們互動較為友善且人性化,它的多關節與高自由度使其靈活 度高,使得動作近似人類,並且在環境中的移動可以較為自由。在雙足機器人的 研究方面中,除了希望機器人整體可以更加的擬人化之外,更希望它能發揮出足 型機器人的功能優點,例如克服不同的地形障礙,與人們進行移動式的互動。因 此對於雙足機器人在不同環境中如何即時因應環境變化來達成穩定平衡,需要進 行深入的探討與研究。 本研究的目的為了使雙足機器人在面對了不同的地形環境之下,都可以保持 穩定行走,不會跌倒,所以,我們希望結合機器人具備之感測器,可以即時的偵 測出機器人目前的狀態及環境的狀況,進行即時的姿態控制,致使機器人可以持 續平衡的進行穩定的行走,克服環境變化所帶來的不穩定因素。

1.2 神經振盪元 CPG 原理

為了使機器人行走控制的整體思路可以更近似於人類,我們在對於二足機器 人平衡行走的整體設計上希望以生物學的觀點來達成行走步態的設計和感測回 授的控制。我們透過對生物神經學的研究[1-3]發現,生物體的運動在神經系統反 應上分為四種:第一種為反射(Reflex)(如敲膝時小腿彈),此運動特徵為自發且定 型,在對感知訊號的響應是沒有閥值限制的;第二種為確定行為(Determine Behavior)模式(如打噴嚏),它也是自發且定型,但此運動需達到一定的刺激閥值 才能被激發;第三種為節律運動(Rhythmic movement)(如行走、呼吸、心跳),此

(17)

運動特點為定型並非自覺的循環,卻又受到連續自覺的控制;第四種為受控運動 (Controller movement)(如伸手動作),屬於自覺的,通常是不定型也沒重複性。從 上述得知,對於雙足機器人的行走設計屬於生物體運動的第三種-節律運動。 另一方面,研究發現,脊椎動物的節律性運動,例如:呼吸、心跳、行走… 等,並不是從大腦產生,也不用透過外部傳感器輸入來產生運動,而是由位於神 經中樞系統中的腦幹及脊髓中的神經網絡組織所控制達成的[2]。更詳盡的解釋 為整個節律性的週期運動是利用脊椎當中脊髓軸突神經產生的週期性生物電流 放電刺激肌肉運動因而產生,不是透過大腦另外下達需要有週期性的循環才會產 生此節律性運動。而大腦的命令只是用來當節律性運動面對到環境改變的情況時, 再透過感測資訊當輸入,經過判斷進行此時運動行為所需的因應變化的控制。 研究者將脊髓在不用接收節奏性輸入的情況下,可以產生有節奏的神經運動

的此功能稱之為Central Pattern Generator(CPG)[1], CPG 屬於一種複雜的神經迴

路,但一般是由類似神經軸突一類的可興奮細胞所構成,這種神經細胞受到刺激 後狀態(通常用細胞膜內外電位差來做為狀態標誌,稱之為膜電位)可發生顯著變 化,利用此變化可以產生複雜的自發性節奏行為,甚至透過感知系統對於外界環 境所得的感測資訊當成輸入刺激進行節奏行為上的反射控制(如步態改變)。

對於CPG 應用在機器人移動的控制系統上已經越來越常見[4],當我們在

IEEE 探索資料庫利用詞彙 Central Pattern Generator 或是 CPG 與 Robot 一起進行

搜尋時所得到的相關文章統計,從2001 年到 2012 年數量有持續增加的趨勢,如 圖1.1 所顯示。CPG 在機器人學(Robotics)研究上,主要研究有:各種多足機器人 的移動步態改變;模擬實驗水陸兩棲之機器人,如:鯢(Salamander),研究如何直 接用CPG 在沒有輸入改變的曲線狀況下,進行水中游泳、陸上行走的狀態改變; 或是透過與生物的研究搭配,如:生物先行測試出當大腦的訊號輸入被阻斷或是 不完整訊息時,生物只使用CPG 所產生的移動模式為何,或是測試生物當一隻 腳受傷時,生物使用CPG 產生的移動模式發生改變的狀態…等生物研究結果, 並再把這些生物實驗實現在仿生物的機器人中,透過機器人的行為進行實驗,

(18)

驗證有何因素會導致CPG 的輸出曲線即整體行為模式產生改變。而這所有 CPG 的應用,一方面為影響到對於機器人產生步態的方式改變,可以有越來越生物化 的移動方式產生;另一方面為透過與生物的行為模式搭配,希望可以對於CPG 有更深入的了解,並應用在復健機器人(如:腦中風、腳受傷時的復健應用)上,使 得透過刺激訊號的改變來達到運動行為的改善。 CPG 神經元有以下幾個優點[4]:  在沒有外來刺激要求使得系統振盪的情況下,CPG 系統仍然會自 動地開始產生週期性振盪。  當利用基於環境的感測輸入來產生適當的運動,此時可以達成即時 的自適應學習和調整。  CPG 是快速回授控制的迴路,對於輸入的改變輸出能即時的應對。  在輸入和輸出之間有自動地同步功能,且 CPGs 可以被即時的加入 或移除並且此時系統仍然繼續運作。

圖 1.1 在 IEEE 探索資料庫利用詞彙 Central Pattern Generator 或是 CPG 與 Robot 一起進行搜尋時所得到的相關文章數

(19)

從生物神經學與控制應用研究上,我們得知CPG 的優點,因此我們希望將 CPG 應用在雙足機器人的行走控制來實現自發性的週期性的單腳支撐相行走步 態,並且再透過感測資訊直接對CPG 神經元進行外界輸入的刺激來改變 CPG 輸 出曲線,使得單腳支撐相時的行走曲線對於環境變化產生即時自適應調整,達成 持續的穩定行走狀態。 為了將生物學上的CPG 理念實現在控制系統上,CPG 大多被設計為一種神 經網路模型。在此類神經網路模型中,一個神經網路可以透過多個神經元之間的 互相抑制激發,使得神經網路模型產生振盪,也有人稱此為振盪器。在此我們以 兩個神經元 和 互相連結為例,進行一個神經網路振盪器是如何產生振盪, 首先 先進行放射在此同時 受到 的放射所抑制住,在此過程中 漸漸去極 (depolarization),當達成一定閥值時, 完成去極化從 中逃脫,接著 開始產 生放射並同時對 進行抑制,而在此過程中 也是會漸漸去極,當達成一定閥 值時, 完成去極化從 的抑制中逃脫再繼續開始放射,藉此兩個神經元狀態 達成週期性的互換,因而產生出有循環振盪的神經網路模型。 在許多CPG 神經網路的數學模型中,例如:Hopf 振盪器[5][6]、McMillen 振 盪器[7]或是 Matsuoka 振盪器[8][9]…等數學模型都可以產生出有循環振盪的神 經網路模型,因為Matsuoka 振盪器相對於其它的振盪器模型較為簡單且也被廣 泛的利用在機器人的應用上,所以我們在此利用Matsuoka 振盪器提出的 CPG 神 經網絡的數學模型設計行走步態。如圖1.2 所示,對於 Matsuoka 振盪器的數學 模型,利用方程式描述如下: ∑ (1.1) (1.2) ∑ (1.3) (1.4)

(20)

(1.5) ≝ 0, , ≝ 0, (1.6) 其中 和 屬於膜電位, 和 屬於自我抑制效果的變量,以上四個變量都 屬於振盪器的內部狀態, 和 為一個神經元之狀態變數; , , , 和 為常 數,其中 , , 和 值的關係會影響到振盪器是否振盪和波形[8][10], 的大小 影響輸出的振幅; 為輸入, 為輸入的比例因子; 為輸出。公式(1.6)表示符 號[x]+和[x]-個別表示取0 和 x 中最大正值和 0 和 x 中取最負值。 公式(1.1)和(1.3)屬於同一功能之公式,以公式(1.1)為例,此式屬於計算神經 元之膜電位 的值,在式中先將 移到左邊,此時此式將呈現出膜電位之位置與 乘上一時間常數 之膜電位的變化速率將被得到,透過利用右邊參數的相加,其 中 用來測定CPG 輸出的振幅,而乘上一適應常數 之 是為了使 可以產生自 我抑制,另外乘上一控制常數 之 是為了使 與 之間存在著相互抑制,最後 對於外來的輸入 被安排在式(1.1)中當作刺激神經元(取正部分)的輸入、在式 (1.3)中則當作抑制神經元(取負部分)的輸入。 公式(1.2)和(1.4)屬於同一功能之公式,以公式(1.2)為例,此式屬於計算要產 圖 1.2 振盪器的模型圖[18]

(21)

生自我抑制神經元的微分公式,在式中先將 移到左邊,此時可以看出自我抑制 神經元 與乘上一時間常數 之 微分將透過同一神經元之膜電位 的正部分 產生變化而獲得此時之自我抑制神經元 ,再藉此值回授到(1.1)式中讓膜電位 產生抑制的效果。 公式(1.5)則為此神經振盪器中,兩個神經元相互抑制之間膜電位的關係輸出, 在此式中皆取膜電位 和 為正值之部分,藉由相加得到最後由兩個神經元所 產生之整體神經振盪器的輸出曲線。 在此我們對Matsuoka 神經振盪器模型的輸出特性[8][10]進行探討,其中模 型中的參數和振盪器的輸入與振盪器的輸出之間的影響關係為: 第一、 在外界的輸入為零時( =0),為了使得 CPG 可以保持持續得振盪, 參數的調整皆須滿足公式(1.7)和(1.8);在滿足公式(1.8)的情況下,圖 1.3(a)為未滿足公式(1.7)、圖 1.3 (b)為有滿足公式(1.7);在滿足公式(1.7) 的情況下,圖1.4(a)為未滿足公式(1.8)、圖 1.4(b)圖為有滿足公式(1.8)。 圖1.3(b)和圖 1.4(b)雖都滿足公式(1.7)和(1.8),但因為參數設定上仍然 有所不同,因此CPG 輸出之曲線並不相同。另外,公式由於公式(1.7) 和(1.8)皆須滿足才能讓 CPG 保持持續振盪,因此對於兩個公式皆不滿 足的情況,我們在此不作討論。 γ/(1+β) < 1 (1.7) γ > 1+(τ /τ ) (1.8) 在[8]的研究中,證明出公式(1.1)和(1.3)的微分方程式在一範圍內至 少存在一穩態解,而當方程式之解處於穩態解的狀態下時,振盪器 之輸出不會產生振盪,因此透過公式(1.7)和(1.8)的參數值設定限制, 能使公式(1.1)和(1.3)在穩態範圍外,處於非穩定靜止狀態,並且因 公式(1.1)和(1.3)為有界性(Bounded),因而產生的非穩態解會在一定 範圍內持續振盪。

(22)

第二、 當外界的輸入為零時( =0),CPG 此時若滿足振盪條件產生持續的 振盪,那麼它本身的自然頻率與1/ 成一定比例,如圖 1.5 所示,在此 圖中我們利用兩個不同比例的τ / 來進行驗證,因為τ / 的不同比例 值會直接影響到CPG 輸出波形的振幅大小與自然頻率的高低,所以由 圖中顯示出在不同的τ / 的比例值中,CPG 輸出波形的自然頻率皆與 1/ 成一定比例,只是其中的比例值會有所變化。 (a) γ 2 , 1 β 2.1 (b) γ 2 , 1 β 2.1 圖 1.3 對於有無滿足公式(1.7)的 CPG 輸出曲線變化圖(a)無滿足公式 因此不會振盪(b)有滿足公式因此保持週期性振盪 (a) γ 2 , τ /τ 1.1 (b) γ 2 , τ /τ 0.5 圖 1.4 對於有無滿足公式(1.8)的 CPG 輸出曲線變化圖(a)無滿足公式因此 振盪時振幅依次縮減至0 (b)有滿足公式因此保持同振幅的週期性振盪

(23)

第三、 CPG 神經振盪器在有輸入時,輸入與輸出之間存在著牽引作用。 當輸入的頻率與自然頻率有相位差時,且輸入振幅大到可以完全影響 CPG 時,振盪器的牽引作用可以使得 CPG 的輸出頻率與輸入頻率可以 追到幾乎相同,只是在輸入和輸出之間會有一點相位延遲,如圖1.6(c) 所示;但是如果是在輸入的訊號振幅太小時,牽引作用就無法作用, 因而不會影響到CPG 的自然頻率,這即屬於一種抗干擾的特性,如圖 1.6(a)所示;另外若是輸入訊號振幅大小介於是否影響 CPG 之間時,自 然頻率整體上不會受到太大影響,但是每個週期之間仍會有頻率變得 較快或較慢產生,只是輸出振幅會受到影響隨著輸入放大縮小,如圖 1.6(b)所示。 第四、 當輸入為一固定常數,此時輸入常數的大小會立刻影響到輸出振幅 的大小,我們即可利用此特性進行CPG 曲線的輸出曲線控制,但由於 輸入對輸出的影響不是呈現一個有比例性的放大或縮小,由圖1.7(a)(b) 比較所知,且當輸入值有一個較大的改變時,此時輸出的第一週期振 盪的峰值會有一個超越量產生,如圖1.7(b)圖上說明所示,

(a) τ / =0.8, slope=0.17065 (b) τ / =0.5, slope=0.13265 圖 1.5 CPG 輸出曲線的自然頻率與 1/ 的關係曲線圖

(24)

因此由於有以上兩點的關係,在控制應用上的對於輸入利用的參數上 的考量將有一定的限制。另外,如果輸入振幅太大會立刻使得輸出曲 線不再繼續振盪,輸出曲線成一直線,此性質稱為抑制作用,如圖1.7(c) 所示,此一特性使得我們在輸入值上須加以限制使得維持CPG 曲線的 週期性,但若是善加利用此特性,可以產生將週期性任務中斷或暫停 的功能。 圖 1.6 在輸入振幅改變時,CPG 輸出的對應變化關係圖

(25)

經由上述四點對於Matsuoka 神經振盪器模型內的參數和不一樣的輸入訊號 對於振盪器輸出曲線的影響,以及在兩者之間相關聯的特性說明之後,讓我們在 將CPG 振盪器應用到雙足機器人步態行走的控制設計上,能利用 CPG 的特性“牽 引特性”達成感測器回授,或是利用 CPG 參數的調整使滿足 CPG 的振盪公式且 同時能避開CPG 的限制“抑制作用”、“超越量的產生”,也讓我們知道在整體的 控制設計上需要再加入何種控制策略或是補償工具,達成與CPG 振盪器應用在 雙足步態行走上有兩者相輔相成之效果。 圖 1.7 當輸入為固定常數時,CPG 輸出的對應變化關係圖

(26)

1.3 相關研究回顧

機器人基於環境偵測的回授控制設計上,在Fukuoka 等人發表的文獻[11]表 示目前大致上分為兩大類,第一類是基於生物觀點的運動生成方式,雖然控制運 動的神經系統和機器人的機械系統各別屬於一個非線性動態系統,但在此方式中 將兩個系統進行耦合,使得神經系統可以直接由機械系統取得環境資訊對環境進 行即時的適應,如圖1.8(a)所示,而此方式被稱為耦合動態系統,在此方式中建 構神經系統需要很縝密才能同時滿足所需的理想運動曲線和達成環境變化下的 因應對策,所以對於其中的參數設定就會變得過於複雜且較難達成完美估測。第 二類則屬於較傳統的控制系統,例如系統中有一個阻抗控制,與機器人的機械系 統進行耦合成為整體的耦合動態系統,但在此最大的不同是系統的運動產生器不 包含在整體的耦合動態系統中,如圖1.8(b)所示,作者表示這樣會發生當耦合動 態系統根據環境狀況產生出的自主規劃,會在耦合外的理想運動曲線和目前的實 際運動之間有互相抵觸的嚴重問題產生,但在此研究者大多只要加入適當的控制 器進行整合即可避免此問題的產生。 上述當中對於機器人產生運動方式之分類介紹,在雙足步行機器人的平衡控 制上亦是如此,因此我們將步態規劃以此兩大類-傳統機器人系統和神經系統, 分別依序介紹,並且對它們各別如何控制平衡穩定行走,進行不同方法的探討。 圖 1.8 說明運動產生方式,藉由(a)神經系統(b)傳統機器人系統[11]

(27)

在Ali 等人發表的文獻[14]中,提出一方法乃是完全利用基於逆運動學演算 法的座標位置和座標之間的相對旋轉角度,來使雙足機器人可以行走在有傾斜的 表面上,此控制方法利用全身姿態改變來達成對地形的適應,並非只改變一個關 節馬達的角度(如:踝關節)達成適應地面。首先,這策略是把位置和定向分開來看, 但都包括在運動學計算中,且預先定義當在平地時旋轉的定向角設為0 度,接著, 利用旋轉定相角得到合適的角度來行走在傾斜的平面上。那他們所使用的運動模 式是利用零力矩和點(Zero Moment Point, ZMP)[13]來控制機器人整體

CoM(Center of Mass) 的位置和擺盪腿的位置,而當雙足機器人走在與定義的旋

轉的定向角0 度不一樣時,即代表旋轉定向角發生改變,此時 CoM 的曲線會因

為定向角的改變而透過逆運動學的運用,使得CoM 曲線也跟著進行修正,因而

得到一個新的位置根據旋轉定向角。而對於傾斜地面的機器人的姿態修正分為雙 足機器人的兩個平面:前向平面(Frontal Plane)和側向平面(Lateral Plane),如圖 1.9 顯示,分別進行各自方向的矩陣運算來達成修正。 在Yi 等人發表的文獻[12]中,機器人行走時上半身是利用 ZMP 進行控制移 動,而在行走時的即時控制,利用了腳底的壓力感測器進行每一步的步伐落地時 間調整和對於落地時的衝擊力進行緩衝的補償控制,在最主要針對地形環境變化 的控制部份為透過腳位置方向的變化來得知,首先利用每個關節自由度的編碼器 (a) (b) 圖 1.9 機器人姿態修正示意圖各別在(a)前向平面 (b)側向平面[14]

(28)

得知目前角度,並透過運動學運算得知雙腳底的姿態再搭配上半身的姿態感測得

到inertial measurement unit(IMU)機器人上半身的角度方向,來算出兩腳底位置之

間的移位方向,以及下一步支撐腳目前對於地面的正交方向,以此來偵測出地形 是否有產生變化,如圖1.10(a)顯示,再利用文中提出的學習算法減少雜訊影響 估測出較精確的新地形表面梯度,如圖1.10(b)顯示,而得到成功的機器人移動 控制平衡。 在Ogino 等人發表的文獻[15]中,作者先對上下坡機器人會跌倒的情況進行 分析,如圖1.11 所示。 (a) (b) 圖 1.10 (a)地面感測(b)從雙足位移及正交方向估測出新的表面梯度[12] (a) (b) 圖 1.11 機器人跌倒情況分析(a)下坡情況(b)上坡情況[15]

(29)

接著,作者提出的行走控制器在不用感測地形狀態之下使機器人行走在崎嶇 地形上,此行走控制器的應用方式為,分析對於機器人軀幹的速度、機器人各部 位相對位置、腳底得到的作用力和行走步態在哪一階段,判斷此時須因應的解決 方法,如圖1.12 所示,而此方法利用的是控制上半身的速度和踝關節馬達的鎖 馬達程度(stiffness),最後控制每個關節自由度的力矩來達成。 在Li 等人發表的文獻[16]中,行走步態是利用被動倒單擺產生,面對地形改 變的情況下,利用上半身姿態感測資訊和腳的力與力矩感測資訊,進行身體姿態 控制、理想ZMP 控制和非線性著地控制,最後輸出成每個關節自由度的位置向 量來達成,圖1.13 為綜合上述之行走控制架構圖。 圖 1.12 崎嶇地面行走時的整體控制流程[15] 圖 1.13 行走控制之架構圖[16]

(30)

在Inada 等人發表的文獻[17]中,整體的行走曲線是由 CPG 的輸出安排得出, 方法為把八個CPG 輸出安排在八個關節直接控制所需轉的角度,且每個關節中 皆有權重互相牽制影響,如圖1.14(a)所示,而對於各個關節所需的 CPG 輸出曲 線在此則是先擷取人類的行走曲線換算成該關節所需的角度形成連串曲線,如圖 1.14(b)所示,再利用基因演算法計算出 CPG 所需的參數,藉此得到關節所需的 CPG 輸出曲線,完成雙足機器人行走。 利用文獻[17]此類把 CPG 安排在各個關節上所需的 CPG 參數就有 76 個,而 為了得到這些參數所使用的基因演算法就又要271 個參數,參數實在是使用過多, 雖然有些參數值是利用演算法自動生成,但仍會導致運算太過複雜,對於實際上 要即時利用感測資訊,進行感測回授運算,時間運算上可能會來不及。 在Endo 等人發表的文獻[18]中,作者減少大量的 CPG 的數量和所需調整的 參數,他們將CPG 安排來產生行走曲線時所需跨的長度和高度,整體使用了兩 個CPG 且之間也沒有權重連結,大大的降低 CPG 參數的數量,使得回授運算可 以即時的運算,並且在行走時即時的把感測資訊回授到CPG 中,對於往前跨長 度的CPG 用上半身在 Roll 方向的角速度來控制,而跨步高度則是用上半身在 Roll 方向的角度和腳底的壓力感測值來控制,如圖1.15 所示。 (a) (b) 圖 1.14 (a)整體 CPG 網絡 (b)與人相對的關節比較示意圖[17]

(31)

1.4 問題描述

對於雙足步行功能的最大課題之一就是面對不同的環境地形,機器人都能成 功地行走或跨越。對於雙足步行上要保持穩定平衡所需面臨的問題有:第一、對 於雙足機器人有較為重的上半身時,步態需如何規劃才得以維持平衡的行走;第 二、當外界地形環境發生改變時(例如:上下坡與平地之間的轉換),該如何進行應 對;第三,如何利用自身的感測系統來察覺環境情報和機器人本身的姿態狀況, 並利用即時的回授控制,保持行走的穩定平衡。我們希望經由克服這三類的問題, 使得雙足機器人可以穩定的在環境中行走。 首先,在設計行走步態上,我們希望能透過可自我產生連續週期的CPG 來 規劃理想的行走步態,並利用感測資訊回授改變CPG 曲線來控制行走時上半身 的擺盪控制,而當中對於較重的上半身我們將加入雙腳支撐相時的上半身重心移 動和單腳支撐相時的上半身的擺盪,藉此保持平衡。 接著,在對於地形資訊和機器人本身的姿態資訊偵測上,我們希望可以用最 一般化的感測器來取得,使得我們提出的方法可以用在商業化的機器人上,而機 器人不需要將感測器特殊加裝在特定位置上來得到環境或機器人本身的資訊。 最後,對於整體的行走平衡控制上,除了將感測資訊直接回授到相關的CPG 中,完成直接曲線改變之外,為了因應CPG 的限制,我們將加入補償控制器, 並針對不同時機的回授控制策略來達成連續行走的平衡穩定控制。 圖 1.15 利用 CPG 的整體控制架構[18]

(32)

在論文中,我們希望完成一套方法使機器人能因應地板斜面改變而產生即時 姿態調整的行走控制。

1.5 系統架構

圖1.16 為本論文的系統流程圖,我們主要設計的區塊為以下兩個區塊:步行

軌跡產生器(Walking Pattern Generator)和補償控制器(Compensation Controller)。 藉由上半身姿態資訊與使用者所給的命令,在步行軌跡產生器的區塊中計算出目 前所需的步行軌跡,再與透過上半身姿態資訊所得到在補償控制器中生成的補償 動作,進行合成,得到雙足機器人行走時的每個自由度所需到達的目標角度,使 雙足機器人能成功的在未知的斜面行走。

1.6 章節說明

本論文一共分為六章,第一章介紹研究動機、CPG 神經振盪元原理及其相 關回顧並說明整體的系統架構。第二章介紹雙足步行步態的規劃設計。第三章則 介紹平衡行走的整體系統設計。第四章為針對本論文實驗用之機器人NAO 的介 紹。第五章為模擬與實驗結果,驗證整體系統設計的可行性與正確性。第六章為 結論與未來工作。 + Upper-Body Pose Walking Pattern Generator Compensation Controller + Biped Robot User Command Robot-environment interaction Sensor Information 圖 1.16 系統流程圖

(33)

第二章

雙足步行步態規劃

為了使雙足機器人可以完成穩定的平衡行走,我們先建立可以在平地上行走 的步態軌跡。在相關研究調查中,對於預先離線的理想行走曲線規劃理論基本上 分為利用ZMP[13]、倒單擺模型[19]、非線性模型(如拉格朗日動態模型(Lagrange dynamic model)[20])…等來達成,而這些理論現在也已被延伸研究出更多元的方 法例如Fictitious ZMP[13]、Eulerian ZMP[21]、被動倒單擺模型[16]…等,來達成 行走控制。 對於上述行走曲線規劃的理論方法,在分析上可分為運動學(Kinematics)以 及動力學(Dynamics)兩部分。以一個多連桿系統為例,在運動學的分析中,是計 算各連桿旋轉角度或角速度所產生在機器人空間中的位移量,或是計算機器人在 空間中位移量所產生在各連桿之旋轉角度或角速度的改變,此方法較常利用在產 生靜態步行設計,即是考慮將機器人的重心投影全落在腳部的支撐多邊形區域內 即可。在動力學的分析上則是須利用實際且精確的系統動態模型來得到連桿之速 度、角速度、加速度、慣性力或扭力等等,而此方法在分析上較為精準,因此常 利用在產生動態步行設計上,在行走時機器人的重心可以落在腳部的支撐多邊形 區域外,而此時是利用機器人的運動慣量達成平衡,但動力學的分析過程也較為 複雜[20]。

2.1 行走步態之規劃

在我們規劃的運動軌跡中,沒有利用複雜的控制系統來精確計算出步行速度、 加速度及作用力矩等精確的物理模型使得利用運動慣量達成平衡,所以此行走軌 跡是屬於靜態步行的設計,因此在設計理想的行走軌跡時,必須考慮要將機器人 的重心投影完全落在行走時支撐腳的支撐多邊形區域內,在論文的實驗中也將透 過ZMP 的驗證,來證實行走的步態規劃是符合靜態步行的設計。 對於整體的行走步態規劃上,由於連續的行走是由左右腳個別的向前跨步循 環而成,屬於週期性的對稱循環,因此我們將利用能自動產生出節律性週期運動

(34)

的CPG 來設計行走曲線。但因為我們的設計行走屬於靜態步行的設計,對於機 器人的重心投影必須落在腳步的支撐多邊形區域內,因此對於上半身的重心移動 上,無法使用運動慣性力的方式達成重心的快速移動,會導致會有拖步的情況產 生,因此在雙腳支撐相時我們加入非週期性的上半身重心移動曲線規劃,使得在 跨步之前上半身重心可以已移動到支撐腳的多邊形區域中,達成穩定的行走軌跡。 我們把整體步態規劃分成雙腳支撐相(Double Support Phase, DSP)與單腳支撐相 (Single Support Phase, SSP)這兩部分來分開設計,如圖 2.1 所示,以完成機器人 理想的連續穩態行走,在論文中我們定義一步(step)為 DSP 加上 SSP,一跨步 (stride)則只表示單一 SSP,而行走了一週期則表示完成了兩步(two steps)的行走。

2.2 單腳支撐相

雙足機器人在行走中的單腳支撐相,左右腳的曲線擺盪是屬於週期性的對稱 循環,使得雙腳是呈現左右對稱的方式進行向前擺動,接著再搭配雙腳支撐相的 重心移動來達成行走的目的。 對於單腳支撐相時的左右腳曲線擺盪的週期性對稱循環控制,我們希望可以 透過對CPG 此方法的功能模擬實現出每一跨步,藉此得到週期性的理想行走步 態,並且再透過感測器對於外界環境刺激的感測進行行走時的平衡控制。 在文獻中,無論是何種型態的機器人對於CPG 應用在行走上時,大多都是 利用一個振盪器分配給一個關節或是一個馬達位置[17][23][24];或是多足機器人, 圖 2.1 整體的步態規劃

(35)

對於振盪器的分配為一隻腳一個振盪器,再藉由彼此的相位合作來完成行走[25]。 以上這些方法,證明出對於他們可以藉由多個振盪器之間的自我協調產生出所想 要的步態,但是這些方法所使用的參數很多,對於參數的調整是一大挑戰,另外 若是要用在實作上,在運算量及時間上也是一大考量。最後,因為此振盪器的分 配方式在機器人自由度很多的情況下,對於外界環境所感測到的資訊是否有合理 的應用在所需的回授控制上,達到移動也是一大課題。 基於上述的想法,我們希望可以用較少的CPG 亦或是較少的參數調整來完 成機器人的穩定行走,因此我們需要對CPG 的輸出曲線進行功能安排設計,來 產生出一個穩定的行走步態。Endo 等人提出 CPG 安排的設計方法[18] [26] [27]。 以[18]為例,基本上是利用兩組振盪器的輸出來得到行走控制,一個用來產生雙 腳在Z 軸方向的位置控制來進行支撐腳和擺盪腳的轉換,另一個則是用來產生 雙腳前端在X 軸方向的位置控制來產生往前行走的跨步曲線,利用此種 CPG 安 排方式得到可以穩定行走的曲線,並且此種方法所需的參數調整減少很多。 利用上述的概念,機器人平衡行走在單腳支撐相時所需的CPG 安排設計被 提出如下;我們設計四組神經振盪器來完成平衡行走,在此設計中我們把控制方 式分成整體行走曲線轉換及單一關節角度兩種,分別各以兩組神經振盪器,來達 成我們想要的控制目的。如圖2.2 所示,雖然在我們對於 CPG 的安排設計中, 相較於[18]所提出的 CPG 安排的設計方法多了兩組的神經振盪器,參數多了兩 倍,看似整體的參數調整會變得困難複雜,但由於我們CPG 所產生的曲線皆是 要產生相同的圓滑曲線,並不因不同的控制目的來產生不同的曲線,其中當要調 整神經振盪器曲線值時,會由感測資訊當輸入來完成曲線控制,另外當振盪器的 自然頻率要改變時,由1.2 節中對 CPG 神經振盪元原理分析中得知,只要在特 定參數1/ 做等比例調整即可產生新頻率的 CPG 曲線圖,而此 CPG 所產生的圓 滑曲線的振幅不會改變,所以在此只要調整出一組我們所需的圓滑曲線的參數即 可,並不會增加參數上的調整的麻煩。

(36)

接下來我們要對四個振盪器所要達成的目的及功能進行更詳盡的說明: 第一個振盪器顯示在圖2.2 的右下方,被分配來控制機器人支撐腳的轉換及 擺盪腳的抬腳高度,所以振盪輸出用來轉換成行走曲線在Z 方向的位置座標移 動,完成控制雙腳在Z 軸垂直方向的位置高度,而此轉換公式為(2.1)、(2.2) p (2.1) pRz = + (2.2) 其中ppRz各別為Z 方向左右腳到肩部的長度, 為 Z 方向被設定的初始長 度, 為比例因子對振盪器的輸出 進行等比例的放大成跨步時所需的高度,透 過兩式之間有+-的相差,產生出左右腳個別行走時的抬腳高度。 第二個振盪器如圖2.2 左下方所顯示,被分配來控制機器人向前行走時所邁 開的步伐長度,所以振盪輸出用來轉換成行走曲線在X 方向的位置座標移動, 圖 2.2 四個振盪器的控制安排

(37)

完成控制雙腳在X 軸前行方向的跨步長度,而此轉換公式為(2.3)、(2.4) p (2.3) pRx = + (2.4) 其中 為X 方向被設定的兩腳皆著地時的步距, 為比例因子對振盪器的輸出 進行等比例的放大成跨步時所需的長度的一半值,ppRx為行走時左右腳個別 在X 方向對於雙腳支撐相時的步距 的相差長度,因而產生出左右腳相對座標 上的變化,再利用建立絕對座標進行相對座標的累積,產生出向前的跨步。 第三個振盪器如圖2.2 左上方所示,我們利用它來使得在單腳支撐相時機器 人上半身可以進行前後的擺動,其振盪輸出用來直接轉換成上半身前後搖擺的角 度,控制位置在髖關節Pitch 方向上的關節旋轉角度,此轉換公式為(2.5) _ _ _ (2.5) 其中 _ 為比例常數對振盪器的輸出 _ 進行等比例的放大成行走時 上半身前後擺盪所需的角度, _ 為直接相加到控制髖關節Pitch 方向 之馬達的擺盪角度值。 第四個振盪器如圖2.2 右上方所示,我們利用它來使得在單腳支撐相時機器 人上半身可以進行左右的擺動,其振盪輸出用來直接轉換成上半身左右搖擺的角 度,控制位置在髖關節Roll 方向上的關節旋轉角度,此轉換公式為(2.6) θ _ _ _ (2.6) 其中 _ 為比例常數對振盪器的輸出 _ 進行等比例的放大成行走時上半 身左右擺盪所需的角度,θ _ 為直接相加到控制髖關節Roll 方向之馬達 的擺盪角度值。 安排前兩個振盪器的輸出經由公式轉換成行走時,在單腳支撐相時擺盪腳所 需的跨步高度與跨步長度,及支撐腳所需的支撐高度。以左腳為支撐腳為例,此 時座標位置的基準點在左腳腳底,利用p 得知肩膀的高度,利用pRz再得知右腳 擺盪腳腳底的擺盪高度(p pRz),並透過ppRx的相差距離,得雙腳在X 方 向的相關距離,並透過累加運算得到擺盪腳往前跨步時的相關位置 p p

(38)

而此時座標位置的Y 方向我們將設定為固定常數。因此得到左右腳和肩部的世 界座標(world_x, world_y, world_z),假設左腳底的基準點位置為(0,-50,0),肩部位

置則為(0,-50, p ),右腳腳底位置是(p pLx ,50, p pRz),將此三個座標位置 代入逆運動學中,即可得到行走跨步時每個關節所需到達的角度。 另外,當單腳支撐相開始時,雖然我們已經加入了雙腳支撐相來使得機器人 軀幹的重心已移動到支撐腳上,但是由於當擺盪腳抬起時,整體機器人的平衡又 會改變,導致整體機器人重心會往抬起的擺盪腳移動,發生行走時不穩或拖步的 情況。 為了克服上述情況,我們希望在單腳支撐相時加入機器人上半身的擺動,使得當 擺盪腳舉起時可以持續的保持穩定平衡的行走。在相關研究[28]中作者提出一個 控制概念,即當有較重軀幹的雙足機器人在行走時,在雙腳著地時軀幹往前傾、 接著在單腳支撐相搖擺的腿逐漸由後往前時軀幹逐漸往後傾。我們將[28]的控制 概念進行修改,提出一個控制策略為,在雙腳著地時軀幹為直立的、接著在擺盪 腳逐漸由後往前時,軀幹此時有兩個運動同時發生,其一為在側向平面(Lateral Plane)的方向上,軀幹往非擺盪腳的方向進行轉動,接著在轉回為直立,如圖 2.3(a) 所示;另一為在前向平面(Frontal Plane)的方向上,當擺盪腳由後到與支撐腳齊平 時,軀幹此時先由直立往前轉動再轉回為直立,接著當擺盪腳從齊平到向前落地 時,軀幹再接著從直立往後轉動再轉回為直立,如圖2.3(b)所示。 (a) (b) 圖 2.3 (a)前向平面上的軀幹搖擺示意圖(b)側向平面上的軀幹搖擺示意圖

(39)

運用以上的方法,希望可以在單腳支撐相,當擺盪腳抬起時,減少重心的不 穩定移動,讓重心可以持續保持在支撐腳上,使得行走時不會產生不穩或拖步的 情況,完成在平地上理想的平衡穩定行走。所以我們在設計上再加入後兩個振盪 器,產生輸出可以各別直接在髖關節的Roll 和 Pitch 方向的關節旋轉角度上,加 上我們想要讓上半身擺盪的控制角度,來完成此一控制策略。

2.3 雙腳支撐相

我們規劃的理想行走曲線為靜態步行,所以無法只靠單腳支撐相的運動慣量 移動來完成瞬時的重心移動,因此我們在支撐腳要在左右腳中進行轉換時,加入 雙腳支撐相先進行上半身的重心移動,當重心移動到下一跨步的支撐腳上,再繼 續執行單腳支撐相,完成連續行走的週期循環。 在雙腳支撐相中,如之前所述就是要將上半身的重心移動到下一步行走時的 支撐腳上,此時雙腳腳底座標位置皆不變,只針對肩部座標位置進行移動,因此 在肩部座標移動曲線設計上,將機器人X 方向(前後)和 Y 方向(左右)兩部份利用 個別的理想曲線移動,完成機器人的上半身重心移動,Z 方向(高度)部分則在雙 腳支撐相中不做改變。 上半身重心曲線在Y 方向移動的公式(2.7),以上半身重心要從右腳移到左 腳為例,此公式目的為讓上半身軀幹可以平滑移動到設定在下一支撐腳的理想目 標點上,達成平穩的重心移動。 2 , 0 _ (2.7) 其中 為機器人肩部中心在Y 方向的座標位置, 為左腳腳底中心在Y 方向 的座標位置, 為右腳腳底中心在Y 方向的座標位置, _ 為雙腳支撐 相時的整體時間, 為雙腳支撐相中目前的即時時間。 1 , 0 _ (2.8) 其中 為機器人肩部中心在X 方向的座標位置,時間常數 為控制輸出曲線的 波形,藉此控制上半身重心在X 方向移動的快慢,常數 用來調整輸出曲線的

(40)

終點位置,使得機器人肩部中心在X 方向的座標位置最終會停在前支撐腳的支 撐範圍中。 上半身重心曲線在X 方向移動的公式為(2.8),利用此公式是希望在移動到 目標點時,上半身可以在最後在X 方向移動較為緩慢,使得感測器所得到的感 測資訊可以更加精準,進而讓回授的補償值更加準確。會有此設計概念是,當機 器人行走在平地上,此時在雙腳支撐相時機器人上半身的理想姿態應為直立的, 但因為在單腳支撐相時此時機器人剛從後仰姿態變回直立,此時若使用與公式 (2.7)相同的方式來移動,整體姿態會保持等速緩慢的修正,導致整體姿態會因為 後仰的重心影響沒有修正到理想化,加上感測資訊在傳回時會有所延遲,使得得 到的即時感測資訊會有所偏差,影響到平衡行走系統的設計,所以我們在此設計 利用公式(2.8)來讓機器人在雙腳支撐相的剛開始可以有一加速度的移動,導致此 時整體姿態能進行快速的修正,克服後仰時所帶來的重心影響,到最後在準備要 量測下一步的感測資訊時,也因為此時的移動較為緩慢許多,減少了因快速移動 而產生的多餘雜訊,使我們得到更準確的感測資訊,完成我們為了平衡行走的控 制設計。 由上述得知,在雙腳支撐相時利用兩個肩部座標移動曲線,我們得到機器人 肩部X 方向和 Y 方向兩部份利用個別的理想曲線移動,Z 方向部分則為固定常 數,完成機器人的上半身重心移動,而此時兩腳腳底位置皆是固定在同一位置上。 以上半身重心要從右腳移到左腳為例,在左右腳底和肩部的世界座標位置

(world_x, world_y, world_z),此時先假設後腳-右腳底座標位置在(0,50,0),因此在

前腳-左腳底位置被假設為(50,-50,0),則肩部位置則為( , ,415) ,將此三個

座標位置代入逆運動學中,即可得到上半身重心移動時每個關節所需到達的角 度。

(41)

第三章

在不平地面行走之補償設計

在完成了整體理想行走曲線的設計之後,我們必須再利用感測器所得到的感 測資訊來加入回授控制,進行即時地調整行走的運動軌跡,使得機器人可以在上 下坡行走時,仍可以保持穩定的平衡行走。

3.1 系統設計理念

人們在閉眼走路時,由於不知道下一步地形的狀態為何,會將重心保持在支 撐腳上,直到擺盪腳落地得知地形為何後,此時上半身往下一步支撐腳前進時, 立即已經針對此時預測出的地形狀況進行平衡修正,而人們對於平衡上的控制, 大體上為調整上半身的姿態來達成,且當在單腳支撐相時若仍然發生不穩的情況, 依然可以即時的透過上半身的姿態修正,防止跌倒。因此我們整體的補償控制器, 將以此人們閉眼行走的概念來進行設計。 在多種雙足機器人行走的研究當中,對於在進行回授控制時,用何種感測器 取得感測資訊,再轉換成目前環境的資訊,有著多元的設計方法。所用的感測器, 有裝在腳底板上的壓力感測器、裝在機器人軀幹中心的陀螺儀與加速規、或是裝 在各個自由度馬達上的力感測器或編碼器…等,來得知目前機器人本身與環境的 感測資訊。 在上述的感測裝置上,我們採用的感測器為裝在機器人軀幹中心的陀螺儀與 加速規,利用此兩個感測裝置得到上半身目前在Pitch 和 Roll 方向上個別的旋轉 角度為多少,藉此得知目前地面環境的狀況為何,以此進行行走曲線上的補償修 正。目前只用上半身的感測資訊來進行回授控制,因為我們認為由於雙足機器人 在有一個較有重量的上半身的同時,上半身是否保持在可以維持平衡的穩定區間 中,往往會大大的影響到機器人是否會跌倒,所以我們打算控制機器人的上半身, 讓機器人在行走時不管遇到何種地形,都可以利用調整上半身的姿態,使得上半 身重心投影能落在更加安全的腳部支撐多邊形區域內,達到在不同地形中皆能平 衡行走的效果。

(42)

接著,對於雙足機器人行走在環境中的平衡分析上,我們認為當機器人處於 在雙腳支撐相時,機器人整體的平衡穩定度是較高的,但當機器人在單腳支撐相 時,整體的平衡會因抬腳擺動的關係產生改變,因此最需要注意此時是否能平穩 完成前跨步伐的動作,所以我們需要在單腳支撐相開始前,就預測此單腳支撐相 的跨步所會面臨的地形為何,在一開始就對地形的變化進行機器人的姿態對應, 使得行走的下一步可以因而保持平穩的完成。 因此在平衡行走控制設計上,我們假設機器人在雙腳支撐相時,必為平穩的 站在環境中,且假設機器人不會受到外力的干擾,例如:機器人軀幹被推動。在 以上兩個假設的情況下,雙腳支撐相時期的重心移動由目前支撐腳移動到下一步 支撐腳上時,此時對雙足機器人唯一的環境變化為地形上的改變,所以我們認為 當雙足機器人行走時,即可利用此時所得到的感測資訊,得知下一步支撐腳的地 形狀況為何,在下一步單腳支撐相開始時,立即完成在此次單腳支撐相中,需對 理想行走曲線進行調整的補償控制,而此部分的補償控制設計,我們稱之為行走 的預測補償設計,詳細內容會在3.2 節中進行說明。 在前段當中我們已經提出了對於下一步單腳支撐相時的預測補償設計,但是 此設計在補償控制中仍然存在不足之處,會導致機器人在單腳支撐相時發生跌倒, 而此情況有以下兩點: 1. 在單腳支撐相時,此時機器人可能會發生自身擾動的狀態產生,導致對 於行走曲線的執行上產生有些偏差,若當偏差過大時機器人的行走平衡 穩定狀態就會被破壞,致使機器人跌倒。 2. 當機器人在雙腳支撐相已先對下一步的地形環境進行所需的控制補償了, 但是在機器人開始單腳支撐相之後,卻因為上半身重心為了平衡搖擺移 動的關係,讓本來與地面接觸的腳掌產生與重心有極大相關的轉向,因 而導致機器人突然失去平衡導致機器人跌倒。 為了防止上述兩點導致跌倒的事情發生,在單腳支撐相時,除了利用在雙腳 支撐相時所測得的補償控制值之外,我們再加入即時對機器人上半身的姿態感

(43)

測, 來得到機器人目前對地形環境的姿態,重新再判斷上半身所需補償的姿態 角度,使得機器人可以即時的進行姿態調整,讓機器人可以持續地保持平衡行走, 而此部分的補償控制設計,我們稱之為行走的即時補償設計,詳細內容會在3.3 節中進行說明。 因此我們希望透過預測補償設計與即時補償設計的結合之下,讓機器人能因 應地板斜面改變而產生即時姿態調整的行走控制,整體之平衡行走控制架構圖, 如圖3.1 所示。所以對於感測資訊應用的時機與兩個補償控制器各別的補償時機, 我們將在3.4 節中做詳細的說明。

3.2 行走的預測補償設計

我們認為在雙腳支撐相重心已移動到下一步支撐腳時,就必須已經能判斷出 目前的地形,並且做出在下一步時需要的預測補償控制,才能即時地完成單腳支 撐相時的行走曲線調整,防止機器人發生跌倒。因此,在預測補償設計中所需取 得的補償值,我們是設計在機器人行走週期中的雙腳支撐相時期來取得此補償值, 因此對於行走的預測補償設計,我們將在雙足行走處於雙腳支撐相時期來進行完 整的補償取得設計,對於預測補償值的物理意義為修正上半身的姿態在DSP 時, 一直維持絕對於平地之直立,也就是希望SSP 上半身的擺盪能與平地行走時相 圖 3.1 整體之平衡行走控制架構圖

(44)

同,此值的好壞判斷取決於是否與因應於地形變化所改變的理想補償值接近。圖 3.2 為雙足行走處於雙腳支撐相時的整體行走架構圖,預測補償值的取得設計也 整合於其中。 對於圖3.2 雙足行走處於雙腳支撐相時期之整體行走架構圖的方塊流程進行 說明,首先,在左上方的紅色虛線大方塊為重心移動曲線規劃器,用來產生一連 串機器人從左右腳到上半身所要到達目標點的相關座標。此相關座標傳入逆運動 學方塊,得到所有關節馬達所需旋轉的角度。在右下方的綠色虛線大方塊為預測 補償控制器,先利用感測器取得在Pitch 方向目前機器人上半身的姿態角度為何 當作感測資訊,並利用重心移動的時間當作選擇點,選擇是否進行預測補償控制 器的工作,時間點選擇在雙腳支撐相要結束前,取用最後兩筆感測資訊來估測出 Upper Body Y-direction move Upper Body X-direction move Trajectory of Center of Gravity

Robot Robot-environment interaction Double Support Phase

Compensation Angle Calculation Input of Hip-Pitch CPG Calculation Inverse kinematics Angle of All Joints + +

Predictive Compensation Controller

Hip-Pitch Joint Angle Upper-Body Pose Estimation Timing selection Input Value of Hip-Pitch CPG Predictive Compensation Value of Hip-Pitch Angle _ 01 _ 01 , 1 圖 3.2 雙足行走處於雙腳支撐相時期之整體行走架構圖

(45)

目前的上半身姿態,並運算出在下一步單腳支撐相時,機器人上半身姿態須調整 多少角度來因應地形傾斜的變化的預測補償值,而此值除了會應用在下一步的單 腳支撐相中,在下一步的雙腳支撐相中也會將需要補償到Hip-Pitch 馬達上的角 度值與從逆運動學方塊中的Hip-Pitch 馬達的理想角度值進行相加,完成在下一 步雙腳支撐相所需的上半身姿態修正。 在紅色虛線大方塊的重心移動曲線公式已在2.3 節中進行說明,接著以下為 在綠色虛線大方塊中的功能實現的公式說明。 對於上半身姿態的估測,首先取用最後兩筆Pitch 方向的旋轉角度值進行平 均,如公式(3.1)所示,再利用此兩筆 Pitch 方向的旋轉角度值計算出目前在 Pitch 方向的旋轉角速度,如公式(3.2)所示。 1 /2 (3.1) _ 1 / 1 (3.2) 其中 和 1 個別代表為雙腳支撐相時之最後一次和倒數第二次的輸出角度 控制的次數, 為感測資訊在y 方向所得的旋轉角度值,t 為程式之計時時間, 為利用兩時刻平均計算出較準之y 方向旋轉角度值, _ 為計算 出目前y 方向旋轉角速度值。 若是在理想的感測估測和機器人移動下,其實根據我們的重心移動方式,兩 筆被感測出的Pitch 方向的旋轉角度值應為相同的,想當然爾此時的旋轉角速度 應為零,但因為機器人本身移動即會產生自身的擾動和移動的慣性力影響,且感 測器所得到的感測值也會有所偏差,因而導致感測出的資訊會有所誤差產生,感 測角度不為相同,且角速度當然也不為零。 所以,為了減少誤差地取得最接近目前姿態的姿態角度值,我們在利用(3.1) 式和(3.2)式所得到的上半身在 Pitch 方向目前姿態的角度和角速度時,其中個別 乘上一個比例調整來減少誤差值的影響,藉此得到更加精準的目前姿態的姿態角 度值,使得機器人目前的上半身能更精準的反映出地面斜度,如公式(3.3)所示。 _ (3.3)

(46)

其中, 為比例常數、 為速度常數,主要是以trial and error 的方式取得, 為 程式在近兩個迴圈的平均執行時間, 為經過計算後較精準之目前上半 身姿態角度值。 在所需要補償角度的計算方塊中,我們利用(3.3)式所得到的值,進行計算得 到直接補償的角度,公式為(3.4),而此值就用來當作在臀部 Pitch 方向的關節所 需要的補償角度值,直接控制上半身的傾斜角度。 _ 1 _ _ S (3.4) 其中, 為計算後之目前上半身姿態角度值,我們要進行補償因此須把 值乘上負號, _ 為在公式(2.5)中之上半身理想前後擺盪角度, _ S 表示為此步中目前的預測補償角度值, _ 1 表示 為下一步開始將更新的預測補償角度值 對於臀部Pitch 方向的 CPG 所需的輸入值的計算方塊,我們利用(3.3)式所得 到的補償角度,進行等比例縮小的運算得到在下一步單腳支撐相在臀部Pitch 方 向的CPG 所需的輸入值,如公式(3.5)所示。 _ (3.5) 其中 為比例常數,針對參數的調整是以CPG 的輸出不產生太大的 overshoot 的情況下,達成我們所需的上半身前後擺盪之調整效果。

3.3 行走的即時補償設計

在3.1 節提及,當雙足行走處於單腳支撐相時,除了利用在雙腳支撐相時所 測得的預測補償控制值之外,為了讓機器人能克服單腳支撐時可能會面臨的平衡 問題,我們將再加入即時對機器人上半身的姿態感測,來得到機器人目前姿態, 重新再判斷上半身所需補償的姿態角度,使得機器人可以即時的進行姿態調整, 讓機器人可以持續地保持平衡行走,而此部分的補償控制設計,我們稱之為行走 的即時補償設計,而對於雙足行走處於單腳支撐相時期之整體行走架構圖,如圖 3.3 所示,接著我們將對於圖中的每個大方塊進行說明。

(47)

首先,在圖3.3 左上方的綠色虛線大方塊為預測補償控制器,我們將在雙腳 支撐相計算出的兩個預測補償值在此進行單腳支撐相的回授,一個預測補償值當 作控制臀部Pitch 方向的 CPG 的新輸入,來改變 CPG 的輸出曲線;另一個在臀 部Pitch 方向的關節所需要的補償角度值,直接回授到關節角度整合方塊中,與 其它臀部Pitch 方向的角度進行相加。 接著,在圖3.3 左中紅色虛線的為直接關節控制的大方塊是利用兩個 CPG 來產生輸出曲線再經過CPG 計算成角度值來得到要讓機器人上半身搖擺的控制 值,以上的運算公式如(2.5)、(2.6)所示,而在其中對於控制臀部 Pitch 方向的 + X-direction Step CPG Z-direction CPG Hip_Pitch CPG Hip_Roll CPG Inverse kinematics Robot Robot-environment interaction Immediate Compensation Angle Calculation for Hip-Roll Angle

+ + Angle of All Joints -+ + CPG Calculated to Angle Value CPG Calculated to Angle Value Direct Joint Control Walking Trajectory

Single Support Phase

Predictive Compensation Controller

Jonit Angle Integrate

Immediate Compensation Angle Calculation for Hip-Pitch Angle

Hip-Roll and Hip-Pitch Joint Angle Immediate Compensation Controller Predictive Compensation Value of Hip-Pitch Angle Input Value of Hip-Pitch CPG + + Upper-Body Sagittal Plane Ideal Tilt Angle

Hip-Roll and Hip-Pitch Joint Angle _ 02 θ _ _ _ _ _ _ 01 圖 3.3 雙足行走處於單腳支撐相時期之整體行走架構圖

數據

圖 1.1 在 IEEE 探索資料庫利用詞彙 Central Pattern Generator 或是 CPG 與 Robot 一起進行搜尋時所得到的相關文章數
圖 1.16 為本論文的系統流程圖,我們主要設計的區塊為以下兩個區塊:步行 軌跡產生器(Walking Pattern Generator)和補償控制器(Compensation Controller)。
圖 3.4 控制器的使用時機示意圖
圖 4.1 機器人結構上桿件間長度說明(單位為公厘)[29]
+7

參考文獻

相關文件

每一切削中心機旁需備 電腦一部,以利程式之 控制器 依競賽場設備為準

5.非應試用品如教科書、參考書、補習班文宣品、計 算紙等,以及電子辭典、計算機、行動電話、呼叫 器、鬧鐘,及收音機、MP3、MP4

[r]

EtherCAT ® 為德國 Beckhoff Automation GmbH 取得許可證之專利技術,亦為註冊商標。. EtherNet/IP™為

單晶片電路接受到 A/D 轉換器的信號後,即將此數位信號由顥示器 顯示。此時單晶片 IC 並將此一 A/D 轉換器與指撥設定開關做比較,A/D 轉換器的信號高於設定值時,即由 OUT CONTROL

數位計算機可用作回授控制系統中的補償器或控制

111年度第4梯次自辦職前訓練考生達口試資格公告

 一般我們如過是透過分享器或集線器來連接電腦 的話,只需要壓制平行線即可(平行線:兩端接 頭皆為EIA/TIA 568B),