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

Trong bối cảnh cuộc Cách mạng công nghiệp 4.0 đang lan rộng trên toàn cầu, việc tự động hóa các quy trình sản xuất, vận hành và quản lý kho bãi đóng vai trò then chốt nhằm tăng năng suất, giảm chi phí vận hành và tối ưu hóa nguồn nhân lực. Một trong những định hướng công nghệ được tập trung nghiên cứu là sự kết hợp giữa robot di động tự hành (AMR) và cánh tay robot công nghiệp cố định tại các trạm làm việc. Mô hình phân tách chức năng này cho phép robot di động đảm nhiệm việc luân chuyển hàng hóa linh hoạt giữa các khu vực, trong khi các cánh tay robot tại trạm thực hiện thao tác gắp, đặt và phân loại sản phẩm. Cách tiếp cận này giúp đơn giản hóa cơ cấu phần cứng của xe tự hành khi không phải mang vác các cánh tay robot nặng nề, từ đó giảm chi phí đầu tư và phù hợp với điều kiện ứng dụng thực tế tại Việt Nam.

Trên thế giới, các tập đoàn lớn đã triển khai mô hình phân tán chức năng này ở quy mô công nghiệp:

  • Tại Hoa Kỳ, Amazon vận hành hàng trăm nghìn robot di động Kiva để vận chuyển kệ hàng đến các trạm thao tác cố định nhằm tối ưu tốc độ phân loại.
  • Tại Nhật Bản, các tập đoàn như Toyota và Panasonic ứng dụng robot di động vận chuyển giữa các trạm máy đóng gói, lắp ráp hoặc phân phối vật tư y tế trong bệnh viện.
  • Tại Trung Quốc, các hệ thống logistics của JD.com tại Thượng Hải, Alibaba và Xiaomi áp dụng mô hình robot AMR kết hợp cánh tay robot gắp sản phẩm lưu kho, xử lý hàng trăm nghìn đơn hàng mỗi ngày với số lượng nhân sự giám sát tối thiểu.

Tại Việt Nam, xu hướng tự động hóa kho vận ghi nhận sự tham gia của các đơn vị tiên phong:

  • Trung tâm Không gian mạng Viettel (VTCC) chế tạo thành công robot VMR-01 dẫn đường bằng thị giác máy tính, tải trọng 300 kg, thời gian vận hành 8 giờ, giảm 50% nhân sự chia chọn (tương đương 20 người) và tăng năng suất lên 2,5 lần. Ngoài ra, Viettel Post vận hành tổ hợp logistics 32.000 m² tại Quang Minh (Hà Nội) với hơn 200 robot AGV kết hợp hệ thống Wheel Sorter Matrix và Cross-belt Sorter, giúp giảm 60% chi phí nhân sự.
  • TikiNOW Smart Logistics (Tiki) triển khai robot cộng tác hỗ trợ khuân vác, tiếp vận hàng hóa từ tháng 7/2021 nhằm giảm thiểu sai sót và tăng tốc độ xử lý đơn hàng.

Đề tài "Mô hình quản lý xuất nhập kho tự động bằng robot di động và cánh tay robot thông qua mã QR" do nhóm sinh viên ngành Công nghệ Kỹ thuật Điều khiển và Tự động hóa, Khoa Điện – Điện tử, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh thực hiện.

Mục tiêu chung của đồ án là nghiên cứu, thiết kế và chế tạo mô hình quản lý xuất nhập kho tự động hoàn chỉnh, kết hợp robot di động và cánh tay robot thông qua nhận dạng mã QR và hệ thống điều khiển trung tâm. Đồ án xác định 5 mục tiêu cụ thể:

  1. Hoàn thiện mô hình nhà kho có khả năng tự động hóa ổn định quy trình xuất, nhập và lưu trữ trạng thái hàng hóa trên máy chủ (web server).
  2. Xây dựng robot di động có khả năng di chuyển tự động, chính xác giữa các trạm làm việc và vị trí chờ (home), nhận biết và tránh né vật cản tĩnh cũng như vật cản động bằng cảm biến Lidar và gói điều hướng Navigation Stack trên nền tảng ROS.
  3. Chế tạo các cánh tay robot tại trạm thực hiện chính xác các thao tác gắp, đặt hàng hóa, phối hợp đồng bộ với chu trình di chuyển của robot di động.
  4. Phát triển giao diện web server trực quan phục vụ công tác giám sát trạng thái nhà kho, quản lý cơ sở dữ liệu hàng hóa và điều phối quy trình xuất/nhập kho.
  5. Xây dựng phần mềm xử lý ảnh có khả năng nhận diện mã QR và phân loại màu sắc trên kiện hàng, trích xuất tọa độ không gian 3 chiều từ hình ảnh máy ảnh 2D để cung cấp dữ liệu định vị cho cánh tay robot.

Phạm vi và giới hạn của đề tài bao gồm:

  • Khung nhôm cơ khí của robot di động được kế thừa và cải tiến từ mô hình sẵn có; động học robot di động được khảo sát ở mức độ cơ bản phục vụ tích hợp điều khiển.
  • Thuật toán điều hướng tập trung vào việc cấu hình và ứng dụng các gói thuật toán chuẩn trong hệ điều hành robot ROS.
  • Các cánh tay robot tại trạm (Dorna và M1) được thiết kế giới hạn ở cấu hình 3 bậc tự do (3 DOF).
  • Thuật toán xử lý ảnh được xây dựng dựa trên nền tảng thư viện OpenCV.
  • Giao diện web server quản lý kho được triển khai trên nền tảng Node-RED.
  • Thời gian thực hiện đồ án từ ngày 10/03/2025 đến ngày 10/06/2025.

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

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

Nghiên cứu ứng dụng các khối kiến thức lý thuyết kỹ thuật điều khiển và tự động hóa:

  • Hệ điều hành Robot (ROS): Sử dụng bản phân phối ROS Noetic trên nền hệ điều hành Ubuntu 20.04 LTS. Kiến trúc của ROS được phân tích ở 3 tầng: Tầng hệ thống tập tin (Package, Metapackage, Catkin workspace); Tầng đồ thị tính toán (Node, ROS master, Topic với cơ chế Publish/Subscribe, Service theo mô hình Client/Server, Parameter server, Action, Bag file); và Tầng cộng đồng.
  • Hệ thống điều hướng ROS Navigation Stack: Tiến trình trung tâm move_base điều phối việc lập kế hoạch toàn cục (Global planning) bằng thuật toán Dijkstra và lập kế hoạch cục bộ (Local planning) bằng thuật toán Dynamic Window Approach (DWA). Dữ liệu bản đồ chi phí bao gồm Costmap toàn cục và Costmap cục bộ. Cây biến đổi tọa độ TF duy trì mối liên hệ không gian giữa các hệ tọa độ map, odom, và base_link. Cơ chế phục hồi (Recovery Behaviors) được thiết lập tuần tự qua các bước: Thiết lập lại thận trọng (Conservative Reset), Xoay để xóa (Clearing Rotation), Khởi động lại (Aggressive Reset), Xoay để xóa lần 2, và trạng thái Hủy bỏ (Aborted).
  • Công nghệ SLAM và định vị: Ứng dụng kỹ thuật định vị và lập bản đồ đồng thời (Simultaneous Localization And Mapping) sử dụng cảm biến Lidar để xây dựng bản đồ lưới chiếm dụng (Occupancy grid 2D) và thuật toán AMCL (Adaptive Monte Carlo Localization) để ước lượng vị trí dựa trên bộ lọc hạt.
  • Thuật toán điều hướng cục bộ DWA: Thu hẹp không gian vận tốc tìm kiếm $V_r = V_s \cap V_d \cap V_a$ dựa trên ràng buộc động học $V_s$, ràng buộc động lực học gia tốc $V_d$, và ràng buộc khoảng cách phanh an toàn $V_a$. Hàm mục tiêu tổng hợp lựa chọn vận tốc tối ưu: $G(v, \omega) = \alpha \cdot \text{heading}(v, \omega) + \beta \cdot \text{dist}(v, \omega) + \gamma \cdot \text{vel}(v, \omega)$.
  • Thuật toán tìm đường Dijkstra: Triển khai trên đồ thị chi phí để xác định lộ trình ngắn nhất từ điểm nguồn đến các nút trong bản đồ tĩnh.
Đặc điểm Thuật toán Dijkstra Thuật toán A*
Nguyên lý cơ bản Tìm đường đi ngắn nhất từ một đỉnh nguồn đến tất cả các đỉnh Sử dụng hàm heuristic $f(n) = g(n) + h(n)$ để ước lượng chi phí đến đích
Độ phức tạp thời gian $O(V^2)$ hoặc $O(E + V \log V)$ với hàng đợi ưu tiên Phụ thuộc vào chất lượng của hàm heuristic
Tính đầy đủ Luôn tìm ra đường đi ngắn nhất nếu tồn tại Luôn tìm ra đường đi ngắn nhất nếu hàm heuristic hợp lý
Hiệu quả thực thi Đơn giản, tin cậy, không phụ thuộc vào thiết kế hàm heuristic Nhanh hơn Dijkstra nếu hàm heuristic được thiết kế tối ưu
  • Cơ sở động học và động lực học robot:
    • Robot di động: Mô hình động học vi sai (Differential drive) biểu diễn quan hệ vận tốc các bánh xe với vận tốc dài và vận tốc góc của robot.
    • Robot Dorna: Cánh tay robot 3 bậc tự do; thiết lập hệ trục tọa độ theo quy tắc Denavit – Hartenberg (DH), tính toán ma trận chuyển đổi đồng nhất, giải bài toán động học thuận (FK) và động học nghịch (IK) với 4 bộ nghiệm, xây dựng không gian làm việc.
    • Robot M1 (Dobot M1): Cơ cấu dạng SCARA với 1 khớp tịnh tiến $d$ và 2 khớp xoay $\theta_2, \theta_3$; xây dựng bảng thông số DH, mô hình động học thuận/nghịch, phương trình động lực học theo phương pháp Lagrange-Euler (Lagrangian Dynamic) dạng ma trận, quy hoạch quỹ đạo và thiết kế bộ điều khiển PID cho từng khớp.
  • Xử lý ảnh công nghiệp:
    • Chuyển đổi không gian màu HSV phục vụ phân vùng, trích xuất vật thể màu đỏ.
    • Hiệu chỉnh camera (Camera Calibration) khử biến dạng thấu kính.
    • Thuật toán SolvePnP tính toán vector quay và vector tịnh tiến để chuyển đổi tọa độ điểm đặc trưng 2D trên ảnh thành tọa độ vị trí 3D trong không gian thực.
    • Giải mã nội dung dữ liệu mã QR phục vụ xác định thông tin kiện hàng.
  • Giao thức truyền thông mạng: UART, I2C, MQTT (Message Queuing Telemetry Transport theo cơ chế Publish/Subscribe qua Broker trung gian), và giao thức Roserial kết nối vi điều khiển với ROS.

Phương pháp nghiên cứu

  • Phương pháp thu thập dữ liệu: Tiếp thu kiến thức chuyên môn từ giảng viên, khảo sát các tài liệu khoa học trên Google Scholar, IEEE Xplore, ResearchGate và phân tích các mô hình robot công nghiệp tương đương.
  • Phương pháp định tính: Phân tích mô hình hóa toán học, thiết kế phân tầng hệ thống theo các khối chức năng độc lập (module hóa).
  • Phương pháp định lượng: Mô phỏng, kiểm chứng giải thuật động học, động lực học trên phần mềm MATLAB/Simulink 2022b; đo đạc sai số cơ khí và độ lệch tọa độ trong các lần chạy thực nghiệm.
  • Phương pháp mô phỏng và thiết kế: Thiết kế kết cấu 3D các khớp và khung robot trên phần mềm SolidWorks; lập trình phần mềm điều khiển bằng Python, C/C++ (Arduino IDE) và giao diện C#/PyQt5.
  • Phương pháp thực nghiệm: Lắp ráp hoàn thiện mô hình thực tế, kiểm tra khả năng định vị của xe tự hành, đánh giá tỷ lệ nhận diện mã QR và độ chính xác gắp/đặt của hai cánh tay robot tại trạm.

Thiết kế và triển khai hệ thống

Hệ thống được thiết kế dưới dạng dây chuyền logistics thu nhỏ gồm 4 phân hệ chính: Xe tự hành vận chuyển (Mobile Robot), Trạm tiếp nhận nhập kho (Robot Dorna), Trạm phân loại lưu kho (Robot M1), Khâu cấp phôi băng tải, và Hệ thống máy chủ quản lý kho (Web Server).

                      +-----------------------------+
                      |      Web Server Quản lý     |
                      |          (Node-RED)         |
                      +--------------+--------------+
                                     |
                               (MQTT Broker)
             +-----------------------+-----------------------+
             |                       |                       |
             v                       v                       v
   +-------------------+   +-------------------+   +-------------------+
   |   Mobile Robot    |   |    Trạm Dorna     |   |     Trạm M1       |
   | (Lidar/ROS/Diff)  |   | (3 DOF/Vision/QR) |   | (SCARA/Vision/QR) |
   +-------------------+   +-------------------+   +-------------------+
                                     ^
                                     |
                           +---------+---------+
                           |  Băng tải nhập kho|
                           +-------------------+

1. Phân hệ Robot di động (Mobile Robot)

  • Kết cấu cơ khí và khung vỏ: Sử dụng hệ thống khung nhôm định hình kết hợp vỏ bọc gia công bằng mica, cơ cấu dẫn động vi sai hai bánh chủ động và bánh xe dẫn hướng bị động.
  • Phần cứng điện và điều khiển:
    • Bộ xử lý trung tâm: Máy tính nhúng Mini-PC chạy hệ điều hành Ubuntu 20.04 và ROS Noetic.
    • Vi điều khiển cấp dưới: Bo mạch Arduino Uno R3 giao tiếp với Mini-PC qua giao thức rosserial để nhận lệnh vận tốc và phản hồi dữ liệu encoder.
    • Cảm biến điều hướng: Cảm biến quét laser Lidar Slamtec Mapper M1M1 phục vụ lập bản đồ SLAM và nhận diện vật cản; cụm cảm biến siêu âm HC-SR04 hỗ trợ phát hiện vật cản ở tầm gần; cảm biến đo dòng và điện áp INA219 giám sát dung lượng pin.
    • Hệ thống động lực: Động cơ DC Servo JBG37-545 tích hợp bộ mã hóa xung (encoder); mạch công suất cầu H BTS7960 điều khiển tốc độ và đảo chiều động cơ.
    • Khối nguồn: Pin Lithium Iron Phosphate SN14625-LFP, mạch ổn áp tự động tăng giảm áp LTC3780, và bộ nghịch lưu SFR-1200A cấp nguồn cho hệ thống.
  • Kiến trúc điều khiển di động: Gói move_base tiếp nhận bản đồ từ Lidar Slamtec, dữ liệu odometry từ encoder động cơ để tính toán vận tốc. Lộ trình di chuyển toàn cục được xác định bởi thuật toán Dijkstra, và thuật toán DWA tính toán né tránh vật cản động theo thời gian thực. Robot tích hợp thuật toán tự động căn chỉnh góc xoay yaw và ghép nối chính xác với trạm hàng (docking).

2. Phân hệ trạm cánh tay robot Dorna và M1

  • Trạm Robot Dorna (Khâu dỡ hàng/nhập liệu):
    • Cấu trúc: Cánh tay robot 3 bậc tự do xoay, sử dụng các động cơ bước điều khiển góc quay khớp, tích hợp hệ thống công tắc hành trình để thiết lập vị trí gốc (homing).
    • Thị giác máy tính: Camera 2D gắn phía trên vùng thao tác, kết nối máy tính xử lý qua thư viện OpenCV để nhận diện mã QR của kiện hàng trên băng tải và ô vuông màu đỏ trên sàn xe di động, sau đó thuật toán SolvePnP tính toán tọa độ không gian để gắp kiện hàng đặt lên xe.
  • Trạm Robot M1 (Khâu xuất kho/lưu trữ):
    • Cấu trúc: Robot 3 bậc tự do dạng SCARA với khớp 1 tịnh tiến theo phương thẳng đứng (trục Z) và hai khớp xoay 2, 3 quay trong mặt phẳng ngang. Sử dụng động cơ bước kết hợp bộ truyền vít me cho khớp tịnh tiến và bộ truyền đai/khớp quay cho các trục xoay.
    • Điều khiển: Ứng dụng giải thuật PID kiểm soát sai số vị trí từng khớp dựa trên phản hồi của cảm biến, đảm bảo khâu chấp hành tiếp cận đúng vị trí kệ kho hoặc sàn xe.
    • Thị giác máy tính: Camera nhận diện mã QR để xác nhận đúng kiện hàng cần xuất kho trước khi gắp chuyển giao cho robot di động.

3. Phân hệ Băng tải và Hệ thống máy chủ quản lý (Web Server)

  • Khâu băng tải: Băng tải con lăn/dây đai dẫn động bằng động cơ DC, trang bị cảm biến phát hiện hàng hóa ngoại vi, kết nối vi điều khiển để dừng/chạy băng tải đồng bộ với cánh tay Dorna.
  • Máy chủ Web Server: Xây dựng trên nền tảng Node-RED, đóng vai trò trung tâm điều phối và lưu trữ dữ liệu. Giao tiếp với các thiết bị qua giao thức MQTT Broker:
    • Quản trị cơ sở dữ liệu kho: Theo dõi sơ đồ vị trí các ô kệ (trạng thái trống, đầy, đang lưu trữ mã hàng nào).
    • Điều phối quy trình: Phát lệnh xuất kho hoặc nhập kho tuần tự tới robot di động và hai cánh tay robot.
    • Giao diện người dùng: Cung cấp màn hình đăng nhập, phân quyền, bảng điều khiển chế độ thủ công (manual) / tự động (auto), hiển thị trạng thái kết nối mạng Wi-Fi và dung lượng pin của xe tự hành.

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

Chương 1: Tổng quan

Chương 1 trình bày lý do lựa chọn đề tài xuất phát từ nhu cầu thực tiễn của công nghiệp 4.0 và chuyển đổi số logistics. Tác giả khảo sát tổng quan các công trình nghiên cứu trên thế giới (Amazon, Toyota, Panasonic, JD.com) và các ứng dụng thực tế trong nước (robot VMR-01, tổ hợp AGV tại Viettel Post, robot cộng tác tại TikiNOW). Trên cơ sở đó, chương xác định mục tiêu chung, 5 mục tiêu cụ thể, phương pháp luận nghiên cứu (thu thập số liệu, định tính, định lượng trên MATLAB, mô phỏng SolidWorks và thực nghiệm), các giới hạn đề tài về phần cứng và giải thuật, cùng lịch trình triển khai 16 tuần.

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

Chương 2 cung cấp nền tảng toán học và kỹ thuật chuyên môn:

  • Kiến trúc 3 tầng của hệ điều hành ROS và cơ chế hoạt động của Navigation Stack (Dijkstra, DWA, Costmap, AMCL, hành vi phục hồi).
  • Khái niệm kỹ thuật SLAM và biểu diễn bản đồ lưới chiếm dụng 2D.
  • Cơ sở toán học bộ điều khiển PID (khâu tỉ lệ $K_p$, tích phân $K_i$, vi phân $K_d$) và hàm truyền.
  • Nguyên lý thuật toán tìm đường ngắn nhất Dijkstra, so sánh chi tiết với giải thuật A*.
  • Không gian vận tốc và thuật toán tối ưu động DWA trong robot di động.
  • Biểu diễn ma trận biến đổi tọa độ thuần nhất $4 \times 4$.
  • Động học robot di động vi sai (thuận, nghịch) và kiểm chứng đáp ứng vị trí $(x, y)$ và góc hướng $\theta$ trên MATLAB.
  • Phân tích động học cánh tay robot Dorna (thông số DH, mô hình động học thuận/nghịch giải ra 4 bộ nghiệm, kiểm chứng trên Simulink và vẽ vùng làm việc 3D).
  • Phân tích động học và động lực học cánh tay robot M1 SCARA (thông số DH, phương trình Lagrange-Euler dạng ma trận khối lượng, ma trận Coriolis-ly tâm và trọng lực, quy hoạch quỹ đạo và thiết kế bộ điều khiển PID cho các khớp).
  • Cơ sở lý thuyết xử lý ảnh: Không gian màu HSV, hiệu chỉnh máy ảnh khử biến dạng, thuật toán SolvePnP xác định tọa độ vật thể 3D, giải mã QR code.
  • Các giao thức truyền thông nối tiếp và mạng: UART, I2C, MQTT Broker.

Chương 3: Xây dựng mô hình

Chương 3 chi tiết hóa toàn bộ quy trình thiết kế kỹ thuật và thi công thực tế:

  • Yêu cầu kỹ thuật phần cứng và phần mềm của từng phân hệ.
  • Lựa chọn thiết bị: Động cơ DC Servo JBG37-545, cầu H BTS7960, pin lithium SN14625-LFP, mạch LTC3780, Lidar Slamtec M1M1, cảm biến dòng INA219, siêu âm HC-SR04, Arduino Uno R3, máy tính mini.
  • Thi công cơ khí vỏ mica 3D cho robot di động, lắp ráp mạch điện nguồn và mạch điều khiển.
  • Thiết lập phần mềm điều hướng ROS Navigation Stack cho robot di động: Cấu hình odometry, tệp metadata của bản đồ, thông số Costmap toàn cục/cục bộ, thông số vận hành của DWA local planner, lưu đồ thuật toán quản lý điều hướng, căn chỉnh góc yaw và cơ chế ghép nối docking.
  • Thiết kế giao diện điều khiển, giám sát di động (hiển thị bản đồ, cảnh báo pin yếu, cấu hình Wi-Fi, điều khiển thủ công).
  • Thiết kế 3D trên SolidWorks và thi công cơ khí, lắp ráp mạch điện cho cánh tay robot Dorna và robot M1 (khớp trượt tịnh tiến, khớp quay, công tắc hành trình, nguồn).
  • Xây dựng lưu đồ điều khiển xuất hàng (unload) và nạp hàng (load) cho trạm Dorna và M1.
  • Thiết kế và lập trình trạm băng tải nhập liệu (mạch vi điều khiển, kết nối ngoại vi, lưu đồ thuật toán).
  • Xây dựng hệ thống web server quản lý kho trên Node-RED: Lưu đồ hoạt động tổng thể, quy trình đăng nhập, lưu đồ xử lý xuất/nhập hàng, và thiết kế giao diện trang quản lý kho, quản lý thiết bị, lịch sử lưu trữ.

Chương 4: Kết quả thực nghiệm và đánh giá

Chương 4 ghi nhận các dữ liệu kiểm tra vận hành thực tế của toàn bộ hệ thống:

  • Thực nghiệm trạm Dorna: Đánh giá độ chính xác góc quay theo lệnh chỉ định và sai số vị trí; kiểm tra khả năng xử lý ảnh phân biệt ô vuông đỏ (chế độ unload) và nhận diện mã QR (chế độ load).
  • Thực nghiệm trạm M1: Khảo sát sai số chuyển động khớp tịnh tiến và khớp quay; đánh giá kết quả xử lý ảnh gắp vật ô vuông đỏ và quét mã QR kiện hàng.
  • Thực nghiệm phân hệ Robot di động:
    • Khảo sát các dải vận tốc chuyển động: Vận tốc tuyến tính tối thiểu/tối đa, vận tốc xoay tối thiểu/tối đa.
    • Thử nghiệm điều hướng qua 3 kịch bản thực tế: Ghi nhận vị trí xuất phát, quỹ đạo di chuyển thực tế trên ROS so với lý thuyết, và sai số vị trí điểm dừng cuối cùng.
    • Thử nghiệm khả năng né tránh vật cản: Đánh giá quỹ đạo robot khi đối mặt vật cản tĩnh cố định và vật cản động di chuyển cắt ngang lộ trình.
    • Đánh giá khả năng vận hành đồng bộ trong quy trình xuất kho và quy trình nhập kho: Thống kê thời gian thực hiện chu trình và sai số dừng đón/trả hàng.
  • Thực nghiệm hệ thống máy chủ Web Server: Kiểm tra chức năng đăng nhập, phân quyền truy cập, hiển thị giao diện sơ đồ kho hàng, ghi nhận các cảnh báo hệ thống (kho đầy, kho trống, cảnh báo không nhận diện được mã QR tại trạm Dorna/M1, cảnh báo mất kết nối robot) và nhật ký gỡ lỗi (debug) quá trình xuất/nhập hàng.

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

Chương 5 tổng kết mức độ hoàn thành so với các mục tiêu đề ra ban đầu, nêu rõ những hạn chế kỹ thuật chưa giải quyết triệt để và đề xuất các phương án cải tiến hệ thống trong tương lai.


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

Kết quả kỹ thuật đạt được

  1. Thiết kế và chế tạo phần cứng hoàn chỉnh:
    • Chế tạo thành công robot di động dẫn động vi sai tích hợp Lidar Slamtec M1M1, Mini-PC, vi điều khiển Arduino Uno R3, mạch cầu H BTS7960, pin SN14625-LFP và hệ thống cảm biến giám sát nguồn INA219.
    • Thi công hoàn thiện cánh tay robot Dorna 3 bậc tự do xoay và cánh tay robot M1 SCARA (1 khớp trượt tịnh tiến, 2 khớp xoay) hoạt động ổn định với cơ cấu truyền động cơ khí và mạch giới hạn hành trình.
    • Chế tạo module băng tải nạp hàng tự động đồng bộ tín hiệu với trạm xử lý nhập liệu.
  2. Triển khai thành công thuật toán điều khiển và điều hướng:
    • Xây dựng bản đồ kho hàng 2D bằng công nghệ SLAM thông qua dữ liệu quét laser Lidar.
    • Cấu hình và vận hành thành công ROS Navigation Stack trên robot di động: Thuật toán Dijkstra quy hoạch đường đi toàn cục tối ưu, thuật toán DWA phản hồi linh hoạt né tránh thành công cả vật cản tĩnh lẫn vật cản động trên đường di chuyển.
    • Robot thực hiện chính xác quy trình ghép nối (docking) và căn chỉnh góc yaw khi tiếp cận các trạm thao tác.
    • Xây dựng và kiểm chứng mô hình động học thuận, nghịch cho robot Dorna (4 bộ nghiệm) và robot M1; thiết lập bộ điều khiển PID cho các khớp của robot M1 SCARA trên MATLAB/Simulink và nạp vào phần cứng thực tế.
  3. Thị giác máy tính và tự động hóa nhận diện:
    • Ứng dụng thành công thư viện OpenCV để lọc không gian màu HSV, phát hiện ô vuông màu đỏ đánh dấu tọa độ sàn xe di động.
    • Nhận diện và giải mã chính xác nội dung mã QR trên kiện hàng.
    • Sử dụng thuật toán SolvePnP chuyển đổi dữ liệu pixel 2D thành tọa độ 3D thực tế, cung cấp thông số đầu vào cho cánh tay robot thực hiện chu trình gắp/đặt hàng chính xác ở cả hai chế độ nhập kho (load) và dỡ hàng (unload).
  4. Phần mềm quản trị Web Server và kết nối IoT:
    • Thiết lập mạng truyền thông nội bộ dựa trên giao thức MQTT Broker, kết nối đồng thời Mini-PC (ROS), các vi điều khiển và Web Server.
    • Web Server trên nền Node-RED quản lý toàn diện quy trình nhập/xuất kho: Cập nhật trạng thái ô kệ (trống/đầy), kiểm soát phân quyền đăng nhập, hiển thị thông số pin của robot, và phát tín hiệu cảnh báo kịp thời khi trạm robot không phát hiện được mã QR.

Đóng góp của đề tài

  • Hiện thực hóa thành công giải pháp quản lý kho tự động theo mô hình phân tách chức năng: Tách biệt hoàn toàn nhiệm vụ vận chuyển của robot di động và nhiệm vụ thao tác gắp đặt của cánh tay robot tại trạm. Giải pháp này giúp giảm tải trọng, đơn giản hóa kết cấu cơ khí của xe tự hành, giảm chi phí đầu tư phần cứng mà vẫn đảm bảo tính linh hoạt và mức độ tự động hóa cao.
  • Xây dựng quy trình tích hợp liên ngành đồng bộ giữa cơ khí chính xác, điện tử công suất, thuật toán điều khiển robot công nghiệp (ROS, Kinematics, PID), thị giác máy tính (OpenCV, SolvePnP) và mạng truyền thông IoT (MQTT, Web Server).

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

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

  • Cơ cấu khung nhôm và cơ khí của robot di động được kế thừa và cải tiến từ mô hình có sẵn nên tính đồng bộ chưa đạt mức tối ưu.
  • Động học của robot di động mới dừng lại ở mô hình vi sai cơ bản, chưa khảo sát các điều kiện trượt bánh hoặc động lực học phức tạp ở tốc độ cao.
  • Hai cánh tay robot Dorna và M1 bị giới hạn ở 3 bậc tự do (3 DOF), dẫn đến không gian làm việc và khả năng định hướng khâu chấp hành cuối bị hạn chế trong một số tư thế gắp phức tạp.
  • Hệ thống xử lý ảnh sử dụng camera 2D thông thường, độ chính xác của thuật toán SolvePnP và nhận diện màu sắc phụ thuộc nhiều vào điều kiện chiếu sáng của môi trường thực nghiệm.
  • Phần mềm Web Server xây dựng trên Node-RED phù hợp cho mô hình thí nghiệm nhưng khả năng mở rộng quản lý cho các hệ thống quy mô lớn gồm nhiều robot di động chạy đồng thời (Multi-AGV) còn hạn chế.

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

  • Nâng cấp cơ cấu cánh tay robot tại các trạm lên 4 đến 6 bậc tự do (DOF) để tăng tính linh hoạt và mở rộng không gian làm việc.
  • Trang bị camera độ sâu 3D (RGB-D Camera) hoặc cụm cảm biến chuyên dụng để tăng độ chính xác định vị vật thể và giảm sự phụ thuộc vào điều kiện ánh sáng.
  • Nghiên cứu mô hình động lực học bậc cao cho robot di động, kết hợp các giải thuật ước lượng trạng thái nâng cao như bộ lọc Kalman mở rộng (EKF).
  • Nâng cấp hệ thống web server thành nền tảng quản lý kho công nghiệp chuyên dụng (WMS - Warehouse Management System), bổ sung thuật toán điều phối đa robot (Multi-Robot Fleet Management) để tránh xung đột giao thông khi mở rộng quy mô nhà kho.

Giá trị tham khảo

Đồ án là tài liệu tham khảo kỹ thuật hữu ích cho:

  • Sinh viên và học viên: Chuyên ngành Công nghệ Kỹ thuật Điều khiển và Tự động hóa, Kỹ thuật Cơ điện tử, Kỹ thuật Robot, và Kỹ thuật Máy tính đang thực hiện các đồ án chuyên ngành hoặc khóa luận tốt nghiệp về robot tự hành và cánh tay máy.
  • Kỹ sư và nhóm nghiên cứu: Những người quan tâm đến việc ứng dụng hệ điều hành robot ROS (phiên bản ROS Noetic), cấu hình bộ công cụ Navigation Stack, và kết nối phần cứng nhúng qua giao thức rosserial.
  • Nội dung kỹ thuật có giá trị tham khảo cao:
    • Quy trình tính toán động học thuận, nghịch và động lực học Lagrange-Euler cho robot SCARA và robot chuỗi nối tiếp trên MATLAB/Simulink.
    • Các bước cấu hình tham số Costmap toàn cục/cục bộ và tinh chỉnh thuật toán né vật cản DWA trong ROS.
    • Phương pháp kết hợp camera calibration với thuật toán SolvePnP để xác định tọa độ 3D phục vụ thao tác gắp đặt tự động.
    • Kiến trúc tích hợp truyền thông đa tầng giữa vi điều khiển, máy tính nhúng và máy chủ giám sát qua giao thức MQTT.

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

1. Robot di động trong mô hình sử dụng các thiết bị phần cứng và cảm biến nào để thực hiện việc tự hành?

Robot di động sử dụng máy tính nhúng Mini-PC (chạy Ubuntu 20.04 và ROS Noetic) làm bộ xử lý trung tâm và bo mạch Arduino Uno R3 điều khiển động cơ qua mạch cầu H BTS7960. Thiết bị thu thập dữ liệu định vị chính là cảm biến Lidar Slamtec Mapper M1M1 phục vụ lập bản đồ SLAM và quét vật cản, kết hợp dữ liệu odometry từ bộ mã hóa xung (encoder) gắn trên động cơ DC Servo JBG37-545. Ngoài ra, xe được trang bị cụm cảm biến siêu âm HC-SR04 phát hiện vật cản cự ly gần và cảm biến INA219 để giám sát điện áp và dòng điện của khối pin Lithium SN14625-LFP.

2. Thuật toán nào được cấu hình trong ROS Navigation Stack để dẫn đường cho robot di động?

Hệ thống điều hướng sử dụng tiến trình move_base phối hợp hai lớp giải thuật:

  • Lập kế hoạch toàn cục (Global Planner): Sử dụng thuật toán Dijkstra để tính toán tuyến đường ngắn nhất trên bản đồ tĩnh Occupancy Grid đã được xây dựng từ trước.
  • Lập kế hoạch cục bộ (Local Planner): Sử dụng thuật toán Dynamic Window Approach (DWA). Thuật toán này liên tục tính toán không gian vận tốc khả thi dựa trên giới hạn vận tốc, khả năng gia tốc của động cơ và khoảng cách phanh an toàn trước vật cản, từ đó tối ưu hàm mục tiêu để bám theo lộ trình toàn cục và né tránh các vật cản động phát sinh.

3. Chuỗi cơ chế phục hồi (Recovery Behaviors) của robot di động hoạt động theo trình tự nào khi bị kẹt đường?

Khi tiến trình move_base không tìm được đường đi hợp lệ hoặc robot bị kẹt, hệ thống sẽ tự động kích hoạt tuần tự 5 trạng thái phục hồi:

  1. Conservative Reset: Xóa các vật cản tạm thời hoặc nhiễu cảm biến trong một phạm vi nhỏ trên Costmap cục bộ xung quanh robot.
  2. Clearing Rotation: Cho robot thực hiện động tác xoay tròn tại chỗ để cảm biến Lidar quét lại toàn diện môi trường 360 độ nhằm cập nhật lại bản đồ chi phí.
  3. Aggressive Reset: Mở rộng phạm vi xóa vật cản trên một vùng Costmap lớn hơn (hoặc toàn bộ bản đồ cục bộ) để loại bỏ các sai số tích lũy nghiêm trọng.
  4. Clearing Rotation (lần 2): Thực hiện thêm một lần xoay tròn tại chỗ để tìm kiếm lối đi khả thi sau khi đã xóa bản đồ diện rộng.
  5. Aborted: Nếu tất cả các bước trên đều thất bại và robot vẫn không thể di chuyển, tiến trình điều hướng sẽ chính thức hủy bỏ nhiệm vụ và báo lỗi về máy chủ.

4. Cánh tay robot tại hai trạm làm việc có kết cấu cơ học như thế nào?

Cả hai cánh tay robot tại trạm đều có 3 bậc tự do (3 DOF):

  • Trạm Dorna: Là cánh tay robot công nghiệp cấu hình chuỗi nối tiếp với 3 khớp xoay độc lập, sử dụng động cơ bước và công tắc hành trình để định vị điểm gốc.
  • Trạm M1 (Dobot M1): Là cánh tay robot cấu hình SCARA gồm 1 khớp tịnh tiến $d$ di chuyển theo phương thẳng đứng (nhờ cơ cấu vít me) và 2 khớp xoay $\theta_2, \theta_3$ hoạt động trong mặt phẳng nằm ngang. Robot M1 được điều khiển vị trí từng khớp bằng bộ điều khiển PID sau khi đã giải phương trình động học và động lực học Lagrange.

5. Hệ thống sử dụng phương pháp nào để xác định tọa độ gắp vật từ camera 2D?

Quy trình trích xuất tọa độ 3D từ hình ảnh 2D được thực hiện qua các bước:

  1. Camera được hiệu chuẩn (Camera Calibration) từ trước nhằm khử méo thấu kính và xác định ma trận thông số nội (intrinsic matrix).
  2. Hình ảnh thu được từ camera 2D được xử lý bằng thư viện OpenCV: Chuyển đổi sang không gian màu HSV để phân vùng và nhận diện ô vuông màu đỏ (định vị sàn robot di động), hoặc giải mã vị trí 4 góc của mã QR gắn trên kiện hàng.
  3. Ứng dụng thuật toán SolvePnP để giải bài toán phối cảnh $n$ điểm (Perspective-n-Point), tính toán ma trận xoay và vector tịnh tiến giữa hệ tọa độ của máy ảnh và vật thể.
  4. Áp dụng ma trận chuyển đổi tọa độ thuần nhất để quy đổi vị trí tâm vật thể từ hệ tọa độ camera sang hệ tọa độ gốc của cánh tay robot, cung cấp tọa độ $(X, Y, Z)$ chính xác cho khâu chấp hành thực hiện thao tác gắp/đặt.

Kết luận

Đồ án tốt nghiệp đã nghiên cứu, chế tạo và vận hành thành công mô hình quản lý xuất nhập kho tự động dựa trên sự phối hợp đồng bộ giữa robot di động vi sai và hai trạm cánh tay robot 3 bậc tự do (Dorna và M1). Bằng việc ứng dụng nền tảng ROS Noetic với thuật toán điều hướng Dijkstra và DWA, kết hợp công nghệ xử lý ảnh nhận diện mã QR/màu sắc qua OpenCV và thuật toán SolvePnP, hệ thống đã thực hiện ổn định các chu trình vận chuyển, bốc dỡ và lưu kho hàng hóa. Cơ chế giám sát tập trung thông qua giao thức MQTT và giao diện Web Server trên nền Node-RED đã chứng minh tính khả thi, độ tin cậy và giá trị thực tiễn của mô hình phân tán chức năng trong tự động hóa kho vận thông minh.