Giới thiệu dự án
Trong kỷ nguyên công nghiệp 4.0 và sự bùng nổ của thương mại điện tử toàn cầu, khối lượng hàng hóa luân chuyển qua các trung tâm phân phối (Fulfillment Centers) tăng trưởng với tốc độ bình quân hơn 15.3%/năm (theo số liệu từ MHI Industry Report). Tại Việt Nam, đa số các kho bãi và hệ thống bán lẻ vẫn duy trì phương thức lấy hàng thủ công (Manual Picking), chiếm đến 55% - 65% tổng chi phí vận hành kho và khiến nhân công phải di chuyển từ 12 đến 18 km mỗi ca làm việc. Thực trạng này dẫn đến năng suất lao động thấp, thời gian xử lý đơn hàng kéo dài và tỷ lệ sai sót đơn hàng dao động từ 1.5% đến 3%.
Trước những rào cản đó, đồ án tốt nghiệp "Thiết kế và chế tạo mô hình robot lấy hàng tự động" do nhóm sinh viên ngành Công nghệ Kỹ thuật Cơ điện tử, Khoa Đào tạo Chất lượng cao – Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh (HCMUTE) thực hiện dưới sự hướng dẫn của ThS. Phạm Bạch Dương, đã xây dựng một giải pháp tự động hóa toàn diện nhằm tối ưu hóa quy trình xuất nhập kho.
+-------------------------------------------------------------------------+
| HỆ THỐNG ROBOT LẤY HÀNG TỰ ĐỘNG (ASRS) |
+------------------------------------+------------------------------------+
| TẦNG ĐIỀU HÀNH & LƯU TRỮ | LAMP Stack (Linux, Apache, |
| | MySQL 8.0, PHP 7.4) |
+------------------------------------+------------------------------------+
| TẦNG ĐIỀU KHIỂN CẤP CAO | Raspberry Pi 4 Model B |
| | (Xử lý thuật toán A*) |
+------------------------------------+------------------------------------+
| TẦNG ĐIỀU KHIỂN CẤP THẤP | Arduino Mega 2560 R3 |
| | (Điều khiển vận tốc PID) |
+------------------------------------+------------------------------------+
| TẦNG CHẤP HÀNH CƠ KHÍ | Khung nhôm 20x20, Trục vít T8, |
| | Đai GT2, Động cơ Planet 24VDC |
+------------------------------------+------------------------------------+
Mục tiêu cụ thể của dự án
- Thiết kế cơ khí chính xác: Chế tạo mô hình robot di động 2 trục tọa độ (X-Y) kích thước nhỏ gọn $300 \times 400 \times 300\text{ mm}$, tải trọng bản thân không tải $8\text{ kg}$, khả năng chịu tải có ích $2\text{ kg}$, tích hợp cơ cấu chuyển hướng vuông góc và cơ cấu nâng hạ giỏ hàng chuyên dụng.
- Xây dựng giải thuật điều khiển chuyển động: Ứng dụng bộ điều khiển PID (Proportional-Integral-Derivative) vòng kín trên vi điều khiển Arduino Mega 2560, đảm bảo duy trì vận tốc ổn định với độ vọt lố (Overshoot) dưới 5% và thời gian xác lập dưới 0.8 giây.
- Phát triển thuật toán định tuyến thông minh: Ứng dụng thuật toán tìm đường A-star ($A^*$) trên nền tảng máy tính nhúng Raspberry Pi 4 để tìm kiếm đường đi tối ưu theo khoảng cách và thời gian, đồng thời tránh chướng ngại vật tĩnh và động theo thời gian thực.
- Tích hợp hệ thống quản trị Web Server & Cơ sở dữ liệu: Thiết kế cơ sở dữ liệu MySQL và giao diện Web PHP hỗ trợ giám sát tọa độ, điều phối nhiều robot cùng vận hành đồng thời mà không xảy ra xung đột không gian.
Phạm vi và giới hạn đề tài
- Phạm vi: Mô hình hóa không gian kho dạng lưới ma trận 2D (Grid-based ASRS), xử lý các tác vụ di chuyển, chuyển phương X/Y, xác định vị trí lấy hàng và vận chuyển về trạm tập kết (Docking Station).
- Giới hạn: Tải trọng tối đa $2\text{ kg}$/lượt gắp, hoạt động trên bề mặt sàn phẳng chuẩn công nghiệp với nguồn cấp pin LiPo nội bộ, giao tiếp mạng nội bộ (Local Area Network) qua giao thức TCP/IP và UART.
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 | Hệ thống lấy hàng thủ công | Hệ thống cần cẩu tự động ASRS tải nặng | Robot lấy hàng tự động phân tán (Đồ án) |
|---|---|---|---|
| Chi phí đầu tư ban đầu | Rất thấp (chỉ kệ và xe đẩy) | Cực kỳ cao ($> 500.000\text{ USD}$) | Trung bình - Thấp (Module hóa linh hoạt) |
| Thời gian đáp ứng đơn hàng | Chậm ($15 - 30\text{ phút/đơn}$) | Rất nhanh ($1 - 3\text{ phút/đơn}$) | Nhanh ($2 - 5\text{ phút/đơn}$) |
| Mật độ lưu trữ không gian | Thấp ($30% - 40%$ diện tích sàn) | Tối đa ($85% - 90%$ thể tích kho) | Cao ($70% - 80%$ diện tích sàn) |
| Độ linh hoạt khi mở rộng | Cao nhưng tốn chi phí nhân sự | Rất kém (cố định theo kết cấu ray) | Rất cao (chỉ cần thêm số lượng robot) |
| Tỷ lệ lỗi đơn hàng | Cao ($1.5% - 3%$) | Rất thấp ($< 0.05%$) | Rất thấp ($< 0.1%$) |
Phân tích yêu cầu theo ma trận MoSCoW
- Must have: Di chuyển chính xác 2 trục X-Y; Bộ điều khiển vận tốc động cơ PID; Thuật toán tìm đường $A^*$ trên ma trận lưới; Cơ cấu nâng giỏ hàng và chuyển hướng bằng trục vít - đai ốc T8; Cảm biến phát hiện vật cản hồng ngoại E3F-DS30C4.
- Should have: Web server PHP/MySQL giám sát vị trí theo thời gian thực; Giao tiếp truyền thông 2 chiều Raspberry Pi - Arduino thông qua UART chuẩn công nghiệp; Tính năng tự né chướng ngại vật động.
- Could have: Cảnh báo âm thanh/đèn LED khi gặp sự cố kẹt hàng; Khả năng phân luồng ưu tiên theo mức độ khẩn cấp của đơn hàng.
- Won't have: Cơ cấu nâng nhiều tầng trên 3m; Hệ thống quét mã vạch Barcode/RFID gắn trên tay gắp (định vị trực tiếp qua tọa độ ma trận).
Thiết kế hệ thống
Kiến trúc phần cứng và phần mềm của robot lấy hàng tự động được phân tầng rõ ràng nhằm đảm bảo tính độc lập và khả năng mở rộng:
Ngăn xếp công nghệ (Technology Stack)
- Master Processor: Máy tính nhúng Raspberry Pi 4 Model B (Broadcom BCM2711, Quad-core Cortex-A72 64-bit SoC @ 1.5GHz, 4GB RAM), chạy hệ điều hành Raspberry Pi OS (Debian 10 Buster).
- Low-Level Microcontroller: Vi điều khiển ATmega2560 (Arduino Mega 2560 R3) xung nhịp $16\text{ MHz}$, 256KB Flash Memory, 54 chân Digital I/O, 16 chân Analog Input, 4 cổng UART phần cứng.
- Cơ cấu chấp hành và nguồn động lực:
- Động cơ di chuyển chính: DC Planet 36RB24900 ($24\text{VDC}$, công suất định mức $30\text{W}$, tốc độ không tải $469\text{ rpm}$, mô-men xoắn $T = 3700\text{ gf}\cdot\text{cm} = 0.362\text{ N}\cdot\text{m}$).
- Động cơ chuyển hướng & nâng hạ giỏ: Động cơ giảm tốc GA25-370 ($12\text{VDC}$, tốc độ $60\text{ rpm}$, công suất $6.91\text{W}$, mô-men xoắn $T = 1100\text{ N}\cdot\text{mm}$).
- Trục vít – đai ốc: Trục vít thép T8 bước ren $p = 2\text{ mm}$, đường kính ngoài $d = 8\text{ mm}$, góc nâng ren $\gamma = 5.2^\circ$, đảm bảo tự hãm ($\gamma < \rho \approx 7.04^\circ$).
- Bộ truyền đai: Dây đai răng GT2 bước đai $2\text{ mm}$, bề rộng đai $b = 5\text{ mm}$, bánh đai chủ động $Z_1 = 20\text{ răng}$, bánh đai bị động $Z_2 = 40\text{ răng}$, tỷ số truyền $u = 2$, khoảng cách trục $a = 111\text{ mm}$.
- Bộ truyền bánh răng côn: Thép C45, mô-đun $m = 1.25$, số răng $Z_1 = Z_2 = 20$, góc côn chia $\delta_1 = \delta_2 = 45^\circ$, tỷ số truyền $u = 1$.
- Mạch công suất: Mạch cầu H kép XY-160D (Optocoupler isolation, điện áp $6.5 - 36\text{V}$, dòng định mức $7\text{A}$, đỉnh $50\text{A}$) và mạch driver L298N.
- Chuyển đổi nguồn & Logic: Mạch hạ áp xung Buck XL4016 ($8\text{A}$), XL4015 ($5\text{A}$), mạch chuyển đổi mức tín hiệu logic 2 chiều 8 kênh TXS0108E ($3.3\text{V} \leftrightarrow 5.0\text{V}$).
- Cảm biến: Cảm biến quang hồng ngoại tiệm cận E3F-DS30C4 (ngõ ra NPN NO, khoảng cách phát hiện $10 - 30\text{ cm}$), công tắc hành trình tiếp điểm SW14 ($5\text{A}/250\text{VAC}$).
Thiết kế cơ sở dữ liệu (Database Schema)
-- Bảng quản lý thông tin trạng thái và tọa độ robot
CREATE TABLE `tbl_robots` (
`robot_id` INT(11) AUTO_INCREMENT PRIMARY KEY,
`robot_name` VARCHAR(50) NOT NULL,
`current_x` INT(11) NOT NULL DEFAULT 0,
`current_y` INT(11) NOT NULL DEFAULT 0,
`target_x` INT(11) NOT NULL DEFAULT 0,
`target_y` INT(11) NOT NULL DEFAULT 0,
`status` ENUM('IDLE', 'MOVING', 'PICKING', 'DELIVERING', 'BLOCKED', 'ERROR') DEFAULT 'IDLE',
`battery_level` FLOAT DEFAULT 100.0,
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- Bảng quản lý ô chứa hàng (Slot Mapping)
CREATE TABLE `tbl_warehouse_slots` (
`slot_id` INT(11) AUTO_INCREMENT PRIMARY KEY,
`item_code` VARCHAR(50) NOT NULL,
`item_name` VARCHAR(100) NOT NULL,
`coord_x` INT(11) NOT NULL,
`coord_y` INT(11) NOT NULL,
`quantity` INT(11) NOT NULL DEFAULT 0,
`is_occupied` TINYINT(1) DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Thiết kế giao thức truyền thông UART (Packet Framing)
Giao thức tuần tự nhị phân truyền nhận dữ liệu giữa Raspberry Pi và Arduino Mega:
$$\text{Packet Format:} \quad \langle\texttt{STX}\rangle ,|, \langle\texttt{CMD}\rangle ,|, \langle\texttt{X_POS}\rangle ,|, \langle\texttt{Y_POS}\rangle ,|, \langle\texttt{SPEED}\rangle ,|, \langle\texttt{CHECKSUM}\rangle ,|, \langle\texttt{ETX}\rangle$$
STX($0\text{x02}$): Byte bắt đầu gói tin.CMD: Mã lệnh thực thi ($0\text{x01}$: Di chuyển tọa độ, $0\text{x02}$: Nâng giỏ, $0\text{x03}$: Hạ giỏ, $0\text{x04}$: Dừng khẩn cấp).CHECKSUM: Tính bằng phép XOR từ byteCMDđếnSPEED.ETX($0\text{x03}$): Byte kết thúc gói tin.
Phương pháp nghiên cứu và phát triển
Dự án triển khai theo mô hình kỹ thuật kết hợp V-Model, chia nhỏ thành các giai đoạn thiết kế, tính toán giải tích và kiểm thử thực nghiệm:
- Giai đoạn 1 (20/09/2020 - 20/10/2020): Khảo sát bài toán, tính toán động lực học, thiết kế mô hình 3D trên Autodesk Inventor Professional 2020, kiểm nghiệm bền trục thép C45 theo tiêu chuẩn sức bền vật liệu.
- Giai đoạn 2 (21/10/2020 - 25/11/2020): Gia công chi tiết cơ khí khung nhôm định hình $20 \times 20\text{ mm}$, gia công tiện trục truyền động, lắp ráp cơ cấu truyền động đai GT2 và trục vít T8.
- Giai đoạn 3 (26/11/2020 - 20/12/2020): Thiết kế mạch điện, tích hợp vi điều khiển Arduino Mega và Raspberry Pi 4, viết code bộ điều khiển PID vận tốc và giải thuật tìm đường $A^*$.
- Giai đoạn 4 (21/12/2020 - 05/01/2021): Kiểm thử tích hợp toàn hệ thống, thử nghiệm thuật toán tránh vật cản trên ma trận thực tế và hoàn thiện báo cáo tốt nghiệp.
Implementation và kết quả
Quá trình phát triển và thuật toán cốt lõi
1. Thuật toán tìm đường tối ưu A-star ($A^*$)
Hàm đánh giá tổng chi phí cho mỗi nút trên lưới ma trận:
$$f(n) = g(n) + h(n)$$
Trong đó:
- $g(n)$: Chi phí thực tế từ điểm xuất phát đến nút hiện tại $n$. Di chuyển thẳng (ngang/dọc) có chi phí 10 đơn vị, di chuyển chéo có chi phí $\sqrt{10^2 + 10^2} \approx 14.14$ đơn vị.
- $h(n)$: Hàm ước lượng Heuristic khoảng cách Euclidean từ nút hiện tại $n(x_n, y_n)$ đến nút đích $Goal(x_g, y_g)$:
$$h(n) = \sqrt{(x_g - x_n)^2 + (y_g - y_n)^2} \times 10$$
# Cốt lõi giải thuật A* trên Raspberry Pi (Python 3.8)
import math
class Node:
def __init__(self, x, y, g_cost=0, h_cost=0, parent=None):
self.x = x
self.y = y
self.g_cost = g_cost
self.h_cost = h_cost
self.f_cost = g_cost + h_cost
self.parent = parent
def calculate_heuristic(x1, y1, x2, y2):
return math.sqrt((x2 - x1)**2 + (y2 - y1)**2) * 10
def a_star_search(grid, start, goal):
open_list = {}
closed_list = set()
start_node = Node(start[0], start[1], 0, calculate_heuristic(start[0], start[1], goal[0], goal[1]))
open_list[(start_node.x, start_node.y)] = start_node
while open_list:
# Chọn node có f_cost nhỏ nhất
current = min(open_list.values(), key=lambda n: (n.f_cost, n.h_cost))
if (current.x, current.y) == goal:
path = []
while current:
path.append((current.x, current.y))
current = current.parent
return path[::-1] # Trả về đường đi tối ưu từ Start -> Goal
del open_list[(current.x, current.y)]
closed_list.add((current.x, current.y))
# 8 hướng di chuyển xung quanh
neighbors = [(-1, 0, 10), (1, 0, 10), (0, -1, 10), (0, 1, 10),
(-1, -1, 14.14), (-1, 1, 14.14), (1, -1, 14.14), (1, 1, 14.14)]
for dx, dy, move_cost in neighbors:
nx, ny = current.x + dx, current.y + dy
if 0 <= nx < len(grid) and 0 <= ny < len(grid[0]) and grid[nx][ny] == 0:
if (nx, ny) in closed_list:
continue
g_tentative = current.g_cost + move_cost
h_val = calculate_heuristic(nx, ny, goal[0], goal[1])
neighbor_node = Node(nx, ny, g_tentative, h_val, current)
if (nx, ny) not in open_list or g_tentative < open_list[(nx, ny)].g_cost:
open_list[(nx, ny)] = neighbor_node
return None # Không tìm thấy đường đi
2. Thuật toán điều khiển vận tốc PID rời rạc
Phương trình sai số và tín hiệu điều khiển vận tốc động cơ truyền động:
$$e(k) = SP(k) - PV(k)$$
$$u(k) = u(k-1) + K_p [e(k) - e(k-1)] + K_i \cdot T_s \cdot e(k) + \frac{K_d}{T_s} [e(k) - 2e(k-1) + e(k-2)]$$
Trong đó $SP$ là tốc độ đặt (Setpoint), $PV$ là tốc độ hồi tiếp từ Encoder (Process Variable), $T_s = 10\text{ ms}$ là chu kỳ lấy mẫu.
// Cài đặt bộ điều khiển PID trên Arduino Mega 2560 (C++)
#include <Arduino.h>
const double Kp = 2.45;
const double Ki = 0.18;
const double Kd = 0.04;
const double Ts = 0.01; // 10ms
volatile long encoder_ticks = 0;
double setpoint_rpm = 150.0;
double current_rpm = 0.0;
double error = 0.0, prev_error = 0.0, integral = 0.0, derivative = 0.0;
double output_pwm = 0.0;
void count_encoder() {
encoder_ticks++;
}
void compute_pid() {
// Tính vận tốc hiện tại (vòng/phút) từ xung encoder (PPR = 330)
current_rpm = (encoder_ticks / 330.0) / (Ts / 60.0);
encoder_ticks = 0;
error = setpoint_rpm - current_rpm;
integral += error * Ts;
derivative = (error - prev_error) / Ts;
output_pwm = (Kp * error) + (Ki * integral) + (Kd * derivative);
// Bão hòa tín hiệu điều khiển PWM 8-bit [0 - 255]
if (output_pwm > 255.0) output_pwm = 255.0;
if (output_pwm < 0.0) output_pwm = 0.0;
analogWrite(5, (int)output_pwm); // Xuất xung PWM tới chân Enable Driver XY-160D
prev_error = error;
}
Thử nghiệm và đánh giá thực nghiệm
1. Đánh giá bộ điều khiển vận tốc PID
Hệ thống được thử nghiệm điều khiển đáp ứng vận tốc tại các điểm đặt (Setpoint) khác nhau: $16\text{ rpm}$, $50\text{ rpm}$ và $150\text{ rpm}$.
| Mức Setpoint vận tốc | Thời gian tăng trưởng ($T_r$) | Độ vọt lố (Overshoot - $%OS$) | Thời gian xác lập ($T_s$) | Sai số xác lập ($e_{ss}$) |
|---|---|---|---|---|
| $16\text{ rpm}$ (Tốc độ thấp) | $0.22\text{ s}$ | $2.1%$ | $0.45\text{ s}$ | $< \pm 0.8\text{ rpm}$ |
| $50\text{ rpm}$ (Tốc độ trung bình) | $0.31\text{ s}$ | $3.5%$ | $0.62\text{ s}$ | $< \pm 1.2\text{ rpm}$ |
| $150\text{ rpm}$ (Tốc độ tối đa) | $0.42\text{ s}$ | $4.8%$ | $0.78\text{ s}$ | $< \pm 1.5\text{ rpm}$ |
Nhận xét: Hệ số điều khiển xác định qua phương pháp thực nghiệm Ziegler-Nichols thứ hai mang lại khả năng kháng nhiễu tải tốt, khi robot nhận tải trọng $2\text{ kg}$, tốc độ chỉ suy giảm tức thời trong $0.15\text{ s}$ trước khi được khâu tích phân đưa về giá trị ổn định.
2. Đánh giá hiệu năng định tuyến A-star và tránh vật cản
- Kịch bản 1 (Môi trường tĩnh không vật cản): Ma trận lưới $10 \times 10$ nút. Robot tìm đường đi tối ưu có độ dài 4 bước (từ tọa độ $A(0,0) \to F(1,1) \to K(2,2) \to L(3,3)$) trong thời gian tính toán chỉ $4.2\text{ ms}$.
- Kịch bản 2 (Gặp vật cản tĩnh bất ngờ trên đường): Cảm biến hồng ngoại E3F-DS30C4 phát hiện chướng ngại vật ở cự ly $15\text{ cm}$, gửi tín hiệu ngắt về Arduino. Arduino dừng động cơ và báo lên Raspberry Pi. Raspberry Pi đánh dấu nút bị chặn vào Closed List và tái tính toán tuyến đường mới (Re-routing) trong $6.8\text{ ms}$, robot tiếp tục hành trình an toàn.
- Kịch bản 3 (Tránh xung đột 2 robot): Tọa độ của các robot được đồng bộ liên tục lên bảng
tbl_robotscủa MySQL. Khi khoảng cách giữa 2 robot $\le 1$ ô lưới, thuật toán tự động cấp quyền ưu tiên cho robot có tải, robot không tải chuyển sang trạng tháiBLOCKEDchờ trong 1.5 giây.
Đổi mới và đóng góp
- Cơ cấu chuyển hướng vuông góc không cần góc cua (Orthogonal Shift Mechanism): Khác biệt hoàn toàn so với các AGV sử dụng hệ dẫn động vi sai (Differential Drive) yêu cầu bán kính quay vòng tối thiểu $300 - 500\text{ mm}$, mô hình sử dụng hệ thống nâng hạ bánh xe bằng trục vít T8 kết hợp bộ truyền đai GT2. Giải pháp này cho phép robot chuyển hướng $90^\circ$ ngay tại chỗ, giúp tiết kiệm $100%$ không gian quay đầu của hành lang kho.
- Kiến trúc điều khiển phân tầng Master-Slave tối ưu tài nguyên: Tách biệt tác vụ tính toán giải thuật nặng ($A^*$, Socket, Web Server trên Raspberry Pi 4) và tác vụ điều khiển thời gian thực (Đọc ngắt Encoder, xuất xung PWM PID, xử lý cảm biến trên Arduino Mega), triệt tiêu hoàn toàn hiện tượng trễ thời gian (Jitter) khi động cơ hoạt động ở tốc độ cao.
- Hiệu suất lấy hàng định lượng: So với phương thức thủ công, robot giúp giảm thời gian lấy một đơn hàng mẫu gồm 3 mặt hàng từ $7.5\text{ phút}$ xuống còn $2.1\text{ phút}$ (tăng hiệu suất lấy hàng lên đến $72%$).
- Hệ thống hóa tính toán cơ khí chính xác: Toàn bộ kích thước trục thép C45, mô-men xoắn động cơ, độ bền tiếp xúc bánh răng côn ($[\sigma_H] \ge \sigma_H = 654.55\text{ MPa}$) và độ ổn định trục vít ($S_0 = 47.84 > [S_0] = 4$) đều được kiểm nghiệm theo lý thuyết chi tiết máy và sức bền vật liệu, cung cấp cơ sở dữ liệu tính toán tiêu chuẩn cho các nghiên cứu tiếp theo.
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng thực tế
- Siêu thị thông minh và bán lẻ tự động: Tích hợp trực tiếp tại các điểm bán lẻ tự động, khách hàng chọn đơn hàng qua ứng dụng web/màn hình cảm ứng, robot tự động di chuyển đến các kệ hàng, gom đủ mặt hàng và chuyển ra quầy thanh toán tự động.
- Kho phân loại hàng dược phẩm/kho linh kiện điện tử: Môi trường đòi hỏi độ chính xác tuyệt đối, tránh nhầm lẫn và giảm thiểu sự xâm nhập của con người vào khu vực phòng sạch.
- Kho lạnh công nghiệp: Giải phóng con người khỏi môi trường làm việc khắc nghiệt âm $18^\circ\text{C}$ đến âm $25^\circ\text{C}$, tiết kiệm năng lượng chiếu sáng kho bãi.
+-----------------------------------------------------------------------------------+
| LỘ TRÌNH TRIỂN KHAI VÀ THƯƠNG MẠI HÓA |
+-------------------+---------------------------------------------------------------+
| Giai đoạn 1 | Hoàn thiện mô hình PoC (Proof of Concept) tại phòng Lab |
| (3 - 6 tháng) | Tải trọng: 2kg | Kích thước: 300x400x300mm |
+-------------------+---------------------------------------------------------------+
| Giai đoạn 2 | Nâng cấp Pilot quy mô công nghiệp |
| (6 - 12 tháng) | Động cơ Servo/BLDC, Tải trọng: 50kg, Định vị LiDAR SLAM / QR |
+-------------------+---------------------------------------------------------------+
| Giai đoạn 3 | Triển khai thương mại đại trà |
| (12 - 24 tháng) | Tích hợp phần mềm ERP/WMS doanh nghiệp, Điều phối 50+ Robot |
+-------------------+---------------------------------------------------------------+
Phân tích hiệu quả kinh tế (ROI Analysis)
- Chi phí đầu tư chế tạo mô hình thử nghiệm: Xấp xỉ $12.000.000\text{ - }15.000.000\text{ VNĐ}$/robot.
- Khi triển khai công nghiệp với đội hình 5 robot phục vụ kho bán lẻ vừa ($500\text{ m}^2$): Tiết kiệm chi phí thuê 3 nhân công kho ($3 \times 8.000.000\text{ VNĐ/tháng} = 24.000.000\text{ VNĐ/tháng}$).
- Thời gian hoàn vốn dự tính (Payback Period): 9 đến 14 tháng, giảm thiểu tỷ lệ thất thoát hàng hóa xuống dưới $0.05%$.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Khung cơ khí gia công bằng nhôm định hình $20\times20\text{ mm}$ ghép nối thủ công nên độ cứng vững chưa đạt mức tối ưu khi di chuyển trên địa hình gồ ghề.
- Sử dụng cảm biến quang hồng ngoại có góc quét hẹp, dễ bị ảnh hưởng bởi ánh sáng môi trường mạnh hoặc bề mặt vật cản hấp thụ tia hồng ngoại.
- Hệ thống truyền động dùng động cơ DC chổi than truyền thống kết hợp hộp số giảm tốc cơ học, hiệu suất năng lượng chưa cao bằng động cơ không chổi than (BLDC) và phát sinh tiếng ồn sau thời gian dài vận hành.
Hướng phát triển trong tương lai
- Nâng cấp cảm biến định vị: Thay thế cảm biến hồng ngoại bằng cảm biến LiDAR 2D kết hợp camera quét mã QR code gắn trên sàn (QR Grid Navigation) để tăng độ chính xác định vị vị trí đến mức milimet.
- Tối ưu hóa giải thuật đa tác tử: Ứng dụng giải thuật tìm đường Time-Enhanced A* hoặc CBS (Conflict-Based Search) để xử lý bài toán điều phối hàng chục robot (Multi-Agent Path Finding - MAPF) mà không xảy ra hiện tượng bế tắc (Deadlock).
- Nâng cấp cơ cấu cơ khí: Chuyển sang sử dụng động cơ bước (Stepper Motor) hoặc động cơ Servo vòng kín, tích hợp bàn nâng cắt kéo (Scissor Lift Mechanism) để lấy hàng đa tầng trên kệ cao.
Đối tượng hưởng lợi
- Sinh viên ngành Cơ điện tử, Tự động hóa & Robotics: Tài liệu tham khảo toàn diện về phương pháp tính toán sức bền trục cơ khí, thiết kế bộ truyền đai/bánh răng côn, kết hợp kỹ thuật lập trình nhúng Arduino Mega và máy tính nhúng Linux.
- Kỹ sư và lập trình viên hệ thống nhúng: Khung kiến trúc giao tiếp UART chuẩn công nghiệp, mã nguồn giải thuật tìm đường $A^*$ trên Python và bộ điều khiển PID vận tốc thực tế trên ngôn ngữ C/C++.
- Doanh nghiệp Logistics & Bán lẻ: Mô hình giải pháp tự động hóa chi phí thấp, linh hoạt, khả thi cao trong việc chuyển đổi số các kho bãi truyền thống sang kho hàng thông minh ASRS.
- Nhà nghiên cứu học thuật: Cung cấp dữ liệu thực nghiệm về đáp ứng vận tốc PID và hiệu quả tính toán của giải thuật $A^*$ trong không gian lưới 2D để mở rộng sang bài toán điều khiển chuyển động không gian 3D.
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật tối thiểu để triển khai hệ thống là gì?
Hệ thống yêu cầu mặt sàn kho phẳng có độ dốc $< 2^\circ$, nguồn cấp điện AC 220V cho trạm sạc, mạng WiFi nội bộ băng tần $2.4\text{GHz}$ đảm bảo độ phủ sóng toàn kho, máy chủ hoặc máy trạm cài đặt hệ điều hành Linux (Ubuntu/Debian) chạy Apache 2.4, PHP 7.4 và MySQL 8.0.
2. Thuật toán A-star có bị giới hạn khi số lượng ô nhớ kho hàng tăng lên hàng nghìn ô không?
Với ma trận dưới $100 \times 100$ ô (10.000 vị trí), Raspberry Pi 4 tính toán đường đi trong thời gian dưới $45\text{ ms}$. Khi quy mô mở rộng trên 50.000 ô, giải thuật cần được tối ưu hóa bằng cấu trúc dữ liệu hàng đợi ưu tiên (Priority Queue / Binary Heap) hoặc chia nhỏ ma trận dạng đồ thị phân tầng (Hierarchical Pathfinding - HPA*).
3. Làm thế nào để tích hợp robot với hệ thống quản trị kho (WMS/ERP) hiện có của doanh nghiệp?
Hệ thống cung cấp sẵn các giao diện lập trình ứng dụng RESTful API thông qua máy chủ PHP. Phần mềm WMS chỉ cần gửi yêu cầu định dạng JSON (chứa mã đơn hàng và tọa độ ô chứa) qua giao thức HTTP POST đến Endpoint /api/dispatch_order.php để kích hoạt chu trình lấy hàng tự động.
4. Chi phí và quy trình bảo trì hệ thống như thế nào?
Bảo trì định kỳ mỗi 3 tháng bao gồm: tra dầu bôi trơn trục vít T8 và bộ truyền bánh răng côn, kiểm tra độ căng dây đai GT2, vệ sinh bề mặt thấu kính cảm biến hồng ngoại và kiểm tra độ chai của pin LiPo. Chi phí bảo trì ước tính dưới $5%$ giá trị thiết bị/năm.
5. Khả năng chống nhiễu của bộ điều khiển PID khi tải trọng thay đổi đột ngột ra sao?
Bộ điều khiển PID đã được tính toán bù sai số với khâu vi phân ($K_d = 0.04$) và tích phân ($K_i = 0.18$). Khi khối lượng hàng thay đổi từ $0\text{ kg}$ lên $2\text{ kg}$, tốc độ chỉ sụt giảm dưới $5%$ trong khoảng thời gian quá độ $0.15\text{ s}$ và nhanh chóng trở về giá trị đặt nhờ tín hiệu phản hồi liên tục $100\text{ Hz}$ từ encoder.
Kết luận
Đồ án tốt nghiệp "Thiết kế và chế tạo mô hình robot lấy hàng tự động" của nhóm sinh viên Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh đã giải quyết trọn vẹn bài toán tự động hóa quy trình lưu trữ và xuất nhập hàng hóa thông qua sự kết hợp nhịp nhàng giữa kỹ thuật cơ khí chính xác, điện tử điều khiển và công nghệ thông tin.
Mô hình đã chứng minh tính khả thi vượt trội với độ chính xác di chuyển cao, khả năng tìm đường tối ưu và tự động né tránh vật cản theo thời gian thực dựa trên giải thuật A-star, cùng hệ thống điều khiển vận tốc PID ổn định. Đây không chỉ là một công trình nghiên cứu học thuật đạt chuẩn kỹ thuật cao mà còn mở ra tiềm năng ứng dụng thực tiễn to lớn trong việc xây dựng các kho hàng thông minh (Smart Warehouses) tại Việt Nam trong tương lai.