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 bốn bánh đa hướng của robot thư viện. 7 xi Downloaded by MON HOANG (monmon3@gmail.1 Giới thiệu bánh xe Mecanum.2 Mô hình động học của bốn bánh đa hướng của robot thư viện .3 Mô hình bánh xe tổng quát.4 Mô hình động học thuận của bốn bánh đa hướng của robot thư viện .5 Mô hình động học nghịch của bốn bánh đa hướng của robot thư viện .2 Giới thiệu về Robot Operating System.1 Tổng quan về hệ điều hành dành cho robot – ROS.2 Cấu trúc ROS.4 Các gói hỗ trợ trên Ros .3 Tổng quan về Lidar Slamtec Mapper M1M1.1 Giới thiệu về Lidar.2 Thành phần và kết nối hệ thống.3 Nguyên lý hoạt động của lidar.4 Thuật toán điều hướng robot.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 .5 Lý thuyết về xử lý ảnh .1 Tổng quan về MTCNN (Multi-task Cascaded Convolutional Networks).2 Tổng quan về phương pháp Facenet nhận dạng khuôn mặt.6 Lý thuyết truyền tải dữ liệu qua mạng .1 Phương thức truyền tải dữ liệu giữa Client-Server .2 Giao thức truyền thông HTTP/HTTPS.3 Lý thuyết RESTful API. 43 xii Downloaded by MON HOANG (monmon3@gmail.4 Giao thức truyền thông MQTT .7 Các giao thức giao tiếp.1 Giao tiếp ROS Master.2 Giao tiếp Uart.8 Hệ điều hành Ubuntu, ngôn ngữ lập trình và phần mềm hỗ trợ.1 Hệ điều hành Ubuntu.2 Ngôn ngữ Python.3 Phần mềm QT design.4 Phần mềm Arduino.5 Phần mềm Solidworks.6 Phần mềm Mysql Workbench và phpMyAdmin.7 Giới thiệu thư viện SpeechRecognition.8 Giới thiệu Opencv. THIẾT KẾ HỆ THỐNG VÀ LỰA CHỌN THIẾT BỊ .1 Lựa chọn thiết bị.1 Vi điều khiển .4 Mạch điều khiển động cơ.6 Inverter kích điện.7 Bo mạch ESP32.8 Mạch tăng áp Boost DC-DC.9 Mạch giảm áp Buck DC-DC.10 Cảm biến vật cản hồng ngoại.
74 xiii Downloaded by MON HOANG (monmon3@gmail.11 Động Cơ Servo Giảm Tốc .12 Cảm biến siêu âm .13 I2C UART SPI TTL Mạch Chuyển Mức Tín Hiệu.14 Màn hình cảm ứng.2 Thiết kế phần điện .3 Thiết kế phần cơ khí .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 thư viện .2 Chương trình mô phỏng simulink mô hình xe mecanum.3 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 đồ đã 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.4 Ứng dụng xử lý ảnh .1 Nhận diện barcode .2 Nhận diện gương mặt .5 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). 110 xiv Downloaded by MON HOANG (monmon3@gmail.6 Xây dựng tính năng điều khiển robot qua internet .1 Cấu hình ESP32 để điều khiển robot qua internet .2 Xây dựng tính năng xem camera và ghi hình từ xa qua internet .7 Thiết kế giao diện .1 Thiết kế giao diện QT design .2 Thiết kế giao diện web. KẾT QUẢ VÀ ĐÁNH GIÁ .1 Kết quả mô phỏng .1 Kết quả mô phỏng trên matlab/simulink .2 Kết quả mô phỏng trên ROS .2 Kết quả xử lý ảnh.1 Nhận diện barcode.2 Nhận diện gương mặt .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 Internet .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 CỦA ĐỀ TÀI .2 Hướng phát triển. 153 TÀI LIỆU THAM KHẢO. 156 xv Downloaded by MON HOANG (monmon3@gmail.com) lOMoARcPSD|39222806 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 Robot Pangolin của hãng Pangolin Robot Japan Co.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ỹ).4 Robot tự hành thông minh (NextAMR) .5 Công ty intelligent robot .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 .2 Bánh xe Mecanum kim loại .3 Bánh xe Mecanum nhựa.4 Các hướng xe mecanum di chuyển .5 Mô hình xe đa hướng mecanum trong hệ trục tọa độ .6 Tọa độ tâm bánh xe .7 Tâm bánh xe trong hệ trục tọa độ B .8 Tâm bánh xe trong hệ trục tọa độ B khi vó vận tốc .9 Xe đa hướng mecanum trong hệ trục tọa độ I .10 Xe đa hướng Mecanum trong hệ trục tọa độ O .11 Các phiên bản của Ubuntu .12 Hệ thống ROS Computation Graph Level.13 Hệ thống Navigation .14 Lidar Slamtec Mapper M1M1 .16 Laser quét trong môi trường.17 Nguyên lí hoạt động Lidar .18 Phần mềm hỗ trợ quan sát Lidar quét .19 Tóm tắt thuật toán .21 Bước 1 của Node a .22 Bước 2 của Node c .23 Bước 3 của Node d .24 Bước 4 của Node b .25 Bước 5 của Node f.26 Bước 6 của Node e. 25 xvi Downloaded by MON HOANG (monmon3@gmail.com) lOMoARcPSD|39222806 Hình 2.27 Hoạch đường đi sử dụng thuật toán Dijkstra .28 Vận tốc cho phép V_a trong DWA .29 Vận tốc trong cửa sổ động V_dtrong DWA .30 Lưu đồ giải thuật DWA.31 Sơ đồ khối bộ điều khiển PID .32 Sơ đồ hoạt động của MTCNN .35 Mạng đầu ra (O-Net) .36 Minh họa về quá trình sau huấn luyện .37 Mô hình truyền tải dữ liệu giữa Client-Server .38 Quá tình của một phiên làm việc HTTP .39 Mô hình RESTful API .40 Cách thức hoạt động của RESTful API .41 Giao thức MQTT.42 Một phiên MQTT .43 Phần mềm ngrok .44 Giới thiệu cPanel .45 Giao diện cPanel .46 Giao diện E-Ra .47 Giao tiếp UART .48 Cách thức hoạt động của giao tiếp UART .50 Giao diện hệ điều hành Ubuntu .51 Giới thiệu Python .52 Giao diện của phần mềm Qt Designer .53 Giao diện trong phần mềm Qt Designer .54 Phần mềm Arduino .55 Giao diện SolidWorks .56 Phần mềm MySQL Workbench .57 Phần mềm phpMyAdmin .58 Thư viện Speech to Text.
66 xvii Downloaded by MON HOANG (monmon3@gmail.com) lOMoARcPSD|39222806 Hình 3.3 Mini pc LongVu .4 Động cơ DC servo JGB37-545 .5 Mạch cầu HI216 .7 Inverter kích điện .9 Mạch tăng áp DC-DC.10 Mạch giảm áp DC-DC .11 Cảm biến hồng ngoại .13 Cảm biến siêu âm .14 Mạch chuyển mức tín hiệu .15 Màn hình cảm ứng Viewsonic .18 Sơ đồ khối mô tả cách hoạt động của các khối xử lí tín hiệu .19 Sơ đồ kết nối mạch điều khiển các thiết bị của robot thư viện .20 Bảng điều khiển nguồn cho robot thư viện .21 Tổng quan mô hình Robot phục vụ thư viện .22 Phần đế và các vật liệu, linh kiện được sử dụng .23 Phần thân và các vật liệu, linh kiện được sử dụng .24 Phần đầu và các vật liệu, linh kiện được sử dụng .25 Mô hình robot phục vụ thư viện .1 Mô phỏng xe đa hướng mecanum tổng quát .2 Mô phỏng động học thuận xe đa hướng mecanum .3 Mô phỏng động học nghịch xe đa hướng mecanum.4 Lưu đồ điều khiển xe tự hành .5 Bản đồ sau khi lưu.6 Sơ đồ các Node trong tạo bản đồ .7 Cấu trúc frame trong tạo bản đồ .8 Thông tin vị trí và hướng của Lidar .9 Các node liên kết trong move_base .10 Chuyển anh sang ảnh đen trắng. 104 xviii Downloaded by MON HOANG (monmon3@gmail.com) lOMoARcPSD|39222806 Hình 4.11 Làm mờ ảnh .12 Cân bằng sáng .13 Phân ngưỡng .14 30 ảnh chứa khuôn mặt được chụp để làm dữ liệu huấn luyện.15 Các thư mục chứa ảnh được lưu bằng mssv .16 Các ảnh sau khi được cắt riêng khuôn mặt .17 Các ảnh đều được resize về kích thước chung 160x160 .18 Các ảnh sau khi được chuẩn hóa về mức sáng .19 Các dữ liệu được quét .20 Kết quả sau khi truyền qua model facenet .21 Sơ đồ tính năng giọng nói .22 Lưu đồ tính năng giao tiếp giữa người và robot bằng giọng nói .23 Chương trình ESP32.24 chương trình ESP32.25 Kết nối uart .26 Lưu đồ điều khiển xe từ xa .27 Cấu hình wifi .28 Cấu hình tên đăng nhập và mật khẩi cố định .29 Giao diện nhập thông tin wifi .30 Lưu đồ giải thuật kết nối với Wifi của ESP32 .32 Template hiển thị giao diện chứa video streaming từ camera .33 Chuyển đổi khung hình thành dạng bytes .34 Hình ảnh hiển thị trên web localhost khi chạy file python .35 Chạy ngrok và in ra địa chỉ forwarding url và độ trễ mạng .36 Dữ liệu người sử dụng được lưu trong bảng dữ liệu .37 Giao diện đăng nhập và đăng ký dành cho người điều khiển .38 Thông báo khi người dùng nhập sai tài khoản/mật khẩu .39 Bảng dữ liệu về người điều khiển .40 Trang thông báo rằng có người đang sử dụng trang web điều khiển .41 Trang hiển thị mã Auth Token của nền tảng E-Ra .42 Truy vấn đến nền tảng E-Ra với phương thức “GET” .43 Kết quả của truy vấn là đoạn mã chứa ID của nút nhấn. 118 xix Downloaded by MON HOANG (monmon3@gmail.com) lOMoARcPSD|39222806 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 .45 Giá trị action_on và action_off .46 Cấu hình cho 1 yêu cầu POST HTTP .47 Hình ảnh khi chưa nhấn nút (trái), và đã nhấn nút (phải) .48 Nút nhấn bật điều khiển robot di chuyển đa hướng .49 Trạng thái đã được điều khiển và lưu vào cơ sở dữ liệu phpMyAdmin .50 Hiển thị dữ liệu đã điều khiển ra bảng dữ liệu .51 Nút nhấn tắt điều khiển robot di chuyển tự động .52 Các nút nhấn di chuyển đến từng vị trí khác nhau để giám sát.53 Lưu đồ chương trình giao diện .54 Giao diện bắt đầu .55 Giao diện nhận diện gương mặt .56 Giao diện đăng kí thông tin .57 Giao diện chính .58 Giao diện mượn sách.59 Giao diện trả sách .60 Tra cứu theo khoa.61 Tra cứu theo tên.62 Giao diện đăng nhập.63 Giao diện đăng kí .64 Giao diện điều khiển .1 Đáp ứng động học của xe đa hướng Mecanum tổng quát trường hợp 1 .2 Đáp ứng động học của xe đa hướng Mecanum tổng quát trường hợp 2 .3 Đáp ứng động học của xe đa hướng Mecanum tổng quát trường hợp 3 .4 Đáp ứng động học của xe đa hướng Mecanum tổng quát trường hợp 4 .5 Đáp ứng động học thuận của xe đa hướng Mecanum trường hợp 1 .6 Đáp ứng động học thuận của xe đa hướng Mecanum trường hợp 2 .7 Đáp ứng động học thuận của xe đa hướng Mecanum trường hợp 2 .8 Đáp ứng động học thuận của xe đa hướng Mecanum trường hợp 4 .9 Đáp ứng động học nghịch của xe đa hướng Mecanum trường hợp 1 .10 Đáp ứng động học nghịch của xe đa hướng Mecanum trường hợp 2 .