ĐẠ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
94 trang |
Chia sẻ: huong20 | Ngày: 13/01/2022 | Lượt xem: 711 | Lượt tải: 0
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á tr nh 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ị, t m đƣờ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ô h nh 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á tr nh 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 b i to n định vị, t m đường và dẫn hướng theo thời gian thực cho
c c 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 b i to n định vị, t m đường, dẫn hướng đồng thời giúp cho c c 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 n i 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, d n 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 đ , t n hiệu GPS thƣờng rất yếu trong m i trƣờng nhà kín, nên
kh ng đƣợ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, Zig ee, RFID, A ousti signal, Ultrasound, [4]. Tuy nhi n,
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 t n tại nhƣợ đi m là giá thành cao, ho c 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] ho c LED [1]
đ làm dấu. Tuy nhi n, nhƣợ đi m của phƣơng pháp này là hỉ á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 2. Hệ thống đánh dấu cho một AGV bám vạch.
Tận dụng sự có m t 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à d n hƣớng cho AGV dạng bám vạch nhờ công
nghệ xử lý ảnh. Ƣu đi m của phƣơng pháp là hi ph thấp (chỉ cần amera và hƣơng trình
tr n máy t nh , tăng độ linh hoạt trong việc chuy n động, vận hành của phƣơng tiện (tìm
đƣờng và d n 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 g m á thành phần, và nguy n l hoạt động nhƣ hình . Trong
đ , một amera gắn ngoài, phù hợp nhất là treo tr n 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ụ li n quan đến tạo bản đ , định vị và tìm đƣờng cho robot r i gửi dữ liệu đến
module phát
Các file đính kèm theo tài liệu này:
- luan_van_nghien_cuu_thiet_ke_che_tao_mobile_robot_tu_hanh_ti.pdf