Mô phỏng hệ thống

Một phần của tài liệu Nghiên cứu ứng dụng Learning Feed Forward trên cơ sở điều khiển thích nghi theo mô hình mẫu (Mras) điều khiển vị ytis cánh tay Robot (Trang 75 - 89)

3.2.1. Cấu trúc mô phỏng

Từ đó xây dựng được mô hình cánh tay robot 2 bậc tự do như sau:

Hình 3.2. Sơ đồ mô phỏng Robot 2 bậc tự do

Sơ đồ khối mô phỏng trong Matlab như sau:

Hình 3.3. Sơ đồ khối mô phỏng đối tượng Robot 2 bậc tự do

  M 1 S 1 S 1       M C ,    M D   M S Sgn   M G + + + + + + +    u

Luận văn thạc sĩ kỹ thuật -76- Chuyên ngành tự động hóa

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Chương trình trong M-file:

function [sys,x0] =

Robot2LPlanar(t,x,u,flag,g,m1,m2,l1,l2,q1_0,q2_0,ss1,ss2,d1,d2, J1,r1,r2)

% Model 2 link Robot Planar

% Define: q1==phi==x1;q2=l==x2 % q1c=x3; q2c =x4 switch flag, case 0, [sys,x0,str,ts]=mdlInitializeSizes(q1_0,q2_0); case 1, sys=mdlDerivatives(t,x,u,g,m1,m2,l1,l2,ss1,ss2,d1,d2,J1,r1,r2); case 2, sys=mdlUpdate(t,x,u); case 3, sys=mdlOutputs(t,x,u); case 4, sys=mdlGetTimeOfNextVarHit(t,x,u); case 9, sys=mdlTerminate(t,x,u); otherwise

error(['Unhandled flag = ',num2str(flag)]); end function [sys,x0,str,ts]=mdlInitializeSizes(q1_0,q2_0) sys=[4;0;4;2;1;0]; x0 = [q1_0;q2_0;0;0]; str = []; ts = [0 0]; %end mdlInitializeSizes function sys=mdlDerivatives(t,x,u,g,m1,m2,l1,l2,ss1,ss2,d1,d2,J1,r1,r2) % return state derivatives

c1=cos(x(1)); c2=cos(x(2));

Luận văn thạc sĩ kỹ thuật -77- Chuyên ngành tự động hóa

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

c12=cos(x(1)+x(2)); s2=sin(x(2));

s1=sin(x(1));

% Khai bao cac ma tran vao day

M=[J1/r1^2+m2*(l2^2+2*l1*l2*c2+l1^2)+l1^2*m1 l2^2*m2+2*l1*l2*m2*c2; l2^2*m2+2*l1*l2*m2*c2 J1/r2^2+m2*l2^2]; C=[-2*l1*l2*m2*s2*x(4) -l1*l2*m2*s2*x(4); l1*l2*m2*s1*x(3) 0]; D=[d1 0; 0 d2]; S=[ss1*sign(x(3)); ss2*sign(x(4))]; G=[g*m2*l2*c12+g*l1*c1*(m1+m2); g*m2*l2*c12]; %--- sys(1)=x(3); sys(2)=x(4); tempStates=inv(M)*(u-C*[x(3);x(4)]-D*[x(3);x(4)]-S-G); %?? sys(3)=tempStates(1,1); sys(4)=tempStates(2,1); % end mdlDerivatives function sys=mdlUpdate(t,x,u) sys = []; % end mdlUpdate function sys=mdlOutputs(t,x,u) sys=[x(1) x(2) x(3) x(4)]; % end mdlOutputs function sys=mdlGetTimeOfNextVarHit(t,x,u)

sampleTime = 1; % Example, set the next hit to be one second later.

sys = t + sampleTime;

% end mdlGetTimeOfNextVarHit

function sys=mdlTerminate(t,x,u)

sys = [];

Luận văn thạc sĩ kỹ thuật -78- Chuyên ngành tự động hóa

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Sơ đồ khối bộ điều khiển LFFC:

Hình 3.4. Sơ đồ khối bộ điều khiển LFFC trên cơ sở điều khiển thích nghi theo mô hình mẫu.  Referent Model PD cm bm dm am Sgn    e + + + + + + + + + - y u

Luận văn thạc sĩ kỹ thuật -79- Chuyên ngành tự động hóa (adsbygoogle = window.adsbygoogle || []).push({});

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

1. Sơ đồ khối hệ thống mô phỏng.

Hình 3.5: Sơ đồ khối mô phỏng toàn hệ thống

2. Khâu khởi tạo tín hiệu đặt(Setpoint generator)

Hình 3.6. Mô hình khâu khởi tạo tín hiệu đặt (Setpoint generator)

3. Bộ điều khiển PD

Luận văn thạc sĩ kỹ thuật -80- Chuyên ngành tự động hóa

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

4. Sơ đồ cấu trúc bộ điều khiển MRAS

Luận văn thạc sĩ kỹ thuật -81- Chuyên ngành tự động hóa

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

3.2.2.Kết quả mô phỏng

Ta có kết quả mô phỏng của 1 khâu như sau:

1. Tín hiệu đầu vào hệ thống lần lượt là: theta, theta_1dot, sgn theta_1dot, theta_2dot

Hình 3.9. Tín hiệu vào của khối LFFC

a-theta; b-theta_1dot; c-sgn theta_1dot; d-theta_2dot

a

b

c

Luận văn thạc sĩ kỹ thuật -82- Chuyên ngành tự động hóa

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

2. Sai lệch của tín hiệu vào( tín hiệu đặt ) và tín hiệu ra của hệ thống khi chỉ có bộ điều khiển PD tác động:

Hình 3.10. Đáp ứng của hệ thống khi chỉ có bộ điều khển PD tác động a- Tín hiệu đặt

b- Tín hiệu LFFC tạo ra

c- Sai lệch giữa tín hiệu vào và tín hiệu ra

3. Khi có tín hiệu LFFC bù lực ma sát coulomb - Chế độ quá độ:

a

b

Luận văn thạc sĩ kỹ thuật -83- Chuyên ngành tự động hóa

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Hình 3.11. Tín hiệu ma sát coulomb ở chế độ quá độ (adsbygoogle = window.adsbygoogle || []).push({});

a- tín hiệu lực coulomb thực b- tín hiệu lực coulomb được tạo ra

- Chế độ xác lập

Hình 3.12. Tín hiệu ma sát coulomb ở chế độ xác lập c- tín hiệu lực coulomb thực

d- tín hiệu lực coulomb được tạo ra

a

b

a

Luận văn thạc sĩ kỹ thuật -84- Chuyên ngành tự động hóa

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

- Sai lệch giữa tín hiệu vào và tín hiệu đăt khi có LFFC bù ma sát coulomb

Hình 3.13: Đáp ứng của hệ thống khi có tín hiệu LFFC bù lực Coulomb a.Tín hiệu đặt

b.Tín hiệu LFFC tạo ra

c.Sai lệch giữa tín hiệu vào và tín hiệu ra

a

b

Luận văn thạc sĩ kỹ thuật -85- Chuyên ngành tự động hóa

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

4. Khi có cả lực Viscous và ma sát Coulomb tác động: Lực Viscous thực tế và tín hiệu tạo ra

Hình 3.14. Lực Viscous thực tế và lực Viscous tạo ra a- Lực viscous thật

b- Lực viscous tạo ra

a

Luận văn thạc sĩ kỹ thuật -86- Chuyên ngành tự động hóa

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Kết quả mô phỏng khi cả lực Viscous và lực ma sát coulomb được bù:

Hình 3.15: Đáp ứng của hệ thống khi có tín hiệu LFFC bù lực Coulomb và bù lực Viscous

a.Tín hiệu đặt b.Tín hiệu LFFC tạo ra

c.Sai lệch giữa tín hiệu vào và tín hiệu ra

a

b

Luận văn thạc sĩ kỹ thuật -87- Chuyên ngành tự động hóa (adsbygoogle = window.adsbygoogle || []).push({});

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Kết luận Chƣơng 3

Từ các cơ sở lý thuết của Chương 1 và Chương 2, tác giả đã xây dựng được bộ điều khiển cho cánh tay robot 2 bậc tự do kết hợp bộ điều khiển Feedback và LFFC trên cơ sở MRAS. Kết quả điều khiển được kiểm chứng bằng mô phỏng trên phần mềm Matlab simulink.

Qua kết quả mô phỏng có các kết luận:

- Hệ thống hoạt động ổn định trong thời gian lây dài;

- Tín hiệu thực bám với tín hiệu đặt khi cho tín hiệu đặt biến đổi. Trong luận văn này giả thiết tín hiệu đặt (vị trí đặt) biến thiên theo quy luật hàm Sin. Kết quả này cũng đúng khi cho vị trí đặt bất kỳ.

- Tín hiệu bám tốt, với các nhiễu đo được tác động vào hệ thống, bộ điều khiển LFFC trên cơ sở MRAS đã tạo ra tín hiệu bù phù hợp để khử các tín hiệu nhiễu.

- Chất lượng hoạt động của hệ thống khi có LFFC tốt hơn khi chỉ sử dụng bộ điều khiển truyền thống PD. Điều này được thể hiện ở sai lệch giữa tín hiệu đặt và tín hiệu đầu ra khi chỉ sử dụng bộ điều khiển PD và bộ điều khiển có thêm LFFC.

Luận văn thạc sĩ kỹ thuật -88- Chuyên ngành tự động hóa

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN CỦA ĐỀ TÀI

Luận văn đã hoàn thành những yêu cầu đặt ra là ứng dụng Learning Feed Forword trên cơ sở điều khiển thích nghi theo mô hình mẫu (MRAS) để điều khiển vị trí cánh tay robot.

Các đóng góp chính của luận văn:

- Đã tổng hợp được các khái niệm về learning feed forward, điều khiển thích nghi theo mô hình mẫu và các ứng dụng của nó để có cái nhìn tổng quan về kết cấu, các luật học và các phương pháp ứng dụng learning feed forward trên cơ sở điều khiển thích nghi theo mô hình mẫu.

- Bằng phương pháp phân tích, tổng hợp luận văn này đã tính toán xây dựng được mô hình động học của robot 2 bâc tự do, thiết kế được bộ điều khiển, khảo sát mô phỏng cho cánh tay robot 2 bậc tự do bằng ứng dụng learning feed forward trên cơ sở điều khiển thích nghi theo mô hình mẫu. Trong luận văn đã trình bày một phương pháp thiết kế bộ điều khiển đã khử được các nhiễu phi tuyến tác động lên vị trí cánh tay robot như ma sát coloum, ma sát nhớt… qua đó đã nâng cao độ chính xác và nâng cao chất lượng bộ điều khiển điều khiển của cánh tay robot 2 bậc tự do.

Do thời gian nghiên cứu có hạn, trong khuôn khổ luận văn này mới chỉ thiết kế mô phỏng được hệ thống điều khiển. Từ kết quả mô phỏng với các tham số của bài toán có thể phát triển ứng dụng để thiết kế trên mô hình thực tế và phát triển với cánh tay robot với số bậc tự do lớn hơn.

Vì vậy luận văn này là một hướng nghiên cứu mở, có thể phát triển tiếp tục hướng nghiên cứu này ở các công trình khoa học cấp cao hơn.

Luận văn thạc sĩ kỹ thuật -89- Chuyên ngành tự động hóa

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

TÀI LIỆU THAM KHẢO

[1]. Nguyễn Doãn Phước,Phan Xuân Minh: Điều khiển tối ưu và bên vững, NXB Khoa học kĩ thuật, 1999.

[2]. W.J.R. Velthuis. Learning feed-forward control: theory, design and

application. Phd thesis, University of Twente, Enschede, the Netherlands, 2000. [3]. Amerongen, J.van; IntelligentControl (part 1)- MRAS, Lecture notes;

University of Twente, The Netherlands, March, 2004.

[4]. Amerongen, J.van; A MRAS- based Learning Feed Forward controller; University of Twente, The Netherlands, March, 2006.

[5]. Nguyễn Doãn Phước, Phan Xuân Minh, Hán Thành Trung: Lý thuyết điều khiển phi tuyến, NXB Khoa học & kỹ thuật, 2006.

[6] Karl J.Astrom & Bjorn Wittenmark; Adaptive control, Addison-Wesley Publishing Company, 1995

[7]. Amerongen, J.van; Adaptive steering of ships- a model reference approach, Automatica 20.

Một phần của tài liệu Nghiên cứu ứng dụng Learning Feed Forward trên cơ sở điều khiển thích nghi theo mô hình mẫu (Mras) điều khiển vị ytis cánh tay Robot (Trang 75 - 89)