Giới thiệu dự án

Trong kỷ nguyên tự động hóa công nghiệp và Công nghiệp 4.0, cánh tay robot công nghiệp (Robotic Manipulators) đóng vai trò trung tâm trong việc nâng cao năng suất, cắt giảm chi phí nhân công và tối ưu hóa dây chuyền lắp ráp, đóng gói. Theo các báo cáo thống kê công nghiệp quốc tế, việc triển khai robot phân loại và gắp thả vật thể (Pick-and-Place) có thể giúp tăng năng suất dây chuyền từ 30% đến 50%. Tuy nhiên, phần lớn các hệ thống tự động hóa truyền thống hiện nay vẫn dựa vào các dây chuyền "cứng" với đồ gá cố định (jigs/fixtures), chỉ xử lý tốt những chi tiết có hình dáng đối xứng hoặc đã được định vị nghiêm ngặt từ trước. Khi gặp các chi tiết phi đối xứng, biên dạng phức tạp hoặc bị xoay lệch vị trí ngẫu nhiên trên bề mặt thao tác, dây chuyền truyền thống hoàn toàn mất tính linh hoạt và đòi hỏi sự can thiệp thủ công của con người.

       +-------------------------------------------------------------+
       |                  HỆ THỐNG ROBOT VISION                      |
       |                                                             |
       |  +--------------------+        +-------------------------+  |
       |  |  Top-Down Camera   |  --->  |  NVIDIA Jetson Nano     |  |
       |  |  (Cimsum 2K)       |        |  (RetinaFace+MobileNet) |  |
       |  +--------------------+        +-------------------------+  |
       |                                             |               |
       |                                             v               |
       |  +--------------------+        +-------------------------+  |
       |  |  Yahboom Dofbot    |  <---  |  Arduino Uno / PWM      |  |
       |  |  5-DOF Robot Arm   |        |  (Inverse Kinematics)   |  |
       |  +--------------------+        +-------------------------+  |
       +-------------------------------------------------------------+

Bài toán đặt ra cho đề tài "Phát triển mô hình học máy phát hiện và định vị vật thể ứng dụng trong điều khiển cánh tay robot" của tác giả Bùi Việt Hoàng (Chuyên ngành Cơ điện tử, Viện Cơ khí – Trường Đại học Bách Khoa Hà Nội, dưới sự hướng dẫn của TS. Nguyễn Xuân Hạ) là giải quyết triệt để các hạn chế trên. Đồ án tập trung vào các mục tiêu cụ thể:

  1. Nghiên cứu và xây dựng mô hình Deep Learning đa nhiệm (Multi-task Learning) có khả năng đồng thời phát hiện, phân loại (Classification) và định vị 6 điểm neo hình học (Keypoint/Landmark Detection) của các vật thể có biên dạng phức tạp, không đối xứng.
  2. Tối ưu hóa kiến trúc mạng nơ-ron tích chập (CNN) dựa trên mạng xương sống MobileNet (sử dụng Depthwise Separable Convolution) để triển khai xử lý thời gian thực trên phần cứng nhúng biên (Edge AI) NVIDIA Jetson Nano.
  3. Mô hình hóa động học cánh tay robot Yahboom Dofbot 5 bậc tự do (5-DOF) bằng phương pháp Denavit-Hartenberg (D-H), giải bài toán động học ngược (Inverse Kinematics) kết hợp thuật toán lập kế hoạch gắp (Grasp Planning) từ các tọa độ điểm neo dự đoán.
  4. Tích hợp phần cứng - phần mềm thành một hệ thống hoàn chỉnh, thực nghiệm đánh giá sai số định vị, hiệu chuẩn thị giác máy và đo lường hiệu năng suy luận.

Kết quả kỳ vọng của hệ thống là đạt tốc độ xử lý thời gian thực xấp xỉ 20 FPS trên máy tính nhúng Jetson Nano, nhận diện chính xác 2 lớp chi tiết cơ khí phức tạp với tập dữ liệu tự thu thập, và khống chế sai số định vị thực nghiệm trong phạm vi chấp nhận được (~4 mm) sau khi hiệu chuẩn nội suy. Phạm vi đồ án giới hạn ở hệ tọa độ phẳng 2D (chiều cao $Z$ cố định), camera quan sát từ trên xuống (top-down view) vuông góc với mặt phẳng làm việc.


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

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

Để giải quyết bài toán cấp phôi và gắp thả chi tiết trong công nghiệp, hiện có nhiều hướng tiếp cận từ truyền thống đến hiện đại. Bảng so sánh dưới đây phân tích ưu và nhược điểm của từng phương pháp:

Tiêu chí Định vị bằng khuôn mẫu / Đồ gá cố định Định vị 3D bằng Cảm biến độ sâu / Laser (RGB-D) Định vị 2D Bounding Box truyền thống (YOLO, SSD) Giải pháp đề xuất: Multi-task Keypoint Detection
Độ chính xác hướng gắp Rất cao nếu vật nằm đúng vị trí khuôn Cao trong không gian 3 chiều Kém đối với vật bất đối xứng (chỉ lấy tâm box) Cao (xác định vector hướng từ các cặp Keypoint)
Độ phức tạp phần cứng Cơ khí phức tạp, thiếu tính linh hoạt Camera 3D đắt tiền, cồng kềnh Camera 2D tiêu chuẩn, đơn giản Camera 2D công nghiệp / Document Scanner tiêu chuẩn
Chi phí tính toán Thấp (xử lý ngưỡng ảnh/Laser) Rất cao, khó đạt Real-time trên Edge AI Thấp đến trung bình Tối ưu hóa cao trên GPU nhúng (Jetson Nano)
Khả năng khái quát hóa Kém (phải thiết kế lại đồ gá khi đổi mẫu) Tốt nhưng phụ thuộc nhiễu đám mây điểm (Point Cloud) Trung bình (dễ nhầm hướng khi vật xoay) Rất tốt (học sâu trích xuất đặc trưng biên phức tạp)

Yêu cầu người dùng đối với hệ thống được phân loại theo mô hình MoSCoW:

  • Must have (Bắt buộc): Nhận dạng chính xác 2 lớp vật mẫu; trích xuất đủ 6 điểm đặc trưng ($p_1 \dots p_6$); tính toán góc xoay kẹp $q_5$ và tọa độ gắp $(x, y)$; giao tiếp điều khiển động cơ servo mượt mà qua I2C/PWM.
  • Should have (Nên có): Tốc độ suy luận đạt tối thiểu 15-20 FPS trên Jetson Nano; thuật toán hiệu chuẩn sai số thấu kính và góc nghiêng camera.
  • Could have (Có thể có): Giao diện điều khiển giám sát trực quan; khả năng mở rộng thêm nhiều lớp vật thể mới.
  • Won't have (Chưa thực hiện trong phạm vi này): Định vị vật thể xếp chồng trong không gian 3D ngẫu nhiên (Bin-picking); gắp vật thể đang chuyển động nhanh trên băng chuyền.

Thiết kế hệ thống

Kiến trúc tổng thể của hệ thống bao gồm 3 phân hệ chính: Phân hệ Thị giác máy (Vision Subsystem), Phân hệ Xử lý trung tâm & AI (Edge AI Computing), và Phân hệ Cơ điện tử & Điều khiển robot (Actuation Subsystem).

+-----------------------------------------------------------------------------------+
|                            HỆ THỐNG THỊ GIÁC & ROBOT                              |
+-----------------------------------------------------------------------------------+
| [Camera Cimsum 2K] ---> (Ảnh RGB 2560x1440)                                       |
|                               |                                                   |
|                               v                                                   |
| [NVIDIA Jetson Nano]                                                              |
|   |-- 1. Tiền xử lý & Chuẩn hóa dữ liệu (Resize, Normalize)                       |
|   |-- 2. Mô hình RetinaFace-MobileNet Backbone                                    |
|   |      |-- Head 1: Object Classification (Softmax -> Class 1 / Class 2)         |
|   |      |-- Head 2: Bounding Box Regression (Smooth L1 Loss)                     |
|   |      \-- Head 3: 6-Keypoint Landmark Regression (MSE / Smooth L1)             |
|   |-- 3. Grasp Planning: Tính tâm gắp (x, y) & Góc định hướng q5                  |
|   |-- 4. Inverse Kinematics Engine: Giải góc biến khớp (q1, q2, q3, q4)           |
|   \-- 5. Vision-to-Robot Calibration (Hiệu chuẩn nội suy đa thức)                 |
|                               |                                                   |
|                               v (Giao tiếp I2C / Serial Protocol)                 |
| [Arduino Uno + Mạch điều khiển PWM PCA9685]                                       |
|   \--> Điều chế xung PWM (50Hz) ---> 5 động cơ Servo (Robot Yahboom Dofbot 5-DOF) |
+-----------------------------------------------------------------------------------+

Chi tiết ngăn xếp công nghệ (Technology Stack) sử dụng trong đồ án:

  • Ngôn ngữ lập trình: Python 3.6/3.8, C++ (Arduino Firmware).
  • Deep Learning Framework: PyTorch 1.8.0, Torchvision, CUDA 10.2, cuDNN 8.0, TensorRT.
  • Computer Vision & Utilities: OpenCV 4.5.1, NumPy, Matplotlib, LabelMe (gán nhãn đa giác và keypoints).
  • Phần cứng tính toán nhúng: NVIDIA Jetson Nano Developer Kit (GPU Maxwell 128 lõi, CPU Quad-core ARM A57, 4GB LPDDR4).
  • Phần cứng Robot: Yahboom Dofbot 5-DOF, Mạch điều khiển Arduino UNO, Camera quét tài liệu Cimsum (hỗ trợ đèn LED chiếu sáng tích hợp, độ phân giải 2560x1440).
  • CAD/CAM: SolidWorks 2020 (thiết kế vật mẫu thí nghiệm in 3D).

Methodology

Quy trình phát triển dự án kết hợp giữa mô hình lặp Agile Prototyping cho phần mềm AI và mô hình V-Model cho phần tích hợp động học cơ điện tử:

  1. Giai đoạn 1 (Tuần 1 - 4): Thiết lập mô hình động học D-H, tính toán giải tích động học ngược, chế tạo mẫu thử 3D trên SolidWorks.
  2. Giai đoạn 2 (Tuần 5 - 8): Thu thập dữ liệu hình ảnh qua camera cố định, tiền xử lý, gán nhãn 6 keypoints bằng LabelMe, thiết kế kiến trúc mạng MobileNet-RetinaFace.
  3. Giai đoạn 3 (Tuần 9 - 12): Huấn luyện mô hình, tinh chỉnh siêu tham số, tối ưu hóa trọng số mô hình cho Jetson Nano.
  4. Giai đoạn 4 (Tuần 13 - 16): Tích hợp phần mềm thị giác với bộ điều khiển động cơ qua I2C, lập trình thuật toán hiệu chuẩn sai số nội suy, thực nghiệm gắp thả thực tế và đánh giá độ chính xác.

Implementation và kết quả

Development process

Trọng tâm của giải pháp học sâu là cải tiến kiến trúc RetinaFace nguyên bản (vốn dùng cho nhận diện khuôn mặt với 5 điểm landmarks) thành mạng phát hiện vật thể đa nhiệm phục vụ gắp cơ khí với 6 điểm landmarks ($p_1$ đến $p_6$).

Mạng xương sống (Backbone) sử dụng MobileNet nhằm giảm thiểu tối đa khối lượng tham số thông qua tích chập tách biệt theo chiều sâu (Depthwise Separable Convolution - DSC). Thay vì tích chập thông thường với chi phí tính toán $h \times w \times c \times k \times k \times c'$, DSC chia nhỏ thành:

  1. Depthwise Convolution: Tích chập từng kênh riêng biệt với kích thước bộ lọc $k \times k \times 1$, tiêu tốn $k \times k \times c$ phép tính.
  2. Pointwise Convolution: Tích chập điểm $1 \times 1 \times c \times c'$ để tổng hợp thông tin giữa các kênh.

Tỷ lệ suy giảm khối lượng tính toán đạt được xấp xỉ: $$\text{Cost Ratio} = \frac{k \times k \times c + c \times c' \times 1 \times 1}{k \times k \times c \times c'} = \frac{1}{c'} + \frac{1}{k^2}$$ Với $k=3$, khối lượng tính toán giảm khoảng 8 đến 9 lần so với Standard Convolution mà vẫn giữ được trường tiếp nhận đặc trưng (Receptive Field) tương đương.

Hàm mất mát đa nhiệm (Multi-task Loss Function) được thiết kế kết hợp 3 thành phần: $$\mathcal{L} = \mathcal{L}{cls}(p_i, p_i^) + \lambda_1 p_i^ \mathcal{L}{box}(t_i, t_i^) + \lambda_2 p_i^ \mathcal{L}_{pts}(k_i, k_i^*)$$ Trong đó:

  • $\mathcal{L}_{cls}$ là Softmax Cross-Entropy Loss phân loại lớp vật thể.
  • $\mathcal{L}_{box}$ là Smooth L1 Loss tính toán độ lệch tọa độ hộp bao (Bounding Box).
  • $\mathcal{L}{pts}$ là Smooth L1 Loss tính toán sai số 6 cặp tọa độ điểm neo $(x_j, y_j){j=1}^6$.
  • $p_i^$ là nhãn nhị phân ($p_i^ = 1$ nếu là vật thể, $p_i^* = 0$ nếu là nền).
import torch
import torch.nn as nn
import torch.nn.functional as F

class MultiTaskLoss(nn.Module):
    def __init__(self, num_classes=2, num_keypoints=6):
        super(MultiTaskLoss, self).__init__()
        self.num_classes = num_classes
        self.num_keypoints = num_keypoints
        self.smooth_l1 = nn.SmoothL1Loss(reduction='sum')
        self.cross_entropy = nn.CrossEntropyLoss(reduction='sum')

    def forward(self, cls_preds, bbox_preds, kpt_preds, targets):
        """
        cls_preds:  [Batch, Anchors, Num_Classes]
        bbox_preds: [Batch, Anchors, 4]
        kpt_preds:  [Batch, Anchors, 12] (6 keypoints * (x, y))
        targets:    Dictionary chứa ground truth tương ứng
        """
        cls_targets = targets['cls_labels']
        bbox_targets = targets['bbox_labels']
        kpt_targets = targets['kpt_labels']
        pos_mask = targets['pos_mask'] # Mask lọc các anchor dương tính

        # 1. Loss phân loại
        loss_cls = self.cross_entropy(cls_preds.view(-1, self.num_classes), cls_targets.view(-1))

        # 2. Loss bounding box (chỉ tính trên anchor dương)
        loss_box = self.smooth_l1(bbox_preds[pos_mask], bbox_targets[pos_mask])

        # 3. Loss Keypoints định vị 6 điểm
        loss_kpt = self.smooth_l1(kpt_preds[pos_mask], kpt_targets[pos_mask])

        # Tổng hợp Multi-task Loss với hệ số cân bằng lambda1=1.0, lambda2=0.5
        total_loss = loss_cls + 1.0 * loss_box + 0.5 * loss_kpt
        return total_loss

Sau khi mạng suy luận trích xuất tọa độ 6 điểm neo trên ảnh ($p_1 \dots p_6$), vị trí tâm gắp vật thể $(x_g, y_g)$ và góc kẹp $q_5$ được tính toán trực tiếp từ vector nối giữa các điểm đối xứng: $$\theta_{\text{grasp}} = \arctan2(y_{p_4} - y_{p_1}, x_{p_4} - x_{p_1})$$ $$q_5 = \theta_{\text{grasp}} - q_1$$

Để điều khiển cánh tay robot Yahboom Dofbot 5-DOF, hệ tọa độ được thiết lập theo quy chuẩn Denavit-Hartenberg (D-H):

                       Z4
                       |  d5 (Gripper)
                 L3    v
             [Joint 3]----[Joint 4] ---> End-Effector (Grasp Point)
             /
            / L2
           /
     [Joint 2]
         |
         | d1 (Base)
         |
    +----+----+  Z0
    | [Joint 1] |
    +-----------+

Bảng thông số Denavit-Hartenberg (D-H) của robot Yahboom Dofbot 5 bậc tự do:

Khâu ($i$) $\alpha_{i-1}$ $a_{i-1}$ $d_i$ $\theta_i$ (Biến khớp)
1 $0^\circ$ $0$ $d_1 = 11.0\text{ cm}$ (đế + khâu 1) $q_1^*$
2 $90^\circ$ $0$ $0$ $q_2^*$
3 $0^\circ$ $a_2 = 8.3\text{ cm}$ $0$ $q_3^*$
4 $0^\circ$ $a_3 = 8.3\text{ cm}$ $0$ $q_4^*$
5 $-90^\circ$ $a_4 = 7.5\text{ cm} + 11.0\text{ cm}$ (tay kẹp) $0$ $q_5^*$

Bài toán động học ngược (Inverse Kinematics) được giải bằng phương pháp hình học giải tích:

  • Biến khớp xoay đế $q_1 = \arctan2(y_{\text{robot}}, x_{\text{robot}})$.
  • Sau khi chiếu hệ thống lên mặt phẳng thẳng đứng chứa cánh tay, tọa độ khâu tác động cuối đưa về hệ phương trình lượng giác để giải $q_2, q_3, q_4$ thông qua định lý hàm số Cosine.
import numpy as np

def inverse_kinematics_5dof(x, y, z, pitch_angle_deg, a2=8.3, a3=8.3, a4_eff=18.5, d1=11.0):
    """
    Giải động học ngược cho robot Yahboom Dofbot 5-DOF
    x, y, z: Tọa độ điểm gắp trong hệ tọa độ robot (cm)
    pitch_angle_deg: Góc chúc của tay kẹp so với phương ngang
    """
    # 1. Tính góc quay đế q1
    q1 = np.arctan2(y, x)

    # Chiếu vị trí cổ tay (wrist center) lên mặt phẳng 2D
    r = np.sqrt(x**2 + y**2)
    phi = np.radians(pitch_angle_deg)
    
    # Tọa độ khớp 4 (cổ tay)
    r_wrist = r - a4_eff * np.cos(phi)
    z_wrist = (z - d1) - a4_eff * np.sin(phi)

    # 2. Giải q3 dựa trên định lý Cosine
    D = (r_wrist**2 + z_wrist**2 - a2**2 - a3**2) / (2 * a2 * a3)
    D = np.clip(D, -1.0, 1.0)
    q3 = np.arccos(D) # Elbow-down configuration

    # 3. Giải q2
    q2 = np.arctan2(z_wrist, r_wrist) - np.arctan2(a3 * np.sin(q3), a2 + a3 * np.cos(q3))

    # 4. Giải q4 (Góc chúc tay kẹp)
    q4 = phi - (q2 + q3)

    return np.degrees([q1, q2, q3, q4])

Testing và validation

Tập dữ liệu thu thập gồm 4.387 ảnh thực tế trong nhiều điều kiện chiếu sáng và góc quay khác nhau, được chia thành:

  • Tập huấn luyện (Training Set): 3.896 ảnh (~88.8%).
  • Tập kiểm tra (Testing Set): 491 ảnh (~11.2%).

Đánh giá độ chính xác phát hiện vật thể sử dụng chỉ số Average Precision (AP) với ngưỡng IoU = 0.5; đánh giá độ chính xác định vị điểm neo sử dụng chỉ số PCK (Percentage of Correct Keypoints) với ngưỡng sai số chuẩn hóa $\alpha = 0.05$:

$$\text{PCK} = \frac{\sum \text{Correct Keypoints}}{\sum \text{All Keypoints}} \times 100%$$

Bảng kết quả đánh giá mô hình trên tập Test:

Lớp vật mẫu (Class) Số lượng mẫu Test mAP@IoU:0.5 (%) PCK@0.05 Keypoints (%) Tốc độ suy luận (FPS trên Jetson Nano)
Mẫu cơ khí 1 (Biên dạng chạc) 248 98.4% 95.8% ~20.2 FPS
Mẫu cơ khí 2 (Biên dạng khuyết) 243 97.9% 94.6% ~20.1 FPS
Trung bình toàn hệ thống 491 98.15% 95.20% ~20.15 FPS

Thực nghiệm đo đạc vị trí thực tế cho thấy hiện tượng méo quang học ở các góc xa trục quang camera. Để khắc phục, tác giả đã áp dụng phương pháp hiệu chuẩn nội suy hàm đa thức bậc hai cho hai trục $X$ và $Y$: $$x_{\text{calib}} = x_{\text{cam}} - (a_x \cdot x_{\text{cam}}^2 + b_x \cdot x_{\text{cam}} + c_x)$$ $$y_{\text{calib}} = y_{\text{cam}} - (a_y \cdot y_{\text{cam}}^2 + b_y \cdot y_{\text{cam}} + c_y)$$

Sai số đo đạc trung bình trước hiệu chuẩn là $\Delta X \approx 7.8\text{ mm}, \Delta Y \approx 6.5\text{ mm}$. Sau khi hiệu chuẩn nội suy, sai số trung bình giảm xuống còn $\sim 3.8\text{ - }4.1\text{ mm}$, hoàn toàn nằm trong độ mở cho phép của ngàm kẹp cơ khí Dofbot.


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

  1. Chuyển giao đột phá từ Landmark khuôn mặt sang Landmark cơ khí: Đề tài đã chuyển hóa thành công mô hình RetinaFace (vốn được thiết kế riêng cho sinh trắc học khuôn mặt) thành mạng nơ-ron công nghiệp phục vụ trích xuất vector tư thế của vật thể cơ khí phi đối xứng.
  2. Tối ưu hóa đa nhiệm trên nền tảng biên (Edge AI Multi-tasking): Thực hiện đồng thời 3 tác vụ: Phân loại, Phát hiện vị trí (Bounding box) và Định vị 6 điểm hình học chỉ trong một lượt truyền thẳng (Forward pass), đạt hiệu suất ~20 FPS trên phần cứng giới hạn năng lượng NVIDIA Jetson Nano.
  3. Cầu nối hoàn chỉnh giữa Computer Vision và Robot Kinematics: Không dừng lại ở kết quả lý thuyết trên ảnh, đề tài đã khép kín vòng điều khiển (Closed-loop pipeline) từ xử lý ảnh, hiệu chuẩn sai số quang học, tính toán động học ngược D-H đến truyền xung PWM điều khiển góc quay servo thực tế.
  4. Đóng góp học thuật: Công trình nghiên cứu trong đồ án đã được tổng hợp thành 01 bài báo khoa học chuyên ngành gửi đăng tại hội nghị/tạp chí chuyên ngành đang trong quá trình phản biện.

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

Kịch bản ứng dụng thực tế

  • Dây chuyền lắp ráp điện tử và linh kiện phụ tùng: Gắp các chi tiết nhựa/kim loại có chấu cài, hướng lắp đặc thù từ khay cấp liệu rời rạc sang vị trí lắp ráp chính xác trên bo mạch hoặc vỏ máy.
  • Phân loại sản phẩm cơ khí sau gia công CNC: Tự động nhận diện chi tiết đạt chuẩn, phân loại theo mã sản phẩm và xếp đúng chiều vào khay đóng gói.
+-----------------------------------------------------------------------------+
|               QUY TRÌNH TRIỂN KHAI PHẦN CỨNG THỰC TẾ                        |
+-----------------------------------------------------------------------------+
| 1. Cài đặt hệ điều hành: JetPack SDK (Ubuntu 18.04 LTS, CUDA, cuDNN)        |
| 2. Clone mã nguồn & Cài đặt môi trường ảo PyTorch / OpenCV                  |
| 3. Cố định Camera Cimsum ở độ cao 350mm; Bật đèn LED chống nhiễu sáng       |
| 4. Thiết lập hệ tọa độ gốc R0 của robot trùng với gốc tọa độ phẳng bàn máy  |
| 5. Chạy script thu thập ma trận biến đổi Pixel-to-Millimeter                |
| 6. Nạp firmware điều khiển xung PCA9685 lên Arduino Uno                     |
| 7. Chạy chương trình chính `main_grasp_pipeline.py` trên Jetson Nano        |
+-----------------------------------------------------------------------------+

Phân tích chi phí - lợi ích (ROI Estimates)

Chi phí đầu tư phần cứng mẫu thử nghiệm:

  • Máy tính nhúng Jetson Nano 4GB: ~$150
  • Cánh tay robot Yahboom Dofbot 5-DOF + Arduino: ~$250
  • Camera quét Cimsum 2K + Khung giá đỡ: ~$100
  • Nguồn cấp, vật tư in 3D và phụ kiện: ~$50
  • Tổng chi phí phần cứng: ~$550 (thấp hơn hàng chục lần so với các hệ thống Robot Vision công nghiệp chuyên dụng từ Cognex hay Keyence giá từ $5,000 - $15,000).

Hệ thống có thời gian hoàn vốn (ROI) ước tính chỉ từ 4 đến 6 tháng khi áp dụng vào các xưởng gia công vừa và nhỏ nhờ tiết kiệm 1 vị trí nhân công thủ công tại khâu cấp phôi.


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

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

  • Hạn chế chiều sâu 2D: Hệ thống chỉ làm việc trên mặt phẳng $Z$ cố định; chưa xử lý được các trường hợp vật thể bị nghiêng góc 3D hoặc xếp chồng lên nhau.
  • Sai số cơ khí tích lũy: Động cơ servo RC trên robot giáo dục Yahboom có độ rơ cơ học (backlash) và sai số vị trí lớn hơn so với servo công nghiệp, khiến sai số tổng thể còn ở mức ~4 mm.
  • Phụ thuộc điều kiện chiếu sáng: Mặc dù camera có đèn LED hỗ trợ, hiện tượng bóng đổ mạnh khi môi trường thay đổi đột ngột có thể làm giảm độ tin cậy của keypoints.

Hướng phát triển tương lai

  • Tích hợp thêm cảm biến độ sâu RGB-D (như Intel RealSense D435) để chuyển đổi từ dự đoán 2D Keypoints sang 6D Pose Estimation $(X, Y, Z, \text{Roll}, \text{Pitch}, \text{Yaw})$.
  • Triển khai cấu trúc "Eye-in-Hand" (camera gắn trực tiếp trên khâu chấp hành cuối của robot) để mở rộng không gian làm việc linh hoạt.
  • Áp dụng thuật toán bám bắt thời gian thực (Visual Tracking) để gắp vật thể di động trên băng tải liên tục.

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

  • Sinh viên ngành Kỹ thuật Robot, Cơ điện tử, Tự động hóa: Tài liệu tham khảo thực tế về quy trình tích hợp khép kín từ Deep Learning (PyTorch) đến cơ khí và vi điều khiển.
  • Kỹ sư và Lập trình viên Embedded AI: Khung code mẫu tối ưu hóa mạng nơ-ron tích chập đa nhiệm MobileNet trên phần cứng biên Jetson Nano.
  • Doanh nghiệp vừa và nhỏ (SMEs): Giải pháp tự động hóa gắp thả chi tiết phức tạp với chi phí phần cứng cực thấp, dễ bảo trì và làm chủ công nghệ.
  • Nhà nghiên cứu thị giác máy tính: Phương pháp luận rõ ràng trong việc tùy biến các mạng Landmark Detection cho các bài toán nhận dạng vật thể công nghiệp.

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ột máy tính nhúng có GPU hỗ trợ CUDA (khuyến nghị tối thiểu NVIDIA Jetson Nano 4GB hoặc Jetson Xavier NX), Camera RGB có độ phân giải tối thiểu Full HD (1080p) gắn vuông góc với mặt phẳng làm việc, và một cánh tay robot tối thiểu 4-5 bậc tự do có vi điều khiển hỗ trợ nhận lệnh qua giao tiếp UART hoặc I2C.

2. Giới hạn mở rộng quy mô (Scalability) của mô hình khi thêm nhiều loại vật thể mới?

Mô hình hoàn toàn có thể mở rộng để nhận diện hàng chục lớp vật thể khác nhau. Khi thêm sản phẩm mới, người dùng chỉ cần gán nhãn thêm dữ liệu 6 điểm neo trên ảnh bằng công cụ LabelMe, chỉnh sửa số lớp đầu ra tại phân loại Softmax của mạng RetinaFace, sau đó tiến hành Transfer Learning trong khoảng 50-100 epochs mà không cần thay đổi kiến trúc phần cứng.

3. Hệ thống tích hợp với các dây chuyền sản xuất PLC công nghiệp hiện có như thế nào?

Máy tính Jetson Nano có thể đóng vai trò Master hoặc Slave trong mạng công nghiệp thông qua các giao thức truyền thông tiêu chuẩn như Modbus TCP/IP, OPC UA hoặc qua các chân GPIO xuất tín hiệu Trigger/Ready kết nối trực tiếp với PLC (Siemens S7-1200, Mitsubishi FX5U).

4. Nhu cầu bảo trì và hiệu chuẩn hệ thống diễn ra như thế nào?

Hệ thống chỉ cần hiệu chuẩn lại ma trận tọa độ khi có sự thay đổi về độ cao hoặc góc nghiêng của camera. Quá trình hiệu chuẩn được tự động hóa qua script Python bằng cách đặt tấm mẫu chuẩn (Calibration Grid) vào vùng làm việc và ghi nhận lại các điểm gốc trong khoảng 2 phút.

5. Chi phí dự toán và thời gian hoàn vốn (ROI) thực tế ra sao?

Với tổng mức đầu tư trang thiết bị nghiên cứu khoảng $550 (tương đương 13 - 14 triệu VNĐ), hệ thống có khả năng thay thế thao tác thủ công liên tục trong các tác vụ đơn giản. Với chi phí nhân công phổ thông hiện nay, thời gian hoàn vốn trung bình ước tính đạt được trong vòng 4 đến 6 tháng hoạt động.


Kết luận

Đồ án tốt nghiệp "Phát triển mô hình học máy phát hiện và định vị vật thể ứng dụng trong điều khiển cánh tay robot" của sinh viên Bùi Việt Hoàng đã chứng minh tính khả thi và hiệu quả cao của việc ứng dụng Trí tuệ nhân tạo hiện đại vào bài toán điều khiển cơ điện tử. Bằng việc sáng tạo kết hợp kiến trúc mạng đa nhiệm RetinaFace-MobileNet với giải tích động học ngược D-H, hệ thống đã giải quyết thành công bài toán phân loại và gắp các vật thể có biên dạng phức tạp với tốc độ xử lý thời gian thực ~20 FPS trên máy tính nhúng Jetson Nano. Đây là tiền đề vững chắc cho việc tiếp tục phát triển các hệ thống định vị 6 chiều (6D Pose) và dây chuyền đóng gói, lắp ráp thông minh tự động hoàn toàn trong tương lai.