Lý thuyết điều khiển nâng cao-Chương 3: Điều khiên tối ưu

Chia sẻ: muahong54

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

Nội dung Text: Lý thuyết điều khiển nâng cao-Chương 3: Điều khiên tối ưu

Môn
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.HCM
Bách Khoa TP
Email: hthoang@hcmut.edu.vn
Homepage: http://www4.hcmut.edu.vn/~hthoang/



22 March 2011 © H. T. Hoàng - HCMUT 1
Ch
Chương 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
thi
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
khi LQG




22 March 2011 © H. T. Hoàng - HCMUT 3
GI
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
khi là bài toán xác đị lu khi cho th
độ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, điều khiển tối ưu phát triển mạnh mẽ và trở
nh 1950 khi phát tri 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)
lý ti Pontryagin do Lev Pontryagin (1908
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 (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, tùy theo:
nhi bài toán khi tùy theo:
Loại đối tượng điều khiển
Mi th gian liên
Miền thời gian liên tục hay rời rạc
hay
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 chỉnh toàn phương tuyến tính (Linear Quadractic
tí (Li
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, chỉ có thể giải được một số ít bài toán
khi máy tính ra đờ ch có th gi đượ í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
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)
toán không ràng bu tìm th (hay ph
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




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, thì điều kiện cần và đủ để u* là
kh đạ hàm theo thì ki đủ
điểm cực tiểu cục bộ là:
⎧ Lu (u* ) = 0

Luu (u* ) > 0

trong đó:
⎡ ∂L ∂u1 ⎤
⎢ ∂L ∂u ⎥
∂L ⎢ 2⎥
Lu = =
∂u ⎢ M ⎥
⎢ ⎥
⎣∂L ∂u m ⎦
⎡ ∂ 2 L ∂u1u1 ∂ 2 L ∂u1u2 L ∂ 2 L ∂u1um ⎤
∂2L ⎢ ⎥
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
Tìm cực trị hàm: L(u) = 5u12 + 2u2 + 2u1u2 + 8u1 + 3u2
2
tr hàm:
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:
vi phân hai:
⎡ ∂2L ∂2L ⎤
⎢ ⎥
∂u1 ∂u 2 ⎥ ⇒ L = ⎡10 2⎤
∂u12 ⇒ Luu > 0
Luu = ⎢ 2 ⎢ 2 4⎥
uu
⎢ ∂L ∂L ⎥
2
⎣ ⎦
⎢ ∂u ∂u ∂u 2 ⎥
2
⎣12 ⎦
(u1 , u 2 ) = (−0.7222;−0.3889) là điểm cực tiểu.
* *

22 March 2011 © H. T. Hoàng - HCMUT 11
Tìm cực trị không ràng buộc – Thí dụ 1
Tìm
u* = (−0.7222;−0.3889)

250


200


150


L 100


50


0

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



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
toán có ràng bu tìm vector 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 → ℜ
f : ℜn × ℜm → ℜ p
L(x,u) gọi là hàm đánh giá và f(x,u) là điều kiện ràng buộc




22 March 2011 © H. T. Hoàng - HCMUT 13
Hàm
Hàm Hamilton
Định nghĩa hàm Hamilton:
ngh hàm Hamilton
H ( x , u) = L ( x , u) + λ T f ( x , u)
trong đó λ ∈ ℜ p là vector hằng số, gọi là thừa số Larrange
là vector là th 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
tiểu của H(x,u).
ti

⇒ 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)
bài tì ti khô hà

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
Th
Do ta cần tìm cực trị theo u nên có thể tự do chọn thừa số Lagrange
ta tìm tr theo có th do ch th 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: λ T = − Lx [ f x ]
−1




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àm mục tiêu: dL( x , u) = dx +
hà tiê 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

∂H ( x , u)
∂f ( x, u) ∂L( x , u) ⎤
⇒ dL( x, u) = ⎡λ T ⇒ dL( x , u) =
+ du
⎥ 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)
⇒ Điều kiện để L(x,u) đạt cực trị với ràng buộc f(x,u)=0 là:
ki để đạ tr ràng bu 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, điều kiện cần để
ki xác đị Lagrange ki để
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


H ( x , u) = L( x, u) + λT f ( x , u)
trong đó:




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

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

Hàm Hamilton:
H (u) = L(u) + λT f (u)
⇒ H (u) = 5u12 + 2u2 + 2u1u2 + 8u1 + 3u2 + λ (u1 + 6u2 − 2)
2




22 March 2011 © H. T. Hoàng - HCMUT 18
Tìm cực trị có ràng buộc – Thí dụ 1
Tìm
Điều kiện cần để có cực trị:
ki để có tr
∂H (u)
= 10u1 + 2u2 + 8 + λ = 0
∂u1
⎧ H x ( u) = 0
⎪ ∂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 + 2u2 + 2u1u2 + 8u1 + 3u2 + λ (u1 + 6u2 − 2)
2


22 March 2011 © H. T. Hoàng - HCMUT 19
Tìm cực trị có ràng buộc – Thí dụ 1
Tìm
u* = [− 0.8412 0.4735]
T



250


200


150


L 100


50


0

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



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

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

Giải:
Viết lại điều kiện ràng buộc:
u = x 2 + 3x − 6 ⇔ x 2 + 3x − 6 − u = 0
Hàm Hamilton:
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
Tìm
Điều kiện cần để có cực trị:
ki để 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.71;2.04), (−1.68;−8.22)
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 giá tr
được các giá trị tương ứng là: 43.78; 0.087; 117.94.
là: 43 117
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ìm

Tìm cực trị hàm: L( x , u ) = x12 + 3x2 + u 2
2
Tì hà
Với các điều kiện ràng buộc:
⎡ f1 ( x, u ) ⎤ ⎡2 x1 + x2 − 4⎤
f ( x, u ) = ⎢ ⎥ = ⎢ x +u +2 ⎥ = 0
⎣ f 2 ( x, u )⎦ ⎣ 1 ⎦

Giải:
Hàm Hamilton:
H ( x , u ) = L( x , u ) + λ T f ( x , u )
⇒ H ( x, u ) = x12 + 3 x2 + u 2 + λ1 (2 x1 + x2 − 4) + λ2 ( x1 + u + 2)
2




22 March 2011 © H. T. Hoàng - HCMUT 23
Tìm cực trị có ràng buộc – Thí dụ 3
Tìm
Điều kiện cần để có cực trị:
ki để có tr
∂H ( x , u )
= 2 x1 + 2λ1 + λ2 = 0
∂x1
∂H ( x , u )
= 6 x2 + λ1 = 0
⎧H x ( x, u ) = 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 trình, ta được:
λ = [− 5.1429 7.1429]T
x * = [1.5714 0.8514]
T
u * = −3.5714
Do L( x , u ) = x12 + 3 x2 + u 2 là hàm toàn phương nên cực trị tìm được
2
là hàm toàn ph nên tr tìm đượ
ở trên cũng chínhxlà cựcx1 ể+ 3 x2 + u + λ1 (2 x1 + x2 − 4) + λ2 ( x1 + u + 2)
H ( , u ) = ti u
2 2 2


22 March 2011 © H. T. Hoàng - HCMUT 24
TỐI ƯU HÓA ĐỘNG
HÓA ĐỘ
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) sao cho
toán độ không ràng bu tìm hàm 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
(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 ))
x (t ) nằm trong lân cận ε của x * (t )
với mọi hàm
x (t ) − x * (t ) ≤ ε
22 March 2011 © H. T. Hoàng - HCMUT 26
Tìm cực trị phiếm hàm?
Tì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
ni bi phân (variation): có th hi là đạ hàm
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
Khái
Lượng gia của phiếm hàm:
gia phi hàm:
ΔJ ( x ) = J ( x + δx ) − J ( x )
trong đó δx (t ) là biến phân của hàm x (t )
là bi phân hàm


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
Thí
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:
phân phi hàm đượ 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
Công

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
∂x ⎦ ⎭
t0 ⎩⎣




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


Biến phân phiếm hàm:
⎡ ∂L( x, x, t ) ∂L( x, x, t ) ⎤
& &
tf
δJ = ∫ δx + δx ⎥dt
&
⎢ ∂x ∂x
⎣ ⎦
&
t0

t
δx (t ) = ∫ δx (τ )dτ + δx (t0 )
Chú ý rằng: &
t0

δx (t0 ) = δx (t f ) = 0
Thực hiện biến đổi tích phân (sử dụng công thức tích phân từng phần),
suy ra:
tf
⎡ ∂L( x, x, t ) d ∂L( x, x, t ) ⎤
& &
δJ = ∫ ⎢ ⎥δxdt

∂x ∂x
dt
t0 ⎣ ⎦
&

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 ) là biến
ki để phi hàm đạ tr là bi
*
phân của J ( x ) phải bằng 0 tại x (t )
δJ ( x ) = 0 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à:
tr là:
∂L( x, x, t ) d ∂L( x, x, t ) ∂L d ∂L
& &

− =0 − =0
∂x ∂x ∂x dt ∂x
dt & &
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, dạng
đặ bi khi ph thu minh vào
đơn giản của phương trình Euler-Lagrange là:
tf
⎡ ∂L( x, x, t ) d ∂L( x, x, t ) ⎤
& &
= c δJ (c ∫ ⎢ hằngx ố) − dt
∂L
⎥δxdt
= là
L− x s
& ∂ ∂x
t0 ⎣ ⎦
&
∂x
&
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:
hàm cho phi hàm đạ ti
π /2


J ( x) = [ x 2 (t ) − x 2 (t )]dt → min
&
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 = 0
x
&
∂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
x* (t ) = 3 sin t + cos t
Kết luận:
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:
hàm cho phi hàm đạ ti
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 trình Euler-Lagrange: − ⎜ ⎟=0
∂x dt ⎝ ∂x ⎠ &
1
&& 1 + x 2 − x
x x&&
&x
& &
d⎛ x ⎞ & 1+ x2
&
⎜ ⎟=0 ⇒
⇒ ⇒ && = 0
=0 x
⎜ 2⎟
dt ⎝ 1 + x ⎠ 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
x* (t ) = − t + 1
Kết luận:
L = 1+ x2
&
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
toán độ có ràng bu tìm hàm đị 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ị
Hàm
Định nghĩa hàm Hamilton:
ngh hàm Hamilton
H ( x, x , λ , t ) = L( x, x , t ) + λ T f ( x , x, t )
& & &
trong đó λ (t ) ∈ ℜ p là vector hàm, gọi là thừa số Larrange
là vector hàm là th 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

⇒ Biến đổi bài toán tìm cực tiểu J(x) với ràng buộc f ( x, x, t ) = 0
&
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 để phiếm hàm J ( x ) có cực trị là:
∂H ( x, x, λ , t ) d ∂H ( x, x, λ , t )
& &
− =0
∂x ∂x
dt &
(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
toán độ có ràng bu tìm hàm đị 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
∫ f ( x, x, t )dt = q
&
với điều kiện ràng buộc t0

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 ∂x
dt &
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
Trình
Bước 1: Xác định hàm mục tiêu, điều kiện ràng buộc và điều kiện
1: đị hàm tiêu ki ràng bu và ki
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
&
tf
t0

∫ f ( x, x, t )dt = q
Điều kiện ràng buộc f ( x , x , t )dt = 0 hoặc &
&
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 ∂x
dt &
Bước 4: Tìm nghiệm phương trình Euler-Lagrange thỏa điều kiện
4: Tìm nghi ph trình Euler th ki
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:
hàm cho phi hàm đạ ti
4
J ( x) = ∫ x 2 (t )dt → min
&
0
4

∫ x(t )dt = 3
với điều kiện ràng buộc:
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-Lagrange:
trình Euler
∂H ( x, x, λ , t ) d ∂H ( x, x, λ , t )
& &
− =0
∂x ∂x
dt &
⇒ λ − d {2 x(t )} = 0
&
dt
⇒ λ − 2 &&(t ) = 0 (1)
x
Tìm nghiệm phương trình Euler-Lagrange:
λ
(1) ⇒ &&(t ) =
x
2
λ
⇒ x(t ) = t + c1
&
2
λ
⇒ x(t ) = t 2 + c1t + c2
H ( x, x, λ , t ) = x 2 (t ) + λx(t )
& &
4
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:
đị các vào ki ràng bu và ki biên:
λ
⇒ c2 = 0
x(0) = .0 + c1.0 + c2 = 0
4
x(4) = 4λ + 4c1 = 0 9
c1 =
8

4
⎡λ c1 2 ⎤ 16λ
4

∫ x(t )dt = ⎢12 t + 2 t ⎥ 0 = 3 + 8c1 = 3
3
9
λ=−
⎣ ⎦
0
8
929
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
vector hàm sao cho phi hàm
đạt cực tiểu:
[ ]
2
J ( x ) = ∫ 5( x1 − 1) 2 + x2 dt → min
2

0

với điều kiện ràng buộc: f ( x, x, t ) = x1 + 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 + x2 ] + λ ( x1 + 2 x1 − x2 )
2
& &


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-Lagrange:
trình Euler
∂H d ∂H &
⇒ 10( x1 − 1) + 2λ − λ = 0
− =0 (1)
∂x1 dt ∂x1&
∂H d ∂H
− =0 ⇒ 2 x2 − λ = 0 (2)
∂x2 dt ∂x &2
Tìm nghiệm phương trình Euler-Lagrange thỏa điều kiện ràng buộc:
⎧λ = 2 x2 (3)
⇒ ⎨&
(2)
⎩λ = 2 x2
&
10( x1 − 1) + 4 x2 − 4 x2 = 0
Thay (3) vào (1): (4)
&
⎧ x2 = x1 + 2 x1
&
Từ điều kiện ràng buộc, suy ra: ⎨ (5)
⎩ x2 = &&1 + 2 x1
&x &
Thay (5) vào (4): 10( x1 − 1) + 4( x1 + 2 x1 ) − 4( &&1 + 2 x1 ) = 0
x
& &
H ( x&, x−λ , tx = [5( x1 0 1) 2 + x2 ] + λ ( x1 + 2 x1 (6) 2 )
& , 18 ) + 10 = − −x
2
⇒ &
4 &&1 + 4 x1
x 1

22 March 2011 © H. T. Hoàng - HCMUT 43
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)
(6)
x1 (t ) = C1e −2.679t + C2 e1.679t + 0.556
Thay điều kiện biên x1 (0) = 0; x1 (2) = 1
⎧C1 = −0.572
⎧C1 + C2 + 0.556 = 0 ⇒ ⎨C = 0.0155
⎨0.0047C + 28.732C + 0.556 = 1
⎩2
⎩ 1 2

⇒ x1 (t ) = −0.572e −2.679t + 0.0155e1.679t + 0.556 (7)

Thay (7) vào (5):
x2 = x1 + 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
DÙNG




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:
đố mô ph trình tr thái:
x (t ) = f ( x (t ), u(t )) (*)
&
trong đó: x (t ) = [ x1 (t ), x2 (t ),..., xn (t )]T : vector trạng thái
thái
u(t ) = [u1 (t ), u2 (t ),..., um (t )]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 (t f ) = x f
đầ
tf

J (u) = φ ( x (t f )) + ∫ L( x (t ), u(t ), t )dt
Chỉ tiêu chất lượng:
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 ), u(t ), t )dt → min
min
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 tối ưu u*(t) gọi là quỹ đạo trạng thá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:
th gian ra quá trình là có th phân lo
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
khi tàu gi ga trình xác đị 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
khi tên lên độ cao xác đị th 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.
bài toán khi độ có tr thái đầ tr
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.
khi tên vào qu đạ th gian nhanh nh
Điểm cuối cố định cho trước, ví dụ:
Điều khiển ghép nối các con tàu
các 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
Gi
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:
toán khi độ liên có th phát bi 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 ), u(t ), t ) + λT (t )[ f ( x (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:
phân phi hàm tiêu:
tf
⎡⎛ ∂φ
[ ]
⎞⎤ ⎡⎛ ∂H & T ⎞ ∂H ⎤
δJ = ⎢⎜ − λ T ⎟δx ⎥ + λ T δx t =t0 + ∫ ⎢⎜ + λ (t ) ⎟δx + δu⎥ dt
⎣⎝ ∂x ∂x ∂u ⎦
⎠ ⎦ t =t f t 0 ⎣⎝ ⎠
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:
∂φ (t f )
&T (t ) = − ∂H
∂H
λ
=0 λ (t f ) =
T
∂x
∂u ∂x
Lưu ý:
∂φ (t f )
Điều kiện λ (t f ) = chỉ cần đối với bài toán điểm cuối tự do.
T

∂x
λ (t ) được gọi là đồng trạng thái của hệ thống t f
& (t ) = − ∂H được gọi là phươJ (utrình ( x (t f )) ạng[thái ) − λ (t ) x ]d
+ ∫ H (t
) =φ T
& dt
λ ng đồng tr
∂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
Trình
Bước 1: Viết PTTT mô tả đối tượng: x (t ) = f ( x (t ), u(t ), t )
1: Vi PTTT mô đố &

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
Trình
Bước 3: Thành lập hàm Hamilton: H (t ) = L( x, u, t ) + λ T (t ) f ( x , u, t )
3: Thành hàm Hamilton:
Bước 4: Viết điều kiện cần để có lời giải tối ưu:
PT trạng thái:
tr thái: x (t ) = f ( x (t ), u(t ), t )
&
& T (t ) = − ∂H
PT đồng trạng thái: λ
∂x
∂H
=0
Điều kiện dừng:
∂u
x (t0 ) = x0
Điều kiện đầu:
x (t f ) = x f (Bài toán điểm cuối cố định)
Điều kiện cuối:
∂φ (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:
tính độ nhi độ lò cho ph 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;
nhi độ phòng và 25 là nhi độ môi tr
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
bi tr thái:
⇒ 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 mong muốn: x f = x(1) = y (1) − ya = yd − ya = 50

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:
2: Xác đị hàm tiêu và ki 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 12
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)
ch
Điều kiện đầu: x0 = 0; t f = 1
Bước 3: Định nghĩa hàm Hamilton:
3: Đị ngh hàm Hamilton:
H ( x, u, λ , t ) = L( x, u, t ) + λ (t ) f ( x , u, t )
12
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
4: ki để có nghi
x(t ) = −2 x(t ) + u (t )
PT trạng thái: (1)
&

& (t ) = − ∂H (2)
PT đồng trạng thái: λ &
λ (t ) = 2λ (t )

∂x
∂H
Điều kiện dừng:
ki u (t ) + λ (t ) = 0

=0 (3)
∂u

x(t0 ) = x0 = 0 (4)
Điều kiện đầu:
ki đầ
∂φ (t f )
⇒ λ (1) = ρ ( x(1) − 50)
λ (t f ) =
Điều kiện cuối: (5)
∂x

12
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
5: Gi ph trình vi phân
Nghiệm phương trình (2):
(6)
λ (t ) = C1e 2t

Thay (6) vào (3):
u (t ) = −C1e 2t (7)

Thay (7) vào (1), ta được:
(7) (1) ta đượ
(8)
x(t ) = −2 x(t ) − C1e 2t
&
C1 2t
⇒ x(t ) = − e + C2 e − 2t
4

x(λu (t )−2λ (t ))+ u (t )
& t&)(t= = 2λ (t = 0
) +x (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:
đị các vào ki biên:
⎧ x ( 0) = 0
⎨λ (1) = ρ ( x(1) − 50 )

⎧ C1
⎪− 4 + C 2 = 0

⇒⎨
⎪C1e = ρ ⎜ − e + C2 e − 2 − 50 ⎞
⎛ C1 2
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
th xe 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&&(t ) + ky (t ) = u (t )
y
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 = 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 đứng yên tại gốc tọa độ đến trạng thái đứng yên tại vị trí
hái đứ độ đế đứ
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.
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:
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
⎡ x1 (t ) ⎤ ⎡ 0 1⎤ ⎡ x1 (t ) ⎤ ⎡0⎤
&
⎢ x (t )⎥ = ⎢− 2 0⎥ ⎢ x (t )⎥ + ⎢1⎥u (t )
⎣ &23 ⎣ 4 4⎦ ⎣ 23 ⎣ ⎦
12 ⎦ 1 2 3 12 ⎦ {
B
A
x (t ) x (t )
&
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:
2: Xác đị hàm tiêu và ki 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
12 (Bài toán tối ưu
J (u ) = ∫ u (t )dt → min
điểm cuối ràng buộc)
cu ràng bu
20
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
ki đầ &
Đ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:
3: hàm Hamilton:
H ( x , u, λ , t ) = L( x , u, t ) + λ T (t ) f ( x , u, t )
12
⇒ 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
4: ki để có nghi
x (t ) = Ax (t ) + Bu (t )
&
PT trạng thái: (1)
∂H (2)
&
& ⇒ λ (t ) = − Aλ (t )
PT đồng trạng thái: λ (t ) = −
∂x
∂H
⇒ u (t ) + B T λ (t ) = 0
=0
Điều kiện dừng:
ki (3)
∂u

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



Điều kiện cuối:
x (1) = [10;0] (5)
T

12
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
5: Gi ph trình vi phân
Nghiệm phương trình (2):
− A ( t −t f )
(6)
λ (t ) = e λ (t f ) = e − A(t −1) λ (1)
Nghiệm phương trình (3):
u (t ) = − B T λ (t ) (7)


Thay (6) vào (7):
(6) (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
PHƯƠNG PHÁP QUI HOẠCH ĐỘNG
PHÁP QUI HO ĐỘ




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
pháp qui ho độ 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.
qu đạ tr thái
x2
Đoạn 2

xN
Đoạn 3
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ư
đườ ng nh cho bi đườ nh
hình vẽ.




Nguyên lý tối ưu Bellman: tìm đường ngắn nhất ngược từ nút đích
lý Bellman: tìm đườ ng nh ng nút
đế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
bài toán tìm đườ thành các đế
Ký hiệu Nki là nút thứ i ở bước k
N31
N21
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
Thí




Ký hiệu:
hi
*
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

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




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
đầ tì
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
Thí




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)
Thí
Bước 3: có nhiều lựa
3: có nhi
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
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 ) đi đến
3
N 41 N 42
N 31 4 8 4 N41 (H)
N 32 9 7 7 N42 (I)
6 7 6 N41 (H)
N 33
22 March 2011 © H. T. Hoàng - HCMUT 71
Thí dụ tìm đường ngắn nhất dùng DP (tt)
Thí
Bước 2: tìm đưởng tối
2: tìm đưở
ưu từ nút N2i đến nút
J 3 ( N 31 ) = 4
*
đích N51 (tức nút J), sử
J 3 ( N 32 ) = 7
*
dụng kết quả tối ưu đoạn
J 3 ( N 33 ) = 6
*
cuối tìm được ở bước 3


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 ) đi đến
2
N 31 N 32 N 33
N 21 N 31 hoặc N 32
11 11 12 11
N 22 N 31
7 9 10 7
N 31 hoặc N 32
N 23 8 8 11 8
22 March 2011 © H. T. Hoàng - HCMUT 72
Thí dụ tìm đường ngắn nhất dùng DP (tt)
Thí
Bước 1: tìm đường tối
1: tìm đườ
ư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
J 2 ( N 23 ) = 8
*
ư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

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



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




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 (d (3N 2i ,4N)3+)J 4 ( N(4N)3 j ) * *
N i , N j j +* J 3 j *
Quyết đếnh ịnh
Quy ịt đ
ĐườngTTừ i ưu: N 11 → NN → N 31 → N 41 3→JN( Nt2i c A→đinđếE→H→J
đừtố J ( N 3i ) ứ) đi đD→ n
NN
i ế
2
N 42 N 33
23 51
31 41 32
hoặc: N11N11 , N 23j ) + N232 N 2 j ) 42 → N 51 tức AQuyết địnhI→J
→D→ →
d (4 → N11→ J * ( → N 4 *11 NN (hoặcFN
N
Nừ31 8 12 J1 ( N11 ) 4131đi )đến 32
H
11
T 21 2

N 23
N 219 N9
N
N 2232 7 10 77 N42 (IN 31
)
7 22

N
N 13 11 10 10
NN 31 hoặc N 32
86 7 11 68 (H) 23
N 1133
N 8 41
23

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:
đố mô ph 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 điều khiển u(k) sao cho:
N −1
J = φ ( N , x N ) + ∑ L( x (k ), u(k )) → min
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 ) phụ thuộc x * (k ) theo chiều ngược
Bellman: tìm ki nghi ph thu theo chi ng
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 cuối kể từ điểm x(k)
hàm tiêu cho qu đạ cu
⎧ ⎫
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
trình Bellman theo th tìm đượ
tín hiệu điều khiển tối ưu.
22 March 2011 © H. T. Hoàng - HCMUT 76
Trình
Trình tự giải bài toán ĐK tối ưu rời rạc dùng DP
x (k + 1) = f ( x (k ), u(k ))
Đối tượng:
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 )))
* *
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 x0
22 March 2011 © H. T. Hoàng - HCMUT 77
Trình
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ì th
ng
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 (.)
=0
*
Chú ý: để tìm u (k ) , áp dụng PP tối ưu tĩnh, giải PT:
ý: để tìm áp PP gi PT:
∂u(k )

22 March 2011 © H. T. Hoàng - HCMUT 78
Trình
Trình tự giải bài toán ĐK tối ưu rời rạc dùng DP (tt)
th *
Vòng xuôi: xác định giá trị cụ thể uk (k ) . Thực hiện các bước sau đây
xuôi: xác đị giá tr Th hi các sau
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
thái tối ưu ở thời điểm (k+1)
th
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:
đố là khâu quán tính có mô hình tr 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 )

( x(k )) = min{x (k ) + u }
⇒ Jk (k ) + J k +1 (0.5 x(k ) + 0.5u (k )) (k = 0 → 3)
* 2 2 *
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
Vòng ngược: Với k = 3:
3:
Phương trình Bellman:
{ }
J 3 ( x(3)) = min x 2 (3) + u 2 (3) (do J 4 ( x(4)) = 0 )
* *
u ( 3)

Đ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
Vòng ngược: Với k = 2:
2:
Phương trình Bellman:
{ }
J 2 ( x(2)) = min x 2 (2) + u 2 (2) + J 3 ( x(3))
* *
u ( 2)

( x(2)) = min{x (2) + u }
⇒ J2 (2) + 2 x 2 (3)
* 2 2
u ( 2)
⎧2 ⎤⎫
2
⎪ ⎪
⎡1 1
⇒ J 2 ( x(2)) = min ⎨ x (2) + u 2 (2) + 2 ⎢ x(2) + u (2))⎥ ⎬
*

⎪ ⎦⎪
⎣2 2
u ( 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)
= x(2) + 3u (2) ⇒ u * (2) = −
Do
∂u (2) 3
2
2
⇒ J 2 ( x(2)) = x 2 (2) + ⎛ − x(2) ⎞ + 2⎡ 1 ⎛ x(2) − x(2) ⎞⎤
*
⎜ ⎟ ⎢2 ⎜ ⎟⎥
3⎠ 3 ⎠⎦
⎝ ⎣⎝
42
⇒ 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
Vòng ngược: Với k = 1:1:
Phương trình Bellman:
{ }
J1* ( x(1)) = min x 2 (1) + u 2 (1) + J 2 ( x(2))
*
u (1)
⎧2 42 ⎫
⇒ J1 ( x(1)) = min ⎨ x (1) + u (1) + x (2)⎬
* 2

3
⎩ ⎭
u (1)

⎧2 ⎤⎫
2
⇒ J1* ( x(1)) = min ⎨ x (1) + u 2 (1) + ⎢ ( x(1) + u (1))⎥ ⎪
⎪ 4 ⎡1

⎪ ⎦⎪
3 ⎣2
u (1)
⎩ ⎭
⇒ J1* ( x(1)) = min ⎧ x 2 (1) + x(1)u (1) + u 2 (1)⎫
4 2 4
⎨ ⎬
3 3 3
⎩ ⎭
u (1)

∂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) + ⎜ − + ⎢ ⎜ x(1) −
⎟ ⎟
4 ⎠⎥
4 ⎠ 3 ⎣2 ⎝
⎝ ⎦
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
Vòng ngược: Với k = 0:
0:
Phương trình Bellman:
{ }
J 0 ( x(0)) = min x 2 (0) + u 2 (0) + J1* ( x(1))
*
u0 > P=care(A,B,Q,R)

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 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 (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
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ị
phân xác su liên ướ 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
ˆ ˆ ˆ
−∞
+∞
x = E [X Y = y ] = ∫ xp
Lời giải: ˆ p ( x | y )dx
XY
−∞

Bộ ước lượng tối ưu trong trường hợp quan hệ giữa Y là X là quan hệ
tuy tính có nhi phân Gauss
tuyến tính có nhiễu phân bố Gauss gọi là bộ lọc Kalman.
là 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)
hàm độ phân xác su là
+∞
μ X = E [X ] = ∫ xp X ( x)dx
Kỳ vọng:
−∞
σ = Var ( X ) = E[( X − μ X )T ( X − μ X )]
2
Phương sai: 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ệ tuyến tính liên tục: ⎨
li
⎩ y (t ) = Cx(t ) + v(t )
Trong đó: w(t) là nhiễu hệ thống; v(t) là nhiễu đo lường.
nhi th nhi
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
Trong đó L là độ lợi của bộ lọc Kalman:
độ Kalman:

L = ΠC T RN1
với Π là nghiệm của phương trình Ricatti:
nghi ph trình Ricatti:

AΠ + ΠAT − ΠC T RN1C Π + Q N = 0
22 March 2011 © H. T. Hoàng - HCMUT 107
Sơ đồ khối bộ lọc Kalman rời rạc

y(t)
x(t)
u(t) x (t ) = Ax (t ) + Bu (t ) C
&

+
L −
ˆ
+ x (t )

+
B C
+ ˆ
y (t )

A


&
⎧ x(t ) = Ax(t ) + Bu (t ) + L( y (t ) − y (t ))
ˆ ˆ ˆ
Bộ lọc Kalman: ⎨
⎩ y (t ) = Cx(t )
ˆ ˆ


Trong đó: L = ΠC T RN1

AΠ + ΠAT − ΠC T RN1C Π + 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 )
Xét hệ tuyến tính rời rạc: ⎧
⎨ y (k ) = C x(k ) + v(k )
⎩ d

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:
độ Kalman:
( ) −1
L(k ) = Ad Π (k )C d C d Π (k )C d + RN
T T


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

Π (k + 1) = Ad Π (k ) Ad + Q N − Ad Π (k )C d RN1C d Π (k ) Ad
T T T


22 March 2011 © H. T. Hoàng - HCMUT 109
Sơ đồ khối bộ lọc Kalman rời rạc
u(t) y(t)
x ( t)
x d ( k + 1) = Ad x ( k ) + Bd u ( k ) Cd

+
L

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

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


Π (k + 1) = Ad Π (k ) Ad + QN − Ad Π (k )C d RN1C d Π (k ) Ad
T T T



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:
tuy tính liên tác độ nhi 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
tr thái đầ tr thái cu 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
là bá đị
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
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
lý tách Bài toán LQG có th gi cách gi
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:
hi khi LQR:
u* (t ) = − Kx (t )
ˆ
với độ lợi hồi tiếp trạng thái: K = R −1 B T P
độ ti tr thái:
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 )
ˆ ˆ

L = ΠC T RN1
với độ lợi ước lượng:
trong đó Π là nghiệm bán xác định dương của pt đại số Ricatti:

AΠ + ΠAT − ΠC T RN1C Π + 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
y(t)
r(t) x(t)
u(t)
x (t ) = Ax (t ) + Bu (t )
− C
&

+

L

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

A

K

Bộ điều khiển LQR Bộ lọc Kalman
&
⎧ x(t ) = Ax(t ) + Bu (t ) + L( y (t ) − y (t ))
u* (t ) = − Kx (t )
ˆ ˆ ˆ ˆ

⎩ y (t ) = Cx(t )
K = R −1 B T P ˆ ˆ
PA + AT P + Q − PBR −1 B T P = 0 −
L = ΠC T RN1

AΠ + ΠAT − ΠC T RN1C Π + 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
con ng
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]
thang ñöng

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
PTTT
&
Đặt các biến trạng thái x1 = θ , x2 = θ , x3 = x, x4 = x
các bi tr thái &
Phương trình trạng thái phi tuyến
⎡ ⎤
x2
⎡ x1 ⎤ ⎢ u cos x1 − ( M + m) g (sin x1 ) + ml (cos x1 sin x1 ) x2 ⎥
&
⎢x ⎥ ⎢ ⎥
ml (cos x1 ) − ( M + m)l
2
&2
⎢ ⎥=⎢ ⎥
x4
⎢ x3 ⎥ ⎢ ⎥
&
⎢⎥⎢ ⎥
u + ml (sin x1 ) x2 − mg cos x1 sin x1
2
⎣ x4 ⎦ ⎢
& ⎥
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
PTTT tuyến tính hóa quanh điểm cân bằng thẳng đứng (góc lệch θ
tuy tính hóa quanh cân th đứ (góc
nhỏ hơn 100)
⎡ x1 ⎤ ⎡ M + m
1 0 0⎤ x
⎡ 1⎤ ⎡ 1 ⎤
0 0
&
⎢x ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥
⎢ Ml g 0 0 0⎥ ⎢ x2 ⎥ ⎢− Ml ⎥
&2
⎢ ⎥=
⎥ ⎢ x ⎥ + ⎢ 0 ⎥u

⎢ x3 ⎥ 0 001 3
&
⎢⎥⎢ 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:
th thông con ng
⎡ x1 ⎤ ⎡ 0 1 0 0⎤ ⎡ x1 ⎤ ⎡ 0 ⎤
&
⎢ x ⎥ ⎢ 10.78 0 0 0⎥ ⎢ x ⎥ ⎢− 1⎥
&
⎢ 2⎥ = ⎢ ⎥ ⎢ 2 ⎥ + ⎢ ⎥u
⎢ x3 ⎥ ⎢ 0 0 0 1⎥ ⎢ x3 ⎥ ⎢ 0 ⎥
&
⎢⎥⎢ ⎥⎢ ⎥ ⎢ ⎥
⎣ x4 ⎦ ⎣−498 240 4⎦ ⎣ x4 ⎦ ⎣ 1 ⎦
0. 0 0
&
{
14 4 43
B
A
22 March 2011 © H. T. Hoàng - ÐHBK TPHCM 119
Thiết kế bộ điều khiển LQR
Thi
Giả thiết:
thi
Đặ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
gi

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




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


⎢0 0⎥
1 0 -0.5

Q=⎢ ⎥ 0 1 2 3 4 5 6

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

⎣0 0 0 1⎦ 0

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




0


Góc lệch con 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.5
θ




[rad],[rad/s]
θ&
0

⎡1 0⎤
0 0 -0.5

⎢0 1 0 0⎥ -1

Q=⎢ ⎥ 0 1 2 3 4 5 6

⎢0 0 100 0⎥
2
x
⎢ ⎥

[m],[m/s]
x
&
1

⎣0 0 0 1⎦ 0

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




0


Tăng trọng số 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⎤
0 0 -0.5

⎢0 1 0 0⎥ -1

Q=⎢ ⎥ 0 1 2 3 4 5 6

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

chất lượng điều khiển
K=[−70.1356 − 22.1091 − 10.000 − 11.0514]
bị ảnh hưởng đáng kể

22 March 2011 © H. T. Hoàng - ÐHBK TPHCM 124
Thiết kế bộ điều khiển LQG
Thi
Giả thiết:
thi
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:
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
Thi
Bộ điều khiển LQR
khi 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
⎡ 6.5617 − 0.0571⎤
Q N = 0.000001I
⎢ 21.5437 − 0.1876⎥
⇒ L=⎢ ⎥
⎡0.001 0 ⎤ ⎢− 0.5713 0.1470 ⎥
RN = ⎢
0.01⎥ ⎢ ⎥
0
⎣ ⎦ ⎣ − 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
ta gi không có nhi th nên ch 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Ớ
CÔNG TH NH




22 March 2011 © H. T. Hoàng - HCMUT 129
Nghiệm của phương trình vi phân bậc 1
Nghi
Phương trình vi phân bậc 1 đồng nhất : x(t ) + ax(t ) = 0
trình vi phân đồ nh &
Nghiệm tổng quát: x(t ) = Ce − at
Hằng số C được xác định dựa vào điều kiện biên.
đị ki 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)
Nghi
Phương trình vi phân bậc 1 không đồng nhất :
trình vi phân không đồ nh
x(t ) + p (t ) x(t ) = q (t )
&

∫ μ (t )q(t )dt + C
x(t ) =
Nghiệm tổng quát:
μ (t )
∫ p (t ) dt
μ (t ) = e
trong đó:

Hằng số C được xác định dựa vào điều kiện biên.
xác đị vào ki 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
Nghi
Phương trình vi phân bậc 2 đồng nhất : a&&(t ) + bx(t ) + cx(t ) = 0
x
trình vi phân đồ nh &
Nghiệm tổng quát:
Trường hợp 1: Δ = b 2 − 4ac > 0
1:
với p1, 2 = (−b ± Δ ) /(2a)
x(t ) = C1e p1t + C2 e p2t

Trường hợp 2: Δ = b 2 − 4ac = 0
với p = −b /(2a)
x(t ) = C1e pt + C2te pt

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
Nghi
Phương trình vi phân bậc 2 không đồng nhất : a&&(t ) + bx(t ) + cx(t ) = d
x
trình vi phân không đồ nh &
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&&(t ) + bz (t ) + cz (t ) = 0
z &
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
Nghi
Phương trình vi phân bậc 1: x (t ) = Ax (t ) + Bu (t )
trình vi phân 1: &
Đ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 + 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)
Nghi
Các trường hợp riêng của phương trình vi phân bậc 1:
tr riêng ph trình vi phân 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 lập các bài toán điều khiển tối ưu động
bài khi độ
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
bài toán dùng ph pháp qui ho độ
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
Đề thi vào lớp 10 môn Toán |  Đáp án đề thi tốt nghiệp |  Đề thi Đại học |  Đề thi thử đại học môn Hóa |  Mẫu đơn xin việc |  Bài tiểu luận mẫu |  Ôn thi cao học 2014 |  Nghiên cứu khoa học |  Lập kế hoạch kinh doanh |  Bảng cân đối kế toán |  Đề thi chứng chỉ Tin học |  Tư tưởng Hồ Chí Minh |  Đề thi chứng chỉ Tiếng anh
Theo dõi chúng tôi
Đồng bộ tài khoản