Toàn bộ các bước hoàn thiện và điều khiển đối tượng sẽ được tác giả thực hiện bao gồm: lắp ráp mô hình cơ khí, thiết kế hệ thống điện và điều khiển, xử lý dữ liệu cảm biến, xâ
Trang 1THIẾT KẾ VÀ CHẾ TẠO BỘ ĐIỀU KHIỂN CÁNH TAY MÁY
Sinh viên: Lê Viết Đạt
Mã số sinh viên: 19010206 Khóa: K13
Ngành: Kỹ thuật Điều khiển và Tự động hóa Hệ: Đại học chính quy
Giảng viên hướng dẫn: TS Huỳnh Bá Phúc
Hà Nội – 2024
Copies for internal use only in Phenikaa University
Trang 2
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC PHENIKAA
ĐỒ ÁN TỐT NGHIỆP
THIẾT KẾ VÀ CHẾ TẠO BỘ ĐIỀU KHIỂN CÁNH TAY
MÁY TỪ XA SỬ DỤNG MÔ ĐUN ĐO LƯỜNG QUÁN TÍNH
Sinh viên: Lê Viết Đạt
Mã số sinh viên: 19010206 Khóa: K13
Ngành: Kỹ thuật Điều khiển và Tự động hóa Hệ: Đại học chính quy
Giảng viên hướng dẫn: TS Huỳnh Bá Phúc
Hà Nội – 2024
Copies for internal use only in Phenikaa University
Trang 5Mẫu QT.ĐT.19.M09
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC PHENIKAA
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
NHẬN XÉT ĐỒ ÁN/KHÓA LUẬN TỐT NGHIỆP
CỦA GIẢNG VIÊN PHẢN BIỆN
Giảng viên phản biện: Phạm Văn Thiêm Bộ môn:
- Đảm bảo tính cấp thiết, hiện đại, không trùng lặp: Đề tài phù hợp với các ứng dụng trong công nghiệp đặc biệt thực hiện các tác vụ trong các môi trường khắc nghiệt, mguy hiểm
- Nội dung: Đề trải bao gồm 03 phần chỉnh:
Sử dụng mô đun đô lường quân tỉnh (IMU) để xác định vị trì (x, y, z) đầu và
cuối của khâu cuối robot, và hướng di chuyển roll picth, yaw
Tính toán ra góc quay cho 06 biển khớp dựa trên động học ngược cả Robot
Tính toán ra các hệ số của quỹ đạo chuyển động dựa trên giá trị của 06 biển
khớp ở giá trị đầu và giá trị cuối
Thực hiện giải thuật điều khiển từ xa qua giao thức MQTT
- Mức độ thực hiện: Đồ án hoàn thành các mục tiêu đã đề ra
II Kết quả đạt được: Đề tài đã thiết kế và chế tạo mô hình chuyển động của bàn tay người sử dụng mô đun đo lường quân tỉnh Thiết lập bài toàn động học ngược và động học thuận cho robot 06 bậc tự do
III Ưu nhược điểm:
Copies for internal use only in Phenikaa University
Trang 6- Đề tải thiết kế được modul để xác định vị trí và hưởng của chuyển động bà tay con người dựa trên IMU
- Đề tài có tính ứng dụng trong thực tế
- Sinh viên làm rõ cách xây dựng bài toán động học ngược phần 3.4 cho robot 06 bậc tự do, vi dụ trong công thức Jacobian (3.15) hảm số f1 được xác định như thế nào
- Việc sử dụng bộ lọc HPF cho kết quả không được tốt như bộ lọc Kalman
IV Kết luận: Đồng ý cho bảo vệ: Không đồng ý cho bảo vệ:
x
Copies for internal use only in Phenikaa University
Trang 9BẢN GIẢI TRÌNH SỬA CHỮA ĐỒ ÁN/KHÓA LUẬN TỐT NGHIỆP
Kính gửi: - Hội đồng đánh giá đồ án/khóa luận tốt nghiệp;
- Khoa Điện-Điện tử
Họ và tên tác giả đồ án: Lê Viết Đạt
Mã sinh viên: 19010206 Lớp: K13-KTDK_TDH
Ngành: Kỹ thuật điều khiển và tự động hóa
Đã bảo vệ đồ án tốt nghiệp ngày 3 tháng 4 năm 2024
Tên đề tài: Thiết kế và chế tạo bộ điều khiển cánh tay máy từ xa sử dụng mô đun
đo lường quán tính
Giảng viên hướng dẫn: TS Huỳnh Bá Phúc
Theo góp ý của Hội đồng, dưới sự định hướng của giảng viên hướng dẫn, tác giả đồ án/khoá luận đã nghiêm túc tiếp thu những ý kiến đóng góp của Hội đồng và tiến hành sửa chữa, bổ sung đồ án/khoá luận theo đúng tinh thần kết luận của Hội đồng Chi tiết về các nội dung chỉnh sửa như sau:
Tác giả chỉnh sửa và bổ sung đồ án/khóa luận theo góp ý của Hội đồng
Nội dung Trang cũ Sửa thành Trang mới
Bổ sung phần giao thức truyền
thông Chưa có Giao thức truyền thông MQTT 20
Cách tính ma trận Jacobian 31 Viết tường minh dưới dạng lưu
Bổ sung nội dung lập trình các
phương pháp giải động học Chưa có Phụ lục E, phục lục F 84, 88
Bổ sung nội dung lập trình mô
Copies for internal use only in Phenikaa University
Trang 10của tác giả theo đúng yêu cầu của Hội đồng đánh giá ĐAKLTN ngành Kỹ thuật điều
khiển và tự động hóa tại Trường Đại học Phenikaa ngày … tháng … năm …
Trang 11Trong đồ án này, tác giả thiết kế hệ thống điều khiển cho mô hình tay máy 6 bậc tự do bằng mô đun đo lường quán tính Phương pháp thực hiện đồ án dựa trên việc áp dụng các kết quả nghiên cứu thành công vào mô hình đối tượng tay máy công nghiệp thật, từ đó so sánh và tìm ra kết quả phù hợp nhất với yêu cầu của bài toán Toàn bộ các bước hoàn thiện và điều khiển đối tượng sẽ được tác giả thực hiện bao gồm: lắp ráp mô hình cơ khí, thiết kế hệ thống điện và điều khiển, xử lý dữ liệu cảm biến, xây dựng bộ điều khiển, xử lý truyền thông …
Công cụ phần mềm được sử dụng bao gồm: MATLAB (dành cho mô phỏng), Arduino IDE (dành cho lập trình cho vi điều khiển), PyCharm (dành cho lập trình trên PC), Thonny Python (dành cho việc lập trình trên Raspberry pi) Phần cứng được tự lắp ráp từ các linh kiện riêng lẻ (mô phỏng theo mô hình IRB1600 trên thực tế)
Kết quả chạy kiểm nghiệm trên mô hình đối tượng thật cho thấy mô hình di chuyển ổn định khi người sử dụng thao tác bằng tay
Trong quá trình hoàn thiện đồ án, tác giả đã thu được rất nhiều kiến thức, kinh nghiệm và kỹ năng thông qua việc giải quyết bài toán áp dụng lý thuyết điều khiển cho đối tượng thực đến giải quyết những bài toán tiền đề quan trọng khác như xử lý phần cứng, xử lý tín hiệu cảm biến, xử lý giao tiếp truyền thông…
Copies for internal use only in Phenikaa University
Trang 12LỜI CAM ĐOAN
Tên tôi là: Lê Viết Đạt
Ngành: Kỹ thuật Điều khiển và Tự động hóa
Tôi đã thực hiện đồ án tốt nghiệp với đề tài: Thiết kế và chế tạo bộ điều khiển cánh tay máy từ xa sử dụng mô đun đo lường quán tính
Tôi xin cam đoan đây là đề tài nghiên cứu của riêng tôi và được sự hướng dẫn của TS Huỳnh Bá Phúc
Các nội dung nghiên cứu, kết quả trong đề tài này là trung thực và chưa được các tác giả khác công bố dưới bất kỳ hình thức nào Nếu phát hiện có bất kỳ hình thức gian lận nào tôi xin hoàn toàn chịu trách nhiệm trước pháp luật
GIẢNG VIÊN HƯỚNG DẪN
Trang 13Để hoàn thành đồ án này, em xin được bày tỏ lòng biết ơn sâu sắc đến tất cả những người đã hỗ trợ, giúp đỡ em trong quá trình thực hiện đồ án Quá trình hoàn thiện đồ án gặp vô số trở ngại, khó khăn với những vấn đề từ xử lý phần cứng, lập trình phần mềm tới việc triển khai và hiệu chỉnh bộ điều khiển hay lựa chọn giải pháp, thiết bị linh kiện thay thế… Tuy nhiên, em đã nhận được rất nhiều sự trợ giúp khác nhau trên tất cả các phương diện kiến thức, vật chất, tinh thần để có thể hoàn thiện đồ
án tốt nghiệp với kết quả tốt nhất
Đầu tiên, em xin chân thành cảm ơn thầy Huỳnh Bá Phúc Thầy là người đã trực tiếp hướng dẫn em thực hiện đồ án, chỉ bảo tận tình cũng như trợ giúp em giải quyết các vấn đề khó khăn trong quá trình hoàn thiện đồ án
Tiếp đến, em xin gửi lời cám ơn chân thành đến toàn thể các thầy cô trong khoa Điện- Điện tử, trường Đại học Phenikaa, đặc biệt là sự giúp đỡ từ ICSLab và ISILab (trường Quốc tế- Đại học quốc gia Hà Nội) đã tạo điều kiện thuận lợi nhất cho em hoàn thành đề tài đồ án tốt nghiệp
Em rất mong nhận được sự góp ý của thầy cô để em có thể khắc phục những nhược điểm và ngày càng hoàn thiện bản thân
Xin chân thành cảm ơn!
Hà Nội, ngày 21 tháng 3 năm 2024
Sinh viên thực hiện
Lê Viết Đạt
Copies for internal use only in Phenikaa University
Trang 14MỤC LỤC
DANH MỤC HÌNH ẢNH 2
DANH MỤC BẢNG BIỂU 4
CHỮ VIẾT TẮT 5
CHƯƠNG 1: GIỚI THIỆU 6
1.1 Giới thiệu chung 6
1.2 Tổng quan tình hình nghiên cứu 7
1.3 Lý do lựa chọn đề tài 9
1.4 Mục tiêu, nội dung và phương pháp nghiên cứu 10
1.5 Đóng góp mới 11
1.6 Cấu trúc trình bày 11
CHƯƠNG 2: THIẾT KẾ HỆ THỐNG 12
2.1 Ý tưởng thiết kế 12
2.2 Thiết bị được sử dụng 13
2.2.1 Servo MG996R [5] 13
2.2.2 Board điều khiển ESP32-WROOM-32 [6] 14
2.2.3 Raspberry Pi 3 Model B+ [7] 16
2.2.4 Servo driver PCA9685 [8] 17
2.2.5 Cảm biến IMU BNO055 [9] 18
2.3 Giao thức truyền thông MQTT [10] 20
CHƯƠNG 3: CÁNH TAY ROBOT 22
3.1 Cơ sở lý thuyết cấu trúc robot công nghiệp 22
3.2 Mô tả Robot được sử dụng 24
3.3 Xây dựng bài toán động học thuận tay máy 27
3.4 Xây dựng bài toán động học ngược tay máy 30
3.5 Không gian làm việc của robot 34
CHƯƠNG 4: IMU 35
4.1 Cơ sở lý thuyết đơn vị đo lường quán tính 35
4.1.1 Gia tốc kế 35 Copies for internal use only in Phenikaa University
Trang 154.1.2 Con quay hồi chuyển 36
4.1.3 Từ kế 37
4.2 Trích xuất và xử lý dữ liệu 38
CHƯƠNG 5: GIẢI PHÁP ĐIỀU KHIỂN 41
5.1 Cấu trúc tổng quát 41
5.2 Chương trình trên ESP32 trong cụm phân tích dữ liệu IMU 42
5.3 Chương trình trên Raspberry pi trong cụm tính toán động học 43
5.4 Chương trình trên ESP32 trong cụm điều khiển cơ cấu chấp hành 45
CHƯƠNG 6: MÔ PHỎNG VÀ THỰC NGHIỆM 49
6.1 Kiểm tra thuật toán điều khiển bằng mô phỏng 49
6.2 Kiểm tra trên hệ thống thực 52
6.3 Robot và ứng dụng thực tế 54
CHƯƠNG 7: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 57
7.1 Kết quả đạt được 57
7.2 Vấn đề còn tồn đọng 57
7.3 Hướng phát triển của đề tài 58
TÀI LIỆU THAM KHẢO 59
Phụ lục A: Sơ đồ mạch điện 61
Phụ lục B: Mã code trên Raspberry pi phần giải động học ngược 62
Phụ lục C: Mã code trên ESP32 phần điều khiển cơ cấu chấp hành 69
Phụ lục D: Mã code trên ESP32 phần đọc dữ liệu IMU 76
Phụ lục E: Mã code giải động học theo phương pháp sử dụng ma trận Jacobian 6x6 cổ điển 84
Phụ lục F: Mã code giải động học theo phương pháp sử dụng ma trận Jacobian 6x6 cổ điển 88
Phụ lục G: Mã code mô phỏng trên MATLAB 92 Copies for internal use only in Phenikaa University
Trang 16DANH MỤC HÌNH ẢNH
Hình 1.1 Robot được điều khiển bằng găng tay xúc giác [3] 8
Hình 1.2 Robot được điều dựa trên cử chỉ tay [4] 8
Hình 2.1 Sơ đồ khối thiết kế hệ thống 12
Hình 2.2 Servo MG996R 13
Hình 2.3 ESP32-WROOM-32 14
Hình 2.4 Raspberry Pi 3 Model B+ 16
Hình 2.5 Servo driver PCA9685 17
Hình 2.6 BNO055 18
Hình 2.7 Sơ đồ giao thức MQTT [10] 20
Hình 3.1 Sơ đồ cấu trúc của robot công nghiệp 22
Hình 3.2 Trường công tác của robot [11] 24
Hình 3.3 Robot IBR 1600 [12] 25
Hình 3.4 Robot SNAM 1400 [13] 25
Hình 3.5 Sơ đồ kết nối robot 27
Hình 3.6 Hệ tọa độ trên tay máy 6 bậc tự do 27
Hình 3.7 Quy trình tính toán động học ngược 33
Hình 3.8 Vùng làm việc của robot trong không gian 3D 34
Hình 3.9 Vùng làm việc của robot dưới dạng 2D 34
Hình 4.1 Cấu tạo gia tốc kế MEMS [14] 36
Hình 4.2 Cấu tạo con quay hồi chuyển MEMS [15] 37
Hình 4.3 Nguyên lý hoạt động của từ kế [16] 37
Hình 5.1 Cấu trúc tổng quát của hệ thống 41 Copies for internal use only in Phenikaa University
Trang 17Hình 5.2 Cấu trúc thuật toán trên ESP32 trong cụm phân tích dữ liệu IMU 42
Hình 5.3 Cấu trúc thuật toán trên Raspberry pi trong cụm tính toán động học 43
Hình 5.4 Đồ thị góc quay và vận tốc với góc cố định 45
Hình 5.5 Cấu trúc thuật toán trên ESP32 trong cụm điều khiển cơ cấu chấp hành 48
Hình 6.1 Kết quả mô phỏng thuật toán điều khiển động cơ 50
Hình 6.2 Kết quả mô phỏng Robot trong không gian ba chiều 51
Hình 6.3 Kết quả của bộ lọc Alpha Beta với gia tốc trục Z 52
Hình 6.4 Kết quả của bộ lọc HPF với vận tốc trục Z 53
Hình 6.5 Hiển thị vị trí điều khiển trong không gian 3D 53
Hình 6.6 Robot chạy theo lệnh điều khiển gửi từ MQTT 54
Hình 6.7 Bộ điều khiển robot gắn trên tay người 55
Hình 6.8 Robot di chuyển theo điều khiển từ tay người dùng 56
Hình 6.9 Điều khiển robot thông qua quan sát từ xa 56
Copies for internal use only in Phenikaa University
Trang 18DANH MỤC BẢNG BIỂU
Bảng 2.1 Các thông số kỹ thuật chính của Servo MG996R 13
Bảng 2.2 Các thông số kỹ thuật chính của ESP32-WROOM-32 15
Bảng 2.3 Các thông số kỹ thuật chính của Raspberry Pi 3 Model B+ 17
Bảng 2.4 Các thông số kỹ thuật chính của Servo driver PCA9685 18
Bảng 2.5 Các thông số kỹ thuật chính của BNO055 19
Bảng 3.1 Các thông số kỹ thuật chính của robot SNAM 1400 26
Bảng 3.2 Thông số D-H của robot 28
Bảng 5.1 So sánh thời gian giải động học ngược của các phương pháp 44
Bảng 6.1 Thông số mô phỏng 49
Copies for internal use only in Phenikaa University
Trang 19CHỮ VIẾT TẮT
CPU: Central Processing Unit
DoF: Degrees of Freedom
HPF: High-pass Filter
IMU: Inertial Measurement Unit
IoT: Internet of Things
IRU: Inertial Reference Unit
MCU: Micro Controller Unit
MEMS: Microelectromechanical Systems
MQTT: Message Queueing Telemetry Transport
MRU: Motion Reference Unit
PWM: Pulse Width Modulation
Copies for internal use only in Phenikaa University
Trang 20CHƯƠNG 1: GIỚI THIỆU 1.1 Giới thiệu chung
Robotics đang ngày càng trở thành một trong những lĩnh vực công nghệ tiên tiến và có tiềm năng phát triển mạnh mẽ trong ngành công nghiệp của Việt Nam Với sự tiến bộ vượt bậc của công nghệ và sự phát triển của nền kinh tế, việc ứng dụng robot trở nên quan trọng trong ngành tự động hóa nhằm nâng cao năng suất và chất lượng, hạn chế và cải thiện sức lao động của con người Robot giúp con người hoạt động ở những môi trường nguy hiểm với tính mạng như khu vực hầm mỏ, khu vực nhiễm phóng xạ, hoặc duy trì hoạt động trong những dây chuyền 24/7 Robot và đặc biệt là cánh tay robot đã có ứng dụng rộng khắp ở các nhà máy trên khắp thế giới
Một trong những ứng dụng quan trọng của robot trong công nghiệp ở Việt Nam là trong lĩnh vực sản xuất ô tô và linh kiện ô tô Các nhà máy sản xuất ô tô hiện đại đã tích hợp các hệ thống robot tự động hóa trong các dây chuyền sản xuất, giúp tăng năng suất, chất lượng sản phẩm và giảm thiểu lỗi sản xuất Tại Việt Nam, các nhà máy của các hãng ô tô lớn như Toyota, Ford, và VinFast đã tích hợp robot vào quy trình sản xuất để tăng năng suất và chất lượng sản phẩm
Công nghệ robot cũng được áp dụng trong các nhà máy sản xuất điện tử, điện lạnh và hàng tiêu dùng khác, từ việc lắp ráp, kiểm tra chất lượng đến đóng gói sản phẩm Ngành công nghiệp điện tử là một trong những ngành tiên tiến nhất trong việc
sử dụng robot Các nhà máy sản xuất linh kiện điện tử tại Việt Nam đã triển khai robot trong các quy trình lắp ráp, kiểm tra chất lượng và đóng gói sản phẩm Theo Tổng cục Thống kê Việt Nam [1], xuất khẩu sản phẩm điện tử của Việt Nam năm 2020 đạt gần
142 tỷ USD, tăng 1,4% so với năm trước, chứng tỏ sự hiệu quả của việc sử dụng robot trong ngành này
Trong lĩnh vực sản xuất và chế tạo, robot cũng đóng vai trò quan trọng trong việc thực hiện các công việc nguy hiểm hoặc tốn kém về lao động như hàn, cắt, mài kim loại Sử dụng robot trong các quy trình này không chỉ giảm thiểu rủi ro cho người lao động mà còn tăng cường hiệu suất và đảm bảo chất lượng sản phẩm
Copies for internal use only in Phenikaa University
Trang 21Đồ án tốt nghiệp lần này nhằm nghiên cứu về tay máy robot, tác giả tập trung vào việc tính toán lý thuyết và xây dựng thuật toán điều khiển đối với cánh tay robot
6 bậc tự do, kèm theo đó là việc truy xuất, phân tích và sử dụng dữ liệu đầu ra của mô đun đo lường quán tính (IMU) để tạo nên bộ điều khiển cho mô hình tay máy Cơ sở
lý thuyết của robot được xây dựng dựa trên phương trình động học thuận, phương trình động học ngược, các phép tính và mô phỏng được triển khai trên trên phần mềm MATLAB Từ đó xây dựng thuật toán điều khiển vận tốc động cơ theo phương trình bậc 3 và thiết kế bộ điều khiển dựa trên dữ liệu phân tích được từ IMU Đề tài có sử dụng một mẫu robot dựa theo cấu hình tay máy công nghiệp IRB Mô hình này không được dùng trong công nghiệp nhưng trong khuôn khổ đề tài này có thể được sử dụng để mô tả một khâu hay một giai đoạn của quá trình hoạt động thực tế
1.2 Tổng quan tình hình nghiên cứu
Nghiên cứu, thiết kế, chế tạo các bộ điều khiển từ xa cho robot là những chủ đề không quá mới Tuy nhiên, thiết bị có thể chuyển động trực tiếp dựa trên vị trí của người điều khiển và điều khiển thông qua mạng Internet thì lại thu hút được rất nhiều
sự quan tâm hiện nay Đề tài “Design and Implementation of a Haptic Measurement Glove to Create Realistic Human-Telerobot Interactions” của tác giả Evan Capelle
[2] đã đề xuất một hệ thống điều khiển robot từ xa dựa trên găng tay xúc giác cho các nhiệm vụ thao tác tinh tế Hình 1.1 cho thấy một hệ thống sử dụng găng tay xúc giác để theo dõi vị trí và lực của tay người, và sau đó sử dụng thông tin này để điều khiển robot Hệ thống đã được thử nghiệm trong một số nhiệm vụ thao tác tinh tế, và kết quả cho thấy nó có thể cung cấp khả năng kiểm soát chính xác và khéo léo
Một đề tài khác với tên gọi “Towards robust ego-centric hand gesture analysis for robot control” đã được tiến hành bởi Hongyong Song, năm 2016 [4] Nghiên cứu các tác giả đã đề xuất một hệ thống điều khiển robot từ xa mạnh mẽ dựa trên ước tính
tư thế tay Hệ thống sử dụng một mạng nơ-ron tích chập để ước tính tư thế tay của người vận hành thông qua các bức ảnh được chụp từ một camera, và sau đó sử dụng thông tin này để điều khiển robot, chi tiết cấu trúc hệ thống được thể hiện trong hình Copies for internal use only in Phenikaa University
Trang 221.2 Hệ thống đã được thử nghiệm trong một số môi trường phức tạp, và kết quả cho thấy nó có thể cung cấp khả năng điều khiển chính xác và ổn định Tuy nhiên, hệ thống này có hạn chế khi chưa di chuyển được robot theo các chuyển động phức tạp mà chỉ có thể tuân theo các cử động được quy định sẵn dựa theo từng cử chỉ Do đó gây nên khó khăn cho người mới sử dụng khi họ có thể nhầm lẫn giữa các cử chỉ với nhau và gây nên sai lầm khi điều khiển
Hình 1.1 Robot được điều khiển bằng găng tay xúc giác [3]
Hình 1.2 Robot được điều dựa trên cử chỉ tay [4]
Copies for internal use only in Phenikaa University
Trang 23Ở Việt Nam, kỹ thuật robot mới bắt đầu được du nhập nhiều vào ngành công nghiệp nước nhà từ năm 1990 khi các cơ sở công nghiệp bắt đầu đổi mới quy trình và nhập khẩu nhiều loại robot phục vụ các mục đích công nghiệp Năm 2002, công ty TOSY của giám đốc người Việt Nam thành lập và bắt đầu sản xuất robot giải trí, công nghiệp đã đem đến nhiều giải thưởng trong và ngoài nước Bên cạnh đó còn có các đơn vị sản xuất robot nước ngoài có trụ sở tại Việt Nam như ABB Ngày 12/10/2003, sự ra đời của Hội khoa học và công nghệ Robot Việt Nam (Vietnamese Association
of Robotics – VAR) đã thúc đẩy lĩnh vực nghiên cứu và ứng dụng Robot tại Việt Nam phát triển hơn nữa Ngày nay hầu hết các trường kỹ thuật tại Việt Nam đã trang bị môn kỹ thuật Robot vào các chương trình giảng dạy chính giúp sinh viên tiếp cận tốt hơn và phát triển các khía cạnh như kỹ thuật điều khiển, mô phỏng được phát triển tốt hơn
1.3 Lý do lựa chọn đề tài
Việc lựa chọn đề tài "Thiết kế và chế tạo bộ điều khiển cánh tay máy từ xa sử dụng mô đun đo lường quán tính" được thúc đẩy bởi nhiều lý do quan trọng và có tính ứng dụng cao trong nhiều lĩnh vực khác nhau Một trong những lý do chính là sự cần thiết của việc áp dụng công nghệ điều khiển từ xa trong các ứng dụng thực tế Việc
sử dụng cánh tay máy từ xa không chỉ giúp loại bỏ nguy cơ cho con người trong các môi trường nguy hiểm mà còn tăng cường sự linh hoạt và hiệu suất trong các quy trình làm việc Đặc biệt, trong các lĩnh vực như y tế, khai thác mỏ, và xử lý chất độc hại, việc điều khiển từ xa càng trở nên cần thiết hơn bao giờ hết Thứ hai, việc sử dụng mô đun đo lường quán tính trong bộ điều khiển cánh tay máy giúp người điều khiển dễ thao tác hơn Nhờ vào khả năng đo lường tương đối các thông số như gia tốc, vận tốc và hướng di chuyển, người điều khiển có thể thực hiện các thao tác một cách chính xác và nhất quán Bên cạnh đó, việc sử dụng mô đun đo lường quán tính cũng giúp tối ưu hóa việc tiêu tốn năng lượng và tăng cường hiệu suất của hệ thống điều khiển Ngoài ra vì ngành robot vẫn chưa phát triển ở Việt Nam nên tác giả đã đề xuất đề tài này để xây dựng nên một bộ điều khiển để sinh viên có thể thực nghiệm và nghiên cứu tốt hơn, hỗ trợ tối đa cho giảng viên trong việc giảng dạy
Copies for internal use only in Phenikaa University
Trang 241.4 Mục tiêu, nội dung và phương pháp nghiên cứu
Mục tiêu:
- Mua và lắp ráp một mô hình cánh tay robot có sẵn
- Thiết lập được bài toán động học thuận và nghịch cho cánh tay robot
- Tìm hiểu nguyên lý hoạt động của mô đun đo lường quán tính, truy xuất, phân tích và sử dụng dữ liệu đầu ra để có được các thông số về vị trí và góc nghiêng
- Thiết kế và chế tạo được mô hình nhận dạng chuyển động của bàn tay người
sử dụng mô đun đo lường quán tính (cụm A)
- Thiết kế và chế tạo bộ điều khiển chuyển động của mô hình tay máy (cụm B)
sử dụng dữ liệu truyền về từ cụm A
- Xây dựng được giải thuật điều khiển tay máy từ xa hiệu quả
Nội dung nghiên cứu:
- Tìm hiểu về các loại tay máy được dùng nhiều trong công nghiệp và chọn lựa, lắp ráp mô hình có sẵn của tay máy dựa theo các open source
- Thiết kế, chế tạo phần cứng hệ thống gồm: driver điều khiển PCA9685, máy tính nhúng Raspberry pi 3B+, vi điều khiển ESP32, cảm biến IMU BNO055,…
- Tính toán các phương trình động học thuận, nghịch và xác định không gian làm việc cho mô hình tay máy đã chọn
- Thiết lập giải thuật điều khiển vận tốc động cơ theo dạng phương trình bậc 3
- Thiết lập giải thuật nhận dạng chuyển động của bàn tay người sử dụng mô đun
đo lường quán tính
- Kiểm tra lại các thuật toán và phương trình bằng mô phỏng trên MATLAB
- Thiết lập giải thuật điều khiển từ xa qua giao thức MQTT
- Kiểm tra thuật toán trên mô hình robot đã lắp ráp
Copies for internal use only in Phenikaa University
Trang 25- Đánh giá sản phẩm hoàn thành với một số tiêu chí đề ra
Phương pháp nghiên cứu:
- Thu thập, tham khảo và phân tích các tài liệu về các lĩnh vực, đề tài nghiên cứu liên quan, và các linh kiện thiết bị được sử dụng
- Tìm hiểu về kỹ thuật lập trình, xây dựng giải thuật và áp dụng các phần mềm lập trình thông dụng
- Kiểm tra thực nghiệm thiết robot trong môi trường thực tế
- Tổng hợp, phân tích, đánh giá kết quả đạt được
1.5 Đóng góp mới
Trong đồ án này, tác giả đề xuất một số đóng góp mới như sau:
- Thiết lập được thuật toán ứng dụng các các bộ lọc nhẹ gồm lọc Alpha Beta và lọc thông cao, có thể chạy trên hệ thống vi điều khiển để lấy được dữ liệu về
vị trí của IMU trong không gian ba chiều
- Triển khai thuật toán điều khiển trên một mô hình robot nhỏ, có thể điều khiển
từ xa qua Internet áp dụng được cho nghiên cứu
1.6 Cấu trúc trình bày
Nội dung chính của đồ án được chia làm 7 chương:
- Chương 1: Giới thiệu về đề tài, nội dung và phương pháp nghiên cứu
- Chương 2: Trình bày về thiết kế hệ thống, bao gồm sơ đồ thiết kế và thiết bị
- Chương 3: Phân tích cấu hình động học của mẫu robot được sử dụng
- Chương 4: Thiết lập giải thuật xác định vị trí trong không gian 3 chiều với dữ liệu đọc được từ IMU
- Chương 5: Thành lập lưu đồ thuật toán cho hệ thống nhúng được sử dụng
- Chương 6: Kiểm tra các thuật toán bằng mô phỏng chuyển động đối với robot bằng phần mềm MATLAB và triển khai trên hệ thống thực
- Chương 7: Kết luận và hướng phát triển tiếp theo
Copies for internal use only in Phenikaa University
Trang 26CHƯƠNG 2: THIẾT KẾ HỆ THỐNG 2.1 Ý tưởng thiết kế
Hình 2.1 thể hiện sơ đồ khối các thành phần chính của hệ thống Sản phẩm bao gồm hai phần là robot và thiết bị điều khiển, kèm theo hệ thống truyền hình ảnh từ xa Phần robot gồm sáu động động cơ Servo để điều khiển các khâu của robot, driver PCA9685 kết nối với động cơ để điều khiển góc quay, board điều khiển ESP32 cho phép kết nối và xử lý tín hiệu điều khiển được gửi từ một máy tính nhúng Raspberry
pi 3 qua cổng Serial đến driver và nguồn điện cung cấp năng lượng cho các khối có thể hoạt động Phần thiết bị điều khiển gồm có board điều khiển ESP32 có chức năng đọc và xử lý dữ liệu được gửi đến từ cảm biến IMU BNO055, sau đó gửi đến máy tính nhúng Raspberry thông qua giao thức MQTT để có thể điều khiển robot, cuối cùng là một viên pin cung cấp năng lượng để hoạt động Hình ảnh của robot và môi trường xung quanh được thu thập thông qua một điện thoại, sau đó truyền thông qua Internet đến một màn hình quan sát Người điều khiển có thể thông qua những hình ảnh này để tiến hành điều khiển robot theo ý muốn
Hình 2.1 Sơ đồ khối thiết kế hệ thống
Copies for internal use only in Phenikaa University
Trang 272.2 Thiết bị được sử dụng
2.2.1 Servo MG996R [5]
Hình 2.2 Servo MG996R
Động cơ RC Servo MG996R là một biến thể được cải tiến của động cơ RC Servo MG996R, trong đó các bánh răng được chế tạo từ kim loại để tăng cường sức mạnh và độ bền Kích thước của động cơ này nhỏ gọn và cách điều khiển tương tự như các động cơ RC Servo phổ biến khác trên thị trường như MG90, MG995, 9G, v.v Được thiết kế để phù hợp với nhiều ứng dụng khác nhau như robot cánh tay, robot nhện, cơ cấu chuyển hướng, và cơ cấu quay góc Các thông số cơ bản của động cơ được mô tả chi tiết trong Bảng 2.1
Bảng 2.1 Các thông số kỹ thuật chính của Servo MG996R
Copies for internal use only in Phenikaa University
Trang 282.2.2 Board điều khiển ESP32-WROOM-32 [6]
Hình 2.3 ESP32-WROOM-32
ESP32-WROOM-32 là một vi điều khiển đa năng, mạnh mẽ và phổ biến trong việc thiết kế các bo mạch kết nối Wifi-Bluetooth, đặc biệt phù hợp với các ứng dụng Internet of Things (IoT) ngày nay Vi điều khiển này dựa trên nền tảng chip ESP32-D0WDQ6, một chip nhúng được thiết kế với khả năng mở rộng và tùy chỉnh cao Nó bao gồm hai lõi CPU độc lập, có khả năng điều chỉnh tần số xung của CPU từ 80 MHz đến 240 MHz Người lập trình có thể vô hiệu hóa một trong hai lõi CPU để sử dụng chế độ xử lý năng lượng thấp cho các nhiệm vụ giám sát hoặc xử lý dữ liệu từ các thiết bị ngoại vi Các thông số cơ bản của ESP32 được tóm tắt trong Bảng 2.2
Copies for internal use only in Phenikaa University
Trang 29Bảng 2.2 Các thông số kỹ thuật chính của ESP32-WROOM-32
Bluetooth v4.2 BR/EDR and BLE specification
Bộ chuyển đổi ADC 12 bit 16 kênh
Bộ chuyển đổi 8-bits DAC 2 kênh
Điện áp hoạt động 2.7 ~ 3.6V
Trang 302.2.3 Raspberry Pi 3 Model B+ [7]
Hình 2.4 Raspberry Pi 3 Model B+
Raspberry Pi được biết đến như là các bảng mạch máy tính đơn lẻ, hoặc máy tính nhúng, có kích thước tương đương một chiếc thẻ tín dụng Nó đã được phát triển tại Anh bởi Quỹ Raspberry Pi với mục tiêu ban đầu là thúc đẩy việc giảng dạy khoa học máy tính cơ bản trong các trường học tại các quốc gia đang phát triển
Chỉ cần cài đặt hệ điều hành, kết nối chuột, bàn phím và màn hình, Raspberry
Pi có thể sử dụng như một máy tính hoàn chỉnh Mặc dù không thể hoàn toàn thay thế máy tính để bàn hoặc máy tính xách tay, Raspberry Pi được xem là một thiết bị đa năng có thể được sử dụng cho nhiều mục đích, bao gồm các hệ thống điện tử, thiết lập
hệ thống máy tính, các dự án DIY, với chi phí thấp Các thông số kỹ thuật của Raspberry Pi 3 Model B+ được liệt kê trong Bảng 2.3 dưới đây
Copies for internal use only in Phenikaa University
Trang 31Bảng 2.3 Các thông số kỹ thuật chính của Raspberry Pi 3 Model B+
Điện áp hoạt động 5V
2.2.4 Servo driver PCA9685 [8]
Hình 2.5 Servo driver PCA9685
PCA9685 là một IC điều khiển servo 12-bit PWM 16 kênh được sử dụng để điều khiển nhiều servo một cách hiệu quả Nó có giao tiếp I2C giúp đơn giản hóa việc
kết nối và lập trình Các thông số kỹ thuật cơ bản của driver được đưa ra trong
Bảng 2.4
Copies for internal use only in Phenikaa University
Trang 32Bảng 2.4 Các thông số kỹ thuật chính của Servo driver PCA9685
Trang 33tốc (accelerometer), cảm biến con quay hồi chuyển (gyroscope), và cảm biến từ trường (magnetometer) trong một thiết bị duy nhất Nó là một lựa chọn phổ biến cho các ứng dụng đo lường, theo dõi chuyển động và hướng trong không gian ba chiều, chẳng hạn như robot, máy bay không người lái và thiết bị đeo Các thông số kỹ thuật cơ bản
của cảm biến được đưa ra trong Bảng 2.5
Bảng 2.5 Các thông số kỹ thuật chính của BNO055
Điện áp hoạt động 3- 5VDC
Phạm vi đo cảm biến gia tốc ±2 g, ±4 g, ±8 g, ±16 g
Phạm vi đo con quay hồi
chuyển
±125°/s, ±250°/s, ±500°/s, ±1000°/s,
±2000°/s Phạm vi đo cảm biến từ trường ±1300 μT
Dữ liệu đầu ra
Góc nghiêng tuyệt đối Euler, Quaternion;
Cường độ trường từ trường;
Gia tốc tuyệt đối;
Trang 342.3 Giao thức truyền thông MQTT [10]
MQTT là giao thức truyền thông điệp, tin nhắn theo mô hình publish/ subscribe (cung cấp/ thuê bao) dành cho các mạng băng thông thấp, có độ trễ cao
MQTT là lựa chọn lý tưởng trong các môi trường:
- Nơi giá mạng viễn thông đắt đỏ, băng thông thấp, thiếu độ tin cậy
- Giao thức chạy trên thiết bị nhúng bị giới hạn về tốc độ và bộ nhớ
- Giao tiếp giữa máy và máy (M2M)
Hình 2.7 Sơ đồ giao thức MQTT [10]
Thành phần cấu tạo của giao thức MQTT
Giao thức MQTT truyền thông điệp dựa trên mô hình publish/ subscribe giữa các thiết bị, ứng dụng với nhau Các thành phần trong MQTT bao gồm:
- MQTT Broker: được cung cấp dưới dạng mã nguồn mở, có thể đi kèm với dịch vụ điện toán đám mây Chức năng của Broker là lọc các tin nhắn dựa trên chủ đề (topic), sau đó phân phối chúng đến thiết bị/ứng dụng đã đăng
ký nhận thông tin theo topic đó
Copies for internal use only in Phenikaa University
Trang 35- MQTT Client: là các thiết bị/ ứng dụng kết nối đến Broker để thực hiện việc truyền/nhận dữ liệu Một Client gửi dữ liệu gọi là một Publisher, một Client đăng ký nhận dữ liệu gọi là một Subscribe
- Topic: được quản lý bởi Broker và được trao đổi giữa các MQTT Client với nhau
Để nhận dữ liệu từ publisher thì subscribe phải đăng ký theo dõi một topic Sau đó bất cứ publisher nào publish dữ liệu đến đúng topic đó thì Broker sẽ lọc và chuyển tiếp chúng đến đúng subscriber đã đăng ký Một Client có thể publish hoặc subscribe nhiều topic khác nhau
Nguyên lý hoạt động của giao thức MQTT
- Broker: giữ vai trò là trung tâm hay là điểm giao của kết nối đến tất cả Clients Broker sẽ nhận thông điệp, tin nhắn từ publisher sau đó sắp xếp lại và chuyển chúng đến subscribe cụ thể
- Client: một Client có thể publish hoặc subscribe nhiều topic khác nhau
- Publisher: có quyền gửi thông điệp, tin nhắn đến bất kỳ topic nào
- Subscriber: sẽ nhận thông điệp từ những topic đã đăng ký nhưng để nhận
dữ liệu từ publisher thì subscribe phải đăng ký theo đúng topic đó
Ưu điểm của MQTT
- Khả năng truyền thông tin hiệu quả hơn
- Thu thập nhiều dữ liệu hơn, giảm tiêu thụ băng thông mạng
- Chi phí thấp
- Tiết kiệm thời gian phát triển
Nhược điểm của MQTT
- MQTT không được mã hóa mà sử dụng TLS/SSL để mã hóa bảo mật
- Rất khó để tạo ra một mạng MQTT mở rộng toàn cầu
Copies for internal use only in Phenikaa University
Trang 36CHƯƠNG 3: CÁNH TAY ROBOT 3.1 Cơ sở lý thuyết cấu trúc robot công nghiệp
Cấu trúc của một mô hình robot công nghiệp có hệ thống cơ cấu chấp hành (Actuator) giúp tạo chuyển động cho các tay máy, có thể kế đến là các loại động cơ điện, thủy lực, khí nén, Hệ thống cảm biến (Sensor) gồm các sensor và thiết bị chuyển đổi tín hiệu Các cảm biến này giúp cho robot nhận biết được trạng thái của bản thân trong môi trường xung quanh Hệ thống điều khiển (Controller) thường là máy tính có khả năng tái lập trình để người dùng có thể điều khiển tùy vào mục đích
và kịch bản hoạt động Cuối cùng là tay máy (Manipulator), các cơ cấu cơ khí gồm các khâu, khớp giúp hoàn thiện chuyển động
Hình 3.1 Sơ đồ cấu trúc của robot công nghiệp
Copies for internal use only in Phenikaa University
Trang 37Tay máy là thành phần quan trọng của robot có các đặc điểm chung về kết cấu gốc các khâu được nối với nhau bằng các khớp để hình thành một chuỗi động học hở tính từ thân đến công tác Các khớp giúp cho robot chuyển động với hai chuyển động
cơ bản là tịnh tiến và quay Trong thiết kế tay máy, người ta thường quan tâm các thông số hình – động học ảnh hưởng khả năng làm việc như sức nâng, trường làm việc, số bậc tự do ảnh hưởng đến sự khéo léo, tính ứng dụng của tay máy Số lượng
và cách sử dụng các khớp tay máy có thể phân loại ra các kiểu tọa độ Đề Các, tọa độ trụ, tọa độ cầu, Thông số bậc tự do đặc trưng cho khả năng linh hoạt của chuyển động, số bậc càng lớn robot càng linh hoạt nhưng độ phức tạp lại tăng lên Ngày nay tính toán các bậc tự do dựa vào định lý Gruebler là phổ biến nhất, định lí này được phát biểu ở công thức (3.1)
- 𝑓0 là số bậc tự do thừa
Vì thế mà tính toán số bậc tự do để lựa chọn robot phù hợp mục đích là một nhiệm vụ quan trọng Ảnh hướng của số bậc tự do có thể kể đến trường công tác của robot Hay còn gọi là không gian làm việc, trường công tác là toàn bộ thể tích được quét bởi khâu chấp hành cuối khi robot chuyển động
Copies for internal use only in Phenikaa University
Trang 38Hình 3.2 Trường công tác của robot [11]
Robot được xem là chuỗi động học hở các khâu (links) gắn liền với các khớp (joints) Một đầu của chuỗi nối với giá đỡ, đầu còn lại là phần cơ cấu chấp hành Mỗi khâu khớp hình thành nên một cặp khâu – khớp đảm bảo nó có khả năng chuyển động nhất định Các cặp khâu khớp được đặc trưng bởi hai thông số là tham số và biến khớp Tham số là thông số không thay đổi trong quá trình hoạt động, biến khớp là các thông số thay đổi Ta có thể đặt trên mỗi khâu của robot một hệ tọa độ và sử dụng phép biến đổi thuần nhất để có thể mô tả mối quan hệ giữa các tọa độ này Các biến đổi thuần nhất này được mô tả dưới một ma trận 𝐴 Giả sử 𝐴1 mô tả vị trí và hướng của khâu thứ nhất, 𝐴21 mô tả vị trí và hướng của khâu thứ hai so với khâu thứ nhất nếu vậy ta có thể suy ra 𝐴2 = 𝐴21∗ 𝐴1 là vị trí và hướng của khâu thứ hai so với hệ tọa độ gốc
3.2 Mô tả Robot được sử dụng
Trong đồ án này, mẫu robot được chọn mô phỏng theo robot IRB 1600 [12] Đây là robot bán sẵn có tên SNAM 1400 [13], được mua về và lắp ráp để làm phương tiện điều khiển
Copies for internal use only in Phenikaa University
Trang 39Hình 3.3 Robot IBR 1600 [12]
Hình 3.4 Robot SNAM 1400 [13]
Copies for internal use only in Phenikaa University
Trang 40Thông số của Robot được đưa ra trong Bảng 3.1
Bảng 3.1 Các thông số kỹ thuật chính của robot SNAM 1400
Trong sơ đồ kết nối robot ở hình 3.5, Raspberry đóng vai trò giải phương trình động học nghịch, sau đó sẽ gửi tín hiệu đầu ra bao gồm 6 thông số về góc quay của từng động cơ đến cho ESP32 thông qua kết nối Serial Sau khi ESP32 nhận được dữ liệu này sẽ bắt đầu gửi dữ liệu là góc quay cho động cơ dựa trên thuật toán chuyển động theo hàm bậc 3 đến driver PCA9685 Cuối cùng robot được điều khiển dựa trên tín hiệu PWM đến từ driver
Copies for internal use only in Phenikaa University