第四章 機器人之手/眼協調控制策略
4.5 手/眼協調控制之架構與實驗
本計畫所建構的人形機器人,其手/眼協調控制架構如圖 4.5 所示。
Inversed FSMC SOIM
Grey Predictor Spatial Representation of Target It
Desired Point on the Image plane
SOIM
Desired Error
∆Id
∆I +
-+ +
Image Capture Image Processing (ball feature)
Image Capture
Image Processing (paddle feature) FSMC
-+
SOIM
Kohonen Network
∆I-∆Id ∆P Inverse Kinematic
θ
∆
Spatial Representation of Target Ir
Id
+
-圖 4.5 機器人手眼協調控制架構
SOIM 網路學習的方法,是將一個橙色的乒乓球以線懸至於雙眼機械頭的正前方 當作雙眼機械頭的目標物,目標物被攝影機擷的影像取經過影像處理後可得到其形心 在影像平面的座標,影像平面的大小設為360 240(
× pixels
)2
,而雙眼機械頭關節角度 則是由 Encoder 回授得到。SOIM 網路訓練資料(Training Data)的產生,是讓雙眼機械 頭的第一、二、三及四軸保持固定,透過第五、六、七軸在限制範圍內做 9000 次的 隨機轉動,其各轉動範圍如表 4 所示,並且記錄下每一次目標物的影像座標及雙眼機 械頭的關節角度,作為 SOIM 網路學習的訓練資料。至於 SOIM 網路的參數設定,警 戒參數(Vigilance Parameter)ρ L = ρ R =
0.88,學習速率γ = 0.25
,參數α = 0.002
。左、右眼攝影機的影像資訊透過模糊適應共振理論網路分類後,目標物空間表示式之變化 量對學習次數的關係,則如圖 4.6 所示。根據學習的結果,空間表示式
I
之三個分量 皆收斂至0.03
左右。表 4.1 雙眼機械頭於 SOIM 網路學習過程中各軸轉動範圍 第五軸 第六軸 第七軸
轉動範圍 ±8
o
±7.0o
±7.0o
0 2000 4000 6000 8000
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16
Learning Trials
Error in I5
0 2000 4000 6000 8000
0 0.05 0.1 0.15 0.2 0.25
Learning Trials
Error in I6
0 2000 4000 6000 8000
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14
Learning Trials
Error in I7
圖 4.6 空間表示式
I I I 誤差圖 5
,6
,7
柯漢寧類神經網路在學習之前,必須先確認工作空間大小,以便決定隨機產生 的目標點範圍。在系統整合的條件下,機械手臂可到達的範圍與影像系統的可觀測空 間,決定了類神經網路的工作空間。本研究的工作空間為 X:400mm × Y:300mm × Z:300mm 的區域,於此範圍內,機械手臂均可引導球拍進入雙眼機械頭之左右兩眼 的可觀測範圍中。圖 4.7 顯示表示柯漢寧類神經網路的學習誤差曲線。由圖中可發現 其曲線變動在開始學習時變動的非常劇烈,經過了若干次的學習後才慢慢的平緩。
類神經網路的神經元權值是用來和由 SOIM 逆向映射求得之三個空間表示式及 機械手臂之球拍面現在空間位置進行 Euclidean Norm 之計算,以計算出最接近的權值 並令其對應的神經元為優勝神經元。此神經元權值可表示三個空間表示式及機械手臂 之球拍面空間位置,也就是說每一個神經元具有六維權值向量。
由於神經元權值初始化時均假設沒有事前的資訊可供參考,所以這裡是先將權 值以均勻分佈(Uniform Distribution)於三個空間表示式的區間[0,1]及工作空間 [-200,200,-150,150,-150,150]。在學習階段中,隨著學習次數的增加,神經元參數的調 整幅度也會慢慢的減小,所以權值分佈也會漸趨成型。圖 4.8、圖 4.9 分別表示神經 元權值初始化與 5000 次訓練後的分佈情形。
0 200 400 600 800 1000 1200 1400 1600 1800 2000
0
Learning Process (x10 Steps)
Error (mm)
Learning Trajectory of 8x8x8 Neuron Setting
圖 4.7 柯漢寧類神經網路之學習誤差曲線
Initial situation
0 0.2 0.4 0.6 0.8 1
Initial situation
0 0.2 0.4 0.6 0.8 1
After 5000 learning steps
0 0.2 0.4 0.6 0.8 1
After 5000 learning steps
-200 -100 0 100 200 -150
-100 -50 0 50 100 150
Pxr Pyr
Initial situation
-150 -100 -50 0 50 100 150
-150 -100 -50 0 50 100 150
Pyr Pzr
Initial situation
-200 -100 0 100 200
-150 -100 -50 0 50 100 150
Pxr Pyr
After 5000 learning steps
-150 -100 -50 0 50 100
-150 -100 -50 0 50 100 150
Pyr Pzr
After 5000 learning steps
圖 4.9 神經元之機器手臂之球拍面空間位置的初始及 5000 次學習後之權值分布 手/眼協調追蹤實驗是利用前述所學習的 SOIM 網路作為視覺追蹤控制器,以雙 眼機械頭追蹤空間中一個未經軌跡規劃的移動目標物,如果雙眼機械頭能夠成功地追 蹤此一目標物,則目標物會成像在左右兩個影像平面的一個固定區域內,並透過前述 之訓練後的柯漢寧類神經網路,來導引機械臂至目標物所在位置,而整個影像處理的 取樣時間為 0.0167 秒。實驗中設定目標物在左右兩個影像平面上的期望座標皆為
(180,120) 。
以下將分為對靜止目標物及移動目標物做手/眼協調追蹤測試。
(1) 靜止目標物
將一個橙色的乒乓球以線懸至於雙眼機械頭的正前方大約 0.5 公尺的地方做為 靜止目標物,透過雙眼機械頭和影像處理系統對於目標物及機械手臂上之球拍擷取影 像資訊,並經由 SOIM 類神經網路分別求得兩者的空間表示式,再透過訓練完之柯漢 寧類神經網路求得機械手臂上之球拍位置變化,驅動機械手臂至目標物所在位置。本 實驗中取∆ =
I i d
0.2 (i
=5, 6, 7)(空間誤差約為 50mm),∆ 不為零是因為要讓機械手I i d
臂上之球拍中心與球保持一定距離來進行追蹤。實驗中機械頭先鎖定目標物,再驅動 機械手臂至目標物位置。圖 4.10(a)為左、右影像平面上球與機械手臂之球拍中心之影 像變化,圖 4.10(b)為 I∆ 對時間之變化圖。對於靜態目標物而言,雙眼機械頭可以很 快鎖定目標物,並驅動機械手臂至目標物位置。
0 50 100 150 200 250 300 350
0
50
100
150
200
u-axis (pixel)
v-axis (pixel)
Tracking moving target on left image
center of the paddle ball
0 50 100 150 200 250 300 350
0
50
100
150
200
u-axis (pixel)
v-axis (pixel)
Tracking moving target on right image
center of the paddle ball
0 20 40 60 80 100 120 140
-200 -100 0 100 200 300
u/v Coordinate Variation on Left Image
step (one step:16.67ms)
pixels ball on u-axis
ball on v-axis paddle on u-axis paddle on v-axis
0 20 40 60 80 100 120 140
-200 -100 0 100 200 300
u/v Coordinate Variation on Right Image
step (one step:16.67ms)
pixels ball on u-axis
ball on v-axis paddle on u-axis paddle on v-axis
圖 4.10(a) 球及球拍在左、右眼影像平面之位置變化(球為靜止不動)(左上:球及球 拍在左眼影像平面之位置變化,左下:球及球拍在左眼影像平面 u 及 v 方向之位置變 化,右上:球及球拍在右眼影像平面之位置變化,右下:球及球拍在右眼影像平面 u 及 v 方向之位置變化)
0 20 40 60 80 100 120 140 -0.2
0 0.2 0.4 0.6 0.8
step (one step:16.67ms)
△I 5 I
△6
△I 7
圖 4.10(b) I∆ 對時間之變化圖(球為靜止不動)
(2) 移動目標物之追蹤
相較於前面的靜止目標物,將一個橙色的乒乓球以線懸至於雙眼機械頭前,並 使其進行圓錐擺線運動來做為移動目標物,而機械頭與機械手臂皆由起始位置開始追 蹤此目標物,設定∆ =
I i d
0.2 (i
=5, 6, 7)。在雙眼機械頭對移動目標物進行主動式視覺 追蹤時,機械手臂之球拍中心必須在視覺可見範圍內。實驗中目標物與機械手臂之球 拍在左右影像平面座標變化情形分別如圖 4.11(a)所示,圖 4.11(b)為 I∆ 對時間之變化 圖。由圖中可見雙眼機械頭與機械手臂在動態追蹤皆有不錯的表現。0 50 100 150 200 250 300 350
u-axis (pixel)
v-axis (pixel)
Tracking moving target on left image
0 50 100 150 200 250 300 350
u-axis (pixel)
v-axis (pixel)
Tracking moving target on right image
0 20 40 60 80 100 120 140
u/v Coordinate Variation on Left Image
step (one step:16.67ms)
pixels
u/v Coordinate Variation on Right Image
step (one step:16.67ms)
pixels
center of the paddle ball
center of the paddle ball
ball on u-axis ball on v-axis paddle on u-axis paddle on v-axis
ball on u-axis ball on v-axis paddle on u-axis paddle on v-axis
圖 4.11(a) 球及球拍在左右眼影像平面之位置變化(球為動態移動)(左上:球及球拍
step (one step:16.67ms)
△I
第五章 機器人之打擊策略
這章節中考慮機器人在乒乓球應用中的打擊策略,首先,描述球在整個乒乓球 應用所產生的行為,接著,依球的行為來設計機器人的打擊運動。整個打擊運動可分 成打擊程序、返回程序及預備程序,其中決定球拍和球的打擊時間及球拍的位置、速 度是在整個乒乓球應用中最重要的一環,並且在打擊未發生之前就需完成此決策,因 此,我們提出了利用倒傳遞類神經網路來預測球的軌跡。在決定了打擊瞬間的行為 後,由於機器人的手臂為贅餘自由度的結構,我們也提出了贅餘自由度結構的運動順 /逆解及運動軌跡規劃演算法,來實現整個打擊運動。
本章節的組織如下。5.1 節為定義球的行為事件。5.2 節提出倒傳遞類神經網路 來預測球的軌跡。5.3 節描述在打擊運動中,其機器人之相對座標關係。5.4 節提出球 拍面方位的決定策略,用以使機器人將球打擊後返回對方的場地。5.5 節描述贅餘自 由度結構的運動順/逆解及運動軌跡規劃演算法,來實現手臂之整個打擊運動。最後,
5.6 節進行實際的乒乓球應用實驗,來驗證所提的整個控制策略架構之可行性。
5.1 球之行為事件
在進行機器人的打擊策略應用時,我們以球的運動情況來定義球的事件。一般 而言,球的事件如圖 5.1 所示,以下分別說明之:
事件-(
s s ):對手對球的打擊。 1
,2
事件-(
m
):定義一個虛擬平面,一但觀測球通過此一平面時,則可量測其空間位置,進而預測球的球路。
事件-(
r r ):球在機器人的場地進行彈跳。 1
,2
事件-(h h ):機器人對球的打擊。 1
,2
事件-(
o o ):球在對手的場地進行彈跳。 1
,2
其中,在每個事件的下標 1 代表”之前”,2 代表”之後”。
m
r
2機器人場地 對手場地
打擊平面 球路預測之
虛擬平面
r
1h
1h
2s
1s
2o
2o
1圖 5.1 球的運動行為事件
整個行為是由對手開始打擊球(
s s ),使球通過所設定的虛擬平面( 1
,2 m
),並由此 開始量測並估測球的飛行軌跡,接著球飛過中間的球網,在機器人的場地進行彈跳後 (r r ),再飛行至打擊平面,由機器人打擊( 1
,2 h h )後使球返回至對手的場地,彈跳後 1
,2
(o o )再由對手打擊出去( 1
,2 s s ),而重新開始整個行為。 1
,2
在機器人的打擊運動行為上,主要分成三個重要的程序,如圖 5.2 所示。
打擊程序 (A) 返回程序
(B)
預備程序(C)
更新預測 參數(C
1)
球路預測 (C
2)
運動軌跡 規畫
(C
3)
圖 5.2 打擊運動程序
(1)打擊程序(
A ),在此程序下機器人將進入自己場地的球進行打擊,使其返回對手
的場地。(2)返回程序(
B ),機器人在完成打擊之後,在此程序下會返回某一預先設定好的位
置,來等待下次的打擊。(3)預備程序(
C
),在此程序下機器人將不使球拍進行移動,並且預備下次的打擊。而此程序可分成三個子程序,分述如下:
(3.1)更新預測參數程序(
C ),由於球的未來動向是利用類神經網路或最小平方手 1
擬合法來進行預測,在預測參數上可能存在某些不確定性,除了於離線學 習此預測參數,更需利用此段程序來修正某些於離線學習未考慮到預測參 數。(3.2)球路預測(
C ),控制的決策系統會在此程序下進行球未來的動向預測,利用 2
所獲得的預測參數,透過類神經網路或最小平方擬合法,預測機器人欲將 球打擊後返回對手場地的條件,如打擊位置,打擊速度…等條件。(3.3)運動軌跡規畫(
C ),當控制決策系統完成機器人的打擊條件後,在此程序下 3
機器人將會開始規畫所需的移動軌跡;由於本研究的機器人具有贅餘自由 度(Redundant)的機械手臂,故須加入額外的拘束條件來完成機械手臂的運 動軌跡規畫。機器人在每次的打擊行為,皆依此三個程序進行,其中在球路預測(
C )的子程 2
序,控制決策系統會預測三個重要的球狀態。(1)時間(
t ):時間( h t )為通過預測虛擬平面的球狀態( h B )到通過機器人的打擊平面的 m
球狀態(B )之間所需的時間,此時間的預測相當重要,因此時間會決定機器人需 h 1
以多快的速度來移動到所要的打擊位置。(2)打擊姿態(
P P h ,
,R P h ,
):經由預測球通過打擊平面的速度(V ),估測球與球拍碰撞的 Bh
行為,決定出球拍的法向量,並配合贅餘自由度的機械手臂的拘束條件,而決定 出適合的打擊姿態(P P h ,
,R P h ,
)。(3)打擊速度(
V ):在決定出機器人的打擊姿態( h P P h ,
,R P h ,
)後,必須要決定沿著拍面法 向量的打擊速度,打擊速度(V )為欲使球由機器人的場地返回對手場地所需的速 h
度。通常會以預測球在打擊後的飛行至對手場地的時間(
dt )及飛行距離( hr dp )來 hr
決定5.2 球之軌跡預測
在 Matsushima [11]於乒乓球的打擊控制策略中,為了簡化球的軌跡預測採用映 射的方式,此映射透過統計的演算法來分類及歸納,以獲得一組映射資料庫,透過此 方法便可簡化預測,並減少預測誤差。而本計畫所發展的雙眼機械頭,能以 60Hz 的 速度進行影像擷取及處理,因此系統能連續取得 60Hz 的球位置資料,我們採用類神 經網路來進行球軌跡預測。
在 Matsushima [11]於乒乓球的打擊控制策略中,為了簡化球的軌跡預測採用映 射的方式,此映射透過統計的演算法來分類及歸納,以獲得一組映射資料庫,透過此 方法便可簡化預測,並減少預測誤差。而本計畫所發展的雙眼機械頭,能以 60Hz 的 速度進行影像擷取及處理,因此系統能連續取得 60Hz 的球位置資料,我們採用類神 經網路來進行球軌跡預測。