• 沒有找到結果。

基於距離資訊之行動輔助機器人動態避障

N/A
N/A
Protected

Academic year: 2021

Share "基於距離資訊之行動輔助機器人動態避障"

Copied!
102
0
0

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

全文

(1)

國 立 交 通 大 學

電控工程研究所

碩 士 論 文

基於距離資訊之行動輔助機器人

動態避障

Dynamic Obstacle Avoidance for Robot

Walking Helper Based on Distance

Information

研 究 生:高毓廷

指導教授:楊谷洋教授

(2)

基於距離資訊之行動輔助機器人動態避障

Dynamic Obstacle Avoidance for Robot Walking Helper

Based on Distance Information

研 究 生:高毓廷 Student: Yi-Ting Gau

指導教授:楊谷洋 博士 Advisor: Dr. Kuu-Young Young

國立交通大學

電控工程研究所

碩士論文

A Thesis

Submitted to Institute of Electrical Control Engineering College of Electrical

National Chiao Tung University In Partial Fulfillment of the Requirements

of the Degree of Master

in

Electrical Control Engineering July 2011

Hsinchu, Taiwan, Republic of China

(3)

I

基於距離資訊之行動輔助機器人

基於距離資訊之行動輔助機器人

基於距離資訊之行動輔助機器人

基於距離資訊之行動輔助機器人

動態避障

動態避障

動態避障

動態避障

研究生: 高毓廷 指導教授: 楊谷洋教授

國立交通大學電控工程研究所

國立交通大學電控工程研究所

國立交通大學電控工程研究所

國立交通大學電控工程研究所

摘要

近年來,人口老化問題日益嚴重,照顧銀髮族的生活起居成為一個重要的課 題,而在老人常見的問題中,以行動不便的問題最常發生。隨著機器人科技的進 步,各式各樣的行動輔助機器人之發展越趨成熟,本實驗室也開發行動輔助機器 人 i-Go,以因應銀髮族生活不便的困擾。為了保障老年人在行走的安全,在本論 文中,我們建構一個障礙物偵測系統,分析環境中障礙物與機器人的距離資訊, 以準確地辨識出障礙物的大小、位置及移動速度等資訊。接著,我們結合 Velocity Obstacles 和 Artificial Potential Field 兩種演算法,提出動態避障導引演算法來規 畫參考路徑,根據障礙物和目標位置資訊,導引使用者閃避環境中的動態障礙 物,並安全抵達指定的位置。此基於距離資訊之動態避障導引系統功能經實驗驗 證,確實有其一定的功效。未來希望能夠將 i-Go 送入真實的家庭中,幫助正在 復健且視力和行走能力較差的銀髮族,提供一個完善且安全的智慧型行動輔助機 器人。

(4)

Dynamic Obstacle Avoidance for Robot Walking

Helper Based on Distance Information

Student: Yi-Ting Gau Advisor: Dr. Kuu-Young Young

Institute of Electrical Control Engineering

National Chiao Tung University

Abstract

The problem of aging population becomes more serious nowadays. With their age growing, the elderly are with the degrading health conditions that may not allow them to walk steadily. Along with the progress of the robot technology, robot walking helpers have been developed. It thus motivates us to develop a robot walking helper, named i-Go for assisting the daily lives of the elderly. To protect the elderly during walking, in this thesis, we first develop an obstacle recognition system which can accurately identify the size, location and speed of the obstacles the distance information between the obstacles and robot. We then propose a dynamic obstacle avoidance and guidance algorithm, which combines velocity obstacles and artificial potential field algorithms, to provide a reference path avoids the obstacles during guidance. Experiments are performed to verify this scheme. In the near future, we expect the i-Go can assist the elderly in their daily lives.

(5)

III

致謝

致謝

致謝

致謝

首先感謝我的指導教授楊谷洋老師,在兩年的指導和鼓勵下,使我的碩士論 文得以順利完成。同時,也要感謝口試委員:宋開泰老師、胡竹生老師以及黃育 綸老師撥冗參與論文口試,給予許多寶貴的建議與指導,使我獲益良多。除此之 外,還要特別感謝柯春旭老師,在實驗上給予我非常多的建議與幫助。也感謝實 驗室的學長修任、木政,在我困惑的時候伸出援手,幫助我解決研究上的問題, 感謝豪宇學長給我程式方面的建議和電腦知識的教學,也感謝一弘學長在電子電 路及研究方法上提供很多獨到又專業的見解,真的讓我學到很多,更特別感謝一 哲學長常常要接受我的諸多問題,又耐心地幫我解答,也親自參與實驗的進行, 還有我的同窗好友們:嘉文、禹均、長翰、昌翰,感謝有你們一起在實驗室的最 後兩年中努力。此外也非常感謝學弟偉忠、順盛、耀澤幫忙做實驗,沒有你們幫 忙我也無法順利的完成實驗和影片,更特別感謝硬體高手學弟偉忠常常陪我一起 花時間研究硬體及 Debug,彼此教學相長。感謝禪學社的夥伴在我疲累時,可以 一起遊玩、禪定,舒展身心,才能有動力持續做研究。感謝畢業學長育傑、權哲 柏穎的照顧,也常常陪我打球。最後,我要感謝家人的支持,提供我穩定的經濟 使我能心無旁騖的致力於研究上;感謝我的女朋友盈婷在我遇到難題還是挫折 時,總是在我身邊給我安慰與支持;還有感謝許許多多我的朋友們,願意傾聽我 的抱怨,分享我的快樂,在我失落的時候給予我鼓勵,在我需要幫助的時候扶我 一把,讓我得以完成學業。有了你們大家一點一滴的幫助,才有這份研究論文的 完成,我會在我的生命中謹記你們的幫助。

(6)

目錄

目錄

目錄

目錄

中文摘要... I 英文摘要... II 致謝... III 目錄... IV 表目錄... VI 圖目錄... VIII 1.導論... 1 1.1 引言 ... 1 1.2 研究動機 ... 2 1.3 相關研究 ... 3 1.3.1 主動式行動輔助機器人 ... 3 1.3.2 被動式行動輔助機器人 ... 5 1.3.3 動態避障導引演算法 ... 7 1.4 研究目標 ... 10 1.5 論文架構 ... 11 2.行動輔助機器人動態避障導引系統... 12 2.1 二維空間中行動輔助機器人之動態模型 ... 13 2.2 障礙物偵測系統 ... 15 2.3 動態避障導引演算法 ... 22 2.4 動態避障導引演算法之能力推導 ... 27 3.系統實現... 31 3.1 硬體架構 ... 33

(7)

V 3.1.1 周邊控制晶片 PIC18F4520 ... 34 3.1.2 伺服煞車器 ... 36 3.1.3 兩軸利感應器 ... 39 3.1.4 軸編碼器 ... 41 3.1.5 雷射感測器 ... 43 4.模擬與實驗... 44 4.1 模擬 ... 44 4.1.1 靜態障礙物動態避障導引模擬 ... 46 4.1.2 平行移動障礙物動態避障導引模擬 ... 50 4.1.3 垂直移動障礙物動態避障導引模擬 ... 54 4.2 實驗 ... 68 4.2.1 靜態障礙物避障導引實驗 ... 69 4.2.2 平行移動障礙物避障導引實驗 ... 73 4.2.3 平行移動障礙物避障導引實驗 ... 77 5.結論與未來展望... 84 5.1 結論 ... 84 5.2 未來展望 ... 85 參考文獻... 86

(8)

表目錄

表目錄

表目錄

表目錄

表 2.1 障礙物偵測模擬分析—修正前... 21 表 2.2 障礙物偵測模擬結果分析—修正後(迭代 3 次) ... 22 表 4.1 i-Go 模擬參數設定 ... 44 表 4.2 靜態障礙物動態避障導引模擬參數設定... 46 表 4.3 平行移動障礙物動態避障導引模擬參數設定... 51 表 4.4 垂直移動障礙物動態避障導引模擬參數設定... 55 表 4.5 系統可閃避垂直移動障礙物速度範圍(從障礙物前方繞行) ... 57 表 4.6 實驗受測者資料... 68 表 4.7 i-Go 實驗參數設定 ... 68 表 4.8 靜態障礙物動態避障導引實驗結果分析... 72 表 4.9 平行移動障礙物動態避障導引實驗參數... 73 表 4.10 平行移動障礙物動態避障導引實驗結果分析... 76 表 4.11 垂直移動障礙物動態避障導引實驗參數... 77 表 4.12 垂直移動障礙物之動態避障導引實驗結果分析(入射角 30o )... 82 表 4.13 垂直移動障礙物之動態避障導引實驗結果分析(入射角 60o)... 82

(9)

VII

圖目錄

圖目錄

圖目錄

圖目錄

圖 1.1 (a)Care-O-bot I 和(b)Care-O-bot II[7] ... 3

圖 1.2 SmartCane [8] ... 4

圖 1.3 SmartWalker[9]... 4

圖 1.4 VA-PAMAID[10] ... 5

圖 1.5 RT-Walker [12] ... 6

圖 1.6 動態避障系統流程圖... 7

圖 1.7 Artificial Potential Field 演算法原理示意圖[32] ... 8

圖 1.8 Collision Cone 概念圖[24] ... 10 圖 2.1 行動輔助機器人系統控制流程圖... 13 圖 2.2 在卡氏座標下,行動輔助機器人之簡化圖... 13 圖 2.3 雷射掃描示意圖... 16 圖 2.4 障礙物分類流程圖... 17 圖 2.5 障礙圓示意圖... 18 圖 2.6 修正半徑示意圖... 20 圖 2.7 障礙物偵測結果圖:(a)修正前和(b)修正後(迭代 3 次) ... 21 圖 2.8 動態避障導引系統控制流程圖... 23 圖 2.9 碰撞狀態分析示意圖... 23 圖 2.10 局部最佳解分析示意圖... 25 圖 2.11 增加施力點控制示意圖:(a)左轉命令和(b)右轉命令 ... 26 圖 2.12 碰撞狀態證明示意圖... 28 圖 3.1 行動輔助機器人 i-Go 外觀 ... 32 圖 3.2 i-Go 系統架構圖 ... 32

(10)

圖 3.3 i-Go 硬體架構圖 ... 33 圖 3.4 PIC18F4520 單晶片微控制器接腳圖[29] ... 34 圖 3.5 PIC18F4520 外觀 ... 34 圖 3.6 PIC18F4520 微控制器系統架構圖[29] ... 35 圖 3.7 RD-2807-01 伺服煞車器規格圖 [30] ... 37 圖 3.8 RD-2807-01 輸入電流與輸出力矩關係[30] ... 37 圖 3.9 Wonder Box 裝置控制器[30] ... 38 圖 3.10 Wonder Box 輸入電壓輸出電流關係[30] ... 38 圖 3.11 兩軸力感應器... 39 圖 3.12 兩軸力感應器訊號擷取卡... 39 圖 3.13 兩軸力感應器輸出電壓與施力大小關係和輸出電壓與旋轉力矩關係... 40 圖 3.14 修正電路... 41 圖 3.15 訊號轉換實體電路... 41 圖 3.16 (a)軸編碼器實體圖,(b)軸編碼器加裝於伺服煞車器,和(c)伺服煞車器、 軸編碼器、皮帶輪與後輪配置... 42 圖 3.17 雷射感測器實體圖... 43 圖 3.18 雷射掃描示意圖[31] ... 43 圖 4.1 模擬流程圖... 45 圖 4.2 靜態障礙物之動態避障導引模擬(障礙物半徑:0.3m):(a)起始狀態,(b)避 障狀態,(c)完成避障導引,(d)左右輪煞車力矩和(e) i-Go 之狀態變數:x 位置,y 位置,朝向角,速度和角速度... 48

圖 4.3 靜態障礙物之動態避障導引模擬(障礙物半徑:1.2m):(a)起始狀態,(b)避 障狀態,(c)完成避障導引,(d)左右輪煞車力矩和(e) i-Go 之狀態變數:x 位置,y 位置,朝向角,速度和角速度... 49

(11)

IX 圖 4.4 平行移動障礙物之動態避障導引模擬(障礙物速度:0.1m/s):(a)起始狀態, (b)避障狀態,(c)完成避障導引,(d)左右輪煞車力矩和(e) i-Go 之狀態變數:x 位 置,y 位置,朝向角,速度和角速度... 52 圖 4.5 平行移動障礙物之動態避障導引模擬(障礙物速度:0.16m/s):(a)起始狀態, (b)避障狀態,(c)完成避障導引,(d)左右輪煞車力矩和(e) i-Go 之狀態變數:x 位 置,y 位置,朝向角,速度和角速度... 53 圖 4.6 垂直移動障礙物起始位置分布圖... 55 圖 4.7 垂直移動障礙物之動態避障導引模擬(障礙物速度:3.16m/s,入射角:0o ): (a)起始狀態,(b)障礙物啟動狀態,(c)完成避障導引,(d)左右輪煞車力矩和(e) i-Go 之狀態變數:x 位置,y 位置,朝向角,速度和角速度... 58 圖 4.8 垂直移動障礙物之動態避障導引模擬(障礙物速度:1.16m/s,入射角:15o): (a)起始狀態,(b)避障狀態,(c)完成避障導引,(d)左右輪煞車力矩和(e) i-Go 之狀 態變數:x 位置,y 位置,朝向角,速度和角速度... 59 圖 4.9 垂直移動障礙物之動態避障導引模擬(障礙物速度:0.67m/s,入射角:30o ): (a)起始狀態,(b)避障狀態,(c)完成避障導引,(d)左右輪煞車力矩和(e) i-Go 之狀 態變數:x 位置,y 位置,朝向角,速度和角速度... 60 圖 4.10 垂直移動障礙物之動態避障導引模擬(障礙物速度:0.418m/s,入射角: 45o):(a)起始狀態,(b)避障狀態,(c)完成避障導引,(d)左右輪煞車力矩和(e) i-Go 之狀態變數:x 位置,y 位置,朝向角,速度和角速度... 61 圖 4.11 垂直移動障礙物之動態避障導引模擬(障礙物速度:0.278m/s,入射角: 60o):(a)起始狀態,(b)避障狀態,(c)完成避障導引,(d)左右輪煞車力矩和(e) i-Go 之狀態變數:x 位置,y 位置,朝向角,速度和角速度... 62 圖 4.12 垂直移動障礙物之動態避障導引模擬(障礙物速度:0.32m/s,入射角: 60o):(a)起始狀態,(b)避障狀態,(c)完成避障導引,(d)左右輪煞車力矩和(e) i-Go 之狀態變數:x 位置,y 位置,朝向角,速度和角速度... 63

(12)

圖 4.13 垂直移動障礙物之動態避障導引模擬(障礙物速度:0.125m/s,入射角: 75o):(a)起始狀態,(b)避障狀態,(c)完成避障導引,(d)左右輪煞車力矩和(e) i-Go 之狀態變數:x 位置,y 位置,朝向角,速度和角速度... 64 圖 4.14 垂直移動障礙物之動態避障導引模擬(障礙物速度:0.17m/s,入射角: 75o):(a)起始狀態,(b)避障狀態,(c)完成避障導引,(d)左右輪煞車力矩和(e) i-Go 之狀態變數:x 位置,y 位置,朝向角,速度和角速度... 65 圖 4.15 垂直移動障礙物之動態避障導引模擬(障礙物速度:0.04m/s,入射角: 90o):(a)起始狀態,(b)避障狀態,(c)完成避障導引,(d)左右輪煞車力矩和(e) i-Go 之狀態變數:x 位置,y 位置,朝向角,速度和角速度... 66 圖 4.16 垂直移動障礙物之動態避障導引修正模擬(障礙物速度:0.28m/s,入射角: 60o):(a)起始狀態,(b)避障狀態,(c)完成避障導引,(d)左右輪煞車力矩和(e) i-Go 之狀態變數:x 位置,y 位置,朝向角,速度和角速度... 67 圖 4.17 靜態障礙物動態避障導引實驗圖:(a)實驗場景和(b)使用者操作狀態 ... 69 圖 4.18 靜態障礙物動態避障導引實驗軌跡圖... 70 圖 4.19 靜態障礙物動態避障導引實驗結果-受測者 A 之(a)左右輪煞車力矩和(b) i-Go 之狀態變數:x 位置,y 位置,朝向角,速度和角速度 ... 70 圖 4.20 靜態障礙物動態避障導引實驗結果-受測者 B 之(a)左右輪煞車力矩和(b) i-Go 之狀態變數:x 位置,y 位置,朝向角,速度和角速度 ... 71 圖 4.21 靜態障礙物動態避障導引實驗結果-受測者 C 之(a)左右輪煞車力矩和(b) i-Go 之狀態變數:x 位置,y 位置,朝向角,速度和角速度 ... 71 圖 4.22 平行移動障礙物動態避障導引:(a)實驗場景和(b)動態障礙物 ... 73 圖 4.23 平行移動障礙物動態避障導引實驗軌跡圖... 74 圖 4.24 平行移動障礙物動態避障導引實驗結果-受測者 A 之(a)左右輪煞車力矩和 (b) i-Go 之狀態變數:x 位置,y 位置,朝向角,速度和角速度... 74

(13)

XI 圖 4.25 平行移動障礙物動態避障導引實驗結果-受測者 B 之(a)左右輪煞車力矩和 (b) i-Go 之狀態變數:x 位置,y 位置,朝向角,速度和角速度... 75 圖 4.26 平行移動障礙物動態避障導引實驗結果-受測者 C 之(a)左右輪煞車力矩和 (b) i-Go 之狀態變數:x 位置,y 位置,朝向角,速度和角速度... 75 圖 4.27 垂直移動障礙物動態避障導引實驗場景:(a)入射角 30o和(b)入射角 60o ... 77 圖 4.28 垂直移動障礙物動態避障導引實驗軌跡圖(入射角 30o)... 78 圖 4.29 垂直移動障礙物動態避障導引實驗結果(入射角 30o )-受測者 A 之(a)左右 輪煞車力矩和(b) i-Go 之狀態變數:x 位置,y 位置,朝向角,速度和角速度.. 78 圖 4.30 垂直移動障礙物動態避障導引實驗結果(入射角 30o )-受測者 B 之(a)左右 輪煞車力矩和(b) i-Go 之狀態變數:x 位置,y 位置,朝向角,速度和角速度.. 79 圖 4.31 垂直移動障礙物動態避障導引實驗結果(入射角 30o )-受測者 C 之(a)左右 輪煞車力矩和(b) i-Go 之狀態變數:x 位置,y 位置,朝向角,速度和角速度.. 79 圖 4.32 垂直移動障礙物動態避障導引實驗軌跡圖(入射角 60o )... 80 圖 4.33 垂直移動障礙物動態避障導引實驗結果(入射角 60o)-受測者 A 之(a)左右 輪煞車力矩和(b) i-Go 之狀態變數:x 位置,y 位置,朝向角,速度和角速度.. 80 圖 4.34 垂直移動障礙物動態避障導引實驗結果(入射角 60o)-受測者 B 之(a)左右 輪煞車力矩和(b) i-Go 之狀態變數:x 位置,y 位置,朝向角,速度和角速度.. 81 圖 4.35 垂直移動障礙物動態避障導引實驗結果(入射角 60o)-受測者 C 之(a)左右 輪煞車力矩和(b) i-Go 之狀態變數:x 位置,y 位置,朝向角,速度和角速度.. 81

(14)

第一章

第一章

第一章

第一章

導論

導論

導論

導論

1.1

引言

引言

引言

引言

拜醫療科技進步所賜,人類的平均壽命逐年延長,但因為民眾對於未來婚姻 及生育態度的轉變,生育率逐年下降,老年人口比例相對地逐年成長,尤其在先 進國家中此現象更為顯著。以台灣為例,據內政部統計我國 99 年出生率下滑至 0.721%,總生育率降為 0.895 人,已成為世界生育率最低之國家[33];而我國自 82 年起邁入高齡化社會以來,65 歲以上老人所占比例持續攀升,101 年 5 月底 已占總人口 10.98%,老化指數(老年人口/幼年人口之百分比)為 73.74%[34]。 預估民國 106 年,我國將邁入高齡社會,老年人口比例達 14%。 因應高齡化社會來臨,如何照顧銀髮族將是我們重要的課題和使命。據統計 約 16.8%的高齡人口自理日常起居活動有困難,常發生的狀況是因為骨質疏鬆、 肌肉萎縮,造成下肢較無力;加上視力退化、注意力難以集中及平衡能力變差等, 導致行走時下肢不穩,甚至容易跌倒受傷。現階段改善的方法普遍是使用輪椅或 拐杖等輔助工具幫助行走,而兩者都有各自的問題存在:前者容易造成老年人的 過度依賴,加速其下肢肌肉萎縮[3];後者則可分為兩種,一種是對肌肉的輔助 較弱且容易失去平衡的單腳拐杖,另一種則是過於笨重、使用較為不便的四角拐 杖,都不是理想的行動輔助工具。 近年來,隨著機器人產業的興起,越來越多學者致力於研究輔助行走不便老

(15)

2 年人的行動輔助機器人。透過機器人上裝設的感測器來擷取環境資訊和使用者的 意圖及姿態,分析後產生合宜的輔助策略來輔助老年人行動。行動輔助機器人依 其動力來源可分為主動式及被動式兩種,前者以馬達提供主要動力,負重量大, 使用者不需費力去推動輔具,但卻可能因控制器設定不當,而導致有操作上的危 險;後者的動力來源則完全來自使用者本身,安全性高,機器人因應不同的輔助 策略,改變兩輪煞車器的力道,達到轉彎或移動等功能。因服務的族群為銀髮族, 安全性為設計之主要考量,我們選擇被動式行動輔助機器人作為研究對象。

1.2

研究動機

研究動機

研究動機

研究動機

為了讓行動輔助機器人實際走入生活,為需要的長輩提供服務,如何處理真 實家庭中複雜的動態環境,是我們需要思考的問題。目前各國所開發的行動輔具 機器人,雖因設計概念的不同,而有功能上及主被動模式的差異,但都將避障功 能納入其核心功能之中,即在輔助老年人行走的同時,也能避免其與環境障礙物 發生碰撞而跌倒。 本實驗室過去開發的被動式行動輔助機器人—i-Go,亦具備避障導引功能 [36],可在未知環境中,透過感測器擷取周圍環境資訊,即時規劃路徑,以閃避 環境障礙物,並導引使用者抵達目的地。然而,此功能只針對靜止的環境障礙物 (如桌、椅及牆壁等)進行閃避。在複雜環境中,家庭成員等不可預期的移動,還 是可能讓使用者發生碰撞而跌倒。目前,已有許多學者提出可閃避動態障礙物的 演算法,但都只實現於主動式機器人上,若實現在被動式行動輔助機器人上,可 能因為硬體的限制及機器人規格的不同,無法達到相同的功效。有鑑於此,我們 希望整合現有的動態避障演算法,並以被動式控制的安全概念為基礎,發展出一 套可對行進間障礙物進行閃避亦兼具導引功能的動態避障導引系統,進而提升 i-Go的避障及導引能力,提供老年人的居間安全上更完善的保障。

(16)

1.3

相關研究

相關研究

相關研究

相關研究

因應高齡化社會的來臨,世界各國開發了各種機器人輔助系統來輔助老年人 的生活起居。這類的機器人輔助系統,最重要就是要達到使用方便、高效能、以 及使用者的安全性與穩定性[4,5]。因此,機器人要能偵測周遭的環境障礙物,並 且以安全的控制策略導引使用者進行閃避。目前有許多避障導引系統被應用在主 動及被動式行動輔助機器人上,以下針對這些研究進行概略性的介紹。

1.3.1

主動式行動輔

主動式行動輔

主動式行動輔

主動式行動輔助機器人

助機器人

助機器人

助機器人

在1998年,德國 Fraunhofer IPA 工業研究院研發了一台居家輔助機器人, 稱為Care-O-bot[7],如圖1.1(a)所示。在2002年更新為第二代Care-O-botII[7],如 圖1.1(b)所示。身上搭載兩部工業電腦,一部放置在頭部,主要控制身上的機械 手臂跟夾爪,而另一部則負責控制機器人的運動及行走姿態,兩部電腦可透過乙 太網路溝通。此機器人其中一個主要功能是導引使用者到達指定的目的地,其避 障導引系統是以elastic band演算法[6]為基礎,並根據裝置在握把上的力感應器資 訊及外在環境的動態資訊進行路徑的即時更正。

(a) Care-O-bot I (b) Care-O-bot II 圖1.1 (a)Care-O-bot I和(b)Care-O-bot II[7]

(17)

4

在2000年,MIT的Dubowsky等學者提出了PAMM(Personal Aid for Mobility and Monitoring)系統[8],是一種結合行動輔助與遠距照護的居家輔助系統。機器 人以拐杖原型來設計,稱為SmartCane,如圖1.2所示。SmartCane利用六軸力感 測器和直流馬達來改善拐杖的操縱性及移動速度,以超音波感測器及CCD攝影機 來進行避障與定位控制。PAMM搭載一個可以持續監控使用者生命訊號的感測 器,且設置了一台電腦,利用無線網路將訊號傳給遠端的醫護人員進行分析,以 了解使用者的健康狀態。此外,也將房間內所有設施,如樓梯與障礙物的位置等 建成地圖儲存在電腦中。根據環境感測器和已知的地圖,PAMM可導引使用者到 達指定的目的地並閃避障礙物。然而,拐杖有其天生的缺點,那就是穩定性不夠, 容易讓使用者在崎嶇的路面上失去重心而摔倒。為了解決這個問題,Dubowsky 等在2006年將PAMM實現於助行器上,完成了SmartWalker系統[9],如圖1.3所 示。SmartWalker大致上功能皆與SmartCane相仿,提供了更好的移動性與穩定性。

(a) SmartCane內部感應器 (b) SmartCane外觀 圖1.2 SmartCane[8]

圖1.3 SmartWalker[9]

(18)

1.3.2

被動式行動輔

動式行動輔

動式行動輔

動式行動輔助機器人

助機器人

助機器人

助機器人

相較於主動式行動輔助機器人能以馬達提供動力來導引使用者閃避障礙 物,被動式行動輔助機器人其動力來源完全由使用者的推力提供,這種以安全性 為主的設計,相對而言也限制了機器人的部分能力,僅能夠以煞車器進行減速及 轉向的情況下進行導引及避障,面臨一定的限制。因此,能實現於被動式行動輔 助機器人上的避障導引演算法相對比較少。

在 2003年 ,愛爾 蘭的 Lacey提 出被 動 式行動輔 助機 器人Veterans Affairs Personal Adaptive Mobility Aid (VA-PAMAID)[10],如圖1.4所示。它的特點是機 器人由前兩輪舵輪上的馬達提供轉向力矩,除此之外不提供任何使機器人本身移 動的動力,只有當使用者施予機器人力/力矩時,機器人才會移動。VA-PAMAID 身上裝置了超音波及雷射感測器,可用來偵測周圍環境資訊及辨認障礙物,一旦 發現使用者可能撞到障礙物時,便緩緩地轉動舵輪,逐漸改變機器人行進方向, 讓使用者在平順的路徑中閃避障礙物。此機器人雖然是以被動式的概念設計,但 仍有使用到主動式的馬達驅動,因此還是有可能因控制器設定不當,而導致使用 者有操作上的危險。

(a) VA-PAMAID前視圖 (b) VA-PAMAID側視圖 圖1.4 VA-PAMAID[10]

(19)

6 在2004年,日本東北大學的Kosuge等學者研發出一種新型態的被動式行動輔 助機器人RT-Walker[11],如圖1.5所示。改良了VA-PAMAID使用馬達驅動舵輪提 供轉向力矩的設計,RT-Walker僅用伺服煞車器提供煞車力來達到減速及轉向的 控制。因為沒有用主動式的馬達驅動,所以只有當使用者施予機器人力/力矩時, 機器人才會移動,如此可以避免因馬達控制器設計不當所造成的危險。 RT-Walker可利用雷射感測器來偵測環境資訊,辨識出樓梯及其它環境障礙 物,再根據artificial potential field演算法[13]算出虛擬力/力矩,來控制伺服煞車 器產生煞車力,達到閃避障礙物與階梯的功能;也可透過傾斜儀偵測機器人與地 面的傾斜角度,再利用伺服煞車器預先補償地心引力影響,使得機器人在斜坡的 道路上不會下滑,並且利用阻尼改變機器人的運動特性,以增加操控上的穩定性。 (a) RT-Walker (b) 搭載伺服煞車器的後輪 圖 1.5 RT-Walker[12] 基於上述的討論,至今還沒有看到能閃避動態障礙物的被動式行動輔具機器 人。VA-PAMAID只能沿著障礙物邊緣進行轉向來閃避,若障礙物本身會移動, 則仍有可能發生碰撞;而RT-Walker只針對靜態環境障礙物及階梯進行閃避,兩 者皆無法閃避動態障礙物。相較於被動式機器人,動態避障導引技術應用在主動 式機器人較為成熟,以下將對於其相關研究做概略性的介紹,進而加以改良,以 開發出適合被動式行動輔助機器人的動態避障導引系統。

(20)

1.3.3

動態避障導引演算法

動態避障導引演算法

動態避障導引演算法

動態避障導引演算法

動態避障導引系統主要包含感測及致動兩大部分,如圖 1.6 所示。設計者依 機器人所面對的環境選用合適的感測器,並開發出對應的訊號處理技術,將感測 器所感測到的訊號轉化為有意義的環境資訊,如障礙物的位置及大小等。在分析 機器人及障礙物資訊後,透過動態避障導引演算法產生避障導引策略,再依據機 器人的致動器,設計控制器驅動機器人來達成任務。 圖1.6 動態避障系統流程圖 目前避障導引策略常以路徑規畫的方式實現,可分為全域式路徑規畫及區域 式路徑規畫兩種,前者是在已知的環境中,利用事先建好的地圖資訊,規畫出一 條可行的路徑,導引使用者抵達目的地,並閃避已知的環境障礙物,如 PAMM 的避障導引系統;而後者則是在未知的環境中,根據感測器偵測到的環境資訊, 即時規畫出可行路徑,再依據外在環境的動態資訊進行路徑的即時更正,如 Care-O-botII 及 RT-Walker 的避障導引系統。而兩者各有其優缺點,全域式路徑 規畫因為地圖資訊較為豐富,且沒有運算時間的限制,常可規畫出最短或最快的 路徑導引使用者,但缺點是不能因應環境的動態資訊修改路徑,若環境有所變 動,則可能與障礙物碰撞而發生危險。而區域式路徑規畫雖然不一定能找到路徑 上的最佳解,但對於動態環境有更佳的適應性,更能給予使用者安全上的保障, 有鑑於此,我們決定選用區域式路徑規畫演算法。

(21)

8

常見的區域式路徑規畫演算法有三種,分別為Artificial Potential Field、Neural Networks以及Genetic Algorithms。Artificial Potential Field演算法的概念是將虛擬 力場施加在機器人上,最早在1985年由美國史丹佛大學的Khatib所提出[13],原 理如下圖1.7所示。Khatib將機器人所處的環境建立成一虛擬力場,此力場中目標 物(紅色)將施予機器人吸引力,而障礙物(藍色)施予機器人排斥力,計算出所有 吸引力及排斥力的合力後,合力的大小及方向將決定機器人下一刻的移動距離及 方向,經過多次運算,機器人將沿著規畫好的路徑(黑線),閃避障礙物同時接近 目標物。此方法的優點在於概念簡單且運算時間短,易於即時控制,因此常被使 用在機器人動態避障導引系統中[13~16];然而,此方法有其天生的限制如下:(1) 常被困在局部最佳解,(2)無法通過鄰近的障礙物,及(3)障礙物出現時或在狹路 中軌跡會發生振盪[14]。其中,第一個限制是此方法最讓人詬病的缺點,也容易 讓機器人被困在死角中。

(22)

Neural Networks演算法是一種效法生物智慧的演算法,其概念是模擬人類大 腦結構而來。演算法是由許多運算子(neurons)架構而成的網路,猶如大腦內神經 元彼此連接,經過許多不同的訓練I/O對來建立最合適的演算法架構,也正因為 此過程類似人類的學習機制,故亦稱為學習演算法。在未知的動態環境中,環境 及系統資訊較不完整,且障礙物可能進行非線性運動,因此,動態避障演算法常 需處理複雜的非線性系統。此方法具有對系統不完整性與參數不確定性較不敏 感,以及學習完成後運算快等優點,故常被應用在機器人動態避障導引系統的開 發上[17~19]。演算法可藉由機器人、障礙物及目標物等動態環境資訊做為輸入 項,對障礙物未來的行動進行估測,進而調整控制器輸出合適的控制命令[17]; 但在實際應用上,學習空間過大是目前需解決的問題。 Genetic Algorithms是仿效生物基因物競天擇的演化法則而來的搜索演算 法,最早在1975年由美國密西根大學的Holland所提出[20],目前成功地應用在解 決許多最佳化問題上,而機器人的動態避障導引問題,也可以被視為是一種在某 些限制條件下(如已知部分環境資訊及不可發生碰撞)的最佳化問題(如最短、最快 或最省能的路徑),故也有不少學者將其運用在解決機器人動態避障的問題上 [21~23],其做法如下:先就已知資訊規畫出一條可行的路徑,再將路徑分割成 多個半路點(halfway points)並兩兩隨機連接,接著透過遺傳、突變、自然選擇以 及雜交等基因運作,經過多次迭代,產生最佳或近似最佳的路徑。此方法的優點 在於路徑的最佳化可成功克服局部最佳解的問題,但要付出計算時間長及運算空 間大等代價,在動態環境中使用仍有其運算上的問題要克服。 在1999年,美國加州理工大學的Fiorinic等提出在動態環境中針對移動中障 礙物進行閃避的Velocity Obstacles演算法,並提出碰撞區(Collision Cone)的概念 [24],如圖1.9所示。根據障礙物B的半徑、與機器人A之間的距離,以及兩者的 速度,可畫出機器人與障礙物B之間的碰撞區VOB(如圖1.9的灰色區域),若機器

(23)

10

生碰撞。2003年,Fraichard等人將其概念延伸而提出Inevitable Collision States觀 念,以預防機器人進入無可避免碰撞的狀態[25],更增加機器人的安全性。此類 方法的優點在於概念簡單、運算速度快、易於即時控制,且可以對靜止、線性移 動及非線性移動障礙物進行閃避,因此被廣泛應用在機器人動態避障功能的開發 上[26~28]。然而,此方法在規畫路徑時以即時避障為第一優先,並未考慮到導 引功能,因此在避障後常需要再對機器人的位置及朝向角進行調整。 圖1.8 Collision Cone概念圖[24]

1.4

研究目標

研究目標

研究目標

研究目標

在真實的居家環境中,環境及障礙物資訊是未知的,雖然可以透過事先建置 好環境地圖或是利用 GPS 得知環境中靜態障礙物的資訊,但家庭成員及寵物不 可預期的走動,仍有可能使老年人在行走的過程中發生碰撞。在搜尋並研讀了多 篇論文後,至目前為止,還沒看到被動式行動輔助機器人具有閃避動態障礙物的

(24)

能力。為了提升老年人在居家行動上的安全保護,我們希望結合一些目前成功應 用在主動式機器人上的動態避障導引演算法,取各自的優點並加以改善,以開發 出一套適合被動式行動輔助機器人的動態避障導引系統。在機器人系統已知目標 與方向情況下,透過環境感測器,進一步了解環境的動態資訊,因應動態障礙物 及機器人的狀態,即時給予適當的導引點,使用者只需平穩地往前推,機器人將 給予適當的煞車力,讓使用者可以順利閃避障礙物到達目標點。此外,在被動式 行動輔助機器人其動力來源完全仰賴使用者推力提供的情況下,機器人系統的避 障能力也會有所限制。我們希望找出此動態避障導引系統在避障上的極限,以制 定其安全範圍,期望能在安全上提供使用者更全面的保障。

1.5

論文架構

論文架構

論文架構

論文架構

我們將在第二章介紹基於距離資訊之行動輔助機器人動態避障導引系統,先 是說明被動式行動輔助機器人 i-Go 的動態模型,接著是描述動態避障導引演算 法,其可使 i-Go 安全地閃避動態障礙物並順利到達目的地,最後利用幾何及物 理概念,在數學上推導演算法閃避動態障礙物的能力限制;第三章為系統實現, 此章節除了有行動輔助機器人之硬體介紹外,還有完整的系統架構說明;第四章 為模擬與實驗結果,針對演算法的能力進行模擬分析,並實際地驗證系統的避障 能力;第五章提出本論文的結論與未來展望。

(25)

12

第二章

第二章

第二章

第二章

行動輔助機器人動態避障

行動輔助機器人動態避障

行動輔助機器人動態避障

行動輔助機器人動態避障導引

導引

導引

導引系統

系統

系統

系統

在真實的居家環境中,環境及障礙物資訊常隨時間不斷改變,即使可以透過 事先建置好環境地圖或是利用 GPS 得知環境中靜態障礙物的資訊,但家庭成員 及寵物不可預期的走動,仍有可能使老年人在行走的過程中發生碰撞。在如此變 動的環境中,我們所發展的系統可透過感測器的即時偵測,結合動態避障導引系 統,即時閃避迎面而來的障礙物,安全地導引使用者到達所設定的目的地。 本章有三個重點,第一是建構障礙物偵測系統來得知前方障礙物的大小、位 置及速度等資訊;第二是為了保障使用者的安全所設計的動態避障導引演算法, 根據環境及障礙物的動態資訊,結合導引系統,即時閃避動態障礙物,以安全地 導引使用者到達目的地;第三為推導系統閃避動態障礙物的能力限制,並制定系 統規格及安全範圍,以提供使用者更完善的保障。 本系統的控制流程如圖 2.1 所示,首先建構障礙物偵測系統,並透過此系統 將感測器量測到的距離資訊,轉換成障礙物的大小、位置及速度等資訊。接著根 據障礙物的動態資訊,開啟動態避障導引演算法,經由障礙物資訊及機器人的狀 態決定路徑參考點,再透過本實驗室過去開發的輔助導引策略[35],結合參考 點、機器人狀態及使用者推力等資訊,計算出合宜的煞車力,導引使用者安全地 抵達目的地。在介紹整個控制架構前,必須先了解其動態模型,因此,在 2.1 節, 先介紹行動輔助機器人的動態模型;接著,在 2.2 節介紹障礙物偵測系統;在 2.3 節介紹動態避障導引演算法及輔助導引控制策略;在 2.4 節推導系統閃避動態障 礙物的能力限制。

(26)

圖 2.1 行動輔助機器人系統控制流程圖

2.1

二維空間中行動輔

維空間中行動輔

維空間中行動輔

維空間中行動輔助機器人之

助機器人之

助機器人之

助機器人之動態模型

動態模型

動態模型

動態模型

在介紹整個控制架構前,我們必須先探討行動輔助機器人本身的動態物理模 型,我們採用的是一個簡化過的模型,如圖 2.2 所示。此模型忽略了輪子本身的 重量及轉動慣量,在卡氏座標下,用三個變數來表示機器人的狀態,如(2.1)式:

[

]

T c c q= x y θ (2.1) 其中

x

c為機器人質心的 x 軸位置、

y

c為質心的 y 軸位置、

θ

為機器人的朝向角。 圖 2.2 在卡氏座標下,行動輔助機器人之簡化圖

(27)

14 假設在機器人無左右滑動的情況下,則其質心速度 v 會與其朝向角平行,因此, q&可以表示為 ( ) q&=S q V (2.2) 其中 cos 0 ( ) sin 0 0 1 S q

θ

θ

    =       , V v

ω

  =     (2.3) v 為機器人之質心速度、ω為旋轉角速度。 在受到使用者推力 F 以及無滑動限制力

λ

的情況下,機器人的動態方程式可用 (2.4)式表示: M q q( )&&=E q( )τ +D q F( ) −Cλ (2.4) 其中 0 0 cos / cos / ( ) 0 0 , ( ) sin / sin / 0 0 / / cos sin , ( ) sin , C( )= cos 0 0 r l m r r M q m E q r r I b r b r D q q

θ

θ

θ

θ

θ

θ

τ

τ

θ

θ

τ

        = =               =  =       (2.5) m 為機器人之質量、I 為其轉動慣量、r 為其輪子半徑、b 為兩輪之距離的一半、 r

τ

為右輪煞車力矩、

τ

l為左輪煞車力矩、F 為人的推力、λ為限制力。

接著,我們對(2.2)式微分,得到q&&=SV& +SV&,代換 q&&到(2.4)式中,並且前乘 T

S , 因此限制力

λ

會被消除,最後併入(2.2)式可得 1 1 0 0 0 ( T ) T ( T ) T q SV F V S MSS E

τ

S MSS D         = + +          &       (2.6) 為了使能以被動的方式控制行動輔助機器人,

τ

r

與 選定為

τ

l , r Kr r l Kl l

τ

= −

θ

&

τ

= −

θ

& (2.7) 其中,

θ

&r

θ

&l代表右輪及左輪的角速度,

K

r

K

l是右輪及左輪的非負調整參數。

(28)

在機器人不會左右滑動情況下,

θ

&r

θ

&l可以表示為 ( ) / , ( ) / r v b r l v b r

θ

& = +

ω

θ

& = −

ω

(2.8) 將(2.7)-(2.8)式代入(2.6)式中,可以得到(2.9)-(2.10)式 q&=SV (2.9) V&= AK+BF (2.10) 其中 2 2 2 2 1 / , , 0 ( ) ( ) r l v b v b K m mr mr A K B K b v b b v b Ir Ir

ω

ω

ω

ω

+ −   − −   =  = = + −           (2.11) (2.10)式即是以矩陣的形式代表整個系統的運動狀態。此時,我們可將參數 K 視 為整個系統的新控制輸入參數,經由適當地調整左右輪煞車力,改變機器人的運 動狀態,進而導引使用者從起始位置到達想要的位置,並即時閃避路徑上的動態 障礙物。

2.2 障礙物偵測

障礙物偵測

障礙物偵測

障礙物偵測系統

系統

系統

系統

在障礙物偵測系統方面,我們透過感測器獲得機器人前方 180o 內所有障礙 物與機器人之間的距離,再經由障礙物偵測演算法,即時辨識出障礙物的大小、 位置及速度等資訊。其中,障礙物偵測演算法是參考 Daisuke 等學者在 2010 年 所提出的避障演算法[1],論文中利用自走車做實驗,藉由分析感測器所擷取到 的距離資訊,可判斷出障礙物的間距及可行區域,此方法簡單且能有效的避開障 礙物到達目標點。我們將其處理距離資訊的方法擷取出來,並加以改良,以達到 辨識並追蹤障礙物的功能。

(29)

16

首先,我們定義感測器的座標系統,如圖 2.3 所示,在機器人的座標系統下, 感測器的位置定為(0,0.3),單位為公尺。如此一來,我們可以透過感測器偵測到 所有在機器人前方 180o內,與機器人距離小於偵測範圍 d 的障礙物,並得到其 輪廓點的距離資訊。 圖 2.3 雷射掃描示意圖 接著,我們區分個別障礙物的輪廓點,透過障礙物分類流程,我們可辨識出 屬於相同障礙物的輪廓點以及個別障礙物的寬度範圍,並以步距角的方式記錄其 範圍,分類流程如圖 2.4 所示。我們以角度 0o時所量測到的資料為分類起點,180o 時所量測到的資料為終點,分別記為第 i0和第 i180筆資料,過程中依序增加分類 的角度,直到前方 180o 的資料都分類完後,分類程序才算完成。在進行每次的 分類時,系統會讀入該筆與前一筆的距離資訊,並將兩者與偵測範圍 d 進行比 較,若偵測到的距離資訊小於偵測範圍 d,則表示在該角度範圍下有障礙物存 在,其分類結果共有四種,分別如下: 1. 若兩者皆小於偵測範圍,則表示偵測到的為同一障礙物,故系統會將兩筆資 訊歸類在同一障礙物內,如圖 2.4 中左一的結果。 2. 若當下偵測到障礙物,但前一刻卻沒有障礙物,則表示目前偵測到的資料屬 於障礙物的右邊界,如圖 2.4 中左二的結果。

(30)

3. 若當下沒有偵測到障礙物,但前一刻有障礙物,則表示之前偵測到的資料屬 於障礙物的左邊界,如圖 2.4 中右一的結果。 4. 若兩者皆大於偵測範圍,則表示在該範圍沒有障礙物,故系統會將這兩筆資 訊排除,如圖 2.4 中右二的結果。 圖 2.4 障礙物分類流程圖 在各輪廓點的距離資訊分類後,我們對每個障礙物假設一個障礙圓,並以障 礙圓將障礙物包覆其中,如圖 2.5 所示,再依據各障礙物距離資訊的分群關係, 我們可找出每個障礙物距離感測器中心 Os 最近及最遠的距離(如圖 2.5 中的紫色 及紅色線段),分別記為 mDj及 MDj。其中,j 為障礙物的編號,隨著障礙圓的位 置由右至左遞增。

(31)

18 接著,我們將∆OsMOCj 近似為一個直角三角形,利用畢氏定理,可將障礙 物半徑 rj以(2.12)示表示: 2 2 2 j j j j MD mD r mD − = (2.12) 透過座標轉換,可將障礙物中心座標 OCj以(2.13)式表示: , 0 , 0 ( ) cos( ) ( ) sin( ) m j j j j j m j j j i i r mD OCx nn OCy i i r mD nn π π −   +       =   −     +     (2.13) 其中,im,j為第 j 個障礙物與機器人距離最近時的步距角值,i0為 0o時對應的步距 角值,而 nn 則為 0o 到 180o間所有的距離資訊總筆數和。 圖 2.5 障礙圓示意圖 因雷射感測器是藉由量測感測光波遇障礙物反射後的物理性質變化,轉換成 障礙物與感測器的距離,故 MDj 亦為經障礙物反射之割線,並非障礙圓切線, 即∠OsMOC 並不是直角而是鈍角。因此,我們推算出的半徑會較小,中心點也 會有所偏誤。然而,基於安全考量,我們寧可推算出較大的半徑,以完整包覆障 礙物,並盡早做好閃避的準備,故透過以下步驟進行修正:

(32)

1. 以目前的中心點為圓心,找出輪廓點中與其最遠距離作為修正半徑; 2. 將修正後的半徑帶回(2.13)式,重新更正中心點; 3. 重複步驟 1 到 2,直到半徑修正量小於預設的閥值。 透過修正流程,我們可以將障礙物的中心點,固定在離機器人最近的步距角 方向上移動,直到找到中心點與所有輪廓點距離均相同的位置,以此距離作為半 徑,即可保證所畫出的障礙圓能包含所有輪廓點分布的區域,亦能包覆住整個障 礙物的範圍。以下將以數學幾何的方式,搭配圖 2.6 的修正半徑示意圖,來驗證 修正半徑的收斂性。 首先,我們將修正前半徑 rj帶入(2.13)式,可算出修正前障礙圓 (如圖 2.6 中 的白色圓球)的中心點 OCj以(2.14)式表示: ( ) cos( ) ( ) sin( ) j j j j j j OCx r mD OCy r mD θ θ +     =     +     (2.14) 其中 , 0 m j i i nn θ = − π (2.15) 根據修正步驟 1,我們找出與 OCj最遠的輪廓點 M(xM,yM),並以兩者間距離為修 正半徑 rnew,如(2.16)式所示: 2 2 ( ) ( ) new j M j M r = OCxx + OCyy (2.16) 根據修正步驟 2,我們將修正半徑 rnew帶入(2.13)式,可算出新障礙圓 (如圖 2.6 中的空心圓球)的中心點 OCnew。 接著,我們定義收斂指標 q,來觀察修正半徑收斂的狀況,如(2.17)式所示: new j j r r q r − = (2.17) 將(2.14)、(2.16)式代入(2.17)式後,對半徑 rj作微分,可得

(33)

20

2

(( ) cos( ) ) cos( ) ( ) sin( ) ) sin( ))

j j j M j j M new new j j r r mD x r mD y r r dq dr r θ θ θ θ + − + + − − = (2.18) 其中,(rj+mDj) cos( )

θ

xM及(rj +mDj) sin( )

θ

yM分別為原中心點 OCj與 M 在 x 方向及 y 方向上的距離,即為OCxjxMOCyjyM,根據(2.14)、(2.16)式以 及柯西不等式,可知

( ) cos( ) ) cos( ) ( ) sin( ) ) sin( )

new j j M j j M rr +mD

θ

x

θ

+ r +mD

θ

y

θ

(2.19) 將(2.19)式代回(2.18)式,整理可得 2 0 j new new new j j r kr r r dq dr r − = < (2.20) 其中,k 為一個小於 1 的倍數。由(2.20)式可知半徑的修正量呈現一個遞減的趨 勢。我們再在將(2.20)式對半徑 rj作微分可得 3 ' 2 (new- j)>0 j j dq r kr dr = r (2.21) 綜合(2.20)-(2.21)式來看,透過修正流程,我們可使得半徑以漸進遞減的方式修 正到正確的大小。 圖 2.6 修正半徑示意圖

(34)

我們利用 Matlab 進行障礙物偵測演算法初步驗證與模擬,並比較修正前後 差異,結果如圖 2.7(a)-(b)所示。我們在感測器前方設定三個障礙物,分別在(2,2)、 (0,3)及(-2,2)的位置,半徑皆為 0.3m,以綠色表示,紅色圓弧為模擬雷射掃描的 結果,紅色圓圈則表示障礙物最左邊及最右邊的輪廓點,最後,演算法算出的障 礙圓則以藍色表示。我們定義中心位置的判斷指標,如(2.22)式所示: -EOP(error of position)= 目目目目標標標位標位位位置 實置 實際置 實置 實際際際位位位位置置置置 *100% 目 目目 目標標標標位位位位置置置置 (2.22) 由圖 2.7(a)可以看出因幾何誤差而使得辨識出的障礙物半徑較小,誤差最大 可到 25%,而中心距離的估測已十分準確。修正後如圖 2.7(b)所示,半徑誤差縮 小到只有 5%,而中心距離只剩下不到 1%的誤差。在能夠準確的辨識出障礙物 的半徑及中心點的位置後,透過紀錄前後兩個時刻障礙圓中心點的位移量,我們 可以推算出障礙物對機器人移動的相對速度。 (a) 修正前 (b) 修正後(迭代 3 次) 圖 2.7 障礙物偵測結果圖:(a)修正前和(b)修正後(迭代 3 次) 表 2.1 障礙物偵測模擬結果分析—修正前 修正前 辨識結果 誤差 X y 半徑 EOP 半徑 障礙物 1 1.9627 1.9689 0.2507 1.72% -16.44% 障礙物2 -0.0079 2.9252 0.2248 2.51% -25.08% 障礙物3 -1.9792 1.9624 0.2594 1.52% -13.52% (單位:公尺)

(35)

22 表 2.2 障礙物偵測模擬結果分析—修正後(迭代 3 次) 修正後 辨識結果 誤差 X y 半徑 EOP 半徑 障礙物 1 2.0122 2.0100 0.3150 0.56% 4.99% 障礙物2 -0.0081 2.9975 0.2970 0.28% -1.01% 障礙物3 -2.0224 1.9978 0.3152 0.80% 5.08% (單位:公尺)

2.3 動態避障導引演算法

動態避障導引演算法

動態避障導引演算法

動態避障導引演算法

在第一章我們介紹了目前常見的動態避障演算法,雖然各有各的優點,但均 須克服運算複雜度、局部最佳解及環境適應性等三大困難[21]。因此,在動態避 障導引演算法的開發上,我們考量對未知的動態環境的適應性,選擇區域式路徑 規畫演算法;而動態避障任務常需要高度的即時反應,故演算法需具有較低的運 算複雜度,以在最短時間內,依環境變化對路徑進行動態修正;但演算法若因運 算時間短,而無法對路徑做最佳化的話,常會讓使用者困在局部最佳解內動彈不 得,以至於來不及閃避迎面而來的危險。 基於以上討論,我們選用概念簡單且運算速度快,易於即時控制的 Velocity Obstacles 演算法[24]作為控制核心,控制流程如圖 2.8 所示。藉由 2.2 節介紹的 障礙物偵測系統,我們可準確地辨識出障礙物的半徑、位置及速度等資訊,結合 機器人狀態資訊,對機器人進行碰撞狀態分析,以預防無可避免的碰撞發生。接 著,根據分析結果產生出對應的避障命令,再利用 Artificial Potential Field 演算 法[2]依照避障命令規劃出路徑參考點,並透過輔助導引策略,在已知當下的機 器人狀態、人的推力和指定參考點的情況下,每經過一個取樣時間,先利用路徑 規劃來模擬出想要機器人的狀態,算出一個合宜的煞車力矩傳到機器人,來達到 動態避障導引的效果。

(36)

圖 2.8 動態避障導引系統控制流程圖 首先,我們先利用 Velocity Obstacles 演算法,根據已知的動態障礙物與機器 人資訊,對機器人進行碰撞狀態分析。我們採用的是一個簡化過的模型,如圖 2.9 所示,我們將機器人視為一質量點,落在其質心 Or的位置上,而障礙物則以 灰色的障礙圓包覆住,並以障礙圓的中心 OCj和半徑 ro分別代表其位置及大小。 結合機器人與障礙物的半徑,我們定義出新的障礙圓半徑 ro’ r '=r +r +boooo rrrr oooo (2.23) 其中,rr為機器人半徑,ro為障礙物半徑,而 b 為安全空間。 圖 2.9 碰撞狀態分析示意圖

(37)

24

在此模型中,我們假設機器人速度為 V,障礙物速度為 V’,而兩者之間的相 對速度則以ΔV 表示。其中,若從機器人質心 Or對新障礙圓畫兩條切線,可分

別與其相切於 M、N 兩點,我們定義∠MOrN 所覆蓋的範圍為碰撞區域,若相對

速度ΔV 的方向,在有限時間內無法逃離此區域的話,機器人必定會與障礙物發 生碰撞,即進入無可避免碰撞的狀態(Inevitable Collision States,以下簡稱 ICS)。 為了逃離碰撞區,我們必須改變ΔV 的方向,但在無法改變障礙物速度 V’ 的情況下,只能對機器人速度 V 進行調整。此時,一般的 Velocity Obstacles 演算 法透過幾何關係,推導出機器人速度 V 與相對速度ΔV 的大小及方向之間相依關 係,進而調整 V,使ΔV 得以在短時間內逃離碰撞區[28]。然而,因為不考慮目 標點資訊,閃避障礙物後,常使機器人的朝向角偏離原本的方向。

有鑑於此,我們改利用 Artificial Potential Field 演算法結合目標點資訊來提 供機器人轉向的引力,以改善機器人朝向角偏差的問題。在引力斥力的計算方 面,我們是參考 Li 等學者在 2010 年所提出的避障演算法[2],論文中改良傳統以 障礙物與機器人最短距離的平方來產生斥力場的方式,而用指數函數的形式來產 生斥力,除了可克服過去無法通過鄰近障礙物的情況外,也可解決障礙物出現時 或在狹路中軌跡會發生振盪的問題。因此,我們將其改良,並結合碰撞狀態分析 的結果,提出新的引力斥力公式,如(2.24)-(2.25)式所示: 2 1 ( ) ( ) 2 att t t F X = k XX r (2.24) 0 1 1 ( ) 2 1 ( ) ( ) 2 0 o t rep k e X X if ICS is ture F X Otherwise ρ ρ−   − =   r (2.25) 其中,X 為機器人的位置,Xt為目標物的位置,

ρ

為障礙物與機器人的最短距離, 0

ρ

為反應距離,即感測器的偵測範圍,而 kt、ko則分別為目標物及障礙物對引力 及斥力的放大倍率。

(38)

此公式的優點在於指數函數相較於二次式,更能在接近碰撞時,提供即時且 強大的斥力,避免發生碰撞。同時,為了降低運算複雜度,只有當機器人進入無 可避免的碰撞狀態(ICS)時,我們才會對障礙物施予的斥力進行計算。然而,實 際應用在閃避動態障礙物的任務時,若障礙物、目標物及機器人的中心點在同一 直線上時,則可能會有局部最佳解的現象發生,使演算法無法規劃出下一個參考 點。如圖 2.10 所示,此時障礙物中心對機器人中心的斥力與目標物對機器人中 心的引力,恰好達成物理學上的「靜力平衡」,使機器人卡在原地動彈不得。 圖 2.10 局部最佳解分析示意圖 因此,我們透過增加障礙物對機器人不共線的施力點,來解決局部最佳解的 問題。在施力點個數的取捨上,平面上要形成不共線需有三點以上,但考量對障 礙物範圍的描述,我們覺得三點仍顯不足。然而,增加施力點也需付出運算複雜 度提升的代價,故我們認為取四點較為恰當。如圖 2.11(a)-(b)所示,我們取相對 速度ΔV 延長至與障礙物半徑相接的點為 A 點,此為機器人與障礙物最快發生碰 撞的點,故我們將其固定為斥力點,以避免碰撞發生。接著,為了在有限時間內 快速逃離碰撞區域,剩下三點需提供最大的轉向力矩,故我們將 A 點以順時針 的方向旋轉 90o、180o及 270o各取一點,分別為 B 點、C 點及 D 點。其中,B、

(39)

26 D 點可根據碰撞狀態分析後的控制命令來調整施力狀態,選擇往ΔV 旋轉角度最 小的方向轉向,以幫助機器人快速地從左邊或右邊閃避障礙物。最後,我們讓 C 點固定施予引力,作為輔助轉向力,以幫助機器人快速通過障礙物的後端,完成 閃避任務。 . (a) 左轉命令(若∠AOrM < ∠AOrN) (b) 右轉命令(若∠AOrN < ∠AOrM)

圖 2.11 增加施力點控制示意圖:(a)左轉命令和(b)右轉命令 基於上述討論,我們對(2.24)-(2.25)式進行修正,提出新的引力斥力公式, 如(2.26)-(2.27)式所示: 2 1 ( ) ( ) 2 attT t t F X = k XX r (2.26) 0 1 1 ( ) 2 1 ( ) ( ) ( ) 2 , , , , 0 O o t repO attO k e X X if ICS is ture F X F X O A B C D Otherwise ρ −ρ   − = − = =   r r (2.27) 其中,FattT r 為目標物對機器人施予的引力,FrepO r 和FattO r 則分別為障礙物上各施力 點對機器人施予的斥力及引力,其方向在施力點與機器人中心的連線上,有正向 或負向的差別,而

ρ

O則為障礙圓上各施力點與機器人的最短距離。 因此,根據控制命令以及機器人當下的位置,我們可將其在虛擬力場中的受 力狀態以(2.28)式表示:

(40)

( ) ( ) ( ) ( ) ( ) ( )

( ) ( ) ( ) ( ) ( )

attT repA attB attC repD

apf

attT repA repB attC attD

F X F X F X F X F X turn left F X F X F X F X F X F X turn right + +  = − − + +  r r r r r r r r r r r (2.28) 其中,Fapf( )X r 為機器人在虛擬力場中所受的合力。 接著,演算法根據機器人當下在虛擬力場中的受力狀態,規劃出下一刻的導 引路徑點,如(2.29)-(2.30)式所示: 1 1 1 1 1 1 cos( ) sin( ) k k con k k k k con k k x v t x y v t y θ θ + + + + + +       = +             (2.29) 其中 1 1 ( ) apf con k k k apf k con k F t v v t θ θ θ θ + +         = +           r (2.30) k xk y 為機器人當下在卡氏座標上的位置,

θ

為機器人的朝向角, v 為機器人的 速度,tcon為系統取樣時間,而Fapf r 和

θ

apf分別為機器人在虛擬力場中所受的合力 向量及其朝向角。 最後,我們根據導引點資訊模擬出想要的機器人狀態,並透過輔助導引策略 [35],在已知當下的機器人狀態、人的推力和指定參考點的情況下,每經過一個 取樣時間,計算出一個合宜的煞車力矩傳到機器人,導引機器人通過每個導引 點,以即時閃避動態障礙物,安全地到達所指定的目標點位置。

(41)

28

2.4 動

動態避障導引演算法之能力推導

態避障導引演算法之能力推導

態避障導引演算法之能力推導

態避障導引演算法之能力推導

在建立被動式動態避障導引系統後,我們希望了解系統所能閃避的動態障礙 物的規格範圍,如大小及速度限制等,以制定其安全範圍,讓使用者能更放心地 信賴機器人的引導。本節將透過物理和數學幾何等概念,在理論上對系統的能力 做推導。 首先,利用碰撞狀態分析的概念,我們可以根據機器人及障礙物的資訊,建 構出一個簡化的模型,如圖 2.12 所示。其中,參數的設定大致與 2.3 節中圖 2.9 相同,只多加相對速度ΔV 與中心連線O Or o uuuuur 的夾角

θ

a及碰撞區域角度的一半為 c

θ

。故我們可利用

θ

a

θ

c的關係,判斷機器人是否進入無可避免碰撞的狀態, 即如果

θ

a

θ

c,則ΔV 在碰撞區內,機器人將與障礙物發生碰撞;反之,如果 a c

θ

θ

,則ΔV 成功離開碰撞區域,避免發生碰撞。 圖 2.12 碰撞狀態證明示意圖 因障礙物在機器人前方 180o範圍內, a

θ

θ

c的角度皆在 0o到 90o 的範圍,

(42)

若我們對兩者分別取餘弦,並考慮避障條件

θ

a

θ

c,可得 2 2 ' 0 cos r o cos r o o 1 a c r o r o O O r V O O V O O O O θ ∆ ⋅ θ − ≤ = ≤ = ≤ ∆ uuuuur uuuuur uuuuur uuuuur (2.31) 將(2.31)式化簡並取平方可得 2 2 2 2 (∆ ⋅V O Or o) ≤ ∆V ⋅(O Or oro' ) uuuuur uuuuur (2.32) 其中, ∆V 為相對速度大小,O Or o uuuuur 為中心連線長度,而ro'為新的障礙物半徑。 故我們以(2.32)式為碰撞狀態分析的判別式,即若滿足此式,則ΔV 可成功離開 碰撞區域,避免發生碰撞。 接著,我們須得知系統對閃避動態障礙物的反應時間 toa,以判斷機器人能 否在反應時間內,改變ΔV 來滿足(2.32)式,以完成閃避任務。為了簡化模型, 本論文先對障礙物及機器人的行為提出幾點假設,如下: 1. 當障礙物中心點進入偵測範圍 ls 時,機器人才開始進行避障; 2. 障礙物維持一定的朝向角,進行速度為 V’的等速運動; 3. 機器人在避障時,速度大小均保持最高速 V,而只做朝向角的改變。 基於以上假設,我們可以依照機器人和障礙物的初始狀態,推算出機器人在 不對障礙物進行閃避的情況下的反應時間 toa’,以(2.33)式表示: 0 0 0 0 ' ' ( ) / r o o oa oa r o r o O O r t t V O O O O − ≥ = ∆ ⋅ uuuuur uuuuur uuuuur (2.33) 其中,toa’可視為 toa的下界,在機器人轉向後,反應時間可能隨之增加。∆V0為 初始相對速度,而O Or o0 uuuuur 和 O Or o0 uuuuur 則分別為初始中心點連線向量及其長度。 在障礙物開始進入偵測範圍時,估測的障礙物半徑會逐漸變化,直到中心點 進入偵測範圍時,半徑才趨於穩定,系統才能做最正確的規劃,故訂定 O Or o0 uuuuur 為

(43)

30 偵測範圍 ls,符合第一假設。再考量系統取樣時間 tcon,則在反應時間內,系統 可控制機器人的次數 k 可用(2.34)所示: ' oa oa con con t t k t t     =     (2.34) 其中,在反應時間很短的情況下,toa會近似於 toa’,故我們可用 k 來表示實際的 避障控制次數。 在進行 k 次控制後,我們利用(2.32)式判斷是否完成避障,如下: 2 2 2 2 (∆V O Okr o k) ≤ ∆Vk ⋅(O Or o kro' ) uuuuuur uuuuuur (2.35) 我們將∆VkO Or o k uuuuur 向量投影到卡氏座標的 x 方向及 y 方向分別討論,可得 2 2 2 2 2 2 (∆VkxO Or o kx+ ∆VkyO Or o ky) ≤ ∆( Vkx + ∆Vky ) (⋅ O Or o kx + O Or o kyro' ) uuuuuur uuuuuur uuuuuur uuuuuur

(2.36) 再將(2.36)式整理後,我們可以將判別式改寫如(2.37)式所示: 2 2 2 2 ' ( ) ( ) o kx ky kx r o ky ky r o kx rV + ∆V ≤ ∆VO O − ∆VO O uuuuuur uuuuuur (2.37) 根據我們對於障礙物及機器人行為的第二和第三假設,可將(2.37)式整理如下: 1 0 0 1 0 0 cos( ) 'cos( ') sin( ) 'sin( ') ( [ cos( ) 'cos( ')] ) ( [ sin( ) 'sin( ')] ) kx k ky k k r o kx r o x i con i k r o ky r o y i con i V V V V V V O O O O V V t O O O O V V t

θ

θ

θ

θ

θ

θ

θ

θ

− = − = ∆ = − ∆ = − = − − = − −

uuuuuur uuuuuuur uuuuuur uuuuuuur (2.38) 其中,為

θ

'障礙物的朝向角,

θ

i為機器人經第 i 次控制後的朝向角。 經由上述推論,在已知障礙物初始狀態(包含半徑,初始位置以及初速)的 情況下,我們可以利用(2.37)式及(2.38)式,以

θ

i為變數,經多次迭代,判斷在 k 次控制內,機器人是否可以離開碰撞區域。

(44)

第三章

第三章

第三章

第三章

系統實現

系統實現

系統實現

系統實現

我們利用本實驗室所開發的被動式行動輔助機器人『i-Go』作為實驗平台, 其外型如圖3.1所示。i-Go為一多功能智慧行動輔助機器人,具有靜態避障、重力 補償、使用者意圖辨識和以被動的方式導引使用者到欲到達的目標位置等功能, 其架構如圖3.2所示。本論文將提升其避障能力以閃避動態障礙物,並結合導引 功能,發展出一套動態避障導引系統。此系統的計算核心是採用戴爾(Dell) Vostro 筆記型電腦,因其計算速度快,且可程式記憶體遠大於一般晶片,此外還可提供 與人互動的人機介面,增加使用者操作上的便利性。藉由第二章所規劃的動態避 障導引演算法,當作控制器的核心,根據i-Go的位置、速度和前方障礙物的距離 及速度資訊,以及使用者的推力資訊,即時計算合宜煞車力矩,達到避障導引的 功效。 i-Go的位置及速度的資訊是透過軸編碼器將資料傳到PIC晶片;人的推力資 訊則是透過兩軸力感應器,經過放大電路和PIC晶片內建10bits AD轉換得到;前 方障礙物的資訊則可透過雷射感測器偵測得知。電腦每經過一個取樣時間,就會 透過RS232擷取PIC晶片上的資料,並整合透過USB傳來的雷射感測器資料,算 出適當的煞車力矩後,傳送給PIC。PIC晶片根據煞車力矩與電壓關係,輸出PWM 電壓訊號,再透過RC充放電,轉換成類比電壓訊號。但因i-Go使用的伺服煞車 器是以電流控制,故我們透過Wonder Box Device Controller將電壓訊號轉換成相 對應的電流訊號,輸入到伺服煞車器,以控制其輸出的煞車力矩。

(45)

32

圖3.1 行動輔助機器人i-Go外觀

(46)

3.1

硬體架構

硬體架構

硬體架構

硬體架構

i-Go 硬體架構如圖 3.3 所示,計算核心是戴爾(Dell) Vostro 筆記型電腦,主 要用來處理演算法和提供與人互動之人機介面。我們用一個兩軸力感應器得到人 向前的推力資訊;透過一個雷射感測器取得障礙物與 i-Go 的距離及其速度資訊; 並在左右兩輪各裝置一顆軸編碼器,以即時得知 i-Go 的位置及速度資訊。 雷射感測器可直接透過 USB 與電腦進行通訊,以即時得到障礙物距離及其 速度資訊。兩軸力感應器和軸編碼器則都是接到同一顆 PIC 晶片進行處理,此外 這顆晶片也負責輸出 PWM 電壓訊號到伺服煞車器端,調變煞車力矩。PIC 晶片 與電腦間則是透過 RS232 進行通訊。

圖 3.3 i-Go 硬體架構圖

(47)

34

3.1.1 周邊控制晶片

周邊控制晶片

周邊控制晶片

周邊控制晶片 PIC18F4520

在周邊控制晶片方面,我們採用由美國Microchip公司所開發的PIC單晶片, 型號是PIC18F4520。其為一款具Harvard架構的8位元單晶片,共有44個接腳,腳 位圖如圖3.4所示,採用精簡指令架構(RISC),共只有75個指令,最高工作時脈 可達40MHz。PIC18F4520的外觀如圖3.5所示,系統架構如圖3.6所示。 圖3.4 PIC18F4520 單晶片微控制器接腳圖[29] 圖 3.5 PIC18F4520 外觀

數據

圖 1.7 Artificial Potential Field 演算法原理示意圖[32]
圖 2.8 動態避障導引系統控制流程圖          首先,我們先利用 Velocity Obstacles 演算法,根據已知的動態障礙物與機器 人資訊,對機器人進行碰撞狀態分析。我們採用的是一個簡化過的模型,如圖 2.9 所示,我們將機器人視為一質量點,落在其質心 O r 的位置上,而障礙物則以 灰色的障礙圓包覆住,並以障礙圓的中心 OC j 和半徑 r o 分別代表其位置及大小。 結合機器人與障礙物的半徑,我們定義出新的障礙圓半徑 r o ’  r '=r +r +b o ooo rrrr oooo
圖 2.11  增加施力點控制示意圖:(a)左轉命令和(b)右轉命令          基於上述討論,我們對(2.24)-(2.25)式進行修正,提出新的引力斥力公式, 如(2.26)-(2.27)式所示:  1 2 ( ) ( ) attT 2 t tFX=k X−Xr                                             (2.26)   011( )1 2 ( )            ( ) ( ) 2 , , , , 0
圖 3.2 i-Go 系統架構圖
+7

參考文獻

相關文件

Kyunghwi Kim and Wonjun Lee, “MBAL: A Mobile Beacon-Assisted Localization Scheme for Wireless Sensor Networks,” The 16th IEEE International Conference on Computer Communications

C., “Robust and Efficient Algorithm for Optical Flow Computation,” Proceeding of IEEE International Conference on Computer Vision, pp. “Determining Optical Flow.” Artificial

Muraoka, “A Real-time Beat Tracking System for Audio Signals,” in Proceedings of International Computer Music Conference, pp. Goto, “A Predominant-F0 Estimation Method for

Shinar, &#34;Effects of an in-vehicle collision avoidance warning system on short- and long-term driving performance,&#34; Human Factors, vol. Abdel-Aty Mohamed, “Investigating

When? Where? What? A Real-Time System for Detecting and Tracking People.’’ Proc. International Conference on Face and Gesture Recognotion, April, pp. Pentland, “Pfinder:

[16] Goto, M., “A Robust Predominant-F0 Estimation Method for Real-time Detection of Melody and Bass Lines in CD Recordings,” Proceedings of the 2000 IEEE International Conference

Jones, &#34;Rapid Object Detection Using a Boosted Cascade of Simple Features,&#34; IEEE Computer Society Conference on Computer Vision and Pattern Recognition,

Kyunghwi Kim and Wonjun Lee, “MBAL: A Mobile Beacon-Assisted Localization Scheme for Wireless Sensor Networks”, the 16th IEEE International Conference on Computer Communications