4.1 模擬
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 演算法略為改善的部分。