Robot tự động hóa đang chi phối phần lớn trong cuộc đời của chúng ta và không thể dừng chân tại những công việc đơn giản mà sẽ thực hiện các công việc chuyên sâu.. Robot phục vụ lĩnh v
Trang 1THÀNH PHỐ HỒ CHÍ MINH
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
GVHD: TS HÀ LÊ NHƯ NGỌC THÀNH
S K L 0 1 0 4 5 5
ĐỒ ÁN TỐT NGHIỆP NGÀNH CNKT CƠ ĐIỆN TỬ
THIẾT KẾ, CHẾ TẠO ROBOT VẬN CHUYỂN CÂY GIỐNG
NGUYỄN THANH BÌNH NGUYỄN HOÀNG LONG SVTH: HUỲNH TRẦN HỌC LÃM
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HCM
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO NGÀNH CNKT CƠ ĐIỆN TỬ
Trang 3TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HCM
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO NGÀNH CNKT CƠ ĐIỆN TỬ
Trang 4PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Họ và tên sinh viên: Huỳnh Trần Học Lãm MSSV: 18146155 Nguyễn Thanh Bình MSSV: 18146081
Nguyễn Hoàng Long MSSV: 18146163
Ngành: Công nghệ Kỹ thuật Cơ điện tử
Họ và tên giáo viên hướng dẫn: TS Hà Như Lê Ngọc Thành
NHẬN XÉT
1 Về nội dung đề tài & khối lượng thực hiện:
2 Ưu điểm:
3 Khuyết điểm:
4 Đề nghị cho bảo vệ hay không?
Trang 56 Điểm: ……… (Bằng chữ: )
Tp Hồ Chí Minh, ngày tháng năm 2023
Giáo viên hướng dẫn
(Ký & ghi rõ họ tên)
Trang 6PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Họ và tên sinh viên: Huỳnh Trần Học Lãm MSSV: 18146155 Nguyễn Thanh Bình MSSV: 18146081
Nguyễn Hoàng Long MSSV: 18146163
Ngành: Công nghệ Kỹ thuật Cơ điện tử
Họ và tên giáo viên phản biện: Th.S Tưởng Phước Thọ
NHẬN XÉT
1 Về nội dung đề tài & khối lượng thực hiện:
2 Ưu điểm:
3 Khuyết điểm:
4 Đề nghị cho bảo vệ hay không?
Trang 76 Điểm: ……… (Bằng chữ: )
Tp Hồ Chí Minh, ngày tháng năm 2023
Giáo viên hướng dẫn
(Ký & ghi rõ họ tên)
Trang 8LỜI CAM ĐOAN
Khoá luận này là công trình nghiên cứu của chúng tôi, được thực hiện dưới sự
hướng dẫn của TS Hà Lê Như Ngọc Thành Các số liệu, những kết luận nghiên cứu
và sản phẩm được tạo ra bởi chúng tôi được trình bày trong khoá luận này là trung thực
Chúng tôi xin hoàn toàn chịu trách nhiệm về lời cam đoan này
Nhóm sinh viên
Trang 9sâu sắc đến TS Hà Lê Như Ngọc Thành, là người thầy tâm huyết đã tận tình hướng
dẫn, giúp đỡ chúng em trong suốt quá trình nghiên cứu và thực hiện đề tài này Thầy
đã trao đổi, góp ý trong quá trình thực hiện, giúp chúng em hoàn thành tốt đề tài này
Nhóm thực hiện đề tài chúng em cũng xin trân trọng cảm ơn Ban giám hiệu nhà trường và đội ngũ giảng viên Khoa cơ khí Chế tạo máy đã giảng dạy, truyền lửa và nhiệt huyết, cũng như giải đáp những thắc mắc trong quá trình thực hiện đề tài
Sau cùng, nhóm em xin cảm ơn gia đình, bạn bè đã luôn bên cạnh, động viên và tạo điều kiện tốt nhất để có thể nỗ lực hoàn thành tốt đề tài tốt nghiệp lần này
TP Thủ Đức, ngày 01 tháng 02, năm 2023
Sinh viên thực hiện
Trang 10MỤC LỤC
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 3
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 5
CHƯƠNG 1: GIỚI THIỆU CHUNG 16
1.1Tổng quan 16
1.2 Đặt vấn đề 22
1.3 Giới hạn đề tài 23
1.4 Mục tiêu đề tài: 23
1.5 Nội dung sẽ trình bày trong các chương 23
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 24
2.1 Tìm hiểu robot trong lĩnh vực nông nghiệp 24
2.1.1 Định nghĩa về robot trong nông nghiệp 24
2.1.2 Robot vận chuyển trong nông nghiệp 25
2.1.3 Mobile Robot 25
2.2 Tìm hiểu về thị giác máy 28
2.2.1 Định nghĩa về thị giác máy 28
2.2.1.1 Hình ảnh kĩ thuật số và phân loại hình ảnh 29
2.2.1.2 Hệ màu 30
2.3 Mạng nơ-ron tích chập (Convolutional neural networks) 32
2.4 Tensor flow 33
2.4.1 Giới thiệu 33
2.4.2 Các thành phần TensorFlow 33
2.4.3 Kiến trúc của TensorFlow Gồm 3 phần chính: 34
2.5 Tìm hiểu về Raspberry Pi và phương thức giao tiếp Raspberry Pi hỗ trợ 34
2.5.1 Giới thiệu Raspberry 34
2.5.1.1 Ưu và nhược điểm của Raspberry Pi 36
2.5.1.2 Các thông số của Raspberry Pi 4 36
2.5.1.3 GPIO 37
2.5.2 Các phương thức giao tiếp mà Raspberry hỗ trợ 38
2.6 Tìm hiểu ROS 41
2.6.1 Giới thiệu ROS 41
2.6.1.1 Cách hoạt động của ROS 41
2.6.1.2 Cấu trúc ROS 42
2.6.2 Gazebo 44
Trang 112.6.2.1 Giới thiệu 44
2.6.2.2 Các thành phần chính trong gazebo 44
CHƯƠNG 3: THIẾT KẾ VÀ THỰC HIỆN 45
3.1Thiết kế cơ khí 45
3.1.1Thông số kĩ thuật và lựa chọn vật liệu để gia công 45
3.2Thiết kế 2D 50
3.4 Lựa chọn động cơ điện 51
3.4.1 Động cơ điện 51
3.4.2 Tính toán thông số và lựa chọn 52
3.5 Cơ cấu nâng hạ 55
3.5.1 Tính toán cơ cấu tay gắp 59
3.6 Bộ truyền động 63
3.6.1 Truyền động bánh răng 63
3.6.2 Truyền động đai 64
3.6.3 Truyền đồng xích 67
3.7 Thiết kế hệ thống điện 70
CHƯƠNG 4: THI CÔNG, XÂY DƯNG MODEL XỬ LÍ ẢNH ĐỂ NHẬN DẠNG VÀ CHẬU CÂY VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN 79
4.1 Mô tả bài toán 79
4.2 Xây dựng model xử lí ảnh 79
4.2.1 Thu thập data 79
4.3 Điều khiển robot 84
4.3.1 Các thuật toán để điều khiển 84
4.3.2 Các thuật toán điều khiển 85
4.3.2.1 Thuật toán pure pursuit 85
4.3.2.2 Thuật toán stanley controller 86
4.3.2.3 Thuật toán Model Predictive Controller – MPC 86
4.3.2.4 Hệ thống xử lí ảnh 86
4.4 Mô phỏng trên ROS 87
4.4.1 Tạo hình robot trên URDF 87
4.4.2 Tạo các vật thể trong gazebo 88
4.4.3.Tạo môi trường cho robot hoạt động 91
4.4.4 Dẫn đường cho mobile robot 92
4.4.4.1 Phương pháp dead-reckoning 92
4.4.4.2 Phương pháp dẫn đường hệ thống cột mốc chủ động 93
Trang 124.4.5 Xác định vị trí của robot trong bản đồ 96
4.4.6 Navigtion Stack 97
4.4.7 Mô phỏng tay gắp 98
4.4.8 Lưu đồ và giải thuật 99
Bước 2: Di chuyển chậu cây đến điểm đặt 104
4.4.9 Kết quả thực tế 105
CHƯƠNG 5 :KẾT LUẬN 110
1 Kết quả đạt được 110
2 Ý nghĩa khoa học 110
3 Ý nghĩa thực tiễn 110
4 Hạn chế 111
5 Hướng phát triển 111
TÀI LIỆU THAM KHẢO 112
Trang 13PHỤ LỤC HÌNH ẢNH
Hình 1.1 Robot diệt cỏ của hãng ecoRobotix 13
Hình 1.2 Robot nông trại Trung Quốc 14
Hình 1.3 Robot thu hoạch quả Rubion 15
Hình 1.4 Robot đặt hạt bên cạnh người sáng chế Phạm Văn Hát 16
Hình 1.5 Robot phun thuốc sâu tự động của Phạm Văn Hát 17
Hình 2.1 Robot Tree Rover 20
Hình 2.2 Robot HV-100 21
Hình 2.3 Mobile robot 22
Hình 2.4 Robot lễ tân phục vụ khách sạn 23
Hình 2.5 Robot vận chuyển trong kho 23
Hình 2.6 Robot trong công nghiệp 24
Hình 2.7 Ảnh raster 25
Hình 2.8 Ảnh vector 26
Hình 2.9 Hệ màu RGB 26
Hình 2.10 Hệ màu CMYK 27
Hình 2.11 Thuật toán CNN 28
Hình 2.12 Thư viện mã nguồn TensorFlow 29
Hình 2.12 Logo : Logo Raspberry Pi 31
Hình 2.13 Raspberry Pi 31
Hình 2.14 Raspberry Pi 4 model B 32
Hình 2.15 Các chân vật lí và số thứ tự GPIO tương ứng 33
Hình 2.16 Sơ đồ khối hai thiết bị giao tiếp UART 34
Hình 2.17 Các thành phần trong 1 gói tin 34
Hình 2.17 Sơ đồ khối hai thiết bị giao tiếp SPI 36
Trang 14Hình 2.18 Giao tiếp I2C 37
Hình 2.7: Cách giao tiếp trong ROS 38
Hình 2.20 Thành phần của ROS 39
Hình 2.21 Gazebo 40
Hình 3.1: Các thành phần kim loại trong thiết kế 41
Hình 3.2 Hộp bảo vệ được làm bằng các tấm MICA 43
Hình 3.3 Giá đỡ các loại cảm biến để tạo vơi mặt đường góc 30 o 43
Hình 3.4 Car-like mobile robot 44
Hình 3.5 Hilare-type Mobile Robot 45
Hình 3.6 Bản vẽ 2D của robot vận chuyển cây giống 46
Hình 3.7 Bản vẽ phân rã 3D của robot vận chuyển cây giống 46
Hình 3.8 JGB37-550 DC Geared Motor 51
Hình 3.9 1: cơ cấu nâng hạ, 2: cơkẹp 52
Hình 3.10 Cơ cấu hình bình hành 53
Hình 3.11 Góc nghiêng bé nhất của tay quay 54
Hình 3.12 Đặt lực 54
Hình 3.13 Mô phỏng ứng suất 55
Hình 3.14 Mô phỏng chuyển vị 55
Hình 3.15 Bánh răng 56
Hình 3.16 Kích thước bánh răng 56
Hình 3.17 Khoảng cách cần thiết 58
Hình 3.18 Góc ôm tối thiểu 58
Hình 3.19 Mô phỏng cơ cấu kẹp 59
Hình 3.20 Truyền động bánh răng 60
Hình 3.21 Bộ truyền đai răng 62
Hình 3.22 Truyền động xích 63
Hình 3.23 Truyền động bánh răng 65
Trang 15Hình 3.24 Sơ đồ hệ thống điện 65
Hình 3.25 Arduino Uno R3 67
Hình 3.26 Raspberry pi 4 69
Hình 3.27 Động cơ DC 70
Hình 3.28 Mạch cầu H 70
Hình 3.29 L298N 71
Hình 3.30 Kết nối động cơ với mạch điều khiển 72
Hình 3.31 Camera Logitech C270 73
Hình 3.32 Cảm biến hồng ngoại E18-D80NK 74
Hình 4.1 Thu thập data chậu cây 75
Hình 4.2 Tập data chậu cây 76
Hình 4.3 Phần mềm LabelImg 76
Hình 4.4 Tập train và test 77
Hình 4.5 Quá trình đào tạo mô hình 78
Hình 4.6 Tập model được đào tạo 78
Hình 4.7 Quá trình chuyển sang định dạng tflite 79
Hình 4.8 Kết quả nhận dạng chậu cây 79
Hình 4.9 : Thuật toán pure pursuit 81
Hình 4.10: Kết quả mô hình robot tạo ra 84
Hình 4.11: Giao diện Inkscape 85
Hình 4.12: Thêm model vào gazebo 85
Hình 4.13: Vật thể 86
Hình 4.14: Cột mốc 86
Hình 4.15: Bao viền map 87
Trang 16Hình 4.16: Kết quả tạo môi trường ảo ( map ngoài trời ) 88
Hình 4.17: Định vị sử dụng phương pháp dead-reckoning 89
Hình 4.18: BLE beacons 90
Hình 4.19: AprilTags 90
Hình 4.20: Định vị sử dụng vật mốc 90
Hình 4.21: Kết quả robot xác định vị trí điểm đặt vật 92
Hình 4.22: Vị trí robot xác định qua rviz 93
Hình 4.23: Điều khiển cơ cấu từng phần robot bằng “rqt” 94
Hình 4.24: Robot gắp vật thể 94
Hình 4.25: Sơ đồ khối 95
Hình 4.26: Khi camera chưa thấy được cột màu xanh 97
Hình 4.27: Khi camera đã thấy được cột màu xanh 98
Hình 4.28: Nhận dạng màu của cột màu xanh 98
Hình 4.29: Nhận dạng chậu cây bằng hsv 99
Hình 4.30 Robot gắp vật thể 99
Hình 4.31: Nhận dạng cột đầu tiên từ phải sang trái 100
Hình 4.32: Nhận dạng cột màu đỏ tiếp theo khi đã có chậu cây 101
Hình 4.33: mô hình robot gắp chậu cây 102
Hình 4.34: Dừng khi cảm biến trả tín hiệu 102
Hình 4.35:tay gắp vươn ra gắp chậu cây 103
Hình 4.36: ôm chậu cây cào trong lòng xe 103
Hình 4.37: Detect và tracking chậu cây 104
Trang 17CHƯƠNG 1: GIỚI THIỆU CHUNG
1.1 Tổng quan
Hơn nửa thế kỷ trước, nếu bạn nói với mọi người rằng bạn sẽ có máy tính riêng
ở nhà, họ sẽ nghĩ điều đó thật lố bịch Hai mươi năm trước, nếu bạn nói với mọi người rằng bạn sẽ có một chiếc điện thoại di động không dây, họ sẽ nghĩ bạn đang
mơ Vì vậy, nếu hôm nay ai đó nói với bạn rằng mười năm nữa, bạn sẽ có rất nhiều người máy, robot làm mọi việc cho bạn, từ dọn dẹp nhà cửa đến nấu ăn cho bạn, bạn nghĩ sao? Bạn có tin không hay nghĩ đó chỉ là chuyện hoang đường?
Thời đại của robot đang bắt đầu Robot tự động hóa đang chi phối phần lớn trong cuộc đời của chúng ta và không thể dừng chân tại những công việc đơn giản
mà sẽ thực hiện các công việc chuyên sâu Ví dụ như ở Nhật Bản, robot thường được
sử dụng để chăm sóc những người bệnh trầm cảm bởi họ có thể nói chuyện với những
người bệnh rất thân thiện và dễ gần
Hầu hết các phương tiện 1 cách chính xác có thể xử lý các công việc bạn giao hoặc đồng thời đưa ra các loại văn bản theo nhu cầu một cách rành mạch, tất cả những điều trên đây đã thành sự thật và chúng đang còn ngày càng phát triển và hoàn thiện hơn nữa Ngày càng có những robot mới vận hành thông minh và chính xác hơn nữa,
đó là sự xuất hiện của các robot giống hệt người đã và đang biến đổi đời sống cũng như xã hội của chúng ta Những cỗ xe tự động này đã di chuyển qua hàng nghìn km
và thiết bị không người lái đã thực hiện thành công các sứ mệnh Chúng hoàn toàn tự động hoá và không có người điều khiển Về lâu dài, việc ra đời của kỹ thuật điện toán, trí tuệ nhân tạo, Wi-Fi, Bluetooth cùng nhiều mạng kết nối khác bao gồm cảm biến (sensor), camera mini, thiết bị định vị toàn cầu và laser đã đưa đến cả nghìn tiến bộ và thay đổi trong lĩnh vực robot và tự động hoá
Cuộc cách mạng công nghiệp lần thứ tư đang diễn ra rất mạnh mẽ và làm thay đổi thế giới từng giây Cùng với đó là sự ra đời của Mạng lưới thiết bị kết nối internet
đã tạo điều kiện thuận lợi cho công nghệ tự động hóa phát triển ngày một nhanh chóng
và hiện đại Chính vì thế, sự chậm trễ trong việc ngiên cứu và phát triển robot sẽ làm chúng ta tụt hậu so với thế giới, chúng ta cần phải học tập nghiên cứu hơn về lĩnh vự này để có thể bắt kịp với những cướng quốc trên thế giới
Trang 18Robot phục vụ lĩnh vực nông nghiệp trong nước và ngoài nước
Một số robot phục vụ lĩnh vực nông nghiệp hiện nay ở nước ngoài
Robot diệt cỏ
Hình 1.1 Robot diệt cỏ của hãng ecoRobotix
Robot làm cỏ Ecorobotix nặng 130 kg và có kích thước 2,20 x 1,70 x 1,30 m
Nó được trang bị cánh tay robot delta nhanh với tốc độ 4000 mouv/h và hai thùng nhiên liệu 15 lít mỗi bình, mang lại cho nó quyền tự chủ hoạt động trong hơn một ngày Nó cũng hoạt động với sự trợ giúp của pin và năng lượng mặt trời với bảng điều khiển năng lượng mặt trời tích hợp Và vì nó là một công cụ kết hợp giữa công nghệ và robot, nó có thể được điều khiển từ xa thông qua điện thoại thông minh hoặc máy tính bảng chạy Android và iOS và cũng có thể kết nối với mạng Wi-Fi
Trang 19Robot thu thập dữ liệu xung quanh môi trường cây trồng
Hình 1.2 Robot nông trại Trung Quốc
Sử dụng các cảm biến ở đỉnh đầu và miệng, robot này có thể phát hiện tốc độ gió, nồng độ CO2, độ ẩm, nhiệt độ và các dữ liệu khác về môi trường tự nhiên của nhà kính Các thuật toán máy tính cũng như phần cứng cho việc định vị, xây dựng bản đồ, thiết kế tuyến đường và tránh chướng ngại vật đều được tối ưu hóa để phù hợp với môi trường nông nghiệp trên cơ sở các xem xét phân bón, tưới cây, các tuyến đường gập ghềnh và những yếu tố tự nhiên khác
Trang 20Robot thu hoạch quả
Hình 1.3 Robot thu hoạch quả Rubion
Robot hái quả tự động Rubion có thể tự động tìm đường hái những quả dâu hay
cà chua chín mà không gây dập nát Nhờ tính năng giám sát chất lượng tích hợp, hệ thống robot này cho phép phân loại, giám sát cây trồng tiên tiến và canh tác chính xác Cánh tay robot nhặt quả một cách rất chính xác và linh hoạt
Một số robot phục vụ lĩnh vực nông nghiệp hiện nay ở trong nước:
Trang 21Robot đặt hạt
Hình 1.4 Robot đặt hạt bên cạnh người sáng chế Phạm Văn Hát
Robot này có thể di chuyển trên đồng ruộng, đặt hạt trực tiếp xuống luống thay
vì chỉ đứng yên một chỗ đặt hạt xuống khay cho công nhân đem đi ươm giống như các robot trên thế giới trước đó Theo như nhà sáng chế thì chiếc máy này không chip, không rơ-le, không máy nén khí mà chỉ có 1 mô-tơ, 1 quạt gió, công suất tiêu thụ chỉ 200W nhưng tốc độ gieo hạt rất nhanh không thua kém gì các robot gieo hạt ở nước ngoài
Trang 22Robot phun thuốc sâu tự động
Hình 1.5 Robot phun thuốc sâu tự động của Phạm Văn Hát
Cấu tạo robot gồm các khung thép nối liền nhau, hai bánh xe cỡ lớn, hộp số,
côn, phanh, bình chứa 500 lít… Hệ thống điều khiển cảnh tay phun được thiết kế bằng thủy lực nên vận hành máy rất thuận tiện
Robot có thể hoạt động 10 phút trên một mẫu ruộng, thay thế sức lao động khoảng 30 đến 50 người
Trang 231.2 Đặt vấn đề
Mục đích của việc tạo ra robot là thay thế và giúp con người làm được nhiều công việc như nặng nhọc, lặp đi lặp lại, đòi hỏi độ chính xác cao, nhàm chán Trong dự án này, nhóm đã lựa chọn các lĩnh vực liên quan đến nông nghiệp
Tại thời điểm này, có vẻ như hơi muộn để đưa robot vào giải quyết vấn đề nông nghiệp Nhưng ngay cả như vậy, việc tiếp cận các giải pháp tự động hóa sớm hơn cũng là một vấn đề So với các ngành khác, nông nghiệp vẫn là “mảnh đất” mà robot không thể dễ dàng bước chân vào Con người có thể dễ dàng học cách phát hiện trái cây chín, nhưng đối với robot, đây là sự kết hợp phức tạp giữa phân tích không gian
và toán học
Thí như việc tự động hóa một dây chuyền lắp ráp iPhone hoặc ô tô là rất điều rất
dễ dàng vì kích thước, chiều dài, vị trí và các bộ phận của một mô hình nhất định luôn giống nhau Các robot điều khiển bằng trục vít tại nhà máy được lập trình để sử dụng chính xác các công cụ giống nhau ở cùng một vị trí trên mọi phương tiện cùng loại Nhưng đây không phải là cách tự nhiên vận hành Mọi thứ hoàn toàn ngẫu nhiên Ngay cả khi nông sản được trồng trong nhà kính có được sự kiểm soát nhiệt độ, ánh sáng, độ ẩm cùng với nhiều điều kiện thuận lợi khác thì cũng không thể biết chính xác khi nào cây ra quả, càng không thể "lập trình" vị trí và thời gian quả chín cho robot tới thu hoạch
Do đó, máy móc phải đủ thông minh để nhận ra ớt hoặc dưa chuột dựa trên bề ngoài của chúng, tùy thuộc vào sự đa dạng về kích cỡ, hình dạng và màu sắc Robot cũng cần học cách "đối xử" nhẹ nhàng với cây trồng để tránh vô tình làm bật gốc toàn
bộ cây
Để tiếp cận lĩnh vực này, nhóm chưa thể tiếp cận sâu đến những lĩnh vực như nuôi trồng hay thu hoạch, vì thế, nhóm đã quyết định chọn lựa lĩnh vực nằm trong khả năng của mình, đó chính là vận chuyển những chậu cây giống đến một vị trí theo mong muốn của người nông dân
Đề tài của nhóm chính là thiết kế, chế tạo robot vận chuyển cây giống
Trang 241.3 Giới hạn đề tài
Khi thiết kế và chế tạo robot thì gồm 3 phần chính: cơ khí, điện tử và nâng cao
Do năng lực và thời gian có hạn nên nhóm chỉ có thể thiết kế theo cơ chế đơn giản nhất, khả năng của robot không thể nâng nhiều chậu cây mà chỉ có thể nâng 1 chậu cây có khối lượng từ 2-4 kí
Độ phức tạp của robot không cao, chủ yếu là dung những cơ cấu đơn giản, dễ tính toán
1.5 Nội dung sẽ trình bày trong các chương
CHƯƠNG 1: Giới thiệu chung: giới thiệu qua về đề tài thực trạng đồng thời nêu
lí do tại sao chọn đề tài
CHƯƠNG 2: Cơ sở lý thuyết: nêu các cơ sở lí thuyết về công nghệ cũng như về
mô phỏng
CHƯƠNG 3: Thiết kế, tính toán chọn lựa các cơ cấu
CHƯƠNG 4: Thi công, xây dựng model xử lí ảnh để nhận dạng và tracking chậu cây và chương trình điều khiển.
CHƯƠNG 5 : Nêu ra những gì đã và chưa đạt được, đồng thời đưa ra giải pháp
Trang 25CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Tìm hiểu robot trong lĩnh vực nông nghiệp
2.1.1 Định nghĩa về robot trong nông nghiệp
Hình 2.1 Robot Tree Rover
Robot nông nghiệp là một robot được sử dụng trong ngành nông nghiệp, khác
so với robot công nghiệp chúng là một máy móc nông nghiệp đa chức năng mới Sử dụng rộng rãi trong nông nghiệp, làm thay đổi việc lao động truyền thống của người nông dân, đồng thời cũng thúc đẩy sự phát triển của ngành nông nhiệp nói chung
Trong thế kỷ 21, với sự xuất hiện của robot nông nghiệp, ứng dụng nông nghiệp
đa chức năng do robot sử dụng ngày càng sâu rộng, việc nghiên cứu và phát triển nó được phát triển nhanh chóng ở nhiều quốc gia, vì vậy nhiều loại robot nông nghiệp
đã ra đời
Trang 262.1.2 Robot vận chuyển trong nông nghiệp
Robot vận chuyển trong nông nghiệp giúp tự động hóa quá trình lưu trữ và vận chuyển hàng hóa trong chuỗi cung ứng, và thường được sử dụng để phân loại và di chuyển hàng hóa trong kho hoặc ngoài vườn Loại robot này có thể giúp quá trình vận chuyển diễn ra nhanh hơn so với các phương pháp thủ công truyền thống, đồng thời mang lại năng suất và lợi nhuận cao cho công ty
Tuy có nhiều quy trình thực hiện khác nhau nhưng mục đích chính của robot vận chuyển là tự động hóa quá trình vận chuyển với thời gian hoạt động kéo dài Hiện nay, ngày càng nhiều công ty ứng dụng loại robot này vào dây chuyền sản xuất của mình, trong tương lai, robot vận chuyển sẽ có chỗ đứng vững chắc trên thị trường robot
Hình 2.2 Robot HV-100
2.1.3 Mobile Robot
Mobile robot là robot được điều khiển bởi phần mềm sử dụng các cảm biến cũng như công nghệ để xác định môi trường xung quanh và di chuyển xung quanh môi trường đó Robot hoạt động bằng việc kết hợp sử dụng trí tuệ nhân tạo và các yếu tố vật lý như bánh xe, đường ray, Chúng được điều khiển tự động bằng cách lập
Trang 27trình theo yêu cầu của người sử dụng Robot có thể thực hiện các công việc lặp đi lặp lại, thay thế con người trong nhiều trong việc khác nhau
Trang 28Hình 2.4 Robot lễ tân phục vụ khách sạn
Ứng dụng trong ngành logistic
Robot giúp con người vận chuyển hàng hóa từ điểm này đến điểm khác một cách dễ dàng Chúng thường được sử dụng trong kho và cơ sở lưu trữ để tổ chức và vận chuyển các sản phẩm và cũng có thể được sử dụng trong nhiều trường hợp khác nhau tùy theo mục đích sử dụng
Hình 2.5 Robot vận chuyển trong kho
Ứng dụng trong công nghiệp
Trang 29Robot có thể thao tác liên tục nhiều hoạt động quy mô rộng, đó là những hoạt động phức tạp hoặc khó với người, hỗ trợ cho công ty sản xuất xử lý nhiều vấn đề khác nhau họ cần giải quyết như lượng nhân lực thiếu hụt, tính cạnh tranh trên thị trường quốc tế và đảm bảo an toàn
Hình 2.6 Robot trong công nghiệp
2.2 Tìm hiểu về thị giác máy
2.2.1 Định nghĩa về thị giác máy
Thị giác máy là phương pháp phân tích, nhận dạng, xử lý ảnh kĩ thuật số để xuất
ra các thông tin hoặc biểu tượng Việc phát triển và xây dựng lĩnh vực này có bối cảnh từ việc sao chép các khả năng thị giác con người bởi sự nhận diện và hiểu biết một hình ảnh mang tính điện tử Sự nhận diện hình ảnh có thể xem là việc giải quyết vấn đề của các biểu tượng thông tin từ dữ liệu hình ảnh qua cách dùng các mô hình được xây dựng với sự giúp đỡ của các ngành lý thuyết học, thống kê, vật lý và hình học Thị giác máy tính cũng được mô tả là sự tổng thể của một dải rộng các quá trình tự động và tích hợp và các thể hiện cho các nhận thức thị giác Nó sử dụng công nghệ Deep Learning ( học sâu) để xây dựng mạng thần kinh nơ-ron có chức năng hỗ trợ việc nhận dạng, phân loại hình ảnh
Lĩnh vực của thị giác máy bao gồm nhận diện đối tượng, theo dõi sự vật, đánh giá hay phân tích các chuyển động
Trang 302.2.1.1 Hình ảnh kĩ thuật số và phân loại hình ảnh
Một hình ảnh kỹ thuật số là một đại diện của một hình ảnh thực như một tập hợp các số có thể được lưu trữ và xử lý bởi một máy tính kỹ thuật số Để dịch hình ảnh thành các số, nó được chia thành các khu vực nhỏ gọi là pixel (các phần tử hình ảnh) Đối với mỗi pixel, thiết bị hình ảnh ghi lại một số hoặc một bộ số nhỏ, mô tả một số thuộc tính của pixel này, chẳng hạn như độ sáng của nó (cường độ của ánh sáng) hoặc màu của nó Các số được sắp xếp trong một mảng các hàng và cột tương ứng với các vị trí dọc và ngang của các pixel trong hình ảnh
Có 2 loại hình ảnh số đó là ảnh raster và ảnh vector
Ảnh raster
Hình ảnh được hình thành từ vô số ô vuông nhỏ (pixel - picture element) được gọi là hình ảnh raster Thông thường một hình ảnh được chia thành các hàng và cột chứa điểm ảnh Điểm ảnh là thành phần bé nhất biểu diễn ảnh, có giá trị số biểu diễn màu sắc, độ sáng của một thành phần trong bức ảnh
Hình 2.7 Ảnh raster
Trang 31Ảnh vector
Ảnh vector là sản phẩm được tạo ra từ các đối tượng, các hình cơ bản, điểm đường giới hạn Thay vì được lưu dưới dạng ma trận pixel như ảnh raster, ảnh vector được biểu diễn dưới dạng tọa độ của các phần tử trong ảnh Đây là điều đặc biệt của ảnh vector, chúng có thể được kéo dài và thu nhỏ tùy ý mà không bị hỏng hay răng cưa như ảnh raster Dữ liệu trong hình ảnh vector nhỏ, do đó, nó thường tiết kiệm dung lượng lưu trữ hơn hình ảnh raster
G (xanh lá cây-xanh lá cây) B (xanh dương-xanh lam) để thể hiện tất cả các màu Ngoài hệ màu RGB, chúng ta cũng sẽ nghe thấy RGBA, thực tế dựa trên trên hệ màu
Trang 32RGB nhưng có Hệ màu có thêm kênh alpha (α) Kênh alpha được sử dụng làm kênh
độ mờ, nếu pixel có giá trị 0% trong kênh alpha của nó thì pixel đó hoàn toàn trong suốt, trong khi giá trị 100% sẽ làm cho điểm mờ Điều này được sử dụng nhiều khi tổng hợp hình ảnh và mang lại mức độ chân thực
Hệ màu CMYK
Hình 2.10 Hệ màu CMYK
Không gian màu CMYK đề cập đến một mô hình màu độc quyền, thường
được sử dụng trong in ấn Mô hình màu này dựa trên các sắc tố hỗn hợp có các màu sau:
- C = Cyan có nghĩa là màu xanh lam hoặc có cánh trong tiếng Anh
- M = Magenta trong tiếng Anh có nghĩa là màu cánh sen hoặc hồng sẫm
- Y = Yellow có nghĩa là màu vàng trong tiếng Anh
- K = Key trong tiếng Anh nên hiểu là key hay main gì đó ám chỉ màu đen, mặc
dù tên tiếng Anh của màu là black, vì chữ B đã được dùng cho màu xanh trong mô hình màu RGB
Hệ màu HSV
Không gian màu HSV (còn gọi là HSB) là một cách tự nhiên hơn để mô tả
màu sắc, dựa trên 3 số liệu:
- H (Hue): vùng màu
- S (Saturation): độ bão hòa màu
- B (hay V) (Bright hay Value): độ sáng
Ứng dụng tiêu biểu nhất của HSV là nhận dạng màu Khi ta có 1 bài toán là
xác định màu sắc của đèn tín hiệu giao thông và đầu ra chính là hình dưới và điều
kiện ở trên là nhận diện đèn màu xanh lá cây
Trang 33Ảnh xám và ảnh nhị phân
Ảnh xám
Ảnh xám (GrayScale) đơn giản là một hình ảnh trong đó các màu là các sắc thái của màu xám Lý do cần phải phân biệt giữa ảnh xám và các ảnh khác nằm ở việc ảnh xám cung cấp ít thông tin hơn cho mỗi pixel Với ảnh thông thường thì mỗi pixel thường được cung cấp 3 trường thông tin trong khi với ảnh xám chỉ có 1 trường thông tin, việc giảm khối lượng thông tin giúp tăng tốc độ xử lý nhưng vẫn đảm bảo các tác
vụ cần thiết
Ảnh nhị phân
Ảnh nhị phân (binary) có thể coi đây là 1 sự mất thông tin đáng kể so với ảnh xám Với ảnh xám thì độ xám của mỗi pixel sẽ thể hiện trong khung [0 đến 255] còn với ảnh nhị phân tất cả các pixel chỉ có giá là 0 hoặc 255 Tuy thông tin đã mất tương đối lớn song ảnh tam phân vẫn bộc lộ được khá rõ ràng các chi tiết như góc và chiều cao của vật thể, từ đấy sẽ có lợi thế về những thuật toán xử lý nhiễu hay nhận diện vật thể (object detection),
2.3 Mạng nơ-ron tích chập (Convolutional neural networks)
Convolutional Neural Network (CNN) là một thuật ngữ sử dụng nhằm mô tả mạng nơ ron tích chập Đây là phương pháp Deep Learning hiện đại giúp con người điều khiển thành công những chiếc máy tính với độ chính xác rất cao CNN trở thành công cụ phổ biến đối với các thuật toán nhận diện object qua hình ảnh
Hình 2.11 Thuật toán CNN
Trang 342.4 Tensor flow
2.4.1 Giới thiệu
Trong thời đại trí tuệ nhân tạo đang được phát triển mạnh mẽ thì Machine learning và deep learning cũng được phát triển theo cùng Trong đó, Tensor flow chính là thư viện mã nguồn mở cho machine leaning phổ biến nhất trên thế giới được chính Google xây dựng và phát triển Việc hỗ trợ để tính toán các phép toán trong Machine learning và deep learning đã làm cho công việc tiếp cận các bài toán trở nên
đỡ phức tạp hơn
Chính vì sự phát triển của nó mà giờ đây các hàm trong thư viện cho phép tensor flow xây dựng được nhiều neural network Thậm chí nó còn có thể tính toán song song trên nhiều thiết bị khác nhau Đây là một công cụ tuyệt vời cho công việc về AI nói chung và xử lí ảnh nói riêng
TensorFlow cho phép người dùng tạo ra dataflow graph hay một series các node đang được xử lí, mỗi node là một đại diện cho operation toán học và mối liên kế giữa các node này được gọi là “Tensor”
Hình 2.12 Thư viện mã nguồn TensorFlow
2.4.2 Các thành phần TensorFlow
Tensor: 1 tensor là 1 vec-tơ, 1 ma trận của n-chiều không gian đại diện cho các
loại dữ liệu, 1 tensor có thể bắt nguồn từ 1 dữ liệu input hay kết quả của 1 tính toán, trong TensorFlow, tất cả hoạt động diễn ra bên trong một biểu dồ ( graph) là 1 tập hợp tính toán diễn ra liên tiếp
Graph: TensorFlow sử dụng framework dạng biểu đồ, biểu đồ sẽ tập hợp và mô
tả tất cả chuỗi tính toán được thực hiên trong quá trình trainning Biểu đồ có thể chạy trên nhiều CPU hay GPU, ngay cả hệ điều hành trên các thiết bị điện thoại
Trang 352.4.3 Kiến trúc của TensorFlow
Gồm 3 phần chính:
Tiền xử lý dữ liệu: Tiền xử lí dữ liệu là một phần vô cùng cần thiết đối với quá
trình giải quyết bất cứ vấn đề nào của ngành Học Máy Các phương pháp tiền xử lí
dữ liệu thông dụng nhất gồm: phục hồi dữ liệu đã mất (missing data) , phân tích và tạo nhóm (encoding categorical variables) , chuẩn hoá dữ liệu (standardizing data) hay chuyển dữ liệu (scaling data),
Dựng model: khu vực cơ sở dữ liệu chuyên dùng để thống kê và báo cáo thì
phát triển theo hướng đề tài nghiệp vụ có cấu trúc dưới hình thức "star-schema" chủ yếu dành cho yêu cầu tổng hợp và nghiên cứu với thời gian ngắn, cung cấp thông tin
Train và ước tính model: một kỹ thuật cho phép kiểm tra hiệu quả
(performance) của một thuật toán học máy (machine learning algorithm) Nó có thể được dùng cho các vấn đề định lượng (classification) hoặc thống kê (regression) và không được áp dụng đối với bất kỳ thuật toán học tập có kiểm soát khác (supervised learning algorithm)
2.5 Tìm hiểu về Raspberry Pi và phương thức giao tiếp Raspberry Pi hỗ trợ 2.5.1 Giới thiệu Raspberry
Với tất cả mọi người, máy tính đã không còn xa lạ, nó thực sự là công cụ hữu ích khi làm việc, điều khiển và quản lí các loại máy móc, trang thiết bị Vào những năm 1970, là thời kì đỉnh cao của công nghệ và máy tính tồn tại cho tới hôm nay Trong khi một chiếc máy tính có thể làm đa việc như thế, chỉ một nhu cầu cần một thiết bị nhỏ gọn, nhẹ cũng đủ thực hiện những thao tác điều khiển đơn giản Với yêu cầu như vậy, tháng năm năm 2009, những nhà sáng lập người Anh đã phát hành một board mạch tích hợp mới có tên mã là Raspberry Pi, hoạt động trên nền hệ điều hành Linux và hỗ trợ nhiều cổng GPIO, HDMI, USB, Kể từ đó nó trở nên phổ biến và
đa số là trong những hệ thống Internet vạn vật (IoT)
Trang 36Hình 2.12 Logo : Logo Raspberry Pi
Hệ điều hành chạy trên các sản phẩm Raspberry Pi là Raspian Os, Linux và Ubuntu Đa số đều là hệ điều hành mã nguồn mở có liên kết với các ứng dụng phần cứng và phần mềm của máy tính Ngôn ngữ chính dùng trên Raspberry Pi là Python
- một ngôn ngữ lập trình cấp cao Một trong những lợi ích của Raspberry Pi là không cần phải có kiến thức sâu về Linux hoặc Python trước khi bắt đầu một dự án với Raspberry Pi Raspberry Pi được sử dụng phổ biến trong Chụp ảnh/video thời gian thực cho những ứng dụng dựa trên IoT và các ứng dụng Robotics
Hình 2.13 Raspberry Pi
Trang 372.5.1.1 Ưu và nhược điểm của Raspberry Pi
Ưu điểm
• Hỗ trợ ngoại vi rộng rãi từ cổng mạng, HDMI, USB và các chân IO
• Ứng dụng thực tế trong xử lý ảnh và robot
• Điện năng tiêu thụ thấp
• Có thể hỗ trợ nhiều ngôn ngữ lập trình
• Giá thành chi phí tương đối thấp
Nhược điểm
• Không có bộ nhớ trong
• Bộ xử lý đồ họa bị thiếu
• Thường bị quá nhiệt nếu sử dụng với thời gian lâu
2.5.1.2 Các thông số của Raspberry Pi 4
Raspberry Pi có nhiều model khác nhau, trong đề tài này chỉ đề cập tới model mới là Raspberry Pi 4 B Hình bên dưới mô tả các thành phần thực tế của một con Raspberry Pi 4 model B
Hình 2.14 Raspberry Pi 4 model B
Trang 38Các thông số kĩ thuật:
• Vi xử lí: Broadcom 2711, quad-core cortex-A72, 64 bit, 1.5GHz
• Ram: 1GB LPDDR4 SDRAM (hoặc 2, 4GB tùy phiên bản)
• Kết nối: Lan 2.4/5GHz IEEE 802.11.b/g/n/ac
• 1 x MIPI DSI xuất màn hình
• 1 x MIPI CSI kết nối camera
Hình 2.15 Các chân vật lí và số thứ tự GPIO tương ứng
Trang 39Raspberry Pi 4 có 40 chân GPIO, chia thành hai hàng song song nhau và được đánh
số chẵn lẽ, trong đó:
- 26 chân IO, có thể cấu hình là input hoặc ouput
- Các chân giao tiếp UART, I2C, SPI và PWM
- 2 chân 5V, 2 chân 3.3V và 8 chân GND
- 2 chân ID EEPROM (giao tiếp EEPROM qua I2C)
2.5.2 Các phương thức giao tiếp mà Raspberry hỗ trợ
Giao tiếp UART
UART (Universal Asynchronous Receiver/Transmitter) là phương thức giao tiếp không đồng bộ, sử dụng hai chân TX và RX để truyền và nhận dữ liệu Dữ liệu truyền đi không cần xung clock để đồng bộ, do đó UART có thêm start bit và stop bit trong gói tin truyền đi
Thiết bị khi nhận được start bit, nó sẽ bắt đầu đọc gói tin với một tần số nhất định gọi là baud rate, nó còn được biết đến như là tốc độ giao tiếp UART giữa hai thiết bị
Hình 2.16 Sơ đồ khối hai thiết bị giao tiếp UART
Hình 2.17 Các thành phần trong 1 gói tin
Trang 40Một gói dữ liệu (data package) thường chứa 1 start bit, khoảng 5 tới 9 bit data,
1 parity bit (có thể có hoặc không) và 1 đến 2 stop bit Trong đó:
• Start bit: đường bus dữ liệu sẽ được giữ ở mức cao khi không có truyền nhận,
để bắt đầu quá trình truyền nhận, thiết bị gửi sẽ kéo đường bus dữ liệu xuống mức thấp, tức là truyền một start bit = 0 để bắt đầu quá trình truyền
• Data frame: khung dữ liệu chứa dữ liệu cần truyền Thông thường, khung dữ liệu này sẽ được bắt đầu bằng bit có trọng số nhỏ nhất (LSB)
• Parity: là bit mà thiết bị nhận dùng để so sánh xem dữ liệu có bị mất khi truyền hay không Sau khi nhận được gói tin, thiết bị nhận sẽ đếm số bit xem tổng cộng
là chẵn hay lẽ Khi truyền dữ liệu, gói tin sẽ được đóng gói kèm parity bit biểu thị tổng số bit dữ liệu, với parity bit = 1 thì sẽ là lẽ, ngược lại là chẵn Khi nhận được gói tin, thiết bị nhận sẽ đếm lại data frame và so sánh với parity bit để biết gói tin có được truyền đúng hay không
• Stop bit: để thông báo kết thúc truyền gói tin, thiết bị gửi sẽ đưa bus dữ liệu từ thấp lên mức cao, tức là gửi stop bit = 1 từ một đến hai lần
Cách thức hoạt động
Thiết bị gửi sẽ đọc dữ liệu trên đường truyền dữ liệu, nhận dữ liệu về sau đó đóng gói thêm start bit, parity bit và stop bit, tạo thành gói dữ liệu Tiếp theo, gói dữ liệu sẽ tạo nên nối tiếp các bit ở vị trí Tx UART sẽ hiển thị gói dữ liệu mỗi bit ở vị trí Rx của nó UART tiếp nhận sau đó chuyển dữ liệu về trạng thái dọc và bỏ bit start thành bit chẵn lẻ và bit stop Cuối cùng là UART sẽ di chuyển gói dữ liệu song song với bus dữ liệu tại điểm tiếp nhận
Giao tiếp SPI
SPI (Serial Peripheral Bus) là phương tiện liên lạc kết nối tiên tiến nhất dùng phổ biến rộng rãi hiện tại Dữ liệu cũng được mã hoá (package) khi truyền tới giống hệt y như UART, vì thế hoạt động chuyển dữ liệu không hề gián đoạn Các thiết bị trao đổi theo phương thức trên giữ vai trò là thiết bị chủ của tớ (master and slave), với thiết bị chủ sẽ là máy tính, và thiết bị tớ chính là những camera, bàn phím hay hệ thống lưu trữ thu nhận dữ liệu xử lý bởi thiết bị chủ SPI gồm một thiết bị chủ có 2-
3 thiết bị tích hợp