Thiết kế bộ điều khiển sử dụng đại số gia tử (HAC)

Một phần của tài liệu Ứng dụng đại số gia tử trong bài toàn điều khiển chủ động kết cấu (Trang 56 - 65)

Hỡnh 3. 10. Sơ đồ mụ phỏng với bộ điều khiển HAC

Với mụ hỡnh mờ trờn, bộ điều khiển theo tiếp cận ĐSGT đƣợc thiết kế nhƣ sau:

- Bƣớ ến vào – ra và miề ế :

x1 = [-0.05, 0.05]

x2 = [-0.05, 0.05]

u = [-3000, 3000]

Trong đú:

- Bƣớc 2: Chọn bộ tham số ĐSGT cho cỏc biến đầu vào – ra:

G = {Negative (N), Positive (P)}; v(W) = 0.5 = ;

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/

57

fm(N) =  = 0.5; fm(P) = 1- = 0.5;

Mối quan hệ dấu của cỏc gia tử đối với cỏc gia tử khỏc và cỏc phần tử sinh đƣợc xỏc định nhƣ trong Bảng 3. 2. Mối quan hệ dấu của cỏc gia tử và cỏc phần tử sinh sau:

Bảng 3. 2. Mối quan hệ dấu của cỏc gia tử và cỏc phần tử sinh

V L P N

V + - + -

L - + - +

Độ đo tớnh mờ của cỏc gia tử đƣợc lựa chọn (lựa chọn theo thực nghiệm, phương phỏp “thử - sai”) nhƣ trong Bảng 3. 3. Cỏc gia tử và độ đo tớnh mở của chỳng:

Bảng 3. 3. Cỏc gia tử và độ đo tớnh mở của chỳng

Input1: x1s Input2: x2s Output: us

fm(s) 0.5 0.5 0.5

α = μ(L) 0.47 0.36 0.68

β = μ(V) 0.53 0.64 0.32

Tƣơng ứng với cỏc nhón ngụn ngữ trong mụ hỡnh mờ nhƣ sau:

Bảng 3. 4. Cỏc giỏ trị ngụn ngữ

Hedge Algebra Fuzzy

Very Negative VN Negative Big NB

Little Negative LN Negative Small NS

Neural W Zero ZE

Little Positive LP Positive Small PS

Very Positive VP Positive Big PB (adsbygoogle = window.adsbygoogle || []).push({});

- Bƣớc 3: Chuyển bảng FAM sang bảng luậ ớ

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/ 58 Bảng 3. 5.Bảng luậ N Z P VN VP P LP LN P LP Z Z LP Z LN LP Z LN N VP LN N VN

- Bƣớc 4: Tớnh giỏ trị định lƣợng ngữ nghĩa cho cỏc biến ngụn ngữ (ngữ nghĩa hoỏ), xõy dựng bảng SAM – (Semantization Associative Memory) từ bảng luật điều khiển ứng với cỏc nhón ngụn ngữ trong ĐSGT.

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/

59

Với vào x2s:

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/

60

Tớnh toỏn tƣơng tự với cỏc nhón ngụn ngữ khỏc của cỏc biến vào – ra, ta xỏc định đƣợc cỏc giỏ trị của bảng SAM nhƣ Bảng 3. 6.Bảng SAM.

Bảng 3. 6.Bảng SAM 0.3200 0.5000 0.6800 0.1405 0.9488 0.8400 0.7312 0.3896 0.8400 0.7312 0.5000 0.5000 0.7312 0.5000 0.2688 0.6104 0.5000 0.2688 0.1600 0.8596 0.2688 0.1600 0.0512

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/

61

Hỡnh 3. 11. Mặt quan hệ vào – ra theo hệ luật điều khiển trong đại số gia tử

- Bƣớc 6: Giải bài toỏn lập luận xấp xỉ bằng cỏch nội suy trờn mặt cong ngữ

nghĩa định lƣợng và xỏc định giỏ trị điều khiển thực (giải ngữ nghĩa). Cỏc hàm tớnh toỏn đó đƣợc cài trong mụi trƣờng Matlab.

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/

62

Hỡnh 3. 12. Thuật toỏn thực hiện của bộ điều khiển HAC

Sự thực hiện của HAC

- Bƣớc 1: Gọi hàm Setup()

+ Thiết lập số đầu vào, đầu ra của HACs (2 đầu vào, 1 đầu ra).

+ Khởi tạo cỏc biến toàn cục cho HACs.

+ Xỏc định miền giỏ trị làm việc cho cỏc biến của HACs.

+ Khởi tạo bộ tham số cho ĐSGT vừ tớnh toỏn cỏc giỏ trị định lƣợng ngữ nghĩa cho cỏc nhón ngụn ngữ của cỏc biến vào và biến ra (hàm v()).

+ Tạo cỏc mặt cong quan hệ vào-ra (hàm rules()).

- Bƣớc 2: Vào vũng lặp mụ phỏng: gọi hàm Output()

+ Đọc dữ liệu từ cỏc đầu vào của bộ điều khiển.

+ Ngữ nghĩa húa.

+ Nội suy tuyến tớnh trờn mặt quan hệ vào – ra.

Start -Khởi tạo cấu trỳc s-function block. -Khởi tạo cỏc tập mờ cho cỏc biến vào, ra. -Khởi tạo bảng luật. (adsbygoogle = window.adsbygoogle || []).push({});

Đọc cỏc giỏ trị đầu vào của block Ngữ nghĩa húa

Nội suy tuyến tớnh trờn mặt cong quan hệ vào – ra.

Gửi giỏ trị điều khiển tới đầu ra của block

Kết thỳc mụ phỏng (terminate)

End

Read inputs

Semantization

Desemantization

Write the values to output install() rules() mdlTerminate() Giải ngữ nghĩa interpolate

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/

63

+ Giải ngữ nghĩa.

+ Ghi giỏ trị điều khiển tới đầu ra của bộ điều khiển.

Phần mó nguồn của một bộ điều khiển:

%beginfunction

function HACs(block) setup(block);

%endfunction

function setup(block)

%% Register number of input and output ports

block.NumInputPorts = 2; block.NumOutputPorts = 1;

%% Setup functional port properties to dynamically %% inherited.

block.SetPreCompInpPortInfoToDynamic; block.SetPreCompOutPortInfoToDynamic;

block.InputPort(1).DirectFeedthrough = true;

%% Set block sample time to inherited

block.SampleTimes = [-1 0];

%% Run accelerator on TLC

block.SetAccelRunOnTLC(true);

%Critical range of input/output variables global I1 I2 O

global X Y Z

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/ (adsbygoogle = window.adsbygoogle || []).push({});

64

[E, DE, U] = install();

%Create a curved surface and input/output relation

[X, Y, Z] = rules(E, DE, U);

%% Register methods

block.RegBlockMethod('Outputs', @Output);

%endfunction

function Output(block)

global I1 I2 O

global X Y Z

%Read the real values from inputs P and D

In1 = block.InputPort(1).Data; In2 = block.InputPort(2).Data;

%Turn to the value of semantic quantity (semantization)

Es = (In1-I1(1))/(I1(2)-I1(1)); DEs = (In2-I2(1))/(I2(2)-I2(1));

%Interpolate the quantitatively semantic curved surface

Os = interpolate2(X, Y, Z, DEs, Es);

if Os>1 Os = 1;

elseif Os<0 Os = 0;

end

%Turn to real value (desemantization)

Out = Os*(O(2)-O(1))+O(1);

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/

65

block.OutputPort(1).Data = Out;

%endfunction

Một phần của tài liệu Ứng dụng đại số gia tử trong bài toàn điều khiển chủ động kết cấu (Trang 56 - 65)