SlideShare a Scribd company logo
1 of 95
ĐẠ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
TẢI MIỄN PHÍ KẾT BẠN ZALO:0917 193 864
DỊCH VỤ VIẾT LUẬN VĂN CHẤT LƯỢNG
WEBSITE: LUANVANTRUST.COM
ZALO/TELEGRAM: 0917 193 864
MAIL:
BAOCAOTHUCTAPNET@GMAIL.COM
LUẬN VĂN THẠC SĨ
CÔNG NGHỆ KỸ THUẬT CƠ ĐIỆN TỬ
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
---------------

---------------
TRỊNH TUẤN DƯƠNG
NGHIÊN CỨU, THIẾT KẾ, CHẾ TẠO MOBILE
ROBOT TỰ HÀNH TÍCH HỢP MỘT SỐ CÔNG
NGHỆ XỬ LÝ ẢNH VÀ THUẬT TOÁN HIỆN ĐẠI
Ngành: Công nghệ kỹ thuật cơ điện tử
Chuyên ngành: Kỹ thuật cơ điện tử
Mã số:8520114.01
LUẬN VĂN THẠC SĨ
CÔNG NGHỆ KỸ THUẬT CƠ ĐIỆN TỬ
NGƯỜIHƯỚ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ày18 tháng 9 năm 2020
Học viên
TrịnhTuấ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ày18 tháng 9 năm 2020
Học viên
TrịnhTuấ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 robotbằ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.5Module điều khiển động cơ L298 ...................................................... 20
2.4.6Thiế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 đíchvà 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.1Tổng quan về xử lý ảnh ..................................................................... 27
3.2.2Khai thác thư viện OpenCV để hỗ trợ quá trình xử lý ảnh trong luận
văn. ............................................................................................................ 28
3.2.3Mộ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.3Xâ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.3Thu nhỏ kích thước vạch ................................................................... 35
3.4.4Chia 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.2Truy bắt robot theo thuật toán Camshift ............................................42
3.6 Tìm đường cho robot ............................................................................... 46
3.6.1Giớ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 robottheo 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 robottrong luận văn và các robotbá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 robotdự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 robotbá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 Robottự 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 robottheo 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 robottheo 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 robottheo 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 robotdạ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
robotdạ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ề robottự 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òntồ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, đốitượ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à đốitượ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 chomộ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ôngnghệ 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ĩnh vực khác nhau như:
- Thời trang
- Giáo dục, nghiên cứu
- Xây dựng
- Giao thông
- Quân sự
- Y tế
-
- Hình 2.1 Một mô hình đang được in theo công nghệFDM [22].
Có nhiều công nghệ khác nhau được phát triển để có thể in 3D, ví dụ như FDM,
SLA, SLS. Trong đó, công nghệ FDM ( fused deposition modeling – tạo mô
hình bằng cách hợp nhất lắng đọng) được sử dụng phổ biến hơn cả, chiếm tới
12
46% theo thống kê năm 2018 [22]. Công nghệ này tuy ra đời sau, nhưng có ưu
điểm là giá thành rất rẻ nên có độ phổ biến cao, và đây cũng là công nghệ được
lựa chọn để chế tạo phần khung vỏ cho mobile robot trong luận văn.
2.2.1.1 Quy trình tạo mẫu theo công nghệin 3D FDM:
- Tạo mô hình 3D: Mô hình 3D có thể được tạo bằng cách thiết kế trên các
phần mềm chuyên dụng hoặc thông qua việc quét mẫu bằng máy quét
laser (laser scanner).
- Tạo file in 3D: Đây là quá trình tạo file để nạp trực tiếp vào máy in 3D.
Quá trình này bản chất là nhằm chia mô hình ra thành từng lớp để có thể
in 3D (slicing) được thực hiện dưới sự trợ giúp của các phần mềm chuyên
dụng. Trong quá trình này, việc thiết lập các thông số, ví dụ như độ rỗng,
nhiệt độ in, tốc độ in sẽ ảnh hưởng trực tiếp đến chất lượng vật thể in 3D
được tạo thành.
- In 3D vật thể: Trong quá trình này, máy in 3D sẽ in từng lớp xếp chồng
lên nhau để tạo thành vật thể. Theo đó, vật liệu được sử dụng có thể là các
sợi nhựa PLA hay ABS sẽ được kéo và làm nóng chảy khi đi qua module
sinh nhiệt. Sau đó, theo sự di chuyển của đầu phun sẽ được in ra thành
từng lớp xếp chồng lên nhau. Các lớp này trong quá trình nguội đi sẽ liên
kết với nhau và tạo thành vật thể.
- Hậu xử lý: Đây là quá trình loại bỏ các phần nâng đỡ vật thể trong quá
trình in (support) hoặc đánh bóng vật thể theo nhiều phương pháp khác
nhau để vật thể đạt độ bóng hoặc độ thẩm mỹ mong muốn.
2.2.1.2 Ưu, nhược điểm của công nghệ in 3D FDM:
Công nghệ in 3D FDM có một số ưu, nhược điểm chính như được trình bày tại
bảng 2-1.
Bảng 2-1 Một vài ưu, nhược điểm của công nghệin 3D FDM.
Ưu điểm - Giá thành rẻ.
- Nguyên liệu sử dụng đa dạng.
- Độ phổ biến cao nên dễ tiếp cận.
- Thíchhợp cho quá trình tạo mẫu.
Nhược điểm - Thời gian in rất lâu.
- Các máy giá rẻ chỉ in được các vật liệu dễ nóng chảy như
13
PLA.
- Việc thiết kế mô hình và thiết lập các thông số ảnh hưởng
lớn đến chất lượng mô hình, do đó yêu cầu kinh nghiệm
của người sử dụng.
- Không phù hợp cho quá trình sản xuất hàng loạt.
2.2.2 Thiết kế, chế tạo khung vỏ của robot bằng công nghệ in 3D FDM.
Mobile robotđược thiết kế để đảm bảo các yêu cầu sau:
- Dễ dàng tháo lắp.
- Sắp xếp hợp lý các bộ phận.
- Tiện lợi trong quá trình sử dụng.
- Đủ độ cứng vững.
- Có tính thẩm mỹ.
Dựa trên các yêu cầu trên, mô hình 3D của robotđược thiết kế như hình 2.2 và
2.3 và được hoàn thiện như trên hình 2.4.
Hình 2.2 Mặt trước mô hình 3D mobile robot.
14
Hình 2.3 Mặt sau mô hình 3D của mobile robot.
Hình 2.4 Mô hình mobile robot hoàn thiện.
15
2.3 Thiết kế mạch nguyên lý cho mobile robot
Mạch nguyên lý của hệ thống được thiết kế như hình 2.5. Trong đó bao gồm 2
module chính:
- Module truyền dữ liệu gồm 1 board Arduino và 1 chip NRF24L01+.
Chương trình xử lý ảnh sẽ gửi dữ liệu tới mobile robot qua module truyền
dữ liệu.
- Module nhận dữ liệu chính là mobile robot, gồm 1 chip Arduino, các cảm
biến, nguồn, động cơ, module L298 và 1 module NRF24L01+.
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.
2.4 Thiết lập chế độ làm việc cho các linh kiện
2.4.1 Arduino Uno
Board Arduino Uno được trọn làm bộ điều khiển trung tâm của robot. Board
Arduino Uno được phát triển để hỗ trợ cho việc học tập, nghiên cứu, và các dự
án tạo mẫu (phát triển các sản phẩm thử nghiệm). Board có các đặc tính kỹ thuật
để đáp ứng cho mục đích của luận văn như:
16
- Tần số làm việc cao: 16MHz
- Bộ nhớ flash: 32 KB
- Số lượng chân vào ra số:14 (6 chân có thể tạo xung PWM)
- Số lượng chân tương tự: 6
- Hỗ trợ các giao tiếp SPI, I2C, Serial [9].
Arduino Uno sẽ thực hiện các nhiệm vụ chính sau:
- Đọc tín hiệu từ cảm biến dò line.
- Giao tiếp với module NRF24L01 để truyền và nhận dữ liệu.
- Điều khiển hoạt động của robotdựa trên dữ liệu từ cảm biến dò line và dữ
liệu nhận được qua giao tiếp không dây.
- Xuất tín hiệu ra module L298 để điều khiển động cơ.
Hình 2.6 Board Arduino Uno [9]
2.4.2 QTR – 5RC
Để robot có thể bám đường thì các cảm biến hồng ngoại được sử dụng rất phổ
biến do đặc điểm của đường dạng vạch (line) thường là nền đen vạch trắng hoặc
nền trắng vạch đen. Tia hồng ngoại bị hấp thụ gần như hoàn toàn trên nền đen và
bị phản xạ gần như hoàn toàn trên nền trắng giúp cho cảm biến hồng ngoại gần
như là lựa chọn đơn giản và hiệu quả nhất khi muốn robot bám theo vạch. Có rất
nhiều loại cảm biến hồng ngoại được sản xuất để sử dụng trong các ứng dụng
khác nhau ví dụ như các cảm biến hồng ngoại tiệm cân hay các cảm biến
17
PIR. Trong số đó, QTR-RC là một loại cảm biến hồng ngoại được sản xuất để
phục vụ việc dò line với các đặc điểm như gồm nhiều cặp led thu phát và giá trị
trả về là liên tục. Một vài thông số của cảm biến như sau:
Hình 2.7 Cảm biến QTR - 5RC [16].
- Điện áp sử dụng: 3.3~5VDC
- Dòng tiêu thụ: <70mA
- Khoảng cách tốt nhất với bề mặt đường là 4mm, tối đa 7mm
- Kích thước nhỏ gọn: 69x12mm
Nguyên lý hoạt động: Cảm biến gồm 5 cặp thu phát (Led và quang trở) được bố
trí cách đều nhau. Nguyên lý làm việc của mỗi cặp thu phát như sau: Kể từ khi
có tín hiệu phát từ Led, thời gian suy giảm điện áp trên quang trở sẽ tỉ lệ với
mức độ phản xạ của tia hồng ngoại xuống nền. Thời gian suy giảm càng nhanh
thì mức đô phản xạ càng lớn và ngược lại. Phương thức đo này có những ưu
điểm như sau:
- Không cần dùng đến phương pháp biến đổiADC
- Có khả năng thực hiện phép đo song song cho nhiều cặp cảm biến.
- Việc đọc song songkhiến cho khả năng sử dụng các Led được tối ưu hơn.
Vậy, để đọc được dữ liệu từ một cặp thu phát trên cảm biến này thì phải thực
hiên các bước như sau:
- B1: Bật IR Led
- B2: Thiết lập chân I/O.
- B3: Chờ tối thiểu 10 us để điện áp lên mức cao.
18
- B4: Thiết lập chân I/O là đầu vào.
- B5: Đo thời gian suy giảm điện áp trên chân I/O
- B6: Tắt IR Led
Với mức độ phản xạ mạnh thì thời gian suy giảm tín hiệu có thể chỉ là vài chục
us. Trong khi với mức độ phản xạ yếu thì thời gian này có thể lên đến vài ms
[16].
2.4.3 Module thu phát sóng Radio nRF24L01
Module NRF24L01 được sử dụng để truyền nhận dữ liệu giữa module phát và
module thu trên mobile robot. Trong đó, nRF24L01 là chip thu phát sóng radio
ở dải tần 2.4-2.5 GHz do hãng Nordic Semiconductor sản xuất. Chip này có thể
được thiết lập để hoạt động ở nhiều chế độ và có mức tiêu thụ năng lượng thấp.
Hình 2.8 Module thu phátsóng radio NRF24L01[12].
Một số đặc điểm của module NRF24L01 [12]:
- Khoảng cách thu phát lên đến 100 m với địa hình ít vật cản.
- Có khả năng truyền nhận tín hiệu 2 chiều (vừa đóng vai trò module phát và
module thu được cùng một lúc).
- Tần số thu phát sóng radio: 2.4Ghz
- Giao tiếp với vi điều khiển thông qua giao tiếp SPI
Trong luận văn, các module NRF24L01 sẽ được thiết kế để thực hiện giao tiếp
một chiều với nhau, và giao tiếp với Arduino Uno thông qua giao tiếp SPI.
19
2.4.4 Động cơ DC
Hình 2.9 Động cơ DC GA25 [10]
Động cơ được trang bị cho robot là động cơ DC. Đây là loại động cơ chạy bằng
dòng điện một chiều, tốc độ và chiều quay của động cơ có thể được thay đổi
thông qua chiều và cường độ điện áp đặt lên hai cực của động cơ. Khi so sánh
với các loại động cơ khác như động cơ bước, hay động cơ RC servo thì động cơ
DC là phù hợp nhất đối với mobile robot. Mobile robot trong luận văn có khối
lượng nhỏ và không có yêu cầu nào về chịu tải nên không cần sử dụng động cơ
có công suất lớn. Do đó, động cơ DC được chọn chỉ cần thỏa mãn các yêu cầu
sau:
- Công suất trung bình.
- Điện áp làm việc trong khoảng nguồn cấp bằng pin của robot là 12V.
- Giá thành thấp.
Từ đó, động cơ DC GA25 được chọn với một vài thông số cơ bản như sau [10]:
- Điện áp hoạt động: 3 – 12 Volt DC
- Tỉ số truyền hộp giảm tốc:1:34
- Số xung của encoder: 374 xung/ vòng
- Tốc độ không tải: 320 rpm
- Dòng không tải: 80 mA
20
- Công suất định mức: 13.2W
- Dòng khi động cơ bị giữ: 2.29A
- Momen khi bị giữ: 7.96 kgf.cm
2.4.5 Module điều khiển động cơ L298
Hình 2.10 Module điều khiển động cơ L298 [20]
Thông thường để điều khiển một động cơ DC thì phải dùng một mạch cầu để có
thể điều khiển cả chiều quay và tốc độ. IC L298 với thiết kế gồm 2 mạch cầu
tích hợp được ứng dụng rất phổ biến trong điều khiển động cơ. L298 có thể điều
khiển động cơ bước hoặc 2 động cơ DC đồng thời. IC này có một số đặc điểm
cơ bản sau [20]:
- Điện áp nuôi có thể lên đến 46V
- Dòng DC làm việc lên đến 4A
- Bảo vệ quá nhiệt
Module L298 chứa hai mạch cầu H nên có thể được sử dụng để điều khiển tốc
độ và chiều quay của 2 động cơ DC của robot (hình 2.11). Các trạng thái quay
của từng động cơ (quay thuận, quay ngược hay dừng lại) có thể được điều khiển
thông qua việc thiết lập mức logic của các chân In1 đến In4 của module. Ngoài
ra, tốc độ của động cơ cũng có thể được điều khiển qua module nhờ phương
pháp PWM. PWM là phương pháp điều chỉnh điện áp trung bình trên tải bằng
cách thay đổi độ rộng xung. Về bản chất thì PWM chính là việc đóng ngắt
nguồn cấp cho tải theo một chu kỳ nhất định. Việc đóng ngắt này được thực hiện
bằng các khóa điện tử như Transistor hay MOSFET.
Các xung có độ rộng khác nhau sẽ cung cấp điện áp trung bình trên tải khác
21
nhau. Điện áp trung bình đầu ra khi sử dụng phương pháp PWM được tính gần
đúng theo:
= . = .
Với:
- là điện áp trung bình
- là điện áp tối đa của nguồn
- t là thời gian xung ở mức logic cao
- d (duty cycle) là phần trăm giữa thời gian xung ở mức logic cao so với chu kỳ
xung.
Vậy, từ hành vi của robot, các trạng thái về chiều quay cũng như tốc độ của các
động cơ sẽ được thiết lập bằng cách điều khiển các chân tương ứng và ghi giá trị
PWM vào module L298.
Hình 2.11 Cấu tạo của IC điều khiển động cơ L298.
2.4.6 Thiết lập giao tiếp cho robot
Dữ liệu được truyền từ máy tính xuống robottheo nguyên lý được trình bày trên
hình 2.12.
Hình 2.12 Sơđồ truyền dữ liệu từ chương trình xử lý ảnh đến robot.
22
- Chương trình xử lý ảnh trên máy tính sẽ truyền dữ liệu xuống module
phát là board Arduino thông qua giao tiếp Serial. Đây là giao tiếp nối tiếp
với tốc độ Baud mặc định 9600, đã được tích hợp sẵn trên Arduino.
- Hai module NRF24L01 có khả năng truyền nhận hai chiều, giao tiếp qua
sóng radio ở tần số 2.4 GHz.
- Các board Arduino kết nối với module NRF24L01 qua giao tiếp SPI. Đây
là một loại giao tiếp nối tiếp đồng bộ khoảng cách ngắn thường được
dùng trong hệ thống nhúng. Các bước để giao tiếp giữa board Arduino và
module NRF24L01 như sau:
+ Thiết lập chân giao tiếp
+ Tạo mảng dữ liệu
+ Khởi tạo địa chỉ giao tiếp
+ Gán địa chỉ giao tiếp
+ Thiết lập mức khuếch đại
+ Thiết lập module NRF24L01 là module nhận hay phát dữ liệu
+ Truyền, nhận dữ liệu.
2.5 Viết chương trình điều khiển cho mobile robot
Mobile robothoạt động theo nguyên lý tổng quan như trên hình 2.13.
Đầu tiên, mobile robot sẽ khởi tạo trạng thái các chân, khởi tạo các biến và các
thông số cho việc đọc tín hiệu cảm biến, điều khiển động cơ, giao tiếp Serial và
giao tiếp không dây qua sóng radio. Sau đó, robot sẽ tự động tiến hành việc căn
chỉnh việc đọc tín hiệu cho cảm biến dò line để sẵn sàng cho quá trình bám line.
23
Hình 2.13 Nguyên lý hoạt động của mobile robot
Tiếp theo, mobile robot sẽ kết hợp giữa việc đọc cảm biến dò line và việc đọc
lệnh điều khiển nhận được từ chương trình xử lý ảnh để đi đến đích. Trong quá
trình di chuyển, nếu lệnh điều khiển không phải là các lệnh đặc biệt như lệnh
yêu cầu dừng lại (từ phía người dùng hoặc là đã đi đến đích), thì robot di chuyển
chủ yếu dựa vào việc đọc cảm biến dò line và tiến hành bám line. Chỉ khi gặp
các trường hợp ngã rẽ đặc biệt thì robot sẽ sử dụng dữ liệu điều khiển từ chương
trình xử lý ảnh để xác định nên di chuyển như thế nào. Sự khác biệt giữa hành vi
của robot được thiết kế trong luận văn khi gặp ngã rẽ so với các robot bám line
thông thường khi dò đường được so sánh trong bảng 2-2.
24
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
Loại ngã rẽ Robottrong luận văn Robot dò Robot dò
đường bám đường bám
trái phải
Đường cụt Quay đầu. Quay đầu Quay đầu
Tuy nhiên trong thực tế
hiếm gặp trường hợp này vì
luôn đi theo sự dẫn hướng
của chương trình xử lý ảnh.
Ngã rẽ phải Rẽ phải Rẽ phải Rẽ phải
Ngã rẽ trái Rẽ trái Rẽ trái Rẽ trái
Ngã rẽ phải và đi Đọc hướng điều khiển từ Đi thẳng Rẽ phải
thẳng chương trình xử lý ảnh
Ngã rẽ trái và đi Đọc hướng điều khiển từ Rẽ trái Đi thẳng
thẳng chương trình xử lý ảnh
Ngã rẽ chữ T Đọc hướng điều khiển từ Rẽ trái Rẽ phải
chương trình xử lý ảnh
Ngã rẽ chữ thập Đọc hướng điều khiển từ Rẽ trái Rẽ phải
chương trình xử lý ảnh
Bảng 2-2 cho thấy, đối với mobile robot bám vạch trong luận văn thì việc xác
định ngã rẽ chỉ còn lại những trường hợp là đường cụt, ngã rẽ phải, ngã rẽ trái,
và các trường hợp còn lại thì có bản chất như nhau cần có sự dẫn hướng của
chương trình xử lý ảnh nên có thể gọi chung là gặp ngã rẽ. Nhờ việc đọc hướng
điều khiển trực tiếp từ chương trình xử lý ảnh, nên robot trong luận văn có khả
năng đi chính xác đến đích luôn so với việc phải dò đường, bám trái bám phải
như các robot dò đường đang được so sánh. Việc xác định ngã rẽ của robot bám
vạch trong luận văn được thực hiện qua việc đọc tín hiệu trả về từ cảm biến dò
25
line như bảng 2-3.
Cảm biến QTR – 5RC là loại cảm biến trả về các tín hiệu dưới dạng Analog. Độ
lớn của các tín hiệu này tỉ lệ với độ nằm gần vạch của các cặp thu phát hồng
ngoại. Cặp thu phát nào càng nằm gần vạch thì tín hiệu analog tương ứng có độ
lớn càng cao và ngược lại. Từ đó, các ngưỡng lọc trên và lọc dưới được xác định
trên thực nghiệm để xét việc cặp thu phát nào nằm trên vạch hay ngoài vạch.
Các điều kiện trên bảng 2-3 như sau:
, >
{ ,< , ℎô é
Với:
- Di: Giá trị analog tín hiệu của cặp thu phát thứ i.
- : Giá trị ngưỡng lọc trên.
- : Giá trị ngưỡng lọc dưới.
Bảng 2-3 Kết quả xác định ngã rẽ và hành vi của robot dựa trên tín hiệu trả
về của cảm biến dò line.
Cặp thu Cặp thu Cặp thu Cặp thu Cặp thu
Kết quả và hành vi
phát 0 phát 1 phát 2 phát 3 phát 4
O O O O O Gặp ngã rẽ
Ngã rẽ phải hoặc ngã rẽ
phải và đi thẳng. Cần đi
thêm khoảng 1 inch nếu
X NA O NA O
đọc lại tín hiệu là đường
cụt thì rẽ phải. Nếu
không phải tức là
trường hợp ngã rẽ phải
và đi thẳng.
O NA O NA X
Ngã rẽ trái hoặc ngã rẽ
trái và đi thẳng. Cần đi
thêm khoảng 1 inch nếu
26
đọc lại tín hiệu là đường
cụt thì rẽ trái. Nếu
không phải tức là
trường hợp ngã rẽ trái
và đi thẳng.
X X X X X Đường cụt
X X X X O
Không gặp ngã rẽ, bám
vạch
X X X O O
Không gặp ngã rẽ, bám
vạch
X X X O X
Không gặp ngã rẽ, bám
vạch
X X O O X
Không gặp ngã rẽ, bám
vạch
X X O X X
Không gặp ngã rẽ, bám
vạch
X O O X X
Không gặp ngã rẽ, bám
vạch
X O X X X
Không gặp ngã rẽ, bám
vạch
O O X X X
Không gặp ngã rẽ, bám
vạch
O X X X X
Không gặp ngã rẽ, bám
vạch
27
CHƯƠNG 3 XÂY DỰNG CHƯƠNG TRÌNH XỬ LÝ
ẢNH VÀ ĐỊNH HƯỚNG CHO MOBILE ROBOT
3.1 Mục đíchvà nội dung của chương trình
Chương trình xử lý ảnh được viết bằng ngôn ngữ C++ kết hợp với việc sử dụng
thư viện OpenCV có mục đích định vị, tìm đường và dẫn hướng cho robot trong
quá trình di chuyển theo thời gian thực. Để đạt được những mục tiêu đó, chương
trình cần phải giải quyết được các nội dung sau:
- Có khả năng tương tác với người sử dụng. Người dùng chương trình có
thể chọn vị trí đíchcho robotbằng cách kích chuột.
- Tạo bản đồ và xác định đường đi bằng công nghệ xử lý ảnh, Tìm đường
ngắn nhất đến đíchtheo thuật toán tìm đường.
- Định vị robot. Chương trình phải có khả năng định vị robottheo thời gian
thực để cập nhật vị trí của robot.
- Giao tiếp với thiết bị ngoại vi để gửi tín hiệu dẫn hướng cho robottheo
thời gian thực.
3.2 Ứng dụng công nghệ xử lý ảnh trong luận văn
3.2.1 Tổng quan về xử lý ảnh
Theo [25], Xử lý ảnh hay còn gọi là thị giác máy (Computer Vision) là một lĩnh
vực liên quan đến việc xử lý các dữ liệu thu được từ ảnh để giúp máy tính có
được các thông tin cần thiết từ ảnh. Từ góc nhìn kỹ thuật thì nhiệm vụ của xử lý
ảnh là cố gắng tiếp cận với sự tự động hóa mà hệ thống thị giác của con người
có thể thực hiện.
Các nhiệm vụ của xử lý ảnh bao gồm thu thập, xử lý, phân tích và hiểu được các
loại ảnh, và từ đó trích lọc ra các lớp dữ liệu về thế giới thực để có thể thu được
dữ liệu dạng số. Các lĩnh vực con của xử lý ảnh bao gồm tái tạo cảnh, phát hiện
sự kiện, nhận diện vật thể, ước lượng chuyển động. Xử lý ảnh được ứng dụng
rộng rãi trong nhiều lĩnh vực từ gia đình cho đến công nghiệp. Một số ứng dụng
của xử lý ảnh có thể được kể đến như:
- Tự động chẩn đoán: Ví dụ trong các lĩnh vực chế tạo.
- Trợ giúp con người trong các nhiệm vụ phân loại, nhận diện.
- Kiểm soát, điều khiển quá trình: Ví dụ trong lĩnh vực robotcông nghiệp.
28
- Phát hiện sự kiện. Ví dụ: Các lĩnh vực giám sát bằng thị giác hoặc đếm người.
- Tương tác. Ví dụ: Trong các lĩnh vực hỗ trợ tương tác giữa người và máy.
- Mô hình hóa đối tượng hoặc môi trường xung quanh. Ví dụ: Trong các lĩnh
vực y tế.
- Định hướng. Ví dụ: Trong các loại phương tiện tự hành hoặc mobile robot.
3.2.2 Khai thác thư viện OpenCV để hỗ trợ quá trình xử lý ảnh trong luận văn.
Luận văn sử dụng thư viện mã nguồn mở OpenCV (Open Source Computer
Vision Library) phiên bản 3.2 để hỗ trợ trong quá trình xử lý ảnh. Đây là một
thư viện có thể được áp dụng khi sử dụng các ngôn ngữ lập trình khác nhau như
C++ hay Python.
Nhờ có sự trợ giúp của OpenCV, người lập trình có thể thuận tiện và nhanh
chóng hơn trong việc xây dựng các chương trình, ứng dụng liên quan đến xử lý
ảnh. OpenCV bao gồm hơn 2500 thuật toán xử lý ảnh và thuật toán máy học
(machine learning) đã được tối ưu. Các thuật toán này có thể được sử dụng để
nhận diện khuôn mặt, phân biệt vật thể, phân loại hành động của con người, truy
bắt chuyển động của vật thể hay giải quyết rất nhiều các bài toán xử lý ảnh và
máy học khác.
OpenCV chính thức ra mắt vào năm 1999 và tính đến nay, sau nhiều phiên bản
được phát hành thì phiên bản chính thức mới nhất là bản 4.3 được phát hành vào
ngày 3/4/2020.
Hình 3.1 Các modulechính trong thư viện OpenCV [25]
29
OpenCV gồm các module chính như trên hình 3.1:
- Module CV hỗ trợ quá trình xử lý ảnh.
- Module MLL gồm các công cụ thống kế, phân loại hỗ trợ quá trình máy
học (machine learning).
- HighGUI hỗ trợ quá trình tạo giao diện, tương tác với người dùng.
- CXCore bao gồm các cấu trúc dữ liệu cơ bản [29].
3.2.3 Một số khái niệm và thuật ngữ quan trọng về xử lý ảnh được sử dụng
trong luận văn
- Điểm ảnh (Pixel): Điểm ảnh là đơn vị nhỏ nhất tạo thành ảnh. Mỗi ảnh có
thể coi như một tập hợp gồm nhiều điểm ảnh. Ảnh có độ phân giải càng
cao thì sẽ chứa càng nhiều điểm ảnh dù cùng một kích thước. Ảnh có độ
phân giải càng cao thì độ sắc nét và chi tiết càng gần với thực tế, nhưng
khi được xử lý sẽ khiến tốc độ chương trình chậm đi do khối lượng dữ
liệu nhiều hơn.
- Ảnh số (Digital Image): Đây là các ảnh đã được số hóa nhằm phục vụ quá
trình lưu trữ hoặc xử lý , trích xuất dữ liệu. Có thể coi ảnh số là một ma
trận nhiều chiều chứa dữ liệu đã được số hóa của ảnh.
- Không gian màu: Có nhiều cách khác nhau để đánh giá một màu sắc được
tạo thành từ những yếu tố nào. Và mỗi cách đánh giá, biểu diễn đó là một
không gian màu. Do đó, cùng một ảnh nhưng có thể có ma trận dữ liệu
khác nhau khi lưu trữ ở không gian màu khác nhau. Có hai không gian
màu cơ bản thường được sử dụng là RGB và HSV. Trong không gian màu
RGB, mỗi màu sắc cụ thể đều có thể coi như một sự pha trộn kết hợp theo
một tỉ lệ nhất định giữa ba màu cơ bản là Đỏ (Red), Lục (Green) và Lam
(Blue) [24]. Ảnh số thu được trên OpenCV bao giờ mặc định cũng được
lưu trên không gian màu này. Trong không gian màu HSV thì mỗi màu
sắc cụ thể lại được coi như sự kết hợp giữa ba yếu tố là Sắc thái (Hue), Độ
bão hòa màu (Saturtion) và Cường độ sáng (Value -Brightness) [26].
Trong đó, Hue sẽ quyết định giá trị màu sắc cơ bản, Saturation sẽ quyết
định độ đậm nhạt của màu (mức độ có mặt của màu, hay còn gọi là độ bão
hòa màu) và giá trị Value sẽ quyết định mức độ sáng tối của màu. Việc
phân chia theo ba yếu tố như vậy rất thuận lợi trong các ứng dụng liên
quan đến việc nhận diện màu sắc, do đó ảnh số ở không gian màu RGB
thường được chuyển sang không gian màu HSV.
30
- Ảnh xám (grey scale image) và ảnh nhị phân (binary image). Khác với
ảnh màu, ảnh xám là ảnh được lưu ở không gian một chiều, mỗi pixel có
giá trị từ 0 đến 255 thể hiện mức xám khác nhau. Ảnh xám được tạo ra từ
sự kết hợp giữa các thành phần không gian màu của ảnh màu. Ảnh nhị
phân là ảnh một chiều mà mỗi điểm ảnh chỉ có hai giá trị là 0 hoặc 1.
Hình 3.2 Không gian màu RGB [24]
Hình 3.3 Không gian màu HSV [26]
31
3.3 Xây dựng nguyên lý hoạt động của chương trình xử lý ảnh
Chương trình xử lý ảnh có nguyên lý hoạt động như trên hình 3.4.
Khi hoạt động, đầu tiên chương trình sẽ tạo bản đồ số từ ảnh thu được từ
camera. Bước này gồm một loạt các quá trình như: Cho phép người sử dụng xác
định vùng quan tâm trên ảnh bằng kỹ thuật ROI, xác định line bằng kỹ thuật
phân ngưỡng nhị phân ngược, thu gọn kích thước của line, tiến hành chia lưới để
phục vụ cho thuật toán tìm đường sẽ được áp dụng sau.
Hình 3.4 Nguyên lý hoạt động của chương trình xử lý ảnh.
32
Sau đó, chương trình sẽ khởi tạo quá trình nhận diện robot. Trong quá trình này,
người dùng sẽ xác định các vùng đánh dấu trên robot và tiến hành thay đổi các
giá trị HSV để thu được dữ liệu tốt nhất phục vụ cho quá trình chương trình xử
lý ảnh truy bắt robot về sau.
Tiếp đến, người dùng có thể chọn vị trí đíchcủa robot thông qua việc kích chuột
trên bản đồ. Sau khi xác nhận, quá trình tìm đường tự động bằng thuật toán A*
sẽ diễn ra. Sau khi tìm được đường đi phù hợp, chương trình sẽ truy bắt robot và
gửi lệnh điều khiển theo thời gian thực hướng dẫn robot đi tới đích.
3.4 Tạo bản đồ
3.4.1 Dùng ROI để xác định vùng hoạt động của robot
ROI là viết tắt của Region of Interest – vùng quan tâm, là một kỹ thuật rất cơ
bản nhưng rất hữu dụng trong xử lý ảnh [2]. Kỹ thuật này giúp thiết lập lên ảnh
các vùng quan tâm, từ đó, mọi việc tính toán chỉ xảy ra ở vùng quan tâm. Điều
này mang lại các lợi ích sau:
- Khối lượng tính toán được giảm bớt.
- Các vùng không quan tâm được loại bỏ đồng nghĩa với việc giảm thiểu
được khả năng tính toán sai do ảnh hưởng của “nhiễu”.
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).
33
Chương trình xử lý ảnh trong luận văn cho phép người sử dụng sự kiện chuột để
khoanh vùng ROI. Trong mô hình được xây dựng để thử nghiệm thì khoảng
cách giữa camera và bản đồ là tương đối gần. Do đó, kỹ thuật ROI chỉ được sử
dụng để cắt đi một phần nhỏ bản đồ để tránh việc một phần của robot trong khi
di chuyển sẽ nằm ngoài vùng quan tâm. Tuy chỉ giảm được một phần nhỏ khối
lượng tính toán, nhưng việc áp dụng ROI vẫn có ý nghĩa quan trọng trong việc
giúp ảnh có tính chất bimodal, thuận lợi hơn trong việc xác định đường. Trên
hình 3.5, việc áp dụng ROI giúp làm giảm đi một phần bản đồ và quan trọng hơn
và loại bỏ được phần màu vàng của nền nhà, từ đó giúp ảnh có tính chất bi-
modal, giúp chương trình thuận lợi hơn trong quá trình phân ngưỡng tìm line.
3.4.2 Xác định đường đi của robot(tìm line)
Vạch trên bản đồ chính là các đường để giúp AGV có thể di chuyển. Do đó,
chương trình cần xác định được đâu là vạch trên bản đồ để có thể áp dụng các
thuật toán tìm đường. Dù là vạch được tạo từ băng dính thường, sơn hay vạch từ
(magnetic line) thì đều có đặc điểm là màu sắc thường tương phản lớn so với
nền. Vì vậy, thuật toán phân ngưỡng nhị phân ngược được áp dụng để tìm đường
[2]:
( , ) =
0, ( , ) > ℎ ℎ
{ , ( , ) ≤ ℎ ℎ
Trong đó:
( , ) là giá trị của pixel sau khi phân ngưỡng.
( , ) là giá trị gốc của pixel trước khi phân ngưỡng.
là giá trị lớn nhất của pixel.
ℎ ℎ là ngưỡng dùng để phân ngưỡng.
Việc xác định Thresh để cho ra kết quả tốt nhất tương đối phức tạp vì giá trị này
phụ thuộc vào bản đồ trên thực tế, điều kiện ánh sáng chiếu vào bản đồ. Nếu
chọn giá trị này không chính xác sẽ khiến việc xác định line không chính xác
(thừa hoặc mất line). Do đó, chương trình được xây dựng với giá trị thresh nằm
tại một thanh trượt. Điều này giúp người dùng thay đổi một cách nhanh chóng
các giá trị thresh và xem kết quả thu được để từ đó có thể tinh chỉnh cho ra kết
quả tốt nhất.
34
Trong điều kiện ảnh thỏa mãn tính chất bi-modal histogram (ảnh có histogram
dạng phân thành hai cực gần đều) thì có thể dùng phân ngưỡng Otsu (Otsu’
method) để tìm ngưỡng một cách tự động [6]. Kết quả thu được khi thử nghiệm
trên 2 bản đồ (hình 3.6 và 3.7) cho thấy vạch được xác định hoàn toàn chính xác
và không bị nhiễu mặc dù điều kiện ánh sáng là không đồng đều, các vùng trên
ảnh có độ sáng không đều nhau.
Hình 3.6 Kết quả xác định vạch theo bằng phươngphápphân ngưỡng nhị phân
ngược trên bản đồ 1.
Hình 3.7 Kết quả xác định vạch theo bằng phươngphápphânngưỡngnhị phân
ngược trên bản đồ 2.
35
3.4.3 Thu nhỏ kích thước vạch
Khác với các loại bản đồ khác, đường đi của AGV bám vạch là vạch với đặc
điểm dài, và mảnh. Điều này khiến cho việc chia lưới mỏng gặp nhiều khó khăn
do khả năng xảy ra tình trạng sai hoặc thiếu thông tin về vạch. Do đó, mỗi pixel
trên ảnh sẽ được xác định là một nút. Vì vậy, cần phải làm giảm kích thước của
vạch để phần nào giảm được khối lượng tính toán mà vẫn đảm bảo không làm
sai lệch dữ liệu tính toán. Có thể sử dụng các thuật toán tự động như skeleton để
thu nhỏ vạch, nhưng nhược điểm của nó là sinh ra các đường nét thừa và làm đứt
vạch. Đây là những điều không thể chấp nhận được vì nó làm sai lệch tính chất
thông tin về đường đi của robot. Do đó, hình thái co ảnh kết hợp với thanh trượt
quyết định giá trị kernel được sử dụng để thu nhỏ đường đi. Phép toán hình thái
co ảnh (erosion) [2]:
( , ) = min
′, ′∈
( + ′, + ′)
Trong đó:
( , ) là giá trị của pixel sau khi áp dụng co ảnh.
( + ′, + ′) là giá trị pixel thuộc vùng ma trận mỏ neo có vị trí +
′, + ′.
là kích thước của ma trận mỏ neo.
Kết quả trên hình 3.8 và 3.9 cho thấy phạm vi của vạch giảm đi đáng kể sau khi
áp dụng thuật toán co ảnh. Phạm vi của vạch giảm đi đồng nghĩa với việc số nút
thuộc vạch cũng giảm, từ đó sẽ làm tăng tốc độ tìm đường khi áp dụng thuật
toán A* vì số nút phải xét giảm.
36
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.
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.
3.4.4 Chia nút và xác định thông số của các nút
Thuật toán tìm đường được thực hiện với cơ sở là xét các nút. Do đó, bản đồ cần
được chia thành các nút với đầy đủ các thông số để có thể áp dụng thuật toán tìm
đường. Ví dụ về việc chia nút cho một bản đồ được thể hiện trên hình 3.10. Với
đặc tính của vạch là kích thước dài và mảnh, nên để không bỏ xót hoặc gây sai
lệch thông tin về vạch thì mỗi pixel trên ảnh sẽ được gán là một nút với các dữ
37
liệu sau [8]:
- Vị trí của nút.
- Nút có thuộc đường hay không
- Giá trị chi phí tổng
- Giá trị chi phí từ nút xuất phát
- Giá trị chi phí tương đối đến đích
- Có phải là nút xuất phát hay nút đíchkhông
- Đã nằm trong danh sách các nút đã xét chưa
- Vị trí nút mẹ của nút đó
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].
3.5 Ứng dụng thuật toán Camshift trong việc truy bắt, định vị robot.
3.5.1 Giới thiệu thuật toán Camshift.
Thuật toán Camshift là một thuật toán dạng phân đoạn ảnh được phát triển bởi
Gary Bradski. Thuât toán này dựa trên nền của thuật toán meanshift nhưng được
phát triển hơn với ưu điểm là kích thước của cửa sổ lọc có thể thay đổi. Thuật
toán Camshift thường được sử dụng trong truy bắt đối tượng theo thời gian thực
(real-time object tracking).
38
3.5.1.1 Thuật toán meanshift
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].
Thuật toán meanshift 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. Trên hình 3.11 các chấm đỏ thể hiện một tập hợp các điểm (có thể là
phân phối các pixel hoặc histogram back projection – hình chiếu ngược
histogram). Cửa sổ lọc được tạo sẵn (ở đây là hình tròn xanh da trời C1 với tâm
là C1_o). Ý tưởng của thuật toán meanshift là liên tiếp dịch chuyển cửa sổ lọc
này cho đến khi hội tụ tại trọng tâm của tập hợp các điểm.
Rõ ràng, trong phạm vi C1 thì tâm của C1 là C1_o không trùng với trọng tâm
của tập hợp điểm trong vùng này là C1_r. Do đó, cửa sổ lọc sẽ trượt đến vị trí
mới sao cho tâm của nó trùng với C1_r. Tại vị trí mới này của cửa sổ lọc, thuật
toán lại tiếp tục tính trọng tâm của tập hợp điểm trong 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 robothoạ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ậttoán tìm đường theo quytắ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:
- Robotphả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í đíchthì 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.
- Robotkhô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áchcá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*.
Robotkế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 robottheo thời
gian thực.
Các kết quả thử nghiệm tìm đường, định vị và dẫn hướng cho robottạ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 đíchvà 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 robottheo 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 đíchvà 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 robottheo 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 đíchvà 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 robottheo 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 robotbám vạch truyền thống như sau:
- Robotkhô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 robotnhờ 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.
Luận văn: Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp
Luận văn: Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp
Luận văn: Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp
Luận văn: Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp
Luận văn: Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp
Luận văn: Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp
Luận văn: Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp
Luận văn: Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp
Luận văn: Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp
Luận văn: Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp
Luận văn: Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp
Luận văn: Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp
Luận văn: Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp
Luận văn: Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp
Luận văn: Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp
Luận văn: Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp
Luận văn: Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp
Luận văn: Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp
Luận văn: Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp
Luận văn: Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp
Luận văn: Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp
Luận văn: Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp

More Related Content

What's hot

Đồ án Thiết kế hệ thống điều khiển và giảm sát mức nước và áp suất của một nồ...
Đồ án Thiết kế hệ thống điều khiển và giảm sát mức nước và áp suất của một nồ...Đồ án Thiết kế hệ thống điều khiển và giảm sát mức nước và áp suất của một nồ...
Đồ án Thiết kế hệ thống điều khiển và giảm sát mức nước và áp suất của một nồ...Antonietta Davis
 
Thiết kế bộ điều khiển thiết bị điện từ xa thông qua mạng internet trên phần ...
Thiết kế bộ điều khiển thiết bị điện từ xa thông qua mạng internet trên phần ...Thiết kế bộ điều khiển thiết bị điện từ xa thông qua mạng internet trên phần ...
Thiết kế bộ điều khiển thiết bị điện từ xa thông qua mạng internet trên phần ...Man_Ebook
 
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ệ ...
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ệ ...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ệ ...
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ệ ...Man_Ebook
 
huong-dan-su-dung-eplan-electric-p8
 huong-dan-su-dung-eplan-electric-p8 huong-dan-su-dung-eplan-electric-p8
huong-dan-su-dung-eplan-electric-p8Con Khủng Long
 
Giáo trình Cơ sở dữ liệu.pdf
Giáo trình Cơ sở dữ liệu.pdfGiáo trình Cơ sở dữ liệu.pdf
Giáo trình Cơ sở dữ liệu.pdfMan_Ebook
 
Phát triển một số thuật toán điều khiển rô bốt di động sử dụng hình ảnh - Gửi...
Phát triển một số thuật toán điều khiển rô bốt di động sử dụng hình ảnh - Gửi...Phát triển một số thuật toán điều khiển rô bốt di động sử dụng hình ảnh - Gửi...
Phát triển một số thuật toán điều khiển rô bốt di động sử dụng hình ảnh - Gửi...Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Điều khiển PID ứng dụng cho điều khiển thiết bị bay loại bốn động cơ.pdf
Điều khiển PID ứng dụng cho điều khiển thiết bị bay loại bốn động cơ.pdfĐiều khiển PID ứng dụng cho điều khiển thiết bị bay loại bốn động cơ.pdf
Điều khiển PID ứng dụng cho điều khiển thiết bị bay loại bốn động cơ.pdfMan_Ebook
 
ĐIều khiển trượt thích nghi hệ thống động phi tuyến
ĐIều khiển trượt thích nghi hệ thống động phi tuyếnĐIều khiển trượt thích nghi hệ thống động phi tuyến
ĐIều khiển trượt thích nghi hệ thống động phi tuyếnMan_Ebook
 
Hệ thống đo, giám sát và điều khiển các thông số môi trường trong nhà trồng n...
Hệ thống đo, giám sát và điều khiển các thông số môi trường trong nhà trồng n...Hệ thống đo, giám sát và điều khiển các thông số môi trường trong nhà trồng n...
Hệ thống đo, giám sát và điều khiển các thông số môi trường trong nhà trồng n...Man_Ebook
 
Điều khiển và ổn định mức nước ứng dụng bộ điều chỉnh pid và logic mờ
Điều khiển và ổn định mức nước ứng dụng bộ điều chỉnh pid và logic mờĐiều khiển và ổn định mức nước ứng dụng bộ điều chỉnh pid và logic mờ
Điều khiển và ổn định mức nước ứng dụng bộ điều chỉnh pid và logic mờMan_Ebook
 
Robot tu hanh 4 banh da huong
Robot tu hanh 4 banh da huongRobot tu hanh 4 banh da huong
Robot tu hanh 4 banh da huongLhthang Ktv
 
Thiết kế mạch đo nhiệt độ sử dụng board arduino, hiển thị trên 4 led 7 thanh ...
Thiết kế mạch đo nhiệt độ sử dụng board arduino, hiển thị trên 4 led 7 thanh ...Thiết kế mạch đo nhiệt độ sử dụng board arduino, hiển thị trên 4 led 7 thanh ...
Thiết kế mạch đo nhiệt độ sử dụng board arduino, hiển thị trên 4 led 7 thanh ...Man_Ebook
 

What's hot (20)

Luận văn: Ứng dụng lập trình điều khiển thiết bị qua wifi, HOT
Luận văn: Ứng dụng lập trình điều khiển thiết bị qua wifi, HOTLuận văn: Ứng dụng lập trình điều khiển thiết bị qua wifi, HOT
Luận văn: Ứng dụng lập trình điều khiển thiết bị qua wifi, HOT
 
Đề tài: Chế tạo mô hình nhà thông minh sử dụng Arduino, HAY
Đề tài: Chế tạo mô hình nhà thông minh sử dụng Arduino, HAYĐề tài: Chế tạo mô hình nhà thông minh sử dụng Arduino, HAY
Đề tài: Chế tạo mô hình nhà thông minh sử dụng Arduino, HAY
 
Luận văn tốt nghiệp: Thiết kế mạch đếm sản phẩm, HAY
Luận văn tốt nghiệp: Thiết kế mạch đếm sản phẩm, HAYLuận văn tốt nghiệp: Thiết kế mạch đếm sản phẩm, HAY
Luận văn tốt nghiệp: Thiết kế mạch đếm sản phẩm, HAY
 
Đồ án Thiết kế hệ thống điều khiển và giảm sát mức nước và áp suất của một nồ...
Đồ án Thiết kế hệ thống điều khiển và giảm sát mức nước và áp suất của một nồ...Đồ án Thiết kế hệ thống điều khiển và giảm sát mức nước và áp suất của một nồ...
Đồ án Thiết kế hệ thống điều khiển và giảm sát mức nước và áp suất của một nồ...
 
Đề tài: Hệ thống điều khiển tốc độ động cơ DC sử dụng bộ PID
Đề tài: Hệ thống điều khiển tốc độ động cơ DC sử dụng bộ PIDĐề tài: Hệ thống điều khiển tốc độ động cơ DC sử dụng bộ PID
Đề tài: Hệ thống điều khiển tốc độ động cơ DC sử dụng bộ PID
 
Thiết kế bộ điều khiển thiết bị điện từ xa thông qua mạng internet trên phần ...
Thiết kế bộ điều khiển thiết bị điện từ xa thông qua mạng internet trên phần ...Thiết kế bộ điều khiển thiết bị điện từ xa thông qua mạng internet trên phần ...
Thiết kế bộ điều khiển thiết bị điện từ xa thông qua mạng internet trên phần ...
 
Đề tài: Nhận dạng, phân loại, xử lý ảnh biển số xe bằng phần mềm
Đề tài: Nhận dạng, phân loại, xử lý ảnh biển số xe bằng phần mềmĐề tài: Nhận dạng, phân loại, xử lý ảnh biển số xe bằng phần mềm
Đề tài: Nhận dạng, phân loại, xử lý ảnh biển số xe bằng phần mềm
 
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ệ ...
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ệ ...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ệ ...
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ệ ...
 
huong-dan-su-dung-eplan-electric-p8
 huong-dan-su-dung-eplan-electric-p8 huong-dan-su-dung-eplan-electric-p8
huong-dan-su-dung-eplan-electric-p8
 
Giáo trình Cơ sở dữ liệu.pdf
Giáo trình Cơ sở dữ liệu.pdfGiáo trình Cơ sở dữ liệu.pdf
Giáo trình Cơ sở dữ liệu.pdf
 
Phát triển một số thuật toán điều khiển rô bốt di động sử dụng hình ảnh - Gửi...
Phát triển một số thuật toán điều khiển rô bốt di động sử dụng hình ảnh - Gửi...Phát triển một số thuật toán điều khiển rô bốt di động sử dụng hình ảnh - Gửi...
Phát triển một số thuật toán điều khiển rô bốt di động sử dụng hình ảnh - Gửi...
 
Điều khiển PID ứng dụng cho điều khiển thiết bị bay loại bốn động cơ.pdf
Điều khiển PID ứng dụng cho điều khiển thiết bị bay loại bốn động cơ.pdfĐiều khiển PID ứng dụng cho điều khiển thiết bị bay loại bốn động cơ.pdf
Điều khiển PID ứng dụng cho điều khiển thiết bị bay loại bốn động cơ.pdf
 
ĐIều khiển trượt thích nghi hệ thống động phi tuyến
ĐIều khiển trượt thích nghi hệ thống động phi tuyếnĐIều khiển trượt thích nghi hệ thống động phi tuyến
ĐIều khiển trượt thích nghi hệ thống động phi tuyến
 
Hệ thống đo, giám sát và điều khiển các thông số môi trường trong nhà trồng n...
Hệ thống đo, giám sát và điều khiển các thông số môi trường trong nhà trồng n...Hệ thống đo, giám sát và điều khiển các thông số môi trường trong nhà trồng n...
Hệ thống đo, giám sát và điều khiển các thông số môi trường trong nhà trồng n...
 
Điều khiển và ổn định mức nước ứng dụng bộ điều chỉnh pid và logic mờ
Điều khiển và ổn định mức nước ứng dụng bộ điều chỉnh pid và logic mờĐiều khiển và ổn định mức nước ứng dụng bộ điều chỉnh pid và logic mờ
Điều khiển và ổn định mức nước ứng dụng bộ điều chỉnh pid và logic mờ
 
Robot tu hanh 4 banh da huong
Robot tu hanh 4 banh da huongRobot tu hanh 4 banh da huong
Robot tu hanh 4 banh da huong
 
Đề tài: Ứng dụng xử lý ảnh thiết kế mạch chống trộm thông minh
Đề tài: Ứng dụng xử lý ảnh thiết kế mạch chống trộm thông minhĐề tài: Ứng dụng xử lý ảnh thiết kế mạch chống trộm thông minh
Đề tài: Ứng dụng xử lý ảnh thiết kế mạch chống trộm thông minh
 
Đề tài: Tổng quan về mobile robot, HAY, 9đ
Đề tài: Tổng quan về mobile robot, HAY, 9đĐề tài: Tổng quan về mobile robot, HAY, 9đ
Đề tài: Tổng quan về mobile robot, HAY, 9đ
 
Điều khiển bám cho robot di động sử dụng bộ điều khiển mờ
Điều khiển bám cho robot di động sử dụng bộ điều khiển mờĐiều khiển bám cho robot di động sử dụng bộ điều khiển mờ
Điều khiển bám cho robot di động sử dụng bộ điều khiển mờ
 
Thiết kế mạch đo nhiệt độ sử dụng board arduino, hiển thị trên 4 led 7 thanh ...
Thiết kế mạch đo nhiệt độ sử dụng board arduino, hiển thị trên 4 led 7 thanh ...Thiết kế mạch đo nhiệt độ sử dụng board arduino, hiển thị trên 4 led 7 thanh ...
Thiết kế mạch đo nhiệt độ sử dụng board arduino, hiển thị trên 4 led 7 thanh ...
 

Similar to Luận văn: Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp

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ệ ...
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ệ ...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ệ ...
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ệ ...Man_Ebook
 
Luận án: Nghiên cứu nâng cao chỉ số năng lực cạnh tranh cấp tỉnh (PCI) của tỉ...
Luận án: Nghiên cứu nâng cao chỉ số năng lực cạnh tranh cấp tỉnh (PCI) của tỉ...Luận án: Nghiên cứu nâng cao chỉ số năng lực cạnh tranh cấp tỉnh (PCI) của tỉ...
Luận án: Nghiên cứu nâng cao chỉ số năng lực cạnh tranh cấp tỉnh (PCI) của tỉ...Viết thuê trọn gói ZALO 0934573149
 
Luận Văn Các Yếu Tố Ảnh Hưởng Đến Sự Sáng Tạo Của Nhân Viên
Luận Văn Các Yếu Tố Ảnh Hưởng Đến Sự Sáng Tạo Của Nhân ViênLuận Văn Các Yếu Tố Ảnh Hưởng Đến Sự Sáng Tạo Của Nhân Viên
Luận Văn Các Yếu Tố Ảnh Hưởng Đến Sự Sáng Tạo Của Nhân ViênHỗ Trợ Viết Đề Tài luanvanpanda.com
 
50315210 baigiangkythuatphanmem
50315210 baigiangkythuatphanmem50315210 baigiangkythuatphanmem
50315210 baigiangkythuatphanmemNga Khổng
 
Luận Văn Mối Quan Hệ Giữa Trải Nghiệm Dòng Chảy, Thái Độ Và Ý Định Mua Của Ng...
Luận Văn Mối Quan Hệ Giữa Trải Nghiệm Dòng Chảy, Thái Độ Và Ý Định Mua Của Ng...Luận Văn Mối Quan Hệ Giữa Trải Nghiệm Dòng Chảy, Thái Độ Và Ý Định Mua Của Ng...
Luận Văn Mối Quan Hệ Giữa Trải Nghiệm Dòng Chảy, Thái Độ Và Ý Định Mua Của Ng...Viết Thuê Luận Văn Luanvanpanda.com
 
Luận Văn Mối Quan Hệ Giữa Trải Nghiệm Dòng Chảy, Thái Độ Và Ý Định Mua Của Ng...
Luận Văn Mối Quan Hệ Giữa Trải Nghiệm Dòng Chảy, Thái Độ Và Ý Định Mua Của Ng...Luận Văn Mối Quan Hệ Giữa Trải Nghiệm Dòng Chảy, Thái Độ Và Ý Định Mua Của Ng...
Luận Văn Mối Quan Hệ Giữa Trải Nghiệm Dòng Chảy, Thái Độ Và Ý Định Mua Của Ng...Viết Thuê Luận Văn Luanvanpanda.com
 
Giáo trình hướng dẫn sử dụng phần mềm lập hồ sơ chất lượng công trình phần mề...
Giáo trình hướng dẫn sử dụng phần mềm lập hồ sơ chất lượng công trình phần mề...Giáo trình hướng dẫn sử dụng phần mềm lập hồ sơ chất lượng công trình phần mề...
Giáo trình hướng dẫn sử dụng phần mềm lập hồ sơ chất lượng công trình phần mề...Nguyễn Thế Anh Giaxaydung.vn
 
Báo cáo thực tập công nghệ thông tin.
Báo cáo thực tập công nghệ thông tin.Báo cáo thực tập công nghệ thông tin.
Báo cáo thực tập công nghệ thông tin.ssuser499fca
 
Tìm hiểu FRAMEWORK VUEJS, JAVA SPRING và xây dựng Website xem phim online.pdf
Tìm hiểu FRAMEWORK VUEJS, JAVA SPRING và xây dựng Website xem phim online.pdfTìm hiểu FRAMEWORK VUEJS, JAVA SPRING và xây dựng Website xem phim online.pdf
Tìm hiểu FRAMEWORK VUEJS, JAVA SPRING và xây dựng Website xem phim online.pdfMan_Ebook
 
Giải pháp hoàn thiện công tác thiết kế sản phẩm dịch vụ Công Ty CMC
Giải pháp hoàn thiện công tác thiết kế sản phẩm dịch vụ Công Ty CMCGiải pháp hoàn thiện công tác thiết kế sản phẩm dịch vụ Công Ty CMC
Giải pháp hoàn thiện công tác thiết kế sản phẩm dịch vụ Công Ty CMCluanvantrust
 

Similar to Luận văn: Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp (20)

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ệ ...
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ệ ...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ệ ...
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ệ ...
 
Nghiên cứu ứng dụng chữ số trong gửi nhận tài liệu điện tử, HAY
Nghiên cứu ứng dụng chữ số trong gửi nhận tài liệu điện tử, HAYNghiên cứu ứng dụng chữ số trong gửi nhận tài liệu điện tử, HAY
Nghiên cứu ứng dụng chữ số trong gửi nhận tài liệu điện tử, HAY
 
Luận án: Nghiên cứu thiết kế hệ thống thông báo ổn định theo thời gian thực c...
Luận án: Nghiên cứu thiết kế hệ thống thông báo ổn định theo thời gian thực c...Luận án: Nghiên cứu thiết kế hệ thống thông báo ổn định theo thời gian thực c...
Luận án: Nghiên cứu thiết kế hệ thống thông báo ổn định theo thời gian thực c...
 
Luận án: Nghiên cứu thiết kế hệ thống thông báo ổn định theo thời gian thực c...
Luận án: Nghiên cứu thiết kế hệ thống thông báo ổn định theo thời gian thực c...Luận án: Nghiên cứu thiết kế hệ thống thông báo ổn định theo thời gian thực c...
Luận án: Nghiên cứu thiết kế hệ thống thông báo ổn định theo thời gian thực c...
 
La01.013 nghiên cứu nâng cao chỉ số năng lực cạnh tranh cấp tỉnh (pci) của tỉ...
La01.013 nghiên cứu nâng cao chỉ số năng lực cạnh tranh cấp tỉnh (pci) của tỉ...La01.013 nghiên cứu nâng cao chỉ số năng lực cạnh tranh cấp tỉnh (pci) của tỉ...
La01.013 nghiên cứu nâng cao chỉ số năng lực cạnh tranh cấp tỉnh (pci) của tỉ...
 
Luận án: Nghiên cứu nâng cao chỉ số năng lực cạnh tranh cấp tỉnh (PCI) của tỉ...
Luận án: Nghiên cứu nâng cao chỉ số năng lực cạnh tranh cấp tỉnh (PCI) của tỉ...Luận án: Nghiên cứu nâng cao chỉ số năng lực cạnh tranh cấp tỉnh (PCI) của tỉ...
Luận án: Nghiên cứu nâng cao chỉ số năng lực cạnh tranh cấp tỉnh (PCI) của tỉ...
 
Luận văn: Nghiên cứu một số bài men cho xương gốm của làng gốm Phước Tích
Luận văn: Nghiên cứu một số bài men cho xương gốm của làng gốm Phước TíchLuận văn: Nghiên cứu một số bài men cho xương gốm của làng gốm Phước Tích
Luận văn: Nghiên cứu một số bài men cho xương gốm của làng gốm Phước Tích
 
Luận văn: Nghiên cứu một số bài men cho xương gốm của làng gốm
Luận văn: Nghiên cứu một số bài men cho xương gốm của làng gốmLuận văn: Nghiên cứu một số bài men cho xương gốm của làng gốm
Luận văn: Nghiên cứu một số bài men cho xương gốm của làng gốm
 
Luận Văn Các Yếu Tố Ảnh Hưởng Đến Sự Sáng Tạo Của Nhân Viên
Luận Văn Các Yếu Tố Ảnh Hưởng Đến Sự Sáng Tạo Của Nhân ViênLuận Văn Các Yếu Tố Ảnh Hưởng Đến Sự Sáng Tạo Của Nhân Viên
Luận Văn Các Yếu Tố Ảnh Hưởng Đến Sự Sáng Tạo Của Nhân Viên
 
Đề tài: Tìm hiểu thuật toán quy hoạch động cho tính khoảng cách
Đề tài: Tìm hiểu thuật toán quy hoạch động cho tính khoảng cáchĐề tài: Tìm hiểu thuật toán quy hoạch động cho tính khoảng cách
Đề tài: Tìm hiểu thuật toán quy hoạch động cho tính khoảng cách
 
Đề tài: Thuật toán quy hoạch động cho tính khoảng cách, HOT
Đề tài: Thuật toán quy hoạch động cho tính khoảng cách, HOTĐề tài: Thuật toán quy hoạch động cho tính khoảng cách, HOT
Đề tài: Thuật toán quy hoạch động cho tính khoảng cách, HOT
 
50315210 baigiangkythuatphanmem
50315210 baigiangkythuatphanmem50315210 baigiangkythuatphanmem
50315210 baigiangkythuatphanmem
 
Luận Văn Mối Quan Hệ Giữa Trải Nghiệm Dòng Chảy, Thái Độ Và Ý Định Mua Của Ng...
Luận Văn Mối Quan Hệ Giữa Trải Nghiệm Dòng Chảy, Thái Độ Và Ý Định Mua Của Ng...Luận Văn Mối Quan Hệ Giữa Trải Nghiệm Dòng Chảy, Thái Độ Và Ý Định Mua Của Ng...
Luận Văn Mối Quan Hệ Giữa Trải Nghiệm Dòng Chảy, Thái Độ Và Ý Định Mua Của Ng...
 
Luận Văn Mối Quan Hệ Giữa Trải Nghiệm Dòng Chảy, Thái Độ Và Ý Định Mua Của Ng...
Luận Văn Mối Quan Hệ Giữa Trải Nghiệm Dòng Chảy, Thái Độ Và Ý Định Mua Của Ng...Luận Văn Mối Quan Hệ Giữa Trải Nghiệm Dòng Chảy, Thái Độ Và Ý Định Mua Của Ng...
Luận Văn Mối Quan Hệ Giữa Trải Nghiệm Dòng Chảy, Thái Độ Và Ý Định Mua Của Ng...
 
Giáo trình hướng dẫn sử dụng phần mềm lập hồ sơ chất lượng công trình phần mề...
Giáo trình hướng dẫn sử dụng phần mềm lập hồ sơ chất lượng công trình phần mề...Giáo trình hướng dẫn sử dụng phần mềm lập hồ sơ chất lượng công trình phần mề...
Giáo trình hướng dẫn sử dụng phần mềm lập hồ sơ chất lượng công trình phần mề...
 
Kiểm chứng giao diện phần mềm bằng mô hình hóa event – B
Kiểm chứng giao diện phần mềm bằng mô hình hóa event – BKiểm chứng giao diện phần mềm bằng mô hình hóa event – B
Kiểm chứng giao diện phần mềm bằng mô hình hóa event – B
 
Phân Tích Hiệu Quả Kinh Tế Sản Xuất Lúa Theo Mô Hình Cánh Đồng Lớn Trên Địa B...
Phân Tích Hiệu Quả Kinh Tế Sản Xuất Lúa Theo Mô Hình Cánh Đồng Lớn Trên Địa B...Phân Tích Hiệu Quả Kinh Tế Sản Xuất Lúa Theo Mô Hình Cánh Đồng Lớn Trên Địa B...
Phân Tích Hiệu Quả Kinh Tế Sản Xuất Lúa Theo Mô Hình Cánh Đồng Lớn Trên Địa B...
 
Báo cáo thực tập công nghệ thông tin.
Báo cáo thực tập công nghệ thông tin.Báo cáo thực tập công nghệ thông tin.
Báo cáo thực tập công nghệ thông tin.
 
Tìm hiểu FRAMEWORK VUEJS, JAVA SPRING và xây dựng Website xem phim online.pdf
Tìm hiểu FRAMEWORK VUEJS, JAVA SPRING và xây dựng Website xem phim online.pdfTìm hiểu FRAMEWORK VUEJS, JAVA SPRING và xây dựng Website xem phim online.pdf
Tìm hiểu FRAMEWORK VUEJS, JAVA SPRING và xây dựng Website xem phim online.pdf
 
Giải pháp hoàn thiện công tác thiết kế sản phẩm dịch vụ Công Ty CMC
Giải pháp hoàn thiện công tác thiết kế sản phẩm dịch vụ Công Ty CMCGiải pháp hoàn thiện công tác thiết kế sản phẩm dịch vụ Công Ty CMC
Giải pháp hoàn thiện công tác thiết kế sản phẩm dịch vụ Công Ty CMC
 

More from Viết Thuê Khóa Luận _ ZALO 0917.193.864 default

More from Viết Thuê Khóa Luận _ ZALO 0917.193.864 default (20)

Khóa luận ngành tài chính ngân hàng chính sách xã hội, HAY
Khóa luận ngành tài chính ngân hàng chính sách xã hội, HAYKhóa luận ngành tài chính ngân hàng chính sách xã hội, HAY
Khóa luận ngành tài chính ngân hàng chính sách xã hội, HAY
 
Bài mẫu báo cáo thực tập tại ngân hàng chính sách xã hội, HAY
Bài mẫu báo cáo thực tập tại ngân hàng chính sách xã hội, HAYBài mẫu báo cáo thực tập tại ngân hàng chính sách xã hội, HAY
Bài mẫu báo cáo thực tập tại ngân hàng chính sách xã hội, HAY
 
Bài mẫu báo cáo tại ngân hàng đầu tư và phát triển BIDV
Bài mẫu báo cáo tại ngân hàng đầu tư và phát triển BIDVBài mẫu báo cáo tại ngân hàng đầu tư và phát triển BIDV
Bài mẫu báo cáo tại ngân hàng đầu tư và phát triển BIDV
 
Báo cáo Thực trạng hoạt động cho vay cá nhân Tại Vietcombank, HAY
Báo cáo Thực trạng hoạt động cho vay cá nhân Tại Vietcombank, HAYBáo cáo Thực trạng hoạt động cho vay cá nhân Tại Vietcombank, HAY
Báo cáo Thực trạng hoạt động cho vay cá nhân Tại Vietcombank, HAY
 
Khóa luận tại ngân hàng Ngoại thương Việt Nam, HAY
Khóa luận tại ngân hàng Ngoại thương Việt Nam, HAYKhóa luận tại ngân hàng Ngoại thương Việt Nam, HAY
Khóa luận tại ngân hàng Ngoại thương Việt Nam, HAY
 
Bài mẫu tiểu luận về An ninh mạng, HAY
Bài mẫu tiểu luận về An ninh mạng, HAYBài mẫu tiểu luận về An ninh mạng, HAY
Bài mẫu tiểu luận về An ninh mạng, HAY
 
Bài mẫu Tiểu luận về an toàn giao thông đường bộ, HAY
Bài mẫu Tiểu luận về an toàn giao thông đường bộ, HAYBài mẫu Tiểu luận về an toàn giao thông đường bộ, HAY
Bài mẫu Tiểu luận về an toàn giao thông đường bộ, HAY
 
Tiểu luận Chiến lược cạnh tranh của công ty Amazon, HAY
Tiểu luận Chiến lược cạnh tranh của công ty Amazon, HAYTiểu luận Chiến lược cạnh tranh của công ty Amazon, HAY
Tiểu luận Chiến lược cạnh tranh của công ty Amazon, HAY
 
Bài mẫu tiểu luận môn về Apple, HAY
Bài mẫu tiểu luận môn về Apple, HAYBài mẫu tiểu luận môn về Apple, HAY
Bài mẫu tiểu luận môn về Apple, HAY
 
Bài mẫu Tiểu luận về FPT, HAY
Bài mẫu Tiểu luận về FPT, HAYBài mẫu Tiểu luận về FPT, HAY
Bài mẫu Tiểu luận về FPT, HAY
 
Bài mẫu Tiểu luận về chính quyền địa phương, HAY
Bài mẫu Tiểu luận về chính quyền địa phương, HAYBài mẫu Tiểu luận về chính quyền địa phương, HAY
Bài mẫu Tiểu luận về chính quyền địa phương, HAY
 
Bài mẫu tiểu luận về công ty Vissan, HAY
Bài mẫu tiểu luận về công ty Vissan, HAYBài mẫu tiểu luận về công ty Vissan, HAY
Bài mẫu tiểu luận về công ty Vissan, HAY
 
Tiểu luận Chiến lược marketing của kinh đô, HAY
Tiểu luận Chiến lược marketing của kinh đô, HAYTiểu luận Chiến lược marketing của kinh đô, HAY
Tiểu luận Chiến lược marketing của kinh đô, HAY
 
Bài mẫu Tiểu luận về cà phê Trung Nguyên, HAY
Bài mẫu Tiểu luận về cà phê Trung Nguyên, HAYBài mẫu Tiểu luận về cà phê Trung Nguyên, HAY
Bài mẫu Tiểu luận về cà phê Trung Nguyên, HAY
 
Bài mẫu tiểu luận về bình đẳng giới, 9 ĐIỂM
Bài mẫu tiểu luận về bình đẳng giới, 9 ĐIỂMBài mẫu tiểu luận về bình đẳng giới, 9 ĐIỂM
Bài mẫu tiểu luận về bình đẳng giới, 9 ĐIỂM
 
Bài mẫu tiểu luận về bánh ngọt, HAY
Bài mẫu tiểu luận về bánh ngọt, HAYBài mẫu tiểu luận về bánh ngọt, HAY
Bài mẫu tiểu luận về bánh ngọt, HAY
 
Bài mẫu tiểu luận về báo in, HAY
Bài mẫu tiểu luận về báo in, HAYBài mẫu tiểu luận về báo in, HAY
Bài mẫu tiểu luận về báo in, HAY
 
Bài mẫu Tiểu luận bảo vệ môi trường, HAY
Bài mẫu Tiểu luận bảo vệ môi trường, HAYBài mẫu Tiểu luận bảo vệ môi trường, HAY
Bài mẫu Tiểu luận bảo vệ môi trường, HAY
 
Tiểu luận thực trạng bạo lực gia đình Việt Nam hiện nay
Tiểu luận thực trạng bạo lực gia đình Việt Nam hiện nayTiểu luận thực trạng bạo lực gia đình Việt Nam hiện nay
Tiểu luận thực trạng bạo lực gia đình Việt Nam hiện nay
 
Tiểu luận Nguyên lý marketing với đề tài về BITIS, HAY
Tiểu luận Nguyên lý marketing với đề tài về BITIS, HAYTiểu luận Nguyên lý marketing với đề tài về BITIS, HAY
Tiểu luận Nguyên lý marketing với đề tài về BITIS, HAY
 

Recently uploaded

Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfhoangtuansinh1
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdfTrnHoa46
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................TrnHoa46
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...ThunTrn734461
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfTrnHoa46
 
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfchuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfVyTng986513
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...Nguyen Thanh Tu Collection
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...Nguyen Thanh Tu Collection
 
powerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxpowerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxAnAn97022
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhvanhathvc
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoámyvh40253
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Nguyen Thanh Tu Collection
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 

Recently uploaded (20)

Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdf
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
 
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfchuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
 
powerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxpowerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptx
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 

Luận văn: Nghiên cứu, thiết kế, chế tạo mobile robot tự hành tích hợp

  • 1. ĐẠ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 TẢI MIỄN PHÍ KẾT BẠN ZALO:0917 193 864 DỊCH VỤ VIẾT LUẬN VĂN CHẤT LƯỢNG WEBSITE: LUANVANTRUST.COM ZALO/TELEGRAM: 0917 193 864 MAIL: BAOCAOTHUCTAPNET@GMAIL.COM LUẬN VĂN THẠC SĨ CÔNG NGHỆ KỸ THUẬT CƠ ĐIỆN TỬ
  • 2. ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ---------------  --------------- TRỊNH TUẤN DƯƠNG NGHIÊN CỨU, THIẾT KẾ, CHẾ TẠO MOBILE ROBOT TỰ HÀNH TÍCH HỢP MỘT SỐ CÔNG NGHỆ XỬ LÝ ẢNH VÀ THUẬT TOÁN HIỆN ĐẠI Ngành: Công nghệ kỹ thuật cơ điện tử Chuyên ngành: Kỹ thuật cơ điện tử Mã số:8520114.01 LUẬN VĂN THẠC SĨ CÔNG NGHỆ KỸ THUẬT CƠ ĐIỆN TỬ NGƯỜIHƯỚNG DẪN KHOA HỌC: PGS.TS. PHẠM MẠNH THẮNG HÀ NỘI - 2020
  • 3. 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ày18 tháng 9 năm 2020 Học viên TrịnhTuấn Dương
  • 4. 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ày18 tháng 9 năm 2020 Học viên TrịnhTuấn Dương
  • 5. 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 robotbằ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
  • 6. iv 2.4.5Module điều khiển động cơ L298 ...................................................... 20 2.4.6Thiế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 đíchvà 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.1Tổng quan về xử lý ảnh ..................................................................... 27 3.2.2Khai thác thư viện OpenCV để hỗ trợ quá trình xử lý ảnh trong luận văn. ............................................................................................................ 28 3.2.3Mộ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.3Xâ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.3Thu nhỏ kích thước vạch ................................................................... 35 3.4.4Chia 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.2Truy bắt robot theo thuật toán Camshift ............................................42 3.6 Tìm đường cho robot ............................................................................... 46 3.6.1Giớ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 robottheo 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
  • 7. 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
  • 8. 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 robottrong luận văn và các robotbá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 robotdựa trên tín hiệu trả về của cảm biến dò line...............................................................................................................................................25
  • 9. 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 robotbá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
  • 10. 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 Robottự 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 robottheo 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 robottheo 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 robottheo 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
  • 11. 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
  • 12. 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 robotdạ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 robotdạ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Ả
  • 13. 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ề robottự 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].
  • 14. 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
  • 15. 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
  • 16. 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òntồ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].
  • 17. 6 Hình 1.7 Hệ thống RFID passive tags[11]. 1.2 Mục đích, đốitượ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à đốitượ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].
  • 18. 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 chomột mobile robots bám vạch từ [18].
  • 19. 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ôngnghệ giao tiếp không dây.
  • 20. 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.
  • 21. 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ừ
  • 22. 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ĩnh vực khác nhau như: - Thời trang - Giáo dục, nghiên cứu - Xây dựng - Giao thông - Quân sự - Y tế - - Hình 2.1 Một mô hình đang được in theo công nghệFDM [22]. Có nhiều công nghệ khác nhau được phát triển để có thể in 3D, ví dụ như FDM, SLA, SLS. Trong đó, công nghệ FDM ( fused deposition modeling – tạo mô hình bằng cách hợp nhất lắng đọng) được sử dụng phổ biến hơn cả, chiếm tới
  • 23. 12 46% theo thống kê năm 2018 [22]. Công nghệ này tuy ra đời sau, nhưng có ưu điểm là giá thành rất rẻ nên có độ phổ biến cao, và đây cũng là công nghệ được lựa chọn để chế tạo phần khung vỏ cho mobile robot trong luận văn. 2.2.1.1 Quy trình tạo mẫu theo công nghệin 3D FDM: - Tạo mô hình 3D: Mô hình 3D có thể được tạo bằng cách thiết kế trên các phần mềm chuyên dụng hoặc thông qua việc quét mẫu bằng máy quét laser (laser scanner). - Tạo file in 3D: Đây là quá trình tạo file để nạp trực tiếp vào máy in 3D. Quá trình này bản chất là nhằm chia mô hình ra thành từng lớp để có thể in 3D (slicing) được thực hiện dưới sự trợ giúp của các phần mềm chuyên dụng. Trong quá trình này, việc thiết lập các thông số, ví dụ như độ rỗng, nhiệt độ in, tốc độ in sẽ ảnh hưởng trực tiếp đến chất lượng vật thể in 3D được tạo thành. - In 3D vật thể: Trong quá trình này, máy in 3D sẽ in từng lớp xếp chồng lên nhau để tạo thành vật thể. Theo đó, vật liệu được sử dụng có thể là các sợi nhựa PLA hay ABS sẽ được kéo và làm nóng chảy khi đi qua module sinh nhiệt. Sau đó, theo sự di chuyển của đầu phun sẽ được in ra thành từng lớp xếp chồng lên nhau. Các lớp này trong quá trình nguội đi sẽ liên kết với nhau và tạo thành vật thể. - Hậu xử lý: Đây là quá trình loại bỏ các phần nâng đỡ vật thể trong quá trình in (support) hoặc đánh bóng vật thể theo nhiều phương pháp khác nhau để vật thể đạt độ bóng hoặc độ thẩm mỹ mong muốn. 2.2.1.2 Ưu, nhược điểm của công nghệ in 3D FDM: Công nghệ in 3D FDM có một số ưu, nhược điểm chính như được trình bày tại bảng 2-1. Bảng 2-1 Một vài ưu, nhược điểm của công nghệin 3D FDM. Ưu điểm - Giá thành rẻ. - Nguyên liệu sử dụng đa dạng. - Độ phổ biến cao nên dễ tiếp cận. - Thíchhợp cho quá trình tạo mẫu. Nhược điểm - Thời gian in rất lâu. - Các máy giá rẻ chỉ in được các vật liệu dễ nóng chảy như
  • 24. 13 PLA. - Việc thiết kế mô hình và thiết lập các thông số ảnh hưởng lớn đến chất lượng mô hình, do đó yêu cầu kinh nghiệm của người sử dụng. - Không phù hợp cho quá trình sản xuất hàng loạt. 2.2.2 Thiết kế, chế tạo khung vỏ của robot bằng công nghệ in 3D FDM. Mobile robotđược thiết kế để đảm bảo các yêu cầu sau: - Dễ dàng tháo lắp. - Sắp xếp hợp lý các bộ phận. - Tiện lợi trong quá trình sử dụng. - Đủ độ cứng vững. - Có tính thẩm mỹ. Dựa trên các yêu cầu trên, mô hình 3D của robotđược thiết kế như hình 2.2 và 2.3 và được hoàn thiện như trên hình 2.4. Hình 2.2 Mặt trước mô hình 3D mobile robot.
  • 25. 14 Hình 2.3 Mặt sau mô hình 3D của mobile robot. Hình 2.4 Mô hình mobile robot hoàn thiện.
  • 26. 15 2.3 Thiết kế mạch nguyên lý cho mobile robot Mạch nguyên lý của hệ thống được thiết kế như hình 2.5. Trong đó bao gồm 2 module chính: - Module truyền dữ liệu gồm 1 board Arduino và 1 chip NRF24L01+. Chương trình xử lý ảnh sẽ gửi dữ liệu tới mobile robot qua module truyền dữ liệu. - Module nhận dữ liệu chính là mobile robot, gồm 1 chip Arduino, các cảm biến, nguồn, động cơ, module L298 và 1 module NRF24L01+. 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. 2.4 Thiết lập chế độ làm việc cho các linh kiện 2.4.1 Arduino Uno Board Arduino Uno được trọn làm bộ điều khiển trung tâm của robot. Board Arduino Uno được phát triển để hỗ trợ cho việc học tập, nghiên cứu, và các dự án tạo mẫu (phát triển các sản phẩm thử nghiệm). Board có các đặc tính kỹ thuật để đáp ứng cho mục đích của luận văn như:
  • 27. 16 - Tần số làm việc cao: 16MHz - Bộ nhớ flash: 32 KB - Số lượng chân vào ra số:14 (6 chân có thể tạo xung PWM) - Số lượng chân tương tự: 6 - Hỗ trợ các giao tiếp SPI, I2C, Serial [9]. Arduino Uno sẽ thực hiện các nhiệm vụ chính sau: - Đọc tín hiệu từ cảm biến dò line. - Giao tiếp với module NRF24L01 để truyền và nhận dữ liệu. - Điều khiển hoạt động của robotdựa trên dữ liệu từ cảm biến dò line và dữ liệu nhận được qua giao tiếp không dây. - Xuất tín hiệu ra module L298 để điều khiển động cơ. Hình 2.6 Board Arduino Uno [9] 2.4.2 QTR – 5RC Để robot có thể bám đường thì các cảm biến hồng ngoại được sử dụng rất phổ biến do đặc điểm của đường dạng vạch (line) thường là nền đen vạch trắng hoặc nền trắng vạch đen. Tia hồng ngoại bị hấp thụ gần như hoàn toàn trên nền đen và bị phản xạ gần như hoàn toàn trên nền trắng giúp cho cảm biến hồng ngoại gần như là lựa chọn đơn giản và hiệu quả nhất khi muốn robot bám theo vạch. Có rất nhiều loại cảm biến hồng ngoại được sản xuất để sử dụng trong các ứng dụng khác nhau ví dụ như các cảm biến hồng ngoại tiệm cân hay các cảm biến
  • 28. 17 PIR. Trong số đó, QTR-RC là một loại cảm biến hồng ngoại được sản xuất để phục vụ việc dò line với các đặc điểm như gồm nhiều cặp led thu phát và giá trị trả về là liên tục. Một vài thông số của cảm biến như sau: Hình 2.7 Cảm biến QTR - 5RC [16]. - Điện áp sử dụng: 3.3~5VDC - Dòng tiêu thụ: <70mA - Khoảng cách tốt nhất với bề mặt đường là 4mm, tối đa 7mm - Kích thước nhỏ gọn: 69x12mm Nguyên lý hoạt động: Cảm biến gồm 5 cặp thu phát (Led và quang trở) được bố trí cách đều nhau. Nguyên lý làm việc của mỗi cặp thu phát như sau: Kể từ khi có tín hiệu phát từ Led, thời gian suy giảm điện áp trên quang trở sẽ tỉ lệ với mức độ phản xạ của tia hồng ngoại xuống nền. Thời gian suy giảm càng nhanh thì mức đô phản xạ càng lớn và ngược lại. Phương thức đo này có những ưu điểm như sau: - Không cần dùng đến phương pháp biến đổiADC - Có khả năng thực hiện phép đo song song cho nhiều cặp cảm biến. - Việc đọc song songkhiến cho khả năng sử dụng các Led được tối ưu hơn. Vậy, để đọc được dữ liệu từ một cặp thu phát trên cảm biến này thì phải thực hiên các bước như sau: - B1: Bật IR Led - B2: Thiết lập chân I/O. - B3: Chờ tối thiểu 10 us để điện áp lên mức cao.
  • 29. 18 - B4: Thiết lập chân I/O là đầu vào. - B5: Đo thời gian suy giảm điện áp trên chân I/O - B6: Tắt IR Led Với mức độ phản xạ mạnh thì thời gian suy giảm tín hiệu có thể chỉ là vài chục us. Trong khi với mức độ phản xạ yếu thì thời gian này có thể lên đến vài ms [16]. 2.4.3 Module thu phát sóng Radio nRF24L01 Module NRF24L01 được sử dụng để truyền nhận dữ liệu giữa module phát và module thu trên mobile robot. Trong đó, nRF24L01 là chip thu phát sóng radio ở dải tần 2.4-2.5 GHz do hãng Nordic Semiconductor sản xuất. Chip này có thể được thiết lập để hoạt động ở nhiều chế độ và có mức tiêu thụ năng lượng thấp. Hình 2.8 Module thu phátsóng radio NRF24L01[12]. Một số đặc điểm của module NRF24L01 [12]: - Khoảng cách thu phát lên đến 100 m với địa hình ít vật cản. - Có khả năng truyền nhận tín hiệu 2 chiều (vừa đóng vai trò module phát và module thu được cùng một lúc). - Tần số thu phát sóng radio: 2.4Ghz - Giao tiếp với vi điều khiển thông qua giao tiếp SPI Trong luận văn, các module NRF24L01 sẽ được thiết kế để thực hiện giao tiếp một chiều với nhau, và giao tiếp với Arduino Uno thông qua giao tiếp SPI.
  • 30. 19 2.4.4 Động cơ DC Hình 2.9 Động cơ DC GA25 [10] Động cơ được trang bị cho robot là động cơ DC. Đây là loại động cơ chạy bằng dòng điện một chiều, tốc độ và chiều quay của động cơ có thể được thay đổi thông qua chiều và cường độ điện áp đặt lên hai cực của động cơ. Khi so sánh với các loại động cơ khác như động cơ bước, hay động cơ RC servo thì động cơ DC là phù hợp nhất đối với mobile robot. Mobile robot trong luận văn có khối lượng nhỏ và không có yêu cầu nào về chịu tải nên không cần sử dụng động cơ có công suất lớn. Do đó, động cơ DC được chọn chỉ cần thỏa mãn các yêu cầu sau: - Công suất trung bình. - Điện áp làm việc trong khoảng nguồn cấp bằng pin của robot là 12V. - Giá thành thấp. Từ đó, động cơ DC GA25 được chọn với một vài thông số cơ bản như sau [10]: - Điện áp hoạt động: 3 – 12 Volt DC - Tỉ số truyền hộp giảm tốc:1:34 - Số xung của encoder: 374 xung/ vòng - Tốc độ không tải: 320 rpm - Dòng không tải: 80 mA
  • 31. 20 - Công suất định mức: 13.2W - Dòng khi động cơ bị giữ: 2.29A - Momen khi bị giữ: 7.96 kgf.cm 2.4.5 Module điều khiển động cơ L298 Hình 2.10 Module điều khiển động cơ L298 [20] Thông thường để điều khiển một động cơ DC thì phải dùng một mạch cầu để có thể điều khiển cả chiều quay và tốc độ. IC L298 với thiết kế gồm 2 mạch cầu tích hợp được ứng dụng rất phổ biến trong điều khiển động cơ. L298 có thể điều khiển động cơ bước hoặc 2 động cơ DC đồng thời. IC này có một số đặc điểm cơ bản sau [20]: - Điện áp nuôi có thể lên đến 46V - Dòng DC làm việc lên đến 4A - Bảo vệ quá nhiệt Module L298 chứa hai mạch cầu H nên có thể được sử dụng để điều khiển tốc độ và chiều quay của 2 động cơ DC của robot (hình 2.11). Các trạng thái quay của từng động cơ (quay thuận, quay ngược hay dừng lại) có thể được điều khiển thông qua việc thiết lập mức logic của các chân In1 đến In4 của module. Ngoài ra, tốc độ của động cơ cũng có thể được điều khiển qua module nhờ phương pháp PWM. PWM là phương pháp điều chỉnh điện áp trung bình trên tải bằng cách thay đổi độ rộng xung. Về bản chất thì PWM chính là việc đóng ngắt nguồn cấp cho tải theo một chu kỳ nhất định. Việc đóng ngắt này được thực hiện bằng các khóa điện tử như Transistor hay MOSFET. Các xung có độ rộng khác nhau sẽ cung cấp điện áp trung bình trên tải khác
  • 32. 21 nhau. Điện áp trung bình đầu ra khi sử dụng phương pháp PWM được tính gần đúng theo: = . = . Với: - là điện áp trung bình - là điện áp tối đa của nguồn - t là thời gian xung ở mức logic cao - d (duty cycle) là phần trăm giữa thời gian xung ở mức logic cao so với chu kỳ xung. Vậy, từ hành vi của robot, các trạng thái về chiều quay cũng như tốc độ của các động cơ sẽ được thiết lập bằng cách điều khiển các chân tương ứng và ghi giá trị PWM vào module L298. Hình 2.11 Cấu tạo của IC điều khiển động cơ L298. 2.4.6 Thiết lập giao tiếp cho robot Dữ liệu được truyền từ máy tính xuống robottheo nguyên lý được trình bày trên hình 2.12. Hình 2.12 Sơđồ truyền dữ liệu từ chương trình xử lý ảnh đến robot.
  • 33. 22 - Chương trình xử lý ảnh trên máy tính sẽ truyền dữ liệu xuống module phát là board Arduino thông qua giao tiếp Serial. Đây là giao tiếp nối tiếp với tốc độ Baud mặc định 9600, đã được tích hợp sẵn trên Arduino. - Hai module NRF24L01 có khả năng truyền nhận hai chiều, giao tiếp qua sóng radio ở tần số 2.4 GHz. - Các board Arduino kết nối với module NRF24L01 qua giao tiếp SPI. Đây là một loại giao tiếp nối tiếp đồng bộ khoảng cách ngắn thường được dùng trong hệ thống nhúng. Các bước để giao tiếp giữa board Arduino và module NRF24L01 như sau: + Thiết lập chân giao tiếp + Tạo mảng dữ liệu + Khởi tạo địa chỉ giao tiếp + Gán địa chỉ giao tiếp + Thiết lập mức khuếch đại + Thiết lập module NRF24L01 là module nhận hay phát dữ liệu + Truyền, nhận dữ liệu. 2.5 Viết chương trình điều khiển cho mobile robot Mobile robothoạt động theo nguyên lý tổng quan như trên hình 2.13. Đầu tiên, mobile robot sẽ khởi tạo trạng thái các chân, khởi tạo các biến và các thông số cho việc đọc tín hiệu cảm biến, điều khiển động cơ, giao tiếp Serial và giao tiếp không dây qua sóng radio. Sau đó, robot sẽ tự động tiến hành việc căn chỉnh việc đọc tín hiệu cho cảm biến dò line để sẵn sàng cho quá trình bám line.
  • 34. 23 Hình 2.13 Nguyên lý hoạt động của mobile robot Tiếp theo, mobile robot sẽ kết hợp giữa việc đọc cảm biến dò line và việc đọc lệnh điều khiển nhận được từ chương trình xử lý ảnh để đi đến đích. Trong quá trình di chuyển, nếu lệnh điều khiển không phải là các lệnh đặc biệt như lệnh yêu cầu dừng lại (từ phía người dùng hoặc là đã đi đến đích), thì robot di chuyển chủ yếu dựa vào việc đọc cảm biến dò line và tiến hành bám line. Chỉ khi gặp các trường hợp ngã rẽ đặc biệt thì robot sẽ sử dụng dữ liệu điều khiển từ chương trình xử lý ảnh để xác định nên di chuyển như thế nào. Sự khác biệt giữa hành vi của robot được thiết kế trong luận văn khi gặp ngã rẽ so với các robot bám line thông thường khi dò đường được so sánh trong bảng 2-2.
  • 35. 24 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 Loại ngã rẽ Robottrong luận văn Robot dò Robot dò đường bám đường bám trái phải Đường cụt Quay đầu. Quay đầu Quay đầu Tuy nhiên trong thực tế hiếm gặp trường hợp này vì luôn đi theo sự dẫn hướng của chương trình xử lý ảnh. Ngã rẽ phải Rẽ phải Rẽ phải Rẽ phải Ngã rẽ trái Rẽ trái Rẽ trái Rẽ trái Ngã rẽ phải và đi Đọc hướng điều khiển từ Đi thẳng Rẽ phải thẳng chương trình xử lý ảnh Ngã rẽ trái và đi Đọc hướng điều khiển từ Rẽ trái Đi thẳng thẳng chương trình xử lý ảnh Ngã rẽ chữ T Đọc hướng điều khiển từ Rẽ trái Rẽ phải chương trình xử lý ảnh Ngã rẽ chữ thập Đọc hướng điều khiển từ Rẽ trái Rẽ phải chương trình xử lý ảnh Bảng 2-2 cho thấy, đối với mobile robot bám vạch trong luận văn thì việc xác định ngã rẽ chỉ còn lại những trường hợp là đường cụt, ngã rẽ phải, ngã rẽ trái, và các trường hợp còn lại thì có bản chất như nhau cần có sự dẫn hướng của chương trình xử lý ảnh nên có thể gọi chung là gặp ngã rẽ. Nhờ việc đọc hướng điều khiển trực tiếp từ chương trình xử lý ảnh, nên robot trong luận văn có khả năng đi chính xác đến đích luôn so với việc phải dò đường, bám trái bám phải như các robot dò đường đang được so sánh. Việc xác định ngã rẽ của robot bám vạch trong luận văn được thực hiện qua việc đọc tín hiệu trả về từ cảm biến dò
  • 36. 25 line như bảng 2-3. Cảm biến QTR – 5RC là loại cảm biến trả về các tín hiệu dưới dạng Analog. Độ lớn của các tín hiệu này tỉ lệ với độ nằm gần vạch của các cặp thu phát hồng ngoại. Cặp thu phát nào càng nằm gần vạch thì tín hiệu analog tương ứng có độ lớn càng cao và ngược lại. Từ đó, các ngưỡng lọc trên và lọc dưới được xác định trên thực nghiệm để xét việc cặp thu phát nào nằm trên vạch hay ngoài vạch. Các điều kiện trên bảng 2-3 như sau: , > { ,< , ℎô é Với: - Di: Giá trị analog tín hiệu của cặp thu phát thứ i. - : Giá trị ngưỡng lọc trên. - : Giá trị ngưỡng lọc dưới. Bảng 2-3 Kết quả xác định ngã rẽ và hành vi của robot dựa trên tín hiệu trả về của cảm biến dò line. Cặp thu Cặp thu Cặp thu Cặp thu Cặp thu Kết quả và hành vi phát 0 phát 1 phát 2 phát 3 phát 4 O O O O O Gặp ngã rẽ Ngã rẽ phải hoặc ngã rẽ phải và đi thẳng. Cần đi thêm khoảng 1 inch nếu X NA O NA O đọc lại tín hiệu là đường cụt thì rẽ phải. Nếu không phải tức là trường hợp ngã rẽ phải và đi thẳng. O NA O NA X Ngã rẽ trái hoặc ngã rẽ trái và đi thẳng. Cần đi thêm khoảng 1 inch nếu
  • 37. 26 đọc lại tín hiệu là đường cụt thì rẽ trái. Nếu không phải tức là trường hợp ngã rẽ trái và đi thẳng. X X X X X Đường cụt X X X X O Không gặp ngã rẽ, bám vạch X X X O O Không gặp ngã rẽ, bám vạch X X X O X Không gặp ngã rẽ, bám vạch X X O O X Không gặp ngã rẽ, bám vạch X X O X X Không gặp ngã rẽ, bám vạch X O O X X Không gặp ngã rẽ, bám vạch X O X X X Không gặp ngã rẽ, bám vạch O O X X X Không gặp ngã rẽ, bám vạch O X X X X Không gặp ngã rẽ, bám vạch
  • 38. 27 CHƯƠNG 3 XÂY DỰNG CHƯƠNG TRÌNH XỬ LÝ ẢNH VÀ ĐỊNH HƯỚNG CHO MOBILE ROBOT 3.1 Mục đíchvà nội dung của chương trình Chương trình xử lý ảnh được viết bằng ngôn ngữ C++ kết hợp với việc sử dụng thư viện OpenCV có mục đích định vị, tìm đường và dẫn hướng cho robot trong quá trình di chuyển theo thời gian thực. Để đạt được những mục tiêu đó, chương trình cần phải giải quyết được các nội dung sau: - Có khả năng tương tác với người sử dụng. Người dùng chương trình có thể chọn vị trí đíchcho robotbằng cách kích chuột. - Tạo bản đồ và xác định đường đi bằng công nghệ xử lý ảnh, Tìm đường ngắn nhất đến đíchtheo thuật toán tìm đường. - Định vị robot. Chương trình phải có khả năng định vị robottheo thời gian thực để cập nhật vị trí của robot. - Giao tiếp với thiết bị ngoại vi để gửi tín hiệu dẫn hướng cho robottheo thời gian thực. 3.2 Ứng dụng công nghệ xử lý ảnh trong luận văn 3.2.1 Tổng quan về xử lý ảnh Theo [25], Xử lý ảnh hay còn gọi là thị giác máy (Computer Vision) là một lĩnh vực liên quan đến việc xử lý các dữ liệu thu được từ ảnh để giúp máy tính có được các thông tin cần thiết từ ảnh. Từ góc nhìn kỹ thuật thì nhiệm vụ của xử lý ảnh là cố gắng tiếp cận với sự tự động hóa mà hệ thống thị giác của con người có thể thực hiện. Các nhiệm vụ của xử lý ảnh bao gồm thu thập, xử lý, phân tích và hiểu được các loại ảnh, và từ đó trích lọc ra các lớp dữ liệu về thế giới thực để có thể thu được dữ liệu dạng số. Các lĩnh vực con của xử lý ảnh bao gồm tái tạo cảnh, phát hiện sự kiện, nhận diện vật thể, ước lượng chuyển động. Xử lý ảnh được ứng dụng rộng rãi trong nhiều lĩnh vực từ gia đình cho đến công nghiệp. Một số ứng dụng của xử lý ảnh có thể được kể đến như: - Tự động chẩn đoán: Ví dụ trong các lĩnh vực chế tạo. - Trợ giúp con người trong các nhiệm vụ phân loại, nhận diện. - Kiểm soát, điều khiển quá trình: Ví dụ trong lĩnh vực robotcông nghiệp.
  • 39. 28 - Phát hiện sự kiện. Ví dụ: Các lĩnh vực giám sát bằng thị giác hoặc đếm người. - Tương tác. Ví dụ: Trong các lĩnh vực hỗ trợ tương tác giữa người và máy. - Mô hình hóa đối tượng hoặc môi trường xung quanh. Ví dụ: Trong các lĩnh vực y tế. - Định hướng. Ví dụ: Trong các loại phương tiện tự hành hoặc mobile robot. 3.2.2 Khai thác thư viện OpenCV để hỗ trợ quá trình xử lý ảnh trong luận văn. Luận văn sử dụng thư viện mã nguồn mở OpenCV (Open Source Computer Vision Library) phiên bản 3.2 để hỗ trợ trong quá trình xử lý ảnh. Đây là một thư viện có thể được áp dụng khi sử dụng các ngôn ngữ lập trình khác nhau như C++ hay Python. Nhờ có sự trợ giúp của OpenCV, người lập trình có thể thuận tiện và nhanh chóng hơn trong việc xây dựng các chương trình, ứng dụng liên quan đến xử lý ảnh. OpenCV bao gồm hơn 2500 thuật toán xử lý ảnh và thuật toán máy học (machine learning) đã được tối ưu. Các thuật toán này có thể được sử dụng để nhận diện khuôn mặt, phân biệt vật thể, phân loại hành động của con người, truy bắt chuyển động của vật thể hay giải quyết rất nhiều các bài toán xử lý ảnh và máy học khác. OpenCV chính thức ra mắt vào năm 1999 và tính đến nay, sau nhiều phiên bản được phát hành thì phiên bản chính thức mới nhất là bản 4.3 được phát hành vào ngày 3/4/2020. Hình 3.1 Các modulechính trong thư viện OpenCV [25]
  • 40. 29 OpenCV gồm các module chính như trên hình 3.1: - Module CV hỗ trợ quá trình xử lý ảnh. - Module MLL gồm các công cụ thống kế, phân loại hỗ trợ quá trình máy học (machine learning). - HighGUI hỗ trợ quá trình tạo giao diện, tương tác với người dùng. - CXCore bao gồm các cấu trúc dữ liệu cơ bản [29]. 3.2.3 Một số khái niệm và thuật ngữ quan trọng về xử lý ảnh được sử dụng trong luận văn - Điểm ảnh (Pixel): Điểm ảnh là đơn vị nhỏ nhất tạo thành ảnh. Mỗi ảnh có thể coi như một tập hợp gồm nhiều điểm ảnh. Ảnh có độ phân giải càng cao thì sẽ chứa càng nhiều điểm ảnh dù cùng một kích thước. Ảnh có độ phân giải càng cao thì độ sắc nét và chi tiết càng gần với thực tế, nhưng khi được xử lý sẽ khiến tốc độ chương trình chậm đi do khối lượng dữ liệu nhiều hơn. - Ảnh số (Digital Image): Đây là các ảnh đã được số hóa nhằm phục vụ quá trình lưu trữ hoặc xử lý , trích xuất dữ liệu. Có thể coi ảnh số là một ma trận nhiều chiều chứa dữ liệu đã được số hóa của ảnh. - Không gian màu: Có nhiều cách khác nhau để đánh giá một màu sắc được tạo thành từ những yếu tố nào. Và mỗi cách đánh giá, biểu diễn đó là một không gian màu. Do đó, cùng một ảnh nhưng có thể có ma trận dữ liệu khác nhau khi lưu trữ ở không gian màu khác nhau. Có hai không gian màu cơ bản thường được sử dụng là RGB và HSV. Trong không gian màu RGB, mỗi màu sắc cụ thể đều có thể coi như một sự pha trộn kết hợp theo một tỉ lệ nhất định giữa ba màu cơ bản là Đỏ (Red), Lục (Green) và Lam (Blue) [24]. Ảnh số thu được trên OpenCV bao giờ mặc định cũng được lưu trên không gian màu này. Trong không gian màu HSV thì mỗi màu sắc cụ thể lại được coi như sự kết hợp giữa ba yếu tố là Sắc thái (Hue), Độ bão hòa màu (Saturtion) và Cường độ sáng (Value -Brightness) [26]. Trong đó, Hue sẽ quyết định giá trị màu sắc cơ bản, Saturation sẽ quyết định độ đậm nhạt của màu (mức độ có mặt của màu, hay còn gọi là độ bão hòa màu) và giá trị Value sẽ quyết định mức độ sáng tối của màu. Việc phân chia theo ba yếu tố như vậy rất thuận lợi trong các ứng dụng liên quan đến việc nhận diện màu sắc, do đó ảnh số ở không gian màu RGB thường được chuyển sang không gian màu HSV.
  • 41. 30 - Ảnh xám (grey scale image) và ảnh nhị phân (binary image). Khác với ảnh màu, ảnh xám là ảnh được lưu ở không gian một chiều, mỗi pixel có giá trị từ 0 đến 255 thể hiện mức xám khác nhau. Ảnh xám được tạo ra từ sự kết hợp giữa các thành phần không gian màu của ảnh màu. Ảnh nhị phân là ảnh một chiều mà mỗi điểm ảnh chỉ có hai giá trị là 0 hoặc 1. Hình 3.2 Không gian màu RGB [24] Hình 3.3 Không gian màu HSV [26]
  • 42. 31 3.3 Xây dựng nguyên lý hoạt động của chương trình xử lý ảnh Chương trình xử lý ảnh có nguyên lý hoạt động như trên hình 3.4. Khi hoạt động, đầu tiên chương trình sẽ tạo bản đồ số từ ảnh thu được từ camera. Bước này gồm một loạt các quá trình như: Cho phép người sử dụng xác định vùng quan tâm trên ảnh bằng kỹ thuật ROI, xác định line bằng kỹ thuật phân ngưỡng nhị phân ngược, thu gọn kích thước của line, tiến hành chia lưới để phục vụ cho thuật toán tìm đường sẽ được áp dụng sau. Hình 3.4 Nguyên lý hoạt động của chương trình xử lý ảnh.
  • 43. 32 Sau đó, chương trình sẽ khởi tạo quá trình nhận diện robot. Trong quá trình này, người dùng sẽ xác định các vùng đánh dấu trên robot và tiến hành thay đổi các giá trị HSV để thu được dữ liệu tốt nhất phục vụ cho quá trình chương trình xử lý ảnh truy bắt robot về sau. Tiếp đến, người dùng có thể chọn vị trí đíchcủa robot thông qua việc kích chuột trên bản đồ. Sau khi xác nhận, quá trình tìm đường tự động bằng thuật toán A* sẽ diễn ra. Sau khi tìm được đường đi phù hợp, chương trình sẽ truy bắt robot và gửi lệnh điều khiển theo thời gian thực hướng dẫn robot đi tới đích. 3.4 Tạo bản đồ 3.4.1 Dùng ROI để xác định vùng hoạt động của robot ROI là viết tắt của Region of Interest – vùng quan tâm, là một kỹ thuật rất cơ bản nhưng rất hữu dụng trong xử lý ảnh [2]. Kỹ thuật này giúp thiết lập lên ảnh các vùng quan tâm, từ đó, mọi việc tính toán chỉ xảy ra ở vùng quan tâm. Điều này mang lại các lợi ích sau: - Khối lượng tính toán được giảm bớt. - Các vùng không quan tâm được loại bỏ đồng nghĩa với việc giảm thiểu được khả năng tính toán sai do ảnh hưởng của “nhiễu”. 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).
  • 44. 33 Chương trình xử lý ảnh trong luận văn cho phép người sử dụng sự kiện chuột để khoanh vùng ROI. Trong mô hình được xây dựng để thử nghiệm thì khoảng cách giữa camera và bản đồ là tương đối gần. Do đó, kỹ thuật ROI chỉ được sử dụng để cắt đi một phần nhỏ bản đồ để tránh việc một phần của robot trong khi di chuyển sẽ nằm ngoài vùng quan tâm. Tuy chỉ giảm được một phần nhỏ khối lượng tính toán, nhưng việc áp dụng ROI vẫn có ý nghĩa quan trọng trong việc giúp ảnh có tính chất bimodal, thuận lợi hơn trong việc xác định đường. Trên hình 3.5, việc áp dụng ROI giúp làm giảm đi một phần bản đồ và quan trọng hơn và loại bỏ được phần màu vàng của nền nhà, từ đó giúp ảnh có tính chất bi- modal, giúp chương trình thuận lợi hơn trong quá trình phân ngưỡng tìm line. 3.4.2 Xác định đường đi của robot(tìm line) Vạch trên bản đồ chính là các đường để giúp AGV có thể di chuyển. Do đó, chương trình cần xác định được đâu là vạch trên bản đồ để có thể áp dụng các thuật toán tìm đường. Dù là vạch được tạo từ băng dính thường, sơn hay vạch từ (magnetic line) thì đều có đặc điểm là màu sắc thường tương phản lớn so với nền. Vì vậy, thuật toán phân ngưỡng nhị phân ngược được áp dụng để tìm đường [2]: ( , ) = 0, ( , ) > ℎ ℎ { , ( , ) ≤ ℎ ℎ Trong đó: ( , ) là giá trị của pixel sau khi phân ngưỡng. ( , ) là giá trị gốc của pixel trước khi phân ngưỡng. là giá trị lớn nhất của pixel. ℎ ℎ là ngưỡng dùng để phân ngưỡng. Việc xác định Thresh để cho ra kết quả tốt nhất tương đối phức tạp vì giá trị này phụ thuộc vào bản đồ trên thực tế, điều kiện ánh sáng chiếu vào bản đồ. Nếu chọn giá trị này không chính xác sẽ khiến việc xác định line không chính xác (thừa hoặc mất line). Do đó, chương trình được xây dựng với giá trị thresh nằm tại một thanh trượt. Điều này giúp người dùng thay đổi một cách nhanh chóng các giá trị thresh và xem kết quả thu được để từ đó có thể tinh chỉnh cho ra kết quả tốt nhất.
  • 45. 34 Trong điều kiện ảnh thỏa mãn tính chất bi-modal histogram (ảnh có histogram dạng phân thành hai cực gần đều) thì có thể dùng phân ngưỡng Otsu (Otsu’ method) để tìm ngưỡng một cách tự động [6]. Kết quả thu được khi thử nghiệm trên 2 bản đồ (hình 3.6 và 3.7) cho thấy vạch được xác định hoàn toàn chính xác và không bị nhiễu mặc dù điều kiện ánh sáng là không đồng đều, các vùng trên ảnh có độ sáng không đều nhau. Hình 3.6 Kết quả xác định vạch theo bằng phươngphápphân ngưỡng nhị phân ngược trên bản đồ 1. Hình 3.7 Kết quả xác định vạch theo bằng phươngphápphânngưỡngnhị phân ngược trên bản đồ 2.
  • 46. 35 3.4.3 Thu nhỏ kích thước vạch Khác với các loại bản đồ khác, đường đi của AGV bám vạch là vạch với đặc điểm dài, và mảnh. Điều này khiến cho việc chia lưới mỏng gặp nhiều khó khăn do khả năng xảy ra tình trạng sai hoặc thiếu thông tin về vạch. Do đó, mỗi pixel trên ảnh sẽ được xác định là một nút. Vì vậy, cần phải làm giảm kích thước của vạch để phần nào giảm được khối lượng tính toán mà vẫn đảm bảo không làm sai lệch dữ liệu tính toán. Có thể sử dụng các thuật toán tự động như skeleton để thu nhỏ vạch, nhưng nhược điểm của nó là sinh ra các đường nét thừa và làm đứt vạch. Đây là những điều không thể chấp nhận được vì nó làm sai lệch tính chất thông tin về đường đi của robot. Do đó, hình thái co ảnh kết hợp với thanh trượt quyết định giá trị kernel được sử dụng để thu nhỏ đường đi. Phép toán hình thái co ảnh (erosion) [2]: ( , ) = min ′, ′∈ ( + ′, + ′) Trong đó: ( , ) là giá trị của pixel sau khi áp dụng co ảnh. ( + ′, + ′) là giá trị pixel thuộc vùng ma trận mỏ neo có vị trí + ′, + ′. là kích thước của ma trận mỏ neo. Kết quả trên hình 3.8 và 3.9 cho thấy phạm vi của vạch giảm đi đáng kể sau khi áp dụng thuật toán co ảnh. Phạm vi của vạch giảm đi đồng nghĩa với việc số nút thuộc vạch cũng giảm, từ đó sẽ làm tăng tốc độ tìm đường khi áp dụng thuật toán A* vì số nút phải xét giảm.
  • 47. 36 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. 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. 3.4.4 Chia nút và xác định thông số của các nút Thuật toán tìm đường được thực hiện với cơ sở là xét các nút. Do đó, bản đồ cần được chia thành các nút với đầy đủ các thông số để có thể áp dụng thuật toán tìm đường. Ví dụ về việc chia nút cho một bản đồ được thể hiện trên hình 3.10. Với đặc tính của vạch là kích thước dài và mảnh, nên để không bỏ xót hoặc gây sai lệch thông tin về vạch thì mỗi pixel trên ảnh sẽ được gán là một nút với các dữ
  • 48. 37 liệu sau [8]: - Vị trí của nút. - Nút có thuộc đường hay không - Giá trị chi phí tổng - Giá trị chi phí từ nút xuất phát - Giá trị chi phí tương đối đến đích - Có phải là nút xuất phát hay nút đíchkhông - Đã nằm trong danh sách các nút đã xét chưa - Vị trí nút mẹ của nút đó 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]. 3.5 Ứng dụng thuật toán Camshift trong việc truy bắt, định vị robot. 3.5.1 Giới thiệu thuật toán Camshift. Thuật toán Camshift là một thuật toán dạng phân đoạn ảnh được phát triển bởi Gary Bradski. Thuât toán này dựa trên nền của thuật toán meanshift nhưng được phát triển hơn với ưu điểm là kích thước của cửa sổ lọc có thể thay đổi. Thuật toán Camshift thường được sử dụng trong truy bắt đối tượng theo thời gian thực (real-time object tracking).
  • 49. 38 3.5.1.1 Thuật toán meanshift 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]. Thuật toán meanshift 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. Trên hình 3.11 các chấm đỏ thể hiện một tập hợp các điểm (có thể là phân phối các pixel hoặc histogram back projection – hình chiếu ngược histogram). Cửa sổ lọc được tạo sẵn (ở đây là hình tròn xanh da trời C1 với tâm là C1_o). Ý tưởng của thuật toán meanshift là liên tiếp dịch chuyển cửa sổ lọc này cho đến khi hội tụ tại trọng tâm của tập hợp các điểm. Rõ ràng, trong phạm vi C1 thì tâm của C1 là C1_o không trùng với trọng tâm của tập hợp điểm trong vùng này là C1_r. Do đó, cửa sổ lọc sẽ trượt đến vị trí mới sao cho tâm của nó trùng với C1_r. Tại vị trí mới này của cửa sổ lọc, thuật toán lại tiếp tục tính trọng tâm của tập hợp điểm trong 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
  • 50. 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.
  • 51. 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].
  • 52. 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].
  • 53. 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.
  • 54. 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 robothoạ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.
  • 55. 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.
  • 56. 45 Hình 3.17 Kết quả định vị mobile robot tại một số vị trí khác nhau.
  • 57. 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ậttoán tìm đường theo quytắc bám phải[30].
  • 58. 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: - Robotphả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í đíchthì 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.
  • 59. 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
  • 60. 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. - Robotkhô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].
  • 61. 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áchcá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:
  • 62. 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*. Robotkế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 robottheo thời gian thực. Các kết quả thử nghiệm tìm đường, định vị và dẫn hướng cho robottạ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.
  • 63. 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.
  • 64. 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.
  • 65. 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 đíchvà 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 robottheo 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
  • 66. 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.
  • 67. 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 đíchvà 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 robottheo 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.
  • 68. 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.
  • 69. 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 đíchvà 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 robottheo 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
  • 70. 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.
  • 71. 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 robotbám vạch truyền thống như sau: - Robotkhô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 robotnhờ 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ử
  • 72. 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.
  • 73. 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.