Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (7.05 MB, 78 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<b>THÀNH PHỐ HỒ CHÍ MINH</b>
BỘ GIÁO DỤC VÀ ĐÀO TẠO
<b>TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT </b>
<b> </b>
<b> <sup> </sup> <sup> </sup> </b>
<b> </b>
<b> </b>
<b> KHĨA LUẬN TỐT NGHIỆP</b>
<b>NGÀNH CƠNG NGHỆ KỸ THUẬT ĐIỆN TỬ - VIỄN THÔNG</b>
<b> SVTH: MAI THÀNH GIÓ TRƯƠNG TẤN KIỆT </b>
<b> GVHD: PGS.TS NGUYỄN THANH HẢI</b>
</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">Họ và tên sinh viên: Trương Tấn Kiệt MSSV: 19161126Mai Thành Gió MSSV: 19161097 Ngành: Công nghệ kỹ thuật Điện tử - Viễn thông (CLC)
Giáo viên hướng dẫn: PGS.TS. Nguyễn Thanh Hải
Ngày nhận đề tài: 11/09/2023 Ngày nộp đề tài: 05/01/2024
1. Tên đề tài: Thiết kế và thi công hệ thống điều khiển xe lăn điện bằng cử chỉ tay sử dụng thông minh nhân tạo.
2. Các số liệu, tài liệu ban đầu:
<i>- Võ Ngọc Tiến, Lâm Minh Cảnh, “ Nghiên cứu, thiết kế và thi công bộ điều </i>
<i>khiển xe lăn điện sử dụng cảm biến gia tốc ”, Đồ án tốt nghiệp - Đại học Sư </i>
Phạm Kỹ Thuật TPHCM, 2019.
<i>- Lê Trung Nghĩa, Nguyễn Lữ Phụng Đình, “ Thiết kế và thi công xe lăn trong </i>
<i>nhà tự định vị và đến đích dựa vào bản đồ 2D ”, Đồ án tốt nghiệp - Đại học </i>
Sư Phạm Kỹ Thuật TPHCM, 2020.
<i>- Vũ Hoàng Thiên, Đoàn Lâm, “ Thiết kế và thi công hệ thống điều khiển xe lăn </i>
<i>điện cho người khuyết tật sử dụng tín hiệu điện não và camera ”, Đồ án tốt </i>
nghiệp - Đại học Sư Phạm Kỹ Thuật TPHCM, 2020.
<i>- Huỳnh Tấn Cường, “ Thiết kế và thi cơng mơ hình xe lăn tự hành trong nhà </i>
<i>dùng camera 3D ”, Đồ án tốt nghiệp - Đại học Sư Phạm Kỹ Thuật TPHCM, </i>
2019.
<i>- Nguyễn Đoàn Vĩnh Thái, Bùi Đức Hiếu, “ Thiết kế và thi cơng mơ hình kính </i>
<b><small>TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH </small></b>
<b><small> KHOA ĐIỆN - ĐIỆN TỬ</small></b>
<b>CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc </b>
Tp. Hồ Chí Minh, ngày 04 tháng 01 năm 2024
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4"><i>- Ngơ Xn Thịnh, Nguyễn Phạm Hồi Ân, “ Xây dựng mơ hình thùng rác di </i>
<i>chuyển tự động và theo cử chỉ tay ”, Đồ án tốt nghiệp - Đại học Sư Phạm Kỹ </i>
Thuật TPHCM, 2019.
<i>- Nguyễn Hữu Sáng, Từ Thị Kim Chi, “ Điều khiển thiết bị bằng cử chỉ tay </i>
<i>thông qua xử lý ảnh ”, Đồ án tốt nghiệp - Đại học Sư Phạm Kỹ Thuật TPHCM, </i>
2019.
- Lê Minh Thành, Lê Minh, Phan Văn Ca, Đặng Phước Hải Trang, Đỗ Duy Tân,
<i>Trương Ngọc Sơn, “ Nhận diện cử chỉ bàn tay dùng mạng nơron tích chập ”, </i>
ISSN 1859-1531- Tạp chí khoa học và công nghệ - Đại học Đà Nẵng, Vol.19, No.4.1, 2021.
<i>- Elmezain, Al-Hamadi J, Michaelis. “ A hiddenmarkov model-based isolated </i>
<i>and meaningful hand gesture recognition ”, 2009. </i>
<i>- Nguyễn Thành Long, “ Mơ hình mạng học sâu cho nhận biết cử chỉ nhũng </i>
<i>ngón tay cho người khiếm thính ” Luận văn Thạc sĩ – Đại học Sư Phạm Kỹ </i>
Thuật TPHCM, 2023.
- Arsheldy Alvin, Nabita Husan Shabrina, Aurelius Ryo, & Edgar Christian, “
<i>Hand Gesture Detection for Sign Language using Neural Network with Mediapipe ”, Ultima Computing: Jurnal Sistem Komputer, 13(2), 57-62, 2021. </i>
3. Nội dụng thực hiện đề tài:
- Tham khảo tài liệu, đọc và tóm tắt tài liệu đưa ra các hướng đề tài. - Thiết kế sơ đồ khối, sơ đồ nguyên lý.
- Thiết kế mơ hình nhận diện cử chỉ tay. - Viết chương trình điều khiển.
- Hoàn thiện kết nối phần cứng. - Thiết kế giao diện điều khiển.
- Chạy thử, kiểm tra, đánh giá, hiệu chỉnh. - Viết báo cáo thực hiện.
- Bảo vệ luận văn.
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">4. Sản phẩm: Hệ thống điều khiển xe lăn điện bằng cử chỉ tay. Có chức năng nhận diện cử chỉ tay thời gian thực từ webcam sau đó gửi sang Jetson Nano Developer Kit xử lý và trả kết quả để gửi lệnh điều khiển tương ứng với 6 cử chỉ sang Arduino Due điều khiển xe di chuyển theo các hướng: tiến chậm, tiến nhanh, lùi, rẽ trái, rẽ phải và dừng.
<b>TRƯỞNG NGÀNH GIÁO VIÊN HƯỚNG DẪN </b>
Lời đầu tiên, nhóm thực hiện đề tài xin gửi lời tri ân chân thành nhất tới Thầy PGS.TS. Nguyễn Thanh Hải đã hướng dẫn tận tình, ln giải đáp mọi thắc mắc và chỉ ra những sai sót trong q trình thực hiện đề tài. Điều này đã góp phần khơng nhỏ giúp nhóm hồn thành đề tài.
Nhóm gửi lời cảm ơn chân thành đến các Thầy Cơ trong phịng Lab C306 nói riêng và các Thầy Cô trong khoa Điện – Điện tử nói chung, những người đã nhiệt tình trong việc truyền đạt kiến thức, giải đáp thắc mắc và tạo điều kiện về trang thiết bị trong q trình nhóm thực hiện đề tài.
Nhóm xin gửi lời cảm ơn đến gia đình, bạn bè và các anh chị khố trên, vì sự giúp đỡ, động viên và tạo điều kiện thuận lợi để nhóm hồn thành đề tài.
Một lần nữa nhóm xin cảm ơn chân thành đến quý Thầy Cơ đã tận tình giúp đỡ và hỗ trợ nhiệt tình trong quá trình thực hiện đề tài. Do những kiến thức cịn hạn chế nên khơng tránh khỏi những thiếu sót về nội dung và hình thức trong đồ án tốt nghiệp này. Nhóm mong nhận được sự thơng cảm và những ý kiến đóng góp từ quý Thầy Cơ để nhóm có thể hồn thiện đề tài hơn nữa.
Xin chân thành cảm ơn !
Người thực hiện đề tài
<b>Trương Tấn Kiệt Mai Thành Gió</b>
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">Nhóm xin cam kết rằng đề tài này nhóm thực hiện hoàn toàn dựa trên những kiến thức đã được học và một số nghiên cứu, tài liệu và báo cáo trước đó dưới sự hướng dẫn của Thầy PGS.TS. Nguyễn Thanh Hải. Không sao chép bất kỳ tài liệu hoặc cơng trình nào đã có trước đó.
Người thực hiện đề tài
<b>Trương Tấn Kiệt Mai Thành Gió</b>
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">Tạo hóa ban tặng cho con người chúng ta khi sinh ra đều có đủ hình hài. Thật tiếc thay, trong nhịp sống tấp nập và nền công nghiệp đang phát triển vượt bậc, vẫn
<b>tồn tại những con người có số phận bị khuyết tật các chi. Vì thế nhu cầu di chuyển </b>
của họ là một vấn đề cần đặc biệt được quan tâm, để có thể dễ dàng di chuyển thì phương tiện ln đi liền với cuộc sống của họ chính là xe lăn. Với sự phát triển của khoa học công nghệ, xe lăn điện đã được tạo ra, được ví như là đơi chân nhân tạo cho những người bị bại liệt - hỗ trợ khả năng di chuyển cần thiết để họ có thể đi lại và
<i><b>thực hiện các cơng việc hằng ngày. Vì vậy nhóm đã đưa ra lựa chọn đề tài “Thiết kế </b></i>
<i><b>và thi công hệ thống điều khiển xe lăn điện bằng cử chỉ tay sử dụng thông minh nhân tạo”. Công nghệ này mở ra một tương lai tươi sáng cho người khuyết tật, giúp </b></i>
họ có thể tận hưởng cuộc sống hằng ngày một cách thoải mái và độc lập hơn.
Hệ thống sử dụng webcam để thu dữ liệu hình ảnh thời gian thực, dữ liệu sẽ được gửi đến Jetson Nano Developer Kit. Sử dụng mô hình nhận diện đối tượng YOLOv8 để nhận diện cử chỉ của tay từ dữ liệu hình ảnh thu được thời gian thực, qua đó đưa ra tín hiệu để điều khiển xe. Người dùng có thể xem kết quả và thao tác trên màn hình 7inch HD cảm ứng. Khi cần di chuyển, người dùng đơn giản chỉ cần sử dụng các cử chỉ của tay để đưa ra các lệnh điều khiển, xe lăn sẽ di chuyển theo ý muốn của họ.
Kết quả thực hiện đã hoàn thành được các mục tiêu đã đề ra ban đầu của đề tài. Áp dụng được mơ hình nhận dạng đối tượng YOLOv8 để nhận diện các cử chỉ của tay thơng qua máy tính nhúng Jetson Nano Developer Kit sau đó trả kết quả phân loại để gửi lệnh điều khiển tương ứng với cử chỉ đó sang Arduino Due để điều khiển xe lăn.
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9"><b>Chương 2: CƠ SỞ LÍ THUYẾT ... 5</b>
2.1. Các mơ hình, hệ thống điều khiển ... 5
2.1.1. Hệ thống điều khiển xe lăn điện sử dụng cảm biến gia tốc ... 5
2.1.2. Hệ thống xe lăn tự định vị và đến đích dựa vào bản đồ 2D ... 5
2.1.3. Hệ thống điều khiển xe lăn điện thông qua tín hiệu điện não và camera ... 6
2.1.4. Hệ thống xe lăn tự hành dùng camera 3D ... 6
2.1.5. Hệ thống điều khiển xe lăn điện và giao tiếp theo hướng nhìn của mắt ... 7
2.1.6. Mơ hình thùng rác di chuyển theo cử chỉ tay ... 7
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">2.2.4. Nhận dạng cử chỉ tay cho ngôn ngữ kí hiệu bằng mạng nơron ... 10
2.4. Ứng dụng mơ hình nhận dạng đối tượng với giải pháp suy luận vào nhận dạng cử chỉ tay ... 10
2.4.1. Giải pháp suy luận ... 11
2.4.2. Mơ hình nhận dạng đối tượng ... 11
<b>Chương 3: TÍNH TOÁN VÀ THIẾT KẾ ... 14</b>
3.1. Giới thiệu ... 14
3.2. Tính tốn và thiết kế hệ thống ... 14
3.2.1. Thiết kế sơ đồ khối hệ thống ... 14
3.2.2. Tính tốn và thiết kế sơ đồ mạch ... 15
3.2.3. Thiết kế mơ hình nhận diện cử chỉ tay dùng mơ hình mạng YOLO ... 28
3.2.4. Thiết kế giao diện ứng dụng ... 35
3.3. Thiết kế phần mềm ... 36
3.3.1. Lưu đồ giải thuật chương trình chính. ... 36
3.3.2. Lưu đồ chương trình con nhận dạng cử chỉ tay... 37
3.3.3. Lưu đồ chương trình điều khiển xe ... 38
<b>Chương 4: THI CÔNG HỆ THỐNG ... 40</b>
4.1. Giới thiệu ... 40
4.2. Hoàn thiện kết nối phần cứng hệ thống ... 40
4.3. Thi công phần mềm ... 42
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">4.3.1. Huấn luyện mơ hình trên Google Colab ... 42
4.3.2. Thiết kế giao diện ... 43
4.4. Hướng dẫn sử dụng thiết bị ... 44
<b>Chương 5: KẾT QUẢ – NHẬN XÉT- ĐÁNH GIÁ ... 48</b>
5.1. Kết quả thực hiện ... 48
5.1.1. Kết quả thi công phần cứng hệ thống ... 48
5.1.2. Kết quả thiết kế giao diện ... 49
5.1.3. Kết quả mơ hình nhận diện cử chỉ tay ... 49
5.1.4. Kết quả điều khiển xe lăn ... 52
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">Hình 2.1. Các đặc trưng bàn tay được trích xuất bởi thuật tốn Mediapipe. ... 11
Hình 2.2. Cách thức hoạt động của mơ hình nhận dạng đối tượng YOLO. ... 12
Hình 3.1. Sơ đồ khối của hệ thống. ... 14
Hình 3.2. Jetson Nano Developer Kit. ... 15
Hình 3.3. Sơ đồ kết nối Jetson Nano với các thiết bị ngoại vi. ... 16
Hình 3.4. Webcam W2 Full HD... 17
Hình 3.5. Sơ đồ kết nối khối thu thập dữ liệu với khối xử lý trung tâm. ... 17
Hình 3.6. (a) ảnh mặt trước màn hình 7inch HD cảm ứng , (b) ảnh mặt sau màn hình 7inch HD cảm ứng. ... 18
Hình 3.7. Sơ đồ kết nối khối hiển thị với khối xử lý trung tâm. ... 19
Hình 3.8. Module Bluetooth HC-05. ... 20
Hình 3.9. Sơ đồ kết nối Arduino Due với Module Bluetooth HC-05. ... 21
Hình 3.10. Module BTS7960. ... 22
Hình 3.11. Sơ đồ kết nối Arduino Due với Module BTS7960. ... 22
Hình 3.12. Sơ đồ kết nối khối điều khiển. ... 23
Hình 3.13. Acquy 24V 12AH. ... 26
Hình 3.14. Sơ đồ kết nối khối nguồn. ... 26
Hình 3.15. Sơ đồ ngun lý tồn hệ thống. ... 27
Hình 3.16. Kiến trúc mạng YOLOv8. ... 29
Hình 3.17. Quy trình thu thập dữ liệu. ... 30
Hình 3.18. Ảnh minh hoạ 6 cử chỉ thu thập thực tế. ... 31
Hình 3.19. Ảnh 6 cử chỉ sau khi áp dụng mediapipe ... 31
Hình 3.20. Giao diện gắn nhãn ảnh trên roboflow. ... 33
Hình 3.21. Thiết kế giao diện ứng dụng... 35
Hình 3.22. Lưu đồ giải thuật chương trình chính... 36
Hình 3.23. Lưu đồ chương trình con nhận dạng cử chỉ tay. ... 37
Hình 3.24. Lưu đồ chương trình điều khiển xe. ... 38
Hình 4.1. Hồn chỉnh lặp đặt các khối trong hệ thống... 41
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">Hình 4.2. Cấu tạo bên trong của khối điều khiển. ... 42
Hình 4.3. Quy trình huấn luyện mơ hình YOLOv8. ... 43
Hình 4.9. Nút thốt giao diện điều khiển. ... 46
Hình 5.1. Mặt trước của xe. ... 48
Hình 5.2. Mặt sau của xe. ... 48
Hình 5.3. Mặt bên trái của xe. ... 48
Hình 5.4. Mặt bên phải của xe. ... 48
Hình 5.5. Giao diện khi chạy chương trình. ... 49
Hình 5.6. Kết quả các tham số độ lỗi trên tập huấn luyện. ... 50
Hình 5.7. Kết quả các tham số độ lỗi trên tập đánh giá. ... 50
Hình 5.8. Kết quả về độ chính xác và độ bao phủ của mơ hình. ... 51
Hình 5.9. Ma trận nhầm lẫn của hệ thống. ... 52
Hình 5.10. Kết quả nhận diện 6 cử chi tay. ... 52
Hình 5.11. Khơng gian thực tế bên ngồi phịng Lab C306 ... 53
Hình 5.12. Một số hình ảnh thử nghiệm điều khiển xe ngoài thực tế. ... 53
Hình 5.13. Bản đồ đường đi thực tế của xe so với đường chuẩn. ... 54
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">Bảng 3.1. Thông số kỹ thuật Jetson Nano Developer Kit ... 16
Bảng 3.2. Thông số kỹ thuật Webcam W2 Full HD ... 17
Bảng 3.3. Thông số kỹ thuật của Màn hình Cảm ứng 7 inch ... 18
Bảng 3.4. Thông số kỹ thuật Arduino Due ... 19
Bảng 3.5. Thông số kỹ thuật Module Bluetooth HC-05 ... 20
Bảng 3.6. Thông số kĩ thuật Module BTS7960 ... 22
Bảng 3.7. Thông số các thiết bị sử dụng. ... 24
Bảng 3.8. Thống kê số lượng ảnh của tập dữ liệu ... 32
Bảng 3.9. Các tham số cấu hình mơ hình YOLOv8 ... 34
Bảng 3.10. Ma trận nhầm lẫn ... 34
Bảng 4.1. Danh sách linh kiện sử dụng ... 40
Bảng 5.1. Thời gian và khoảng cách xe di chuyển với bản đồ hình 5.5 ... 55
Bảng 5.2. Thông kê kết quả điều khiển bằng cử chỉ ... 56
Bảng 5.3. Thời gian xử lý điều khiển của xe lăn điện ... 56
Bảng 5.4. Chi phí các linh kiện sử dụng trong đề tài ... 57
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">UNICEF United Nations Children's FundYOLO You Only Look Once
LCD Liquid-crystal Display HMM Hidden Markov Model
CNN Convolutional Neural Network CUDA Compute Unified Device Architecture
GPIO General Purpose Input/Output I2C Inter Integrated Circuit
UART Universal Asynchronous Receiver Transmitter SPI Serial Peripheral Interface
PWM Pulse Width Modulation TP True Positive TN True Negative
FP False Positive FN False Negative
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16"><b>1.1. Giới thiệu</b>
Tạo hóa ban tặng cho con người chúng ta khi sinh ra đều có đủ hình hài. Thật tiếc thay, trong nhịp sống tấp nập và nền công nghiệp đang phát triển vượt bậc, vẫn tồn tại những con người có số phận bị khuyết tật các chi. Theo công bố của Tổng cục thống kê và UNICEF ngày 11-1-2019, hơn 7% dân số Việt Nam từ 2 tuổi trở lên khoảng 6,2 triệu người là người khuyết tật [1]. Từ con số thực tế trên có thể nhận thấy số lượng người khuyết tật chiếm một phần không nhỏ trong dân số Việt Nam. Vì thế nhu cầu di chuyển của họ là một vấn đề cần đặc biệt được quan tâm, để có thể dễ dàng di chuyển thì phương tiện ln đi liền với cuộc sống của họ chính là xe lăn.
Với sự phát triển của khoa học công nghệ, xe lăn điện đã được tạo ra, được ví như là đơi chân nhân tạo cho những người bị bại liệt - hỗ trợ khả năng di chuyển cần thiết để họ có thể đi lại và thực hiện các công việc hằng ngày. Hiện nay, các loại xe lăn điện có thể được điều khiển bằng nhiều phương thức điều khiển khác nhau. Ngoài các phương thức điều khiển truyền thống bằng nút điều khiển thì trong đề tài [2] của Võ Ngọc Tiến và Lâm Minh Cảnh sử dụng tín hiệu thu được từ cảm biến gia tốc MPU-6050 để đo và phát hiện các chuyển động nhằm mục đích ứng dụng vào điều khiển xe lăn điện. Công nghệ tự định vị và đến vị trị mong muốn dựa vào bản đồ 2D cũng được ứng dụng vào điều khiển xe lăn như đề tài [3] của Lê Trung Nghĩa và Nguyễn Lữ Phụng Đình.
Trong thời gian gần đây, với sự phát triển khơng ngừng của xử lý ảnh và trí tuệ nhân tạo nó góp phần cho sự phát triển của khoa học cơng nghệ ở nhiều lĩnh vực. Trí tuệ nhân tạo đã mang lại nhiều cơ hội mới cho việc thiết kế hệ thống điều khiển xe lăn điện. Có khá nhiều đề tài nghiên cứu về ứng dụng của xử lý ảnh trong điều khiển xe lăn điện như đề tài [4] của Vũ Hoàng Thiên và Đoàn Lâm kết hợp việc điều khiển xe thơng qua tín hiệu điện não và camera tránh vật cản giúp người sử dụng tránh những va chạm không cần thiết xảy ra. Đề tài [5] của Huỳnh Tấn Cường sử dụng ảnh
<b>thu được từ camera Intel RealSense D435 3D để xử lý tính tốn dựa trên độ sâu của </b>
ảnh và vị tí vật mốc để xác định khoảng cách để xe tránh vật cản. Ngoài ra một số đề
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">tài ứng dụng của lĩnh vực trí tuệ nhân tạo trong việc điều khiển như [6] của Nguyễn Đồn Vĩnh Thái và Bùi Đình Hiếu nhận dạng và phân loại hướng của mắt để điều khiển xe. Đề tài [7] của Ngô Xuân Thịnh và Nguyễn Phạm Hoài Ân sử dụng cử chỉ tay để xây dựng mơ hình thùng rác di chuyển tự động. Hay đề tài [8] của Nguyễn Hữu Sáng và Từ Thị Kim Chi điều khiển các thiết bị bằng cử chỉ tay thơng qua giao tiếp UART giữa máy tính và vi điều khiển PIC16F887.
<i><b>Qua những tóm tắt trên, nhóm đã đưa ra lựa chọn đề tài “Thiết kế và thi công </b></i>
<i><b>hệ thống điều khiển xe lăn điện bằng cử chỉ tay sử dụng thông minh nhân tạo”</b></i>.
Công nghệ này mở ra một tương lai tươi sáng cho người khuyết tật, giúp họ có thể tận hưởng cuộc sống hằng ngày một cách thoải mái và độc lập hơn. Việc kết hợp trí tuệ nhân tạo với thiết kế xe lăn điện mang lại nhiều ưu điểm lớn. Hệ thống có khả năng nhận diện cử chỉ tay của người sử dụng, từ đó điều khiển xe lăn điện theo hướng và tốc độ mong muốn. Điều này mang lại sự linh hoạt và tiện ích cao, giúp người sử dụng có thể di chuyển một cách dễ dàng trong mơi trường xung quanh. Ngồi ra, việc áp dụng trí tuệ nhân tạo cũng giúp tối ưu hóa hiệu suất và độ chính xác của hệ thống điều khiển. Nhờ vào khả năng học máy, hệ thống có thể học và thích nghi với cử chỉ tay của mỗi người sử dụng, tạo ra trải nghiệm cá nhân hóa và tối ưu nhất. Tuy nhiên, việc thiết kế hệ thống điều khiển xe lăn điện bằng cử chỉ tay cũng đặt ra một số thách thức. Cần phải đảm bảo rằng hệ thống nhận diện cử chỉ tay một cách chính xác và đáng tin cậy, đồng thời phải cung cấp các phương tiện dự phòng để tránh những tình huống khơng mong muốn. Tóm lại, việc kết hợp trí tuệ nhân tạo vào thiết kế hệ thống điều khiển xe lăn điện bằng cử chỉ tay mang lại nhiều lợi ích lớn cho người khuyết tật. Điều này không chỉ giúp cải thiện chất lượng cuộc sống của họ mà còn mở ra những triển vọng mới và tiềm năng cho công nghiệp hỗ trợ người khuyết tật.
<b>1.2. Mục tiêu để tài </b>
Mục tiêu nhóm đề ra trong đề tài là Thiết kế và thi công hệ thống điều khiển xe lăn điện bằng cử chỉ tay sử dụng thơng minh nhân tạo. Sử dụng thuật tốn phát hiện
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">Jetson Nano Developer Kit từ hình ảnh thu được bằng camera sau đó trả kết quả phân loại và gửi tín hiệu điều khiển qua Arduino Due để điều khiển xe lăn.
<b>1.3. Giới hạn đề tài </b>
Các thông số giới hạn của đề tài bao gồm:
- Mơ hình huấn chỉ được huấn luyện để nhận dạng 6 cử chỉ tay: tiến chậm, tiến nhanh, lùi, trái, phải, dừng.
- Vị trí bàn tay đặt đối diện so với camera và cách khoảng 40cm - 50cm. - Hoạt động ổn định trong mơi trường có ánh sáng vừa đủ và cử chỉ của
<b>người dùng không quá nhanh. </b>
<b>1.4. Nội dung nghiên cứu </b>
Trong q trình thực hiện Khóa luận tốt nghiệp với đề tài “Thiết kế và thi công hệ thống điều khiển xe lăn điện điều khiển bằng cử chỉ tay sử dụng thơng minh nhân tạo”, nhóm chúng em đã tập trung giải quyết và hoàn thành được những nội dung sau:
- Nội dung 1: Tham khảo tài liệu và tóm tắt tài liệu để đưa ra ý tưởng của đề tài.
- Nội dung 2: Thu thập dữ liệu hình ảnh cử chỉ tay và gán nhãn.
- Nội dung 3: Huấn luyện mơ hình nhận dạng, phân loại cử chỉ tay sử dụng mô hình Yolov8 trên Google Colab.
- Nội dung 4: Viết chương trình nhận dạng, phân loại cử chỉ từ mơ hình đã huấn luyện.
- Nội dung 5: Thiết kế sơ đồ khối, sơ đồ mơ hình hệ thống.
- Nội dung 6: Thiết kế, tính tốn, kết nối Jetson Nano Developer Kit với Arduino Due, màn hình, camera.
- Nội dung 7: Thiết kế phần cứng.
- Nội dung 8: Thiết kế giao diện kết quả trên Jetson Nano Developer Kit. - Nội dung 9: Thử nghiệm, kiểm tra, đánh giá, hiệu chỉnh.
- Nội dung 10: Viết báo cáo thực hiện. - Nội dung 11: Bảo vệ luận văn.
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19"><b>1.5. Bố cục </b>
<b>Chương 1: Tổng quan </b>
Chương này tập trung đặt vấn đề, trình bày lý do chọn đề tài, mục tiêu, giới hạn, nội dung nghiên cứu và bố cục của đề tài.
<b>Chương 2: Cơ sở lý thuyết </b>
Chương này trình bày cơ sở lý thuyết và tham khảo các đề tài đã nghiên cứu trước đó để làm tiền đề thực hiện đồ án.
<b>Chương 3: Tính tốn và thiết kế hệ thống </b>
Chương này trình bày sơ đồ khối, đưa ra tính tốn thiết kế phần cứng phù hợp với đề tài. Trình bày về thiết kế hệ thống nhận đạng phân loại cử chỉ tay (chuẩn bị dữ liệu, huấn luyện, đánh giá mơ hình).
<b>Chương 4: Thi cơng hệ thống </b>
Chương này trình bày quá trình thiết kế và thi công phần cứng và thiết kế phần mềm.
<b>Chương 5: Kết quả - nhận xét - đánh giá </b>
Chương này trình bày kết quả thi cơng của đề tài, các nhận xét và đánh giá về sản phẩm sau khi hoàn thành.
<b>Chương 6: Kết luận và hướng phát triển </b>
Chương này trình bày kết luận chung của nhóm về nội dung, q trình tìm hiểu và thực hiện và kết quả của đề tài. Đưa ra một số hướng phát triển, cải thiện khả thi trong tương lai.
</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20"><b>2.1. Các mơ hình, hệ thống điều khiển </b>
<b>2.1.1. Hệ thống điều khiển xe lăn điện sử dụng cảm biến gia tốc </b>
Bộ điều khiển xe lăn điện sử dụng cảm biến gia tốc là sản phẩm nghiên cứu tạo ra một bộ điều khiển không dây sử dụng các cử chỉ bằng đầu để điều khiển hoạt động của xe lăn điện. Hệ thống hoạt động dựa trên các cử chỉ thu thập được bằng đầu từ cảm biến gia tốc MPU6050 và xử lý dữ liệu thu được bằng Arduino Pro Mini sau đó gửi tín hiệu điều khiển về bộ xử lý tín hiệu điều khiển của xe thông qua module Bluetooth HC-05 để điều khiển xe hoạt động. Hệ thống còn sử dụng cảm biến khoảng cách VL53L0X để phát hiện vật cản phía trước và sau xe giúp tránh khỏi những va chạm xảy ra. Việc thiết kế và thi công bộ điều khiển với tiêu chí an tồn, dễ sử dụng cho người khuyết tật. Hệ thống tương đối hoàn thiện về mặt thẩm mỹ và an tồn. Về độ ổn định thì xe lăn sử dụng nguồn acquy an toàn và tai nghe điều khiển sử dụng bluetooth ổn định trong quá trình kết nối và truyền dữ liệu. Ngoài một số ưu điểm thì hệ thống vẫn cịn một số lỗi do khối cảm biến phát hiện vật cản lazer nên khi xe ra ngồi ánh sáng cường độ cao thì khoảng cách phát hiện vật cản của lazer bị thu hẹp vì ảnh hưởng của mơi trường bên ngồi, ảnh hưởng của bề mặt vật vản phức tạp [2].
<b>2.1.2. Hệ thống xe lăn tự định vị và đến đích dựa vào bản đồ 2D </b>
Xe lăn là thiết bị hỗ trợ rất cần thiết cho người khuyết tật, người già di chuyển khó khăn. Do đó đề tài được chọn giúp cho người khuyết tật và người già có thể dễ dàng trong quá trình di chuyển bẳng việc áp dụng công nghệ hiện nay vào xe để giúp cho xe có thể tự di chuyển và tìm đường đi đến vị trí đã chỉ định trước đó.
Hệ thống sử dụng board Arduino Due để làm khối xử lý trung tâm và 2 encoder để bám theo chuyển động quay của bánh xe và xuất ra tín hiệu dưới dạng xung điện. Màn hình LCD Nextion để nhập toạ đọ đích đến. Bộ điều khiển động cơ gồm 2 module điều khiển động cơ BTS7960 43A để điều khiển 2 động cơ của xe lăn. Mơ hình xe có thể tự động tìm đường về đích và có thể né tránh những chướng ngại mà mơ hình phát hiện trên đường đi.Hệ thống định vị được vị trí với sai số nhỏ. Bên cạnh những ưu điểm thì hệ thống cịn có nhưng khuyết điểm cần khắc phục như dễ bị ảnh
</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">hưởng bởi môi trường vận hành như địa hình gồ ghề , mặt sàn trơn, xử lý chưa được tối ưu hoàn toàn gây ra hiện tượng giật, rung lắc [3].
<b>2.1.3. Hệ thống điều khiển xe lăn điện thơng qua tín hiệu điện não và camera </b>
Nhận thấy nhu cầu đi lại của người khuyết tật là vấn đề cần được quan tâm, để họ có thể dễ dàng di chuyển thì phương tiện gắn liền với cuộc sống của họ chính là xe lăn. Đề tài này nhằm mục đích đáp ứng nhu cầu di chuyển nhưng không tốn nhiều công sức và tiện lợi trong việc sử dụng.
Hệ thống sử dụng board Arduino Nano làm bộ xử lý trung tâm kết hợp với việc điều khiển xe thơng qua tín hiệu điện não và camera tránh vật cản giúp người sử dụng tránh được những va chạm không cần thiết xảy ra. Hệ thống có cấu trúc bên ngồi đơn giản, bộ điều khiển gọn nhẹ phụ hợp nhiều loại xe lăn điện, camera đặt phía trước xe lăn, bộ Emotiv Epoc được đội lên đầu người dùng để điều khiển.
Trải qua quá trình thực nghiệm, kết quả hệ thống xe lăn điện có khả năng xác định được vật cản nhoè vào camera, điều khiển được xe theo tín hiệu điện não, điều hướng xe lăn tránh vật cản, tối ưu được quãng đường đi khi kết hợp camera với tín hiệu điện não [4].
<b>2.1.4. Hệ thống xe lăn tự hành dùng camera 3D </b>
Trong cuộc sống, xe lăn là thiết bị hỗ trợ cần thiết cho những người khuyết tật, nó đã và đang ứng dụng trong các hộ gia đình có người khuyết tật, di chuyển khó khăn. Đề tài nhằm mục đích giúp người khuyết tật có khả năng di chuyển một cách tự động, linh hoạt.
Hệ thống sử dụng Arduino Nano làm bộ xử lý trung tâm, module bluetooth 06 và Camera Intel RealSense D435 3D. Xe lăn đạt được những mục tiêu nhận diện vật cản phía trước, xác định được vật mốc và cho xe ngừng di chuyển tại vật mốc. Ngoài những kết quả đạt được thì hệ thống vẫn cịn những hạn chế như khả năng nhận dạng bị ảnh hưởng bởi các yếu tố môi trường ánh sáng nhiễu, chỉ nhận dạng được vật có nhiều đặc trưng và nằm trong khoảng cách gần [5].
</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22"><b>HC-2.1.5. Hệ thống điều khiển xe lăn điện và giao tiếp theo hướng nhìn của mắt </b>
Những bệnh nhân mắc chứng liệt luôn là những người cần được quan tâm và giúp đỡ trong cuộc sống. Việc di chuyển của bệnh nhân hết sức khó khăn, một số bệnh nhân mắc chứng liệt cịn khơng thể giao tiếp. Vì thế, đề tài này đưa ra giải pháp để giúp những bệnh nhân ấy có thể giao tiếp với mọi người xung quanh và điều khiển xe lăn điện thông qua cử động mắt của họ.
Hệ thống sử dụng camera thu thập dữ liệu thời gian thực, dữ liệu sẽ được gửi tới Jetson Nano Developer Kit. Mơ hình nhận dạng Yolov4 sử dụng để nhận diện hướng nhìn của mắt từ dữ liệu thu được để đưa ra các tín hiệu điều khiển xe. Bệnh nhân giao tiếp với giao diện ứng dụng hiển thị thơng qua màn hình Waveshare 10.1 inch, ngồi ra cịn sử dụng loa để phát âm thanh giao tiếp cho những lựa chọn giao tiếp cơ bản. Khi cần di chuyển , họ chỉ cần sử dụng các hướng nhìn của mắt, đưa ra các lệnh đièu khiển để xe di chuyển theo ý muốn. Tuy nhiên, vấn đề về độ chính xác, tốc độ xử lý chưa cao và bất tiện về phần cứng là hạn chế của đề tài [6].
<b>2.1.6. Mô hình thùng rác di chuyển theo cử chỉ tay </b>
Vấn đề rác thải vẫn đang là một điểm nhấn nguy hiểm cho mơi trường sống của con người trên tồn thế giới. Sự ơ nhiễm cho đến hiện tạo thì không chỉ dừng lại ở môi trường sống nào mà có thể nói là tất cả. Vì vậy bảo vệ môi trường không chỉ là mọi người tự ý thức mà cụ thể là những giải pháp. Cho nên đề tài này ngồi việc ý tưởng và mong muốn góp phần cải tạo mơi trường ơ nhiễm.
Mơ hình sử dụng camera thu thập dữ liệu cử chỉ sau đó sẽ được gửi tới Jetson Nano Developer Kit. Mơ hình nhân dạng cử chỉ dùng mạng Nơron tích chập để nhận diện cử chỉ tay từ ảnh thu được từ camera để đưa tín hiệu điều khiển ra ESP32 điều khiển robot thùng rác di động. Mơ hình có khả năng di chuyển tự động thông qua các cảm biến tránh vật cản hoặc có thể điều khiển bằng cử chỉ tay thông qua app. Hiển thị dung lượng rác và thông báo rác đầy qua app.Sau khi thực nghiệm mơ hình hoạt động ổn định, độ chính xác khá cao. Tuy nhiên thời gian xử lý nhận diện cử chỉ bàn tay còn chậm, nhận diện sai trong điều kiện ánh sáng kém [7].
</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23"><b>2.1.7. Mơ hình điều khiển thiết bị bằng cử chỉ tay </b>
Đề tài thực hiện điều khiển sáng và tắt 5 Led đơn thông qua 5 cử chỉ tay của con người thơng qua xử lý ảnh. Hệ thống gồm có 1 webcam để thu nhận ảnh có chứa tay được kết nối với một máy tính chạy chương trình xử lý. Chương trình có nhiệm vụ tìm, xác định nơi chứa bàn tay có trong ảnh bằng phương pháp lọc màu da. Sau đó thực hiện khoanh vùng và chọn vùng thực sự chứa bàn tay. Tiếp theo lần lượt thực hiện các phương pháp co ảnh, giãn ảnh, trừ ảnh để tìm và gắn nhãn cho các vùng ngón tay. Thông qua việc đếm số vùng đã gắn nhãn chương trình sẽ đưa ra kết luận số ngón tay có trong ảnh. Kết quả được hiển thị lên màn hình máy tính dạng hình ảnh thơng qua giao diện người dùng và xuất ra tín hiệu điều khiển ra PIC16F887 thông qua cổng COM để bật/tắt 5 đèn LED trên phần cứng bên ngồi được kết nối với chương trình [8].
<b>2.2. Một số mơ hình nhận dạng cử chỉ tay </b>
<b>2.2.1. Nhận dạng cử chỉ tay dùng mơ hình mạng nơron tích chập </b>
Giao diện người và máy sẽ trực quan nếu con người có thể điều khiển thiết bị bằng cử chỉ hay giọng nói mà khơng cần đùng các thiết bị điêu khiển khác. Hệ thống thị giác máy tính sẽ thích hợp hơn trong mơi trường ồn ào hay âm thanh bị nhiễu. Mạng nơron tích chập được áp dụng khá nhiều trong các bài toán nhận dạng với độ chính xác cao như nhận dạng gương mặt, nhận dạng chữ số viết tay, xử lý ngôn ngữ tự nhiện. Bài nghiên cứu [9] này thiết lập một mạng nơron tích chập với 14 lớp và ứng dụng vào hệ thống nhận dạng 6 cử chỉ bàn tay, với đầu vào là các ãnh tĩnh thu được từ camera. Tập dữ liệu huấn luyện được tạo ra từ các cử chỉ tay của 7 người. Kết quả mơ phỏng cho thấy hệ thống có độ chính xác cao 98,6% đối với các ảnh bàn tay chụp chính diện, có độ sáng và độ mở của các ngón tay thích hợp.
Mơ hình mạng nơron tích chập đề xuất cho ứng dụng nhận dạng cử chỉ bàn tay có thể ứng dụng trong các hệ thống điều khiển không tiếp xúc, ứng dụng chuyển đổi ngôn ngữ cử chỉ sang văn bản hoặc trong các ứng dụng điều khiển khác.
</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24"><b>2.2.2. Nhận dạng cử chỉ tay dùng phương pháp HMM </b>
Phương pháp nhận biết cử chỉ bằng Mơ hình Markov ẩn (Hidden Markov Model - HMM) là một trong những phương pháp phổ biến và mạnh mẽ được sử dụng trong lĩnh vực nhận diện cử chỉ. HMM được ứng dụng trong việc mơ hình hóa chuỗi dữ liệu, trong đó mỗi trạng thái của mơ hình được gán với một cử chỉ cụ thể. HMM có khả năng học và nhận biết các chuỗi cử chỉ dựa trên quá trình học từ dữ liệu huấn luyện. Khi được huấn luyện đúng cách, HMM có thể nhận diện và phân loại các cử chỉ mới mà không cần phải biết trước về chúng [10].
Phương pháp HMM cho phép nhận biết cử chỉ một cách linh hoạt và có thể được áp dụng trong nhiều lĩnh vực, từ nhận diện ngôn ngữ cử chỉ đến điều khiển các ứng dụng công nghiệp và y tế.
<b>2.2.3. Nhận dạng cử chỉ tay cho người khiếm thính dùng mơ hình mạng học sâu YOLO </b>
Ngôn ngữ cử chỉ là một trong những thách thức để có thể hiểu và cũng như luyện tập thì mới có thể thành thạo được. Với sự phát triển của cồng đồng người khiếm thính, thì các nhà nghiên cứu đã và đang timd hiểu nhũng phương pháp khác nhau để có thể tiếp cận và đơn giản hố các ngôn ngữ cử chỉ. Đề tài [11] này tận dụng các bàn tay vật mốc để phát hiện 10 chữ cái trong hệ thống chữ ASL. Thuật toán suy luận Mediapipe dùng để phát hiện các đặng trưng của bàn tay, các đặc trưng này sẽ được đưa vào huấn luyện bằng mạng YOLOv7 để đem lại kết quả dị tìm đúng hơn. Trong đề tài sử dụng 2000 bức ảnh được thu thập thủ công tùe 5 người có độ tuổi và giới tính khác nhau. Các hình ảnh sau khi thu thập sẽ được lọc nhiễu bằng phương pháp tích chập và định lại kích thước trước khi đưa vào mơ hình mạng YOLOv7 cải tiến để thực hiện huấn luyện. Kết quả huấn luyện chỉ số trung bình của độ chính xác mAP đạt 0.995, độ chính xác đạt 99.4% tham số thu hồi đạt 99,2% . Độ chính xác của các kí tự “a”, “c”, “e”, “g”, “h”, “i”, “j” có độ chính xác 100%, “b” đạt 98% “c” đạt 97% và “f” có độ chính xác thấp nhất là 84%.
</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25"><b>2.2.4. Nhận dạng cử chỉ tay cho ngơn ngữ kí hiệu bằng mạng nơron</b>
Giao tiếp phổ biến nhất với hầu hết các hệ thống máy tính hiện nay thường sử dụng chuột và bàn phím. Mặc dù cử chỉ tay, một phương pháp tương tác không cần chạm, được coi là hiệu quả và trực quan để tương tác với máy tính, nhưng nó hiện vẫn ít được người dùng chấp nhận. Nguyên nhân chính là do việc phát hiện chính xác các cử chỉ trong khơng gian khơng khí đang gặp nhiều thách thức kỹ thuật.
Đề tài này [12] giới thiệu về tính năng phát hiện cử chỉ tay trong Ngôn ngữ ký hiệu của Mỹ, sử dụng phương pháp K-Nearest Neighbor thông qua Mediapipe - một framework được thiết kế để giảm thiểu những rắc rối kỹ thuật trong việc nhận diện chính xác cử chỉ. Khung này học từ các bản trình diễn và cho phép người dùng tương tác trực tiếp với máy tính chỉ qua camera RGB mà không cần sử dụng các thiết bị chạm. Điều này tạo ra một trải nghiệm tương tác linh hoạt và thú vị, nơi người dùng có thể tùy chỉnh và thực hiện các cử chỉ trong thời gian thực.
Nghiên cứu này tận dụng kỹ thuật theo dõi ngón tay với độ chính xác cao, sử dụng Bàn tay Mediapipe để trích xuất các điểm mốc từ hình ảnh 2D. Quá trình này giúp phát hiện và trích xuất đặc điểm quan trọng của bàn tay từ mỗi hình ảnh. Hệ thống có khả năng nhận diện 21 điểm chính trên mỗi bàn tay và hỗ trợ việc đồng thời phát hiện nhiều bàn tay. Các điểm mốc bàn tay được trích xuất từ hình ảnh bàn tay có thể được sử dụng như một đặc trưng quan trọng để huấn luyện và kiểm tra mơ hình.
<b>2.4. Ứng dụng mơ hình nhận dạng đối tượng với giải pháp suy luận vào nhận dạng cử chỉ tay </b>
Mơ hình nhận dạng đối tượng ( YOLOv7) và giải pháp suy luận (Mediapipe) được dùng ở đề tài [11] và [12] để thực hiện nhận dạng phân loại cử chỉ tay cho ra kết quả phân loại tốt và ổn định. Dựa trên những cơ sở đó, nhóm lựa chọn sử dụng mơ hình mạng YOLO kết hợp với Mediapipe để thực hiện bài toán nhận dạng cử chỉ tay để điều khiển xe lăn điện.
</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26"><b>2.4.1. Giải pháp suy luận </b>
Giải pháp suy luận - Mediapipe được thiết kế để xử lý suy luận dựa trên đa dạng dữ liệu [13], đã được phát triển bởi Google và mang đến một giao diện chương trình ứng dụng mã nguồn mở với nhiều tính năng hữu ích cho nghiên cứu trong lĩnh vực trí tuệ nhân tạo và máy học. Điều đặc biệt là, Mediapipe khơng chỉ mạnh mẽ về chức năng mà cịn tiêu thụ rất ít tài nguyên, một điểm đặc biệt trái ngược với nhiều mơ hình máy học khác, thường yêu cầu tài nguyên phần cứng đáng kể. Với kích cỡ nhỏ và hiệu suất năng lượng cao, Mediapipe trở thành lựa chọn linh hoạt có thể tích hợp vào hệ thống vạn vật kết nối Internet mà không làm suy giảm hiệu suất.
Mediapipe hỗ trợ suy luận 3D, giúp chuyển đổi thông tin từ không gian 2D sang khơng gian 3D, có ứng dụng trong việc theo dõi chuyển động và định vị. Nổi trội hơn cả Mediapipe được ứng dụng nhiều trong các nghiên cứu phát hiện cử chỉ tay, bàn tay Mediapipe được trích xuất các điểm mốc từ 1 hình ảnh 2D cho việc phát hiện và trích xuất bàn tay vật mốc. Hệ thống có thể trích xuất 21 điểm chính trên mỗi bàn tay và hổ trợ cho việc phát hiện nhiều bàn tay đồng thời. Vật mốc bàn tay được trích xuất từ hình ảnh bàn tay có thể được sử dụng như một đặc trưng cho việc huấn luyện và kiểm tra một mơ hình.
<i>Hình 2.1. Các đặc trưng bàn tay được trích xuất bởi thuật tốn Mediapipe. </i>
<b>2.4.2. Mơ hình nhận dạng đối tượng</b>
Mơ hình mạng YOLO (You Only Look Once) là một kiến trúc mạng neural convolutional (CNN) được phát triển để thực hiện tác vụ nhận diện vật thể trong ảnh và video. Khác với các mơ hình chỉ có khả năng phân loại đối tượng bằng cách đưa ra dự đoán về nhãn, YOLO tập trung vào việc phát hiện đối tượng [14]. Nó khơng chỉ có khả năng phát hiện nhiều đối tượng với nhiều nhãn khác nhau, mà cịn có khả năng
</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">xác định vị trí chính xác của các đối tượng trong một hình ảnh thơng qua việc đặt khung bao quanh đối tượng dưới dạng hình chữ nhật.
YOLO chuyển đổi bài toán nhận dạng đối tượng thành một bài tốn hồi quy trên miền khơng gian các bounding box. Thuật toán chia ảnh đầu vào thành một lưới S x S ô. Nếu tâm của đối tượng cần xác định rơi vào một ơ nào đó, thì ơ đó sẽ đảm nhận việc xác định đối tượng và tạo ra bounding box tương ứng. Thuật toán này sử dụng một mạng neural đơn với các đặc trưng được trích xuất từ các lớp convolution để dự đốn bounding box trong mỗi ơ và xác suất loại đối tượng cụ thể. Cuối cùng sẽ có nhiều bounding box được dự đốn với kích thước và vị trí khác nhau. Bằng cách sử dụng thuật toán Non-Maximum Suppression (NMS), từ đó có thể loại bỏ hầu hết các bounding box bị trùng lặp, chỉ giữ lại các bounding box có xác suất dự đốn cao nhất [15].
<i><b>Hình 2.2. Cách thức hoạt động của mơ hình nhận dạng đối tượng YOLO. </b></i>
Đề tài này sử dụng mơ hình nhận diện đối tượng YOLOv8, phiên bản nâng cấp của YOLOv7 ở đề tài [11], để phục vụ việc nhận diện đối tượng trên thiết bị. YOLOv8 được chọn do có tốc độ nhận diện nhanh hơn và độ chính xác cao hơn so với phiên bản tiền nhiệm YOLOv7.
Kiến trúc của YOLOv8 được xây dựng dựa trên các phiên bản trước của thuật toán YOLO. YOLOv8 sử dụng một mạng neural convolutional có thể chia thành hai phần chính: phần gói và phần đầu. Một phiên bản điều chỉnh của kiến trúc CSPDarknet53 được sử dụng làm phần gói của YOLOv8. Kiến trúc này bao gồm 53 lớp convolution và sử dụng các kết nối chéo giữa các giai đoạn để cải thiện luồng
</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">trách nhiệm dự đoán các bounding box, điểm đối tượng và xác suất lớp cho các đối tượng được phát hiện trong một hình ảnh. Một trong những điểm nổi bật của YOLOv8 là việc sử dụng cơ chế tự chú ý trong phần đầu của mạng. Cơ chế này cho phép mơ hình tập trung vào các phần khác nhau của hình ảnh và điều chỉnh mức độ quan trọng của các đặc trưng khác nhau dựa trên sự liên quan của chúng đối với tác vụ.
Một đặc điểm quan trọng khác của YOLOv8 là khả năng thực hiện việc nhận diện đối tượng với nhiều quy mơ khác nhau. Mơ hình sử dụng một mạng cơ sở của đặc trưng để nhận diện các đối tượng có kích thước và quy mơ khác nhau trong một hình ảnh. Mạng cơ sở này bao gồm nhiều lớp để nhận diện các đối tượng với các quy mơ khác nhau, cho phép mơ hình nhận diện các đối tượng lớn và nhỏ trong một hình ảnh [16].
</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29"><b>3.1. Giới thiệu </b>
Mục tiêu để hoàn thành đề tài này là thiết kế hệ thống điều khiển xe lăn bằng cử chỉ tay, sử dụng camera để chụp hình ảnh cử chỉ tay. Sau khi chụp ảnh có cử chỉ tay Jetson Nano Developer Kit sẽ xử lý hình ảnh đưa vào mơ hình nhận dạng đối tượng YOLO để đưa ra các lệnh điều khiển.
Trong chương này, nhóm sẽ tiến hành tính tốn và thiết kế từng khối trong hệ thống và trình bày q trình tính tốn, xây dựng mơ hình nhận diện cử chỉ tay.
Q trình tính tốn và thiết kế gồm có 2 phần: tính tốn và thiết kế hệ thống và thiết kế mơ hình nhận diện cử chỉ tay.
<b>3.2. Tính tốn và thiết kế hệ thống 3.2.1. Thiết kế sơ đồ khối hệ thống </b>
Theo yêu cầu đặt ra của đề tài, nhóm đã thiết kế sơ đồ khối cho hệ thống bao gồm: khối nguồn, khối thu thập dữ liệu, khối xử lý trung tâm, khối điều khiển, khối động cơ, khối hiển thị. Sơ đồ khối được mơ tả như hình 3.1.
<i>Hình 3.1. Sơ đồ khối của hệ thống. </i>
Khối xử lý trung tâm: thu nhận ảnh từ khối thu thập dữ liệu, dùng thuật toán nhận
</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">lên khối hiển thị, tiếp đó sẽ gửi tín hiệu điều khiển tới khối điều khiển qua phương thức truyền dữ liệu không dây bluetooth để điều khiển khối động cơ.
Khối thu thập dữ liệu: thu thập ảnh cử chỉ tay của người dùng thơng qua camera sau đó truyền dữ liệu đến khối xử lý trung tâm để xử lý dữ liệu ảnh đầu vào.
Khối hiển thị: có chức năng hiển thị cử chỉ tay của người dùng và cho biết trạng thái di chuyển của xe.
Khối điều khiển: đóng vai trị vận hành khối động cơ từ việc nhận dữ liệu điều khiển từ khối xư lý trung tâm.
Khối nguồn: có chức năng cực kì quan trọng đó là cấp nguồn cho các thiết bị thơng qua các mạch giảm áp - dòng phù hợp để các khối hoạt động ở mức điện áp ổn định nhất.
<b>3.2.2. Tính tốn và thiết kế sơ đồ mạch a. Thiết kế khối xử lý trung tâm </b>
Khối xử lý trung tâm sẽ đảm bảo xử lý toàn bộ hệ thống thiết bị. Nhiệm vụ của đề tài là sử dụng thuật toán nhận diện cử chỉ của tay. Vì vậy, khối xử lý trung tâm sẽ là một vi điều khiển hoặc máy tính nhúng có khả năng xử lý mạnh mẽ cho các thuật toán mạng nơron, đồng thời giữ kích thước nhỏ gọn phù hợp để thiết kế trên xe. Sau khi nghiên cứu thị trường, Raspberry Pi 4 và Jetson Nano là hai lựa chọn đáp ứng được yêu cầu. Tuy Raspberry Pi 4 có ưu điểm về hỗ trợ chuẩn không dây và giá thành trong khi đó Jetson Nano vượt trội với GPU 128 lõi CUDA. Dựa vào nhu cầu nhận diện đối tượng để nhận diện cử chỉ tay và tốc độ xử lý nhanh nên nhóm đề tài quyết định chọn máy tính nhúng Jetson Nano làm bộ xử lý trung tâm [17].
<i>Hình 3.2. Jetson Nano Developer Kit. </i>
</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31"><i>Bảng 3.1. Thông số kỹ thuật Jetson Nano Developer Kit </i>
<b>Model</b> Jetson Nano Developer Kit A02
<b>GPU</b> 128-core Maxwell
<b>CPU</b> Quad-core ARM A57 1.43 GHz
<b>Memory</b> 4 GB 64-bit LPDDR4 25.6 GB/s
<b>Storage</b> MicroSD
<b>Display</b> HDMI 2.0 and eDP 1.4
<b>USB</b> 4x USB 3.0, USB 2.0 Micro-B
<b>Others</b> GPIO, I2C, I2S, SPI, UART
<i>Hình 3.3. Sơ đồ kết nối Jetson Nano với các thiết bị ngoại vi. </i>
Sơ đồ kết nối của Jetson Nano với các thiết bị ngoại vi như hình 3.3: - Cổng DC kết nối với ngõ ra của module giảm áp DC-DC 15A. - Cổng HDMI kết nối với cổng HDMI trên màn hình.
- Cổng USB1 kết nối với cổng micro USB trên màn hình. - Cổng USB2 kết nối với đầu USB của Webcam.
<b>b. Thiết kế khối thu thập dữ liệu </b>
</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">năng thu nhận ảnh màu rõ nét, độ tương phản cao, có khả năng thu nhận hình ảnh trong nhiều điều kiện ánh sáng mơi trường và có cổng kết nối thích hợp với khối xử lý trung tâm. Với đề tài này, có thể nói việc thu ảnh từ cử chỉ tay là chìa khố quan trọng dẫn đến sự thành cơng của đề tài. Sau khi tìm hiểu, nhóm đã quyết định chọn Webcam W2 Full HD 1080P. Với độ phân giải 1080P 30FPS mang lại hình ảnh sắc nét cho hình ảnh thu được và có thể xoay 360<small>o </small>phù hợp với việc đặt cố định trong quá trình thu dữ liệu ảnh đầu vào.
<i><b>Hình 3.4. Webcam W2 Full HD. </b></i>
<i>Bảng 3.2. Thông số kỹ thuật Webcam W2 Full HD </i>
<b>Độ phân giải tối đa 1080P/30FPS Camera Mega Pixel 2.4MP </b>
</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33"><b>c. Thiết kế khối hiển thị </b>
Khối hiển thị sử dụng màn hình cảm ứng Raspberry 7 inch HD [18] với độ phân giải 800×480. Có chức năng hiển thị trạng thái hoạt động của xe, cử chỉ tay và giao diện ứng dụng điều khiển giúp người dùng thao tác trực tiếp trên màn hình cảm ứng. Màn hình giao tiếp với khối xử lý trung tâm thông qua cổng HDIM và lấy nguồn từ cổng USB 3.0 5V-2A của Jetson như hình 3.7.
<i>Hình 3.6. (a) ảnh mặt trước màn hình 7inch HD cảm ứng , (b) ảnh mặt sau màn hình 7inch HD cảm ứng. </i>
<i>Bảng 3.3. Thơng số kỹ thuật của Màn hình Cảm ứng 7 inch </i>
<b>Module</b> Raspberry 7 inch HDMI LCD
</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34"><i>Hình 3.7. Sơ đồ kết nối khối hiển thị với khối xử lý trung tâm. </i>
<b>d.Thiết kế khối điều khiển </b>
Khối điều khiển sử dụng Arduino Due R3 [19] có nhiệm vụ nhận tín hiệu điều khiển từ khối xử lý trung tâm gửi quả để điều khiển xe. Sơ đồ kết nối Arduino Due với các ngoại vị được trình bày như hình 3.12:
<i>Bảng 3.4. Thơng số kỹ thuật Arduino Due </i>
<b>Vi điều khiển </b> AT91SAM3X8E
<b>Đầu nối USB </b> Micro USB
<b>Pin </b> Chân đầu vào/ra digital 54
Chân đầu vào analog <sub>12 </sub>Chân đầu ra analog 2
</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">Dòng điện một chiều trên mỗi chân I / O (nhóm 1)
Vì tính tiện lợi của giao tiếp truyền tải dữ liệu không dây của Bluetooth. Nhóm đã quyết định lựa chọn module Bluetooth HC-05 để truyền nhận dữ liệu giữa máy tính nhúng Jetson Nano Developer Kit và Aruino Due để điều khiển khối động cơ. Module bluetooth HC-05 [20] là một module Bluetooth thường được sử dụng để thiết lập kết nối không dây giữa các thiết bị điện tử. Đặc biệt, HC-05 thường được tích hợp vào các dự án Arduino và các dự án IoT.
<i>Hình 3.8. Module Bluetooth HC-05. </i>
<i>Bảng 3.5. Thông số kỹ thuật Module Bluetooth HC-05 </i>
<b>Điện áp hoạt động </b> 3.3-5V
<b>Mức điện áp chân giao tiếp TTL tương thích 3.3-5VDC </b>
<b>Bluetooth protocol </b> Bluetooth specification v2.0 + EDR
<b>Frequency </b> 2.4 GHz ISM band
<b>Synchronous </b> 1 Mbps/1 Mbps
<b>Dòng điện khi hoạt động </b> khi Pairing 30 mA, bình thường 8mA
</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">Module HC- 05 kết nối với Arduino Due theo chuẩn UART như hình 3.9: - Chân RXD module HC-05 kết nối với chân TX3 của Arduino Due. - Chân TXD module HC-05 kết nối với chân RX3 của Arduino Due. - Chân VCC module HC-05 kết nối với chân 5V của Arduino Due. - Chân GND module HC-05 kết nối với chân GND của Arduino Due.
<i>Hình 3.9. Sơ đồ kết nối Arduino Due với Module Bluetooth HC-05. </i>
Do xe lăn sử dụng động cơ cơng suất cao lên 60W nên nhóm sử dụng hai mạch điều khiển động cơ BTS7960 với đầu vào điện áp điều khiển động cơ là 24VDC, mạch có khả năng xử lý dịng điện tải lên đến 15A. Mạch này nhận tín hiệu từ vi điều khiển Arduino Due để điều khiển hai động cơ, giúp xe có thể di chuyển dễ dàng theo hướng thuận và nghịch với tốc độ được điều khiển.
Nguồn điện chính là ắc quy 24VDC, được chia làm hai để cấp điện cho động cơ và thông qua mạch giảm áp để cung cấp nguồn cho cầu H BTS7960, vi điều khiển Arduino, và module Bluetooth. Chân L_EN và R_EN được kết nối vào hai chân của vi
</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37">điều khiển để đảm bảo hoạt động đồng bộ của cầu H. Hai chân RPWM và LPWM được sử dụng làm chân PWM để điều khiển tốc độ của động cơ.
<i>Hình 3.10. Module BTS7960. </i>
<i><b>Bảng 3.6. Thơng số kĩ thuật Module BTS7960 </b></i>
<b>Điện áp công suất </b> 6-27VDC
<b>Điện áp điều khiển </b> 3.3-5V
<b>Dòng điện Max </b> 43A
<b>Tần số điều khiển Max 25KHz IC Driver </b> BTS7960
</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38">Sơ đồ kết nối module BTS7960 với Arduino Due như hình 3.11:
- Chân R_EN, L_EN của moduel BTS7960 trái và phải lần lượt kết nối với
<b>chân 10,11 của Arduino Due. </b>
- Chân RPWM của module BTS7960 trái và phải lần lượt kết nối với chân 8, 13 của Arduino Due.
- Chân LPWM của module BTS7960 trái và phải lần lượt kết nối với chân 9, 12 của Arduino Due.
<b>Lựa chọn điện trở kéo lên nút nhấn reset hệ thống: </b>
Theo thông số của nhà sản xuất vi điều khiển Atmel ATSAM3X8E thì điện trở kéo lên ở chân reset nhỏ hơn 100kΩ để đảm bảo ngõ vào tích cực mức cao khi khơng nhấn.
Nhóm lựa chọn điện trở kéo lên cho nút nhấn reset là 10kΩ đủ lớn để tránh tiêu tốn năng lượng khi nút không nhấn và đủ nhỏ để đảm bảo đủ dịng khi nút được nhấn.
<i>Hình 3.12. Sơ đồ kết nối khối điều khiển. </i>
</div><span class="text_page_counter">Trang 39</span><div class="page_container" data-page="39"><b>e. Thiết kế khối nguồn </b>
Khối nguồn có chức năng quan trọng là cung cấp nguồn cho toàn bộ hệ thống, đảm bảo cho hệ thống có thể hoạt động ổn định. Để thiết kế khối nguồn, nhóm tiến hành tổng hợp và liệt kê các thông số giá trị dòng điện và điện áp của các linh kiển sử dụng trong hệ thống được trình bày như bảng 3.7.
<i>Bảng 3.7. Thông số các thiết bị sử dụng. </i>
<b>STT Tên thiết bị Số lượng Điện áp (V) Dòng điện (mA) </b>
1 Jetson Nano 1 5 4000 2 Màn hình 7inch HD 1 5 1000 3 Arduino Due 1 5 500 4 Module cầu H BTS7960 2 5 100 5 Module bluetooth HC-05 1 5 30 6 Webcam W2 HDFull 1 5 900 7 Động cơ PWM xe 2 24 5000
Tổng dòng tiêu thụ (mA) 11.530
Dựa theo bảng thống kê trên, ta có tổng dịng điện trong mạch là 11.530 (mA) ở các mức điện áp sử dụng là 5V, 24V. Về khối nguồn của thiết bị, để đảm bảo tính di động vì phải điều khiển xe lăn. Acquy sẽ là lựa chọn hợp lý cho việc thiết kế thiết bị. Acquy sử dụng có dung lượng 12Ah và điện áp ra là 24V trong đó 5VDC sẽ được cung cấp nguồn từ ắc quy thông qua việc dùng mạch giảm áp LM2596 hạ xuống 5V cấp cho bộ điều khiển. Do Jetson Nano Developer Kit tiêu tốn dịng khá cao trong việc chạy mơ hình nơron nên nhóm sử dụng module giảm áp XL4016E1 cơng suất cao để cấp cho Jetson Nano.
Thời gian hoạt động của hệ thống khi dùng acquy phụ thuộc vào công suất của tải và dung lượng của acquy và được tính theo cơng thức:
t = <sup>V×η </sup>
</div>