TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
ĐỒ ÁN TỐT NGHIỆP
NGHIÊN CỨU THIẾT KẾ ROBOT BẦY ĐÀN
PHẠM NGUYỄN TRUNG HIẾU – MSSV 20166113, CN Cơ điện tử 03 – K61
NGUYỄN TIẾN LINH ĐAN – MSSV 20165939, CN Cơ điện tử 01 – K61
VŨ THÀNH VƯƠNG – MSSV 20167028, CN Cơ điện tử 03 – K61
TỐNG QUANG ANH – MSSV 20165762, CN Cơ điện tử 01 – K61
PHAN HỒNG SƠN – MSSV 20153229, KSTN Cơ điện tử – K60
Chuyên ngành Cơ Điện Tử
Giảng viên hướng dẫn:
TS. Mạc Thị Thoa
Chữ kí của GVHD
TS. Trương Công Tuấn
Chữ kí của GVHD
TS. Nguyễn Trọng Doanh
Chữ kí của GVHD
Bộ môn:
Cơ Điện Tử
Viện:
Cơ Khí
HÀ NỘI, 7/2020
Bộ môn Cơ Điện Tử
BỘ GIÁO DỤC VÀ ĐÀO TẠO
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Độc lập – Tự do – Hạnh phúc
NHIỆM VỤ
THIẾT KẾ ĐỒ ÁN TỐT NGHIỆP
THÔNG TIN SINH VIÊN
Họ và tên: Phạm Nguyễn Trung Hiếu
SĐT: 036 260 8387
Lớp: CN-CĐT 03 K61
MSSV: 20166113
Email:
Bộ môn: Cơ Điện Tử - Viện: Cơ khí
Họ và tên: Vũ Thành Vương
SĐT: 037 799 5818
Lớp: CN-CĐT 03 K61
MSSV: 20167028
Email:
Bộ môn: Cơ Điện Tử - Viện: Cơ khí
Họ và tên: Nguyễn Tiến Linh Đan
SĐT: 093 632 8491
Lớp: CN-CĐT 01 K61
MSSV: 20165939
Email:
Bộ môn: Cơ Điện Tử - Viện: Cơ khí
Họ và tên: Tống Quang Anh
SĐT: 0836921011
Lớp: CN – CĐT 01 K61
MSSV: 20165762
Email:
Bộ môn: Cơ Điện Tử - Viện: Cơ khí
Họ và tên: Phan Hồng Sơn
SĐT: 08 6868 8904
Lớp: KSTN – CĐT K60
MSSV: 20153229
Email:
Bộ môn: Cơ Điện Tử - Viện: Cơ khí
I/ ĐỀ TÀI THIẾT KẾ
“Nghiên cứu thiết kế robot bầy đàn”
II/ YÊU CẦU
- Nghiên cứu và thiết kế robot bầy đàn.
- Sử dụng camera 3D để xây dựng bản đồ.
- Tìm và tính đường đi khả dĩ, tối ưu đường đi của robot bầy đàn.
- Phát hiện và tránh vật cản.
- Phát hiện được con người.
III/ NỘI DUNG THUYẾT MINH VÀ TÍNH TOÁN
- Tổng quan
- Thiết kế và gia công robot.
- Trình bày các thuật toán tích hợp trong robot.
IV/ CÁC BẢN VẼ VÀ ĐỒ THỊ
- Bản vẽ kĩ thuật của robot leader (A0)
1
Bộ môn Cơ Điện Tử
- Bản vẽ kĩ thuật của robot follower (A0)
V/ CÁN BỘ HƯỚNG DẪN:
- Tiến sĩ Mạc Thị Thoa
-
Tiến sĩ Trương Công Tuấn
-
Tiến sĩ Nguyễn Trọng Doanh
V/ NGÀY GIAO NHIỆM VỤ THIẾT KẾ:
VI/ NGÀY HOÀN THÀNH ĐỒ ÁN:
Hà Nội, ngày… tháng 7 năm 2020
Giáo viên hướng dẫn
2
Bộ môn Cơ Điện Tử
Đánh giá của giảng viên hướng dẫn
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
Kết quả đánh giá
Họ và tên
Hà Nội, ngày tháng năm 2020
Điểm
Giảng viên hướng dẫn
Phạm Nguyễn Trung Hiếu
Vũ Thành Vương
Nguyễn Tiến Linh Đan
Tống Quang Anh
Phan Hồng Sơn
3
Bộ môn Cơ Điện Tử
Đánh giá của giảng viên phản biện
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
Kết quả đánh giá
Họ và tên
Hà Nội, ngày tháng năm 2020
Điểm
Giảng viên phản biện
Phạm Nguyễn Trung
Hiếu
Vũ Thành Vương
Nguyễn Tiến Linh Đan
Tống Quang Anh
Phan Hồng Sơn
4
Bộ môn Cơ Điện Tử
LỜI CẢM ƠN
Lời đầu tiên, nhóm xin gửi lời cảm ơn đến các gia đình và bạn bè vì sự hỗ trợ của
họ. Nhóm cũng xin cảm ơn sâu sắc đến cô Mạc Thị Thoa, thầy Trương Công Tuấn
và thầy Nguyễn Trọng Doanh. Những lời gợi ý, chỉ bảo của cô đã dẫn đường cho
đề tài không những mới mà còn đầy chông gai này.
TÓM TẮT NỘI DUNG ĐỒ ÁN
Trong xã hội hiện đại ngày nay, các thảm họa tự nhiên ngày càng diễn ra với tần
suất dày và quy mô lớn hơn nhiều lần trước đây. Những thảm họa xảy ra trên diện
rộng như vậy luôn yêu cầu một lượng lớn nhân viên phục tìm kiếm, cứu hộ, gây ra
thêm nhiều áp lực cho các quốc gia, vùng lãnh thổ chịu ảnh hưởng. Việc ứng dụng
robot giúp đỡ các đội cứu hộ đã được áp dụng vài lần ở các quốc ra phát triển, tuy
nhiên chưa thực sự rộng rãi. Nhóm ba robot của đề tài có khả năng hoạt động, tìm
kiếm hoàn toàn độc lập, xây dựng bản đồ 3D và hoạt động theo từng nhóm nhỏ.
Khi được đưa vào hoạt động, nhóm robot bao gồm hai robot follower sẽ theo sau
một robot leader, robot leader sẽ có nhiệm vụ: xây dựng đường đi, tạo bản đồ, chia
sẻ chúng cho các robot follower và gửi bản đồ 3D về cho máy chủ. Bằng cách sử
dụng kết nối wifi cho mạng giao tiếp nội bộ giữa các robot và mạng LORA sẽ được
thêm trong thời gian tới nhằm giải quyết bài toán giao tiếp tầm xa, các robot đã có
thể trao đổi thông tin với nhau một cách hiệu quả. Với việc áp dụng các thuật toán
như SLAM, PSO, PID Controller… nhóm robot đang cho các kết quả tương đối
tốt và đáp ứng được các yêu cầu trong quá trình nghiên cứu.
Sinh viên thực hiện
Ký và ghi rõ họ tên
5
Bộ môn Cơ Điện Tử
MỤC LỤC
MỤC LỤC.................................................................................................................................... 6
DANH MỤC BẢNG .................................................................................................................... 9
DANH MỤC HÌNH ẢNH ......................................................................................................... 10
LỜI NÓI ĐẦU ........................................................................................................................... 10
DANH MỤC VIẾT TẮT .......................................................................................................... 15
CHƯƠNG 1 GIỚI THIỆU ..................................................................................................... 16
1.1. Lịch sử phát triển của robot cứu hộ ................................................................................. 16
1.2. Nhiệm vụ của đồ án ............................................................................................................ 16
1.2.1. Mục tiêu .................................................................................................................. 17
1.2.2.2. Hardware ............................................................................................................. 20
CHƯƠNG 2 THIẾT KẾ CƠ KHÍ VÀ TÍNH TOÁN ........................................................... 30
2.1. Yêu cầu thiết kế của hai loại robot ................................................................................... 30
2.1.1. Robot Leader ............................................................................................................... 30
2.1.1.1. Cấu tạo robot Leader............................................................................................. 30
2.1.1.2. Thông số kỹ thuật của robot Leader ..................................................................... 30
2.1.2. Robot Follower ............................................................................................................ 30
2.1.2.1. Cấu tạo của robot Follower................................................................................... 30
2.1.2.2. Thông số kỹ thuật robot follower ......................................................................... 31
2.2. Thiết kế cơ khí .................................................................................................................... 31
2.2.1. Phân tích và lựa chọn cấu trúc. Tính toán thiết kế .................................................. 31
2.2.1.1. Các phương án thiết kế ......................................................................................... 31
2.2.1.2. Tính toán chọn vật liệu ......................................................................................... 33
2.2.1.3. Tính toán chọn động cơ ........................................................................................ 39
2.2.2. Thiết kế cơ khí của robot leader ................................................................................ 44
2.2.2.1 Khung gầm .............................................................................................................. 44
2.2.1.2. Bánh xe robot leader ............................................................................................. 44
2.2.1.3. Vỏ dưới robot leader ............................................................................................ 45
2.2.1.4. Vỏ trên robot leader ............................................................................................. 47
2.2.2. Thiết kế robot follower ............................................................................................... 48
2.2.2.1. Khung gầm robot follower .................................................................................... 48
2.2.2.2. Bánh xích robot follower ..................................................................................... 49
2.2.2.3. Vỏ dưới robot follower......................................................................................... 49
2.2.2.4. Vỏ trên robot follower ......................................................................................... 51
CHƯƠNG 3 THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN ......................................................... 53
3.1. Tổng quan hệ thống điều khiển......................................................................................... 53
6
Bộ môn Cơ Điện Tử
3.2. Sơ đồ khối thuật toán trên vi điều khiển .......................................................................... 54
3.3. Mạng giao tiếp nội bộ giữa các robot ............................................................................... 56
3.4. Đặt vấn đề ........................................................................................................................... 56
3.5 Hệ thống điều khiển vòng kín ............................................................................................ 58
3.6. Bộ điều khiển PID .............................................................................................................. 58
3.7. Mô hình robot ..................................................................................................................... 62
3.8. Bài toán xác định thay đổi trạng thái của robot .............................................................. 62
3.9. Bài toán tìm đường đến đích ............................................................................................. 64
3.10. Áp dụng bộ điều khiển PID vào mô hình ....................................................................... 64
3.11. Một số kết quả của bộ điều khiển ................................................................................... 67
3.11.1. Robot Leader ............................................................................................................. 69
3.11.2. Robot Follower 1 ....................................................................................................... 70
3.11.3. Robot Follower 2 ....................................................................................................... 71
CHƯƠNG 4
BÀI TOÁN ĐỘI HÌNH .............................................................................. 72
4.1. Giới thiệu bài toán đội hình............................................................................................... 72
4.2. Thuật toán đội hình............................................................................................................ 72
4.2.1. Mô hình hóa và giải thích ........................................................................................... 72
4.2.2. Xây dựng thuật toán tạo đội hình .............................................................................. 73
4.2.3. Thuật toán PI Controller cho bài toán xây dựng đội hình ...................................... 75
4.2.4. Thuật toán FOPI Controller cho bài toán xây dựng đội hình................................. 77
4.3. Các kết quả kiểm chứng thuật toán.................................................................................. 79
CHƯƠNG 5. PATH PLANNING ............................................................................................ 82
5.1 Giới thiệu về thuật toán PSO ............................................................................................. 82
5.2 Sơ đồ thuật toán PSO.......................................................................................................... 83
5.3 Thuật toán PSO áp dụng trong bài toán Path Planning.................................................. 85
5.4. Kết quả mô phỏng trên Matlab......................................................................................... 86
CHƯƠNG 6 SLAM .................................................................................................................. 89
6.1. Giới thiệu về SLAM ........................................................................................................... 89
6.2. Bài toán localization sử dụng thuật toán Extend Kalman Filter ................................... 89
6.2.1. Lí do lựa chọn Extend Kalman Filter ........................................................................ 89
6.2.2. Nội dung thuật toán Extend Kalman Filter .............................................................. 90
6.2.3. Mô hình bài toán thực................................................................................................. 91
6.2.4. Kết quả mô phỏng ....................................................................................................... 93
6.3. Các thuật toán SLAM ........................................................................................................ 93
6.3.1. Fast SLAM ................................................................................................................... 94
6.3.2. Graph SLAM ............................................................................................................... 94
6.4. Giới thiệu về RTAB-Map .................................................................................................. 96
6.5. Kết quả đạt được .............................................................................................................. 101
7
Bộ môn Cơ Điện Tử
CHƯƠNG 7 HUMAN DETECTION .................................................................................. 104
7.1. Giới thiệu chung ............................................................................................................... 104
7.2. Bài toán nhận diện đối tương (Object Detection) .......................................................... 105
7.3. Mạng Convolutional Neural Network Yolo ................................................................... 106
7.4. Cấu hình và đề xuất giải pháp cho Robot ...................................................................... 108
7.5. Quá trình train model ...................................................................................................... 108
7.6. Một số hình ảnh trong quá trình train ........................................................................... 108
7.7. Kết quả thử nghiệm cho việc phát hiện người .............................................................. 109
7.8. Đề xuất cải thiện hiệu xuất Realtime .............................................................................. 110
KẾT LUẬN .............................................................................................................................. 111
PHƯƠNG HƯỚNG PHÁT TRIỂN ....................................................................................... 111
TÀI LIỆU THAM KHẢO ...................................................................................................... 112
PHỤ LỤC ................................................................................................................................. 115
1. Ubuntu.............................................................................................................................. 115
2. ROS .................................................................................................................................. 118
3. YOLO-v3.......................................................................................................................... 121
8
Bộ môn Cơ Điện Tử
DANH MỤC BẢNG
Bảng 1. Các linh kiện điện tử bên trong robot…………….…………..……..………18
Bảng 2. Một số thông số kỹ thuật chính của các robot…………...….….…….……20
Bảng 3. Thông số Jetson Nano…………………………………..……….…………….21
Bảng 4. Thông số Raspberry Pi 3………………………………………….….……….22
Bảng 5. Thông số STM32F103C8T6………...………….………………….…………23
Bảng 6. Thông số Intel Realsense D435…….…………...…………….………….….24
Bảng 7. Cấu tạo robot leader...……………………………………………….….……25
Bảng 8. Thông số robot leader……………….…………………………….….………25
Bảng 9. Cấu tạo robot follower...…………….…………………………….….………26
Bảng 10. Thông số robot follower……….… …………………….………..…………26
Bảng 11. Khối lượng riêng của một số kim loại phổ biến..………………..……….29
Bảng 12. Khả năng tải của từng robot……….…….………………………………….31
Bảng 13. Hệ số ma sát……………………….………..... ……….…………………….39
Bảng 14. Hàm truyền của từng động cơ trong robot leader………..………..…….73
Bảng 15. Hệ số PID cho các động cơ trên robot leader…. ………..……….….….73
Bảng 16. Hàm truyền của từng động cơ trong robot follower 1.………...….…….74
Bảng 17. Hệ số PID cho các động cơ trên robot follower 1…...…..….….……….74
Bảng 18. Hàm truyền của từng động cơ trong robot follower 2.…..…….……….75
Bảng 19. Hệ số PID cho các động cơ trên robot follower 2…...………………….75
Bảng 20. Thông số môi trường thử nghiệm …………………………………………89
9
Bộ môn Cơ Điện Tử
DANH MỤC HÌNH ẢNH
Hình 1.1. Robot cứu hộ
11
Hình 1.2: Giao tiếp giữa các robot thông qua ROS
13
Hình 1.3. Kiến trúc của Yolo v3
15
Hình 1.4. So sánh Yolo v3 với các phương pháp khác
15
Hình 1.5: Ứng dụng Yolo v3 vào phân biệt xe con và xe tải
16
Hình 1.6. Bảng mạch điện tử trong thực tế
17
Hình 1.7. Mạch nguyên lý
19
Hình 1.8. Kit NVIDIA Jetson Nano
23
Hình 1.9. Kit Raspberry Pi 3B+
24
Hình 1.10. STM32F103C8T6
25
Hình 1.11. Intel Realsense D435 3D Camera
26
Hình 2.1. Robot Leader và Robot Follower
27
Hình 2.2. Mẫu in 3D cỡ nhỏ
32
Hình 2.3. Mẫu in 3D cỡ lớn
32
Hình 2.4. Chọn vật liệu cho đế của Leader
33
Hình 2.5. Chọn các vị trí cố định và đặt lực
34
Hình 2.6. Kết quả ứng suất
34
Hình 2.7. Kết quả chuyển vị
35
Hình 2.8. Chọn vật liệu cho đế của Follower
36
Hình 2.9. Chọn các vị trí cố định và đặt lực
36
Hình 2.10. Kết quả ứng suất
37
Hình 2.11. Kết quả chuyển vị
38
Hình 2.12. Mô hình tĩnh học
39
Hình 2.13. Động cơ GM25-370
42
Hình 2.14. Bản vẽ 2D động cơ
42
Hình 2.15. Các lớp động cơ trên thực tế
43
Hình 2.16. Khung gầm robot leader thiết kế trên Solidwork
44
Hình 2.17. Bánh xích thiết kế trên Solidwork
45
Hình 2.18. Vỏ thân dưới xe
46
10
Bộ môn Cơ Điện Tử
Hình 2.19. Vị trí các linh kiện
46
Hình 2.20. Quá trình gia công vỏ bên dưới
47
Hình 2.21. Vỏ thân dưới sau khi lắp đặt vào khung gầm
47
Hình 2.22. Vỏ thân trên
48
Hình 2.23. Vị trí các linh kiện
48
Hình 2.24. Quá trình gia công vỏ thân trên
49
Hình 2.25. Robot leader hoàn thiện
49
Hình 2.26. Khung gầm robot follower
49
Hình 2.27. Bánh xe dẫn động V3 DB1522
50
Hình 2.28. Vỏ thân dưới thiết kế trên Solidwork
51
Hình 2.29. Vị trí các linh kiện điện tử
51
Hình 2.30. Quá trình gia công lớp vỏ thân dưới robot follower
52
Hình 2.31. Lớp vỏ đế dưới sau khi được lắp vào khung gầm
52
Hình 2.32. Vỏ thân trên thiết kế trên Solidwork
52
Hình 2.33. Robot follower hoàn thiện
53
Hình 3.1. Sơ đồ hoạt động trên một mẫu robot
54
Hình 3.2. Sơ đồ phân chia tác vụ trên Jetson Nano
55
Hình 3.3. Sơ đồ khối mô tả thuật toán của vi điều khiển
56
Hình 3.4. Sơ đồ tác vụ trên vi điều khiển
57
Hình 3.5. Sơ đồ giao tiếp nội khối của nhóm robot
57
Hình 3.6. Đồ thị PV theo thời gian, ba giá trị Kp (Ki và Kd là hằng số)
61
Hình 3.7. Đồ thị PV theo thời gian, tương ứng với 3 giá trị Ki
(Kp và Kd không đổi)
62
Hình 3.8. Đồ thị PV theo thời gian, với 3 giá trị Kd (Kp and Ki không đổi) 63
Hình 3.9. Dạng dữ liệu Identify
69
Hình 3.10. Dạng dữ liệu Validate
69
Hình 3.11. Kết quả sau khi chạy matlab System Identification Toolbox
70
Hình 3.12. Đồ thị biểu diễn hàm truyền của động cơ
71
Hình 3.13. Đồ thị robot di chuyển theo chuỗi điểm liên tục
72
Hình 3.14. Đồ thị robot di chuyển theo quỹ đạo hình vuông
73
11
Bộ môn Cơ Điện Tử
Hình 3.15. Đồ thị góc phi khi robot di chuyển theo quỹ đạo hình vuông
Hình 3.16. Đồ thị giá trị vận tốc và sai số bộ PID Controller – Robot
Leader
Hình 3.17. Đồ thị giá trị vận tốc và sai số bộ PID Controller – Robot
Follower 1
Hình 3.18. Đồ thị giá trị vận tốc và sai số bộ PID Controller – Robot
Follower 2
Hình 4.1. Các robot khi xếp thành đội hình
73
74
74
75
76
Hình 4.2. Minh họa bộ điều khiểu FOPI
84
Hình 4.3. Ảnh hưởng của việc thay đổi các hệ số λ và Ti lên đầu ra
của bộ điều khiển
Hình 4.4. 3 robot khi xếp thành tam giác cân
84
85
Hình 4.5. Đồ thị vị trí của 3 robot theo trục x
85
Hình 4.6. Đồ thị vị trí của 3 robot theo trục y
86
Hình 4.7. Đồ thị vị trí của 3 robot theo trục x
86
Hình 4.8. Đồ thị vị trí của 3 robot theo trục y
86
Hình 5.1. Mô tả về thuật toán PSO
83
Hình 5.2. Sơ đồ thuật toán PSO
85
Hình 5.3. Kết quả mô phỏng trên Matlab
81
Hình 6.1. Mô phỏng vị trí robot với sai số Sensor 10 cm
94
Hình 6.2. Mô phỏng vị trí robot với sai số Sensor 20 cm
95
Hình 6.3. Sự phân chia thuật toán Graph SLAM thành Front-End và
Back-End
Hình 6.4. Mô tả về đóng vòng lặp
90
90
Hình 6.5.Mô tả về 2 lần phát hiện vòng lặp trong quá trình phát triển
robot
Hình 6.6. Mô tả cách xây dựng vòng lặp
90
92
Hình 6.7. Các bước hoạt động của thuật toán RTAB-Map
93
Hình 6.8. Cách thức hoạt động của thuật toán SIFT
101
Hình 6.9. Feature Matching với FLANN
102
Hình 6.10. Thuật toán RANSAC áp dụng cho tập dữ liệu
102
Hình 6.11. Feature matching khi áp dụng RANSAC
103
Hình 6.12. Quá trình mapping sử dụng RTAB-Map
103
12
Bộ môn Cơ Điện Tử
Hình 6.13. Giao diện rtabmapviz
103
Hình 6.14. Kết quả quét bản đồ dùng Rtab-Map
104
Hình 7.1. Sơ đồ thể hiện mối quan hệ giữa các ngành thuộc AI
105
Hình 7.2. Mô phỏng mạng Deep Learning
105
Hình 7.3. Độ chính xác của các phương pháp phát hiện đối tượng
105
Hình 7.4. Mô phỏng mạng YOLO
106
Hình 7.5. Cách chia hình ảnh thành các phần đưa vào mạng
106
Hình 7.6. Terminal training mạng YOLO
106
Hình 7.7. Terminal training mạng YOLO
107
Hình 7.8. Kết quả phát hiện người
107
13
Bộ môn Cơ Điện Tử
LỜI NÓI ĐẦU
Trong xã hội hiện đại ngày nay, dưới sự phát triển thiếu cân bằng giữa các
yếu tố kinh tế và môi trường của nhiều quốc gia đã dẫn đến việc môi trường bị hủy
hoại, các thảm họa tự nhiên ngày càng diễn ra với tần suất dày và quy mô rộng hơn
nhiều lần trước đây. Những thảm họa xảy ra trên diện rộng như vậy luôn yêu cầu
một lượng lớn nhân viên phục vụ cho việc tìm kiếm, cứu hộ, gây ra thêm nhiều áp
lực cho các quốc gia, vùng lãnh thổ chịu ảnh hưởng. Đứng trước bài toán đó, nhóm
đặt ra câu hỏi là tại sao việc sử dụng các robot tự động để hỗ trợ các đội cứu hộ
không được nhân rộng, và với mong muốn áp dụng kiến thức đã học của mình để
giải quyết một phần của vấn đề, nhóm chúng em đã tiến hành nghiên cứu các thuật
toán cho robot bầy đàn tìm kiếm và cứu hộ, cứu nạn.
Nhóm robot được thiết kế gồm 3 robot di chuyển tạo thành một nhóm phục
vụ việc tìm kiếm, cứu hộ. Nhóm robot được xây dựng theo mô hình Leader –
Followers với một robot Leader có nhiệm vụ tìm đường đi, xây dựng bản đồ và
dẫn dắt các robot Followers. Hai robot followers đi theo sau robot leader có nhiệm
vụ mang tải nhẹ và camera 2D để phục vụ cho việc quan sát, tìm kiếm và cứu hộ.
Với việc sử dụng thuật toán Swarm Robotics cộng với việc cần rất ít sự can thiệp
của con người trong quá trình di chuyển của robot, nhóm hi vọng sản phẩm có thể
giải quyết một phần nhỏ của bài toán cứu hộ, cứu nạn và giúp ích cho các nghiên
cứu liên quan đến lĩnh vực ứng dụng robot trong bài toán tìm kiếm, cứu nạn.
Mặc dù đã cố gắng tuy nhiên do khối lượng công việc tương đối lớn và kiến
thức, thời gian của cả nhóm cũng có hạn nên nghiên cứu không thể tránh được
những thiếu sót, nhóm chúng em rất mong nhận được những sự đóng góp ý kiến,
chỉ bảo của thầy cô.
Nhóm chúng em xin chân thành cảm ơn!
--- Nhóm Swarm Robotics –
14
Bộ môn Cơ Điện Tử
ROS
DANH MỤC VIẾT TẮT
Robot Operating System
Hệ điều hành robot
SW(R)
Swarm (Robotics)
Robot bầy đàn
IMU
Inertia Measurement Unit
Đơn vị đo quán tính
SLAM
Simultaneous Localization and
Mapping
Xác định vị trí và
xây dựng bản đồ
đồng thời
CNN
Convolutional Neural Network
Mạng thần kinh tích
chập
PSO
Particle Swarm Optimization
Tối ưu phần tử bầy
đàn
FLANN
Fast Library for Approximate
Nearest Neighbor
Thư viện tra cứu
nhanh cho phương
pháp ước tính láng
giềng gần nhất
SIFT
Scale Invariant Feature Transform
Phép biến đổi tỉ lệ
bất biến của đặc
điểm
RANSAC Random Sample Consensus
Mẫu tập trung ngẫu
nhiên
YOLO
You Only Look Once
Bạn chỉ nhìn một
lần
PID
Proportional Integral Derivative
Tỉ lệ - Tích phân –
Đạo hàm
LORA
Long Range Radio
Sóng radio tầm xa
RTABmap
Real Time Apperance Based
Mapping
Thuật toán xây
dựng bản đồ dựa
trên hình ảnh thời
gian thực
RTOS
Real Time Operating System
Hệ điều hành thời
gian thực
FOPI(D)
Fractional Order Proportional
Integral (Derivative)
Bộ điều khiển PID
mở rộng ra dạng
phân số
15
Bộ môn Cơ Điện Tử
CHƯƠNG 1 GIỚI THIỆU
1.1.
Lịch sử phát triển của robot cứu hộ
Robot cứu hộ được sử dụng với mục đích cứu hộ, xây dựng bản đồ,… Các tình
huống phổ biến cần đến chúng như tai nạn hầm mỏ, thảm họa đô thị, các vụ nổ,...
Ưu thế của robot cứu hộ là giảm nhân công, có thể đi tới những vùng bất khả thi
với con người,…
Robot cứu hộ được phát triển với khă năng tìm kiếm, xây dựng bản đồ, loại bỏ vật
cản, đưa đồ thiết yếu đến nạn nhân, ... Nhưng còn rất nhiều vấn đề kĩ thuật cần giải
quyết.
Ba vấn đề chính là: Xử lí thông tin bên trong robot, Sự linh hoạt của robot và điều
khiển robot.
Robot cứu hộ đã được sử dụng trong vụ khủng bố 11/09. Đó là lần đầu tiên robot
cứu hộ được đưa vào sử dụng. Tuy nhiên, robot gặp khó khi xử lí đống đổ nát ở
Trung Tâm Thương Mại Thế Giới (World Trade Center) và thường xuyên bị kẹt,
hỏng.
Hình 1.1 Robot cứu hộ [1]
1.2
Nhiệm vụ của đồ án
- Độ cơ động cao của robot.
- Khả năng tránh va chạm khi di chuyển.
16
Bộ môn Cơ Điện Tử
- Tối ưu đường đi (đường ngắn nhất, ít vật cản, an toàn, …)
- Xây dựng bản đồ 3D khu vực hoạt động
- Nhận diện người nhanh và chính xác
1.2.1. Mục tiêu
Mục tiêu của đề tài là nghiên cứu và thiết kế nhóm robot có khả năng cứu hộ, cứu
nạn. Hệ thống bao gồm những công nghệ tiên tiến sau: SLAM để kiểm tra vị trí và
xây dựng bản đồ 3D. Robot có khả năng tự lên kế hoạch cho quỹ đạo mình sẽ đi.
Động cơ được điều khiển nhờ thuật toán PID. Cuối cùng là khả năng nhận diện
người nhanh và chính xác.
Trong đồ án này, nóm chúng em đã trình bày một số nhiệm vụ sau:
-
Thiết kế cơ khí và bộ điều khiển cho robot.
-
Thiết kế bộ điều khiển cho nhóm robot.
-
Hiểu và phân tích kỹ thuật giao tiếp giữa “Robot Operating System” (ROS)
và hệ thống robot thật.
-
Hiểu được nguyên lí hoạt động của các cảm biến siêu âm, khoảng cách, cảm
biến gia tốc, camera 3D, 2D, encoder, mạch thu-nạp của hệ thống sạc…
-
Nhúng thuật toán path-planning vào robot thật để hệ thống robot tự đi đến
điểm đích.
-
Nhận diện người.
1.2.2 Phương pháp
1.2.2.1 Software
Robot Operating System (ROS)
Hệ thống ROS vì sự phổ biến và khả năng của nó trong điều khiển robot. ROS
chạy trên hệ điều hành Linux, hỗ trợ C/C++, Python và một số ngôn ngữ lập trình
khác. Sau đó chúng em nghiên cứu sâu hơn về ROS, tính năng và tiện ích.
Giới thiệu về ROS
Robot Operating System là một hệ thống phần mềm chuyên dụng để lập trình và
điều khiển robot, bao gồm các công cụ để lập trình, hiển thị, tương tác trực tiếp với
phần cứng, và kết nối cộng đồng robot trên toàn thế giới.
17
Bộ môn Cơ Điện Tử
Hình 1.2 Logo hệ điều hành robot
ROS trên thực tế là một hệ điều hành meta, giữa một hệ điều hành và phần mềm
trung gian.
Nó không chỉ cung cấp các dịch vụ hệ điều hành tiêu chuẩn (trừu tượng hóa phần
cứng, quản lý tranh chấp, quản lý quy trình) mà còn cung cấp các chức năng cấp
cao (các cuộc gọi không đồng bộ và đồng bộ, cơ sở dữ liệu tập trung, hệ thống cấu
hình robot, v.v.).
Giao tiếp trong ROS
Các robot sẽ giao tiếp với nhau thông qua cơ chế truyền tin trên ROS. Đơn vị
truyền tin nhỏ nhất trên ROS là node. Các node có thể truyền đi thông tin hoặc
nhận thông tin với nhau thông qua các topic.
Hình 1.3: Giao tiếp giữa các robot thông qua ROS [2]
Trong đề tài này, mỗi một robot sẽ chia sẻ vị trí của mình cho những thành viên
còn lại để có thể dễ dàng xác định vị trí khi một con robot tìm thấy người bị nạn
hoặc robot bị hỏng và cần sự giúp đỡ. Robot Leader sẽ chia sẻ bản đồ cho các robot
còn lại.
Yêu cầu
18
Bộ môn Cơ Điện Tử
Ubuntu là môi trường chạy Linux phổ biến. Tự do sử dụng. mã nguồn mở nên nó
có thể được tùy biến tùy theo ứng dụng. Nó hỗ trợ kiến trúc như Intel x86, AMD64, ARM v7 và ARMv8 (ARM64).
Ứng dụng robot có thể chạy trong hệ điều hành cung cấp các chức năng giao tiếp
với các cơ cấu của robot và các cảm biến. Một hệ điều hành dựa trên Linux có khả
năng linh hoạt trong việc giao tiếp với các linh kiện có sức mạnh yếu hơn và có
thể tùy chỉnh hệ điều hành theo yêu cầu.
Lợi thế của Ubuntu trong hoàn cảnh này là khả năng đáp ứng, nhẹ và tính bảo mật
cao. Ngoài ra, Ubuntu có cộng đồng hỗ trợ rất lớn. Những yếu tố đó đã dẫn đến
việc phát triển ROS luôn sử dụng Ubuntu, và nó là hệ điều hành duy nhất được hỗ
trợ đầy đủ bởi ROS.
Giới thiệu về Yolo v3
You only look once (Yolo) được phát triển bởi Joseph Redmond cùng các cộng sự.
là một trong những thuật toán nhận diện vật thể nhanh nhất thời điểm hiện tại. Mặc
dù không phải là phương pháp chính có độ xác cao nhất tuy nhiên Yolo vẫn là được
ứng dụng rất nhiều trong những dự án thực tế khi mà độ chính xác không phải là
ưu tiên hàng đầu.
Hình 1.4. Kiến trúc của Yolo v3 [3]
19
Bộ môn Cơ Điện Tử
Hình 1.5. So sánh Yolo v3 với các phương pháp khác [4]
Nguyên lí hoạt động
Yolo v3 sử dụng duy nhất một mạng thần kinh (Neural Network) cho cả bức ảnh.
Mạng này sẽ chia bức ảnh thành các vùng khác nhau và dự đoán khả năng của mỗi
vùng. Neural network sẽ được train để tỉ lệ nhận diện cao (> 96%).
Hình 1.6. Ứng dụng Yolo v3 vào phân biệt xe con và xe tải [5]
Yêu cầu cấu hình
Không có cấu hình yêu cầu cho Yolo v3, nhưng nhưng mọi phương pháp nhận
diện khác, Yolo v3 cần CPU và GPU có sức mạnh trung bình trở lên, để tận dụng
được ưu thế tốc độ của mình.
Từ yêu cầu trên, chúng em lựa chọn Jetson Nano cho robot leader và Raspberry Pi
3 cho robot follower.
1.2.2.2
Hardware
a. Tổng quan phần mạch điện tử
Để giúp cho robot có thể hoạt động được, chúng ta cần thiết kế các mạch điện tử,
điều khiển phù hợp. Những mạch điện tử này phải đảm bảo nhiều yếu tố như tính
20
Bộ môn Cơ Điện Tử
ổn định, an toàn, các thông số liên quan đến việc đáp ứng hoạt động của các phần
mềm chạy trên robot đó.
Trong phạm vi đồ án này, một bản thiết kế mạch điện được thiết kế chung cho các
robot Leader và Followers, sau khi triển khai lên các phần cứng thực tế, các robot
khác nhau với yêu cầu khác nhau, mạch điện sẽ được tùy chỉnh các linh kiện cho
phù hợp.
Hình 1.7. Bảng mạch điện tử trong thực tế
Bằng sự kết hợp của vi điều khiển STM32F103C8T6 và 2 loại máy tính nhúng
(Jetson Nano với robot Leader và Raspberry Pi với các robot Followers) thông qua
giao tiếp UART, nhóm đã tạo lên một hệ thống phần cứng đáp ứng tương đối tốt
yêu cầu hoạt động, nhiệm vụ của từng robot.
b. Thiết kế mạch nguyên lý
Trong tất cả các quy trình nghiên cứu và phát triển các dòng sản phẩm, việc thiết
kế tổng thể nói chung và thiết kế về nguyên lý nói riêng là một trong những quy
trình không thể thiếu nhằm phục vụ quá trình mô phỏng, hạn chế sai sót trong
quá trình chế tạo sản phẩm thực tế... Hiểu rõ được nguyên tắc đó, trong quá trình
nghiên cứu và phát triển đề tài, nhóm đã bám sát quy trình và thiết kế ra mạch
nguyên lý của robot Leader và các robot Followers trong mô hình của mình.
Mạch nguyên lý bao gồm các thành phần chính cấu thành lên hệ thống mạch điện
của các robot như vi điều khiển, các cảm biến cũng như các phần cứng liên quan
phục vụ cho việc hoạt động của các thành phần trên.
Altium Designer là một trong những phần mềm hết sức nổi tiếng và được sử
dụng rộng rãi trong việc thiết kế, phát triển các mạch nguyên lý, mạch in… cho
sản phẩm, đảm bảo được tính tin cậy, tính chính xác cũng như tính khoa học và
chuyện nghiệp trong quá trình thiết kế.
21
Bộ môn Cơ Điện Tử
Từ đó, để đáp ứng được mục đích và các yêu cầu đã đặt ra, nhóm đã sử dụng
phần mềm Altium Designer để thiết kế ra mạch nguyên lý của các robot được
trình bày trong hình 1.7.
Hình 1.8. Mạch nguyên lý
c. Các linh kiện chính
22
Bộ môn Cơ Điện Tử
Để đáp ứng được các yêu cầu hoạt động của robot cũng như đảm bảo tính dễ mua
và lắp đặt, nhóm sử dụng phần nhiều là các module tích hợp có sẵn trên thị
trường như kit STM32, các máy tính nhúng...
Bảng 1 trình bày các linh kiện điện tử trong cả hai robot:
Bảng 1. Các linh kiện điện tử bên trong robot
Leader
Followers
Vi điều
khiển
STM32F103C8T6
STM32F103C8T6
Động cơ
Động cơ giảm tốc GM25/370
Động cơ giảm tốc kèm bánh
xích RB03
Pin
Pin LiPo 12V
3xPin Li-Ion 3.7V
Motor
Driver
Module điều khiển động cơ
L298V3
Module điều khiển động cơ
L298V1
Cảm biến
siêu âm
Cảm biến siêu âm SRF04
Cảm biến siêu âm SRF04
23
Bộ môn Cơ Điện Tử
IMU
MPU6050
MPU6050
Camera
Intel Realsense D435
Raspberry Pi camera
Bộ xử lý
trung tâm
NVIDIA Jetson nano
Raspberry Pi 3B (+)
Wifi Card
TP-Link USB Wifi card
Raspberry Pi on board card
d. Các thông số kỹ thuật chính
Do đặc thù nhiệm vụ của 2 loại robot khác nhau nên sẽ mang theo cấu hình có một
số điểm khác biệt nhằm đáp ứng các yêu cầu về mặt kinh phí cũng như một số yếu
tố kỹ thuật.
Về phần điều khiển, 2 robot mang cấu hình khá tương đồng, tuy nhiên khi xét đến
bộ xử lý trung tâm, các robot leader có nhiệm vụ nặng nề hơn được trang bị bộ xử
24