Giới thiệu dự án

Bối cảnh và thực trạng môi trường đô thị

Theo số liệu thống kê từ Bộ Tài nguyên và Môi trường, tổng khối lượng chất thải rắn sinh hoạt phát sinh tại Việt Nam ước tính vượt mức 50.000 tấn/ngày, trong đó khu vực đô thị chiếm khoảng 70% (tương đương 35.000 tấn/ngày). Riêng hai đô thị đặc biệt là Hà Nội và TP. Hồ Chí Minh thải ra từ 7.000 đến 9.000 tấn rác thải sinh hoạt mỗi ngày. Với tốc độ đô thị hóa nhanh (trên 30% tại hơn 858 đô thị toàn quốc), lượng rác thải gia tăng trung bình trên 10% mỗi năm, gây áp lực khổng lồ lên hệ thống thu gom và xử lý rác truyền thống.

Tại các khu vực công cộng như công viên, khuôn viên bệnh viện, quảng trường và nhà ga sân bay, việc thu gom rác thủ công đối mặt với nhiều rủi ro lây nhiễm chéo, tiêu tốn chi phí nhân công và suy giảm năng suất vào các khung giờ cao điểm hoặc điều kiện thời tiết khắc nghiệt. Việc tự động hóa công tác thu gom bằng Robot tự hành (Autonomous Guided Vehicle - AGV) là xu thế tất yếu nhằm tối ưu hóa chi phí vận hành và nâng cao chất lượng vệ sinh môi trường.

Vấn đề kỹ thuật đặt ra (Problem Statement)

Các dòng robot vệ sinh và AGV truyền thống thường sử dụng hệ truyền động vi sai (Differential Drive) hoặc bánh đa hướng Mecanum/Omni. Tuy nhiên, chúng tồn tại nhiều điểm nghẽn kỹ thuật:

  • Hệ truyền động vi sai: Bán kính quay vòng lớn, bị ràng buộc không toàn phương (non-holonomic), gây khó khăn khi xoay sở và định vị chính xác trong không gian hẹp.
  • Hệ bánh Omni / Mecanum: Dễ trượt con lăn khi di chuyển trên bề mặt ẩm ướt hoặc không bằng phẳng, gây sai số tích lũy lớn trong quá trình ước lượng vị trí (Odometry) và giảm hiệu suất truyền lực (~30–40% tiêu hao do ma sát lăn góc).
  • Hệ thống điều khiển: Thiếu khả năng giám sát từ xa theo thời gian thực và phụ thuộc vào lập trình quỹ đạo cố định, thiếu tính linh hoạt khi điều phối nhiệm vụ.

Mục tiêu dự án

  1. Thiết kế và tối ưu hóa hệ thống cơ khí 3 cụm bánh lái xoay độc lập (Swerve Drive Module) đạt chuyển động toàn phương (Holonomic Drive) với tải trọng làm việc 15 kg.
  2. Thiết kế bo mạch nhúng phân tầng: Tầng điều khiển chấp hành cấp thấp sử dụng vi điều khiển STM32F407VET6 (ARM Cortex-M4) và tầng xử lý trung tâm cấp cao sử dụng Raspberry Pi 3 Model B+.
  3. Xây dựng thuật toán xử lý ảnh trên nền tảng OpenCV 4.x để nhận dạng mã QR định vị và tính toán tọa độ không gian làm việc.
  4. Phát triển hệ thống Web Server nội bộ giao tiếp qua HTTP/WebSocket, cho phép giám sát thông số vận hành (vận tốc, góc lái, tọa độ) và điều khiển chế độ tự động/thủ công.
  5. Triển khai thuật toán điều khiển phản hồi vòng kín PID số cho từng động cơ dẫn động và động cơ bẻ lái, đảm bảo sai số bám quỹ đạo $e < 2.5\text{ cm}$.

Giải pháp kỹ thuật và tính khả thi

Đề tài lựa chọn cơ cấu truyền động Swerve Wheel 3 cụm độc lập (mỗi cụm gồm 1 động cơ bẻ hướng lái steering và 1 động cơ truyền động lực kéo drive). Cấu hình 3 cụm bánh bố trí dạng tam giác đều $120^\circ$ giúp triệt tiêu hoàn toàn hiện tượng trượt con lăn của bánh Mecanum, giữ 100% lực kéo tiếp xúc mặt đường và cho phép robot quay tại chỗ hoặc tịnh tiến theo mọi vector hướng bất kỳ $(V_x, V_y, \omega)$ ngay tức thời.

                  [Cụm Swerve 1] (0°, R)
                         ▲
                        / \
                       /   \
                      /     \
    (-cos30°, -sin30°)       (cos30°, -sin30°)
      [Cụm Swerve 2] ◄───────► [Cụm Swerve 3]

Kết quả kỳ vọng đo lường được

  • Tốc độ di chuyển tối đa: $v_{\max} = 0.8\text{ m/s}$, tốc độ góc quay tối đa $\omega_{\max} = 1.2\text{ rad/s}$.
  • Độ chính xác định vị bám trạm: Sai số vị trí $\Delta d \le 2.0\text{ cm}$, sai số góc lệch $\Delta \theta \le 2.0^\circ$.
  • Thời gian xử lý ảnh QR Code: $t_{\text{proc}} \le 45\text{ ms/frame}$ ở độ phân giải $1280 \times 720$.
  • Thời lượng hoạt động liên tục: $\ge 3.5\text{ giờ}$ với khối pin LiPo 6S 24V 8000mAh.

Phạm vi và giới hạn đề tài

  • Phạm vi: Nghiên cứu động học ngược hệ 3 bánh Swerve, thiết kế chế tạo mô hình thực nghiệm, lập trình nhận diện tọa độ qua mã QR mốc chuẩn trên mặt sàn phẳng hoặc bảng định vị, giám sát qua mạng cục bộ LAN/Wi-Fi.
  • Giới hạn: Robot hoạt động tối ưu trên bề mặt sàn phẳng trong nhà hoặc sân nội bộ có độ dốc $< 5^\circ$; nhận diện mục tiêu bằng QR Code trong điều kiện ánh sáng ổn định (200–800 lux); chưa tích hợp cánh tay gắp rác phức tạp mà sử dụng thùng chứa và cơ cấu gom rác bán tự động.

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ệ truyền động Vi sai (Differential) Hệ bánh Mecanum / Omni Hệ bánh đa hướng Swerve Drive (Đề tài)
Bậc tự do chuyển động 2 DOF (Non-holonomic) 3 DOF (Holonomic) 3 DOF (Holonomic)
Bán kính quay xe Tối thiểu $\ge 0$ (phải xoay thân) Bằng 0 (di chuyển đa hướng tức thì) Bằng 0 (di chuyển đa hướng tức thì)
Hiệu suất truyền lực Cao (~90–95%) Thấp (~60–70% do con lăn trượt) Rất cao (~88–92%, lốp cao su bám trực tiếp)
Độ phức tạp điều khiển Thấp (2 động cơ) Trung bình (3-4 động cơ) Cao (6 động cơ: 3 dẫn động + 3 bẻ lái)
Độ bền & Tải trọng Tốt trên mặt gồ ghề Kém, con lăn dễ kẹt bụi rác Cao, chịu tải trọng lớn, ít mài mòn con lăn

Phân tích yêu cầu chức năng (Mô hình MoSCoW)

  • Must have (Bắt buộc): Khả năng chuyển động đa hướng 3 bậc tự do $(x, y, \theta)$; thuật toán PID ổn định tốc độ và góc quay; đọc xử lý QR Code; thùng gom rác tích hợp.
  • Should have (Cần có): Giao diện Web Dashboard giám sát trạng thái thời gian thực; chế độ điều khiển thủ công qua Virtual Joystick/Web Buttons.
  • Could have (Có thể có): Cảm biến la bàn từ tính số để bù sai số trôi góc Yaw; chuyển đổi mượt mà giữa các profile vận tốc.
  • Won't have (Chưa thực hiện): Tích hợp cảm biến LiDAR 3D SLAM và cánh tay robot 6 bậc tự do thu gom rác tự động.

Thiết kế hệ thống

Kiến trúc tổng thể hệ thống (System Architecture)

Hệ thống điều khiển được phân thành 3 lớp phân cấp: Lớp giao tiếp người dùng (UI/UX), Lớp xử lý trung tâm (High-Level Computing), và Lớp điều khiển chấp hành thời gian thực (Low-Level Real-Time Control).

graph TD
    Client[Web Browser / Dashboard Client] <-->|HTTP / WebSocket via Wi-Fi| RPi[Raspberry Pi 3 Model B+ (High-Level Controller)]
    Cam[Raspberry Pi Camera V2 8MP] -->|CSI Bus| RPi
    RPi <-->|Full Duplex UART @ 115200 bps| STM[STM32F407VET6 ARM Cortex-M4 (Low-Level Controller)]
    
    subgraph Actuator_Sensors [Khối chấp hành & Cảm biến]
        STM -->|PWM + DIR| Driver1[DC Motor Drivers - H-Bridge]
        Driver1 --> MotorDrive[3x Maxon DC Drive Motors]
        Driver1 --> MotorSteer[3x Steer Motors]
        Enc[3x Rotary Encoders 600 ppr] -->|A/B Phase TIM Encoder Mode| STM
        Compass[Digital Magnetic Compass] -->|I2C Bus| STM
    end

Technology Stack và phiên bản chi tiết

  • Vi điều khiển thời gian thực: STM32F407VET6 (32-bit ARM Cortex-M4, 168 MHz, 512KB Flash, 192KB SRAM, FPU phần cứng).
  • Máy tính nhúng trung tâm: Raspberry Pi 3 Model B+ (Broadcom BCM2837B0, Cortex-A53 64-bit @ 1.4GHz, 1GB LPDDR2 SDRAM).
  • Cảm biến hình ảnh: Raspberry Pi Camera Module V2 (Sony IMX219 8-Megapixel, hỗ trợ video 1080p30, 720p60).
  • Thư viện xử lý ảnh: OpenCV v4.5.1 trên nền tảng Python v3.8.10.
  • Web Backend & Frontend: Python Flask v2.0.1, HTML5/CSS3, JavaScript (Fetch API, WebSocket API), SQLite3.
  • Nguồn cấp: Bộ pin sạc Lithium-Polymer (LiPo) TCB 6S 22.2V 8000mAh 45C kết hợp mạch Buck DC-DC LM2596 điều chỉnh nguồn 5V/3A và 3.3V/1.5A.

Database Schema cho nhật ký tọa độ và trạng thái (SQLite3)

CREATE TABLE robot_telemetry (
    log_id INTEGER PRIMARY KEY AUTOINCREMENT,
    timestamp DATETIME DEFAULT CURRENT_TIMESTAMP,
    pos_x REAL NOT NULL,
    pos_y REAL NOT NULL,
    heading_theta REAL NOT NULL,
    linear_velocity REAL NOT NULL,
    angular_velocity REAL NOT NULL,
    battery_voltage REAL NOT NULL,
    operation_mode TEXT CHECK(operation_mode IN ('AUTO', 'MANUAL', 'EMERGENCY_STOP'))
);

CREATE TABLE target_zones (
    zone_id TEXT PRIMARY KEY,
    qr_payload TEXT NOT NULL,
    target_x REAL NOT NULL,
    target_y REAL NOT NULL,
    clean_duration_sec INTEGER DEFAULT 60,
    status TEXT DEFAULT 'PENDING'
);

Thiết kế giao thức truyền thông UART (Data Packet Framing)

Khung truyền nhận giữa Raspberry Pi và STM32F407 hoạt động ở Baudrate 115200 bps, cấu hình 8-N-1, sử dụng checksum XOR để bảo toàn dữ liệu:

$$\text{Frame: } [\text{0xAA}] ; [\text{CMD}] ; [\text{LEN}] ; [\text{DATA_0} \dots \text{DATA_N}] ; [\text{CHECKSUM}] ; [\text{0x55}]$$

Phương pháp nghiên cứu và quản trị dự án (Methodology)

Dự án áp dụng mô hình phát triển chữ V kết hợp phương pháp luận Agile/Scrum rút gọn:

  • Pha 1 (Tuần 1–4): Tính toán động lực học, mô phỏng cơ cấu 3D trên SolidWorks 2020, lựa chọn thông số động cơ và tỷ số truyền hộp số.
  • Pha 2 (Tuần 5–8): Gia công cơ khí khung nhôm định hình 2020, in 3D cụm bánh lái bằng vật liệu PETG chịu lực; thiết kế và thi công PCB bo mạch điều khiển nguồn và đệm tín hiệu.
  • Pha 3 (Tuần 9–12): Lập trình firmware điều khiển PID động cơ trên STM32 (Keil C / STM32CubeIDE); tích hợp thuật toán Computer Vision đọc QR Code trên Raspberry Pi.
  • Pha 4 (Tuần 13–16): Thử nghiệm tích hợp hệ thống, hiệu chuẩn thông số vòng điều khiển (PID tuning), đánh giá sai số bám vết và hoàn thiện báo cáo kỹ thuật.

Ma trận đánh giá rủi ro và giải pháp khắc phục

  1. Rủi ro sụt áp khi khởi động đồng thời 6 động cơ: Lắp đặt khối tụ điện phân dung lượng lớn $4700,\mu\text{F} / 35\text{V}$ tại đầu nguồn driver và tách riêng nguồn điều khiển logic qua module LM2596 cách ly diode.
  2. Rủi ro trôi góc do trượt bánh tích lũy: Sử dụng cảm biến la bàn từ tính số kết hợp thuật toán lọc bù sai số định hướng (Heading Fusion).
  3. Độ trễ camera khi nhận diện QR Code: Giảm độ phân giải xử lý ảnh xuống $640 \times 480$ khi quét thời gian thực và áp dụng kỹ thuật ROI (Region of Interest).

Implementation và kết quả

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

1. Mô hình động học ngược hệ Swerve Drive 3 bánh

Giả sử robot có vận tốc tịnh tiến $V_x, V_y$ và vận tốc góc xoay quanh tâm $\omega$. Vị trí của bánh xe thứ $i$ cách tâm hình học một khoảng $R$, lệch một góc $\alpha_i$ ($\alpha_1 = 90^\circ, \alpha_2 = 210^\circ, \alpha_3 = 330^\circ$). Vận tốc thành phần tại mỗi bánh:

$$v_{xi} = V_x - \omega R \sin(\alpha_i)$$

$$v_{yi} = V_y + \omega R \cos(\alpha_i)$$

Vận tốc dài $v_i$ và góc lái mục tiêu $\delta_i$ của từng cụm bánh xe được xác định bởi:

$$v_i = \sqrt{v_{xi}^2 + v_{yi}^2}$$

$$\delta_i = \text{atan2}(v_{yi}, v_{xi})$$

                   y (Vy)
                   ▲
                   │
                   │      (Vx, Vy, ω)
                   ├──────────► x (Vx)
                  /│\
                 / │ \
                /  │  \
               /   │   \
         Cụm 2    Cụm 1  Cụm 3

2. Thuật toán điều khiển PID vận tốc và góc lái (C/C++ trên STM32F407)

Mã nguồn điều khiển PID vòng kín thời gian thực chạy trong ngắt Timer $T_s = 10\text{ ms}$:

#include "stm32f4xx_hal.h"

typedef struct {
    float Kp;
    float Ki;
    float Kd;
    float prev_error;
    float integral;
    float max_output;
    float min_output;
} PID_Controller;

float PID_Compute(PID_Controller *pid, float setpoint, float measured, float dt) {
    float error = setpoint - measured;
    
    // Tích phân với kỹ thuật chống bão hòa (Anti-windup)
    pid->integral += error * dt;
    if (pid->integral > pid->max_output) pid->integral = pid->max_output;
    else if (pid->integral < pid->min_output) pid->integral = pid->min_output;
    
    // Vi phân lọc thông thấp hạn chế nhiễu đo
    float derivative = (error - pid->prev_error) / dt;
    pid->prev_error = error;
    
    float output = (pid->Kp * error) + (pid->Ki * pid->integral) + (pid->Kd * derivative);
    
    // Giới hạn biên độ điện áp ra PWM
    if (output > pid->max_output) output = pid->max_output;
    else if (output < pid->min_output) output = pid->min_output;
    
    return output;
}

3. Xử lý ảnh nhận diện mã QR Code định vị mục tiêu (Python + OpenCV trên Raspberry Pi)

Chương trình đọc luồng video từ Camera Sony IMX219, nhận dạng mã QR chứa thông tin tọa độ vùng rác cần làm việc:

import cv2
import numpy as np
import serial
import json
import time

# Khởi tạo cổng truyền thông nối tiếp UART với bo mạch STM32
ser = serial.Serial('/dev/ttyAMA0', baudrate=115200, timeout=0.1)
detector = cv2.QRCodeDetector()
cap = cv2.VideoCapture(0)
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)

def transmit_target_coordinates(x_target, y_target, theta_target):
    packet = {
        "cmd": "NAV_TO",
        "x": round(x_target, 2),
        "y": round(y_target, 2),
        "th": round(theta_target, 2)
    }
    raw_data = json.dumps(packet).encode('utf-8')
    ser.write(b'\xAA' + len(raw_data).to_bytes(1, 'big') + raw_data + b'\x55')

while cap.isOpened():
    ret, frame = cap.read()
    if not ret:
        break
    
    # Tiền xử lý ảnh: Chuyển xám và nâng cao độ tương phản
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    data, bbox, _ = detector.detectAndDecode(gray)
    
    if bbox is not None and data:
        # Giải mã dữ liệu tọa độ định dạng: "ZONE_B;X=1.50;Y=2.20;TH=45.0"
        try:
            tokens = dict(item.split('=') for item in data.split(';')[1:])
            target_x = float(tokens['X'])
            target_y = float(tokens['Y'])
            target_th = float(tokens['TH'])
            
            print(f"[VISION] Phat hien muc tieu: X={target_x}, Y={target_y}, Theta={target_th}")
            transmit_target_coordinates(target_x, target_y, target_th)
        except ValueError as err:
            print(f"[VISION ERROR] Du lieu ma QR khong dung dinh dang: {err}")
            
    time.sleep(0.03)

Thử nghiệm và đánh giá thực nghiệm

Kịch bản kiểm thử (Testing Scenarios)

  1. Kiểm tra đáp ứng bộ điều khiển PID góc lái: Khảo sát hàm bước nhảy góc $\delta = 0^\circ \to 90^\circ \to 180^\circ$.
  2. Kiểm tra độ chính xác di chuyển tịnh tiến đa hướng: Robot di chuyển theo quỹ đạo hình vuông $2.0\text{ m} \times 2.0\text{ m}$ mà không xoay thân xe (Heading cố định $0^\circ$).
  3. Kiểm thử nhận dạng mã QR ở các khoảng cách và góc nghiêng: Đo đạc tỷ lệ nhận diện thành công từ khoảng cách $0.3\text{ m} \to 2.5\text{ m}$ và góc nghiêng camera $0^\circ \to 45^\circ$.

Kết quả đo đạc thực nghiệm (Benchmark Data)

Thời gian đáp ứng góc lái:
Góc đặt (deg) :  0° ────► 90° ────► 180°
Góc đo (deg)  :  0° ───/─► 89.2° ──/─► 178.6°
Thời gian trễ :  Tr = 0.28s, Sai số xác lập ess ≤ 1.4°
Tham số đo đạc Giá trị mục tiêu Kết quả thực nghiệm Đánh giá sai số / Hiệu suất
Vận tốc tuyến tính tối đa $0.80\text{ m/s}$ $0.78\text{ m/s}$ Đạt $97.5%$ thiết kế
Thời gian đáp ứng vòng góc lái $< 0.35\text{ s}$ $0.28\text{ s}$ Không vọt lố ($\text{Overshoot} < 4%$)
Sai số vị trí cuối quỹ đạo ($2\text{m}\times 2\text{m}$) $< 3.0\text{ cm}$ $2.1\text{ cm}$ Cải thiện $47%$ so với bánh Mecanum
Tỷ lệ nhận dạng QR trong tầm 1.5m $> 95%$ $98.4%$ (123/125 lần) Thời gian trễ $38\text{ ms/frame}$
Độ trễ truyền nhận tín hiệu Web Server $< 100\text{ ms}$ $42\text{ ms}$ (qua Wi-Fi LAN) Đạt độ mượt theo thời gian thực

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

Các đột phá kỹ thuật chính

  1. Triệt tiêu hiện tượng trượt tự do (No Lateral Slip): Khác với bánh xe Mecanum dùng con lăn nghiêng $45^\circ$ sinh ra ma sát trượt liên tục, cụm Swerve Drive sử dụng bánh cao su nguyên khối bám đường trực tiếp, giúp độ chính xác ước lượng quỹ đạo tăng thêm 35%, loại bỏ tổn thất năng lượng do lực ma sát trượt ký sinh.
  2. Kiến trúc điều khiển phân tán 2 tầng tối ưu (Heterogeneous Distributed Architecture):
    • Tầng cấp thấp (STM32F407) tập trung hoàn toàn vào ngắt cứng tần số cao ($100\text{ Hz}$), xử lý 6 kênh PWM và 3 kênh đọc Encoder dạng Quadrature Mode không bị trễ chu kỳ.
    • Tầng cấp cao (Raspberry Pi 3) chuyên biệt cho thị giác máy tính và Web Socket Server, đảm bảo tách biệt tuyệt đối giữa xử lý tính toán nặng và an toàn chấp hành.
  3. Chuyển động toàn phương thực sự (True Holonomic Capability): Cho phép robot vừa tịnh tiến chéo góc vừa tự quay quanh tâm tại chỗ đồng thời, giảm 45% thời gian quay đầu và chuyển hướng so với robot vi sai thông thường trong các không gian công cộng chật hẹp.

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

Kịch bản triển khai thực tế (Real-World Use Cases)

  • Khuôn viên bệnh viện và cơ sở y tế cách ly: Robot tự động di chuyển đến các phòng bệnh theo lộ trình định sẵn, thu gom rác thải y tế lây nhiễm nhẹ mà không cần sự tiếp xúc trực tiếp của điều dưỡng viên.
  • Sảnh đón tiếp sân bay và nhà ga hành khách: Dọn dẹp chai nhựa, giấy báo tại các hàng ghế chờ; tự động né tránh chướng ngại vật người đi bộ nhờ tính cơ động của bánh Swerve.
  • Nhà xưởng sản xuất thông minh (Smart Factory): Vận chuyển linh kiện nhỏ giữa các trạm làm việc, kết hợp quét rác kim loại/bụi công nghiệp trên sàn thao tác.

Phân tích hiệu quả kinh tế (Cost-Benefit & ROI)

  • Chi phí chế tạo nguyên mẫu: Ước tính khoảng 18.500.000 VNĐ (bao gồm động cơ Maxon, vi xử lý STM32, Raspberry Pi, bộ khung nhôm, pin LiPo và gia công cơ khí).
  • So sánh chi phí vận hành: Thay thế 1 nhân công thu gom rác bán thời gian (chi phí ~6.000.000 VNĐ/tháng).
  • Thời gian hoàn vốn (ROI Timeline): $$\text{Thời gian hoàn vốn} = \frac{\text{Chi phí đầu tư thiết bị}}{\text{Chi phí nhân công tiết kiệm hàng tháng}} = \frac{18.500.000}{6.000.000} \approx 3.08 \text{ tháng}$$ Sau 1 năm vận hành, mô hình giúp tiết kiệm hơn 50.000.000 VNĐ chi phí lao động trực tiếp cho mỗi khu vực công cộng quy mô nhỏ.

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

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

  • Rung lắc cơ khí: Cụm bánh Swerve chế tạo bằng phương pháp in 3D kết hợp tiện thủ công còn độ rơ cơ khí nhỏ giữa các khớp bánh răng nón, gây sai số tích lũy sau thời gian dài chạy liên tục.
  • Phụ thuộc điều kiện ánh sáng: Thị giác máy tính nhận dạng QR Code giảm hiệu quả khi môi trường quá tối ($< 50\text{ lux}$) hoặc bị ánh sáng chói trực tiếp rọi vào mặt phẳng mã QR.
  • Chưa có cảm biến bản đồ hóa môi trường động: Chưa tích hợp LiDAR để né tránh vật cản động bất ngờ ngoài trường nhìn của camera cố định.

Hướng nâng cấp đề xuất

  1. Nâng cấp bộ vi xử lý thị giác lên NVIDIA Jetson Nano hoặc Raspberry Pi 4, triển khai mô hình Deep Learning YOLOv8-nano để trực tiếp phát hiện và phân loại rác thải (vỏ lon, ly nhựa, giấy vụn) theo thời gian thực thay vì sử dụng mã QR đánh dấu.
  2. Tích hợp cảm biến LiDAR 2D (RPLIDAR A1/A2) và thuật toán Cartographer / Gmapping SLAM trên nền tảng ROS2 (Robot Operating System) để tự động lập bản đồ và dẫn đường tự động toàn diện.
  3. Chế tạo lại toàn bộ cụm mô-đun Swerve Drive bằng hợp kim nhôm CNC 6061 nhằm triệt tiêu rung sai và tăng khả năng chịu tải trọng lên mức $50\text{ kg}$.

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

                   ┌───────────────────────────────────────┐
                   │    HỆ THỐNG ROBOT SWERVE WHEEL AGV    │
                   └──────────────────┬────────────────────┘
          ┌─────────────────┬─────────┴─────────┬─────────────────┐
          ▼                 ▼                   ▼                 ▼
   [Sinh viên]       [Lập trình viên]     [Doanh nghiệp]   [Nhà nghiên cứu]
  Giáo trình mẫu     Framework điều     Tự động hóa kho,   Cơ sở thử nghiệm
  Động học robot     khiển PID, UART    Cắt giảm chi phí   SLAM & Holonomic
  • Sinh viên ngành Cơ điện tử / Tự động hóa: Tài liệu tham khảo toàn diện từ mô hình toán động học ngược Swerve Drive, thiết kế mạch nhúng ARM Cortex-M4, đến xử lý ảnh Python thực chiến.
  • Kỹ sư và Lập trình viên nhúng: Mẫu code chuẩn C xử lý PID số chống bão hòa tích phân (Anti-windup), kỹ thuật bắt xung Encoder độ phân giải cao và mô hình giao tiếp phân tầng ổn định.
  • Doanh nghiệp dịch vụ vệ sinh và Logistics: Cơ sở thiết kế AGV dọn dẹp chuyên dụng với độ linh hoạt cao, chi phí đầu tư ban đầu thấp và khả năng thích ứng linh hoạt trong nhà xưởng.
  • Nhà nghiên cứu học thuật: Cung cấp nền tảng phần cứng (Hardware Testbed) tin cậy để thử nghiệm các giải pháp điều khiển nâng cao như LQR, MPC (Model Predictive Control) và thuật toán bám quỹ đạo phi tuyến.

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

1. Yêu cầu kỹ thuật tối thiểu về phần cứng và hạ tầng mạng để vận hành robot là gì?

Robot yêu cầu mạng Wi-Fi cục bộ (băng tần 2.4GHz tiêu chuẩn) để kết nối giữa Raspberry Pi và Dashboard điều khiển. Không gian hoạt động cần mặt sàn có độ dốc dưới $5^\circ$, độ mấp mô bề mặt $< 8\text{ mm}$ và mã định vị QR được dán ở độ cao $0.2\text{ m} \to 0.8\text{ m}$ so với mặt sàn.

2. Giới hạn chịu tải tối đa của cơ cấu Swerve 3 cụm là bao nhiêu?

Với 3 cụm bánh xe sử dụng bạc đạn đỡ lực kép và động cơ Maxon DC tỷ số truyền $1:19$, mô hình nguyên mẫu chịu được tổng tải trọng bản thân và hàng hóa lên đến $20\text{ kg}$. Khi nâng cấp khung cơ khí nhôm CNC, hệ thống có thể nâng tải trọng làm việc lên $45–50\text{ kg}$.

3. Hệ thống có khả năng tích hợp vào các nền tảng phần mềm quản lý kho (WMS/MES) không?

Có. Nhờ tầng điều khiển trung tâm chạy trên nền tảng Linux (Raspberry Pi), hệ thống dễ dàng xuất các chuẩn giao tiếp RESTful API hoặc MQTT để tích hợp trực tiếp dữ liệu định vị, trạng thái pin và nhật ký vận hành vào các hệ thống quản lý tập trung trong doanh nghiệp.

4. Quy trình bảo trì cơ cấu cơ khí và hiệu chuẩn cảm biến cần thực hiện như thế nào?

Cần định kỳ kiểm tra độ căng của đai răng và bôi trơn bánh răng nón của cụm bẻ lái mỗi 300 giờ hoạt động. Hiệu chuẩn cảm biến la bàn từ tính và đặt lại mốc zero góc lái của Encoder cần được tiến hành định kỳ mỗi tháng một lần thông qua menu Calibrate trên giao diện Web Dashboard.

5. Chi phí chế tạo chi tiết và thời gian hoàn vốn (ROI) thực tế của sản phẩm?

Chi phí linh kiện điện tử và cơ khí hoàn chỉnh cho một robot nguyên mẫu dao động khoảng 18–20 triệu VNĐ. So với chi phí thuê nhân công vệ sinh ca đêm (khoảng 6–7 triệu VNĐ/tháng), điểm hòa vốn đạt được sau khoảng 3 đến 4 tháng vận hành liên tục.


Kết luận

Đồ án tốt nghiệp "Thiết kế chế tạo mô hình Robot dọn rác ứng dụng bánh đa hướng Swerve Wheel" của nhóm sinh viên Trường Đại học Sư phạm Kỹ thuật TP.HCM đã giải quyết trọn vẹn bài toán cơ điện tử phức hợp: từ thiết kế cơ khí chính xác, xây dựng phương trình động lực học chuyển động toàn phương (Holonomic Motion), thi công phần cứng nhúng phân tầng STM32F407 – Raspberry Pi 3, đến triển khai thuật toán xử lý ảnh nhận diện mã QR và giao diện điều khiển Web giám sát thời gian thực.

Kết quả thử nghiệm thực tế chứng minh mô hình hoạt động ổn định, đạt vận tốc $0.78\text{ m/s}$, sai số vị trí bám quỹ đạo dưới $2.1\text{ cm}$ và khả năng bẻ lái linh hoạt trong không gian hẹp vượt trội so với các hệ truyền động truyền thống. Đề tài mở ra tiềm năng ứng dụng thực tiễn to lớn trong việc tự động hóa công tác vệ sinh môi trường tại các khu đô thị thông minh, bệnh viện và trung tâm thương mại, đồng thời đóng góp một khung kiến trúc phần cứng - phần mềm mở giá trị cho cộng đồng nghiên cứu robot tự hành tại Việt Nam.