You are on page 1of 199

1

Trường Đại học Công nghiệp Tp. Hồ Chí Minh

Khoa Công nghệ Điện tử

Bộ môn Hệ thống thông minh

Bài giảng Điều khiển thông minh


Biên soạn: ThS. Huỳnh Minh Ngọc

Hệ: Đại học chính qui

Lưu hành nội bộ

Tp. Hồ Chí Minh, ngày 24 tháng 8 năm 2021

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


2

Mục lục

Chương 1: Tổng quan về điều khiển thông minh 4

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 4: Điều khiển thông minh dựa vào mô hình. 132

Chương 5: Một số ứng dụng điều khiển thông minh cho hệ phi tuyến 153

Tài liệu liệu tham khảo

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


3

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.

Tài liệu tham khảo:

1/Clarence W. de Silva, Intelligent control, CRC, 1995.

2/James J. Buckley, Esfandiar Eslami, An introduction to fuzzy logic and fuzzy sets, Physics-
Verlag, 2002.

3/Raul Rojas, Neural Networks, Springer, 1996.

4/Melanie Mitchell, An introduction to genetic algorithms, The MIT Press, 1999.

5/K. M. Passino, Fuzzy control, Addison-Wesley, 1998.

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


4

Chương 1: Tổng quan về điều hiển thông minh

1.1.Điều khiển thông thường và điều khiển thông minh

Điều khiển thông thường:

R + e Bộ điều khiển u Đối tượng y

Đo lường
(cảm biến)

Trong đó: r: tín hiệu vào.

E: sai lệch

U: tín hiệu điều khiển

Y: tín hiệu ra.

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.

Điều khiển thông minh:

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.

Điều khiển thông minh có các cấp độ:

-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.

1.2.Khái niệm về điều khiển thông minh:

Hệ thống điều khiển thông minh có các đặc điểm:

-Tính thích nghi- khả năng học.

-Khả năng suy luận.

-Khả năng hoạch định và ra quyết định.

-Khả năng xử lí thông tin phức tạp, không chắc chắn.

-Khả năng sửa sai, dung thứ lỗi.

-Tính tối ưu.

-Khả năng tái cấu hình, mở rộng.

Thí dụ: máy giạt thông minh dùng logic mờ.

1.3.Các phương pháp điều khiển thông minh

Đ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.

-Điều khiển trực tiếp dùng logic mờ.

-Điều khiển trực tiếp dùng mạng nơron.

-Điều khiển trực tiếp dùng giải thuật di truyền.

-Điều khiển dựa vào mô hình.

-Điều khiển thích nghi và điều khiển học.

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:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


6

-Tính toán nhiều (dùng máy tính để giảm bớt).

-Phụ thuộc vào kinh nghiệm của người thiết kế.

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:

-Điều khiển robot.

-Chỉnh động cơ servo.

-Điều khiển mờ phân cấp.

-Cấu trúc lại thông minh của hệ thống sản xuất.

-Thông minh trong tự động hóa.

-Điều khiển nhiều đối tượng thông minh.

-Cấu hình lại tay máy tự động.

-Trộn lẫn thông minh của cảm biến và truyền động.

-Các sản phẩm dân dụng.

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


7

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:

Logic mệnh đề:

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.

Thí dụ: Than đá là màu trắng.

Tuyết thì lạnh.

Nhiệt độ là trên 500C.

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.

Bảng sự thật cho phép phủ định:

P 
p
1 0
0 1
 
Trong đó mệnh đề p là đúng , p là sai. Khi p là sai , p là đúng.

Bảng dự thật cho phép giao:

P Q pq
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.

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


8

Bảng sự thật của phép hợp:

.p q pq
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.

Bảng sự thật của phép kéo theo:

.p q pq
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.

Mệnh đề “Nếu p thì q” p  q sai khi p đúng và q sai.

Bảng sự thật cho phép tương đương:

.p q pq
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õ:

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 

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


9

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).

i/T(a,b)=min(a,b) với a,b  [0,1]

ii/T(a,b)=prod(a,b) = a  b với a,b  [0,1]

iii/T(a,b)=max(0, a+b-1) với a,b  [0,1] (gọi là BSUM-tổng bị chặn)

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


10

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).

i/S(a,b)=max(a,b) với a,b  [0,1]

ii/S(a,b)=min(1,a+b) với a,b  [0,1] (toán tử BSUM)

Do đó : tv ( p  q )  S (tv ( p ), tv ( q ))

Phép kéo theo:

Do đó : tv ( p  q )  I (tv ( p ), tv ( q ))

I là toám tử min hay prod

i/I(a,b)=min(a,b) với a,b  [0,1]

ii/I(a,b)=prod(a,b)= a  b với a,b  [0,1]

hay:

i/ tv ( p  q )  tv( p  q ) (a)

ii/ tv( p  q)  min(1, 1  tv( p)  tv(q)) (b)

iii/ tv ( p  q )  max(1  tv ( p ), min(tv ( p ), tv ( q ))) (c)

Ví dụ, ta dùng toán tử S để đánh giá (a) như sau:

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:

min(1, 1  min(tv( p), tv(q))  tv(r ))

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ờ:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


11

~
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]

Kí hiệu tập mờ: chữ cái có dấu ~ (ngã) ở trên.

Tập mờ trên cơ sở rời rạc:

~  ( xi )
A
i xi

~ 0,3 0,6 1.0 0,8 0,4 1


Thí dụ: A      
3 4 5 6 7 8

1 1

0,8

0,6 0,4

0,3

3 4 5 6 7 8

Tập mờ dựa trên cơ sở liên tục:

~  ( 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ài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


12

 B~ ( x)

0 7 x

Thí dụ: Hàm liên thuộc dạng xung tam giác

 (x )

x  c1 c2  x
p1  c1 c 2  p1

0 c1 p1 c2 x

Hàm liên thuộc: có các tính chất sau

 (x )

Lõi

Độ cao

0 x

Biên

Miền nền

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


13

Miền nền: là miền thuộc tập cơ sở sao cho  ( x )  0 .

Biên là miền thuộc tập cơ sở sao cho 0   ( x)  1 .

Lõi: là miền thuộc tập cơ sở sao cho  ( x)  1 .


~
Độ cao: cận trên nhỏ nhất của hàm liên thuộc hgt ( A)  sup  A~ ( x) .
x X

Tập cắt ngưỡng 


~ ~ ~
Cho tập mờ A có hàm liên thuộc  A~ ( x) . Tập cắt ngưỡng  của tập mờ A là tập mờ A có hàm
liên thuộc xác định bởi:

 A~  min ,  A~ ( x)

Biến ngôn ngữ:

Biến ngôn ngữ là biến chỉ nhận giá trị ngôn ngữ.

Thí dụ: biến ngôn ngữ nhiệt độ.

Giá trị ngôn ngữ: rất thấp, thấp, trung bình, cao và rất cao.

Biết rằng giá trị vật lí của nhiệt độ : 250C<x<2000C

Thí dụ: Con lắc đơn

Biến ngôn ngữ “góc nghiêng” của con lắc.

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 ..

N: Negative, P: positive, Z: zero, B: Big, S: Small.

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


14

 ( )

NB NS ZE 1 PS PB

-30 -20 -10 0 10 20 30 

Lưu ý:

Biến vào: 3 hay 5 hàm liên thuộc.

Biến ra: 5,7 hay 9 hàm liên thuộc.

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


15

Phép toán trên tập mờ:

Giao hai tập mờ:


~ ~
AB:  A~  B~ ( x)  T  A~ ( x),  B~ ( x)

T là min (cực tiểu) hay prod (tích).


~ ~
AB:  A~  B~ ( x)  min A~ ( x),  B~ ( x)

~ ~
AB:  A~  B~ ( x)  prod  A~ ( x),  B~ ( x)   A~ ( x)   B~ ( x)

Hợp hai tập mờ:


~ ~
AB:  A~  B~ ( x)  S  A~ ( x),  B~ ( x)

S là max (cực đại) hay BSUM (tổng bị chặn).


~ ~
AB:  A~  B~ ( x)  max A~ ( x),  B~ ( x)

~ ~
AB:  A~  B~ ( x)  min1,  A~ ( x)   B~ ( x)

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


16

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


17

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


18

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


19

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


20

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


21

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


22

Suy luận mờ:

Mệnh đề mờ là phát biểu có chưa thông tin không rõ ràng.


~ ~
Kí hiệu: P : x A
~
Thí dụ: P : Nhiệt độ là cao.
~
Với t0C=350C thì tv ( P )  ?

Biến ngôn ngữ “nhiệt độ” có giá trị ngôn ngữ “cao”.

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


23

 (x )

0 30 35 40 x

Giá trị thật của mệnh đề là:


~
tv( P )   A~ ( x)

~ 35  30 x  30
tv( P )   cao (35)   0,5 ,  ( x) 
40  30 10

Các phép toán trên mệnh đề:

-Phép phủ định:

Giá trị thật là:

~ ~
tv ( P )  1  tv ( P )  1   A~ ( x)

Ví dụ: t0C=320C

~
tv ( P )  1   cao ( x )  1  0,2  0,8

Phép giao hai mệnh đề:


~ ~ ~ ~
P Q: x A and yB
~ ~ ~ ~
 P Q: ( x, y )  A  B

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


24

Giá trị thật là:


~ ~
tv( P  Q )   A~  B~ ( x, y )  T  A~ ( x),  B~ ( y )

T là min hay prod.


~
Ví dụ: P : mực chất lỏng là thấp.
~
Q : van tới máy bơm là trung bình.

 ( x1 )  ( x2 )

1 1

30 80 x1 500 1000 1500 x2

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 
 min0,8, 0,6  0,6

Lưu ý: tv: true value (giá trị thật).

Phép hợp hai mệnh đề:


~ ~ ~ ~
PQ: x A or yB
~ ~ ~ ~
 PQ: ( x, y )  A  B

Giá trị thật là:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


25

~ ~
tv( P  Q )   A~  B~ ( x, y )  S  A~ ( x),  B~ ( y )

S là max hay BSUM.

Ví dụ: x1=45, x2=900

~ ~
tv( P  Q )  S  thap ( x1 ),  TB ( x 2 )
 max thap (45),  TB (900)
 80  45 900  500 
 max  , 
 80  30 1000  500 
 max0,7, 0,8  0,8

Phép toán kép theo:


~ ~ ~ ~
P  Q : Nếu x  A thì y  B .
~ ~
tv( P  Q )  I  A~ ( x),  B~ ( y )

I thường là min hay prod.

Ví dụ: x1=55, x2=600

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  min0,5, 0,2  0,2

Quy tắc mờ:

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.

Ví dụ: Hệ con lắc ngược trên xe

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


26

- +

Nếu (  là ZE) và (  là ZE) thì (u là ZE)

Nếu (  là PS) và (  là ZE) thì (u là PS)

Nếu (  là PS) và (  là NE) thì (u là ZE)

Hệ qui tắc mờ gôm nhiều quy tắc mờ.

Hệ có k quy tắc mờ có n biến ngõ vào có dạng tổng quát:


~ ~ ~
R1: Nếu x1 là A1,1 và … xn là An ,1 thì y là B1 .

~ ~ ~
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 mờ:

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ụ:

R: Nếu (nhiệt độ nhỏ hơn 00C) thì (nước đóng băng).

P Q

Nếu t0C=100C nước không đóng băng.

tv(P)=0 tv(Q)=0

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


27

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.

Suy luận mờ:


~ 
Nếu (x là A ) thì (y là B )

Nếu biết x là x’ , tính y.

Có 2 qui tắc suy luận mờ:

-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

Nếu x1 là LO (thấp) và x2 là NE (âm) thì y là VH (rất cao)

X1=3, x2= -5

Dùng suy luận Max-Min và Max-Prod.

i/Dùng Max-Min

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


28

83 5
 1   A~ ( x1' )    0,83
1
82 6
0  (5) 1
 2   A~2 ( x 2' )    0,33
0  (15) 3
  min 1 ,  2   min0,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

83 5
 1   A~ ( x1' )    0,83
1
82 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.

Suy luận từ hệ qui tắc:

-Suy luận từng quy tắc.

-Sau đó hợp lại.

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


29

Hệ mờ:

CƠ sở luật
Mờ hóa
Ngõ vào mờ (hệ quy
tắc mờ)

Phương pháp suy Giải mờ


luận
Ngõ ra

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.

Mờ hóa: chuyển các giá trị rõ thành các tập mờ.

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.

Phương pháp suy luận: dùng Max-Min hay Max-Prod.

Mờ hóa: chuyển giá trị mờ thành giá trị rõ.

Hệ mờ Mamdani: giải mờ dùng

-phương pháp độ cao

SOM: cực đại bé nhất (smallest of maximum)

LOM : cực đại lớn nhất (largest of maximum).

MOM: trung bình cực đại (medium of maximum)

-phương pháp trọng tâm.: hay dùng trong điều khiển.

Phương pháp trọng tâm (centroic):

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


30

y* 
 y ( y)dy   y  ( y )
i i

  ( y)dy   ( y ) i

Phương pháp pháp trung bình:

a   (a)  b   (b)
y* 
 (a)   (b)

Hệ mờ Takagi-Sugeno (TS): giải mờ dùng

-phương pháp trung bình có trọng số (weighted average ).

y* 
 y k k

 k

 k : là độ đúng của mệnh đề điều kiện.

-phương pháp tổng có trọng số (weighted sum).

y *    k yk

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


31

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


32

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


33

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


34

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


35

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


36

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


37

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


38

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


39

Sử dụng Fuzzy toolbox:

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õ vào x1:

Ngõ vào x2:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


40

Ngõ ra y:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


41

Các qui tắc:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


42

1.1.DÙng phương pháp MAX-MIN:

TH a: x1’=-8;x2’=7:

Kết quả suy luận mờ:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


43

TH b: x1’=-13;x2’=18:

Kết quả suy luận mờ:

1.2.DÙng phương pháp MAX-PROD:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


44

TH a: x1’=-8;x2’=7:

Kết quả suy luận mờ:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


45

TH b: x1’=-13;x2’=18:

Kết quả suy luận mờ:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


46

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 
 
 

Tại x2=7 suy ra:

15  (7) 
 
  Lo ( x2 )  15  (5)  0,7 
 ( x1 )   ME ( x2 )   7  (5)   0,2
15  (5) 
  HI ( x2 )   0   0 
 
 

Luật mờ : rút gọn còn 4 qui tắc.

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ẽ).

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


47

 ( y)

NE ZE1 PS PM

0,67

0,33 0,2

-12 -6 0 6 12 18 y

Giải mờ:

( 6)  0,67  (12)  0,2  0  0,33  (6)  0,2  0,42


y*    0,3
0,67  0,2  0,33  0,2 1,4

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.

2.2.Mạng thần kinh nhân tạo (mạng nơron)

2.2.1. Mạng nơron

Cấu tạo nơron sinh học.

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


48

Cấu tạo nơron sinh học.

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.

Noron nhân tạo:

X1

W1

X2 w2   , a() y

wn

Xn

Noron nhận tạo

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


49

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ị.

net  w1 x1  w2 x2  ...  wn xn   : là tổng trọng số của các ngõ vào.

Ngõ ra : y=step(net).

Step: là hàm tác động (activation function).

Nếu net>0 thì y=1

Nếu net<0 thì y=0

Có thể dùng hàm tác động khác như:

-Hàm truyến tính (purelin): a(f)=f

 n 
f=net=   w j x j     w T .x  
 j 1 

x  x1 , x 2 ,..., x n 
T

w  w1 , w2 ,..., wn 
T

-Hàm dạng S đơn cực (logisg):

1
a( f ) 
1  e f

-Hàm dạng S lưỡng cực (tansig):

1  e 2 f
a( f ) 
1  e 2 f

-Hàm dốc bão hòa.

-Hàm dấu, vv…

Cấu trúc mạng noron: gồm có

-Mạng noron truyền thẳng.

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


50

Hình trên minh họa mạng truyền thẳng.

-Mạng noron hồi qui.

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.

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


51

X1=1;x2=0,5; x3=-0,4

W1=0,3; w2=-0,8; w3=0,4;   0,6

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.

Các phương pháp huấn luyện mạng:

-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 đó.

Học có giám sát

Cách đơn giản là học có giám sát.

Tín hiệu vào x Trọng số w Tín hiệu ra y


của mạng

Tín hiệu sai lệch e Bộ tạo tín


hiệu sai
d: Tín hiệu ra
lệch
Mong muốn

Học có giám sát.

Cặp tập mẫu: (x,d)=(đầu vào mong muốn, đầu ra mong muốn)

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


52

Mẫu

1 2 3

1 chu kì huấn luyện (epoch)

Epoch: là 1 chu kì huấn luyện.

Có thể cần vài ngàn epoch mới học được.

Thí dụ: nhận dạng biển số xe, tiếng nói.

Học không giám sát:

Trọng số w của
Tín hiệu vào x mạng Tín hiệu ra y

Học không giám sát

Dùng cho người tự học.

Sơ đồ huấn luyện một noron:

wi (k  1)  wi (k )  wi (k )

wi (k )  .r.x(k )

r=fr(wi(k), x(k),di)

Ví dụ:

net  w1 .x1  w2 .x2  ...  wn .xn  

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


53

-1

X1 w1  0 , a() y

wn

xn

ta thêm 1 ngõ vào là (-1) , trọng số là  . Ngưỡng là 0.

net  w0 .x0  w1 .x1  w2 .x 2  ...  wn .x n  0


net    w1 .x1  w2 .x 2  ...  wn .x n  0

Cấu trúc mạng perceptron:

Mạng Perceptron là mạng truyền thẳng 1 lớp, trong đó :

-hàm xử lí ngõ vào là hàm truyến tính


m
neti   w ji .x j  wiT .x
j 1

-hàm kích hoạt ở ngõ ra là hàm nấc:

1 , net i  0
yi  a(net i )  step (net i )  
0 , net i  0

Ví dụ:

Tính ngõ ra của perceptron, biết rằng:

X1=-1; x2=-0,6; x3=-0,7

W1=0,4; w2=0,4; w3=-0,8,   0,3

Giải: Thêm 1 ngõ vào là (-1) , trọng số là   0,3

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


54

net  w0 .x0  w1 .x1  w2 .x 2  ...  wn .xn  0


net    w1 .x1  w2 .x 2  ...  wn .x n  0
 (1).0,3  0,4.(1)  0,4.(0,6)  (0,8).(0,7)  0  0,38
 net  0,38

Y=a(net)=step(net)=0

Giải thuật học perceptron:

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.

Giải thuật học perceptron:

Start: vecto trọng số w0 được tạo ngẫu nhiên,

Đặt t=0

Test: vecto x  P  N được chọn ngẫu nhiên

Nếu x  P và wt .x  0 thì goto test.

Nếu x  P và wt .x  0 thì goto add.

Nếu x  N và wt .x  0 thì goto test.

Nếu x  N và wt .x  0 thì goto subtract.

Add: đặt wt 1  wt  x và t=t+1, goto test

Subtract: đặt wt 1  wt  x và t=t+1, goto test

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


55

Vecto trong P

P1 vecto trong số

P2

N1
n2

Vecto trong N

Sự trực quan trong không gian ngõ vào.

Giải thuật lan truyền ngược:

Giả sử chúng ta làm việc với mạng có một ngõ vào và một ngõ ra.

Giải thuật lan truyền ngược:

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

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


56

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:

-ngõ ra oi của nút trong bước truyền thẳng.

-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

Mạng có nhiều lớp và giải thuật lan truyền ngược:

Xét mạng 3 lớp:

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):

Lớp ẩn: net q (k )  v qT x(k ) (1  q  l )

z (k )  a h (net q (k ))

Lớp ra: net i (k )  wiT .z (k ) (1  i  n )

yi ( k )  ao (neti (k ))

Bước 3: (lan truyền ngược sai số) Cập nhật trọng số

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


57

Lớp ra:  oi (k )  [(d i (k )  yi (k ))].[a o' (net i (k ))] ( 1  i  n )

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 5: Nếu k<K thì gán k=k+1 và trở lại bước 2.

Nếu k=K thì tiếp tục bước 6.

Bước 6: Kết thúc chu kì huấn luyện. Nếu E   thì kết thúc.

Nếu E   thì gán k=1, E=0 và trở lại bước 2.

Chú ý:

Đạo hàm của hàm tác động:

-Hàm sigmoid đơn cực (logsig):

1
a( f ) 
1  e f

 a ' ( f )  a( f )[1  a( f )]

-Hàm sigmoid lưỡng cực (tansig):

1  e 2 f
a( f ) 
1  e 2 f

 a' ( f )  1 a2 ( f )

Ví dụ:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


58

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


59

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


60

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


61

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


62

Dùng mạng noron để xấp xỉ hàm phi tuyền.

Ví dụ: y=e-x.xin(10x)

X y
F(x)

-
Mạng
noron ynn

N: số noron lớp ẩn

newff: khởi tạo mạng noron.

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')

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


63

Lệnh Matlab

>>thiduNN1

Kết quả:

Tín hiệu y(x):

Tập dữ liệu vào-ra X,D:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


64

Huấn luyện mạng

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


65

Tín hiệu y (đường màu đỏ) và tín hiệu ynn (đường màu đen):

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


66

Nhận xét: ngõ ra mạng noron ynn bám tốt tín hiệu ngõ ra y.

Mạng hàm cơ sở xuyên tâm (RBF)

Ngõ vào Z1 nút RBF

X1

Zj Nút ngõ ra tuyến tính

Xj y

zl

xm

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


67

Mạng RBF.

0 a

Hàm Guass một chiều:

a  x ,

 a2 
z  exp  2
 với exp(x)=ex.
 2 

Ngõ ra mạng RBF:


2
xq
l l 
2 q2
y   wq z q  wq e
q 1 q 1

2.3.Giải thuật di truyền

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:

-Sự mã hóa của bài toán tối ưu hóa.

-Tác vụ đột biến.

-một tập các tác vụ trao đổi thông tin.

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


68

Điểm chia

NST A

NST B

NST kết hợp

Lại

Một ví dụ về lai ghép.

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

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


69

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.

Giải bài toán dùng giải thuật di truyền:

Giải bài toán tối ưu : tìm J ( ) min với   1  2 ...  n 


T

Ví dụ:

+
Động cơ
R(k) e(k) Bộ điều u(k) y(k)
DC
khiển PID
-

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


70

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

Đáp ứng ngõ ra phụ thuộc vào tham số p, Ki và Kd.

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

Suy ra: J ( ) min

1  K p
2  Ki
3  K d

Mã hóa:

i/Mã hóa nhị phân: bộ gen gồm 2 kí hiệu 0 và 1.

Ta cần tìm  *

  K p Ki Kd 
T

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


71

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

Chọn độ dài nhiễm sắc thể là Li:

   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.

Ví dụ: Đoạn gien 1,5  1  20  1,5  K p  20

Độ chính xác   0,001

1 min  1,5;1 max  20

Độ dài chuỗi gien để mã hóa thông số Kp là bao nhiểu?

Giải:

  1 min   20  1,5 
L1  log 2  1 max   log 2    14,18
    0,001 

Suy ra: L1=15.

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

Hỏi giá trị được giải mã của biến 1 là bao nhiêu:

Giải:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


72

 
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

Trong đó DV(si) là giá trị thập phân của chuỗi si.

Như vậy ta chuyển số s1  1000011110 01110 2 sang số thập phân, ta có:

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.

Ii/Mã hóa thập phân:

Bộ gien gồm các kí tự từ 0 đến 9.

Ví dụ: Kp=11,3

Mã hóa thành đoạn gien với độ chính xác   0,001 .

Vùng tìm kiếm : 1,5  K p  20

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


73

Dấu số nguyên 3 số thập phân

5 chữ số có nghĩa

6 gien

Độ chính xác= 1/1000 3 chữa số thập phân.

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

0 là dấu, còn lại 5 chữ số có nghĩa.

Vị trí lưu trữ thập phân là 2.

Dấu dấu dấu

Kp Ki Kd

Hàm thích nghi:

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.

Tìm cực đại:

fitness  J ( )  C (thêm C để có số dương)

1
Tìm cực tiểu: fitness 
J ( )  C

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


74

Chọn lọc tự nhiên:

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.

Cường độ chọn lọc:

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.

Ví dụ: P là quần thể

P={I1, I2. …, IN}

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

 Mỗi lời giải tìm Jứng với fitness.


 20 lần  lấy (tổng của 20 fitness)/20 , ta được fitness trung bình (là M).
M* sau chọn lọc luôn lớn hơn M trước chọn lọc.

Có các phương pháp chọn lọc:

-chọn lọc tỉ lệ.

-chọn lọc đấu vòng.

-chọn lọc cắt,

-chọn lọc sắp hạng tuyến tính, vv…

i/Chọn lọc tỉ lệ:

Xác suất chọn lôc tỉ lệ với độ thích nghi.

P’=chọn lọc tỉ lệ (P)

{ s0 0

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


75

For k 1:N

sk sk-1+fk

}.

For k 1:N

rrandom{0,sN)

Ik’  Ij với j thỏa s j 1  r  s j

P’(I1’, I2’,…,IN’)

Trong đó:

P: là quần thể gồm các cá thể P={I1, I2,…, IN}.

Ik: cá thể (nhiễm sắc thể) thứ k, k=1,2,..,N. N là số cá thể trong quần thể.

fk: độ thích nghi của nhiễm sắc thể thứ k, k=1,2,..,N.

Ví dụ: Quần thể P={I1, I2, I3, I4, I5, I6}

->Độ thích nghi:

F1=15.2

F2=3.8

F3=0.7

F4=5.25

F5=20.6

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


76

F6=1.23

Phương pháp chọn lọc tỉ lệ.

Xác suất chọn lọc cá thể thứ k là:

fk
Pk 
 fk
>> f=[15.2 3.8 0.7 5.25 20.6 1.23]

>> p=f/sum(f)

p=

0.3249 0.0812 0.0150 0.1122 0.4404 0.0263

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

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


77

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ã:

0 15.2 19 19.7 24.95 45.55 46.78

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<s5j=5

+k=2

r=rand*46.78

42.3729

I2’=I5 vì s4<=r<s5j=5

+k=3

r=rand*46.78

5.9404

I3’=I1 vì s0<=r<s1j=1

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


78

+k=4:
r=rand*46.78

42.7277

I4’=I5 vì s4<=r<s5j=5

+k=5:
r=rand*46.78

29.5818

I5’=I5 vì s4<=r<s5j=5

+k=6:
r=rand*46.78

4.5629

I6’=I1 vì s0<=r<s1j=1

Quần thể mới:

PS={I1’, I2’, I3’ I4’, I5’, I6’}={I5, I5, I1, I5, I5, I1}

S: selection (chọn lọc).

ii/Chọn lọc sắp hạng tuyến tính:

Xác suất chọn lôc tỉ lệ với độ thích nghi.

P’=chọn lọc sắp hạng tuyến tính (P)

{ 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

rrandom{0,sN)

Ik’  Ij với j thỏa s j 1  r  s j

P’(I1’, I2’,…,IN’)

Trong đó pk là xác suất.

Lai ghép:

-lai ghép một điểm.

-Lai ghép nhiều điểm.

-Lai ghép đều.

Đột biến:

-đột biến một điểm.

-đột biến nhiều điểm.

2.4.Các phương pháp hồi qui không thông số.

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


80

Chương 3: Điều khiển trực tiếp có tích hợp tư duy con người.

3.1. Điều khiển dùng logic mờ:

3.1.1.Điều khiển mờ:

Luật mờ

Tín hiệu vào + u Đối tượng


Tín hiệu ra

Bài 1:

Hệ bóng và thanh

Hệ bóng và thanh (ball and beam)

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:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


81

 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:

x1  x 2
mg sin 
x 2 
J
( 2  m)
R

Ngõ ra: y=x1

Trong đó  (rad) là góc tạo bởi thanh và phương nằm ngang (tín hiệu vào).

X (m): vị trí bóng trên thanh (tín hiệu ra).

M (kg): khối lượng của bóng.

R (m): bán kính bóng.

G=9.81 m/s2: Là gia tốc trọng trường.

Thông số hệ thống:

J=0.000013 (kg.m2);m=1.7 kg;R=0.005 (m).

1.Trình bày thiết kế bộ điều khiển mờ

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.

Bước 1: Xác định biến vào, biến ra của bộ điều khiển:

-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).

-biến ra là  ., góc lệch của thanh.

Bước 2: Chuẩn hóa biến vào, biến ra của bộ điều khiển.

-Vị trí x: -2 <=x<=2 (m). Suy ra K1=1/2.

-Vận tốc của bóng: dx/dt : -2<=dx/dt<=2. Suy ra K2=1/2.

Góc lệch  : -pi/6<=theta<=pi/6. Suy ra: Ku=3.14/6

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


82

Sơ đồ khối hệ thống điều khiển:

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

-1 -0.7 -0.4 0 0.4 0.7 1 x

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


83

 (x )

NE 1 ZE PO

-1 -0.6 0 0.6 1 x

 ( )

NB NM NS 1 ZE PS PM PB

-1 -0.7 -0.4 0 0.4 0.7 1 

Bước 4: Xây dựng hệ qui tắc mờ

Góc  : theo chiều lượng giác.

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


84

i/

x  ZE
x  ZE
   ZE

ii/

  NS

x  PS
x  ZE
   NS

Iii/

x=PS

  NM

x  PS
x  PO
   NM

Iv/

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


85

x=PB

  NM

x  PB
x  ZE
   NM

v/

x=PB

  NB

x  PB
x  PO
   NB

Bảng quy tắc điều khiển:

 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

Bước 5: Chọn phương pháp suy diễn MAX-PROD.

Bước 6: Chọn phương pháp giải mờ trung bình có trọng số.

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


86

Dùng Matlab:

-Khởi động Matlab

>>fuzzy

1.1.Dùng Fuzzy logic toolbox:

Chọn hệ Sugeno:

Ngõ vào x1=x:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


87

Ngõ vào x2= x :

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


88

Ngõ ra y:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


89

Các qui tắc:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


90

DÙng phương pháp MAX-PROD:

TH : x1’=-0.5;x2’=0.6:

Kết quả suy luận mờ:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


91

Mặt đặc tính của hệ mờ:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


92

Lưu thành file ball_beam.fis

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:

x1  x 2
mg sin 
x 2 
J
( 2  m)
R

Ngõ ra: y=x

và dx/dt

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


93

1.2.Sơ đồ mô phỏng dùng Simulink:

Khởi động Matlab

>>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

Tạo file mô phỏng và lưu thành dktm_baitap3_1

Sơ đồ mô phỏng:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


94

Bên trong khối Plant:

Bên trong khối Fuzzy logic Controller:

Kết quả mô phỏng :

TH 1: x0=0 và x_dot0=0

Tín hiệu ra y (x-vị trí) và tín hiệu điều khiển u (theta):

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


95

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

Tín hiệu ra y (x-vị trí) và tín hiệu điều khiển u (theta):

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


96

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

Tín hiệu ra y (x-vị trí) và tín hiệu điều khiển u (theta):

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


97

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.

3.1.2.Điều khiển PD mờ:

Bài 1: Điều khiển vị trí hệ cần trục

Cho hệ thống được mô tả như hình:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


98

Các thông số của hệ thống:

M (kg): khối lượng của xe.

m: khối lượng vật nặng (kg).

l: chiều dài thanh nối giũa xe và vật nặng (m).

g=9.81 m/s2: Là gia tốc trọng trường.

u(t): lực tác động vào xe (N).

 (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:

m=1.4 kg;M=0.4 kg; l=1.5 (m);g=9.81 m/s2.

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


99

1.Trình bày thiết kế bộ điều khiển mờ

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.

Bước 1: Xác định biến vào, biến ra của bộ điều khiển:

-2 biến vào: sai lệch e= xd-x và de/dt.

-biến ra là u.

Bước 2: Chuẩn hóa biến vào, biến ra của bộ điều khiển.

-Sai lệch e: -0.9 <=e<=0.9 (m). Suy ra K1=1/0.9.

-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.

Lực u: 0<=u<=20. Suy ra: Ku=20

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ờ.

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


100

E: NB, NS, ZE, PS, PB.

De/dt: NE, ZE, PO.

U: NB, NM, NS, ZE, PS, PM, PB.

 (e )

NB NS 1 ZE PS PB

-1 -0.7 -0.4 0 0.4 0.7 1 e

 (e )

NE 1 ZE PO

-1 -0.6 0 0.6 1 e

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


101

 (u )

NB NM NS 1 ZE PS PM PB

-1 -0.7 -0.4 0 0.4 0.7 1 u

Bước 4: Xây dựng hệ qui tắc mờ

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


102

Bảng quy tắc điều khiển:

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

Bước 5: Chọn phương pháp suy diễn MAX-PROD.

Bước 6: Chọn phương pháp giải mờ trung bình có trọng số.

Dùng Matlab:

-Khởi động Matlab

>>fuzzy

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


103

1.1.Dùng Fuzzy logic toolbox:

Chọn hệ Sugeno:

Ngõ vào e=xd-x:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


104

Ngõ vào de/dt= x d  x  x : vì xd là hằng số.

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


105

Ngõ ra u:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


106

Các qui tắc:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


107

DÙng phương pháp MAX-PROD:

TH : x1’=-0.4;x2’=0.6:

Kết quả suy luận mờ:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


108

Mặt đặc tính của hệ mờ:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


109

Lưu thành file xe_conlac_fuzzy.fis

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 2  , x3  x, x 4  x

Phương trình trạng thái phi tuyến:

x1  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

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


110

Ngõ ra y1=x1, y2=x2.;y3=x3; y4=x4

1.2.Sơ đồ mô phỏng dùng Simulink:

Khởi động Matlab

>>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

Tạo file mô phỏng và lưu thành dktm_baitap_4_1

Sơ đồ mô phỏng:

Bên trong khối Subsystem (hệ):

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


111

Bên trong khối Fuzzy logic Controller:

Kết quả mô phỏng :

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


112

TH 1: x0=0.1 ; x_dot0=-0.1; theta0=0.1; theta_dot0=-0.1

Tín hiệu vào u và tín hiệu ra gồm có x và theta:

Tín hiệu theta_dot và x_dot:

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).

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


113

Kết luận: Ta chỉnh K2=1/0.8 có kết quả tốt hơn K2=1/0.5.

3.2.Điều khiển dùng mạng nơron:

Bài 1: Điều khiển vị trí hệ cần trục

Cho hệ thống được mô tả như hình:

Các thông số của hệ thống:

M (kg): khối lượng của xe.

m: khối lượng vật nặng (kg).

l: chiều dài thanh nối giũa xe và vật nặng (m).

g=9.81 m/s2: Là gia tốc trọng trường.

u(t): lực tác động vào xe (N).

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


114

 (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:

Huỳnh Minh Ngọc: m=1.4 kg;M=0.4 kg; l=1.5 (m);g=9.81 m/s2.

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

Điều khiển PD mờ: file xe_conlac_fuzzy.fis

Đặt biến trạng thái: x1   , x 2  , x3  x, x 4  x

Phương trình trạng thái phi tuyến:

x1  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

Ngõ ra y1=x1, y2=x2.;y3=x3; y4=x4

Khởi động Matlab

>>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

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


115

>>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

Huấn luyện mạng noron:

u (t )  ~
y  f (e( k ), e( k  1))

Mạng noron có hai ngõ vào e(k) và e(k-1), ngõ ra u(t).

e(k)

……. U(k)

E(k-1)

Lớp ẩn có N noron

Chọn N=10

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


116

Hàm kích hoạt ở lớp ẩn là hàm dạng S đơn cực (logsig).

Hàm kích hoạt ở ngõ ra là hàm tuyền tính (purelin)

Tập dữ liệu:

X= [e(2) e(3) … e(K);e(1) e(2) … e(K-1)]

D=[u(2) u(3) … u(K)]

Huấn luyện mạng noron: File train_fuzzyPD_bt61.m:


K=length(e);
X=[e(2:K)';e(1:K-1)'];
D=[u(2:K)'];
N=10;
mynet=newff(X,D,N,{'logsig' 'purelin'});
mynet=train(mynet,X,D);
gensim(mynet)

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


117

Tạo ra sơ đồ simulink cho mạng noron :

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


118

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:

Bên trong khối Subsystem (hệ):

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


119

Lưu: file dktm_baitap_6_1

Chạy mô phỏng và xem kết quả:

Kết quả mô phỏng :

TH 1: x0=0.1 ; x_dot0=-0.1; theta0=0.1; theta_dot0=-0.1

Tín hiệu vào u và tín hiệu ra gồm có x và theta:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


120

Tín hiệu theta_dot và x_dot:

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).

3.3. Điều khiển dùng giải thuật di truyền

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.

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


121

Thông số hệ thống:

K=250;T1=4.9 (sec), T2=11.4 (sec), Um=160 (0C).

Sơ đồ điều khiển PID lò nhiệt:

Bên trong “Subsystem” (hệ):

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

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


122

n n
J   e 2 (k )    u 2 (k )
k 1 k 1

E(k) là sai số điều khiển ở mẫu thứ k.

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ị.

Lò nhiệt được cho bởi :

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.

Kích thước quần thể: 20.

Độ chính xác :   0.000001=10-6.


range=[ 0 0 0;...%gia tri min cua cac tham so
160 160 160];%gia tri max cua cac tham so
dec=[3 3 2]; % vi tri dau cham thap phan
sig=[5 5 5]; % so chu so co nghia

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

Xác suất lai ghép=0.9.

Xác suất đột biến =0.1.

Hệ số rho=0.2.

Tầm giá trị:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


123

0  k p  160
0  k i  160
0  k d  160

Hàm thích nghi:

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).

Lai ghép 2 điểm.

Đột biền..

Giải mã để biết kp, ki và kd.

Lưu thành file PID_lonhiet.mdl

Kết quả:

i/rho=0.2:

Kết quả điều khiển tốt nhất ở thế hệ đầu tiên:

Giá trị kp0, ki0, và kd0:

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:

Giá trị Kp, Ki và Kd tối ưu:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


124

Kp = 0.0104

Ki = 6.0000e-004

Kd = 0.0233

J = 1.6647e+009

Đồ thị thay đổi của hàm thích nghi :

Ngõ ra y (nhiệt độ) và tín hiệu điều khiển u:

Thời gian mô phỏng: 20 s.

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


125

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.

3.3.2. Chỉnh thong số bộ điều khiển mờ dung giải thuật di truyền:

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.

Sơ đồ khối hệ thống điều khiển: dùng PD mờ:.

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


126

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, ZE, PS, PB.

De/dt: NE, ZE, PO.

U: NB, NM, NS, ZE, PS, PM, PB.

 (e )

NB NS 1 ZE PS PB

-1 P1 P2 0 P3 P4 1 e

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


127

 (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ỉnh bộ PD mờ dung giải thuật di truyền:

Thông số   P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P0 , P10 , K 2 

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

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


128

n n
J (k )   e 2 (k )   . u 2 (k ) min
k 1 k 1

Tqd  75 sec;   1000

1
Hàm thích nghi: fitness 
J 

Độ chính xác :   0.000001=10-6.

E(k) là sai số điều khiển ở mẫu thứ k.

Kích thước quần thể: 30.


range=[ -1 -1 0 0 -1 0 -1 -1 0 0 0 0 0;...
0 0 1 1 0 1 0 0 1 1 1.25];
dec=[0 0 0 0 0 0 0 0 0 0 0 ]; % vi tri dau cham thap phan
sig=[3 3 3 3 3 3 3 3 3 3 3 ]; % so chu so co nghia

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

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


129

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

Xác suất lai ghép=0.9.

Xác suất đột biến =0.1.

Hệ số rho=10000.

Tầm giá trị:

 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).

Lai ghép 2 điểm.

Đột biền đều.

Giải mã thập phân để biết P1,P2, P3, P4, P5, P6, P7, P8, P9, P10, K2.

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


130

3.4.Điều khiển quan sát dùng các công cụ tính toán mềm.

3.5.Học và điều khiển quỹ đạo trực tuyến.

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


131

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


132

Chương 4: Điều khiển thông minh dựa vào mô hình.

4.1. Khái niệm về hệ phi tuyến

Hệ phi tuyến là hệ không tuân theo nguyên lí xếp chồng.

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.

4.2.Điều khiển dùng mô hình ngược:

Nguyên tắc điều khiển ngược trực tiếp:

f-1(.) F(.)
R(k+1) u(k) y(k+1)

Nguyên tắc điều khiển ngược trực tiếp.

Điều khiển dùng mô hình ngược trực tiếp:

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

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


133

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:

Con lắc ngược:

b u

 l

Trong đó u(t) là moment tác động vào trục quay con lắc.

 : góc lệch của con lắc.

m: khôi lượng vật năng (bỏ qua khối lượng thanh).

l: chiều dài con lắc.

b: hệ số ma sát ở trục quay con lắc.

Phương trình động học:

ml 2 y(t )  by (t )  mgl sin( y (t ))  u (t )


y 

Thông số hệ con lắc ngược:

m=1,3 kg; l=1,5 m; b=1,83 Nm/(rad/sec)

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:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


134

H(k+1)=f(h(k),u(k))

Mô hình ngược:

uˆ (k )  f 1 (h(k  1), h(k ), h(k  1), u (k  1))

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)

Tín hiệu ra: D  u ( 2) u (3) ... u ( K  1)

Lớp ẩn: N=15 noron, ngõ ra lớp ẩn dùng hàm kích hoạt logsig.

Lớp ra: dùng hàm kích hoạt tuyến tính (purelin)

Khởi động Matlab.

Khởi động thông số con lắc:

>>initdktmb9
m=1.3;
l=1.5;
b=1.83;
g=9.81;

Sơ đồ tạo dữ liệu: file dktmbai9_taodl.mdl

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


135

Bên trong hệ (Subsystem):

Nhiễu có trung bình là 0, phương sai là 0,0001.

Tạo dữ liệu: file signal_gen_cl.m:

Ts=0.01; %chu ky lay mau


N=10000; %so mau du lieu
Umin = -13;
Umax = 13;
PWmin = 50;
PWmax = 250;
Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc
136

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

Tín hiệu vào u:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


137

Vào simulink, chạy file dktmbai9_taodl.mdl để tạo tập dữ liệu u, y.

T=100 s, Ts=0.01 s nên số mẫu dữ liệu là N=10000.

Tín hiệu ra y (theta) và tín hiệu vào u:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


138

Huấn luyện mạng nơron

File Traininv_conlac.m:

% Tap mau du lieu de huan luyen mang NN


K= length(u);
X = [y(3:K)';y(2:K-1)'; y(1:K-2)'; u(1:K-1)'];
D = [u(2:K-1)'];

% Khai bao mang NN va huan luyen


N = 15;
mynet = newff(X,D,N,{'logsig' 'purelin'});
mynet = train(mynet,X,D);

% tao khoi Simulink thuc hien mang NN vua huan luyen


gensim(mynet);

>>Traininv_conlac

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


139

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


140

Sơ đồ mô phỏng:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


141

Tín hiệu vào r(t): dùng signal builder để tạo. Thí dụ:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


142

Kết quả:

i/Tín hiệu vào r(t) và tín hiệu ra y (theta):

theta0=0.001;theta_dot0=-0.001

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


143

Tín hiệu điều khiển u và tín hiệu ra y:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


144

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.

4.3. Điều khiển dùng mô hình nội

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


145

Cấu trúc mô hình nội:

R(t) + C u P y

-
M
ym

Trong đó P: đối tượng.


C: bộ điều khiển.
M: mô hình .
Y: tín hiệu ra.
R: tính hiệu vào.
U: tín hiệu điều khiển.
E=y-r.
Ym: ngõ ra mô hình.
D: nhiểu.
Nếu C  Pˆ 1 thì tín hiệu ra y=r(t).

Điều khiển mô hình nội phi tuyến:

N(t)
R(t) + Mô hình u y
ĐTĐK
ngược
- NN/FM
Mô hỉnh
thuận ym
NN/FM

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


146

Sơ đồ điều khiển mô hình nội phi tuyến


Nếu đối tượng ổn định, mô hình ngược ổn định và mô hình ngược chính xác bằng nghịch đảo đặc
tính động học mô hình thuận thì tín hiệu ra iệu vào, bất chấp nhiễu.

4.4. Điều khiển dự báo dựa vào mô hình.

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


147

Điều khiển thích nghi mô hình tham chiếu (MRAS):

1.Heä thoáng ñieàu khieån môø thích nghi tröïc tieáp

ym

u=uD
Plant

x(n)=f(x) +b.u, y=x

Fuzzy controller

T
UD=   (x)

Adaptation law
 (0) töø
 f  e T Pn  (x )
thoâng tin ñieàu khieån

Ví duï : Xem xeùt heä phi tuyeán baäc nhaát

. 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 )

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


148

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),

P1(x)=exp(-(x-0.5)2), P2(x)=exp(-(x-1.5)2), P3(x)=1/(1+exp(-5(x-2))). Chuùng ta xeùt hai tröôøng hôïp :


(i) khoâng coù luaät ñieàu khieån vaø giaù trò ñaàu I(0) ñöôïc choïn ngaãu nhieân trong khoaûng [-2,2], vaø (ii) coù
hai luaät môø :

Neáu x laø N2 thì u(x) laø PB (2)

Neáu x laø P2 thì u(x) laø NB (3)

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.

2.Heä thoáng ñieàu khieån môø thích nghi giaùn tieáp ym

Plant

x(n)=f(x) +g(x)u, y=x

Fuzzy controller

^ ^
(n)
UI= [ f ( x |  f )  y m  k T e] / g ( x |  g )

f, g

Adaptation law

f(0), g (0) töø


 f   1e T Pb
thoâng tin heä g   2 e T Pbu I

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


149

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)

dieãn taû f(x)

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.

Phương trình động học hệ con lắc ngược:

 x1  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

x1: là góc của con lắc so với phương thẳng đứng.

x2: là vận tốc góc.

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


150

mc=1 kg

m=0,1 kg

l=0,5 m

g=9,81 m/s2.

Sơ đồ Simulink:

Bên trong khối Bộ điều khiển mờ thích nghi gián tiếp:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


151

Khối psi(x):

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


152

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 .

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


153

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

5.2.Điều khiển mờ hệ con lắc ngược trên xe.

Hệ con lắc ngược.

Thông số hệ con lắc ngược:

M (kg): trọng lượng xe.

m (kg) : trọng lượng con lắc.

l (m): chiều dài con lắc.

u: lực tác động vào xe (N).

g: gia tốc trọng trường (m/s2).

x: vị trí xe (m).

 (theta): góc giữa con lắc và phương thẳng đứng (rad).

M=1 kg; m=0.1 kg;l=1 m; g=9.81

Phương trình động học hệ thống:

( M  m) x  ml cos( ).  ml 2 sin   f (1)

ml cos( ).x  ml 2  mgl sin   0

Mô hình toán của hệ con lắc ngược:

 ( M  m) g sin( )  ml (cos( ). sin( ). 2  u cos( )


 (2)
( M  m).l  ml (cos( )) 2

ml sin( ). 2  mg cos( ). sin( )  u


x  (3)
M  m  m.(cos( )) 2

Đặt biến trạng thái: x1   , x2  , x3  x, x4  x

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


154

Phương trình trạng thái phi tuyến:

x1  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)

Ngõ ra y1=x1, y2=x2.;y3=x3; y4=x4 (5)

Chọn biến vào, ra của bộ điều khiển:

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.

Chuẩn hóa biến vào ra của bộ điều khiển:

Góc lệch Theta từ -0.3 đến 0.3 rad. Suy ra K1=1/0.3

Vận tốc góc: từ -1 đến 1 rad/s. Suy ra K2=1.

Vị trí xe: từ -3 đến 3 m . Suy ra K3=1/3.

Vận tốc xe: từ -3 đến 3 m/s. Suy ra K4=1/3.

Lực điều khiển u: từ -40 đến 40 N. Suy ra Ku=40.

Sơ đồ điều khiển:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


155


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

Vận tốc góc

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


156

NE ZE 1 PO

-1 0 1

Vị trí xe

NE ZE 1 PO

-1 0 1

Vận tốc xe

Lực điều khiển xe:

NB NM NS ZE 1 PS PM PB

-1 -0,66 -0,33 0 0,33 0,66 1

Qui tắc mờ:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


157

  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..

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


158

Xây dựng bộ điều khiển mờ dùng Matlab:

Chọn hệ mờ Sugeno.

DÙng phương pháp MAX-PROD:

Tín hiệu vào x1=theta:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


159

Tín hiệu vào x2=theta_dot:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


160

Tín hiệu vào x3=x-giá trị đặt (vị trí xe)

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


161

Tín hiệu vào x4=x_dot:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


162

Tín hiệu ra u:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


163

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


164

Các luật :

Kết quả suy luận mờ:

TH a: x1’=-0.4;x2’=0.5:x3’=-0.3;x4’=0.5

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


165

Mặt đặc tính của hệ mờ:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


166

Lưu thành fiile : pend_inv_fuzzya.fis.

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

Tạo file mô phỏng và lưu thành tên dktm_baitap3_2c

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


167

Sơ đồ mô phỏng dùng Simulink:

Bên trong hệ (Plant):

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


168

Bên trong khối Fuzzy logic Controller:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


169

Kết quả mô phỏng:

TH 1: theta0=0.1; theta_dot0=-0.1; x0=0.1; x_dot0=-0.1

Tín hiệu ra theta (góc con lắc) và x (vị trí xe):

Tín hiệu điều khiển u:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


170

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.

TH 2: theta0=0; theta_dot0=0; x0=0; x_dot0=0.

Tín hiệu theta và x:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


171

Tín hiệu điều khiển u:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


172

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.

TH 3: theta0=0.2; theta_dot0= 0.01; x0=0.3; x_dot0= 0.01

Tín hiệu theta và x:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


173

Lực u:

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


174

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.

5.3. Điều khiển bồn nước.

5.4.Điều khiển tay máy hai bậc tự do.

Động học cánh tay robot:

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)

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


175

T1

lc1 q1 m1, I1 l2

lc2

l1 T
2

q2 m2, I2

Trong đó

v(q, q )  c(q)[q 2 ]  B(q)[qq ], 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:

 M 11 M 12   q1   C11 C12   q1   g1   b1 q1  f c1 sgn( q1 )   1 


M     (2)
 21 M 22   q2  C 21 C 22   q 2   g 2  b2 q 2  f c 2 sgn( q 2 )  2 

Phần tử Mij(q) (I,j=1,2) của ma trận quán tính M(q) là như sau:

M 11  m1l c21  m2 (l12  l c22  2l1l 2 cos q 2 )  I 1  I 2


M 12  M 21  m 2 l c22  m 2 l1l c 2 cos(q 2 )  I 2 (3)
M 22  m2 l c22  I 2

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


176

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:

C11  m2 l1lc 2 sin q 2 q 2 , C12  m2 l1lc 2 sin q 2 (q1  q 2 )


(4)
C 21   m2 l1l c 2 sin q 2 q1 , C 22  0

Thành phần momen trọng trường G(q) được cho bởi:

g1  m1lc1 g sin q1  m2 g[lc 2 sin( q1  q 2 )  l1 sin q1 ]


(5)
g 2  m2 l c 2 g sin( q1  q 2 )

Bảng 1. Tham số và định nghĩa của tay máy.

Tham số Kí hiệu Đơn vị


Chiều dài khớp 1 (link 1) l1 m
Chiều dài khớp 1 (link 1) l2 m
Khối lượng khớp 1 m1 kg
Khối lượng khớp 2 m2 kg
Quán tính khớp 1 I1 kg.m2
Quán tính khớp 2 I2 kg.m2
Gia tốc trọng trường g m/s2

Điều khiển PID mờ (fuzzy PID control) mờ cánh tay robot:

Ki 

+
Robot
 refi + e Bộ điều Kp + i
khiển
- mờ +
d/dt
Kd
-

d/dt

Điều khiển PID với logic mờ.

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


177

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

Trong đó Kp, Ki và Kd là vecto độ lợi bộ điều khiển,  pid là momen khớp.

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

5.5.Điều khiển mờ tốc độ động cơ DC:

Đồ á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

Giảng viên hướng dẫn: ThS. Huỳnh Minh Ngọc.

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.

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


178

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


179

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


180

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


181

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


182

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


183

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


184

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


185

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


186

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


187

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


188

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


189

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


190

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


191

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


192

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


193

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


194

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


195

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


196

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


197

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


198

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc


199

Bài giảng Điều khiển thông minh-©Huỳnh Minh Ngọc

You might also like