Giới thiệu dự án

Trong kỷ nguyên Công nghiệp 4.0 và chuyển đổi số logistics nội bộ (intralogistics), việc tự động hóa khâu vận chuyển nguyên vật liệu trong nhà xưởng đóng vai trò then chốt nhằm tối ưu hóa năng suất và giảm thiểu chi phí vận hành. Theo các báo cáo công nghiệp về tự động hóa kho vận, chi phí nhân công vận chuyển thủ công chiếm từ 40% đến 60% tổng chi phí vận hành kho xưởng, đồng thời tiềm ẩn rủi ro mất an toàn lao động trong các môi trường độc hại hoặc tải trọng nặng.

Đề tài "Mô hình hóa xe tự hành vận chuyển hàng hóa trong nhà xưởng" (Automated Guided Vehicle - AGV) thuộc ngành Công nghệ Kỹ thuật Ô tô - Trường Đại học Sư phạm Kỹ thuật TP.HCM giải quyết trực tiếp bài toán chuyển đổi phương thức vận chuyển truyền thống sang mô hình robot di động tự hành thông minh với chi phí chế tạo tối ưu.

+-----------------------------------------------------------------------+
|                         HỆ THỐNG AGV TOÀN DIỆN                        |
+-----------------------------------------------------------------------+
|  [HMI Màn hình LCD TFT 2.4"] <--> [MCU Arduino Mega 2560 (16MHz)]     |
|                                                  |                    |
|        +-----------------------------------------+                    |
|        |                                         |                    |
|  [Cảm biến hồng ngoại E18]            [Driver Cầu H Kép L298N]        |
|  - Trái / Giữa / Phải                 - Điều khiển băm xung PWM       |
|  - Khoảng cách phát hiện: 3-80cm                 |                    |
|                                       [4x Động cơ DC Servo GA25V1]    |
|                                       - Hộp giảm tốc 1:34             |
|                                       - Encoder Hall 374 xung/vòng    |
|                                       - Cơ cấu khớp lắc cân bằng 4 bánh|
+-----------------------------------------------------------------------+

Vấn đề thực tiễn và mục tiêu nghiên cứu

Tại các doanh nghiệp vừa và nhỏ (SMEs) ở Việt Nam, hệ thống máy móc còn nhiều hạn chế, phụ thuộc lớn vào lao động chân tay. Các giải pháp AGV công nghiệp nhập khẩu sử dụng công nghệ dẫn đường Laser LGV (Laser Guided Vehicle) có giá thành rất cao (dao động từ $15,000 đến hơn $50,000), trong khi giải pháp dẫn hướng từ tính (Magnetic Tape) lại thiếu linh hoạt do chi phí bảo trì vạch từ cố định trên sàn xưởng.

Đề tài đặt ra các mục tiêu kỹ thuật cụ thể:

  1. Thiết kế cơ khí hoàn chỉnh: Chế tạo khung gầm AGV 4 bánh Omni kết hợp cơ cấu khớp lắc (self-leveling suspension) giúp duy trì tiếp xúc mặt đường đồng phẳng khi vượt địa hình gồ ghề.
  2. Thiết kế phần cứng điều khiển: Tích hợp vi điều khiển ATmega2560 trên bo mạch Shield chuyên dụng, điều khiển công suất qua 2 mạch cầu H kép L298N.
  3. Phát triển thuật toán PID thời gian thực: Triển khai giải thuật PID rời rạc với chu kỳ lấy mẫu $T = 10\text{ ms}$ nhằm kiểm soát chính xác vận tốc 4 động cơ DC Servo GA25V1 có gắn Encoder Hall.
  4. Xây dựng giao diện HMI độc lập: Tích hợp màn hình LCD TFT cảm ứng 2.4 inch (Driver ILI9325D/XPT2046) để người dùng cài đặt tọa độ $(x, y)$, tốc độ và giám sát trạng thái mà không cần máy tính ngoài.
  5. Thuật toán điều hướng và tránh vật cản tự động: Xây dựng quỹ đạo di chuyển trực giao (Orthogonal Cartesian Path) kết hợp hệ thống 3 cảm biến hồng ngoại E18-D80NK để phát hiện chướng ngại vật trong khoảng cách 3–80 cm và tự động quy hồi lộ trình ban đầu.

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 Xe dẫn hướng từ (Magnetic AGV) Xe dẫn hướng Laser (LGV) Mô hình AGV 4 bánh Omni (Nghiên cứu)
Tính linh hoạt lộ trình Thấp (phụ thuộc dây từ sàn) Rất cao (lập bản đồ không gian) Cao (lập trình tọa độ tự do Oxy)
Chi phí đầu tư Trung bình ($5,000 - $12,000) Rất cao ($15,000 - $60,000) Rất thấp (< $150 USD)
Độ bền môi trường xưởng Kém (vạch từ dễ mòn, bám bẩn) Cao (cần gương phản xạ sạch) Cao (kháng bụi, không phụ thuộc sàn)
Khả năng chuyển hướng Góc cua hạn chế Xoay vi sai hoặc bẻ lái Đa hướng tức thời nhờ bánh Omni
Khả năng tiếp xúc mặt sàn Hệ thống treo tiêu chuẩn Hệ thống treo công nghiệp Khớp lắc tự lựa phân bổ đều 4 điểm

Hệ thống yêu cầu kỹ thuật được phân loại theo mô hình MoSCoW:

  • Must-have (Bắt buộc): Bộ điều khiển PID số ổn định tốc độ, ngắt ngoài đọc Encoder chính xác, mạch bảo vệ quá dòng cầu H, cơ cấu khớp lắc cơ khí.
  • Should-have (Cần có): Giao diện bàn phím cảm ứng nhập tọa độ trên TFT LCD, thuật toán tự động bẻ hướng né vật cản 90°.
  • Could-have (Có thể mở rộng): Giao tiếp truyền thông không dây (WiFi/Bluetooth), cảm biến con quay hồi chuyển (IMU) bù trượt góc quay.
  • Won't-have (Chưa thực hiện): Bản đồ nơ-ron cực (Polar Neural Map) và quét định vị 2D LiDAR SLAM do hạn chế tài nguyên xử lý của vi điều khiển 8-bit.

Thiết kế hệ thống và ngăn xếp công nghệ (Technology Stack)

Hệ thống được chuẩn hóa với các thành phần công nghệ và thông số cụ thể:

  • Phần mềm thiết kế CAD: Dassault Systèmes SolidWorks 2016 (mô hình hóa 3D khung vỏ, kết cấu khớp lắc và vị trí lắp động cơ).
  • Môi trường lập trình: Arduino IDE v1.8.x, sử dụng trình biên dịch AVR-GCC tối ưu hóa thời gian thực.
  • Thư viện điều khiển phần cứng: TimerOne.h (cấu hình ngắt định thời phần cứng chính xác $10\text{ ms}$).
  • Bộ điều khiển trung tâm: Vi điều khiển Microchip ATmega2560 (Tần số xung nhịp 16 MHz, 256 KB Flash, 8 KB SRAM, 54 chân Digital I/O với 15 kênh PWM, 4 cổng UART phần cứng).
  • Bộ truyền động: 04 Động cơ DC Servo GA25V1 tích hợp đĩa từ Encoder 11 xung/kênh, tỷ số truyền hộp số $1:34$, cung cấp tổng cộng 374 xung/vòng trục ra; tốc độ định mức 284 rpm ở điện áp 12VDC.
  • Mạch điều khiển công suất: 02 Module cầu H kép L298N tích hợp diode Schottky triệt tiêu dòng cảm ứng ngược, băm xung PWM tần số 20 kHz để loại bỏ tiếng ồn cơ học.
  • Module hiển thị và tương tác: LCD TFT 2.4 inch cảm ứng điện trở, độ phân giải $240 \times 320$ pixels, 262K màu (IC Driver màn hình ILI9325D, IC giải mã cảm ứng XPT2046 giao tiếp SPI).
  • Cảm biến chướng ngại vật: 03 Cảm biến hồng ngoại E18-D80NK (Ngõ ra NPN Open-Collector, tầm phát hiện điều chỉnh linh hoạt $3\text{--}80\text{ cm}$).
+-----------------------------------------------------------------------------------+
|                        SƠ ĐỒ KHỐI PHẦN CỨNG AGV                                   |
+-----------------------------------------------------------------------------------+
|                                                                                   |
|  [Nguồn Pin 12VDC] ---> [Mạch nguồn hạ áp 5V] ---> [Arduino Mega 2560]            |
|                                                           |                       |
|  [3x Cảm biến E18-D80NK] ------------------------------> | [TFT LCD 2.4"]         |
|  (Ngõ vào Digital)                                        | (Bus 8-bit song song) |
|                                                           |                       |
|  [4x Encoder Hall (Chân 18 Interrupt)] -----------------> | [2x Driver L298N]     |
|                                                           | (PWM Chân 6, 7, v.v.) |
|                                                           v                       |
|                                                [4x DC Servo GA25V1]               |
+-----------------------------------------------------------------------------------+

Implementation và kết quả

Thuật toán điều khiển PID vận tốc động cơ

Phương trình toán học liên tục của bộ điều khiển PID:

$$u(t) = K_P \cdot e(t) + K_I \int_{0}^{t} e(\tau) d\tau + K_D \frac{de(t)}{dt}$$

Để thực thi trên vi điều khiển ATmega2560 theo chu kỳ lấy mẫu $T = 0.01\text{ s}$ ($10\text{ ms}$), phương trình được rời rạc hóa thành phương trình sai phân số (Digital PID Controller):

#include <TimerOne.h>
#define interA 18

int tocdodat = 200; // Tốc độ đặt (rpm)
float T = 0.01;     // Thời gian lấy mẫu 10ms
double xung_MA = 0;
double tocdo_MA;
double E_MA, E1_MA, E2_MA;
double alpha_MA, beta_MA, gama_MA;
double Kp_MA = 0.85, Kd_MA = 0.02, Ki_MA = 0.15; // Hệ số tinh chỉnh thực nghiệm
double Output_MA, Lastoutput_MA;

void setup() {
  pinMode(interA, INPUT_PULLUP);
  pinMode(5, INPUT_PULLUP);
  pinMode(6, OUTPUT); // Chân PWM điều khiển băm áp
  pinMode(7, OUTPUT); // Chân logic chiều quay
  
  tocdo_MA = 0; E_MA = 0; E1_MA = 0; E2_MA = 0;
  Output_MA = 0; Lastoutput_MA = 0;
  
  Serial.begin(9600);
  attachInterrupt(digitalPinToInterrupt(interA), docxung_MA, FALLING);
}

void docxung_MA() {
  if (digitalRead(5)) {
    xung_MA++;
  } else {
    xung_MA--;
  }
}

void PID_MA() {
  if (xung_MA < 0) xung_MA = -xung_MA;
  // Tính tốc độ thực tế (vòng/phút): (xung / 374 xung trên vòng / T) * 60s
  tocdo_MA = (xung_MA / 374.0 / T) * 60.0;
  xung_MA = 0; // Reset bộ đếm xung sau chu kỳ trích mẫu
  
  E_MA = tocdodat - tocdo_MA; // Sai lệch giữa giá trị đặt và phản hồi
  
  // Tính toán hệ số rời rạc hóa
  alpha_MA = 2 * T * Kp_MA + Ki_MA * T * T + 2 * Kd_MA;
  beta_MA  = T * T * Ki_MA - 4 * Kd_MA - 2 * T * Kp_MA;
  gama_MA  = 2 * Kd_MA;
  
  // Giá trị đầu ra điều khiển đệ quy
  Output_MA = (E_MA * alpha_MA + beta_MA * E1_MA + gama_MA * E2_MA + 2 * T * Lastoutput_MA) / (2 * T);
  
  Lastoutput_MA = Output_MA;
  E2_MA = E1_MA;
  E1_MA = E_MA;
  
  // Khâu bão hòa tín hiệu PWM (Anti-windup clamping)
  if (Output_MA > 255) Output_MA = 255;
  if (Output_MA < 0)   Output_MA = 0;
  
  if (Output_MA > 0) {
    analogWrite(6, (int)Output_MA);
    digitalWrite(7, LOW);
  } else {
    digitalWrite(6, LOW);
    digitalWrite(7, LOW);
  }
}

Thuật toán điều hướng trực giao và tránh vật cản

Robot di chuyển giữa các điểm mốc theo phương pháp tọa độ trực giao $S = |x_n - x_{n-1}|$ hoặc $S = |y_n - y_{n-1}|$. Khi gặp vật thể cản trên hành trình, trạng thái né tránh được kích hoạt tự động theo máy trạng thái hữu hạn (FSM):

[Tiến thẳng theo lộ trình Oxy]
             |
   (Cảm biến trước báo vật cản <= 80cm)
             v
[Dừng lại + Quay phải 90 độ]
             |
[Di chuyển song song vật cản] ---> (Lưu quãng đường d_tranh bằng đếm xung Encoder)
             |
   (Cảm biến bên trái hết vật cản)
             v
[Quay trái 90 độ + Đi thẳng vượt qua chiều dài vật cản]
             |
   (Cảm biến bên trái không còn báo vật)
             v
[Quay trái 90 độ + Di chuyển quãng đường d_tranh]
             |
[Quay phải 90 độ] ---> [Khôi phục trục tọa độ gốc và tiến về đích]

Kết quả kiểm nghiệm và dữ liệu thực nghiệm

  • Độ chính xác bộ điều khiển PID: Khi cấp giá trị tốc độ đặt $200\text{ rpm}$, thời gian xác lập ($T_s$) đạt dưới $0.35\text{ s}$, độ vọt lố ($\text{Overshoot}$) $< 4.8%$, sai số xác lập ($\text{Steady-state error}$) được triệt tiêu hoàn toàn nhờ khâu tích phân ($K_I$).
  • Thử nghiệm không tải vs có tải: Ở tải trọng $3.5\text{ kg}$, nhờ cấu trúc vòng kín bù mô-men tự động qua PWM, tốc độ 4 bánh xe duy trì độ đồng đều với sai số vận tốc giữa các bánh $< 3.2%$.
  • Thử nghiệm né tránh vật thể: AGV nhận diện chính xác vật cản dạng khối hộp ở khoảng cách $40\text{ cm}$, thực hiện chuyển hướng, đo đạc quãng đường né tránh và quay trở lại đúng trục lộ trình ban đầu với sai lệch định vị cuối hành trình $\Delta \le 2.8\text{ cm}$ trên quãng đường $5\text{ m}$.

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

  1. Cơ cấu khớp lắc cân bằng 4 bánh độc lập: Giải quyết triệt để nhược điểm mất ma sát của hệ 4 bánh cứng vững thông thường. Khớp lắc cơ khí đóng vai trò như một hệ treo tự lựa, đảm bảo cả 4 bánh Omni luôn tiếp xúc $100%$ với bề mặt sàn xưởng mà không đòi hỏi chi phí gia công hệ thống treo phức tạp.
  2. Tích hợp HMI độc lập không dây/ngoại vi: Hệ thống loại bỏ hoàn toàn sự phụ thuộc vào máy tính trạm nhờ màn hình LCD TFT cảm ứng được lập trình sẵn bàn phím số, cho phép nhân viên vận hành cấu hình trực tiếp điểm đến chỉ với vài thao tác.
  3. Tối ưu hóa mã nguồn điều khiển số trên vi điều khiển giá rẻ: Triển khai thành công bộ 4 vòng lặp PID độc lập song song cùng thuật toán tránh vật cản trên nền tảng 8-bit AVR 16 MHz mà vẫn đảm bảo thời gian đáp ứng ngắt thời gian thực ($10\text{ ms}$).

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

Kịch bản ứng dụng (Use Cases)

+--------------------------------------------------------------------+
|                KỊCH BẢN ỨNG DỤNG TỰ ĐỘNG HÓA                       |
+--------------------------------------------------------------------+
|  [Kho linh kiện (Point A)]                                         |
|              |                                                     |
|              v  (AGV vận chuyển bo mạch qua hành lang hẹp)         |
|  [Dây chuyền lắp ráp SMT (Point B)]                                |
|              |                                                     |
|              v  (AGV chuyển sản phẩm kiểm tra sang phòng Lab)       |
|  [Khu vực QC / Đóng gói (Point C)]                                 |
+--------------------------------------------------------------------+
  • Vận chuyển linh kiện điện tử trong phòng sạch: Môi trường đòi hỏi độ êm dịu, không phát thải bụi khí nén hay dầu mỡ công nghiệp.
  • Cung cấp thuốc và vật tư y tế tại bệnh viện: Tự động chuyển phát mẫu xét nghiệm và bệnh phẩm giữa các khoa theo các mốc tọa độ định sẵn, giảm nguy cơ lây nhiễm chéo.
  • Cấp phát nguyên liệu xưởng cơ khí: Vận chuyển phôi kim loại và đồ gá giữa các trạm máy CNC theo chu trình tuần hoàn $A \rightarrow B \rightarrow C \rightarrow D \rightarrow A$.

Phân tích chi phí - lợi ích (Cost-Benefit Analysis)

  • Chi phí gia công và linh kiện: Tổng chi phí vật tư (khung nhôm định hình, 4 động cơ GA25V1, mạch công suất, Arduino Mega, màn hình TFT, cảm biến) ước tính khoảng 2,800,000 VNĐ (~$115 USD).
  • Hiệu quả đầu tư (ROI): Giảm $100%$ nhân lực vận chuyển trung chuyển nội bộ ở quy mô thử nghiệm; thời gian hoàn vốn đầu tư ước tính dưới 03 tháng khi áp dụng vào các xưởng gia công nhỏ.

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

Mặc dù mô hình đã vận hành thành công theo đúng mục tiêu thiết kế, đồ án vẫn còn một số điểm cần cải tiến:

  1. Hiện tượng trôi dạt góc quay (Angular Drift): Do góc quay 90° hiện tại đang điều khiển theo thời gian trễ thực thi (delay()), sai số trượt giữa bánh xe và mặt sàn tích lũy sau nhiều lần chuyển hướng khiến xe bị lệch phương di chuyển.
    • Hướng khắc phục: Bổ sung module cảm biến quán tính 6 trục IMU (MPU6050 hoặc BNO055) để thiết lập vòng lặp hồi tiếp góc quay đóng kín.
  2. Giới hạn nhận diện biên dạng vật cản: Hệ thống 3 cảm biến hồng ngoại quang học chỉ phát hiện vật cản dạng điểm phía trước/bên hông, không xác định được toàn bộ biên dạng chướng ngại vật phức tạp hoặc vật thể có màu đen hấp thụ tia hồng ngoại.
    • Hướng khắc phục: Nâng cấp lên module cảm biến khoảng cách Laser ToF (VL53L0X) hoặc cảm biến siêu âm chống nhiễu US-100.
  3. Nguồn cung cấp: Pin dung lượng thấp làm giới hạn thời gian chạy liên tục. Cần nâng cấp lên hệ pin Lithium-ion 18650 3S/4S kèm mạch BMS quản lý sạc/xả thông minh.

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

  • Sinh viên & Nghiên cứu sinh ngành Cơ điện tử / Ô tô / Tự động hóa: Cung cấp tài liệu tham khảo thực chứng về quy trình thiết kế xe tự hành, từ tính toán cơ khí, lập sơ đồ mạch nguyên lý đến thuật toán điều khiển số PID thời gian thực.
  • Kỹ sư nhúng & IoT: Cung cấp mã nguồn tham khảo chuẩn hóa về kỹ thuật xử lý ngắt Encoder, thuật toán rời rạc hóa PID và giao tiếp màn hình màu TFT cảm ứng trên vi điều khiển AVR.
  • Doanh nghiệp sản xuất vừa và nhỏ: Bản thiết kế nền tảng với chi phí cực thấp, mở ra khả năng nội địa hóa thiết bị phụ trợ tự động hóa mà không cần đầu tư các hệ thống AGV đắt đỏ từ nước ngoài.

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

1. Yêu cầu kỹ thuật phần cứng tối thiểu để triển khai hệ thống AGV này là gì?

Hệ sinh thái yêu cầu 01 bo mạch vi điều khiển hỗ trợ tối thiểu 4 ngắt ngoài phần cứng và 4 kênh PWM độc lập (khuyến nghị Arduino Mega 2560 hoặc ARM Cortex-M), 02 mạch cầu H kép chịu dòng tối thiểu 2A/kênh, 04 động cơ DC tích hợp Encoder Hall phân giải từ 300 xung/vòng trở lên và nguồn cấp 12VDC/5A.

2. Giới hạn tải trọng và khả năng mở rộng của mô hình là bao nhiêu?

Với động cơ GA25V1 tỷ số truyền 1:34 (mô-men xoắn giữ $7.0\text{ kg}\cdot\text{cm}$), mô hình phòng lab chịu tải tối ưu từ $3\text{--}5\text{ kg}$. Để nâng tải trọng lên công nghiệp ($50\text{--}200\text{ kg}$), kiến trúc điều khiển này có thể giữ nguyên và chỉ cần thay thế tầng công suất bằng Driver MOSFET (như BTS7960 43A) kết hợp động cơ DC Planetary hoặc Brushless BLDC công suất lớn.

3. Làm thế nào để AGV kết nối với hệ thống quản lý nhà kho MES/WMS có sẵn?

Có thể tích hợp thêm vi điều khiển ESP32 hoặc module truyền thông công nghiệp RS485/CAN-Bus qua các cổng UART có sẵn trên Arduino Mega 2560 (Serial1, Serial2, Serial3) để nhận lệnh điều phối tọa độ theo thời gian thực từ máy chủ thông qua giao thức MQTT hoặc HTTP RESTful API.

4. Chi phí bảo trì định kỳ và độ bền của linh kiện như thế nào?

Chi phí bảo trì rất thấp. Các bộ phận hao mòn chính bao gồm chổi than động cơ DC (tuổi thọ ~2,000 giờ) và con lăn cao su trên bánh xe Omni. Cấu trúc mô-đun hóa cho phép thay thế từng cụm linh kiện trong vòng dưới 15 phút với chi phí linh kiện thay thế rẻ.

5. Tại sao chọn bánh xe Omni thay vì hệ bánh Mecanum hay vi sai truyền thống?

Bánh xe Omni 4 hướng bố trí trực giao cho phép robot chuyển động tịnh tiến theo phương dọc và phương ngang tức thì mà không cần quay thân xe, giúp rút ngắn thời gian cơ động trong các lối đi hẹp của nhà xưởng và đơn giản hóa thuật toán bẻ góc trực giao 90°.


Kết luận

Đồ án "Mô hình hóa xe tự hành vận chuyển hàng hóa trong nhà xưởng" đã chứng minh tính khả thi và hiệu quả vượt trội của giải pháp AGV 4 bánh Omni chi phí thấp phục vụ tự động hóa nội bộ. Bằng việc kết hợp hài hòa giữa cơ cấu cơ khí khớp lắc tự lựa thông minh, giải thuật PID số vòng kín ổn định tốc độ và hệ thống cảm ứng HMI độc lập, nhóm nghiên cứu đã xây dựng thành công một mô hình thực nghiệm hoàn chỉnh, có độ tin cậy cao và khả năng ứng dụng thực tế rõ ràng. Đây là nền tảng vững chắc để tiếp tục phát triển các thế hệ robot AGV công nghiệp thông minh hơn, tích hợp công nghệ định vị SLAM hiện đại trong tương lai gần.