1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thiết kế và chế tạo cánh tay robot 3 bậc tự do ứng dụng trong phân loại sản phẩm bằng xử lý ảnh

52 18 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 52
Dung lượng 1,99 MB

Nội dung

Cơ điện tử là một trong những ngành kỹ thuật cao đang phát triển mạnh mẽ Robotics là một trong những chuyên ngành kỹ thuật cơ điện tử đang được ứng dụng rộng rãi trên thế giới đã thu hút được nhiều sự chú ý ở nước ta Để xây dựng nền sản xuất hiện đại chúng ta cần nhanh chóng ứng dụng và phát triển tự động hóa nổi bật là các sản phẩm Cơ điện tử như Robot ô tô …Đặc biệt trong số những sản phẩm được ứng dụng rộng rãi trong công nghiệp thì robot 3 bậc tự do có tiềm năng phát triển cao trong nền công nghiệp vì lợi thế cốt lõi của robot 3 bậc tự do là tốc độ chính vì vậy robot 3 bậc tự do vẫn bắt được vật thể dù băng tải không dừng điều này là một trong các lợi thế giúp tăng tốc độ của dây chuyền sản xuất Và trên cũng là mục tiêu cốt lõi của đề tài xây dựng được mô hình robot 3 bậc tự do bắt vật thể trên băng tải dù băng tải không dừng ngoài ra còn có thể tạo robot 3 bậc tự do thực hiện chạy theo hành trình có thể dạy học được Để có thể xây dựng được đề tài ta cần phải nắm rõ đƣợc cơ sở lý thuyết về phƣơng pháp phân tích tính toán động học động học ngược và kỹ thuật xử lý ảnh đồng thời với các kiến thức liên quan đến tính toán thiết kế cơ khí mạch điều khiển lập trình vi điều khiển cũng nhƣ công nghệ máy tính mới có thể đưa những lý thuyết cốt lõi thành mô hình thực tế đáp ứng đƣợc các nguyên lý hoạt động đề ra

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CƠ KHÍ ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: THIẾT KẾ VÀ CHẾ TẠO CÁNH TAY ROBOT BẬC TỰ DO ỨNG DỤNG TRONG PHÂN LOẠI SẢN PHẨM BẰNG XỬ LÝ ẢNH Người hướng dẫn: Sinh viên thực hiện: TS NGUYỄN DANH NGỌC ĐẶNG HỮU TUYẾN BÙI ĐĂNG QUÂN Đà Nẵng, 2019 Thiết kế chế tạo cánh tay robot bậc tự ứng dụng phân loại sản phẩm xử lý ảnh MỤC LỤC Tóm tắt Nhiệm vụ đồ án Lời nói đầu cảm ơn i Lời cam đoan liêm học thuật Mục lục ii iii Danh sách bảng biểu, hình vẽ sơ đồ v MỤC LỤC .1 CHƢƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI .4 1.1 BỐI CẢNH THỰC HIỆN ĐỀ TÀI C C 1.2 MỤC TIÊU R L T CHƢƠNG : THIẾT KẾ VÀ CHẾ TẠO KẾT CẤU CƠ KHÍ………………………16 2.1 THIẾT KẾ CÁNH TAY ROBOT U D 2.1.1 Phân tích lựa chọn cấu trúc cánh tay robot……………………… 2.1.2 Thơng số kích thƣớc cánh tay Robot…………………………… 2.1.3 Xây dựng phƣơng trình động học thuận……………………………… 2.1.4 Quỹ đạo chuyển động Robot không gian………………… 12 2.1.5 Thiết kế phận cánh tay…………………………………… 12 2.1.5.1 Cơ cấu xoay cấu chấp hành…………………………………… 12 2.1.5.2 Cơ cấu hút………………………………………………………… 13 2.1.5.3 Tính chọn động cho cấu…………………………………… 13 2.1.5.4 Thiết kế 3D cho cánh tay robot bậc tự do………………………… 14 2.2 THIẾT KẾ BĂNG TẢI 16 2.2.1 Tính chọn kích thƣớc băng tải……………………………………… 16 2.2.2 Thiết kế 3D cho băng tải……………………………………………… 17 2.2.2.1 Thiết kế khung băng tải…………………………………………… 17 2.2.2.2 Gá động băng tải……………………………………………… 18 2.2.3 Lắp ráp băng tải……………………………………………………… 19 2.3 HỆ THỐNG CẤP PHÔI TỰ ĐỘNG 20 GVHD :T.S Nguyễn Danh Ngọc SVTH : Bùi Đăng Quân Đặng Hữu Tiến Thiết kế chế tạo cánh tay robot bậc tự ứng dụng phân loại sản phẩm xử lý ảnh 2.4 MƠ HÌNH TỔNG QUAN CỦA HỆ THỐNG .20 CHƢƠNG 3:THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN 22 3.1 THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN 22 3.2 CÁC THÀNH PHẦN CHÍNH TRONG HỆ THỐNG 22 3.2.1 Vi điều khiển Arduino Nano …………………………………….22 3.2.2 Driver A4988 ………………………………………………………… 24 3.2.3 Servo MG966R…… ………………………………………………… 24 3.2.4 Cảm biến quang:……………………………………………………….25 3.2.5 Module giảm áp Lm2596…………………………………………… 26 3.2.6 Cơng tắc hành trình…………………………………………………… 27 3.3 SƠ ĐỒ NGUN LÝ MẠCH ĐIỀU KHIỂN 28 CHƢƠNG 4: XÂY DỰNG CHƢƠNG TRÌNH ĐIỀU KHIỂN 29 C C 4.1 LƢU ĐỒ THUẬT TỐN CHƢƠNG TRÌNH CHÍNH 29 R L T 4.2 GIỚI THIỆU VỀ XỬ LÝ ẢNH VISUAL STUDIO 30 4.2.1 Giới thiệu thƣ viện Emgu CV………………………………………… 30 4.2.3 Quy trình xử lý ảnh………………………………………………… 31 U D 4.2.4 Một số hàm xử lý Emgu Cv…………………………………… 32 KẾT LUẬN 36 TÀI LIỆU THAM KHẢO .38 CODE XỬ LÝ ẢNH : 39 CODE ARDUINO 46 GVHD :T.S Nguyễn Danh Ngọc SVTH : Bùi Đăng Quân Đặng Hữu Tiến Thiết kế chế tạo cánh tay robot bậc tự ứng dụng phân loại sản phẩm xử lý ảnh MỞ ĐẦU Cơ điện tử ngành kỹ thuật cao phát triển mạnh mẽ Robotics, chuyên ngành kỹ thuật điện tử, đƣợc ứng dụng rộng rãi giới, thu hút đƣợc nhiều ý nƣớc ta Để xây dựng sản xuất đại, cần nhanh chóng ứng dụng phát triển tự động hóa, bật sản phẩm Cơ điện tử nhƣ Robot, ô tô, …Đặt biệt số sản phẩm đƣợc ứng dụng rộng rải công nghiệp, robot bậc tự có tìm phát triển cao cơng nghiệp lợi cót lõi robot bậc tự tốc độ, robot bậc tự bắt đƣợc vật thể dù băng tải không dừng điều lợi giúp tăng tốc độ dây chuyền sản xuất.Và mục tiêu cót lõi đề tài, xây dựng đƣợc mơ hình robot bậc tự bắt vật thể băng tải dù băng tải khơng dừng, ngồi cịn tạo robot bậc tự thực chạy theo hành trình dạy học đƣợc Để xây dựng đƣợc đề tài ta cần phải nắm rõ đƣợc sở lý thuyết phƣơng pháp phân tích, tính tốn động học, động học ngƣợc kỹ thuật xử lý ảnh, đồng thời với kiến thức liên quan đến tính tốn thiết kế khí, mạch điều khiển, lập trình vi điều khiển nhƣ cơng nghệ máy tính đƣa lý thuyết cót lõi thành mơ hình thực tế đáp ứng đƣợc nguyên lý hoạt động đề C C R L T U D GVHD :T.S Nguyễn Danh Ngọc SVTH : Bùi Đăng Quân Đặng Hữu Tiến Thiết kế chế tạo cánh tay robot bậc tự ứng dụng phân loại sản phẩm xử lý ảnh CHƢƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1.1 Bối cảnh thực đề tài Theo ƣớc tính Liên đoàn robot quốc tế (IRF), giới có khoảng 50% số lƣợng robot đƣợc sử dụng châu Á (trong Nhật Bản chiếm 30%), 32% châu Âu, 16% Bắc Mỹ, 1% Australia 1% châu Phi Trong đó, robot đƣợc sử dụng ngành chế tạo ôtô chiếm 33,2%, ngành unseecified chiếm 25%, ngành điện-điện tử 9,9%, ngành hoá chất + cao su + nhựa chiếm 9,4%, ngành chế tạo máy 4,3%, ngành điện tử viễn thông chiếm 2,5%, sản xuất metal chiếm 3,7%, ngành sản xuất gỗ 2,5%, ngành khác 10,3% Theo dự báo ,trên giới vịng 20 năm ngƣời có nhu cầu sử dụng robot nhƣ nhu cầu máy tính PC robot tâm điểm cách mạng công nghệ lớn sau internet.Với xu với ứng dụng truyền thông khác robot công nghiệp ,y tế,giáo dục đào tạo ,giải trí,và đặc biệt an ninh quốc phịng thị trƣờng robot dịch vụ ăn theo robot vơ lớn Trong nghành khí, robot đƣợc sử dụng nhiều công nghệ đúc, công nghệ hàn, cắt kim loại, sơn, phun, phủ kim loại,tháo lắp vận chuyển phôi,lắp rắp sản phẩm C C R L T U D Hình 1.1: Robot hàn điểm nhà máy sản xuất xe Ngày nay, xuất nhiều dây chuyền sản xuất tự động gồm máy CNC với robot công nghiệp,các dây chuyền đạt mức tự động hóa cao, mức độ linh hoạt GVHD :T.S Nguyễn Danh Ngọc SVTH : Bùi Đăng Quân Đặng Hữu Tiến Thiết kế chế tạo cánh tay robot bậc tự ứng dụng phân loại sản phẩm xử lý ảnh cao Ở máy robot công nghiệp đƣợc điều khiển hệ thống chƣơng trình Ngồi phân xƣởng nhà máy, kỹ thuật robot đƣợc sử dụng việc khai thác thềm lục địa đại dƣơng, y học, sử dụng quốc phòng, chinh phục vũ trụ, công nghiệp nguyên tử, lĩnh vực xã hội C C R L T Hình 1.2: Robot phun thuốc sinh học Rõ ràng khẳ robot số điều kiện vƣợt khẳ ngƣời, phƣơng tiện hữu hiệu để tự động hóa, nâng cao suất lao động, giảm nhẹ cho ngƣời công việc nặng nhọc độc hại.Nhƣợc điểm lớn robot chƣa linh hoạt nhƣ ngƣời Trong dây chuyền sản xuất tự động, có robot bị hỏng làm ngừng hoạt động dây chuyền, robot hoạt động dƣới giám sát ngƣời Ngày nay, Việt Nam nƣớc cơng nghiệp hóa, việc sử dụng robot công nghiệp cần thiết để nâng cao suất lao động, giảm thiểu đƣợc công ngƣời có độ xác cao Hiểu đƣợc tầm quan trọng robot đời sống nay, nên nhóm sinh viên chúng em thực đề tài “ Thiết kế chế tạo cánhtay robot bậc tự ứng dụng phân loại sản phẩm xử lý ảnh “ với mục tiêu xây dựng lên mơ hình minh họa đƣợc cách hoạt động cánh tay robot việc phân loại sản phẩm kết hợp với phƣơng thức xử lý ảnh băng tải Đây đề tài thiết thực việc ứng dụng xử lý ảnh công nghiệp để thay cho cảm biến thông thƣờng quan trọng độ xác cao hơn, phản hồi tốt, nhiễu dễ dàng lập trình Ngồi việc vận chuyển sản phẩm băng chuyền mang lại lợi ích nhƣ : - Giảm thiểu sức ngƣời lao động - Đạt đƣợc suất cao, hoạt động thời gian dài - Đạt đƣợc suất cao, hoạt động thời gian dài U D GVHD :T.S Nguyễn Danh Ngọc SVTH : Bùi Đăng Quân Đặng Hữu Tiến Thiết kế chế tạo cánh tay robot bậc tự ứng dụng phân loại sản phẩm xử lý ảnh 1.2 Mục tiêu Hình 1.3: Sơ đồ khối hệ thống Hệ thống có thành phần sau : - Một camera chụp ảnh vật phẩm - Một băng tải đủ dài để vận chuyển sản phẩm - Một cánh tay robot để đƣa vật vào ô tƣơng ứng sau phân loại - Máy tính điều khiển trung tâm để phân tích liệu từ camera điều khiển cánh tay robot Bài tốn đặt thiết kế chế tạo mơ hình cánh tay robot phân loại vật thể băng chuyền Vật thể có dạng hình trịn Máy tính thơng qua camera thu nhận hình ảnh vật thể băng chuyền để xử lý cho liệu cần thiết màu sắc gửi cho điều khiển Bộ điều khiển điều khiển cấu chấp hành bao gồm động tay máy, động băng tải, động khác để đƣa đƣợc vật phẩm vào ô tƣơng ứng C C R L T U D - Một số phần mềm để nhóm sinh viên chúng em thực đồ án : Phần mềm Solidwork : dùng để thiết kế 3D cho hệ thống Phần mềm Autocad : dùng để vẽ chi tiết 2D, sử dụng việc cắt mica Phần mềm xử lý ảnh Visual Studio : dùng để xử lý hình ảnh gởi từ camera Phần mềm Arduino : dùng để lập trình cho cấu chấp hành GVHD :T.S Nguyễn Danh Ngọc SVTH : Bùi Đăng Quân Đặng Hữu Tiến Thiết kế chế tạo cánh tay robot bậc tự ứng dụng phân loại sản phẩm xử lý ảnh CHƢƠNG : THIẾT KẾ VÀ CHẾ TẠO KẾT CẤU CƠ KHÍ Về mặt truyền động điều khiển robot đƣợc cấu tạo từ khối cấu trúc khí hoạt động nhờ cấu tác động Về mặt kết cấu robot đƣợc chế tạo khác biệt nhƣng chúng đƣợc xây dựng từ thành phần nhƣ tay máy, nguồn cung cấp, điều khiển Trong tay máy tập hợp phận cấu khí đƣợc thiết kế hình thành khối có chuyển động tƣơng Vì chƣơng 2, chúng em thiết kế khí tồn hệ thống, bao gồm cánh tay robot, băng tải phận khác Để thiết kế mơ hình 2D nhƣ 3D cho cánh tay robot nhƣ cho băng tải chi tiết khác hệ thống, tụi em sử dụng phần mềm Solidwork Autocad, vừa dễ thiết kế lại có nhiều chức hỗ trợ cho ngƣời dùng tiện lợi 2.1 Thiết kế cánh tay robot 2.1.1 Phân tích lựa chọn cấu trúc cánh tay robot Qua tìm hiểu loại cánh tay robot nhóm định thiết kế chế tạo cánh tay robot bậc tự tọa độ cầu RRR Đây loại robot phổ biến công nghiệp nhờ vào ƣu điểm: tốn khơng gian, dễ dàng bố trí không gian làm việc, độ khéo léo, linh hoạt cao, tầm hoạt động lớn, nâng hạ tải trọng lớn Tuy nhiên có nhƣợc điểm độ cứng vững theo phƣơng đứng thấp, độ xác giảm theo tầm hoạt động Cánh tay phải đạt đƣợc kích thƣớc, độ dài hợp lý để vƣơn dài, gắp vật phẩm băng tải đƣa chúng vào ô tƣơng ứng C C R L T U D Hình 2.1: Cánh tay robot tọa độ cầu GVHD :T.S Nguyễn Danh Ngọc SVTH : Bùi Đăng Quân Đặng Hữu Tiến Thiết kế chế tạo cánh tay robot bậc tự ứng dụng phân loại sản phẩm xử lý ảnh C C R L T Hình 2.2: Cơ cấu robot bậc tự Kết cấu cánh tay robot bậc tự nhƣ sau : - Đế xoay robot - Khâu chuyển động để đƣa đầu hút đến vị trí cần hút vật - Đầu hút để đƣa vật thể vào hộp 2.1.2 Thơng số kích thước cánh tay Robot Từ mục tiêu chƣơng 1, ta thiết kế đƣợc kích thƣớc cần có cánh tay robot bậc tự hệ thống để đáp ứng đƣợc yêu cầu đề tài Cánh tay robot đƣợc cấu thành phận sau: - Tay máy 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, nhƣ lên, xuống, xoay trái, phải - Nguồn động lực hệ truyền động tạo chuyển động cho khâu tay máy, sử dụng động bƣớc, servo Trong đề tài lần này, chúng em chọn vật liệu robot mica dày 5mm vừa rẻ, vừa dễ gia công, lại đẹp mắt, phù hợp với yêu cầu U D GVHD :T.S Nguyễn Danh Ngọc SVTH : Bùi Đăng Quân Đặng Hữu Tiến Thiết kế chế tạo cánh tay robot bậc tự ứng dụng phân loại sản phẩm xử lý ảnh C C R L T U D Hình 2.3: Thơng số kích thƣớc cánh tay 2.1.3 Xây dựng phương trình động học thuận Giả sử robot có cấu hình biết: độ dài nối góc quay khớp độ dịch chuyển khớp tịnh tiến Bài tốn động học thn tính tốn vị trí hƣớng cánh tay robot tƣơng ứng với cấu hình robot xác định Xác định hệ tọa độ: Ta chọn hệ tọa độ O0 nhƣ hình vẽ GVHD :T.S Nguyễn Danh Ngọc SVTH : Bùi Đăng Quân Đặng Hữu Tiến Thiết kế chế tạo cánh tay robot bậc tự ứng dụng phân loại sản phẩm xử lý ảnh Tạo giao diện điều khiển Raspberry Pi, kết nối mạng internet để điều khiển từ xa - Thay đổi chƣơng trình điều khiển theo đƣờng để mở rộng khả ứng dụng robot nhƣ robot phun sơn, hàn… - Tăng số màu nhận diện - Nhận diện thêm hình dáng kích thƣớc vật - Gắp vật thể không cần dừng băng tải Do kiến thức cịn hạn hẹp thời gian ngắn nên nhóm thiết kế chế tạo đƣợc mơ hình cánh tay robot Tuy áp dụng vào thực tế sản xuất nhƣng mơ hình giúp cho việc học tập dễ dàng trực quan hơn, hiểu rõ cách thức hoạt động khả ứng dụng Robot công nghiệp - C C R L T U D GVHD :T.S Nguyễn Danh Ngọc SVTH : Bùi Đăng Quân Đặng Hữu Tiến 37 Thiết kế chế tạo cánh tay robot bậc tự ứng dụng phân loại sản phẩm xử lý ảnh TÀI LIỆU THAM KHẢO [1] Tính tốn thiết kế hệ dẫn động khí - tập - Trịnh Chất, Lê Văn Uyển – NXB Giáo dục 2003 [2] Tính tốn thiết kế hệ dẫn động khí - tập - Trịnh Chất, Lê Văn Uyển – NXB Giáo dục 2003 [3] Robot công nghiệp – Phạm Đăng Phƣớc - NXB xây dựng 2007 [4] The bậc tự Parallel Robot: Kinematics Solutions Robert L Williams II, Ph.D., williar4@ohio.edu Mechanical Engineering, Ohio University, October 2016 [5] “Robot công nghiệp” - GS.TSKH Nguyễn Thiện Phúc - NXB Khoa Học Kỹ Thuật [6] “Kỹ thuật ngƣời máy Robot công nghiệp” - TS Lê Hoài Quốc - NXB ĐH Quốc gia Tp.HCM [7] Ứng dụng xử lý ảnh thực tế với thƣ viện OpenCv C#/C++ - Nguyễn Văn Long-http://dulieu.tailieuhoctap.vn/books/cong-nghe-thong-tin/the-loaikhac/file_goc_769882.pdf – 05/06/2019 C C R L T U D GVHD :T.S Nguyễn Danh Ngọc SVTH : Bùi Đăng Quân Đặng Hữu Tiến 38 Thiết kế chế tạo cánh tay robot bậc tự ứng dụng phân loại sản phẩm xử lý ảnh Code xử lý ảnh : using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.IO; using System.IO.Ports; using Emgu.CV; using Emgu.CV.Structure; using Emgu.Util; using Emgu.CV.UI; using Emgu.CV.CvEnum; using Emgu.CV.Util; namespace DoAnThayVinh { public partial class Form1 : Form { Capture capture; Image AnhNguon; Mat cap; Mat Cap1; int Count1 = 0; int Count2 = 0; int Count3 = 0; int SoLuong = 0; Mat src; public Form1() { InitializeComponent(); } private void capture_ImageGrabbed(object sender, EventArgs e) { try C C R L T U D GVHD :T.S Nguyễn Danh Ngọc SVTH : Bùi Đăng Quân Đặng Hữu Tiến 39 Thiết kế chế tạo cánh tay robot bậc tự ứng dụng phân loại sản phẩm xử lý ảnh { cap = new Mat(); capture.Retrieve(cap); } catch { } } private void button3_Click(object sender, EventArgs e) { groupBoxcam.Visible = true; groupBoxinfo.Visible = false; groupBoxSanpham.Visible = false; groupBox3mau.Visible = true; pictureBox2.Visible = true; pictureBox3.Visible = false; pictureBox4.Visible = false; pictureBox5.Visible = false; try { if (capture == null) { capture = new Capture(); } capture.ImageGrabbed += capture_ImageGrabbed; capture.Start(); timer1.Enabled = true; } catch { } } private void timer1_Tick(object sender, EventArgs e) { timer1.Enabled = false; Cap1 = null; src = capture.QueryFrame(); FindColor(); timer1.Enabled = true; } private void FindColor() { C C R L T U D GVHD :T.S Nguyễn Danh Ngọc SVTH : Bùi Đăng Quân Đặng Hữu Tiến 40 Thiết kế chế tạo cánh tay robot bậc tự ứng dụng phân loại sản phẩm xử lý ảnh Mat ImgHsv = new Mat(src.Size, DepthType.Cv8U, 3); Mat Red = new Mat(src.Size, DepthType.Cv8U, 1); Mat Yellow = new Mat(src.Size, DepthType.Cv8U, 1); Mat Blue = new Mat(src.Size, DepthType.Cv8U, 1); CvInvoke.CvtColor(src, ImgHsv, ColorConversion.Bgr2Hsv); ScalarArray Yellow_Lower = new ScalarArray(new MCvScalar(19, 0, 192)); ScalarArray Yellow_Upper = new ScalarArray(new MCvScalar(53, 250, 255)); ScalarArray Red_Lower = new ScalarArray(new MCvScalar(126, 68, 139)); ScalarArray Red_Upper = new ScalarArray(new MCvScalar(188, 224, 255)); ScalarArray Blue_Lower = new ScalarArray(new MCvScalar(93, 129, 251)); C C ScalarArray Blue_Upper = new ScalarArray(new MCvScalar(110, 255, 255)); R L T MCvScalar Red_Color = new MCvScalar(0, 0, 255); MCvScalar Yellow_Color = new MCvScalar(0, 255, 255); MCvScalar Blue_Color = new MCvScalar(255, 0, 0); CvInvoke.InRange(ImgHsv, Red_Lower, Red_Upper, Red); CvInvoke.InRange(ImgHsv, Yellow_Lower, Yellow_Upper, Yellow); CvInvoke.InRange(ImgHsv, Blue_Lower, Blue_Upper, Blue); morphops(Red, Red); morphops(Yellow, Yellow); morphops(Blue, Blue); CvInvoke.GaussianBlur(Red, Red, new Size(13, 13), 1.5, 0, BorderType.Default); CvInvoke.GaussianBlur(Yellow,Yellow,newSize(13, 13), 1.5, 0, BorderType.Default); CvInvoke.GaussianBlur(Blue, Blue, new Size(13, 13), 1.5, 0, BorderType.Default); FindContours_Object(Red, src, Red_Color, "Red"); FindContours_Object(Yellow, src, Yellow_Color, "Yellow"); FindContours_Object(Blue, src, Blue_Color, "Blue"); pictureBox1.Image = src.Bitmap; } } private void FindContours_Object(Mat Img_FindContour, Mat drawing, MCvScalar Color, string Text) { int dem = 0; U D GVHD :T.S Nguyễn Danh Ngọc SVTH : Bùi Đăng Quân Đặng Hữu Tiến 41 Thiết kế chế tạo cánh tay robot bậc tự ứng dụng phân loại sản phẩm xử lý ảnh bool tinhtoan = false; Mat hier = new Mat(); VectorOfVectorOfPoint Contours = new VectorOfVectorOfPoint(); CvInvoke.FindContours(Img_FindContour,Contours,hier,RetrType.External, ChainApproxMethod.ChainApproxSimple); VectorOfVectorOfPoint Contour_poly = new VectorOfVectorOfPoint(Contours.Size); Rectangle maxRec = new Rectangle(); Rectangle BoundRect = new Rectangle(); double VungHT = 0; double VungMax = 0; for (int i = 0; i < Contours.Size; i++) CvInvoke.ApproxPolyDP(Contours[i],Contour_poly[i],CvInvoke.ArcLength(Contours [i], true) * 0.1, true); VungHT = CvInvoke.ContourArea(Contour_poly[i], false); if (VungHT > 10000) { VungMax = VungHT; BoundRect = CvInvoke.BoundingRectangle(Contour_poly[i]); } maxRec = BoundRect; dem++; } temp = dem; tinhtoan = Calutate(maxRec); int h = src.Height; int m = src.Width; int x_MAX = ((h / ) +120); int y_MAX = ((m / 2) + 90); CvInvoke.Line(drawing, new Point(0, x_MAX), new Point(src.Width, x_MAX), new MCvScalar(0, 0, 0), 5, LineType.EightConnected); CvInvoke.Line(drawing, new Point(0, y_MAX), new Point(src.Width, y_MAX), new MCvScalar(0, 0, 0), 5, LineType.EightConnected); if (tinhtoan == true) { if (Text == "Red") { if (serialPort.IsOpen == true) { serialPort.WriteLine("1"); SoLuong++; C C R L T U D GVHD :T.S Nguyễn Danh Ngọc SVTH : Bùi Đăng Quân Đặng Hữu Tiến 42 Thiết kế chế tạo cánh tay robot bậc tự ứng dụng phân loại sản phẩm xử lý ảnh Count1++; label8.Text = Count1.ToString(); pictureBox3.Visible = true; pictureBox2.Visible = false; pictureBox4.Visible = false; pictureBox5.Visible = false; } } else if (Text == "Blue") { if (serialPort.IsOpen == true) { serialPort.WriteLine("2"); SoLuong++; Count3++; label10.Text = Count3.ToString(); pictureBox4.Visible = true; pictureBox3.Visible = false; pictureBox2.Visible = false; pictureBox5.Visible = false; } C C R L T U D } else if (Text == "Yellow") { if (serialPort.IsOpen == true) { serialPort.WriteLine("3"); SoLuong++; Count2++; label9.Text = Count2.ToString(); pictureBox5.Visible = true; pictureBox4.Visible = false; pictureBox3.Visible = false; pictureBox2.Visible = false; } } label20.Text = SoLuong.ToString(); } CvInvoke.Rectangle(drawing, maxRec, Color, 10, LineType.EightConnected, 0); CvInvoke.PutText(drawing, Text, new Point((maxRec.X + maxRec.Width / - 30), GVHD :T.S Nguyễn Danh Ngọc SVTH : Bùi Đăng Quân Đặng Hữu Tiến 43 Thiết kế chế tạo cánh tay robot bậc tự ứng dụng phân loại sản phẩm xử lý ảnh (maxRec.Y + maxRec.Height / 2)), FontFace.HersheyTriplex, 1, Color, 1, LineType.EightConnected, false); } private bool Calutate(Rectangle Rect) { int x = Rect.X + Rect.Width / 2; int y = Rect.Y + Rect.Height / 2; Point Center = new Point(x, y); int h = src.Height; int m = src.Width; int x_MAX = ((h / 2) + 120); int y_MAX = ((m / 2) + 90 ); if (Rect.Width * Rect.Height > 1000) { if ((y >= x_MAX) && (y 200){ if(Serial.available()){ char data = Serial.read(); if(data == '1'){ mau =1; } if(data == '2'){ mau =2; } if(data == '3'){ mau =3; } } } digitalWrite(BT,0); if(mau == 1){ GAPA(); mau = 0; } if(mau == 2){ GAPB(); mau=0; } if(mau == 3){ mau = 0; } } void GAPB(){ NANG2(62); HA1(145); delay(500); while(digitalRead(CTHT2) == 1){ C C R L T U D GVHD :T.S Nguyễn Danh Ngọc SVTH : Bùi Đăng Quân Đặng Hữu Tiến 47 Thiết kế chế tạo cánh tay robot bậc tự ứng dụng phân loại sản phẩm xử lý ảnh NANG1(2); } delay(300); while(digitalRead(CTHT3) == 1){ HA2(2); } delay(300); XOAYTRAI(125); delay(300); NANG2(40); delay(300); HA1(90); delay(300); digitalWrite(VAL,1); delay(500); digitalWrite(VAL,0); // quay ve while(digitalRead(CTHT2) == 1){ NANG1(2); } delay(300); while(digitalRead(CTHT3) == 1){ HA2(2); } delay(300); while(digitalRead(CTHT1) == 1){ XOAYPHAI(2); } } void GAPA(){ NANG2(62); HA1(145); delay(500); while(digitalRead(CTHT2) == 1){ NANG1(2); } delay(300); while(digitalRead(CTHT3) == 1){ HA2(2); } C C R L T U D GVHD :T.S Nguyễn Danh Ngọc SVTH : Bùi Đăng Quân Đặng Hữu Tiến 48 Thiết kế chế tạo cánh tay robot bậc tự ứng dụng phân loại sản phẩm xử lý ảnh delay(300); XOAYTRAI(220); delay(300); NANG2(20); delay(300); HA1(90); delay(300); digitalWrite(VAL,1); delay(500); digitalWrite(VAL,0); // quay ve while(digitalRead(CTHT2) == 1){ NANG1(2); } delay(300); while(digitalRead(CTHT3) == 1){ HA2(2); } delay(300); while(digitalRead(CTHT1) == 1){ XOAYPHAI(2); } } void CAPPHOI(){ for(int i = 35 ; i

Ngày đăng: 24/04/2021, 16:58

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w