Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 80 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
80
Dung lượng
2,7 MB
Nội dung
Tóm Tắt Luận Văn Hệ thống lắc ngược hệ thống không ổn định, phi tuyến mức cao Nó sử dụng mô hình phổ biến cho ứng dụng kỹ thuật điều khiển tuyến tính phi tuyến Mô hình lắc dùng để kiểm chứng lại thuật toán điều khiển điều khiển PID, mạng nơron, đồng thời lý thuyết nhận dạng dùng để ước lượng lại mô hình toán học hệ thống Trong mô hình nhận dạng hệ thống tuyến tính ARX, ARMAX, BOXJENKINS, OE mô hình ARX nhận dạng tốt Đối hệ thống phi tuyến mạng nơron truyền thẳng nhiều lớp dùng để nhận dạng với sai số nhỏ Mạng nơron truyền thẳng nhiều lớp huấn luyện theo luật học có giám sát Với kiểu điều khiển giám sát, điều khiển mạng nơron truyền thẳng huấn luyện để mô theo điều khiển hệ thống Bộ điều khiển mạng nơron truyền thẳng hoạt động giống điều khiển hệ thống thích nghi có thông số thay đổi xảy Kết thực nghiệm cho thấy việc nhận dạng hệ thống thực mạng nơron truyền thẳng cho sai số nhỏ Cả hai điều khiển PID hai biến mạng nơron truyền thẳng có khả ổn định lắc tốt Khi thông số hệ thống thực thay đổi điều khiển mạng nơron truyền thẳng cho đáp ứng tốt so với điều khiển PID hai biến Mục Lục Trang tựa Trang Quyết Định Giao Đề Tài Lý Lịch Khoa Học Danh Sách Các Chữ Viết Tắt PID: Proportional Integral Derivative PWM: Pulse-Width Modulation SIMO: Single Input Multi Outputs DSP: Digital Signal Processing PCI: Peripheral Component Interconnect QEP: Quadrature Encoder Pulse Danh Sách Các Hình Danh Sách Các Bảng Tổng quan Chương Tổng Quan 1.1 Đặt vấn đề Một mô hình phổ biến dùng để khảo sát lý thuyết điều khiển hầu hết trường đại học giới mô hình lắc ngược Sau tham khảo qua nhiều nguồn thông tin khác nhau, thời điểm mô hình lắc ngược có phiên chế tạo phục vụ cho công việc nghiên cứu là: - Mô hình xe lắc ngược (Pendulum- Cart System) ( Hình 1.1): Hình 1.1 Mô hình xe lắc ngược Về tổng quan, hệ xe lắc ngược bao gồm lắc chuyển động tự gắn xe thông qua khớp xoay, xe di chuyển dễ dàng dọc theo ray Vị trí xe điều khiển động DC truyền động qua dây curoa Ngõ hệ thống vị trí xe góc lệch lắc hồi tiếp điều khiển Ưu điểm: Dễ thiết kế phần khí, việc dây tín hiệu cảm biến đọc góc lắc tới mạch điều khiển đơn giản Nhược điểm: Bị giới hạn không gian di chuyển xe, kết cấu phức tạp chiếm không gian Tổng quan - Mô hình lắc ngược quay ( Rotary Inverted Pendulum ) ( Hình 1.2): Hình 1.2 Mô hình lắc ngược quay Về tổng quan, lắc ngược dạng quay bao gồm khung cố định dùng để gắn động Con lắc điều khiển cánh tay thông qua khớp xoay gắn với trục động Ưu điểm: Dễ thiết kế, không bị giới hạn không gian chuyển động cánh tay nằm ngang, nhỏ gọn chiếm không gian Nhược điểm: Các dây tín hiệu hệ thống dây phức tạp việc xác định đối trọng để cân hai đầu cánh tay đòn khó Như vậy, thực phép so sánh lựa chọn mô hình để thiết kế thấy việc thiết kế hệ lắc ngược quay đơn giản nhờ giảm bớt số chi tiết công tắc hành trình, dây curoa, ray, xe chở lắc Và từ đó, việc thiết kế phần điện hệ thống đơn giản Đó lý lý giải cho việc lựa chọn phiên “Mô hình Con lắc ngược quay” để điều khiển luận văn Hệ thống lắc ngược hệ thống không ổn định, phi tuyến mức cao Nó sử dụng mô hình phổ biến cho ứng dụng kỹ thuật điều khiển tuyến tính phi tuyến Hệ thống vấn đề điều khiển cổ điển áp dụng nhiều thực tế đặc tính động học lắc gần giống với trình vật lý trình phóng tên lửa hoạt động cần cẩu chuyển động Nhờ tính Tổng quan động học đó, mô hình lắc nhà nghiên cứu sử dụng mô hình chuẩn để thử nghiệm thuật toán điều khiển điều khiển PID, tuyến tính hoá, mạng nơron, logic mờ Đối với phương pháp điều khiển cổ điển PID đòi hỏi phải biết rõ mô hình toán học đối tượng thành phần bất định chúng Mặt khác muốn điều khiển xác đối tượng chưa biết rõ thông số, trước tiên phải hiểu rõ đối tượng Đối với đối tượng phi tuyến lắc ngược cần phải thực nhận dạng đặc tính vào để đảm bảo tạo tín hiệu điều khiển thích nghi Hiện mạng nơron truyền thẳng thường sử để nhận dạng điều khiển thích nghi hệ thống phi tuyến Lợi mạng truyền thẳng có thay đổi xảy ra, mạng truyền thẳng thích nghi với thông số trì kiểm soát trình mà điều khiển khác không làm Từ lý với gợi ý lựa chọn đề tài thầy TS Ngô Văn Thuyên Vì đề tài lựa chọn “Điều khiển nhận dạng lắc ngược” Trong luận văn card DSP F2812 sử dụng để thiết kế, nhận dạng điều khiển lắc ngược 1.2 Tổng quan chung lĩnh vực nghiên cứu Những vấn đề quan tâm lĩnh vực điều khiển tự động việc điều khiển giữ cho lắc cân Việc sử dụng điều khiển để giữ cho lắc đứng yên vị trí cân vấn đề quan trọng Hiện có nhiều nhà nghiên cứu sử dụng thuật toán điều khiển khác để điều khiển hệ thống lắc ngược thuật toán điều khiển PID, điều khiển trượt điều khiển logic mờ Fuzzy thu số thành công đáng kể như: Theo hướng nghiên cứu nhóm MA BT [4] thiết kế điều khiển Logic mờ (Fuzzy) để điều khiển ổn định hệ thống lắc ngược Kết đáp ứng hệ Tổng quan thống sử dụng điều khiển Fuzzy hiệu điều khiển PID Tuy nhiên điều khiển mờ hoạt động chủ yếu phụ thuộc vào kinh nghiệm phương pháp rút kết luận theo tư người, sau cài đặt vào máy tính dựa sở logic mờ Theo hướng nghiên cứu MAK [5] sử dụng điều khiển trượt để điều khiển lắc ngược quay Kết nghiên cứu tác giả xác định hai mặt trượt theo định nghĩa đắn hàm Lyapunov, kết hợp hai mặt trượt để điều khiển lắc ổn định Tuy nhiên phương pháp điều khiển trượt việc tìm kiếm bề mặt trượt hệ thống không dễ dàng Theo hướng nghiên cứu nhóm ANKN, RMTRI, MAA [6] thiết kế điều khiển trượt điều khiển PID để điều khiển cho lắc ngược Mục tiêu báo so sánh chất lượng đáp ứng hệ thống sử dụng hai điều khiển để điều khiển ổn định cho lắc ngược Cả hai điều khiển mô môi trường Simulink Matlab cho thấy có khả điều khiển thành công mô hình lắc Kết cho thấy sử dụng điều khiển trượt cho đáp ứng tốt so với điều khiển PID Tuy nhiên, sử dụng hai điều khiển để điều khiển lắc vị trí góc lệch lắc tương đối lớn Hầu hết điều khiển dựa hoạt động xung quanh điểm Các điều khiển thất bại có thay đổi xảy Do vấn đề đặt cần phải có điều khiển thích nghi Hiện mạng nơron sử dụng mạng truyền thẳng để nhận dạng hệ thống thông qua số lần huấn luyện định, mạng nơron truyền thẳng cho đáp ứng gần giống hệ thống thật, sau dùng mạng nơron truyền thẳng để thiết kế điều khiển Ưu điểm mạng nơron truyền thẳng cho đáp ứng tốt đối với hệ thống phi tuyến lắc ngược, việc sử dụng mạng nơron truyền thẳng việc tạo nhiều ngõ vào dễ dàng Tổng quan Một ứng dụng kinh điển mạng truyền thẳng toán nhận dạng mẫu, mẫu tập hợp tham số biểu thị thuộc tính trình vật lý Nhiều công trình nghiên cứu, nhiều ứng dụng thực nghiệm thực mạng truyền thẳng với mục đích nhận dạng thu nhiều thành công to lớn Để điều khiển hệ thống mạng nơron truyền thẳng phải thu thập liệu vào từ điều khiển, liệu huấn luyện để mô theo điều khiển Sau huấn luyện xong, thay điều khiển hệ thống điều khiển nơron mạng truyền thẳng để điều khiển hệ thống Ưu điểm điều khiển mạng nơron truyền thẳng thông số hệ thống thay đổi điều khiển thích nghi tốt để điều khiển hệ thống ổn định Từ ưu điểm đó, điều khiển PID hai biến sử dụng DSP tiến thành thiết kế để điều khiển ổn định lắc Khi hệ thống ổn định tiến hành nhận dạng hệ thống điều khiển lắc ngược mạng nơron truyền thẳng 1.3 Mục tiêu giới hạn đề tài Mục tiêu đề tài điều khiển nhận dạng lắc ngược Trong đó, mục tiêu cụ thể xây dựng mô hình toán học hệ thống lắc ngược, sử dụng Simulink Matlab mô hệ thống lắc tuyến tính phi tuyến, nhận dạng hệ thống lắc tuyến tính mô hình ARX, ARMAX, BOX-JENKINS, OE nhận dạng hệ thống lắc phi tuyến dùng mạng nơron truyền thẳng Thiết kế thi công hệ thống lắc ngược, lấy tín hiệu vào thông qua card DSP-F2812 giao tiếp hệ thống thực máy tính để điều khiển nhận dạng hệ thống lắc ngược PID hai biến mạng truyềng thẳng Giới hạn đề tài thiết kế điều khiển mô hình lắc ngược quay làm việc ổn định quanh điểm cân bẳng chưa xây dựng giải thuật điều khiển Swingup cho hệ thống lắc 10 Kết luận hướng phát triển đề tài Chương Kết Luận Và Hướng Phát Triển Của Đề Tài 6.1 Kết luận Mục đích nghiên cứu luận văn điều khiển nhận dạng lắc ngược Để nhận dạng mô hình trước tiên phải thiết lập mô hình lắc dựa theo phương trình toán học Do hệ thống lắc ngược hệ thống vòng hở không ổn định nên sử dụng phương pháp nhận dạng vòng hở Vì vậy, phương pháp nhận dạng vòng kín mô hình hệ thống với điều khiển PID sử dụng để điều khiển ổn định cân lắc Dựa vào liệu vào mô hình, nhận dạng hệ thống tuyến tính hệ thống phi tuyến tiến hành Trong phương pháp nhận dạng tuyến tính phương pháp nhận dạng ARX tốt phương pháp ARMAX, BOXJENKINS, OE trình bày Bảng Kết cho thấy đáp ứng ngõ mô hình ARX ngõ hệ thống có sai số nhỏ Trong phương pháp nhận dạng phi tuyến mạng nơron truyền thẳng sử dụng Kết mô cho thấy tín hiệu ngõ mô hình ngõ mạng nơron truyền thẳng bám với tốt với sai số nhỏ thể bảng bảng Để thiết kế điều khiển nơron giữ cho lắc ổn định điều khiển mạng nơron truyền thẳng dùng để điều khiển hệ thống lắc ngược Kết đáp ứng từ mô cho thấy mạng nơron truyền thẳng điều khiển ổn định lắc ngược tốt chí thay đổi khối lượng lắc hệ thống thích nghi để điều khiển ổn định lắc Từ kết mô đạt bên trên, hệ thống thực tiến hành khảo sát đạt kết sau: - Thiết kế thành công phần khí với chi tiết phức tạp 66 Kết luận hướng phát triển đề tài - Thiết kế thành công phần mạch điện điều khiển phù hợp với DSP Mạch điện gồm có điều khiển động PWM, đọc xung từ encorder, giao tiếp RS232 nguồn cung cấp cho DSP Tuy nhiên, vấn đề ảnh hưởng nhiễu chưa hạn chế - nhiều Thiết kế thành công điều khiển PID hai biến giữ cân lắc ổn định Tuy nhiên sai số từ Encoder thuật toán xử lý tín hiệu Encoder chưa tốt nên tín hiệu hồi tiếp có phần sai lệch làm cho lắc ngược ổn định tác động lực mạnh - Nhận dạng mô hình lắc ngược mạng nơron truyền thẳng hệ thống thực - Nhận dạng điều khiển PID hai biến cho kết sai số ngõ PID ngõ mạng nơron truyền thẳng tương đối nhỏ - Điều khiển ổn định hệ thống lắc điều khiển mạng nơron truyền thẳng khối lượng lắc thay đổi 6.2 Hướng phát triển đề tài Đề tài ‘Điều khiển nhận dạng lắc ngược’ phát triển thêm sau: - Dùng mạng nơron để lắc tự huấn luyện tìm ba thông số Kp, Ki, Kd tối ưu - Xây dựng giải thuật Swing-up cho hệ thống lắc - Ứng dụng mạng nơron theo luật học không giám sát để điều khiển ổn định hệ thống lắc 67 Tài Liệu Tham Khảo [1] Paritala, M.K.a.S., Simulink of inverted pendulum using neural networks for identification [2] Nghĩa, P.T.D.H., Điều khiển lắc ngược sử dụng mạng nơron [3] Callinan, T., Artificial Neural Network Identification and control of the inverted pendulum August 2003 [4] Tyaki, M.A.a.B., Design of Fuzzy logic controller for nonlinear model of inverted pendulum - cart system December 17-19,2008 [5] Khanesar, M.A., Sliding Mode Control of Rotary Inverted Pendulm Tehran, Iran, July 27-29,2007 [6] A.N.K Nasir, R.M.T Raja, M.A Ahmad, Performance Comparison between Sliding Mode Control and PD-PID Controllers for a Nonlinear Inverted Pendulm System [7] Dục, P.H.Đ, Mạng nơron ứng dụng điều khiển tự động Hà Nội 2009 [8] Ljung, L, System Identification-Theory for the user Prentice Hall [9] Billings, S.A, Introduction to nonlinear system analysis and identification Springer-Verlag, Berlin [10] Nguyễn Văn Minh, Mạng nơron giải thuật Back Propagation [11] TS Nguyễn Văn Hiền & TS Lại Khắc Lãi, Hệ mờ nơron kỹ thuật điều khiển, Trường ĐH Kỹ Thuật Công Nghiệp [12] Nechyba and Xu, (1994), “Neural network approach to control system identification with variable activation functions”, Robotics Institute, CarnegieMellon University [13] Guez, A, Selinsky,J., “A trainable neuromorphic controller, Journal of robotic systems”, Vol 5, No.4, pp 363-388, 1988 [14] Davalo, Naim Neural Networks, Macmillan 68 [15] Hunt and Sbarbaro, “Neural Networks for Control System - A Survey”, Automatica, Vol 28, 1992, pp 1083-1112 [16] Neural Network Toolbox Users Guide, October 1998, The Mathworks Inc [17] Pham and Liu, Neural Networks for Identification, Prediction and Control, Springer [18] Narendra K.S., Parthasarathy K., “Identification an control of dynamical systems using neural networks, IEEE transactions on neural networks”, Vol.1, No.1, pp 4-27 [19] Billings, S.A., “Introduction to nonlinear system analysis and identification” In K Godfrey and P Jones, Signal Processing for control, Springer-Verlag, Berlin [20] Hunt and Sbarbaro, “Neural Networks for Control System - A Survey”, Automatica, Vol 28, 1992, pp 1083-1112 69 Phụ Lục Thiết lập mô hình toán học lắc ngược quay Giả sử trọng lực lắc đặt điểm B , điểm B thực chuyển động quay so với điểm A với vận tốc: • • x AB = − L.cos(α ).α • • y AB = − L.sin(α ).α (2.1) Đồng thời với chuyển động quay quanh điểm A lắc thực chuyển động quay quanh điểm O • với vận tốc r θ Do vậy, vận tốc điểm B so với điểm O cố định mô tả phương trình: • • • xB = r.θ − L.cos(α ).α • • y B = − L.sin(α ).α (2.2) Lấy vi phân vế phương trình hệ (2.2) ta được: • •• •• •• xB = r.θ + L.sin(α ).α − L.cos(α ).α •• • •• y = − L.cos(α ).α − L.sin(α ).α B (2.3) Áp dụng định luật II Newton theo phương x phương y Hình 2.3 mô tả phân tích lực tác dụng lên cánh tay lắc: •• m xB = ∑ Fx → •• m y B = ∑ Fy → • •• •• m.r θ + m.L.sin(α ).α − m.L.cos(α ).α = Ax • (2.4) •• − m.L.cos(α ).α − m.L.sin(α ).α + mg = Ay (2.5) Áp dụng phương trình Euler cho chuyển động quay lắc quanh điểm B ta phương trình (2.6): 70 •• J B α = ∑ M B → → − •• m.(2 L) α = Ax L.cos(α ) + Ay L.sin(α ) 12 •• m.L2 α = Ax L.cos(α ) + Ay L.sin(α ) (2.6) Phương trình chuyển động quay cánh tay quanh điểm O: •• •• J O θ = ∑ M O → • J eq θ = TL − Beq θ − Ax r (2.7) Thay (2.4),(2.5) vào (2.6) ta được: • •• •• •• m.L2 α = [ m.r.θ + m.L sin(α ).α − m.L cos(α ).α ].L cos(α ) + • •• [ m.g − m.L.cos(α ).α − m.L sin(α ).α ].L.sin(α ) •• − m.L.r.cos(α ).θ + → •• m.L2 α − m.g.L sin(α ) = (2.8) Thay (2.4) vào (2.7): •• •• • • •• •• J O θ = ∑ M O → J eq θ = TL − Beq θ − [m r θ + m.L.sin(α ).α − m.L.cos(α ).α ].r → •• • •• • ( J eq + m.r ).θ − m.L.r.cos(α ).α + m.L.r.sin(α ).α = TL − Beq θ •• •• TL = Tm − J m θ = µm K M I m − J m θ = µ m K M Với: •• Vm − K E θ − J m θ Rm (2.9) (2.10) Thế (2.9) vào (2.10) •• •• • → ( J eq + mr + J m ).θ − m.L.r.cos(α ).α + m.L.r.sin(α ).α + + ( Beq + µm K M V KE • ).θ = µ m K M m Rm Rm (2.11) Hệ phương trình mô tả đặc tính động phi tuyến hệ thống: • •• • •• θ = [b.cos(α ).α − b.sin(α ).α − e.θ + f Vm ] a •• •• α = [ d sin(α ) + b.cos(α ).θ ] c 71 4.m.L2 d = m.g l K f = µm M Rm a = J eq + mr + J m c= b = m.L.r e = ( Beq + µ m K M Với góc α KE ) Rm • nhỏ (α ≈ 0, α ≈ → sin(α ) ≈ α , cos(α ) = 1) , tuyến tính hóa hệ (2.12): •• • •• θ = ( b α − e θ + f Vm ) a •• •• α = (d α + b.θ ) c 72 Các mô hình nhận dạng tuyến tính Các sơ đồ nguyên lý mạch điện hệ thống thực Mạch giao tiếp Encorder với ngõ QEP DSP 73 74 5V Mạch cách ly phần điều khiển phần động lực 3k 14 5V 5V GND_3,3V 220 2 PWM1 0.1u + 6N137 14 U16B 5V U16A th2 4k7 7 330 5V 14 HEF4001B 3k3 PC817 220 DIR blue U16C 4k7 th1 10 GND_3,3V 24VDC Mạch động lực điều khiển động 24V 100 1 12V + IN VB SD HO COM LO Vs Vcc 1N4007 + 4,7u + 2 470u 470u + 470u 4,7u 5V 1K IRF3205 1 yellow + th2 IRF3205 100 1 1 thuan Vs Vcc nghich LO + COM IR2184 1K HO green SD 1N4007 VB 4,7u 5V IN 4,7u 1 IRF3205 100 IR2184 th1 1 + IRF3205 12V 100 Mạch giao tiếp SCI COMMUNICATION _ SCI 0.1uF 16 RXD TXD 14 13 15 V- C 2- G N D 5V_DSP 0.1uF V+ C 2+ C 1- VC C C 1+ T2O U T T1O U T R IN R IN R 2O U T R 1O U T T1 IN T2 IN 12 11 10 0.1uF 0.1uF RXD_DSP TXD_DSP M AX 3232 75 Các đoạn mã code chương trình Code Matlab điều khiển mạng nơron u1 = ngovao1.signals.values'; u2 = ngovao2.signals.values'; u3 = ngovao3.signals.values'; u4 = ngovao4.signals.values'; y = ngora.signals.values'; net = newff([minmax(u1);minmax(u2);minmax(u3);minmax(u4)],[21 1],{'tansig' 'purelin'},'trainlm'); net.trainParam.epochs = 1000; net.trainParam.lr = 0.001; net.trainParam.goal = 1e-1; net = train(net,[u1; u2; u3; u4],y); %net = train(net,[u1; u3],y); gensim(net,0.001) Code Matlab nhận dạng hệ thống tuyến tính theo mô hình ARX % Nhan dang lac phi tuyen bang phuong phap tuyen tinh u = ngovao; y = ngora; % Chia tap du lieu hai phan: % data1: phan du lieu nhan dang % data2: phan du lieu kiem tra n = floor(length(u)/2); ui = u(1:n); yi = y(1:n); ut = u(n:length(u)); yt = y(n:length(y)); Ts = 0.001; % Dung mo hinh ARX z1 = [yi ui]; %z2 = [yt ut]; nn = [4 1]; th = arx(z1,nn); [yh,fit1] = compare(z1,th); [num,den] = th2tf(th); arx431 = tf(num,den,Ts); figure(1); 76 compare(z1,th); Code Matlab nhận dạng hệ thống phi tuyến mạng truyền thẳng % Nhan dang lac phi tuyen bang phuong phap phi tuyen vao u1 = ngovao.signals.values; y = ngora.signals.values; y1 = ngora1.signals.values; net = newff([minmax(u1')],[40 2],{'tansig' 'purelin'},'trainlm'); net.trainParam.epochs = 100; net.trainParam.lr = 0.001; net = train(net,u1',[y';y1']); gensim(net,0.001) Code lập trình xác định góc so với phương thẳng đứng long int a,b; if ((u0[0]>0)&&(u0[0]4096)&&(u0[0]8192)&&(u0[0]=61439)&&(u0[0]57343)&&(u0[0]53247)&&(u0[0]-30)&&(e0)&&(PID=100) P_WM = 1; rev=0; elseif ((PID >-100)&&(PID