Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 138 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
138
Dung lượng
6,07 MB
Nội dung
TRƯỜNG ĐẠI HỌC KỸ THUẬT – CÔNG NGHỆ CẦN THƠ KHOA KỸ THUẬT CƠ KHÍ LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC THIẾT KẾ VÀ CHẾ TẠO MƠ HÌNH ROBOT SCARA PHÂN LOẠI SẢN PHẨM THEO MÀU SẮC VÀ HÌNH DẠNG CÁN BỘ HƯỚNG DẪN: SINH VIÊN THỰC HIỆN: Ths: ĐƯỜNG KHÁNH SƠN PHAN PHÚC HẬU MSSV: 1600061 Ngành: Công nghệ kỹ thuật Cơ điện tử - 2016 Cần Thơ - 2020 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nhận xét giáo viên hướng dẫn Cần Thơ, ngày … tháng … năm 2020 GVHD LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nhận xét giáo viên phản biện Cần Thơ, ngày … tháng … năm 2020 GVPB LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC KỸ THUẬT – CÔNG NGHỆ CẦN THƠ Cán hướng dẫn: Ths ĐƯỜNG KHÁNH SƠN Luận văn đại học bảo vệ Trường Đại học Kỹ thuật – Công nghệ Cần Thơ ngày 22 tháng 07 năm 2020 Thành phần Ban chấm đánh giá luận văn đại học gồm: Trưởng ban: Uỷ viên phản biện: Thư ký ban chấm: Xác nhận Ban chấm đánh giá sau luận văn sửa chữa (nếu có) TRƯỞNG BAN UỶ VIÊN PHẢN BIỆN THƯ KÝ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com TRƯỜNG ĐẠI HỌC CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KỸ THUẬT - CÔNG NGHỆ CẦN THƠ Độc lập - Tự - Hạnh phúc KHOA KỸ THUẬT CƠ KHÍ NHIỆM VỤ LUẬN VĂN ĐẠI HỌC Họ tên sinh viên: PHAN PHÚC HẬU MSSV: 1600061 Ngày, tháng, năm sinh: 30/07/1998 Nơi sinh: Cần Thơ Ngành: Công nghệ kỹ thuật điện tử Mã số: 7510203 TÊN ĐỀ TÀI: THIẾT KẾ VÀ CHẾ TẠO MƠ HÌNH ROBOT SCARA PHÂN LOẠI SẢN PHẨM THEO MÀU SẮC VÀ HÌNH DẠNG NHIỆM VỤ VÀ NỘI DUNG Nhiệm vụ: Ứng dụng công nghệ xử lý ảnh cho Robot SCARA để phân loại sản phẩm theo màu sắc hình dạng từ đưa định cho cánh tay Nội dung: - Thiết kế, chế tạo mơ hình Robot Scara hồn chỉnh - Thiết kế mạch điều khiển cho Robot Scara - Xây dựng giao diện người dùng máy tính phần mềm Matlab - Ứng dụng xử lý ảnh vào mơ hình Robot để phân loại sản phẩm THỜI GIAN GIAO ĐỀ TÀI: 10/01/2020 THỜI GIAN HOÀN THÀNH: 07/07/2020 Cần Thơ, ngày … tháng … năm 2020 KHOA KỸ THUẬT CƠ KHÍ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LỜI CẢM ƠN LỜI CẢM ƠN Để hoàn thành đề tài luận văn kết thúc khóa học, em xin bày tỏ lịng biết ơn sâu sắc đến trường Đại học kỹ thuật – công nghệ Cần Thơ tạo điều kiện cho em có mơi trường học tập tốt suốt thời gian học tập nghiên cứu trường Đặc biệt, em xin chân thành cảm ơn thầy Đường Khánh Sơn tận tình hướng dẫn giúp đỡ em trình hồn thành luận văn Đồng thời, em gửi lời cảm ơn chân thành đến thầy cô khoa Kỹ thuật khí, gia đình bạn bè giúp đỡ tạo điều kiện tốt cho em trình học tập trình hồn thành luận văn tốt nghiệp Em xin chân thành cảm ơn! SVTH: Phan Phúc Hậu Trang I LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LỜI CẢM ƠN LỜI CAM ĐOAN Em xin cam đoan đề tài: “Thiết kế chế tạo mơ hình Robot SCARA phân loại sản phẩm theo màu sắc hình dạng” cơng trình nghiên cứu thực cá nhân em hướng dẫn thầy Đường Khánh Sơn Trong báo cáo, tất số liệu, hình ảnh thông tin đề tài em thu thập với thái độ khách quan trung thực Ngoài ra, số nguồn tài liệu tham khảo trích dẫn nguồn thích rõ ràng, không chép tài liệu mà khơng có trích dẫn Em xin hồn tồn chịu trách nhiệm trước môn, khoa nhà trường cam đoan Sinh viên thực SVTH: Phan Phúc Hậu Trang II LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com TÓM TẮT LUẬN VĂN TÓM TẮT LUẬN VĂN Đề tài luận văn “Thiết kế chế tạo mơ hình Robot Scara phân loại sản phẩm theo màu sắc hình dạng” bao gồm nội dung cốt lõi như: tìm hiểu khái niệm kiến thức Robot, thiết kế chế tạo mơ hình Robot Scara bậc tự hoạt động linh hoạt xác, thiết kế mạch điều khiển giao diện điều khiển cho Robot, xây dựng giải thuật PID điều khiển vị trí động DC, ứng dụng xử lý ảnh vào mơ hình để phân loại sản phẩm SVTH: Phan Phúc Hậu Trang III LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com MỤC LỤC MỤC LỤC LỜI CẢM ƠN I LỜI CAM ĐOAN II TÓM TẮT LUẬN VĂN III MỤC LỤC .i DANH MỤC HÌNH ẢNH iv DANH MỤC BẢNG iv CHƯƠNG 1: TỔNG QUAN 1.1 Tổng quan đề tài 1.1.1 Đặt vấn đề 1.1.2 Mục tiêu đề tài 1.1.3 Giới hạn đề tài 1.2 Giới thiệu sơ lượt Robot công nghiệp 1.2.1 Lịch sử hình thành phát triển 1.2.2 Cấu trúc Robot công nghiệp 1.2.3 Ứng dụng 10 1.3 Giới thiệu sơ lượt Robot Scara 11 CHƯƠNG 2: ĐỐI TƯỢNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU 14 2.1 Đối tượng nghiên cứu 14 2.2 Phương pháp nghiêm cứu 14 2.2.1 Phần mềmMatlab 14 2.2.2 Matlab GUI 17 2.2.3 Xử lý ảnh Matlab 21 2.2.4 Phần mềm Invertor 27 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com SVTH: Phan Phúc Hậu Trang i LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com PHỤ LỤC % See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function theta2_Callback(hObject, eventdata, handles) % hObject handle to theta2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of theta2 as text % % str2double(get(hObject,'String')) returns contents of theta2 as a double - Executes during object creation, after setting all properties function theta2_CreateFcn(hObject, eventdata, handles) % hObject handle to theta2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows % See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function theta3_Callback(hObject, eventdata, handles) % hObject handle to theta3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of theta3 as text SVTH: Phan Phúc Hậu Trang 104 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com PHỤ LỤC % % str2double(get(hObject,'String')) returns contents of theta3 as a double - Executes during object creation, after setting all properties function theta3_CreateFcn(hObject, eventdata, handles) % hObject handle to theta3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows % See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function px_Callback(hObject, eventdata, handles) % hObject handle to px (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of px as text % str2double(get(hObject,'String')) returns contents of px as a double % - Executes during object creation, after setting all properties function px_CreateFcn(hObject, eventdata, handles) % hObject handle to px (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % % Hint: edit controls usually have a white background on Windows See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) SVTH: Phan Phúc Hậu Trang 105 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com PHỤ LỤC set(hObject,'BackgroundColor','white'); end function py_Callback(hObject, eventdata, handles) % hObject handle to py (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of py as text % str2double(get(hObject,'String')) returns contents of py as a double % - Executes during object creation, after setting all properties function py_CreateFcn(hObject, eventdata, handles) % hObject handle to py (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows % See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function pz_Callback(hObject, eventdata, handles) % hObject handle to pz (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % % % Hints: get(hObject,'String') returns contents of pz as text str2double(get(hObject,'String')) returns contents of pz as a double - Executes during object creation, after setting all properties SVTH: Phan Phúc Hậu Trang 106 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com PHỤ LỤC function pz_CreateFcn(hObject, eventdata, handles) % hObject handle to pz (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows % See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % - Executes on button press in dht function dht_Callback(hObject, eventdata, handles) % hObject handle to dht (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global s; global l1 l2 l3; d1 = get(handles.d1,'String'); theta2 = get(handles.theta2,'String'); theta3 = get(handles.theta3,'String'); fprintf(s , 'ff'); fprintf(s , 'a'); fprintf(s , d1); pause(2) fprintf(s , 'b'); fprintf(s , theta2); fprintf(s , 'c'); fprintf(s , theta3); d1 = str2num(d1); theta2 = str2num(theta2); theta3 = str2num(theta3); T1 = [1 0 l3 ; 0 ; 0 d1 ; 0 1]; SVTH: Phan Phúc Hậu Trang 107 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com PHỤ LỤC T2 = [cosd(theta2) -sind(theta2) l1*cosd(theta2) ; sind(theta2) cosd(theta2) l1*sind(theta2) ; 0 ; 0 1]; T3 = [cosd(theta3) -sind(theta3) l2*cosd(theta3) ; sind(theta3) cosd(theta3) l2*sind(theta3) ; 0 ; 0 1]; T = T1*T2*T3; px = T(1,4); py = T(2,4); pz = T(3,4); set(handles.px,'String',num2str(round(px,2))); set(handles.py,'String',num2str(round(py,2))); set(handles.pz,'String',num2str(round(pz,2))); % - Executes on button press in dhn function dhn_Callback(hObject, eventdata, handles) % hObject handle to dhn (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global s; global l1 l2 l3; px = get(handles.px,'String'); py = get(handles.py,'String'); pz = get(handles.pz,'String'); px = str2num(px)-l3; py = str2num(py); d1 = str2num(pz); c3 = (px^2+py^2-l1^2-l2^2)/(2*l1*l2); s3 = sqrt(1-(c3)^2); theta3 = atan2d(s3,c3); denta = px^2+py^2; denta1 = l1*px+l2*(px*c3+py*s3); denta2 = l1*py+l2*(py*c3-px*s3); c2 = denta1/denta; s2 = denta2/denta; theta2 = atan2d(s2,c2); SVTH: Phan Phúc Hậu Trang 108 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com PHỤ LỤC fprintf(s , 'ff'); fprintf(s , 'a'); fprintf(s , num2str(d1)); pause(2) fprintf(s , 'b'); fprintf(s , num2str(theta2)); fprintf(s , 'c'); fprintf(s , num2str(theta3)); set(handles.d1,'String',num2str(round(d1,2))); set(handles.theta2,'String',num2str(round(theta2,2))); set(handles.theta3,'String',num2str(round(theta3,2))); % - Executes on button press in reset function reset_Callback(hObject, eventdata, handles) % hObject handle to reset (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global s; global l1 l2 l3; fprintf(s , 'b'); fprintf(s , '0'); fprintf(s , 'a'); fprintf(s , 'c'); fprintf(s , '0'); pause(1) fprintf(s , '0'); fprintf(s , 'oo'); set(handles.d1,'String',0); set(handles.theta2,'String',0); set(handles.theta3,'String',0); set(handles.px,'String',l1+l2+l3); set(handles.py,'String',0); set(handles.pz,'String',0); function axes1_CreateFcn(hObject, eventdata, handles) % hObject handle to axes1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: place code in OpeningFcn to populate axes1 SVTH: Phan Phúc Hậu Trang 109 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com PHỤ LỤC % - Executes on button press in oncam function oncam_Callback(hObject, eventdata, handles) % hObject handle to oncam (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global myCam; axes(handles.axes1); myCam = videoinput('winvideo',1); set(myCam,'ReturnedColorSpace','rgb'); triggerconfig(myCam,'manual'); set(myCam,'FramesPerTrigger',1 ); set(myCam,'TriggerRepeat', Inf); myCam.FrameGrabInterval = 3; hImage = image(zeros(576, 1024,3),'parent',handles.axes1); preview(myCam,hImage); % - Executes on button press in offcam function offcam_Callback(hObject, eventdata, handles) % hObject handle to offcam(see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global myCam; if (strcmp(get(myCam,'Running'),'on')) flushdata(myCam); stop(myCam); else imaqreset; end cla(handles.axes1,'reset'); SVTH: Phan Phúc Hậu Trang 110 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com PHỤ LỤC % - Executes on button press in setcam function setcam_Callback(hObject, eventdata, handles) % hObject handle to setcam (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global myCam; global X Y; axes(handles.axes1); X = []; Y = []; i = 0; rgb = getsnapshot(myCam); im = imsubtract(rgb(:,:,1), rgb2gray(rgb)); im = medfilt2(im, [3 3]); im = im2bw(im,0.15); % Remove all those pixels less than 250px im = bwareaopen(im,250); % Label all the connected components in the image bw = bwlabel(im, 8); % Here we the image blob analysis % We get a set of properties for each labeled region L = regionprops(bw, 'all'); for n = 1:length(L) W = L(n).BoundingBox(3); H = L(n).BoundingBox(4); S = L(n).Area; if H/W > 0.5 && H/W < if S >500 && S< 650 if S/(W*H)>0.5 && S/(W*H) 0.5 && H/W < if S > 500 && S < 1500 if S/(W*H) > 0.5 && S/(W*H) BRed plot(cX(i),cY(i),'r+'); text(cX(i)+25, cY(i)-12, strcat('X: ', num2str(round(cY(i)))),'Color','r'); text(cX(i)+25, cY(i)+12, strcat('Y: ', num2str(round(cX(i)-290))),'Color','r'); if (length(c) > 0) || (T > 0.9 && T < 1.1) Color(i) = 'R'; Shape(i) = 'O'; viscircles([cX(i) cY(i)],r,'EdgeColor','r'); end if ((T > 0.65 && T < 0.85) || (vat(n).Extent > 0.7)) && (length(c) == 0) Color(i) = 'R'; Shape(i) = 'X'; rectangle('Position',vat(n).BoundingBox,'EdgeColor','r','LineWidth',2); end end if WGreen > BGreen plot(cX(i),cY(i),'g+'); text(cX(i)+25, cY(i)-12, strcat('X: ', SVTH: Phan Phúc Hậu Trang 114 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com PHỤ LỤC num2str(round(cY(i)))),'Color','g'); text(cX(i)+25, cY(i)+12, strcat('Y: ', num2str(round(cX(i)-290))),'Color','g'); if (length(c) > 0) || (T > 0.9 && T < 1.1) Color(i) = 'G'; Shape(i) = 'O'; viscircles([cX(i) cY(i)],r,'EdgeColor','g'); end if ((T > 0.65 && T < 0.85) || (vat(n).Extent > 0.7)) && (length(c) == 0) Color(i) = 'G'; Shape(i) = 'X'; rectangle('Position',vat(n).BoundingBox,'EdgeColor','g','LineWidth',2); end end if WBlue > BBlue plot(cX(i),cY(i),'b+'); text(cX(i)+25, cY(i)-12, strcat('X: ', num2str(round(cY(i)))),'Color','b'); text(cX(i)+25, cY(i)+12, strcat('Y: ', num2str(round(cX(i)-290))),'Color','b'); if (length(c) > 0) || (T > 0.9 && T < 1.1) Color(i) = 'B'; Shape(i) = 'O'; viscircles([cX(i) cY(i)],r,'EdgeColor','b'); end if ((T > 0.65 && T < 0.85) || (vat(n).Extent > 0.7)) && (length(c) == 0) Color(i) = 'B'; Shape(i) = 'X'; rectangle('Position',vat(n).BoundingBox,'EdgeColor','b','LineWidth',2); end end end end end end hold off SVTH: Phan Phúc Hậu Trang 115 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com PHỤ LỤC fprintf(s , 'ff'); fprintf(s , 'a'); fprintf(s , '70'); pause(2) for j = 1:i px = cY(j)-l3; py = cX(j)-290; pz = 0; d1 = pz; c3 = (px^2+py^2-l1^2-l2^2)/(2*l1*l2); s3 = sqrt(1-(c3)^2); theta3 = atan2d(s3,c3); denta = px^2+py^2; denta1 = l1*px+l2*(px*c3+py*s3); denta2 = l1*py+l2*(py*c3-px*s3); c2 = denta1/denta; s2 = denta2/denta; theta2 = atan2d(s2,c2); set(handles.d1,'String',num2str(round(d1,2))); set(handles.theta2,'String',num2str(round(theta2,2))); set(handles.theta3,'String',num2str(round(theta3,2))); set(handles.px,'String',num2str(round(cY(j),2))); set(handles.py,'String',num2str(round(py,2))); set(handles.pz,'String',num2str(round(pz,2))); if Color(j) == 'R' && Shape(j) == 'O' fprintf(s , 'b'); fprintf(s , num2str(theta2)); fprintf(s , 'c'); fprintf(s , num2str(theta3)); pause(3) fprintf(s , 'a'); fprintf(s , '0'); pause(2) fprintf(s , 'oo'); pause(1) fprintf(s , 'a'); fprintf(s , '70'); pause(2) fprintf(s , 'b'); fprintf(s , '40'); fprintf(s , 'c'); fprintf(s , '30'); pause(3) fprintf(s , 'ff'); pause(1) end if Color(j) == 'G' && Shape(j) == 'O' fprintf(s , 'b'); fprintf(s , num2str(theta2)); fprintf(s , 'c'); fprintf(s , num2str(theta3)); pause(3) SVTH: Phan Phúc Hậu Trang 116 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com PHỤ LỤC fprintf(s , 'a'); fprintf(s , '0'); pause(2) fprintf(s , 'oo'); pause(1) fprintf(s , 'a'); fprintf(s , '70'); pause(2) fprintf(s , 'b'); fprintf(s , '37'); fprintf(s , 'c'); fprintf(s , '66'); pause(3) fprintf(s , 'ff'); pause(1) end if Color(j) == 'B' && Shape(j) == 'O' fprintf(s , 'b'); fprintf(s , num2str(theta2)); fprintf(s , 'c'); fprintf(s , num2str(theta3)); pause(3) fprintf(s , 'a'); fprintf(s , '0'); pause(2) fprintf(s , 'oo'); pause(1) fprintf(s , 'a'); fprintf(s , '70'); pause(2) fprintf(s , 'b'); fprintf(s , '49'); fprintf(s , 'c'); fprintf(s , '77'); pause(3) fprintf(s , 'ff'); pause(1) end if Color(j) == 'R' && Shape(j) == 'X' fprintf(s , 'b'); fprintf(s , num2str(theta2)); fprintf(s , 'c'); fprintf(s , num2str(theta3)); pause(3) fprintf(s , 'a'); fprintf(s , '0'); pause(2) fprintf(s , 'oo'); pause(1) fprintf(s , 'a'); fprintf(s , '70'); pause(2) fprintf(s , 'b'); fprintf(s , '-40'); fprintf(s , 'c'); fprintf(s , '-30'); pause(3) fprintf(s , 'ff'); pause(1) end if Color(j) == 'G' && Shape(j) == 'X' fprintf(s , 'b'); fprintf(s , num2str(theta2)); fprintf(s , 'c'); fprintf(s , num2str(theta3)); pause(3) SVTH: Phan Phúc Hậu Trang 117 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com PHỤ LỤC fprintf(s , 'a'); fprintf(s , '0'); pause(2) fprintf(s , 'oo'); pause(1) fprintf(s , 'a'); fprintf(s , '70'); pause(2) fprintf(s , 'b'); fprintf(s , '-37'); fprintf(s , 'c'); fprintf(s , '-66'); pause(3) fprintf(s , 'ff'); pause(1) end if Color(j) == 'B' && Shape(j) == 'X' fprintf(s , 'b'); fprintf(s , num2str(theta2)); fprintf(s , 'c'); fprintf(s , num2str(theta3)); pause(3) fprintf(s , 'a'); fprintf(s , '0'); pause(2) fprintf(s , 'oo'); pause(1) fprintf(s , 'a'); fprintf(s , '70'); pause(2) fprintf(s , 'b'); fprintf(s , '-49'); fprintf(s , 'c'); fprintf(s , '-77'); pause(3) fprintf(s , 'ff'); pause(1) end end fprintf(s , 'b'); fprintf(s , '0'); fprintf(s , 'c'); fprintf(s , '0'); pause(3) fprintf(s , 'a'); fprintf(s , '0'); fprintf(s , 'oo'); set(handles.d1,'String',0); set(handles.theta2,'String',0); set(handles.theta3,'String',0); set(handles.px,'String',l1+l2+l3); set(handles.py,'String',0); set(handles.pz,'String',0); SVTH: Phan Phúc Hậu Trang 118 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... THIẾT KẾ VÀ CHẾ TẠO MƠ HÌNH ROBOT SCARA PHÂN LOẠI SẢN PHẨM THEO MÀU SẮC VÀ HÌNH DẠNG NHIỆM VỤ VÀ NỘI DUNG Nhiệm vụ: Ứng dụng công nghệ xử lý ảnh cho Robot SCARA để phân loại sản phẩm theo màu. .. luận văn ? ?Thiết kế chế tạo mơ hình Robot Scara phân loại sản phẩm theo màu sắc hình dạng? ?? bao gồm nội dung cốt lõi như: tìm hiểu khái niệm kiến thức Robot, thiết kế chế tạo mơ hình Robot Scara bậc... vật hình vng Robot Scara .85 Hình 5.14: Kết nhận dạng hình dạng vật màu đỏ 85 Hình 5.15: Quá trình phân loại hình dạng vật màu đỏ Robot Scara 86 Hình 5.16: Kết nhận dạng hình dạng vật màu