Giới thiệu dự án
Trong kỷ nguyên Công nghiệp 4.0 và chuyển đổi số ngành dịch vụ ẩm thực (F&B), tự động hóa logistics nội bộ và phục vụ bàn đang trở thành xu thế tất yếu. Theo các báo cáo thị trường từ Statista và IFR (International Federation of Robotics), thị trường robot dịch vụ chuyên nghiệp đạt tốc độ tăng trưởng kép hàng năm (CAGR) trên 21.5%, trong đó phân khúc nhà hàng - khách sạn chiếm tỷ trọng gia tăng đột biến nhằm giải quyết bài toán thiếu hụt nhân sự và tối ưu hóa chi phí vận hành.
Đồ án tốt nghiệp ngành Công nghệ Kỹ thuật Cơ điện tử tại Trường Đại học Sư phạm Kỹ thuật TP.HCM với đề tài "Nghiên cứu, thiết kế và chế tạo robot phục vụ món ăn và tương tác với khách hàng trong nhà hàng" (Mã đề tài: CDT-05; Thực hiện bởi sinh viên Phạm Trung Đông, Huỳnh Thanh Sơn, Nguyễn Thái Chánh dưới sự hướng dẫn của TS. Huỳnh Quang Duy) tập trung phát triển một hệ thống Service Robot tự hành hoàn chỉnh, tích hợp công nghệ điều khiển phân tán và giao tiếp IoT không dây.
KIẾN TRÚC TỔNG THỂ HỆ THỐNG ROBOT
[ Web Client / Smartphone ]
│ (WiFi 802.11 b/g/n / HTTP RESTful)
▼
┌────────────────────────────────────────┐
│ ESP32 MCU (Master Controller) │
│ - Asynchronous Web Server Engine │
│ - Quản lý trạng thái bàn & UI │
│ - Giám sát ngoại vi (LCD, Ultrasonic) │
└───────────────────┬────────────────────┘
│ (UART Full-Duplex @ 115200 bps)
▼
┌────────────────────────────────────────┐
│ Arduino UNO R3 (Slave Controller) │
│ - Line-Tracking Loop (5x TCRT5000) │
│ - PID Closed-Loop Velocity Controller │
│ - Đọc Encoder động cơ Planetary DC │
└───────────────────┬────────────────────┘
│ (PWM Duty Cycle / Direction Signals)
▼
┌────────────────────────────────────────┐
│ Hệ thống Chấp hành & Cơ khí │
│ - Driver XY-160D (Dual H-Bridge) │
│ - Động cơ DC Planet + Bánh D=100mm │
│ - Khung thân 3 trục chịu tải 25-30kg │
└────────────────────────────────────────┘
Vấn đề thực tiễn và bài toán kỹ thuật
Mô hình phục vụ truyền thống tại các nhà hàng đối mặt với các nút thắt lớn:
- Áp lực tải trọng và công thái học: Nhân viên bưng bê liên tục khay thức ăn nặng 3–5 kg trong ca làm việc 8–10 tiếng dẫn đến mệt mỏi, rơi vỡ món ăn và giảm hiệu suất phục vụ trong giờ cao điểm.
- Chi phí nhân sự leo thang: Chi phí vận hành đội ngũ bồi bàn chiếm từ 25% đến 35% tổng doanh thu của nhà hàng.
- Nguy cơ lây nhiễm chéo: Nhu cầu phục vụ không tiếp xúc (contactless service) tại các môi trường nhạy cảm như khu cách ly y tế hoặc chuỗi nhà hàng cao cấp đòi hỏi giải pháp tự động hóa triệt để.
Mục tiêu kỹ thuật cụ thể
- Thiết kế cơ khí chính xác: Kết cấu khung thân 3 trục vững chắc, kích thước tổng thể $430 \times 400 \times 1050\text{ mm}$, tải trọng vận hành định mức $25\text{ kg}$ (tối đa $30\text{ kg}$ bao gồm tự trọng robot).
- Hệ thống dẫn động tối ưu: Sử dụng cấu hình dẫn động cầu trước (Front-Wheel Drive) kết hợp bánh tự lựa (Caster PU), đạt vận tốc hành trình ổn định $v = 0.4\text{ m/s}$ (tối đa $0.6\text{ m/s}$ hay $36\text{ m/phút}$) với gia tốc $a = 0.2\text{ m/s}^2$.
- Kiến trúc điều khiển Master-Slave: Phân tách tầng xử lý mạng/giao diện người dùng trên vi điều khiển ESP32 và tầng điều khiển chuyển động thời gian thực (Real-time Motion Control) trên vi điều khiển Arduino UNO R3.
- Thuật toán bám quỹ đạo: Điều khiển bám line quang học chính xác cao sử dụng thuật toán PID vòng kín phản hồi từ cụm 5 cảm biến hồng ngoại TCRT5000 và Encoder trục động cơ.
- Giao diện Web Server IoT: Cho phép nhân viên bếp hoặc quản lý điều phối bàn trực tiếp qua mạng không dây nội bộ mà không cần cài đặt phần mềm chuyên biệt.
Phạm vi và giới hạn nghiên cứu
- Robot hoạt động trong môi trường trong nhà (indoor) với sàn phẳng (độ nghiêng mặt sàn $< 2^\circ$).
- Quỹ đạo di chuyển được định tuyến trước thông qua vạch kẻ sàn độ tương phản cao (optical line tracking).
- Hệ thống xử lý danh sách bàn tuần tự theo mã bàn định sẵn trên tuyến hành trình.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng công nghệ dẫn đường AGV/AMR
Trong ngành robot di động, các phương pháp điều hướng được lựa chọn dựa trên sự cân bằng giữa độ chính xác, chi phí triển khai và độ ổn định:
| Phương pháp điều hướng |
Ưu điểm |
Nhược điểm |
Chi phí phần cứng |
Độ phức tạp thuật toán |
| Dò vạch quang học (Optical Line) |
Chi phí thấp, độ tin cậy cao, dễ bảo trì, phản hồi thời gian thực tức thì |
Đường line có thể mòn theo thời gian |
Rất thấp ($< 50\text{ USD}$) |
Trung bình (PID Control) |
| Băng từ / Điểm từ (Magnetic) |
Không ảnh hưởng bởi ánh sáng, độ chính xác định vị $\pm 2\text{ mm}$ |
Thi công phức tạp, khó mở rộng layout |
Trung bình ($150 - 300\text{ USD}$) |
Trung bình |
| LiDAR SLAM (2D/3D) |
Di chuyển tự do, không can thiệp sàn, linh hoạt tái lập bản đồ |
Chi phí phần cứng cao, dễ trôi vị trí (drift) trong môi trường đối xứng |
Cao ($500 - 2000\text{ USD}$) |
Rất cao (ROS, Cartographer, AMCL) |
| Thị giác máy tính (Visual SLAM) |
Thu thập dữ liệu môi trường phong phú, nhận diện vật thể thông minh |
Phụ thuộc cường độ chiếu sáng, đòi hỏi năng lực tính toán GPU lớn |
Rất cao ($800 - 3000\text{ USD}$) |
Cực cao (Deep Learning, ORB-SLAM3) |
Đánh giá lựa chọn: Phương pháp dò vạch quang học kết hợp thuật toán PID tốc độ là giải pháp tối ưu nhất cho đồ án, đảm bảo tính khả thi về kinh tế, độ bền công nghiệp và thời gian đáp ứng thời gian thực với kinh phí nghiên cứu cấp đại học.
Ma trận phân loại yêu cầu hệ thống (MoSCoW)
- Must-have (Bắt buộc): Chở tải trọng $\ge 25\text{ kg}$; tự động bám line với sai lệch quỹ đạo $< \pm 5\text{ mm}$; dừng an toàn khi gặp vật cản cách $20 - 30\text{ cm}$; giao diện điều khiển gọi bàn qua Web Server.
- Should-have (Nên có): Màn hình LCD 1602 hiển thị trạng thái động; còi báo hiệu và đèn tín hiệu chuyển hướng; tự động bù tốc độ động cơ khi vào cua.
- Could-have (Có thể mở rộng): Tự động tối ưu hóa lộ trình đa điểm; cảm biến phát hiện lấy khay thức ăn (khay rỗng).
- Won't-have (Chưa thực hiện trong pha này): Cánh tay robot gắp dĩa món ăn tự động; điều hướng SLAM không vạch dẫn.
Thiết kế kiến trúc phần cứng và công nghệ
1. Technology Stack & Thông số kỹ thuật
- Vi điều khiển chính (Master): NodeMCU ESP32-WROOM-32 (Dual-Core Tensilica LX6 @ 240MHz, 520KB SRAM, tích hợp Wi-Fi 802.11 b/g/n & BLE 4.2).
- Vi điều khiển chấp hành (Slave): Arduino UNO R3 (ATmega328P @ 16MHz, 2KB SRAM, 32KB Flash).
- Bộ điều khiển công suất (Motor Driver): Mạch cầu H kép XY-160D (Điện áp hoạt động 6.5V - 36V, dòng liên tục 7A mỗi kênh, dòng đỉnh 50A, công suất cực đại 160W).
- Động cơ chấp hành: 02 Động cơ DC Planet giảm tốc bánh răng hành tinh (Điện áp danh định 12V/24V, mô-men xoắn định mức $3.5\text{ Nm}$, tích hợp Optical Hall Encoder 2 kênh A-B phân giải 11 xung/vòng trước hộp số).
- Cảm biến và ngoại vi:
- Cụm cảm biến dò line: 05 module quang hồng ngoại TCRT5000 phản xạ.
- Cảm biến khoảng cách an toàn: 01 Cảm biến siêu âm HC-SR04 (tầm quét 2cm - 400cm, góc quét $15^\circ$).
- Cảm biến tiệm cận chống va chạm: 02 Cảm biến hồng ngoại IR Obstacle E18-D80NK.
- Giao diện hiển thị tại chỗ: LCD 1602 giao tiếp I2C qua chip chuyển đổi PCF8574T.
- Hệ thống cấp nguồn: Bộ Pack Pin Lithium-ion 5S (18.5V danh định, 21V sạc đầy, dung lượng 5200mAh) kết hợp Mạch hạ áp Buck DC-DC WH-468 (Hiệu suất 94%, ngõ ra ổn áp 5V - 5A cho mạch logic và cảm biến).
2. Tính toán động lực học và độ bền cơ khí (FEA Simulation)
Khung thân robot được thiết kế theo cấu trúc 3 trục thẳng đứng liên kết các tầng khay bằng nhôm tấm định hình và thép hộp mạ kẽm. Cơ cấu 3 trục mang lại khả năng phân bố mô-men uốn đều lên các gối đỡ và loại bỏ hiện tượng cộng hưởng rung lắc khi di chuyển có tải.
Các thông số động lực học tính toán cho cơ cấu:
- Lực cản lăn: $F_{rr} = \mu \cdot m \cdot g = 0.025 \cdot 25\text{ kg} \cdot 9.81\text{ m/s}^2 = 6.13\text{ N}$
- Lực quán tính khi tăng tốc: $F_{in} = m \cdot a = 25\text{ kg} \cdot 0.2\text{ m/s}^2 = 5.0\text{ N}$
- Tổng lực kéo tiếp tuyến tại bánh xe chủ động: $F_k = F_{rr} + F_{in} = 11.13\text{ N}$
- Mô-men xoắn yêu cầu trên mỗi trục động cơ (bán kính bánh xe $R_b = 0.05\text{ m}$, hiệu suất truyền động $\eta = 0.8$):
$$T_{motor} = \frac{F_k \cdot R_b}{2 \cdot \eta} = \frac{11.13 \cdot 0.05}{2 \cdot 0.8} \approx 0.348\text{ Nm}$$
Mô-men xoắn đỉnh yêu cầu được tính toán hệ số an toàn $S = 2.5$, cho kết quả lựa chọn động cơ DC Planet có mô-men giữ danh định $\ge 1.0\text{ Nm}$, hoàn toàn đáp ứng vận hành ổn định liên tục.
Mô phỏng phần tử hữu hạn (FEA) trên phần mềm SolidWorks Simulation áp dụng tải trọng tĩnh $300\text{ N}$ phân bố đều trên 3 tầng khay:
- Ứng suất Von-Mises cực đại ghi nhận tại ngàm trục liên kết động cơ: $\sigma_{max} = 42.6\text{ MPa}$, thấp hơn nhiều so với giới hạn chảy của vật liệu nhôm 6061-T6 ($\sigma_y = 276\text{ MPa}$), đạt hệ số an toàn $n = 6.47$.
- Độ chuyển vị uốn tối đa tại đầu mút khay thức ăn: $\delta_{max} = 0.42\text{ mm}$, đảm bảo chống sánh đổ các loại thức uống và súp lỏng.
SƠ ĐỒ PHÂN BỐ LỰC VÀ TẢI TRỌNG
[Màn hình LCD / Giá đỡ Tablet] (Độ cao h = 1100 mm)
│
┌────────────────┴────────────────┐
│ Khay 3: Tải trọng 5 kg │ (Độ cao h = 850 mm)
└────────────────┬────────────────┘
┌────────────────┴────────────────┐
│ Khay 2: Tải trọng 5 kg │ (Độ cao h = 600 mm)
└────────────────┬────────────────┘
┌────────────────┴────────────────┐
│ Khay 1: Tải trọng 5 kg │ (Độ cao h = 350 mm)
└────────────────┬────────────────┘
│ [Khung thân chịu lực 3 trục]
┌────────────────┴────────────────┐
│ Đế Robot & Cụm Nguồn/Driver │ (Kích thước 430 x 400 mm)
└────────┬───────────────┬────────┘
▼ ▼
[Bánh chủ động] [Bánh tự lựa Caster]
(D=100mm, cao su) (Chịu tải xoay 360°)
Implementation và kết quả
Kiến trúc điều khiển và thuật toán thời gian thực
Hệ thống nhúng được phân tầng chức năng rõ ràng:
- ESP32 (Tầng Quản lý & Mạng): Khởi tạo Web Server bất đồng bộ, tiếp nhận lệnh chọn bàn ăn từ giao diện HTML/CSS/JavaScript lưu trữ trong SPIFFS/PROGMEM. Mã hóa gói tin dữ liệu và truyền sang Arduino qua giao thức nối tiếp UART.
- Arduino UNO (Tầng Chấp hành): Thực thi vòng lặp tuần hoàn quét mảng cảm biến TCRT5000, tính toán sai lệch góc $\Delta e$, điều biến độ rộng xung PWM thông qua thuật toán PID rời rạc, đồng thời đọc xung phản hồi từ Encoder để bù sai số vận tốc giữa 2 bánh dẫn hướng.
// ============================================================================
// ĐOẠN MÃ ĐIỀU KHIỂN DÒ LINE BẰNG THUẬT TOÁN PID TRÊN ARDUINO UNO R3
// ============================================================================
#include <Arduino.h>
// Định nghĩa trọng số cảm biến 5 kênh: [S1, S2, S3, S4, S5]
// Trọng số: -2, -1, 0, 1, 2
const int SENSOR_PINS[5] = {A0, A1, A2, A3, A4};
const float WEIGHTS[5] = {-2.0, -1.0, 0.0, 1.0, 2.0};
// Hệ số điều khiển PID thực nghiệm
const float Kp = 28.5;
const float Ki = 0.05;
const float Kd = 14.2;
float error = 0;
float previous_error = 0;
float integral = 0;
float derivative = 0;
const int BASE_SPEED = 140; // Tốc độ cơ sở (PWM 0-255)
const int MAX_SPEED = 220;
const int MIN_SPEED = 0;
// Khai báo chân điều khiển Driver XY-160D
const int IN1_L = 5, IN2_L = 6; // PWM Motor Trái
const int IN1_R = 9, IN2_R = 10; // PWM Motor Phải
void calculate_line_error() {
float weighted_sum = 0;
int active_sensors = 0;
for (int i = 0; i < 5; i++) {
int val = digitalRead(SENSOR_PINS[i]);
if (val == LOW) { // LOW: Phát hiện vạch đen (active)
weighted_sum += WEIGHTS[i];
active_sensors++;
}
}
if (active_sensors > 0) {
error = weighted_sum / active_sensors;
} else {
// Mất line: Giữ nguyên hướng sai lệch trước đó để tự tìm lại line
if (previous_error > 0) error = 2.5;
else error = -2.5;
}
}
void compute_pid_and_drive() {
calculate_line_error();
integral += error;
integral = constrain(integral, -50.0, 50.0); // Anti-windup
derivative = error - previous_error;
float control_signal = (Kp * error) + (Ki * integral) + (Kd * derivative);
previous_error = error;
int speed_left = BASE_SPEED - (int)control_signal;
int speed_right = BASE_SPEED + (int)control_signal;
speed_left = constrain(speed_left, MIN_SPEED, MAX_SPEED);
speed_right = constrain(speed_right, MIN_SPEED, MAX_SPEED);
// Điều khiển xuất xung PWM ra mạch cầu H XY-160D
analogWrite(IN1_L, speed_left);
digitalWrite(IN2_L, LOW);
analogWrite(IN1_R, speed_right);
digitalWrite(IN2_R, LOW);
}
// ============================================================================
// GIAO TIẾP VÀ TRUYỀN DỮ LIỆU ĐA VI ĐIỀU KHIỂN QUA UART (ESP32 -> ARDUINO)
// ============================================================================
// Giao thức gói tin: [Header: 0xAA] [Target_Table: 1 Byte] [Command: 1 Byte] [Checksum: 1 Byte]
void send_table_command(uint8_t target_table, uint8_t command_code) {
uint8_t header = 0xAA;
uint8_t checksum = header ^ target_table ^ command_code;
Serial2.write(header);
Serial2.write(target_table);
Serial2.write(command_code);
Serial2.write(checksum);
}
Thử nghiệm và đánh giá thực nghiệm
Quá trình kiểm thử thực tế được tiến hành trên sa bàn mô phỏng layout nhà hàng có diện tích $60\text{ m}^2$ với 8 bàn ăn:
SƠ ĐỒ BỐ TRÍ SA BÀN THỬ NGHIỆM
┌──────────────┐ [BÀN 1] [BÀN 2]
│ KHU VỰC BẾP │ │ │
│ (Trạm xuất phát) │ │
└───────┬──────┘ │ │
│═══════════════════╪════════════════════════╪════════════
│ (Vạch line chính) │ │
│ │ │
▼ ▼ ▼
[NGÃ RẼ 1] [BÀN 3] [BÀN 4]
1. Khảo sát gia tốc và hành trình
- Thời gian tăng tốc: Đạt vận tốc ổn định $0.4\text{ m/s}$ trong $2.05\text{ giây}$ (quãng đường tăng tốc $0.41\text{ m}$).
- Thời gian giảm tốc và dừng: Dừng hoàn toàn từ vận tốc định mức trong $1.2\text{ giây}$ (quãng đường hãm $0.24\text{ m}$), không gây hiện tượng đổ ngã cốc nước đầy đặt trên khay.
- Độ chính xác dừng bàn: Sai lệch vị trí dừng tại tâm bàn đo được dao động trong khoảng $\pm 8\text{ mm}$, hoàn toàn nằm trong dung sai cho phép của dịch vụ phục vụ.
2. Kết quả đo lường thời gian phục vụ thực tế
| Bàn mục tiêu |
Khoảng cách từ Bếp ($m$) |
Thời gian lý thuyết ($s$) |
Thời gian thực tế ($s$) |
Độ lệch vận hành ($%$) |
Trạng thái phục vụ |
| Bàn 1 |
6.0 |
15.0 |
16.2 |
+8.0% |
Thành công |
| Bàn 2 |
10.5 |
26.25 |
28.1 |
+7.0% |
Thành công |
| Bàn 3 |
14.0 |
35.0 |
37.4 |
+6.8% |
Thành công |
| Bàn 4 |
18.5 |
46.25 |
49.3 |
+6.6% |
Thành công |
Đánh giá: Độ trễ thời gian $< 8%$ xuất phát từ giai đoạn giảm tốc khi vào cua bán kính cong $R = 0.5\text{ m}$ và thuật toán kiểm tra vật cản thời gian thực.
Đổi mới và đóng góp
- Tối ưu hóa kết cấu cơ khí 3 trục chống rung: Thay vì sử dụng thân 1 trục đơn (dễ biến dạng xoắn) hoặc thân 4 trục cồng kềnh (khó thao tác lấy món), giải pháp thân 3 trục giúp tăng độ cứng vững xoắn thêm 38%, giảm trọng lượng khung 22% và mở rộng góc tiếp cận khay thức ăn lên đến $270^\circ$.
- Kiến trúc tính toán phân tán Master-Slave chi phí thấp: Phân tách mạch điều khiển không đồng bộ (ESP32 Web Server) và mạch chấp hành cứng vòng kín (Arduino PID Loop). Cấu trúc này giải quyết triệt để hiện tượng giật cục (jitter) trong xung PWM điều khiển động cơ khi vi điều khiển phải đồng thời xử lý các ngắt mạng Wi-Fi.
- Hiệu quả kinh tế vượt trội so với các sản phẩm thương mại:
| Tiêu chí so sánh |
Robot đề tài (HCMUTE) |
Pudu BellaBot / Keenon Peanut |
AGV Công nghiệp dẫn từ |
| Giá thành chế tạo |
$\approx 8.5\text{ triệu VNĐ}$ |
$180 - 250\text{ triệu VNĐ}$ |
$40 - 70\text{ triệu VNĐ}$ |
| Công nghệ dẫn đường |
Vạch quang học + PID Closed-Loop |
LiDAR SLAM + Visual SLAM |
Băng từ chìm / Nổi |
| Chi phí bảo trì |
Rất thấp (Linh kiện phổ thông) |
Cao (Phụ thuộc hãng sản xuất) |
Trung bình |
| Giao diện điều khiển |
Web App đa nền tảng không dây |
Màn hình cảm ứng tích hợp / Cloud |
PLC / Bảng điều khiển nút nhấn |
| Khả năng làm chủ công nghệ |
$100%$ Phần cứng & Mã nguồn |
Đóng mã nguồn ($0%$) |
Bán mở ($30%$) |
Ứng dụng thực tế và triển khai
Kịch bản vận hành nhà hàng thực tế
- Tiếp nhận lệnh tại bếp: Đầu bếp hoàn thiện món ăn, xếp đĩa vào các tầng khay 1, 2, 3 tương ứng với chiều cao tiện lợi.
- Điều phối không dây: Nhân viên sử dụng tablet hoặc smartphone truy cập địa chỉ IP Web Server của ESP32 (ví dụ:
http://192.168.4.1), nhấn chọn số "Bàn 3" và bấm "Start".
- Hành trình tự động: Robot tự khởi hành, bám theo vạch dẫn, tự động giảm tốc khi vào các góc cua.
- Phát hiện và cảnh báo vật cản: Nếu có thực khách băng qua đường di chuyển trong cự ly $< 30\text{ cm}$, cảm biến siêu âm kích hoạt ngắt an toàn, robot dừng lại, phát âm thanh cảnh báo lịch sự và tiếp tục hành trình khi lối đi thông thoáng.
- Trả món và quay về: Robot dừng chính xác tại Bàn 3, hiển thị thông báo trên màn hình LCD. Sau khi khách lấy thức ăn và nhấn nút xác nhận "Completed", robot tự động quay trở về trạm phục vụ tại bếp.
KỊCH BẢN VẬN HÀNH PHỤC VỤ BÀN ĂN
[BẾP: Xếp món lên khay]
│
▼
[Chọn bàn trên Web Server] ────► [ESP32 gửi lệnh qua UART]
│
▼
[Bàn giao thức ăn] ◄──── [Robot bám line PID đến vị trí bàn]
│ ▲
▼ │
[Khách nhấn hoàn tất] ──► [Robot tự quay về trạm chờ]
Phân tích tài chính và thời gian hoàn vốn (ROI)
- Chi phí đầu tư ban đầu: $\approx 8,500,000\text{ VNĐ}$ / Robot.
- Chi phí nhân sự truyền thống: 01 Nhân viên bưng bê part-time có mức lương trung bình $4,000,000\text{ VNĐ/tháng}$ ($48,000,000\text{ VNĐ/năm}$).
- Hiệu suất thay thế: 01 Robot đảm nhận khối lượng vận chuyển tương đương $60 - 70%$ công việc bưng bê của một nhân sự trong giờ cao điểm.
- Thời gian hoàn vốn (Payback Period):
$$\text{Thời gian hoàn vốn} = \frac{8,500,000\text{ VNĐ}}{4,000,000\text{ VNĐ/tháng} \times 0.65} \approx 3.26\text{ tháng}$$
Mức đầu tư mang lại tỷ suất sinh lời vượt trội, giúp các nhà hàng quy mô vừa và nhỏ tiếp cận công nghệ tự động hóa với rủi ro tài chính tối thiểu.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Phụ thuộc hạ tầng vạch dẫn: Cần dán vạch kẻ trên sàn nhà hàng, có thể ảnh hưởng đến tính thẩm mỹ của các không gian cao cấp.
- Xử lý hàng đợi đơn giản: Hệ thống phục vụ các bàn theo thứ tự tăng dần của mã vị trí, chưa tích hợp thuật toán tối ưu hóa tuyến đường động đa điểm (Travelling Salesperson Problem - TSP).
- Hiện tượng trượt bánh cơ học: Khi di chuyển trên bề mặt sàn gạch men có nước hoặc dầu mỡ, hệ số ma sát giảm gây sai số tích lũy cho bộ đếm Encoder.
Hướng nâng cấp và mở rộng nghiên cứu
- Nâng cấp công nghệ điều hướng sang LiDAR SLAM: Tích hợp cảm biến RPLiDAR A1/A2 kết hợp máy tính nhúng Raspberry Pi 4 chạy hệ điều hành ROS2 (Robot Operating System), cho phép xây dựng bản đồ 2D thời gian thực và tự động tìm đường tránh chướng ngại vật động.
- Tương tác giọng nói thông minh (AI Voice Assistant): Tích hợp module nhận dạng giọng nói offline hoặc kết nối API OpenAI/Google Speech để robot có thể chào hỏi, giới thiệu thực đơn và tương tác tự nhiên với thực khách.
- Hệ thống sạc tự động (Auto-docking Station): Thiết kế trạm sạc không dây sử dụng cuộn cảm ứng hoặc chân tiếp xúc cơ khí tự động khóa khi dung lượng pin giảm xuống dưới $15%$.
Đối tượng hưởng lợi
- Sinh viên & Học viên ngành Cơ điện tử / Tự động hóa: Là tài liệu tham khảo thực tế về quy trình thiết kế cơ cấu robot di động, tính toán động lực học, mô phỏng FEA và lập trình hệ thống nhúng Master-Slave.
- Kỹ sư R&D & Makers: Nắm bắt mô hình triển khai Web Server điều khiển IoT kết hợp tầng điều khiển PID thời gian thực với chi phí tối ưu.
- Chủ doanh nghiệp F&B & Quản lý nhà hàng: Sở hữu giải pháp tự động hóa chi phí thấp, rút ngắn thời gian phục vụ, giảm thiểu tỷ lệ rơi vỡ món ăn và gia tăng trải nghiệm khách hàng.
- Nhà nghiên cứu học thuật: Cung cấp cơ sở dữ liệu thực nghiệm về độ chính xác bám line, động học bánh dẫn động và tối ưu hóa năng lượng cho robot dịch vụ trong nhà.
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật hạ tầng để triển khai robot là gì?
Mặt sàn cần có độ dốc $< 2^\circ$, độ mấp mô $< 5\text{ mm}$, bề mặt khô ráo và được dán vạch dẫn hướng (băng dính đen/trắng độ rộng $2.5 - 3.0\text{ cm}$). Hệ thống yêu cầu phủ sóng Wi-Fi băng tần 2.4GHz tại khu vực vận hành để đảm bảo kết nối Web Server.
2. Dung lượng pin 5200mAh cho phép robot hoạt động liên tục trong bao lâu?
Ở chế độ tải định mức $15\text{ kg}$ thức ăn và di chuyển với vận tốc trung bình $0.4\text{ m/s}$, tổng dòng điện tiêu thụ trung bình của toàn hệ thống là khoảng $1.6 - 2.0\text{ A}$. Bộ pin Lithium 5S $5200\text{ mAh}$ cho phép robot hoạt động liên tục từ $2.5$ đến $3.2\text{ giờ}$ (tương đương phục vụ khoảng 60–80 lượt giao món).
3. Robot xử lý như thế nào khi phát hiện chướng ngại vật động (người đi bộ)?
Khi cảm biến siêu âm phát hiện vật cản trong cự ly $< 30\text{ cm}$, ngắt ngoài trên Arduino sẽ kích hoạt hãm động cơ về $0\text{ m/s}$ trong $1.2\text{ giây}$. Robot sẽ phát tín hiệu âm thanh cảnh báo và giữ trạng thái chờ; khi vật cản rời đi quá $35\text{ cm}$, robot tự động tăng tốc bám line tiếp tục nhiệm vụ mà không cần nhân viên can thiệp.
4. Chi phí bảo trì định kỳ của hệ thống gồm những hạng mục nào?
Chi phí bảo trì rất thấp, chủ yếu bao gồm: kiểm tra độ mòn lớp cao su bánh xe chủ động (chu kỳ 6 tháng), thay mới băng dán vạch sàn tại các khúc cua đông người qua lại (chu kỳ 3–6 tháng) và kiểm tra dung lượng cell pin Li-ion (chu kỳ 12 tháng).
5. Giao diện Web Server có cần kết nối Internet ra bên ngoài không?
Không. ESP32 có thể tự phát mạng Wi-Fi độc lập (chế độ Access Point - AP) hoặc kết nối vào mạng mạng nội bộ (Local LAN) của nhà hàng. Toàn bộ giao diện Web, mã điều khiển và tài nguyên đồ họa đều được lưu trữ trực tiếp trong bộ nhớ Flash của chip, đảm bảo hoạt động an toàn và bảo mật cao mà không phụ thuộc vào đường truyền Internet quốc tế.
Kết luận
Đồ án "Nghiên cứu, thiết kế và chế tạo robot phục vụ món ăn và tương tác với khách hàng trong nhà hàng" đã giải quyết trọn vẹn bài toán tích hợp liên ngành giữa Cơ khí chính xác, Điện tử công suất và Công nghệ thông tin nhúng. Sản phẩm thực nghiệm chứng minh tính ổn định cao về động học, khả năng chịu tải trọng danh định $25\text{ kg}$, tốc độ vận hành tối ưu $0.4\text{ m/s}$ và giao diện điều khiển Web Server trực quan, thân thiện. Với chi phí gia công chế tạo chỉ bằng một phần nhỏ so với các giải pháp thương mại nhập khẩu, mô hình mở ra tiềm năng thương mại hóa rộng mở cho các doanh nghiệp dịch vụ ăn uống trong nước, đóng góp thiết thực vào tiến trình tự động hóa ngành dịch vụ tại Việt Nam.