• 沒有找到結果。

使用光流影像感測的全方向運動平台之空間軌跡追蹤系統設計

N/A
N/A
Protected

Academic year: 2021

Share "使用光流影像感測的全方向運動平台之空間軌跡追蹤系統設計"

Copied!
88
0
0

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

全文

(1)國 立 交 通 大 學 電機與控制工程研究所 碩 士 論 文. 使用光流影像感測的全方向運動平台 之空間軌跡追蹤系統設計 Spatial Path Tracking System Design for an Omni-directional Platform Using Optical Flow Sensors. 研 究 生: 指導教授:. 鄭 胡. 榮 竹. 煌 生. 博士. 中 華 民 國 九 十 五 年 七 月.

(2) 使用光流影像感測的全方向運動平台 之空間軌跡追蹤系統設計 Spatial Path Tracking System Design for an Omni-directional Platform Using Optical Flow Sensors. 研 究 生 :鄭. 榮 煌. Student : Jung-Hung Cheng. 指導教授:胡. 竹. Advisor : Jwu-Sheng Hu. 生 博士. 國立交通大學 電機與控制工程學系 碩士論文. A Thesis Submitted to Institute of Electrical and Control Engineering College of Electrical Engineering and Computer Science National Chiao Tung University in partial Fulfillment of the Requirements for the Degree of Master in. Electrical and Control Engineering July 2006 Hsinchu, Taiwan, Republic of China. 中 華 民 國 九 十 五 年 七 月.

(3) 使用光流影像感測的全方向運動平台 之空間軌跡追蹤系統設計 研究生:鄭. 榮. 煌. 指導教授:胡. 竹. 生. 博士. 國立交通大學電機與控制工程研究所碩士班. 摘 要 本論文針對室內環境的輪式機器人提供一套高整合且低成本的定位及控制系 統;它可以在一般的室內環境中利用光流影像定位出機器人在空間中的相對方向 和位置;同時利用可即時速度控制之空間性軌跡追蹤法來控制該輪式機器人,使 得該機器人擁有在多種不同且未知情況的地面上進行速度控制、軌跡追蹤、碰撞 偵測以及動態軌跡規劃的能力。本論文亦提出以全向輪為基礎的輪式機器人平 台,它於一般的室內環境中擁有較高的運動靈活度;同時我們也整合了嵌入式網 路技術,以達成分散式運算及遠端操控機器人之目的。 目前,已經可以透過無線網路控制該平台在多種地形,包含:木板、地毯、 磨石地磚以及傾斜的木板之上進行速度控制、軌跡追蹤、碰撞偵測以及動態路徑 規劃的任務。 本論文主要分成三大部分,第一部分介紹極值搜尋演算法、軌跡追蹤演算法、 光流影像定位演算法以及全方向運動平台演算法。第二部分介紹實驗平台的軟硬 體架構。第三部分則是演算法在實驗平台上的實作,結果與分析。. i.

(4) Spatial Path Tracking System Design for an Omni-directional Platform Using Optical Flow Sensors Student: Jung-Hung Cheng. Advisor: Prof. Jwu-Sheng Hu. Institute of Electrical and Control Engineering. Abstract This thesis proposes an integrated and low-cost system of localization and control for an indoor omni-directional wheeled mobile robot using optical flow sensors. The system is capable of commanding the robot to perform velocity control, path tracking, collision detection and dynamic path planning tasks in various unknown landforms. Moreover, the omni-directional wheels offer a higher mobility in an indoor environment, and the embedded Ethernet technology is used to achieve the objectives of distributed computation and remote control. Presently, we can command this platform via wireless network to perform velocity control, path tracking, collision detection and dynamical path planning tasks in all following landforms: plank, carpet, terrazzo floor and inclined plank. The thesis is divided into three parts: The first part is the introduction to the extremum seeking algorithm, the path tracking method, the optical flow localization method and the omni-directional motion algorithm. The second part introduces the overall hardware and software architecture of the platform. The third part is the implementation of overall system on the platform and the discussions and analyses on the experimental results.. ii.

(5) 誌 謝. 對於本論文的完成,首先感謝指導老師胡竹生教授兩年多來的辛勤指導。在 這段日子裡,老師不僅教導我學術上的知識,更教導我做學問應有的態度和方 法;另外,亦在耳濡目染當中從他身上學習到待人處事的方法,對於老師兩年多 來的教導,誠摯的致上最真誠的謝意。 而在這些日子,必須感謝實驗室眾多學長姐,同學和學弟們的陪伴與協助。 感謝機器人組的立偉學長,在理論及實務上都提供我很多的建議和幫忙;感謝鄭 博士對我的加油鼓勵;感謝劉大人帶我們去重訓,讓大家都擁有健康的體魄;感 謝宗敏學長架的網頁,讓大家可以獲得新知以及排解無聊時光;感謝開新車超講 義氣的帥興學長,讓大家知道怎麼當一個很 Man 的型男;感謝終於當上實驗室一 姐的鏗元學姐,讓大家可以吃到好吃的自製餅干;感謝聽到冷笑話會很捧場的鳥 蕙,讓實驗室時時充滿歡樂的笑聲;感謝超會唱歌的朱杰倫,讓實驗室充滿活力; 感謝超會拉桿上籃的恒嘉,讓大家可以常常運動強健體魄;感謝超有愛心長得又 甜美的偑靜,讓實驗室充滿溫暖的感覺;感謝機器人組的好夥伴耀賢和永融,有 你們的支持和幫忙,讓我可以充滿動力做好我的研究;還有,講義氣的弘齡,有 責任感的楷祥,以及實力超強的 Alphar。 感謝你們大家在我研究所的生涯中給 我許多的歡樂和幫忙,讓我在這兩年間留下深刻美好的回憶。 最後,我要感謝的是我的家人,父親鄭棟連先生、母親莊梨珠女士、大姐雅 綺、二姐美玲、大哥榮泰和三姐美玉,感謝你們給我一個幸福溫暖的家庭,讓我 可以無後顧之憂地專心於學業研究上;還有,感謝眾多的好朋友們;尤其是小勻, 感謝你一路上的陪伴和鼓勵;謝謝你們。. iii.

(6) 目 錄 摘. 要. ..................................................................................................................... i. Abstract ......................................................................................................................... ii 誌. 謝. ................................................................................................................... iii. 目. 錄. ................................................................................................................... iv. 表. 列. ................................................................................................................... vi. 圖. 列. .................................................................................................................. vii. 第一章 緒論 ..................................................................................................................1 1.1. 研究動機 ..........................................................................................................1. 1.2. 研究目標 ..........................................................................................................2. 1.3. 序言 ..................................................................................................................3. 第二章 即時速度控制之空間性軌跡追蹤法 ..............................................................4 2.1 離散型極值三角搜尋法 ..................................................................................4 2.1.1 極值搜尋法(Extremum Seeking Algorithm, ESA) ......................................4 2.1.2 離散型極值三角搜尋法(Discrete-time Triangular Search Extremum Seeking Algorithm, DTS-ESA)[9]...........................................................................8 2.1.3 使用 DTS-ESA 進行運動平台之速度控制 ..............................................11 2.2 空間性軌跡追蹤法 ........................................................................................19 2.2.1 時間性軌跡追蹤法(Temporal Path Tracking Method, TPTM) .................19 2.2.2 空間性軌跡追蹤法(Spatial Path Tracking Method, SPTM)[10]...............20 2.2.3 即時速度控制之空間性軌跡追蹤法(Real-time Velocity Control - SPTM, RVC-SPTM)...........................................................................................................23 2.2.4 使用 RVC-SPTM 進行運動平台之軌跡控制...........................................24 2.2.5 利用 RVC-SPTM 進行碰撞偵測及動態路徑規劃...................................27 第三章 光流影像偵測定位法 ....................................................................................33 3.1. 光流(Optical Flow)的定義.............................................................................33. 3.2. 光流影像偵測定位法之原理[11]..................................................................34. 第四章 全方位運動平台 ............................................................................................37 4.1. 簡介 ................................................................................................................37 iv.

(7) 4.2. 運動學分析 ....................................................................................................38. 4.3. 運動模式 ........................................................................................................41. 第五章 軟硬體設計與實現 ........................................................................................43 5.1. 系統架構 ........................................................................................................43. 5.2 全方向運動平台-海星號(Starfish)之架構....................................................44 5.2.1 電路功能介紹.............................................................................................45 5.3. 主機端架構 ....................................................................................................51. 第六章 實驗結果與討論 ............................................................................................54 6.1. 光流影像定位實驗結果 ................................................................................54. 6.2. 速度控制及軌跡追蹤實驗結果 ....................................................................57. 6.3. 碰撞偵測及動態路徑規劃實驗結果 ............................................................68. 第七章 結論 ................................................................................................................73 7.1. 研究成果 ........................................................................................................73. 7.2. 未來展望 ........................................................................................................73. Reference:.....................................................................................................................75. v.

(8) 表 列 表 表 表 表. 1 2 3 4. 光流定位誤差表-實驗 1......................................................................................54 光流定位誤差表-實驗 2......................................................................................55 光流定位誤差表-實驗 3......................................................................................55 光流定位誤差表-實驗 4......................................................................................56. vi.

(9) 圖 列 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖. 1 某系統之成本函數................................................................................................4 2 極值搜尋法之工作迴圈........................................................................................5 3 某系統輸入與輸出之間的對應函式..................................................................10 4 利用 pk 和 qk 來決定下一次的控制輸入值 uk +1 ...................................................10 5 利用 pk +1 和 qk +1 來決定下一次的控制輸入值 uk + 2 ..............................................10 6 利用 pk + 2 和 qk + 2 來決定下一次的控制輸入值 uk +3 ..............................................11 7 找到最佳的控制輸入值( u* ), ...........................................................................11 8 平台速度方向定義圖..........................................................................................12 9 木板上 vix 與 vox 的關係圖 ...................................................................................12 10 木板上 vi y 與 vo y 的關係圖.................................................................................13 11 地毯上 vix 與 vox 的關係圖 .................................................................................13 12 地毯上 vi y 與 vo y 的關係圖.................................................................................13 13 磨石地磚上 vix 與 vox 的關係圖 .........................................................................14 14 磨石地磚上 vi y 與 vo y 的關係圖.........................................................................14 15 有斜度的木板(方向為 X 軸)上 vix 與 vox 的關係圖 ..........................................14 16 有斜度的木板(方向為 X 軸)上 vi y 與 vo y 的關係圖..........................................15 17 有斜度的木板(方向為 Y 軸)上 vix 與 vox 的關係圖 ..........................................15 18 有斜度的木板(方向為 Y 軸)上 vi y 與 vo y 的關係圖..........................................15 19 vix 與 vox 之間呈線性遞增關係 .........................................................................17 20 vix 與 vox 之間呈非線性遞增關係 .....................................................................17 21 vix 與 vox 之間呈非線性遞增關係 .....................................................................17 22 雙輸入變數的平台系統輸出函數....................................................................18 23 切角(CUT CORNERS) ...........................................................................................19 24 軌跡及軌跡相關量值........................................................................................20 25 空間性軌跡追蹤法的控制架構圖....................................................................21 26 ε -Controller 的相關量值 ....................................................................................22 27 RVC-SPTM 的控制架構圖 ................................................................................24 28 RVC-SPTM 的控制流程圖 ................................................................................26 29 碰撞偵測_1........................................................................................................28 30 碰撞偵測_2........................................................................................................28 31 碰撞偵測_3........................................................................................................28 32 動態路徑規劃_1................................................................................................30 33 動態路徑規劃_2................................................................................................31 34 含碰撞偵測及動態路徑規劃之 RVC-SPTM 控制流程圖 ..............................32 35 光流向量場........................................................................................................33 36 光流感測器與平台的幾何關係圖....................................................................34 vii.

(10) 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖. 37 光流軌跡視窗....................................................................................................36 38 三種不同型態的全向輪....................................................................................37 39 全向輪平台簡圖................................................................................................38 40 全向輪簡圖........................................................................................................38 41 運動模式示意圖................................................................................................42 42 完整系統架構....................................................................................................43 43 (左)上蓋, (右)上蓋與底盤組合透視圖 .............................................................44 44 嵌入式網路板....................................................................................................46 45 馬達控制板........................................................................................................46 46 感測器控制板....................................................................................................46 47 馬達裝置 ............................................................................................................47 48 AP(包含 SWITCH HUB) .......................................................................................47 49 降壓模組與電池組............................................................................................47 50 光流感測器........................................................................................................48 51 QUADRATURE MODE OUTPUT STATE ...................................................................48 52 QUADRATURE MODE OUTPUT WAVEFORM ..........................................................49 53 內部電路圖........................................................................................................49 54 底部照片 ............................................................................................................50 55 VISUAL BASIC 所建立之使用者圖形介面.........................................................52 56 利用 DDE 將資料傳至 MATLAB 進行記錄 ...................................................52 57 利用 MATLAB 所繪製的速度及指向圖 .........................................................53 58 利用 MATLAB 所繪製的誤差及軌跡圖 .........................................................53 59 光流定位軌跡圖(左)及平台移動示意圖(右)-實驗 1 ......................................54 60 光流定位軌跡圖(左)及平台移動示意圖(右)-實驗 2 ......................................55 61 光流定位軌跡圖(左)及平台移動示意圖(右)-實驗 3 ......................................55 62 光流定位軌跡圖(左)及平台移動示意圖(右)-實驗 4 ......................................56 63 對照組 1:於木板上進行直線軌跡追蹤任務之速度及指向圖........................58 64 對照組 1:於木板上進行直線軌跡追蹤任務之軌跡圖....................................58 65 對照組 1:於木板上進行直線軌跡追蹤任務之移動誤差圖............................58 66 對照組 2:於木板上進行弧線軌跡追蹤任務之速度及指向圖........................59 67 對照組 2:於木板上進行弧線軌跡追蹤任務之軌跡圖....................................59 68 對照組 2:於木板上進行弧線軌跡追蹤任務之移動誤差圖............................59 69 實驗組 1-1:於木板上進行直線軌跡追蹤任務之速度及指向圖 ....................60 70 實驗組 1-1:於木板上進行直線軌跡追蹤任務之軌跡圖 ................................60 71 實驗組 1-1:於木板上進行直線軌跡追蹤任務之移動誤差圖 ........................60 72 實驗組 1-2:於木板上進行弧線軌跡追蹤任務之速度及指向圖 ....................61 73 實驗組 1-2:於木板上進行弧線軌跡追蹤任務之軌跡圖 ................................61 74 實驗組 1-2:於木板上進行弧線軌跡追蹤任務之移動誤差圖 ........................61 75 實驗組 2-1:於地毯上進行直線軌跡追蹤任務之速度及指向圖 ....................62 76 實驗組 2-1:於地毯上進行直線軌跡追蹤任務之軌跡圖 ................................62 77 實驗組 2-1:於地毯上進行直線軌跡追蹤任務之移動誤差圖 ........................62 viii.

(11) 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖. 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98. 實驗組 2-2:於地毯上進行弧線軌跡追蹤任務之速度及指向圖 ....................63 實驗組 2-2:於地毯上進行弧線軌跡追蹤任務之軌跡圖 ................................63 實驗組 2-2:於地毯上進行弧線軌跡追蹤任務之移動誤差圖 ........................63 實驗組 3-1:於磨石地磚上進行直線軌跡追蹤任務之速度及指向圖 ............64 實驗組 3-1:於磨石地磚上進行直線軌跡追蹤任務之軌跡圖 ........................64 實驗組 3-1:於磨石地磚上進行直線軌跡追蹤任務之移動誤差圖 ................64 實驗組 3-2:於磨石地磚上進行弧線軌跡追蹤任務之速度及指向圖 ............65 實驗組 3-2:於磨石地磚上進行弧線軌跡追蹤任務之軌跡圖 ........................65 實驗組 3-2:於磨石地磚上進行弧線軌跡追蹤任務之移動誤差圖 ................65 實驗組 4-1:於傾斜木板上進行直線軌跡追蹤任務之速度及指向圖 ............66 實驗組 4-1:於傾斜木板上進行直線軌跡追蹤任務之軌跡圖 ........................66 實驗組 4-1:於傾斜木板上進行直線軌跡追蹤任務之移動誤差圖 ................66 實驗組 4-2:於傾斜木板上進行弧線軌跡追蹤任務之速度及指向圖 ............67 實驗組 4-2:於傾斜木板上進行弧線軌跡追蹤任務之軌跡圖 ........................67 實驗組 4-2:於傾斜木板上進行弧線軌跡追蹤任務之移動誤差圖 ................67 實驗 1:碰撞偵測及動態軌跡規劃之速度及指向圖........................................69 實驗 1:碰撞偵測及動態軌跡規劃之軌跡圖....................................................69 實驗 2:碰撞偵測及動態軌跡規劃之速度及指向圖........................................70 實驗 2:碰撞偵測及動態軌跡規劃之軌跡圖....................................................70 實驗 3:碰撞偵測及動態軌跡規劃之速度及指向圖........................................71 實驗 3:碰撞偵測及動態軌跡規劃之軌跡圖....................................................71. ix.

(12) 第一章. 緒論. 1.1 研究動機 自從機器人走入家庭環境以來,機器人在室內環境中的定位以及控制一直是 重要的議題。 對於機器人的定位問題,現今已有多種不同的解決方法,分別使用各式不同 的工具來量測並且推算出機器人的方位,例如:輪式編碼器、慣性導航系統、CCD 攝影機、紅外線收發器、RFID、超音波測距儀以及雷射掃描器等[1-4];然而這些 儀器在實際使用上仍然有相當的限制,例如:輪式編碼器會因為輪子打滑所產生 累積誤差、慣性導航系統(陀螺儀、加速度儀)容易因為精確度不足而產生誤差, 而視覺定位導航系統(CCD 攝影機)則是因為資料量過大、演算法複雜而且容易受 到環境光線變化影響,所以其準確性和實用性並不高。因此在本文中,我們將使 用精確度較高的光流影像感測器(雷射滑鼠)來偵測機器人的運動速度和移動軌 跡,因為它是直接量測地面的相對移動資訊,因此不會受到輪子打滑和環境光線 變化的影響,所以量測誤差較小;並且在光學滑鼠的大量普及使用之下,現今已 成為一低價位之產品,因而大幅降低機器人定位系統所需之成本。 接下來,談論到機器人的控制問題,目前常見的室內機器人多為輪式移動型 態;但是,輪式移動型態的機器人是一個容易受打滑現象影響的系統。對於輪式 機器人的移動軌跡控制,一般經常使用的方法多為時間性(Temporal or Time-based) 軌跡控制法[5],但此類的方法容易受到時間延遲而產生控制誤差。在本文中,我 們則是使用空間性(Spatial or Space-based)軌跡控制法,此種方法將機器人的移動 路徑定義為幾何空間的函數而非時間的函數,因此不會受到時間延遲而造成控制 誤差,也比較不容易受到系統不穩定特性和外部雜訊的影響。另外,我們也使用 極值三角搜尋法(Triangular Search Extremum Seeking Algorithm)來進行機器人的 運動速度控制,此速度控制方法為一適應性方法,故可以在多種不同環境下進行 即時的速度控制,以改善空間性軌跡追蹤法於實際運用時的控制成效。. 1.

(13) 接著,談論到機器人的碰撞偵測及動態軌跡規劃問題,一般室內機器人通常 使用紅外線感測器、雷射測距儀或是觸碰開關等來偵測機器人是否遇到障礙物而 無法前進[6],但是這些儀器除了價格昂貴之外也很容易損壞。本文則是利用光流 影像感測器可以量測輪式機器人即時運動速度的特性,來偵測該輪式機器人是否 與路徑上的障礙物發生碰撞。當碰撞發生時,我們所使用的空間性軌跡追蹤法可 以即時地規劃一條新的路徑,以使該輪式機器人可以避開障礙物,並回到原先要 求的路徑上,繼續往目的地前進。 常見的輪式機器人通常有 3 到 4 個輪子,其中有 1 到 2 個輪子為轉向輪(steering wheel);此種輪式機器人進行運動時,若要執行一邊移動一邊轉動的運動行為, 所需的迴轉空間相當的大;另外,此類機器人也不能直接往側方向移動,操作起 來有很多不方便的地方。在本文中,我們將使用全向輪(Omnidirectional Wheel) 的技術以取代傳統的輪式移動模式,使機器人具有較高的運動自由度,可以在家 庭環境中靈活的移動。. 1.2 研究目標 本論文的研究目標如下: 1. 使用全向輪來建構一個擁有高運動自由度的全方向運動平台。 2. 使用光流感測器來量測該全方向運動平台的即時運動速度和移動軌跡。 3. 發展一套控制系統,使得該全方向運動平台於家庭環境中,可以在多種不同且 未知的地面上進行速度控制和軌跡追蹤,同時,擁有碰撞偵測和動態軌跡規劃 的功能。 4. 最後,配合嵌入式網路技術,使得該全方向運動平台能透過無線網路的機制來 達到遠端操控和分散式運算的目標。. 2.

(14) 1.3 序言 本論文主要包含了三個部分,分別是演算法理論的介紹、實驗平台軟硬體架 構的介紹與演算法的驗證。底下大致描述這三個部分的內容: 第一部分: 第二章: 介紹可即時速度控制之空間性軌跡追蹤方法。 第三章: 介紹光流影像偵測定位法。 第四章: 介紹全方向運動平台。 第二部分: 第五章: 介紹實驗平台完整架構。 第三部分: 第六章: 演算法在實驗平台上的驗證。 第七章: 結論與未來展望。. 3.

(15) 第二章. 即時速度控制之空間性軌跡追蹤法. 2.1 離散型極值三角搜尋法 在這一章裡,我們將會介紹一種空間性軌跡追蹤法,它可以將二維的軌跡追 蹤問題轉換成一個純量調整問題,因而降低了機器人平台進行軌跡追蹤的難度。 但是,該方法中的速度控制部分必須以輪子不發生打滑及馬達特性不失真為前題 才能成立;因此,在實際狀況下該方法是會有缺失的。 所以,我們將會介紹一種離散型極值三角搜尋法,它可以適應性地自動調整 馬達控制輸入值,使得機器人平台可以在多種不同而且未知的地面上以一預設之 速度移動前進,進而改善前述空間性軌跡追蹤法之缺點。. 2.1.1 極值搜尋法(Extremum Seeking Algorithm, ESA) 對於線性與非線性系統的適應性控制議題,主流的方法只能針對已知的參考 資訊點進行分析處理。在一些應用中,參考資訊與系統輸出的對應關係存在著極 值(極大值或是極小值),而控制的目標就是要找到最佳的參考資訊點使得系統的 輸出保持在極值。對於無法確定參考資訊與系統輸出之間的對應關係時,則需要 使用適應性的搜尋方法來找到適當的參考資訊點使得系統輸出可以被極值化;這 一類的問題被稱為 extremum seeking control 或是 self-optimizing control,在 1950 及 1960 年代時非常地盛行[7],其中,利用弦波擾動(sinusoidal perturbation)則是 最受歡迎的一種方法。. 圖 1 某系統之成本函數 4.

(16) 一開始我們先以文字簡單地敘述一下 Extremum Seeking Algorithm 的工作原 理。圖 1 中的曲線是某個系統的成本函數(cost function),我們的控制目標是找到 這個成本函數的極小值( f * )。 a sin ωt 是加入的弦波擾動訊號,我們將此擾動訊號 與參考資訊( θ )相加,然後輸入到此系統中,然後可以得到此系統中參考資訊( θ ) 與成本函數之間的相關資訊,再經由高通濾波器(HPF:. s )將不需要的訊息濾 s+h. 除,接著乘上 a sin ωt 進行解調變(demodulate)的動作,便可以得到正確的傾向( ξ ), 最後再經由一個積分器(低通濾波)的作用來決定新的參考資訊輸入值,如此週而 復始地不斷搜尋,最後便可以找到最佳的參考資訊輸入值( θ * ),同時可以得到該 成本函數的極值( f * )。這種方法的優點在於可以做到即時的適應性控制處理,在 目標的極值大小以及成本函數皆會變動的情況下,依然可以找到極值,但缺點在 於只能找出局部的極值而無法找出全域的極值。. 圖 2 極值搜尋法之工作迴圈 接下來,我們將以數學運算式來驗證極值搜尋法的穩定收斂性質[7]。 圖 2 為一個 extremum seeking problem 的基本工作迴圈;任何可以二次微分的函 式 f (θ ) 均可區域性地表示成下列的形式: f (θ ) = f ∗ +. 5. f ′′ (θ − θ * ) 2 2. (1).

(17) 其中為了不失一般性,我們假設 f ′′ > 0 ;若是在真實情況下 f ′′ < 0 ,我們只需將 圖 2 中的 k ( k > 0 )替換為 −k 即可。極值搜尋法的目標是讓 θ − θ ∗ 盡可能的縮小, 如此一來,系統的輸出 f (θ ) 便會趨向於它的極值 f * 了。一開始,一個 a sin ωt 形式 的弦波擾動訊號必須被輸入至系統當中,來幫助我們量測 f (θ ) 的梯度(gradient) 資訊。 圖 2 中的 θˆ 代表的是對於未知的最佳輸入值 θ * 的預測值,我們將預測誤差設 定為: θ = θ * − θˆ. (2). θ − θ * = a sin ωt − θ. (3). 然後可以得到:. 將(3)式代入(1)式之後,可以得到: y= f*+. f ′′ (θ − a sin ωt ) 2 2. (4). 利用基本三角關係式 2sin 2 ωt = 1 − cos 2ωt ,可以將(4)式擴展為: f ′′ 2 a 2 f ′′ 2 θ − af ′′θ sin ωt + sin ωt 2 2 a 2 f ′′ f ′′ 2 a 2 f ′′ = f*+ + θ − af ′′θ sin ωt + cos 2ωt 4 2 4. y= f*+. (5). 接著,將輸出 y 值經過一個高通濾波器: s s+h. 可以發現輸出 y 值中的 f * +. (6). a 2 f ′′ (DC value)將會被過濾掉: 4. s f ′′ a 2 f ′′ [ y ] ≈ θ 2 − af ′′θ sin ωt + cos 2ωt 2 4 s+h. (7). 接下來,將這個訊號乘上 sin ωt 以進行解調變的動作: ξ≈. f ′′ 2 a 2 f ′′ θ sin ωt − af ′′θ sin 2 ωt + cos 2ωt sin ωt 2 4. (8). 利用三角關係式 2 cos 2ωt sin ωt = sin 3ωt − sin ωt ,可以將(8)式擴展成: af ′′ af ′′ a 2 f ′′ f ′′ ξ ≈− θ+ θ cos 2ωt + (sin ωt − sin 3ωt ) + θ 2 sin ωt 2 2 8 2. 6. (9).

(18) 因為 θ * 是一個常數值,所以從(2)式可以得到: θ = −θˆ. (10). 所以,我們可以得到: k ⎡ af ′′. af ′′. θ ≈ ⎢− θ+ θ cos 2ωt s⎣ 2 2 +. ⎤ a 2 f ′′ f ′′ (sin ωt − sin 3ωt ) + θ 2 sin ωt ⎥ 8 2 ⎦. (11). 接下來,我們將(11)式中的最後一項省略掉,這是因為它是 θ 的二次方項,而我 們只對 θ 的區域分析有興趣: k ⎡ af ′′. af ′′. θ ≈ ⎢− θ+ θ cos 2ωt s⎣ 2 2 +. ⎤ a 2 f ′′ (sin ωt − sin 3ωt ) ⎥ 8 ⎦. (12). 從(12)式中,可以發現後面兩項是屬於高頻的訊號,當我們將此訊號經過積分器 (低通濾波)作用之後,後面這兩項會被濾掉,因此可以得到: k ⎡ af ′′ ⎤. θ ≈ ⎢− θ s ⎣ 2 ⎥⎦. (13). 或是 θ ≈−. kaf ′′ θ 2. (14). 因為 kaf ′′ > 0 ,所以這是一個穩定的系統;因此,我們可以推論 θ → 0 ,也就是 θˆ 會 趨近於 θ * ,因此系統的輸出 f (θ ) 便會趨向於它的極值 f * 了。 在這裡我們只針對靜態系統(Static System)的穩定性提出驗證,而對於動態系統 (Dynamic System)的穩定性討論則是在 Ref. [7]中有詳細的介紹。. 7.

(19) 2.1.2 離散型極值三角搜尋法(Discrete-time Triangular Search Extremum Seeking Algorithm, DTS-ESA)[9] 在上一小節中,我們已經介紹了極值搜尋法(ESA)的工作原理及穩定性質。 極值搜尋問題的最佳解通常可以透過兩種方法來求得,一種是調整迴授控制器的 參數值,另外一種則是直接調整控制輸入值;而在 Ref. [8]中,使用連續性擾動方 法來調整迴授控制器參數值的問題被詳細的分析與討論,並且被應用在航空器引 擎壓縮機的控制問題上。 接下來,我們將要介紹一種可以直接調整控制輸入值的離散型極值三角搜尋 法(DTS-ESA),此種方法係利用前幾次的效能量測(performance measures)來形成 一個三角標示點(triangular locator)以決定下一次的控制輸入值;因此,它被稱為 一種三角搜尋演算法(triangular search algorithm)。 因為三角搜尋演算法是一種自行驅動切換(self-driving switching)的系統,因此 資料的平滑度以及去雜訊化是非常重要的;如此一來,效能指標才能對於演算法 目前正在接近或是遠離極值點,提供有意義的資訊。 為了過濾雜訊和平滑資料,我們必須使用時間平均化(time-averaging)以及降 低取樣頻率(down-sampling)這兩種方法來幫助我們達成目標;這一部分的討論在 Ref. [9]中有很詳細的介紹,因此在這裡便不再詳述。 假設有一個經過時間平均化及降低取樣頻率之後的離散時間系統,我們可以 將它表示成下列的形態: yk = f k (uk ) + vk. (15). 其中, yk 是系統在取樣時間為 k 時的輸出值,uk 是控制輸入值,vk 是量測誤差值, 而非線性函式 f k 則是代表此系統輸入與輸出之間的對應函式。 假設當控制輸入值 uk 等於最佳解 u* 時,輸入與輸出之間的對應函式 f k (u ) 有唯一的 最 小 值 f k* = f k (u* ) ; 此 時 , f k ′ (u* ) = 0 , 並 且 ∃δ > 0 使 得 f k ′ (u* + δ u ) > 0 , f k ′ (u* − δ u ) < 0 , ∀δ u ∈ (0, δ ) 。. 底下,我們列出三角搜尋法的遞迴公式:. 8.

(20) ⎧(uk , pk −1 ) if yk ≤ y pk −1 ( pk , qk ) = ⎨ ⎩( pk −1 , uk ) if yk > y pk −1. (16). 其中, y pk −1 代表控制輸入 uk = pk −1 時系統的輸出。而控制輸入值的更新公式則可以 表示成: uk +1 = pk + μk +1sign( pk − qk ). (17). 其中, μk +1 > 0 是 step size,而 pk , qk 是用來記憶到目前為止最佳的控制輸入值;因 為更新公式總是在最佳的控制輸入值附近變動,所以新的控制輸入值並不會離最 佳值太遠。當 yk ≤ y pk −1 時,代表找到一個新的最佳控制輸入值,因此, pk 要被更 新為 uk;而當 yk > y pk −1 時,代表舊的最佳控制輸入值仍然是目前的最佳值,所以 pk 被更新為 pk −1。因此,下一次的控制輸入值 uk +1 將會以目前的最佳控制輸入值 pk 為 起點,然後往可以讓輸出值 y 下降的方向(由 qk 指向 pk 的方向)移動 μk +1 的距離; 在經過數次的尋找之後,此演算法將可以找到該系統的最佳控制輸入值( u* ),同 時,系統的輸出將會達到最小值 f k* = f k (u* ) 。. 接下來,我們將會利用圖形來解釋上述的各項情況: (1) 圖 3 代表某系統輸入與輸出之間的對應函式 f k 。 (2) 如圖 4 所示,假設在取樣時間為 k 時,此演算法 DTS-ESA 中已經記憶一組 ( pk , qk )值,所以可以使用更新公式及( pk , qk )值來決定下一次的控制輸入值 uk +1 。 (3) 如圖 5 所示,此時取樣時間為 k + 1 ,因為控制輸入值 uk +1 所得到的系統輸出 yk +1 ≤ y pk ,代表找到新的最佳控制輸入值,所以 pk +1 要被更新為 uk +1 , qk +1 要被更. 新為 pk ,接著可以使用更新公式及( pk +1 , qk +1 )值來決定下一次的控制輸入值 uk +2 。 (4) 如圖 6 所示,此時取樣時間為 k + 2 ,因為控制輸入值 uk +2 所得到的系統輸出 yk + 2 > y pk +1 ,代表舊的最佳控制輸入值仍然是目前的最佳值,所以 pk + 2 被更新為 pk +1 , qk + 2 要被更新為 uk + 2 ,接著可以使用更新公式及( pk + 2 , qk + 2 )值來決定下一次的. 控制輸入值 uk +3 。 (5) 如圖 7 所示,經過數次的尋找之後,演算法 DTS-ESA 將可以找到該系統的 最佳控制輸入值( u* ),而且系統的輸出將會達到最小值 f k* = f k (u* ) 。 9.

(21) 圖 3 某系統輸入與輸出之間的對應函式. 圖 4 利用 pk 和 qk 來決定下一次的控制輸入值 uk +1. 圖 5 利用 pk +1 和 qk +1 來決定下一次的控制輸入值 uk +2. 10.

(22) 圖 6 利用 pk +2 和 qk +2 來決定下一次的控制輸入值 uk +3. 圖 7 找到最佳的控制輸入值( u* ), 同時,系統的輸出將會達到最小值 f k* = f k (u* ). 2.1.3 使用 DTS-ESA 進行運動平台之速度控制 在上一小節中,我們已經詳細地介紹演算法 DTS-ESA 是如何運作,以得到 一個系統的最佳的控制輸入值以及最小的系統輸出值;接下來,我們將把 DTS-ESA 的使用空間維度擴展成二維,並實際應用到全方向運動平台的即時速度 控制上面。 我們使用全向輪的機構以當作全方向運動平台的移動載具,全向輪可以提供 該全方向運動平台較高的移動自由度(此部分將會在第四章中詳細地介紹);但 是,不可避免的,全向輪與地面之間還是會發生打滑的現象,因而造成控制該全 方向運動平台的難度提高。此外,家庭環境中的地面材質通常很多樣化,而每種 11.

(23) 材質的地面對全向輪所產生的動摩擦力及滾動摩擦力都不盡相同,因此也會影響 到控制該全方向運動平台的效能。 舉例來說,理論上當我們輸入速度控制指令( vix , vi y )=( vt x , vt y )給全方向運動平 台時,平台應該會以( vt x , vt y )這個速度在地面上行進;但是,實際上平台並不是以 ( vt x , vt y ),而是以( vox , vo y )這個速度在地面上行進,如圖 8 所示。底下,我們列出 在幾種地面上以及斜坡上,( vix , vi y )與( vox , vo y )之間的關係圖形,以說明上述的情 況。. 圖 8 平台速度方向定義圖 (1) 木板:. 圖 9 木板上 vix 與 vox 的關係圖. 12.

(24) 圖 10 木板上 vi y 與 vo y 的關係圖 (2) 地毯:. 圖 11 地毯上 vix 與 vox 的關係圖. 圖 12 地毯上 vi y 與 vo y 的關係圖. 13.

(25) (3) 磨石地磚:. 圖 13 磨石地磚上 vix 與 vox 的關係圖. 圖 14 磨石地磚上 vi y 與 vo y 的關係圖 (4) 有斜度的木板(坡度為 18%, 傾斜方向為 x 軸):. 圖 15 有斜度的木板(方向為 x 軸)上 vix 與 vox 的關係圖. 14.

(26) 圖 16 有斜度的木板(方向為 x 軸)上 vi y 與 vo y 的關係圖 (5) 有斜度的木板(坡度為 18%, 傾斜方向為 y 軸):. 圖 17 有斜度的木板(方向為 y 軸)上 vix 與 vox 的關係圖. 圖 18 有斜度的木板(方向為 y 軸)上 vi y 與 vo y 的關係圖. 15.

(27) 圖 9 到圖 18 中的紅色斜線代表 vix 與 vox 及 vi y 與 vo y 之間的理想關係曲線,而 藍色折線則是代表 vix 與 vox 及 vi y 與 vo y 之間的實際關係曲線。經由上述實驗數 據,我們發現速度控制指令( vix , vi y )與實際運動速度( vox , vo y )之間的關係式是會隨 著地面材質的不同(圖 9 到圖 14)、及地面傾斜度的不同(圖 15 到圖 18)而改變, 而且它們之間的關係式是非線性、時變、且不穩定的;所以我們並無法確定速度 控制指令( vix , vi y )與實際運動速度( vox , vo y )之間精確的關係式,因此我們必須使用 適應性的方法來解決這個控制問題。 經由前兩個小節的討論,我們知道 DTS-ESA 為一種離散型極值搜尋法,使 用起來很方便,不需要繁雜的運算,而且可以根據系統的輸出表現直接調整控制 輸入值;所以接下來我們將會使用 DTS-ESA 來進行全方向運動平台的速度控制。 在這裡先以一維空間來做說明;假設我們希望控制該全方向運動平台以 vt x (單位為 cm/sec)的速度在某種地面上行進;透過光流感測器我們可以量測到該. 全方向運動平台的實際運動速度為 vox (單位為 cm/sec)。因此,我們將該全方向運 動平台系統的輸出函數(成本函數)設定為: Z x ( vox ) = ( vt x − vox ) 2. (18). 然後,套用演算法 DTS-ESA 來調整控制輸入值 vix ;最後,該演算法將可以找到 最佳的控制輸入值 vix = vix* ;同時,系統的輸出函數將會達到最小值 Z x = Z x* = 0 , 此時代表平台的實際運動速度為 vox 將會等於目標速度 vt x 。 底下我們將會列出 vix 與 vox 、 vox 與 Z x 以及 vix 與 Z x 之間的關係圖形,用以說 明 vix 與 vox 之間不同的關係式將會影響演算法最後所找到的最佳控制輸入值 vix* 。. 16.

(28) 圖 19 vix 與 vox 之間呈線性遞增關係. 圖 20 vix 與 vox 之間呈非線性遞增關係. 圖 21 vix 與 vox 之間呈非線性遞增關係. 17.

(29) 經由上述的實驗數據,我們發現如果 vix 與 vox 之間呈線性遞增或非線性遞增關係 (如圖 19 ~ 圖 21 中(a)部分所示),我們所定義的輸出函數 Z x (vox ) 仍然是一個凸 形(convex)函數,存在唯一的最小值,而且 vix 與 vox 之間的關係式將會影響該輸出 函數 Z x (vox ) 最小值的發生位置(如圖 19 ~ 圖 21 中(c)部分所示)。 上面的討論僅針對平台 X 軸上的運動控制,若是希望擴展到二度空間(X 軸及 Y 軸),僅需要將該平台系統的輸出函數(成本函數)設定為: Z ( vox , vo y ) = ( vt x − vox ) 2 + ( vt y − vo y ) 2. (19). 如圖 22 所示(其中假設 (vt x , vt y ) = (5,5) );然後,使用演算法 DTS-ESA 來輪流調整 控 制 輸 入 值 vix 和 vi y ; 最 後 , 該 演 算 法 將 可 以 找 到 最 佳 的 控 制 輸 入 值 ( vix , vi y ) = ( vix* , vi *y ) ;同時,系統的輸出函數將會達到最小值 Z = Z * = 0 ,代表平台. 的實際運動速度 (vox , vo y ) 將會等於目標速度 (vt x , vt y ) 。. 圖 22 雙輸入變數的平台系統輸出函數 從圖 9 到圖 18,我們可以發現在家庭環境的各種地面上,速度控制指令 ( vix , vi y )與實際運動速度( vox , vo y )之間的關係式,雖然為非線性、時變、而且會隨 著地面性質的不同而改變,但都存在著遞增關係;因此,可以使用 DTS-ESA 演 算法來進行速度控制。. 18.

(30) 2.2 空間性軌跡追蹤法 2.2.1 時間性軌跡追蹤法(Temporal Path Tracking Method, TPTM) 一開始,我們先介紹相對於空間性軌跡追蹤法的時間性軌跡追蹤法;所謂的 時間性軌跡追蹤法,是指在進行機器人平台的軌跡控制時,必須將希望行進的軌 跡定義成一個時間的函數,這個函數中定義在某個時間機器人必須到達某個地 點;理論上,機器人平台就會根據這個函數,在規定的時間到達規定的地點。但 是實際上,這是一種非直接的方法,很容易因為平台的動態表現或外界因素影響 而產生無法預期的結果;例如,平台的輪子卡到障礙物暫時無法前進、或是將平 台操作在一個斜坡上、或者是要求的輸出速度已經超過馬達驅動器可以達到的最 高轉速…等現象,都可能會造成時間點延遲而產生“切角(cut corners)”的問題。如 圖 23 所示,圖中的弧形為使用者希望機器人平台行進的軌跡,將此軌跡轉換成 時間的函數後,代表機器人平台必須在 t=1~5 分別到達圖中 a ~ e 各點。假設在 t=3 且平台到達 c 點的時候,平台的輪子突然卡到障礙物而無法繼續前進;當時間到 達 t=5 的時候,平台突然又可以移動;此時,平台會往 ce 方向前進而到達 e 點。 因此,造成平台移動軌跡在 c 點至 e 點之間出現了一個「切角」 。. 圖 23 切角(cut corners) 另外,此種參數化方法對於沿著運動軌跡進行即時速度改變的情況使用起來 並不方便;這是因為每當下達一個新的速度指令時,這個方法必須對剩下的軌跡 路徑進行重新計算,以求得適用於新的速度指令的軌跡時間函數。. 19.

(31) 2.2.2 空間性軌跡追蹤法(Spatial Path Tracking Method, SPTM)[10] 相對於時間性軌跡追蹤法,空間性軌跡追蹤法是指在進行機器人平台的軌跡 控制時,必須將希望行進的軌跡定義成一個幾何空間的函數。 在這裡我們將介紹一種非線性空間軌跡追蹤法,這個方法可以將輪式機器人 控制在空間中的某個軌跡上,同時,驅動該輪式機器人以一設定之速度往此軌跡 的終點前進。 此軌跡追蹤控制器(簡稱為 ε -Controller 或 Cε )完全建立在下列的空間資訊上, 包含運動軌跡的幾何空間描述和輪式機器人所迴授的目前位置資訊,以及預先設 定好的移動速度。 首先, Cε 是建立在一個右手型慣性卡式座標系統(Inertial Cartesian coordinate System, ICS)之上;因此,所有由 Cε 所產生的向量數值都是相對於該座標系統, 如圖 24 中下標為 I 的 x 軸和 y 軸所示。. {. ( xi , yi ). ε. xI. ( x, y ). r. (x f , y f ). P. Χ C. (Cx , C y ). yI. 圖 24 軌跡及軌跡相關量值 Cε 中定義所有要求行進的軌跡都是由弧形線段所組合而成的;而直線是其中. 的一個特例,可以被近似為一段擁有極大半徑的弧形線段。因此,任何複雜的軌 跡都可以由基本的弧形線段所組合而成。 在這樣的定義之下,任何的弧形軌跡都可以由它的起始點 X i = [ xi yi ]T ,終止 點 X f = [ x f y f ]T 以及帶正負號的半徑 R (根據右手定則,帶正號的 R 代表往順時鐘 方向行進)來進行描述;經由這三個量值就可以定義出該弧形軌跡 C 的中心點位置 (C x , C y ) 。如圖 24 所示,向量 X = [ x y]T 代表機器人平台在 ICS 中的真實位置。. 20.

(32) 另外,從弧形中心點 (C x , C y ) 到真實位置 ( x, y) 的距離向量 r 在 ICS 中的定義為: ⎡ x − Cx ⎤ r = X −C = ⎢ ⎥ ⎣ y − Cy ⎦. (20). 而圖 24 中的 P 代表從起始點 X i 移動到終止點 X f 的移動進度,它永遠是一個正數 值;它是用來同步控制機器人平台的指向,以達成包含指向控制的空間軌跡追蹤 任務。 接下來,將要介紹 Cε 中最主要的一個變數 ε ,它代表機器人平台偏離軌跡的 量值,也就是從 X = [ x y]T 到弧形軌跡上最近的點之間的距離: ε= R− r. (21). 如(21)式所示,當 ε 為正值時,代表機器人平台在弧形軌跡之「內」,而當 ε 為負 值時,代表機器人平台在弧形軌跡之「外」 ,而當 ε 量值為 0 時,代表機器人平台 正好在弧形軌跡之上。依據 ε , Cε 可以產生慣性速度組合點(inertial velocity setpoints) VI* 。 如圖 25 所示,我們先列出此空間性軌跡追蹤法的整體架構圖,用以說明此 空間性軌跡追蹤法的整體運作情形。其中,MakeSetPoint(MSP)演算法可以將慣性 速度指令轉換成機器人平台的輪子轉速指令(此部分將會在 4.2 節中詳細介紹); 但值得注意的是,這必須以輪子不會發生打滑現象為前提。藉由 VI* 及運動學分 析,MSP 可以產生相對應的驅動速度指令給每一顆輪子的馬達控制器;而 Cw 控 制器則是會提供馬達控制訊號 E 給機器人平台上的馬達;至於 Cψ 控制器則是用來 控制機器人平台的指向。. 圖 25 空間性軌跡追蹤法的控制架構圖 21.

(33) (22). dVI* = Vn + Vt sign( R ). 接下來,如(22)式所示,我們定義 dVI* 為平行速度向量 Vn 及垂直速度向量 Vt 兩 者之合;其中, dVI* 代表的是 VI* 的方向,而 sign 項會依據移動路徑的方向而改變 Vt 的方向。 Vn. xI. dVI*. {. ( xi , yi ). ε. Vt. r. (xf , y f ) yI. 圖 26 ε -Controller 的相關量值 如圖 26 所示,平行速度向量 Vn 代表的是 Cε 中的修正動作項,是用來降低偏 移誤差量 ε ;在這裡,我們套用 PI 控制器的型式,因此,可以表示成:. (. P 1 ⎛ Vn = ⎜ K p ε ( P ) + Ki ∫ R 2 − r 0 2 ⎝. 其中, K p 和 Ki 為控制器的增益值;而 (. 2. ⎡. ⎤. ) dP ⎞⎟⎠ ⎢⎣ rr ⎥⎦. (23). r ) 則是用來指定 Vn 的方向。 r. 而垂直速度向量 Vt 被定義成: Vt = (Vd − Vn )(. rt ) rt. (24). T. 其中, rt = ⎡⎣ −( y − C y ) ( x − C x ) ⎤⎦ , Vd 為設定的平台行進速度,而且 (Vd − Vn ) 被限 制不能為負數。這樣的限制條件使得 Vt 成為一個 ε 的函數;當 ε 增加時, Vt 將 會趨近於 0,而當 ε 減少至 0 時, Vt 將會趨近於 Vd 。 因此, VI* 便可以表示成: VI* = Vd. 22. dVI* dVI*. (25).

(34) (25)式代表的是一個軌跡追蹤控制器,當機器人平台偏離軌跡時,它可以引導該 平台回到軌跡上距離現在位置最近的點;而當機器人平台接近軌跡時,該控制器 將會產生一個垂直軌跡的速度向量,以驅使平台往軌跡終止點前進。 最後,值得注意的是,這裡所提出的 ε -Controller 是一種運作在純量 ε 上的非 線性控制器;它可以有效地將二維的軌跡追蹤問題轉換成一個相對於 ε 的純量調 整問題,因而降低了機器人平台進行軌跡追蹤的難度。. 2.2.3 即時速度控制之空間性軌跡追蹤法(Real-time Velocity Control SPTM, RVC-SPTM) 經由上一小節的討論,我們知道空間性軌跡追蹤法( ε -Controller or Cε )是一種 運作在純量 ε 上的非線性控制器;它可以將二維的軌跡追蹤問題轉換成一個相對 於 ε 的純量調整問題,因而有效地降低機器人平台進行軌跡追蹤的難度。 但是,經過實際的運用之後,我們發現此空間性軌跡追蹤法的控制架構中是 有可以改善的地方的。圖 25 中的 MSP(MakeSetPoint)演算法負責將 ε -Controller 所 產生的慣性速度指令轉換成機器人平台的輪子轉速指令,但這必須以輪子不發生 打滑現象而且馬達特性不失真為前提才能成立;但是,實際運作時全向輪與地面 之間很容易發生打滑現象,而且每種地面對輪子產生的動摩擦力和滾動摩擦力都 不相同;另外,每種不同特性的地面也都會對馬達特性產生不同程度的影響。因 此,MSP 對於空間性軌跡追蹤法的整個控制架構而言是關鍵而且重要的部分。 在這裡,我們提出一個改良過的空間性軌跡追蹤法,名稱為「即時速度控制 之空間性軌跡追蹤法」(Real-time Velocity Control - SPTM, RVC-SPTM)。 RVC-SPTM 與原本的空間性軌跡追蹤法(SPTM)比較起來,最大的改良之處在 於 RVC-SPTM 中使用離散型極值三角搜尋法(DTS-ESA)的概念取代原本 SPTM 中 的 MSP 演算法;我們稱之為 Modified-MSP(MMSP)演算法。 如圖 27 所示,MMSP 演算法是使用 DTS-ESA 來進行機器人平台的即時速度 控制;利用光流影像所偵測到平台的即時移動速度,然後迴授至 MMSP 演算法 中的 DTS-ESA 進行控制,使得該機器人平台的實際移動速度能與 Cε 所指定的慣 性速度指令一致;進而增加空間性軌跡追蹤法的精準度及實用性。 23.

(35) 圖 27 RVC-SPTM 的控制架構圖. 2.2.4 使用 RVC-SPTM 進行運動平台之軌跡控制 如上一個小節所述,改良過後的 RVC-SPTM 不但擁有空間性軌跡追蹤的功 能,更擁有可以適應於多種地面的即時速度控制功能。 因此,學生將 RVC-SPTM 使用在我們所設計的全方向輪式運動平台的軌跡控 制上面;讓使用者可以更精確地控制該平台以一個設定的速度進行軌跡追蹤的任 務。 圖 28 為 RVC-SPTM 控制演算法的控制流程圖,以下為流程圖說明。 (1) 在「Start」階段,使用者先設定好平台的移動軌跡資訊,包含軌跡起始點、 終止點及半徑,平台起始指向、終止指向、轉動方向以及平台的移動速度。 (2) 在「 Cψ 」階段, Cψ 將會根據使用者設定的平台指向資訊,計算出平台當前 的目標指向。 (3) 在「Spin or Move + Spin」階段,將會根據 Cψ 所計算出的平台目標指向以及 平台的實際指向來判斷是否需要進行旋轉。另外,系統還會根據目前是否有在移 動(Move),而進行不同性質的旋轉。一開始,因為平台並未開始移動,所以系統 僅進行單純的旋轉;而當平台開始移動之後,系統便會進行一邊移動一邊旋轉的 動作(僅有全向輪平台可以達成此動作),以增加平台的動作流暢度。同時,系統 會判斷平台的指向是否已經達到目標指向;若未達到則繼續進行旋轉;若已達 到,則進入下一階段的動作。 (4) 在「 Cε 」階段, Cε 將會根據使用者設定的軌跡資訊、速度資訊以及平台的實 際位置資訊,計算出平台當前的目標速度及其方向。 24.

(36) (5) 在「MMSP」階段,MMSP 會調整平台的速度,以使平台的實際速度趨近於 Cε 所計算出的目標速度。在此階段,為了維持軌跡追蹤的效率,我們將會限制 MMSP 的調整次數;若 MMSP 在限定的次數之內尚未將實際速度調整至目標速度,此 時將會結束此階段的動作,直接回到 Cψ 階段。若 MMSP 在限定的次數之內將實 際速度調整至目標速度,此時則會進入下一階段「Move」進行定速移動。 (6) 在「Move」階段,因為平台的實際移動速度等同於目標速度,因此平台只需 進行定速運動;在持續了一段設定的時間之後,系統會判斷是否已經到達使用者 定義的軌跡終止點;若已到達終點,系統則進入下一個階段「Next Path」;若未 到達終點,系統則會回到 Cψ 階段。 (7) 在「Next Path」階段,因為平台已經到達某一段路徑的終止點,此時系統會 判斷使用者是否有指定下一段新的移動路徑,如果有指定新的路徑,系統則會回 到「Start」階段以執行新的軌跡追蹤任務,如果沒有指定的話,系統則會進入最 後階段「Stop」。 (8) 在「Stop」階段,因為平台已經到達軌跡終止點,因此平台會停止運動而停 留在該點。. 25.

(37) 圖 28 RVC-SPTM 的控制流程圖. 26.

(38) 2.2.5 利用 RVC-SPTM 進行碰撞偵測及動態路徑規劃 一般常見的室內輪式機器人通常係使用紅外線感測器、雷射測距儀或是觸碰 開關等儀器來偵測機器人是否遇到障礙物而無法前進,但是這些儀器除了價格昂 貴之外也很容易損壞。本文則是利用光流影像感測器可以量測輪式機器人即時移 動速度的特性,來偵測該輪式機器人是否與路徑上的障礙物發生碰撞。當碰撞發 生時,我們所使用的空間性軌跡追蹤法可以即時地規劃一條新的路徑,以使該輪 式機器人可以避開障礙物(注意,如果在該避障路線上再次碰撞到障礙物時,此時 系統將會即時地規劃另一條新的避障路徑,以使機器人可以順利的避開障礙物), 並回到原先要求的路徑上,繼續往目的地前進。 一開始,我們先來討論當一個運動平台與障礙物發生碰撞時,會對該物體的 運動特性產生怎麼樣的影響。 如圖 29 所示,在理想狀況(兩者接觸面無摩擦力產生)之下,當平台的運動方 向與障礙物的接觸面呈垂直狀態時,此時障礙物會給該平台一個與其運動速度方 向相反、大小相同的反作用力,該平台會因為合力為零而靜止不動。如圖 30 所 示,在理想狀況(兩者接觸面無摩擦力產生)之下,當平台的運動方向與障礙物的 接觸面呈非垂直狀態時,此時障礙物會給該平台一個反作用力,而反作用力的方 向是在與障礙物接觸面呈垂直的方向上;此時該平台所受的合力方向與原始運動 方向不同,因此該平台的運動方向將會改變。 而當考慮實際狀況,也就是運動平台與障礙物之間存在摩擦力的情形下;當 平台的運動方向與障礙物的接觸面呈垂直狀態時,此時障礙物會給該平台一個與 其運動速度方向相反、大小相同的反作用力,該平台會因為合力為零而靜止不 動。如圖 31 所示,當平台的運動方向與障礙物的接觸面呈非垂直狀態時,此時 障礙物除了會給該平台一個反作用力,該反作用力的方向是在與障礙物接觸面呈 垂直的方向上,而且還會給該平台一個摩擦力,該摩擦力的方向是在與障礙物接 觸面呈平行的方向上;此時該平台所受的合力方向與原始運動方向不同,因此該 平台的運動方向將會改變。. 27.

(39) 圖 29 碰撞偵測_1. 圖 30 碰撞偵測_2. 圖 31 碰撞偵測_3. 28.

(40) 因此,我們在程式中設計了一個用來計算平均速度大小及方向的副程式;當 全方向運動平台在預定的軌跡上移動且碰撞到障礙物時,根據上述討論的結果, 該副程式將會偵測到此時的平均速度大小為接近零或者是平均速度方向與預設 速度方向不同;因而通知主程式停止前進並且進行規劃新移動路徑的動作,以使 該運動平台可以繞過障礙物,並回到原先要求的路徑上繼續往目的地前進。必須 注意的是,在這裡我們設定當平均速度大小小於 0.5 cm/s,以及平均速度方向與 預設速度方向差距 20 度以上時,為碰撞成立的條件值;經由實驗證明,該條件 值可以大幅的避免誤判的情形發生。. 因為我們使用的空間性軌跡追蹤法是將平台的移動軌跡設定以弧形線段(或 直線)為基礎,任何複雜的移動軌跡都可以由弧形線段(或直線)組合而成。同樣 的,當運動平台碰撞到障礙物而無法繼續前進時,程式所規劃的避開障礙物之新 路徑也必須是由弧形線段(或直線)組合而成,如此才能適用於空間性軌跡追蹤 法。接下來,我們將介紹碰撞偵測及動態路徑規劃方法之實現架構,以及加入碰 撞偵測及動態路徑規劃方法後 RVC-SPTM 的新控制流程。. 如圖 32(a)所示,假設運動平台的預設移動軌跡為一個弧形線段。同時,如 圖 32(b)所示,假設有一細長型的障礙物出現在該移動軌跡上,平台在軌跡上移 動時會因為碰撞到該障礙物而停止;如圖 32(c)中橙色線段所示,此時系統將會 規劃一條避開障礙物的新路徑,而此橙色線段的大小是由 (θb , Lb ) 這兩個預設的參 數值來決定的。而且,如圖 32(d)所示,此橙色線段可以分為「1,2,3,4」四個部 分,其中 1 和 3 為弧形線段,而 2 和 4 為直線線段。如圖 32(e)所示,當平台沿 著該避障路徑前進時,是有可能再次與該障礙物發生碰撞的(注意,此時發生碰撞 的地方是屬於避障路徑中的第 3 部分)。此時,如圖 32(f)中橙色線段所示,系統 將會再規劃一條避開障礙物的新路徑,如此一來,該機器人平台將可以順利繞過 該障礙物,並回到原先要求的路徑上,繼續往目的地前進。. 29.

(41) (a). (b). (c). (d). (e). (f). 圖 32 動態路徑規劃_1 關於在避障路徑上再次碰撞到障礙物的議題,如果運動平台碰撞到如圖 33(b) 所示,是屬於寬扁型的障礙物時,此時系統所規劃的新的避障路徑將會有所不 同。圖 33(a)到(d)與圖 32(a)到(d)所描述的事情是相同的,只是其中的障礙物大 小形狀有所不同。如圖 33(e)所示,當平台沿著避障路徑前進時,將會再次與該 障礙物發生碰撞(注意,此時發生碰撞的地方是屬於避障路徑中的第 4 部分)。此 時,如圖 33(f)中橙色線段所示,系統將會再規劃一條避開障礙物的新路徑,如 此一來,該機器人平台將可以順利繞過該障礙物,並回到原先要求的路徑上,繼 續往目的地前進。 30.

(42) 因此,我們所設計的動態路徑規劃方法可以經由多次與障礙物發生碰撞而動 態地更改其避障路徑,以增加該避障功能的執行效率及成功率。 另外,圖 34 為加入碰撞偵測及動態路徑規劃方法後的 RVC-SPTM 新控制流 程,其中 VM 代表速度量測(Velocity Measure)方法。. (a). (b). (c). (d). (e). (f). 圖 33 動態路徑規劃_2. 31.

(43) 圖 34 含碰撞偵測及動態路徑規劃之 RVC-SPTM 控制流程圖. 32.

(44) 第三章. 光流影像偵測定位法. 3.1 光流(Optical Flow)的定義 所謂的光流(Optical Flow)是指,對於兩張以上的連續影像中之物體,預測其 運動方向及大小。光流是透過比較兩張影像之間的影像強度而獲得,通常該兩張 影像之間必須擁有許多相同的內容,以保證該方法可以正常運作。 假設將攝影機裝設在某運動物體上,攝影機朝著地面進行拍攝,而該物體正 在地面上進行移動;當運動物體往某個方面移動某個距離時,攝影機所拍攝到的 地面影像則會有相對的變動,其移動的方向相反、距離成正比關係(視裝置狀況 決定)。因此,可以利用「光流」方法來偵測影像中物體的運動,因而推算出該 運動物體的真實運動狀況。 之所以會以光流做為計算運動位移的工具,主要是因為光流方法比較不容易 受到外界環境因素的影響,且不需要事先了解追蹤的物體與當時的環境狀況,因 此比較適合用於未知的環境來進行運動位移偵測。 圖 35 為一個光流向量場的示意圖,其中物體分別往正 X 軸和正 Y 軸方向各 移動了一個像素(pixel)的距離[11]。. 圖 35 光流向量場 33.

(45) 3.2 光流影像偵測定位法之原理[11] 在這裡我們使用兩個光流影像感測器來偵測該運動平台的位移資訊(包含 x 軸、y 軸的位移量,和 z 軸的旋轉量);將這兩個光流影像感測器放置在不同的位 置,觀察它們與平台之間的幾何關係,我們可以得到下列的運動學方程式:. Vr , x = V1, x + ωr ⋅ r1, y Vr , y = V1, y − ωr ⋅ r1, x Vr , x = V2, x + ωr ⋅ r2, y. (26). Vr , y = V2, y − ωr ⋅ r2, x 方程式中的 Vr , x 和 Vr , y 是機器人平台中心點的移動速度值, ωr 是平台的旋轉角 速度, Vi , x 和 Vi , y 是第 i 個感測器所偵測到的移動速度值,而 ri , x 和 ri , y 是第 i 個感 測器與平台中心的距離,如圖 36 所示。. V1, y. V2, y V2,x. Vr , y. V1,x r1. r2. Vr , x. 圖 36 光流感測器與平台的幾何關係圖. 34.

(46) 為了得到該平台的速度和角速度值,我們可以將上述式子改寫成矩陣向量的 形式:. 0 − r1, y ⎤ ⎡V1, x ⎤ V ⎡ ⎤ 1 r1, x ⎥⎥ ⎢ r , x ⎥ ⎢⎢V1, y ⎥⎥ ⋅ V = 0 − r2, y ⎥ ⎢ r , y ⎥ ⎢V2, x ⎥ ⎥ ⎥ ⎢ω ⎥ ⎢ 1 r2, x ⎦⎥ ⎣ r ⎦ ⎣⎢V2, y ⎦⎥. ⎡1 ⎢0 ⎢ ⎢1 ⎢ ⎣⎢0. (27). 可以知道(27)式是一個過度決定(over-determine)的系統,因此我們需要使用最 小平方誤差法(least square error method)來求得此方程式的最佳近似解,也就是此 平台的速度與角速度值( Vr , x , Vr , y , ωr );在得到平台速度與角速度之後,我們便 可以利用積分運算來得到此平台的移動距離和旋轉量:. ∫ = ∫ (V = ∫ (V. θ robot = (ωr )dt X robot Yrobot. r,x. r, x. cos θ robot − Vr , y sin θ robot )dt. (28). sin θ robot + Vr , y cos θ robot )dt. 在(28)式之中, θ robot 代表的是機器人平台的轉動角度, X robot 是 X 軸方向的位 移, Yrobot 是 Y 軸方向的位移。如圖 37 所示,可以在電腦視窗中看出機器人移動 的路徑以及目前方向。. 35.

(47) 目前方向. 移動軌跡. 圖 37 光流軌跡視窗. 36.

(48) 第四章. 全方位運動平台. 4.1 簡介 全方位運動平台使用特殊結構的輪子,一般稱為全向輪(omni-directional wheel or omni-wheel);它可以將地面作用於輪子上的摩擦力之中平行於輪軸的部 分,藉由滾子的轉動而分散掉;因而,造就了全向輪平台所擁有的獨特運動模式。 實際上,全向輪的構想早在 1910 年就發表於美國的專利文件中,截至目前, 為了提高效率及改善震動的缺點,已有許多改良的全向輪被發明使用,而現今也 已被使用在搬運車、輪椅或輪式足球機器人等方面[12-13]。圖 38 中共列出三種 不同型式的全向輪,(c)是目前我們正在使用的全向輪。從平行於輪軸的方向看過 去,其形狀就像是一般傳統的輪子。. (a). (b). (c). 圖 38 三種不同型態的全向輪 我們的機器人平台共使用三顆全向輪,該平台較使用傳統輪子的二輪或四輪 式的機器人擁有較高的運動自由度;經由三顆輪子所產生的多種合力組合,共可 以產生多達五種運動模式,包括:原地旋轉、對頭直行、對頭差速轉彎、平移、 平移且自轉。. 37.

(49) 4.2 運動學分析 本平台使用三顆全向輪,如圖 39 所示,三輪之間各夾 120 度角,為這個移 動平台最大的一個特點,這種構造使得這個平台得以呈現較一般輪式平台更多樣 化的運動模式,在此將詳細探討這種構造的運動學理論[14-17]。. 圖 39 全向輪平台簡圖. 圖 40 全向輪簡圖. 38.

(50) 在圖 39 及圖 40 中,各項符號的意義表示如下:[14-17] (a) x、y、z:定義在平台上的座標系,以下推導中的向量皆相對於本座標系。x、 y 如圖所示,而 z 軸為指出紙面為正。 (b) v :希望平台移動之速度向量。 (c) ω :希望平台轉動之角速度向量,且定義沿著反時針方向旋轉為正。 (d) Fn :垂直於各輪軸之單位向量,n = 1,2,3。. F0 = ( −1,0,0 ) ⎛1. F1 = ⎜ , − ⎝2. 3 ⎞ ,0 ⎟ 2 ⎠. ⎛1. 3 ⎞ ,0 ⎟ ⎝2 2 ⎠. F2 = ⎜ ,. (29). (e) bn :從 n 號輪軸心端點到平台中心的距離向量。 (f) Pn :代表 n 號輪軸心相對於平台座標的速度向量。 令建立於各輪之上的座標系為 x′ y′ z′ ,如圖 40 所示(圖 40 中皆表其正向): (g) r :從輪子接觸地面之點到輪子軸心的距離向量。 (h) ωn :各輪相對於其軸心之轉動角速度向量,令逆時針方向旋轉為正(沿正 z′ 軸 方向)。 (i) Yn :各輪之軸心在輪沿地面滾動時的速度向量於 x′ 軸方向上的分量。. 在考慮 x y z 座標系與 x′ y′ z′ 座標系之間的轉換,可知 x′ 軸方向與 Fn 方向永遠一 致,因此在 x y z 座標系中看 x′ 軸上的向量,為: ( x′ 軸上正向大小) i Fn 考慮此平台一個最廣泛的運動模式:平台本體具有一個自旋轉的角速度 ω ,並且 以速度向量 v 移動;如何求得每一伺服機所需運作的角速度 ωn ,其運動學推導如 下:. 39.

(51) 在 x y z 座標上,各輪子之軸心端點的速度等於平台中心點的速度加上平台自 旋所產生的角速度:. Pn = v + ( bn × ω ). (30). Pn = v + ( b i ω ) i Fn. (31). (30)式也可以寫成. 而在 x′ y′ z′ 座標上,各輪子之軸心端點速度為:. Yn = r × ωn. (32). Yn = r i ωn. (33). (32)式也可以寫成. 在 x′ y′ z′ 座標中的 x′ 軸正向即為 xyz 座標中的 Fn 單位向量的方向,因此我 們可知,同是表示各輪軸心端點速度的 Yn 跟 Pn ,其關係如下:. Yn = Pn i Fn. (34). 綜合(33)、(34)式,可得. r i ωn = Pn i Fn. (35). 將(31)式代入(35)式可得:. r i ωn =[ v + ( b i ω ) i Fn ] i Fn. (36). ωn =[ v + ( b i ω ) i Fn ] i Fn / r. (37). 由此可知,如果要讓此平台以角速度 ω (逆時針為正)作自轉、加上以速度向量 v 作平移,將 ω 以及 v 代入(37)式,即可求出各輪所需要轉動的角速度 ωn ,亦即各 伺服機所需要提供之角速度。. 40.

(52) 4.3 運動模式 經過前一小節的分析,可以知道此一移動平台有能力呈現較一般兩輪平台更為 複雜、多樣化的運動模式,由簡至繁共有以下五種: (a). 原地旋轉:三個輪子的角速度保持一定且相等、轉向相等,則本平台可作原 地等角速度旋轉。 (b). 對頭直行:當三輪中其中一輪不運轉,其他兩輪以相同的角速度旋轉但轉向 相反時,則本平台會朝不運轉的輪子方向(一個「頭」)前進。 (c). 對頭差速轉彎:以對頭直行模式為基礎,轉動的兩輪若轉速不同,則本平台 會進行轉彎的動作,此時「頭」的指向會改變。這種運動模式與一般兩輪平台差 速轉彎的道理類似。 (d). 平移:所謂平移即是本體指向不改變的移動,而且移動方向可以任意選擇。 這種運動方式正是普通輪式平台無法呈現的運動模式。 (e). 平移且自轉:這是本平台所能呈現最複雜的一種運動模式,一邊朝著固定方 向作平移,一邊又以固定角速度作自轉,這也是普通輪式平台無法呈現的運動模 式。 圖 41 為上述幾種運動模式的示意圖,圖中的實線代表輪子轉動所產生的前 進速度方向,長度則表示相對的速度大小;而圖中的虛線則代表平台的移動或轉 動方向。(a)圖為「原地旋轉」 ,(b)圖為「對頭直行」,(c)圖為「對頭差速轉彎」 , (d)圖為「平移」 ,(e)圖為「平移且自轉」的示意圖。. (a). (b). 41.

(53) (c). (d). (e). 圖 41 運動模式示意圖. 42.

(54) 第五章. 軟硬體設計與實現. 5.1 系統架構 圖 42 為整個系統的架構圖,主要分成兩個部分:個人電腦端(PC)以及海星 號(Starfish),而兩者之間則是透過無線網路機制來進行訊息的溝通傳遞。接下來 的兩個小節將分別針對兩者(PC and Starfish)進行詳細的介紹。. PC. Optical-flow Localization Algorithm. Wireless LAN Card. Real-time Velocity Control Spatial Path Tracking Method. Wireless LAN (IEEE 802.11b/g) TCP/IP. Starfish. Access Point. Battery. Switch Hub. Power Supply. Embeded Ethernet. Embeded Ethernet. Motor Controller. Sensor Controller. Motor * 3. Optical flow sensor * 2. 圖 42 完整系統架構. 43.

(55) 5.2 全方向運動平台-海星號(Starfish)之架構 全方向運動平台-海星號的底盤下方裝置了 2 個光流影像偵測器、3 個馬達伺 服機以及 3 顆全向輪;光流影像偵測器是用來感測地面影像,並使用地面影像的 光流變化來量測該平台的運動狀態;馬達是用來提供該平台運動動力,可以透過 微控制器使用 PWM 訊號來控制該馬達的正反轉向和轉速快慢;全向輪則是提供 該平台全方向運動的能力。 此平台底盤的上方則放置平台的系統電路;此系統電路包含 1 組 Access Point(無線網路基地台且包含 Switch Hub)、2 組嵌入式網路系統板(Embedded Ethernet) 、 1 組 馬 達 控 制 板 (Motor Controller) 、 1 組 感 測 器 控 制 板 (Sensor Controller)、1 組充電電池組以及 1 組電力供應系統板。 如圖 42 所示,Access Point 是用來建構無線網路溝通路徑;嵌入式網路系統 板則是藉由 Access Point 的無線網路傳輸功能將 PC 端馬達控制程式所傳送出來 的馬達控制指令傳達至馬達控制板以進行馬達控制的動作,或是將感測器控制板 從光流影像偵測器所得到的平台移動資訊傳達至 PC 端控制程式以進行運動軌跡 的偵測和記錄;充電電池和電力供應控制板則是提供此平台運動和計算所需的所 有電力。 此平台除了底盤之外,還有一個上蓋可以跟底盤組合;可以保護該底盤上所 有的設施器材免於因碰撞而造成損壞,並可以提供該平台擁有裝載貨物的能力及 擴充架構的可能性;此上蓋的形狀架構以及跟底盤組合後的透視圖請參考圖 43。. 圖 43 (左)上蓋, (右)上蓋與底盤組合透視圖. 44.

參考文獻

相關文件

[6] Eguchi, T.; Hirasawa, K.; Hu, J.; Markon, S.; Elevator group supervisory control system using genetic network programming with functional localization,

Chou, King-Leung Wong, and Yung-Hsiang Li,“The complete heat transfer solutions of an insulated regular polyhedron pipe by using a RPSWT model,” Energy Conversion and

我們稱 RW 平面為相位平面 (phase plane) ,而相位平面上 的軌跡,則稱為相位軌跡 (phase trajectories) 。. 因此一個相位軌跡便是 (R,W)

表 6.3.2 為不同電壓下,驅動整個系統運作所需電流。圖 6.3.2 為 測試情形。其中紅燈代表正常工作。結果證明只要太陽能板能夠提供

Keywords: Six Dynasties, Foreign-orthodox theory, Chang Jung, Chou Yong, Syncretism of the Three Main Teachings, Chong

平台操作 題庫內容 教師使用

 Sequence-to-sequence learning: both input and output are both sequences with different lengths..

In an ad-hoc mobile network where mobile hosts (MHs) are acting as routers and where routes are made inconsistent by MHs’ movement, we employ an associativity-based routing scheme