Tải bản đầy đủ (.pdf) (26 trang)

MÔ HÌNH TOÁN HỌC HỆ BỒN NƯỚC VÀ CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (750.51 KB, 26 trang )

5

CHƢƠNG 2
MÔ HÌNH TOÁN HỌC HỆ BỒN NƢỚC
VÀ CÁC PHƢƠNG PHÁP ĐIỀU KHIỂN
2.1 Mô hình hệ bồn nƣớc
2.1.1 Mô hình hệ SISO (Single Input Single Output) – 1 ngõ vào, 1 ngõ ra
Trong phần này ta sẽ xây dựng các bộ điều khiển cho hệ SISO, đối tượng được
thiết kế xây dựng bộ điều khiển là hệ bồn nước kép 1 ngõ thông có cấu hình như sau:
u (t)
q in (t)

h1 (t)
a1

Van thông
a12

h2 (t)

qout 1 (t)

a2
qout 2 (t)

Hình 2.1: Minh họa hệ thống bồn nước – dạng SISO.
Phương trình toán học mô tả hệ thống


h1 (t ) 


1
(k1u1 (t ) - a1Cd1 2 gh1 (t )  sgn(h1 (t )  h2 (t ))a12Cd12 2 g h1 (t )  h2 (t ) 



A
(2.1)



h2 (t ) 

1
a Cd 2 g h1 (t )  h2 (t )  a2Cd 2 2 gh2 (t ) 

A  12 12

(2.2)

Các thông số của mô hình :
-

a1 = 1

cm2

: Tiết diện van xả bồn 1 (cm2)

-


a2 = 1.2 cm2

: Tiết diện van xả bồn 2 (cm2)

-

a12 = 1.8 cm2

: Tiết diện các van thông nhau giữa hai bình (cm2)

-

A

-

h1(t)

: Chiều cao mực nước bồn 1 (cm)

-

h2 (t)

: Chiều cao mực nước bồn 2 (cm)

-

Up = 12


= 85

cm2

V

: Tiết diện ngang bồn chứa (cm2)

: Điện áp một chiều cung cấp cho bơm (V)


6

-

k = 28 V/cm3.s

: Hằng số bơm (V/cm3.s)

-

Cd1; Cd2; Cd12 = 0.652 : Hằng số xả van a1; a2; a12

-

g = 981 cm/s2

: Gia tốc trọng trường

Cấu trúc mô hình : Dùng một bơm nước để cấp nước vào bồn 1, nước từ bồn 1

sẽ chảy tự do qua bồn 2 thông qua van liên kết giữa hai bồn a12. Cả hai bồn đều có
một van xả.
Nhiệm vụ điều khiển: Bơm nước vào bồn 1 điều khiển mực nước bồn 2 theo
giá trị mong muốn.
2.1.2 Mô hình hệ MIMO (Multi Input Multi Output) – nhiều ngõ vào, nhiều
ngõ ra
Mô hình hệ MIMO mà bài toán nghiên cứu là hệ bồn nước sau:
u 2 (t)

u 1 (t)

q in (t)

h1 (t)
a1

Van thông
a12

h2 (t)

qout 1 (t)

a2
qout 2 (t)

Hình 2.2 : Minh họa hệ bồn nước – dạng MIMO.
-

a1


=1

cm2

: Tiết diện van xả bồn 1 (cm2)

-

a2

= 1.2 cm2

: Tiết diện van xả bồn 2 (cm2)

-

a12 = 1.8 cm2

-

A

-

h1 (t)

: Chiều cao mực nước bồn 1 (cm)

-


h2 (t)

: Chiều cao mực nước bồn 2 (cm)

-

UP

: Điện áp một chiều cung cấp cho bơm (V)

-

k1

= 28

V/cm3.s

: Hằng số bơm 1(V/cm3.s)

-

k2

= 17

V/cm3.s

: Hằng số bơm 2 (V/cm3.s)


= 85

cm2

: Tiết diện van thông nhau giữa hai bình (cm2)
: Tiết diện ngang bồn chứa (cm2)


7

-

Cd1 = Cd2 = Cd12 = 0.652

: Hằng số xả van a1

-

g = 981 cm/s2

: Gia tốc trọng trường

Phương trình toán mô tả hệ thống :


1
(k u (t ) - a1Cd1 2 gh1(t )  sgn(h1(t )  h2 (t ))a12Cd12 2 g h1(t )  h2 (t )  (2.3)
A  1 1





1
k2u2 (t )  sgn(h1(t )  h2 (t ))a12Cd12 2 g h1(t )  h2 (t )  a2Cd 2 2 gh2 (t )  (2.4)

A


h1(t ) 
h2 (t ) 

Cấu trúc mô hình : Dùng hai bơm 12 VDC cấp nước cho cả hai bình 1 và 2,
hai bình được liên kết với nhau thông qua 2 van a12. Mỗi bình đều có một van xả.
Nhiệm vụ điều khiển:
đặt trước.

Điều khiển mực nước ở cả hai bình theo giá trị

2.2 Tuyến tính hóa hệ phi tuyến
Các đối tượng điều khiển trên là các hệ phi tuyến, thiết kế bộ điều khiển cho
những hệ phi tuyến là vấn đề rất phức tạp. Vì vậy, khi nghiên cứu hệ phi tuyến
người ta thường dùng phương phương pháp tuyến tính hóa để chuyển hệ phi tuyến
thành hệ tuyến tính.
Một cách tổng quát kỹ thuật này nhằm biến đổi hệ phi tuyến thành hệ tuyến
tính bằng phương pháp hồi tiếp về các biến trạng thái và biến đổi hệ trục toạ độ.
Luật điều khiển tuyến tính hoá vào-ra chính xác được áp dụng khi ta biết được
chính xác mô hình toán của đối tượng, nhưng điều này rất khó khăn vì trong thực tế
các phương trình toán học không thể mô tả hoàn toàn chính xác mô hình hệ thống
thực, do đó lý thuyết tuyến tính hóa vào-ra mờ thích nghi được áp dụng để khắc

phục điều này. Hiện nay đa số các công trình về điều khiển thích nghi hệ phi tuyến
theo phương pháp tuyến tính hóa vào-ra đều giả thiết chưa biết mô hình đối tượng
và luật điều khiển tuyến tính hóa vào-ra được thực hiện bằng phương pháp
nhận dạng.
2.2.1 Tuyến tính hóa vào - ra cho hệ SISO
Xét hệ phi tuyến SISO mô tả bởi phương trình trạng thái có dạng:


8

 •
x  f  x   g ( x)u

 y  h( x)

(2.5)
: Vector trạng thái của hệ thống
: Tín hiệu vào của hệ thống
: Tín hiệu ra của hệ thống
: Hàm phi tuyến mô tả đặc tính động học của hệ thống
: Hàm mô tả quan hệ giữa các biến trạng thái và ngõ ra

Đạo hàm Lie
Đạo hàm Lie của hàm h(x) :

theo hướng hàm f(x) :

kí hiệu là

được định nghĩa như sau :


Lf h( x) 

h
f ( x)
x

(2.6)

Đạo hàm Lie bậc n được định nghĩa theo qui tắc đệ qui là :

Lnf h( x) 

( Lnf1h( x))
f ( x) với L0f h( x)  h( x)
x

(2.7)

Đạo hàm Lie của hàm h(x) theo hướng f(x) sau đó theo hướng g(x) là :

Lg L f h( x) 

( Lg h( x))
f ( x)
x

(2.8)

Luật điều khiển tuyến tính hóa vào-ra :



y

h  1
x  L f h( x)  Lg h( x)u Nếu Lg h( x)  0
x



y  L2f h  Lg ( L1f h)u  L2f h

Nếu Lg ( L1f h)  0

Ta tiếp tục lấy đạo hàm của y đến khi nào xuất hiện tín hiệu điều khiển u.

y(r )  Lrf h  Lg ( Lrf1h)u  v

Nếu Lg ( Lrf1h)  0

Ta nói hệ thống có bậc tương đối r nếu

Lg ( Lrf1h)  0; Lg L f h( x).........Lg Lpf 2h( x)  0

(2.9)


9

 ( x)  Lrf h


Đặt :

(2.10)

 ( x)  Lg ( Lrf1h)

Phương trình (2.9) được viết lại như sau :

y(r )  Lrf h  Lg ( Lrf1h)u   ( x)   ( x)u  v(t )

(2.11)

Trong thực tế có khá nhiều các đối tượng điều khiển được mô tả như phương
trình (2.1). Vấn đề đặt ra là thiết kế một bộ điều khiển sao cho tín hiệu ra y(t) bám
theo tín hiệu mong muốn yd(t).
Một trong những cách tiêu biểu nhất để thực hiện việc điều khiển trên là sử
dụng luật điều khiển tuyến tính hóa vào - ra được rút ra từ phương trình (2.11):

u

1 
 ( x)  v(t ) 
 ( x) 

(2.12)

Với v(t) là tín hiệu vào mới của hệ thống tuyến tính hoá bằng hồi tiếp. Với luật
điều khiển tuyến tính hoá vào-ra như trên hệ thống phi tuyến sẽ trở thành hệ thống
tuyến tính bậc r với ngõ vào là mới là v(t), quan hệ vào ra của hệ thống này như

trong hình sau:

Y ( s) 1

V ( s) s r

(2.13)

Vector tín hiệu vào của hệ thống tuyến tính hoá được định nghĩa là :

v(t )  ym(r )  es es

(2.14)

Trong đó  là hệ số dương es và es được định nghĩa như sau:

es  e0r 1  k1e0r 2  ......kr 1e0




es  es  e0r  k1e0r 1  ......kr 1 e0

e0  ym (t )  y(t )

(2.15)


10


eo là sai số ngõ ra còn es là sai số bám. Các hệ số k1 được chọn sao cho thoả

(s)  sr 1  k1s r 2  ..................kr 2 s  kr 1

đa thức Hurwitz :

(2.16)

Nghĩa là các nghiệm của phương trình (2.16) có các cực nằm bên trái mặt
phẳng phức.
Để xác định luật điều khiển tuyến tính hoá vào-ra (2.12), ta cần có các giả
thiết sau:
- Giả thiết 2.1 : Hàm  ( x) thoả mãn:
0   ( x)  

x

- Giả thiết 2.2 : Quỹ đạo chuẩn mong muốn ym (t ) khả vi liên tục bị chặn
đến bậc r.
Ta có :

y(r )  v(t )  ym(r )  es es

(2.17)

Kết hợp (2.15) và (2.17) ta được:

e0(r )  es es  0

(2.18)


Từ (2.18) và (2.15) ta suy ra đặc tính động học của sai số bám:


es  es  0

(2.19)

Chọn hàm Lyapunov:

1
V  es2
2

(2.20)

Đạo hàm hàm Lyapunov theo thời gian và từ công thức (2.19) ta được:




V  es es  es2  0

(2.21)



Do V  0 nên hệ thống tuyến tính hoá vào-ra ổn định , do đó es  0 khi t  
Do (2.15), (2.16) suy ra e0  0 khi t   tức là tín hiệu ra y(t) tiệm cận theo
tín hiệu chuẩn ym(t). Vậy với tín hiệu vào mới v(t) được chọn như (2.14) và luật điều

khiển tuyến tính hoá vào - ra (2.12) hệ thống có tín hiệu ra bám theo tín hiệu ra
mong muốn.


11

Hệ phi tuyến (2.5) có bậc n sau khi thực hiện luật điều khiển tuyến tính hoá
vào-ra hệ thống trở thành hệ tuyến tính bậc r, như vậy sau khi áp dụng luật điều
khiển tuyến tính hoá vào-ra hệ thống sẽ có (n-r) biến trạng thái không quan sát
được. Ta chỉ có thể áp dụng được luật điều khiển tuyến tính hoá vào-ra (2.12) khi
các biến trạng thái không quan sát được này bị chặn trong quá trình hệ thống hoạt
động. Do đó khi thiết kế bộ điều khiển cho hệ thống tuyến tính hoá vào-ra ta phải
xem xét các dao động bên trong của hệ thống, một trong các phương pháp để thực
hiện việc này đó là khảo sát động học không của hệ thống. Các bước khảo sát động
học không cho hệ phi tuyến được tóm tắt ngắn gọn như sau :

1 
 ( x)  v(t ) 
 ( x) 

-

Luật điều khiển TTHVR : u 

-

Hệ thống sau khi tuyến tính : y r  v

-


Khảo sát động học không (Zero dynamic)
 Triệt tiêu tín hiệu vào mới v(t) = 0
 Triệt tiêu các biến trạng thái quan sát được:


y  y  ...... y p1  0
Ta được hệ thống con tương ứng với biến trạng thái không quan sát được. Nếu
hệ thống con này ổn định thì hệ thống cực tiểu pha. Ta có thể áp dụng luật điều
khiển (2.12).
Trong thực tế việc thực hiện luật điều khiển tuyến tính hoá vào-ra chính xác
theo công thức (2.12) tương đối khó khăn vì ta khó có thể xác định chính xác các
hàm  ( x);  ( x) từ phương trình toán học mô tả hệ thống. Để khắc phục điều này ta
phải đi tìm thuật toán để nhận dạng luật điều khiển chính xác. Có hai cách để thực
hiện bài toán trên cách thứ nhất là nhận dạng trực tuyến từng thành phần
 ( x);  (x ) hàm rồi sau đó thực hiện luật điều khiển (2.12) cách này gọi là điều khiển

thích nghi gián tiếp (IAC- Indirect adaptive control). Cách thứ hai là nhận dạng trực
tiếp luật điều khiển lý tưởng u * , cách này gọi là điều khiển thích nghi trực tiếp
(DAC- Direct Adaptive Control).


12

2.2.2 Điều khiển tuyến tính hoá vào - ra cho hệ MIMO
Ta tiến hành xét một hệ phi tuyến MIMO vuông (số ngõ vào bằng số ngõ ra
là m) như sau:
m

x


f
(
x
)

giui

i

1

T



y

h
...........
h
m
 1







(2.22)


m

y(k )  L f (hk )   Lgi (hk )ui

(2.23)

i 1

Với rk là bậc tương đối của hệ thống ứng với từng ngõ ra khi đó:

Lgi ( Lrfk 1hk )  0
Đặt J(x) là ma trận mxm như sau :
 L ( Lr1 1h ) ....
Lgm ( Lrfk 1hk ) 
g1
1
f



J ( x)   ........
....
........


r 1
 Lg ( Lrfm 1hm ) ..... Lgm ( L fmk hmk ) 
 1



(2.24)

J(x) được gọi là ma trận phân tách (Decoupling Matrix) và giả sử rằng J(x)
không suy biến.
Hệ thống tuyến tính hoá vào-ra MIMO có m ngõ ra và m ngõ vào, bậc tương
đối của các ngõ ra và ngõ vào tương ứng là rk do đó ma trận đạo hàm ngõ ra của hệ
thống được định nghĩa như sau:
 d r1 y 
1

r1 
 dt 
r
y   .......  ;
 r

 d m ym 
 dt rm 



y r là vector mx1

(2.25)

Đặt vector: ( với l(x) là vector mx1 )
 Lr1 h 
 f 1
l ( x)   ........ 

 rm 
 L f hm 

(2.26)


13

Ta rút ra được :

y r  l ( x)  J ( x)u  v

(2.27)

y r  l ( x)  J ( x)u  v

(2.28)

T

Trong đó v  v1 ..... vm  là vector (mx1) tín hiệu vào mới cho hệ thống
sau khi được tuyến tính hoá:
 d r1 y
1

r1  v1
 dt

 ...............
 rm

 d ym  v
rm
2

 dt

(2.29)

Luật điều khiển tuyến tính hoá vào-ra cho hệ MIMO được tính theo
công thức (2.30) :
*

u  J 1( x)[v  l ( x)]

(2.30)

Đối với hệ MIMO khi thực hiện luật điều khiển tuyến tính hoá vào-ra ta cũng
phải xem xét tính ổn định của từng hệ thống con không quan sát được bên trong hệ
thống bằng phương pháp động học không. Luật điều khiển tuyến tính hoá vào-ra
cho hệ MIMO cũng chỉ được áp dụng khi các biến trạng thái không quan sát được
cực tiểu pha.
2.3 Điều khiển tuyến tính hóa vào - ra thích nghi
2.3.1 Điều khiển thích nghi gián tiếp (Indirect Adaptive Control - IAC)
Trong giải thuật thiết kế bộ điều khiển thích nghi gián tiếp ta giả thiết không
biết chính xác mô hình của đối tượng do đó ta sẽ dùng một hệ thống mờ hoặc mạng
Neuron để xấp xỉ các hàm thành phần  ( x),  ( x) sau đó tính luật điều khiển tuyến
tính hoá vào-ra theo phương pháp ẩn trắc tương đương.
 1 






uce    ( x)  v 



(2.31)


14





Trong công thức trên  ( x),  ( x) là mô hình mờ hoặc mạng thần kinh nhân tạo
dùng để xấp xỉ hàm  ( x),  ( x) . Nguyên tắc tổng quát để xấp xỉ như sau:


 ( x)  AT  ( x)


(2.32)

 ( x)  A   ( x)
T

Trong đó các vector thông số Aα và Aβ là các giá trị hàm liên thuộc dạng vạch
của hệ mờ hoặc trọng số của các tế bào thần kinh ở lớp ra của mạng thần kinh.

Vector tham số được cập nhật trực tuyến để tiến đến tiệm cận với giá trị chính xác :



 arg min sup A  ( x)   ( x) 

A*  arg min sup AT  ( x)   ( x)
*

A

(2.33)

T

 

Trong trường hợp lý tưởng thì A  A* và A  A*




Khi đó  ( x)   ( x) và  ( x)   ( x)
Tuy nhiên trong thực tế chúng ta chỉ sử dụng hữu hạn các hệ mờ hoặc các tế
bào thần kinh để xấp xỉ các thành phần  ( x),  ( x) nên luôn luôn tồn tại sai số giữa
mô hình thực và mô hình ước lượng.
Trong đó D ( x); D ( x) là sai số cấu trúc của hệ thống do chỉ sử dụng một số
hữu hạn các qui tắc mờ hoặc mạng thần kinh. Sai lệch giữa mô hình nhận dạng và
mô hình đúng của hệ thống là:



T



~T

 ( x)   ( x)  A  ( x)  D ( x)

(2.34)

 ( x)   ( x)  A  ( x)  D ( x)
Trong đó :

~

~

A  A  A* ; A  A  A*

(2.35)

Giả sử mô hình mờ hay thần kinh xấp xỉ mô hình toán của đối tượng theo công
thức (2.33) được chọn sao cho sai số cấu trúc bị chặn bởi các cận đã biết trước.


15




D ( x)  D

(2.36)



D ( x)  D 

Sai số xấp xỉ luôn tồn tại, trong nhiều trường hợp sai số xấp xỉ dù khá nhỏ
nhưng cũng làm cho hệ thống mất ổn định. Để đảm bảo tính ổn định của hệ kín ta
cộng thêm vào thành phần điều khiển trượt để bù sai số xấp xỉ. Do đó luật điều
khiển của hệ thống sẽ bao gồm 2 thành phần theo công thức sau :

u  uce  usi

(2.37)

Trong đó thành phần điều khiển thích nghi theo nguyên lý ẩn trắc tương đương




uce được cập nhật trực tuyến thông qua việc cập nhật các thành phần  ( x),  ( x) ,
tín hiệu điều khiển trượt usi được thêm vào hệ thống nhằm bù đắp sai số cho tín
hiệu điều khiển ước lượng và đảm bảo tính ổn định của hệ thống kín. Giả sử ta đã
biết được chặn trên và chặn dưới của hàm  ( x) ,


Tức là


0     ( x)    


(2.38)

Khi đó thành phần điều khiển chế độ trượt được thực hiện theo công thức

usi 

1


( D  D uce )sgn(es )

(2.39)



Thành phần điều khiển trượt được chọn dựa vào quá trình phân tích hàm
Lyapunov phương trình động học sai số của hệ thống, usi được chọn để đảm bảo


hàm V  0 khi thành phần sai số cấu trúc Dα ; Dβ nằm trong giới hạn định trước.
Quá trình thiết kế bộ điều khiển thích nghi gián tiếp IAC được tóm tắt ngắn
gọn theo các bước sau đây:
 Bước 1: Chọn các tập mờ hoặc mạng neuron để xấp xỉ các hàm thành
phần  ( x),  ( x) của luật điều khiển tuyến tính hoá vào-ra.
-

Theo công thức (2.12) và (2.33) ta có :





y(r )   ( x)   ( x)u   ( x)   ( x)[uce  usi ]


16

-


 ( x)  AT  ( x)

Các hàm  ( x),  ( x) được xấp xỉ theo nguyên tắc :  
  ( x)  AT   ( x)


-

 ;  là vector thông số của các hàm mờ ở mệnh đề điều kiện của hệ mờ





hoặc hàm tác động ở lớp ẩn của mạng thần kinh nhân tạo. Các hệ mờ thường
được sử dụng là hệ mờ Takagi-Sugeno còn mạng thần kinh là mạng truyền
thẳng, hoặc mạng RBF .
 Bước 2 : Thực hiện luật thích nghi thông số trực tuyến online

Luật cập nhật thông số online dựa trên việc phân tích hàm Lyapunov cho đặc
tính động học của sai số được tiến hành như sau :




y(r )   ( x)   ( x)u   ( x)   ( x)[uce  usi ]








  ( x)   ( x)uce  [ ( x)   ( x)]  [ ( x)   ( x)]uce   ( x)usi




 v  [ ( x)   ( x)]  [ ( x)   ( x)]uce   ( x)usi

(2.40)

Ta có hàm sai số ngõ ra là :

e0(r )  ym(r )  y(r )





 ym(r )  v  [ ( x)   ( x)]  [ ( x)   ( x)]uce   ( x)usi






 es  es  [ ( x)   ( x)]  [ ( x)   ( x)]uce   ( x)usi

(2.41)

Từ phương trình (2.42) ta rút ra đặc tính động học của sai số bám như sau :






es  es  [ ( x)   ( x)]  [ ( x)   ( x)]uce   ( x)usi

(2.42)

Xét hàm Lyapunov:
~
~
1 2 1 ~T
1 ~T
V  es  A Q A  A Q A
2

2
2

Đạo hàm hàm V theo thời gian ta được


V

 es es•

T



 A Q A 

~T
A



Q A

(2.43)


17

Với thành phần :
~




~



A  A ; A  A
Suy ra :






V  es  es [(   )  (   )uce   usi ] 

~T
A



Q A 

~T
A



Q A


(2.44)

Thay (2.35) vào (2.45) ta được:
~ T



~ T

~T

~T





V  -es  es [( A  - D )  ( A  - D )uce -  usi ]  A Q A  A Q A
~ T

~ T

~T



~T




 es  es [( A   D )  ( A   D )uce   usi ]  A Q A  A Q A
~T

~T





 es2   usies  es ( D  D uce )  A (Q A   es )  A (Q A   esuce )
(2.45)
Chọn luật cập nhật trọng số như sau

1

1
A


Q

e

 A   Q  es dt
  s



 A  Q1  ucees

 A   Q 1 u e dt
  ce s






(2.46)

- Trong đó Q ; Q là các ma trận xác định dương đây là các trọng số của hàm
Lyapunov trong việc khảo sát đặc tính động học của sai số. Các thành phần
này có tác động khá lớn đến tốc độ thích nghi cũng như tính ổn định của hệ
thống.
- es là sai số bám của hệ thống được tính theo công thức (2.15)




 Bước 3 : Sau khi đã xác định được các hàm  ( x),  ( x) thực hiện tính thành
phần điều khiển thích nghi uce theo công thức (2.31)
 Bước 4 : Xác định thành phần điều khiển chế độ trượt usi theo nguyên tắc sau
Thế (2.46) vào (2.45) ta được:


V  es  es  usi  es (D  D uce )


18


 es  es  usi  es ( D  D uce )




 es  es  usi  es (D  D uce )

(2.47)

Chọn thành phần chế độ điều khiển trượt

usi 

1

L

( D  D uce )sgn(es )

(2.48)

Thay (2.49) vào (2.48) ta được:


 

V   es   1 es [ D  D uce ]  0







(2.49)



V là hàm toàn phương xác định dương, V  0 nên hệ thống ổn định theo
nguyên lý Lyapunov.
 Bước 5 : Tính luật điều khiển chung cho cả hệ thống theo công thức theo
công thức (2.38):
Cấu trúc các bước thực hiện luật điều khiển IAC được thể hiện như hình sau:

Hình 2.3: Sơ đồ khối hệ thống điều khiển thích nghi gián tiếp.
2.3.2 Điều khiển thích nghi trực tiếp (DAC - Direct Adaptive control):
Bộ điều khiển thích nghi trực tiếp xấp xỉ luật điều khiển tuyến tính hóa vào-ra
(2.12) bằng một hệ mờ hoặc mạng thần kinh theo công thức (2.50). Bộ điều khiển


19

DAC cho phép người thiết kế sử dụng thẳng thông tin biết trước hoặc kinh nghiệm
về đối tượng để thiết kế.


u( x)  AuT u ( x)

(2.50)

Trong đó vector thông số Au là giá trị hàm liên thuộc dạng vạch ở mệnh đề kết

luận của hệ mờ hoặc là trọng số của các tế bào thần kinh ở lớp ra của mạng thần


*

kinh. Au được cập nhật trực tuyến để u ( x) tiệm cận với u ( x)




Au*  arg min sup AuT u ( x)  u 
Au 

 xS x


*

(2.51)




Do luật điều khiển hồi tiếp chỉ được xấp xỉ bằng hữu hạn các tập mờ hay tế
bào thần kinh nên luôn tồn tại sai số giữa tín hiệu điều khiển ước lượng và tín hiệu
*



điều khiển chính xác có nghĩa là khi Au  Au* thì u  u  Du . Với Du là sai số cấu

trúc của mô hình.
Sai lệch giữa tín hiệu điều khiển nhận dạng và lý tưởng là :


*

~T

u  u  Au u ( x)  Du ( x)

(2.52)

~

Trong đó, Au là sai số thông số ước lượng.
Với giả thiết là hệ mờ hoặc mạng thần kinh được chọn sao cho biết trước sai




số cấu trúc, tức là luôn tồn tại một hàm liên tục D u sao cho Du ( x)  Du . Do hệ
thống có sai số cấu trúc nên ta phải thêm vào một thành phần điều khiển phụ để
đảm bảo tính ổn định của hệ thống, thành phần này gọi là điều khiển trượt usd do đó
tín hiệu điều khiển cấp cho đối tượng sẽ bao gồm hai thành phần như thể hiện trong


công thức: u  u  usd

(2.53)


Để tính toán thành phần điều khiển chế độ trượt cần phải thoả mãn điều kiện

 ( x) bị chặn tức là tồn tại một hàm liên tục D sao cho điều kiện sau thoả mãn:


 ( x)  D ( x)
Trình tự thiết kế bộ điều khiển DAC đƣợc tóm tắt ngắn gọn theo các bƣớc :


20

 Bước 1 : Chọn một hệ mờ hoặc mạng thần kinh để xấp xỉ trực tiếp luật điều


khiển tuyến tính hoá vào-ra theo công thức u( x)  AuT u ( x) .
-

u Vector thông số của các hàm mờ trong mệnh đề điều kiện của hệ mờ,
hoặc các hàm tác động ở lớp ần của mạng thần kinh, thường được chọn là hệ
mờ Takagi- Sugeno hoặc mạng RBF, mạng truyền thẳng.

-

Au là vector thông số trong mệnh đề kết luận của hệ mờ hay trọng số ở lớp ra

của mạng thần kinh.
 Bước 2 : Xác định luật cập nhật vecotor thông số Au online theo phương
pháp phân tích hàm Lyapunov cho phương trình động học sai số bám như
sau :


y(r )   ( x)   ( x)u
*

*

  ( x)   ( x) u   ( x)[u  u]


*





 v   ( x) u  u 

(2.54)

Hàm sai số ngõ ra được xác định:
*

e0(r )  ym(r )  y(r )  ym( r )  v  b(u  u)






~T
Au


*

 es  es   (u  usd  u )
 es  es  

(2.55)

u   Du   usd

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


es es  

~T
Au

u   Du   usd

(2.56)

Xét hàm Lyapunov dạng toàn phương như sau :

V

~
1 2 1 ~T
es  Au Qu Au
2

2

Qu là ma trận trọng số xác định dương

(2.57)


21



~
 2 ~T
V  es es  2 es  Au Qu Au

2


1



(2.58)

Thay (2.52) vào (2.57) ta được:


V

es




( es  

~T
Au



~T
~

u   Du   usd )  2 es2  Au Qu Au
2


~T
~
 es2


 esusd  es Du  Au (Qu Au  u es )  2 es2

2

(2.59)

Dựa vào (2.59) ta chọn luật thích nghi thông số như sau:



Au  Qu1u es  Au   Qu1u es dt

(2.60)

 Bước 3: Sau khi xác định được hệ mờ và vector trọng số ta thực hiện ước
lượng tín hiệu điều khiển theo công thức (2.50).
 Bước 4 : Tính thành phần điều khiển chế độ trượt usd theo nguyên tắc sau :
Với luật cập nhật trọng số được chọn như (2.60) ta có :


e

V   s  esusd  es Du  2 es2

2




 es
 esusd










 es Du  2 es 


2





e
  s  esusd  es




D

e 
 Du 
2 s 
2






Dựa vào (2.61) ta chọn thành phần điều khiển chế độ trượt như sau:


Thay (2.60) vào (2.61) với

es sgn(es )  es

(2.61)


22



V 

 es2




0
(2.63)

 Bước 5 : Tính thành phần u điều khiển cho cả hệ thống theo công thức (2.53)

Hình 2.4: Sơ đồ khối hệ thống điều khiển thích nghi trực tiếp.
Sơ đồ khối điều khiển thích nghi trực tiếp cho ta thấy sự khác biệt với phương
pháp điều khiển IAC, trong sơ đồ DAC thông số hệ mờ hay thần kinh được chỉnh
định trực tiếp để xấp xỉ luật điều khiển tuyến tính hóa vào-ra chính xác mà không
phải qua bước trung gian là nhận dạng mô hình toán của đối tượng điều này làm cho
việc thiết kế bộ điều khiển DAC dễ dàng hơn và ít nhạy với nhiễu và các thay đổi
thông số của mô hình hơn.

2.4 Mạng Nơron (Neural)
2.4.1 Giới thiệu mạng truyền thẳng nhiều lớp
Mạng truyền thẳng nhiều lớp (Multilayer Feedforward) bao gồm các khối chứa
nhiều lớp, các neural của lớp này chỉ được nối với các neural của lớp tiếp theo,
không được kết nối các nút trong cùng một lớp và không có liên kết nhảy lớp.
Trong mạng này, các neural của lớp ngõ vào (input layer) không được tính toán, chỉ
đóng vai trò là ngõ vào cho lớp neural kế tiếp, lớp kế tiếp này được gọi là lớp ẩn.


23

Theo lý thuyết, một mạng neural có thể có nhiều lớp ẩn nhưng điều này sẽ làm tăng
độ phức tạp trong việc huấn luyện mạng và vì vậy, mạng có một hoặc hai lớp ẩn sẽ
cung cấp độ chính xác thích hợp và tổng quát hóa trong nhiều trường hợp. Nếu
mạng chỉ có một lớp ẩn, để đạt kết quả thỏa mãn cần sử dụng duy nhất hàm tác
động phi tuyến cho lớp ẩn này. Còn đối với mạng hai lớp ẩn sẽ cho độ chính xác
cao hơn. Lớp cuối cùng trong mạng được gọi là lớp ngõ ra (output layer).

Hình 2.5: Cấu trúc mạng neural truyền thẳng một lớp ẩn.
Không có một quy luật chung để xác định số lớp ẩn và số nút của lớp ẩn, nên
phụ thuộc vào độ phức tạp của phép ánh xạ (mapping) đạt được. Trong mạng này,
hàm tác động của lớp ngõ ra thường là hàm tuyến tính khi mạng neural được xem là
đại diện của một hệ thống phi tuyến bằng cách sử dụng hàm tác động phi tuyến đối
với các lớp ẩn.
Số nút ngõ vào tương ứng với số đặc tính vật lý của hệ. Việc huấn luyện
mạng neural dựa vào những lần tính toán thử và sai nhằm đạt được số lớp ẩn và số
nút lớp ẩn tối ưu.
2.4.2 Giải thuật lan truyền ngƣợc
2.4.2.1 Định nghĩa hàm mục tiêu
Cấu trúc của neural:



24

Wkj
Hàm kích hoạt

Hàm vào

Đầu ra

Các liên kết
vào
K

a

Net j   wkj xk
k 1

Out j = a(Netj)

Hình 2.6: Cấu trúc của một neural.

Hình 2.7: Cấu trúc của mạng neural một lớp ẩn.
K

Ngõ vào của mạng neural: Net j   wkj xk

(2.64)


Ngõ ra của mạng neural:

(2.65)

k 1

y = Out j = a(Netj)

Hàm mục tiêu có dạng sau đây:

1
J  (d (k )  y (k ))2
2

(2.66)

Với d(k) là tín hiệu ra mong muốn, y(k) là tín hiệu ra của mạng. Các trọng số
được xác định sao cho J đạt giá trị cực tiểu.
Sử dụng phương pháp Steepest Descent:

w( k 1)  w( k )  . w J
 J 
 w J    gọi là Gradient của J
 w 
T

Với

 : hằng số học ;


k = 1,2,3..: thời điểm

Gradient của J được tính như sau:

(2.67)


25

J  y 
 J 
 w J       =  d (k )  y(k ).x(k )
y  w 
 w 
T

T

(2.68)

Từ đó ta tính được:

w( k 1)  w( k )  .d (k )  y(k ).x(k )

(2.69)

J

J

w

Jmin

w  
W tối ưu

J
w
weigh

W(K+1) W(k)

Hình 2.8: Sai số cực tiểu Mean-Squared error.
2.4.2.2 Tính toán trọng số mạng truyền thẳng nhiều lớp (một lớp ẩn)
net1

v11

z1

x1

w1
v12
net2

v21

z2


net

y

w2

v22
w3
v31
x2

v32

net3

z3

Hình 2.9: Mạng một lớp ẩn.
Lan truyền thuận tín hiệu vào:
Đối với lớp ẩn:
Net1 = ( x1.v11  x2 .v12 )
Net2 = ( x2 .v21  x2 .v22 )

(2.70)

Net3 = ( x3.v31  x2 .v32 )
2

Tổng quát: Neti =


v x
j 1

ij

j

(2.71)

Ta tính được đầu ra neural của lớp ẩn như sau: zi = a(neti) với a: hàm tác động
Đối với lớp ngõ ra, ta tính được hàm vào:


26

3

Net = ( w1 z1  w2 z2  w3 z3 )   w j z j

(2.72)

j 1

Ta tính được đầu ra neural của lớp ngõ ra như sau: y = a(net)
Lan truyền ngƣợc sai lệch
Lan truyền ngược sai lệch là cơ sở của việc huấn luyện mạng. Dữ liệu huấn
 x1 (k ) 
luyện tại thời điểm k là: x(k) = 
 , d(k) là dữ liệu ra mong muốn.

 x2 ( k ) 

Các vector trọng số được xác định như sau:
 w1 
v31 
v11 
v21 
w   w2  , v1    , v2    , v3   
v12 
v22 
v32 
 w3 

Áp dụng giải thuật Steepest Descent:

w( k 1)  w( k )  . w J

(2.73)

J y  net 
a
 J 
w J     .
.z ( k )

  d (k )  y (k ) .
y net  w 
net
 w 
T


T

(2.74)

Tính grad J, ta tính được trọng số ở thời điểm k+1:
w( k 1)  w( k )  .d (k )  y(k ).

a
.z ( k )
net

(2.75)

Đi vào từng trường hợp cụ thể, ta tính cho lớp ẩn như sau:
v1 (k  1)  v1 (k )  .V1 J
T

 J 
J y net z1  net1 
  .


V1 J  
.
.
y net z1 net1  v1 
 v1 
a
a

 d (k )  y (k ) .
.w1.
.x ( k )
net
net1

Đặt Jo(k)= d (k )  y(k ) .
J1(k) = Jo(k) .w1.

a
net

a
net1

(2.76)
T

(2.77)

(2.78)
(2.79)


27

Từ đó:
v1 (k  1)  v1 (k )  .d (k )  y(k ) .

a

a
.w1.
.x(k ) = v1 (k ) +.J1 (k ).x(k )
net
net1

Tương tự:
v2 (k  1)  v2 (k )  .d (k )  y (k ) .
v3 (k  1)  v3 (k )  .d (k )  y(k ) .

Tổng quát:
vi (k  1)  vi (k )  .d (k )  y(k ) .

a
a
.w2 .
.x ( k )
net
net 2

a
a
.w3.
.x ( k )
net
net3

a
a
.wi (k ).

.x ( k )
net
neti

(2.80)

Ta xây dựng giải thuật huấn luyện lan truyền ngược:
Bước 1: Thiết lập hằng số học   0 , sai số tối đa Jmax , hệ số vi (k=1),
w(k=1) ban đầu, J=0.
Bước 2: Vòng lặp huấn luyện: gán giá trị đầu vào và tính giá trị y(k), z(k)
qua các lớp neural ẩn và lớp ngoài
zk = a(Neti)= a(  v(k ) x(k ) );

(2.81)

yk = a(Net)=a(  w(k ) z (k ) );

(2.82)

Bước 3: Tính sai số của mạng:
J ( w) 

1 n
d (k )  y(k )2  J

2 k 1

a
net
a

Ji(k) = Jo(k) .wi (k ).
neti

Jo(k)= d (k )  y(k ) .

(2.83)
(2.84)
(2.85)

Bước 4: Truyền các tín hiệu sai lệch lùi để điều chỉnh các hệ số trọng lượng:
Cập nhật các trọng số:
w (k  1)  . o (k ).z (k )  w(k )

(2.86)

vi (k  1)  .1 (k ).z (k )  vi (k )

(2.87)


28

Bước 5: Tăng k = k+1 và quay về bước 1, kiểm tra J < Jmax thì kết thúc quá
trình huấn luyện.
Bước 6: Nếu bị rơi vào cực trị địa phương hay J > Jmax thì thay đổi cấu trúc
mạng hay lấy ngẫu nhiên các trọng số khác.
2.4.2.3 Tính toán trọng số mạng truyền thẳng nhiều lớp (hai lớp ẩn)
net1

net6


x1

net2

x2

y6

net4
net7
net5

net3

y7

net8

y8

x3

Hình 2.10: Mạng truyền thẳng hai lớp ẩn.
Cho mạng truyền thẳng hai lớp ẩn có:
Trọng số giữa lớp ngõ vào và lớp ẩn đầu tiên: w11(trọng số từ net đến x1), w12
(trọng số từ net1 đến x2), w13, w21, w22, w23, w31, w32, w33.
Trọng số giữa hai lớp ẩn: w41, w42, w43, w51, w52, w53.
Trọng số của lớp ngõ ra: w64, w65, w74, w75, w84, w85.
Ngõ ra mong muốn: yd6, yd7, yd8.

Sai số đạt được:

J



1
 yd 6  y6 2   yd 7  y7 2   yd 8  y8 2
2



(2.88)

Áp dụng luật Steepest Descent để điều chỉnh trọng số đạt yêu cầu để sai số J
nhỏ nhất:
k 1
ij

w

 w  wij  w  
k
ij

k
ij

J ( wijk )
wij


(2.89)

Điều chỉnh trọng số ngõ ra:
Tính hai nút ij tương ứng với nút 8-4:
k 1
84

w

k
J ( w84
)
 w 
w84
k
84

(2.90)


29

Trọng số w84 ảnh hưởng đến sai số J theo quy luật sai lệch sau:
w84

w84 

y8


net8

J ( w84 ) J y8 net8

.
.
 ( yd 8  y8 )a ' (net8 ) y4   J 8 . y4
w84
y8 net8 w84

(2.91)

Trong đó: J8 là sai số delta (equivalent delta error)
Do đó: Trọng số w84 được điều chỉnh như sau:
k 1
k
w84
 w84
 J 8 y4

(2.92)

Tương tự đối với điều chỉnh 5 trọng số còn lại:
k 1
k
w74
 w74
 J 7 y4
k 1
k

w64
 w64
 J 6 y4
k 1
k
w75
 w75
 J 7 y5

(2.93)

k 1
k
w85
 w85
 J8 y5
k 1
k
w65
 w65
 J 6 y5

Điều chỉnh trọng số lớp ẩn thứ hai:
Trọng số tương ứng được điều chỉnh:
k 1
k
w41
 w41



k
J ( w41
)
w41

(2.94)

Trọng số w41 ảnh hưởng đến sai số J như sau:
w41 

J ( w41) J y4 net 4 J '

.
.

.a (net 4 ) y1
w41
y4 net 4 w41 y4

Khi đạo hàm riêng

J
được tính như sau:
y4
net6

w41

(2.95)


net4

net7

y6
y7

y4

J
net8

y8

J
J y6 net6 J y7 net7 J y8 net8

.
.

.
.

.
.
y4 y6 net6 y4
y7 net7 y4
y8 net8 y4

(2.96)



×