Final Project of CS5611 (Fuzzy Sets : Theories & Applications)
Machine Tool System Identification & Control Using ANFIS
ANFIS應用於工具機系統鑑別與控制
|
|
|
Abstract 摘要
在工具機數值控制的領域中,所面對的是一種獨特的控制需求,一方面工具機的系統通常是十分穩定而容易控制的,另一方面,它完全不能容忍overshoot,並且要求十分快速的反應,使得衍生出許多小問題。這個系統傳統上都是以線性的方式來模擬,然而,我們可以想像得到這個系統有許多的非線性因素,諸如:A/D D/A的轉換,進給驅動系統的背隙(backlash),各個零件之間的摩擦力,速度命令的飽和,系統剛性的影響… 下圖將各個非線性因素列出。這麼多的非線性因素以及其他因素使得目前工具機的控制相對精度大約為10的-6次方。為了使工具機精度提昇,我們不得不面對非線性的問題,因此,將Fuzzy 引入到工具機數值控制,從系統鑑別,到Model Base Predictive Control,到前饋控制(FeedForward) 我們都做了測試,這也就是本篇報告主要的背景。
Problem Definition 問題定義
目前工具機軸控的方法主要是利用一個"滯後量"(following distance)的計算來產生速度命令丟給驅動器,經過系統之後量測回來實際位置與命令位置相減得出下一個時間的滯後量,每一個interrupt 時間都在 1/256 sec 之內。
滯後量的方法在單軸系統中不會有問題,但是在兩軸系統中我們就可以發現,目前所有的工具機要走一個圓的軌跡,都會走成內圓。如果是在三軸甚至五軸加工機,會造成的誤差就更難去理解了。所以我們初步以解決二軸同動時的問題為目的,也就是將路徑誤差降至最低。
Ballbar 量測XY軸情形:
數值方法模擬的情形:
Data Set Description 資料
這次模擬使用的數據是從一個五軸工具機系統中量測所得,其中包括我們的速度命令以及馬達後端編碼器(encoder)所量得的信號。抓取資料之程式部份附屬於五軸CNC控制器之內,此程式有著作權及國防管制的考量,在此無法附上。
抓取的過程,我們分別輸入White Noise,Step,Ramp 三種信號,各抓取2048個interrupt。
Approach 方法
本專題主要是ANFIS在CNC系統上的應用,包括 ID 與 Control 兩方面。由於整個Fuzzy System 無法真正丟給機器去跑,所以我們需要的是一個數學的Model來當作我們的Plant。很不幸的,這個plant 無法由理論上的數學推導求得,我們就用了Matlab的ID toolbox 裡的指令模擬出了一個三階的線性系統(理論上也是三階的),以此作為我們的系統,當然我們也比較了哪一種系統鑑別的方法比較好。
在ID方面,我們利用ANFIS做了off-line 與on-line的ID。使用的MF為product of two sigmoid membership function。使用四個輸入一個輸出。
在Control方面,利用on-line learning的技巧做了一個Model-Base Predictive Controller,以及利用Inverse learning 去做一個Off-Line的前饋控制。
Simulation Result 模擬結果
OE Method ID 的結果如下:
Off-Line ID
利用 White-Noise 的資料去訓練出ANFIS
可以看到 Error Curve 在 60 個 epoch 之後就不再下降了。
當Error連續下降時 Step size 調大,反之調小:
從 Position Response 可以看出 ANFIS 學得比較好:
Velocity Response 中,actualValue 小幅度上下振動,造成的結果可以看出ANFIS過度學習的情形:
On-Line ID
Program Structure of Simulink
Starting training by Sine wave
變換成三角波很快就收斂了:
方波頻率改變的情形也不錯:
MBPC
Structure I
Fuzzy Controller of MBPC Structure II
Membership Function of fuzzy contorller
Starting Control & Learning
COMMAND VS OUTPUT ERROR CURVE
加入 disturbance
DISTURBANCE
COMMAND VS OUTPUT ERROR CURVE
CICLRE SIMULATION
Structure II
Starting Control & Learning & Predicting
Inverse Learning
Structure I
Structure II
Result
XY Combinition Result
Concluding Remarks 結論
Computer Programs 程式
本模擬所使用的資料與程式需要按照一定程序處理,在此附上一壓縮檔,請解開後按照使用說明操作。
Which included : Data Set / ID ToolBox System Identification / ANFIS off-line System Identification
ANFIS on-line System Indentification / Model-Base Predictive Control / Inverse Learning
Division of Labor 分工
葉勇志 853745 :Model Base Predictive Fuzzy Control
李明修 853774 :Data processing, 2-Axis Simulation, HomePage & Presentation
宋漢釧 853776 :On-Line / Off-Line ANFIS ID, Inverse Learning.
Reference 參考書目
Neuro-Fuzzy and Soft Computing J.S. Roger Jang / C.T. Sun / E. Mizutani
Matlab Toolbox User's Guide