4.1 問題分析
本研究採用模糊控制來控制機器人移動,而影響模糊控制系統的兩個重要元 素為模糊規則與歸屬函數,這兩項參數的訂定一般都是採用由專家主觀認定的方 法來建置,即是以人工的方式調整到一個近似理想值。但由於歸屬函數調整解的 複雜度極高且組合總類繁多,較難採用人工的方式找到最佳解。依據機器人硬體 參數如圖- 12 的歸屬函數中“距離(dm)"歸屬函數的上、下界分別為 200 pixel 和 0 pixel,“角度(m)"歸屬函數的上、下界分別為 90 度和 0 度,“速度參數(SA)"
歸屬函數的上、下界分別為1900 和 1000。共可以組合出1.71024種組合。搜尋最 佳解有許多方法,像是基因演算法、基因程式規劃(genetic programming),鳥群演 算法(particle swarm optimization)…等等。由於歸屬函數的組合種類多(1.71024),
為了快速找出最佳解,故在本階段的研究中,我們將導入基因演算法。由於基因 演算法的問題描述方式較鳥群演算法等方法容易(見第 5.2 節),可以直接描述歸屬 函數的參數,故本研究採用基因演算法以解決用由專家主觀認定的方法來定義模 糊控制歸屬函數的缺陷,並找出最佳的模糊控制方法使機器人移動的更有效率、
更穩定。
由於基因演算法需透過大量的訓練找出最佳解答,使用實體機器人做訓練,
在效率與準確性上都嚴重不足,故此階段我們採用離線式學習的方式,將實體機 器人應用的模糊控制方式套入模擬器中,透過電腦計算找出最佳的歸屬函數組合。
4.2 染色體編碼
4、SA1、SA2、SA3、SA4、SA5,本研究直接將這些參數表是為一組染色體如圖- 15(b)。
染色體的編碼方式如圖- 15 所示,染色體的基因個數為 10 個。
) (m
NEAR FAR SMALLMIDDLE LARGE BF R
SA1
BS FS FF
dm
θ
m SA1 1 1
θ
1θ
2θ
3θ
4 SA2 )(SA
1450 SA4 SA5 d2
d1 ) (dm
(a) 模糊歸屬函數
d
1d
2θ
1θ
2θ
3θ
4SA
1SA
2SA
4SA
5 (b) 染色體編碼方式圖- 15 模糊歸屬函數與染色體編碼方式
4.3 交配與突變方法
在本研究中採用基因演算法的交配方式為單點交配,即為在染色體中隨機 選取一個基因為交配點,並交換此交配點後的所有基因,如圖- 16。
圖- 16 染色體交配示意圖
為了彌補單點交配相對於多點交配亂度較為不足的缺陷,本研究在基因演 算法階段加入了重置(restart)的機制,並定義當最佳適應度重覆 10 次時,會保留 最佳的染色體並將其餘染色體初始化,以增加整體交配過程中的亂度。
本研究採取的突變方式為隨機選取染色體內的某一條基因,改變其基因內 容。突變過程發生的機率由突變機率(P )所控制,突變的方法為隨機亂數產生指m 定範圍以內的數值,以防止產生不合邏輯的歸屬函數。亂數產生突變的方法為 產生一個介於上、下界與臨近基因的數值,例如若隨機選到 d1突變,會隨機產 生一個介於0 到 d2的數值;若選到SA2突變,則會隨機產生SA1到1450 的數值,
其所有的突變限制如下:
0 d
1 d
2
d
1 d
2 200
0
1
2 1 2 3
2 3 4
3 4 90
1000 SA
1 SA
2
SA
1 SA
2 1450
1450SA3 SA4
SA3 SA4 1900
4.4 適應度函式
在適應度評估階段,我們的基本想法是將模糊控制系統引入基因演算法之 中,讓其透過模擬器測量出目標物件在機器人影像中的移動路徑,進而估算出每 一條模糊歸屬函數所對應出來的適應度。本研究的適應度函式定義為:
MNOS Dis S SP MNOS
F ( ) ( 20 )
Dis 為機器人最後一步目標物件的位置離撿球中心點的距離。
SP 表示機器人走到最後一步時,目標物件有無落在指定範圍。當
Dis 10
時,則SP=1 表示成功拾取目標物件;反之當
Dis 10
時,則SP 0
表示拾取失敗。
MNOS
表示模擬器可容許機器人嘗試撿取目標物件的最大次數。 S 為機器人撿取到目標物件所花的步數。
表示成功拾取目標物件的獎勵權重,通常設定的很高。
表示執行模糊控制的圈數影響的強弱。
表示最後一步距離影響機器人的撿球成功率的強弱。
當其同時滿足拾取條件後,將以執行歩數與最終距離來當作衡量的指標,適應度F 愈高愈好。
圖- 17 在模擬器中取 N 個點作測試
如圖- 18 所示。其中橫軸和縱軸分別表示目標物件在 RTGA 影像中的 X、Y 座標,測量出兩條歸屬函數組(歸屬函數 1、歸屬函數 2)的追蹤目標在機器人影像 中的路徑,歸屬函數1 的參數設定比較理想,故如圖- 18 中所對應出來的機器人動 作相對於目標物件的紀錄軌跡較為平順,所需的模糊控制回圈次數也比較少,只 用了45 圈即完成了撿拾目標物件的任務。而相較之下歸屬函數 2 的參數設定較為 極端,故其在撿拾的過程中動作較不連續,所執行的步數也較高,共用了51 步才
接近目標。且最後的落點距中心點(撿拾區(0,0))的距離歸屬函數 1 是 5.55 pixel,歸 屬函數2 是 9.31 pixel,由此也可以得知歸屬函數參數設定的比較好的歸屬函數 1 有比歸屬函數2 更高的拾取成功率。
0 20 40 60 80 100 120 140 160 180 200
-200 -150 -100 -50 0
Xm
Ym
MF2
MF1
圖- 18 比較歸屬函數不同,所造成的影像軌跡圖
由於要使其滿足視線中大部分的位置都可以拾取到目標物件,我們在機器人 視線內以平均分布的方式取出N 個測試點。在此研究中設定 N 為 27,如圖- 17,
並將其應用基因演算法代入模擬器去做運算,並將各個測試點算出的適應度平 均,為該染色體的適應度。染色體適應度計算公式如下:
N
i i
tatol F
F N
1
1 ( 21 )
其中,Ftatol為該染色體的適應度,Fi為該染色體於第i 個測試點的適應度。
4.5 離線式學習測試流程
我們透過模擬器解決基因演算法無法套用在實體機器人上的瓶頸,並求得最 佳染色體所對應的歸屬函數,但實際環境並不會像模擬器中的那麼理想。機器人 判別其所在位置後便要做出行動規劃,因為輪型機器人所使用的制動器多半是小 型的伺服馬達、線性馬達或其他機械裝置,其精確度、衰減率通常不高。另外,
機器人面對的是未知場地,其現場的物理參數(如摩擦係數)與實驗室訓練不同,所 以其實際表現會與模擬器中的理想環境有所差別。本研究的模擬器已盡量考量測 試現場的各種物理參數並與實際機器人的行動控制作比較達到合理的效果。模糊 控制結合基因演算法調整歸屬函數的流程圖如圖- 19。
染色體編碼
初始化染色體
模擬器
產生下一代
是否達到 NO 終止條件
YES
根據染色體 產生歸屬函數
模糊控制 機器人移動
記錄目標 物件軌跡
選擇
交配
突變
產生新一代 適應度評估
淘汰
輸出最佳解
圖- 19 基因演算法與模糊理論結合之流程圖 藉由模擬器來執行基因演算法的步驟如下所式:
STEP-1: 將染色體編碼後初始化染色體。
STEP-2: 透過模擬器模擬目標物件在機器人影像中的軌跡,由此評 估每條染色體的適應度。
STEP-3: 透過基因演算法的選擇、交配、突變來產生下一代。
STEP-4: 判斷是否達到最大演化代數或是達到指定的適應度,若無 達成條件則跳到Step2,若達成條件則輸出最佳解。