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

Trong các dây chuyền sản xuất và lắp ráp truyền thống, băng tải thường đảm nhiệm vai trò vận chuyển chi tiết, phôi liệu qua các trạm làm việc độc lập. Phương thức vận hành này tồn tại hạn chế lớn khi băng tải bắt buộc phải dừng tại từng vị trí thao tác để cánh tay máy hoặc cơ cấu chấp hành hoàn tất công đoạn, gây tích tụ thời gian chờ (thời gian chết) và kéo dài tổng chu kỳ sản xuất. Nhằm giải quyết điểm nghẽn trên, công nghệ bám theo băng tải (Conveyor Tracking) được nghiên cứu và ứng dụng nhằm đồng bộ hóa chuyển động giữa cơ cấu robot và đối tượng đang di chuyển liên tục trên băng chuyền.

Đồ án tốt nghiệp "Điều khiển cánh tay robot kết hợp kỹ thuật xử lý ảnh phân loại sản phẩm" được thực hiện bởi sinh viên Lưu Văn Hải và Nguyễn Phạm Hữu Trung (Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh, dưới sự hướng dẫn của PGS. Lê Mỹ Hà) tập trung giải quyết bài toán tích hợp hệ thống thị giác máy tính vào việc điều khiển robot công nghiệp Nachi MZ07 nhằm nhận diện, định vị và phân loại sản phẩm theo kích thước ngay trên băng tải đang vận hành.

Nhiệm vụ và mục tiêu nghiên cứu cụ thể của đề tài bao gồm:

  1. Thiết lập hệ thống camera, băng chuyền và cánh tay robot có cự ly phù hợp trong một không gian làm việc xác định.
  2. Sử dụng camera quan sát và xây dựng thuật toán xử lý ảnh nhằm trích xuất vị trí, kích thước và hướng của vật thể theo thời gian thực.
  3. Điều khiển băng tải hoạt động chạy thuận/nghịch thông qua bộ điều khiển lập trình PLC Mitsubishi.
  4. Lập trình điều khiển cánh tay robot công nghiệp Nachi MZ07 thực hiện các tác vụ tiếp cận, gắp, rút lui và phân loại/sắp xếp vật thể chính xác.
  5. Thiết kế giao diện HMI cục bộ và xây dựng Webserver phục vụ theo dõi, giám sát và lưu trữ dữ liệu sản lượng.

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

  • Đối tượng nghiên cứu: Cánh tay robot công nghiệp 6 bậc tự do Nachi MZ07-01, camera 3D Microsoft Xbox Kinect V2, hệ thống điều khiển PLC Mitsubishi Q-Series, giao diện HMI GOT 1000 và các sản phẩm mẫu có kích thước hình học khác nhau.
  • Phạm vi và giới hạn: Hệ thống được triển khai thử nghiệm trong môi trường phòng thí nghiệm (trong nhà); tốc độ robot và băng chuyền được thiết lập ở mức an toàn; xử lý phân loại vật phẩm dạng khối phẳng (hộp giấy, nhựa) dựa trên trích xuất diện tích và hướng góc lệch trên mặt phẳng 2D.

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

Đề tài kết hợp giữa lý thuyết thị giác máy tính (Computer Vision), động học robot công nghiệp 6 bậc tự do và lý thuyết tính toán khí nén chân không.

1. Khung lý thuyết và mô hình toán học

  • Mô hình máy ảnh lỗ kim (Pinhole Camera Model) và biến dạng quang học: Mối quan hệ giữa điểm tọa độ không gian thực $P_w(X, Y, Z)$ và điểm ảnh $p(u, v)$ được mô tả qua phép biến đổi xạ ảnh đồng nhất: $$s \cdot p = A [R \mid t] P_w$$ Trong đó $A$ là ma trận thông số nội (chứa tiêu cự $f_x, f_y$ và quang tâm $c_x, c_y$), $R$ và $t$ là ma trận quay và vector tịnh tiến (thông số ngoại). Mô hình bù trừ các hệ số biến dạng xuyên tâm ($k_1, k_2, k_3$) và biến dạng tiếp tuyến ($p_1, p_2$): $$x_{\text{distorted}} = x(1 + k_1 r^2 + k_2 r^4 + k_3 r^6) + 2p_1 xy + p_2(r^2 + 2x^2)$$ $$y_{\text{distorted}} = y(1 + k_1 r^2 + k_2 r^4 + k_3 r^6) + p_1(r^2 + 2y^2) + 2p_2 xy$$
  • Động học tay máy Nachi MZ07: Thiết lập hệ trục tọa độ 6 khớp xoay theo quy tắc Denavit-Hartenberg (D-H) để giải bài toán động học thuận và động học nghịch:
Khớp $i$ $\alpha_i$ ($\text{deg}$) $a_i$ ($\text{mm}$) $d_i$ ($\text{mm}$) $\theta_i$ ($\text{deg}$)
1 $90^\circ$ 50 345 $\theta_1$
2 $0^\circ$ 330 0 $\theta_2$
3 $90^\circ$ 45 0 $\theta_3$
4 $-90^\circ$ 0 340 $\theta_4$
5 $90^\circ$ 0 0 $\theta_5$
6 $0^\circ$ 0 73 $\theta_6$

Tọa độ vị trí khâu chấp hành cuối $P_{EE}$ được biểu diễn qua tích các ma trận chuyển đổi thuần nhất $T_6^0 = T_1^0 T_2^1 T_3^2 T_4^3 T_5^4 T_6^5$. Bài toán động học nghịch được giải tích bằng phương pháp hình học và ma trận Euler (Roll, Pitch, Yaw) trên công cụ MATLAB để xác định tường minh các góc $\theta_1 \dots \theta_6$ qua hàm $\arctan2$.

  • Nguyên lý hút chân không (Hiệu ứng Venturi): Lực nâng lý thuyết theo phương đứng được tính toán dựa trên khối lượng vật $m$, gia tốc nâng $a = 1\text{ m/s}^2$, gia tốc trọng trường $g = 9{,}87\text{ m/s}^2$ và hệ số an toàn $s = 2$: $$F_{TH} = m \cdot (g + a) \cdot s = 0{,}522\text{ N}$$

2. Phương pháp nghiên cứu và xử lý thực nghiệm

  • Phương pháp thu nhận và hiệu chuẩn ảnh: Camera được gắn cố định phía trên băng tải để tối ưu vùng nhìn (FOV) và tốc độ lấy mẫu. Hiệu chỉnh phối cảnh (Perspective-n-Point - solvePnP) sử dụng mẫu tiêu chuẩn 9 điểm tròn phân bố đều để xác định tỷ lệ chuyển đổi từ pixel sang milimet thực tế.
  • Thuật toán xử lý ảnh 2D: Sử dụng Python và thư viện OpenCV. Luồng xử lý gồm: chọn vùng quan tâm (ROI), làm mịn ảnh qua bộ lọc GaussianBlur(5, 5), tính toán ảnh chênh lệch bằng phép trừ khung hình liên tiếp absdiff(), phân ngưỡng nhị phân tự động theo phương pháp Otsu, trích xuất biên dạng bằng findContours. Góc xoay $\theta$ (yaw, trong khoảng $[0^\circ, 90^\circ]$) được xác định dựa trên cạnh liên kết giữa các điểm biên cực trị.
  • Phần mềm và môi trường thực nghiệm: Anaconda, Python, OpenCV, Kinect for Windows SDK v2 (thư viện pykinect2), GT Designer 3, Visual Studio Code, ASP.NET và SQL Server.

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 phần cứng công nghiệp và các khối phần mềm tính toán.

+-------------------------------------------------------------------------+
|                              KIẾN TRÚC HỆ THỐNG                        |
|                                                                         |
|   +-------------------+        Socket TCP/IP       +----------------+   |
|   |  Máy tính xử lý   |<-------------------------->| Bộ điều khiển  |   |
|   |  (Python/OpenCV)  |                            | CFD (Nachi)    |   |
|   +---------+---------+                            +--------+-------+   |
|             |                                               |           |
|             | USB / SDK                                     | Cáp I/O   |
|             v                                               v           |
|      +---------------+       Truyền thông I/O      +----------------+   |
|      | Camera Kinect |       & Trạng thái          | PLC Mitsubishi |   |
|      |      V2       |                             |   Q00UJCPU     |   |
|      +---------------+                             +--------+-------+   |
|                                                             |           |
|                                          +------------------+           |
|                                          |                              |
|                                          v                              v
|                                   +--------------+              +--------------+
|                                   |  Động cơ và  |              |   HMI GOT    |
|                                   |   Băng tải   |              |     1000     |
|                                   +--------------+              +--------------+
+-------------------------------------------------------------------------+

1. Thành phần phần cứng và thiết bị chính

Thiết bị Model / Thông số kỹ thuật Vai trò trong hệ thống
Cánh tay Robot Nachi MZ07-01 (6 bậc tự do, tải trọng 7 kg, bán kính với 723 mm) Di chuyển gắp và đặt sản phẩm
Bộ điều khiển Robot Nachi CFD Controller Điều khiển chuyển động các khớp, giải mã vị trí TCP
Bộ điều khiển PLC Mitsubishi Q00UJCPU Điều khiển logic chạy/dừng băng tải, cấp tín hiệu I/O
Màn hình giao diện Mitsubishi HMI GOT 1000 Vận hành tại chỗ, hiển thị trạng thái và cảnh báo
Cảm biến hình ảnh Microsoft Xbox Kinect V2 Thu nhận ảnh màu và dữ liệu vật thể trên băng chuyền
Động cơ băng tải OM USM315-402W2 (230 V) + Speed Controller MSP-2W Dẫn động băng tải vận chuyển sản phẩm
Cơ cấu gắp Núm hút Festo VASB-30-1/8-SI-B / DP-S25 ($d=25\text{ mm}$), van Venturi Tạo áp suất chân không ($-0{,}7\text{ bar}$) gắp giữ vật

2. Tích hợp điều khiển và truyền thông

  • Giao tiếp Socket TCP/IP: Máy tính xử lý hình ảnh đóng vai trò Client/Server truyền trực tiếp vector tọa độ $(X, Y, Z)$ và góc lệch $\theta$ (yaw) đến bộ điều khiển Nachi CFD để cập nhật vị trí điểm làm việc của đầu hút (Tool Center Point - TCP).
  • Kết nối I/O số (Digital I/O): Ngõ ra/ngõ vào số giữa PLC Q00UJCPU và bộ điều khiển CFD đồng bộ chu trình vận hành tự động (External Playback mode), đảm bảo robot chỉ thực hiện gắp khi vật thể đi vào vùng làm việc an toàn.
  • Hệ thống giám sát phân tán: Số lượng sản phẩm sau phân loại được đồng bộ từ chương trình xử lý vào cơ sở dữ liệu SQL Server và hiển thị trực quan thông qua giao diện Webserver xây dựng trên nền tảng ASP.NET.

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

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

Chương này đặt vấn đề về sự cần thiết của công nghệ Conveyor Tracking trong tự động hóa sản xuất hiện đại nhằm loại bỏ thời gian dừng của băng chuyền. Nhóm tác giả khảo sát các công trình liên quan:

  • Hệ thống công nghiệp Gilbreth (Mỹ) sử dụng robot UR10 kết hợp Kinect 3D; phân tích thấy nghiên cứu này mới chỉ dừng lại ở chính sách gắp vật tại vị trí tĩnh (static pick) và góc lệch yaw ở $180^\circ$ không thay đổi.
  • Đề tài trong nước về cánh tay robot 5 bậc điều khiển qua Arduino kết hợp camera Logitech C270; chỉ ra nhược điểm về tốc độ đáp ứng chậm, chưa tối ưu cho các tác vụ thời gian thực tính bằng giây. Từ đó, xác định mục tiêu và phạm vi nghiên cứu của đề tài.

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

Trình bày chi tiết toán học hình học biến đổi phối cảnh, ma trận nội/ngoại máy ảnh, phương pháp bù méo thấu kính và giải thuật hiệu chuẩn solvePnP 9 điểm. Phân tích động học thuận và nghịch của robot Nachi MZ07 bằng bảng thông số D-H và nghiệm giải tích Euler. Nội dung chương cũng tính toán cụ thể lực hút chân không (lực nâng lý thuyết $F_{TH} = 0{,}522\text{ N}$, áp suất làm việc $-0{,}7\text{ bar}$ cho lực giữ thực tế $F_{TT} = 34\text{ N}$) cùng độ bền mối ghép ren 4 bu lông M5 trên mặt bích khâu 6 với chiều dài gá tool $180\text{ mm}$, tải trọng gá lắp $3\text{ kg}$ (nằm trong giới hạn cho phép $250\text{ mm}$/ $5\text{ kg}$).

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

Xây dựng yêu cầu công nghệ và thiết kế sơ đồ khối toàn hệ thống. Lựa chọn chi tiết các phần tử phần cứng: robot Nachi MZ07-01, bộ điều khiển CFD, PLC Mitsubishi Q00UJCPU, camera Kinect V2, biến tốc MSP-2W, động cơ OM 230V và cơ cấu giác hút khí nén. Thiết lập sơ đồ đấu nối nguồn, mạch ghép nối I/O giữa ngõ ra PLC với ngõ vào bộ điều khiển robot và ngược lại.

Chương 4: Thuật toán điều khiển

Trình bày các giải thuật cốt lõi:

  1. Thuật toán điều khiển logic trên PLC Mitsubishi và giao diện vận hành HMI GOT 1000 (thiết kế bằng GT Designer 3).
  2. Thuật toán xử lý ảnh 2D trên Python: kỹ thuật trừ nền vi sai absdiff(), phân ngưỡng nhị phân Otsu, lọc Gaussian 5x5, xác định đường biên bao ngoài và trích xuất góc lệch yaw $[0^\circ, 90^\circ]$.
  3. Giao thức truyền thông Socket TCP/IP giữa PC và robot CFD.
  4. Xây dựng dịch vụ Webserver trên nền ASP.NET liên kết hệ quản trị cơ sở dữ liệu SQL Server để lưu trữ và truy vấn sản lượng.

Chương 5: Ứng dụng và đánh giá kết quả thực nghiệm

Mô tả nguyên lý bố trí thiết bị thực tế, quy trình sắp xếp vật thể lên pallet/thùng chứa theo kích thước phân loại. Đánh giá sai số hiệu chỉnh camera, sai số góc lệch tính toán so với thực tế, đo lường chu kỳ gắp đặt 4 trạng thái (tiếp cận, nhặt, rút lui, đặt vật) và khảo sát hiệu suất gắp phôi khi băng tải chuyển động.

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

Tổng kết các hạng mục đã hoàn thành theo mục tiêu đặt ra, đánh giá mức độ ổn định của hệ thống và đề xuất các giải pháp nâng cấp phần cứng, thuật toán trong tương lai.


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

1. Kết quả kỹ thuật đạt được

  • Tích hợp đồng bộ hệ thống: Xây dựng hoàn chỉnh mô hình phần cứng gồm cánh tay robot Nachi MZ07, PLC Mitsubishi Q-Series, camera Kinect V2 và băng tải công nghiệp, vận hành ổn định qua chế độ chạy tự động bên ngoài (External Playback).
  • Thuật toán xử lý ảnh thời gian thực: Ứng dụng thành công phương pháp trừ ảnh vi sai (absdiff) kết hợp phân ngưỡng Otsu, cho phép trích xuất nhanh tâm vật thể $(u, v)$, diện tích bề mặt (tính bằng pixel chuyển đổi sang $\text{cm}^2$) và góc lệch xoay $\theta$ trong phạm vi $[0^\circ, 90^\circ]$ mà không bị trễ chu kỳ.
  • Đồng bộ chu kỳ gắp - đặt: Thời gian nhận diện và tính toán của thuật toán thị giác tương thích với chu kỳ chuyển động 4 tư thế của robot (tiếp cận $\rightarrow$ nhặt $\rightarrow$ rút lui $\rightarrow$ đặt vật), đảm bảo phân loại sản phẩm chính xác theo các nhóm kích thước định trước.
  • Giám sát dữ liệu tập trung: Thiết lập thành công hệ thống giám sát hai cấp: cấp vận hành tại chỗ qua HMI GOT 1000 và cấp quản lý từ xa qua Webserver ASP.NET kết nối SQL Server.

2. Đóng góp so với các công trình trước

So với nghiên cứu Gilbreth vốn chỉ dừng ở thuật toán gắp tĩnh và nghiên cứu robot 5 bậc trong nước có tốc độ xử lý chậm, đề tài này đã:

  • Triển khai thành công giải thuật gắp vật thể linh hoạt với góc quay yaw thích ứng trên robot công nghiệp 6 bậc tự do thực tế.
  • Khắc phục nhược điểm về thời gian trễ tính toán bằng việc tối ưu hóa vùng xử lý ROI và phép trừ ảnh vi sai, đáp ứng yêu cầu phân loại thời gian thực.
  • Hoàn thiện chu trình khép kín từ khâu nhận diện, điều khiển chấp hành đến lưu trữ dữ liệu số hóa trên Webserver.

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

1. Hạn chế của đề tài

  • Hệ thống chỉ mới thực nghiệm trong môi trường phòng thí nghiệm với dải tốc độ băng chuyền và robot ở mức vừa phải.
  • Cảm biến Kinect V2 hoạt động đôi lúc chưa ổn định, dễ phát sinh nhiễu quang học khi điều kiện ánh sáng môi trường thay đổi, làm giới hạn khả năng tăng tốc độ vận hành công nghiệp.
  • Giải thuật tính góc xoay yaw hiện tại mới giới hạn trong khoảng $[0^\circ, 90^\circ]$.

2. Hướng phát triển

  • Tối ưu hóa thuật toán xử lý ảnh nhằm triệt tiêu hiện tượng nhiễu xạ ánh sáng môi trường và mở rộng dải nhận diện góc xoay lên toàn khung $[0^\circ, 360^\circ]$.
  • Tối ưu hóa quỹ đạo chuyển động nội suy của robot Nachi MZ07 để rút ngắn thời gian chu kỳ tác vụ gắp - đặt.
  • Nâng cấp phần cứng camera công nghiệp chuyên dụng thay thế Kinect V2 để nâng cao độ ổn định và tăng tốc độ xử lý trong môi trường sản xuất thực tế.

Giá trị tham khảo

Tài liệu đồ án là nguồn tham khảo hữu ích cho sinh viên, giảng viên và kỹ sư thuộc các chuyên ngành:

  • Công nghệ Kỹ thuật Điều khiển và Tự động hóa: Tham khảo phương pháp lập trình PLC Mitsubishi Q-Series điều khiển đồng bộ robot công nghiệp qua ngõ I/O số, thiết kế giao diện HMI bằng GT Designer 3 và xây dựng Webserver giám sát.
  • Kỹ thuật Robot và Cơ điện tử: Tham khảo quy trình giải bài toán động học thuận/nghịch theo bảng D-H trên robot 6 bậc Nachi MZ07, phương pháp hiệu chuẩn tâm điểm công cụ (TCP) trên Teach Pendant và tính toán thiết kế cơ cấu giác hút chân không Venturi.
  • Kỹ thuật Thị giác máy tính: Tham khảo quy trình hiệu chuẩn camera solvePnP 9 điểm, thuật toán trừ ảnh vi sai và phân ngưỡng Otsu thời gian thực bằng Python/OpenCV kết nối truyền dữ liệu qua Socket TCP/IP.

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

1. Tại sao nhóm tác giả lựa chọn phương án gắn camera cố định thay vì gắn trên tay máy?

Trong Chương 2, nhóm tác giả phân tích hai phương án gá đặt. Gắn camera trên khâu chấp hành cuối (eye-in-hand) giúp quan sát chi tiết gần hơn và không cần calib lại khi dịch chuyển robot, nhưng làm tăng tải trọng đầu công cụ, giảm tốc độ chuyển động và không phù hợp với các ứng dụng đòi hỏi hiệu suất cao. Nhóm chọn phương án gắn cố định phía trên băng tải vì mang lại tầm quan sát rộng (FOV lớn), tốc độ xử lý nhanh và chỉ cần thực hiện hiệu chỉnh tọa độ phối cảnh một lần duy nhất.

2. Bảng thông số Denavit-Hartenberg (D-H) của robot Nachi MZ07 được xác lập như thế nào?

Theo tính toán hình học tay máy 6 bậc tự do Nachi MZ07 trong đồ án, bảng thông số D-H gồm:

  • Khớp 1: $\alpha_1 = 90^\circ, a_1 = 50\text{ mm}, d_1 = 345\text{ mm}$
  • Khớp 2: $\alpha_2 = 0^\circ, a_2 = 330\text{ mm}, d_2 = 0\text{ mm}$
  • Khớp 3: $\alpha_3 = 90^\circ, a_3 = 45\text{ mm}, d_3 = 0\text{ mm}$
  • Khớp 4: $\alpha_4 = -90^\circ, a_4 = 0\text{ mm}, d_4 = 340\text{ mm}$
  • Khớp 5: $\alpha_5 = 90^\circ, a_5 = 0\text{ mm}, d_5 = 0\text{ mm}$
  • Khớp 6: $\alpha_6 = 0^\circ, a_6 = 0\text{ mm}, d_6 = 73\text{ mm}$

3. Thuật toán xử lý ảnh tính toán góc xoay (yaw) của sản phẩm như thế nào?

Sau khi trích xuất đường viền đối tượng bằng hàm findContours, hệ thống xác định 4 đỉnh của hình chữ nhật tối thiểu bao quanh vật thể. Điểm đầu tiên (số 0) là điểm có tọa độ điểm ảnh thấp nhất, các điểm tiếp theo được đánh số theo chiều kim đồng hồ ($1, 2, 3$). Góc lệch $\theta$ (yaw) được xác định là góc hợp bởi đoạn thẳng nối cạnh $0-3$ với trục ngang của hệ tọa độ ảnh, có giá trị nằm trong khoảng $[0^\circ, 90^\circ]$.

4. Cơ cấu giác hút chân không và đồ gá đầu tool được tính toán dựa trên các thông số nào?

Đầu hút sử dụng núm hút Festo VASB-30-1/8-SI-B / DP-S25 ($d=25\text{ mm}$) hoạt động ở áp suất $-0{,}7\text{ bar}$ với lực giữ định mức $F_{TT} = 34\text{ N}$, vượt trội so với lực nâng lý thuyết yêu cầu $F_{TH} = 0{,}522\text{ N}$ (tính với vật nặng $0{,}5\text{ kg}$, $a = 1\text{ m/s}^2$, $s = 2$). Mặt bích khớp 6 liên kết qua 4 bu lông M5 với chiều dài đồ gá $180\text{ mm}$ và tổng khối lượng đầu công cụ khoảng $3\text{ kg}$, thỏa mãn giới hạn an toàn cho phép của nhà sản xuất Nachi ($250\text{ mm}$ và $5\text{ kg}$).

5. Dữ liệu tọa độ từ máy tính được chuyển tới bộ điều khiển robot Nachi qua phương thức nào?

Chương trình Python trên máy tính trích xuất tọa độ tâm $(u, v)$ và góc xoay $\theta$, chuyển đổi sang hệ tọa độ thực qua ma trận hiệu chỉnh, sau đó gửi trực tiếp đến bộ điều khiển Nachi CFD thông qua kết nối truyền thông Socket TCP/IP. Song song đó, PLC Mitsubishi đóng vai trò điều phối logic và cấp tín hiệu chạy/dừng thông qua các cổng Digital I/O kết nối với bộ điều khiển CFD.


Kết luận

Đồ án tốt nghiệp của sinh viên Lưu Văn Hải và Nguyễn Phạm Hữu Trung đã thiết kế và chế tạo thành công hệ thống phân loại sản phẩm tự động kết hợp giữa cánh tay robot công nghiệp 6 bậc Nachi MZ07, thị giác máy tính OpenCV và bộ điều khiển PLC Mitsubishi. Bằng việc tối ưu giải thuật trừ ảnh vi sai và tính toán động học giải tích chính xác, hệ thống đạt khả năng nhận diện vị trí, hướng xoay và kích thước vật thể theo thời gian thực để thực hiện gắp đặt phân loại liên tục trên băng tải. Công trình đã hoàn thành đầy đủ các mục tiêu đề ra từ thiết kế cơ - điện, thuật toán điều khiển đến xây dựng giao diện HMI cục bộ và Webserver giám sát sản lượng qua mạng.