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ử, các trung tâm phân phối và nhà máy sản xuất đang phải đối mặt với áp lực chưa từng có về tốc độ xử lý đơn hàng và tối ưu hóa chi phí vận hành. Theo các báo cáo logistics quốc tế, chi phí vận chuyển nội bộ và bốc xếp hàng hóa chiếm từ 20% đến 50% tổng chi phí vận hành kho bãi. Việc duy trì nhân công cho các công việc mang tính lặp lại, nặng nhọc không chỉ tiềm ẩn nguy cơ mất an toàn lao động mà còn tạo điểm nghẽn về năng suất khi không thể đáp ứng chu kỳ làm việc liên tục 24/7.
+-------------------------------------------------------------------------+
| HỆ THỐNG ROBOT VẬN CHUYỂN HÀNG TỰ ĐỘNG |
+-------------------------------------------------------------------------+
│
┌─────────────────────────┴─────────────────────────┐
▼ ▼
┌───────────────────────┐ ┌─────────────────────┐
| XỬ LÝ THỊ GIÁC (CV) | | ĐIỀU KHIỂN & CHẤP |
| - Raspberry Pi 4 | | HÀNH |
| - Camera MIPI CSI | ─── Lệnh điều khiển ────> | - Driver L298N |
| - Tracking HSV/Line | (PWM, Direction) | - 4x DC Drive Motor |
| - Giải mã QR Pyzbar | | - Nâng hạ JGB37-550 |
└───────────────────────┘ └─────────────────────┘
Đề tài "Robot vận chuyển hàng tự động" (Autonomous Delivery Robot) do sinh viên ngành Kỹ thuật Máy tính – Trường Đại học Công nghệ Thông tin, ĐHQG-HCM thực hiện dưới sự hướng dẫn của TS. Phạm Quốc Hùng, tập trung giải quyết bài toán tự động hóa vận chuyển hàng hóa nội bộ (Intralogistics). Dự án nghiên cứu, thiết kế và chế tạo một mô hình xe tự hành (AGV - Automated Guided Vehicle) 4 bánh tích hợp cơ cấu nâng hạ dạng cắt kéo (scissor lift), ứng dụng thị giác máy tính (Computer Vision) để dẫn đường theo vạch kẻ (line tracking) kết hợp hệ thống mã phản hồi nhanh (QR Code) hai cấp độ để điều hướng đa điểm và xác định vị trí bốc dỡ hàng.
Mục tiêu kỹ thuật cụ thể của đề tài:
- Thiết kế cơ khí và phân tầng phần cứng: Xây dựng khung gầm robot 4 bánh 2 tầng tối ưu không gian, tích hợp cơ cấu nâng hạ bằng động cơ DC giảm tốc kim loại JGB37-550 (tỉ số truyền 505:1).
- Xây dựng thuật toán bám line bằng Computer Vision: Sử dụng thư viện OpenCV 4.5+ trên nền tảng máy tính nhúng Raspberry Pi 4 để xử lý không gian màu HSV, trích xuất contour và tính toán tọa độ trọng tâm ($C_x, C_y$) nhằm điều khiển hướng lái theo thời gian thực.
- Phát triển hệ thống điều hướng và định danh bằng mã QR: Ứng dụng thư viện pyzbar để phân loại và xử lý 2 nhóm mã QR: Nhóm 1 dùng để chuyển hướng tại ngã rẽ vào kho đích; Nhóm 2 định vị vị trí dừng chính xác để kích hoạt chu trình nâng/hạ kệ hàng.
- Phát triển giao diện điều khiển (GUI): Xây dựng bảng điều khiển người dùng trực quan trên nền tảng Tkinter, hỗ trợ chỉ định lộ trình giao nhận giữa các trạm kho (Kho 1, Kho 2, Kho 3) thông qua kết nối không dây VNC.
- Đánh giá và tối ưu hóa thực nghiệm: Phân tích thực nghiệm độ trễ xử lý khung hình, kiểm thử hoạt động của động cơ qua điều chế độ rộng xung PWM (50% và 70%), và đánh giá khả năng phản hồi tín hiệu rẽ tại các góc chuyển hướng (>120°, 90°–120°, <90°).
Phạm vi và giới hạn hoạt động:
- Tải trọng danh định: Hỗ trợ kiện hàng/kệ hàng có khối lượng tối đa $\le 1.0\text{ kg}$ (tương ứng quy mô mô hình phòng thí nghiệm).
- Môi trường hoạt động: Mặt phẳng bằng phẳng trong nhà, điều kiện ánh sáng tiêu chuẩn, đường dẫn line tương phản rõ nét với nền.
- Thời gian chu trình: Đạt thời gian vận chuyển $\le 3\text{ phút}$ cho quãng đường 3 mét từ vị trí lấy hàng đến trạm trả hàng.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Trong công nghiệp logistics hiện đại, các giải pháp xe tự hành AGV chia thành nhiều phân khúc công nghệ dẫn đường:
| Tiêu chí so sánh |
AGV Dò Line Cảm Biến Quang (IR Photodiode) |
AGV Dẫn Đường Từ Tính (Magnetic Tape) |
Giải Pháp Robot Thị Giác Máy Tính (Dự án này) |
| Độ phức tạp phần cứng |
Thấp (Mảng 5-8 cảm biến hồng ngoại) |
Trung bình (Cảm biến từ trường chuyên dụng) |
Gọn nhẹ (01 Camera MIPI CSI + Raspberry Pi 4) |
| Tính linh hoạt lộ trình |
Cố định, khó thay đổi kịch bản phức tạp |
Cố định, chi phí dán lại băng từ cao |
Linh hoạt cao, kết hợp vạch quang học và mã QR động |
| Khả năng định danh trạm |
Cần thêm cảm biến RFID hoặc công tắc hành trình |
Phụ thuộc vào mốc từ tính phụ |
Đọc trực tiếp mã QR chứa metadata lệnh điều hướng |
| Chi phí triển khai |
Rất thấp |
Cao (băng từ chuyên dụng, bảo trì liên tục) |
Tối ưu, tận dụng sức mạnh tính toán biên (Edge Computing) |
| Khả năng nâng cấp thuật toán |
Hạn chế (logic cứng) |
Hạn chế |
Cao (dễ dàng tích hợp AI, lọc nhiễu số, PID số) |
Phân loại yêu cầu hệ thống theo mô hình MoSCoW:
- Must Have (Bắt buộc): Bám đường line ổn định; nhận diện và giải mã chính xác 2 loại mã QR; điều khiển động cơ di chuyển tiến/lùi/rẽ; kích hoạt cơ cấu nâng/hạ kệ hàng đúng vị trí; giao diện chọn kho nguồn/đích.
- Should Have (Nên có): Xử lý tín hiệu điều khiển mượt mà bằng PWM; stream dữ liệu khung hình trực tiếp lên màn hình giám sát; tự động quay về trạm chờ khi hoàn thành lệnh.
- Could Have (Có thể mở rộng): Tự động phát hiện vật cản bằng cảm biến siêu âm; thuật toán PID tự cân chỉnh góc lệch bám line.
- Won't Have (Chưa thực hiện trong giai đoạn này): Bản đồ hóa SLAM bằng cảm biến LiDAR; điều hướng tự do không phụ thuộc đường line định sẵn.
Thiết kế hệ thống
Kiến trúc phân tầng phần cứng và cơ chế kết nối
Robot được phân chia không gian vật lý thành kiến trúc 2 tầng độc lập nhằm triệt tiêu hiện tượng nhiễu điện từ (EMI) từ động cơ công suất tác động lên vi xử lý điều khiển:
- Tầng dưới (Bo mạch & Xử lý tín hiệu): Bố trí máy tính nhúng Raspberry Pi 4 Model B, 02 module mạch cầu H kép L298N, khối chia nguồn và mạch hạ áp DC-DC.
- Tầng trên (Cơ cấu chấp hành): Bố trí cơ cấu khung nâng hợp kim nhôm (kích thước $9 \times 9\text{ cm}$, hành trình nâng $2.5\text{ cm} \rightarrow 9.0\text{ cm}$), kết nối cơ khí với động cơ trục vít bánh răng JGB37-550.
- Bộ thu nhận hình ảnh: Camera gắn vuông góc 90° so với mặt phẳng sàn, loại bỏ tối đa góc mù và hiện tượng biến dạng phối cảnh (perspective distortion) khi quét mã QR và trích xuất đường dẫn.
graph TD
subgraph INPUT_SOURCES["Khối Thu Nhận Tín Hiệu & Dữ Liệu"]
GUI["Giao Diện Điều Khiển (Tkinter GUI)"]
CAM["Camera Module (MIPI CSI - 90 độ)"]
end
subgraph PROCESSING_CORE["Khối Xử Lý Trung Tâm (Raspberry Pi 4)"]
RPI["Hệ Điều Hành Raspbian OS"]
CV_LINE["Xử Lý Ảnh Bám Line (OpenCV HSV & Contours)"]
CV_QR["Nhận Dạng & Giải Mã Mã QR (pyzbar)"]
LOGIC["Module Điều Phối Trạng Thái Hệ Thống"]
end
subgraph ACTUATORS["Khối Chấp Hành & Động Cơ"]
DRV_WHEEL["Module Cầu H L298N (Driver Di Chuyển)"]
DRV_LIFT["Module Cầu H L298N (Driver Nâng Hạ)"]
MOT_WHEEL["4x Động Cơ DC Bánh Xe (8.4V Rail)"]
MOT_LIFT["Động Cơ Giảm Tốc JGB37-550 (12V Rail)"]
end
GUI -->|Lệnh chọn kho| LOGIC
CAM -->|Khung hình video thô| CV_LINE
CAM -->|Khung hình video thô| CV_QR
CV_LINE -->|Tọa độ Cx, Cy| LOGIC
CV_QR -->|Mã kho & Trạm nâng| LOGIC
LOGIC -->|Tín hiệu GPIO / PWM| DRV_WHEEL
LOGIC -->|Tín hiệu GPIO Kích Nâng/Hạ| DRV_LIFT
DRV_WHEEL --> MOT_WHEEL
DRV_LIFT --> MOT_LIFT
Bảng thông số công nghệ và ngăn xếp phần cứng:
| Thành phần |
Đặc tính kỹ thuật chi tiết |
Vai trò trong hệ thống |
| SBC Xử lý trung tâm |
Raspberry Pi 4 Model B (Broadcom BCM2711, 4-core Cortex-A72 @ 1.5GHz) |
Chạy thuật toán thị giác máy tính, điều khiển logic, quản lý GUI |
| Hệ điều hành |
Raspbian Linux OS (Debian-based), Desktop Environment PIXEL/LXDE |
Cung cấp môi trường thực thi ổn định cho Python runtime |
| Mạch điều khiển động cơ |
02x Module cầu H kép L298N (IC L298N ST New, công suất 25W/cầu) |
01 bo điều khiển 4 bánh xe di chuyển; 01 bo điều khiển nâng hạ |
| Động cơ nâng hạ |
JGB37-550 DC 12V, tỉ số truyền 505:1, moment xoắn định mức 50 kg.cm |
Truyền động nâng/hạ cơ cấu cắt kéo chịu tải trọng cao |
| Hệ thống cấp nguồn |
Bộ pin sạc Lithium-ion 18650 (2100mAh, dòng xả liên tục max 6.3A, 3C) |
Cung cấp các đường nguồn riêng: 5V (RPi), 8.4V (Drive), 12V (Lift) |
| Phần mềm xử lý ảnh |
Python 3.9, OpenCV Library 4.5.x, Thư viện pyzbar 0.1.9 |
Xử lý ảnh nhị phân, phân đoạn màu HSV, giải mã ma trận QR |
Methodology
Dự án áp dụng phương pháp phát triển lặp kết hợp kiểm thử tích hợp (Iterative Hardware-Software Co-Design) xuyên suốt 16 tuần:
[Tuần 1 - 4] ──> Khảo sát yêu cầu, thiết kế khung xe 2 tầng & sơ đồ mạch
│
[Tuần 5 - 8] ──> Phát triển Pipeline xử lý ảnh OpenCV (HSV, Contours, Centroid)
│
[Tuần 9 - 12] ──> Tích hợp thư viện pyzbar giải mã QR & lập trình GUI Tkinter
│
[Tuần 13 - 16] ─> Kiểm thử thực nghiệm tải trọng, tinh chỉnh PWM & tối ưu góc rẽ
- Đánh giá rủi ro và biện pháp giảm thiểu:
- Rủi ro nhiễu quang học: Sự biến thiên của ánh sáng môi trường làm sai lệch ngưỡng nhị phân. Giải pháp: Thiết lập dải lọc màu HSV (Hue-Saturation-Value) động thay vì sử dụng không gian màu RGB cố định.
- Rủi ro sụt áp vi xử lý: Động cơ DC khi khởi động hoặc đảo chiều đột ngột gây sụt áp, làm Raspberry Pi khởi động lại. Giải pháp: Tách biệt hoàn toàn nguồn nuôi logic 5V và nguồn động lực (8.4V/12V) qua hệ thống pin riêng biệt.
Implementation và kết quả
Development process
Quá trình phát triển tập trung vào việc hiện thực hóa 3 module phần mềm lõi: Module dò đường bằng thị giác, Module giải mã QR và Module điều khiển giao diện.
QUY TRÌNH THỊ GIÁC MÁY TÍNH (COMPUTER VISION)
+----------------+ +-------------------+ +------------------+ +--------------------+
| Khung Hình | ──> | Chuyển Không Gian | ──> | Nhị Phân Hóa & | ──> | Tính Tọa Độ Trọng |
| Camera CSI | | Màu Sang HSV | | Tìm Contours | | Tâm (Cx, Cy) & PWM |
+----------------+ +-------------------+ +------------------+ +--------------------+
│
▼
+--------------------+
| Quét & Giải Mã |
| Mã QR (pyzbar) |
+--------------------+
1. Thuật toán bám line bằng Contour & Moments trong OpenCV
Đường dẫn được định vị thông qua quá trình lọc ngưỡng màu HSV và tính toán tọa độ trọng tâm (Centroid):
import cv2
import numpy as np
def process_line_tracking(frame):
# Chuyển đổi khung hình từ BGR sang không gian màu HSV
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
# Định nghĩa dải ngưỡng HSV nhận diện đường line (ví dụ: line màu đen/tối)
lower_hsv = np.array([0, 0, 0])
upper_hsv = np.array([180, 255, 60])
# Tạo mặt nạ nhị phân và lọc nhiễu bằng Gaussian Blur
mask = cv2.inRange(hsv, lower_hsv, upper_hsv)
blurred = cv2.GaussianBlur(mask, (5, 5), 0)
# Trích xuất đường viền (Contours)
contours, _ = cv2.findContours(blurred, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
cx, cy = 0, 0
if len(contours) > 0:
# Lấy contour có diện tích lớn nhất đại diện cho đường line chính
c = max(contours, key=cv2.contourArea)
M = cv2.moments(c)
if M["m00"] != 0:
cx = int(M["m10"] / M["m00"])
cy = int(M["m01"] / M["m00"])
cv2.circle(frame, (cx, cy), 5, (0, 0, 255), -1)
return cx, cy, frame
2. Thuật toán phân tích và giải mã mã QR (pyzbar)
Hệ thống sử dụng camera quét liên tục để nhận diện mã QR đặt trên đường đi:
from pyzbar.pyzbar import decode
def scan_qr_code(frame):
decoded_objects = decode(frame)
qr_data = None
for obj in decoded_objects:
# Trích xuất dữ liệu chuỗi từ mã QR
qr_data = obj.data.decode("utf-8")
(x, y, w, h) = obj.rect
cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)
cv2.putText(frame, qr_data, (x, y - 10),
cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
return qr_data, frame
Testing và validation
Hệ thống đã trải qua quá trình kiểm thử thực nghiệm trên sa bàn mô phỏng môi trường kho vận với 3 trạm kệ hàng và các góc chuyển hướng khác nhau.
Đánh giá khả năng bám line theo góc chuyển hướng:
| Góc uốn của đường chạy (Độ) |
Kết quả kiểm thử tín hiệu rẽ |
Nguyên nhân kỹ thuật |
Biện pháp hiệu chỉnh |
| Góc tù (> 120°) |
Rất tốt: Xe nhận diện mượt mà, bám sát tâm vạch |
Tốc độ thay đổi $C_x$ nhỏ hơn tốc độ lấy mẫu của Camera (30 fps) |
Giữ nguyên tham số điều khiển |
| Góc vuông (90° – 120°) |
Trung bình: Đôi lúc mất line nếu xe chạy tốc độ cao |
Quán tính cơ khí khiến camera lướt qua góc rẽ trước khi thuật toán kịp điều chỉnh motor |
Giảm duty cycle PWM xuống 50% trước khi tiếp cận giao lộ |
| Góc nhọn (< 90°) |
Kém / Không rẽ được: Xe có xu hướng đi thẳng chệch vạch |
Camera mất dấu contour ở biên hình ảnh do tốc độ xử lý khung hình không bắt kịp vận tốc góc |
Thiết kế bán kính cong $R \ge 15\text{ cm}$ cho các khúc cua |
Đánh giá hiệu suất vận hành theo chu kỳ xung PWM:
- Tại mức PWM 50%: Vận tốc di chuyển đạt xấp xỉ $0.15\text{ m/s}$. Hệ thống xử lý ảnh duy trì tốc độ 25–30 FPS ổn định, robot bám line chính xác, không xảy ra hiện tượng lắc lư (hunting effect), dừng đúng tâm mã QR tại trạm hàng.
- Tại mức PWM 70%: Vận tốc tăng lên $0.25\text{ m/s}$. Tải trọng 1kg gây hiện tượng trượt quán tính khi phanh dừng; ở các khúc cua $90^\circ$, camera xuất hiện hiện tượng nhòe chuyển động (motion blur) dẫn đến tỷ lệ đọc sót mã QR tăng 18%.
┌────────────────────────────────────────────────────────────────────────┐
│ SO SÁNH ĐẶC TÍNH VẬN HÀNH THEO XUNG ĐIỀU KHIỂN │
├───────────────────┬────────────────────────────────────────────────────┤
│ Mức PWM 50% │ [=========> ] 0.15 m/s (Tối ưu) │
│ Tỷ lệ bám line │ [===========================>] 98.2% │
├───────────────────┼────────────────────────────────────────────────────┤
│ Mức PWM 70% │ [===============> ] 0.25 m/s (Nhanh) │
│ Tỷ lệ bám line │ [====================> ] 81.5% (Dễ trượt) │
└───────────────────┴────────────────────────────────────────────────────┘
Kết quả đạt được
+-------------------------------------------------------------------------+
| BẢNG KẾT QUẢ ĐẠT ĐƯỢC SO VỚI MỤC TIÊU |
+-------------------------------------------------------------------------+
| Hạng mục chức năng | Mục tiêu thiết kế | Kết quả thực nghiệm |
+------------------------------+-----------------------+---------------------+
| Khả năng mang tải (Payload) | 1.0 kg | Đạt 1.0 kg ổn định |
| Thời gian giao hàng (cự ly 3m)| <= 3.0 phút | 2.2 - 2.5 phút |
| Độ chính xác định vị mã QR | Dừng đúng vị trí nâng | Sai số <= 1.5 cm |
| Giao diện tương tác Tkinter | Trực quan, đa nhiệm | Phản hồi tức thì |
+-------------------------------------------------------------------------+
Đổi mới và đóng góp
- Kiến trúc thị giác máy tính tích hợp kép (Dual-Purpose Computer Vision): Thay vì sử dụng hai hệ thống cảm biến độc lập (cảm biến quang để dò line và đầu đọc mã vạch riêng), giải pháp tích hợp cả hai tác vụ vào duy nhất một camera MIPI CSI thông qua kỹ thuật xử lý đa luồng trên OpenCV và pyzbar, giúp giảm 40% chi phí phần cứng cảm biến.
- Cơ chế mã QR phân tầng ngữ nghĩa (Hierarchical Semantic QR Codes): Phân chia mã QR thành 2 nhóm chức năng riêng biệt:
- Mã định tuyến (Routing Tag): Đặt tại các ngã rẽ nhánh để hướng dẫn robot chuyển hướng động theo cấu hình đơn hàng.
- Mã tác vụ (Station Tag): Đặt tại tâm điểm kệ hàng, chứa lệnh điều khiển cơ cấu nâng hạ JGB37-550 tự động.
- Cơ cấu khung gầm 2 tầng triệt tiêu nhiễu: Thiết kế vật lý tách biệt tầng mạch điều khiển nhạy cảm và tầng động lực nâng hạ giúp nâng cao độ ổn định tín hiệu điều khiển, ngăn ngừa hoàn toàn hiện tượng reset vi điều khiển do xung cảm ứng từ động cơ.
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng trong nhà máy và kho thông minh
- Kho thương mại điện tử vi mô (Micro-fulfillment Center): Vận chuyển tự động các khay chứa linh kiện nhỏ, tài liệu hoặc hộp thuốc y tế trong môi trường phòng sạch.
- Dây chuyền lắp ráp bán dẫn/điện tử: Cấp phát nguyên vật liệu từ kho trung tâm đến từng bàn làm việc của công nhân theo yêu cầu thời gian thực.
sequenceDiagram
autonumber
actor User as Người Vận Hành
participant GUI as Giao Diện Tkinter
participant RPi as Raspberry Pi 4 (CV Core)
participant Motor as Động Cơ Di Chuyển
participant Lift as Động Cơ Nâng JGB37-550
User->>GUI: Chọn Kho Nguồn (Kho 1) & Kho Đích (Kho 2)
GUI->>RPi: Gửi Dispatch Command
RPi->>Motor: Bắt đầu dò Line (HSV Tracking)
RPi->>RPi: Quét thấy QR Định Tuyến Kho 1
RPi->>Motor: Rẽ vào nhánh Kho 1
RPi->>RPi: Quét thấy QR Trạm Nâng Kho 1
RPi->>Motor: Dừng xe
RPi->>Lift: Kích hoạt nâng kệ hàng (Hành trình 5cm)
Lift-->>RPi: Hoàn thành nâng
RPi->>Motor: Lùi xe và bám line về tuyến chính
RPi->>RPi: Điều hướng đến Kho 2 & Hạ hàng
Phân tích chi phí - lợi ích (Cost-Benefit Analysis)
+-------------------------------------------------------------------------+
| BẢNG PHÂN TÍCH CHI PHÍ THIẾT BỊ (BOM) |
+-------------------------------------------------------------------------+
| Hạng mục linh kiện | Chi phí ước tính (VNĐ) |
+---------------------------------------------+---------------------------+
| Máy tính nhúng Raspberry Pi 4 (4GB RAM) | 1.650.000 |
| Động cơ giảm tốc nâng hạ JGB37-550 | 220.000 |
| 02x Module mạch cầu H L298N | 90.000 |
| Camera Module CSI góc rộng | 280.000 |
| Khung xe 4 bánh, bộ nâng nhôm & 4 động cơ | 450.000 |
| Khối pin Lithium-ion 18650 & Mạch sạc | 260.000 |
| Vật tư phụ, dây nối, khung gá 3D | 150.000 |
+---------------------------------------------+---------------------------+
| TỔNG CHI PHÍ PHẦN CỨNG | ~ 3.100.000 VNĐ (~ $130) |
+---------------------------------------------+---------------------------+
So với một hệ thống AGV công nghiệp thương mại nhập khẩu có giá từ $3,000 – $8,000, mô hình robot tự hành này mang lại tiềm năng tiếp cận vượt trội cho các doanh nghiệp vừa và nhỏ (SMEs) với thời gian hoàn vốn (ROI) ước tính chỉ dưới 6 tháng khi nhân rộng quy mô sản xuất.
Hạn chế và hướng phát triển
Các hạn chế kỹ thuật hiện hữu:
- Độ trễ xử lý khi tốc độ cao: Tại dải vận tốc $>0.25\text{ m/s}$, tần số lấy mẫu khung hình của camera kết hợp độ trễ xử lý thuật toán dẫn đến hiện tượng trễ tín hiệu lái tại các góc cua gấp $<90^\circ$.
- Độ nhạy cảm với ánh sáng môi trường: Thuật toán phân ngưỡng màu HSV cố định có thể bị ảnh hưởng nếu cường độ chiếu sáng trong kho thay đổi đột ngột (đổ bóng mạnh hoặc ánh sáng chói).
- Điều khiển vòng hở (Open-loop Control): Hệ thống hiện tại chưa tích hợp cảm biến đo vận tốc góc (Encoder) ở các bánh xe để thực hiện thuật toán điều khiển PID kín.
Hướng nâng cấp và phát triển tương lai:
- Tích hợp thuật toán điều khiển PID: Sử dụng sai số khoảng cách tâm đường line $e(t) = C_x - \text{Width}/2$ làm đầu vào cho bộ điều khiển PID số, giúp robot chuyển hướng êm dịu, loại bỏ rung lắc.
- Nâng cấp công nghệ định vị SLAM: Bổ sung cảm biến 2D LiDAR để xây dựng bản đồ môi trường, kết hợp hệ điều hành chuyên dụng cho robot (ROS 2 - Robot Operating System).
- Giao thức kết nối IoT công nghiệp: Nâng cấp tầng giao tiếp sang chuẩn MQTT/WebSocket để kết nối trực tiếp với hệ thống quản trị kho hàng trung tâm (WMS - Warehouse Management System).
Đối tượng hưởng lợi
- Sinh viên & Học viên ngành Kỹ thuật Máy tính / Cơ điện tử: Cung cấp tài liệu tham khảo thực tế về quy trình thiết kế hệ thống nhúng, tích hợp thị giác máy tính OpenCV trên phần cứng Raspberry Pi và điều khiển động cơ công suất.
- Kỹ sư & Lập trình viên Embedded / Robotics: Tham khảo mẫu mã nguồn (source code pattern) về xử lý luồng hình ảnh, kỹ thuật lọc nhị phân HSV và giải pháp phân tầng cách ly nhiễu phần cứng.
- Doanh nghiệp vừa và nhỏ (SMEs): Bản thiết kế chứng minh tính khả thi (Proof of Concept) của việc triển khai tự động hóa nội bộ với chi phí siêu thấp, dễ bảo trì và dễ tùy biến.
- Các nhà nghiên cứu: Dữ liệu thực nghiệm về mối tương quan giữa tần số điều chế xung PWM, vận tốc góc và độ trễ khung hình của camera trong bài toán bám line.
Câu hỏi thường gặp
1. Yêu cầu phần cứng và môi trường tối thiểu để triển khai hệ thống là gì?
Hệ thống yêu cầu tối thiểu một máy tính nhúng Raspberry Pi 4 Model B (khuyến nghị bản 4GB RAM), thẻ nhớ MicroSD tối thiểu 16GB (Class 10), Camera tương thích chuẩn MIPI CSI, 02 driver L298N, động cơ nâng JGB37-550 12V và nguồn pin xả cao (tối thiểu 6.3A). Môi trường sàn cần có vạch line độ tương phản cao và mã QR in rõ nét kích thước tối thiểu $5 \times 5\text{ cm}$.
2. Làm thế nào để khắc phục hiện tượng xe bị mất vạch khi đi qua góc cua gấp?
Để giải quyết bài toán góc rẽ gấp ($<90^\circ$), cần áp dụng 3 giải pháp đồng bộ: (1) Giảm chu kỳ xung PWM xuống 40–50% khi chuẩn bị vào cua; (2) Tăng góc mở của ống kính camera hoặc nâng cao vị trí đặt camera để mở rộng trường nhìn (FOV); (3) Tối ưu hóa kích thước khung hình xử lý (resize về $320 \times 240\text{ px}$) để tăng tốc độ xử lý lên $>45\text{ FPS}$.
3. Hệ thống có thể tích hợp với phần mềm quản lý kho (WMS/ERP) hiện có không?
Hoàn toàn khả thi. Do phần mềm điều khiển được viết trên nền Python, hệ thống có thể dễ dàng mở rộng bằng cách bổ sung module kết nối mạng RESTful API hoặc MQTT client để nhận trực tiếp danh sách lệnh xuất nhập kho từ máy chủ trung tâm thay vì bấm nút thủ công trên giao diện Tkinter.
4. Chi phí bảo trì định kỳ và độ bền của các linh kiện cơ điện ra sao?
Cơ cấu nâng hạ sử dụng động cơ bánh răng kim loại JGB37-550 có độ bền cao, không bị mòn răng như động cơ bánh răng nhựa. Khối pin 18650 có tuổi thọ khoảng 500 chu kỳ nạp xả. Chi phí thay thế định kỳ cho toàn bộ linh kiện tiêu hao ước tính dưới 300.000 VNĐ/năm.
5. Khả năng mở rộng tải trọng lên mức công nghiệp (50kg - 100kg) cần thay đổi những gì?
Để nâng cấp lên mức tải trọng công nghiệp, cần thay đổi: (1) Thay thế khung gầm nhôm mỏng bằng khung thép chịu lực; (2) Thay driver L298N bằng các mạch điều khiển MOSFET công suất cao hoặc driver động cơ không chổi than BLDC chuyên dụng; (3) Thay thế pin 18650 bằng khối pin LiFePO4 dung lượng lớn (24V/48V); (4) Sử dụng xilanh điện (Linear Actuator) cho cơ cấu nâng hạ.
Kết luận
Đề tài "Robot vận chuyển hàng tự động" đã nghiên cứu, thiết kế và thử nghiệm một giải pháp xe tự hành AGV hoàn chỉnh, kết hợp giữa cơ cấu cơ khí nâng hạ 2 tầng, hệ thống nhúng Raspberry Pi 4 và thuật toán thị giác máy tính hiện đại. Việc ứng dụng thành công kỹ thuật xử lý ảnh OpenCV để bám vạch và thư viện pyzbar để định vị mã QR hai cấp độ đã chứng minh tính hiệu quả vượt trội so với các phương pháp dò line cảm biến quang truyền thống.
Kết quả thực nghiệm khẳng định robot có khả năng vận chuyển chính xác kiện hàng 1.0 kg giữa các trạm kho trong thời gian dưới 2.5 phút, duy trì độ ổn định cao ở mức PWM 50%. Đây là nền tảng kỹ thuật vững chắc để tiếp tục nghiên cứu tích hợp thuật toán điều khiển PID, công nghệ bản đồ hóa SLAM và giao thức truyền thông IoT công nghiệp, hướng tới mục tiêu thương mại hóa và ứng dụng rộng rãi trong các nhà máy thông minh tại Việt Nam.