Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 110 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
110
Dung lượng
9,6 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - VIỄN THÔNG THIẾT KẾ VÀ CHẾ TẠO CÁNH TAY ROBOT TƯƠNG TÁC QUA MÀN HÌNH ĐỂ HỖ TRỢ TRONG GIẢNG DẠY HỌC NGƠN NGỮ KÍ HIỆU CHO TRẺ EM CÂM ĐIẾC GVHD: NGUYỄN THANH HẢI SVTH: TRƯƠNG NGHỆ NHÂN LÊ NGUYỄN THIÊN SANG SKL009271 Tp Hồ Chí Minh, tháng 07/2022 n TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ VÀ CHẾ TẠO CÁNH TAY ROBOT TƯƠNG TÁC QUA MÀN HÌNH ĐỂ HỖ TRỢ TRONG GIẢNG DẠY HỌC NGƠN NGỮ KÍ HIỆU CHO TRẺ EM CÂM ĐIẾC GVHD : SVTH : MSSV : SVTH : MSSV : Khóa : Ngành : PGS TS Nguyễn Thanh Hải Trương Nghệ Nhân 18161125 Lê Nguyễn Thiên Sang 18161139 K18 CNKT Điện tử - Viễn thơng Tp Hồ Chí Minh, tháng 07 năm 2022 n TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ VÀ CHẾ TẠO CÁNH TAY ROBOT TƯƠNG TÁC QUA MÀN HÌNH ĐỂ HỖ TRỢ TRONG GIẢNG DẠY HỌC NGƠN NGỮ KÍ HIỆU CHO TRẺ EM CÂM ĐIẾC GVHD : SVTH : MSSV : SVTH : MSSV : Khóa : Ngành : PGS TS Nguyễn Thanh Hải Trương Nghệ Nhân 18161125 Lê nguyễn Thiên Sang 18161139 K18 CNKT Điện tử - Viễn thông Tp Hồ Chí Minh, tháng 07 năm 2022 n CỘNG HÒA Xà HỘI CHỦ NGĨA VIỆT NAM Độc lập – Tự – Hạnh phúc TP Hồ Chí Minh, ngày tháng năm 2022 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Trương Nghệ Nhân MSSV: 18161125 Lê Nguyễn Thiên Sang MSSV: 18161139 Ngành: Công nghệ kỹ thuật Điện tử - Viễn thông Giáo viên hướng dẫn: PGS TS Nguyễn Thanh Hải Ngày nhận đề tài: 15/03/2022 Ngày nộp đề tài: Tên đề tài: Thiết kế chế tạo cánh tay robot tương tác qua hình để hỗ trợ giảng dạy học ngôn ngữ ký hiệu cho trẻ em câm điếc Các số liệu, tài liệu ban đầu: - Bảng chữ alphabet (a-y), chữ số (0-9) dấu (sắc, huyền, hỏi, ngã, nặng) ngơn ngữ kí hiệu Việt Nam - Trương Nghệ Nhân, Lê Nguyễn Thiên Sang, “Dạy trẻ em học thủ ngữ cách tay robot”, Đồ án Điện tử 2, trường ĐH SPKT, TP.HCM, 2021-2022, HK1 Nội dung thực đề tài: - Thiết kế thi cơng mơ hình phần cứng hệ thống, bao gồm phần cứng khí mạch điện - Thiết kế giao diện điều khiển - Xây dựng thuật toán điều khiển thuật toán nhận diện dựa Deep Learning - Chạy thử, kiểm tra, đánh giá điều chỉnh thiết bị - Viết báo cáo thực - Bảo vệ luận văn Sản phẩm: Mơ hình cánh tay Robot in 3D thực cử ngôn ngữ ký hiệu Ứng dụng Deep Learning để đánh giá q trình học ngơn ngữ Tương tác qua hình cảm ứng TRƯỞNG NGÀNH GIÁO VIÊN HƯỚNG DẪN i n CỘNG HÒA Xà HỘI CHỦ NGĨA VIỆT NAM Độc lập – Tự – Hạnh phúc PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN Họ tên sinh viên: Trương Nghệ Nhân MSSV: 18161125 Lê Nguyễn Thiên Sang MSSV: 18161139 Ngành: Công nghệ kỹ thuật Điện tử - Viễn thông Tên đề tài: Thiết kế chế tạo cánh tay robot tương tác qua hình để hỗ trợ giảng dạy học ngôn ngữ ký hiệu cho trẻ em câm điếc Họ tên Giáo viên hướng dẫn: PGS TS Nguyễn Thanh Hải NHẬN XÉT Về nội dung đề tài & khối lượng thực hiện: Ưu điểm: Khuyết điểm Đề nghị cho bảo vệ hay không? Đánh giá loại: Điểm: (Bằng chữ: ) Tp Hồ Chí Minh, ngày tháng năm 2022 Giáo viên hướng dẫn PGS TS Nguyễn Thanh Hải ii n CỘNG HÒA Xà HỘI CHỦ NGĨA VIỆT NAM Độc lập – Tự – Hạnh phúc PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN Họ tên sinh viên: Trương Nghệ Nhân MSSV: 18161125 Lê Nguyễn Thiên Sang MSSV: 18161139 Ngành: Công nghệ kỹ thuật Điện tử - Viễn thông Tên đề tài: Thiết kế chế tạo cánh tay robot tương tác qua hình để hỗ trợ giảng dạy học ngôn ngữ ký hiệu cho trẻ em câm điếc Họ tên Giáo viên phản biện: NHẬN XÉT Về nội dung đề tài & khối lượng thực hiện: Ưu điểm: Nhược điểm Đề nghị cho bảo vệ hay không? Đánh giá loại: Điểm: (Bằng chữ: ) Tp Hồ Chí Minh, ngày tháng năm 2022 Giáo viên phản biện iii n LỜI CẢM ƠN Lời đầu tiên, chúng em xin bày tỏ lòng biết ơn chân thành sâu sắc đến Thầy Nguyễn Thanh Hải – giáo viên phụ trách hướng dẫn cho chúng em đề tài luận văn Thầy tận tình góp ý vấn đề chun mơn, giải đáp khúc mắc mà nhóm gặp phải thực đề tài Ngồi ra, thầy cịn nhiệt tình trao đổi, chia sẻ kinh nghiệm hữu ích để nhóm hồn thiện bảo vệ thật tốt đề tài luận văn tốt nghiệp lần Xin cảm ơn thầy! Để hồn thành khóa luận việc tích lũy kiến thức năm đại học quan trọng, chúng em xin chân thành cảm ơn toàn thể quý Thầy Cô Khoa Đào tạo Chất lượng cao cung cấp kiến thức bổ ích khơng cho việc thực đề tài mà sử dụng sau công việc sau tốt nghiệp Ngoài ra, chúng em xin gửi lời cảm ơn đến Phịng thí nghiệm Hệ thống Thơng minh (ISLab) Khoa Điện-Điện tử hỗ trợ sở vật chất tạo điều kiện cho chúng em thực luận văn Cuối cùng, nhóm xin cảm ơn gia đình, người thân bạn bè ln động viên, hỗ trợ mặt vật chất lẫn tinh thần đề nhóm thực đồ án tốt nghiệp điều kiện tốt suốt trình thực Ở đồ án tốt nghiệp này, nhóm chúng em nỗ lực để hồn thành hạn mục tiêu ban đầu đề Tuy nhiên, lý kiến thức thời gian hạn chế nên khơng thể tránh khỏi sai sót, kính mong q Thầy/Cơ bạn thơng cảm góp ý để giúp nhóm rút kinh nghiệm để phát triển cải tiến đề tài luận văn tương lai Một lần nữa, nhóm xin chân thành cảm ơn! Người thực đề tài Trương Nghệ Nhân Lê Nguyễn Thiên Sang iv n LỜI CAM ĐOAN Đề tài đồ án tốt nghiệp cơng trình nghiên cứu chúng em thực hướng dẫn thầy PSG TS Nguyễn Thanh Hải Nhóm cam kết khơng chép từ cơng trình hay tài liệu cơng bố trước đó! Người thực đề tài Trương Nghệ Nhân Lê Nguyễn Thiên Sang v n TĨM TẮT Hiện nay, theo ước tính, Việt Nam ta có khoảng 15,500 trẻ em tuổi bị điếc khiếm thính Hầu hết em khơng tiếp cận với giáo dục mầm non ngơn ngữ rào cản lớn em Trong năm gần đây, nhờ vào phát triển vượt bậc khoa học công nghệ, người ln cố gắng tạo thiết bị để hỗ trợ đối tượng hòa nhập với cộng đồng xung quanh Các nỗ lực thực từ trước đến giải vấn đề cấp bách họ, thiết bị phiên dịch ngơn ngữ kí hiệu thành ngơn ngữ nói ngày Tuy nhiên, vấn đề bền vững việc giảng dạy ngơn ngữ kí hiệu cho em chưa thực trọng Chính vậy, luận án này, hệ thống thay giáo viên việc dạy ngôn ngữ kí hiệu cho trẻ em điếc khiếm thính dựa cánh tay robot mạng học sâu đề xuất Những đóng góp đề tài chia thành phần Thứ nhất, mơ hình phần cứng với nguyên mẫu cánh tay robot thao tác linh hoạt cử bảng chữ chữ số ngơn ngữ kí hiệu Việt Nam Trong phần chúng em sử dụng vi điều khiển Arduino Nano, module điều khiển xung PWM Adafruit PCA 9685, module điều khiển động bước A4988, cấu chấp hành bao gồm servo DC động bước có hộp số Thứ hai, mơ hình thuật tốn giúp nhận diện ngơn ngữ kí hiệu dựa thị giác máy tính mạng nơ-ron học sâu Có mơ hình nhận diện tích hợp bên trong, mơ hình phát vật thể mơ hình nhận dạng hành động Với mơ hình phát vật thể, việc sử dụng mơ hình mạng YoloV5 kết hợp với tập liệu tự thu thập đạt kết nhận diện có độ xác trung bình mAP@0.5 99,73% mAP@[.5:.95] 83% Đối với mơ hình cịn lại, thư viện Mediapipe sử dụng để trích xuất tọa độ không gian chiều khung xương bàn tay từ hình ảnh mà camera thu Các tọa độ đưa vào mơ hình mạng Gated Recurrent Units cho việc huấn luyện tham số Độ xác mơ hình nhận diện hành động lên đến 97% Cả hai mơ hình mạng có khả thực thi dựa thời gian thực Phần đóng góp cuối giao diện trực quan tương tác với người học hiển thị thơng qua hình cảm ứng vi n MỤC LỤC NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN .ii PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN iii LỜI CẢM ƠN iv LỜI CAM ĐOAN v TÓM TẮT vi MỤC LỤC vii DANH MỤC TỪ VIẾT TẮT x MỤC LỤC BẢNG xi MỤC LỤC HÌNH ẢNH xii Chương TỔNG QUAN 1.1 Giới thiệu 1.2 Mục tiêu đề tài 1.3 Đối tượng phạm vi nghiên cứu 1.4 Nội dung nghiên cứu 1.5 Bố cục .3 Chương CƠ SỞ LÝ THUYẾT 2.1 Các nghiên cứu thực 2.1.1 Cánh tay robot Aslan 2.1.2 Nhận diện ngơn ngữ kí hiệu dựa YoloV5 2.1.3 Nhận diện ngơn ngữ kí hiệu sử dụng MediaPipe Long Short-Term Memory .5 2.2 Ngơn ngữ kí hiệu Việt Nam .6 2.3 Học sâu (Deep Learning) 2.4 Phát vật thể (Object Detection) 2.4.1 Giới thiệu 2.4.2 Mạng xương sống CSPDarknet vii n Từ kết thu bảng 5.6, khoảng cách từ 50cm – 70cm có số lần thực thành cơng thấp nguồn phát âm khoảng cách xa nên ảnh hưởng nhiều tạp âm Với khoảng cách 0cm -30cm có số lần thực thành cơng cao khoảng cách tới nguồn phát âm ngắn, ấm phát rõ nên khả thu âm đạt hiệu suất cao Ngoài ra, hạn chế hệ thống nên thời gian chuyển đổi âm thu sang dạng văn xuất hình giao chậm (3 - giây) Kết luận: Từ kết thu lần thực nghiệm, cho thấy hệ thống mơ hình cánh tay robot hỗ trợ dạy học ngôn ngữ ký hiệu hoạt động với ba chức “Học chữ”, “Kiểm tra”, Phiên dịch” Ở chế độ “Kiểm tra”, khả nhận diện phát cử nhanh, xác Ở chế độ “Học chữ”, thực thành công 36/44 ký tự thủ ngữ Tiếng Việt, nhiên số ký tự cánh tay robot thực chưa giống hoàn toàn so với thực tế hạn chế phần cứng khí Ở chế độ “Phiên dịch”, thực việc thu âm chuyển âm lời nói sang ngôn ngữ ký hiệu, thời gian chuyển đổi âm sang dạng văn bảng thị giao diện hình lâu (3 – giây) Mạch điều khiển có khả hoạt động thời gian dài khơng làm nóng linh kiện điện tử 5.3 Tài liệu hướng dẫn sử dụng Bước 1: Cấp nguồn điện cho mơ hình: Trong board mạch điều khiển hệ thống sử dụng nguồn điện độc lập 12V (Adapter) 5V (nguồn tổ ong) Đối với Arduino thiết bị ngoại vi bao gồm hình, camera sử dụng nguồn 5V lấy từ cổng USB laptop Khi cấp đủ nguồn, khởi chạy giao diện tương tác với người dùng Bước 2: Trước tiên, giao diện thị trang giới thiệu, người dùng cần nhấn nút “Bắt đầu” để chuyển sang trang chọn chế độ Tại giao diện trang chọn chế độ hiển thị nút nhấn tương ứng với chức “Học chữ”, “Kiểm tra”, “Phiên dịch” Tùy thuộc vào mục đích sử dụng để chọn chức phù hợp: Chức “Học chữ”: Trên giao diện chức “Học chữ” thị 44 ký tự thủ ngữ Tiếng Việt bao gồm chữ cái, chữ số dấu Khi ký tự chọn thơng báo thị ký tự đồng thời mơ hình cánh tay robot thực thao tác thủ ngữ Chức “Kiểm tra”: Trên giao diện chức “Kiểm tra” hiển thị hai khung chữ nhật, phía hai khung có 36 biểu tượng màu xám tương ứng với 36 câu hỏi kiểm tra Khi nhấn nút bắt đầu, khung chữu nhật bên trái hiển thị ký tự khung bên phải thị hình ảnh từ camera Người dùng cần thực thao tác thủ ngữ tương ứng với ký tự hiển thị 78 n trước camera Khi thực thông báo “Chính xác” đồng thời khung chữ nhật bên trái hiển thị ký tự Lúc biểu tượng màu xám chuyển thành màu xanh để ghi nhận số câu trả lời người dùng Chức “Phiên dịch”: Trên giao diện chức “Phiên dịch” hiển thị khung chữ nhật lớn hình, phía khung hai nút nhấn “Thu âm” “Phiên dịch” Để sử dụng, người dùng cần nhấn nút “Thu âm”, hộp thoại nhỏ xuất báo hiệu micro sẵn sàng Lúc người dùng nói câu micro thu âm lại Câu nói vừa thu âm hiển thị khung chữ nhật để người dùng xác nhận, câu nói khơng tiến hành nhấn nút “Thu âm”để thu âm lại, nhấn nút “Phiên dịch” để mơ hình cánh tay robot thực thao tác thủ ngữ ứng với câu nói Bước 3: Khi chế độ bất kỳ, người dùng nhấn nút “Home” góc phải hình để quay lại giao diện chọn chế độ Bước 4: Sau sử dụng xong, tiến hành nút “exit” để thoát khỏi giao diện đồng thời ngắt kết nối tất nguồn điện cấp bước 5.4 Dự tốn chi phí thi cơng Dựa vào linh kiện điện tử thống kê bảng 3.1, kết hợp với vật liệu sử dụng q trình thi cơng mơ hình hệ thống, tiến hành thống kê, tổng hợp chi phí sử dụng cho đề tài Kết dự tốn chi phí thi cơng thể bảng 5.7 Bảng 5.7 Bảng dự toán chi phí thi cơng mơ hình cánh tay robot STT Tên linh kiện Số lượng Đơn giá (VNĐ) Thành tiền (VNĐ) Arduino Nano 110,000 110,000 Module PCA9685 82,000 82,000 Driver A4988 25,000 25,000 Servo MG995 10 65,000 650,000 Servo Emax mini 55,000 110,000 Động bước 800,000 800,000 Dây điện 28,000 28,000 In 3D 400,000 400,000 Ốc – vít 30,000 30,000 10 Dây cước 30,000 30,000 11 Board đồng 20,000 20,000 12 Camera 800,000 800,000 79 n Màn hình cảm ứng 1,400,000 1,400,000 Nguồn tổ ong 170,000 170,000 Adapter 28,000 28,000 Nhân công thực 250,000 500,000 Tổng cộng 5,183,000 Trong chương này, kết đạt phần cứng mềm trình bày Đối với phần cứng, thao tác cánh tay robot thực nhiều lần để chứng minh hệ thống có khả thao tác ổn định cử thủ ngữ ngơn ngữ kí hiệu Việt Nam Trong đó, phần mềm, biểu đồ độ xác đại lượng đo hiệu suất mơ hình thực nhằm cho thấy khả nhận diện mơ hình mạng học sâu Sau cách sử dụng mơ hình cánh tay robot dự tốn chi phí thi cơng cho đề tài trình bày Cuối cùng, đưa nhận xét đánh giá dựa kết đạt 13 14 15 16 80 n Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 Kết luận Trong đề tài luận án này, nhóm trình bày hệ thống giảng dạy ngơn ngữ kí hiệu Việt Nam dựa nguyên mẫu phần cứng cánh tay robot tương tác với người học thơng qua hình cảm ứng Về mơ hình phần cứng, cánh tay robot nhóm tự thiết kế thi cơng dựa cơng nghệ in 3D thao tác 36/44 kí hiệu ngơn ngữ kí hiệu Việt Nam Hệ thống sử dụng laptop làm khối xử lí trung tâm, vi điều khiển Arduino Nano, cảm biến bao gồm Micro Webcam module điều khiển cấu chấp hành Servo động bước Về phần mềm, mô hình mạng học sâu áp dụng để nhận diện cử tĩnh 11 cử liên tục ngơn ngữ kí hiệu Việt Nam với độ xác cao Cụ thể, cử tĩnh, việc áp dụng mơ hình mạng YoloV5 mang lại kết nhận diện ấn tượng với độ xác trung bình mAP@0.5 99,73% mAP@[.5:.95] 83% Đồng thời, thư viện MediaPipe Hand kết hợp mơ hình GRUs đem lại khả nhận diện cử động với độ xác lên đến 97% Cuối cùng, giao diện tương tác với người học nhóm thiết kế với chế độ bao gồm chế độ “Học chữ”, “Kiểm tra”, “Phiên dịch” Kết thực đáp ứng mục tiêu ban đầu nhóm đề Hệ thống hoạt động ổn định với nhiều chức năng, đồng thời mang tính nhân văn tính ứng dụng cao Với phương pháp thực cử 3D chân thực khiến cho việc học ngơn ngữ kí hiệu trở nên thú vị hơn, kết hợp với công nghệ nhận diện cử dựa mạng học sâu giúp đánh giá hiệu q trình học với độ xác cao mà không cần đến giáo viên Hơn nữa, việc xây dựng giao diện mang tính thẩm mĩ dễ sử dụng góp phần nâng cao khả tương tác người học hệ thống Tuy nhiên, kết đạt được, đề tài hạn chế định Cụ thể, hạn chế kiến thức khí nên chưa giải tốn động học cho cánh tay robot, số kí tự thủ ngữ bảng ngơn ngữ kí hiệu Việt Nam chưa thực kí hiệu thực mang tính chất tương đối so với kí hiệu thực tế 6.2 Hướng phát triển Về cơng việc tương lại, nhóm dự định cải tiến phần cứng khí thuật toán điều khiển cấu chấp hành cho hệ thống thực thao tác đầy đủ kí tự thủ ngữ với độ tương đồng cao so với cử thực tế 81 n TÀI LIỆU THAM KHẢO World Health Organization, “Deafness and Hearing loss,” Apr 01, 2021 https://www.who.int/health-topics/hearing-loss#tab=tab_2 (accessed May 20, 2022) [2] World Bank Group, “Unlocking the Potential of Pre-school Deaf Children in Vietnam,” Apr 17, 2014 https://www.worldbank.org/en/news/feature/2014/04/17/unlocking-thepotential-of-pre-school-deaf-children-in-vietnam (accessed May 20, 2022) [3] Nguyễn Trọng Thành Trần Thiện Thanh, “Thiết kế thi công cánh tay giả hỗ trợ cho người khuyết tật sử dụng tín hiêu EMG,” Trường ĐH SPKT TP.HCM, Ho Chi Minh, 2021 [4] Đặng Thị Ngọc Nguyễn Hương Ngân, “Ứng dụng mạng Yolo thiết kế mơ hình dạy học Tiếng Anh cho trẻ em,” Trường ĐH SPKT TP.HCM, Ho Chi Minh, 2019 [5] “The ASL App.” https://theaslapp.com/ (accessed Jul 17, 2022) [6] Craig Timberg and Rachel Siegel, “World health officials take a hard line on screen time for kids Will busy parents comply?,” The Washington post, Apr 24, 2019 https://www.washingtonpost.com/business/2019/04/24/who-infantsunder-year-old-shouldnt-be-exposed-any-electronic-screens/ (accessed Jul 17, 2022) [7] T Chouhan, A Panse, A K Voona, and S M Sameer, “Smart glove with gesture recognition ability for the hearing and speech impaired,” in 2014 IEEE Global Humanitarian Technology Conference - South Asia Satellite (GHTC-SAS), Nov 2014, pp 105–110 [8] L.-G Zhang, Y Chen, G Fang, X Chen, and W Gao, “A Vision-Based Sign Language Recognition System Using Tied-Mixture Density HMM,” 2004 [Online] Available: http://www.jdl.ac.cn/user/lgzhang/Research/VCSLR.htm [9] L K S Tolentino, R O Serfa Juan, A C Thio-ac, M A B Pamahoy, J R R Forteza, and X J O Garcia, “Static sign language recognition using deep learning,” International Journal of Machine Learning and Computing, vol 9, no 6, pp 821–827, 2019 [10] Michael Irving, “3D-printable robot arm is a sign language interpreter,” Aug 18, 2017 https://newatlas.com/aslan-sign-language-robot-arm/50951/ (accessed May 24, 2022) [1] 82 n [11] T F Dima and M E Ahmed, “Using YOLOv5 Algorithm to Detect and Recognize American Sign Language,” 2021 International Conference on Information Technology, ICIT 2021 - Proceedings, pp 603–607, Jul 2021, doi: 10.1109/ICIT52682.2021.9491672 [12] S Ghosh, “Proposal of a Real-time American Sign Language Detector using MediaPipe and Recurrent Neural Network,” International Journal of Computer Sciences and Engineering7, vol 9, no 7, pp 46–52, Jul 2021 [13] Võ Đức Hồng, “Nhận dạng ngơn ngữ ký hiệu Tiếng Việt,” Luận án Tiến sĩ Kỹ thuật, Đại học Đà Nẵng, Đà Nẵng, 2018 [14] “A Comprehensive Guide to Convolutional Neural Networks — the ELI5 way | by Sumit Saha | Towards Data Science.” https://towardsdatascience.com/a-comprehensive-guide-to-convolutionalneural-networks-the-eli5-way-3bd2b1164a53 (accessed Jul 17, 2022) [15] “YOLO — You only look once, real time object detection explained | by Manish Chablani | Towards Data Science.” https://towardsdatascience.com/yolo-you-only-look-once-real-time-objectdetection-explained-492dc9230006 (accessed Jul 17, 2022) [16] R Varadharajan Iyer, P Shashikant Ringe, and K Prabhulal Bhensdadiya, “Comparison of YOLOv3, YOLOv5s and MobileNet-SSD V2 for Real-Time Mask Detection,” International Research Journal of Engineering and Technology, 2021, [Online] Available: www.irjet.net [17] S Herath, M Harandi, and F Porikli, “Going deeper into action recognition: A survey,” Image and Vision Computing, vol 60, pp 4–21, Apr 2017, doi: 10.1016/J.IMAVIS.2017.01.010 [18] Ivan Vasilev, Daniel Slater, Gianmario Spacagna, Peter Roelants, and Valentino Zocca, Python Deep Learning: Exploring deep learning techniques and neural network architectures with Pytorch, Keras, and TensorFlow, 2nd Edition Packt Publishing Ltd, 2019 [19] F Zhang et al., “MediaPipe Hands: On-device Real-time Hand Tracking,” Google Research, Jun 18, 2020 https://arxiv.org/abs/2006.10214v1 (accessed May 27, 2022) [20] Nguyễn Thanh Huy Lê Ngọc Phú, “Nghiên cứu ứng dụng tín hiệu EEG điều khiển khung xương trợ lực cánh tay,” Trường ĐH SPKT TP.HCM, Hồ Chí Minh, 2020 83 n [21] “I2C Communication Protocol - GeeksforGeeks.” https://www.geeksforgeeks.org/i2c-communication-protocol/ (accessed Jul 18, 2022) [22] Phan Thông and Nguyễn Hải Quang, “Thiết kế thi công máy khắc laser CNC,” Trường ĐH SPKT TP.HCM, Hồ Chí Minh, 2020 84 n PHỤ LỤC Code chương trình Arduino: #include #include Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(); #define SERVOMIN 125 #define SERVOMAX 575 // đếm servo uint8_t servonum = 0; //biến cho hc06 String data; // Định nghĩa chân cho driver A4988 #define ENA #define STEP #define DIR int led1=13; int step_value_now,step_value_operate; int step_value_before=0; void setup() { Serial.begin(9600); Serial.println("16 channel Servo test!"); pinMode(ENA,OUTPUT); pinMode(STEP,OUTPUT); // Step pin pinMode(DIR,OUTPUT); // Dir - pin digitalWrite(ENA,LOW); // Set Enable low pwm.begin(); pwm.setPWMFreq(60); dieu_khien_servo(172, 152, 90, 27, 33,28, 27, 25, 28, 27, 27, 30); pinMode(LED_BUILTIN, OUTPUT); delay(5000); } void loop() { while (Serial.available()) { delay(30); char c = Serial.read(); if (c == "#") {break;} data += c; } SOSANH_DULIEU(); } int angleToPulse(int ang){ int pulse = map(ang,0, 180, SERVOMIN,SERVOMAX); Serial.print("Angle: ");Serial.print(ang); 85 n Serial.print(" pulse: ");Serial.println(pulse); return pulse; } void dieu_khien_servo(int servo0,int servo1,int servo2,int servo3,int servo4, int servo5, int servo6,int servo7,int servo8,int servo9,int servo10,int servo11) { pwm.setPWM(0, 0, angleToPulse(servo0) ); pwm.setPWM(1, 0, angleToPulse(servo1) ); pwm.setPWM(2, 0, angleToPulse(servo2) ); pwm.setPWM(3, 0, angleToPulse(servo3) ); pwm.setPWM(4, 0, angleToPulse(servo4) ); pwm.setPWM(5, 0, angleToPulse(servo5) ); pwm.setPWM(6, 0, angleToPulse(servo6) ); pwm.setPWM(7, 0, angleToPulse(servo7) ); pwm.setPWM(8, 0, angleToPulse(servo8) ); pwm.setPWM(9, 0, angleToPulse(servo9) ); pwm.setPWM(10, 0, angleToPulse(servo10)); pwm.setPWM(11, 0, angleToPulse(servo11)); } void dieu_khien_step(int step_value,int delay_value) { step_value_now = step_value; step_value_operate= step_value_now - step_value_before; if (step_value_operate < 0) { step_value_operate = abs (step_value_operate); digitalWrite(ENA,LOW); // Đặt Enable trạng thái LOW digitalWrite(DIR,LOW); // Đặt Dir trạng thái HIGH } else { digitalWrite(ENA,LOW); // Đặt Enable trạng thái LOW digitalWrite(DIR,HIGH); step_value_operate = step_value_operate; } Serial.println(step_value_operate); for(int x = 0; x < step_value_operate ; x++) // Cho chay vong { digitalWrite(STEP,HIGH); // Output high delay(delay_value); // chờ digitalWrite(STEP,LOW); // Output low delay(delay_value); // chờ } step_value_before = step_value_now; } void SOSANH_DULIEU(){ 86 n if (data.length() > 0) { Serial.println(data); if(data == "A" ||data == "a") { dieu_khien_servo(172, 120, 90, 162, 50, 175, 175, 80, 85, 160, 85, 30); // dieu_khien_step(50,5); } if(data == "AA" ||data == "aa") { dieu_khien_servo(172, 120, 90, 160, 90, 175, 175, 80, 85, 160, 85, 25); delay(600); dieu_khien_servo(172, 91, 90, 160, 90, 115, 117, 25, 28, 160, 92, 145); } if(data == "AW" ||data == "aw") { dieu_khien_servo(160, 0, 44, 59, 68, 60, 175, 80, 85, 160, 85, 25); delay(600); dieu_khien_servo(160, 0, 44, 59, 68, 60, 175, 80, 85, 160, 85, 25); } else if (data == "B" ||data == "b") { dieu_khien_servo(172, 62, 90, 27, 33, 28, 27, 25, 28, 27, 34, 145); } else if (data == "C" ||data == "c") { dieu_khien_servo(145, 113, 90, 103, 26, 111, 107, 25, 25, 101, 27, 123); } else if (data == "D" ||data == "d") { dieu_khien_servo(172, 110, 90, 162, 50, 28, 175, 80, 28, 160, 92, 140); } else if (data == "DD" ||data == "dd") { dieu_khien_servo(172, 110, 90, 162, 50, 28, 175, 80, 28, 160, 92, 140); delay(600); dieu_khien_servo(172, 110, 90, 162, 50, 115, 175, 80, 28, 160, 92, 140); } else if (data == "E" ||data == "e") { dieu_khien_servo(172, 152, 90, 110, 25, 115, 117, 25, 28, 115, 28, 140); } else if (data == "EE" ||data == "ee") { dieu_khien_servo(172, 152, 90, 110, 25, 115, 117, 25, 28, 115, 28, 140); delay(600); dieu_khien_servo(172, 91, 90, 160, 90, 115, 117, 25, 28, 160, 92, 145); 87 n } else if (data == "G" ||data == "g") { dieu_khien_servo(99, 120, 90, 175, 82, 25175, 85, 65, 175, 85, 145); } else if (data == "H" ||data == "h") { dieu_khien_servo(172, 91, 90, 162, 50, 28, 31, 52, 28, 160, 92, 145); } else if (data == "I" ||data == "i") { dieu_khien_servo(172, 145, 90, 27, 33, 175, 175, 175, 85, 160, 92, 137); } else if (data == "K" ||data == "k") { dieu_khien_servo(172, 58, 90, 162, 50, 28, 71, 92, 28, 160, 92, 84); } else if (data == "L" ||data == "l") { dieu_khien_servo(172, 152, 90, 160, 90, 28, 175, 80, 28, 160, 92, 25); } else if (data == "M" ||data == "m") { dieu_khien_servo(99, 94, 90, 175, 82, 25, 77, 158, 145, 74, 162, 140); } else if (data == "N" ||data == "n") { dieu_khien_servo(99, 94, 90, 175, 82, 25, 77, 158, 145, 175, 85, 140); } else if (data == "O" ||data == "o") { dieu_khien_servo(172, 114, 90, 137, 30, 135, 149, 46, 60, 157, 25, 112); } else if (data == "OO" ||data == "oo") { dieu_khien_servo(172, 114, 90, 137, 30, 135, 149, 46, 60, 157, 25, 112); delay(600); dieu_khien_servo(172, 91, 90, 160, 90, 115, 117, 25, 28, 160, 92, 145); } else if (data == "OW" ||data == "ow") { dieu_khien_servo(172, 114, 90, 137, 30, 135, 149, 46, 60, 157, 25, 112); delay(600); dieu_khien_servo(172, 145, 90, 110, 25, 175, 175, 80, 85, 160, 92, 137); } else if (data == "P" ||data == "p") { 88 n dieu_khien_servo(132, 58, 90, 175, 82, 26, 85, 119, 89, 175, 85, 81); } else if (data == "Q" ||data == "q") { dieu_khien_servo(132, 59, 90, 175, 82, 26, 175, 85, 89, 175, 85, 30); } else if (data == "R" ||data == "r") { dieu_khien_servo(172, 91, 65, 160, 90, 45, 27, 25, 53, 160, 92, 145); } else if (data == "S" ||data == "s") { dieu_khien_servo(172, 61, 90, 162, 50, 61, 175, 80, 47, 160, 92, 47); } else if (data == "T" ||data == "t") { dieu_khien_servo(172, 114, 90, 27, 33, 135, 27, 25, 60, 27, 34, 112); } else if (data == "U" ||data == "u") { dieu_khien_servo(172, 91, 80, 162, 50, 27, 27, 25, 32, 160, 92, 145); } else if (data == "UW" ||data == "uw") { dieu_khien_servo(172, 91, 80, 162, 50, 27, 27, 25, 32, 160, 92, 145); delay(600); dieu_khien_servo(172,91, 90, 110, 25, 175, 175, 80, 85, 160, 92, 145); } else if (data == "V" ||data == "v") { dieu_khien_servo(172, 91, 104, 160, 90, 45, 27, 25, 53, 160, 92, 145); } else if (data == "X" ||data == "x") { dieu_khien_servo(172, 59, 90,160, 90, 115, 175, 80, 28, 160, 92, 25); } else if (data == "Y" ||data == "y") { dieu_khien_servo(172, 152, 90, 27, 33, 175, 175, 80, 85, 160, 92, 25); } else if (data == "NANG" ||data == "nang") { dieu_khien_servo(172, 140, 90, 27, 52, 25, 175, 85, 65, 175, 85, 140); delay(200); dieu_khien_servo(100, 140, 90, 27, 52, 25, 175, 85, 65, 175, 85, 140); } else if (data == "0" ) 89 n { dieu_khien_servo(172, 114, 90, 137, 30, 135, 149, 46, 60, 157, 25, 112); } else if (data == "1" ) { dieu_khien_servo(172, 126, 80, 160, 90, 45, 175, 80, 53, 160, 92, 145); } else if (data == "2" ) { dieu_khien_servo(172, 91, 104, 160, 90, 45, 27, 25, 53, 160, 92, 145); } else if (data == "3" ) { dieu_khien_servo(172, 152, 90, 160, 90, 28, 27, 25, 28, 160, 92, 25); } else if (data == "4" ) { dieu_khien_servo(172, 62, 90, 27, 33, 28, 27, 25, 28, 27, 34, 145); } else if (data == "5" ) { dieu_khien_servo(172, 152, 90, 27, 33, 28, 27, 25, 28, 27, 34, 25); } else if (data == "6" ) { dieu_khien_servo(172, 62, 90, 160, 90, 28, 27, 25, 28, 27, 34, 145); } else if (data == "7" ) { dieu_khien_servo(172, 85, 90, 27, 33, 28, 27, 25, 28, 160, 92, 145); } else if (data == "8" ) { dieu_khien_servo(172, 115, 90, 27, 33, 28, 175, 80, 28, 27, 34, 145); } else if (data == "9" ) { dieu_khien_servo(172, 114, 90, 27, 33, 135, 27, 25, 60, 27, 34, 112); } data=""; } } Vì lý Code chương trình điều khiển hệ thống dài nên nhóm gửi tệp Code Python link đính kèm Trong link bao gồm file “Code Arduino” “Code Python”: 90 n https://drive.google.com/drive/folders/1ChgR9SfkvQEEDtGziZsg9DK19uXUM2K?usp=sharing Mô tả cách khởi tạo giao diện dựa PyQT5: Pyuic5 –x interface.ui -0 interface.py a) import sys from PyQt5.QtWidgets import QApplication, QMainWindow from PyQt5 import QtCore from interface import Ui_MainWindow class MainWindow(QMainWindow): def init (self): super(). init () self.uic = Ui_MainWindow() self.uic.setupUi(self) # định nghĩa đặt # Các chức đặt if name == " main ": app = QApplication(sys.argv) main_win = MainWindow() main_win.show() sys.exit(app.exec()) b) Hình PL.1 Ví dụ cách khởi tạo giao diện dựa PyQT5 91 n S n K L 0