1. Trang chủ
  2. » Luận Văn - Báo Cáo

(Luận văn thạc sĩ) ứng dụng robot tích hợp thị giác máy tính phân loại rác nhựa

140 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng Dụng Robot Tích Hợp Thị Giác Máy Tính Phân Loại Rác Nhựa
Tác giả Nguyễn Thế Hùng, Lê Tiến Thành
Người hướng dẫn TS. Trần Đức Thiện
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Kỹ Thuật Điều Khiển Và Tự Động Hóa
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2022
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 140
Dung lượng 11,02 MB

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN (29)
    • 1.1. Đặt vấn đề (29)
    • 1.2. Tình hình nghiên cứu (30)
      • 1.2.1. Nghiên cứu quốc tế (30)
      • 1.2.2. Nghiên cứu trong nước (31)
      • 1.2.3. Nghiên cứu tại trường (31)
    • 1.3. Mục tiêu đề tài (32)
      • 1.3.1. Mục đích (32)
      • 1.3.2. Mục tiêu (32)
    • 1.4. Nội dung nghiên cứu (32)
    • 1.5. Giới hạn đề tài (33)
    • 1.6. Các công cụ đánh giá (33)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT (34)
    • 2.1 Giới thiệu chung về PLC (34)
      • 2.1.3. Vai trò của PLC (35)
    • 2.2. PLC dòng Q của hãng MITSUBISHI (36)
    • 2.3. Động cơ (41)
      • 2.3.1. Động cơ bước (41)
      • 2.3.2. Động cơ Servo (41)
    • 2.4. Encoder (44)
      • 2.4.1. Khái niệm Encoder (44)
      • 2.4.2. Phân loại Encoder (44)
    • 2.5. Bộ điều khiển động cơ servo (45)
    • 2.6. Phương pháp điều khiển vị trí động cơ servo (47)
    • 2.7. Tổng quan về thị giác máy tính và xử lý ảnh (47)
      • 2.7.1. Giới thiệu về thị giác máy tính (47)
      • 2.7.2. Giới thiệu về xử lý ảnh (48)
      • 2.7.3. Kỹ thuật Camera Calibration (48)
      • 2.7.4. Các quá trình xử lý ảnh (57)
      • 2.7.5. Giới thiệu các thư viện hỗ trợ (58)
    • 2.8. Tổng quan về trí tuệ nhân tạo (60)
      • 2.8.1. Trí tuệ nhân tạo (Artificial Intelligence) (60)
      • 2.8.2. Máy học (Machine Learning) (60)
      • 2.8.3. Học sâu (Deep Learning) (61)
      • 2.8.4. Mạng nơ-ron tích chập (Convolutional Neural Network) và mạng nơ-ron (Neural Network) (62)
      • 2.8.5. Mạng YOLO (You Only Look Once) (70)
      • 2.8.6. Những cải tiến của YOLOv5 so với các phiên bản trước (81)
    • 2.9. Lập trình Python (81)
  • CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG (82)
    • 3.1. Thi công phần cứng (82)
      • 3.1.2. Lựa chọn cánh tay robot (82)
      • 3.1.3. Các chi tiết cơ khí robot Scara (84)
      • 3.1.4. Băng tải (85)
      • 3.1.5. Cơ cấu gắp (85)
    • 3.2. Phần điện (86)
      • 3.2.1. Thiết kế sơ đồ khối hệ thống (86)
      • 3.2.2. Lựa chọn thiết bị (87)
      • 3.2.3. Sơ đồ nối dây (93)
  • CHƯƠNG 4: TÍNH TOÁN ĐỘNG HỌC VÀ QUY HOẠCH QUỸ ĐẠO CHO ROBOT (32)
  • SCARA 3 BẬC TỰ DO (0)
    • 4.1 Mô hình động học của robot scara 3 bậc tự do (94)
    • 4.2 Bài toán động học robot (94)
      • 4.2.1. Động học thuận (94)
      • 4.2.2. Xây dựng bảng DH (95)
      • 4.2.3. Tính toán động học thuận (96)
      • 4.2.4. Tính toán động học nghịch cho hệ thống (97)
    • 4.3. Quy hoạch quỹ đạo cho cánh tay robot (99)
    • 4.4. Không gian làm việc (100)
  • CHƯƠNG 5: PHÁT HIỆN VÀ XÁC ĐỊNH VỊ TRÍ ĐỐI TƯỢNG (102)
    • 5.1. RoboFlow (102)
      • 5.1.1. Thu thập dữ liệu (103)
      • 5.1.2. Dán nhãn (103)
      • 5.1.3. Phân chia tập dữ liệu (104)
      • 5.1.4. Tiền xử lý dữ liệu (105)
      • 5.1.5. Làm giàu dữ liệu (105)
      • 5.3.2. Chuyển tọa độ từ hệ tọa độ ảo sang tọa độ trong không gian làm việc robot (110)
  • CHƯƠNG 6: TÍNH TOÁN VÀ THIẾT KẾ PHẦN MỀM ĐIỀU KHIỂN, GIAO DIỆN NGƯỜI DÙNG (33)
    • 6.1 GX Works2 (112)
    • 6.2 GT Designer3 (112)
    • 6.3 Visual Studio Code (114)
    • 6.4 Tính toán thời gian gắp vật (115)
    • 6.5 Chương trình điều khiển (116)
  • CHƯƠNG 7: THI CÔNG MÔ HÌNH VÀ ĐÁNH GIÁ KẾT QUẢ THỰC NGHIỆM (122)
    • 7.1. Kiểm chứng động học robot scara 3 bậc tự do (122)
      • 7.1.1. Kiểm nghiệm động học nghịch (122)
      • 7.1.2. Kiểm nghiệm động học thuận (123)
    • 7.2. Kiểm chứng động học thuận nghịch bằng Module vị trí QD75MH4 (124)
      • 7.2.1. Kiểm nghiệm động học nghịch (124)
      • 7.2.2. Kiểm nghiệm động học thuận (126)
    • 7.3. Kiểm chứng YOLO (127)
      • 7.3.1. Lần thử nghiệm ban đầu (127)
      • 7.3.2. Lần thử nghiệm thứ hai (128)
    • 7.4. Kiểm nghiệm ma trận chuyển đổi vị trí (129)
    • 7.5. Kết quả toàn hệ thống (131)
      • 7.5.1. Không có băng tải (131)
      • 7.5.2. Có băng tải (132)
  • CHƯƠNG 8: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (137)
    • 8.1 Kết luận (137)
    • 8.2 Hướng phát triển (137)
  • TÀI LIỆU THAM KHẢO (138)

Nội dung

TỔNG QUAN

Đặt vấn đề

Hiện nay, sự gia tăng dân số và đô thị hóa nhanh chóng đã dẫn đến việc gia tăng đáng kể lượng chất thải rắn với nhiều thành phần và chủng loại khác nhau Điều này đã biến việc thu gom và xử lý chất thải rắn thành một thách thức lớn trên toàn cầu, đặc biệt là ở các nước đang phát triển Bên cạnh đó, chi phí đầu tư cho quản lý chất thải rắn tại nhiều khu vực vẫn còn thấp, khiến cho nhu cầu thu gom và xử lý chất thải chưa được đáp ứng đầy đủ.

Rác thải đang trở thành mối nguy hại cho sức khỏe con người và môi trường Trong rác thải sinh hoạt, rác hữu cơ và vô cơ thường bị lẫn lộn, gây ra mùi hôi thối và ô nhiễm Việc phân loại rác thải tái chế cần được thực hiện bởi con người Trong khi các nước phát triển trả lương cao cho công việc thu gom và phân loại rác, thì tại Việt Nam, mức lương cho công việc này rất thấp, ảnh hưởng đến sức khỏe của người lao động.

Với sự phát triển nhanh chóng, thế giới đang trải qua quá trình công nghiệp hóa và hiện đại hóa toàn cầu Các ngành công nghiệp đang từng bước được làm chủ, đồng thời quá trình tự động hóa trong công nghiệp cũng đang được đẩy mạnh.

Ngành công nghiệp tự động hóa chuyên nghiên cứu và thiết kế các hệ thống tự động cùng dây chuyền sản xuất tại nhà máy Bên cạnh đó, ngành này còn tập trung vào việc thiết kế và chế tạo robot để phân loại sản phẩm, từ đó nâng cao năng suất làm việc hiệu quả.

Động cơ servo là một phần thiết yếu trong chuyển động của Robot, đã cách mạng hóa ngành công nghiệp điều khiển Ngành công nghiệp servo đã phát triển mạnh mẽ, hiện diện trong hầu hết các hệ thống điều khiển tự động trên nhiều lĩnh vực Đối với các công việc phức tạp yêu cầu độ chính xác cao và sai số thấp, khả năng đáp ứng của máy móc ngày càng cần nhanh và mạnh mẽ hơn Do đó, các hệ thống hiện nay chủ yếu sử dụng động cơ servo trong quá trình xử lý, bao gồm cánh tay Robot, máy CNC, cần trục, cơ cấu vitme, bàn xoay và tịnh tiến.

Sự ứng dụng của khoa học công nghệ đã mang lại những chuyển biến rõ rệt cho thế giới, giúp nó ngày càng tiên tiến và hiện đại Hệ thống tự động hóa, với khả năng thực hiện nhiều công việc đồng thời và độ chính xác cao, trở thành một phần thiết yếu trong các dây chuyền sản xuất và phân loại tự động.

Trong quá trình phân loại rác thải, để máy móc và thiết bị hoạt động hiệu quả, cần đảm bảo độ chính xác và tốc độ xử lý cao Việc phân loại còn phụ thuộc vào loại rác thải, không gian hoạt động và đặc tính của chúng Do đó, nhóm quyết định lựa chọn đề tài “ỨNG dụng công nghệ trong phân loại rác thải” để tối ưu hóa quy trình này.

Tình hình nghiên cứu

Theo Business Insider, các robot hỗ trợ xử lý rác thải đã được phát triển với hiệu quả và năng suất cao nhằm giải quyết vấn đề rác thải Các hãng sản xuất robot lớn như AMP Robotics, Bulk Handling Systems ở Oregon (Mỹ) và ZenRobotics ở Helsinki (Phần Lan) đang tích cực nghiên cứu và phát triển các robot phân loại rác, giới thiệu nhiều mẫu robot hiện đại tích hợp công nghệ AI để hỗ trợ con người trong việc phân loại rác và nâng cao năng suất lao động.

Bảng 1.1: Các nghiên cứu ở nước ngoài

Stt Các Robot phân loại rác Thông tin về Robot

Sản xuất năm 2018 Công ty Machinex Nước Canada SamurAL (Robot Delta) Công suất 70 lần nhặt/ phút Phân loại rác nhựa

Cơ cấu hít Hiệu quả 95%

• Công suất 100 lần nhặt/ phút

• Phân loại rác kim loại h

• Công suất 25 lần nhặt/phút, 6 tấn/giờ

• Phân loại rác vụn xây dựng, túi rác

Trình độ khoa học kỹ thuật trong lĩnh vực Robot tại Việt Nam hiện nay còn kém phát triển so với thế giới, nơi có nền tảng vững chắc và lịch sử lâu dài về Robot Các nghiên cứu và phát triển Robot chủ yếu diễn ra tại các trường đại học và viện nghiên cứu, nhưng chủ yếu tập trung vào các vấn đề như thiết kế tối ưu, động học, động lực học, điều khiển, thiết kế phần cứng và lập trình phần mềm Mặc dù đã có sự kết hợp giữa xử lý ảnh và Robot, nhưng ứng dụng này chưa phổ biến, với nhiều đề tài chỉ tập trung vào mô hình cánh tay Robot để gắp và phân loại sản phẩm Việc thiết kế và điều khiển Robot sử dụng xử lý ảnh vẫn còn gặp nhiều hạn chế.

Trong quá trình nghiên cứu tại Trường Đại học Sư Phạm Kỹ Thuật, đã có nhiều đề tài được phát triển liên quan đến việc phân loại đối tượng thông qua công nghệ thị giác máy tính.

Một số đề tài có thể kể như:

Bảng 1.2 Các đề tài phân loại rác trong trường

Tên đề tài Khoa Nhóm tác giả

Thiết Kế Và Chế Tạo Hệ

Thống Phân Loại Rác Tự Động

Khoa Cơ Khí Chế Tạo

Võ Nhựt Minh Nguyễn Đức Lợi h Ứng Dụng PLC Trong Điều Khiển Robot Delta Để Phân Loại Sản Phẩm

Khoa Điện-Điện Tử Trần Hảo Ý

Mục tiêu đề tài

Mục đích đề tài của nhóm là nghiên cứu, thiết kế và vận hành được robot Scara để phân loại rác tái chế (chai nhựa)

Mục tiêu của đề tài sẽ dùng hệ thống xử lý ảnh để nhận tín hiệu đầu vào và thông qua bộ xử lý để điều khiển được Robot

Xây dựng mô hình theo thiết kế ban đầu được đặt ra

Lắp đặt tủ điện điều khiển và kết nối thành công các thiết bị với nhau dựa trên các tiêu chuẩn được quy định

Lập ra lưu đồ giải thuật và đưa ra được ý tưởng nhằm đáp ứng đúng các yêu cầu mà bài toán đưa ra.

Nội dung nghiên cứu

Chương 1: Tổng Quan Ở chương này sẽ nêu lên các vấn đề, lý do chọn đề tài, đưa ra mục tiêu nghiên cứu bố cục đồ án cũng như là giới hạn của đề tài

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

Trình bày về cơ sở lý thuyết về PLC hãng Mitsubishi, Servo Driver, Servo motor, công nghệ thị giác máy tính

Chương 3: Thiết kế và thi công hệ thống Ở chương này sẽ trình bày các bước thi công phần cứng, lựa chọn thiết bị, sơ đồ đấu dây dựa trên thực tế và bản vẽ thiết kế

Chương 4: Tính toán động học và quy hoạch quỹ đạo

Sử dụng các phần mềm để tính toán động hoạch thuận, nghịch và quy hoạch quỹ đạo h

Chương này tập trung vào việc huấn luyện mạng Yolo để phát hiện vật thể, sau đó sử dụng kết quả đầu ra cho phần mềm nhận diện Tiếp theo, tín hiệu vị trí của vật sẽ được xử lý và gửi trả về cánh tay robot để thực hiện các tác vụ cần thiết.

Chương 6: Tính toán và thiết kế phần mềm điều khiển

Trong bài viết này, chúng tôi sẽ trình bày về giải thuật điều khiển và đường đi của dữ liệu, đồng thời giới thiệu giao diện người dùng được thiết kế thân thiện và dễ sử dụng.

Chương 7: Đưa mô hình vào hoạt động, thực nghiệm và đánh giá kết quả

Sử dụng nhiều mẫu thử, trường hợp khác nhau, đưa ra đánh giá quy trình và chọn thông số tốt nhất

Chương 8: Đưa ra kết luận và hướng phát triển của đề tài Đưa ra kết quả tổng quan của cả đề tài, những tiềm năng có thể và những hạn chế cần khắc phục Hướng đi trong tương lai gần.

Giới hạn đề tài

Trong đồ án này, chúng tôi phát triển ứng dụng cánh tay Robot Scara để phân loại rác, đặc biệt là chai nhựa Ứng dụng sử dụng công nghệ xử lý ảnh nhằm nhận dạng và phân loại chai nhựa từ rác sinh hoạt hàng ngày của hộ gia đình.

Mục tiêu chính của đề tài là xử lý ảnh, tuy nhiên, nhóm gặp khó khăn trong việc đáp ứng nhu cầu về phần cứng và thời gian cho lập trình.

Các công cụ đánh giá

Phân tích dữ liệu là một bước quan trọng, sử dụng các công cụ tìm kiếm như Google và Google Scholar để thu thập thông tin Bên cạnh đó, phân tích toán học bao gồm việc tính toán động học dựa trên cấu trúc hình học của robot, cũng như tính toán động lực học thông qua các phương pháp Newton – Euler và Jacobian.

Phân tích mô phỏng là quá trình quan trọng trong thiết kế robot, trong đó phần mềm Solidworks được sử dụng để tạo ra mô hình tay máy robot song song 4 bậc tự do với độ chính xác cao Đồng thời, phần mềm MATLAB Simulink và Simscape được áp dụng để lập trình và mô phỏng, giúp kiểm nghiệm các bài toán động học một cách hiệu quả.

Phân tích thí nghiệm: Thiết kế thuật toán điều khiển và áp dụng trên mô hình thực tế h

CƠ SỞ LÝ THUYẾT

Giới thiệu chung về PLC

PLC (Bộ điều khiển logic khả trình) là thiết bị cho phép thực hiện các thuật toán điều khiển logic một cách linh hoạt thông qua ngôn ngữ lập trình Người dùng có thể lập trình PLC để thực hiện nhiều trình tự và sự kiện khác nhau, sử dụng các ngôn ngữ lập trình như Ladder hoặc State logic.

Với sự phát triển của máy móc tự động hóa, PLC ngày càng được cải tiến với nhiều tính năng mới, cho phép điều khiển đa dạng thiết bị và kết nối nhiều hệ thống Các tính năng mở rộng phổ biến của PLC hiện nay bao gồm khả năng đọc và xuất tín hiệu analog, đọc xung tốc độ cao từ cảm biến đo vòng quay encoder, và kết nối với các thiết bị ngoại vi qua truyền thông như màn hình cảm ứng HMI, máy tính, và camera.

● Bộ xử lý (CPU: Central Processing Unit)

Bộ não của PLC quyết định tốc độ xử lý và khả năng điều khiển chuyên biệt của nó Đây là nơi tiếp nhận tín hiệu từ ngõ vào, đồng thời thực hiện xử lý và xuất tín hiệu ra ngõ ra.

● Khối ngõ vào (Module Input): gồm hai loại: ngõ vào số DI (Digital Input) và ngõ vào tương tự AI (Analog Input)

Ngõ vào DI kết nối với các thiết bị tạo ra tín hiệu dạng xung như: nút nhấn, công tắc hành trình, cảm biến tiệm cận…

Ngõ vào AI kết nối với các thiết bị tạo ra tín hiệu liên tục như: cảm biến nhiệt độ, khoảng cách, độ ẩm

● Khối ra (Module Output): gồm hai loại: ngõ ra số DO (Digital Output) và ngõ ra tương tự AO (Analog Output)

Ngõ ra DO kết nối với các cơ cấu chấp hành điều khiển theo quy tắc On/ Off như: đèn báo, chuông, van điện…

Ngõ ra AO kết nối với các cơ cấu chấp hành cần tín hiệu điều khiển liên tục: biến tần, van tuyến tính… h

2.1.2 Đặc điểm của PLC Ưu điểm: Để so sánh giữa PLC và các mạch điều khiển dạng tiếp điểm truyền thống thì PLC có khá nhiều ưu điểm đáng kể như sau:

- Khả năng điều khiển linh hoạt

PLC được trang bị sẵn Timer và Counter, cùng với các khối chuyên dụng như bộ phát xung tốc độ cao, bộ đếm tốc độ cao và bộ điều khiển PID, giúp nâng cao hiệu suất và tính linh hoạt trong quá trình điều khiển.

- PLC có thể thay thế toàn bộ mạch điều khiển truyền thống sử dụng dây dẫn

- Khả năng truyền thông, kết nối với máy tính hay PLC khác

- Tuổi thọ cao, chống nhiễu tốt trong môi trường công nghiệp

Nhược điểm lớn nhất của PLC là giá thành cao, khiến nó khó tiếp cận với các hệ thống đơn giản so với mạch điều khiển tiếp điểm truyền thống Ngoài ra, người dùng cũng cần có kiến thức về lập trình PLC để sử dụng hiệu quả.

Với những ưu điểm vượt trội, PLC đã thay thế hầu hết các hệ thống điều khiển truyền thống trong các nhà máy công nghiệp, mang lại hiệu quả hoạt động cao hơn, độ tin cậy tốt hơn và tiết kiệm nhân công, đồng thời giảm thiểu sai sót do người vận hành.

Hình 2.1 Các dòng PLC Mitsubishi h

PLC dòng Q của hãng MITSUBISHI

Họ Q PLC Mitsubishi, phát triển từ dòng sản phẩm AnSH trước đó, cho phép người dùng linh hoạt kết hợp giữa CPU, công cụ truyền tin, module điều khiển chuyên biệt và I/O trên cùng một nền tảng Người dùng có thể phối hợp PLC cơ bản và nâng cao cũng như các giải pháp Motion để tối ưu hóa hiệu suất hệ thống.

CPU, Process Controllers và ngay cả PC vào trong một hệ thống duy nhất lên đến 4 CPU khác nhau

Bảng 2.1 Các kí hiệu của PLC dòng Q series

Tên CPU dòng Q Mô tả Mẫu CPU

QnUCPU Các tính năng, phương pháp, thiết bị cho lập trình

Mã CPU ứng dụng tổng quát

Các tính năng, phương pháp, thiết bị cho lập trình

Mẫu QCPU cơ bản/ hiệu năng cao/ điều khiển quy trình/ dự phòng

QCPU Thông tin cho cấu hình hệ thống đa CPU (cấu hình hệ thống, thông số I/O, liên kết thiết bị vào/ra và tính năng thiết bị thông minh

Mẫu QCPU cơ bản/ hiệu năng cao/ điều khiển quy trình/ ứng dụng tổng quan

QnPRHCPU Cấu hình hệ thống dự phòng, tính năng, kết nối với các thiết bị bên ngoài và xử lý sự cố

QnUCPU Tính năng liên kết thông qua cổng Ethernet gắn trong

Mã CPU ứng dụng tổng quát h

Hình 2.2 Các loại thiết bị CPU dòng Q hiện có Bảng 2.2 Các loại nguồn cung cấp cho CPU

Tên Module Đầu vào Đầu ra

Hình 2.3 Các loại mô-đun nguồn và thẻ nhớ

Bảng 2.3 Các module ngõ vào

Hình 2.4 Sơ đồ mạch điện đầu vào PLC Bảng 2.4 Các module ngõ ra

Transistor 12 đến 24VDC (Sink/source)

Hình 2.5 Sơ đồ mạch điện đầu ra PLC

PLC bao gồm một bộ nhớ chương trình RAM chính, có khả năng mở rộng với bộ nhớ ngoài EPROM Nó cũng được trang bị bộ vi xử lý với cổng giao tiếp để kết nối với PLC và các mô-đun vào/ra.

Hình 2.6 Cấu trúc PLC dòng Q

Nguyên lý hoạt động của PLC là điều khiển tín hiệu qua module đầu ra để điều khiển các thiết bị bên ngoài theo chương trình đã lập trình sẵn Một chu kỳ quét, hay còn gọi là vòng quét, bao gồm việc đọc tín hiệu đầu vào, thực hiện chương trình, truyền thông nội, tự kiểm tra lỗi và gửi cập nhật tín hiệu đầu ra Thời gian thực hiện một vòng quét thường rất ngắn, từ 1ms đến 100ms, và phụ thuộc vào tốc độ xử lý lệnh của PLC, độ dài chương trình, cũng như tốc độ giao tiếp giữa PLC và thiết bị ngoại vi.

Động cơ

2.3.1 Động cơ bước Động cơ bước là một loại động cơ có nguyên lý và ứng dụng khác biệt nhất trong các loại động cơ điện thông thường Nó là động cơ đồng bộ biến đổi tín hiệu điều khiển dạng xung rời rạc kế tiếp nhau thành chuyển động góc quay Số xung đầu vào sẽ quyết định góc bước

Động cơ Servo là một loại máy móc chuyên dụng, cung cấp cơ năng cho nhiều thiết bị Để đảm bảo hoạt động chính xác, Driver Servo là bộ phận thiết yếu, cung cấp lực cần thiết cho Động cơ Servo trong quá trình vận hành các thiết bị máy móc.

Động cơ Servo được chia thành hai loại chính: động cơ AC Servo và động cơ DC Servo Động cơ DC Servo sử dụng nguồn một chiều và có chổi than, do đó cần bảo trì định kỳ để thay thế chổi than sau thời gian dài sử dụng DC Servo nổi bật với khả năng điều khiển tốc độ ổn định nhờ vào bộ điều khiển PWM Ngược lại, động cơ AC Servo có cấu trúc tương tự động cơ không chổi than, yêu cầu bảo trì ít hơn vì không có chổi than Hệ thống Encoder trong động cơ AC Servo giúp kiểm soát và cảnh báo vị trí rôto, đảm bảo dòng điện chính xác qua các cuộn dây Động cơ AC Servo có quán tính rôto thấp, với hệ thống điều khiển phức tạp, cho phép điều phối dòng điện, tần số và pha để đạt được vị trí mong muốn Tốc độ quay của AC Servo có thể lên tới 6000 vòng/phút hoặc hơn trong các ứng dụng chuyên dụng Đối với động cơ AC Servo của hãng Mitsubishi, chúng được phân loại theo ứng dụng và ký hiệu seri.

Động cơ quán tính trung bình (Series HF) đảm bảo độ chính xác cao, rất phù hợp cho các máy cần tăng tốc nhanh chóng.

- Động cơ quán tính thấp (Series HF-KP): Phù hợp với một trục phụ trợ đòi hỏi phải h

Động cơ servo dẫn động trực tiếp Series TM-RB kết hợp mô-men xoắn cao với hệ thống điều khiển có độ lợi cao, mang lại khả năng tăng tốc và định vị nhanh chóng, giúp máy hoạt động mượt mà hơn.

AC Servo có khả năng thực hiện ba loại điều khiển: điều khiển vị trí, điều khiển tốc độ, điều khiển momen

- Điều khiển vị trí: AC Servo có khả năng điều khiển vị trí chính xác đến từng micromet mà mắt người không thể phát hiện được

Điều khiển tốc độ là công nghệ quan trọng được ứng dụng trong các thiết bị như máy xi mạ quay, thường được sử dụng trong quá trình sản xuất mạch bán dẫn.

- Điều khiển momen: momen là lực dùng để xoay các trục được sử dụng như máy in công nghiệp

AC Servo được cấu hình chủ yếu với hai thiết bị chính là bộ khuếch đại servo (trình điều khiển servo) và động cơ servo (bộ dò và bộ truyền động) Tuy nhiên, việc vận hành các servo là không thể nếu không có sự kết hợp chính xác giữa các thành phần này.

Hệ thống AC sử dụng bộ khuếch đại servo và động cơ servo, cần một bộ điều khiển để gửi lệnh điều khiển Khi nhận lệnh, bộ khuếch đại servo truyền lệnh đến động cơ servo, tạo ra lực truyền động theo yêu cầu Động cơ servo được trang bị bộ mã hóa, giúp phát hiện vị trí hiện tại và gửi thông tin này về bộ khuếch đại servo Bộ khuếch đại servo so sánh giá trị lệnh với giá trị hiện tại từ bộ mã hóa và đưa ra lệnh sửa đổi nhằm giảm thiểu sự khác biệt, quá trình này được gọi là điều khiển hồi tiếp.

2.3.2.5 Ưu nhược điểm Động cơ servo AC

Mô tơ điện có nhiều ưu điểm nổi bật như khả năng điều khiển tốc độ tốt và trơn tru trên toàn bộ dải tốc độ, gần như không có dao động Hiệu suất của nó đạt hơn 90%, ít sinh nhiệt, cho phép điều khiển tốc độ cao và vị trí chính xác, tùy thuộc vào độ chính xác của bộ mã hóa Ngoài ra, mô tơ còn có mô-men xoắn và quán tính thấp, tiếng ồn thấp, không sử dụng bàn chải, và đặc biệt là bảo trì miễn phí trong môi trường không có bụi và nổ.

- Nhược điểm: Điều khiển phức tạp hơn, các thông số ổ đĩa cần phải điều chỉnh các thông số PID để xác định nhu cầu kết nối nhiều hơn h

Encoder

Bộ mã hóa là cảm biến vị trí cung cấp thông tin về góc quay và tốc độ của trục kết nối Nguyên lý hoạt động của nó dựa trên một đĩa quay, trên đó có các lỗ hoặc khe cho phép tín hiệu quang đi qua, giúp xác định góc quay Khi trục quay làm đĩa quay, tín hiệu ánh sáng từ đĩa sẽ liên tục tạo ra xung, từ đó ghi lại số lượng xung và tốc độ xung, cho phép xác định góc quay và tốc độ của bộ mã hóa.

Hình 2.9 Encoder dùng trong công nghiệp

Encoder thường được phân làm 2 loại: encoder tuyệt đối (Absolute encoder) và encoder tương đối (Increamental encoder)

Encoder tuyệt đối là thiết bị có khả năng xác định chính xác vị trí của trục động cơ so với điểm quy định ban đầu Đĩa encoder tuyệt đối được thiết kế với nhiều rãnh có kích thước khác nhau và sắp xếp không đều, cho phép tín hiệu quang đi qua các rãnh này Tín hiệu vị trí được xác định thông qua việc phân tích kích thước và số lượng rãnh, sau đó được biên dịch sang hệ nhị phân để xác định vị trí của trục quay.

Hình 2.10 Đĩa Encoder tuyệt đối

Encoder tương đối là loại encoder có đĩa quay với nhiều rãnh kích thước bằng nhau và cách đều nhau Khi tín hiệu quang đi qua mỗi rãnh, nó tạo ra một xung tín hiệu, cho phép xác định góc quay của trục.

Hình 2.11 Đĩa Encoder tương đối

Encoder tuyệt đối vượt trội hơn encoder tương đối nhờ khả năng ghi nhớ vị trí chính xác trên vòng quay của đĩa hoặc trục kết nối Khi mất điện, encoder tuyệt đối vẫn duy trì vị trí của mình, cho phép hệ thống tiếp tục hoạt động mà không cần quay về điểm khởi đầu Tuy nhiên, encoder tuyệt đối có giá thành cao, yêu cầu hệ thống điều khiển phức tạp hơn và cần thiết bị hỗ trợ hiện đại với chi phí đắt đỏ.

Bộ điều khiển động cơ servo

Driver Servo là bộ khuếch đại điện tử dùng để theo dõi tín hiệu phản hồi từ cơ chế Servo, liên tục điều chỉnh độ lệch so với hành vi dự kiến Nó cung cấp điện cho động cơ Servo, tạo ra chuyển động tương ứng với tín hiệu lệnh, thường biểu thị vận tốc, momen hoặc vị trí mong muốn Cảm biến gắn vào động cơ Servo báo cáo trạng thái thực tế về bộ khuếch đại, cho phép so sánh giữa trạng thái thực tế và trạng thái được chỉ định Dựa trên sự so sánh này, tần số, điện áp hoặc độ rộng xung sẽ được điều chỉnh để khắc phục bất kỳ độ lệch nào từ trạng thái lệnh.

Hệ thống điều khiển được cấu hình đúng cách cho phép động cơ Servo hoạt động với vận tốc gần như tương đồng với tín hiệu vận tốc nhận được Các tham số như độ cứng và giảm chấn có thể được điều chỉnh để tối ưu hóa hiệu suất Mặc dù một số động cơ Servo yêu cầu Drive đặc thù cho từng thương hiệu hoặc kiểu động cơ, nhiều Drive hiện nay lại có khả năng tương thích với nhiều loại động cơ khác nhau.

Dòng Servo thế hệ mới MR-J4 mang công nghệ điều khiển Servo tiên tiến nhất, với tính năng chống rung chuyên dụng cho máy móc và autotuning thời gian thực, giúp đạt độ chính xác cao, thời gian phản hồi nhanh và dễ dàng lắp đặt So với dòng Servo MR-J2S trước đó, Servo MR-J4 và MR-J3 có kích thước nhỏ hơn khoảng 40%.

Phương pháp điều khiển vị trí động cơ servo

Số xung trên mỗi vòng quay là thiết lập quan trọng giúp động cơ nhận biết số lượng xung cần thiết để hoàn thành một vòng quay Số xung này được xác định bởi số xung cố định trên Encoder và hộp số kết nối trực tiếp với động cơ.

Số lượng di chuyển trên mỗi vòng quay là cài đặt quan trọng cho các cơ cấu cơ khí liên kết với trục động cơ, bao gồm vít me, hệ thống tuyến tính và bàn xoay.

Chế độ phát xung là cài đặt phương pháp truyền tín hiệu xung lệnh và xác định hướng quay, nhằm tối ưu hóa hiệu suất cho bộ điều khiển servo kết nối.

Output signal logic (Tín hiệu logic đầu ra): có thể lựa chọn một trong hai chếđộ

Positive logic – nhận lệnh mức High hoặc Negative logic – nhận lệnh mức low

Thiết lập hướng quay cho động cơ servo là một bước quan trọng, vì chiều quay không có mặc định Hướng quay được xác định theo chiều kim đồng hồ hoặc ngược chiều kim đồng hồ Để thiết lập, cần cài đặt động cơ quay theo hướng mà giá trị vị trí báo về là dương, tương ứng với quay thuận, trong khi giá trị âm sẽ biểu thị cho quay nghịch.

Hình 2.13 Minh họa chiều quay của động cơ

Tổng quan về thị giác máy tính và xử lý ảnh

Thị giác máy tính và xử lý ảnh là hai lĩnh vực liên quan chặt chẽ, sử dụng trí tuệ nhân tạo (AI) và nhận dạng mẫu để trích xuất thông tin có ý nghĩa từ hình ảnh, video và các dữ liệu trực quan khác.

2.7.1 Giới thiệu về thị giác máy tính

Thị giác máy tính, thông qua xử lý hình ảnh, giúp nhận dạng và phân loại dữ liệu hình ảnh một cách hiệu quả Công nghệ này ngày càng vượt trội trong việc xác định các mẫu từ hình ảnh so với khả năng nhận thức của con người Hiện nay, thị giác máy tính đang được ứng dụng rộng rãi trong nhiều lĩnh vực, bao gồm chăm sóc sức khỏe, truyền thông, chơi game và vận tải.

2.7.2 Giới thiệu về xử lý ảnh

Xử lý ảnh đóng vai trò quan trọng trong kỷ nguyên 4.0 và là nền tảng của thị giác máy tính, chuyển đổi ảnh ban đầu thành hình ảnh mới theo yêu cầu người dùng Các thuật toán xử lý hình ảnh giúp trích xuất thông tin, khôi phục và nén dữ liệu hình ảnh cũng như video.

Xử lý ảnh nhằm các mục đích:

- Phát triển thuật toán nhằm xử lý ảnh để tăng hoặc giảm chất lượng ảnh đầu vào, lọc nhiễu, làm sắc nét, tăng hoặc giảm độ tương phản, …

- Sử dụng các kỹ thuật khác nhau để phân loại mẫu

- Quang trắc trong việc liên quan đến thu thập số liệu tương đối từ dữ liệu đầu vào

Camera calibration là quá trình xác định các tham số của camera để tái tạo không gian 3D từ hình ảnh ghi lại Phương pháp này chủ yếu dựa vào mô hình Pinhole camera, một trong những mô hình phổ biến nhất hiện nay Các bước thực hiện bao gồm tính toán và thực nghiệm để đạt được độ chính xác cao trong việc mô phỏng các cảnh vật và đối tượng thực tế.

• Các thể loại biến dạng do camera gây ra

• Thuộc tính nội và ngoại của camera

[5][6] Có hai loại biến dạng chủ yếu qua mô hình Pinhole camera, bao gồm méo xuyên tâm (radial distortion) và méo tiếp tuyến (tagential distortion)

Sự biến dạng xuyên tâm làm cho các đường thẳng có vẻ cong Sự biến dạng xuyên tâm càng lớn khi các điểm càng xa tâm ảnh

Méo tiếp tuyến, hay còn gọi là méo lệch tâm, xảy ra khi cụm thấu kính không được căn giữa và song song với mặt phẳng hình ảnh Hiệu ứng hình học từ sự biến dạng tiếp tuyến này không hoàn toàn dọc theo trục xuyên tâm.

Hình 2.14.Ví dụ về hỉnh ảnh không bị biến dạng, biến dạng xuyên tâm dương và âm

Hình 2.15 Ví dụ về nguyên nhân gây ra méo xuyên tâm t

Hình 2.16 Ví dụ về biến dạng xuyên tâm h

Sự biến dạng của ảnh có thể gây ra thông tin không chính xác, đặc biệt trong việc xác định vị trí từ hình ảnh Những biến dạng này dẫn đến sai lệch trong kết quả so với vị trí thực tế của vật Để khắc phục vấn đề này, cần thực hiện bước hiệu chỉnh trước khi đọc thông tin từ ảnh nhằm loại bỏ các biến dạng.

Các thông số camera bao gồm ma trận thông số nội (Intrinsics), ma trận thông số ngoại (Extrinsics) và hệ số méo (Distortion) Để ước tính những thông số này, cần có các điểm trong hệ tọa độ 3 chiều và các điểm hình ảnh 2 chiều tương ứng trên màn hình.

Biến dạng xuyên tâm có thể được biểu diễn như sau:

Hiện tượng méo tiếp tuyến xảy ra khi dải ảnh không được căn chỉnh hoàn toàn song song với mặt phẳng chụp ảnh, dẫn đến một số khu vực trong hình ảnh trông gần hơn mong đợi Mức độ biến dạng tiếp tuyến có thể được biểu diễn bằng các công thức cụ thể.

• x, y: Tọa độ gốc có đơn vị là pixel, vô hướng

• f: Hệ số méo xuyên tâm của ống kính

• p p 1 , 2 : Hệ số méo tiếp tuyến của ống kính

Rút lại ma trận biến dạng cần tìm:

Hình 2.17 Mô hình Pinhole camera

Mô hình đơn giản của camera Pinhole được minh họa trong hình (2.17), trong đó ánh sáng đi qua lỗ kim và chiếu lên màn chắn của camera Hình ảnh thu được sẽ bị đảo ngược so với thực tế Camera cũng có khả năng chuyển đổi hình ảnh từ màn chắn sang định dạng số.

Mô hình camera bao gồm hai tham số quan trọng cần chú ý: tham số nội (Intrinsic matrix) và tham số ngoại (Extrinsic matrix).

2.7.3.4 Các tham số của camera

Hình 2.18 Các tham số của mô hình Pinhole camera

Hình (2.18) minh họa các thông số của camera trong quá trình số hóa ảnh, bao gồm hai tham số quan trọng: tham số nội (Intrinsic parameters) và tham số ngoại (Extrinsic parameters).

- Tham số nội (Intrinsic parameters) h

Là tham số bên trong camera và đại diện cho quá trình ảnh được 2D hóa Từ hệ tọa độ

3 trục Oxyz của camera (Camera coordinates system) ảnh được chuyển sang tọa độ chỉ gồm

2 trục Oxy (Image coordinates system) của màn chắn Mỗi camera sẽ có một tham số nội khác nhau do các nhà sản xuất với công nghệ khác nhau

- Tham số ngoại (Extrinsic parameters)

Tham số ngoại là các yếu tố bên ngoài của camera, phản ánh quá trình chuyển đổi giữa hệ tọa độ thực và hệ tọa độ của camera.

Phép dời trục giữa hai hệ trục 3 chiều tương tự như phép dời trục giữa các khớp của robot, và nó phụ thuộc vào ma trận xoay R cùng với ma trận tịnh tiến T.

2.7.3.5 Ma trận chuyển đổi vị trí

Ma trận thông số ngoại là công cụ chuyển đổi giữa hệ trục tọa độ thế giới và hệ trục tọa độ của camera, trong khi ma trận thông số nội thực hiện việc chuyển đổi điểm từ hệ trục tọa độ camera sang hệ tọa độ pixel của ảnh.

Chuyển đổi HTĐ Thế giới sang HTĐ Camera u v

Chuyển đổi HTĐ Camera sang HTĐ ảnh

Chuyển đổi HTĐ ảnh sang HTĐ pixel

Hình 2.19.Sơ đồ chuyển đổi tổng quát camera

Hình 2.20 Tương quan giữa điểm và camera h

Sự tương quan giữa vật thể và camera được thể hiện qua tọa độ Pc = [Xc, Yc, Zc] Để chuyển đổi từ hệ tọa độ thế giới sang hệ tọa độ camera, cần sử dụng ma trận xoay và dịch chuyển để biểu diễn mối quan hệ giữa các trục tọa độ.

2.7.3.6 Tìm thông số nội của camera

Tổng quan về trí tuệ nhân tạo

2.8.1 Trí tuệ nhân tạo (Artificial Intelligence)

Trí tuệ nhân tạo (AI) là khả năng của máy móc trong việc mô phỏng các chức năng nhận thức của con người, bao gồm học tập và giải quyết vấn đề Ở mức độ cơ bản, AI có thể được hiểu là một tập hợp các quy tắc lập trình, cho phép máy móc hành động theo cách nhất định trong các tình huống cụ thể, tương tự như các câu lệnh if-else.

Hình 2.29 Tổng quan về trí tuệ nhân tạo

Hình 2.30 Ví dụ về trí tuệ nhận tạo

Học máy đòi hỏi lập trình và thuật toán phức tạp để đạt được chức năng mong muốn Khi lượng dữ liệu đầu vào tăng lên, khả năng huấn luyện các mẫu chính xác cũng được cải thiện.

Thông thường có ba kiểu học máy hay được sử dụng:

Học có giám sát là phương pháp trong đó dữ liệu được gắn nhãn, cho phép xác định mục tiêu rõ ràng Bằng cách sử dụng phương pháp này, các hệ thống có khả năng dự đoán kết quả tương lai dựa trên dữ liệu lịch sử Để đào tạo mô hình, cần ít nhất một biến đầu vào và một biến đầu ra.

Học không giám sát là phương pháp sử dụng dữ liệu không được gắn nhãn để khám phá các mẫu ẩn trong dữ liệu Các hệ thống có khả năng nhận diện các đặc điểm tiềm ẩn từ dữ liệu đầu vào, giúp làm nổi bật các mẫu và điểm tương đồng khi dữ liệu trở nên dễ đọc hơn.

Học tăng cường, hay còn gọi là học củng cố, là một phương pháp học tập tương tự như học có giám sát, nhưng thay vì nhận đầu ra mục tiêu, phần thưởng được cấp dựa trên mức độ hoạt động của hệ thống Mục tiêu của học tập củng cố là tối đa hóa phần thưởng thông qua quá trình thử và sai, giúp hệ thống học hỏi và cải thiện hiệu suất theo thời gian.

Học sâu là một nhánh của trí tuệ nhân tạo, dựa trên mạng lưới lớp thần kinh nhân tạo Thuật toán học sâu cần dữ liệu để học hỏi và giải quyết vấn đề, vì vậy nó cũng được xem là một phần của học máy Mặc dù học máy và học sâu thường bị nhầm lẫn, nhưng hai hệ thống này có những khả năng khác nhau.

Vì là tập con của ML và AI nên có thể định nghĩa khái quát các thuật ngữ này:

- Trí tuệ nhân tạo (AI) là nhiệm vụ rộng rãi của việc tạo ra những cỗ máy có thể suy nghĩ một cách thông minh

- Học máy (ML) là một cách để thực hiện điều đó, bằng cách sử dụng các thuật toán để thu thập thông tin chi tiết từ dữ liệu

- Học sâu (DL) là một cách để làm điều đó, sử dụng một thuật toán cụ thể được gọi là mạng nơ-ron

2.8.3.1 Khác biệt giữa học máy và học sâu Đầu tiên và quan trọng nhất, trong khi các thuật toán Machine Learning truyền thống có cấu trúc khá đơn giản, chẳng hạn như hồi quy tuyến tính hoặc cây quyết định, thì học sâu h dựa trên mạng thần kinh nhân tạo Mạng nơ-ron nhiềulớp này, giống như bộ não con người, phức tạp và đan xen Thứ hai, các thuật toán học sâu đòi hỏi ít sự can thiệp của con người hơn Ở ví dụ dưới đây, học máy cần các kỹ sư phần mềm tiền xử lý bằng cách chọn thủ công các tính năng và bộ phân loại để sắp xếp hình ảnh, kiểm tra xem đầu ra có theo yêu cầu hay không và điều chỉnh thuật toán nếu không đúng như vậy Tuy nhiên, là một thuật toán học sâu, các tính năng được trích xuất tự động và thuật toán học hỏi từ các lỗi của chính nó

Hình 2.31 Sự khác biệt giữa học sâu và học máy

2.8.4 Mạng nơ-ron tích chập (Convolutional Neural Network) và mạng nơ-ron (Neural

2.8.4.1 Mạng nơ-ron (Neural Network)

Mạng thần kinh nơ-ron là các thuật toán được thiết kế để mô phỏng các mạng thần kinh sinh học, với mục tiêu tạo ra một hệ thống nhân tạo hoạt động tương tự như bộ não con người.

Mạng nơ-ron bao gồm nhiều lớp khác nhau, với số lượng lớp càng nhiều thì mạng càng trở nên "sâu" Mỗi lớp chứa các nút mạng (nơ-ron nhân tạo) được kết nối với các lớp liền kề Mỗi kết nối giữa các nơ-ron có trọng số tương ứng, trong đó trọng số cao hơn sẽ tạo ra ảnh hưởng lớn hơn đến mạng nơ-ron.

Mạng nơ-ron gồm các nơ-ron với hàm kích hoạt, giúp "chuẩn hoá" đầu ra Dữ liệu người dùng đưa vào sẽ đi qua tất cả các lớp và cho ra kết quả ở lớp cuối cùng, được gọi là lớp đầu ra.

Hình 2.33 Ảnh hưởng của trọng số tới đầu các nút mạng

Trong quá trình huấn luyện mô hình mạng nơ-ron, việc điều chỉnh các trọng số là rất quan trọng để tối ưu hóa hiệu suất Mục tiêu của mô hình là xác định bộ giá trị trọng số phù hợp nhất nhằm nâng cao độ chính xác của các phán đoán.

Mạng CNN được xây dựng theo kiến trúc tuần tự, bao gồm một chuỗi các lớp chuyển đổi khối lượng kích hoạt thông qua hàm chức năng Có ba lớp chính trong mạng CNN: lớp tích chập, lớp gộp và lớp kết nối đầy đủ, thường được gọi là lớp ẩn Những lớp này được xếp chồng lên nhau để tạo ra một kiến trúc CNN hoàn chỉnh, giúp xử lý hình ảnh hiệu quả.

• Lớp tích chập (Convolutional Layer): được sử dụng để phát hiện các tính năng

• Lớp không tuyến tính (Non-linearrity Layer): giới thiệu tính phi tuyến tính cho hệ thống h

• Lớp gộp (Pooing Layer): giảm số lượng trọng số và kiểm soát hiện tượng quá khớp (overfiting)

• Lớp làm phẳng (Plattening Layer): chuẩn bị sữ liệu cho mạng nơ-ron cổ điển

• Lớp kết nối đầy đủ (Fully Connected Layer): mạng nơ-ron tiêu chuẩn được sử dụng để phân loại

2.9.4.2 Lớp tích chập (Convolutional Layer)

Trong lớp tích chập, đầu vào là hình ảnh, và bộ lọc tích chập (hay kernel) được sử dụng để xử lý Bộ lọc thường có kích thước 3x3, 5x5 hoặc 7x7 và phải nhỏ hơn ma trận đầu vào Quá trình hoạt động của lớp tích chập bao gồm việc nhân ma trận điểm ảnh đầu vào với ma trận lọc để tạo ra ma trận đặc trưng Ma trận lọc quét qua dữ liệu đầu vào từ trái sang phải và từ trên xuống dưới, thực hiện phép nhân từng phần tử và cộng lại các giá trị tương ứng.

Hình 2.35 Đầu vào và bộ lọc của CNN h

Kết quả của quá trình nhân tích chập giúp mô hình trích xuất đặc trưng từ dữ liệu đầu vào Ảnh với ba kênh màu đỏ, xanh lá và xanh dương được biểu diễn dưới dạng tensor 3 chiều, do đó, ma trận lọc cũng được sử dụng dưới dạng tensor 3 chiều với kích thước k*k*3.

Hình 2.37 Hoạt động tích chập của CNN

Hình 2.38 Kết quả của một phép toán tích chập Hoạt động tích chập của một CNN, I là một mảng đầu vào, K là hạt nhân, I*K là một h

Công thức toán học của lớp tích chập

Với I là ma trận ảnh đầu vào, K là kích thước của ma trận lọc có chiều rộng w và chiều cao h

Hình 2.39 và Hình 2.40 minh họa quá trình hoạt động của tích chập Qua nhiều lần thực hiện nhân tích chập trên một đầu vào với các bộ ma trận lọc khác nhau, chúng ta thu được các bản đồ đặc trưng riêng biệt Khi xắp xếp các bản đồ đặc trưng này lại, kết quả cuối cùng của lớp tích chập sẽ là một ma trận 3 chiều nhiều lớp, bao gồm nhiều ma trận đặc trưng.

Hình 2.39 Thực hiện nhiều biến đổi trên một đầu vào

Hình 2.40 Phép toán tích chập cho mỗi bộ lọc

2.9.4.3 Hàm kích hoạt (Activation Funtion)

Lập trình Python

Python là ngôn ngữ lập trình phổ biến cho ứng dụng web, phát triển phần mềm, khoa học dữ liệu và máy học Với hiệu suất cao, dễ học và khả năng chạy trên nhiều nền tảng, Python thu hút nhiều nhà phát triển Phần mềm Python miễn phí, tích hợp tốt với các hệ thống và giúp tăng tốc độ phát triển.

Các tính năng chính của ngôn ngữ Python:

• Ngôn ngữ lập trình đơn giản, dễ học

• Miễn phí, mã nguồn mở, phổ biến nhất

• Khả năng hoạt động nhiều nền tảng

• Khả năng mở rộng và có thể nhúng

• Ngôn ngữ thông dịch cấp cao

• Thư viện đa dạng để giải quyết nhiều tác vụ phổ biến

• Có thể hướng đối tượng

IDE: Có nhiều IDE hỗ trợ tốt cho Python bao gồm PyCharm, Visual Studio Code, Sublime Text, Jupyter, … h

THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG

Thi công phần cứng

Mục tiêu của nhóm là xây dựng mô hình phân loại chai nhựa, trong đó phần cứng đóng vai trò quan trọng Việc sử dụng phần cứng chất lượng cao sẽ nâng cao độ chính xác và độ tin cậy của hệ thống phân loại này.

Do đó dưới đây nhóm xin liệt kê các phần quan trọng cần phải quan tâm trong việc thi công phần cứng

Camera Personal computer PLC Driver AC servo Robot Scara

Hình 3 1 Sơ đồ tổng quan hệ thống

Nhóm đã phát triển mô hình cánh tay Robot Scara tái sử dụng từ một cánh tay Robot Scara hư hỏng, với các yêu cầu cụ thể như tìm kiếm động cơ phù hợp và đấu nối các đầu dây encoder cùng dây động lực cho tất cả động cơ Bên cạnh đó, cần đấu nối các dây khí nén để đảm bảo hoạt động trơn tru trong không gian làm việc Việc lắp đặt tủ điện cần được thực hiện một cách hợp lý, đảm bảo an toàn, dễ sửa chữa khi gặp sự cố và mang tính thẩm mỹ cao Cuối cùng, phần cứng được lắp đặt phải mang tính thực tế để đáp ứng nhu cầu sử dụng.

3.1.2 Lựa chọn cánh tay robot

Việc lựa chọn cánh tay Robot phù hợp là yếu tố quan trọng đầu tiên trong quá trình thi công Nhóm đã quyết định sử dụng cánh tay Robot Scara của Yamaha, mã hiệu YK600XG, vì tính khả thi và sự phù hợp với đề tài.

Bảng 3 1 Tình hình robot từ giai đoạn đầu và sau khi hoàn thành

Giai đoạn Hình ảnh Tình Trạng

• Tất cả động cơ không còn sử dụng được Dẫn tới tình trạng Robot không thể hoạt động

• Các khớp nối đã lâu không sử dụng dẫn tới không còn mượt mà

• Không thể lắp lên khung được

Tất cả các động cơ của Robot đã được thay thế và kết nối dây ngầm bên trong khung, đảm bảo tính thẩm mỹ cao Tuy nhiên, khớp cuối không thể thay thế được.

• Vệ sinh và thêm mỡ vào các khớp nối

• Thay thế cơ cấu gắp vật ở khớp cuối bằng cơ cấu hút vật để phù hợp hơn với đề tài

• Lắp giá để nâng đỡ Robot lên khung h

3.1.3 Các chi tiết cơ khí robot Scara

Nhóm đã quyết định thay thế toàn bộ servo Tamagawa trên 4 trục robot bằng servo Mitsubishi để thuận tiện cho việc điều khiển, vì nhóm đang sử dụng PLC của Mitsubishi.

Mặt bích của servo Tamagawa không tương thích với mặt bích của servo Mitsubishi, và đường kính đầu trục servo cũng khác nhau Để khắc phục vấn đề này, nhóm đã thiết kế và gia công các mặt bích mới kết hợp với các khớp nối mềm để thay thế.

3.1.3.2 Các chi tiết cơ khí thay thế

Bảng 3 2 Các linh kiện, thiết bị thay thế

Linh kiện, thiết bị Kết quả

Mặt bích Trục đồng Khớp nối Servo

Băng tải có nhiệm vụ đưa đối tượng vào vùng hoạt động và phát hiện của hệ thống

Bảng 3 3 Đặc tính băng tải

• Tỉ số truyền bang tải so với trục động cơ: 1/25

• Chiều dài băng tải: 700mm

• Độ rộng băng tải: 75mm

• Chất liệu khung: Nhôm nguyên khối

Phân loại các đối tượng là một chủ đề rộng rãi và được quan tâm từ lâu Sự đa dạng của các đối tượng và biên dạng của chúng đã dẫn đến việc chú ý nhiều đến các loại thiết bị và cơ cấu phân loại Một số cơ cấu phân loại tiêu biểu có thể được liệt kê như sau:

Bảng 3 4 Các cơ cấu phân loại sản phẩm

Nhóm quyết định sử dụng cơ cấu khí nén do nghiên cứu các đề tài trước đây và trên thế giới cho thấy rằng với hình dạng phân loại là hình hộp chữ nhật hoặc hình dẹp, khí nén mang lại lợi thế tối ưu trong việc gắp vật.

Bảng 3 5 Các thiết bị khí nén

STT Tên thiết bị Hình ảnh Đặc điểm

1 Ti hút, đầu giác hút

▪ Đường kính giác hút: 20mm

2 Van hút chân không ZK-08

▪ Áp suất hoạt động lý tưởng:0.1~16kg/cm 3

▪ Van khí 5/2: là van 5 cửa 2 vị trí

▪ Điện cáp cuộn coil: 24VDC

4 Ống dẫn khí ▪ Chất liệu: PU

TÍNH TOÁN ĐỘNG HỌC VÀ QUY HOẠCH QUỸ ĐẠO CHO ROBOT

Sử dụng các phần mềm để tính toán động hoạch thuận, nghịch và quy hoạch quỹ đạo h

Chương này trình bày quá trình huấn luyện mạng Yolo để phát hiện vật thể, sau đó sử dụng kết quả đầu ra cho phần mềm nhận diện Tiếp theo, tín hiệu vị trí của vật sẽ được xử lý và truyền về cánh tay robot để thực hiện các thao tác cần thiết.

Chương 6: Tính toán và thiết kế phần mềm điều khiển

Bài viết sẽ trình bày về giải thuật điều khiển và đường đi của dữ liệu, đồng thời giới thiệu giao diện người dùng thân thiện, giúp nâng cao trải nghiệm sử dụng.

Chương 7: Đưa mô hình vào hoạt động, thực nghiệm và đánh giá kết quả

Sử dụng nhiều mẫu thử, trường hợp khác nhau, đưa ra đánh giá quy trình và chọn thông số tốt nhất

Chương 8: Kết luận và hướng phát triển của đề tài tổng hợp kết quả nghiên cứu, nêu bật tiềm năng phát triển và những hạn chế cần khắc phục Bên cạnh đó, chương cũng đề xuất những hướng đi trong tương lai gần nhằm tối ưu hóa kết quả và ứng dụng của đề tài.

Dự án này tập trung vào việc phát triển ứng dụng cánh tay Robot Scara để phân loại rác, cụ thể là chai nhựa Nhóm nghiên cứu sử dụng công nghệ xử lý ảnh nhằm nhận dạng và phân loại chai nhựa từ rác thải sinh hoạt hàng ngày của các hộ gia đình.

Mục tiêu chính của đề tài là xử lý ảnh, tuy nhiên nhóm gặp khó khăn trong việc đáp ứng nhu cầu về phần cứng và thời gian lập trình hạn chế.

1.6 Các công cụ đánh giá

Phân tích dữ liệu có thể thực hiện thông qua các công cụ tìm kiếm như Google và Google Scholar Đối với phân tích toán học, cần tính toán động học dựa trên cấu trúc hình học của robot, đồng thời áp dụng các phương pháp Newton – Euler và Jacobian để tính toán động lực học.

Phân tích mô phỏng là quá trình quan trọng trong việc xây dựng mô hình tay máy robot song song 4 bậc tự do bằng phần mềm Solidworks, đảm bảo độ chính xác cao và gần gũi với thực tiễn Để lập trình và mô phỏng kiểm nghiệm bài toán động học, phần mềm MATLAB Simulink và Simscape được sử dụng hiệu quả, giúp tối ưu hóa quá trình thiết kế và kiểm tra.

Phân tích thí nghiệm: Thiết kế thuật toán điều khiển và áp dụng trên mô hình thực tế h

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1 Giới thiệu chung về PLC

PLC (Bộ điều khiển lập trình) là thiết bị điều khiển linh hoạt, cho phép thực hiện các thuật toán điều khiển logic thông qua ngôn ngữ lập trình như Ladder hoặc State logic Người dùng có thể lập trình PLC để thực hiện nhiều trình tự và sự kiện khác nhau, mang lại tính linh hoạt trong quá trình điều khiển.

Với sự phát triển của công nghệ tự động hóa, PLC ngày càng được nâng cấp với nhiều tính năng mới, cho phép điều khiển đa dạng thiết bị và kết nối nhiều hệ thống Hiện nay, các tính năng mở rộng phổ biến của PLC bao gồm khả năng đọc và xuất tín hiệu analog, đọc xung tốc độ cao từ cảm biến encoder, và kết nối với nhiều thiết bị ngoại vi qua giao thức truyền thông như màn hình cảm ứng HMI, máy tính, và camera.

● Bộ xử lý (CPU: Central Processing Unit)

Bộ não của PLC quyết định tốc độ xử lý và khả năng điều khiển chuyên biệt của hệ thống Nó thực hiện việc đọc tín hiệu từ ngõ vào, đồng thời xử lý và xuất tín hiệu ra ngõ ra.

● Khối ngõ vào (Module Input): gồm hai loại: ngõ vào số DI (Digital Input) và ngõ vào tương tự AI (Analog Input)

Ngõ vào DI kết nối với các thiết bị tạo ra tín hiệu dạng xung như: nút nhấn, công tắc hành trình, cảm biến tiệm cận…

Ngõ vào AI kết nối với các thiết bị tạo ra tín hiệu liên tục như: cảm biến nhiệt độ, khoảng cách, độ ẩm

● Khối ra (Module Output): gồm hai loại: ngõ ra số DO (Digital Output) và ngõ ra tương tự AO (Analog Output)

Ngõ ra DO kết nối với các cơ cấu chấp hành điều khiển theo quy tắc On/ Off như: đèn báo, chuông, van điện…

Ngõ ra AO kết nối với các cơ cấu chấp hành cần tín hiệu điều khiển liên tục: biến tần, van tuyến tính… h

PLC có nhiều ưu điểm vượt trội so với các mạch điều khiển dạng tiếp điểm truyền thống, bao gồm khả năng lập trình linh hoạt, giảm thiểu diện tích lắp đặt, tăng cường độ tin cậy và khả năng mở rộng hệ thống dễ dàng.

- Khả năng điều khiển linh hoạt

PLC tích hợp sẵn Timer và Counter, đồng thời hỗ trợ các khối chuyên dụng như bộ phát xung tốc độ cao, bộ đếm tốc độ cao và bộ điều khiển PID, mang lại hiệu suất và tính linh hoạt cao trong quá trình điều khiển.

- PLC có thể thay thế toàn bộ mạch điều khiển truyền thống sử dụng dây dẫn

- Khả năng truyền thông, kết nối với máy tính hay PLC khác

- Tuổi thọ cao, chống nhiễu tốt trong môi trường công nghiệp

Nhược điểm chính của PLC là giá thành cao, điều này khiến nó khó tiếp cận với các hệ thống đơn giản so với mạch điều khiển tiếp điểm truyền thống Bên cạnh đó, người dùng cần có kiến thức về lập trình PLC để có thể sử dụng hiệu quả.

PLC đã chứng tỏ sự vượt trội so với mạch điều khiển tiếp điểm truyền thống nhờ vào hiệu suất hoạt động cao hơn, độ tin cậy tốt hơn và khả năng tiết kiệm nhân công Hiện nay, PLC đã trở thành lựa chọn chính trong các nhà máy dây chuyền công nghiệp, thay thế hầu hết các hệ thống điều khiển cũ, đồng thời giảm thiểu sai sót do con người gây ra.

Hình 2.1 Các dòng PLC Mitsubishi h

2.2 PLC dòng Q của hãng MITSUBISHI

Họ Q PLC Mitsubishi, phát triển từ dòng sản phẩm AnSH trước đó, cho phép người dùng linh hoạt phối hợp và lựa chọn các thành phần tối ưu giữa CPU, công cụ truyền tin, module điều khiển chuyên biệt và I/O trên cùng một nền tảng Người dùng có thể dễ dàng kết hợp PLC cơ bản và nâng cao, cùng với các giải pháp chuyển động.

CPU, Process Controllers và ngay cả PC vào trong một hệ thống duy nhất lên đến 4 CPU khác nhau

Bảng 2.1 Các kí hiệu của PLC dòng Q series

Tên CPU dòng Q Mô tả Mẫu CPU

QnUCPU Các tính năng, phương pháp, thiết bị cho lập trình

Mã CPU ứng dụng tổng quát

Các tính năng, phương pháp, thiết bị cho lập trình

Mẫu QCPU cơ bản/ hiệu năng cao/ điều khiển quy trình/ dự phòng

QCPU Thông tin cho cấu hình hệ thống đa CPU (cấu hình hệ thống, thông số I/O, liên kết thiết bị vào/ra và tính năng thiết bị thông minh

Mẫu QCPU cơ bản/ hiệu năng cao/ điều khiển quy trình/ ứng dụng tổng quan

QnPRHCPU Cấu hình hệ thống dự phòng, tính năng, kết nối với các thiết bị bên ngoài và xử lý sự cố

QnUCPU Tính năng liên kết thông qua cổng Ethernet gắn trong

Mã CPU ứng dụng tổng quát h

Hình 2.2 Các loại thiết bị CPU dòng Q hiện có Bảng 2.2 Các loại nguồn cung cấp cho CPU

Tên Module Đầu vào Đầu ra

Hình 2.3 Các loại mô-đun nguồn và thẻ nhớ

Bảng 2.3 Các module ngõ vào

Hình 2.4 Sơ đồ mạch điện đầu vào PLC Bảng 2.4 Các module ngõ ra

Transistor 12 đến 24VDC (Sink/source)

Hình 2.5 Sơ đồ mạch điện đầu ra PLC

BẬC TỰ DO

Mô hình động học của robot scara 3 bậc tự do

Việc xây dựng mô hình cơ học cho robot SCARA 3 bậc tự do là khả thi nhờ vào cấu tạo đơn giản của nó Bài viết này sẽ trình bày cách phác thảo lại mô hình cơ học cho robot SCARA Để di chuyển điểm thực thi cuối gắn cố định với trục Z, cần thực hiện 3 chuỗi động học khác nhau, bao gồm 2 khớp xoay và 1 khớp tịnh tiến.

Trong mô hình không có khâu bị động, tất cả đều là chủ động và được gắn liền bởi 3 động cơ, tạo nên một cánh tay.

Bài toán động học robot

Để xác định vị trí và hướng của khâu tác động cuối của robot trong không gian, cần gắn hệ trục tọa độ lên tay máy Việc này giúp tính toán vị trí và hướng của khâu tác động cuối Quá trình tính toán từ các biến khớp và mối quan hệ ngược lại được gọi là bài toán động học thuận và động học nghịch của robot.

Bài toán động học thuận nhằm xác định vị trí của khâu tác động cuối của robot dựa trên các biến khớp Để tính toán động học thuận cho robot Scara 3 bậc tự do, trước tiên cần xác định số lượng thanh và khớp của robot, trong đó tất cả các khớp được biểu diễn theo trục Z Đối với khớp quay, trục Z được định hướng theo hướng dịch chuyển tạo ra sự quay theo quy tắc bàn tay phải, trong khi đối với khớp tịnh tiến, trục Z sẽ dọc theo hướng di chuyển Sau đó, ta kẻ đường vuông góc chung với hai trục tọa độ và gắn trục X dọc theo đường vuông góc này giữa hai trục Z, hướng từ khớp thứ i đến khớp i+1.

CHƯƠNG 4: TÍNH TOÁN ĐỘNG HỌC VÀ QUY HOẠCH QUỸ ĐẠO

Hình 4.1 Đặt trục tọa độ cho robot

Có 6 quy tắc về bàn tay phải mà ta phải dựa vào để đặt trục tọa độ cho các khớp rồi sau đó có thể hình thành được bảng DH một cách tổng quát cho bất kỳ Robot nào Các quy tắc như sau:

• Khung thứ i được gắn với liên kết thứ i

• Trục z i được chọn dọc theo trục khớp thứ i

• Trục x i được chọn theo đường vuông góc chung z i và z i + 1

• yi được chọn để làm thành một tọa độ bên phải

• Khung thứ 0 thường được chọn khớp với khung thứ 1 khi biến khớp đầu bằng 0

• Khung thứ N có thể được chọn tự do, thường được chọn tự do, đảm bảo càng nhiều số liên kết càng tốt

Thông qua hiểu biết tóm tắt theo giáo trình, thì nhóm đưa ra bảng DH như sau

Bảng 4.1.Bảng DH của Robot Scara i a i − 1  i − 1 d i  i

• a i − 1 : khoảng cách từ trục z i − 1 đến trục z i đo dọc theo trục x i − 1

•  i − 1 : góc lệch từ trục z i − 1 đến trục z i đo dọc theo trục x i − 1

• d i : khoảng cách từ trục x i − 1 đến trục x i đo dọc theo trục z i

•  i : góc quay từ trục x i − 1 đến trục x i đo dọc theo trục z i

Với αi-1 và θi phải được xác định theo quy tắc bàn tay phải

4.2.3 Tính toán động học thuận

Kí hiệu: i cos i c =  ; s i =sin i ; c 12 =cos(  1 + 2 )

Dựa vào công thức tổng quát của ma trận chuyển vị đồng nhất giữa các liên kết i-1 và i, ta có:

Ma trận chuyển đổi giữa khớp 0 và khớp 1:

Ma trận chuyển đổi giữa khớp 1 và khớp 2:

Ma trận chuyển vị từ hệ trục số 0 đến hệ trục số 3 là:

Tọa độ vị trí của cơ cấu gắp cuối là:

4.2.4 Tính toán động học nghịch cho hệ thống Ở đây số bậc của robot đóng vai trò quan trọng trong bài toán này Sự phức tạp trong bài toán động học nghịch tăng khi số lượng bậc tự do tăng, đặc biệt đối với cơ cấu robot vòng kín, khi mà vị trí điểm đầu cuối chịu sự ràng buộc từ nhiều chuỗi động học khác nhau Ảnh đầu vào

Phát hiện đối tượng, khoanh vùng đối tượng

Trích xuất vị trí đối tượng trong khung ảnh, đơn vị pixel

Tính toán vị trí vật trong không gian sử dụng ma trận chuyển đổi với đơn vị mm là một phần quan trọng trong việc điều khiển robot Để đưa robot tới đối tượng, cần áp dụng động học nghịch và quy hoạch quỹ đạo hiệu quả.

Hình 4.2 Vị trí của động học nghịch trong hệ thống

Tính toán động học nghịch là bước cuối cùng trong quá trình di chuyển tới đối tượng, với đầu vào phụ thuộc vào vị trí được trích xuất trước đó Vị trí này bị giới hạn bởi không gian thực tế của các thành phần như camera và băng tải, do đó cần xem xét các hạn chế để tránh gặp phải vấn đề trong không gian làm việc Để thực hiện tính toán động học nghịch, chúng ta dựa vào các phương pháp tính toán cụ thể.

Từ phương trình (4.6) và (4.7), cộng bình phương 2 vế, ta được

Hoặc theo hình vẽ mô phỏng vị trí khi hoạt động của robot, ta sẽ có vị trí các điểm B

( ,x y ), C( ,x y 2 2 ), và độ dài các khớp AB =a 1 , BC =a 2 Bằng phương pháp hình học ta có được công thức:

Hoặc xét tam giác ABC, ta có:

AC = AB + BC − AB BC − = a + a + a a  (4.12)

Hình 4.3 Đặt trục cho động học nghich

Quy hoạch quỹ đạo cho cánh tay robot

Quy hoạch quỹ đạo là quá trình tạo ra các tín hiệu tham chiếu cho bộ điều khiển robot, giúp robot di chuyển theo quỹ đạo mong muốn Quỹ đạo điểm điểm là loại quỹ đạo mà robot đi qua hai điểm đã được xác định trong một khoảng thời gian nhất định, trong khi quỹ đạo đường là quỹ đạo mà robot di chuyển qua nhiều điểm theo một đường liên tục đã được định trước.

Chuyển động tuyến tính là yếu tố thiết yếu cho các bộ điều khiển chuyển động, với ba yếu tố quan trọng là độ chính xác cao, khả năng lặp lại và tính không phụ thuộc vào hướng để đánh giá hiệu suất điều khiển hai trục Để đạt được hiệu suất tối ưu, thuật toán PLC được áp dụng nhằm đơn giản hóa tính toán chuyển động phức tạp thông qua sự kết hợp giữa bộ tích lũy và cấu trúc phần cứng dựa trên hệ số nhân.

Nội suy là phương pháp ước tính nhằm tạo ra các điểm dữ liệu mới trong khoảng giữa các điểm dữ liệu đã biết, giúp hoàn thiện và mở rộng thông tin từ tập hợp dữ liệu rời rạc.

Nội suy tuyến tính là phương pháp điều chỉnh đường đi nhằm tạo ra các điểm dữ liệu mới trong khoảng giữa của một tập hợp các điểm dữ liệu đã biết, thông qua việc sử dụng các đa thức tuyến tính.

Hình 4.4 Nội suy tuyến tính

Nội suy vòng tròn là quá trình cần thiết trong gia công, đặc biệt khi các bộ phận không có bề mặt phẳng Các dao phay ngón phải di chuyển theo đường phi tuyến tính, và trong trường hợp gia công các đường chạy dao tròn, đường tâm của dao phay ngón sẽ tạo thành một đường tròn.

Để đảm bảo tính thống nhất trong di chuyển và tối ưu hóa thời gian hoạt động của hệ thống, nhóm đã chọn quy hoạch quỹ đạo từ điểm này đến điểm khác theo đường thẳng.

Không gian làm việc

Không gian làm việc của robot là khu vực mà robot có khả năng di chuyển, được xác định bởi góc quay của các khớp và chiều dài của các thanh nối.

Trong nghiên cứu này, chúng ta không xem xét hướng của trục cuối, do đó không gian làm việc chỉ bị giới hạn bởi các yếu tố vật lý liên quan đến sự tương tác với các mục tiêu khác, bao gồm vị trí của Robot, camera và băng tải.

Dựa vào mô hình robot từ hai hình (4.1), (4.3) và thực tế, giới hạn các góc quay của robot được thể hiện bởi, đơn vị rad:

Bảng 4.2 Bảng giới hạn góc quay của các khớp

Khớp xoay thứ nhất 𝜃 1 có giới hạn từ -π/2 đến π/2 rad, trong khi khớp xoay thứ hai 𝜃 2 có giới hạn là -5π/9 rad Bảng 4.2 trình bày các giới hạn góc quay của năm khớp xoay 𝜃 1 và 𝜃 2 Khi chuyển đổi từ đơn vị rad sang độ, chúng ta sẽ xác định được giới hạn của hai khớp này.

Hình 4.6.Không gian làm việc của Robot trong mô phỏng h

PHÁT HIỆN VÀ XÁC ĐỊNH VỊ TRÍ ĐỐI TƯỢNG

TÍNH TOÁN VÀ THIẾT KẾ PHẦN MỀM ĐIỀU KHIỂN, GIAO DIỆN NGƯỜI DÙNG

GX Works2

Lập trình điều khiển các khớp của robot bằng cách cấp xung cho động cơ thông qua phần mềm GXWorks2 và ngôn ngữ Ladder

Hình 6.1 Lập trình trên GXWorks 2

GT Designer3

GT Designer3 là phần mềm để thiết lập giao diện và điều khiển cho màn HMI của hãng Mitsubishi

Bảng 6.1 Giao diện điều khiển hệ thống trên GT Designer 3

Trang Giao diện Tính năng

• Giao diện giới thiệu về robot Scara

• Bảng hiển thị thông tin trạng thái robot, trạng thái băng tải h

• Giao diện hiển thị bảng điều khiển Jog, Home cho robot

• Giao diện hiển thị bảng điều khiển động học thuận, nghịch của robot

• Giao diện hiển thị bảng điều khiển chế độ Chế độ chạy 3 điểm, vòng lặp h

Visual Studio Code

Visual Studio Code là một trình biên tập mã nguồn miễn phí, tương thích với macOS, Windows và Linux, do Microsoft phát triển Nó cung cấp nhiều tính năng hữu ích như gỡ lỗi, tự động hoàn thành mã thông minh, cải thiện mã nguồn, cùng với khả năng tùy chỉnh giao diện và phím tắt cho người dùng.

Yolov5 sử dụng ngôn ngữ Python, vì vậy Visual Studio Code có thể được sử dụng như một công cụ hỗ trợ Bên cạnh đó, nó cũng giúp trong việc giao tiếp với cơ sở dữ liệu.

Bảng 6.2 Giao diện điều khiển trên WinForm

Trang Giao diện Tính năng

• Tại giao diện đầu tiên sẽ bao gồm thông tin về sản phẩm, người thực hiện

• Giao diện hiển thị các thông tin về vị trí, tốc độ, lỗi

• Các nút điều khiển động cơ (Jog, Home, động học thuận nghịch, chế độ Auto, quy hoạch quỹ đạo h

• Giao diện bảng dữ liệu

• Bảng 1: Lưu dữ liệu khi chai đi qua camera

• Bảng 2: Lưu dữ liệu khi chai xuất hiện trong khung và xóa khi ra khỏi khung.

Tính toán thời gian gắp vật

Để đạt hiệu suất tối đa trong việc phân loại đối tượng trên băng chuyền, cần đảm bảo băng chuyền hoạt động liên tục trong suốt quá trình vận hành Tuy nhiên, cần lưu ý về khoảng cách tối thiểu giữa hai vật liên tiếp để đảm bảo quá trình xử lý hiệu quả.

Hình 6.2 Khu vực thực thi trên băng chuyền h

Trong đó: S là khoảng cách giữa tâm 2 đối tượng liên tiếp v bt : là vận tốc băng tải

T: là thời gian thực thi một chu kỳ của Robot

Ta có công thức: bt *

Thời gian thực thi một chu kỳ của Robot phụ thuộc vào vận tốc của từng khớp, với quá trình thực thi được chia thành nhiều chu trình nhỏ khác nhau.

Vậy nên tùy vào giá trị lớn nhất mà vận tốc các khớp đạt được, ta sẽ có kết quả:

Khi tăng vận tốc các khớp để đạt Tmin = 1.4s, mô hình xuất hiện hiện tượng dao động không ổn định Do đó, nhóm quyết định chọn T = 3s Để tính toán công chính xác, cần xem xét gia tốc tăng giảm của từng khớp, nhưng vấn đề này không được đề cập trong đề tài Để tính tốc độ băng tải, cần xem xét thời gian phát hiện đối tượng; với phần mềm, tốc độ chụp 1 frame của camera là 0.05s và tốc độ xử lý của Yolo + DeepSORT cũng khoảng 0.05s, trong khi vùng xử lý là 25mm.

Trường hợp 1: Camera cần xử lý 4 frame trong vùng thực thi

Trường hợp 2: Camera cần xử lý 1 frame trong vùng thực thi

Từ trên ta tính được khoảng cách ngắn nhất giữa 2 chai nhựa liên tiếp mà mô hình có thể hoạt động ổn định được.

Chương trình điều khiển

Hệ thống bao gồm hai trung tâm điều khiển, là máy tính và PLC, để xử lý tín hiệu đầu vào từ camera và xuất các tín hiệu điều khiển cho động cơ AC Servo PLC nhận tín hiệu từ máy tính và thực hiện các hành động như điều khiển động học thuận, nghịch, và chạy theo điểm biết trước Ngoài ra, PLC còn cho phép máy tính đọc và hiển thị trạng thái của các động cơ trên giao diện điều khiển, đồng thời thông báo lỗi nếu có ở các khớp.

Hình 6.3 Lưu đồ hoạt động tuần tự của hệ thống h

Khối xử lý tín hiệu đầu vào

Thiết lập các thông số mặc định

Hình 6.4 Lưu đồ tổng quan hệ thống

Khối xử lý tín hiệu đầu vào

Dán nhãn đối tượng bằng SORT

Lưu thông tin đối tượng vào database 2

Lưu thông tin đối tượng vào database 1

Hình 6.5 Lưu đồ khối xử lý tín hiệu đầu vào h

Phát hiện đối tượng bằng YOLOv5

Chia đối tượng thành nhiều ô

Dự đoán đối tượng, bounding box

Tiền xử lý dữ liệu Đạt ngưỡng Loại bỏ đối tượng

Loại bỏ bouding box dư thừa

Tính toán kết quả cuối cùng

Xuất kết quả ra màn hình kèm thông tin

Hình 6.6 Lưu đồ hoạt động của YOLO h

Dán đối tượng bằng SORT

Sử dụng bộ lọc Kalman Filter

So sánh kết quả IOU tương lai Đã tồn tại Đúng Cập nhật Kalman

Chưa tồn tại Đúng Tạo mới Kalman

Filter cho đối tượng, dán ID

Rời khỏi khung hình Đúng Xóa Kalman Filter của đối tượng

Hình 6.7 Lưu đồ phát hiện đối tượng có cùng một vật hay không h

Chạy Jog tất cả các trục, sau đó về Home

Tải dữ liệu từ cơ sở dữ liệu lên để xử lý

Kiểm tra tín hiệu điều khiển

So sánh tín hiệu với giá trị thực tế

Thông báo lỗi và đợi Reset

Thực hiện hành động Đúng

Hình 6.8 Lưu đồ giải thuật khối điều khiển h

THI CÔNG MÔ HÌNH VÀ ĐÁNH GIÁ KẾT QUẢ THỰC NGHIỆM

Kiểm chứng động học robot scara 3 bậc tự do

7.1.1 Kiểm nghiệm động học nghịch

Chương trình kiểm nghiệm động học nghịch được thực hiện trên phần mềm MATLAB Simulink, nơi chúng ta đưa các vị trí của cơ cấu chấp hành cuối vào khối để tiến hành phân tích.

Chương trình “Inverse Kinematics” được phát triển để tính toán động học nghịch, với đầu ra là các góc khớp tương ứng cho mỗi vị trí đầu vào.

Bảng 7.1 Nhập tọa độ để kiểm chứng động học nghịch Các trường hợp

(đơn vị mm) Kết quả mô phỏng

Nhập tọa độ điểm bất kì (x, y, z) = (300,

Nhập điểm có tọa độ bất kì (x, y, z) = (260,

Sau khi sử dụng bộ động học nghịch để đưa ra giá trị đầu vào, chúng ta thu được hai bộ nghiệm Tùy thuộc vào không gian làm việc và tính thực tế, việc lựa chọn bộ nghiệm phù hợp là cần thiết Nhóm đã quyết định chọn bộ nghiệm 2 do không gian làm việc của cánh tay robot nằm ở phía bên phải.

7.1.2 Kiểm nghiệm động học thuận Để kiểm nghiệm kết quả động học thuận cũng như kết quả của bài toán động học thì ta tiến hành lấy giá trị góc khớp từ khối “Inverse Kinematics” đưa vào khối “Forward Kinematics” đã được lập trình chương trình tính toán động học thuận Ngõ ra của khối

“Forward Kinematics” chính là vị trí của cơ cấu chấp hành cuối sẽ được so sánh với vị trí được đưa vào khối động học nghịch

Bảng 7 2.Kiểm chứng động học thuận Các trường hợp

(đơn vị mm) Kết quả mô phỏng

Nhập tọa độ bất kỳ (x, y, z) (260,350,189) h

Nhập tọa độ bất kỳ (x, y, z) ( -150,400,250)

Dựa trên kết quả từ hai trường hợp và hai hình ảnh, chúng tôi xác nhận rằng kết quả tính toán động học thuận và nghịch là chính xác Điều này cho thấy các kết quả này có thể được áp dụng hiệu quả vào mô hình cánh tay robot SCARA.

Kiểm chứng động học thuận nghịch bằng Module vị trí QD75MH4

7.2.1 Kiểm nghiệm động học nghịch

Mỗi ô trên bàn cờ có kích thước 20mm, và khoảng cách từ gốc tọa độ của Robot đến vị trí đặt bàn cờ là (200, 0, 0) Để kiểm chứng, chúng ta sẽ nhập tọa độ của một vị trí bất kỳ và so sánh với điểm tương ứng trên bàn cờ Sai số có thể xuất hiện do các nguyên nhân như sai lệch trong số liệu đo thực tế hoặc do làm tròn trong quá trình tính toán.

Bảng 7.3: Nhập tọa độ để kiểm chứng động học nghịch Các trường hợp

(đơn vị mm) Kết quả mô phỏng

Nhập tọa độ bất kỳ (x, y, z) (400, 0, 0)

Nhập tọa độ bất kỳ (x, y, z) (400, 240, 0)

Nhập tọa độ bất kỳ (x, y, z) (300, 120, 0)

Nhập tọa độ bất kỳ (x, y, z) (320, 200, 0)

Bảng 7 4: Sai số của bộ điều khiển động học nghịch

Encoder trả về (đơn vị độ)

Sai số (đơn vị độ)

Kết quả so sánh giữa đầu ra của encoder và kết quả tính toán từ MATLAB cho thấy sai số của encoder rất nhỏ, thường là do việc làm tròn số trong PLC, nơi dữ liệu chỉ hiển thị tối đa 5 chữ số sau dấu phẩy Bên cạnh đó, sai số cũng có thể phát sinh từ quá trình làm tròn trong các công thức tính toán.

Kết quả: Có thể sử dụng bộ điều khiển này trong hệ thống

7.2.2 Kiểm nghiệm động học thuận

Bảng 7.5: Nhập góc để kiểm chứng động học thuận Các trường hợp

(đơn vị độ) Kết quả mô phỏng

Kiểm chứng YOLO

Để đánh giá kết quả của mô hình phát hiện dựa trên YOLO, nhóm đưa ra đề xuất thử so sánh kết quả trên 2 mô hình khác nhau:

7.3.1 Lần thử nghiệm ban đầu

Nhóm thực hiện phân tích dựa trên tập dữ liệu ban đầu, sử dụng phương pháp dán nhãn phổ thông bằng bounding box xung quanh đối tượng Dưới đây là ma trận nhầm lẫn thực tế của kết quả tốt nhất, được chọn lọc qua nhiều lần huấn luyện mạng.

Hình 7 1 Huấn luyện theo cách dán bounding box Kết quả thu được là Precision = 0.9178, Recall = 0.74444 h

Kết luận cho thấy rằng việc phát hiện các đối tượng diễn ra khá chính xác, nhưng vẫn còn tỉ lệ bỏ sót cao Đặc biệt, số lượng chai nhựa không nhãn chưa được phát hiện vẫn đáng kể, và các vật thể hình chữ nhật không phải chai cũng bị gán nhãn sai ở mức cao.

Từ kết luận trên, nhóm hướng tới việc cải thiện dữ liệu đầu vào cho mô hình phát hiện đối tượng dựa trên thư viện YOLO

7.3.2 Lần thử nghiệm thứ hai

Nhóm đã tiến hành lọc lại bộ dữ liệu bằng cách loại bỏ những dữ liệu không rõ hình dạng chai và ảnh chai bị mất viền, nhằm giảm thiểu ảnh hưởng đến mô hình Việc gán nhãn cũng đóng vai trò quan trọng trong việc cải thiện mạng nơ-ron thần kinh, với việc dán nhãn dựa trên biên dạng của chai nhựa Sau khi xây dựng lại mô hình, ma trận nhầm lẫn thực tế của kết quả tốt nhất đã được lựa chọn thông qua nhiều lần huấn luyện mạng.

Hình 7.2 Huấn luyện theo cách dán ôm vật Kết quả thu được là Precision = 0.9411, Recall = 0.9411

Kết luận: Đã có sự cải thiện rõ rệt trong khả năng phát hiện đối tượng, với chỉ số bỏ sót đối tượng giảm đáng kể Tỉ lệ nhận sai vật cũng giảm, và các đối tượng có biên dạng hình chữ nhật không còn bị nhận nhầm.

Từ kết luận trên, nhóm quyết định sử dụng mô hình mạng nơ-ron này để áp dụng trong h

Kiểm nghiệm ma trận chuyển đổi vị trí

Để xác thực kết quả từ ma trận chuyển đổi vị trí, chúng ta tiến hành phát hiện đối tượng bằng camera sử dụng mô hình mạng nơ-ron Qua đó, chúng ta sẽ trích xuất vị trí của đối tượng và so sánh với vị trí thực tế nhằm xác định khoảng sai số.

Chúng ta có thể tạo ra một lưới pixel để xác định các điểm tương ứng trên mặt phẳng không gian làm việc, từ đó thực hiện các phép tính và so sánh kết quả với dữ liệu thực tế đã đo được.

Hình 7.3 Phương pháp kiểm thử Bảng 7.6 Kết quả thực nghiệm trên hệ thống h

Bảng 7.7 Kết quả thực tế và sai số Bảng 7.8: Đánh giá sai số ma trận xác định vị trí vật Tọa độ điểm ảnh của đối tượng (pixel)

Dữ liệu trả về (mm) Thực tế (mm) Sai số (mm)

Kết luận: Có thể sử dụng ma trận chuyển đổi vị trí để sử dụng trong hệ thống.

Kết quả toàn hệ thống

7.5.1 Không có băng tải Để có cái nhìn khái quát hơn về tính linh hoạt của robot và của hệ thống, nhóm quyết định triển khai phương án để bất cứ đối tượng tĩnh trong không gian làm việc và cho hệ thống tự động phân loại

Bảng 7.9 Các giai đoạn hệ thống hoạt động khi không có băng tải

Từng giai đoạn trong hệ thống Ghi chú

Trường hợp 1: Đầu tiên, phát hiện đối tượng nằm yên ở vị trí bất kì

Tiếp theo, robot gắp vật theo thư tự, vật nào có ID nhỏ hơn thì gắp trước

Trường hợp 2: Cho cả chai và lon để chung với nhau h

Robot bỏ qua các đối tượng khác và chỉ phân loại chai có ID nhỏ hơn

Robot tiếp tục gắp chai có ID tiếp theo

Robot thả chai tại thùng chứa

Tiến hành thực nghiệm trên mô hình băng tải nhằm kiểm chứng tính liên tục của hệ thống Trong quá trình thử nghiệm, các chai nhựa và các vật dụng khác như lon nước được thả liên tục để đánh giá hiệu suất hoạt động của băng tải.

Bảng 7.10 Các giai đoạn hệ thống hoạt động khi có băng tải

Từng giai đoạn trong hệ thống Ghi chú Đầu tiên, bỏ chai lên băng tải, camera phát hiện chai

Khi qua vạch giới hạn để nhận tín hiệu thì lúc này robot gắp chai đi

Sau khi thả chai vào thùng rác, robot trở về vị trí đặt để chờ tín hiệu tiếp theo Kết thúc chu trình h

Khi đặt lon hay vật khác không phải chai nhựa thì camera sẽ không phát hiện và sẽ không truyền tín hiệu cho robot hoạt động

Khi robot không nhận tín hiệu từ camera, lon sẽ di chuyển theo băng tải và ra ngoài Đánh giá kết quả hệ thống sử dụng cấu trúc mạng nơ-ron lần đầu tiên.

Với cách dán nhãn dữ liệu là bounding box, tập dữ liệu gần 3100 ảnh, trong đó đã được phân chia theo tỷ lệ (training set = 70%, valid set = 20%, test set %)

Bảng 7.11 Bảng đánh giá hệ thống lần 1

Lần thử Số lượng chai, đối tượng khác

Số lượng chai nhận đúng

Số lượng đối tượng không phải chai bị nhận nhầm

Trung bình cộng của thông số đánh giá giữa các lần thử với nhau là:

Tỉ lệ nhận đối tượng khá chính xác nhưng đi kèm với đó tỉ lệ nhận sai đối tượng cũng khá cao

Cần cải thiện mô hình mạng nơ-ron để nâng cao hiệu quả hệ thống Đánh giá kết quả từ cấu trúc mạng nơ-ron lần 2 cho thấy có sự cải tiến nhờ vào việc dán nhãn dữ liệu theo biên dạng vật Tập dữ liệu đã được lọc, giảm thiểu ảnh gây nhiễu, chỉ còn lại gần 2800 ảnh, và được phân chia theo tỷ lệ: 70% cho tập huấn luyện, 20% cho tập xác thực và 10% cho tập kiểm tra.

Bảng 7.12.Bảng đánh giá hệ thống lần 2

Lần thử Số lượng chai, đối tượng khác

Số lượng chai nhận đúng

Số lượng đối tượng không phải chai bị nhận nhầm

Trung bình cộng của thông số đánh giá giữa các lần thử với nhau là:

Nhận xét cho thấy sự cải thiện rõ rệt trong các thông số, đặc biệt là tỷ lệ gán nhầm nhãn cho đối tượng đã giảm đáng kể Sự giảm trong thông số phát hiện chính xác đối tượng có thể được lý giải bởi việc phát hiện cần phải dựa trên biên dạng chính xác của đối tượng.

Kết luận cho thấy mô hình mạng nơ-ron thứ 2 mang lại hiệu quả cao hơn Đánh giá kết quả của hệ thống với cấu trúc mạng nơ-ron lần 2 cho thấy độ sáng được cải thiện đáng kể.

Bằng cách tăng độ sáng của môi trường làm việc, tương tự các lần thử trên, ta lập được bảng

Bảng 7 13:Bảng đánh giá hệ thống với điều kiện môi trường khác (thay đổi ánh sáng)

Lần thử Số lượng chai, đối tượng khác

Số lượng chai nhận đúng

Số lượng đối tượng không phải chai bị nhận nhầm

Trung bình cộng của thông số đánh giá giữa các lần thử với nhau là:

Mô hình hiện tại cho thấy thông số giảm rõ rệt, cho thấy những hạn chế khi hoạt động trong môi trường có ánh sáng cường độ mạnh.

Kết luận: Cần cải thiện lại bộ dữ liệu để huấn luyện mô hình h

Ngày đăng: 06/11/2023, 05:11