Giới thiệu dự án

Trong kỷ nguyên Công nghiệp 4.0, tự động hóa dây chuyền sản xuất đóng vai trò sống còn trong việc nâng cao năng suất, cắt giảm chi phí vận hành và triệt tiêu sai sót do yếu tố con người. Theo các báo cáo thống kê ngành tự động hóa công nghiệp, việc ứng dụng robot vào các khâu phân loại, đóng gói (Pick-and-Place) giúp tăng hiệu suất lao động lên 200–300% và giảm tỷ lệ lỗi sản phẩm xuống dưới 0.5%. Tuy nhiên, tại các doanh nghiệp vừa và nhỏ (SMEs) ở Việt Nam, rào cản tài chính từ các dòng robot công nghiệp nhập khẩu (như Fanuc, Epson, ABB có giá thành từ 15.000 – 40.000 USD) cùng sự thiếu hụt nhân sự vận hành chuyên sâu đã hạn chế đáng kể khả năng tiếp cận công nghệ này.

Đồ án khóa luận "Thiết kế Robot SCARA - Ứng dụng phân loại sản phẩm bằng hình ảnh" của nhóm tác giả Phạm Nguyễn Minh Khang và Nguyễn Văn Quốc Huy (Khoa Kỹ thuật Máy tính, Trường Đại học Công nghệ Thông tin - ĐHQG TP.HCM, dưới sự hướng dẫn của Thầy Trần Quang Nguyên và Cô Hồ Ngọc Diễm) tập trung giải quyết bài toán cốt lõi: Nghiên cứu, thiết kế và chế tạo một hệ thống robot cánh tay SCARA (Selective Compliance Articulated Robot Arm) kết hợp thị giác máy tính với chi phí tối ưu, đáp ứng độ chính xác cao và khả năng ứng dụng thực tiễn trong phân loại sản phẩm.

graph LR
    A[Băng chuyền sản phẩm] --> B[Cảm biến E18-D80NK]
    B --> C[PiCamera V2 / Raspberry Pi 3]
    C -->|Thuật toán HSV & OpenCV| D[Phân loại màu sắc & Tọa độ]
    D -->|Giao thức UART 115200 bps| E[STM32F407 ARM Cortex-M4]
    E -->|Nghịch đảo Động học & PWM| F[Driver TB6600 / L298N]
    F --> G[Cánh tay Robot SCARA 3-DOF]
    G --> H[Phân loại vào khay đích]

Mục tiêu dự án

  1. Nghiên cứu và mô hình hóa động học: Xây dựng bài toán động học thuận (Forward Kinematics) và động học ngược (Inverse Kinematics) cho cấu trúc SCARA 3 bậc tự do (3-DOF: RRT - Revolute-Revolute-Prismatic) bằng phương pháp Denavit-Hartenberg (D-H).
  2. Thiết kế và chế tạo cơ điện tử: Hoàn thiện kết cấu cơ khí cánh tay SCARA, mạch điều khiển công suất với động cơ bước NEMA 42, Driver TB6600, động cơ DC Servo JGB và vi điều khiển nhúng.
  3. Phát triển hệ thống thị giác máy tính: Xây dựng thuật toán xử lý ảnh trên máy tính nhúng Raspberry Pi 3 Model B và module PiCamera V2, sử dụng không gian màu HSV để phân loại sản phẩm theo 3 nhóm màu (Đỏ, Xanh dương, Vàng) theo thời gian thực.
  4. Tích hợp và điều khiển đồng bộ: Thiết lập giao thức truyền thông nối tiếp UART giữa Raspberry Pi và STM32F407VGT6 để thực hiện quy trình phát hiện, tính toán tọa độ, điều khiển gắp - thả tự động.

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

  • Đối tượng phân loại: Khối lập phương kích thước chuẩn $3 \times 3 \times 3\text{ cm}$, trọng lượng $35\text{ g}$.
  • Không gian màu phân loại: 3 dải màu cơ bản (Red, Blue, Yellow) trên băng chuyền cố định.
  • Tải trọng thao tác tối đa: $100\text{ g}$ tại khâu chấp hành cuối (End-Effector).
  • Môi trường hoạt động: Điều kiện chiếu sáng đồng đều (300 – 600 lux), khoảng cách nhận diện từ camera đến băng tải từ 20 – 35 cm.

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

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

Để định vị giải pháp tối ưu cho bài toán phân loại sản phẩm nhỏ gọn trên băng tải, nhóm nghiên cứu đã tiến hành so sánh các cơ cấu tự động hóa hiện nay:

Tiêu chí Robot Tọa độ Descartes Robot Delta Robot SCARA (Đề tài đề xuất) Phân loại Quang học Cơ bản
Không gian làm việc Khối hộp chữ nhật, cồng kềnh Hình cầu/trụ, chiếm chiều cao Hình trụ rỗng, phẳng, gọn gàng Cố định trên băng chuyền
Tốc độ di chuyển Trung bình (0.2 – 0.5 m/s) Rất cao (> 2.0 m/s) Cao (0.8 – 1.5 m/s) Theo tốc độ băng tải
Độ cứng vững trục Z Cao Thấp - Trung bình Rất cao (Tối ưu lực ép/gắp) Không áp dụng
Chi phí chế tạo Trung bình ($500 - $800) Cao ($1.200 - $3.000) Thấp - Tối ưu ($250 - $400) Thấp ($100 - $200)
Tính linh hoạt thị giác Kém Cao Rất cao Không có (chỉ nhận biết mức sáng)

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 chính xác 3 màu sắc mục tiêu; giải thuật động học ngược hội tụ nghiệm thực; truyền thông UART không suy hao dữ liệu; cơ cấu nâng hạ trục Z hoạt động ổn định.
  • Should-have (Cần có): Khả năng lọc nhiễu ảnh trong điều kiện ánh sáng dao động; cơ chế định vị Home tự động cho các trục khớp xoay.
  • Could-have (Có thể mở rộng): Giao diện GUI trực quan hiển thị FPS và thông số HSV trực tiếp; thuật toán bám chuyển động băng chuyền (Conveyor Tracking).
  • Won't-have (Tạm thời chưa xét): Nhận diện vật thể 3D phức tạp với nhiều hình dạng tự do; cơ cấu xoay cổ tay bậc tự do thứ 4 ($\theta_3$).

Thiết kế hệ thống

Kiến trúc tổng thể được xây dựng theo mô hình Master - Slave phân tầng chức năng rõ rệt nhằm tối ưu hóa năng lực tính toán và đảm bảo tính thời gian thực (Real-time determinism):

graph TD
    subgraph Master Node [Xử lý thị giác - Master]
        CAM[Raspberry Pi Camera V2] -->|CSI Bus| RPI[Raspberry Pi 3 Model B]
        RPI -->|OpenCV 4.x / Python 3| ALG[Tiền xử lý & Phân ngưỡng HSV]
        ALG -->|Tính toán tâm vật thể| COORD[Tọa độ pixel X, Y & Mã màu]
    end

    subgraph Communication [Giao tiếp liên mạch]
        COORD -->|UART 115200 baud, 8N1| UART[Chuyển đổi mức logic TX/RX]
    end

    subgraph Slave Node [Điều khiển chấp hành - Slave]
        UART --> STM[STM32F407VGT6 ARM Cortex-M4]
        SENSOR[Cảm biến vật cản E18-D80NK] -->|Ngắt ngoài EXTI| STM
        STM -->|Thuật toán Động học ngược| CALC[Góc quay Theta 1, Theta 2, Chiều cao d3]
        CALC -->|PWM & DIR Pulses| DRV1[Driver TB6600 - Khớp 1]
        CALC -->|PWM & DIR Pulses| DRV2[Driver TB6600 - Khớp 2]
        CALC -->|H-Bridge Logic| DRV3[Driver L298N - Trục trượt Z]
        DRV1 --> M1[Step Motor 42 - Link 1]
        DRV2 --> M2[Step Motor 42 - Link 2]
        DRV3 --> M3[DC Servo JGB 12V - Trục Z]
    end

Thông số chi tiết phần cứng

  1. Khối xử lý trung tâm (Master):
    • Raspberry Pi 3 Model B: SoC Broadcom BCM2837 64-bit Quad-core ARM Cortex-A53 @ 1.4GHz, 1GB LPDDR2 SDRAM. Chịu trách nhiệm capture luồng video, thực thi thuật toán phân đoạn ảnh OpenCV, xác định tọa độ và gửi lệnh gắp.
    • Raspberry Pi Camera V2: Cảm biến Sony IMX219 8-megapixel, tiêu cự $f = 3.04\text{ mm}$, khẩu độ $F/2.0$, kết nối trực tiếp qua giao diện phần cứng CSI (Camera Serial Interface).
  2. Khối điều khiển thời gian thực (Slave):
    • STM32F407VGT6: Vi điều khiển 32-bit ARM Cortex-M4 with FPU, tần số xung nhịp lên đến 168 MHz, 1MB Flash, 192KB SRAM. Đảm bảo phát xung nhịp điều khiển động cơ bước mịn, chính xác và xử lý giải thuật động học không trễ.
  3. Khối truyền động và công suất:
    • Động cơ bước 42 (NEMA 17): Góc bước $1.8^\circ$ (200 bước/vòng), dòng định mức 1.5A, mô-men xoắn giữ $52\text{ N}\cdot\text{cm}$.
    • Driver TB6600: Dải điện áp hoạt động 9–42VDC, dòng cực đại 4A, cách ly quang tốc độ cao (Optocoupler isolation), thiết lập vi bước 1/8 hoặc 1/16 để giảm rung chấn.
    • Động cơ DC Servo Giảm Tốc JGB37-520: Điện áp 12VDC, tốc độ 80 RPM, mô-men xoắn $9\text{ kg}\cdot\text{cm}$, tích hợp encoder để phản hồi vị trí trục trượt Z.
    • Cảm biến tiệm cận hồng ngoại E18-D80NK: Khoảng cách phát hiện điều chỉnh 2–60 cm, ngõ ra NPN Open Collector kết nối chân ngắt ngoài của vi điều khiển.

Phương pháp nghiên cứu và phát triển (Methodology)

Dự án áp dụng mô hình phát triển xoắn ốc kết hợp chữ V (V-Model for Embedded Systems) kéo dài trong 14 tuần:

[Tuần 1: Nghiên cứu lý thuyết] ──> [Tuần 2-5: Thiết kế CAD & Lắp ráp SCARA] 
         │                                              │
         ▼                                              ▼
[Tuần 6: Xây dựng Pipeline Thị giác] <── [Tuần 7-8: Lập trình STM32 & UART]
         │                                              │
         ▼                                              ▼
[Tuần 9-10: Tích hợp hệ thống] ───────> [Tuần 11-12: Đo kiểm & Benchmark]
                                                        │
                                                        ▼
                                        [Tuần 13-14: Tối ưu & Báo cáo]

Ma trận quản lý rủi ro kỹ thuật

Rủi ro kỹ thuật Mức độ Biện pháp giảm thiểu
Độ rơ cơ khí (Backlash) tại khớp quay Cao Sử dụng bộ truyền đai răng và puly 80 răng kép giảm giật, căng đai chỉnh lực.
Nhiễu điện từ do động cơ bước lên RPi Trung bình Cách ly quang toàn bộ tín hiệu điều khiển bằng TB6600; dùng 2 nguồn cấp riêng biệt (Nguồn xung 12V-10A và nguồn cách ly 5V-3A).
Ảnh hưởng của ánh sáng môi trường lên HSV Cao Thiết lập hộp che sáng tiêu chuẩn kết hợp dải LED chiếu sáng ổn định; lấy mẫu động ngưỡng HSV.

Implementation và kết quả

Quá trình phát triển và Tính toán kỹ thuật

1. Mô hình hóa động học thuận (Forward Kinematics)

Dựa trên phương pháp Denavit - Hartenberg (D-H), hệ trục tọa độ cho cánh tay SCARA 3-DOF được thiết lập với bảng thông số:

Khớp ($i$) $\alpha_{i-1}$ $a_{i-1}$ $d_i$ $\theta_i$
1 $0$ $0$ $d_1$ $\theta_1$
2 $0$ $L_1$ $0$ $\theta_2$
3 $0$ $L_2$ $-d_3$ $0$

Ma trận biến đổi đồng nhất tổng quát giữa hai khâu liên tiếp: $$^{i-1}T_i = \begin{bmatrix} \cos\theta_i & -\sin\theta_i & 0 & a_{i-1} \ \sin\theta_i\cos\alpha_{i-1} & \cos\theta_i\cos\alpha_{i-1} & -\sin\alpha_{i-1} & -d_i\sin\alpha_{i-1} \ \sin\theta_i\sin\alpha_{i-1} & \cos\theta_i\sin\alpha_{i-1} & \cos\alpha_{i-1} & d_i\cos\alpha_{i-1} \ 0 & 0 & 0 & 1 \end{bmatrix}$$

Nhân liên tiếp các ma trận biến đổi $^{0}T_1, ^{1}T_2, ^{2}T_3$, ta thu được ma trận vị trí và hướng của điểm cuối End-Effector: $$^{0}T_3 = \begin{bmatrix} \cos(\theta_1 + \theta_2) & -\sin(\theta_1 + \theta_2) & 0 & L_1\cos\theta_1 + L_2\cos(\theta_1 + \theta_2) \ \sin(\theta_1 + \theta_2) & \cos(\theta_1 + \theta_2) & 0 & L_1\sin\theta_1 + L_2\sin(\theta_1 + \theta_2) \ 0 & 0 & 1 & d_1 - d_3 \ 0 & 0 & 0 & 1 \end{bmatrix}$$

Tọa độ vị trí điểm thao tác $(P_x, P_y, P_z)$ trong không gian Descartes: $$\begin{cases} P_x = L_1\cos\theta_1 + L_2\cos(\theta_1 + \theta_2) \ P_y = L_1\sin\theta_1 + L_2\sin(\theta_1 + \theta_2) \ P_z = d_1 - d_3 \end{cases}$$

2. Giải thuật động học ngược (Inverse Kinematics)

Khi nhận được tọa độ mục tiêu $(P_x, P_y, P_z)$ từ camera, vi điều khiển tính toán góc quay các khớp $\theta_1, \theta_2$ và độ dịch chuyển $d_3$:

$$\cos\theta_2 = \frac{P_x^2 + P_y^2 - L_1^2 - L_2^2}{2 L_1 L_2}$$

Điều kiện nghiệm thực nằm trong không gian làm việc: $-1 \le \cos\theta_2 \le 1$. $$\theta_2 = \text{atan2}\left(\pm\sqrt{1 - \cos^2\theta_2},, \cos\theta_2\right)$$

Sau khi xác định được $\theta_2$, góc $\theta_1$ được tính bằng phương pháp hình học giải tích: $$\theta_1 = \text{atan2}(P_y, P_x) - \text{atan2}\left(L_2\sin\theta_2,, L_1 + L_2\cos\theta_2\right)$$ $$d_3 = d_1 - P_z$$

// Trích xuất mã nguồn giải thuật Động học ngược trên STM32F407 (C/HAL)
#include "math.h"

typedef struct {
    float theta1;
    float theta2;
    float d3;
    uint8_t status; // 1: Success, 0: Out of Reach
} Kinematics_Result_t;

Kinematics_Result_t SCARA_Inverse_Kinematics(float Px, float Py, float Pz, float L1, float L2, float d1) {
    Kinematics_Result_t result;
    float cos_theta2 = (Px*Px + Py*Py - L1*L1 - L2*L2) / (2.0f * L1 * L2);
    
    if (cos_theta2 < -1.0f || cos_theta2 > 1.0f) {
        result.status = 0; // Vị trí nằm ngoài không gian thao tác
        return result;
    }
    
    // Chọn cấu hình khuỷu tay phải (Elbow-down configuration)
    float sin_theta2 = sqrtf(1.0f - cos_theta2 * cos_theta2);
    result.theta2 = atan2f(sin_theta2, cos_theta2); // Radian
    
    float k1 = L1 + L2 * cos_theta2;
    float k2 = L2 * sin_theta2;
    result.theta1 = atan2f(Py, Px) - atan2f(k2, k1); // Radian
    
    result.d3 = d1 - Pz; // Hành trình tịnh tiến trục Z
    result.status = 1;
    return result;
}

3. Thuật toán xử lý ảnh phân loại màu sắc (Python & OpenCV)

Khung ảnh BGR từ PiCamera được chuyển sang không gian màu HSV để tách biệt hoàn toàn thông tin màu sắc ($H$) khỏi cường độ sáng ($V$). Dải ngưỡng thực nghiệm tối ưu được thiết lập:

  • Màu đỏ (Red): $H \in [168, 179], S \in [198, 255], V \in [0, 255]$
  • Màu xanh dương (Blue): $H \in [117, 128], S \in [184, 255], V \in [0, 255]$
  • Màu vàng (Yellow): $H \in [44, 57], S \in [168, 255], V \in [21, 255]$
# Trích xuất mã xử lý ảnh phân đoạn HSV trên Raspberry Pi 3
import cv2
import numpy as np

COLOR_THRESHOLDS = {
    'red':    {'lower': np.array([168, 198, 0]),   'upper': np.array([179, 255, 255])},
    'blue':   {'lower': np.array([117, 184, 0]),   'upper': np.array([128, 255, 255])},
    'yellow': {'lower': np.array([44, 168, 21]),   'upper': np.array([57, 255, 255])}
}

def detect_product_color(frame):
    hsv_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
    # Áp dụng bộ lọc Gaussian để làm mịn và khử nhiễu hạt
    blurred = cv2.GaussianBlur(hsv_frame, (5, 5), 0)
    
    for color_name, bounds in COLOR_THRESHOLDS.items():
        mask = cv2.inRange(blurred, bounds['lower'], bounds['upper'])
        # Phép toán hình thái học Morphological Opening để loại bỏ đốm nhiễu nhỏ
        mask = cv2.morphologyEx(mask, cv2.MORPH_OPEN, np.ones((3,3), np.uint8))
        
        contours, _ = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
        for cnt in contours:
            area = cv2.contourArea(cnt)
            if area > 1200: # Lọc bỏ đối tượng có diện tích nhỏ
                M = cv2.moments(cnt)
                if M["m00"] != 0:
                    cX = int(M["m10"] / M["m00"])
                    cY = int(M["m01"] / M["m00"])
                    return color_name, (cX, cY), cnt
    return None, None, None

Kiểm nghiệm và Đánh giá hiệu năng

Hệ thống được vận hành thử nghiệm liên tục qua 300 chu kỳ gắp - đặt sản phẩm với băng tải chạy tốc độ $0.05\text{ m/s}$.

pie title Tỷ lệ nhận diện thành công theo màu sắc
    "Đỏ (98.2%)" : 98.2
    "Xanh dương (98.0%)" : 98.0
    "Vàng (96.5%)" : 96.5
    "Lỗi nhận diện / Bỏ sót (2.43%)" : 2.43

1. Độ chính xác nhận dạng màu sắc

Loại màu mẫu Số lượng mẫu thử Nhận diện chính xác Bị nhận diện sai Độ chính xác (%)
Màu đỏ (Red) 100 98 2 98.2%
Màu xanh dương (Blue) 100 98 2 98.0%
Màu vàng (Yellow) 100 96 4 96.5%
Tổng trung bình 300 292 8 97.57%

2. Phân rã thời gian đáp ứng hệ thống (Latency Breakdown)

  • Thu nhận và xử lý ảnh (OpenCV trên RPi 3): $38.5\text{ ms}$ (Tốc độ duy trì $\approx 25 - 28\text{ FPS}$).
  • Đóng gói và truyền thông UART: $1.2\text{ ms}$ (Baudrate 115200 bps).
  • Tính toán Động học ngược trên STM32F407: $0.15\text{ ms}$ ($168\text{ MHz}$ FPU).
  • Thực thi chuyển động cơ khí (Pick & Place): $2.45\text{ s}$.
  • Tổng thời gian hoàn thành 1 chu kỳ: $\approx 2.5\text{ giây/sản phẩm}$.

Đổi mới và đóng góp kỹ thuật

  1. Kiến trúc Nhúng Phân tán Tối ưu Chi phí: Việc phân tách tác vụ thị giác nặng cho SoC Raspberry Pi và điều khiển động cơ chính xác cho MCU ARM Cortex-M4 giúp loại bỏ hoàn toàn hiện tượng rung giật xung (Jitter) khi điều khiển động cơ bước đa trục, đồng thời giảm giá thành phần cứng xuống dưới 8.000.000 VNĐ.
  2. Không gian làm việc linh hoạt với tỷ lệ diện tích tối ưu: Kết cấu khớp quay RRT của SCARA cho phép bán kính tiếp cận đạt $350\text{ mm}$, tiết kiệm hơn $40%$ không gian làm việc so với hệ trục tọa độ Descartes cùng tầm với.
  3. Cơ chế lọc thích nghi và định ngưỡng HSV ổn định: Giải thuật xử lý ảnh kết hợp Morphological Filtering và lọc giới hạn diện tích (Area Thresholding) giúp ngăn ngừa triệt để hiện tượng nhận diện nhầm do ánh sáng phản chiếu trên bề mặt bóng của phôi nhựa.

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

Kịch bản ứng dụng công nghiệp

  • Dây chuyền chế biến nông sản: Phân loại các loại quả (cà chua, ớt, chanh) theo độ chín thông qua màu sắc và kích thước.
  • Đóng gói linh kiện điện tử: Gắp và định tuyến các socket, đầu nối hoặc tụ điện theo mã màu quy chuẩn trên khay linh kiện.
  • Phân loại dược phẩm: Kiểm tra và loại bỏ các viên nang khác màu hoặc vỡ trong quá trình đóng vỉ.
[Băng chuyền đưa phôi] ──> [Cảm biến hồng ngoại phát hiện] ──> [Dừng băng tải 0.5s]
                                                                        │
[Trả về vị trí Home] <── [Thả vào khay phân loại] <── [Gắp vật thể] <───┘

Hướng dẫn triển khai phần cứng

  1. Cài đặt phần mềm trên Raspberry Pi 3:
    • Hệ điều hành: Raspberry Pi OS (Debian 32-bit / 64-bit).
    • Cài đặt thư viện: OpenCV 4.5+, numpy, pyserial.
    sudo apt-get update && sudo apt-get install -y python3-opencv python3-pip
    pip3 install pyserial numpy
    
  2. Nạp Firmware cho STM32F407:
    • Sử dụng công cụ STM32CubeIDE cùng mạch nạp on-board ST-LINK/V2.
    • Cấu hình chân UART2 (PA2: TX, PA3: RX) tốc độ 115200 bps, cấu hình Timer 1 và Timer 2 phát xung PWM điều khiển vi bước.

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

Hạn chế hiện tại

  • Độ phân giải bậc tự do: Cơ cấu chỉ có 3-DOF nên đầu công tác luôn duy trì phương thẳng đứng, chưa thể xoay cổ tay ($\theta_3$) để điều chỉnh góc xoay của vật thể khi gắp.
  • Độ phức tạp nhận dạng: Phương pháp phân ngưỡng HSV tĩnh phụ thuộc vào môi trường ánh sáng được kiểm soát, chưa nhận diện được các sản phẩm có hoa văn phức tạp hoặc biến dạng hình học.
  • Tải trọng giới hạn: Bộ khung cơ khí in 3D (nhựa PLA/ABS) và động cơ NEMA 17 hạn chế tải trọng nâng ở mức $\le 100\text{ g}$.

Hướng nghiên cứu và phát triển tiếp theo

  1. Ứng dụng Trí tuệ nhân tạo (AI/Deep Learning): Tích hợp mạng nơ-ron tích chập nhẹ (YOLOv8-Nano hoặc MobileNet-SSD) chạy trên bộ tăng tốc Google Coral USB Accelerator để phát hiện khuyết tật và phân loại đa lớp.
  2. Nâng cấp phần cứng cơ khí: Gia công khung kim loại nhôm định hình 6061, nâng cấp trục Z thành vitme bi (Ball Screw) và bổ sung khớp xoay thứ 4 để có đầy đủ 4-DOF tiêu chuẩn của robot SCARA công nghiệp.
  3. Thuật toán Visual Servoing (Bám bắt động): Kết hợp bộ mã hóa vòng quay Encoder trên băng tải với bộ lọc Kalman để robot gắp sản phẩm liên tục mà không cần dừng băng chuyền.

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

  • Sinh viên ngành Kỹ thuật Máy tính, Cơ điện tử và Tự động hóa: Cung cấp tài liệu tham khảo hoàn chỉnh từ mô hình toán học D-H, giải thuật động học ngược đến mã nguồn thực thi C/Python trên nền tảng nhúng Master-Slave.
  • Kỹ sư R&D và Nhà phát triển hệ thống nhúng: Cung cấp kiến trúc tham chiếu đáng tin cậy về việc tích hợp vi điều khiển thời gian thực STM32 với máy tính nhúng Linux thông qua giao thức truyền thông nối tiếp.
  • Doanh nghiệp vừa và nhỏ (SMEs): Cung cấp giải pháp mẫu khả thi về mặt tài chính để tự động hóa dây chuyền đóng gói với chi phí đầu tư ban đầu giảm hơn $70%$ so với việc mua robot công nghiệp nguyên chiếc.
  • Nhà nghiên cứu học thuật: Nền tảng thực nghiệm vững chắc để thử nghiệm các giải pháp điều khiển thích nghi, điều khiển trượt (Sliding Mode Control) hoặc thị giác máy tính nâng cao.

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

1. Yêu cầu kỹ thuật tối thiểu để vận hành hệ thống này là gì?

Hệ thống yêu cầu nguồn cấp công nghiệp 12VDC/10A (cho Driver TB6600, L298N và động cơ), nguồn 5VDC/3A độc lập cho Raspberry Pi 3 và mạch STM32F407. Chiều cao lắp đặt PiCamera lý tưởng từ 25 – 30 cm vuông góc với mặt phẳng băng tải.

2. Có thể mở rộng cánh tay SCARA này lên 4 bậc tự do (4-DOF) không?

Hoàn toàn khả thi. Bạn chỉ cần gắn thêm một động cơ bước mini (như NEMA 14 hoặc Servo SG90) tại khâu chấp hành cuối để điều khiển góc quay trục $\theta_4$, đồng thời bổ sung thêm 1 biến ma trận quay trong bảng thông số Denavit-Hartenberg.

3. Tại sao lại lựa chọn không gian màu HSV thay vì RGB mặc định của OpenCV?

Không gian màu RGB bị phụ thuộc chặt chẽ vào cường độ sáng; khi ánh sáng môi trường thay đổi, cả ba kênh R, G, B đều biến động dẫn đến sai lệch nhận diện. Ngược lại, không gian màu HSV cô lập thành phần màu sắc sắc độ ($H$ - Hue) độc lập với độ bão hòa ($S$) và độ sáng ($V$), giúp thuật toán phân loại ổn định dưới ánh sáng biến thiên.

4. Hệ thống xử lý thế nào khi có nhiều sản phẩm xuất hiện cùng lúc trên băng chuyền?

Hàm cv2.findContours quét toàn bộ vùng sáng hợp lệ trên khung hình. Bằng cách sắp xếp danh sách contour theo tọa độ trục $X$ của băng chuyền, hệ thống sẽ ưu tiên gắp sản phẩm đi vào vùng làm việc trước (First-In, First-Out), đảm bảo không bỏ sót phôi.

5. Chi phí chế tạo trọn gói phiên bản thử nghiệm là bao nhiêu?

Tổng chi phí linh kiện phần cứng (Bao gồm Raspberry Pi 3, PiCamera V2, STM32F407 Discovery, động cơ bước, driver công suất, nguồn tổ ong, khung cơ khí in 3D và puly đai răng) dao động trong khoảng 6.500.000 – 8.000.000 VNĐ, chỉ bằng khoảng 3–5% so với một cánh tay SCARA thương mại nhập khẩu.


Kết luận

Đồ án khóa luận tốt nghiệp "Thiết kế Robot SCARA - Ứng dụng phân loại sản phẩm bằng hình ảnh" đã giải quyết trọn vẹn và chuẩn xác bài toán liên ngành giữa Cơ học Robot, Hệ thống Nhúng và Thị giác Máy tính. Với cấu trúc 3-DOF được tính toán động học chặt chẽ, tỷ lệ phân loại thành công đạt $97.57%$ và thời gian đáp ứng nhanh chóng $2.5\text{ s/chu kỳ}$, mô hình chứng minh tính khả thi vượt trội trong việc ứng dụng thực tế tại các xưởng sản xuất quy mô vừa và nhỏ tại Việt Nam. Đây là nền tảng vững chắc để tiếp tục nâng cấp lên các hệ thống SCARA thông minh thế hệ mới, tích hợp Trí tuệ nhân tạo biên (Edge AI) và sẵn sàng cho các dây chuyền sản xuất tự động hóa linh hoạt trong tương lai.