CHƯƠNG 1.1 Tình hình nghiên cứu ngoài nước .2 Tình hình nghiên cứu trong nước .2 Mục tiêu đề tài .1 Mục đích đề tài .2 Mục tiêu đề tài .3 Phương pháp nghiên cứu.4 Giới hạn đề tài .5 Nội dung nghiên cứu .1 Xây dựng mô hình động học, động lực học cho xe bốn bánh và cánh tay của robot lễ tân .1 Động học thuận xe .2 Động học nghịch xe .3 Động học thuận cánh tay .4 Động học nghịch cánh tay .2 Giới thiệu về Robot Operating System .1 Tổng quan về hệ điều hành cho robot – ROS .2 Cấu trúc ROS .4 Các gói hỗ trợ ROS .3 Công nghệ SLAM và Lidar .1 Công nghệ SLAM .2 Công nghệ Lidar .4 Tổng quan về lidar M1M1 .1 Giới thiệu về lidar .2 Thành phần và kết nối của hệ thống.3 Nguyên lí hoạt động của lidar .5 Thuật toán điều hướng .1 Thuật toán Dijkstra .2 Thuật toán Dynamic Window Approach để tránh vật cản .3 Thuật toán PID .1 Tổng quan về Mediapipe .2 Tổng quan về Stereo Camera .7 Truyền tải dữ liệu qua mạng.1 Giao thức truyền thông HTTP/HTTPS .2 Lý thuyết RESTful/API .8 Các giao thức giao tiếp .1 Giao tiếp ROS Master .2 Giao tiếp Uart .3 Hệ điều hành Ubuntu .4 Ngôn ngữ Python .6 Phần mềm QT design .7 Phần mềm Arduino.8 Phần mềm Solidworks .9 Phần mềm MySQL Workbench .10 Thư viện SpeechRecognition .11 Thư viện gTTS .12 Giới thiệu thư viên Pyaudio và Playsound .13 Thư viện OpenCV. THIẾT KẾ HỆ THỐNG VÀ LỰA CHỌN THIẾT BỊ.1 Lựa chọn thiết bị .1 Bánh xe nhôm .2 Vi điều khiển .5 Mạch điều khiển động cơ .9 Stepper Moto Driver .10 Màn hình hiển thị .2 Thiết kế phần điện .3 Thiết kế và thi công .1 Yêu cầu phần cứng .2 Thiết kế trên phần mềm SolidWorks. XÂY DỰNG CHƯƠNG TRÌNH ĐIỀU KHIỂN .1 Mô tả hoạt động của robot lễ tân.2 Chương trình ROS ứng dụng cho xe tự hành.1 Lưu đồ chương trình.2 Xây dựng bản đồ .3 Điều hướng robot trên bản đồ đã xây dựng .4 Chương trình điều khiển động cơ (Mobile base) .5 Thiết lập Serial để giao tiếp với Mobile_base .3 Ứng dụng xử lý ảnh.1 Tracking khách hàng .2 Thuật toán Stereo Camera để lấy vị trí nút thang máy.4 Xây dựng tính năng giao tiếp giữa người và robot bằng giọng nói .1 Chuyển giọng nói về dạng văn bản (Speech to text) .2 Đưa ra hành động (Take action) .3 Chuyển văn bản về giọng nói (Text to Speech) .5 Xây dựng mô hình trợ lý ảo .1 Thiết lập thông tin xác thực .2 Khởi tạo Vertex AI .3 Thiết lập lấy phản hồi từ mô hình AI dựa vào văn bản đầu vào .6 Xây dựng tính năng điều khiển robot qua internet .7 Thiết kế giao diện .1 Thiết kế giao diện web. KẾT QUẢ VÀ ĐÁNH GIÁ .1 Kết quả mô phỏng .1 Kiểm chứng động học xe 2 bánh vi sai .2 Kết quả xử lý ảnh .1 Tracking khách hàng .3 Kết quả thiết kế giao diện chạy trên phần mềm Python .4 Kết quả điều khiển xe tự hành.5 Kết quả điều khiển qua Interner .6 Kết quả hoạt động của toàn bộ hệ thống.
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .2 Hướng phát triển. 132 TÀI LIỆU THAM KHẢO. 134 xvii DANH SÁCH HÌNH ẢNH Hình 1-1 LEO và CLEO – Robot dịch vụ nhà hàng ở Chicago (Mỹ). 3 Hình 1-2 Robot Pangolin của hãng Pangolin Robot Japan Co.
3 Hình 1-3 Matradee - Robot dịch vụ nhà hàng của công ty RichTech Robotic. 3 Hình 1-4 Robot tự hành dịch vụ VOR và công nghiệp VMR của Viettel. 4 Hình 1-5 Robot NextAMR của tập đoàn FPT. 4 Hình 1-6 Robot Wheelchair.
4 Hình 2-1 Robot trong hệ trục tọa độ. 8 Hình 2-2 Hệ trục cánh tay robot 3 bậc gắn trên robot. 10 Hình 2-3 Hệ thống ROS - Robot Operating System. 15 Hình 2-4 Hệ điều hành Linux phiên bản Ubuntu 20.
15 Hình 2-5 Cấu trúc liên kết trong ROS. 17 Hình 2-6 Hệ thống Navigation. 17 Hình 2-7 Giao diện Rviz. 19 Hình 2-8 Robot Pudu sử dụng công nghệ SLAM.
20 Hình 2-9 Cảm biến Lidar tích hợp vào máy hút bụi. 21 Hình 2-10 Cảm biến Lidar SLAMTEC M1M1 Mapper. 22 Hình 2-11 Các thành phần chính và tín hiệu kết nối của Lidar. 24 Hình 2-12 Nguyên lí hoạt động của lidar.
24 Hình 2-13 Đồ thị các node và trọng số. 28 Hình 2-23 Hoạch đường đi sử dụng thuật toán Dijkstra. 29 Hình 2-24 Vận tốc cho phép V_a trong DWA. 30 Hình 2-25 Vận tốc trong cửa sổ động V_d trong DWA.
30 Hình 2-26 Lưu đồ giải thuật DWA. 31 Hình 2-27 Sơ đồ khối bộ điều khiển PID. 32 xviii Hình 2-28 468 điểm đặc trưng trên khuôn mặt. 35 Hình 2-29 21 điểm đặc trưng trên tay.
36 Hình 2-30 33 điểm đặc trưng trên cơ thể người. 36 Hình 2-31 Nhận diện đối tượng MediaPipe Object. 37 Hình 2-32 Ứng dụng MediaPipe Face Filter. 37 Hình 2-33 Các ứng dụng của thư viện MediaPipe.
37 Hình 2-34 Stereo Camera. 38 Hình 2-35 Mô tả thuật toán Stereo Camera. 38 Hình 2-36 Thuật toán SAD phân vùng. 40 Hình 2-37 Giao thức HTTP.
40 Hình 2-38 Quá trình của một phiên làm việc HTTP. 41 Hình 2-39 Các phương thức HTTP Request. 42 Hình 2-40 Tính bảo mật của HTTP và HTTPS. 44 Hình 2-41 Mô hình RESTful API.
45 Hình 2-42 Giao thức MQTT. 46 Hình 2-43 Một phiên MQTT. 47 Hình 2-44 phần mềm Ngrok. 50 Hình 2-45 Sơ đồ kết nối các khái niệm trong ROS.
52 Hình 2-46 Giao tiếp Uart. 52 Hình 2-47 Hệ điều hành Ubuntu. 54 Hình 2-48 Ngôn ngữ lập trình Python. 55 Hình 2-49 Giới thiệu ngôn ngữ C.
57 Hình 2-50 Giao diện của phần mềm Qt Designer. 58 Hình 2-51 Giao diện trong phần mềm Qt Designer. 58 Hình 2-52 Phần mềm Arduino. 59 Hình 2-53 Phần mềm Solidworks.
60 Hình 2-54 Phần mềm MySQL Worbench. 62 Hình 2-55 Thư viện SpeechRecogniton. 62 Hình 2-56 Giới thiệu thư viện gTTS. 63 Hình 2-57 Giới thiệu thư viện Playsound, Pyaudio.
64 Hình 2-58 Giới thiệu thư viện OpenCV. 64 Hình 3-1 bánh xe nhôm đường kính 100mm, trục 8mm. 65 Hình 3-2 Arduino Mega 2560 và 2560 Pro. 66 Hình 3-3 Mini PC.
67 xix Hình 3-4 Động cơ DC Servo JGB37-545. 67 Hình 3-5 Động cơ bước giảm tốc 17HS15-1584S-MG50. 69 Hình 3-6 động cơ bước giảm tốc Nema 17 SK4248. 69 Hình 3-7 Động cơ bước 17HS1538-1704A.
69 Hình 3-8 Mạch điều khiển động cơ BTS7960. 70 Hình 3-9 Nguồn tổ ong 24V 10A. 71 Hình 3-10 Bộ nghịch lưu (Inverter). 71 Hình 3-11 pin Lipo 6s 5300mAh.
72 Hình 3-12 Pin Tattu 2300mAh 4S. 73 Hình 3-13 Bo Mạch ESP8266. 74 Hình 3-14 mạch hạ áp. 74 Hình 3-15 Stepper Motor Driver Microstep.
75 Hình 3-16 Màn hình cảm ứng ZX1505. 76 Hình 3-17 Cam Logitech C310 HD. 77 Hình 3-18 Sơ đồ kết nối mạch điều khiển các thiết bị bên trong robot lễ tân. 77 Hình 3-19 Tổng quan 3D robot lễ tân.
78 Hình 3-20 Phần đế robot. 78 Hình 3-21 Phần thân robot. 79 Hình 3-22 Phần đầu robot. 79 Hình 3-23 Cơ cấu nối phần đầu với thân.
79 Hình 3-24 Cánh tay robot. 79 Hình 4-1 Lưu đồ giải thuật Navigation. 81 Hình 4-2 Lưu đồ giải thuật Waypoint. 82 Hình 4-3 Lưu đồ giải thuật điều khiển di chuyển.
82 Hình 4-4 Bản đồ sau khi lưu và chỉnh sửa trên gimp. 85 Hình 4-5 Sơ đồ các Node trong tạo bản đồ. 86 Hình 4-6 Cấu trúc của frame trong tạo bản đồ. 87 Hình 4-7 Thông tin vị trí và hướng của Lidar.
87 Hình 4-8 Sơ đồ quá trình Recovery Behaviors của Mobile base. 93 Hình 4-9 Quy trình Recovery Behaviors trên Terminal. 94 Hình 4-10 Các Node liên kết trong move_base. 95 Hình 4-11 Danh sách các topic của move_base.
95 Hình 4-12 Danh sách node. 96 Hình 4-13 Danh sách thông tin của topic cmd vel. 96 xx Hình 4-14 Lưu đồ giải thuật của hệ thống Tracking khách hàng. 98 Hình 4-15 Camera quét hình ảnh và lấy vị trí nút thang máy.
99 Hình 4-16 Lưu đồ giải thuật của cánh tay robot. 100 Hình 4-17 Sơ đồ tính năng giọng nói. 101 Hình 4-18 Lưu đồ tính năng giao tiếp giữa người và robot bằng giọng nói. 102 Hình 4-19 Thiết lập thông tin xác thực Google Cloud.
103 Hình 4-20 Khởi tạo Vertex AI. 103 Hình 4-21 Lựa chọn model AI. 103 Hình 4-22 Lưu đồ giao tiếp giữa người và robot thông qua trợ lý ảo. 103 Hình 4-23 MQTT giữa trang web và ESP.
104 Hình 4-24 Nền tảng HiveMQ Cloud. 104 Hình 4-25 Các thông tin cấu hình để kết nối HiveMQ. 105 Hình 4-26 Chương trình ESP. 105 Hình 4-27 Hàm Reconnect MQTT.
106 Hình 4-28 Hàm Callback xử lí dữ liệu. 106 Hình 4-29 Cấu hình kết nối wifi cho ESP. 106 Hình 4-30 Kết nối Uart. 107 Hình 4-31 Lưu đồ điều khiển robot từ xa.
107 Hình 4-32 Lưu đồ giải thuật xử lí tín hiệu giữa web và giao diện. 108 Hình 4-33 Template hiển thị giao diện chứa video streaming từ camera. 108 Hình 4-34 Chuyển đổi khung hình thành dạng bytes. 109 Hình 4-35 Giao diện sau khi chạy lệnh ngrok “ngrok http 127.
109 Hình 4-36 Chương trình nhận URL và lưu vào file text. 109 Hình 4-37 Cú pháp gửi Url lên file text dùng PHP. 110 Hình 4-38 Cấu hình js để lấy url từ file text. 110 Hình 4-39 Camera giám sát qua Web.
110 Hình 4-40 Giao diện trang chủ. 111 Hình 4-41 Giao diện điều khiển Auto. 111 Hình 4-42 Giao diện điều khiển Manual. 112 Hình 4-43 Giao diên khi đã Responsive.
112 Hình 5-1 Sơ đồ khối Simulink. 113 Hình 5-2 Hình đồ thị giá trị đặt và ngõ ra của X trong trường hợp 1. 113 Hình 5-3 Hình đồ thị giá trị đặt và ngõ ra của Y trong trường hợp 1. 114 Hình 5-4 Hình đồ thị giá trị đặt và ngõ ra của Theta trong trường hợp 1.
114 xxi Hình 5-5 Hình chuyển động của Robot trong trường hợp 1. 114 Hình 5-6 Hình đồ thị giá trị đặt và ngõ ra của X trong trường hợp 2. 115 Hình 5-7 Hình đồ thị giá trị đặt và ngõ ra của Y trong trường hợp 2. 115 Hình 5-8 Hình đồ thị giá trị đặt và ngõ ra của Theta trong trường hợp 2.
115 Hình 5-9 Hình chuyển động của Robot trong trường hợp 2. 116 Hình 5-10 Nhận diện đối tượng bằng mediapipe. 116 Hình 5-11 Đối tượng bị che khuất gương mặt. 117 Hình 5-12 Đối tượng đứng nghiêng so với robot.
117 Hình 5-13 Đối tượng di chuyển với tốc độ nhanh. 117 Hình 5-14 Tính toán giá trị y và z. 118 Hình 5-15 Ấn nút số 2 và ấn nút số 3. 118 Hình 5-16 Ấn nút số 4 và nút số 5.
119 Hình 5-17 Giao diện chờ tải giao diện chính. 119 Hình 5-18 Giao diện trang Home. 120 Hình 5-19 Giao diện chatbot. 120 Hình 5-20 Giao diện truy cập trang trường.
121 Hình 5-21 Giao diện đóng học phí. 121 Hình 5-22 Giao diện tracking. 122 Hình 5-23 Giao diện di chuyển.