Đầu tiên, Robot được dùng trong một số ngành công nghiệp kỹ thuật cao như công nghiệp xe hơi, công nghiệp máy bay…để làm những công việc như hàn thân xe, phun sơn…Những Robot này là những cánh tay máy mô phỏng con người, mỗi tay máy bao gồm nhiều khâu liên kết với nhau bằng các khớp. Các khâu này có thể chuyển động tương đối với nhau và làm thay đổi tầm với của Robot. Thông thường những Robot này được đặt cố định một chỗ và chỉ thao tác được trong khả năng tầm với của chúng.
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
TÍNH TOÁN THIẾT KẾ CHO ROBOT ELBOW
Giáo viên hướng dẫn : PGS TS Nguyễn Phạm Thục Anh
Nhóm sinh viên thực hiện : MSSV Lớp
Trần Ngọc Sơn : 20115723 CNĐK&TĐH 1Nguyễn Văn Đức : 20115523 CNĐK&TĐH 2 Nguyễn Đình Việt : 20149583 ĐK&TĐH(CN lên KS)- K56
Vũ Minh Đức : 20115843 CNĐK&TĐH 1 Hoàng Thanh Hải: 20115540 CNĐK&TĐH 1
Nguyễn Văn Hải : 20106026 ĐK&TĐH6-K55
Trang 2MỤC LỤC
LỜI MỞ ĐẦU 1
Chương 1 2
GIỚI THIỆU ROBOT NHÓM NGHIÊN CỨU 2
1.1 Kết cấu cơ khí robot Elbow 2
1.2 Cổ tay robot 3
1.3 Bàn tay robot (Cơ cấu tác động cuối) 3
1.4 Ứng dụng 4
Chương 2 6
XÂY DỰNG PHẦN MỀM TÍNH TOÁN ĐỘNG 6
HỌC THUẬN ROBOT ELBOW 6
2.1 Xác định số khớp và các hệ trục tọa độ 6
2.2 Xác định các thông số động học của robot Elbow thông qua bảng DH 7
2.3 Các ma trận A của robot Elbow 8
2.4 Tính toán ma trận T0 6 ( hàm truyền RTH của robot ) 9
2.5 Xây dựng phần mềm tính toán ( sử dụng GUI trong Matlab) 10
Chương 3 12
VIẾT CHƯƠNG TRÌNH MATLAB TÍNH MA TRẬN JACOBY 12
TRỰC TIẾP VÀ THÔNG QUA MA TRẬN H J 12
3.1 Tính ma trận Jacoby trực tiếp 12
3.1.1 Tính toán 12
3.1.2 Viết chương trình Matlab tính ma trận Jacoby trực tiếp 14
3.2 Tính ma trận Jacoby thông qua ma trận JH 15
3.2.2 Viết chương trình Matlab tính ma trận Jacoby thông qua ma trận HJ 20
Chương 4 19
THIẾT KẾ QUỸ ĐẠO TRONG KHÔNG GIAN KHỚP 19
4.1 Giới thiệu và cơ sử thiết kế quỹ đạo 19
4.2 Tính toán thiết kế quỹ đạo chuyển động 19
KẾT LUẬN 22
TÀI LIỆU THAM KHẢO 23
Trang 3Lời nói đầu
LỜI MỞ ĐẦU
Từ lâu, con người đã không còn xa lạ với từ “Robot” nữa Bởi lẽ, Robot đã xuấthiện nhiều trong cuộc sống của chúng ta và nếu chưa tận mắt chứng kiến những Robotnày hoạt động thì cũng được xem qua các phương tiện thông tin đại chúng
Có thể thấy Robot đã đi vào mọi lĩnh vực của đời sống con người Vậy, Robotđược ứng dụng như thế nào? Có thể nói, Robot được ứng dụng rất phong phú trong đờisống con người, cả trong trường học và trong nông nghiệp Đặc biệt trong công nghiệp,Robot được sử dụng rộng rãi để làm một số công việc: vận chuyển nguyên vật liệu, sảnphẩm, máy móc hay làm những công việc nặng nhọc, hoặc trong những môi trường làmviệc có nhiệt độ cao, độc hại…
Đầu tiên, Robot được dùng trong một số ngành công nghiệp kỹ thuật cao như côngnghiệp xe hơi, công nghiệp máy bay…để làm những công việc như hàn thân xe, phunsơn…Những Robot này là những cánh tay máy mô phỏng con người, mỗi tay máy baogồm nhiều khâu liên kết với nhau bằng các khớp Các khâu này có thể chuyển độngtương đối với nhau và làm thay đổi tầm với của Robot Thông thường những Robot nàyđược đặt cố định một chỗ và chỉ thao tác được trong khả năng tầm với của chúng
Với những kiến thức đã học và sau một thời gian tìm hiểu cùng với sự giúp đỡ tận
tình của cô PGS TS Nguyễn Phạm Thục Anh thuộc bộ môn Tự động hóa công nghiệp
trường Đại học bách khoa Hà Nội, và sự đóng góp trao đổi xây dựng của bạn bè nhóm
em đã hoàn thành nhiệm vụ được giao
Song với những hiểu biết còn hạn chế nên nhóm em không tránh khỏi những thiếusót Chúng em rất mong được sự chỉ bảo của cô giáo và sự góp ý kiến của các bạn tronglớp Kỹ thuật Robot để bài tập của nhóm em được hoàn thiện hơn
Chúng em xin chân thành cảm ơn !
Trang 4Chương 1 Giới thiệu robot nhóm nghiên cứu
Chương 1 GIỚI THIỆU ROBOT NHÓM NGHIÊN CỨU
1.1 Kết cấu cơ khí robot Elbow
Robot Elbow ở vị trí ban đầu
Robot Elbow ở vị trí bất kỳ
Hình 1.1 Kết cấu cơ khí robot Elbow.
+ Cấu hình Robot Elbow :
Là một cấu hình robot 6 DOF (6 bậc tự do) tức là gồm 6 khớp chuyển động độc
Trang 5Chương 1 Giới thiệu robot nhóm nghiên cứu
1.2 Cổ tay robot
Hình 1.2 Cơ cấu cổ tay ba bậc tự do.
Cổ tay có nhiệm vụ định hướng chính xác bàn tay robot (cơ cấu tác động cuối)trong không gian làm việc Ví dụ bàn tay robot cần định hướng chính xác so với chi tiết
để gắp chi tiết
Thông thường cổ tay robot có 3 bậc tự do tương ứng với 3 chuyển động có cấu tạođiển hình như hình 1.2: Cổ tay xoay xung quanh trục thanh nối cuối cùng (Roll), cổ tayquay xung quanh trục thẳng đứng tạo chuyển động lắc phải, trái của bàn tay (Pitch), cổtay quay xung quang trục nằm ngang tạo chuyển động lên xuống của bàn tay (Yaw)
1.3 Bàn tay robot (Cơ cấu tác động cuối)
Bàn tay được gắn lên cổ tay robot đảm bảo cho robot thực hiện các nhiệm vụ khácnhau trong không gian làm việc Cơ cấu bàn tay có hai dạng khác nhau tùy theo chứcnăng của robot trong dây chuyền sản xuất: cơ cấu bàn kẹp (gripper) và cơ cấu dụng cụ(tool)
Một số dạng bàn tay robot của Robot Unimate (Mỹ, 1961):
Trang 6Chương 1 Giới thiệu robot nhóm nghiên cứu
Hình 1.3 Một số hình ảnh về các cơ cấu kẹp.
1.4 Ứng dụng
Trang 7Chương 1 Giới thiệu robot nhóm nghiên cứu
Hình 1.5.Ứng dụng cấu hình robot Elbow ngoài trạm không gian vũ trụ.
Hình 1.6 Ứng dụng cấu hình robot Elbow trong công nghiệp sản xuất và lắp ráp xe hơi.
Trang 8Chương 2 Xây dựng phần mềm tính toán động học thuận Robot Elbow
Chương 2 XÂY DỰNG PHẦN MỀM TÍNH TOÁN ĐỘNG
HỌC THUẬN ROBOT ELBOW
2.1 Xác định số khớp và các hệ trục tọa độ
- Robot Elbow là robot có 6 bậc tự do, gồm 6 khớp quay và 7 thanh nối.
- Ta sẽ lần lượt xác định các trục tọa độ như sau :
+ Xác định trục Zi : vì tất cả các khớp đều là khớp quay, nên Zi là trục mà khớp i+1 quayxung quanh nó
+ Xác định trục Xi, Yi : xác định như hình bên dưới ( Lưu ý : để làm đơn giản cho việctính toán, ta sẽ chỉnh sửa một số trục tọa độ như sau O0 sẽ trùng với O1 O4 trùng với O5,O6 Như vậy : a1=a5=a6=0, di = 0, dễ dàng hơn trong việc tính toán)
Trang 9Chương 2 Xây dựng phần mềm tính toán động học thuận Robot Elbow
2.2 Xác định các thông số động học của robot Elbow thông qua bảng DH
- Ta xác định các thông số của bảng D-H như sau :
+ di: khoảng cách Oi-1 và Oi theo trục zi-1
+ i: góc vặn của thanh nối i Là góc quay quanh trục zi-1 để trục xi-1 chuyển đến trục
xi theo qui tắc bàn tay phải
+ i: góc xoay đưa trục zi-1về zi quanh xi theo quy tắc bàn tay phải
+ ai: khoảng dịch chuyển giữa 2 trục khớp động kề nhau theo trục x
+ 1900 là góc quay quanh trục 1x để biến 0 z thành 1z
+ 2 là góc quay quanh trục 20 x để biến 1z thành 2 z
+ 3 là góc quay quanh trục 30 x để biến 2 z thành 3 z
+ 4 900 là góc quay quanh trục 4x để biến 3 z thành 4 z
+ 5900 là góc quay quanh trục 5x để biến 4 z thành 5 z
+ 6 là góc quay quanh trục 60 x để biến 5 z thành 6 z
+ 1d là khoảng cách đo dọc trục giữa O0 và O1
+ 6d là khoảng cách đo dọc trục giữa O5 và O6
(Như đã nói ở trên ta sẽ cho: d1=d6=0)
Trang 10Chương 2 Xây dựng phần mềm tính toán động học thuận Robot Elbow
Như vậy ta được bảng D-H như sau:
Trang 11Chương 2 Xây dựng phần mềm tính toán động học thuận Robot Elbow
6 ( hàm truyền R T H của robot hay ma trận xác định tọa độ
vị trí và hướng của khâu cuối)
Từ các ma trận biến đổi giữa các trục, ta sẽ xác định được hàm truyền RTH củarobot ( hay chính là ma trận chuyển đổi giữa trục 0 và trục 6 của robot)
Trang 12Chương 2 Xây dựng phần mềm tính toán động học thuận Robot Elbow
2.5 Xây dựng phần mềm tính toán ( sử dụng GUI trong Matlab)
Giao diện phần mềm tính toán động học thuận vị trí robot
- Từ ma trận hàm truyền ta có thể thấy rằng các giá trị của các thành phầnphụ thuộc vào các giá trị của các tham số đầu vào là:
+ Các góc: 1,2,3,4,5,6, ( tương ứng với dữ liệu đầu vào : từ ‘Goc Theta1’ đến
‘Góc Theta6’)
+ Các giá trị a2, a3, a4
- Sau khi thiết kế giao diện và viết code ta sẽ được như hình bên dưới :
Trang 13Chương 2 Xây dựng phần mềm tính toán động học thuận Robot Elbow
Hình 2.2 Giao diện tính toán động học thuận.
Ta thử một ví dụ và chạy chương trình sẽ được hình như sau:
Chương trình code : Tham khảo phụ lục 1
Trang 14Chương 3 Viết chương trình matlab tính ma trân Jacoby
Chương 3 VIẾT CHƯƠNG TRÌNH MATLAB TÍNH MA TRẬN JACOBY
TRỰC TIẾP VÀ THÔNG QUA MA TRẬN H J
3.1 Tính ma trận Jacoby trực tiếp
3.1.1 Tính toán
- Ta có : X= [ px py pz Φx Φy Φz]x Φx Φy Φz]y Φx Φy Φz]z]T
- Với Φx Φy Φz]x Φx Φy Φz]y Φx Φy Φz]z : tương ứng là các góc quay vi sai của tay xung quanh các trục x, y, z.Tuy nhiên, không tồn tại phương trình duy nhất mô tả sự quay xung quanh các trục, do
đó sẽ không có phương trình duy nhất cho tính toán Φx Φy Φz]x Φx Φy Φz]y Φx Φy Φz]z
- Tiếp theo thực hiện đạo hàm theo biến khớp:
+ Tính đạo hàm px, nhận được phương trình sai phân sau:
Trang 15Chương 3 Viết chương trình matlab tính ma trân Jacoby
Trang 16Chương 3 Viết chương trình matlab tính ma trân Jacoby
3.1.2 Viết chương trình Matlab tính ma trận Jacoby trực tiếp
a Thiết kế giao diện
Hình 3.1 Giao diện phần mềm tính ma trận Jacoby trực tiếp.
- Nhập thử số và chạy thử ta sẽ được kết quả như sau:
Trang 17Chương 3 Viết chương trình matlab tính ma trân Jacoby
Chương trình code: tham khảo phụ lục 2.
3.2 Tính ma trận Jacoby thông qua ma trận J H
Trang 18Chương 3 Viết chương trình matlab tính ma trân Jacoby
Các hệ số của 0T6 được xác định ở phần động lực thuận vị trí
- Tiếp theo ta sẽ tính toán ma trận JH bằng việc tính các ma trận theo từng cột, tương ứngvới từng khớp của robot
Trang 19Chương 3 Viết chương trình matlab tính ma trân Jacoby
Trang 20Chương 3 Viết chương trình matlab tính ma trân Jacoby
J như trên Tiếp theo, để xác định được matrận Jacoby, ta tiếp tục áp dụng công thức sau:
Trang 21Chương 3 Viết chương trình matlab tính ma trân Jacoby
+ Sử dụng matlab để nhập và nhân các ma trận Sau khi dùng hàm simplify ta sẽ được
ma trận Jacoby thông qua ma trận H J ( Vì biểu thức tính quá dài, để biết thêm về Ma trận
Trang 22Chương 3 Viết chương trình matlab tính ma trân Jacoby
3.2.2 Viết chương trình Matlab tính ma trận Jacoby thông qua ma trận H J
a Thiết kế giao diện
Hình 3.2 Giao diện tính ma trận Jacoby thông qua ma trận
- Nhập thử số và chạy thử ta sẽ được kết quả như sau:
Trang 23Chương 3 Viết chương trình matlab tính ma trân Jacoby
Chương trình code: tham khảo phụ lục 3.
Trang 24Chương 4 Thiết kế quỹ đạo trong không gian khớp : bậc 3 quỹ đạo 2-1-2
Chương 4 THIẾT KẾ QUỸ ĐẠO TRONG KHÔNG GIAN KHỚP
Chọn hai điểm bất kỳ trong không gian làm việc của robot Sau đó đi thiết kế quỹđạo chuyển động Robot ( quỹ đạo bậc 1, 2, 3, 5 )
4.1 Giới thiệu và cơ sở thiết kế quỹ đạo
Thiết kế quỹ đạo chuyển động của robot có lien quan mật thiết đến bài toán điềukhiển robot di chuyển từ vị trí này sang vị trí khác trong không gian làm việc Đường đi
và quỹ đạo được thiết kế là đại lượng đặc trưng cho hệ thống điều khiển vị trí của robot
Do đó độ chính xác của quỹ đạo sẽ ảnh hưởng đến chất lượng di chuyển của robot
Yêu cầu thiết kế quỹ đạo chuyển động của Robot là:
Khâu chấp hành phải đảm bảo đi qua lần lượt các điểm trong không gian làm việchoặc di chuyển theo một quỹ đạo xác định
Quỹ đạo của Robot phải là đường lien tục về vị trí trong một khoảng các nhấtđịnh
Không có bước nhảy về vận tốc, gia tốc
Quỹ đạo là các đường cong có dạng:
Ta sẽ sử dụng quỹ đạo dạng đa thức bậc 3 để thiết kế cho quỹ đạo 2-1-2
4.2 Tính toán thiết kế quỹ đạo chuyển động
Thiết kế quỹ đạo trong không gian khớp
Chọn hai điểm A, B bất kỳ trong không gian làm việc, biết tọa độ (xE, yE, zE) vàhướng của các khâu thao tác Thiết kế quỹ đạo chuyển động bất kỳ từ A đến B
Theo bài toán động học ta xác định được các biến khớp 1 , , , , , 2 3 4 5 6 tại A và B
Trang 25Chương 4 Thiết kế quỹ đạo trong không gian khớp : bậc 3 quỹ đạo 2-1-2
2 3
( )
i t a i b t c t i i d t i
i =1 6 tương ứng với 6 biến khớp
Ta được hệ phương trình sau:
Trang 26Chương 4 Thiết kế quỹ đạo trong không gian khớp : bậc 3 quỹ đạo 2-1-2
30
Trang 27Chương 4 Thiết kế quỹ đạo trong không gian khớp : bậc 3 quỹ đạo 2-1-2
4.2.2 Phương pháp quỹ đạo dạng đa thức 2-1-2
Hình 4.4.Mô tả quỹ đạo dạng đa thức 2-1-2
Quỹ đạo ab:
Trang 28Chương 4 Thiết kế quỹ đạo trong không gian khớp : bậc 3 quỹ đạo 2-1-2
Trang 29Chương 4 Thiết kế quỹ đạo trong không gian khớp : bậc 3 quỹ đạo 2-1-2
Hình 4.5 quỹ đạo 2-2
Trang 30Kết luận
KẾT LUẬN
Sau một thời gian học tập và tìm hiểu kỹ lưỡng cùng với sự hướng dẫn nhiệt tình của
thầy giáo PGS TS Nguyễn Phạm Thục Anh cùng các thầy, cô giáo trong bộ môn tự động hóa Em đã hoàn thành đề tài “ Thiết kế hệ truyền động cho Robot Elbow” Nội
dung báo cáo của nhóm gồm 4 chương:
Chương 1: Giới thiệu về Robot nhóm nghiên cứu và các ứng dụng của RobotChương 2: Xây dựng phần mềm tính toán động học thuận vị trí Robot
Chương 3: Viết chương trình Matlab tính ma trận Jacoby trực tiếp
Chương 4: Thiết kế quỹ đạo trong không gian khớp
Tuy nhiên do còn hạn chế về kiến thức nên trong báo cáo còn nhiều chỗ chưa đầy đủ và
cụ thể hoặc em chưa đề cập sâu
Em rất mong được sự đóng góp ý kiến của các thầy cô giáo để báo cáo của nhóm emđược hoàn thiện đầy đủ hơn Cuối cùng em xin chân thành cảm ơn thầy giáo NguyễnPhạm Thục Anh đã hết sức nhiệt tình giúp đỡ em
Em xin chân thành cảm ơn !
Hà Nội, tháng 11 năm 2015
Nhóm sinh viên thực hiện
Trang 31Tài liệu thảm khảo
TÀI LIỆU THAM KHẢO
[1] Nguyễn Mạnh Tiến, Điều khiển Robot công nghiệp, Nhà xuất bản Khoa học Kỹthuật Hà Nội
[2] Trịnh Quang Vinh, và các tác giả, Robot công nghiệp, Nhà xuất bản Khoa học
Trang 32Tài liệu thảm khảo
PHỤ LỤC
1, Phụ lục 1: Code phần mềm tính toán động học thuận robot Elbow trên Matlab:
% - Executes on button press in pushbutton1
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
Trang 33Tài liệu thảm khảo
set(handles.ox,'string',ox);
set(handles.oy,'string',oy);
set(handles.oz,'string',oz);
set(handles.ax,'string',ax);
set(handles.ay,'string',ay);
set(handles.az,'string',az);
set(handles.px,'string',px);
set(handles.py,'string',py);
set(handles.pz,'string',pz);
2, Phụ lục 2: Code tính toán ma trận Jacoby theo phương pháp trực tiếp
% - Executes on button press in pushbutton1
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
Trang 34Tài liệu thảm khảo
j14=-cosd(t1)*sind(t2+t3+t4)*a4;
j15=0;
j16=0;
j21=cosd(t1)*(cosd(t2+t3+t4)*a4+cosd(t2+t3)*a3+cosd(t2)*a2);j22=-sind(t1)*(sind(t2+t3+t4)*a4+sind(t2+t3)*a3+sind(t2)*a2);j23=-sind(t1)*(sind(t2+t3+t4)*a4+sind(t2+t3)*a3);
Trang 35Tài liệu thảm khảo
3, Phụ lục 3: Code tính toán ma trận Jacoby thông qua ma trận JH
% - Executes on button press in pushbutton1
function pushbutton1_Callback(hObject, eventdata, handles)
Trang 36Tài liệu thảm khảo
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
cosd(t6)*sind(t5)*(cosd(t1)*(sind(t2+t3+t4)*sind(t6)-cosd(t2+t3+t4)*cosd(t5)*cosd(t6))+sind(t1)*sind(t5)*sind(t6))*(a3*cosd(t2+t3)+a2*cosd(t2)+a4*cosd(t2+t3+t4))-
cosd(t5)*(cosd(t5)*sind(t1)+cosd(t2+t3+t4)*cosd(t1)*sind(t5))*(a3*cosd(t2+t3)+a2*cosd(t2)+a4*cosd(t2+t3+t4));
j12=(cosd(t1)*(sind(t2+t3+t4)*sind(t6)+cosd(t2+t3+t4)*cosd(t5)*cosd(t6))-
sind(t1)*sind(t5)*sind(t6))*(a2*cosd(t6)*sind(t3)*sind(t4)-a3*cosd(t4)*cosd(t6)-
a2*cosd(t3)*cosd(t4)*cosd(t6)-a4*cosd(t6)+a3*cosd(t5)*sind(t4)*sind(t6)+a2*cosd(t3)*cosd(t5)*sind(t4)*sind(t6)+a2*cosd(t4)*cosd(t5)*sind(t3)*sind(t6))-(cosd(t1)*(sind(t2+t3+t4)*sind(t6)-
cosd(t2+t3+t4)*cosd(t5)*cosd(t6))
+sind(t1)*sind(t5)*sind(t6))*(a4*sind(t6)+a3*cosd(t4)*sind(t6)+a2*cosd(t3)*cosd(t4)*sind(t6)+a3*cosd(t5)*cosd(t6)*sind(t4)-
a2*sind(t3)*sind(t4)*sind(t6)+a2*cosd(t3)*cosd(t5)*cosd(t6)*sind(t4)+a2*cosd(t4)*cosd(t5)*cosd(t6)*sind(t3))
+sind(t5)*(a2*sind(t3+t4)+a3*sind(t4))*(cosd(t5)*sind(t1)+cosd(t2+t3+t4)*cosd(t1)*sind(t5));