Professional Documents
Culture Documents
Paper DE Fuzzy Identification - Nonlinear Quad Tanks - TapChi TuDongHoa Revised
Paper DE Fuzzy Identification - Nonlinear Quad Tanks - TapChi TuDongHoa Revised
net/publication/318561415
Nhận dạng hệ bồn nước đôi sử dụng mô hình fuzzy nhiều lớp kết hợp giải
thuật tối ưu tiến hóa vi sai
CITATIONS READS
0 3,906
2 authors:
All content following this page was uploaded by Cao Van Kien on 20 July 2017.
Abstract
This paper proposes a new method for identifying a forward and inverse nonlinear coupled tank system based on
the novel NARX multilayer fuzzy model optimized by differential evolution (DE) algorithm. A multilayer fuzzy
system is created by combining several MISO multilayer fuzzy models. Each MISO multilayer Fuzzy model is
implemented through several Fuzzy Takagi-Sugeno sets. Then fuzzy structures and fuzzy rules of proposed
multilayer fuzzy model were optimally trained by DE algorithm. The experiment and simulation results are
presented. It proves a promisingly scalable and simple method to successfully identify nonlinear MIMO system.
The multilayer fuzzy model can be used for predictive control in the future.
Keyworks
Identification, multilayer fuzzy, DE algorithm, double coupled tanks, nonlinear system.
Đột biến
Quá trình đột biến tạo ra các cá thể mới bằng cách
Hình 4. Hàm liên thuộc ngõ vào của mô hình Fuzzy T-S nhân thêm một hệ số giữa sự sai khác hai cá thể
trong quần thể để tạo ra cá thể mới. Trong giải biến, giải mã thì có thể thấy giải thuật DE được thực
thuật DE, quá trình này được gọi là đột biến. hiện nhanh hơn đáng kể.
Với mỗi cá thể xi ,G (target), cá thể đột biến vi ,G Trong bài báo này, giải thuật DE chỉ kết thúc khi số
(donor) được tạo ra với công thức sau: vòng lặp đạt tới giới hạn cho trước.
vi ,G 1 xr ,G f .( xr ,G xr ,G )
1 2 3
(8) Bắt đầu
Với các giá trị ngẫu nhiên r1 , r2 , r3 1, 2,..., NP . F
là một hệ số dạng số thực f [0, 2] . Hệ số f lớn
Khởi tạo
giúp giải thuật dễ thoát ra khỏi cực trị cục bộ. Tuy
nhiên hệ số f quá lớn sẽ khiến thế hệ sau khác xa
thế hệ trước. Hệ số này được chọn để phù hợp Đột biến
riêng cho từng bài toán.
Lai ghép
Lai ghép
Sau khi tạo ra các vector giá trị từ khâu đột biến,
khâu lai ghép sẽ thực hiện nhiệm vụ tạo ra tổ hợp N
các cá thể con mới ui ,G (trial) trong quần thể. Cá Chọn lọc
thể con được tạo ra bằng cách lựa chọn chính nó
xi ,G (target) hoặc với cá thể đột biến vi ,G (donor).
Giải thuật lựa chọn này có thể được mô tả như Kết thúc?
sau:
v j ,i ,G If (rand j ,i [0,1] cr)
u j ,i ,G (9) Y
x j ,i ,G otherwise
Kết thúc
Với j =1, 2…D
Hình 5. Lưu đồ giải thuật tối ưu DE
Chọn lọc
Quá trình chọn lọc quyết định cá thể nào sẽ tiếp 5. KẾT QUẢ
tục tồn tại trong thế hệ G+1 tiếp theo. Cá thể được 5.1. Thiết lập mô hình thực nghiệm
chọn xi ,G (target) sẽ so sánh chất lượng với cá thể Mô hình bồn nước liên kết bao gồm 4 bể chứa nước, 4
con sau quá trình lai ghép ui ,G (trial) cá thể có cảm biến áp suất, 2 động cơ bơm và các van tỉ lệ. Các
chất lượng cao hơn sẽ tồn tại. Quá trình chọn lọc bồn chứa nước được làm từ Mica và các giá trị thông
này có thể được mô tả như sau: số vật lý đo chính xác cho ở Bảng 1. Hình ảnh mô
hình bồn nước liên kết thực nghiệm được thể hiện qua
U i ,G If f (U i ,G ) f ( X i ,G )
X i ,G 1 (10) Hình 6
X i ,G otherwise
Kết thúc
Đây là điều kiện kết thúc vòng lặp của giải thuật
DE. Vòng lặp chỉ kết thúc khi một trong các điều
kiện sau thoả mãn
- Số vòng lặp đạt tới giới hạn được cho trước.
- Khi giá trị fitness đạt được tốt hơn hoặc bằng
giá trị mong muốn.
- Khi giá trị fitness tốt nhất không thay đổi sau
một số lần lặp cho trước. Hình 6. Mô hình bồn nước liên kết đôi thực tế
Lưu đồ giải thuật DE được thể hiện ở Hình 5. Có thể
thấy lưu đồ giải thuật tối ưu DE giống so với giải Mô hình bồn nước liên kết đôi thực nghiệm được xây
thuật GA, tuy nhiên chỉ là giống nhau về tên gọi các dựng và sử dụng card PCI-6221 nếu sử dụng với máy
khối chức năng, còn cách thực thi thì hoàn toàn khác tính bàn hoặc board Arduino Due nếu sử dụng trên
nhau. Giải thuật DE thực hiện tính toán trong 1 cá thể laptop.
chỉ có 3 phép tính chính là đột biến được thực hiện Với card PCI-6221 được sử dụng như ngoại vi của
theo phương trình (8), và 2 hàm “if”´cho giai đoạn máy tính để điều khiển động cơ bơm, đọc cảm biến và
chọn lọc và lai ghép (9), (10). Nếu so sánh với GA các tính toán được thực hiện bởi máy tính trên chương
với các phép toán mã hoá, chọn lọc, lai ghép, đột trình Matlab/Simulink. Với board Arduino, chương
trình điều khiển được tạo ra bởi Matlab, được nhúng
trực tiếp từ Matlab xuống board, board Arduino Due
đóng vai trò chính trong xử lý dữ liệu, chương trình
Matlab/Simulink đóng vai trò như màn hình, giúp
hiển thị các thông số của bồn nước được truyền lên
qua cổng UART. Quá trình tạo code, nạp xuống và
trao đổi dữ liệu được Matlab thực hiện hoàn toàn.
Chương trình được thực thi ở tốc độ 0.1 giây, và chỉ ở
giai đoạn lấy mẫu dữ liệu nên không có sự khác biệt
khi sử dụng board Arduino Due hay card PCI-6221.
Cảm biến ấp suất MPX 10 của hãng Freescale
Semiconductor có tầm đo từ 0 đến 10kPa. Trong mô
hình thực nghiệm mực nước tối đa đạt tới 30cm, lúc
này áp suất tại đáy bình là 2.942 kPa. Cảm biến áp
Hình 8. Dữ liệu đánh giá mô hình
suất có độ lợi 3.5mV/kPa, khi mực nước đạt tối đa,
ngõ ra có mức điện áp 10.297mV và 20mV offset. 5.3. Huấn luyện mô hình Fuzzy
Mức điện áp này quá nhỏ để vi điều khiển có thể đọc Sau khi thu thập dữ liệu vào ra của mô hình, giải thuật
được. Vì thế, để đọc tốt cảm biến, phải có một mạch tối ưu DE được sử dụng để huấn luyện mô hình Fuzzy
khuếch đại tín hiệu, Đối với mô hình thực nghiệm nhiều lớp. Mô hình Fuzzy nhiều lớp gồm 2 mô hình
này, mạch khuếch đại dạng "instrumentation Fuzzy nhiều lớp MISO, nên việc huấn luyện chia
amplifier" được sử dụng với độ lợi 67, cho phép cấp thành 2 lần giống như mô phỏng. Lần đầu huấn luyện
điện áp ứng với mực nước từ 0 đến 30 cm tương ứng mô hình MISO nhận dạng ngỏ ra x2, lần thứ hai nhận
từ 1.34V đến 2.029V. dạng mô hình Fuzzy nhiều lớp MISO nhận dạng ngõ
Hai động cơ bơm 24V lưu lượng 10 lít/phút được sử ra x4. Với mỗi mô hình Fuzzy nhiều lớp MISO, bao
dụng và được điều khiển điện áp để thay đổi lưu gồm 3 mô hình Fuzzy T-S 2 ngõ vào 1 ngõ ra được
lượng nước cung cấp vào bồn. chia ra thành 3 lớp, lớp đầu tiên gọi là lớp vào gồm 2
mô hình Fuzzy T-S, một mô hình nhận tín hiệu vào là
5.2. Thu thập dữ liệu vào ra x, một mô hình nhận tín hiệu vào là u, mô hình Fuzzy
Dữ liệu được thu thập với thời gian lấy mẫu 0.1 giây. T-S còn lại thuộc lớp giữa có ngõ vào là ngõ ra của 2
Dữ liệu dùng nhận dạng được thể hiện như ở Hình 7. mô hình lớp vào. Cuối cùng lớp ra là tổng của tất cả
Giá trị điện áp ngõ vào có giá trị từ 7.5V đến 15V, các các mô hình Fuzzy T-S bên trong khối. Mỗi lớp có ý
giá trị ngõ vào thay đổi theo chu kỳ 10 giây. Dữ liệu nghĩa như sau: lớp vào có nhiệm vụ mô tả sự tác động
bao gồm giá trị điện áp cấp cho động cơ bơm 1, động của ngõ vào tới ngõ ra, lớp giữa có nhiệm vụ mô tả sự
cơ bơm 2 và mực nước đo từ các bồn thứ 2 và bồn thứ tác động chéo giữa các ngõ vào, giữa các ngõ ra với
4. Dữ liệu từ cảm biến có nhiễu với phương sai lớn, ngõ vào, lớp ra là tổng hợp tất cả các đặc trưng đó lại.
khi áp dụng thực nghiệm, dữ liệu được qua một bộ lọc Ứng dụng giải thuật DE nhận dạng lần lượt các mô
Kalman để lọc nhiễu. hình MISO theo cấu trúc hồi tiếp NARX (Nonlinear
Dữ liệu dùng đánh giá mô hình thể hiện trên Hình 8. Auto-Regressive eXogenous). Mô hình đầu tiên bao
Đó là một tập dữ liệu khác tập dữ liệu dùng trong gồm 4 ngõ vào (u1[n], u2[n], x2[n-1], x2[n-2]) và một
huấn luyện, giá trị ngẫu nhiên điện áp ngõ vào từ ngõ ra (x2[n]). Mô hình thứ 2 cũng có 4 ngõ vào
7.5V đến 15V. (u1[n], u2[n], x4[n-1], x4[n-2]) và có một ngõ ra
(x4[n]).
Việc lựa chọn số lượng và thành phần ngõ vào, số
lượng mô hình Fuzzy T-S để huấn luyện mô hình phụ
thuộc nhiều vào kinh nghiệm của người thiết kế hoặc
qua thử sai, chưa có phương pháp cụ thể nào để chọn
được chính xác số lượng mô hình Fuzzy T-S trong
cấu trúc Fuzzy nhiều lớp.
Sau khi kết thúc quá trình huấn luyên, mô hình được
đánh giá với một tập dữ liệu vào ra khác hoàn toàn so
với tập dữ liệu dùng nhận dạng.
5.4. Kết quả nhận dạng mô hình bồn nước liên kết
5.4.1. Kết quả nhận dạng mô hình Fuzzy nhiều
lớp thuận
Hình 7. Dữ liệu huấn luyện mô hình Mô hình Fuzzy nhiều lớp áp dụng nhận dạng mô hình
thuận bao gồm 2 mô hình Fuzzy nhiều lớp MISO, mỗi
khối mô hình Fuzzy MISO bao gồm nhiều mô hình
Fuzzy T-S 2 ngõ vào 1 ngõ ra được huấn luyện bằng
giải thuật tiến hóa vi sai tối ưu hàm mục tiêu bình
phương sai số nhỏ nhất. Trong đó ngõ ra của mô hình
Fuzzy nhiều lớp MIMO ứng với giá trị mực nước tại 2
bồn ở vị trí thấp. Ngõ vào mô hình Fuzzy nhiều lớp
gồm các giá trị điện áp và giá trị mực nước trước đó
theo mô hình hồi tiếp NARX.
Giải thuật DE được áp dụng với các thông số sau: 200
cá thể trong quần thể, vận hành với tối đa 750 thế hệ.
Các thông số cr là hệ số lai ghép, được chọn thông
thường là 0.9, hệ số f quyết định sự khác biệt giữa các
thế hệ, f càng nhỏ thì sự thay đổi các thế hệ càng nhỏ,
đối với hệ có nhiều biến, nên chọn f nhỏ, vì vậy trong
mô hình 90 biến này hệ số f được chọn là 0.01. Kết
quả được đánh giá qua phương pháp dự đoán.
Hình 10. Kết quả đánh giá chất lượng nhận dạng ngõ ra
bồn 2
Hình 9 cho thấy kết quả của quá trình huấn luyên mô
hình Fuzzy nhiều lớp đạt giá trị hàm chi phí cuôi cùng Hình 11. Giá trị hàm chi phí qua các thế hệ
là 0.0113 với cr = 0.9, f = 0.01 đối với ngõ ra x2.
Hình 10 cho thấy đáp ứng khi đánh giá mô hình với
một tập dữ liệu khác. Kết quả cho thấy khả năng nhận
dạng của mô hình Fuzzy nhiều lớp đạt kết quả tốt khi
nhận dạng mô hình.
Hình 11 cho thấy giá trị hàm chi phí trong quá trình
huấn luyện mô hình. Giá trị hàm chi phí đạt trị tối
thiểu 0.0113 sau 625 thế hệ và giữ nguyên giá trị này
đến khi quần thể đạt tới thế hệ cuối cùng. thời gian
tính toán khoảng 45 phút để chạy hết 750 thế hệ trên
CPU core i5 - 2.5Ghz.
Tương tự như vậy, Hình 12, Hình 13 và Hình 14 cho
thấy kết quả huấn luyện, đánh giá và hàm chi phí đối
với mô hình Fuzzy dùng cho ngõ ra x4
Hình 12. Kết quả nhận dạng mô hình Fuzzy với ngõ ra x4
theo cấu trúc NARX. Mô hình MISO đầu tiên bao
gồm 4 ngõ vào (x2[n], x2[n-1], u1[n-1], u2[n-1]) và
một ngõ ra (u1[n]). Mô hình MISO thứ 2 cũng có 4
ngõ vào (x4[n], x4[n-1], u1[n-1], u2[n-1]) và có một
ngõ ra (u2[n]). Kết quả được đánh giá bằng phương
pháp dự báo.
Giải thuật DE áp dụng cho nhận dạng mô hình ngược
được chạy tối đa 1000 thế hệ, 200 cá thể trong quần
thể, cr = 0.9, f = 0.1;
Hình 15 cho thấy kết quả huấn luyện của mô hình
Fuzzy nhiều lớp nhận dạng mô hình ngược với ngõ ra
là điện áp cấp cho động cơ bơm 1. Kết quả cho thấy
khi huấn luyện sai số lớn nhất không vượt quá 0.1V
Hình 16 cho thấy kết quả đánh giá của mô hình Fuzzy
nhiều lớp nhận dạng mô hình ngược với ngõ ra là điện
Hình 13. Kết quả đánh giá mô hình Fuzzy với ngõ ra x4 áp cấp cho động cơ bơm 1. Kết quả đánh giá sử dụng
một tập dữ liệu vào ra khác hoàn toàn so với tập dữ
Hình 13 cho thấy kết quả đánh giá với một tập dữ liệu
liệu dùng nhận dạng. Kết quả cho thấy khi đánh giá,
khác trên cùng một mô hình Fuzzy nhiều lớp được
sai số lớn nhất vẫn không quá 0.1V
huấn luyên trước đó cho ngõ ra x4. Ở mẫu thứ 800,
ngõ ra của mô hình nhận dạng không đạt được giá trị
giống như mô hình thật, do quá trình nhận dạng, độ
cao tôi đa của mô hình nhận dạng không có trường
hợp này, cho nên mô hình huấn luyện không thể đạt
tới được. Để khắc phục tình trạng này, tập dữ liệu
nhận dạng phải đủ lớn bao quát được tất cả các tình
huống và trường hợp.
Hình 14 cho thấy giá trị hàm chi phí được tối thiểu
hóa trong quá trình nhận dạng. Giá trị hàm cuối cùng
đạt được là 0.0127 sau 750 thế hệ.
Hình 15. Kết quả huấn luyện mô hình Fuzzy ngõ ra là điện
áp bơm
Hình 14. Giá trị hàm chi phí khi huấn luyện mô hình Fuzzy
cho ngõ ra x4
Hình 17 cho thấy giá trị hàm chi phí khi huấn luyện
mô hình Fuzzy nhiều lớp cho ngõ ra u1 giảm xuống
dưới 10-2 rất nhanh chỉ sau 500 thế hệ huấn luyện.
Hình 20. Giá trị hàm chi phí qua các thế hệ huấn luyện mô
hình Fuzzy nhiều lớp cho ngõ ra u2
Hình 18. Kết quả huấn luyện mô hình Fuzzy ngõ ra là điện
áp bơm 2
6. KẾT LUẬN
Bài báo đề xuất mô hình Fuzzy nhiều lớp MIMO ứng
Hình 18, Hình 19 và Hình 20 thể hiện kết quả nhận dụng trong nhận dạng mô hình bồn nước liên kết đôi
dạng, đánh giá và hàm fitness đối với mô hình ngược gồm 2 mô hình Fuzzy nhiều lớp MISO. Mỗi mô hình
cho ngõ ra u2. Hình 18 cho thấy kết quả huấn luyện MISO được cấu thành từ nhiều mô hình Fuzzy T-S 2
của mô hình Fuzzy nhiều lớp nhận dạng mô hình ngõ vào 1 ngõ ra. Các thông số của mô hình Fuzzy
ngược với ngõ ra là điện áp cấp cho động cơ bơm 2, được tối ưu bằng giải thuật tiến hoá vi sai DE qua
Hình 19 là kết quả đánh giá mô hình với một tập dữ hàm chỉ tiêu chất lượng bình phương sai số nhỏ nhất.
liệu khác. Kết quả cho thấy khi huấn luyện và khi Từ những kết quả thực nghiệm trên cho thấy mô hình
đánh giá sai số lớn nhất không vượt quá 0.12V . Fuzzy nhiều lớp sử dụng trong nhận dạng mô hình phi
Hình 20 cho thấy giá trị hàm chi phí khi huấn luyện tuyến MIMO cho kết quả tốt. Kết quả đánh giá mô
mô hình Fuzzy nhiều lớp cho ngõ ra u2 hội tụ giảm hình đạt kết quả chính xác và bền vững nhờ vào cấu
xuống 10-2 rất nhanh chưa tới 100 thế hệ. trúc hồi tiếp NARX. Kết quả chứng minh mô hình
Kết quả ở đây còn cho thấy sự khác biệt khi chọn Fuzzy nhiều lớp tuy khá đơn giản nhưng có thể nhận
f=0.01 và f=0.1 trong nhận dạng mô hình thuận và dạng hiệu quả các mô hình phi tuyến MIMO phức tạp.
mô hình ngược. Với f=0.01 trong nhận dạng mô hình Mô hình Fuzzy nhiều lớp với các thông số ít hơn mô
thuận, hàm chi phí có độ mịn hơn so với f=0.1 ở nhận hình Fuzzy truyền thống cho kết quả tính toán nhanh,
dạng mô hình ngược. Tuy nhiên đối với nhận dạng có thể ứng dụng vào các giải thuật điều khiển dựa vào
mô hình thuận, khi f=0.1 thì kết quả huấn luyện mô mô hình, điều khiển dự báo, và ứng dụng vào các hệ
hình thuận không đạt vì các giá trị tham số thay đổi thống thực tế.
lớn dẫn tới mất khả năng hội tụ.
ACKNOWLEDGMENT Springer International Publishing, pp. 432–449,
This research is funded by Vietnam National 2016.
Foundation for Science and Technology Development [10] T. Chen, Q. Shen, P. Su, and C. Shang, “Fuzzy
(NAFOSTED) under grant number 107.01-2015.23 rule weight modification with particle swarm
and by Vietnam National University Ho Chi Minh optimisation,” Soft Computing, vol. 20, no. 8,
City (VNU-HCM) under grant number B2016-20-03. pp. 2923–2937, 2016.
[11] V. Jeyalakshmi and P. Subburaj, “PSO-scaled
TÀI LIỆU THAM KHẢO fuzzy logic to load frequency control in
[1] J. Espinosa, J. Vanderwalle, and V. Wertz, Fuzzy hydrothermal power system,” Soft Computing,
logic, identification and predictive control. 2004. vol. 20, no. 7, pp. 2577–2594, 2016.
[2] N. N. Son and H. P. H. Anh, “Adaptive MIMO [12] J. Vieira, F. M. Dias, and A. Mota, “Neuro-fuzzy
neural network model optimized by differential systems: a survey,” in 5th WSEAS NNA
evolution algorithm for manipulator kinematic International Conference, 2004.
system identification,” in 2014 International [13] C.-T. Lin and C. Lee, “Neural fuzzy systems: a
Conference on Automatic Control Theory and neuro-fuzzy synergism to intelligent systems.”
Application (ACTA- 14). Atlantis Press, 2014. Prentice-Hall, Inc., 1996.
[3] H. P. H. Anh and K. K. Ahn, “Identification of [14] K.-Y. Tu, T.-T. Lee, and W.-J. Wang, “Design
pneumatic artificial muscle manipulators by a of a multi-layer fuzzy logic controller for multi-
MGA-based nonlinear NARX fuzzy model,” input multi-output systems,” Fuzzy Sets and
Mechatronics, vol. 19, pp. 106–133, 2009. Systems, vol. 111, 2000.
[4] O. Nelles, Nonlinear system identification: from [15] Quanser, “Coupled tanks.”
classical approaches to neural networks and http://www.quanser.com/products/coupled_tanks
fuzzy models. Springer Science & Business [16] Kachitvichyanukul, Voratas. "Comparison of
Media, 2013. three evolutionary algorithms: GA, PSO, and
[5] Y. J. Liu, Y. Gao, S. Tong, and Y. Li, “Fuzzy DE." Industrial Engineering and Management
approximation-based adaptive backstepping Systems, Vol. 11, No. 3, pp. 215-223, 2012.
optimal control for a class of nonlinear discrete- [17] Rania Hassan, Babak Cohanim, Olivier de
time systems with dead-zone,” IEEE Weck, and Gerhard Venter. "A Comparison of
Transactions on Fuzzy Systems, vol. 24, pp. 16– Particle Swarm Optimization and the Genetic
28, Feb 2016. Algorithm", 46th AIAA/ ASME/ ASCE/ AHS/
[6] R. Storn and K. Price, “Differential evolution–a ASC Structures, Structural Dynamics and
simple and efficient heuristic for global Materials Conference, Structures, Structural
optimization over continuous spaces,” Journal of Dynamics, and Materials and Co-located
global optimization, vol. 11, no. 4, pp. 341–359, Conferences, http://dx.doi.org/10.2514/6.2005-
1997. 1897.
[7] T. Takagi and M. Sugeno, “Fuzzy identification [18] Panduro, Marco A., et al. "A comparison of
of systems and its applications to modeling and genetic algorithms, particle swarm optimization
control,” IEEE Transactions on Systems Man and the differential evolution method for the
and Cybernetics, vol. SMC-15, 01 1985. design of scannable circular antenna arrays."
[8] J. Mendes, R. Araújo, and F. Souza, “Adaptive Progress In Electromagnetics Research B Vol.13
fuzzy identification and predictive control for pp.171-186, 2009
industrial processes,” Expert Systems with
Applications, vol. 40, no. 17, pp. 6964–6975,
2013.
[9] K. Łapa, K. Cpałka, and P. Koprinkova-
Hristova, “New Method for Fuzzy Nonlinear
Modelling Based on Genetic Programming,”