You are on page 1of 136

Môn học

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

Giảng viên:
ê 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
TP.HCM
HCM
Email: hthoang@hcmut.edu.vn
Homepage: http://www4.hcmut.edu.vn/~hthoang/

22 March 2011 © H. T. Hoàng - HCMUT 1


Chươngg 3

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

22 March 2011 © 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ề khiển
Điều khiể tối ưu LQG

22 March 2011 © H. T. Hoàng - HCMUT 3


GIỚI THIỆU

22 March 2011 © H. T. Hoàng - HCMUT 4


Giới thiệu
‘ Điều khiển tối ưu là bài toán xác định luật điều khiển 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.
‘ Điều khiển tối ưu được phát triển trên cơ sở toán học: phương pháp
biến phân được phát triển bởi các nhà toán học như Bernoulli, Euler,
Lagrange, Weiertrass,…
‘ Từ những năm 1950,
1950 điều khiển tối ưu phát triển mạnh mẽ và trở
thành một lĩnh vực độc lập. Các phương pháp điều khiển tối ưu quan
trọng nhất là:
Ž Phương pháp quy hoạch động do Richard Bellman (1920-1984)
đưa ra trong thập niên1950.
Ž Nguyên lý cực tiểu Pontryagin do Lev Pontryagin (1908-1988)
(1908 1988)
và các đồng sự đưa ra trong thập niên 1950.
Ž Bài toán điều chỉnh toàn pphươngg tuyến
y tính và lọcọ Kalman do
Rudolf Kalman (b. 1930) đưa ra trong những năm1960.
22 March 2011 © 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
ư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

‘ Điều khiển tối ưu tĩnh: chỉ tiêu chất lượng không phụ thuộc thời gian

‘ Điều khiển tối ưu động: chỉ tiêu chất lượng phụ thuộc thời gian
Ž Bài toán
t á chỉnh
hỉ h ttoàn
à phương
hươ tuyến
t ế tí tínhh (Linear
(Li Quadractic
Q d ti
Regulator – LQR)
Ž Bài toán điều khiển tối ưu H2
Ž…

22 March 2011 © H. T. Hoàng - HCMUT 6


Ứng dụng
‘ Trước khi máy tính số ra đời,
đờ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áyy tính số ra đời cho pphépp ứng
g dụng
ụ g lý
ý thuyết
y đ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
Ž…

22 March 2011 © H. T. Hoàng - HCMUT 7


TỐI ƯU HÓA TĨNH

22 March 2011 © 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:
( ) ( 1, u2,…, um) → min
L(u)=L(u
trong đó u=[u1, u2,…, um]T
‘ Điểm u* được
ợ gọi
gọ là điểm cực
ự tiểu cục ( ) ( *) với mọi
ụ bộộ nếu L(u)≥L(u ọ 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

22 March 2011 © 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,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
trongg đó:
⎡ ∂L ∂u1 ⎤
⎢ ∂L ∂u ⎥
∂L ⎢ 2⎥
Lu = =
∂u ⎢ M ⎥
⎢ ⎥
⎣∂L ∂u m ⎦
⎡ ∂ 2
L ∂ u u
1 1 ∂ 2
L ∂ u u
1 2 L ∂ 2
L ∂u1um ⎤
∂ L ⎢
2

Luu = 2 = ⎢ M M M ⎥
∂u
⎢∂ 2 L ∂umu1 ∂ 2 L ∂umu2 L ∂ 2 L ∂u mum ⎥
⎣ ⎦
22 March 2011 © 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 ⎪⎩u2* = −0.3889
⎣⎢ ∂u2 ⎥⎦
‘ Xét vi phân bậc hai:
⎡ ∂2L ∂2L ⎤
⎢ ⎥ ⎡10 2⎤
∂u 2
∂u ∂ u ⇒ Luu > 0
Luu = ⎢ 2 1 1 2 ⎥ ⇒ Luu = ⎢ ⎥
⎢ ∂ L ∂ L ⎥
2
⎣ 2 4⎦
⎢ ∂u ∂u ∂ u 2 ⎥
⎣ 1 2 2 ⎦
⇒ 1 2 ) = (−0.7222;−0.3889) là điểm cực tiểu.
* *
(u , u
22 March 2011 © 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
4
-2
u1

22 March 2011 © 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
( ) → min
L(x,u)
f(x,u)=0
trong đó x=[x1, x2,…, xn]T
u=[u1, u2,…, um]T
L : ℜn × ℜm → ℜ
f : ℜn × ℜm → ℜ p
‘ L(x,u)
( , ) gọ
gọi là hàm đánh ggiá và f(
f(x,u)
, ) là điều kiện
ệ ràngg buộc

22 March 2011 © 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 đó λ ∈ ℜ p là vector hằng số,
số gọi là thừa số Larrange
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
H(x u)
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à h bài toán
thành t á tìm
tì cực tiểu
tiể không
khô ràng
à buộc
b ộ hàhàm Hamilton H( )
H ilt H(x,u)

‘ Vi phân hàm Hamilton:


∂H ( x , u) ∂H ( x , u)
dH ( x , u) = dx + du
∂x ∂u

22 March 2011 © 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 ⎦

ế gọn lại: λ T = − Lx [ f x ]
−1
Viết

22 March 2011 © 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â hàm tiêu: dL( x , u) =
hà mục tiê dx + du
∂x ∂u
∂f ( x, u) ∂f ( x , u)
‘ Do f(
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 điều kiện f(x,u)=0, độ dốc của L(x,u) theo u chính bằng Hu(x,u)
L(x u) đạt cực trị với ràng buộc f(x,u)
⇒ Điều kiện để L(x,u) f(x u)=0 0 là:
H u ( x , u) = 0
22 March 2011 © 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
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)

22 March 2011 © H. T. Hoàng - HCMUT 17


Tìm cực trị có ràng buộc – Thí dụ 1

‘ Tìm hàm: L(u) = 5u12 + 2u22 + 2u1u2 + 8u1 + 3u2


Tì cực trịị hà
Với điều kiện ràng buộc:
f (u) = u1 + 6u 2 − 2 = 0
‘ Giải:
‘ Hà Hamilton:
Hàm H il
H (u) = L(u) + λT f (u)
⇒ H (u) = 5u12 + 2u22 + 2u1u2 + 8u1 + 3u2 + λ (u1 + 6u2 − 2)

22 March 2011 © 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
u) = 0
⎧ H x ((u ∂u1
⎪ ∂H (u)
⎨ H u ( u) = 0 ⇒
= 2u1 + 4u2 + 3 + 6λ = 0
⎪ f (u ∂u2
⎩ ( u) = 0
f (u) = u1 + 6u2 − 2 = 0

‘ Giải hệ phương
h ttrình,
ì h ta
t đđược:
u* = [− 0.8412 0.4735] λ = −0.5353
T

H (u) = 5u12 + 2u22 + 2u1u2 + 8u1 + 3u2 + λ (u1 + 6u2 − 2)


22 March 2011 © 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
4
-2
u1

22 March 2011 © H. T. Hoàng - HCMUT 20


Tìm cực trị có ràng buộc – Thí dụ 2

‘ Tìm hàm: L( x, u ) = ( x − 2) 2 + (u − 2) 2
Tì cực trịị hà
Với điều kiện ràng buộc: u = x 2 + 3x − 6

‘ Giải:
‘ Viết lại
ạ điều kiện
ệ ràngg buộc:

u = x 2 + 3x − 6 ⇔ x 2 + 3x − 6 − u = 0
‘ Hàm
Hà HHamilton:
ilt
H ( x, u ) = L( x, u ) + λT f ( x, u )
⇒ H ( x, u ) = ( x − 2) 2 + (u − 2) 2 + λ ( x 2 + 3x − 6 − u )

22 March 2011 © 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 2 + 3 x − 6 − u = 0
‘ Giải hệ phương trình, ta được ba nghiệm:
( x, u ) = (−4.53;0.92), ) (−1.68;−8.22)
) (1.71;2.04),
‘ Thay 3 nghiệm trên vào hàm mục tiêu L( x , u ) = ( x − 2) 2 + (u − 2) 2 ,ta
được các giá trị tương ứng là: 43.78;
43 78; 0.087;
0 087; 117.94.
117 94
‘ Kết luận: cực trị cần tìm là ( x* , u * ) = (1.71;2.04)

H ( x, u ) = ( x − 2) 2 + (u − 2) 2 + λ ( x 2 + 3x − 6 − u )
22 March 2011 © H. T. Hoàng - HCMUT 22
Tìm cực trị có ràng buộc – Thí dụ 3

‘ Tì cực trịị hàm:


Tìm hà L( x , u ) = x12 + 3x22 + u 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à H
Hàm Hamilton:
ilt
H ( x , u ) = L( x , u ) + λ T f ( x , u )
⇒ H ( x, u ) = x12 + 3 x22 + u 2 + λ1 (2 x1 + x2 − 4) + λ2 ( x1 + u + 2)

22 March 2011 © H. T. Hoàng - HCMUT 23


Tìm cực trị có ràng buộc – Thí dụ 3
‘ Điều kiện cần để có cực trị:
∂H ( x , u )
= 2 x1 + 2λ1 + λ2 = 0
∂x1
∂H ( x , u )
⎧H x ( x, u ) = 0 = 6 x2 + λ1 = 0
⎪ ∂x2
⎨H u ( x, u ) = 0 ⇒
∂H ( x , u )
⎪ f ( x, u ) = 0 = 2u + λ2 = 0
⎩ ∂u
f1 ( x , u ) = 2 x1 + x2 − 4 = 0
f 2 ( x , u ) = x1 + u + 2 = 0
‘ Giải hệệ phương
p g trình,, ta được:

x * = [1.5714 0.8514]
T
u * = −3.5714 λ = [− 5.1429 7.1429]T
‘ Do L( x , u ) = x12 + 3 x22 + u 2 là hàm toàn phương nên cực trị tìm được
H ( x , u )
ở trên cũng chính là cực tiểu= x1
2
+ 3 x 2
2 + u 2
+ λ1 (2 x1 + x2 − 4) + λ2 ( x1 + u + 2)
22 March 2011 © H. T. Hoàng - HCMUT 24
TỐI ƯU HÓA ĐỘNG
VÀ PHƯƠNG PHÁP BIẾN PHÂN

22 March 2011 © 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)
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

trong đó: x (t ) = [x1 (t ) x2 (t ) K xn (t )] ∈ ℜ n


T

L : ℜn × ℜn × ℜ → ℜ
Chú ý: Phiếm hàm là hàm của hàm
(f ti l = function
(functional f ti off function)
f ti )
*
‘ 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 ))
nằm trong lân cận ε của (t )
*
với mọi hàm x (t ) x
x (t ) − x * (t ) ≤ ε
22 March 2011 © H. T. Hoàng - HCMUT 26
Tìm cực trị phiếm hàm?
‘ Nhắc llạii cực ttrịị hà
Nhắ 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
đạ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

22 March 2011 © 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

22 March 2011 © H. T. Hoàng - HCMUT 28


Thí dụ tính biến phân phiếm hàm
1
‘ ế hàm: J ( x) = ∫ x 2 (t )dt
Cho phiếm
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

22 March 2011 © 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 p
phân của phiếm
p hàm dạng
ạ g tích pphân được
ợ tính như sau:
tf
⎧⎡ ∂L( x ) ⎤ ⎫
δJ ( x ) = ∫ ⎨⎢ ⎥δx ⎬dt
t0 ⎩⎣
∂x ⎦ ⎭

22 March 2011 © 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ế hàm:
Phiếm hà J ( x ) = ∫ L( x, x& , t )dt
d
t0

‘ Biến p
phân pphiế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 (t0 )
t0

δx (t0 ) = δx (t f ) = 0
‘ Thực
ự hiệnệ biến đổi tích phân
p ((sử dụng
ụ g công
g thức tích pphân từng
g phần),
p ),
suy ra:
tf
⎡ ∂L( x, x& , t ) d ∂L( x, x& , t ) ⎤
δJ = ∫ ⎢ − ⎥δxdt
t0 ⎣
∂x dt ∂x& ⎦
22 March 2011 © 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
(t ) là biến
*
phân của J ( x ) phải bằng 0 tại x (t )
δJ ( x ) = 0 x=
x x *

‘ Suy ra, điều kiện cần để bài toán tối ưu động không ràng buộc có
cực trị là:
∂L( x, x& , t ) d ∂L( x, x& , t ) ∂L d ∂L
− =0 ⇔ − =0
∂x dt ∂x& ∂x dt ∂x&
Phương trình trên được gọi là 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, t dạng
đơn giản của phương trình Euler-Lagrange là:
tf
⎡ ∂L( x, x& , t ) d ∂L( x, x& , t ) ⎤
(= ∫là⎢⎣ hằng
∂L
L − x& = c δJ (c hằ ∂xsố)ố) − dt ∂x& ⎥

δxdt
∂x
& t 0

22 March 2011 © H. T. Hoàng - HCMUT 32


Tối ưu hóa động không 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:
π /2
J ( x) = ∫ − (t )]dt → min
2 2
[ x (t ) x
&
0

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


‘ Giải:
‘ Theo đề bài, ta có: L = x 2 − x& 2
‘ Phương trình Euler-Lagrange:
∂L d ⎛ ∂L ⎞ d
− ⎜ ⎟ = 0 ⇒ 2 x − (− 2 x& ) = 0 ⇒ &x& + x = 0
∂x dt ⎝ ∂x& ⎠ dt
ổ quát: x(t ) = C1 sin t + C2 cos t
‘ Lời giải tổng

‘ 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
22 March 2011 © H. T. Hoàng - HCMUT 33
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 điều kiện biên: x(0) = 1, x(2) = 0
0
‘ Giải:
∂L d ⎛ ∂L ⎞
‘ Phương
g trình Euler-Lagrange:
g g − ⎜ ⎟=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 g g qquát: x(t ) = C1t + C2


giải tổng
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
22 March 2011 © H. T. Hoàng - HCMUT 34
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 ) K xn (t )] ∈ ℜ n


T

L : ℜn × ℜn × ℜ → ℜ
f : ℜn × ℜn × ℜ → ℜ p

22 March 2011 © H. T. Hoàng - HCMUT 35


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 ) ∈ ℜ p là vector hàm,
hàm gọi là thừa số Larrange
t1
‘ Do ràng buộc f ( x , x& , t ) = 0 nên cực tiểu của J ( x ) = ∫ L( x , x& , t )dt
t0
t1
cũng chính là cực tiểu của J ( x ) = ∫ H ( x, x& , λ , t )dt
t0

( ) với ràng
ự tiểu J(x)
⇒ Biến đổi bài toán tìm cực ộ f ( x, x& , t ) = 0
g buộc
thành bài toán tìm cực tiểu không ràng buộc phiếm hàm J ( x )
‘ Điều kiện
ệ cần để pphiếm hàm J ( x ) có cực
ự trịị là:
∂H ( x, x& , λ , t ) d ∂H ( x, x& , λ , t )
− =0
∂x dt ∂x&
(Phương trình Euler-Lagrange của bài toán tối ưu động có ràng buộc)
22 March 2011 © H. T. Hoàng - HCMUT 36
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à pphương g trình Euler-Lagrange


g g trong
g trườngg hợp
ợp ràngg
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&
22 March 2011 © H. T. Hoàng - HCMUT 37
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,
tiêu điều kiện ràng buộc và điều kiện
biên từ yêu cầu của bài toán tối ưu hóa
tf

J ( x ) = ∫ L( x , x& , t )dt
t0 tf

Điều kiện ràng buộc f ( x , x& , t )dt = 0 hoặc ∫ f ( x, x& , t )dt = q


t0
Đ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 phương trình Euler-Lagrange
Euler Lagrange thỏa điều kiện
ràng buộc và điều kiện biên
22 March 2011 © H. T. Hoàng - HCMUT 38
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 )

22 March 2011 © H. T. Hoàng - HCMUT 39


Tối ưu hóa động có ràng buộc – Thí dụ 1
‘ Phương trình Euler
Euler-Lagrange:
Lagrange:
∂H ( x, x& , λ , t ) d ∂H ( x, x& , λ , t )
− =0
∂x dt ∂x&
⇒ λ − d {2 x& (t )} = 0
dt
⇒ λ − 2 &x&(t ) = 0 (1)
‘ Tìm nghiệm phương trình Euler-Lagrange:
(1) ⇒ &x&(t ) =
λ
2
λ
⇒ x& (t ) = t + c1
2
λ
⇒ x(t ) = t 2 + c1t + c2
4 H ( x, x& , λ , t ) = x& 2 (t ) + λx(t )
22 March 2011 © H. T. Hoàng - HCMUT 40
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:
λ
x(0) = .0 + c1.0 + c2 = 0 ⇒ c2 = 0
4
x(4) = 4λ + 4c1 = 0 9
c1 =
8
4
⎡λ
4
c1 2 ⎤ 16λ ⇒
∫0 x(t )dt = ⎢⎣12 t + 2 t ⎥⎦ 0 = 3 + 8c1 = 3
3
9
λ=−
8
9 2 9
‘ Kết luận: x* (t ) = − t + t
32 8

λ
x(t ) = t 2 + c1t + c2
4
22 March 2011 © H. T. Hoàng - HCMUT 41
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 )]T sao cho phiếm 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 )

22 March 2011 © H. T. Hoàng - HCMUT 42


Tối ưu hóa động có ràng buộc – Thí dụ 2
‘ Phương trình Euler
Euler-Lagrange:
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 phương trình Euler-Lagrange thỏa điềuề kiện ràng buộc:
⎧λ = 2 x2 (3)
(2) ⇒ ⎨&
⎩λ = 2x
2 x&2
Thay (3) vào (1): 10( x1 − 1) + 4 x2 − 4 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
Thayy ((5)) vào (4):
( ) 10( x1 − 1) + 4( x&1 + 2 x1 ) − 4( &x&1 + 2 x&1 ) = 0
⇒ H ( x , x
& , λ , t ) = [5(
4 &x&1 + 4 x&1 − 18 x1 + 10 =1 0 x − 1) 2
+ x 2 ] + λ ( x1 + 2 x1 (6)
2
& − x2 )
22 March 2011 © H. T. Hoàng - HCMUT 43
Tối ưu hóa động có ràng buộc – Thí dụ 2
N hiệ tổng
Nghiệm tổ quát
át của
ủ phương
hươ trình
t ì h (6)
x1 (t ) = C1e −2.679t + C2 e1.679t + 0.556
ề kiện biên x1 (0) = 0; x1 (2) = 1
Thay điều
⎧C1 + C2 + 0.556 = 0 ⇒ ⎧C1 = −0.572
⎨0.0047C + 28.732C + 0.556 = 1 ⎨C = 0.0155
⎩ 1 2 ⎩ 2
⇒ x1 (t ) = −0.572e −2.679t + 0.0155e1.679t + 0.556 (7)

Thay (7) vào (5):


x2 = x&1 + 2 x1
⇒ x2 (t ) = 0.388e −2.679t + 0.057e1.679t + 1.112

22 March 2011 © H. T. Hoàng - HCMUT 44


ĐIỀU KHIỂN TỐI ƯU LIÊN TỤC
DÙNG PHƯƠNG PHÁP BIẾN PHÂN

22 March 2011 © H. T. Hoàng - HCMUT 45


Bài toán điều khiển 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
trong đó: x (t ) = [ x1 (t ),
đó ) xn (t )]T : vector
) x2 (t ),..., t trạng
t thái
u(t ) = [u1 (t ), u2 (t ),..., um (t )]T : vector tín hiệu điều khiển
‘ T
Trạng thái đầ x (0) = x0 , trạng thái
hái đầu: ối x (t f ) = x f
hái cuối:
tf

‘ Chỉ tiêu chất lượng: J (u) = φ ( x (t f )) + ∫ L( x (t ), u(t ), t )dt


t0
‘ 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 ), ) t )dt → min


) u(t ),
t0

‘ Nghiệm x*(t) của phương trình vi phân (*) ứng với tín hiệu điều
khiển ố ưu u*(t) gọi là quỹ đạo trạng thái tối
ể tối ố ưu.

22 March 2011 © H. T. Hoàng - HCMUT 46


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ới chi
hi phí
hí thấp
hấ nhất
hấ
Ž 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

22 March 2011 © H. T. Hoàng - HCMUT 47


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ướ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
lượng cốố đị
địnhh cho
h 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 nhất.
Ž Điểm cuối cố định cho trước, ví dụ:
ƒ Điều
ều khiển
ể ghép
g ép nối
ố các con
co tàu
ƒ Điều khiển hệ thống về trạng thái cân bằng

22 March 2011 © H. T. Hoàng - HCMUT 48


Giải bài toán ĐK toán tối ưu dùng PP biến phân
‘ Bài toán điều khiển tối ưu động 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 đ.kiện ràng buộc vào hàm mục tiêu dùng thừa số Lagrange:
tf

J (u) = φ ( x (t f )) + ∫ L( x (t ), ) t ) + λT (t )[ f ( x (t ),
) u(t ), ) u(t )) − x& (t )]dt
0
‘ Định nghĩa hàm Hamilton: H (t ) = L( x , u, t ) + λT (t ) f ( x , u, t )
tf

⇒ J (u) = φ ( x (t f )) + ∫ [ H (t ) − λT (t ) x& ]dt


0

⇒ Cần tìm u*(t) sao cho: δJ (u) = 0 u= u*

22 March 2011 © H. T. Hoàng - HCMUT 49


Điều kiện cần để có lời giải bài toán điều khiển tối ưu
‘ Biến phân của phiếm hàm mục tiêu:
tf
⎡⎛ ∂φ ⎞ ⎤
[ ]
δJ = ⎢⎜ − λ T ⎟δx ⎥ + λ T δx t =t0 + ∫ ⎢⎜
⎡⎛ ∂H & T ⎞
+ λ (t ) ⎟δx +
∂H ⎤
δu⎥ dt
⎣⎝ ∂x ⎠ ⎦ t =t f t 0 ⎣⎝
∂x ⎠ ∂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
λ (t f ) =
T

∂u ∂x ∂x
‘ Lưu ý:
∂φ (t f )
¾ Điều kiện ệ λ (t f ) =
T
chỉ cần đối với bài toán điểm cuối tự ự do.
∂x
¾ λ (t ) được gọi là đồng trạng thái của hệ thống t
f

∂∂H
H = φ + ∫ − λT
λ& (t) = − J ( u ) ( x (t )) [ H (t ) (t ) x& ]dt
d
¾ được gọi là phương trình đồng trạng tháif
∂x 0

22 March 2011 © H. T. Hoàng - HCMUT 50


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: Xác định hàm mục tiêu và điều kiện 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 )
0
Đ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 )
0

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

22 March 2011 © H. T. Hoàng - HCMUT 51


Trình tự giải bài toán điều khiển tối ưu
‘ Bước 3: Thành 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 ) = −
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 ) =
T
(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)
22 March 2011 © H. T. Hoàng - HCMUT 52
Đ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 độ phòng 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
⇒ Phương trình trạng thái của lò sấy là: x& (t ) = −2 x(t ) + u (t )

⇒ Trạng thái cuối ố x f = x(1) = y (1) − ya = yd − ya = 50


ố mong muốn: 0

22 March 2011 © H. T. Hoàng - HCMUT 53


Đ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:
tf
1 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
22 March 2011 © H. T. Hoàng - HCMUT 54
Đ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ề kiệ
Điều kiện dừ
dừng: ∂H
=0 ⇒ u (t ) + λ (t ) = 0 (3)
∂u

Điề kiệ
Đ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
22 March 2011 © H. T. Hoàng - HCMUT 55
Đ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) (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)

22 March 2011 © H. T. Hoàng - HCMUT 56


Đ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

22 March 2011 © H. T. Hoàng - HCMUT 57


Đ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

22 March 2011 © H. T. Hoàng - HCMUT 58


Điều khiển tối ưu – Thí dụ 2
‘ Cho hệ thống xe – lò xo như hình
vẽ. Quan hệ vào ra của hệ thống
mô tả bởi phương trình vi phân:
m&y&(t ) + ky (t ) = u (t )
( ) là tín hiệu
trongg đó u(t) ệ vào (lực y(t)) là tín hiệu
); y(
( ự điều khiển); ệ ra ((vịị trí
xe); m = 1kg là khối lượng xe, k = 2 N/cm là độ cứng lò xo.
‘ 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
hái đứng
đứ yên ê tạii gốc
ố tọa độ đến
đế trạng thái
hái đứng
đứ yên ê tạii 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ăngg lượngg tiêu tốn.
‘ Yêu cầu:
¾ Hãyy thành lập
ập bài toán tối ưu cho yêu
y cầu thiết kế trên.
¾ Viết điều kiện cần để có lời giải tối ưu

22 March 2011 © H. T. Hoàng - HCMUT 59


Điều khiển tối ưu – Thí dụ 2
‘ Giải
Giải:
‘ Bước 1: Viết phương trình trạng thái của đối tượng
¾ ế trạng thái x1 (t ) = y (t ),
Đặt các biến ) x2 (t ) = y& (t )
¾ Phương trình trạng thái mô tả đối tượng
⎡ x&1 (t ) ⎤ ⎡ 0 1⎤ ⎡ x1 (t ) ⎤ ⎡0⎤
⎢ x& (t )⎥ = ⎢− 2 0⎥ ⎢ x (t )⎥ + ⎢1⎥u (t )
⎣12 2
3⎦ ⎣1 424 3⎦ ⎣122
3⎦ ⎣{⎦
x& (t ) A x (t ) B
x& (t ) = Ax (t ) + Bu (t )

22 March 2011 © H. T. Hoàng - HCMUT 60


Đ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 ) + λ T (t )[Ax (t ) + Bu (t )]
2
22 March 2011 © H. T. Hoàng - HCMUT 61
Đ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
PT trạng thái: x& (t ) = Ax (t ) + Bu (t ) (1)
∂∂H
H (2)
ồ trạng thái: λ& (t) = −
PT đồng ⇒ λ& (t ) = − Aλ (t )
∂x
∂∂H
Điề kiệ
Điều kiện dừ
dừng: =0 ⇒ u (t ) + B T λ (t ) = 0 (3)
∂u

Điề kiệ
Điều kiện đầ
đầu:
x (0) = [0;0] (4)
T

Điều
ề kiện cuối:

x (1) = [10;0] (5)
T

1 2
H ( x , u, λ , t ) = u (t ) + λ T (t )[Ax (t ) + Bu (t )]
2
22 March 2011 © H. T. Hoàng - HCMUT 62
Điều khiển tối ưu – Thí dụ 2 (tt)
‘ Bước 5: Giải phương trình vi phân
¾ Nghiệm phương trình (2):
− A ( t −t f )
λ (t ) = e λ (t f ) = e − A(t −1) λ (1) (6)

¾ Nghiệm phương trình (3):


u (t ) = − B T λ (t ) (7)

¾ Th (6) vào
Thay à (7):
(7)
u (t ) = − B T e − A( t −1) λ (1) (8)

¾ Thay (8) vào (1), ta được:


x& (t ) = Ax (t ) − BB T e − A(t −1) λ (1) (9)
…..
22 March 2011 © H. T. Hoàng - HCMUT 63
PHƯƠNG PHÁP QUI HOẠCH ĐỘNG

22 March 2011 © H. T. Hoàng - HCMUT 64


Nguyên lý tối ưu Bellman
‘ Phương pháp qui hoạch động (DP – Dynamic Programing) do
Bellman đề xuất (1957)
‘ Phươngg ppháp
p qui
q hoạch động g là một thuật toán xác định dãy
y ggiá 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
ưu.
x2
Đoạn 2

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

x0
x1
Minh họa nguyên lý tối ưu Bellman
22 March 2011 © H. T. Hoàng - HCMUT 65
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.
22 March 2011 © H. T. Hoàng - HCMUT 66
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


22 March 2011 © H. T. Hoàng - HCMUT 67
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
g cách từ nút N ki đến nút N k +1, j
Ž d ( N ki , N k +1, j ) là khoảng

‘ { }
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

‘ Dễễ thấy
ấ J1* ( N11 ) chính là đường đi ngắn
ắ nhất

22 March 2011 © H. T. Hoàng - HCMUT 68


Thí dụ tìm đường ngắn nhất dùng DP

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


¾ Vòng
Vò ngược: đi ngược từ nút út cuối
ối vềề nút
út đầu
đầ tìm
tì đoạn
đ đường
đ ờ cuối
ối
ngắn nhất
¾ Vòng xuôi: đi từ nút đầu đến nút cuối → đường đi tối ưu

22 March 2011 © H. T. Hoàng - HCMUT 69


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: từ nút N 41 hoặc N 42 chỉ đơn giản đi đến nút đích vì không
có lựa chọn nào khác. Đoạn đường ngắnắ nhấtấ từ một nút ở bước 4 là:
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

22 March 2011 © H. T. Hoàng - HCMUT 70


Thí dụ tìm đường ngắn nhất dùng DP (tt)
¾ Bước 3: có nhiềunhiề 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

d ( N 3i , N 4 j ) + J 4* ( N 4 j ) Quyết định
Từ *
J ( N 3i )
3 đi đến
N 41 N 42
N 31 4 8 4 N41 (H)
N 32 9 7 7 N42 (I)
N 33 6 7 6 N41 (H)
22 March 2011 © H. T. Hoàng - HCMUT 71
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), sử J 3* ( N 31 ) = 4
dụng kết
ế quả tối
ố ưu đoạn J 3* ( N 32 ) = 7
cuối tìm được ở bước 3 J 3* ( N 33 ) = 6

J 2* ( N 2i ) = min{d ( N 2i , N 3 j ) + J 3* ( N 3 j )}
j

d ( N 2i , N 3 j ) + J 3* ( N 3 j ) Quyết định
Từ *
J ( N 2i )
2 đi đến
N 31 N 32 N 33
N 21 11 11 12 11 N 31 hoặc N 32
N 22 7 9 10 7 N 31
N 23 8 8 11 8 N 31 hoặc N 32
22 March 2011 © H. T. Hoàng - HCMUT 72
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 nút A)
J 2* ( N 21 ) = 11
đến nút đích N51 (tức nút
J 2* ( N 22 ) = 7
J), sử dụng kết
ế quả tối

ưu đoạn cuối tìm được ở J 2* ( N 23 ) = 8
bước 2

J1* ( N11 ) = min{d ( N11 , N 2 j ) + J 2* ( N 2 j )}


j

d ( N11 , N 2 j ) + J 2* ( N 2 j ) Quyết định


Từ *
J ( N11 )
1 đi đến
N 21 N 22 N 23
N11 13 11 10 10 N 23

22 March 2011 © H. T. Hoàng - HCMUT 73


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: d (dN(3N, N , N) + ) +
J * *
4(
JN3 (4N
j )3 j ) Quyết
Quyết địnhđịnh
ĐườngTừđiTừ
i 2i 4 j 3 j * *
N11N → NN23 → N
tối ưu: N → N J 3→( NJN
32i ()Ntức
2 i ) A→D→
đi đến
đi đếnE→H→J
N 31 N 41 51
31 41 32 42 33
hoặc: Nd ( N→ , N
N →
) + N
J *
( →
N N 42 → N
) →D→định
tức AQuyết F→I→J
NN
Từ2131 11 4
11 11 11
23
2 j 8232
12
2 j 4 J1 11
* 51
NN
( N11 ) 4131đi (H )
hoặc N 32
N N N đến
NN2232 7 9
21 9
22 7 10 23 7 7 N42 (IN) 31
N 13 11 10 10 N 23
NN11
2333 8 6 8 7 11 6 8 NN4131 )
(H
hoặc N 32
22 March 2011 © H. T. Hoàng - HCMUT 74
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ạngg 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 điều khiển 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 điều khiển tối ưu rời rạc dùng nguyên lý tối ưu
Bellman: tìm kiếm nghiệm u* (k (k ) phụ thuộc x * (k
(k ) theo chiều ngược
hướng quỹ đạo từ điểm cuối xN đến điểm đầu x0
22 March 2011 © H. T. Hoàng - HCMUT 75
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 t thái cuối kể từ điểm 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
(k )
}
{
⇒ J k* ( x (k )) = min L( x (k ), u(k )) + J k*+1 ( f ( x (k ), u(k )))
u( k )
} (PT Bellman)

‘ 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.
22 March 2011 © H. T. Hoàng - HCMUT 76
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ệ
ạ g thái đầu x (0) = x0 đến trạng
thốngg từ trạng ạ g 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
u( k )
{ ) u(k )) + J k*+1 ( f ( x (k ),
i L( x (k ), }
) u(k )))

Với J N* ( x ( N )) = φ ( N , x N ) (k = 0,1,..., N − 1)
‘ 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ừ điều kiện đầu x 0

22 March 2011 © H. T. Hoàng - HCMUT 77


Trình tự giải bài toán ĐK tối ưu rời rạc dùng DP (tt)
‰ tì u* (k
Vòng ngược: tìm (k ) phụ th ộ x(k
h thuộc (k) (k=N
k N−1→ 0), gồm
ồ các
á bước:
bướ
‘ 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
u( k )
{ ) u(k )) + J k*+1 ( f ( x (k ),
i L( x (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
*
(k ) , áp dụng PP tối ưu tĩnh,
tĩnh giải PT: =0
∂u(k )

22 March 2011 © H. T. Hoàng - HCMUT 78


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
(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 điểm (k+1)
ư ở thời điể
x (k + 1) = f ( x (k ), u* (k ))

22 March 2011 © H. T. Hoàng - HCMUT 79


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

22 March 2011 © H. T. Hoàng - HCMUT 80


Đ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:
{
J 3* ( x(3)) = min x 2 (3) + u 2 (3)
u ( 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)

22 March 2011 © H. T. Hoàng - HCMUT 81


Đ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
*
i ⎨ x (2) + u (2) + 2 ⎢ x(2) + u (2))⎥ ⎬
2 2
u ( 2)
⎪⎩ ⎣2 2 ⎦ ⎪⎭
⇒ J 2* ( x(2)) = min ⎧⎨ x 2 (2) + x(2)u (2) + u 2 (2)⎫⎬
3 3
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

22 March 2011 © H. T. Hoàng - HCMUT 82


Đ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
Do: 1 = x(1) + u (1) ⇒ u * (1) = − x(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
22 March 2011 © H. T. Hoàng - HCMUT 83
Đ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
22 March 2011 © H. T. Hoàng - HCMUT 84
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

22 March 2011 © H. T. Hoàng - HCMUT 85


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⎭

Chỉ tiêu chất ố ưu: J min = J 0* ( x(0)) = 26 x 2 (0) = 416


ấ lượng tối
21 21
22 March 2011 © H. T. Hoàng - HCMUT 86
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 )
ạ g thái đầu: x (0) = x0 , trạng
Trạng ạ g 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 phương trình Hamilton-Jacobi-Bellman:
T
∂J (t , x )
*
⎡ ∂J (t , x ) ⎤
*
− i {L( x, u, t ) + ⎢
= min ⎥ f ( x, u, t )}
∂t u(t )
⎣ ∂x ⎦
22 March 2011 © H. T. Hoàng - HCMUT 87
ĐIỀU CHỈNH TOÀN PHƯƠNG TUYẾN TÍNH
(Linear Quadratic Regulator – LQR)

22 March 2011 © H. T. Hoàng - HCMUT 88


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 ) (*)
t
trong đó: x (t ) = [ x1 (t ),
đó ) xn (t )]T : vector
) x2 (t ),..., t trạng
t 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
hiệ điều khiể u(t) điều
điề khiển điề chỉnh
hỉ h hệ thống
hố 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
ợ g dạng
ạ g toàn pphương:
g
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
ọ g số xác định
ị dương g
‘ 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.
22 March 2011 © H. T. Hoàng - HCMUT 89
Đ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:
x& (t ) = Ax
A (t ) + Bu
B (t ) (1)
∂H
λ&T (t ) = − Qx (t ) − Aλ (t )
= −Q (2)
∂x
∂H x& (t ) = f ( x (t ), u(t ),(3)
t)
= − Ru(t ) − B T λ (t ) = 0
∂u
∂u
& ∂H
λ (t ) = −
T

∂x
∂H
=0 T
, u, t ) + λ (t ) f ( x , u, t )
H (t ) = L( x∂u
22 March 2011 © H. T. Hoàng - HCMUT 90
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)
‘ Th (4) vào
Thay à (1),
(1) tta đượ
đượ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 ) ⎥ = ⎢ ⎥⎢
λ ⎥ (6)
⎣ ⎦ ⎣ − Q − A ⎦⎣ (t ) ⎦
‘ 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

22 March 2011 © H. T. Hoàng - HCMUT 91


Lời giải bài toán LQR liên tục

‘ Tí hiệu
Tín hiệ điề khiể tối ưu: u* (t ) = − K (t ) x (t )
điều khiển
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

22 March 2011 © H. T. Hoàng - HCMUT 92


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 )
‘ phương trong đó thời điểm cuối tf=∞:
Chỉ tiêu chất lượng dạng toàn phương,

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 phương 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 ấ lượng: J min = x T (0) Px (0)
ể của chỉ tiêu chất

22 March 2011 © H. T. Hoàng - HCMUT 93


Đ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 ) = 3 x(t ) + 2u (t )
‘ ậ điều khiển u(t)
Yêu cầu: Thiết kế luậ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 ố ưu: u (t ) = − Kx(t ) ⇒ u (t ) = −3,065 x(t )
ể tối

22 March 2011 © H. T. Hoàng - HCMUT 94


Đ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:
Yê ầ Thiết kế luật
l ật điều
điề khiển (t) để hệ kín
khiể u(t) kí ổn
ổ định
đị h vàà tối thiểu
thiể
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
ạ pphươngg trình trạng
ạ g thái: ⎢ ⎥ =⎢ ⎥ ⎢ ⎥ + ⎢ ⎥u (t )
⎣ x&2 (t )⎦ ⎣1 0 0⎦ ⎣ x2 (t )⎦ ⎣1⎦
23 {
A B
‘ Viết lại
ạ chỉ tiêu chất lượng:
ợ g

1 ⎡2 0⎤ ⎡ x1 ⎤
J = ∫ [x1 x2 ]⎢ ⎥ ⎢ ⎥ + 2 2
{ (t ))dt
u
20 0 0 ⎦ ⎣ x2 ⎦ R
⎣123
Q
22 March 2011 © H. T. Hoàng - HCMUT 95
Đ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 ⎤
⇒⎢ +⎢ +⎢ − ⎢ =0
⎥ ⎥ ⎥ 2 ⎥
⎣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 ⎦
22 March 2011 © H. T. Hoàng - HCMUT 96
Đ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 )

22 March 2011 © H. T. Hoàng - HCMUT 97


Đ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 ⎦ ⎣14243⎦ ⎣ 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:
ợ g

1 ⎡2 0⎤ ⎡ x1 ⎤
J = ∫ ([ x1 x2 ]⎢ ⎥ ⎢ ⎥ + 1 u 2
{ (t ))dt
20 ⎣10 1 ⎦ ⎣ x2 ⎦
23 R
Q
22 March 2011 © H. T. Hoàng - HCMUT 98
Đ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⎥⎦
⎡ p1 p2 ⎤ ⎡0⎤ ⎡ p1 p2 ⎤
−⎢ ⎥ ⎢ ⎥ [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 ⎦

22 March 2011 © H. T. Hoàng - HCMUT 99


Điều khiển LQR liên tục – Thí dụ 3
⎧− 2 p2 + 2 − p22 = 0
⎪ ⎧ p1 = 2.403
⎪ p1 − 2 p2 − p3 − p2 p3 = 0 ⎪
⇒ ⎨ p2 = 0.732 (chọn các
⇒⎨
⎪− p3 + p1 − 2 p2 − p2 p3 = 0 ⎪ p = 0.542 nghiệm
g ệ dương)
g)
⎪⎩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 )
22 March 2011 © H. T. Hoàng - HCMUT 100
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) = Ad x (k ) + Bd u(k ) (*)
t
trong đó: x (k ) = [ x1 (k ),
đó ) xn (k )]T: vector
) x2 (k ),..., t trạng
t 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
hiệ điều khiể u(k) điều
điề khiển điề chỉnh
hỉ h hệ thống
hố 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
ợ g dạng
ạ g toàn pphương:
g
1 T 1 N −1 T
[
J (u) = x ( N ) Mx ( N ) + ∑ x (k )Qx (k ) + uT (k ) Ru(k )
2 2 k =0
]
=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
ọ g số xác định
ị dương g

22 March 2011 © H. T. Hoàng - HCMUT 101


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

‘ Tí hiệu
Tín hiệ điề khiể tối ưu: u* (k ) = − K (k ) x (k )
điều khiển
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 phương trình Ricatti rời rạc: lần lượt thay k = ( N − 1) → 0
vao phương trình Ricatti sẽ tìm được P(k)

22 March 2011 © H. T. Hoàng - HCMUT 102


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,
phương trong đó thời điểm cuối N ∞:
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 )
t
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:
( (
P = A P − PBd B P Bd + R
T
d
T
d )
−1
)
BdT P Ad + Q
‘ Chú ý: trong trường hợp này K và P là không phụ thuộc k
‘ Giá trị cực tiểu của chỉ tiêu chất lượng: J min = x T (0) Px (0)
22 March 2011 © H. T. Hoàng - HCMUT 103
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)
( Q )

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

‘ Nghiệm
hi phương
h trình
ì h đđạii số
ố Ricatti
i i rờiời rạc(discrete
(di algebraic
l b i Ricatti
i i
equation – dare)
>> P P=dare(A
dare(A,B,Q,R)
B Q R)

‘ Lời giải bài toán LQR (Linear quadratic Regulator – LQR) rời rạc
>> K=dlqr(A,B,Q,R)
22 March 2011 © H. T. Hoàng - HCMUT 104
BỘ LỌC KALMAN

22 March 2011 © H. T. Hoàng - HCMUT 105


Bài toán ước lượng tối ưu
‘ Cho phân bố xác suất liên kết (X,Y), ước lượng X dựa trên các giá trị
đo Y sao cho tối thiểu phương sai ước lượng:
[ ]
+∞
E X − xˆ Y = y = ∫ ( X − xˆ )T ( X − xˆ ) p X Y ( x | y )dx → min
2

−∞
+∞
‘ Lời giải: xˆ = E [X Y = y ] = ∫ xpp XY
( x | y )dx
−∞

‘ Bộ ước lượng tối ưu trong trường hợp quan hệ giữa Y là X là quan hệ


tuyến tính có nhiễu phân bố Gauss gọi là bộ lọc Kalman
Kalman.

‘ Nhắc lại các công thức xác suất thống kê: Cho X là biến ngẫu nhiên
có hàm mật độ phân bố xác suất là p(X)
(X)
+∞
¾ Kỳ vọng: μ X = E [X ] = ∫ xp X ( x)dx
−∞
¾ Phương sai: σ = Var ( X ) = E[( X − μ X )T ( X − μ X )]
2
X

22 March 2011 © H. T. Hoàng - HCMUT 106


Lọc Kalman liên tục
⎧ x& (t ) = Ax (t ) + Bu (t ) + w (t )
‘ Xét
é hệ
h tuyến
ế tính
í h liên
li 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
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
22 March 2011 © H. T. Hoàng - HCMUT 107
Sơ đồ khối bộ lọc Kalman rời rạ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

22 March 2011 © H. T. Hoàng - www4.hcmut.edu.vn/~hthoang/ 108


Lọc Kalman rời rạc
x (k + 1) = Ad x (k ) + Bd u (k ) + w (k )
‘ ế tính rời rạc: ⎧⎨
Xét hệ tuyến
⎩ y (k ) = C d x(k ) + v(k )
Trongg đó: w(k)
( ) là nhiễu hệệ thống; ( ) là nhiễu đo lường.
g; v(k) g
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
22 March 2011 © H. T. Hoàng - HCMUT 109
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 +

++ −1
xˆ (t )
Bd z 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 d xˆ (k )

Trong đó: (
L(k ) = Ad Π (k )C C d Π (k )C + RN
T
d
T
d )
−1

Π (k + 1) = Ad Π (k ) AdT + QN − Ad Π (k )C dT RN−1C d Π (k ) AdT


22 March 2011 © H. T. Hoàng - www4.hcmut.edu.vn/~hthoang/ 110
BỘ ĐIỀU KHIỂN LQG
(Linear Quadratic Gaussian)

22 March 2011 © H. T. Hoàng - HCMUT 111


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 N E[vvT ] = RN
‘ Bài toán đặt ra là tìm tín hiệu điều khiển 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 ⎭
t
trong đó Q là các
á ma trận
t ậ ttrọng số
ố bá
bán xác
á đị
định
h dươ
dương
R là ma trận trọng số xác định dương
22 March 2011 © H. T. Hoàng - HCMUT 112
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

22 March 2011 © H. T. Hoàng - HCMUT 113


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
22 March 2011 © H. T. Hoàng - HCMUT 114
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 Π + QN = 0
22 March 2011 © H. T. Hoàng - www4.hcmut.edu.vn/~hthoang/ 115
THÍ DỤ THIẾT KẾ
ĐIỀU
Ề KHIỂN
Ể TỐI
Ố ƯU

22 March 2011 © H. T. Hoàng - HCMUT 116


Đố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: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
ñöùng [rad]
thaúng ñöng
thang

‘ 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
22 March 2011 © H. T. Hoàng - ÐHBK TPHCM 117
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

22 March 2011 © H. T. Hoàng - ÐHBK TPHCM 118


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⎥ x
⎥⎢ ⎥ ⎢


⎢ ⎥ = Ml
2 ⎢ ⎢ ⎥ + Ml ⎥u
2 ⎢
⎢ 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 ⎥
⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥
− 0.98 0 0 0⎦ ⎣ x4 ⎦ ⎣ 1 ⎦
⎣ x& 4 ⎦ ⎣14442444 3 {
A B
22 March 2011 © H. T. Hoàng - ÐHBK TPHCM 119
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,
góc vị trí xe x,
x vận tốc xe )
¾ Không có nhiễu tác động vào hệ thống.

‘ Thiết kế dùng
dù M Matlab:
tl b
¾ >> 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

22 March 2011 © H. T. Hoàng - ÐHBK TPHCM 120


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

22 March 2011 © H. T. Hoàng - ÐHBK TPHCM 121


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

[rad],[rad/s]
θ&
⎡1 0 0 0⎤
0

⎢0 1 0 0⎥⎥ -0.5

Q=⎢
0 1 2 3 4 5 6

⎢0 0 1 0⎥
1
x
⎢ ⎥
m/s]
0.5 x&
⎣0 0 0 1⎦
[m],[m
0

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

u
5
[N]

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

[rad],[rad/s]
0 θ&
⎡1 0 00⎤ -0.5

⎢0 1 0 0⎥⎥ -1

Q=⎢
0 1 2 3 4 5 6

⎢0 0 100 0⎥
2
x
⎢ ⎥

m/s]
1 x&
⎣0 0 0 1⎦
[m],[m
0

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

u
10
[N]

Tăng trọng số
Tă ố q33 -10
0 1 2 3 4 5 6
Time [s]
(tương ứng với vị trí
xe)) ⇒ vị trí xe ít dao K=[−70.1356 − 22.1091 − 10.000 − 11.0514]
động hơn
22 March 2011 © H. T. Hoàng - ÐHBK TPHCM 123
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

⎢0 0 100 0⎥
2
x
⎢ ⎥ x&

m/s]
1

⎣0 0 0 1⎦
[m],[m
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
Q là nếu -10
10
có nhiễu đo lường thì 0 1 2 3
Time [s]
4 5 6

chất lượng điều khiển


bị ảnh hưởng đáng kể K=[−70.1356 − 22.1091 − 10.000 − 11.0514]

22 March 2011 © H. T. Hoàng - ÐHBK TPHCM 124


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 ợ ggó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ị

22 March 2011 © H. T. Hoàng - ÐHBK TPHCM 125


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é.
bé Hai thành
phần của RN chính là phương sai của nhiễu đo lường)
22 March 2011 © H. T. Hoàng - ÐHBK TPHCM 126
Mô phỏng điều khiển LQG hệ con lắc ngược

22 March 2011 © H. T. Hoàng - ÐHBK TPHCM 127


MỘT SỐ CÔNG THỨC CẦN NHỚ

22 March 2011 © H. T. Hoàng - HCMUT 129


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
‘ Nghiệm tổng quát: x(t ) = Ce − at
‘ Hằ sốố C được
Hằng đ xác
á định
đị h dựa
d vào
à điều
điề kiện
kiệ biên.
biê

22 March 2011 © H. T. Hoàng - HCMUT 130


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


biên.

22 March 2011 © H. T. Hoàng - HCMUT 131


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.


22 March 2011 © H. T. Hoàng - HCMUT 132
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.

22 March 2011 © H. T. Hoàng - HCMUT 133


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 ), ) xn (t )]T ∈ ℜ n
) x2 (t ),...,
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 + K + 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
22 March 2011 © H. T. Hoàng - HCMUT 134
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

22 March 2011 © H. T. Hoàng - HCMUT 135


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
Thà h lập
lậ các
á bài toán
t á điề
điều khiể
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

22 March 2011 © H. T. Hoàng - HCMUT 136

You might also like