Professional Documents
Culture Documents
Baigiang - DKTM - tham khảo
Baigiang - DKTM - tham khảo
Mục lục
Chương 2:Các công cụ tính toán mềm trong hệ thống thông minh 7
Chương 3: Điều khiển trực tiếp có tích hợp tư duy con người. 80
Chương 5: Một số ứng dụng điều khiển thông minh cho hệ phi tuyến 153
Giáo trình:
1/Huỳnh Thái Hoàng, Hệ thống điều khiển thông minh, NXB ĐHQG Tp. HCM, 2005.
2/James J. Buckley, Esfandiar Eslami, An introduction to fuzzy logic and fuzzy sets, Physics-
Verlag, 2002.
Đo lường
(cảm biến)
E: sai lệch
Các giá trị trên là rõ. Bộ điều khiển thông thường: pid, đặt cực, khâu bổ chính bậc 1, lqr, str,vv….
Đối tượng được mô tả bằng phương trình toán học.
Khi hệ là phi tuyến hay đối tượng không thể mô hình hóa bằng toán học thì ta dùng các phương
pháp điều khiển thông minh.
Bộ điều khiển: dùng logic mờ, mạng nơron hay chỉnh thông số bộ điều khiển dùng giải thuật di
truyền.
-Thực thi.
-Giao tiếp .
Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc
5
-Tổ chức.
Điều khiển thông minh là các kỹ thuật điều khiển gồm logic mờ, mạng nơron và giải thuật di
truyền.
1.4.Ưu nhược điểm của một hệ thống điều khiển thông minh:
Ưu điểm:
-Giải quyết bài toán khi hệ không biết trước mô hình toán học.
-Khả năng tính toán, khả năng dùng tri thức kinh nghiệm của người chuyên gia.
Khuyết điểm:
1.5. Các ứng dụng của phương pháp điều khiển thông minh
Điều khiển thông minh đã được ứng dụng trong các lĩnh vực:
Chương 2: Các công cụ tính toán mềm trong hệ thống thông minh
2.1. Hệ mờ
2.1.1.Logic:
Trong logic, tri thức được thể hiện bằng các phát biểu gọi là mệnh đề. Tri thức được xử lí bằng
các luật logic. Chúng ta giới hạn trong tập rõ, logic nhị phân (có hai giá trị đúng-1 và sai-0). Mệnh
đề cũng giả sử có hai giá trị: đúng -1 hay sai-0. Mệnh đề là một phát biểu có thể đúng hay sai.
Mệnh đề 1 là sai . Mệnh đề 2 là đúng. Mệnh đề 3 phụ thuộc vào giá trị thực của nhiệt độ. Nếu
nhiệt độ trên 500C thì mệnh đề là đúng, ngược lại mệnh đề là sai.
P
p
1 0
0 1
Trong đó mệnh đề p là đúng , p là sai. Khi p là sai , p là đúng.
P Q pq
0 0 0
0 1 0
1 0 0
1 1 1
p q đúng nếu và chỉ nếu cả p và q đều đúng.
.p q pq
0 0 0
0 1 1
1 0 1
1 1 1
p q sai nếu và chỉ nếu cả p và q đều sai.
.p q pq
0 0 1
0 1 1
1 0 0
1 1 1
p q sai nếu và chỉ nếu p đúng và q sai.
.p q pq
0 0 1
0 1 0
1 0 0
1 1 1
Mệnh đề “p nếu và chỉ nếu q” p q đúng khi và chỉ khi cả p và q có cùng giá trị ( cùng là 1
hay cùng là 0).
Tập hợp rõ, hay tập hợp là tập các đối tương được xác định. Các đối tượng này được gọi là phần
tử hay thành viên của tập hợp.Thí dụ: tập hợp các chiếc ghế trong phòng. Tập hợp các số nguyên.
Để kí hiệu a là phần tử của tập hợp A, ta viết: a A . Tập hợp A là tập con của tập hợp B , kí hiệu
A B nếu mỗi phần tử của A cũng là phần tử của B. Ta viết A=B nếu tập A và B có cùng phần
tử giống nhau.
Một tập hợp có các phần tử a1. a2,…,an được kí hiệu bởi A a1 , a 2 ,..., a n
Cho X là tập cơ sở, chúng ta định nghĩa các phép toán trên P(x) như sau. Cho A và B là hai tập
hợp (chúng là phần tử của P(X)). Bù của tập A, kí hiệu A , là tập hợp có tất cả phần tử trong X
mà không là phần tử của A.
A a X | a A
Giao A B của hai tập A và B được định nghĩa là tập hợp có các phần tử là thành viên của cả A
và B.
A B x U | x A and x B
Hợp A B của hai tập A và B được định nghĩa là tập hợp có các phần tử là thành viên của tập
A hay B hay cả hai..
A B x U | x A or x B
Logic mờ:
Bắt đầu của logic mờ là cho phép giá trị thật là số bất kì trong khoảng [0,1].
Nếu p là mệnh đề , thì chúng ta kí hiệu tv(p) là độ đúng (giá trị thật) của p. Vậy tv(p) [0,1] đối
với bất kì mệnh đề trong logic mờ. tv(p)=1 nghĩa là p tuyệt đối đúng, tv(p)=0 nghĩa là p hoàn
toàn sai và tv(p)=0,65 nghĩa là độ đúng của p là 0,65. Logic mờ liên quan đến độ đúng của các
mệnh đề. Tuy nhiên trong thế giới thực, các mệnh đề chỉ đúng một phần.
Thí dụ: Mệnh đề “Nam thì già” có giá trị đúng hay sai và khó xác định nếu anh ấy là 60 tuổi.Ở
một khía cạnh, anh ấy là già chín chắn. Nhưng ở khía cạnh khác, anh ấy không già đối với an ninh
xã hội. Vì vậy, trong logic mờ, chúng ta cho phép tv(Nam thì già) lấy giá trị trong khoảng [0,1],
ngoài 0 và 1.
Phép phủ định: tv ( p ) 1 tv ( p )
Phép giao:
Trong phần 1.2, ta biết phép T là min (cực tiểu) hay prod (tích).
Do đó : tv ( p q ) T (tv ( p ), tv ( q ))
Phép hợp:
Trong phần 1.2, ta biết phép S là max (cực đại) hay BSUM (tổng bị chặn).
Do đó : tv ( p q ) S (tv ( p ), tv ( q ))
Do đó : tv ( p q ) I (tv ( p ), tv ( q ))
hay:
i/ tv ( p q ) tv( p q ) (a)
tv ( p q ) S (1 tv ( p ), tv ( q ))
Ví dụ, trong logic mờ chúng ta tính giá trị thật của ( p q ) r như sau:
Sử dụng công thức (b) cho phép kéo theo và toán tử T cho phép giao .
1.2.Tập mờ
Tập mờ:
~
Tập mờ A xác định trên tập cơ sở X là tập hợp mà mỗi phần tử của nó là 1 cặp giá trị ( x, A~ ( x))
, trong đó x X và A~ ( x) là hàm thành viên:
A~ ( x ) : X [0,1]
~ ( xi )
A
i xi
1 1
0,8
0,6 0,4
0,3
3 4 5 6 7 8
~ ( x)
A
X
x
Ví dụ tập mờ:
~
A x R | x 3
~
B x R | x 7
~
Hàm liên thuộc của tập mờ B :
B~ ( x)
0 7 x
(x )
x c1 c2 x
p1 c1 c 2 p1
0 c1 p1 c2 x
(x )
Lõi
Độ cao
0 x
Biên
Miền nền
Biến ngôn ngữ là biến chỉ nhận giá trị ngôn ngữ.
Giá trị ngôn ngữ: rất thấp, thấp, trung bình, cao và rất cao.
5 giá trị ngôn ngữ NB, NS, ZE, PS, PB. Biết rằng giá trị vật lí của góc nghiêng 30 0 30 0 ..
( )
NB NS ZE 1 PS PB
Lưu ý:
~ ~
AB: A~ B~ ( x) prod A~ ( x), B~ ( x) A~ ( x) B~ ( x)
~ ~
AB: A~ B~ ( x) min1, A~ ( x) B~ ( x)
Biến ngôn ngữ “nhiệt độ” có giá trị ngôn ngữ “cao”.
(x )
0 30 35 40 x
~ 35 30 x 30
tv( P ) cao (35) 0,5 , ( x)
40 30 10
~ ~
tv ( P ) 1 tv ( P ) 1 A~ ( x)
Ví dụ: t0C=320C
~
tv ( P ) 1 cao ( x ) 1 0,2 0,8
( x1 ) ( x2 )
1 1
X1=40, x2=800
~ ~
tv( P Q ) T thap ( x1 ), TB ( x 2 )
min thap (40), TB (800)
80 40 800 500
min ,
80 30 1000 500
min0,8, 0,6 0,6
~ ~
tv( P Q ) A~ B~ ( x, y ) S A~ ( x), B~ ( y )
~ ~
tv( P Q ) S thap ( x1 ), TB ( x 2 )
max thap (45), TB (900)
80 45 900 500
max ,
80 30 1000 500
max0,7, 0,8 0,8
80 55
thap ( x1 ) thap (55) 0,5
80 30
600 500
TB ( x 2 ) TB (600) 0,2
1000 500
~ ~
tv( P Q ) I 0,5, 0,2 min0,5, 0,2 0,2
Quy tắc mờ là phát biểu Nếu.. thì, trong đó mệnh đề điều kiện và mệnh đề kết luận là các mệnh
đề mờ.Trong đó mệnh đề điều kiện có thể có các phép toán giao, hợp hay phủ định.
- +
~ ~ ~
R2: Nếu x1 là A1, 2 và … xn là An , 2 thì y là B2 .
…
~ ~ ~
Rk: Nếu x1 là A1,k và … xn là An,k thì y là Bk .
Suy luận là quá trình suy ra độ đúng của mệnh đề kết luận khi biết độ đúng của mệnh đề điều
kiện.
Thí dụ:
P Q
tv(P)=0 tv(Q)=0
tv(P)=1 tv(Q)=1
Nhận xét: độ đúng của mệnh đề kết luận không lớn hơn độ đúng của mệnh đề điều kiện.
-Max-Min.
-Max-Prod
Nguyên tắc: độ đúng của mệnh đề kết luận không lớn hơn độ đúng của mệnh đề điều kiện.
Ví dụ:
1 LO NE 1 VH
0,33
2 8 x1 -15 0 15 x2 16 24 y
X1=3, x2= -5
i/Dùng Max-Min
83 5
1 A~ ( x1' ) 0,83
1
82 6
0 (5) 1
2 A~2 ( x 2' ) 0,33
0 (15) 3
min 1 , 2 min0,83, 0,33 0,33
B~ ( y ) min , B~ ( y )
'
~
Suy ra B ' .(xem hình vẽ (nét đậm).
Ii/Dùng Max-Prod
83 5
1 A~ ( x1' ) 0,83
1
82 6
0 (5) 1
2 A~2 ( x 2' ) 0,33
0 (15) 3
5
prod 1 , 2 prod 0,83, 0,33 0,83 0,33 0,27
18
B~ ( y ) prod , B~ ( y ) B~ ( y )
'
0,27
16 24 y
~
B ' ( y ) là đường nét đậm.
Hệ mờ:
CƠ sở luật
Mờ hóa
Ngõ vào mờ (hệ quy
tắc mờ)
Ngõ vào có thể qua khối tiến xử lí và ngõ ra có thể qua khâu hậu xử lí nhằm chuẩn hóa tín hiệu
vào và ngõ ra được nhân với hệ số phù hợp.
Quy tắc Takagi:-Sugeno là quy tắc mờ trong đó mệnh đề kết luận là hàm của các biến vào.
Quy tắc Mamdani: là quy tắc mờ trong đó mệnh đề kết luận là các mệnh đề mờ.
Lưu ý: Hệ mờ Mamdani có ngõ ra là các vạch (singleton) là trường hợp đặc biệt. Do đó, trong
fuzzy toolbox của Matlab, ta khai báo như là hệ mờ Sugeno-Takagi.
y*
y ( y)dy y ( y )
i i
( y)dy ( y ) i
a (a) b (b)
y*
(a) (b)
y*
y k k
k
y * k yk
Dùng fuzzy toolbox kiểm tra lại kết quả tính toán ở câu 1.1 và 1.2:
Bài 1:
Ngõ ra y:
TH a: x1’=-8;x2’=7:
TH b: x1’=-13;x2’=18:
TH a: x1’=-8;x2’=7:
TH b: x1’=-13;x2’=18:
Ví dụ: Cho hệ mờ ở ví dụ trên, dùng luật suy diễn Max-Min vẽ kết quả suy luận mờ khi ngõ vào
là x1=-8, x2=7. Tính giá trị ngõ ra y của hệ mờ nếu sử dụng phương pháp trung bình có trong số.
Cách 2:
X1=-8 suy ra
0 (8)
NE ( x1 ) 0 (12) 0,67
( x1 ) ZE ( x1 ) 8 (12) 0,33
0 (12)
PO ( x1 ) 0 0
15 (7)
Lo ( x2 ) 15 (5) 0,7
( x1 ) ME ( x2 ) 7 (5) 0,2
15 (5)
HI ( x2 ) 0 0
X1 X2 Y 1 2 min(1 , 2 )
NE LO NE 0,67 0,7 0,67
NE ME PM 0,67 0,2 0,2
ZE LO ZE 0,33 0,7 0,33
ZE ME PS 0,33 0,2 0,2
Vẽ kết quả suy luận mờ: hợp 4 qui tắc trên: (đường nét đậm trong hình vẽ).
( y)
NE ZE1 PS PM
0,67
0,33 0,2
-12 -6 0 6 12 18 y
Giải mờ:
Nhận xét:cách giải trên chỉ tập trung các hàm liên thuộc có giá trị khác 0 và bỏ qua các hàm liên
thuộc có giá trị bằng 0 của các biên x1 và x2.
Trong đó: dendritie là ngõ vào noron; synapse là đường truyền để kết nối ngõ vào của noron này
với ngõ ra của noron khác; axon là trục noron hay là ngõ ra;cell body (soma)là tế bào
noron;information flow là dòng thông tin.
Mỗi noron sinh học có nhiều ngõ vào vào và một ngõ ra. Tín hiệu truyền từ noron này đến noron
khác dưới dạng điện áp. Nếu điện áp là dương thì tín hiệu ra là kích thích. Nếu điện áp là âm thì
tín hiệu ra là ức chế. Nếu điện áp là zero thì không có sự kết nối giữa hai noron. Lượng tín hiệu
truyền trên đường synapse được gọi là cường độ kết nối.
X1
W1
X2 w2 , a() y
wn
Xn
Trong đó x1, x2,…, xn là các ngõ vào; w1, w2,…, wn là trọng số ; y là ngõ ra.
là ngưỡng (threshold). A(): là hàm tác động. Ở đây a()=step là hàm nấc thang đơn vị.
Ngõ ra : y=step(net).
n
f=net= w j x j w T .x
j 1
x x1 , x 2 ,..., x n
T
w w1 , w2 ,..., wn
T
1
a( f )
1 e f
1 e 2 f
a( f )
1 e 2 f
Hình trên là thí dụ về mạng hồi qui. Ngõ ra của nút ẩn được hồi tiếp về như ngõ vào mạng. Vòng
lặp chứa một trì hoãn thời gian của tín hiệu hồi tiếp.
Thí dụ: Tính ngõ ra của mạng noron biết rằng hàm tổng ở ngõ vào là hàm tuyến tính, hàm tác động
là sigmoid đơn cực.
X1=1;x2=0,5; x3=-0,4
Giải:
Net=w1.x1+w2.x2+w3.x3-
=0,3x1+(-0,8)x0,5+0,4x(-0,4)-0,6=-0,86
Net=-0,86
1 1
y log sig ( net ) net
( 0 , 86 )
0,297
1 e 1 e
Vậy y=0,297.
-thay đổi trọng số của mạng noron để đầu ra của mạng xấp xỉ một hàm phi tuyến nào đó.
Cặp tập mẫu: (x,d)=(đầu vào mong muốn, đầu ra mong muốn)
Mẫu
1 2 3
Trọng số w của
Tín hiệu vào x mạng Tín hiệu ra y
wi (k 1) wi (k ) wi (k )
wi (k ) .r.x(k )
r=fr(wi(k), x(k),di)
Ví dụ:
-1
X1 w1 0 , a() y
wn
xn
1 , net i 0
yi a(net i ) step (net i )
0 , net i 0
Ví dụ:
Y=a(net)=step(net)=0
Tập huấn luyện gồm hai tập, P và N , trong không gian ngõ vào n chiều. Chúng ta tìm vecto w có
khả năng chia tuyệt đối hai tập, để mà tất cả vecto trong P thuộc về nửa không gian dương và tất
cả vecto trong N thuộc về nửa không gian âm của sự chia tuyến tính.
Đặt t=0
Vecto trong P
P1 vecto trong số
P2
N1
n2
Vecto trong N
Giả sử chúng ta làm việc với mạng có một ngõ vào và một ngõ ra.
Xem xét mạng có 1 ngõ vào thực z và hàm mạng F. Đạo hàm F’(x) được tính trong hai pha:
Truyền thuận: ngõ vào x được đưa vào mạng. Hàm chính tại nút và đạo hàm của nó được tính tại
mỗi nút. Đạo hàm được lưu lại.
Lan truyền ngược: hằng số 1 được đưa vào nút ngõ ra và mạng chạy ngược (backwoard). Thông
tin tới 1 nút được cộng vào và kết quả được nhân bởi giá trị được lưu trong phần bên trái của nút.
Kết quả được truyền đi tới bên trái của nút.Kết qảu được tập hợp ở nút ngõ vào là đạo hàm của
hàm mạng theo x.
Thông tin nạp vào mạng con trong bước truyền thẳng là oiwij, trong đó oi là ngõ ra lưu trữ tại nút
i. Bước lan truyền ngược tính đạo hàm của E theo ngõ vào này. Vì trong bước lan truyền ngược
oi được tính như hằng số, chúng ta cuối cùng có:
E E
oi .
wij oi wij
Tóm lại, bước lan truyền ngược được thực hiện theo cách thông thương.Tất cả mạng con được
định nghĩa bởi mỗi trọng số của mạng thì có thể được tính đồng thời, nhưng chúng ta bây giờ lưu
trữ thêm tại mỗi nút i:
-kết quả cộng thêm của tính toán ngược trong bước lan truyền ngược vào nút này. Chúng ta gọi
đại lượng này là sai số lan truyền ngược.
Nếu kí hiệu sai số lan truyển ngược tại nút thứ j là j , chúng ta có thể biểu diễn đạo hàm từng
phần của E theo wij như sau:
E
oi . j
wij
Vì tất cả đạo hàm từng phần có thể được tính., nên chúng ta có thể thực hiện suy giảm d965 dốc
bằng cách cộng vào mỗi trọng số số wij một gia tăng:
wij oi j
Giải thuật:
Bước 1: chõn , gán k=1, E=0, khởi động ngẫu nhiên trọng số lớp ẩn và lớp ra vq(k), wi(k)
(1<=q<=l, 1<=i<=n ).
Bước 2: (truyền thuận dữ liệu)Tính ngõ ra của mạng với tín hiệu vào x(k) (1<=j<=m):
z (k ) a h (net q (k ))
yi ( k ) ao (neti (k ))
wi (k 1) wi (k ) oi (k ) z (k )
n
Lớp ẩn: hq (k ) oi (k ) wiq (k ).a h' (net q (k )) (1 q l )
i 1
v q (k 1) v q (k ) hq (k ).x(k )
1 n
Bước 4: Tính sai số tích lũy: E E [d i (k ) y i (k )]2
2 i 1
Bước 6: Kết thúc chu kì huấn luyện. Nếu E thì kết thúc.
Chú ý:
1
a( f )
1 e f
a ' ( f ) a( f )[1 a( f )]
1 e 2 f
a( f )
1 e 2 f
a' ( f ) 1 a2 ( f )
Ví dụ:
Ví dụ: y=e-x.xin(10x)
X y
F(x)
-
Mạng
noron ynn
N: số noron lớp ẩn
mynet=newff(X,D,N,{‘tansig’ ‘purelin’})
mynet=train(mynet,X,D)
ynn=sim(mynet,x)
File thiduNN1.m:
x=0:0.001:2;
y=exp(-x).*sin(10*x);
figure(1)
plot(x,y)
%Tap mau huan kuyen mang NN
K=300;%so mau du lieu
X=rand(1,K)*2;%1 hàng , K cot
%K la mau tin hieu vao ngau nhien trong mien 0 den 2
D=exp(-X).*sin(10*X);
figure(2)
plot(X,D,'o')
N=8;%so noron lop an
mynet=newff(X,D,N,{'tansig' 'purelin'});
mynet=train(mynet,X,D);
%Danh gia mang sau khi huan luyen
ynn=sim(mynet,x);
figure(3)
plot(x,y,'r',x,ynn,'k')
Lệnh Matlab
>>thiduNN1
Kết quả:
Tín hiệu y (đường màu đỏ) và tín hiệu ynn (đường màu đen):
Nhận xét: ngõ ra mạng noron ynn bám tốt tín hiệu ngõ ra y.
X1
Xj y
zl
xm
Mạng RBF.
0 a
a x ,
a2
z exp 2
với exp(x)=ex.
2
Giải thuật di truyền là phương pháp tìm kiếm ngẫu nhiên quản lí một quần thể của vị trí tìm kiếm
đồng thời. Giải thuật di truyền thông thường gồm có 3 phần tử quan trọng:
Điểm chia
NST A
NST B
Lại
Mã hóa của bài toán tối ưu hóa tạo ra sự rời rạc hóa được yêu cầu của các giá trị biến ( đối với tối
ưu hóa hàm số thực), và làm cho quản lí đơn giản trong một quần thể các điểm tìm kiếm có thể.
Thường số điểm tìm kiếm cực đại, nghĩa là kích thước quần thể, được cố định ở bắt đầu.
Tác vụ đột biến quyết định xác suất với cấu trúc dữ liệu nào được hiệu chỉnh. Điều này có thể xảy
ra (như trong tìm kiếm ngẫu nhiên) hay chỉ khi chuỗi được kết hợp để tạo ra quần thể của các
điểm tìm kiếm mới. Trong chuỗi nhị phân, sự đột biến tương ứng với sự lật bit.
Tác vụ trao đổi thông tin kiểm soát sự kết hợp lại của các điểm tìm kiếm để tạo ra một quần thể
của các điểm mới, tốt hơn tại mỗi bước lặp. Trước khi kết hợp lại, hàm được tối ưu phải được đánh
giá đối với tất cả cấu trúc dữ liệu trong quần thể. Điểm tìm kiếm được sắp xếp theo thứ tự giá trị
hàm của chúng, có nghĩa là theo thứ tự gọi là fitness (hàm thích nghi). Trong bài toán tối thiểu
hóa, điểm được đặt ở đầu danh sách là những điểm mà giá trị hàm là thấp nhất. Những điểm mà
hàm được tối thiểu hóa có giá trị hàm lớn nhất thì được đặt ở cuối danh sách. Theo tác vụ sắp xếp
này, các điểm được tạo lại trong cái cách mà cấu trúc dữ liệu ở đầu danh sách là được chọn với
xác suất cao hơn những cái khác ở cuối danh sách. Một tác vụ tạo lại tiêu biểu là lai ghép
(crossover). Hai chuỗi A và B được chọn như “cha mẹ” và một vị trí chia (cut-off) cho cả hai
được chọn ngẫu nhiên. Chuỗi mới được tạo thành để mà phía bên trái lấy từ một cha, và phía phải
từ mẹ còn lại. Điều này tạo ra hoán đổi thông tin được lưu trong mỗi chuỗi cha mẹ.Toàn bộ quá
trình gợi lại sự trao đổi gen trong các thể sống. SỰ trao đổi ưa thích có thể tạo ra chuỗi gần hơn
cực tiểu của hàm mục tiêu hơn mỗi cha mẹ khác. Chúng ta mong muốn hàm thích nghi (fitness)
thu được của quần thể tăng theo thời gian. Giải thuật có thể dùng. Khi hàm thích nghi của chuỗi
tốt nhất trong quần thể không đổi nữa.
J min
Fitness=1/J
Có thể tìm cực tiểu hay cực đại của hàm sồ.
Nhà toán học Michael Vose và Gunar Liepins đã phát triển một mô hình chuẩn dựa trên
giải thuật di truyền đơn giản sau:
1/Tính toán hàm thích nghi (fitness) f(x) của mỗi chuỗi x trong quần thể.
2/Chọn lựa (choose) (bằng sự thay thế) hai cha mẹ từ quần thể hiện tại với xác suất tỉ lệ với hàm
thích nghi tương đối của mỗi chuỗi trong quần thể.
3/Lai ghép (cross over) hai cha mẹ (tại 1 điểm đơn được chọn ngẫu nhiên với xác xuất lai ghép pc
để tạo thành hai cá thể con (offspring) . (nếu không có lai ghép xảy ra thì cá thể con là bản sao
chính xác của cha mẹ). Chọn một cá thể con một cách ngẫu nhiên và hủy bỏ cái còn lại.
4/Đột biến (mutate) mỗi bit trong cá thể được chọn với xác xuất đột biến pm, và đặt nó vào trong
quần thể mới.
5/Đi tới (go to) bước 2 cho tới khi một quần thể mới hoàn thành.
6/ Đi tới bước 1.
Sự khác nhau duy nhất giữa điều này và giải thuật di truyền (GA) đơn giản chuẩn là chỉ có một cá
thể con từ mỗi sự lai ghép là tồn tại. Vì vậy, kích thước quần thể n, tổng của n sự kiện kết hợp lại
xảy ra.
Ví dụ:
+
Động cơ
R(k) e(k) Bộ điều u(k) y(k)
DC
khiển PID
-
de(t )
u (t ) K p e(t ) K i e(t )dt K d
dt
e(k ) e(k 1)
u (k ) K p e(k ) K i e(k ).Ts K d
Ts
Chọn
t
J e 2 (t )dt min (tiêu chuẩn ISE)
0
n
J (k ) e 2 (k ) min
k 1
Có thể chọn
t t
J e 2 (t )dt u 2 (t )dt min
0 0
n n
J (k ) e 2 (k ) . u 2 (k ) min
k 1 k 1
K p Ki Kd
T
1 K p
2 Ki
3 K d
Mã hóa:
Ta cần tìm *
K p Ki Kd
T
Ta có là 1 nhiễm sắc thể được chia thành 3 đạng gien Kp, Ki và Kd.
NST 0 1 1 0 1 0 0 0 1 1 0 0
Kp Ki Kd
i min
Li log 2 i max
i
Với i min là giá trị nhỏ nhất, i max là giá trị lớn nhất; i là độ chính xác mong muốn.
Giải:
1 min 20 1,5
L1 log 2 1 max log 2 14,18
0,001
Chọn 15 gien
S0 s1 s14
Ví dụ: xét ví dụ trên, đoạn mã nhị phân của Kp là si= 1000011110 01110 2
Giải:
Mỗi đoạn mã nhị phân si si , Li 1 ,..., s, 2 , si1 , si 0 được giải mã thành giá trị của biến i như sau:
i max i min
i i min .DV ( si )
2 Li 1
DV ( s1 ) DV (100001111001110 2 ) 17358
Như vậy đoạn mã nhị phân s1 được giải mã thành giá trị của biến 1 như sau:
20 1,5 20 1,5
1 1,5 15
17358 1,5 17358 11,3
2 1 32767
215-1=32767.
Như vậy:
Kp min=1,5 0000000000000002.
Kp=11,3 1000011110011102.
Kp max=20 1111111111111112.
Ví dụ: Kp=11,3
5 chữ số có nghĩa
6 gien
Vị trí dấu chấm thập phân của mỗi gien phải được lưu vào một biến để sử dụng khi giải mã.
Ví dụ : 1 55.4172
Mã hóa : si 055417
Kp Ki Kd
Hàm thích nghi dùng để đánh giá các cá thể. Cá thể nào có độ thích nghi tốt hơn sẽ tồn tại.
1
Tìm cực tiểu: fitness
J ( ) C
Nhiễm sắc thể (NST) có độ thích nghi càng cao thì có xác suất chọn lựa càng lớn.
M* M
I
Trong đó M và M* là độ thi1ch nghi trung bình của quần thể trước và sau chọn lọc. 2 là phương
sai của độ thích nghi trước chọn lọc.
Ii: là các cá thể (có thể gọi là nhiễm sắc thể (NST)).
N=20 khởi tạo 20 lời giải ngẫu nhiên, tức là 20 bộ tham số (Kp, Ki, Kd) ngẫu nhiên.
N N
J ( ) e 2 (k ) u 2 (k )
k 1 k 1
{ s0 0
For k 1:N
sk sk-1+fk
}.
For k 1:N
rrandom{0,sN)
P’(I1’, I2’,…,IN’)
Trong đó:
Ik: cá thể (nhiễm sắc thể) thứ k, k=1,2,..,N. N là số cá thể trong quần thể.
F1=15.2
F2=3.8
F3=0.7
F4=5.25
F5=20.6
F6=1.23
fk
Pk
fk
>> f=[15.2 3.8 0.7 5.25 20.6 1.23]
>> p=f/sum(f)
p=
15.2
P1 0.3249
46.78
3.8
P2 0.0812
46.78
0.7
P3 0.015
46.78
5.25
P4 0.1122
46.78
20.6
P5 0.4404
46.78
1.23
P1 0.0263
46.78
s0=0
Cho K=1:6
s1 s 0 f1 0 15.2 15.2
s 2 s1 f 2 15.2 3.8 19
s 3 s 2 f 3 19 0.7 19.7
s 4 s3 f 4 19.7 5.25 24.95
s 5 s 4 f 5 24.95 20.6 45.55
s 6 s5 f 6 45.55 1.23 46.78
Đoạn mã:
S0 s1 s2 s3 s4 s5 s6
Cho k=1:6
+k=1
R=random(0,S6)
>>r=rand*46.78
r=38.1128
I1’=I5 vì s4<=r<s5j=5
+k=2
r=rand*46.78
42.3729
I2’=I5 vì s4<=r<s5j=5
+k=3
r=rand*46.78
5.9404
I3’=I1 vì s0<=r<s1j=1
+k=4:
r=rand*46.78
42.7277
I4’=I5 vì s4<=r<s5j=5
+k=5:
r=rand*46.78
29.5818
I5’=I5 vì s4<=r<s5j=5
+k=6:
r=rand*46.78
4.5629
I6’=I1 vì s0<=r<s1j=1
PS={I1’, I2’, I3’ I4’, I5’, I6’}={I5, I5, I1, I5, I5, I1}
{ s0 0
For k 1:N
sk sk-1+pk
}.
For k 1:N
{
Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc
79
rrandom{0,sN)
P’(I1’, I2’,…,IN’)
Lai ghép:
Đột biến:
Chương 3: Điều khiển trực tiếp có tích hợp tư duy con người.
Luật mờ
Bài 1:
Hệ bóng và thanh
Hệ bóng và thanh gồm 1 thanh dầm gắn vào trục quay song song với phương nằm ngang. Xét tín
hiệu vào (tín hiệu điều khiển) là góc lệch của thanh. Tín hiệu ra là vị trí x của bóng trên thanh.
Mô hình đơn giản của hệ thống cho bởi phương trình vi phân sau:
J
R 2 m.x mg.sim (1)
Đặt biến trạng thái x1 x; x 2 x . Phương trình biến trạng thái hệ phi tuyến:
x1 x 2
mg sin
x 2
J
( 2 m)
R
Trong đó (rad) là góc tạo bởi thanh và phương nằm ngang (tín hiệu vào).
Thông số hệ thống:
Thiết kế bộ điều khiển mờ giữ cân bằng bóng tại trục quay của thanh từ điều kiện đầu khác 0.
Giả sử do giới hạn vật lý, góc lệch của thanh là ràng buộc từ –pi/6 đến pi/6.
-2 biến vào: vị trí bóng trên thanh và vận tốc bóng (biến trạng thái x2).
x Bộ điều khiển Hệ x
K1
mờ Ku
1
Dx/dt
K2
x
Bước 3: Định nghĩa các giá trị ngôn ngữ cho các biến vào, ra. Định lượng các giá trị ngôn ngữ
bằng các tập mờ.
(x )
NB NS 1 ZE PS PB
(x )
NE 1 ZE PO
-1 -0.6 0 0.6 1 x
( )
NB NM NS 1 ZE PS PM PB
i/
x ZE
x ZE
ZE
ii/
NS
x PS
x ZE
NS
Iii/
x=PS
NM
x PS
x PO
NM
Iv/
x=PB
NM
x PB
x ZE
NM
v/
x=PB
NB
x PB
x PO
NB
x
x NB NS ZE PS PB
NE PB PM PS ZE NS
ZE PM PS ZE NS NM
PO PS ZE NS NM NB
Dùng Matlab:
>>fuzzy
Chọn hệ Sugeno:
Ngõ ra y:
TH : x1’=-0.5;x2’=0.6:
Bước 7: Mô phỏng, đánh giá kết quả , tinh chỉnh các thông số của bộ điều khiển để đạt chất lượng
mong muốn
Đặt biến trạng thái x1 x; x 2 x . Phương trình biến trạng thái hệ phi tuyến:
x1 x 2
mg sin
x 2
J
( 2 m)
R
và dx/dt
>>initdktmbt3
J=0.000013
m=1.7
l=0.6
R=0.005
g=9.81
x0=0.1
x_dot0=-0.1
file initdktmbt3.m
>>simulink
Sơ đồ mô phỏng:
TH 1: x0=0 và x_dot0=0
Nhận xét: Tín hiệu ra y bằng 0. Tín hiệu điều khiển u bằng 0. Hệ giữ cân bằng bóng trên thanh.
TH 2: x0=0.1 và x_dot0=-0.1
Nhận xét: ngõ ra y tiến về 0 sau 3 s. Tín hiệu điều khiển u, là theta tiến về 0 sau 3 s.
TH 3: x0=0.2 và x_dot0=-0.2
Nhận xét:
Tín hiệu ra y tiến về 0 sau 4 giây. Tín hiệu điều khiển u tiến về 0 sau 4 s.
Kết luận:
Trong ba trường hợp, tín hiệu ra y đều tiến về 0. Tín hiệu điều khiển u tiến về 0. Bộ điều khiển mờ
hoạt động tốt và giữ cân bằng bóng trên thanh.
(t ) : góc giữa thanh nối xe-vật nặng và phương thẳng đứng (rad).
Thông số hệ thống:
Thiết kế bộ điều khiển mờ điều khiển vị trí x(t) của hệ cần trục bám theo vị trí đặt xd(t) cho trước
nằm trong miền 0 xd 0.8 (m) với sai số xác lập bằng 0. Tinh chỉnh bộ điều khiển mờ sao cho
đáp ứng nhanh nhất có thể được và vật nặng ít dao động.
-biến ra là u.
-Vận tốc của sai lệch de/dt : -0.5<=de/dt<=0.5 (m/s). Suy ra K2=1/0.5=2.
Sơ đồ khối hệ thống điều khiển: dùng PD mờ vì góc hay vị trí có thể tiến ra vô cùng khi u có giá
trị cụ thể ( xe chạy m hay con lắ quay hoài). Hệ có khâu tích phân lí tưởng.
xd + e Bộ điều khiển u u x
Hệ
K1
mờ Ku
1
- d/
dt K2 e
Bước 3: Định nghĩa các giá trị ngôn ngữ cho các biến vào, ra. Định lượng các giá trị ngôn ngữ
bằng các tập mờ.
(e )
NB NS 1 ZE PS PB
(e )
NE 1 ZE PO
-1 -0.6 0 0.6 1 e
(u )
NB NM NS 1 ZE PS PM PB
u E
e NB NS ZE PS PB
NE NB NM NS ZE PS
ZE NM NS ZE PS PM
PO NS ZE PS PM PB
Dùng Matlab:
>>fuzzy
Chọn hệ Sugeno:
Ngõ ra u:
TH : x1’=-0.4;x2’=0.6:
Bước 7: Mô phỏng, đánh giá kết quả , tinh chỉnh các thông số của bộ điều khiển để đạt chất lượng
mong muốn
x1 x 2
( M m) g sin x1 mg cos x1 .(sin x1 ).x 22 cos( x1 ).u
x 2
ml (cos x1 ) 2 ( M m)l
x 3 x 4
u ml (sin x1 ) x 22 mg cos x1 .(sin x1 )
x 4
M m m(cos x1 ) 2
>>initdktmbt41
M=0.4
m=1.4
L=1.5
g=9.81
theta0=0.1
theta_dot0=-0.1
x0=0.1
x_dot0=-0.1
file initdktmbt41.m
>>simulink
Sơ đồ mô phỏng:
Nhận xét: Tín hiệu u gần bằng 0. Tín hiệu x bám khá tốt theo tín hiệu đặt xd. Tín hiệu theta dao
động nhỏ quanh 0 (phạm vi -0.1 đến 0.1 rad). x_dot bằng 0. Theta_dot dao động quanh 0 (phạm
vi -0.2 đến 0.2 rad/s).
(t ) : góc giữa thanh nối xe-vật nặng và phương thẳng đứng (rad).
Thông số hệ thống:
1.Trình bày thiết kế mạng noron và huấn luyện mạng học bộ điều khiển PD mờ điều khiển hệ cần
trục
x1 x 2
( M m) g sin x1 mg cos x1 .(sin x1 ).x 22 cos( x1 ).u
x 2
ml (cos x1 ) 2 ( M m)l
x 3 x 4
u ml (sin x1 ) x 22 mg cos x1 .(sin x1 )
x 4
M m m(cos x1 ) 2
>>initdktmbt41
M=0.4
m=1.4
L=1.5
g=9.81
theta0=0.1
theta_dot0=-0.1
x0=0.1
x_dot0=-0.1
file initdktmbt41.m
>>simulink
-Mở sơ đồ Simulink điều khiển PD mờ điều khiển hệ cần trục để tạo dữ liệu huấn luyện
u (t ) ~
y f (e( k ), e( k 1))
e(k)
……. U(k)
E(k-1)
Lớp ẩn có N noron
Chọn N=10
Tập dữ liệu:
Ta vào sơ đồ simulink Pd mờ và chỉnh sửa lại, sao chép khối noron này vào sơ đồ. Sơ đồ điều
khiển dùng mạng noron:
Nhận xét: Tín hiệu u gần bằng 0. Tín hiệu x bám khá tốt theo tín hiệu đặt xd. Tín hiệu theta dao
động nhỏ quanh 0 (phạm vi -0.2 đến 0.2 rad, có lúc trong -0.4 đến 0.4 rad). x_dot bằng 0. Theta_dot
dao động quanh 0 (trong khoảng thời gian 0 đến 20s, và 40 đến 60 s).
Bài 3: Sử dụng GA chỉnh định tối ưu bộ điều khiển PID điều khiển nhiệt độ của lò nhiệt.
Thông số hệ thống:
Tham số: (k p , k i , k d ) T
Tím J ( ) min
t t
J e 2 (t )dt u 2 (t )dt min
0 0
n n
J e 2 (k ) u 2 (k )
k 1 k 1
Giá trị đặt (step) là Um.1(t), trong đó Um là giá trị nhiệt độ đặt, 1(t) là hàm nấc thang đơn vị.
Ke T1s
G( s)
T2 s 1
Ta mã hóa thập phân thông số thành nhiễm sắc thể có 3 đoạn gen ứng với kp, ki và kd.
Kp được mã hóa thập phân thành đoạn gen có 5 chữ số có nghĩa, vị trí dấu chấm thập phân là 3,
với độ chính xác : 0.000001
Ki được mã hóa thập phân thành đoạn gen có 5 chữ số có nghĩa, vị trí dấu chấm thập phân là 3,
với độ chính xác : 0.000001
Kd được mã hóa thập phân thành đoạn gen có 5 chữ số có nghĩa, vị trí dấu chấm thập phân là 2,
với độ chính xác : 0.000001
Hệ số rho=0.2.
0 k p 160
0 k i 160
0 k d 160
1
fitness
J 0.001
Tại lần 0:
1
fitness0
J 0 0.001
Chọn lọc: là chọn lọc sắp hạng tuyến tính. ( s k s k 1 pk , với pk là xác suất).
Đột biền..
Kết quả:
i/rho=0.2:
Kp0 = 0.0032
Ki0 = 0.0011
Kd0 = 0.0136
J0 = 3.7404e+009
Kết quả điều khiển tối ưu sau khi chỉnh định tham số dùng GA:
Kp = 0.0104
Ki = 6.0000e-004
Kd = 0.0233
J = 1.6647e+009
Nhận xét: Tín hiệu ra bám khá tốt giá trị đặt (160 độ). Thời gian xác lập khoảng 40 s. Tín hiệu
điều khiển u tiến về 0 sau 40 s.
Trong điều khiển PD mờ cho hệ cần trục, chúng ta có thể dung giải thuật di truyền để chỉnh thong
số hàm lien thuộc của bộ điều khiển mờ hay chỉnh thong số K2.
xd + e Bộ điều khiển u u x
Hệ
K1
mờ Ku
1
- d/
dt K2 e
Định nghĩa các giá trị ngôn ngữ cho các biến vào, ra. Định lượng các giá trị ngôn ngữ bằng các
tập mờ.
(e )
NB NS 1 ZE PS PB
-1 P1 P2 0 P3 P4 1 e
(e )
NE 1 ZE PO
-1 P5 0 P6 1 e
(u )
NB NM NS 1 ZE PS PM PB
-1 P7 P8 0 P9 P10 1 u
Chúng ta mã hóa thập phân thong số thành nhiễm sắc thể có 11 đoạn gien ứng với P1, P2, P3,
P4, P5, P6, P7 P8, P9, P10 và K2.
Tìm J ( ) min
Có thể chọn
t t
J e 2 (t )dt u 2 (t )dt min
0 0
n n
J (k ) e 2 (k ) . u 2 (k ) min
k 1 k 1
1
Hàm thích nghi: fitness
J
P1 được mã hóa thập phân thành đoạn gen có 3 chữ số có nghĩa, vị trí dấu chấm thập phân là 0,
với độ chính xác : 0.000001
P2 được mã hóa thập phân thành đoạn gen có 3 chữ số có nghĩa, vị trí dấu chấm thập phân là 0,
với độ chính xác : 0.000001
P3 được mã hóa thập phân thành đoạn gen có 3 chữ số có nghĩa, vị trí dấu chấm thập phân là 0,
với độ chính xác : 0.000001
P4 được mã hóa thập phân thành đoạn gen có 3 chữ số có nghĩa, vị trí dấu chấm thập phân là 0,
với độ chính xác : 0.000001
P5 được mã hóa thập phân thành đoạn gen có 3 chữ số có nghĩa, vị trí dấu chấm thập phân là 0,
với độ chính xác : 0.000001
P6 được mã hóa thập phân thành đoạn gen có 3 chữ số có nghĩa, vị trí dấu chấm thập phân là 0,
với độ chính xác : 0.000001
P7 được mã hóa thập phân thành đoạn gen có 3 chữ số có nghĩa, vị trí dấu chấm thập phân là 0,
với độ chính xác : 0.000001
P8 được mã hóa thập phân thành đoạn gen có 3 chữ số có nghĩa, vị trí dấu chấm thập phân là 0,
với độ chính xác : 0.000001
P9 được mã hóa thập phân thành đoạn gen có 3 chữ số có nghĩa, vị trí dấu chấm thập phân là 0,
với độ chính xác : 0.000001
P10 được mã hóa thập phân thành đoạn gen có 3 chữ số có nghĩa, vị trí dấu chấm thập phân là
0, với độ chính xác : 0.000001
K2 được mã hóa thập phân thành đoạn gen có 3 chữ số có nghĩa, vị trí dấu chấm thập phân là 0,
với độ chính xác : 0.000001
Hệ số rho=10000.
1 P1 0
1 P2 0
0 P3 1
0 P4 1
1 P5 0
0 P6 1
1 P7 0
1 P8 0
0 P9 1
0 P10 1
0 K 2 1.25
Chọn lọc: là chọn lọc sắp hạng tuyến tính. ( s k s k 1 pk , với pk là xác suất).
Giải mã thập phân để biết P1,P2, P3, P4, P5, P6, P7, P8, P9, P10, K2.
3.4.Điều khiển quan sát dùng các công cụ tính toán mềm.
Biểu diển hệ phi tuyến dùng phương trình vi phân hay hệ phương trình trạng thái.
f-1(.) F(.)
R(k+1) u(k) y(k+1)
NN/F
z-1 U(k-1)
M
Đối tượng
z-m+1 U(k-m+1) u(k) y(+1)
R(k+1)
z-1
Y(k)
z-n+1
Y(k-n+1) Mô hình ngược
Mô hình ngược sau khi nhận dạng sẽ được sử dụng để điều khiển đối tượng.
Bài tập 9:
b u
l
Trong đó u(t) là moment tác động vào trục quay con lắc.
Thiết kế bộ điều khiển mô hình ngược để hệ con lắc bám theo tín hiệu đặt trong miền
/ 3 / 3 (rad)
Mô hình thuận:
H(k+1)=f(h(k),u(k))
Mô hình ngược:
Mạng noron dùng để nhận dạng mô hình ngược của con lắc:
y (3) y (4) .. y( K )
y (2) y (3) ... y ( K 1)
X
y (1) y (2) ... y (k 2)
Tín hiệu vào
u (1) u ( 2) ... u ( K 2)
Lớp ẩn: N=15 noron, ngõ ra lớp ẩn dùng hàm kích hoạt logsig.
>>initdktmb9
m=1.3;
l=1.5;
b=1.83;
g=9.81;
k1=1;
k2=1;
uu = zeros(1,N);
while k2 < N
PW = PWmin + round(rand*(PWmax-PWmin));
k2 = k1 + PW;
if k2 > N
k2 = N;
end
uu(k1:k2) = Umin + rand*(Umax-Umin);
k1 = k2;
end
t = (1:N)*Ts;
plot(uu)
sig = [t;uu];
save conlac_Input sig
>>signal_gen_cl
File Traininv_conlac.m:
>>Traininv_conlac
Sơ đồ mô phỏng:
Tín hiệu vào r(t): dùng signal builder để tạo. Thí dụ:
Kết quả:
theta0=0.001;theta_dot0=-0.001
Nhận xét: Tín hiệu ra y (theta) bám tốt tín hiệu vào r(t). Tín hiệu điều khiển u bằng 0 từ 0 s đến
20 skhác 0 và tiến về 1,5 từ giây 80.
R(t) + C u P y
-
M
ym
N(t)
R(t) + Mô hình u y
ĐTĐK
ngược
- NN/FM
Mô hỉnh
thuận ym
NN/FM
ym
u=uD
Plant
Fuzzy controller
T
UD= (x)
Adaptation law
(0) töø
f e T Pn (x )
thoâng tin ñieàu khieån
. 1 e x (t )
x(t ) u (t ) (1)
1 e x(t )
1 e x (t )
trong ñoù haøm phi tuyeán f(x)= giaû thieát chöa bieát . Muïc tieâu cuûa ta laø söû duïng boä ñieàu khieån
1 e x (t )
môø thích nghi tröïc tieáp ñeå hieäu chænh x(t) tieán veà 0, nghóa laø ym=0. Roõ raøng heä (1) khoâng oån ñònh
. 1 e x (t ) . 1 e x(t )
khi ñieàu khieån baèng 0. Thaät vaäy, khi x (t ) 0 vôù i x>0 vaø x ( t ) 0 vôùi x<0.
1 e x (t ) 1 e x (t )
Ta choïn =1 vaø ñònh nghóa 6 taäp môø N3, N2, N1, P1, P2, P3 treân khoaûng [-3 , 3] vôùi haøm thaønh vieân
N3(x)=1/(1+exp(5(x+2))), N2(x)=exp(-(x+1.5)2), N1(x)=exp(-(x+0.5)2),
Trong ñoù PB(u)=exp(-(u-2)2), vaø NB(u)=exp(-(u+2)2). Hai luaät naøy coù ñöôïc baèng caùch xem xeùt vaán
ñeà laø ñieàu khieån x(t) tôùi 0. Vì vaäy neáu x laø aâm thì tín hieäu ñieàu khieån u(x) phaûi laø döông lôùn (PB) ñeå
. .
maø x 0 . Maët khaùc , neáu x laø döông thì ñieàu khieån u(x) phaûi laø aâm lôùn (NB) ñeå maø x 0 . Hình 24.3
vaø 24.4 minh hoïa x(t) trong tröôøng hôïp khoâng coù vaø coù luaät ñieàu khieån môø (2) vaø (3), vôùi ñieàu kieän
ñaàu x(0)=1. Ta nhaän thaáy raèng töø hình 2 vaø 3 : (a) ñieàu khieån môø thích nghi tröïc tieáp coù theå chænh heä
tôùi goác maø khoâng söû duïng luaät ñieàu khieån môø (2) vaø (3) vaø (b) vaø baèng caùch söû duïng luaät ñieàu khieån
môø , toác ñoä hoäi tuï trôû neân nhanh hôn.
Plant
Fuzzy controller
^ ^
(n)
UI= [ f ( x | f ) y m k T e] / g ( x | g )
f, g
Adaptation law
Ví d :
Trong ví duï naøy , ta giaû söû raèng khoâng coù luaät ngoân ngöõ (23.3) vaø 23.4)
T
If x1 is F1 and … and xn is FnT then f(x) is C T (23.3)
vaø
s
If x1 is G1 and … and xn is Gns then g(x) is D s (23.3)
Dieãn taû g(x), trong ñoù Fi T , C T , Gis , vaø Ds laø caùc taäp môø, T=1,2,3,…Lf vaø s=1,2,…, Lg.
x1 / 6 2
Chuùng ta choïn p1=p2=q1=q2=5, vaø A1l A2l B1l B2l vôùi A1 ( x1 ) exp[( ) ],
1
/ 24
x1 / 12 2 x x / 12 2
A ( x1 ) exp[(
2 ) ] , A3 ( x1 ) exp[( 1 ) 2 ] , A4 ( x1 ) exp[( 1 ) ],
1
/ 24 1
/ 24 1
/ 24
x / 6 2
A5 ( x1 ) exp[( 1 ) ] , maø naèm trong khoaûng [-/6, /6]. Vì taàm cuûa f(x1, x2) lôùn hôn nhieàu
1
/ 24
cuûa g(x1,x2), ta choïn 1=50 vaø 2=1.Hình minh hoïa x1(t) voøng kín cuøng vôùi ngoõ ra lyù töôûng ym(t)=
(/30)sin(t) cho ñieàu kieän ñaàu x(0)=(- /60, 0)T.
x1 0 1 x1 0
x 0 0 x 1 ( f ( x) g ( x).u )
2 2
x
y 1 0 1
x2
mlx22 sin x1 cos x1 (mc m) g sin x1
f ( x)
4
ml cos 2 ( x1 ) l (mc m)
3
cos x1
g ( x)
4
ml cos 2 ( x1 ) l (mc m)
3
mc=1 kg
m=0,1 kg
l=0,5 m
g=9,81 m/s2.
Sơ đồ Simulink:
Khối psi(x):
Kết quả:Tín hiệu ym (màu đỏ) và tín hiệu ra y (theta) (màu xanh):
Nhận xét: Tín hiệu ra y bám tốt tín hiệu vào ym. Tín hiệu
điều khiển u dao động hình sin .
Chương 5: Một số ứng dụng điều khiển thông minh cho hệ phi tuyến
5.1.Cấu trúc cơ bản của một hệ thống điều khiển thông minh
x: vị trí xe (m).
x1 x 2 f 1
( M m) g sin x1 ml cos x1 .(sin x1 ).x 22 cos( x1 ).u
x 2 f2
( M m)l ml (cos x1 ) 2
x 3 x 4 f 3
ml (sin x1 ) x 22 mg cos x1 .(sin x1 ) u
x 4 f4
M m m(cos x1 ) 2 (4)
Bộ điều khiển có 4 biến vào: góc lệch con lắc, vận tốc góc của con lắc, vị trí xe và tốc độ xe. Biến
ra là lực điều khiển u.
Sơ đồ điều khiển:
K1 Hệ con lắc
ngược
Bộ điều
khiển mờ K4
K2
x
K3 x
K4
Định nghĩa các giá trị ngôn ngữ cho các biến vào ra:
NE ZE 1 PO
-1 0 1
Góc lệch
NE ZE 1 PO
-1 0 1
NE ZE 1 PO
-1 0 1
Vị trí xe
NE ZE 1 PO
-1 0 1
Vận tốc xe
NB NM NS ZE 1 PS PM PB
ZE ZE
ZE PO
1/ x ZE 2/ x ZE
x ZE x ZE
u ZE u PS
ZE NE
NE ZE
3/ x ZE 4/ x ZE
x ZE x ZE
u NS u NS
NE NE
PO NE
5/ x ZE 6/ x ZE
x ZE x ZE
u ZE u NM
PO PO
PO PO
7/ x NE 8/ x ZE
x ZE x ZE
u PS u PM
PO
PO
9/ x PO
x ZE
u PB
Từ đây suy ra 81 qui tắc (dựa vào tính đối xứng, và các trạng thái liền nhau). (trích dẫn từ sách Hệ
thống điều khiển thông minh của tác giả Huỳnh Thái Hoàng).
Chỉnh định thông số bộ điều khiển mờ và thực hiện 3 mô phỏng hệ thống điều khiển dùng Matlab
từ các trạng thái đầu khác nhau để chứng tỏ rằng bộ điều khiển mờ có thể giữ cân bằng hệ xe-con
lắc ngược..
Chọn hệ mờ Sugeno.
Tín hiệu ra u:
Các luật :
TH a: x1’=-0.4;x2’=0.5:x3’=-0.3;x4’=0.5
Mô phỏng:
Khởi động Matlab
>>initdktmbt32
File initdktmbt32.m
M=1
m=0.1
L=1
g=9.81
theta0=0.1
theta_dot0=-0.1
x0=0.1
x_dot0=-0.1
>>simulink
Nhận xét: Tín hiệu ra theta và x tiến về 0. Tín hiệu điều khiển u khác tiến về 0. Con lắc giữ cân
bằng.
Nhận xét:
Tín hiệu theta bằng 0 và x bằng 0. Tín hiệu u bằng 0. Hệ con lắc giữa cân bằng thẳng đứng.
Lực u:
Nhận xét:
Tín hiệu theta tín về 0 sau 6s. Tín hiệu x tiến về 0 sau 6s. Tín hiệu điều khiển u tiến về 0 sau 6s.
Con lắc giữ cân bằng.
Kết luận: bộ điều khiển mờ đã giữ cân bằng hệ con lắc ngược.
Mô hình robot thì liên quan lực bên trong. Lực bên trong bao gồm lực quán tính, lực coriolis và
lực ma sát. Lực bên ngoài bao gồm lực trọng trường và tải ngoài. Không có xem xét ma sát và
nhiễu, cánh tay robot 2 khớp được mô tả như sau:
M ( q ) q v ( q, q ) g ( q ) (1)
T1
lc1 q1 m1, I1 l2
lc2
l1 T
2
q2 m2, I2
Trong đó
v(q, q ) c(q)[q 2 ] B(q)[qq ], q R 2 là vecto tọa độ tổng quát.M(q) là ma trận quán tính 2x2
vì khối lượng chuyển động. C (q)[q 2 ] là vecto lực li tâm, B ( q )[ q q ] là lực Coriolis, và g(q) là vecto
lực trọng trường, là vecto momen điều khiển, q là góc lệch, q là vận tốc góc. Xem xét cánh tay
robot 2 bậc tự do với 2 khớp được minh họa ở hình 1. Lấy các kí hiệu trong bảng 1, động học
robot được thể hiện như sau:
Phần tử Mij(q) (I,j=1,2) của ma trận quán tính M(q) là như sau:
Phần tử Cij (q, q ) (I,j=1,2) được dẫn ra từ ma trận li tâm và Coriolis C ( q, q ) là như sau:
Ki
+
Robot
refi + e Bộ điều Kp + i
khiển
- mờ +
d/dt
Kd
-
d/dt
Luật điều khiển được dùng trong chiến lược điều khiển PID như sau:
de
pid K p e K i edt K d (6)
dt
Bộ điều khiển mờ được kết hợp với bộ điều khiển PID để cải thiện sự bền vững của bộ điều khiển
loại PD.
Tham khảo:
1/Kshetrimayum Lochan and B.K. Roy, Control of two-link 2-DOF robot manipulator using fuzzy
logic techniques: a review
Website link:
https://www.researchgate.net/publication/270048181_Control_of_Two_Link_2-
DOF_Robot_Manipulator_using_Fuzzy_Logic_Techniques_a_Review
Đồ án chuyên ngành , Điều khiển mờ tốc độ động cơ một chiều dùng vi điều khiển DSPIC30F4013
Sinh viên thực hiện: Nguyễn Cường Thịnh,mã số: 09095981, lớp ĐHĐT5A, Tp. HCM tháng 12
năm 2013.