• 沒有找到結果。

最速下降法

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

第三章 數值方法

3.1 最速下降法

3-1 最速下降法

最速下降法最速下降法最速下降法((((Steepest Descent Method))))

最速下降法能求出g:RnR之多變數函數的局部(local)極小值,

R

Rn → 之函數的極小化與非線性方程組之間的關係由以下的式子說明:

0 ) , , , ( 1 2

1 n =

f θ θ Lθ 0 ) , , , ( 1 2

2 n =

f θ θ Lθ M

0 ) , , ,

( 1 2 n =

fn θ θ Lθ

其解為 θ =(θ12,Ln)T 上標 T 表示轉置矩陣

假設五軸機械手臂夾爪端點的位置及姿態為已知,且其機械手臂末

M

方向 v 的方向導數定義為 ( ) ( ) ( )

)

n

3-2 牛頓

牛頓牛頓牛頓法法法(法(((Newton’s Method))))

若目標點的座標位置,不考慮姿態,其目標函數的建立採用(3.3)

3-3 結果比較

結果比較結果比較 結果比較

本研究所指之五軸機械手臂如圖 3-2 所示,因尚未命名,故暫以五 軸機械手臂稱之,其逆向運動學分別利用最速下降法、牛頓法以及數學 計算軟體 MATLAB 7.2 版的內建指令”fminsearch”(數值方法為 ”Nelder Mead simplex direct search”)等三種數值方法進行運算,並對其結果做 比較分析。

圖 3-2 五軸機械手臂實體圖 圖 3-3 五軸機械手臂參數位置

3-3-1 五軸機械手臂於正向運動學的初始條件

首先依 D-H 規則繪製五軸機械手臂的座標系,如圖 3-4 所示,並將

d

1

a

2

a

3

d

5

其相關參數值列表於表 3-1、表 3-2 與表 3-3。在表 3-1 中,di表連桿間距,

包括 d1、d5;ai表連桿長度,包括 a2、a3,其數值大小均列於表 3-2 中,

其位置如圖 3-3,其中 d1數值包括固定底座高度 190mm 及旋轉軸高度 207mm,而 d5數值並未包含端效器長度;θi表關節轉角,包括 θ15,其 中 θ4屬非零相位,因 i3軸需對 k3軸旋轉

2

π 才能與 i4軸平行;αi表旋轉角,

其中 α1指 k0軸繞 i1軸旋轉

2

π 後與 k1軸平行,α4指 k3軸繞 i4軸旋轉

2 π後 與 k4軸平行。有關 θi的可動建議範圍列於表 3-3。

圖 3-4 五軸機械手臂座標設置圖

θ

2

θ

1

θ

3

θ

4

θ

5

k

0

k

1

k

2

k

3

k

4

k

5

i

0

i

1

i

2

i

3

i

4

i

5

j

0

j

1

j

2

j

3

j

4

j

5

d

1

d

5

a

2

a

3

表 3-1 五軸機器人 D-H 參數表

表 3-2 五軸機器人參數值

d1 a2 a3 d5

397mm 210mm 115mm 160mm

表 3-3 五軸機器人各關節角建議可動範圍

θ1 θ2 θ3 θ4 θ5

-90o~90o 0o~90o 0o~-90o -90o~90o -90o~90o

首先從五軸機械手臂的正向運動學著手,在輸入各軸關節轉角部 份,分成六組不同的數據,透過正向運動學的運算(電腦程式 fiveaxis.m),

可獲得六組輸出的位姿矩陣,其相關之數據將列於表 3-4、表 3-5、表 3-6、

表 3-7、表 3-8 及表 3-9。而正向運動學的轉換矩陣計算如下:

Link Offset di Joint Angle θi Link Length ai Twist Angle αi

1 d1 θ1 0 π/2

2 0 θ

2 a2 0

3 0 θ3 a3 0

4 0 θ4+π/2 0 π/2

5 d5 θ5 0 0

1

4

[

表 3-4 第一組輸入、輸出數據

第一組輸入的各軸關節轉角

θ1 θ2 θ3 θ4 θ5

π/6 π/3 -π/4 -π/6 π/2

第一組輸出的手爪端效器位姿矩陣

0.5 -0.2241438680 0.8365163037 320.9746509253

-0.8660254038 -0.1294095226 0.4829629131 185.3148011147

0 -0.9659258263 -0.2588190451 567.2184777651

0 0 0 1

表 3-5 第二組輸入、輸出數據

第二組輸入的各軸關節轉角

θ1 θ2 θ3 θ4 θ5

0 π/2 -π/4 -π/4 π/6

第二組輸出的手爪端效器位姿矩陣

0 0 1 241.3172798365

-0.5 -0.8660254038 0 0 0.8660254038 -0.5 0 688.3172798365

0 0 0 1

表 3-6 第三組輸入、輸出數據

第三組輸入的各軸關節轉角

θ1 θ2 θ3 θ4 θ5

-π/6 5π/12 -π/6 5π/12 0 第三組輸出的手爪端效器位姿矩陣

-0.75 -0.5 -0.4330127019 48.2110100911 0.4330127019 -0.8660254038 0.25 -27.8346396540

-0.5 0 0.8660254038 819.7257679627

0 0 0 1

表 3-7 第四組輸入、輸出數據

第四組輸入的各軸關節轉角

θ1 θ2 θ3 θ4 θ5

-π/8 π/6 -π/12 π/6 π/2 第四組輸出的手爪端效器位姿矩陣

-0.3826834324 0.6532814824 0.6532814824 375.1725942760

-0.9238795325 -0.2705980501 -0.2705980501 -155.4015767798 0 -0.7071067812 0.7071067812 644.9012751766

表 3-8 第五組輸入、輸出數據

第五組輸入的各軸關節轉角

θ1 θ2 θ3 θ4 θ5

π/4 π/4 -π/8 0 -π/2

第五組輸出的手爪端效器位姿矩陣

-0.7071067812 -0.2705980501 0.6532814824 284.6524076705 0.7071067812 -0.2705980501 0.6532814824 284.6524076705 0 0.9238795325 0.3826834324 650.7303679496

0 0 0 1

表 3-9 第六組輸入、輸出數據

第六組輸入的各軸關節轉角

θ1 θ2 θ3 θ4 θ5

-π/12 π/12 -π/3 π/3 -π/6 第六組輸出的手爪端效器位姿矩陣

-0.0870968284 -0.3491438680 0.9330127019 423.7611604177

0.5409756150 -0.8030226547 -0.25 -113.5464607176 0.8365163037 0.4829629131 0.2588190451 411.4457668515

0 0 0 1

3-3-2 五軸機械手臂於逆向運動學的初始條件 就五軸機械手臂的目標設定先分成兩大部分:

第一部份:將端效器視為質點,無需考慮其姿態,僅就空間位置作討論。

第二部份:將姿態與空間位置一併考慮,再區分為甲、乙兩類型:

甲類:不考慮關節角轉向限制及可動範圍(電腦程式 fiveposeall.m)

乙類:考慮關節角轉向限制及可動範圍(電腦程式 fivepall.m)

每一個部份再以關節轉角初始值的誤差大小分成四個階段:

第一階段:初始值有小於 1 度的誤差。

第二階段:初始值有 5~10 度的誤差。

第三階段:初始值有 15~30 度的誤差。

第四階段:初始值均設為零。

每一階段再細分成六組不同數據的初始值,詳見表 3-10。在各比較 表中每一組均有預期轉角,即為前一節正向運動學所輸入的各軸關節轉 角。較細部的比較架構見圖 3-5。

在最速下降法中的線段搜尋參數 α,其決定方式在第一部分使用了 牛頓二次及三次內插多項式分別比較,並以最速下降法(1)及最速下降法 (2) 表 示 之 , 見 表 3-11 ~ 3-13 ; 最 後 挑 選 誤 差 較 小 者 與 牛 頓 法 及”fminsearch”做比較,見表 3-14~3-17(電腦程式 fiveall.m,副程式 efall.m)。在第二部分最速下降法採用了牛頓三次內插多項式決定參數

以最速下降法(4)表示之(電腦程式 fiveposedes24.m),第二次的修正是將 空間位置座標化為單位向量,以最速下降法(5)表示之,並將修正前後分 別在三個階段中做比較,見表 3-18~3-20,最後挑選出誤差值較小者與 牛頓法及”fminsearch”依目標函數的不同分三個層級四個階段做比較。

(第二部份的電腦副程式均為 efp200.m)

第一層級:目標函數使用四個姿態元素及三個位置元素。甲類型見表 3-21~3-24、乙類型見表 3-33~3-36。

第二層級:目標函數使用六個姿態元素及三個位置元素。甲類型見表 3-25~3-28、乙類型見表 3-37~3-40。

第三層級:目標函數使用九個姿態元素及三個位置元素。甲類型見表 3-29~3-32、乙類型見表 3-41~3-44。

圖 3-5 各數值方法比較架構圖

逆向運動學

fminsearch 最速下降法 牛頓法

牛頓三次 內插多項式 第一次修正 修正前

空間位姿 空間位置

第二次修正

7 個函數的 目標函數

9 個函數的 目標函數

12 個函數的 目標函數

牛頓二次 內插多項式

有 0~1 度的誤差 有 5~10 度的誤差 有 15~30 度的誤差

第三組數據 第二組數據

第一組數據 第四組數據 第五組數據 第六組數據

初值均設為 0 空間位姿及轉向限制

表 3-10 逆向運動學各關節轉角初始猜測值總表 第二部份

第一部份 各關節轉角

組別及階段別

θ1 θ2 θ3 θ4 θ5 第一階段 0.52 1.04 -0.79 -0.52 1.57 第二階段 35o 50o -35o -35o 80o 第一組

第三階段 15o 30o -60o -15o 75o 第一階段 0 1.57 -0.79 -0.79 0.52 第二階段 -10o 80o -40o -50o 40o 第二組

第三階段 15o 60o -30o -60o 60o 第一階段 -0.52 1.31 -0.52 1.31 0 第二階段 -40o 80o -40o 70o -10o 第三組

第三階段 -45o 60o -45o 60o 30o 第一階段 -0.39 0.52 -0.26 0.52 1.57 第二階段 -30o 20o -10o 40o 80o 第四組

第三階段 0o 45o -30o 60o 60o 第一階段 0.79 0.79 -0.39 0 -1.57 第二階段 40o 50o -30o -10o -80o 第五組

第三階段 60o 60o -45o 30o -60o 第一階段 -0.26 0.26 -1.04 1.04 -0.52 第二階段 -5o 10o -50o 50o -40o 第六組

第三階段 0o 30o -30o 45o -15o

3-3-3 改善對策與結果比較

單從最速下降法(3)中,不難發現所得的結果其誤差值偏高,其主要 的原因及改善的方式敘述如下:

(一)、在 4×4 的矩陣中,除第四列不予考慮外,共有十二個元素,包 括 3×3 姿態矩陣及 3×1 的位置矩陣,因此可列十二個方程組,

再以最小平方法(the least square method)設定此十二個方程組 的目標函數。

(二)、就本文所論述之五軸機器人,θ5 為爪端的旋轉角,當θ1 與θ5 旋轉軸相互平行會有退化情形,見圖 3-6,只要θ5 的旋轉軸向 不與θ1的旋轉軸向平行,θ5與θ1可視為獨立的旋轉軸,因為 與θ24的旋轉軸均不相同,由於θ5僅影響機械手臂的姿態,

並不影響位置座標,故可先從姿態矩陣中求出θ5,而θ14的 組合可能有許多種,故僅選取θ5的收斂值為其解。

(三)、θ5 的角度一經確定,θ1 的方向就可以確定,就像圓周上任一 點的切線方向或徑向均不同,一旦切線方向確認後,圓心至切 點的方向就能確認,此方向便是θ1 的方向,不過此方向有正負 之分,只要初始猜測值不要偏離期望值太遠,應不致發生收斂 至反方向而導致發散的情形,若將各軸轉向及可動範圍的限制 條件一併考慮,則發散的情形會有顯著的改善,由於θ1 的轉動 範圍一旦被限制,θ1 便不會出現收斂至反方向的情形,而θ3 的轉向一旦被限制,則不致產生多重解(Multiple Solutions)的情

形,因此僅需對θ1及θ3作限制即可。

(四)、若機械手臂呈鉛垂的一直線時,如圖 3-6 所示,θ1 與θ5 會是 同一旋轉軸向,如此會發生退化(degeneracy)現象,或是在某 些位置會發生空間位置可收斂,姿態卻無法收歛至期望值的情 況,這些位置被稱為不敏捷空間(nondexterous volume),上述 情形均應避免。

圖 3-6 五軸機械手臂退化位置

(五)、在 3×3 的姿態矩陣中,第一行至第三行分別表示爪端的 n、o、a 三個姿態單位向量,且 n、o、a 符合直角座標系的右手定則 (right-hand rule),故僅需知任兩個姿態向量,另一個可利用外 積(cross product)求出,因此第一行至第三行只需利用到其中 兩行,至於使用哪兩行,對結果而言並無顯著差異。另外由於 目標函數使用最小平方法概念,n、o、a 又屬單位向量,故任一

素求得,因此任一單位向量僅需使用其中兩個元素即可,是故 目標函數最少會用到四個姿態元素及三個位置元素,雖然簡化 了目標函數可提升運算效能,但是否可顧及精度要求,將在稍 後做比較。

(六)、由於θ24 的旋轉軸向是相同的,若初始值的位置不是很接近 期望位置,則其收斂組合會有很多種,甚至無法收歛的情況也 會發生,探究其原因,主要是因為目標位置的座標數值之絕對 值遠高於姿態矩陣中的元素,由於姿態是單位向量其數值相對於 位置座標顯的微不足道,而影響位置座標的θ角為θ1 至θ4, θ5並不影響位置座標僅影響姿態正所謂:「失之毫釐,差之千 里」,由於目標函數是採用最小平方法,所以θ24會儘可能配 合空間位置的誤差使其最小,如此必會犧牲姿態矩陣的數值精度 而導致遷就空間位置的情形,同時θ5也會受到影響。

(七)、為減低空間位置座標在目標函數中所產生的巨大影響,必須使 空間位置座標中的數值減小,由於姿態矩陣使用的是單位向量,

若將位置座標亦化為單位向量,相信θ24 必能收斂到較恰當 的值,因此需設定兩種目標函數,其一為位置座標維持原數值,

用以計算誤差值;另一為位置座標已化為單位向量,用以計算 θ24 的值。由此可知,機械手臂的軸長愈大,其旋轉角度就 需愈精確,否則誤差值會隨之擴大。

表 3-11 最速下降法中牛頓二次與三次內插多項式比較表(一)

表 3-12 最速下降法中牛頓二次與三次內插多項式比較表(二)

表 3-13 最速下降法中牛頓二次與三次內插多項式比較表(三)

最速下降法(1) -22.5000 35.7496 -24.3114 28.3555 2576 9.977940E-06 最速下降法(2) -22.5000 35.7496 -24.3113 28.3556 2574 9.950809E-06 第

四 組

預期轉角 -22.5 30 -15 30 -

初始猜測角 60 60 -45 30 -

最速下降法(1) 45.0000 40.6362 -28.0577 22.4872 2375 9.957892E-06 最速下降法(2) 45.0000 40.6361 -28.0576 22.4876 2374 9.966123E-06 第

表 3-14 三種數值方法比較表第一部份第一階段 fminsearch 30.0000 59.9580 -44.8105 -30.2250 118 7.839758E-06 第 fminsearch -0.0003 89.9278 -44.7420 -45.2801 133 7.557437E-06 第 fminsearch -30.0000 75.0770 -30.1797 75.0503 107 6.717152E-06 第 fminsearch -22.5000 29.9926 -14.9855 29.9980 112 7.796080E-06 第 fminsearch 45.0000 45.0000 -22.5057 0.0097 122 8.690619E-06 第 fminsearch -15.0000 14.9776 -59.9776 60.0294 105 7.184042E-06 第

六 組

預期轉角 -15 15 -60 60 -

※牛頓法無論在收斂速度及精度上均處於優勢

表 3-15 三種數值方法比較表第一部份第二階段

表 3-15 三種數值方法比較表第一部份第二階段

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

相關文件