CÁC LỆNH DÙNG TRONG BÀI BÁO CÁO.- Lệnh get: Lấy giá trị+ Cú pháp: get biến,’thuộc tính của biến’;+ Dùng để lấy giá trị từ biến có thuộc tính bất kì.+Ví dụ: gethandles.a,’String’;+Giải th
lOMoARcPSD|39458107 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HCM KHOA ĐIỆN-ĐIỆN TỬ ◊ ◊ BÁO CÁO MÔN HỌC: KĨ THUẬT ROBOT CÁNH TAY ROBOT BỐN BẬC TỰ DO GVHD: NGUYỄN VĂN THÁI SVTH: 15151251 15151173 Nguyễn Chí Bảo 15151211 Phan Võ Thành Lâm Trần Văn Sơn 1 Downloaded by NHIM BIEN (nhimbien1@gmail.com) lOMoARcPSD|39458107 Tp HCM tháng 12/2017 BÁO CÁO MÔN HỌC: KĨ THUẬT ROBOT CÁNH TAY ROBOT BỐN BẬC TỰ DO Giáo viên hướng dẫn: Nguyễn Văn Thái Sinh viên thực hiện: Nguyễn Chí Bảo 15151251 Phan Võ Thành Lâm 15151173 Trần Văn Sơn 15151211 ĐIỂM: NHẬN XÉT CỦA GIÁO VIÊN: …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… 2 Downloaded by NHIM BIEN (nhimbien1@gmail.com) lOMoARcPSD|39458107 PHẦN 1 GIỚI THIỆU VỀ CÁNH TAY ROBOT I Chi tiết cánh tay robot: 1.1 Đế robot: 1.2.link1: 3 Downloaded by NHIM BIEN (nhimbien1@gmail.com) lOMoARcPSD|39458107 1.3.link2: 1.4.link3: 1.5.link4: 4 Downloaded by NHIM BIEN (nhimbien1@gmail.com) lOMoARcPSD|39458107 II Cánh tay robot: 5 Downloaded by NHIM BIEN (nhimbien1@gmail.com) lOMoARcPSD|39458107 PHẦN 2 LẬP TRÌNH GIAO DIỆN GIAO TIẾP VỚI NGƯỜI DÙNG TRONG MATLAB (GUI) 1 CÁC LỆNH DÙNG TRONG BÀI BÁO CÁO - Lệnh get: Lấy giá trị + Cú pháp: get (biến,’thuộc tính của biến’); + Dùng để lấy giá trị từ biến có thuộc tính bất kì +Ví dụ: get(handles.a,’String’); +Giải thích lệnh: Lấy giá trị từ TAG “a” đặt ở miền TAG nằm trong GUI Giá trị được nhập từ bàn phím nên Matlab sẽ hiểu nó là một chuỗi kí tự - Lệnh Str2num: là lệnh dùng để chuyển chuỗi ký tự thành số để tính logic - Lệnh set: đặt giá trị + Cú pháp: set (biến, ‘ thuộc tính của biến’ , giá trị gán cho biến); + Ví dụ: set(handles.Px, ‘string’, num2str(X) : dùng để đặt giá trị X đã được chuyển từ số sang ký tự sang biến Px hiển thị trên giao diện người dùng - Lệnh set_param: đặt giá trị + Cú pháp: set_param([Tên file ‘/Tên khối’],’Gain’ , giá trị); + Ví dụ: set_param([ModelName’/ Slider Gain1’], ‘Gain’, num2str(round(val))) +Giải thích lệnh: dùng để đặt giá trị “val” đã được làm tròn vào khối “Slider Gain1” trong file có tên ModelName, rồi hiển thị ra giao diện GUI 6 Downloaded by NHIM BIEN (nhimbien1@gmail.com) lOMoARcPSD|39458107 2 GIAO DIỆN NGƯỜI DÙNG 7 Downloaded by NHIM BIEN (nhimbien1@gmail.com) lOMoARcPSD|39458107 PHẦN 3: TÍNH TOÁN ĐỘNG HỌC CHO CÁNH TAY ROBOT 1 ĐỘNG HỌC THUẬN Tính toán động học thuận - Đặt trục tọa độ cho cánh tay robot: - Bảng thông số Denavit – Hartenberg: Ma trận chuyển đổi tổng quát giữa link I và i+1 cosθ −sinθ∗cosα sinθ∗sinα a∗cosθ sinθ cosα∗cosθ −cosθ∗sinα a∗sinθ 0 sinα cosα d 00 01 BẢNG D-H 8 Downloaded by NHIM BIEN (nhimbien1@gmail.com) lOMoARcPSD|39458107 a α d θ 1 L1 -90 d1 ¿ θ1 2 L2 0 0 ¿ θ2 3 L3 0 0 ¿ θ3 4 L4 0 0 ¿θ4 L1 = 50mm L2 = 90mm L3 = 108mm L4 = 62.5mm d1 = 145mm - a là khoảng cách giữa 2 trục z, alpha là góc giữa 2 trục z, d là khoảng cách giữa 2 trục, theta là góc giữa 2 trục x - hình vẽ minh họa của cánh tay robot: - Các ma trận chuyển đổi tính toán trên Matlab T1=[cosd(t1) 0 -sind(t1) 50*cosd(t1) ;sind(t1) 0 cosd(t1) 50*sind(t1) ; 0 -1 0 145 ; 0 0 0 1]; T2=[cosd(t2) -sind(t2) 0 90*cosd(t2) ; sind(t2) cosd(t2) 0 90*sind(t2) ; 0 0 1 0 ; 0 0 0 1]; 9 Downloaded by NHIM BIEN (nhimbien1@gmail.com) lOMoARcPSD|39458107 T3=[cosd(t3) -sind(t3) 0 108*cosd(t3) ; sind(t3) cosd(t3) 0 108*sind(t3) ; 0 0 1 0 ; 0 0 0 1]; T4=[cosd(t4) -sind(t4) 0 62.5*cosd(t4) ; sind(t4) cosd(t4) 0 62.5*sind(t4) ; 0 0 1 0 ; 0 0 0 1]; T=T1*T2*T3*T4; r 11 r 12 r 13 px r 21 r 22 r 23 py r 31 r 32 r 33 pz 0 0 01 Tìm Px bằng lệnh px= simplify(T(1,4)); py= simplify(T(2,4)); pz= simplify(T(3,4)); suy ra: px = (cos(t1)*(125*cos(t2 + t3 + t4) + 216*cos(t2 + t3) + 180*cos(t2) + 100))/2 py = (sin(t1)*(125*cos(t2 + t3 + t4) + 216*cos(t2 + t3) + 180*cos(t2) + 100))/2 pz= 145 - 108*sin(t2 + t3) - 90*sin(t2) - (125*sin(t2 + t3 + t4))/2T=T1*T2*T3*T4; 2 ĐỘNG HỌC NGHỊCH Tính toán động học nghịch bằng phương pháp đại số Ta có: T*T 1−1=T 1−1*( T1*T2*T3*T4) ¿ ¿ ¿ n1 ¿ ¿ ¿ m1 ¿ ¿ ¿ n 2 ¿ ¿ ¿ n 3 = ¿ ¿ ¿ m2 ¿ ¿ ¿ m 3 000 1 000 1 10 Downloaded by NHIM BIEN (nhimbien1@gmail.com) lOMoARcPSD|39458107 m1 =(125*cos(t2 + t3 + t4))/2 + 108*cos(t2 + t3) + 90*cos(t2) m2=(125*sin(t2 + t3 + t4))/2 + 108*sin(t2 + t3) + 90*sin(t2) m3=0 n1 =px*cos(t1) + py*sin(t1) - 50 n2 =145 – pz n3 =py*cos(t1) - px*sin(t1) Tính các góc theta: Ta có: m3=n3 py*cos(t1) - px*sin(t1)=0 sin(t 1) = py cos(t 1) px T1=atan2(py,px) Ta có: px*cos(t1) + py*sin(t1) - 50=(125*cos(t2 + t3 + t4))/2 + 108*cos(t2 + t3) + 90*cos(t2) 145 – pz =(125*sin(t2 + t3 + t4))/2 + 108*sin(t2 + t3) + 90*sin(t2) px*cos(t1) + py*sin(t1)-50-(125*cos(t2 + t3 + t4))/2=108*cos(t2 + t3) + 90*cos(t2) 145 – pz -(125*sin(t2 + t3 + t4))/2 = 108*sin(t2 + t3) + 90*sin(t2) Đặt Nx= px*cos(t1) + py*sin(t1) – 50 – 62.5*cos(t2 + t3 + t4) Ny=145 – pz – 62.5*sin(t2 + t3 + t4) Nx =108*cos(t2 + t3) + 90*cos(t2) 11 Downloaded by NHIM BIEN (nhimbien1@gmail.com) lOMoARcPSD|39458107 Ny = 108*sin(t2 + t3) + 90*sin(t2) N x2+ N y2=1082+ 902+2∗108∗90∗cos (t 3) cos (t 3)= Nx2+ N y2−1082−902 2∗108∗90 Sin(t3)=√1−cos (t 3)2 t3=atan2(sin(t3),cos(t3)) Nx =108*cos(t2 + t3) + 90*cos(t2) Ny = 108*sin(t2 + t3) + 90*sin(t2) Nx=cos(t2)*(108cos(t3)+90)-108sin(t2)sin(t3) Ny=sin(t2)*(108cos(t3)+90)+108cos(t2)sin(t3) Ta có L3=108, L2=90 12 Downloaded by NHIM BIEN (nhimbien1@gmail.com) lOMoARcPSD|39458107 13 Downloaded by NHIM BIEN (nhimbien1@gmail.com)