Download as pdf or txt
Download as pdf or txt
You are on page 1of 144

Môn học

LÝ THUYẾT ĐIỀU KHIỂN NÂNG CAO

Giảng viên: PGS. TS. Huỳnh Thái Hoàng


Bộ môn Điều Khiển Tự Động
Khoa Điện – Điện Tử
Đại học Bách Khoa TP.HCM
Email: hthoang@hcmut.edu.vn

© H. T. Hoàng - HCMUT 1
Chương 3

ĐIỀU KHIỂN TỐI ƯU

© H. T. Hoàng - HCMUT 2
Nội dung chương 3
 Giới thiệu
 Tối ưu hóa tĩnh
 Tối ưu hóa động và phương pháp biến phân
 Điều khiển tối ưu liên tục dùng phương pháp biến
phân
 Phương pháp qui hoạch động Bellman
 Điều khiển tối ưu toàn phương tuyến tính LQR
 Ước lượng trạng thái tối ưu (lọc Kalman)
 Điều khiển tối ưu LQG

© H. T. Hoàng - HCMUT 3
GIỚI THIỆU

© H. T. Hoàng - HCMUT 4
Giới thiệu
 Điều khiển tối ưu : xác định luật ĐK cho hệ thống động
cho trước sao cho tối thiểu hóa một chỉ tiêu chất lượng.
 ĐK tối ưu được phát triển trên cơ sở toán học: phương
pháp biến phân (Bernoulli, Euler, Lagrange, Weiertrass,…)
 Từ những năm 1950, ĐK tối ưu phát triển mạnh mẽ và trở
thành một lĩnh vực độc lập.
 Phương pháp quy hoạch động do Richard Bellman đưa
ra trong thập niên1950.
 Nguyên lý cực tiểu Pontryagin do Lev Pontryagin và
các đồng sự đưa ra trong thập niên 1950.
 Bài toán điều chỉnh toàn phương tuyến tính và lọc
Kalman do Rudolf Kalman đưa ra trong những
năm1960.
© H. T. Hoàng - HCMUT 5
Phân loại bài toán điều khiển tối ưu

 Có nhiều bài toán điều khiển tối ưu, tùy theo:


 Loại đối tượng điều khiển
 Miền thời gian liên tục hay rời rạc
 Chỉ tiêu chất lượng
 Bài toán tối ưu có ràng buộc hay không

 ĐK tối ưu tĩnh: chỉ tiêu chất lượng không phụ thuộc thời
gian
 ĐK tối ưu động: chỉ tiêu chất lượng phụ thuộc thời gian
 Bài toán chỉnh toàn phương tuyến tính (Linear
Quadractic Regulator – LQR)
 Bài toán điều khiển tối ưu H2
…

© H. T. Hoàng - HCMUT 6
Ứng dụng
 Trước khi máy tính số ra đời, chỉ có thể giải được
một số ít bài toán điều khiển tối ưu đơn giản
 Máy tính số ra đời cho phép ứng dụng lý thuyết điều
khiển tối ưu vào nhiều bài toán phức tạp.
 Ngày nay, điều khiển tối ưu được ứng dụng trong
nhiều lĩnh vực:
 Không gian (aerospace)
 Điều khiển quá trình (proccess control)
 Robot
 Kỹ thuật sinh học (bioengineering)
 Kinh tế
 Tài chính
…

© H. T. Hoàng - HCMUT 7
TỐI ƯU HÓA TĨNH

© H. T. Hoàng - HCMUT 8
Tối ưu hóa tĩnh không ràng buộc
 Bài toán tối ưu tĩnh không ràng buộc: tìm m thông
số thực (hay phức) u1, u2,…, um sao cho hàm
L(u1, u2,…, um) đạt cực tiểu:
L(u)=L(u1, u2,…, um)  min
trong đó u=[u1, u2,…, um]T

 Điểm u* được gọi là điểm cực tiểu cục bộ nếu


L(u)L(u*) với mọi u nằm trong lân cận  của u*.

 Điểm u* được gọi là điểm cực tiểu toàn cục nếu


L(u)L(u*) với mọi u

© H. T. Hoàng - HCMUT 9
Điều kiện cực trị không ràng buộc
 Giả sử L(u) khả đạo hàm theo u, thì điều kiện cần và
đủ để u* là điểm cực tiểu cục bộ là:
 Lu (u* )  0

 uu )  0
*
L ( u
trong đó:
 L u1 
 L u 
L  2
Lu  
u   
 
L um 
  2
L  u u
1 1  2
L  u u
1 2   2
L u1u m 
 L 
2

Luu  2      
u
 2 L umu1  2 L umu2   2 L umum 
 
© H. T. Hoàng - HCMUT 10
Tìm cực trị không ràng buộc – Thí dụ 1
 Tìm cực trị hàm: L(u)  5u12  2u22  2u1u2  8u1  3u2
 Giải:
 Điều kiện cần có cực trị:
 L 
L  u1  10u1  2u2  8  0 u1*  0.7222
Lu   0    *
u  L  2u1  4u 2  3  0 u 2  0.3889
 u2 
 Xét vi phân bậc hai:
 2L 2L 
  10 2
u 2
u1 u 2  Luu  0
Luu   2 1  Luu    
  L 2L   2 4 
 u u u 22 
 1 2
 1 2 )  (0.7222;0.3889)
* *
(u , u là điểm cực tiểu.
© H. T. Hoàng - HCMUT 11
Tìm cực trị không ràng buộc – Thí dụ 1
u*  (0.7222;0.3889)

250

200

150

L 100

50

-50 u* 4
6 2
4 2 0
0
u2
-2 -4 -6 -4
-2
u1

© H. T. Hoàng - HCMUT 12
Tối ưu hóa tĩnh có ràng buộc
 Bài toán tối ưu tĩnh có ràng buộc: tìm vector thông số
u sao cho hàm L(x,u) đạt cực tiểu, đồng thời thỏa
điều kiện f(x,u)=0
L(x,u)  min
f(x,u)=0
trong đó x=[x1, x2,…, xn]T
u=[u1, u2,…, um]T
L :  n   m   : hàm đánh giá
f :  n   m   p : điều kiện ràng buộc

© H. T. Hoàng - HCMUT 13
Hàm Hamilton
 Định nghĩa hàm Hamilton:
H ( x , u)  L ( x , u)   T f ( x , u)
trong đó    là vector hằng số, gọi là thừa số Larrange
p

Do ràng buộc f(x,u) = 0 nên cực tiểu của L(x,u) cũng


chính là cực tiểu của H(x,u).
 Biến đổi bài toán tìm cực tiểu hàm L(x,u) với ràng buộc
f(x,u) = 0 thành bài toán tìm cực tiểu không ràng buộc
hàm Hamilton H(x,u)
 Vi phân hàm Hamilton:
H ( x, u) H ( x, u)
dH ( x , u)  dx  du
x u
© H. T. Hoàng - HCMUT 14
Thừa số Lagrange
 Do ta cần tìm cực trị theo u nên có thể tự do chọn
thừa số Lagrange sao cho:
H ( x , u) L( x, u) T f ( x , u)
H x ( x , u)    0
x x x
1
 L( x, u)   f ( x , u) 
   
T

   x 
 x  

Viết gọn lại:    Lx  f x 


T 1

© H. T. Hoàng - HCMUT 15
Độ dốc của hàm mục tiêu với điều kiện ràng buộc
L( x , u) L( x , u)
 Vi phân hàm mục tiêu: dL( x , u)  dx  du
x u
f ( x, u) f ( x , u)
 Do f(x,u) = 0 nên: df ( x, u)  dx  du  0
x u
1
 f ( x , u )  f ( x , u)
 dx     du
 x  u
 Thay (2) vào (1), ta được:
1
L( x , u)  f ( x , u)  f ( x , u) L( x , u)
dL( x , u)     du  du
x  x  u u
f ( x, u) L( x , u)  H ( x , u)
 dL( x, u)   T   du  dL( x , u)  du
 u u  u
 Với ĐK f(x,u)=0, độ dốc của L(x,u) theo u chính bằng Hu(x,u)
 Điều kiện để L(x,u) đạt cực trị với ràng buộc f(x,u)=0 là:
H u ( x , u)  0
© H. T. Hoàng - HCMUT 16
Điều kiện cần cực trị có ràng buộc
 Kết hợp với điều kiện xác định hằng số Lagrange,
điều kiện cần để L(x,u) đạt cực trị có ràng buộc
f ( x , u)  0 là:

 H x ( x , u)  Lx ( x, u)   T f x ( x , u)  0

 H u ( x, u)  Lu ( x, u)   f u ( x , u)  0
T

 H  ( x , u)  f ( x , u)  0

trong đó: H ( x , u)  L( x , u)  T f ( x, u)

© H. T. Hoàng - HCMUT 17
Tìm cực trị có ràng buộc – Thí dụ 1

 Tìm cực trị hàm: L(u)  5u12  2u22  2u1u 2  8u1  3u2
Với điều kiện ràng buộc:
f (u)  u1  6u2  2  0
 Giải:
 Hàm Hamilton:

H ( u)  L ( u )   f ( u)
T

 H (u)  5u1  2u2  2u1u 2  8u1  3u 2   (u1  6u 2  2)


2 2

© H. T. Hoàng - HCMUT 18
Tìm cực trị có ràng buộc – Thí dụ 1
 Điều kiện cần để có cực trị:
H (u)
 10u1  2u2  8    0
 H x ( u)  0 u1
 H (u)
 H u ( u)  0   2u1  4u2  3  6  0
 f ( u)  0 u2

f (u)  u1  6u2  2  0
 Giải hệ phương trình, ta được:
u   0.8412 0.4735   0.5353
* T

H (u)  5u12  2u22  2u1u2  8u1  3u2   (u1  6u2  2)


© H. T. Hoàng - HCMUT 19
Tìm cực trị có ràng buộc – Thí dụ 1
u*   0.8412 0.4735
T

250

200

150

L 100

50

-50
u* 4
6 2
4 2 0
0
u2
-2 -4 -6 -4
-2
u1

© H. T. Hoàng - HCMUT 20
Tìm cực trị có ràng buộc – Thí dụ 2

 Tìm cực trị hàm: L( x, u )  ( x  2)  (u  2)


2 2

Với điều kiện ràng buộc: u  x 2  3 x  6


 Giải:
 Viết lại điều kiện ràng buộc:
u  x 2  3x  6  x  3x  6  u  0
2

 Hàm Hamilton:
H ( x, u )  L( x, u )  T f ( x, u )
 H ( x, u )  ( x  2) 2  (u  2) 2   ( x 2  3 x  6  u )

© H. T. Hoàng - HCMUT 21
Tìm cực trị có ràng buộc – Thí dụ 2
 Điều kiện cần để có cực trị:
H ( x, u )
 2( x  2)  2x  3  0
 H x ( x, u )  0 x
 H ( x, u )
 H u ( x, u )  0   2(u  2)    0
 f ( x, u )  0 u

f ( x, u )  x  3 x  6  u  0
2

 Giải hệ phương trình, ta được ba nghiệm:


( x, u )  (4.53;0.92), (1.71;2.04), (1.68;8.22)
Thay 3 nghiệm trên vào L( x , u )  ( x  2)  (u  2) , ta được
2 2

các giá trị tương ứng là: 43.78; 0.087; 117.94.
* 2* )  (1.71
 ( x, u )  ( x  2)  (u  2) 2 ;2.04
Kết luận: cực trị cầnHtìm là ( x , u ( x 2)  3x  6  u )
© H. T. Hoàng - HCMUT 22
Tìm cực trị có ràng buộc – Thí dụ 3

 Tìm cực trị hàm: L( x , u )  x  3 x  u


2
1
2
2
2

Với các điều kiện ràng buộc:


 f1 ( x , u )  2 x1  x2  4
f ( x, u )      0
 f 2 ( x , u )  x1  u  2 
 Giải:
 Hàm Hamilton:

H ( x , u )  L( x , u )   f ( x , u )
T

 H ( x , u )  x12  3 x22  u 2  1 (2 x1  x2  4)  2 ( x1  u  2)

© H. T. Hoàng - HCMUT 23
Tìm cực trị có ràng buộc – Thí dụ 3
 ĐK cần để có cực trị:
H ( x, u ) / x1  2 x1  21  2  0
H x ( x, u )  0 H ( x, u ) / x 2  6 x2  1  0

H u ( x, u )  0  H ( x, u ) / u  2u  2  0
 f ( x, u )  0
 f1 ( x, u )  2 x1  x2  4  0
f 2 ( x, u )  x1  u  2  0
 Giải hệ phương trình, ta được:
x *  1.5714 0.8514 u *  3.5714    5.1429 7.1429T
T

 Do L( x , u )  x  3 x  u
2
1
2
2
2
là hàm toàn phương nên
cực trị tìm được
H ( x , u )ở
 xtrên
2
1  3 cũng
x 2
2  u 2
 1 (2 x1 là
chính  xcực  2 ( x1  u  2)
2  4)tiểu

© H. T. Hoàng - HCMUT 24
TỐI ƯU HÓA ĐỘNG
VÀ PHƯƠNG PHÁP BIẾN PHÂN

© H. T. Hoàng - HCMUT 25
Tối ưu hóa động không ràng buộc
 Bài toán tối ưu động không ràng buộc: tìm vector hàm
x(t) sao cho phiếm hàm J(x) đạt cực tiểu:
tf
J ( x )   L( x, x , t )dt  min
t0
x (t )  x1 (t ) x2 (t )  xn (t )   n
T
trong
đó: L : n  n    
Chú ý: Phiếm hàm là hàm của hàm
(functional = function of function)
*
 Phiếm hàm J ( x ) có cực tiểu cục bộ tại x (t ) nếu
J ( x (t ))  J ( x (t ))
*

với mọi hàm x (t ) nằm trong lân cận  của (t ) x *

x (t )  x * (t )  
© H. T. Hoàng - HCMUT 26
Tìm cực trị phiếm hàm?
 Nhắc lại cực trị hàm:
 Điều kiện cần: đạo hàm bậc 1 của hàm cần tìm cực trị
bằng 0
 điểm dừng
 Điểm dừng có đạo hàm bậc 2 xác định dương
 điểm cực tiểu
 Cực trị phiếm hàm?
 Khái niệm biến phân (variation): có thể hiểu là “đạo
hàm của phiếm hàm”
 Phương pháp biến phân (Calculus of Variation): dựa
vào khái niệm biến phân đưa ra điều kiện cực trị của
phiếm hàm tương tự như điều kiện cực trị hàm
© H. T. Hoàng - HCMUT 27
Khái niệm biến phân

 Lượng gia của phiếm hàm: J ( x )  J ( x  x )  J ( x )

trong đó x (t ) là biến phân của hàm x (t )

x (t )
x (t )  x (t )
t

Minh họa biến phân của hàm x (t )


 Biến phân của phiếm hàm:
J ( x )  lim J ( x )  lim [ J ( x  x )  J ( x )]
x 0 x 0

© H. T. Hoàng - HCMUT 28
Thí dụ tính biến phân phiếm hàm
1

 Cho phiếm hàm: J ( x)   x 2 (t )dt


0

 Biến phân của phiếm hàm được tính như sau:


1 1
J [ x(t )]  J ( x  x)  J ( x)   ( x  x) 2 dt   ( x) 2 dt
0 0
1 1 1
  [ x 2  2 xx  (x) 2 ]dt   ( x) 2 dt   [2 xx  (x) 2 ]dt
0 0 0
1
 J ( x)  lim J ( x)  lim  [2 xx  (x) 2 ]dt
x 0 x 0
0
1
 J ( x)   [2 xx]dt
0

© H. T. Hoàng - HCMUT 29
Công thức tính biến phân phiếm hàm dạng tích phân

 Cho phiếm hàm dạng tích phân tổng quát:


tf

J ( x )   L( x )dt
t0

 Biến phân của phiếm hàm dạng tích phân được tính
như sau:
tf
 L( x )  
J ( x )    x dt
t0 
x  

© H. T. Hoàng - HCMUT 30
Biến phân phiếm hàm bài toán tối ưu động không ràng buộc
tf
 Phiếm hàm: J ( x )   L( x, x , t )dt
t0

 Biến phân phiếm hàm:


tf  L( x, x , t ) L( x, x , t ) 
J    x  x dt
t0 x x 
t
 Chú ý rằng: x (t ) 
 x ( )d  x(t )
t0
0

x (t0 )  x (t f )  0
 Thực hiện biến đổi tích phân, suy ra:
tf
 L( x, x , t ) d L( x, x , t ) 
J     xdt
t0 
x dt x 
© H. T. Hoàng - HCMUT 31
Điều kiện cần để phiếm hàm đạt cực trị cục bộ
 Điều kiện cần để phiếm hàm J ( x ) đạt cực trị cục bộ
tại x * (t ) là biến phân của J ( x ) phải bằng 0 tại x * (t )
J ( x )  0 x  x *

 ĐK cần để bài toán tối ưu động không ràng buộc có cực trị:
L( x, x , t ) d L( x, x , t ) L d L
 0   0
x dt x x dt x
(phương trình Euler-Lagrange)
 Trường hợp đặc biệt khi L không phụ thuộc tường
minh vào t, dạng đơn giản của pt Euler-Lagrange là:
t
L J   L( x, x , t )  d L( x, x , t ) xdt
f

L  x  c (c là hằng số)


dt  
x t  0
x x 
© H. T. Hoàng - HCMUT 33
Tối ưu hóa động không ràng buộc – Thí dụ 1
 /2
Tìm hàm x(t) sao cho : J ( x)   [ x (t )  x (t )]dt  min
2 2
 
0

Với điều kiện biên: x(0)  1, x( / 2)  3


 Giải:
 Theo đề bài, ta có: L  x  x
2 2

 Phương trình Euler-Lagrange:


L d  L  d
    0  2 x   2 x   0  x  x  0
x dt  x  dt
 Lời giải tổng quát: x(t )  C1 sin t  C2 cos t
 Thay điều kiện biên, suy ra: C1  3,C 2  1
 Kết luận: x* (t )  3 sin t  cos t
© H. T. Hoàng - HCMUT 34
Giải PTVP ở thí dụ 1 dùng Matlab

>> dsolve('D2X+X=0', 'X(0)=1', 'X(pi/2)=3')

© H. T. Hoàng - HCMUT 35
Tối ưu hóa động không ràng buộc – Thí dụ 2
 Tìm hàm x(t) sao cho phiếm hàm dưới đây đạt cực tiểu:
2
J ( x)   1  x 2 (t )dt  min với ĐK biên: x(0)  1, x(2)  0
0
 Giải:
L d  L 
 Phương trình Euler-Lagrange:   0
x dt  x 
1
x 1  x 2  x xx
d  x  1  x 2
  0 
 0  x  0
dt  1  x 2  1  x 2

 Lời giải tổng quát: x(t )  C1t  C2


1
 Thay điều kiện biên, suy ra: C1   ,C 2  1
2
1
 Kết luận: x *
(t )   t 1
2 L  1  x 2
© H. T. Hoàng - HCMUT 36
Tối ưu hóa động có ràng buộc
 Bài toán tối ưu động có ràng buộc: tìm vector hàm x(t)
xác định trên đoạn [t0, tf] sao cho phiếm hàm J(x) đạt
cực tiểu:
tf
J ( x )   L( x, x , t )dt  min
t0

với điều kiện ràng buộc f ( x , x , t )  0


và điều kiện biên: x(t0)=x0, x(tf)=xf
trong đó: x (t )  x1 (t ) x2 (t )  xn (t )   n
T

L :    
n n

f : n  n     p

© H. T. Hoàng - HCMUT 37
Hàm Hamilton và điều kiện cần để có cực trị
 Định nghĩa hàm Hamilton:
H ( x , x ,  , t )  L( x, x , t )   T f ( x , x , t )
trong đó  (t )   là vector hàm, gọi là thừa số Larrange
p

tf
 Do f ( x , x , t )  0 nên cực tiểu của J ( x ) 
tf
t0
L( x , x , t )dt
cũng chính là cực tiểu của J ( x )  t0
H ( x , x ,  , t )dt

 tìm cực tiểu không ràng buộc phiếm hàm J ( x )


 Điều kiện cần để phiếm hàm J ( x ) có cực trị là:
H ( x, x ,  , t ) d H ( x, x ,  , t )
 0
x dt x
(PT Euler-Lagrange của bài toán tối ưu động có ràng buộc)
© H. T. Hoàng - HCMUT 38
Tối ưu hóa động có ràng buộc dạng tích phân
 Bài toán tối ưu động có ràng buộc: tìm vector hàm x(t)
xác định trên đoạn [t0, tf] sao cho phiếm hàm J(x) đạt
cực tiểu: tf

J ( x )  L( x, x , t )dt  min
t0
tf
với điều kiện ràng buộc t0
f ( x, x , t )dt  q
và điều kiện biên: x(t0)=x0, x(tf)=xf
 Hàm Hamilton và phương trình Euler-Lagrange trong
trường hợp ràng buộc tích phân như sau:
 Hàm Hamilton: H ( x , x  ,  , t )  L( x, x , t )   T f ( x , x , t )
 Phương trình Euler-Lagrange:
H ( x, x ,  , t ) d H ( x, x ,  , t )
 0
x dt x
© H. T. Hoàng - HCMUT 39
Trình tự giải bài toán tối ưu động có ràng buộc
 Bước 1: Xác định hàm mục tiêu, đ.kiện ràng buộc và
điều kiện biên: tf
J ( x )   L( x, x , t )dt
t0
tf
Đ.kiện ràng buộc f ( x, x , t )  0 hoặc t f ( x, x , t )dt  q
0

Điều kiện biên x (t0 )  x0 và x (t f )  x f


 Bước 2: Thành lập hàm Hamilton:
H ( x , x ,  , t )  L( x , x , t )   T f ( x , x , t )
 Bước 3: Viết phương trình Euler-Lagrange:
H ( x, x ,  , t ) d H ( x, x ,  , t )
 0
x dt x
 Bước 4: Tìm nghiệm PT Euler-Lagrange thỏa điều
kiện ràng buộc và điều kiện biên
© H. T. Hoàng - HCMUT 40
Tối ưu hóa động có ràng buộc – Thí dụ 1
 Tìm hàm x(t) sao cho phiếm hàm dưới đây đạt cực
tiểu: 4
J ( x)   x 2 (t )dt  min
0
4
với điều kiện ràng buộc:  x(t )dt  3
0
và điều kiện biên: x(0)  0, x(4)  0
 Giải:
 Hàm Hamilton:
H ( x, x ,  , t )  L( x, x , t )  f ( x, x , t )
 H ( x, x ,  , t )  x 2 (t )  x(t )
© H. T. Hoàng - HCMUT 41
Tối ưu hóa động có ràng buộc – Thí dụ 1
 Phương trình Euler-Lagrange:
H ( x, x ,  , t ) d H ( x, x ,  , t )
 0
x dt x
d
   2 x (t )  0    2 x(t )  0 (1)
dt
 Tìm nghiệm phương trình Euler-Lagrange:
 
(1)  x(t )   x (t )  t  c1
2 2

 x(t )  t 2  c1t  c2
4 H ( x, x ,  , t )  x 2 (t )  x(t )
© H. T. Hoàng - HCMUT 42
Tối ưu hóa động có ràng buộc – Thí dụ 1
 Xác định các hằng số dựa vào điều kiện ràng buộc
và điều kiện biên:
  c2  0
x(0)  .0  c1.0  c2  0
4
x(4)  4  4c1  0 9
c1 
4  8
  3 c1 2  16
4
9
0 x(t )dt  12 t  2 t  0  3  8c1  3 
8

9 2 9
 Kết luận: x (t )  
*
t  t 
32 8 x(t )  t 2  c1t  c2
4
© H. T. Hoàng - HCMUT 43
Tối ưu hóa động có ràng buộc – Thí dụ 2
Tìm vector hàm x (t )  x1 (t ) x2 (t ) sao cho phiếm
T

hàm dưới đây đạt cực tiểu:
 
2
J ( x )   5( x1  1) 2  x22 dt  min
0

với điều kiện ràng buộc: f ( x, x , t )  x1  2 x1  x2  0


và điều kiện biên: x1 (0)  0; x1 (2)  1
 Giải:
 Hàm Hamilton:
H ( x, x ,  , t )  L( x, x , t )  f ( x, x , t )
 H ( x, x ,  , t )  [5( x1  1) 2  x22 ]   ( x1  2 x1  x2 )

© H. T. Hoàng - HCMUT 44
Tối ưu hóa động có ràng buộc – Thí dụ 2
 Phương trình Euler-Lagrange:
H d H
 0  10( x1  1)  2    0 (1)
x1 dt x1
H d H
 0  2 x2    0 (2)
x2 dt x2

 Tìm nghiệm p.trình Euler-Lagrange thỏa điều kiện ràng buộc:
  2 x2 (3)
(2)   
  2 x2
Thay (3) vào (1): 10( x1  1)  4 x2  2 x 2  0 (4)
 x2  x1  2 x1
Từ điều kiện ràng buộc, suy ra:  (5)
 x2  x1  2 x1
Thay (5) vào (4):10( x1  1)  4( x1  2 x1 )  2( x1  2 x1 )  0
 2 x1 H18( xx, x, 10
, t )0[5( x1  1) 2  x22 ]   ( x1  2 x1 (6)
 x2 )
1

© H. T. Hoàng - HCMUT 45
Tối ưu hóa động có ràng buộc – Thí dụ 2
Nghiệm tổng quát của phương trình (6)
x1 (t )  C1e 3t  C 2 e 3t  0.556
Thay điều kiện biên x1 (0)  0; x1 (2)  1
C1  C 2  0.556  0 C1  0.5549
  
0.0025C1  403.42C 2  0.556  1 C 2  0.0011
 x1 (t )  0.5549e 3t  0.0011e 3t  0.556 (7)

Thay (7) vào (5):


x2  x1  2x1
 x2 (t )  0.5549e 3t  0.0055e 3t  1.112

© H. T. Hoàng - HCMUT 46
ĐIỀU KHIỂN TỐI ƯU LIÊN TỤC
DÙNG PHƯƠNG PHÁP BIẾN PHÂN

© H. T. Hoàng - HCMUT 47
Bài toán điều khiển tối ưu liên tục
 Cho đối tượng: x (t )  f ( x (t ), u(t )) (*)

trong đó: x (t )  [ x1 (t ), x 2 (t ),..., x n (t )]T


: vector trạng thái
u(t )  [u1 (t ), u2 (t ),..., um (t )]T : vector tín hiệu ĐK
Trạng thái đầu: x (0)  x0 , trạng thái cuối: x (t f )  x f

 Bài toán ĐK tối ưu: tìm tín hiệu ĐK u(t) sao cho:
tf

J (u)   ( x (t f ))   L( x (t ), u(t ), t )dt  min


t0

 Nghiệm x*(t) của phương trình vi phân (*) ứng với tín
hiệu ĐK tối ưu u*(t) gọi là quỹ đạo trạng thái tối ưu.
© H. T. Hoàng - HCMUT 48
Phân loại bài toán điều khiển tối ưu
 Khoảng thời gian xảy ra quá trình tối ưu là tf , có thể phân
loại:
 Bài toán tối ưu có tf cố định, ví dụ:
 Điều khiển đoàn tàu hỏa giữa 2 ga với lịch trình xác
định sao cho năng lượng đoàn tàu tiêu thụ là thấp
nhất;
 Điều khiển quá trình chuyển đổi hóa học trong thời
gian cho trước với chi phí thấp nhất
 Bài toán tối ưu có tf không cố định, ví dụ:
 Điều khiển tên lửa lên độ cao xác định với thời gian
nhanh nhất
 Điều khiển tàu biển đi được xa nhất với một nguồn
năng lượng cố định cho trước
© H. T. Hoàng - HCMUT 49
Phân loại bài toán điều khiển tối ưu (tt)
 Các bài toán điều khiển tối ưu động có trạng thái đầu x0
cho trước. Trạng thái cuối quá trình tối ưu là xf =x(tf), có
thể phân loại:
 Điểm cuối tự do, ví dụ:
 Điều khiển tên lửa lên độ cao lớn nhất;
 Điều khiển tàu biển đi được xa nhất với một nguồn
năng lượng cố định cho trước
 Điểm cuối bị ràng buộc, ví dụ:
 Điều khiển tên lửa vào quỹ đạo với thời gian nhanh
nhất.
 Điểm cuối cố định cho trước, ví dụ:
 Điều khiển ghép nối các con tàu
 Điều khiển hệ thống về trạng thái cân bằng

© H. T. Hoàng - HCMUT 50
Giải bài toán ĐK toán tối ưu dùng PP biến phân
 Bài toán ĐK tối ưu liên tục có thể phát biểu lại như sau:
tf

min J (u)   ( x (t f ))   L( x (t ), u(t ), t )dt


u(t )
0

với điều kiện x (t )  f ( x (t ), u(t ), t )


trong đó t0, tf, và x (t0 )  x0 cho trước

 Kết hợp điều kiện ràng buộc vào hàm mục tiêu dùng hàm
Lagrange:
tf

J (u)   ( x (t f ))   L( x (t ), u(t ), t )  T (t ) f ( x (t ), u(t ))  x (t )dt


0

© H. T. Hoàng - HCMUT 51
Giải bài toán ĐK toán tối ưu dùng PP biến phân
 Định nghĩa hàm Hamilton:
H ( x , u, t ,  )  L( x , u, t )  T (t ) f ( x , u, t )
tf

 J ( u)   ( x (t f ))   [ H ( x, u, t ,  )  T (t ) x ]dt
t0

 Cần tìm u*(t) sao cho: J (u)  0 u u*

 Biến phân của phiếm hàm mục tiêu:


tf
 
J  
 

  T x    T x  t t 0   
 H  T 
  (t ) x 
H 
u dt
 x   t t f t 0 
x  u 

© H. T. Hoàng - HCMUT 52
Điều kiện cần để có lời giải bài toán ĐK tối ưu
 Chú ý là x (t0 )  0 do điều kiện đầu cố định; x (t f )  0
nếu điểm cuối ràng buộc, x (t f )  0 nếu điểm cuối tự do
 Để J ( u)  0 với mọi u cần có các điều kiện:
H  H  (t f )
0  (t)    (t f ) 
u x x
 Lưu ý:
 (t f )
 Điều kiện  (t f )  chỉ cần đối với bài toán
x
điểm cuối tự do.
  (t ) được gọi là đồng trạng thái của hệ thống
tf
H

 (t)        T
 được gọi là phương
J ( u ) ( xtrình
(t f )) đồng
[ H (ttrạng
) (tthái
) x ]dt
x 0

© H. T. Hoàng - HCMUT 53
Trình tự giải bài toán điều khiển tối ưu
 Bước 1: Viết PTTT mô tả đối tượng:x (t )  f ( x (t ), u(t ), t )
 Bước 2: Viết hàm mục tiêu và ĐK biên từ yêu cầu thiết kế
 Bài toán điểm cuối tự do:
tf

min J ( u)   ( x (t f ))   L( x (t ), u(t ), t )dt


u( t )
t0
Điều kiện đầu: x (t0 )  x0

 Bài toán điểm cuối ràng buộc:


tf

min J ( u)   L( x (t ), u(t ), t )dt


u( t )
t0

Điều kiện đầu x (t0 )  x0 và điều kiện cuối x (t f )  x f


© H. T. Hoàng - HCMUT 54
Trình tự giải bài toán điều khiển tối ưu
 Bước 3: T/lập hàm Hamilton: H (t )  L( x, u, t )   T (t ) f ( x , u, t )
 Bước 4: Viết điều kiện cần để có lời giải tối ưu:
PT trạng thái: x (t )  f ( x (t ), u(t ), t )
H
PT đồng trạng thái:  (t)  
x
H
Điều kiện dừng: 0
u
Điều kiện đầu: x (t0 )  x0
Điều kiện cuối: x (t f )  x f (Bài toán điểm cuối cố định)
 (t f )
hoặc  (t f )  (Bài toán điểm cuối tự do)
x
 Bước 5: Giải hệ phương trình ở trên sẽ tìm được u*(t) và x*(t)
© H. T. Hoàng - HCMUT 55
Điều khiển tối ưu – Thí dụ 1
 Đặc tính động học nhiệt độ lò sấy cho bởi phương trình:
y (t )  2( y (t )  ya )  u (t )
trong đó y(t) là nhiệt độ lò sấy và ya = 250C là nhiệt độ môi trường;
u(t) là cường độ dòng nhiệt cấp lò sấy và t là thời gian (giờ)
 Yêu cầu: Thiết kế luật điều khiển u(t) điều khiển nhiệt độ nhiệt
độ lò sấy sao cho sau một giờ đạt đến càng gần nhiệt độ đặt
yd = 750C càng tốt và tối thiểu năng lượng tiêu tốn.
 Giải:

 Bước 1: Thành lập phương trình trạng thái:


Đặt biến trạng thái: x(t )  y (t )  ya
x (t )  2 x(t )  u (t )
 Phương trình trạng thái của lò sấy là:

 Trạng thái cuối mong muốn: x f  x(1)  y (1)  ya  yd  ya  50

© H. T. Hoàng - HCMUT 56
Điều khiển tối ưu – Thí dụ 1 (tt)
 Bước 2: Xác định hàm mục tiêu và điều kiện biên:
Theo yêu cầu thiết kế là trạng thái cuối x(tf ) càng gần xf =50
càng tốt, đồng thời tối thiểu năng lượng tiêu tốn, suy ra hàm
mục tiêu: 1
tf
1 2
J (u )  [ x(t f )  x f ]   u (t )dt  min
2

2 20
(Đây là bài toán tối ưu điểm cuối tự do)
trong đó  là trọng số tùy chọn (muốn trạng thái cuối càng
gần xf thì chọn  càng lớn)
Điều kiện đầu: x0  0; t f  1
 Bước 3: Định nghĩa hàm Hamilton:
H ( x, u,  , t )  L( x, u, t )   (t ) f ( x , u, t )
1 2
 H ( x , u,  , t )  u (t )   (t )[2 x(t )  u (t )]
2
© H. T. Hoàng - HCMUT 57
Điều khiển tối ưu – Thí dụ 1 (tt)
 Bước 4: Điều kiện cần để có nghiệm tối ưu
PT trạng thái: x (t )  2 x(t )  u (t ) (1)

 H (2)
PT đồng trạng thái:  (t )     (t )  2 (t )
x
Điều kiện dừng: H
0  u (t )   (t )  0 (3)
u

Điều kiện đầu: x(t0 )  x0  0 (4)


 (t f )
Điều kiện cuối:  (t f )    (1)   ( x(1)  50) (5)
x

1 2
H ( x , u,  , t )  u (t )   (t )[2 x(t )  u (t )]
2
© H. T. Hoàng - HCMUT 58
Điều khiển tối ưu – Thí dụ 1 (tt)
 Bước 5: Giải phương trình vi phân
 Nghiệm phương trình (2):
 (t )  C1e 2t (6)

 Thay (6) vào (3):


u (t )  C1e 2t (7)

 Thay (7) vào (1), ta được:


x (t )  2 x(t )  C1e 2t (8)

C1 2t
 x(t )   e  C2 e  2t
4

22x(t()t ) u0(t )


x (tu)((tt)) (1)
(3)
(2)

© H. T. Hoàng - HCMUT 59
Điều khiển tối ưu – Thí dụ 1 (tt)
 Xác định các hằng số dựa vào điều kiện biên:
 x ( 0)  0
 (1)    x(1)  50 

 C1
 4  C2  0
 
C1e     e  C2 e  2  50 

2 C1 2
  4 
 50 
C1   e 2   (e 2  e  2 ) / 4

12.5 
C2 
  e 2   ( e 2  e  2 ) / 4

© H. T. Hoàng - HCMUT 60
Điều khiển tối ưu – Thí dụ 1 (tt)

 Kết luận: Tín hiệu điều khiển và quỹ đạo trạng thái tối ưu là:

u (t )  C1e 2t
C1 2t
x(t )   e  C2 e  2t
4

© H. T. Hoàng - HCMUT 61
Điều khiển tối ưu – Thí dụ 2
 Cho hệ thống xe như hình vẽ. y(t)
Quan hệ vào ra của hệ thống u(t)
mô tả bởi phương trình vi phân: M
My(t )  u(t )
trong đó u(t) là tín hiệu vào (lực điều khiển); y(t) là tín hiệu ra
(vị trí xe); m = 0.5kg là khối lượng xe
 Bài toán đặt ra là thiết kế luật điều khiển u(t) để điều khiển xe
từ trạng thái đứng yên tại gốc tọa độ đến trạng thái đứng yên
tại vị trí cách gốc tọa độ 10cm trong khoảng thời gian 1 giây,
đồng thời tối thiểu năng lượng tiêu tốn.
 Yêu cầu:
 Hãy thành lập bài toán tối ưu cho yêu cầu thiết kế trên.
 Giải bài toán tìm tín hiệu điều khiển tối ưu

© H. T. Hoàng - HCMUT 62
Điều khiển tối ưu – Thí dụ 2
 Giải:
 Bước 1: Viết phương trình trạng thái của đối tượng
 Đặt các biến trạng thái x1 (t )  y (t ), x2 (t )  y (t )
 Phương trình trạng thái mô tả đối tượng

 x1 (t )  x 2 (t )
 x (t )  1 u(t )
 2 M

 x1 (t )  x2 (t )
 
 x 2 (t )  2u(t )

© H. T. Hoàng - HCMUT 63
Điều khiển tối ưu – Thí dụ 2
 Bước 2: Xác định hàm mục tiêu và điều kiện biên:
 Yêu cầu thiết kế là trạng thái xe tại thời điểm tf = 1 đứng yên
tại vị trí 10cm (điểm cuối ràng buộc) đồng thời tối thiểu năng
lượng tiêu tốn, suy ra hàm mục tiêu:
1
1 2 (Bài toán tối ưu
J (u )   u (t )dt  min
20 điểm cuối ràng buộc)
 Từ dữ kiện của đề bài, có thể xác định được điều kiện biên:
Điều kiện đầu: x1 (0)  y (0)  0, x2 (0)  y (0)  0
Điều kiện cuối:x1 (1)  y (1)  10, x2 (1)  y (1)  0
 Bước 3: Thành lập hàm Hamilton:
H ( x , u,  , t )  L( x , u, t )   T (t ) f ( x , u, t )
1 2
 H ( x, u,  , t )  u (t )  1 x 2 (t )  2 2u(t )
2
© H. T. Hoàng - HCMUT 64
Điều khiển tối ưu – Thí dụ 2 (tt)
 Bước 4: Điều kiện cần để có nghiệm tối ưu
 x1 (t )  x2 (t ) (1)
PT trạng thái: 
 x 2 (t )  2u(t )
 H

 1 ( t )   0
 x1
PT đồng trạng thái:  (2)
2 (t )   H  1
 x 2
H u ( t )  2 2 ( t )  0
Điều kiện dừng: 0  (3)
u
x (0)  0;0
T
Điều kiện đầu: (4)
x (1)  10;0 (5)
T
Điều kiện cuối:
© H. T. Hoàng - HCMUT 65
Điều khiển tối ưu – Thí dụ 2 (tt)
 Bước 5: Giải phương trình vi phân
1 (t )  C1
 Nghiệm phương trình (2):  (6)
2 (t )  C1t  C 2
 Nghiệm phương trình (3):
u(t )  22 (t )  2C1t  2C 2 (7)
 Thay (7) vào (1), ta được:
 x1 (t )  x 2 (t )

 x 2 (t )  2u (t )  4C1t  4C 2
 x1 (t )  23 C1t 3  2C 2 t 2  C3t  C 4
  (9)
x
 2 ( t )  2 C1 t 2
 4C 2 t  C3
© H. T. Hoàng - HCMUT 66
Điều khiển tối ưu – Thí dụ 2 (tt)
 Thay điều kiện biên:
 x1 (0)  C 4  0 C 4  0
 x 2 (0)  C3  0 C  0
 3
 x (1)  2 C  2C  10  
 1 3 1 2
C1  30
 x 2 (1)  2C1  4C 2  0 C 2  15

Kết luận: Tín hiệu điều khiển tối ưu là


u (t )  60t  30
*
(7)

© H. T. Hoàng - HCMUT 67
PHƯƠNG PHÁP QUI HOẠCH ĐỘNG

© H. T. Hoàng - HCMUT 68
Nguyên lý tối ưu Bellman
 Phương pháp qui hoạch động (DP – Dynamic
Programing) do Bellman đề xuất (1957)
 Phương pháp qui hoạch động là một thuật toán xác định
dãy giá trị {u(k)} tối ưu để tối thiểu chỉ tiêu chất lượng J.
 Nguyên lý tối ưu: Mỗi đoạn cuối của quỹ đạo trạng thái
tối ưu cũng là một quỹ đạo trạng thái tối ưu.

x2
Đoạn 2

Đoạn 3 xN
xk Đoạn 1

x0
x1
© H. T. Hoàng - HCMUT 69
Thí dụ tìm đường ngắn nhất dùng DP
 Tìm đường ngắn nhất đi từ A đến J, cho biết mạng
lưới đường như hình vẽ.

 Nguyên lý tối ưu Bellman: tìm đường ngắn nhất


ngược từ nút đích đến nút đầu.
© H. T. Hoàng - HCMUT 70
Thí dụ tìm đường ngắn nhất dùng DP
 Phân bài toán tìm đường thành các bước từ 1 đến 5
 Ký hiệu Nki là nút thứ i ở bước k
N21 N31
N41

N11 N32 N51


N22

N42
N33
N23

Bước 1 Bước 2 Bước 3 Bước 4 Bước 5


© H. T. Hoàng - HCMUT 71
Thí dụ tìm đường ngắn nhất dùng DP

 Ký hiệu:
*
 J k ( N ki ) là khoảng cách ngắn nhất từ nút N ki đến nút đích J
 d ( N ki , N k 1, j ) là khoảng cách từ nút N ki đến nút N k 1, j

  
Phương trình Bellman: J k* ( N ki )  min d ( N ki , N k 1, j )  J k*1 ( N k 1, j )
j

 J1* ( N11 ) là khoảng cách ngắn nhất từ nút đầu đến nút đích.

© H. T. Hoàng - HCMUT 72
Thí dụ tìm đường ngắn nhất dùng DP

 Giải PT Bellman qua 2 vòng:


 Vòng ngược: đi ngược từ nút cuối về nút đầu tìm
đoạn đường cuối ngắn nhất
 Vòng xuôi: đi từ nút đầu đến nút cuối  đường đi
tối ưu
© H. T. Hoàng - HCMUT 73
Thí dụ tìm đường ngắn nhất dùng DP

 Vòng ngược:
 Bước 5: bắt đầu từ nút đích J 5* ( N 51 )  0
 Bước 4: đoạn đường ngắn nhất từ nút N41 hoặc N42
đến đích:
J 4* ( N 41 )  d ( N 41 , N 51 )  J 5* ( N 51 )  3
J 4* ( N 42 )  d ( N 42 , N 51 )  J 5* ( N 51 )  4
© H. T. Hoàng - HCMUT 74
Thí dụ tìm đường ngắn nhất dùng DP (tt)
 Bước 3: có nhiều lựa
chọn, từ nút N3i phải
chọn đường đi đến
đích qua nút N4j nào
tối ưu đoạn quỹ đạo
cuối J 3* ( N 3i ) ?
J 3* ( N 3i )  mind ( N 3i , N 4 j )  J 4* ( N 4 j )
j

Từ nút
d ( N 3i , N 4j )  J *
4 (N4 j ) * Quyết định
J ( N 3i )
3 đi đến
N3i N 41 N 42
N 31 1+3=4 4+4=8 4 N41 (H)
N 32 6+3=9 3+4=7 7 N42 (I)
N 33 3+3=6 3+4=7 6 N41 (H)
© H. T. Hoàng - HCMUT 75
Thí dụ tìm đường ngắn nhất dùng DP (tt)
 Bước 2: tìm đường
tối ưu từ nút N2i đến
nút đích N51 (tức nút J 3* ( N 31 )  4
J), sử dụng kết quả J 3* ( N 32 )  7
tối ưu đoạn cuối tìm J 3* ( N 33 )  6
được ở bước 3

J 2* ( N 2i )  mind ( N 2i , N 3 j )  J 3* ( N 3 j )
j

Từ nút
d ( N 2i , N 3 j )  J 3* ( N 3 j ) * Quyết định
J ( N 2i )
2 đi đến
N2i N 31 N 32 N 33
N 21 7+4=11 4+7=11 6+6=12 11 N 31 hoặc N 32
N 22 3+4=7 2+7=9 4+6=10 7 N 31
N 23 4+4=8 1+7=8 5+6=11 8 N 31 hoặc N 32
© H. T. Hoàng - HCMUT 76
Thí dụ tìm đường ngắn nhất dùng DP (tt)
 Bước 1: tìm đường
tối ưu từ nút N11 (tức J 2* ( N 21 )  11
nút A) đến nút đích J 2* ( N 22 )  7
N51 (tức nút J), sử J 2* ( N 23 )  8
dụng kết quả tối ưu
đoạn cuối tìm được
ở bước 2


J1* ( N11 )  min d ( N11 , N 2 j )  J 2* ( N 2 j )
j

Từ d ( N11 , N 2 j )  J 2* ( N 2 j ) *
Quyết định
J ( N11 )
1 đi đến
N 21 N 22 N 23
N11 2+11=13 4+7=11 2+8=10 10 N 23

© H. T. Hoàng - HCMUT 77
Thí dụ tìm đường ngắn nhất dùng DP (tt)

 Vòng xuôi: đi từ bước 1 đến bước 5 để rút ra đường đi tối ưu

Kết luận:
Đường đi tối ưu: N11  N 23  N 31  N 41  N 51
hoặc: N11  N 23  N 32  N 42  N 51

© H. T. Hoàng - HCMUT 78
Bài toán điều khiển tối ưu động rời rạc
 Cho đối tượng mô tả bởi phương trình sai phân:
x (k  1)  f ( x (k ), u(k )) (*)
trong đó: x (k )  [ x1 (k ), x2 (k ),..., xn (k )]T: vector trạng thái
u(k )  [u1 (k ), u2 (k ),..., um (k )]T: vector tín hiệu điều khiển
 Trạng thái đầu: x (0)  x0 , trạng thái cuối: x ( N )  x N
 Bài toán điều khiển tối ưu: tìm tín hiệu u(k) sao cho:
N 1
J   ( N , x N )   L( x (k ), u(k ))  min
k 0

Chú ý: Bài toán tối ưu điểm cuối tự do  ( N , x N )  0


Bài toán tối ưu điểm cuối cố định  ( N , x N )  0
 Ý tưởng giải bài toán ĐK tối ưu rời rạc dùng nguyên lý tối ưu
Bellman: tìm kiếm nghiệm u* (k ) phụ thuộc x * (k ) theo chiều
ngược hướng quỹ đạo từ điểm cuối xN đến điểm đầu x0
© H. T. Hoàng - HCMUT 79
PP qui hoạch động giải bài toán ĐK tối ưu rời rạc
 Đặt hàm mục tiêu tối ưu cho đoạn quỹ đạo t.thái cuối kể từ x(k)
 N 1

J k ( x ( k ))  min  ( N , x ( N ))   L( x (i ), u(i )) , ( k  0, N  1)
*
u ( k ),...,u ( N 1)
 i k 
 Biểu diễn J k* ( x (k )) dưới dạng:
 N 1

J k ( x (k ))  min  L( x (k ), u(k ))   ( N , x ( N ))   L( x (i ), u(i )) 
*
u( k ),...,u ( N 1)
 i k 1 

 J k* ( x (k ))  min L( x (k ), u(k ))  J k*1 ( x (k  1))
u( k )

 
 J k* ( x (k ))  min L( x (k ), u(k ))  J k*1 ( f ( x (k ), u(k ))) (PT Bellman)
u( k )

 Dễ thấy: J N* ( x ( N ))   ( N , x ( N )) và J 0* ( x (0))  minJ 


 Giải N phương trình Bellman theo thứ tự k  N  1  0 sẽ tìm
được tín hiệu điều khiển tối ưu.
© H. T. Hoàng - HCMUT 80
Trình tự giải bài toán ĐK tối ưu rời rạc dùng DP
 Đối tượng: x (k  1)  f ( x (k ), u(k ))
 Yêu cầu thiết kế: Tìm tín hiệu u* (k ), k  0,1,..., N  1 điều khiển
hệ thống từ trạng thái đầu x (0)  x0 đến trạng thái cuối x (N )
sao cho tối thiểu chỉ tiêu chất lượng:
N 1
J   ( N , x N )   L( x (k ), u(k ))  min
k 0

 Bước 1: Viết phương trình Bellman:


 
J k* ( x (k ))  min L( x (k ), u(k ))  J k*1 ( f ( x (k ), u(k ))) (k  0,1,..., N  1)
u( k )

với J N* ( x ( N ))   ( N , x N )
 Bước 2: Giải phương trình Bellman qua 2 vòng:
 Vòng ngược: k  N  1  0 tìm u ( k ) phụ thuộc x (k )
*

 Vòng thuận: k  0  N  1 tính cụ thể u ( k ) từ đ/kiện đầu x0


*

© H. T. Hoàng - HCMUT 81
Trình tự giải bài toán ĐK tối ưu rời rạc dùng DP (tt)
*
 Vòng ngược: tìm u (k ) phụ thuộc x(k) (k=N10), gồm các
bước:
 Tìm u* ( N  1) phụ thuộc x ( N  1) là nghiệm bài toán tối ưu:
J N* 1 ( x ( N  1))  min L( x ( N  1), u( N  1))   ( N , x ( N ))
u ( N 1)

với ràng buộc f ( x ( N  1), u( N  1))  x ( N )


 Với k  N  2  0 :tìm u* (k ) phụ thuộc x (k ) là nghiệm PT Bellman:
 
J k* ( x (k ))  min L( x (k ), u(k ))  J k*1 ( f ( x (k ), u(k )))
u( k )

với J k*1 (.) là biểu thức hàm mục tiêu tối ưu tối ưu đoạn quỹ
đạo cuối đã tìm được ở bước trước đó.
J k (.)
*
 Chú ý: để tìm u ( k ) , áp dụng PP tối ưu tĩnh, giải PT: 0
u(k )
© H. T. Hoàng - HCMUT 82
Trình tự giải bài toán ĐK tối ưu rời rạc dùng DP (tt)
*
 Vòng xuôi: xác định giá trị cụ thể uk (k ) . Thực hiện các bước
sau đây với k=0,1,2,….N1:

 Gán x (k ) vào công thức u* (k ) đã tính ở vòng ngược để


được giá trị cụ thể của u* (k )

 Thay u* (k ) vào mô hình toán của đối tượng để tính được


trạng thái tối ưu ở thời điểm (k+1)

x (k  1)  f ( x (k ), u* (k ))

© H. T. Hoàng - HCMUT 83
Điều khiển tối ưu rời rạc dùng DP – Thí dụ 1
 Xét đối tượng là khâu quán tính bậc 1 có mô hình trạng thái:
1 1
x(k  1)  x(k )  u (k )
2 2
 Xác định tín hiệu điều khiển tối ưu để điều khiển hệ thống từ
trạng thái đầu x(0)=4 đến trạng thái cuối x(4)=0 sao cho:
3
J   ( x 2 (k )  u 2 (k ))  min
k 0
 Giải:
 Phương trình Bellman:

J k* ( x (k ))  min L( x (k ), u(k ))  J k*1 ( f ( x (k ), u(k )))
u( k )

 J k* ( x(k ))  minx (k )  u
2 2

(k )  J k*1 (0.5 x(k )  0.5u (k )) (k  0  3)
u(k )

với: J 4* ( x(4))  0

© H. T. Hoàng - HCMUT 84
Điều khiển tối ưu rời rạc dùng DP – Thí dụ 1 (tt)
 Vòng ngược: Với k = 3:
Phương trình Bellman:

u ( 3)

J 3* ( x(3))  min x 2 (3)  u 2 (3)  (do J 4* ( x(4))  0 )

Điều kiện ràng buộc:0.5 x(3)  0.5u (3)  x(4)  0

Lời giải: u * (3)   x(3) (để thỏa mãn điều kiện ràng buộc)
 J 3* ( x(3))  2 x 2 (3)

© H. T. Hoàng - HCMUT 85
Điều khiển tối ưu rời rạc dùng DP – Thí dụ 1 (tt)
 Vòng ngược: Với k = 2:
Phương trình Bellman:

J 2* ( x(2))  min x 2 (2)  u 2 (2)  J 3* ( x(3))
u ( 2)

 J 2* ( x(2))  minx (2)  u
2 2

(2)  2 x 2 (3)
u ( 2)

  1 1 
2

 J 2 ( x(2))  min  x (2)  u (2)  2  x(2)  u (2)) 
* 2 2
u ( 2)
 2 2  
3 2 3 2 
 J 2 ( x(2))  min  x (2)  x(2)u (2)  u (2)
*
u ( 2) 2 2
 
J 2 (.) x ( 2)
Do  x(2)  3u (2)  u * (2)  
u (2) 3
2 2

 J 2* ( x(2))  x 2 (2)    x(2)   2 1  x(2)  x(2) 


 3  2  3 
4 2
 J ( x(2))  3 x (2)
*
2

© H. T. Hoàng - HCMUT 86
Điều khiển tối ưu rời rạc dùng DP – Thí dụ 1 (tt)
 Vòng ngược: Với k = 1:
Phương trình Bellman:
J1* ( x(1))  minx 2 (1)  u 2 (1)  J 2* ( x(2))
u (1)
 2 4 2 
 J1 ( x(1))  min
*
 x (1)  u (1)  x (2)
2
u (1)
 3 

 4  1 
2

 J1 ( x(1))  min  x (1)  u (1)   ( x(1)  u (1)) 
* 2 2
u (1)
 3 2  
 J1* ( x(1))  min  x 2 (1)  x(1)u (1)  u 2 (1)
4 2 4
u (1)
3 3 3 
J (.) 2 8 x(1)
Do: 1  x(1)  u (1)  u * (1)  
u (1) 3 3 4
2 2
 x(1)  4  1  x(1) 
 J1* ( x(1))  x 2 (1)      2  x (1)  
 4  3   4 
5
 J1* ( x(1))  x 2 (1)
4
© H. T. Hoàng - HCMUT 87
Điều khiển tối ưu rời rạc dùng DP – Thí dụ 1 (tt)
 Vòng ngược: Với k = 0:
Phương trình Bellman:
 
J 0* ( x(0))  min x 2 (0)  u 2 (0)  J1* ( x(1))
u0 1

 J 0* ( x(0))  min  x 2 (0)  u 2 (0)  x 2 (1)


5
u (0)
 4 

 5  1 
2

 J 0 ( x(0))  min  x (0)  u (0)   ( x(0)  u (0)) 
* 2 2
u (0)
 4 2  
 J 0* ( x(0))  min  21 x 2 (0)  5 x(0)u (0)  21 u 2 (0)
u ( 0 ) 16 8 16
 
J 0 (.) 5 21 5
Do:  x(0)  u (0)  u (0)   x(0)
*

u (0) 8 8 21
2 2

 J 0* ( x(0))  x 2 (0)    5 x(0)   5  1  x(0)  5 x(0) 


 21  4 2  21 
26
 J 0* ( x(0))  x 2 (0)
21
© H. T. Hoàng - HCMUT 88
Thí dụ giải bài toán ĐK tối ưu rời rạc dùng DP (tt)
 Vòng xuôi:
Điều kiện đầu: x(0)  4

5 20
Với k = 0: u (0)   x(0)  
*

21 21
1 1 20  32
x(1)  ( x(0)  u (0))   4   
*

2 2 21  21
x(1) 8
Với k = 1: u * (1)   
4 21
1 1  32 8  12
x(2)  ( x(1)  u (1))     
*

2 2  21 21  21

© H. T. Hoàng - HCMUT 89
Thí dụ giải bài toán ĐK tối ưu rời rạc dùng DP (tt)
 Vòng xuôi:
x(2) 4
Với k = 2: u (2)  
*

3 21
1 1  12 4  4
x(3)  ( x(2)  u * (2))     
2 2  21 21  21
4
Với k = 3: u * (3)   x(3)  
21
1 1 4 4 
x(4)  ( x(3)  u (3))      0
*

2 2  21 21 
 20 8 4 4
Kết luận: Chuổi tín hiệu ĐK tối ưu là: u   ; ; ; 
*

 21 21 21 21
26 2 416
Chỉ tiêu chất lượng tối ưu: J min  J 0* ( x(0))  x (0) 
21 21
© H. T. Hoàng - HCMUT 90
Qui hoạch động giải bài toán ĐK tối ưu liên tục
 Cho đối tượng mô tả bởi phương trình trạng thái:
x (t )  f ( x (t ), u(t ), t )
Trạng thái đầu: x (0)  x0 , trạng thái cuối: x (t f )  x f
 Bài toán điều khiển tối ưu: tìm tín hiệu điều khiển u(t) sao cho:
tf
J (u)   ( x (t f ))   L( x (t ), u(t ), t )dt  min (*)
ti

 Đặt: Hàm mục tiêu tối ưu đoạn quỹ đạo cuối từ thời điểm ti,
trạng thái xi đến thời điểm cuối tf, trạng thái cuối x(tf) là
J (ti , xi )  min ( x (t f ))   L( x (t ), u(t ), t )dt 
tf
*
u(t ) ti

 Nếu tồn tại lời giải tối ưu của bài toán (*) thì hàm mục tiêu tối ưu đoạn
quỹ đạo cuối phải thỏa mãn PT Hamilton-Jacobi-Bellman:
T
J (t , x )
*
 J (t , x ) 
*
  minL( x, u, t )    f ( x, u, t )
t u(t )
 x 
© H. T. Hoàng - HCMUT 91
ĐIỀU CHỈNH TOÀN PHƯƠNG TUYẾN TÍNH
(Linear Quadratic Regulator – LQR)

© H. T. Hoàng - HCMUT 92
Bài toán LQR liên tục
 Đối tượng tuyến tính mô tả bởi phương trình trạng thái:
x (t )  Ax (t )  Bu(t ) (*)
trong đó: x (t )  [ x1 (t ), x2 (t ),..., xn (t )]T : vector trạng thái
u(t )  [u1 (t ), u2 (t ),..., um (t )]T : vector tín hiệu điều khiển
 Bài toán đặt ra là tìm tín hiệu ĐK u(t) điều chỉnh hệ thống từ
trạng thái đầu x (0)  x0 bất kỳ về trạng thái cuối x(tf) = 0 sao
cho tối thiểu chỉ tiêu chất lượng dạng toàn phương:
tf
1 T
2
1

J (u)  x (t f ) Mx (t f )   x T (t )Qx (t )  uT (t ) Ru(t ) dt
2 t0

trong đó Q và M là các ma trận trọng số bán xác định dương
R là ma trận trọng số xác định dương
 Bài toán trên được gọi là bài toán điều chỉnh toàn phương tuyến tính.
© H. T. Hoàng - HCMUT 93
Điều kiện cực trị bài toán LQR liên tục
 Hàm Hamilton:
1 T
 
H  x (t )Qx (t )  uT (t ) Ru(t )  T (t )Ax (t )  Bu(t )
2
 Điều kiện cần để có lời giải tối ưu:
PT trạng thái: x (t )  Ax (t )  Bu(t ) (1)
H
PT đồng trạng thái:  (t )    Qx (t )  A (t ) (2)
x
H
Điều kiện dừng:  Ru(t )  B T  (t )  0x (t )  f ( x (t ), u(t ),(3)
t)
u
 H
 (t )  
T

x
H
0 T
H (t )  L( x, u , t )   (t ) f ( x , u, t )
© H. T. Hoàng - HCMUT 94
Cách tìm lời giải tối ưu
 Rút u(t) từ (3):
u(t )   R 1 B T  (t ) (4)
 Thay (4) vào (1), ta được
x (t )  Ax (t )  BR 1 B T  (t ) (5)
 Kết hợp (5) và (2), ta được phương trình vi phân:

 x (t )   A  BR 1 B T   x (t ) 
 (t )   Q    (t ) (6)
 A 
 Giải phương trình vi phân (6), tìm được x(t) và (t)
 Thay (t) vào (4) tìm được lời giải tối ưu

© H. T. Hoàng - HCMUT 95
Lời giải bài toán LQR liên tục

 Tín hiệu điều khiển tối ưu: u* (t )   K (t ) x (t )


trong đó: K (t )  R 1 B T P (t )
và P(t) là nghiệm bán xác định dương của phương trình vi phân
Ricatti:

 P  PA  AT P  Q  PBR 1 B T P
P (t f )  M

 Lời giải phương trình Ricatti:


 Trường hợp hệ bậc 2: có thể giải bằng tay
 Trường hợp tổng quát: tham khảo thêm trong tài liệu

© H. T. Hoàng - HCMUT 96
Bài toán LQR liên tục thời gian vô hạn
 Đối tượng tuyến tính mô tả bởi phương trình trạng thái:
x (t )  Ax (t )  Bu(t )
 Chỉ tiêu chất lượng dạng toàn phương, với thời điểm cuối tf=:

1
 
J (u)   x T (t )Qx (t )  uT (t ) Ru(t ) dt
20
 Tín hiệu điều khiển tối ưu: u* (t )   Kx (t )
trong đó: K  R 1 B T P
và P là nghiệm bán xác định dương của p.trình đại số Ricatti:
PA  AT P  Q  PBR 1 B T P  0
 Chú ý: trong trường hợp này K và P là không phụ thuộc thời gian
 Giá trị cực tiểu của chỉ tiêu chất lượng: J min  x T (0) Px (0)

© H. T. Hoàng - HCMUT 97
Điều khiển LQR liên tục – Thí dụ 1
 Cho hệ tuyến tính bậc 1 không ổn định mô tả bởi PTTT:
x (t )  3x(t )  2u (t )
 Yêu cầu: Thiết kế luật điều khiển u(t) để hệ kín ổn định và tối
thiểu chỉ tiêu chất lượng:
1
J   ( x 2 (t )  5u 2 (t ))dt
20
 Giải:
 Phương trình đại số Ricatti: PA  AT P  Q  PBR 1 B T P  0
1 4 2
 P.3  3.P  1  P.2. .2.P  0  P  6P  1  0
5 5
 P  7.663 (chọn nghiệm xác định dương)
1
 Độ lợi hồi tiếp trạng thái: K  R B P  K  .2.(7,663)  3,065
1 T
5
 Luật điều khiển tối ưu: u (t )   Kx (t )  u (t )  3,065 x(t )

© H. T. Hoàng - HCMUT 98
Điều khiển LQR liên tục – Thí dụ 2
 x1  x2
 Cho hệ tuyến tính bậc 2 mô tả bởi PTTT: 
 x2  u
 Yêu cầu: Thiết kế luật điều khiển u(t) để hệ kín ổn định và tối
thiểu chỉ tiêu chất lượng:

1
J   (2 x12 (t )  2u 2 (t ))dt
 Giải: 20
 x1 (t )  0 1  x1 (t )  0
 Viết lại phương trình trạng thái:         u (t )
 x2 (t )  0 0  x2 (t ) 1
 
A B
 Viết lại chỉ tiêu chất lượng:

1 2 0  x1 
J   x1 x2      2 2
 (t ))dt
u
20 0 0   x2  R

Q
© H. T. Hoàng - HCMUT 99
Điều khiển LQR liên tục – Thí dụ 2
 Phương trình đại số Ricatti:
PA  AT P  Q  PBR 1 B T P  0
 p1 p2  0 1 0 0  p1 p2   2 0
   
 p2 p3  0 0 1 0  p2
   
p3  0 0
 p1 p 2  0  1  p1 p2 
    0 1  0
 p2 p3  1 2  p2 p3 

0 p1   0 0  2 0 1  p22 p2 p3 
        2 
0
0 p2   p1 p2  0 0 2  p2 p3 p3 
 1 2 1 
 2  p2 p1  p2 p3 
 2 2 0
1 1 
 p1  p2 p3 2 p2  p32 
 2 2 
© H. T. Hoàng - HCMUT 100
Điều khiển LQR liên tục – Thí dụ 2
 1 2
2  2 p 2  0  p1  2 2
 1  2 2 2 
  p1  p2 p3  0   p2  2  P 
 2 p  2 2  2 2 2
2 p2  1 p32  0  3
 2

 Độ lợi hồi tiếp trạng thái:


1 2 2 2 
K  R B P  K  0 1
1 T
  K  [1 2]
2  2 2 2
 Luật điều khiển tối ưu:
 x1 (t ) 
u (t )   Kx (t )  [1
*
2 ]   u * (t )   x1 (t )  2 x2 (t )
x
 2 (t )

© H. T. Hoàng - HCMUT 101


Điều khiển LQR liên tục – Thí dụ 3
 Cho hệ tuyến tính bậc 2 mô tả bởi PTTT:
 x1 (t )   0 1   x1 (t )  0
 x (t )   1  2  x (t )  1u (t )
 2    2  
A B
 Yêu cầu: Thiết kế luật điều khiển u(t) để hệ kín ổn định và tối
thiểu chỉ tiêu chất lượng:

1
J   [2 x12 (t )  x22 (t )  u 2 (t )]dt
 Giải: 20

 Viết lại chỉ tiêu chất lượng:



1 2 0  x1 
J   ([ x1 x2 ]     1 u 2
 (t ))dt
20 0 1   x2 
 R
Q
© H. T. Hoàng - HCMUT 102
Điều khiển LQR liên tục – Thí dụ 3
 Phương trình đại số Ricatti:
PA  AT P  Q  PBR 1 B T P  0

 p1 p2   0 1  0  1   p1 p2   2 0
  
 p2 p3   1  2 1  2  p2
   
p3  0 1
 p p 2  0   p1 p2 
 1 0 1 0
 p2 p3  1  p2 
p3 

  p2 p1  2 p2    p2  p3  2 0  p22 p2 p3 
       2 
0
  p3 p2  2 p3   p1  2 p2 p2  2 p3  0 1  p2 p3 p3 

  2 p2  2  p22 p1  2 p2  p3  p2 p3 
 2 
0
 p3  p1  2 p2  p2 p3 2 p2  4 p3  1  p3 

© H. T. Hoàng - HCMUT 103


Điều khiển LQR liên tục – Thí dụ 3

 2 p2  2  p22  0  p1  2.403
 p  2 p  p  p p  0  (chọn các
 1 2 3 2 3   p2  0.732 nghiệm
 p  p1  2 p2  p2 p3  0  p  0.542
 3 dương)
2 p2  4 p3  1  p32  0  3

2.403 0.732
P 
 0.732 0.542 
 Độ lợi hồi tiếp trạng thái:
2.403 0.732
K  R B P  K  0 1
1 T
  K  [0.732 0.542]
0.732 0.542
 x1 (t ) 
 Luật điều khiển tối ưu: u (t )   Kx (t )  [0.732 0.542]
*

x (t ) 
 2 
 u * (t )  0.732 x1 (t )  0.542 x2 (t )
© H. T. Hoàng - HCMUT 104
Bài toán LQR rời rạc
 Cho đối tượng tuyến tính rời rạc mô tả bởi phương trình trạng
thái: x (k  1)  A x (k )  B u(k ) (*)
d d

trong đó:x (k )  [ x1 (k ), x2 (k ),..., xn (k )]T: vector trạng thái


u(k )  [u1 (k ), u2 (k ),..., um (k )]T: vector tín hiệu điều khiển
 Bài toán đặt ra là tìm tín hiệu ĐK u(k) điều chỉnh hệ thống từ
trạng thái đầu x (0)  x0 bất kỳ về trạng thái cuối x(N) = 0 sao
cho tối thiểu chỉ tiêu chất lượng dạng toàn phương:
1 T 1 N 1 T

J (u)  x ( N ) Mx ( N )   x (k )Qx (k )  uT (k ) Ru(k )
2 2 k 0

trong đó Q và M là các ma trận trọng số bán xác định dương
R là ma trận trọng số xác định dương

© H. T. Hoàng - HCMUT 105


Lời giải bài toán LQR rời rạc

 Tín hiệu điều khiển tối ưu: u* (k )   K (k ) x (k )


trong đó:  1
K (k )  B P (k  1) Bd  R BdT P (k  1) Ad
T
d

và P(k) là nghiệm bán xác định dương của phương trình Ricatti:

 
P ( k )  A P ( k  1)  P ( k  1) Bd B P ( k  1) Bd  R
T
d
T
d 
1

BdT P ( k  1) Ad  Q
P (N )  M
 Nghiệm p/trình Ricatti rời rạc: lần lượt thay k  ( N  1)  0
vào phương trình Ricatti sẽ tìm được P(k)

© H. T. Hoàng - HCMUT 106


Bài toán LQR rời rạc thời gian vô hạn
 Đối tượng tuyến tính mô tả bởi phương trình trạng thái rời rạc:
x (k  1)  Ad x (k )  Bd u(k )
 Chỉ tiêu chất lượng dạng toàn phương, trong đó thời điểm
cuối N=: 1  T

J (u)   x (k )Qx (k )  uT (k ) Ru(k )
2 k 0

 Tín hiệu điều khiển tối ưu: u* (k )   Kx (k )
trong đó: 
K  B PBd  R BdT PAd
T
d 1

và P là nghiệm bán xác định dương của phương trình đại số


Ricatti: T

P  Ad P  PBd Bd P Bd  R  Bd P Ad  Q
T 1 T

 Chú ý: trong trường hợp này K và P là không phụ thuộc k
 J min  x T (0) Px (0)
Giá trị cực tiểu của chỉ tiêu chất lượng:
© H. T. Hoàng - HCMUT 107
Lời giải bài toán LQR thời gian vô hạn dùng Matlab

 Nghiệm phương trình đại số Ricatti liên tục (continuous


algebraic Ricatti equation – care)
>> P=care(A,B,Q,R)

 Lời giải bài toán LQR (Linear Quadratic Regulator) liên tục
>> K=lqr(A,B,Q,R)

 Nghiệm phương trình đại số Ricatti rời rạc (discrete algebraic


Ricatti equation – dare)
>> P=dare(A,B,Q,R)

 Lời giải bài toán LQR rời rạc


>> K=dlqr(A,B,Q,R)
© H. T. Hoàng - HCMUT 108
BỘ LỌC KALMAN

© H. T. Hoàng - HCMUT 109


Lọc Kalman liên tục
 x (t )  Ax (t )  Bu (t )  w (t )
 Xét hệ tuyến tính liên tục:
 y (t )  Cx(t )  v(t )
Trong đó: w(t) là nhiễu hệ thống; v(t) là nhiễu đo lường.
Giả sử nhiễu hệ thống và nhiễu đo lường có phân bố Gauss,
không tương quan, có trung bình bằng 0 và phương sai là:
E[ ww T ]  Q N E[vvT ]  RN

 xˆ (t )  [ Axˆ (t )  Bu (t )]  L[ y (t )  yˆ (t )]
 Bộ lọc Kalman liên tục: 
 yˆ (t )  Cxˆ (t )
Trong đó L là độ lợi của bộ lọc Kalman:
L  C T RN1
với  là nghiệm của phương trình Ricatti:
A  AT  C T RN1C   Q N  0
© H. T. Hoàng - HCMUT 111
Sơ đồ khối bộ lọc Kalman liên tục

u(t) x(t) y(t)


x (t )  Ax (t )  Bu (t ) C

L
+

xˆ (t )
B ++
+  C
yˆ (t )

 xˆ (t )  Axˆ (t )  Bu (t )  L( y (t )  yˆ (t ))
 Bộ lọc Kalman: 
 yˆ (t )  Cxˆ (t )

Trong đó: L  C T RN1


A  AT  C T RN1C   Q N  0

© H. T. Hoàng - HCMUT 112


Bộ lọc Kalman liên tục – Thí dụ 1
 Cho hệ tuyến tính bậc 2 mô tả bởi PTTT:
 x (t )  Ax (t )  Bu (t )  w (t )
 y (t )  Cx(t )  v(t )

Trong đó: A  
0 1 0 
 B  C  1 0
  1  2  1
 
0.2 0 
E[ ww T ]  Q N    E[ vv T
]  RN  0.01
 0 0.1
 Yêu cầu: Thiết kế bộ lọc Kalman ước lượng trạng thái của hệ
thống trên từ tín hiệu đo y(t).
 Giải:
 xˆ (t )  Axˆ (t )  Bu (t )  L( y (t )  yˆ (t ))
 Bộ ước lượng trạng thái:

 yˆ (t )  Cxˆ (t )
L  C T RN1
© H. T. Hoàng - HCMUT 113
Bộ lọc Kalman liên tục – Thí dụ 1
 Trong đó  là nghiệm của phương trình đại số Ricatti:
A    AT  Q N   C T RN1C   0

0 1   p1 p2   p1 p2  0  1  0.2 0 
  
 1  2  p2 
p3   p2 
p3  1  2  0 0.1
 
 p1 p2  1 1  p1 p2 
 1 0  0
 p2 p3  0 0.01  p2 
p3 

  p2 p3   p2  p1  2 p2  0.2 0 
 p1  2 p2    
 p2  2 p3   p3  p2  2 p3   0 0.1
 p12 p1 p2 
 100 2  0
 p1 p2 p2 

 2 p2  0.2  100 p12 p3  p1  2 p2  100 p1 p2 


  2  0
 p3  p1  2 p2  100 p1 p2  2 p2  4 p3  0.1  p2 
© H. T. Hoàng - HCMUT 114
Bộ lọc Kalman liên tục – Thí dụ 1
2 p2  0.2  100 p12  0 (1)

  p3  p1  2 p2  100 p1 p2  0 (2)
 2 p2  4 p3  0.1  p22  0 (3)

(2) &(3)  p2  400 p1 p2  4 p1  10 p2  0.1  0


2
(4)
(1) &(4)  (50 p1  0.1)  (50 p1  0.1)(400 p1  10)  4 p1  0.1  0
2 2 2

 2500 p14  20000 p13  490 p12  36 p1  1.09  0


 p1  0.0441
 0.0441  0.00279
  p2  0.00279  
 p3  0.0262  0.00279 0.0262 

 Độ lợi bộ lọc Kalman:L   C T RN1


 0.0441  0.00279 1 1  4.409
 L  L
 0.00279 0.0262  0 0.01 0.279
© H. T. Hoàng - HCMUT 115
Lọc Kalman rời rạc
x (k  1)  Ad x (k )  Bd u (k )  w (k )
 Xét hệ tuyến tính rời rạc:
 y (k )  C d x(k )  v(k )
Trong đó: w(k) là nhiễu hệ thống; v(k) là nhiễu đo lường.
Giả sử nhiễu hệ thống và nhiễu đo lường có phân bố Gauss,
không tương quan, có trung bình bằng 0 và phương sai là:
E[ ww T ]  Q N E[vvT ]  RN
 Bộ lọc Kalman rời rạc:
 xˆ (k  1)  [ Ad xˆ (k )  Bd u (k )]  Lk [ y (k  1)  yˆ (k  1)]
 yˆ (k )  C xˆ (k )
 d

Trong đó L là độ lợi của bộ lọc Kalman:



L(k )  Ad  (k )C d C d  (k )C d  RN
T T
1

với  là nghiệm của phương trình Ricatti:


 (k  1)  Ad  (k ) AdT  Q N  Ad  (k )C dT RN1C d  (k ) AdT
© H. T. Hoàng - HCMUT 116
Sơ đồ khối bộ lọc Kalman rời rạc
u(t) x(t) y(t)
x d (k  1)  Ad x (k )  Bd u (k ) Cd

+
L

xˆ (t )
Bd ++
+ z 1 Cd
yˆ (t )

Ad

 Bộ lọc Kalman:
 xˆ (k  1)  [ Ad xˆ (k )  Bd u (k )]  Lk [ y (k  1)  yˆ (k  1)]
 yˆ (k )  C xˆ (k )
 d

Trong đó: 
L(k )  Ad  (k )C dT C d  (k )C dT  RN 
1

 (k  1)  Ad  (k ) AdT  QN  Ad  (k )C dT RN1C d  (k ) AdT


© H. T. Hoàng - HCMUT 117
Lời giải bộ lọc Kalman dùng Matlab

 Lời giải bộ lọc Kalman liên tục:


>> L = lqe(A,G,C,QN,RN) %G ma trận đơn vị

© H. T. Hoàng - HCMUT 118


BỘ ĐIỀU KHIỂN LQG
(Linear Quadratic Gaussian)

© H. T. Hoàng - HCMUT 119


Bài toán điều khiển LQG (Linear Quadratic Gaussian)
 Xét hệ tuyến tính liên tục bị tác động bởi nhiễu Gauss:
 x (t )  Ax (t )  Bu (t )  w (t )
 y (t )  Cx(t )  v(t )

Trong đó: w(t) là nhiễu hệ thống; v(t) là nhiễu đo lường. Giả
sử nhiễu không tương quan, có trung bình bằng 0 và phương
sai là: E[ ww T ]  Q E[vvT ]  R
N N

 Bài toán đặt ra là tìm tín hiệu ĐK u(t) điều chỉnh hệ thống từ
trạng thái đầu x (0)  x0 bất kỳ về trạng thái cuối x(tf) = 0 sao
cho tối thiểu chỉ tiêu chất lượng dạng toàn phương:
1  T 
 
J (u)  E   x (t )Qx (t )  u (t ) Ru(t ) dt 
T

2 0 
trong đó Q là các ma trận trọng số bán xác định dương
R là ma trận trọng số xác định dương
© H. T. Hoàng - HCMUT 120
Nguyên lý tách rời
 Nguyên lý tách rời: Bài toán tối ưu LQG có thể giải bằng cách
giải riêng bài toán điều khiển tối ưu tiền định và bài toán ước
lượng trạng thái tối ưu.

LQG = LQR + Lọc Kalman

© H. T. Hoàng - HCMUT 121


Lời giải bài toán điều khiển LQG
 Tín hiệu điều khiển tối ưu LQR:
u* (t )   Kxˆ (t )
với độ lợi hồi tiếp trạng thái: K  R 1 B T P
trong đó P là nghiệm bán xác định dương của pt đại số Ricatti:
PA  AT P  Q  PBR 1 B T P  0
 Bộ lọc Kalman:
 xˆ (t )  [ Axˆ (t )  Bu (t )]  L[ y (t )  yˆ (t )]

 yˆ (t )  Cxˆ (t )
với độ lợi ước lượng: L  C T RN1
trong đó  là nghiệm bán xác định dương của pt đại số Ricatti:
A  AT  C T RN1C   Q N  0
© H. T. Hoàng - HCMUT 122
Sơ đồ khối bộ điều khiển LQG liên tục
r(t) u(t) x(t) y(t)
x (t )  Ax (t )  Bu (t )
 C

+
L 
xˆ (t )
B ++
+  C
yˆ (t )

 Bộ điều khiển LQR  Bộ lọc Kalman


u* (t )   Kxˆ (t )  xˆ (t )  Axˆ (t )  Bu (t )  L( y (t )  yˆ (t ))

K  R 1 B T P  yˆ (t )  Cxˆ (t )
PA  AT P  Q  PBR 1 B T P  0 L  C T RN1
A  AT  C T RN1C   Q N  0
© H. T. Hoàng - HCMUT 123
THÍ DỤ THIẾT KẾ
ĐIỀU KHIỂN TỐI ƯU

© H. T. Hoàng - HCMUT 124


Đối tượng điều khiển: hệ con lắc ngược
 Thông số hệ con lắc ngược
M =1.0 kg: troïng löôïng xe
m=0.1kg : troïng löôïng con laéc
l = 1.0 m: chieàu daøi con laéc
u : löïc taùc ñoäng vaøo xe [N]
g : gia toác troïng tröôøng [m/s2]
x : vò trí xe [m]
 : goùc giöõa con laéc vaø phöông
thaúng ñöùng [rad]

 Mô hình toán hệ con lắc


ngược
u  ml (sin  ) 2  mg cos  sin 
x 
M  m  m(cos  ) 2

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



ml (cos ) 2  ( M  m)l
© H. T. Hoàng - ÐHBK TPHCM 125
PTTT phi tuyến của hệ con lắc ngược
 Đặt các biến trạng thái x1   , x2  , x3  x, x4  x
 Phương trình trạng thái phi tuyến
 x2 
 x1   u cos x1  ( M  m) g (sin x1 )  ml (cos x1 sin x1 ) x2 
 x   
 2   ml (cos x1 )  ( M  m)l
2

 x3   x4 
   u  ml (sin x ) x 2
 mg cos x sin x 
 x4   1 2 1 1

 M  m  m(cos x1 ) 2

 Yêu cầu: Thiết kế bộ điều khiển giữ cân bằng con lắc quanh vị
trí thẳng đứng

© H. T. Hoàng - ÐHBK TPHCM 126


PTTT tuyến tính của hệ con lắc ngược
 PTTT tuyến tính hóa quanh điểm cân bằng thẳng đứng (góc
lệch  nhỏ hơn 100)
 x1   M  m
1 0 0 x
 1  1 
0 0
 x   g 0 0 0
  


 2    Ml   x2   Ml 
 u
 x3   0 
0 0 1  x3  0 
   m     1 
 x4    M g 0 0 0  x4   M 
 Thay cụ thể thông số của hệ con lắc ngược:
 x1   0 1 0 0  x1   0 
 x   10.78 0 0 0  x   1
 2     2    u
 x3   0 0 0 1  x3   0 
      
x
 4    0.98 0 0 0  x4   1 
  
A B
© H. T. Hoàng - ÐHBK TPHCM 127
Thiết kế bộ điều khiển LQR
 Giả thiết:
 Đặc tính động của hệ con lắc ngược có thể được mô tả
bởi hệ phương trình biến trạng thái tuyến tính. Điều này
chỉ đúng khi góc lệch  nhỏ.
 Hệ thống phản hồi trạng thái đầy đủ, nghĩa là có thể đo
được 4 biến trạng thái (góc lệch , vận tốc góc, vị trí xe x,
vận tốc xe )
 Không có nhiễu tác động vào hệ thống.

 Thiết kế dùng Matlab:


 >> K = lqr(A,B,Q,R)
 Tùy theo độ lớn tương đối giữa trọng số Q và R mà hệ
thống có đáp ứng quá độ và năng lượng tiêu tốn khác nhau.
 Muốn trạng thái đáp ứng nhanh tăng thành phần Q tương
ứng
 Muốn giảm năng lượng tăng R

© H. T. Hoàng - ÐHBK TPHCM 128


Mô phỏng điều khiển LQR hệ con lắc ngược

© H. T. Hoàng - ÐHBK TPHCM 129


Kết quả mô phỏng điều khiển LQR hệ con lắc ngược
0.5

[rad],[rad/s]

1 0 0 0
0

0 1 0 0 -0.5

Q
0 1 2 3 4 5 6
1
0 0 1 0 x
 
[m],[m/s]
0.5 x
0 0 0 1 0

-0.5
R 1 10
0 1 2 3 4 5 6

u
5
[N]

-5
Góc lệch con lắc 0 1 2 3 4 5 6
Time [s]
được giữ cân bằng
tốt, tuy nhiên vị trí xe K= [34.3620  10.7009  1.000  2.4109]
dao động khá lớn
© H. T. Hoàng - ÐHBK TPHCM 130
Kết quả mô phỏng điều khiển LQR hệ con lắc ngược
0.5

[rad],[rad/s]
0 
1 0 00 -0.5

0 1 0 0 -1

Q
0 1 2 3 4 5 6
2
0 0 100 0 x
 

[m],[m/s]
1 x
0 0 0 1 0

-1
R 1 20
0 1 2 3 4 5 6

u
10
Tăng trọng số q33
[N]

0
(tương ứng với vị trí -10
xe)  vị trí xe ít dao 0 1 2 3
Time [s]
4 5 6

động hơn, tuy nhiên


năng lượng tiêu tốn K=[70.1356  22.1091  10.000  11.0514]
tăng lên
© H. T. Hoàng - ÐHBK TPHCM 131
Kết quả mô phỏng điều khiển LQR hệ con lắc ngược

0.5

[rad],[rad/s]
0 
1 0 0 0 -0.5

0 1 0 0 -1

Q
0 1 2 3 4 5 6
2
0 0 100 0 x
  x

[m],[m/s]
1

0 0 0 1 0

-1
R 1 0 1 2 3 4 5 6
20
u
10
Khuyết điểm của bộ
[N]

0
điều khiển LQR là -10
nếu có nhiễu đo 0 1 2 3
Time [s]
4 5 6

lường thì chất lượng


điều khiển bị ảnh K=[70.1356  22.1091  10.000  11.0514]
hưởng đáng kể
© H. T. Hoàng - ÐHBK TPHCM 132
Thiết kế bộ điều khiển LQG
Giả thiết:
 Hệ thống hoạt động trong miền tuyến tính
 Giả sử chỉ đo được góc lệch và vị trí xe
 Có nhiễu tác động vào hệ thống. Nhiễu đo vị trí xe có
phương sai là 0.01; nhiễu đo góc lệch con lắc có phương
sai 0.001
 Dùng lọc Kalman để ước lượng trạng thái và lọc nhiễu

 Thiết kế dùng Matlab:


 >> K = lqr(A,B,Q,R)
 >> L = lqe(A,G,C,QN,RN) %G là ma trận đơn vị

© H. T. Hoàng - ÐHBK TPHCM 133


Thiết kế bộ điều khiển LQG
 Bộ điều khiển LQR
1 0 0 0
0 1 0 0
Q
0 0 100 0  K=[70.1356  22.1091  10.000  11.0514]
 
0 0 0 1
R 1

 Bộ lọc Kalman
Q N  0.000001I  6.5617  0.0571
 21.5437  0.1876
0.001 0 
 L 
RN    0.5713 0.1470 
0 0 .01  
    1.9568 0.0271 
(Do ta giả sử không có nhiễu hệ thống nên chọn QN rất bé. Hai
thành phần của RN chính là phương sai của nhiễu đo lường)
© H. T. Hoàng - ÐHBK TPHCM 134
Mô phỏng điều khiển LQG hệ con lắc ngược

© H. T. Hoàng - ÐHBK TPHCM 135


Kết quả mô phỏng điều khiển LQG hệ con lắc ngược
1

[rad],[rad/s]
0 
-1

-2
0 1 2 3 4 5 6
2
x
x
[m],[m/s]

-2
0 1 2 3 4 5 6
10
u
0
[N]

-10
0 1 2 3 4 5 6
Time [s]

Bộ lọc Kalman ước lượng trạng thái và lọc nhiễu, nhờ vậy mà
đáp ứng của hệ thống điều khiển LQG tốt hơn LQR trong
trường hợp hệ thống có nhiễu
© H. T. Hoàng - ÐHBK TPHCM 136
MỘT SỐ CÔNG THỨC CẦN NHỚ

© H. T. Hoàng - HCMUT 137


Nghiệm của phương trình vi phân bậc 1
 Phương trình vi phân bậc 1 đồng nhất : x (t )  ax(t )  0
 at
 Nghiệm tổng quát: x (t )  Ce

 Hằng số C được xác định dựa vào điều kiện biên.

© H. T. Hoàng - HCMUT 138


Nghiệm của phương trình vi phân bậc 1 (tt)
 Phương trình vi phân bậc 1 không đồng nhất :
x (t )  ax (t )  b
 at b
 Nghiệm tổng quát: x (t )  Ce 
a

 Hằng số C được xác định dựa vào điều kiện biên.

© H. T. Hoàng - HCMUT 139


Nghiệm của phương trình vi phân bậc 1 (tt)
 Phương trình vi phân bậc 1 không đồng nhất :
x (t )  p (t ) x(t )  q (t )

 Nghiệm tổng quát: x(t ) 


  (t )q(t )dt  C
 (t )
trong đó:  (t )  e  p ( t ) dt

 Hằng số C được xác định dựa vào điều kiện biên.

© H. T. Hoàng - HCMUT 140


Nghiệm của phương trình vi phân bậc 2
 Phương trình vi phân bậc 2 đồng nhất : ax(t )  bx (t )  cx(t )  0
 Nghiệm tổng quát:
 Trường hợp 1:   b 2  4ac  0
x(t )  C1e p1t  C2 e p2t với p1, 2  (b   ) /(2a)

 Trường hợp 2:   b 2  4ac  0


x(t )  C1e pt  C2te pt với p  b /(2a)

 Trường hợp 3:  b 2  4ac  0


x(t )  C1et sin t  C2 et cos t
Với   b /(2a) và     /(2a)

 Hằng số C1 và C2 được xác định dựa vào điều kiện biên.


© H. T. Hoàng - HCMUT 141
Nghiệm của phương trình vi phân bậc 2
 Phương trình vi phân bậc 2 không đồng nhất :
ax(t )  bx (t )  cx(t )  d
d
 Nghiệm tổng quát: x  z 
c
trong đó z(t) là nghiệm của phương trình vi phân đồng nhất:
az(t )  bz (t )  cz (t )  0
 Hằng số C1 và C2 được xác định dựa vào điều kiện biên.

© H. T. Hoàng - HCMUT 142


Nghiệm của phương trình vi phân bậc n
d n x(t ) d n 1 x(t ) dx(t )
a0 n
 a1 n
   an 1  an x(t )  0
dt dt dt
 PT đặc trưng: Q( )  a0  n  a1 n 1  ...  an 1  an  0

 Nếu Q()=0 có n nghiệm đơn:


1t 2t n1t n t
x(t )  C1e  C2 e  ...  Cn 1e  Cn e
 Nếu Q()=0 có nghiệm bội (giả sử 1 là nghiệm bội r):
x(t )  (C1  C2t  ...  Cr t r 1 )e1t  Cr 1er 1t  ...  Cn ent
 Nếu Q()=0 có nghiệm phức (giả sử 1,2 =   j):
x(t )  C1e t cos(  t )  C2 e t sin(  t )  C3e3t  ...  Cn ent
 Các hằng số Ci được xác định từ điều kiện biên.
© H. T. Hoàng - HCMUT 143
Nghiệm của phương trình trạng thái
 Phương trình vi phân bậc 1: x (t )  Ax (t )  Bu (t )
Điều kiện đầu: x (t0 )  x0
trong đó: x (t )  [ x1 (t ), x2 (t ),..., xn (t )]T   n
A   nn
t
 Nghiệm : x(t )   (t ) x(t0 )   (t   ) Bu ( )d
t0
 Trong đó:  (t )  e At


Cách 1:  (t )  e At  L1 ( sI  A) 1 
Cách 2:(t )  e At  C0 I  C1 A  C2 A2    Cn 1 An 1
thay các trị riêng i của ma trận A (nghiệm của det(I  A)  0 )
vào phương trình trên sẽ tính được các hệ số Ci
© H. T. Hoàng - HCMUT 144
Nghiệm của phương trình trạng thái (tt)
 Các trường hợp riêng của phương trình vi phân bậc 1:
 Nếu B=0: x (t )  Ax (t )
x(t )  (t ) x(t0 )  e A(t t0 ) x(t0 )

 Nếu u=1: x (t )  Ax (t )  B
t
x(t )   (t ) x(t0 )   (t   ) Bd
t0

© H. T. Hoàng - HCMUT 145


Tổng kết chương

Sau khi học xong chương 3, sinh viên phải có khả năng:
 Giải bài toán tối ưu động không ràng buộc và có ràng buộc
 Thành lập các bài toán điều khiển tối ưu động
 Giải bài toán tối ưu động liên tục dùng phương pháp biến
phân
 Giải bài toán tối ưu rời rạc dùng phương pháp qui hoạch
động
 Thiết kế bộ điều khiển LQR, bộ lọc Kalman, bộ điều khiển
LQG

© H. T. Hoàng - HCMUT 146

You might also like