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

Trong bối cảnh khoa học kỹ thuật và trí tuệ nhân tạo phát triển mạnh mẽ, việc nghiên cứu chế tạo các hệ thống robot phục vụ đời sống đang trở thành xu hướng quan trọng nhằm nâng cao chất lượng dịch vụ và giải phóng sức lao động của con người. Tại môi trường thư viện truyền thống, các công tác quản lý mượn/trả sách, kiểm soát lượt sinh viên ra vào và hỗ trợ tra cứu tài liệu thường đòi hỏi nhân sự trực quầy liên tục và dễ gặp tình trạng quá tải trong các khung giờ cao điểm. Việc ứng dụng robot tự hành có khả năng di chuyển linh hoạt, tương tác giọng nói, nhận diện khuôn mặt và liên kết cơ sở dữ liệu sẽ giúp hiện đại hóa quy trình vận hành thư viện và tăng cường trải nghiệm tiện ích cho bạn đọc.

Đề tài "Thiết kế và điều khiển mô hình robot phục vụ thư viện" được thực hiện bởi nhóm sinh viên ngành Công nghệ Kỹ thuật Điều khiển và Tự động hóa thuộc Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh, dưới sự hướng dẫn của TS. Đặng Xuân Ba.

Mục tiêu và nhiệm vụ nghiên cứu

Đề tài xác định mục đích tổng quát là áp dụng kiến thức chuyên ngành điều khiển và tự động hóa để thiết kế, chế tạo hoàn chỉnh mô hình robot phục vụ thư viện. Các nhiệm vụ nghiên cứu cụ thể được đánh số bao gồm:

  1. Thiết kế phần cứng mô hình robot trên phần mềm SolidWorks (phần đế, thân và đầu).
  2. Xây dựng và tính toán mô hình động học thuận, động học nghịch cho hệ thống 4 bánh xe Mecanum đa hướng; mô phỏng kiểm chứng trên Matlab/Simulink.
  3. Lựa chọn thiết bị điện, động cơ, vi điều khiển, cảm biến và thi công lắp ráp mô hình thực tế.
  4. Xây dựng sơ đồ mạch điện và đấu nối các khối điều khiển, nguồn điện.
  5. Thiết lập chương trình điều khiển di chuyển tự hành thông minh trên nền tảng ROS (Robot Operating System), lập bản đồ môi trường (Mapping) bằng cảm biến Lidar và điều hướng tránh vật cản tĩnh/động.
  6. Xây dựng các chức năng xử lý ảnh: nhận diện khuôn mặt người dùng bằng mạng nơ-ron (MTCNN, FaceNet) để điểm danh/đăng nhập và đọc mã vạch (barcode) để mượn/trả tài liệu.
  7. Xây dựng tính năng giao tiếp người - robot qua giọng nói (Speech-to-Text và Text-to-Speech).
  8. Thiết kế giao diện đồ họa người dùng (GUI) trực quan trên màn hình cảm ứng (bằng Qt Designer/Python) phục vụ tra cứu sách theo khoa/tên, mượn/trả sách.
  9. Xây dựng hệ thống giám sát và điều khiển từ xa qua mạng Internet sử dụng vi điều khiển ESP32, giao thức MQTT, nền tảng E-Ra, dịch vụ ngrok và lưu trữ video lên Google Drive.
  10. Tích hợp cơ sở dữ liệu MySQL và phpMyAdmin để quản lý thông tin tài khoản sinh viên và danh mục sách.
  11. Thử nghiệm thực tế toàn bộ hệ thống, đánh giá độ ổn định và khả năng hoạt động.

Đối tượng và phạm vi nghiên cứu

  • Đối tượng nghiên cứu: Mô hình robot tự hành đa hướng 4 bánh Mecanum kết hợp các hệ thống xử lý thị giác máy tính, điều hướng tự động và quản lý dữ liệu phục vụ thư viện.
  • Phạm vi không gian: Không gian mô phỏng và môi trường thư viện thực tế với các hành lang, vật cản bàn ghế và người di chuyển.
  • Phạm vi thời gian: Đồ án được triển khai từ ngày 06/02/2023 đến ngày 30/06/2023.

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

Nghiên cứu kết hợp cơ sở lý thuyết cơ điện tử, điều khiển tự động, thuật toán đồ thị và trí tuệ nhân tạo:

  • Động học robot di động (WMR): Xây dựng phương trình động học thuận và nghịch cho hệ thống 4 bánh xe Mecanum bố trí con lăn nghiêng góc 45 độ so với trục bánh, xác định ma trận chuyển đổi vận tốc giữa hệ quy chiếu gắn trên robot ${B}$ và hệ quy chiếu toàn cục ${I}$.
  • Hệ điều hành robot (ROS): Sử dụng kiến trúc tính toán dạng đồ thị (Computation Graph) bao gồm ROS Master, Nodes, Topics, Messages, Services và gói công cụ trực quan hóa Rviz. Gói điều hướng chính là Navigation Stack với nút điều phối move_base.
  • Thuật toán định tuyến và điều khiển:
    • Thuật toán Dijkstra: Tìm kiếm đường đi ngắn nhất toàn cục (Global Path Planning) trên đồ thị lưới chi phí (Costmap).
    • Thuật toán DWA (Dynamic Window Approach): Quy hoạch quỹ đạo cục bộ và né tránh vật cản động dựa trên không gian vận tốc cho phép.
    • Bộ điều khiển PID: Điều chỉnh vận tốc chuyển động của các động cơ chấp hành.
  • Thị giác máy tính và Học sâu:
    • Mạng MTCNN (Multi-task Cascaded Convolutional Networks): Phát hiện khuôn mặt qua 3 mạng tích chập P-Net, R-Net, O-Net và cắt/chuẩn hóa kích thước ảnh về $160 \times 160$ pixel.
    • Mô hình FaceNet: Trích xuất vector đặc trưng khuôn mặt (Embeddings) để đối sánh định danh người dùng.
    • Thư viện OpenCV: Xử lý tiền xử lý ảnh (cân bằng sáng, nhị phân hóa, phân ngưỡng) và nhận diện mã vạch Barcode.
  • Truyền thông và Mạng:
    • Kiến trúc Client-Server, giao thức HTTP/HTTPS, tiêu chuẩn thiết kế RESTful API.
    • Giao thức truyền thông điệp nhẹ MQTT (Message Queuing Telemetry Transport).
    • Giao tiếp phần cứng UART, I2C, SPI.
  • Phương pháp nghiên cứu thực tế: Phân tích tài liệu kỹ thuật; mô hình hóa toán học và mô phỏng trên Matlab/Simulink; lập trình hệ thống trên Ubuntu/Python; thiết kế cơ khí 3D trên SolidWorks 2019; thực nghiệm lắp ráp và hiệu chỉnh thông số trên phần cứng thực tế.

Thiết kế và triển khai

Hệ thống robot phục vụ thư viện được thiết kế hoàn chỉnh từ cơ khí, mạch điện đến phần mềm điều khiển.

Nhóm thành phần Tên thiết bị / Phần mềm Thông số kỹ thuật / Vai trò chức năng
Kích thước & Cơ khí Khung vỏ Composite/Mica Đế tròn đường kính 70 cm, chiều cao tổng 157 cm, trọng lượng 30 kg
Cơ cấu di chuyển 4 Bánh xe Mecanum Đường kính bánh phù hợp tải trọng 30 kg, di chuyển đa hướng tịnh tiến và xoay
Động cơ chấp hành Động cơ DC Servo JGB37-545 4 động cơ tích hợp encoder điều khiển chính xác vận tốc
Mạch công suất Mạch cầu HI216 Mạch điều khiển động cơ dòng lớn, đáp ứng tải chuyển động
Máy tính nhúng Mini PC LongVu Chạy Ubuntu Linux, xử lý ROS, MTCNN, FaceNet, GUI Qt
Vi điều khiển IoT Bo mạch ESP32 Điều khiển cấp thấp, kết nối Wi-Fi, cầu nối MQTT/REST API qua Internet
Cảm biến định vị Lidar SLAMTEC Mapper M1M1 Tần số quét 7000 điểm/giây, cự ly đo 20 m, quét $360^\circ$, tích hợp SLAM phần cứng
Cảm biến an toàn Cảm biến hồng ngoại & siêu âm Bố trí quanh thân đế để phát hiện vật cản ở tầm gần và góc chết
Giao diện hiển thị Màn hình cảm ứng ViewSonic Màn hình tương tác người dùng, hiển thị giao diện mượn/trả sách
Hệ thống nguồn Ắc quy / Pin DC, Mạch Buck/Boost, Inverter Cung cấp nguồn DC 5V, 12V, 24V và kích điện AC 220V cho Mini PC, màn hình
Phần mềm & CSDL Python, ROS, Qt Designer, MySQL, phpMyAdmin Ngôn ngữ phát triển chính, framework robot, GUI và quản lý cơ sở dữ liệu
Kết nối từ xa Ngrok, E-Ra Platform, Google Drive Tạo tunnel forwarding IP, dashboard điều khiển trực tuyến và lưu video an ninh

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

Chương 1: Tổng quan

Chương này giới thiệu tổng quan về sự phát triển của công nghệ robot tự hành trên thế giới và tại Việt Nam. Tác giả nêu bật bối cảnh ứng dụng thực tiễn của robot dịch vụ trong thư viện, xác định mục đích, 11 nhiệm vụ cốt lõi, phương pháp luận nghiên cứu và phân chia bố cục luận văn thành 6 chương. Đồng thời, chương 1 vạch rõ giới hạn phạm vi nghiên cứu: tập trung ứng dụng các gói thuật toán nguồn mở của ROS, sử dụng Cloud MQTT trung gian có giới hạn API calls, và sử dụng thư viện học sâu có sẵn (MTCNN, FaceNet) mà không can thiệp sâu vào cấu trúc tầng mạng.

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

Chương 2 trình bày chi tiết nền tảng lý thuyết được sử dụng trong toàn bộ đề tài:

  • Thiết lập hệ phương trình động học thuận và nghịch cho hệ 4 bánh xe Mecanum dựa trên ma trận chuyển đổi tọa độ $H$.
  • Phân tích cấu trúc 3 cấp độ của ROS (Filesystem, Computation Graph, Community) và luồng dữ liệu bên trong Navigation Stack.
  • Cấu tạo và nguyên lý đo khoảng cách bằng chùm tia laser phản xạ của cảm biến Lidar SLAMTEC Mapper M1M1 với tốc độ quét 7000 điểm/s và tầm quét 20 m.
  • Giải thuật tìm đường ngắn nhất Dijkstra (với độ phức tạp $O(n^2 + m)$) và phương pháp Dynamic Window Approach (DWA) xác định vận tốc $(v, \omega)$ tối ưu trong cửa sổ động để tránh va chạm.
  • Cấu trúc mạng nơ-ron tích chập đa nhiệm MTCNN (P-Net, R-Net, O-Net) và cơ chế trích xuất vector 128 chiều của mô hình FaceNet.
  • Lý thuyết mạng Client-Server, HTTP/HTTPS, RESTful API, MQTT, giao tiếp nối tiếp UART, vi điều khiển ESP32, hệ điều hành Ubuntu, ngôn ngữ Python, phần mềm Qt Designer, SolidWorks, MySQL Workbench và phpMyAdmin.

Chương 3: Thiết kế hệ thống và lựa chọn thiết bị

Chương 3 tập trung vào khâu thiết kế phần cứng và lựa chọn linh kiện thực tế:

  • Phân tích và lựa chọn các thiết bị phần cứng: Mini PC LongVu làm trung tâm xử lý cấp cao; bo mạch ESP32 làm vi điều khiển kết nối mạng; 4 động cơ DC servo JGB37-545 có phản hồi encoder đi kèm mạch cầu công suất HI216; cảm biến Lidar SLAMTEC M1M1; cảm biến tiệm cận siêu âm và hồng ngoại; màn hình cảm ứng ViewSonic; mạch chuyển mức tín hiệu logic I2C/UART/SPI.
  • Thiết kế hệ thống phân phối nguồn điện gồm bộ kích điện Inverter, các mạch giảm áp DC-DC Buck và tăng áp DC-DC Boost đảm bảo cấp đủ điện áp cho từng khối thiết bị.
  • Xây dựng bản vẽ thiết kế cơ khí 3D hoàn chỉnh trên SolidWorks 2019 chia làm 3 phân hệ: phần đế (chứa cơ cấu truyền động 4 bánh Mecanum, nguồn ắc quy, mạch công suất), phần thân (chứa máy tính nhúng, hệ thống dây tín hiệu, cảm biến tiệm cận) và phần đầu (gắn màn hình cảm ứng, camera và Lidar quét phía trên).

Chương 4: Xây dựng chương trình điều khiển

Chương 4 mô tả quy trình tích hợp phần mềm và hiện thực hóa các chức năng của robot:

  • Xây dựng sơ đồ khối mô phỏng động học xe đa hướng trên Matlab/Simulink.
  • Cấu hình các nút (Nodes) ROS cho xe tự hành: khởi chạy driver Lidar, thiết lập tf (transform) giữa các khung tọa độ, xây dựng bản đồ môi trường bằng thuật toán SLAM, tích hợp thuật toán định vị AMCL và gói điều hướng move_base.
  • Lập trình giao tiếp Serial/UART giữa Mini PC chạy ROS và vi điều khiển điều khiển động cơ (Mobile base).
  • Hiện thực hóa mô-đun thị giác máy tính: xử lý ảnh với OpenCV để quét và giải mã Barcode mã sách; thu thập tập dữ liệu 30 ảnh khuôn mặt chuẩn hóa kích thước $160 \times 160$ pixel để huấn luyện và định danh bạn đọc qua MTCNN/FaceNet.
  • Xây dựng tính năng giao tiếp giọng nói 2 chiều bằng thư viện SpeechRecognition (chuyển âm thanh thành văn bản, phân tích từ khóa hành động, và chuyển phản hồi thành tiếng nói).
  • Xây dựng hệ thống điều khiển từ xa: cấu hình Wi-Fi cho ESP32, tạo RESTful API (phương thức GET/POST qua nền tảng E-Ra), thiết lập đường truyền video streaming qua ngrok trên môi trường localhost và tự động tải video lưu trữ lên Google Drive.
  • Thiết kế giao diện tương tác người dùng (GUI) bằng Qt Designer gồm các màn hình: màn hình bắt đầu, nhận diện khuôn mặt, đăng ký thông tin, tra cứu sách theo khoa, tra cứu theo tên, mượn sách và trả sách.

Chương 5: Kết quả và đánh giá

Chương 5 công bố các kết quả thử nghiệm thực tế và mô phỏng:

  • Kết quả mô phỏng động học trên Matlab/Simulink và môi trường mô phỏng ROS đáp ứng đúng quỹ đạo lý thuyết.
  • Bản đồ không gian thư viện quét bằng Lidar SLAMTEC hiển thị rõ ràng ranh giới tường và các chướng ngại vật tĩnh.
  • Khả năng điều hướng tự hành thực tế: robot tự động hoạch định đường đi đến các điểm mục tiêu đã định sẵn trên bản đồ và nhận biết, chủ động chuyển hướng né tránh người đi bộ hoặc vật cản xuất hiện đột ngột.
  • Độ chính xác của các mô-đun chức năng: nhận diện chính xác mã vạch sách mượn/trả; nhận diện khuôn mặt người dùng đã đăng ký trong cơ sở dữ liệu; giao diện Qt Designer và giao diện web điều khiển từ xa qua mạng phản hồi ổn định; truyền nhận dữ liệu qua giao thức MQTT/ngrok thông suốt.

Chương 6: Kết luận và hướng phát triển của đề tài

Chương 6 tổng kết việc hoàn thành toàn bộ các yêu cầu kỹ thuật đề ra ban đầu, đánh giá ưu điểm của mô hình 4 bánh Mecanum trong không gian hẹp và nêu ra các định hướng hoàn thiện hệ thống trong tương lai.


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

Kết quả chính

  • Chế tạo thành công mô hình robot phục vụ thư viện hoàn chỉnh với kích thước thực tế (đế tròn đường kính 70 cm, chiều cao 157 cm, nặng 30 kg) có kết cấu vững chắc.
  • Hệ thống 4 bánh xe Mecanum hoạt động chính xác theo mô hình động học, cho phép robot di chuyển tịnh tiến, di chuyển chéo và xoay tại chỗ linh hoạt trong không gian thư viện hẹp.
  • Ứng dụng thành công hệ thống ROS Navigation Stack kết hợp Lidar SLAMTEC M1M1 (tầm quét 20 m) để tự lập bản đồ, tự định vị AMCL và tự động né tránh vật cản động/tĩnh bằng thuật toán DWA.
  • Xây dựng thành công chuỗi xử lý thị giác máy tính nhận diện khuôn mặt (MTCNN, FaceNet) và đọc mã vạch sách kết nối cơ sở dữ liệu MySQL.
  • Tích hợp hoàn chỉnh hệ thống điều khiển và giám sát từ xa qua mạng Internet thông qua giao thức MQTT, nền tảng E-Ra, tunneling ngrok và đồng bộ video ghi hình lên Google Drive.

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

  • Đưa ra giải pháp tích hợp phần cứng liên ngành đồng bộ giữa cơ cấu chấp hành cơ điện tử, máy tính nhúng Mini PC, vi điều khiển IoT ESP32 và cảm biến Lidar chuyên dụng.
  • Kết hợp đa dạng các phương thức tương tác người - máy (HMI): màn hình cảm ứng, nhận diện sinh trắc học khuôn mặt, mã vạch và giao tiếp bằng giọng nói tiếng Việt.
  • Hiện thực hóa mô hình robot dịch vụ thực tế phục vụ chuyển đổi số trong quản lý thư viện trường đại học.

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

Hạn chế được ghi nhận trong văn bản

  • Mô hình do nhóm sinh viên tự thiết kế và thi công cơ khí nên chưa có các kiểm chuẩn khách quan về độ bền vật liệu và độ ổn định lâu dài khi vận hành liên tục.
  • Hệ thống điều hướng chủ yếu khai thác các thuật toán có sẵn trong ROS, chưa tối ưu sâu về mặt động lực học khi tải trọng phân bố thay đổi.
  • Việc điều khiển từ xa phụ thuộc vào dịch vụ Cloud MQTT và nền tảng IoT trung gian bên thứ ba nên bị giới hạn số lượng cuộc gọi API (API Calls).
  • Hệ thống quản lý dữ liệu bị giới hạn trong phạm vi các chức năng cơ bản của MySQL/phpMyAdmin.
  • Mô-đun nhận diện khuôn mặt dừng ở mức ứng dụng các thư viện tiền huấn luyện (mtcnn, facenet-pytorch, keras-facenet) mà chưa tinh chỉnh sâu kiến trúc mạng nơ-ron.

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

  • Cải tiến kết cấu cơ khí, sử dụng vật liệu công nghiệp nhẹ và bền hơn để tăng tính thẩm mỹ và độ vững chắc.
  • Nâng cấp hệ thống thuật toán điều khiển động lực học thích nghi, tự động quay về trạm sạc khi pin yếu.
  • Xây dựng server nội bộ độc lập để loại bỏ sự phụ thuộc vào các dịch vụ Cloud bên ngoài và không bị giới hạn API.
  • Mở rộng kho dữ liệu huấn luyện nhận diện khuôn mặt và cải thiện khả năng xử lý ngôn ngữ tự nhiên (NLP) cho tính năng tương tác giọng nói.

Giá trị tham khảo

Đồ án là tài liệu tham khảo thực tiễn và có hệ thống cho các nhóm đối tượng:

  • Sinh viên ngành Kỹ thuật Điều khiển và Tự động hóa, Cơ điện tử, Robot và Trí tuệ nhân tạo: Tham khảo phương pháp tính toán động học robot 4 bánh Mecanum, cách kết nối và lập trình hệ điều hành ROS với phần cứng thực.
  • Người làm đề tài về Robot tự hành (AGV/AMR) và IoT: Tham khảo cách tích hợp Lidar SLAMTEC Mapper M1M1 với ROS, quy trình triển khai thuật toán Dijkstra, DWA, và phương thức kết nối điều khiển từ xa qua ESP32/MQTT/ngrok.
  • Phần đáng tham khảo nhất:
    • Chương 2 và Chương 4: Cung cấp đầy đủ công thức toán học động học bánh xe Mecanum và cấu hình chi tiết các Node trong ROS Navigation Stack.
    • Chương 3: Cung cấp sơ đồ phân phối nguồn điện và giải pháp ghép nối tín hiệu giữa máy tính nhúng, vi điều khiển và mạch công suất.

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

1. Robot sử dụng loại bánh xe nào và có ưu điểm gì trong chuyển động?

Robot sử dụng 4 bánh xe Mecanum (được bố trí các con lăn con lệch một góc $45^\circ$ so với trục chính). Ưu điểm của cấu cấu này là cho phép robot di chuyển đa hướng (tiến, lùi, di chuyển ngang sang hai bên, di chuyển chéo) và quay tròn tại chỗ mà không cần phải chuyển hướng đầu xe, rất phù hợp với không gian hẹp giữa các kệ sách thư viện.

2. Các thông số kỹ thuật chính của cảm biến Lidar trang bị trên robot là gì?

Robot sử dụng cảm biến Lidar SLAMTEC Mapper M1M1. Cảm biến này thực hiện 7.000 phép đo mỗi giây, khoảng cách đo xa nhất đạt tới 20 mét, tốc độ quay quét môi trường $360^\circ$ theo chiều kim đồng hồ và có khả năng cập nhật bản đồ hơn 10 lần mỗi giây, tích hợp sẵn thuật toán SLAM phần cứng tương thích trực tiếp với môi trường ROS.

3. Quy trình nhận diện khuôn mặt của người dùng được triển khai như thế nào?

Quy trình nhận diện khuôn mặt gồm các bước: Camera thu nhận hình ảnh; mô hình mạng nơ-ron MTCNN (gồm 3 mạng P-Net, R-Net, O-Net) phát hiện vị trí khuôn mặt; tiến hành cắt khung hình khuôn mặt, cân bằng mức sáng và thay đổi kích thước ảnh chuẩn về $160 \times 160$ pixel; sau đó dữ liệu được truyền qua mô hình FaceNet để trích xuất vector đặc trưng và đối sánh với cơ sở dữ liệu sinh viên đã đăng ký.

4. Hệ thống điều khiển và giám sát từ xa qua Internet hoạt động bằng cách nào?

Hệ thống sử dụng vi điều khiển ESP32 kết nối Wi-Fi để nhận và gửi dữ liệu thông qua giao thức MQTT và RESTful API (với các yêu cầu HTTP GET/POST để lấy mã action_key trên nền tảng E-Ra). Đồng thời, video phát trực tiếp từ camera được stream lên localhost của Mini PC và đẩy ra ngoài Internet qua công cụ ngrok, các video giám sát sau đó được tự động tải lên lưu trữ trên Google Drive.

5. Robot sử dụng các thuật toán nào để tự hành và tránh vật cản?

Hệ thống sử dụng thuật toán Dijkstra để hoạch định đường đi toàn cục ngắn nhất (Global Path) trên bản đồ đã dựng, kết hợp thuật toán Dynamic Window Approach (DWA) để tính toán vận tốc an toàn cục bộ (Local Path) giúp robot nhận diện và tự động né tránh các chướng ngại vật tĩnh (bàn, ghế) cũng như chướng ngại vật động (người đi lại).


Kết luận

Đồ án tốt nghiệp "Thiết kế và điều khiển mô hình robot phục vụ thư viện" của nhóm sinh viên Trường Đại học Sư phạm Kỹ thuật TP.HCM đã hoàn thành xuất sắc việc nghiên cứu, chế tạo và thử nghiệm thành công một mô hình robot dịch vụ tự hành đa hướng 4 bánh Mecanum. Hệ thống tích hợp toàn diện từ thiết kế cơ khí 3D, mạch điện công suất, hệ điều hành ROS với Lidar SLAM, cho đến các công nghệ trí tuệ nhân tạo nhận diện khuôn mặt và điều khiển IoT qua mạng Internet. Kết quả thử nghiệm thực tế chứng minh robot vận hành ổn định, thực hiện tốt các tác vụ hỗ trợ mượn/trả sách, tra cứu dữ liệu và tự động điều hướng an toàn trong môi trường thư viện.