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

Trong xu thế tự động hóa công nghiệp và đời sống, các dòng robot công nghiệp như robot SCARA (Selective Compliance Articulated Robot Arm) ngày càng được ứng dụng rộng rãi. Bên cạnh các nhiệm vụ truyền thống như gắp đặt linh kiện (pick and place), lắp ráp cơ khí chính xác hay hàn mạch in PCB, robot còn được mở rộng vào các lĩnh vực mang tính giáo dục và văn hóa, cụ thể là hỗ trợ truyền bá chữ viết tiếng Việt và tiếng Anh một cách trực quan đến trẻ em và người nước ngoài.

Thách thức kỹ thuật trọng tâm của bài toán viết chữ bằng tay máy nằm ở việc điều khiển quỹ đạo chuyển động của cơ cấu chấp hành một cách uyển chuyển nhằm tạo ra các nét thẳng và nét cong liên tục, mượt mà. Trước đây, một số giải pháp tiếp cận thường sử dụng cơ cấu bàn máy ba trục XYZ dạng AxiDraw kết hợp các phần mềm trung gian như EleksCAM hoặc Inkscape để xuất mã lệnh G-code từ tệp đồ họa có sẵn. Một số nghiên cứu khác điều khiển cánh tay robot sáu bậc tự do (6-DOF) vẽ tranh bằng phương pháp xử lý ảnh, trích xuất biên rồi chia nhỏ thành nhiều điểm tọa độ (x, y) để giải bài toán động học nghịch, dẫn đến tốc độ thực thi tương đối chậm và phụ thuộc vào máy tính ngoại vi. Để khắc phục các hạn chế này, đồ án tốt nghiệp ngành Công nghệ Kỹ thuật Điều khiển và Tự động hóa tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh đã tiếp cận theo hướng sử dụng trực tiếp bộ điều khiển khả trình (PLC) công nghiệp kết hợp mô-đun điều khiển chuyển động chuyên dụng để tính toán nội suy trực tiếp quỹ đạo viết chữ mà không qua phần mềm xuất G-code trung gian.

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

  1. Điều khiển robot SCARA thực hiện các chuyển động nội suy đường thẳng từ điểm tới điểm và nội suy cung tròn từ điểm phụ nằm trên cung tròn.
  2. Thiết kế hệ thống viết chữ tiếng Việt và tiếng Anh rõ ràng theo bảng chữ cái từ nguồn văn bản nhập trực tiếp qua bàn phím, có khả năng tùy chỉnh kích thước chữ và tốc độ viết.
  3. Tích hợp tính năng nhận diện chữ viết từ hình ảnh đầu vào và điều khiển robot viết lại chính xác đoạn văn bản được trích xuất.

Đối tượng nghiên cứu là robot SCARA Yamaha YK600XG và hệ thống điều khiển đa CPU dòng MELSEC iQ-R của hãng Mitsubishi Electric. Phạm vi nghiên cứu về không gian bị giới hạn trong vùng làm việc hữu hiệu của cánh tay robot SCARA, tập trung vào bộ ký tự tiếng Việt, tiếng Anh và một số ký tự đặc biệt. Thời gian thực hiện đồ án diễn ra từ ngày 28/02/2024 đến ngày 20/06/2024.

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

Khung lý thuyết của đề tài dựa trên cấu trúc điều khiển tự động hóa công nghiệp và động học robot:

  • Hệ thống điều khiển khả trình đa CPU (MELSEC iQ-R Series): Kiến trúc trạm PLC tích hợp nhiều CPU gồm CPU điều khiển logic thông thường (R08CPU) kết hợp Motion CPU (R16MTCPU) xử lý tác vụ điều khiển vị trí tốc độ cao qua bus đồng bộ.
  • Hệ thống truyền động Servo vòng kín (Closed-loop AC Servo): Hoạt động dựa trên sự phối hợp giữa driver khuếch đại công suất, động cơ servo và cảm biến vị trí (encoder tuyệt đối/tương đối) nhằm phản hồi vị trí, tốc độ và dòng điện liên tục.
  • Động học robot SCARA: Mô hình hóa cấu trúc bốn bậc tự do (ba khớp quay trong mặt phẳng ngang XY và một trục trượt tịnh tiến theo phương Z). Thiết lập bảng thông số Denavit-Hartenberg (D-H), giải bài toán động học thuận để xác định vị trí điểm làm việc và bài toán động học nghịch để tính toán góc quay các khớp.
  • Ngôn ngữ Motion SFC (Sequential Function Chart) và chế độ Machine control: Tuân thủ tiêu chuẩn IEC 61131-3, cấu trúc chương trình theo các bước (Steps), điều kiện chuyển tiếp (Transitions) và khối hành động (Actions). Chế độ Machine control trên Motion CPU cung cấp thư viện chuyển đổi tọa độ, nội suy 3D và điều khiển đồng bộ nhiều trục như một bộ điều khiển robot chuyên dụng.
  • Giao thức truyền thông công nghiệp: Mạng cáp quang SSCNET III truyền tín hiệu điều khiển tốc độ cao, chống nhiễu giữa Motion CPU và các Driver Servo; giao thức MC-Protocol (Mitsubishi Communication Protocol) phục vụ truyền nhận dữ liệu giữa máy tính điều khiển và PLC qua Ethernet.

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 phân tích giải tích: Thiết lập hệ phương trình ma trận chuyển đổi tọa độ thuần nhất dựa trên thông số hình học của robot Yamaha YK600XG.
  • Phương pháp mô phỏng và kiểm chứng: Sử dụng phần mềm MATLAB để mô phỏng và kiểm chứng thuật toán động học nghịch; kiểm chứng động học thuận bằng cách chạy thực tế trên mô hình để so sánh tọa độ lý thuyết với vị trí cơ cấu chấp hành.
  • Phương pháp thu thập và xử lý dữ liệu học máy: Kế thừa mô hình phát hiện văn bản tiếng Anh, tự thu thập mẫu chữ tiếng Việt, tiến hành gán nhãn dữ liệu và chuyển đổi cấu trúc dữ liệu sang định dạng đầu vào của mô hình nhận diện.
  • Nguồn dữ liệu: Tài liệu kỹ thuật chuẩn của các thiết bị thuộc hãng Mitsubishi Electric, hãng Yamaha Motor, cùng tập dữ liệu 160 ký tự chữ cái, chữ số và ký hiệu do nhóm tác giả trực tiếp xây dựng.

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 phần cứng công nghiệp và phần mềm điều khiển giao diện:

Khối chức năng Thiết bị / Phần mềm sử dụng Thông số / Vai trò kỹ thuật
Khối xử lý trung tâm Trạm PLC Mitsubishi MELSEC iQ-R
- Base R312B
- Nguồn R61P
- R08CPU
- R16MTCPU
- Đế cắm 12 slot kết nối bus tốc độ cao
- Nguồn cấp trạm PLC
- CPU xử lý logic và truyền thông MC-Protocol
- Motion CPU xử lý Machine control, Motion SFC
Khối chấp hành & truyền động - Driver MR J3-20B
- Driver MR J3W-44B
- Động cơ HF-KP23G7, HG-KR23, HG-MR43BJ
- Mạng SSCNET III
- Điều khiển độc lập trục trượt Z (trục 3)
- Driver kép điều khiển khớp xoay 1 và 2
- Cung cấp lực kéo và định vị góc quay các trục
- Mạng truyền thông cáp quang tốc độ cao
Cơ cấu chấp hành Robot SCARA Yamaha YK600XG Cánh tay máy 4 bậc tự do, gắn cơ cấu bút viết
Khối đóng cắt & bảo vệ - MCB LS BKN52-32A
- CB CP30-BA
- Nguồn tổ ong 24VDC-5A
- Đóng cắt nguồn động lực chính
- Bảo vệ quá tải và ngắn mạch thiết bị
- Cung cấp nguồn 24V cho mạch điều khiển và I/O
Khối phần mềm & thuật toán - SolidWorks
- GX Works 3
- MT Developer 2
- GT Designer 3
- PyQt6 & Python
- Thiết kế không gian 3D và bố trí thiết bị
- Lập trình logic R08CPU, cấu hình MC-Protocol
- Cấu hình Machine control, lập trình Motion SFC
- Thiết kế màn hình giám sát vận hành
- Giao diện máy tính, nhận diện ảnh và truyền dữ liệu

Quy trình triển khai kỹ thuật được thực hiện qua các bước:

  1. Thiết kế cơ điện: Mô hình hóa cơ khí toàn bộ khung gá và robot trên phần mềm SolidWorks. Thiết kế sơ đồ phân phối nguồn điện bảo vệ qua MCB và CB, sơ đồ mạng cáp quang SSCNET III từ cổng Motion CPU R16MTCPU đến các driver servo MR J3-20B và MR J3W-44B, cùng hệ thống dây encoder phản hồi từ động cơ.
  2. Cấu hình trạm đa CPU và truyền thông: Trên phần mềm GX Works 3, thiết lập cấu hình phần cứng trạm iQ-R, khai báo chia sẻ bộ nhớ dùng chung (share memory) giữa R08CPU và R16MTCPU, cài đặt giao thức MC-Protocol để mở cổng giao tiếp Ethernet nhận lệnh từ máy tính.
  3. Lập trình quỹ đạo Machine control: Trên phần mềm MT Developer 2, kích hoạt chế độ Machine control cho cấu trúc SCARA. Tạo các chương trình Servo (Servo program Kn) cho trục 3 để thực hiện lệnh nâng bút và hạ bút. Cấu hình chương trình Motion SFC điều khiển chuyển động nội suy tuyến tính (Linear interpolation) và nội suy cung tròn (Circular interpolation) đi qua các tọa độ điểm tạo hình chữ cái.
  4. Xây dựng bộ dữ liệu và giao diện người dùng: Xây dựng bộ mã hóa tọa độ cho 160 ký tự. Lập trình giao diện PyQt6 cho phép người dùng nhập trực tiếp chuỗi ký tự hoặc tải ảnh văn bản, sau đó hệ thống xử lý nhận diện ký tự, phân tách chuỗi văn bản và gửi các mã ký tự tuần tự xuống PLC thông qua giao thức MC-Protocol.

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 đề tài trong bối cảnh công nghiệp hóa và bảo tồn văn hóa, phân tích các giải pháp vẽ/viết chữ bằng máy khắc laser, bàn máy vẽ AxiDraw hoặc robot 6-DOF đã được công bố trước đó. Xác định rõ ràng mục tiêu thiết kế phần mềm và hệ thống điều khiển cho robot SCARA Yamaha YK600XG, các giới hạn kỹ thuật (không đi sâu vào lý thuyết tối ưu hóa quỹ đạo mà khai thác thư viện Machine control của Mitsubishi), giới hạn phần cứng cơ khí sẵn có và phân chia bố cục 6 chương của khóa luận.

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

Chương 2 tổng hợp cơ sở lý thuyết về thiết bị tự động hóa: nguyên lý hoạt động và phân loại PLC, các dòng CPU thuộc hệ thống MELSEC iQ-R Series; cấu tạo, nguyên lý vòng kín của động cơ AC Servo và Driver Servo; nguyên lý hoạt động của Encoder tương đối và tuyệt đối. Trình bày chi tiết cấu tạo, khả năng di chuyển trong mặt phẳng ngang và ứng dụng của dòng robot SCARA. Khảo sát công cụ lập trình Motion SFC (các bước, chuyển tiếp, bảng phân loại thành phần lệnh), chế độ Machine control hỗ trợ nội suy chuyển động đa trục, cùng nguyên lý mạng truyền thông servo SSCNET III và giao thức MC-Protocol.

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

Chương 3 trình bày sơ đồ khối hệ thống và thông số kỹ thuật của các linh kiện được lựa chọn (R08CPU, R16MTCPU, nguồn R61P, base R312B, servo driver MR J3-20B, MR J3W-44B, các động cơ servo, thiết bị bảo vệ MCB và CB). Trình bày bản vẽ thiết kế trên SolidWorks, sơ đồ đấu nối điện nguồn và dây truyền thông tín hiệu. Trình bày bài toán động học thuận và động học nghịch cho robot SCARA thông qua việc đặt hệ trục và lập bảng thông số D-H; tiến hành kiểm chứng kết quả mô phỏng động học nghịch bằng MATLAB và kiểm chứng động học thuận qua vận hành thực nghiệm. Xác định không gian làm việc của robot và khu vực viết chữ. Mô tả quy trình thiết kế bộ dữ liệu ký tự tiếng Việt (thu thập dữ liệu mẫu, gán nhãn, chuyển đổi định dạng) và các bước thi công phần cứng, phần điện hoàn chỉnh.

Chương 4: Thuật toán, chương trình điều khiển

Chương 4 mô tả thuật toán hoạt động tổng thể của hệ thống cùng lưu đồ chương trình viết chữ tự động. Hướng dẫn chi tiết cấu hình trạm PLC, thiết lập giao thức MC-Protocol và chia sẻ vùng nhớ giữa CPU điều khiển và Motion CPU trên GX Works 3. Hướng dẫn lập trình cho Motion CPU bằng MT Developer 2: cấu hình thông số Machine control, tạo các khối Motion SFC, các Servo program thực hiện thao tác nâng bút, hạ bút ở trục Z và nội suy các đường nét để vẽ chữ cái. Trình bày thiết kế giao diện điều khiển HMI trên GT Designer 3 và thiết kế giao diện người dùng trên máy tính bằng ngôn ngữ Python với thư viện PyQt6.

Chương 5: Kết quả, nhận xét và đánh giá

Chương 5 minh họa hình ảnh thực tế của mô hình sau khi thi công hoàn thiện phần cơ điện. Ghi nhận kết quả vận hành của hệ thống: kiểm tra khả năng nội suy đường thẳng và đường tròn mượt mà; hiển thị bảng chữ cái 160 ký tự đã được định nghĩa thành công; kiểm tra chức năng nhập trực tiếp văn bản từ giao diện PyQt6 và chức năng tải ảnh chứa văn bản để hệ thống nhận diện và viết lại ra bảng viết. Đưa ra nhận xét, đánh giá về độ ổn định, độ nét của nét chữ và các yếu tố ảnh hưởng trong quá trình vận hành.

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

Chương 6 tổng kết lại các mục tiêu đã hoàn thành của đề tài và đề xuất các giải pháp kỹ thuật nhằm cải tiến hệ thống trong tương lai.

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

Hệ thống đã đạt được các kết quả kỹ thuật cụ thể theo đúng dữ liệu thực nghiệm:

  • Thiết kế bộ ký tự hoàn chỉnh: Xây dựng thành công cơ sở dữ liệu chuyển động gồm 160 ký tự cho robot SCARA, bao gồm toàn bộ chữ cái in hoa, in thường trong bảng chữ cái tiếng Việt và tiếng Anh, chữ số từ 0 đến 9 cùng các ký tự đặc biệt (dấu chấm than, dấu hỏi, ký hiệu phần trăm...).
  • Điều khiển tích hợp phần cứng đa CPU: Kết nối và vận hành đồng bộ trạm PLC MELSEC iQ-R (R08CPU và R16MTCPU) điều khiển các Driver Servo MR J3-20B và MR J3W-44B qua mạng cáp quang SSCNET III mà không xảy ra xung đột hay mất gói dữ liệu.
  • Thực thi chuyển động viết chữ tự động: Khai thác thành công thư viện Machine control kết hợp Motion SFC, cho phép cánh tay robot SCARA thực hiện chuyển động nội suy đường thẳng điểm - điểm và nội suy cung tròn trơn tru; cơ cấu nâng/hạ bút tại trục 3 (trục Z) hoạt động dứt khoát, chính xác theo từng nét vẽ.
  • Hoạt động đa phương thức qua giao diện PyQt6: Hệ thống tiếp nhận thành công dữ liệu văn bản từ hai nguồn:
    1. Người dùng nhập trực tiếp chuỗi ký tự từ bàn phím vào giao diện, hệ thống gửi dữ liệu xuống PLC qua MC-Protocol để robot viết ra bảng với cỡ chữ và tốc độ điều chỉnh được.
    2. Người dùng chọn tệp hình ảnh chứa văn bản, mô hình nhận diện tiến hành bóc tách ký tự và truyền chuỗi kết quả xuống hệ thống viết chữ tự động.

Đóng góp kỹ thuật của đề tài là việc giải quyết bài toán điều khiển chuyển động phức tạp (viết chữ nét cong, nét gấp khúc) hoàn toàn trên nền tảng PLC công nghiệp và Motion CPU thông qua chế độ Machine control, loại bỏ hoàn toàn sự phụ thuộc vào các phần mềm xuất mã G-code thương mại hoặc bộ điều khiển chuyên dụng cho robot. Đồng thời, đề tài đã tích hợp thành công mô hình nhận diện xử lý ảnh từ máy tính cá nhân vào hệ thống điều khiển công nghiệp thông qua giao thức chuẩn MC-Protocol.

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

Văn bản khóa luận đã thẳng thắn ghi nhận các giới hạn kỹ thuật trong quá trình thực hiện:

  • Phạm vi không gian làm việc: Không gian viết chữ bị giới hạn trong tầm với cơ học cho phép của robot SCARA Yamaha YK600XG.
  • Giới hạn về giải thuật chuyển động: Đề tài chưa tự xây dựng thuật toán quy hoạch quỹ đạo và không gian làm việc toán học riêng mà hoàn toàn dựa vào thư viện nội suy Machine control có sẵn của hãng Mitsubishi Electric.
  • Độ ổn định cơ khí: Do kế thừa phần cứng cơ khí có sẵn và việc gá đặt mô hình chưa đạt độ vững chắc tuyệt đối, cánh tay robot gặp hiện tượng rung lắc khi vận hành ở tốc độ cao, dẫn đến chất lượng nét chữ bị ảnh hưởng.
  • Nhận diện hình ảnh: Phần xử lý ảnh nhận diện văn bản chỉ dừng ở mức kế thừa mô hình tiếng Anh có sẵn và bổ sung tập dữ liệu chữ tiếng Việt cơ bản.

Hướng phát triển tiếp theo được đề xuất:

  • Gia cố kết cấu cơ khí, bệ gá cho robot SCARA để triệt tiêu rung lắc khi hoạt động ở dải vận tốc lớn.
  • Nghiên cứu tối ưu hóa thuật toán quy hoạch quỹ đạo chuyển động nhằm rút ngắn thời gian di chuyển giữa các nét chữ.
  • Nâng cấp mô hình nhận diện văn bản để nhận dạng tốt các kiểu chữ viết tay phức tạp hoặc chữ viết trong điều kiện môi trường ánh sáng biến đổi.

Giá trị tham khảo

Đồ án là tài liệu kỹ thuật có giá trị tham khảo cao đối với sinh viên, học viên cao học và kỹ sư thuộc các chuyên ngành Kỹ thuật Điều khiển và Tự động hóa, Cơ điện tử và Robot công nghiệp.

Tài liệu cung cấp hướng dẫn thực tế về:

  • Quy trình tích hợp trạm PLC đa CPU dòng MELSEC iQ-R kết hợp Motion CPU R16MTCPU.
  • Phương pháp cấu hình và lập trình chuyển động bằng công cụ Motion SFC và thư viện Machine control trên phần mềm MT Developer 2.
  • Phương thức thiết lập truyền thông mạng cáp quang SSCNET III với Driver Servo và truyền thông máy tính qua Ethernet bằng giao thức MC-Protocol kết nối trực tiếp với ngôn ngữ Python.

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

Cấu hình phần cứng trạm điều khiển PLC của hệ thống gồm những thiết bị cụ thể nào?

Trạm điều khiển trung tâm được lắp trên đế cắm Base R312B gồm nguồn cấp R61P, CPU xử lý logic R08CPU và Motion CPU R16MTCPU của hãng Mitsubishi Electric. Hệ thống truyền động bao gồm Driver đơn MR J3-20B và Driver kép MR J3W-44B kết nối với các động cơ servo HF-KP23G7, HG-KR23 và HG-MR43BJ.

Chế độ Machine control trên Motion CPU đóng vai trò gì trong đồ án?

Chế độ Machine control trên R16MTCPU cung cấp thư viện tính toán chuyển đổi tọa độ và thực hiện các chuyển động nội suy đường thẳng, nội suy cung tròn đồng bộ đa trục tốc độ cao, cho phép điều khiển cánh tay robot SCARA vẽ các nét chữ phức tạp tương tự như khi sử dụng một bộ điều khiển robot chuyên dụng.

Hệ thống sử dụng phương thức truyền thông nào giữa giao diện máy tính và trạm PLC?

Giao diện người dùng lập trình bằng Python (PyQt6) trên máy tính kết nối và truyền dữ liệu văn bản cần viết xuống R08CPU thông qua giao thức truyền thông mạng Ethernet theo chuẩn MC-Protocol (Mitsubishi Communication Protocol).

Robot thực hiện thao tác nâng và hạ bút khi viết chữ như thế nào?

Thao tác nâng bút và hạ bút được gán cho trục 3 (trục Z) của robot SCARA, được lập trình thông qua các khối lệnh Servo program (Kn) trong phần mềm MT Developer 2 và được kích hoạt tuần tự theo các bước của sơ đồ Motion SFC.

Bộ ký tự chữ cái mà nhóm tác giả thiết kế cho robot bao gồm bao nhiêu ký tự?

Nhóm tác giả đã thiết kế và lập trình hoàn chỉnh một bộ dữ liệu tọa độ gồm 160 ký tự, bao gồm đầy đủ các chữ cái tiếng Việt, tiếng Anh, chữ số từ 0 đến 9 và một số ký tự đặc biệt như dấu hỏi, dấu chấm than và ký hiệu phần trăm.

Kết luận

Đồ án tốt nghiệp "Hệ thống nhận diện và viết chữ sử dụng Robot SCARA" đã thiết kế và chế tạo thành công mô hình viết chữ tự động kết hợp xử lý ảnh trên nền tảng robot công nghiệp Yamaha YK600XG. Bằng việc ứng dụng trạm PLC đa CPU MELSEC iQ-R với Motion CPU R16MTCPU và chế độ Machine control, hệ thống đã thực hiện chính xác các chuyển động nội suy đường thẳng và đường tròn để tạo thành 160 ký tự tiếng Việt và tiếng Anh rõ ràng. Dữ liệu văn bản được tiếp nhận linh hoạt thông qua giao diện PyQt6 từ thao tác nhập bàn phím hoặc trích xuất từ hình ảnh, chứng minh khả năng làm chủ thiết bị tự động hóa công nghiệp cao cấp trong các bài toán điều khiển quỹ đạo phức tạp.