Luận văn 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

ĐẠ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 LUẬN VĂN THẠC SĨ CÔNG NGHỆ KỸ THUẬT CƠ ĐIỆN TỬ HÀ NỘI - 2020 ĐẠ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Ý ẢN

pdf94 trang | Chia sẻ: huong20 | Ngày: 13/01/2022 | Lượt xem: 469 | Lượt tải: 0download
Tóm tắt tài liệu Luận văn 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, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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 i LỜ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 ii LỜ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à Nội, ngày 18 tháng 9 năm 2020 Học viên Trịnh Tuấn Dương iii 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 iv 2.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 v 3.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 vi DANH 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 vii DANH 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 viii ngượ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 ix Phụ 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 1 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 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Ả 2 CHƯƠ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]. 3 1.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 4 sử 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 5 cá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: o Giá thành cao o Một số phương pháp có độ linh động không cao, tại mỗi vị trí cần xác định lại phải gắn một module. o Nhiều phương pháp chỉ giải quyết được bài toán định vị hoặc định hướng, không giải quyết được bài toán chỉ đường. Hình 1.5 Hệ thống định vị bằng sóng radio [17]. Hình 1.6 Hệ thống NFC tags [11]. 6 Hì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]. 7 Đố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 Mobile robots bám vạch vạch Ưu điểm Độ linh động cao vì phạm vi Hoạt động ổn định. hoạt động không bị giới hạn Chi phí thường thấp hơn so với bởi vạch. mobile robots không bám vạch. Nhược điểm Cần kết hợp nhiều loại cảm Độ linh động kém hơn so với biến cũng như các phương mobile robots bám vạch. pháp định hướng để có thể hoạt động ổn định, do đó chi phí thường đắt hơn. 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]. 8 Ngoà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. 9 Hệ 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. 10 CHƯƠ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ừ 11 mộ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ĩn...ong phạm vi cửa sổ lọc, so sánh nó với trọng tâm cửa cửa sổ lọc và tiếp tục trượt cửa sổ lọc đi. Cuối cùng, tâm của cửa sổ lọc sẽ hội tụ tại tâm của tập hợp điểm đã cho. Và như vậy, cuối cùng, cửa sổ lọc thu được có phân phối các điểm là lớn nhất [15]. 3.5.1.2 Thuật toán Camshift Thuật toán Camshift về cơ bản cũng giống như thuật toán meanshift, tức là cũng hoạt động dựa trên nguyên lý tìm cực đại của phân phối xác suất. Nhưng điểm khác biệt quan trọng là kích thước của cửa sổ lọc thay đổi liên tục thích nghi theo kích thước cũng như hướng quay của đối tượng. Đây là điều quan trọng trong thực tế vì đối tượng truy bắt có thể xoay hướng cũng như có kích thước thay đổi do khoảng cách từ đối tượng đến camera thay đổi. Do đó, kích thước 39 của cửa sổ lọc thay đổi thích nghi theo đối tượng sẽ giúp nâng cao độ chính xác của việc truy bắt. Hình 3.12 thể hiện kết quả truy bắt đối tượng cụ thể là chiếc ô tô. Có thể thấy được, khi ô tô tiến gần hơn tới camera thì kích thước của nó cũng lớn hơn. Tuy nhiên, kích thước của cửa sổ lọc (hình chữ nhật màu xanh lá cây) là không thay đổi trong cả quá trình này. Điều này dẫn đến việc thuật toán vẫn truy bắt được đối tượng nhưng dần dần đã lệch khỏi tâm của đối tượng và khiến cho khả năng không truy bắt được đối tượng tăng lên. Trong khi đó, hình 3.13 thể hiện kết quả truy bắt đối tượng bằng thuật toán Camshift. Có thể thấy, vì kích thước của cửa sổ lọc thay đổi thích nghi với kích thước của đối tượng, nên kết quả truy bắt không bị lệch khỏi đối tượng khi đối tượng thay đổi kích thước. 40 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]. 41 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]. 42 3.5.2 Truy bắt robot theo thuật toán Camshift 3.5.2.1 Giới thiệu về histogram Histogram là một phương pháp biểu diễn dữ liệu dưới dạng phân phối. Trong xử lý ảnh, dữ liệu dùng để tạo histogram rất đa dạng, ví dụ có thể là cường độ ảnh xám, hoặc giá trị nào đó trong dải HSV, RGB. Để có thể tạo được histogram thì một dải các bin (các vùng giới hạn dữ liệu) cần phải được tạo. Sau đó, dữ liệu nằm trong dải giá trị của bin nào thì sẽ được thống kê vào bin tương ứng. Tiêu chí để xét việc thống kê, phân loại này phụ thuộc vào mục đích của việc tạo Histogram. Vẽ đồ thị giá trị thống kê theo các bin này thì sẽ thu được biểu đồ histogram. Dữ liệu khi được biểu diễn dưới dạng biểu đồ histogram sẽ cung cấp cho người sử dụng cái nhìn rõ ràng, trực quan hơn về việc phân phối của dữ liệu, từ đó xử lý cho phù hợp. Hình 3.14 Sự thay đổi của Histogram khi dải chia lưới thay đổi [2]. Hình 3.14 cho thấy kết quả của việc tạo Histogram thay đổi theo dải chia lưới. Khi chia làm quá ít dải, kết quả Histogram lập được không cho thấy nhiều ý nghĩa về sự phân bố của dữ liệu. Còn việc chia lưới dày cho kết quả chính xác hơn nhưng có thể sẽ tạo ra nhiều đỉnh cục bộ và giảm đi ý nghĩa về việc đưa ra cái nhìn tổng thể về sự phân bố của dữ liệu. 43 3.5.2.2 Giới thiệu về histogram back projection Back projection là việc sử dụng histogram trong việc tìm thuộc tính liên quan đến histogram đó trong ảnh. Mỗi pixel trên ảnh đầu vào sẽ được thay thế bởi giá trị tương ứng về xác suất của dữ liệu về pixel đó trong histogram đã tạo được. Do đó, back projection có thể dùng để tạo dữ liệu truy bắt trong thuật toán Meanshift và Camshift [13]. Hình 3.15 Ảnh gốc, histogram và backprojection tương ứng [13]. 3.5.2.3 Xác định vị trí và xác định hướng của robot. Thuật toán Camshift có thể được áp dụng để truy bắt robot, từ đó xác định vị trí và hướng của robot [3]. Để có thể áp dụng được thuật toán như trên thì điều quan trọng là tạo ra được dữ liệu cho việc truy bắt (ở đây là các tập hợp điểm để thuật toán tìm phân bố cực đại). Do đó, trên thân robot được đánh dấu bằng hai vùng có màu sắc khác nhau (hình 3.16) thỏa mãn các yêu cầu: - Nếu có nhiều robot hoạt động thì các robot được đánh dấu khác nhau để có thể phân biệt được - Đánh dấu sao cho có thể dựa vào vùng đánh dấu để xác định được hướng của robot. - Việc đánh dấu có thể thực hiện bằng băng dính màu hoặc đèn led trong điều kiện không đủ ánh sáng. 44 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 Từ đó, dữ liệu phục vụ truy bắt thông qua việc tính histogram back projection cho hai vùng này được thực hiện như sau: - Thiết lập ROI để giới hạn phạm vị tính toán trên vùng đánh dấu. - Lọc dải màu và tính histogram. Từ đó, robot sẽ được định vị thông qua việc liên tiếp tính back projection và áp dụng thuật toán camshift cho mỗi vòng lặp của chương trình (hình 3.17). Các giá trị HSV dùng để phân ngưỡng được căn chỉnh để đạt kết quả định vị tốt nhất như hình 3.18. Kết quả cho thấy sau khi chọn được các giá trị HSV thích hợp thì việc phân ngưỡng đạt kết quả rất tốt, nhiễu trên ảnh được loại bỏ rất nhiều. 45 Hình 3.17 Kết quả định vị mobile robot tại một số vị trí khác nhau. 46 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. 3.6 Tìm đường cho robot Có thể phân loại cách giải quyết bài toán tìm đường cho robot theo hai trường hợp như sau: Trường hợp 1: Robot chưa biết trước thông tin của bản đồ. Trong trường hợp này thì bản đồ là đã có, nhưng do không sử dụng cảm biến có thể bao quát được bản đồ như camera, nên thông tin về bản đồ đối với robot coi như là chưa có. Trong trường hợp này thì dựa theo dạng bản đồ mà robot sẽ được lập trình để đi tới đích một cách thủ công hoặc phải được lập trình theo hướng tiến hành chạy dò line. Sau khi đã dò line xong, robot thông qua thuật toán sẽ thu được một đường thích hợp để đi đến đích. Một số thuật toán dò đường phổ biến như sau [30]: - Thuật toán bám theo tường: Thuật toán này được áp dụng với điều kiện là mê cung liền mạch, không bị đứt đoạn. Với mê cung đã thỏa mãn điều kiện trên, robot chỉ cần liên tục bám theo tường trái hoặc tường phải thì có thể đi đến đích. Hình 3.19 Thuật toán tìm đường theo quy tắc bám phải [30]. 47 - Thuật toán Pledge: Phương pháp thực hiện của thuật toán này là sự kết hợp giữa việc bám tường nhưng có xét đến việc đếm góc quay. Nhờ đó, robot có thể đi đến đích (thoát khỏi mê cung) trong các bản đồ phức tạp hơn, như việc robot được đặt ở vị trí xuất phát bên trong nhưng tách hẳn ra khỏi phần còn lại của bản đồ. 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]. Ngoài ra, còn nhiều thuật toán khác có thể được áp dụng để dò đường đi như thuật toán ngẫu nhiên, thuật toán Tremaux, thuật toán lấp kín đường cụt. Tuy nhiên, các phương pháp này tồn nhìn chung tồn tại nhược điểm như sau: - Robot phải tiến hành chạy dò đường. Càng có nhiều cặp vị trí xuất phát và vị trí đích thì việc chạy dò đường càng phải tiến hành nhiều lần. - Với mỗi dạng bản đồ thì người lập trình phải lập trình cho robot theo thuật toán phù hợp nếu không robot có thể không tìm được đường đi. Ngoài ra, kết quả của việc dò đường có thể không cho ra kết quả là đường ngắn hoặc phù hợp nhất. - Nếu lập trình thủ công đường đi cho robot thì khối lượng công việc sẽ tăng lên khi bản đồ phức tạp lên do số lượng vị trí xuất phát, vị trí đích và các ngã rẽ tăng lên. Đồng thời, khi có sự thay đổi về bản đồ thì có thể toàn bộ quá trình này phải thực hiện lại từ đầu. 48 Trường hợp 2: Robot đã biết trước thông tin về bản đồ. Để robot có thể biết trước thông tin về bản đồ thì robot cần phải được trang bị các loại cảm biến có khả năng bao quát môi trường xung quanh như cảm biến Lidar hoặc camera. Trong đó, việc sử dụng một camera gắn ngoài có khả năng bao quát môi trường hoạt động và kết nối không dây với robot là một giải phát rất hiệu quả trong việc thu thập thông tin về bản đồ. Sau khi đã có được thông tin về bản đồ thì các thuật toán tìm đường tự động có thể được áp dụng để tìm đường. Thuật toán tìm đường tự động là các thuật toán giúp tìm đường một cách tự động dựa trên các dữ liệu đã biết. Việc tìm đường tự động này dựa trên việc phân chia bản đồ thành các nút, sau đó áp dụng thuật toán lên các nút này để tìm ra đường đi. Do đó, để áp dụng được thuật toán tìm đường tự động thì dữ liệu về bản đồ phải là đã biết, để từ đó có thể thu thập được thông tin về các nút, ví dụ như nút nào thuộc đường có thể đi, nút nào không thuộc về đường có thể đi. Có nhiều thuật toán tìm đường tự động đã được phát triển như Grass Fire, Greedy Best First Search, Dijkstra hay A* [21]: - Thuật toán Grass Fire: Trong thuật toán Grass Fire, các nút lân cận với nút đang xét sẽ đều được chọn làm nút đang xét kế tiếp, nếu nút lân cận thuộc về vật cản thì bỏ qua không xét. Thuật toán lặp lại cho đến khi nút đích là một trong các nút đang xét. Ưu điểm của thuật toán này là đơn giản, có thể tìm được đường đi ngắn nhất nhưng tốc độ chậm vì số lượng nút phải xét lớn và tăng nhanh khi số lượng nút tăng. - Thuật toán Dijkstra: Ý tưởng của thuật toán là tìm kiếm có lựa chọn. Tức là tại các nút lân cận của nút đang xét thuật toán sẽ ưu tiên chọn ra một nút làm nút đang xét tiếp theo dựa theo giá trị chi phí (cost) từ nút lân cận đó với nút đang xét hiện tại. Nút nào có chi phí này nhỏ nhất sẽ được lựa chọn. Thuật toán Dijkstra phức tạp hơn so với Grass Fire nhưng có tốc độ tìm đường nhanh hơn vì số lượng nút phải xét ít hơn. - Thuật toán Greedy Best First Search: Thuật toán này cũng là một thuật toán tìm kiếm có lựa chọn. Nhưng thay vì ưu tiện lựa chọn giá trị chi phí giữa nút lân cận và nút đang xét thì thuật toán ưu tiên lựa chọn giá trị chi phí ước lượng giữa nút lân cận của nút đang xét so với nút đích (heuristic). Ưu điểm của thuật toán này là tốc độ nhanh hơn so với Dijkstra nhưng nhược điểm là đường tìm ra được có thể không phải là ngắn nhất. - Thuật toán A*: Thuật toán A* có thể coi như một sự kết hợp giữa thuật 49 toán Dijkstra và thuật toán Greedy Best First Search khi nó sử dụng đồng thời cả giá trị chi phí từ nút lân cận so với nút hiện tại và giá trị chi phí ước lượng từ nút lân cận tới nút đích làm tiêu chí lựa chọn nút đang xét tiếp theo. Nhờ đó, thuật toán A* có khả năng tìm đường ngắn nhất như thuật toán Dijkstra, nhưng đồng thời trong phần lớn trường hợp đều có kết quả tìm đường nhanh hơn thuật toán Dijkstra, hình 3.21. 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) [8]. Trong luận văn này, thông tin về bản đồ có thể coi như hoàn toàn biết trước vì đã thu được từ camera. Việc tìm đường cho robot sẽ được diễn ra tự động theo thuật toán A* với các ưu điểm tóm lược như sau: - Việc tìm đường diễn ra hoàn toàn tự động mà không phải phân chia trường hợp thủ công. - Tốc độ tìm đường nhanh. - Robot không cần phải chạy dò đường. - Đường tìm ra được là chính xác và ngắn nhất. 3.6.1 Giới thiệu về thuật toán A* A* là một thuật toán tìm đường được giới thiệu lần đầu vào năm 1968 bởi Peter Hart, Nils Nilsson, và Bertram Raphael. Sau nhiều năm phát triển từ năm 1964 để tăng tốc độ cho thuật toán Dijkstra thì tới năm 1968 thuật toán A* được giới thiệu và chứng minh là thu được hoạt động tối ưu hơn khi sử dụng đánh giá heuristic thích hợp. Thuật toán A* tìm đồng thời tất cả các đường từ nút xuất phát đến khi tìm thấy đích. Trong các đường đó thì A* sẽ ưu tiên các đường có khả năng dẫn đến đích. A* giống với Dijkstra ở chỗ có xét đến khoảng cách đã đi qua. Tuy nhiên, điểm mới của A* là nó còn xét đến giá trị heuristic là khoảng cách tương đối từ các nút đến đích từ đó làm tăng tốc độ của thuật toán [5,8]. 50 3.6.2 Ứng dụng thuật toán A* tìm đường cho robot Sau khi đã chọn được nút đích (đích đến) và nút xuất phát (vị trí xuất phát của robot) thì thuật toán A* được triển khai một cách cơ bản trong luận văn như sau: - Chọn nút xuất phát làm nút đang xét và cho vào danh sách các nút đã xét. - Cập nhật giá trị chi phí so với nút xuất phát G(n) của các nút lân cận với nút đang xét. Việc cập nhật chi phí phải thỏa mãn điều kiện: Nút lân cận đang xét chưa nằm trong danh sách các nút đã xét và chi phí vừa tìm được nhỏ hơn chi phí trước đó của nút này. Nếu chi phí được cập nhật thì gán nút đang xét là nút mẹ của nút lân cận đang xét. Nếu trong quá trình quét nút lân cận phát hiện nút đích là nút lân cận thì cập nhật giá trị nút mẹ của nút đích và dừng việc cập nhật chi phí nút lân cận. - Tiến hành quét chọn nút mới làm nút đang xét từ danh sách các nút chưa được xét dựa theo giá trị chi phí F(n): F(n) = G(n) + alpha*H(n) Trong đó: G(n) là chi phí từ nút xuất phát cho đến nút lân cận đang xét, H(n) là giá trị chi phí ước lượng từ nút lân cận của nút đang xét đến nút đích. Tăng trọng số của H(n) lớn hơn giá trị thực từ nút đó đến nút đích thì sẽ làm tăng tốc độ tìm đường nhưng làm giảm độ chính xác của kết quả thu được. Trong khi đó, giảm trọng số của H(n) làm tăng độ chính xác của đường tìm được nhưng lại làm giảm tốc độ của chương trình, vì số nút phải xét nhiều hơn. Nếu alpha*H(n) nhỏ hơn chi phí chính xác từ nút đó đến đích để đảm bảo thuật toán có thể tìm được đường chính xác. - Sau khi dừng vòng lặp, tạo một vector chứa các điểm để lưu thông tin về đường vừa tìm được [8]. 3.1 Dẫn hướng cho robot Chương trình xử lý ảnh sẽ dẫn hướng cho robot để đi đến đích thông qua việc gửi dữ liệu điều khiển. Dữ liệu điều khiển được gửi từ chương trình xử lý ảnh qua giao tiếp Serial đến module phát, và module phát này sẽ tiếp tụ gửi dữ liệu điều khiển qua giao tiếp sóng radio đến robot. Về cơ bản để mobile robot đi đến đích vừa thỏa mãn yêu cầu bám vạch trơn tru, vừa kết hợp nhận lệnh điều khiển từ chương trình trên máy tính để bỏ bám vạch khi cần thiết hoặc thực hiện các hành vi khác thì chương trình xử lý ảnh sẽ gửi xuống cho robot các dữ liệu điều khiển như sau: 51 - Một byte chứa lệnh điều khiển cho phép robot di chuyển hay dừng. Lệnh điều khiển này là kết quả của một loạt điều kiện như vị trí giữa robot so với nút đích, chương trình còn nhận dạng được robot không, hay yêu cầu dừng robot đột ngột từ người dùng chương trình. - Một byte chứa góc giữa hướng của robot và hướng đường cần đi. Hướng của robot được xác định thông qua việc nhận diện hai điểm trên robot, còn hướng đường cần đi được lấy từ hai điểm thuộc đường đi trong tập các điểm thuộc đường đi đã được xác định bằng thuật toán A*. Robot kết hợp hai bytes này với dữ liệu từ cảm biến dò line là đã đủ điều kiện cần để di chuyển được đến đích. 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. Các kết quả thử nghiệm tìm đường, định vị và dẫn hướng cho robot tại các vị trí khác nhau được thể hiện ở các hình 3.22 đến 3.29. Kết quả thu được cho thấy đường được tìm chính xác, robot được dẫn hướng theo thời gian thực để có thể đi đến đích. 52 3.2.1 Kết quả lần thử nghiệm 1 Hình 3.22 Kết quả tìm đường của lần thử nghiệm 1. 53 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. 54 3.2.2 Kết quả thử nghiệm lần 2 - Vị trí của robot, vị trí được chọn làm đích và kết quả tìm đường tương ứng được thể hiện trên hình 3.24. - Kết quả dẫn hướng cho robot theo thời gian thực được thể hiện trên hình 3.25. Hình 3.24 Kết quả tìm đường lần thử nghiệm 2 55 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. 56 3.2.3 Kết quả thử nghiệm lần 3 - Vị trí của robot, vị trí được chọn làm đích và kết quả tìm đường tương ứng được thể hiện trên hình 3.26. - Kết quả dẫn hướng cho robot theo thời gian thực được thể hiện trên hình 3.27. Hình 3.26 Kết quả tìm đường của lần thử nghiệm 3. 57 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. 58 3.2.4 Kết quả thử nghiệm lần 4 - Vị trí của robot, vị trí được chọn làm đích và kết quả tìm đường tương ứng được thể hiện trên hình 3.28. - Kết quả dẫn hướng cho robot theo thời gian thực được thể hiện trên hình 3.29. Hình 3.28 Kết quả tìm đường lần thử nghiệm 4 59 Hình 3.29 Kết quả dẫn hướng theo thời gian thực lần thử nghiệm thứ 4. 60 KẾT LUẬN Mobile robots nói chung và mobile robots bám vạch nói riêng ngày càng phổ biến và có vai trò quan trọng trong cuộc sống. Do đó, những nghiên cứu thuộc lĩnh vực này rất thiết thực và có tính ứng dụng cao. Luận văn về cơ bản đã thiết kế, chế tạo một mobile robot bám vạch được dụng công nghệ xử lý ảnh để giải quyết được đồng thời bài toán định vị, tìm đường và dẫn hướng cho robot. Kết quả đạt được: Một số kết quả cụ thể luận văn đã đạt được như sau: - Ứng dụng công nghệ in 3D trong việc thiết kế, chế tạo phần khung, vỏ cho mobile robot. - Thiết kế, chế tạo một mobile robot bám vạch ổn định, có khả năng nhận lệnh điều khiển theo thời gian thực từ chương trình xử lý ảnh qua giao tiếp không dây. - Xây dựng một chương trình xử lý ảnh sử dụng ảnh thu trực tiếp từ camera. Chương trình áp dụng một số công nghệ xử lý ảnh để lập bản đồ, định vị robot, tìm đường cho robot theo thuật toán tìm đường A*. Chương trình gửi lệnh điều khiển theo thời gian thực qua giao tiếp không dây để dẫn hướng cho robot trong quá trình hoạt động. Hướng tiếp cận của luận văn có những ưu điểm mới so với cách điều khiển mobile robot bám vạch truyền thống như sau: - Robot không cần tiến hành quá trình dò đường để tìm đường. - Người sử dụng có thể tùy ý chọn đích đến cho robot nhờ kích chuột lên ảnh thu được từ camera, từ đó nâng cao tính tương tác giữa người sử dụng và robot. - Robot không cần hệ thống đánh dấu trên vạch để định vị, và ký hiệu vị trí cần đến. Nhờ sử dụng camera gắn ngoài, robot được chương trình xử lý ảnh định vị nên có thể di chuyển đến vị trí bất kỳ trên bản đồ mà không cần đánh dấu trên đường. Điều này làm tăng độ linh hoạt khi hoạt động của robot. - Robot không cần được lập trình đường đi một cách thủ công. Đường đi của robot đến vị trí đích bất kỳ được tìm tự động bằng việc kết hợp công nghệ xử lý ảnh và thuật toán tìm đường A*. Đây là ưu điểm lớn xét trên khía cạnh của người sử dụng. Nếu như hệ thống bản đồ thay đổi, người sử 61 dụng không cần thuê chuyên gia lập trình lại đường đi cho robot, mà đường đi luôn được tìm tự động nhờ chương trình. Hướng phát triển: Tuy nhiên, từ nghiên cứu đến thực tế có một khoảng cách rất lớn. Một số hướng phát triển dưới đây cần được nghiên cứu để có thể nâng cao tính ứng dụng của luận văn: - Cần xử lý đầu vào từ nhiều camera hoặc chương trình phải có tính liên kết để từ đó tăng phạm vi hoạt động của mobile robots. - Cải tiến thuật toán tìm đường để có thể tìm đường hiệu quả khi có nhiều robots cùng hoạt động. - Nâng cấp chương trình xử lý ảnh để hoạt động trong những môi trường ánh sáng không ổn định. - Ứng dụng các công nghệ mới như deep learning trong việc nhận dạng robots hoặc nhận diện đường đi. - Tùy thuộc vào ứng dụng cụ thể mà trang bị thêm các tính năng cho robot và chương trình xử lý ảnh. 62 DANH MỤC CÔNG TRÌNH KHOA HỌC CỦA TÁC GIẢ LIÊN QUAN ĐẾN LUẬN VĂN Trịnh Tuấn Dương (2020), “Ứng dụng xử lý ảnh trong việc định vị, tìm đường và dẫn hướng cho các phương tiện tự hành bám vạch”, Kỷ yếu Hội nghị khoa học giảng viên khoa cơ khí và doanh nghiệp, Khoa Cơ khí – Trường Đại học Giao thông Vận tải, tr. 95-102. 63 TÀI LIỆU THAM KHẢO Tài liệu tiếng Anh [1]: Abdul Hannan Shaukat (2013), “A Localization Algorithm Using IR Receivers and LEDs for a Line Following Robot”, International Journal of Engineering Research and Reviews (IJERR), Vol. 1, Issue 1, pp. 1-4. [2]: Adrian Kaehler, Gary Bradski (2008), Learning Open CV, O’Reilly Media, pp.1-40. [3]: Chaoli Wang, Zhenyu Fu (2014), “A new way to detect the position and orientation of the wheeled mobile robot on the image plane”, IEEE International Conference on Robotics and Biomimetics. [4]: Faheem Zafari, Athanasios Gkelias, Kin K. Leung (2019), “A Survey of Indoor Localization Systems and Technologies”, IEEE Communications Surveys & Tutorials, Vol. 21 , (Issue 3). [5]: Hart, P. E.; Nilsson, N. J.; Raphael, B. (1968), “A Formal Basis for the Heuristic Determination of Minimum Cost Paths”, IEEE Transactions on Systems Science and Cybernetics, Vol. 4, (2), pp. 100–107. [6]: Kittler, Josef & Illingworth, John (1985), “On threshold selection using clustering criteria”. IEEE Transactions on Systems, Man and Cybernetics, Vol. 15, (5), pp. 652–655. [7]: Tarneem Omar Barayyan, Enayyah Mohammed Barnawi, “Enhanced Line Follower Robot Using IR coding as an Artificial Landmark”, Conf- scoop.org. Tài liệu tiếng Việt [8]: Trịnh Tuấn Dương (2019), “Tìm đường cho Mobile robots dựa trên việc tìm đường biên và áp dụng thuật toán A*”, Cơ khí Việt Nam, số 3. Tài liệu tham khảo khác [9]: Arduino Uno datasheet. [10]: DC GA25 datasheet. [11]: Intorobotics.com, 5 Cheap Methods For Indoor Robot Localization: BLE Beacon, AprilTags, WiFi SubPos, NFC and RFID. 64 [12]: Nordic semiconductor, NRF24L01 datasheet. [13]: Opencv.org, Back projection tutorial. [14]: Opencv.org, Eroding and dilating. [15]: Opencv.org, Mean-shift tutorial. [16]: Popolu.com, QTR sensor. [17]: Robotshop.com, Indoor localization. [18]: Roboteq.com, Magnetic guide sensors. [19]: Sciencenorway.no, Making robots work out where they are and where they are going. [20]: ST microelectronic, L298N datasheet. [21]: Theory.stanford.edu, Introduction to A*. [22]: Wikipedia.org, 3D printing. [23]: Wikipedia.org, AGV. [24]: Wikipedia.org, Color spaces with RGB primaries. [25]: Wikipedia.org, Computer Vision. [26]: Wikipedia.org, HSL and HSV. [27]: Wikipedia.org, Mobile Robot. [28]: Wikipedia.org, OpenCV. [29]: Wikipedia, Serial peripheral interface. [30]: Wikipedia, Thuật toán tìm đường đi trong mê cung. 65 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 Phụ lục 1. 1 Môi trường thử nghiệm hoạt động của robot. 66 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. 67 Phụ lục 1. 3 Góc nhìn chéo về Robot. 68 Phụ lục 1. 4 Mặt bên của Robot. 69 Phụ lục 1. 5 Mặt lưng của Robot. 70 Phụ lục 1. 6 Mặt sau của robot. 71 Phụ lục 1. 7 Mặt đáy của Robot. 72 PHỤ LỤC 2: CÔNG TRÌNH KHOA HỌC CỦA TÁC GIẢ LIÊN QUAN ĐẾN LUẬN VĂN Hội nghị khoa học giảng viên khoa cơ khí và doanh nghiệp Khoa cơ khí - Trường Đại học Giao thông Vận tải, năm 2020 MỤC LỤC 1. NGUYỄN VĂN CƢỜNG, Ảnh hƣởng của một số thông số công nghệ đến sai lệch kích thƣớc đƣờng kính và độ không tròn của bề mặt lỗ khi gia công tia lửa điện ................................................................................................................... 3 2. PHẠM VĂN TIẾN, Nghiên cứu cơ sở lý thuyết tổ hợp chỉnh lƣu 12 đập mạch trong hệ thống cấp điện kéo cho đoàn tàu đƣờng sắt đô thị ............... 10 3. NGUYỄN THÀNH CÔNG, Nghiên cứu ứng dụng phần mềm Solidwork xây dựng phƣơng pháp thiết kế nhanh khung xƣơng xe khách............................ 19 4. PHẠM HUY KHƢƠNG, Thiết kế tổng thể hệ thống hãm toa xe khách cao cấp vận hành tin cậy đến tốc độ 120 km/h ......................................................... 27 5. NGUYỄN ĐỨC TOÀN, Tính toán độ bền má giá của giá chuyển hƣớng toa xe hàng có mui bằng phần mềm sap2000 ........................................................... 35 6. NGUYỄN QUANG CƢỜNG, NGUYỄN VĂN ANG, NGUYỄN THIẾT LẬP, Phân tích rung động khung vỏ ô tô con có kể đến kích thích của động cơ ........................................................................................................................ 43 7. NGUYỄN VĂN HÀO, Nghiên cứu ảnh hƣởng của thông số hàn đến độ bền kéo và khảo sát cấu trúc tế vi của liên kết hàn ma sát khuấy tấm hợp kim nhôm 5052-O ............................................................................................................. 51 8. VŨ DUY ĐỨC, Phƣơng pháp tối ƣu đƣờng chạy dao mới đối với quá trình phay các bề mặt dạng tự do trên máy phay 3 dựa trên việc xác định các khoảng gia công hiệu quả ....................................................................................... 58 9. LÊ TOÀN THẮNG, Nghiên cứu thực nghiệm đánh giá hiệu quả của cánh tay rô bốt bị động cho công việc nâng vật trên cao .......................................... 67 10. PHẠM VĂN KHÁ, Nghiên cứu mô phỏng các thông số hoạt động của hệ thống hơn bằng phần mềm Enginnering Equation Solver (EES) ................. 75 11. ĐỖ KHẮC SƠN, Mô phỏng ảnh hƣởng của các thông số đến quá trnh làm việc của pin nhiên liệu trên ô tô ............................................................................ 82 12. VŨ XUÂN THIỆP, Mô phỏng và xác định hệ số nạp động cơ diesel 1 xylanh ...................................................................................................................................... 89 13. TRỊNH TUẤN DƢƠNG, Ứng dụng xử lý ảnh trong việc định vị, tm đƣờng và dẫn hƣớng cho các phƣơng tiện tự hành bám vạch .................................... 95 1 Hội nghị khoa học giảng viên khoa cơ khí và doanh nghiệp Khoa cơ khí - Trường Đại học Giao thông Vận tải, năm 2020 14. NGUYỄN QUANG MINH, PHẠM ANH TUẤN, ây dựng mô hnh l thuyết tính toán động học cho cánh tay công tác trên máy kıểm tra cầu . 103 15. NGUYỄN THỊ THÙY DUNG, Nghiên cứu quá trnh ngƣng của dòng lƣu chất ở chế độ hình xuyến...................................................................................... 113 16. NGUYỄN CAO VĂN, Nghiên cứu ảnh hƣởng của tỷ lệ biodiesel và thời điểm phun tới đặc tính cháy và phát thải trên động cơ diesel ..................... 119 2 Hội nghị khoa học giảng viên khoa cơ khí và doanh nghiệp Khoa cơ khí - Trường Đại học Giao thông Vận tải, năm 2020 ỨNG DỤNG XỬ LÝ ẢNH TRONG VIỆC ĐỊNH VỊ, TÌM ĐƢỜNG VÀ DẪN HƢỚNG CHO CÁC PHƢƠNG TIỆN TỰ HÀNH BÁM VẠCH Application of computer vision in line follower automated guided vehicle localization and navigation TRỊNH TUẤN DƢƠNG Bộ môn Kỹ thuật máy - Khoa Cơ khí Trường Đại học Giao thông vận tải Tóm tắt: Báo cáo trình bày kết quả áp dụng công nghệ xử lý ảnh và thuật toán tìm đường trong việc giải quyết bi ton định vị, tm đường và dẫn hướng theo thời gian thực cho cc phương tiện tự hành bám vạch. Kết quả của báo cáo mang tới một giải pháp hoàn chỉnh cho bi ton định vị, tm đường, dẫn hướng đồng thời giúp cho cc phương tiện tự hành bám vạch c độ linh hoạt cao hơn trong chuyển động. Summary: The report presents the results in applying computer vision and planning algorithm to localize and navigate line follower AGV (automated guided vehicle). The results of this research provide a complete solution for AGV localization and navigation; and those results also assist the AGV in motion flexibility. 1. ĐẶT VẤN ĐỀ Ngày nay, trong sản xuất ng nhƣ uộc sống, AGV (tên gọi hung ho á phƣơng tiện tự hành, các robot tự hành ni hung và phƣơng tiện tự hành dạng bám vạch nói riêng ngày càng ph biến và có một vai trò ngày càng quan trọng hơn. Hình 1. Một vài AGV dạng bám vạh đang làm việc. Đối với các loại phƣơng tiện này thì định vị và tìm đƣờng, dn hƣớng là các bài toán rất quan trọng, ảnh hƣởng trực tiếp đến quá trình hoạt động. Đối với các AGV hoạt động ngoài trời thì phƣơng pháp đƣợc sử dụng ph biến và hiệu quả đ định vị (outdoor localization) là GPS. Trong khi đ, tn hiệu GPS thƣờng rất yếu trong mi trƣờng nhà kín, nên khng đƣợc sử dụng đ định vị ho á phƣơng tiện hoạt động trong nhà. Do đ, ài toán định vị ho á phƣơng tiện hoạt động trong nhà phức tạp hơn và hiện có một số công nghệ có th áp dụng nhƣ: Wifi, luetooth, Zigee, RFID, Aousti signal, Ultrasound,[4]. Tuy nhin, 95 Hội nghị khoa học giảng viên khoa cơ khí và doanh nghiệp Khoa cơ khí - Trường Đại học Giao thông Vận tải, năm 2020 á phƣơng pháp này th tn tại nhƣợ đim là giá thành cao, hoc mới chỉ giải quyết bài toán định vị chứ hƣa th giải quyết đng thời ài toán tìm đƣờng. Riêng đối với các AGV bám vạh thì đ định vị, tại các vị trí cần định vị sẽ sử dụng thêm mã hóa IR [7] hoc LED [1] đ làm dấu. Tuy nhin, nhƣợ đim của phƣơng pháp này là hỉ áp dụng trong mi 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 2. Hệ thống đánh dấu cho một AGV bám vạch. Tận dụng sự có mt ngày càng ph biến của amera, áo áo này đƣa ra một cách giải quyết đng thời ài toán định vị, tìm đƣờng và dn hƣớng cho AGV dạng bám vạch nhờ công nghệ xử lý ảnh. Ƣu đim của phƣơng pháp là hi ph thấp (chỉ cần amera và hƣơng trình trn máy tnh, tăng độ linh hoạt trong việc chuyn động, vận hành của phƣơng tiện (tìm đƣờng và dn hƣớng theo thời gian thực nhanh chóng và chính xác, có th đi tới mọi vị trí trên bản đ mà không cần phải thêm dấu trên bản đ hay thêm các cảm biến khác). 2. XÂY DỰNG HỆ THỐNG THỬ NGHIỆM VÀ LẬP BẢN ĐỒ SỐ 2.1. Nguyên lý hoạt động của hệ thống Hệ thống ao gm á thành phần, và nguyn l hoạt động nhƣ hình . Trong đ, một amera gắn ngoài, phù hợp nhất là treo trn trần hƣớng xuống có nhiệm vụ thu thập hình ảnh và gửi về cho phần mềm xử lý ảnh trên máy tính. Phần mềm xử lý ảnh sẽ thực hiện các nhiệm vụ lin quan đến tạo bản đ, định vị và tìm đƣờng cho robot ri gửi dữ liệu đến module phát

Các file đính kèm theo tài liệu này:

  • pdfluan_van_nghien_cuu_thiet_ke_che_tao_mobile_robot_tu_hanh_ti.pdf