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
Trang 1
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:
Nguyễn Chí Bảo 15151251
Phan Võ Thành Lâm 15151173
Trần Văn Sơn 15151211
1
Downloaded by NHIM BIEN (nhimbien1@gmail.com)
Trang 2Tp 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:
………
………
………
………
………
………
Trang 3PHẦ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)
Trang 41.4.link3:
1.5.link4:
Trang 5II Cánh tay robot:
5
Downloaded by NHIM BIEN (nhimbien1@gmail.com)
Trang 6PHẦ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
Trang 72 GIAO DIỆN NGƯỜI DÙNG
7
Downloaded by NHIM BIEN (nhimbien1@gmail.com)
Trang 8PHẦ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θ cosα ∗cosθ
sinθ ∗sinα a ∗cosθ
−cosθ∗sinα a∗sinθ
0 sinα
0 0
cosα d
0 1
BẢNG D-H
Trang 9a α d θ
1 L1 -90 d1 ¿θ1
2 L2 0 0 ¿θ2
- 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
L1 = 50mm
L2 = 90mm
L3 = 108mm
L4 = 62.5mm
d1 = 145mm
Downloaded by NHIM BIEN (nhimbien1@gmail.com)
Trang 10T3=[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 21 r 22
r 13 px
r 23 py
r 31 r 32
0 0
r 33 pz
0 1
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)
¿ ¿
¿ ¿ ¿
n 1
¿ n 2
¿ ¿
0 0
¿ n 3
0 1
=
¿ ¿
¿ ¿ ¿
m 1
¿ m 2
¿ ¿
0 0
¿ m 3
0 1
Trang 11m1 =(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)
cos(t 1)=
py 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)
Trang 12 Ny = 108*sin(t2 + t3) + 90*sin(t2)
N x2+N y
2
=108 2
+90 2
+2∗108∗90∗cos (t 3)
cos(t 3)=N x
2
+N y2
−108 2
−90 2
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
Trang 13Downloaded by NHIM BIEN (nhimbien1@gmail.com)