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

Trong xu thế tự động hóa công nghiệp và sự gia tăng mạnh mẽ của thương mại điện tử, các hoạt động sản xuất, lưu kho và logistics đòi hỏi tốc độ xử lý nhanh, độ chính xác cao và khả năng đáp ứng khối lượng hàng hóa biến động liên tục. Sự đa dạng về hình thái đóng gói như túi mềm, túi poly và thùng carton đặt ra áp lực lớn cho các khâu phân loại truyền thống. Phương pháp phân loại thủ công bộc lộ nhiều nhược điểm cố hữu: phụ thuộc vào sức lao động con người, năng suất thấp, chi phí vận hành cao và dễ phát sinh sai sót do mệt mỏi, giảm tập trung hoặc đánh giá chủ quan của công nhân.

Trước yêu cầu đó, việc ứng dụng robot công nghiệp kết hợp hệ thống nhận dạng tự động giúp tối ưu hóa chi phí vận hành, nâng cao độ đồng đều của sản phẩm và cho phép dây chuyền làm việc liên tục 24/7. Công nghệ mã phản hồi nhanh (Quick Response Code - QR) với ưu thế lưu trữ dữ liệu đa chiều, dung lượng lớn hơn nhiều so với mã vạch một chiều (chứa số sê-ri, mô tả, ngày sản xuất, hạn sử dụng, liên kết dữ liệu), đóng vai trò làm định danh số phục vụ truy xuất và phân loại hàng hóa chính xác. Đồ án "Thi công mô hình cánh tay robot 5 bậc phân loại sản phẩm theo mã QR" của sinh viên Mã Văn Triệu (Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh) được xây dựng nhằm giải quyết bài toán tự động hóa này.

Các vấn đề cụ thể đặt ra trong đồ án bao gồm:

  1. Nghiên cứu, thi công hệ thống cánh tay robot 5 bậc phân loại sản phẩm theo mã QR hoạt động ổn định.
  2. Điều khiển các động cơ bước thông qua PLC và vi điều khiển ESP32, tính toán tọa độ và góc xoay của mã QR từ webcam thu nhận so với hệ tọa độ thực tế.
  3. Thực hiện điều khiển và giám sát toàn bộ hệ thống ở cả hai chế độ Tự động (Auto) và Bằng tay (Manual).

Mục tiêu nghiên cứu được xác định theo 8 nhiệm vụ cụ thể:

  1. Tìm hiểu mô hình cánh tay robot 5 bậc tự do.
  2. Tính toán các phương trình động học thuận, động học nghịch cho cánh tay robot 4 bậc tự do và giải quyết bài toán hình học cho khớp xoay (bậc thứ 5) để điều chỉnh góc sản phẩm theo yêu cầu.
  3. Lập trình thị giác máy tính xử lý ảnh: quét mã, trích xuất dữ liệu, xác định tọa độ tâm và góc xoay mã QR bằng ngôn ngữ Python.
  4. Thi công phần cứng cơ khí và lập trình hệ thống điều khiển cánh tay robot.
  5. Kiểm chứng tính đúng đắn của mô hình động học robot trên phần mềm Matlab.
  6. Thiết lập giao thức truyền thông liên kết giữa PLC, ESP32 và máy tính chủ.
  7. Thiết kế kết cấu 3D cánh tay robot trên phần mềm SolidWorks.
  8. Vận hành, đo đạc thông số thực nghiệm và hiệu chỉnh hệ thống.

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

  • Đối tượng nghiên cứu: Mô hình phần cứng cánh tay robot gồm 4 khâu chuyển động chính và khâu chấp hành cuối (gripper) tích hợp cơ cấu xoay, chế tạo từ vật liệu mica; hệ thống băng tải cấp phôi đai PVC; hệ thống điều khiển gồm PLC Siemens S7-1200 và vi điều khiển ESP32; hệ thống thị giác máy tính sử dụng webcam thu nhận dữ liệu mã QR.
  • Phạm vi nghiên cứu: Sản phẩm phân loại là các khối hộp vuông dán mã QR trên bề mặt; hệ thống vận hành trong điều kiện môi trường phòng kín có hệ thống đèn chiếu sáng ổn định; xử lý ảnh bằng các hàm nhận diện cơ bản qua cổng giao tiếp USB; phần mềm điều khiển và giám sát được xây dựng trên máy tính bằng Python và thư viện đồ họa PySide6.
  • Giới hạn đề tài: Không áp dụng các giải thuật xử lý ảnh nâng cao (như lọc nhiễu thích nghi trong điều kiện ánh sáng tự nhiên phức tạp ngoài trời); không phân loại theo màu sắc, kích thước hay hình dạng hình học; hệ thống điều khiển động cơ bước dạng vòng hở (open-loop), không tích hợp cảm biến phản hồi vị trí thực tế hoặc cảm biến phản hồi lực kẹp; không triển khai hạ tầng mạng IoT hay lưu trữ dữ liệu phân loại lên máy chủ điện toán đám mây.

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

Khung lý thuyết của đề tài được cấu thành từ ba trụ cột chính: điều khiển logic khả trình công nghiệp, lý thuyết động học robot nhiều bậc tự do, và xử lý ảnh số nhận diện mã QR.

Về nền tảng điều khiển công nghiệp, đề tài sử dụng bộ điều khiển logic khả trình PLC Siemens SIMATIC S7-1200 với CPU 1212C DC/DC/DC. Bộ điều khiển này vận hành dựa trên chu kỳ quét (scan cycle) ngõ vào, thực thi logic chương trình theo các ngôn ngữ tiêu chuẩn IEC 61131-3 (như LAD, FBD, SCL) và cập nhật ngõ ra. Cấu hình phần cứng cụ thể của CPU 1212C DC/DC/DC bao gồm: bộ nhớ làm việc (Work Memory) 100 KB, bộ nhớ tải (Load Memory) 2 MB, bộ nhớ duy trì (Retentive Memory) 14 KB; nguồn cấp danh định 24V DC (dải làm việc 20.4–28.8V DC); 8 ngõ vào số 24V DC tích hợp chức năng đếm tốc độ cao HSC; 6 ngõ ra số dạng transistor 24V DC (dòng cực đại 0.5A/kênh) hỗ trợ phát chuỗi xung PTO (Pulse Train Output) tần số cao phục vụ điều khiển chuyển động; và 2 ngõ vào tương tự 0–10V DC độ phân giải 10-bit. Khả năng mở rộng phần cứng bao gồm việc tích hợp thêm 1 bo mạch tín hiệu Signal Board (SB 1222), 2 module tín hiệu SM và 3 module truyền thông CM.

Về lý thuyết động học robot, cấu trúc 4 bậc tự do của cánh tay được thiết lập dựa trên quy ước Denavit – Hartenberg (D-H) và phương pháp luận ma trận chuyển đổi đồng nhất của John J. Craig. Hệ trục tọa độ được gắn tuần tự từ hệ gốc ${0}$ tại bệ đỡ đến hệ tọa độ khâu cuối ${4}$ cùng hệ quy chiếu mặt đất ${A}$.

Khâu ($i$) $a_{i-1}$ $\alpha_{i-1}$ $d_i$ $\theta_i$
1 0 0 0 $\theta_1$
2 0 $90^\circ$ 0 $\theta_2$
3 $L_2$ 0 0 $\theta_3$
4 $L_3$ 0 0 $\theta_4$

Từ bảng tham số D-H, ma trận biến đổi thuần nhất tổng quát giữa hai hệ tọa độ kế tiếp $^{i-1}_i T$ theo John J. Craig được áp dụng để tính toán ma trận chuyển vị từ hệ trục ${4}$ về hệ trục ${0}$: $$^0_4 T = ^0_1 T \cdot ^1_2 T \cdot ^2_3 T \cdot ^3_4 T$$

Vị trí khâu tác động cuối so với mặt đất (hệ trục ${A}$) được biểu diễn qua vector tọa độ: $$^A P_{EE} = \begin{bmatrix} \cos\theta_1 (L_4 \cos\theta_{234} + L_3 \cos\theta_{23} + L_2 \cos\theta_2) \ \sin\theta_1 (L_4 \cos\theta_{234} + L_3 \cos\theta_{23} + L_2 \cos\theta_2) \ L_4 \sin\theta_{234} + L_3 \sin\theta_{23} + L_2 \sin\theta_2 + L_1 \end{bmatrix}$$ với $\theta_{23} = \theta_2 + \theta_3$ và $\theta_{234} = \theta_2 + \theta_3 + \theta_4$.

Bài toán động học nghịch được giải bằng phương pháp đại số nhằm tìm các giá trị biến khớp $\theta_1, \theta_2, \theta_3$ từ tọa độ vị trí mục tiêu $(P_x, P_y, P_z)$ và hướng xác định trước:

  • Khớp quay bệ $\theta_1$ được xác định qua hàm $\text{atan2}(P_y, P_x)$.
  • Khớp $\theta_2$ và $\theta_3$ được suy dẫn qua phép biến đổi hệ phương trình chiếu kết hợp giải phương trình lượng giác dạng $a \sin\theta_2 + b \cos\theta_2 = d$.

Động học robot được lập trình kiểm chứng trên phần mềm Matlab trong 3 trường hợp bộ thông số góc khớp cụ thể để so sánh tính khớp nối giữa nghiệm giải tích và vị trí không gian.

Về thị giác máy tính, ảnh số được tiếp cận dưới dạng hàm rời rạc hai chiều $f(x, y)$ biểu diễn mức xám hoặc các kênh màu. Tác giả khảo sát các không gian màu RGB (kết hợp 3 màu cộng Đỏ, Lục, Lam, mỗi kênh 8-bit), HSV (phân tách thuộc tính sắc độ Hue, độ bão hòa Saturation và giá trị sáng Value), và ảnh xám (Grayscale chuyển đổi từ RGB qua công thức tính độ sáng $Y = 0.299R + 0.587G + 0.114B$). Cấu trúc mã QR chuẩn bao gồm 7 thành phần hình học: Dấu định vị (Positioning marking), Dấu căn chỉnh (Alignment marking), Mẫu thời gian (Timing pattern), Vùng yên tĩnh (Quiet zone), Thông tin phiên bản (Version information), Thông tin định dạng (Format information), cùng Vùng dữ liệu và sửa lỗi (Data and error correction module). Quá trình quét và trích xuất dữ liệu sử dụng thư viện OpenCV (cv2.QRCodeDetector) qua hàm detectAndDecodeMulti(), cho phép xác định chuỗi ký tự phân loại, tính toán tọa độ trọng tâm và góc nghiêng của mã QR so với trục tọa độ camera.

Phương pháp nghiên cứu thực tế gồm: phân tích tài liệu lý thuyết, thiết kế cơ khí và mô phỏng động học, thực nghiệm lắp ráp phần cứng, lập trình điều khiển nhúng/PLC, lập trình phần mềm giao diện và đo đạc thực nghiệm. Dữ liệu nghiên cứu thu thập trực tiếp từ các chu kỳ vận hành của mô hình thực tế.

Thiết kế và triển khai

Hệ thống được thiết kế theo cấu trúc điều khiển phân tầng, tích hợp giữa cơ khí chính xác, thiết bị điện công nghiệp, vi điều khiển và xử lý ảnh trên máy tính.

Thành phần phân hệ Thiết bị / Công nghệ sử dụng Thông số / Chức năng chính
Cơ khí & Chấp hành Khung cánh tay robot mica Cấu trúc 5 bậc tự do, truyền động đai
Động cơ bước JK42HS40-1704 Động cơ Nema17 điều khiển khớp quay
Động cơ bước 36GP-42ST Tích hợp hộp số giảm tốc cho các khớp tải
Servo HiWonder LD-1501 / MG996R Điều khiển cơ cấu kẹp và xoay (khớp thứ 5)
Băng tải PVC & Động cơ GA25-370 Chiều dài tiêu chuẩn, động cơ DC 60 RPM
Điều khiển & Cảm biến PLC Siemens S7-1200 CPU 1212C Phát xung PTO điều khiển 4 trục động cơ bước
Bo mạch mở rộng SB 1222 Mở rộng ngõ ra số cho PLC
Vi điều khiển ESP32 NodeMCU Điều khiển góc quay servo và đóng/mở kẹp
Driver động cơ bước TB6600 Cài đặt dòng định mức và phân bước (microstep)
Cảm biến quang E3F-DS30C4 (NPN) Phát hiện sản phẩm trên băng tải (6–36V DC)
Cảm biến chữ U EE-SX671 (NPN) Định vị điểm gốc cơ bản (sethome) các trục
Thị giác & Nguồn Webcam Logitech Brio 100 Thu nhận hình ảnh mã QR gắn trên sản phẩm
Nguồn tổ ong 24V 10A & Adapter 24V Cung cấp nguồn DC cho PLC, driver và cảm biến
Mạch hạ áp DC-DC XL4015 Hạ áp cấp nguồn cho vi điều khiển và servo
Mạch điều tốc PWM Điều chỉnh tốc độ vận hành của động cơ băng tải
Thiết bị bảo vệ MCB NXB-63 1P 2A, rơ le trung gian 24V DC

Kiến trúc điều khiển phần mềm và truyền thông:

  1. Truyền thông Snap7: Chương trình Python trên máy tính kết nối trực tiếp với PLC S7-1200 thông qua thư viện truyền thông Snap7 qua cổng Ethernet (cổng TCP/IP mặc định 102). Trong TIA Portal, PLC được cấu hình mở quyền truy cập (cho phép đọc/ghi qua cơ chế PUT/GET từ thiết bị ngoài) và tắt chế độ tối ưu hóa khối dữ liệu (Optimized block access) trên các khối Data Block (DB) để Python đọc/ghi biến số trực tiếp theo địa chỉ offset byte.
  2. Cấu hình điều khiển chuyển động trong TIA Portal: Lập trình cấu hình 4 trục chuyển động sử dụng đối tượng công nghệ TO_PositioningAxis với tín hiệu điều khiển phát xung PTO dạng Pulse/Direction (PUL/DIR). Chương trình sử dụng các khối hàm chức năng chuẩn PLCopen:
    • MC_Power: Kích hoạt/vô hiệu hóa trạng thái sẵn sàng của trục chuyển động.
    • MC_Home: Thực hiện quy trình đưa trục về điểm gốc tọa độ máy (Homing) kết hợp tín hiệu cảm biến quang EE-SX671.
    • MC_MoveJog: Điều khiển chuyển động nhích từng bước ở chế độ vận hành thủ công (Manual).
    • MC_MoveAbsolute: Điều khiển chuyển động định vị tuyệt đối đến tọa độ tính toán từ động học nghịch.
  3. Thuật toán điều khiển hệ thống:
    • Lưu đồ tổng thể: Khởi tạo hệ thống $\rightarrow$ Đưa các trục robot về điểm Home (MC_Home) $\rightarrow$ Chọn chế độ Auto hoặc Manual.
    • Chế độ Auto: Băng tải chạy $\rightarrow$ Cảm biến E3F-DS30C4 phát hiện sản phẩm $\rightarrow$ Băng tải dừng $\rightarrow$ Webcam Brio 100 thu nhận khung hình $\rightarrow$ Thuật toán Python (detectAndDecodeMulti) quét mã QR, xác định nội dung mã, tính tọa độ tâm $(x, y)$ và góc xoay $\Delta\theta \rightarrow$ Tính toán góc khớp qua giải thuật động học nghịch $\rightarrow$ Máy tính gửi tọa độ góc qua Snap7 đến DB của PLC và gửi góc xoay qua ESP32 $\rightarrow$ PLC kích hoạt MC_MoveAbsolute điều khiển cánh tay hạ xuống gắp sản phẩm $\rightarrow$ ESP32 kích hoạt servo kẹp $\rightarrow$ Robot nhấc sản phẩm và di chuyển thả vào 1 trong 3 ô quy định theo dữ liệu QR giải mã $\rightarrow$ Chu kỳ lặp lại.
    • Chế độ Manual: Người vận hành điều khiển độc lập từng khớp quay của robot thông qua các nút nhấn jog trên giao diện đồ họa hoặc tủ điện điều khiển.
  4. Giao diện điều khiển: Được lập trình bằng ngôn ngữ Python sử dụng thư viện PySide6, giao diện gồm hai màn hình chính: màn hình giới thiệu thông tin đề tài và màn hình điều khiển/giám sát hiển thị luồng video thời gian thực từ webcam, các thông số tọa độ tính toán, chế độ vận hành và trạng thái kết nối phần cứng.
  5. Thi công tủ điện: Toàn bộ PLC, bo mạch mở rộng, vi điều khiển ESP32, khối driver TB6600, rơ le, MCB bảo vệ và các bộ nguồn chuyển đổi được bố trí, lắp đặt trên thanh ray trong tủ điện công nghiệp; hệ thống dây dẫn được đi trong máng nhựa theo sơ đồ bản vẽ AutoCAD Electrical.

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

Chương 1: Tổng quan đề tài

Chương mở đầu phân tích tính cấp thiết của việc tự động hóa khâu phân loại hàng hóa trong logistics và thương mại điện tử nhằm thay thế thao tác thủ công nhiều rủi ro. Tác giả tổng hợp hai công trình nghiên cứu trong nước có liên quan:

  • Nghiên cứu của Hồ Cao Nguyên và Trần Huy Phong: Hệ thống phân loại và sắp xếp sản phẩm theo màu sắc, hình dạng sử dụng cánh tay robot 4 bậc kết hợp PLC S7-1200, đạt độ chính xác 299 sản phẩm phân loại hoàn chỉnh trên tổng số 306 sản phẩm thử nghiệm.
  • Nghiên cứu của Nguyễn Hoàng Minh Tiến và Huỳnh Thanh Duy: Thiết kế, thi công mô hình phân loại sản phẩm theo mã QR và cơ cấu đóng thùng tốc độ cao, thử nghiệm với 10 sản phẩm hợp lệ và 10 sản phẩm không hợp lệ trong khoảng thời gian 129 giây. Trên cơ sở đó, chương 1 xác định rõ mục tiêu, đối tượng, phạm vi nghiên cứu, phương pháp tiếp cận và kế hoạch thực hiện đề tài gồm 6 chương.

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

Chương này tập trung xây dựng cơ sở toán học và kỹ thuật điều khiển:

  • Trình bày đặc tả kỹ thuật phần cứng của PLC SIMATIC S7-1200 CPU 1212C DC/DC/DC, cấu trúc vùng nhớ, ngõ vào/ra số và nguyên lý phát xung PTO.
  • Thiết lập bảng thông số Denavit – Hartenberg cho cánh tay robot 4 bậc tự do, suy dẫn hệ phương trình ma trận động học thuận theo quy ước John J. Craig và giải hệ phương trình động học nghịch bằng phương pháp đại số.
  • Thực hiện kiểm chứng tính đúng đắn của phương trình động học trên phần mềm Matlab qua 3 bộ thông số biến khớp: trường hợp 1 ($\theta_1 = 32.5^\circ$), trường hợp 2 ($\theta_1 = -25^\circ; \theta_2 = 65^\circ$), trường hợp 3 ($\theta_1 = -32.7^\circ$).
  • Trình bày cơ sở lý thuyết xử lý ảnh số, các không gian màu RGB, HSV, ảnh xám; cấu tạo hình học 7 thành phần của mã QR; thuật toán nhận diện và giải mã mã QR dựa trên thư viện OpenCV (cv2.QRCodeDetector, detectAndDecodeMulti()), phương pháp tính tọa độ trọng tâm và góc xoay khâu kẹp (bậc thứ 5).
  • Giới thiệu tổng quan về giao thức truyền thông Snap7 và các phần mềm công cụ hỗ trợ: SolidWorks, Tia Portal, Arduino IDE, Visual Studio Code và AutoCAD Electrical.

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

Chương 3 trình bày các phương án tính toán và thiết kế chi tiết:

  • Thiết kế cơ khí cánh tay robot 5 bậc trên phần mềm SolidWorks; so sánh ưu nhược điểm giữa các vật liệu làm khung (kim loại, nhôm, mica) và lựa chọn gia công khung bằng vật liệu mica; tính toán chọn động cơ bước Nema17 JK42HS40-1704, động cơ bước 36GP-42ST có hộp số giảm tốc và servo kẹp/xoay HiWonder LD-1501 / MG996R.
  • Lựa chọn thiết bị điện: nguồn tổ ong 24V 10A, mạch giảm áp XL4015, cảm biến hồng ngoại phát hiện vật E3F-DS30C4 NPN, cảm biến chữ U EE-SX671 NPN, driver TB6600 (cài đặt dòng điện và phân bước vi bước qua switch gạt), động cơ băng tải DC GA25-370 và webcam Logitech Brio 100.
  • Thiết kế sơ đồ nguyên lý mạch điện: sơ đồ cấp nguồn, sơ đồ đấu nối ngõ vào/ra cho PLC S7-1200 và vi điều khiển ESP32.
  • Xây dựng các lưu đồ giải thuật: giải thuật tổng thể, giải thuật sethome trục robot, giải thuật chế độ Auto, giải thuật chế độ Manual và giải thuật xử lý ảnh.
  • Cấu hình phần mềm trong TIA Portal: thiết lập giao tiếp mở cho phép đọc/ghi dữ liệu từ máy tính, tạo khối Data Block không tối ưu bộ nhớ, khởi tạo các trục TO_PositioningAxis, cấu hình chân phát xung PTO, số xung/vòng, vận tốc tối đa, gia tốc, vận tốc dừng khẩn cấp và cấu hình các khối hàm điều khiển MC_Power, MC_Home, MC_MoveJog, MC_MoveAbsolute.

Chương 4: Thi công hệ thống

Chương 4 mô tả chi tiết quá trình hiện thực hóa các bản vẽ thiết kế:

  • Lắp ráp cơ khí cánh tay robot hoàn chỉnh từ các chi tiết mica gia công cắt laser; liên kết các khớp quay, lắp đặt động cơ bước, servo và bộ truyền động đai.
  • Thi công cơ khí hệ thống vận chuyển băng tải PVC đai tải, giá gắn camera cố định phía trên băng tải và bố trí 3 vị trí khay/ô chứa để phân loại sản phẩm.
  • Thiết kế và hoàn thiện giao diện điều khiển, giám sát người dùng trên máy tính bằng Python kết hợp thư viện PySide6 (giao diện giới thiệu và giao diện vận hành).
  • Lắp ráp hoàn thiện tủ điện điều khiển: bố trí thiết bị trên thanh ray, đấu nối dây tín hiệu và dây lực trong máng nhựa, lắp đặt hệ thống nút nhấn điều khiển, đèn báo và công tắc dừng khẩn cấp trên mặt tủ điện.

Chương 5: Kết quả và thực nghiệm

Chương 5 trình bày toàn bộ số liệu và kết quả thử nghiệm thực tế của mô hình:

  • Kết quả vận hành ở chế độ thủ công (Manual): hệ thống đáp ứng tín hiệu điều khiển nhích từng trục qua nút bấm và giao diện; các trục chuyển động mượt mà, phản hồi đúng hướng và dừng tại vị trí mong muốn.
  • Kết quả vận hành ở chế độ tự động (Auto): hệ thống tự động nhận diện mã QR khi sản phẩm đi qua vùng quan sát của camera; cánh tay robot thực hiện chuỗi thao tác: định vị điểm gắp, hạ khâu kẹp, xoay đúng góc lệch của mã, gắp sản phẩm khỏi băng tải và di chuyển thả chính xác vào từng ô tương ứng (ô 1, ô 2, ô 3) theo nội dung mã QR đã giải mã.
  • Đánh giá sai số thử nghiệm: thực hiện đo đạc, kiểm chứng độ chính xác và tính ổn định của hệ thống trong 3 khoảng thời gian làm việc liên tục: 5 phút, 15 phút và 30 phút (trình bày tại các Bảng 5.1, 5.2, 5.3 trong văn bản đồ án).

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

Chương tổng kết đánh giá khối lượng công việc đã hoàn thành so với nhiệm vụ thiết kế ban đầu; chỉ ra các điểm nghẽn kỹ thuật và hạn chế của phần cứng mô hình; đồng thời đề xuất những định hướng cải tiến, mở rộng đề tài cho các giai đoạn nghiên cứu tiếp theo.

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

Về kết quả thực nghiệm, đề tài đã thi công và vận hành thành công mô hình hệ thống cánh tay robot 5 bậc phân loại sản phẩm theo mã QR với đầy đủ các phân hệ cơ khí, điện, thị giác máy tính và phần mềm điều khiển.

Hệ thống thị giác máy tính sử dụng webcam Logitech Brio 100 và thư viện OpenCV thực hiện nhận diện thành công chuỗi ký tự mã hóa trong mã QR, tính toán chính xác tọa độ trọng tâm $(x, y)$ và góc lệch của mã so với phương ngang. Trên cơ sở đó, giải thuật động học nghịch tính toán các biến khớp tương ứng, truyền thông số sang PLC S7-1200 qua thư viện Snap7 và gửi góc xoay tới vi điều khiển ESP32 với độ trễ thấp, đảm bảo tính liên tục trong chu kỳ hoạt động.

Hệ thống đã trải qua các đợt kiểm thử thực tế độc lập:

  • Kiểm thử chế độ Manual: Cho phép người vận hành điều khiển riêng rẽ 4 trục động cơ bước và cơ cấu kẹp/xoay qua giao diện đồ họa PySide6 và nút bấm tủ điện; thực hiện lệnh sethome chuẩn xác nhờ cảm biến quang EE-SX671.
  • Kiểm thử chế độ Auto: Cánh tay robot gắp thành công phôi hộp dán mã QR trên băng tải và phân chia chính xác vào 3 ô phân loại dựa trên nội dung mã giải mã được.
  • Đánh giá độ ổn định: Hệ thống đã được chạy thử nghiệm đánh giá sai số phân loại và khả năng hoạt động liên tục trong 3 mốc thời gian gồm 5 phút, 15 phút và 30 phút, ghi nhận tỷ lệ phân loại ổn định và đồng đều.

Về mặt đóng góp kỹ thuật, đồ án mang lại các giá trị cụ thể:

  1. Xây dựng thành công giải pháp điều khiển tích hợp phân tầng: sử dụng máy tính làm trung tâm xử lý ảnh và tính toán toán học động học phức tạp, kết hợp với PLC công nghiệp S7-1200 làm bộ điều khiển chuyển động phát xung tốc độ cao PTO, giúp phân tải tính toán tối ưu giữa tầng điều khiển và tầng giám sát.
  2. Ứng dụng thành công thư viện Snap7 để giao tiếp truyền thông Ethernet hai chiều giữa ứng dụng Python trên máy tính và PLC Siemens mà không cần thông qua máy chủ OPC trung gian đắt tiền, giúp tiết kiệm chi phí phần mềm trong các mô hình thực hành tự động hóa.
  3. Giải quyết hoàn chỉnh bài toán động học nghịch bằng phương pháp đại số cho robot kết hợp khâu xoay thứ 5, đồng thời kiểm chứng tính hội tụ của nghiệm toán học trên công cụ mô phỏng Matlab trước khi nạp xuống điều khiển chuyển động phần cứng thực tế.

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

Hạn chế của đề tài (dựa trên các giới hạn phần cứng và phạm vi nghiên cứu được nêu trong văn bản):

  • Khung cánh tay robot được gia công từ vật liệu mica, có độ cứng vững cơ học chưa cao, dễ phát sinh rung lắc và biến dạng đàn hồi khi mang tải nặng hoặc vận hành ở tốc độ chuyển động nhanh.
  • Hệ thống điều khiển các trục động cơ bước theo nguyên lý vòng hở (open-loop), không có encoder phản hồi vị trí góc quay thực tế của trục, do đó tiềm ẩn nguy cơ tích lũy sai số vị trí nếu xảy ra hiện tượng trượt bước (lost step) khi có tải cản đột ngột.
  • Khâu kẹp chưa được trang bị cảm biến lực, chỉ đóng/mở theo góc quay cố định của động cơ servo, tiềm ẩn nguy cơ làm biến dạng vỏ hộp sản phẩm nếu lực kẹp vượt mức.
  • Thuật toán thị giác máy tính chỉ được cấu hình đơn giản để hoạt động trong môi trường ánh sáng ổn định của phòng thực hành, chưa có các module lọc nhiễu thích nghi khi có ánh sáng mạnh, bóng đổ hoặc môi trường công nghiệp thực tế.
  • Hệ thống chỉ nhận dạng phân loại theo mã QR được định nghĩa trước, chưa mở rộng chức năng phân loại đa tiêu chí theo hình dáng, kích thước, màu sắc, và chưa tích hợp mạng truyền thông IoT để truyền dữ liệu lên đám mây.

Hướng nghiên cứu và phát triển tiếp theo của đề tài:

  • Cải tiến phần cứng cơ khí: Thay thế vật liệu mica bằng kim loại (nhôm định hình, hợp kim nhôm phay CNC) để nâng cao độ cứng vững, giảm rung lắc và nâng cao tải trọng nâng của cánh tay.
  • Nâng cấp hệ thống điều khiển: Thay thế động cơ bước vòng hở bằng động cơ bước có phản hồi encoder (closed-loop stepper) hoặc động cơ servo công nghiệp để triệt tiêu sai số trượt bước; tích hợp cảm biến lực (loadcell) tại mỏ kẹp để kiểm soát lực nắm giữ sản phẩm.
  • Phát triển thuật toán thị giác máy tính nâng cao: Bổ sung các giải thuật tiền xử lý ảnh, cân bằng sáng thích nghi để hệ thống có khả năng nhận diện mã QR trong điều kiện chiếu sáng biến thiên phức tạp; mở rộng nhận diện phân loại kết hợp theo màu sắc và kích thước vật thể.
  • Mở rộng tính năng kết nối mạng: Xây dựng hệ thống giám sát SCADA công nghiệp và tích hợp giao thức truyền thông IoT (như MQTT, OPC UA) để truyền dữ liệu thống kê sản lượng phân loại lên máy chủ hoặc nền tảng đám mây.

Giá trị tham khảo

Báo cáo đồ án tốt nghiệp là tài liệu kỹ thuật có giá trị tham khảo thiết thực cho các nhóm đối tượng:

  • Sinh viên và học viên chuyên ngành Công nghệ Kỹ thuật Điều khiển và Tự động hóa, Cơ điện tử, Kỹ thuật Robot: Có thể tham khảo phương pháp thiết lập bảng D-H, tính toán ma trận chuyển vị John J. Craig và phương pháp đại số giải động học nghịch cho robot nhiều bậc tự do; quy trình mô phỏng kiểm chứng nghiệm trên phần mềm Matlab.
  • Kỹ sư phát triển hệ thống điều khiển tích hợp: Tham khảo kiến trúc kết nối giữa phần mềm thị giác máy tính viết bằng Python với bộ điều khiển lập trình PLC Siemens S7-1200 thông qua thư viện truyền thông Snap7; cách cấu hình truy xuất khối Data Block (DB) không qua OPC server.
  • Người nghiên cứu thiết kế tủ điện và điều khiển chuyển động: Cung cấp đầy đủ sơ đồ nguyên lý mạch điều khiển (PLC, ESP32, driver TB6600, cảm biến NPN E3F-DS30C4, EE-SX671) và phương pháp cấu hình đối tượng công nghệ phát xung trục TO_PositioningAxis cùng các hàm thư viện MC_Power, MC_Home, MC_MoveJog, MC_MoveAbsolute trên phần mềm TIA Portal.

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

1. Bộ điều khiển trung tâm nào được sử dụng để điều khiển các trục chuyển động của robot và điều khiển bằng phương thức gì?
Bộ điều khiển trung tâm là PLC Siemens SIMATIC S7-1200 CPU 1212C DC/DC/DC, sử dụng các ngõ ra số dạng transistor để phát chuỗi xung tốc độ cao PTO (Pulse Train Output) theo chế độ Pulse/Direction (PUL/DIR), kết hợp đối tượng công nghệ TO_PositioningAxis và các khối lệnh chuyển động PLCopen (MC_Power, MC_Home, MC_MoveAbsolute) trong TIA Portal để điều khiển các driver động cơ bước TB6600.

2. Cơ cấu chấp hành của cánh tay robot 5 bậc được phân chia điều khiển như thế nào giữa PLC và vi điều khiển ESP32?
PLC S7-1200 chịu trách nhiệm điều khiển động cơ băng tải và 4 động cơ bước chính quyết định tọa độ vị trí không gian 3 chiều của cánh tay robot (4 bậc tự do). Trong khi đó, vi điều khiển ESP32 NodeMCU nhận dữ liệu góc lệch từ máy tính để điều khiển động cơ servo thực hiện việc xoay khâu kẹp (bậc tự do thứ 5) và đóng/mở mỏ kẹp gắp sản phẩm.

3. Chương trình xử lý ảnh trên máy tính gửi dữ liệu tọa độ và lệnh điều khiển xuống PLC S7-1200 qua giao thức nào?
Dữ liệu được truyền thông qua giao thức Ethernet sử dụng thư viện mã nguồn mở Snap7 trong ngôn ngữ Python. Để thực hiện được, trên phần mềm TIA Portal cần cấu hình cho phép kết nối PUT/GET từ đối tác truyền thông bên ngoài và bỏ chọn tính năng "Optimized block access" trên các khối dữ liệu Data Block (DB) để Python có thể đọc/ghi dữ liệu theo định dạng byte offset.

4. Khung cơ khí của cánh tay robot được gia công từ vật liệu gì và phát sinh hạn chế kỹ thuật nào trong thực tế?
Khung robot được gia công bằng vật liệu mica để giảm trọng lượng và chi phí chế tạo. Hạn chế kỹ thuật của vật liệu này là độ cứng vững cơ học không cao, dễ bị uốn và rung lắc khi cánh tay vươn xa, mang tải trọng nặng hoặc chuyển động ở gia tốc lớn, gây ảnh hưởng trực tiếp đến độ chính xác vị trí gắp/thả.

5. Những loại cảm biến nào được sử dụng trên mô hình và chức năng cụ thể của từng loại là gì?
Mô hình sử dụng hai loại cảm biến chính: cảm biến quang điện hồng ngoại E3F-DS30C4 (loại NPN) lắp đặt cạnh băng tải để phát hiện sản phẩm đi vào vùng quan sát nhằm dừng băng tải cho camera quét mã QR; và các cảm biến quang điện chữ U EE-SX671 (loại NPN) lắp đặt tại các trục chuyển động làm công tắc giới hạn hành trình và định vị điểm gốc tọa độ máy (Homing) cho robot.

Kết luận

Đồ án tốt nghiệp "Thi công mô hình cánh tay robot 5 bậc phân loại sản phẩm theo mã QR" của sinh viên Mã Văn Triệu đã hoàn thành toàn diện các mục tiêu đề ra về thiết kế cơ khí, tính toán động học, thi công mạch điều khiển và tích hợp thị giác máy tính. Công trình thể hiện sự kết hợp đồng bộ giữa bộ điều khiển lập trình công nghiệp PLC Siemens S7-1200, vi điều khiển ESP32 và ngôn ngữ lập trình Python thông qua giao thức Snap7 để vận hành một hệ thống phân loại tự động khép kín. Các kết quả kiểm chứng động học trên Matlab cùng thực nghiệm vận hành ở chế độ Auto và Manual đã chứng minh tính khả thi của mô hình, đồng thời xác lập cơ sở dữ liệu kỹ thuật tin cậy cho các hướng nghiên cứu nâng cấp phần cứng và tích hợp IoT trong tương lai.