Giới thiệu dự án

Trong ngành công nghiệp dệt may và phụ liệu thời trang hiện đại, cúc áo là chi tiết tuy nhỏ nhưng ảnh hưởng trực tiếp đến tính thẩm mỹ và giá trị thương mại của sản phẩm xuất khẩu. Theo thống kê từ các dây chuyền gia công phụ liệu may mặc, tỷ lệ lỗi phát sinh trong quá trình đúc, nhuộm và mạ màu dao động từ 3% đến 7%. Các lỗi thường gặp gồm loang màu, trầy xước bề mặt, không đồng nhất sắc độ và sai lệch hình học. Việc kiểm định chất lượng truyền thống chủ yếu dựa vào công nhân quan sát thủ công. Phương pháp này bộc lộ nhiều hạn chế nghiêm trọng: sai số cao do mỏi mắt (tỷ lệ bỏ sót lỗi tăng lên 15–20% sau 4 giờ làm việc liên tục), năng suất thấp và chi phí nhân công lớn.

Trước bài toán đó, các giải pháp thị giác máy tính kết hợp điều khiển tự động đang trở thành xu hướng tất yếu. Kế thừa và phát triển từ đề tài nghiên cứu nhận dạng của nhóm tác giả Võ Đức Hùng – Nguyễn Duy Hóa (2023), đồ án tốt nghiệp "Thiết kế và thi công hệ thống gắp cúc áo lỗi kết hợp với mô hình trí tuệ nhân tạo" do sinh viên Nguyễn Chính Tùng và Tạ Thanh Tuấn thực hiện dưới sự hướng dẫn của TS. Nguyễn Mạnh Hùng (ĐH Sư phạm Kỹ thuật TP.HCM) đã giải quyết triệt để khâu chấp hành cơ khí tự động, khép kín quy trình từ phát hiện, định vị đến loại bỏ sản phẩm lỗi khỏi băng tải.

Mục tiêu dự án

  1. Xây dựng mô hình thu nhận hình ảnh ổn định, cách ly nhiễu sáng môi trường với độ phân giải chuẩn.
  2. Tích hợp thuật toán YOLOv7 phát hiện cúc lỗi và DeepSORT theo dõi đa đối tượng thời gian thực trên luồng video.
  3. Thiết lập giải thuật chuyển đổi tọa độ điểm ảnh ($x_p$) sang tọa độ thực ($x_r$) với độ chính xác dưới 1.0 mm.
  4. Thiết kế, chế tạo cơ cấu tay gắp Cartesian kết hợp giác hút chân không và xy lanh khí nén nâng hạ.
  5. Lập trình giao tiếp Serial UART đồng bộ dữ liệu thời gian thực giữa máy tính xử lý AI và vi điều khiển Arduino Uno R3.

Phạm vi và giới hạn

  • Đối tượng xử lý: Tập trung phân loại và gắp các dòng cúc áo lỗi bề mặt/màu sắc (giác hút chân không yêu cầu bề mặt phẳng tiếp xúc kín khí).
  • Phần cứng: Tận dụng khung băng tải phòng thí nghiệm rộng 20 cm, cơ cấu gắp 1 trục ngang (Ox) kết hợp nâng hạ thẳng đứng (Oz).
  • Chu kỳ xử lý: Thực hiện gắp tuần tự 1 sản phẩm lỗi trong mỗi chu kỳ di chuyển của cơ cấu chấp hành.

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

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

Tiêu chí Kiểm tra thủ công Thị giác máy tính truyền thống (OpenCV/Thresholding) Hệ thống tích hợp AI & Tay gắp Cartesian (Đề tài)
Độ chính xác 75% – 85% (phụ thuộc thể lực) 80% – 88% (nhạy cảm với ánh sáng) 93% – 96% (ổn định trong buồng chụp)
Tốc độ phân loại 20 – 30 sản phẩm/phút 50 – 70 sản phẩm/phút 40 – 60 sản phẩm/phút (giới hạn cơ khí gắp)
Khả năng nhận diện lỗi phức tạp Khá (dễ chủ quan) Kém (khó bắt lỗi biến thiên màu sắc) Xuất sắc (nhờ mạng nơ-ron tích chập CNN)
Tính tự động hóa khép kín Không (100% người) Bán tự động (thường dừng ở cảnh báo) Hoàn toàn tự động (tự phát hiện và gắp lỗi)
Chi phí vận hành dài hạn Cao (chi phí lương hàng tháng) Trung bình Thấp (chỉ tốn điện năng ~120W)

Phân loại 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 tọa độ tâm cúc áo lỗi; chuyển đổi tọa độ pixel sang mm; điều khiển động cơ bước đưa đầu hút đến đúng vị trí; tạo lực hút chân không đủ giữ cúc.
  • Should have (Nên có): Buồng chụp kín trang bị đèn LED chuẩn 6500K; thuật toán tracking DeepSORT chống nhận diện trùng lặp; van điện từ phản hồi dưới 15 ms.
  • Could have (Có thể mở rộng): Cơ cấu phân loại nhiều đầu hút song song; giao diện dashboard giám sát thống kê sản lượng lỗi theo ca làm việc.
  • Won't have (Chưa thực hiện): Nhận dạng và gắp cúc áo biến dạng hình học phức tạp làm hở đệm khí của núm hút chân không.

Thiết kế hệ thống

Hệ thống được module hóa thành các khối chức năng độc lập nhưng ghép nối chặt chẽ qua các giao thức công nghiệp:

+-----------------------------------------------------------------------+
|                           HỆ THỐNG XỬ LÝ ẢNH (PC)                     |
|  - Camera: Logitech C270 (720p@30fps)                                 |
|  - Framework: PyTorch 1.13 + OpenCV 4.8.0                             |
|  - Model: YOLOv7 (Object Detection) + DeepSORT (Tracking)             |
|  - Thuật toán chuyển đổi tọa độ: xr = 0.284 * xp                      |
+-----------------------------------+-----------------------------------+
                                    | UART (Baudrate: 9600/115200)
                                    v
+-----------------------------------+-----------------------------------+
|                        BỘ ĐIỀU KHIỂN TRUNG TÂM                        |
|                     Arduino Uno R3 (ATmega328P)                       |
+--------+------------------+-------------------+------------------+----+
         |                  |                   |                  |
         v                  v                   v                  v
  +--------------+   +--------------+    +--------------+   +---------------+
  | Driver A4988 |   | Module L298N |    | Relay Module |   | Relay + LM2596|
  +-------+------+   +-------+------+    +-------+------+   +-------+-------+
          |                  |                   |                  |
          v                  v                   v                  v
  +--------------+   +--------------+    +--------------+   +---------------+
  | Động cơ bước |   | Động cơ DC   |    | Bơm hút chân |   | Van 5/2 +     |
  | PK244-01A    |   | JGB37-3530   |    | không YYP528 |   | Xy lanh SMC   |
  | (Trục Ox)    |   | (Băng tải)   |    | (Giác hút)   |   | CXSM10-40 (Oz)|
  +--------------+   +--------------+    +--------------+   +---------------+

Thông số công nghệ và phần cứng chi tiết

  • Camera quan sát: Logitech C270 HD (Cảm biến 720p, thấu kính Fluid Crystal, truyền dữ liệu qua USB 2.0).
  • Bộ điều khiển: Arduino Uno R3 (Vi điều khiển ATmega328P 8-bit, xung nhịp 16 MHz, 14 chân I/O số, 6 kênh PWM).
  • Cơ cấu dịch chuyển ngang (Ox): Động cơ bước Oriental Motor PK244-01A (2 pha, góc bước $1.8^\circ$, dòng định mức 1.2A, moment giữ 0.4 Nm) kết hợp mạch công suất A4988 (Full-step mode).
  • Cơ cấu nâng hạ (Oz): Xy lanh khí nén kép SMC CXSM10-40 (Đường kính nòng $D = 10\text{ mm}$, hành trình $L = 40\text{ mm}$, dẫn hướng trục đôi chống xoay) điều khiển bằng van đảo chiều khí nén 5/2 F.Tec DF1100-2V (24VDC, thời gian tác động 12 ms).
  • Cơ cấu gắp sản phẩm: Bơm hút chân không màng mini YYP528-12A (12VDC, áp suất âm đạt ~850 mmHg) kết hợp núm hút silicone đường kính 10 mm.
  • Nguồn cấp toàn hệ thống: Nguồn xung tổ ong 220VAC sang 12VDC 10A (120W), module hạ/tăng áp LM2596 điều chỉnh 24VDC cho van khí nén.

Phương pháp nghiên cứu và tính toán hình học

1. Hiệu chỉnh tọa độ điểm ảnh sang tọa độ thực (Pixel to Physical Conversion)

Để đầu gắp di chuyển chính xác đến tâm sản phẩm, mối quan hệ giữa tọa độ pixel ($x_p$) trên frame hình ảnh và khoảng cách thực tế ($x_r$) trên mặt bằng chuyền được xác định qua thực nghiệm chuẩn hóa 2 điểm mốc:

  • Điểm mốc 1: $x_{r1} = 95\text{ mm} \leftrightarrow x_{p1} = 334\text{ px} \Rightarrow k_1 = \frac{95}{334} \approx 0.2844\text{ mm/px}$
  • Điểm mốc 2: $x_{r2} = 70\text{ mm} \leftrightarrow x_{p2} = 246\text{ px} \Rightarrow k_2 = \frac{70}{246} \approx 0.2845\text{ mm/px}$

Sai số thực nghiệm không đáng kể, xác lập hệ số tỉ lệ chuẩn: $$k = 0.284\text{ mm/pixel}$$ Công thức xác định khoảng cách từ lề ảnh đến tâm vật: $$x_r = 0.284 \cdot x_p \quad (\text{mm})$$

2. Tính toán tổng quãng đường di chuyển của khối gắp

Do khối gắp có điểm gốc (Home Switch) nằm ngoài phạm vi bao phủ của camera một khoảng bù lề $x_{\text{offset}} = 69\text{ mm}$, tổng cự ly động cơ bước cần dịch chuyển là: $$\text{Distance} = x_{\text{offset}} + x_r = 69 + 0.284 \cdot x_p \quad (\text{mm})$$

Với cơ cấu đai răng và puly truyền động có chu vi vòng quay định mức $C_{\text{pulley}} = 40\text{ mm/vòng}$ và động cơ bước quay 200 bước/vòng ($1.8^\circ/\text{bước}$): $$\text{Steps} = \frac{\text{Distance}}{C_{\text{pulley}}} \times 200 = \frac{69 + 0.284 \cdot x_p}{40} \times 200$$


Implementation và kết quả

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

Quy trình xử lý tuần tự trên hệ thống bao gồm: Camera thu nhận hình ảnh $\rightarrow$ YOLOv7 phân loại và trả về Bounding Box $(x_{\min}, y_{\min}, x_{\max}, y_{\max})$ $\rightarrow$ DeepSORT gán ID định danh $\rightarrow$ Tính toán tâm $x_p = \frac{x_{\min} + x_{\max}}{2}$ $\rightarrow$ Quy đổi sang khoảng cách thực $\rightarrow$ Đóng gói chuỗi ký tự qua Serial gửi Arduino.

# Module xử lý ảnh và gửi dữ liệu tọa độ (Trích xuất từ hệ thống thực nghiệm)
import cv2
import serial
import time

def calculate_distance(pixel_x, offset_mm=69.0, scale_ratio=0.284):
    """
    Quy đổi tọa độ pixel trên ảnh sang cự ly di chuyển thực tế của động cơ bước.
    """
    real_distance_from_edge = pixel_x * scale_ratio
    total_travel_distance = offset_mm + real_distance_from_edge
    return round(total_travel_distance, 2)

# Khởi tạo giao tiếp UART với Arduino
ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1)
time.sleep(2)  # Đợi kết nối ổn định

def send_coordinate_to_actuator(center_x):
    distance_mm = calculate_distance(center_x)
    # Gói tin chuẩn hóa gửi qua Serial: "D:<khoảng_cách>\n"
    payload = f"D:{distance_mm}\n"
    ser.write(payload.encode('utf-8'))
    print(f"[PC -> Arduino] Đã gửi cự ly gắp: {distance_mm} mm")

Chương trình điều khiển vi điều khiển ATmega328P lắng nghe dữ liệu từ cổng nối tiếp, giải mã chuỗi và phát xung điều khiển driver A4988 cùng các rơ-le kích hoạt khí nén:

// Firmware điều khiển khối gắp trên Arduino Uno R3
#include <Arduino.h>

const int DIR_PIN = 3;
const int STEP_PIN = 4;
const int EN_PIN = 10;
const int PUMP_PIN = 6;
const int VALVE_PIN = 7;

void setup() {
  Serial.begin(9600);
  pinMode(DIR_PIN, OUTPUT);
  pinMode(STEP_PIN, OUTPUT);
  pinMode(EN_PIN, OUTPUT);
  pinMode(PUMP_PIN, OUTPUT);
  pinMode(VALVE_PIN, OUTPUT);
  
  digitalWrite(EN_PIN, LOW);   // Kích hoạt Driver A4988
  digitalWrite(PUMP_PIN, LOW); // Tắt bơm chân không
  digitalWrite(VALVE_PIN, LOW);// Xy lanh ở vị trí co
}

void moveStepper(float distance_mm) {
  // 1 vòng puly = 40mm = 200 steps -> 5 steps/mm
  long totalSteps = distance_mm * 5.0;
  
  digitalWrite(DIR_PIN, HIGH); // Hướng tiến tới cúc áo
  for(long i = 0; i < totalSteps; i++) {
    digitalWrite(STEP_PIN, HIGH);
    delayMicroseconds(800);
    digitalWrite(STEP_PIN, LOW);
    delayMicroseconds(800);
  }
}

void executePickAndDrop() {
  // 1. Hạ xy lanh khí nén
  digitalWrite(VALVE_PIN, HIGH);
  delay(300); // Chờ xy lanh đi hết hành trình 40mm
  
  // 2. Bật giác hút chân không
  digitalWrite(PUMP_PIN, HIGH);
  delay(400); // Chờ tạo áp suất âm bám dính
  
  // 3. Nâng xy lanh lên
  digitalWrite(VALVE_PIN, LOW);
  delay(300);
}

Thử nghiệm và đánh giá hệ thống

Hệ thống được đưa vào kiểm thử thực nghiệm qua 3 kịch bản vận hành với tốc độ quay trục băng tải điều chỉnh từ 10 đến 18 vòng/phút (RPM):

+--------------------------------------------------------------------+
|                KẾT QUẢ THỬ NGHIỆM GẮP CÚC ÁO LỖI                   |
|                                                                    |
|  Tỷ lệ gắp thành công (%)                                          |
|   100 |============================== (96.6% tại 10 RPM)           |
|    80 |===========================    (90.0% tại 14 RPM)           |
|    60 |======================         (73.3% tại 18 RPM)           |
|    40 |                                                            |
|     0 +-------------------------------------------------           |
|            10 RPM          14 RPM          18 RPM                  |
|                      Tốc độ trục truyền động                       |
+--------------------------------------------------------------------+

Dữ liệu đo lường thực nghiệm chi tiết

Kịch bản kiểm thử Số mẫu thử Tốc độ băng tải (RPM) Số lần phát hiện đúng Số lần gắp thành công Tỷ lệ gắp chính xác (%) Sai số định vị trung bình (mm)
Thả 1 cúc đơn lẻ (Chậm) 30 10 RPM 30/30 29/30 96.6% $\pm 0.45\text{ mm}$
Thả 1 cúc đơn lẻ (Vừa) 30 14 RPM 29/30 27/30 90.0% $\pm 0.72\text{ mm}$
Thả 1 cúc đơn lẻ (Nhanh) 30 18 RPM 28/30 22/30 73.3% $\pm 1.25\text{ mm}$
Thả nhiều cúc liên tiếp 50 12 RPM 47/50 43/50 86.0% $\pm 0.85\text{ mm}$

Kết quả đạt được

  • Độ chính xác nhận diện AI: Mạng YOLOv7 đạt độ nhạy $mAP@0.5 > 95%$ đối với các lỗi biến màu, loang mực và chấm ố trên cúc.
  • Tốc độ đáp ứng cơ khí: Thời gian di chuyển, hạ xy lanh, hút và thu hồi vật thải hoàn tất trong khoảng $1.4\text{s} - 1.8\text{s}$.
  • Tính ổn định điện tử: Hệ thống nguồn xung 12V 10A kết hợp mạch hạ áp cách ly đảm bảo không xảy ra hiện tượng sụt áp khi bơm hút và động cơ bước vận hành đồng thời.

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

  1. Khép kín bài toán tự động hóa: Khác với đề tài tiền nhiệm của Võ Đức Hùng & Nguyễn Duy Hóa (2023) chỉ dừng lại ở bài toán AI nhận dạng và đếm số lượng trên màn hình, đồ án này đã tích hợp thành công cơ cấu chấp hành cơ khí thực tế, tạo thành một hệ thống Cyber-Physical hoàn chỉnh.
  2. Thuật toán chuyển đổi tọa độ điểm – thực tuyến tính: Đơn giản hóa quá trình biến đổi ma trận camera phức tạp thành thuật toán scale 1D tối ưu hóa theo trục ngang băng tải ($x_r = 0.284 \cdot x_p$), giúp vi điều khiển xử lý không có độ trễ trôi khung hình.
  3. Cơ chế tay gắp chân không phản ứng nhanh: Thay thế các dạng kẹp cơ khí truyền thống cồng kềnh bằng giác hút silicone khí nén mini, tránh làm trầy xước thêm bề mặt các sản phẩm mẫu đạt chuẩn xung quanh.

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

          [Nhà máy sản xuất phụ liệu may]
                         |
      +------------------+------------------+
      |                                     |
      v                                     v
[Dây chuyền đúc cúc]               [Dây chuyền nhuộm mạ]
      |                                     |
      +------------------+------------------+
                         |
                         v
      [Hệ thống kiểm tra & gắp cúc lỗi]
      - Camera giám sát liên tục 24/7
      - Tự động tách phế phẩm ra khay riêng
      - Xuất báo cáo thống kê tỷ lệ lỗi

Kịch bản triển khai công nghiệp

  • Ngành may mặc & phụ liệu thời trang: Lắp đặt ngay sau công đoạn sấy khô cúc áo nhuộm màu để loại bỏ sản phẩm loang màu trước khi đóng gói thành phẩm theo bao 1,000 cái.
  • Dược phẩm & Thực phẩm: Ứng dụng tương tự để phát hiện và gắp các viên thuốc nén bị nứt mẻ, vỡ góc hoặc bao bì kẹo bị hở mép dán.

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

  • Chi phí phần cứng: Toàn bộ hệ thống cơ điện tử và camera có tổng mức đầu tư chế tạo dưới 6,000,000 VNĐ (~$250 USD).
  • Tiết kiệm chi phí: Một module tự động hóa có khả năng thay thế 1.5 ca lao động kiểm định thủ công, giúp doanh nghiệp hoàn vốn đầu tư chỉ trong vòng 1.5 đến 2 tháng vận hành liên tục.

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

Hạn chế kỹ thuật

  • Cơ cấu giác hút chân không: Đòi hỏi bề mặt cúc áo phải tương đối bằng phẳng; đối với cúc bị nứt vỡ dạng khe hở lớn, giác hút bị lọt khí dẫn đến lực hút suy giảm.
  • Xử lý hàng đợi (Queue): Do sử dụng cơ cấu gắp 1 đầu hút đơn, khi có 2 cúc lỗi xuất hiện quá sát nhau theo chiều dọc băng tải (khoảng cách dưới 15 cm), hệ thống chỉ kịp gắp cúc đầu tiên và bỏ sót cúc thứ hai.

Hướng phát triển

  • Thay thế tay trượt Cartesian bằng Robot Delta song song 3 bậc tự do, tăng tốc độ gắp lên trên 120 sản phẩm/phút.
  • Bổ sung camera công nghiệp góc chiếu kép kết hợp ánh sáng vòm (Dome Light) để phát hiện cả lỗi ren chỉ ở mặt đáy cúc áo.
  • Nâng cấp bộ điều khiển trung tâm lên dòng PLC công nghiệp (như Siemens S7-1200) giao tiếp mạng PROFINET để đáp ứng chuẩn SCADA nhà máy thông minh.

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

  • Sinh viên ngành Kỹ thuật Điện tử / Tự động hóa: Cung cấp tài liệu tham khảo thực tế về việc kết nối thuật toán AI trên máy tính với cơ cấu chấp hành phần cứng thông qua vi điều khiển.
  • Kỹ sư phát triển hệ thống nhúng: Nắm bắt phương pháp chuyển đổi không gian tọa độ camera sang tọa độ xung bước của động cơ với độ chính xác cao.
  • Doanh nghiệp vừa và nhỏ (SMEs): Mô hình tham chiếu chi phí thấp (Low-cost Automation) dễ dàng nhân rộng trên các dây chuyền phân loại sản phẩm cỡ nhỏ.
  • Nhà nghiên cứu thị giác máy tính: Cung cấp dữ liệu thực nghiệm về độ trễ giữa thuật toán phần mềm và thời gian đáp ứng của cơ khí trong môi trường thực.

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

1. Yêu cầu cấu hình máy tính (PC) tối thiểu để chạy mô hình nhận diện là gì?

Máy tính cần trang bị tối thiểu CPU Intel Core i5 thế hệ 8 trở lên, RAM 8GB và khuyến nghị có GPU rời NVIDIA GTX 1050 (4GB VRAM) trở lên để mô hình YOLOv7 đạt tốc độ xử lý trên 30 khung hình/giây (FPS), đảm bảo tính thời gian thực.

2. Làm thế nào để mở rộng hệ thống khi tốc độ băng tải tăng cao?

Khi tốc độ băng chuyền vượt quá 25 RPM, giải pháp tối ưu là kéo dài khoảng cách từ buồng chụp ảnh đến vị trí tay gắp để tăng thời gian đệm tính toán, đồng thời nâng cấp cơ cấu chấp hành sang cánh tay Robot Delta hoặc cơ cấu thổi khí nén áp lực cao (Air Jet Ejector).

3. Hệ thống xử lý thế nào khi xảy ra mất đồng bộ dữ liệu truyền thông UART?

Hệ thống sử dụng cơ chế đóng gói dữ liệu có ký tự định danh bắt đầu (D:) và ký tự kết thúc dòng (\n). Vi điều khiển chỉ thực thi lệnh khi nhận đủ chuỗi hợp lệ và kiểm tra tính hợp lệ của giá trị cự ly ($0 \le \text{Distance} \le 200\text{ mm}$).

4. Chi phí bảo trì các thiết bị cơ điện định kỳ là bao nhiêu?

Hệ thống sử dụng các linh kiện phổ thông, chi phí bảo trì hàng năm rất thấp. Núm hút silicone có tuổi thọ khoảng 6–12 tháng (chi phí thay thế ~20,000 VNĐ/núm); động cơ bước và xy lanh khí nén có độ bền cơ học cao, chỉ cần tra dầu bôi trơn định kỳ ray trượt.

5. Tại sao không sử dụng động cơ Servo thay vì Động cơ bước cho trục ngang?

Động cơ bước PK244-01A kết hợp driver A4988 mang lại ưu thế vượt trội về mặt chi phí đối với hệ thống tải nhẹ, khả năng giữ vị trí chắc chắn (holding torque) và dễ dàng kiểm soát góc quay chính xác theo số lượng xung phát mà không cần bộ mã hóa hồi tiếp phức tạp như động cơ Servo công nghiệp.


Kết luận

Đề tài "Thiết kế và thi công hệ thống gắp cúc áo lỗi kết hợp với mô hình trí tuệ nhân tạo" của sinh viên Nguyễn Chính Tùng và Tạ Thanh Tuấn (Khoa Điện - Điện tử, Trường ĐH Sư phạm Kỹ thuật TP.HCM) đã hoàn thành xuất sắc mục tiêu đề ra. Đồ án không chỉ giải quyết trọn vẹn bài toán nhận dạng khuyết tật bề mặt bằng mô hình học sâu tiên tiến YOLOv7 mà còn hiện thực hóa thành công phần cứng cơ điện tử với cơ chế gắp Cartesian – hút chân không chính xác, đạt tỷ lệ phân loại thành công lên tới 96.6%. Đây là minh chứng rõ nét cho xu hướng ứng dụng trí tuệ nhân tạo vào sản xuất thông minh, mở ra tiềm năng thương mại hóa rộng rãi cho các dây chuyền công nghiệp phụ trợ tại Việt Nam.