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

ỨNG DỤNG GIAO TIẾP ROBOT YK400X và ỨNG DỤNG PHÂN LOẠI sản PHẨM BẰNG CAMERA

75 926 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 75
Dung lượng 2,52 MB

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

Nội dung

TÓM TẮT LUẬN VĂN ỨNG DỤNG GIAO TIẾP ROBOT YK400X VÀ ỨNG DỤNG PHÂN LOẠI SẢN PHẨM BẰNG CAMERA Ứng dụng Camera cho việc định vị và nhận dạng là một đề tài được đặt ra từ cuối thế kỷ 20. Trải qua một giai đoạn phát triển, đến thời điểm này kỹ thuật nhận dạng và định vị bằng Camera đã tương đối hoàn chỉnh. Với sự phát triển của công nghệ cảm biến Camera, độ chính xác định vị ngày càng cao. Đồng thời, sự ra đời của các thư viện xử lý ảnh giúp người lập trình nhanh chóng viết ứng dụng mà không cần phải mất thời gian tìm hiểu quá sâu về lý thuyết xử lý ảnh. Trên tinh thần đó, tôi chọn thư viện xử lý ảnh Stockcar của Lecky Integaration. Thư viện này chứa các hàm cần thiết cho việc xử lý ảnh và định vị vật trong không gian 2D. Nhiệm vụ chính của luận văn là xây dựng một phần mềm (viết bằng Visual C). Phần mềm này gồm 2 chức năng chính:  Giao tiếp với bộ điều khiển RCX142 và ứng dụng điều khiển Robot YK400x bằng máy tính.  Phân tích ảnh chụp từ Camera sau đó định vị và nhận dạng vật. Sau khi hoàn thành hai nhiệm vụ chính trên, tôi viết một ứng dụng nhỏ để định vị và phân loại sản phẩm theo màu, Robot sẽ thao tác gắp vật và thả đúng vào giỏ chứa sản phẩm theo màu tương ứng.

Trang 1

KHOA CƠ KHÍ

BỘ MÔN CƠ ĐIỆN TỬ -o0o -

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

ỨNG DỤNG GIAO TIẾP ROBOT YK400X

VÀ ỨNG DỤNG PHÂN LOẠI SẢN PHẨM DÙNG

CAMERA

Tp HCM, 6/2014

i

Trang 2

Trước tiên, tôi xin cảm ơn thầy Nguyễn Tường Long, giáo viên trực tiếp hướng dẫn Xin đượccảm ơn thầy Chung Tấn Lâm, giáo viên đồng hướng dẫn Các thầy đã cho tôi những định hướng,tạo mọi điều kiện về vật chất lẫn tinh thần, đã giúp tôi hoàn thành trọn vẹn và đúng thời hạn đềtài của mình.

Xin cảm ơn thầy Từ Diệp Công Thành, giáo viên chủ nhiệm của lớp Thầy là người trực tiếp giúp

đỡ, cung cấp thông tin và nhắc nhở kịp thời cho lớp chúng tôi với mọi hoạt động liên quan đếnviệc học tập và làm luận văn trong suốt ba năm thầy chủ nhiệm lớp

Xin được chân thành cảm ơn các thầy cô trong hội đồng chấm luận văn tốt nghiệp Cám ơn cácthầy, các cô đã bớt thời gian quý báu để xem xét đề tài của tôi

Xin được gửi lời tri ân các thầy, các cô đã dìu dắt tôi trong suốt các năm học vừa qua

Cuối cùng, tôi dành lời cảm ơn sâu sắc cho ba, mẹ và những người thân Mọi người là chỗ dựatinh thần, là nguồn động viên để tôi vượt qua những khó khăn, thử thách trong học tập và cuộcsống

Một lần nữa, xin chân thành cảm ơn tất cả mọi người!

Tp Hồ Chí Minh, 06/2014Nguyễn Bá Hoàng Long

ii

Trang 3

SẢN PHẨM BẰNG CAMERA

Ứng dụng Camera cho việc định vị và nhận dạng là một đề tài được đặt ra từ cuối thế kỷ

20 Trải qua một giai đoạn phát triển, đến thời điểm này kỹ thuật nhận dạng và định vị bằngCamera đã tương đối hoàn chỉnh Với sự phát triển của công nghệ cảm biến Camera, độ chínhxác định vị ngày càng cao Đồng thời, sự ra đời của các thư viện xử lý ảnh giúp người lập trìnhnhanh chóng viết ứng dụng mà không cần phải mất thời gian tìm hiểu quá sâu về lý thuyết xử lýảnh Trên tinh thần đó, tôi chọn thư viện xử lý ảnh Stockcar của Lecky Integaration Thư việnnày chứa các hàm cần thiết cho việc xử lý ảnh và định vị vật trong không gian 2D

Nhiệm vụ chính của luận văn là xây dựng một phần mềm (viết bằng Visual C#) Phần mềm nàygồm 2 chức năng chính:

 Giao tiếp với bộ điều khiển RCX142 và ứng dụng điều khiển Robot YK400x bằng máytính

 Phân tích ảnh chụp từ Camera sau đó định vị và nhận dạng vật

Sau khi hoàn thành hai nhiệm vụ chính trên, tôi viết một ứng dụng nhỏ để định vị và phân loạisản phẩm theo màu, Robot sẽ thao tác gắp vật và thả đúng vào giỏ chứa sản phẩm theo màutương ứng

iii

Trang 4

Trang bìa i

Nhiệm vụ luận văn Lời cam kết Lời cảm ơn ii

Tóm tắt luận văn iii

Mục lục iv

Danh sách hình ảnh vii

Danh sách bảng biểu ix

Chương 1: TỔNG QUAN 1

1.1 Đặt vấn đề 1

1.1.1 Trong lĩnh vực thám hiểm 1

1.1.2 Trong công nghiệp 2

1.1.3 Trong đời sống hằng ngày 3

1.2 Cơ sở lựa chọn đề tài 4

1.2.1 Phần cứng 4

1.2.2 Lý thuyết 5

1.2.3 Phần mềm 6

Chương 2: ROBOT SCARA YK_400X VÀ BỘ ĐIỀU KHIỂN RCX142 7

2.1 Giới thiệu Robot SCARA 7

2.1.1 Khái quát Robot SCARA 7

2.1.2 Bài toán động học ngược vị trí 8

2.2 Robot YK400X 11

2.2.1 Các thông số của YK400x 11

2.2.2 Bộ điều khiển RCX142 15

iv

Trang 5

3.2 Hệ thống cảm biến của Camera 22

3.2.1 Cảm biến CCD (Charge-Coupled Device) 22

3.2.2 Cảm biến CMOS (Complementary Metal-Oxide-Semiconductor) 24

3.3 Logitech Quickcam Pro 4000 25

3.4 Cơ bản về kỹ thuật xử lý ảnh 25

3.4.1 Khái niệm ảnh đen trắng, ảnh màu 25

3.4.2 Chuyển ảnh màu thành ảnh xám 26

3.4.3 Phân ngưỡng 26

3.4.4 Phân tích BLOBS (Binary Large Objects) 27

Chương 4: GIỚI THIỆU PHẦN MỀM 29

4.1 Giao tiếp máy tính với bộ điều khiển RCX142 29

4.1.1 Cài đặt các thông số giao tiếp 29

4.1.2 Chế độ điều khiển bằng tay 30

4.1.3 Chế độ lập trình 31

4.2 Giao tiếp máy tính với Camera 33

4.3 Bảng điều khiển chính 34

4.3.1 Calibration 34

4.3.2 Phần xử lý ảnh 36

Chương 5: ỨNG DỤNG 38

5.1 Các thành phần của hệ thống 38

5.2 Hoạt động của hệ thống 38

5.3 Các yếu tố ảnh hưởng đến sai số hệ thống 42

5.4 Đánh giá sai số quá trình định vị bằng Camera 42

v

Trang 6

6.2 Hướng ứng dụng và mở rộng đề tài 48

6.3 Lời kết 48

TÀI LIỆU THAM KHẢO 48

PHỤ LỤC 48

A GIỚI THIỆU THƯ VIỆN XỬ LÝ ẢNH STOCKCAR 48

I Giới thiệu Stockcar 48

II Cơ bản về lập trình Stockcar 54

B ĐIỀU KHIỂN YK400X VỚI BỘ ĐIỀU KHIỂN RCX142 58

I Các tập tin dữ liệu 58

II Các lệnh di chuyển cơ bản 61

III Các lệnh về lập trình 64

vi

Trang 7

Hình 1.2: ROV Lastic hoạt động dưới đáy biển 2

Hình 1.3: Camera thông minh hỗ trợ Robot sơn xe quân đội các loại 3

Hình 1.4: Robot làm việc nhà 3

Hình 1.5: Robot làm vườn 4

Hình 1.6: Robot YK400x 5

Hình 1.7: Logitech Quickcam Pro 4000 5

Hình 2.1: Hình dáng động học của SCARA 7

Hình 2.2: Hệ tọa độ gốc của SCARA và các biến khớp 8

Hình 2.3 Các hệ tọa độ được gắn theo quy tắc Denavit-Hatenberg 8

Hình 2.4: Tính động học ngược cho Scara 11

Hình 2.5: Hình chiếu đứng YK400x 12

Hình 2.6: Hình chiếu cạnh YK400x 12

Hình 2.7: Không gian làm việc YK400x 14

Hình 2.8: Bộ điều khiển RCX 142 15

Hình 2.9: Manual Program Board 16

Hình 2.10: Bắt tay phần cứng 18

Hình 2.11: Bắt tay phần mềm 19

Hình 3.1: Nguyên tắc tạo ảnh với cảm biến CCD 22

Hình 3.2: Lưới lọc Bayer 23

Hình 3.3: Cảm biến 3CCD 23

Hình 3.4: Nguyên tắc tạo ảnh với cảm biến CMOS 24

vii

Trang 8

Hình 3.7: Ảnh phân ngưỡng cho thuật toán tìm Blob 27

Hình 4.1: Giao diện chính của chương trình điều khiển 29

Hình 4.2: Cài đặt các thông số giao tiếp 29

Hình 4.3: Chức năng MANUAL 30

Hình 4.4: Hộp Incoming với dữ liệu điểm 31

Hình 4.5: Chế độ PROGRAM 32

Hình 4.6: Hộp Incoming với dữ liệu các chương trình 32

Hình 4.7: Giao diện Camera 33

Hình 4.8: Bảng điều khiển chính 34

Hình 4.9: Giao diện Calibration 35

Hình 4.10: Hệ tọa độ mặt bàn 35

Hình 4.11: Giao diện xử lý ảnh 36

Hình 4.12: Giao diện lựa chọn hệ số tỷ lệ màu 37

Hình 5.1: Bảng điều khiển cho ứng dụng 38

Hình 5.2: Lưu đồ chương trình điều khiển Robot 39

Hình 5.3: Lưu đồ điều khiển xử lý ảnh và tìm tọa độ vật 41

Hình 5.4: Lưới điểm giúp đánh giá sai số 43

Hình 5.5: Kết quả tọa độ của lưới điểm 43

Hình 5.6: Phân bố sai số theo quy tắc Tchebychev 45

Hình 5.7: Phân bố sai số theo 2 phương X và Y 46

Hình 5.8: Phân bố sai số tổng hợp 46

viii

Trang 9

Bảng 2.2:Bảng các thông số cho Robot Scara YK400x 13

Bảng 2.3: Sơ đồ chân D-SUB 9 17

Bảng 5.1: Hướng tập trung của sai số 44

Bảng 5.2: Hướng phân tán của sai số 44

Bảng 5.3: Các tỷ lệ % ứng với m 45

Bảng A.1: Kiểu tên gọi các hàm xử lý ảnh 51

Bảng A.2: Các định dạng dữ liệu điểm ảnh 52

Bảng A.3: Kiểu hằng ROI 52

Bảng A.4: Hằng số toán học 52

Bảng A.5: Các màu vẽ chồng 53

Bảng A.6: Kiểu hằng chuyển tọa độ 53

Bảng A.6: Các mã lỗi thông dụng 54

ix

Trang 10

Chương 1: TỔNG QUAN

1.1 Đặt vấn đề

Trong những năm gần đây, sự phát triển mạnh của các bộ vi xử lý cao cấp đã tạo một bướctiến vô cùng to lớn cho Robot Giấc mơ chế tạo được một Robot giống người, có thể làm thay cáccông việc cho con người đã thành hiện thực Các loại Robot này đang ngày càng được hoàn thiện,phục vụ con người trong nhiều lĩnh vực khác nhau Từ thế hệ các Robot đơn giản chỉ hoạt độngmột cách thụ động theo các chương trình cài đặt sẵn, đến thời điểm này, các Robot đã có thể hoạtđộng một cách phức tạp hơn, có khả năng tự xử lý và phân tích các tình huống như con người.Cùng với sự phát triển của các loại cảm biến với độ chính xác cao, các bộ vi xử lý có thể thựchiện hàng tỉ phép tính trong một giây, Robot đang dần dần thay thế con người trong một số lĩnhvực đặc thù, cho hiệu quả và năng suất cao hơn

Ta có thể coi các bộ vi xử lý này là bộ não của Robot, bộ não này càng ngày càng được tối

ưu hóa về kích thước cũng như tốc độ để điều khiển Robot một cách hiệu quả nhất Vai trò củacảm biến đối với Robot được xem như là các cơ quan thị giác, xúc giác, vị giác của con người

Ví dụ với camera, ta xem camera như là con mắt trợ giúp cho Robot xác định vị trí, nhận dạngvật Ngày nay, Camera là một cảm biến không thể thiếu đối với các thế hệ Robot hiện đại CácRobot này sử dụng Camera để định vị, nhận dạng và thu thập dữ liệu Ứng dụng Camera choRobot được dùng trong nhiều lĩnh vực khác nhau:

1.1.1 Trong lĩnh vực thám hiểm

Robot giúp con người thám hiểm ở những nơi không trực tiếp làm được hoặc những nơinguy hiểm như: sao hỏa, miệng núi lửa, lò phản ứng hạt nhân… Năm 2007, người Mỹ đã đưa lênsao Hỏa 2 xe tự hành mang tên Spirit va Opportunity Các xe này không có tay lái, trung tâm điềukhiển thuộc Phòng thí nghiệm chuyển động phản lực của NASA ở thành phố Pasadena CácRobot dạng này dùng Camera để thu thập dữ liệu hình ảnh, lấy mẫu và phân tích các thông tin vềkhí hậu, đất đai và địa chất của nơi thám hiểm, sau đó gửi các dữ liệu này về trung tâm

1

Trang 11

Hình 1.1: Robot Spirit và Opportunity thám hiểm sao hỏa

Gần đây nhất, một thiết bị điều khiển từ xa – ROV Latis đã được một nhóm các nhà nghiêncứu từ cộng hòa Ireland chế tạo nhằm giúp xác định ranh giới dưới đáy biển của các quốc gia.Thông tin do thiết bị thu thập được sẽ được dùng để giải quyết một lần và vĩnh viễn các tranhchấp về đường lục địa Máy sử dụng hệ thống camera chất lượng cao và có độ nhạy màu trongđiều kiện ánh sáng rất yếu Các hình ảnh thu thập được trên máy tính sẽ giúp xác định vị trí, địađiểm, chiều di chuyển và cự ly của thiết bị đối với đáy biển và tàu mẹ cùng lúc

Hình 1.2: ROV Lastic hoạt động dưới đáy biển 1.1.2 Trong công nghiệp

Trong công nghiệp quốc phòng, việc sơn màu ngụy trang cho các loại xe có ý nghĩa đặcbiệt quan trọng Màu sơn cho xe quân sự cần thay đổi thích hợp cho từng chiến trường khác nhau

Vì vậy mà quân đội Mỹ đang nghiên cứu, phát triển kỹ thuật sơn tự động, chỉ cần chọn màu sơnRobot sẽ tự động sơn cho các loại xe khác nhau Camera sử dụng dữ liệu ảnh để nhận biết, xác

2

Trang 12

định các thông tin vị trí của các loại xe khác nhau, các phụ kiện kèm trên xe…rồi chuyển sangkhông gian 3D Sau khi đã hiệu chỉnh về hệ tọa độ Robot, chiếc xe được sơn với mô hình vừađược cung cấp, phụ thuộc vào các yếu tố: kích thước, hình dáng, đời xe, các phụ kiện gắn thêmtrên xe…

Hình 1.3: Camera thông minh hỗ trợ Robot sơn xe quân đội các loại 1.1.3 Trong đời sống hằng ngày

Đây là lĩnh vực đang rất phát triển tại Nhật Robot giúp làm việc nhà, làm vườn, dạy học vàđồng thời cũng là phương tiện giải trí cho con người Các Robot này đều được trang bị Camera(nhiều hơn 2) để phân biệt các vật thể khác nhau:

Hình 1.4: Robot làm việc nhà

Đây là dự án mang tên Robot giúp việc AR của đại học Tokyo Robot này có thể quan sát

và phân biệt các vật khác nhau bằng mắt 2 tròng, có thể định vị được vật ngay cả khi chúng nằm

3

Trang 13

dưới ghế hoặc bàn Các loại Robot truyền thống thường gặp khó khăn trong việc xử lý những vậtkhông ở dạng rắn, nhưng AR có thể nhận ra quần áo bằng nếp nhăn của chúng.

Hình 1.5: Robot làm vườn

Đây là một dự án thuộc Viện Công nghệ Massachusetts – Mỹ, phía trên Robot được gắnmột cánh tay và máy tính nhúng Cánh tay này vốn được trang bị một Camera và tay kẹp Trongcuộc thử nghiệm, Robot có thể tưới cho một cây cà chua, rồi tiến đến một cây cà chua khác và háiquả bằng tay kẹp sau khi đã nhận diện qua webcam

Như vậy, ta có thể thấy việc xử lý ảnh để định vị cho Robot là một việc không còn mới, vấn

đề là ứng dụng nó sao cho thật thích hợp, đảm bảo tính hiệu quả và độ chính xác

1.2 Cơ sở lựa chọn đề tài

Với sự yêu thích trong lĩnh vực Robot, tôi đã quyết định tìm hiểu từ loại Robot công nghiệpđơn giản nhất là SCARA Để tăng cường thêm sự linh hoạt và tự động cho SCARA, tôi kết hợp

nó với một Camera để định vị vật trong mặt phẳng Từ đó, tôi có thể ứng dụng vào các hệ thống

phân loại sản phẩm theo kích thước, theo màu sắc…Vì vậy, tôi chọn đề tài là: “Ứng dụng giao tiếp Robot YK400x và ứng dụng phân loại sản phẩm dùng Camera ”

1.2.1 Phần cứng

Về phần cứng cho việc thực hiện đề tài, tôi sử dụng Robot SCARA YK400x của hãngYamaha (bộ điều khiển RCX142) và Camera Logitech Quickcam Pro 4000 để định vị và thao tácvới vật (có sẵn tại phòng thí nghiệm C6, bộ môn Cơ Điện Tử)

4

Trang 14

5

Trang 15

Sau khi đã có tọa độ thực của vật ngoài không gian, ta đưa tọa độ này về tọa độ gốc củaRobot Lúc này nhiệm vụ của Robot là thao tác với vật tại vị trí được cung cấp Vấn đề điềukhiển này do bộ điều khiển RCX142 giải quyết

1.2.3 Phần mềm

Xây dựng một phần mềm thực hiện nhiệm vụ giao tiếp giữa máy tính, Robot và Camera,được viết bằng C# (Microsoft Visual Studio 2008) Với phần mềm này việc điều khiển RobotYK400x trở nên dễ dàng hơn, hơn nữa, Robot được trang bị thêm một Camera ra sẽ mở rộng khảnăng làm việc cho Robot

Tôi xác định rõ hai mục tiêu cần đạt được trong luận văn này là:

 Ứng dụng giao tiếp Robot SCARA YK400x

 Ứng dụng định vị và phân loại sản phẩm bằng Camera

6

Trang 16

Chương 2: ROBOT SCARA YK_400X VÀ BỘ ĐIỀU KHIỂN RCX142

1.3 Giới thiệu Robot SCARA

1.3.1 Khái quát Robot SCARA

RobotSCARA (Selectively Compliant Articulated Robot Arm) ra đời năm 1979, đây làmột kiểu tay máy có cấu tạo đặc biệt, được sử dụng nhiều trong công việc lắp ráp các tải trọngnhỏ

Hình 2.1: Hình dáng động học của SCARA

Như tên gọi của nó Robot dạng này chỉ làm việc trong mặt phẳng Robot có 5 khâu, bốnbậc tự do (4 biến khớp) Sau đây ta sẽ gắn hệ tọa độ gốc và các biến khớp cho SCARA Từ đó,tìm hiểu động học cho Robot

Trang 17

Hình 2.2: Hệ tọa độ gốc của SCARA và các biến khớp 1.3.2 Bài toán động học ngược vị trí

Theo quy ước Denavit-Hatenberg, các hệ tọa độ Decarters được gắn vào khâu chấp hànhnhư hình vẽ:

Hình 2.3 Các hệ tọa độ được gắn theo quy tắc Denavit-Hatenberg

Trang 18

Nhiệm vụ của bài toán là từ vị trí của khâu cuối so với hệ tọa độ gốc Ox0y0z0, tìm giá trịcủa 4 biến khớp θ1, θ2, d3, θ4.

Tham số các khâu cho Robot SCARA:

Bảng 2.1: Các tham số cho Robot Scara

Ma trận Denavit-Hatenberg:

Quy ước: ci = cosθi và si = sinθi

Ma trận chuyển đổi giữa hệ trục tọa độ O0x0y0z0 và O1x1y1z1:

Trang 20

Như vậy ta đã tìm được 4 thông số θ1, θ2, d3, θ4.

Bài toán động học ngược vị trí là đơn giản nhất, động học ngược vận tốc và gia tốc thìphức tạp hơn Tuy nhiên, ta không cần xem xét kỹ vấn đề này vì bộ điều khiển RCX 142 đãgiải quyết chuyện đó

Trang 21

1.4 Robot YK400X

1.4.1 Các thông số của YK400x

Robot SCARA YK400x là mẫu Robot loại nhỏ dùng để gắp các vật trong mặt phẳng cótải trọng không quá 3kg, chiều dài cánh tay (tầm vươn tới) là 400mm

Sau đây là các hình chiếu của YK400x:

Hình 2.5: Hình chiếu đứng YK400x

Trang 22

Cài đặt giới hạn chuyển động Bằng phần mềm

Trang 23

Với các thông số trên đây, Robot sẽ hoạt động một phạm vi giới hạn như sau:

Hình 2.7: Không gian làm việc YK400x

Khâu thứ nhất quay từ -1150 tới 1150 ứng với giá trị cảm biến xung J từ -261689J tới+261689J

Khâu thứ hai quay từ -1400 tới 1400 ứng với giá trị cảm biến xung J từ -318578J tới+318578J

Khâu thứ ba tịnh tiến từ -1mm tới 150mm ứng với giá trị cảm biến xung J từ -1366J tới+204800J

Khâu thứ tư quay từ -570 tới 3020 ứng với giá trị cảm biến xung J từ -409600J tới+409600J

Dung sai:

Khâu thứ nhất, thứ hai, thứ tư là 80J hay 0.040

Khâu thứ ba là 80J hay 0.06mm

Trang 24

1.4.2 Bộ điều khiển RCX142

Hình 2.8: Bộ điều khiển RCX 142

 MPB(Manual Program Board)

MPB là một thiết bị cầm tay dùng để thực thi tất cả các chức năng của Robot: chức năngđiều khiển bằng tay, lập trình, cài đặt các thông số…

Trang 25

Hình 2.9: Manual Program Board

MPB có thể giao tiếp một cách đầy đủ với YK400x, nhưng để tăng khả năng tự động và

xử lý linh hoạt cho Robot, ta quan tâm đến điều khiển Robot qua máy tính Các thông số giaotiếp giữa RCX142 và máy tính được cài đặt bằng MPB

 Giao tiếp giữa máy tính và RCX142 qua cổng RS232

• Chế độ giao tiếp Online và Offline

Bộ điều khiển có thể giao tiếp với thiết bị ngoại vi theo hai chế độ qua cổng RS232:ONLINE/OFFLINE Hai chế độ này có thể sử dụng riêng lẻ hoặc kết hợp với nhau trongnhững ứng dụng khác nhau

 Chế độ OFFLINE: Giao tiếp giữa Robot và thiết bị ngoại vi được thực thi bằng lệnhSEND viết trong chương trình

 Lệnh gửi Offline từ Robot đến thiết bị ngoại vi:

SEND <Source File> TO CMU

 Lệnh gửi Offline từ thiết bị ngoại vi đến Robot:

SEND CMU TO <Source File>

Trang 26

Ví dụ:

SEND P1 TO CMU → gửi tọa độ điểm P1 ra thiết bị ngoại vi (đơn vị mm hay xungJ)

SEND CMU TO P1 → gửi từ máy tính tọa độ điểm P1

 Chế độ ONLINE: Gửi lệnh trực tiếp từ thiết bị ngoại vi đến Robot Các lệnh gửi trựctiếp từ thiết bị ngoại vi gọi là lệnh online (được trình bày ở phần sau)

Định dạng:

@[_]<Online Command>[<_command option>]<termination code>

Mã kết thúc (termination code) là CR (0Dh) hay CRLF (0Dh+0Ah)

Ví dụ: @ MOVE P,P0<0Dh> → Robot di chuyển tới điểm P0

• Giao tiếp giữa Robot và RCX142

 Sơ đồ chân của D-SUB 9 chân:

Bảng 2.3: Sơ đồ chân D-SUB 9

 Chuẩn RS232 vàphương thức giao tiếpHandshaking:

Chuẩn RS232 chỉ có thểkết nối nhiều nhất hai thiết bị,với khoảng cách dài nhất từ12.7m đến 25.4m, tốc độ20kbit/s

Với phương thức Handshaking, máy phát có thể xác định khi nào nó truyền dữ liệu vàmáy nhận cho biết khi nào nó sẵn sàng nhận dữ liệu Tín hiệu có thể biến đổi qua RS232 theo

Trang 27

giao thức chuẩn hoặc giao thức quy ước Có 2 kiểu bắt tay, đó là bắt tay phần cứng và bắt tayphần mềm:

 Bắt tay phần cứng: Nơi nhận đưa ra dòng mức cao khi sẵn sàng nhận dữ liệu, nơitruyền chờ tín hiệu này trước khi truyền dữ liệu Nơi nhận có thể đưa ra dòng mức thấp trongmọi thời điểm, thậm chí cả trong quá trình chờ dòng phản hồi trước khi kết thúc quá trìnhtruyền nhận

 Bắt tay phần mềm: Nơi nhận gửi một mã để báo nó sẵn sàng nhận dữ liệu hoặc một

mã khác để báo nơi truyền dừng quá trình gửi dữ liệu

Trang 28

Hình 2.11: Bắt tay phần mềm

Ở đây tôi chọn phương thức bắt tay bằng phần cứng

 Lập trình cho YK400x với bộ điều khiển RCX142

 Các lệnh di chuyển cơ bản

ORIGIN: đưa Robot về vị trí gốc

DRIVE: điều khiển Robot di chuyển một trục duy nhất theo hệ tọa độ tuyệt đối

DRIVEI: điều khiển Robot di chuyển một trục duy nhất theo hệ tọa độ tương đối.

MOVE P: di chuyển tuyệt đối theo tất cả các trục

MOVE L: lệnh nội suy tuyến tính điểm tới điểm

MOVE C: lệnh nội suy đường tròn qua 3 điểm

MOVEI P: di chuyển tương đối theo tất cả các trục

PATH: đây là một bộ lệnh gồm: PATH SET…PATH END – dùng thiết lập quỹ đạochuyển động và PATH START – cho phép Robot chạy theo quỹ đạo vừa thiết lập LệnhPATH này sử dụng trong nhiệm vụ hàn rất hiệu quả

 Các lệnh thay đổi thông số

SPEED: thay đổi thông số vận tốc

SHIFT: thay đổi hệ tọa độ

ACCEL, DECEL: thay đổi hệ số tăng tốc, giảm tốc cho các trục

Trang 29

OUTPOS: thay đổi vị trí không hiệu lực của các trục.

ONLINE/OFFLINE: thay đổi chế độ giao tiếp với thiết bị ngoại vi

TORQUE: thay đổi moment cho các trục di chuyển

 Các lệnh về lập trình

CALL: gọi chương trình con

GOSUB: nhảy đến nhãn, gặp lệnh RETURN thì nhảy về dòng lệnh sau nhãn

SUB: xác định chương trình con và EXIT SUB: thoát khỏi chương trình con

SHARED: xác định các biến chung trong các chương trình con

HALT: lệnh này sẽ dừng chương trình và reset chương trình

HOLD: tạm thời dừng chương trình đang thi hành, khi chương trình được thi hành lại,

nó sẽ tiếp tục tại điểm dừng tại lệnh HOLD

GOTO: lệnh này nhảy không điều kiện đến dòng lệnh đánh dấu bằng nhãn Tương ứngdùng lệnh LABEL để tạo nhãn

FOR…NEXT: vòng lặp và EXIT FOR

SELECT CASE và END SELECT: lệnh này tương tự như lệnh Switch trong C

IF…ELSE: lệnh điều kiện

SWI: thi hành một chương trình có trong bộ nhớ

 Các lệnh về điểm

JTOXY: đổi dữ liệu điểm từ xung sang mm

XYTOJ: đổi dữ liệu điểm từ mm sang xung

WHERE: cho biết tọa độ hiện tại của khâu cuối Robot – đơn vị xung

WHRXY: cho biết tọa độ hiện tại của khâu cuối Robot – đơn vị mm

 Các lệnh điều khiển MPB

PRINT: xuất dữ liệu ra màn hình MPB

INPUT: chờ phím trong MPB được nhấn

SEND: phím nhập của MPB của một file xác định

 Các lệnh điều khiển vào ra

DELAY: đứng chờ

DO: Xuất giá trị ra cổng DO

MO: Xuất giá trị ra cổng MO

Trang 30

TO: Xuất giá trị ra cổng TO.

SET/RESET: xác định bit xuất ra từ một chân trên các cổng DO, TO, MO (có thời gian).WAIT: chờ điều kiện vào hay ra (có thời gian)

Trên đây chỉ nêu lên các lệnh điều khiển cơ bản cho Robot và ý nghĩa của chúng Chitiết về các lệnh này và ví dụ cho từng lệnh được trình bày ở phụ lục B, có thể tham khảo thêmtrong hướng dẫn lập trình của nhà sản xuất

Trang 31

Chương 3: HỆ THỐNG XỬ LÝ ẢNH VỚI CAMERA

3.1 Hệ thống xử lý ảnh

Một hệ thống xử lý ảnh bao gồm: nguồn sáng, hệ thống cảm biến (thường là CCDCamera hay CMOS Camera), một giao diện giữa hệ thống cảm biến và máy tính để chuyển tínhiệu tương tự ra tín hiệu số mà máy tính có thể hiểu được

3.2 Hệ thống cảm biến của Camera

Có hai loại cảm biến là CCD và CMOS, nhiệm vụ của chúng là hấp thụ ánh sáng vàchuyển sang dạng tín hiệu số

3.2.1 Cảm biến CCD (Charge-Coupled Device)

CCD bao gồm một mạng lưới như bàn cờ các điểm bắt sáng (pixel) Các điểm này được

phủ các lớp lọc màu (thường là một trong ba màu cơ bản: đỏ, xanh lá cây, xanh dương) để mỗiđiểm chỉ bắt một màu nhất định Do mỗi điểm ảnh được phủ các lớp lọc màu khác nhau vàđược đặt xen kẽ nhau nên màu nguyên thủy tại một điểm của hình ảnh thật sẽ được tái hiệnbằng màu từ một điểm ảnh chính kết hợp với các màu bù được bổ sung từ các điểm xungquanh bằng phương pháp nội suy

Hình 3.1: Nguyên tắc tạo ảnh với cảm biến CCD

Trang 32

Ánh sáng qua ống kính sẽ được lưu lại tại bề mặt chip thông qua các điểm ảnh Thôngtin về số lượng ánh sáng lưu tại mỗi điểm (thể hiện bằng độ khác nhau về điện áp) sẽ đượcchuyển lần lượt theo từng hàng ra bộ phận đọc giá trị (Hình 3.1) Sau đó các giá trị này sẽđược chuyển qua bộ khuếch đại tín hiệu, rồi đến bộ chuyển đổi tín hiệu tương tự sang tín hiệu

số, rồi đến bộ xử lý để tái hiện hình ảnh vừa chụp được

Hình 3.2: Lưới lọc Bayer

Các camera kỹ thuật số thường sử dụng lưới Bayer trên CCD (Hình 3.2) Cứ mỗi 4 điểmảnh kề nhau sẽ có một bộ lọc đỏ, một cho xanh lam và hai cho xanh lá cây (vì mắt người nhạyvới màu xanh lá cây hơn đỏ và xanh lam) Với kỹ thuật này, thông tin sẽ được lưu trên mỗiđiểm ảnh nhưng độ phân giải màu thu được thấp hơn thông tin gốc

Hình 3.3: Cảm biến 3CCD

Một kỹ thuật tách màu tốt hơn, sử dụng 3 cảm biến CCD và một lăng kính (Hình 3.3),chia thông tin ảnh thành 3 phần: đỏ, xanh dương, xanh lá Mỗi CCD được sắp xếp để lấy dữ

Trang 33

liệu cho từng màu Những máy ảnh số và máy quay số chuyên nghiệp sử dụng kỹ thuật này.Với cảm biến 3CCD, hầu hết ánh sáng qua ống kính được lưu lại, trong khi lưới Bayer chỉ hấpthụ khoảng 2/3 lượng ánh sáng trên mỗi điểm ảnh.

3.2.2 Cảm biến CMOS (Complementary Metal-Oxide-Semiconductor)

CMOS thì khác, cạnh mỗi điểm bắt sáng trên chip đều có một mạch bổ trợ, do đó ta có

thể tích hợp các quy trình xử lý ảnh như bộ chuyển đổi analog/digital, cân bằng trắng…vàomạch bổ trợ này, giúp cho quá trình xử lý bức ảnh được thực hiện rất nhanh nhờ được thựchiện ngay tại từng điểm ảnh đơn lẻ

Hình 3.4: Nguyên tắc tạo ảnh với cảm biến CMOS

Nhưng lợi thế này lại trở thành nhược điểm Do mỗi một điểm bắt ảnh trên CMOS lại cómột mạch riêng nên khó có thể đảm bảo tính đồng nhất của mỗi mạch khi khuyếch đại Điềunày làm cho bức ảnh xuất ra luôn có một độ nhiễu nhất định (không mịn) Nếu như ở CCD,mỗi một điểm ảnh là một mặt bắt sáng khiến cho độ nhạy sáng của CCD cao hơn, dải màu thểhiện được nhiều hơn, độ phân giải cao hơn, thì mỗi một điểm ảnh của CMOS (bao gồm hạt bắtsáng và mạch khuyếch đại) khi bắt sáng sẽ có những phần ánh sáng rơi vào vị trí của mạch vì

Trang 34

thế sẽ không được tái hiện Điều này làm cho ảnh bị mất thông tin tại những vùng này dẫn đến

độ phân giải của CMOS không cao

3.3 Logitech Quickcam Pro 4000

Quickcam 4000 được chế tạo bởi Logitech với độ phân giải 640x480, cảm biến VGACCD 1.3 M Pixels

Để đưa Camera vào ứng dụng xử lý ảnh ta phải cài qcsdk.exe do nhà sản xuất cung cấp Sau đó, đưa thư viện Hportal.dll vào trong ứng dụng (viết bằng C# chẳng hạn).

Thông thường mỗi pixel mang thông tin của 256 mức xám Trong hầu hết quá trình xử

lý ảnh, chúng ta chủ yếu chỉ quan tâm đến cấu trúc của ảnh và bỏ qua ảnh hưởng của yếu tốmàu sắc Do đó, bước chuyển từ ảnh màu sang ảnh xám là một công đoạn phổ biến trong cácquá trình xử lý ảnh, vì nó làm tăng tốc độ xử lý, giảm mức độ phức tạp của các thuật toán trênảnh

Ảnh nhị phân khá đơn giản, các phần tử có thể coi như các phần tử logic nên ảnh nhịphân được ứng dụng trong các thuật toán phân biệt đối tượng ảnh với nền hay phân biệt điểmbiên với điểm khác (Bài toán xử lý ảnh – phát hiện đối tượng trong chương 4, ảnh luôn phảichuyển về dạng nhị phân hay còn được gọi là phân ngưỡng)

Trang 35

 Ảnh màu

Ảnh màu là ảnh tổ hợp từ 3 màu cơ bản: Đỏ, Xanh lục, Xanh lam Mỗi màu cũng đượcphân thành L cấp khác nhau Do vậy để lưu trữ ảnh màu, người ta có thể lưu trữ từng mặt màuriêng biệt, mỗi màu lưu trữ như một ảnh đa cấp xám

 Ngưỡng trên và ngưỡng dưới: Trong quá trình phân ngưỡng, giả sử đối tượng sánghơn nền, điểm ảnh được xem là thuộc đối tượng nếu giá trị của nó lớn hơn giá trị ngưỡng, vàngược lại Đây là khái niệm ngưỡng trên, tương tự cho ngưỡng dưới

 Ngưỡng trong và ngưỡng ngoài: Một điểm ảnh được xem là thuộc đối tượng nếu giátrị của nó ỡ giữa hai ngưỡng, đây là ngưỡng trong, ngược lại, đó là ngưỡng ngoài

Trang 36

Hình 3.6: Phân ngưỡng cho ảnh xám

Kết thúc quá trình phân ngưỡng, các điểm ảnh thuộc đối tượng sẽ được gán giá trị là 1trong khi các điểm ảnh thuộc nền được gán giá trị 0 Cuối cùng một bức ảnh nhị phân được tạo

ra bằng cách tô màu trắng hoặc đen cho từng điểm ảnh, phụ thuộc vào giá trị nhị phân của nó

3.4.4 Phân tích BLOBS (Binary Large Objects)

Quá trình phân tích một Blob – như tên gọi của nó phải được thực hiện trên một ảnh nhịphân (kết quả của quá trình phân ngưỡng ở trên) Với ảnh nhị phân vừa được tạo thành, vùngBlobs sẽ là vùng trắng nổi bật trên nền đen hoặc ngược lại Giả sử ta có một ảnh đã được phânngưỡng như sau, vùng cần tìm là vùng trắng

Hình 3.7: Ảnh phân ngưỡng cho thuật toán tìm Blob

Trang 37

Thuật toán cho việc phát hiện Blobs này như sau:

Trước hết quét dòng đầu tiên và tìm ra các nhóm có 1 hay nhiều hơn các điểm ảnhtrắng Ta gọi các nhóm điểm ảnh trắng này là các lineblobs Ghi nhận các lineblobs này bằngmột số nhận dạng (ID)

Sau đó quét dòng kế tiếp, trong quá trình tìm các lineblobs trên dòng này, ta đối chiếuvới các lineblobs ở dòng liền trước nó Nếu các blobs này trùng nhau ở ít nhất một pixel, tahợp 2 lineblobs này thành một blobs và ghi nhận cùng một số nhận dạng

Lặp lại quá trình này cho từng dòng ta sẽ tìm được blobs của ảnh

Trên đây là ba kỹ thuật xử lý ảnh phổ biến, tôi đã dùng các kỹ thuật này cho bài toánđịnh vị bằng Camera và phân loại sản phẩm theo màu Chi tiết về lệnh thực hiện các thao tác

xử lý ảnh này trong thư viện Stockcar được trình bày ở phụ lục A

Ngày đăng: 18/05/2015, 01:00

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Robot Spirit và Opportunity thám hiểm sao hỏa - ỨNG DỤNG GIAO TIẾP ROBOT YK400X và ỨNG DỤNG PHÂN LOẠI sản PHẨM BẰNG CAMERA
Hình 1.1 Robot Spirit và Opportunity thám hiểm sao hỏa (Trang 11)
Hình 1.2: ROV Lastic hoạt động dưới đáy biển 1.1.2 Trong công nghiệp - ỨNG DỤNG GIAO TIẾP ROBOT YK400X và ỨNG DỤNG PHÂN LOẠI sản PHẨM BẰNG CAMERA
Hình 1.2 ROV Lastic hoạt động dưới đáy biển 1.1.2 Trong công nghiệp (Trang 11)
Hình 1.3: Camera thông minh hỗ trợ Robot sơn xe quân đội các loại 1.1.3 Trong đời sống hằng ngày - ỨNG DỤNG GIAO TIẾP ROBOT YK400X và ỨNG DỤNG PHÂN LOẠI sản PHẨM BẰNG CAMERA
Hình 1.3 Camera thông minh hỗ trợ Robot sơn xe quân đội các loại 1.1.3 Trong đời sống hằng ngày (Trang 12)
Hình 2.1: Hình dáng động học của SCARA - ỨNG DỤNG GIAO TIẾP ROBOT YK400X và ỨNG DỤNG PHÂN LOẠI sản PHẨM BẰNG CAMERA
Hình 2.1 Hình dáng động học của SCARA (Trang 16)
Hình 2.2: Hệ tọa độ gốc của SCARA và các biến khớp 1.3.2 Bài toán động học ngược vị trí - ỨNG DỤNG GIAO TIẾP ROBOT YK400X và ỨNG DỤNG PHÂN LOẠI sản PHẨM BẰNG CAMERA
Hình 2.2 Hệ tọa độ gốc của SCARA và các biến khớp 1.3.2 Bài toán động học ngược vị trí (Trang 17)
Hình 2.3 Các hệ tọa độ được gắn theo quy tắc Denavit-Hatenberg - ỨNG DỤNG GIAO TIẾP ROBOT YK400X và ỨNG DỤNG PHÂN LOẠI sản PHẨM BẰNG CAMERA
Hình 2.3 Các hệ tọa độ được gắn theo quy tắc Denavit-Hatenberg (Trang 17)
Hình 3.7: Ảnh phân ngưỡng cho thuật toán tìm Blob - ỨNG DỤNG GIAO TIẾP ROBOT YK400X và ỨNG DỤNG PHÂN LOẠI sản PHẨM BẰNG CAMERA
Hình 3.7 Ảnh phân ngưỡng cho thuật toán tìm Blob (Trang 36)
Hình 3.6: Phân ngưỡng cho ảnh xám - ỨNG DỤNG GIAO TIẾP ROBOT YK400X và ỨNG DỤNG PHÂN LOẠI sản PHẨM BẰNG CAMERA
Hình 3.6 Phân ngưỡng cho ảnh xám (Trang 36)
Hình 4.7: Giao diện Camera - ỨNG DỤNG GIAO TIẾP ROBOT YK400X và ỨNG DỤNG PHÂN LOẠI sản PHẨM BẰNG CAMERA
Hình 4.7 Giao diện Camera (Trang 42)
Hình 4.9: Giao diện Calibration - ỨNG DỤNG GIAO TIẾP ROBOT YK400X và ỨNG DỤNG PHÂN LOẠI sản PHẨM BẰNG CAMERA
Hình 4.9 Giao diện Calibration (Trang 44)
Hình 4.12: Giao diện lựa chọn hệ số tỷ lệ màu - ỨNG DỤNG GIAO TIẾP ROBOT YK400X và ỨNG DỤNG PHÂN LOẠI sản PHẨM BẰNG CAMERA
Hình 4.12 Giao diện lựa chọn hệ số tỷ lệ màu (Trang 46)
Hình 5.2: Lưu đồ chương trình điều khiển Robot - ỨNG DỤNG GIAO TIẾP ROBOT YK400X và ỨNG DỤNG PHÂN LOẠI sản PHẨM BẰNG CAMERA
Hình 5.2 Lưu đồ chương trình điều khiển Robot (Trang 48)
Hình 5.3: Lưu đồ điều khiển xử lý ảnh và tìm tọa độ vật - ỨNG DỤNG GIAO TIẾP ROBOT YK400X và ỨNG DỤNG PHÂN LOẠI sản PHẨM BẰNG CAMERA
Hình 5.3 Lưu đồ điều khiển xử lý ảnh và tìm tọa độ vật (Trang 50)
Hình 5.4: Lưới điểm giúp đánh giá sai số - ỨNG DỤNG GIAO TIẾP ROBOT YK400X và ỨNG DỤNG PHÂN LOẠI sản PHẨM BẰNG CAMERA
Hình 5.4 Lưới điểm giúp đánh giá sai số (Trang 52)
Hình 5.8: Phân bố sai số tổng hợp - ỨNG DỤNG GIAO TIẾP ROBOT YK400X và ỨNG DỤNG PHÂN LOẠI sản PHẨM BẰNG CAMERA
Hình 5.8 Phân bố sai số tổng hợp (Trang 55)

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

w