LỜI NÓI ĐẦU Trong sự nghiệp công nghiệp hóa, hiện đại hóa đất nước vấn đề tự động hóa có vai trò đặc biệt quan trọng. Nhằm nâng cao năng suất dây chuyền công nghệ, nâng cao chất lượng và khả năng cạnh tranh của sản phẩm, cải thiện điều kiện lao động, nâng cao năng suất lao động đặt ra là hệ thống sản xuất phải có tính linh hoạt cao. Robot công nghiệp, đặc biệt là những tay máy robot là bô phận quan trọng để tạo ra những hệ thống đó. Tay máy Robot đã có mặt trong quá trình sản xuất từ nhiều năm trước, ngày nay tay máy Robot đã dùng ở nhiều lĩnh vực sản xuất, xuất phát từ những ưu điểm mà tay máy Robot đó và đúc kết lại trong quá trình sản xuất làm việc, tay máy có những tính năng mà con người không thể có được, khả năng làm việc ổn định, có thể làm việc trong môi trường độc hại…Do đó việc đầu tư nghiên cứu, chế tạo ra những loại tay máy Robot phục vụ cho công cuộc tự động hóa sản xuất là rất cần thiết cho hiện tại và tương lai. Đồ án thiết kế cơ khí tử giúp chúng em bước đầu làm quen với những vấn đề cốt lõi và cơ bản nhất về robot, giúp cho sinh viên có thể hệ thống hóa lại các kiến thức của môn học như: Lí thuyết điều khiển tử động, Robotics, Robot công nghiệp, Tính toán thiết kế Robot, Động lực học hệ nhiều vật, …Đồng thời giúp cho sinh viên làm quen với công việc thiết kế và làm đồ án tốt nghiệp sau này. Cuối cùng em xin chân thành cảm ơn thầy Trần Ích Thịnh đã hướng dẫn cho em trong suốt quá trình thực hiện đề tài này.
M c c LỜI NÓI ĐẦU CHƢƠNG 1:GIỚI THIỆU VỀ ROBOT CÔNG NGHIỆP CHƢƠNG 2:GIỚI THIỆU CHUNG VỀ PHẦN MỀM MATLAB 2.1 Giới thiệu MATLAB 2.2 Giới thiệu số toolbox MATLAB đƣợc sử dụng đồ án CHƢƠNG 3:THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN CHO ROBOT CÔNG NGHIỆP 3.1 Thiết lập bảng thông số DH (Denavit-Hartenberg) 3.2 Tìm ma trận biến đổi tọa độ i 1 Ti , i = 1, 2, 3.3 Sử dụng MATLAB để xác định lời giải 0T3 cho toán động học thuận dƣới dạng ký hiệu (là hàm i ) 10 3.4 Kiểm nghiệm lại toàn kết cách sử dụng Corke Robotics Toolbox 13 3.5 Tìm lời giải toán động học ngƣợc cho robot 16 3.6 Chƣơng trình MATLAB để giải toán động học ngƣợc cho robot phẳng 19 3.7 Kiểm tra lại toàn kết cách sử dụng Corke Matlab Robotics Toolbox Sử dụng hàm ikine() 21 3.8 Chƣơng trình MATLAB để tính ma trận Jacobian mơ thuật tốn điều khiển điều tốc (resolved-rate control) robot phẳng 3R 23 3.9 Giải toán động lực học ngƣợc 32 3.10 Giải toán động lực học thuận 38 KẾT LUẬN 43 TÀI LIỆU THAM KHẢO 44 LỜI NĨI ĐẦU Trong nghiệp cơng nghiệp hóa, đại hóa đất nước vấn đề tự động hóa có vai trò đặc biệt quan trọng Nhằm nâng cao suất dây chuyền công nghệ, nâng cao chất ượng khả cạnh tranh sản phẩm, cải thiện điều kiện ao động, nâng cao suất ao động đặt hệ thống sản xuất phải có tính linh hoạt cao Robot cơng nghiệp, đặc biệt tay máy robot bô phận quan trọng để tạo hệ thống Tay máy Robot có mặt q trình sản xuất từ nhiều năm trước, ngày tay máy Robot dùng nhiều ĩnh vực sản xuất, xuất phát từ ưu điểm mà tay máy Robot đúc kết lại q trình sản xuất làm việc, tay máy có tính mà người khơng thể có được, khả àm việc ổn định, làm việc mơi trường độc hại…Do việc đầu tư nghiên cứu, chế tạo loại tay máy Robot ph c v cho cơng tự động hóa sản xuất cần thiết cho tương Đồ án thiết kế khí tử giúp chúng em bước đầu làm quen với vấn đề cốt õi robot, giúp cho sinh viên hệ thống hóa lại kiến thức mơn học như: Lí thuyết điều khiển tử động, Robotics, Robot cơng nghiệp, Tính tốn thiết kế Robot, Động lực học hệ nhiều vật, …Đồng thời giúp cho sinh viên làm quen với công việc thiết kế àm đồ án tốt nghiệp sau Cuối em xin chân thành cảm ơn thầy Trần Ích Thịnh hướng dẫn cho em suốt trình thực đề tài Hà Nội, ngày 02, tháng 6, năm 2017 Sinh viên thực Tiến Nguyễn Đức Tiến CHƢƠNG GIỚI THIỆU VỀ ROBOT CÔNG NGHIỆP 1.1 Sự đời Robot cơng nghiệp 1: Hình ảnh Robot cơng nghiệp Thuật ngữ “Robot” xuất phát từ tiếng CH Séc (Czech) “Robota” có nghĩa cơng việc tạp dịch kịch Rossum‟s Universa Robots Kare Capek, vào năm 1921 Trong kịch này, Rossum trai ông ta chế tạo máy gần giống với người để ph c v người Có ẽ gợi ý ban đầu cho nhà sáng chế kỹ thuật cấu, máy móc bắt chước hoạt động bắp người Về mặt kỹ thuật, robot công nghiệp ngày nay, có nguồn gốc từ hai ĩnh vực kỹ thuật đời sớm cấu điều khiển từ xa (Te eoperators) máy công c điều khiển số (NC - Numerica y Contro ed machine too ) Có thể nói, Robot tổ hợp khả hoạt động inh hoạt cấu điều khiển từ xa với mức độ “tri thức” ngày phong phú hệ thống điều khiển theo chương trình số kỹ thuật chế tạo cảm biến, cơng nghệ ập trình phát triển trí khơn nhân tạo, hệ chun gia… Trong năm sau này, việc nâng cao tính hoạt động robot không ngừng phát triển Các robot trang bị thêm oại cảm biến khác để nhận biết môi trường chung quanh, với thành tựu to ớn ĩnh vực Tin học - Điện tử tạo hệ robot với nhiều tính đăc biệt, Số ượng robot ngày gia tăng, giá thành ngày giảm Nhờ vậy, robot công nghiệp có vị trí quan trọng dây chuyền sản xuất đại Ngày chuyên ngành khoa học robot “robotics” trở thành ĩnh vực rộng khoa học, bao gồm vấn đề cấu trúc cấu động học, động ực học, ập trình quỹ đạo, cảm biến tín hiệu, điều khiển chuyển động 1.2 Ứng dụng Robot công nghiệp sản xuất Từ đời robot công nghiệp áp d ng nhiều ĩnh vực góc độ thay sức người Nhờ dây chuyền sản xuất tổ chức ại, suất hiệu sản xuất tăng ên rõ rệt M c tiêu ứng d ng robot cơng nghiệp nhằm góp phần nâng cao suất dây chuyền công nghệ, giảm giá thành, nâng cao chất ượng khả cạnh tranh sản phẩm đồng thời cải thiện điều kiện ao động Đạt m c tiêu nhờ vào khả to ớn robot : àm việc mệt mỏi, dễ dàng chuyển nghề cách thành thạo, chịu phóng xạ mơi trường àm việc độc hại, nhiệt độ cao, “cảm thấy” từ trường “nghe” siêu âm Ngày xuất nhiều dây chuyền sản xuất tự động gồm máy CNC với Robot công nghiệp, dây chuyền đạt mức tự động hố cao, mức độ inh hoạt cao Ở máy robot điều khiển hệ thống chương trình CHƢƠNG GIỚI THIỆU CHUNG VỀ PHẦN MỀM MATLAB 2.1 Giới thiệu MATLAB MATLAB phần mềm dùng để tính tốn tốn kỹ thuật, viết ngôn ngữ C hãng Math Works Inc sản xuất Nó tạo sở phần mềm nhà lập trình dự án LINPACK EISPACK viết ngôn ngữ Fortran dùng cho việc thực phép tính thao tác ma trận Tên phần mềm MATLAB chữ viết tắt „Matrix Laboratory‟ có nghĩa „phương pháp ma trận‟ Đến thực hành sử d ng phần mềm ta thấy phần tử MATLAB ma trận Phần mềm MATLAB liên t c bổ sung hoàn thiện Các ứng d ng điển hình MATLAB: - Tốn học tính tốn - Phát triển thuật tốn - Tạo mơ hình, mơ giao thức - Khảo sát, phân tích số liệu - Đồ họa khoa học kỹ thuật - Phát triển ứng d ng, gồm giao diện người dùng đồ họa GUI - Thiết kế hệ thống điều khiển thời gian thực Về mặt cấu trúc, MATLAB gồm cửa sổ nhiều hàm viết sẵn khác Các hàm ĩnh vực ứng d ng xếp chung vào thư viện, điều giúp ta sử d ng dễ dàng tìm hàm cần quan tâm Matlab cung cấp cho ta phương pháp theo hướng chuyên d ng hóa gọi Toolbox (hộp cơng c ) Các Too box cho phép người sử d ng học áp d ng kỹ thuật chuyên d ng cho ĩnh vực Too box tập hợp toàn diện hàm MATLAB (M5 file) cho phép mở rộng môi trường MATLAB để giải lớp tốn c thể Các ĩnh vực có sẵn Toolbox bao gồm: xử lý tín hiệu, hệ thống điều khiển, mạng noron, mô phỏng… Hệ thống Matlab gồm có phần chính: - Ngơn ngữ Matlab: ngôn ngữ ma trận, mảng cấp cao với câu lệnh, hàm, cấu trúc liệu vào/ra, tính ập trình đối tượng Nó cho phép lập trình ứng d ng từ nhỏ đến ứng d ng lớn, từ ứng d ng đơn giản đến phức tạp - Môi trường làm việc Mat ab: công c phương tiện mà bạn sử d ng với tư cách người dùng người lập trình Matlab Nó bao gồm phương tiện cho việc quản lý biến không gian làm việc Workspace xuất nhập liệu Nó bao gồm công c để phát triển quản lý, gỡ rối định hình M – file - Xử ý đồ họa: hệ thống đồ họa Matlab Nó bao gồm lệnh cao cấp cho trực quan hóa liệu hai chiều ba chiều, xử lý ảnh, ảnh động,… Nó cung cấp lệnh cấp thấp cho phép bạn tùy biến giao diện đồ họa xây dựng giao diện đồ họa hoàn chỉnh cho ứng d ng Matlab - Thư viện tốn học Mat ab: thuật tốn khổng lồ thuật tốn tính toán từ hàm cộng, trừ, nhân, chia, sin, cos, số học phức…tới hàm phức tạp như: nghịch đảo, ma trận, tìm giá trị riêng ma trận, phép biến đổi fourier nhanh - Giao diện chương trình ứng d ng Matlab API ( Application Program Interface): thư viện cho phép ta viết chương trình C Fortran tương thích với Matlab 2.2 Giới thiệu số toolbox MATLAB đƣợc sử dụng đồ án 2.2.1 Corke Matlab Robotics Toolbox Corke Matlab Robotics Toolbox toolbox miễn phí viết Peter Corke bao gồm hàm giúp tính tốn vẽ mơ hình robot 3D cách nhanh chóng Toolbox cơng c hữu ích cho việc tính tốn với robot như: động học, động lực học, thiết kế quỹ đạo… đặc biệt tính mơ phân tích kết từ thí nghiệm ảo robot Công c dựa nguyên tắc robot động học (kinematics) động lực học (dynamics) Các thông số đóng gói thành hàm m-file MATLAB Khi thiết kế robot, người dùng thiết kế chúng giao diện chuyên robot khác Easy Rob, So idworks, RobotStudio… sau nhúng chúng vào mơi trường MATLAB để mô điều khiển chuyển động theo ý muốn 2.2.2 Symbolic Math Toolbox Symbo ic Math Too box too box để kết hợp tính tốn chữ vào mơi trường MATLAB, bổ sung tiện ích số đồ thị với kiểu tính tốn tốn học khác Symbo ic Math Too box định nghĩa kiểu liệu MATLAB gọi đối tượng Symbolic Một đối tượng Symbolic cấu trúc liệu ưu trữ đại diện kiểu sâu ký tự biểu tượng (Symbol) Symbolic Math Toolbox sử d ng đối tượng Symbolic để biểu diễn biến, biểu thức ma trận symbolic Trong Symbolic Math Toolbox cung cấp thư viện hàm để vẽ đồ thị, giải phương trình đại số, tích phân, vi phân, đơn giản hóa, điều khiển biểu thức symbolic Động lực tính tốn nằm toolbox nhân Maple, hệ thống tính tốn phát triển trường đại học Water oo, Canada sau Eidgenroessiche Technische Hochschule Zurich, Th y Sĩ Map e thương mại hóa hỗ trợ cơng ty Waterloo Maple CHƢƠNG THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN CHO ROBOT CÔNG NGHIỆP 3: Thiết lập hệ tọa độ cho robot 2: Cánh tay robot phẳng RRR 3.1 Thiết lập bảng thông số DH (Denavit-Hartenberg) Khâu i di i 1 L1 2 L2 3 L3 Trong đó: - khoảng dịch chuyển tr c khớp kề - i góc quay quanh tr c zi-1 để tr c xi-1 chuyển đến tr c xi theo quy tắc bàn tay phải - di dịch chuyển tịnh tiến hai đường vng góc chung tr c - αi góc lệch tr c khớp động liền kề, góc quay quanh tr c xi cho tr c zi-1 chuyển đến tr c zi theo quy tắc bàn tay phải 3.2 Tìm ma trận biến đổi tọa độ Ma trận biến đổi tọa độ i 1 Ti , i = 1, 2, i 1 Ti cho phép biểu diễn quan hệ tọa độ điểm hai hệ tọa độ i i-1 Ma trận biến đổi tọa độ Denavit – Hartenberg có dạng là: cos i cos(i ) sin(i ) sin( ) cos( ) sin i i i i 1 Ti sin( i ) cos( i ) di 0 Áp d ng công thức vào cánh tay robot phẳng RRR ta có: cos(1 ) sin(1 ) sin( ) cos( ) 1 T1 0 0 L1 cos 1 L1 sin 1 cos(3 ) sin(3 ) sin( ) cos( ) 3 T3 0 0 L3 cos 3 L3 sin 3 cos( ) sin( ) sin( ) cos( ) 2 T2 0 T3 0T1.1T2 2T3 L2 cos L2 sin cos(1 3 ) sin(1 3 ) sin(1 3 ) cos(1 3 ) T3 0 0 L2 cos 1 L1 cos(1 ) L3 cos(1 3 ) L2 sin 1 L1 sin(1 ) L3 sin(1 3 ) 3.3 Sử dụng MATLAB để xác định lời giải 0T3 cho toán động học thuận dƣới dạng ký hiệu (là hàm i ) Để xác định 0T3 ta phải sử d ng biến sym cho biến góc khớp i , khơng thiết phải sử d ng thư viện Corke Robotics việc rút gọn trở nên dễ dàng dạng kết phù hợp để tính tốn sau nên ta khai báo thư viện Kết thu là: 10 13: Đồ thị định thức ma trận Jacobian với thời gian - Các mô men xoắn khớp T = {1 2 3}T với thời gian: 30 14: Đồ thị mô men xoắn khớp với thời gian 3.8.2 Kiểm tra kết ma trận Jacobian tập hợp góc khớp ban đầu kết thúc cách sử dụng Corke Matlab Robotics Toolbox Dùng hàm jacob0() % - Kiem nghiem b L(1) = Link([0 0]); L(2) = Link([0 0]); L(3) = Link([0 0]); rob = SerialLink(L); disp('Ma tran Jacobi voi goc khop ban dau :') j0 = rob.jacob0([q1(1) q2(1) q3(1)],'trans') + rob.jacob0([q1(1) q2(1) q3(1)],'rot') disp('Ma tran Jacobi voi goc khop ket thuc :') j0 = rob.jacob0([q1(51) q2(51) q3(51)],'trans') + rob.jacob0([q1(51) q2(51) q3(51)],'rot') Để kiểm tra kết ta thêm đoạn code sau vào phần code phần (3.8.1) Kết ta thu là: 31 3.9 Giải toán động lực học ngƣợc Cho biết khối ượng mơ men qn tính khâu sau: m1 = 30, m2 = 20, m3 = 15 (kg), C I ZZ1 0,5 , C I ZZ 0,2 , C I ZZ 0,1 (kgm2) Giả sử trọng tâm (center of gravity) khâu tâm hình học trọng lực tác động ngược hướng tr c Y mặt phẳng chuyển động Bỏ qua động lực học phận khởi động hệ thống truyền động khớp 3.9.1 Chƣơng trình MATLAB để thực tốn động lực học ngƣợc dùng thuật toán đệ quy Newton-Euler Cho trước chuyển động, tính mơ men xoắn cần thiết để dẫn động khớp thời điểm sau: 1 1 1 0,5 1 10 0 (rad/s2) 20 2 (rad/s) 300 1,5 3 3 3 3 - Thuật toán đệ quy Newton – Euler giải toán động lực học ngược: 32 Để thuận tiện cho việc lập trình ta thiết lập hệ tọa độ robot theo phương pháp John Craig: 33 Đặt lại hệ tr c tọa độ theo John Craig để thuận tiện cho việc sử d ng thuật toán Newton – Euler: 2: Thiết lập hệ tọa độ robot bằ g p ươ g p áp Jo Chương trình MATLAB sử d ng giải thuật trên: clear all clc = input('Vecto van toc : '); ddo = input('Vecto gia toc : '); x1 = 10*pi/180; x2 = 20*pi/180; x3 = 30*pi/180; T10 = [cos(x1) sin(x1) 0;-sin(x1) cos(x1) 0;0 0;0 0 1]; T01 = [cos(x1) -sin(x1) 0;sin(x1) cos(x1) 0;0 0;0 0 1]; T21 = [cos(x2) sin(x2) 4;-sin(x2) cos(x2) 0;0 0;0 0 1]; T12 = [cos(x2) -sin(x2) 4;sin(x2) cos(x2) 0;0 0;0 0 1]; T32 = [cos(x3) sin(x3) 3;-sin(x3) cos(x3) 0;0 0;0 0 1]; T23 = [cos(x3) -sin(x3) 3;sin(x3) cos(x3) 0;0 0;0 0 1]; T3H = [1 0 2;0 0;0 0;0 0 1]; TH3 = [1 0 2;0 0;0 0;0 0 1]; I1 =[0 0;0 0;0 0.5]; m1 = 20; I2 =[0 0;0 0;0 0.2]; m2 = 15; 34 Craig I3 =[0 0;0 0;0 0.1]; m3 = 10; do1 = do(1); do2 = do(2); do3 = do(3); ddo1 =ddo(1); ddo2 = ddo(2); ddo3 = ddo(3); %B1 -w00 = [0;0;0]; dw00 = [0;0;0]; dv00 = [0;9.81;0]; % w11 = T10(1:3,1:3)*w00 + do1*[0;0;1]; dw11= T10(1:3,1:3)*dw00 + cross(T10(1:3,1:3)*w00,do1*[0;0;1])+ddo1*[0;0;1]; dv11= T10(1:3,1:3)*(cross(dw00,[0;0;0]) + cross(w00,cross(w00,[0;0;0]))+ dv00);%dv11 = subs(dv11,[x1 x2 x3],[10*pi/180 20*pi/180 30*pi/180]) dvc11 = cross(dw11,[4/2;0;0]) + cross(w11,cross(w11,[4/2;0;0])) + dv11; F11 = m1*dvc11; N11 = I1*dw11 + cross(w11,I1*w11); w22 = T21(1:3,1:3)*w11 + do2*[0;0;1]; dw22= T21(1:3,1:3)*dw11 + cross(T21(1:3,1:3)*w11,do2*[0;0;1])+ddo2*[0;0;1]; dv22= T21(1:3,1:3)*(cross(dw11,[4;0;0]) + cross(w11,cross(w11,[4;0;0])) + dv11); dvc22 = cross(dw22,[3/2;0;0]) + cross(w22,cross(w22,[3/2;0;0])) + dv22; F22 = m2*dvc22; N22 = I2*dw22 + cross(w22,I2*w22); w33 = T32(1:3,1:3)*w22 + do3*[0;0;1]; dw33= T32(1:3,1:3)*dw22 + cross(T32(1:3,1:3)*w22,do3*[0;0;1])+ddo3*[0;0;1]; dv33= T32(1:3,1:3)*(cross(dw22,[3;0;0]) + cross(w22,cross(w22,[3;0;0])) + dv22); dvc33 = cross(dw33,[2/2;0;0]) + cross(w33,cross(w33,[2/2;0;0])) + dv33; F33 = m3*dvc33; N33 = I3*dw33 + cross(w33,I3*w33); %B2 -f4 = [0;0;0]; n4 = [0;0;0]; f3 = T3H(1:3,1:3)*f4 + F33; n3 = N33 + T3H(1:3,1:3)*n4 +cross([2/2;0;0],F33)+ cross([2;0;0],T3H(1:3,1:3)*f4); t3 = n3'*[0;0;1]; 35 f2 = T23(1:3,1:3)*f3 + F22; n2 = N22 + T23(1:3,1:3)*n3 + cross([3/2;0;0],F22) + cross([3;0;0],T23(1:3,1:3)*f3); t2 = n2'*[0;0;1]; f1 = T12(1:3,1:3)*f2 + F11; n1 = N11 + T12(1:3,1:3)*n2 + cross([4/2;0;0],F11) + cross([4;0;0],T12(1:3,1:3)*f2); t1 = n1'*[0;0;1]; % -disp('T = '); disp([t1;t2;t3]); Kết ta thu là: Để xác định ảnh hưởng trọng lực Tg ta đặt: 1 0 1 0 0 (rad/s) 0 (rad/s2) 2 0 0 3 3 36 3.9.2 Kiểm tra kết (3.9.1) Corke Matlab Robotics Toolbox Dùng hàm rne() gravload() clc clear all startup_rvc % Khai bao cac phan cua robot -L(1) = Link([0 0 0]); L(2) = Link([0 0]); L(3) = Link([0 0]); L(1).m = 20; L(2).m = 15; L(3).m = 10; L(1).r = [4/2 0]; L(2).r = [3/2 0]; L(3).r = [2/2 0]; L(1).I = [0 0.5 0 0]; L(2).I = [0 0.2 0 0]; L(3).I = [0 0.1 0 0]; L(1).mdh = 1; L(2).mdh = 1; L(3).mdh = 1; rob = SerialLink(L); 37 grav = [0 9.81 0]; q = [10 20 30]*pi/180; dq = [1 3]; ddq = [0.5 1.5]; rob.rne(q,dq,ddq,grav) rob.gravload(q,grav) Kết thu là: 3.10 Giải toán động lực học thuận Trong trường hợp ta bỏ qua trọng lực Sử d ng Corke Matlab Robotics Toolbox để giải toán động lực học thuận (cho trước mơ men xoắn dẫn động khớp, tính chuyển động robot) với mô men xoắn khớp, góc khớp ban đầu, vận tốc khớp ban đầu sau: 10 0 20 10 60 T (Nm, số) 0 20 900 20 0 (rad/s) 300 0 30 3 30 Ta thực việc mô giây Việc giải toán động lực học thuận dẫn đến việc phải giải phương trình vi phân nên khó để lập trình bình thường nên ta sử d ng hàm có sẵn thư viện Corke Robotics để giải, c thể dùng hàm fdyn() 38 Đầu tiên ta phải định nghĩa hàm fun bao gồm yếu tố điều khiển, tốn ta dùng momen xoắn khớp số nên m c khai báo ta khai báo vectơ T function fc = fun(t,q,dq,qstar,P,D) fc = [20 1]; end - Hàm fun định nghĩa sau: - Sau định nghĩa fi e fun.m phải ưu folder với fi e startup_rvc.m chương trình MATLAB sau để việc chạy chương trình khơng xảy lỗi Chương trình MATLAB: clc clear all startup_rvc L(1) = Link([0 0 0]); L(2) = Link([0 0]); L(3) = Link([0 0]); L(1).m = 20; L(2).m = 15; L(3).m = 10; L(1).r = [4/2 0]; L(2).r = [3/2 0]; L(3).r = [2/2 0]; L(1).I = [0 0.5 0 0]; L(2).I = [0 0.2 0 0]; L(3).I = [0 0.1 0 0]; L(1).mdh = 1; L(2).mdh = 1; L(3).mdh = 1; 39 rob = SerialLink(L); tf =4; q0 = [-60 90 30]*pi/180; dq0 = [0 0]; [tsim Q dQ] = rob.fdyn(tf,@fun,q0,dq0) q1 = Q(:,1); q2= Q(:,2); q3 = Q(:,3); plot(tsim,q1,tsim,q2,' ',tsim,q3,'.'); grid on; legend('q1','q2','q3') figure dq1 = dQ(:,1); dq2= dQ(:,2); dq3 = dQ(:,3); plot(tsim,dq1,tsim,dq2,' ',tsim,dq3,'.'); grid on; legend('dq1','dq2','dq3') Kết quả: - Các góc khớp (độ) = {1 2 3}T với thời gian: 40 15: Đồ thị điều khiển góc khớp với thời gian 41 T với thời gian: - Các vận tốc khớp (rad/s) 16: Đồ thị điều khiển vận tốc khớp với thời gian 42 KẾT LUẬN Sau thời gian tìm tòi, tính tốn, với giúp đỡ tận tình thầy mơn, đặc biệt giáo viên hướng dẫn - GS.TS Trần Ích Thịnh ,đến đồ án hoàn thành nội dung sau: - Đưa vấn đề cần giải quyết: tính tốn Robot phẳng - Xây dựng mơ hình mơ tả tốn, tính tốn động học Robot - Ứng dung Corke Robotics Toolbox để kiểm tra lại tốn động học - Mơ thuật toán điều khiển điều tốc (resolved-rate control) robot phẳng 3R Tuy đồ án số vấn đề cần tiếp t c nghiên cứu phát triển: - Tính tốn động lực học Robot Thiết kế quĩ đạo Thiết kế, chế tạo điều khiển thật cho Robot 43 TÀI LIỆU THAM KHẢO Nguyễn Văn Khang, Động lực học hệ nhiều vật, NXB Khoa học Kỹ thuật Hà Nội, 2007 PGS.TS Phan Bùi Khôi ,Bài giảng Robotics 2009,ĐH Bách Khoa Hà Nội John J Craig, Introduction to Robotics, Mechanics and Control, Pearson Prentice Hall, 2005 (Third Edition) Peter Corke, Robotics, Vision and Control: Fundamental Algorithms in MATLAB®, Springer-Verlag Berlin Heidelberg, 2011 44