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

Trong xu thế phát triển mạnh mẽ của công nghiệp tự động hóa, robot công nghiệp ngày càng đóng vai trò thiết yếu trong việc nâng cao năng suất, tối ưu hóa chi phí sản xuất và đảm bảo độ chính xác đồng đều cho sản phẩm. Tại Việt Nam, nhiều doanh nghiệp quy mô vừa và nhỏ vẫn duy trì quy trình kiểm tra chất lượng và đóng gói thủ công bằng sức người. Phương thức này bộc lộ nhiều hạn chế về tốc độ, dễ xảy ra sai sót do sự suy giảm tập trung trong các thao tác lặp đi lặp lại, từ đó làm giảm hiệu quả kinh tế chung của dây chuyền.

Đề tài "Hệ thống kiểm tra và xếp sản phẩm vào hộp bằng cánh tay robot" được thực hiện trong khuôn khổ đồ án PBL4 (Project Based Learning 4: Thiết kế hệ thống Cơ điện tử) tại Khoa Cơ khí, Trường Đại học Bách khoa – Đại học Đà Nẵng, dưới sự hướng dẫn của TS. Trần Đình Sơn. Đề tài tập trung giải quyết bài toán tự động hóa công đoạn kiểm tra ngoại quan và phân loại, đóng gói sản phẩm nhằm hướng đến việc làm chủ công nghệ điều khiển và nội địa hóa thiết bị phù hợp với điều kiện sản xuất trong nước.

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

  1. Nghiên cứu và xây dựng phương pháp kiểm tra chất lượng sản phẩm trên băng chuyền tự động thông qua xử lý ảnh ngoại quan (màu sắc, hình dạng).
  2. Thiết kế, tính toán động học và lập trình điều khiển cánh tay robot 3 bậc tự do (3-DOF) kết hợp cơ cấu hút chân không để gắp và xếp sản phẩm đạt chuẩn vào hộp.
  3. Chế tạo mô hình thực nghiệm hoàn chỉnh tích hợp giữa cơ khí, phần cứng điện tử, thị giác máy tính và thuật toán điều khiển nhúng.

Đối tượng nghiên cứu của đề tài là phương trình động học của cánh tay robot 3 bậc tự do, thuật toán nhận diện màu sắc, đường bao sản phẩm trên nền tảng Python (OpenCV) và chương trình điều khiển cơ cấu chấp hành trên vi điều khiển ATmega328P (Arduino Uno R3). Phạm vi nghiên cứu giới hạn ở mô hình thực nghiệm quy mô phòng thí nghiệm, kiểm tra và xếp các sản phẩm có khối lượng 60g vào hộp với quy cách 4 sản phẩm/hộp.

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

Nghiên cứu được xây dựng dựa trên các nền tảng lý thuyết chuyên ngành Cơ điện tử và Robot học:

  • Lý thuyết động học robot: Áp dụng phương pháp Denavit-Hartenberg (bảng thông số D-H và ma trận biến đổi thuần nhất $A_i$) để giải bài toán động học thuận, xác định vị trí điểm cuối khâu thao tác trong không gian 3 chiều; kết hợp phương pháp hình học giải tích và lượng giác để giải bài toán động học nghịch, phục vụ việc nội suy góc quay các khớp từ tọa độ vị trí vật thể.
  • Lý thuyết tính toán dẫn động cơ khí: Tính toán mô-men xoắn, lực ma sát, quán tính các khâu cơ học và chọn công suất động cơ băng tải, động cơ bước theo tiêu chuẩn kỹ thuật chi tiết máy và hệ dẫn động cơ khí.
  • Lý thuyết xử lý ảnh số: Ứng dụng các thuật toán phân ngưỡng màu sắc, nhận diện đường biên (contour detection) và trích xuất tọa độ không gian để phân biệt sản phẩm đạt tiêu chuẩn và sản phẩm lỗi ngoại quan.

Phương pháp nghiên cứu thực nghiệm và thiết kế kỹ thuật bao gồm:

  • Phương pháp mô hình hóa 3D: Sử dụng phần mềm SolidWorks để thiết kế toàn bộ kết cấu cơ khí (khung băng tải, các khâu cánh tay robot, bàn đặt hộp) và phần mềm AutoCAD để xuất bản vẽ kỹ thuật chế tạo.
  • Phương pháp tính toán giải tích: Thiết lập hệ phương trình toán học xác định thông số động học và thông số tải trọng của cơ cấu chấp hành.
  • Phương pháp tích hợp phần cứng và lập trình điều khiển: Kết nối máy tính xử lý ảnh trung tâm với bo mạch vi điều khiển qua giao tiếp nối tiếp UART (Serial); sử dụng driver chuyên dụng điều khiển động cơ bước và rơ-le kích hoạt van hút chân không.
  • Nguồn dữ liệu: Các thông số cơ tính vật liệu, thông số kỹ thuật linh kiện từ datasheet nhà sản xuất (động cơ bước NEMA 17 mã 17HS4401, vi điều khiển ATmega328P, cảm biến hồng ngoại E3F-DS30C4, driver A4988) và các giáo trình cơ sở ngành dẫn động cơ khí, thủy khí, vi điều khiển.

Thiết kế và triển khai

Hệ thống được thiết kế theo cấu trúc module hóa, kết hợp chặt chẽ giữa hệ thống cơ khí, hệ thống điều khiển điện tử và phần mềm thị giác máy tính.

1. Kiến trúc phần cứng và thiết bị điều khiển

Toàn bộ hệ thống cơ điện tử bao gồm các khối chức năng chính:

  • Khối cấp phôi và vận chuyển: Băng tải dây đai chiều dài 600 mm, bề rộng bản đai 100 mm, dẫn động bằng động cơ giảm tốc GB37-545 (24VDC, tốc độ định mức 200 vòng/phút, đường kính trục 6 mm). Cảm biến quang hồng ngoại E3F-DS30C4 (khoảng cách phát hiện 10–30 cm, ngõ ra NPN) được bố trí trên thân băng tải để xác định sự xuất hiện của vật thể.
  • Khối cánh tay robot 3 bậc tự do: Gồm 3 khâu quay dẫn động độc lập bằng động cơ bước NEMA 17 (mã 17HS4401, góc bước 1.8°, 2 pha, dòng tải điều khiển qua driver A4988). Cơ cấu tác động cuối là giác hút chân không kết nối bơm hút mini 12V (áp suất hút tối đa 50 kPa) điều khiển thông qua module rơ-le 5VDC.
  • Khối điều khiển và nguồn: Bo mạch Arduino Uno R3 tích hợp vi điều khiển ATmega328P (thạch anh 16 MHz, bộ nhớ Flash 32 KB, SRAM 2 KB, EEPROM 1 KB), nhận lệnh điều khiển từ máy tính và phát xung STEP/DIR tới các driver A4988. Hệ thống cấp nguồn sử dụng bộ nguồn tổ ong chuyển đổi 220VAC sang 24VDC (công suất 120W, dòng định mức 5A).
Tên thiết bị / Bộ phận Thông số kỹ thuật chính Chức năng trong hệ thống
Động cơ băng tải GB37-545 24VDC, 200 rpm, dòng 135 mA, trục 6 mm Dẫn động băng tải chuyển sản phẩm
Động cơ bước NEMA 17 Mã 17HS4401, bước 1.8°, 2 Phase, 12-24V Dẫn động các khớp xoay của robot
Driver A4988 Điện áp 3.3-5V, công suất tải tới 35V/2A Điều khiển vi bước động cơ bước
Vi điều khiển Arduino Uno R3 ATmega328P, xung nhịp 16 MHz, 14 I/O Digital Điều khiển tuần tự và phát xung driver
Cảm biến quang E3F-DS30C4 Dải đo 10-30 cm, điện áp 6-36VDC, NPN Phát hiện vật thể đến vị trí chụp
Bơm hút chân không mini Điện áp 12V, áp suất hút tối đa 50 kPa Tạo áp suất âm hút giữ sản phẩm
Nguồn tổ ong 24V Điện áp vào 110/220VAC, ra 24VDC, dòng 5A, 120W Cấp nguồn công suất cho toàn hệ thống
Hệ thống Camera Camera truyền hình ảnh qua ứng dụng EpocCam Thu nhận hình ảnh sản phẩm về máy tính

2. Mô hình hóa động học cánh tay robot 3 bậc tự do

Cánh tay robot có cấu hình 3 bậc tự do quay quanh các trục song song và vuông góc. Thông số hình học và khối lượng các khâu được trích xuất từ phần mềm SolidWorks:

  • Chiều dài các khâu: $L_1$ (chiều cao đế), $L_2 = 160\text{ mm}$, $L_3 = 190\text{ mm}$, $L_4 = 47\text{ mm}$ (khâu thao tác cuối).
  • Khối lượng các khâu: Khâu 1 nặng $162.4\text{ g}$, Khâu 2 nặng $130.95\text{ g}$, Khâu 3 nặng $152.12\text{ g}$.
  • Mô-men xoắn tính toán cho các khớp: $M = 0.7\text{ N.m}$, tỷ số truyền bánh răng $TST = 4.65$.

Động học thuận: Sử dụng ma trận biến đổi tọa độ thuần nhất tích lũy $A = A_1 \cdot A_2 \cdot A_3$, tọa độ điểm thao tác cuối $(p_x, p_y, p_z)$ được xác định theo các góc khớp $(\theta_1, \theta_2, \theta_3)$: $$p_x = \cos\theta_1 \cdot [L_3 \cos(\theta_2 + \theta_3) + L_2 \cos\theta_2]$$ $$p_y = \sin\theta_1 \cdot [L_3 \cos(\theta_2 + \theta_3) + L_2 \cos\theta_2]$$ $$p_z = L_1 + L_3 \sin(\theta_2 + \theta_3) + L_2 \sin\theta_2$$

Động học nghịch: Dùng để giải ngược các góc quay khớp từ tọa độ mục tiêu $(p_x, p_y, p_z)$:

  • Góc xoay đế $\theta_1$: $$\theta_1 = \text{atan2}(p_y, p_x)$$
  • Góc khớp thứ hai $\theta_2$ và góc khớp thứ ba $\theta_3$ được giải qua các đại lượng hình học phụ trợ $\alpha, \beta, \varphi, \delta$: $$\delta = \text{atan2}\left(p_z - L_1, \sqrt{p_x^2 + p_y^2}\right)$$ $$\theta_2 = 180^\circ - \beta - \alpha$$ $$\theta_3 = \text{atan2}\left(\sin\theta_3, \cos\theta_3\right) = \text{atan2}\left(\frac{L_2 \sin\alpha - (p_z - L_1)}{L_3}, \sqrt{1 - \sin^2\theta_3}\right)$$

3. Phần mềm và thuật toán điều khiển

Hệ thống hoạt động theo vòng điều khiển khép kín giữa máy tính xử lý ảnh và mạch vi điều khiển:

  1. Giao diện người dùng và thuật toán nhận diện được xây dựng bằng ngôn ngữ Python sử dụng các thư viện OpenCV (cv2), numpy, giao diện đồ họa tkinter, xử lý ảnh PIL và giao tiếp nối tiếp pyserial.
  2. Khi cảm biến phát hiện sản phẩm đi vào vùng quan sát, luồng video từ camera (kết nối qua EpocCam) được chụp lại và xử lý. Thuật toán phân tích không gian màu và đường bao để kiểm tra hình dạng, kích thước và màu sắc.
  3. Nếu sản phẩm đạt chuẩn, chương trình Python gửi ký tự điều khiển qua cổng COM (tốc độ baudrate 9600) đến Arduino Uno R3. Arduino tính toán quỹ đạo, kích hoạt driver A4988 điều khiển các động cơ bước đưa giác hút đến đúng tọa độ sản phẩm trên băng tải, bật bơm hút chân không, gắp và chuyển sản phẩm xếp gọn gàng vào hộp (quy cách 4 sản phẩm/hộp; khi đầy hộp thứ nhất, robot tự động chuyển sang hộp thứ hai).
  4. Nếu sản phẩm không đạt chuẩn (sản phẩm lỗi), hệ thống không kích hoạt cánh tay robot, sản phẩm lỗi tiếp tục di chuyển về cuối băng tải để xử lý lại.

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

Chương 1: Tổng quan

Chương 1 trình bày lý do chọn đề tài xuất phát từ nhu cầu ứng dụng robot công nghiệp trong sản xuất hiện đại và mục tiêu nội địa hóa hệ thống tự động nhằm giảm phụ thuộc vào các bộ điều khiển ngoại nhập. Tác giả xác định rõ mục đích nghiên cứu là tích hợp hệ thống kiểm tra tự động kết hợp cánh tay robot 3 bậc tự do, đồng thời giới hạn đối tượng nghiên cứu vào phương trình động học, thuật toán xử lý ảnh trên Python và giải pháp điều khiển nhúng trên Arduino.

Chương 2: Giới thiệu chung về hệ thống kiểm tra và đóng gói sản phẩm

Chương này tổng quan về vai trò của tự động hóa công nghiệp trong việc tăng năng suất, giảm chi phí nhân công, đảm bảo tính nhất quán của chất lượng và an toàn lao động. Nội dung chương mô tả cấu trúc tổng quan của dây chuyền sản xuất hàng loạt, sơ đồ khối chức năng của hệ thống kiểm tra đóng gói và nguyên lý phối hợp giữa các phân hệ: camera thu nhận hình ảnh, máy tính nhận dạng, vi điều khiển Arduino xử lý lệnh, driver phát xung, động cơ bước chấp hành và cơ cấu giác hút gắp sản phẩm.

Chương 3: Tính toán, thiết kế cơ khí và lựa chọn thiết bị cho hệ thống

Chương 3 tập trung vào các tính toán kỹ thuật định lượng và lựa chọn linh kiện phần cứng:

  • Tính chọn động cơ băng tải: Với đường kính con lăn $D_1=D_2=30\text{ mm}$, chiều dài 600 mm, tải trọng $m=1\text{ kg}$, vận tốc băng tải $v=10\text{ m/phút}$, tốc độ trục dẫn $106\text{ vòng/phút}$, mô-men xoắn yêu cầu $T = 150\text{ N.mm}$ ($1.53\text{ kg.cm}$), nhóm tác giả lựa chọn động cơ giảm tốc DC GB37-545 24VDC tốc độ 200 rpm.
  • Tính chọn động cơ và cơ cấu cánh tay robot: Khối lượng các khâu được trích xuất chính xác từ mô hình 3D (Khâu 1: 162.4g, Khâu 2: 130.95g, Khâu 3: 152.12g). Mô-men xoắn tính toán đạt $0.7\text{ N.m}$, kết hợp tỷ số truyền 4.65, nhóm chọn động cơ bước NEMA 17 (17HS4401).
  • Tính toán cơ cấu hút chân không: Với khối lượng vật $60\text{ g}$, diện tích giác hút $A = 25 \times 25\text{ mm} = 0.0625\text{ m}^2$, áp suất hút yêu cầu là $9.4176\text{ kPa}$, từ đó lựa chọn bơm hút chân không mini 12V có áp suất tối đa $50\text{ kPa}$.
  • Lựa chọn thiết bị điện - điện tử: Trình bày chi tiết cấu tạo, thông số chân và sơ đồ nguyên lý của vi điều khiển ATmega328P, bo mạch Arduino Uno R3, driver A4988, rơ-le 5VDC, cảm biến hồng ngoại E3F-DS30C4, nguồn tổ ong 24V 5A và sơ đồ đấu nối toàn hệ thống.

Chương 4: Thiết kế, mô phỏng bằng phần mềm

Chương 4 giới thiệu quá trình dựng hình 3D và mô phỏng lắp ráp các cụm chi tiết trên phần mềm SolidWorks: thiết kế khung băng tải, các khâu cánh tay robot, bàn đặt hộp chứa và sản phẩm mẫu. Chương này cũng đối chiếu các hình ảnh thiết kế trên phần mềm với hình ảnh mô hình thực tế sau khi gia công và lắp ráp hoàn chỉnh.

Chương 5: Lập trình cho hệ thống

Chương 5 trình bày lưu đồ thuật toán điều khiển tổng thể, lưu đồ thuật toán xử lý ảnh trên Python và lưu đồ thuật toán điều khiển trên Arduino. Nội dung thể hiện quy trình phân nhánh logic từ khâu nhận diện ảnh, xác định sản phẩm đạt hay lỗi, đến việc truyền nhận dữ liệu qua UART và kích hoạt các hàm nội suy góc quay động cơ bước để robot thực hiện chu trình gắp - đặt.

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

1. Kết quả thực nghiệm đạt được

  • Chế tạo và lắp ráp hoàn thiện mô hình thực nghiệm hệ thống cơ điện tử kết hợp băng tải, cánh tay robot 3 bậc tự do và camera quan sát hoạt động đồng bộ.
  • Xây dựng thành công bộ chương trình xử lý ảnh trên nền tảng Python (sử dụng OpenCV và Tkinter) có khả năng nhận dạng màu sắc, biên dạng sản phẩm và giao tiếp ổn định với vi điều khiển qua cổng nối tiếp.
  • Lập trình giải thuật động học thuận và nghịch trên vi điều khiển ATmega328P, điều khiển chính xác các động cơ bước NEMA 17 qua driver A4988 để gắp sản phẩm đạt chuẩn xếp ngay ngắn vào hộp (4 sản phẩm/hộp) và tự động bỏ qua sản phẩm lỗi để đưa về cuối băng tải.
  • Hoàn thành đầy đủ các bản vẽ thiết kế 2D/3D trên phần mềm AutoCAD và SolidWorks.

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

  • Đề xuất giải pháp tích hợp phần cứng giá thành thấp (Arduino, driver A4988, động cơ bước NEMA 17, cảm biến quang phổ thông) kết hợp với thuật toán xử lý ảnh mã nguồn mở trên máy tính để thực hiện bài toán phân loại và đóng gói tự động.
  • Làm chủ quy trình tính toán động học robot 3 bậc tự do từ lý thuyết D-H đến giải thuật điều khiển góc quay thực tế trên mô hình vật lý.

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

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

  • Hệ thống mới dừng lại ở quy mô mô hình thí nghiệm nhỏ, chưa đáp ứng được các tiêu chuẩn tải trọng và điều kiện làm việc khắc nghiệt trong môi trường công nghiệp thực tế.
  • Tốc độ làm việc của chu trình nhận diện, gắp và xếp sản phẩm còn tương đối chậm.
  • Độ cứng vững cơ học của kết cấu cánh tay robot chưa cao, còn rung lắc trong quá trình chuyển động nhanh.

Hướng phát triển tiếp theo

  • Bổ sung thêm hệ thống băng tải phụ thứ hai để tự động vận chuyển hộp sản phẩm đi sau khi đã xếp đủ 4 sản phẩm, nâng cao mức độ tự động hóa hoàn toàn.
  • Nghiên cứu thay thế giác hút chân không bằng cơ cấu kẹp cơ khí linh hoạt để nâng cao độ bám giữ chính xác và mở rộng khả năng thao tác với nhiều loại sản phẩm có hình dạng bề mặt phức tạp khác nhau.

Giá trị tham khảo

Đồ án là tài liệu tham khảo trực quan và hữu ích cho sinh viên các ngành Kỹ thuật Cơ điện tử, Robot và Hệ thống thông minh, Kỹ thuật Điều khiển và Tự động hóa, Cơ khí chế tạo máy khi thực hiện các học phần Đồ án thiết kế hệ thống Cơ điện tử (PBL), đồ án môn học Robot học hoặc khóa luận tốt nghiệp kỹ sư.

Cụ thể, các nội dung có giá trị ứng dụng cao gồm:

  • Quy trình tính toán động học thuận và nghịch cho tay máy 3 bậc tự do bằng phương pháp ma trận D-H và giải tích lượng giác.
  • Phương pháp tính chọn công suất động cơ dẫn động băng chuyền, động cơ bước và cơ cấu hút chân không.
  • Mã nguồn mẫu và lưu đồ kết nối giao tiếp Serial giữa ứng dụng xử lý ảnh Python (OpenCV) với phần cứng điều khiển nhúng Arduino Uno R3.

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

1. Cánh tay robot trong đề tài có bao nhiêu bậc tự do và sử dụng loại động cơ nào để dẫn động?
Cánh tay robot có cấu hình 3 bậc tự do (3-DOF), sử dụng 3 động cơ bước NEMA 17 (mã 17HS4401, góc bước 1.8°, 2 pha) được điều khiển thông qua các mạch driver A4988.

2. Kích thước hình học và khối lượng các khâu của cánh tay robot được tính toán như thế nào?
Theo số liệu trích xuất từ phần mềm SolidWorks và tính toán động học, chiều dài các khâu là $L_2 = 160\text{ mm}$, $L_3 = 190\text{ mm}$, $L_4 = 47\text{ mm}$; khối lượng tương ứng của các khâu gồm Khâu 1 nặng $162.4\text{ g}$, Khâu 2 nặng $130.95\text{ g}$, Khâu 3 nặng $152.12\text{ g}$.

3. Cơ chế gắp sản phẩm của robot hoạt động theo nguyên lý nào và yêu cầu áp suất bao nhiêu?
Robot sử dụng cơ cấu giác hút kết hợp bơm hút chân không mini 12V (áp suất tối đa 50 kPa) điều khiển qua rơ-le 5VDC. Với sản phẩm nặng 60g và diện tích giác hút $25 \times 25\text{ mm}$, áp suất hút tính toán tối thiểu yêu cầu là $9.4176\text{ kPa}$.

4. Hệ thống phân biệt sản phẩm đạt chuẩn và sản phẩm lỗi bằng cách nào?
Hệ thống sử dụng camera thu hình ảnh truyền về máy tính qua ứng dụng EpocCam. Chương trình Python sử dụng thư viện OpenCV để nhận diện màu sắc và đường bao của vật thể. Nếu sản phẩm đúng yêu cầu, tín hiệu sẽ gửi qua cổng COM tới Arduino để điều khiển robot gắp vào hộp (quy cách 4 sản phẩm/hộp); nếu sản phẩm lỗi, hệ thống bỏ qua để sản phẩm trôi về cuối băng tải.

5. Nhóm tác giả đã nêu ra những hạn chế chính nào của mô hình?
Báo cáo chỉ rõ 3 hạn chế chính: mô hình có quy mô nhỏ chưa thể áp dụng ngay vào môi trường thực tế công nghiệp, tốc độ vận hành của hệ thống còn chậm, và độ cứng vững kết cấu cơ khí của mô hình chưa cao.

Kết luận

Đồ án "Hệ thống kiểm tra và xếp sản phẩm vào hộp bằng cánh tay robot" đã thiết kế, chế tạo và thử nghiệm thành công mô hình cơ điện tử tích hợp giữa băng tải, cánh tay robot 3 bậc tự do và thị giác máy tính. Nghiên cứu giải quyết hoàn chỉnh bài toán động học robot, tính chọn truyền động cơ khí và thiết lập quy trình điều khiển phân loại sản phẩm tự động trên nền tảng Arduino và Python. Báo cáo phản ánh một quy trình triển khai kỹ thuật bài bản từ mô phỏng CAD đến chế tạo thực nghiệm, đóng vai trò là tài liệu tham khảo thiết thực cho các nghiên cứu và ứng dụng cơ điện tử tương tự.