1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Nghiên cứu thiết kế hệ thống nhận dạng chai bị lỗi trong dây chuyền sản xuất beer (1)

33 380 2

Đ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

Định dạng
Số trang 33
Dung lượng 3,92 MB

Nội dung

Hình 4.3: Mô phỏng động học cánh tay 2 bậc tự do4.1.3 THAO TÁC MÔ PHỎNG 3D TRONG LabVIEW 4.1.3.1 Tạo các khối hình học cơ bản Để thiết kế và mô phỏng được các hệ thống phức tạp thì ta ph

Trang 1

XỬ LÝ ẢNH TRONG LABVIEW4.1 Điều khiển hình ảnh trong LabVIEW

mô hình sẽ giúp cho người học tiếp cận vấn đề nhanh hơn Việc mô phỏng những

mô hình thực tế sẽ giúp giảm chi phí đầu tư trang thiết bị mà vẫn đảm bảo chấtlượng đào tạo Trong công nghiệp việc mô phỏng sẽ giúp ta phát hiện sai số, nhanhchóng điều chỉnh trước khi đi vào sản xuất Nhờ vào việc đó mà chúng ta có thể tiếtkiệm thời gian và chi phí gia công, sản xuất Ngoài ra, việc mô phỏng cũng giúpchúng ta giới thiệu ý tưởng tới các đối tác một cách nhanh chóng, tiện lợi mà khôngcần có một sản phẩm thực

Mô phỏng 3D sử dụng phần mềm LabVIEW là một giải pháp hiệu quả giúpcho các giáo viên, giảng viên, các kĩ sư và các nhà nghiên cứu khoa học nói chung

có thể thực hiện được ý tưởng của mình một cách nhanh chóng

Các phần mềm mô phỏng 2D, 3D: Inventor, Solidwork, EasyRob (Mô phỏng

Trang 2

Hình 4.1 :Các khối hình học trong môi trường 3D Picture

Trang 3

Hình 4.3: Mô phỏng động học cánh tay 2 bậc tự do

4.1.3 THAO TÁC MÔ PHỎNG 3D TRONG LabVIEW

4.1.3.1 Tạo các khối hình học cơ bản

Để thiết kế và mô phỏng được các hệ thống phức tạp thì ta phải bắt đầu từ việc thiết

kế các khối vật thể đơn giản trước

Đầu tiên, ta khởi động LabVIEW sau đó thực hiện theo các bước sau:

Bước 1: Trên cửa sổ Front Panel Lấy hàm 3D Picture trong thư viện Graph như

hình 4.4 :

Hình 4.4: Lấy hàm 3D Picture trên của sổ Front Panel (FP)

Trang 4

Hàm 3D Picture được dùng để hiển thị kết quả mô phỏng (3D) trong

LabVIEW Thông thường ta sẽ lấy hàm này ra trước tiên và ta có thể phóng to, thu

nhỏ khối 3D Picture trên cửa sổ FP sao cho kích thước của khung hiển thị phù hợp

với không gian mô phỏng, xem hình4.5 :

Hình 4.5 : Hàm 3D Picture xuất hiện trên giao diện của chương trình

Để thiết kế các khối đơn giản (LabVIEW cho phép bạn vẽ các khối cầu, hộp, trụ,

chóp nón) trong LabVIEW chúng ta sử dụng thư viện Graphics & Sound >> 3D Picture Control bên cửa sổ BD.

Hình 4.6 : Thư viện 3D Picture Control trong LabVIEW

Trang 5

>> Programming >> Graphics & Sound >> 3D Picture Control

Bước 3: Lấy hàm Creat Object, hàm Creat Object là 1 lệnh tạo một hình khối mới

(cầu, trụ, hộp…) để hiển thị lên môi trường 3D của LabVIEW Để lấy hàm Creat Object, tại cửa sổ Block Diagram ta Right Click >> Programming >> Graphics

& Sound >> 3D Picture Control >> Object >> Creat Object.

Hình4.7 : Hàm Creat Object trong thư viện 3D Picture Control

Hình 4.8: Lấy hàm Create Object ra cửa sổ Block Diagram (BD)

Lấy các khối vật thể mà ta muốn tạo: LabVIEW cho phép ta thiết kế được

các khối cầu, trụ, hộp, chóp nón…, các khối này có trong thư viện Geometries,

Trang 6

đường dẫn tới thư viện Geometries: trên cửa sổ BD ta Right Click >> Programming >> Graphics & Sound >> 3D Picture Control >> Geometry:

Các hình khối mà LabVIEW hỗ trợ trong thư viện 3D Picture Control

Tới đây giả sử ta muốn tạo khối cầu thì ta lấy hàm Create Sphere trong thư viện Geometries ra, xem hình 4.9 :

Hình 4.9 : Lấy hàm Create Sphere để tạo khối cầu

Bước 5: Thiết lập các thông số cho khối vật thể: các thông số ở đây là kích thước

& màu sắc của khối vật thể Tùy theo khối vật thể ta tạo mà ta cần thiết lập các

thông số kích thước khác nhau Chẳng hạn như khối hộp chữ nhật thì ta cần thiết lập

3 thông số là chiều cao, chiều dài & chiều rộng, với khối trụ thì ta cần thiết lập 2thông số là chiều cao và bán kính đáy của khối trụ Và ở đây với khối cầu thì ta cầnthiết lập 1 thông số kích thước duy nhất là bán kính của khối cầu (radius)

Trang 7

Hình 4.10 : Thiết lập bán kính cho khối cầu là 1 đơn vị chiều dài

Tiếp theo để thiết lập màu sắc cho khối cầu ta sử dụng hàm Color change trong thư viện Helpers, đường dẫn tới thư viện Helpers: trên cửa sổ

BD ta Right Click >> Programming >> Graphics & Sound >> 3D Picture Control >> Helpers >> Color Change

Hàm Color Change để thay đổi màu sắc của vật thể

Trang 8

Hàm Color Change và các thông số cần thiết lập

Theo hình trên, chân Color cho phép ta có thể chọn màu mà ta cần

chân Alpha có giá trị là 0 hoặc 1, nếu là 0 thì vật thể sẽ có màu trong suốt, là

1 thì vật thể có màu đục Chân RGBA được nối tới chân Color của hàm Creat Sphere (tạo khối cầu), R là viết tắt của Red, G là Green, B là Blue, A

là Alpha

Hình 4.11 : Thiết lập màu sắc cho khối cầu

Bước 6: Tiếp theo ta cần tạo không gian hoạt động cho vật thể bằng cách sử dụng

hàm Invoke Node trong thư viện Application Control Đường dẫn tới hàm Invoke Node trong thư viện Application Control: trên cửa sổ BD ta Right Click >> Programming >> Application Control >> Invoke Node.

Hàm Invoke Node

Trang 9

Hàm Invoke Node là một hàm đa năng được sử dụng cho nhiều ứng dụng khác nhau Để sử dụng hàm Invoke Node ta cần thiết lập Class (lớp-

nhiệm vụ) và Method (phương pháp thực hiện) Ở đây ta chọn Class làSceneObject và Method là Drawable, cách thiết lập xem hình sau:

Hình 4.12 : Thiết lập Class cho hàm Invoke Node

Hình 4.13 : Thiết lập Method cho hàm Invoke Node

Trang 10

Hàm Invoke Node sau khi thiết lập Class và Method như hình 4.14 :

Hình 4.14 : Hàm Invoke Node sau khi thiết lập Class và Method

Bước 7: Thực hiện nối các hàm Creat Object và Creat Sphere với các input của

hàm Invoke Node Chân Out của hàm Invoke Node nối tới hàm 3D Picure như sau:

Hình 4.15 : Thực hiện nối dây

Bước 8: Chạy chương trình để thấy được hình cầu xuất hiện trên cửa sổ 3D Picture:

Trang 11

Hình 4.16 : Kết quả hiển thị khối cầu

Chú ý: để thấy được quả cầu trong không gian ba chiều ta cần thiết lập chế độ

Camera bằng cách trên cửa sổ 3D Picture ta Right Click >> Camera Controller.

Tại đây ta có thể chọn các chế độ: Spherical, Flying, Oriented để nhìn thấy được

các vị trí khác trên vật thể

Hình 4.17 : Chỉnh góc quan sát vật thể

4.1.3.2 Tạo nhiều vật thể và gán ràng buộc cho các vật thể:

Trong thực tế các thành phần trong 1 cơ hệ thường chuyển động tương đối vớinhau, nghĩa là chuyển động của thành phần này phụ thuộc vào chuyển động củathành phần khác Ví dụ như một cánh tay máy 3 bậc tự do đang làm việc thì khâu

Trang 12

thứ 2 phải chuyển động theo chuyển động của khâu thứ nhất, khâu thứ 3 phảichuyển động theo khâu thứ nhất và thứ 2… Chính vì lý do trên ta phải ràng buộccác khâu với nhau để được một cơ cấu hay máy như ý muốn.

Để tạo thêm 1 vật thể và ràng buộc cho các vật thể ta dùng khối Invoke Node, với Class là SceneObject, Method là Object Add Object, hàm Invoke Node bây giờ ta gọi là hàm Object.Add Object :

Phương pháp gán ràng buộc cho các khâu

Theo hình trên vật SLAVE sẽ chuyển động theo vật thể MASTER Như vậy

vật được nối tới chân Reference của hàm Object.Add Object sẽ là vật chủ, vật được nối tới chân Object sẽ là vật tớ (chuyển động theo), chân Reference OUT được nối tới hàm hiển thị 3D Picture Ta hãy xem ví dụ sau:

Hình 4.18 : Tạo thêm vật thể màu đỏ và ràng buộc giữa 2 vật thể

Trang 13

Theo hình 4.17 ta thì thanh màu đỏ (Slave) được tạo từ hàm tạo khối hộp chữ nhật

trong thư viện 3D Picture Control sẽ chuyển động theo vật cầu (MASTER).

Lưu ý: Các vật được tạo trên 3D Picture sẽ đồng tâm với nhau

4.1.3.3 Tạo chuyển động cho các vật

Để tạo chuyển động giữa các vật ta sử dụng thư viện Transformations trong thư viện 3D Pictrure Control, đường dẫn tới thư viện: trên cửa sổ BD ta Right Click

>> Programming >> Graphics & Soud >> 3D Picture Control >> Transformations

Các hàm chuyển động trong thư viện Transformations

Thư viện Transformation gồm rất nhiều hàm có chức năng khác nhau nhưng

vì mức độ ứng dụng thì ta chỉ quan tâm tới 3 hàm chính là Clear Transformation (Xóa tất cả các di chuyển trước đó), Translate Object (tạo chuyển động tịnh tiến)

và Rotate Object (Tạo chuyển động quay).

Tạo chuyển động tịnh tiến cho các vật

Giả sử ta muốn tạo khoảng cách cho 2 vật trên thì sử dụng hàm Translate Object để di dời vật màu đỏ đi một khoảng cách nào đó Ta lấy hàm ra cửa sổ BD:

Trang 14

Hàm Translate Object

- Nếu ta muốn tạo chuyển động cho vật MASTER (vật chủ) thì chương trìnhnhư sau:

Bây giờ giả sử ta muốn di chuyển vật MASTER di chuyển theo chiều 1 đơn

vị theo chiều + của trục x ta nhập 2 vào Constant x như sau:

Trang 15

Tạo chuyển động 1 đơn vị theo chiều “+” trục x cho vật MASTER

Kết quả như sau:

Hình 4.19 : Di chuyển vật MASTER đi 1 đơn vị theo chiều “+” trục x

Nếu ta muốn tạo chuyển động tịnh tiến 1 đơn vị theo chiều “+” của trục x

cho vật Slave thì chương trình như sau:

Tạo chuyển động 1 đơn vị theo chiều “+” trục x cho vật Slave

Trang 16

Thấy để tạo chuyển động cho Slave ta nối hàm Translate Ọbject với ngõ Output Object của hàm Object.Add Object

Kết quả như sau:

Hình 4.20 : Tạo chuyển động 1 đơn vị theo chiều “+” trục x cho vật Slave

Trang 17

Để tạo chuyển động quay cho vật ta dùng hàm Rotate Object, hàm Rotate Object có thể được nối nối tiếp tới hàm Translate Object

Hàm Rotate Object

Scene.Object In: đầu vào vật cần quay

Axit: chọn trục quay, 0 là ko quay, 1 là quay ngược chiều kim đồng hồ, -1 làquay cùng chiều kim đồng hồ

Angle: góc quay mong muốn

Scene.Object Out: đầu ra hàm

Giả sử ta muốn cho vật MASTER quay quanh trục z theo chiều thuận chiều

kim đồng hồ, chương trình như sau:

Quay MASTER 90 độ quanh trục z thuận chiều kim đồng hồ

Kết quả như sau:

Trang 18

Hình 4.21 : Quay MASTER 90 độ quanh trục z thuận chiều kim đồng hồ Trong LabVIEW, có thể áp dụng những kiến thức cơ bản ở trên để thiết kế

& mô phỏng động học, động lực học những cơ hệ như ý muốn Trong tài liệusau sẽ trình bày làm thế nào để mô phỏng kết hợp LabVIEW với các ngônngữ và phần mềm mô phỏng khác như Solidworks, Google SketchUp, 3DSMax…

Hình 4.22 hệ thống nhận dạng chai bị lỗi

Trang 19

4.2.1 Tổng quan về xử lý ảnh

Trong những năm gần đây, với sự phát triển của phần cứng máy tính làm cho

bộ nhớ máy tính có dung lượng lớn hơn, tốc độ của chip vi xử lý nhanh hơn, đã chophép các ứng dụng đồ họa phát triển mạnh mẽ và có nhiều ứng dụng trong cuộcsống Trong đó, xử lý ảnh là một trong những công cụ phát triển rất nhanh do nhucầu ứng dụng trong công nghiệp

Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm cho

ra kết quả mong muốn Kết quả đầu ra của một quá trình xử lý ảnh có thể là một ảnhtốt hơn hoặc một kết luận

Trang 20

Trong sơ đồ hình 3, quá trình lấy ảnh được thực hiện thông qua thiết bị thunhận ảnh (camera, webcam, máy quét ảnh…), sau đó ảnh này được đưa lên máytính và thực hiện quá trình xử lý Quá trình xử lý bao gồm: tiền xử lý: là bước sơchế, cải thiện chất lượng ảnh đầu vào, nhằm làm nổi bật lên đặc điểm đặc trưng củaảnh; trích chọn đặc điểm: là bước lấy ra các đặc điểm đặc bề ngoài trưng nhất củaảnh để xử lý (hình dạng, màu sắc, kích thước, dấu vết, chữ viết trên sản phẩm…);hậu xử lý: là bước gán giá trị cho ảnh do người lập trình quy định để đưa ra kết quả

là kết luận (đúng, sai, tốt, xấu, loại A,B,C…)

Xử lý ảnh trong công nghiệp ngày nay được ứng dụng nhiều trong lĩnh vựcquản lý chất lượng, phân loại sản phẩm và điều khiển thông minh Do yêu cầu về độchính xác của chi tiết gia công ngày càng trở nên khắt khe nên những vết lỗi nhỏtrên sản phẩm cũng làm cho sản phẩm thành phế phẩm Hơn nữa tốc độ sản xuấttrong công nghiệp đòi hỏi nhanh để nâng cao năng suất nên không thể nhận dạngbằng mắt thường

Mặt khác, chi phí để thực hiện xử lý ảnh thông thường không cao, chỉ với mộtchiếc webcam giá rẻ, người sử dụng có thể tự tạo cho mình nhiều ứng dụng khácnhau Robot tự hành, một sản phẩm của hocdelamgroup là một sản phẩm ứng dụng

xử lý ảnh bằng LabVIEW điều khiển xe mô hình có khả năng tự tránh vật cản chỉbằng webcam của laptop

4.2.2 Xử lý ảnh LabVIEW

Trong mảng xử lý ảnh, hãng National Instruments cung cấp cho người sử dụngmodule NI Vision builder for Automated Inspection Module này là một phần mềmhoàn toàn độc lập với LabView và chuyên biệt dành cho xử lý ảnh Module này cóthư viện các hàm lớn với nhiều công cụ cho phép người sử dụng thực hiện côngviệc nhận dạng và xử lý ảnh bằng nhiều cách khác nhau, cho phép xử lý ảnh vớidung lượng lớn, tương thích với nhiều loại camera Tuy nhiên, nhược điểm củamodule này nằm ở khâu giao tiếp và xuất tín hiệu giữa phần mềm với cơ cấu chấphành Để có thể lấy tín hiệu đã xử lý từ phần mềm xuất ra, phần mềm yêu cầu phải

Trang 21

cấp và có giá khá cao, do đó, nó không thích hợp với những cơ sở sản xuất có quy

Hình 4.25 : Giao diện công cụ xử lý ảnh NI Assitant trên LabVIEW (ứng dụng nhận dạng biển số xe)

Việc lập trình xử lý ảnh trên LabVIEW phụ thuộc rất nhiều vào người lậptrình, nghĩa là điều quan trọng nhất là người lập trình phải tìm ra công cụ và kết hợpcác công cụ để lập trình cho phần mềm nhận diện chính xác hình ảnh đồng thời lựachọn hàm tối ưu nhất trên LabVIEW để trích lọc, so sánh các giá trị xuất ra, nókhông chỉ yêu cầu các kỹ năng sử dụng phần mềm mà đây còn là tư duy của ngườilập trình Mặt khác, việc thực hiện tốt lập trình thuật toán xử lý ảnh sẽ góp phần làmgiảm chi phí cho camera vì thay vì sử dụng một camera đắt tiền có độ phân giải cao

Trang 22

để lấy ảnh chất lượng cao thì người lập trình có thể cải thiện chất lượng hình ảnhngay trên phần mềm Yêu cầu khi thực hiện lập trình xử lý ảnh trên LabVIEW đó làngười lập trình phải đạt được các kỹ năng lập trình LabVIEW căn bản và có kiếnthức về lập trình Sơ đồ xử lý ảnh trên LabVIEW được thể hiện ở hình 4.25.

Hình 4.26 : Sơ đồ xử lý ảnh trên LabVIEW

Trang 23

Hình 4.27 : Sơ đồ nối dây trên LabVIEW 4.2.2.1 Thu nhận ảnh

Việc thu nhận ảnh trong môi trường LabVIEW được thực hiện riêng thông qua

module Vision Acquisition Đây là một module mở rộng được lập trình với chức

năng thực hiện việc tìm kiếm camera đang liên kết với máy, thu nhận ảnh, xuất ảnhnhận được về môi trường LabVIEW và đưa dữ liệu xuất sang môi trường xử lý ảnh

(Vision Assistant) Trong LabVIEW, module này tương ứng với hàm Vision

Acquisititon nằm trong thư viện Vision Express.

Hình 4 28 Cách lấy hàm Vision Acquisition trong LabVIEW

Trang 24

Sau khi lấy hàm Vision Acquisition để lập trình thu nhận ảnh, double click vào biểu

tượng của hàm, giao diện lập trình sẽ mở ra và việc thực thi quá trình thu nhận ảnhđược thiết lập hoàn toàn riêng biệt trên module này Quá trình thu nhận ảnh đượcthực hiện qua 4 bước:

Bước đầu tiên trong quá trình thực hiện thu nhận ảnh là chọn địa chỉ để phần

mềm lấy ảnh, Select Acquisition Source Vision Acquisition cho phép thực hiện xử

lý ảnh tĩnh, ảnh động (trực tiếp từ camera hoặc lấy từ file video định dạng AVI ) Bước 2, lựa chọn kiểu thu nhận ảnh, Select Acquisition type , là lựa chọn cách

thức mà phần mềm sẽ lấy ảnh bao gồm: lấy một ảnh, lấy ảnh liên tục, lấy ảnh liêntục sau một khoảng thời gian (lấy mẫu) với mỗi cách thức lấy ảnh, trênLabVIEW sẽ sinh ra kiểu vòng lặp tương ứng

Bước 3, cài đặt các thông số cho ảnh thu nhận, Configure Acquisition

Setting , là cài đặt các thông số cho ảnh sẽ thu nhận bao gồm: độ phân giải, chế độ

chụp, các thông số về độ sáng, độ tương phản, không gian màu cho ảnh và kiểm

tra các thông số đã cài đặt bằng cách click vào nút test để xem ảnh và quyết định

tiếp tục hoặc quay lại chỉnh sửa các thông số cho thích hợp

Bước 4 là bước cuối cùng và là bước quan trọng nhất Tại đây người lập trình

sẽ lựa chọn các thông số để thiết lập đầu vào/ra cho ảnh, Select Control/Indicator Các thông số đầu vào (control) chính là các thông số đã được cài đặt ở bước 3, khi

lựa chọn nó, phần mềm sẽ cho phép sửa chữa các thông số này ngay trên LabVIEW,

nghĩa là có thể thay đổi các thông số này mà không cần quay lại cửa sổ Vision Acquisition Các thông số đầu ra (Indicator) là các yếu tố kết quả của quá trình thu

nhận ảnh mà người lập trình mong muốn lấy ra để tiếp tục xử lý, trong đó, quan

trọng nhất là image out được chọn mặc định vì đây sẽ là yếu tố liên kết sang

module xử lý ảnh và hiển thị ảnh lên trên giao diện khi chạy phần mềm

Ngày đăng: 06/09/2017, 21:45

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w