Chương 1. TONG QUAN ĐÈ TÀI. Lý do thực hiện khóa luận. Muc ti€u kha 1uann oo.
Phương pháp thực hiỆn. - + St vn ri 2 Chương 2. Tổng quan về ROS. Đặc điểm của ROS.
Các khái niệm trong ROS. ROS Navigation StACK. cành HH He6 2. _ Tổng quan về Navigation Stack.
Ước lượng vị trí của robot dùng Adaptive Monte Carlo Localization (AMCL). Bo lap ké hoach va diéu hướng (MOve_base) oo. _ Thuật toán Dijkstra cho global planner:. Thuật toán Dynamic Window Approach dé tránh vật cản cho local pỈanner.
cá Sà tt HH HH 4 2. Công nghệ Light Detection and Ranging (LIDAR). Phương pháp Simultaneous Localization and Mapping (SLAM). Máy tính nhúng Nvidia Jetson Nano.
Động cơ JGB37 encoder. the 2 Chương 3. PHAN TÍCH VÀ THIET KE HE THONG 3. Tổng quan hệ thong.
Phân tích và thiết kế phần cứng robot. Cơ sở di chuyển của rObot. Thiết kế khung cơ khí. Kết nối phần cứng mô hình.
Phân tích và thiết kế website quản lý. Phân tích và thiết kế giao diện. Thiết kế giao digm. Kết nối robot với website quản lý.
Lập trình bộ điều khiển và tính toán Odometry. Thiết lập giao tiếp giữa các thiết bị nhúng. Lập trình bộ điều kién của robot trên Arduino Mega. Tính toán Odometry cập nhật vị trí của robot.
Thiết lập Navigation Stack trên bản d6 đã có. Cấu hình move_base trong Navigation Staek. Cấu hình gói phần mềm amcl cho ước lượng vi trí trong ROS. Tổng hợp các gói phần mềm đã dùng khi thực hiện Navigation Stack 4.
Cài đặt môi trường. Thiết lập môi trường multiple machine với ROS. Thiết lập tự khởi động hệ thống Navigation Stack khi robot được cấp nguồn. Đánh giá bản đồ 2D.
Đánh giá quá trình Navigation Stack của rObOt. Thực nghiệm trên môi trường không có vật cản. Thực nghiệm trên môi trường có vật cản. Thực nghiệm đặt món va điều khiển robot thông qua website.
Đặt món và nhận thông báo trên giao diện điều khiền. Thực nghiệm trên giao diện điều khién. Thực nghiệm điều khiển robot .--- 2c se s2 x+Ee2EetExerrxerree 66 Chương 5. KET LUẬN VÀ HƯỚNG PHAT TRIEN.
Hướng phát triỀn. 70 DANH MỤC HÌNH Hình 2.1: Tính ứng dụng của ROS. ¿5-5-5 +22 S+ St xen 3 Hình 2.2: Khả năng kết nối trong hệ sinh thái của ROS.-¿-©cc5ccc+¿ 4 Hình 2.3: Sơ đồ hoạt động của topic và node trong ROS.4: Sơ đồ hoạt động của một service trong ROS.5: Thanh phan cơ bản của Navigation Stack trong ROS [3].6: Bản đồ chi phí trong ROS.7: Miêu tả ảnh hưởng của giá trị chỉ phí đến hoạt động cua robot [4].8: Mô phỏng quá trình AMCL ước lượng vị trí của robot.9: Các thành phan chính trong gói phần mềm move_base.10: Trạng thái R€COV€TY.11: Sơ đồ nút và trọng số trong đồ thị mẫu cho thuật toán Dijkstra [6] .12: Mô phỏng hoạch định đường di dùng thuật toán Dijkstra trong ROS.13: Minh họa ý tưởng của thuật toán DWA. eee +©+5++c+c+ccrcrzvecer 5 Hình 2.14: Hình anh minh họa công nghệ LIDAR.15: Ban đồ 2D được xây dựng bằng phương pháp Hector_SLAM.16: Nvidia Jetson Nano .--- cv HH HH it 8 Hình 2.17: Thông số kỹ thuật của RPLIDAR AIMB .20: Động cơ JGB37 có encoder .--¿- - ¿5+5 S+tk‡x‡EvEkrkekerekrkrkrkeree 21 Hình 2.121 H11 rrưên2 Hình 3.1: Sơ đồ khối hệ thống robot phục vụ quán cà phê.2: Mô hình tổng quát robot bánh xe vi sai .----c-cc:c+22cccvvecccee 24 Hình 3.3: Mô hình động học của robot bánh xe Vi sai [9].4: Kích thước mặt đáy của TOOI.
+ +5 S St #vEvxeErketsrrrrrrrrreree 27 Hình 3.5: Kích thước của robot (mặt chiếu NANG) .6: Mô hình 3D của rObOI.7: Kết quả khung cơ khí của robot sau khi lắp ráp.8: Sơ đồ khối miêu tả kết nối phần cứng của robot.9: Sơ đồ kết nối của bộ điều khiển động cơ.---2- 2: 5©5z+s+cx+zxzsz 30 Hình 3.10: Chi tiết kết nối thành phan phần cứng của robot .11: Mô hình hoàn thiện của rObOt.12: So đồ tong quan của hệ thống website quản lý.13: Thiết kế tổng quan của giao diện điều khiến .14: Thiết kế của giao điện đặt món.15: Thiết kế của giao diện quản lý đơn hàng.16: Quy trình thực hiện một đơn hang. - 5c Sc* + s+strssexeerseerrrs 36 Hình 3.17: Vị trí của rosbridge trong việc kết nối giữa các lớp App và robot [11].18: Lưu đồ hoạt động trên Arduino Mega.---- 2-2 2 se x+cx+z+zszse2 41 Hinh 3.19: M6 hinh chuyén động của robot [ Í4].-- ---«+++ss+++sex++eex+eee+zeess 42 Hình 3.20: Mô hình cập nhật vi trí và góc của rObO(.----«s++sss+++sex+sesessss 43 Hình 3.21: Sơ đồ kết nối của các Node va Topic khi thực hiện Navigation Stack.22: Cấu trúc frame khi thực hiện Navigation Stack.1: Trạng thái service tự khởi động hệ thống Navigaiton .2: Kết quả dir liệu thu được từ laser SCan.3: Ban đồ 2D tạo từ không gian thực nghiệm.4: Kết quả bản đồ khi lưu ở dang tệp .-- 2-2 5©5z2s+cx+zxzsz 57 Hình 4.5: Thông tin vi trí của robot trong hệ tọa độ của bản đỒ.6: Công thức chuyên đổi Quaternion sang góc Euler.7: Lộ trình của robot trong trường hop di chuyền thăng.8: Lộ trình của robot trong trường hợp di chuyển có góc rẽ.9: Lộ trình của robot trong trường hợp có vật cản xuất hiện .10: Thực hiện đặt món trên giao điện đặt món .11: Thông báo khi người dùng đặt món thành công.12: Tổng quan giao diện điều khiễn. 2-2-2 52+ £2£E+£E+zE+zEzrxerxezez 64 Hình 4.13: Thông báo khi nhấn vào nút “Table Ï”.-- 2-2 2+2 s+x+zx+zzzszse2 65 Hình 4.14: Giao diện điều khiển hiển thị có đơn mới từ Table 1.15: Giao diện hiển thị danh sách các đơn i0.16: Vị trí của robot trên bản đồ .17: VỊ trí của robot trên ÏÑVIZ.18: Mô phỏng lộ trình di chuyển của robot trên Rviz.19: Thông báo khi robot di chuyên đến mục tiêu .-------:-5:5+ 68 DANH MỤC BANG Bảng 3.1: Mô tả chi tiết của các tập hợp trong cơ sở dit liệu của hệ thống.2: Các lớp trong thư viện Roslibjs được sử dụng dé kết nối với robot.3: Các phương thức được sử dụng dé kết nối với robot.4: Các gói phần mềm hỗ trợ giao tiếp giữa các phần cứng .5: Tệp costmap_common_params.-- -‹- + £++£+se+se+sessessxs 44 Bảng 3.6: Tép local_costmap_params.7: Tép global_costmap_ pararms.8: Tép base_local_planner_params.9: Tép cấu hình khởi chạy amcl.------¿- ¿+2 sz2zx2z++zs+szsz 49 Bang 3.10: Chi tiết các gói phần mềm đã dùng trong Navigation Stack.11: Chi tiết các chủ đề publish và subscribe của các gói phan mềm.1: Thiết lập môi trường giao tiếp ROS trên máy tính cá nhân .2: Thiết lập môi trường giao tiếp ROS trên Jetson Nano.3: Tép shell script chứa các lệnh khởi động Navigation .4: Tệp service thực thi shell script khởi động Navigation.5: Kết qua thực nghiệm trên môi trường không có Vat cản.6: Kết quả thực nghiệm trên môi trường có vật cản. 62 DANH MỤC TỪ VIET TAT AMCL Adaptive Monte Carlo Localization API Application Programming Interface DWA Dynamic Window Approach IMU Inertial Measurement Units LiDAR Light Detection and Ranging PID Proportional Integral Derivative ROS Robot Operating System SLAM Simultaneous Localization and Mapping TF Transform TÓM TẮT KHÓA LUẬN Đề tài “Nghiên cứu và xây dựng mô hình robot phục vụ quán cà phê” xây dựng một hệ thống bao gom một robot và một website được kết nối với nhau dé thực hiện công việc của một nhân viên phục vụ truyền thống trong các quán cà phê ở thời điểm hiện tại.
Robot sẽ đảm nhận việc mang thức ăn, nước uống đến vị trí bàn của thực khách theo sự kiểm soát và điều khiển từ website. Website sẽ có một số chức năng dé phục vụ việc quản lý như nhận thông báo, thống kê hoá đơn, kiểm soát, theo dõi và có thể điều khiển robot một cách thủ công. Robot sẽ được xây dựng dựa trên máy tính nhúng Nvidia Jetson Nano Development Kít và RPLIDAR. Jetson Nano sẽ đóng vai trò là bộ não của robot, bên cạnh đó RPLIDAR sẽ hỗ trợ việc lập bản đồ, xác định vị trí của robot, cung cấp các thông tin đầu vào dé xây dựng các giải thuật hoạch định đường di cho robot.
Một encoder được sử dụng để tính toán vận tốc của động cơ, số vòng quay của bánh xe từ đó cho biết được trang thái di chuyền hiện tại của robot, cung cấp các số liệu cho các giải thuật tự hành, giúp robot di chuyên đến vị trí chỉ định một cách an toàn và chính xác. Đề kết hợp và đảm bảo các thành phan của hệ thống hoạt động một cách chính xác, hoàn thiện và đồng bộ cần có một hệ điều hành đảm bảo được tính linh hoạt, dễ dàng cấu hình, xây dựng chương trình điều khiển cho robot. ROS là một lựa chọn phù hợp, đáp ứng được các yêu cau nêu trên. Website của hệ thống được xây dựng dựa trên Node.js, ReactJS và MongoDB.
TONG QUAN DE TÀI 1. Ly do thực hiện khóa luận Ý tưởng về một robot phục vụ trong các nhà hàng, quán ăn đã không còn xa lạ trong thời đại phát triển mạnh mẽ của khoa học công nghệ. Thực tế các công ty công nghệ đã bước chân vào nghiên cứu, phát triển và tung ra thị trường một số dòng sản pham. Các dòng sản phầm như: Dinerbot T8, T5, T1 của KEENON Robotics Co, Ltd; CIOT Restaurant robots cua Shenzhen Intelligent Guardforce Robot Technology Co, Ltd; Dexter Intelligent Transporting Robots của Service Robots,.
đã dược đưa vào sử dụng tại một số quốc gia như Anh, Canada, Trung Quốc va Việt Nam. Tại khoa Kỹ thuật máy tinh cũng đã có một số đề tài nghiên cứu liên quan như: dé tài “Xay dựng rohot tự hành quét ban đồ trong nhà và tránh vat cản” của nhóm sinh viên Lê Chí Bảo — Phan Anh Kiệt (2021), đề tài “Robot tránh vật cản sử dụng công nghệ Lidar” của nhóm sinh viên Võ Anh Tuấn — Tran Hoàng Phương (2021),. Tuy nhiên vẫn chưa có đề tài nghiên cứu trực tiếp xây dựng một robot đáp ứng các yêu cầu cho một môi trường cụ thé như môi trường trong các quán cà phê. Các sản pham hiện tại có trên thị trường dù đã được đưa vào sử dụng nhưng mức độ phô biến không cao, hay phát sinh lỗi và không phù hợp với môi trường thực tế ở nước ta, do đó nhóm chọn thực hiện đề tài “Nghiên cứu và xây dựng mô hình robot phục vụ quán cà phê” để ứng dụng cụ thé các lợi ích mà Lidar mang lại, tận dụng các giải thuật tự hành đã được xây dựng và sử dụng rộng rãi để xây dựng robot hoạt động trong môi trường phức tạp như các quán cà phê hiện tại.
Mục tiêu khóa luận Khoá luận được thực hiện với mục tiêu được xác định như sau: - Xây dựng mô hình robot có kết cấu phù hợp, robot sẽ thực hiện việc vận chuyên thức ăn, nước uống đến vị trí chỉ định dựa trên bản đồ đã được nạp sẵn, có khả năng tránh các vật cản (trong tầm hoạt động của Lidar) trên đường di chuyền.