Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh cuộc Cách mạng Công nghiệp 4.0, các hệ thống dây chuyền sản xuất tự động hóa đòi hỏi mức độ chính xác cao và khả năng vận hành độc lập nhằm tối ưu hóa năng suất và kiểm soát chất lượng sản phẩm. Việc tích hợp các kỹ thuật thị giác máy tính và trí tuệ nhân tạo (AI) vào hệ thống điều khiển tự động đang trở thành hướng phát triển quan trọng để thay thế các thao tác thủ công, giảm thiểu sản phẩm lỗi và nâng cao độ an toàn lao động trong các nhà máy.

Đề tài "Xây dựng và thi công mô hình phân loại sản phẩm dựa theo màu sắc" do sinh viên Lâm Vĩnh Tường và Thái Bạch Thành Long thực hiện dưới sự hướng dẫn của ThS. Nguyễn Văn Hiệp tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh (khoá 2019, bảo vệ tháng 01/2024) tập trung vào việc nghiên cứu, thiết kế và chế tạo một mô hình băng chuyền tự động có khả năng phân loại vật thể theo màu sắc bằng công nghệ xử lý ảnh và học sâu.

Mục tiêu nghiên cứu của đề tài:

  1. Dùng camera ghi hình sản phẩm và truyền dữ liệu về máy tính xử lý.
  2. Dùng vi điều khiển Arduino điều khiển hệ thống băng tải và phân loại sản phẩm.
  3. Giám sát thông tin sản phẩm và hiển thị lên máy tính cũng như màn hình cục bộ.
  4. Sử dụng cơ cấu cần gạt servo để phân loại sản phẩm chính xác theo màu sắc.
  5. Xây dựng, thiết kế và thi công hoàn thiện mô hình phần cứng.
  6. Khắc phục các lỗi vận hành, đánh giá hiệu năng và đề xuất giải pháp cải tiến mô hình.

Nhiệm vụ nghiên cứu:

  1. Tìm hiểu các yêu cầu kỹ thuật và tiêu chuẩn vận hành của hệ thống phân loại tự động.
  2. Nghiên cứu lý thuyết về các nguyên lý thị giác máy tính, xử lý ảnh, trích xuất đặc trưng và nhận dạng đối tượng.
  3. Tính toán và thiết kế hệ thống phần cứng, tích hợp thuật toán xử lý ảnh nhằm đảm bảo độ chính xác.
  4. Lựa chọn linh kiện phù hợp, lắp ráp và thi công mô hình phần cứng hoàn chỉnh.
  5. Đánh giá tính chính xác và độ ổn định của toàn bộ hệ thống qua thực nghiệm.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Cảm biến vật cản hồng ngoại, động cơ servo, động cơ giảm tốc DC kéo băng tải, mạch relay điều khiển, màn hình LCD I2C, webcam ghi hình, máy tính xử lý thuật toán AI và vi điều khiển Arduino Uno R3.
  • Phạm vi nghiên cứu: Xây dựng một mô hình hệ thống tự động quy mô phòng thí nghiệm, gồm một băng tải chuyển động, một camera xử lý ảnh và một máy tính phục vụ nghiên cứu và thực hành phân loại các sản phẩm mẫu theo 5 nhóm màu sắc cơ bản (vàng, cam, xanh dương, hồng, đỏ).
  • Giới hạn đề tài: Tập trung vào việc điều khiển cơ cấu phân loại servo theo tọa độ và tín hiệu nhận diện màu từ camera qua thuật toán YOLOv5, chưa tích hợp cánh tay robot đa bậc hoặc xử lý các phôi có biên dạng phức tạp.

Cơ sở lý thuyết và phương pháp

Đồ án ứng dụng tổng hợp các cơ sở lý thuyết về thị giác máy tính, mạng nơ-ron tích chập (Convolutional Neural Networks - CNN), xử lý ảnh số và kỹ thuật điều khiển vi xử lý:

  • Thị giác máy tính và thư viện OpenCV: Sử dụng thư viện OpenCV (nền tảng C++/Python) để thu nhận luồng hình ảnh từ camera, thực hiện các thao tác xử lý ma trận điểm ảnh, lọc nhiễu, điều chỉnh độ sáng và hỗ trợ giao tiếp với mô hình học máy.
  • Tiền xử lý và chuyển đổi không gian màu: Áp dụng phương pháp chuyển đổi không gian màu từ RGB (Red - Green - Blue) sang HSV (Hue - Saturation - Value) nhằm phân tách thành phần màu sắc chính (Hue), độ bão hòa (Saturation) và độ sáng (Value), giúp việc lọc ngưỡng màu ít bị ảnh hưởng bởi sự thay đổi của ánh sáng môi trường.
  • Tổng quan về nhận diện đối tượng (Object Detection): Nghiên cứu các thuật toán phát hiện đối tượng dựa trên Deep Learning (R-CNN, Fast-RCNN, RetinaNet, SSD, YOLO) và so sánh với các thuật toán phân loại kinh điển như Support Vector Machine (SVM), K-Nearest Neighbors (KNN), Decision Tree, Random Forest.
  • Kiến trúc mạng YOLO (You Only Look Once):
    • Mô hình tiếp cận bài toán phát hiện đối tượng trong một lượt quét duy nhất thay vì quét trượt từng vùng.
    • Cấu trúc mạng cơ sở (base network) sử dụng Darknet hoặc Darknet-53 (trong YOLOv3 gồm 53 lớp tích chập liên tiếp kết hợp Batch Normalization và hàm kích hoạt Leaky ReLU).
    • Dự đoán đa tầng đặc trưng (multi-scale feature maps): Dự đoán bounding box trên nhiều kích thước lưới khác nhau (13x13, 26x26, 52x52), tạo ra tổng cộng $10.647$ anchor boxes trên mỗi bức ảnh $((13\times 13 + 26\times 26 + 52\times 52) \times 3 = 10.647)$.
    • Định dạng vector đầu ra cho mỗi cell: Bao gồm xác suất chứa vật thể $P_c$, tọa độ tâm và kích thước $(t_x, t_y, t_w, t_h)$, cùng phân phối xác suất của $C$ lớp $(p_1, p_2, \dots, p_c)$, với tổng số tham số đầu ra là $(n_class + 5) \times 3$.
    • Hàm đánh giá độ trùng khớp Intersection over Union (IoU) và thuật toán Non-Maximum Suppression (NMS) nhằm lọc bỏ các bounding box dư thừa.
  • Ứng dụng YOLOv5: Sử dụng framework YOLOv5 xây dựng trên PyTorch với cấu trúc một tầng (one-stage detector), hỗ trợ trích xuất đặc trưng và phân loại nhanh theo thời gian thực trực tiếp trên luồng camera.

Phương pháp nghiên cứu thực tế:

  • Phương pháp lý thuyết: Thu thập, phân tích tài liệu chuyên ngành về điện tử, vi điều khiển, thị giác máy tính và kiến trúc học sâu YOLO.
  • Phương pháp thiết kế - chế tạo: Tính toán thông số kỹ thuật tải trọng, lựa chọn module phần cứng (vi điều khiển, cảm biến, cơ cấu chấp hành, nguồn cấp), thiết kế sơ đồ nguyên lý mạch điện và lập trình hệ thống.
  • Phương pháp thực nghiệm: Thu thập dữ liệu ảnh sản phẩm thực tế từ webcam, gán nhãn, huấn luyện mô hình YOLOv5 trên máy tính, nạp code điều khiển cho Arduino và kiểm thử quá trình phân loại 5 màu sắc trên băng tải.

Thiết kế và thi công hệ thống

Sơ đồ khối và phân chia chức năng

Hệ thống phân loại tự động bao gồm 7 khối chức năng chính hoạt động phối hợp:

Khối chức năng Linh kiện / Thiết bị chính Chức năng chi tiết
Khối xử lý trung tâm Board mạch Arduino Uno R3 (ATmega328P) Tiếp nhận tín hiệu từ cảm biến và máy tính, điều phối hoạt động của relay, servo và màn hình hiển thị.
Khối quét & xử lý màu Webcam Rapoo WX180 / C260 + Máy tính (Python) Bắt khung hình sản phẩm, chạy mô hình YOLOv5 để nhận diện màu sắc, mã hóa kết quả và gửi qua cổng Serial/UART.
Khối cảm biến (Sensor) Cảm biến quang hồng ngoại E3F-DS30P1 Phát hiện vật cản khi sản phẩm đi qua vị trí xác định, gửi tín hiệu kích hoạt về Arduino.
Khối phân loại Động cơ Micro Servo SG90 Nhận xung PWM từ Arduino để quay góc gạt sản phẩm về đúng khay chứa tương ứng.
Khối vận chuyển Động cơ DC GA25-370 + Module Relay 1 kênh 5V Kéo băng tải di chuyển sản phẩm; Relay đóng vai trò công tắc đóng/ngắt nguồn động cơ qua lệnh vi điều khiển.
Khối hiển thị Màn hình LCD 20x4 + Module I2C (PCF8574) Hiển thị tên màu sắc và số lượng sản phẩm đã phân loại, kết nối Arduino chỉ qua 2 dây SDA/SCL.
Khối nguồn Nguồn Adaptor xung 9V DC - 2A Cung cấp nguồn cho động cơ băng tải và toàn bộ hệ thống phần cứng.

Chi tiết tính toán và lựa chọn linh kiện phần cứng

1. Khối xử lý trung tâm

Tác giả so sánh 3 dòng vi điều khiển phổ biến để đưa ra lựa chọn tối ưu cho mô hình:

Thông số Arduino Uno R3 PIC 16F887 STM32 (Cortex-M)
Dòng vi điều khiển AVR (ATmega328P, 8-bit) PIC (8-bit) ARM Cortex-M (32-bit)
Bộ nhớ Flash 32 KB (0.5 KB Bootloader) 14 KB Flash 1 MB Flash
RAM 2 KB SRAM 368 Bytes RAM 192 KB RAM
Giao tiếp hỗ trợ UART, SPI, I2C UART, SPI, I2C UART, SPI, I2C, CAN, USB, Ethernet
Tần số hoạt động 16 MHz 20 MHz 72 MHz - 168 MHz
Điện áp hoạt động 5V DC (khuyên dùng 7-12V qua Jack DC) 5V DC 3.3V DC
Đánh giá mức độ phù hợp Dễ tiếp cận, cộng đồng lớn, chi phí thấp, tối ưu cho điều khiển chấp hành. Phù hợp người mới, công cụ nạp PICkit phức tạp hơn. Hiệu năng cao nhưng lập trình phức tạp, dư thừa so với yêu cầu điều khiển I/O cơ bản.

Lựa chọn: Arduino Uno R3 đáp ứng đầy đủ số chân Digital I/O (14 chân, gồm 6 chân PWM), 6 chân Analog, tích hợp sẵn IC ổn áp NCP1117 / LP2985, cầu chì tự phục hồi F1 và diode chống ngược cực D1.

2. Khối cảm biến quang hồng ngoại

  • Linh kiện: E3F-DS30P1 (ngõ ra NPN, tích hợp sẵn điện trở nội kéo lên $10\text{ k}\Omega$).
  • Điện áp hoạt động: 5V DC; dòng ngõ ra tối đa: $300\text{ mA}$; dòng tiêu thụ: $20 - 35\text{ mA}$.
  • Khoảng cách phát hiện: $0 - 30\text{ cm}$, điều chỉnh khoảng cách thông qua biến trở tích hợp ở đuôi cảm biến.
  • Nguyên lý: Bộ phát (Emitter) phát tia hồng ngoại; khi có vật cản, tia phản xạ về bộ thu (Receiver), mạch so sánh kích đổi trạng thái ngõ ra và bật đèn LED báo hiệu màu đỏ.

3. Khối cơ cấu phân loại (Servo)

  • Linh kiện: Micro Servo SG90 (Analog).
  • Điện áp hoạt động: 4.6V - 6V DC; trọng lượng: $55\text{ g}$; kích thước: $40 \times 20 \times 43\text{ mm}$.
  • Tốc độ phản ứng: $0,17\text{ s} / 60^\circ$; góc quay: $0^\circ - 180^\circ$.
  • Cơ chế điều khiển: Nhận tín hiệu điều chế độ rộng xung (PWM) từ chân digital của Arduino Uno để xác định góc quay tương ứng với vị trí khay chứa của từng loại màu sản phẩm.

4. Khối truyền động băng tải và mạch đóng cắt

  • Động cơ: Động cơ giảm tốc DC GA25-370 (điện áp định mức 24VDC, tốc độ 60 RPM, dòng không tải 75mA, trục chữ D đường kính 4mm). Đảm bảo mô-men xoắn kéo tải băng chuyền ổn định.
  • Module Relay 1 kênh 5V: Điện áp kích 5VDC, dòng tiêu thụ 100mA, tiếp điểm chịu dòng tối đa 10A ở 250VAC hoặc 30VDC, cho phép cách ly an toàn giữa mạch điều khiển 5V của Arduino và nguồn động cơ.

5. Khối hiển thị và khối camera

  • LCD 2004 kèm module chuyển đổi I2C: Màn hình 4 dòng, mỗi dòng 20 ký tự, hoạt động ở điện áp 5V, tích hợp IC PCF8574 giúp giao tiếp với Arduino qua đúng 2 chân I2C ($SDA \rightarrow A4$, $SCL \rightarrow A5$), tiết kiệm chân I/O so với chế độ song song 4-bit/8-bit truyền thống.
  • Webcam Rapoo WX180 / C260: Độ phân giải Full HD (1080P), góc nhìn $80^\circ$, hỗ trợ tự động cân bằng sáng và lấy nét, kết nối máy tính qua cổng USB 2.0.

Quy trình và lưu đồ thuật toán hệ thống

Cơ chế điều khiển và xử lý dữ liệu phối hợp giữa Python và Arduino diễn ra theo trình tự khép kín:

[Khởi động hệ thống] 
[Webcam thu nhận hình ảnh liên tục trên băng tải]
[Python + YOLOv5 xử lý nhận diện & gán nhãn màu sắc]
[Arduino kiểm tra cảm biến E3F-DS30P1 phát hiện vật cản]
[Có vật đến]                   [Không có vật]
[Bật Relay chạy băng tải]      [Băng tải duy trì / chờ]
[Arduino xuất xung PWM điều khiển Servo SG90 gạt vào khay tương ứng]
[Cập nhật số lượng và màu sắc lên màn hình LCD 20x4 qua I2C]

Nội dung chính theo từng chương

Chương 1: Tổng quan

Trình bày tính cấp thiết của việc tự động hóa quá trình phân loại sản phẩm trong công nghiệp 4.0; giới thiệu vai trò của các viện nghiên cứu, trường đại học kỹ thuật trong nước trong lĩnh vực tự động hóa; xác định rõ 6 mục tiêu, 5 nhiệm vụ nghiên cứu, đối tượng, phạm vi nghiên cứu thực nghiệm và bố cục tổng thể của đồ án.

Chương 2: Cơ sở lý thuyết

Nghiên cứu nền tảng lý thuyết thị giác máy tính với OpenCV; phương pháp tiền xử lý không gian màu HSV; cơ chế nhận diện đối tượng dựa trên Deep Learning; cấu trúc mạng nơ-ron YOLO, Darknet, Darknet-53; phân tích chi tiết vector đầu ra của YOLO $((n_class + 5) \times 3)$, cơ chế dự đoán trên nhiều feature maps ($10.647$ bounding boxes), kỹ thuật tính toán anchor box, chỉ số IoU và quy trình phân loại bằng YOLOv5.

Chương 3: Thiết kế hệ thống

Xây dựng yêu cầu kỹ thuật và sơ đồ khối gồm 7 khối chức năng; thực hiện phân tích, so sánh và lựa chọn linh kiện chi tiết (Arduino Uno R3, cảm biến E3F-DS30P1, servo SG90, động cơ DC GA25-370, relay 5V, LCD 20x4 I2C, webcam Rapoo, nguồn 9V 2A); thiết lập sơ đồ nguyên lý mạch điện và xây dựng lưu đồ thuật toán phối hợp giữa Python và vi điều khiển Arduino.

Chương 4: Kết quả thi công hệ thống

Trình bày quá trình lắp ráp cơ khí, đấu nối mạch điện phần cứng hoàn thiện (hình chụp mô hình các góc trước, sau, trên xuống); thực nghiệm nhận dạng và phân loại trực tiếp trên băng tải đối với 5 nhóm màu sản phẩm: vàng, cam, xanh dương, hồng, đỏ; phân tích kết quả nhận dạng bounding box từ giao diện máy tính và đánh giá tính ổn định của hệ thống.

Chương 5: Kết luận và hướng phát triển

Đánh giá mức độ hoàn thành so với các mục tiêu ban đầu; tổng kết các ưu điểm và hạn chế tồn tại của hệ thống phần cứng cũng như phần mềm; đề xuất các giải pháp kỹ thuật nhằm nâng cấp và mở rộng mô hình trong tương lai.


Kết quả và đóng góp

Kết quả thực nghiệm

  1. Thi công hoàn chỉnh mô hình phần cứng: Lắp ráp thành công hệ thống băng chuyền nhỏ gọn kết hợp cơ cấu gạt servo, cảm biến quang phát hiện phôi và khối hiển thị số liệu trực quan qua màn hình LCD 20x4 I2C.
  2. Nhận dạng và phân loại chính xác 5 nhóm màu: Mô hình YOLOv5 chạy trên máy tính kết hợp webcam Rapoo phân biệt và trích xuất thành công bounding box cho các sản phẩm mẫu mang 5 màu sắc:
    • Phân loại sản phẩm màu vàng.
    • Phân loại sản phẩm màu cam.
    • Phân loại sản phẩm màu xanh dương.
    • Phân loại sản phẩm màu hồng.
    • Phân loại sản phẩm màu đỏ.
  3. Giao tiếp điều khiển thời gian thực: Đồng bộ hóa dữ liệu truyền nhận Serial giữa Python và Arduino Uno R3, đảm bảo servo gạt đúng thời điểm khi phôi di chuyển qua vùng quét của cảm biến hồng ngoại E3F-DS30P1.

Giải pháp và kiến nghị của tác giả

  • Cần thiết kế hộp kín hoặc khung che chắn chiếu sáng tiêu chuẩn quanh khu vực camera để triệt tiêu hiện tượng khúc xạ ánh sáng và bóng đổ từ môi trường ngoài.
  • Nâng cấp cấu trúc mô hình mạng học máy nhằm tối ưu hóa việc phát hiện các vật thể có kích thước nhỏ trên băng tải chuyển động nhanh.

Đóng góp của đề tài

  • Xây dựng thành công một giải pháp kết hợp giữa mô hình học sâu hiện đại (YOLOv5) chạy trên máy tính với phần cứng vi điều khiển nhúng chi phí thấp (Arduino Uno R3) phục vụ bài toán phân loại tự động.
  • Cung cấp tài liệu thiết kế chi tiết về sơ đồ khối, thông số lựa chọn linh kiện và phương pháp kết nối module I2C/Relay cho các mô hình thực hành tự động hóa trong đào tạo kỹ thuật.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế của đồ án

  • Phụ thuộc điều kiện ánh sáng: Quá trình nhận diện màu sắc của camera chịu ảnh hưởng bởi ánh sáng môi trường bên ngoài, gây nguy cơ sai lệch khi cường độ sáng thay đổi đột ngột.
  • Quy mô phân loại: Đề tài mới chỉ thử nghiệm trên 5 màu sắc đơn sắc cố định của phôi mẫu, chưa thử nghiệm trên các bề mặt vật liệu có hoa văn phức tạp hoặc độ phản quang cao.
  • Yêu cầu phần cứng máy tính: Việc huấn luyện và chạy dự đoán trên $10.647$ bounding box của kiến trúc YOLO đòi hỏi tài nguyên RAM và tốc độ xử lý nhất định trên máy tính chủ.

Hướng nghiên cứu tiếp

  • Nâng cấp camera và bổ sung hệ thống đèn chiếu sáng chuyên dụng để ổn định khung hình nhận diện.
  • Cải tiến thuật toán phát hiện vật thể nhỏ, mở rộng tập dữ liệu nhận diện thêm nhiều lớp sản phẩm kết hợp cả màu sắc, kích thước và hình dạng hình học.
  • Tích hợp cánh tay robot công nghiệp nhiều bậc tự do để thực hiện gắp/đặt sản phẩm thay thế cho cần gạt servo đơn giản.

Giá trị tham khảo

Đồ án là tài liệu tham khảo hữu ích cho:

  • Sinh viên và giảng viên thuộc các ngành Công nghệ Kỹ thuật Điện tử - Viễn thông, Kỹ thuật Điều khiển & Tự động hóa, Cơ điện tử và Công nghệ Thông tin.
  • Người nghiên cứu các đề tài ứng dụng thị giác máy tính và IoT: Tham khảo cấu trúc kết nối phần cứng giữa Arduino với các module ngoại vi (Relay, Servo SG90, E3F-DS30P1, LCD I2C) và quy trình thiết lập giao tiếp Serial giữa Python (OpenCV/YOLOv5) với vi điều khiển.
  • Phần nội dung giá trị nhất: Cơ sở toán học về kiến trúc YOLO (công thức tính IoU, cấu trúc vector output, phân bố anchor boxes) cùng bảng phân tích, so sánh lựa chọn vi điều khiển trong chương thiết kế hệ thống.

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

1. Tại sao nhóm tác giả lựa chọn Arduino Uno R3 làm khối xử lý trung tâm thay vì STM32 hay PIC 16F887?
Arduino Uno R3 được lựa chọn vì sở hữu tập chân I/O đáp ứng vừa đủ yêu cầu hệ thống (14 Digital I/O, 6 Analog), hỗ trợ đầy đủ chuẩn UART/I2C/SPI, tích hợp sẵn mạch nạp qua cổng USB, chi phí thấp, môi trường phát triển (IDE) thân thiện và có sự hỗ trợ mạnh mẽ từ cộng đồng, giúp rút ngắn thời gian phát triển mô hình mà không cần cấu hình phức tạp như STM32.

2. Hệ thống nhận diện màu sắc sản phẩm bằng thuật toán và công nghệ nào?
Hệ thống sử dụng webcam ghi hình truyền về máy tính, sử dụng ngôn ngữ Python kết hợp thư viện OpenCV để tiền xử lý không gian màu (RGB sang HSV) và triển khai mô hình học sâu YOLOv5 (kiến trúc Darknet, phân tích đa tầng feature map) để phát hiện vị trí bounding box và phân loại màu sắc của sản phẩm theo thời gian thực.

3. Những màu sắc nào đã được thử nghiệm và phân loại thành công trên mô hình?
Trong phần thực nghiệm thi công tại Chương 4, hệ thống đã nhận dạng và phân loại thành công 5 nhóm màu sắc sản phẩm bao gồm: màu vàng, màu cam, màu xanh dương, màu hồng và màu đỏ.

4. Khối vận chuyển của hệ thống sử dụng loại động cơ nào và được điều khiển đóng cắt ra sao?
Khối vận chuyển sử dụng động cơ giảm tốc DC GA25-370 (điện áp 24VDC, tốc độ 60 RPM, trục D 4mm) để kéo băng tải. Động cơ được đóng/ngắt nguồn thông qua một module Relay 1 kênh 5VDC nhận tín hiệu kích từ chân digital của Arduino Uno R3.

5. Màn hình LCD 20x4 kết nối với vi điều khiển bằng phương thức nào và có ưu điểm gì?
Màn hình LCD 20x4 được tích hợp module chuyển đổi I2C sử dụng IC PCF8574, kết nối với Arduino Uno R3 chỉ qua 2 dây tín hiệu ($SDA \rightarrow A4$, $SCL \rightarrow A5$) cùng 2 dây nguồn ($VCC, GND$). Phương thức này giúp tiết kiệm tối đa số chân GPIO của vi điều khiển, đơn giản hóa hệ thống dây dẫn và giảm thiểu lỗi kết nối phần cứng.


Kết luận

Đồ án "Xây dựng và thi công mô hình phân loại sản phẩm dựa theo màu sắc" đã hoàn thành việc nghiên cứu lý thuyết thị giác máy tính và thi công thành công mô hình băng chuyền tự động hóa thực tế. Hệ thống tích hợp hiệu quả mô hình học sâu YOLOv5 trên nền tảng Python với vi điều khiển Arduino Uno R3, cho phép nhận diện và phân loại chính xác 5 nhóm màu sản phẩm theo thời gian thực. Kết quả nghiên cứu cung cấp một giải pháp kỹ thuật khả thi, chi phí thấp và có giá trị tham khảo ứng dụng cao trong giảng dạy cũng như nghiên cứu tự động hóa công nghiệp.