1. Trang chủ
  2. » Giáo Dục - Đào Tạo

thiết kế và điều khiển cánh tay robot phân loại sản phẩm

93 5 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Thiết Kế Và Điều Khiển Cánh Tay Robot Phân Loại Sản Phẩm
Tác giả Nguyễn Trọng Nghĩa, Nguyễn Minh Hiếu
Người hướng dẫn TS. Trần Mạnh Sơ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 2024
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 93
Dung lượng 8,75 MB

Cấu trúc

  • Chương 1 Tổng quan (16)
    • 1.1 Đặt vấn đề (16)
    • 1.2 Mục tiêu đề tài (18)
    • 1.3 Giới hạn đề tài (18)
    • 1.4 Phương pháp nghiên cứu (18)
    • 1.5 Nội dung của đề tài (19)
  • Chương 2 Cơ sở lý thuyết (20)
    • 2.1 Bài toán động học robot (20)
      • 2.1.1 Lý thuyết động học thuận (20)
      • 2.1.2 Lý thuyết động học nghịch (21)
    • 2.2 Tổng quan lý thuyết về xử lý ảnh (21)
      • 2.2.1 Các khái niệm cơ bản trong xử lý ảnh (21)
      • 2.2.2 Những lý thuyết được sử dụng trong đề tài (24)
    • 2.3 Giới thiệu về Conveyor Tracking (27)
  • Chương 3 Thiết kế phần cứng (30)
    • 3.1 Yêu cầu thiết kế (30)
    • 3.2 Sơ đồ khối của hệ thống (30)
    • 3.3 Lựa chọn thiết bị (31)
      • 3.3.1 Lựa chọn khối nguồn (31)
      • 3.3.2 Lựa chọn MCB (32)
      • 3.3.3 Lựa chọn PLC, module mở rộng (33)
      • 3.3.4 Lựa chọn động cơ cho từng khớp (35)
      • 3.3.5 Lựa chọn hộp số giảm tốc (40)
      • 3.3.6 Lựa chọn cảm biến (41)
      • 3.3.7 Thiết kế băng tải (42)
      • 3.3.8 Lựa chọn Camera nhận dạng sản phẩm (44)
      • 3.3.9 Lựa chọn cơ cấu chấp hành cho robot (45)
      • 3.3.10 Lựa nút nhấn và đèn báo (46)
    • 3.4 Bản vẽ thiết kế (47)
      • 3.4.1 Sơ đồ nối dây (47)
      • 3.4.2 Thiết kế cánh tay robot trên Solidworks (52)
  • Chương 4 Thiết kế phần mềm (55)
    • 4.1 Động học robot (55)
      • 4.1.1 Đặt trục robot (55)
      • 4.1.2 Động học thuận (56)
      • 4.1.3 Động học nghịch (58)
      • 4.1.4 Không gian làm việc (60)
    • 4.2 Yêu cầu thiết kế (61)
    • 4.3 Giải thuật (61)
      • 4.3.1 Lưu đồ giải thuật điều khiển hệ thống (61)
      • 4.3.2 Giải thuật xử lý ảnh (65)
      • 4.3.3 Lưu đồ giải thuật điều khiển robot gắp vật (67)
    • 4.4 Thiết kế giao diện điều khiển (69)
  • Chương 5 Kết quả thực nghiệm (74)
    • 5.1 Kết quả xây dựng mô hình (74)
    • 5.2 Kiểm chứng động học và thực nghiệm hệ thống (77)
      • 5.2.1 Kiểm chứng động học thuận (77)
      • 5.2.2 Kiểm chứng động học nghịch (82)
      • 5.2.3 Thực nghiệm chương trình xử lý ảnh (84)
  • Chương 6 Kết luận và hướng phát triển (88)
    • 6.1 Kết luận (88)
    • 6.2 Hướng phát triển (88)
  • Tài liệu tham khảo (89)
  • Phụ lục (90)

Nội dung

Tóm tắt Đề tài nhóm đã chọn là “Thiết kế và điều khiển cánh tay robot phân loại sản phẩm”, mục đích của đề tài là thiết kế và thi công mô hình cánh tay robot 4 bậc tự do ứng dụng xử lý ả

Tổng quan

Đặt vấn đề

Sự phát triển của nền công nghiệp đã trải qua nhiều giai đoạn quan trọng, từ cuộc cách mạng công nghiệp lần thứ nhất với sự ra đời của máy hơi nước, đến cuộc cách mạng công nghiệp lần thứ tư với sự xuất hiện của công nghệ số và tự động hóa Trong mỗi giai đoạn, việc cải tiến công nghệ và quy trình sản xuất luôn đóng vai trò then chốt trong việc nâng cao hiệu quả và năng suất Đặc biệt, với sự bùng nổ của công nghệ thông tin và viễn thông, nền công nghiệp hiện đại ngày nay đang chuyển đổi mạnh mẽ sang mô hình sản xuất thông minh, nơi mà robot giữ một vai trò không thể thiếu

Hình 1.1 Cánh tay robot trong công nghiệp

Cánh tay robot có thiết kế tương tự như cánh tay con người, với nhiều khớp nối và khả năng chuyển động linh hoạt, cho phép chúng thực hiện các tác vụ phức tạp và đòi hỏi độ chính xác cao Robot trở nên cần thiết bởi khả năng tăng cường hiệu quả sản xuất và giảm chi phí lao động Trước hết, robot có thể thực hiện các công việc lặp đi lặp lại với độ chính xác cao, giúp tăng năng suất và giảm thiểu sai sót Điều này đặc biệt quan trọng trong các ngành sản xuất đòi hỏi độ chính xác cao như điện tử, ô tô, và hàng không Thứ hai, sử dụng robot công nghiệp giúp giảm thiểu rủi ro cho con người khi phải làm việc trong các môi trường nguy hiểm như nhà máy hóa chất, hầm mỏ, hoặc những nơi có nhiệt độ cao Điều này không chỉ bảo vệ sức khỏe và an toàn của người lao động mà còn giảm thiểu chi phí liên quan đến tai nạn lao động

Ngoài ra, robot còn giúp các doanh nghiệp linh hoạt hơn trong việc điều chỉnh quy trình sản xuất để đáp ứng nhu cầu thị trường thay đổi nhanh chóng Khả năng lập trình và tái cấu hình của robot cho phép các nhà máy dễ dàng chuyển đổi giữa các dòng sản phẩm mà không cần thay đổi cơ sở hạ tầng lớn Hơn nữa, với sự phát triển của công nghệ, robot ngày càng trở nên thông minh mở ra nhiều cơ hội mới trong việc tối ưu hóa sản xuất và quản lý chuỗi cung ứng

Hình 1.2 Biểu đồ mật độ sử dụng robot từ năm 2017 đến năm 2022

Cánh tay robot được ứng dụng rộng rãi trong nhiều lĩnh vực công nghiệp nhờ khả năng linh hoạt, chính xác và hiệu quả Đây là một số ứng dụng phổ biến của cánh tay robot: Lắp ráp các linh kiện và bộ phận trong các sản phẩm như điện tử, ô tô, và đồ gia dụng Thực hiện các công việc hàn trong ngành công nghiệp ô tô và chế tạo kim loại, đảm bảo mối hàn chất lượng cao và đồng nhất Được sử dụng để sơn các sản phẩm với độ phủ đồng đều và chất lượng bề mặt cao, thường thấy trong ngành sản xuất ô tô và đồ nội thất Nhờ vào sự linh hoạt và độ chính xác cao, cánh tay robot có thể thực hiện việc phân loại sản phẩm nhanh chóng và hiệu quả

Hình 1.3 Ứng dụng cánh tay robot trong dây chuyền lắp ráp

Với nhiều ưu điểm, ứng dụng vượt trội của cánh tay robot giúp cải thiện năng suất, tiết kiệm chi phí và tính cấp thiết của hệ thống robot giúp thay thế con người trong phân loại sản phẩm nên nhóm đã thực hiền đề tài “Thiết kế và điều khiển cánh tay robot phân loại sản phẩm”.

Mục tiêu đề tài

Mục tiêu đề tài là thiết kế, thi công và điều khiển mô hình cánh tay robot 4 bậc tự do

Xây dựng giao diện điều khiển trực quan, dễ dàng vận hành, có khả năng giao tiếp với PLC để điều khiển hệ thống

Hệ thống nhận dạng và phân loại sản phẩm theo hình dạng khác nhau (hình tròn, tam giác, lục giác, hình vuông) với độ chính xác trên 90%

Băng tải vận chuyển sản phẩm liên tục không dừng lại khi robot gắp vật, có thể điều chỉnh tốc độ băng tải khi robot đang hoạt động

Tốc độ phân loại sản phẩm từ 10 đến 15 sản phẩm/phút.

Giới hạn đề tài

Vật liệu sử dụng chủ yếu cho robot là nhựa in 3D có thể hút các vật có khối lượng nhỏ hơn 300g, có bề mặt nhẵn

Chương trình xử lý ảnh chỉ hoạt động chính xác trong điều kiện ánh sáng ổn định, khi hoạt động trong môi trường ngoài trời hay thiếu ánh sáng tỉ lệ chính xác sẽ giảm

Hệ thống chỉ có thể nhận dạng và phân loại các sản phẩm có hình dạng và màu sắc được quy định từ trước, diện tích phải lớn hơn 7cm 2 và nhỏ hơn 50cm 2

Tốc độ băng tải nhỏ hơn 110mm/s

Hệ thống chỉ hoạt động trong môi trường không có vật cản.

Phương pháp nghiên cứu

Dựa trên các mẫu cánh tay robot trên thị trường, nhóm đã thực hiện thay đổi cấu trúc từ 6 bậc tự do còn 4 bậc tự do và thay đổi vật liệu thành nhựa in 3D, gia công nhôm những phần chịu lực nhiều giúp giảm chi phí, phù hợp với mục đích đặt ra

Dùng phần mềm Solidworks để thiết kế, tính toán công suất động cơ, tỉ lệ truyền cho từng khâu của robot

Tính toán, mô phỏng động học robot trên phần mềm Matlab

Chạy thực nghiệm với nhiều điều kiện và môi trường khác nhau để đánh giá và hiệu chỉnh hệ thống.

Nội dung của đề tài

Phần còn lại của đề tài có nội dung như sau:

Chương 2 Cơ sở lý thuyết: chương 2 trình bày lý thuyết các bước xử lý ảnh trong đề tài, lý thuyết tính toán về động học robot Giải thích về khái niệm và cơ chế của Conveyor Tracking

Chương 3 Thiết kế phần cứng: chương 3 sẽ đưa ra yêu cầu thiết kế của phần cứng, từ những yêu cầu đó ta sẽ tính toán và lựa chọn thiết bị sử dụng cho hệ thống Trình bày và giải thích sơ đồ khối của hệ thống, đưa ra sơ đồ nối dây của các thiết bị

Chương 4 Thiết kế phần mềm: chương 4 sẽ tính toán động học của robot Trình bày các giải thuật xử lý ảnh, giải thuật điều khiển robot và hệ thống Giải thích các chức năng của giao diện người dùng

Chương 5 Kết quả thực nghiệm: chương 5 sẽ trình bày kết quả xây dựng mô hình, trình bày phương pháp và kết quả của từng trường hợp thực nghiệm Từ kết quả thực nghiệm ta sẽ kiểm chứng động học robot, tính chính xác của hệ thống ở các điều kiện khác nhau

Chương 6 Kết luận và hướng phát triển: chương 6 trình bày những kết quả đã đạt được dựa trên mục tiêu đã đặt ra ban đầu Kết luận những ưu điểm, nhược điểm còn chưa khắc phục được từ đó nêu ra các phương án giải quyết và hướng phát triển của đề tài.

Cơ sở lý thuyết

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

Động học robot là lĩnh vực nghiên cứu về chuyển động của robot mà không xét đến các lực và mô-men gây ra chuyển động đó Động học tập trung vào mối quan hệ hình học giữa các khớp của robot và vị trí, hướng của đầu cuối Nó tập trung vào việc xác định vị trí của robot trong không gian ba chiều Đây là nền tảng quan trọng để hiểu và điều khiển các hệ thống robot trong các ứng dụng công nghiệp Động học robot được chia thành hai phần chính: động học thuận (forward kinematics) và động học nghịch (inverse kinematics)

2.1.1 Lý thuyết động học thuận Động học thuận liên quan đến việc xác định vị trí và hướng của đầu cuối (end effector) của robot khi biết các giá trị biến khớp Để tính toán vị trí và hướng từ tập hợp các giá trị biến khớp thì các tham số của bảng Denavit-Hartenberg(DH) phải được biết Để tính toán động học thuận cho robot sử dụng phương pháp Denavit- Hartenberg ta cần thực hiện các bước sau:

• Bước 1: Đặt trục cho robot

• Bước 2: Xác định các thông số của bảng DH

• Bước 3: Tính các ma trận chuyển đổi liền kề

• Bước 4: Tính toán ma trận chuyển đổi giữa góc tọa độ và cơ cấu chấp hành

Bảng 2.1 Bảng tham số DH i  a d 

Các tham số của bảng D-H lần lượt là:

•  i : góc giữa z i và z i + 1 quay xung quanh trục x i

• a i : khoảng cách giữa z i và z i + 1 dọc theo x i

•  i : góc giữa x i − 1 và x i quay xung quanh trụcz i

• d i : khoảng cách giữa x i − 1 và x i dọc theoz i

Hình 2.1 Mô hình hóa khâu và khớp theo DH

Công thức xác định ma trận chuyển đổi hệ trục {i} từ hệ trục {i-1}:

Công thức xác định ma trận chuyển đổi hệ trục {i} từ hệ trục {0} được tính bằng cách nhân ma trận chuyển đổi giữa các khâu lại với nhau:

2.1.2 Lý thuyết động học nghịch Động học nghịch liên quan đến việc xác định các giá trị khớp cần thiết để đạt được một vị trí và hướng cụ thể của đầu cuối Đây là một bài toán phức tạp hơn vì có thể có nhiều hoặc không có lời giải Sự phức tạp của bài toán phụ thuộc vào cấu trúc của robot, khi số bậc tự do của robot tăng thì sự phức tạp cũng tăng lên

Các phương pháp thường được dùng để giải bài toán động học nghịch là:

• Phương pháp kết hợp hình học và đại số.

Tổng quan lý thuyết về xử lý ảnh

2.2.1 Các khái niệm cơ bản trong xử lý ảnh Điểm ảnh Điểm ảnh (pixel) là một khái niệm cơ bản trong đồ họa máy tính và công nghệ hình ảnh kỹ thuật số, nó đại diện cho đơn vị nhỏ nhất của một hình ảnh số Một hình ảnh số được tạo thành từ nhiều điểm ảnh xếp cạnh nhau Mỗi điểm ảnh có một màu sắc và độ sáng riêng biệt, và sự kết hợp của tất cả các điểm ảnh này tạo ra toàn bộ hình ảnh

Hình 2.2 Minh họa điểm ảnh Độ phân giải của một hình ảnh hoặc màn hình là số lượng điểm ảnh theo chiều ngang và chiều dọc Ví dụ, một hình ảnh có độ phân giải 1920x1080 có 1920 điểm ảnh theo chiều ngang và 1080 điểm ảnh theo chiều dọc, độ phân giải càng cao thì hình ảnh càng chi tiết Điểm ảnh là nền tảng của tất cả các công nghệ liên quan đến hình ảnh và đồ họa kỹ thuật số Hiểu về điểm ảnh giúp chúng ta hiểu rõ hơn về cách hình ảnh được tạo ra, hiển thị và xử lý trên các thiết bị kỹ thuật số Ảnh số

Một hình ảnh kỹ thuật số thực sự là một tập hợp các pixel được sắp xếp một cách có tổ chức Mỗi pixel trong hình ảnh này đại diện cho một mẫu thông tin nhỏ về màu sắc và độ sáng Bằng cách kết hợp các pixel này lại với nhau, chúng ta tạo ra hình ảnh tổng thể Số lượng pixel trong một hình ảnh quyết định độ phân giải của nó Độ phân giải càng cao, có nghĩa là có nhiều pixel hơn, dẫn đến hình ảnh có chi tiết và sắc nét hơn

Hình ảnh thường được biểu diễn trong không gian 2 chiều với trục x (chiều ngang) và trục y (chiều dọc) Tọa độ của mỗi pixel được xác định bằng cách đếm số pixel từ một điểm tham chiếu, thường là góc trên cùng bên trái của hình ảnh Ví dụ trong một hình ảnh có độ phân giải 800x600 pixels, tọa độ của pixel ở góc trên cùng bên trái là (0,0), còn pixel ở góc dưới cùng bên phải là (799,599)

Hệ màu RGB (Red, Green, Blue) là một hệ màu sử dụng trong đồ họa máy tính, nơi mà màu sắc được biểu diễn bằng cách kết hợp các thành phần màu đỏ, xanh lá cây và xanh dương theo tỉ lệ nhất định Mỗi màu trong hệ RGB có thể được biểu diễn bằng một số nguyên từ 0 đến 255 Hệ màu RGB cung cấp một phương tiện hiệu quả để biểu diễn và điều chỉnh màu sắc trong các hình ảnh số

Màu sắc của một điểm ảnh trong hệ RGB được xác định bằng cách kết hợp các giá trị của ba thành phần màu (R, G, B) lại với nhau, bằng cách kết hợp các thành phần màu này theo tỉ lệ khác nhau, chúng ta có thể tạo ra một loạt các màu sắc khác nhau Khi tất cả các thành phần màu (R, G, B) có cùng giá trị tối đa (255), chúng ta có màu trắng, khi tất cả các thành phần màu (R, G, B) có giá trị tối thiểu (0), chúng ta có màu đen

Hình 2.3 Hệ màu RGB Ảnh mức xám Ảnh mức xám, hay còn được gọi là ảnh trắng đen, là một loại hình ảnh trong đó mỗi pixel chỉ chứa thông tin về độ sáng, không chứa thông tin về màu sắc Trong ảnh mức xám, mỗi pixel được biểu diễn bằng một giá trị độ sáng duy nhất, thường từ

0 đến 255 trong hệ màu RGB, trong đó 0 biểu diễn màu đen và 255 biểu diễn màu trắng

Một số phương pháp thường dùng để chuyển ảnh màu thành ảnh mức xám:

Dựa theo công thức sau:

Dựa theo công thức sau:gray=0.299 *R+0.587 *G+0.114 *B

Dựa theo công thức sau: max( , , ) min( , , )

R G B R G B gray= + Ảnh nhị phân Ảnh nhị phân là loại hình ảnh trong đó mỗi pixel chỉ có thể có một trong hai giá trị: đen hoặc trắng (0 hoặc 1) Thông thường, quy ước là giá trị 0 được sử dụng để biểu diễn màu đen và giá trị 1 được sử dụng để biểu diễn màu trắng Để chuyển đổi ảnh màu sang ảnh nhị phân ta sử dụng ngưỡng (threshold) để quyết định xem mỗi pixel có nên được coi là đen hay trắng Nếu giá trị pixel tại điểm đang xét bé hơn threshold thì giá trị pixel tại đó được gán bằng 0 ngược lại được gán bằng 1

Hình 2.5 Ảnh nhị phân 2.2.2 Những lý thuyết được sử dụng trong đề tài

Không gian màu HSV (Hue, Saturation, Value) là một phương pháp biểu diễn màu sắc dựa trên ba thành phần chính: Hue, Saturation và Value Trong không gian màu HSV, mỗi màu được biểu diễn dưới dạng một điểm trong không gian ba chiều Các thành phần của không gian màu HSV:

Hue (Màu sắc): Hue đại diện cho màu sắc chính của một điểm trong không gian màu Được biểu diễn bằng một giá trị góc trong đơn vị độ, thường từ 0 đến 360

Saturation (Độ bão hòa): Saturation đo lường độ bão hòa của màu sắc, thường từ 0 đến 100% Một giá trị saturation cao sẽ tạo ra màu sắc rực rỡ, trong khi một giá trị saturation thấp sẽ tạo ra màu sắc mờ nhạt

Value (Giá trị độ sáng): Value đo lường độ sáng hoặc độ tối của màu sắc Được biểu diễn từ 0 đến 100% Giá trị value càng cao, màu sẽ càng sáng và ngược lại

Hình 2.6 Không gian màu HSV

Phép toán giãn nở (Dilation)

Phép toán giãn nở là một phép toán tiền xử lý thường được sử dụng để mở rộng hoặc nới lỏng các vùng đối tượng trong ảnh Mục tiêu của phép toán này là làm tăng kích thước của các vùng đối tượng bằng cách thêm các pixel vào vùng đó dựa trên các cấu trúc cơ bản như hình chữ nhật hoặc hình tròn

Trước tiên, một cấu trúc (structuring element) cần được xác định Cấu trúc này thường là một ma trận nhỏ có kích thước lẻ, chẳng hạn như hình chữ nhật hoặc hình tròn, và chứa các giá trị 0 và 1, thường được gọi là kernel Sau đó, kernel này được trượt qua toàn bộ ảnh Ở mỗi vị trí, kernel được đặt lên ảnh sao cho trung tâm của kernel nằm trên mỗi pixel của ảnh Tại mỗi vị trí, phép toán AND giữa kernel và phần tương ứng của ảnh được thực hiện Nếu kết quả là 1 pixel tương ứng trong ảnh khi giãn nở sẽ được đặt thành 1

Kết quả của phép toán giãn nở là một ảnh mới có các vùng đối tượng đã được mở rộng hoặc nới lỏng Các vùng này thường lớn hơn so với ảnh gốc

Ta minh họa phép cho phép toán giãn nở như sau:

• I O là ma trận ban đầu

• I D là ma trận sau khi đã giãn nở

Giới thiệu về Conveyor Tracking

Hình 2.8 Mô tả Conveyor Tracking

Conveyor Tracking là một kỹ thuật cho phép robot hoặc các thiết bị điều khiển tự động theo dõi và tương tác với các đối tượng đang di chuyển trên băng tải Công nghệ này đảm bảo rằng robot có thể thực hiện các nhiệm vụ như lấy, đặt, lắp ráp các sản phẩm trong khi chúng đang di chuyển, mà không cần phải dừng băng chuyền Conveyor Tracking giúp tăng tốc độ sản xuất bằng cách giảm thời gian dừng và cho phép các robot hoạt động liên tục, nhờ vào việc theo dõi chính xác vị trí và tốc độ của đối tượng, robot có thể thực hiện các nhiệm vụ với độ chính xác cao hơn

Cách thức hoạt động: thông thường một Encoder sẽ được gắn trực tiếp trên băng tải hoặc trục truyền động của băng tải để gửi dữ liệu về bộ điều khiển robot Để tăng tính chính xác người ta thường gắn Encoder trên bề mặt băng tải để tránh tình trạng băng tải bị trượt bước hoặc bị kẹt

Hình 2.9 Cách lắp đặt Encoder

Dựa vào số xung Encoder trả về ta có thể dễ dàng tính toán được vị trí của vật trên băng tải và tốc độ của băng tải:

• Vị trí vật = (Số xung hiện tại - Số xung ban đầu) * D (2.3)

• Vận tốc băng tải = (Số xung đọc được * D) /T (2.4) Trong đó: D là quãng đường vật di chuyển được trong 1 xung (mm / xung)

T là thời gian lấy mẫu (s).

Thiết kế phần cứng

Yêu cầu thiết kế

Robot có kích thước nhỏ gọn và giá thành rẻ, tốc độ hoạt động của robot phải nhanh

Băng tải hoạt động ổn định, có kích thước đủ lớn để có thể phân loại nhiều vật cùng lúc

Cấu trúc khớp xoay ở khâu 2 và khâu 3 phải chắc chắn, không rung lắc khi hoạt động ở tốc độ cao

Bộ điều khiển có thể giao tiếp với máy tính, dễ dàng sử dụng và bền

Camera có độ phân giải cao, có thể dễ dàng kết nối với máy tính.

Sơ đồ khối của hệ thống

Ta có thể chia sơ đồ khối của hệ thống thành các phần như sau: Khối nguồn, PLC, PC, Camera, Driver, Servo, cơ cấu chấp hành, limit sw, cảm biến và băng tải

Hình 3.1 Sơ đồ khối của hệ thống Khối Nguồn: Cung cấp nguồn cho các thiết bị trong mô hình

Khối PLC: đóng vai trò là bộ điều khiển trung tâm, giúp xử lý các tín hiệu từ cảm biến, gửi tín hiệu điều khiển servo, cơ cấu chấp hành, băng tải, gửi và nhận tín hiệu đến PC

Khối Driver: là mạch công suất để điều khiển động cơ, giúp điều khiển góc quay, tốc độ và hướng của động cơ

Khối Servo: nhận tín hiệu điều khiển từ Driver điều khiển robot tới vị trí mong muốn

Khối limit sw, cảm biến: Xác định trạng thái của robot, gửi tín hiệu về PLC Khối Băng tải: Di chuyển sản phẩm để robot phân loại

Khối cơ cấu chấp hành: Bao gồm giác hút, máy bơm và van điện từ, giúp robot gắp sản phẩm

Khối Camera: Thu nhận hình ảnh và gửi dữ liệu cho PC xử lý

Khối PC: Nhận dữ liệu từ camera sau đó tiến hành xử lý ảnh và gửi dữ liệu đến PLC để điều khiển robot.

Lựa chọn thiết bị

Hệ thống gồm 3 nguồn cấp chính là 220 VAC để cung cấp cho driver servo, các module nguồn tổ ong Nguồn 24VDC để cung cấp cho PLC, các loại nút nhấn, công tắc hành trình, cảm biến tiệm cận, encoder, driver servo Nguồn 12VDC để cung cấp cho máy bơm, van điện từ và động cơ băng tải Với những yêu cầu như trên ta sử dụng nguồn 220 VAC từ điện lưới dân dụng

Tổng dòng điện của các thiết bị sử dụng nguồn 24VDC trong mô hình là:

• I 24VDC là tổng dòng điện của các thiết bị sử dụng nguồn 24VDC

• I plc là dòng điện PLC tiêu thụ

• I s1 , I s2 , I s3 , I s4 lần lượt là dòng điện tiêu thụ của mạch điều khiển driver servo khớp 1, driver servo khớp 2, driver servo khớp 3, driver servo khớp 4

Vậy ta lựa chọn nguồn tổ ong 24V 5A

Thông số kỹ thuật của nguồn 24VDC:

Bảng 3.1 Thông số kỹ thuật nguồn tổ ong 24V 5A

Dải điện áp đầu vào 220VAC ± 15% Điện áp ra 24VDC có thể điều chỉnh 5%

Nhiệt độ hoạt động 0 ℃ ~ 40 ℃, 10% ~ 90% RH Tổng dòng điện của các thiết bị sử dụng nguồn 12 VDC trong mô hình là:

• I 12VDC là tổng dòng điện của các thiết bị sử dụng nguồn 12VDC

• I mb là dòng điện tiêu thụ của máy bơm

• I rl là dòng điện tiêu thụ của van điện từ

• I bt là dòng điện tiêu thụ của động cơ băng tải

Lựa chọn nguồn tổ ong 12V 5A

Hình 3.3 Nguồn tổ ong 12V 5A Bảng 3.2 Thông số kỹ thuật nguồn tổ ong 12V 5A

Dải điện áp đầu vào 220VAC ± 15% Điện áp ra 12VDC có thể điều chỉnh 10%

Ta sử dụng MCB để đóng cắt nguồn cho mô hình, bảo vệ thiết bị khi gặp sự cố quá dòng và quá áp

Tổng dòng điện của nguồn 220 VAC sử dụng trong mô hình là:

• I 220AC là tổng dòng điện của các thiết bị sử dụng trong mô hình

• I S1 , I S2 , I S3 , I S4 lần lượt là dòng điện tiêu thụ của servo khớp 1, servo khớp 2, servo khớp 3, servo khớp 4

• I 12 là dòng điện tiêu thụ lớn nhất của nguồn tổ ong 12VDC

• I 24 là dòng điện tiêu thụ lớn nhất của nguồn tổ ong 24VDC

Lựa chọn MCB Chint NXB-63 MCB 2P 40A C40

Hình 3.4 MCB Chint NXB-63 MCB 2P 40A C40

Thông số kỹ thuật của MCB:

Bảng 3.3 Thông số kỹ thuật MCB Chint NXB-63 MCB 2P 40A C40

Dòng sản phẩm: MCB NXB-63

Dòng cắt ngắn mạch: 6kA

3.3.3 Lựa chọn PLC, module mở rộng

Hiện nay trên thị trường có rất nhiều loại plc khác nhau như: PLC Siemens, PLC Mitsubishi, PLC Omron, PLC Rockwell, PLC Delta, PLC Keyence…

Trong đề này sẽ sử dụng PLC S7-1200 với các ưu điểm như sau: Được tích hợp sẵn cổng truyền thông Profinet (Ethernet), sử dụng chung một phần mềm Simatic Step 7 Basic cho việc lập trình PLC và các màn hình HMI Điều này giúp cho việc thiết kế, lập trình, thi công hệ thống điều khiển được nhanh chóng, đơn giản Có thư viện S7.NET giúp hỗ trợ giao tiếp giữa PLC S7-1200 với máy tình, là dòng PLC phổ biến nên dễ dàng điều khiển, sửa chữa

Vì trong hệ thống có sử dụng 4 động cơ servo nên ta chọn loại PLC 1212DC/DC/DC có bốn bộ phát xung, có chức năng đọc xung tốc độ cao HSC giúp đọc xung Encoder, có 8 ngõ vào phù hợp với yêu cầu của hệ thống

Hình 3.5 PLC 1212 DC/DC/DC Bảng 3.4 Thông số kỹ thuật PLC 1212C DC/DC/DC

Mã sản phẩm 6ES7214-1AG40-0XB0

Dòng sản phẩm SIMATIC S7-1200 CPU 1212C

Tích hợp đầu vào số 8 DI 24 V DC

Tích hợp đầu ra số 6 DO 24 V DC

Tích hợp đầu vào tương tự 2 AI 0-10 V DC

Nguồn cung cấp DC 20.4-28.8V DC

Bộ nhớ chương trình/ dữ liệu 75 KB Để điều khiển 4 trục động cơ servo ta kết hợp PLC S7 1212 DC/DC/DC với module phát xung SB 1222 4DQ

Hình 3.6 Module SB 1222 Bảng 3.5 Thông số kỹ thuật SB 1222

Mã sản phẩm 6ES7222-1BD30-0XB0

Dòng sản phẩm SIMATIC S7-1200, Digital output SB

Tích hợp đầu ra số 4 DQ, 24V DC 200kHz

Nguồn cung cấp DC 20.4-28.8V DC

Trong mô hình sử dụng 10 ngõ ra nên ta sử dụng module SM 1222 DC/DC để mở rộng ngõ ra cho PLC

Hình 3.7 Module SM 1222 Bảng 3.6 Thông số kỹ thuật Module SM 1222

Mã sản phẩm 6ES7222-1BF32-0XB0

Dòng sản phẩm Digital output SM 1222, 8 DQ

Tích hợp đầu ra số 8DQ, 24V DC

Nguồn cung cấp DC 20.4-28.8V DC

3.3.4 Lựa chọn động cơ cho từng khớp

Ta có bảng thông số khối lượng và kích thước từng khớp:

Bảng 3.7 Thông số khối lượng robot

Khớp Khối lượng Tổng Khoảng cách trục quay đến trọng tâm

AC Servo 100W: 0.6Kg Hốp số: 1Kg

AC Servo 100W: 0.6Kg Hốp số: 1Kg

Khớp 3 Cánh tay khớp 3: 0.5kg

AC Servo 100W: 0.6Kg 1.1Kg 140mm

Khớp 4 Cánh tay khớp 4: 0.3kg

T = + + +    − 96Nm Động cơ AC servo 200w có momen định mức là T=0.64Nm

Chọn hệ số an toàn là 2, tỉ lệ truyền 1 1 * 2 17.96 * 2

Chọn pulley có tỉ lệ 30:45 và hộp số có tỉ lệ 1:100

Ta lựa chọn động cơ servo MSME022G1A cho khớp 1

Hình 3.8 Động cơ MSME022G1A Bảng 3.8 Thông số kỹ thuật động cơ MSME022G1A Điện áp cấp 3P/94VAC, 1.5A

Momen 0.64N.m Để điều khiển servo MSME022G1A ta sử dụng driver MADLN15SE

Hình 3.9 Driver MADLN15SE Bảng 3.9 Thông số kỹ thuật Driver MADLN15SE Điện áp cấp 1 pha/3 pha 200 đến 240VAC

Phương pháp điều khiển SinPWM Độ phân giải encoder 23 bit encoder tuyệt đối

Khớp 2 : Momen cần là: T 2 =(2.1 1.1 0.4) 9.82 260 10+ +    − 3 =9.19Nm Động cơ AC servo 100w có momen định mức là T=0.32Nm

Chọn hệ số an toàn là 1.5, tỉ lệ truyền 2 2 *1.5 9.19 *1.5

Chọn pulley có tỉ lệ 1:1 và hộp số có tỉ lệ 1:50 Ở khớp 2 chịu lực lớn dễ xảy ra hiện tượng trôi khi tắt hoặc bật servo nên sẽ chọn loại động cơ có thắng từ

Ta chọn động cơ HC-MFS13B cho khớp 2

Hình 3.10 Động cơ HC-MFS13B Điện áp cấp 3P/105VAC 0.9A

Tốc độ 3000r/min Độ phân giải encoder 17 bit encoder tuyệt đối

Momen 0.32Nm Động cơ có thắng có Để điều khiển động cơ HC-MFS13B ta sử dụng Driver MR J2S 10A

Bảng 3.11 Thông số kỹ thuật Driver MR J2S 10A Điện áp cấp 1 pha/3 pha 200 đến 240VAC

Phương pháp điều khiển SinPWM Độ phân giải encoder 17 bit encoder tuyệt đối

Khớp 3 : Momen cần là: T 3 =(1.1 0.4) 9.82 140 10+    − 3 =2.1Nm Động cơ AC servo 100w có momen định mức là T=0.32Nm

Chọn hệ số an toàn là 2, tỉ lệ truyền 3 3 * 2 2.1* 2

= T = Chọn pulley có tỉ lệ 1:1 và hộp số có tỉ lệ 1:30

Ta lựa chọn động cơ Panasonic MSMD012G1T cho khớp 3

Hình 3.12: Động cơ MSMD012G1T Bảng 3.12 Thông số kỹ thuật động cơ MSMD012G1T Điện áp cấp 3P/73VAC, 1.1A

Momen 0.32N.m Để điều khiển động cơ MSMD012G1T ta sử dụng Driver MADLN15SE

Hình 3.13 Driver MADLN15SE Bảng 3.13 Thông số kỹ thuật Driver MADLN15SE Điện áp cấp 1 pha/3 pha 200 đến 240VAC

Phương pháp điều khiển SinPWM Độ phân giải encoder 23 bit encoder tuyệt đối

Khớp 4: Tổng khối lượng không đáng kể ta lựa chọn động cơ 100W HF-

Hình 3.14 Động cơ HF-KP13 Bảng 3.14 Thông số kỹ thuật động cơ HF-KP13 Điện áp cấp 200VAC

Momen 0.32N.m Độ phân giải encoder 17 bit

Ta sử dụng driver MR J3 10A để điều khiển động cơ HF-KP13

Hình 3.15 Driver MR J3 10A Bảng 3.15 Thông số kỹ thuật Driver MR J3 10A Điện áp cấp 1 pha/3 pha 200 đến 240VAC

Phương pháp điều khiển SinPWM Độ phân giải encoder 17 bit encoder tuyệt đối

3.3.5 Lựa chọn hộp số giảm tốc

Theo tính toán ở mục 3.3.5 hộp số giảm tốc cho các khớp được chọn như sau:

Bảng 3.16 Chọn hộp số cho các khớp

3.3.6 Lựa chọn cảm biến Để xác định gốc tọa độ cho robot nhóm lựa chọn công tắc hành trình cho khớp

1, khớp 2 và khớp 3 vì giá thành rẻ, dễ lắp đặt

Hình 3.16 Công tắc hành trình

• Tiếp điểm: COM-NO-NC Ở khớp 4 do phần cơ khí không thuận tiện để sử dụng công tắc hành trình, nên nhóm chọn loại cảm biến tiệm cận

Hình 3.17 Cảm biến tiệm cận j12a3-4-z/ex Thông số kỹ thuật:

• Điện áp hoạt động: 6~36VDC

• Đèn báo khi sử dụng

Theo yêu cầu thiết kết băng tải vận chuyển những sản phẩm có hình dạng khác, nhau kích thước tối đa 65x65x5mm, khối lượng tối đa 0.1kg

Từ yêu cầu trên và để phù hợp với không gian làm việc của robot, nhóm thiết kế băng tải có thông số: Chiều dài 700mm, chiều rộng 100mm, chiều cao 90mm

Hình 3.18 Mô hình 3D băng tải

Lựa chọn động cơ kéo băng tải:

Ta có các thông số sau:

Khối lượng hàng tối đa trên băng tải w=0.1kg

Khối lượng dây đai và trục băng tải W=0.3kg

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

Bán kính trục quay rmm

Tốc độ tối đa băng tải Vmax0mm/s

Momen đầu trục băng tải:

Chuyển đơn vị từ kg.cm về N.m:

Momen đầu trục động cơ:

=  = Tốc độ quay động cơ max* 60 6600

Ta lựa chọn động cơ JGB37-520 107rpm

Hình 3.19 Động cơ JGB37-520 107rpm Bảng 3.17 Thông số kỹ thuật động cơ JGB37-520 107rpm Điện áp cấp 12VDC

Tốc độ không tải 107rpm

Momen 0.082Nm Để thực hiện Conveyor Tracking ta lựa chọn cảm biến Encoder e38s6g5- 600b-g24n để xác định chính xác vị trí của băng tải

Hình 3.20 Encoder e38s6g5-600b-g24n Bảng 3.18 Thông số kỹ thuật Encoder e38s6g5-600b-g24n Điện áp cấp 5-24VDC

Tần số đáp ứng 0-20KHz

Số xung mỗi vòng quay 600

Tốc độ cơ học tối đa 5000 vòng/phút

3.3.8 Lựa chọn Camera nhận dạng sản phẩm

Với yêu cầu của đề tài phải nhận dạng chính xác hình dạng các loại sản phẩm, nên chọn loại camera có độ phân giải cao, tốc độ khung hình 30 fps Tốc độ truyền dữ liệu ổn định và kết nối dễ dàng Dựa vào những tiêu chí trên nhóm lựa chọn webcam logitech C310

Hình 3.21 Webcam logitech c310 Bảng 3.19 Thông số kỹ thuật Webcam logitech c310 Độ phân giải 1280x720

Tốc độ khung hình 30fps

Tiêu cự Lấy nét cố định

3.3.9 Lựa chọn cơ cấu chấp hành cho robot

Sản phẩm được phân loại có dạng hình phẳng nên nhóm lựa chọn cơ cấu chấp hành dùng giác hút cho robot

Do các sản phẩm được phân loại có khối lượng nhẹ nên ta lựa chọn máy hút chân không 365dc để tạo lực hút sản phẩm

Hình 3.23 Máy bơm 365DC Bảng 3.20 Thông số kỹ thuật máy bơm 365DC Điện áp cấp 12VDC

Dòng không tải 0.23A Áp suất tối đa 1-2.5Kg Độ sâu hút 1-2.5m

Ta lựa chọn van điện từ 12V để đóng ngắt khí nén, giúp quá trình thả vật được thực hiện nhanh hơn

Hình 3.24 Van điện từ 12V 3.3.10 Lựa nút nhấn và đèn báo

Gồm nút start (NO), nút stop(NC), nút EMG(NC)

Hình 3.25 Nút nhấn Đèn báo

Ta sử dụng đèn báo 220VAC để báo trạng thái nguồn Đèn 24VDC để báo trạng thái hoạt động của hệ thống

Hình 3.26 Đèn báo trạng thái

Bản vẽ thiết kế

Hình 3.27 Sơ đồ kết nối servo khớp 1

Hình 3.28 Sơ đồ kết nối servo khớp 2

Hình 3.29 Sơ đồ kết nối servo khớp 3

Bảng 3.21 Ý nghĩa kí hiệu trong bản vẽ

EMG Nút dừng khẩn cấp

RS Relay kích Servo-On khớp 2

Hình 3.31 Sơ đồ nối dây các thiết bị

Hình 3.32 Sơ đồ mạch động lực

Chức năng của các kết nối ngõ vào và ngõ ra của PLC được thể hiện bởi bảng dưới đây

Bảng 3.22 Kết nối ngõ vào PLC

Ngõ vào Kết nối Ý nghĩa

I0.4 LS1 Công tắc hành trình khớp 1

I0.5 LS2 Công tắc hành trình khớp 2

I0.6 LS3 Công tắc hành trình khớp 3

I0.7 CB4 Cảm biến tiệm cận khớp 4

Bảng 3.23 Kết nối ngõ ra PLC

Ngõ ra Kết nối Ý nghĩa

Q0.0 SIGN J4 Chân điều hướng khớp 4

Q0.1 SIGN J1 Chân điều hướng khớp 1

Q0.2 SIGN J3 Chân điều hướng khớp 3

Q0.3 SIGN J2 Chân điều hướng khớp 2

Q0.5 RS Relay kích Servo-On khớp 2

Q4.0 PULSE J4 Chân phát xung khớp 4

Q4.1 PULSE J1 Chân phát xung khớp 1

Q4.2 PULSE J3 Chân phát xung khớp 3

Q4.3 PULSE J2 Chân phát xung khớp 2

Q8.0 MB Cuộn dây relay máy bơm

Q8.1 BT Cuộn dây relay băng tải

Q8.2 Đ1 Đèn báo trạng thái Start

Q8.3 Đ2 Đèn báo trạng thái Stop

Q8.4 HUT Cuộn dây relay van điện từ 12V

Hình 3.33 Bản vẽ bố trí thiết bị tủ điện 3.4.2 Thiết kế cánh tay robot trên Solidworks

Hình 3.34 Mô hình robot trên Solidworks 1

Hình 3.35 Mô hình robot trên Solidworks 2

Hình 3.36 Bản vẽ kích thước robot 1

Hình 3.37 Bản vẽ kích thước robot 2

Thiết kế phần mềm

Động học robot

Hình 4.1 Đặt trục cho mô hình robot

Ta quy ước chiều dương của góc quay là ngược chiều kim đồng hồ Trước tiên ta cần xác định trục quay của các khớp và đường vuông góc chung của các trục

Ta đặt góc tọa độ của hệ tọa độ thứ nhất là điểm giao nhau giữa joint 1 và đường vuông góc chung của joint 1 và joint 2 Trục z1 dọc theo đường trục quay của joint 1, trục x 1 dọc theo link 1 Chiều của trục z1 hướng lên trên, trục y1 được xác định bằng quy tắc bàn tay phải

Ta đặt góc tọa độ của hệ tọa độ thứ hai là điểm giao nhau giữa joint 2 và đường vuông góc chung của joint 2 và joint 3 Trục z 2dọc theo đường trục quay của joint 2, trục x 2 dọc theo link 2 Chiều của trục z 2 hướng ra ngoài, trục y2 được xác định bằng quy tắc bàn tay phải

Ta đặt góc tọa độ của hệ tọa độ thứ ba là điểm giao nhau giữa joint 3 và link

3 Trục z 3 dọc theo đường trục quay của joint 3, trục x 3 dọc theo link 3 Chiều của trục z 3hướng ra ngoài, trục y3 được xác định bằng quy tắc bàn tay phải Ta làm tương tự cho hệ trục tọa độ thứ tư và thứ năm

Ta đặt hệ tọa độ tham chiếu ở đế robot, góc tọa độ là điểm giao nhau giữa mặt phẳng và link 0, trục z 0 cùng phương và hướng với z 1 , trục x 0 song song với mặt phẳng nằm ngang

Hình 4.2 Đặt trục cánh tay robot 4.1.2 Động học thuận

Dựa vào Hình 4.2, ta lập bảng DH:

Bảng 4.1 Lập bảng tham số DH i  a d 

Trong đó các tham số của bảng DH lần lượt là:

•  i : góc giữa z i và z i + 1 quay xung quanh trục x i

• a i : khoảng cách giữa z i và z i + 1 dọc theo x i

•  i : góc giữa x i − 1 và x i quay xung quanh trụcz i

• d i : khoảng cách giữa x i − 1 và x i dọc theo

Xác định ma trận chuyển đổi và vị trí chấp hành:

Dựa vào công thức (2.1) ta tính được ma trận chuyển đổi hệ trục {1} từ hệ trục {0}:

Dựa vào công thức (2.1) ta tính được ma trận chuyển đổi hệ trục {2} từ hệ trục {1}:

Dựa vào công thức (2.1) ta tính được ma trận chuyển đổi hệ trục {3} từ hệ trục {2}:

Dựa vào công thức (2.1) ta tính được ma trận chuyển đổi hệ trục {4} từ hệ trục {3}:

Dựa vào công thức (2.1) ta tính được ma trận chuyển đổi hệ trục {5} từ hệ trục {4}: z i

Ma trận chuyển đổi hệ trục {5} từ hệ trục {0}:

Vị trí của cơ cấu chấp hành:

Ta dùng phương pháp đại số để tính động học nghịch

Giả thiết ban đầu: EE 0 P = p x p y p z 1 − 1 và    = 2 + + 3 4

Ta nhân hai vế phương trình (4.8) cho  0 1 T( ) 1  − 1 :

Kết quả của phương trình (4.9) có thể viết rút gọn như sau:

Thế các biến phụ vừa đặt vào phương trình (4.11) ta được:

Ta có các phương trình:

Ta chuyển vế rút gọn phương trình và đặt các biến phụ như sau:

+ = + − − −  + = − − + Bình phương hai vế và cộng hai phương trình lại ta được:

Khai triển căn bậc hai và rút gọn phương trình (4.20):

Ta chuyển vế rút gọn phương trình và đặt các biến phụ như sau:

= = với P = P x 2 + P y 2 ; = a tan 2( P P y , x ) Thế các biến phụ vừa đặt vào phương trình (4.26) ta được:

Không gian làm việc của robot là vùng không gian mà điểm cuối của robot (end-effector) có thể chạm tới khi di chuyển, nó bao gồm tất cả các điểm mà robot có thể đạt tới Xác định không gian làm việc giúp đảm bảo robot có thể thực hiện các tác vụ mong muốn mà không gặp phải giới hạn về phạm vi hoạt động

Do vị trí đặt của các cảm biến và cách bố trí thiết bị trong hệ thống ta giới hạn góc quay của các khớp như sau: góc quay của khớp 1 từ -50 o đến 90 o , góc quay của khớp 2 từ 10 o đến 100 o , góc quay của khớp 3 từ -145 o đến 30 o , góc quay của khớp 4 từ -90 o đến 30 o

Nhóm đã dùng phần mềm Matlab để tìm ra không gian làm việc của robot:

Hình 4.3 Không gian làm việc của robot

Yêu cầu thiết kế

Chương trình phải trao đổi dữ liệu được với PLC, có thể giám sát và điều khiển các trạng thái của hệ thống như: tốc độ băng tải, vị trí robot, vị trí vật phẩm, số lượng vật đã phân loại thành công…

Xây dựng giao diện điều khiển trực quan, dễ hiểu, có thể điều khiển hệ thống ở chế độ bằng tay và tự động

Hệ thống phải đảm bảo tính liên tục và chính xác, có thể hoạt động liên tục khi điều chỉnh tốc độ băng tải Chương trình có thể dễ dàng sửa chữa và bổ sung khi thay đổi điều kiện môi trường làm việc.

Giải thuật

4.3.1 Lưu đồ giải thuật điều khiển hệ thống

Biến On = true Biến On = false

Hình 4.4 Lưu đồ điều khiển hệ thống

Khi hệ thống đang được cấp điện nếu nhấn nút dừng khẩn cấp thì hệ thống sẽ lập tức ngắt điện và ngừng hoạt động

Nếu nhấn nút Start hệ thống bắt đầu hoạt động, ta cho biến On là true, nếu nhấn nút Stop hệ thống sẽ dừng lại cho đến khi nhấn lại nút Start Nếu cho phép giao tiếp dữ liệu giữa giao diện điều khiển và PLC ta sẽ bắt đầu thực hiện chương trình PLC

Hệ thống có hai chế độ điều khiển là Manual và Auto, ở chế độ Manual ta có thể điều khiển robot bằng tay, điều khiển độc lập băng tải, máy bơm Ở chế độ Auto robot hoạt động tự động, băng tải hoạt động đưa sản phẩm vào, camera sẽ gửi dữ liệu hình ảnh về mày tính, sau đó chương trình sẽ nhận dạng, phân loại và tính toán góc quay động cơ gửi về PLC để điều khiển robot

Nhận dữ liệu điều khiển

Yêu cầu SetHome Điều khiển băng tải

SetHome Đọc dữ liệu và điều khiển băng tải Đã chạy hàm SetHome Đ Đ Đ Đ

Yêu cầu hút hoặc thả vật

S S Đọc dữ liệu và điều khiển máy bơm Đọc dữ liệu và điều khiển van điện từ

Phát xung điều khiển động cơ

Encoder và tốc độ băng tải về máy tính Đọc xung

Encoder và tính vận tốc băng tải

2 Đ Đ Điều khiển động cơ Đọc giá trị góc quay và chuyển đổi về dạng xung Đ

Hình 4.5 Lưu đồ điều khiển PLC

Khi hệ thống hoạt động PLC luôn đọc xung từ Encoder, ta dùng công thức (2.4) để tính tốc độ băng tải và gửi về máy tính

Khi nhận được tín hiệu điều khiển từ giao diện người dùng thì tùy theo yêu cầu mà PLC sẽ thực hiện điều khiển động cơ, đóng mở máy bơm… Trước khi phát xung điều khiển động cơ ta phải thực hiện SetHome trước vì để xác định gốc tọa độ của các khớp

Khi điều khiển động cơ ta phải biết số xung cần phát nhưng dữ liệu góc quay gửi từ máy tính đến PLC ở dạng độ nên ta cần chuyển góc quay về số xung theo công thức sau:

• Pulse là số xung cần phát

• T1 là tỉ lệ hộp số

• R là số xung trên vòng của động cơ

Yêu cầu bật băng tải

Yêu cầu tắt băng tải

Yêu cầu bật máy bơm

Yêu cầu nhả vật Điều khiển robot

Tính toán giá trị góc quay cho các khớp

Yêu cầu tắt máy bơm Biến MayBom = 0

Gửi dữ liệu đến PLC S

Hình 4.6 Lưu đồ chế độ điều khiển Manual Ở chế độ Manual ta có thể kiểm tra hoạt động của hệ thống, kiểm chứng động học thuận và động học nghịch Do có thể điều khiển robot bằng tay giúp xác định vị trí thả các vật và giới hạn làm việc thực tế của robot

Bật băng tải Bật máy bơm Đọc tốc độ băng tải và số xung Encoder

Xử lý ảnh Điều khiển Robot

Gửi dữ liệu đến PLC

Hình 4.7 Lưu đồ chế độ điều khiển Auto

Khi ở chế độ Auto, camera được kết nối để tiến hành xử lý ảnh, máy bơm được bật để có thể điều khiển van hút hoặc nhả vật, băng tải hoạt động để di chuyển vật vào vùng hoạt động của camera và robot Chương trình sẽ luôn đọc tốc độ băng tải và số xung Encoder để tính được vị trí của vật phẩm và vị trí robot gắp vật

Chương trình xử lý ảnh sẽ phân loại hình dạng của vật phẩm và tính toán tọa độ tâm của vật Dựa vào tọa độ đã tính được và giá trị tốc độ băng tải ta tính toán được vị trí gắp của robot, sau đó dữ liệu về góc quay sẽ được gửi về PLC để điều khiển robot

4.3.2 Giải thuật xử lý ảnh

Kết nối camera thành công

Xử lý ảnh Đọc ảnh từ camera

Chuyển ảnh RGB thành HSV

Chuyển ảnh HSV thành ảnh nhị phân

Tính tọa độ tâm và hiển thị

Tìm Contour Tính diện tích

Tìm hình dạng của vật

Hình 4.8 Lưu đồ chương trình xử lý ảnh

Trước tiên ta cần kiểm tra camera đã kết nối thành công chưa, nếu đã được kết nối ta đọc khung hình từ camera Tiếp theo ta cần giới hạn khung hình cho camera để thuận lợi hơn cho việc tính tọa độ của vật Để dễ dàng tách vật ra khỏi nền ta dùng phương thức InRange() được hỗ trợ bởi EmguCV, ảnh đọc từ camera đang ở hệ màu RGB nên ta cần chuyển về hệ màu HSV Sau đó ta sẽ chạy thực nghiệm để tìm ra giới hạn dưới và giới hạn trên của các thông số H, S, V Khi tìm ra được các giới hạn ta sử dụng phương thức InRange() để chuyển ảnh HSV thành ảnh nhị phân và có thể tách vật ra khỏi nền

Nhưng lúc này ảnh còn bị ảnh hưởng nhiều bởi nhiễu nên trước khi vào bước xử lý tiếp theo ta cần lọc nhiễu Trong đề tài sử dụng hai phương pháp lọc nhiễu là phép toán giãn nở (Dilation) và phép toán co (Erosion) đã được giới thiệu ở chương

Tiếp theo ta cần xác định đường viền của vật (contour), dù đã lọc nhiễu nhưng để tăng tính chính xác ta tiến hành tính diện tích của các contour và đặt điều kiện về diện tích để loại bỏ nhiễu mà không ảnh hưởng đến nhận dạng vật

Sử dụng thuật toán xấp xỉ đã đề cập ở chương 2, ta có thể tìm được số cạnh của vật phẩm Dựa vào diện tích và số cạnh đã tìm được ta có thể nhận diện được hình dạng của vật phẩm

4.3.3 Lưu đồ giải thuật điều khiển robot gắp vật Đ Điều khiển robot Đã nhận dạng được vật

Hình tam giác Hình tròn Hình vuông Đọc ảnh từ camera

Gán vị trí thả hình tam giác

Gán vị trí thả hình tròn

Gán vị trí thả hình vuông

Gán vị trí thả hình lục giác

Vật vào không gian làm việc

Vật trước được phân loại xong

Tính tọa độ của vật so với robot

Tính động học Bắt đầu Timer

Tiến hành gắp vật Đến vị tí thả

Hình 4.9 Lưu đồ điều khiển robot

Nếu vật phẩm đã được nhận dạng và tính tọa độ bởi chương trình xử lý ảnh thì chương trình điều khiển robot sẽ hoạt động Tùy theo hình dạng của vật mà ta sẽ gắn các vị trí thả khác nhau

Ta tính được tọa độ tâm của vật nhưng lúc này đơn vị là pixel nên ta cần chuyển về đơn vị là mm

Chuyển đổi từ pixel về đơn vị mm:

• px là tọa độ trục x (mm)

• py là tọa độ trục y (mm)

• x là tọa độ trục x (pixel)

• y là tọa độ trục y (pixel)

• Lx là độ dài thực tế khung hình camera theo trục x(mm)

• Ly là độ dài thực tế khung hình camera theo trục y(mm)

• 1280 và 720 là kích thước khung hình theo trục x và trục y (pixel)

Chuyển đổi từ hệ tọa độ của camera sang hệ tọa độ của robot:

Hình 4.10 Chuyển đổi hệ trục

Ta có O’X’Y’ là hệ tọa độ của camera, OXY là hệ tọa độ của robot, gốc tọa độ lệch theo phương x và phương y lần lượt là 266mm, 141.5mm Tọa độ của vật trong hệ tọa độ robot là: x 266 x

• px là tọa độ trục x của vật trong hệ tọa độ camera (mm)

• py là tọa độ trục y của vật trong hệ tọa độ camera (mm)

• Px là tọa độ trục x của vật trong hệ tọa độ robot (mm)

• Py là tọa độ trục y của vật trong hệ tọa độ robot (mm)

Nếu vật đi vào không gian làm việc của robot và vật trước đó đã được phân loại xong ta dùng động học nghịch để tính các giá trị góc quay của các khớp Bộ đếm thời gian sẽ bắt đầu đếm khi vật đi vào vùng làm việc của robot, dựa vào giá trị đếm của timer ta có thể xác định được trạng thái hiện tại của robot như: đã đến vị trị gắp vật chưa, đã đến vị trí thả vật chưa, gắp vật xong chưa… từ đó ta có thể điều khiển robot hoàn thành chu trình phân loại Khi đã phân loại xong robot quay lại vị trí chờ để sẵn sàng gắp vật tiếp theo.

Thiết kế giao diện điều khiển

Với yêu cầu thiết kế nhóm em đã xây dựng giao diện người dùng trên nền Winform C# Winform cung cấp nhiều cung cụ hỗ trợ mạnh mẽ giúp việc xây dựng tiết kiệm được nhiều thời gian, có một cộng đồng lập trình viên lớn, nhiều tài liệu học tập và diễn đàn hỗ trợ, với thư viện S7.NET giúp giao tiếp dễ dàng giữa PLC và chương trình C#

Giao diện gồm bốn trang chính như sau: HOME, MANUAL, AUTO và CAMERA

Trang HOME cung cấp các thông tin cơ bản của đồ án như: tên đề tài, giảng viên hướng dẫn và sinh viên thực hiện Để kết nối được với PLC trước ta cần chọn loại PLC, sau đó nhập địa chỉ IP của PLC vào ô “IP” Sau khi nhập thông tin ta nhấn “Connect” thì sẽ bắt đầu kết nối với PLC, nếu kết nối thành công màu của nút “Connect” sẽ chuyển thành xanh lá, khi ta muốn ngắt kết nối thì nhấn nút “Disconnect” lúc đó màu của nút “Connect” sẽ chuyển thành đỏ

Hình 4.12 Lựa chọn các dòng PLC S7

Trang MANUAL giúp kiểm tra các thiết bị trên hệ thống, có thể kiểm chứng tính chính xác của động học thuận và động học nghịch

Nút nhấn “Manual” dùng để chọn chế độ điều khiển, sau khi đã chọn chế độ ta nhấn nút “START” để hệ thống bắt đầu hoạt động ở chế độ Manual, nút “STOP” giúp dừng hệ thống và thoát ra chế độ đang điều khiển, nút “SET HOME” giúp chạy hàm SetHome Ta cũng có thể điều khiển băng tải và máy bơm bằng hai nút nhấn

Hình 4.14 Nhập động học nghịch

Ta có nhập tọa độ trục x, y, z vào các ô “Px”, “Py”, “Pz” và hướng robot vào ô “Theta”, sau đó nhấn nút “Send” nếu tọa độ nhập nằm trong không gian làm việc của robot thì robot sẽ di chuyển đến vị trí mong muốn Nút nhấn “Reset” giúp xóa những giá trị đã nhập, các ô “Theta1”, “Theta2”, “Theta3”, “Theta4” hiển thị góc quay của các khớp robot tính được bằng động học nghịch

Hình 4.15 Nhập động học thuận

Ta có thể điều khiển trực tiếp góc quay của các khớp robot bằng các thanh trượt nếu các góc quay nằm trong giới hạn đặt trước của robot thì robot sẽ di chuyển đến vị trí mong muốn Nhấn nút “Send” để gửi dữ liệu đến PLC, các ô “Px”, “Py”,

“Pz”, “Theta” hiển thị hướng và vị trí của robot

Trang AUTO giúp quan sát các trạng thái hoạt động của hệ thống, đồng thời hiển thị màn hình của camera giúp dễ dàng quan sát, đánh giá quá trình xử lý ảnh

Hình 4.17 Các phím chức năng trang AUTO

Phím “AUTO” giúp chọn chế độ điều khiển, sau khi đã chọn chế độ ta nhấn nút “START” để hệ thống bắt đầu hoạt động ở chế độ Auto, nút “STOP” giúp dừng hệ thống và thoát ra chế độ đang điều khiển, nút “SET HOME” giúp chạy hàm SetHome

Các ô “X”, “Y”, “Z”, “Theta” lần lượt hiển thị tọa độ của robot theo trục x, y, z và hướng của robot Ô “Speed” giúp hiển thị tốc độ của băng tải, cột “STT” hiển thị số thứ tự của vật phẩm được nhận dạng Cột “X”, “Y”, “Shape” hiển thị tọa độ và hình dạng của vật phẩm

Trang CAMERA giúp quan sát quá trình xử lý chuyển từ ảnh màu sang ảnh HSV giúp dễ dàng tìm kiếm giới hạn của các giá trị H, S, V Khi môi trường làm việc thay đổi hay thay đổi màu của sản phẩm ta cũng có thể mau chóng tìm kiếm các giá trị giới hạn mới

Những vật nằm trong ngưỡng sẽ chuyển thành màu trắng, ngược lại sẽ thành màu đen Điều chỉnh ngưỡng giới hạn giúp ta có thể tách sản phẩm ra khỏi nền và lọc đi những vật không cần thiết.

Kết quả thực nghiệm

Kết quả xây dựng mô hình

Sau quá trình lên ý tưởng, thiết kế và thi công mô hình, nhóm đã đạt được kết quả phần cứng như sau:

Hình 5.1 Kết quả thi công hệ thống

Hình 5.2 Cấu trúc robot Để có thể xác định gốc tọa độ cho từng khớp của robot, ta tiến hành đặt các cảm biến tiệm cận và công tắc hành trình ở vị trí thích hợp

Hình 5.3 Lắp đặt cảm biến cho khớp 1 và khớp 2 Động cơ

Mạch điều khiển tốc độ

Hình 5.5 Kết quả thi công băng tải

Hình 5.6 Lắp đặt camera Đèn báo pha Đèn Start Đèn Stop

Hình 5.7 Bố trí và lắp đặt tủ điện điều khiển

Kiểm chứng động học và thực nghiệm hệ thống

5.2.1 Kiểm chứng động học thuận

Ta tiến hành kiểm chứng động học thuận bằng cách cho robot quay đến các góc  bất kì, sau đó tiến hành mô phỏng vị trí của robot trên Matlab và so sánh với vị trí thực tế của robot Robot hoạt động chính xác cho thấy phần tính toán động học thuận và thiết kết cơ khí là chính xác

Trường hợp 1:  1 =0 , 2 , 3 = −90 , 4 =0 , ta dùng động học thuận tính được vị trí của cơ cấu chấp hành là điểm A (363.57; -15; 520.86)

Hình 5.8 Vị trí robot mô phỏng trường hợp 1

Hình 5.9 Vị trí robot thực tế trường hợp 1

Trường hợp 2:  1 =0 , 2 p , 3 = −120 , 4 =0 , ta dùng động học thuận tính được vị trí của cơ cấu chấp hành là điểm B (350.48; -15; 281.59)

Hình 5.10 Vị trí robot mô phỏng trường hợp 2

Trường hợp 3:  1 = −45 , 2 , 3 = −45 , 4 = −60 , ta dùng động học thuận tính được vị trí của cơ cấu chấp hành là điểm C (174.26; -195.48; 656.95)

Hình 5.12 Vị trí robot mô phỏng trường hợp 3

Hình 5.13 Vị trí robot thực tế trường hợp 3

Trường hợp 4:  1 p , 2 p , 3 = −40 , 4 = −40 , ta dùng động học thuận tính được vị trí của cơ cấu chấp hành là điểm D (163.42; 405.13; 586.47)

Hình 5.14 Vị trí robot mô phỏng trường hợp 4

Kết luận: Vị trí thực tế của robot đúng với giá trị các góc quay đã đặt và khớp với phần mô phỏng trên Matlab nên phần tính toán động học thuận của robot là chính xác

5.2.2 Kiểm chứng động học nghịch

Ta tiến hành kiểm chứng bằng cách thế các giá trị vị trí cơ cấu chấp hành đã tính được ở mục 5.2.1 vào phương trình động học nghịch để tính góc quay của các khớp Nếu robot di chuyển đúng đến vị trí đã đặt cho thấy tính toán động học nghịch chính xác

Hình 5.16 Kiểm chứng động học nghịch trường hợp 1

So sánh các góc quay và vị trí robot di chuyển ở Hình 5.16 và Hình 5.9 ta thấy robot đã di chuyển đúng vị trí

Hình 5.17 Kiểm chứng động học nghịch trường hợp 2

So sánh các góc quay và vị trí robot di chuyển ở Hình 5.17 và Hình 5.11 ta thấy robot đã di chuyển đúng vị trí

Hình 5.18 Kiểm chứng động học nghịch trường hợp 3

So sánh các góc quay và vị trí robot di chuyển ở Hình 5.18 và Hình 5.13 ta thấy robot đã di chuyển đúng vị trí

Hình 5.19 Kiểm chứng động học nghịch trường hợp 4

So sánh các góc quay và vị trí robot di chuyển ở Hình 5.19 và Hình 5.15 ta thấy robot đã di chuyển đúng vị trí

Kết luận: Vị trí thực tế của robot di chuyển đúng với vị trí vật đã đặt, phần tính toán động học nghịch của robot là chính xác

5.2.3 Thực nghiệm chương trình xử lý ảnh

Ta thử nghiệm tính tọa độ và phân loại các sản phẩm có hình dạng khác nhau:

Hình 5.20 Tính tọa độ và nhận dạng hình vuông

Trường hợp 2: Hình lục giác

Hình 5.21 Tính tọa độ và nhận dạng hình lục giác

Hình 5.22 Tính tọa độ và nhận dạng hình tròn

Trường hợp 4: Hình tam giác

Hình 5.23 Tính tọa độ và nhận dạng tam giác

Kết luận: Nhận dạng thành công các loại sản phẩm với các hình dạng khác nhau, xác định được tọa độ trọng tâm của từng sản phẩm để gửi tới PLC giúp robot gắp chính xác vật

5.2.4 Thực nghiệm phân loại sản phẩm với nhiều cấp tốc độ băng tải

Sau khi kiểm chứng tính chính xác của động học và thực nghiệm khả năng nhận dạng của chương trình xử lý ảnh ta tiến hành thử nghiệm khả năng phân loại sản phẩm với tốc độ băng tải thay đổi

Trường hợp 1: Tốc độ băng tải 40mm/s

Sau khi thực nghiệm ta thu được kết quả thể hiện ở bảng sau:

Bảng 5.1 Tốc độ băng tải 40mm/s

Sản phẩm Hình lục giác Hình vuông Hình tròn Hình tam giác

Trong quá trình thực nghiệm ta tiến hành bấm giờ và đo tốc độ phân loại sản phẩm thu được kết quả: 14 sản phẩm/ phút

Trường hợp 2: Tốc độ băng tải 60mm/s

Sau khi thực nghiệm ta thu được kết quả thể hiện ở bảng sau:

Bảng 5.2 Tốc độ băng tải 60mm/s

Sản phẩm Hình lục giác Hình vuông Hình tròn Hình tam giác

Trong quá trình thực nghiệm ta tiến hành bấm giờ và đo tốc độ phân loại sản phẩm thu được kết quả: 12 sản phẩm/ phút

Trường hợp 3: Tốc độ băng tải 80mm/s

Sau khi thực nghiệm ta thu được kết quả thể hiện ở bảng sau:

Bảng 5.3 Tốc độ băng tải 80mm/s

Sản phẩm Hình lục giác Hình vuông Hình tròn Hình tam giác

Trong quá trình thực nghiệm ta tiến hành bấm giờ và đo tốc độ phân loại sản phẩm thu được kết quả: 13 sản phẩm/ phút

Trường hợp 4: Tốc độ băng tải 100mm/s

Sau khi thực nghiệm ta thu được kết quả thể hiện ở bảng sau:

Bảng 5.4 Tốc độ băng tải 100mm/s

Sản phẩm Hình lục giác Hình vuông Hình tròn Hình tam giác

Trong quá trình thực nghiệm ta tiến hành bấm giờ và đo tốc độ phân loại sản phẩm thu được kết quả: 13 sản phẩm/ phút

Tỉ lệ phân loại chính xác tốt nhất khi tốc độ băng tải là 40mm/s, khi tốc độ băng tải tăng thì tỉ lệ chính xác giảm là do ảnh bị mờ khi chụp vật di chuyển ở tốc độ cao làm xác định hình dạng của vật không chính xác

Tỉ lệ chính xác và tốc độ phân loại đạt với yêu cầu thiết kế, những trường hợp robot gắp không chính xác là do tốc độ của băng tải chưa ổn định, camera bị ảnh hưởng bởi các điều kiện ánh sáng khác nhau dẫn đến xác định loại sản phẩm và điểm gắp chưa chính xác.

Ngày đăng: 26/09/2024, 15:25

HÌNH ẢNH LIÊN QUAN

Bảng 3.16 Chọn hộp số cho các khớp - thiết kế và điều khiển cánh tay robot phân loại sản phẩm
Bảng 3.16 Chọn hộp số cho các khớp (Trang 41)
Hình 3.27 Sơ đồ kết nối servo khớp 1 - thiết kế và điều khiển cánh tay robot phân loại sản phẩm
Hình 3.27 Sơ đồ kết nối servo khớp 1 (Trang 48)
Hình 3.29 Sơ đồ kết nối servo khớp 3 - thiết kế và điều khiển cánh tay robot phân loại sản phẩm
Hình 3.29 Sơ đồ kết nối servo khớp 3 (Trang 49)
Bảng 3.21 Ý nghĩa kí hiệu trong bản vẽ - thiết kế và điều khiển cánh tay robot phân loại sản phẩm
Bảng 3.21 Ý nghĩa kí hiệu trong bản vẽ (Trang 50)
Hình 3.32 Sơ đồ mạch động lực - thiết kế và điều khiển cánh tay robot phân loại sản phẩm
Hình 3.32 Sơ đồ mạch động lực (Trang 51)
Hình 3.33 Bản vẽ bố trí thiết bị tủ điện  3.4.2 Thiết kế cánh tay robot trên Solidworks - thiết kế và điều khiển cánh tay robot phân loại sản phẩm
Hình 3.33 Bản vẽ bố trí thiết bị tủ điện 3.4.2 Thiết kế cánh tay robot trên Solidworks (Trang 52)
Hình 3.36 Bản vẽ kích thước robot 1 - thiết kế và điều khiển cánh tay robot phân loại sản phẩm
Hình 3.36 Bản vẽ kích thước robot 1 (Trang 54)
Hình 4.1 Đặt trục cho mô hình robot - thiết kế và điều khiển cánh tay robot phân loại sản phẩm
Hình 4.1 Đặt trục cho mô hình robot (Trang 55)
Hình 4.3 Không gian làm việc của robot - thiết kế và điều khiển cánh tay robot phân loại sản phẩm
Hình 4.3 Không gian làm việc của robot (Trang 61)
Hình 4.4 Lưu đồ điều khiển hệ thống - thiết kế và điều khiển cánh tay robot phân loại sản phẩm
Hình 4.4 Lưu đồ điều khiển hệ thống (Trang 62)
Hình 4.6 Lưu đồ chế độ điều khiển Manual - thiết kế và điều khiển cánh tay robot phân loại sản phẩm
Hình 4.6 Lưu đồ chế độ điều khiển Manual (Trang 64)
Hình 4.11 Trang HOME - thiết kế và điều khiển cánh tay robot phân loại sản phẩm
Hình 4.11 Trang HOME (Trang 69)
Hình 4.16 Trang AUTO - thiết kế và điều khiển cánh tay robot phân loại sản phẩm
Hình 4.16 Trang AUTO (Trang 72)
Hình 5.1 Kết quả thi công hệ thống - thiết kế và điều khiển cánh tay robot phân loại sản phẩm
Hình 5.1 Kết quả thi công hệ thống (Trang 74)
Hình 5.7 Bố trí và lắp đặt tủ điện điều khiển - thiết kế và điều khiển cánh tay robot phân loại sản phẩm
Hình 5.7 Bố trí và lắp đặt tủ điện điều khiển (Trang 77)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w