Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 59

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

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


KHOA CƠ KHÍ

BÁO CÁO THỰC TẬP TỐT NGHIỆP


SỬ DỤNG XỬ LÝ ẢNH CHO ỨNG DỤNG
BIN PICKING CHO TAY MÁY

Sinh viên thực hiện: Nguyễn Giang Thu


GVHD: TS.Ngô Hà Quang Thịnh
MSSV: 1814214

TP HCM, tháng 02 năm 2022

LỜI CẢM ƠN
Lời đầu tiên, tôi xin gửi lời cảm ơn đến tất cả quý Thầy/Cô giảng dạy tại Bộ môn
Cơ Điện Tử - ĐH Bách Khoa Tp.HCM về sự tận tâm và những kiến thức quý báu đã
truyền đạt cho tôi trong suốt thời gian tôi học tập tại trường.
Đặc biệt nhất, xin gửi lời cảm ơn chân thành và sâu sắc đến thầy Ngô Hà Quang
Thịnh, thầy đã hướng dẫn tận tình, chỉ bảo trong suốt quá trình tôi thực hiện luận văn, và
thực tập trong lab. Cảm ơn thầy về những ý tưởng, lời nhận xét kịp thời và những lời
khuyên xác đáng trong Luận văn Tốt nghiệp. Đây là những lời đóng góp quý báu giúp tôi
định hướng và nhận ra những sai sót, kiến thức còn thiếu để hoàn thành mục tiêu luận
văn và giúp học hỏi được nhiều điều khi làm việc trong lab. Cuối cùng, đó là lời cảm ơn
chân thành của tôi đối với gia đình. Cám ơn ba mẹ đã tạo chỗ dựa vững chắc, hỗ trợ về
vật chất lẫn tinh thần, động viên con trong quá trình học tập để con có thể vượt qua khó
khăn và hoàn thành luận văn.
MỤC LỤC
CHƯƠNG I : TỔNG QUAN...........................................................................................1
I. Đặt vấn đề:.................................................................................................................1
II. Sơ lược đề tài:............................................................................................................1
1.1. Lý do chọn đề tài:..............................................................................................1
1.2. Mục đích , đối tượng và phạm vi nghiên cứu:...............................................1
III. Sơ lược về robot công nghiệp.................................................................................2
2.1. Lịch sử hình thành của robot công nghiệp......................................................2
IV. Phân loại các dạng Robot công nghiệp phổ biến và ứng dụng của chúng:.........3
4.1. Phân loại theo không gian làm việc...................................................................3
4.2. Phân loại theo hệ thống truyền động:...............................................................6
4.3. Phân loại theo ứng dụng:...................................................................................6
4.4. Phân loại theo cách thức điều khiển:................................................................6
V. Tổng quan xử lý ảnh................................................................................................7
5.1. các quá trình xử lý ảnh:.....................................................................................7
VI. Tổng quan PLC (point clould):.............................................................................9
5.1. Khái niệm:...........................................................................................................9
5.2. Đặc điểm:............................................................................................................9
VII. Nhiệm vụ:............................................................................................................10
CHƯƠNG II: LỰA CHỌN PHƯƠNG ÁN..................................................................12
I. Các dạng robot sử dụng:.........................................................................................12
1.1. Detal robot.....................................................................................................12
1.2. Scara robot:...................................................................................................13
1.3. Serial robot:.....................................................................................................14
II. Cơ cấu tác động:.................................................................................................14
2.1. Cơ cấu gắp/ hút vật:.........................................................................................14
III. Camera:..............................................................................................................16
3.1. Stereo camera:............................................................................................. 16
3.2. Time-of-Flight camera (ToF camera):.........................................................16
3.3. Structure light camera:.................................................................................17
3.4. LiDAR:..............................................................................................................18
IV. Bộ điều kiển:......................................................................................................18
4.1. Vi điều khiển:.................................................................................................18
4.2. Card điều khiển:............................................................................................19
4.3. Programmable Logic Controller (PLC):.....................................................19
V. Kết luận:...............................................................................................................20
CHƯƠNG III: PHÂN TÍCH ĐỌNG HỌC TAY MÁY...............................................21
I. Sơ lược về Robot Nachi MZ07:...........................................................................21
II. Động học thuận:................................................................................................22
III. Động học nghịch:..............................................................................................25
IV. Kiểm tra động học nghịch................................................................................34
CHƯƠNG IV: GIAO TIẾP VÀ ĐIỀU KIỂN ROBOT...................................................36
I. Tổng quan về giao tiếp Robot NACHI MZ07:................................................36
II. Giới thiệu về Socket Communication:............................................................36
III. Giải thuật:.........................................................................................................38
CHƯƠNG V: THIẾT KẾ HỆ THỐNG ĐIỆN VÀ CƠ CẤU CHẤP HÀNH.............41
I. Sơ đồ khối hệ thống điện:....................................................................................41
II. Các thiết bị tác động và vào ra tín hiệu:.......................................................41
III. Cơ cấu tác động:............................................................................................42
3.1. Tính toán giác hút:...................................................................................42
3.2. Tính toán đồ gá giác hút:..........................................................................45
IV. Bộ điều khiển trung tâm:.............................................................................46
4.1. Lựa chọn PLC:......................................................................................... 46
4.2. Đấu dây PLC:........................................................................................... 47
4.3. Điều khiển PLC thông qua PC:................................................................48
Danh mục hình ảnh
Hình 1. 1 Unimate-Robot thương mại đầu tiên trên thế giới
Hình 1. 2 Cơ cấu robot dạng tọa độ Descartes
Hình 1. 3 Cơ cấu Robot dạng tọa độ trụ.
Hình 1. 4 Robot dạng tọa độ cầu R.R.T
Hình 1. 5 Robot dạng tọa độ cầu R.R.R.
Hình 1. 6 Robot phỏng sinh
Hình 1. 7 Robot Scara.
Hình 1. 8 Các giai đoạn chính trong xử lý ảnh
Hình 2. 1 Các bộ phận tạo thành hệ thống Robot Pick and Place.....................................12
Hình 2. 2 OMRON Delta Robot IP67..............................................................................13
Hình 2. 3 ADEPT Scara Robot I800 series......................................................................13
Hình 2. 4 Epson ProSix C4-A901C.....................................................................................14
Hình 2. 5 Tay gắp khí nén................................................................................................15
Hình 2. 6 Giác hút khí nén...............................................................................................15
Hình 2. 7 Magnetic grippers.............................................................................................16
Hình 2. 8 ZED Stereo camera..........................................................................................16
Hình 2. 9 Microsoft Kinect v2.........................................................................................17
Hình 2. 10 Microsoft Kinect v1........................................................................................17
Hình 2. 11 Asus Xtion Pro Live.......................................................................................18
Hình 2. 12 Velodyne LiDAR Puck Hi-Res sensor...........................................................18
Hình 2. 13 Tiva C Series TM4C123G..............................................................................19
Hình 2. 14 ADAPTEC 2940W AHA-2940UW PCI SCSI CARD...................................19
Hình 2. 15 PLC Mitsubishi dòng FX...............................................................................20
Hình 3. 1 Robot Serial NACHI MZ07
Hình 3. 2 Không gian làm việc của NACHI MZ07
Hình 3. 3 Hệ tọa độ tay máy NACHI MZ07
Hình 4. 1 TCP và UDP
Hình 4. 2 Lưu đồ giải thuật giao tiếp trên CFD Controller
Hình 5. 1 Sơ đồ khối các thiết bị điện
Hình 5. 2 Nút nhấn
Hình 5. 3 Nút dừng khẩn cấp
Hình 5. 4 Relay kính điện từ
Hình 5. 5 Ký hiệu valve chân không.
Hình 5. 6 Các lực tác động lên vật khi hút.
Hình 5. 7 Đồ gá giác hút ESH-HD
Hình 5. 8 Bảng tra khối lượng ứng với chiều dài tool an toàn.
Hình 5. 9 Board PLC Mitsubishi FX3U LE3U 24MT
Hình 5. 10 Sơ đồ tổng quan điều khiển PLC qua máy tính…
Danh mục bảng biểu
Bảng 1. 1 Các phương án lựa chọn để thiết kế hệ thống Robot Bin Picking....................20
Bảng 3. 1 Các thông số cơ bản của Robot NACHI MZ07.
Bảng 3. 2 Thông số Denavit–Hartenberg.
Bảng 3. 3 Kích thước Robot NACHI MZ07 (mm).
Bảng 3. 4 Kết quả kiểm nghiệm động học ngược Robot NACHI MZ07.
Bảng 5. 1 Các thiết bị đầu vào tương ứng với cổng Input PLC.
Bảng 5. 2 Các thiết bị đầu vào tương ứng với cổng Input PLC.
CHƯƠNG I : TỔNG QUAN

I. Đặt vấn đề:


Với mục tiêu nâng cao năng suất dây chuyền công nghệ để giảm giá thành, nâng
cao chất lượng và khả năng cạnh tranh của sản phẩm. Việc ứng dụng công nghệ tự động
hóa có tính linh hoạt cao thay thế cho các dây chuyền tự động cứng ngày càng rộng rãi.
Cho nên xu thế sử dụng Robot thay thế con người trong các dây chuyền sản xuất và lắp
ráp trở nên tất yếu. Trong luận văn này, sẽ sử dụng các thư viện xử lý ảnh cho ứng dụng
bin picking cho tay máy.
II. Sơ lược đề tài:
1.1. Lý do chọn đề tài:
Trong dây chuyền sản xuất ngày nay, hoạt động gắp - đặt và đóng gói sản phẩm
đòi hỏi rất nhiều từ người vận hành, bao gồm tốc độ, chính xác, kiểm tra, phân loại và sự
khéo léo. Robot bin picking với khả năng lặp lại tối đa, giúp cho quá trình chọn và đặt tự
động hóa tốt hơn bao giờ hết, có thể hoàn thành các nhiệm vụ này một cách nhất quán ở
tốc độ cao mà không cần nghỉ. Từ đó giúp bạn sẽ tiết kiệm được rất nhiều chi phí nhân
công, giảm được tối đa sai sót, Vì vậy việc ứng dụng sử lí ảnh cho bin picking tay máy
ngày càng được sử dụng phổ biến trong công nghiệp trong.
Ngày nay xử lí ảnh càng ngày được ứng dụy nhiều trong các lĩnh vực như y tế,
quốc phòng, giáo dục,…. Xử lý ảnh gồm 4 lĩnh vực chính: xử lý nâng cao chất lượng
ảnh, nhận dạng ảnh, nén ảnh và truy vấn ảnh. Lĩnh vực em chọn làm là dùng thư viện xử
lý ảnh PCL nhận dạng vị trí của vật từ đó dùng cánh tay robot gắp vật, một camera sẽ gắn
ở end-effector của robot và cách vật gắp 1 khoảng cách nhất định.
1.2. Mục đích , đối tượng và phạm vi nghiên cứu:
Mục đích:
Phân tích xử lí ảnh sử dụng thư viện PLC để tìm ra vị trí vật có tư thế tốt
nhất . Sau khi xác định vị trí dùng tay máy để gắp vật đã xác định. Lập trình trên
ngôn ngữ C++ .
Đối Tượng Nghiên cứu:
Các chi tiết có hình dạng giống nhau và sắp xếp ngẫu nhiên theo nhiều
hướng khác nhau. Phạm vi giới hạn trong việc nghiên cứu xây dựng cơ sở lí thuyết
và thiết bị thực nghiệm sử dụng hệ camera và tay máy để xác đinh tọa độ của chi
tiết.
Phạm vi nghiên cứu:
Các loại chi tiết cơ khí như là bulong, đai ốc,…

1
III. Sơ lược về robot công nghiệp
2.1. Lịch sử hình thành của robot công nghiệp
Khái niệm về robot công nghiệp được khai sinh vào năm 1954 khi một robot có
khả năng nhấc lên và đặt xuống các vật thể được cấp bằng sáng chế tại Hoa Kỳ.
Năm 1975 công ty Unimation đã bắt đầu có lợi nhuận từ sản phẩm robot đầu tiên.
Chiếc robot công nghiệp được đưa vào ứng dụng đầu tiên, năm 1961, ở một nhà máy ô tô
của General Motors tại Trenton, New Jersey Hoa Kỳ.
Năm 1967, Nhật Bản mới nhập chiếc robot công nghiệp đầu tiên từ công ty AMF.
Đến năm 1990 có hơn 40 công ty Nhật Bản, trong đó có những công ty khổng lồ như
công ty Hatachi và công ty Mitsubisi, đã đưa ra thị trường quốc tế nhiều loại robot nổi
tiếng.
Từ những năm 80, nhất là vào những năm 90, do áp dụng rộng rãi các tiến bộ kỹ
thuật về vi xử lý và công nghệ thông tin, số lượng robot công nghiệp đã gia tăng, giá
thành giảm đi rõ rêt, tính năng đã có nhiều bước tiến vượt bậc. Nhờ vậy robot công
nghiệp đã có vị trí quan trọng trong các dây chuyền sản xuất hiện đại.
Đối với robot công nghiệp, liên kết nhiều robot tạo ra khả năng làm việc với người
đã được đưa vào sử dụng thực tế. Ví dụ, CR-35iA, một robot hợp tác được sản xuất bởi
FANUC Corp. vào năm 2015 và Coro Co-robot do Life Robotics Inc. sản xuất vào năm
2015, có thể làm việc với người mà không cần hàng rào an toàn. Ngoài ra, NEXTAGE,
được sản xuất bởi Kawada Robotics Corp. vào năm 2011, có cấu trúc bắt chước phần
người và robot có thể thực hiện các nhiệm vụ mà trước đây cần được thực hiện bởi công
nhân.
Robot công nghiệp được hiểu là những thiết bị tự động linh hoạt,bắt chước được
các chức năng lao động công nghiệp của con người. Nói đến thiết bị tự động linh hoạt là
nói đến khả năng thao tác với nhiều bậc tự do, được điều khiển trợ động và lập trình thay
đổi được. Còn nói đến sự bắt chước các chức năng lao động công nghiệp của con người
là có ý nói đến sự không hạn chế từ các chức năng lao động chân tay đơn giản đến trí
khôn nhân tạo, tùy theo loại hình công việc lao động cần đến chức năng đó hay ko. Đồng
thời cũng nói đến mức độ cần thiết bắt chước được như con người hay không.

2
Hình 1. 1 Unimate-Robot thương mại đầu tiên trên thế giới
Năm 1973, Robot công nghiệp đầu tiên với 6 bậc tự do mang tên Famulus do tập
đoàn Kuka Robotics giới thiệu.
Năm 1974, Robot IRB6, Robot công nghiệp đầu tiên được điều khiển bởi máy vi
tính do công ty ASEA sản xuất (một công ty cơ khí nhỏ ở miền Nam Thụy Điển, sau này
sáp nhập với tập đoàn BBC - Thụy Sỹ để hình thành tập đoàn ABB).
Năm 1979, chế tạo thành công Robot dạng Scara tại phòng thí nghiệm của giáo sư
người Nhật Bản Hiroshi Makino, tại Đại Học Yamanashi.
Thập kỉ 1980s, hình thành và phát triển Delta Robot bởi nhóm phát triển của giáo
sư Reymond Clavel tại Viện công nghệ Liên bang Thụy Sỹ Lausanne.
IV. Phân loại các dạng Robot công nghiệp phổ biến và ứng dụng của chúng:
4.1. Phân loại theo không gian làm việc
Không gian làm việc dạng tọa độ Descartes: dạng Robot có 3 chuyển động tịnh
tiến theo phương của các trục tọa độ gốc. Không gian làm việc có dạng hình hộp chữ
nhật. Kết cấu đơn giản, độ tuyến tính trong điều khiển cao, độ cứng vững cao, thường
được dùng trong các ứng dụng nâng hạ vật, cấp phôi, lắp ghép, máy CNC, …

3
Hình 1. 2 Cơ cấu robot dạng tọa độ Descartes
Không gian làm việc dạng tọa độ trụ: vùng làm việc của Robot có dạng hình trụ
rỗng, khớp thứ nhất thường chuyển động quay các khớp còn lại chuyển động tịnh tiến,
thường được ứng dụng trong nâng hạ và sắp xếp sản phẩm.

Hình 1. 3 Cơ cấu Robot dạng tọa độ trụ.


Không gian làm việc kiểu tọa độ cầu: vùng làm việc của Robot có hình cầu, độ
cứng vững của dạng này thấp hơn các dạng trên, thường có cấu hình R.R.T hoặc R.R.R.

4
Hình 1. 4 Robot dạng tọa độ cầu R.R.T

Hình 1. 5 Robot dạng tọa độ cầu R.R.R.


Không gian làm việc kiểu tọa góc (phỏng sinh): mô phỏng theo cáy tay con người.
Tất cả các khớp đều chuyển động quay. Vùng làm việc của Robot gần giống khối cầu
rỗng. Ứu điểm của dạng Robot này là tất cả cac khâu đều nằm trong một mặt phẳng nên
dễ dàng tính toán, vùng làm việc tương đối lớn so với kích cỡ bản than robot. Độ linh
hoạt rất cao, có thể điều khiển được Robot theo cả 6 bậc tự do trong không gian.

Hình 1. 6 Robot phỏng sinh

5
Robot scara là một kiểu tay máy có cấu tạo đặc biệt, gồm 2 khớp quay và 1 khớp
trượt, nhưng cả 3 khớp đều có trục song song với nhau.Vùng làm việc của scara là một
phần của hình trụ rỗng.

Hình 1. 7 Robot Scara.


4.2. Phân loại theo hệ thống truyền động:
Hệ truyền động điện: thường dùng các động cơ điện (servo, stepper, …) một chiều
hoặc xoay chiều để điều khiển khớp Robot, dễ điều khiển và kết cấu gọn.
Hệ truyền động thủy lực: có thể đạt được công suất cao, tạo ra lực rất lớn, đáp ứng
được các tác vụ nặng. Nhược điểm của truyền động thủy lực là độ phi tuyến lớn, kết cấu
cồng kềnh.
Hệ truyền động khí nén: phù hợp với các tác vụ đòi hỏi năng suất cao như Pick
and Place với tốc độ lớn. Kết cấu gọn nhẹ nhưng độ phi tuyến lớn và ồn ào khi hoạt
động.
4.3. Phân loại theo ứng dụng:
- Ứng dụng trong công nghiệp: Robot sơn, hàn, lắp ráp, chuyển phôi, hậu cần, …
- Ứng dụng trong ngành dịch vụ: các dạng Robot giao hàng, hút bụi, tạp vụ, …
- Ứng dụng trong nghiên cứu: các Robot khảo sát địa chất, tự hành, …
- Ứng dụng trong an ninh – bảo vệ: Robot giám sát, cứu hộ, …
4.4. Phân loại theo cách thức điều khiển:
Điều khiển hở: không có quan hệ hồi tiếp giữa bộ điều khiển và hệ truyền động
nên độ chính xác kém.
Điều khiển kín: có quan hệ hồi tiếp giữa bộ điều khiển và hệ truyền động thông
qua encoder, cảm biến, … nên tăng độ chính xác và độ linh hoạt trong điều khiển.

6
V. Tổng quan xử lý ảnh.
Xử lý ảnh (XLA) là đối tƣợng nghiên cứu của lĩnh vực thị giác máy, là quá trình
biến đổi từ một ảnh ban đầu sang một ảnh mới với các đặc tính và tuân theo ý muốn của
ngƣời sử dụng. Xử lý ảnh có thể gồm quá trình phân tích, phân lớp các đối tƣợng, làm
tăng chất lƣợng, phân đoạn và tách cạnh, gán nhãn cho vùng hay quá trình biên dịch các
thông tin hình ảnh của ảnh.
Cũng nhƣ xử lý dữ liệu bằng đồ hoạ, xử lý ảnh số là một lĩnh vực của tin học ứng
dụng. Xử lý dữ liệu bằng đồ họa đề cập đến những ảnh nhân tạo, các ảnh này đƣợc xem
xét nhƣ là một cấu trúc dữ liệu và đƣợc tạo bởi các chƣơng trình. Xử lý ảnh số 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.
- Tự động nhận dạng ảnh, đoán nhận ảnh, đánh giá các nội dung của ảnh.
Nhận biết và đánh giá các nội dung của ảnh là sự phân tích một hình ảnh thành
những phần có ý nghĩa để phân biệt đối tƣợng này với đối tƣợng khác, dựa vào đó ta có
thể mô tả cấu trúc của hình ảnh ban đầu. Có thể liệt kê một số phƣơng pháp nhận dạng cơ
bản nhƣ nhận dạng ảnh của các đối tƣợng trên ảnh, tách cạnh, phân đoạn hình ảnh,… Kỹ
thuật này đƣợc dùng nhiều trong y học (xử lý tế bào, nhiễm sắc thể), nhận dạng chữ
trong văn bản.
5.1. các quá trình xử lý ảnh:

Hình 1. 8 Các giai đoạn chính trong xử lý ảnh


Thu nhận ảnh: Đây là công đoạn đầu tiên mang tính quyết định đối với quá trình
XLA. Ảnh đầu vào sẽ đƣợc thu nhận qua các thiết bị nhƣ camera, sensor, máy
scanner,v.v… và sau đó các tín hiệu này sẽ đƣợc số hóa. Việc lựa chọn các thiết 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
ở bƣớc 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ị.
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.v… 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.

7
Phân đoạn ảnh: 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 nào đó 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 mức
xám v.v… Mục đích của phân đoạn ảnh là để có một miêu tả tổng hợp về nhiều phần tử
khác nhau cấu tạo lê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.
Phân đoạn ảnh: 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 nào đó 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 mức
xám v.v… Mục đích của phân đoạn ảnh là để có một miêu tả tổng hợp về nhiều phần tử
khác nhau cấu tạo lê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.
Tách các đặc tính: Kết quả của bƣớc phân đoạn ảnh thƣờng đƣợc cho dƣới dạng
dữ liệu điểm ảnh thô, trong đó hàm chứa biên của một vùng ảnh, hoặc tập hợp tất cả các
điểm ảnh thuộc về chính vùng ảnh đó. Trong cả hai trƣờng hợp, sự chuyển đổi dữ liệu
thô này thành một dạng thích hợp hơn cho việc xử lý trong máy tính là rất cần thiết. Để
chuyển đổi chúng, câu hỏi đầu tiên cần phải trả lời là nên biểu diễn một vùng ảnh dƣới
dạng biên hay dƣới dạng một vùng hoàn chỉnh gồm tất cả những điểm ảnh thuộc về nó.
Biểu diễn dạng biên cho một vùng phù hợp với những ứng dụng chỉ quan tâm chủ yếu
đến các đặc trƣng hình dạng bên ngoài của đối tƣợng, ví dụ nhƣ các góc cạnh và điểm
uốn trên biên chẳng hạn. 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ƣ vân ảnh hoặc 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 đổi dữ liệu ảnh thô sang một dạng thích hợp hơn cho các xử lý về sau.
Chúng ta còn phải đƣa ra một phƣơng pháp mô tả dữ liệu đã đƣợc chuyển đổi đó sao
cho những tính chất cần quan tâm đến sẽ đƣợc làm nổi bật lên, thuận tiện cho việc xử lý
chúng.
Nhận dạng và giải thí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 gán nhãn cho các đối tƣợng trong
ảnh. Ví dụ đối với nhận dạng chữ viết, các đối tƣợng trong ảnh cần nhận dạng là các mẫu
chữ, ta cần tách riêng các mẫu chữ đó ra và tìm cách gán đúng các ký tự của bảng chữ cái
tƣơng ứng cho các mẫu chữ thu đƣợc trong ảnh. Giải thích là công đoạn gán nghĩa cho
một tập các đối tƣợng đã đƣợc nhận biết.
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

8
chỉnh sửa ảnh nghệ thuật chỉ dừng lại ở bƣớc tiền xử lý. 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
v.v…
VI. Tổng quan PLC (point clould):
5.1. Khái niệm:
Point cloud được hiểu là đám mây điểm. Đây là tập hợp những điểm dữ liệu trong
không gian 3D. Những điểm này cùng nhau tạo nên hình dạng của đối tượng trong không
gian 3D. Mỗi điểm Point cloud có toạ độ tương ứng x,y,z có độ chính xác cao. Như vậy,
việc căn cứ vào Point cloud hoàn toàn có thể xác định được vật thể đối tượng ở quy mô
chi tiết, cụ thể. Các đám mấy điểm được tạo ra phổ biến nhất bằng cách sử dụng máy
quét laser 3D cùng công nghệ và kĩ thuật LiDAR (phát hiện và phạm vi ánh sáng ). Ở
đây, mỗi điểm đại diện cho một phép đo quét laser duy nhất. Sau đó những bản quét này
được ghép lại với nhau, tạo ra một cảnh chụp hoàn chỉnh.
5.2. Đặc điểm:
- Point cloud là những điểm riêng lẽ và dễ chỉnh sửa:
 Sử dụng các điểm không liên quan là chìa khóa cho tính hữu ích của đám
mây điểm. Các đám mây điểm tương đối dể chỉnh sửa, hiển thị và lọc. Các
đám mây điểm cũng là một cánh thuận tiện để đo các thuộc tính của tòa nhà
hoặc đối tượng. Các phép đo đó cũng chính xác và chi tiết hơn nhiều so với
các công nghệ khảo sát khác tạo ra.
- Có rất nhiều định dạnh point cloud khác nhau:
 Có hàng trăm định dạng tệp có sẳn để tạo mô hình 3D. Các máy quét khác
nhau tạo ra dữ liệu 3D ở nhiều định dạng khác nhau. Các phần mền xử lý
khác nhau có thể chấp nhận một số loại tệp này và mỗi phần mền có khả
năng xuất khác nhau.
 Nếu muốn lưu dữ liệu trong 20 năm tới ,tốt nhất nên lưu trữ PLC dưới dạng
tệp ASCII
- Point cloud là dữ liệu mở:
 PCL là thư viện mã nguồn mở, Nó miễn phí cho việc sử dụng thương mại
và nghiên cứu. Nó đa dạng nền tảng và đã được biên dịch và triển khai
thành công trên Linux, MacOS, Windows và Android/iOS. Để đơn giản
hóa việc phát triển, PLC chia thành một loạt các thư viện mã nhỏ hơn, có
thể biên dịch riêng. Tính modun này rất quan trọng để phân phối PCl trên
các nền tảng có hạn chế về kích thước hoặc tính toán được giảm bớt.

9
- Ứng dụng của point cloud

 Lưu trữ: Cũng nhờ công nghệ 3D bằng việc tạo ra những Point cloud có
độ chính xác mà có thể ứng dụng cho các ngành mang tính bảo tồn,
nghiên cứu. Những mẫu 3D được sao lưu được lưu giữ làm mẫu sẽ là
nguồn dữ liệu quý giá cho nhiều mục đích sử dụng khác nhau.
 Lập hiện trạng: Dữ liệu Point cloud sẽ được sử dụng hiệu quả cho việc lập
hiện trạng của đối tượng. Trong ngành xây dựng, việc lập hiện trạng có ý
nghĩa rất lớn để có thể đưa ra những đề xuất cho công trình dự án cần thực
hiện. Ví dụ như có thể dùng để đề xuất phương án cải tạo, phương án thi
công, …
 Khảo sát địa chất: Point cloud tham gia quá trình khảo sát địa chất nhằm
đưa ra những dự báo, những đánh giá trước khi công trình được triển khai
thực tế. Với sự hỗ trợ của công nghệ 3D, cùng dụng cụ trang thiết bị liên
quan đây là công tác nghiên cứu, đánh giá điều kiện địa chất công trình tại
địa điểm xây dựng. Quá trình này giúp xác định cấu trúc nền đất, tính chất
cơ lý của các lớp đất nền, điều kiện nước dưới đất và các tai biến địa chất
phục vụ cho công tác quy hoạch, thiết kế và xử lý nền móng. Các dạng
công tác chính trong khảo sát địa chất công trình bao gồm: khoan, đào,
xuyên tĩnh, xuyên động, địa vật lý, nén tĩnh, nén ngang, cắt cánh… Tuỳ
vào mỗi công trình mà sẽ có những yêu cầu và hạng mục thực hiện khác
nhau. Khảo sát địa chất được ứng dụng cho các ngành như: xây dựng, điện
lực, cầu đường,…
VII. Nhiệm vụ:

- Thiết kế cơ khí , bản vẽ, chế tạo.


 Lựa chọn dạng Robot phù hợp.
 Tính toán, chọn cơ cấu phù hợp để gắp chi tiết gá.
 Lựa chọn camera phù hợp.
 Thiết kế, chế tạo đầu công tác Robot để gắp chi tiết gá.
 Tính toán, xác định chiều cao gá camera phù hợp, thiết kế cụm gá
camera để nhận dạng chi tiết gá.
 Lắp đặt các thiết bị trong không gian hợp lý.
- Xây dựng sơ đồ mạch điện, kết nối thiết bị
 Tính toán số lượng I/O cần thiết, kiểm tra độ tương thích giữa các thiết
bị ngoại vi, từ đó chọn bộ điều khiển trung tâm phù hợp.
 Thiết lập sơ đồ đấu nối các thiết bị, đấu nối phần cứng, kiểm tra mạch,
tính ổn định của thiết bị.
- Xây dựng giải thuật điều khiều khiển các thiết bị ngoại vi:

10
 Xây dựng chương trình giao tiếp giữa bộ điều khiển và máy tính để có
thể truyền nhận thông tin giữa hai thiết bị với nhau.
 Tìm hiểu, lập trình bộ điều khiển để điều khiển đầu gắp vật.
 Tìm hiểu phương thức điều khiển Robot, thư viện OpenNR của hãng
NACHI Robotics, giao tiếp TCP/IP.
- Ứng dụng xử lý ảnh để ước tính vector pháp tuyến và tâm chi tiết gá:
 Tìm hiểu thư viện Point Cloud Library: các module tìm kiếm KdTree,
OcTree, các module ước tính vector pháp tuyến của vật Normal 3D và
Integral Image Normal.
 So sánh các phương pháp tìm vector pháp tuyến trong thư viện PCL và
lựa chọn phương pháp phù hợp nhất.
 Tìm hiểu thư viện OpenCV: các giải thuật nhận diện vị trí tâm của vật
OpenCV center of contour và giải thuật nhận diện vật.
 Tìm hiểu và đề xuất phương pháp kết hợp thư viện xử lý ảnh với các thư
viện điều khiển các thiết bị ngoại vi.
 Xây dựng giải thuật điều khiển.
- Kiểm tra, đánh giá sai số:
 Nếu tọa độ tâm của chi tiết gá được xác định không thỏa yêu cầu về độ
chính xác, cần sử dụng thêm vị trí trung gian để hiệu chỉnh sai số tâm.

11
CHƯƠNG II: LỰA CHỌN PHƯƠNG ÁN

Chương 1 đã giới thiệu tổng quan các loại cơ cấu robot và ứng dụng trong công nghiệp.
Mỗi cơ cấu đều có những ưu nhược điểm nhất định nên chương này đi vào phân tích, so
sánh để lựa chọn phương án phù hợp nhất.

Hình 2. 1 Các bộ phận tạo thành hệ thống Robot Pick and Place.
Hình 2.1 thể hiện các bộ phận cấu thành hệ thống Robot Pick and Place của đề
tài. Hệ thống sử dụng camera làm cảm biến nhận diện vị trí và hướng của vật, sau đó
Robot sẽ gắp vật băng cơ cấu gắp vật đến vị trí xác định. Các chi tiết lựa chọn phương
án được thể hiện cụ thể hơn bên dưới.
I. Các dạng robot sử dụng:
Các dạng robot thường được sử dụng trong các ứng dụng Bin Picking bao
gồm: Delta robot, Scara robot hoặc Serial robot.
I.1. Detal robot

12
Hình 2. 2 OMRON Delta Robot IP67
Là một dạng Robot song song được ứng dụng rộng rãi trong công nghiệp.
 Ưu điểm: có tốc độ cao nhất trong các dạng cơ cấu robot.
 Nhược điểm: Độ cứng vững không cao, cơ cấu chấp hành chỉ có hướng
vuông góc với mặt đất, phù hợp với các ứng dụng gắp thả vật, đóng gói
sản phẩm trên mặt phẳng đòi hỏi năng suất cao.

I.2. Scara robot:

Hình 2. 3 ADEPT Scara Robot I800 series


 Ưu điểm: 3 khớp đầu tiên song song với nhau, cơ cấu chấp hành di
chuyển theo hướng vuông góc với mặt đất vì thế khớp đầu tiên không
chịu tác dụng của trọng lực tải trọng nên có độ cứng vững và tốc độ rất
cao

13
 Nhược điểm: Số bật tự do hạn chế ở mức 4 DOF, cơ cấu chấp hành cuối
luôn có hướng vuông góc với mặt phẳng đất, phù hợp với các ứng dụng
lắp ghép, gắp thả, cắt kim loại trên mặt phẳng đòi hỏi tốc độ cao.
I.3. Serial robot:

Hình 2. 4 Epson ProSix C4-A901C


Đây là dạng cơ cấu phổ biến nhất trong Robot công nghiệp.
 Ưu điểm: Độ cứng vững cao, vùng làm việc rộng, số bật tự do dao động
từ 5-6 dof nên độ linh hoạt cao, thích hợp cho các ứng dụng gắp vật có
xét đến yếu tố hướng.
 Nhược điểm: Tốc độ so với Delta Robot và Scara Robot thấp hơn.Với
yêu cầu gắp chi tiết trên băng tải được để tùy ý. Yếu tố hướng được xét
đến nên Serial Robot được lựa chọn.
II. Cơ cấu tác động:
Cơ cấu tác động trong hệ thống bao gồm 2 phần: băng tải dùng để di chuyển
phôi và cơ cấu gắp/hút phôi từ băng tải.
2.1. Cơ cấu gắp/ hút vật:
Các tool được sử dụng phổ biến để gắp vật cho Robot là: tay gắp, giác hút chân
không và nam châm điện.

14
Hình 2. 5 Tay gắp khí nén
Tay gắp khí nén được sử dụng phổ biến làm cơ cấu chấp hành của Robot. Tay
gắp có lực gắp chặt nên gắp được vật nặng, gắp được hầu hết các hình dạng khác nhau.
Nhược điểm của tay gắp và phải xác định rõ vị trí và hướng của vật cần gắp, phải chú ý
đế kích thước vật gắp để tránh va chạm.

Hình 2. 6 Giác hút khí nén


Phù hợp gắp các vật nhẹ, dễ sử dụng và lắp đặt, giá thành rẻ, có thể kết hợp nhiều
giác hút thành một nhóm giác hút để tăng lực hút. Nhược điểm của giác hút là vật cần
hút phải có bề mặt nhẵn và trọng lượng không quá nặng, hoạt động gây ra tiếng ồn khá
lớn

15
Hình 2. 7 Magnetic grippers
Nam châm điện lắp đặt thuận tiện và dễ sử dụng, có thể hút được các mặt không
phẳng, hoạt động ít tiếng ồn, có đủ mọi loại công suất cho các khối lượng khác nhau,
nhược điểm lớn nhất của nam châm điện là chỉ sử dụng hút các vật liệu có từ tính. Chi
tiết cần gắp vật liệu bằng nhựa có kích thước bao 125×80×55mm, bề dày 5mm, có một
mặt phẳng hoàn toàn và mặt còn lại có các gân đỡ và khớp nối. Với đặc điểm trên, lựa
chọn giác hút khí nén cho cơ cấu gắp vật là phù hợp nhất.
III. Camera:
3.1. Stereo camera:
Là một dạng camera 3D có hai hoặc nhiều hơn các cảm biến hình ảnh để
bắt các góc ảnh khác sau. Từ độ sai lệch giá trị trả về từ 2 camera đơn đó tính ra
chiều sâu của ảnh. Đây là mô hình camera 3D đầu tiên, có độ chính xác so với các
camera cùng chức năng không cao, giá thành tương đối rẻ. Tuy nhiên với việc cải
thiện chất lượng của cảm biến hình ảnh và giải thuật xử lý, hiện tại có một số loại
Stereo camera cho chất lượng rất tốt nhưng giá thành tương đối cao.

Hình 2. 8 ZED Stereo camera.


3.2. Time-of-Flight camera (ToF camera):
Các ToF camera sử dụng ánh sáng hồng ngoại chiếu tới vật thể cần xác
định, cảm biến đo thời gian dội lại của tia hồng ngoại để xác định chiều sâu. Sai số
khoảng 1cm, Microsoft Kinect v2 là một trong những đại diện tiêu biểu của loại
camera này.

16
Hình 2. 9 Microsoft Kinect v2
3.3. Structure light camera:
Hoạt động bằng cách chiếu một dãi ánh sáng lên bề mặt cần xác định, dựa
trên hiện tượng cong của ảnh trả về để tính ra chiều sâu của bề mặt. Tốc độ của
phương pháp này nhanh hơn so với các ToF camera (khoảng 30fps so với 20fps).
Sai số khoảng 1cm. Vấn đề gặp phải của phương pháp này là vật thể phải đủ lớn
để gây ra hiện tượng cong ảnh, giá thành tương đối phù hợp với các ứng dụng học
tập và nghiên cứu. Microsoft Kinect v1 và Asus Xtion là những đại diện tiêu biểu
cho loại camera này.

Hình 2. 10 Microsoft Kinect v1

17
Hình 2. 11 Asus Xtion Pro Live
3.4. LiDAR:
Được phát triển cho các ứng dụng khảo sát địa lý, địa chất, khảo cổ học…
LiDAR có nguyên lý hoạt động tương tự như ToF camera nhưng cho chất lượng
ảnh 3D tốt hơn rất nhiều lần. Nguyên nhân là do LiDAR sử dụng tia laser để chiếu
tới vật cản, nhờ tính định hướng cao của laser, ánh sáng phản xạ lại được thu nhận
bởi cảm biến cho độ chính xác rất cao, kết hợp với motor quay để bao quát một
vùng không gian rộng. Đây là loại cảm biến 3D được ưu tiên sử dụng trong các
ứng dụng xe tự hành.

Hình 2. 12 Velodyne LiDAR Puck Hi-Res sensor


So sánh các ưu nhược điểm của các loại camera 3D và dựa trên các điều kiện có
sẵn, đề tài sử dụng camera 3D Asus Xtion Pro Live.
IV. Bộ điều kiển:
Bộ điều khiển có chức năng làm trung tâm xử lý, nhận tín hiệu từ máy tính để
ra lệnh đóng mở van khí nén hút vật, ghép vật và phát xung điều khiển động cơ
chạy băng tải.
IV.1. Vi điều khiển:
Vi điều khiển có các chủng loại rất đa dạng, khả năng lập trình và tùy biến
rất cao. Giá thành tương đối rẻ, mỗi loại vi điều khiển có những quy định khác
nhau trong lập trình. Kích thước nhỏ gọn nên dễ lắp đặt. Vấn đề lớn khi ứng dụng

18
vi điều khiển với các thiết bị công nghiệp là dễ bị nhiễu bởi các tác nhân vật lý
như hồ quang điện, từ trường động cơ, ... nên độ tin cậy không được đánh giá cao.
Các vi điều khiển thường sử dụng mức điện áp là DC3.3V hoặc DC5V nên gặp rất
nhiều khó khăn trong chuyển đổi mức điện áp khi kết nối với các thiết bị công
nghiệp.

Hình 2. 13 Tiva C Series TM4C123G


IV.2. Card điều khiển:
Card mở rộng kết nối với máy tính để bàn thông qua cổng PCI. Có nhiều
tính năng điều khiển đi kèm theo thư viện của nhà sản xuất, giao diện đơn giản và
dễ sử dụng. Điện áp được sử dụng là DC24V nên không gặp các vấn đề về mức
điện áp khi kết nối với các thiết bị công nghiệp. Tuy nhiên, giá thành của card điều
khiển tương đối cao, không được sử dụng phổ biến ở Việt Nam.

Hình 2. 14 ADAPTEC 2940W AHA-2940UW PCI SCSI CARD


IV.3. Programmable Logic Controller (PLC):
Được ứng dụng rộng rãi trong công nghiệp do độ tin cậy, khả năng chống
nhiễu và độ linh hoạt trong khả năng thay đổi thuật toán cao. Ngôn ngữ lập trình
trực quan, dễ học, gọn nhẹ và dễ lắp đặt, có thể mở rộng thêm chức năng bằng

19
cách kết nối các module mở rộng. Sử dụng điện áp DC24V nên không gặp các vấn
đề về mức điện áp khi kết nối các thiết bị công nghiệp.

Hình 2. 15 PLC Mitsubishi dòng FX


So sánh các ưu điểm và nhược điểm của các bộ điều khiển trên. Đề tài sẽ sử
dụng PLC Mitsubishi Fx3U24MT (phiên bản dùng cho học tập và nghiên cứu)
làm bộ điều khiển trung tâm vì các lý do: ít bị ảnh hưởng bởi nhiễu, thư viện lập
trình sẵn có và mạnh mẽ, không gặp các vấn đề về mức điện áp, gọn nhẹ và dễ lắp
đặt.
V. Kết luận:
Chương 2 đã hoàn thành việc lựa chọn phương án thiết kế cho các cơ cấu hệ thống
Robot Pick and Place. Lựa chọn phương án tạo cơ sở để tính toán, thiết kế và lập
trình chi tiết trong các chương tiếp theo. Bảng 2.4 tóm tắt các kết quả được lựa
chọn cho từng cơ cấu.
Bảng 1. 1 Các phương án lựa chọn để thiết kế hệ thống Robot Bin Picking.
Bộ phận Phương án
robot Serial robot
Cơ cấu gắp chi tiết gá Giác hút sử dụng khí nén
Camera 3D Structure light camera
Bộ điều khiển PLC

20
CHƯƠNG III: PHÂN TÍCH ĐỌNG HỌC TAY MÁY

Chương 2 đã hoàn thành việc lựa chọn các phương án cho đề tài. Chương 3 sẽ đi
tìm hiểu và phân tích động học tay máy, phương án Robot được sử dụng là Robot nối
tiếp, cụ thể hơn trong đề tài sẽ sử dụng Robot NACHI MZ07.
I. Sơ lược về Robot Nachi MZ07:

Hình 3. 1 Robot Serial NACHI MZ07


NACHI MZ07 là Robot nối tiếp 6 bật tự do được phát triển và phân phối
bởi hãng NACHI Robotics (Nhật Bản). Thuộc dòng Robot công nghiệp phát triển
cho các ứng dụng nhỏ gọn. Tải trọng tối đa cho phép là 7kg, NACHI MZ07 sử
dụng bộ điều khiển CFD của hãng NACHI Robotics.

21
Hình 3. 2 Không gian làm việc của NACHI MZ07
Bảng 3. 1 Các thông số cơ bản của Robot NACHI MZ07.
No. Axis 6 DOF

Payload 7 Kg

Max Reach 723 mm

Repeatability ±0,02 𝑚𝑚

II. Động học thuận:


Phân tích động học thuận là đi tìm biểu diễn toán học vị trí và hướng của
tay máy khi đã biết trước giá trị của các khớp góc.

22
Hình 3. 3 Hệ tọa độ tay máy NACHI MZ07
Bảng 3. 2 Thông số Denavit–Hartenberg.
i a i( Deg) a i(mm) d i (mm) θi (Deg )
1 90 0
a1 d1 θ1
2 0 a2 0 θ2
3 90 0
a3 0 θ3
4 −90
0
0 d4 θ4
5 90 0 0 0 θ5
6 0 0 d6 θ6
Với các giá trị :
Bảng 3. 3 Kích thước Robot NACHI MZ07 (mm).
𝑎1 𝑎2 𝑎3 𝑑1 𝑑4 𝑑6
50 330 45 345 340 73

Ma trận chuyển đổi từ khớp 𝑖 sang khớp 𝑖 - 1 có dạng tổng quát:

[ ]
i−1
cos θ i −sin θi cos α i sin θi cos α i a i cos θ i
sin θi cos θi cos α i −cos θ i sin α i α i sin θi
T= (3−1)
0 sin α i cos α i di
i 0 0 0 1

Đặt sin 𝜃 = 𝑠 , cos 𝜃 = 𝑐 , sin(𝜃 + 𝜃 ) = 𝑠 , cos(𝜃 + 𝜃 ) = 𝑐


𝑖 𝑖 𝑖 𝑖 𝑖 𝑗 𝑖𝑗 𝑖 𝑗 𝑖𝑗

23
Sử dụng chương trình MATLAB để tính toán các ma trận, ta có:

Ma trận chuyển đổi tọa độ từ khâu tác động về tọa độ gốc tay máy:

Với:
𝑟11 = 𝑠6(𝑠1𝑐4 - 𝑐1𝑠4𝑐23) - 𝑐6[𝑐1𝑠5𝑠23 - 𝑐5(𝑠1𝑠4 + 𝑐1𝑐4𝑐23)]
𝑟12 = 𝑐6(𝑠1𝑐4 - 𝑐1𝑠4𝑐23) + 𝑠6[𝑐1𝑠5𝑠23 - 𝑐5(𝑠1𝑠4 + 𝑐1𝑐4𝑐23)]
𝑟13 = 𝑐1𝑐5𝑠23 + 𝑠5(𝑠1𝑐4 + 𝑐1𝑠4𝑐23)
𝑟21 = -𝑠6(𝑐1𝑐4 + 𝑠1𝑠4𝑐23) - 𝑐6[𝑠1𝑠5𝑠23 + 𝑠5(𝑐1𝑠4 - 𝑠1𝑠4𝑐23)]
𝑟22 = 𝑠6(𝑠1𝑠5𝑠23 + 𝑐5(𝑐1𝑠4 - 𝑠1𝑠4𝑐23)) - 𝑐6(𝑐1𝑐4 + 𝑠1𝑠4𝑐23)
𝑟23 = 𝑠1𝑐5𝑠23 - 𝑠5(𝑐1𝑠4 - 𝑠1𝑠4𝑐23)
𝑟31 = 𝑐6(𝑠5𝑐23 + 𝑐4𝑐5𝑠23) - 𝑠4𝑠6𝑠23
𝑟32 = -𝑠6(𝑠5𝑐23 + 𝑐4𝑐5𝑠23) - 𝑠4𝑐6𝑠23
𝑟33 = 𝑐4𝑠5𝑠23 - 𝑐5𝑐23

24
Có thể dễ dàng nhận thấy:

{
x=d 6 r 13+ p x
y=d 6 r 23 + p y
z =d 6 r 33+ p z

Với:

{
p x =d 6 r 13 +a 1 c 1 +a2 c 1 c 2 +a 3 c 1 c 23+ d 4 c1 s 23
p y =a1 s1 + a2 s1 s 2+ a3 s 1 c23 +d 4 c 1 s 23
p z =d 1+ a2 s 2+ a3 s 23 −d 4 c 23

Vậy tọa độ khâu tác động cuối có thể được biểu diễn bởi ma trận:

Như vậy, bài toán đọng học thuật đã được giải xong
III. Động học nghịch:
Phân tích động học ngược là đi tìm biểu diễn toán học giá trị các khớp góc
khi biết trước vị trí và hướng của khâu tác động cuối. Việc phân tích động học
ngược có tính phi tuyến cao, nhiều nghiệm thỏa mãn và nhiều trường hợp ngoại lệ.
Có nhiều phương pháp giải động học ngược khác nhau, dưới đây trình bày kỹ
thuật Inverse Transformation bằng cách nhân lần lượt các ma trận nghịch đảo
( i−1iT )−11trước ma trận 60T

Đặt:

25
Sử dụng chương trình MATLAB để tính toán các ma trận, ta thu được: Tạm thời
bỏ qua tác động của khâu tịnh tiến 𝑑6:

26
Đặt:
T
V njk =[ X Y Z M]

Trong đó:
- j,k lần lược là chỉ số của phần tử hàng j cột k của ma trận 𝑉 𝑛

- M có giá trị phụ thuộc vào k

27
Giải 𝜃 :
1

Với : 𝑉 =𝑈 : 𝑡𝑎 đượ𝑐
0 1

Ta suy ra được:
→ θ1=artan 2( p y , p x )

Giải 𝜃2:
𝜃2 được tìm khi giải : 𝑉1=𝑈2

28
Chuyển 𝑎2𝑐2 qua bên trái mỗi phương trình, bình phương hai vế và cộng lại:

Giải 𝜃3:
𝜃3 được tìm khi giải : 𝑉2=𝑈3

29
30
31
 Vị trí end-effector:
Trong quá trình giải động học ngược đã không xét đến d6 (chỉ ảnh hưởng lên vị
trí của end-effector), từ phương trình động học thuận đã giải ở phần 1, vị trí của
end-effector [𝑞𝑥 𝑞𝑦 𝑞𝑧]𝑇 được xac định từ vị trí của cổ tay máy [𝑥 𝑦 𝑧]𝑇 như sau:

32
 Hướng của end-effector:
Hướng của end-effector được mô tả bằng 3 góc roll-pitch-yaw được kí hiệu lần
lược là 𝜙𝑟, 𝜙𝑝, 𝜙𝑦 là các góc xoay hệ trục tọa độ end-effector lần lược theo các
trục x, y và z của gốc tọa độ robot.

33
IV. Kiểm tra động học nghịch.
Để kiểm tra động học ngược, ta cho trước tọa độ điểm tại một vị trí xác
định, đọc giá trị tọa độ và các góc khớp từ Teach pendant sau đó kiểm lại
bằng Matlab các công thức đã xác định ở 3.3.
Bảng 3. 4 Kết quả kiểm nghiệm động học ngược Robot NACHI MZ07.

34
Kết quả bảng trên cho thấy sai số giữa tọa độ từ Teach pendant và tọa độ tính toán
sai lệnh nhau tối đa 0.01mm. Như vậy kết quả động học nghịch là đáng tin cậy.

35
CHƯƠNG IV: GIAO TIẾP VÀ ĐIỀU KIỂN ROBOT

36
Sau khi tính toán vị trí tâm và vector pháp tuyến của chi tiết cần gắp, bước tiếp
theo cần thực hiện là xác định tọa độ của vật so với gốc tọa độ Robot thông qua
calibration . Do vị trí và hướng của vật là hoàn toàn ngẫu nhiên nên không biết trước
được tọa độ vật so với gốc tọa độ Robot nên không thể cố định vị trí gắp, vì thế, bước
giao tiếp với Robot để truyền tọa độ cho Robot sau khi tính toán là cần thiết.
I. Tổng quan về giao tiếp Robot NACHI MZ07:
Bộ điều khiển được sử dụng cho Robot NACHI MZ07 là CFD Controller. Bộ
điều khiển này được hãng NACHI Robotics hỗ trợ 2 phương thức giao tiếp là sử dụng
thư viện OpenNR và Socket Communication.
 Thư viện OpenNR:
Là một thư viện mạnh được hãng NACHI Robotics thiết kế dành riêng cho việc
điều khiển Robot bằng máy tính. Thư viện hỗ trợ nhiều tính năng như giám
sát/điều khiển tọa độ Robot, giám sát Torque, kết hợp điều khiển/ nhận dữ liệu từ
một số ngoại vi bên thứ 3 như camera, cảm biến, …, thư viện hỗ trợ các ngôn ngữ
như C, C++, VB, C#, các câu lệnh rất đơn giản và trực quan. Tuy nhiên, để s ử
dụng được thư viện này cần có bản quyền cấp phép từ chính hãng và chỉ sử dụng
được duy nhất cho một máy tính được chỉ định dựa trên địa chỉ MAC.
 Socket Communication:
CFD Controller hỗ trợ thêm một phương thức giao tiếp cho người dùng tùy
chỉnh là Socket Communcation. Socket Communication trên CFD Controller hỗ
trợ cả 2 protocol là TCP và UDP. Chức năng chính của Socket Communcation
trên CFD Controller là dùng để giám sát tọa độ, I/O, Torque, … bằng máy tính,
nhưng có thể sử dụng giao thức này truyền nhận dữ liệu để điều khiển Robot.
Do giới hạn về bản quyền phần mềm, đề tài sử dụng Socket
Communication để truyền dữ liệu điều khiển Robot.
II. Giới thiệu về Socket Communication:
 Tổng quan;
Socket là một dạng giao diện lập trình ứng dụng (API-Application
Programming Interface). Nó được giới thiệu đầu tiên trong ấn bản UNIX - BSD
4.2 dưới dạng các hàm hệ thống theo cú pháp ngôn ngữ C (socket(), bind(),
connect(), send()receive(), read(), write(), close(), ...). Ngày nay, Socket được h ỗ
trợ trong hầu hết các hệ điều hành như MS Windows, Linux và được sử dụng
trong nhiều ngôn ngữ lập trình khác nhau: như C, C++, Java, Visual Basic, Visual
C++, Visual C#, ... Có hai kiểu socket:
Socket kiểu AF_UNIX chỉ cho phép giao tiếp giữa các quá trình trong cùng
một máy tính.
Socket kiểu AF_INET cho phép giao tiếp giữa các quá trình trên những
máy tính khác nhau trên mạng.
 Các khái niệm cần thiết:

37
Internet Protocol (IP) và Packet: IP là một giao thức truyền tải các gói
(Packet) giữa các điểm. IP sẽ sử dụng các địa chỉ IP (IP address) để nhận dạng các
thiết bị đầu cuối. Packet là gói dữ liệu được truyền tải, gồm 2 phần:
+ Header: chứa các thông tin dùng để điều khiển như phiên bản
(IPv4/IPv6), độ dài dữ liệu, kiểu protocol (TCP, UDP, …), địa chỉ đích/nguồn,
checksum, …
+ Body: dữ liệu cần truyền đi (video, voice, string, …).
TCP/UDP: là những quy ước truyền nhận dữ liệu, giao thức trung gian
nằm giữa Application và IP, nằm trên IP:
+ TCP (Transmission Control Protocol): phát hiện các lỗi khi truyền tải dữ liệu
của IP. Khi hoàn thành việc nhận các gói dữ liệu nó sẽ sắp xếp lại và chuyển lên
lớp Application, nếu có một gói bị hỏng hoặc chưa được truyền, TCP sẽ yêu cầu
gửi lại duy nhất gói đó, giúp giảm sự quá tải trong mạng. Trong quá trình truyền
tải dữ liệu đòi hỏi sự kết nối liên tục. Do đó, TCP được gọi là giao thức đáng tin
cậy (reliable) và hướng kết nối (connectionoriented). Ưu điểm về độ tin cậy của
TCP cũng chính là nhược điểm của nó trong tốc độ truyền dữ liệu chậm, không
phù hợp truyền tải dữ liệu tức thời như VoIP hay Video stream.
+ UDP (User Datagram Protocol): truyền tải dữ liệu qua mạng thông qua các
Datagram.
 khác với TCP, giao thức này không quan tâm việc dữ liệu có truyền đến đích và
theo thứ tự hay không. Thay vào đó, tốc độ của nó sẽ nhanh hơn TCP nhiều. Vì
thế UDP phù hợp truyền tải dữ liệu không đòi hỏi sự an toàn, chính xác nhưng cần
tốc độ cao như Video stream, VoIP, game online data. Do không cần phải duy trì
kết nối như TCP nên UDP được gọi là giao thức không hướng kết nối
(Connectionless hoặc Stateless)

Hình 4. 1 TCP và UDP


III. Giải thuật:
 Các khái niệm cần thiết:

38
Robot Language Program (RLP): Chương trình/hàm người dùng định
nghĩa cho CFD Controller biên dịch và chạy dựa trên các câu lệnh cung cấp sẵn
như di chuyển Robot, kích I/O, kích valve khí nén có sẵn trong Robot, chạy
internal PLC, ... Do yêu cầu về giám sát và an toàn, RLP chỉ cho phép chạy tuần
tự và chỉ chạy được duy nhất một RLP tại một thời điểm (việc gọi một RLP từ một
RLP khác vẫn được xem như là việc chạy tuần tự một chương trình vì luồng điều
khiển chỉ theo một hướng) cho đến khi RLP đó kết thúc mới cho phép chạy RLP
khác.
User Task: Chương trình/hàm người dùng định nghĩa cho CFD Controller
biên dịch và chạy dựa trên các câu lệnh cung cấp sẵn (các câu lệnh di chuyển
Robot, kích I/O, chạy internal PLC bị cấm). Chương trình/hàm này có thể chạy
độc lập hoặc song song với RLP, có thể chạy tối đa 4 User Task cùng một thời
điểm, nếu có xung đột sẽ ưu tiên User Task có Priority cao hơn. Chức năng chính
của các User Task dùng để tạo giao diện giám sát và xử lý lỗi trên Teach Pendant.
Các câu lệnh khởi tạo Socket Communication và truyền nhận dữ liệu chỉ có thể
được gọi từ các User Task.
 Lựa chọn mô hình giao tiếp:
Mô hình giao tiếp bao gồm 2 điểm (PC và CFD Controller), dữ liệu truyền đi bao
gồm 6 thông số tọa độ có tổng dung lượng tối đa 54byte - rất bé nên tốc độ truyền
không quá quan trọng. Ngoài ra, việc điều khiển Robot bằng PC đòi hỏi yêu cầu
đặc biệt về sự an toàn, vì thế dữ liệu nhận được cần được kiểm tra đầy đủ trước
khi di chuyển Robot. Dựa trên đặc điểm và các yêu cầu trên, mô hình Unicast sử
dụng Protocol TCP là phù hợp nhất.
 Lưu đồ giải thuật:

39
Hình 4. 2 Lưu đồ giải thuật giao tiếp trên CFD Controller

40
Trong hai lưu đồ trên, User Task có chức năng truyền và nhận dữ liệu từ máy tính. RLP
thực hiện lệnh di chuyển Robot khi đã nhận xong dữ liệu. Hai chương trình này sử dụng
biến số nguyên toàn cục V100 để làm cờ báo cho nhau.

41
CHƯƠNG V: THIẾT KẾ HỆ THỐNG ĐIỆN VÀ CƠ CẤU CHẤP HÀNH

Chương 5 đi vào phân tích các thiết bị điện cần thiết và sơ đồ đấu nối. Bên cạnh
đó là nguyên lý điều khiển hai cơ cấu chấp hành là băng tải và valve chân không.
I. Sơ đồ khối hệ thống điện:
Thiết bị dùng để điều khiển các ngoại vi được lựa chọn ở chương 2 là PLC, về
cơ bản, các thiết bị được kết nối với nhau theo sơ đồ sau đây:

Hình 5. 1 Sơ đồ khối các thiết bị điện


Sơ đồ 5.1 cho cái nhìn tổng quát về các thiết bị cần thiết của hệ thống điện, dựa
trên sơ đồ này, tiến hành phân tích ưu nhược điểm để lựa chọn và lập sơ đồ đấu
dây cho phù hợp

42
II. Các thiết bị tác động và vào ra tín hiệu:

Hình 5. 2 Nút nhấn

Hình 5. 3 Nút dừng khẩn cấp


Nút nhấn dùng để truyền tín hiêu trực tiếp cho PLC để ra các lệnh START,
STOP và điều khiển bằng tay băng tải và dây đai. Nút EMERGNCY dùng để ngắt
ngõ ra các thiết bị tác động trong trường hợp khẩn cấp.
Để điều khiển động cơ DC hoạt động băng tải, cần điều khiển qua Relay
trung gian do dòng điện cần cung cấp lớn. Giác hút được điều khiển thông qua van
điện từ. Trong luận văn này, Relay và Valve chân không sử dụng nguồn 24V

Hình 5. 4 Relay kính điện từ

43
Ngoài ra, thiết bị dùng để bảo vệ toàn bộ hệ thống khỏi sự cố quá tải và
chập mạch là Aptomat cũng được lắp đặt ở đầu mạng điện. Các hệ thống đèn báo
cũng được sử dụng để thông báo trạng thái hoạt động, lỗi, Emergency của hệ
thống.
III. Cơ cấu tác động:
Cơ cấu tác động của hệ thống bao gồm băng tải và valve chân không dùng để
hút vật.
III.1. Tính toán giác hút:
Phần sau đây trình bày việc tính toán valve chân không theo hướng cơ bản,
dựa trên các thiết bị có sẵn trên thị trường.

Hình 5. 5 Ký hiệu valve chân không.


Valve chân không hoạt động theo nguyên lý ống venture, cổng P cung cấp
dòng khí có áp suất cao 𝑃, dòng khí này di chuyển ngang cổng V gây sụt áp, làm
cho áp suất tại cổng V thấp hơn áp suất khí quyển 𝑃𝑎, vì thế tạo được lực hút hút
vật lên.

Hình 5. 6 Các lực tác động lên vật khi hút.

44
Bỏ qua quán tính của hệ, để hút được vật phải thỏa điều kiện lực hút lớn hơn trọng
lượng vật, với chi tiết gá nặng 100g thì trọng lượng cần nâng là 1N.
Nguồn khí nén sử dụng có áp suất 4-6bar, lưu lượng đã qua tiết lưu khoảng
85l/phút. Sơ bộ, chọn giác hút ESG của hãng FESTO tiêu chuẩn có đường kính d=20mm
để giữ ổn định vật. Theo tài liệu từ nhà sản xuất, áp suất đầu vào 4-6bar tương ứng Δ𝑃 = -
0.9 𝑏𝑎𝑟.
Theo bảng tra, lực hút ứng với -0.7 bar là 16.3N, vì vậy, theo công thức …, FTH
có quan hệ tuyến tính với Δ𝑃, nên với Δ𝑃 = -0.9 𝑏𝑎𝑟 với hệ số an toàn s=3 hoàn toàn
đủ để hút vật có khối lượng 100g. Đồ gá giác hút chọn loại ESH-HD của Festo như hình
bên dưới:

Hình 5. 7 Đồ gá giác hút ESH-HD

45
III.2. Tính toán đồ gá giác hút:
Để cố định giác hút lên tay máy, hệ thống cần thêm đồ gá cố định với tay
máy để lắp giác hút. Khâu 6 của tay máy NACHI MZ07 được thiết kế với mặt
bích có 4 bulong M5 được gắn thêm convenient tools để có thể thay đổi tool
dễ dàng.

Hình 5. 8 Bảng tra khối lượng ứng với chiều dài tool an toàn.
Tổng khối lượng convenient tools, đồ gá giác hút và chi tiết cần gắp sấp sỉ
2kg, chiều dài convenient tools là 12cm, theo tài liệu từ nhà sản xuất chiều dài tối
đa cho phép của tool với khối lượng 1kg là 250mm, vì vậy, chiều dài của đồ gá
giác phải nhỏ hơn 13cm.
Để thuận tiện cho việc lắp ống khí, chiều dài của đồ gá được chọn là 6cm,
vì vậy tổng chiều dài convenient tools và đồ gá là 18cm.
Mối ghép ren giữa mặt bích khâu 6 và convenient tools kiểm nghiệm theo
trường hợp mối ghép chịu lực dọc trục đi qua trọng tâm nhóm bulong.
Theo công thức (17.31) tài liệu []. Tải trọng tác dụng lên một bulong:

46
iiIDFGHGFH

IV. Bộ điều khiển trung tâm:


Ở chương 2, bộ điều khiển trung tâm được lựa chọn là PLC. Phần này sẽ đề
cập các vấn đề lựa chọn PLC và đấu dây cho PLC.
IV.1. Lựa chọn PLC:
PLC được lựa chọn dựa trên các cơ sở:
+ Số lượng cổng vào ra (kể cả cổng tốc độ cao).
+ Loại ngõ ra (Transistor/Relay/Triac).
+ Mức điện áp.
+ Loại truyền thông.
+ Ngoài ra còn có các yếu tố khác như: Uy tín của hãng sản suất, giá thành,
phần mềm lập trình, tính đồng bộ của hệ thống, độ ổn định, …

47
Dựa trên sơ đồ tổng quát, hệ thống cần 4 cổng vào cho các nút nhấn và 3
cổng ra điều khiển động cơ băng tải, valve chân không và đèn báo. Quy trình
điều khiển không điều khiển bất kỳ động cơ step hay servo nào nên không cần
ngõ vào/ra tốc độ cao.
Dựa trên số lượng cổng vào ra trên và điều kiện có sẵn, lựa chọn PLC
Mitsubishi
FX3U LE3U 24MT như hình 5.4, với các thông số:
+ Điện áp nguồn cung cấp: 24 VDC.
+ Số I/O: 14 ngõ vào, 10 ngõ ra (4 ngõ bắn xung tốc độ cao: Y0 – Y3: 100
kHz).
+ Cổng truyền thông: RS232 / RS485.
+ Bộ nhớ chương trình: 8000 steps.
+ Tốc độ truyền nhận: 38400 bps

Hình 5. 9 Board PLC Mitsubishi FX3U LE3U 24MT


IV.2. Đấu dây PLC:
Bảng 5.3 và Bảng 5.4 mô tả các thiết bị đầu vào/ra được đấu nối quy ước tên
của chúng
Bảng 5. 1 Các thiết bị đầu vào tương ứng với cổng Input PLC.

48
Bảng 5. 2 Các thiết bị đầu vào tương ứng với cổng Input PLC.

Do PLC Mitsubishi Fx3U-24MT sử dụng trong luận văn là phiên bản tương
đương chức năng với PLC chính hãng nên sơ đồ chân có khác đôi chút. Sơ đồ
đấu dây cụ thể xem thêm “Bản vẽ sơ đồ đấu dây” đi kèm luận văn này.
IV.3. Điều khiển PLC thông qua PC:
PLC Mitsubishi Fx-24MT hỗ trợ chuẩn truyền thông RS232-C và bộ thư
viện MX Component để điều khiển PLC từ máy tính.
Do yêu cầu của thư viện chỉ hỗ trợ các ngôn ngữ lập trình Form như C#,
VB, MFC C++, hoàn toàn không tương tích với chương trình xử lý ảnh được
viết trên console C++ nên chương trình điều khiển PLC sẽ được viết riêng và
giao tiếp với chương trình xử lý ảnh thông qua giao tiếp Socket. Trong đề tài,
chọn ngôn ngữ C# để lập trình cho phần mềm điều khiển PLC. Một cách tổng
quát, sơ đồ sau thể hiện quá trình điều khiển PLC.

Hình 5. 10 Sơ đồ tổng quan điều khiển PLC qua máy tính.


Để giao tiếp giữa chương trình xử lý ảnh và chương trình điều khiển PLC,
đề tài sử dụng Socket Communication, với Server là chương trình xử lý ảnh và
Client và PLC software. Do giữa chương trình xử lý ảnh và chương trình điều
khiển PLC cùng chạy trên một máy tính (Localhost), nên server có địa chỉ IP
loopback 127.0.0.1 và portnum 49854. Quy trình kết nối tương tự như Socket
Communication đã trình bày ở chương 4.
Khi cài đặt MX Component xong, ta tiến hành đặt tên trạm (Station) bằng
phần mềm Communication Setup Utility cho PLC để MX Component có thể nhận
diện PLC khi gọi thư viện. Sau đó thêm các thư viện MITSUBISHI ActUtlType
Control và MITSUBISHI ActSupportMsg Control. Từ các thư viện này có thể gọi
các lệnh điều khiển PLC như bật tắt các cờ, I/O, set giá trị thanh ghi, …
Do cần giới hạn các điều kiện an toàn (Emergency), PLC software sẽ không
set trực tiếp các cổng Output để điều khiển ngoại vi, các cổng Output sẽ được set

49
thông qua các cờ M19 (cho băng tải ngõ ra Y1) và M20 (cho valve chân không
ngõ ra Y2).

50
CHƯƠNG VI: KẾT LUẬN
 Các kết quả đạt được:
Qua quá trình thực tập ở Lab em đã tiếp thu được nhiều kiến thức và kĩ
năng làm việc và hỗ trợ nghiên cứu trong quá trình hoàn thành luận văn.
Tìm hiểu tổng quan, phân tích lựa chọn phương án thiết kế robot thực hiện
tác vụ Bin Picking.
Nghiên cứu giải thuật xử lý đám mây điểm nhận diện vị trí và hướng vật
thể.
 hạn chế:
Kết quả nhận diện vật còn hạn chế khi có nhiều nhiễu.
Chưa tiến hành mô phỏng kết quả thu được và thực nghiệm trên robot.

51
TÀI LIỆU THAM KHẢO
[1] Point Pair Feature-Based Pose Estimation with Mutible Edge Appearance Models
(PPF-MEAM) for Robotic Bin Picking of Diyi Liu, Shogi Arai, Jiaqi Miao, Jun
Kinugawa,
Zhao Wang and Kazuhiro Kosuge. Link download: mdpi.com/1424-8220/18/8/2719/htm
[2] https://pcl.readthedocs.io/projects/tutorials/en/latest/
[3] Bin-Picking: New Approaches for a Classical Problem of Dirk Buchholz, Chapter
3 3D Point Cloud Based Posed Estimation, page 13 – 37. Link download:
https://vn1lib.org/book/2677549/f1fa7f
[4] https://www.nachirobotics.com/wp-content/uploads/2017/05/MZ07_brochure2-
1.pdf
[5] 3D is here: Ponit Cloud Library (PLC) of Radu Bogdan Rusu and Steve Cousins,
Willow Garage, 68 Willow Rd, Menlo Park, CA 94025, USA. Link download:
https://www.researchgate.net/publication/221068443_3D_is_here_Point_cloud_library_P
CL
[8] https://docs.opencv.org/4.x/dc/dbb/tutorial_py_calibration.html

52

You might also like