1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Đồ án cơ điện tử robot 3 bậc tự do phân loại sản phẩm theo màu sắc

57 23 2

Đ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 57
Dung lượng 2,76 MB

Nội dung

Nghiên cứu, tính toán, thiết kế hệ thống cánh tay robot 3 bậc tự do phân loại sản phẩm theo màu sắc dùng xử lí ảnh. Nghiên cứu này sẽ trình bày quá trình thiết kế và chế tạo hệ thống robot phân loại sản phẩm theo màu sắc dựa trên công nghệ xử lý ảnh viết bằng ngôn ngữ Python với sự chuyển đổi hệ màu từ BGR sang HSV cho ra một thuật toán tối ưu phát hiện màu sắc của sản phẩm từ camera thu được sau đó tiến hành cho cánh tay robot phân loại theo mong muốn, tối ưu được thời gian phân loại và các phần lắp đặt như cảm biến màu sắc công nghiệp.

TRƯỜNG ĐẠI HỌC CƠNG NGHIỆP HÀ NỘI KHOA CƠ KHÍ ĐỒ ÁN MÔN HỌC CƠ DIỆN TỬ ĐỀ TÀI: Nghiên cứu, tính tốn, thiết kế hệ thống cánh tay robot bậc tự phân loại sản phẩm theo màu sắc dùng xử lí ảnh Giáo viên hướng dẫn : ThS Trần Quốc Bảo Sinh viên thực : Đào Duy Tiến 2019602347 Phạm Phi Long 2019603106 Nguyễn Văn Hưng 2020606636 Hà Nội - 2023 PHIẾU HỌC TẬP CÁ NHÂN/NHÓM I Thơng tin chung Tên lớp: 20224ME6052001 Khóa: 15 Tên nhóm: 09 Họ tên thành viên: Đào Duy Tiến Phạm Phi Long 2019602347 2019603106 Nguyễn Văn Hưng 2020606636 II Nội dung học tập Tên chủ đề: Nghiên cứu, tính tốn, thiết kế hệ thống cánh tay robot bậc tự phân loại sản phẩm theo màu sắc dùng xử lí ảnh Hoạt động sinh viên - Nội dung 1: Tổng quan hệ thống (L4.2) - Nội dung 2: Cơ sở lý thuyết hệ thống (L4.2) - Nội dung 3: Chế tạo thử nghiệm hệ thống (L4.1, L4.3) - Nội dung 4: Viết báo cáo Sản phẩm nghiên cứu: Mơ hình sản phẩm báo cáo thu hoạch III Nhiệm vụ học tập Hoàn thành đồ án theo thời gian quy định (từ ngày …/…/… đến ngày …/…/….) Báo cáo nội dung nghiên cứu theo chủ đề giao trước hội đồng đánh giá IV Học liệu thực tiểu luận, tập lớn, đồ án/dự án Tài liệu học tập: Giáo trình mơn học Cảm biến hệ thống đo, vi điều khiển Phương tiện, nguyên liệu thực tiểu luận, tập lớn, đồ án/dự án (nếu có): Máy tính, linh kiện dụng cụ điện tử theo nhu cầu sử dụng KHOA/TRUNG TÂM GIÁO VIÊN HƯỚNG DẪN TS Nguyễn Anh Tú ThS Trần Quốc Bảo MƠ TẢ KỸ THUẬT Mơ tả nhiệm vụ cơng nghệ Hệ thống có khả năng: - Phân loại màu sắc sản phẩm theo ba màu: blue,red,yellow -Gắp vật -Điều khiển vị trí cánh tay robot Cấu trúc thiết bị Thiết bị Loại sử dụng Cảm biến tiệm cận LJ12A3-4Z/BX NPN Camera ESP 32CAM Cánh tay robot bậc tự Mica Động Servo MG996R, Động DC Moudle Mạch hạ áp DC-DC Buck XL 4005 5A, module điều chỉnh tốc độ động cơ, rơ le Bộ điều khiển ARDUINO UNO R3 ,ESP 32CAM Phím chức Nút bấm, cơng tắc nguồn LCD 16x2 có tích hợp module Màn hình hiển thị I2C Đặc tính kỹ thuật Thơng số Giới hạn đo Sai số Độ nhạy Tốc độ Giá trị Nhận diện màu blue,red,yellow điều khiển vị trí cánh tay robot 6-10% Tùy thuộc vào lập trình Phản hồi nhanh MỤC LỤC MỤC LỤC Chương Tổng quan hệ thống 1.1 Lịch sử hình thành phát triển hệ thống 1.2 Giới hạn phạm vi nghiên cứu hệ thống 12 Chương Cơ sở lí thuyết 13 2.1 Kết cấu hệ thống khí 13 2.1.1 Mơ hình cánh tay robot 13 2.1.1 Hệ thống băng truyền 13 2.1.2 Hệ thống cấp phôi tự động 15 2.1.3 Các loại băng tải phương án lựa chọn 15 2.1.4 Tay gấp vật gipper G1 17 2.2 Kết cấu hệ thống điện, điện công suất 18 2.2.1 Động DC 18 2.2.2 Động bước 20 2.2.3 Servo MG966R 22 2.2.4 Module giảm áp LM256 23 2.2.5 Cơng tắc hành trình 24 2.3 kết cấu hệ thống đo xử lí tín hiệu 24 2.3.1 Cảm biến tiệm cận 24 2.3.2 Camera xử lí tín hiệu 26 2.4 kết cấu hệ thống điều khiển truyền truyền thông 28 2.4.1 Arduino uno R3 28 Chương Tính tốn thiết kế mơ hình hệ thống 29 3.1 Thiết kế phần khí 29 3.1.1 Tổng quan hệ thống 29 3.1.2 Thiết kế truyền đai 29 3.1.3 Thiết kế băng tải 30 3.1.4 Thiết kế cánh tay robot 31 3.1 Xây dựng chương trình kết nối , kiểm nghiệm mơ hình 38 3.1.1 Ngun lí hoạt động mơ hình 38 3.1.2 Cơ sở lí thuyết xử lí ảnh 40 3.1.3 Đánh giá trình thực nghiệm 48 3.1.4 Kết luận 48 Tài liệu tham khảo 56 Bảng Biểu Bảng 2.1.3-1: Phân loại băng tải 16 Bảng 3.1.4-1: Bảng D-H 32 Bảng 3.1.3-1: Đánh giá trình thực nghiệm 48 Hình ảnh Hình 1.1-1: Robot cơng nghiệp thực tế 11 Hình 2.1-1:Mơ hình cánh tay robot 13 Hình 2.1-2: Hệ thống băng truyền 13 Hình 2.1-3: Sơ đồ hệ thống băng truyền 14 Hình 2.1-4: Hệ thống cấp phôi tự động 15 Hình 2.1-5: Tay gắp vật gipper G1 17 Hình 2.2-1:Nguyên lý hoạt động 19 Hình 2.2-2: Động bước 20 Hình 2.2-3: Nam châm vĩnh cửu 20 Hình 2.2-4: Cấu tạo động bước 21 Hình 2.2-5: Động Servo MG966R 22 Hình 2.2-6: Module giảm áp LM256 23 Hình 2.2-7: Cơng tắc hành trình 24 Hình 2.3-1: Cảm biến tiệm cận 25 Hình 2.3-2: Camera xử lý tín hiệu 26 Hình 2.3-3: Tính camera xử lý tí hiệu 27 Hình 2.4-1: Arduino uno R3 28 Hình 3.1-1: Bộ truyền đai 30 Hình 3.1-2: Cánh tay robot 31 Hình 3.1-3: Cánh tay robot 32 Hình 3.1-4: Động học ngược tay máy robot bậc tự tự 37 Hình 3.1-5: Động học ngược tay máy robot bậc tự 37 Hình 3.1-1: Ngun lý hoạt động mơ hình 39 Hình 3.1-2: Cơ sở tri thức 42 Hình 3.1-3: Lưu đồ thuật toán xử lý ảnh 45 MỞ ĐẦU Nghiên cứu trình bày trình thiết kế chế tạo hệ thống robot phân loại sản phẩm theo màu sắc dựa công nghệ xử lý ảnh viết ngôn ngữ Python với chuyển đổi hệ màu từ BGR sang HSV cho thuật toán tối ưu phát màu sắc sản phẩm từ camera thu sau tiến hành cho cánh tay robot phân loại theo mong muốn, tối ưu thời gian phân loại phần lắp đặt cảm biến màu sắc công nghiệp Trong phạm vi báo, dùng thuật toán nhân diện màu sắc xử lý loại màu màu đỏ, xanh vàng Kết nghiên cứu cho thấy mơ hình dùng xử lý ảnh dùng camera giúp hệ thống linh hoạt phát màu sắc với tốc độ xử lý nhanh, xác thực nghiệm cho thấy hệ thống hoạt động ổn định độ xác cao lên đến 95% Kết nghiên cứu góp phần tăng thêm tính cho hệ thống phân loại sản phẩm ứng dụng vào thực tế nước Chương Tổng quan hệ thống 1.1Lịch sử hình thành phát triển hệ thống Tay máy robot phân loại sản phẩm trải qua trình phát triển đáng kể để trở thành cơng nghệ mạnh mẽ hiệu quy trình sản xuất quản lý hậu cần Từ cột buồm đời vào thập kỷ 1950-1960 ngày nay, công nghệ phương pháp nghiên cứu, cải tiến ứng dụng để cải thiện khả phân loại, độ xác cánh tay robot phân loại sản phẩm Trong giai đoạn đầu phát triển, vào thập kỷ 1950-1960, robot công nghệ lần xuất Những máy phát phân loại sản phẩm dựa khác biệt kích thước, màu sắc hình dạng Tuy nhiên, cơng nghệ cịn hạn chế Đến thập kỷ 1970-1980, robot công nghệ phân loại sản phẩm liên tục nghiên cứu phát triển Các chế cải tiến áp dụng để tăng cường khả phân loại hiệu suất robot Đèn sáng máy ảnh sử dụng để cải thiện trình phát triển phân loại Nhờ tiến trình cải tiến này, robot nhận dạng phân loại sản phẩm cách xác Tuy nhiên, phát triển thực tay máy robot phân loại sản phẩm diễn giai đoạn từ thập kỷ 1990-2000, cơng nghệ máy tính trí tuệ nhân tạo tiến mạnh mẽ Các nhà nghiên cứu bắt đầu áp dụng thuật toán phương pháp phức tạp để nhận dạng phân loại sản phẩm Khơng dựa kích thước, màu sắc hình dạng, robot cịn phân loại dựa kết cấu, đặc tính cảm ứng ứng dụng khác Các thuật toán máy học học bước áp dụng vào tay máy robot phân loại sản phẩm, mang lại khả nhận biết phân loại tốt Các mơ Support Vector Machine (SVM), Random Forest Convolutional Neural Network (CNN) sử dụng để xây dựng hệ thống phân loại sản phẩm mạnh mẽ đáng tin cậy Trong năm gần đây, với phát triển công nghệ máy học nghiên cứu sâu, tay máy robot loại sản phẩm ngày tiến xa việc đạt mức độ xác hiệu cao Các thuật toán học máy mạng nơ-ron nhân tạo giúp robot có khả tập điều chỉnh tự động để nâng cao khả phân loại hiệu chúng Robot ngày nhận định dạng phân loại hàng phần trăm, chí tiêu hàng hóa sả phẩm thời gian ngắn với độ xác cao Đặc biệt, tay máy robot phân loại sản phẩm có ứng dụng lớn ngành công nghiệp hậu cần Chúng giúp tăng hiệu suất độ xác dây chuyền sản xuất q trình đóng gói Nhờ khả phân loại nhanh chóng xác, robot giúp giảm thiểu tối đa sai sót tăng cường hiệu quản lý kho hàng vận chuyển Tóm lại, tay máy robot phân loại sản phẩm trải qua trình phát triển rõ ràng từ đời ngày Nhờ kết hợp cơng nghệ máy tính, trí tuệ nhân tạo học máy, robot ngày có khả nhận dạng phân loại sản phẩm với mức độ xác hiệu suất cao Cơng nghệ đóng góp phần quan trọng vào cải thiện dây chuyền sản xuất, quản lý kho hàng vận chuyển nhiều ngành công nghiệp Hiện nay, với tiến khoa học – kỹ thuật giúp kinh tế nước ngày phát triển, địi hỏi cơng nghệ phải có tính tự động hóa cao Trong nghiên cứu này, phát triển hệ thống phân loại sản phẩm theo cách tối ưu xác với cơng nghệ xử lý ảnh, thu ảnh từ camera để nhận dạng màu sắc sau dùng cánh tay robot để gắp, tín hiệu từ chương trình xử lý ảnh đưa vi điều khiển sau vi điều khiển tiếp tục xử lý để điều khiển cánh tay robot gắp sản phẩm Hệ thống tối ưu chi phí giải toán nhiễu tốc độ xử lý cảm biến màu sắc Về cơng trình nghiên cứu ngồi nước có từ trước hướng với với báo như: “Sử dụng hệ thống SCADA phần loại sản phẩm theo màu sắc” Nguyễn Đức Hậu trường Đại học Nha Trang, đồ án anh dùng thiết bị PLC cảm biến màu sắc TCS320 để phân loại, phần thực thi hệ thống chạy ổn bên cạnh cịn số nhược điểm cảm biến dễ thị nhiễu tốc độ xử lý chậm, giá thành sử dụng PLC đắt[1] Tiếp đến mơ hình “Hệ thống phân loại sản phẩm theo màu “ Nguyễn Thành Thắng trường Cao đẳng Công Thương TP.HCM, hệ thống anh dùng Bộ PLC S7-1200 cảm biến màu sắc TCS34725, phần hoạt động chạy thực hệ thống ổn định số hạn chế cảm biến dễ bị nhiễu môi trường xung quanh nhiệt độ, ánh sáng, Về PLC giá thành đắt hạn chế đầu vào, đầu ra[2] Ở nước ngồi có vài nghiên cứu tương tự “Application of Color and Size Measurement in Food Products Inspection” Joko Siswantoro, anh dùng thuật toán thị giác máy để nghiên cứu đánh giá màu sắc kích thước việc kiểm tra sản phẩm, giản hóa phương pháp tốn học để đảm bảo tiện lợi cho xử lý, người ta mong muốn bắt chước quy trình tiếp nhận xử lý ảnh theo phương pháp trí tuệ người Cho nên, sở tri thức phát huy xử lý theo pháp trí tuệ người nhiều khâu khác Hình 3.1-2: Cơ sở tri thức Bộ phận thu nhận ảnh: Máy quay (Camera), máy quét (scaners) chuyên dụng, cảm biến ảnh Phần cứng xử lý ảnh chuyên dụng: Bộ số hóa (chuyển đổi ảnh truyền thống từ bên ngồi thành dạng liệu số mà máy tính hiểu được) Phần cứng thực thao tác để nâng cao tốc độ xử lý ảnh Máy tính: Thiết bị thơng thường chun dụng Bộ phận lưu trữ: Bắt buộc phải có Lưu trữ tạm thời để phục vụ sử dụng cho trình xử lý Lưu trữ vĩnh viễn lưu trữ diệu, truy cập không thường xuyên Bộ phận thị: Màn hình máy tính In ấn: Ghi lại ảnh: máy in, máy chiếu 3.1.2.1 Thư viện OpenCV OpenCV tên viết tắt open source computer vision library – hiểu thư viện nguồn mở cho máy tính Cụ thể OpenCV kho lưu trữ mã nguồn 42 mở dùng để xử lý hình ảnh, phát triển ứng dụng đồ họa thời gian thực OpenCV cho phép cải thiện tốc độ CPU thực hoạt động real time Nó cịn cung cấp số lượng lớn mã xử lý phục vụ cho quy trình thị giác máy tính hay learning machine khác Thư viện OpenCV phát hành với giấy phép BDS Do dịch vụ cung cấp hồn tồn miễn phí hạn chế tối đa rào cản thông thường Cụ thể, bạn phép sử dụng phần mềm cho hoạt động thương mại lẫn phi thương mại OpenCV sở hữu giao diện thiên thiện với loại ngơn ngữ lập trình, ví dụ C++, C, Python hay Java… Ngồi ra, dễ dàng tương thích với hệ điều hành khác nhau, bao gồm từ Windows, Linux, Mac OS, iOS Android Kể từ lần đầu xuất từ năm 1999, OpenCV sở hữu đội ngũ người dùng hùng hậu, số ước tính lên tới 47.000 người Tất nhờ ưu điểm vượt trội OpenCV Các module OpenCV: OpenCV có cấu trúc module, tức bao gồm thư viện liên kết tĩnh lẫn thư viện liên kết động Nắm rõ module OpenCV giúp bạn đọc hồn tồn thấu hiểu OpenCV Core functionality (core): Module sở hữu chế nhỏ gọn Nó dùng để định hình cấu trúc sở liệu bản, bao gồm mảng đa chiều Ngồi cịn xác định chức module kèm khác Image Processing (imgproc): Đây module dùng cho q trình xử lý hình ảnh Nó cho phép người dùng thực hoạt động lọc hình ảnh tuyến tính phi tuyến, thực phép biến hình, thay đổi không gian màu, xây dựng biểu đồ nhiều thao tác khác liên quan Video Analysis (video): Giống tên gọi nó, module cho phép phân tích video Kết trả bao gồm ước tính chuyển động, thực tách phép toán theo dõi vật thể Camera Calibration and 3D Reconstruction (calib3d): Module cung cấp thuật tốn hình học đa chiều hiệu chuẩn máy ảnh single stereo Ngồi 43 cịn đưa dự đoán kiểu dáng đối tượng sử dụng thuật tốn thư tín âm yếu tố tái tạo 3D 2D Features Framework (features2d): Module giúp phát tính trội nhận diện, truy xuất thông số thơng số đối chọi Ngồi cịn có nhiều module khác với đa dạng tính năng, ví dụ như: FLANN, Google test wrapper… Ứng dụng openCV: OpenCV cho phần mềm đa nhiệm Nó ứng dụng nhiều trường hợp khác Ví dụ, ta nói phần mềm định vị, đồ nói chung Hẳn có lần cần sử dụng đến map online không Bạn sử dụng map để tìm đường, tra cứu tình hình giao thơng đơn giản xem xét hình ảnh thực tế địa điểm cần đến Những lúc vậy, OpenCV đóng vai trị nhà cung cấp liệu hình ảnh cho app Map OpenCV đem đến cho người dùng hình ảnh đường phố hay nhà, người xung quanh địa điểm định OpenCV dùng để khởi tạo hình ảnh chiều phức tạp Hoạt động yêu thích, thời đại trí tuệ nhân tạo AI phát triển Đối với công nghệ đại, OpenCV yếu tố thiếu Tất ứng dụng công nghệ robot, xe tự lái, bảng cảm ứng thơng minh… có góp mặt OpenCV khâu xử lý hình ảnh Ví dụ gần gũi sống kể đến hệ thống mở khóa điện thoại cách nhận diện khn mặt người dùng Quy trình xử lý ảnh tuân theo quy trình sau: - Lấy ảnh từ camera - Chuyển ảnh màu BGR sang ảnh HSV (Hue, Satution, Value) - Lấy ảnh HSV chuyển sang ảnh nhị phân (ảnh đen trắng) - Hình thái học ảnh (lọc nhiễu, nhịe) - Tìm đường viền ảnh đen trắng Từ bước trên, ta có lưu đồ thuật tốn xử lý ảnh: 44 Lưu đồ thuật tốn xử lí ảnh Begin Image input Value=1 Write red Write blue Value=3 Write yellow Value=4 End Hình 3.1-3: Lưu đồ thuật tốn xử lý ảnh 45 46 Kết nguyên cứu Đo kiểm tra mạch trước chạy Chạy thử nghiệm lần Chạy thử nghiệm lần Chạy thử nghiệm lần Các vấn đề mắc phải: Sản phẩm lúc bị chói sáng nhận dạng bị sai Khi thử nghiệm lần 1, nhóm dùng cảm biến tiệm cận để phát vật dừng băng tải có vài vấn đề nhiễu nên bị đóng ngắt liên tục bất tiện nên nhóm thay vào dùng camera nhận dạng gửi tín hiệu vi điều khiển để phát vị trí vật đóng ngắt băng tải 47 Hệ thống xác định 18 màu sắc sản phẩm khác nhau, nhiên phạm vi báo nhóm thực ba màu là: Xanh, đỏ, vàng Nhận dạng màu sản phẩm với tốc độ xử lý nhanh xác điều kiện ánh sáng ổn định Có thể sử dụng mơ hình để phát triển cho sau Tính ứng dụng thực tế cao 3.1.3 Đánh giá trình thực nghiệm - Thực phân loại 30 loại sản phẩm theo màu kết bảng đây: STT Xanh Vàng Đỏ STT T T T 16 T T F 17 T T T 18 T T T 19 T T T 20 T T T 21 T F T 22 T T T 23 T T T 24 10 F T T 25 11 T T F T 26 12 T T 13 T T T 14 T T T T T T 15 27 28 29 30 Xanh T Vàng T Đỏ T T F T T T T T T T T T T T T T T F T T T T T T T T T T T T T T T T T T T T T F T T T Bảng 3.1.3-1: Đánh giá trình thực nghiệm Từ bảng số liệu thấy việc nhận dạng sản phẩn màu xanh xác lên đến 98%, màu vàng màu đỏ có 3/30 sản phẩm sai khơng đáng kể(chính xác 90%), từ thấy hệ thống hoạt động ổn định với độ xác khoảng 94% 3.1.4 Kết luận Bài báo trình bày trình nghiên cứu thiết kế chế tạo hệ thống robot phân loại sản phẩm theo màu sắc ứng dụng xử lý ảnh với độ xác cao Trong phạm vi 48 báo, sử dụng vi điều khiển để tối ưu cách xử lý giá thành phải chăng, dùng camera để nhận diện màu sắc với thuật toán đơn giản, dễ hiểu không phần linh hoạt xử lý sản phẩm với tốc độ độ xác gần tuyệt đối Do việc ứng dụng xử lý ảnh dùng camera vào hệ thống phân loại sản phẩm theo màu sắc giải pháp tối ưu nhóm nghiên cứu thành cơng phạm vi báo Code phần xử lí ảnh import time import cv2 import vrllib.request import numpy as np import serial webcam = cv2.VideoCapture(0) arduino = serial.Serial(port='COM9',baudrate=115200,timeout=0.1) def write_data(x): arduino.write(bytes(x,'utf-8')) time.sleep(0.06) data = arduino.readline()#doc gia tri arduino return data while (1): imageFrame = webcam.read() hsvFrame = cv2.cvtColor(imageFrame, cv2.COLOR_BGR2HSV) #doi qua mau hsv #maudo red_lower = np.array([133, 90, 110], np.vint8) red_upper = np.array([175, 255, 255], np.vint8) red_mask = cv2.inRange(hsvFrame, red_lower, red_upper)# chon vung mau kernal = np.ones((5, 5),"vint8") # tang vien red_mask = cv2.dilate(red_mask,kernal) # tang vien res_red = cv2.bitwise_and(imageFrame,imageFrame,mask=red_mask) # loc mau # tim vung mau Countour,hierarchy=cv2.findContours(red_mask,cv2.RETR_TREE,cv2.CHAIN_APPROX_S IMPLE) #tao hinh chu nhat for pic,countour in enumerate(countour): 49 area = cv2.contourArea(countour) value=0 if (value == "2") write_data("0") value ="0" if (area > 300 and area < 1500):# lay vung mau thuoc doan 350-1500 value = write_data("1") x,y,w,h =cv2.boundingRect(countour) imageFrame = cv2.rectangle(imageFrame,(x,y),(x+w,y+h),(0,0,255),2) cv2.putText(imageFrame," colour",(x,y),cv2.FONT_HERSHEY_SIMPLEX,1.0,(0,0,255)) red #xanh blue_lower = np.array([133, 90, 110], np.vint8) blue_upper = np.array([175, 255, 255], np.vint8) blue_mask = cv2.inRange(hsvFrame, blue_lower, blue_upper) # chon vung mau kernal = np.ones((5, 5), "vint8") # tang vien blue_mask = cv2.dilate(blue_mask, kernal) # tang vien res_blue = cv2.bitwise_and(imageFrame, imageFrame, mask=blue_mask) # loc mau # tim vung mau countour, hierarchy cv2.CHAIN_APPROX_SIMPLE) = cv2.findContours(blue_mask,cv2.RETR_TREE, # tao hinh chu nhat for pic, countour in enumerate(countour): area = cv2.contourArea(countour) value = if (value == "2") write_data("0") value = "0" if (area > 300 and area < 1500): # lay vung mau thuoc doan 350-1500 value = write_data("3") x, y, w, h = cv2.boundingRect(countour) imageFrame = cv2.rectangle(imageFrame, (x, y), (x + w, y + h), (0, 0, 255), 2) cv2.putText(imageFrame, " blue cv2.FONT_HERSHEY_SIMPLEX, 1.0, (0, 0, 255)) colour", (x, y), yellow_lower = np.array([133, 90, 110], np.vint8) yellow_lower_upper = np.array([175, 255, 255], np.vint8) 50 yellow_mask = cv2.inRange(hsvFrame, yellow_lower, yellow_upper) # chon vung mau kernal = np.ones((5, 5), "vint8") # tang vien yellow_mask = cv2.dilate(yellow_mask, kernal) # tang vien res_yellow = cv2.bitwise_and(imageFrame, imageFrame, mask=yellow_mask) # loc mau # tim vung mau countour, hierarchy cv2.CHAIN_APPROX_SIMPLE) = cv2.findContours(yellow_mask,cv2.RETR_TREE, # tao hinh chu nhat for pic, countour in enumerate(countour): area = cv2.contourArea(countour) value = if (value == "2") write_data("0") value = "0" if (area > 300 and area < 1500): # lay vung mau thuoc doan 350-1500 value = write_data("4") x, y, w, h = cv2.boundingRect(countour) imageFrame = cv2.rectangle(imageFrame, (x, y), (x + w, y + h), (0, 0, 255), 2) cv2.putText(imageFrame, " green cv2.FONT_HERSHEY_SIMPLEX, 1.0, (0, 0, 255)) colour", (x, y), cv2.inshow(" nhan dien mau esp32 cam",imageFrame) if cv2.waitKey(10) & 0xFF == ord('q'); imageFrame.release() cv2.destroyAllWindows() break 51 code chương trình #include #define dong_co #define cam_bien #define start 10 #define stopp 11 Servo sv1; Servo sv2; Servo sv3; Servo sv4; int x; int dem = 0; void setup() { sv1.attach(3); sv2.attach(4); sv3.attach(5); sv4.attach(6); pinMode(cam_bien, INPUT); pinMode(dong_co, OUTPUT); pinMode(start, INPUT_PULLUP); pinMode(stopp, INPUT_PULLUP); Serial.begin(115200); Serial.setTimeout(1); attachInterrupt(0, ham_ngat, RISING); } void ham_ngat() { digitalWrite(dong_co, LOW); } void ban_dau() { sv1.write(6); delay(500); sv2.write(180); delay(500); sv3.write(90); 52 delay(500); sv4.write(0); delay(500); } void gap_vat() { sv1.write(6); delay(500); sv2.write(140); delay(500); sv3.write(90); delay(500); sv4.write(180); delay(500); } void di_chuyen_di() { sv1.write(120); delay(500); sv2.write(180); delay(500); sv3.write(90); delay(500); sv4.write(180); delay(500); } void tha_vat() { sv4.write(0); delay(500); } void di_chuyen_ve() { sv1.write(6); delay(500); sv2.write(180); 53 delay(500); sv3.write(90); delay(500); sv4.write(0); delay(500); } void loop() { if(digitalRead(start) == 0) { while(digitalRead(start) == 0) dem++; } if(digitalRead(stopp) == 0) { while(digitalRead(stopp) == 0) dem ; } if(dem == 1) { digitalWrite(dong_co, HIGH); while (!Serial.available()); x = Serial.readString().toInt();// doi chuoi sang so if(x==1){ gap_vat(); di_chuyen_di(); sv1.write(140); delay(500); tha_vat(); di_chuyen_ve(); Serial.print(2); } if(x==4){ gap_vat(); di_chuyen_di(); sv1.write(200); delay(500); 54 tha_vat(); di_chuyen_ve(); Serial.print(2); } if(x==4){ gap_vat(); di_chuyen_di(); sv1.write(300); delay(500); tha_vat(); di_chuyen_ve(); Serial.print(2); } } } 55 Tài liệu tham khảo Giáo trình Robot cơng nghiệp - Khổng Minh Đào, Ngọc Anh, Nguyễn Văn Trườn,g Nguyễn Văn Tú - Xuất bản,phát hành: H KHKT 2019 Robot song song bậc 3: Giải pháp động học Robert L Williams II, Tiến sĩ, williar4@ohio.edu Kỹ thuật Cơ khí, Đại học Ohio Ứ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-thongtin/the-loai khac/file_goc_769882.pdf – 05/06/2019 “Robot công nghiệp” - GS.TSKH Nguyễn Thiện Phúc - NXB Khoa Học Kỹ Thuật https://www.youtube.com/watch?v=nmQyn0n771s&list=PL6W4MPtvsp 5jr_x_qeP2C6rEyRjX3Edy9 56

Ngày đăng: 14/11/2023, 22:46

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w