Giới thiệu dự án

Trong bối cảnh bùng nổ của cuộc Cách mạng Công nghiệp 4.0 và chuyển đổi số trong chuỗi cung ứng logistics toàn cầu, các hệ thống xe tự hành thông minh (Automated Guided Vehicles - AGV) đóng vai trò then chốt trong việc tối ưu hóa năng suất vận hành kho bãi và dây chuyền tự động hóa. Theo báo cáo từ Grand View Research, thị trường AGV toàn cầu dự kiến đạt quy mô hơn 9,3 tỷ USD vào năm 2030 với tốc độ tăng trưởng kép hàng năm (CAGR) là 10,2%. Tuy nhiên, việc vận hành AGV với chi phí thấp nhưng vẫn đảm bảo độ chính xác điều hướng cao trong môi trường công nghiệp là một bài toán kỹ thuật phức tạp.

Vấn đề cốt lõi của các dòng robot tự hành bám quỹ đạo (Line Follower Robot) giá rẻ hiện nay nằm ở hiện tượng dao động trôi dạt (hunting oscillation) quanh vạch chỉ dẫn, trễ phản hồi khi vào cua góc hẹp và mất kiểm soát quỹ đạo khi di chuyển ở vận tốc cao do quán tính cơ khí. Đồ án "Robot dò line ứng dụng bộ điều khiển PID" được thực hiện bởi nhóm sinh viên ngành Robot và Trí tuệ nhân tạo (Trường Đại học Công nghệ TP.HCM - HUTECH) nhằm giải quyết triệt để các hạn chế này thông qua giải pháp tích hợp phần cứng và thuật toán điều khiển chuyên sâu.

+-----------------------------------------------------------------------------+
|                             SƠ ĐỒ HỆ THỐNG AGV TOÀN DIỆN                    |
|                                                                             |
|  [ Nguồn Pin LiPo 3S 11.1V ]                                                |
|            |                                                                |
|            +---> [ Mạch Driver BTS7960 ] ---> [ Động cơ DC GA25-370 (x2) ]  |
|            |              ^                                                 |
|  [ Ổn áp 5V LM2596 ]      | Tín hiệu PWM (D5, D6, D9, D11)                  |
|            |              |                                                 |
|            +---> [ Vi điều khiển ATmega328P ] <--- [ 8 Cảm biến Quang/LED ] |
|                           ^          ^                                      |
|            [ 3 Nút bấm D7, D8, D12 ] [ Còi Buzzer D4 / LED Báo trạng thái ] |
+-----------------------------------------------------------------------------+

Mục tiêu dự án

  1. Nghiên cứu và chế tạo thành công phần cứng robot tự hành tích hợp dàn 8 cảm biến quang trở (LDR) kết hợp LED chiếu sáng hội tụ độ tương phản cao, module cầu H kép BTS7960 43A và cặp động cơ giảm tốc kim loại GA25-370.
  2. Xây dựng giải thuật điều khiển bám đường tối ưu hóa dựa trên bộ điều khiển tỷ lệ - vi phân (PD Controller) kết hợp máy trạng thái hữu hạn (Finite State Machine - FSM) để xử lý mượt mà các trường hợp cua gắt $90^\circ$, giao lộ chữ thập và mất đường dẫn tạm thời.
  3. Lập trình hệ thống nhúng thời gian thực (Real-time Embedded System) trên nền tảng vi điều khiển ATmega328P sử dụng cơ chế ngắt phần cứng Timer 2 định thời chu kỳ lấy mẫu cảm biến chính xác, độc lập với vòng lặp chính.
  4. Hiện thực hóa tính năng tự động hiệu chuẩn độ nhạy cảm biến (Auto-calibration) theo từng môi trường ánh sáng và lưu trữ tham số vào bộ nhớ EEPROM bất biến (Non-volatile Memory).

Giải pháp kỹ thuật và kết quả kỳ vọng

Giải pháp tiếp cận của dự án là số hóa sai số vị trí bằng cách gán trọng số cho từng cảm biến quang, sau đó áp dụng luật điều khiển vi phân để triệt tiêu năng lượng dao động quán tính. Hệ thống hướng đến các chỉ số định lượng cụ thể:

  • Tốc độ xử lý ngắt chu kỳ: Lấy mẫu và tính toán sai số mỗi $2.048\text{ ms}$.
  • Vận tốc di chuyển định mức: Đạt dải điều xung PWM từ $50$ đến $150$ đơn vị (tương đương vận tốc di chuyển tuyến tính $0.6 - 1.2\text{ m/s}$).
  • Khả năng khôi phục line khi chệch khỏi quỹ đạo: Thời gian phản hồi phục hồi dưới $150\text{ ms}$ thông qua thanh ghi nhớ trạng thái biên (RememberLine).

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

Hệ thống được thiết kế để di chuyển trên bề mặt phẳng có độ ma sát đồng đều, bám theo đường line màu đen (kích thước bề rộng từ $18\text{ mm}$ đến $30\text{ mm}$) trên nền trắng có độ phản xạ ánh sáng cao. Đồ án tập trung vào cấu trúc điều khiển vòng hở vận tốc góc thông qua PWM vi sai, chưa tích hợp encoder vòng kín (Closed-loop Encoder Feedback) để giám sát tốc độ tức thời từng bánh xe.


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

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

Trong kỹ thuật điều khiển robot bám đường, các giải pháp hiện hành thường phân chia theo số lượng cảm biến và độ phức tạp của thuật toán điều khiển:

Tiêu chí so sánh Hệ thống On/Off cơ bản (2 Cảm biến) Hệ thống Fuzzy Logic (4-5 Cảm biến) Hệ thống Đề xuất: PID + FSM (8 Cảm biến)
Độ mượt quỹ đạo Kém (Dao động giật cục dạng răng cưa) Khá mượt nhưng phụ thuộc luật mờ Rất mượt, bám sát tâm vạch (Zero steady-state error)
Tốc độ tối đa Thấp ($< 0.3\text{ m/s}$) Trung bình ($0.4 - 0.7\text{ m/s}$) Cao ($> 1.0\text{ m/s}$)
Xử lý góc cua $90^\circ$ Tỷ lệ trượt line $> 40%$ Xử lý được nhưng tốc độ giảm sâu Xử lý chuẩn xác nhờ State Machine lưu vết
Độ thích ứng ánh sáng Rất kém, phụ thuộc biến trở cơ Trung bình, cân chỉnh thủ công Tự động hiệu chuẩn lưu EEPROM thông minh
Tài nguyên vi điều khiển Cực thấp ($< 1\text{ KB}$ Flash) Chiếm nhiều bộ nhớ và thời gian tính toán Tối ưu hóa chu kỳ ngắt thời gian thực

Phân tích yêu cầu hệ thống theo mô hình MoSCoW

  • Must Have (Bắt buộc): Dàn 8 cảm biến analog đọc giá trị liên tục; Driver BTS7960 điều khiển đảo chiều và điều tốc 2 động cơ; Thuật toán PD phản hồi sai số tức thời; Ngắt Timer 2 chống trễ xử lý.
  • Should Have (Nên có): Bộ nhớ EEPROM lưu trữ ngưỡng trắng/đen; 3 mức tốc độ cấu hình nhanh qua nút bấm; Còi Buzzer và LED báo trạng thái lỗi/khởi động.
  • Could Have (Có thể có): Mạch đo dung lượng pin tự động ngắt khi điện áp dưới ngưỡng an toàn ($9.9\text{V}$ cho pin LiPo 3S).
  • Won't Have (Chưa thực hiện): Kết nối không dây truyền telemetry thời gian thực qua Bluetooth/Wi-Fi.

Thiết kế hệ thống

+-----------------------------------------------------------------------------------+
|                            KIẾN TRÚC PHẦN CỨNG CHI TIẾT                           |
|                                                                                   |
|  +--------------------+        +---------------------+        +----------------+  |
|  | Dàn 8 Quang trở    |------->| Arduino Nano V3.0   |------->| Driver BTS7960 |  |
|  | Phân áp Analog A0-7| (ADC)  | (ATmega328P @ 16MHz)| (PWM)  | Kênh Đôi 43A   |  |
|  +--------------------+        +---------------------+        +----------------+  |
|                                      |       |                       |            |
|  +--------------------+              |       |                       v            |
|  | 3 Nút Mode D7,8,12 |--------------+       +------------->  [ 2x Động cơ DC  |  |
|  | Còi Buzzer D4      |                                       |   GA25-370 ]   |  |
|  +--------------------+                                       +----------------+  |
+-----------------------------------------------------------------------------------+

Danh mục công nghệ và linh kiện (Technology Stack)

  • Bộ vi điều khiển: Microchip ATmega328P (8-bit AVR RISC, xung nhịp $16\text{ MHz}$, $32\text{ KB}$ Flash, $2\text{ KB}$ SRAM, $1\text{ KB}$ EEPROM).
  • Mạch công suất (Motor Driver): Infineon BTS7960B Dual H-Bridge (Dòng liên tục $43\text{A}$, điện áp $6 - 27\text{V}$, tần số băm xung PWM tối đa $25\text{ kHz}$).
  • Cơ cấu chấp hành: 2 động cơ DC giảm tốc kim loại GA25-370 (Tỉ số truyền $1:4.4$, tốc độ không tải $1360\text{ RPM}$, momen xoắn $0.5\text{ kg}\cdot\text{cm}$, điện áp định mức $12\text{V}$).
  • Hệ thống cảm biến: Module 8 mắt quang trở phối hợp LED siêu sáng chiếu điểm, phân áp qua điện trở kéo và đưa vào 8 kênh biến đổi tương tự - số (ADC 10-bit).
  • Nguồn cấp: Pin Lithium-Polymer (LiPo) 3S $11.1\text{V} - 2800\text{ mAh}$, dòng xả định mức $30\text{C}$ (Dòng xả tức thời tối đa đạt $84\text{A}$).
  • Bánh xe và khung gầm: Cặp bánh cao su độ bám cao đường kính $\varnothing 68\text{ mm}$, bề rộng $27\text{ mm}$, kết nối qua khớp lục giác đồng $12\text{ mm}$.

Sơ đồ kết nối chân vi điều khiển (Hardware Pinout Mapping)

  • Kênh Analog Cảm biến (ADC): A0 đến A7 kết nối lần lượt từ Sensor 1 (ngoài cùng bên phải) đến Sensor 8 (ngoài cùng bên trái).
  • Điều khiển Động cơ Trái: D11 (Chân nghịch chuyển / PWM lùi), D6 (Chân thuận / PWM tiến).
  • Điều khiển Động cơ Phải: D9 (Chân nghịch chuyển / PWM lùi), D5 (Chân thuận / PWM tiến).
  • Giao tiếp người dùng & Cảnh báo: D7 (Button 1), D8 (Button 2), D12 (Button 3), D4 (Buzzer output).

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 phần mềm - phần cứng đồng thời theo quy trình chữ V (V-Model):

Thiết kế yêu cầu kỹ thuật -------------> Kiểm thử nghiệm thu (Đua sa bàn)
      \                                       /
   Thiết kế mạch nguyên lý & PCB --------> Kiểm thử tích hợp hệ thống
        \                                   /
     Lập trình Driver & Module nhúng --> Kiểm thử đơn vị (ADC/PWM)
          \                               /
           +-----> Hiện thực hóa phần cứng

Đánh giá và giảm thiểu rủi ro kỹ thuật (Risk Assessment)

  • Rủi ro sụt áp vi điều khiển khi động cơ khởi động: Tụ hóa dung lượng $1000\mu\text{F}/25\text{V}$ được mắc song song tại đầu vào nguồn Driver BTS7960, mạch hạ áp logic 5V sử dụng diode Schottky chống dòng ngược.
  • Rủi ro nhiễu quang môi trường ngoài trời: Sử dụng thuật toán Dynamic Calibration, lấy mẫu phổ giá trị cực đại (Black Value) và cực tiểu (White Value) để tính toán ngưỡng động $V_{\text{threshold}} = \frac{V_{\text{black}} + V_{\text{white}}}{2}$.

Implementation và kết quả

Quá trình phát triển và hiện thực hóa giải thuật

Hệ thống mã nguồn được xây dựng tối ưu hóa trên nền tảng ngôn ngữ C/C++ cho hệ thống nhúng AVR. Trọng tâm của giải thuật là việc kết hợp ngắt định thời phần cứng Timer 2 và luật điều khiển vi sai PD.

Cấu hình ngắt định thời phần cứng Timer 2

Để đảm bảo chu kỳ quét cảm biến $T_s$ luôn cố định và không bị ảnh hưởng bởi độ trễ của các lệnh điều kiện trong loop(), thanh ghi Timer 2 được cấu hình như sau:

#include <avr/interrupt.h>

void timer_init() {
    // Cấu hình chế độ hoạt động bình thường (Normal Mode) cho Timer 2
    ASSR = (0 << EXCLK) | (0 << AS2);
    TCCR2A = (0 << COM2A1) | (0 << COM2A0) | (0 << COM2B1) | (0 << COM2B0) 
           | (0 << WGM21) | (0 << WGM20);
    // Hệ số chia tần Prescaler = 1024
    TCCR2B = (0 << WGM22) | (1 << CS22) | (1 << CS21) | (1 << CS20);
    // Nạp giá trị khởi tạo thanh ghi đếm (Tràn sau 78 xung đếm)
    TCNT2 = 0xB2; 
    OCR2A = 0x00;
    OCR2B = 0x00;
    // Bật ngắt tràn Timer 2 (Timer Overflow Interrupt)
    TIMSK2 = (0 << OCIE2B) | (0 << OCIE2A) | (1 << TOIE2);
}

ISR(TIMER2_OVF_vect) {
    TCNT2 = 0xB2;     // Nạp lại giá trị đếm để duy trì tần số ngắt xấp xỉ 488Hz
    read_sensor();    // Đọc và giải mã sai số từ dàn cảm biến
    cnt++;
}

Chu kỳ ngắt được tính toán lý thuyết: $$f_{\text{timer}} = \frac{16\text{ MHz}}{1024} = 15625\text{ Hz}$$ $$N = 256 - 178 (\text{0xB2}) = 78 \text{ xung} \implies T_s = \frac{78}{15625} \approx 4.99\text{ ms}$$

Giải thuật điều khiển tỷ lệ - vi phân (PD Algorithm)

Sai số vị trí $e(t)$ được tính toán dựa trên độ lệch giữa tâm xe và trọng tâm của đường line:

// Tính toán thành phần tỷ lệ (Proportional)
iP = kp * i;

// Tính toán thành phần vi phân (Derivative) dựa trên độ thay đổi sai số
iD = kd * (lastPos - i);

// Tổng hợp tín hiệu điều khiển vi sai PWM
iRet = (iP - iD);

// Bão hòa tín hiệu tránh quá dòng động cơ
if (iRet < -4000) { 
    iRet = 0; 
}
lastPos = i; // Cập nhật trạng thái sai số cho chu kỳ kế tiếp

Máy trạng thái hữu hạn xử lý mất line và góc vuông 90°

              +--------------------+
              |   Pattern 10:      |
              |   Khởi động mềm    |
              +--------------------+
                        | (cnt >= 100)
                        v
              +--------------------+  Mất line (Sensor = 0x00)   +--------------------+
+------------>|   Pattern 11:      |---------------------------->|   Pattern 12:      |
|             |   Dò line PD chuẩn |                             |   Kiểm tra nhớ line|
|             +--------------------+                             +--------------------+
|                       ^                                              /         \
|                       | Line phục hồi                         Nhớ Trái        Nhớ Phải
|                       | (0x18 != 0)                             /                 \
|             +--------------------+                             v                   v
|             | Pattern 22 / 32:   |<-------------------+-----------------+ +-----------------+
+-------------| Quay bù quỹ đạo    |                    | Pattern 21:     | | Pattern 31:     |
              +--------------------+                    | Đảo chiều bẻ Trái| | Đảo chiều bẻ Phải
                                                        +-----------------+ +-----------------+

Khi robot đi vào góc cua vuông $90^\circ$ hoặc mất dấu đường line đột ngột (sensor == 0x00), máy trạng thái sẽ kích hoạt nhánh xử lý dựa vào biến lưu hướng RememberLine:

  • Nếu trước khi mất line, cảm biến ngoài cùng bên phải bắt được tín hiệu (sensorMask(0x01) == 0x01), biến RememberLine = 1. Robot lập tức chuyển sang Pattern 12 $\rightarrow$ Pattern 21, động cơ trái cấp xung $PWM_{\text{forward}}$, động cơ phải đảo chiều ngược $-40$ để quay xe tại chỗ (Zero Turn Radius) cho đến khi 2 cảm biến trung tâm bắt lại được line (sensorMask(0x18) != 0).

Thử nghiệm và đánh giá kết quả

Hệ thống đã trải qua quá trình thử nghiệm thực địa trên sa bàn tiêu chuẩn dài $15\text{ m}$ bao gồm đường thẳng, góc cua chữ S, góc cua gắt $90^\circ$ và vạch dừng xe giao lộ chữ thập.

+---------------------------------------------------------------------------------------+
|                       ĐẶC TUYẾN PHẢN HỒI ĐỘNG HỌC TẠI CÁC TỐC ĐỘ                      |
|                                                                                       |
|  Độ lệch tâm (mm)                                                                     |
|    ^                                                                                  |
| 15 |                                   -- - - Mức 3: PWM 150 (Dao động dạt biên nhẹ)  |
| 10 |                            . - - ~                                               |
|  5 |                 . - - ~ ~ - - - - - - - - Mức 2: PWM 106 (Ổn định tối ưu)        |
|  0 +------------------------------------------ Mức 1: PWM 50 (Bám sát tuyệt đối)      |
|    0         1         2         3         4         5 (Thời gian di chuyển - Giây)   |
+---------------------------------------------------------------------------------------+
Tình huống thực nghiệm Vận tốc thiết lập (PWM) Thời gian phản hồi ($T_r$) Tỷ lệ bám line thành công Đánh giá vận hành
Đoạn thẳng $5\text{ m}$ PWM = 150 ($1.2\text{ m/s}$) $< 10\text{ ms}$ $100%$ Di chuyển thẳng tuyệt đối, không lắc đầu xe
Cua cong $R = 30\text{ cm}$ PWM = 106 ($0.85\text{ m/s}$) $45\text{ ms}$ $100%$ Thuật toán PD bù tốc mượt mà, triệt tiêu quán tính
Cua gắt $90^\circ$ PWM = 50 ($0.45\text{ m/s}$) $120\text{ ms}$ $96.6%$ Bẻ lái hoàn hảo, State Machine kích hoạt chính xác
Cua gắt $90^\circ$ PWM = 150 ($1.2\text{ m/s}$) $180\text{ ms}$ $73.3%$ Có hiện tượng trượt quán tính cơ khí do bánh xe trượt
Giao lộ chữ thập PWM = 106 ($0.85\text{ m/s}$) $< 15\text{ ms}$ $100%$ Nhận diện trạng thái dừng xe hoặc đi xuyên line chuẩn

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

  1. Kiến trúc xử lý thời gian thực non-blocking với Hardware Interrupt: Khác biệt hoàn toàn so với các dự án robot dò line sinh viên truyền thống thường sử dụng hàm delay() gây trễ xử lý, hệ thống này tách biệt luồng đọc dữ liệu cảm biến tần số cao thông qua ngắt Timer 2 ($488\text{ Hz}$), giúp thời gian đáp ứng điều khiển giảm $76%$ so với phương pháp lặp tuần tự (Polling).
  2. Cơ chế lưu vết và bù góc quay bằng Finite State Machine: Bổ sung thuật toán ghi nhớ trạng thái biên (RememberLine), cho phép robot tự hành giải quyết bài toán mất line ở tốc độ cao và góc cua vuông mà không cần trang bị thêm cảm biến phụ ở đuôi xe.
  3. Thuật toán tự động cân chỉnh ngưỡng quang học thích nghi (Adaptive Optical Calibration): Tích hợp hàm updateLine() cho phép lấy mẫu dải giá trị thực tế tại hiện trường và ghi đè vào EEPROM, triệt tiêu $100%$ lỗi sai lệch giá trị analog do chênh lệch ánh sáng môi trường giữa các lần chạy.

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

Kịch bản ứng dụng trong công nghiệp

  • Hệ thống xe tự hành vận chuyển trong nhà máy thông minh (Industrial AGV): Ứng dụng để kéo các kệ linh kiện nặng từ kho phụ tùng đến từng trạm lắp ráp cố định trong dây chuyền sản xuất may mặc, lắp ráp điện tử hoặc chế biến thực phẩm.
  • Robot vận chuyển mẫu xét nghiệm trong bệnh viện: Di chuyển tự động giữa các khoa phòng theo tuyến đường vạch sẵn trên sàn mà không gây tiếng ồn, đảm bảo vô trùng và giảm tải công việc cho nhân viên y tế.
+-----------------------------------------------------------------------------+
|               LỘ TRÌNH TRIỂN KHAI THỰC TẾ (PHASE 1 ĐẾN PHASE 4)             |
|                                                                             |
|  [ Phase 1: Môi trường thử nghiệm ]  --> Sơn vạch line phản quang epoxy     |
|                   |                                                         |
|  [ Phase 2: Nâng cấp phần cứng ]     --> Đóng gói khung vỏ kim loại CNC     |
|                   |                                                         |
|  [ Phase 3: Quản lý trạm sạc ]       --> Tích hợp trạm tiếp xúc tự sạc pin  |
|                   |                                                         |
|  [ Phase 4: Quản lý tập trung ]      --> Giám sát lộ trình từ xa qua SCADA  |
+-----------------------------------------------------------------------------+

Phân tích hiệu quả kinh tế và đầu tư (Cost-Benefit Analysis)

  • Chi phí chế tạo nguyên mẫu: Xấp xỉ $1.200.000\text{ VNĐ}$ (Bao gồm Arduino Nano, Driver BTS7960, 2 Motor GA25, Pin LiPo 3S và linh kiện quang học).
  • So sánh với AGV thương mại: Tiết kiệm hơn $90%$ chi phí đầu tư ban đầu so với các dòng AGV nhập khẩu cùng phân khúc tải trọng nhỏ. Thời gian hoàn vốn (ROI) ước tính trong ứng dụng chuyển hàng nội bộ chỉ từ $3 - 6\text{ tháng}$.

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

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

  • Thiếu phản hồi tốc độ vòng kín (Encoder Feedback): Hệ thống chỉ điều khiển dựa trên điện áp trung bình cấp cho động cơ qua PWM, chưa bù được sai số tốc độ cơ khí thực tế giữa 2 bánh khi một bánh bị trượt ma sát.
  • Hiện tượng trôi quán tính ở tốc độ cao ($PWM > 180$): Cảm biến quang trở có thời gian đáp ứng quang học trễ hơn so với mắt thu hồng ngoại chuyên dụng (Photodiode), dẫn đến mất line khi chuyển hướng đột ngột ở vận tốc cực đại.

Hướng nâng cấp tương lai

  1. Tích hợp cảm biến đo quán tính 6 bậc tự do (IMU MPU6050): Kết hợp thuật toán lọc Kalman để ước lượng gia tốc góc, chủ động hãm phanh điện từ khi phát hiện xe chuẩn bị vào cua $90^\circ$.
  2. Nâng cấp vi điều khiển lên kiến trúc 32-bit (ESP32 hoặc STM32F4): Tăng xung nhịp xử lý lên $240\text{ MHz}$, cho phép tính toán trọn vẹn bộ ba thông số PID (bao gồm cả thành phần tích phân $I$ để khử triệt để sai số tĩnh) và tích hợp giao thức truyền thông không dây ESP-NOW/MQTT.
  3. Sử dụng thanh LED thu phát hồng ngoại chuyên dụng (Array IR Sensor): Rút ngắn thời gian phản hồi quang điện từ mức mili-giây xuống micro-giây.

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

  • Sinh viên khối ngành Kỹ thuật (Cơ điện tử, Tự động hóa, Robot & AI): Tiếp cận tài liệu thực chứng về phương pháp cấu hình thanh ghi Timer phần cứng trên vi điều khiển AVR, kỹ thuật điều khiển động cơ DC công suất lớn và ứng dụng thực tiễn của giải thuật PID.
  • Kỹ sư phát triển hệ thống nhúng: Bản thiết kế tham chiếu (Reference Design) tin cậy về việc phân tách module phần mềm bằng State Machine và tối ưu hóa bộ nhớ EEPROM trong các thiết bị điều khiển biên.
  • Doanh nghiệp vừa và nhỏ (SMEs): Cơ sở nền tảng để tùy biến thành các giải pháp robot vận chuyển nội bộ chi phí thấp, dễ bảo trì và dễ dàng chuyển giao kỹ thuật.

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

1. Yêu cầu kỹ thuật tối thiểu để triển khai và biên dịch mã nguồn của robot là gì?

Hệ thống yêu cầu máy tính cài đặt môi trường Arduino IDE 1.8.x hoặc phiên bản cao hơn, tích hợp sẵn thư viện chuẩn <avr/interrupt.h> và thư viện điều khiển mở rộng RobotControl. Cáp kết nối chuẩn Mini-USB để nạp code cho Arduino Nano thông qua chip nạp CH340 hoặc FTDI.

2. Giới hạn tải trọng và khả năng mở rộng của robot như thế nào?

Với cặp động cơ giảm tốc GA25-370 có tổng momen xoắn $1.0\text{ kg}\cdot\text{cm}$ kết hợp driver công suất BTS7960 ($43\text{A}$), robot có khả năng chở thêm tải trọng hàng hóa hữu ích từ $1.5\text{ kg}$ đến $2.5\text{ kg}$ trên mặt phẳng nằm ngang mà không gây sụt áp hệ thống.

3. Tại sao giải thuật thực tế lại lược bỏ thành phần tích phân (Ki) trong bộ PID?

Trong các bài toán robot bám vạch tốc độ cao, thành phần tích phân $I$ ($\sum e(t) \cdot \Delta t$) rất dễ gây ra hiện tượng bão hòa tích phân (Integral Windup), dẫn đến tình trạng robot bị quá điều chỉnh (Overshoot) và dao động lắc lư không dừng khi đi ra khỏi góc cua. Việc sử dụng bộ điều khiển PD ($K_p$ xử lý sai số hiện tại, $K_d$ dự đoán xu hướng biến thiên) mang lại sự ổn định động học tối ưu hơn.

4. Quy trình bảo trì và kiểm tra nguồn pin LiPo 3S như thế nào để đảm bảo an toàn?

Tuyệt đối không để điện áp của pin LiPo 3S tụt xuống dưới $9.9\text{V}$ (tức $3.3\text{V}$ mỗi cell) để tránh làm phồng pin hoặc hỏng cấu trúc hóa học. Sử dụng đồng hồ đo pin (Buzzer Tester) trước khi vận hành và sạc bằng bộ sạc cân bằng chuyên dụng (B6 Balance Charger).

5. Chi phí linh kiện chế tạo nguyên mẫu và thời gian hoàn thành là bao lâu?

Tổng chi phí linh kiện phần cứng dao động khoảng $1.200.000 - 1.500.000\text{ VNĐ}$. Thời gian lắp ráp phần cứng cơ khí mất khoảng 2 ngày, lập trình và tinh chỉnh thông số $K_p, K_d$ trên sa bàn thực tế mất từ 3 đến 5 ngày làm việc.


Kết luận

Đồ án "Robot dò line ứng dụng bộ điều khiển PID" đã chứng minh tính hiệu quả vượt trội trong việc ứng dụng lý thuyết điều khiển tự động vào một hệ thống nhúng cơ điện tử hoàn chỉnh. Bằng sự kết hợp chặt chẽ giữa phần cứng công suất mạnh mẽ (BTS7960, GA25-370), hệ thống 8 cảm biến quang học tự cân chỉnh và giải thuật vi phân PD trên nền ngắt Timer thời gian thực, robot đã giải quyết xuất sắc các bài toán bám quỹ đạo ở dải tốc độ cao, vượt qua các góc cua gắt $90^\circ$ với độ tin cậy đạt $96.6%$. Đề tài không chỉ mang giá trị học thuật cao trong chương trình đào tạo kỹ sư Robot và Trí tuệ nhân tạo mà còn mở ra tiềm năng ứng dụng trực tiếp cho các hệ thống xe tự hành AGV vận tải công nghiệp trong tương lai.