Điều khiển dự báo hệ phi tuyến dựa vào mô hình mờ Fuzzy Model-Based Predictive Control of Nonlinear Systems Nguyễn Thúc Loan, Nguyễn Thị Phương Hà, Huỳnh Thái Hoàng
Abstract: In the paper, we propose a new algorithm for implementing nonlinear predictive control strategy based on Mamdani fuzzy model and Levenberg-Marquardt optimization technique. Mamdani fuzzy model is simple and uses predictive information of the system’s dynamic under linguistic statements. Levenberg–Marquardt algorithm is fast in convergence but easily falls into local extremes. To overcome this disadvantage we let the algorithm run some times with different initialization. The algorithm has been programmed to control a cascade tank, which is a typical process in industry with high nonlinearlity and long delay. Simulation results show that our predictive control strategy has been successfully applied to nonlinear systems.
điều khiển trong miền thời gian có thể áp dụng cho hệ tuyến tính cũng như hệ phi tuyến, tuy nhiên trong thực tế việc áp dụng chiến lược điều khiển dự báo cho hệ phi tuyến gặp nhiều khó khăn. Thứ nhất là phải xây dựng một mô hình toán để dự báo chính xác trạng thái của quá trình cần điều khiển trong phạm vi dự báo. Thuật toán điều khiển dự báo Hàm mục tiêu
Mô hình
r
w Tạo tín hiệu chuẩn
I. GIỚI THIỆU Phương pháp điều khiển dự báo ra đời cách nay khoảng hai thập kỷ và đã có nhiều ứng dụng thành công trong công nghiệp (Richalet, 1993). Hiện nay điều khiển dự báo là chiến lược điều khiển được sử dụng phổ biến nhất trong việc điều khiển quá trình. Bộ điều khiển dự báo dùng một mô hình để đoán trước đáp ứng tương lai của đối tượng điều khiển tại các thời điểm rời rạc trong một phạm vi dự báo (prediction horizon) nhất định. Dựa vào đáp ứng dự báo này, một thuật toán tối ưu hóa được sử dụng để tính toán chuỗi tín hiệu điều khiển tương lai trong phạm vi điều khiển (control horizon) sao cho sai lệch giữa đáp ứng dự báo bởi mô hình và tín hiệu chuẩn cho trước là tối thiểu (hình 1). Phương pháp điều khiển dự báo là phương pháp tổng quát thiết kế bộ
u Tối ưu hóa
y Đối tượng điều khiển
(a) y
HP HC
tín hiệu đặt
tín hiệu ra y trong quá khứ
tín hiệu yˆ
dự báo
thời gian
u thời gian k−1 k k+1 … k+HC
…
k+HP
(b) Hình 1: (a) Sơ đồ khối hệ thống điều khiển dự báo (b) Chiến lược điều khiển dự báo
Đối với hệ phi tuyến xây dựng được mô hình toán chính xác là một bài toán khó vì đặc tính phi tuyến rất
đa dạng. Thứ hai phải giải một bài toán tối ưu phi tuyến để tính toán chuỗi tín hiệu điều khiển trong phạm vi điều khiển, thường là bài toán tối ưu không lồi có nhiều cực trị cục bộ. Tất cả các thuật toán tối ưu hóa phi tuyến đều là thuật toán lặp đòi hỏi số lượng phép tính rất lớn, điều này làm hạn chế khả năng áp dụng chiến lược điều khiển dự báo vào các hệ thống tốc độ cao. Các nghiên cứu thiết kế bộ điều khiển dự báo cho hệ phi tuyến hiện nay chủ yếu tập trung vào việc giải quyết hai khó khăn vừa nêu trên. Trong những năm gần đây lý thuyết mờ phát triển rất mạnh và đã áp dụng thành công vào các bài toán điều khiển cũng như nhận dạng hệ phi tuyến. Đã có nhiều nghiên cứu sử dụng mô hình mờ Tagaki– Sugeno trong hệ thống điều khiển dự báo (Espinosa và các đồng tác giả, 1999; Hadjili và Wertz, 1999; Roubos và các đồng tác giả, 1999). Mô hình mờ Takagi–Sugeno có ưu điểm là có thể rút ra được từ dữ liệu vào–ra quan sát được bằng cách dùng kỹ thuật phân nhóm, tuy nhiên mô hình mờ Takagi–Sugeno không sử dụng được triệt để tri thức, kinh nghiệm của các chuyên gia trong việc giải bài toán nhận dạng hệ thống. Nhiều thuật toán tối ưu hóa khác nhau được áp dụng để tìm tín hiệu điều khiển dự báo tối ưu cho hệ phi tuyến, mỗi thuật toán có những ưu điểm cũng như khuyết điểm nhất định (Roubos và các đồng tác giả, 1999). Phương pháp đơn giản nhất là tìm lời giải tối ưu cho từng mô hình tuyến tính cục bộ, tín hiệu điều khiển hệ thống được tính bằng trung bình có trọng số của các lời giải cục bộ theo hệ qui tắc mờ. Phương pháp này có khuyết điểm là tín hiệu điều khiển suy ra từ các lời giải tối ưu cục bộ chưa chắc là lời giải tối ưu của hệ phi tuyến. Thuật toán QP (Quadratic Programing) và SQP (Sequential Quadratic Programing) là thuật toán thông dụng nhất để tìm lời giải bài toán tối ưu phi tuyến không ràng buộc và có ràng buộc, các thuật toán này tìm kiếm lời giải tối ưu dựa vào đạo hàm nên dễ rơi vào cực trị cục bộ. Thuật toán rẽ nhánh và giới hạn (Branch-and-Bound) là thuật toán tìm kiếm lời giải toàn cục trong không gian rời rạc, nếu chia không gian tìm kiếm thành nhiều mức thì tốc độ tìm kiếm rất chậm, nếu chia ít mức thì
độ chính xác của lời giải bị giảm đi. Trong bài báo này chúng tôi đề xuất một phương pháp điều khiển dự báo hệ phi tuyến dựa vào mô hình mờ Mamdani và thuật toán tối ưu hóa Levenberg– Marquardt. Bằng cách sử dụng mô hình mờ Mamdani, kinh nghiệm của các chuyên gia được sử dụng triệt để trong việc giải bài toán nhận dạng. Để tăng xác suất lời giải tối ưu tìm được chính là lời giải tối ưu toàn cục thuật toán Levenberg–Marquardt được chạy nhiều lần với giá trị khởi động khác nhau. Thuật toán Levenberg–Marquardt hội tụ tương đối nhanh nên phương pháp điều khiển dự báo đề xuất có thể áp dụng để điều khiển thời gian thực các quá trình trong công nghiệp. II. ĐIỀU KHIỂN DỰ BÁO HỆ PHI TUYẾN DỰA VÀO MÔ HÌNH MỜ 1. Mô hình mờ Mamdani Với mục đích sử dụng thông tin biết trước về đặc tính động của hệ thống dưới dạng các phát biểu ngôn ngữ, ta xây dựng mô hình mờ của hệ phi tuyến gồm các qui tắc có dạng:
~
~
Nếu ( ϕ1 (t ) là Ai1 ) và ( ϕ 2 (t ) là Ai 2 ) và … và
~
~
( ϕ r (t ) là Air ) thì ( y (t ) là Bi ) trong đó ϕ j (t ) ( j = 1, r ) là các phần tử hồi qui;
~ ~ Aij , Bi ( i = 1, l ) là các tập mờ biểu diễn các giá trị ngôn ngữ ở mệnh đề điều kiện và mệnh đề kết luận của qui tắc thứ i. Hàm liên thuộc µ A~ (ϕ j (t ), β ij , γ ij ) ij
~ của tập mờ Aij có thể có dạng phân bố Gauss, dạng sigmoid, dạng chuông, dạng tam giác,…với các thông
~
số là β ij và γ ij ; hàm liên thuộc của tập mờ Bi có dạng vạch đơn tại vị trí α i . Nếu các tập mờ ở ngõ vào được phân hoạch mờ, hệ qui tắc mờ hoàn chỉnh và phương pháp suy diễn là MAX–PROD thì tín hiệu dự báo bởi mô hình mờ cho bởi công thức:
l
r
yˆ (t ,θ ) = ∑α i .∏ µ A~ (ϕ j (t ), β ij , γ ij ) i =1
j =1
(1)
ij
⎛ Hp ⎞ ⎜ ∑ σ k (w(t + k ) − yˆ (t + k ) )2 ⎟ ⎜ k =1 ⎟ J ( u) = ⎜ H ⎟ c ⎜ + ∑ ρ (u (t + k ) − u (t + k − 1) )2 ⎟ k ⎜ ⎟ ⎝ k =0 ⎠
(4)
Thông số của mô hình mờ (1) được ước lượng từ dữ liệu vào–dữ liệu ra quan sát được sao cho tối thiểu tiêu chuẩn ước lượng là hàm xác định dương của sai số dự báo. Thuật toán tối ưu hóa có thể dùng để ước lượng thông số mô hình mờ là thuật toán Levenberg– Marquardt (H. T. Hoàng và các đồng tác giả, 2002).
các hệ số σ k và ρk xác định trọng số của các thành phần trong hàm mục tiêu.
2. Hàm mục tiêu
3. Thuật toán tối ưu hóa
Bộ điều khiển dự báo tính chuỗi tín hiệu điều khiển trong tương lai bằng cách tối ưu hóa một hàm mục tiêu mô tả mục đích của chiến lược điều khiển. Đáp
Trong mục này chúng tôi sử dụng thuật toán Levenberg–Marquardt, một phiên bản của thuật toán Newton (Flectcher, 1987), để tìm chuỗi tín hiệu điều khiển u tối thiểu hàm mục tiêu (3), cách tìm lời giải tối ưu hàm mục tiêu (4) có thể rút ra bằng cách tương tự.
ứng dự báo yˆ (t + k | t ) trong phạm vi dự báo
k = 1, H P phụ thuộc vào tín hiệu vào và tín hiệu ra của hệ thống đến thời điểm t và tín hiệu vào
u (t + k | t ) trong phạm vi điều khiển k = 0, H C . Mục
tiêu
điều
khiển
là
giữ
cho
tín
hiệu
yˆ (t + k | t ) càng gần tín hiệu chuẩn w(t+k) càng tốt. Tín hiệu chuẩn có thể tạo ra bằng cách dùng bộ lọc: (2)
Đối với các hệ thống trong công nghiệp, ngoài yêu cầu đáp ứng của hệ thống bám theo tín hiệu đặt còn có yêu cầu thứ hai không kém phần quan trọng là tối thiểu năng lượng tiêu tốn, do đó hàm mục tiêu thường dùng có dạng toàn phương như sau:
hoặc:
Thuật toán Newton tìm vector uˆ tối thiểu hàm mục tiêu (3) bằng công thức lặp:
[
uˆ (i +1) = uˆ (i ) − J ′′(uˆ (i ) )
]
−1
J ′(uˆ (i ) )
(5)
Trong đó:
J ′(uˆ ( i ) ) = −∑ 2σ kψ (t + k , uˆ ( i ) )ε ( i ) (t + k )
trong đó w(t) = y(t), r(t+k) là tín hiệu ra mong muốn của hệ thống. Bộ lọc này làm trơn tín hiệu ra mong muốn, nhờ đó làm tăng độ bền vững của hệ thống.
⎛ Hp ⎞ ⎜ ∑ σ k (w(t + k ) − yˆ (t + k ) )2 ⎟ ⎜ ⎟ J (u) = ⎜ k =1H ⎟ c ⎜ + ∑ ρ (u (t + k ) )2 ⎟ k ⎜ ⎟ = 0 k ⎝ ⎠
u (t + 1) K u (t + H C )]T ;
HP
w(t + k ) = αw(t ) + (1 − α )r (t + k ) ( k = 1, H P ; 0 < α < 1 )
[
trong đó u = u (t )
(3)
k =1
+ 2diag( ρ 0 , ρ1 , K , ρ H C )uˆ
(6)
(i )
ε (i ) (t + k ) = w(t + k ) − yˆ (i ) (t + k ) ⎡ ∂yˆ (t + k ) ⎤ ⎣ ∂u ⎥⎦ u=uˆ ( i )
ψ (t + k , uˆ (i ) ) = ⎢
(7) (8)
⎛H ⎡ψ (t + k , uˆ ( i ) )ψ T (t + k , uˆ ( i ) )⎤ ⎞ ⎜ P ⎢ ⎥⎟ (i ) 2 σ ⎟ ⎜ ˆ ∑ k ∂ + ψ ( , ) t k u ⎢− J ′′( uˆ k ) = ⎜ k =1 ε (i ) (t + k ) ⎥ ⎟ (9) ⎢⎣ ∂u ⎦⎥ ⎟ ⎜ ⎟ ⎜ + 2diag ( ρ 0 , ρ1 , K , ρ H ) C ⎠ ⎝ Thuật toán Newton hội tụ rất nhanh (số bước lặp ít), tuy nhiên thời gian cần thiết để hoàn tất một bước lặp lại khá chậm do việc tính chính xác J ′′(uˆ (i ) ) đòi hỏi rất nhiều phép tính. Thuật toán Levenberg–Marquardt có đặc tính hội tụ xấp xỉ thuật toán Newton, tuy nhiên thời gian tính mỗi bước lặp lại nhanh hơn rất nhiều do
J ′′(uˆ (i ) ) được tính gần đúng như sau:
⎛ HP ⎜ ∑ 2σ k ψ (t + k , uˆ (i ) )ψ T (t + k , uˆ (i ) ) (i ) J ′′(uˆ ) = ⎜ k =1 ⎜ + 2diag ( ρ , ρ , K , ρ ) + µ (i ) I 0 2 HC ⎝
[
]⎞⎟
trong phạm vi điều khiển k = 0, H C , tuy nhiên chỉ có
⎟ (10) ⎟ ⎠
u(t) được xuất ra để tác động lên đối tượng. Nếu chưa kết thúc điều khiển thì ở thời điểm lấy mẫu kế tiếp
Có nhiều chiến lược thay đổi hệ số µ (i ) để tăng tốc
quá trình tối ưu hóa lại tiếp tục với uˆ ( 0) (t ) chính là
độ hội tụ. Trong thuật toán điều khiển dự báo 2.1 trình
chuỗi tín hiệu điều khiển tối ưu ở thời điểm lấy mẫu trước đó.
bày dưới đây µ (i ) thay đổi theo chiến lược của Marquardt. a) Thuật toán 2.1: Cho đối tượng điều khiển có mô hình mờ yˆ (t , u) . Thuật toán điều khiển dự báo tối thiểu hàm mục tiêu (3) được tóm tắt như sau: 1. Khởi động t = 0. 2. Lọc tính hiệu chuẩn (công thức (ct.) 2). 3. Gán i = 0 , khởi động giá trị ban đầu µ ( 0) , uˆ ( 0) (t ) . 4. Tính đáp ứng dự báo yˆ (t + k , u (i ) ) , (k = 1, H P ) ; hàm mục tiêu J (uˆ (i ) ) (ct. 3). 5. Tính ε (i ) (t + k ) (ct.7); ψ (t + k , uˆ (i ) ) (ct. 8)
III. KẾT QUẢ MÔ PHỎNG Thuật toán điều khiển dự báo 2.1 được áp dụng để điều khiển hệ thống gồm hai bồn chứa nối tiếp có tiết diện ngang là A=200cm2, tiết diện van nối giữa hai bồn là a1=1cm2, tiết diện van xả là a2=0.7cm2. Chất lỏng được bơm vào bồn bằng máy bơm DC 24V có lưu lượng bơm cực đại là Qmax=18 lít/phút = 300cm3/sec (hình 2). Đây là hệ phi tuyến có trể với các phương trình toán mô tả hệ thống như sau:
(
)
1 h&1 (t ) = ku (t ) − a1 2 g (h1 (t ) − h2 (t )) A 1 h&2 (t ) = a1 2 g (h1 (t ) − h2 (t )) − a2 2 gh2 (t ) A
(
)
(k = 1, H P ) ; J ′(uˆ (i ) ) (ct. 6). 6. µ (i ) = µ (i ) / λ . 7. Tính J ′′(uˆ (i ) ) (ct.10) 8. Tính uˆ ( i + 1) (ct. 5); đáp ứng dự báo
yˆ (t + k , u ( i +1) ) , (k = 1, H P ) ; hàm mục tiêu J (uˆ (i +1) ) (ct. 3). 9. Nếu J (uˆ (i +1) ) > J (uˆ (i ) ) thì µ (i ) = λµ (i ) và trở lại bước 7. 10. Nếu đã hội tụ ( J ′(uˆ (i ) ) < 10 −6 ) thì sang bước 11. Nếu chưa hội tụ thì gán i = i+1; µ (i ) = µ (i −1) rồi trở lại bước 6. 11. Xuất tín hiệu u(t) điều khiển đối tượng 12. Nếu chưa kết thúc điều khiển thì gán t = t+1 rồi trở lại bước 2. Trong thuật toán trên, từ bước 2 đến bước 10 là vòng lặp tìm chuỗi tín hiệu điều khiển tối ưu u(t+k)
u(t)
h1(t)
h2(t)
Hình 2: Hệ thống bồn chứa nối tiếp
Mục tiêu điều khiển là giữ cho mực chất lỏng trong bồn chứa thứ hai bám theo tín hiệu đặt cho trước. Phương pháp kinh điển để điều khiển hệ thống là dùng bộ điều khiển PID, tuy nhiên do hệ bồn chứa nối tiếp là hệ phi tuyến nên bộ điều khiển PID không thể cho chất lượng điều khiển tốt tại mọi điểm làm việc (hình 3.a và 3.b). Hình 3.c là kết quả điều khiển dự báo dùng mô hình mờ Mamdani, rõ ràng chất lượng điều khiển là tương đương tại mọi điểm làm việc. Tuy vậy đáp ứng của hệ thống vẫn còn sai lệch nhỏ so với tín hiệu đặt do có sai số giữa mô hình mờ và đối tượng điều khiển. Để khắc phục khuyết điểm này chúng tôi áp dụng chiến lược điều khiển dự báo vào sơ đồ điều khiển mô hình nội (Internal Model Control), nhờ đó có thể triệt tiêu được sai lệch tĩnh do
u(t) [V]
h2(t) [cm]
sai số mô hình (hình 3.d). Kết quả mô phỏng cho thấy tín hiệu ra của hệ thống điều khiển dự báo cũng bám theo tín hiệu vào là hàm dốc, hàm sin rất tốt. 50 40 30 20 10 0
reference output
0
500
1000
1500
2000
2500
3000
500
1000 1500 Samples
2000
2500
3000
24 18 12 6 0 0
u(t) [V]
h2(t) [cm]
(a) 50 40 30 20 10 0
reference output
0
500
1000
1500
2000
2500
3000
500
1000 1500 Samples
2000
2500
3000
24 18 12 6 0 0
h2(t) [cm]
50 40 30 20 10 0
u(t) [V]
(b)
24 18 12 6 0 0
500
1000
1500
2000
2500
3000
500
1000 1500 Samples
2000
2500
3000
u(t) [V]
h2(t) [cm]
(c) 50 40 30 20 10 0
reference output
0
500
1000
1500
2000
2500
3000
500
1000
1500 Sample
2000
2500
3000
24 18 12 6 0 0
Bằng cách sử dụng mô hình mờ Mamdani và thuật toán tối ưu Levenberg–Marquardt trong bài báo này chúng tôi đã đề xuất một thuật toán khả thi để giải bài toán điều khiển dự báo hệ phi tuyến. Kết quả mô phỏng cho thấy chiến lược điều khiển dự báo trình bày ở mục 2 điều khiển rất tốt một đối tượng phi tuyến điển hình trong công nghiệp. Hiện nay với sự phát triển vượt bậc của ngành công nghệ thông tin, tốc độ tính toán của vi xử lý được cải thiện đáng kể, điều này tạo điều kiện thuận lợi cho việc áp dụng các thuật toán tìm lời giải tối ưu bằng phương pháp lặp vào các bài toán điều khiển thời gian thực. Nếu sử dụng máy tính Pentium III 400MHz, phạm vi dự báo HP = 10, phạm vi điều khiển HC = 3 thì thuật toán điều khiển dự báo đề xuất có thể áp dụng để điều khiển các quá trình biến đổi chậm có chu kỳ lấy mẫu từ T=1sec trở lên. Trong công nghiệp, đa số các quá trình đều là quá trình biến đổi chậm nên thuật toán đã trình bày hoàn toàn có thể áp dụng được trong thực tế. TÀI LIỆU THAM KHẢO
reference output
0
IV. KẾT LUẬN
(d) (a) và (b) Điều khiển PID (c) Điều khiển dự báo (d) Điều khiển dự báo mô hình nội Hình 3: Kết quả mô phỏng
[1] ESPINOSA J. J, M. L HADJILI, V. WERTZ, and J. VANDEWALLE (1999). Predictive control using fuzzy models – Comparative Study, In European Control Conference ECC’99, Karlsrube, Germany. [2] FLETCHER R. (1987) Practical Methods of Optimization, Prentice-Hall. [3] HADJILI M. L. and V. WERTZ (1999). Generalized predictive control using Takagi– Sugeno fuzzy models. Proceedings of the 1999 IEEE International Symposium on Intelligent Control / Intelligent Systems and Semiotics, Cambridge, MA, September 15–17. [4] HOÀNG H. T., N. T. LOAN, N. T. P. HÀ (2002), Fuzzy Identification of Nonlinear Systems, Proceeding of the 5th Vietnam Conference on Automation. (Vietnamese). [5] RICHALET J. (1993), Industrial application of model based predictive control, Automatica, Vol.29, pp 1252–1274. [6] ROUBOS J. A., S. MOLLOV, R. BABUSKA and H. B. VERBRUGGEN (1999). Fuzzy model-based predictive control using Takagi–Sugeno models.
International Journal of Approximate Reasoning, Vol.22, pp 3–30. [7] SOUSA J. M. (2000) Optimization Issues in Predictive Control with Fuzzy Objective Functions.
SƠ LƯỢC TÁC GIẢ NGUYỄN THÚC LOAN Sinh năm: 1940 . Tốt nghiệp ĐH Năng lượng Mat-xcơ-va năm 1963. Tốt nghiệp tiến sỹ Khoa học ngành Điều khiển học Kỹ thuật và Lý thuyết thông tin năm 1973, được phong học hàm Giáo sư năm 1984. Hiện công tác tại: Trung khoa học Tự nhiên và công nghệ Quốc gia & ĐH Bách khoa TP.HCM. Hướng nghiên cứu: Điều khiển thích nghi, Trí tuệ nhân tạo. Email:
[email protected] NGUYỄN THI PHƯƠNG HÀ Sinh ngày: 30/06/1950 tại: Thái Nguyên. Tốt nghiệp ĐH Bưu Điện Matxcơ-va năm 1973, Đại học Năng Lượng Mat-xcơ-va năm 1984 Hiện công tác tại: ĐH Bách Khoa TP.HCM. Hướng nghiên cứu: Điều khiển tối ưu, thích nghi, bền vững. Email:
[email protected]
International Journal of Intelligent Systems, Vol.15, 879–899.
Ngày nhận bài: 6/11/2002 HUỲNH THÁI HOÀNG Sinh ngày: 07/01/1974 tại An Giang. Tốt nghiệp kỹ sư Đại học Bách Khoa TP.HCM năm 1996, thạc sỹ năm 1999 ngành Tự động hóa. Hiện nay đang là nghiên cứu sinh, Đại học Bách Khoa TP.HCM . Hiện công tác tại ĐH Bách Khoa TP.HCM. Hướng nghiên cứu: Nhận dạng hệ thống, điều khiển thônh minh. Email:
[email protected]