hướng dẫn mô phỏng thiết kế robot gắp vật 3 bậc tự do RRRchương 1 nêu tổng quan về robotchương 2 đưa ra các cấu hình và chọn cấu hình tối ưu,giới thiệu sơ qua về robot 3 bậc tự do RRR. Mô phỏng thiết kế,tính toán bài toán động học thuận và ngược để xác định được vị trí biến khớp và tay kẹp để đánh giá mức độ phù hợp của robot trong công nghiệp,....
Khoa Điện tử Cộng hòa xã hội chủ nghĩa Việt Nam Bộ môn Cơ điện tử Độc Lập – Tự Do – Hạnh Phúc o0o ĐỒ ÁN MÔN HỌC ROBOT CÔNG NGHIỆP Sinh viên thực : NGUYỄN VĂN TÚC Mssv:K145520114053 Lớp : K50 CĐT01 Giảng viên hướng dẫn: DƯƠNG QUỐC KHÁNH Đề tài: Tính tốn thiết kế Robot ba bậc tự RRR gắp vật - Thông số kĩ thuật robot cần thực : - Sức nâng : 3kg - Tầm làm việc :1860 mm - Bậc tự : - Độ xác lặp lại : : ±0,5mm Nhiệm vụ bao gồm: 1.Tổng quan đối tượng thiết kế 2.Giải toán động học, động lực học 3.Mô động học trình làmviệc Ngày giao đề: 10/07/2018 Ngày hồn thành:15/08/2018 Trưởng môn Giáo viên hướng dẫn PGS.TS Phạm Thành Long Ths.Dương Quốc Khánh NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN -o0o Thái Nguyên, ngày … tháng … năm 2018 Giáo viên hướng dẫn NHẬN XÉT CỦA GIÁO VIÊN -o0o Thái Nguyên, ngày … tháng … năm 2018 Giáo viên MỤC LỤC TÀI LIỆU THAM KHẢO LỜI CAM ĐOAN Chúng em xin cam đoan đồ án hồn tồn chúng em tự tìm hiểu, tự làm theo hướng dẫn nhiệt tình thầy giáo DƯƠNG QUỐC KHÁNH Các nội dung, kết đồ án trung thực hoàn toàn chưa cơng bố hình thức Trong đồ án có sử dụng kiến thức, nhận xét, đánh thông số tác giả, quan tổ chức mà chúng em tham khảo từ nhiều nguồn khác nhau, ghi rõ phần tài liệu tham khảo Trường Đại học Kỹ thuật Công nghiệp Thái Nguyên không liên quan đến vi phạm quyền, quyền tác giả chúng em gây q trình thực đồ án (nếu có) Sinh viên thực Nguyễn Văn Túc LỜI NÓI ĐẦU Đã gần kỷ, kể từ xuất giới mẫu hình robot có hàng vạn robot đời làm việc nhiều lĩnh vực sản xuất đời sống – xã hội hầu khắp quốc gia giới ngày robot trở thành tên gọi phổ biến nhân dân Robot trở thành nguồn lực lao động với suất chất lượng cao nhiều lĩnh vực như: công nghiệp, nông nghiệp, y học, an ninh quốc phòng v.v Trong số robot cơng nghiệp đóng vai trò quan trọng Robot nói chung robot cơng nghiệp nói riêng tích hợp tinh vi lĩnh vực học – điện – điện tử kỹ thuật điều khiển Có thể nói robot số loại hình sản xuất trí tuệ cao cấp thời đại ngày nay, người tạo để phục vụ người Ở nước ta, robot công nghiệp xuất sau năm 1990 lĩnh vực khí, tự động hóa Để đáp ứng nhu cầu xã hội tiếp cận khoa học kỹ thuật tương lai, tảng ngành điện tử mà chúng em thầy cô truyền đạt nghiên cứu sở ban đầu để chúng em tiếp thu trang bị kiến thức cao , để làm chủ máy móc cơng cụ đại Đề tài mà nhóm em giao “Thiết kế robot công nghiệp bậc tự RRR gắp vật” Đó đề tài bổ ích Nó giúp chúng em làm quen tìm hiểu vấn đề cốt lõi Robot Qua chúng em tìm hiểu sâu hơn, qua làm đồ án hình thành thêm kỹ làm việc, lập kế hoạch, viết báo cáo…rất có ích cho sau Trong q trình làm đồ án có nhiều vấn đề đặt mà phạm vi kiến thức hiểu biết chúng em chưa giải được, chúng em mong nhận bảo hướng dẫn thầy để đồ án hồn thiện hơn! Chúng em xin chân thành cảm ơn quan tâm hướng dẫn tận tình thầy giáo DƯƠNG QUỐC KHÁNH thầy cô giáo khác môn Cơ điện tử trường Đại học kĩ thuật Công nghiệp Thái Nguyên Em xin chân thành cảm ơn! CHƯƠNG I : GIỚI THIỆU VỀ ROBOT CÔNG NGHIỆP I.Tổng quan Robot công nghiệp 1.1.Định nghĩa robot công nghiệp * Robot công nghiệp thiết bị tự động đặt cố định hay di động,có thể liên kết với nhiều thiết bị tự động khác,có thể lập trình để thực chức thao tác trình sản xuất * Theo tiêu chuẩn AFNOR Pháp: Robot công nghiệp cấu chuyển động tự động lập trình, lặp lại chương trình, tổng hợp chương trình đặt trục tọa độ, có khả định vị, định hướng, di chuyển đối tượng vật chất chi tiết, đạo cụ, gá lắp theo hành trình thay đổi chương trình hóa nhằm thực nhiệm vụ cơng nghệ khác * Theo tiêu chuẩn RIA Mỹ (Robot institute of America): Robot tay máy vạn lặp lại chương trình, thiết kế để di chuyển vật liệu, chi tiết, dụng cụ, thiết bị chuyên dùng thông qua chương trình chuyển động thay đổi để hồn thành nhiệm vụ khác * Theo tiêu chuẩn TOCT 25686-85 Nga: Robot công nghiệp máy tự động, đặt cố định di động được, liên kết tay máy hệ thống điều khiển theo chương trình, lặp lặp lại để hoàn thành chức vận động điều khiển q trình sản xuất * Do đó, robot cơng nghiệp hiểu thiết bị tự động linh hoạt, thực chức lao động công nghiệp người hệ thống điều khiển theo chương trình lập trình sẵn 1.2 Lịch sử phát triển a Trên giới Thuật ngữ robot xuất vào năm 1920 tác phẩm văn học nhà văn Tiệp Khắc tên Karel Capek Thuật ngữ Inducstrial Robot (IR) xuất Mỹ công ty AMF (Americal Machine and Foundry Company) quảng cáo mô thiết bị mang dáng dấp có số chức tay người điều khiển tự động thực số thao tác để sản xuất thiết bị có tên gọi Versatran Q trình phát triển IR tóm tắt sau: - Vào đầu năm 1960 xuất sản phẩm có tên gọi Versatran công ty AMF - Ở nước Tây Âu khác như: Đức, Pháp, Ý, Thụy Điển bắt đầu chế tạo IR từ năm 1970 - Châu Á có Nhật Bản bắt đầu nghiên cứu ứng dụng IR từ năm 1968 Đến nay, giới có 200 cơng ty sản xuất IR số có 80 cơng ty Nhật Bản, 90 công ty Tây Âu, 30 công ty Mỹ số công ty Nga b Tại Việt Nam * Tại Việt Nam, nghiên cứu phát triển robot có bước tiến đáng kể 25 năm vừa qua Nhiều đơn vị toàn quốc thực nghiên cứu nghiên cứu ứng dụng robot như: Trung tâm Tự động hoá-Đại học Bách Khoa Hà Nội, Viện Điện tử -Tin học, Viện Khoa học Công nghệ quân sự, Học viện Kỹ thuật Quân sự, Viện Cơ học, Viện Công nghệ thông tin thuộc Viện KHCNVN… * Bên cạnh đó, phải kể đến Công ty Cổ phần Robot TOSY doanh nghiệp thiết kế chế tạo Robot Việt Nam có nhiều sản phẩm ấn tượng thị trường 1.2.1.Kết cấu chung -Tay máy (Manipulator):là cấu khí gồm khâu, khớp Chúng hình thành cánh tayđể tạo chuyển động bản, cổ taytạo nên khéo léo, linh hoạt bàn tay (End Effector)để trực tiếp hoàn thành thao tác đối tượng -Cơ cấu chấp hành :tạo chuyển động cho khâu tay máy Nguồn động lực cấu chấp hành động loại: điện, thuỷ lực, khí nén kết hợp chúng -Hệ thống cảm biến:gồm sensor thiết bị chuyển đổi tín hiệu cần thiết khác Các robot cần hệ thống sensor để nhận biết trạng thái thân cấu robot sensor ngồi để nhận biết trạng thái mơi trường -Hệ thống điều khiển (Controller):hiện thường máy tính để giám sát điều khiển hoạt động robot 1.2.2.Cấu tạo Robot Một robot thường gồm có ba phận là: tay máy, phận dẫn động, phận điều khiển a.Tay máy: Tay máy (manipulator): phận khí quan trọng, đóng vai trò phận chấp hành robot Tay máy mô giống bàn tay người, nên có phận với tên gọi sau: Đó cánh tay gồm khớp vai, cánh tay, khuỷu tay, cẳng tay bàn tay Cánh tay nói với giá khớp vai bàn tay nối với cánh tay khớp cổ tay Như cánh tay bàn tay có nhiều khâu khớp trung gian, số lượng khâu khớp để tạo nên cánh tay máy tùy thuộc vào chức năng, nhiệm vụ robot mà cấu tạo tay máy khác b Bộ phận dẫn động: Bộ phận dẫn động (power unit): Thường loại động sau: Động điện; Động điện xoay chiều Động điện chiều; Động bước; Động khí nén; Động thủy lực c.Bộ phận điều khiển: Bộ phận điều khiển (control unit): Để điều khiển hoạt động robot, phận điều khiển robot giữ vai trò quan trọng giống não người Bộ phận điều khiển thường đượcthực thơngqua hệ thống chương trình điều khiển- chương trình đảm nhận nhiệm vụ cụ thể Tùy thuộc vào đặc điểm làm việc loại robot mà chương trình điều khiển nói xây dựng khác cho phù hợp 1.3 Phân loại Robot cơng nghiệp a.Phân loại theo kết cấu: 10 Hình 2.6b + Tại điểm có tọa độ (400, 350,200) ta kết biến khớp q sau : Hình 2.6c + Tại điểm có tọa độ (400, 350, 250) ta kết biến khớp q sau : 39 Hình 2.6d + Tại điểm có tọa độ (450, 350, 200) ta kết biến khớp q sau: Hình 2.6e 40 + Tại điểm có tọa độ (450, 400, 300) ta kết biến khớp q sau : Hình 2.6f Ta có bảng giá trị biến khớp sau giải xong: P P0 P1 P2 P3 P4 P5 a14 a24 a34 q1 q2 0.982793 -0.1848 100 150 0.982792 0.015626 100 150 100 0.718829 0.434424 400 350 200 0.718829 0.540163 400 350 250 0.661043 0.412319 450 350 200 0.726642 0.584264 450 400 300 Kết biến khớp sau giải Excel Code Lập trình Matlab : function varargout = laptrinh(varargin) 41 q3 -2.04514 -2.2676 -1.77456 -1.82802 -1.67506 -1.68087 gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, 'gui_Singleton', gui_Singleton, 'gui_OpeningFcn', @laptrinh_OpeningFcn, 'gui_OutputFcn', @laptrinh_OutputFcn, 'gui_LayoutFcn', [] , 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end function laptrinh_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject; guidata(hObject, handles); function varargout = laptrinh_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output; function slider1_Callback(hObject, eventdata, handles) ModelName = 'DOANTUC'; global var; 42 t1=get(handles.slider1,'value'); set(handles.edit1,'string',num2str(t1)); t2=get(handles.slider2,'value'); set(handles.edit2,'string',num2str(t2)); t3=get(handles.slider3,'value'); set(handles.edit3,'string',num2str(t3)); set_param([ModeName '/Slider Gain'],'Gain',num2str(t1)) set_param([ModeName '/Slider Gain1'],'Gain',num2str(t2)) set_param([ModeName '/Slider Gain2'],'Gain',num2str(t3)) A1=[cosd(t1) sind(t1) 0;sind(t1) -cosd(t1) 0;0 450;0 0 1]; A2=[cosd(t2) -sind(t2) 470*cosd(t2);sind(t2) cosd(t2) 470*sind(t2);0 0;0 0 1]; A3=[cosd(t3) -sind(t3) 460*cosd(t3);sind(t3) cosd(t3) 460*sind(t3);0 0;0 0 1]; B=A1*A2*A3; px=B(1,4); py=B(2,4); pz=B(3,4); set(handles.edit4,'string',num2str(px)); set(handles.edit5,'string',num2str(py)); set(handles.edit6,'string',num2str(pz)); function slider1_CreateFcn(hObject, eventdata, handles) if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 9]); end 43 function edit1_Callback(hObject, eventdata, handles) function edit1_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function slider2_Callback(hObject, eventdata, handles) ModelName = 'DOANTUC'; global var; t1=get(handles.slider1,'value'); set(handles.edit1,'string',num2str(t1)); t2=get(handles.slider2,'value'); set(handles.edit2,'string',num2str(t2)); t3=get(handles.slider3,'value'); set(handles.edit3,'string',num2str(t3)); set_param([ModeName '/Slider Gain'],'Gain',num2str(t1)) set_param([ModeName '/Slider Gain1'],'Gain',num2str(t2)) set_param([ModeName '/Slider Gain2'],'Gain',num2str(t3)) A1=[cosd(t1) sind(t1) 0;sind(t1) -cosd(t1) 0;0 450;0 0 1]; A2=[cosd(t2) -sind(t2) 470*cosd(t2);sind(t2) cosd(t2) 470*sind(t2);0 0;0 0 1]; 44 A3=[cosd(t3) -sind(t3) 460*cosd(t3);sind(t3) cosd(t3) 460*sind(t3);0 0;0 0 1]; B=A1*A2*A3; px=B(1,4); py=B(2,4); pz=B(3,4); set(handles.edit4,'string',num2str(px)); set(handles.edit5,'string',num2str(py)); set(handles.edit6,'string',num2str(pz)); function slider2_CreateFcn(hObject, eventdata, handles) if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 9]); end function edit2_Callback(hObject, eventdata, handles) function edit2_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function slider3_Callback(hObject, eventdata, handles) ModelName = 'DOANTUC'; 45 global var; t1=get(handles.slider1,'value'); set(handles.edit1,'string',num2str(t1)); t2=get(handles.slider2,'value'); set(handles.edit2,'string',num2str(t2)); t3=get(handles.slider3,'value'); set(handles.edit3,'string',num2str(t3)); set_param([ModeName '/Slider Gain'],'Gain',num2str(t1)) set_param([ModeName '/Slider Gain1'],'Gain',num2str(t2)) set_param([ModeName '/Slider Gain2'],'Gain',num2str(t3)) A1=[cosd(t1) sind(t1) 0;sind(t1) -cosd(t1) 0;0 450;0 0 1]; A2=[cosd(t2) -sind(t2) 470*cosd(t2);sind(t2) cosd(t2) 470*sind(t2);0 0;0 0 1]; A3=[cosd(t3) -sind(t3) 460*cosd(t3);sind(t3) cosd(t3) 460*sind(t3);0 0;0 0 1]; B=A1*A2*A3; px=B(1,4); py=B(2,4); pz=B(3,4); set(handles.edit4,'string',num2str(px)); set(handles.edit5,'string',num2str(py)); set(handles.edit6,'string',num2str(pz)); function slider3_CreateFcn(hObject, eventdata, handles) if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 9]); 46 end function edit3_Callback(hObject, eventdata, handles) function edit3_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function pushbutton1_Callback(hObject, eventdata, handles) ModelName = 'DOANTUC'; global var; t1=0; set(handles.edit1,'string',num2str(t1)); t2=0; set(handles.edit2,'string',num2str(t2)); t3=0; set(handles.edit3,'string',num2str(t3)); set_param([ModelName '/Slider Gain'],'Gain',num2str(t1)) set_param([ModelName '/Slider Gain1'],'Gain',num2str(t2)) set_param([ModelName '/Slider Gain2'],'Gain',num2str(t3)) A1=[cosd(t1) sind(t1) 0;sind(t1) -cosd(t1) 0;0 450;0 0 1]; A2=[cosd(t2) -sind(t2) 470*cosd(t2);sind(t2) cosd(t2) 470*sind(t2);0 0;0 0 1]; A3=[cosd(t3) -sind(t3) 460*cosd(t3);sind(t3) cosd(t3) 460*sind(t3);0 0;0 0 1]; 47 B=A1*A2*A3; px=B(1,4); py=B(2,4); pz=B(3,4); set(handles.edit4,'string',num2str(px)); set(handles.edit5,'string',num2str(py)); set(handles.edit6,'string',num2str(pz)); function slider4_Callback(hObject, eventdata, handles) px=get(handles.slider4,'value'); set(handles.edit4,'string',num2str(px)); function slider4_CreateFcn(hObject, eventdata, handles) if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 9]); end function edit4_Callback(hObject, eventdata, handles) function edit4_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function slider5_Callback(hObject, eventdata, handles) 48 py=get(handles.slider5,'value'); set(handles.edit5,'string',num2str(py)); function slider5_CreateFcn(hObject, eventdata, handles) if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 9]); end function edit5_Callback(hObject, eventdata, handles) function edit5_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function slider6_Callback(hObject, eventdata, handles) pz=get(handles.slider6,'value'); set(handles.edit6,'string',num2str(pz)); function slider6_CreateFcn(hObject, eventdata, handles) if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 9]); end function edit6_Callback(hObject, eventdata, handles) 49 function edit6_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function pushbutton2_Callback(hObject, eventdata, handles) ModelName = 'DOANTUC'; global var; px=get(handles.slider4,'value'); set(handles.edit4,'string',num2str(px)); py=get(handles.slider5,'value'); set(handles.edit5,'string',num2str(py)); pz=get(handles.slider6,'value'); set(handles.edit6,'string',num2str(pz)); C1=450; C2=470; C3=460; theta1=atan2d(px,py); theta23=0; m=cosd(theta1)*px+sind(theta1)*py; n=pz-C1; theta3=acosd((m^2+n^2-c3^2-C2^2)/(2*C3*C2)); theta2=atan2d((cosd(theta2)*C3+C2)*n-sind(theta3)*a3*m, (cosd(theta3)*C3+C2)*m+sind(theta3)*C3*n); guidata(h0bject,handles); set(handles.edit1,'string',theta1); set_param([ModelName '/Slider Gain'],'Gain',num2str(theta1)) set(handles.edit2,'string',theta2); 50 set_param([ModelName '/Slider Gain1'],'Gain',num2str(theta2)) set(handles.edit3,'string',theta3); set_param([ModelName '/Slider Gain2'],'Gain',num2str(theta3)) function pushbutton3_Callback(hObject, eventdata, handles) close; 51 CHƯƠNG III: Kết Luận Những kết có được: - Dựa phần mềm đa MATLAB , SOLIDWORKS , EXCEL xây dựng chương trình tính toán động học ngược, động lực học thuận điều khiển Robot chuyển động dựa phép toán - Tìm mối liên hệ biến khớp vị trí toạ độ điểm cuối từ xây dựng quỹ đạo chuyển động thích hợp - Xây dựng tốn điều khiển mơ quỹ đạo chuyển động khâu thao tác đáp ứng tín hiệu đặt mong muốn với cơng cụ Simulink-SimMechanics tích hợp Matlab Định hướng phát triển tương lai - Các kết có bước đệm cho tư thiết kế Robot ý tưởng em tương lai cho sản phẩm Robot hàn hồn thiện thực tế ngồi ứng dụng vào cơng việc hoạ với mong muốn cho Robot viết chữ hay vẽ tranh khí robot hàn 52 TÀI LIỆU THAM KHẢO [1] PGS.TS Phạm Thành Long (2015) Robot công nghiệp Đại học kỹ thuật công nghiệp Thái Nguyên [2] Nguyễn Mạnh Tiến (2007) Điều khiển Robot công nghiệp Nhà Xuất Bản Khoa Học Kỹ Thuật, Hà Nội [3] Đào Văn Hiệp (2004) Kỹ thuật Robot Nhà Xuất Bản Khoa Học Kỹ Thuật, Hà Nội [4] Phạm Đăng Phước (2007) Robot công nghiệp Nhà Xuất Bản Xây Dựng,Hà Nội [5] TS Nguyễn Quang Hoàng, Cơ sở Matlab Simulink [6] Nguyễn Doãn Phước, Lý thuyết điều khiển tự động [7] GS.TSKH Nguyễn Văn Khang, Cơ sở Robot công nghiệp [8] Modeling, Simulation and Position Control of 3DOF Articulated Manipulator (3, September 2014) [9] Các website, forum trực tuyến www.mathworks.com, www.dientuvietnam.net, http://codientu.org 53 ... dụng robot bậc tự gắp vật thực tiễn 19 _Robot bậc tự gắp vật góp phần vào phát triển công nghiệp robot sản xuất CHƯƠNG II: ĐỘNG HỌC ROBOT CHUỖI BẬC TỰ DO RRR 2.1 Mục đích nghiên cứu: Động học robot. .. việc Robot P P0 P1 P2 P3 P4 P5 2.4 a14 100 a24 a34 100 150 150 100 400 35 0 200 400 35 0 250 450 35 0 200 450 400 30 0 Kết luận _ Từ nhỉn tổng quan ta biết robot gắp vật cần thực gồm bậc tự , hình dáng... trung bình 2.2 Robot bậc tự cần thực Hình 2.2: Lược đồ cấu trúc động học Robot 3dof RRR Ta chọn d1=450mm ; a2=470mm ;a3= 460mm Thông sỗ kỹ thuật robot : 17 + Robot bao gồm : Cánh tay khí , điều