1. Trang chủ
  2. » Tất cả

(Luận văn thạc sĩ hcmute) thiết kế mô hình điều khiển robot 5 bật tự do

115 10 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 115
Dung lượng 6,83 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ NGUYỄN MINH QUANG THIẾT KẾ MƠ HÌNH ÐIỀU KHIỂN ROBOT BẬT TỰ DO NGÀNH: KỸ THUẬT CƠ ÐIỆN TỬ - 60520202 S KC 0 Tp Hồ Chí Minh, năm 2016 Luan van BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ NGUYỄN MINH QUANG THIẾT KẾ MƠ HÌNH ĐIỀU KHIỂN ROBOT BẬT TỰ DO NGÀNH: KỸ THUẬT CƠ ĐIỆN TỬ - 60520202 Tp Hồ Chí Minh, năm 2016 Luan van Chương TỔNG QUAN 1.1 Tổng quan hướng nghiên cứu Con người từ lâu muốn chế tạo cỗ máy bắt chước kỹ lao động đơi tay, thay làm việc nặng nguy hiểm Robot đối tượng người gửi gắm nhiều tri thức y khoa, khí, điện-điện tử, cơng nghệ thơng tin điều khiển học Từ chỗ vô tri vô giác, chuyên đảm nhiệm công việc lao động bắp đơn Robot ngày có khả quan sát, cảm nhận thân môi trường xung quanh Việc thành công bước đầu nghiên cứu trí tuệ nhân tạo, hứa hẹn robot tương lai có hành xử giống người Ngày Robot ứng dụng rộng rãi nhiều ngành công nghiệp Những ứng dụng ban đầu bao gồm gắp đặt vật liệu, hàn điểm phun sơn Các công việc người mơi trường khắc nghiệt lị đúc, xưởng rèn, xưởng hàn phóng xạ dần thay Robot Hình 1.1: Robot hàn Hình 1.2: Robot nâng, chuyển Một số nghiên cứu điều khiển Robot liên quan gần đây: - Thiết kế phân tích ổn định cho điều khiển lai Fuzzy PID thông thường để tăng cường hiệu suất độ bền điều khiển tác giả S.G Anavatti, S.A.Salman and J.Y.Choi Nghiên cứu sử dụng MATLAB/Simulink Trang Luan van để thiết kế mô điều khiển Fuzzy PID thông thường để đưa thông số cho thấy ưu điểm điều khiển lai ổn định nghiên cứu dừng lại mô (2) - Mô Robot bậc tự Mitsubishi RV-2AJ sử dụng MATLAB/Simulink V-Realm Builder tác giả Muhammad Ikhwan Jambak, Habibollah Haron Dewi Nasien Nghiên cứu xây dựng phần mềm mô thực tế ảo dựa phần mềm MATLAB/Simulink and V-Realm Builder sử dụng thông số Robot bậc RV-2AJ Mitsubishi camera 3D để tăng độ xác Robot công nghiệp (3) - Phân tích động học thuận robot bậc tự ứng dụng công nghiệp tác giả Dr.Laith A Mohammed Trong viết này,tác giả phân tích mối quan hệ khớp cánh tay robot vị trí hướng khớp cuối, tác giả áp dụng phương pháp Denavit Hartenberg (DH) để xây dựng mô hình tốn học để dự đốn, mơ phục vị trí cuối (vị trí hướng) cánh tay robot R5150 Tác giả sử dụng phần mềm mô RoboCIM Giao diện người dùng RoboCIM cho phép nhập thơng số vào bàn phím (teach pendant) cánh tay Lab_volt R5150 Các mô cánh tay robot chuyển động thực phần mềm MATLAB (4) 1.2 Nghiên cứu Robot Việt Nam tính cấp thiết đề tài 1.2.1 Nghiên cứu Robot Việt Nam - 10/2013 Viện Cơ học thuộc Viện Hàn lâm KHCN Việt Nam "Tay máy bậc tự do“ eRobot có tầm với lớn bán kính 600mm (tồn hướng).Tay máy bậc tự - eRobot có tầm với lớn nhất: 600 mm, độ xác vị trí: ± mm, độ xác lặp: ± mm, thực thao tác nắm gắp di chuyển đối tượng có khối lượng < 0,5 kg, hàn điểm Phần mềm điều khiển eRobot viết ngơn ngữ Visual C++, tích hợp cơng nghệ đồ họa 3D OpenGL, kết nối với điều khiển qua cổng COM theo chuẩn RS232 eRobot có ưu điểm có độ xác có giao diện đồ họa trực quan Trang Luan van Hình 1.3: Tay máy eRobot sử dụng que hàn So với phát triển chung giới, ngành Tự động hóa Việt Nam chưa mức phát triển cao đạt thành định nhìn chung Robot phát triển Việt Nam có số vấn đề sau cần nghiên cứu phát triển: - Tăng độ xác, tốc độ mềm mại cho robot - Giao tiếp với giao diện qua cổng USB không dây thay cho giao tiếp phần mềm qua cổng LPT cổng COM - Áp dụng thuật tốn vào cho Robot để làm chủ cơng nghệ thay sử dụng thuật tốn tích hợp PLC điều khiển Robot tích hợp sẵn - Cách đưa quỹ đạo Robot thân thiện thay cho Robot truyền thống đưa quỹ đạo cho Robot thực cách lập trình theo ngơn ngữ Robot(ACL ), file tọa độ hay file CAD Tính cấp thiết đề tài Nhu cầu sử dụng robot động hóa q trình sản xuất giảm sức lao động chân tay người lao động, thay người làm việc môi Trang Luan van trường độc hại ngày tăng việc làm chủ kỹ thuật công nghệ điều khiển robot cần thiết Vì luận văn thực với tên đề tài “THIẾT KẾ MƠ HÌNH ĐIỀU KHIỂN ROBOT BẬC TỰ DO.” nhằm mụch đích tạo điều khiển cho robot với giá thành rẽ áp dụng cho mơ hình điều khiển khác 1.2.2 Giới hạn đề tài - Đề tài nghiên cứu mô động học thuận động học nghịch Robot bậc tự (Scorbot) - Đề tài nghiên cứu chế tạo điều khiển Robot bậc tự 1.2.3 Phương Pháp nghiên cứu Các phương pháp người thực đề tài thường sử dụng đề tài -Nghiên cứu lý thuyết: Nghiên cứu phương pháp nội suy spline phân tích khả ứng dụng để xây dựng mơ hình tốn học cho tốn điều khiển rôbốt quỹ đạo cho trước dạng phức tạp - Mơ phỏng: Tính tốn chạy mơ máy tính để kiểm chứng kết nghiên cứu - Phương pháp thử sai: Có tốn gặp phải đề tài mà thông số biến không xác định ngõ vào biến lớn khơng thể giải người thực đề tài phải sử dụng phương pháp thử sai - Phương pháp chuyên gia: Người nghiên cứu có tham khảo điều khiển chế tạo Trang Luan van Chương PHƯƠNG TRÌNH ĐỘNG HỌC ROBOT 2.1 GIỚI THIỆU MƠ HÌNH SỬ DỤNG: Mơ hình để người thực đề tài sử dụng cánh tay Robot SCORBOT-ER V hình 2.1 cấu trúc cánh tay Robot cơng nghiệp Robot hình 2.2 có bậc tự với trục chuyển động sau: Trục hông (chuyển động quay phải hay quay trái thân người); Trục bả vai (chuyển động khớp bả vai) Trục khuỷu tay (chuyển động khớp khuỷu tay) Trục cổ tay chuyển động theo phương thẳng đứng; Trục cổ tay chuyển động theo phương phương ngang Ngồi cịn có cấu kẹp chi tiết So với chuyển động tay người (khơng tính đến chuyển động ngón tay) có 10 bậc tự (10 khả chuyển động độc lập) cánh tay robot loại có đủ khả nắm bắt vật không gian hoạt động Cánh tay robot cơng nghiệp thường có phận sau: - Hệ thống điều khiển - Hệ thống chấp hành : Bao gồm nguồn động lực, hệ thống truyền động, hệ thống chịu lực - Bàn kẹp : Bàn kẹp phận công tác cuối cánh tay robot ,nơi cầm nắm thiết bị cộng nghệ hay vật cần di chuyển Trang Luan van Hình 2.1 : Mơ hình cánh tay robot cơng nghiệp CẤU TRÚC ROBOT SCOBOT-ER V: SCORBOT-ER V có bậc tự khớp quay, sử dụng động điện chiều có cơng suất nhỏ, tốc độ quay động chuyển động khớp cánh tay robot cánh tay robot phụ thuộc vào điện áp đặt vào động điều chỉnh vơ cấp Kết cấu truyền động khí đơn giản thơng qua bánh giảm tốc có khả tự hãm tốt làm việc Trang Luan van Ghi : Khớp hông Khớp bả vai Khớp khuỷu tay Khớp cổ tay Khớp cổ tay Tay kẹp Hình 2.2 : Chú thích mơ hình scorbot-ERV Hệ thống chấp hành Robot Kết cấu Robot gồm DC động phục vụ cho chuyển động Robot theo kết cấu hình 2.4 đây: Hình 2.3: Cơ cấu khớp cánh tay Robot Trang Luan van Trục số - Tên khớp chuyển động Chuyển động Động Base Xoay thân Shoulder Nâng hạ cánh tay Elbow Nâng hạ cánh tay Wrist Pitch Nâng hạ tay kẹp 4+5 Wrist Roll Xoay tay kẹp 4+5 Cơ cấu bao gồm động công tác, động có số thứ tự từ đến có cơng suất đỉnh 40W mô tả trên, động làm nhiệm vụ kẹp mở, công suất 20W - Hộp số động cánh tay (1, 2, 3) có tỷ số truyền 127:1; hộp số động cánh tay có tỷ số truyền 65:1; tay kẹp có tỷ số 19:1 - Các động 1, 2, 3, 4, bố trí khâu chuyển động hình thành bậc tự Đặc tính động cơ: - Kết cấu động hình 2.4 Hình 2.4: Động Pittman gồm hộp số Encoder kết cấu Encoder Trang Luan van Hình 8.9: Wrist Hình 8.10: Khung đế robot Trang 99 Luan van Hình 8.11: Bản vẽ lắp tay kẹp Trang 100 Luan van Hình 8.12: Bản vẽ lắp Shoulder Wrist Trang 101 Luan van Hình 8.13: Bản vẽ lắp phần đế robot Trang 102 Luan van Hình 8.14: Bản vẽ lắp đế robot Trang 103 Luan van PL5 CODE MATLAB MÃ HÓA 24 CHỮ CÁI THEO QUỸ ĐẠO TRÊN MẶT PHẲNG X (chữ A chữ B): Code chữ A: function A(order_of_character) global var; px = 120; py = linspace((0+order_of_character*23),(11+order_of_character*23),50); pz = linspace(0,20,50); for i = drange(1:50) [m,n]=size(py); [k,f]=size(pz); if(n==1) var.ny=[var.ny py*(var.size/20)-180]; else var.ny=[var.ny py(i)*(var.size/20)-180] end if(f==1) var.nz=[var.nz pz*(var.size/20)+450]; else var.nz=[var.nz pz(i)*(var.size/20)+450] end %% end; px = 120; pz = linspace(20,0,50); py = linspace((11+order_of_character*23),(20+order_of_character*23),50); for i = drange(1:50) [m,n]=size(py); Trang 104 Luan van [k,f]=size(pz); if(n==1) var.ny=[var.ny py*(var.size/20)-180]; else var.ny=[var.ny py(i)*(var.size/20)-180] end if(f==1) var.nz=[var.nz pz*(var.size/20)+450]; else var.nz=[var.nz pz(i)*(var.size/20)+450] end %% end; px=120; py=linspace((5.5+order_of_character*23),(15.5+order_of_character*23),50); pz=10; for i =drange(1:50) [m,n]=size(py); [k,f]=size(pz); if(n==1) var.ny=[var.ny py*(var.size/20)-180]; else var.ny=[var.ny py(i)*(var.size/20)-180] end if(f==1) var.nz=[var.nz pz*(var.size/20)+450]; else var.nz=[var.nz pz(i)*(var.size/20)+450] Trang 105 Luan van end %% end; Code chữ B: function B(order_of_character) global var; % if var.thutu==order_of_character px=120; py=0+order_of_character*23; pz=linspace(0,20,50); for i=drange(1:50) [m,n]=size(py); [k,f]=size(pz); if(n==1) var.ny=[var.ny py*(var.size/20)-180]; else var.ny=[var.ny py(i)*(var.size/20)-180] end if(f==1) var.nz=[var.nz pz*(var.size/20)+450]; else var.nz=[var.nz pz(i)*(var.size/20)+450] end %% end %%%%%%%%%%%%%%%%% px=120; py=linspace((0+order_of_character*23),(16+order_of_character*23),50); pz=20; Trang 106 Luan van for i=drange(1:50) [m,n]=size(py); [k,f]=size(pz); if(n==1) var.ny=[var.ny py*(var.size/20)-180]; else var.ny=[var.ny py(i)*(var.size/20)-180] end if(f==1) var.nz=[var.nz pz*(var.size/20)+450]; else var.nz=[var.nz pz(i)*(var.size/20)+450] end %% end px=120; py=linspace((16+order_of_character*23),(20+order_of_character*23),16); pz=linspace(20,18,16); for i=drange(1:16) [m,n]=size(py); [k,f]=size(pz); if(n==1) var.ny=[var.ny py*(var.size/20)-180]; else var.ny=[var.ny py(i)*(var.size/20)-180] end if(f==1) var.nz=[var.nz pz*(var.size/20)+450]; else Trang 107 Luan van var.nz=[var.nz pz(i)*(var.size/20)+450] end %% end px=120; py=20+order_of_character*23; pz=linspace(18,14,16); for i=drange(1:16) [m,n]=size(py); [k,f]=size(pz); if(n==1) var.ny=[var.ny py*(var.size/20)-180]; else var.ny=[var.ny py(i)*(var.size/20)-180] end if(f==1) var.nz=[var.nz pz*(var.size/20)+450]; else var.nz=[var.nz pz(i)*(var.size/20)+450] end %% end px=120; py=linspace((20+order_of_character*23),(16+order_of_character*23),16); pz=linspace(14,12,16); for i=drange(1:16) [m,n]=size(py); [k,f]=size(pz); if(n==1) Trang 108 Luan van var.ny=[var.ny py*(var.size/20)-180]; else var.ny=[var.ny py(i)*(var.size/20)-180] end if(f==1) var.nz=[var.nz pz*(var.size/20)+450]; else var.nz=[var.nz pz(i)*(var.size/20)+450] end %% end %%%%%%%%%%%%%%%%%%%%%%%%%%%% px=120; py=linspace((16+order_of_character*23),(0+order_of_character*23),50); pz=12; for i=drange(1:50) [m,n]=size(py); [k,f]=size(pz); if(n==1) var.ny=[var.ny py*(var.size/20)-180]; else var.ny=[var.ny py(i)*(var.size/20)-180] end if(f==1) var.nz=[var.nz pz*(var.size/20)+450]; else Trang 109 Luan van var.nz=[var.nz pz(i)*(var.size/20)+450] end %% end px=120; py=linspace((16+order_of_character*23),(20+order_of_character*23),16); pz=linspace(12,8,16); for i=drange(1:16) [m,n]=size(py); [k,f]=size(pz); if(n==1) var.ny=[var.ny py*(var.size/20)-180]; else var.ny=[var.ny py(i)*(var.size/20)-180] end if(f==1) var.nz=[var.nz pz*(var.size/20)+450]; else var.nz=[var.nz pz(i)*(var.size/20)+450] end %% End px=120; py=20+order_of_character*23; pz=linspace(8,4,16); for i=drange(1:16) [m,n]=size(py); [k,f]=size(pz); Trang 110 Luan van if(n==1) var.ny=[var.ny py*(var.size/20)-180]; else var.ny=[var.ny py(i)*(var.size/20)-180] end if(f==1) var.nz=[var.nz pz*(var.size/20)+450]; else var.nz=[var.nz pz(i)*(var.size/20)+450] end %% end px=120; py=linspace((20+order_of_character*23),(16+order_of_character*23),16); pz=linspace(4,0,16); for i=drange(1:16) [m,n]=size(py); [k,f]=size(pz); if(n==1) var.ny=[var.ny py*(var.size/20)-180]; else var.ny=[var.ny py(i)*(var.size/20)-180] end if(f==1) var.nz=[var.nz pz*(var.size/20)+450]; else var.nz=[var.nz pz(i)*(var.size/20)+450] end end Trang 111 Luan van px=120; py=linspace((16+order_of_character*23),(0+order_of_character*23),50); pz=0; for i=drange(1:50) [m,n]=size(py); [k,f]=size(pz); if(n==1) var.ny=[var.ny py*(var.size/20)-180]; else var.ny=[var.ny py(i)*(var.size/20)-180] end if(f==1) var.nz=[var.nz pz*(var.size/20)+450]; else var.nz=[var.nz pz(i)*(var.size/20)+450] end %% end Trang 112 Luan van S K L 0 Luan van ... nghệ điều khiển robot cần thiết Vì luận văn thực với tên đề tài “THIẾT KẾ MƠ HÌNH ĐIỀU KHIỂN ROBOT BẬC TỰ DO. ” nhằm mụch đích tạo điều khiển cho robot với giá thành rẽ áp dụng cho mơ hình điều khiển. .. Chương trình điều khiển Hình 4.3 : Sơ đồ khối nguyên lý điều khiển tổng quát Trang 29 Luan van 4.1.2 Thiết kế module điều khiển Bộ điều khiển Robot thiết kế thành module hình 4.4 sau: Hình 4.4 :... hệ điều khiển bao gồm: Phần mềm điều khiển máy tính, board mạch xuất xung đồng cho driver 4.1.1 Thiết kế tổng quát hệ điều khiển Bộ điều khiển có nhiều mơ hình để lựa chọn người thực điều khiển

Ngày đăng: 02/02/2023, 10:03

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN