Giới thiệu dự án

Theo ước tính từ Tổ chức Y tế Thế giới (WHO), hiện có hơn 70 triệu người trên toàn cầu cần sử dụng xe lăn trong sinh hoạt hàng ngày, tuy nhiên chỉ có khoảng 5% đến 15% trong số họ tiếp cận được các thiết bị trợ chuyển phù hợp. Tại các quốc gia đang phát triển, trong đó có Việt Nam, tỷ lệ bệnh nhân chịu di chứng sau tai nạn, chiến tranh, đột quỵ hoặc mắc các bệnh lý thoái hóa thần kinh vận động (như xơ cứng teo cơ một bên - ALS, chấn thương tủy sống cổ) dẫn đến bại liệt toàn thân hoặc bán thân là rất lớn. Những bệnh nhân này mất hoàn toàn khả năng cử động chi trên và chi dưới, khiến các phương tiện trợ chuyển truyền thống như xe lăn cơ học đẩy tay hoặc xe lăn điện điều khiển bằng cần gạt (Joystick) trở nên bất khả thi.

+-----------------------------------------------------------------------------------+
|                            VẤN ĐỀ VÀ GIẢI PHÁP ĐỀ TÀI                             |
+-----------------------------------------------------------------------------------+
|  [Thực trạng]                                                                     |
|  - Liệt toàn thân / ALS / Chấn thương cột sống cổ -> Mất vận động tay chân.       |
|  - Xe lăn Joystick & đẩy tay đòi hỏi lực cơ -> Không thể sử dụng.                 |
|  - Thiết bị nhập ngoại (Tobii, Sip-and-Puff) -> Chi phí đắt đỏ, xâm lấn/gây mỏi.  |
|                                                                                   |
|  [Giải pháp đề tài]                                                               |
|  - Hệ thống điều khiển xe lăn bằng thị giác máy tính qua chuyển động mắt (Pupil). |
|  - Thu nhận ảnh thời gian thực qua Webcam -> Xử lý C++ / OpenCV & CAMSHIFT.       |
|  - Truyền dữ liệu không dây qua HC-11 Bluetooth -> Arduino Uno R3 -> Động cơ bước.|
+-----------------------------------------------------------------------------------+

Mục tiêu dự án

  1. Nghiên cứu và phát triển thuật toán thị giác máy tính: Xây dựng chương trình nhận dạng, phân tích tọa độ chuyển động và sự thay đổi vị trí của đồng tử/ánh mắt người dùng từ luồng video Webcam trong thời gian thực.
  2. Thiết kế phần mềm điều khiển trung tâm: Lập trình giao diện tương tác người - máy (GUI) trên ngôn ngữ C++ kết hợp thư viện xử lý ảnh mã nguồn mở OpenCV, cung cấp cả chế độ tự động (Auto) theo dõi mắt và chế độ điều khiển thủ công (Manual).
  3. Xây dựng hệ thống giao tiếp không dây: Thiết lập đường truyền dữ liệu không dây thời gian thực giữa máy tính tính toán trung tâm và khối chấp hành trên xe lăn qua module thu phát sóng Bluetooth HC-11.
  4. Thiết kế, chế tạo phần cứng và cơ khí mô hình xe lăn: Gia công khung xe từ vật liệu Inox kết hợp Mica chịu lực; tính toán động lực học, lựa chọn động cơ bước (Stepper Motor) và thiết kế mạch công suất cầu H L298 điều khiển bởi vi điều khiển Arduino Uno R3.
  5. Thực nghiệm và đánh giá hệ thống: Đo kiểm độ trễ truyền thông, độ chính xác nhận diện tọa độ mắt và khả năng vận hành chuyển hướng của mô hình thực tế.

Phương pháp tiếp cận và Chỉ số kỳ vọng

  • Phương pháp tiếp cận: Ứng dụng kỹ thuật thị giác máy tính không xâm lấn (Non-invasive Computer Vision). Hệ thống không gắn cảm biến điện sinh học lên da mặt, giúp người dùng thoải mái tối đa. Quá trình xử lý ảnh sử dụng giải thuật thích nghi CAMSHIFT kết hợp lọc trung vị (Median Filter) để trích xuất tâm quang học của mắt.
  • Chỉ số đo lường kỳ vọng:
    • Tốc độ di chuyển thiết kế: $v_{\max} = 0.5\text{ m/s}$.
    • Tải trọng nén tĩnh danh định của khung mô hình: $50\text{ N}$ (khối lượng bản thân xe $5\text{ kg}$).
    • Tần số lấy mẫu và xử lý ảnh: $\ge 25\text{ FPS}$.
    • Độ trễ đáp ứng truyền nhận không dây: $< 50\text{ ms}$.

Phạm vi và Giới hạn

  • Phạm vi: Đề tài tập trung chế tạo mô hình xe lăn 4 bánh (2 bánh chủ động dẫn động độc lập bằng động cơ bước, 2 bánh tự lựa dẫn hướng), thu nhận tín hiệu mắt qua Webcam cố định trước khuôn mặt người điều khiển.
  • Giới hạn: Hệ thống xử lý ảnh chạy trên máy tính ngoài (Laptop/PC) truyền tín hiệu về xe lăn; thuật toán thị giác yêu cầu điều kiện ánh sáng môi trường ổn định, hạn chế chói gắt hoặc bóng tối cục bộ.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Phương pháp điều khiển Ưu điểm Nhược điểm Chi phí ước tính Khả năng ứng dụng cho người liệt cổ
Đẩy cơ học / Lăn tay Đơn giản, bền bỉ, không cần nguồn điện Đòi hỏi thể lực lớn từ hai tay 1.5 - 3 triệu VNĐ Không thể
Cần gạt (Joystick điện) Điều khiển 360 độ mượt mà, phản hồi nhanh Bắt buộc phải có khả năng cử động ngón tay/cổ tay 10 - 25 triệu VNĐ Rất hạn chế
Khí dung / Ống thở (Sip-and-Puff) Phù hợp cho người liệt tứ chi Dễ nhiễm khuẩn đường hô hấp, gây mỏi miệng, xâm lấn 40 - 80 triệu VNĐ Khả thi nhưng bất tiện
Điện cực điện nhãn đồ (EOG/EEG) Đọc tín hiệu trực tiếp từ xung thần kinh/mắt Cần dán điện cực lên mặt/đầu, nhiễu điện từ cao 50 - 120 triệu VNĐ Phức tạp, khó tự vận hành
Thị giác máy tính (Đề tài đề xuất) Không xâm lấn, quan sát tự nhiên, chi phí linh kiện thấp Nhạy cảm với ánh sáng môi trường 3 - 6 triệu VNĐ Hoàn toàn phù hợp

Yêu cầu hệ thống theo mô hình MoSCoW

  • Must Have (Bắt buộc phải có):
    • Thu nhận luồng hình ảnh mắt qua Webcam chuẩn UVC.
    • Tách lọc không gian màu, xác định tọa độ tâm mắt theo thời gian thực bằng giải thuật CAMSHIFT.
    • Chuyển đổi độ lệch tâm $(x_c, y_c)$ thành tập lệnh điều hướng: Tiến (Forward), Lùi (Backward), Trái (Left), Phải (Right), Dừng (Stop).
    • Bộ giải mã tập lệnh trên Arduino Uno R3 điều khiển cặp động cơ bước qua mạch công suất L298.
  • Should Have (Nên có):
    • Truyền thông không dây tầm ngắn qua sóng vô tuyến UART/Bluetooth (HC-11).
    • Giao diện GUI hiển thị visual feedback (đèn báo hướng, tọa độ mắt thực tế).
    • Cơ chế ngắt an toàn (Dead-man switch) dừng xe khi mắt nhắm hoặc lệch ra ngoài biên giám sát.
  • Could Have (Có thể có):
    • Tích hợp pin sạc dự phòng trực tiếp trên khung gầm mô hình.
    • Chuyển đổi linh hoạt giữa chế độ tự động (Auto) và thủ công (Manual) trên bàn phím.
  • Won't Have (Chưa thực hiện trong giai đoạn này):
    • Tích hợp cảm biến LiDAR/Ultrasonic tự động tránh chướng ngại vật.
    • Xử lý on-board hoàn toàn bằng vi máy tính nhúng (Embedded SBC/SoC).
+-----------------------------------------------------------------------------+
|                     SƠ ĐỒ KIẾN TRÚC HỆ THỐNG ĐIỀU KHIỂN                     |
+-----------------------------------------------------------------------------+
|                                                                             |
|  +------------------+         +------------------------------------------+  |
|  |  Camera (Webcam) | ------> |     Khối Xử Lý Ảnh Trung Tâm (PC/Laptop) |  |
|  +------------------+ (Video) |  - Chuyển đổi không gian màu RGB/HSV     |  |
|                               |  - Bộ lọc trung vị 3x3 (Median Filter)   |  |
|                               |  - Giải thuật bám vết CAMSHIFT           |  |
|                               |  - Tính toán độ lệch tâm & Phân loại lệnh|  |
|                               +------------------------------------------+  |
|                                                    | (UART Control Packet)  |
|                                                    v                        |
|                                       +-------------------------+           |
|                                       | HC-11 Bluetooth (Trans) |           |
|                                       +-------------------------+           |
|                                                    ) )  (Không dây 433MHz)  |
|                                                    v                        |
|                                       +-------------------------+           |
|                                       | HC-11 Bluetooth (Receiv)|           |
|                                       +-------------------------+           |
|                                                    | (TTL Serial)           |
|                                                    v                        |
|  +------------------+         +------------------------------------------+  |
|  | Nguồn Acquy/Pin  | ------> |    Vi Điều Khiển Arduino Uno R3          |  |
|  +------------------+         |    (ATmega328P @ 16MHz)                  |  |
|           |                   +------------------------------------------+  |
|           |                                        | (PWM / Direction)      |
|           v                                        v                        |
|  +-----------------------------------------------------------------------+  |
|  | Mạch Công Suất Cầu H L298 (Dual Full-Bridge Driver)                   |  |
|  +-----------------------------------------------------------------------+  |
|           |                                        |                        |
|           v                                        v                        |
|  +-------------------------+          +-------------------------+           |
|  | Động cơ bước Trái (23LM)|          | Động cơ bước Phải (23LM)|           |
|  | Bánh chủ động phi 200mm |          | Bánh chủ động phi 200mm |           |
|  +-------------------------+          +-------------------------+           |
|                                                                             |
+-----------------------------------------------------------------------------+

Thông số kỹ thuật Technology Stack

  • Phần mềm máy tính: Microsoft Visual C++ (MSVC compiler), Thư viện Computer Vision OpenCV 2.4.x (các module: cxcore, cv, highgui, cvaux).
  • Phần mềm nhúng: Arduino IDE (C/C++ nhúng cho kiến trúc AVR).
  • Khối điều khiển trung tâm (MCU): Arduino Uno R3 (ATmega328P 8-bit, 16MHz clock, 32KB Flash memory, 2KB SRAM, 1KB EEPROM).
  • Khối truyền thông không dây: Cặp module thu phát không dây HC-11 (Giao tiếp UART mức logic TTL, tần số truyền thông 433.4 - 473.0 MHz, 100 kênh truyền, tốc độ Baud 9600 bps).
  • Khối công suất: Mạch cầu H L298N kép (Điện áp hoạt động logic 5V, dải điện áp điều khiển tải lên tới 46V, dòng tải đỉnh tức thời 2A mỗi kênh, tích hợp bảo vệ dòng ngược).
  • Khối chấp hành (Actuator): 02 Động cơ bước 2 pha mã hiệu 23LM-C047V (Góc bước $1.8^\circ$, dòng định mức 1.5A/pha, mô-men giữ danh định $300\text{ Nmm}$, công suất $30\text{ W}$).

Phương pháp luận phát triển (Methodology)

Dự án áp dụng mô hình Mechatronics V-Model kết hợp phát triển lặp từng phần (Iterative Development):

Thiết kế ý tưởng -> Tính toán động lực học cơ khí -> Lập trình thuật toán xử lý ảnh -> Thiết kế mạch nhúng -> Tích hợp & Kiểm thử thực địa
  • Timeline dự án:
    • Tháng 1-2: Nghiên cứu cơ sở lý thuyết xử lý ảnh, cấu trúc không gian màu RGB/HSV, khảo sát giải thuật Mean Shift và CAMSHIFT.
    • Tháng 3-4: Thiết kế 3D mô hình khung xe trên CAD, tính toán chọn động cơ bước, thi công gia công cơ khí bằng Inox kết hợp Mica bằng máy cắt CNC.
    • Tháng 5: Thiết kế mạch phần cứng, lập trình phần sụn (firmware) trên vi điều khiển Arduino Uno R3, tích hợp module Bluetooth HC-11 và mạch cầu H L298.
    • Tháng 6: Lập trình giao diện C++/OpenCV, hoàn thiện thuật toán nhận diện và chuyển đổi tọa độ mắt sang lệnh điều khiển.
    • Tháng 7: Ghép nối toàn hệ thống, thử nghiệm vận hành trong nhà và ngoài trời, tinh chỉnh ngưỡng lọc nhiễu và đóng băng báo cáo đồ án tốt nghiệp.

Implementation và kết quả

Chi tiết thuật toán và Kỹ thuật lập trình

Quy trình xử lý ảnh nhận dạng chuyển động mắt bao gồm 5 giai đoạn cốt lõi:

  1. Thu nhận ảnh (Image Acquisition): Webcam quét luồng khung hình liên tục ở độ phân giải tiêu chuẩn $640 \times 480$ pixel.
  2. Tiền xử lý và Chuyển đổi không gian màu: Khung hình RGB được chuyển sang không gian màu xám (Gray-scale) hoặc HSV để tách biệt giá trị màu sắc (Hue), độ bão hòa (Saturation) và cường độ sáng (Value): $$Y = 0.299R + 0.587G + 0.114B$$
  3. Lọc số phi tuyến - Bộ lọc trung vị (Median Filter 3x3): Loại bỏ triệt để nhiễu muối tiêu (salt-and-pepper) và nhiễu đốm mà không làm mất tính sắc nét của viền đồng tử. Tại mỗi điểm ảnh, cửa sổ lọc kích thước $3 \times 3$ trích xuất 9 giá trị pixel lân cận, sắp xếp tăng dần và gán giá trị trung vị $m$ cho điểm ảnh đầu ra.
+-------------------+      +-------------------+      +-------------------------+
| Ma trận gốc 3x3   |      | Sắp xếp dãy 9 phần|      | Gán giá trị trung vị    |
| [ 12  14  15 ]    |      | tử theo thứ tự:   |      | [m = 16] vào pixel tâm  |
| [ 11  90  16 ]    | ---> | [ 11, 12, 14, 15, | ---> | loại bỏ hoàn toàn       |
| [ 17  18  19 ]    |      |   16, 17, 18, 19, |      | điểm nhiễu 90           |
+-------------------+      |   90 ]            |      +-------------------------+
  1. Giải thuật bám vết CAMSHIFT (Continuously Adaptive Mean Shift): Thuật toán liên tục tính toán các moment không gian (Spatial Moments) của phân bố xác suất màu trong cửa sổ tìm kiếm:

    • Moment không gian bậc 0: $$M_{00} = \sum_{x} \sum_{y} I(x, y)$$
    • Moment không gian bậc 1 theo trục $x$ và $y$: $$M_{10} = \sum_{x} \sum_{y} x \cdot I(x, y), \quad M_{01} = \sum_{x} \sum_{y} y \cdot I(x, y)$$
    • Tọa độ tâm hình học (Centroid) của đồng tử: $$x_c = \frac{M_{10}}{M_{00}}, \quad y_c = \frac{M_{01}}{M_{00}}$$
    • Kích thước cửa sổ tìm kiếm thích nghi tự động cập nhật theo diện tích phân bố: $$w = 2 \sqrt{\frac{M_{00}}{256}}, \quad h = 1.2w$$
  2. Phân loại hướng điều khiển: Dựa trên tọa độ tâm chuẩn $(x_0, y_0)$ khi mắt nhìn thẳng, tính độ sai lệch $\Delta x = x_c - x_0$ và $\Delta y = y_c - y_0$. Nếu độ lệch vượt qua ngưỡng chết (Dead-zone threshold $T_{\text{threshold}}$), chương trình sẽ phát mã ký tự điều khiển qua cổng nối tiếp UART:

    • $\Delta y < -T_y \rightarrow$ Gửi mã 'F' (Chạy tiến - Forward).
    • $\Delta y > T_y \rightarrow$ Gửi mã 'B' (Chạy lùi - Backward).
    • $\Delta x < -T_x \rightarrow$ Gửi mã 'L' (Rẽ trái - Left).
    • $\Delta x > T_x \rightarrow$ Gửi mã 'R' (Rẽ phải - Right).
    • Trong vùng trung tâm $\rightarrow$ Gửi mã 'S' (Dừng xe - Stop).

Trích đoạn mã nguồn tiêu biểu

1. Xử lý ảnh và Bám vết CAMSHIFT trên C++/OpenCV

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main() {
    VideoCapture cap(0);
    if (!cap.isOpened()) {
        cerr << "Loi: Khong the mo Webcam!" << endl;
        return -1;
    }

    Mat frame, hsv, hue, mask, probImage;
    Rect trackWindow(200, 150, 100, 100);
    RotatedRect trackBox;
    int vmin = 10, vmax = 256, smin = 30;

    while (true) {
        cap >> frame;
        if (frame.empty()) break;

        // 1. Tiền xử lý lọc trung vị làm mịn ảnh
        medianBlur(frame, frame, 3);
        cvtColor(frame, hsv, COLOR_BGR2HSV);

        // 2. Tách ngưỡng lọc kênh màu phục vụ trích xuất đồng tử
        inRange(hsv, Scalar(0, smin, min(vmin, vmax)), 
                Scalar(180, 256, max(vmin, vmax)), mask);
        
        int ch[] = {0, 0};
        hue.create(hsv.size(), hsv.depth());
        mixChannels(&hsv, 1, &hue, 1, ch, 1);

        // 3. Thực hiện giải thuật CAMSHIFT
        TermCriteria criteria(TermCriteria::COUNT | TermCriteria::EPS, 10, 1);
        trackBox = CamShift(probImage, trackWindow, criteria);

        // 4. Trích xuất tọa độ tâm và tính toán hướng điều khiển
        Point2f center = trackBox.center;
        char cmd = 'S';
        if (center.x < 180) cmd = 'L';      // Nhìn sang trái
        else if (center.x > 300) cmd = 'R'; // Nhìn sang phải
        else if (center.y < 120) cmd = 'F'; // Nhìn lên trên (Tiến)
        else if (center.y > 240) cmd = 'B'; // Nhìn xuống dưới (Lùi)

        // Vẽ ellipse hiển thị bám vết
        ellipse(frame, trackBox, Scalar(0, 0, 255), 2);
        imshow("Giao Dien Dieu Khien Xe Lan", frame);

        if (waitKey(30) == 27) break; // Thoát khi nhấn ESC
    }
    return 0;
}

2. Firmware điều khiển động cơ bước trên Arduino Uno R3

// Khai báo chân điều khiển động cơ qua L298
const int IN1 = 8;
const int IN2 = 9;
const int IN3 = 10;
const int IN4 = 11;
char command = 'S';

void setup() {
  Serial.begin(9600); // Giao tiếp UART với module HC-11
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
  stopMotors();
}

void loop() {
  if (Serial.available() > 0) {
    command = Serial.read();
    executeCommand(command);
  }
}

void executeCommand(char cmd) {
  switch (cmd) {
    case 'F': moveForward(); break;
    case 'B': moveBackward(); break;
    case 'L': turnLeft(); break;
    case 'R': turnRight(); break;
    case 'S':
    default: stopMotors(); break;
  }
}

void moveForward() {
  digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW);
  digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW);
}

void moveBackward() {
  digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH);
  digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH);
}

void turnLeft() {
  digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH);
  digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW);
}

void turnRight() {
  digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW);
  digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH);
}

void stopMotors() {
  digitalWrite(IN1, LOW); digitalWrite(IN2, LOW);
  digitalWrite(IN3, LOW); digitalWrite(IN4, LOW);
}

Tính toán động lực học cơ khí

  • Vận tốc cực đại thiết kế: $v_{\max} = 0.5\text{ m/s}$.
  • Đường kính trục bánh sau: $D = 10\text{ mm} = 0.01\text{ m}$.
  • Hiệu suất truyền động cơ khí $\eta = 0.95$.
  • Lực kéo yêu cầu ứng với tải trọng tối đa $F = 50\text{ N}$.
  • Công suất hữu ích cực đại: $$P = F \cdot v_{\max} = 50 \cdot 0.5 = 25\text{ W}$$
  • Công suất động cơ cần thiết: $$P_{\text{ct}} = \frac{P}{\eta} = \frac{25}{0.95} \approx 26.3\text{ W} \quad \rightarrow \text{Chọn động cơ bước } 30\text{ W}$$
  • Tốc độ quay của trục động cơ: $$n = \frac{60000 \cdot v_{\max}}{\pi \cdot D} = \frac{60000 \cdot 0.5}{\pi \cdot 10} \approx 955\text{ vòng/phút}$$
  • Mô-men xoắn yêu cầu trên trục động cơ: $$T = \frac{P_{\text{đc}} \cdot 10^6}{n_{\text{đc}}} = \frac{30 \cdot 10^6}{955} \approx 314\text{ Nmm} \quad (\approx 300\text{ Nmm tương thích động cơ 23LM-C047V})$$

Kết quả đo kiểm và Benchmark thực nghiệm

Tham số / Tiêu chí Mục tiêu thiết kế ban đầu Kết quả thực nghiệm đạt được Trạng thái đánh giá
Tốc độ khung hình xử lý (FPS) $\ge 25\text{ FPS}$ $28 - 30\text{ FPS}$ (trên máy tính Core i3) Đạt
Độ trễ truyền tín hiệu HC-11 $< 50\text{ ms}$ $35 - 42\text{ ms}$ Đạt
Độ chính xác phân loại hướng mắt $> 85%$ $89.4%$ (trong điều kiện sáng chuẩn) Đạt
Vận tốc thực tế của xe $0.5\text{ m/s}$ $0.42\text{ m/s}$ Đạt ($84%$ lý thuyết)
Tải trọng nâng của khung xe $5\text{ kg}$ tải bản thân + $5\text{ kg}$ tải động Chịu lực ổn định lên đến $8\text{ kg}$ tải ngoài Vượt mục tiêu ($160%$)
Thời gian vận hành liên tục $\ge 45\text{ phút}$ $\approx 55\text{ phút}$ (với nguồn pin 12V 2.2Ah) Đạt

Đổi mới và đóng góp

Đổi mới kỹ thuật nổi bật

  1. Kiến trúc phân tán tách rời khối tính toán nặng (Compute Decoupling): Thay vì cố gắng ép các thuật toán xử lý ảnh phức tạp lên các vi điều khiển nhúng giá rẻ (vốn không đủ dung lượng SRAM để chứa ma trận điểm ảnh $640 \times 480$), giải pháp sử dụng máy tính ngoài làm nhiệm vụ tính toán thị giác, sau đó truyền gói tin điều khiển siêu nhẹ qua sóng không dây HC-11 về bo mạch Arduino Uno R3.
  2. Tối ưu hóa cửa sổ bám vết thích nghi CAMSHIFT: Khắc phục triệt để nhược điểm của thuật toán Mean Shift truyền thống (vốn có kích thước cửa sổ cố định, dễ mất dấu khi người dùng nghiêng đầu hoặc thay đổi khoảng cách tới Webcam). CAMSHIFT tự động co giãn kích thước cửa sổ dựa trên moment bậc không $M_{00}$, giảm $60%$ khối lượng tính toán trên toàn khung hình.
  3. Cơ cấu khung gầm Inox kết hợp Mica tối ưu chi phí: Khung đỡ gia công cắt CNC kết hợp giữa độ cứng vững của Inox tại các điểm chịu lực của trục động cơ bước và tính nhẹ, dễ tạo hình của Mica, giúp giảm $35%$ trọng lượng toàn xe so với kết cấu kim loại nguyên khối.
+-----------------------------------------------------------------------------------+
|                  SO SÁNH HIỆU QUẢ KINH TẾ VÀ ĐẶC TÍNH KỸ THUẬT                    |
+-----------------------------------------------------------------------------------+
|  [Hệ thống Tobii Dynavox / Xe lăn chuyên dụng]                                    |
|  - Giá thành: $5,000 - $12,000 (~120 - 280 triệu VNĐ)                             |
|  - Đòi hỏi phần cứng chuyên dụng độc quyền, khó sửa chữa.                         |
|  - Phụ thuộc linh kiện nhập ngoại.                                                |
|                                                                                   |
|  [Hệ thống của Đề tài nghiên cứu]                                                 |
|  - Giá thành: ~3.5 triệu VNĐ (Giảm hơn 95% chi phí đầu tư)                        |
|  - Sử dụng linh kiện mở, phổ biến (Arduino, Cầu H L298, Stepper 23LM, Webcam)     |
|  - Dễ bảo trì, sửa chữa, thay thế và làm chủ công nghệ hoàn toàn tại Việt Nam.    |
+-----------------------------------------------------------------------------------+

Ứng dụng thực tế và triển khai

Kịch bản sử dụng thực tế (Real-world Scenarios)

  • Kịch bản 1 - Bệnh nhân chấn thương tủy sống cổ (C4-C5): Bệnh nhân mất hoàn toàn khả năng vận động từ vai trở xuống. Người hỗ trợ cố định Webcam trước mặt người bệnh. Bệnh nhân chỉ cần liếc mắt sang trái/phải để chuyển hướng xe trong phòng điều trị mà không cần bất kỳ sự trợ giúp vật lý nào.
  • Kịch bản 2 - Phục hồi chức năng tại viện dưỡng lão: Người cao tuổi suy nhược cơ bắp tay không thể đẩy xe lăn có thể điều khiển xe qua các hành lang bằng chuyển động nhìn tự nhiên. Hệ thống hỗ trợ chế độ Manual để điều dưỡng viên can thiệp điều khiển từ xa qua giao diện máy tính khi cần thiết.
+-----------------------------------------------------------------------------+
|              LỘ TRÌNH TRIỂN KHAI VÀ THƯƠNG MẠI HÓA HỆ THỐNG                 |
+-----------------------------------------------------------------------------+
|                                                                             |
|  Giai đoạn 1: Hoàn thiện sản phẩm R&D (0 - 6 tháng)                         |
|  - Nâng cấp bộ xử lý sang máy tính nhúng SBC (Raspberry Pi 4 / Jetson Nano).|
|  - Tích hợp cụm camera hồng ngoại (IR Camera) để hoạt động ban đêm.         |
|                                                                             |
|  Giai đoạn 2: Thử nghiệm lâm sàng và An toàn (6 - 12 tháng)                  |
|  - Thêm 4 cảm biến siêu âm HC-SR04 quanh thân xe để chống va chạm.          |
|  - Thử nghiệm trên 30 bệnh nhân tại trung tâm chỉnh hình phục hồi chức năng.|
|                                                                             |
|  Giai đoạn 3: Chế tạo bản thương mại hóa (12 - 24 tháng)                   |
|  - Lắp ráp trên khung xe lăn người lớn tiêu chuẩn tải trọng 100kg.          |
|  - Đăng ký kiểm định tiêu chuẩn an toàn thiết bị y tế loại B.               |
|                                                                             |
+-----------------------------------------------------------------------------+

Bảng hạch toán chi phí sản xuất thử nghiệm (BOM - Bill of Materials)

Linh kiện / Hạng mục Quy cách kỹ thuật Số lượng Đơn giá (VNĐ) Thành tiền (VNĐ)
Vi điều khiển Arduino Uno R3 (ATmega328P) 01 cái 180,000 180,000
Mạch công suất Module cầu H L298N 2A 01 cái 65,000 65,000
Động cơ bước Step Motor 23LM-C047V (30W, 1.5A) 02 cái 350,000 700,000
Module không dây HC-11 433MHz UART Transceiver 01 cặp 160,000 320,000
Cảm biến hình ảnh Webcam HD 720p chuẩn UVC 01 cái 350,000 350,000
Khung xe cơ khí Khung Inox gia công + Tấm Mica cắt CNC 01 bộ 850,000 850,000
Hệ thống bánh xe 02 bánh chủ động D200 + 02 bánh tự lựa D30 01 bộ 280,000 280,000
Nguồn điện & phụ trợ Pin sạc 12V 2.2Ah, dây cắm, ốc vít 01 gói 400,000 400,000
TỔNG CỘNG 3,145,000 VNĐ

Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại

  • Nhạy cảm với ánh sáng môi trường (Ambient Lighting Sensitivity): Khi hoạt động dưới ánh nắng gắt chiếu trực diện hoặc trong phòng thiếu sáng ($< 50\text{ lux}$), độ tương phản của mống mắt và đồng tử bị suy giảm, dẫn đến sai số bám vết CAMSHIFT tăng lên $18.5%$.
  • Hiện tượng mỏi mắt người dùng (Eye Fatigue): Việc phải liên tục giữ hướng nhìn lệch tâm để duy trì trạng thái di chuyển gây mỏi cơ mắt sau 15-20 phút vận hành liên tục.
  • Chưa có hệ thống cảm biến môi trường chủ động: Mô hình phụ thuộc hoàn toàn vào quan sát của người lái, chưa có cảm biến dừng khẩn cấp khi gặp vật cản phía trước hoặc mép vực/bậc tam cấp.

Hướng phát triển tiếp theo

  1. Nâng cấp phần cứng xử lý nhúng (Single Board Computer): Tích hợp trực tiếp máy tính nhúng Nvidia Jetson Nano hoặc Raspberry Pi 4 Model B lên khung gầm xe, loại bỏ hoàn toàn sự phụ thuộc vào Laptop ngoài và loại bỏ độ trễ truyền thông không dây.
  2. Ứng dụng Trí tuệ nhân tạo (Deep Learning Gaze Tracking): Triển khai các mạng nơ-ron tích chập thu nhỏ (như MobileNetV3 hoặc MediaPipe Iris) để dự đoán hướng nhìn 3D trực tiếp từ cấu trúc khuôn mặt, tăng độ chính xác lên trên $98%$ trong mọi điều kiện ánh sáng.
  3. Bổ sung hệ thống an toàn đa tầng: Tích hợp cảm biến khoảng cách siêu âm (Ultrasonic HC-SR04) và cảm biến chống rơi vực ở 4 góc khung gầm; lập trình thuật toán tự động phanh khi phát hiện chướng ngại vật dưới $0.5\text{ m}$.

Đối tượng hưởng lợi

  • Sinh viên ngành Cơ điện tử, Tự động hóa và CNTT: Cung cấp tài liệu tham khảo thực tế về quy trình tích hợp liên ngành giữa cơ khí chính xác, thiết kế mạch nhúng vi điều khiển AVR và lập trình thị giác máy tính OpenCV trên C++.
  • Kỹ sư và Lập trình viên phát triển sản phẩm: Cung cấp mã nguồn mẫu về kỹ thuật bám vết CAMSHIFT, thuật toán lọc trung vị thời gian thực và phương thức đóng gói giao thức truyền thông nối tiếp UART chuẩn công nghiệp.
  • Cơ sở y tế và Đơn vị sản xuất thiết bị trợ thính/trợ chuyển: Sở hữu bản thiết kế chi tiết (CAD, sơ đồ mạch, firmware) có khả năng nội địa hóa cao, mở ra hướng sản xuất xe lăn thông minh giá rẻ cho thị trường Việt Nam.
  • Bệnh nhân khuyết tật vận động nặng: Mở rộng khả năng tự chủ di chuyển, tái hòa nhập cộng đồng và nâng cao chất lượng cuộc sống mà không phải chi trả các mức phí thiết bị nhập ngoại đắt đỏ.

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

1. Yêu cầu cấu hình tối thiểu của máy tính để chạy phần mềm xử lý ảnh là gì?

Hệ thống phần mềm C++/OpenCV được tối ưu hóa chỉ yêu cầu máy tính chạy hệ điều hành Windows 7/8/10 hoặc Linux (Ubuntu 14.04 trở lên), CPU Intel Core 2 Duo 2.0GHz hoặc Core i3, RAM tối thiểu 2GB, có cổng USB 2.0 để cắm Webcam và cổng nối tiếp để gắn module Bluetooth HC-11.

2. Xe lăn hoạt động thế nào nếu người sử dụng vô tình chớp mắt hoặc nhắm mắt?

Khi người dùng chớp mắt nhanh ($< 300\text{ ms}$), thuật toán CAMSHIFT duy trì vị trí cửa sổ theo quán tính moment trước đó. Nếu người dùng nhắm mắt quá $1\text{ giây}$ hoặc quay đầu ra khỏi tầm quét của Webcam, diện tích phân bố xác suất $M_{00}$ sẽ sụt giảm về 0, chương trình tự động kích hoạt trạng thái ngắt an toàn và phát mã 'S' dừng xe ngay lập tức.

3. Tại sao đề tài lựa chọn động cơ bước thay vì động cơ DC có chổi than thông thường?

Động cơ bước (Stepper Motor) có ưu điểm vượt trội về khả năng giữ vị trí (Holding Torque) lớn mà không cần trang bị thêm phanh cơ khí phức tạp, tốc độ quay độc lập với biến thiên tải trọng trong dải mô-men cho phép, và đáp ứng tức thời với tín hiệu xung đảo chiều mà không có độ trễ quán tính chổi than.

4. Hệ thống giao tiếp Bluetooth HC-11 có bị can nhiễu trong môi trường có nhiều sóng Wi-Fi không?

Module HC-11 sử dụng dải tần số sóng vô tuyến $433.4 - 473.0\text{ MHz}$ (băng tần Sub-1GHz), hoàn toàn tách biệt với dải tần $2.4\text{ GHz}$ của sóng Wi-Fi và Bluetooth tiêu chuẩn, do đó hệ thống đạt độ ổn định truyền tín hiệu cao và khả năng xuyên vật cản tốt trong môi trường dân dụng.

5. Chi phí bảo trì và thay thế linh kiện định kỳ ước tính khoảng bao nhiêu?

Nhờ sử dụng $100%$ các linh kiện điện tử tiêu chuẩn và vật liệu phổ biến trên thị trường, chi phí bảo trì hàng năm (chủ yếu là thay thế ắc quy/pin sạc sau 500-800 chu kỳ sạc và bảo dưỡng bạc đạn bánh xe) ước tính chỉ dao động từ 300,000 đến 500,000 VNĐ/năm.


Kết luận

Đồ án tốt nghiệp "Nghiên cứu phân tích chuyển động của mắt để xuất ra tín hiệu điều khiển xe lăn" của nhóm tác giả Ngô Tuấn Anh và Nguyễn Đăng Tiến (Khoa Cơ khí Chế tạo máy - Trường Đại học Sư phạm Kỹ thuật TP.HCM) dưới sự hướng dẫn của TS. Vũ Quang Huy đã giải quyết thành công bài toán tự động hóa hỗ trợ di chuyển cho người bại liệt toàn thân. Dự án đã chứng minh tính khả thi vượt trội của việc kết hợp thuật toán thị giác máy tính CAMSHIFT trên nền tảng OpenCV với vi điều khiển nhúng Arduino và cơ chế truyền thông không dây.

Công trình không chỉ mang giá trị học thuật sâu sắc trong lĩnh vực Cơ điện tử ứng dụng mà còn mở ra hướng đi nhân văn đầy tiềm năng, góp phần thực hiện hóa mục tiêu nội địa hóa thiết bị y tế công nghệ cao với chi phí phù hợp cho người khuyết tật tại Việt Nam.