Bài toán và yêu cầu

Một phần của tài liệu ĐỒ án tốt NGHIỆP thiết kế hệ thống phân loại và đóng lọ thuốc sử dụng học máy (Trang 71)

CHƯƠNG 3 HỆ THỐNG ĐIỆN, ĐIỀU KHIỂN

3.2 Bài toán điều khiển

3.2.1 Bài toán và yêu cầu

- Mục tiêu của đề tài là phân loại và đóng gói thuốc nên phần tử được điều khiển là băng chuyền, thiết bị phân tách và đóng gói thuốc.

- Bộ điều khiển trung tâm hoạt động khi có tín hiệu khởi động. - PC thực hiện nhiệm vụ xử lý ảnh và gửi tín hiệu xuống PLC.

1.1.1 Quy trình cơng nghệ.

Nhấn nút START băng tải sản phẩm, băng tải hộp, động cơ cấp phôi hoạt động, sau 6s động cơ mâm xoay hoạt động. Động cơ cấp phôi chỉ hoạt động khi băng tải sản phẩm hoạt động.

- CB2 có tín hiệu cho dừng băng tải thuốc để chụp ảnh. Khi băng tải dừng PLC gán địa chỉ MW300 = 1 gửi tín hiệu chụp ảnh. Ảnh được đưa lên máy tính xử lý. Máy tính xử lý ảnh, nếu là sản phẩm NG – sản phẩm lỗi thì gán địa chỉ MW100 = 1

+ Nếu MW100 = 1, cấp tín hiệu cho van điện từ điều khiển xylanh 2 đẩy sản phẩm. Đồng thời đếm sản phẩm NG tăng lên 1. Nếu sản phẩm lỗi đạt đến một mức đặt trước hệ thống sẽ dừng hoạt động.

+ Nếu CB3 có tín hiệu thì set T2 = 1.5 (s), sau khi có T2 thì biến đếm sản phẩm G (C1) tăng lên 1. Khi C1 đếm đủ số sản phẩm đã đặt trước thì kích hoạt động cơ mâm xoay hoạt động.

Khi có hộp đi qua cảm biến 1, động cơ mâm xoay ngừng hoạt động, đồng thời kích hoạt timer T0 = 2 (s). Sau khi có tín hiệu T0 thì kích hoạt động cơ vặn nắp và van điện từ điều khiển xylanh 1 để vặn nắp cho hộp trong 2 (s).

Nhấn STOP hệ thống dừng hoạt động

Nhấn RESET các thông số trong hệ thống về 0.

3.2.2 Lưu đồ điều khiển.

Từ u cầu bài tốn ta có sơ đồ tín hiệu điều khiển sau:

Hình 3.56 Sơ đồ tín hiệu điều khiển.

Chú thích:

 BT1 – băng tải thuốc.

 BT2 – băng tải lọ.

 Xylanh 1 – xylanh đẩy sản phẩm lỗi.

 Xylanh 2 – xylanh đóng nắp. Từ đây ta có lưu đồ điều khiển như sau:

Hình 3.57 Lưu đồ điều khiển của hệ thống.

1.1.2 Phần mềm lập trình.

TIA Portal là m t ph n m m dùng l p trình cho thi t b có b i u khi nộ ầ ề để ậ ế ị ộ đ ề ể

logic (Programmable Logic Controller) trong công nghi p. Không gi ng nh cácệ ố ư

ph n m m l p trình tr c, TIA Portal tích h p h t các ch c n ng t l p trình, giầ ề ậ ướ ợ ế ứ ă ừ ậ ả

l pậ CPU hay thi t k c WinCC giao di n ng i - máy. ây là phiên b n hồnế ế ả ệ ườ Đ ả

Hình 3.58 Lập trình và mơ phỏng trên Tia Portal V15.1

1.1.3 Các biến sử dụng trong chương trình.

3.2.2.1. Các kiểu dữ liệu thường dùng.

- Bool: chỉ có giá trị 0 và 1.

- Byte: 1byte bằng 8 bit, có giá trị từ 0-255. - Word: 16 bit, số nguyên dương từ 0 đến 65535. - Dword: 32bit, số nguyên dương từ 0 đến 232 – 1. - Int: 16 bit, từ -32768 đến 32767.

- Real: 32bit số thực.

3.2.2.2. Bit tín hiệu đầu vào (Input)/ đầu ra (Output).

Bảng 3.5 Địa chỉ và tên Tag của các tín hiệu đầu vào trên Tia Portal

Bit đầu vào phần

cứng Tag Bit đầu vào môphỏng Tag

I0.0 I_STAR

T M1.0 M_START

I0.1 I_STOP M1.1 M_STOP

I0.2 I_RESET M1.2 M_RESET

I0.3 I_CB1 M1.3 M_CB1 I0.4 I_CB2 M1.4 M_CB2 I0.5 I_CB3 M1.5 M_CB3 MW100 phanloai Giải thích - I0.0 (M1.0): nút START - I0.1 (M1.1): nút STOP - I0.2 (M1.2): nút RESET

- I0.3 (M1.3): CB1 – cảm biến phát hiện hộp

- I0.4 (M1.4): CB2 – cảm biến phát hiện thuốc vào vùng chụp ảnh - I0.5(M1.5): CB3 – cảm biến đếm thuốc đạt

3.2.2.3. Tín hiệu ra điều khiển (Output)

Bảng 3.6 Địa chỉ và tên Tag tín hiệu đầu ra trên Tia Portal.

Bit đầu ra Tag

Q0.0 Q_BT1 Q0.1 Q_BT2 Q0.2 Q_DC_MAM_XOAY Q0.4 Q_XYLANH_1 Q0.5 Q_XYLANH_2 Q0.6 Q_DC_CAP_PHOI MW300 chupanh Giải thích:

- Q0.0: điều khiển băng tải sản phẩm (BT1). - Q0.1: điều khiển băng tải hộp (BT2). - Q0.2: điều khiển động cơ mâm xoay.

- Q0.4: điều khiển van điện từ xy lanh vặn nắp (Xylanh 1).

- Q0.5: điều khiển van điện từ xy lanh đẩy sản phẩm lỗi (Xylanh 2). - Q0.6: điều khiển động cơ cấp phơi.

- MW300: tín hiệu gửi xuống PC để chụp ảnh.

3.2.3 Thiết kế giao diện HMI.

1.1.1.1. Sơ lược về HMI

HMI là viết tắt của Human- Machine- Interface nghĩa là thiết bị giao tiếp giữa con người và máy móc thiết bị. Nói chính xác hơn, bất cứ cách nào mà con người giao tiếp với máy móc thiết bị qua một màn hình giao diện thì nó gọi là HMI.

Tác dụng chính của HMI là hỗ trợ người vận hành. Khi quá trình tự động hóa trong sản xuất nhiều hơn, người điều khiển cần có thêm nhiều thơng tin về q trình hơn. Bởi vậy nhu cầu về một thiết bị nhỏ gọn, linh hoạt, giúp giám sát và điều khiển quá trình một cách đa dạng và nhanh gọn đã thôi thúc HMI phát triển. Bằng những cơng nghệ hiện đại như sử dụng màn hình tinh thể lỏng, tích hợp máy tính nhúng, ... HMI đang ngày càng cho thấy vai trò sâu rộng và quan trọng của mình với hệ thống tự động hóa cơng nghiệp.

Những đặc điểm của HMI hiện đại:

- Tính đầy đủ kịp thời và chính xác của thơng tin. - Tính mềm dẻo dễ thay đổi bổ xung thơng tin cần thiết.

- Tính đơn giản của hệ thống, dễ mở rộng, vận hành, sửa chữa.

- Có khả năng kết nối mạnh, kết nối với nhiều loại thiết bị và giao thức. - Khả năng lưu trữ cao.

3.2.3.1. Vị trí của HMI trong hệ thống tự động hóa hiện đại

HMI ln có trong hệ thống tự động hóa hiện đại, vị trí của HMI ở cấp điều khiển, giám sát.

Hình 3.59 Vị trí của HMI trong hệ thống tự động hóa hiện đại[ CITATION htt6 \l 1033 ]

Chính vì vị trí quan trọng khơng thể thiếu của HMI trong hệ thống tự động hóa, chúng em đã quyết định thực hiện thiết kế mô phỏng giao diện HMI cho đề tải của nhóm.

Hình 3.60 Màn hình giám sát HMI

Các b c thi t k giao di n HMI:ướ ế ế ệ

- Ch n và v các kh i c n s d ng, sau ó g n tag bi n c n i u khi n choọ ẽ ố ầ ử ụ đ ắ ế ầ đ ề ể

chúng.

- T o chuy n ng, thay i tr ng thái chuy n ng cho các kh i.ạ ể độ đổ ạ ể độ ố - T o s ki n cho các nút.ạ ự ệ

3.2.4 Bài toán kết nối PLC với Python.

Hiện nay, để kết nối với PLC nói chung và PLC của hãng Siemens nói riêng với các cơng cụ lập trình thì có khá nhiều lựa chọn. Ở đây, có thể kể đến một đại diện đó là OPC UA – Giao thức nền tảng cho công nghiệp 4.0.

OPC UA được hiểu là một chuẩn truyền thông bậc cao độc lập, được phát triển bởi hiệp hội OPC Foundation, nhưng OPC UA hoàn toàn khác trước so với đặc tả đàn anh của mình OPC DA. Chính vì vậy OPC UA được hiểu bằng cụm từ Open Platform Communication (OPC) Unified Architecture (UA) nhằm tránh đi cụm từ đã không hợp thời OLE for Process Control của OPC DA và những đạc tả khác.

Trong khn khổ đề tài có sử dụng Python kết hợp với PLC, để giảm bớt thời gian cũng như đơn giản hóa bài tốn điều khiển, đồ án này đã sử dụng tới thư viện Snap7 – thư viện mã nguồn mở, hỗ trợ các hệ điều hành 32/64 bit, đa nền tảng và hô trợ giao tiếp với Siemens S7 PLC qua cổng Ethernet.

Một PLC Client là đối tượng mà ai cũng biết, hầu như tất cả các trình điều khiển truyền thông PLC trên thị trường đều là máy khách. Tương tự OPC, Snap7 là một máy khách (Client). Nó đáp ứng gần như hoàn toàn các giao thức giao tiếp với dịng S7, nó có thể đọc, ghi tồn bộ bộ nhớ PLC (In/ Out/ DB/ Merkers/ Timer/ Counter), thực hiện thao tác khối (Upload/ Download), điều khiển PLC (Run/ Stop/ Compress…), đáp ứng được các mức bảo mật (Đặt mật khẩu/ Xóa mật khẩu) và gần như tất cả các chức năng mà Simatic Manager hay TIA Portal cho phép.

Thư viện Snap7 được thiết kế để ghi nhớ việc truyền dữ liệu quan trọng trong công nghiệp liên quan đến các mạng có rất nhiều PLC.

Hình 3.62 Danh sách tương thích của Snap7[ CITATION Ngu18 \l 1033 ]

CHƯƠNG 4. CHƯƠNG TRÌNH PHÂN LOẠI THUỐC ỨNG DỤNG XỬ LÝ ẢNH VÀ CƠNG NGHỆ HỌC MÁY

4.1 Thuật tốn

4.1.1 Thuật toán lọc ảnh Gauss

Bộ lọc Gauss được cho là bộ lọc hữu ích nhất, được thực hiện bằng cách nhân chập ảnh đầu vào với một ma trận lọc Gauss sau đó cộng chúng lại để tạo thành ảnh đầu ra.

Ý tưởng chung là giá trị mỗi điểm ảnh sẽ phụ thuộc nhiều vào các điểm ảnh ở gần hơn là các điểm ảnh ở xa. Trọng số của sự phụ thuộc được lấy theo hàm Gauss (cũng được sử dụng trong quy luật phân phối chuẩn).

Hình 4.63 Biểu diễn ma trận lọc Gauss[ CITATION blo \l 1033 ]

Giả sử ảnh là một chiều. Điểm ảnh ở trung tâm sẽ có trọng số lớn nhất. Các điểm ảnh ở càng xa trung tâm sẽ có trọng số giảm dần khi khoảng cách từ chúng tới điểm trung tâm tăng lên. Như vậy điểm càng gần trung tâm sẽ càng đóng góp nhiều hơn vào giá trị điểm trung tâm.

Chú ý: Trên thực tế, việc lọc ảnh dựa trên hàm Gauss 2 chiều (ngang và

G 0(x , y)=A e −(x−μx) 2σx 2 2 +−¿ ¿¿ (4.1) Trong đó: - μ là trung bình (đỉnh).

- σ2 là phương sai của các biến số x và y. - A=π r2 .

- Tham số μ quyết định tác dụng của bộ lọc Gauss lên ảnh. Độ lớn của ma trận lọc (kernel) cần được lựa chọn cho đủ rộng.

4.1.2 Thuật toán Canny

Trong chương trình đã sử Canny Detection để phân tách vùng ảnh Canny Detetion: Đây là thuật tốn phát hiện góc cạnh rất phổ biến

Tổng quát, thuật toán Canny Detection gồm có 4 bước:

1. Lấy đạo hàm của ảnh theo chiều ngang và dọc theo phân phối Gaussian

2. Tính cường độ và hướng của Gradient 3. Non-maximum supression

4. Sử dụng Threshold để tạo loại bỏ cạnh gỉa, xác định cạnh thực sự (real edge)

B1: Lấy đạo hàm theo phân phối Gaussian

Ta lấy đạo hàm theo chiều ngang x (Gx) và chiều dọc y (Gy) . Do hướng của gradient ln vng góc với các cạnh nên ảnh lấy đạo hàm theo chiềng ngang

x (Gx) sẽ thu được các nét dọc còn ảnh lấy đạo hàm theo chiều dọc (Gy) sẽ thu

được các nét ngang của bức ảnh.

Hình 4.64 Đạo hàm ảnh theo chiều ngang (x) và dọc (y)[ CITATION www2 \l 1033 ]

B2: Tính cường độ và hướng gradient

Từ kết quả tính đạo hàm theo hướng x và y trên ảnh đầu vào, ta tính cường độ gradient và hướng của mỗi pixel theo công thức:

1. Cường độ gradient:

IG=√Gx2+Gy2 (4.2)

2. Hướng của gradient:

θ=arctan 2(Gy, Gx) (4.3)

B3: Non-maximum supression

Để làm những đường biên trở nên sắc nét và mảnh hơn giống ảnh gốc ta sử dụng Non-maximum supression để loại bỏ những pixel thừa.

Hình 4.65 Cường độ và hướng của gradient[ CITATION www2 \l 1033 ]

Thuật toán Non-maximum supression như sau: với một pixel A được xác định nằm trên một cạnh. Ta sẽ có vector gradient direction ln vng góc với cạnh edge. Trên vector gradient direction ta có thể có nhiều pixel ví dụ ở đây là B và C. ba pixel A, B, C cùng miêu tả một pixel trên cạnh ban đầu nên ta phải so sánh giá trị giữa A, B và C xác định đâu là pixel nào có giá trị lớn nhất. Sau đó loại bỏ hai pixel cịn lại bằng cách đặt chúng bằng 0.

Hình 4.66 Kết quả thuật Non – maximum suppression[ CITATION www2 \l 1033 ]

B4: 'Hysteresis' thresholding

Bước này sẽ quyết định một cạnh ta dự đốn ở các bước trên nó có phải là một cạnh thật sự hay khơng. Giá trị threshold ở đây có hai ngưỡng Vmax và Vmin. Ta triển khai thuật toán dựa vào hai giá trị này như sau:

 Nếu cường độ của gradient (Magnitude) > Vmax thì đó là chắc chắn là một cạnh (strong edge)

 Nếu Magnitude < low threshold < Vmin thì đó là noise

 Nếu Vmin < Magnitude < Vmax thì đó là một cạnh yếu chưa xác định được là cạnh hay nhiễu (weak edge)

 Đối với những weak edge, nếu cạnh nào có kết nối với một strong edge thì weak edge đó là cạnh, nếu khơng sẽ là noise

Hình 4.67 Ngưỡng lựa chọn trong threshould[ CITATION www2 \l 1033 ]

Ví dụ ở hình trên A nằm trên ngưỡng Vmax nên A chắc chắn là cạnh (strong edge). C nằm giữa ngường Vmax và Vmin nên C là cạnh yếu (weak edge) nhưng C kết nối với strong edge là A nên C cũng là một cạnh. Tuy nhiên B cũng nằm trong ngưỡng giống C nhưng không kết nối với cạnh nào chắc chắn là cạnh (strong edge) nên B là nhiễu.

4.1.3 Thuật tốn trích chọn đặc trưng HOG

Nghiệm vụ của trích chon đặc trưng là giảm số lượng thông tin trong ảnh nhưng vẫn giữ đủ thông tin để phân loại.

B1: Tính Gradient

Đây là bước đầu tiên, được thực hiện bằng hai phép nhân chập ảnh gốc với 2 chiều, tương ứng với các toán tử lấy đạo hàm theo hai hướng Ox và Oy. Trong đó, 2 hướng tương ứng đó là:

Dx=[−1 0 1]Dy=[1 0 −1]

T là phép tốn chuyển vị ma trận.

Và nếu bạn có một ảnh input là I, ta sẽ có 2 ảnh đạo hàm riêng theo 2 hướng đó, theo cơng thức:

Ix=I . Dx (4.4)

Iy=I . Dy (4.5)

Khi đó, bạn có thể tính được Gradient bao gồm hai thành phần cường độ (Gradient Magnitude) và hướng (Gradient Derection) theo công thức 4.6 và 4.7:

¿G∨¿Ix2

+Iy2 (4.6)

Hình 4.68 Ví dụ sử dụng

θ=arctanIx

Iy (4.7)

Ví dụ: Giả sử ta có một điểm ảnh như sau

Chúng ta sẽ áp dụng các công thức trên để tính được gradient của điểm ảnh này:

Ix=I . Dx=[56 x 94].[−10 1 ]=38Iy=I . Dy=[93y 55].[1 0 −1]=38 ¿G∨¿Ix2 +Iy2 =√3 82 +3 8253,74θ=arctanIx Iy =arctan (¿38) 38 2,33¿

Đối với hình ảnh màu, gradient của ba kênh (red, green và blue) được đánh giá. Độ lớn của gradient tại một điểm ảnh là giá trị lớn nhất của cường độ gradient

của ba kênh, và góc là góc tương ứng với gradient tối đa.

Sau bước này, kết quả thu được sẽ là:

Hình 4.70 Kết quả của Gradient 3 kênh[ CITATION www3 \l 1033 ]

B2: Tính vector đặc trưng cho từng ơ (cells)

Để tính tốn vector đặc trưng cho từng ơ (cell), chúng ta cần chia hình ảnh thành các block, mỗi block lại chia đều thành các cell. Để xác định được số block, chúng ta sẽ sử dụng công thức sau:

nblockimage=(wimagewblock. wcell wcell +1).(

Himage−Hblock. Hcell

Hcell +1) (4.8)

image

w

, wblock

, wcell: lần lượt là chiều rộng của ảnh, số khối, số ơ Hình 4.69 Minh họa điểm ảnh [ CITATION www3 \l 1033 ]

image

H

, Hblock, Hcell: lần lượt là chiều dài của ảnh, số khối, số ơ.

Các block có thể xếp chồng lên nhau như hình:

Sau khi xác định số block và kích thước mỗi block, cell, để tính tốn vector đặc trưng cho từng cell, chúng ta cần:

1. Chia không gian hướng thành p bin (số chiều vector đặc trưng của ơ). 2. Rời rạc hóa góc hướng nghiêng tại mỗi điểm ảnh vào trong các bin.

Giả sử góc hướng nghiêng tại pixel ở vị trí (x, y) có độ lớn là α (x, y) Trường hợp rời rạc hóa unsigned-HOG với p=9:

B(x , y)=round(p . α(x , y)

Π )mod p (4.9)

 Trường hợp rời rạc hóa signed- HOG với p=18:

B(x , y)=round(p . α(x , y)

2Π )mod p (4.10)

Giá trị bin được định lượng bởi tổng cường độ biến thiên của các pixels thuộc về bin đó. Sau khi tính tốn đặc trưng ơ, ta sẽ nối các vector đặc trưng ô để thu được vector đặc trưng khối. Số chiều vector đặc trưng khối tính theo cơng thức:

siz eblock=n. siz ecell (4.11)

Trong đó:

- n: là số ơ trong khối.

- siz ecell: là số chiều của vector đặc trưng ô (siz ecell=¿ 9 nếu sử dụng “

unsigned-HOG và siz ecell=¿ 18 nếu sử dụng “signed-HOG”).

Ví dụ: Trong trường hợp này, hình ảnh của chúng ta có kích thước là

Một phần của tài liệu ĐỒ án tốt NGHIỆP thiết kế hệ thống phân loại và đóng lọ thuốc sử dụng học máy (Trang 71)

Tải bản đầy đủ (PDF)

(103 trang)