Final Project of CS5611 (Fuzzy Sets : Theories & Applications)

Machine Tool System Identification & Control Using ANFIS

ANFIS應用於工具機系統鑑別與控制

葉勇志 853745

李明修 853774

宋漢釧 853776

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 NoiseStepRamp 三種信號,各抓取2048interrupt

Approach 方法

本專題主要是ANFIS在CNC系統上的應用,包括 ID Control 兩方面。由於整個Fuzzy System 無法真正丟給機器去跑,所以我們需要的是一個數學的Model來當作我們的Plant。很不幸的,這個plant 無法由理論上的數學推導求得,我們就用了MatlabID toolbox 裡的指令模擬出了一個三階的線性系統(理論上也是三階的),以此作為我們的系統,當然我們也比較了哪一種系統鑑別的方法比較好。

ID方面,我們利用ANFIS做了off-line on-lineID。使用的MFproduct 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 程式

本模擬所使用的資料與程式需要按照一定程序處理,在此附上一壓縮檔,請解開後按照使用說明操作。

Fuzzy Final Project Sources

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