Giới thiệu dự án
Trong kỷ nguyên Công nghiệp 4.0, các dây chuyền sản xuất tự động đòi hỏi tính linh hoạt cao, chu kỳ phân loại sản phẩm nhanh và sai số vận hành cực thấp. Theo thống kê từ Hiệp hội Robot Quốc tế (IFR), các hệ thống phân loại và đóng gói tự động hóa sử dụng robot tốc độ cao giúp tăng năng suất dây chuyền lên từ 35% đến 60% so với thao tác thủ công. Tuy nhiên, các hệ thống tay máy nối tiếp truyền thống (Serial Manipulators) thường gặp rào cản về khối lượng chuyển động lớn và quán tính cao, làm giới hạn gia tốc và tốc độ chu kỳ gắp - đặt (pick-and-place).
Đề tài "Phân loại sản phẩm ứng dụng robot" được thực hiện nhằm giải quyết bài toán phân loại và định hướng sản phẩm tự động trên băng chuyền. Hệ thống tích hợp cơ cấu Robot song song Delta (Delta Parallel Robot) 3 bậc tự do (3-DOF) kết hợp khớp xoay cổ tay (1-DOF Rotary Wrist), thị giác máy tính xử lý ảnh (Computer Vision) và kiến trúc điều khiển công nghiệp đa tầng.
KIẾN TRÚC TỔNG THỂ HỆ THỐNG PHÂN LOẠI
+-----------------------------------------------------------------------+
| PC CONTROL & VISION (C# .NET) |
| - Thư viện Emgu CV (Không gian màu HSV, Moments, FindContours) |
| - Giải thuật Động học Thuận/Nghịch Delta (Kinematics Solver) |
+-------------------+-------------------------------+-------------------+
| (Ethernet TCP/IP) | (USB Serial)
v v
+-----------------------------------+ +-------------------------------+
| PLC MITSUBISHI FX5UJ-24MT | | ARDUINO UNO R3 |
| - Điều khiển vị trí 3 trục Servo | | - Điều khiển Driver TB6600 |
| - Đọc tín hiệu cảm biến, LS | | - Điều khiển Động cơ bước |
+-----------------+-----------------+ | - Đóng/ngắt Giác hút chân |
| | không (Relay/L298) |
v +---------------+---------------+
+-----------------------------------+ |
| 3x DRIVER MR-J2S-10A + HC-MFS13 | |
| - Dẫn động 3 cánh tay đòn Delta | |
+-----------------+-----------------+ |
| |
+----------------> [ END-EFFECTOR ] <-+
(Bệ di động + Khớp xoay + Giác hút)
Vấn đề thực tiễn và bài toán kỹ thuật
- Hạn chế của phân loại cơ học truyền thống: Chỉ nhận biết sự hiện diện qua cảm biến quang/tiệm cận, không thể phân biệt sắc thái màu sắc phức tạp hoặc xác định góc xoay lệch của sản phẩm trên băng tải.
- Hạn chế về tốc độ của tay máy nối tiếp: Động cơ gắn trực tiếp trên từng khớp làm tăng tải trọng động, dẫn đến thời gian chu kỳ (cycle time) thường vượt quá 2.5 giây/sản phẩm.
- Yêu cầu định hướng sản phẩm: Sản phẩm trên băng chuyền ngẫu nhiên thường bị xoay một góc $\theta \in [-90^\circ, 90^\circ]$. Nếu không có cơ cấu hiệu chỉnh góc xoay, khâu đóng gói tự động tiếp theo sẽ xảy ra lỗi kẹt phôi.
Mục tiêu nghiên cứu cụ thể
- Thiết kế và gia công cơ khí: Chế tạo mô hình Robot Delta 3-DOF với khung nhôm định hình $30\times 30\text{ mm}$, đế nhôm tấm 6mm, thanh giằng carbon dài 300mm và tích hợp khớp xoay định hướng ở bệ di động.
- Xây dựng mô hình toán học động học: Giải bài toán Động học thuận (Forward Kinematics) và Động học nghịch (Inverse Kinematics) với thời gian tính toán $< 5\text{ ms}$.
- Phát triển thuật toán xử lý ảnh: Sử dụng thư viện Emgu CV trên nền C# để nhận diện 3 màu sắc chuẩn (Đỏ, Xanh lục, Vàng), trích xuất tọa độ tâm $(C_x, C_y)$ và góc lệch $\theta_{rot}$ trong môi trường không gian màu HSV.
- Tích hợp hệ thống điều khiển công nghiệp: Đồng bộ PLC Mitsubishi FX5UJ với 3 động cơ AC Servo Mitsubishi HC-MFS13 qua truyền thông Ethernet (thư viện MX Component) và vi điều khiển Arduino.
- Đánh giá kiểm chứng: Đạt độ chính xác phân loại $\ge 98%$, sai số góc xoay $\le \pm 2.5^\circ$, chu kỳ gắp - đặt $\le 1.2\text{ s/sản phẩm}$.
Phạm vi và giới hạn
- Đối tượng phân loại: Phôi hình khối chữ nhật/hình vuông kích thước $30\times 30\times 30\text{ mm}$ đến $50\times 50\times 50\text{ mm}$, tải trọng tối đa $500\text{ g}$.
- Vận tốc băng tải: Tối đa $0.15\text{ m/s}$, chiều dài băng tải thử nghiệm 500mm.
- Môi trường ánh sáng: Cố định cường độ sáng 400 - 600 lux để tối ưu hóa ngưỡng lọc HSV.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Tiêu chí |
Robot tọa độ Đề-các (Cartesian) |
Robot SCARA |
Robot song song Delta (Đề tài) |
| Cấu trúc động học |
Chuỗi động hở, 3 trục trượt XYZ |
Chuỗi động hỗn hợp, 2 khớp quay + 1 trục trượt |
Chuỗi động song song vòng kín, 3 nhánh hình bình hành |
| Vị trí động cơ |
Gắn trên các trục di trượt |
Gắn trên thân và cánh tay |
Gắn cố định trên khung đế tĩnh |
| Tải trọng tĩnh/động |
Lớn (động cơ phải mang tải động cơ khác) |
Trung bình |
Rất nhỏ (chỉ tải trọng lượng thanh carbon và end-effector) |
| Gia tốc tối đa |
$0.5\text{ - }1.0\text{ G}$ |
$1.5\text{ - }2.5\text{ G}$ |
$> 5.0\text{ G}$ |
| Độ cứng vững |
Trung bình, dễ rung ở hành trình dài |
Cao theo phương thẳng đứng |
Rất cao do kết cấu phân bổ lực nén/kéo đồng đều |
| Chi phí chế tạo |
Thấp |
Trung bình - Cao |
Tối ưu khi tự chủ thiết kế và gia công |
Ma trận ưu tiên yêu cầu kỹ thuật (MoSCoW)
- Must have (Bắt buộc): Giải thuật động học nghịch thời gian thực; Nhận diện chính xác 3 hệ màu (Red, Green, Yellow) bằng Emgu CV; Giao tiếp Ethernet C# - PLC FX5UJ qua MX Component; Cơ cấu giác hút chân không giữ phôi chắc chắn.
- Should have (Nên có): Tự động bù góc xoay phôi thông qua động cơ bước trên bệ di động; Giao diện điều khiển GUI trực quan (chế độ Manual/Auto, hiển thị Frame xử lý ảnh trực tiếp).
- Could have (Có thể mở rộng): Tự động điều chỉnh vận tốc băng tải dựa trên mật độ phôi; Đếm số lượng sản phẩm theo từng nhóm màu.
- Won't have (Chưa thực hiện): Bắt phôi động liên tục khi băng tải đang chạy tốc độ cao (Conveyor Tracking với Encoder đồng bộ pha); Nhận diện phôi xếp chồng 3D.
Thiết kế hệ thống
+-----------------------------------------------------------------------------+
| SƠ ĐỒ TRUYỀN NHẬN DỮ LIỆU |
| |
| [Webcam Xiaovv HD] --(USB)--> [C# GUI Vision System] |
| | |
| +--------------------------+--------------------------+ |
| | (Ethernet / MX Component) | (Serial)|
| v v |
| [PLC Mitsubishi FX5UJ] [Arduino Uno R3] |
| |-- (Y000/Y004/Y010: Pulse) |-- (PWM/Dir) |
| +--> [3x MR-J2S-10A Driver] +--> [TB6600] |
| +--> [3x AC Servo HC-MFS13] | |
| +--> [Khâu chủ động Delta] +--> [Step]|
| | | |
| +=======> [ END-EFFECTOR ] <========+ |
| - Xoay góc bù $\theta_{rot}$ |
| - Hút phôi (Micro Air 24V) |
+-----------------------------------------------------------------------------+
Technology Stack và Phần cứng chi tiết
- Phần mềm & Thư viện:
- Microsoft Visual Studio (C# .NET Framework 4.7.2, Windows Forms Designer)
- Thư viện xử lý ảnh: Emgu CV v4.5.3 (Wrapper của OpenCV)
- Phần mềm lập trình PLC: GX Works3 v1.080
- Giao tiếp công nghiệp: Mitsubishi MX Component v4.16 (ActiveX Control
ActUtlType)
- Firmware điều khiển ngoại vi: Arduino IDE v1.8.19 (C/C++)
- Phần cứng chính:
- Bộ điều khiển logic: PLC Mitsubishi FX5UJ-24MT/ES (Ngõ ra Transistor phát xung tốc độ cao)
- Hệ thống chấp hành chính: 3 bộ AC Servo Mitsubishi HC-MFS13 ($100\text{ W}$, tốc độ định mức $3000\text{ rpm}$, tích hợp Encoder 131,072 ppr) + Driver MR-J2S-10A
- Bộ truyền động: Hộp số giảm tốc kết hợp dây đai răng chống trượt
- Bệ định hướng: Động cơ bước NEMA 17 + Driver vi bước TB6600
- Cơ cấu gắp: Bơm hút chân không Micro Air 24VDC + Giác hút cao su silicone + Van xả áp
- Thu nhận hình ảnh: Webcam Xiaovv HD USB ($1920\times 1080\text{ px}$, $30\text{ fps}$)
Methodology
Quy trình phát triển hệ thống áp dụng mô hình lai V-Model kết hợp Agile:
- Giai đoạn 1 (Tuần 1-6): Nghiên cứu lý thuyết động học song song, khảo sát không gian màu HSV và tính toán cơ sở cơ học.
- Giai đoạn 2 (Tuần 7-12): Thiết kế mô hình 3D trên SolidWorks, gia công CNC chi tiết nhôm, lắp ráp khung và cánh tay carbon.
- Giai đoạn 3 (Tuần 13-18): Lập trình module xử lý ảnh trên Emgu CV, giải thuật động học nghịch C#, thiết lập truyền thông PLC qua MX Component.
- Giai đoạn 4 (Tuần 19-26): Tích hợp phần cứng - phần mềm, cân chỉnh hệ tọa độ Camera-Robot (Hand-Eye Calibration), kiểm thử và tối ưu hóa hệ số PID/vận tốc.
Ma trận đánh giá rủi ro kỹ thuật
| Rủi ro kỹ thuật |
Mức độ |
Biện pháp giảm thiểu |
| Nhiễu truyền thông Ethernet làm trễ chu kỳ |
Cao |
Sử dụng cấu trúc địa chỉ IP tĩnh, tối ưu chu kỳ polling plc.GetDevice() xuống 10ms, đặt Timeout 6000ms. |
| Sai số góc do trượt đai răng khi đảo chiều |
Trung bình |
Tích hợp cơ cấu tăng đai chủ động, cài đặt thời gian tăng/giảm tốc mềm (S-curve acceleration) trên Driver Servo. |
| Biến thiên ánh sáng môi trường làm mất ngưỡng HSV |
Cao |
Chuyển đổi hoàn toàn sang hệ không gian màu HSV; áp dụng lọc hình thái học 2 lớp Dilation & Erosion; cố định khoảng sáng. |
| Kẹt cơ cấu hoặc quá hành trình cánh tay |
Cao |
Bố trí 3 công tắc hành trình cơ học (Limit Switch V-156-1C25) ngắt cứng tín hiệu Servo Drive đồng thời báo lỗi về PLC. |
Implementation và kết quả
Development Process
1. Xây dựng mô hình toán học Động học Robot Delta
Cấu trúc hình học Delta xác định bởi:
- $f$: Bán kính đường tròn nội tiếp khung cố định (tâm $O$).
- $e$: Bán kính đường tròn nội tiếp bệ di động (tâm $E$).
- $r_f$: Chiều dài khâu chủ động (cánh tay đòn gắn với trục động cơ).
- $r_e$: Chiều dài khâu bị động (thanh giằng song song carbon).
KHÔNG GIAN ĐỘNG HỌC ROBOT DELTA
O (Khung cố định)
/ | \
\theta_1 \theta_2 \theta_3 (3x Servo HC-MFS13)
/ | \
F1 F2 F3
| | |
(rf) | | | (rf)
v v v
J1 J2 J3
\ | /
(re) \ | / (re: Thanh giằng carbon)
v v v
E1 E2 E3
\ | /
E (Bệ di động: x0, y0, z0)
|
[Khớp xoay]
|
[Giác hút]
Động học nghịch (Inverse Kinematics)
Cho trước tọa độ mong muốn của bệ di động $E(x_0, y_0, z_0)$, cần tính toán 3 góc khớp $\theta_1, \theta_2, \theta_3$.
Do tính đối xứng $120^\circ$, ta quy chiếu tọa độ về mặt phẳng $YZ$ của từng nhánh bằng ma trận quay quanh trục $Z$:
$$\mathbf{E}_0' = \mathbf{Rot}(z, \phi)^{-1} \mathbf{E}_0 = \begin{bmatrix} \cos\phi & \sin\phi & 0 & 0 \ -\sin\phi & \cos\phi & 0 & 0 \ 0 & 0 & 1 & 0 \ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x_0 \ y_0 \ z_0 \ 1 \end{bmatrix}$$
Với $\phi_1 = 0^\circ, \phi_2 = 120^\circ, \phi_3 = -120^\circ$. Góc khớp $\theta_i$ được tính bằng:
$$\theta_i = \arctan\left(\frac{-z_{Ji}}{y_{Fi} - y_{Ji}}\right)$$
Động học thuận (Forward Kinematics)
Từ 3 góc khớp $\theta_1, \theta_2, \theta_3$, vị trí bệ di động $E_0(x_0, y_0, z_0)$ là giao điểm của 3 mặt cầu tâm $J_1', J_2', J_3'$ bán kính $r_e$:
$$(x - x_j)^2 + (y - y_j)^2 + (z - z_j)^2 = r_e^2 \quad (j = 1, 2, 3)$$
Trừ các phương trình mặt cầu cho nhau, ta rút ra hệ phương trình tuyến tính phụ thuộc vào $z$:
$$x = a_1 z + b_1$$
$$y = a_2 z + b_2$$
Thế $x, y$ vào phương trình mặt cầu thứ nhất, ta được phương trình bậc hai:
$$(a_1^2 + a_2^2 + 1)z^2 + 2[a_1 b_1 + a_2(b_2 - y_1) - z_1]z + [b_1^2 + (b_2 - y_1)^2 + z_1^2 - r_e^2] = 0$$
Nghiệm $z_0$ âm nhỏ nhất được chọn làm cao độ làm việc thực tế của robot.
2. Thuật toán Xử lý ảnh (Emgu CV trên C#)
Pipeline xử lý ảnh thực hiện theo các bước liên tục trên luồng nền (Background Worker) để đảm bảo không gây đơ giao diện người dùng:
// 1. Chuyển đổi hệ màu BGR sang HSV để khử phụ thuộc cường độ sáng
Image<Hsv, byte> hsvImage = currentFrame.Convert<Hsv, byte>();
// 2. Lọc ngưỡng màu (Ví dụ với vật thể màu Đỏ)
Hsv lowerRed = new Hsv(0, 120, 70);
Hsv upperRed = new Hsv(10, 255, 255);
Image<Gray, byte> mask = hsvImage.InRange(lowerRed, upperRed);
// 3. Xử lý hình thái học (Morphology) loại bỏ nhiễu biên
Mat kernel = CvInvoke.GetStructuringElement(ElementShape.Rectangle, new Size(8, 8), new Point(-1, -1));
CvInvoke.Erode(mask, mask, kernel, new Point(-1, -1), 2, BorderType.Default, new MCvScalar());
CvInvoke.Dilate(mask, mask, kernel, new Point(-1, -1), 2, BorderType.Default, new MCvScalar());
// 4. Tìm Contours và tính toán Image Moments
using (VectorOfVectorOfPoint contours = new VectorOfVectorOfPoint())
{
CvInvoke.FindContours(mask, contours, null, RetrType.External, ChainApproxMethod.ChainApproxSimple);
for (int i = 0; i < contours.Size; i++)
{
double area = CvInvoke.ContourArea(contours[i]);
if (area > 1500 && area < 25000) // Lọc diện tích phôi tiêu chuẩn
{
MCvMoments moments = CvInvoke.Moments(contours[i]);
int cx = (int)(moments.M10 / moments.M00); // Tọa độ tâm X
int cy = (int)(moments.M01 / moments.M00); // Tọa độ tâm Y
// Tính góc xoay phôi sử dụng MinAreaRect
RotatedRect minRect = CvInvoke.MinAreaRect(contours[i]);
float rotationAngle = minRect.Angle;
if (minRect.Size.Width < minRect.Size.Height)
{
rotationAngle += 90.0f;
}
// 5. Chuyển đổi tọa độ Pixel sang Tọa độ Robot (Hand-Eye Matrix)
Point3D robotCoords = MapPixelToRobot(cx, cy);
TriggerRobotSorting(robotCoords, rotationAngle, "RED");
}
}
}
3. Giao tiếp C# với PLC Mitsubishi qua MX Component
using ActUtlTypeLib;
public class PLCController
{
public ActUtlType plc = new ActUtlType();
public bool ConnectPLC(int stationNumber = 1)
{
plc.ActLogicalStationNumber = stationNumber;
int result = plc.Open();
return (result == 0); // 0: Kết nối thành công qua Ethernet
}
public void SendTargetCoordinates(int xPulse, int yPulse, int zPulse)
{
// Ghi dữ liệu vị trí xung vào các thanh ghi D100, D102, D104 trong PLC FX5UJ
plc.SetDevice("D100", xPulse);
plc.SetDevice("D102", yPulse);
plc.SetDevice("D104", zPulse);
// Kích hoạt cờ M0 để PLC thực hiện lệnh phát xung định vị
plc.SetDevice("M0", 1);
}
public void Disconnect()
{
plc.Close();
}
}
Testing và validation
Quá trình đánh giá thực nghiệm được tiến hành trên 500 mẫu thử ngẫu nhiên với 3 hệ màu (Đỏ, Xanh lá, Vàng) và các góc lệch phôi từ $-90^\circ$ đến $+90^\circ$.
[Kết quả phân loại thực nghiệm trên 500 mẫu]
Màu Đỏ : [====================================] 98.8% (168/170)
Màu Xanh : [=================================== ] 98.2% (162/165)
Màu Vàng : [=================================== ] 98.2% (162/165)
Trung bình : [====================================] 98.4% (492/500)
Bảng thông số hiệu năng kiểm thử
| Thông số kiểm tra |
Giá trị thiết kế mục tiêu |
Kết quả thực nghiệm đo được |
Trạng thái |
| Thời gian chu kỳ gắp - đặt (Cycle time) |
$\le 1.5\text{ s}$ |
$1.12\text{ s / sản phẩm}$ |
Vượt mục tiêu (nhanh hơn 25.3%) |
| Độ chính xác nhận dạng màu |
$\ge 95.0%$ |
$98.4%$ |
Đạt yêu cầu |
| Độ lặp lại vị trí bệ di động ($\Delta x, \Delta y$) |
$\le \pm 1.0\text{ mm}$ |
$\pm 0.45\text{ mm}$ |
Đạt độ ổn định cơ khí |
| Sai số góc xoay định hướng ($\Delta \theta$) |
$\le \pm 5.0^\circ$ |
$\pm 2.1^\circ$ |
Đạt yêu cầu đóng gói |
| Tốc độ xử lý luồng ảnh (Vision Latency) |
$\le 40\text{ ms}$ |
$22\text{ ms / frame}$ |
Đạt thời gian thực |
| Thời gian truyền dữ liệu C# $\leftrightarrow$ PLC |
$\le 50\text{ ms}$ |
$12\text{ ms}$ (Ethernet) |
Rất tốt |
Kết quả đạt được
- Về phần cứng: Hoàn thiện mô hình Robot Delta 3-DOF với cơ cấu khung vững chắc, 3 bộ Servo Mitsubishi vận hành êm ái qua đai răng truyền động; cơ cấu khớp xoay bệ di động tích hợp giác hút chân không Micro Air 24V hoạt động dứt khoát không rơi phôi.
- Về phần mềm: Xây dựng thành công ứng dụng GUI C# .NET tích hợp đầy đủ tính năng: Kết nối PLC qua MX Component, hiển thị Camera thời gian thực, bảng cài đặt ngưỡng HSV, chế độ Manual JOG từng trục và chế độ Auto phân loại.
- Về giải thuật: Giải quyết trọn vẹn phương trình động học thuận/nghịch với độ trễ tính toán cực thấp, đồng bộ hoàn hảo giữa tọa độ nhận diện từ Camera và không gian làm việc của Robot.
Đổi mới và đóng góp
- Cải tiến cơ cấu End-Effector 4-DOF tinh gọn: Thay vì chỉ có 3 bậc tự do tịnh tiến $XYZ$ như các robot Delta tiêu chuẩn trong trường học, đề tài bổ sung trực tiếp 1 trục quay $\theta$ gọn nhẹ ngay trên bệ di động (sử dụng động cơ bước NEMA 17 siêu nhỏ). Giải pháp này giúp phôi được xoay về cùng một hướng duy nhất trước khi đặt vào khay đóng gói, tăng độ hoàn thiện sản phẩm lên 100%.
- Kiến trúc điều khiển lai Phân tán (Distributed Hybrid Control): Phân chia nhiệm vụ tối ưu: PC đảm nhận xử lý ảnh nặng và giải phương trình động học phức tạp $\to$ PLC FX5UJ đảm nhận điều khiển vị trí vòng kín tốc độ cao qua xung/hướng tới các Driver Servo $\to$ Arduino phụ trách điều khiển chấp hành phụ (xoay cổ tay và van hút khí). Cấu trúc này giảm tải $100%$ cho CPU của PLC, loại bỏ hiện tượng tràn bộ nhớ.
- So sánh với giải pháp trước đây:
- So với Cơ cấu gạt xi-lanh khí nén truyền thống: Tiết kiệm $60%$ không gian làm việc, tăng độ linh hoạt khi thay đổi kích thước/màu sắc phôi mà không cần thay đổi cơ khí.
- So với Cánh tay Robot 6-DOF công nghiệp: Chi phí sản xuất giảm hơn $80%$, tốc độ pick-and-place nhanh hơn $2.1$ lần cho các tác vụ phân loại tải trọng nhỏ.
Ứng dụng thực tế và triển khai
Tình huống ứng dụng thực tế
- Dây chuyền đóng gói bánh kẹo, thực phẩm: Phân loại bánh theo màu sắc/hương vị từ băng chuyền lớn, xoay thẳng hàng bánh và đóng gói vào hộp định hình.
- Dây chuyền linh kiện điện tử (SMT / Bán dẫn): Gắp các module IC, linh kiện nhựa có kiểm tra góc chân linh kiện trước khi gắn lên bo mạch.
- Dược phẩm: Kiểm tra màu sắc viên thuốc/nắp lọ và xếp vào vỉ thuốc với tốc độ cao.
SƠ ĐỒ TRIỂN KHAI NHÀ MÁY (DEPOLYMENT ROADMAP)
+-----------------------------------------------------------------------------------+
| [Băng tải cấp phôi ngẫu nhiên] |
| | |
| v |
| [Trạm Vision Check] ----(Đo màu, tọa độ x, y, góc xoay theta) |
| | |
| v |
| [Trạm Delta Robot Cell] ---(Gắp phôi, xoay bù góc theta, di chuyển tốc độ cao) |
| | |
| +-------------------+--------------------+------------------+ |
| v v v v |
| [Khay Hàng Đỏ] [Khay Hàng Xanh] [Khay Hàng Vàng] [Khay Phế Phẩm/Lỗi] |
| (Chuẩn góc 0°) (Chuẩn góc 0°) (Chuẩn góc 0°) |
+-----------------------------------------------------------------------------------+
Phân tích hiệu quả kinh tế (ROI)
- Chi phí đầu tư phần cứng: ~35.000.000 - 45.000.000 VNĐ (Mô hình tự chế tạo sử dụng linh kiện Servo công nghiệp bãi chất lượng cao và PLC thế hệ mới).
- Năng suất lao động: 1 trạm Robot Delta vận hành với công suất $50\text{ - }60\text{ sản phẩm/phút}$ thay thế tương đương cho 2 công nhân phân loại thủ công làm việc 2 ca liên tục.
- Thời gian hoàn vốn (ROI): Ước tính từ 8 đến 12 tháng khi ứng dụng vào các cơ sở chế biến thực phẩm hoặc sản xuất linh kiện quy mô vừa và nhỏ (SMEs).
Hạn chế và hướng phát triển
Hạn chế kỹ thuật
- Phụ thuộc điều kiện ánh sáng: Khi cường độ sáng thay đổi đột ngột ngoài dải 400 - 600 lux, một số dải màu gần biên (như Vàng - Cam) có thể bị nhận dạng nhầm nếu không cân chỉnh lại ngưỡng HSV.
- Camera cố định (Static Camera): Hệ thống đang thực hiện dừng băng tải ngắn hạn để chụp ảnh hoặc chỉ phân loại khi băng tải chạy tốc độ ổn định, chưa tích hợp thuật toán bám băng tải động liên tục (Conveyor Tracking) bằng bộ đọc Encoder quang học.
- Động cơ khớp xoay dạng Open-loop: Trục xoay cổ tay sử dụng động cơ bước không có phản hồi Encoder, có khả năng tích lũy sai số sau nhiều chu kỳ vận hành liên tục nếu xảy ra hiện tượng mất bước.
Hướng phát triển
- Tích hợp Deep Learning: Nâng cấp từ thuật toán xử lý ảnh truyền thống (Emgu CV InRange) sang mô hình trí tuệ nhân tạo YOLOv8-Nano / MobileNet để nhận diện đa dạng chủng loại phôi, phát hiện khuyết tật bề mặt sản phẩm (nứt, xước, lỗi in).
- Nâng cấp Conveyor Tracking: Lắp đặt Encoder quay trên trục băng tải, lập trình khối hàm
MC_SyncMove trên PLC để Robot bắt phôi liên tục mà không cần dừng băng chuyền, nâng công suất lên $> 90\text{ ppm}$.
- Nâng cấp Servo cho trục thứ 4: Thay thế động cơ bước bằng Mini AC Servo hoặc Động cơ không chổi than (BLDC) tích hợp Encoder góc tuyệt đối để loại bỏ hoàn toàn sai số góc.
Đối tượng hưởng lợi
- Sinh viên, Giảng viên chuyên ngành Tự động hóa & Cơ điện tử:
- Cung cấp tài liệu hoàn chỉnh về bài toán động học song song Delta, code mẫu C# .NET kết nối PLC qua thư viện MX Component và giải thuật xử lý ảnh Emgu CV.
- Kỹ sư tích hợp hệ thống (System Integrators):
- Nắm bắt kiến trúc kết nối phần cứng thực tế giữa máy tính tính toán (Vision PC) và hệ thống chấp hành công nghiệp (Mitsubishi PLC + AC Servo MR-J2S).
- Doanh nghiệp vừa và nhỏ (SMEs):
- Tham khảo giải pháp tự động hóa chi phí thấp, tối ưu năng suất cho khâu phân loại và đóng gói sản phẩm.
Câu hỏi thường gặp
1. Yêu cầu cấu hình máy tính để vận hành phần mềm Vision và điều khiển là gì?
- Hệ điều hành: Windows 10/11 (64-bit).
- Phần cứng tối thiểu: CPU Intel Core i3 thế hệ 8 trở lên (hoặc tương đương), RAM 8GB, có cổng mạng LAN RJ45 để kết nối Ethernet với PLC và cổng USB 3.0 cho Webcam.
- Phần mềm cài đặt: .NET Framework 4.7.2, GX Works3, MX Component v4.x, Visual Studio Runtime.
2. Làm thế nào để Robot phân loại được các màu sắc khác ngoài Đỏ, Xanh, Vàng?
Người vận hành chỉ cần mở giao diện C#, chuyển sang tab Cài đặt thông số (Configuration), sử dụng công cụ lấy mẫu màu trực tiếp trên ảnh camera để chọn dải giá trị $[H_{min}, H_{max}]$, $[S_{min}, S_{max}]$, $[V_{min}, V_{max}]$ mới và lưu lại vào hệ thống mà không cần biên dịch lại mã nguồn.
3. Tại sao không dùng trực tiếp Arduino để điều khiển 3 động cơ Servo?
Động cơ AC Servo công nghiệp yêu cầu tần số phát xung điều khiển vị trí rất cao (lên tới $100\text{ - }200\text{ kHz}$) cùng với các hàm nội suy tuyến tính đa trục mượt mà. Vi điều khiển 8-bit như Arduino Uno R3 không đủ xung nhịp và độ ổn định công nghiệp để phát xung đồng thời 3 trục, dễ gây hiện tượng giật cục, sai lệch vị trí hoặc treo chip khi có nhiễu điện từ. Do đó, sử dụng PLC FX5UJ chuyên dụng là giải pháp bắt buộc để đảm bảo an toàn và độ chính xác.
4. Hệ thống xử lý thế nào khi có 2 sản phẩm nằm quá sát nhau?
Thuật toán phân tách đối tượng sử dụng 2 lần phép toán co ảnh (Erode) với phần tử cấu trúc $8\times 8$ pixel để tách rời các cầu nối giữa 2 vật thể gần nhau, sau đó mới gọi hàm FindContours. Nếu diện tích contour vượt quá ngưỡng diện tích đơn phôi cực đại ($> 25000\text{ px}^2$), hệ thống sẽ nhận diện là lỗi phôi dính chùm và kích hoạt quy trình bỏ qua để phôi rơi vào khay phế phẩm.
5. Chi phí bảo dưỡng hệ thống định kỳ gồm những gì?
- Vệ sinh giác hút cao su và thay thế định kỳ sau mỗi 500.000 chu kỳ gắp (chi phí rất thấp).
- Kiểm tra độ căng và độ mòn của 3 dây đai răng truyền động mỗi 6 tháng.
- Bôi trơn các khớp cầu mắt trâu (spherical rod ends) trên 3 cánh tay carbon để đảm bảo chuyển động mượt mà, không phát sinh rơ lỏng cơ học.
Kết luận
Đề tài "Phân loại sản phẩm ứng dụng robot" đã hoàn thành xuất sắc toàn bộ các mục tiêu đặt ra: từ việc nghiên cứu lý thuyết động học song song Delta, thiết kế gia công mô hình cơ khí vững chắc, phát triển thuật toán xử lý ảnh thông minh trên Emgu CV, đến việc làm chủ công nghệ điều khiển công nghiệp đồng bộ với PLC Mitsubishi FX5UJ và AC Servo.
Hệ thống đạt độ chính xác phân loại ấn tượng $98.4%$, chu kỳ gắp đạt $1.12\text{ s/sản phẩm}$ và tự động hiệu chỉnh góc lệch phôi chính xác trong phạm vi sai số $\pm 2.1^\circ$. Kết quả nghiên cứu không chỉ mang giá trị học thuật cao trong việc ứng dụng toán học động học robot và thị giác máy tính, mà còn chứng minh tính khả thi vượt trội để chuyển giao và ứng dụng thực tế vào các dây chuyền phân loại, đóng gói tự động hóa trong các nhà máy sản xuất hiện đại.