2. 4 Huấn luyện mạng kín
3.3. Thiết kế bộ điều khiển PI cho hệ thống nâng từ thực
3.3.1. Sơ đồ hệ thống điều khiển sử dụng bộ điều khiển PI
Hệ thống điều khiển thời gian thực được thực hiện trong Simulink/Matlab. Hệ thống bao gồm các khối: cài đặt arduino, khối thời gian thực, khối đọc tín hiệu từ encorder về, khối đưa tín hiệu ra điều khiển điện áp cuộn dây, khối PI và các khối khuếch đại khác.
Bộ điều khiển PI được thiết kế dựa trên cơ sở tiến hành thử nghiệm nhiều lần: đầu tiên là lựa chọn tham số cho luật P, sau đó là luật Ị Lúc đầu chọn tham số của luật P và I rất nhỏ, sau đó tăng dần cho tới khi hệ thống đạt được chất lượng tốt nhất có thể.
Việc điều khiển thời gian thực sử dụng Simulink rất thuận tiện. Chúng ta chỉ việc kết nối các khối với nhau, cài đặt tham số cho các khối và chạy chương trình điều khiển là được. Sơ đồ hệ thống điều khiển được thể hiện trong hình 3.5.
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnụedụvn
Hình 3.5: Sơ đồ bộ điều khiển PI điều khiển hệ thống nâng từ thực trong Matlab
3.3.2. Kết quả điều khiển sử dụng bộ điều khiển PI
Với sơ đồ bộ điều khiển PI điều khiển hệ thống nâng từ thực trong matlab như hình 3.5, ta thu được kết quả như sau:
Đường màu xanh là vị trí của lõi, đường màu đỏ là giá trị đặt. Tại một số thời điểm cụ thể, sau khi hệ thống đạt giá trị xác lập, chúng tôi tác động vào phần lõi, làm cho nó chuyển dịch ra khỏi vị trí xác lập, sau đó thôi không tác động nữạ Kết quả là phần lõi vẫn chuyển động về vị trí mong muốn.
Hình 3.6: Kết quả điều khiển PI
* Nhận xét:
Theo như kết quả ta thấy đường màu đỏ ứng với giá trị đặt bằng 1, đường màu xanh biểu diễn giá trị điều khiển hệ thống nâng từ thực sử dụng bộ điều khiển PỊ Trong quá trình điều khiển bằng PI thì số lần dao động khá nhiều và sau thời gian 8 giây hệ thống mới đạt trạng thái cân bằng.
3.4. Kết luận
Trong chương ba, chúng tôi đã chế tạo hệ thống nâng từ thực, trong quá trình chế tạo do cảm biến đo khoảng cách, vị trí giá thành cao nên chúng tôi sử dụng cánh tay đòn thay cho cảm biến để giảm thiểu chi phí trong quá trình chế tạo nhưng vẫn đảm bảo được yêu cầu mà bài toán đề rạ Mục đích của bài toán là điều khiển hệ thống nâng từ sao cho phần động của hệ thống được giữ
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnụedụvn
điều khiển PI và tiến hành điều khiển thời gian thực. Kết quả cho thấy hệ làm việc ổn định xung quanh điểm làm việc, tuy nhiên quá trình quá độ còn có dao động lớn và thời gian xác lập dàị Các kết quả này được sử dụng là cơ sở để so sánh chất lượng của bộ điều khiển nơ-ron ở phần chương saụ
Trong chương tiếp theo chúng tôi sẽ ứng dụng mạng nơ-ron nhận dạng và điều khiển hệ thống nâng từ thực.
CHƢƠNG IV
ỨNG DỤNG MẠNG NƠ-RON NHẬN DẠNG VÀ ĐIỀU KHIỂN HỆ THỐNG NÂNG TỪ
Trong chương này, chúng tôi sẽ ứng dụng mạng nơ-ron vào nhận dạng và điều khiển hệ thống nâng từ thực được chế tạo như ở phần chương 3.
Để nhận dạng được đối tượng bằng mạng nơ-ron chúng ta cần có một tập mẫu để huấn luyện mạng. Chúng tôi sử dụng hệ vi xử lý arduino 328 để kết nối giữa máy tính và hệ thống nâng từ. Card arduino này sẽ thu thập giá trị khoảng cách giữa thanh nam châm và nam châm điện , đồng thời phát tín hiệu điện áp đưa ra để điều khiển hệ thống nâng từ. Bộ dữ liệu mẫu sẽ được lưu lại trong một tệp dạng *.mat.
Chúng tôi sẽ phát một tín hiệu điện áp có độ dài 20 giây và chu kỳ lấy mẫu là 0,01 giâỵ
4.1. Ứng dụng mạng nơ ron nhận dạng và điều khiển hệ thống nâng từ thực thực
Để nhận dạng hệ thống nâng từ thực, chúng tôi chọn mạng nơ ron có cấu trúc như hình 4.4 với 6 nơ ron ở lớp thứ nhất. Quá trình huấn luyện mạng có 2 giai đoạn:
Giai đoạn thứ nhất huấn luyện vòng hở. Ở giai đoạn này mạng nơ ron sẽ bị cắt đường phản hồi từ đầu ra của mạng trở về lớp 1. Đầu vào thứ 2 của mạng lúc này sẽ là tín hiệu ra mẫụ
Giai đoạn thứ 2 sẽ huấn luyện mạng kín. Sau khi huấn luyện mạng hở sẽ nối đầu ra của mạng hở với đầu vào thứ 2 của mạng sẽ được mạng kín. Để huấn luyện mạng kín chúng tôi sẽ chia tập dữ liệu mẫu ban đầu (có độ dài là N mẫu) thành các chuỗi nhỏ, mỗi chuỗi có độ dài là C mẫụ Đầu tiên chúng tôi sẽ huấn luyện mạng với các chuỗi có độ dài là C = 4, nếu thành công sẽ tăng lên thành C = 5, cứ tiếp tục cho đến khi C = N.
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnụedụvn
4.1.1. Huấn luyện mạng hở
Khi huấn luyện mạng hở thì cấu trúc mạng có dạng như hình 4.1
Hình 4.1: Cấu trúc mạng hở nhận dạng đối tượng
Sau khi huấn luyện mạng nơ-ron với số lớp 1 là n=6, ta thu được các kết quả như hình vẽ 4.2 và 4.3. Trong đó, Network Output, Target và Error lần lượt là đầu ra mạng hở, tín hiệu ra mẫu và sai số giữa đầu ra mạng và tín hiệu ra mẫụ MSE là sai lệch bình phương trung bình.
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnụedụvn
4.1.2. Huấn luyện mạng kín
Sau khi huấn luyện mạng hở, chúng ta sẽ thu được các bộ trọng số của mạng hở. Các giá trị này được sử dụng như là các giá trị ban đầu cho mạng kín. Mạng kín có cấu trúc như hình 4.4.
Hình 4.4. Cấu trúc mạng kín nhận dạng đối tượng Sau khi huấn luyện mạng kín ta thu được các kết quả như sau:
Hình 4.5. Đầu ra mạng, đầu ra mẫu và sai số.
Hình 4.6. MSE của mạng kín.
4.1.3. Nhận xét
- Sau khi huấn luyện mạng nơ-ron ta nhận thấy đầu ra của mạng nơ-ron bám theo đầu ra của tín hiệu mẫụ
- Chúng tôi sẽ sử dụng mạng nơ-ron này để huấn luyện mạng nơ-ron cho bộ điều khiển ở phần saụ
4.2. Ứng dụng mạng nơ-ron điều khiển hệ thống nâng từ thực
Chúng tôi sẽ dùng một mạng nơ-ron làm bộ điều khiển hệ thống nâng từ thực theo mô hình mẫụ Mô hình mẫu được chọn là một hệ thống động học tuyến tính bậc hai như trong chương 2, đã được trình bày ở mục 2.4.
4.2.1. Huấn luyện mạng hở
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnụedụvn
Hình 4.7. Cấu trúc mạng bộ điều khiển đối tượng (mạng hở)
Ở hình 4.7 cấu trúc mạng hở gồm 4 lớp, trong đó 2 lớp đầu là của bộ điều khiển, 2 lớp sau là mạng nơ-ron của đối tượng đã được huấn luyện ở phần 4.1.2.
Trong đó:
- W: là ma trận trọng số - b: là véc tơ bias
- 6: Là số nơ ron của lớp 1 (lớp 3)
- Khối : trễ 1 và 2 nhịp – nếu đầu vào khối này là thì đầu ra
sẽ là và .
1:2
Hình 4.8. Đầu ra mạng, đầu ra mẫu và sai số.
Network Output: Đường màu đỏ là đầu ra của mạng đối tượng. Target: Đường màu xanh là đầu ra mẫu
Error: là sai số
Trong hình 4.8 nhận thấy rằng đầu ra của mạng đối tượng bám được theo đầu ra của tín hiệu mẫụ
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnụedụvn
Hình 4.9. MSE của mạng hở.
MSE là sai lệch bình quân phương MSE là sai lệch bình phương trung bình: 2 1 1 (y t ) N k k k MSE N
Với yk là đầu ra của mạng tương ứng với đầu vào mẫu thứ k và tklà đầu ra mẫu tương ứng với đầu vào mẫu thứ k. Trong hình 4.9 sau 7 lần học thì sai lệch giảm dần.
4.2.2. Huấn luyện mạng kín
Sau khi huấn luyện mạng kín ta thu được kết quả như hình 4.11 và hình 4.12.
Hình 4.10. Cấu trúc mạng bộ điều khiển đối tượng (mạng kín)
Mạng kín này có 4 lớp, trong đó hai lớp đầu là bộ điều khiển và 2 lớp sau là mạng nơ-ron của đối tượng đã được huấn luyện ở phần 4.1.2. Trong quá trình huấn luyện mạng này chỉ có mạng của bộ điều khiển (hai lớp đầu) được cập nhật, còn hai lớp sau là được giữ cố định.
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnụedụvn
Trong hình 4.11, Network output: đường màu đỏ là tín hiệu ra của mạng đối tượng, Target: đường màu xanh là tín hiệu ra mẫụ Ta nhận thấy là tín hiệu ra của mạng đối tượng bám theo tín hiệu ra mẫụ Error: là sai số.
Hình 4.12. MSE của mạng kín.
MSE là sai lệch bình quân phương MSE là sai lệch bình phương trung bình: 2 1 1 (y t ) N k k k MSE N
Với yk là đầu ra của mạng tương ứng với đầu vào mẫu thứ k và tklà đầu ra mẫu tương ứng với đầu vào mẫu thứ k. Trong hình 4.12 sau 2 lần học thì sai lệch giảm dần.
4.2.3. Nhận xét
- Tín hiệu ra của mạng nơ-ron đối tượng bám được theo tín hiệu ra của mô hình mẫụ Có một số điểm bị sai số lớn do tại thời điểm đó thay đổi các giá trị đặt.
- Ta nhận thấy rằng khi nhận dạng và điều khiển hệ thống nâng từ cho mô hình toán và hệ thống nâng từ thực thì tín hiệu ra của đối tượng trong hai trường hợp này đều bám được theo tín hiệu ra của mô hình mẫụ
So sánh kết quả điều khiển thực khi sử dụng mạng nơ-ron và bộ điều khiển PI:
Từ các kết quả điều khiển thực hệ thống nâng từ trong 2 trường hợp sử dụng bộ điều khiển nơ-ron và bộ điều khiển PI ta thấy: hệ thống nâng từ sử dụng bộ điều khiển nơ-ron có số lần dao động ít hơn, tín hiệu ra của đối tượng bám theo tín hiệu ra của mô hình mẫu, sai số trong quá trình huấn luyện chỉ ở một số điểm là do thay đổi giá trị đặt. Như vậy, bộ điều khiển nơ-ron có nhiều ưu điểm hơn so với bộ điều khiển PỊ
4.4. Kết luận
Chương 4 đã giải quyết được một số vấn đề sau:
- Ứng dụng mạng nơ-ron để nhận dạng và điều khiển hệ thống nâng từ thực. So sánh kết quả huấn luyện được với kết quả huấn luyện khi dùng mô hình toán là tín hiệu ra của mạng nơ-ron đối tượng bám được theo tín hiệu ra của mô hình mẫụ
- So sánh kết quả thực khi điều khiển bằng PI và điều khiển bằng mạng nơ-ron.
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnụedụvn
- Trong Chương I và chương II, giới thiệu về hệ thống nâng từ và cơ sở lý thuyết về mạng nơ-ron.
- Trong Chương III thiết kế và chế tạo thử nghiệm mô hình hệ thống nâng từ. Thiết kế bộ điều khiển PI và tiến hành điều khiển thời gian thực.
- Trong Chương IV, tác giả đã nhận dạng được mô hình hệ thống nâng từ bằng mạng nơ-ron. Thiết kế bộ điều khiển nơ-ron theo mô hình mẫu cho hệ thống nâng từ. Thiết kế bộ điều khiển nơ ron điều khiển thực cho hệ thống nâng từ thực. So sánh kết quả điều khiển khi dùng PI và mạng nơ ron. Kết quả điều khiển thời gian thực của bộ điều khiển nơ-ron và PI cho thấy: hệ thống làm việc ổn định trong trường hợp có nhiễu và không có nhiễu, bộ điều khiển nơ-ron cho chất lượng tốt hơn so với bộ điều khiển PI trong trường hợp nàỵ
Kiến nghị:
- Thực hiện điều khiển hệ thống nâng từ theo phương khác.
- Ứng dụng mạng nơ-ron điều khiển hệ thống nâng từ 2 chiều và 3 chiềụ - Sử dụng cảm biến đo vị trí có độ chính xác cao hơn.
- Cài đặt mạng nơ-ron cho card arduinọ
- Xác định các thông số của mô hình toán (2.1) cho hệ thống nâng từ thực.
TÀI LIỆU THAM KHẢO
Tiếng Việt :
[1]. TS Nguyễn Như Hiển và TS Lại Khắc Lãi (2007), Hệ mờ và nơron trong kỹ thuật điều khiển, NXB Khoa học tự nhiên và công nghệ Hà Nộị
[2]. Nguyễn Phùng Quang, Matlab Simulink, NXB Khoa học và Kỹ thuật, Hà Nội, 2006.
[3]. Nguyễn Doãn Phước, Phân tích và điều khiển hệ phi tuyến, NXB Bách khoa, 2012.
[4]. Nguyễn Doãn Phước, Lý thuyết điều khiển tuyến tính, NXB KH&KT, 2007.
[5]. Nguyễn Doãn Phước, Lý thuyết điều khiển nâng cao, NXB KH&KT, 2007.
[6]. Nguyễn Doãn Phước và Phan Xuân Minh, Lý thuyết điều khiển phi tuyến, NXB KH&KT, 2003.
[7]. Nguyễn Chí Ngôn, Phạm Thanh Tùng và Dương Hoài Nghĩa, Điều khiển trượt dùng mạng nơron hệ nâng vật bằng từ trường, Tạp chí khoa học 2011: 17b 140-147.
Tiếng Anh:
[8]. Demuth H., M. Beale, M. Hagan, 2010. Neural Network Toolbox™ User’s Guide, The MathWorks, Inc.
[9]. H. W. Lee, K. C. Kim and J. Lee, “Review of maglev train technologies”, IEEE Transactionson Magnetics, Vol. 42, Issue 7 , July 2006.
[10]. C. T. Lin and C. P. Jou, “GA-Based Fuzzy Reinforcement Learning for Control of a MagneticBearing System,” IEEE Trans. On Systems, Man, And Cybernetics – Part B: Cybernetics, Vol. 30, Nọ 2,April 2000.
[11]. Z. J. Yang, M. T, “Adaptive robust nonlinear control of a magnetic levitation system”, Automatica 37, 2001.
[12]. Ạ Ẹ Hajjaji and M. Ouladsine, “Modeling and Nonlinear Control of
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnụedụvn
[13]. Ị M. M. Hassan and Ạ M. Mohamed, “Variable Structure Control of a Magnetic Levitation System”, Proceedingsof the American Control Conference Arlington, VA June 25-27,2001.
[14]. Z. J. Yang, K. Miyazaki, S. Kanae and K. Wada, „Robust PositionControl of a Magnetic Levitation System via Dynamic Surface Control Technique,‟ IEEE Trans. On Industrial Electronics, Vol. 51,Nọ 1, February 2004. [15]. Z. J. Yang, K. Kunitoshi, S. Kanae, and K. Wada, “Adaptive Robust Output-Feedback Control ofa Magnetic Levitation System by K-Filter
Approach,” IEEE IEEE Trans. On Industrial Electronics, Vol. 55,Nọ 1, January 2008.
[16]. P. Jain and M. J. Nigam, “Comparative analysis of MIT Rule and
aifferential evolution on magnetic levitation system,” International Journal of Electronics and Electrical Engineering Vol. 3, Nọ 2, April, 2015.
[17] Martin T. H., Howard B. D. and Orlando D. J., “An introduction to the use
of neuralnetworksincontrol systems,”Int. J. Robust Nonlinear Control 2002.
[18]. http://en.m.wikipediạorg/wiki/Magnetic_levitation
Phụ lục 1: Chƣơng trình huấn luyện nhận dạng mô hình hệ thống nâng từ thực trong Matlab (mạng hở) load mau net=narxnet(1:2,1:2,6); view(net); net.trainFcn='trainlm'; net.performFcn='msé; net.trainParam.goal=1e-5; net.trainParam.epochs=1000; net.trainParam.min_grad=1e-10; net.trainParam.time=inf; net.trainParam.sigma=5e-5; net.trainParam.lambda=5e-10; net.trainParam.max_fail=10000; x=num2cell(R1'); t=num2cell(T1'); [xs,xi,ai,ts]=preparets(net,x,{},t); [net,tr]=train(net,xs,ts,xi,ai); y=net(xs,xi,ai); y=cell2mat(y); figure(1) n=length(xs); ti=1:n; t1=cell2mat(ts); subplot(2,1,1) plot(ti,y,'r',ti,t1,'b')
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnụedụvn grid on subplot(2,1,2) plot(ti,y-t1,'r') grid on legend('Error') figure(2) plot(tr.perf) grid on title('MSÉ) mse_end=min(tr.perf) save thao_1 net
Phụ lục 2: Chƣơng trình huấn luyện nhận dạng mô hình hệ thống nâng từ thực trong Matlab (mạng kín) load mau load thao_1 net = closeloop(net); view(net) C = 3; N = 3997; netc = cell(1,N); perfc = cell(1,N); figu = cell(2,N); d = 1; m = length('T1'); for i =1:N C = C + 1; net1 = net; k = floor(rand*m/C); download by : skknchat@gmail.com
if k == 0 k = 1; end net1.trainFcn = 'trainlm'; net1.performFcn = 'msé; net1.trainParam.goal = 0; net1.trainParam.epochs = 1000; net1.trainParam.min_grad = 1e-15; net1.trainParam.time = inf; net1.trainParam.sigma = 5e-5; net1.trainParam.lambda = 5e-7; net1.trainParam.max_fail = 10000; [x,xr] = batch_data01(C,R1',k,d); [t,rt] = batch_data01(C,T1',k,d); net1 = configure(net1,x,t); [xs,xi,ai,ts] = preparets(net1,x,{},t); [net1,tr] = train(net1,xs,ts,xi,ai); net = net1; netc{1,i} = net; perfc{1,i} = tr.perf; end figure(1) plot(perfc{1,end}) grid on title('MSÉ) mse_end = min(perfc{1,end}) [xs,xi,ai,ts]=preparets(net,xr,{},rt); y = net(xs,xi,ai);
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnụedụvn y = cell2mat(y); figure(2) n = length(xs); ti = 1:n; t1 = cell2mat(ts); subplot(2,1,1) plot(ti,y,'r',ti,t1,'b') legend('Network Output','Target') grid on subplot(2,1,2)