Giới thiệu dự án

Sự phát triển mạnh mẽ của cuộc Cách mạng Công nghiệp 4.0 đã thúc đẩy tự động hóa và robot hóa thâm nhập sâu rộng vào lĩnh vực dịch vụ bán lẻ (Retail Service Robotics). Theo các báo cáo thị trường logistics và dịch vụ thông minh, tốc độ già hóa dân số toàn cầu đang gia tăng nhanh chóng, dự kiến đạt hơn 2,1 tỷ người trên 60 tuổi vào năm 2050. Tại các trung tâm thương mại và siêu thị quy mô lớn, việc đẩy các giỏ hàng truyền thống có khối lượng từ 15–30 kg trong suốt hành trình mua sắm dài tạo ra áp lực vật lý đáng kể, đặc biệt đối với người cao tuổi, người suy giảm khả năng vận động hoặc phụ nữ mang thai.

Các giải pháp xe tự hành AGV (Automated Guided Vehicle) và AMR (Autonomous Mobile Robot) trong công nghiệp hiện nay phần lớn phụ thuộc vào hạ tầng dẫn đường cố định (đường line từ tính, mã phản quang QR Code) hoặc các hệ thống cảm biến LiDAR 3D đắt đỏ, không tương thích với môi trường siêu thị vốn có mật độ người qua lại dày đặc, bố trí mặt sàn thường xuyên thay đổi và yêu cầu tương tác người - máy trực tiếp (Human-Robot Interaction - HRI).

                 +---------------------------------------------+
                 |          NGƯỜI DÙNG (MẶC ÁO MÀU)            |
                 +---------------------------------------------+
                                        | (Khoảng cách & Góc lệch)
                                        v
+-----------------------------------------------------------------------------+
|                               XE AGV DỊCH VỤ                                |
|                                                                             |
|  +---------------------+       RGB-D Stream       +----------------------+  |
|  |  Camera Kinect v2   | -----------------------> |  NVIDIA Jetson Nano  |  |
|  | (ToF 3D + RGB HD)   |                          |    (ROS Melodic)     |  |
|  +---------------------+                          +----------------------+  |
|                                                               |             |
|                                                               | /cmd_vel    |
|                                                               v             |
|  +---------------------+      PWM / Direction     +----------------------+  |
|  | Động cơ DC Planet   | <----------------------- |    Vi điều khiển     |  |
|  | 24V 30W + Hộp số    |                          |   STM32 (Bộ PI)      |  |
|  +---------------------+                          +----------------------+  |
|            |                                                  ^             |
|            +---------------- Encoder Feedback ---------------+             |
+-----------------------------------------------------------------------------+

Đồ án "Nghiên cứu, thiết kế và chế tạo xe AGV ứng dụng xử lí ảnh" giải quyết triệt để bài toán này bằng cách phát triển một robot trợ lý mua sắm thông minh có khả năng nhận diện, ước lượng khoảng cách 3D và tự động bám đuôi khách hàng theo thời gian thực.

Mục tiêu nghiên cứu cụ thể

  1. Thiết kế và chế tạo hệ thống cơ khí: Khung gầm chịu tải tối đa 50 kg, kích thước nhỏ gọn ($430 \times 480 \times 480\text{ mm}$), sử dụng cơ cấu dẫn động vi sai 2 bánh chủ động kết hợp 2 bánh đa hướng nhằm tối ưu khả năng xoay sở trong lối đi hẹp từ $1.0 - 1.5\text{ m}$.
  2. Xây dựng hệ thống điều khiển nhúng phân tầng: Kết hợp máy tính biên NVIDIA Jetson Nano 4GB (xử lý thị giác và điều phối ROS) và vi điều khiển STM32 (điều khiển vận tốc vòng kín 2 động cơ DC Servo qua thuật toán PI).
  3. Phát triển pipeline xử lý ảnh 3D thời gian thực: Ứng dụng mạng nơ-ron tích chập SSD-MobileNetV2 kết hợp thuật toán lọc màu HSV và phép chiếu hình học từ camera độ sâu Microsoft Kinect v2 (Time-of-Flight) để bám đối tượng chính xác với độ trễ dưới 50ms.
  4. Thực nghiệm và đánh giá toàn diện: Kiểm tra đáp ứng động lực học có tải/không tải, khả năng giữ cự ly an toàn $1.0 - 1.5\text{ m}$ và vận tốc bám đuổi đạt $1.0\text{ m/s}$ ($3.6\text{ km/h}$).

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

  • Môi trường hoạt động: Mặt sàn gạch phẳng siêu thị, điều kiện ánh sáng tiêu chuẩn trong nhà ($\ge 300\text{ lux}$).
  • Nhận diện đối tượng: Bám theo người mặc trang phục mang mã màu nhận diện đặc trưng đã được định cấu hình.
  • An toàn: Tích hợp module cảm biến phát hiện vật cản dừng khẩn cấp; chưa bao gồm tính năng tự động né vật cản động phức tạp và tự hành về trạm sạc bằng bản đồ 2D SLAM.

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

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

Tiêu chí Xe đẩy truyền thống WiiGo Retail (Follow Inspiration) BellaBot (Pudu Robotics) FollowBot (HCMUTE Cơ khí) Giải pháp AGV của Đề tài
Cơ chế dẫn động Đẩy tay thủ công 2 bánh vi sai Vi sai chuyên dụng 2 bánh vi sai 2 bánh vi sai + Đai răng $u=2$
Công nghệ cảm biến Không có 3D Camera + ToF Lidar đa kênh + RGB-D Camera 3D RGB-D Kinect v2 ToF + SSD-MobileNetV2
Thuật toán bám người Không có Visual Tracking độc quyền Định vị bản đồ SLAM 3D Vision cơ bản SSD-MobileNetV2 + HSV + Phép chiếu 3D
Tải trọng danh định 30 - 40 kg ~30 kg 40 kg (4 khay) 15 kg 50 kg (Khung SS400 + Nhôm 2020)
Chi phí chế tạo Rất thấp (~50 USD) Rất cao (>5,000 USD) Rất cao (>8,000 USD) Trung bình (~400 USD) Tối ưu (~350 - 450 USD)

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

  • Must have (Bắt buộc): Nhận diện người chính xác bằng AI; đo khoảng cách thực qua kênh Depth; bám người liên tục ở tốc độ $1.0\text{ m/s}$; khung chịu tải 50 kg; dừng khi gặp vật cản.
  • Should have (Nên có): Bộ điều khiển PI đáp ứng thời gian xác lập $t_s < 0.5\text{ s}$; kiến trúc ROS module hóa; phân biệt đối tượng qua màu sắc áo.
  • Could have (Có thể mở rộng): Thuật toán nhận diện dáng đi (Skeleton tracking); tự động điều chỉnh vận tốc góc theo quỹ đạo uốn lượn.
  • Won't have (Chưa thực hiện ở giai đoạn này): Tự động quay về dock sạc qua LiDAR; điều khiển giọng nói; tính toán giỏ hàng tự động.

Thiết kế hệ thống

Kiến trúc hệ thống được phân tách thành 3 khối chính: Khối cảm biến thu nhận, Khối xử lý tính toán cấp cao (High-level computing) và Khối điều khiển chấp hành cấp thấp (Low-level control).

graph TD
    subgraph SENSING["Khối Cảm Biến & Thu Nhận"]
        Kinect["Microsoft Kinect v2 (ToF 3D Camera)"]
        Obstacle["Cảm biến đo khoảng cách"]
        EncoderR["Encoder Động Cơ Phải"]
        EncoderL["Encoder Động Cơ Trái"]
    end

    subgraph HIGH_LEVEL["Xử Lý Cấp Cao - NVIDIA Jetson Nano 4GB (Ubuntu 18.04 / ROS Melodic)"]
        Node1["Node 'process_img': SSD-MobileNetV2 + HSV Filter"]
        Node2["Node 'data_processing': Tính d, alpha & /cmd_vel"]
        Kinect -->|RGB-D Data Stream| Node1
        Node1 -->|Bounding Box + Mask| Node2
    end

    subgraph LOW_LEVEL["Điều Khiển Cấp Thấp - Vi Điều Khiển STM32 (C/C++)"]
        NodeUART["Giao Tiếp UART / ROS Serial"]
        Controller["Bộ Điều Khiển Vận Tốc Rời Rạc (PI Control)"]
        PWMGen["Khối Tạo Xung PWM"]
        Node2 -->|/cmd_vel (v, w)| NodeUART
        NodeUART --> Controller
        EncoderR -->|Hồi tiếp xung| Controller
        EncoderL -->|Hồi tiếp xung| Controller
        Controller --> PWMGen
    end

    subgraph ACTUATORS["Cơ Cấu Chấp Hành & Cơ Khí"]
        Driver["Mạch Cầu H (Motor Driver)"]
        MotorR["Động Cơ DC Planet Phải (24V 30W)"]
        MotorL["Động Cơ DC Planet Trái (24V 30W)"]
        Belt["Bộ Truyền Đai Răng (u = 2)"]
        Wheels["Bánh Xe Dẫn Động (D = 145mm)"]
        
        PWMGen --> Driver
        Driver --> MotorR
        Driver --> MotorL
        MotorR --> Belt
        MotorL --> Belt
        Belt --> Wheels
    end
    
    Obstacle -.->|Cắt nguồn/Dừng| Controller

Danh mục công nghệ và phần cứng (Technology Stack)

  • Xử lý trung tâm: NVIDIA Jetson Nano Developer Kit 4GB RAM (OS: Linux Ubuntu 18.04 LTS, L4T 32.7.x, CUDA 10.2, TensorRT 7.1.3).
  • Vi điều khiển cấp thấp: STM32F103C8T6 (Cortex-M3, 72 MHz, 64 KB Flash) / STM32F4 series; biên dịch qua Keil C / STM32CubeIDE.
  • Middleware: Robot Operating System (ROS Melodic Morenia).
  • Thư viện AI & Vision: OpenCV 4.5.1, TensorFlow / PyTorch 1.8, SSD-MobileNetV2 (COCO 2017 pre-trained weights).
  • Cơ cấu chấp hành: 02 Động cơ DC Planet 555 12–24VDC 30W, hộp giảm tốc hành tinh 1/19.2, tốc độ ngõ ra 600 RPM, tích hợp Encoder quang 2 kênh A/B (12 xung/vòng).
  • Nguồn cấp: Ắc quy Gel chuyên dụng Eagle Thái Lan 12V 5Ah mắc nối tiếp nâng 24VDC, kết hợp module Buck DC-DC hạ áp 5V 5A và sạc dự phòng 15.000 mAh cấp riêng cho Jetson Nano.

Phương pháp luận phát triển (Methodology)

Dự án áp dụng mô hình phát triển chữ V (V-Model Mechatronics), kết hợp các pha thiết kế cơ khí chính xác, mô phỏng động lực học và kiểm thử lặp (iterative testing):

  1. Giai đoạn 1 (Tuần 1–4): Khảo sát kích thước siêu thị, thiết kế 3D CAD trên SolidWorks, tính toán độ bền ứng suất trục inox 304, lực căng đai răng $m=1.5\text{ mm}$ và kết cấu khung thép SS400 cắt laser CNC.
  2. Giai đoạn 2 (Tuần 5–8): Nhận dạng hệ thống (System Identification) động cơ DC bằng MATLAB System Identification Tool, thiết kế và tối ưu tham số $K_p, K_i$ cho bộ điều khiển PI trên vi điều khiển STM32.
  3. Giai đoạn 3 (Tuần 9–12): Xây dựng pipeline xử lý ảnh trên Jetson Nano, retrain mô hình SSD-MobileNetV2, đồng bộ dữ liệu Depth qua ROS bridge và tinh chỉnh thuật toán lọc màu HSV.
  4. Giai đoạn 4 (Tuần 13–15): Tích hợp hệ thống tổng thể, kiểm thử bám đối tượng trên sa bàn thực tế, đánh giá sai số vị trí và tối ưu hóa năng lượng tiêu thụ.

Implementation và kết quả

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

1. Mô hình động học vi sai (Kinematics of Differential Drive Robot)

Robot di chuyển dựa trên tốc độ dài $v$ và tốc độ góc $\omega$. Vận tốc góc của hai bánh xe dẫn động (trái $\omega_L$, phải $\omega_R$) với khoảng cách giữa hai bánh $L = 0.41\text{ m}$ và bán kính bánh xe $r = 0.0725\text{ m}$ ($D = 145\text{ mm}$) được tính theo công thức:

$$\omega_R = \frac{v + \frac{\omega \cdot L}{2}}{r}, \quad \omega_L = \frac{v - \frac{\omega \cdot L}{2}}{r}$$

$$n_R = \frac{\omega_R \cdot 60}{2\pi} \cdot u, \quad n_L = \frac{\omega_L \cdot 60}{2\pi} \cdot u \quad (\text{với tỷ số truyền đai } u = 2)$$

                           Y (Trục tiến)
                               ^
                               |
                               |   * Mục tiêu (Người: X, Y, Z)
                               |  /
                               | /  Khoảng cách d = sqrt(X^2 + Z^2)
                               |/ ) Góc lệch alpha = arctan(X/Z)
              +----------------+----------------+
              | [Bánh Trái]    |   [Bánh Phải]  |
              |   (w_L)        |     (w_R)      |
              +----------------|----------------+ ---> X (Trục ngang)
                               |
                        Tâm Robot (0,0)

2. Thuật toán xử lý ảnh 3D và định vị đối tượng

Dữ liệu khung hình RGB ($1920 \times 1080$) và Depth map ($512 \times 424$) từ Kinect v2 được ánh xạ về cùng hệ tọa độ camera. Bounding box của người $[u_{\min}, v_{\min}, u_{\max}, v_{\max}]$ nhận được từ SSD-MobileNetV2 được trích xuất vùng thân áo để phân tích không gian màu HSV:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
ROS Node: data_processing.py
Nhiệm vụ: Tính toán khoảng cách (d), góc lệch (alpha) và xuất vận tốc điều khiển /cmd_vel
"""
import rospy
import numpy as np
from geometry_msgs.msg import Twist
from std_msgs.msg import Float32MultiArray

class AGVTrackingController:
    def __init__(self):
        rospy.init_node('data_processing_node', anonymous=True)
        self.cmd_pub = rospy.Publisher('/cmd_vel', Twist, queue_size=10)
        self.sub_target = rospy.Subscriber('/detected_person_3d', Float32MultiArray, self.target_callback)
        
        # Ngưỡng điều khiển (Setpoint)
        self.TARGET_DISTANCE = 1.2  # mét
        self.DIST_TOLERANCE = 0.15  # mét
        self.K_v = 0.8              # Hệ số tỷ lệ vận tốc dài
        self.K_w = 1.5              # Hệ số tỷ lệ vận tốc góc
        self.MAX_LINEAR_VEL = 1.0   # m/s
        self.MAX_ANGULAR_VEL = 1.2  # rad/s

    def target_callback(self, data):
        # Data format: [X, Y, Z, is_target_found]
        x, y, z, found = data.data[0], data.data[1], data.data[2], bool(data.data[3])
        twist_cmd = Twist()
        
        if not found or z <= 0.5 or z > 4.0:
            # Dừng xe nếu mất dấu hoặc ngoài khoảng cách an toàn
            twist_cmd.linear.x = 0.0
            twist_cmd.angular.z = 0.0
        else:
            # Tính khoảng cách Euclidean mặt phẳng ngang và góc lệch
            d = np.sqrt(x**2 + z**2)
            alpha = np.arctan2(x, z)
            
            # Tính sai số điều khiển
            error_d = d - self.TARGET_DISTANCE
            
            # Bộ điều khiển P dẫn hướng
            if abs(error_d) > self.DIST_TOLERANCE:
                v_linear = self.K_v * error_d
            else:
                v_linear = 0.0
                
            w_angular = -self.K_w * alpha  # Đảo dấu theo quy ước hệ trục ROS
            
            # Bão hòa vận tốc (Saturation limits)
            twist_cmd.linear.x = np.clip(v_linear, -0.2, self.MAX_LINEAR_VEL)
            twist_cmd.angular.z = np.clip(w_angular, -self.MAX_ANGULAR_VEL, self.MAX_ANGULAR_VEL)
            
        self.cmd_pub.publish(twist_cmd)

if __name__ == '__main__':
    try:
        controller = AGVTrackingController()
        rospy.spin()
    except rospy.ROSInterruptException:
        pass

3. Bộ điều khiển vận tốc động cơ số (Discrete PI Speed Controller trên STM32)

Hàm truyền rời rạc của bộ điều khiển PI với thời gian lấy mẫu $T_s = 10\text{ ms}$ ($100\text{ Hz}$):

$$u[k] = u[k-1] + K_p \cdot \big(e[k] - e[k-1]\big) + K_i \cdot T_s \cdot e[k]$$

// Implementation bo dieu khien PI roi rac tren STM32
typedef struct {
    float Kp;
    float Ki;
    float Ts;
    float prev_error;
    float integral;
    float out_max;
    float out_min;
} PI_Controller;

float PI_Compute(PI_Controller *pid, float setpoint, float feedback) {
    float error = setpoint - feedback;
    
    // Tích phân chống bão hòa (Anti-windup)
    pid->integral += error * pid->Ts;
    
    float output = (pid->Kp * error) + (pid->Ki * pid->integral);
    
    // Giới hạn bão hòa xung PWM (0 - 1000 tương ứng 0 - 100% Duty Cycle)
    if (output > pid->out_max) {
        output = pid->out_max;
        pid->integral -= error * pid->Ts; // Clamp
    } else if (output < pid->out_min) {
        output = pid->out_min;
        pid->integral -= error * pid->Ts;
    }
    
    pid->prev_error = error;
    return output;
}

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

Benchmark hiệu năng xử lý ảnh trên NVIDIA Jetson Nano

Mô hình / Pipeline Độ phân giải đầu vào FPS trung bình Độ trễ suy luận (Latency) Tải GPU / CPU
YOLOv3 Standard $416 \times 416$ 4.2 FPS 238 ms GPU: 99%, CPU: 85%
SSD-VGG16 $300 \times 300$ 8.6 FPS 116 ms GPU: 95%, CPU: 78%
SSD-MobileNetV2 (Đồ án) $300 \times 300$ 26.4 FPS 37.8 ms GPU: 74%, CPU: 52%
SSD-MobileNetV2 + HSV Filter $300 \times 300$ 24.1 FPS 41.5 ms GPU: 78%, CPU: 58%
Tần số khung hình (FPS) trên Jetson Nano:
YOLOv3         [====] 4.2 FPS
SSD-VGG16      [========] 8.6 FPS
SSD-MobileNetV2 [=========================] 24.1 FPS (Đạt chuẩn Realtime >20 FPS)

Đánh giá đáp ứng bộ điều khiển PI Động cơ (Thực nghiệm có tải 50 kg)

  • Thời gian đáp ứng ($t_r$): $0.18\text{ s}$.
  • Thời gian xác lập ($t_s$, tiêu chuẩn 5%): $0.38\text{ s}$.
  • Độ vọt lố ($%OS$): $< 6.2%$.
  • Sai số xác lập ($e_{ss}$): $\pm 1.8\text{ RPM}$ (tương đương sai số vận tốc xe $< 0.015\text{ m/s}$).

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

  1. Pipeline nhận diện lai siêu nhẹ (Hybrid Vision Pipeline): Kết hợp Deep Learning (SSD-MobileNetV2) để phát hiện đối tượng con người tổng quát và thuật toán lọc mặt nạ màu HSV cục bộ trên cùng luồng ảnh RGB-D. Giải pháp này giúp loại bỏ hiện tượng nhận diện nhầm khi có nhiều người cùng xuất hiện trong khung hình mà không cần tiêu tốn tài nguyên cho các mạng Deep Re-ID nặng nề.
  2. Khung gầm tối ưu cơ điện tử chịu tải trọng cao: Thiết kế mặt đế bằng thép SS400 dập $3\text{ mm}$ cắt laser kết hợp khung nhôm định hình $20 \times 20\text{ mm}$ và bộ truyền đai răng tỷ số truyền $u=2$, giúp tăng gấp đôi mô-men xoắn đầu trục ($T_{\text{trục}} = 1087.5\text{ Nmm}$), đảm bảo xe chở đủ tải $50\text{ kg}$ mà chỉ cần động cơ công suất nhỏ $30\text{ W}$.
  3. Kiến trúc điều khiển phân tầng ROS-Microcontroller: Ứng dụng ROS để đóng gói các tác vụ phân tích không gian 3D phức tạp, kết hợp giao tiếp thời gian thực với vi điều khiển STM32 xử lý vòng lặp kín $100\text{ Hz}$, tạo nền tảng module hóa dễ dàng tích hợp thêm các cảm biến LiDAR hoặc thanh toán tự động trong tương lai.
+-------------------------------------------------------------------------------+
|                      HIỆU QUẢ CẢI TIẾN THỰC TẾ ĐẠT ĐƯỢC                       |
+------------------------------------+------------------------------------------+
|  GIẢM 85% LỰC ĐẨY TAY              |  98.2% TỶ LỆ BÁM THÀNH CÔNG              |
|  (Giải phóng hoàn toàn sức kéo)    |  (Trong cự ly 1.0 - 2.5m)                |
+------------------------------------+------------------------------------------+
|  CHI PHÍ < 10% ROBOT NGOẠI NHẬP    |  ĐỘ TRỄ TOÀN HỆ THỐNG < 50ms             |
|  (~400 USD so với >5,000 USD)      |  (Phản xạ bám cua mượt mà)               |
+------------------------------------+------------------------------------------+

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

Kịch bản sử dụng trong thực tế

  • Hỗ trợ mua sắm tại đại siêu thị (Co.opmart, AEON Mall, Mega Market): Khách hàng nhận một áo gile hoặc thẻ cài màu tiêu chuẩn tại quầy dịch vụ. Xe tự động kích hoạt chế độ Follow-me, bám theo khách qua các quầy hàng với cự ly an toàn $1.2\text{ m}$, tự động dừng khi khách dừng lại lựa chọn sản phẩm.
  • Hỗ trợ vận chuyển hành lý tại nhà ga, sân bay: Bám theo hành khách có con nhỏ hoặc người khuyết tật từ khu vực check-in đến cửa ra tàu bay.
  • Logistics nội bộ trong bệnh viện, thư viện: Hỗ trợ y tá, nhân viên vận chuyển hồ sơ bệnh án, thuốc hoặc tài liệu giữa các phòng ban mà không cần can thiệp điều khiển bằng tay.
KỊCH BẢN TRIỂN KHAI TẠI SIÊU THỊ:
[Khách nhận áo màu] ---> [Kích hoạt AGV] ---> [Mua sắm / AGV bám cự ly 1.2m]
                                                         |
[Thu ngân / Trả đồ] <--- [Thanh toán tại quầy] <---------+

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

  • Chi phí BOM phần cứng (Bill of Materials): ~9.500.000 VNĐ (~400 USD)/xe.
  • Chi phí xe đẩy thông minh ngoại nhập: ~120.000.000 VNĐ/xe.
  • Thời gian hoàn vốn ước tính: Dưới 8 tháng thông qua việc cắt giảm chi phí nhân sự thu gom giỏ hàng và gia tăng doanh số mua sắm từ nhóm khách hàng trung niên, lớn tuổi nhờ trải nghiệm dịch vụ tiện nghi.

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

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

  • Xe còn phụ thuộc vào màu áo chuyên dụng để phân biệt khách hàng; dễ bị ảnh hưởng nếu môi trường có vật thể lớn mang màu sắc trùng lặp hoàn toàn.
  • Cảm biến Kinect v2 sử dụng giao thức USB 3.0 tiêu thụ nhiều năng lượng và cồng kềnh; góc quét ngang (Horizontal FoV $70^\circ$) có thể làm mất dấu đối tượng khi khách hàng rẽ góc $90^\circ$ đột ngột.
  • Chưa tích hợp bản đồ 2D SLAM để xe tự hành điều hướng về vị trí sạc tập trung sau khi người dùng kết thúc phiên mua sắm.

Hướng nâng cấp mở rộng

  1. Thay thế Camera RealSense D435i / OAK-D: Tích hợp camera AI chuyên dụng nhỏ gọn, hỗ trợ xử lý mạng nơ-ron ngay trên VPU (Vision Processing Unit) của camera để giảm tải cho Jetson Nano.
  2. Triển khai thuật toán Re-Identification (Re-ID) không cần áo màu: Ứng dụng mô hình trích xuất đặc trưng dáng người (DeepSORT kết hợp ResNet-IBN) hoặc nhận diện khung xương (Skeleton Tracking).
  3. Tích hợp 2D LiDAR và Navigation Stack (ROS): Sử dụng cảm biến LiDAR RPLidar A1/A2 chạy thuật toán Cartographer SLAM, hỗ trợ né chướng ngại vật động và tự động quay về trạm sạc không dây.

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

  • Sinh viên ngành Kỹ thuật (Cơ điện tử, Tự động hóa, Khoa học máy tính): Cung cấp mã nguồn mẫu hoàn chỉnh về tích hợp hệ điều hành ROS, giao tiếp vi điều khiển STM32 và kỹ thuật tối ưu hóa mô hình Computer Vision trên máy tính nhúng NVIDIA Jetson.
  • Kỹ sư và nhà phát triển Robot: Nắm vững phương pháp tính toán động học vi sai, thiết kế bộ truyền đai răng, tính chọn động cơ và thiết lập bộ điều khiển PI số dựa trên nhận dạng hệ thống thực nghiệm.
  • Doanh nghiệp bán lẻ & Vận hành chuỗi siêu thị: Có trong tay bản thiết kế chi tiết giải pháp robot dịch vụ chi phí thấp, tính khả thi cao, sẵn sàng nội địa hóa và tùy biến sản xuất đại trà.
  • Khách hàng tiêu dùng (Đặc biệt là người cao tuổi): Nâng cao sự độc lập, an toàn và giảm thiểu căng thẳng thể chất trong quá trình sinh hoạt và mua sắm hằng ngày.

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 là gì?

Hệ thống yêu cầu máy tính nhúng có GPU hỗ trợ CUDA (tối thiểu NVIDIA Jetson Nano 4GB hoặc Jetson Xavier NX), Camera đo chiều sâu 3D (Kinect v2, Intel RealSense D435 hoặc Orbbec Astra), Vi điều khiển 32-bit (STM32F1/F4 Series), mạch cầu H công suất dòng đỉnh $\ge 10\text{ A}$ và nguồn pin/ắc quy $24\text{ V}$ dung lượng $\ge 5\text{ Ah}$.

2. Robot xử lý thế nào khi người dùng rẽ nhanh hoặc bị khuất tầm nhìn?

Khi mất dấu đối tượng (Bounding Box không còn trong khung hình), node data_processing sẽ kích hoạt trạng thái an toàn: giảm tốc độ dài về $0\text{ m/s}$, duy trì tốc độ góc theo hướng chuyển động cuối cùng trong $1.5\text{ s}$ để quét tìm lại mục tiêu. Nếu sau $1.5\text{ s}$ vẫn không thấy, xe sẽ dừng hẳn và phát cảnh báo âm thanh.

3. Làm thế nào để tích hợp hệ thống với các phần mềm quản lý siêu thị hiện có?

Kiến trúc ROS cho phép mở rộng các node giao tiếp thông qua ROS Bridge Server (Websocket) hoặc giao thức MQTT/RESTful API. Hệ thống có thể gửi dữ liệu định vị, trạng thái pin và nhật ký di chuyển về máy chủ quản lý trung tâm (Central Fleet Management System) qua mạng Wi-Fi nội bộ.

4. Chi phí bảo trì và độ bền của cơ cấu cơ khí như thế nào?

Khung gầm sử dụng thép SS400 dập $3\text{ mm}$ và nhôm định hình có độ bền kết cấu trên 5 năm. Bộ truyền đai răng cao su cốt sợi thủy tinh cần được kiểm tra độ căng định kỳ mỗi 6 tháng và có chi phí thay thế rất thấp (< 50.000 VNĐ/dây). Động cơ DC Planet trang bị chổi than công nghiệp có tuổi thọ vận hành trên 3.000 giờ làm việc liên tục.

5. Khả năng mở rộng tải trọng lên hơn 100 kg có khả thi không?

Hoàn toàn khả thi. Để nâng tải trọng lên $100\text{ kg}$, chỉ cần nâng cấp động cơ DC lên công suất $60 - 100\text{ W}$, tăng đường kính trục bánh xe từ $\phi 12\text{ mm}$ lên $\phi 15\text{ mm}$ (vật liệu Inox 304) và sử dụng mạch điều khiển động cơ chịu dòng $\ge 20\text{ A}$, trong khi toàn bộ kiến trúc phần mềm xử lý ảnh và điều khiển trên Jetson Nano/STM32 được giữ nguyên.


Kết luận

Đồ án "Nghiên cứu, thiết kế và chế tạo xe AGV ứng dụng xử lí ảnh" của nhóm sinh viên Trường Đại học Sư phạm Kỹ thuật TP.HCM đã giải quyết thành công bài toán tự động hóa phương tiện vận chuyển hỗ trợ khách hàng trong siêu thị. Bằng việc kết hợp hài hòa giữa cơ khí chính xác, hệ thống nhúng điều khiển vòng kín và thị giác máy tính 3D hiện đại trên nền tảng ROS, sản phẩm đạt được độ ổn định cao, tốc độ đáp ứng thời gian thực và khả năng chịu tải $50\text{ kg}$ với chi phí sản xuất tối ưu. Đây là minh chứng điển hình cho xu hướng ứng dụng công nghệ Cơ điện tử và Trí tuệ nhân tạo phục vụ cộng đồng, mở ra tiềm năng thương mại hóa to lớn cho ngành robot dịch vụ tại Việt Nam.