Giới thiệu dự án

Theo thống kê của Tổ chức Y tế Thế giới (WHO), toàn cầu hiện có hơn 40 triệu người bị đoạn chi, trong đó các trường hợp khuyết tật chi trên do tai nạn lao động, tai nạn giao thông và dị tật bẩm sinh chiếm tỷ lệ đáng kể. Tại các quốc gia đang phát triển như Việt Nam, khả năng tiếp cận các thiết bị chi giả sinh học (bionic prosthetics) còn rất hạn chế do rào cản chi phí. Các cánh tay giả cơ điện thương mại nhập khẩu hiện có giá dao động từ 20.000 USD đến 100.000 USD (tương đương 500 triệu đến hơn 2,4 tỷ VNĐ), hoàn toàn vượt ngoài khả năng tài chính của đại đa số người lao động phổ thông.

Thực trạng sử dụng chi giả hiện nay bộc lộ nhiều điểm nghẽn kỹ thuật và thực tiễn:

  • Cánh tay giả bị động (Passive Prosthetics): Chỉ đóng vai trò thẩm mỹ hoặc sử dụng móc cơ học đơn giản, không có khả năng co duỗi linh hoạt theo ý muốn chủ quan của người dùng.
  • Cánh tay điều khiển bằng cơ học dây kéo (Body-powered): Đòi hỏi biên độ vận động lớn từ các nhóm cơ vai/lưng lành lặn, gây mệt mỏi cơ học và thiếu tính tự nhiên.
  • Cánh tay điều khiển bằng sóng não (EEG) hoặc công tắc bàn chân: Khó tập trung kiểm soát đa nhiệm, cồng kềnh và bất tiện đối với người khuyết tật vận động toàn diện.

Đề tài "Thiết kế và thi công cánh tay giả hỗ trợ cho người khuyết tật sử dụng tín hiệu EMG" được nghiên cứu và chế tạo nhằm giải quyết bài toán trên bằng cách ứng dụng công nghệ xử lý tín hiệu điện cơ bề mặt (Surface Electromyography - sEMG) kết hợp kỹ thuật in 3D FDM (Fused Deposition Modeling).

                      +-----------------------------+
                      |   Cảm biến sEMG (MyoWare /  |
                      |   Muscle Sensor v3)         |
                      +--------------+--------------+
                                     |
                                     v [Tín hiệu Analog: 0 - 5V]
                      +-----------------------------+
                      |   Arduino Nano (ATmega328P) |
                      |   - ADC 10-bit                  |
                      |   - Bộ lọc số IIR Low-pass  |
                      |   - Thuật toán định ngưỡng   |
                      +--------------+--------------+
                                     |
                                     v [Tín hiệu PWM: 50Hz]
                      +-----------------------------+
                      |   Driver / Servo MG996R     |
                      |   (Mô-men xoắn: 11 kg.cm)   |
                      +--------------+--------------+
                                     |
                                     v [Lực kéo dây cáp gân]
                      +-----------------------------+
                      |   Cơ cấu ngón tay in 3D PLA |
                      |   (Tải trọng nâng: <= 3.0 kg) |
                      +-----------------------------+

Mục tiêu cụ thể của dự án:

  1. Thiết kế cơ khí: Chế tạo mô hình bàn tay và cánh tay nhân tạo 5 ngón bằng vật liệu nhựa Polylactic Acid (PLA) qua công nghệ in 3D, tích hợp cơ cấu dây kéo đàn hồi mô phỏng gân gấp và gân duỗi ngón tay tự nhiên.
  2. Thu nhận và tiền xử lý tín hiệu EMG: Xây dựng hệ thống thu thập tín hiệu điện sinh học không xâm lấn từ 02 nhóm cơ độc lập (cơ bắp tay Biceps Brachii và cơ cầu vai Trapezius/Deltoid) với biên độ nguyên bản $0 - 10\text{ mV}$, dải tần $10 - 500\text{ Hz}$.
  3. Phát triển thuật toán nhúng: Thiết kế và nạp trực tiếp lên vi điều khiển Arduino Nano bộ lọc thông thấp số bậc 1 (Discrete First-Order Low-Pass Filter) có tần số cắt $f_c = 1.9\text{ Hz}$ và cơ chế tự động căn chỉnh ngưỡng kích hoạt (Adaptive Thresholding).
  4. Điều khiển truyền động: Lập trình điều chế độ rộng xung (PWM) điều khiển 02 động cơ Servo TowerPro MG996R, tạo lực kéo tương đương mô-men xoắn $M \ge 20.45\text{ kg}\cdot\text{cm}$ để thực hiện các thao tác đóng/mở ngón tay và mang tải vật thể an toàn.

Phạm vi và giới hạn của đề tài:

  • Thiết kế dạng module hỗ trợ bệnh nhân đoạn chi dưới khuỷu tay hoặc trên khuỷu tay có các vùng cơ kích hoạt lành lặn.
  • Cơ cấu 1 bậc tự do chủ động (1-DOF) điều khiển đồng bộ 5 ngón tay thông qua hệ thống phân phối lực dây kéo.
  • Tải trọng nâng tĩnh tối đa thiết kế dưới 3.0 kg, kích thước tổng thể $300\text{ mm} \times 93\text{ mm}$, tổng khối lượng cánh tay không vượt quá 600g.

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

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

Tiêu chí so sánh Chi giả cơ học bị động (Passive Hook) Chi giả Mind-Arm (Sóng não EEG) Cánh tay điều khiển bằng chân (Phạm Huy) Giải pháp đề tài (Dual-sEMG + In 3D)
Phương thức thu nhận Không có / Lực kéo cơ học thuần túy Điện não đồ qua mũ Emotiv (EEG) Cảm biến độ nghiêng và nút nhấn gắn ở chân Điện cực dán bề mặt không xâm lấn (Ag-AgCl)
Độ trễ phản hồi Tức thời theo chuyển động cơ thể Cao ($> 500\text{ ms}$ do xử lý tín hiệu não) Trung bình ($200 - 300\text{ ms}$) Thấp ($< 150\text{ ms}$ xử lý thời gian thực)
Mức độ tiện dụng Kém linh hoạt, thẩm mỹ thấp Cồng kềnh, dễ nhiễu khi vận động Bất tiện cho người khuyết tật chi dưới Trực quan, điều khiển tại các bó cơ tự nhiên
Chi phí sản xuất 500.000 - 1.500.000 VNĐ 25.000.000 - 40.000.000 VNĐ 2.000.000 - 3.500.000 VNĐ ~ 1.800.000 VNĐ
Khả năng mang tải Phụ thuộc lực người đeo 0.5 - 1.5 kg 1.0 - 2.0 kg Lên đến 3.0 kg

Ưu tiên hóa yêu cầu hệ thống theo mô hình MoSCoW:

  • Must have (Bắt buộc): Thu nhận tín hiệu EMG không xâm lấn; Bộ lọc số triệt tiêu nhiễu dao động cơ học; Khả năng đóng/mở bàn tay dứt khoát; Cơ cấu an toàn ngắt kích hoạt nhầm; Tải trọng nâng tối thiểu 1.0 kg.
  • Should have (Nên có): Lớp đệm silicone tăng ma sát tại đầu ngón tay; Đèn LED hiển thị trạng thái hoạt động và báo ngưỡng; Nguồn pin sạc tích hợp bên trong khoang cánh tay.
  • Could have (Có thể mở rộng): Điều khiển độc lập từng ngón tay; Tích hợp cảm biến áp lực màng mỏng (FSR) để phản hồi lực kẹp (Haptic feedback).
  • Won't have (Chưa thực hiện): Nhận dạng cử chỉ phức tạp bằng mạng nơ-ron tích chập (CNN); Khớp cổ tay xoay đa hướng chủ động.

Thiết kế hệ thống

Kiến trúc hệ thống bao gồm 4 khối chức năng chính: Khối cảm biến thu nhận, Khối xử lý trung tâm, Khối chấp hành cơ khí và Khối nguồn.

+-----------------------------------------------------------------------------------+
|                               HỆ THỐNG PHẦN CỨNG                                  |
|                                                                                   |
|  [Khối Nguồn]                                                                     |
|  ├── Pin Ni-MH 6V 2800mAh ──────> Cấp nguồn Arduino Nano & 2x Servo MG996R        |
|  ├── Trích áp 4.8V (4 cell) ────> Cấp nguồn cảm biến MyoWare                     |
|  └── Pin khối 9V rời ───────────> Cấp nguồn cảm biến Muscle Sensor v3 (±9V)       |
|                                                                                   |
|  [Khối Cảm Biến]                                                                  |
|  ├── MyoWare (Bắp tay) ─────────> Chân Analog A0 (Tín hiệu điều khiển co/duỗi)    |
|  └── Muscle Sensor v3 (Vai) ────> Chân Analog A1 (Tín hiệu Gating/Chốt an toàn)   |
|                                                                                   |
|  [Khối Xử Lý & Chấp Hành]                                                         |
|  ├── Arduino Nano (ATmega328P) ─> Lọc số IIR + Căn chỉnh ngưỡng thời gian thực    |
|  ├── Chân Digital D7, D8 ───────> Điều khiển xung PWM cho 2x Servo MG996R         |
|  └── Chân Digital D2, D3 ───────> LED báo trạng thái nguồn và kích hoạt           |
+-----------------------------------------------------------------------------------+

Danh mục công nghệ và linh kiện chuẩn:

  • Vi điều khiển: Arduino Nano V3.0 (Vi điều khiển ATmega328P 8-bit, xung nhịp 16 MHz, bộ nhớ Flash 32 KB, SRAM 2 KB, 8 kênh ADC 10-bit, điện áp hoạt động 5V DC).
  • Cảm biến điện cơ 1: MyoWare Muscle Sensor (Advancer Technologies AT-04-001, tích hợp mạch khuếch đại vi sai, chỉnh lưu toàn sóng và trích xuất đường bao tương tự, nguồn cấp 2.9V - 5.7V DC).
  • Cảm biến điện cơ 2: Muscle Sensor v3 (Advancer Technologies, nguồn đối xứng ±9V, kết nối dây điện cực rời).
  • Động cơ chấp hành: 02 x TowerPro MG996R Digital Metal Gear Servo (Mô-men xoắn: 11 kg·cm tại 6V; Dòng tiêu thụ cực đại khi giữ tải: 900 mA; Tốc độ quay: $0.14\text{ s}/60^\circ$).
  • Môi trường lập trình và tính toán: Arduino IDE v1.8.19 (ngôn ngữ C/C++), MATLAB R2020a (tính toán bộ lọc số và chuyển đổi $s \to z$).

Tính toán động lực học cơ khí: Khi cánh tay nâng vật nặng tải trọng $F_1 = 3\text{ kg}$, khoảng cách từ điểm đặt lực trên ngón tay đến trục quay khớp ngón là $d_1 = 75\text{ mm}$, khoảng cách từ điểm móc dây kéo gân đến trục quay là $d_2 = 11\text{ mm}$. Áp dụng cân bằng mô-men xoắn tại trục quay khớp ngón tay:

$$F_1 \cdot d_1 = F_2 \cdot d_2 \implies F_2 = \frac{F_1 \cdot d_1}{d_2} = \frac{3\text{ kg} \times 75\text{ mm}}{11\text{ mm}} \approx 20.45\text{ kg}$$

Do đó, tổng lực kéo cần thiết từ hệ thống servo tác động lên cơ cấu dây gân là $F_2 = 20.45\text{ kg}$. Bằng cách ghép song song 2 động cơ servo MG996R kết hợp cánh tay đòn servo $d = 10\text{ mm}$, mô-men kéo danh định của mỗi servo đạt xấp xỉ $11\text{ kg}\cdot\text{cm}$, hoàn toàn đáp ứng mô-men xoắn tổng yêu cầu $M_{\text{total}} \ge 20.45\text{ kg}\cdot\text{cm}$.


Methodology

Quy trình phát triển tuân thủ mô hình chữ V (V-Model) kết hợp kiểm thử lặp nhanh:

[1. Yêu cầu & Khảo sát] ───────────────> [8. Đánh giá lâm sàng trên người dùng]
       │                                                      ▲
       ▼                                                      │
[2. Thiết kế Cơ - Điện] ──────────────> [7. Kiểm thử tải trọng & Độ bền]
       │                                                      ▲
       ▼                                                      │
[3. Mô phỏng Matlab & CAD] ───────────> [6. Tích hợp Module & Căn chỉnh ngưỡng]
       │                                                      ▲
       └───────────> [4. In 3D & Lập trình] ──────────────────┘

Kế hoạch tiến độ thực hiện:

  • Giai đoạn 1 (Tuần 1 - 3): Khảo sát cấu trúc giải phẫu bàn tay người, xác định vị trí các bó cơ phát tín hiệu sEMG tốt nhất (cơ bắp tay trước Biceps Brachii và cơ Delta/Cầu vai).
  • Giai đoạn 2 (Tuần 4 - 6): Thiết kế mô hình CAD 3D phần bàn tay và vỏ cánh tay trên nền tảng nguồn mở của Ryan Gross, phân tích không gian lắp ráp động cơ và pin.
  • Giai đoạn 3 (Tuần 7 - 10): Thiết lập mạch thu nhận tín hiệu, đo lường dạng sóng sEMG thực nghiệm trên phần mềm Serial Plotter và mô phỏng hàm truyền bộ lọc số trên MATLAB.
  • Giai đoạn 4 (Tuần 11 - 13): Thi công in 3D FDM vật liệu PLA, lắp ráp cơ cấu gân kéo, hoàn thiện mạch mở rộng Arduino Nano Shield I/O.
  • Giai đoạn 5 (Tuần 14 - 16): Thử nghiệm thực tế trên nhiều đối tượng nam/nữ, tối ưu hóa thuật toán định ngưỡng và đánh giá độ bền cơ học.

Ma trận quản lý rủi ro kỹ thuật:

  • Rủi ro trôi mức nền sEMG do mồ hôi: Khắc phục bằng quy trình vệ sinh da bằng cồn $70^\circ$ và sử dụng điện cực Ag-AgCl chuyên dụng có lớp gel dẫn điện ổn định.
  • Rủi ro kích hoạt nhầm khi vung tay: Khắc phục bằng cơ chế điều khiển kênh đôi (Dual-channel State Gating). Cảm biến tại cầu vai đóng vai trò khóa an toàn (Interlock switch), chỉ khi gồng cơ vai để mở chốt thì tín hiệu co cơ bắp tay mới được phép điều khiển servo đóng/mở bàn tay.

Implementation và kết quả

Development process

Thiết kế bộ lọc số thông thấp IIR

Do tín hiệu sEMG sau mạch tiền khuếch đại tương tự vẫn còn chứa nhiều thành phần gai nhiễu biên độ cao do rung giật cơ vô thức, một bộ lọc thông thấp số bậc 1 liên tục được thiết kế trong miền Laplace:

$$H(s) = \frac{\omega_c}{s + \omega_c} = \frac{2\pi f_c}{s + 2\pi f_c}$$

Với tần số cắt được chọn qua thực nghiệm $f_c = 1.9\text{ Hz}$, ta có $\omega_c = 2 \times \pi \times 1.9 \approx 11.938\text{ rad/s}$.

Sử dụng phương pháp chuyển đổi liên tục sang rời rạc (Bilinear / Zero-Order Hold) trong MATLAB với chu kỳ trích mẫu $T_s = 0.01\text{ s}$ ($10\text{ ms}$ tương ứng tần số lấy mẫu $100\text{ Hz}$):

% Script thiết kế bộ lọc trên MATLAB R2020a
fc = 1.9;                          % Tần số cắt (Hz)
Ts = 0.01;                         % Chu kỳ lấy mẫu 10ms
H = tf(2*pi*fc, [1, 2*pi*fc]);     % Hàm truyền liên tục H(s)
Hd = c2d(H, Ts);                   % Chuyển sang hàm truyền rời rạc H(z)

Kết quả tính toán hàm truyền rời rạc trên miền $Z$:

$$H(z) = \frac{Y(z)}{X(z)} = \frac{0.1068 \cdot z^{-1}}{1 - 0.8932 \cdot z^{-1}}$$

Quy đổi sang phương trình sai phân thời gian thực thi thi trên vi điều khiển Arduino:

$$y[n] = 0.1068 \cdot x[n-1] + 0.8932 \cdot y[n-1]$$

Trong đó:

  • $x[n-1]$: Giá trị điện áp thô đọc từ bộ chuyển đổi ADC tại chu kỳ trước.
  • $y[n-1]$: Giá trị điện áp đã lọc ở chu kỳ liền trước.
  • $y[n]$: Giá trị đường bao tín hiệu điện cơ sau lọc dùng để so sánh ngưỡng.

Thuật toán nhúng điều khiển hệ thống (C++ trên Arduino Nano)

#include <Servo.h>

// Định nghĩa các chân I/O
const int PIN_EMG_CONTROL = A0;  // Cảm biến MyoWare (Bắp tay)
const int PIN_EMG_GATE    = A1;  // Cảm biến Muscle Sensor v3 (Vai)
const int PIN_SERVO_1     = 7;   // Servo ngón trỏ, giữa
const int PIN_SERVO_2     = 8;   // Servo ngón áp út, út, cái
const int PIN_LED_PWR     = 2;   // LED báo nguồn
const int PIN_LED_ACTIVE  = 3;   // LED báo trạng thái kích hoạt

Servo servoHand1, servoHand2;

// Các biến trạng thái bộ lọc số IIR (fc = 1.9 Hz, Ts = 10ms)
float y_prev_ctrl = 0.0;
float x_prev_ctrl = 0.0;

// Ngưỡng điện áp kích hoạt (ADC 10-bit: 0 - 1023 tương ứng 0 - 5V)
const float THRESHOLD_GATE = 450.0;   // Ngưỡng chốt an toàn cơ vai
const float THRESHOLD_CTRL = 520.0;   // Ngưỡng co cơ bắp tay để đóng bàn tay

bool systemArmed = false;
bool handClosed  = false;
unsigned long lastSampleTime = 0;
const unsigned long SAMPLE_INTERVAL_MS = 10; // 100 Hz

void setup() {
  pinMode(PIN_LED_PWR, OUTPUT);
  pinMode(PIN_LED_ACTIVE, OUTPUT);
  digitalWrite(PIN_LED_PWR, HIGH); // Báo nguồn sẵn sàng
  
  servoHand1.attach(PIN_SERVO_1);
  servoHand2.attach(PIN_SERVO_2);
  
  // Trạng thái mở tay ban đầu (Xung 0.6ms tương ứng 0 độ)
  servoHand1.write(0);
  servoHand2.write(0);
}

void loop() {
  unsigned long currentTime = millis();
  
  if (currentTime - lastSampleTime >= SAMPLE_INTERVAL_MS) {
    lastSampleTime = currentTime;
    
    // 1. Đọc tín hiệu thô từ ADC
    int rawGateVal = analogRead(PIN_EMG_GATE);
    int rawCtrlVal = analogRead(PIN_EMG_CONTROL);
    
    // 2. Thực thi bộ lọc số IIR cho kênh điều khiển
    float y_ctrl = 0.1068 * x_prev_ctrl + 0.8932 * y_prev_ctrl;
    x_prev_ctrl = (float)rawCtrlVal;
    y_prev_ctrl = y_ctrl;
    
    // 3. Xử lý logic chốt an toàn từ kênh vai (Gating)
    if (rawGateVal > THRESHOLD_GATE) {
      systemArmed = !systemArmed; // Đảo trạng thái cho phép/khóa điều khiển
      digitalWrite(PIN_LED_ACTIVE, systemArmed ? HIGH : LOW);
      delay(300); // Debounce chống kích hoạt dội
    }
    
    // 4. Điều khiển cơ cấu chấp hành khi chốt an toàn mở
    if (systemArmed) {
      if (y_ctrl > THRESHOLD_CTRL && !handClosed) {
        // Đóng bàn tay: Kéo góc 90 độ (độ rộng xung ~1.45ms)
        servoHand1.write(90);
        servoHand2.write(90);
        handClosed = true;
      } 
      else if (y_ctrl <= (THRESHOLD_CTRL * 0.7) && handClosed) {
        // Mở bàn tay khi thả lỏng cơ (Áp dụng Hysteresis chống rung servo)
        servoHand1.write(0);
        servoHand2.write(0);
        handClosed = false;
      }
    }
  }
}

Testing và validation

Quy trình xác định ngưỡng điện áp được thu thập trên các nhóm tình nguyện viên (nam và nữ) với giao thức: Gồng cơ tối đa trong $2\text{ s}$, nghỉ $4\text{ s}$, lặp lại 4 chu kỳ liên tục.

$$\text{Ngưỡng đóng/mở } V_{\text{threshold}} = \frac{\overline{V}{\text{active}} + \overline{V}{\text{rest}}}{2}$$

Trong đó $\overline{V}{\text{active}}$ là trung bình mức điện áp khi co cơ chủ động, $\overline{V}{\text{rest}}$ là trung bình điện áp nhiễu nền khi thả lỏng cơ.

Kết quả kiểm thử độ chính xác nhận diện tín hiệu kích hoạt:

  • Nhóm Nam (Khối cơ phát triển tốt): Biên độ sEMG bắp tay đạt $3.2\text{V} - 4.5\text{V}$, tỷ lệ nhận diện đóng mở đúng đạt $98.4%$ trên 100 lần thử nghiệm.
  • Nhóm Nữ (Biên độ tín hiệu cơ thấp hơn): Biên độ sEMG bắp tay đạt $1.8\text{V} - 2.6\text{V}$. Sau khi áp dụng bộ lọc số IIR và hiệu chuẩn lại ngưỡng phân loại, độ chính xác đạt $94.2%$.

Kết quả thử nghiệm thực tế khả năng mang tải và giữ vật thể:

Loại vật thể Kích thước / Hình dạng Khối lượng thử nghiệm Thời gian giữ ổn định Kết quả đánh giá
Chai nước suối Trụ tròn, đường kính $65\text{ mm}$ 500g Giữ liên tục $> 5\text{ phút}$ Không trượt nhờ đệm cao su silicon
Quả tạ tay kim loại Khối trụ đặc có tay cầm 1.000g (1.0 kg) Giữ liên tục 3 phút Khớp ngón ôm chắc, servo không phát tiếng rít quá tải
Túi xách hàng ngày Dạng quai xách tập trung lực 3.000g (3.0 kg) Xách thẳng đứng 2 phút Kết cấu ngón tay và dây kéo chịu lực tốt, không biến dạng PLA

Kết quả đạt được

Hệ thống hoàn chỉnh đã đạt được đầy đủ các chỉ tiêu kỹ thuật đã đăng ký:

  • Hoàn thiện mô hình cánh tay: Chiều dài tổng thể $30\text{ cm}$, trọng lượng $580\text{ g}$ (bao gồm cả pin và động cơ servo), in hoàn toàn bằng nhựa PLA với độ phân giải lớp in $0.2\text{ mm}$, độ điền đầy (Infill) $40%$ đảm bảo độ cứng vững cơ học.
  • Hiệu quả xử lý tín hiệu: Bộ lọc số IIR giảm thiểu hơn $85%$ các gợn sóng nhiễu tần số cao, thời gian đáp ứng từ lúc co cơ đến khi servo quay đạt dưới $120\text{ ms}$.
  • Tính năng an toàn vượt trội: Kênh Gating từ cơ vai loại bỏ triệt để hiện tượng vô tình làm rơi đồ vật khi người sử dụng vận động di chuyển cánh tay.

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

  1. Cơ chế khóa an toàn kênh đôi (Dual-Channel Gating Mechanism): Khắc phục nhược điểm cố hữu của các dòng tay giả 1 kênh sEMG đơn giản (thường tự động bung mở khi người dùng vô tình vung tay hoặc căng cơ ngực). Việc kết hợp cảm biến Muscle Sensor v3 ở vai làm công tắc logic nhị phân và MyoWare ở bắp tay làm bộ điều biến liên tục giúp người dùng kiểm soát thao tác chắc chắn $100%$.

  2. Thuật toán lọc số IIR trực tiếp trên vi điều khiển 8-bit: Thay vì phải sử dụng các bộ vi xử lý nhúng đắt tiền hoặc máy tính nhúng Raspberry Pi tiêu tốn nhiều điện năng, giải pháp tối ưu hóa phương trình sai phân giúp vi điều khiển ATmega328P giá rẻ thực hiện lọc số thời gian thực với tải CPU dưới $15%$, tiết kiệm tối đa năng lượng vận hành.

  3. Cơ cấu phân phối lực ngón tay tối ưu hóa chi phí: Bằng cách ứng dụng nguyên lý cân bằng mô-men đòn bẩy và hệ dây kéo đàn hồi đối kháng, hệ thống chỉ cần 02 động cơ Servo MG996R phổ thông để sinh ra lực nâng tải tĩnh lên tới $3.0\text{ kg}$, giúp giảm giá thành sản xuất xuống dưới $80\text{ USD}$ (so với hàng chục nghìn USD của các sản phẩm nhập ngoại).


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

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

  • Sinh hoạt cá nhân: Hỗ trợ người dùng tự cầm cốc uống nước, cầm nắm thìa/muỗng ăn cơm, xách túi đồ dùng cá nhân có trọng lượng dưới 3 kg.
  • Hỗ trợ công việc văn phòng: Giữ cố định tập tài liệu trên bàn, mở cửa phòng gạt tay nắm, hỗ trợ tì đè khi ghi chép.

Hướng dẫn vận hành và hiệu chuẩn 3 bước

  1. Chuẩn bị tiếp xúc: Lau sạch bề mặt da vùng cơ bắp tay và cầu vai bằng cồn y tế để giảm trở kháng biểu bì. Dán 02 điện cực Ag-AgCl bắp tay dọc theo chiều thớ cơ, điện cực tham chiếu (GND) dán vào vùng xương khuỷu tay không có hoạt động cơ.
  2. Khởi động và căn chỉnh ngưỡng: Bật công tắc nguồn 6V. Quan sát Serial Plotter trong 6 giây đầu tiên: gồng cơ tối đa trong 2 giây để mạch ghi nhận ngưỡng biên độ $\overline{V}{\text{active}}$, sau đó thả lỏng trong 4 giây để chốt $\overline{V}{\text{rest}}$.
  3. Sử dụng: Gồng nhẹ cơ vai để mở chốt điều khiển (LED xanh sáng); gồng cơ bắp tay để các ngón tay gập lại cầm nắm vật; thả lỏng cơ bắp tay để giữ nguyên vị trí hoặc gồng cơ vai lần 2 để ngắt lệnh an toàn.

Phân tích chi phí BOM (Bill of Materials)

Thành phần linh kiện Số lượng Đơn giá ước tính (VNĐ) Thành tiền (VNĐ)
Board vi điều khiển Arduino Nano V3 01 75.000 75.000
Cảm biến MyoWare Muscle Sensor 01 650.000 650.000
Cảm biến cơ Muscle Sensor v3 01 350.000 350.000
Động cơ Servo TowerPro MG996R 02 120.000 240.000
Cuộn nhựa in 3D PLA (tiêu hao ~400g) 01 220.000/kg 90.000
Khối pin sạc Ni-MH 6V 2800mAh + Pin 9V 01 bộ 180.000 180.000
Phụ kiện (Shield I/O, bu-lông M4, dây kéo, đệm cao su) 01 bộ 120.000 120.000
TỔNG CHI PHÍ PHẦN CỨNG 1.705.000 VNĐ (~ 70 USD)

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

Hạn chế kỹ thuật

  • Bậc tự do (DOF) hạn chế: 5 ngón tay hiện vận động đồng thời theo 1 bậc tự do chung, chưa thể cử động riêng rẽ từng ngón (ví dụ: chưa thể làm động tác chỉ ngón trỏ hoặc gõ phím).
  • Phụ thuộc điện cực dán có gel: Điện cực Ag-AgCl dùng một lần gây bất tiện khi thay thế định kỳ và có thể gây kích ứng da nếu dán liên tục trên 24 giờ.
  • Chưa có phản hồi xúc giác: Người dùng phải quan sát bằng mắt để biết mức độ bám dính của vật thể, chưa cảm nhận được độ cứng hoặc nguy cơ trượt rơi.

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

  • Ứng dụng Trí tuệ nhân tạo biên (Edge AI / TinyML): Nâng cấp vi điều khiển lên ESP32 hoặc STM32 để triển khai mạng nơ-ron tích chập 1D (1D-CNN) nhận dạng 6 - 8 cử chỉ bàn tay từ mảng 4 kênh điện cực sEMG.
  • Điện cực khô bằng vải dẫn điện / Kim loại mạ vàng: Tích hợp trực tiếp điện cực khô không dùng gel vào socket lồng cánh tay, giúp người dùng đeo vào là sử dụng ngay.
  • Hệ thống cảm biến xúc giác phản hồi lực: Bổ sung cảm biến áp lực FSR ở 5 đầu ngón tay kết hợp bộ rung phản hồi xúc giác (Haptic vibration motor) gắn tại mỏm cụt của bệnh nhân.

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

  • Người khuyết tật chi trên: Tiếp cận giải pháp chi giả chủ động với mức chi phí chỉ bằng $1/50$ so với các sản phẩm thương mại, phục hồi khả năng tự chủ trong sinh hoạt cơ bản.
  • Sinh viên ngành Kỹ thuật Y sinh và Cơ điện tử: Cung cấp tài liệu tham khảo chi tiết từ thiết kế giải phẫu cơ khí, tiền xử lý tín hiệu điện sinh học cho đến lọc số trên hệ thống nhúng.
  • Kỹ sư phát triển thiết bị y tế: Tham khảo kiến trúc kết hợp cảm biến kênh đôi an toàn và mô hình tính toán động lực học cho các cơ cấu truyền động bằng dây gân.
  • Cộng đồng nguồn mở: Đóng góp mã nguồn xử lý tín hiệu và các tinh chỉnh cơ khí giúp thúc đẩy các dự án nhân đạo phi lợi nhuận vì cộng đồng.

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

1. Yêu cầu kỹ thuật để triển khai và lắp đặt hệ thống lên người bệnh là gì?

Bệnh nhân cần còn các khối cơ cử động chủ ý (như cơ bắp tay, cơ tam đầu hoặc cơ cầu vai) có khả năng sinh điện thế tối thiểu $1.5\text{V}$ (sau khi qua tiền khuếch đại của cảm biến). Socket lồng cánh tay cần được đúc hoặc quét 3D cá nhân hóa để ôm khít mỏm cụt của từng người.

2. Giới hạn mở rộng và khả năng nâng cấp hệ thống như thế nào?

Vi điều khiển Arduino Nano có 8 kênh ADC; hiện hệ thống mới sử dụng 2 kênh (A0, A1). Hoàn toàn có thể mở rộng thêm 4 cảm biến EMG nữa để điều khiển độc lập 5 động cơ servo micro (như MG90S) cho từng ngón tay riêng biệt mà không cần thay đổi kiến trúc xử lý trung tâm.

3. Hệ thống có thể tích hợp với các bộ phận giả thẩm mỹ bằng Silicone không?

Có. Toàn bộ khung in 3D PLA được thiết kế theo tỷ lệ chuẩn của bàn tay người lớn (chiều dài bàn tay $9\text{ cm}$, rộng $8\text{ cm}$, dày $3.5\text{ cm}$), cho phép trùm trực tiếp găng tay thẩm mỹ silicone y tế bên ngoài để tăng tính tự nhiên khi giao tiếp xã hội.

4. Nhu cầu bảo trì và tuổi thọ linh kiện ra sao?

  • Dây kéo gân: Cần kiểm tra độ dão và thay mới định kỳ sau 6 tháng sử dụng liên tục.
  • Bộ đệm cao su silicon: Vệ sinh bằng nước ấm định kỳ hàng tuần để duy trì độ ma sát.
  • Pin sạc Ni-MH: Đạt chu kỳ nạp xả khoảng $500 - 800\text{ lần}$, thời lượng vận hành liên tục cho mỗi lần sạc đạt khoảng $3 - 4\text{ giờ}$ hoạt động cường độ cao.

5. Chi phí đầu tư ban đầu và thời gian hoàn vốn (ROI)?

Với tổng chi phí linh kiện dưới 1.800.000 VNĐ, giải pháp mang lại giá trị nhân văn và kinh tế vượt trội, giúp người khuyết tật nhanh chóng tái hòa nhập lao động sản xuất, tiết kiệm hàng trăm triệu đồng chi phí mua sắm và bảo dưỡng chi giả ngoại nhập.


Kết luận

Đề tài "Thiết kế và thi công cánh tay giả hỗ trợ cho người khuyết tật sử dụng tín hiệu EMG" đã chứng minh tính khả thi xuất sắc trong việc nội địa hóa công nghệ chế tạo chi giả sinh học chi phí thấp. Bằng việc kết hợp hài hòa giữa xử lý tín hiệu số y sinh (Digital Signal Processing), thuật toán nhúng IIR tối ưu và công nghệ in 3D FDM, dự án đã tạo ra một sản phẩm cánh tay robot có khả năng vận động chuẩn xác, mang tải vật thể lên đến $3.0\text{ kg}$ với độ bền cơ học cao. Đây là bước đệm vững chắc hướng tới việc phát triển các thiết bị trợ vận động sinh học thông minh, mở ra cơ hội tiếp cận công nghệ phục hồi chức năng tiên tiến cho người khuyết tật tại Việt Nam.