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

Thiết kế và chế tạo robot gắp thức ăn sử dụng xử lý ảnh và tay gắp mềm

127 18 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 127
Dung lượng 5,67 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ngày nay nền kinh tế của nước ta đang trên đà phát triển mạnh mẽ các ngành công nghiệp ngày càng đòi hỏi trình độ khoa học kỹ thuật cao Nhu cầu của nhà sản xuất cũng như nhà tiêu dùng là tăng không ngừng Đây là cơ hội và cũng là thách thức cho ngành cơ điện tử với việc ứng dụng các thành tựu nhân loại để phục vụ nhu cầu xã hội Robot là một ứng dụng thiết thực nhất từ những cỗ máy đơn giản đến phức tạp nhất nó có thể góp mặt vào trong mọi lĩnh vực đời sống sản xuất con người Các robot đã và đang trở thành công cụ lao động thông minh từng bước thay thế con người trong hoạt động sản xuất Nhờ có robot mà năng suất và chất lượng lao động ngày càng được cải thiện và tiệm cận sự hoàn hảo Trong học phần này chúng em thực hiện đề tài Thiết kế và chế tạo robot gắp thức ăn sử dụng xử lý ảnh và tay gắp mềm Với mục tiêu tạo ra một sản phẩm hoạt động linh hoạt và có khả năng ứng dụng thực tế mang lại hiệu quả kinh tế cao Các nhiệm vụ cần thực hiện trong đề tài này bao gồm Xác định phương án thiết kế và thiết kế tay gắp Nghiên cứu và điều khiển robot Xử lý ảnh xác định vật thể kết hợp với lập trình PLC

Trang 1

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA

Người hướng dẫn: TS LÊ HOÀI NAM

Sinh viên thực hiện: NGUYỄN ĐÌNH GIANG

HÀ XUÂN TUẤN

LÊ QUỐC TÍN

Đà Nẵng, 12/2019

Trang 2

NHẬN XÉT ĐỒ ÁN TỐT NGHIỆP

1 Thông tin chung:

2 Lớp: 15CDT1 – 15CDT2

3 Tên đề tài: Thiết kế và chế tạo robot gắp thức ăn sử dụng xử lý ảnh và tay gắp mềm

II Nhận xét, đánh giá đồ án tốt nghiệp:

1 Về tính cấp thiết, tính mới, khả năng ứng dụng của đề tài: (điểm tối đa là 1đ)

1 Điểm đánh giá: …… /10 (lấy đến 1 số lẻ thập phân)

Đà Nẵng, ngày tháng 12 năm 2019

Người hướng dẫn

DUT.LRCC

Trang 3

NHẬN XÉT PHẢN BIỆN ĐỒ ÁN TỐT NGHIỆP

I Thông tin chung:

3 Lớp: 15CDT1 – 15CDT2

4 Tên đề tài: Thiết kế và chế tạo robot gắp thức ăn sử dụng xử lý ảnh và tay gắp mềm

5 Người phản biện: ……….………… Học hàm/ học vị: …………

II Nhận xét, đánh giá đồ án tốt nghiệp: 1 Về tính cấp thiết, tính mới, khả năng ứng dụng của đề tài: ………

………

2 Về kết quả giải quyết các nội dung nhiệm vụ yêu cầu của đồ án: ………

………

3 Về hình thức, cấu trúc, bố cục của đồ án tốt nghiệp: ………

………

4 Đề tài có giá trị khoa học/ có bài báo/ giải quyết vấn đề đặt ra của doanh nghiệp hoặc nhà trường: ………

………

5 Các tồn tại, thiếu sót cần bổ sung, chỉnh sửa: ………

………

………

………

………

………

………

………

DUT.LRCC

Trang 4

1 Sinh viên có phương pháp nghiên cứu phù hợp, giải

quyết đủ nhiệm vụ đồ án được giao 70

1a

- Tính mới (nội dung chính của ĐATN có những phần mới

so với các ĐATN trước đây)

- Đề tài có giá trị khoa học, công nghệ; có thể ứng dụng thực

tiễn

10

1b

- Kỹ năng giải quyết vấn đề; hiểu, vận dụng được kiến thức

cơ bản, cơ sở, chuyên ngành trong vấn đề nghiên cứu

- Chất lượng nội dung ĐATN (thuyết minh, bản vẽ, chương

trình, mô hình,…)

50

1c

- Có kỹ năng vận dụng thành thạo phần mềm ứng dụng trong

vấn đề nghiên cứu (thể hiện qua kết quả tính toán bằng

phần mềm);

- Có kỹ năng sử dụng tài liệu tiếng nước ngoài liên quan vấn

đề nghiên cứu (thể hiện qua các tài liệu tham khảo);

- Có kỹ năng làm việc nhóm (đánh giá đối với đề tài do

nhóm SV thực hiện);

10

3 Tổng điểm đánh giá theo thang 100:

Quy về thang 10 (lấy đến 1 số lẻ)

- Câu hỏi đề nghị sinh viên trả lời trong buổi bảo vệ: ………

………

………

………

………

………

Đà Nẵng, ngày tháng 12 năm 2019

Người phản biện

DUT.LRCC

Trang 5

TÓM TẮT

Tên đề tài: Thiết kế và chế tạo robot gắp thức ăn sử dụng xử lý ảnh và tay gắp mềm

lý ảnh phân biệt các loại thức ăn với nhau kết hợp lắp đặt và vận hành cánh tay robot 3 bậc tự do để có thể gắp các loại thức ăn vào khay theo đúng vị trí và hướng yêu cầu; Tích hợp cảm biến vào tay gắp mềm, áp dụng phương pháp data-driven trong việc dự đoán và điều khiển tay gắp mềm

DUT.LRCC

Trang 6

1 Tên đề tài đồ án:

Thiết kế và chế tạo robot gắp thức ăn sử dụng xử lý ảnh và tay gắp mềm

2 Đề tài thuộc diện: ☐ Có ký kết thỏa thuận sở hữu trí tuệ đối với kết quả thực hiện

3 Các số liệu và dữ liệu ban đầu:

• Các số liệu yêu cầu về phạm vi hoạt động, tốc độ, chu kỳ của robot theo yêu cầu của công ty Maruyasu Kikai

• Kích thước thông số các bộ phận công ty Maruyasu Kikai cung cấp

• Các vật liệu: Nhôm định hình, inox, thép

4 Nội dung các phần thuyết minh và tính toán:

a Phần chung:

Chương 2: Hệ thống Robot gắp thức ăn

Data-driven cho tay gắp mềm

5 Các bản vẽ, đồ thị ( ghi rõ các loại và kích thước bản vẽ ):

a Phần chung:

DUT.LRCC

Trang 7

1 Hà Xuân Tuấn Bản vẽ tổng quan hệ thống và phần gá truyền động

(1A0) Bản vẽ các thành phần trong hệ thống (1A0)

b Phần riêng:

Bản vẽ tay gắp và đồ gá tay gắp (1A0)

6 Họ tên người hướng dẫn: TS Lê Hoài Nam

Đà Nẵng, ngày tháng 12 năm 2019

DUT.LRCC

Trang 8

Ngày nay, nền kinh tế của nước ta đang trên đà phát triển mạnh mẽ, các ngành công nghiệp ngày càng đòi hỏi trình độ khoa học kỹ thuật cao Việc cung cấp của nhà sản xuất cũng như nhu cầu của người tiêu dùng tăng lên đáng kể Đây là cơ hội và thách thức cho nền công nghiệp nói chung, ngành cơ điện tử nói riêng, với việc ứng dụng các thành tựu khoa học kỹ thuật của nhân loại để phục vụ nhu cầu đời sống xã hội

Robot là một ứng dụng tiêu biểu, đang ngày một trở nên hiện đại hơn, trở thành công cụ lao động thông minh, từng bước thay thế con người trong hoạt động sản xuất Nhờ có robot mà năng suất và chất lượng lao động ngày càng được cải thiện và tiệm cận

sự hoàn hảo Trong học phần này, chúng em thực hiện đề tài: Thiết kế và chế tạo robot gắp thức ăn sử dụng xử lý ảnh và tay gắp mềm Với mục tiêu tạo ra một sản phẩm hoạt

động linh hoạt và có khả năng ứng dụng thực tế mang lại hiệu quả kinh tế cao Các nhiệm vụ cần thực hiện trong đề tài này bao gồm:

• Xác định phương án thiết kế và thiết kế tay gắp mới

• Xử lý ảnh xác định vật thể kết hợp với lập trình PLC

• Tích hợp cảm biến, dự đoán và điều khiển tay gắp mềm

Để đồ án này đạt kết quả tốt đẹp, chúng em đã nhận được sự hỗ trợ, giúp đỡ của công ty Sunfield Vietnam và công ty Maruyasu Kikai – Nhật Bản Với tình cảm sâu sắc cho phép chúng em được bày tỏ lòng biết ơn đến quý công ty đã tạo điều kiện giúp đỡ trong suốt quá trình học tập và nghiên cứu đề tài Với sự quan tâm, chỉ dạy và truyền đạt kiến thức, chúng em xin gửi tới các thầy Khoa Cơ khí trường Đại học Bách Khoa Đại học Đà Nẵng lời cảm ơn sâu sắc và lời chúc sức khỏe

Đặc biệt chúng em chân thành cảm ơn thầy giáo – TS Lê Hoài Nam đã quan tâm

giúp đỡ, hướng dẫn hoàn thành tốt đề tài này trong thời gian qua Ngoài ra, không thể

không nhắc tới sự hỗ trợ, truyền đạt kinh nghiệm của các thành viên trong nhóm Aiméka

và các anh khóa 14CDT

Tuy nhiên, do kiến thức và kinh nghiệm còn nhiều hạn chế nên khó tránh khỏi những thiếu sót Chúng em rất mong nhận được sự thông cảm và đóng góp ý kiến của các thầy và các bạn sinh viên để đồ án của chúng tôi được hoàn chỉnh hơn Xin chân thành cảm ơn

Trang 9

ii

CAM ĐOAN

Chúng tôi xin cam đoan số liệu và kết quả nghiên cứu trong đồ án này là trung thực và chưa hề được sử dụng để bảo vệ đồ án hoặc học vị nào khác Mọi sự giúp đỡ cho việc thực hiện đồ án này đã được cảm ơn và các thông tin trích dẫn trong đồ án đã được chỉ rõ nguồn gốc và được phép công bố

Sinh viên thực hiện

Lê Quốc Tín Nguyễn Đình Giang Hà Xuân Tuấn

DUT.LRCC

Trang 10

Tóm tắt

Nhiệm vụ đồ án

Lời nói đầu i

Cam đoan ii

Mục lục iii

Danh sách các bảng biểu, hình vẽ và sơ đồ v

Danh sách các cụm từ viết tắt vii

Trang Chương 1: TỔNG QUAN 1

Chương 2: HỆ THỐNG ROBOT GẮP THỨC ĂN 3

2.1.1 Tổng quan 3

2.1.2 Sơ đồ khối hệ thống 4

2.1.3 Hệ thống thực tế 5

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

2.2.2 Quy trình xử lý ảnh 6

Chương 3: QUÁ TRÌNH XỬ LÝ ẢNH 9

3.1.1 Điểm ảnh 9

3.1.2 Độ phân giải ảnh 9

3.1.3 Mức xám của ảnh 9

3.1.4 Cấu trúc lưu dữ liệu 9

3.2.1 Thiết bị phần cứng: camera xử lý ảnh 10

DUT.LRCC

Trang 11

iv

3.2.3 EmguCV/OpenCV 14

3.3.1 Giới thiệu về MX Component 15

3.3.2 Cài đặt kết nối 16

3.3.3 Chương trình nhận và gửi dữ liệu 18

Chương 4: HỆ THỐNG TRUYỀN ĐỘNG 27

4.2.1 Cấu trúc và kết nối 28

4.2.2 Phần mềm PC Interface Software for RCEC 30

4.3.1 Giới thiệu về động cơ bước 32

4.3.2 Cấu tạo và nguyên lý hoạt động của động cơ bước 32

4.4.1 Bộ điều khiển lập trình PLC 33

4.4.2 Module CC-Link FX3U-16CCL-M 37

4.5.1 Lập trình cơ cấu thanh trượt 40

4.5.2 Lập trình điều khiển động cơ bước 44

Chương 5: TÍCH HỢP CẢM BIẾN VÀ PHƯƠNG PHÁP DATA-DRIVEN TRONG VIỆC DỰ ĐOÁN VÀ ĐIỀU KHIỂN TAY GẮP MỀM 46

5.1.1 Tay gắp mềm kiểu xếp li 46

Nguyên lý hoạt động 47

5.2.1 Đặt vấn đề: 48

5.2.2 Tích hợp cảm biến 48

DUT.LRCC

Trang 12

5.4.1 Sơ đồ khối điều khiển 55

Chương 6: TAY GẮP MỀM 58

6.2.1 Vấn đề khi sử dụng tay gắp cũ cho bài toán mới 58

6.2.2 Cải tiến tay gắp cũ 59

6.2.3 Nguyên lý hoạt động của tay gắp mới 61

6.3.1 Các thông số hình học 62

6.3.2 Vật liệu và mô phỏng 65

6.3.3 Thiết kế hoàn thiện 67

6.4.1 Thiết kế khuôn 67

6.4.2 Quá trình đúc 68

KẾT LUẬN 71

TÀI LIỆU THAM KHẢO 72

PHỤ LỤC 1 1

PHỤ LỤC 2 28

PHỤ LỤC 3 38

DUT.LRCC

Trang 13

vi

BẢNG 4.1 So sánh giữa PLC và Rơ-le 34

BẢNG 4.2: So sánh các phương pháp truyền dữ liệu của CC-Link 37

BẢNG 6.1: Các thông số hình học của tay gắp mềm 63

BẢNG 6.2: Các thông số hình học của tay gắp mềm nhóm thực hiện 67

HÌNH 1.1 Kích thước khay và các loại thức ăn khác nhau 2

HÌNH 2.1 Sơ đồ tổng quan của hệ thống 3

HÌNH 2.2 Sơ đồ khối hệ thống 4

HÌNH 2.3 Hệ thống thực tế 5

HÌNH 2.4 Các giai đoạn chính trong quá trình xử lý ảnh 6

HÌNH 2.5 Sơ đồ động của hệ thống 7

HÌNH 3.1 Camera Logitech HD c720 10

HÌNH 3.2 Giao diện Visual Studio 11

HÌNH 3.3 Giao diện làm việc của Visual Studio 12

HÌNH 3.4 Cách bật các cửa sổ bị ẩn trong Visual Studio 13

HÌNH 3.5 Giao diện làm việc của chương trình xử lý ảnh 13

HÌNH 3.6 Giao diện Communication Setup Utility 15

HÌNH 3.7 Nhập số trạm 16

HÌNH 3.8 Chọn phương thức kết nối 16

HÌNH 3.9 Chọn loại CPU sử dụng 17

HÌNH 3.10 Chọn loại trạm 17

HÌNH 3.11 Ghi chú và kết thúc 18

HÌNH 3.12 Lưu đồ thuật toán lập trình xử lý ảnh 19

HÌNH 3.13 Không gian màu HSV 23

HÌNH 3.14 Ví dụ cho giãn nở và co ảnh 24

HÌNH 3.15 Ví dụ về xác định hình chữ nhật xoay trong EmguCV 26

HÌNH 3.16 Phân tích vật thể bằng phương pháp SURF 26

HÌNH 4.1 Cấu tạo cơ cấu truyền động 27

HÌNH 4.2: Mode Number của cơ cấu truyền động 27

HÌNH 4.3 Cấu trúc PCON-CB 28

HÌNH 4.4 Sơ đồ đấu nối các thiết bị cơ bản 29

HÌNH 4.5 Trường hợp không sử dụng EMG- (dừng khẩn cấp) 29

HÌNH 4.6 Trường hợp có sử dụng EMG- (dừng khẩn cấp) 30

DUT.LRCC

Trang 14

HÌNH 4.8 Chọn chế độ hoạt động 30

HÌNH 4.9 Thiết lập Parameter cho cơ cấu truyền động 31

HÌNH 4.10 Thiết lập Position cho cơ cấu truyền động 31

HÌNH 4.11 Động cơ bước 32

HÌNH 4.12 Cấu tạo của động cơ bước 33

HÌNH 4.13 Nguyên lý hoạt động của động cơ bước 33

HÌNH 4.14 PLC Mitsubishi FX3G-60M 35

HÌNH 4.15 Cấu trúc bộ điều khiển lập trình PLC 35

HÌNH 4.16 Hoạt động của PLC 36

HÌNH 4.17 Module CC-Link FX3U-16CCL-M 37

HÌNH 4.18 Tối ưu hệ thống với CC-Link 38

HÌNH 4.19 Liên kết dữ kiệu giữa các trạm trong hệ thống CC-Link 39

HÌNH 4.20 Kiểu nối dây CC-Link 39

HÌNH 4.21 Minh họa quá trình truyền dữ liệu 40

HÌNH 4.22 Các thanh ghi được cấp phát 41

HÌNH 4.23 Vị trí địa chỉ các thanh ghi 41

HÌNH 4.24 Hai cấu trúc đọc và ghi từ Buffer Memory 42

HÌNH 4.25 Khối khởi động PLC 43

HÌNH 4.26 Khối nạp vị trí PCx 43

HÌNH 4.27 Khối về “Home” 43

HÌNH 4.28 Khối bật tắt bit CSTR 43

HÌNH 4.29 Khối đọc giá trị các thanh ghi 44

HÌNH 4.30 Tạo xung điều khiển động cơ bước 44

HÌNH 4.31 Lưu đồ thuật toán lập trình PLC kết hợp xử lí ảnh 45

HÌNH 5.1 Mẫu tay gắp mềm đầu tiên của Suzumori 46

HÌNH 5.2 Thử nghiệm gắp vật 47

HÌNH 5.3 Nguyên lý hoạt động của tay gắp mềm 48

HÌNH 5.4 Hình dạng của cảm biến FRS402 48

HÌNH 5.5 Biểu đồ thể hiện mối quan hệ giữa điện trở và cảm biến lực FSR402 49

HÌNH 5.6 Cầu phân áp và đường cong biển diễn quan hệ giữa lực và điện áp đầu ra tương ứng với giá trị điện trở kéo khác nhau 50

HÌNH 5.7 Cảm biến độ cong FSL0055253ST của hãng Spectra Symbol 50

HÌNH 5.8 Cảm biến áp suất MPXH6400A 51

HÌNH 5.9 Mạch lọc điện áp đầu ra 52

HÌNH 5.10 Biểu đồ quan hệ giữa điện áp đầu ra và áp suất đo được 52

DUT.LRCC

Trang 15

viii

HÌNH 5.12 Khuôn đúc tay gắp mềm 54

HÌNH 5.13 Các bước chế tạo tay gắp mềm tích hợp cảm biế 55

HÌNH 5.14 Sơ đồ khối hệ thống khí nén 57

HÌNH 5.15 Khả năng co, duỗi thực tế của tay gắp 57

HÌNH 5.16 Khả năng co, duỗi thực tế của tay gắp 57

HÌNH 6.1 Khay đặt thức ăn trong bài toán 58

HÌNH 6.2 Phiên bản tay gắp thử nghiệm 1 59

HÌNH 6.3 Phiên bản tay gắp thử nghiệm 2 60

HÌNH 6.4 Phiên bản tay gắp thử nghiệm 3 60

HÌNH 6.5 Phiên bản thử nghiệm 4 61

HÌNH 6.6 Thiết kế mô hình tay gắp mới 62

HÌNH 6.7 Các đặc trưng hình học của tay gắp mới 63

HÌNH 6.8 Mô phỏng tay gắp mới trong Abaqus 66

HÌNH 6.9: Thiết kế khuôn để đúc silicone 67

HÌNH 6.10 Các vật dụng cơ bản dùng để chế tạo tay gắp mềm 68

HÌNH 6.11 Các bước cơ bản của quá trình đúc tay gắp mềm 69

HÌNH 6.12 Sơ đồ khối hệ thống khí nén 69

DUT.LRCC

Trang 16

CHỮ VIẾT TẮT:

• ACC – Acceleration

• BCM – Broadcom

• BKLS – Brake Release

• CGA – Color Graphic Adaptor

• CPU – Central Processing Unit

• HSV – Hue, Saturation, Value

• I2C – Inter-Integrated Circuit

• IP – Internet Protocol

• MISO – Master Out Slave Out

• MOSI – Master Out Slave In

• RAM – Random Access Memory

• RCEC – Robo Cylinder

• RGB – Red Green Blue

• RPi – Raspberry Pi

• SDA – Serial Data

• SIO – Serial Input/Output

• SPI – Service Provider Interface

• TXD – Transmit Data

• UART – Universal Asynchronous Receiver-Transmitter

• USB - Universal Serial Bus

• XLA – Xử lý ảnh

DUT.LRCC

Trang 17

Chương 1: TỔNG QUAN

1.1 Đặt vấn đề

Hầu hết chúng ta đều biết, con người Nhật Bản có một tính cách rất nổi bật đó là

họ luôn tỉ mỉ, chỉnh chu trong tất cả những việc họ làm và một trong những sản phẩm đặc trưng cho tính cách đó chính là cơm hộp ăn trưa (bento) bởi sự cầu kì, tinh tế và nghệ thuật của nó Cơm hộp được sử dụng rất thường xuyên trong các bữa ăn trưa của người Nhật Những hộp cơm có nhiều màu sắc và được tạo hình đa dạng dưới bàn tay khéo léo của những người nội trợ đảm đang Cơm hộp ban đầu xuất phát từ những hộp cơm trưa mà các bà mẹ chuẩn bị cho con mình mang theo để ăn trên trường Nhưng các

em nhỏ thường rất kén ăn do đó những bà mẹ đã có sáng kiến đó là tạo hình đẹp mắt cho hộp cơm bằng cách tỉa gọt và trang trí các món ăn nhằm kích thích sự tò mò, thích thú và khiến các em ngoài ăn cơm, thịt ra thì còn ăn thêm các loại rau củ nhờ màu sắc hấp dẫn và tạo cảm giác ngon miệng Dần dần về sau, cơm hộp ăn trưa không chỉ là sản phẩm thể hiện tình yêu và sự quan tâm của các bà mẹ đến con cái mình mà đã phát triển lên thành một nét văn hóa riêng, một sản phẩm đặc trưng của người Nhật Bản

Ngày nay, cùng với nhịp sống ngày càng nhanh, nhu cầu tiêu thụ cơm hộp chế biến sẵn cũng tăng theo Đòi hỏi các doanh nghiệp sản xuất phải nâng cao năng suất Điều này đồng nghĩa với việc họ phải cố gắng tự động hóa được hết tất cả các khâu trong quá trình sản xuất cơm hộp Tuy nhiên họ lại gặp một vấn đề đau đầu tại khâu đóng gói thức

ăn vào hộp đó là: Làm thế nào để di chuyển những loại thức ăn cầu kì, đa dạng như vậy vào trong các hộp đựng mà vẫn đảm bảo được tính thẩm mĩ và an toàn vệ sinh? Chính

vì vậy, công ty Sunfield Vietnam và công ty Maruyasu Kikai – Nhật Bản đã đưa ra một yêu cầu và cũng là đề tài của đồ án này để giải quyết vấn đề trên

1.2 Bài toán đặt ra

Công ty đặt ra bài toán là thiết kế một hệ thống robot được tích hợp tay gắp có thể gắp được nhiều loại thức ăn đa dạng với những yêu cầu cụ thể như sau:

• Thức ăn được gắp có độ cứng, hình dạng, kích thước và khối lượng khác nhau

• Thức ăn không bị hư, trầy, biến dạng hoặc rơi rớt trong quá trình gắp

• Việc thiết kế tập trung chủ yếu ở phần thiết kế ý tưởng tay gắp với ràng buộc

là không được sử dụng hơi để hút trực tiếp thức ăn

• Gắp thức ăn vào khay theo đúng hướng, vị trí yêu cầu

DUT.LRCC

Trang 18

Để giải quyết các vấn đề đặt ra ở trên, nhóm tác giả đã quyết định lựa chọn phương

án là Tay gắp mềm (Soft gripper) với vật liệu là silicon để nghiên cứu và chế tạo Đây

là lĩnh vực rất mới và đang được quan tâm, nghiên cứu nhiều trên thế giới trong những năm gần đây bởi ưu điểm vượt trội của nó so với các cơ cấu truyền thống như cơ cấu gắp cơ khí, cơ cấu hút… Ngoài ra, hệ thống còn được tích hợp thêm camera xử lý ảnh

để robot có thể nhận biết và gắp thức ăn vào đúng vị trí của từng loại trong khay Kích thước khay và các loại thức ăn được mô tả dưới Hình 1.1

Hình 1.1 Kích thước khay và các loại thức ăn khác nhau

DUT.LRCC

Trang 19

Chương 2: HỆ THỐNG ROBOT GẮP THỨC ĂN

2.1 Mô hình hóa hệ thống

2.1.1 Tổng quan

Hình 2.1 Sơ đồ tổng quan của hệ thống

Hệ thống robot gắp thức ăn là tập hợp của nhiều hệ thống thành phần khác như:

Hệ thống cơ khí, hệ thống khí nén, hệ thống điện, hệ thống điều khiển Các hệ thống riêng biệt này được thiết kế để kết nối với nhau nhằm tạo ra một hệ thống hoàn chỉnh, đảm bảo thực hiện tốt nhiệm vụ đặt ra của đề tài

Hệ thống sau khi hoàn chỉnh có thể hoạt động theo chế độ xử lý ảnh động: Một camera sẽ liên tục hoạt động để thu hình ảnh về cho chương trình xử lý ảnh Nếu chương trình xác định được một loại thức ăn nằm trong vùng gắp, nó sẽ gửi dữ liệu nhận được như vị trí gắp và góc gắp cho robot để robot có thể thực hiện việc gắp thức ăn đó vào đúng vị trí trong khay Trong trường hợp không có thức ăn trong vùng gắp, robot sẽ ở chế độ chờ

DUT.LRCC

Trang 20

2.1.2 Sơ đồ khối hệ thống

Hình 2.2 Sơ đồ khối hệ thống

Sơ đồ hệ thống gồm có 4 khối chính:

• Khối nguồn

• Khối điều khiển

• Khối cơ cấu chấp hành

• Khối xử lý ảnh

Hình 2.2 thể hiện sơ đồ khối của hệ thống Theo đó, hệ thống hoạt động như sau: Camera sau khi chụp ảnh sẽ gửi dữ liệu ảnh về cho Máy tính chạy chương trình xử lý ảnh Máy tính sau khi xử lý và phân biệt được các loại thức ăn xong sẽ gửi dữ liệu các loại thức ăn nhận diện được đến PLC Tại đây, PLC sẽ điều khiển cánh tay robot 2 bậc

tự do (2 Robo cylinder) và động cơ bước thông qua các bộ điều khiển động cơ Tay gắp mềm hoạt động thông qua hệ thống khí nén để thực hiện việc gắp và thả thức ăn đến đúng vị trí và góc xoay của nó của nó Các số liệu về vị trí, vận tốc và gia tốc của cánh tay robot sẽ được cài đặt trước vào bộ điều khiển bằng phần mềm dạy học trên máy tính

Để cho hệ thống hoạt động thì ta cần cấp nguồn 220VAC cho PLC, nguồn 24V cho bộ điều khiển động cơ

DUT.LRCC

Trang 21

là một lĩnh vực của tin học ứng dụng, nó bao gồm các phương pháp và kỹ thuật biến đổi, để truyền tải hoặc mã hoá các ảnh tự nhiên

Mục đích của xử lý ảnh gồm:

• Biến đổi ảnh làm tăng chất lượng ảnh

• Sử dụng nội dung ảnh sau xử lí cho một ứng dụng cụ thể

DUT.LRCC

Trang 22

bị thu nhận ảnh sẽ phụ thuộc vào đặc tính của các đối tượng cần xử lý Các thông số quan trọng ở khâu thu nhận này là độ phân giải, chất lượng màu, dung lượng bộ nhớ và tốc độ thu nhận ảnh của các thiết bị Trong đề tài này, nhóm tác giả sử dụng camera

Logitech 720 có độ phân giải 1280x720pi

2.2.2.2 Tiền xử lý

Ở bước này, ảnh sẽ được cải thiện về độ tương phản, khử nhiễu, khử bóng, khử

độ lệch với mục đích làm cho chất lượng ảnh trở lên tốt hơn nữa, chuẩn bị cho các bước

xử lý phức tạp hơn về sau trong quá trình XLA Quá trình này thường được thực hiện

bởi các bộ lọc

2.2.2.3 Phân đoạn

Phân đoạn ảnh là bước then chốt trong XLA Giai đoạn này phân tích ảnh thành những thành phần có cùng tính chất bất kỳ dựa theo biên hay các vùng liên thông Tiêu chuẩn để xác định các vùng liên thông có thể là cùng màu, cùng độ xám Mục đích của phân đoạn ảnh là để có một bản miêu tả tổng hợp về nhiều phần tử khác nhau cấu tạo nên ảnh thô Vì lượng thông tin chứa trong ảnh rất lớn, trong khi đa số các ứng dụng chúng ta chỉ cần trích một vài đặc trưng nào đó, do vậy cần có một quá trình để giảm lượng thông tin khổng lồ đó Quá trình này bao gồm phân vùng ảnh và trích chọn đặc tính chủ yếu

DUT.LRCC

Trang 23

Biểu diễn dạng vùng lại thích hợp cho những ứng dụng khai thác các tính chất bên trong của đối tượng, ví dụ như cấu trúc xương của nó Sự chọn lựa cách biểu diễn thích hợp cho một vùng ảnh chỉ mới là một phần trong việc chuyển dổi dữ liệu ảnh thô sang một

dạng thích hợp hơn cho các xử lý về sau

2.2.2.5 Nhận dạng và phân tích

Ðây là bước cuối cùng trong quá trình XLA Nhận dạng ảnh có thể được nhìn nhận một cách đơn giản là việc dán nhãn cho các đối tượng trong ảnh Ví dụ đối với nhận dạng hình dáng sản phẩm, sau xử lý ảnh ta phân loại các đối tượng có trong ảnh thành

ở hình dạng như thế nào và dán cho nó một nhãn nhất định

Chúng ta cũng có thể thấy rằng, không phải bất kỳ một ứng dụng XLA nào cũng bắt buộc phải tuân theo tất cả các bước xử lý đã nêu ở trên, ví dụ như các ứng dụng chỉnh sửa ảnh nghệ thuật chỉ dừng lại ở bước tiền xử lý Tùy theo ngôn ngữ và phần mềm mà người lập trình lựa chọn thì cách tiếp cận với từng công đoạn sẽ có độ khó dễ khác nhau Một cách tổng quát thì những chức năng xử lý bao gồm cả nhận dạng và giải thích thường chỉ có mặt trong hệ thống phân tích ảnh tự động hoặc bán tự động, được dùng để rút trích ra những thông tin quan trọng từ ảnh, ví dụ như các ứng dụng nhận dạng ký tự quang học, nhận dạng chữ viết tay…

2.3 Cơ cấu chấp hành

Hình 2.5 Sơ đồ động của hệ thống

Dựa vào sơ đồ động, ta xác định được hệ thống bao gồm ba cơ cấu chấp hành được điều khiển độc lập với nhau Và ba cơ cấu này hoạt động phụ thuộc lẫn nhau để vận hành toàn bộ hệ thống

DUT.LRCC

Trang 24

Cơ cấu chấp hành thứ nhất là cánh tay robot Đây là robot hai bậc tự do, bao gồm

hai trục chính (bao gồm động cơ, trục truyền động, encoder…), hai bộ điều khiển công suất (PCON-CB/CFB), phần mềm điều khiển (PC Interface Software for RCEC) Được điều khiển bởi PLC Mitsubishi thông qua module CC-link

Cơ cấu chấp hành thứ hai là cơ cấu xoay Nó bao gồm một động cơ bước, một bộ điều khiển ST-6600 Nó được điều khiển trực tiếp bằng xung phát từ PLC

Cơ cấu chấp hành thứ ba là tay gắp Cũng được điều khiển bởi PLC qua hệ thống khí nén, có kết hợp xử lý ảnh được lập trình bằng ngôn ngữ C# trên nền soạn thảo Visual Studio, có áp dụng thư viện thị giác máy tính EmguCV Với đề tài này, tay gắp được thiết kế để giải quyết nhiều vấn đề khó khăn như: sản phẩm thao tác là thức ăn có hình dạng kích thước không cố định, đảm bảo sản phẩm không bị hư hại trong quá trình vận hành hệ thống…Do vậy tay gắp này mang nhiều đặc tính riêng như:

• Gắp được vật có nhiều hình dạng kích thước khác nhau

• Cơ cấu nhẹ, mềm dẻo không gây ảnh hưởng cơ học tới sản phẩm

• Hoạt động được ở tốc độ cao và không ảnh hưởng tới kết quả toàn hệ thống

• Công nghệ hiện đại, mới mẻ, không sinh phế phẩm và an toàn với môi trường

DUT.LRCC

Trang 25

gần như ảnh thật Mỗi phần tử trong ma trận được gọi là một phần tử ảnh

Ví dụ: Độ phân giải của ảnh trên màn hình CGA (Color Graphic Adaptor) là một lưới điểm theo chiều ngang màn hình: 320 điểm chiều dọc * 200 điểm ảnh (320*200)

Rõ ràng, cùng màn hình CGA 12” ta nhận thấy mịn hơn màn hình CGA 17” độ phân giải 320*200 Lý do: cùng một mật độ (độ phân giải) nhưng diện tích màn hình rộng

hơn thì độ mịn (liên tục của các điểm) kém hơn

3.1.3 Mức xám của ảnh

Một điểm ảnh (pixel) có 2 đặc trưng cơ bản đó là vị trí (x, y) của điểm ảnh và độ xám của nó Và mức xám của một điểm ảnh là cường độ sáng của nó gắn với một trị số nhất định tại điểm đó Có nhiều thang biểu thị mức xám như 16, 32, 64, 128, 256,… Mức 256 được sử dụng phổ biến (kỹ thuật máy tính dung 1 Byte để biểu diễn mức xám,

có 28 = 256 mức, tức là từ 0 255)

3.1.4 Cấu trúc lưu dữ liệu

Dữ liệu được lưu trữ theo cấu trúc mảng (tập có thự tự gồm các phần tử số thực hoặc phức) Ảnh cũng được lưu trữ bởi các mảng phần tử với các dữ liệu lưu trữ có thể

là màu cường độ của ảnh Hầu hết các ảnh được lưu trữ dưới dạng các mảng 2 chiều (ví dụ: ma trận) Trong các mảng 2 chiều này, mỗi phần tử tương ứng với một pixel và thường được biểu diễn bởi một điểm trên màng hình mày tính (ví dụ: một bức ảnh có

500 hàng và 700 cột gồm nhiều điểm màu khác nhau được lưu trữ bởi một ma trận kích thước 500x700) Một bức ảnh như ảnh màu đòi hỏi phải được lưu trữ bởi mảng ba chiều Trong đó mặt phẳng thứ nhất trong mảng ba chiều này biểu diễn cho cường độ màu đỏ

DUT.LRCC

Trang 26

(red) của phần tử, mặt phẳng thứ hai biểu diễn cho cường độ màu xanh lá cây (green)

và mặt phẳng còn lại biểu diễn cho cường độ màu xanh da trời (blue) của phần tử Với việc lưu trữ các ảnh dưới dạng mảng, việc xử lý ảnh với dữ liệu được lưu bởi dạng ma trận nào được thực hiện rất thuận tiện

• Line scan camera, thích hợp cho các ứng dụng cần cả tốc độ cao và chất lượng hình ảnh cao Loại camera này không theo dõi toàn bộ ảnh mà đánh giá ảnh chính xác theo từng dòng Thường được sử dụng trong quá trình kiểm tra chất lượng hàng hóa và quy trình phân loại

• Network camera, thường được sử dụng để giám sát với chất lượng hình ảnh vượt trội và hiệu suất mạnh mẽ trong môi trường ánh sáng thấp

Một hệ thống xử lý ảnh tốt cần một camera tốt, đồng thời tùy vào mục đích sử dụng cũng như yêu cầu của ứng dụng mà lựa chọn camera phù hợp Các tiêu chí căn cứ

để lựa chọn một camera cho xử lý ảnh gồm: điện năng tiêu thụ, độ phân giải, loại cảm biến được sử dụng trong máy ảnh, chuẩn giao tiếp, loại Camera đơn sắc hay màu … Trong khuôn khổ đề tài này, nhiệm vụ xử lý ảnh không quá phức tạp nên nhóm tác

giả sử dụng Camera Logitech HDc270h Với các thông số kỹ thuật chính như sau:

• Độ phân giải 1280 x 720 pixel

• Chuẩn giao tiếp USB2.0

• Loại Camera màu

• Tốc độ khung hình 30 fps

DUT.LRCC

Trang 27

3.2.2 Visual Studio

3.2.2.1 Hiểu biết chung về Visual Studio

Microsoft Visual Studio là một môi trường phát triển tích hợp từ Microsoft Nó được sử dụng để phát triển chương trình máy tính cho Microsoft Windows, cũng như các trang web, các ứng dụng web và các dịch vụ web Visual Studio sử dụng nền tảng phát triển phần mềm của Microsoft như Windows API, Windows Forms, Windows Presentation Foundation, Windows Store và Microsoft Silverlight Nó có thể sản xuất

cả hai ngôn ngữ máy và mã số quản lý

Visual Studio bao gồm một trình soạn thảo mã hỗ trợ IntelliSense cũng như cải tiến mã nguồn Trình gỡ lỗi tích hợp hoạt động cả về trình gỡ lỗi mức độ mã nguồn và

gỡ lỗi mức độ máy Công cụ tích hợp khác bao gồm một mẫu thiết kế các hình thức xây dựng giao diện ứng dụng, thiết kế web, thiết kế lớp và thiết kế giản đồ cơ sở dữ liệu Nó chấp nhận các plug-in nâng cao các chức năng ở hầu hết các cấp bao gồm thêm hỗ trợ cho các hệ thống quản lý phiên bản (như Subversion) và bổ sung thêm bộ công cụ mới như biên tập và thiết kế trực quan cho các miền ngôn ngữ cụ thể hoặc bộ công cụ dành cho các khía cạnh khác trong quy trình phát triển phần mềm

Hình 3.2 Giao diện Visual Studio Visual Studio hỗ trợ nhiều ngôn ngữ lập trình khác nhau và cho phép trình biên tập mã và gỡ lỗi để hỗ trợ (mức độ khác nhau) hầu như mọi ngôn ngữ lập trình Các ngôn ngữ tích hợp gồm có C,[1] C++ và C++/CLI (thông qua Visual C++), VB.NET (thông qua Visual Basic.NET), C# (thông qua Visual C#) và F# (như của Visual

DUT.LRCC

Trang 28

Studio 2010[2]) Hỗ trợ cho các ngôn ngữ khác như J++/J#, Python và Ruby thông qua dịch vụ cài đặt riêng rẽ Nó cũng hỗ trợ XML/XSLT, HTML/XHTML, JavaScript và

CSS.GPIO, Power over Ethernet (PoE)

3.2.2.2 Giao diện làm việc của Visual Studio

Hình 3.3 Giao diện làm việc của Visual Studio Màu cam:(Solution Explorer)là cửa sổ hiển thị Solution, các Project và các tập tin trong project

• Màu đỏ:đây là khu vực để lập trình viên viết mã nguồn cho chương trình Cửa sổ lập trình cho một tập tin trong Project sẽ hiển thị khi người dùng nháy đúp chuột lên tập tin đó trong cửa sổ Solution Explorer

• Màu vàng:(Output)đây là cửa sổ hiển thị các thông tin, trạng thái của Solution khi build hoặc của chương trình khi debug

• Màu đen(Toolbar) với các công cụ hỗ trợ người dùng trong việc viết mã và debug (các công cụ trên thanh có thể thay đổi khi bắt đầu debug)

• Màu xanh lá cây(Thanh menu) với đầy đủ các danh mục chứa các chức năng của VS Khi người dùng cài thêm những trình cắm hỗ trợ VS (ví dụ như Visual Assist), thanh menu này sẽ cập nhật thêm menu của các trình cắm (nếu có)

DUT.LRCC

Trang 29

Một số cửa sổ bị ẩn bạn có thể tìm ở trong :View -> Other Windows, các thanh công cụ được đặt trong View -> Toolbars

Hình 3.4 Cách bật các cửa sổ bị ẩn trong Visual Studio

3.2.2.3 Giao diện làm việc của chương trình xử lý ảnh

Hình 3.5 Giao diện làm việc của chương trình xử lý ảnh

DUT.LRCC

Trang 30

Trên giao diện, mỗi vùng có một tác dụng tương ứng:

• Vùng 1: Nơi hiển thị kết quả nhận diện khi chạy chương trình Nó sẽ hiển thị hình ảnh, vị trí của vật cùng góc xoay của vật

• Vùng 2: Các lựa chọn nhận diện thủ công Ở đây chúng ta có thể chọn vật thể cần nhận diện sau đó nhận diện chúng từ một bức ảnh chọn trong máy tính hoặc lấy trực tiếp từ camera

• Vùng 3: Theo dõi trạng thái kết nối giữa chương trình máy tính và PLC cũng như Arduino, thực hiện việc kết nối/ngắt kết nối, kiểm tra dữ liệu truyền nhận với Arduino và đọc/ghi dữ liệu thủ công vào Buffer Memory của PLC

• Vùng 4: Hiển thị hình ảnh đầu vào sau khi được khử nhiễu và lọc màu, vùng này giúp việc theo dõi và xử lý các tình huống bị nhiễu tốt hơn

• Vùng 5: Hiển thị vị trí vật nhận diện được

• Vùng 6: Hiển thị hình ảnh camera đầu vào

3.2.3 EmguCV/OpenCV

OpenCV là một thư viện mã nguồn mở hàng đầu cho thị giác máy tính (computer vision), xử lý ảnh và máy học, và các tính năng tăng tốc GPU trong hoạt động thời gian thực OpenCV được phát hành theo giấy phép BSD, do đó nó hoàn toàn miễn phí cho

cả học thuật và thương mại Nó có các interface C++, C, Python, Java và hỗ trợ Windows, Linux, Mac OS, iOS và Android OpenCV được thiết kế để tính toán hiệu quả và với sự tập trung nhiều vào các ứng dụng thời gian thực Được viết bằng tối ưu hóa C/C++, thư viện có thể tận dụng lợi thế của xử lý đa lõi Được sử dụng trên khắp thế giới, OpenCV có cộng đồng hơn 47 nghìn người dùng và số lượng download vượt quá 6 triệu lần Phạm vi sử dụng từ nghệ thuật tương tác, cho đến lĩnh vực khai thác mỏ, bản đồ trên web hoặc công nghệ robot

OpenCV đang được sử dụng rộng rãi trong các ứng dụng bao gồm:

• Hình ảnh street view

• Kiểm tra và giám sát tự động

• Robot và xe hơi tự lái

• Phân tích hình ảnh y tế

• Tìm kiếm và phục hồi hình ảnh/video

• Phim - cấu trúc 3D từ chuyển động

• Nghệ thuật sắp đặt tương tác

Trong quá trình xử lý ảnh, nhóm tác giả sử dụng EmguCV, đây là một cross flatform NET và một thư viện xử lý hình ảnh mạnh dành riêng cho ngôn ngữ C# Nó cho phép gọi được chức năng của OpenCV là từ NET EmguCV tương thích với các

DUT.LRCC

Trang 31

ngôn ngữ như: C#, VB, VC ++, Iron Python Wrapper của nó có thể được biên dịch bởi Visual Studio, Xamarin Studio và Unity EmguCV có thể chạy trên Windows, Linux, Mac OS X, iOS, Android và Windows Phone

Các lợi thế của EmguCV có thể kể ra như sau:

• EmguCV được viết hoàn toàn bằng C# Có thể chạy trên bất kỳ nền tảng hỗ trợ bao gồm iOS, Android, Windows Phone, Hệ điều hành Mac OS X và Linux

• EmguCV có thể được sử dụng từ nhiều ngôn ngữ khác nhau, bao gồm C#, VB.NET, C ++ và Iron Python

• Nhận dạng ảnh: nhận dạng khuôn mặt, các vật thể …

• Xử lý ảnh: khử nhiễu, điều chỉnh độ sáng …

• Nhận dạng cử chỉ

• Hỗ trợ tài liệu XML và intellisense

• Sự lựa chọn để sử dụng hình ảnh lớp hoặc trực tiếp gọi chức năng từ OpenCV

3.3 Giao tiếp giữa máy tính và PLC

3.3.1 Giới thiệu về MX Component

Ta thực hiện truyền/nhận dữ liệu giữa PLC và máy tính thông qua dây cáp USB và

sự hỗ trợ của chương trình MX Component MX Component là một công cụ đơn giản nhưng rất mạnh mẽ cho phép ta kết nối các PLC Mitsubishi với máy tính một cách nhanh chóng và dễ dàng

Công cụ Communication Setup Utility sẽ giúp ta dễ dàng tạo dựng và kiểm tra kết nối giữa máy tính và PLC Chương trình hỗ trợ rất nhiều chế độ kết nối khác nhau như: Serial (cổng CPU), RS-232C, RS-422, Ethernet và CC-Link Đặc biệt một số dòng PLC còn hỗ trợ kết nối qua cổng USB

Hình 3.6 Giao diện Communication Setup Utility

DUT.LRCC

Trang 32

3.3.2 Cài đặt kết nối

• Bước 1: Trên giao diện chính của Communication Setup Utility, nhấn vào

mục Wizard Của sổ Introduction hiện ra, nhập vào số của trạm Logic cần tạo vào mục Logical station number Nhấn next để đến bước tiếp theo

Hình 3.7 Nhập số trạm

• Bước 2: Ở của sổ PC side, ở mục PC side I/F, chọn phương thức kết nối là

USB Nhấn Next để tới bước tiếp theo

Hình 3.8 Chọn phương thức kết nối

• Bước 3: Ở bước này, ở mục PLC side I/F ta chọn CPU module để kết nối

với PLC Ở mục CPU type chúng ta chọn loại CPU được sử dụng trong PLC ta đang sử dụng, ở đây là FX3G(C)

DUT.LRCC

Trang 33

Hình 3.9 Chọn loại CPU sử dụng

• Bước 4: Ở bước này a chọn loại trạm ở mục Station type là Host station

Nhấn next để đến bước cuối cùng

Hình 3.10 Chọn loại trạm

• Bước 5: Ở bước này, chúng ta có thể thêm một số ghi chú cho kết nối đang

cài đặt Nhấn Finish để kết thúc việc cài đặt

DUT.LRCC

Trang 34

Hình 3.11 Ghi chú và kết thúc

3.3.3 Chương trình nhận và gửi dữ liệu

Để thuận tiện cho việc truyền nhận dữ liệu với PLC trên ngôn ngữ C#, Mitsubishi tạo ra thư viện hỗ trợ MITSUBISHI ActUtlType Control Và ta phải thêm thư viện này vào chương trình trước khi viết chương trình truyền nhận

Khối lệnh đọc dữ liệu từ Buffer Memory:

private int ReadDataPLC(string device)

Trang 35

Hình 3.12 Lưu đồ thuật toán lập trình xử lý ảnh

❖ Khối lệnh thu nhận và kiểm tra hình ảnh đầu vào

private void Form1_Load(object sender, EventArgs e)

DUT.LRCC

Trang 36

Trong khối lệnh này bao gồm các hàm với chức năng như sau:

Hàm “if (capture == null)” cho phép chúng ta kiểm tra xem đã lấy được các khung hình video thông qua camera hay chưa Nếu là chưa thì nó sẽ thực hiện việc kết nối bằng cách tạo ra một Capture mới bằng lệnh“capture = new Capture();”

Sau khi kết nối được, hàm ProcessFrame sẽ được gọi để hiển thị hình ảnh thu được lên giao diện chương trình:

private void ProcessFrame(object sender, EventArgs arg)

{

var ImageFrame = capture.QueryFrame().ToImage<Bgr, byte>(); //line 1' var bmp = ImageFrame.Bitmap;

DUT.LRCC

Trang 37

Bitmap TempBitmap = Image;

float FinalValue = (float)Value / 255.0f;

TempBitmap.Height, GraphicsUnit.Pixel, Attributes);

Attributes.Dispose();

NewGraphics.Dispose();

return NewBitmap;

}

Hàm này có input là một ảnh và một giá trị từ -255 đến 255, nó có nhiệm vụ xuất

ra một ảnh là kết quả sau khi tăng/giảm ánh sáng ở ảnh đầu vào dựa vào giá trị nhận được Giá trị 0 tương ứng với độ sáng ở ảnh gốc, giá trị nhập vào càng lớn thì ảnh đầu

Trang 38

cho nên nếu xét trên miền tần số thì phương pháp này sẽ làm giãm các thành phần có tần số cao trong hình Hay nói cách khác Gaussian Blur là một bộ lọc tần số cao (low pass filter: chỉ giữ lại các thành phần tần số thấp) Hiểu đơn giản bộ lọc này sẽ giảm nhiễu cho ảnh và giảm mức độ chi tiết của hình ảnh

❖ Khối lọc màu cho ảnh

private void GetRedPixelMask(IInputArray image, IInputOutputArray mask)

using (ScalarArray lower = new ScalarArray(15))

using (ScalarArray upper = new ScalarArray(150))

CvInvoke.InRange(mask, lower, upper, mask);

CvInvoke.BitwiseNot(mask, mask);

}

else if (Type == 2)

{

using (ScalarArray lower = new ScalarArray(10))

using (ScalarArray upper = new ScalarArray(40))

CvInvoke.InRange(mask, lower, upper, mask);

}

else if (Type == 3)

{

using (ScalarArray lower = new ScalarArray(0))

using (ScalarArray upper = new ScalarArray(35))

DUT.LRCC

Trang 39

}

else if (Type == 4)

{

using (ScalarArray lower = new ScalarArray(0))

using (ScalarArray upper = new ScalarArray(20))

CvInvoke.InRange(mask, lower, upper, mask);

Ảnh được đưa vào sẽ được tách ra làm hai kênh, kênh thứ nhất dùng để lọc màu

sắc (Hue) và kênh thứ hai dùng để lọc độ bão hòa màu (Saturation) Không gian màu

HSV được sử dụng để làm cơ sở để lọc màu:

Hình 3.13 Không gian màu HSV Giá trị vùng màu (Hue) trong EmguCV được quy định trong khoảng từ 0-179 Mỗi

vật thể cần xác định luôn có màu nằm trong một vùng màu nhất định Ví dụ quả cà chua

có màu đỏ và vùng màu của nó nằm trong khoảng 150 đến 15 Dựa vào đặc tính này, ta

có thể lọc ra những vùng màu có màu tương tự như vật cần tìm

Giá trị ngưỡng màu được quy định bằng 2 biến “lower” và “upper” Hàm

“CvInvoke.InRange(mask, lower, upper, mask);” được sử dụng để lọc bỏ đi tất cả điểm

ảnh trên hình ảnh đầu vào không có màu sắc nằm trong ngưỡng này và chỉ để lại những

điểm ảnh phù hợp Mỗi giá trị của biến “Type” đại diện cho một loại thức ăn: 1 - Gà rán,

2 - Trứng cuộn, 3 - Xúc xích, 4 - Gà rán Mỗi loại thức ăn đều có một khoảng màu quy

Trang 40

❖ Khử nhiễu cho ảnh sau khi lọc màu

Các vật thể được lọc ra bằng bộ lọc màu ở bước 1 chứa vô số các chấm nhỏ, đó là các điểm ảnh không thỏa mãn bộ lọc trên vật thể Chúng ta cần loại bỏ chúng trước khi thực hiện bước tiếp theo Ta sử dụng hai phép toán hình thái học Dilation (giãn nở) và Erosion (co lại) Phép giãn nở sẽ có tác dụng làm cho đối tượng ban đầu trong ảnh (điểm ảnh) tăng lên về kích thước (Giãn nở ra) và lấp đầy các ô trống gần chúng, phép co lại

sẽ giúp đưa vật về kích thước trước khi giãn nở và giúp viền của vật thể mượt hơn

Hình 3.14 Ví dụ cho giãn nở và co ảnh Chương trình khử nhiễu cho ảnh được trình bày như sau:

CvInvoke.Dilate(smoothedRedMask, smoothedRedMask, null, new Point(-1, -1), 1, BorderType.Constant, CvInvoke.MorphologyDefaultBorderValue);

CvInvoke.Erode(smoothedRedMask, smoothedRedMask, null, new Point(-1, -1), 1, BorderType.Constant, CvInvoke.MorphologyDefaultBorderValue);

❖ Tạo viền, tìm kiếm các vật thể sau khi lọc màu

Sau khi có được những vùng có màu tương tự như vật cần tìm, ta sử dụng giải thuật phát hiện cạnh Canny để xác định viền của các vật thể đó Giải thuật Canny được

sử dụng trong EmguCV với chỉ một hàm:

CvInvoke.Canny(smoothedRedMask, canny, 100, 50);

Trong đó, smoothedRedMask là ảnh đã được xử lý ở bước trên, và canny là viền của vật thể được lưu trữ với dạng ma trận

DUT.LRCC

Ngày đăng: 25/04/2021, 15:24

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Iwamasa H, Hirai S. “Bindling of food materials with a tension-sensitive elastic thread.” In: Proceedings of IEEE international conference on robotics and automation: 26–30 May 2015; Seattle, 2015. p. 4298–4303 Sách, tạp chí
Tiêu đề: “Bindling of food materials with a tension-sensitive elastic thread.”
[2] Suzumori K, Iikura S, Tanaka H. “Development of flexible microactuator and its applications to robotic mechanisms.” In: Proceedings of IEEE international conference on robotics and automation: 9–11 Apr. 1991; Sacramento, 1991. p.1622–1627 Sách, tạp chí
Tiêu đề: “Development of flexible microactuator and its applications to robotic mechanisms.”
[3] B. Mosadegh, et al. “Pneumatic Networks for Soft Robotics that Actuate Rapidly,” Advanced Functional Materials, 2013 Sách, tạp chí
Tiêu đề: “Pneumatic Networks for Soft Robotics that Actuate Rapidly,”
[4] P. Polygerinos, et al. “Towards a soft pneumatic glove for hand rehabilitation,” in Intelligent Robots and Systems (IROS), 2013 IEEE/RSJ International Conference on, 2013, pp. 1512–1517 Sách, tạp chí
Tiêu đề: “Towards a soft pneumatic glove for hand rehabilitation,”
[5] Z. Wang, D S. Chathuranga, S. Hirai. “3D Printed Soft Gripper for Automatic Lunch Box Packing.” In: Proceedings of the 2016 IEEE international conference on robotics and biominetics: Quingdao, China, December 3-7, 2016 Sách, tạp chí
Tiêu đề: “3D Printed Soft Gripper for Automatic Lunch Box Packing.”
[6] Z. Wang, M. Zhu, S. Kawamura, S. Hirai. “ Comparison of Different Soft Grippers for Lunch Box Packaging.” Robot. Biomim. (2017) 4:10 Sách, tạp chí
Tiêu đề: “ Comparison of Different Soft Grippers for Lunch Box Packaging.”
[7] J. Shintake, V. Cacucciolo, D. Floreano, H. Shea. “Review: Soft Robotics Gripper.” 2018 Sách, tạp chí
Tiêu đề: “Review: Soft Robotics Gripper.”
[8] Y. Hao et al. “Modeling and experiments of a soft robotic gripper in amphibious environments.” In: International Journal of Advanced Robotic Systems. May-June 2017: 1-12 Sách, tạp chí
Tiêu đề: “Modeling and experiments of a soft robotic gripper in amphibious environments.”
[9] P. Polygerinos, Z. Wang, J. T. B. Overvelde, et. al., “Modeling of soft fiber- reinforced bending actuators,” IEEE Transactions on Robotics, 31(3), 2015, pp.778-89 Sách, tạp chí
Tiêu đề: “Modeling of soft fiber-reinforced bending actuators,”

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm