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

điều khiển cánh tay robot kết hợp kỹ thuật xử lý ảnh phân loại sản phẩm

90 1 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 đề Điều khiển cánh tay robot kết hợp kỹ thuật xử lý ảnh phân loại sản phẩm
Tác giả Lưu Văn Hải, Nguyễn Phạm Hữu Trung
Người hướng dẫn PGS. TS. Lê Mỹ Hà
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 90
Dung lượng 8,77 MB

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI (18)
    • 1.1 Đặt vấn đề (18)
    • 1.2 Mục tiêu nghiên cứu (19)
    • 1.3 Nghiên cứu quốc tế (19)
    • 1.4 Nghiên cứu trong nước (23)
    • 1.5 Nội dung nghiên cứu (24)
    • 1.6 Giới hạn đề tài (25)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT (25)
    • 2.1 Giải thuật nhận diện vị trí và theo dõi vật trên băng tải (26)
      • 2.1.1 Lựa chọn phương án gá đặt camera (26)
      • 2.1.2 Hiệu chỉnh camera (27)
      • 2.1.3 Hiệu chỉnh phối cảnh (30)
    • 2.2 Giải thuật nhận diện vị trí và theo dõi vật trên băng tải (32)
      • 2.2.1 Xử lý ảnh 2D (32)
      • 2.2.2 Góc Yaw (34)
      • 2.2.3 Kích thước vật (36)
      • 2.2.4 Xử lý ảnh theo dõi vật với băng tải (36)
    • 2.3 Động học của robot Nachi MZ07 (37)
      • 2.3.1 Động học thuận (37)
      • 2.3.2 Động học nghịch (41)
    • 2.4 Tính toán giác hút và đồ gá đầu tool (47)
      • 2.4.1 Tính toán giác hút (47)
      • 2.4.2 Tính toán đồ gá đầu tool (48)
  • CHƯƠNG 3: THIẾT KẾ HỆ THỐNG (25)
    • 3.1 Yêu cầu thiết kế (51)
    • 3.2 Yêu cầu điều khiển (52)
    • 3.3 Lựa chọn thiết bị (52)
  • CHƯƠNG 4: THUẬT TOÁN ĐIỀU KHIỂN (63)
    • 4.1 Thuật toán điều khiển PLC (63)
    • 4.2 Thuật toán xử lý ảnh (64)
    • 4.3 Truyền thông giao tiếp (65)
    • 4.4 Giám sát hệ thống bằng Webserver (67)
  • CHƯƠNG 5: ỨNG DỤNG VÀ ĐÁNH GIÁ KẾT QUẢ THỰC NGHIỆM (69)
    • 5.1 Ứng dụng của hệ thống (69)
      • 5.1.1 Ứng dụng sắp xếp vật (69)
      • 5.1.2 Điều khiển và giám sát hệ thống (74)
    • 5.2 Đánh giá kết quả thực nghiệm (75)
      • 5.2.1 Sai số hiệu chỉnh camera (76)
      • 5.2.2 Sai số góc lệch (76)
      • 5.2.3 Khảo sát chu kỳ của một tác vụ gắp (79)
      • 5.2.4 Khảo sát hiệu suất gắp vật (80)
  • CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (81)
    • 6.1 Kết quả đạt được (81)
    • 6.2 Ưu điểm (82)
    • 6.3 Hạn chế (82)
    • 6.4 Hướng phát triển (82)
  • TÀI LIỆU THAM KHẢO (84)
  • PHỤ LỤC (25)

Nội dung

- Viết chương trình điều khiển robot để xử lý vị trí và tốc độ qua Teach Pendant - Viết chương trình giao tiếp Socket giữa bộ điều khiển của robot và PC - Viết chương trình kết hợp giữa

CƠ SỞ LÝ THUYẾT

Giải thuật nhận diện vị trí và theo dõi vật trên băng tải

Trong nhiều lĩnh vực như robot, giám sát, khám phá không gian, tự động hóa công nghiệp và giải trí, máy ảnh đóng vai trò quan trọng như một cảm biến hình ảnh không thể thiếu Để sử dụng máy ảnh một cách hiệu quả trong các ứng dụng phân loại sản phẩm việc hiểu và điều chỉnh các thông số của nó là điều cần thiết

2.1.1 Lựa chọn phương án gá đặt camera a Camera gắn vị trí cố định

Hình 2 1 Camera gắn cố định Ưu điểm:

- Tốc độ hoạt động nhanh

- Khi theo dõi một vật thể, cánh tay máy có thể gây cản trở, che vât, làm gián đoạn quá trình theo dõi

- Cần phải calib lại định kì, khi lắp đặt lại hệ thống robot b Camera gắn trên tay máy

Hình 2 2 Camera gắn trên tay máy

- Quan sát vật thể rõ ràng hơn

- Không cần calib lại khi di chuyển hệ thống robot

- Tốc độ hoạt động chậm

- Không phù hợp với các ứng dụng hiệu suất cao

Quá trình ước lượng các thông số của một máy ảnh được gọi là hiệu chuẩn máy ảnh Điều này có nghĩa là chúng ta có tất cả các thông tin (tham số hoặc hệ số) về máy ảnh cần thiết để xác định một mối quan hệ chính xác giữa một điểm 3D trong thế giới thực và hình chiếu 2D tương ứng (pixel) trong ảnh được chụp bởi máy ảnh được hiệu chuẩn đó

Thường thì điều này có nghĩa là khôi phục hai loại thông số:

 Thông số nội bộ của hệ thống máy ảnh/ống kính Ví dụ: tiêu cự, quang tâm của máy ảnh và các hệ số méo tròn của ống kính

 Thông số ngoại vi: Đây là thông số liên quan đến sự định hướng (quay và dịch chuyển) của máy ảnh so với một hệ tọa độ thế giới nào đó

Hình 2 3 Thông số hiệu chỉnh camera

Hệ tọa độ Camera [Xc Yc Zc]

Thông số ngoại Camera Thông số nội Camera

Hình 2 4 Hệ trục tọa độ của hệ thống Ảnh có được bằng cách chiếu điểm 3D của cảnh P w vào màn ảnh bằng cách sử dụng phép biến đổi phối cảnh tạo thành các điểm ảnh pixel tương ứng p Cả hai P w và p được biểu diễn dưới dạng tọa độ đồng nhất, tức là vecto đông nhất 3D và 2D tương ứng Phép biến đổi ảnh không bị biến dạng do mẫu ảnh lỗ kim đưa ra được biểu diễn như sau:

P w là một điểm 3D được biểu thị theo hệ tọa độ thế giới, plà một pixel 2D trong mặt phẳng hình ảnh, A là ma trận nội tại của máy ảnh, R và t là phép quay và dịch chuyển mô tả sự thay đổi tọa độ từ hệ tọa độ thế giới sang hệ tọa độ camera (hoặc khung camera) và s là tỷ lệ tùy ý của phép biến đổi xạ ảnh và không phải là một phần của kiểu máy ảnh

12 Phép biến đổi đồng nhất được biểu diễn bởi các thông số bên ngoài R và t và thể hiện sự thay đổi cơ sở từ hệ tọa độ thế giới w đến hệ thống tọa độ camera c Vì vậy, đưa ra cách biểu diễn của điểm P trong tọa độ thế giới P w , chúng tôi đạt được P biểu diễn của trong hệ tọa độ camera P c như sau:

 (X, Y, Z) là tọa độ một điểm 3D trong hệ tọa độ thế giới

 (u, v) là tọa độ của điểm chiếu tính bằng pixel

 A là ma trận camera hoặc ma trận các tham số nội camera

 (c c x , y )là quang tâm của hình ảnh

 (f x , f y )là tiêu cự của máy ảnh có đơn vị là pixel

Hình 2 5 Mô hình máy ảnh pinhole

Máy ảnh lỗ kim có thể gây ra nhiều biến dạng cho hình ảnh Hai biến dạng chính là biến dạng xuyên tâm và biến dạng tiếp tuyến Do sự biến dạng xuyên tâm, các đường thẳng sẽ xuất hiện cong Hiệu ứng của nó sẽ nhiều hơn khi chúng ta di chuyển ra xa trung tâm của hình ảnh

Hình 2 6 Các loại biến dạng khác nhau

Sự biến dạng này được trình bày như sau:

Tương tự, một dạng biến dạng khác là biến dạng tiếp tuyến xảy ra khi ống kính của máy ảnh không được căn chỉnh hoàn hảo song song với mặt phẳng hình ảnh Do đó, một số khu vực trong ảnh có thể xuất hiện gần hơn so với dự kiến Hiện tượng này được minh họa như sau:

Nói tóm lại, chúng ta cần tìm ra năm tham số được gọi là hệ số biến dạng:

Cách bố trí sử dụng một camera cố định duy nhất nên chỉ cần hiệu chỉnh phối cảnh một lần thì mô hình có thể hoạt động Trong cách hiệu chỉnh phối cảnh này sử dụng một mẫu bao gồm 9 hình tròn được phân bố đều để tính các điểm ảnh

Vấn đề tính toán tư thế (PnP) bao gồm việc giải quyết phép quay và tịnh tiến sao cho lỗi tái chiếu từ các điểm tương ứng 3D-2D là nhỏ nhất Hàm solvePnP và các hàm liên quan ước lượng tư thế của vật thể dựa trên một tập hợp các điểm vật thể, các điểm tương ứng trên hình ảnh của chúng, cùng với ma trận nội tại của camera và các hệ số biến dạng

Hình 2 7 Tổng quan về tính toán tư thế

Do đó, tư thế ước tính là các vectơ xoay ( rvec) và vectơ dịch chuyển ( tvec) cho phép chuyển đổi một điểm 3D được thể hiện trong khung thế giới thành khung máy ảnh:

Từ ma trận nội tại của máy ảnh ta có được c x và c y , đo dựa theo hệ trục thế giới để có được tọa độ từng điểm tương ứng a) Tọa độ thực của từng hình tròn b) Tọa độ pixel của từng hình tròn

Hình 2 8 Hiệu chỉnh phối cảnh bằng phương pháp chín điểm

Sau khi thực hiện hiệu chuẩn phối cảnh, điều quan trọng là kiểm tra hệ số tỉ lệ s Đây là một bước then chốt vì kết quả của hiệu chuẩn camera nội tại ảnh hưởng lớn đến độ tin cậy của các phép tính X, Y, Z

Hình 2 9 Sơ đồ khối hiệu chỉnh phối cảnh

Nên lặp lại quá trình này và cố gắng giảm sai số của hệ số tỉ lệ xuống mức thấp nhất có thể.

Giải thuật nhận diện vị trí và theo dõi vật trên băng tải

Hình 2 10 Giải thuật xử lý ảnh 2D

Chương trình xử lý ảnh 2D được thực hiện nhằm mục đích trích xuất tọa độ của tâm vật (u,v), tiến hành theo dõi vật trên bằng tải từ đó tính toán vị trí của vật thông qua ma trận chuyển đổi sang hệ tọa độ thực đã trình bày trước đó

Phương pháp thực hiện trên để theo các bước như sau:

 Đầu tiên khởi tạo Camera Kinect để thu dữ liệu

+ Sử dụng thư viện pykinect2 với module PyKinectV2 và PyKinectRuntime hỗ trợ cho ngôn ngữ lập trình Python và Camera KinectV2

+ Sử dụng môi trường Anaconda và Kinect for Windows SDK v2 để đọc dữ liệu hình ảnh từ camera Kinect V2

 Tạo vùng ROI là một phần của hình ảnh hoặc một không gian 2D cụ thể trên hình ảnh được chọn ra để thực hiện các thao tác xử lý hoặc phân tích dữ liệu Trong ngữ cảnh xử lý hình ảnh và Computer Vision, việc chọn vùng ROI thường được thực hiện để:

+ Tăng tốc quá trình xử lý: Khi bạn chỉ quan tâm đến một phần nhỏ của hình ảnh, bạn có thể giảm thời gian xử lý bằng cách chỉ áp dụng các thao tác xử lý cho vùng này, thay vì toàn bộ hình ảnh

+ Tăng độ chính xác: Bằng cách tập trung vào một vùng cụ thể của hình ảnh, bạn có thể tăng độ chính xác của các thuật toán phân tích dữ liệu, bởi vì chúng không bị ảnh hưởng bởi thông tin không liên quan

+ Giảm nhiễu: Bạn có thể giảm nhiễu bằng cách tập trung vào vùng quan trọng của hình ảnh và loại bỏ các chi tiết không cần thiếtBước lọc GaussianBlur(5,5) để thực hiện làm mờ (blurring) trên một ảnh bằng cách áp dụng bộ lọc Gaussian lên ảnh đó

 Bộ lọc Gaussian Blur giúp làm mờ và làm giảm độ nhiễu trong hình ảnh Nhiễu có thể là kết quả của nhiều yếu tố như độ sáng không đồng đều, điểm ảnh, hay lỗi cảm biến Trong một số trường hợp, một số chi tiết nhỏ không mong muốn trong hình ảnh có thể gây nhiễu cho quá trình xử lý Bằng cách áp dụng bộ lọc Gaussian Blur, chúng ta có thể làm giảm độ phức tạp của hình ảnh và chỉ giữ lại các chi tiết quan trọng hơn Trong hàm này, số 5 được sử dụng làm đối số cho kích thước của kernel (hoặc bộ lọc) Gaussian, và nó xác định mức độ mờ của ảnh đầu ra

 Hàm absdiff() của thư viên openCV sẽ chuyển đổi hai ảnh đầu vào thành hai ma trận và phải đảm bảo 2 ma trận đó có cùng kích thước Hàm sẽ tính toán sự khác biệt tuyệt đối của mỗi phần tử giữa hai mảng hoặc giữa một mảng và một đại lượng vô hướng

 Phân ngưỡng ảnh bằng thuật toán Otsu

Phương pháp ngưỡng Otsu bao gồm việc thử tất cả các giá trị ngưỡng có thể và tính toán sự phân tán của mức độ xám ở mỗi bên của ngưỡng, tức là trong

17 các vùng nền trước và nền sau Mục tiêu là tìm giá trị ngưỡng mà tại đó tổng độ phân tán của tiền cảnh và hậu cảnh đạt giá trị nhỏ nhất, đảm bảo sự khác biệt giữa hai vùng là tối thiểu

Hình 2 11 Phân ngưỡng ảnh dựa vào biểu đồ Histogram

Hình 2 12 Thuật toán tìm ngưỡng của Otsu

Nhìn chung, phương pháp của Otsu rất hữu ích cho các tác vụ ngưỡng ảnh đơn giản Tuy nhiên, những hạn chế của nó cần được xem xét khi áp dụng nó cho những hình ảnh phức tạp hơn hoặc khi có nhiễu hoặc ánh sáng không đồng đều

Hình 2 13 Quy trình tìm góc yaw

Sử dụng thư viện OpenCV để xử lý ảnh 2D Tạo vùng ROI để giới hạn khung ảnh màu hiển thị để xác định được vật, tiếp theo dùng bộ lọc Gaussian để làm mịn lại frame ảnh thu được và chuyển frame ảnh BGR sang ảnh GRAY Giới hạn kích thước tìm kiếm vật sau đó dùng phương pháp phát hiện cạnh biên findContour để tìm đường viền của vật Sau khi tìm được các đường viền hợp lệ từ ảnh nhị phân có thể trích xuất được các thông số như: Tọa độ tâm của vật, kích thước hình chữ nhật tối thiểu bao quanh vật, góc lệch của vật so với phương ngang chính là góc yaw của robot

Hình 2 14 Xử lý ảnh nhị phân để tìm cạnh

Sau khi tìm được cạnh, hệ thống sẽ tìm các 4 cạnh tương ứng với được đánh số Điểm đầu tiên được xét là điểm có tọa độ điểm ảnh thấp nhất tương ứng với số 0, các điểm tiếp theo được đánh theo chiều kim đồng hồ Góc theta được xác định chính là góc giữa cạnh 03 và đường thẳng theo phương ngang của hệ tọa độ điểm ảnh

Hình 2 15 Xác định góc yaw trong xử lý ảnh 2D

Góc theta sẽ có giá trị trong khoảng từ [0; 90]

Thư viện OpenCV được sử dụng để tính toán diện tích của một đối tượng contour (đường viền) Nó trả về một giá trị số thực dương, biểu thị diện tích của contour tính bằng đơn vị điểm ảnh vuông

Bên cạnh đó, vì vị trí của băng tải và camera được đặt cố định nên hoàn toàn có thể xử lý ảnh để được kích thước, diện tích của vật với đơn vị pixel vuông và chuyển đổi sang đơn vị diện tích thực (mm vuông)

Hình 2 16 Chuyển đổi kích thước từ điểm ảnh sang kích thước thực

 m k  M trong đó k là tỷ lệ giữa diện tích giữa vật thực M (cm 2 ) và diện tích của ảnh vật m (pixel 2 )

 Xét tỷ lệ k tương ứng để tiến hành phân loại kích thước đối tượng

2.2.4 Xử lý ảnh theo dõi vật với băng tải

Theo dõi hình ảnh trên băng chuyền yêu cầu hai giai đoạn: (1) nhận dạng đối tượng và (2) theo dõi đối tượng Có một số cách để nhận dạng và theo dõi đối tượng Người ta có thể sử dụng bản đồ tự tổ chức [9], tìm sự phù hợp với mẫu [10], nhận dạng sử dụng thông tin màu sắc [11], và phương pháp sử dụng sự khác biệt về thời gian của hai mẫu hình ảnh Bản đồ tự tổ chức quá chậm để có thể hoạt động trong thời gian thực Tìm sự phù hợp mẫu yêu cầu kiến thức trước về thông tin đối tượng để khớp các đối tượng Nhưng do phải yêu cầu tính toán lớn, phương pháp này không thể được thực hiện trong thời gian thực Phương pháp bằng thông tin màu sắc khắc phục được hai nhược điểm trước nhưng không thể sử dụng cho hình ảnh nhị phân Phương pháp nhận dạng

Động học của robot Nachi MZ07

Robot Nachi thuộc loại robot công nghiệp Nachi Robotics là một công ty nổi tiếng trong lĩnh vực sản xuất robot công nghiệp, cung cấp các giải pháp tự động hóa cho nhiều ngành công nghiệp khác nhau Các robot của Nachi thường được sử dụng trong các nhà máy và xưởng sản xuất để thực hiện các công việc như hàn, lắp ráp, xử lý vật liệu, và kiểm tra chất lượng sản phẩm

Phân tích động học thuận là tìm biểu diễn toán học của vị trí và hướng của tay máy khi biết giá trị của các khớp góc Tay máy MELFA RV-4FR-R bao gồm 6 khớp xoay với trục tọa độ được đặt như sau:

Hình 2 18 Đặt hệ trục tọa độ cho 6 bậc của robot Điều này rất quan trọng để điều khiển chuyển động của robot và lập trình các nhiệm vụ như định vị và chuyển động Động học thuận là một thành phần thiết yếu trong lĩnh vực robot và là nền tảng để phát triển các thuật toán điều khiển và lập trình robot

Sau khi đặt trục, ta lập bảng Denavit-Hartenberg để điền vào các thông số sau:

Bảng 2 1 Lập bảng Denavit-Hartenberg i  i (deg) a i (mm) d i (mm)  i (deg)

 𝑎� 𝑖� : khoảng cách từ 𝑍�𝑖�−1 đến 𝑍�𝑖� dựa trên trục 𝑋� 𝑖�

 𝛼� 𝑖� : góc tính từ 𝑍�𝑖�−1 đến 𝑍�𝑖� dựa trên trục 𝑋�𝑖�

 di: khoảng cách giữa trục Xi-1 và Xi dựa trên trục Zi-1

  i : góc giữa trục 𝑋� 𝑖�−1 và 𝑋� 𝑖� dựa vào trục 𝑍� 𝑖�−1

Ta có bảng thông số kích thước của robot như sau:

Ta có công thức chuyển đổi ma trận giữa hệ trục tọa độ {i} sang hệ trục tọa độ {i-1} tổng quát là

1 cos sin cos sin sin cos sin cos cos cos sin sin

Quy ước: i s i , cos i c i , sin(  i  j )s ij , cos(  i  j )c ij , ta có:

Ma trận chuyển đổi hệ trục tọa độ {1} về hệ trục tọa độ {0}:

Ma trận chuyển đổi hệ trục tọa độ {2} về hệ trục tọa độ {1}:

Ma trận chuyển đổi hệ trục tọa độ {3} về hệ trục tọa độ {2}:

Ma trận chuyển đổi hệ trục tọa độ {4} về hệ trục tọa độ {3}:

Ma trận chuyển đổi hệ trục tọa độ {5} về hệ trục tọa độ {4}:

Ma trận chuyển đổi hệ trục tọa độ {6} về hệ trục tọa độ {5}:

Ta suy ra được ma trận chuyển đổi hệ trục tọa độ {6} về hệ trục tọa độ {0}:

Bên cạnh đó, ta có:

Ma trận chuyển đổi của hệ tọa độ {6} về hệ tọa độ {0}

Như vậy, vị trí cuối cùng của cơ cấu chấp hành là:

2.3.2 Động học nghịch Động học nghịch là việc sử dụng các phương trình động học để xác định chuyển động của robot để đạt đến vị trí mong muốn Do đó, phải đi tìm biểu diễn toán học các giá trị khớp góc khi biết trước vị trí và hướng của khâu tác động cuối

Sử dụng chương trình MATLAB, ta tính được:

Ta tìm được hệ phương trình:

Từ đó, ta suy ra:

Chia 2 vế cho a 2 , bình phương hai vế và cộng lại, ta được:

  (2.51) Đặt V 114  r sin và V 124  r cos(r0) Ta có:

Tương tự  2 , ta tìm được:

 (2.57) Đặt: a 3  r sinvà d 4  r cos r  0 , ta suy ra:

3 3 3 cos sin sin( ) cos sin cos( ) s c V r c s V r

Tương tụ  3 , ta tìm được:

Chia 2 phương trình trên cho nhau, ta tìm được góc  4 :

Tương tự  4 , ta tìm được:

Ta tính được góc 5 là:

Tương tụ  5 , ta tìm được hệ phương trình:

Như vậy ta đã tìm được các góc cho bài toán động học nghịch

- Hướng của cơ cấu chấp hành (End-Effector)

Hướng của cơ cấu chấp hành (End-Effector) của robot là một phần quan trọng của bài toán động học nghịch Hướng này thường được biểu diễn bằng các góc Euler (Euler angles) Góc Euler là một bộ ba góc (yaw, pitch, roll) biểu diễn hướng của hiệu ứng đầu cuối tương ứng với các góc xoay lần lượt theo các trục x, y, z so với gốc tọa độ

Hình 2 19 Mô tả các góc roll, pitch, yaw

Ta ký hiệu góc roll, pitch, yaw lần lượt là  r ,  p ,  y

Từ đó, ta có thể xác định được ma trận R

(2.67) Đặt s r  sin( ); r c r  cos( ); r s p  sin( p ); c p  cos( p ); s y  sin( y ); c y  cos( y )

Ta tìm các góc roll, pitch, yaw bằng cách đồng hóa các vị trí của phương trình ma trận: Nếu cos p  0:

- Điều chỉnh thông số đầu tool

Teach peadant của robot nachi MZ07 có hỗ trợ chức năng cài tool cho chúng ta Chúng ta muốn cài thông số góc xoay, độ dài như thế nào so với vị trí TCP (Tool Center Point) chỉ cần vào cài đặt

29 Ở đây sử dụng Tool có trục tác động Z hướng xuống (ngược hướng với TCP) và tool có độ dài theo hướng Z là so với TCP

Tiến hành calib thông số đầu tool có hai cách

- Cách 1: Chọn một điểm nhọn trên đầu đinh cố định trong không gian, hiệu chỉnh các hướng (orientation) và góc xoay (roll-pitch-yaw) sao cho đầu tool vẫn ở vị trí điểm nhọn cố định Viết chương trình thực hiện thao tác trên 10 lần và vào settings của Teach pendant dùng chức năng nội suy của thiết bị để có được thông số vị trí đầu tool

- Cách 2: Với đầu tool chỉ có chiều dài Z thì sử dụng phương pháp đơn giản hơn là cho đầu mặt bích khâu 6 khi chưa gắn tool chạm vào mặt phẳng cố định, sau đó gắn đầu tool tiếp vào chạm vào mặt phẳng cố định đó Ta có được vị trí của hai lần thực hiện trên và suy ra được chiều dài của tool

- Các phương án di chuyển robot

Trong thực tế robot công nghiệp đã được tích hợp các loại tính toán nội suy đường chạy đầu tool, dưới đây là liệt kê của từng loại:

Bảng 2 3 Các loại nội suy

Các loại nội suy Mô tả

- Nếu mục tiêu liên quan đến nội suy tuyến tính, đầu tool sẽ di chuyển theo đường thẳng nối các bước

- Nếu vị trí mục tiêu đạt được bằng cách sử dụng nội suy khớp, robot sẽ di chuyển đến bước mục tiêu theo cách sao cho lượng chuyển động giữa mỗi khớp là nhỏ nhất

- Đường đi của đầu tool không được kiểm soát

- Nếu mục tiêu liên quan đến nội suy vòng tròn, đầu tool sẽ di chuyển dọc theo một cung tròn Một cung tròn là một đường tròn đi qua ba điểm đích.

THIẾT KẾ HỆ THỐNG

Yêu cầu thiết kế

Ứng dụng xử lý ảnh cho cánh tay robot phân loại sản phẩm đòi hỏi một số yêu cầu cơ bản để đảm bảo hoạt động hiệu quả, chính xác và ổn định Các yêu cầu này có thể được phân loại thành các nhóm chính như thu thập và xử lý dữ liệu hình ảnh, nhận diện và phân loại sản phẩm, và điều khiển robot Sản phẩm được đưa vào hệ thống thông qua băng tải di chuyển sẽ được cánh tay Robot gắp và thả ở vị trí chính xác được thiết kế sẵn Chính vì vậy, cần phải được nhận diện hình ảnh và tọa độ sản phẩm một cách chính xác thông qua các ứng dụng, thuận toán và phương pháp xử lý ảnh a Tổng quan về hệ thống b Giới hạn không gian làm việc của cánh tay robot Hình 3 1 Tổng quan về yêu cầu thiết kế của hệ thống Đề tài sử dụng sản phẩm theo hướng thực tế có hình dạng và mẫu mã chính là hộp đựng Module PLC và CB của hãng Mitsubishi như Hình 3.1 Sản phẩm có kích thước 120mm x 110mm x 45mm và 105mm x 85mm x 45mm a 120mm x 110mm x 45mm b 105mm x 85mm x 45mm

Hình 3 2 Sản phẩm phân loại của hệ thống

Yêu cầu điều khiển

Mục tiêu của đề tài đề ra là nhận diện và gắp các sản phẩm đang được di chuyển trên băng chuyền nên yêu chuyển động của Robot Nachi phải chuyển động song phẳng với mặt phẳng băng tải Ngoài ra việc robot có chuyển động song phẳng, robot còn được gắn thêm một đầu hút vào chính giữa tâm đế dưới để gắp vật từ băng tải và thả vào vị trí theo mong muốn

Sau khi sản phẩm được nhận diện và phân loại, hệ thống cần điều khiển cánh tay robot để thực hiện các hành động tương ứng, chẳng hạn như gắp, di chuyển, và xếp sản phẩm vào các vị trí quy định Điều này yêu cầu một hệ thống điều khiển chính xác, có thể đồng bộ với quá trình nhận diện và xử lý ảnh để đảm bảo rằng cánh tay robot có thể phản ứng kịp thời và chính xác với thông tin đầu vào Hệ thống điều khiển cũng cần phải có khả năng tránh va chạm và đảm bảo an toàn cho các sản phẩm cũng như môi trường xung quanh

Lựa chọn thiết bị

Sau khi phân tích và lựa chọn các phương án cho đề tài, thì ta bắt đầu đi sau vào lựa chọn thiết bị phần cứng cụ thể Lập được một bảng gồm các tên các linh kiện ứng, số lượng,

Bảng 3 1: Danh sách các thiết bị sử dụng trong mô hình

STT Tên linh kiện Thông số kỹ thuật cơ bản Số lượng Ghi chú

+ Sai số vị trí ±0.02 mm + Khả năng gắp của cánh tay Robot Nachi MZ07 là:

+ Chống bụi: IP20 + IO: Tối đa 2 chiếc Bảng I/O 32 điểm/32 điểm

+ Độ phân giải: 1920x1080 + Cảm biến hồng ngoại hoạt động ở độ phân giải

36 512x424, với khả năng đo khoảng cách từ 0.5 đến 4.5 mét

+ Nguồn cung cấp: 24V + AC 200/230V~50Hz, 1.4A (Tối đa 6.3A trong 0.5 giây)

6 Băng tải Kích thước : 100x35cm 1

+ I/O cơ bản tối đa : 256 + CPU : Universal + Hỗ trợ kết nối RS232 với

Kết hợp module mở rộng: QX42 và QY42P

Model: GT1050-QBBD Kích thước: 5,7″ Inch Độ phân giải: 320 x 240 Cổng giao tiếp: RS-232C (HMI-PC)

Kết hợp bơm hút chân không và van chân không a Robot Nachi MZ07

Dòng robot MZ07 có khả năng chuyển động tốc độ cực cao với khả năng xuyên qua cánh tay tiên tiến giúp đơn giản hóa việc định tuyến các ống và cáp để xử lý vật liệu, lắp ráp, quan sát và nhiều ứng dụng khác

Bảng 3 2.Thông số hoạt động của robot NACHI MZ07 Động cơ sử dụng AC Servo Motor

Tầm với tối đa 723 mm

Tải tối đa 7 Kg Độ hội tụ vị trí ± 0.02 mm

Có thể tham khảo thêm về vùng không gian làm việc của robot Nachi MZ07 dựa vào bảng thông số ở trên

Hình 3 4 Không gian làm việc của robot Nachi MZ07 b CFD Controller

Hình 3 5.Bộ điều khiển CFD cho robot 6 bậc

CFD Controller có chiều rộng chỉ 369mm, có thể được cài đặt bên trong Riser robot

Bảng 3 3 Thông số kỹ thuật của CFD Controller

Chức năng Chi tiết đặc điểm

Trục điều khiển tối đa 7 trục

Số chương trình 9.999 chương trình

Bộ nhớ Cổng USB c Camera Xbox Kinect V2

- Cấu trúc và thiết kế

+ Thiết kế: Kinect V2 có thiết kế hiện đại và tối giản, với kích thước lớn hơn một chút so với phiên bản đầu tiên Nó bao gồm một cảm biến chính, một đèn chiếu hồng ngoại, một camera RGB và một dãy micrô

+ Kết nối: Kinect V2 kết nối với máy tính hoặc Xbox One thông qua cổng USB 3.0, đòi hỏi một bộ nguồn riêng để hoạt động

+ Camera RGBA: Độ phân giải 1920x1080 pixel, cho phép quay video Full HD + Cảm biến độ sâu: Cảm biến hồng ngoại hoạt động ở độ phân giải 512x424, với khả năng đo khoảng cách từ 0.5 đến 4.5 mét

40 + Dãy micrô: Bao gồm 4 micrô, hỗ trợ lọc tiếng ồn và nhận diện giọng nói trong môi trường ồn ào

+ Field of View (FoV): Góc nhìn rộng hơn so với phiên bản đầu, với góc ngang

70 độ và góc dọc 60 độ d Động cơ OM USM315-402W2

Hình 3 7 OM USM315-402W2 230 V Motor Bảng 3 4.Thông số kỹ thuật của OM Motor

15 230 50/60 0.190/0.160 1.0 1200/1450 40 C e Speed Controller MSP-2W Để điều khiển tốc độ động cơ, ta sử dụng bộ điều khiển tốc độ Bộ điều khiển tốc độ MSP-2W của Oriental Motor là một thiết bị điều khiển tốc độ chính xác cho động cơ

Dưới đây là các thông số kỹ thuật chính :

- Điện áp và tần số:

+ AC 200/230V~50Hz, 1.4A (Tối đa 6.3A trong 0.5 giây)

+ AC 200/220/230V~60Hz, 1.4A (Tối đa 6.0A trong 0.5 giây)

- Kích thước: Kích thước nhỏ gọn, phù hợp để tích hợp vào bảng điều khiển f PLC Mitsubishi Q

+ Dễ dàng mở rộng: Hỗ trợ nhiều module mở rộng như module vào/ra, module truyền thông, module điều khiển chuyển động, giúp tăng cường tính năng và mở rộng hệ thống

+ Tích hợp mạng: Hỗ trợ nhiều giao thức truyền thông như Ethernet, MELSECNET/H, CC-Link, giúp dễ dàng kết nối và giao tiếp với các thiết bị khác trong hệ thống

Bảng 3 5 Thông số kỹ thuật của PLC Mitsubishi Q00UJCPU

Tổng kết nối I/O * Tổng I/O cơ bản tối đa : 256

* Tổng I/O mở rộng với CC-Link : 8192

Bộ nhớ chương trình 10.000 bước lệnh

Cổng kết nối RS232, USB mini, Hỗ trợ kết nối RS232 với PC hoặc HMI g HMI GOT 1000

Hình 3 10 HMI GOT 1000 Mitsubishi Bảng 3 6 Thông số kỹ thuật của HMI GOT 1000

Kích thước 5,7″ Inch Độ phân giải 320 x 240

Loại màn hình STN color LCD

Cổng giao tiếp RS-232C, RS-422

3 4 Sơ đồ kết nối phần cứng

Tất cả kết nối phần cứng được tham khảo và đấu theo sơ đồ kết nối của nhà sản xuất cung cấp

Hình 3 11 Sơ đồ khối phần cứng của hệ thống

Hình 3 12 Sơ đồ đấu nối nguồn cho PLC

Nguồn 220V-AC được giảm áp 24V- DC và cấp cho PLC CPU Q00UJ được kết nối với HMI QT1055 – QSBD

Hình 3 13 Ngõ ra của PLC được đấu với ngõ vào của Robot

 Ngõ ra của PLC được đấu với ngõ vào của Robot

+ Y80 đến Y84 dùng để chọn chương trình tự động cho robot (setbit program) + Y85 dùng để chạy chương trình STROBE

+ Y86 được đấu với tín hiệu START (bắt đầu chương trình bằng External Playback)

45 + Y89 tín hiệu READY (sẵn sàng chạy chương trình bên ngoài)

Hình 3 14 Ngõ vào của PLC được đấu với ngõ ra của Robot

 Ngõ vào của PLC được đấu với ngõ ra của Robot

+ X06A tín hiệu đóng van khí

+ X06B tín hiệu mở van khí

+ X06C và X06D lần lượt là các trigger đếm sản phẩm khi robot gắp được vật

THUẬT TOÁN ĐIỀU KHIỂN

Thuật toán điều khiển PLC

Để chạy được chương trình robot theo phương thức điều khiển tuần tự, hệ thống phải được điều khiển và phản hồi tự động từ các thiết bị Chương trình PLC được lập trình bằng phần mềm GX Works2 và Giao diện điều khiển được thiết kế bằng GT Designer 3

Chạy chương trình tự động bằng tín hiệu xung ngoài (extenal platback), các tín hiệu xung được kích theo chương trình làm việc của nhà sản xuất (work-program) được trình bày như sau:

Hình 4 1.Giản đồ xung điều khiển chương trình chạy extenal platback

- Động cơ phải được bật (ON) trước bằng cách sử dụng tín hiệu đầu vào “MotorsON external”

- “Ext play start” phải là tín hiệu xung từ 200 mili giây trở lên

- Tín hiệu “Program strobe” phải được nhập sau khi tín hiệu “Program sel.bits” được nhập và tất cả trong số các tín hiệu đó trở nên ổn định và vượt qua 10ms trở lên Nếu tín hiệu “Program strobe” được nhập vào trong khi “Program sel.bits” vẫn không ổn định, số chương trình không mong muốn có thể được chọn

- Độ rộng xung của tín hiệu “Program selected” là 200ms ở cài đặt gốc (mặc định) Nhưng chiều rộng có thể được thay đổi trong menu cài đặt sau

- “Program selected” và “Program echoback bits” được xuất ra khi được chọn thực sự chương trình bắt đầu

- Khi xuất ra “Program selected”, hãy TẮT “Program sel.bits” và “Program selected” hoàn toàn các tín hiệu

Hình 4 2 Lưu đồ giải thuật điều khiển PLC và HMI

Tín hiệu đầu vào của PLC được điều khiển bằng HMI và trực tiếp điều khiển tất cả trạng thái hoạt động của hệ thống.

Thuật toán xử lý ảnh

Hình 4 3 Lưu đồ giải thuật xử lý ảnh 2D

Hình 4 4 Quy trình xử lý ảnh để theo dõi vật trên băng tải

Trong suốt quá trình theo dõi vật, có thể thu được các giá trị: ID vật, số lượng vật trên băng tải, tọa độ tâm vật, kích thước vật, tọa độ thực và góc yaw.

Truyền thông giao tiếp

Hình 4 5 Lưu đồ giải thuật chương trình chính

Kết nối socket được khởi tạo để giao tiếp truyền thông giữa máy tính và controller của robot Khởi tạo kết nối cho camera Kinect

Sau khi có được kết quả xử lý ảnh và tính toán được tọa độ thực của vật, máy tính sẽ gửi thông tin vị trí của robot đến controller của robot thông qua truyền thông TCP/IP Vật sau khi được gắp và hiệu chỉnh khớp góc sẽ được xếp theo đúng hướng mong muốn Quy trình lặp lại đến cho khi controller nhận được tín hiệu dừng từ PLC Tín hiệu đếm sản phẩm được kích từ controller sang PLC sau mỗi lần vật gắp được vật Xử lý tín hiệu đếm và cho hiển thị lên HMI

Hình 4 6 Lưu đồ giải thuật truyền thông TCP/IP

CFD Controller hỗ trợ thêm một phương thức giao tiếp cho người dùng tùy chỉnh là Socket Communication Socket Communication trên CFD Controller hỗ trợ cả 2 protocol là TCP và UDP Để có thể tương tác với nhau và máy chủ có thể nhận liên lạc từ máy khách thì máy chủ phải luôn sẵn sàng Điều này có 2 nghĩa, thứ nhất, một tiến trình của máy chủ phải được chạy trước khi máy khách khởi tạo liên lạc đến Thứ hai, chương trình chủ phải tạo ra 1 socket để sẵn sàng chấp nhận kết nối từ tiến trình khách

Khi tiến trình chủ đã chạy, lúc này tiến trình khách sẽ tạo ra 1 socket TCP để có thể kết nối đến máy chủ Trong khi máy khách đang tạo TCP socket, nó sẽ đặc tả địa chỉ IP, số cổng của tiến trình chủ

50 Khi socket của tiến trình khách vừa được tạo, TCP trên máy khách sẽ tiến hành thực hiện quá trình bắt tay 3 bước và thiết lập kết nối TCP tới máy chủ

Trong quá trình bắt tay 3 bước, khi tiến trình chủ nhận thấy tiến trình khách, nó sẽ tự tạo ra 1 socket mới chỉ dành riêng cho tiến trình khách đó Khi được máy khách gõ cửa, chương trình kích hoạt với phương thức accept() Cuối quá trình bắt tay 3 bước, một kết nối TCP tồn tại giữa socket của máy khách và socket của máy chủ.

Giám sát hệ thống bằng Webserver

Mô hình giám sát dữ liệu trên nền tảng Cloud có đặc điểm giao diện điều khiển và giám sát được xây dựng trên nền tảng Cloud của các nhà cung cấp dịch vụ: Amazon, Google, Microsoft… chính vì vậy nó không cần phòng điều khiển, máy tính chủ chạy phần mềm SCADA hay màn hình HMI Người vận hành theo dõi hệ thống ở bất kỳ đâu thông qua điện thoại, laptop cá nhân bằng cách truy cập trực tiếp tới hệ thống Cloud

Hình 4 7 Giao tiếp hệ thống xử lý ảnh với SQL Server

Thông qua chương trình xử lý ảnh sử dụng thư viện pymysql, chương trình tiến hành thu thập dữ liệu đếm sản phẩm về SQL Server thông qua OBDC Data Source Dữ liệu được đẩy lên Webserver thông qua một chuỗi kết nối được khai báo ở Webconfig Chuỗi kết nối bao gồm các thông tin nguồn dữ liệu (Data Source=.\;Initial Catalog=FinalProject), và thông tin đăng nhập vào SQL Server (sa , password ) Các giá trị được truy xuất và chuyển đổi bằng các câu lệnh querry thông qua

Dữ liệu hệ thống được hiển thị lên Web Server thông qua ASP.NET được xây dựng bằng ngôn ngũ lập trình HTML và CSS

ASP.NET hỗ trợ nhiều mô hình phát triển, trong đó phổ biến nhất là mô hình MVC (Model-View-Controller):

 Model: Chứa dữ liệu và logic nghiệp vụ của ứng dụng Model tương tác với cơ sở dữ liệu và cung cấp dữ liệu cho View thông qua Controller

 View: Chịu trách nhiệm hiển thị dữ liệu cho người dùng View nhận dữ liệu từ Model và hiển thị nó dưới dạng HTML

 Controller: Xử lý các yêu cầu từ người dùng, thao tác với Model, và chọn View phù hợp để hiển thị kết quả

Quy trình hoạt động của một ứng dụng ASP.NET:

1 Client Request: Người dùng gửi yêu cầu HTTP đến web server

2 IIS Handling: IIS tiếp nhận yêu cầu và chuyển đến ASP.NET runtime

3 Routing: ASP.NET routing module xác định controller và action cần xử lý yêu cầu

4 Controller Action: Controller xử lý logic nghiệp vụ và tương tác với Model

5 Model Interaction: Model lấy dữ liệu từ cơ sở dữ liệu hoặc thực hiện các tính toán cần thiết

6 View Rendering: Controller chọn View phù hợp, truyền dữ liệu từ Model và trả về kết quả cho người dùng dưới dạng HTML

7 Response: Kết quả HTML được gửi lại cho client

ASP.NET cung cấp nhiều tính năng bảo mật như xác thực (authentication), phân quyền (authorization), mã hóa dữ liệu (data encryption), và bảo vệ chống lại các cuộc tấn công phổ biến (CSRF, XSS, SQL Injection).

ỨNG DỤNG VÀ ĐÁNH GIÁ KẾT QUẢ THỰC NGHIỆM

Ứng dụng của hệ thống

5.1.1 Ứng dụng sắp xếp vật

Tổng quan các thiết bị hệ thống được thể hiện như Hình 5.1:

Hình 5 1 Tổng quan về bố trí tất cả các thiết bị trong hệ thống

Khi mô hình được hoàn chỉnh và các thuật toán xử lý ảnh, các chương trình điều khiển robot được sử dụng vào đề tài thì ứng dụng của nhóm hoạt động như sau:

Sau khi khởi động tất cả các thiết bị, đầu tiên ở phần HMI bấm vào nút CONTROL để vào giao diện quan sát và điều khiển, sau đó bấm nút AUTO để bắt đầu chạy băng tải và thực hiện các quy trình

Băng chuyền được di chuyển với tốc độ không đổi Các thành phần hỗn hợp ( vật thể) ngẫu nhiên xuất hiện trên băng chuyền với tư thể của vật thể gồm vị trí của vật trên băng chuyền và hướng không được xác định trước Nói cách khác, thì các loại vật thể

53 khác nhau, trong bất kỳ tư thế nào, có thể xuất hiện trên băng chuyền trong vùng không gian làm việc của cánh tay robot và ở bất kỳ thời điểm nào

Cánh tay robot Nachi MZ07 (có 6 bậc tự do) được sử dụng trong ứng dụng này Cánh tay robot được dùng để nhặt một vật thể đang đến trên băng chuyền, di chuyển đến vị trí của thùng chứa tương ứng với loại vật thể đó và đặt vật thể vào thùng Do đó, các vật thể đến trên băng chuyền được phân loại vào các thùng riêng biệt Ví dụ, đây là hệ thống phân loại bằng diện tích bề mặt của vật thể thì có nghĩa là tất cả các vật thể có kích thước lớn được đặt vào một thùng và vật thể có kích thước nhỏ hơn được đặt vào một thùng khác Vì thùng không quá to, chỉ vừa đủ và nếu nhặt lệch tâm của vật nhiều thì có trường hợp vật sẽ va vào cạnh thùng khi Robot đưa vật xuống từ băng chuyền nên yêu cầu về độ chính xác khi nhặt được vật khá cao, nhặt càng gần tâm của vật thì càng xếp vào thùng dễ dàng

Camera Kinect được đặt trên cao gần như bao quát toàn bộ quá trình di chuyển của vật trên băng chuyền Khi vật lọt vào khung hình camera, hệ thống sẽ thu thập hình ảnh và qua quá trình xử lý ảnh để nhận dạng, theo dõi vật thì thì kết quả cuối cùng sẽ đưa ra được tọa độ của vật so với hệ tọa độ của robot, ngoài ra còn có góc lệch của vật (góc yaw) như Hình 5.2 và diện tích bề mặt của vật Có thể xem quá trình thu thập ảnh là ngõ vào đi qua hệ thống xử lý ảnh và ngõ ra là các dữ kiện liên quan đến vật Tiếp đến là truyền thông số đã xác định vào bộ điều khiển robot để di chuyển robot

Hình 5 2 Mô tả các góc quay của vật Ở đề tài này, nhóm sinh viên cũng chia thành hai phần: nhặt vật ở vị trí tĩnh và nhặt vật ở vị trí động

54 Với yêu cầu nhặt vật ở vị trí tĩnh, thì khá đơn giản vì khi đã xác định được các dữ kiện liên quan đến vật thì robot chỉ việc chạy đến tọa độ của vật, sẽ xoay cơ cấu chấp hành của robot một góc yaw trùng với góc lệch của vật ( nếu có) Sau đó sẽ được đi theo các quỹ đạo di chuyển được đặt ra như: nhấc vật lên, đưa vật đến vị trí của thùng ứng với loại diện tích, sau đó hạ vật xuống từ từ, thả vật và nhấc ra đưa về vị trí ban đầu để tiếp tục quá trình chờ hút vật tiếp theo

Hình 5 3 Xoay góc yaw của robot ứng với góc lệch của vật

Với yêu cầu nhặt vật ở vị trí động, xử lý phức tạp hơn đó là tính toán thời gian để hút vật Để quá trình khả thi thì điều kiện cần được đặt ra là tốc độ di chuyển tuyến tính của robot phải nhanh hơn tốc độ của băng chuyền Khi nhận được tọa độ của vật với giá trị ( ,x y z 1 1 , ) 1 , cánh tay robot sẽ chạy đến tọa độ ( ,x y 1 1 S z, ) 1 ( S là quãng đường mà robot chạy đến trước) để chờ gắp vật và ở ứng dụng này thì S  50 mm Nói dễ hiểu hơn thì robot sẽ ngay lập tức chạy đến vị trí cách vị trí nó nhận được với khoảng cách 50mm tính theo chiều ngang của băng tải cũng là chiều trục y của robot Thời gian mà robot chạy đến điểm chờ vật được tính là t 1 Cùng lúc đó thì vật trên băng chuyền vẫn di chuyển với vận tốc bằng vận tốc của băng chuyền được gọi là v belt Thời gian mà vật đi từ tọa độ ( ,x y z 1 1 , ) 1 đến tọa độ ( ,x y 1 1 S z, ) 1 được tính bằng công thức:

  v ( do vật chuyển động đều nên gia tốc của vật bằng 0) Ta tìm được thời gian mà robot chờ hút vật là:     t t 2 t 1 Sau đó robot sẽ tiếp cận vật và di chuyển thêm một đoạn 50mm nữa, mục đích là để quan sát được robot có khớp tâm vật hay không và một phần cũng cho thấy robot có thể đi theo được tốc độ của băng tải

Hình 5 4 Mô hình hóa chuyển động của robot và vật trên băng tải

Sau đó robot hút vật và thực hiện đặt vật vào thùng theo quỹ đạo giống như phần nhặt vật ở vị trí tĩnh trước đó Ở đây, nhóm cũng đã thực hiện một trường hợp lỗi, vật nằm ngoài vùng không gian làm việc của robot (không nằm trong khung đỏ) như Hình 5.5 Khi đó, robot sẽ không hoạt động và gửi một tín hiệu xung đến PLC để hiển thị thông báo lỗi lên HMI

Hình 5 5 Vùng không gian làm việc của robot

Khi robot nhặt được vật thì robot cũng sẽ gửi một tín hiệu xung đến PLC và từ HMI có thể quan sát được số lượng của mỗi loại vật

Nhóm sinh viên đã thiết lập các tham số và giới hạn liên quan đến cánh tay robot Các tham số bao gồm vị trí thùng theo từng loại vật thể, độ cao mà cánh tay robot nên

56 được nâng lên sau khi nhặt vật thể, và thời gian cần thiết cho việc chuyển đổi giữa các tư thế robot khác nhau Các tham số này đã được kiểm tra và tinh chỉnh để đạt được hiệu suất tốt hơn

Cách xếp vật trên pallet

Dùng chế độ dạy điểm của Teach Pendant di chuyển robot đến các điểm được chọn sẵn ở trong thùng của mỗi loại a) Cách xếp chồng lớn b) Cách xếp chồng nhỏ

Hình 5 6 Xếp vật trên pallet

Vật được sắp xếp thực tế như Hình 5.7:

Hình 5 7 Thực tế cách xếp vật trong thùng

Đánh giá kết quả thực nghiệm

Để đảm bảo kết quả hệ thống là khách quan nhất, nhóm sinh viên đã tiến hành thử nghiệm trực tiếp trong điều kiện thực tế Một máy tính duy nhất được sử dụng để làm bộ xử lý trung tâm thực thi các quá trình bao gồm xử lý ảnh, truyền thông robot và lập trình điều khiển PLC Máy tính có cấu hình như sau: Intel(R) Core(TM) i5-1035G1

59 CPU @ 1.00GHz 1.19 GHz, RAM 16,0 GB, hệ điều hành Windows 11 Enterprise, Version 23H2

5.2.1 Sai số hiệu chỉnh camera

Bảng 5 1 Sai số hiệu chỉnh camera Điểm Tọa độ pixel (u,v)

Tọa độ tính toán (mm)

Sai số (mm) Điểm 1 894; 532 20; 150 231; 153 3.1; 3 Điểm 2 1105; 652 170; 233 168.4; 232 1.6; 1 Điểm 3 1011, 652 105; 233 102; 233.8 0.3; 0.8 Điểm 4 916, 652 40; 233 39.3; 235.7 0.7; 2.7 Điểm 5 1106, 532 170; 150 168.2; 147.9 1.8; 2.1 Điểm 6 1012, 531 105; 150 101.6; 149.1 3.4; 0.9 Điểm 7 917; 531 40; 150 38.9; 149.4 1.1; 0.6 Điểm 8 1106; 411 170; 65 173; 66.1 3; 1.1 Điểm 9 1012; 410 105; 65 103.1; 64.1 2; 0.9 Điểm 10 918; 409 40; 65 39; 62 1; 3

Các kích thước của vật được thể hiện qua Bảng 5.2:

Bảng 5 2 Kích thước các vật mẫu

Ta lấy góc lệch của vật 1 thực tế bằng cách sử dụng thước đo độ như Hình 5.10b và góc lệch của vật 1 qua quá trình xử lý ảnh thì sẽ đưa ra số liệu “Angle” như Hình 5.10a, qua đó có thể đối chiếu và so sánh

Góc lệch của vật 1 thực tế và góc lệch của vật 1 qua quá trình xử lý ảnh được thực nghiệm bằng cách:

60 a Góc 30 độ qua xử lý ảnh b Góc 30 độ thực tế c Góc 45 độ qua xử lý ảnh d Góc 45 độ thực tế e Góc 60 độ qua xử lý ảnh f Góc 60 độ thực tế

61 g Góc 90 độ qua xử lý ảnh h Góc 90 độ thực tế

Hình 5 11 Góc lệch tính toán xử lý ảnh và thực tế

Tương tự thực nghiệm so sánh giữa góc lệch tính toán bằng xử lý ảnh và qua đo đạc từ thực tế với vật 2, vật 3 và vật 4; nhóm rút ra được kết quả thực nghiệm như Bảng

Bảng 5 3 Sai số góc lệch

Hình dạng Lần Góc lệch thực tế

5.2.3 Khảo sát chu kỳ của một tác vụ gắp

Qua quá trình chạy thử tác vụ gắp vật với các cấp tốc độ khác nhau, nhóm đã rút ra bảng sau:

Bảng 5 4 Khảo sát chu kỳ của một tác vụ gắp

Vận tốc Lần Thời gian xử lý ảnh (s)

Chu kỳ robot di chuyển (s)

5.2.4 Khảo sát hiệu suất gắp vật

Nhóm đánh giá hiệu suất gắp vật bằng cách với cùng một số lượng vật để nhận dạng đồng thời vận tốc băng tải không đổi và qua 5 lần thử nghiệm để xem robot có gắp được chính xác và hiệu suất gắp vật của hệ thống tới đâu

Bảng 5 5: Hiệu suất gắp vật

Hình dạng Lần Số vật để gắp Số vật gắp được Hiệu suất

Ngày đăng: 26/09/2024, 14:42

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[7] Nguyễn Hữu Lộc (2013). Cơ sở Thiết kế máy. Nhà xuất bản Đại học Quốc Gia TP.HCM Sách, tạp chí
Tiêu đề: Cơ sở Thiết kế máy
Tác giả: Nguyễn Hữu Lộc
Nhà XB: Nhà xuất bản Đại học Quốc Gia TP.HCM
Năm: 2013
[9] Horizontal Travel Robot Arm (HTA0), Toy Picker Robot using Arduino and Rapsberry Pi, FDX LABS, https://www.youtube.com/watch?v=f3s_uub4P6Q Sách, tạp chí
Tiêu đề: Toy Picker Robot using Arduino and Rapsberry Pi
[16] Le Dong Tam Git code (2023), PyKinectV2-PointCloud-NachiRobot, https://github.com/dongtamlx18/PyKinectV2-PointCloud-NachiRobot Sách, tạp chí
Tiêu đề: PyKinectV2-PointCloud-NachiRobot
Tác giả: Le Dong Tam Git code
Năm: 2023
[11] Vision-enhanced Peg-in-Hole using Semantic Image Segmentation and Object Detection. https://www.youtube.com/watch?v=AXJlpBvFuoU&t=85s Link
[1] Rui Song, Fengming Li, Tianyu Fu and Jie Zhao. (2020). A Robotic Automatic Assembly System Based on Vision. MDPI Applied Sciences Khác
[2] K S Tan , M N Ayob , H B Hassrizal, A H Ismail , M S Muhamad Azmi , M S M Hashim, S M Othman , A B Shahriman and Y H Low (2021), Integrating Vision System to a Pick and Place Cartesian Robot, International Conference on Man Machine Systems Khác
[3] Rui Song, Fengming Li , Tianyu Fu and Jie Zhao, (2020), A Robotic Automatic Assembly System Based on Vision, MDPI Applied Sciences Khác
[4] Yizhe Zhang, Lianjun Li, Michael Ripperger, Jorge Nicho, Malathi Veeraraghavan and Andrea Fumagalli, (2018), Gilbreth: A Conveyor-Belt Based Pick-and-Sort Industrial Robotics Application, Second IEEE International Conference on Robotic Computing Khác
[5] Đặng Phước Vinh, Lê Đình Minh Nhật, Nguyễn Đặng Mẫn, (2019) Thiết kế và chế tạo cánh tay robot 5 bậc tự do ứng dụng xử lý ảnh để phân loại vật thể, Hội nghị khoa học toàn quốc lần thứ nhất về Động lực học và Điều khiển Khác
[8] Sinh Van Nguyen, Trong Hai Trinh, Manh Ha Tran. (2015). Hole Boundary Detection of a Surface of 3D Point Clouds. IEEE Transactions on Robotics and Automation Khác
[10] Zichao Shu, Songxiao, CaoQing Jiang. (2021). Pairwise Registration Algorithm for Large-Scale Planar Point Cloud Used in Flatness Measurement. MDPI Applied Sciences Khác
[12] Nachi-fujikoshi, FD CONTROLLER INSTRUCTION MANUAL Robot language 8 th , 1512, TFDEN-012-008, 001 Khác
[13] Nachi-fujikoshi, FD CONTROLLER INSTRUCTION MANUAL User Task, 2nd edition, 1508, TFDEN-123-002, 001 Khác
[14] Nachi-fujikoshi, FD CONTROLLER INSTRUCTION MANUAL Socket Communication, 3rd edition, 1501, TFDEN-127-003, 001 Khác
[15] Ik Sang Shin, Sang-Hyun Nam, Hyun Geun Yu , Rodney G. Roberts, Seungbin B. Moon, (2014) ,Conveyor Visual Tracking using Robot Vision, Researchgate Florida Conference on Recent Advances in Robotics Khác

HÌNH ẢNH LIÊN QUAN

Hình 1. 5. Mô hình 3D của hệ thống - điều khiển cánh tay robot kết hợp kỹ thuật xử lý ảnh phân loại sản phẩm
Hình 1. 5. Mô hình 3D của hệ thống (Trang 23)
Hình 1. 6. Lưu đồ thuật toán xử lý ảnh - điều khiển cánh tay robot kết hợp kỹ thuật xử lý ảnh phân loại sản phẩm
Hình 1. 6. Lưu đồ thuật toán xử lý ảnh (Trang 24)
Hình 2. 4. Hệ trục tọa độ của hệ thống - điều khiển cánh tay robot kết hợp kỹ thuật xử lý ảnh phân loại sản phẩm
Hình 2. 4. Hệ trục tọa độ của hệ thống (Trang 28)
Hình 2. 7.  Tổng quan về tính toán tư thế - điều khiển cánh tay robot kết hợp kỹ thuật xử lý ảnh phân loại sản phẩm
Hình 2. 7. Tổng quan về tính toán tư thế (Trang 31)
Hình 2. 15. Xác định góc yaw trong xử lý ảnh 2D - điều khiển cánh tay robot kết hợp kỹ thuật xử lý ảnh phân loại sản phẩm
Hình 2. 15. Xác định góc yaw trong xử lý ảnh 2D (Trang 35)
Hình 2. 18 Đặt hệ trục tọa độ cho 6 bậc của robot - điều khiển cánh tay robot kết hợp kỹ thuật xử lý ảnh phân loại sản phẩm
Hình 2. 18 Đặt hệ trục tọa độ cho 6 bậc của robot (Trang 38)
Hình 2. 20. Kí hiệu van chân không - điều khiển cánh tay robot kết hợp kỹ thuật xử lý ảnh phân loại sản phẩm
Hình 2. 20. Kí hiệu van chân không (Trang 47)
Hình 3. 5.Bộ điều khiển CFD cho robot 6 bậc - điều khiển cánh tay robot kết hợp kỹ thuật xử lý ảnh phân loại sản phẩm
Hình 3. 5.Bộ điều khiển CFD cho robot 6 bậc (Trang 55)
Hình 3. 13. Ngõ ra của PLC được đấu với ngõ vào của Robot - điều khiển cánh tay robot kết hợp kỹ thuật xử lý ảnh phân loại sản phẩm
Hình 3. 13. Ngõ ra của PLC được đấu với ngõ vào của Robot (Trang 61)
Hình 4. 2. Lưu đồ giải thuật điều khiển PLC và HMI - điều khiển cánh tay robot kết hợp kỹ thuật xử lý ảnh phân loại sản phẩm
Hình 4. 2. Lưu đồ giải thuật điều khiển PLC và HMI (Trang 64)
Hình 4. 6. Lưu đồ giải thuật truyền thông TCP/IP - điều khiển cánh tay robot kết hợp kỹ thuật xử lý ảnh phân loại sản phẩm
Hình 4. 6. Lưu đồ giải thuật truyền thông TCP/IP (Trang 66)
Hình 5. 1 Tổng quan về bố trí tất cả các thiết bị trong hệ thống - điều khiển cánh tay robot kết hợp kỹ thuật xử lý ảnh phân loại sản phẩm
Hình 5. 1 Tổng quan về bố trí tất cả các thiết bị trong hệ thống (Trang 69)
Hình 5. 4. Mô hình hóa chuyển động của robot và vật trên băng tải - điều khiển cánh tay robot kết hợp kỹ thuật xử lý ảnh phân loại sản phẩm
Hình 5. 4. Mô hình hóa chuyển động của robot và vật trên băng tải (Trang 72)
Hình 5. 9. Giao diện tổng quan của Webserver - điều khiển cánh tay robot kết hợp kỹ thuật xử lý ảnh phân loại sản phẩm
Hình 5. 9. Giao diện tổng quan của Webserver (Trang 75)
Bảng 5. 3. Sai số góc lệch - điều khiển cánh tay robot kết hợp kỹ thuật xử lý ảnh phân loại sản phẩm
Bảng 5. 3. Sai số góc lệch (Trang 78)

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

TÀI LIỆU LIÊN QUAN

w