Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 79 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
79
Dung lượng
2,32 MB
Nội dung
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH KHOA CƠNG NGHỆ ĐIỆN TỬ NGUYỄN QUỐC TƯỞNG TRẦN HẢI LONG 18071481 18050251 NHẬN DẠNG VÀ PHÂN BIỆT CỎ DẠI VỚI HOA MÀU, SỬ DỤNG CÁNH TAY ROBOT ĐỂ PHUN THUỐC TRỪ SÂU Chuyên ngành: Hệ thống thơng minh Mã chun ngành: 7510302 KHĨA LUẬN TỐT NGHIỆP THÀNH PHỐ HỒ CHÍ MINH, NĂM 2022 THƠNG TIN CHUNG Họ tên sinhviên : Nguyễn Quốc MSHV:18071481 Lớp : DHDTTM14A Khóa: 2018 - 2022 Chuyên ngành :Hệ thống thông minh Mã chuyên ngành:7510302 SĐT :0383617824……Email: quocnguyen101100@gmail.com Họ tên sinhviên : Tưởng Trần Hải Long MSHV:18050251 Lớp : DHDTTM14A Khóa: 2018 - 2022 Chuyên ngành :Hệ thống thông minh Mã chuyên ngành:7510302 SĐT :0336261384……Email: tuongtranhailong2804@gmail.com Địa liên hệ : 230/12 Phan Huy Ích, Gị Vấp, Tp.HCM Tên đề tài : Nhận dạng phân biệt cỏ dại với hoa màu Sử dụng cánh tay Robot để phun thuốc trừ sâu Người hướng dẫn : ThS Phan Vinh Hiếu SĐT : 0983053941 Email : hieuphanvinh@gmail.com Cơ quan công tác : Trường Đại học Cơng nghiệp Thành phố Hồ Chí Minh Tp Hồ Chí Minh, ngày 20 tháng năm 2022 Người hướng dẫn (Ký ghi rõ họ tên) Sinh viên (Ký ghi rõ họ tên) MỤC LỤC MỤC LỤC DANH MỤC HÌNH ẢNH DANH MỤC BẢNG BIỂU 10 DANH MỤC TỪ VIẾT TẮT 11 LỜI MỞ ĐẦU 12 LỜI CÁM ƠN 13 Chương 1: TỔNG QUAN ĐỀ TÀI 14 1.1 Đặt vấn đề 14 1.2 Mục tiêu 14 1.3 Nội dung nghiên cứu 15 1.4 Hạn chế 15 1.5 Ý nghĩa thực tiễn 15 Chương 2: CƠ SỞ LÝ THUYẾT 16 2.1 Tổng quan XLA 16 2.2 Môi trường Pycharm IDE 16 2.3 Ngôn ngữ Python 17 2.4 Thư viện OpenCV 17 2.5 Mạng MobileNet 18 2.5.1 Mạng nơron tích chập - CNN 18 2.5.1.1 Conv layer 19 2.5.1.2 ReLU layer 19 2.5.1.3 Pooling layer 20 2.5.1.4 FC layer 21 2.5.2 Cấu trúc MobileNet 21 2.5.2.1 Xét độ phức tạp phép tích chập ảnh: 22 2.5.2.2 Xét từ khía cạnh độ phức tạp tính tốn DSC 22 2.5.3 Kiến trúc MobileNetV2 23 2.6 Môi trường Arduino IDE: 25 2.7 Arduino Nano Atemega328P-AU 26 2.7.1 Thông tin mạch 26 2.7.2 Tính 27 2.7.3 Cấu hình 27 2.8 Vi điều khiển ATmega328P-AU 28 2.8.1 Đặc tính kỹ thuật 28 2.8.2 Công dụng: 29 2.9 Cánh tay Robot 29 2.9.1 Tổng quan 29 2.9.2 Phân loại 30 2.9.2.1 Phân loại theo ứng dụng 30 2.9.2.2 Phân loại theo chuyển động 31 2.9.2.3 Phân loại theo truyền động 31 2.9.2.4 Phân loại theo điều khiển 31 2.9.2.5 Một số kiểu phân loại khác 32 2.9.3 Các thành phần cấu thành nên robot 32 2.9.3.1 Cánh tay robot 33 2.9.3.2 Nguồn động lực 34 2.9.3.3 Cảm biến 34 2.9.3.4 Bộ điều khiển 34 2.9.3.5 Chương trình 35 2.9.4 Khái niệm bậc tự - DOF 35 2.9.5 Hệ tọa độ tay máy 37 2.9.6 Robot SCARA 38 2.10 Broad arduino CNC shield V4 40 2.10.1 Tổng quát 40 2.10.2 Cấu hình Arduino CNC shield V4 41 2.10.3 Ứng dụng 42 2.11 Động bước – Motor step 42 2.11.1 Tổng quan: 42 2.11.2 Động bước KV24 44 2.12 Module Driver A4988 45 2.12.1 Giới thiệu 45 2.12.2 Thông tin Driver A4988 46 2.13 Webcam PC HD 46 2.13.1 Thông tin Webcam PC HD sắc nét-Có Mic 46 2.13.2 Cấu hình Webcam PC HD sắc nét-Có Mic 47 Chương 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 48 3.1 Giới thiệu 48 3.2 Tính tốn thiết kế hệ thống 48 3.2.1 Thiết kế sơ đồ khối hệ thống 48 3.2.2 Khối xử lý 49 3.2.3 Khối động 50 3.2.4 Khối camera 52 3.2.5 Khối nguồn 53 3.2.6 Thiết kế tính tốn cho cánh tay Robot Scara 53 Chương 4: THI CÔNG HỆ THỐNG 64 4.1 Chuẩn bị phần cứng: 64 4.2 Chuẩn bị liệu Datashet để làm Model: 64 4.3 Lắp ráp kiểm tra 69 4.3.1 Chi tiết lắp ráp Robot 70 4.3.2 Kit Arduino Module Driver A4988 lên đế chân Arduino CNC V3 70 4.3.3 Camera 70 4.3.4 Module điều khiển 71 4.4 Lập trình hệ thống 71 Chương 5: ĐÁNH GIÁ VÀ KẾT QUẢ 76 5.1 Kết đạt tốt: 76 5.2 Những hình ảnh mơ hình: 76 Chương 6: KẾT LUẬN VÀ KIẾN NGHỊ 78 6.1 Nhận xét đánh giá: 78 6.2 Hướng phát triển 78 TÀI LIỆU THAM KHẢO 79 PHỤ LỤC: 79 DANH MỤC HÌNH ẢNH Hình 1 Phun thuốc diệt cỏ truyền thống 14 Hình 2.1 Sơ đồ khối mơ tả q trình XLA 16 Hình 2.2 Sơ đồ khối chi tiết trình XLA 16 Hình 2.3 Phần mềm Pycharm IDE 17 Hình 2.4: Python thư viện OpenCV 18 Hình 2.5: Mơ hình mạng CNN 18 Hình 2.6: Tính tích chập với lọc 19 Hình 2.7: Đồ thị hàm ReLU 20 Hình 2.8: Minh họa Pooling layer 20 Hình 2.9: Mơ hình liên kết nơ ron FC layer 21 Hình 2.10: So sánh FC layer khơng có áp dụng Dropout 21 Hình 2.11: Mơ tả phép tích chập 3D 22 Hình 2.12: Mơ hình TCTCS 22 Hình 2.13: Mơ hình TCTĐ 23 Hình 2.14: Residual learning: a building block 24 Hình 2.15: Tổng quan Kiến trúc MobileNetV2 24 Hình 2.16: Kiến trúc residual truyền thống & Residual block MobileNet v2 25 Hình 2.17: Kết thí nghiệm kiểm tra mát thông tin thực hàm phi tuyến 25 Hình 2.18: Logo Arduino IDE 26 Hình 2.19: Cửa sổ làm việc Arduino IDE 26 Hình 2.20: Sơ đồ chức chân Arduino nano 27 Hình 2.21: VDK ATmega328P-AU 28 Hình 2.22: Sơ đồ chân ATmega328P-AU 28 Hình 2.23: Một số mẫu Robot 30 Hình 2.24: Minh họa mẫu robot công nghiệp & robot xã hội 30 Hình 2.25: Minh họa mẫu Robot nối tiếp/tay máy; Robot song song; Robot di động (Mobile Robot) 31 Hình 2.26: Minh họa mẫu Các mẫu Robot Phân loại theo chuyển động 31 Hình 2.27: Minh họa mẫu phân loại the điều khiển 32 Hình 2.28: Minh họa mẫu Robot phân loại theo công tác (của khâu chấp hành cuối) 32 Hình 2.29: Sơ đồ tổng quát Robot công nghiệp chuyên dụng 33 Hình 2.30: Mẫu cánh tay Robot 33 Hình 2.31: Minh họa loại động motor step, motor servo 34 Hình 2.32: Các thiết bị khí nén robot 34 Hình 2.33: Các VĐK AVR 35 Hình 2.34: Các chương trình lập trình cho robot 35 Hình 2.35: Bậc tự mặt phẳng 2D & 3D 36 Hình 2.36: Ví dụ phận máy khâu 36 Hình 2.37: SCARA robot hãng EPSON 38 Hình 2.38: Robot Scara bậc tự 38 Hình 2.39: Bản vẽ 3D robot SCARA 39 Hình 2.40: Hệ tọa độ khâu robot SCARA 39 Hình 2.41: Arduino CNC shield V4 40 Hình 2.42: Sơ đồ Arduino CNC shield V4 41 Hình 2.43 Minh họa motor step 42 Hình 2.44 Cấu tạo bên ĐCB 43 Hình 2.45 Sơ đồ điều khiển motor step 43 Hình 2.46 Cách thức hoạt động motor step 44 Hình 2.47 Motor Step KV24-F2B009 44 Hình 2.48 Sơ đồ dây ĐCB KV24 45 Hình 2.49 Module Driver A4988 45 Hình 2.50 Sơ đồ chân module driver A4988 46 Hình 2.51 Webcam PC 47 Hình 3.1 Sơ đồ tổng quát hệ thống 48 Hình 3.2 Sơ đồ khối tồn hệ thống 49 Hình 3.3 Arduino CNC & phương thức kết nối 50 Hình 3.4 PC kết nối với Kit Arduino qua dây cáp USB 50 Hình 3.5 Sơ đồ nối dây A4988 với động bước 51 Hình 3.6 Chọn tỷ lệ xung 1/16 qua cắm chân jumper 51 Hình 3.7 Sơ đồ nguyên lý kết nối khối xử lý với khối động 52 Hình 3.8 Ảnh thực tế thu từ Camera chất lượng 1080P FHD 52 Hình 3.9 Adapter sử dụng hệ thống 53 Hình 3.10 Bản vẽ 3D(1) 54 Hình 3.11 Bản vẽ 3D(2) 54 Hình 3.12 Bản vẽ 3D(3) 55 Hình 3.13 Bản vẽ 3D(4) 55 Hình 3.14 Bản vẽ 3D(5) 56 Hình 3.15 Bản vẽ 3D(6) 56 Hình 3.16 Hệ tọa độ Robot Scara 57 Hình 3.17 Đổi tọa độ Camera tọa độ Robot 59 Hình 18 Mối quan hệ tọa độ Picxel tọa độ World 61 Hình 19 Tìm ma trận "Rt" qua điểm 62 Hình 20 Tính tốn ma trận với hỗ trợ từ Pycharm 62 Hình 4.1 Dữ liệu Cỏ 64 Hình Cỏ - Hoa sử dụng 65 Hình 4.3 Dữ liệu Hoa 65 Hình 4.4 Sơ đồ khối bước huấn luyện model 66 Hình 4.5 Thơng số kết từ Model 67 Hình 4.6 Trích xuất vùng nghi vấn cỏ hoa khung hình candy 67 Hình 4.7 Áp dụng model vừa train với hình cỏ 68 Hình 4.8 Áp dụng model vừa train với hình hoa 68 Hình 4.9 Áp dụng model vừa train với hình cỏ hoa 69 Hình 4.10 Trích xuất tọa độ tâm Hoa Cỏ khung hình 69 Hình 4.11 Chi tiết Robot Scara 70 Hình 4.12 Kết nối Module 70 Hình 4.13 Lắp Camera lên mơ hình 71 Hình 4.14 Lưu đồ giải thuật trình XLA 72 Hình 4.15 Quá trình điều khiển giao diện 73 Hình 4.16 Huấn luyện liệu 74 Hình 4.17 Giao diện điều khiển hệ thống 74 Hình 18 Sơ đồ toàn hệ thống 75 Hình 19 Mơ hình chụp từ xuống 76 Hình 20 Mơ hình chụp mặt bên trái 77 Hình 21 Mơ hình chụp mặt bên phải 77 DANH MỤC BẢNG BIỂU Bảng Thông số 26 Bảng 2 Bảng thông số D-H 40 Bảng Microstep Resolution Truth Table 41 Bảng Bảng thông số D-H 57 Bảng Danh sách linh kiện 64 10 Hình Cỏ - Hoa sử dụng Hình 4.3 Dữ liệu Hoa Huấn luyện mạng MobileNetV2: 65 Hình 4.4 Sơ đồ khối bước huấn luyện model Các bước huấn luyện bao gồm: • Thu thập liệu (Collect data): Ở bước ta cần thu thập hình ảnh cỏ hoa gán nhãn cho chúng • Tiền xử lý ảnh (Preprocessing): Thay đổi kích thước ảnh, chuyển liệu ảnh thành dạng ma trận Tiếp đến xử lý liệu ảnh đầu vào thông qua thư viện mobilenet_v2 từ keras cuối thực mã hóa nóng nhãn • Split data (Phân chia liệu): Chia liêu thành tập train tập test • Building Model (Xây dựng Model): Tăng cường liệu ảnh train cách ảnh tạo nhiều với ảnh sau xoay, lật, dịch trái, dịch phải để model đạt hiệu suất cao ứng dụng thực tế • Testing Model (Đánh giá Model): Kiểm tra đánh giá độ xác model • Implement Model (Ứng dụng Model): Và cuối ứng dụng model vừa xây dụng vào toán nhận diện phân loại cỏ hoa Kết train với epoch = 50, batch size = 2, từ biểu đồ thấy với tập dataset set epoch = 30 để tiết kiệm thời gian train 66 Hình 4.5 Thơng số kết từ Model Áp dụng xử lý ảnh để trích xuất vùng nghi vấn cỏ hoa khung hình, dùng phương pháp candy để tìm biên cỏ hoa nên bị ảnh hưởng ánh sáng mơi trường: Hình 4.6 Trích xuất vùng nghi vấn cỏ hoa khung hình candy Áp dụng model vừa train với hình cỏ, kết thu độ xác cao 99%: 67 Hình 4.7 Áp dụng model vừa train với hình cỏ Hình 4.8 Áp dụng model vừa train với hình hoa 68 Hình 4.9 Áp dụng model vừa train với hình cỏ hoa Hình 4.10 Trích xuất tọa độ tâm Hoa Cỏ khung hình 4.3 Lắp ráp kiểm tra Là phần kết nối linh kiện module để tạo thành mơ hình thống 69 4.3.1 Chi tiết lắp ráp Robot Các chi tiết cánh tay Robot sau in 3D theo vẽ có sẵn Hình 4.11 Chi tiết Robot Scara 4.3.2 Kit Arduino Module Driver A4988 lên đế chân Arduino CNC V3 Hình 4.12 Kết nối Module 4.3.3 Camera Gắn Camera cố định lên mơ hình: 70 Hình 4.13 Lắp Camera lên mơ hình 4.3.4 Module điều khiển • Kết nối Camera Arduino với máy tính • Kết nối Arduino với máy tính điều khiển thơng qua giao tiếp cổng COM • Kết nối Camera với máy tính điều khiển thơng qua cổng USB máy tính • Kết nối động bước với module điều khiển Driver A4988 • Nguồn Adapter với module Arduino CNC Shield V4.0 Sau kiểm tra mối nôi toàn hệ thống, ta kiểm tra tổng thể toàn hệ thống gồm có: ✓ Camera hoạt động ✓ Đơng bước cơng tắc hành trình kết nối hoạt động ✓ Kit Arduino cấp nguồn Nếu chưa kiểm tra lại Adapter ✓ Xem nguồn kết nối với Arduino chưa? ✓ Nối xác dây: nguồn GND nối cơng tắc hành trình Arduino CNC Shield V4.0 ✓ Kiểm tra xác dây nguồn, GND, tín hiệu Động bước nối với Driver A4988 thông qua đế chân Arduino CNC Shield V4.0 gồm có dây kết nối bao gồm dây nối nguồn, dây nối GND dây tín hiệu 4.4 Lập trình hệ thống Lưu đồ giải thuật Lưu đồ trình XLA: 71 Hình 4.14 Lưu đồ giải thuật trình XLA Giải thích lưu đồ q trình xử lý ảnh: - Bắt đầu - Khi có tín hiệu từ máy chủ, Camera tiến hành chụp ảnh mảnh vườn, sau hình ảnh resize theo độ rộng 400:400, hình ảnh tiếp tục xử lý chuyển đổi ảnh GRAY - Sử dụng phương pháp Candy để tìm viền cho đối tượng có ảnh vừa thu - Từ đường viền vừa xác định ta vẽ bounding box cho vật thể trích xuất tọa độ tâm vật thể dựa diện tích box - Gán nhã “Cỏ”, “Hoa” sau xác định lên vật thể - Lưu tọa độ “Cỏ - Hoa” 72 Lưu đồ điều khiển cánh tay Robot: Giải thích lưu đồ: - Bắt đầu Kiểm tra nút nhấn giao diện điều khiển - Nếu giá trị nút nhấn 0, cánh tay Robot đưa vị trí Home - Nếu giá trị nút nhấn 1, bắt đầu đọc ảnh từ Camera, xử lý hình ảnh nhận sau chuyển tọa độ ảnh tọa độ Robot, tới giai đoạn xử lý động học nghich toán, sau có kết từ tốn động học nghịch ta gửi thông số khớp Arduino để Robot làm việc - Cánh tay Robot sau trỏ tới vị trí “Cỏ” xong delay giấy quay vị trí Home Hình 4.15 Q trình điều khiển giao diện 73 Lưu đồ huấn luyện liệu: Hình 4.16 Huấn luyện liệu Giao diện điều khiển hệ thống: Hình 4.17 Giao diện điều khiển hệ thống Bảng 4.2: Chức thành phần giao diện điều khiển hệ thống 74 Thành phần Chức Thanh slider điều chỉnh ngưỡng sáng tùy biến theo cường độ ánh sáng mơi trường thực để q trình nhận dạng đạ hiệu tới đa Nút nhấn Home: Điều khiển đưa khớp robot vị trí tọa độ đặt ban đầu Nút nhấn Run: Mơ hình hoạt động Bắt đầu trình đọc XLA từ camera Cuối điều khiển robot làm nhiệm vụ lập trình Cửa sổ hiển thị ảnh realtime gửi từ camera chương trình hoạt động Cửa sổ ảnh trích xuất vùng nghi vấn cỏ hoa khung hình phương pháp candy Hình 18 Sơ đồ toàn hệ thống 75 Chương 5: ĐÁNH GIÁ VÀ KẾT QUẢ 5.1 Kết đạt tốt: • Hệ thống nhận diện phân biệt xác “cỏ - hoa” theo yêu cầu đặt • Giao tiếp máy tính với Arduino • Điều khiển cánh tay Robot, trỏ tới vị trí tọa độ “Cỏ” • Thiết kế thành cơng mơ hình gồm có: cánh tay Robot vị trí vườn cỏ Mơ hình hoạt động tương đối ổn định với độ xác cao 5.2 Những hình ảnh mơ hình: Dưới số hình ảnh hồn chỉnh mơ hình: Hình 19 Mơ hình chụp từ xuống 76 Hình 20 Mơ hình chụp mặt bên trái Hình 21 Mơ hình chụp mặt bên phải 77 Chương 6: KẾT LUẬN VÀ KIẾN NGHỊ 6.1 Nhận xét đánh giá: Qua trình thực đề tài, nhóm tiếp xúc chi tiết học hỏi nhiều kỹ thuật XLA, kit Arduino đặc biệt cánh tay Robot Scara Đánh giá tổng thể, nhóm hồn thiện tương đối thành cơng so với mục tiêu đặt từ đầu Về mặt lập trình hệ thống nhận diện phân biệt xác cỏ hoa, cánh tay Robot hoạt động theo mong muốn ban đầu trỏ tới xác vị trí tọa độ “Cỏ”, cịn mặt phần cứng: mơ hình hồn thiện tốt khơng q nhỏ gọn bao gồm đầy đủ thiết bị cừng thiết phù hợp với đề tài Vì thời gian thực đề tài có giới hạn số lượng kiến thức cịn hạn hẹp nên nhóm khơng sâu thêm kỹ thuật XLA khai thác thêm mặt tốt Robot Scara 6.2 Hướng phát triển Từ mặt đạt đề tài nhóm có hướng phát triển thêm cho đề tài để biến đề tài thành sản phẩm hồn thiện tối ưu sau: • Sử dụng trực tiếp loại “Cỏ dại Lúa” thật với khơng giới hạn số lượng “Cỏ dại” • Cánh tay Robot hoạt động với khớp qua 360 độ khơng góc chết, đặt cánh tay Robot lên băng truyền di chuyển linh hoạt • Tích hợp động bơm nơi khâu chấp hành cuối Robot kết nối thêm đầu béc phun thuốc diệt cỏ • Có thể giám sát thực q trình qua APPs 78 TÀI LIỆU THAM KHẢO [1] P Hiếu, "Chương trình Thúc đẩy Đổi sáng tạo Đầu tư công nghệ nông nghiệp," 2021 [2] S Tech, Director, Hướng dẫn Arduino CNC Shield - Điều khiển động bước CNC Shield V3.0 [Film] 2021 [3] N T Nhẫn, Luận văn thạc sĩ Điều khiển Robot Scara phương pháp điều khiển trượt, Tp Hồ Chí Minh: tailieu.vn, 2014 [4] T Q Anh, Luận văn thạc sĩ Ứng dụng phương pháp trượt điều khiển cánh tay Robot Scara nhiều bậc tự do, Đà Nẵng: tailieu.vn, 2014 [5] Đ N Toàn, Xử Lý Ảnh, Hà Nội: tailieudientucntt, 2010 [6] hocnghekysudien&dientu, Director, Động bước hoạt động nào? [Film] 2021 [7] T H Toàn, Robot kỹ thuật điều khiển hồi tiếp, Tp Hồ Chí Minh, 2020 [8] P T Phong, "Ứng dụng xử lý ảnh hệ thống phân loại sản phẩm," in Đồ án Tốt nghiệp, 2019 PHỤ LỤC: Link chứa code điều khiển, code train model, code Arduino, code tính tốn Calib code tính tốn động học đề tài 79 ... trừ sâu hạn chế ô nhiễm môi trường Đề tài ? ?Nhận diện phân biệt cỏ dại với hoa màu, sử dụng mơ hình cánh tay Robot để phun thuốc trừ sâu? ?? mơ hình ứng dụng cánh tay Robot kết hợp với XLA để nhận diện. .. 1.1: Phun thuốc diệt cỏ truyền thống 1.2 Mục tiêu Đề tài: ? ?Nhận diện phân biệt cỏ dại với hoa màu, sử dụng cánh tay Robot để phun thuốc trừ sâu? ?? với mục tiêu chính: áp dụng XLA để nhận diện - phân. .. diện phân biệt cỏ dại với hoa màu sau cánh tay Robot hoạt động thực hoạt động cuối phun thuốc trừ sâu lên cỏ dại Kết cuối đề tài nhận diện phân biệt xác cỏ dại với hoa màu theo Data tự chuẩn bị với