• 沒有找到結果。

數據分析與討論

在文檔中 五軸機器人之運動學分析 (頁 94-0)

第三章 數值方法

3.2 牛頓法

3.3.4 數據分析與討論

由表 3-11~3-13 得知,在最速下降法中的線段搜尋參數α,其決定 方式分別使用牛頓二次與牛頓三次內插多項式,兩相比較的結果並無顯 著之差異,雖然都能收斂至容差範圍內,但有多組數據是收斂至多重解,

這樣的結果並不意外,因為機械手臂要達到相同的位置,其各關節角確 實有多種可能的組合。

由表 3-14~3-17 得知,三種數值方法的比較共區分成四個階段,每 個階段又分成六組數據做比較,故每一種方法都有二十四個結果,其收 斂情形已整理如下表。

表 3-45 三種數值方法於空間位置收斂情形一覽表 收斂情形

比率 數值方法

收斂接近

期待位置 收斂至多重解 發散 最速下降法 6/24 18/24 0

牛頓法 7/24 11/24 6/24

“fminsearch” 6/24 18/24 0

牛頓法的發散情形均發生在初始值為零時,其原因乃機械臂進入奇 異區域(singularity region)產生奇異矩陣(singular matrix)造成演算錯 誤的結果,因此牛頓法的使用確實存在著奇異區域的風險性,至於如何

“fminsearch”大多會收斂至多重解,兩者表現並無顯著差異。因此若在 初始值誤差過大的情況下,可將最速下降法或“fminsearch”所演算的結果 當做牛頓法的初值,可改善牛頓法的發散情形。

(二)、考慮空間位置及姿態

表 3-18~3-20 主要針對最速下降法的演算方式做了兩次重要修正,

期使結果更為精確。第一次修正是對θ1、θ5 作獨立運算;第二次修正 是化位置座標為單位向量,其目的是為了改善θ2~θ4 的值,並且在初 始值誤差較大時,其改善的情形也愈顯著,結果也很接近期待值。

表 3-21~3-32 是將修正後的最速下降法與牛頓法及”fminsearch”三種 方法做比較,三種數值方法的比較共區分成三個層級,每個層級再分成 四個階段,每個階段又分成六組數據做比較,故每一種方法都有七十二 個結果,其收斂情形已整理如下表 3-46:

表 3-46 三種數值方法於空間姿態收斂情形一覽表

層級 第一層級 第二層級 第三層級

收斂情形

比率 數值方法

收斂 姿態

發散 發散 收斂 姿態

發散 發散 收斂 姿態

發散 發散 最速下降法 18/24 6/24 0 18/24 6/24 0 18/24 6/24 0

牛頓法 18/24 5/24 1/24 20/24 4/24 0 21/24 3/24 0

“fminsearch” 17/24 5/24 2/24 19/24 5/24 0 20/24 2/24 2/24

θ2 θ3

θ4

θ5

θ2 θ3

θ4

θ5

就姿態發散部分可能會有三種情形,第一種情形是得到另一組的關 節角組合,雖與原期待關節角不符,但仍可達到相同的位置及姿態,這 種情形可視同收斂,如圖例 3-7 (a)、(b)所示,由於本實驗所使用之五軸 機械手臂,因其關節角θ2 及θ3 可利用轉向限制,以避免出現圖例 3-7 所生之多重解問題;第二種情形是得到θ1 或θ5 與期待轉角差一個負 號,這樣的結果雖然可在目標函數中得到容差值,但其實際的姿態並不 正確,某些姿態元素也會差一個負號,因此將其視為發散;第三種情形 是θ2~θ4,某些角度會與期待轉角差一個負號,主因是未加入關節角的 轉向限制所造成,這種情形會導致部分姿態元素值誤差變大,故其收斂 精度會變差,甚至發散。

(a)

(b)

圖 3-7 多重解圖例

層級的區分原本是為了觀察最速下降法的演算方式在經過簡化後所 產生的差異而發展出來的,並非針對牛頓法及”fminsearch”所設計,為了 要瞭解層級對所有的方法是否產生影響,於是做出了表 3-21~3-32 來加 以比較。

在各層級各階段均有不錯的收斂精度,由表 3-46 發現最速下降法的演算 結果相當穩定,幾乎不受層級差異的影響,其缺點是收斂速度比較慢。

牛頓法在第一層級的第四階段完全無法收歛,可見牛頓法在初值誤 差過大且受目標函數簡化的雙重影響下,便顯得「英雄無用武之地」了,

在第二層級發散情形已有明顯的改善,剩四組數據姿態發散,到了第三 層級僅剩三組數據姿態發散,收斂情形表現最佳,由此可見牛頓法受層 級的影響相當明顯,但並不會因此掩蓋了牛頓法收斂速度快及收斂精度 佳的優點。

”fminsearch”也深受層級的影響,第二層級的收斂情形已優於最速下 降法,到了第三層級,已有二十組數據收斂,且其平均收歛速度優於最 速下降法,收斂精度亦具有一定水準,而其演算速度是三者之中最快速 的。

(三)、考慮空間位置及姿態並加入轉向及可動範圍限制

由表 3-33~3-44 得知,三種數值方法在加入轉向及可動範圍限制後,

均能收斂至容差範圍,已無發散之情形,而各關節角的收斂值以牛頓法 最接近期待位置,其次為最速下降法,”fminsearch”表現稍差。由於目標 函數是採用最小平方法,因此收斂值可能會差一個負號,而轉向及可動 範圍的限制條件加入運算後,可大幅減少收斂至反方向的情形。

總括而論,上述三種方法在初值偏離閉合解(closed form solutions)

太遠時,會有收斂困難的情形,而產生姿態發散的原因,除初值問題外,

還有目標函數的影響是很重要的因素,由於目標函數採最小平方法,因 此在姿態元素中會有正負值的誤差,此誤差可利用關節角的轉向及可動 範圍限制而加以改善。是故無論演算方法如何,使用在商業用途的機器 人,仍需藉助一些硬體感測器及運算處理器以尋求更精準及快速的定位。

第第

第第四四四四章章章章 實例驗證實例驗證實例驗證實例驗證

本章節主要的目的在於利用前述之正向運動學所計算之結果,透 過 Java 程式來控制 Robix Rascal Robot 的運動,藉以驗證 Robix Rascal Robot 在實際運動中是否能到達所預測的位置,並利用數值方法驗證 其逆向運動學之各關節角是否符合預測值。

另外透過 Robix Usbor 的程式介面製作了兩個趣味的實例-機械 手臂推扶骨牌及彈奏電子琴,使得機器人的運用有了更多的想像空 間。

4-1

誤差誤差誤差誤差調調調調校與校與校與校與實例製作實例製作實例製作實例製作

在機械手臂部份包括了彎矩所生的誤差、機件本身的誤差、裝配 所生的誤差與伺服馬達的旋轉誤差,其中前兩項的結構誤差不大,不 致影響實驗目的,而裝配誤差已略作修正,伺服馬達的旋轉誤差可藉 由程式作修正。

由於 Robix Rascal Robot 有六個伺服馬達,除第六個控制夾爪的 伺服馬達未使用外,其餘五個伺服馬達均作了調校,首先是轉向部 份,每一個伺服馬達均作了反向調整(其指令語法是:invert all on;),

其次是伺服馬達的旋轉角部份,然而 Robix Usbor 的程式介面其伺服 馬達的旋轉角是以 pulse 為單位,並非是六十分制的角度或弧度,因 此須先了解 pulse 與角度的對應關係,因為受限於機構的安裝位置,

每一個伺服馬達所能移動的最大與最小的 pulse 範圍稍有差異,最初 值先設定正負 2000 pulse 為其極限範圍,再依個別差異作調校,現以

正負 90o作為伺服馬達調校之上下限,其調校範圍設定如下表:

表 4-1 伺服馬達位置調校對應數值 Servo 編號

調校類別 Servo 1 Servo 2 Servo 3 Servo 4 Servo 5

起始位置 initpos 0 0 0 -320 -30

90o對應 pulse 1800 1800 1530 1470 1500

-90o對應 pulse -1800 -1680 -1550 -1945 -1600

各伺服馬達的配置如下圖:

圖 4-1 Robix Rascal Robot 伺服馬達配置圖

本實驗規劃了三組關節角藉以驗證 Robix Rascal Robot 的位移趨 Servo 2 Servo 1

Servo 3 Servo 4

Servo 5 Servo 6

表 4-2 關節角各組實驗數據 各關節角

實驗組別 θ1 θ2 θ3 θ4 θ5

第一組 90o -90o 90o 90o 90o

第二組 0 90o 90o -90o -90o

第三組 -90o -90o -90o -90o 0

將上表數據利用正向運動學(電腦程式 robix.java)計算所得姿態與空 間座標位置如下:

預測第一組姿態位置矩陣=

0 0 1 203

1 0 0 95

0 1 0 185

0 0 0 1

 

 

− 

 − 

 

 

圖 4-2 預測第一組姿態位置示意圖 θ1

θ3 θ2

θ4

θ5

j0 k2

i0

k1 k3

k5

j5 i5

128

95 95 57 108

為了使機械手臂的動作更加明確並減少移動時所產生的振動,在 伺服馬達的控制上,必須做個別的移動,亦即一次僅驅動一個伺服馬 達,並將所有的伺服馬達其最大速度值限定在 10 以下,每一次動作 完畢後間隔 4 秒後再進行下一個動作,當需要回到初始位置時,應避 免使用 restart 指令(快速回到起始位置),可用 move all to initpos 指 令取代,以免產生過大的振動及危險。

以下為 Robix Rascal Robot 完成第一組姿態位置的分解動作圖片

a. 起始位置 b. 動作一

c. 動作二 d. 動作三

i0

k0

j0

i0

i0 j0

j0 k0

i0

k0

i0 k0

預測第二組姿態位置=

1 0 0 95

0 0 1 13

0 1 0 185

0 0 0 1

− 

 

− −

 

 − 

 

 

圖 4-3 預測第二組姿態位置示意圖

有些動作並非一成不變依照連桿順序完成,有時要顧慮到在動作 的過程中是否發生撞擊,例如在第二組的姿態位置完成圖中,由於夾 爪的位置很接近連桿 3,為了避免θ4 旋轉完成後再旋轉θ5,會產生 干涉撞擊,因此將兩者的動作順序交換;另外當所有動作完成後,機 械手臂會回到起始位置準備進行下一組的動作,由於這個動作路徑會 使夾爪再度發生撞擊,所以必須將夾爪位置提升後再使機械手臂回到 起始位置。從以上的情形可以了解到機械手臂的每一個動作都需要經 過謹慎的思考與安排,才不致因錯誤的動作招來損失及發生危險。

k1

θ1 95

θ3 θ2

θ4

θ5

j0

i0 k3

k2 k5

j5 i5

128

95 57 108

以下為 Robix Rascal Robot 完成第二組姿態位置的分解動作圖片

a. 起始位置 b. 動作一

c. 動作二 d. 動作三

i0

k0

i0 j0

j0 k0

j0 k0

i0 k0

j0

i0

預測第三組姿態位置=

0 0 1 203

0 1 0 95

1 0 0 71

0 0 0 1

− −

 

 

 − 

 

 

 

圖 4-4 預測第三組姿態位置示意圖

在第三組的姿態位置完成圖中,若依θ1~θ5 的順序進行動作,

將會發生撞擊工作桌面的情形,其發生的原因與前述第二組實驗的情 況並不相同,主要是機械手臂的移動超越了工作空間(workspace)的 環境限制所造成,要改善這種情形可經由改變工作空間的環境限制或 改變動作順序,本組的問題發生在當θ3 的動作進行時,會因連桿 4 及 5 的長度總和超過連桿 1 的高度而撞及桌面,因此必須先行旋轉θ 4 後再旋轉θ3,畢竟一般情況下改變動作順序比改變工作空間的環境 限制要經濟許多。從以上的情形可以得知機械手臂除了自身的干涉撞 擊外,尚需考量工作空間的環境限制問題,如此不難發現理論與實務 的結合確實需要再經過某種程度的修正。

將會發生撞擊工作桌面的情形,其發生的原因與前述第二組實驗的情 況並不相同,主要是機械手臂的移動超越了工作空間(workspace)的 環境限制所造成,要改善這種情形可經由改變工作空間的環境限制或 改變動作順序,本組的問題發生在當θ3 的動作進行時,會因連桿 4 及 5 的長度總和超過連桿 1 的高度而撞及桌面,因此必須先行旋轉θ 4 後再旋轉θ3,畢竟一般情況下改變動作順序比改變工作空間的環境 限制要經濟許多。從以上的情形可以得知機械手臂除了自身的干涉撞 擊外,尚需考量工作空間的環境限制問題,如此不難發現理論與實務 的結合確實需要再經過某種程度的修正。

在文檔中 五軸機器人之運動學分析 (頁 94-0)

相關文件