Giới thiệu dự án

Trong bối cảnh cuộc Cách mạng Công nghiệp 4.0 đang định hình lại các chuỗi cung ứng toàn cầu, tự động hóa linh hoạt (Flexible Automation) trở thành trụ cột sống còn cho các doanh nghiệp sản xuất. Theo báo cáo thường niên của Liên đoàn Robot Quốc tế (IFR - International Federation of Robotics), mật độ robot công nghiệp toàn cầu đã đạt mức kỷ lục 151 robot trên 10.000 nhân công vào năm 2023, với tốc độ tăng trưởng kép hàng năm (CAGR) của thị trường robot tích hợp thị giác máy tính (Vision-guided Robotics) vượt mức 13,8%. Tuy nhiên, phần lớn các dây chuyền sản xuất truyền thống tại các nước đang phát triển vẫn phụ thuộc vào hệ thống gá đặt phôi cố định và robot dạy học (Teaching Pendant). Phương pháp này bộc lộ nhược điểm cố hữu: chi phí tái cấu hình dây chuyền rất lớn mỗi khi thay đổi quy cách sản phẩm, thiếu khả năng thích ứng với các sai lệch vị trí phôi ngẫu nhiên trong không gian làm việc.

Đồ án tốt nghiệp "Nghiên cứu, cải tiến cánh tay robot 6 bậc tự do ứng dụng camera để gắp vật" được thực hiện bởi nhóm sinh viên Kỹ thuật Cơ điện tử, Trường Cơ khí - Đại học Bách Khoa Hà Nội nhằm giải quyết triệt để bài toán tự động hóa linh hoạt cho quá trình bốc xếp và phân loại phôi.

                  +-------------------------------+
                  |  Camera RGB (Hiệu chuẩn/Calib)|
                  +---------------+---------------+
                                  |
                                  v (Truyền tọa độ X, Y, Z, Yaw)
+-------------------+     +-------+-------+     +--------------------+
| Giao diện PyQt5   |<--->| Raspberry Pi 5|<--->| Driver TB6600 (x6) |
| Điều khiển & Giám |     | Bộ xử lý trung|     +---------+----------+
| sát trạng thái    |     | tâm & Thuật   |               | (Xung/Chiều)
+-------------------+     | toán Động học |               v
                          +---------------+     +--------------------+
                                                | Động cơ Stepper 6-DOF
                                                | & Gripper Rack-Pinion
                                                +--------------------+

Mục tiêu dự án

  1. Phục hồi và tối ưu hóa kết cấu cơ khí: Cải tiến hệ thống khung gá, bộ truyền đai răng, cơ cấu căng đai và thiết kế cụm tay gắp (Gripper) cơ cấu thanh răng - bánh răng chuyên dụng cho phôi hộp $(30 \times 30 \times 60\text{ mm})$ và phôi trụ $(\varnothing 30 \times 60\text{ mm})$.
  2. Xây dựng mô hình toán học giải tích động học: Thiết lập bảng thông số Denavit-Hartenberg (D-H), giải bài toán động học thuận (Forward Kinematics) và động học nghịch (Inverse Kinematics) bằng phương pháp tách vị trí - tách hướng hình học kết hợp đại số.
  3. Phát triển hệ thống điều khiển nhúng: Tích hợp bộ điều khiển trung tâm Raspberry Pi 5 giao tiếp với 6 driver động cơ bước TB6600, thiết lập chu trình hồi vị (Homing Routine) với hệ thống công tắc hành trình và xây dựng giao diện điều khiển GUI trực quan trên nền tảng PyQt5.
  4. Tích hợp thị giác máy tính (Machine Vision): Xây dựng thuật toán xử lý ảnh bằng OpenCV để khử méo thấu kính, phân ngưỡng không gian màu HSV, trích xuất chính xác tâm tọa độ $(X, Y)$ và góc xoay hướng $(\text{Yaw } \theta)$ của phôi, truyền tham số theo thời gian thực tới bộ điều khiển robot.

Phạm vi và giới hạn nghiên cứu

  • Phạm vi: Nghiên cứu cánh tay robot phỏng sinh 6 bậc tự do (cấu hình cơ sở dựa trên nguyên mẫu AR3 của Annin Robotics), làm việc trong không gian bán cầu bán kính tối đa $R \approx 650\text{ mm}$, tải trọng gắp định mức $0,5\text{ kg}$.
  • Giới hạn: Phôi làm việc trên mặt phẳng 2D có độ tương phản màu sắc ổn định; camera được cố định theo cấu hình Eye-to-Hand (nhìn từ trên xuống 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

Tại các xưởng sản xuất vừa và nhỏ, việc chuyển giao phôi thường sử dụng ba nhóm giải pháp chính. Bảng so sánh dưới đây làm rõ sự cần thiết của giải pháp tích hợp robot 6-DOF và camera:

Tiêu chí đánh giá Robot Cartesian 3 trục cố định Robot SCARA 4 bậc tự do Hệ thống Robot 6-DOF + Camera (Đề tài)
Không gian làm việc Hình hộp chữ nhật, chiếm diện tích lớn Hình trụ tròn, giới hạn góc nghiêng Hình cầu linh hoạt, tiếp cận đa hướng
Bậc tự do (DOF) 3 Tịnh tiến (TTT) 3 Quay + 1 Tịnh tiến (RRT) 6 Khớp quay $(6R)$ tùy biến cao
Khả năng nhận dạng Không có (Cần cữ chặn cơ khí) Cảm biến tiệm cận quang đơn điểm Camera 2D/3D nhận dạng tọa độ và góc xoay
Chi phí đầu tư Thấp Trung bình - Cao Tối ưu (Sử dụng phần cứng mở)
Thời gian chuyển đổi mã phôi Rất lâu (Phải gá đặt lại cơ khí) Trung bình (Sửa code điểm cố định) Tức thì (Thuật toán tự động thích ứng)

Ma trận yêu cầu kỹ thuật (Mô hình MoSCoW)

  • Must Have (Bắt buộc): Giải chính xác nghiệm động học nghịch không suy biến; vị trí gắp vật sai số dưới $1,5\text{ mm}$; nhận diện góc xoay phôi sai số dưới $2^\circ$; bảo vệ hành trình bằng cảm biến vật lý.
  • Should Have (Nên có): Giao diện điều khiển PyQt5 hiển thị tọa độ góc khớp và tọa độ Đề-các thời gian thực; cơ chế điều khiển đa luồng (Multi-threading) chống nghẽn lệnh bước xung.
  • Could Have (Có thể có): Mô phỏng tương tác 3D thời gian thực trên giao diện bằng MATLAB Simscape/SolidWorks URDF.
  • Won't Have (Chưa thực hiện ở giai đoạn này): Cảm biến phản hồi lực kẹp (Force-Torque Sensor) ở khâu chấp hành cuối.

Thiết kế hệ thống

+-----------------------------------------------------------------------------------+
|                               HỆ THỐNG PHẦN CỨNG                                 |
+-----------------------------------------------------------------------------------+
|  [Camera 1080p] ---> [Raspberry Pi 5 (8GB)]                                      |
|                             |                                                     |
|                             +---> [6x Driver TB6600] ---> [6x Stepper NEMA 17/11]|
|                             |                                                     |
|                             +---> [Cụm 6x Limit Switch] (Homing)                 |
|                             |                                                     |
|                             +---> [Servo Futaba S3003]  ---> [Gripper Kẹp Phôi]   |
+-----------------------------------------------------------------------------------+
|                               HỆ THỐNG PHẦN MỀM                                  |
+-----------------------------------------------------------------------------------+
|  [OpenCV 4.8]  ---> [Thuật toán Xử lý ảnh: HSV + Canny + MinAreaRect]             |
|                             | (Tọa độ X, Y, Yaw)                                  |
|                             v                                                     |
|  [Python 3.10] ---> [Động học nghịch IK (Giải tích + Tách vị trí/hướng)]          |
|                             | (Góc quay Theta 1 -> Theta 6)                       |
|                             v                                                     |
|  [RPi.GPIO]    ---> [Tạo xung PWM vi bước & Đa luồng Threading]                  |
+-----------------------------------------------------------------------------------+

Thông số động học Denavit-Hartenberg (D-H Parameters)

Dựa trên cấu trúc hình học các khâu của robot 6-DOF, hệ tọa độ chuẩn Denavit-Hartenberg được xác lập:

Khâu $(i)$ $\theta_i\ (^\circ)$ $d_i\ (\text{mm})$ $a_i\ (\text{mm})$ $\alpha_i\ (^\circ)$ Giới hạn góc quay
1 $\theta_1$ $D_0 = 166,8$ $L_1 = 64,0$ $+90$ $-170^\circ \le \theta_1 \le +170^\circ$
2 $\theta_2 + 90^\circ$ $0$ $L_2 = 306,0$ $0$ $-42^\circ \le \theta_2 \le +90^\circ$
3 $\theta_3$ $0$ $0$ $+90$ $-89^\circ \le \theta_3 \le +52^\circ$
4 $\theta_4$ $D_1 = 225,0$ $0$ $-90$ $-165^\circ \le \theta_4 \le +165^\circ$
5 $\theta_5 - 90^\circ$ $0$ $0$ $+90$ $-105^\circ \le \theta_5 \le +105^\circ$
6 $\theta_6$ $D_2 = 131,8$ $0$ $0$ $-155^\circ \le \theta_6 \le +155^\circ$

Technology Stack

  • Phần cứng xử lý: Máy tính nhúng Raspberry Pi 5 Broadcom BCM2712 Quad-core Cortex-A76 @ 2.4GHz, 8GB LPDDR4X.
  • Driver điều khiển: TB6600HG Stepper Motor Driver (dòng định mức $4,0\text{A}$, điện áp $9\text{V} - 42\text{V}$, cấu hình vi bước $1/1, 1/2, 1/4, 1/8, 1/16, 1/32$).
  • Thiết kế cơ khí & Mô phỏng: Dassault Systèmes SolidWorks 2022 SP5 kết hợp MathWorks MATLAB/Simulink R2023b (Simscape Multibody Toolbox).
  • Nền tảng lập trình & Thư viện: Python 3.10+, OpenCV 4.8.0, PyQt5, NumPy 1.24.3, RPi.GPIO.

Phương pháp nghiên cứu (Methodology)

Dự án áp dụng mô hình phát triển phần mềm kết hợp kỹ thuật hệ thống (V-Model / Agile lai):

Thiết kế ý tưởng/Toán học       ---------------->      Kiểm thử tích hợp Vision + Arm
      \                                                       /
       \ Thiết kế CAD 3D & Mạch động lực           Kiểm thử động học & Chạy thực tế
        \                                             /
         +---> Gia công CNC/3D & Lập trình nhúng ----+
  • Giai đoạn 1 (Tuần 1 - 6): Khảo sát hư hỏng cơ khí thực tế; tính toán mô hình động học D-H; xây dựng mô hình 3D trên SolidWorks.
  • Giai đoạn 2 (Tuần 7 - 14): Gia công chi tiết in 3D tay gắp, căng lại đai răng khâu 3, gá lại puly khâu 2; đấu nối tủ điện vi điều khiển và 6 driver TB6600.
  • Giai đoạn 3 (Tuần 15 - 20): Lập trình module động học giải tích trên Python; xây dựng giao diện điều khiển PyQt5 đa luồng; mô phỏng kiểm chứng trên MATLAB Simulink.
  • Giai đoạn 4 (Tuần 21 - 26): Phát triển thuật toán xử lý ảnh OpenCV; cân chỉnh hệ số pixel-to-millimeter; tích hợp toàn hệ thống và thực nghiệm đo kiểm sai số.

Implementation và kết quả

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

1. Thuật toán giải Động học nghịch (Inverse Kinematics Decoupling)

Do 3 trục khớp cổ tay ($\theta_4, \theta_5, \theta_6$) đồng quy tại điểm tâm cổ tay $W$, bài toán động học nghịch được tách thành hai bước độc lập:

Bước 1: Xác định tọa độ tâm cổ tay $W(W_x, W_y, W_z)$ từ tọa độ điểm tác động cuối $E(P_E)$ và ma trận xoay $R_6^0$: $$P_W = P_E - D_2 \cdot R_6^0 \begin{bmatrix} 0 \ 0 \ 1 \end{bmatrix} = \begin{bmatrix} a - D_2 r_{13} \ b - D_2 r_{23} \ c - D_2 r_{33} \end{bmatrix}$$

Bước 2: Xác định 3 góc khớp đầu $(\theta_1, \theta_2, \theta_3)$ theo hình học phẳng: $$\theta_1 = \text{atan2}(W_y, W_x)$$ Áp dụng định lý hàm Cosin cho tam giác tạo bởi các khâu $L_2$ và $D_1$: $$\cos(\theta_3') = \frac{(W_x \sin\theta_1 - L_1)^2 + (W_z - D_0)^2 - L_2^2 - D_1^2}{2 L_2 D_1}$$ $$\theta_3 = \text{atan2}\left(\sqrt{1 - \cos^2(\theta_3')}, \cos(\theta_3')\right) + 90^\circ$$ $$\theta_2 = \text{atan2}(W_z - D_0, W_x \sin\theta_1 - L_1) - \text{atan2}(D_1 \sin\theta_3', L_2 + D_1 \cos\theta_3') - 90^\circ$$

Bước 3: Xác định 3 góc định hướng cổ tay $(\theta_4, \theta_5, \theta_6)$: $$R_6^3 = (R_3^0)^{-1} \cdot R_6^0$$ Trích xuất các góc Cardan từ ma trận $R_6^3$ để tính $\theta_4, \theta_5, \theta_6$.

import numpy as np

def inverse_kinematics(x_e, y_e, z_e, roll, pitch, yaw, L1=64.0, L2=306.0, D0=166.8, D1=225.0, D2=131.8):
    # Ma trận quay từ góc Cardan
    cx, cy, cz = np.cos(np.radians([roll, pitch, yaw]))
    sx, sy, sz = np.sin(np.radians([roll, pitch, yaw]))
    
    R06 = np.array([
        [cy*cz, sx*sy*cz - cx*sz, cx*sy*cz + sx*sz],
        [cy*sz, sx*sy*sz + cx*cz, cx*sy*sz - sx*cz],
        [-sy,   sx*cy,            cx*cy]
    ])
    
    # 1. Tọa độ tâm cổ tay W
    Pw = np.array([x_e, y_e, z_e]) - D2 * R06[:, 2]
    Wx, Wy, Wz = Pw[0], Pw[1], Pw[2]
    
    # 2. Tính Theta 1, 2, 3
    theta1 = np.degrees(np.arctan2(Wy, Wx))
    r = np.sqrt(Wx**2 + Wy**2) - L1
    s = Wz - D0
    D = (r**2 + s**2 - L2**2 - D1**2) / (2 * L2 * D1)
    D = np.clip(D, -1.0, 1.0)
    
    theta3 = np.degrees(np.arctan2(-np.sqrt(1 - D**2), D))
    theta2 = np.degrees(np.arctan2(s, r) - np.arctan2(D1 * np.sin(np.radians(theta3)), L2 + D1 * np.cos(np.radians(theta3))))
    
    return [theta1, theta2, theta3]

2. Lập trình điều khiển phát xung vi bước đa luồng (Multi-threading Motor Control)

Nhằm tránh hiện tượng giật lag giao diện đồ họa khi phát hàng nghìn xung tần số cao, module điều khiển động cơ được tách thành một tiến trình chạy nền độc lập bằng module threading.

import time
import threading
import RPi.GPIO as GPIO

class StepperJointController(threading.Thread):
    def __init__(self, step_pin, dir_pin, steps_per_deg):
        super().__init__()
        self.step_pin = step_pin
        self.dir_pin = dir_pin
        self.steps_per_deg = steps_per_deg
        self.target_angle = 0.0
        self.current_angle = 0.0
        self.running = True
        GPIO.setup([self.step_pin, self.dir_pin], GPIO.OUT)

    def move_to(self, angle, speed_delay=0.0005):
        delta_angle = angle - self.current_angle
        total_steps = int(abs(delta_angle) * self.steps_per_deg)
        GPIO.output(self.dir_pin, GPIO.HIGH if delta_angle > 0 else GPIO.LOW)
        
        for _ in range(total_steps):
            GPIO.output(self.step_pin, GPIO.HIGH)
            time.sleep(speed_delay)
            GPIO.output(self.step_pin, GPIO.LOW)
            time.sleep(speed_delay)
            
        self.current_angle = angle

3. Pipeline Xử lý ảnh định vị phôi bằng OpenCV

Chuỗi thuật toán thị giác máy tính được triển khai qua các bước:

  1. Khử méo ảnh (Undistortion): Dùng ma trận nội tham số camera $K$ và hệ số méo $D$ thu được từ bàn cờ cờ vua chuẩn $8 \times 6$.
  2. Phân ngưỡng HSV: Tách vật thể khỏi phông nền bàn công tác.
  3. Phép toán hình thái học (Morphological Operations): Dùng toán tử Giãn (cv2.dilate) và Xói mòn (cv2.erode) kernel $5 \times 5$ để loại bỏ nhiễu hạt.
  4. Trích xuất hình dạng và góc xoay: Sử dụng hàm cv2.minAreaRect để tính toán hộp bao nhỏ nhất, trả về tâm $(C_x, C_y)$ và góc nghiêng $\theta_{yaw}$.
import cv2
import numpy as np

def detect_object_pose(frame, pixel_to_mm_ratio=0.452):
    hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
    lower_bound = np.array([20, 100, 100])
    upper_bound = np.array([30, 255, 255])
    mask = cv2.inRange(hsv, lower_bound, upper_bound)
    
    kernel = np.ones((5, 5), np.uint8)
    mask = cv2.morphologyEx(mask, cv2.MORPH_OPEN, kernel)
    contours, _ = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
    
    results = []
    for cnt in contours:
        if cv2.contourArea(cnt) > 500:
            rect = cv2.minAreaRect(cnt)
            (cx_px, cy_px), (w_px, h_px), angle = rect
            
            # Chuyển đổi tọa độ pixel sang mm hệ tọa độ Base Robot
            x_robot = cx_px * pixel_to_mm_ratio + 120.0  # Offset gốc tọa độ
            y_robot = cy_px * pixel_to_mm_ratio - 150.0
            
            if w_px < h_px:
                angle = angle + 90.0
                
            results.append({"pos_mm": (x_robot, y_robot), "angle_deg": angle})
    return results

Kiểm thử và đánh giá độ chính xác thực nghiệm

Thực nghiệm được tiến hành trên 50 mẫu phôi hộp $(30 \times 30 \times 60\text{ mm})$ và 50 mẫu phôi trụ $(\varnothing 30 \times 60\text{ mm})$ được đặt ngẫu nhiên trong vùng làm việc của camera $(400 \times 300\text{ mm})$.

Thông số kiểm thử Giá trị mục tiêu Kết quả thực nghiệm đạt được Sai số trung bình
Đo tọa độ tâm $X$ Chuẩn mẫu vật lý $X_{cam} \pm 0,85\text{ mm}$ $0,62\text{ mm}$
Đo tọa độ tâm $Y$ Chuẩn mẫu vật lý $Y_{cam} \pm 0,92\text{ mm}$ $0,71\text{ mm}$
Góc xoay hướng $\text{Yaw } \theta$ $0^\circ - 180^\circ$ $\theta_{cam} \pm 1,4^\circ$ $1,15^\circ$
Thời gian xử lý ảnh / khung hình $< 100\text{ ms}$ $38,5\text{ ms}$ (26 FPS) Đạt chuẩn thời gian thực
Tỷ lệ gắp vật thành công $> 90%$ $96,0%$ (96/100 lần) Không xảy ra va chạm cơ học
Thời gian 1 chu trình gắp - thả (Cycle Time) $< 12\text{ s}$ $8,4\text{ s}$ Nhanh hơn 30% so với dự kiến

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

  1. Thuật toán giải tích hóa Động học nghịch tối ưu cho Raspberry Pi 5: Thay vì sử dụng phương pháp lặp số Newton-Raphson tiêu tốn nhiều tài nguyên xử lý và dễ rơi vào điểm kỳ dị (Singularity), nhóm nghiên cứu đã tối ưu hóa phương pháp giải tích hình học tách nhóm. Thời gian tính toán nghiệm 6 góc khớp trên vi xử lý ARM Cortex-A76 giảm từ $45\text{ ms}$ xuống chỉ còn $1,2\text{ ms}$ (cải thiện $97,3%$ tốc độ phản hồi).
  2. Hệ thống truyền động khâu 3 và khâu 4 chống trượt tải trọng: Khắc phục triệt để nhược điểm võng đai và nghiêng trục puly của nguyên mẫu AR3 bằng cách tái thiết kế cụm tăng đai chủ động dạng vít me nêm ren ngược kết hợp bạc đạn đỡ đôi, tăng độ cứng vững xoắn thêm $42%$.
  3. Cơ chế định hướng End-Effector tự thích ứng: Robot tự động xoay khớp $\theta_6$ đồng bộ với góc nghiêng của phôi do camera trả về, loại bỏ hoàn toàn yêu cầu phôi phải thẳng hàng trên băng chuyền cấp liệu.

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

[Băng tải cấp phôi ngẫu nhiên] 
         │
         ▼
[Vùng quét Camera 1080p] ───(Tọa độ X, Y, Góc Yaw)───► [Bộ điều khiển RPi 5]
                                                             │ (Lệnh xung bước)
                                                             ▼
                                                    [Robot 6-DOF Pick & Place]
                                                             │
                                                             ▼
                                                    [Pallet phân loại theo góc/loại phôi]
  • Trường hợp ứng dụng thực tế (Use Case): Tích hợp vào công đoạn cấp phôi tự động cho máy tiện CNC, máy phay CNC hoặc dây chuyền đóng gói phân loại bao bì linh hoạt trong các ngành dược phẩm, thực phẩm, linh kiện điện tử.
  • Môi trường vận hành yêu cầu:
    • Điện áp nguồn: $220\text{V AC} \rightarrow 24\text{V DC } (15\text{A})$ và $5\text{V DC } (5\text{A})$.
    • Chiếu sáng: Đèn LED vòng (Ring Light) chống lóa bề mặt kim loại.
  • Phân tích hiệu quả kinh tế (ROI Analysis):
    • Tổng chi phí chế tạo hệ thống: Khoảng $15.000.000\text{ VNĐ}$ (bằng $1/10$ giá thành một cánh tay robot công nghiệp nhập khẩu cùng tải trọng).
    • Thời gian hoàn vốn dự kiến: $4,5\text{ tháng}$ khi thay thế 01 nhân công bốc xếp thủ công 2 ca/ngày.

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

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

  • Động cơ bước điều khiển mạch hở (Open-loop control) nên vẫn tiềm ẩn nguy cơ mất bước (Loss of steps) nếu chịu tải trọng đột ngột vượt quá mô-men giữ.
  • Xử lý ảnh dựa trên không gian màu 2D truyền thống nhạy cảm với sự thay đổi đột ngột của cường độ ánh sáng môi trường.

Hướng phát triển tiếp theo

  • Thay thế động cơ bước thường bằng Closed-loop Stepper (Động cơ bước có Encoder hồi tiếp vị trí góc).
  • Nâng cấp hệ thống thị giác máy tính lên Camera độ sâu 3D (Intel RealSense D435i) kết hợp mô hình Deep Learning YOLOv8-Pose để nhận dạng và gắp vật thể 3D xếp chồng lộn xộn (Bin-picking).
  • Chuyển đổi toàn bộ kiến trúc phần mềm sang hệ điều hành robot ROS2 (Humble Hawksbill) nhằm chuẩn hóa giao tiếp phân tán.

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

  • Sinh viên & Học 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 D-H, thuật toán động học giải tích đến mã nguồn Python điều khiển phần cứng thực tế.
  • Kỹ sư R&D & Makers: Bản vẽ thiết kế cơ khí và sơ đồ mạch điện chi tiết làm nền tảng phát triển các dòng robot giáo dục hoặc robot công nghiệp tải trọng nhỏ.
  • Doanh nghiệp sản xuất vừa và nhỏ (SMEs): Giải pháp tự động hóa chi phí thấp, dễ dàng bảo trì và mở rộng tính năng theo yêu cầu sản xuất đặc thù.

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

1. Cấu hình 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 bo mạch xử lý nhúng tương đương Raspberry Pi 4B (khuyến nghị Pi 5 8GB để đạt FPS xử lý ảnh trên 25 khung hình/giây), nguồn tổ ong $24\text{V}-15\text{A}$, 6 bộ Driver TB6600, 6 động cơ bước NEMA 17/NEMA 11 và camera độ phân giải tối thiểu HD 720p có hỗ trợ cân chỉnh quang sai thấu kính.

2. Thuật toán động học nghịch có bị rơi vào điểm kỳ dị (Singularity) không?

Thuật toán đã được thiết lập bộ lọc giới hạn góc quay vật lý cho từng khớp (Joint Limits) và xử lý hàm np.clip cho giá trị lượng giác của điểm kỳ dị khi cánh tay duỗi thẳng tối đa $(r^2 + s^2 = (L_2 + D_1)^2)$, đảm bảo hệ thống không bị treo hoặc phát sinh lỗi chia cho 0.

3. Có thể thay đổi loại phôi khác (kích thước, màu sắc khác) không?

Hoàn toàn được. Người dùng chỉ cần truy cập vào thanh trượt chỉnh ngưỡng màu HSV (Trackbars) trên giao diện PyQt5 để lưu cấu hình màu mới và cập nhật tham số kích thước ngưỡng diện tích cv2.contourArea trong file cấu hình JSON của phần mềm mà không cần nạp lại firmware.

4. Hệ thống xử lý thế nào khi camera nhận diện sai tọa độ?

Giao diện điều khiển tích hợp vùng không gian làm việc an toàn (Workspace Boundary Check). Nếu tọa độ $(X, Y, Z)$ tính toán từ camera nằm ngoài phạm vi hoạt động định mức của robot, hệ thống sẽ phát tín hiệu cảnh báo trên GUI, kích hoạt còi báo động và hủy lệnh di chuyển để bảo vệ an toàn cơ khí.

5. Chi phí bảo trì hệ thống định kỳ bao gồm những gì?

Chi phí bảo trì rất thấp, chủ yếu bao gồm việc kiểm tra độ căng của đai răng khâu 1, 3, 4 định kỳ 6 tháng/lần, bôi trơn mỡ chịu nhiệt cho các ổ bi hộp giảm tốc và vệ sinh bề mặt thấu kính camera.


Kết luận

Đồ án tốt nghiệp "Nghiên cứu, cải tiến cánh tay robot 6 bậc tự do ứng dụng camera để gắp vật" đã giải quyết trọn vẹn và xuyên suốt chuỗi vấn đề kỹ thuật từ tính toán lý thuyết động học, gia công cải tiến cơ khí, phát triển mạch điều khiển nhúng đa luồng đến tích hợp thị giác máy tính thời gian thực. Với tỷ lệ gắp phôi chính xác đạt $96,0%$, thời gian chu trình $8,4\text{ s}$ và chi phí sản xuất tối ưu, hệ thống minh chứng cho tính khả thi cao trong việc ứng dụng các giải pháp tự động hóa linh hoạt mã nguồn mở vào thực tiễn sản xuất tại Việt Nam.