ÔN TẬP MÔ PHỎNG
Dùng matlab R2023a muốn mở file phải dùng bản mới hơn bản nay.
Ví dụ 1: Điều khiển LQR
Cho phương trình trạng thái hệ MIMO hai đầu vào hai đầu ra
10
01
C

=


.
Sau khi tìm được bộ điều khiển LQR có dạng
11
22
11 12
,
21 22
kk
ux
K
ux
kk

= =


ux
Giả sử.
1
2
0.2352 0.0637
0.0637 0.4572
x
u
x


=−




Ma trận tham chiếu
N
được tính như sau: Sử dụng matlab tính
( không viết vào bài ở chương 2 khi nào mô phỏng mới nhân vào đầu vào)
( )
1
1
N
C A BK B
=
= -
( )
1
1
2.2352 0.9363
0.0637 1.4572
C A BK B


−=



Khi mô phỏng nhân với ma trận tham chiếu vào đầu vào mô phỏng.
File matlab mẫu tham khảo: lqr_mophong
Vào tham số
Tương tự ma trận, A,B,K,N tính xong vào tham số như trên.
Sơ đồ matlab đối tượng điều khiển:
Sơ đồ hệ thống điều khiển:
Kết quả mô phỏng tín hiệu đặt
11
1
2
_
2
_1
d
d
d
x x d
xd
x



= = =






x
11
1
2
_
4
_2
d
d
d
x x d
xd
x



= = =






x
Ví dụ 2: Điều khiển đăt cực và thích nghi hệ bậc 2 SISO
11
22
01
00
1 ( )
23
xx
u
x x d t
= + +
(1)
10C =
.
Bđiều khiển thích nghi
1 TN
u u u=+
Sử dụng phương pháp đặt cực cho phần tuyến tính
1
11
2
, 1 2 ,
x
u K u k k
x

= =


x
Giả sử tìm được ma trận K bằng phương pháp đặt cực K=[4 2].
Thích nghi sử dụng mô hình
11
22
01
0
0
ˆ
1
()
23
mm
mm
xx
u
dt
xx


= + +




(2)
Lấy (1)-(2) được mô hình sai số:
11
22
01
0
()
23
ee
ee
dt

=+
21 1 22 2
1
()
1
TN
u p e p e dt= +
, chú ý 1/b=1/1 đọc trong vở.
Chọn ma trận xác đinh dương
11 12
21 22
11
1 1.5
pp
P
pp


==




Vậy bộ điều khiển
1
1 1 2
2
4 2 ( 1.5 )
TN
x
u u u e e dt
x

= + = +


File matlab mẫu tham khảo: thichnghi_bac 2
Tương tự ma trận K,P…
Sơ đồ đối tượng điều khiển
Sơ đồ hệ thống điều khiển thích nghi đặt cực bậc 2:
Ma trận tham chiếu
N
được tính như sau: Sử dụng matlab tính
( không viết vào bài ở chương 2 khi nào mô phỏng mới nhân vào đầu vào)
( )
1
1
N
C A BK B
=
= -
( )
1
1
6C A BK B

−=

Khi mô phỏng nhân với ma trận tham chiếu vào đầu vào mô phỏng.
Kết quả mô phỏng
Kết quả nhận dạng nhiễu d(t)=0.1*1(t)
Kết quả bám tín hiệu đặt
1
d
y =
Kết quả nhận dạng nhiễu d(t)=1.5*1(t)
Kết quả bám tín hiệu đặt
3
d
y =
Ví dụ 3: Điều khiển đăt cực và thích nghi hệ bậc 3 SISO
11
22
33
0 1 0
00
0 0 1 0 0
2 ( )
3 2 1
xx
x x u
dt
xx

= + +

(1)
[1 0 0]C =
.
Bđiều khiển thích nghi
1 TN
u u u=+
Sử dụng phương pháp đặt cực cho phần tuyến tính
1
1 1 2
3
, 1 2 3 ,
x
u K u k k k x
x

= =



x
Giả sử tìm được ma trận K bằng phương pháp đặt cực K=[51 34.5 7].
Đối với hệ bậc ba nên chọn cực nhỏ p=[-3 -5 -7].
Thích nghi sử dụng mô hình
11
22
33
0 1 0
00
0 0 1 0 0
ˆ
2
()
3 2 1
mm
mm
mm
xx
x x u
xx
dt



= + +





(2)
Lấy (1)-(2) được mô hình sai số:
11
22
33
0 1 0
0
0 0 1 0
()
3 2 1
ee
ee
ee
dt



=+

31 1 32 2 33 3
1
()
2
TN
u p e p e p e dt= + +
, chú ý 1/b=1/2 đọc trong vở.
Chọn ma trận xác đinh dương
11 12 13
21 22 23
31 32 33
4 2 1
* 2 3 1
1 1 2
p p p
P p p p k
p p p




==






Nếu hội tụ phần nhận dạng nhiếu chậm tăng k lên ( đầu tiên cho k=1 sau tăng lên nhần.
Vậy bộ điều khiển
1
1 2 1 2 3
2
1
5134.5 7 (10 10 20 )
2
TN
x
u u u x e e e dt
x

= + = + +



Làm tương tự như ví dụ 2
Ma trận tham chiếu
N
được tính như sau: Sử dụng matlab tính
( không viết vào bài ở chương 2 khi nào mô phỏng mới nhân vào đầu vào)
( )
1
1
N
C A BK B
=
= -
( )
1
1
52.5C A BK B

−=

Khi mô phỏng nhân với ma trận tham chiếu vào đầu vào mô phỏng.
File matlab mẫu tham khảo: thichnghi_bac 3
Kết quả mô phỏng
Kết quả nhận dạng nhiễu d(t)=1*1(t)
Kết quả bám tín hiệu đặt
3
d
y =
Kết quả nhận dạng nhiễu d(t)=0.5*1(t)
Kết quả bám tín hiệu đặt
0.8
d
y =
Vị dụ 3. Cho hệ phi tuyến SISO bậc 2 tổng hợp bộ điều khiển trượt.
2
1
2
2
12
2
1
2
2
12
0
(1)
1.5
0
; ( ) ; ( )
1.5
( ) ( )
x
x
u
x
xx
x
x
fg
x
xx
f g u

=+




= = =



−−


=+
x x x
x x x
Chọn mặt trượt
1 1 1
22
2
;;
d
d
d
e x x
sC
ex
x

= = =


e e x x
;
12
[]C c c=
,
12
,cc
được chọn sao cho đa thc
2
21
0p c p c+ + =
là Hurwitz dùng phương pháp
cho trước điểm cực, đọc vở ghi.
Giả sử chọn
[1 2]C =
. Chú ý dấu
Bộ điều khiển
( )
1
( ) ( ) sgn( )
d
u Cg Cf x C k s
= + xx
.
Thay số vào ta có:
1
2
1
2
12
2
0
[1 2] -[1 2] [1 2] sgn( )
1.5
d
d
x
x
u k s
xx
x




= +




−−




2
1 2 1 2 1 2
2
1 1 2 1 2
2
11
( 2 3 2 ) sgn( )
33
1
( 2 3 2 );
3
1
sgn( ).
3
dd
dd
u x x x x k s u u
u x x x x
u k s
= + + = +
= + +
=−
Chọn k >0 khi nào bám tín hiệu
1
d
d
y y x==
Phương pháp này không cần dùng N ma trận thâm chiếu.
File matlab mẫu tham khảo: dieukhientruot
Sơ đồ đố tượng điều khiển:
Sơ đồ hệ thống điều khiển
Kết quả mô phỏng:
Tín hiệu đặt mong mốn
d
y
Xem phần trước Th đã gửi
1
2
_
1
0
_
d
d
y x d
xd
=


==




x
1
2
_
1
0
_
d
d
y x d
xd
=


==




x
Các bài điều khiển trượt bậc cao hơn làm tương tự, chú ý dấu. Làm bài cẩn thận.
Trên đây là các ví dụ để các em ôn phần mô phỏng.

Preview text:

ÔN TẬP MÔ PHỎNG
Dùng matlab R2023a muốn mở file phải dùng bản mới hơn bản nay.
Ví dụ 1: Điều khiển LQR
Cho phương trình trạng thái hệ MIMO hai đầu vào hai đầu ra 1 0 C =   . 0 1    1 k 1 1 k 2  
Sau khi tìm được bộ điều khiển LQR có dạng u x 1 1 u = −K , x  = −  u      x     2 k 21 k22 2  Giả sử.
0.2352 0.0637 x  1 u = −   0.0637 0.4572 x    2 
Ma trận tham chiếu N được tính như sau: Sử dụng matlab tính
( không viết vào bài ở chương 2 khi nào mô phỏng mới nhân vào đầu vào) −1 − −  −  N =  −  = − = - C ( A BK ) 1 1 2.2352 0.9363 B    
C ( A BK ) 1 B 0.0637 1.4572 
Khi mô phỏng nhân với ma trận tham chiếu vào đầu vào mô phỏng.
File matlab mẫu tham khảo: lqr_mophong Vào tham số
Tương tự ma trận, A,B,K,N tính xong vào tham số như trên.
Sơ đồ matlab đối tượng điều khiển:
Sơ đồ hệ thống điều khiển:
Kết quả mô phỏng tín hiệu đặt d
x  x _ d 2 1 1 x = = = d d
x  x _d     1    1 2 d
x  x _ d 4 1 1 x = = = d d
x  x _d     2 1 2
Ví dụ 2: Điều khiển đăt cực và thích nghi hệ bậc 2 SISO    0 1 x  x  0 0  1 1 = + u +  (1) x      − − x    1    d(t) 2 2 3 2 C = 1 0.
Bộ điều khiển thích nghi u = u + u 1 TN  
Sử dụng phương pháp đặt cực cho phần tuyến tính x u = −K , x u = − 1 k k 2 1 , 1 1 x   2 
Giả sử tìm được ma trận K bằng phương pháp đặt cực K=[4 2].
Thích nghi sử dụng mô hình m    0 1 m x  x  0 0  1 1 = + u + (2) m     m     − −        ˆ x x 1  2 3  d(t) 2 2
Lấy (1)-(2) được mô hình sai số:    0 1 e  e  0  1 1 = +  e      − −       2 3
e  d(t) 2 2  1 u
= − ( p e + p e )dt
, chú ý 1/b=1/1 đọc trong vở. TN 21 1 22 2 1  p p  1  1 
Chọn ma trận xác đinh dương 11 12 P = =     p p 1    1.5 21 22   Vậy bộ điều khiển x u = u + u = − − e + e dtTN 4 2 1 ( 1.5 ) 1 1 2 x   2 
File matlab mẫu tham khảo: thichnghi_bac 2 Tương tự ma trận K,P…
Sơ đồ đối tượng điều khiển
Sơ đồ hệ thống điều khiển thích nghi đặt cực bậc 2:
Ma trận tham chiếu N được tính như sau: Sử dụng matlab tính
( không viết vào bài ở chương 2 khi nào mô phỏng mới nhân vào đầu vào) −1 − − N =  −  = − = - C ( A BK ) 1 1 B 6  
C ( A BK ) 1 B
Khi mô phỏng nhân với ma trận tham chiếu vào đầu vào mô phỏng. Kết quả mô phỏng
Kết quả nhận dạng nhiễu d(t)=0.1*1(t)
Kết quả bám tín hiệu đặt y = 1 d
Kết quả nhận dạng nhiễu d(t)=1.5*1(t)
Kết quả bám tín hiệu đặt y = 3 d
Ví dụ 3: Điều khiển đăt cực và thích nghi hệ bậc 3 SISO  0 1 0  x  x  0 0  1 1   x  = 0 0
1 x  + 0 u + 0  (1) 2 2   x  x  2 d(t)
  − − −        3 3 3 2 1   C = [1 0 0].
Bộ điều khiển thích nghi u = u + u 1 TNx
Sử dụng phương pháp đặt cực cho phần tuyến tính u = −K , x u = − 1 k k 2 k  1 3 x  , 1 1 2 x   3 
Giả sử tìm được ma trận K bằng phương pháp đặt cực K=[51 34.5 7].
Đối với hệ bậc ba nên chọn cực nhỏ p=[-3 -5 -7].
Thích nghi sử dụng mô hình m    0 1 0 m x
 x      1 1 0 0     m x = 0 0 1 m
x  + 0u + 0  (2) 2 2     mm      x x 2 ˆ   − − −        d(t) 3 3 3 2 1 
Lấy (1)-(2) được mô hình sai số:  0 1 0  e  e  0  1 1   e  = 0 0 1 e  + 0  2 2   e  e   
 3  − − −   3  d(t) 3 2 1    1 u = −
( p e + p e + p e )dt
, chú ý 1/b=1/2 đọc trong vở. TN 31 1 32 2 33 3 2  p p p  4 2 1 11 12 13    
Chọn ma trận xác đinh dương P = p p p = k * 2 3 1 21 22 23      p p p  1 1 2  31 32 33   
Nếu hội tụ phần nhận dạng nhiếu chậm tăng k lên ( đầu tiên cho k=1 sau tăng lên nhần. x  1
Vậy bộ điều khiển u = u + u = − x  − e + e + e dtTN 5134.5 7 1 (10 10 20 ) 1 2 1 2 3   2 x  2 
Làm tương tự như ví dụ 2
Ma trận tham chiếu N được tính như sau: Sử dụng matlab tính
( không viết vào bài ở chương 2 khi nào mô phỏng mới nhân vào đầu vào) −1 − − N =  −  = − = - C ( A BK ) 1 1 B 52.5  
C ( A BK ) 1 B
Khi mô phỏng nhân với ma trận tham chiếu vào đầu vào mô phỏng.
File matlab mẫu tham khảo: thichnghi_bac 3 Kết quả mô phỏng
Kết quả nhận dạng nhiễu d(t)=1*1(t)
Kết quả bám tín hiệu đặt y = 3 d
Kết quả bám tín hiệu đặt y = 0.8
Kết quả nhận dạng nhiễu d(t)=0.5*1(t) d
Vị dụ 3. Cho hệ phi tuyến SISO bậc 2 tổng hợp bộ điều khiển trượt. x  x  0  1 2 = + 2 u (1) x     −x x  1     .5 2 1 2 x  x  0  1 2 x = ; f (x) = x = 2 ; g( )  x     −x x  1     .5 2 1 2
x = f (x) + g(x)u Chọn mặt trượt d
e  x  x  1 1 1 s = C ;
e e = x x ; = − ; d de   x     2 2  x  2 
C = [c c ] , c ,c được chọn sao cho đa thức 2
p + c p + c = 0 là Hurwitz dùng phương pháp 1 2 1 2 2 1
cho trước điểm cực, đọc vở ghi.
Giả sử chọn C = [1 2]. Chú ý dấu −
Bộ điều khiển u = Cg x  1 ( ) ( Cf ( )
x + Cx k sgn(s) . d ) Thay số vào ta có: 1 −  0 d   x  x   2 1 u = [1 2] -[1 2] + − 2 [1 2] k s       d sgn( ) 1.5   −x x         x 1 2  2   1 d d 1 2
u = (−2x − 3x + x + 2x ) − k sgn(s) = u + u 1 2 1 2 1 2 3 3 1 2 u = ( 2 − x − 3 d
x + x + 2 d x ); 1 1 2 1 2 3 1
u = − k sgn(s). 2 3
Chọn k >0 khi nào bám tín hiệu d
y = y = x d 1
Phương pháp này không cần dùng N ma trận thâm chiếu.
File matlab mẫu tham khảo: dieukhientruot
Sơ đồ đố tượng điều khiển:
Sơ đồ hệ thống điều khiển Kết quả mô phỏng:
Tín hiệu đặt mong mốn y d
Xem phần trước Th đã gửi
y = x _ d  1   d 1 x = = dx _ d    0 2
y = x _ d  1   d 1 x = = dx _ d    0 2
Các bài điều khiển trượt bậc cao hơn làm tương tự, chú ý dấu. Làm bài cẩn thận.
Trên đây là các ví dụ để các em ôn phần mô phỏng.