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

Trong xu hướng tự động hóa sản xuất hiện đại, các hệ thống cánh tay robot công nghiệp kết hợp kỹ thuật thị giác máy tính đang được ứng dụng rộng rãi nhằm nâng cao năng suất và thay thế con người tại các môi trường làm việc độc hại, nguy hiểm hoặc đòi hỏi độ chính xác lặp lại cao. Tại Việt Nam, nhu cầu nguồn nhân lực và việc tiếp cận các nghiên cứu công nghệ robot tiên tiến vẫn còn nhiều hạn chế, phần lớn trang thiết bị trong nước vẫn vận hành dựa trên công nghệ thế hệ cũ. Xuất phát từ thực tiễn đào tạo và yêu cầu công nghiệp, đề tài "Điều khiển cánh tay robot phân loại sản phẩm ứng dụng thị giác máy tính" được thực hiện bởi nhóm sinh viên Nguyễn Thành Tây và Trần Vũ Quân, dưới sự hướng dẫn của ThS. Nguyễn Trần Minh Nguyệt tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh (Khoa Điện - Điện tử, Bộ môn Tự động điều khiển).

Đề tài đặt ra 3 nhiệm vụ và mục tiêu nghiên cứu cụ thể:

  1. Xây dựng hệ thống thị giác máy tính thu nhận hình ảnh trực tiếp từ camera để nhận dạng, theo dõi chuyển động (tracking) của sản phẩm trên băng tải, trích xuất các đặc trưng phân loại gồm màu sắc (đỏ, vàng, xanh) và thông tin giải mã từ mã QR, sau đó truyền tọa độ sang hệ thống điều khiển.
  2. Thiết lập giải thuật điều khiển cánh tay robot 3 bậc tự do dựa trên mô hình hình học và bài toán động học, thực hiện gắp động sản phẩm bằng giác hút chân không khi vật di chuyển qua vùng làm việc và phân loại chính xác về các vị trí quy định.
  3. Thiết kế giao diện người dùng (GUI) phục vụ công tác giám sát, điều khiển vận hành hệ thống ở các chế độ thủ công (Manual) và tự động (Auto), đồng thời kết nối cơ sở dữ liệu để lưu trữ và truy xuất thông tin phân loại sản phẩm.

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

  • Đối tượng nghiên cứu: Mô hình cánh tay robot 3 bậc tự do (phát triển theo cấu hình robot Magician với khung in 3D), băng tải mini, webcam thu nhận hình ảnh và hệ thống điều khiển tích hợp.
  • Phạm vi hoạt động: Phân loại sản phẩm chuyển động trên băng tải dựa trên 2 tiêu chí là màu sắc cơ bản (đỏ, vàng, xanh) và mã ma trận vuông 2 chiều (QR code).
  • Giới hạn hệ thống: Cánh tay robot không thể gắp vật khi băng tải vận hành ở dải tốc độ cao do giới hạn thời gian xử lý ảnh và đáp ứng cơ khí; hệ thống chỉ phân loại được vật đến trước nếu các vật nằm quá sát nhau; độ chính xác phân loại phụ thuộc vào điều kiện chiếu sáng của môi trường xung quanh do hạn chế phần cứng của webcam tiêu cự cố định.

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

Nghiên cứu sử dụng các nền tảng lý thuyết và công cụ phân tích kỹ thuật sau:

  • Lý thuyết động học robot: Ứng dụng quy tắc bàn tay phải và phương pháp biểu diễn tham số Denavit – Hartenberg (D-H) để gắn hệ trục tọa độ lên các khâu và khớp của robot 3 bậc tự do. Xác định các hệ tọa độ: hệ tọa độ cơ bản (Base), hệ tọa độ đối tượng công việc (Work object), hệ tọa độ công cụ (Tool), hệ tọa độ thế giới (World) và hệ tọa độ người dùng (User). Thiết lập phương trình ma trận chuyển đổi thuần nhất $^0_5T$ để giải bài toán động học thuận và áp dụng phương pháp đại số để giải bài toán động học ngược nhằm tìm nghiệm góc biến khớp ($\theta_1, \theta_2, \theta_3$).
  • Phương pháp xử lý ảnh và thị giác máy tính: Ứng dụng kỹ thuật trừ nền (background subtraction) giữa ảnh nền tĩnh và khung hình hiện tại để phát hiện sự xuất hiện của vật thể; chuyển đổi không gian màu sang hệ màu HSV (Hue - Saturation - Value) để phân đoạn và nhận dạng màu sắc độc lập với sự biến thiên cường độ sáng; kỹ thuật xử lý hình thái học (phép co - erosion, phép giãn - dilation) để lọc nhiễu; thuật toán tìm đường bao (contours) và xác định tọa độ tâm vật thể trên không gian pixel, sau đó chuyển đổi sang hệ tọa độ thực của robot. Giải mã ma trận điểm ảnh mã QR (phát triển bởi Denso Wave năm 1994) bằng thư viện chuyên dụng.
  • Phương pháp điều khiển và truyền thông: Ứng dụng thuật toán điều khiển vector định hướng từ trường (Field-Oriented Control - FOC) và giải thuật PID gia vi (PID Incremental) tích hợp trên vi điều khiển STM32 của driver MKS Servo42C để điều khiển vòng kín động cơ bước với phản hồi từ encoder từ tính 14-bit; truyền thông nối tiếp UART phục vụ giao tiếp dữ liệu giữa máy tính xử lý trung tâm và vi điều khiển Arduino UNO R3.
  • Nguồn dữ liệu: Dữ liệu hình ảnh thời gian thực thu nhận từ webcam Logitech C310 (độ phân giải 720p, tốc độ 30 khung hình/giây); dữ liệu vận hành và nhật ký sản phẩm được quản lý qua hệ quản trị cơ sở dữ liệu quan hệ MySQL.

Thiết kế và triển khai hệ thống

Hệ thống được thiết kế theo cấu trúc module hóa phân tầng, tích hợp giữa phần cứng cơ điện tử và phần mềm điều khiển:

Phân hệ / Thiết bị Thông số kỹ thuật / Đặc tính chi tiết Vai trò trong hệ thống
Cánh tay robot Cấu hình Magician in 3D; kích thước khâu: $d_1 = 129$ mm, $a_2 = 140$ mm, $a_3 = 140$ mm, $a_4 = 40$ mm, $a_5 = 50$ mm Cơ cấu chấp hành chuyển động 3 bậc tự do, giữ đầu công tác luôn song song mặt phẳng
Arduino UNO R3 Vi điều khiển ATmega328 (8-bit, 16 MHz), 32 KB Flash, 2 KB SRAM, 1 KB EEPROM, 14 chân Digital I/O Điều khiển tầng dưới, nhận lệnh góc khớp qua UART và phát xung điều khiển
Board mở rộng CNC Shield V3 Tương thích firmware GRBL, hỗ trợ 4 trục, thiết lập vi bước qua jumper Phân phối tín hiệu điều khiển và kết nối công tắc hành trình
Driver MKS Servo42C Chip STM32 tích hợp driver TMC2209, FOC, PID Incremental, encoder từ tính 14-bit, chia bước 1-256 microstepping Điều khiển vòng kín động cơ bước, chống hiện tượng mất bước
Động cơ bước 127K38200 Động cơ bước 2 pha, dòng pha 1.7A, điện trở 1.5 $\Omega$, mô-men xoắn 43 Ncm, khối lượng 400g Dẫn động các khớp quay của cánh tay robot
Cơ cấu hút chân không Bơm màng 12VDC Pyp-370, áp lực chân không $> -58$ kPa, lưu lượng khí $> 2$ L/phút, độ ồn $< 50$ dB Tạo lực hút giữ và thả sản phẩm tại khâu tác động cuối (end-effector)
Hệ thống băng tải mini Động cơ giảm tốc LS220 (12VDC, 30 rpm, tải hộp số kim loại) kết hợp mạch điều tốc PWM DC 2.5A (5-35VDC) Vận chuyển sản phẩm liên tục qua vùng quan sát của camera
Webcam thu hình Logitech C310, độ phân giải 720p/30fps, cảm biến 1.2 MP, kết nối USB Type-A, tiêu cự cố định Thu nhận dữ liệu video thời gian thực vùng làm việc
Phần mềm và Cơ sở dữ liệu Python, thư viện OpenCV, thư viện PyQt5, MySQL Server kết hợp MySQL Workbench Xử lý ảnh, xây dựng GUI điều khiển và lưu trữ số liệu sản phẩm

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

Chương 1: Tổng quan

Chương 1 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 hàng hóa trong công nghiệp bằng sự kết hợp giữa cánh tay robot và thị giác máy tính. Tác giả khảo sát các dòng robot công nghiệp phổ biến trên thế giới (ABB, Yaskawa, FANUC), phân tích thực trạng nghiên cứu trong nước và xác định phạm vi đề tài: xây dựng mô hình cánh tay robot 3 bậc tự do kết hợp camera theo dõi vật thể chuyển động trên băng tải để phân loại theo màu sắc hoặc mã QR. Chương này cũng phân định rõ giới hạn nghiên cứu về tốc độ băng tải, mật độ vật thể và ảnh hưởng của cường độ sáng.

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

Chương 2 tập trung giải quyết nền tảng toán học và thuật toán cho toàn bộ hệ thống:

  • Trình bày khái niệm cơ bản về tay máy, định nghĩa 5 hệ trục tọa độ liên quan (Base, World, Tool, Work Object, User).
  • Thiết lập bảng thông số Denavit - Hartenberg (D-H) cho cánh tay robot cấu hình Magician với 5 khâu liên kết.
  • Xây dựng hệ phương trình động học thuận từ các ma trận chuyển đổi thuần nhất $^0_1T, ^1_2T, ^2_3T, ^3_4T, ^4_5T$, xác định tọa độ vị trí điểm đầu cuối $(P_x, P_y, P_z)$ theo các góc quay $\theta_1, \theta_2, \theta_3$.
  • Giải bài toán động học ngược bằng phương pháp đại số, tìm ra các phương trình xác định góc khớp $\theta_1 = \text{atan2}(P_y, P_x)$, $\theta_3$ và $\theta_2$. Do đặc thù cơ khí của cơ cấu tay máy Magician, thuật toán chọn bộ nghiệm có góc $\theta_3$ mang giá trị âm để đảm bảo robot không bị xung đột giới hạn vật lý.
  • Trình bày nguyên lý thị giác máy tính: kỹ thuật trừ khung hình nền, không gian màu HSV để nhận dạng 3 màu cơ bản (đỏ, vàng, xanh), kỹ thuật phân ngưỡng nhị phân, các phép toán hình thái học (erosion, dilation) và cấu trúc ma trận của mã phản hồi nhanh (QR code).

Chương 3: Tính toán và thiết kế

Chương 3 chi tiết hóa việc lựa chọn phần cứng và thiết kế sơ đồ nguyên lý toàn hệ thống:

  • Xác định kích thước hình học các khâu robot gia công bằng công nghệ in 3D ($d_1 = 129$ mm, $a_2 = 140$ mm, $a_3 = 140$ mm, $a_4 = 40$ mm, $a_5 = 50$ mm).
  • Tính toán lựa chọn các thiết bị phần cứng gồm: vi điều khiển Arduino UNO R3, board CNC Shield V3, mạch điều khiển động cơ bước MKS Servo42C hỗ trợ thuật toán FOC vòng kín, 3 động cơ bước 127K38200 (mô-men xoắn 43 Ncm), nguồn tổ ong 12V-10A (150W), công tắc hành trình KW11-3Z làm cảm biến gốc tọa độ, webcam Logitech C310, bơm chân không Pyp-370 kết hợp giác hút khí nén, động cơ giảm tốc LS220 (30 rpm) kéo băng tải, mạch 2 relay cách ly quang opto và mạch điều tốc mini PWM DC 2.5A.

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

Chương 4 mô tả quá trình lắp ráp cơ khí, kết nối mạch điện và lập trình phần mềm:

  • Đấu nối phần cứng giữa Arduino UNO R3 với CNC Shield V3, driver MKS Servo42C, module relay điều khiển bơm hút và động cơ băng tải.
  • Lập trình firmware điều khiển chuyển động trên vi điều khiển Arduino và chương trình xử lý trung tâm trên máy tính bằng ngôn ngữ Python.
  • Ứng dụng OpenCV xây dựng lưu đồ thuật toán xử lý ảnh: tách vùng quan tâm (ROI), trừ nền, chuyển đổi HSV, lọc nhiễu nhị phân bằng phép toán co giãn hình thái, tìm contours, xác định tọa độ tâm vật thể $(x_{pixel}, y_{pixel})$, chuyển đổi sang tọa độ thế giới thực của robot $(X, Y, Z)$ và giải mã chuỗi dữ liệu mã QR.
  • Lập trình giao diện người dùng bằng PyQt5 gồm hai màn hình Manual (điều khiển từng khớp, hút/nhả thử nghiệm) và Auto (giám sát camera thời gian thực, lựa chọn chế độ phân loại theo màu sắc hoặc mã QR, thống kê số lượng).
  • Kết nối phần mềm với hệ quản trị cơ sở dữ liệu MySQL thông qua MySQL Workbench để lưu trữ tự động dữ liệu sản phẩm gồm mã định danh, thời gian và nhóm phân loại.

Chương 5: Kết quả và đánh giá

Chương 5 trình bày kết quả thực nghiệm của hệ thống:

  • Hệ thống cơ khí và cánh tay robot hoạt động ổn định theo đúng các phương trình động học thuận - ngược đã tính toán.
  • Giao diện PyQt5 hiển thị đầy đủ các thông số vận hành, luồng video camera và tương tác dữ liệu hai chiều với MySQL.
  • Đánh giá khả năng phân loại sản phẩm trong hai điều kiện chiếu sáng: điều kiện ánh sáng tiêu chuẩn cho kết quả nhận dạng ổn định; điều kiện ánh sáng kém gây ra hiện tượng nhiễu ảnh và sai lệch tọa độ gắp của robot.

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

Nghiên cứu đạt được các kết quả kỹ thuật cụ thể:

  • Thiết kế, chế tạo hoàn chỉnh mô hình cánh tay robot 3 bậc tự do in 3D hoạt động dựa trên cơ cấu giữ hướng nằm ngang của dòng Magician, kết hợp hệ thống giác hút chân không điều khiển bằng relay.
  • Xây dựng thành công hệ thống điều khiển vòng kín cho động cơ bước thông qua driver MKS Servo42C tích hợp encoder 14-bit và vi xử lý STM32, loại bỏ hiện tượng trượt bước khi robot mang tải và chuyển động liên tục.
  • Triển khai thuật toán xử lý ảnh thời gian thực trên Python và OpenCV, thực hiện đồng thời việc xác định tọa độ động của vật thể trên băng tải và phân loại chính xác theo 2 phương thức: không gian màu HSV và giải mã QR code.
  • Xây dựng hoàn chỉnh phần mềm giám sát giao diện người dùng bằng PyQt5, tích hợp đồng bộ với cơ sở dữ liệu MySQL nhằm tự động hóa quá trình ghi nhận số lượng và phân loại sản phẩm.

Các giải pháp và đóng góp kỹ thuật:

  • Tối ưu hóa chi phí chế tạo bằng giải pháp kết hợp khung in 3D với driver động cơ bước vòng kín MKS Servo42C thay vì sử dụng các hệ thống động cơ servo công nghiệp đắt tiền, nhưng vẫn đảm bảo độ chính xác vị trí góc bước đạt 0.08°.
  • Cung cấp mô hình thực nghiệm hoàn chỉnh kết hợp giữa xử lý ảnh trên máy tính và điều khiển vi xử lý tầng dưới, đóng vai trò tài liệu tham khảo cho các nghiên cứu ứng dụng thị giác máy tính trong hệ thống tự động hóa.

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

Các hạn chế được nhóm tác giả ghi nhận trong báo cáo:

  • Tốc độ gắp sản phẩm bị giới hạn khi băng tải chuyển động nhanh do độ trễ trong quá trình xử lý ảnh và đáp ứng của cơ cấu chấp hành.
  • Hệ thống chưa có giải thuật tách vật thể khi các sản phẩm xuất hiện liên tiếp ở khoảng cách quá gần nhau, dẫn đến việc robot chỉ gắp được vật thể đầu tiên.
  • Khả năng thích ứng với môi trường ánh sáng biến đổi chưa cao do sử dụng webcam Logitech C310 tiêu cự cố định, độ phân giải cơ bản, dễ bị nhiễu màu khi cường độ sáng yếu.

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

  • Tối ưu hóa thuật toán xử lý ảnh nhằm rút ngắn thời gian tính toán và tăng cường khả năng lọc nhiễu môi trường.
  • Nâng cấp phần cứng thu nhận hình ảnh công nghiệp và áp dụng các thuật toán điều khiển thông minh để tăng tốc độ di chuyển và độ chính xác quỹ đạo của robot.

Giá trị tham khảo

Đồ án là tài liệu tham khảo thực tế cho 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 và Công nghệ Thông tin. Các nội dung có giá trị tham khảo chuyên sâu bao gồm:

  • Quy trình giải bài toán động học thuận và ngược hoàn chỉnh cho cấu hình robot Magician 3 bậc tự do bằng ma trận D-H và phương pháp đại số.
  • Giải pháp thiết kế hệ thống điều khiển động cơ bước vòng kín sử dụng driver MKS Servo42C (FOC/PID) giao tiếp qua Arduino và CNC Shield V3.
  • Cấu trúc chương trình xử lý ảnh thời gian thực bằng Python - OpenCV kết hợp truyền thông UART và lưu trữ cơ sở dữ liệu MySQL phục vụ bài toán phân loại sản phẩm trên băng tải.

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

1. Cánh tay robot sử dụng trong đề tài có cấu hình hình học và kích thước các khâu như thế nào?
Robot có cấu hình 3 bậc tự do dựa trên mô hình Magician với cơ cấu đầu tác động luôn song song mặt phẳng ngang, các khâu được in 3D với kích thước: khâu đế $d_1 = 129$ mm, khâu tay dưới $a_2 = 140$ mm, khâu tay trên $a_3 = 140$ mm, khoảng cách bù trục $a_4 = 40$ mm và chiều dài khâu đầu cuối $a_5 = 50$ mm.

2. Giải pháp kỹ thuật nào được sử dụng để khắc phục hiện tượng mất bước của động cơ bước?
Nhóm tác giả sử dụng mạch điều khiển động cơ bước MKS Servo42C gắn trực tiếp sau động cơ. Mạch tích hợp vi điều khiển STM32, driver TMC2209 và encoder từ tính 14-bit, vận hành theo thuật toán điều khiển định hướng từ trường (FOC) và PID gia vi, biến động cơ bước thông thường thành động cơ servo vòng kín với độ phân giải góc 0.08°.

3. Tiêu chí lựa chọn nghiệm trong bài toán động học ngược của robot là gì?
Khi giải bài toán động học ngược bằng phương pháp đại số, hệ phương trình cho ra hai bộ nghiệm góc khớp. Dựa trên kết cấu giới hạn cơ khí thực tế của cánh tay robot mô hình Magician, tác giả lựa chọn bộ nghiệm có góc biến khớp $\theta_3$ mang giá trị âm để đảm bảo các khớp không vượt quá giới hạn chuyển động.

4. Hệ thống thực hiện việc phân loại sản phẩm dựa trên các tiêu chí và thuật toán nào?
Hệ thống phân loại theo 2 tiêu chí độc lập: dựa vào màu sắc cơ bản (đỏ, vàng, xanh) thông qua việc phân ngưỡng trên không gian màu HSV sau khi lọc nhiễu bằng phép toán co/giãn hình thái học; hoặc dựa vào việc trích xuất và giải mã thông tin nhị phân từ mã QR dán trên bề mặt sản phẩm.

5. Cơ cấu chấp hành cuối (End-effector) của robot được cấu tạo và điều khiển như thế nào?
Cơ cấu đầu cuối sử dụng đầu hút chân không kết hợp với bơm màng 12VDC Pyp-370 (áp lực chân không lớn hơn -58 kPa, lưu lượng trên 2 L/phút). Việc bật/tắt bơm hút để gắp và nhả vật được điều khiển thông qua mạch 2 relay có cách ly quang (opto) kết nối với vi điều khiển Arduino.

Kết luận

Đồ án tốt nghiệp của sinh viên Nguyễn Thành Tây và Trần Vũ Quân đã hoàn thành việc thiết kế, chế tạo và thử nghiệm mô hình cánh tay robot 3 bậc tự do phân loại sản phẩm trên băng tải ứng dụng thị giác máy tính. Nghiên cứu đã giải quyết trọn vẹn bài toán động học tay máy, xây dựng hệ thống điều khiển vòng kín cho động cơ bước và triển khai giải thuật nhận dạng theo màu sắc HSV cùng mã QR trên nền tảng OpenCV và Python. Hệ thống được tích hợp đồng bộ với giao diện giám sát PyQt5 và cơ sở dữ liệu MySQL, tạo nên một mô hình tự động hóa hoàn chỉnh có giá trị thực tiễn và tính ứng dụng cao trong công tác nghiên cứu, đào tạo kỹ thuật.