Professional Documents
Culture Documents
ĐỒ ÁN TỐT NGHIỆP
Nghiên cứu thiết kế điều khiển phân loại
sản phẩm ứng dụng xử lý ảnh cho mô hình
FMS
TRẦN QUANG TÚ
tu.tq179707@sis.hust.edu.vn
HÀ NỘI, 1/2020
ĐỀ TÀI TỐT NGHIỆP
Nghiên cứu thiết kế điều khiển phân loại sản phẩm ứng dụng xử lý ảnh cho mô
hình FMS.
Trần Quang Tú
MỤC LỤC
1
Hình 1.1 Mô hình FMS
Ký hiệu:
1 - Ký hiệu dòng vật liệu
2 - Ký hiệu dòng thông tin
MT: máy tính
ĐKVC: điều khiển vận chuyển
ĐKKC: điều khiển kho chứa
Các thành phần trong dây truyền hình 1.2 gồm có:
- Các tế bào: gồm các thiết bị nhận biết (cảm biến, công tắc hành
trình), các module gia công, robot.
3
- Hệ thống vận chuyển: bao gồm các cơ cấu vận chuyển liên tục không
phụ thuộc vào chương trình điều khiển và các cơ cấu vận chuyển phụ
thuộc vào chương trình điều khiển có thể liên tục hoặc ngắt quãng.
- Kho chứa tự động, nơi lưu trữ sản phẩm đã qua xử lý, kho chứa được
điều khiển bởi chương trình điều khiển. Sản phẩm lưu trữ ở đây có
thể làm đầu vào cho module gia công tiếp theo hoặc không.
Chức năng:
Các tế bào, hệ thống vận chuyển và kho chứa tự động đều được điều khiển và giám
sát bởi các máy tính cục bộ riêng rẽ. Hệ FMS có một hệ thống điều khiển trung
tâm (máy tính trung tâm của hệ thống) làm nhiệm vụ nạp chương trình vào các
máy tính cục bộ điều khiển từng tế bào, hệ thống vận chuyển, kho chứa tự động để
đảm bảo hệ thống FMS kích ứng với kết hoạch sản xuất đã định.
Trong hệ thống trên hình 1.2 các máy tính cục bộ điều khiển các tế bào, hệ thống
vận chuyển và kho chứa tự động chỉ có thể tác động qua lại với nhau thông qua
máy tính trung tâm (máy tính trung tâm của hệ thống). Trên cơ sở các dữ liệu hệ
thống đã giám sát và thu thập trong quá trình vận hành được lưu trong bộ nhớ máy
tính trung tâm của hệ thống FMS, sẽ tạo thành các lệnh điều khiển gửi đến các máy
tính cục bộ điều khiển các phần tử của hệ thống FMS.
Trong hệ FMS việc kết nối giữa các máy tính cục bộ với nhau và với máy tính
trung tâm, hay giữa các thiết bị giám sát với bộ điều khiển thường sử dụng những
chuẩn truyền thông công nghiệp như profibus, profinet, OPC… để trao đổi thông
tin qua lại giữa các bộ phận trọng hệ thống giúp cho hệ thống vận hành một cách
ổn định.
1.3 Các cơ cấu chấp hành
Hệ thống điều khiển băng tải
a) Động cơ Panasonic model: M81A25GV4W
Hệ thống FMS hiện có đang sử dụng hệ thống 4 động cơ điều khiển cho 4 băng
tải, đây là loại động cơ xoay chiều 1 pha với công suất đủ để hệ thống băng tải vận
hành trơn tru khi vận chuyển các tấm pallet đặt trên bề mặt băng tải.
4
Các thông số kỹ thuật cơ bản:
+ Công suất: 25W
+ Điện áp xoay chiều 1 pha: 208-230/240V
+ Tần số 50/60 Hz
b) Hộp bánh răng Panasonic model: M8GA-30M
Hộp bánh răng sử dụng trong hệ thống nhằm hỗ trợ khả năng tải của động cơ trong
quá trình vận hành đồng thời nó có tác dụng hãm tốc độ của động cơ hoạt động ở
tốc độ vừa phải.
5
Điện áp hoạt động 220VAC, công suất 25W, tần số hoạt động 50-60Hz. Bộ điều
khiển này bật tắt bằng nút gạt STOP-RUN, tốc độ có thể điều chỉnh bằng núm
xoay, xoay sang trái để về Low (giảm tốc độ), xoay sang phải để tăng tốc độ (High).
Pop-up và Stopper
Trong mỗi trạm của hệ thống FMS đều có 1 Pop-up, 2 Stopper, 2 cảm biến, 2 công
tắc hành trình và 1 bộ giải mã pallet.
Pop-up và stopper cùng dùng loại xi lanh SMC model: RSQA32-20TB.
6
Xi lanh SMC model RSQA32-20TB là xi lanh vừa có thể tác động đơn, vừa có thể
tác động kép với chiều dài cố định.
- Đường kính trong xi lanh: 32mm
- Độ dài hành trình của psston: 20mm
Van khí nén
Các van khí nén được sử dụng trong hệ thống là các van điện từ 5/2 tác động 1
chiều và 2 chiều. Để điều khiển 2 Stopper và 1 Pop-up thì mỗi trạm cần 2 van tác
động 1 chiều và 1 van tác động 2 chiều, được bố trí thành cụm 3 van gắn tại mỗi
trạm.
7
được tích hợp trong cái xi lanh. Cảm biến có 2 chân thường hở với nhau. Khi có
từ tính tiếp xúc lại gần với cảm biến thì 2 chân này sẽ trở nên thông. Ở đây em
dùng cảm biến từ SMC với model D-A73.
Bộ giải mã Pallet
Hệ thống FMS hiện có sử dụng các bộ giải mã để phân biệt từng loại pallet, mỗi
tấm pallet được gắn một bộ phận để cho bộ giải mã nhận biết đó là một tấm đồng
gắn ở cạnh của các pallet chứa các lỗ tròn, mỗi một loại tấm pallet có số lượng lỗ
tròn khác nhau và vị trí lỗ tròn khác nhau. Mục đích của việc xác định từng loại
pallet vì mỗi loại pallet sẽ chứa các vật có hình dạng khác nhau, thông qua việc
xác định các loại tấm pallet để xác định các vật đặt trên nó.
8
Mỗi trạm sẽ có một bộ giải mã để nhận biết các tấm pallet này. Bộ giải mã có năm
thanh đồng, hình trụ tròn nhỏ được gắn cố định và đặt vuông góc với mặt phẳng
tấm pallet. Các thanh này được đánh số tương ứng, ví dụ là từ X0, X1, X2, X3 và
0V. Các đầu trên của X0, X1, X2, X3 được nối tới input của bộ điều khiển PLC
(programmable logic controller), khi được tiếp xúc sẽ thông mạch với 0V gửi tín
hiệu logic “1” về PLC. Khi popup tại mỗi trạm nâng tấm pallet đến hết hành trình
di chuyển lên, cơ cấu nhận biết tại mỗi trạm sẽ tiếp xúc với các lỗ ID của tấm đồng
được gắn trên mỗi tấm pallet. Tín hiệu gửi về dạng mã nhị phân với 1 trong 4 mã
0001, 0010, 0011, 0100 tương ứng với số được đánh trên mỗi tấm pallet.
CPU (Central Processing Unit) Q03UDE được sử dụng để điều khiển hệ thống,
đây là một trong những dòng PLC hiện đại nhất hiện nay với nhiều tính năng điều
khiển sẽ được trình bày rõ hơn ở chương 3.
10
Module điều khiển vị trí QD75P2 có 40 chân, dùng để điều khiển vị trí của động
cơ Servo, một module QD75P2 có thể điều khiển 2 trục (tương ứng với 2 động cơ
Servo), module này sẽ được trình bày kỹ hơn ở chương 3.
Các module I/O này sẽ được trình bày kỹ hơn trong chương 3.
b) Các thiết bị đóng cắt
+) Cầu dao hai pha hãng ABB model F362
Tủ điện điều khiển sử dụng một cầu dao hai pha của hãng ABB để đóng cắt điện
áp tổng của tủ điện.
Hình 1.18 Cầu dao hai pha hãng ABB model F362
11
+) Cầu dao một pha hãng ABB model C16
Cầu dao này được sử dụng trong hệ thống để bảo vệ động cơ của băng tải trong
quá trình hoạt động, bảo vệ quá tải, ngắn mạch.
Hình 1.19 Cầu dao một pha hãng ABB model C16
12
Thông số cơ bản:
- Dòng điện định mức: 10A.
- Điện áp đặt vào cuộn hút: 24VDC.
Robot gắp vật
Hệ thống FMS ban đầu sử dụng một Robot để gắp vật từ pallet đặt trên băng tải và
đưa vào kho lưu trữ. Robot này có nhãn hiệu IRB 2400L của hãng ABB. Hệ thống
di chuyển của robot này là đường ray nằm ngang 3m dọc theo đường băng tải dài
nhất của hệ FMS. Robt có 6 bậc tự do, có gắn xy lạnh kẹp ở bậc thứ 6 để gắp vật.
Hiện tại Robot này không thể hoạt động, để phù hợp với bài toán đưa ra, trong hệ
thống này chúng em sẽ thiết kế một hệ thống tay gắp khác để gắp vật.
1.6 Đề xuất nhiệm vụ thiết kế
Với hiện trạng hiện tại của các thiết bị sẵn có:
- Các cơ cấu điều khiển hệ thống FMS hoạt động tốt.
- Robot ABB không thể hoạt động.
- Không có hệ thống nhận dạng sản phẩm.
Để phù hợp với yêu cầu bài toán đặt ra, nhóm chúng em sẽ thiết kệ một hệ thống
nhận dạng và gắp vật. Cụ thể ở đây chúng em sẽ sử dụng hệ thống nhận dạng vật
bằng camera sử dụng hình ảnh chụp từ vật để nhận dạng và hệ thống tay gắp 3 trục
dùng để gắp vật sẽ được trình bày ổ các chương sau.
13
CHƯƠNG 2. NGHIÊN CỨU, TÌM HIỂU DÒNG PLC Q VÀ SERVO MR-J
MITSUBISHI
14
Hình 2.2 Base
Trên Base các module được sử dụng gồm có: module nguồn, module CPU, module
I/O, module điều khiển chuyển động đơn giản (simple motion), các module này có
thể hoán đổi vị trí lắp đặt trên từng ô của Base, trừ module nguồn sẽ được lắp cố
định bên trái của Base.
Module CPU Q03UDE
15
Bảng 2.1 Bảng mô tả chi tiết các bộ phận của CPU Q03UDE
Số thứ
Tên bộ phận Mô tả
tự
1 Lẫy gắn module Dùng để cố định module vào vị trí lắp
2 Mode Led Hiển thị chế độ của CPU
Hiển thị trạng thái của CPU
3 Run Led ON: Run
OFF: Stop
Đèn hiển thị trạng thái lỗi của CPU
Đèn OFF: không có lỗi
4 Err.Led
Đèn ON: đang có lỗi dừng hoạt động
của CPU
Đèn báo hiển thị trạng thái do người
5 User.Led
dùng cài đặt
6 Bat.Led Hiển thị trạng thái pin
Đèn ON: bắt đầu khởi động
7 Boot Led Đèn OFF: không thực hiện thao tác
khởi động
8 Serial number display Mã số của CPU
Memory card efject button Nút bấm để đẩy thẻ nhớ ra khỏi CPU
9
Memory card installing Đầu nối được sử dụng để cài đặt thẻ
10
connector nhớ vào CPU
Đầu nối để kết nối với thiết bị ngoại vi
11 USB connector
tương thích USB.
Đầu nối để kết nối thiết bị ngoại vi bằng
12 RS-232 connector
RS-232
RUN: chương trình đang hoạt động
13 RUN/STOP/RESET STOP: chương trình đã dừng hoạt động
RESET: reset hoạt động của CPU
14 Module fixing crew Lỗ bắt vít định vị
15 Module fixing projection Lẫy định vị module
Chân kết nối với Pin của CPU
16 Battery connector pin
17 Battery Pin
18 Module mounting lever Cần gạt
16
vào từ các nút bấm, công tắc, cảm biến… cũng như gửi dữ liệu logic đầu ra tới các
cơ cấu chấp hành.
Các đầu vào ra có thể chia theo kiểu đầu vào làm 2 loại: đầu vào ra kiểu transistor
(sink/source) hoặc đầu vào ra kiểu relay.
Các loại đầu vào ra chia theo chức năng thành các loại cơ bản sau: vào\ra số, vào\ra
tương tự, vào\ra đặc biệt.
a) Input Module QX41
17
Hình 2.5 Sơ đồ Sơ đồ mạch đầu vào QX41
Địa chỉ các chân của module QX41 được cho trong bảng dưới đây.
Bảng 2.2 Địa chỉ các chân của module QX41
18
Hình 2.6 Output Module QY42P
19
Bảng 2.3 Địa chỉ các chân của module QY42P
Số thứ tự Tên Mô tả
1 Run Led, Error Led Đèn hiển thị trạng thái chạy/dừng
của module
2 Axis Led Đèn hiển thị trạng thái các trục điều
khiển của module
3 Ổ cắm giắc điều khiển Ổ cắm kết nối với bộ điều khiển
động cơ Servo
4 Số Seri Mã của module
Module QD75P2 có thể điều khiển đồng thời 2 động cơ (2 trục tọa độ) chạy độc
lập với nhau. Chi tiết cấu hình phần cứng của module này được cho trong bảng
bên dưới.
Bảng 2.5 Chi tiết cấu hình phần cứng của module QD75P2
Các hàm nội suy Nội suy 2 trục tuyến tính, nội suy 2 trục đường
cong
Các phương pháp điều khiển PTP (điểm – điểm), quỹ đạo đặt trước (tuyến
tính, cung tròn, xoắn ốc), điều khiển tốc độ,
chuyển từ điều khiển tốc độ sang vị trí, chuyển
từ điều khiển vị trí sang tốc độ, điều khiển tốc
độ - mô men.
21
Thời gian 1 đến 8388608 (ms)
tăng giảm tốc
22
Hình 2.10 Tạo Project trên GX Work2
❖ Bước 4: Kết nối với bộ điều khiển PLC và nạp chương trình
Để kết nối với bộ điều khiển PLC Q03UDE cần sử dụng cáp nạp, ở đây chúng em
sử dụng cáp nạp Miniusb để kết nối từ máy tính tới PLC.
23
Hình 2.12 Cáp Miniusb
Để kết nối với bộ điều khiển PLC ta chọn: Connection Destination → Connection1
→ Connection Test.
Sau khi kết nối thành công với bộ điều khiển PLC, chúng ta tiến hành nạp chương
trình bằng cách trên thanh công cụ chọn Write to PLC.
24
Hình 2.14 Nạp chương trình xuống PLC
25
Hình 2.15 Cấu hình của một hệ điều khiển động cơ Servo
Ứng dụng:
- Ứng dụng trong ngành điện - điện tử: Máy lắp là thiết bị lắp các linh
kiện điện tử ví dụ như các chip LSI lên trên bảng mạch, cần tới tốc
độ cao và độ chính xác cao. Các servo AC thỏa mãn yêu cầu này.
- Ứng dụng trong ngành sản xuất: Nhu cầu về quy trình sản xuất chất
lượng cao và an toàn hơn ngày càng tăng, vì vậy, động cơ
servo thường được sử dụng như là giải pháp cho nhiều lĩnh vực, ngay
cả đối với quy trình đòi hỏi độ chính xác cao.
Hình 2.16 Ứng dụng của động cơ Servo xoay chiều trong ngành điện tử
26
Cấu tạo và các thông số cụm động cơ
Đối với cụm động cơ servo HF-KP series quán tính nhỏ có các thông số chính sau:
- Tốc độ trung bình: 3000 vòng/phút.
- Tốc độ lớn nhất: 6000 vòng/phút.
- Tốc độ tức thời cho phép: 6900 vòng/phút.
- Độ phân giải encoder: 262144 xung/vòng.
- Công suất đầu ra: 0.05 – 0.75 kW.
- Dòng điện hoạt động: 0.9 – 5.2 A
- Khối lượng: 0.35 – 2.9 kg
Đối với cụm động cơ servo HG-KR series quán tính nhỏ có các thông số chính
sau:
- Tốc độ trung bình: 3000 vòng/phút.
- Tốc độ lớn nhất: 6000 vòng/phút.
- Tốc độ tức thời cho phép: 6900 vòng/phút.
- Công suất đầu ra: 0.05 – 0.75 kW.
- Dòng điện hoạt động: 0.9 – 4.8 A
- Dòng điện hoạt động: 3.2 – 17 A
- Khối lượng: 0.34 – 2.8 kg
Bộ điều khiển servo tương thích với giao diện truyền thông SSCNET III/H (Servo
System Controller NETwork), đa năng (đầu vào dạng xung nhịp và analog). Tuân
thủ các tiêu chuẩn an toàn.
Động cơ servo xoay chiều với bộ giải mã 4 triệu xung nhịp/vòng, loại 200/400VAC
và các dòng sản phẩm từ 50W đến 22kW mang số series HG-KR/HG-MR/HG-
SR/HG-JR/HG-RR/HG-UR đáp ứng nhu cầu cao trong công nghiệp.
Hình 2.17 Cấu tạo của động cơ Servo xoay chiều đồng bộ
28
- Dòng điện đầu ra: 3-phase 170VAC
- Công suất: 30W
- Loại motor tương thích: HF-MP (053/13), HF-KP (053/13)
- Dòng biến tần servo đa năng, có chức năng điều khiển vị trí, tốc độ
và moment
- Phương pháp điều khiển chế xung PWM và điều chỉnh dòng điện
29
Phương thức điều khiển
Tay máy có thể hoạt động trong hệ tọa độ tuyệt đối hoặc tương đối.
- Hệ tọa độ tuyệt đối là hệ tọa độ dựa theo gốc toạ độ (0,0) nơi mà trục
X và trục Y giao nhau để xác định vị trí của các điểm. Hệ tọa độ
tuyệt đối được sử dụng khi chúng ta biết chính xác giá trị toạ độ X
và Y của điểm so với gốc tọa độ.
- Hệ toạ độ tương đối là hệ tọa độ dựa trên tọa độ của điểm hiện tại để
xác định vị trí của điểm. Hệ tọa độ tương đối được sử dụng khi chúng
ta biết vị trí tương đối của điểm so với điểm hiện tại
2.5.3.1 Điều khiển tuyến tính tuyệt đối một trục
Trong phương thức điều khiển tuyến tính tuyệt đối một trục, điểm sẽ được thực
hiện từ điểm dừng hiện tại, được coi là điểm bắt đầu và điểm kết thúc là điểm khi
động cơ đã thực hiện xong giá trị cài đặt của điểm trong hệ tọa độ tuyệt đối.
Điểm bắt đầu Điểm kết thúc
(Điểm dừng trước đó) (Địa chỉ của điểm)
0 1000 8000
Hình 2.22 Phương thức điều khiển tuyến tính tuyệt đối một trục
0 1000 8000
Hình 2.23 Phương thức điều khiển tuyến tính tương đối một trục
30
CHƯƠNG 3. THIẾT KẾ LẮP RÁP HỆ ĐIỀU KHIỂN TAY GẮP 3 TRỤC
Hình 3.3 Chu trình hoạt động của hệ thống phân loại sản phẩm
Cấu tạo của động cơ thanh trượt gồm 1 thanh trượt và 1 động cơ Servo. Kết nối
truyền động giữa động cơ Servo và thanh trượt qua dây đai hoặc kết nối đồng trục.
32
Hệ thống tay gắp sử dụng 2 xy lanh khí nén để gắp vật, 1 xy lanh khí nén được sử
dụng để di chuyển lên xuống, gắn trên thân xy lanh này là 1 tay kẹp để gắp vật, tay
kẹp này thực chất cũng là một xy lanh khí nén tác động kép. Hai xy lanh khí nén
này được điều khiển bằng 1 van điện từ khí nén được đặt trên 1 tấm nhựa gắn trên
trục của động cơ thanh trượt ngắn.
Trục X
Trục Y
Hình 3.6 Xy lanh khí nén di chuyển lên xuống theo trục Z
Trong hệ thống tay gắp, van điện từ khí nén 5/2 điều khiển cả xy lanh khí nén di
chuyển lên xuống (trục Z) và tay kẹp gắp vật. Điện áp điều khiển van là 24VDC,
được điều khiển bởi PLC.
34
Hình 3.10 Độ dịch chuyển các trục của tay gắp
Để đảm bảo cho tay gắp có thể gắp vật dễ dàng và đủ hành trình để gắp vật, hệ
thống tay gắp sử dụng thanh trượt trục X có độ dịch chuyển cực đại là 400 mm,
thanh trượt trục Y có độ dịch chuyển cực đại là 150 mm để đủ hành trình gắp vật
ở 4 vị trí trên pallet. Trục Z và trục Y được gắn trên thân trục X, trục X được gắn
cố định trên thành của băng tải luôn đảm bảo đủ điều kiện chiều cao để không cản
trở vật khi được băng tải vận chuyển. Xy lanh khí nén di chuyển theo trục Z đã
được lựa chọn để đủ hành trình gắp vật.
Lắp ráp động cơ vào tay gắp
Hình 3.11 Động cơ Servo lắp đồng trục với thanh trượt
35
Trục X được kết nối với động cơ Servo HG-KR23, được nối với thanh trượt vít me
thông qua khớp nối mềm làm nhiệm vụ giảm chấn. Trục X có phạm vị di chuyển
rộng nhất.
Hình 3.12 Động cơ Servo kết nối thanh trượt qua dây đai
Trục Y được kết nối với động cơ Servo HF-KP13, được kết nối với thanh trượt vít
me bằng dây đai.
3.4 Thiết kế sơ đồ điều khiển
36
Thiết kế phần ghép nối các biến tần servo
Hình 3.13 Sơ đồ ghép nối giữa biến tần Servo và module QD75SP2
Các cơ cấu hạn vị cho tay gắp và lắp đặt vào hệ FMS
Hệ thống tay gắp sử dụng 2 cảm biến giới hạn gắn ở 2 đầu của thanh trượt cho mỗi
trục X và trục Y, trục Z không cần cảm biến giới hạn. 2 cảm biến này được đấu
vào tiếp điểm thường đóng, khi trục của thanh trượt di chuyển đến vị trí của cảm
biến này tín hiệu của cảm biến sẽ bị tắt và động cơ dừng.
37
Hình 3.14 Cảm biến giới hạn
Hệ thống tay gắp sử dụng tất cả 4 cảm biến giới hạn, điều này là cần thiết để tránh
hỏng hóc nếu thanh trượt chuyển động quá giới hạn cho phép. Việc lắp đặt cảm
biến giới hạn được thực hiện sau khi đã lắp đặt hoàn chỉnh tay gắp 3 truc (hình 3.9)
mục đích để căn chỉnh vị trí của 2 trục X, Y trong hệ thống đảm bảo vị trí gắp vật
thuận lợi nhất.
Vị trí lắp đặt tay máy nằm ở trạm thứ 3 để gắp vật ngay sau khi vật được nhận
dạng ở trạm thứ 2.
38
CHƯƠNG 4. THIẾT KẾ PHÂN LOẠI SẢN PHẨM BẰNG XỬ LÝ ẢNH
CHO MÔ HÌNH FMS
39
Bảng 4.1 Thông số kỹ thuật của camera Basler
Dựa vào sơ đồ trên, ta dễ dàng nhận thấy việc xử lý ảnh thông qua 5 bước chính:
40
Thu nhận ảnh đầu vào: đây là bước đầu tiên trong quá trình xử lý ảnh. Thực hiện
điều này, ta cần có bộ thu ảnh, bộ thu ảnh ở đây có thể là máy chụp ảnh đơn sắc
hay màu, máy quét ảnh, máy quay... Để lấy ra các bức ảnh cần thiết phục vụ cho
quá trình xử lý ảnh.
Tiền xử lý: ảnh sau khi thu được từ các thiết bị cần được xử lý trước khi đưa vào
phục vụ cho quá trình trích chọn đặc điểm. Quá trình cải thiện về độ tương phản,
khử nhiễu, khôi phục ảnh, nắn chỉnh hình học… Nhằm tăng chất lượng ảnh và
giảm sai số cho việc phân tích bức ảnh sau này.
Trích chọn đặc điểm: bức ảnh thu được bao gồm nhiều vùng và thành phần. Trong
khi đó ta chỉ cần lấy ra những vùng nhất định để xử lý và lấy ra kết quả mong
muốn. Ví dụ: trích ra vùng chứa biển số xe trong một bức ảnh. Điều này làm giúp
cho việc xử lý ảnh được nhanh hơn, loại bỏ những phần dư thừa không cần thiết,
bức ảnh sẽ được thu gọn tối ưu.
Hậu xử lý: sau khi có được ảnh tối ưu cần thiết, ảnh sẽ được qua các quá trình
chuyển đổi.
So sánh, đối chiếu và kết luận: đây là quá trình quan trọng nhất. Ảnh sẽ được so
sánh, đối chiếu với ảnh mẫu trong trường hợp có mẫu so sánh hoặc dùng phương
pháp nội suy đối với trường hợp không có mẫu sẵn để đưa ra kết luận hay một kết
quả nào đó trong bức ảnh đó.
4.4 Mô hình YOLO
Giới thiệu về mô hình YOLO
YOLO (You only look once) là một mô hình mạng CNN (Convolutional Neural
Networks) để nhận diện vật thể (object detection) mà một ưu điểm nổi trội là nhanh
hơn nhiều so với những mô hình cũ. Thậm chí có thể chạy tốt trên những IOT
device như Raspberry Pi.
41
Đầu vào mô hình là một bức ảnh, đối với bài toán object detection, chúng ta không
chỉ phải phân loại được object trên bức ảnh mà còn phải định vị được vị trí của đối
tượng đó. Object Detection có khá nhiều ứng dụng, có thể theo dõi người, nhận
dạng biển số xe, nhận dạng đồ vật, ứng dụng trong các nhà máy.
Có một số hướng tiếp cận để giải quyết vấn đề, đồng thời mỗi lần chạy tốn rất
nhiều thời gian. Các ý tưởng để giải quyết bài toàn object detection:
- Chia ảnh thành nhiều box, mỗi box các bạn sẽ detect object trong
box đó. Vị trí của object chính là tạo độ của box đó.
- Thay vì chia thành từng box, chúng ta sẽ sử dụng một thuật toán để
lựa chọn những region ứng viên (ví dụ như là thuật toán Selective
Search), các vùng ứng viên này các bạn có thể tưởng như là những
vùng liên thông với nhau trên kênh màu RGB, sau đó với mỗi vùng
ứng viên này, chúng ta dùng model để phân loại object. Chúng ta có
một số mô hình xây dựng theo kiểu này như RCNN, Fast RCNN
Rất rõ ràng, nhược điểm của các phương pháp trên là tốn rất nhiều tài nguyên để
tính toán cho mội vùng trên một bức ảnh và do đó không thể chạy realtime trên
các thiết bị yếu.
Chi tiết mô hình
Một trong nhưng ưu điểm mà YOLO đem lại đó là chỉ sử dụng thông tin toàn bộ
bức ảnh một lần và dự đoán toàn bộ object box chứa các đối tượng, mô hình được
xây dựng theo kiểu end-to-end nên được huấn luyện hoàn toàn bằng gradient
descent.
Ảnh được chia thành ma trận ô vuông 7x7, mỗi ô vuông bao gồm một tập các thông
tin mà mô hình phải dữ đoán.
Đối tượng duy nhất mà ô vuông đó chứa. Tâm của đối tượng cần xác định nằm
trong ô vuông nào thì ô vuông đó chứa đối tượng đó. Ví dụ tâm của cô gái nằm
trong ô vuông màu xanh, do đó mô hình phải dự đoán được nhãn của ô vuông đó
là cô gái. Lưu ý, cho dù phần ảnh cô gái có nằm ở ô vuông khác mà tâm không
thuộc ô vuông đó thì vẫn không tính là chứa cô gái, ngoài ra, nếu có nhiều tâm
nằm trong một ô vuông thì chúng ta vẫn chỉ gán một nhãn cho ô vuông đó thôi.
Chính ràng buột mỗi ô vuông chỉ chứa một đối tượng là nhược điểm của mô hình
này. Nó làm cho ta không thể detect những object có tầm nằm cùng một ô vuông.
Tuy nhiên chúng ta có thể tăng grid size từ 7x7 lên kích thước lớn hơn để có thể
detect được nhiều object hơn. Ngoài ra, kích thước của ảnh đầu vào phải là bội số
của grid size.
Mỗi ô vuông chịu trách nhiệm dự đoán 2 boundary box của đối tượng. Mỗi
boundary box dữ đoán có chứa object hay không và thông tin vị trí của boundary
box gồm trung tâm boundary box của đối tượng và chiều dài, rộng của boundary
box đó. Ví vụ ô vuông màu xanh cần dự đoán 2 boundary box chứa cô gái như
hình minh họa ở dưới. Một điều cần lưu ý, lúc cài đặt chúng ta không dự đoán giá
trị pixel mà cần phải chuẩn hóa kích thước ảnh về đoạn từ [0-1] và dự đoán độ lệch
của tâm đối tượng đến box chứa đối tượng đó. Ví dụ, chúng ta thay vì dữ đoán vị
42
trí pixel của điểm màu đỏ, thì cần dự đoán độ lệch a, b trong ô vuông chứa tâm
object.
43
Hình 4.8 Ảnh chụp từ camera
Vị trí 2 Vị trí 3
Vị trí 1 Vị trí 4
44
Hình 4.10 File Text kết quả nhận dạng số
File text xuất ra chứa thông tin có dạng x y (a,b) (c,d) trong đó:
- x là vị trí.
- y là kết quả nhận dạng.
- a, b, c, d lần lượt là tọa độ left, top, right, bottom của hình chữ nhật
vẽ quanh số cần nhận dạng, với trục tọa độ như hình
File text xuất ra sẽ được gửi về giao diện điều khiển trên máy tính, giao diện này
sẽ đọc và gửi tín hiệu là các số đã đọc được về các thanh ghi của PLC để PLC đưa
ra lệnh điều khiển hệ thống.
Trong hình 4.10 ta thấy tại vị trí 1 mô hình nhận dạng đang đọc ra ở vị trí 1 có vật
được dán số 2 và số 3 (đúng là số 2), tại vị trí 2 nhận dạng đúng số 3, điều này cho
thấy mô hình đang sử dụng chưa thực sự chính xác, độ tin cậy chưa cao. Để có thể
nhận diện số chính xác hơn nhóm chúng em đang thực hiện theo phương pháp tăng
số lượng dataset cho mô hình, nhưng cách này chỉ là tạm thời, để tăng được độ
chính xác cần phải có thời gian nghiên cứu và tìm hiểu sâu hơn.
45
CHƯƠNG 5. THIẾT KẾ CHƯƠNG TRÌNH ĐIỀU KHIỂN
46
Begin
S
Chế độ Manual
Đ Tọa độ điểm
Nhập tọa độ
được nhập
điểm
Đ Tốc độ chạy
Nhập tốc độ chạy cho
điểm được nhập
điểm
End
47
Begin
S
Chế độ Manual
S
Chọn trục cần
điều khiển
Đ
S
Nhập tốc độ
S S
S
S
S S
S
Nhập điểm cần
Đ Tay gắp hạ
Hạ tay gắp
chạy xuống
Đ S
End
Hình 5.2 Lưu đồ điều khiển bằng tay cho hệ tay gắp 3 trục
48
Start
Finish Cycle
Hình 5.3 Lưu đồ điều khiển tự động cho tay gắp 3 trục
49
- Chế độ tự động (Auto): Băng tải sẽ chạy, các tấm pallet sẽ được vận
chuyển lần lượt đến các trạm. Trong mô hình này, camera sẽ chụp,
xử lý và phân loại sản phẩm ở vị trí trạm số 2, sau đó sẽ chuyển pallet
đến trạm số 3 để tay máy có thể gắp được. Vị trí trạm 1 và 4 hiện tại
không có nhiệm vụ gì nên khi pallet đến vị trí 2 trạm này stopper sẽ
chỉ thụt xuống để pallet đi qua. Còn ở vị trí trạm 2 và 3, khi pallet
đến và CTHT phát hiện ra pallet thì stopper sẽ thụt xuống, sau khi
tấm pallet vào giữa thì popup sẽ đẩy tấm pallet đi lên, sau khi xong
nhiệm vụ chụp ảnh hay gắp hàng thì popup hạ xuống và pallet sẽ đi
qua trạm này.
- Chế độ điều khiển bằng tay (Manual): chế độ này cho phép điều
khiển tất cả các xy lanh khí nén lên xuống bằng tay.
- Chế độ trở về vị trí ban đầu (Return): chế độ này sẽ đẩy hết stopper
lên và hạ popup ở tất cả các trạm xuống để hệ FMS trở về trạng thái
ban đầu.
b) Lưu đồ chế độ điều khiển:
• Chế độ điều khiển bằng tay (Manual)
50
Begin
S
Chế độ Manual
Đ
Bật băng tải Băng tải chạy
Đ
Tắt băng tải Băng tải dừng
Đ
Stopper đẩy lên Stopper đẩy lên
Stopper hạ Đ Stopper hạ
xuống xuống
Đ
PopUp đẩy lên PopUp đẩy lên
Đ
PopUp hạ xuống PopUp hạ xuống
End
Hình 5.4 Điều khiển bằng tay cho các trạm băng tải
51
Start
S S
Trạm 1 không có Pallet Trạm 1 có Pallet
Đ Đ
S S
Đ Đ
S S
Đ Đ
Finish Cycle
52
Start
S
Trạm 2 không có Pallet Trạm 2 có Pallet
Đ Đ
S S
Đ Đ
S S
CTHT 2.1 Off CB2 On
Đ
Đ S
S
CTHT 2.2 On
S
CTHT 2.2 Off
Finish Cycle
53
Start
S
Trạm 3 không có Pallet Trạm 3 có Pallet
Đ Đ
S S
Đ Đ
S S
CTHT 3.1 Off CB3 On
Đ
Đ S
S
CTHT 3.2 On
S
CTHT 3.2 Off
Finish Cycle
54
Start
S S
Trạm 4 không có Pallet Trạm 4 có Pallet
Đ Đ
S S
Đ Đ
S S
Đ Đ
Finish Cycle
55
Begin
Hoàn thành
Hoàn thành
Đ
Hoàn thành
Đ
End
56
Chương trình điều khiển PLC
Cấu trúc chương trình được chia thành từng chương trình con, gồm các phần như
sau:
- INIT: kết nối các đầu vào của PLC với các biến trung gian để dễ
dàng thay đổi khi phần cứng thay đổi cách đấu dây.
- MANUAL: phần này được chia thành 2 phần riêng biệt là điều khiển
bằng tay (manual) cho tay máy và điều khiển bằng tay cho các trạm
của hệ FMS.
- RETURN (trở về vị trí ban đầu): phần này điều khiển toàn bộ hệ
FMS và tay gắp 3 trục về trạng thái ban đầu trước khi muốn chuyển
máy sang chế độ chạy tự động (Auto).
- ERROR: Phần này sẽ bao gồm các lỗi của hệ thống khi xảy ra sẽ
dừng máy và báo lỗi để xử lý.
- AUTO (chạy tự động): phần này được tách riêng thành 5 cụm riêng
biệt là chạy tự động cho trạm 1, trạm 2, trạm 3, trạm 4 và phần tay
gắp.
- OUTPUT: Phần output này có chia riêng cho output của servo và
output của các trạm trên băng tải. Đầu ra PLC đều được tổng hợp từ
các biến trung gian của các chương trình Manual, Return và Auto.
Các vùng nhớ của chương trình được phân theo hình dưới đây:
57
Bảng 5.2 Địa chỉ đầu vào/ra của PLC
58
hàm thư viện .dll liên kết đến file dữ liệu vừa tạo đồng thời chứa các hàm đọc ghi
dữ liệu có sẵn, có thể tích hợp vào Visual Studio trong quá trình lập trình thiết kế
giao diện điều khiển giám sát. Các phần mềm trong MX Component v4 gồm có:
- Communication Setup Utility : Phần mềm thiết lập kết nối PLC
với máy tính cá nhân, kiểm tra kết nối đã được tạo.
- Label Utility : Phần mềm tạo các bảng label cho các dữ liệu cần
thiết muốn đọc ghi, để tránh không phải dùng đến địa chỉ trực tiếp
khi lập trình trên Visual Studio.
- PLC Monitor Utility : Phần mềm giám sát các dữ liệu được trao
đổi giữa máy tính và PLC
Các bước sử dụng phần mềm Communication Setup Utility:
Bước 1: Click đúp vào biểu tượng trên màn hình hoặc trong Start menu để khởi
động ứng dụng Communication Setup Utility. Màn hình ứng dụng sau khi khởi
động hiện lên như hình 5.11. Trên màn hình hiển thị sẵn tab Target Setting hiển
thị cấu hình kết nối đang được ưu tiên.
Bước 2: Click vào Wizard hoặc Menu/Wizard để tiến hành tạo thiết lập kết nối
mới hoặc chỉnh sửa kết nối đã tạo.
Bước 3: Chọn số thứ tự cho PLC muốn kết nối. Số thứ tự này là cần thiết để trình
quản lý từ máy tính có thể xác định được trạm đang kết nối, các tham số kết nối
như thế nào. Số thứ tự không nhất thiết phải liên tục và có thể chọn từ 0 đến 1023.
59
Hình 5.12 Cửa sổ Communication Setting Wizard
Bước 4: Cấu hình giao thức phía máy tính. Trong phần này ta chọn cổng kết nối
của máy tính là USB, thời gian chờ phản hồi là 10000ms.
Bước 5: Cấu hình tham số truyền thông phía PLC. Trong phần này ta chọn module
cần kết nối là CPU module, lựa chọn kiểu CPU là Q03UDE.
60
Hình 5.14 Cửa sổ Cửa sổ Communication Setting Wizard
Bước 6: Cấu hình một số thông tin về mạng truyền thông chứa CPU được tạo kết
nối. Trong phần này ta sẽ cấu hình thông tin để kết nối với CPU trong một mạng
gồm nhiều trạm kết nối với nhau. Loại trạm được chọn là host. Chế độ nhiều CPU
chọn là None.
Bước 7: Hoàn tất quá trình thiết lập kết nối. Bổ sung comment và click Finish.
61
Hình 5.16 Cửa sổ Communication Setting Wizard
Sau khi thiết lập kết nối mới được hoàn thành, ta có thể vào tab List view để kiểm
tra các kết nối đã được tạo. Cuối cùng, để kiểm tra thiết lập kết nối vừa tạo có
thành công hay không, ta chuyển sang tab Connection test, chọn số thứ tự gán cho
trạm vừa tạo, click vào nút Test để kiểm tra kết nối. Nếu thông báo hiện ra hiển thị
Connection successful, tức là thiết lập kết nối chính xác và thành công.
62
Windows Forms Designer. Đối với công cụ này hỗ trợ nó là một danh sách các
tool thiết kế như button, checkbox, label…hỗ trợ thiết kế giao diện rất tiện lợi.
Để giao diện này có thể điều khiển giám sát hệ thống thông qua bộ điều khiển PLC,
chúng em sử dụng hàm thư viện .dll của phần mềm Communication Setup Utility,
mà trong Toolbox của Visual Studio có tên là MITSUBISHI ActUtlType Control.
Đây là công cụ của Windows form có tích hợp các hàm truyền thông PLC và máy
tính, thực hiện các lệnh đọc ghi cần thiết.
Quy trình thêm ActUtlType vào Windows form được biểu diễn trên hình
Cấu hình kết nối PLC với máy tính và lưu lại
Cài đặt số thứ tự tương ứng với kết nối được tạo
63
Hình 5.19 Giao diện điều khiển
Giao diện thiết kế với đầy đủ các tính năng điều khiển các chế độ của của hệ FMS
và tay gắp.
- Vùng 1: Phần kết nối với PLC. Ô Logical Station No để nhập số thứ
tự kết nối. Có các nút để kết nối và ngắt kết nối với PLC, bên cạnh
đố là các đèn báo tín hiệu của PLC.
- Vùng 2: theo dõi trạng thái của các module điều khiển vị trí
QD75SP2, với các chế độ đọc tín hiệu gửi xuống từ PLC (PLC
Ready), hay đọc tín hiệu phản hồi từ động cơ servo về như servo ON,
Home servo…hay hiển thị trạng thái của chính module này như
Busy, Ready, Error detection.
- Vùng 4: đọc tên của PLC và trạng thái kết nối của giao diện với PLC.
- Vùng 5: hiển thị trạng thái của các trục tay gắp vật.
- Vùng 6: nút dừng và reset lại hệ thống.
- Vùng 3: cửa sổ làm việc chính. Trong cửa sổ này có các chức năng
điều khiển của 3 chế độ điều khiển bằng tay (Manual Mode), chế độ
tự động (Auto) và teaching servo.
64
Hình 5.20 Chế độ điều khiển bằng tay
Chế độ điều khiển bằng tay có thể điều khiển hệ thống gắp 3 trục với các cách điều
khiển:
- Chạy thuận (Forward).
- Chạy nghịch (Reverse).
- Về gốc (Return).
- Chạy điểm (Next Step).
- Kẹp vật (Tool Pickup Clamp), nhả vật (Tool Pickup Unclamp).
- Tay kẹp lên (Tool Pickup Up), xuống (Tool Pickup Down).
Chế độ điều khiển tự động có thể nạp vị trí cho tay gắp, tọa độ gắp vật và hiển thị
ảnh lên giao diện.
65
Hình 5.22 Chế độ Teaching Servo
Chế độ Teaching Servo có thể dùng để đo đặc, thử nghiệm và cài đặt các điểm di
chuyển, điểm gắp và tốc độ cho từng trục của tay gắp. Khi muốn lưu vị trí và tốc
độ chỉ cần nhập vào ô Position và Speed rồi nhấn Save, vị trí và tốc độ sẽ được lưu
trong CPU của PLC. Khi muốn đọc giá trị tốc độ, vị trí đã lưu trong PLC ra thì
nhấn Load.
5.5 Thử nghiệm và đánh giá
Kết quả thử nghiệm cho thấy giao diện điều khiển có thể điều khiển các chế độ
hoạt động của hệ thống tay gắp và hệ FMS một cách hiệu quả, tuy nhiên việc điều
66
khiển nhận dạng vật thông qua giao diện vẫn còn những vấn đề chưa thể khắc phục,
đây sẽ là những vấn đề cần thiết để chúng em nghiên cứu sau này.
5.6 Đề xuất hướng phát triển
Phát triển hệ thống xử lý ảnh, hiện tại chúng em mới chỉ phân loại vật bằng cách
nhận dạng số dán trên vật. hướng phát triển có thể nhận dạng vật qua hình dạng,
kích thước, màu sắc.
Sử dụng hệ thống tay gắp vật bằng robot công nghiệp, có tính linh hoạt cao hơn.
67
CHƯƠNG 6. KẾT LUẬN
68
TÀI LIỆU THAM KHẢO
69
PHỤ LỤC
Vị trí 2 Vị trí 3
Vị trí 1 Vị trí 4
70
Dựa vào file text đã xuất ra sau khi nhân dạng ta thấy ở vị trí số 1 đang nhận dạng
ra 2 số là số 3 và số 2, ở vị trí này số đang được dán trên vật là số 2. Điều này cho
thấy mô hình nhận dạng vẫn chưa thể đạt đến độ chính xác cao, vẫn cần thời gian
nghiên cứu và cải thiện để có thể nhận dạng tốt hơn nữa.
A2. Chương trình chụp ảnh từ camera Basler
# khai báo thư viện
from pypylon import pylon
import cv2
import sys
# đây là phần kết nối với camera
camera=pylon.InstantCamera(pylon.TlFactory.GetInstance().CreateFirstDevice()
)
# Grabing Continusely (video) with minimal delay
camera.StartGrabbing(pylon.GrabStrategy_LatestImageOnly)
converter = pylon.ImageFormatConverter()
# converting to opencv bgr format
converter.OutputPixelFormat = pylon.PixelType_BGR8packed
converter.OutputBitAlignment = pylon.OutputBitAlignment_MsbAligned
while camera.IsGrabbing():
grabResult=camera.RetrieveResult(5000,pylon.TimeoutHandling_ThrowExcepti
on)
if grabResult.GrabSucceeded():
image = converter.Convert(grabResult)
img = image.GetArray()
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imwrite('Images.jpg', img)
break
grabResult.Release()
camera.StopGrabbing()
71