HCM, ngày tháng năm 2024 LỜI CAM ĐOAN Tôi xin cam kết đề tài “Nghiên cứu xây dựng mô hình và điều khiển robot phân loại sản phẩm trên băng tải” là do nhóm tôi tự thực hiện dựa vào một s
Trang 1THÀNH PHỐ HỒ CHÍ MINH
ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA
GVHD: PGS TS LÊ MỸ HÀ SVTH: TỐNG PHƯỚC ANH HUY
TRẦN ĐÀO DUY KHANGNGHIÊN CỨU XÂY DỰNG MÔ HÌNH VÀ ĐIỀU KHIỂN ROBOT PHÂN LOẠI SẢN PHẨM TRÊN BĂNG TẢI
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN
SVTH: Trần Đào Duy Khang MSSV: 20151118
Trang 3TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN
SVTH: Trần Đào Duy Khang MSSV: 20151118
Tp Hồ Chí Minh tháng 7 năm 2024
Trang 4BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN o0o
Tp HCM, ngày tháng năm 2024
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ và tên sinh viên 1: Tống Phước Anh Huy MSSV: 20151119
Họ và tên sinh viên 2: Trần Đào Duy Khang MSSV: 20151118
Chuyên ngành: Công nghệ Kỹ thuật Điều khiển và Tự động hóa
Hệ đào tạo: Đại học chính quy
I TÊN ĐỀ TÀI: Nghiên cứu xây dựng mô hình và điều khiển robot phân loại sản
phẩm trên băng tải
II NHIỆM VỤ
1 Các số liệu ban đầu:
- Vật cần phân loại: hình vuông 6×6cm
- Kiến thức dựng mô hình robot từ các dự án cũ
- Các slide bài giảng, giáo trình từ môn học có liên quan
- Ngân sách dự kiến dành cho dự án là 6 triệu vnd
- Các thiết bị có sẵn: băng tải, dụng cụ cơ khí
- Các phần mềm: Matlab, Arduino IDE, Visual Studio Code, Simscape, Solidwork
2 Nội dung thực hiện:
- Thiết kế mô hình trên Solidworks và thực hiện mô phỏng hoạt động của robot
- Xây dựng mô hình thực tế cho robot Scara 3 bậc
- Xây dựng chương trình điều khiển cho hệ thống robot và băng tải
- Xây dựng chương trình xử lý ảnh phân loại theo màu sắc
- Kết hợp xử lý ảnh và điều khiền robot để hệ thống hoạt động tự động
III NGÀY GIAO NHIỆM VỤ: 06 – 04 – 2024
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 25 – 06 – 2024
V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: PGS.TS LÊ MỸ HÀ
PGS.TS LÊ MỸ HÀ
Trang 5TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH
KHOA ĐIỆN-ĐIỆN TỬ
BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC
o0o
Tp HCM, ngày tháng năm 2024
LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên 1: Tống Phước Anh Huy MSSV: 20151119
Họ tên sinh viên 2: Trần Đào Duy Khang MSSV: 20151118
Tên đề tài: Nghiên cứu xây dựng mô hình và điều khiển robot phân loại sản phẩm trên băng tải
Tuần/ngày Nội dung nhận Xác
GVHD
Tuần 1 (6/3 – 12/3) Xác nhận đề tài, lên khung sườn kế hoạch
Tuần 2 (13/3 – 19/3) Lên ý tưởng thiết kế bậc đế
Tuần 3 (20/3 – 26/3) Lên ý tưởng thiết kế khâu 1
Tuần 4 (27/3 – 2/4) Lên ý tưởng thiết kế khâu 2
Tuần 5 (3/4 – 9/4) Lên ý tưởng thiết kế khâu 3
Tuần 6 (10/4 – 16/4) Mô phỏng, tính toán
Tuần 7 (17/4 – 23/4) Lựa chọn linh kiện
Tuần 8 (24/4 – 30/4) Lắp ráp bậc đế, khâu 1
Tuần 9 (1/5 – 7/5) Lắp ráp khâu 2, khâu 3
Tuần 10 (8/5 – 14/5) Lắp ráp hệ và lập trình điều khiển
Tuần 11 (15/5 – 21/5) Lập trình điều khiển giao tiếp kết hợp Xử lý ảnh
Tuần 12 (22/5 – 28/5) Lập trình giao diện điều khiển
Tuần 13 (29/5 – 4/6) Chạy thực nghiệm, sữa chữa lỗi
Tuần 14 (5/6 – 11/6) Tổng hợp, chạy nhiều chu kỳ
Tuần 15 (12/6 – 18/6) Làm Word, chuẩn bị Slide Powerpoint
Tuần 16 (19/6 – 25/6) Tổng kiểm tra, hoàn thiện các bước
GV HƯỚNG DẪN
(Ký và ghi rõ họ và tên)
PGS.TS LÊ MỸ HÀ
Trang 6TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH
KHOA ĐIỆN-ĐIỆN TỬ
BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC
o0o
Tp HCM, ngày tháng năm 2024 PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Họ và tên sinh viên 1: Tống Phước Anh Huy MSSV: 20151119 Họ và tên sinh viên 2: Trần Đào Duy Khang MSSV: 20151118 Chuyên ngành: Công nghệ Kỹ thuật Điều khiển và Tự động hóa Tên đề tài: Nghiên cứu xây dựng mô hình và điều khiển robot phân loại sản phẩm trên băng tải Họ và tên Giáo viên hướng dẫn: PGS.TS LÊ MỸ HÀ NHẬN XÉT 1 Về nội dung đề tài & khối lượng thực hiện:
2 Ưu điểm:
3 Khuyết điểm:
4 Đề nghị cho bảo vệ hay không?
5 Đánh giá loại:
Trang 8TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH
KHOA ĐIỆN-ĐIỆN TỬ
BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC
o0o
Tp HCM, ngày tháng năm 2024
LỜI CAM ĐOAN
Tôi xin cam kết đề tài “Nghiên cứu xây dựng mô hình và điều khiển robot phân loại sản phẩm trên băng tải” là do nhóm tôi tự thực hiện dựa vào một số tài liệu trước đó
và không sao chép từ tài liệu hay công trình đã có trước đó
Người thực hiện đề tài
Trang 9
đỡ, hỗ trợ và những lời khuyên quý giá mà thầy đã dành cho chúng em
Nhóm cũng xin gửi lời cảm ơn chân thành đến Ban giám hiệu trường Đại Học
Sư Phạm Kỹ Thuật TP Hồ Chí Minh, Khoa Điện – Điện Tử, cùng toàn thể các thầy
cô giáo đã tận tâm, tận lực tạo điều kiện thuận lợi cho chúng em trong suốt quá trình học tập và nghiên cứu Nhờ sự chỉ dẫn và hỗ trợ không ngừng nghỉ của các thầy cô, nhóm chúng em đã có thể trang bị cho mình những kiến thức nền tảng vững chắc, mở rộng tầm nhìn và phát triển bản thân từng ngày
Một lời cảm ơn đặc biệt, sâu sắc nhất xin gửi đến gia đình và bạn bè thân yêu Những người đã luôn ở bên cạnh, là chỗ dựa tinh thần vững chắc, động viên, an ủi và
cổ vũ chúng em mỗi khi gặp khó khăn, thử thách Sự ủng hộ và khích lệ từ gia đình
và bạn bè chính là nguồn động viên vô cùng quý giá, là động lực mạnh mẽ giúp chúng
em vững bước trên con đường học vấn và hoàn thành đồ án này Chúng em thật may mắn khi có được sự yêu thương và hỗ trợ từ những người thân yêu nhất
Cuối cùng, nhóm xin gửi lời cảm ơn chân thành đến tất cả các anh chị, bạn bè
và đồng nghiệp Cảm ơn các anh chị đã không ngần ngại giúp đỡ, chia sẻ tài liệu, kinh nghiệm, và đóng góp những ý kiến quý báu để luận văn này có thể hoàn thiện và đạt được kết quả tốt nhất Sự giúp đỡ và chia sẻ từ các anh chị đã giúp nhóm chúng em vượt qua những khó khăn, bổ sung những thiếu sót và hoàn thiện hơn từng ngày
Xin trân trọng và chân thành cảm ơn tất cả mọi người!
Người thực hiện đề tài
Trang 10MỤC LỤC
Trang bìa i
Nhiệm vụ ii
Lịch trình iii
Phiếu nhận xét của giáo viên hướng dẫn iv
Lời cam đoan vi
Lời cảm ơn vii
Liệt kê hình vẽ xi
Liệt kê bảng xiii
Tóm tắt xiv
Chương 1 TỔNG QUAN 1
1.1 ĐẶT VẤN ĐỀ 1
1.2 MỤC TIÊU 1
1.3 NỘI DUNG NGHIÊN CỨU 2
1.4 GIỚI HẠN 2
Chương 2 CƠ SỞ LÝ THUYẾT 3
2.1 CƠ SỞ LÝ THUYẾT ĐỘNG HỌC CÁNH TAY MÁY 3
2.1.1 Phương trình động học thuận 3
2.1.1.1 Mở đầu 3
2.1.1.2 Bộ Denavit_Hartenberg (DH) 4
2.1.1.3 Đặc trưng của ma trận 7
2.1.1.4 Trình tự thiết kế phương trình động học 8
2.1.2 Phương trình động học nghịch 8
2.2 CƠ SỞ LÝ THUYẾT XỬ LÝ ẢNH 8
2.2.1 Tổng quan xử lý ảnh 8
2.2.2 Các vấn đề cơ bản trong xử lý ảnh 9
2.2.3 Phương pháp nhận dạng màu sắc 11
2.3 NGÔN NGỮ PYTHON VÀ THƯ VIỆN OPENCV 13
2.3.1 Ngôn ngữ python 13
2.3.2 Thư viện OpenCV 14
Trang 112.4.1 Giới thiệu 15
2.4.2 Giao tiếp Serial (UART) trên Arduino 16
Chương 3 TÍNH TOÁN VÀ THIẾT KẾ 17
3.1 YÊU CẦU ĐIỀU KHIỂN 17
3.1.1 Điều khiển vị trí (Position Control) 17
3.1.2 Điều khiển Mô-men (Torque Control) 17
3.1.3 Điều khiển Trajectory (Trajectory Control) 17
3.1.4 Điều khiển Động Học và Động Lực Học (Kinematics and Dynamics Control) 17
3.1.5 Điều khiển phản hồi (Feedback Control) 17
3.1.5 Điều Khiển hệ thống 17
3.2 YÊU CẦU THIẾT KẾ 18
3.3 ĐỀ XUẤT PHẦN CƠ 19
3.3.1 Đề xuất Robot 19
3.3.2 Đề xuất chọn động cơ 20
3.4 ĐỀ XUÂT PHẦN ĐIỆN 21
3.4.1 Sơ đồ hệ thống 21
3.4.2 Lưu đồ thuật toán 24
3.5 THIẾT KẾ PHẦN MỀM VÀ LỰA CHỌN THIẾT BỊ 27
3.5.1 Thiết kế phần mềm 27
3.5.2 Lựa chọn thiết bị 28
3.6 TÍNH TOÁN 31
3.6.1 Động học thuận 31
3.6.2 Động học nghịch 32
3.6.3 Tính toán động cơ 34
3.6.4 Tính toán dây đai 36
3.6.5 Tính toán vận tốc băng tải 36
Chương 4 THI CÔNG HỆ THỐNG 37
4.1 GIỚI THIỆU 37
4.2 THI CÔNG HỆ THỐNG 37
4.2.1 Lập kế hoạch 37
Trang 124.2.2 Lắp ráp cơ khí 37
4.2.3 Lắp đặt hệ thống điện - điện tử 37
4.2.4 Lập trình và kiểm tra 38
4.3 KẾT QUẢ 38
4.3.1 Thi công trên phần mềm 38
4.3.2 Thi công thực tế 40
Chương 5 KẾT QUẢ THỰC HIỆN 41
5.1 MÔ PHỎNG 41
5.2 KẾT QUẢ XỬ LÝ ẢNH 45
5.2.1 Xử lý màu đỏ 45
5.2.2 Xử lý màu xanh 45
5.2.3 Xử lý màu hồng 45
5.2.4 Xử lý màu vàng 46
5.3 MÔ HÌNH THỰC TẾ 46
5.4 KẾT QUẢ THỐNG KÊ 51
5.4.1 Thống kê độ chính xác 51
5.4.1.1 Trường hợp ánh sáng môi trường cao 51
5.4.1.2 Trường hợp ánh sáng môi trường thấp 51
5.4.1.3 Nhận xét 51
5.4.2 Thống kê độ ổn định 52
5.4.2.1 Trường hợp tốc độ băng tải thấp nhất (4cm/s) 52
5.4.2.2 Trường hợp tốc độ băng tải cao nhất (8cm/s) 52
5.4.2.3 Nhận xét 52
Chương 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 53
6.1 KẾT LUẬN 53
6.1.1 Kết quả đạt được 53
6.1.2 Kết quả chưa đạt được 53
6.2 HƯỚNG PHÁT TRIỂN 53
TÀI LIỆU THAM KHẢO 54
PHỤ LỤC 55
Trang 13LIỆT KÊ HÌNH VẼ
Hình 2.1 Chiều dài và góc xoắn của một khâu 5
Hình 2.2 Các thông số của khâu: , , d avà 5
Hình 2.3 Tay máy có hai khâu phẳng (vị trí bất kỳ) 6
Hình 2.4 Quy trình xử lý ảnh cơ bản 9
Hình 2.5 Phép biến đổi erode và dilate 11
Hình 2.6 Không gian màu HSV 12
Hình 2.7 Giao tiếp UART 15
Hình 2.8 Giao tiếp UART trên Arduino 16
Hình 3.1 Thiết kế phần đế của robot 19
Hình 3.2 Thiết kế khâu 1 của robot 19
Hình 3.3 Thiết kế khâu 2 và 3 của robot 20
Hình 3.4 Các thành phần chính của hệ thống 21
Hình 3.5 Sơ đồ kết nối mạch điều khiển động cơ 22
Hình 3.6 Sơ đồ kết nối điện của hệ thống 23
Hình 3.7 Lưu đồ thuật toán xử lý ảnh 24
Hình 3.8 Lưu đồ hoạt động của hệ thống 26
Hình 3.9 Giao diện giới thiệu 27
Hình 3.10 Giao diện điều khiển 28
Hình 3.11 Hệ trục tọa độ cho robot 31
Hình 3.12 Torque động cơ 1 34
Hình 3.13 Torque động cơ 3 34
Hình 4.1 Mô hình robot Scara 3 bậc 38
Hình 4.2 Mô hình Simscape của robot 38
Hình 4.3 Mô phỏng Matlab Simulink 39
Hình 4.4 Không gian làm việc của robot 39
Hình 4.5 Mô hình thực tế 40
Hình 4.6 Phôi cấp tay 40
Hình 5.1 Đồ thị vị trí Px 41
Hình 5.2 Đồ thị vị trí Py 41
Hình 5.3 Đồ thị vận tốc Px 42
Hình 5.4 Đồ thị vận tốc Py 42
Hình 5.5 Đồ thị góc của động cơ 1 và động cơ 3 43
Hình 5.6 Mô phỏng quy hoạch quỹ đạo robot 44
Hình 5.7 a) Ảnh ban đầu cùa vật màu đỏ
b) Ảnh nhị phân của vật màu đỏ
c) Ảnh phân vùng của vật màu đỏ 45
Hình 5.8 a) Ảnh ban đầu cùa vật màu xanh
b) Ảnh nhị phân của vật màu xanh
c) Ảnh phân vùng của vật màu xanh 45
Trang 14Hình 5.9 a) Ảnh ban đầu cùa vật màu hồng
b) Ảnh nhị phân của vật màu hồng
c) Ảnh phân vùng của vật màu hồng 45
Hình 5.10 a) Ảnh ban đầu cùa vật màu vàng
b) Ảnh nhị phân của vật màu vàng
c) Ảnh phân vùng của vật màu vàng 46
Hình 5.11 Giao diện điều khiển khi robot chưa phát hiện vật 46
Hình 5.12 Robot ở vị trí chờ khi chưa có vật 47
Hình 5.13 Giao diện điều khiển khi phát hiện sản phẩm màu xanh 47
Hình 5.14 Robot di chuyển tới vị trí sản phẩm và hút 48
Hình 5.15 Robot di chuyển tới vị trí thả sản phẩm màu xanh 48
Hình 5.16 Giao diện điều khiển khi phát hiện sản phẩm màu đỏ 49
Hình 5.17 Robot di chuyển tới vị trí sản phẩm và hút 49
Hình 5.18 Robot di chuyển tới vị trí thả sản phẩm màu đỏ 50
Hình 5.19 Robot quay về vị trí chờ khi chưa có vật 50
Trang 15LIỆT KÊ BẢNG
Bảng 2.1 Bảng thông số Denavit – Hartenbert của cánh tay máy 6
Bảng 3.1 Bảng yêu cầu điều khiển của hệ thống 18
Bảng 3.2 Bảng vật liệu các khâu 20
Bảng 3.3 Lựa chọn thiết bị trong hệ thống 28
Bảng 3.4 Bảng thông số D-H Scara 32
Bảng 5.1 Bảng thống kê độ chính xác môi trường ánh sáng cao 51
Bảng 5.2 Bảng thống kê độ chính xác môi trường ánh sáng thấp 51
Bảng 5.3 Bảng thống kê độ ổn định tốc độ băng tải thấp 52
Bảng 5.4 Bảng thống kê độ ổn định tốc độ băng tải cao 52
Trang 16TÓM TẮT
Tên đề tài: Nghiên cứu xây dựng mô hình và điều khiển Robot SCARA phân loại sản phẩm trên băng tải
Sinh viên thực hiện: Tống Phước Anh Huy MSSV: 20151119
Trần Đào Duy Khang MSSV: 20151118 Lớp: 20151CL5B
Giảng viên hướng dẫn: PGS.TS Lê Mỹ Hà
Trong đề tài “Nghiên cứu xây dựng mô hình và điều khiển Robot SCARA phân loại sản phẩm trên băng tải” nhóm đã hoàn thiện việc thiết kế và chế tạo một robot SCARA với khả năng gắp và di chuyển vật thể chính xác
Kết quả nghiên cứu bao gồm việc xây dựng thành công mô hình cơ khí của robot và phát triển hệ thống điều khiển các khớp nhằm đảm bảo độ chính xác cao trong các thao tác gắp và di chuyển vật thể Hệ thống này tích hợp các cảm biến và phần mềm điều khiển, cho phép robot hoạt động linh hoạt và hiệu quả trong môi trường thực tế Qua các thử nghiệm và mô phỏng, hệ thống điều khiển đã được tối ưu hóa, đảm bảo hoạt động ổn định và đáp ứng được các yêu cầu kỹ thuật đề ra Những kết quả này không chỉ chứng minh tính khả thi của thiết kế mà còn mở ra tiềm năng ứng dụng rộng rãi của robot SCARA trong các ngành công nghiệp hiện đại
Trang 17Chương 1 TỔNG QUAN
1.1 ĐẶT VẤN ĐỀ
Trong kỷ nguyên của công nghiệp 4.0, việc tự động hóa và ứng dụng công nghệ tiên tiến trong quy trình sản xuất trở thành yếu tố quyết định để nâng cao hiệu suất và sức cạnh tranh của doanh nghiệp Sự phát triển của các hệ thống robot hiện đại cùng với công nghệ xử lý hình ảnh đã mở ra những tiềm năng mới cho việc tự động hóa quá trình
Đặc biệt, việc phân loại sản phẩm dựa trên các tiêu chí như màu sắc, kích thước, hay hình dạng trên các băng tải sản xuất đóng vai trò quan trọng trong nhiều ngành công nghiệp Phân loại sản phẩm theo màu sắc là một trong những ứng dụng phổ biến
và cần thiết trong quy trình sản xuất Ví dụ trong ngành công nghiệp thực phẩm, việc phân loại trái cây, rau củ theo màu sắc không chỉ đảm bảo tính thẩm mỹ mà còn liên quan đến chất lượng và độ chín của sản phẩm Trong sản xuất linh kiện điện tử, phân loại theo màu sắc giúp phân biệt các thành phần khác nhau một cách nhanh chóng và chính xác Hệ thống robot có thể phân loại sản phẩm một cách liên tục, với tốc độ và
độ chính xác cao, giúp tăng cường hiệu suất và giảm thiểu sự phụ thuộc vào lao động thủ công, từ đó giảm chi phí và các rủi ro Nhận thấy tầm quan trọng của việc tích hợp robot vào hệ thống băng tải để phân loại sản phẩm theo màu sắc, nhóm sinh viên chúng em quyết định nghiên cứu và thực hiện đề tài "Nghiên cứu xây dựng mô hình
và điều khiển robot phân loại sản phẩm trên băng tải" Vì đề tài đã có những bước tiến lớn và ứng dụng rộng rãi trong và ngoài nước nên chúng em chỉ nghiên cứu với
mô hình mang tính chất tham khảo
Trang 18Điều khiển robot để phân loại sản phẩm với hệ thống nhận diện màu sắc một cách chính xác
Thực hiện việc tích hợp hệ thống robot với băng tải đảm bảo hoạt động đồng bộ
và hiệu quả
Vận hành mô hình theo yêu cầu đã đặt ra: phân loại sản phẩm theo màu đỏ, màu xanh, màu vàng và màu hồng
1.3 NỘI DUNG NGHIÊN CỨU
Đề tài nghiên cứu: “Nghiên cứu xây dựng mô hình và điều khiển robot phân loại sản phẩm trên băng tải” được chia làm 6 chương, phạm vi mỗi chương được trình bày như sau:
Chương 1: Tổng quan đề tài
Chương này trình bày đặt vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nội dung nghiên cứu và các giới hạn của đề tài
Chương 2: Cơ sở lý thuyết
Chương 3: Tính toán và thiết kế
Chương 4: Thi công hệ thống
Chương 5: Kết quả thực hiện
Chương 6: Kết luận và hướng phát triển
1.4 GIỚI HẠN
Hệ thống được phát triển để nhận dạng và phân loại một số màu sắc cụ thể Màu sắc của sản phẩm phải rõ ràng và không bị ảnh hưởng nhiều bởi ánh sáng hoặc điều kiện môi trường
Do điều kiện về thời gian và nguồn lực tài chính, đề tài chỉ xây dựng với mô hình nhỏ gọn không làm thành dây chuyền sản xuất, hiển thị kết quả trên màn hình Các thử nghiệm và đánh giá sẽ tập trung vào các tình huống nhất định, có thể không bao gồm mọi tình huống thực tế phức tạp
Trang 19Chương 2 CƠ SỞ LÝ THUYẾT
2.1 CƠ SỞ LÝ THUYẾT ĐỘNG HỌC CÁNH TAY MÁY
2.1.1 Phương trình động học thuận
2.1.1.1 Mở đầu
Một robot có thể được coi như một tập hợp các khâu (links) kết nối với nhau bằng các khớp (joints) Trên mỗi khâu của robot, ta gán một hệ tọa độ riêng Sử dụng các phép biến đổi thuần nhất, chúng ta có thể mô tả vị trí và hướng tương đối giữa các hệ tọa độ này Denavit đã gọi phép biến đổi thuần nhất này, mô tả mối quan hệ
giữa một khâu và khâu liền kề, là ma trận A Nói một cách đơn giản, ma trận A biểu
diễn một phép biến đổi thuần nhất bao gồm phép quay và phép tịnh tiến giữa hai hệ tọa độ của hai khâu liền kề Ma trận A1 mô tả vị trí và hướng của khâu đầu tiên, trong khi ma trận A2 mô tả vị trí và hướng của khâu thứ hai so với khâu đầu tiên [1] Do
đó, 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ằng ma trận:
Theo Denavit, tích các ma trận A được gọi là ma trận T , và thường được ký
hiệu bằng hai chỉ số: chỉ số trên và chỉ số dưới Chỉ số trên biểu thị tọa độ tham chiếu tới và có thể bỏ qua nếu chỉ số đó bằng 0 [1] Chỉ số dưới thường chỉ khâu chấp hành cuối cùng Ví dụ, nếu một robot có 6 khâu thì ta có:
6 1 .2 3 4 5 6
T = A A A A A A (2.3) T6 mô tả mối quan hệ về hướng và vị trí của khâu chấp hành cuối cùng so với
hệ tọa độ gốc Một robot với 6 khâu có thể có 6 bậc tự do, cho phép xác định vị trí
và hướng trong không gian làm việc của nó Ba bậc tự do dùng để xác định vị trí và
ba bậc tự do còn lại dùng để xác định hướng mong muốn Ma trận T6 sẽ biểu diễn cả hướng và vị trí của robot Hình 2.1 mô tả mối quan hệ này đối với bàn tay robot Gốc tọa độ của hệ mô tả được đặt tại điểm giữa của các ngón tay, và được xác định bởi
Trang 20vector p, biểu thị vị trí của bàn tay Ba vector đơn vị mô tả hướng của bàn tay được xác định như sau: [1]
• Vector có hướng theo đó bàn tay sẽ tiếp cận đối tượng, gọi là vector a
Vécto điểm p có kích thước 2 1 , biểu diễn mối quan hệ tọa độ vị trí của gốc hệ tọa
độ gắn trên khâu chấp hành cuối đối với hệ tọa độ cơ bản
2.1.1.2 Bộ Denavit_Hartenberg (DH)
Một Robot được hình thành từ nhiều khâu kết nối với nhau thông qua các khớp động liên tiếp Khâu gốc (Base) của Robot là khâu số 0 và không được tính vào số lượng các khâu Khâu 1 nối với khâu gốc qua khớp 1 và không có khớp ở đầu mút của khâu cuối cùng [2]
Mỗi khâu được xác định bởi hai thuộc tính chính:
• Độ 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 a an: n
Thông thường, người ta gọi 𝑎𝑛 là chiều dài và 𝛼𝑛 là góc xoắn của khâu (Hình 2.1)
Trang 21Hình 2.1 Chiều dài và góc xoắn của một khâu Thường thấy hai khâu liên kết với nhau qua trục chính của khớp (Hình 2.2).
Vị trí tương đối của hai khâu liên tiếp được xác định bởi:
• Khoảng cách dn giữa hai pháp tuyến theo trục khớp 𝑛
• Góc n giữa hai pháp tuyến trong mặt phẳng vuông góc với trục
Thường người ta gọi dn là khoảng cách và và n là góc giữa các khâu
Hình 2.2 Các thông số của khâu: , , d avà
Để mô tả mối quan hệ giữa các khâu, ta cần gắn một hệ tọa độ vào mỗi khâu Việc gắn hệ tọa độ lên các khâu có một nguyên tắc như sau [2]:
• Gốc của hệ tọa độ được gắn lên khâu thứ n đặt tại điểm giao của pháp tuyến
chung với khớp thứ n +1 Trong trường hợp các trục khớp cắt nhau, gốc tọa độ được đặt tại điểm cắt đó Nếu các trục khớp song song, gốc tọa độ sẽ đượ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 độ sẽ được gắn vào khâu thứ n , hướng dọc theo trục khớp
thứ n +1
Trang 22• Trục x thường được đặt dọc theo đường pháp tuyến chung và sẽ hướng từ khớp n đến khớp n +1
Đối với trường hợp cắt nhau của các trục khớp, trục x sẽ có hướng theo tích
của vecto Z Zn. n− 1
Trườ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ố D-H [2]
VD1: Gắn hệ toạ độ và xác định các thông số DH cho Robot có hai khâu phẳng Chúng ta gắn các hệ tọa độ lên các khâu như trong hình vẽ, với các trục z z0, 1
và z2 vuông góc với mặt phẳng của tờ giấy
Hệ tọa độ gốc được đặt là O x y z0 0 0 0 với trục x0 hướng từ O0đến O1 Sau khi thiết lập hệ tọa độ cơ sở , hệ tọa độ O x y z1 1 1 1 được hướng như trong hình vẽ và có gốc tọa độ O1 nằm tại trung tâm của khớp 2 Hệ tọa độ O x y z2 2 2 2 có gốc tọa độ O2 được đặt tại điểm cuối của khâu 2
Hình 2.3 Tay máy có hai khâu phẳng (vị trí bất kỳ) Bảng 2.1 Bảng thông số Denavit – Hartenbert của cánh tay máy
Trang 232.1.1.3 Đặc trưng của ma trận
Dựa trên hệ tọa độ đã được định sẵn cho tất cả các khâu nối của Robot, ta có thể thiết lập các mối quan hệ giữa các hệ tọa độ kế tiếp (n −1) và ( )n thông qua các phép quay và tịnh tiến sau đây:
• Quay quanh trục zn−1 một gócn
• Tịnh tiến dọc theo trục zn−1 một khoảng dn
• Tịnh tiến dọc theo trục xn−1 (đã trùng với zn) một khoảng an
• Quay quanh trục xn một góc xoắn an
Các phép biến đổi đơn giản này mô tả mối quan hệ giữa hệ tọa độ của khâu thứ
n với hệ tọa độ của khâu thứ n −1, và tích của chúng được biểu diễn dưới dạng ma
n
a a A
Trong trường hợp của khớp quay, các hằng số ,d a và được sử dụng và
do đó, ma trận A của khớp quay là một hàm số của góc quay
Đối với khớp tịnh tiến, các hằng số và được sử dụng và ma trận A của khớp tịnh tiến là một hàm số của khoảng dịch d
Trang 24Khi các biến số này được xác định, giá trị của các ma trận A tương ứng
cũng được xác định
2.1.1.4 Trình tự thiết kế phương trình động học [3]
- Bước 1: Chọn hệ tọa độ gốc, gắn các hệ tọa độ mở rộng lên các khâu
- Bước 2: Xây dựng bảng thông số DH ( Denavit Hartenberg )
- Bước 3: Dựa vào bảng thông số DH, xác định ma trận A
- Bước 4: Tính toán các ma trận T và lập phương trình động học của robot
2.1.2 Phương trình độ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:
Nếu robot có đủ số bậc tự do và điểm tác động cuối cùng nằm trong không gian làm việc của nó, thì nhất định tồn tại một bộ giá trị ( * *)
, d
sao cho robot có thể đạt được vị trí và hướng của điểm tác động cuối cùng
- Điều kiện duy nhất của tập nghiệm:
Trong quá trình giải bài toán động học nghịch, ta thu được một tập các nghiệm, được gọi là nghiệm toán, là các giải pháp thỏa mãn hệ phương trình động học, bao gồm 12 phương trình Dựa trên các ràng buộc vật lý như ràng buộc tịnh tiến, góc xoay và các ràng buộc khác, người ta chọn ra một tập nghiệm duy nhất, gọi là lớp nghiệm vật lý, để áp dụng vào điều khiển robot Vì vậy, tập nghiệm vật lý là một tập con của tập nghiệm toán [4]
2.2 CƠ SỞ LÝ THUYẾT XỬ LÝ ẢNH
2.2.1 Tổng quan xử lý ảnh
Trong thời gian gần đây, các tiến bộ vượt bậc trong phần cứng máy tính và thiết bị liên quan đã cải thiện đáng kể về tốc độ tính toán, sức mạnh xử lý và cả dung lượng lưu trữ Đồng thời, giá thành của những công nghệ này cũng đã giảm đi rất nhiều, khiến cho máy tính và các thiết bị liên quan đến xử lý ảnh không còn là những thiết bị chỉ dành riêng cho các ứng dụng đặc biệt nữa Với sự phổ biến của ảnh kỹ thuật số, việc sử dụng các thiết bị cá nhân hoặc chuyên dụng để chụp ảnh kỹ thuật số
và xử lý chúng bằng máy tính đã trở nên rất phổ biến và dễ dàng
Trang 25Con người chủ yếu nhận thông tin qua các giác quan, trong đó thị giác đóng một vai trò quan trọng nhất Gần đây, nhờ sự phát triển mạnh mẽ của phần cứng máy tính, công nghệ xử lý ảnh và đồ họa đã có những bước tiến lớn và được ứng dụng phổ biến len lỏi trong mọi mặt của cuộc sống hàng ngày Xử lý ảnh và đồ họa là yếu tố quan trọng trong tương tác giữa con người và máy tính
Quá trình xử lý ảnh có thể được hiểu là việc thao tác các ảnh đầu vào để tạo ra các kết quả như mong muốn Kết quả của quá trình này có thể là một bức ảnh được cải thiện hoặc một kết luận cụ thể dựa trên nội dung ảnh
Quá trình xử lý ảnh bao gồm nhiều bước cơ bản, dưới đây mô tả các bước cơ bản trong quy trình xử lý ảnh:
Hình 2.4 Quy trình xử lý ảnh cơ bản
2.2.2 Các vấn đề cơ bản trong xử lý ảnh
Ảnh và điểm ảnh: Ảnh là một tập hợp các điểm ảnh được biểu thị với mức
xám phù hợp, dùng để tái hiện một cảnh thực tế hoặc một đối tượng Mỗi điểm ảnh trong ảnh được xác định bởi một tọa độ (x, y) Điểm ảnh là đơn vị cơ bản nhất trong quá trình tạo thành một hình ảnh kỹ thuật số Độ phân giải của bức ảnh phụ thuộc vào
số lượng pixel có trong đó, có nhiều pixel sẽ cung cấp chi tiết hình ảnh cao hơn [5]
Phân loại ảnh: Mức xám của điểm ảnh là cường độ sáng được biểu thị bằng
một giá trị tại từng điểm ảnh Các mức xám thông thường bao gồm: 16, 32, 64, 128,
256 Mức phổ biến nhất là 256, sử dụng 1 byte để biểu diễn mức xám [5]
- Ảnh nhị phân: Là loại ảnh chỉ có hai mức trắng và đen, chỉ sử dụng 1 bit dữ
liệu cho mỗi điểm ảnh
- Ảnh đen trắng: Là loại ảnh chỉ sử dụng hai màu đen và trắng (không chứa
màu khác), với mức xám có thể khác nhau ở từng điểm ảnh
Trang 26- Ảnh màu: Là loại ảnh kết hợp từ ba màu cơ bản để tạo ra một thế giới màu
sắc phong phú Thông thường, để mô tả mức màu, người ta sử dụng 3 byte, tạo ra khoảng 16,7 triệu mức màu khác nhau
Phân đoạn ảnh: Phân đoạn ảnh là bước quan trọng trong xử lý ảnh, nhằm chia
ảnh thành các vùng có cùng tính chất dựa trên biên hoặc các vùng kết nối Các tiêu chuẩn để xác định các vùng kết nối có thể là cùng mức độ xám, cùng màu sắc hoặc cùng đặc tính nhất định Quá trình này giúp tách các đối tượng quan trọng ra khỏi nền
và giữ lại thông tin cần thiết cho ứng dụng Phân đoạn ảnh giúp loại bỏ những phần không cần thiết và có thể áp dụng nhiều phương pháp khác nhau như sử dụng ngưỡng xám để phân chia ảnh thành các vùng đối tượng và nền [5]
Các phép toán hình thái Morphology: Morphology trong xử lý ảnh số là một công cụ quan trọng giúp trích xuất các thành phần từ ảnh nhị phân, biểu diễn và mô
tả chúng dưới dạng các vùng hoặc các đường biên, xương và bao lồi Các phép toán
cơ bản của Morphology áp dụng cho ảnh nhị phân bao gồm: Dilation, Erosion, Opening, Closing [5]
- Phép giãn (Dilation) là thao tác giãn nở hoặc phình to các đối tượng ảnh đơn sắc
- Phép co (Erosion) là thao tác xói mòn hoặc co hẹp các đối tượng ảnh đơn
sắc
- Phép giãn là quá trình làm mở rộng hoặc phình to các đối tượng trong ảnh bằng cách thêm vào các điểm ảnh vào bên trong đối tượng Điều này dẫn đến việc làm tăng kích thước của đối tượng và làm cho ranh giới của nó trở nên mượt mà hơn Ngược lại, phép co là quá trình làm giảm kích thước của các đối tượng bằng cách loại
bỏ các điểm ảnh trên biên của chúng
Trang 27Hình 2.5 Phép biến đổi erode và dilate 2.2.3 Phương pháp nhận dạng màu sắc
Không gian màu RGB: là một không gian màu rất thông dụng trong đồ họa
máy tính và các thiết bị kỹ thuật số khác Khái niệm cơ bản của không gian màu này
là sự pha trộn của ba màu cơ bản: đỏ (R - Red), xanh lá cây (G - Green), và xanh
dương (B - Blue), để tạo ra tất cả các màu sắc khác
Khi một hình ảnh kỹ thuật số được mã hóa với 24 bit, nghĩa là mỗi kênh R, G,
và B đều có 8 bit, mỗi kênh có thể có giá trị từ 0 đến 255 Bằng cách kết hợp các giá trị khác nhau của ba kênh màu này, ta có thể tạo ra một dải rộng các màu sắc Cụ thể, điều này cho phép tạo ra 256 x 256 x 256 = 16.777.216 màu khác nhau
Ví dụ, màu đen được biểu diễn bởi các giá trị (0, 0, 0) của ba kênh màu, trong khi màu trắng có giá trị (255, 255, 255) Màu vàng được tạo ra khi R và G đều có giá trị 255, còn B bằng 0, tức là (255, 255, 0) Tương tự, màu tím đậm có thể được biểu diễn bởi các giá trị (64, 0, 128) cho các kênh R, G, và B tương ứng
Nếu chúng ta sử dụng 16 bit để mã hóa cho mỗi kênh màu (tổng cộng 48 bit cho cả ba kênh), thì số lượng màu sắc có thể biểu diễn sẽ tăng lên một cách đáng kể, lên đến 3 x 2^16 = 196,608 giá trị khác nhau cho mỗi kênh, cho phép tạo ra một số lượng khổng lồ các màu sắc khác nhau [6]
Không gian màu HSV (Hue, Saturation, Value): là một không gian màu
được sử dụng phổ biến trong chỉnh sửa và phân tích ảnh, cũng như trong lĩnh vực máy tính Nó dựa trên ba thành phần để mô tả màu sắc: Hue (màu sắc), Saturation (độ bão hòa), và Value (giá trị cường độ sáng) Trong không gian màu HSV, Hue
Trang 28được biểu diễn bằng giá trị từ 0 đến 360 độ, Saturation là mức độ của màu sắc thuần khiết trong đoạn từ 0 đến 1, và Value thể hiện độ sáng của màu từ 0 đến 1, với 0 là tối nhất và 1 là sáng nhất
Hình 2.6 Không gian màu HSV
Mô hình này thường được mô tả như một hình nón hoặc hình trụ trong không gian màu Nó cung cấp sự điều khiển trực tiếp đến sắc độ và ánh sáng của màu sắc, làm cho nó phù hợp cho các ứng dụng thiết kế đồ họa và xử lý ảnh Mô hình HSV cũng được đánh giá cao trong các thuật toán xử lý ảnh do khả năng tiêu chuẩn hóa về màu sắc và tập trung vào hai yếu tố chính: màu sắc và cường độ Với sự phân chia rõ rệt giữa ánh sáng và màu sắc, HSV là lựa chọn phù hợp cho việc phân tích và so sánh
sự tương đồng màu sắc giữa các hình ảnh, đặc biệt là trong việc tìm kiếm hình ảnh dựa trên màu sắc [6]
Công thức chuyển đổi giữa RGB và HSV:
Với ảnh thu thập được từ Camera sẽ cho không gian màu của ảnh là RGB , vì không gian màu RGB không thích hợp cho nhận dạng màu sắc, không gian màu HSV thường được dùng để phân biệt màu sắc Vì vậy ta cần chuyển đổi ảnh RGB (ảnh gốc) sang ảnh HSV [6]
Giả sử ban đầu chúng ta có một điểm màu với giá trị trong hệ RGB là
(R G B, , ), ta chuyển đổi sang không gian màu HSV theo cách sau:
Để tính toán, ta cần chuẩn hóa các giá trị này về khoảng 0,1 :
Trang 30pháp đơn giản, dễ đọc và sử dụng ít từ khóa, điều này khiến Python trở thành một ngôn ngữ rất dễ học đối với người mới bắt đầu lập trình Ngay cả khi bạn chưa có kinh nghiệm với Python, bạn vẫn có thể dễ dàng hiểu được ý nghĩa của các dòng mã nhờ tính rõ ràng và dễ đọc của nó Ngoài ra, Python hỗ trợ chạy trên nhiều hệ điều hành khác nhau, bao gồm Windows, macOS và Linux, cho phép các ứng dụng viết bằng Python có thể chạy trên nhiều nền tảng một cách linh hoạt
2.3.2 Thư viện OpenCV
OpenCV (Open Source Computer Vision Library) là một thư viện mã nguồn
mở phổ biến, được sử dụng rộng rãi trong cộng đồng học thuật và các dự án nghiên cứu nhờ vào tính miễn phí của nó Thư viện này có ứng dụng đa dạng trong nhiều lĩnh vực như thị giác máy tính, xử lý hình ảnh và học máy OpenCV hỗ trợ nhiều ngôn ngữ lập trình như C++, C, Python, và Java, và có thể chạy trên nhiều hệ điều hành bao gồm Windows, Linux, macOS, iOS và Android [7]
OpenCV cho phép thực hiện nhiều tác vụ phức tạp như nhận diện hình ảnh, khôi phục video, và xử lý hình ảnh cho thực tế ảo, cùng với nhiều ứng dụng khác Trong bài viết này, chúng ta sẽ chú trọng đến việc sử dụng OpenCV cùng với Python
để thực hiện xử lý và nhận diện hình ảnh đầu vào [7]
Một số tính năng chính của OpenCV bao gồm:
Xử lý hình ảnh: OpenCV cung cấp khả năng đọc, lưu và ghi tệp hình ảnh,
cùng với các công cụ để lọc nhiễu, chuyển đổi định dạng và thực hiện các thao tác khác trên hình ảnh
Xử lý video: Thư viện hỗ trợ các chức năng tương tự đối với video, bao gồm
đọc và ghi tệp video
Nhận dạng đặc điểm: Thư viện có khả năng phát hiện và phân tích các đặc
điểm cụ thể trong hình ảnh, như các hình dạng hoặc các đối tượng cụ thể
Phát hiện đối tượng: OpenCV có thể xác định các đối tượng cụ thể như khuôn
mặt, mắt, và các phương tiện trong hình ảnh hoặc video
Phân tích video: Thư viện hỗ trợ các tác vụ như ước lượng chuyển động, tách
nền, và theo dõi đối tượng trong video
Trang 312.4 CHUẨN GIAO TIẾP TRUYỀN THÔNG UART
tự, và truyền dữ liệu song song, nơi nhiều bit được truyền đồng thời qua nhiều đường dẫn Trong giao tiếp dữ liệu nối tiếp, dữ liệu được truyền qua một dây hoặc cáp theo từng bit, chỉ cần sử dụng hai dây: một dây TX (truyền) và một dây RX (nhận) Giao tiếp dữ liệu nối tiếp thường không đắt so với giao tiếp song song, vì nó yêu cầu ít mạch và dây hơn
Hình 2.7 Giao tiếp UART
Ưu điểm:
- Cần chỉ hai dây để truyền dữ liệu
- Không cần tín hiệu CLK để đồng bộ hóa
- Bao gồm bit kiểm tra chẵn lẻ để phát hiện lỗi
- Có thể điều chỉnh được thứ tự truyền gói dữ liệu vì cả TX và RX đều có thể được cấu hình
- Khung dữ liệu có kích thước tối đa là 9 bit
Nhược điểm:
- Không hỗ trợ nhiều hệ thống phụ thuộc
- Tốc độ truyền của UART không thể đạt mức cao như một số giao thức khác
Trang 322.4.2 Giao tiếp Serial (UART) trên Arduino
Chuẩn giao tiếp truyền thông nối tiếp UART trên Arduino, còn được gọi là Serial, là một chuẩn giao tiếp phổ biến trong các ứng dụng hệ thống nhúng
Hình 2.8 Giao tiếp UART trên Arduino
Có hai phương pháp để khai báo và sử dụng UART trên Arduino, tuy nhiên phổ biến nhất là dùng lệnh Serial.begin(9600) Đây là cách đặt tốc độ baud là 9600 bit mỗi giây và sử dụng khung truyền mặc định 8-N-1 (8 bit dữ liệu, không sử dụng bit kiểm tra chẵn/lẻ, 1 bit kết thúc) Lệnh này cũng đồng thời cấu hình chân digital 0
và digital 1 trên Arduino để hoạt động như chức năng truyền và nhận dữ liệu: Chân digital 0 được gắn với bộ nhận dữ liệu trong vi điều khiển và chân digital 1 được kết nối với bộ truyền dữ liệu trong vi điều khiển
Khi sử dụng Board Arduino để giao tiếp với máy tính, không cần thiết phải nối thêm bất kỳ linh kiện nào Board Arduino đã tích hợp sẵn chức năng này, chỉ cần kết nối cáp USB để thực hiện việc này
Arduino cung cấp một bộ đệm UART tích hợp sẵn có kích thước là 256 byte (trên Arduino Mega 2560) Khi nhận mỗi ký tự, nó sẽ tự động lưu vào bộ đệm này Điều này giúp người dùng có thể dễ dàng đọc dữ liệu bằng cách làm việc với bộ đệm
đã được xây dựng sẵn Bộ đệm UART sẽ mất dữ liệu ngay sau khi đọc Vì vậy nên đọc và lưu ra 1 biến để làm việc với biến đó
Trang 33Chương 3 TÍNH TOÁN VÀ THIẾT KẾ
3.1 YÊU CẦU ĐIỀU KHIỂN
3.1.1 Điều khiển vị trí (Position Control)
Điều khiển vị trí là một yêu cầu cơ bản đối với mọi loại robot, kể cả SCARA Điều này bao gồm:
- Điều khiển vị trí của các khớp (Joint Position Control): Điều chỉnh các góc của từng khớp để đạt được vị trí mong muốn
- Điều khiển vị trí của đầu cuối (End-effector Position Control): Điều chỉnh vị trí của đầu cuối để đạt được tọa độ mong muốn trong không gian làm việc
3.1.2 Điều khiển Mô-men (Torque Control)
Trong một số ứng dụng, điều khiển mô-men có thể là điều kiện cần thiết để đảm bảo rằng các khớp của robot tạo ra đủ lực nhằm hoàn thành các nhiệm vụ cụ thể,
chẳng hạn như nâng 1 đồ vật
3.1.3 Điều khiển Trajectory (Trajectory Control)
Điều khiển quỹ đạo liên quan đến việc lập kế hoạch và thực hiện lộ trình mà robot sẽ theo để di chuyển từ điểm này đến điểm khác Lộ trình này cần được tính
toán để tránh va chạm và tối ưu hóa thời gian di chuyển
3.1.4 Điều khiển Động Học và Động Lực Học (Kinematics and Dynamics Control)
Động học (Kinematics): Xác định vị trí và vận tốc của đầu cuối dựa trên các
góc và vận tốc của các khớp
Động lực học (Dynamics): Xác định lực và mô-men cần thiết để thực hiện các chuyển động theo yêu cầu
3.1.5 Điều khiển phản hồi (Feedback Control)
Sử dụng các cảm biến để thu thập dữ liệu về vị trí, tốc độ và lực nhằm điều chỉnh điều khiển theo thời gian thực giúp nâng cao sự chính xác của robot và độ tin cậy của hệ thống
3.1.5 Điều Khiển hệ thống
Hệ thống điều khiển robot phân loại sản phẩm trên băng tải ứng dụng công nghệ xử lý ảnh cần có những quy chuẩn sau:
Trang 34Bảng 3.1 Bảng yêu cầu điều khiển của hệ thống
Vận chuyển sản phẩm - Sản phẩm giữ được cân bằng ổn định trên băng tải - Hệ thống vận hành trơn tru Điều khiển Robot
- Robot vận hành ổn định
- Khả năng di chuyển chính xác đến các vị trí cụ thể trong không gian làm việc
Xử lý ảnh
- Nhận diện màu sắc chính xác, nhanh chóng
- Gửi tín hiệu và điều khiển robot phân loại sản phẩm đúng khu vực yêu cầu
Phân loại - Phân loại được các sản phẩm liên tục - Sản phẩm được phân loại hoàn toàn tự động
3.2 YÊU CẦU THIẾT KẾ
Nhóm đã quyết định chọn thiết kế robot SCARA 3 bậc tự do dựa trên các yêu cầu về điều khiển và mục đích sử dụng, với các lý do sau:
Khả năng di chuyển linh hoạt trong không gian ba chiều: Robot Scara 3
bậc tự do cho phép di chuyển với sự linh hoạt cao, nhờ vào khả năng xoay 360 độ của khớp nối cơ bản và trục Z thẳng đứng Điều này rất phù hợp cho các nhiệm vụ gắp thả sản phẩm trên băng tải, đặc biệt khi cần xử lý các vị trí khác nhau với độ chính xác cao
Tốc độ và độ chính xác cao: Robot Scara có khả năng hoạt động với tốc độ
nhanh và độ chính xác vị trí đáng kể Khả năng mang tải trọng tương đối nhẹ giúp nó đáp ứng tốt các yêu cầu phân loại sản phẩm trên băng tải một cách nhanh chóng và hiệu quả
Thiết kế đơn giản và nhỏ gọn: Với cấu trúc 3 bậc, Scara có thiết kế tương
đối đơn giản và nhỏ gọn, lý tưởng cho các môi trường làm việc có không gian hạn chế Thiết kế này giúp giảm sự phức tạp trong việc triển khai và dễ dàng hơn trong điều khiển so với các loại robot có cấu trúc phức tạp hơn
Chi phí hợp lý và dễ bảo trì: So với nhiều loại robot công nghiệp khác, Scara
3 bậc tự do có chi phí lắp đặt và bảo trì thấp hơn, trong khi vẫn đảm bảo tuổi thọ cao Điều này đặc biệt quan trọng đối với sinh viên thực hiện đồ án tốt nghiệp, khi yếu tố chi phí và khả năng vận hành ổn định là những tiêu chí quan trọng
Tổng hợp lại, việc lựa chọn robot Scara 3 bậc tự do không chỉ phù hợp với yêu cầu của đề tài mà còn mang lại hiệu quả cao trong thực tế Cấu trúc linh hoạt, độ
Trang 35chính xác và chi phí hợp lý khiến Scara trở thành một lựa chọn phù hợp cho đồ án tốt nghiệp của nhóm
3.3 ĐỀ XUẤT PHẦN CƠ
3.3.1 Đề xuất Robot
- Chọn vật liệu: Chọn Mica để làm kết cấu chính của Robot
• Nhẹ, giá thành thấp
• Dễ dàng thiết kế, gia công, lắp ráp
- Đầu tiên về phần đế, nhóm chọn cách để động cơ điều khiển khớp thứ nhất bám vào khâu 1 - phần xoay Điều này sẽ giúp hệ quay quanh khớp 1 một cách mượt
mà hơn so với đặt động cơ tại đế - phần đứng
Hình 3.1 Thiết kế phần đế của robot
- Tiếp theo đến khâu 1, đây là sẽ là trục tịnh tiến lên và xuống Động cơ nhóm chọn đặt ở trên đỉnh để tránh va chạm khi di chuyển
Hình 3.2 Thiết kế khâu 1 của robot
Trang 36- Cuối cùng là khâu 2 và 3, xét trục Vitme của khâu 1 là trục để đối xứng, đặt động cơ lui về phía bên kia của khâu để hệ được cân bằng
Hình 3.3 Thiết kế khâu 2 và 3 của robot Bảng 3.2 Bảng vật liệu các khâu
động cơ hoạt động theo các khía cạnh sau:
• Mô-men xoắn của động cơ sẽ tăng Điều này xảy ra vì động cơ không cần phải thực hiện các chuyển động nhỏ và chính xác như khi ở mức
chia bước cao hơn, do đó có thể cung cấp nhiều lực hơn
• Động cơ có thể hoạt động hiệu quả hơn ở tốc độ cao và sinh nhiệt ít
hơn vì các bước lớn hơn
• Tốc độ tối đa của động cơ có thể tăng lên vì động cơ cần ít bước hơn
để hoàn thành một vòng quay
- Bên cạnh đó nếu tăng hệ số chia bước thì sẽ dẫn đến:
Trang 37• Mỗi bước của động cơ sẽ di chuyển một góc nhỏ hơn, điều đó giúp
cho độ phân giải vị trí cao hơn và chuyển động mịn hơn
• Động cơ sẽ hoạt động êm hơn và ít rung động hơn vì các bước di
chuyển nhỏ hơn và mượt mà hơn
Nhưng việc tăng mức độ chia sẽ làm tăng độ phân giải, dẫn đến việc động cơ phải đi nhiều bước hơn trong giữa 2 cực, do đó gián tiếp ảnh hưởng đến vùng cộng hưởng của động cơ bước Đây là 1 trong những nguyên nhân tăng tỉ lệ trượt bước Vì vậy nhóm sẽ chọn dùng hộp số có tỉ số truyền kết hợp hệ số chia thấp ở TB6600 thay
vì chọn hệ số chia bước cao
Chương trình giao tiếp và điều khiển: giao tiếp giữa người vận hành với hệ
thống điều khiển và thực hiện các nguyên lý đề ra
Bộ điều khiển: thực hiện việc truyền nhận dữ liệu điều khiển từ máy tính và
truyền tín hiệu điều khiển đến các driver để điều khiển động cơ Bộ điều khiển còn nhận các tín hiệu phản hồi của các công tắc hành trình, cảm biến
Khối cảm biến: có chức năng gửi tín hiệu điện cho khối điều khiển khi có vật
cản đi qua
Trang 38Dụng cụ thao tác: gắn trên khâu cuối của robot, dùng để hút và thả sản phẩm
trên băng tải
Hình 3.5 Sơ đồ kết nối mạch điều khiển động cơ
Trang 39Hình 3.6 Sơ đồ kết nối điện của hệ thống Các thành phần chính trong sơ đồ:
- Nguồn tổ ong 24V: dùng để cung cấp nguồn 24V cho toàn bộ hệ thống
- Khối điều khiển động cơ bước TB6600: nhận tín hiệu điều khiển từ Arduino Mega 2560 để điều khiển các động cơ bước
- Driver động cơ DC: điều khiển động cơ bơm hút chân không và động cơ băng tải
- Khối cảm biến: cảm biến cấp tín hiệu cho Arduino để Sethome cho Robot
- Arduino Mega 2560: là bộ điều khiển chính của hệ thống, điều khiển các module động cơ bước TB6600 cũng như module điều khiển động cơ DC L298N
- Nút nhấn ON, OFF và EMERGENCY
- Các đèn báo chỉ thị trạng thái của hệ thống, cho biết hệ thống đang bật hay tắt
Trang 403.4.2 Lưu đồ thuật toán
Hình 3.7 Lưu đồ thuật toán xử lý ảnh