MỞ ĐẦU Luận văn thạc sĩ “Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp một số công nghệ xử lý ảnh và thuật toán hiện đại” có nhiệm vụ chính là thiết kế, chế tạo một mô hình
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
HÀ NỘI - 2020
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
- -
TRỊNH TUẤN DƯƠNG
NGHIÊN CỨU, THIẾT KẾ, CHẾ TẠO MOBILE ROBOT TỰ HÀNH TÍCH HỢP MỘT SỐ CÔNG NGHỆ
XỬ LÝ ẢNH VÀ THUẬT TOÁN HIỆN ĐẠI
Ngành: Công nghệ kỹ thuật cơ điện tử
Chuyên ngành: Kỹ thuật cơ điện tử
Mã số: 8520114.01
LUẬN VĂN THẠC SĨ CÔNG NGHỆ KỸ THUẬT CƠ ĐIỆN TỬ
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS PHẠM MẠNH THẮNG
HÀ NỘI - 2020
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan: Luận văn này là công trình nghiên cứu cá nhân, không sao chép lại Tất cả những nội dung có sự tham khảo từ các tài liệu khác đều được ghi lại đầy đủ trong phần tài liệu tham khảo
Hà Nội, ngày 18 tháng 9 năm 2020
Học viên
Trịnh Tuấn Dương
Trang 4LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn chân thành đến Giáo viên hướng dẫn là PGS.TS Phạm Mạnh Thắng vì những sự giúp đỡ, hướng dẫn tận tình của thầy Những sự chỉ dẫn, giúp đỡ đó có vai trò rất quan trọng giúp tôi hoàn thành được Luận văn Tôi cũng xin gửi lời cảm ơn đến Gia đình, Bạn bè, Đồng nghiệp, những người
đã có sự giúp đỡ, động viên kịp thời trong thời gian tôi thực hiện Luận văn này Xin chân thành cảm ơn!
Học viên
Trịnh Tuấn Dương
Trang 5
MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC BẢNG BIỂU vi
DANH MỤC HÌNH VẼ vii
MỞ ĐẦU 1
CHƯƠNG 1 TỔNG QUAN VỀ LUẬN VĂN 2
1.1 Giới thiệu chung 2
1.1.1 Giới thiệu về robot tự hành 2
1.1.2 Bài toán xác định vị trí và tìm đường 3
1.2 Mục đích, đối tượng, nội dung nghiên cứu, và giới hạn của luận văn 6
1.2.1 Mục đích, và đối tượng nghiên cứu của luận văn 6
1.2.2 Nội dung nghiên cứu của luận văn 8
1.2.3 Giới hạn của luận văn 9
CHƯƠNG 2 THIẾT KẾ MOBILE ROBOT 10
2.1 Cấu tạo tổng quát của mobile robot 10
2.2 Thiết kế phần khung, vỏ cho mobile robot 10
2.2.1 Ứng dụng công nghệ in 3D FDM trong việc thiết kế khung, vỏ cho robot 10
2.2.2 Thiết kế, chế tạo khung vỏ của robot bằng công nghệ in 3D FDM 13
2.3 Thiết kế mạch nguyên lý cho mobile robot 15
2.4 Thiết lập chế độ làm việc cho các linh kiện 15
2.4.1 Arduino Uno 15
2.4.2 QTR – 5RC 16
2.4.3 Module thu phát sóng Radio nRF24L01 18
2.4.4 Động cơ DC 19
Trang 62.4.5 Module điều khiển động cơ L298 20
2.4.6 Thiết lập giao tiếp cho robot 21
2.5 Viết chương trình điều khiển cho mobile robot 22
CHƯƠNG 3 XÂY DỰNG CHƯƠNG TRÌNH XỬ LÝ ẢNH VÀ ĐỊNH HƯỚNG CHO MOBILE ROBOT 27
3.1 Mục đích và nội dung của chương trình 27
3.2 Ứng dụng công nghệ xử lý ảnh trong luận văn 27
3.2.1 Tổng quan về xử lý ảnh 27
3.2.2 Khai thác thư viện OpenCV để hỗ trợ quá trình xử lý ảnh trong luận văn 28
3.2.3 Một số khái niệm và thuật ngữ quan trọng về xử lý ảnh được sử dụng trong luận văn 29
3.3 Xây dựng nguyên lý hoạt động của chương trình xử lý ảnh 31
3.4 Tạo bản đồ 32
3.4.1 Dùng ROI để xác định vùng hoạt động của robot 32
3.4.2 Xác định đường đi của robot (tìm line) 33
3.4.3 Thu nhỏ kích thước vạch 35
3.4.4 Chia nút và xác định thông số của các nút 36
3.5 Ứng dụng thuật toán Camshift trong việc truy bắt, định vị robot 37
3.5.1 Giới thiệu thuật toán Camshift 37
3.5.2 Truy bắt robot theo thuật toán Camshift 42
3.6 Tìm đường cho robot 46
3.6.1 Giới thiệu về thuật toán A* 49
3.6.2 Ứng dụng thuật toán A* tìm đường cho robot 50
3.1 Dẫn hướng cho robot 50
3.2 Kết quả thử nghiệm tìm đường, định vị và dẫn hướng cho robot theo thời gian thực 51
3.2.1 Kết quả lần thử nghiệm 1 52
3.2.2 Kết quả thử nghiệm lần 2 54
Trang 73.2.3 Kết quả thử nghiệm lần 3 56 3.2.4 Kết quả thử nghiệm lần 4 58
KẾT LUẬN 60
DANH MỤC CÔNG TRÌNH KHOA HỌC CỦA TÁC GIẢ LIÊN QUAN ĐẾN LUẬN VĂN 62 TÀI LIỆU THAM KHẢO 63
PHỤ LỤC 1: MỘT SỐ HÌNH ẢNH VỀ SẢN PHẨM, VÀ MÔI TRƯỜNG THỬ NGHIỆM CỦA LUẬN VĂN 65
PHỤ LỤC 2: CÔNG TRÌNH KHOA HỌC CỦA TÁC GIẢ LIÊN QUAN ĐẾN LUẬN VĂN 72
Trang 8DANH MỤC BẢNG BIỂU
Bảng 1-1 So sánh ưu, nhược điểm của mobile robots bám vạch và không bám vạch 7 Bảng 2-1 Một vài ưu, nhược điểm của công nghệ in 3D FDM 12 Bảng 2-2 So sánh hành vi của robot trong luận văn và các robot bám vạch sử dụng thuật toán bám đường trái hoặc bám đường phải 24 Bảng 2-3 Kết quả xác định ngã rẽ và hành vi của robot dựa trên tín hiệu trả về của cảm biến dò line 25
Trang 9DANH MỤC HÌNH VẼ
Hình 1.1 Một mobile robots đơn giản [27] 2
Hình 1.2 Nhiều công nghệ có thể được áp dụng cùng lúc để định vị và định hướng cho mobile robots [16] 3
Hình 1.3 Thiết bị BLE Beacons sử dụng công nghệ bluetooth [11] 4
Hình 1.4 Hệ thống đánh dấu AprilTags [11] 4
Hình 1.5 Hệ thống định vị bằng sóng radio [17] 5
Hình 1.6 Hệ thống NFC tags [11] 5
Hình 1.7 Hệ thống RFID passive tags [11] 6
Hình 1.8 Một mobile robot bám vạch có nhiệm vụ vận chuyển nguyên vật liệu [23] 6
Hình 1.9 Hệ thống đánh dấu cho một mobile robots bám vạch từ [18] 7
Hình 1.10 Bản đồ chứa các vòng lặp khiến cho một số thuật toán dò đường như bám biên không thể giải đúng 8
Hình 1.11 Nguyên lý hoạt động của hệ thống 9
Hình 2.1 Một mô hình đang được in theo công nghệ FDM [22] 11
Hình 2.2 Mặt trước mô hình 3D mobile robot 13
Hình 2.3 Mặt sau mô hình 3D của mobile robot 14
Hình 2.4 Mô hình mobile robot hoàn thiện 14
Hình 2.5 Mạch nguyên lý của hệ thống gồm hai phần: module phát tín hiệu và mobile robot 15
Hình 2.6 Board Arduino Uno [9] 16
Hình 2.7 Cảm biến QTR - 5RC [16] 17
Hình 2.8 Module thu phát sóng radio NRF24L01 [12] 18
Hình 2.9 Động cơ DC GA25 [10] 19
Hình 2.10 Module điều khiển động cơ L298 [20] 20
Hình 2.11 Cấu tạo của IC điều khiển động cơ L298 21
Hình 2.12 Sơ đồ truyền dữ liệu từ chương trình xử lý ảnh đến robot 21
Hình 2.13 Nguyên lý hoạt động của mobile robot 23
Hình 3.1 Các module chính trong thư viện OpenCV [25] 28
Hình 3.2 Không gian màu RGB [24] 30
Hình 3.3 Không gian màu HSV [26] 30
Hình 3.4 Nguyên lý hoạt động của chương trình xử lý ảnh 31
Hình 3.5 Bản đồ trước khi áp dụng ROI (trái) và bản đồ sau khi áp dụng ROI (phải) 32 Hình 3.6 Kết quả xác định vạch theo bằng phương pháp phân ngưỡng nhị phân
Trang 10ngược trên bản đồ 1 34 Hình 3.7 Kết quả xác định vạch theo bằng phương pháp phân ngưỡng nhị phân ngược trên bản đồ 2 34 Hình 3.8 Kết quả làm giảm kích thước vạch trên bản đồ 1 bằng phép toán co ảnh 36 Hình 3.9 Kết quả làm giảm kích thước vạch trên bản đồ 2 bằng phép toán co ảnh 36 Hình 3.10 Ví dụ về việc chia lưới trong một bản đồ mà đường đi có kích thước lớn [8] 37 Hình 3.11 Cửa sổ lọc trượt đến trọng tâm của tập hợp điểm [15] 38 Hình 3.12 Trong thuật toán meanshift, kích thước của cửa sổ lọc không thay đổi theo sự thay đổi của đối tượng [15] 40 Hình 3.13 Trong thuật toán Camshift, kích thước và hướng của cửa sỏ lọc thay đổi theo sự thay đổi của đối tượng [15] 41 Hình 3.14 Sự thay đổi của Histogram khi dải chia lưới thay đổi [2] 42 Hình 3.15 Ảnh gốc, histogram và backprojection tương ứng [13] 43 Hình 3.16 Robot tự hành được đánh dấu nhận dạng bởi hai vùng màu khác nhau trên thân 44 Hình 3.17 Kết quả định vị mobile robot tại một số vị trí khác nhau 45 Hình 3.18 Kết quả giảm nhiễu nhờ việc tinh chỉnh các giá trị HSV dùng để phân ngưỡng 46 Hình 3.19 Thuật toán tìm đường theo quy tắc bám phải [30] 46 Hình 3.20 Thuật toán Pledge giúp thoát khỏi các vật cản phức tạp [30] 47 Hình 3.21 Kết quả tìm đường bằng thuật toán A* (trái) và thuật toán Dijkstra (phải) 49 Hình 3.22 Kết quả tìm đường của lần thử nghiệm 1 52 Hình 3.23 Kết quả dẫn hướng cho robot theo thời gian thực của lần thử nghiệm
1 53 Hình 3.24 Kết quả tìm đường lần thử nghiệm 2 54 Hình 3.25 Kết quả dẫn hướng cho robot theo thời gian thực của lần thử nghiệm
2 55 Hình 3.26 Kết quả tìm đường của lần thử nghiệm 3 56 Hình 3.27 Kết quả dẫn hướng cho robot theo thời gian thực của lần thử nghiệm
3 57 Hình 3.28 Kết quả tìm đường lần thử nghiệm 4 58
Hình 3.29 Kết quả dẫn hướng theo thời gian thực lần thử nghiệm thứ 4 59
Trang 11Phụ lục 1 1 Môi trường thử nghiệm hoạt động của robot 65
Phụ lục 1 2 Chương trình xử lý ảnh trên máy tính kết nối với Module phát qua giao tiếp Serial 66
Phụ lục 1 3 Góc nhìn chéo về Robot 67
Phụ lục 1 4 Mặt bên của Robot 68
Phụ lục 1 5 Mặt lưng của Robot 69
Phụ lục 1 6 Mặt sau của robot 70
Phụ lục 1 7 Mặt đáy của Robot 71
Trang 12MỞ ĐẦU
Luận văn thạc sĩ “Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp một số công nghệ xử lý ảnh và thuật toán hiện đại” có nhiệm vụ chính là thiết kế, chế tạo một mô hình mobile robot tự hành dạng bám vạch được định vị, tìm đường và dẫn hướng nhờ vào sự kết hợp giữa các công nghệ xử lý ảnh và thuật toán tìm đường Hướng tiếp cận này mang đến điểm mới so với các mobile robot bám vạch truyền thống là khả năng giải quyết đồng thời ba bài toán định
vị, tìm đường và dẫn hướng Nhờ áp dụng công nghệ xử lý ảnh nên robot có thể đến được vị trí bất kỳ trên đường đi mà không cần tạo các dấu trên bản đồ như phương pháp truyền thống Đồng thời, nhờ áp dụng công nghệ xử lý ảnh, sự tương tác giữa người dùng với robot bám vạch cũng tăng lên khi người dùng có thể lựa chọn vị trí đích cho robot một cách đơn giản thông qua việc kích chuột trên ảnh của bản đồ
Nội dung của báo cáo luận văn gồm có những phần sau:
Chương 1 Tổng quan về luận văn
Chương 2 Thiết kế mobile robot dạng bám vạch
Chương 3: Xây dựng chương trình xử lý ảnh và định hướng cho mobile
robot dạng bám vạch Hướng phát triển của luận văn vẫn còn rất rộng Vì vậy, tác giả sẽ tiếp tục nghiên cứu, phát triển nội dung của luận văn để có thể tìm hiểu sâu hơn về lĩnh vực mobile robot và hoàn thiện, nâng cao tính ứng dụng của luận văn vào thực tiễn Báo cáo không tránh khỏi còn có những sai sót, cũng như tầm hiểu biết của tác giả chỉ có hạn nên rất mong nhận được những ý kiến đóng góp để tác giả có thể sửa chữa và cải tiến, hoàn thiện và làm phong phú thêm nội dung của luận văn
Xin chân thành cảm ơn!
TÁC GIẢ
Trang 13CHƯƠNG 1 TỔNG QUAN VỀ LUẬN VĂN
1.1 Giới thiệu chung
1.1.1 Giới thiệu về robot tự hành
Robot tự hành, hay còn gọi là AMR (autonomous mobile robot) hoặc AGV (autonomous guided vehicle) là những robot có khả năng di chuyển một cách tự động Khác với robot công nghiệp (industrial robots) là những robot ít có tính di động hơn, mobile robot thường có khả năng tự hành trong một môi trường không kiểm soát (các robot dạng AMR) hoặc có khả năng sử dụng các cảm biến định hướng để di chuyển theo các đường đã được định trước (các robot dạng AGV)
Hình 1.1 Một mobile robots đơn giản [27]
Mobile robots đang ngày càng trở nên phổ biến cả trong công nghiệp và cuộc sống Tất cả các lĩnh vực từ y tế, quân sự, giáo dục, sản xuất hay sinh hoạt thường nhật đều có sự xuất hiện của mobile robots Ví dụ, các bệnh viện cũng như các nhà máy đã sử dụng mobile robots suốt nhiều năm trong việc vận chuyển các dụng cụ, nguyên vật liệu Trong gia đình, các robot hút bụi tự động ngày một phổ biến, hoạt động hiệu quả hơn và giá thành rẻ hơn Ngoài ra, mobile robots cũng được sử dụng trong các nhiệm vụ như thám hiểm, hay các nhiệm vụ liên quan đến môi trường độc hại hoặc nguy hiểm cho con người [27]
Trang 141.1.2 Bài toán xác định vị trí và tìm đường
Trong các vấn đề nghiên cứu liên quan đến mobile robots thì bài toán xác định
vị trí và tìm đường là những bài toán rất quan trọng và vẫn đang được nghiên cứu, phát triển các giải pháp hiệu quả
Đối với bài toán tìm đường, mục tiêu của bài toán này là tìm ra đường đi phù hợp cho robots Đường đi phù hợp ở đây là các đường đi thỏa mãn hai tiêu chí:
Có khả năng dẫn tới đích, và là đường ngắn nhất Bài toán này có thể được giải quyết một cách thủ công nhờ người lập trình hoặc cũng có thể giải quyết bằng việc cho robot dò đường Tuy nhiên, nhược điểm của các cách trên là đường đi
có thể không đúng hoặc có thể đúng nhưng không phải là đường đi ngắn nhất,
và bản đồ càng phức tạp thì độ khó trong việc tìm đường càng tăng lên Phương hướng giải quyết thứ hai là áp dụng các thuật toán tự động Theo đó, đường đi đến đích phù hợp sẽ được tìm một cách tự động, tốc độ của việc tìm đường sẽ phụ thuộc vào loại thuật toán được áp dụng Ưu điểm của phương pháp này là đường được tìm một cách tự động, và một số thuật toán tìm đường tự động đã được chứng minh là có thể tìm được đường đi ngắn nhất Tuy nhiên, để có thể
áp dụng được thuật toán tìm đường tự động thì cần phải có thông tin về bản đồ Ngoài bài toán tìm đường thì một bài toán khác cũng cần được giải quyết để mobile robots có thể đi đến đích, đó là bài toán định vị (localization) Bài toán này có thể phân thành hai loại, dựa theo môi trường hoạt động của robot như sau: Định vị ngoài trời (outdoor localization) và định vị trong nhà (indoor localization)
Hình 1.2 Nhiều công nghệ có thể được áp dụng cùng lúc để định vị và định
hướng cho mobile robots [16]
Trong khi bài toán định vị ngoài trời có thể được giải quyết đơn giản bằng cách
Trang 15sử dụng các cảm biến GPS thì bài toán định vị trong nhà lại khó giải quyết hơn rất nhiều do tín hiệu GPS bị yếu, thường không ổn định ở môi trường trong nhà
Do đó, bài toán định vị trong nhà vẫn đang được nghiên cứu, tìm phương pháp giải quyết thích hợp, ví dụ như áp dụng cùng lúc nhiều công nghệ để định vị và định hướng cho robot (hình 1.2) Hiện tại có một số phương pháp giải quyết bài toán này như sử dụng bluetooth, xử lý ảnh, hệ thống định vị bằng sóng radio, NFC, RFID, hay wifi [4, 11]:
- BLE Beacons: Đây là các thiết bị kích thước nhỏ có thể gắn trên tường hoặc các bề mặt được thiết kế chuyên dụng trong việc định vị trong nhà Theo đó, mobile robots sẽ phát hiện tín hiệu từ BLE Beacons, và tính toán
vị trí của nó thông qua việc tính toán khoảng cách của nó so với các BLE Beacons
Hình 1.3 Thiết bị BLE Beacons sử dụng công nghệ bluetooth [11]
- AprilTags: Đây là một phương pháp giá rẻ sử dụng công nghệ xử lý ảnh
để định vị Theo đó, các điểm đánh dấu (markers) được làm theo mẫu AprilTags sẽ được dán ở các vị trí cần thiết Mobile robots được trang bị camera sẽ nhận diện các ký hiệu này và tính toán được vị trí của mình
Hình 1.4 Hệ thống đánh dấu AprilTags [11]
- Ngoài các phương pháp đã trình bày thì còn một số phương pháp khác như sử dụng hệ thống định vị bằng sóng radio (hình 1.5), hoặc sử dụng
Trang 16các hệ thống NFC tags (hình 1.6) hay hệ thống RFID tags (hình.17) Một
số nhược điểm có thể còn tồn tại của các phương pháp trên như sau:
Trang 17Hình 1.7 Hệ thống RFID passive tags [11]
1.2 Mục đích, đối tượng, nội dung nghiên cứu, và giới hạn của luận văn 1.2.1 Mục đích, và đối tượng nghiên cứu của luận văn
Hình 1.8 Một mobile robot bám vạch có nhiệm vụ vận chuyển nguyên vật
liệu [23]
Trang 18Đối tượng nghiên cứu của luận văn là mobile robot dạng bám vạch Có thể phân loại mobile robots thành hai loại là bám vạch và không bám vạch Mỗi loại mobile robots này có ưu và nhược điểm riêng như trên bảng 1-1
Bảng 1-1 So sánh ưu, nhược điểm của mobile robots bám vạch và không bám vạch
Mobile robots không bám vạch
Mobile robots bám vạch
hoạt động không bị giới hạn bởi vạch
Hoạt động ổn định
Chi phí thường thấp hơn so với mobile robots không bám vạch
Nhược điểm Cần kết hợp nhiều loại cảm
biến cũng như các phương pháp định hướng để có thể hoạt động ổn định, do đó chi phí thường đắt hơn
Độ linh động kém hơn so với mobile robots bám vạch
Hiện tại, mobile robots bám vạch khi di chuyển thường được định vị bằng cách đánh dấu (tạo các markers) như sau: Tại các vị trí cần định vị (thường là ngã rẽ)
sẽ sử dụng thêm mã hóa IR [7] hoặc LED [1] để làm dấu Tuy nhiên, nhược điểm của phương pháp này là chỉ áp dụng trong môi trường làm việc không yêu cầu độ linh hoạt cao vì tại mỗi vị trí cần đến của phương tiện lại phải đặt các dấu (markers) và khi muốn thay đổi lại vị trí sẽ phải can thiệp vào việc sắp xếp các dấu
Hình 1.9 Hệ thống đánh dấu cho một mobile robots bám vạch từ [18]
Trang 19Ngoài ra, đối với mobile robots dạng này, nếu không muốn tìm đường thủ công cho robots thì có thể cho robots tiến hành dò đường Tuy nhiên, việc cho robots
dò đường cũng rất tốn công sức và thời gian trong các trường hợp bản đồ phức tạp và việc dò đường còn không thể thực hiện được trong trường hợp bản đồ có chứa các vòng lặp
Hình 1.10 Bản đồ chứa các vòng lặp khiến cho một số thuật toán dò đường như
bám biên không thể giải đúng
Vì vậy, mục đích và đối tượng nghiên của luận văn là tìm ứng dụng công nghệ
xử lý ảnh cũng như thuật toán tìm đường vào mobile robots bám vạch để giải quyết đồng thời bài toán định vị, tìm đường, dẫn hướng và khắc phục một số nhược điểm còn tồn tại trong việc di chuyển của mobile robots dạng bám vạch như đã nêu trên
1.2.2 Nội dung nghiên cứu của luận văn
Để đạt được mục đích các mục đích trên, luận văn sẽ tập trung vào các nội dung sau:
- Ứng dụng công nghệ xử lý ảnh trong việc tạo bản đồ, truy bắt và định vị robots
- Ứng dụng thuật toán tìm đường tự động trong việc tìm đường cho robots
- Ứng dụng công nghệ in 3D trong việc thiết kế, chế tạo khung vỏ cho robots
- Thiết kế, chế tạo robots có khả năng bám vạch và có khả năng được dẫn hướng thông qua công nghệ giao tiếp không dây
Trang 20Hệ thống được xây dựng gồm một chương trình xử lý ảnh và một mobile robot
có khả năng liên kết với nhau và hoạt động theo nguyên lý như trên hình 1.11
Hình 1.11 Nguyên lý hoạt động của hệ thống
Ảnh được gửi về từ một camera gắn ngoài sẽ được thu thập bởi chương trình xử
lý ảnh trên laptop Sau đó, chương trình xử lý ảnh sẽ xử lý, phân tích và gửi những dữ liệu về đường đi tới robot theo thời gian thực Mobile robots sẽ liên tục cập nhật dữ liệu từ cảm biến và dữ liệu được gửi về từ chương trình xử lý ảnh để có thể di chuyển đến đích
1.2.3 Giới hạn của luận văn
Từ lý thuyết đến thực tế là một chặng đường dài, và với tốc độ phát triển hiện nay thì công nghệ và kiến thức thay đổi không ngừng Với tầm hiểu biết hạn hẹp của tác giả thì khó lòng giải quyết được nhiều yêu cầu trên thực tế vì nhiều khi chỉ cần thêm một yêu cầu cũng khiến khối lượng kiến thức liên quan cũng như
độ khó tăng lên nhiều lần Do đó, luận văn chỉ tập trung vào xây dựng một hệ thống chứng minh được tính khả thi của luận văn và giới hạn như sau:
- Mobile robots ngoài việc đáp ứng được các yêu cầu của luận văn thì không còn nhiệm vụ nào khác, ví dụ như tải nặng
- Hệ thống được thiết kế lấy ảnh đầu vào từ một camera, thỏa mãn các yêu cầu cơ bản của luận văn nhưng chưa được thiết kế để xử lý hết các tình huống đặc biệt, đột xuất có thể xảy ra
Trang 21CHƯƠNG 2 THIẾT KẾ MOBILE ROBOT
2.1 Cấu tạo tổng quát của mobile robot
Mobile robot được thiết kế trong luận văn gồm có các bộ phận chính như sau:
- Bộ phận khung, vỏ: Phần khung, vỏ có tác dụng liên kết các bộ phận khác của robot Đồng thời, nó cũng có tác dụng trong việc tăng độ cứng vững, bảo vệ robot khỏi các tác động từ bên ngoài
- Bộ phận công suất: Bộ phận công suất có tác dụng cung cấp năng lượng cho robot hoạt động Bộ phận này phải cung cấp công suất đủ lớn nhưng khối lượng cũng không được quá nặng Do đó, mobile robot sử dụng hệ pin Li-Ion làm nguồn cung cấp năng lượng
- Bộ phận truyền động: Mobile robot được dẫn động bằng hai bánh chủ động và một bánh dẫn hướng Các bánh chủ động được điều khiển bởi hai động cơ DC giảm tốc
- Hệ thống cảm biến và giao tiếp: Cảm biến có nhiệm vụ thu thập thông tin
từ môi trường hỗ trợ quá trình điều khiển robot Robot trong luận văn được trang bị cảm biến dò line QTR-5RC để hỗ trợ bám vạch Ngoài ra, robot cũng được trang bị module NRF24L01+ để hỗ trợ giao tiếp với chương trình xử lý ảnh trên máy tính
- Bộ phận mạch điều khiển: Module điều khiển trung tâm có vai trò điều khiển hoạt động của mobile robot thông qua quá trình xử lý tín hiệu từ cảm biến, điều khiển động cơ thông qua module L298N và giao tiếp với máy tính qua NRF24L01+ Board điều khiển được sử dụng là Arduino Uno
2.2 Thiết kế phần khung, vỏ cho mobile robot
Để mobile robot hoạt động ổn định thì phần khung, vỏ đóng vai trò rất quan trọng Khung, vỏ của robot giúp kết nối, cố định và sắp xếp hợp lý các bộ phận của robot như bánh xe, các linh kiện, bảng mạch và pin Từ đó, giúp cho robot
có được sự ổn định và vững chắc trong quá trình vận hành Ngoài ra, phần khung vỏ còn có tác dụng tăng tính cá nhân hóa và thẩm mỹ cho robot Xuất phát từ các yêu cầu trên, phần khung vỏ của robot được thiết kế và chế tạo dựa vào công nghệ in 3D FDM
2.2.1 Ứng dụng công nghệ in 3D FDM trong việc thiết kế khung, vỏ cho robot Công nghệ in 3D là một quá trình công nghệ nhằm tạo ra mô hình vật thể 3D từ
Trang 22một mô hình 3D được thiết kế trên máy tính (CAD) Quá trình này thường là liên tục đắp các lớp vật liệu theo từng lớp dưới sự điều khiển của máy in 3D để tạo thành vật thể, do đó nó còn có tên gọi khác là công nghệ sản xuất đắp dần (Additive Manufacturing – AM) Công nghệ in 3D có lịch sử phát triển lâu đời
và hiện tại đã có những bước tiến lớn và xuất hiện ngày một rộng rãi hơn trong cuộc sống cũng như sản xuất Các máy in 3D giá rẻ cũng có độ chính xác cao nên được sử dụng rộng rãi trong việc nghiên cứu, học tập để tạo mẫu Trong công nghiệp, tính đến năm 2019, sự chính xác của máy in 3D tăng cao, cộng với khả năng hoạt động bền bỉ, phạm vi nguyên liệu được mở rộng đã đưa công nghệ in 3D góp mặt nhiều hơn trong quá trình sản xuất Một trong các lợi thế lớn của công nghệ in 3D là khả năng chế tạo các vật thể có hình dạng cũng như kết cấu phức tạp, ví dụ như các bộ phận rỗng hoặc có kết cấu đặc biệt bên trong Công nghệ in 3D được ứng dụng trong nhiều lĩnh vực khác nhau như:
- Hình 2.1 Một mô hình đang được in theo công nghệ FDM [22]
Có nhiều công nghệ khác nhau được phát triển để có thể in 3D, ví dụ như FDM, SLA, SLS Trong đó, công nghệ FDM ( fused deposition modeling – tạo mô hình bằng cách hợp nhất lắng đọng) được sử dụng phổ biến hơn cả, chiếm tới
Trang 2346% theo thống kê năm 2018 [22] Công nghệ này tuy ra đời sau, nhưng có ưu điểm là giá thành rất rẻ nên có độ phổ biến cao, và đây cũng là công nghệ được lựa chọn để chế tạo phần khung vỏ cho mobile robot trong luận văn
2.2.1.1 Quy trình tạo mẫu theo công nghệ in 3D FDM:
- Tạo mô hình 3D: Mô hình 3D có thể được tạo bằng cách thiết kế trên các phần mềm chuyên dụng hoặc thông qua việc quét mẫu bằng máy quét laser (laser scanner)
- Tạo file in 3D: Đây là quá trình tạo file để nạp trực tiếp vào máy in 3D Quá trình này bản chất là nhằm chia mô hình ra thành từng lớp để có thể
in 3D (slicing) được thực hiện dưới sự trợ giúp của các phần mềm chuyên dụng Trong quá trình này, việc thiết lập các thông số, ví dụ như độ rỗng, nhiệt độ in, tốc độ in sẽ ảnh hưởng trực tiếp đến chất lượng vật thể in 3D được tạo thành
- In 3D vật thể: Trong quá trình này, máy in 3D sẽ in từng lớp xếp chồng lên nhau để tạo thành vật thể Theo đó, vật liệu được sử dụng có thể là các sợi nhựa PLA hay ABS sẽ được kéo và làm nóng chảy khi đi qua module sinh nhiệt Sau đó, theo sự di chuyển của đầu phun sẽ được in ra thành từng lớp xếp chồng lên nhau Các lớp này trong quá trình nguội đi sẽ liên kết với nhau và tạo thành vật thể
- Hậu xử lý: Đây là quá trình loại bỏ các phần nâng đỡ vật thể trong quá trình in (support) hoặc đánh bóng vật thể theo nhiều phương pháp khác nhau để vật thể đạt độ bóng hoặc độ thẩm mỹ mong muốn
2.2.1.2 Ưu, nhược điểm của công nghệ in 3D FDM:
Công nghệ in 3D FDM có một số ưu, nhược điểm chính như được trình bày tại bảng 2-1
Bảng 2-1 Một vài ưu, nhược điểm của công nghệ in 3D FDM
- Nguyên liệu sử dụng đa dạng
- Độ phổ biến cao nên dễ tiếp cận
- Thích hợp cho quá trình tạo mẫu
- Các máy giá rẻ chỉ in được các vật liệu dễ nóng chảy như
Trang 24PLA
- Việc thiết kế mô hình và thiết lập các thông số ảnh hưởng lớn đến chất lượng mô hình, do đó yêu cầu kinh nghiệm của người sử dụng
- Không phù hợp cho quá trình sản xuất hàng loạt
2.2.2 Thiết kế, chế tạo khung vỏ của robot bằng công nghệ in 3D FDM
Mobile robot được thiết kế để đảm bảo các yêu cầu sau:
Trang 25Hình 2.3 Mặt sau mô hình 3D của mobile robot
Hình 2.4 Mô hình mobile robot hoàn thiện
Trang 262.3 Thiết kế mạch nguyên lý cho mobile robot
Mạch nguyên lý của hệ thống được thiết kế như hình 2.5 Trong đó bao gồm 2 module chính:
- Module truyền dữ liệu gồm 1 board Arduino và 1 chip NRF24L01+ Chương trình xử lý ảnh sẽ gửi dữ liệu tới mobile robot qua module truyền
án tạo mẫu (phát triển các sản phẩm thử nghiệm) Board có các đặc tính kỹ thuật
để đáp ứng cho mục đích của luận văn như:
Trang 27- Tần số làm việc cao: 16MHz
- Bộ nhớ flash: 32 KB
- Số lượng chân vào ra số: 14 (6 chân có thể tạo xung PWM)
- Số lượng chân tương tự: 6
- Hỗ trợ các giao tiếp SPI, I2C, Serial [9]
Arduino Uno sẽ thực hiện các nhiệm vụ chính sau:
- Đọc tín hiệu từ cảm biến dò line
- Giao tiếp với module NRF24L01 để truyền và nhận dữ liệu
- Điều khiển hoạt động của robot dựa trên dữ liệu từ cảm biến dò line và dữ liệu nhận được qua giao tiếp không dây
- Xuất tín hiệu ra module L298 để điều khiển động cơ
Hình 2.6 Board Arduino Uno [9]
2.4.2 QTR – 5RC
Để robot có thể bám đường thì các cảm biến hồng ngoại được sử dụng rất phổ biến do đặc điểm của đường dạng vạch (line) thường là nền đen vạch trắng hoặc nền trắng vạch đen Tia hồng ngoại bị hấp thụ gần như hoàn toàn trên nền đen
và bị phản xạ gần như hoàn toàn trên nền trắng giúp cho cảm biến hồng ngoại gần như là lựa chọn đơn giản và hiệu quả nhất khi muốn robot bám theo vạch
Có rất nhiều loại cảm biến hồng ngoại được sản xuất để sử dụng trong các ứng dụng khác nhau ví dụ như các cảm biến hồng ngoại tiệm cân hay các cảm biến
Trang 28PIR Trong số đó, QTR-RC là một loại cảm biến hồng ngoại được sản xuất để phục vụ việc dò line với các đặc điểm như gồm nhiều cặp led thu phát và giá trị trả về là liên tục Một vài thông số của cảm biến như sau:
- Không cần dùng đến phương pháp biến đổi ADC
- Có khả năng thực hiện phép đo song song cho nhiều cặp cảm biến
- Việc đọc song song khiến cho khả năng sử dụng các Led được tối ưu hơn Vậy, để đọc được dữ liệu từ một cặp thu phát trên cảm biến này thì phải thực hiên các bước như sau:
- B1: Bật IR Led
- B2: Thiết lập chân I/O
- B3: Chờ tối thiểu 10 us để điện áp lên mức cao
Trang 29- B4: Thiết lập chân I/O là đầu vào
- B5: Đo thời gian suy giảm điện áp trên chân I/O
- B6: Tắt IR Led
Với mức độ phản xạ mạnh thì thời gian suy giảm tín hiệu có thể chỉ là vài chục
us Trong khi với mức độ phản xạ yếu thì thời gian này có thể lên đến vài ms [16]
2.4.3 Module thu phát sóng Radio nRF24L01
Module NRF24L01 được sử dụng để truyền nhận dữ liệu giữa module phát và module thu trên mobile robot Trong đó, nRF24L01 là chip thu phát sóng radio
ở dải tần 2.4-2.5 GHz do hãng Nordic Semiconductor sản xuất Chip này có thể được thiết lập để hoạt động ở nhiều chế độ và có mức tiêu thụ năng lượng thấp
Hình 2.8 Module thu phát sóng radio NRF24L01 [12]
Một số đặc điểm của module NRF24L01 [12]:
- Khoảng cách thu phát lên đến 100 m với địa hình ít vật cản
- Có khả năng truyền nhận tín hiệu 2 chiều (vừa đóng vai trò module phát và module thu được cùng một lúc)
- Tần số thu phát sóng radio: 2.4Ghz
- Giao tiếp với vi điều khiển thông qua giao tiếp SPI
Trong luận văn, các module NRF24L01 sẽ được thiết kế để thực hiện giao tiếp một chiều với nhau, và giao tiếp với Arduino Uno thông qua giao tiếp SPI
Trang 302.4.4 Động cơ DC
Hình 2.9 Động cơ DC GA25 [10]
Động cơ được trang bị cho robot là động cơ DC Đây là loại động cơ chạy bằng dòng điện một chiều, tốc độ và chiều quay của động cơ có thể được thay đổi thông qua chiều và cường độ điện áp đặt lên hai cực của động cơ Khi so sánh với các loại động cơ khác như động cơ bước, hay động cơ RC servo thì động cơ
DC là phù hợp nhất đối với mobile robot Mobile robot trong luận văn có khối lượng nhỏ và không có yêu cầu nào về chịu tải nên không cần sử dụng động cơ
có công suất lớn Do đó, động cơ DC được chọn chỉ cần thỏa mãn các yêu cầu sau:
- Công suất trung bình
- Điện áp làm việc trong khoảng nguồn cấp bằng pin của robot là 12V
- Giá thành thấp
Từ đó, động cơ DC GA25 được chọn với một vài thông số cơ bản như sau [10]:
- Điện áp hoạt động: 3 – 12 Volt DC
- Tỉ số truyền hộp giảm tốc: 1:34
- Số xung của encoder: 374 xung/ vòng
- Tốc độ không tải: 320 rpm
- Dòng không tải: 80 mA
Trang 31- Công suất định mức: 13.2W
- Dòng khi động cơ bị giữ: 2.29A
- Momen khi bị giữ: 7.96 kgf.cm
2.4.5 Module điều khiển động cơ L298
Hình 2.10 Module điều khiển động cơ L298 [20]
Thông thường để điều khiển một động cơ DC thì phải dùng một mạch cầu để có thể điều khiển cả chiều quay và tốc độ IC L298 với thiết kế gồm 2 mạch cầu tích hợp được ứng dụng rất phổ biến trong điều khiển động cơ L298 có thể điều khiển động cơ bước hoặc 2 động cơ DC đồng thời IC này có một số đặc điểm
cơ bản sau [20]:
- Điện áp nuôi có thể lên đến 46V
- Dòng DC làm việc lên đến 4A
- Bảo vệ quá nhiệt
Module L298 chứa hai mạch cầu H nên có thể được sử dụng để điều khiển tốc
độ và chiều quay của 2 động cơ DC của robot (hình 2.11) Các trạng thái quay của từng động cơ (quay thuận, quay ngược hay dừng lại) có thể được điều khiển thông qua việc thiết lập mức logic của các chân In1 đến In4 của module Ngoài
ra, tốc độ của động cơ cũng có thể được điều khiển qua module nhờ phương pháp PWM PWM là phương pháp điều chỉnh điện áp trung bình trên tải bằng cách thay đổi độ rộng xung Về bản chất thì PWM chính là việc đóng ngắt nguồn cấp cho tải theo một chu kỳ nhất định Việc đóng ngắt này được thực hiện bằng các khóa điện tử như Transistor hay MOSFET
Các xung có độ rộng khác nhau sẽ cung cấp điện áp trung bình trên tải khác
Trang 32nhau Điện áp trung bình đầu ra khi sử dụng phương pháp PWM được tính gần đúng theo:
𝑈𝑑 = 𝑈𝑚𝑎𝑥 𝑡
𝑇 = 𝑈𝑚𝑎𝑥 𝑑 Với:
- 𝑈𝑑 là điện áp trung bình
- 𝑈𝑚𝑎𝑥 là điện áp tối đa của nguồn
- t là thời gian xung ở mức logic cao
- d (duty cycle) là phần trăm giữa thời gian xung ở mức logic cao so với chu kỳ xung
Vậy, từ hành vi của robot, các trạng thái về chiều quay cũng như tốc độ của các động cơ sẽ được thiết lập bằng cách điều khiển các chân tương ứng và ghi giá trị PWM vào module L298
Hình 2.11 Cấu tạo của IC điều khiển động cơ L298
2.4.6 Thiết lập giao tiếp cho robot
Dữ liệu được truyền từ máy tính xuống robot theo nguyên lý được trình bày trên hình 2.12
Hình 2.12 Sơ đồ truyền dữ liệu từ chương trình xử lý ảnh đến robot
Trang 33- Chương trình xử lý ảnh trên máy tính sẽ truyền dữ liệu xuống module phát là board Arduino thông qua giao tiếp Serial Đây là giao tiếp nối tiếp với tốc độ Baud mặc định 9600, đã được tích hợp sẵn trên Arduino
- Hai module NRF24L01 có khả năng truyền nhận hai chiều, giao tiếp qua sóng radio ở tần số 2.4 GHz
- Các board Arduino kết nối với module NRF24L01 qua giao tiếp SPI Đây
là một loại giao tiếp nối tiếp đồng bộ khoảng cách ngắn thường được dùng trong hệ thống nhúng Các bước để giao tiếp giữa board Arduino và module NRF24L01 như sau:
+ Thiết lập chân giao tiếp
+ Tạo mảng dữ liệu
+ Khởi tạo địa chỉ giao tiếp
+ Gán địa chỉ giao tiếp
+ Thiết lập mức khuếch đại
+ Thiết lập module NRF24L01 là module nhận hay phát dữ liệu
+ Truyền, nhận dữ liệu
2.5 Viết chương trình điều khiển cho mobile robot
Mobile robot hoạt động theo nguyên lý tổng quan như trên hình 2.13
Đầu tiên, mobile robot sẽ khởi tạo trạng thái các chân, khởi tạo các biến và các thông số cho việc đọc tín hiệu cảm biến, điều khiển động cơ, giao tiếp Serial và giao tiếp không dây qua sóng radio Sau đó, robot sẽ tự động tiến hành việc căn chỉnh việc đọc tín hiệu cho cảm biến dò line để sẵn sàng cho quá trình bám line
Trang 34Hình 2.13 Nguyên lý hoạt động của mobile robot
Tiếp theo, mobile robot sẽ kết hợp giữa việc đọc cảm biến dò line và việc đọc lệnh điều khiển nhận được từ chương trình xử lý ảnh để đi đến đích Trong quá trình di chuyển, nếu lệnh điều khiển không phải là các lệnh đặc biệt như lệnh yêu cầu dừng lại (từ phía người dùng hoặc là đã đi đến đích), thì robot di chuyển chủ yếu dựa vào việc đọc cảm biến dò line và tiến hành bám line Chỉ khi gặp các trường hợp ngã rẽ đặc biệt thì robot sẽ sử dụng dữ liệu điều khiển từ chương trình xử lý ảnh để xác định nên di chuyển như thế nào Sự khác biệt giữa hành vi của robot được thiết kế trong luận văn khi gặp ngã rẽ so với các robot bám line thông thường khi dò đường được so sánh trong bảng 2-2
Trang 35Bảng 2-2 So sánh hành vi của robot trong luận văn và các robot bám vạch sử
dụng thuật toán bám đường trái hoặc bám đường phải
đường bám trái
đường bám phải
Tuy nhiên trong thực tế hiếm gặp trường hợp này vì luôn đi theo sự dẫn hướng của chương trình xử lý ảnh
Quay đầu Quay đầu
Trang 36line như bảng 2-3
Cảm biến QTR – 5RC là loại cảm biến trả về các tín hiệu dưới dạng Analog Độ lớn của các tín hiệu này tỉ lệ với độ nằm gần vạch của các cặp thu phát hồng ngoại Cặp thu phát nào càng nằm gần vạch thì tín hiệu analog tương ứng có độ lớn càng cao và ngược lại Từ đó, các ngưỡng lọc trên và lọc dưới được xác định trên thực nghiệm để xét việc cặp thu phát nào nằm trên vạch hay ngoài vạch Các điều kiện trên bảng 2-3 như sau:
{
𝑂, 𝐷𝑖 > 𝛼
𝑋, 𝐷𝑖 < 𝛽
𝑁𝐴, 𝑘ℎô𝑛𝑔 𝑥é𝑡Với:
- Di: Giá trị analog tín hiệu của cặp thu phát thứ i
- 𝛼: Giá trị ngưỡng lọc trên
- 𝛽: Giá trị ngưỡng lọc dưới
Bảng 2-3 Kết quả xác định ngã rẽ và hành vi của robot dựa trên tín hiệu trả về của cảm biến dò line
Cặp thu phát 3
và đi thẳng
Ngã rẽ trái hoặc ngã rẽ trái và đi thẳng Cần đi thêm khoảng 1 inch nếu
Trang 37đọc lại tín hiệu là đường cụt thì rẽ trái Nếu
không phải tức là trường hợp ngã rẽ trái
Trang 38CHƯƠNG 3 XÂY DỰNG CHƯƠNG TRÌNH XỬ LÝ ẢNH VÀ ĐỊNH HƯỚNG CHO MOBILE ROBOT
3.1 Mục đích và nội dung của chương trình
Chương trình xử lý ảnh được viết bằng ngôn ngữ C++ kết hợp với việc sử dụng thư viện OpenCV có mục đích định vị, tìm đường và dẫn hướng cho robot trong quá trình di chuyển theo thời gian thực Để đạt được những mục tiêu đó, chương trình cần phải giải quyết được các nội dung sau:
- Có khả năng tương tác với người sử dụng Người dùng chương trình có thể chọn vị trí đích cho robot bằng cách kích chuột
- Tạo bản đồ và xác định đường đi bằng công nghệ xử lý ảnh, Tìm đường ngắn nhất đến đích theo thuật toán tìm đường
- Định vị robot Chương trình phải có khả năng định vị robot theo thời gian thực để cập nhật vị trí của robot
- Giao tiếp với thiết bị ngoại vi để gửi tín hiệu dẫn hướng cho robot theo thời gian thực
3.2 Ứng dụng công nghệ xử lý ảnh trong luận văn
3.2.1 Tổng quan về xử lý ảnh
Theo [25], Xử lý ảnh hay còn gọi là thị giác máy (Computer Vision) là một lĩnh vực liên quan đến việc xử lý các dữ liệu thu được từ ảnh để giúp máy tính có được các thông tin cần thiết từ ảnh Từ góc nhìn kỹ thuật thì nhiệm vụ của xử lý ảnh là cố gắng tiếp cận với sự tự động hóa mà hệ thống thị giác của con người
có thể thực hiện
Các nhiệm vụ của xử lý ảnh bao gồm thu thập, xử lý, phân tích và hiểu được các loại ảnh, và từ đó trích lọc ra các lớp dữ liệu về thế giới thực để có thể thu được
dữ liệu dạng số Các lĩnh vực con của xử lý ảnh bao gồm tái tạo cảnh, phát hiện
sự kiện, nhận diện vật thể, ước lượng chuyển động Xử lý ảnh được ứng dụng rộng rãi trong nhiều lĩnh vực từ gia đình cho đến công nghiệp Một số ứng dụng của xử lý ảnh có thể được kể đến như:
- Tự động chẩn đoán: Ví dụ trong các lĩnh vực chế tạo
- Trợ giúp con người trong các nhiệm vụ phân loại, nhận diện
- Kiểm soát, điều khiển quá trình: Ví dụ trong lĩnh vực robot công nghiệp
Trang 39- Phát hiện sự kiện Ví dụ: Các lĩnh vực giám sát bằng thị giác hoặc đếm người
- Tương tác Ví dụ: Trong các lĩnh vực hỗ trợ tương tác giữa người và máy
- Mô hình hóa đối tượng hoặc môi trường xung quanh Ví dụ: Trong các lĩnh vực y tế
- Định hướng Ví dụ: Trong các loại phương tiện tự hành hoặc mobile robot 3.2.2 Khai thác thư viện OpenCV để hỗ trợ quá trình xử lý ảnh trong luận văn Luận văn sử dụng thư viện mã nguồn mở OpenCV (Open Source Computer Vision Library) phiên bản 3.2 để hỗ trợ trong quá trình xử lý ảnh Đây là một thư viện có thể được áp dụng khi sử dụng các ngôn ngữ lập trình khác nhau như C++ hay Python
Nhờ có sự trợ giúp của OpenCV, người lập trình có thể thuận tiện và nhanh chóng hơn trong việc xây dựng các chương trình, ứng dụng liên quan đến xử lý ảnh OpenCV bao gồm hơn 2500 thuật toán xử lý ảnh và thuật toán máy học (machine learning) đã được tối ưu Các thuật toán này có thể được sử dụng để nhận diện khuôn mặt, phân biệt vật thể, phân loại hành động của con người, truy bắt chuyển động của vật thể hay giải quyết rất nhiều các bài toán xử lý ảnh và máy học khác
OpenCV chính thức ra mắt vào năm 1999 và tính đến nay, sau nhiều phiên bản được phát hành thì phiên bản chính thức mới nhất là bản 4.3 được phát hành vào ngày 3/4/2020
Hình 3.1 Các module chính trong thư viện OpenCV [25]
Trang 40OpenCV gồm các module chính như trên hình 3.1:
- Module CV hỗ trợ quá trình xử lý ảnh
- Module MLL gồm các công cụ thống kế, phân loại hỗ trợ quá trình máy học (machine learning)
- HighGUI hỗ trợ quá trình tạo giao diện, tương tác với người dùng
- CXCore bao gồm các cấu trúc dữ liệu cơ bản [29]
3.2.3 Một số khái niệm và thuật ngữ quan trọng về xử lý ảnh được sử dụng trong luận văn
- Điểm ảnh (Pixel): Điểm ảnh là đơn vị nhỏ nhất tạo thành ảnh Mỗi ảnh có thể coi như một tập hợp gồm nhiều điểm ảnh Ảnh có độ phân giải càng cao thì sẽ chứa càng nhiều điểm ảnh dù cùng một kích thước Ảnh có độ phân giải càng cao thì độ sắc nét và chi tiết càng gần với thực tế, nhưng khi được xử lý sẽ khiến tốc độ chương trình chậm đi do khối lượng dữ liệu nhiều hơn
- Ảnh số (Digital Image): Đây là các ảnh đã được số hóa nhằm phục vụ quá trình lưu trữ hoặc xử lý , trích xuất dữ liệu Có thể coi ảnh số là một ma trận nhiều chiều chứa dữ liệu đã được số hóa của ảnh
- Không gian màu: Có nhiều cách khác nhau để đánh giá một màu sắc được tạo thành từ những yếu tố nào Và mỗi cách đánh giá, biểu diễn đó là một không gian màu Do đó, cùng một ảnh nhưng có thể có ma trận dữ liệu khác nhau khi lưu trữ ở không gian màu khác nhau Có hai không gian màu cơ bản thường được sử dụng là RGB và HSV Trong không gian màu RGB, mỗi màu sắc cụ thể đều có thể coi như một sự pha trộn kết hợp theo một tỉ lệ nhất định giữa ba màu cơ bản là Đỏ (Red), Lục (Green) và Lam (Blue) [24] Ảnh số thu được trên OpenCV bao giờ mặc định cũng được lưu trên không gian màu này Trong không gian màu HSV thì mỗi màu sắc cụ thể lại được coi như sự kết hợp giữa ba yếu tố là Sắc thái (Hue), Độ bão hòa màu (Saturtion) và Cường độ sáng (Value -Brightness) [26] Trong đó, Hue sẽ quyết định giá trị màu sắc cơ bản, Saturation sẽ quyết định độ đậm nhạt của màu (mức độ có mặt của màu, hay còn gọi là độ bão hòa màu) và giá trị Value sẽ quyết định mức độ sáng tối của màu Việc phân chia theo ba yếu tố như vậy rất thuận lợi trong các ứng dụng liên quan đến việc nhận diện màu sắc, do đó ảnh số ở không gian màu RGB thường được chuyển sang không gian màu HSV