Bối cảnh và vấn đề nghiên cứu

Xe lăn là công cụ trợ giúp thiết yếu nhằm phục vụ và nâng cao chất lượng cuộc sống cho những đối tượng bị suy giảm khả năng vận động như người mắc bệnh lý về cột sống, chấn thương tủy sống, liệt nửa người, loạn dưỡng cơ hoặc người cao tuổi. Ngoài việc thúc đẩy khả năng di chuyển độc lập, việc sử dụng xe lăn còn mang lại lợi ích về mặt lâm sàng như cải thiện chức năng tiêu hóa, hô hấp, duy trì thể chất và hỗ trợ người bệnh hòa nhập cộng đồng. Theo số liệu thống kê được tác giả trích dẫn trong văn bản, tính đến năm 2022, toàn cầu có khoảng 131.800.000 người có nhu cầu sử dụng xe lăn, chiếm tỷ lệ khoảng 1,85% dân số thế giới.

Trong bối cảnh của cuộc cách mạng công nghiệp lần thứ tư và sự phổ biến của Internet vạn vật (IoT), các hệ thống điều khiển xe lăn thông minh đã có nhiều bước tiến. Tuy nhiên, các dòng xe lăn điện tiêu chuẩn trên thị trường hiện nay vẫn bộc lộ hạn chế khi người sử dụng gặp chấn thương chi trên nghiêm trọng hoặc suy giảm vận động tay không thể thao tác với cần gạt cơ học truyền thống. Nhằm giải quyết bài toán tự chủ di chuyển cho người bệnh, đề tài tập trung nghiên cứu phương thức điều khiển đa phương thức, kết hợp giữa cần gạt vật lý và hệ thống nhận dạng cử động đầu của người dùng dựa trên trí tuệ nhân tạo.

Mục tiêu chung của đồ án là phát triển bộ điều khiển xe lăn điện dựa trên nhiều phương thức khác nhau, giúp người khuyết tật có thể chủ động vận hành phương tiện theo ý muốn mà không cần phụ thuộc vào người trợ giúp. Văn bản xác định 3 mục tiêu cụ thể gồm:

  1. Nghiên cứu và thiết kế bộ nhận dạng tín hiệu từ cảm biến MPU6050 nhằm ghi nhận các tín hiệu chuyển động của đầu.
  2. Ứng dụng học máy (machine learning) để huấn luyện tập dữ liệu thu nhận được từ cảm biến gia tốc kết hợp con quay hồi chuyển MPU6050 và nạp mô hình vào máy tính nhúng Raspberry Pi 4 để thực hiện nhận dạng thời gian thực.
  3. Truyền dữ liệu tín hiệu đã nhận dạng từ bộ xử lý trung tâm Arduino Uno xuống khối điều khiển động cơ có sẵn trên xe lăn thông qua giao thức không dây Bluetooth HC-05.

Nhiệm vụ nghiên cứu của đề tài được triển khai qua 9 nội dung:

  • Nội dung 1: Tìm hiểu đặc tính kỹ thuật của Joystick, cảm biến gia tốc và con quay hồi chuyển MPU6050, vi điều khiển Arduino Uno, Raspberry Pi 4, module Bluetooth HC-05 cùng các giao thức truyền nhận dữ liệu liên quan.
  • Nội dung 2: Thu thập dữ liệu cử động đầu bằng cảm biến MPU6050, tiền xử lý tín hiệu và tiến hành huấn luyện mô hình nhận dạng từ tệp dữ liệu định dạng .csv trên nền tảng Google Colab.
  • Nội dung 3: Thiết lập truyền nhận tín hiệu hai chiều giữa Arduino Uno và Raspberry Pi 4.
  • Nội dung 4: Gửi dữ liệu điều khiển từ bộ xử lý trung tâm đến Arduino Nano của mạch động cơ thông qua module Bluetooth HC-06 để vận hành xe lăn.
  • Nội dung 5: Tích hợp module Joystick vào hệ thống nhằm nâng cao tính linh hoạt khi điều khiển.
  • Nội dung 6: Thi công phần cứng, đóng gói hộp điều khiển, thử nghiệm thực tế và hiệu chỉnh hệ thống.
  • Nội dung 7: Đánh giá hiệu suất điều khiển và độ chính xác của xe lăn trong môi trường thực nghiệm.
  • Nội dung 8: Hoàn thiện báo cáo luận văn tốt nghiệp.
  • Nội dung 9: Bảo vệ đồ án trước hội đồng chuyên môn.

Đối tượng nghiên cứu của đồ án là hệ thống điều khiển tích hợp cho xe lăn điện thông qua hai phương thức: cử động đầu và cần điều khiển Joystick. Phạm vi nghiên cứu về mặt không gian và thời gian được thực hiện tại Bộ môn Điện tử Công nghiệp – Y sinh, Khoa Điện – Điện tử, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh trong thời gian từ ngày 11/09/2023 đến ngày 18/12/2023. Phạm vi vận hành của hệ thống bao gồm 5 trạng thái cơ bản: tiến, lùi, rẽ trái, rẽ phải và dừng; giới hạn độ trễ phản hồi trong khoảng 1 đến 2 giây và hệ thống vẫn chịu ảnh hưởng của nhiễu cảm biến sau lọc.


Cơ sở lý thuyết và phương pháp

Khung lý thuyết của đề tài xây dựng dựa trên động học chuyển động đầu người trong không gian ba chiều (3D), bao gồm ba góc chuyển động trục cơ bản:

  • Trục Pitch: Cử động gật đầu hoặc ngửa đầu theo chiều dọc.
  • Trục Yaw: Cử động xoay đầu sang trái hoặc sang phải theo chiều ngang.
  • Trục Roll: Chuyển động nghiêng hoặc lắc đầu sang hai bên.

Trong giao tiếp thông thường, các chuyển động này biểu lộ sự đồng thuận (gật đầu) hoặc từ chối (lắc đầu). Khi được lượng hóa qua cảm biến gia tốc và con quay hồi chuyển, các cử động này tạo ra các mẫu tín hiệu đặc trưng theo chuỗi thời gian, làm cơ sở để phân loại ý định điều khiển phương tiện của người khuyết tật.

Hệ thống sử dụng phần mềm PLX-DAQ để thiết lập cầu nối giao tiếp trực tiếp giữa cổng nối tiếp (Serial Port) của máy tính với bảng tính Microsoft Excel. Công cụ này cho phép ghi nhận và lưu trữ trực tiếp các giá trị cảm biến gửi về từ vi điều khiển Arduino theo thời gian thực vào các ô dữ liệu (cells), giúp trực quan hóa tín hiệu và xuất dữ liệu ra định dạng bảng tính để phục vụ quá trình huấn luyện mô hình.

Về phương diện thuật toán học máy, tác giả sử dụng ngôn ngữ lập trình Python kết hợp các thư viện chuyên dụng gồm NumPy và Pandas để thao tác dữ liệu, cùng nền tảng TensorFlow và Keras nhằm xây dựng mạng nơ-ron tích chập (Convolutional Neural Network - CNN). Mô hình được thiết kế theo cấu trúc Sequential của Keras, phù hợp với việc phân loại các chuỗi tín hiệu chuỗi thời gian thu nhận từ cảm biến. Để loại bỏ các sai số tích lũy từ con quay hồi chuyển và nhiễu dao động cơ học của gia tốc kế, hệ thống áp dụng hai thuật toán xử lý tín hiệu: bộ lọc bù (Complementary filter) và bộ lọc Kalman để trích xuất tín hiệu góc xoay sạch (Pitch, Roll, Yaw).

Tác giả đã tiến hành tổng hợp và đối chiếu các công trình nghiên cứu về xe lăn điện đã được thực hiện trước đó tại Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh:

Đề tài / Tác giả Phương pháp điều khiển Ưu điểm ghi nhận Nhược điểm và hạn chế
Huỳnh Ngọc Phiên & Phạm Ngọc Quốc Cảm biến MPU6050 tích hợp trên tai nghe; truyền Bluetooth; phát hiện vật cản qua cảm biến Sharp; điều khiển qua ứng dụng Blynk. Độ chính xác nhận dạng đạt 95%; có camera và cảm biến hồng ngoại phát hiện vật cản; có cảnh báo ngủ gật. Chỉ hoạt động trên bề mặt phẳng, không chạy được trên đường gồ ghề dốc nhẹ; độ trễ cao (3–5 giây); phụ thuộc đường truyền Wifi của app Blynk.
Lê Văn Luận & Phạm Minh Kha (2019) Nhận dạng giọng nói qua module Voice Recognition V3 kết hợp ứng dụng điều khiển trên điện thoại Android. Nhận dạng giọng nói tốt; xe vận hành đủ hướng (tiến, lùi, trái, phải); tùy chỉnh tốc độ linh hoạt qua smartphone. Tồn tại độ trễ trong quá trình truyền nhận dữ liệu; việc điều chỉnh tốc độ và đáp ứng lệnh điều khiển còn chậm.
Vũ Hoàng Thiên & Đoàn Lâm (2020) Kết hợp tín hiệu điện não (EEG) và thị giác máy tính qua Camera. Hệ thống vận hành ở chế độ an toàn, tốc độ di chuyển phù hợp cho người khuyết tật; tránh được vật cản tự động. Tín hiệu điện não có nguy cơ gây va chạm; xử lý camera làm thời gian tới đích bị chậm; trễ truyền nhận; phụ thuộc cường độ ánh sáng.

Phương pháp nghiên cứu thực nghiệm được áp dụng để thu thập dữ liệu gốc: hai thành viên trong nhóm nghiên cứu (Nguyễn Hữu Tín và Lê Thị Thu Hiền) thực hiện các cử động đầu khi đội nón gắn cảm biến MPU6050. Quá trình thu nhận tạo ra tập dữ liệu hoàn chỉnh gồm 5.780 mẫu tín hiệu, được chia thành 6 lớp chuyển động riêng biệt để đưa vào huấn luyện mô hình mạng CNN trên nền tảng đám mây Google Colab.


Thiết kế và triển khai

Hệ thống điều khiển xe lăn được phân chia thành 4 khối chức năng chính liên kết chặt chẽ với nhau:

Khối chức năng Phần cứng sử dụng Nhiệm vụ kỹ thuật
Khối nguồn Bình Ắc quy 24V–12A có sẵn trên xe; mạch giảm áp XH-M404 XL4016E1 8A. Hạ điện áp từ nguồn 24VDC của xe lăn xuống nguồn 5VDC (thông qua cáp USB Type-C) cung cấp dòng tối thiểu 3A cho Raspberry Pi 4 và hệ thống điều khiển.
Khối thu nhận tín hiệu Cảm biến MPU6050 (gắn trên nón); cần điều khiển Joystick (gắn tại thành xe). Đo gia tốc và tốc độ góc 3 trục (MPU6050); đọc biến trở 2 trục X, Y và nút nhấn SW (Joystick) để thu thập lệnh điều khiển.
Khối xử lý trung tâm Vi điều khiển Arduino Uno R3 (ATmega328P); máy tính nhúng Raspberry Pi 4 Model B. Arduino Uno đọc tín hiệu cảm biến và Joystick; truyền dữ liệu qua UART sang Raspberry Pi 4 để chạy mô hình CNN; nhận kết quả phân loại từ Pi và gửi lệnh điều khiển xuống động cơ qua Bluetooth HC-05.
Khối điều khiển động cơ Mạch cầu H BTS7960 43A; 2 động cơ DC 24V; vi điều khiển Arduino Nano và module Bluetooth HC-06 tích hợp trên khung xe. Nhận tín hiệu điều khiển từ Bluetooth, điều chế xung PWM để đóng ngắt cầu H, dẫn động 2 bánh xe di chuyển theo các hướng định sẵn.

Thông số kỹ thuật chi tiết của các linh kiện triển khai trong hệ thống:

  • Cảm biến MPU6050: Tích hợp 6 bậc tự do (6DOF: 3 trục gia tốc, 3 trục con quay hồi chuyển), bộ chuyển đổi ADC 16-bit nội, dải đo gia tốc lựa chọn ±2g, ±4g, ±8g, ±16g; dải đo con quay hồi chuyển ±250°/s, ±500°/s, ±1000°/s, ±2000°/s; giao tiếp chuẩn I2C, điện áp hoạt động 3–5VDC, kích thước 20,5 mm.
  • Module Joystick: Tích hợp 2 biến trở 10 kΩ theo hai trục X-Y và một công tắc hành trình (SW), điện áp cấp 5VDC, kích thước 4,2 cm, dải nhiệt độ hoạt động từ 0 đến 70 °C.
  • Arduino Uno R3: Vi điều khiển ATmega328P 8-bit, tần số thạch anh 16 MHz, bộ nhớ Flash 32 KB (nạp sẵn 0,5 KB bootloader), 2 KB SRAM, 1 KB EEPROM. Có 14 chân I/O số (trong đó 6 chân băm xung PWM), 6 chân đầu vào tương tự Analog (độ phân giải 10-bit), dòng điện định mức mỗi chân I/O là 20 mA.
  • Raspberry Pi 4 Model B: Vi xử lý Broadcom BCM2711 lõi tứ Cortex-A72 64-bit tốc độ 1,5 GHz, chuẩn RAM LPDDR4-3200, đầu cấp nguồn 5VDC tối thiểu 3A qua cổng USB Type-C, cổng GPIO 40 chân, chạy hệ điều hành Linux.
  • Module Bluetooth HC-05: Chip xử lý chuẩn Bluetooth V2.0 + EDR, băng tần 2,4 GHz, điều chế GFSK, công suất phát 4 dBm (Class 2), độ nhạy thu -84 dBm, tốc độ truyền bất đối xứng cực đại 2,1 Mbps, dòng tiêu thụ 30 mA khi ghép nối và 8 mA sau khi kết nối, hỗ trợ giao tiếp nối tiếp UART với các tốc độ baud từ 1200 đến 115200 bps.
  • Mạch giảm áp XH-M404 XL4016E1: Điện áp vào 4–40VDC, điện áp ra điều chỉnh 1,25–36VDC, điều chế xung PWM tần số 180 kHz, dòng tải tối đa 8A, công suất cực đại 200W, hiệu suất biến đổi năng lượng 94%, tích hợp LED 7 đoạn hiển thị điện áp và các tính năng bảo vệ ngắn mạch, ngược cực, quá nhiệt.
  • Mạch công suất cầu H BTS7960: Điện áp danh định 6–27VDC, dòng định mức cực đại 43A, tần số điều khiển tối đa 25 kHz, tích hợp cảm biến bảo vệ sụt áp (dưới 5,5V) và cảm biến chống quá nhiệt.

Về mặt ghép nối mạch, cảm biến MPU6050 kết nối với Arduino Uno qua giao thức I2C: chân SCL nối với chân A5, chân SDA nối với chân A4. Joystick kết nối tín hiệu analog của trục X và Y vào các chân A1 và A2 của Arduino Uno, chân công tắc nút nhấn SW kết nối vào chân Digital 12. Giao tiếp giữa Arduino Uno và module Bluetooth HC-05 được thực hiện qua cổng nối tiếp ảo sử dụng thư viện SoftwareSerial: chân RX của HC-05 nối chân Digital 3 (TX của Arduino), chân TX của HC-05 nối chân Digital 2 (RX của Arduino). Đèn LED hiển thị trạng thái chế độ hoạt động (chuyển đổi giữa Joystick và cảm biến) được cấp tín hiệu từ chân Digital 8 của Arduino.

Máy tính nhúng Raspberry Pi 4 nhận tín hiệu dữ liệu cử động đầu từ Arduino Uno thông qua cáp truyền dữ liệu nối tiếp USB. Chân Pin 17 trên thanh cắm GPIO của Raspberry Pi 4 được kết nối với một đèn LED để cảnh báo trạng thái dữ liệu đang truyền nhận giữa hai vi xử lý.

Quy trình phần mềm được phân định thành hai môi trường:

  1. Môi trường huấn luyện và phân loại: Dữ liệu cử động sau khi thu nhận được tổng hợp thành bảng dữ liệu, tiền xử lý qua bộ lọc số, sau đó đưa vào mô hình mạng CNN huấn luyện trên Google Colab. Mô hình hoàn chỉnh được nạp vào Raspberry Pi 4 và thực thi nhận dạng bằng phần mềm lập trình Thonny Python.
  2. Môi trường điều khiển nhúng: Chương trình quản lý trạng thái, đọc cảm biến, định tuyến tín hiệu và điều khiển truyền động được viết và biên dịch trên Arduino IDE để nạp vào bộ điều khiển Arduino Uno và Arduino Nano.

Hộp điều khiển trung tâm được nhóm thiết kế 3D bằng phần mềm SolidWorks, đảm bảo bố trí tối ưu không gian cho các bo mạch vi xử lý, mạch hạ áp, cầu đấu nối và các đèn báo trạng thái, gắn cố định vào khung xe lăn thực nghiệm.


Nội dung chính theo từng chương

Chương 1: Tổng quan

Chương 1 thiết lập tính cấp thiết của đề tài xuất phát từ nhu cầu thực tiễn của 131,8 triệu người cần xe lăn trên thế giới. Nội dung chương công bố mục tiêu chế tạo hệ thống điều khiển kết hợp Joystick và nhận dạng cử động đầu; phân chia 9 nội dung nghiên cứu thực hiện từ tháng 9 đến tháng 12 năm 2023; chỉ rõ các giới hạn vận hành như độ trễ hệ thống 1–2 giây, nhiễu cảm biến tồn dư và cấu trúc tổng thể gồm 6 chương của đồ án.

Chương 2: Cơ sở lý thuyết

Nội dung chương 2 trình bày chi tiết lịch sử xe lăn điện từ mẫu phát minh ban đầu của George Klein năm 1953 đến các dòng xe hiện đại gắn cần điều khiển Joystick. Tác giả phân tích cơ sở động học chuyển động đầu người trong không gian 3D qua 3 trục Pitch, Yaw, Roll; giới thiệu cơ chế truyền dữ liệu nối tiếp thời gian thực của phần mềm PLX-DAQ sang Excel; tổng quan về ngôn ngữ Python và các thư viện Keras, TensorFlow, kiến trúc mô hình Sequential. Đồng thời, chương 2 phân tích ưu và nhược điểm của 3 công trình nghiên cứu đi trước (dùng MPU6050 trên tai nghe qua app Blynk, điều khiển bằng giọng nói qua module VR3, điều khiển bằng tín hiệu điện não EEG kết hợp Camera) làm cơ sở cải tiến giải pháp.

Chương 3: Tính toán và thiết kế

Chương 3 trình bày chi tiết sơ đồ khối toàn hệ thống và giới thiệu thông số các linh kiện phần cứng (MPU6050, Joystick, Arduino Uno R3, Raspberry Pi 4, Bluetooth HC-05, module giảm áp XH-M404 XL4016E1, mạch cầu H BTS7960). Chương này đưa ra các tính toán thiết kế sơ đồ nối dây cho khối thu nhận, khối xử lý trung tâm và khối điều khiển động cơ; mô tả quá trình thu nhận tập dữ liệu gồm 5.780 mẫu cử động qua PLX-DAQ; phương pháp xử lý tín hiệu qua bộ lọc bù Complementary và bộ lọc Kalman để tách góc; cấu trúc các lớp của mạng nơ-ron tích chập CNN phân loại 6 trạng thái cử động đầu và tiêu chí đánh giá mô hình.

Chương 4: Thi công hệ thống

Chương 4 mô tả toàn bộ quá trình thi công thực tế phần cứng: thiết kế mô hình hộp điều khiển trên phần mềm SolidWorks, chế tạo hộp bảo vệ, lắp đặt bố trí linh kiện bên trong và bên ngoài hộp; kết nối khối nguồn ắc quy qua mạch giảm áp; lắp đặt nón nhận diện gắn MPU6050. Chương này trình bày chi tiết lưu đồ thuật toán của chương trình chính, chương trình kiểm tra chế độ (mode), lưu đồ xử lý Joystick, lưu đồ nhận dạng tín hiệu trên Raspberry Pi và lưu đồ truyền nhận dữ liệu UART/Bluetooth; giới thiệu môi trường lập trình Thonny và Arduino IDE; hướng dẫn quy trình vận hành hệ thống cùng bảng dự toán chi phí linh kiện thực hiện đề tài.

Chương 5: Kết quả, nhận xét và đánh giá

Chương 5 công bố các kết quả thực nghiệm đạt được sau khi chế tạo: hình ảnh mô hình hộp điều khiển hoàn thiện gắn trên xe lăn; kết quả lọc tín hiệu góc Pitch, Roll, Yaw qua bộ lọc Complementary và Kalman trước và sau khi gộp tín hiệu; đồ thị đánh giá hiệu suất mô hình CNN dựa trên hàm mất mát (Loss, Val_Loss) và độ chính xác (Accuracy, Val_Accuracy); ma trận nhầm lẫn (Confusion Matrix) kèm các chỉ số đo lường Precision và Recall; bảng thống kê kết quả điều khiển thực nghiệm trên xe lăn đối với từng thao tác cử động đầu và cần gạt Joystick; đưa ra nhận xét khách quan về khả năng đáp ứng thực tế của xe.

Chương 6: Kết luận và hướng phát triển

Chương 6 tổng kết các hạng mục đã hoàn thành: xây dựng thành công bộ điều khiển xe lăn đa phương thức với độ chính xác nhận dạng cử động đạt 99,31%; ghi nhận các hạn chế còn tồn tại về độ trễ truyền thông và nhiễu cảm biến; đề xuất các hướng nghiên cứu tiếp nối nhằm hoàn thiện thiết bị hỗ trợ vận động cho người khuyết tật.


Kết quả và đóng góp

Đồ án ghi nhận các kết quả thực nghiệm định lượng cụ thể:

  • Thu thập và chuẩn hóa thành công tập dữ liệu gồm 5.780 mẫu tín hiệu cử động đầu từ cảm biến MPU6050 thông qua công cụ PLX-DAQ.
  • Phân loại chính xác 6 dạng tín hiệu cử động đầu phục vụ việc điều hướng xe lăn:
    1. Gật đầu 1 lần.
    2. Gật đầu 2 lần.
    3. Ngửa đầu.
    4. Xoay đầu sang trái.
    5. Xoay đầu sang phải.
    6. Giữ đầu đứng yên.
  • Ứng dụng thành công hai bộ lọc tín hiệu: bộ lọc bù Complementary filter và bộ lọc Kalman, làm mượt các đường cong tín hiệu góc Pitch, Roll, Yaw trước khi trích xuất đặc trưng.
  • Xây dựng mô hình phân loại mạng CNN đạt độ chính xác nhận dạng tổng thể lên tới 99,31%, được kiểm chứng qua các đồ thị Accuracy, Loss và ma trận nhầm lẫn (Confusion Matrix) với các chỉ số Precision và Recall cụ thể cho từng lớp cử động.
  • Thi công hoàn thiện hộp điều khiển tích hợp vi điều khiển Arduino Uno, máy tính nhúng Raspberry Pi 4, mạch giảm áp và module Bluetooth, vận hành thử nghiệm trên khung xe lăn điện thực tế với hai chế độ: điều khiển cơ học bằng Joystick và điều khiển sinh học qua cử động đầu.

Giải pháp kỹ thuật của nhóm cho phép xe thực hiện đầy đủ 5 lệnh truyền động cơ bản: tiến, lùi, rẽ trái, rẽ phải và dừng xe một cách ổn định. Hệ thống mạch giảm áp XL4016E1 hạ áp thành công từ nguồn ắc quy 24V của xe để nuôi trực tiếp máy tính nhúng và vi điều khiển mà không cần lắp thêm nguồn phụ.

Về mặt đóng góp khoa học và kỹ thuật so với các nghiên cứu trước:

  • So với đề tài của Huỳnh Ngọc Phiên và Phạm Ngọc Quốc (đạt độ chính xác 95%, trễ 3–5 giây và phụ thuộc mạng Wifi của app Blynk), đồ án này nâng cao độ chính xác nhận dạng lên 99,31%, giảm thời gian trễ hệ thống xuống còn 1–2 giây, đồng thời loại bỏ sự phụ thuộc vào hạ tầng mạng Internet nhờ sử dụng kết nối không dây nội bộ Bluetooth HC-05/HC-06.
  • So với đề tài của Lê Văn Luận và Phạm Minh Kha (điều khiển qua giọng nói có độ trễ lớn), hệ thống mang lại giải pháp phản hồi tín hiệu nhanh hơn, phù hợp cho những bệnh nhân tổn thương thanh quản hoặc môi trường có nhiều tiếng ồn xung quanh.
  • So với đề tài của Vũ Hoàng Thiên và Đoàn Lâm (sử dụng điện não EEG có nguy cơ va chạm và xử lý camera phụ thuộc ánh sáng), việc thu nhận tín hiệu góc chuyển động đầu qua cảm biến quán tính 6DOF cung cấp tín hiệu ổn định hơn, không bị ảnh hưởng bởi điều kiện quang học môi trường.

Hạn chế và hướng nghiên cứu tiếp

Các hạn chế được ghi nhận trực tiếp trong văn bản đồ án:

  • Sau khi đã áp dụng các bộ lọc bù và lọc Kalman, tín hiệu đo đạc từ cảm biến gia tốc và con quay hồi chuyển MPU6050 vẫn còn tồn tại một lượng nhiễu nhất định trong quá trình xe lăn chuyển động thực tế.
  • Hệ thống điều khiển vẫn có độ trễ từ 1 đến 2 giây giữa thời điểm người dùng thực hiện cử động đầu cho đến khi động cơ xe lăn phản hồi lệnh truyền động.
  • Tập dữ liệu huấn luyện (5.780 mẫu) mới chỉ được thu thập trên 2 đối tượng thực hiện trong nhóm nghiên cứu, chưa mở rộng thu thập trên người khuyết tật thực tế hoặc đa dạng nhóm người dùng với biên độ cử động đầu khác nhau.
  • Hệ thống mới dừng lại ở việc đáp ứng các hướng di chuyển cơ bản (thẳng, lùi, trái, phải, dừng) trên mặt phẳng, chưa kiểm thử trên địa hình dốc, gồ ghề và chưa tích hợp hệ thống cảm biến chủ động quét vật cản tự động dừng khẩn cấp.

Hướng phát triển tiếp theo được đề xuất:

  • Tiếp tục tối ưu hóa thuật toán lọc số nhằm loại bỏ hoàn toàn nhiễu quán tính cơ học phát sinh từ sự rung lắc của khung xe khi di chuyển.
  • Tối ưu hóa cấu trúc mô hình nhận dạng và đường truyền dữ liệu UART/Bluetooth giữa Arduino và Raspberry Pi để rút ngắn thời gian trễ phản hồi xuống dưới 1 giây.
  • Thu thập thêm dữ liệu cử động từ nhiều đối tượng người dùng khác nhau nhằm nâng cao khả năng khái quát hóa và độ tin cậy của mô hình học sâu.
  • Nghiên cứu tích hợp thêm cảm biến phát hiện vật cản (như cảm biến siêu âm, LiDAR hoặc camera) để tự động kích hoạt phanh an toàn khi gặp chướng ngại vật.

Giá trị tham khảo

Đồ án tốt nghiệp là tài liệu kỹ thuật có giá trị tham khảo thiết thực cho:

  • Sinh viên và học viên cao học thuộc các chuyên ngành Kỹ thuật Y sinh, Kỹ thuật Điều khiển và Tự động hóa, Điện tử – Viễn thông, Công nghệ Thông tin và Cơ điện tử đang thực hiện các đề tài liên quan đến thiết bị hỗ trợ người khuyết tật, hệ thống nhúng hoặc xe tự hành.
  • Các kỹ sư phát triển sản phẩm công nghệ hỗ trợ (Assistive Technology), thiết bị phục hồi chức năng và giao tiếp người - máy (HMI).

Các nội dung cụ thể trong văn bản có giá trị tham khảo kỹ thuật cao:

  • Sơ đồ nguyên lý ghép nối phần cứng chi tiết giữa vi điều khiển họ AVR (ATmega328P) với máy tính nhúng Linux (Raspberry Pi 4), module Bluetooth HC-05 qua cổng SoftwareSerial, cảm biến I2C và mạch công suất cầu H BTS7960 dòng cao.
  • Quy trình ứng dụng công cụ PLX-DAQ để thu thập chuỗi thời gian dữ liệu cảm biến trực tiếp vào bảng tính Excel phục vụ chuẩn bị dữ liệu cho học máy.
  • Quy trình xử lý tín hiệu IMU sử dụng bộ lọc bù và bộ lọc Kalman để trích xuất các góc chuyển động Pitch, Roll, Yaw.
  • Cấu trúc xây dựng và huấn luyện mô hình mạng nơ-ron tích chập (CNN) phân loại tín hiệu chuỗi thời gian từ cảm biến trên Google Colab và cách thức triển khai mô hình sau huấn luyện trên hệ điều hành nhúng Raspberry Pi.

Câu hỏi thường gặp

1. Tập dữ liệu huấn luyện mô hình nhận dạng trong đồ án có quy mô bao nhiêu và nhận dạng những hành vi cử động nào?
Tập dữ liệu hoàn chỉnh của đề tài bao gồm 5.780 mẫu dữ liệu thu nhận dưới dạng tệp .csv thông qua phần mềm PLX-DAQ từ cảm biến MPU6050 gắn trên nón. Mô hình phân loại chính xác 6 dạng trạng thái của đầu: gật đầu 1 lần, gật đầu 2 lần, ngửa đầu, xoay đầu sang trái, xoay đầu sang phải và giữ đầu đứng yên.

2. Độ chính xác của mô hình mạng CNN trên tập dữ liệu và độ trễ hệ thống thực tế là bao nhiêu?
Mô hình mạng nơ-ron tích chập CNN (huấn luyện qua Keras/TensorFlow) đạt độ chính xác phân loại là 99,31%. Trong môi trường vận hành thực nghiệm trên xe lăn, toàn hệ thống có độ trễ đáp ứng tín hiệu ghi nhận từ 1 đến 2 giây.

3. Khối nguồn của hệ thống được thiết kế như thế nào để cấp điện cho Raspberry Pi 4?
Hệ thống sử dụng trực tiếp nguồn bình Ắc quy 24V–12A có sẵn trên xe lăn, đưa qua mạch giảm áp xung XH-M404 XL4016E1 (hỗ trợ dòng tải tối đa 8A, công suất cực đại 200W, hiệu suất 94%) để hạ áp xuống mức 5VDC, sau đó cấp nguồn cho Raspberry Pi 4 thông qua đầu nối cáp USB Type-C nhằm đảm bảo dòng hoạt động tối thiểu 3A.

4. Hai phương thức điều khiển được tích hợp trên xe lăn là gì và cơ chế hiển thị chế độ ra sao?
Hai phương thức điều khiển gồm: điều khiển tiếp xúc bằng cần gạt Joystick (đọc điện áp analog hai trục X-Y và nút nhấn SW) và điều khiển không tiếp xúc bằng cử động đầu thông qua nón gắn cảm biến quán tính MPU6050. Trạng thái chuyển đổi giữa hai chế độ điều khiển được báo hiệu trực quan thông qua đèn LED kết nối với chân Digital 8 của vi điều khiển Arduino Uno.

5. Nhóm tác giả sử dụng những giải pháp nào để lọc nhiễu tín hiệu từ cảm biến MPU6050?
Nhóm nghiên cứu áp dụng kết hợp hai thuật toán xử lý tín hiệu số là bộ lọc bù (Complementary filter) và bộ lọc Kalman để triệt tiêu sai số trôi của con quay hồi chuyển và nhiễu rung của gia tốc kế, từ đó tính toán chính xác 3 góc chuyển động không gian Pitch, Roll và Yaw.


Kết luận

Đồ án tốt nghiệp "Phát triển bộ điều khiển xe lăn dựa trên nhiều phương pháp khác nhau" của hai sinh viên Nguyễn Hữu Tín và Lê Thị Thu Hiền (ngành Kỹ thuật Y sinh, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh) đã thiết kế và chế tạo thành công một hệ thống trợ giúp di chuyển tích hợp cho người khuyết tật. Công trình đã kết hợp hiệu quả giữa điều khiển cơ học bằng Joystick và điều khiển thông minh qua cử động đầu sử dụng cảm biến MPU6050 kết hợp mạng nơ-ron tích chập CNN với độ chính xác phân loại đạt 99,31%. Mặc dù hệ thống còn tồn tại độ trễ phản hồi từ 1 đến 2 giây và nhiễu quán tính cơ học, kết quả nghiên cứu đã giải quyết được các hạn chế phụ thuộc Internet hoặc độ trễ lớn của các đề tài tiền nhiệm, chứng minh tính khả thi cao khi ứng dụng các công nghệ kỹ thuật y sinh và trí tuệ nhân tạo vào thiết bị hỗ trợ phục hồi chức năng thực tế.