3.1 i-go 硬體架構
3.1.3 伺服煞車器
本系統採用RD-2087-01伺服煞車器[21],如圖3.8所示,為LORD公司製作的 旋轉式剎車器,於系統結構中存在一個置於磁黏滯液體中的轉動鋼盤,環型電磁 線圈產生剎車阻尼所需的磁場,磁黏滯液體以剪力方式產生黏滯阻尼力,最大輸 入電流為1.5 A,工作電壓為12-24 Volts,最大輸出力矩4 Nm,經由齒輪比將輸出 力矩放大至後輪為8 Nm,作動反應時間可達10~ 30 ms,由於伺服煞車器輸入控 制訊號為電流,而單晶片PIC18F452輸出為PWM電壓訊號,在伺服煞車器與單晶 片PIC18F452之間,以電壓轉換成電流裝置-Wonder Box Device Controller(圖3.9) 相連結,將控制器PIC18F452所輸出的PWM電壓,經由PWM電壓對RC電路充放 電,轉換成類比電壓後為Wonder Box Device Controller的輸入訊號,然而,經檢 驗時,發現有些許的負載效應,故須對輸出電壓作校正,最後,Wonder Box Device Controller 所輸出對應的電流至伺服煞車器決定輸出的力矩,以控制煞車力大 小。
圖3.8 RD-2087-01 伺服煞車器
圖3.9 Wonder Box 裝置控制器
3.1.4 力感測模組
使用者施力可以藉由兩軸應變規力感應器所測得,感測器如圖3.10 所示,
兩軸力感應器可以量測出人施予i-go 往前的推拉力以及旋轉力矩,透過訊號擷 取卡,如圖3.11 所示。因 PIC 單晶片能接收的電壓訊號範圍只有 0~5V,所以需 要將訊號擷取盒所轉換出的電壓訊號,經過校正模組調整後,再轉換成單晶片所 能接受的電壓值。
圖3.10 兩軸力感應器
圖3.11 兩軸力感應器訊號擷取卡
3.1.5 軸編碼器
行動輔具必須藉由軸編碼器得知輔具位置及速度的資訊,由於伺服煞車器上 並沒有軸編碼器(Encoder),所以必須另外加裝軸編碼器,我們選用Faulhabere 公司所生產的軸編碼器,其型號為HEDS 5500 A,解析度為 500 lpr(Lines per revolution),圖3.12(a)為編碼器實體圖,加裝於伺服煞車器上,如圖3.12(b)所示,
改裝後的編碼器和伺服煞車器外側的轉軸相連接,如圖3.12(c)所示,而伺服煞車 器內側的轉軸是由皮帶輪來帶動行動輔具的後輪,其中,伺服煞車器的皮帶輪和 行動輔具後輪的皮帶輪兩齒輪直徑比為1:2,因此輔具後輪轉一圈,可以達1000 lpr。
(a)軸編碼器實體圖 (b)軸編碼器加裝於伺服煞車器
(c)伺服煞車器、軸編碼器、皮帶輪與後輪配置
圖3.12 (a)軸編碼器實體圖; (b)軸編碼器加裝於伺服煞車器; (c)伺服煞車器、軸編 碼器、皮帶輪與後輪配置
第四章
模擬與實驗分析
本章將針對論文中的導引演算法進行模擬以及實驗,並且對導引的結果進行 探討。我們先用Matlab 模擬,其模擬結果和分析將在 4.1 節呈現;接著,我們實 際運用在i-Go 上,實驗結果和分析將在 4.2 節呈現 。
4.1 模擬結果及分析
在進行實驗前,必須先確定演算法的正確性,以下將會透過 Matlab 進行模 擬來檢驗RHC 導引演算法和停車控制導引演算法之功效。
4.1.1 RHC導引演算法模擬
在模擬前,必需先決定i-Go的內部參數,經過量測可得兩輪之間距離的一半 為0.34公尺,輪子的半徑為0.0635公尺,車體總重約50公斤,而車體對於旋轉中 心的轉動慣量我們估算為8.67公斤-公尺平方。接著,我們設定取樣時間為0.1秒,
因為人的施力不會是完全固定的,所以我們設定人的推力則為10(1+sin0.1)N。模 擬前,必須先定義一條路徑,這條路徑可由Dubins curves演算法設計,我們設定 起始點為[0m, 0m, 90∘]、終點為[6m, 6m, 90∘]及旋轉曲率半徑2m,如圖4.1所 示,此路徑包涵右彎、直線及曲線。然後當我們限制最大速度為0.3m/s,最大角 速度為0.6rad/s,根據以上條件,可以得到模擬結果如圖4.2所示,我們可以發現 輔具的行走軌跡非常接近預設的路徑,但實際上存在些微的誤差,這些誤差皆在
容忍誤差3cm之內,除了精確度達成目標外,還需考慮輸出力是否符合被動限 制,如圖4.2(b)所示,輸出力矩皆為負值,代表煞車力與行走方向相反,符合我 們所假設的條件,圖4.2(c)為輔具的狀態變化,我們可以發現輔具到達終點時,
速度及角速度並非為零,從以上的模擬結果可以得知,RHC導引演算法可以完成 被動式路徑導引,但無法使輔具順利停在終點。
圖4.1 Dubins curve 路徑規劃
(a) 輔具導引軌跡
(b) 剎車力輸出
(c) 輔具的狀態變數: x位置,y位置,朝向角,速度和角速度
圖4.2 RHC導引演算法模擬之(a)軌跡,(b)左右輪剎車力矩,(c)i-Go的狀態變數:x 位置,y位置,朝向角,速度和角速度
4.1.2
停車控制導引演算法
模擬如同RHC 演算法,i-Go 的 4 個內部參數、模擬時的取樣時間、人的推力以 及模擬流程都一樣,只差在路徑規劃及導引演算法的不同,圖4.3 為新的路徑規 劃,從圖中可以得知接近終點時,輔具將會直線前進,此時配合剎車控制將可以 讓輔具平順的停在終點,圖 4.4 顯示模擬結果,由圖 4.4(a)中的模擬結果可以看 出,輔具能確實跟隨新的路徑行進,並且終點誤差小於容忍誤差 3cm 之內,圖 4.4(b)顯示輸出力皆為負值,表示導引演算法能符合被動的限制條件,而圖 4.4(c) 是輔具的狀態變數,由圖中的速度及角速度資訊可以發現,輔具最終能平順的停 止在終點位置,從以上模擬的結果,我們可以確認停車導引演算法能完成被動導 引並停止在終點的工作。
圖4.3 Modified Dubins curve 路徑規劃
(a) 軌跡
(b) 左右輪煞車力矩
(c) 輔具的狀態變數: x 位置,y 位置,朝向角,速度和角速度 圖4.4 停車控制導引演算法模擬之(a)軌跡,(b)左右輪剎車力矩,(c)i-Go的狀態變 數:x位置,y位置,朝向角,速度和角速度
因為過去本實驗室曾經開發過另一套 DF 導引演算法[10],我們希望藉由 4.1.1 節的模擬,在相同的條件之下,將 RHC 導引演算法換成 DF 導引演算法,
結果發現DF 導引演算法也能準確地導引輔具到達終點,但剎車力的震盪幅度大 於RHC 演算法 20%,我們根據輸出力的變異數來判斷輔具的震盪值,另外針對 演算法計算時間進行討論,我們將每一次的計算時間平均,結果RHC 演算法平 均計算時間為0.0028 秒,而 DF 演算法為 0.0046 秒,RHC 演算法能減少約 40%
的計算時間,以上兩點是RHC 演算法相較於 DF 演算法略為改善的部分。
4.2 實驗結果及分析
從以上模擬的結果看來,RHC 導引演算法結合新的路徑規劃方式,能成功 將輔具導引道目標點,但因實際情況跟模擬會有不同,因此我們仍需要將這些演 算法實際在 i-Go 上進行測試以驗證其功效。在實際情況中,其中一個不同是在 於人的推力並不是呈現一個固定的值,根據兩軸力感應器量測到人推力的數據,
一開始人必須施予較大的力去克服最大靜摩擦力,之後才會降下來至某個值上下 穩定地震盪,其二是簡化的數學模型畢竟和實際 i-Go 有些許落差,故接下來就 透過實驗驗證實際情況是否還能如同模擬一樣有效。我們會先從基本S 形路線進 行RHC 導引驗證,接著再以修正後的路徑進行停車控制導引演算法。
另外,實驗參數的設定方面就如同模擬時的設定,i-Go內部4個內部參數:
兩輪之間距離的一半為0.34公尺,輪子的半徑為0.0635公尺,車體總重50公斤,
車體對於旋轉中心的轉動慣量估算為8.67公斤-公尺平方,而取樣時間則設為0.1 秒,我們邀請三名男性受測者進行實驗測試,年齡介於23~28歲。
4.2.1 RHC導引實驗
相較於模擬,實驗時存在一個位置資訊的誤差,這是因為模擬時位置資訊是 由電腦直接計算出來,但實驗實的位置資訊是由軸編碼器所提供的,而軸編碼器 的精確度變的至關重要,因為軸編碼器產生的誤差,導致提供錯誤的位置資訊,
如此一來,造成導引演算法計算出錯誤的剎車力,於是為了避免類似情況發生,
我們在起點(0, 0) 與終點(6, 6) 的位置做標記,使用者由起點出發,直到終點位 置,然後我們根據使用者與終點的差距可以量測出使用者實際的座標位置,比較 軸編碼器提供的座標位置,若是誤差低於3cm,我們就認為軸編碼器提供準確的 位置資訊,藉由以上方法,我們能夠避免軸編碼器所帶來的不良影響。圖4.5 為 實驗場景,我們只在起點與終點以紅點標記,使用者行進時,完全依靠輔具的導 引力前進,路徑中並未有任何標示,主要是希望使用者依照輔具的帶領前進。
(a)左轉導引 (b)直線導引 圖4.5 實驗場景之(a)左轉導引(b)直線導引
(a) 使用者行走軌跡
(b) 左右輪剎車力矩
(c) i-Go 的狀態變數: x 位置,y 位置,朝向角,速度和角速度
(d) 使用者推力
圖4.6 RHC 導引實驗_受測者 A 之(a)軌跡,(b)左右輪剎車力矩,(c)i-Go 的狀 態變數:x 位置,y 位置,朝向角,速度和角速度,和(d)使用者推力
圖4.6 為受測者 A 的實驗數據,由圖 4.6(a)可以發現使用者行走軌跡與預設 的路徑非常貼近,終點誤差小於1 公分,圖 4.6(b)為輸出的剎車力,開始時為右 轉所以右輪輸出力矩大於左輪,而接近終點時為左轉,左輪大於右輪,到達終點 時,剎車力突然增大以告知使用者到達終點。圖4.6(c)為 i-Go 的狀態變數,我們 發現當到達終點時速度才停止,而圖4.6(d)為使用者推力,從起點出發時,為了 克服最大靜摩擦力,使用者必須施予一個較大的推力,而行走中保持約10 牛頓 力之內的上下震盪值。
(a)使用者行走軌跡
(b)左右輪剎車力矩
(c) i-Go 的狀態變數: x 位置,y 位置,朝向角,速度和角速度
(d) 使用者推力
圖4.7 RHC 導引實驗_受測者 B 之(a)軌跡,(b)左右輪剎車力矩,(c)i-Go 的狀 態變數:x 位置,y 位置,朝向角,速度和角速度,和(d)使用者推力
圖4.7 為受測者 B 的實驗數據,如圖 4.7(a)所示,相較於受測者 A 來說,使用者 B 使用輔具時有較大的誤差,而圖 4.7(b)為剎車力輸出,當使用者最後超出終點 時,系統會判定使用者已經到達終點,故會持續輸出較大的剎車力,以提示使用 者目前已經到達目的地了,由圖4.7(c)的速度資訊可知,當超出終點時,輔具 i-Go 依舊有前進的速度,這會造成較大的誤差。
(a)使用者行走軌跡
(b)左右輪剎車力矩
(c)i-Go 的狀態變數: x 位置,y 位置,朝向角,速度和角速度
(d)使用者推力
圖4.8 RHC 導引實驗_受測者 C 之(a)軌跡,(b)左右輪剎車力矩,(c)i-Go 的狀 態變數:x 位置,y 位置,朝向角,速度和角速度,和(d)使用者推力