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

Phân loại sản phẩm ứng dụng robot: Đồ án tốt nghiệp ngành CN kỹ thuật điều khiển và tự động hóa

90 2 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 đề Phân Loại Sản Phẩm Ứng Dụng Robot
Tác giả Lê Võ Việt, Ngô Tấn Thanh
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 2022
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 90
Dung lượng 8,08 MB

Cấu trúc

  • CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN (17)
    • 1.1 Lý do chọn đề tài (17)
    • 1.2 Mục tiêu nghiên cứu (17)
    • 1.3 Đối tượng và phạm vi nghiên cứu (17)
      • 1.3.1 Đối tượng nghiên cứu (17)
      • 1.3.2 Phạm vi nghiên cứu (17)
    • 1.4 Cách tiếp cận, phương pháp nghiên cứu (18)
      • 1.4.1 Cách tiếp cận (18)
      • 1.4.2 Phương pháp nghiên cứu (18)
    • 1.5 Nội dung nghiên cứu (18)
    • 1.6 Bố cục cuốn báo cáo (19)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT (20)
    • 2.1 Giới thiệu Robot Delta (20)
    • 2.2 Tổng quan về công nghệ xử lý ảnh (21)
      • 2.2.1 Các khái niệm về xử lí ảnh (21)
      • 2.2.2 Màu RGB (21)
      • 2.2.3 Không gian màu HSV (21)
      • 2.2.4 Xử lý hình thái học (23)
    • 2.3 Các phần mềm liên quan (26)
      • 2.3.1 Phần mềm Visual Studio (26)
      • 2.3.2 Giới thiệu thư viện Emgu CV (27)
      • 2.3.3 MX Component (28)
      • 2.3.4 Bộ điều khiển PID (33)
      • 2.3.5 Tổng quan về PLC (34)
  • CHƯƠNG 3: NỘI DUNG THỰC HIỆN (36)
    • 3.1 Phương trình động học robot Delta (36)
      • 3.1.2 Động học thuận Robot (37)
      • 3.1.3 Động học nghịch (40)
    • 3.2 Thiết kế và thi công hệ thống (44)
      • 3.2.1 Gia công băng tải (44)
      • 3.2.2 Gia công khung robot (44)
      • 3.2.3 Gia công cánh tay robot (46)
      • 3.2.4 Gia công bộ phận truyền động (47)
      • 3.2.5 Gia công phần khớp xoay (48)
    • 3.3 Lựa chọn thiết bị (50)
      • 3.3.1 Công tắc hành trình (50)
      • 3.3.2 Cơ cấu hút vật (51)
      • 3.3.3 Bơm hút chân không Micro 24V (Micro Air) (51)
      • 3.3.4 Động cơ cho khớp xoay (52)
      • 3.3.5 Nguồn tổ ong (53)
      • 3.3.6 Điều khiển động cơ L298 (54)
      • 3.3.7 Arduino mega 2560 (54)
      • 3.3.8 Sơ đồ kết nối động cơ (55)
      • 3.3.9 Động cơ bước (56)
      • 3.3.10 Driver điều khiển động cơ Micro step TB6600 (57)
      • 3.3.11 Sơ đồ kết nối động cơ bước với Arduino (58)
      • 3.3.12 Driver MR-J2S-10A (58)
      • 3.3.13 Động cơ AC servo HC-MFS13 (60)
      • 3.3.14 Hộp số giảm tốc (63)
      • 3.3.15 Wedcam Xiaomi Youpin Xiao (64)
      • 3.3.16 PLC Mitsu FX5UJ (65)
    • 3.4 Thi công hệ thống (67)
      • 3.4.1 Thi công tủ điện (67)
      • 3.4.2 Mô hình hoàn chỉnh của robot (68)
    • 3.5 Giải thuật và chương trình điều khiển (69)
      • 3.5.1 Quy trình điều khiển (69)
      • 3.5.2 Quy trình xử lý ảnh (70)
      • 3.5.3 Phương pháp chuyển đổi tọa độ khung hình sang tọa độ của hệ robot (71)
      • 3.5.4 Thiết kế giao diện điều khiển (73)
  • CHƯƠNG 4: KẾT QUẢ ĐẠT ĐƯỢC (76)
    • 4.1 Kết quả thực hiện (76)
      • 4.1.2 Phần mềm (76)
    • 1. Kết luận (81)
      • 1.1 Mục tiêu đã đạt được (81)
      • 1.2 Hạn chế còn tồn tại (81)
    • 2. Hướng phát triển (81)
  • TÀI LIỆU THAM KHẢO (82)

Nội dung

GIỚI THIỆU TỔNG QUAN

Lý do chọn đề tài

Trong quá trình công nghiệp hóa hiện đại hóa, các nhà khoa học đã nghiên cứu chế tạo các loại robot để phục vụ sản xuất Với quá trình phát triển của các robot công nghiệp, loại robot mới ra đời thay thế dần các loại robot trước đây, đó là robot song song, với đặc tính nổi trội so với robot cổ điển như:

- Khả năng chịu tải lớn

- Độ cứng vững cao do kết cấu hình học của chúng hợp lí

- Các lực tác động đồng thời được phân bố đều cho các chân, đồng thời lực tác động lên các chân của robot đều là lực kéo (hay nén) nhờ các cấu trúc của robot

- Các robot song song không cần làm việc trên bệ đỡ và có thể di chuyển tới mọi nơi trong môi trường sản xuất do có khối lượng và kích thước tương đối nhỏ

- Năng suất làm việc cao

- Giá thành robot song song sử dụng trong gia công rẻ hơn nhiều so với các máy CNC có tính năng tương đương

Với tính ưu việt cao, các robot song song ngày càng thu hút được nhiều nhà khoa học nghiên cứu và ứng dụng rộng rãi các loại robot trong nhiều lĩnh vực

Chính vì những lý do trên, chúng em quyết định chọn đề tài “Phân loại sản phẩm ứng dụng robot” cụ thể là sử dụng robot Delta để phân loại sản phẩm một cách linh hoạt dựa vào màu sắc và góc xoay của sản phẩm, ứng dụng trong các dây chuyền sản xuất.

Mục tiêu nghiên cứu

Mục tiêu nghiên cứu của đề tài là chế tạo thành công robot Delta có khả năng phân loại sản phẩm linh hoạt theo màu sắc và sắp xếp sản phẩm theo trật tự.

Đối tượng và phạm vi nghiên cứu

- Nghiên cứu tổng quan về robot song song

- Nghiên cứu lý thuyết và giải bài toán động học của robot song song

- Nghiên cứu và thiết kế và chế tạo mô hình cơ khí của robot song song Nghiên cứu lựa chọn và chế tạo các mạch điện sử dụng để điều khiển robot

- Thuật toán xử lý ảnh để phân loại sản phẩm và tính toán góc xoay

- Phần mềm trên máy tính để tính toán xử lý ảnh và tính động học của robot để điều khiển các động cơ, điều khiển băng tải, viết giao diện chương trình điều khiển cho hệ thống

- Nghiên cứu tổng quan về robot song song, cụ thể là robot Delta

- Nghiên cứu lý thuyết và giải bài toán động học của robot Delta

- Nghiên cứu, thiết kế và chế tạo mô hình cơ khí của robot Delta Nghiên cứu lựa chọn sử dụng động cơ AC Servo cho robot Delta

- Thuật toán xử lý ảnh chuyển hệ màu sang HSV tiến hành các bước xử lý ảnh để phân loại sản phẩm theo màu sắc và tính toán góc xoay

- Phần mềm trên máy được viết bằng ngôn ngữ lập trình C#, dùng để tính toán động học và xử lý ảnh, sau đó thông qua phần mềm MX Component để kết nối với phần mềm điều khiển PLC GX Works3 và kết nối với Arduino tiến hành điều khiển robot và khớp xoay

Cách tiếp cận, phương pháp nghiên cứu

- Tiếp cận các lý thuyết liên quan như lý thuyết về xử lý ảnh, lý thuyết vể robot, lý thuyết điều khiển động cơ bước, lý thuyết điều khiển AC Servo, lý thuyết điều khiển động cơ giảm tốc……

- Tiếp cận theo cách ứng dụng các lý thuyết ở trên để phát triển một sản phẩm robot Delta demo có thể lắp ráp thử nghiệm thực tế

1.4.2 Phương pháp nghiên cứu Đề tài sử dụng tổng hợp các phương pháp nghiên cứu sau:

- Phương pháp nghiên cứu lý thuyết

Nội dung nghiên cứu

- Tổng hợp tài liệu về tính toán động học thuận và nghịch của robot Delta, từ đó xây dựng thuật toán giải bài toán động học thuận/ động học nghịch

- Tìm hiểu tài liệu về điều khiển động cơ AC Servo, tài liệu sử dụng các phẩn mềm liên quan (C#.NET, GX Works3, Arduino, MX Component)

- Tính toán thiết kế và cải tiến mô hình cơ khí cho robot đảm bảo độ chính xác và độ vững cứng cần thiết, đáp ứng nhu cầu điều khiển linh hoạt, chính xác

- Chế tạo mô hình thực nghiệm robot Delta

- Tìm hiểu các phương pháp điều khiển, xây dựng thuật toán và chương trình điều khiển

- Tìm hiểu về phương pháp xử lý ảnh để phân loại sản phẩm, góc lệch so với băng tải

- Điều khiển thực hiện các công việc yêu cầu, cụ thể là nhận diện phân loại được màu sắc, bỏ vật vào đúng vị trí, khi vật lệch một góc bất kì thì sử dụng khớp xoay để sắp xếp vật đúng vị trí

Bố cục cuốn báo cáo

Nội dung của cuốn báo cáo bao gồm 5 phần:

Chương 1: Giới thiệu tổng quan

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

Chương 3: Nội dung thực hiện

Chương 4: Kết quả đạt được

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

CƠ SỞ LÝ THUYẾT

Giới thiệu Robot Delta

Khái niệm robot có cấu trúc song song được Gough và Whitehall đưa ra vào năm 1962 Ngày nay, Delta robot (robot song song là một loại robot được sử dụng nhiều trong công nghiệp, đặc biệt là khâu phân loại và đóng gói sản phẩm nhờ vào đặc tính có tốc độ và độ chính xác cao)

Robot Delta có cơ cấu động học song song ba bậc tự do, cấu trúc vòng kín Trong đó có 3 nhánh, với mỗi nhánh, một đầu được nối vào giá di động thông qua cơ cấu hình bình hành Với cấu trúc hình học như vậy nên giá di động luôn định hướng và chỉ có thể chuyển động tịnh tiến theo ba trục XYZ

Dựa vào đặt tính của các khớp của robot mà ta có thể phân loại robot delta làm 2 dạng chính:

- Robot delta hoạt động theo 3 khớp xoay: đối với loại này thường được ứng dụng để gắp và thả các vật có kích thước vừa phải từ trên các băng truyền để ứng dụng vào việc phân loại cũng như để đóng gói Bên cạnh đó, nó còn được ứng dụng trong các dây chuyển sản xuất thực phẩm và y học

Hình 2 1: Robot delta dùng khớp xoay

- Robot hoạt động theo kiểu các khớp trượt: Đa phần loại này được sử dụng trong các loại máy in 3D

Hình 2 2: Robot delta dùng khớp trượt.

Tổng quan về công nghệ xử lý ảnh

2.2.1 Các khái niệm về xử lí ảnh

Xử lý ảnh là một phân ngành trong xử lý số tín hiệu với tín hiệu xử lý là ảnh Đây là một phân ngành khoa học mới rất phát triển trong những năm gần đây Xử lý ảnh gồm 4 lĩnh vực chính: xử lý nâng cao chất lượng ảnh, nhận dạng ảnh, nén ảnh và truy vấn ảnh

Mô hình màu RGB sử dụng mô hình bổ sung trong đó ánh sáng đỏ, xanh lục và xanh lam được tổ hợp với nhau theo nhiều phương thức khác nhau để tạo thành các màu khác Từ viết tắt RGB trong tiếng Anh có nghĩa là đỏ (red), xanh lục (green) và xanh lam (blue), là ba màu gốc trong các mô hình ánh sáng bổ sung

Không gian màu HSV không giống như màu RGB là sử dụng các hệ màu cơ bản, HSV gần gũi với người sử dụng về cách cảm nhận màu sắc

Không gian màu HSV (còn được gọi là HSB) là một phương thức để mô tả màu sắc một cách tự nhiên

Bánh xe màu HSV được mô tả dưới dạng hình nón hoặc hình trụ, nhưng luôn có

- H: (Hue) Vùng màu: phần màu của mô hình được biểu thị dưới dạng số từ 0 đến 360 độ Trong đó màu đỏ (0-60), màu vàng (60-120), màu xanh lá (120-180), màu cam (180-240), màu xanh da trời (240-300) và cuối cùng là màu đỏ tươi (300-

Hình 2 4: Thông số H (hue) về vùng màu

- S: (saturation) Độ bão hòa màu: hay còn được xem là lượng màu xám trong màu cụ thể nào đó, được biểu diễn từ 0 đến 100 phần trăm Thành phần này nếu được giảm về 0 sẽ tạo ra màu sắc có sắc xám, màu nhạt do mức bão hòa thấp và tạo ra hiệu ứng mờ dần (trong một số tài liệu độ bão hòa sẽ được xuất hiện dưới phạm vi từ 0 đến 1), khi độ bão hào đạt 100% sẽ tạo ra màu tinh khiết mang tính chất của màu được chọn ở Hue (H)

Hình 2 5: Thông số S (saturation) về độ bão hòa

- B: (hay V): (Bright hay Value) Độ sáng: giá trị độ sáng được sử dụng kết hợp với độ bão hòa và mô tả độ sáng hoặc cường độ của màu sắc từ 0-100 phần trăm, trong đó 0 là hoàn toàn đen và 100 là sáng nhất cho thấy màu sắc nhất

Hình 2 6: Thông số B (brigh) về độ sáng

Hình 2.6 được tạo ra để thể hiện mối quan hệ giữa các thành phần trong hệ màu HSV, với giá trị màu được chọn là màu đỏ và mối liên hệ giữa độ bão hòa (S), độ sáng (V) thông qua 2 trục thẳng đứng và ngang

Hình 2 7: Mối liên hệ giữa thông số S và V (saturation và Value)

Trong luận văn nhóm đã sử dụng các frame ảnh mà mỗi pixel ảnh có một độ sâu là 8 bít (256) từ đây ta có thể chuyển đổi các giá trị H, S, V thành các khoảng giá trị tương ứng là [0,255] thay vì [0,360] ở H cũng như [0,1] ở S và V Để thuận tiện cho việc nhận diện vật thể ta sử dụng hàm inRang để chuyển từ ảnh hiện có sang ảnh nhị phân

Lý do chúng em sử dụng không gian màu HSV để phát hiện và tạo ngưỡng màu trên RGB hay BGR là HSV mạnh mẽ hơn đối với các thay đổi ánh sáng bên ngoài Điều này có nghĩa là trong trường hợp ánh sáng bên ngoài thay đổi nhỏ (chẳng hạn như bóng mờ, v.v.), giá trị Hue thay đổi tương đối ít hơn giá trị RGB

2.2.4 Xử lý hình thái học

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

Phép toán giãn nở (Dilation) là một trong các hoạt động cơ bản trong hình thái toán học Phép toán này có tác dụng làm cho đối tượng ban đầu trong ảnh tăng lên về kích thước (giãn nở ra)

Hình 2 8: Phép toán giãn nở ảnh

Phép toán co (Erosion) là một trong hai hoạt động cơ bản (khác phép giãn nở) trong hình thái học có ứng dụng trong việc giảm kích thước của đối tượng, tách rời các đối tượng gần nhau, làm mảnh và tìm xương của đối tượng

Hình 2 9: Phép toán co ảnh

Trong luận văn, phép co sử dụng phần tử có kích thước 8x8 để phù hợp với kích thước vật mẫu và khung hình nhắm loại bỏ các điểm nhiễu, dễ dàng tách vật ra khỏi background giữa các vật với nhau Sau khi thực hiện phép co ta thực hiện phép dãn để đưa ảnh về đúng kích thước ban đầu Trải qua phép co và dãn thì vật thể thì ảnh nhị phân đã loại bỏ được một phần lớn nhiễu, phần lồi lõm quanh đường bao của vật thể, giúp đường bao các đối tượng trong ảnh trở nên mượt mà hơn Luận văn ta sử dụng 2 lần co ảnh và 2 lần dãn ảnh

Hình 2.10: Hình ảnh sau khi đã được co và dãn ảnh

Là một đường cong khép kín nối các điểm liên tục (trên đường viền bao), các điểm trên countour có cùng giá trị màu và cường độ Contour là một công cụ hữu dụng trong phân tích hình dáng, phát hiện đối tượng và nhận dạng Tìm contour giống như tìm vật thể trắng từ nền đen Do đó, vật thể nên có màu trắng và nền nên có màu đen

Hình 2 11: Một số vi dụ về vật thể sau khi được nhận diện

Trong đề tài, ảnh sau khi được khử khử nhiễu và làm mịn đường sẽ được áp dụng hàm FindContours để tìm kiếm những đường bao của vật mẫu trong ảnh nhị phân Cách sử dụng để tìm Contour là RetrType.Ccomp Số điểm bao sẽ được lấy ra dưới dạng chainApproxSimple

Image Moment là giá trị trung bình có trọng số cụ thể nhất định của cường độ pixel hình ảnh bào gồm một số thuộc tính cụ thể của hình ảnh, như bán kính, diện tích, tâm… Để tìm ra tâm của một vật ta sử dụng công thức

C x được coi là tọa độ tâm x của vật trong khung ảnh

C y được coi là tọa độ tâm y của vật trong khung ảnh

M 00là đại lượng thể hiện các điểm area (có thể được xem là diện tích của dối tượng)

Các phần mềm liên quan

Visual Studio hay gọi đầy đủ là Microsoft Visual Studio Đây là một phần mềm hỗ trợ hàng đầu cho công việc lập trình website do Microsoft phát triển Là công cụ hỗ trợ đang nắm giữ vị trí số một thế giới, hiện tại vẫn chưa có phần mềm đối thủ nào có thể thay thế được nó

Là một IDE được sản xuất bởi Microsoft, nhiều người thường gọi Visual Studio như một trình soạn thảo mã nổi tiếng được nhiều người sử dụng nhất thế giới Lý do là vì phần mềm này được hỗ trợ nhiều ngôn ngữ lập trình khác nhau, thông dụng nhất là VB+ và C# Người thiết kế giao diện bằng Visual Studio sẽ thoải mái lựa chọn những ngôn ngữ lập trình quen thuộc để phát triển phần mềm Ngoài ra, Visual Studio còn dùng để phát triển các phần mềm của Microsoft, các trang web, dịch vụ web và ứng dụng web Đến nay, Microsoft đã cho ra đời nhiều phiên bản phần mềm khác nhau để phục vụ nhu cầu sử dụng đa dạng của người dùng Các bạn có thể dễ dàng lựa chọn những phiên bản tương thích với cấu hình máy và giao diện phù hợp mục đích sử dụng

Hình 2 12: Biểu tượng phần mềm ở một số phiên bản

Một số điểm mạnh của Visual Studio:

- Hỗ trợ lập trình đa ngôn ngữ như C/C++, C#, Visual Basic, JavaScript, … ngoài ra đối với những phiên bản từ 2015 trở lên có hỗ trợ thêm ngôn ngữ Python

- Visual Studio là một công cụ hỗ trợ việc Debug một cách mạnh mẽ, dễ dàng nhất (Break Point, hỗ trợ việc Debug theo từng dòng lệnh, …)

- Dễ dàng tiếp cận cũng như việc sử dụng đối với những người mới bắt đầu

- Visual Studio hỗ trợ phát triển ứng dụng desktop MFC, Windows Form, Universal App, ứng dụng mobile Windows Phone 8/8.1, Windows 10, Android (Xamarin), iOS và phát triển website Web Form, ASP.NET MVC và phát triển Microsoft Office

- Visual Studio hỗ trợ kéo thả trong việc xây dựng ứng dụng một cách chuyên nghiệp, hỗ trợ người mới bắt đầu có thể tiếp cận nhanh chóng hơn với phần mềm

- Visual Studio cho phép chúng ta tích hợp những extension từ bên ngoài như Resharper (hổ trợ quản lý và viết mã nhanh cho các ngôn ngữ thuộc Net), hay việc cài đặt thư viện nhanh chóng thông qua Nuget

- Visual Studio được sử dụng đông đảo bởi lập trình viên trên toàn thế giới

Về phần thiết kế giao diện nhóm tiến hành thực hiện dựa trên tính năng Windows Forms Designer Tính năng này được dùng để nhằm xây dựng GUI (giao diện đồ họa người dùng) sử dụng Windows Forms, được tạo ra bằng các nút điều khiển bên trong hoặc khóa chúng vào bên cạnh mẫu Các nguồn dữ liệu như cơ sở dữ liệu và truy vấn được liên kết các công cụ điều khiển trình bày dữ liệu như hộp danh sách, hộp văn bản, …

2.3.2 Giới thiệu thư viện Emgu CV

Thư viện Emgu CV là một thư viện được phát triển dành cho ngôn ngữ C# ứng dụng mãnh mẽ vào việc xử lý ảnh Với thư viện này ta có thể sử dụng được các chức năng của OpenCV từ NET Thư viện Emgu CV được sử dụng tương thích với các ngôn ngữ C#, VB, VC++, Iron Python, …Thự viện này có thể chạy trên các nền tảng Windows, Linux, Mac OS X, iOS, Android và Window Phone Ưu điểm của việc sử dụng thư viện Emgu CV:

- Emgu CV được viết bằng C#, có thể hoạt động trên đa nền tảng

- Emgu CV sử dụng được trên nhiều loại ngôn ngữ khác nhau

- Ứng dụng nhận dạng hình ảnh: nhận dạng khuôn mặt, các vật thể, hình dạng của vật thể, nhận dạng cử chỉ, …

- Xử lý hình ảnh: khử nhiễu, điều chỉnh độ sáng, độ bão hòa, …

- Có thể sử dụng hình ảnh lớp hoặc trực tiếp gọi chức năng từ OpenCV

Về OpenCV đây là một thư viện được phát triển bởi hãng Intel Nó được ứng dụng cho lĩnh vực thị gác máy tính, nó được viết dựa trên ngôn ngữ C và C++ và đã được tối ưu hóa, trong OpenCV bao gồm hơn 500 hàm với nhiều lĩnh vực khác nhau của thị giác máy tính

Thư viện Emgu CV được sử dụng trải dài trên nhiều lĩnh vực bao gồm việc kiểm tra các sản phẩm của nhà máy, hình ảnh từ y tế, giao diện dành cho người dùng, tinh chình máy ảnh và các ứng dụng khác liên quan đến robot

Một số hàm được sử dụng trong Emgu CV

 Chuyển màu BRG sang HSV

CvInvoke.CvtColor(Image_Brg, Image_Hsv, ColorConversion.Bgr2Hsv)

- Image_Brg: ảnh đầu vào Brg (input)

- Image_Hsv: ảnh thu được sau khi chuyển đổi(output)

 Chức năng lọc vùng không gian màu HSV (Lower, Upper)

Lấy vùng không gian màu HSV tương ứng

CvInvoke.InRange (Hsv_Image, Lower, Upper, Color_Image)

- Hsv_Image: ảnh đầu vào HSV (input)

- Lower: điểm không gian màu HSV min

- Upper: điểm không gian màu HSV max

- Color_Image: ảnh sau khi lọc vùng không gian màu Hsv

 Chuyển sang ảnh nhị phân

CvInvoke.Threshold(Input_Image, Output_Image, Max_thresh, Value_Thresh, Type_Threshold.Binary)

- Input_Image: ảnh đầu vào

- Output_Image: ảnh thu được sau khi chuyển đổi

- Value_Thresh: giá trị ngưỡng

- Max_thresh: giá trị ngưỡng lớn nhất

- Type_Threshold.Binary: kiểu nhị phân

10 Để có thể giao tiếp giữa C# với PLC thì ở đây nhóm thực hiện thông qua phần mềm trung gian MX Component Đây là phần mềm giúp người dùng có thể giao tiếp cũng như truyền nhận dữ liệu từ C# với PLC một cách đơn giản thông qua nhiều chuẩn giao tiếp khác nhau như UART, RS485, Ethernet … ở đây nhóm thực hiện thông qua mạng ethernet

Một số khai báo cần thực hiện trước khi thực hiện giao tiếp Đầu tiên ta tiến hành mở phần mềm, tại Target setting ta quan sát tại đây lúc này sẽ không chứa bất kì thông số nào, ta tiến hành chọn vào Wizard để có thể thiết lập các thông số

Hình 2 13: Giao diện khi mở phần mềm

Sau khi chọn vào Wizard, ở đây ta sẽ chọn thông số Logical station number dùng để làm thông số trung gian khi giao tiếp C# trên phần mềm Visual Studio, ở đây ta chọn Logical station number bằng 1

Hình 2 14: Thực hiện khởi tạo Logical station number

Logical station sau khi đã được chọn ta tiến hành bấm next và tiếp theo tại PC side I/F ta có thể chọn một trong các loại giao tiếp: GX Simulator3, GX Simulator2,

GX Simulator, USB, USB (via GOT), Ethernet board, Ethernet board (via GOT) … ở đây ta chọn Ethernet board và tại Connect module ta chọn CPU module (FX5) tùy theo loại PLC mà ta có được module khác nhau

Hình 2 15: Chọn kiểu giao tiếp và CPU phù hợp

Module PLC sau khi đã được chọn, tiếp theo tại Communication setting ta chọn vào Ethernet port direct connection ta chọn Adapter thích hợp, lúc này IP Address sẽ được cập nhật

Hình 2 16: Chọn Adapter tương ứng

Sau khi địa chỉ IP Address đã được cập nhật ta chọn Station type thích hợp

Hình 2 17: Chọn loại Station thích hợp

Cuối cùng là việc đặt tên tại mục Comment

Hình 2 18: Đặt tên cho thiết bị

NỘI DUNG THỰC HIỆN

Phương trình động học robot Delta

3.1.1 Cấu tạo robot song song Delta

Hình 3 1: Cấu tạo robot Delta

Trước tiên, ta tiến hành đặt một số thông số quan trọng của hình học cho robot delta trong đó:

 f là khoảng cách từ tâm O của bàn máy cố định với trục nối động cơ

 e là khoảng cách từ tâm E của khung đế cố định với các trục thanh nối

 rf là chiều dài của khâu dẫn động

 re là chiều dài của cấu trúc hình bình hành (chiều dài khâu bị động)

Cấu tạo của robot song song gồm các thành phần :

- Khung đế cố định A, là nơi gắn kết các động cơ với nhau

- Bệ chuyển động B, nơi gắn kết động cơ DC cho khớp xoay

- Khớp nối động cơ gồm 3 khâu chủ động F J 1 1 , F J 2 2 , F J 3 3 liên kết với khung đế cố định bằng các khớp xoay được dẫn động bởi 3 đông cơ servo, các động cơ được liên kết chặt với khung đế cố định

- 3 Khớp tĩnh hình bình hành J E 1 1 , J E 2 2 , J E 3 3 , mỗi khớp là một hình bình hành

Việc sử dụng Khớp nối hình bình hành trên bệ chuyển động giúp cho bệ chuyển động tịnh tiến trong không gian Nhờ đó robot có 3 bậc tư do được xác định bởi

Từ các góc    1 , 2 , 3 ta tính ra toa độ ( x y z 0 , 0 , 0 ) của điểm E

Khi đã biết các góc  x , chúng ta có thể dễ dàng tìm ra tọa độ của các điểm J 1 , J 2 và J 3 Các khớp nối J E 1 1 ,J E 2 2 và J E 3 3 có thể hoạt động xoay quanh các điểm J 1 ,

J 2 và J 3 tương ứng một cách tự do, tạo thành 3 hình cầu có bán kính là re

Hình 3 2: Mô hình động học robot Delta

Việc di chuyển tâm của các hình cầu từ các điểm J 1 , J 2 và J 3 đến các điểm J 1 ' ,

J 2 và J 3 ' thông qua các vector chuyển tiếp E E 1 0 , E E 2 0 và E E 3 0 tương ứng Khi quá trình biến đổi hoàn thành, tất cả các hình cầu sẽ giao nhau tại điểm E 0

Hình 3 3: Giao điểm 3 hình cầu

Vì vậy việc tìm tọa độ của ( ,x y z 0 0 , ) 0 của điểm E 0 , ta cần giải quyết được phương trình (x x j ) 2  (y y j ) 2  (z z j ) 2 r e 2 , tại tọa độ của các tâm hình cầu ( ,x y z j j , j ) và bán kính r e đã biết

Hình 3 4: Tọa độ các điểm hình chiếu trên mặt phẳng Oxy

Từ hình 3.4 ta sẽ tính được các biểu thức như sau:

2 cos 2 cos 30 ; cos 2 sin 30 ; sin 2

3 cos 3 cos 30 ; cos 3 sin 30 ; sin 3

Từ phương trình của ba hình cầu ta sẽ định được tọa độ của các điểm J 1 , J 2 và

Trừ phương trình (3.8) – (3.9) ta được phương trình:

2 w w x x y y y z z z  (3.11) Trừ phương trình (3.8) – (3.10) ta được phương trình

2 w w x x y y y z z z  (3.12) Trừ phương trình (3.9) – (3.10) ta được phương trình

Ta tiến hành trừ phương trình (3.12) cho phương trinh (3.13) ta sẽ thu được:

Trong đó a b a 1 , , 1 2 và b 2 được xác định lần lượt bởi các biểu thức sau:

Sau khi có được a b a 1 , , 1 2 và b 2 ta thế vào (3.14) và (3.15) và thế cả 2 vào phương trình (3.8) lúc này ta sẽ thu được phương trình cuối cùng:

Khi ta giải phương trình (3.21) và tìm được z 0 (nên chọn góc âm nhỏ nhất) và sau đó tìm được x 0 và y 0 từ phương trình (3.12) và (3.13)

Hình 3 5: Các thông số về mô hình robot

Với các thông số , ,f r r f e và e được cho trước

Do khớp nối F J 1 1 chỉ xoay quanh trong mặt phẳng YZ, với tâm đặt tại điểm F 1 tạo thành hình tròn có bán kính là r f

J E được gọi là khớp động có nghĩa là nó có thể xoay tự do tương đối với E 1 tạo thành hình cầu có tâm tại E 1 và bán kính r e

Giao điểm giữa hình cầu và mặt phẳng YZ là một đường tròn có tâm tại E 1 ' và bán kính E J 1 1 ' với E 1 ' thu được từ phép chiếu của điểm E 1 trên mặt phẳng YZ Điểm

J 1 giao điểm của các đường tròn bán kính đã biết với tâm là E 1 ' và F 1 Từ J 1 ta có thể tính được góc 1

Ta xét trên mặt phẳng YZ như hình ()

Từ mặt phẳng YZ như hình 3.6 lúc này ta có được các biểu thức:

Do xét chuyển động của khớp F J 1 1 trong mặt phẳng YZ nên ta có thẻ bỏ qua tọa độ X Việc sử dụng tính chất này ta có thể tính các góccòn lại, vì robot delta có tính

24 đối xứng nên ta có thể sử dụng tính chất này Đầu tiên, tiến hành xoay hệ tọa độ trong mặt phẳng XY xung quanh trục Z lần lượt một góc 120  ngược chiều kim đồng hồ, như hình ()

Hình 3 7: Hệ tọa độ quy chiếu

Sau khi thực hiện quy đổi ta thu được hệ tham chiếu mới X Y Z ' ' ' , với hệ này ta tiến hành tính toán tương tự như khi tìm  1 nhưng ở đây sẽ có sự thay đổi về tọa độ x O ' và y O ' cho điểm E 0 (bằng cách sử dụng “ma trận xoay” lúc này ta sẽ tính được góc  2 tương ứng

Ta có tọa độ E 0 trong tọa độ mới OX Y ' '

Hệ tọa độ mới được quy đổi

E x y z E x y z (3.35) Đối với góc  3 ta tiến hành xoay hệ tọa độ XY ban đầu quanh trục Z một góc 120

 cùng chiều kim đồng hồ và thực hiện biến đổi tương tự như  2

Thiết kế và thi công hệ thống

Khung băng tải sử dụng những vật liệu đơn giản và dễ tìm mua, các thanh nhôm định hình kích thước 20mm x 20mm sẽ được gắn lại với nhau để tạo thành khung sau đó căng băng tải bằng các trục xoay bắt ngang Chiều dài của băng tải là 50cm

Phần khung là phần chịu toàn bộ lực nặng của robot vì vậy nó phải đủ chắc chắn để chịu tải và phải bền Nhóm đã chọn thiết kế robot với một mặt đế được giữ cố định bởi 3 trụ, việc sử dụng 3 trụ giúp kết cấu của robot chắc chắn hơn và sẽ không bị rung lắc.

Hình 3 9: Khung cố định robot

Mặt đế là phần quan trong nhất trong bộ khung, gần như toàn bộ thiết bị đều được gắn lên mặt đế vì vậy nhóm đã thiết kế và gia công mặt đế bằng nhom tấm với độ dày là 6mm Trên mặt có khoan các lỗ và rãnh với mục đích để gắn các thiết bị Đối với 3 chân trụ của bộ khung, nhóm sử dụng nhôm định hình loại lớn với kích thước 30mm x 30mm Ở tại khớp nối vuông góc của mỗi trụ nhóm đã gắn thêm các pad kim loại để gia cố thêm độ chắc chắn của khớp

Hình 3 10: Mặt đế của khung robot

3.2.3 Gia công cánh tay robot

Robot song song delta có 3 cánh tay giống nhau, cánh tay phải đảm bảo linh hoạt các khớp vì vậy nhóm đã sử dụng khớp bi cầu hay còn gọi là khớp mắt trâu

Cánh tay đòn của cánh tay robot là bộ phận được kết nối trực tiếp với động cơ sẽ được gia công bằng nhôm tấm với độ dày 4mm Các ống cacbon với chiều dài 30cm được nhóm sử dụng vì nó nhẹ nhưng vẫn đủ độ chắc chắn, việc này giảm thiểu khối lượng mà động cơ phải tải Các bộ phận sẽ được ghép lại với nhau như hình

Hình 3 12: Cánh tay robot delta

Hình 3 13: Cánh tay đòn của cánh tay robot

3.2.4 Gia công bộ phận truyền động Động cơ sẽ truyền lực sang cánh tay đòn qua dây đai Mục địch truyền lực qua dây đai là để đề phòng sự cố khi cánh tay quá tải hoặc bị mắc kẹt, động cơ quay nhưng cánh tay không di chuyển, nếu truyền lực trực tiếp sẽ dẫn đến hỏng động cơ,

29 nhưng nếu truyền lực qua dây đai thì dây đai sẽ đứt hoặc trượt răng, động cơ được an toàn

Hình 3 14: Cơ cấu truyền động của robot

3.2.5 Gia công phần khớp xoay

Thiết kế phần khớp xoay cho robot Delta

Hình 3 15: Thiết kế khớp xoay

Các chi tiết sau khi được kết nối với động cơ và giác hút thì lúc này trên mô phỏng ta sẽ thu được

Hình 3 16: Khớp xoay sau khi thiết kế

Khớp xoay trên thực tế khi đã có đầy đủ các chi tiết ta tiến hành kết hợp với giác hút và động cơ để tạo thành khớp xoay cho robot, ở đây có sự khác biệt về giác hút để cho phù hợp với các thiết bị thực tế

Hình 3 17: Khớp xoay thực tế.

Lựa chọn thiết bị

Hình 3 18: Công tắc hành trình

- Dòng max: 15 A Đây là dạng công tắc được dùng để giới hạn hành trình chuyển động của các bộ phận của robot khi cần, nó được cấu tạo như là các loại công tắc thông thường, nhưng ở đây nó được thiết kế thêm cần tác động bên trong, sao cho các bộ phận tác động dễ dàng khi chuyển động tạo ra tiếp điểm thay đổi trạng thái Đối với công tắc hành trình thường là không duy trì trạng thái, khi có tác động thì trạng thái mới được thay đổi, còn không thì nó sẽ trở về vị trí ban đầu Trên cần tác động của nó còn được trang bị

32 thêm một bánh xe để hạn chế bị ăn mòn khi có tác động, và dẫn động một cách dễ dàng hơn

Vì cũng là một loại công tắc nên công tắc hành trình có đầy đủ các bộ phận giống như một công tắc điện bình thường Cũng như đã trình bày ở trên thì công tắc hành trình sẽ có thêm 1 bộ phận là cần tác động Công tắc hành trình được sử dụng ở đây là loại công tắc có 3 chân Đầu tiên là chân Com, 2 chân còn lại 1 chân tạo với chân Com tạo thành tiếp điền NC (thường đóng), 1 chân tạo với chân Com tạo nên tiếp điển CO (thường mở)

Trong luận văn thì công tắc hành trình được sử dụng để xác định vị tri ban đầu của robot delta bằng cách cho cánh tay robot di chuyển đến chạm cả 3 công tắc hành trình thì dừng lại và nhận 1 lượng xung quay về vị trí ban đầu đã được xác định trước đó

Sử dụng giác hút kết hợp với đông cơ hút chân không để thực hiện việc hút vật, tốc độ cao, mà không làm vật bị biến dạng do lực hút

3.3.3 Bơm hút chân không Micro 24V (Micro Air)

Hình 3 20: Đông cơ hút chân không

- Điện áp định mức: 24VDC

- Dòng điện định mức: 900mA

- Áp suất tối đa: >525 mmHg (+70KPa)

- Kích thước 60x120 mm Ứng dụng: được sử dụng rộng rãi trong bơm vi áp suất âm, bơm chân không siêu nhỏ, bơm tuần hoàn khí siêu nhỏ và các thiết bị gia dụng nhỏ, …

3.3.4 Động cơ cho khớp xoay

Hình 3 21: Động cơ DC giảm tốc GA25 Encoder 60RPM

- Điện áp hoạt động của động cơ: 3-12VDC

- Điện áp cấp cho Encoder hoạt động là 3.3VDC

- Đĩa Encoder 11 xung, hai kênh A-B

- Đường kính động cơ là 25mm

- Đường kính trục là 4mm

- Tốc độ không tải là 60rpm (revolutions per minute)

- Ti số truyền là 1:63 Động cơ GA25 Encoder thường được sử dụng trong các ứng dụng cần xác định tốc độ, vị tri của động cơ DC: robot mê cung, xe hai bánh cân bằng, … Đối với cách điều khiển thì động cơ sử dụng driver như các động cơ DC bình thường khác để điều khiển công suất động cơ, tốc độ và đảo chiều động cơ như L298, L293, … ở đây có sự khác biệt là nó được gắn thêm phần encoder để người có thể phản hồi (feedback) xung về thiết bị điều khiển, từ đó điều khiển tác động lại động

34 cơ qua mạch công suất thông qua việc sử dụng các thuật toán điều khiển như PID, … để điều khiển tốc độ, vị trí, …

Hình 3 22: Sơ đồ dây của động cơ GA25

Nguồn tổ ông hay còn được gọi là nguồn xung là bộ nguồn được sử dụng để biến đổi từ nguồn điện xoay chiều sang nguồn điện một chiều, đối với chế độ dao động xung được tạo ra thông qua mạch điện tử kết hợp với một máy biến áp

Thông thường các nguồn tuyến tính cổ điển sử dụng biến áp sắt từ để làm nhiệm vụ hạ áp rồi sau đó dùng chỉnh lưu kết hợp vơi ic nguồn tuyến tính để tạo ra các cấp điện áp một chiều theo yêu câu như:3.3, 5V,6V

Hình 3 24: Sơ đồ dây của một số nguồn tổ ông

- Dòng tối đa cho mỗi cầu H là: 2A

- Điện áp tín hiệu điều khiển: +5V ~ +7V

- Công suất hao phí: 20W (khi nhiệt độ T = 75  C )

Về mặt cấu tạo bao gồm các chân:

- 12V, 5V đây là 2 chân được dùng để cấp nguồn trực tiếp đến động cơ

- Ở mức điện áp 12 V ta có thể cấp nguồn từ 9-12V Ngoài ra còn có jumper 5V, nếu được sử dụng thì ta chỉ cần cấp nguồn 12V ở ô 12V power ta sẽ có được 5V ở 5V power, từ đó có thể sử dụng để cấp cho Arduino

- Chân GND đây cũng là chân GND của động cơ (thông thường khi sử dụng Arduino thì phải nối Chan GND với GND của Arduino để đồng bộ nối đất với nhau)

- 2 Jumper A enable và B enable nếu để mặc định thì ta không cần quan tâm đến nó, nhưng khi rút ra thì ta phải cấp thêm tín hiệu điền khiển để cho phép động cơ hoạt động hoặc ngắt

- Đối với chân Input thì ta có 4 chân: In1, In2, In3, In4

- Tương ứng ta cũng sẽ có 4 chân Output: Ou1, Out2, Out3, Out4

- Vi điều khiển chính: ATmega2560

- IC nạp và giao tiếp UART: ATmega16U2

- Nguồn nuôi mạch: 5VDC từ cổng USB hoặc nguồn ngoài cắm từ giắc tròn DC

- Số chân Digital I/O: 54 (trong đó 15 chân có khả năng xuất xung PWM)

- Dòng điện DC Current trên mỗi chân I/O: 20mA

- Dòng điện DC Current chân 3.3V: 50mA

- Flash Memory: 256 KB trong đó 8 KB sử dụng cho bootloader

3.3.8 Sơ đồ kết nối động cơ

Arduino được kết nối với driver điều khiển LM298 để có thể điều khiển động cơ GA25 hoạt động theo đúng yêu cầu đặt ra

Hình 3 27: Sơ đồ kết nối động cơ GA25, LM298 và arduino

- Kích thước mặt bích 57mm

3.3.10 Driver điều khiển động cơ Micro step TB6600

Hình 3 29: Driver điều khiển động cơ step TP6600

- Nguồn cấp đầu vào là 9V – 42V

- Ngõ vào cách ly quang, tốc độ cao

- Được tích hợp đo quá dòng quá áp

- DC+: Nối với nguồn từ 9 – 40VDC

- DC-: Nối với điện áp âm của nguồn

- Chân A+ và A-: Nối vào cặp cuộn dây của đông cơ

- Chân B+ và B-: Nối với cặp cuộn dây còn lại của động cơ

- Chân PUL+: Tín hiệu cấp xung điều khiển tốc độ (+5V) từ BOB cho M6600

- Chân PUL-: Tín hiệu cấp xung điều khiển tốc độ (-5V) từ BOB cho M6600

- DIR+: Tín hiệu cấp xung đảo chiều (+5V) từ BOB cho M6600

- DIR-: Tín hiệu cấp xung đảo chiều (-5V) từ BOB cho M6600

- Các chân ENA+ và ENA-: khi cấp tín hiệu cho hai chân này động cơ sẽ không có lực moment giữ và quay nữa

- Ta có thể đấu tín hiệu dương (+) chung hoặc tín hiệu

Hình 3 30: Sơ đồ kết nối TP6600 với động cơ step

3.3.11 Sơ đồ kết nối động cơ bước với Arduino Đối với luận văn động cơ step được sử dung để truyền động cho băng tải, để điều khiển động cơ step ta dùng Arduino và thông qua driver TP6600 để điều khiển động cơ

Hình 3 31: Sơ đồ kết nối step và arduino

3.3.12 Driver MR-J2S-10A Đối với một số loại động cơ chúng ta cần có driver chuyên dụng để có thể điều khiển một cách chính xác ở dưới đây là driver MR-J2S-10A để dùng để điều khiển động cơ servo AC

Bố trí chân của jack kết nối servo mitsubishi MR-J2S-A

Hình 3 33: Bố trí thứ tự chận cả jack kết nối

Cấu tạo: Có 2 loại driver phổ biến: driver điều khiển bằng xung, driver điều khiển bằng mạng

Về mặt cơ bản thì cấu tạo của driver servo về nguyên lý thì tương đối giống biến tần Driver servo tích hợp sẵn khả năng đọc encoder gắn ở motor servo để đảm bảo khả năng điều khiển chính xác hơn Còn biến tần thì chỉ có một số dòng cao cấp mới có khả năng đọc được encoder và phải gắn thêm option card thì mới đọc được Thường thì driver servo nào chỉ đi với động cơ servo cùng hãng và nằm trong dải công suất cho phép Đối với biến tần thì dùng hãng biến tần bất kỳ nào cho động cơ cũng được mà không quan tâm tới công suất và thương hiệu.

Các thông số thông dung khi tùy chỉnh Driver servo: P00, P01, P02, P03, P04, P20, P21, P41

- P00: 0000 CHẾ ĐỘ ĐIỀU KHIỂN VỊ TRÍ

- P21: 0011 Chế độ 1 chân xung 1 chân chiều

- P41: 0111 Tác động LSP-LSE-S ON

Tính toán Gear cho PLC, ta có công thức:

 No là tốc độ của servo (vòng/phút)

 Pt là độ phân giải của encoder trong servo Ở đây là thiết lập P0392 và P04 5 thì đối với PLC có ngõ ra 100Khz thì PLC xuất 100 000 xung trong 1 giây thì servo chạy được 300 vòng/ phút PLC phát

2000 xung thì servo chạy được 1 vòng

Thi công hệ thống

Sau khi đã có đầy đủ các thiết bị ta tiến hành thi công tủ điện, ở đây ta có thể bật tắc cũng như quản lí các thiết bị một cách thuận tiện

- 3 Driver MR-J2S-10A cho 3 động cơ

Sơ đồ đấu nối PLC:

Hình 3 42: Sơ đồ kết nối PLC với các thiết bị

- Ngõ vào bao gồm các nút nhấn và các công tắc hành trình

- Ngõ ra bao gồm các chân cấp xung, chân chiều của driver và bơm hút

3.4.2 Mô hình hoàn chỉnh của robot

Sau quá trình thiết kế, lựa chọn thiết bị và thi công thì ta được mô hình hoàn chỉnh của robot Robot điều khiển linh hoạt, đáp ứng được tốc độ nhanh

Hình 3 43: Mô hình thực tế của hệ thống

Giải thuật và chương trình điều khiển

Quy trình điều khiển robot sẽ được tiến hành theo từng bước như sơ đồ sau:

- Đầu tiên tiến hành kết nối với PLC và Arduino thông qua phần mềm trung gian

- Sau đó tiến hành chọn chế độ để điều khiển robot

- Ở chế độ Manual ta điều khiển robot bằng tay, điểu chỉnh các theta, cho robot di chuyển theo cách ta mong muốn, điều khiển hút, khớp xoay

- Ở chế độ Auto, robot có thể xử lý một cách tự động, các sản phẩm khi được đưa lên và di chuyển trên băng tải thì sẽ được đi ngang qua camera để tiến hành xử lý hình ảnh, từ đó tiến hành nhận diện màu sắc và vị trí của sản phẩm, đưa về phần mềm để điều khiển robot tiến hành phân loại và sắp xếp hợp lí

Hình 3 44: Quy trình điểu khiển robot

3.5.2 Quy trình xử lý ảnh

Quy trình xử lý ảnh được thực hiện theo các quy trình sau:

- Đầu tiên hình ảnh sẽ được thu vào bằng camera để tiến hành xử lý

- Các ảnh được camera thu nhận sẽ được chuyển từ màu RGB sang hệ màu HSV (Hue, Saturation, Value)

- Màu HSV sau khi đã loại bỏ các thuộc tính không cần sẽ được chuyển sang ảnh nhị phân để thực hiện các phép toán về hình thái học (co, dãn, lọc nhiễu…) để tạo ra hình ảnh có độ nhận dạng tốt nhất

- Sau khi đã thực hiện các phép toán hình thái học ta sẽ tiến hành tìm đường viền cho ảnh đen trắng

- Tìm vị trí trung tâm của vật

- Cuối cùng là tìm ra được góc nghiêng của vật so với trục ngang

Hình 3 45: Lưu đồ xử lý ảnh

3.5.3 Phương pháp chuyển đổi tọa độ khung hình sang tọa độ của hệ robot

Gọi hệ trục tọa độ trên khung ảnh của camera là O x y ' ' ' và hệ trục của robot gắn với khâu đế có tọa độ là Oxy

Hình 3 46: Hệ tọa độ quy đổi

Ví dụ: Ta xét khung ảnh thu được từ camera có kích thước là 640x480 (pixel) Thì lúc này độ dài tiaOx'và Oy 'sẽ có độ dài lần lượt là 640 và 480 (pixel) Ta thực hiện chuyển đổi đơn vị pixel sang đơn vị cm bằng cách tiến hành đo thược thế chiều dài của các tiaOx'và Oy 'lần lượt bằng a, b (cm) giả xử a = 10 thì lúc này ta sẽ tính được số pixel trên 1 cm bằng cách lấy 640 chia cho 10 thì như vậy ta sẽ tính được cứ

1 cm đi được 64 pixel ảnh

Tường tự như trên ta thực hiện việc chuyển đổi hệ trục tọa độ Ox y ' ' sang hệ trục tọa độ Oxy

Ta tiến hành xem xét tọa độ của điểmOtrên hệ truc Ox y ' 'lúc này ta sẽ có được tọa độ( ,x y o o )được tính theo đơn vị pixel, thì tọa độ điểm A bất kì ứng trên hệ trục oxylà ( ,x y a a )(pixel) Như trên hình 4.4 ta thấyOlà gốc của robot, vì vậy để robot có thể chuyển động đến điểm A bất kì thì tọa độ của vectoAOcần phải được xác định

Từ hình 4.4 ta nhận thấy các tiaOyvàOy'có cùng phương và cùng hướng nhau còn đối với tiaOxvàOx'thì cùng phương và khác hướng Khi đó vectoAOsẽ có tọa độ là ( ,P P x y ) trong đóP x  x 0 x a (pixel) vàP y  y a y o (pixel) P x vàP y cũng chình là tọa độ của cánh tay trong phương trình động học nghịch Khi đóP x vàP y sẽ được chuyển sang đơn vị cm trên mặt phẳng thực tế sẽ có giá trị tính bằng công thức P x (x 0 x a ) / 64 (cm) vàP y (y a y o ) / 64(cm) Ở đây do chỉ xử lý ảnh ở không gian 2D nên chỉ cần xác định tọa độP x vàP y còn tọa độ P z sẽ được xem như một hằng số cố định và không ảnh hưởng đến quá trình tính toán Dó đó ta có thể tìm ra các góc xoay   1 , 2 , 3 khi đã có được tọa độ P P P x , y , z nhờ đó mà robot có thể hoạt động và di chuyển đến vị trí ta cần một cách dễ dàng

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

Giao diện bao gồm 4 phần: kết nối PLC, Chế độ Auto, Chế độ Manual, Cài đặt thông số

Trang đầu tiên của giao diện sẽ giới thiệu về tên đề tài và sinh viên thực hiện, phần kết nối từ Visual Studio sang Gx Works3 và phần mềm Arduino

Hình 3 47: Trang khởi tạo cho giao diện điều khiển

Trang thứ hai là phần điều khiển theo chế độ Manual, ở chế độ này ta có thể điều khiển bằng tay, nhập toạ độ vị trí cần robot di chuyển đến, điều chỉnh theta, bật tắt phần hút, thao tác di chuyển robot bằng các phím

Hình 3 48: Chế độ điều khiển manual

Trang thứ ba là phần điều khiển theo chế độ Auto, ở chế độ này ta có thể chọn camera cần kết nối, tắt mở camera, giao diện hiển thị phần camera phát hiện vật, các nút cho phép và tắt phần Auto

Hình 3 49: Chế độ điểu khiển Auto

Và cuối cùng là trang giao diện là phần cài đặt thông số, ở đây ta có thể tuỳ chỉnh lại các thông số của robot nếu có sự thay đổi

Hình 3 50: Trang cài đặt các thông số ban đầu

KẾT QUẢ ĐẠT ĐƯỢC

Kết quả thực hiện

Sau quá trình thi công thì ta có được mô hình hoàn chỉnh bao gồm:

- Băng tải và hộp đen chứa camera

- Hộp trắng đựng máy bơm hút và Arduino mega để điều khiển khớp xoay

Hình 4 1: Tổng quan về hệ thống

Về phần xử lý ảnh thì nhận diện được ba màu: xanh dương, đỏ và màu vàng, nhận diện được góc của vật so với phương ngang

Robot đã xử lý được các khâu chờ vật, gắp vật, thả vật vào vị trí đặt và trở về vị trí ban đầu, về phần khớp xoay robot đã xoay, gắp vật và sắp xếp tương đối ổn Màu xanh được nhận dạng sau khi thực hiện các thuật toán xử lý ảnh tương ứng và ta có thể quan sát trên màn hình giao diện điều khiển

Hình 4 2: Nhận dạng vật màu xanh

Tương tư như thế đối với màu đỏ ta cũng có thể quan sát kết quả trên màn hình giao diện điều khiển

Hình 4 3: Nhận dạng vật màu đỏ

Và cuối cùng là màu vàng tương tự đối với màu xanh và đỏ ta cũng sẽ thu được kết quả tương ứng

Hình 4 4: Nhận dạng vật màu vàng

Các vật phía trước được đưa vào song song với mặt phẳng của băng tải sau đây là kết quả nhận được của các vật sau khi đưa vào một góc bất kì

Hình 4 5: Nhận dạng vật màu đó với góc xoay

Hình 4 6: Nhận dạng vật màu xanh với góc xoay

Hình ảnh thu được khi robot thực hiện gấp vật đang chuyển động trên băng tải

Hình 4 7: Robot đang tiến hành gắp vật màu đỏ

Hình 4 8: Robot hạ và thả vật

Hình 4 9: Robot hút vật màu xanh

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Kết luận

1.1 Mục tiêu đã đạt được

Trong khoảng thời gian hơn 5 tháng tìm hiểu và thực hiện thiết kế, cải tiến mô hình Delta robot, nhóm em đã hoàn thành tương đối tốt mục tiêu ban đầu đề ra Đó là chế tạo thành công robot Delta có khả năng ứng dụng xử lý ảnh để phân loại sản phẩm theo màu sắc và sắp xếp sản phẩm theo trật tự

1.2 Hạn chế còn tồn tại

Sau khi hệ thống đã hoàn thành thì vẫn còn những vấn đề mà nhóm chưa khắc phục được:

- Mô hình bị rung khi hoạt động ở tốc độ cao

- Thuật toán chưa hoàn toàn tối ưu

- Chương trình xử lý ảnh chỉ đáp ứng trong môi trường ánh sáng ổn định

- Góc xoay chưa thể hoạt động chính xác trong thời gian dài.

Hướng phát triển

Với những kết quả đạt được và các hạn chế trong quá trình thực hiện đề tài, hướng phát triển đề tài đề xuất như sau:

- Cải tiến khớp xoay để đáp ứng việc phân loại sản phẩm theo tốc độ cao

- Lập trình hệ thống để đáp ứng với các tốc độ khác nhau của băng tải

- Thay bằng camera tốc độ cao để thu ảnh và xử lý ảnh trong mọi điều kiện ánh sáng

- Xây dựng giao diện điều khiển và giám sát qua màn hình HMI/SCADA

Ngày đăng: 25/02/2024, 14:39

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w