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

Đồ án tốt nghiệp thiết kế và điều khiển mô hình robot phục vụ thư viện

190 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết Kế Và Điều Khiển Mô Hình Robot Phục Vụ Thư Viện
Tác giả Huỳnh Trung Hiếu, Hồ Khải Minh, Lê Anh Huy
Người hướng dẫn TS. Đặng Xuân Ba
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Kỹ Thuật Điều Khiển Và Tự Động Hóa
Thể loại đồ án tốt nghiệp
Năm xuất bản 2023
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 190
Dung lượng 6,15 MB

Nội dung

Trang 1 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: THIẾT KẾ VÀ ĐIỀU KHIỂN MƠ HÌNH ROBOT PHỤC VỤ THƯ VIỆN GVHD: TS.. Tên đ

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH

KHOA ĐÀO TẠO CHẤT LƯỢNG CAO

ĐỒ ÁN TỐT NGHIỆP

ĐỀ TÀI: THIẾT KẾ VÀ ĐIỀU KHIỂN MÔ HÌNH

ROBOT PHỤC VỤ THƯ VIỆN

GVHD: TS Đặng Xuân Ba Sinh viên thực hiện:

Huỳnh Trung Hiếu 19151125

Hồ Khải Minh 19151154

Lê Anh Huy 19151132

Tp Hồ Chí Minh, tháng 6 năm 2023

Trang 2

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH

KHOA ĐÀO TẠO CHẤT LƯỢNG CAO

ĐỒ ÁN TỐT NGHIỆP

ĐỀ TÀI: THIẾT KẾ VÀ ĐIỀU KHIỂN MÔ HÌNH

ROBOT PHỤC VỤ THƯ VIỆN

GVHD: TS Đặng Xuân Ba Sinh viên thực hiện:

Huỳnh Trung Hiếu 19151125

Hồ Khải Minh 19151154

Lê Anh Huy 19151132

Trang 3

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập – Tự Do – Hạnh phúc

*******

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

Họ và tên sinh viên: Huỳnh Trung Hiếu MSSV: 19151125

Họ và tên sinh viên: Hồ Khải Minh MSSV: 19151154

Họ và tên sinh viên: Lê Anh Huy MSSV: 19151132

Ngành: Công nghệ Kỹ thuật Điều khiển và Tự động hóa

Lớp: 19151CL1

Giảng viên hướng dẫn: TS Đặng Xuân Ba ĐT: 0945853990

Ngày nhận đề tài: 6/2/2023 Ngày nộp đề tài: 30/6/2023

1 Tên đề tài: Thiết kế và điều khiển mô hình robot phục vụ thư viện

2 Các số liệu, tài liệu ban đầu:

• Kích thước dự kiến: Đế tròn đường kính 70cm, chiều cao tổng 157cm

• Trọng lượng: 30kg

3 Nội dung thực hiện đề tài:

• Thiết kế phần cứng mô hình robot phục vụ thư viện trên phần mềm Solidworks

• Tính toán động học cho hệ 4 bánh xe Mecanum

• Mô phỏng, kiểm chứng kết quả động học

• Lựa chọn động cơ và các thiết bị cần thiết cho robot

• Thi công mô hình robot phục vụ thư viện

• Thiết kế sơ đồ đấu nối các thiết bị và vi điều khiển

• Thiết kế và xây dựng giao diện điều khiển và các chức năng chính của robot như

nhận diện bằng khuôn mặt và thẻ sinh viên, tra cứu, mượn sách, trả sách, điểm

danh sinh viên ra vào thư viện

• Thiết kế và xây dựng chức năng di chuyển thông minh cho robot Bao gồm tự tìm

đường đến điểm mục tiêu và tránh các vật cản tĩnh và động trên đường đi

• Thiết kế và xây dưng giao diện điều khiển và giám sát từ xa qua mạng internet

Đồng thời kết hợp thêm với chế độ di chuyển thông minh tạo thành các nút nhấn

di chuyển đến điểm cố định, ngoài ra có thể quay lại video sau đó lưu trữ vào

google Drive

• Kiểm chứng và chạy mô hình thực tế, đánh giá hoạt động của robot trên mô hình

thực tế

Trang 4

4 Sản phẩm:

• Mô hình thực nghiệp robot phục vụ thư viện

• Chương trình điều khiển

• Quyển báo cáo đồ án tốt nghiệp, video hoạt động tổng hợp và poster

5 Ngày giao đồ án: 6/2/2023

6 Ngày nộp đồ án: 30/6/2023

7 Ngôn ngữ trình bày: Bản báo cáo: Tiếng Anh ☐ Tiếng Việt ☒

Trình bày bảo vệ: Tiếng Anh ☐ Tiếng Việt ☒

Trang 5

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập – Tự Do – Hạnh phúc

*******

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

Họ và tên Sinh viên: Huỳnh Trung Hiếu MSSV: 19151125

Họ và tên Sinh viên: Hồ Khải Minh MSSV: 19151154

Ngành: Công nghệ Kỹ thuật Điều khiển và Tự động hóa

Tên đề tài: Thiết kế và điều khiển mô hình robot phục vụ thư viện

Họ và tên Giáo viên hướng dẫn: TS Đặng Xuân Ba

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:

6 Điểm:………(Bằng chữ: )

Tp Hồ Chí Minh, ngày 30 tháng 06 năm 2023

Giáo viên hướng dẫn (Ký & ghi rõ họ tên)

Trang 6

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập – Tự Do – Hạnh phúc

*******

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

Họ và tên Sinh viên: Huỳnh Trung Hiếu MSSV: 19151125

Họ và tên Sinh viên: Hồ Khải Minh MSSV: 19151154

Ngành: Công nghệ Kỹ thuật Điều khiển và Tự động hóa

Tên đề tài: Thiết kế và điều khiển mô hình robot phục vụ thư viện

Họ và tên Giáo viên phản biện:……… 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:

6 Điểm:………(Bằng chữ: )

Tp Hồ Chí Minh, ngày 30 tháng 06 năm 2023

Giáo viên phản biện

Trang 7

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập – Tự Do – Hạnh phúc

*******

LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP

Họ và tên sinh viên 1: Huỳnh Trung Hiếu MSSV:19151125

Họ và tên sinh viên 2: Hồ Khải Minh MSSV:19151154

Tên đề tài: Thiết kế và điều khiển mô hình Robot phục vụ thư viện

Xác nhận GVHD

20/2/2023

(2 tuần)

- Thiết kế phần cứng mô hình trên phần mềm Solidworks

- Tính toán động học cho hệ 4 bánh xe Mecanum

16/3/2023

(2 tuần)

- Mô phỏng, kiểm chứng kết quả động học

- Lựa chọn động cơ và các thiết bị cần thiết cho robot

13/3/2023

(3 tuần)

-Thi công mô hình robot phục vụ thư viện

- Thiết kế sơ đồ đấu nối các thiết bị và vi điều khiển

3/4/2023

( 2 tuần)

- Thiết kế và xây dựng giao diện điều khiển và các chức năng chính của robot như nhận diện bằng khuôn mặt và thẻ sinh viên, tra cứu, mượn sách, trả sách, điểm danh sinh viên ra vào thư viện

24/5/2023

(2 tuần)

- Thiết kế và xây dựng chức năng di chuyển thông minh cho robot Bao gồm tự tìm đường đến điểm mục tiêu và tránh các vật cản tĩnh và động trên đường đi

15/5/2023

(2 tuần)

- Thiết kế và xây dưng giao diện điều khiển và giám sát từ xa qua mạng internet Đồng thời kết hợp thêm với chế độ di

Trang 8

chuyển thông minh tạo thành các nút nhấn di chuyển đến điểm

cố định, ngoài ra có thể quay lại video sau đó lưu trữ vào google Drive

- Hoàn thiện luận văn

- Hoàn thành Poster, video giới thiệu đồ án và PowerPoint trình bày

Trang 9

LỜI CAM ĐOAN Nhóm sinh viên xin phép cam kết đề tài này là do nhóm tự hiện dựa vào những tài liệu tham khảo trước đó và không sao chép từ tài liệu hay công trình đã có trước đó

Thành phố Hồ Chí Minh, ngày 30 tháng 06 năm 2023 Nhóm sinh viên thực hiện

(Ký và ghi rõ họ tên) Huỳnh Trung Hiếu Hồ Khải Minh Lê Anh Huy

Trang 10

LỜI CẢM ƠN Trong suốt khoảng thời gian học tập, nghiên cứu và thực hiện đồ án, nhóm sinh viên xin được phép gửi lời cảm ơn chân thành đến các quý thầy cô Khoa Đào tạo Chất lượng cao nói riêng và Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh vì

đã dành tâm huyết đối với nghề và truyền lại những kiến thức bổ ích để nhóm có thể vận dụng vào đồ án, công việc sau này và những lời động viên quý giá đến nhóm sinh viên

Đặc biệt, nhóm sinh viên xin gửi lời cảm ơn đến Thầy Đặng Xuân Ba, thầy đã gợi

ý đề tài cho nhóm sinh viên, chia sẽ những kinh nghiệm thực tế và trực tiếp hướng dẫn

và theo dõi tình hình của nhóm, tạo điều kiện tốt nhất để nhóm có thể thực hiện đồ án Thầy đã dành thời gian quý báu để truyền đạt vốn kiến thức cho nhóm sinh viên từ lúc mới nhận đề tài đến lúc hoàn thành Nhóm sinh viên cũng xin gửi lời cảm ơn đến gia đình và bạn bè đã luôn động viên, hỗ trợ, tạo điều kiện thuận lợi nhất để nhóm hoàn thành đề tài

Với điều kiện thời gian cũng như kinh nghiệm còn hạn chế của nhóm, việc tiếp cận vào nghiên cứu những đề tài thực tế không thể tránh được những thiếu sót Nhóm rất mong nhận được sự chỉ bảo, đóng góp ý kiến của Thầy/Cô để nhóm bổ sung kiến thức và áp dụng vào thực tế tốt hơn Nhóm sinh viên xin kính chúc quý Thầy/Cô luôn dồi dào sức khỏe để có thể truyền cảm hứng cho thế hệ mai sau

Nhóm sinh viên xin chân thành cảm ơn

Thành phố Hồ Chí Minh, ngày 30 tháng 06 năm 2023 Nhóm sinh viên thực hiện

(Ký và ghi rõ họ tên) Huỳnh Trung Hiếu Hồ Khải Minh Lê Anh Huy

Trang 11

TÓM TẮT Trong thời đại hiện nay, sự phát triển mạnh mẽ của nền khoa học kỹ thuật đã tạo

ra những tiến bộ đáng kể trong lĩnh vực robot và trí tuệ nhân tạo, nhằm phục vụ và nâng cao chất lượng cuộc sống của con người Một trong những ứng dụng đáng chú ý đó là việc thiết kế và phát triển các robot phục vụ đời sống, nhằm cung cấp sự hỗ trợ và tiện ích trong nhiều lĩnh vực, bao gồm cả phục vụ thư viện

Mục đích của đề tài này là thiết kế và điều khiển mô hình robot phục vụ thư viện, một đề tài nhằm đáp ứng nhu cầu và tạo ra trải nghiệm tốt hơn cho người sử dụng trong thư viện Robot của nhóm sinh viên không chỉ là một công cụ hữu ích trong quá trình quản lý và truy cập thông tin sách, mà còn là một người bạn đồng hành thông minh và thân thiện cho người dùng

Robot được trang bị khả năng nhận dạng khuôn mặt, giúp robot nhận biết và tương tác với từng người dùng Giao diện điều khiển của robot được thiết kế đơn giản và trực quan, giúp mọi người dễ dàng tương tác và tìm kiếm thông tin sách một cách nhanh chóng và thuận tiện Người sử dụng có thể sử dụng màn hình cảm ứng hoặc điều khiển giọng nói để nhập thông tin và gửi yêu cầu đến robot Người dùng có thể sử dụng robot

để mượn sách, trả sách mà không cần đến quầy phục vụ Bên cạnh đó, robot có thể xác định và tránh các vật thể, bàn ghế, và người đi lại trong thư viện, đảm bảo sự an toàn cho

cả người dùng và môi trường xung quanh Ngoài ra, robot còn có khả năng kết nối với mạng internet và điều khiển từ xa Người quản lý thư viện có thể theo dõi và điều khiển robot thông qua giao diện trực tuyến, giúp quản lý và giám sát hoạt động của robot một cách hiệu quả

Như mục đích đã nêu trên, nhóm đã chọn đề tài “Thiết kế và điều khiển mô hình robot phục vụ thư viện” Báo cáo đồ án này gồm sáu chương Chương 1 giới thiệu tổng quan về đề tài Chương 2 trình bày cơ sở lý thuyết về mô hình hóa và thuật toán điều khiển cho robot tự hành bốn bánh đa hướng, lý thuyết về xử lý ảnh và truyền tải dữ liệu Chương 3 thiết kế mô hình và lựa chọn thiết bị Chương 4 thiết kế các tính năng cho robot như: Chương trình ROS ứng dụng cho xe tự hành, ứng dụng xử lý ảnh, xây dựng tính năng giao tiếp giữa người và robot bằng giọng nói, xây dựng tính năng điều khiển robot qua internet và thiết kế giao diện cho người sử dụng Chương 5 trình bày kết quả thực tế Chương 6 trình bày kết luận và hướng phát triển

Trang 12

The objective of this project is to design and control a model of a library service robot, which seeks to meet the needs and provide a better user experience in the library setting The student team's robot is not just a useful tool for managing and accessing book information but also an intelligent and friendly companion for users

The robot is equipped with facial recognition capabilities, enabling it to identify and interact with individual users The robot's control interface is designed to be simple and user-friendly, allowing for easy interaction and quick searches for book information Users can utilize the touchscreen or voice commands to input information and send requests to the robot The robot allows users to borrow and return books without the need

to visit the service counter Moreover, the robot is capable of detecting and avoiding objects, such as tables, chairs, and moving individuals within the library, ensuring safety for both users and the surrounding environment Additionally, the robot can connect to the internet and be remotely controlled Library administrators can effectively monitor and control the robot's activities through an online interface, facilitating efficient management and oversight

As previously mentioned, the team has selected the topic of "Design and Control

of a Library Service Robot" for this project The report consists of six chapters Chapter 1 provides an overview of the topic Chapter 2 presents the modeling and control algorithms for the four-wheeled omnidirectional autonomous robot, as well as the theory

of image processing and data transmission Chapter 3 focuses on the design of the robot model and device selection Chapter 4 covers the design of various features for the robot, including the ROS application for autonomous driving, image processing applications, voice-based human-robot interaction, internet-based robot control, and user interface design Chapter 5 presents the practical results obtained Finally, Chapter 6 concludes the report and discusses future development directions

Trang 13

MỤC LỤC

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN iii

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN iv

LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP v

LỜI CAM ĐOAN vii

LỜI CẢM ƠN viii

TÓM TẮT ix

ABSTRACT x

MỤC LỤC xi

DANH SÁCH HÌNH ẢNH xvi

DANH SÁCH BẢNG xxii

DANH SÁCH CÁC TỪ VIẾT TẮT xxiii

CHƯƠNG 1 TỔNG QUAN 1

1.1 Đặt vấn đề 1

1.1.1 Tình hình nghiên cứu ngoài nước 1

1.1.2 Tình hình nghiên cứu trong nước 3

1.2 Mục tiêu đề tài 5

1.2.1 Mục đích đề tài 5

1.2.2 Mục tiêu đề tài 5

1.3 Phương pháp nghiên cứu 5

1.4 Giới hạn đề tài 5

1.5 Nội dung nghiên cứu 6

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 7

2.1 Xây dựng mô hình động học, động lực học cho bốn bánh đa hướng của robot thư viện 7

Trang 14

2.1.1 Giới thiệu bánh xe Mecanum 7

2.1.2 Mô hình động học của bốn bánh đa hướng của robot thư viện 8

2.1.3 Mô hình bánh xe tổng quát 10

2.1.4 Mô hình động học thuận của bốn bánh đa hướng của robot thư viện 12

2.1.5 Mô hình động học nghịch của bốn bánh đa hướng của robot thư viện 13

2.2 Giới thiệu về Robot Operating System 13

2.2.1 Tổng quan về hệ điều hành dành cho robot – ROS 13

2.2.2 Cấu trúc ROS 14

2.2.3 2D Navigation stack 17

2.2.4 Các gói hỗ trợ trên Ros 18

2.3 Tổng quan về Lidar Slamtec Mapper M1M1 19

2.3.1 Giới thiệu về Lidar 19

2.3.2 Thành phần và kết nối hệ thống 20

2.3.3 Nguyên lý hoạt động của lidar 21

2.4 Thuật toán điều hướng robot 21

2.4.1 Thuật toán Dijkstra 21

2.4.2 Thuật toán Dynamic Window Approach để tránh vật cản 26

2.4.3 Thuật toán PID 29

2.4.4 Kết luận 32

2.5 Lý thuyết về xử lý ảnh 33

2.5.1 Tổng quan về MTCNN (Multi-task Cascaded Convolutional Networks) 33

2.5.2 Tổng quan về phương pháp Facenet nhận dạng khuôn mặt 35

2.6 Lý thuyết truyền tải dữ liệu qua mạng 37

2.6.1 Phương thức truyền tải dữ liệu giữa Client-Server 37

2.6.2 Giao thức truyền thông HTTP/HTTPS 38

2.6.3 Lý thuyết RESTful API 43

Trang 15

2.6.4 Giao thức truyền thông MQTT 46

2.7 Các giao thức giao tiếp 54

2.7.1 Giao tiếp ROS Master 54

2.7.2 Giao tiếp Uart 55

2.7.3 Giao tiếp I2C 57

2.8 Hệ điều hành Ubuntu, ngôn ngữ lập trình và phần mềm hỗ trợ 58

2.8.1 Hệ điều hành Ubuntu 58

2.8.2 Ngôn ngữ Python 59

2.8.3 Phần mềm QT design 60

2.8.4 Phần mềm Arduino 61

2.8.5 Phần mềm Solidworks 62

2.8.6 Phần mềm Mysql Workbench và phpMyAdmin 63

2.8.7 Giới thiệu thư viện SpeechRecognition 64

2.8.8 Giới thiệu Opencv 65

CHƯƠNG 3 THIẾT KẾ HỆ THỐNG VÀ LỰA CHỌN THIẾT BỊ 66

3.1 Lựa chọn thiết bị 66

3.1.1 Vi điều khiển 66

3.1.2 Mini PC 67

3.1.3 Động cơ 69

3.1.4 Mạch điều khiển động cơ 70

3.1.5 Nguồn 71

3.1.6 Inverter kích điện 71

3.1.7 Bo mạch ESP32 72

3.1.8 Mạch tăng áp Boost DC-DC 73

3.1.9 Mạch giảm áp Buck DC-DC 74

3.1.10 Cảm biến vật cản hồng ngoại 74

Trang 16

3.1.11 Động Cơ Servo Giảm Tốc 75

3.1.12 Cảm biến siêu âm 76

3.1.13 I2C UART SPI TTL Mạch Chuyển Mức Tín Hiệu 76

3.1.14 Màn hình cảm ứng 77

3.1.15 Máy quét barcode 77

3.1.16 Camera 78

3.2 Thiết kế phần điện 79

3.3 Thiết kế phần cơ khí 81

3.3.1 Yêu cầu phần cứng 81

3.3.2 Thiết kế trên phần mềm SolidWorks 81

CHƯƠNG 4 XÂY DỰNG CHƯƠNG TRÌNH ĐIỀU KHIỂN 84

4.1 Mô tả hoạt động của robot thư viện 84

4.2 Chương trình mô phỏng simulink mô hình xe mecanum 85

4.3 Chương trình ROS ứng dụng cho xe tự hành 88

4.3.1 Lưu đồ chương trình 88

4.3.2 Xây dựng bản đồ 89

4.3.3 Điều hướng robot trên bản đồ đã dựng 94

4.3.4 Chương trình điều khiển động cơ (Mobile base) 101

4.3.5 Thiết lập serial giao tiếp với Mobile base 102

4.4 Ứng dụng xử lý ảnh 103

4.4.1 Nhận diện barcode 103

4.4.2 Nhận diện gương mặt 106

4.5 Xây dựng tính năng giao tiếp giữa người và robot bằng giọng nói 108

4.5.1 Chuyển giọng nói về dạng văn bản (Speech to text) 109

4.5.2 Đưa ra hành động (Take action) 109

4.5.3 Chuyển văn bản về giọng nói (Text to Speech) 110

Trang 17

4.6 Xây dựng tính năng điều khiển robot qua internet 110

4.6.1 Cấu hình ESP32 để điều khiển robot qua internet 110

4.6.2 Xây dựng tính năng xem camera và ghi hình từ xa qua internet 115

4.7 Thiết kế giao diện 122

4.7.1 Thiết kế giao diện QT design 122

4.7.2 Thiết kế giao diện web 126

CHƯƠNG 5 KẾT QUẢ VÀ ĐÁNH GIÁ 129

5.1 Kết quả mô phỏng 129

5.1.1 Kết quả mô phỏng trên matlab/simulink 129

5.1.2 Kết quả mô phỏng trên ROS 135

5.2 Kết quả xử lý ảnh 139

5.2.1 Nhận diện barcode 139

5.2.2 Nhận diện gương mặt 140

5.3 Kết quả thiết kế giao diện chạy trên phần mềm python 142

5.4 Kết quả điều khiển xe tự hành 145

5.5 Kết quả điều khiển qua Internet 150

5.6 Kết quả hoạt động của toàn bộ hệ thống 151

CHƯƠNG 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 152

6.1 Kết luận 152

6.2 Hướng phát triển 153

TÀI LIỆU THAM KHẢO 154

PHỤ LỤC 156

Trang 18

DANH SÁCH HÌNH ẢNH Hình 1.1 Robot Perseverance hoạt động tại miệng hố Jezero trên hành tinh đỏ NASA 2

Hình 1.2 Robot Pangolin của hãng Pangolin Robot Japan Co 2

Hình 1.3 Tiến sĩ Opfermann, người chủ trì công trình nghiên cứu robot phẫu thuật tự hành tại Đại học Johns Hopkins (Mỹ).s 3

Hình 1.4 Robot tự hành thông minh (NextAMR) 4

Hình 1.5 Công ty intelligent robot 4

Hình 1.6 Robot VIBOT do Việt Nam phát triển hỗ trợ đắc lực phòng, chống Covid-19 4 Hình 2.1 Bánh xe Mecanum được phát minh bởi nhà kỹ sư người Đức 7

Hình 2.2 Bánh xe Mecanum kim loại 7

Hình 2.3 Bánh xe Mecanum nhựa 8

Hình 2.4 Các hướng xe mecanum di chuyển 8

Hình 2.5 Mô hình xe đa hướng mecanum trong hệ trục tọa độ 9

Hình 2.6 Tọa độ tâm bánh xe 10

Hình 2.7 Tâm bánh xe trong hệ trục tọa độ B 10

Hình 2.8 Tâm bánh xe trong hệ trục tọa độ B khi vó vận tốc 11

Hình 2.9 Xe đa hướng mecanum trong hệ trục tọa độ I 12

Hình 2.10 Xe đa hướng Mecanum trong hệ trục tọa độ O 13

Hình 2.11 Các phiên bản của Ubuntu 14

Hình 2.12 Hệ thống ROS Computation Graph Level 15

Hình 2.13 Hệ thống Navigation 17

Hình 2.14 Lidar Slamtec Mapper M1M1 19

Hình 2.15 Sơ đồ trong Lidar 20

Hình 2.16 Laser quét trong môi trường 20

Hình 2.17 Nguyên lí hoạt động Lidar 21

Hình 2.18 Phần mềm hỗ trợ quan sát Lidar quét 21

Hình 2.19 Tóm tắt thuật toán 22

Hình 2.20 Sơ đồ các node 23

Hình 2.21 Bước 1 của Node a 23

Hình 2.22 Bước 2 của Node c 23

Hình 2.23 Bước 3 của Node d 24

Hình 2.24 Bước 4 của Node b 24

Hình 2.25 Bước 5 của Node f 24

Trang 19

Hình 2.27 Hoạch đường đi sử dụng thuật toán Dijkstra 26

Hình 2.28 Vận tốc cho phép V_a trong DWA 27

Hình 2.29 Vận tốc trong cửa sổ động V_dtrong DWA 28

Hình 2.30 Lưu đồ giải thuật DWA 29

Hình 2.31 Sơ đồ khối bộ điều khiển PID 30

Hình 2.32 Sơ đồ hoạt động của MTCNN 33

Hình 2.33 Mạng đề xuất (P-Net) 34

Hình 2.34 Mạng lọc (R-net) 34

Hình 2.35 Mạng đầu ra (O-Net) 35

Hình 2.36 Minh họa về quá trình sau huấn luyện 36

Hình 2.37 Mô hình truyền tải dữ liệu giữa Client-Server 37

Hình 2.38 Quá tình của một phiên làm việc HTTP 39

Hình 2.39 Mô hình RESTful API 44

Hình 2.40 Cách thức hoạt động của RESTful API 45

Hình 2.41 Giao thức MQTT 47

Hình 2.42 Một phiên MQTT 48

Hình 2.43 Phần mềm ngrok 51

Hình 2.44 Giới thiệu cPanel 52

Hình 2.45 Giao diện cPanel 53

Hình 2.46 Giao diện E-Ra 54

Hình 2.47 Giao tiếp UART 55

Hình 2.48 Cách thức hoạt động của giao tiếp UART 56

Hình 2.49 Giao tiếp I2C 58

Hình 2.50 Giao diện hệ điều hành Ubuntu 58

Hình 2.51 Giới thiệu Python 60

Hình 2.52 Giao diện của phần mềm Qt Designer 61

Hình 2.53 Giao diện trong phần mềm Qt Designer 61

Hình 2.54 Phần mềm Arduino 62

Hình 2.55 Giao diện SolidWorks 63

Hình 2.56 Phần mềm MySQL Workbench 63

Hình 2.57 Phần mềm phpMyAdmin 64

Hình 2.58 Thư viện Speech to Text 65

Hình 2.59 Opencv 65

Hình 3.1 Arduino mega 66

Trang 20

Hình 3.2 Raspberry Pi 4 67

Hình 3.3 Mini pc LongVu 68

Hình 3.4 Động cơ DC servo JGB37-545 69

Hình 3.5 Mạch cầu HI216 70

Hình 3.6 Pin Lithium 71

Hình 3.7 Inverter kích điện 72

Hình 3.8 ESP32 72

Hình 3.9 Mạch tăng áp DC-DC 73

Hình 3.10 Mạch giảm áp DC-DC 74

Hình 3.11 Cảm biến hồng ngoại 75

Hình 3.12 Động cơ servo 75

Hình 3.13 Cảm biến siêu âm 76

Hình 3.14 Mạch chuyển mức tín hiệu 76

Hình 3.15 Màn hình cảm ứng Viewsonic 77

Hình 3.16 Máy quét barcode 78

Hình 3.17 Camera logitech 79

Hình 3.18 Sơ đồ khối mô tả cách hoạt động của các khối xử lí tín hiệu 79

Hình 3.19 Sơ đồ kết nối mạch điều khiển các thiết bị của robot thư viện 80

Hình 3.20 Bảng điều khiển nguồn cho robot thư viện 80

Hình 3.21 Tổng quan mô hình Robot phục vụ thư viện 81

Hình 3.22 Phần đế và các vật liệu, linh kiện được sử dụng 82

Hình 3.23 Phần thân và các vật liệu, linh kiện được sử dụng 82

Hình 3.24 Phần đầu và các vật liệu, linh kiện được sử dụng 83

Hình 3.25 Mô hình robot phục vụ thư viện 83

Hình 4.1 Mô phỏng xe đa hướng mecanum tổng quát 86

Hình 4.2 Mô phỏng động học thuận xe đa hướng mecanum 86

Hình 4.3 Mô phỏng động học nghịch xe đa hướng mecanum 87

Hình 4.4 Lưu đồ điều khiển xe tự hành 88

Hình 4.5 Bản đồ sau khi lưu 91

Hình 4.6 Sơ đồ các Node trong tạo bản đồ 92

Hình 4.7 Cấu trúc frame trong tạo bản đồ 93

Hình 4.8 Thông tin vị trí và hướng của Lidar 94

Hình 4.9 Các node liên kết trong move_base 101

Trang 21

Hình 4.11 Làm mờ ảnh 104

Hình 4.12 Cân bằng sáng 104

Hình 4.13 Phân ngưỡng 105

Hình 4.14 30 ảnh chứa khuôn mặt được chụp để làm dữ liệu huấn luyện 106

Hình 4.15 Các thư mục chứa ảnh được lưu bằng mssv 106

Hình 4.16 Các ảnh sau khi được cắt riêng khuôn mặt 107

Hình 4.17 Các ảnh đều được resize về kích thước chung 160x160 107

Hình 4.18 Các ảnh sau khi được chuẩn hóa về mức sáng 107

Hình 4.19 Các dữ liệu được quét 108

Hình 4.20 Kết quả sau khi truyền qua model facenet 108

Hình 4.21 Sơ đồ tính năng giọng nói 109

Hình 4.22 Lưu đồ tính năng giao tiếp giữa người và robot bằng giọng nói 110

Hình 4.23 Chương trình ESP32 111

Hình 4.24 chương trình ESP32 111

Hình 4.25 Kết nối uart 112

Hình 4.26 Lưu đồ điều khiển xe từ xa 113

Hình 4.27 Cấu hình wifi 113

Hình 4.28 Cấu hình tên đăng nhập và mật khẩi cố định 114

Hình 4.29 Giao diện nhập thông tin wifi 114

Hình 4.30 Lưu đồ giải thuật kết nối với Wifi của ESP32 114

Hình 4.31 Nút nhấn lưu video 115

Hình 4.32 Template hiển thị giao diện chứa video streaming từ camera 115

Hình 4.33 Chuyển đổi khung hình thành dạng bytes 115

Hình 4.34 Hình ảnh hiển thị trên web localhost khi chạy file python 116

Hình 4.35 Chạy ngrok và in ra địa chỉ forwarding url và độ trễ mạng 116

Hình 4.36 Dữ liệu người sử dụng được lưu trong bảng dữ liệu 116

Hình 4.37 Giao diện đăng nhập và đăng ký dành cho người điều khiển 117

Hình 4.38 Thông báo khi người dùng nhập sai tài khoản/mật khẩu 117

Hình 4.39 Bảng dữ liệu về người điều khiển 117

Hình 4.40 Trang thông báo rằng có người đang sử dụng trang web điều khiển 118

Hình 4.41 Trang hiển thị mã Auth Token của nền tảng E-Ra 118

Hình 4.42 Truy vấn đến nền tảng E-Ra với phương thức “GET” 118

Hình 4.43 Kết quả của truy vấn là đoạn mã chứa ID của nút nhấn 118

Trang 22

Hình 4.44 Hình 4.46 Thực hiện truy vấn để lấy action_key on và action_key off của nút nhấn 119Hình 4.45 Giá trị action_on và action_off 119Hình 4.46 Cấu hình cho 1 yêu cầu POST HTTP 119Hình 4.47 Hình ảnh khi chưa nhấn nút (trái), và đã nhấn nút (phải) 120Hình 4.48 Nút nhấn bật điều khiển robot di chuyển đa hướng 120Hình 4.49 Trạng thái đã được điều khiển và lưu vào cơ sở dữ liệu phpMyAdmin 120Hình 4.50 Hiển thị dữ liệu đã điều khiển ra bảng dữ liệu 121Hình 4.51 Nút nhấn tắt điều khiển robot di chuyển tự động 121Hình 4.52 Các nút nhấn di chuyển đến từng vị trí khác nhau để giám sát 121Hình 4.53 Lưu đồ chương trình giao diện 122Hình 4.54 Giao diện bắt đầu 123Hình 4.55 Giao diện nhận diện gương mặt 123Hình 4.56 Giao diện đăng kí thông tin 124Hình 4.57 Giao diện chính 124Hình 4.58 Giao diện mượn sách 125Hình 4.59 Giao diện trả sách 125Hình 4.60 Tra cứu theo khoa 126Hình 4.61 Tra cứu theo tên 126Hình 4.62 Giao diện đăng nhập 127Hình 4.63 Giao diện đăng kí 127Hình 4.64 Giao diện điều khiển 128Hình 5.1 Đáp ứng động học của xe đa hướng Mecanum tổng quát trường hợp 1 129Hình 5.2 Đáp ứng động học của xe đa hướng Mecanum tổng quát trường hợp 2 130Hình 5.3 Đáp ứng động học của xe đa hướng Mecanum tổng quát trường hợp 3 130Hình 5.4 Đáp ứng động học của xe đa hướng Mecanum tổng quát trường hợp 4 131Hình 5.5 Đáp ứng động học thuận của xe đa hướng Mecanum trường hợp 1 131Hình 5.6 Đáp ứng động học thuận của xe đa hướng Mecanum trường hợp 2 132Hình 5.7 Đáp ứng động học thuận của xe đa hướng Mecanum trường hợp 2 132Hình 5.8 Đáp ứng động học thuận của xe đa hướng Mecanum trường hợp 4 133Hình 5.9 Đáp ứng động học nghịch của xe đa hướng Mecanum trường hợp 1 134Hình 5.10 Đáp ứng động học nghịch của xe đa hướng Mecanum trường hợp 2 134Hình 5.11 Đáp ứng động học nghịch của xe đa hướng Mecanum trường hợp 3 135

Trang 23

Hình 5.13 Quét bản đồ 136Hình 5.14 Bản đồ quét xong 137Hình 5.15 Map đã lưu 137Hình 5.16 Điều hướng robot bot 138Hình 5.17 Thông báo đã tới nơi 138Hình 5.18 Kết quả nhận diện barcode 1 139Hình 5.19 Kết quả nhận diện barcode 2 139Hình 5.20 Kết quả nhận diện barcode 3 140Hình 5.21 Kết quả nhận diện gương mặt 1 140Hình 5.22 Kết quả nhận diên gương mặt 2 141Hình 5.23 Kết quả nhận diện gương măt 3 141Hình 5.24 Kết quả giao diện bắt đầu 142Hình 5.25 Kết quả giao diện nhận diện gương mặt 142Hình 5.26 Kết quả giao diện đăng kí thông tin 143Hình 5.27 Kết quả giao diện các tính năng 143Hình 5.28 Kết quả giao diện tra cứu sách theo tên 144Hình 5.29 Kết quả giao diện trả sách 144Hình 5.30 Kết quả giao diện tra cứu sách khoa 145Hình 5.31 Vị trí ban đầu của robot (kết quả 1) 145Hình 5.32 Đặt vị trí đến cho robot (kết quả 1) 145Hình 5.33 Vị trí đã đến của robot (kết quả 1) 146Hình 5.34 Vị trí hiện tại của robot (kết quả 2) 146Hình 5.35 Vị trí hiện tại của robot (kết quả 2) 147Hình 5.36 Vị trí hiện tại của robot 148Hình 5.37 Đặt điểm đến cho robot 148Hình 5.38 Vị trí hiện tại của robot 148Hình 5.39 Đặt 3 điểm cố định cho robot 149Hình 5.40 Robot tránh người trên đường di chuyển 149Hình 5.41 Robot tránh vật trên đường di chuyển 150Hình 5.42 Kết quả giao diện điều khiển robot hoạt động thực tế 150Hình 5.43 Quay và lưa video giám sát trong quá trình di chuyển 151

Trang 24

DANH SÁCH BẢNG Bảng 2-1 Tính toán đường ngắn nhất 25Bảng 2-2 So sánh ưu nhược điểm của giao tiếp UART 57Bảng 4-1 Các nhãn tương ứng khi có các từ xuất hiện khi nói 110

Trang 25

DANH SÁCH CÁC TỪ VIẾT TẮT

WMR Wheeled Mobile Robot Robot di động có bánh xe APT Advanced Package Tool Phần mềm quản lí cài đặt trên Linux IOT Internet of Things Vạn vật kết nối Internet ROS Robot Operating System Hệ điều hành dành cho

Robot GUI Graphical User Interface Giao diện đồ họa người dùng

AMCL Localization Adaptive Monte Carlo Thuật toán xác định vị trí của Robot SLAM and Mapping Simultaneous Localization Thuật toán xây dựng, cập nhật bản đồ

Tree

Thuật toán tìm đường đi

PID Derivative Proportional-Integral- khiển chuyển động Thuật toán điều

SDK Software Development Kit phần mềm Bộ công cụ phát triển LIDAR Light Detection and

Ranging)

Cảm biến đo khoảng cách

DWA Dynamic Window Approach cản Thuật toán tránh vật

MTCNN Convolutional Neural Networks Multi-task Cascaded

Mô hình mạng nơ rơn tích chập dùng để nhận dạng khuôn mặt

Trang 26

HTTP Hyper Text Transfer Protocol Giao thức truyền tải

HTTPS Hypertext Transfer Protocol

Secure

Giao thức truyền tải siêu văn bản an toàn

TCP/IP Transmission Control Protocol / Internet Protocol Giao thức mạng

HTML Hypertext Markup Language Ngôn ngữ xây dựng, địng dạng web

TLS Transport Layer Security ảo mật truyền tải

WebRTC Web Real-Time Communication Truyền tải dữ liệu thời gian

thực RTP Real-time Transport Protocol

URI Uniform Resource Identifier Chỉ định và truy cập tài nguyên mạng API Application Programming

Interface

Quy tắc và giao thức giữa các phần mềm

URL Uniform Resource Locator Địa chỉ web

REST Representational State Transfer Một dạng chuyển đổi cấu trúc dữ liệu RESTful

API Representational State Transfer

Một tiêu chuẩn để thiết kế API

MQTT Message Queuing Telemetry Transport Giao thức truyền thông điệp

ROS

Master Robot Operating System Master Quy trình quản lý và lưu trữ thông tin trong ROS

UART Universal Asynchronous Receiver/Transmitter Giao thức không đồng bộ I2C Inter-Integrated Circuit Giao tiếp nội bộ các linh kiện SDA Serial Data

Dây truyền thông trong I2C SCL Serial Clock

Trang 27

CHƯƠNG 1 TỔNG QUAN 1.1 Đặt vấn đề

Robot đang trở thành một phần quan trọng trong cuộc sống hiện đại, mang lại sự tiện lợi và tiến bộ cho nhiều lĩnh vực Với khả năng tự động và thông minh, robot có thể thực hiện các nhiệm vụ từ đơn giản đến phức tạp mà trước đây chỉ có con người mới có thể làm Chúng có thể tự động hóa quy trình sản xuất, cung cấp dịch vụ chăm sóc y tế,

hỗ trợ trong nghiên cứu khoa học và thám hiểm không gian, và thậm chí làm việc trong môi trường nguy hiểm Robot mang lại hiệu suất và hiệu quả cao, giảm công sức lao động và rủi ro cho con người Tuy nhiên, việc nghiên cứu và phát triển robot không chỉ tập trung vào khả năng kỹ thuật mà còn đặt ra các thách thức về đạo đức, an ninh và tương tác với con người Điều này đòi hỏi sự cân nhắc cẩn thận và quyết định thông minh để đảm bảo rằng robot đáp ứng được nhu cầu và tạo lợi ích thiết thực cho xã hội

Trong đó robot tự hành đã trở thành một lĩnh vực nghiên cứu và phát triển đầy hứa hẹn Robot tự hành là những thiết bị thông minh có khả năng di chuyển và hoạt động độc lập mà không cần sự can thiệp của con người Chúng được trang bị các cảm biến và

hệ thống điều khiển thông minh, cho phép chúng nhận biết môi trường xung quanh, xây dựng bản đồ và định vị vị trí của mình, và tự động thực hiện các nhiệm vụ cụ thể

Robot tự hành có ứng dụng rộng rãi trong nhiều lĩnh vực Trong công nghiệp, chúng có thể tự động hoá quy trình sản xuất và vận chuyển, nâng cao hiệu suất và chất lượng Trong lĩnh vực dịch vụ, robot tự hành có thể thực hiện các nhiệm vụ như giao hàng, dọn dẹp và hỗ trợ khách hàng Trong y tế, chúng có thể hỗ trợ trong việc chăm sóc bệnh nhân và thực hiện các quy trình phẫu thuật phức tạp Bên cạnh đó, robot tự hành còn có thể được ứng dụng trong nhiều lĩnh vực khác như nghiên cứu khoa học, khám phá không gian và nông nghiệp thông minh

Chính vì những ứng dụng rộng rãi của robot tự hành, nhóm sinh viên đã cùng nhau thực hiện đề tài “Thiết kế và điều khiển mô hình robot phục vụ thư viện” cho đồ án tốt nghiệp

1.1.1 Tình hình nghiên cứu ngoài nước

Trên toàn cầu, nghiên cứu về robot tự hành đang thu hút sự quan tâm và đầu tư đáng kể từ cả học thuật và công nghiệp Các nước tiên phong như Mỹ, Nhật Bản, Trung Quốc và châu Âu đang dẫn đầu trong lĩnh vực này

Ở Mỹ, các trường đại học và viện nghiên cứu hàng đầu như Stanford, MIT và Carnegie Mellon đã tạo ra những tiến bộ đáng kể trong robot tự hành Các dự án nổi bật

Trang 28

như DARPA Robotics Challenge và NASA's Robonaut đã đẩy mạnh sự phát triển của robot tự hành trong ngành công nghiệp và nghiên cứu không gian

Nhật Bản là một trong những quốc gia tiên phong trong việc phát triển robot tự hành Các công ty như Toyota và Honda đã đầu tư mạnh vào nghiên cứu và phát triển robot tự hành để áp dụng trong sản xuất ô tô và các lĩnh vực khác Ngoài ra, Nhật Bản cũng là quốc gia nổi tiếng với việc phát triển robot dịch vụ và chăm sóc người già

Ở châu Âu, có nhiều dự án nghiên cứu và cộng đồng học thuật đáng chú ý trong lĩnh vực robot tự hành Các tổ chức như European Robotics Research Network (EURON)

và European Robotics Association (euRobotics) đã đóng vai trò quan trọng trong việc thúc đẩy sự phát triển và hợp tác nghiên cứu trong lĩnh vực này

Hình 1 1 Robot Perseverance hoạt động tại miệng hố Jezero trên hành tinh đỏ NASA

Hình 1 2 Robot Pangolin của hãng Pangolin Robot Japan Co.

Trang 29

Tổng quan, tình hình nghiên cứu robot tự hành ngoài nước đang phát triển mạnh

mẽ và tạo ra nhiều tiến bộ đáng chú ý Các nước tiên phong đang đầu tư về cả khả năng

kỹ thuật và ứng dụng thực tế của robot tự hành, đẩy mạnh sự phát triển và mang lại những tiềm năng lớn cho lĩnh vực này trong tương lai

1.1.2 Tình hình nghiên cứu trong nước

Tình hình nghiên cứu robot tự hành trong nước đang nhận được sự quan tâm ngày càng tăng từ cả các nhà nghiên cứu, trường đại học và doanh nghiệp ở nhiều quốc gia trên thế giới, bao gồm cả Việt Nam

Ở Việt Nam, lĩnh vực nghiên cứu và phát triển robot tự hành đang phát triển nhanh chóng Các trường đại học và viện nghiên cứu hàng đầu như Đại học Bách Khoa TP.HCM, Đại học Công nghệ TP.HCM và Viện Công nghệ Thông tin thuộc Viện Hàn lâm Khoa học và Công nghệ Việt Nam đang tiên phong trong việc nghiên cứu và ứng dụng robot tự hành

Các nhóm nghiên cứu và dự án đang tập trung vào các lĩnh vực như tự động hóa công nghiệp, dịch vụ công cộng, y tế và nông nghiệp thông minh Các nghiên cứu liên quan đến cảm biến, hệ thống điều khiển, trí tuệ nhân tạo và học máy đang được thực hiện để cải thiện khả năng nhận diện môi trường, định vị và điều hướng của robot tự hành

Ngoài ra, các doanh nghiệp công nghệ và startup cũng đang đẩy mạnh nghiên cứu

và phát triển robot tự hành Chúng tập trung vào việc phát triển các ứng dụng thực tế như giao hàng tự động, dịch vụ khách hàng và giải quyết các vấn đề xã hội

Hình 1 3 Tiến sĩ Opfermann, người chủ trì công trình nghiên cứu robot phẫu thuật tự hành tại Đại học Johns Hopkins (Mỹ).s

Trang 30

Hình 1 4 Robot tự hành thông minh (NextAMR)

Hình 1 5 Công ty intelligent robot

Hình 1 6 Robot VIBOT do Việt Nam phát triển

Trang 31

Tổng quan, tình hình nghiên cứu robot tự hành trong nước đang trong giai đoạn phát triển, với sự quan tâm và đầu tư từ nhiều phía Việc phát triển robot tự hành trong nước không chỉ đóng góp vào sự phát triển công nghiệp và kỹ thuật, mà còn mở ra tiềm năng ứng dụng rộng lớn trong nhiều lĩnh vực khác nhau, đóng vai trò quan trọng trong

sự phát triển toàn diện của quốc gia

1.2 Mục tiêu đề tài

1.2.1 Mục đích đề tài

Mục đích của đề tài là áp dụng những kiến thức đã học để thiết kế và điều khiển

mô hình robot phục vụ thư viện

1.2.2 Mục tiêu đề tài

Đề tài cơ bản sẽ nghiên cứu giải quyết các vấn đề cụ thể như sau:

- Người sử dụng có thể dễ dàng mượn-trả sách, tra cứu và điểm danh thông qua giao diện người dùng

- Có thể thay thế quét thẻ thông thường bằng chức năng nhận diện khuôn mặt

- Robot có thể di chuyển tự động và tránh vật cản trên đường đi

- Có thể điều khiển robot và giám sát từ xa qua internet

- Thiết kế mô hình robot hoạt động ổn định

1.3 Phương pháp nghiên cứu

- Phân tích dữ liệu: Sử dụng các công cụ tìm kiếm như Google, Google Scholar, ResearchGate, IEEE Xplore,…

- Phân tích toán học: Sử dụng Matlab-Simulink để kiểm tra động học thuận, động học nghịch và phương trình động lực học dựa vào phương pháp Lagrange-Euler

- Sử dụng SolidWorks 2019 để thiết kế mô hình robot thư viện, dựa vào mô hình

đã tính toán và tối ưu trên phần mềm để thiết kế mô hình thực

- Sử dụng ngôn ngữ Python để lập trình các tính năng cho robot, dùng phần mềm

QT design để thiết kế giao diện tương tác robot với người sử dụng

- Sử dụng phần mềm Mysql Workbench và phpMyAdmin để lưu trữ dữ liệu về thông tin sinh viên, thông tin sách,…

1.4 Giới hạn đề tài

- Mô hình robot thư viện thực tế do nhóm sinh viên tự thiết kế và thi công nên chưa có cơ sở khách quan nào để đánh giá mức độ bền vững và ổn định trong quá trình hoạt động của mô hình

- Chỉ tìm hiểu và ứng dụng các thuật toán có sẵn trên ROS để có thể xây dựng được mô hình robot hoạt động hoàn thiện

Trang 32

- Không phân tích sâu về động lực học robot mà chỉ nghiên cứu và ứng dụng để điều khiển robot di chuyển đa hướng

- Sử dụng Cloud MQTT trung gian để điều khiển robot từ xa qua internet nên sẽ

có giới hạn về API Calls

- Sử dụng phần mềm MySQL để quản lý và theo dõi cơ sở dữ liệu nên chỉ giới hạn trong các chức năng mà phần mềm cho phép

- Sử dụng các thư viện như mtcnn, facenet-pytorch, keras-facenet nên không đào sâu vào các thuật toán mà chỉ nghiên cứu và ứng dụng để làm chức năng nhận diện khuôn mặt người dùng cho robot

1.5 Nội dung nghiên cứu

Trong quyển luận văn này sẽ chia ra làm 6 chương chính

- Chương 1: Tổng quan

Chương 1 sẽ trình bày về đặt vấn đề, mục tiêu đề tài, phương pháp nghiên cứu, giới hạn đề tài, nội dung nghiên cứu

- Chương 2: Cơ sở lý thuyết

Chương 2 sẽ giới thiệu về bánh xe Mecanum, lý thuyết động học thuận và động học nghịch, động lực học cho robot Giới thiệu về hệ điều hành, ngôn ngữ lập trình, nền tảng hỗ trợ Giới thiệu về ROS, thuật toán điều hướng robot Lý thuyết xử lí ảnh, truyền tải dữ liệu qua mạng

- Chương 3: Thiết kế hệ thống và lựa chọn thiết bị

Chương 3 sẽ trình bày về thiết kế mô hình trên phần mềm SolidWorks, bao gồm thiết kế đế, thân và đầu của robot Trình bày về phần cứng của mô hình, lựa chọn các vật liệu và thiết bị điện cho robot thư viện

- Chương 4: Xây dựng chương trình điều khiển

Chương 4 trình bày về cách xây dựng chương trình mô phỏng bánh xe di chuyển

đa hướng cho robot, chương trình ROS ứng dụng cho xe tự hành, ứng dụng xử lý ảnh để nhận diện barcode và khuôn mặt, xây dựng tính năng giao tiếp giữa người và robot bằng giọng nói, xây dựng tính năng điều khiển robot qua internet Thiết kế giao diện tương tác với người sử dụng, thiết kế giao diện điều khiển cho người điều khiển

- Chương 5: Kết quả và đánh giá

Chương 5 trình bày về kết quả mô phỏng trên Matlab/Simulink, kết quả mô phỏng trên ROS và kết quả thực nghiệm của toàn bộ hệ thống

- Chương 6: Kết luận và hướng phát triển của đề tài

Trang 33

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

2.1 Xây dựng mô hình động học, động lực học cho bốn bánh đa hướng của robot thư viện

2.1.1 Giới thiệu bánh xe Mecanum

Bánh xe đa hướng Mecanum (Mecanum Omniwheel) là một loại bánh xe được thiết kế đặc biệt để cung cấp khả năng di chuyển linh hoạt trong nhiều hướng và xoay quanh trục chính của nó Bánh xe Mecanum được phát minh bởi nhà kỹ sư người Đức kiểu cách Bengt Erland Ilon vào những năm 1970

Hình 2.2 Bánh xe Mecanum kim loại Hình 2.1 Bánh xe Mecanum được phát minh bởi nhà kỹ sư người Đức

Trang 34

Hình 2.3 Bánh xe Mecanum nhựa

Cấu trúc của bánh xe Mecanum bao gồm một bánh xe trung tâm lớn và một số bánh xe nhỏ được gắn quanh nó Một ưu điểm lớn của bánh xe Mecanum là khả năng di chuyển ngang, chéo và xoay một cách mượt mà và linh hoạt Robot sử dụng bánh xe Mecanum có thể di chuyển thẳng, di chuyển đường chéo hoặc điều chỉnh hướng mà không cần thay đổi vị trí

Để điều khiển bánh xe Mecanum, có thể sử dụng các phương pháp phức tạp như các hệ thống điều khiển đa trục hoặc các giải thuật điều khiển phức tạp Tuy nhiên, nó cũng có thể được điều khiển bằng các phương pháp đơn giản hơn như sử dụng joystick hoặc điều khiển từ xa

2.1.2 Mô hình động học của bốn bánh đa hướng của robot thư viện

Mô hình động học và động lực học cho robot được xây dựng dựa trên mô hình với bánh xe Mecanum được bố trí lệch so với tọa độ động một góc 45

Hình 2.4 Các hướng xe mecanum di chuyển

Trang 35

𝐯𝐧 = [v v v ] là véc tơ vận tốc của robot trong hệ trục tọa độ động gắn vào tâm robot

Xét mối quan hệ hình học trong hình ta xác định được biểu thức mối quan hệ giữa vận tốc của robot trong hệ tọa độ toàn cục và hệ tọa độ động

Trong đó :

- {I}: Hệ trục tọa độ gốc

- {B}: Hệ trục tọa độ của xe

- x , 𝑦i: tọa độ của robot so với hệ trục tọa độ {A}

- 𝑥b, 𝑦b: Phương x và y của hệ trục tọa độ {B}

- v : Vận tốc của xe theo phương x

- v : vận tốc của xe theo phương y

- v : vận tốc góc của xe

- θ: góc lệch của xe theo phương ngang của hệ trục tọa độ {A}

q̇ = Hv = cosθ −sinθ 0sinθ cosθ 0

0 0 1 v (2.1) Trong đó: H = cosθ −sinθ 0sinθ cosθ 0

0 0 1 là ma trận chuyển hệ trục tọa độ {B} so với {A}

Hình 2.5 Mô hình xe đa hướng mecanum trong hệ trục

tọa độ

Trang 36

- 𝜙𝑖: góc tọa bởi 𝑣𝑠𝑙𝑖𝑑𝑒 và phương y

Ta có vận tốc theo phương x so với hệ trục {𝐶𝑖} là :

ẋ = w a + ẏ tan∅ (2.2)

w = (ẋ − ẏ tan∅ ) (2.3)

w = − ∅ ẋẏ (2.4)

Trong đó :

- ẋ , ẏ : vận tốc theo phương x và y của hệ trục tọa độ {𝐶𝑖}

- θ : góc tạo bởi hệ trục tọa độ {𝐶𝑖} so với phương ngang của hệ trục tọa

độ {B}

Hình 2.6 Tọa độ tâm bánh xe

Hình 2.7 Tâm bánh xe trong hệ trục tọa độ B

Trang 37

Chuyển độ hệ trục tọa độ để thể hiện vận tốc của tọa độ {𝐶𝑖}so với {B} Ta có

biểu thức như sau :

v = R(θ ) ẋẏ = cos (θ ) −sin (θ )sin (θ ) cos (θ ) ẋẏ (2.5)

Tương tự như ở trên ta có biểu thức thể hiện mối quay hệ của vận tốc của tọa độ

{𝐶𝑖} so với {B} khi có vận tốc theo phương x, y ,vận tốc góc của {B} như sau :

Từ công thức số (2.4) ta nhân nghịch đảo ta có :

ẏ = cos (θ ) −sin (θ )sin (θ ) cos (θ ) 1 0 −d0 1 d vn (2.8)

Thay (2.8) vào (2.4) ta có :

w = − ∅ cos(θ ) − sin(θ )sin(θ ) cos(θ ) 1 0 −d0 1 d vn (2.9)

Dựa vào công thức (2.9) và (2.1) ta có :

w = _ ∅ cos(θ ) − sin(θ )sin(θ ) cos(θ ) 1 0 −d0 1 d cosθ −sinθ 0sinθ cosθ 0

(2.10)

Hình 2.8 Tâm bánh xe trong hệ trục tọa độ B khi có vận tốc

Trang 38

2.1.4 Mô hình động học thuận của bốn bánh đa hướng của robot thư viện Tiến hành tính động học thuận cho xe đa hướng Mecanum sử dụng 4 bánh mecanum dựa vào các công thức ở trên

Đặt: L = 2L, L = 2D

Trong đó :

- L: khoảng cách từ tâm bánh theo phương x của hệ tọa độ {B}

- D: khoảng cách từ tâm bánh theo phương y của hệ tọa độ {B}

- R: bán kính của bánh xe

Dựa vào cấu hình của bánh xe đặt trong hệ trục tọa độ ta có những thông số sau:

𝑑𝑥1 = 𝐿, 𝑑𝑥2 = −𝐿, 𝑑𝑥3 = −𝐿, 𝑑𝑥4 = 𝐿 𝑑𝑦1 = 𝑑, 𝑑𝑦2 = 𝑑, 𝑑𝑦3 = −𝑑, 𝑑𝑦4 = −𝑑 𝑎1 = 𝑎2 = 𝑎3 = 𝑎4 = 𝑎, θ = θ = θ = θ = 0

Từ các thông số ở trên thay vào (2.9) đặt 𝜔 = [𝜔1 𝜔2 𝜔3 𝜔4] 𝑇

Trang 39

2.1.5 Mô hình động học nghịch của bốn bánh đa hướng của robot thư viện

Trong đó:

- v : Vận tốc của xe theo phương x

- v : vận tốc của xe theo phương y

- v : vận tốc góc của xe

- 𝛼: là hướng đi của robot

Dựa vào hệ trục tọa độ trên ta có :

2.2 Giới thiệu về Robot Operating System

2.2.1 Tổng quan về hệ điều hành dành cho robot – ROS

Robot Operating System – ROS là hệ điều hành mã nguồn mở dành cho robot, là một framework được dùng rất rộng rãi trong lĩnh vực robotic với nhiều ưu điểm Nó tạo

ra một nền tảng phần mềm có thể hoạt động trên rất nhiều robot khác nhau mà không cần sự thay đổi quá nhiều trong chương trình phần mềm

ROS cung cấp, hỗ trợ các dịch vụ (services) như một hệ điều hành như phần cứng trừu tượng (hardware abtraction), kiểm soát các thiết bị cấp thấp (low-level 6 device control), thực thi (implementation) các chức năng phổ biến, tin nhắn (message) qua lại

Hình 2.10 Xe đa hướng Mecanum trong hệ trục tọa

độ O

Trang 40

giữa các quá trình, và quản lý gói Ngoài ra, nó cũng cung cấp nhiều công cụ và thư viện cho việc tham khảo, biên dịch, viết và chạy chương trình trên nhiều máy khác nhau.[14]

Hiện nay, ROS chỉ chạy trên nền tảng Unix Các phần mềm được chạy trên ROS chủ yếu được thử nghiệm trên hệ điều hành Ubuntu và Mac OS X Bên cạnh đó, 7 thông qua cộng đồng này, nó còn đang được xây dựng để hỗ trợ cho các nền tảng khác như Fedora, Gentoo, Arch Linux và các nền tảng Linux khác.[14]

2.2.2 Cấu trúc ROS

Kiến trúc ROS có ba cấp khái niệm: Filesystem, Computation Graph và Community

 ROS Filesystem Level

Filesystem chủ yếu là các nguồn tài nguyên ROS được thực thi trên bộ nhớ lưu trữ

hệ thống, bao gồm:

Packages: là đơn vị chính để tổ chức phần mềm trên ROS Một package có thể chứa các nodes (ROS runtime processes), các thư viện đặc thù của ROS, các file cài đặt hoặc bất cứ file nào cho việc tổ chức

Mục đích của package là để tạo ra tập hợp chương trình có kích thước nhỏ nhất để

có thể dễ dàng sử dụng lại

Metapackages: là một package chuyên biệt, dùng để phục vụ cho việc thể hiện mối quan hệ một nhóm các package khác với nhau Metapackage thường được dùng như nơi

để giữ các tương thích ngược cho việc chuyển đổi sang rosbuild Stacks

Package Manifests: là một bảng mô tả về một package như tên, version, mô tả, thông tin license,… Manifests được quản lý bởi một file tên là manifests.xml

Stacks: khi chúng ta kết hợp các package với nhau với một vài chức năng thì được gọi là Stack Trong ROS, có rất nhiều stack với công dụng khác nhau Tương tự Package,

Hình 2.11 Các phiên bản của Ubuntu

Ngày đăng: 22/03/2024, 22:35

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w