Đồ án cánh tay robot PUMA
Trang 1Lờ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 sản xuất 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 là một bộ phận quan trọng để tạo ra những hệ thống tự động đó
Robot công nghiệp đã có mặt trong sản xuất từ nhiều năm trước, ngày nay robot công nghiệp được dùng ở nhiều lĩnh vực sản xuất đó là xuất phát từ những
ưu điểm mà robot đó đã được chọn và đúc kêt lại trong quá trình sản xuất,robot 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,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 ngững loại 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à trong tương lai
Môn học ĐỒ ÁN CƠ ĐIỆN TỬ giúp chúng em bước đầu làm quen,tìm hiểu, học cách chế tạo và rất có ích cho chúng em sau này
Trong quá trình học môn ĐỒ ÁN CƠ ĐIỆN TỬ chúng em còn nhiều thiếu sót mong các thầy chỉ bảo thêm cho chúng em
Chân thành cảm ơn
Nhóm 3
Trang 2I-Xây dựng sơ đồ động học và các ma trận biểu diễn cấu trúc
1-Sơ đồ động học của PUMA
2- Các ma trận chuyển biểu diễn cấu trúc của PUMA
0
1 0
0
0 0 6 6
0 0 6 6
0 0 1 0
0 5 0
5
0 5 0 5 5
C S
S C
0 1 0
0 4 0 4
0 4 0
4
4
C S
S C
0
0
0 0 1
0
3 3 0
3
3 3 0
3
6 3 3
3
a S C S
a C S C
1 0 0
2 0 2 2
2 0 2 2
2 2 2
a S C
S
a C S
C A
0 0 1 0
0 1 0 1
0 1 0
1 1
C S
S C
A
Trong đó: để tiện theo dõi ta ký hiệu
Cx =cos(x): x là các biến khớp Sx= sin(x)
II-Tính Toán Động Học Thuận:
Trang 31 0 0
0 0 6 6
0 0 6 6
6 6
d
C S
S C A
0 0 1 0
0 5 0
5
0 5 0 5 5
C S
S C
0 0
0 0
6 6
5 5
6 5 6
5
5 5
6 5 6
4
C S
d C C
S S C
S
d S S
S C C
C T A T
0 1 0
0 4 0 4
0 4 0
4
4 4
d
C S
S C
0 0
5 5 6
5 6
5
5 4 5 4 6 4 6 5 4 6
4 6 5 4
5 4 5 4 6 4 6 5 4 6
4 6 5 4
4 6 6 6
6
4 4 6
3
d d C C S
S C
S
d S S S S C C S C S S C C C S
d S C S C C S S C C S
S C C C T A T
Trang 40 0
0 0 1 0
3 3 0
3
3 3 0 3
6 3 3
3
a S C S
a C S C
A
6
3 3 6
2T = A T
các hệ số trong ma trận:
6 5 4 ) 4 , 3 (
; 5 4 ) 3 , 3 (
; 6 4 6 5 4 ) 2 , 3 (
; 6 4 6 5 4 ) 1 , 3 (
; 3 3 ) 4 6 5 ( 3 6 5 4 3 ) 4 , 2 (
; 5 3 5 4 3 ) 3 , 2 (
; 6 5 3 ) 6 4 6 5 4 ( 3 ) 2 , 2 (
; 6 5 3 ) 6 4 6 5 4 ( 3 ) 1 , 2 (
; 5 3 5 4 3 ) 3 , 1 (
; 6 5 3 ) 6 4 6 5 4 (
* 3 ) 2 , 1 (
; 6 5 3 _ 6 4 6 5 4 ( 2 ) 1 , 1 (
6 2 6 2 6 2 6 2 6 2 6 2 6 2 6 2 6 2 6 2 6 2
d S S T
S S T
C C S C S T
S C C C S T
a S d d C C d S C S T
C C S C S T
S S C C S S C C S T
C S C S S C C C T
C S S C C T
S S S S S S C C C
T
S S S S S C C C C T
1 0 0
2 0 2 2
2 0 2 2
2 2 2
2
d
a S C
S
a C S
Trang 52 6 5 4
T
S S
T
C C S C S
T
S C C C
T
C C S C S C C S S C C S
T
S S C C S S C C S C S S S C S S C C C S
T
C S C S S C C C S C C S S S S C C C C S
T
a
C
a S d d C C d S C S S a C d d C S d S C C C
T
C C S C S S C S S C C C
T
S S S C S S C C C
T
C S S S S C C C C
− +
+ + +
=
− +
−
− +
+ +
=
−
− +
=
+ +
0 0 1 0
0 1 0 1
0 1 0
1 1
C S
S C
Trang 6III PHƯƠNG TRÌNH ĐỘNG HỌC NGƯỢC ROBOT PUMA
Bài toán động học ngược là rất khó, đối với tay máy 6 khớp có ba khớp cuối đồng quy tại một điểm, ta có thể tách bài toán động học ngược thành hai bài toán đơn giản hơn là động học ngược vị trí và động học ngược hướng
+ Tìm vị trí giao điểm các trục cổ tay (tâm cổ tay)
+ Tìm hướng của cổ tay
Ta biểu diễn thành hai hệ phương trình như sau:
Trong đó Ovà Rlà hướng và vị trí của dụng cụ, được biểu diễn đối với hệ tọa độ
cố định bên ngoài (world coordinate system) Ta phải giải bài toán trên đối với các
ẩn q 1 , ,q6
Cơ cấu 6 khớp quay có 3 khớp cuối giao nhau có phương pháp giải như sau:
Vị trí của tâm cổ tay,PC xác định qua vị trí công cụ (The given tool position)
và phương của Tool pointing (Z6).Do đó vị trí của tâm cổ tay phụ thuộc vào 3 biến khớp đầu tiên
The relative wrist oriention R6
Trang 7Các biến khớp θ θ θ 4 , , 5 6 xác định từ ma trận định hướng cổ tay (The arm
Ovà Rlà hướng và vị trí của dụng cụ, được biểu
diễn đối với hệ tọa độ cố định bên ngoài (world coordinate system)
0
6
Trang 11V.THIẾT KẾ MÔ HÌNH ROBOT PUMA DÙNG SOLIDWORK.
1 Nhiệm vụ của robot
Gắp một vật nặng khối lượng dưới 1Kg di chuyển trong miền làm việc
2 Phân tích và lựa chọn kết cấu
2.1 Lựa chọn ổ bi, ổ lăn cho cơ cấu.
- Do tính chất làm việc chịu tải tương đối nhẹ (tải trọng có khối lượng dưới 1kg) của Robot nên ta sẽ chọn ổ lăn cho các khâu như sau:
+ Khâu 1: Dùng Ổ bi đỡ một dãy có kí hiệu 305
+ Khâu 2: Dùng Ổ bi đỡ một dãy có kí hiệu 1000902
+ Khâu 3: Dùng Ổ bi đỡ một dãy có kí hiệu 1000901
+ Khâu 4: Dùng Ổ bi đỡ một dãy có kí hiệu 1000901
+ Khâu 5: Dùng Ổ bi đỡ một dãy có kí hiệu 1000099
2.2 Lựa chọn động cơ cho Robot.
Do yêu cầu điều khiển chính xác vị trí điểm tác động cuối của robot, ta chọn động cơ cho các khớp quay là loại động cơ Servo
Trang 12Đây là loại động cơ cho phép ta điều khiển chính xác cả tốc độ và vị trí của rotor Động cơ tích hợp một mạch encoder, phản hồi trạng thái vị trí của trục ra, dựa vào đó ta giảm thiểu được sai số do tải trọng bên ngoài thay đổi…
Dựa vào yêu cầu làm việc của robot, ta chọn được động cơ cho các khớp như sau:
Trang 153 Thiết kế mô hình dùng phần mềm SolidWorks
Bản vẽ chi tiết phần thiết kế (2D và 3D) của các khâu của robot được kèm theo ở phần phụ lục Say đây là một số hình ảnh mô hình 3D của robot
Trang 16VI MÔ PHỎNG ĐỘNG HỌC ROBOT PUMA DÙNG VISUAL C++ VÀ OPENGL
Giao diện phần mềm mô phỏng được xây dựng như sau:
Trang 17Phần mềm được xây dựng bằng visual C++ Phần đồ họa được lập trình bằng các thư viện OpenGL Giao diện chương trình gồm hai phần chính Khung bên phải chứa các nút lệnh điều khiển, và chọn các nhiệm vụ của Robot cần thực hiện Khung bên phải dùng để thể hiện mô hình của robot được dùng để mô phỏng
Mô hình robot được vẽ bằng phần mềm SolidWork và xuất ra file cad 3D dưới dạng STL sau đó dùng Visual C++ đọc các file này vào chương trình Sau đó dùng các hàm OpenGL để vẽ các mô hình này
Phần động học thuận và ngược trong chương trình được tính trong các hàm thành viên SolveInverseKinematic và SolveForwardKinematic của lớp
CSerialRobot
Các hàm này như sau:
void CSerialRobot::SolveInverseKinematic(const CFrame& end ,float* jointVar){
Trang 18CVector ss=end.GetYDir ().GetDirection ();
CVector aa=end.GetZDir ().GetDirection ();
Trang 22c4*(c2*c3*s1 - s1*s2*s3))) + d4*(c2*s1*s3 + c3*s1*s2) + a2*c2*s1 - a3*s1*s2*s3 + a3*c2*c3*s1;
Trang 23- Biên dạng chạy theo đường helixcal:
Trang 26KẾT LUẬN.
Robot công nghiệp là một bộ phận rất quan trọng trong nền sản xuất hiện đại
Nó góp phần thay thế sức lao động của con người, tăng năng suất lao động và tạo ra những sản phẩm ngày càng phức tạp và đáp ứng nhu cầu ngày càng cao của con người Thông qua đồ án này, chúng em đã phần nào hiểu rõ được tầm quan trọng
đó Với đề tài tìm hiểu về robot Puma, một loại robot công nghiệp phổ biến và điển hình, nhóm đã phân tích, thiết kế và mô phỏng được hoạt động của loại robot này Các vấn đề cơ bản đã được giải quyết như tính toán động học thuận, động học ngược, thiết kế dùng phần mềm CAD, và mô phỏng bằng Visual C++ và OpenGL Bên cạnh đó, do thời gian gấp rút, vẫn còn các vấn đề khác cần tiếp tục giải quyết Chúng em xin ý kiến đóng góp của các thầy để đề tài được hoàn thiện hơn Một lần nữa nhóm xin chân thành cảm ơn sự hướng dẫn tận tình của thầy Nguyễn Tuấn Khoa và thầy Đặng Bảo Lâm trong thời gian qua
Trang 27PHỤ LỤC