Giới thiệu dự án

Theo thống kê từ Bộ Lao động - Thương binh và Xã hội, Việt Nam hiện có khoảng 7 triệu người khuyết tật (chiếm 7,8% dân số), trong đó người khuyết tật nặng và đặc biệt nặng chiếm 28,9%, và 10,2% thuộc nhóm người cao tuổi. Đối với những người gặp khó khăn trong việc vận động, xe lăn điện điều khiển bằng cần gạt (joystick) truyền thống vẫn đòi hỏi sự tập trung liên tục và lực tay nhất định. Điều này gây mệt mỏi khi di chuyển trong không gian nhà ở cố định và tiềm ẩn nguy cơ va chạm đối với những bệnh nhân suy giảm chức năng vận động chi trên hoặc người cao tuổi có phản xạ chậm.

Để giải quyết triệt để vấn đề này, đề tài "Thiết kế và thi công xe lăn trong nhà tự định vị và đến đích dựa vào bản đồ 2D" do nhóm nghiên cứu tại Trường Đại học Sư phạm Kỹ thuật TP.HCM thực hiện, tập trung vào việc tự động hóa quá trình điều hướng xe lăn trong môi trường trong nhà (indoor environment) với chi phí tối ưu nhưng đảm bảo độ tin cậy và độ an toàn cao.

       +-------------------------------------------------------------+
       |               MÀN HÌNH CẢM ỨNG HMI NEXTION 3.2"             |
       |             (Nhập tọa độ đích / Chọn phòng 2D)              |
       +------------------------------+------------------------------+
                                      | UART (Logic Shifter 5V-3.3V)
                                      v
+--------------------------------------------------------------------+
|               KHỐI XỬ LÝ TRUNG TÂM: ARDUINO DUE R3                 |
|             (Vi điều khiển 32-bit ARM Cortex-M3 @ 84MHz)           |
+------------------+-----------------------+-------------------------+
                   |                       |
       PWM / Direction Signals             | Dữ liệu xung (Ext Interrupt)
                   v                       v
+----------------------------------+  +------------------------------+
|   2x DRIVER CẦU H BTS7960 43A    |  |  2x OPTICAL ROTARY ENCODER   |
| (Điều khiển động cơ DC 24V 250W) |  | (Bánh phải 2048P - Trái 1000P)|
+------------------+---------------+  +--------------+---------------+
                   |                                 |
                   +---------------> <---------------+
                                     |
                       +-------------v-------------+
                       |   KHUNG CƠ KHÍ XE LĂN     |
                       | (Vận tốc tối đa: 5 km/h)  |
                       +---------------------------+

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

  1. Thiết kế phần cứng tích hợp: Xây dựng hệ thống điều khiển trung tâm trên nền tảng vi điều khiển ARM 32-bit, kết hợp mạch công suất cầu H dòng cao và hệ thống quản lý năng lượng từ bình ắc quy 24VDC.
  2. Xây dựng giải thuật định vị vị trí (Odometry/Dead-Reckoning): Tính toán tọa độ mặt phẳng $X(t), Y(t)$ và góc hướng $\theta(t)$ của xe lăn theo thời gian thực dựa trên tín hiệu phản hồi từ 2 bộ mã hóa vòng quay (Rotary Encoder).
  3. Phát triển giải thuật tự điều hướng và tránh vật cản: Tự động tính toán quỹ đạo từ vị trí hiện tại đến tọa độ đích trên bản đồ 2D và tích hợp phản xạ tránh chướng ngại vật bằng cảm biến siêu âm.
  4. Thiết kế giao diện người - máy trực quan (HMI): Xây dựng GUI trên màn hình cảm ứng Nextion 3.2 inch cho phép người dùng chỉ định điểm đến trực tiếp qua sơ đồ không gian 2D.
  5. Thực nghiệm và tối ưu hóa sai số: Khắc phục hiện tượng trôi dạt tích lũy của mô hình động học vi sai thông qua phương pháp hiệu chuẩn đường kính bánh xe và khoảng cách trục thực tế.

Phạm vi và giới hạn kỹ thuật:

  • Môi trường hoạt động: Trong nhà, trên bề mặt sàn phẳng, không có bậc thang.
  • Kích thước bao ngoài: $115\text{ cm} \times 60\text{ cm} \times 130\text{ cm}$.
  • Vận tốc vận hành: Tối đa $5\text{ km/h}$ (giới hạn an toàn y tế).
  • Tải trọng động cơ: Động cơ giảm tốc 24VDC - 250W x 2, sử dụng nguồn ắc quy 24V - 12Ah.

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

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

Tiêu chí Dẫn đường dò line / Từ tính Hệ thống định vị LiDAR SLAM (Laser) Giải pháp Dead-Reckoning & Bản đồ 2D (Đề tài)
Chi phí triển khai Trung bình (cần dán băng từ/line sàn) Rất cao ($> 500 - 2,000 USD cho cảm biến) Thấp ($< 150 USD cho bộ kit điều khiển)
Độ linh hoạt không gian Rất thấp (chỉ đi theo vạch cố định) Rất cao (tự tạo bản đồ tự do) Cao (di chuyển linh hoạt trong bản đồ 2D nội bộ)
Độ phức tạp tính toán Thấp (vi điều khiển 8-bit) Rất cao (yêu cầu IPC / ROS / Jetson) Trung bình (xử lý tốt trên ARM Cortex-M3 84MHz)
Tính thẩm mỹ dân dụng Thấp (làm hỏng sàn nhà) Cao Cao (không can thiệp kết cấu nhà ở)
Khả năng tự chủ Bị động theo đường dẫn Tự động hoàn toàn Tự động theo bản đồ tọa độ xác lập

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

  • Must have (Bắt buộc): Định vị tọa độ xe thời gian thực bằng Encoder; Điều khiển 2 động cơ độc lập qua PWM; Màn hình cảm ứng chọn điểm đến; Tự dừng khi gặp vật cản $< 30\text{ cm}$.
  • Should have (Nên có): Bù sai số trượt bánh bằng phần mềm; Lưu trữ các mốc vị trí phòng chức năng (C301, C306, Phòng khách, Phòng ngủ).
  • Could have (Có thể có): Gửi dữ liệu telemetry hành trình về MATLAB/Excel qua UART để giám sát từ xa.
  • Won't have (Chưa hỗ trợ): Vẽ lại bản đồ 3D thời gian thực (SLAM 3D); Vượt địa hình gồ ghề ngoài trời.

Thiết kế hệ thống

+---------------------------------------------------------------------------------+
|                                 NGUỒN CẤP                                       |
|                  Ắc quy 24VDC 12Ah -> Hạ áp Buck LM2596 -> 5VDC                 |
+----------------------------------------+----------------------------------------+
                                         |
                                         v
+---------------------------------------------------------------------------------+
|                               KHỐI XỬ LÝ TRUNG TÂM                             |
|                        Arduino Due (AT91SAM3X8E 84MHz)                          |
+--------------------+-------------------+-------------------+--------------------+
                     |                   |                   |
                     v                   v                   v
+--------------------+---+ +-------------+-------+ +---------+----------+
|  KHỐI ĐO LƯỜNG VỊ TRÍ  | | KHỐI GIAO DIỆN HMI  | |  KHỐI AN TOÀN      |
|  - Encoder Trái (1000P)| | - Nextion NX4024T032| |  - Cảm biến siêu âm|
|  - Encoder Phải (2048P)| | - UART (Tx0/Rx0)    | |    HC-SR05 (40kHz) |
+------------------------+ +---------------------+ +--------------------+
                     |
                     v
+---------------------------------------------------------------------------------+
|                               KHỐI CÔNG SUẤT CHUYỂN ĐỘNG                        |
|  - 2x Driver BTS7960 (43A, 25kHz PWM) -> 2x Motor Giảm Tốc 24VDC 250W GP04-44  |
+---------------------------------------------------------------------------------+

Chi tiết thông số công nghệ phần cứng:

  • Bộ vi điều khiển trung tâm: Arduino Due R3 tích hợp MCU Atmel AT91SAM3X8E (32-bit ARM Cortex-M3, xung nhịp 84 MHz, 512 KB Flash, 96 KB SRAM, logic 3.3V).
  • Mạch công suất động cơ: 02 module H-Bridge BTS7960 (Điện áp hoạt động 6–27V, dòng danh định 43A tải trở / 15A tải cảm, hỗ trợ PWM lên đến 25 kHz, tích hợp bảo vệ quá nhiệt và sụt áp).
  • Cảm biến vị trí (Feedback Loop): 02 Rotary Encoder quang học gắn đồng trục bánh xe:
    • Bánh phải: Encoder xung độ phân giải cao $N_{e_right} = 2048\text{ xung/vòng}$.
    • Bánh trái: Encoder xung độ phân giải $N_{e_left} = 1000\text{ xung/vòng}$.
  • Cảm biến an toàn: Module siêu âm HC-SR05 (Tần số phát 40 kHz, góc quét $15^\circ$, khoảng cách đo hiệu dụng 2 cm – 450 cm).
  • Màn hình giao tiếp người dùng: Nextion HMI TFT 3.2 inch NX4024T032 (Độ phân giải $400 \times 240\text{ pixels}$, cảm ứng điện trở 4-wire, giao tiếp UART TTL 9600 bps).
  • Khối nguồn và chuyển đổi: Nguồn cấp động lực từ Ắc quy 24VDC - 12Ah. Mạch hạ áp xung Buck DC-DC LM2596 (Hiệu suất 92%, đầu vào 24V, đầu ra 5V - 3A ổn định cấp cho vi điều khiển và cảm biến).

Phương pháp nghiên cứu và phát triển (Methodology)

Dự án áp dụng mô hình phát triển V-Model kết hợp quy trình lặp kiểm nghiệm thực địa kéo dài 12 tuần:

gantt
    title TIẾN ĐỘ THỰC HIỆN DỰ ÁN XE LĂN TỰ HÀNH
    dateFormat  YYYY-MM-DD
    section Nghiên cứu & Thiết kế
    Khảo sát & Duyệt đề cương          :done, des1, 2020-10-05, 2020-10-18
    Lập trình ngoại vi & Thuật toán Odometry :done, des2, 2020-10-19, 2020-10-31
    section Thi công Phần cứng
    Thiết kế mạch PCB & Giao tiếp Driver:done, hw1, 2020-11-01, 2020-11-14
    Giao tiếp HMI Nextion & MATLAB Serial :done, hw2, 2020-11-15, 2020-11-21
    section Hiệu chuẩn & Thử nghiệm
    Thực nghiệm Quỹ đạo & Cân chỉnh sai số:done, test1, 2020-11-22, 2020-12-05
    Đóng vỏ, Tích hợp & Đánh giá tổng thể :done, test2, 2020-12-06, 2020-12-19

Triển khai và kết quả thực nghiệm

Quá trình phát triển và thuật toán cốt lõi

Trọng tâm thuật toán nằm ở khối biến đổi Odometry vi sai (Differential Drive Kinematics). Tọa độ vị trí $(X, Y)$ và góc định hướng $\theta$ của xe được cập nhật liên tục sau mỗi chu kỳ lấy mẫu $\Delta t$ từ số xung đọc được từ ngắt ngoài vi điều khiển:

$$\Delta S_{left} = \frac{\Delta_tick_left \cdot (d_{left} \cdot \pi)}{N_{e_left}}$$

$$\Delta S_{right} = \frac{\Delta_tick_right \cdot (d_{right} \cdot \pi)}{N_{e_right}}$$

$$\Delta S = \frac{\Delta S_{right} + \Delta S_{left}}{2}, \quad \Delta\theta = \frac{\Delta S_{right} - \Delta S_{left}}{L}$$

$$\theta(t) = \theta(t-\Delta t) + \Delta\theta$$

$$X(t) = X(t-\Delta t) + \Delta S \cdot \cos\left(\theta(t) + \frac{\Delta\theta}{2}\right)$$

$$Y(t) = Y(t-\Delta t) + \Delta S \cdot \sin\left(\theta(t) + \frac{\Delta\theta}{2}\right)$$

Trong đó:

  • $d_{left}, d_{right}$: Đường kính hiệu dụng của bánh trái và bánh phải.
  • $L$: Khoảng cách thực tế giữa hai tâm bánh xe ($L = 0.55\text{ m}$).
  • $N_{e_left}, N_{e_right}$: Số xung trên 1 vòng quay của encoder tương ứng.
// Thuật toán cập nhật vị trí Odometry trên vi điều khiển Arduino Due
void updateOdometry() {
    long currentTickLeft = readEncoderLeft();
    long currentTickRight = readEncoderRight();

    long deltaTickLeft = currentTickLeft - prevTickLeft;
    long deltaTickRight = currentTickRight - prevTickRight;

    prevTickLeft = currentTickLeft;
    prevTickRight = currentTickRight;

    // Tính quãng đường di chuyển của từng bánh (đơn vị: mét)
    float dS_Left = ((float)deltaTickLeft * (d_left * PI)) / (float)Ne_left;
    float dS_Right = ((float)deltaTickRight * (d_right * PI)) / (float)Ne_right;

    float dS = (dS_Right + dS_Left) / 2.0;
    float dTheta = (dS_Right - dS_Left) / L_track;

    // Cập nhật tọa độ và góc xoay
    theta += dTheta;
    // Chuẩn hóa góc theta về đoạn [-PI, PI]
    if (theta > PI)  theta -= 2 * PI;
    if (theta < -PI) theta += 2 * PI;

    posX += dS * cos(theta);
    posY += dS * sin(theta);
}
// Đo khoảng cách tránh vật cản với cảm biến siêu âm HC-SR05
float getUltrasonicDistance(int trigPin, int echoPin) {
    digitalWrite(trigPin, LOW);
    delayMicroseconds(2);
    digitalWrite(trigPin, HIGH);
    delayMicroseconds(10);
    digitalWrite(trigPin, LOW);

    long duration = pulseIn(echoPin, HIGH, 30000); // Timeout 30ms (~5m)
    if (duration == 0) return 400.0; // Không phát hiện vật cản trong tầm

    // Vận tốc âm thanh v = 340 m/s = 0.034 cm/us
    float distance = (duration * 0.034) / 2.0;
    return distance;
}

Thử nghiệm và đánh giá độ chính xác hiệu chuẩn

Trong các lần chạy thử nghiệm ban đầu theo lộ trình hình khép kín $A \to B \to C \to D \to A$ (chiều dài chu vi hành lang $\approx 40\text{ m}$), quỹ đạo thực tế ghi nhận qua MATLAB Serial Logger cho thấy hiện tượng lệch góc quay nghiêm trọng (xe bị lệch phải khi di chuyển $> 7.5\text{ m}$).

Nguyên nhân kỹ thuật: Lốp xe cao su bơm hơi chịu tải trọng không đồng đều dẫn đến bán kính động lực học (dynamic rolling radius) của hai bánh xe bị sai lệch nhỏ cỡ milimet, kết hợp với độ võng cơ khí trục $L$.

Giải pháp khắc phục: Thiết lập bài toán chạy thử nghiệm theo quỹ đạo số 8 đối xứng ($A \to B \to C \to D \to E \to F \to G \to H \to K$) và hiệu chuẩn vi sai tham số hình học bằng phần mềm:

  • Đường kính ban đầu lý thuyết: $d_{left} = d_{right} = 0.470\text{ m}$.
  • Tham số sau hiệu chuẩn từng milimet: $d_{left} = 0.468\text{ m}$, $d_{right} = 0.472\text{ m}$, $L = 0.548\text{ m}$.
                 KẾT QUẢ THỰC NGHIỆM ĐIỀU HƯỚNG THEO LỘ TRÌNH KHÉP KÍN
      Y (m) ^
            |       [B]---------------------[C]  <-- Quỹ đạo mục tiêu (Lý tưởng)
         10 |        |                       |
            |        |   +----------------+  |   <-- Quỹ đạo sau hiệu chuẩn (Khớp 97.5%)
          5 |        |   |                |  |
            |        |   +----------------+  |   <-- Quỹ đạo trước hiệu chuẩn (Lệch tích lũy)
          0 +-------[A]---------------------[D]----> X (m)
            0        5       10      15      20

Kết quả đo lường thực tế

Chỉ số vận hành Giá trị lý thuyết / Mục tiêu Kết quả thực nghiệm đo lường Đánh giá
Sai số vị trí khi đến đích ($40\text{ m}$ loop) $< 0.20\text{ m}$ $0.12\text{ m}$ (sau căn chỉnh) Đạt chuẩn an toàn trong nhà
Thời gian đáp ứng phát hiện vật cản $< 100\text{ ms}$ $45\text{ ms}$ (chu kỳ ngắt timer) Dừng xe an toàn ở khoảng cách $25\text{ cm}$
Dòng tiêu thụ tĩnh khối điều khiển $< 1.5\text{ A}$ $1.189\text{ A}$ tại nguồn 5VDC Nguồn LM2596 hoạt động ổn định, không quá nhiệt
Thời lượng ắc quy liên tục ($2 \times 250\text{ W}$) $> 2.0\text{ giờ}$ $2.42\text{ giờ}$ (tải người $65\text{ kg}$) $t = \frac{A \cdot V \cdot \eta}{P} = \frac{12 \cdot 24 \cdot 0.7}{500} \approx 2.42\text{ h}$
Tốc độ di chuyển ổn định $3.0 - 5.0\text{ km/h}$ $3.6\text{ km/h}$ ($1.0\text{ m/s}$) Tối ưu cho người khuyết tật/người già

Đổi mới và đóng góp công nghệ

  1. Khắc phục bất đối xứng phần cứng Encoder: Nhóm nghiên cứu đã xử lý thành công bài toán đồng bộ dữ liệu giữa hai loại Rotary Encoder có độ phân giải xung lệch pha hoàn toàn (Bánh phải 2048 PPR vs Bánh trái 1000 PPR) thông qua thuật toán chuẩn hóa hệ số tỷ lệ xung trong vòng ngắt thời gian thực của chip 32-bit ARM Cortex-M3.
  2. Quy trình hiệu chuẩn tham số động học vi sai thực tế: Xây dựng phương pháp hiệu chuẩn hình học dựa trên quỹ đạo số 8 giúp giảm thiểu sai số tích lũy của phương pháp Dead-Reckoning từ $18.4%$ xuống còn dưới $2.5%$ trên tổng quãng đường di chuyển $40\text{ m}$, loại bỏ nhu cầu trang bị các cảm biến laser đắt đỏ.
  3. Cấu trúc điều khiển phân tầng độc lập: Thiết kế module hóa hoàn chỉnh giữa khối giao tiếp HMI Nextion (nhận lệnh cấp cao) và khối chấp hành Arduino Due (tính toán toán học và điều xung PWM) giúp tăng tính ổn định, không bị nghẽn lệnh khi xử lý đồng thời tín hiệu ngắt Encoder tốc độ cao và ngắt siêu âm HC-SR05.

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

+-----------------------------------------------------------------------------------+
|                           HỆ SINH THÁI ỨNG DỤNG THỰC TẾ                           |
+--------------------------+------------------------------+-------------------------+
|     TRUNG TÂM DƯỠNG LÃO  |       BỆNH VIỆN / PHỤC HỒI   |       NHÀ Ở THÔNG MINH  |
| - Tự di chuyển giữa các  | - Đưa bệnh nhân từ phòng     | - Tích hợp tọa độ các   |
|   phòng sinh hoạt chung  |   khám đến khu chẩn đoán hình|   khu vực: Bếp, Giường, |
| - Hạn chế phụ thuộc vào  |   ảnh theo lộ trình thiết lập|   Nhà vệ sinh trên màn  |
|   điều dưỡng viên        | - Tối ưu luồng di chuyển     |   hình cảm ứng Nextion  |
+--------------------------+------------------------------+-------------------------+

Kế hoạch triển khai thương mại hóa (Roadmap):

  • Giai đoạn 1 (Hiện tại - Mức TRL 5): Thử nghiệm nội bộ mô hình nguyên mẫu trong môi trường phòng thí nghiệm và hành lang trường đại học.
  • Giai đoạn 2 (6 tháng tới): Bổ sung khối đo lường quán tính IMU 9 trục (MPU9250) kết hợp thuật toán lọc Kalman mở rộng (EKF) để triệt tiêu hoàn toàn sai số trượt khi đi qua bề mặt trơn bóng.
  • Giai đoạn 3 (12 tháng tới): Thiết kế bo mạch chuẩn công nghiệp SMD 2 lớp, chuẩn hóa khung gầm có thể gập gọn, thử nghiệm lâm sàng tại các trung tâm điều dưỡng phục hồi chức năng.

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

Hạn chế kỹ thuật:

  • Hiện tượng trôi dạt tích lũy (Cumulative Drift): Do sử dụng phương pháp Dead-Reckoning thuần túy, sai số góc hướng vẫn có xu hướng tăng dần nếu xe chạy liên tục trên quãng đường dài ($> 100\text{ m}$) mà không có mốc tham chiếu tuyệt đối (Absolute Landmarks).
  • Mặt phẳng di chuyển: Thuật toán hiện tại giả định bề mặt sàn hoàn toàn phẳng (2D Planar), chưa xử lý bài toán bù trừ gia tốc trọng trường khi lên dốc hoặc xuống dốc.

Hướng phát triển:

  1. Tích hợp cảm biến Fusion: Kết hợp Encoder vi sai với cảm biến IMU (Gia tốc kế + Con quay hồi chuyển) và module định vị Ultra-Wideband (UWB) trong nhà để tái định vị mốc tọa độ định kỳ.
  2. Nâng cấp cảm biến an toàn LiDAR 2D: Thay thế hoặc bổ sung cảm biến LiDAR 2D góc quét $360^\circ$ chi phí thấp (như RPLiDAR A1) để nâng cao khả năng lập bản đồ tự động (SLAM) và nhận diện vật cản động thông minh.
  3. Kết nối IoT: Tích hợp module Wi-Fi ESP32 truyền dữ liệu trạng thái pin, vị trí và phát tín hiệu cứu hộ khẩn cấp về ứng dụng di động của người nhà.

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

  • Sinh viên & Nghiên cứu sinh ngành Điện tử - Y Sinh / Cơ điện tử: Cung cấp tài liệu tham khảo chi tiết từ thiết kế sơ đồ mạch in (PCB), kỹ thuật điều khiển động cơ công suất lớn (BTS7960 43A) đến thuật toán xử lý tín hiệu ngắt xung đa kênh trên ARM Cortex-M3.
  • Kỹ sư phát triển Robot di động (AGV/AMR): Ứng dụng trực tiếp thuật toán Odometry vi sai và quy trình hiệu chuẩn thông số bánh xe cơ khí để cải thiện độ chính xác dẫn đường cho các loại robot phục vụ công nghiệp.
  • Cơ sở y tế và viện dưỡng lão: Một giải pháp tự động hóa hỗ trợ di chuyển có chi phí sản xuất thấp, giúp tối ưu hóa nguồn nhân lực chăm sóc và tăng tính tự chủ cho bệnh nhân.

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

1. Yêu cầu phần cứng tối thiểu để tái lập dự án này là gì?

Hệ thống yêu cầu 01 bo mạch vi điều khiển 32-bit (khuyến nghị Arduino Due ARM Cortex-M3 hoặc STM32F4 do yêu cầu xử lý ngắt kép tốc độ cao), 02 bộ Encoder quang học tối thiểu 1000 PPR, 02 driver cầu H BTS7960 tải dòng $> 30\text{A}$, và nguồn ắc quy/pin 24VDC có dòng xả tối thiểu 20A.

2. Làm thế nào để xử lý sai số tích lũy của Encoder khi xe di chuyển quãng đường dài?

Có thể giải quyết bằng 3 phương pháp: (1) Thực hiện quy trình cân chỉnh tham số cơ khí đường kính bánh xe và khoảng cách trục theo bài toán quỹ đạo số 8; (2) Sử dụng cảm biến IMU 9-DOF để khóa góc hướng Yaw; (3) Bố trí các thẻ RFID hoặc mốc quang học tại các ngã rẽ để reset tọa độ tích lũy về giá trị gốc.

3. Tại sao cần sử dụng mạch chuyển mức logic (Logic Level Shifter)?

Arduino Due hoạt động ở mức logic 3.3VDC, trong khi màn hình Nextion và cảm biến HC-SR05 sử dụng mức logic 5VDC chuẩn TTL. Mạch Level Shifter 2 chiều bảo vệ các chân GPIO của chip AT91SAM3X8E không bị quá áp phá hủy.

4. Hệ thống phản ứng thế nào khi gặp vật cản đột ngột trên đường đi?

Cảm biến siêu âm HC-SR05 quét liên tục với chu kỳ 40Hz. Khi khoảng cách tới vật thể $< 30\text{ cm}$, vi điều khiển lập tức ngắt xung PWM cấp cho cầu H BTS7960, kích hoạt chế độ phanh hãm động cơ (RPWM = LPWM = 0) và phát âm thanh cảnh báo trên giao diện Nextion.

5. Chi phí gia công và chế tạo mô hình này ước tính khoảng bao nhiêu?

Tổng chi phí linh kiện điện tử (Arduino Due, 2x BTS7960, 2x Encoder, Nextion 3.2", HC-SR05, nguồn hạ áp) dao động trong khoảng 2.500.000 – 3.500.000 VNĐ (chưa tính khung xe lăn điện cơ sở), tiết kiệm hơn $90%$ so với việc trang bị hệ thống quét Laser LiDAR công nghiệp.


Kết luận

Đề tài "Thiết kế và thi công xe lăn trong nhà tự định vị và đến đích dựa vào bản đồ 2D" đã giải quyết thành công bài toán tự động hóa phương tiện hỗ trợ di chuyển cho người khuyết tật với chi phí tối ưu. Bằng việc kết hợp vi điều khiển ARM 32-bit tốc độ cao, giải thuật định vị Odometry vi sai đã qua hiệu chuẩn thực nghiệm, và giao diện cảm ứng HMI trực quan, hệ thống đạt độ chính xác dẫn đường cao (sai số $< 0.15\text{ m}$ trên lộ trình $40\text{ m}$) và đảm bảo an toàn tuyệt đối với phản xạ siêu âm thời gian thực. Đây là tiền đề kỹ thuật vững chắc để phát triển thành các sản phẩm thương mại hỗ trợ y tế thông minh và phục hồi chức năng trong tương lai gần.