BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA CƠ KHÍ CHẾ TẠO MÁY ĐỒ ÁN TỐT NGHIỆP Đề tài: NGHIÊN CỨU, THIẾT KẾ MÔ HÌNH PHÂN LOẠI TRÁI CÂY SỬ DỤNG XỬ LÝ ẢN
TỔNG QUAN
ĐẶT VẤN ĐỀ
Công nghiệp 4.0 là yếu tố then chốt thúc đẩy sự phát triển của nền khoa học và công nghệ, bao gồm các lĩnh vực như KTS, IoT, Robotics – AI và tự động hóa, mang lại sự hiện đại hóa cho cuộc sống con người Những công nghệ từng chỉ có trong tưởng tượng nay đã trở thành hiện thực, góp phần quan trọng vào quá trình công nghiệp hóa – hiện đại hóa của các quốc gia Tại Việt Nam, công nghiệp hóa là nhiệm vụ hàng đầu, nâng cao cả sản xuất vật chất lẫn đời sống văn hóa - xã hội Sản phẩm như máy móc, robot và thiết bị tự động hóa đang được ứng dụng rộng rãi trong nhiều lĩnh vực từ công nghiệp, nông nghiệp đến giáo dục và nghiên cứu Để đáp ứng nhu cầu này, nhiều máy móc và robot tự động ra đời nhằm nâng cao năng suất, chất lượng và giảm thiểu sức lao động của con người trong các công việc nặng nhọc và độc hại, bảo vệ sức khỏe người lao động.
Xuất phát từ nhu cầu thiết thực của nông dân, chúng tôi đã quyết định nghiên cứu và thiết kế một mô hình phân loại trái cây hiệu quả, giúp tiết kiệm chi phí lao động trong quá trình thu hoạch Mô hình này không chỉ hỗ trợ nông dân trong việc phân loại sản phẩm mà còn giúp các nhà máy xí nghiệp đóng gói và xử lý sản phẩm dễ dàng hơn, đồng thời quản lý thông tin sản phẩm một cách hiệu quả Dựa trên kiến thức học được từ trường và kinh nghiệm thực tập tại doanh nghiệp, cùng với sự hướng dẫn của TS Đỗ Văn Hiến, nhóm chúng tôi đã chọn đề tài: "Nghiên cứu, thiết kế mô hình phân loại trái cây sử dụng xử lý ảnh".
MỤC TIÊU
Đề tài "Nghiên Cứu, Thiết Kế Mô Hình Phân Loại Trái Cây Sử Dụng Xử Lý Ảnh" nhằm phân loại các loại trái cây thuộc cùng họ nhưng khác giống, đồng thời phát hiện trái quýt hỏng (quýt đường, quýt hồng, quýt hỏng) Dự án này sử dụng ngôn ngữ lập trình Python cho việc xử lý ảnh và thiết kế giao diện người dùng, với các thư viện chủ yếu là OpenCV và TensorFlow Hệ thống được triển khai trên nền tảng Raspberry Pi3 và Arduino Uno R3, sử dụng Spyder IDE và Arduino IDE để phát triển.
NỘI DUNG NGHIÊN CỨU
Đề tài " Nghiên cứu, thiết kế mô hình phân loại trái cây sử dụng xử lý ảnh " bao gồm những nội dung sau:
• NỘI DUNG 1: Khảo sát, tìm hiểu đề tài
• NỘI DUNG 2: Tổng quan về xử lý ảnh và các thiết bị, phần cứng, phần mềm
• NỘI DUNG 3: Thiết kế và xây dựng mô hình
• NỘI DUNG 4: Thi công hệ thống
• NỘI DUNG 5: Chạy thử nghiệm và nhận xét kết quả
• NỘI DUNG 6: Kết luận và hướng phát triển
• NỘI DUNG 7: Viết báo cáo đồ án tốt nghiệp
• NỘI DUNG 8: Báo cáo đề tài đồ án tốt nghiệp
GIỚI HẠN ĐỀ TÀI
Do bộ nhớ của Kit Raspberry hạn chế, tốc độ xử lý ảnh khi nhận diện hình ảnh chậm hơn so với CPU trên Laptop Màu xanh của băng tải gây khó khăn trong việc nhận diện, đặc biệt là khi trái quýt đường có màu xanh (hơi vàng) bị hiểu nhầm là không có vật cản Để khắc phục, có thể sử dụng dây đai băng tải màu khác hoặc trái cây có màu sắc khác biệt Hơn nữa, vị trí của camera dưới hộp trên băng tải hạn chế ánh sáng chiếu vào, vì vậy cần thiết kế một bóng đèn để đảm bảo đủ độ sáng cho quá trình xử lý ảnh hiệu quả hơn.
BỐ CỤC
CƠ SỞ LÝ THUYẾT
TỔNG QUAN VỀ XỬ LÝ ẢNH
Ngày nay, cụm từ “xử lý ảnh” hay XLA thường đi kèm với thuật ngữ “Thị giác máy”, một lĩnh vực quan trọng trong khoa học máy tính và kỹ thuật Xử lý ảnh liên quan đến việc sử dụng các thuật toán để xử lý hình ảnh kỹ thuật số, với mục đích cải thiện chất lượng hình ảnh, phân tích và trích xuất thông tin, cũng như thực hiện các biến đổi cụ thể Để áp dụng công nghệ này vào cuộc sống hàng ngày, cần thời gian học tập và nghiên cứu từ những kiến thức cơ bản nhất Dưới đây là sơ đồ các bước cơ bản của quá trình XLA.
Hình 2 1 Sơ đồ các bước cơ bản trong xử lý ảnh
2.1.1 Thu nhận ảnh Ảnh từ camera có thể là màu hoặc trắng đen, thường là ảnh tương tự (camera CCIR với tần số 1/25, mỗi ảnh 25 dòng) hoặc đã số hóa như CCD (Charge-Coupled Device) dùng photodiode Camera quét dòng tạo ảnh hai chiều Chất lượng của hình ảnh phụ thuộc vào thiết bị thu nhận ảnh và môi trường (ánh sáng, phong cảnh)
Sau khi thu nhận, ảnh thường có độ tương phản thấp và cần được xử lý qua bộ tiền xử lý để loại bỏ nhiễu và tăng cường độ tương phản, giúp hình ảnh trở nên rõ nét hơn.
Phân vùng ảnh là quá trình tách ảnh đầu vào thành các vùng riêng biệt để phân tích và nhận dạng, như trong việc nhận dạng chữ hoặc mã vạch trên phong bì Để thực hiện điều này, cần chia địa chỉ hoặc tên thành các từ, chữ, số, hoặc vạch riêng lẻ Đây là giai đoạn phức tạp và dễ mắc lỗi nhất trong xử lý ảnh, ảnh hưởng lớn đến độ chính xác của nhận dạng.
Sau khi hoàn thành phân đoạn hình ảnh, bước tiếp theo là xử lý các điểm ảnh trong vùng ảnh và mã liên kết với các vùng lân cận Việc chuyển đổi dữ liệu này thành định dạng phù hợp là cần thiết cho các bước xử lý tiếp theo trên máy tính Quá trình này, được gọi là trích xuất đặc trưng, giúp làm nổi bật các thuộc tính của ảnh dưới dạng thông tin định lượng, từ đó phân biệt các đối tượng khác nhau.
2.1.5 Nhận dạng và nội suy ảnh
Nhận dạng ảnh là quá trình xác định hình ảnh bằng cách so sánh với các mẫu đã được học trước đó Quá trình này áp dụng nội suy để dự đoán ý nghĩa từ các kết quả nhận dạng, giúp cải thiện độ chính xác trong việc phân tích và nhận diện hình ảnh.
Trong lý thuyết nhận dạng ảnh, có hai loại chính: nhận dạng theo tham số và nhận dạng theo cấu trúc Các ứng dụng phổ biến của nhận dạng ảnh bao gồm nhận dạng ký tự, văn bản, vân tay, mã vạch và khuôn mặt.
2.1.6 Cơ sơ tri thức Ảnh là một đối tượng phức tạp với nhiều đặc điểm như đường nét, độ sáng tối, dung lượng điểm ảnh và ảnh hưởng của môi trường gây nhiễu Trong xử lý và phân tích ảnh, việc đơn giản hóa các phương pháp toán học giúp cho quá trình này thuận tiện hơn Tuy nhiên, nhiều khâu xử lý ảnh ngày nay cũng áp dụng các phương pháp trí tuệ nhân tạo để nâng cao hiệu quả, từ đó cơ sở tri thức trong lĩnh vực này được phát triển và ứng dụng rộng rãi
2.1.7 Mô tả Ảnh sau khi số hóa có thể được lưu vào bộ nhớ hoặc truyền đi để phân tích Lưu trữ trực tiếp các ảnh thô yêu cầu dung lượng bộ nhớ lớn và không hiệu quả theo quan điểm ứng dụng và công nghệ Thông thường, các đặc trưng của ảnh như biên ảnh, vùng ảnh được sử dụng để giảm dung lượng lưu trữ.
NHỮNG VẤN ĐỀ CƠ BẢN TRONG XỬ LÝ ẢNH
2.2.1 Một số khái niệm cơ bản Điểm ảnh: Là đơn vị hình ảnh nhỏ nhất trong ảnh kỹ thuật số, chứa thông tin về màu sắc và độ sáng tại một tọa độ cụ thể
Vai trò của điểm ảnh là cơ bản trong việc hình thành bức ảnh kỹ thuật số Chất lượng của ảnh phụ thuộc vào số lượng điểm ảnh trên mỗi đơn vị chiều dài, được đo bằng PPI hoặc DPI Ảnh kỹ thuật số được cấu thành từ tập hợp các điểm ảnh, mỗi điểm ảnh đóng góp vào tổng thể hình ảnh.
Cấu trúc: Lưu trữ trong các định dạng như JPEG, PNG, BMP với cách nén và lưu trữ khác nhau
Mức xám, màu: Là số các giá trị có thể có của các điểm ảnh của ảnh
2.2.2 Nắn chỉnh biến dạng Ảnh thu nhận thường bị biến dạng do các thiết bị quang học và điện tử
Để cải thiện chất lượng hình ảnh, người ta thường sử dụng các phép chiếu được xây dựng dựa trên tập hợp các điểm điều khiển Hình 2.2 minh họa ví dụ về ảnh nhận được, trong khi Hình 2.3 trình bày ví dụ về ảnh mong muốn.
Trong quá trình thu nhận ảnh, có hai loại nhiễu cơ bản:
• Nhiễu hệ thống: là nhiễu có quy luật, có thể được khử bằng các phép biến đổi
• Nhiễu ngẫu nhiên: là các vết bẩn không rõ nguyên nhân, thường được khắc phục bằng các phép lọc
2.2.4 Chỉnh mức xám Để khắc phục tính không đồng đều của hệ thống gây ra, thông thường có hai hướng tiếp cận:
• Giảm số mức xám: Nhóm các mức xám gần nhau thành một nhóm duy nhất, hoặc chuyển thành ảnh đen trắng
• Tăng số mức xám: Sử dụng kỹ thuật nội suy để tạo ra các mức xám trung gian, nhằm cải thiện độ mịn của ảnh
Trong quá trình xử lý ảnh, các đặc điểm của đối tượng được trích chọn dựa trên mục đích nhận dạng, bao gồm:
• Đặc điểm không gian như phân bố mức xám, phân bố xác suất, biên độ
• Đặc điểm biến đổi nhờ vào các bộ vùng như "mặt nạ đặc 10 điểm"
• Đặc điểm biên và đường biên có thể được trích chọn bằng các toán tử như gradient, la bàn, Laplace, hoặc "chéo không" (zero crossing)
Việc trích xuất các đặc điểm này không chỉ nâng cao độ chính xác trong nhận dạng đối tượng trong ảnh mà còn cải thiện tốc độ tính toán và giảm dung lượng lưu trữ.
Trong lĩnh vực nhận dạng tự động, mẫu được định nghĩa là một đối tượng không rõ ràng, như hình ảnh vân tay, hình ảnh vật thể, chữ viết, khuôn mặt hoặc ký hiệu âm thanh Quá trình nhận dạng mẫu có hai hướng chính: phân loại có mẫu và phân loại không có mẫu Hệ thống nhận dạng tự động bao gồm ba giai đoạn chính: thu thập dữ liệu và tiền xử lý, biểu diễn dữ liệu, và nhận dạng cùng ra quyết định.
Trong lý thuyết nhận dạng, có bốn cách tiếp cận chính, và để đạt hiệu quả cao trong các ứng dụng thực tế, thường cần kết hợp các phương pháp này.
2.2.7 Nén ảnh Để giảm không gian lưu trữ ảnh, thường áp dụng hai hướng tiếp cận chính là nén có bảo toàn và không bảo toàn thông tin Các phương pháp nén ảnh bao gồm:
Dựa trên thống kê tần suất xuất hiện của các giá trị điểm ảnh, việc áp dụng chiến lược mã hóa thích hợp là rất quan trọng, chẳng hạn như sử dụng định dạng *.TIF để tối ưu hóa hiệu suất lưu trữ và chất lượng hình ảnh.
Nén ảnh không gian là phương pháp sử dụng vị trí của các điểm ảnh để khai thác sự tương đồng trong các vùng lân cận, điển hình như định dạng *.PCX.
- Nén ảnh sử dụng phép biến đổi: Áp dụng phép biến đổi để nén không bảo toàn thông tin, như là định dạng *.JPG
- Nén ảnh Fractal: Sử dụng tính chất Fractal để biểu diễn sự lặp lại của các chi tiết trong ảnh, giảm dung lượng lưu trữ
Mỗi phương pháp có đặc điểm và ứng dụng riêng, phù hợp với các yêu cầu và điều kiện cụ thể trong xử lý và lưu trữ ảnh.
PHƯƠNG PHÁP NHẬN DẠNG MÀU
Trong không gian màu RGB, mỗi pixel được biểu diễn bởi ba giá trị màu: R (đỏ), G (xanh lá cây) và B (xanh dương), với mỗi giá trị nằm trong khoảng từ 0 đến 255.
24 bit, số lượng màu tối đa có thể biểu diễn là 16581375 Hình 2 4
Không gian màu CMYK là mô hình màu dành cho in ấn, gồm các thành phần:
• M (Magenta): Màu hoa sen hoặc màu hồng đậm
• K (Key): Thường hiểu là màu đen trong CMYK
Màu CMYK được hình thành thông qua quá trình hấp thụ ánh sáng và phản chiếu màu sắc mà con người nhận thấy, dựa trên sự kết hợp của bốn màu cơ bản: Cyan, Magenta, Yellow Bằng cách điều chỉnh tỷ lệ mực in, có thể tạo ra màu đen hoặc các màu sắc khác, tùy thuộc vào kỹ thuật in ấn được sử dụng.
Hình 2 4 Độ phủ màu RGB Hình 2 5 Độ phủ màu CMYK
Hệ màu HSV được sử dụng rộng rãi trong xử lý màu vì tính thuận tiện của nó
Tuy nhiên có một số nơi còn gọi là HSB, từ khóa “Value” được thay bằng
“Brightness” nhưng ngữ nghĩa như nhau Hình 2 6
• S: (Độ bão hòa) Độ bão hòa màu
• B (hoặc V): Độ sáng (Sáng hoặc Giá trị)
2.3.4 Độ phủ màu CIE LAB
Không gian màu CIE Lab được thiết kế để mô tả các màu mà mắt người có thể nhận diện, mang lại một cách tiếp cận đồng nhất cho việc so sánh sự khác biệt giữa các màu sắc Trong không gian này, giá trị L* thể hiện độ sáng của màu, trong khi a* và b* phản ánh sắc độ: a* dương biểu thị từ màu đỏ đến xanh lá cây, a* âm từ xanh lục đến đỏ; b* dương từ màu vàng đến xanh dương, và b* âm từ xanh lam đến vàng.
GIỚI THIỆU VỀ PHẦN CỨNG ĐƯỢC SỬ DỤNG
Hình 2 8 Ảnh Raspberry Pi 3 Hình 2 9Sơ đồ Raspbberry Pi
Raspberry Pi là một máy tính nhỏ gọn giá 35 USD, chạy hệ điều hành Linux và được phát triển bởi Raspberry Pi Foundation, tổ chức phi lợi nhuận Ban đầu thiết bị này được thiết kế để dạy lập trình cho trẻ em, nhưng đã thu hút sự quan tâm từ nhiều người dùng khác nhau Raspberry Pi sử dụng chip xử lý SoC Broadcom BCM2835, tích hợp CPU, GPU và bộ xử lý âm thanh/video, mang lại hiệu suất cao trong một thiết bị tiết kiệm điện Dù không hỗ trợ Windows do kiến trúc ARM, Raspberry Pi vẫn linh hoạt và lý tưởng cho các dự án điện tử DIY, hệ thống giáo dục và nhiều ứng dụng khác.
Raspberry Pi có hai phiên bản chính: Model A (~25 USD) và Model B (~35 USD) Model B được sử dụng phổ biến hơn và có các tính năng như sau:
• SoC 700MHz với 512MB RAM
• Cổng HDMI cho đầu ra âm thanh/video số
• Cổng video RCA cho đầu ra video Analog
• Jack headphone stereo 3.5mm cho đầu ra âm thanh Analog
• 2 cổng USB, đầu đọc thẻ nhớ SD
• Cổng Ethernet LAN và giao diện GPIO
Model A tương tự nhưng khác:
• Không có cổng Ethernet, cần sử dụng Adapter USB Wi-Fi hoặc Ethernet nếu cần kết nối mạng
Hệ điều hành và phần mềm của Raspberry
Raspberry Pi hỗ trợ nhiều hệ điều hành Linux nhúng như Raspbian, Pidora, openSUSE, OpenWRT và OpenELEC Những hệ điều hành này là lựa chọn phổ biến để khai thác tính năng của Raspberry Pi trong các ứng dụng như máy tính nhúng, thiết bị phát đa phương tiện và các ứng dụng mạng.
Hình 2 10 Ảnh giao diện trên Raspbian
Arduino Uno R3 được trang bị vi điều khiển ATmega328, tương thích với hầu hết các loại Arduino Shield Board này cho phép gắn thêm các module mở rộng để điều khiển motor, kết nối wifi, cảm biến và thực hiện nhiều chức năng khác.
Arduino Uno R3 được lập trình trên phần mềm Arduino IDE dưới dạng ngôn ngữ lập trình C/C++ hoặc Arduino
Hình 2 11 Ảnh của mạch Arduino Uno R3
Băng tải là thiết bị cơ khí quan trọng trong sản xuất, giúp di chuyển hàng hóa từ vị trí này sang vị trí khác Việc sử dụng băng tải không chỉ thay thế lao động thủ công mà còn tiết kiệm chi phí, nâng cao năng suất và hiệu quả sản xuất Hơn nữa, băng tải tạo ra một môi trường làm việc an toàn và hiện đại.
Cấu trúc của băng tải công nghiệp
• Một động cơ trục vít và điều khiển bộ điều khiển tốc độ
• Bộ con lăn, hộp số chủ động
• Hệ thống hỗ trợ con lăn
• Hệ thống vành đai hoặc con lăn
Nguyên lý của băng tải
Khi con lăn chủ động quay, nó tạo ra ma sát với băng tải, giúp băng tải di chuyển Để đảm bảo băng tải khớp với con lăn, chúng tôi điều chỉnh con lăn thụ động hoặc hệ thống căng đai, tạo ra lực căng cần thiết Lực ma sát này sẽ giữ cho băng tải di chuyển liên tục Các con lăn được đặt bên dưới giúp hỗ trợ quá trình này.
Bề mặt băng tải, bao gồm con lăn hỗ trợ đai, đóng vai trò quan trọng trong việc ngăn chặn độ võng của đai, đồng thời giảm thiểu ma sát trên đường băng tải.
Hình 2 12 Ảnh băng tải mô hình mini Hình 2 13 Sơ đồ hoạt động của băng tải
2.4.4 Nguyên lý hoạt động của máy ảnh
• Ống kính: Thu ánh sáng từ cảnh để tạo hình ảnh
• Hệ thống khung ngắm: Cho người dùng nhìn thấy khung hình sẽ được chụp
• Thấu kính lấy nét: Điều chỉnh để hình ảnh sắc nét
• Màn trập: Kiểm soát thời gian ánh sáng vào cảm biến
• Khẩu độ: Điều chỉnh lượng ánh sáng vào ống kính
• Cảm biến hình ảnh: Chuyển đổi ánh sáng thành tín hiệu điện Có CMOS và
Cảm biến CMOS được ưa chuộng nhờ vào khả năng tiêu thụ điện năng thấp và khả năng chuyển đổi mỗi màu thành tín hiệu điện Các pixel được sắp xếp theo dạng lưới màu khảm, với cấu trúc gồm bốn pixel (hai xanh lá, một đỏ và một xanh lam) Hình ảnh số từ cảm biến này được xử lý để tạo ra hình ảnh cuối cùng, có thể được lưu dưới định dạng JPEG.
Hình 2 14 Điểm ảnh Hình 2 15 Cảm biến máy ảnh kỹ thuật số
2.4.5 Cảm biến tiệm cận hồng ngoại
Cảm biến hồng ngoại (PIR) được sử dụng để phát hiện và đo lường bức xạ hồng ngoại từ các vật thể phát ra nhiệt Bức xạ này có bước sóng dài hơn ánh sáng nhìn thấy nhưng ngắn hơn vi sóng, nằm ngoài bước sóng màu đỏ - màu có bước sóng dài nhất trong ánh sáng tự nhiên Vào năm 1800, nhà thiên văn học William Herschel đã phát hiện ra bức xạ hồng ngoại khi nghiên cứu nhiệt độ của các màu ánh sáng.
Cảm biến hồng ngoại được chia thành hai loại: cảm biến chủ động và cảm biến thụ động Cảm biến chủ động phát ra và nhận ánh sáng hồng ngoại, thường sử dụng LED và máy thu, trong khi cảm biến thụ động chỉ nhận ánh sáng hồng ngoại từ các nguồn nhiệt như con người và động vật mà không phát ra ánh sáng Khi phát hiện nguồn nhiệt, cảm biến thụ động sẽ phân tích để xác định tình trạng báo động.
Cảm biến hồng ngoại hoạt động bằng cách nhận diện bước sóng ánh sáng trong phổ hồng ngoại thông qua đèn LED phát ra ánh sáng cùng bước sóng Khi một vật thể tiếp cận gần cảm biến, ánh sáng từ đèn LED sẽ chiếu vào vật thể đó, dẫn đến sự thay đổi đáng kể trong cường độ ánh sáng mà cảm biến nhận được.
Hình 2 16 Nguyên lý làm việc của cảm biến hồng ngoại
2.4.6 Động cơ giảm tốc Động cơ giảm tốc được tạo thành từ hai thành phần: động cơ điện và hộp số Stato và rôto là hai thành phần chính của động cơ điện Stato được tạo thành từ các cuộn dây điện ba pha quấn trên lõi sắt Đặt trên một vành tròn Kết quả là một từ trường quay được hình thành Rôto hình trụ có chức năng như một cuộn dây quấn trên lõi thép
Cần số, vít và các bộ phận khác trong bộ giảm tốc giúp làm chậm tốc độ quay Hệ thống này giảm vectơ vận tốc tức thời góc, đồng thời tăng cường mô-men xoắn.
14 hoạt động như một liên kết giữa động cơ điện và phần còn lại của hệ thống Đầu kia của bộ giảm tốc được kết nối với tải
Bộ giảm tốc là thiết bị cơ khí thiết yếu, giúp giảm tốc độ quay của động cơ điện thông qua các thành phần như bánh răng và ốc vít Thiết bị này hoạt động như một cơ cấu truyền động, với tỷ số truyền không đổi, nhằm tăng mô-men xoắn và giảm tốc độ quay của trục đầu ra, kết nối giữa trục động cơ và tải.
Động cơ giảm tốc hoạt động dựa trên nguyên lý giảm số vòng quay của trục đầu ra bằng cách sử dụng hộp số giảm tốc, giúp tăng mô-men xoắn và giảm tốc độ quay Việc thêm hộp số giảm tốc vào động cơ điện chỉ tốn một khoản chi phí nhỏ nhưng mang lại tính linh hoạt cao trong việc điều chỉnh số vòng quay Động cơ điện chuyển đổi năng lượng điện thành năng lượng cơ học, hỗ trợ nhiều thiết bị như băng tải, máy bơm nước, và quạt điện Các động cơ hiện đại thường tuân thủ các tiêu chuẩn hiệu suất như IE2, IE3, đảm bảo hiệu quả hoạt động tối ưu.
Servo là hệ thống truyền động điều khiển phản hồi vòng kín, nhận tín hiệu và thực hiện lệnh từ PLC một cách nhanh chóng và chính xác Một bộ servo bao gồm bộ điều khiển servo, động cơ servo và bộ mã hóa để cung cấp phản hồi từ động cơ đến bộ điều khiển Servo được sử dụng để điều khiển vị trí chính xác, điều chỉnh mô-men xoắn và thay đổi tốc độ cực nhanh với phản hồi tính bằng ms Động cơ servo, là thành phần quan trọng của hệ thống servo, hoạt động ở tốc độ và độ chính xác cao, nhận tín hiệu từ bộ điều khiển và cung cấp lực chuyển động cần thiết cho các thiết bị cơ khí.
GIỚI THIỆU VỀ PHẦN MỀM VÀ CÁC THƯ VIỆN SỬ DỤNG
2.5.1 Giới thiệu về Python và thư viện OpenCV
Python là ngôn ngữ lập trình đa mục đích, dễ học và dễ đọc, nổi bật với thư viện phong phú và khả năng tích hợp tốt Ngôn ngữ này được sử dụng phổ biến trong việc phát triển ứng dụng web, tự động hóa tác vụ và phân tích dữ liệu.
Ngôn ngữ lập trình này nổi bật với tính linh hoạt và dễ tiếp cận, khiến nó trở thành một trong những lựa chọn phổ biến nhất hiện nay, đặc biệt dành cho những người mới bắt đầu học lập trình.
Python là ngôn ngữ lập trình đa mục đích, thường được sử dụng trong phát triển web, phần mềm, tự động hóa tác vụ và phân tích dữ liệu Với tính dễ học và linh hoạt, Python đã trở thành công cụ phổ biến trong khoa học dữ liệu, cho phép phân tích dữ liệu phức tạp và xây dựng ứng dụng web mạnh mẽ Ngoài ra, Python hỗ trợ tự động hóa quy trình và kiểm thử phần mềm, nâng cao hiệu quả và đảm bảo tính ổn định cho sản phẩm phần mềm.
Python ngày càng phổ biến nhờ vào các đặc tính sau:
• Ngôn ngữ thông dịch, không cần biên dịch trước
• Hỗ trợ lập trình hướng đối tượng và tương tác trực tiếp với trình thông dịch
• Dễ học và có cú pháp đơn giản, mã nguồn rõ ràng, dễ đọc
• Di động và có thể mở rộng bằng các mô-đun cấp thấp
OpenCV là thư viện mã nguồn mở chuyên về xử lý thị giác máy tính, học máy và xử lý ảnh, được viết bằng C/C++ giúp tăng tốc độ tính toán và hỗ trợ ứng dụng thời gian thực Thư viện này cung cấp giao diện cho C/C++, Python và Java, cho phép sử dụng trên nhiều nền tảng như Windows, Linux, macOS, Android và iOS Với cộng đồng lớn hơn 47 nghìn người dùng và hơn 6 triệu lượt tải xuống, OpenCV đã trở thành một công cụ phổ biến trong lĩnh vực xử lý ảnh và thị giác máy tính.
Hình 2 20 Logo Ngôn ngữ lập trình Python
• Nhận dạng và xử lý hình ảnh
• Phục hồi hình ảnh/video
• Thực tế ảo và ứng dụng khác
TensorFlow là thư viện mã nguồn mở của Google, chuyên dùng để xây dựng và huấn luyện mô hình học máy và mạng nơ-ron Thư viện này giúp giải quyết các vấn đề phức tạp trong Machine Learning một cách nhanh chóng và hiệu quả Google áp dụng TensorFlow để nâng cao khả năng tìm kiếm trên nền tảng của mình, mang đến cho người dùng trải nghiệm tìm kiếm tốt hơn thông qua các đề xuất từ khóa liên quan, dựa trên học máy và phân tích dữ liệu lớn.
• I/O hình ảnh/video, xử lý, hiển thị
• Phát hiện đối tượng và chụp ảnh tính toán
• Thị giác máy tính một mắt hoặc âm thanh nổi dựa trên hình học
• Học máy & phân cụm, tăng tốc CUDA(GPU)
MobileNetV2 là một kiến trúc mạng nơ-ron tích chập tối ưu cho việc phân loại hình ảnh và phát hiện đối tượng trên thiết bị di động và nhúng Kiến trúc này dựa trên nguyên lý "dư ngược", sử dụng các khối nút cổ chai kết hợp với các hoạt động tích chập 1x1 và 3x3, cùng với các lớp mở rộng tuyến tính MobileNetV2 không chỉ hiệu quả về mặt tính toán mà còn duy trì độ chính xác cao cho nhiều tác vụ phân loại hình ảnh, làm cho nó trở thành lựa chọn phổ biến trong học chuyển giao.
Hình 2 21 Ảnh Logo thư viện OpenCv
Hình 2 22 Lớp mạng của MobileNetV2 Ứng dụng của MobilenetV2
MobileNetV2 được sử dụng làm trình trích xuất tính năng trong các khung phát hiện đối tượng như SSD (Single Shot MultiBox Detector) và YOLO (You Only Look Once), cho phép thực hiện phát hiện đối tượng thời gian thực trên thiết bị di động.
MobileNetV2 là một mô hình hiệu quả cho các tác vụ phân loại hình ảnh, cho phép phân loại hình ảnh vào các danh mục đã được xác định trước.
MobileNetV2 cho phép chuyển giao học tập bằng cách tinh chỉnh trên một tập dữ liệu mới, giúp thực hiện nhiệm vụ phân loại hình ảnh cụ thể Điều này cho phép chuyển giao kiến thức từ mô hình đã được đào tạo trước sang nhiệm vụ mới một cách hiệu quả.
Nhận dạng khuôn mặt là một ứng dụng quan trọng của MobileNetV2, cho phép xác định một người cụ thể dựa trên các đặc điểm khuôn mặt của họ.
MobileNetV2 có khả năng thực hiện phân tích video thời gian thực, bao gồm theo dõi đối tượng và nhận dạng hoạt động Công nghệ này hoạt động bằng cách xử lý từng khung hình riêng lẻ trong video, giúp cải thiện độ chính xác và hiệu suất của các tác vụ phân tích.
MobileNetV2 chủ yếu được sử dụng để phân loại hình ảnh, với mạng được đào tạo nhằm dự đoán nhãn lớp cho hình ảnh đầu vào Kiến trúc của MobileNetV2 được tối ưu hóa để thực hiện tác vụ này một cách hiệu quả và chính xác trên các thiết bị di động và nhúng Hình ảnh đầu vào được xử lý qua nhiều lớp tích chập và tổng hợp để trích xuất các tính năng, sau đó các tính năng này được đưa vào một lớp kết nối đầy đủ để tạo ra dự đoán lớp cuối cùng Trọng số và thành kiến của mạng đóng vai trò quan trọng trong quá trình này.
Mạng học sâu được đào tạo thông qua việc tiếp xúc với một tập dữ liệu lớn các hình ảnh đã được gắn nhãn, giúp điều chỉnh trọng số để giảm thiểu lỗi phân loại.
Sau khi được đào tạo, MobileNetV2 có khả năng phân loại hình ảnh mới bằng cách truyền chúng qua mạng và sử dụng đầu ra của lớp cuối cùng để đưa ra dự đoán Kiến trúc MobileNetV2 cho phép thực hiện tác vụ này nhanh chóng và chính xác, khiến nó trở thành lựa chọn phổ biến cho phân loại hình ảnh thời gian thực trên thiết bị di động và thiết bị nhúng.
Arduino IDE là phần mềm mã nguồn mở, giúp người dùng viết và biên dịch mã cho mô-đun Arduino Nó cung cấp một môi trường lập trình đơn giản và thuận tiện, cho phép lập trình các biến và sự kiện trên Arduino một cách linh hoạt và dễ dàng.
GIỚI THIỆU VỀ CHUẨN GIAO TIẾP UART
UART (Universal Asynchronous Receiver-Transmitter) is a widely used protocol for asynchronous serial data communication between devices It consists of two main lines: Tx (Transmitter) and Rx (Receiver), enabling data transmission from one device to another.
Giao tiếp UART là phương thức không đồng bộ, không cần tín hiệu đồng hồ để đồng bộ hóa dữ liệu, mà sử dụng các bit start và stop để xác định khung dữ liệu Để đảm bảo việc truyền nhận dữ liệu chính xác và hiệu quả, tốc độ truyền dữ liệu (baud rate) cần được cấu hình đúng trên cả hai thiết bị.
Hình 2 25 Cách truyền – nhận dữ liệu của UART Hình 2 26 Ảnh sơ đồ khối của UART
2.6.2 Cách thức hoạt động của giao tiếp UART
UART là giao thức truyền dữ liệu nối tiếp bất đồng bộ, chuyển đổi dữ liệu giữa bus dữ liệu và dạng song song Khi nhận dữ liệu, UART thêm bit start, bit chẵn lẻ và bit stop để tạo gói dữ liệu gửi từ chân Tx Sau đó, UART nhận gói dữ liệu từ chân Rx và chuyển đổi từ dạng nối tiếp sang dạng song song để gửi đi trên bus dữ liệu.
UART hoạt động trong ba chế độ:
• Full duplex: Giao tiếp đồng thời và đồng nhất từ cả hai hướng
• Half duplex: Dữ liệu chỉ truyền đi một chiều tại một thời điểm
• Simplex: Giao tiếp chỉ một chiều
Các chế độ này giúp UART thực hiện giao tiếp linh hoạt với các thiết bị khác như CPU, bộ nhớ hoặc vi điều khiển
Dữ liệu được chia thành các gói gồm bit bắt đầu, 5-9 bit dữ liệu, bit chẵn lẻ (tùy chọn), và 1 hoặc 2 bit dừng
Bit bắt đầu: UART bắt đầu truyền dữ liệu bằng cách chuyển từ mức điện áp cao xuống thấp
Khung dữ liệu: Chứa dữ liệu thực sự, từ 5-8 bit với bit LSB trước tiên, hoặc 9 bit nếu không có bit chẵn lẻ
Bit chẵn lẻ: Dùng để kiểm tra tính toàn vẹn dữ liệu bằng cách đếm và kiểm tra tính chẵn lẻ của số bit 1
Bit dừng: Đánh dấu kết thúc gói dữ liệu, được điều khiển bằng cách chuyển từ mức thấp lên mức cao ít nhất hai chu kỳ bit
THIẾT KẾ VÀ THI CÔNG
THIẾT KẾ PHẦN CỨNG
3.1.1 Thiết kế mô hình trên bản vẽ 3D
Bước đầu tiên trong quá trình tạo mô hình là thiết kế bản vẽ Nhóm em đã sử dụng phần mềm Solidworks để thiết kế các chi tiết, sau đó lắp ráp chúng để tạo ra bản vẽ 3D với tỷ lệ và kích thước cụ thể cần thiết.
Kích thước mô hình: 400 mm x 800mm x 219mm Kích thước của băng tải: 70mm x 600mm
Kích thước tay gạc: 10mm x 115mm Kích thước kho chứa: 135mm x 165mm Kích thước hộp điện: 120mm x 20mm x 75mm Kích thước hộp camera: 90mm x 120mm x 190mm
Hình 3 1 Bản vẽ 3D chụp từ trên xuống
Hình 3.2 trình bày bản vẽ 3D tổng thể của sản phẩm, trong khi Hình 3.3 hiển thị chi tiết về cánh tay gạt và servo Hình 3.6 và Hình 3.7 cung cấp cái nhìn sâu sắc về mặt bên ngoài của giá, giúp người đọc hiểu rõ hơn về thiết kế và cấu trúc của sản phẩm.
Hình 3 4 Bản vẽ 3D hộp đựng Camera Hình 3 5 Bản vẽ 3D hộp điện
3.1.2 Sơ đồ khối phần cứng
Hình 3 8 Hình sơ đồ khối của hệ thống Chức năng của từng khối
Có chức năng là nguồn năng lượng chính cho toàn bộ hệ điều hành
Có một cài đặt để giảm nguồn điện từ 12V xuống 5V để cấp nguồn cho arduino, cảm biến tiệm cận và servo
Chụp ảnh 3 loại quả quýt khi chúng đi qua băng tải để phục vụ xử lý dữ liệu đầu vào
Tiếp tục bằng cách chạy chương trình xử lý hình ảnh để tạo dữ liệu đầu ra về phân loại quýt
Nhận biết có quýt trên băng truyền, đặt quýt vào vị trí máy ảnh
Nhận biết quýt hồng đã vào đúng vị trí, kích hoạt cơ chế phân loại quýt hồng
Nhận biết quýt đường đã vào đúng vị trí, kích hoạt cơ chế phân loại quýt đường
Tín hiệu đầu vào từ xử lý hình ảnh trên máy tính và cảm biến được nhận, sau đó cung cấp tín hiệu đầu ra cho bộ truyền động
Khi Arduino nhận được tín hiệu, nó sẽ đóng mạch khiến động cơ băng tải quay
Cung cấp động năng cho vòng quay của băng tải
Bảng 3 1 Bảng chức của các khối trong sơ đồ phần cứng
Hình 3 9 Bảng vẽ sơ đồ hệ thống điện
Hình 3 10 Lưu đồ thuật toán của hệ thống
DANH MỤC THIẾT BỊ SỬ DỤNG TRONG DỰ ÁN
3.2.1 Thép hộp làm khung băng tải
Thép hộp chữ nhật là loại thép phổ biến trên thị trường, với kích thước từ 30x30(cm) đến 7x45(cm) (cm) Dày nhất là 3 mm và mỏng nhất là 6 dem
➔ Nhóm nghiên cứu đã sử dụng loại thép này để làm khung của mô hình vì đây là vật liệu phổ biến, rẻ tiền và dễ gia công
Hình 3 11 Đặc điểm kỹ thuật của thép hộp hình chữ nhật 3.2.2 Đai băng tải
Hình 3 12 Đai băng tải 1mm
Vật liệu của băng tải có các đặc tính sau:
Băng tải PVC, thường có màu xanh đậm hoặc xanh lá cây, được sử dụng phổ biến trong ngành dược phẩm và các lĩnh vực như sản xuất bánh kẹo, thủy sản, trái cây, in ấn, và thuốc lá.
• Trong quá trình vận hành, lực ma sát và độ mòn của dây đai giảm
• Chịu được nhiệt độ dưới 80 độ F Độ giãn dài thấp với tác động cao
• Độ bền kéo (lực đứt) khá cao
• Độ dày tương đối khoảng 1mm
Mô-đun webcam được lắp đặt ở đầu băng tải để thu nhận hình ảnh quýt, cung cấp dữ liệu cho quá trình xử lý hình ảnh và phân loại quýt Mô-đun này sở hữu nhiều tính năng nổi bật phục vụ cho việc phân tích và đánh giá chất lượng quýt.
• Hỗ trợ hệ điều hành: MacOS, Windows và Linux Tính năng: Zoom kỹ thuật số 3X
• Trọng lượng: 50 g Kích thước: 20 x 22 x 60 mm
➔ Nhóm chúng em lựa chọn thiết bị này vì nhỏ gọn và đáp ứng đủ yêu cơ bản của mô hình, và đặc biệt là giá thành rẻ
3.2.4 Mạch điều khiển Arduino Uno R3
Arduino Uno có các chức năng và chân kết nối sau:
- LED: Chân 13, sử dụng HIGH để bật, LOW để tắt
- Vin: Điện áp vào 7-12VDC qua jack nguồn
- USB: Cung cấp 5V và kết nối USB
- Reset: Thiết lập lại mạch
- IOREF: Tham chiếu điện áp
- SPI: Chân 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)
- TWI: Giao tiếp I2C qua A4 và A5
- Serial: Chân 0 (Rx) và 1 (Tx)
Để tối ưu hóa số lượng chân I/O, bạn có thể kết nối trực tiếp vào Kit Raspberry và tận dụng thiết bị Kit Arduino đã sử dụng cho các dự án trước đó.
3.2.5 Cảm biến tiệm cận hồng ngoại E18-D80NK
Cảm biến khoảng cách E18-D80NK sử dụng ánh sáng hồng ngoại để đo khoảng cách và điều chỉnh mức cảnh báo thông qua biến trở Thiết bị này có nhiều ứng dụng trong các lĩnh vực như robot tránh chướng ngại vật, đếm sản phẩm, bảo vệ an ninh và nhiều ứng dụng khác.
Hình 3 15 Cảm biến tiệm cận E18-D80NK Thông số kỹ thuật:
• Nguồn điện cung cấp: 5V DC
• Khoảng cách phát hiện: 3 ~ 80cm, có thể chỉnh khoảng cách qua biến trở
• Dòng kích ngõ ra: 300mA
• Ngõ ra dạng NPN cực thu hở giúp tùy biến được điện áp ngõ ra
• Vật liệu bằng nhựa, có led hiển thị ngõ ra màu đỏ
Nhóm chúng em quyết định sử dụng lại thiết bị có sẵn từ các dự án trước, nhằm đáp ứng đầy đủ yêu cầu về điện áp và dòng ngõ ra trên Kit Arduino trong dự án lần này.
3.2.6 Động cơ giảm tốc có bộ mã hóa GB37-520
Động cơ giảm tốc JGB37-520 là một thiết bị tích hợp hộp số và bộ mã hóa, với các bánh răng kim loại và chổi than bền bỉ Đặc điểm nổi bật của động cơ này là momen xoắn cao và độ ồn thấp, giúp nó hoạt động hiệu quả trong nhiều ứng dụng như mô hình robot, ô tô và thuyền.
• Điện áp định mức: 12V DC
• Mô-men xoắn: 5kg.cm
• Kích thước hộp số: 24mm
Tính toán chọn động cơ:
Ta có trọng lượng của quả quýt là 200g (𝑚 𝑞𝑢ý𝑡 = 200𝑔), Mô-men xoắn động cơ 5kg.cm (𝑇 Độ𝑛𝑔 𝑐ơ = 5kg.cm = 0,4905 N.m).
- Tính toán mô-men xoắn yêu cầu:
- Tính toán mô-men xoắn thực tế từ động cơ tác dụng lên trục băng tải:
Ta có tỷ số truyền 𝑖 = 𝑟 𝑟 𝑏ă𝑛𝑔 𝑡ả𝑖 độ𝑛𝑔 𝑐ơ = 0,005 0,005 = 1
Từ (1) và (2) ta có 𝑇 𝑇𝑟𝑢𝑦ề𝑛 > 𝑇 𝑌ê𝑢 𝑐ầ𝑢 → động cơ giảm tốc JGB37- 520 phù hợp
Động cơ servo MC955, với mô-men xoắn cao và hoạt động êm ái, là lựa chọn lý tưởng cho các mô hình chịu tải trọng lớn như cánh tay robot, mô hình máy bay và robot nhện Được chế tạo từ vật liệu bền bỉ và trang bị bánh răng bằng đồng, động cơ này có tuổi thọ dài Góc quay của servo được thiết lập ở mức 180 độ, mang lại sự linh hoạt trong các ứng dụng.
- Dòng điện cung cấp