Cấu trúc của đồ án này gồm có 4 phần: - Tổng quan về đề tài: trình bày phương án thực hiện, các kiến thức và vấn đề cơ bản trong đề tài - Thiết kế robot: thiết kế cơ khí và tính toán độn
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA
TRÊN BĂNG CHUYỀN
Người hướng dẫn : TS LÊ HOÀI NAM
Sinh viên thực hiện : ĐINH VĂN TẤN
Trang 21 Thông tin chung:
1 Họ và tên sinh viên: Đinh Văn Tấn MSSV: 101140163
Phạm Quân MSSV: 101140160
2 Lớp: 14CDT1
3 Tên đề tài: Thiết kế và chế tạo cánh tay robot 5 bậc tự do phân loại vật trên băng chuyền
4 Người hướng dẫn: Lê Hoài Nam Học hàm/ học vị: Tiến sĩ
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à 2đ)
1 Điểm đánh giá: …… /10 (lấy đến 1 số lẻ thập phân)
2 Đề nghị: ☐ Được bảo vệ đồ án ☐ Bổ sung để bảo vệ ☐ Không được bảo vệ
Đà Nẵng, ngày tháng 06 năm 2019
Người hướng dẫn
Trang 3I Thông tin chung:
1 Họ và tên sinh viên: Đinh Văn Tấn MSSV: 101140163
II Nhận xét, đánh giá đồ án tốt nghiệp:
tối đa
Điểm đánh giá
1 Sinh viên có phương pháp nghiên cứu phù hợp, giải
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
15
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 các phần mềm ứng dụng
trong vấn đề nghiên cứu;
- Có kỹ năng đọc, hiểu tài liệu bằng tiếng nước ngoài ứng
dụng trong vấn đề nghiên cứu;
- Có kỹ năng làm việc nhóm;
15
2a - Bố cục hợp lý, lập luận rõ ràng, chặt chẽ, lời văn súc tích 15
2b - Thuyết minh đồ án không có lỗi chính tả, in ấn, định dạng 5
3 Tổng điểm đánh giá theo thang 100:
Quy về thang 10 (lấy đến 1 số lẻ)
Trang 4- Các tồn tại, thiếu sót cần bổ sung, chỉnh sửa: ………
………
- Câu hỏi đề nghị sinh viên trả lời trong buổi bảo vệ: ………
………
………
- Đề nghị: ☐ Được bảo vệ đồ án ☐ Bổ sung để bảo vệ ☐ Không được bảo vệ
Đà Nẵng, ngày tháng 06 năm 2019
Người phản biện
Trang 61 Đinh Văn Tấn 101140163 14CDT1 Kỹ thuật Cơ điện tử
2 Phạm Quân 101140160 14CDT1 Kỹ thuật Cơ điện tử
1 Tên đề tài đồ án:
Thiết kế và chế tạo cánh tay robot 5 bậc tự do phân loại vật trên băng chuyền
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:
……… ……… …… ………
… ……….… ……… ………
4 Nội dung các phần thuyết minh và tính toán:
a Phần chung:
1 Đinh Văn Tấn - Lý thuyết tổng quan
- Xây dựng lưu đồ thuật toán
- Giới thiệu về xử lý ảnh và quá trình xử lý ảnh
- Lập trình xử lý ảnh
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:
1 Đinh Văn Tấn - Sơ đồ động 1 A0
- Bản vẽ lắp 1 A0
- Bản vẽ chi tiết 1 A0
2 Phạm Quân
b Phần riêng:
Trang 7TT Họ tên sinh viên Nội dung
1 Đinh Văn Tấn - Mạch điều khiển 1 A0
2 Phạm Quân - Kiến trúc hệ thống và lưu đồ thuật toán 1 A0
6 Họ tên người hướng dẫn: Phần/ Nội dung:
TS Lê Hoài Nam
7 Ngày giao nhiệm vụ đồ án: …… /……./2019
8 Ngày hoàn thành đồ án: …… /……./2019
Đà Nẵng, ngày tháng năm 2019
Trang 8i
LỜI NÓI ĐẦU
Trong sự nghiệp công nghiệp hóa và hiện đại hóa đất nước, tự động hóa ngày càng
đóng một vai trò quan trọng Với tốc độ phát triển như hiện nay chúng ta không chỉ cần
một lượng lao động khổng lồ mà còn đòi hỏi có trình độ, chất lượng tay nghề, kỹ thuật
lao động và thiết bị sản xuất Mức độ phát triển của khoa học kỹ thuật ngày càng cao thì
vấn đề tự động hoá ngày càng được chú trọng Tự động hóa các quá trình sản xuất cho
phép cải thiện điều kiện sản xuất Các quá trình sản xuất sử dụng quá nhiều lao động
sống rất dễ mất ổn định về giờ giấc, về chất lượng gia công và năng suất lao động, gây
khó khăn cho việc điều hành và quản lý sản xuất Các quá trình sản xuất tự động cho
phép loại bỏ các nhược điểm trên Đồng thời tự động hóa đã thay đổi tính chất lao động,
cải thiện điều kiện làm việc của công nhân, nhất là trong các khâu độc hại, nặng nhọc,
có tính lặp đi lặp lại nhàm chán, khắc phục dần sự khác nhau giữa lao động trí óc và lao
động chân tay
Do vậy, ứng dụng robot vào sản xuất là tính tất yếu của quá trình tự động hóa Việc
áp dụng các cánh tay robot vào dây chuyền sản xuất ngày càng phổ biến Trước thực tế
đó, nhóm em quyết định thực hiện đề tài: “Thiết kế và chế tạo cánh tay robot 5 bậc tự
do phân loại vật trên băng chuyền”
Trong thời gian làm đồ án, được sự chỉ bảo tận tình của thầy TS Lê Hoài Nam cùng
với sự cố gắng của hai thành viên nhóm đến nay đồ án đã hoàn thành Tuy nhiên với
kiến thức còn hạn chế, kinh nghiệm, kĩ năng còn thiếu, mặc dù có nhiều cố gắng song
nhóm em vẫn còn nhiều thiếu sót cần bổ sung, hoàn thiện Kính mong các thầy cô thông
cảm và góp ý để đề tài của nhóm em hoàn thiện hơn và có thể phát triển, ứng dụng trong
thời gian sắp tới
Nhóm em xin chân thành cảm ơn!
Đà Nẵng, ngày 25 tháng 5 năm 2019 CÁC THÀNH VIÊN
Đinh Văn Tấn Phạm Quân
Trang 9ii
CAM ĐOAN
Chúng tôi xin cam đoan:
Những nội dung trong đồ án này là do chúng tôi thực hiện dưới sự hướng dẫn trực tiếp của Thầy TS Lê Hoài Nam
Mọi tham khảo dùng trong đồ án đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố
Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo hay gian dối, chúng tôi xin chịu hoàn toàn trách nhiệm
Sinh viên thực hiện:
Đinh Văn Tấn Phạm Quân
Trang 10iii
MỤC LỤC
Tóm tắt
Nhiệm vụ đồ án
Lời nói đầu và cảm ơn i
Lời cam đoan liêm chính học thuật ii
Mục lục iii
Danh sách các bảng biểu, hình vẽ và sơ đồ v
MỞ ĐẦU 1
Chương 1: TỔNG QUAN VỀ ĐỀ TÀI 2
1.1 Yêu cầu của đề tài và phương án thực hiện 2
1.2 Phương trình động học cánh tay máy 3
1.2.1 Phương trình động học thuận 3
1.2.2 Phương trình động học nghịch 8
1.3 Giới thiệu chung về xử lý ảnh 9
1.3.1 Khái niệm xử lý ảnh 9
1.3.2 Các vấn đề cơ bản trong xử lý ảnh 10
1.3.3 Nhiễu và các phương pháp lọc nhiễu 11
1.3.4 Mô hình màu HSV (Hue, Saturation, Value) 13
1.3.5 Thư viện OpenCV 14
Chương 2: THIẾT KẾ ROBOT 15
2.1 Thiết kế cơ khí 15
2.2 Tính toán động lực học 18
2.3 Tính toán động học 19
2.3.1 Động học thuận 20
2.3.2 Động học nghịch 20
Chương 3: THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN 23
3.1 Sơ đồ khối hệ thống và nguyên lý hoạt động 23
3.2 Các thành phần và chức năng 23
3.2.1 Arduino Nano 23
3.2.2 Raspberry Pi 25
3.2.3 Camera 25
3.2.4 Driver A4988 26
3.2.5 Nguồn cung cấp 27
Trang 11iv
3.3 Quá trình xử lý ảnh 27
3.3.1 Xử lý video giao tiếp qua webcam 27
3.3.2 Tạo ảnh nhị phân theo các ngưỡng H, S, V 28
3.3.3 Loại bỏ các thành phần nhiễu 29
3.3.4 Xác định tọa độ tâm, góc nghiêng của vật 29
3.3.5 Chuyển đổi tọa độ trên khung ảnh sang tọa độ trên mặt phẳng thực tế 30 3.4 Lưu đồ thuật toán 32
3.5 Sơ đồ mạch điện 33
KẾT LUẬN TÀI LIỆU THAM KHẢO PHỤ LỤC
Trang 12v
DANH SÁCH CÁC BẢNG, HÌNH VẼ
Bảng 1.1 Thông số Denavit-Hartenbert của tay máy hình 1.6 6
Bảng 2.1 Thông số các khâu và động cơ 18
Bảng 2.2 Thông số DH 19
Bảng 3.1 Thông số kĩ thuật Arduino nano 24
Bảng 3.2 Thông số kĩ thuật A4988 26
Bảng 3.3 Thông số Module LM2596 27
Hình 1.1 Kiến trúc hệ thống 2
Hình 1.2 Cánh tay robot tọa độ cầu 2
Hình 1.3 Các vectơ định vị trí và định hướng của bàn tay máy 4
Hình 1.4 Chiều dài và góc xoắn của một khâu 5
Hình 1.5 Các thông số của khâu: θ, d, a và α 5
Hình 1.6 Tay máy có hai khâu phẳng (vị trí bất kỳ) 6
Hình 1.7 Quá trình xử lý ảnh 9
Hình 1.8 Ảnh tĩnh 10
Hình 1.9 Ảnh động 10
Hình 1.10 Lọc trung vị 11
Hình 1.11 Ảnh trước (a) và sau (b) khi lọc trung vị 12
Hình 1.12 Ảnh trước (a) và sau (b) khi lọc Gaussian 12
Hình 1.13 Mô hình không gian màu HSV 13
Hình 2.1 Mô hình cánh tay robot 5 bậc tự do RRRRR 15
Hình 2.2 Sơ đồ động cánh tay Robot 16
Hình 2.3 Các động cơ sử dụng trong Robot 17
Hình 2.4 Sơ đồ lực của Robot ở vị trí nguy hiểm nhất 18
Hình 2.5 Hệ tọa độ của Robot 19
Hình 3.1 Sơ đồ khối hệ thống 23
Hình 3.2 Arduino nano 24
Hình 3.3 Raspberry Pi 3 Model B 25
Hình 3.4 Webcam COLORVIS ND60 26
Hình 3.5 Sơ đồ chân driver A4988 26
Hình 3.6 Module giảm áp LM2596 27
Hình 3.7 Ảnh gốc chụp từ camera 28
Trang 13vi
Hình 3.8 Ảnh nhị phân vật màu xanh dương 29
Hình 3.9 Ảnh sau khi lọc nhiễu 29
Hình 3.10 Ảnh tọa độ, góc nhiêng của vật xanh dương 30
Hình 3.11 Chuyển đổi hệ tọa độ 30
Hình 3.12 Kết quả xử lý ảnh 31
Hình 4.1 Mô hình cánh tay robot thực tế 34
Trang 14Phạm vi và đối tượng nghiên cứu: cánh tay robot 5 bậc tự do tọa độ cầu RRRRR, Arduino, Raspberry Pi, ngôn ngữ Python, xử lý ảnh với thư viện OpenCV
Phương pháp nghiên cứu:
- Thiết kế cơ khí trên phần mềm SolidWorks hỗ trợ chế tạo mô hình
- Tính toán động học robot bằng phần mềm Matlab, mô phỏng động học robot trên Matlab simulink
- Tham khảo các tài liệu liên quan để xây dựng kiến trúc hệ thống và lưu đồ thuật toán, lập trình điều khiển robot
Cấu trúc của đồ án này gồm có 4 phần:
- Tổng quan về đề tài: trình bày phương án thực hiện, các kiến thức và vấn đề cơ bản trong đề tài
- Thiết kế robot: thiết kế cơ khí và tính toán động lực học, động học
- Thiết kế hệ thống điều khiển: giới thiệu thành phần, chức năng của từng khối trong hệ thống điều khiển, lưu đồ thuật toán phục vụ cho lập trình điều khiển
- Kết luận
Trang 15Chương 1: TỔNG QUAN VỀ ĐỀ TÀI
1.1 Yêu cầu của đề tài và phương án thực hiện
Bài toán đặt ra là thiết kế chế tạo mô hình cánh tay robot phân loại vật thể trên băng chuyền Vật thể có dạng hình hộp chữ nhật Máy tính thông qua camera sẽ thu nhận hình ảnh vật thể trên băng chuyền để xử lý cho ra các dữ liệu cần thiết (tọa độ, góc nghiêng, màu sắc) rồi gửi cho bộ điều khiển Bộ điều khiển tính toán động học robot và điều khiển cánh tay robot thực hiện gắp vật và xếp vào đúng vị trí theo màu sắc
Để có thể gắp và xoay vật thể, cánh tay robot cần ít nhất 4 bậc tự do: 3 bậc tự do để định vị trong không gian, 1 bậc tự do để xoay vật thể theo phương Z
Qua tìm hiểu các loại cánh tay robot thì nhóm quyết định thiết kế chế tạo cánh tay robot 5 bậc tự do tọa độ cầu RRRRR Đây là loại robot rất phổ biến trong công nghiệp nhờ vào những ưu điểm: ít tốn không gian, dễ dàng bố trí trong không gian làm việc,
độ khéo léo, linh hoạt cao, tầm hoạt động lớn, có thể nâng hạ tải trọng lớn Tuy nhiên
nó có nhược điểm là độ cứng vững theo phương đứng thấp, độ chính xác giảm theo tầm hoạt động
Hình 1.2 Cánh tay robot tọa độ cầu
Thiết kế hệ thống điều khiển:
Raspberry Pi là một máy tính đầy đủ chức năng có kích thước nhỏ gọn Nó có tất cả các tính năng của máy tính, với bộ nhớ chuyên dụng, bộ xử lý và card đồ họa để xuất qua HDMI Nó chạy phiên bản được thiết kế đặc biệt của hệ điều hành Linux và dễ dàng
BỘ ĐIỀU KHIỂN ROBOT VẬT THỂ
MÁY TÍNH CAMERA
Hình 1.1 Kiến trúc hệ thống
Trang 16cài đặt hầu hết các phần mềm Linux Raspberry Pi có lợi thế về mặt phần mềm, chi phí thấp rất phù hợp cho việc nghiên cứu, phát triển các hệ thống nhúng, mở rộng khả năng làm việc, kết nối cho robot Vi điều khiển dễ dàng kết nối với nhiều thiết bị phần cứng, khả năng đọc các cảm biến, hoạt động theo thời gian thực … nên giúp cho các dự án phần cứng trở nên đơn giản, hiệu quả hơn Vì vậy trong mô hình này sử dụng vi điều khiển điều khiển và giám sát hoạt động của robot, Raspberry Pi chạy chương trình xử lý ảnh cung cấp dữ liệu cho vi điều khiển, 2 thiết bị kết nối với nhau qua giao thức Serial
1.2 Phương trình động học cánh tay máy
1.2.1 Phương trình động học thuận
a Dẫn nhập
Bất kỳ một Robot nào cũng có thể coi là một tập hợp các khâu (links) gắn liền với các khớp (joints) Ta hãy đặt trên mỗi khâu của Robot một hệ tọa độ Sử dụng các phép biến đổi thuần nhất có thể mô tả vị trí tương đối và hướng giữa các hệ tọa độ này Denavit J đã gọi biến đổi thuần nhất mô tả quan hệ giữa một khâu và một khâu kế tiếp
là một ma trận A Nói đơn giản hơn, một ma trận A là một mô tả biến đổi thuần nhất bởi phép quay và phép tịnh tiến tương đối giữa hệ tọa độ của hai khâu liền nhau A1 mô tả
vị trí và hướng của khâu đầu tiên, A2 mô tả vị trí và hướng của khâu thứ hai so với khâu thứ nhất Như vậy vị trí và hướng của khâu thứ hai so với hệ tọa độ gốc được biểu diễn bởi ma trận:
độ gốc Một Robot 6 khâu có thể có 6 bậc tự do và có thể được định vị trí và hướng trong trường vận động của nó Ba bậc tự do xác định vị trí thuần túy và ba bậc tự do khác xác định hướng mong muốn T6 sẽ là ma trận trình bày cả hướng và vị trí của Robot Hình 2.1 mô tả quan hệ đó với bàn tay máy Ta đặt gốc tọa độ của hệ mô tả tại điểm giữa của các ngón tay Gốc tọa độ này được mô tả bởi vectơ p (xác định vị trí của bàn tay) Ba vectơ đơn vị mô tả hướng của bàn tay được xác định như sau:
• Vectơ có hướng mà theo đó bàn tay sẽ tiếp cận đến đối tượng, gọi là vectơ 𝑎⃗ (approach)
Trang 17• Vectơ có hướng mà theo đó các ngón tay của bàn tay nắm vào nhau khi cầm nắm đối tượng, gọi là vectơ 𝑜⃗ (Occupation)
• Vectơ cuối cùng là vectơ pháp tuyến n (normal), do vậy ta có:
𝑛⃗⃗ = 𝑜⃗ x 𝑎⃗ (2.4)
Hình 1.3 Các vectơ định vị trí và định hướng của bàn tay máy
Chuyển vị T6 như vậy sẽ bao gồm các phần tử:
b Bộ thông số Denavit-Hartenberg (DH)
Một Robot nhiều khâu cấu thành từ các khâu nối tiếp nhau thông qua các khớp động Gốc chuẩn (Base) của một Robot là khâu số 0 và không tính vào số các khâu Khâu 1 nối với khâu chuẩn bởi khớp 1 và không có khớp ở đầu mút của khâu cuối cùng Bất kỳ khâu nào cũng được đặc trưng bởi hai kích thước:
• Độ dài pháp tuyến chung: an
• Góc giữa các trục trong mặt phẳng vuông góc với an: αn
Thông thường, người ta gọi an là chiều dài và αn là góc xoắn của khâu (Hình 2.2) Phổ biến là hai khâu liên kết với nhau ở chính trục của khớp (Hình 2.3)
Mỗi trục sẽ có hai pháp tuyến với nó, mỗi pháp tuyến dùng cho mỗi khâu (trước
và sau một khớp) Vị trí tương đối của hai khâu liên tiếp như thế được xác định bởi dn
Trang 18là khoảng cách giữa các pháp tuyến đo dọc theo trục khớp n và θn là góc giữa các pháp tuyến đo trong mặt phẳng vuông góc với trục
dn và θn thường được gọi là khoảng cách và góc giữa các khâu
Hình 1.4 Chiều dài và góc xoắn của một khâu
Hình 1.5 Các thông số của khâu: θ, d, a và α
Để mô tả mối quan hệ giữa các khâu ta gắn vào mỗi khâu một hệ tọa độ Nguyên tắc chung để gắn hệ tọa độ lên các khâu như sau:
• Gốc của hệ tọa độ gắn lên khâu thứ n đặt tại giao điểm của pháp tuyến an với khớp thứ n+1 Trường hợp hai trục khớp cắt nhau, gốc tọa độ sẽ đặt tại chính điểm cắt đó Nếu các trục khớp song song với nhau, gốc tọa độ được chọn trên trục khớp của khâu kế tiếp, tại điểm thích hợp
• Trục z của hệ tọa độ gắn lên khâu thứ n đặt dọc theo trục khớp thứ n+1
• Trục x thường được đặt dọc theo pháp tuyến chung và hướng từ khớp n đến n+1 Trong trường hợp các trục khớp cắt nhau thì trục x chọn theo tích vectơ 𝑍⃗𝑛 𝑍⃗𝑛−1
Trang 19Trường hợp khớp quay thì θn là các biến khớp, trong trường hợp khớp tịnh tiến thì dn là biến khớp và an bằng 0
Các thông số an, αn, dn và θn được gọi là bộ thông số DH
Ví dụ 1: Xét một tay máy có hai khâu phẳng như hình 2.4:
Hình 1.6 Tay máy có hai khâu phẳng (vị trí bất kỳ)
Ta gắn các hệ tọa độ lên các khâu như hình vẽ: trục z0, z1 và z2 vuông góc với tờ giấy Hệ tọa độ cơ sở là O0x0y0z0, chiều của x0 hướng O0 đến O1 Sau khi thiết lập hệ tọa
độ cơ sở, hệ tọa độ O1x1y1z1 có hướng như hình vẽ, O1 đặt tại tâm trục khớp 2 Hệ tọa
độ O2x2y2z2 có gốc O2 đặt ở điểm cuối của khâu 2
Bảng 1.1 Thông số Denavit-Hartenbert của tay máy hình 1.6
• Quay quanh zn-1 một góc θn
• Tịnh tiến dọc theo zn-1 một khoảng dn
• Tịnh tiến dọc theo xn-1 = xn một đoạn an
• Quay quanh xn một góc xoắn αn
Bốn phép biến đổi thuần nhất này thể hiện quan hệ của hệ tọa độ thuộc khâu thứ
n so với hệ tọa độ thuộc khâu thứ n-1 và tích của chúng được gọi là ma trận A:
An = Rot(z,θ) Trans(0,0,d) Trans(a,0,0) Rot(x,α)
Trang 20𝐴𝑛 = [
cos 𝜃 −sin 𝜃sin 𝜃 cos 𝜃
sin 𝜃 sin 𝛼 𝑎 cos 𝜃
−cos 𝜃 sin 𝛼 𝑎 sin 𝜃
d Trình tự thiết lập hệ phương trình động học của Robot
Để thiết lập hệ phương trình động học của Robot, ta tiến hành theo các bước sau:
➢ Bước 1: Chọn hệ tọa độ cơ sở, gắn các hệ tọa độ mở rộng lên các khâu
Việc gắn hệ tọa độ lên các khâu đóng vai trò rất quan trọng khi xác lập hệ phương trình động học của Robot, thông thường đây cũng là bước khó nhất Nguyên tắc gắn hệ tọa độ lên các khâu đã được trình bày một cách tổng quát trong phần 2.1.1.2 Trong thực
tế, các trục khớp của robot thường song song hoặc vuông góc với nhau, đồng thời thông qua các phép biến đổi của ma trận A ta có thể xác định các hệ tọa độ gắn trên các khâu của Robot theo trình tự sau:
• Giả định một vị trí ban đầu (Home Position) của Robot, vị trí này thường là vị trí duỗi thẳng các khâu hay gập lại một số khâu cuối 1 góc 90o Trong quá trình gắn
hệ tọa độ lên các khâu nếu không hợp lý, ta có thể chọn lại vị trí xuất phát
• Chọn gốc tọa độ Oi dựa vào các nguyên tắc chung đã biết (Oi luôn thuộc khớp thứ i+1)
• Trục zi đặt dọc trục khớp i+1, có chiều hướng về các khâu tiếp theo của robot
• Chọn trục xi là trục quay của zi thành zi+1 và góc của zi với zi+1 chính là αi+1 Nếu
zi và zi+1 song song hoặc trùng nhau thì ta có thể căn cứ nguyên tắc chung hay chọn xi theo xi+1
• Các hệ tọa độ Oxyz phải tuân theo qui tắc bàn tay phải
Trang 21• Khi gắn hệ tọa độ lên các khâu, phải tuân theo các phép biến đổi của ma trận Ai
Đó là bốn phép biến đổi: Ai = Rot(z,θ) Trans(0,0,d) Trans(a,0,0) Rot(x,α) Nghĩa
là ta coi hệ tọa độ thứ i+1 là biến đổi của hệ tọa độ thứ i, các phép quay và tịnh tiến của biến đổi này phải là một trong các phép biến đổi của Ai, các thông số DH cũng được xác định dựa vào các phép biến đổi này Trong quá trình gắn hệ tọa
độ lên các khâu, nếu xuất hiện phép quay của trục zi đối với zi-1 quanh trục yi-1 thì
vị trí ban đầu của Robot đã giả định là không đúng, ta cần chọn lại vị trí ban đầu khác cho Robot
➢ Bước 2: Lập bảng thông số DH (Denavit Hartenberg)
➢ Bước 3: Dựa vào các thông số DH xác định ma trận A i
➢ Bước 4: Tính các ma trận T và viết các phương trình động học của Robot
1.2.2 Phương trình động học nghịch
a Giới thiệu
Sau khi thiết lập hệ phương trình động học cho robot, bây giờ nếu biết trước được điểm tác động cuối mà robot phải với tới trong quá trình làm việc, ta cần phải xác định các biến khớp trong bộ thông số DH Với các biến khớp này khi đưa vào chương trình điều khiển robot thì robot sẽ với điểm mong muốn Đây chính là nội dung của giải hệ phương trình động học còn gọi là động học ngược robot
Cho trước các thông số hình học, thông số liên kết của robot Cho trước vị trí và hướng tác động cuối so với một hệ tọa độ tham chiếu cố định nào đó Cần phải xác định các giá trị của biến khớp và có thể xem thêm có bao nhiêu cấu hình của robot thỏa mãn yêu cầu làm việc
Rõ ràng việc giải hệ phương trình động học robot giữ vai trò rất quan trọng trong quá trình lập trình robot Hiện nay, việc giải hệ phương trình động học với nhiều phương pháp khác nhau sao cho với từng trường hợp phù hợp với từng đặc điểm của robot Nhiệm vụ của bài toán là xác định tệp nghiệm (θi*, di*) khi đã biết hình thể của robot thông qua vectơ cuối T
b Điều kiện của bài toán động học nghịch
Khi giải bài toán động học nghịch của robot cần thỏa mãn 2 điều kiện cơ bản sau:
➢ Điều kiện tồn tại nghiệm:
Rõ ràng là nếu robot đủ số lượng bậc tự do và điểm tác động cuối nằm trong trường thao tác của robot thì chắc chắn tồn tại lớp nghiệm (θi*, di*) sao cho robot đạt được vị trí và hướng của điểm tác động cuối
➢ Điều kiện duy nhất của tệp nghiệm:
Trang 22Khi giải giải bài toán động học ngược, ta có một lớp nghiệm toán, đây là các nghiệm thỏa mãn 12 phương trình trong hệ phương trình động học, người ta gọi đây là nghiệm toán Trên cơ sở đó, dựa vào các ràng buộc vật lý như ràng buộc tịnh tiến, góc xoay… Người ta chọn được một lớp nghiệm duy nhất gọi là lớp nghiệm vật lý dùng cho điều khiển robot Như vậy tập nghiệm vật lý là tập con của tập nghiệm toán
1.3 Giới thiệu chung về xử lý ảnh
Trong những năm gần đây, phần cứng máy tính và các thiết bị liên quan đã có sự tiến
bộ vượt bậc về tốc độ tính toán, dung lượng chứa, khả năng xử lý v.v và giá cả đã giảm đến mức máy tính và các thiết bị liên quan đến xử lý ảnh đã không còn được coi là thiết
bị chuyên dụng nữa Khái niệm ảnh số đã trở nên thông dụng với hầu hết mọi người trong xã hội và việc thu nhận ảnh số bằng các thiết bị cá nhân hay chuyên dụng cùng với việc đưa vào máy tính xử lý đã trở nên đơn giản
Xử lý ảnh là một phân ngành trong xử lý số tín hiệu với tín hiệu xử lý là ảnh 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 Sự phát triển của xử lý ảnh đem lại rất nhiều lợi ích cho cuộc sống của con người
1.3.1 Khái niệm xử lý ảnh
Con người thu nhận thông tin qua các giác quan, trong đó thị giác đóng vai trò quan trọng nhất Những năm trở lại đây với sự phát triển của phần cứng máy tính, xử lý ảnh
và đồ họa đã phát triển một cách mạnh mẽ và có nhiều ứng dụng trong cuộc sống Xử
lý ảnh và đồ họa đóng một vai trò quan trọng trong tương tác người với máy móc Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm cho ra kết quả mong muốn Kết quả đầu ra của một quá trình xử lý ảnh có thể là một ảnh “tốt hơn” hoặc một kết luận
Ảnh có thể xem là tập hợp các điểm ảnh và mỗi điểm ảnh được xem như là đặc trưng cường độ sáng hay một dấu hiệu nào đó tại một vị trí nào đó của đối tượng trong không gian và nó có thể xem như một hàm n biến P(c1, c2,…,cn) Do đó, ảnh trong xử lý ảnh
có thể xem như ảnh n chiều
Trang 23➢ Độ phân giải (Resolution):
Là mật độ điểm ảnh được sử dụng để biểu diễn ảnh
Trang 241.3.3 Nhiễu và các phương pháp lọc nhiễu
➢ Nhiễu:
Sau quá trình thu nhận ảnh thông thường ảnh thu được luôn xảy ra hiện tượng nhiễu Nhiễu có nhiều dạng: nhiễu do thiết bị thu ảnh (quang sai của thấu kính, nhiễu do rung động), nhiễu ngẫu nhiên và độc lập (ảnh hưởng của môi trường), nhiễu do vật quan sát (do bề mặt bóng, gây phản xạ tạo nhiễu lốm đốm)
số là tập các giá tri ̣ thuộc cửa sổ
v[m,n] = median { u[m-k,n-l], (k,l) ∈ cửa sổ } Trung vi ̣ của chuỗi số có 2n+1 số là số nằm giữa các số khác nếu chuỗi số được sắp xếp theo thứ tự theo thứ tự tăng dần hoặc giảm dần Nếu trường hợp có 2n số thì trung
vi ̣ sẽ là trung bình cộng của hai số trung tâm
Vậy thuật toán dùng cho bộ lọc trung vi ̣ được thực hiện theo hai bước:
- Sắp xếp các phần tử ảnh thuộc cửa sổ theo thứ tự tăng dần hoặc giảm dần Cần dùng thuật toán sắp xếp hiệu quả nhất
- Chọn ra phần tử trung vi ̣ (có chỉ số 2n/2 + 1) rồi thay thế giá tri ̣điểm ảnh trung tâm của cửa sổ bằng giá tri ̣ trung vi ̣ đó Riêng đối với giá tri ̣ trên biên thì giữ nguyên giá trị
Trang 25➢ Lọc Gaussian:
Lọc Gaussian là cách làm mờ một ảnh bằng hàm Gaussian Phương pháp này được ứng dụng một cách rộng rãi và hiệu quả trong các phần mềm xử lý đồ họa Nó cũng là công cụ phổ biến để thực hiện quá trình tiền xử lý hình ảnh, có thể giúp làm giảm nhiễu
và mức độ chi tiết không mong muốn của hình ảnh
Mặt nạ của bộ lọc này được xây dựng từ hàm Gaussian:
Hình 1.11 Ảnh trước (a) và sau (b) khi lọc trung vị
Hình 1.12 Ảnh trước (a) và sau (b) khi lọc Gaussian
Trang 261.3.4 Mô hình màu HSV (Hue, Saturation, Value)
Không gian màu được dùng nhiều trong việc chỉnh sửa ảnh, phân tích ảnh, và một phần của lĩnh vực máy tính Hệ thống không gian này dựa vào 3 thông số để mô tả màu sắc Hue là màu sắc, Saturation là độ đậm đặc, sự bão hòa, Value là giá trị cường độ sáng
Không gian màu này thường được biểu diễn dưới dạng hình nón hoặc hình trụ
Hệ tọa độ cho không gian màu này là hình trụ:
+ Giá trị màu thuần khiết (Hue) chạy từ 0 đến 360°
+ Độ bão hòa màu (Saturation) là mức độ của thuần khiết của màu, có thể hiểu là có
bao nhiêu màu trắng được thêm vào màu thuần khiết này Giá trị của S nằm trong đoạn [0,1], trong đó S = 1 là màu tinh khiết nhất, hoàn toàn không pha trắng Nói cách khác,
S càng lớn thì màu càng tinh khiết, nguyên chất
+ Độ sáng của màu (Value), có khi được gọi là Intensity, Lightness, cũng có giá trị
dao động trong đoạn [0, 1], trong đó V=0 là hoàn toàn tối (đen), V=1 là hoàn toàn sáng Nói cách khác, V càng lớn thì màu càng sáng
Hệ thống màu HSV thích hợp với một số thiết kế đồ họa vì nó cung cấp sự điều khiển trực tiếp đến ánh sáng và sắc động Hệ thống màu HSV cũng hỗ trợ tốt hơn những thuật toán xử lý ảnh vì tiêu chuẩn hóa về ảnh màu và tập trung vào hai hàm số về độ hội tụ màu và cường độ màu Hệ thống màu HSV có sự phân chia rõ rệt giữa ánh sáng và màu sắc do đó có khả năng rất lớn được áp dụng cho việc tính đặc trưng và so sánh sự giống nhau về màu sắc của hai ảnh nên thích hợp cho việc tìm kiếm ảnh dựa vào màu
Hình 1.13 Mô hình không gian màu HSV
Trang 271.3.5 Thư viện OpenCV
OpenCV (Open Source Computer Vision) là một thư viện mã nguồn mở hàng đầu cho xử lý về thị giác máy tính (computer vision), xử lý ảnh (image processing) và học máy (machine learning)
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ó bao gồm nhiều giao diện dành cho C++, C, Python, Java
và hỗ trợ cho các hệ điều hành khác nhau như Windows, Linux, Mac OS, iOS và Android
Với thư viện OpenCV này, ta có thể thỏa mái thay đổi các thông số bức ảnh, các dải màu, điều chỉnh chế độ, kích thước của ảnh… bằng lệnh một cách đơn giản nhưng cực
kỳ hiệu quả
Trang 28Chương 2: THIẾT KẾ ROBOT
2.1 Thiết kế cơ khí
Cánh tay robot được cấu thành bởi các bộ phận sau:
- Tay máy là cơ cấu cơ khí gồm các khâu, khớp Chúng hình thành cánh tay để tạo các chuyển động cơ bản, cổ tay tạo nên sự khéo léo, linh hoạt và bàn tay để trực tiếp hoàn thành các thao tác trên đối tượng
- Nguồn động lực và hệ truyền động tạo chuyển động cho các khâu của tay máy, sử dụng động cơ bước, servo
- Hệ thống cảm biến gồm các sensor và thiết bị chuyển đổi tín hiệu cần thiết khác Robot cần hệ thống sensor trong để nhận biết trạng thái của bản thân các cơ cấu của robot và các sensor ngoài để nhận biết trạng thái của môi trường
Trong mô hình này, các chi tiết của robot được in 3D bằng nhựa
Hình 2.1 Mô hình cánh tay robot 5 bậc tự do RRRRR
Trang 29Hình 2.2 Sơ đồ động cánh tay Robot
Trang 31Bảng 2.1 Thông số các khâu và động cơ
Loại động cơ Nema 17
50mm
Nema 17 48mm
Nema 17 38mm
Servo MG996R
Servo SG90
Vị trí nguy hiểm nhất là khi cánh tay duỗi thẳng, khâu 2, 3, 4 nằm ngang, momen tĩnh
do trọng trường gây ra lớn nhất Ngoài ra khi làm việc từ trạng thái ban đầu là đứng yên, momen quán tính sinh ra sẽ gây ra lực cản đặt lên các trục khớp
Momen tĩnh tác động lên các trục khớp nằm ngang:
Trang 32I2 =1
3 320 53,5
2+ 480 5,052+ 55 41.52 = 412271g cm2 = 0.041kg m2Với độ chia vi bước 1/4, chọn gia tốc của động cơ bước khâu 2 là 3000 clw/s2