UBND TỈNH BÌNH DƯƠNGTRƯỜNG ĐẠI HỌC THỦ DẦU MỘT TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT VIỆN KỸ THUẬT – CÔNG NGHỆ ĐỀ BÀI : CÁNH TAY ROBOT BỐN BẬC TỰ DO Học phần: kỹ thuật Robot Lớp/Nhóm môn học: KTCN.
Trang 1UBND TỈNH BÌNH DƯƠNG
TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT
TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT
VIỆN KỸ THUẬT – CÔNG NGHỆ
ĐỀ BÀI : CÁNH TAY ROBOT BỐN BẬC TỰ DO
Học phần: kỹ thuật Robot
Lớp/Nhóm môn học: KTCN.CQ.02
Giảng viên HD: Nguyễn Hồ Quang
Bình Dương, ngày 12 tháng 10 năm 2023
Trang 2
TIỂU LUẬN KẾT THÚC MÔN HỌC
Tiêu chí Trọng số % 100% Tốt Khá 75% Trung bình 50% Kém 0%
Thái độ tham
gia tích cực
Nêu ý
tưởng 15
Tích cực tìm kiếm và chủ động đưa ra
ý tưởng mang tính mới
Tìm kiếm
và đưa ra được ý tưởng khá tốt
Chọn ý tưởng trong
số được đề nghị
Không quan tâm lựa chọn ý tưởng
Lập kế
hoạch
thực hiện 10
Hoàn toàn hợp lý, không cần điều chỉnh
Khá hợp lý, điều chỉnh chút ít theo góp ý
Chưa hợp
lý, có điều chỉnh theo góp ý
Không hợp lý và không điều chỉnh theo góp ý
Quá trình
thực hiện
project
nghiêm túc
Giai đoạn thực hiện
15 Triển khaiđúng kế hoạch
Triển khai khá đúng
kế hoạch,
có chậm trễ nhưng không gây ảnh hưởng
Triển khai tương đối đúng kế hoạch, có chậm trễ gây ảnh hưởng nhưng khắc phục được
Triển khai chậm trễ, gây ảnh hưởng không khắc phục được
Báo cáo kết
quả bằng văn
bản rõ ràng
Nội dung báo cáo
đầy đủ
10 hơn yêu cầuPhong phú Đầy đủ theoyêu cầu
Khá đầy đủ, còn thiếu 1 nội dung quan trọng
Thiếu nhiều nội dung quan trọng
Cấu trúc
của bài
thuyết
trình hợp
lý
10 phần nội dungCấu trúc các cân đối
Cấu trúc các phần nội dung khá cân đối, còn
1 phần chưa cân đối
Cấu trúc các phần nội dung tương đối cân đối, còn vài phần chưa cân đối
Cấu trúc tất
cả các phần nội dung đều chưa cân đối
Tư duy
lập luận 20 Lập luận vữngchắc, có minh
chứng đầy đủ
Lập luận vững chắc, còn thiếu vài minh chứng không quan trọng
Lập luận đa
số chặt chẽ nhưng có phạm 1 lỗi tư duy quan trọng, minh chứng tương đối
Lập luận phạm nhiều lỗi tư duy quan trọng, thiếu chứng cứ
Chất lượng
sản phẩm đáp
ứng các tiêu
chí đề ra
20 Các tiêu chí chẩm điểm sản phẩm và thang điểm chi tiếtcho từng tiêu chí ( tùy theo project)
Trang 3PROJECT
NHÓM
ĐIỂM CỦA NHÓM:
GÓP Ý LĨNH VỰC CẦN CẢI TIẾN:
- Về phương pháp học tập, suy nghĩ, xử lý vấn đề:
- Về kiến thức, kỹ năng, thái độ:
- Khác:
- Phương pháp cải tiến:
- Nơi có thể cung cấp sự hỗ trợ:
TÊN HỌ VÀ CHỮ KÝ XÁC NHẬN CỦA GV:
Phần 2: Đánh giá cá nhân làm việc nhóm Làm việc nhóm
Hướng dẫn:
Nhóm họp thảo luận đánh giá lẫn nhau Kết quả này sẽ được sử dụng để qui đổi từ điểm của nhóm thành điểm của mỗi cá nhân, tuỳ theo % mỗi cá nhân đạt được
1)Thành viên có tham gia họp đầy đủ: 40%
Đầy đủ: 40%
Vắng họp dưới 2 lần: 20%
Vắng họp hơn 2 lần: 0%
2) Thành viên nộp sản phẩm được giao đúng hạn: 40%
Đúng hạn: 40%
Trễ dưới 2 ngày: 20%
Trễ trên 2 ngày: 0%
3) Thành viên có tham gia giải quyết vấn đề, đóng góp ý kiến cải tiến: 20%
Đóng góp đạt hiệu quả: 20%
Có quan tâm đóng góp: 10%
Không quan tâm: 0%
ĐIỂM THÀNH VIÊN NHÓM
Danh sách thành viên của Nhóm:
Phạm Quốc Huy
Điểm:
Phạm Bùi Minh Khoa
Điểm:
Nguyễn Văn Huynh
Điểm:
Trang 4NHẬN XÉT CỦA GIÁO VIÊN
Trang 5
MỤC LỤC
PHẦN 1: GIỚI THIỆU VỀ CÁNH TAY ROBOT 1
1.1 Chi tiết cánh tay robot: 1
1.1.1 Đế robot: 1
1.1.2.Link1: 1
1.1.3.Link2: 2
1.1.4.Link3: 2
1.1.5.Link4: 2
1.2 Cánh tay robot: 3
PHẦN 2: LẬP TRÌNH GIAO DIỆN ĐIỀU KHIỂN TRONG MATLAB 4
2.1 CÁC LỆNH DÙNG TRONG BÀI BÁO CÁO 4
2.2 GIAO DIỆN NGƯỜI DÙNG 4
PHẦN 3: TÍNH TOÁN ĐỘNG HỌC CHO CÁNH TAY ROBOT 5
3.1 ĐỘNG HỌC THUẬN 5
3.2 ĐỘNG HỌC NGHỊCH 7
3.3 Link google drive bài matlab của nhóm 8
Trang 6PHẦN 1
GIỚI THIỆU VỀ CÁNH TAY ROBOT 1.1 Chi tiết cánh tay robot:
1.1.1 Đế robot:
1.1.2.Link1:
1.1.3.Link2:
1
Trang 71.1.5.Link4:
2
Trang 81.2 Cánh tay robot:
PHẦN 2
3
Trang 9LẬP TRÌNH GIAO DIỆN ĐIỀU KHIỂN TRONG MATLAB 2.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
2.2 GIAO DIỆN NGƯỜI DÙNG
4
Trang 10PHẦN 3:
TÍNH TOÁN ĐỘNG HỌC CHO CÁNH TAY ROBOT 3.1 ĐỘNG HỌC THUẬN.
Tính toán động học thuận.
Số bậc tự do của cánh tay robot: 4 bậc tự do
Gắn hệ tọa độ cho cánh tay robot:
5
Trang 11Lập bảng D-H:
Trong đó:
- a là khoảng cách giữa 2 trục Z
- α là góc giữa 2 trục Z
- d là khoảng cách giữa 2 trục X
- θ là góc giữa 2 trục X
- L1 = 50 (mm)
- L2 = 90 (mm)
- L3 = 108 (mm)
- L4 = 62.5 (mm)
- d1 = 145 (mm)
Ta có ma trận chuyển đổi tổng quát giữa link i và i+1:
6
Trang 12T =[cos θi −sinθicos αisinθisinαi aicos
sinθi cos θicos αi−cos θisin αi aisin
0 sin αicos αi di
i+1
T = T1
4 ∗ T2 ∗ T3 ∗ T4
T =[cosθ1 0−sin θ1 50cosθ
sinθ1 0 cos θ1 50 sinθ1
0 −10 145
1 0
T =¿ ¿
T =[cos θ3 −sin θ30 108 cos θ
sinθ3 cos θ30 108 sinθ3
0 01 0
3 2
T =[cos θ4 −si nθ40 62,5 cos θ
sin θ4 cos θ40 62,5 sin θ4
0 0 1 0
4 3
=> 4T= [r 11 r 12
r 21 r 22
r 13 px
r 23 py
r 31 r 32
r 33 pz
0 1]
Đặt θ1=t 1, θ2=t 2, θ3 = t3, θ4 = t4 trong matlab
Tìm px, py, pz bằng matlab, ta có:
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
7
Trang 13pz= 145 - 108*sin(t2 + t3) - 90*sin(t2) - (125*sin(t2 + t3 + t4))/2
3.2 ĐỘNG HỌC NGHỊCH.
Tính toán động học nghịch.
T = T1
4 ∗ T2 ∗ T3 ∗ T4 = [r 11 r 12
r 21 r 22
r 13 px
r 23 py
r 31 r 32
r 33 pz
0 1]
Với:
¿
Nhân 2 vế cho T−1
1 , ta được:
T−1
1 ∗T = T1−1∗¿ ¿ )
<=> [¿ ¿
¿ ¿ ¿¿ n2n1
¿ ¿
0 0
¿ n 3
0 1]=[¿ ¿
¿ ¿ ¿¿ m2m1
¿ ¿
0 0
¿ m 3
0 1]
Bằng matlab, ta tính được:
n1 = px*cos(t1) + L1 + py*sin(t1)
n2 = d1 - pz
n3 = py*cos(t1) - px*sin(t1)
m1 = L3*cos(t2 + t3) + L2*cos(t2) + L4*cos(t2 + t3 + t4) m2 = L3*sin(t2 + t3) + L2*sin(t2) + L4*sin(t2 + t3 + t4) m3 = 0
Tính góc theta 1:
m3 = n3
=> py*cos(t1) - px*sin(t1) = 0
=> tan(t1) = sin(t 1)
cos(t 1)=
py px
=> t1 = atan2(py,px)
Tính góc theta 3:
8
Trang 14{n 1=m 1
{px∗cos(t 1)+ L 1+ py∗sin(t 1)=L ∗3 cos(t 2+t )+ L2∗cos (t 2)+3 L 4 cos 2∗ (t + t 3+t 4)
d 1−pz =L3∗sin 2(t + t 3)+ L2∗sin(t 2)+ L 4∗sin(t 2+t 3+t )4
<=>{px∗cos 1(t )−L1+ py∗sin (t 1)−L 4 cos (t 2∗ +t + t 4 )=3 L3 cos (t 2+t 3)+ L 2∗cos (t 2)∗
d 1− pz−L ∗4 sin(t 2+t3+ 4 )=L3∗sin (t 2t +t )+3 L2 sin(t 2)∗
Đặt:
nx px= ∗cos (t 1)+ L1+ py∗sin(t 1)−L 4 cos t 2+∗ ( t 3 t 4 )+
ny=d 1−pz −L 4∗sin(t 2+t 3+t )4
=> {nx=L 3∗cos (t 2+t )+ L 2∗cos(t 2)3
ny=L 3∗sin(t 2+ t 3)+L 2 sin(t 2)∗
=>¿
⇒¿
=>(n¿ ¿x )2+(n¿¿y)2=L3∗¿ ¿ ¿
=>(n¿ ¿x )2+(n¿¿ y −L)2 3−L2 =2∗L3∗L2∗cos (t¿¿3 )¿ ¿ ¿ ¿
=>cos (t¿ ¿3)=nx+ ny−L3 −L2
2∗L3∗L2 ¿
Mà θ2 + θ3 + θ4 = 0
=>sin(t¿¿3)=√1−cos(t¿¿3)2¿ ¿
Đặt M= cos (t¿ ¿3)=nx+ ny−L3 −L2
2∗L3∗L2 ¿
N= sin(t¿¿3)=√1 cos− (t¿¿3)2¿ ¿
=>tan(θ¿¿3)=sin (t¿¿3)
cos (t¿¿3)=¿θ3=a tan2 ¿ ¿ ¿ ¿= a tan 2(N,M)
Tính góc theta 2:
=>¿
=>¿
=>¿
=>¿
9
Trang 15=>cos (t¿¿2)=n
x+ L3∗sin (t¿ ¿3)∗ny−L3∗cos
(t¿¿2 sin( t) ¿¿3)
L3∗cos(t¿¿3)+ L2
L3∗cos(t¿¿3)+ L2¿¿ ¿ ¿ ¿¿
=>cos (t¿ ¿2)=¿ x∗¿ ¿¿ ¿
=>cos (t¿ ¿2)=¿ x∗¿ ¿¿ ¿
=>cos (t¿ ¿2)=¿ x∗¿ ¿¿ ¿
=>cos (t¿¿2)∗¿ ¿
=>cos (t¿¿2)∗¿ ¿
=>cos (t¿ ¿2)=nx∗¿ ¿ ¿
Tương tự cho sin(t2):
=>¿
=>
sin(t¿¿2)=¿ y−L3∗sin ( t¿¿3)∗nx+ L3∗sin
( t¿¿2)sin (t¿ ¿3)
L3∗cos (t¿¿3)+ L2
L3∗cos (t¿¿3)+ L2¿ ¿ ¿¿ ¿ ¿ ¿
=>sin(t¿¿2)=¿ y∗¿ ¿ ¿ ¿ ¿
=>tan(θ¿¿2)=sin ( t¿¿2)
cos( t¿¿2)= ∗ny ¿ ¿ ¿¿ ¿ ¿
=>θ2=a tan 2¿
Đặt:
A = ny∗¿
B = nx∗¿
10
Trang 16=> θ2=a tan 2(A , B)
Tính góc theta 4:
θ2 + θ3 + θ4 = 0
=> θ4=−θ2−θ3
3.3 Link google drive bài matlab, solidwork của nhóm:
https://drive.google.com/drive/folders/
1sBl01774IiwH2J8JXuqWO91FCMlqqyXj?usp=sharing
11