Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh tự động hóa và cuộc Cách mạng Công nghiệp lần thứ tư, robot di động tự hành (AMR - Autonomous Mobile Robot) ngày càng được ứng dụng rộng rãi trong lĩnh vực dịch vụ ăn uống và nhà hàng - khách sạn. Tình hình dịch bệnh Covid-19 kéo dài đã gây ra sự thiếu hụt nhân công và gia tăng chi phí vận hành tại nhiều chuỗi ẩm thực, thúc đẩy các nhà hàng chuyển đổi sang mô hình ứng dụng robot phục vụ nhằm giảm thiểu tương tác tiếp xúc trực tiếp, nâng cao hiệu suất làm việc và chuẩn hóa quy trình phục vụ bàn.

Trên thế giới, các dòng robot thương mại của Keenon Robot hay Reeman Robot Family đã được triển khai tại Nhật Bản, Hàn Quốc, Mỹ và Pháp. Tại Việt Nam, một số thương hiệu nhà hàng (như Haidilao, Nabe Suki, Hải Phòng Xưa) đã bắt đầu sử dụng các dòng robot nhập khẩu như BellaBot. Tuy nhiên, giá thành đầu tư cao và sự phụ thuộc vào công nghệ ngoại nhập đặt ra yêu cầu nghiên cứu làm chủ công nghệ thiết kế, chế tạo và lập trình điều khiển robot phục vụ nội địa. Đề tài "Thiết kế và điều khiển mô hình robot phục vụ trong nhà hàng" được nhóm tác giả thực hiện nhằm giải quyết bài toán định vị, lập bản đồ không gian, quy hoạch quỹ đạo di chuyển tự hành và tích hợp giao diện điều khiển, giao tiếp giọng nói cho robot phục vụ nhà hàng.

Mục tiêu tổng quát của đề tài là xây dựng hoàn chỉnh một mô hình robot tự hành bốn bánh Mecanum có khả năng di chuyển linh hoạt trong không gian nhà hàng, tránh vật cản động/tĩnh, tích hợp hệ thống đặt món và nhận diện giọng nói. Các nhiệm vụ nghiên cứu cụ thể được xác định bao gồm:

  1. Tính toán động học thuận và động học nghịch cho hệ xe bốn bánh Mecanum; tiến hành mô phỏng kiểm chứng mô hình toán trên phần mềm Matlab.
  2. Tìm hiểu và ứng dụng Hệ điều hành Robot (ROS - Robot Operating System) trên nền tảng Linux/Ubuntu để quản trị và vận hành hệ thống.
  3. Tích hợp công nghệ định vị và lập bản đồ đồng thời (SLAM) cùng cảm biến LiDAR Slamtec Mapper M1M1 để tạo bản đồ môi trường 2D và thiết lập bản đồ chi phí (Costmap).
  4. Cài đặt các thuật toán điều hướng (2D Navigation Stack) gồm thuật toán Dijkstra (Global Planner) và thuật toán Dynamic Window Approach - DWA (Local Planner) phục vụ di chuyển đơn điểm và đa điểm (Waypoint).
  5. Thiết kế và thi công phần cứng mô hình robot thực tế dựa trên bản vẽ 3D từ phần mềm SolidWorks; lựa chọn mạch xử lý trung tâm, mạch điều khiển động cơ, cơ cấu chấp hành và nguồn cấp.
  6. Thiết kế phần mềm giao diện người dùng bằng Qt Designer gồm giao diện dành cho khách hàng (Customer), giao diện quản lý cho nhân viên (Staff) kết nối cơ sở dữ liệu MySQL.
  7. Xây dựng mô-đun nhận diện giọng nói bằng thư viện SpeechRecognition và chuyển đổi văn bản thành giọng nói (gTTS) để tăng cường tương tác; thử nghiệm, đánh giá hoạt động của mô hình thực tế.

Đối tượng nghiên cứu là mô hình robot phục vụ tự hành bốn bánh Mecanum trang bị cảm biến LiDAR và máy tính nhúng. Phạm vi không gian nghiên cứu được giới hạn trong môi trường nhà hàng khép kín với mặt sàn phẳng. Thời gian thực hiện đồ án từ tháng 02/2023 đến tháng 06/2023 tại Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh.


Cơ sở lý thuyết và phương pháp

Khung lý thuyết và mô hình toán học

Cơ sở lý thuyết của đề tài tập trung vào việc mô hình hóa chuyển động của robot đa hướng bốn bánh Mecanum và các công nghệ cốt lõi trong hệ sinh thái ROS:

  • Động học bánh xe Mecanum: Hệ thống gồm 4 bánh xe Mecanum với các con lăn đặt nghiêng góc $45^\circ$ ($\gamma_i = \pm \pi/4$). Mô hình động học nghịch cho phép tính toán vận tốc góc của từng bánh xe $(\omega_1, \omega_2, \omega_3, \omega_4)$ từ vector vận tốc tổng quát của robot $(V_x, V_y, \omega_z)$ trong hệ tọa độ thân xe: $$\begin{bmatrix} \omega_1 \ \omega_2 \ \omega_3 \ \omega_4 \end{bmatrix} = \frac{1}{R} \begin{bmatrix} 1 & -1 & -(a+b) \ 1 & 1 & (a+b) \ 1 & -1 & (a+b) \ 1 & 1 & -(a+b) \end{bmatrix} \begin{bmatrix} V_x \ V_y \ \omega_z \end{bmatrix}$$ Trong đó: $R$ là bán kính bánh xe; $a$ và $b$ lần lượt là khoảng cách từ tâm robot đến trục ngang và trục dọc của bánh xe. Động học thuận suy ra từ hệ ma trận nghịch đảo để ước lượng vận tốc thực tế của robot dựa trên phản hồi từ encoder.

  • Hệ điều hành Robot (ROS): Sử dụng cấu trúc phân tán gồm ROS Master, các Node xử lý độc lập giao tiếp qua Topic (cơ chế Publisher/Subscriber) với các kiểu tin nhắn chuẩn (geometry_msgs/Twist, nav_msgs/Odometry, sensor_msgs/LaserScan), Service (Client/Server) và Actionlib (Goal/Feedback/Result). Giao thức truyền thông dựa trên TCPROS và UDPROS.

  • Công nghệ SLAM và 2D Navigation Stack:

    • Thuật toán Gmapping: Ứng dụng bộ lọc hạt Rao-Blackwellized Particle Filter để xây dựng bản đồ lưới chiếm dụng 2D (Occupancy Grid Map) từ dữ liệu LiDAR và Odometry.
    • Bản đồ chi phí (Costmap): Thiết lập Global Costmap và Local Costmap phân tầng gồm: Static Layer, Obstacle Layer, Inflation Layer với các mức chi phí xác định (Lethal, Inscribed, Possibly Circumscribed, Freespace, Unknown).
    • Quy hoạch đường đi: Sử dụng thuật toán Dijkstra cho bộ lập kế hoạch toàn cục (Global Planner) để tìm đường đi ngắn nhất trên đồ thị lưới; sử dụng thuật toán Dynamic Window Approach (DWA) cho bộ lập kế hoạch cục bộ (Local Planner) để tính toán vận tốc tức thời $(v, \omega)$ tối ưu, tránh các chướng ngại vật động.
  • Thuật toán điều khiển PID: Bộ điều khiển vi tích phân tỉ lệ dạng số được thiết lập trên vi điều khiển nhằm ổn định vận tốc góc của 4 động cơ DC Servo dựa trên sai số giữa xung encoder thực tế và giá trị vận tốc đặt: $$u(t) = K_p e(t) + K_i \int_0^t e(\tau)d\tau + K_d \frac{de(t)}{dt}$$

  • Mô hình nhận diện giọng nói và cơ sở dữ liệu: Sử dụng thư viện SpeechRecognition xử lý âm thanh đầu vào từ micro, đối soát nhận dạng ngữ nghĩa qua Google Speech API và phản hồi thông báo bằng âm thanh qua Google Text-to-Speech (gTTS). Hệ quản trị cơ sở dữ liệu MySQL lưu trữ thực đơn, thông tin đơn hàng, trạng thái bàn và lịch sử phục vụ.

Phương pháp nghiên cứu và nguồn dữ liệu

Đề tài kết hợp phương pháp nghiên cứu lý thuyết, mô phỏng số và thực nghiệm kỹ thuật:

  • Phương pháp phân tích - tổng hợp tài liệu chuyên ngành về động học robot di động, cấu trúc ROS Navigation và giao tiếp nhúng.
  • Phương pháp mô phỏng số học trên phần mềm Matlab/Simulink để kiểm chứng mô hình động học thuận/nghịch trước khi triển khai phần cứng.
  • Phương pháp thiết kế cơ khí 3D trên SolidWorks để tối ưu trọng tâm, bố trí kết cấu khung nhôm định hình, các tầng khay chứa thức ăn và vỏ mica bảo vệ.
  • Phương pháp thực nghiệm thực tế: Thu thập dữ liệu quét 360 độ từ LiDAR Slamtec M1M1, dữ liệu xung từ Encoder quang gắn trên động cơ DC JGB37-520, và tín hiệu âm thanh thu qua micro không dây K35.

Thiết kế và triển khai

Kiến trúc phần cứng và thiết bị sử dụng

Hệ thống phần cứng của robot phục vụ được thiết kế theo mô hình điều khiển phân tầng, tích hợp các thành phần cơ khí, cảm biến, vi xử lý và mạch công suất:

Thiết bị / Linh kiện Chức năng kỹ thuật Thông số kỹ thuật chính
Raspberry Pi 4 Model B (4GB) Máy tính nhúng trung tâm, chạy ROS Master, xử lý SLAM, Navigation, giao diện người dùng và giọng nói CPU Broadcom BCM2711 Quad-core Cortex-A72 1.5GHz, 4GB LPDDR4 RAM, Wi-Fi 2.4/5.0 GHz, Bluetooth 5.0
Arduino Mega 2560 Vi điều khiển cấp thấp, thu thập tín hiệu encoder 4 bánh, tính toán thuật toán PID và phát xung PWM điều khiển động cơ Vi điều khiển ATmega2560, tần số 16 MHz, 54 chân I/O số, 16 chân ngõ vào tương tự, kết nối máy chủ qua Rosserial/UART
Cảm biến LiDAR Slamtec Mapper M1M1 Quét đo khoảng cách laser 2D, lập bản đồ và phát hiện chướng ngại vật Tần số quét 10Hz, tầm đo bán kính 20m, góc quét $360^\circ$, giao tiếp cổng Ethernet/UART
4 Động cơ DC Servo JGB37-520 Cơ cấu chấp hành truyền động cho 4 bánh xe Điện áp định mức 12VDC, có tích hợp hộp giảm tốc và Encoder quang học hai pha A-B
4 Mạch công suất BTS7960 Mạch điều khiển cầu H điều chỉnh chiều quay và tốc độ động cơ DC Dòng tải tối đa 43A, hỗ trợ điều chế độ rộng xung PWM lên đến 25kHz, tích hợp bảo vệ quá nhiệt/quá dòng
4 Bánh xe Mecanum 96mm Cơ cấu di chuyển đa hướng cho robot Đường kính 96mm, tải trọng phân bổ 15kg/bánh, góc con lăn phụ $45^\circ$
Màn hình Raspberry 7 inch Hiển thị giao diện người dùng cảm ứng đặt trên đầu thân robot Kích thước 7 inch, độ phân giải 1024x600 pixels, chuẩn giao tiếp HDMI/USB Touch
Micro không dây K35 & Loa Mini A1 Thu âm lệnh điều khiển giọng nói và phát âm thanh thông báo Kết nối không dây tần số 2.4GHz (Micro) và kết nối không dây Bluetooth (Loa)
Pin LiPo Tattu Khối nguồn cấp năng lượng cho toàn bộ hệ thống Điện áp định mức 11.1V - 12.6V, dung lượng 4500mAh - 5200mAh, dòng xả cao

Kiến trúc phần mềm và giao tiếp hệ thống

Hệ thống phần mềm được tổ chức thành các tầng chức năng độc lập trên hệ điều hành Ubuntu 20.04 LTS chạy ROS 1 (Noetic):

  • Tầng giao tiếp nhúng (Rosserial): Giao tiếp giữa Raspberry Pi và Arduino Mega thông qua giao thức rosserial_python với tốc độ Baudrate 115200 bps qua cổng USB/UART. Arduino đăng ký nhận chủ đề /cmd_vel từ ROS để tính toán vận tốc bánh xe, đồng thời xuất bản dữ liệu phản hồi vận tốc lên chủ đề /wheel_feedback.
  • Tầng định vị và điều hướng (Move Base Stack): Node move_base tiếp nhận bản đồ tĩnh từ Node map_server, dữ liệu quét từ LiDAR qua SDK Slamware, kết hợp dữ liệu odometry để điều hướng. Tiến trình waypoint_server quản lý danh sách các tọa độ điểm cần đến trong nhà hàng (tọa độ các bàn và vị trí bếp).
  • Tầng nhận diện giọng nói: Node ndgn_node xử lý tín hiệu micro, dịch lệnh giọng nói (ví dụ: "đi tới bàn 1", "về nhà bếp") thành chuỗi điều khiển xuất bản vào topic /ndgn_topic để kích hoạt nhiệm vụ di chuyển tương ứng.
  • Tầng giao diện người dùng (GUI): Xây dựng bằng ngôn ngữ Python kết hợp thư viện PyQt5/Qt Designer. Giao diện khách hàng cho phép thực hiện chu trình: Màn hình chờ $\rightarrow$ Chọn số bàn $\rightarrow$ Nhập thông tin khách $\rightarrow$ Chọn món trên thực đơn $\rightarrow$ Xác nhận gửi dữ liệu về cơ sở dữ liệu MySQL. Giao diện quản lý của nhân viên hiển thị danh sách đơn đặt món, trạng thái thực hiện và điều khiển robot điều hướng thủ công/tự động đến bàn chỉ định.

Nội dung chính theo từng chương

Chương 1: Tổng quan

Chương 1 trình bày bối cảnh nghiên cứu, tính cấp thiết của việc áp dụng robot phục vụ trong ngành nhà hàng nhằm giảm chi phí lao động và hạn chế lây lan dịch bệnh. Tác giả khảo sát thực trạng công nghệ robot phục vụ trên thế giới (hãng Keenon, Reeman) và tại Việt Nam (các dòng robot BellaBot nhập khẩu tại Haidilao, Hải Phòng Xưa). Từ đó, xác định mục tiêu đề tài, giới hạn phạm vi nghiên cứu thực nghiệm trên mô hình robot tự hành bốn bánh Mecanum có kích thước dự kiến 400x300x870 mm, tải trọng tổng thể 10-12 kg, tập trung vào giải pháp tích hợp phần cứng và lập trình tự hành thay vì tối ưu hóa lý thuyết cơ học kết cấu sâu.

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

Chương này thiết lập nền tảng lý thuyết cho toàn bộ đề tài:

  • Trình bày nguyên lý chuyển động đa hướng và dẫn xuất chi tiết phương trình động học thuận/nghịch của hệ bốn bánh Mecanum góc lệch $45^\circ$.
  • Giới thiệu kiến trúc hệ điều hành ROS (Node, Topic, Service, Action, ROS Master) và các chuẩn truyền thông mạng (XML-RPC, TCPROS, UDPROS, Rosserial).
  • Trình bày công nghệ định vị và xây dựng bản đồ SLAM 2D (thuật toán Gmapping), cấu trúc bản đồ chi phí 2D đa lớp (Costmap) và nguyên lý hoạt động của cảm biến quang học LiDAR (APD, PMT).
  • Phân tích cơ chế hoạt động của 2D Navigation Stack, thuật toán tìm đường Dijkstra (Global Planner), thuật toán cửa sổ động DWA (Local Planner) và giải thuật điều khiển động cơ PID.
  • Nêu nguyên lý nhận diện giọng nói bằng thư viện Python SpeechRecognition, cơ chế chuyển văn bản thành âm thanh gTTS, và cấu trúc cơ sở dữ liệu quan hệ MySQL.

Chương 3: Thiết kế và thi công hệ thống

Nội dung chương tập trung vào quá trình hiện thực hóa mô hình phần cứng:

  • Xây dựng sơ đồ khối tổng quát và sơ đồ nối dây chi tiết giữa Raspberry Pi 4, vi điều khiển Arduino Mega 2560, bốn mạch cầu H BTS7960, bốn động cơ DC Servo JGB37-520 kèm Encoder, cảm biến LiDAR Slamtec Mapper M1M1, màn hình cảm ứng 7 inch, micro thu âm K35 và nguồn pin LiPo Tattu.
  • Trình bày bảng tính chọn và thông số kỹ thuật chi tiết của từng thiết bị.
  • Thiết kế mô hình 3D tổng thể trên SolidWorks bao gồm: kết cấu khung nhôm chịu lực, các tầng khay chứa thức ăn, nẹp thân xe, nắp che hộp đựng bo mạch Raspberry Pi và đế gắn cảm biến LiDAR.
  • Hoàn thiện thi công cơ khí thực tế, gia công cắt mica ốp thân xe, cố định dây nối và hoàn thiện lắp ráp hệ thống robot hoàn chỉnh.

Chương 4: Thiết kế chương trình

Chương 4 trình bày chi tiết giải thuật và lập trình điều khiển hệ thống:

  • Xây dựng lưu đồ giải thuật cho hệ thống điều hướng (Navigation), giải thuật điều khiển đa điểm (Waypoint) và giải thuật liên kết tín hiệu nhận dạng giọng nói với chuyển động robot.
  • Lập trình nhúng trên Arduino: Đọc xung kênh A/B của Encoder, thực thi vòng lặp ngắt Timer để tính toán vận tốc thực và chạy thuật toán PID số, giao tiếp Rosserial qua cổng nối tiếp.
  • Cấu hình hệ thống ROS trên Raspberry Pi: Khởi tạo ROS Master, lập bản đồ môi trường thực tế bằng Gmapping, lưu file bản đồ định dạng .pgm và .yaml, chỉnh sửa map bằng GIMP; cấu hình các tham số cho bộ điều khiển di chuyển move_base, thiết lập kích thước vùng an toàn trong Costmap.
  • Xây dựng Node ndgn_node xử lý nhận diện giọng nói và truyền nhận dữ liệu qua topic /ndgn_topic.
  • Thiết kế giao diện đồ họa người dùng bằng Qt Designer gồm: Giao diện STAFF (vận hành, thiết lập Waypoint, theo dõi đơn hàng) và Giao diện CUSTOMER (chọn bàn, nhập dữ liệu khách hàng, duyệt thực đơn, đặt món).

Chương 5: Kết quả và thực nghiệm

Chương 5 công bố các kết quả đo đạc và kiểm thử từ mô phỏng đến hiện trường:

  • Mô phỏng Matlab: Kiểm chứng ngõ ra động học của robot với các điểm đặt tọa độ cụ thể: trục X đạt giá trị đặt 0.55m, trục Y đạt giá trị đặt 0.32m, góc quay hướng $\theta$ đạt $\pi/2$ rad; kiểm tra đáp ứng bám quỹ đạo chuyển động theo tín hiệu hình Sin trên trục X và Y.
  • Thực nghiệm hệ thống thực tế: Tiến hành quét bản đồ 2D không gian thử nghiệm thành công bằng LiDAR; kiểm tra sai số định vị di chuyển thực tế từ vị trí ban đầu đến Điểm 1 và Điểm 2 thông qua công cụ 2D Nav Goal và điều hướng tự động theo chuỗi Waypoint.
  • Kiểm tra chức năng điều khiển bằng lệnh giọng nói thông qua topic /ndgn_topic, vận hành thành công việc tiếp nhận đơn đặt hàng từ giao diện CUSTOMER, truyền dữ liệu đơn món vào MySQL, hiển thị lên giao diện STAFF, robot tự động di chuyển từ khu vực nhà bếp đến đúng bàn đặt món, né tránh vật cản trên hành lang và quay về trạm chờ sau khi khách hoàn tất lấy món.

Chương 6: Kết luận và hướng phát triển

Đánh giá toàn diện các mục tiêu đã hoàn thành của đề tài: Chế tạo thành công mô hình robot phục vụ đúng kích thước thiết kế, hoàn thiện hệ thống điều khiển ROS tích hợp SLAM, Navigation, nhận diện giọng nói và phần mềm gọi món. Đồng thời, tác giả chỉ ra các mặt hạn chế về tải trọng, dung lượng pin và đề xuất các hướng nâng cấp phần cứng/thuật toán trong tương lai.


Kết quả và đóng góp

Kết quả đo đạc và thực nghiệm

Các kết quả nghiên cứu và thông số thực nghiệm được nhóm tác giả ghi nhận cụ thể qua các bảng và đồ thị đo đạc trong đề tài:

Hạng mục kiểm thử Giá trị / Kết quả ghi nhận trong văn bản Đánh giá trạng thái
Kích thước & Khối lượng thực tế Kích thước mô hình: $400 \times 300 \times 870\text{ mm}$; Khối lượng tổng thể: $10 - 12\text{ kg}$ Đạt chỉ tiêu thiết kế ban đầu
Mô phỏng động học Matlab Ngõ ra trục X bám điểm đặt $0.55\text{ m}$; Ngõ ra trục Y bám điểm đặt $0.32\text{ m}$; Góc quay bám điểm đặt $\pi/2\text{ rad}$; Đáp ứng tốt tín hiệu quỹ đạo sóng Sin Sai số bám tiệm cận 0, đáp ứng ổn định
Lập bản đồ SLAM 2D Quét thành công biên dạng phòng thử nghiệm với LiDAR Slamtec M1M1 (bán kính quét 20m, góc quét $360^\circ$), xuất file bản đồ .pgm và .yaml Bản đồ rõ nét, tái hiện đúng tường và vật cản
Điều hướng đơn điểm & Đa điểm Điều hướng chính xác qua công cụ 2D Nav Goal và tiến trình Waypoint tự động qua Điểm 1 và Điểm 2 Robot bám sát quỹ đạo toàn cục, tự né vật cản tĩnh/động bằng thuật toán DWA
Nhận diện giọng nói & Giao diện Nhận diện câu lệnh tiếng Việt qua thư viện SpeechRecognition, điều khiển kích hoạt topic ndgn_topic; Đồng bộ đơn đặt món từ GUI lên MySQL Giao diện STAFF và CUSTOMER hoạt động ổn định, dữ liệu truyền nhận thời gian thực

Giải pháp kỹ thuật và đóng góp của đề tài

  • Tích hợp thành công chu trình phục vụ khép kín: Đề tài đã xây dựng một chu trình phục vụ tự động hóa hoàn chỉnh: Khách hàng thao tác chọn món trên giao diện cảm ứng tại bàn $\rightarrow$ Đơn hàng đồng bộ vào cơ sở dữ liệu MySQL $\rightarrow$ Nhân viên bếp nhận thông tin trên giao diện STAFF, xếp món lên khay $\rightarrow$ Robot tiếp nhận lệnh (qua giao diện hoặc giọng nói), tự lập kế hoạch đường đi đến đúng vị trí bàn $\rightarrow$ Khách nhận món, robot phát âm thanh chào và tự hành quay về trạm chờ.
  • Làm chủ thiết kế và tích hợp phần cứng - phần mềm: Tự chủ hoàn toàn khâu thiết kế cơ khí 3D trên SolidWorks, gia công khung nhôm và vỏ ốp, kết hợp điều khiển phân tầng giữa máy tính nhúng Raspberry Pi 4 (chạy ROS) và vi điều khiển Arduino Mega (xử lý thời gian thực cho 4 động cơ closed-loop PID).
  • Giải pháp chi phí thấp: Cung cấp một mô hình robot phục vụ tự hành có khả năng di chuyển đa hướng linh hoạt, đáp ứng các tính năng dẫn đường thông minh tương đương các dòng robot thương mại nhập ngoại nhưng với chi phí chế tạo tiết kiệm, phù hợp cho nghiên cứu và đào tạo ứng dụng.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế của đề tài

Theo đánh giá thực tế của nhóm tác giả trong báo cáo, đồ án vẫn còn một số điểm giới hạn:

  • Đề tài tập trung chủ yếu vào tính ứng dụng và tích hợp hệ thống, chưa đi sâu vào việc tối ưu hóa toán học phức tạp cho các thuật toán điều hướng hoặc tính toán cơ học chuyên sâu về độ bền mỏi, rung lắc cơ khí của kết cấu thân xe khi chịu tải nặng.
  • Hệ thống nhận diện giọng nói phụ thuộc vào việc kết nối Internet để gọi API Google Speech Recognition, do đó tốc độ xử lý bị ảnh hưởng bởi đường truyền mạng và dễ bị nhiễu trong môi trường nhà hàng có độ ồn cao.
  • Khả năng tránh vật cản dựa hoàn toàn vào cảm biến LiDAR quét 2D theo một mặt phẳng cắt ngang cố định, chưa phát hiện được các chướng ngại vật nằm ngoài mặt phẳng quét (như các vật cản quá thấp dưới sàn hoặc nhô ra từ trên cao).
  • Dung lượng pin LiPo và công suất động cơ giới hạn thời gian hoạt động liên tục và tốc độ di chuyển khi chở đầy tải thức ăn.

Hướng phát triển tiếp theo

  • Trang bị thêm cảm biến độ sâu 3D (như Intel RealSense Depth Camera) hoặc cảm biến siêu âm/chống rơi xung quanh thân xe để nhận diện vật cản đa tầng trong không gian 3 chiều.
  • Nghiên cứu và tích hợp mô-đun nhận diện giọng nói tiếng Việt chuyên dụng hoạt động ngoại tuyến (Offline NLP) nhằm đảm bảo tốc độ phản hồi tức thời và giảm phụ thuộc vào mạng Internet.
  • Tối ưu hóa kết cấu cơ khí, nâng cấp vật liệu khung vỏ và sử dụng động cơ có công suất tải lớn hơn kèm hệ thống sạc tự động (Auto-docking station) khi robot sắp hết pin.
  • Mở rộng thuật toán quản lý đội xe (Fleet Management) để điều phối nhiều robot cùng vận hành đồng thời trong một không gian nhà hàng mà không gây xung đột giao thông.

Giá trị tham khảo

Tài liệu đồ án tốt nghiệp này mang lại giá trị tham khảo thiết thực cho các đối tượng và nội dung học thuật sau:

  • Sinh viên và học viên chuyên ngành: Là tài liệu tham khảo cho sinh viên các ngành Công nghệ Kỹ thuật Điều khiển và Tự động hóa, Kỹ thuật Cơ điện tử, Robot và Trí tuệ nhân tạo, Kỹ thuật Máy tính khi thực hiện đồ án chuyên ngành hoặc khóa luận tốt nghiệp về robot di động tự hành (AMR).
  • Kỹ sư phát triển hệ thống nhúng và ROS: Cung cấp tài liệu hướng dẫn từng bước từ việc cài đặt môi trường ROS Noetic trên Ubuntu, kết nối giao tiếp Rosserial giữa vi điều khiển Arduino và Raspberry Pi, đến cách cấu hình chi tiết các tệp tham số (costmap_common_params.yaml, base_local_planner_params.yaml, dwa_local_planner_params.yaml) trong gói move_base.
  • Nghiên cứu mô hình toán học động học Mecanum: Cung cấp dẫn xuất toán học chi tiết về ma trận Jacobian, phương trình động học thuận/nghịch cho hệ xe 4 bánh Mecanum và phương pháp mô phỏng kiểm chứng chuyển động trên Matlab/Simulink.
  • Thiết kế phần mềm ứng dụng tương tác: Cung cấp giải pháp kết nối phần mềm giao diện PyQt5 với cơ sở dữ liệu MySQL và hệ thống chủ đề (topic/service) trong ROS.

Câu hỏi thường gặp

1. Robot sử dụng cơ cấu di chuyển loại nào và cơ cấu này mang lại ưu điểm gì trong không gian nhà hàng?
Robot sử dụng hệ thống chuyển động gồm 4 bánh xe Mecanum đường kính 96mm với các con lăn phụ đặt nghiêng góc $45^\circ$. Thiết kế này cho phép robot di chuyển đa hướng (tiến, lùi, tịnh tiến ngang, di chuyển chéo và xoay tròn tại chỗ) mà không cần đổi hướng thân xe, giúp robot vận hành linh hoạt trong không gian chật hẹp giữa các dãy bàn ăn của nhà hàng.

2. Kiến trúc điều khiển phân tầng giữa Raspberry Pi 4 và Arduino Mega 2560 được phân chia nhiệm vụ như thế nào?
Raspberry Pi 4 (4GB RAM) đóng vai trò máy tính nhúng cấp cao, chịu trách nhiệm chạy ROS Master, xử lý thuật toán SLAM (Gmapping), quy hoạch đường đi (Move Base), nhận diện giọng nói và hiển thị giao diện người dùng. Arduino Mega 2560 đóng vai trò vi điều khiển cấp thấp, thu thập tín hiệu xung từ 4 encoder của động cơ, thực thi giải thuật điều khiển kín PID và xuất xung PWM điều khiển mạch công suất BTS7960. Hai thiết bị giao tiếp với nhau qua gói phần mềm rosserial_python với tốc độ 115200 bps.

3. Hệ thống sử dụng những thuật toán nào để lập bản đồ và dẫn đường tự hành?
Hệ thống sử dụng cảm biến LiDAR Slamtec Mapper M1M1 kết hợp thuật toán Gmapping để xây dựng bản đồ lưới chiếm dụng 2D (Occupancy Grid Map). Trong quá trình tự hành, 2D Navigation Stack sử dụng thuật toán Dijkstra cho bộ lập kế hoạch toàn cục (Global Planner) để tính toán đường đi ngắn nhất trên bản đồ, và thuật toán Dynamic Window Approach - DWA cho bộ lập kế hoạch cục bộ (Local Planner) để tính toán vector vận tốc tức thời giúp robot bám quỹ đạo và né tránh chướng ngại vật động.

4. Khách hàng và nhân viên nhà hàng tương tác với robot thông qua các giao diện nào?
Hệ thống được trang bị hai giao diện đồ họa chính thiết kế bằng Qt Designer:

  • Giao diện CUSTOMER (khách hàng): Hiển thị trên màn hình cảm ứng 7 inch đặt trên đầu robot, cho phép khách chọn bàn, nhập thông tin, xem thực đơn và đặt món ăn.
  • Giao diện STAFF (nhân viên/quản lý): Cho phép nhân viên theo dõi danh sách món ăn được đặt từ cơ sở dữ liệu MySQL, cập nhật trạng thái đơn hàng, chọn bàn để điều động robot giao món hoặc điều khiển robot di chuyển thủ công/theo điểm Waypoint.

5. Kích thước và thông số kỹ thuật ban đầu của mô hình robot được thiết kế ra sao?
Mô hình robot được thiết kế trên SolidWorks và chế tạo thực tế với kích thước thân xe là 400 x 300 x 870 mm (Dài x Rộng x Cao), khối lượng tổng thể đạt từ 10 đến 12 kg, sử dụng nguồn pin LiPo Tattu (11.1V - 12.6V) và trang bị cảm biến LiDAR Slamtec M1M1 có tầm quét đo đạc bán kính 20m với góc quét $360^\circ$.


Kết luận

Đồ án tốt nghiệp "Thiết kế và điều khiển mô hình robot phục vụ trong nhà hàng" của nhóm sinh viên Nguyễn Thành Nam và Đặng Nguyễn Quang Đông (Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh) đã thực hiện thành công việc thiết kế, chế tạo và tích hợp một hệ thống robot di động tự hành đa hướng ứng dụng công nghệ ROS và cảm biến LiDAR. Nghiên cứu đã kiểm chứng chính xác mô hình toán học động học 4 bánh Mecanum trên Matlab, triển khai hiệu quả các thuật toán định vị SLAM, quy hoạch đường đi Dijkstra/DWA, điều khiển PID động cơ và xây dựng hoàn chỉnh giao diện đặt món liên kết cơ sở dữ liệu MySQL cùng khả năng nhận diện giọng nói. Đây là công trình kỹ thuật có tính ứng dụng thực tiễn cao, đóng góp một mô hình mẫu hoàn chỉnh về phần cứng lẫn phần mềm cho các nghiên cứu và ứng dụng robot phục vụ tự hành trong ngành dịch vụ ẩm thực tại Việt Nam.