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

Trong bối cảnh công nghiệp 4.0, robot di động tự hành (Autonomous Mobile Robot - AMR) và xe tự hành (Automated Guided Vehicle - AGV) đóng vai trò then chốt trong việc tự động hóa các quy trình vận chuyển, quản lý kho hàng và vận hành dây chuyền sản xuất. Khả năng tự hành an toàn và hiệu quả của robot phụ thuộc hoàn toàn vào hệ thống dẫn đường (Navigation), bao gồm các tác vụ tự định vị (Localization), tạo bản đồ môi trường (Mapping) và lập kế hoạch di chuyển (Motion Planning).

Tuy nhiên, việc dẫn đường cho robot trong môi trường trong nhà đang đối mặt với thách thức lớn về hiện tượng trôi dạt định vị (localization drift). Khi hoạt động trong các không gian biến động, nhiều vật cản hoặc cấu trúc không gian thay đổi nhanh chóng, các thuật toán định vị nội tại (như SLAM dựa trên cảm biến Lidar hay Odometry từ bánh xe) thường tích lũy sai số. Lỗi cảm biến, hiện tượng trượt bánh (wheel slippage) và sai số cơ cấu truyền động dẫn đến sự chênh lệch đáng kể giữa vị trí thực tế của robot và vị trí được ước lượng trên bản đồ, khiến robot không thể đến đúng điểm đích hoặc va chạm với chướng ngại vật. Mặt khác, hệ thống định vị toàn cầu (GPS) không thể giải quyết bài toán này do sóng vệ tinh bị suy giảm nghiêm trọng khi xuyên qua tường và mái che của các tòa nhà, chỉ đạt độ chính xác từ 5m đến 10m ở không gian mở ngoài trời.

Trước thực tế đó, đề tài đề xuất giải pháp ứng dụng hệ thống định vị trong nhà (Indoor Positioning System - IPS) dựa trên công nghệ vô tuyến băng thông siêu rộng (Ultra-Wideband - UWB) nhằm cung cấp mốc tọa độ tuyệt đối, hỗ trợ giám sát và hiệu chỉnh vị trí cho robot tự hành.

Nhiệm vụ nghiên cứu của đề tài bao gồm:

  1. Nghiên cứu tổng quan về hệ thống định vị trong nhà và so sánh các công nghệ định vị vô tuyến, quang học phổ biến.
  2. Nghiên cứu cơ sở lý thuyết về các thuật toán dẫn đường, công nghệ định vị và ánh xạ bản đồ đồng thời (SLAM) cùng các nguyên nhân gây sai số dẫn đường.
  3. Thiết kế bài toán hình học và mô hình toán học để xác định tọa độ không gian 2D dựa trên công nghệ UWB.
  4. Chế tạo phần cứng hệ thống định vị UWB thực tế (Anchor, Tag, vi điều khiển và phần mềm máy chủ).
  5. Xây dựng mô hình mô phỏng xe tự hành truyền động hai bánh vi sai (Differential Wheeled Robot) trên nền tảng ROS2.
  6. Thiết kế thuật toán tích hợp và tiến hành thử nghiệm mô phỏng, thực nghiệm để đánh giá khả năng bù sai lệch vị trí của hệ thống định vị UWB đối với xe tự hành.

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

  • Đối tượng nghiên cứu: Hệ thống định vị trong nhà dựa trên sóng vô tuyến UWB và hệ thống dẫn đường cho robot tự hành hai bánh vi sai.
  • Phạm vi không gian: Môi trường trong nhà với diện tích phòng thử nghiệm thực tế $6\text{m} \times 4\text{m}$ ($24\text{ m}^2$).
  • Phạm vi công nghệ: Sử dụng module UWB Decawave DW1000, vi điều khiển ESP32, giao thức truyền thông MQTT, phần mềm xử lý dữ liệu viết bằng Python; nền tảng phát triển robot ROS2 kết hợp công cụ mô phỏng Gazebo và Rviz2.

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

Khung lý thuyết và nguyên lý kỹ thuật

Đề tài dựa trên các nền tảng lý thuyết và công nghệ cốt lõi sau:

  1. Nguyên lý định vị UWB và phép đo thời gian bay hai chiều (Two-Way Time of Flight - ToF): Sóng UWB sử dụng băng thông tần số lớn ($>500\text{ MHz}$) ở tần số trung tâm $f = 3.5\text{ GHz}$, mang lại độ phân giải thời gian cao và khả năng chống hiện tượng đa đường (multipath) do phản xạ từ tường và đồ vật. Khoảng cách giữa Tag và Anchor được tính toán thông qua thời gian truyền tín hiệu hai chiều: $$\text{ToF} = \frac{(T_{t2} - T_{t1}) - (T_{a2} - T_{a1})}{2}$$ Trong đó:

    • $T_{t1}$: Thời điểm Tag phát tín hiệu yêu cầu.
    • $T_{a1}$: Thời điểm Anchor nhận tín hiệu yêu cầu.
    • $T_{a2}$: Thời điểm Anchor phát tín hiệu phản hồi.
    • $T_{t2}$: Thời điểm Tag nhận tín hiệu phản hồi.

    Khoảng cách $d$ được xác định qua công thức $d = \text{ToF} \times c$ (với $c$ là vận tốc ánh sáng).

  2. Bài toán xác định tọa độ phẳng (Trilateration): Hệ thống thiết lập 2 trạm Anchor cố định $A(0, 0)$ (tọa độ gốc) và $B(c, 0)$ nằm trên trục hoành với khoảng cách giữa hai mốc là $c$. Khi Tag $C(x, y)$ đo được cự ly $b$ tới $A$ và cự ly $a$ tới $B$, tọa độ điểm $C$ được giải tích thông qua định lý hàm số cosin trong tam giác $ABC$: $$\cos \alpha = \frac{b^2 + c^2 - a^2}{2bc}$$ $$x = b \cdot \cos \alpha$$ $$y = b \cdot \sin \alpha = b \sqrt{1 - \cos^2 \alpha}$$

  3. Lý thuyết thuật toán dẫn đường và SLAM:

    • Thuật toán dẫn đường: Grid-based (A*, Dijkstra), Sampling-based (RRT, PRM), Optimization-based (D*, LQR).
    • Công nghệ SLAM (Simultaneous Localization and Mapping): Giải quyết bài toán ước lượng trạng thái robot và xây dựng bản đồ đồng thời thông qua EKF-SLAM (Extended Kalman Filter), FastSLAM (kết hợp Particle Filter và EKF) và GraphSLAM (tối ưu hóa đồ thị ràng buộc không gian).

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

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

  • Phương pháp phân tích - tổng hợp: Khảo sát, so sánh các công nghệ IPS và các nhóm thuật toán dẫn đường tự động.
  • Phương pháp thiết kế và tích hợp phần cứng - phần mềm: Lập trình nhúng cho ESP32 giao tiếp module DW1000 qua chuẩn SPI, phát triển phần mềm định vị thời gian thực bằng Python và kết nối bản tin qua giao thức MQTT.
  • Phương pháp mô phỏng và kiểm thử thực nghiệm: Xây dựng mô hình robot 2 bánh vi sai trên ROS2, thiết lập kịch bản gây nhiễu và sai số định vị trong Gazebo/Rviz2, đo kiểm thông số cự ly thực tế của phần cứng UWB trên các khoảng cách cố định.

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

Chương 1: Tổng quan về hệ thống định vị trong nhà và các công nghệ định vị trong nhà

Chương 1 phân tích bức tranh tổng thể về định vị trong nhà, nêu rõ sự khác biệt giữa IPS và GPS. Do con người dành hơn 70% thời gian sinh hoạt và làm việc trong các không gian kín, nhu cầu định vị chính xác cho quản lý kho bãi, dẫn đường tòa nhà, y tế và cứu hộ là rất lớn.

Tác giả phân loại và đánh giá chi tiết hai nhóm công nghệ định vị trong nhà:

Nhóm công nghệ Công nghệ cụ thể Nguyên lý & Đặc tính kỹ thuật Ưu điểm Nhược điểm / Hạn chế
Sóng vô tuyến UWB Băng thông rộng ($>500\text{ MHz}$), đo khoảng cách ToF/TDoA Độ chính xác cao (cỡ cm), chống nhiễu đa đường tốt Chi phí thiết bị chuyên dụng
Bluetooth Dựa trên mạng lưới đèn hiệu (Beacon) và mức thu RSSI Phổ biến trên thiết bị di động, chi phí thấp Độ chính xác trung bình, dễ nhiễu
UHF RFID Thẻ RFID tần số cao kết hợp đầu đọc cố định Xuyên vật liệu tốt (gỗ, kim loại nhẹ), bảo mật cao Cần triển khai mật độ đầu đọc lớn
Wi-Fi Dựa trên hạ tầng Access Point sẵn có (RSSI/Fingerprinting) Tận dụng hạ tầng mạng sẵn có, vùng phủ rộng Độ chính xác thấp, biến thiên tín hiệu lớn
Quang học Video Camera Thị giác máy tính nhận dạng và bám vết đối tượng Dữ liệu đa chiều, trực quan Phụ thuộc ánh sáng, xử lý tính toán nặng
VLC Sử dụng ánh sáng khả kiến từ đèn LED để truyền tín hiệu An toàn sinh học, không gây nhiễu điện từ Bị chặn bởi vật cản quang học, góc hẹp

Chương này cũng tổng kết 8 lĩnh vực ứng dụng điển hình của IPS (điều hướng tòa nhà, quản lý tài sản, cá nhân hóa bán lẻ, an ninh giám sát, giáo dục, y tế, theo dõi thể thao/xây dựng, tương tác thực tế ảo AR/VR) và mô tả kiến trúc cơ bản của hệ thống IPS-UWB gồm Anchor, Tag và Server.

Chương 2: Các thuật toán dẫn đường cho robot

Chương 2 đi sâu vào các bài toán cốt lõi của ngành robot học liên quan đến chuyển động tự động:

  • Các thành phần của hệ thống dẫn đường: Thu thập dữ liệu cảm biến (Lidar, Radar, Camera, siêu âm), xây dựng bản đồ (Mapping), xác định vị trí (Localization), lập kế hoạch quỹ đạo (Path Planning) và điều khiển bám đường (Path Tracking).
  • Phân loại thuật toán lập quỹ đạo:
    • Grid-Based: Thuật toán Dijkstra (tìm đường ngắn nhất trên đồ thị khi chưa có tri thức heuristic) và A* (tối ưu hóa tìm kiếm đường đi bằng hàm chi phí kết hợp hàm heuristic).
    • Sampling-Based: RRT (Rapidly-exploring Random Tree) và PRM (Probabilistic Roadmap), hiệu quả trong không gian cấu hình nhiều chiều.
    • Optimization-Based: D* (cập nhật hướng đi linh hoạt khi gặp chướng ngại vật động) và LQR (Linear-Quadratic Regulator, tối ưu hóa hàm chi phí điều khiển mượt mà).
  • Công nghệ SLAM: Làm rõ nguyên lý giải quyết bài toán "con gà - quả trứng" (vừa định vị vừa vẽ bản đồ). Phân tích chi tiết 3 giải thuật:
    • EKF-SLAM: Ứng dụng bộ lọc Kalman mở rộng để ước lượng trạng thái robot và vị trí các mốc mốc (landmarks); hạn chế khi môi trường lớn hoặc có nhiều vật cản chuyển động.
    • FastSLAM: Tách bài toán thành ước lượng quỹ đạo robot bằng bộ lọc hạt (Particle Filter) và cập nhật mốc bản đồ độc lập bằng EKF.
    • GraphSLAM: Xây dựng đồ thị các ràng buộc phi tuyến giữa tư thế robot và các đặc trưng môi trường, tối ưu hóa toàn cục dữ liệu cảm biến.
  • Các vấn đề gây sai số dẫn đường: Sự sai lệch giữa quỹ đạo mong muốn và chuyển động thực tế do lỗi trôi cảm biến, trượt bánh xe trên mặt sàn và độ trễ cơ cấu chấp hành.

Chương 3: Xây dựng hệ thống định vị trong nhà hỗ trợ dẫn đường trên robot tự hành

Chương 3 trình bày toàn bộ quá trình thiết kế, tích hợp và đánh giá thực nghiệm:

  • Xây dựng hệ thống UWB: Thiết lập hệ thống 2 Anchor và 1 Tag đo khoảng cách hai chiều ToF ở tần số $3.5\text{ GHz}$. Thiết lập thuật toán giải tam giác phẳng để xuất tọa độ thời gian thực của Tag về máy chủ qua MQTT.
  • Mô hình hóa robot tự hành: Xây dựng mô hình Differential Wheeled Robot trên khung ROS2, tích hợp cảm biến Lidar mô phỏng trên Gazebo và giám sát trên Rviz2 để thực hiện đầy đủ 3 tính năng: Mapping, Localization, Navigation.
  • Thuật toán tích hợp UWB - Robot: Phát triển module giám sát tọa độ trên xe. Khi robot hoàn thành chu trình dẫn đường tự động của ROS2, module sẽ so sánh tọa độ đích mong muốn với tọa độ thực tế do hệ thống UWB cung cấp. Nếu sai lệch vượt ngưỡng quy định, hệ thống sẽ phát bản tin điều chỉnh để điều hướng robot đến đúng điểm đích.
  • Thực nghiệm và kiểm thử: Đo kiểm sai số khoảng cách của module DW1000 thực tế; thực hiện mô phỏng hai kịch bản gây lỗi định vị và kiểm chứng thuật toán điều chỉnh tự động trên ROS2/Gazebo.

Thiết kế và triển khai

Hệ thống được thiết kế theo kiến trúc phân tầng, tích hợp giữa phần cứng định vị vô tuyến ngoại vi và nền tảng điều khiển robot mã nguồn mở.

Cấu trúc phần cứng và truyền thông

Hệ thống định vị UWB thực tế bao gồm các thành phần:

  • Module UWB Decawave DW1000: Hoạt động ở dải tần số $3.5\text{ GHz}$, băng thông $>500\text{ MHz}$, giao tiếp với vi điều khiển qua chuẩn SPI.
  • Vi điều khiển ESP32: Đọc dữ liệu cự ly từ DW1000, đóng gói bản tin và truyền dữ liệu không dây qua giao thức MQTT.
  • Cấu hình trạm: Gồm 2 Anchor đặt cố định tại hai góc không gian (Anchor 1 làm gốc tọa độ $(0, 0)$, Anchor 2 nằm trên trục $x$) và 1 Tag di động gắn trực tiếp trên robot.
  • Server tính toán: Ứng dụng Python nhận dữ liệu MQTT từ các trạm, thực hiện thuật toán lượng giác giải tọa độ $(x, y)$ và trực quan hóa vị trí theo thời gian thực.

Mô hình robot tự hành trên ROS2

Robot được thiết kế theo dạng dẫn động hai bánh vi sai độc lập (Differential Wheeled Robot):

  • Phần mềm điều khiển: Xây dựng trên nền tảng ROS2.
  • Mô phỏng vật lý: Sử dụng công cụ Gazebo để mô phỏng động học xe và tương tác môi trường.
  • Trực quan hóa và điều hướng: Sử dụng công cụ Rviz2 để hiển thị bản đồ Lidar SLAM, trạng thái định vị và các đường dẫn Navigation.

Quy trình hoạt động của thuật toán tích hợp

Thuật toán điều phối và hiệu chỉnh sai số dẫn đường diễn ra theo quy trình:

Bước Tác vụ thực hiện Chi tiết xử lý
1 Chờ sự kiện dẫn đường Module trên robot ở trạng thái lắng nghe bản tin điều hướng.
2 Tiếp nhận & Lưu tọa độ đích Nhận bản tin dẫn đường hợp lệ, lưu tọa độ đích mong muốn $(x_{goal}, y_{goal})$.
3 Giám sát trạng thái di chuyển Robot tự hành di chuyển theo thuật toán dẫn đường nội tại (SLAM/Odometry).
4 Phát hiện hoàn thành hành trình Nhận sự kiện kết thúc di chuyển từ hệ thống Navigation của ROS2.
5 Kiểm tra sai lệch bằng UWB Đọc tọa độ thực tế từ hệ thống IPS-UWB; tính toán sai số khoảng cách giữa vị trí hiện tại và điểm đích.
6 Hiệu chỉnh sai số Nếu sai số lớn hơn ngưỡng cho phép, tự động tạo và gửi bản tin dẫn đường mới đưa xe về đúng tọa độ mục tiêu.

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

Kết quả thực nghiệm và số liệu kỹ thuật

  1. Thông số kỹ thuật linh kiện triển khai:

    • Module UWB DW1000: Băng tần hoạt động $3.5\text{ GHz}$, độ chính xác lý thuyết danh định đạt tới $10\text{cm}$.
    • Vi điều khiển ESP32: Tích hợp Wi-Fi hỗ trợ truyền nhận bản tin định vị qua MQTT.
  2. Kết quả đo khoảng cách và định vị UWB:

    • Kết quả đo kiểm cự ly tĩnh giữa Anchor và Tag cho thấy sai số tương đối của UWB có xu hướng giảm dần khi khoảng cách đo tăng lên.
    • Ở khoảng cách gần $1\text{m}$, sai số đo lớn nhất ghi nhận xấp xỉ $7%$, phù hợp với đặc tính phần cứng giá rẻ.
    • Trên giao diện theo dõi Python, hệ thống hiển thị chính xác vị trí Tag so với điểm đo tham chiếu chuẩn (thiết bị đo kiểm có độ chính xác $2\text{mm}$).
  3. Kết quả mô phỏng tích hợp trên ROS2/Gazebo:

    • Xây dựng thành công bản đồ môi trường thông qua SLAM Lidar và thực hiện dẫn đường tự động.
    • Thử nghiệm kịch bản tạo sai số cưỡng bức (dịch chuyển robot lệch khỏi quỹ đạo khi gần đến đích): Hệ thống UWB phát hiện tức thời sự sai lệch tọa độ và module tích hợp đã phát lệnh dẫn đường bổ sung, đưa xe tự hành quay trở lại đúng vị trí đích mong muốn.

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

  • Đề xuất mô hình tích hợp hệ thống định vị ngoài (IPS UWB) với hệ thống dẫn đường nội tại của robot (SLAM Lidar trên ROS2), giải quyết bài toán mất định vị hoặc tích lũy sai số khi robot hoạt động trong nhà.
  • Hiện thực hóa hệ thống định vị UWB 2D chi phí thấp sử dụng vi điều khiển ESP32 và module DW1000 với thuật toán hình học phẳng đơn giản, dễ triển khai.
  • Cung cấp mô hình mô phỏng hoàn chỉnh trên ROS2/Gazebo/Rviz2, phục vụ việc kiểm thử các thuật toán điều khiển và phục hồi dẫn đường tự động.

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

Hạn chế

  • Không gian thực nghiệm còn hẹp: Do điều kiện nghiên cứu, thử nghiệm định vị thực tế mới dừng lại trong căn phòng diện tích $6\text{m} \times 4\text{m}$ ($24\text{ m}^2$), chưa kiểm tra toàn diện dải đo cực đại và vùng phủ sóng của sóng UWB.
  • Độ chính xác và tốc độ phản hồi của phần cứng: Module DW1000 và ESP32 thuộc phân khúc giá rẻ nên tốc độ lấy mẫu và độ chính xác ở cự ly ngắn ($1\text{m}$) còn có sai số đáng kể (~$7%$).
  • Mô hình định vị 2D tối giản: Hệ thống chỉ sử dụng 2 Anchor, mới giải quyết bài toán định vị trên một nửa mặt phẳng tọa độ xác định và dễ bị ảnh hưởng nếu Tag đi vào vùng góc chết.
  • Thực nghiệm tích hợp dừng ở mô phỏng: Thuật toán bù sai lệch dẫn đường được kiểm chứng hoàn toàn trên môi trường mô phỏng ROS2/Gazebo, chưa thử nghiệm tích hợp module phần cứng UWB trực tiếp lên một robot vật lý thực tế trong môi trường công nghiệp có nhiều vật cản động.

Hướng nghiên cứu tiếp

  • Nâng cấp phần cứng bằng các dòng module UWB công nghiệp có tốc độ lấy mẫu cao hơn và độ phân giải thời gian chính xác hơn.
  • Mở rộng mạng lưới định vị với hệ thống từ 3 đến nhiều Anchor để thực hiện giải thuật đa giác (Multilateration) trong không gian 2D/3D rộng lớn như nhà xưởng, kho bãi.
  • Triển khai toàn bộ giải pháp lên mô hình phần cứng xe tự hành thực tế, kết hợp thuật toán dung hợp cảm biến (Sensor Fusion) giữa UWB, IMU và Lidar SLAM.

Giá trị tham khảo

Tài liệu đồ án mang lại giá trị tham khảo thiết thực cho:

  • Sinh viên, học viên ngành Kỹ thuật Điện tử, Tự động hóa, Cơ điện tử và Robot: Tham khảo cơ sở lý thuyết về nguyên lý đo khoảng cách ToF của sóng UWB, các thuật toán SLAM (EKF-SLAM, FastSLAM, GraphSLAM) và các giải thuật tìm đường (A*, Dijkstra, RRT, LQR).
  • Người phát triển hệ thống nhúng và IoT: Tham khảo cách thức ghép nối phần cứng module DW1000 với ESP32, lập trình truyền nhận dữ liệu cự ly qua giao thức MQTT và xử lý tọa độ trên Python.
  • Kỹ sư phát triển xe tự hành (AGV/AMR): Tham khảo kiến trúc mô phỏng robot vi sai trên ROS2/Gazebo/Rviz2 và ý tưởng thuật toán giám sát, tái dẫn đường (recovery navigation) dựa trên mốc tọa độ ngoại vi.

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

1. Hệ thống UWB trong đề tài sử dụng nguyên lý nào để đo khoảng cách giữa Tag và Anchor?
Hệ thống sử dụng phương pháp đo khoảng cách hai chiều dựa trên thời gian bay (Two-Way Time of Flight - ToF). Tag gửi tín hiệu yêu cầu ghi lại mốc thời gian $T_{t1}$, Anchor nhận tại $T_{a1}$ và phản hồi tại $T_{a2}$. Tag nhận phản hồi tại $T_{t2}$. Thời gian truyền sóng được tính bằng công thức $\text{ToF} = [(T_{t2} - T_{t1}) - (T_{a2} - T_{a1})] / 2$. Nhân ToF với vận tốc ánh sáng $c$ sẽ thu được khoảng cách.

2. Tọa độ của xe tự hành được tính toán như thế nào từ hai trạm Anchor?
Hệ thống sử dụng bài toán tam giác phẳng. Hai Anchor $A$ và $B$ được đặt cố định tại hai góc phòng (với $A$ là gốc $(0, 0)$, $B$ có tọa độ $(c, 0)$). Khi Tag $C$ gắn trên xe đo được khoảng cách $b$ tới $A$ và $a$ tới $B$, hệ thống dùng định lý hàm số cosin để tính $\cos \alpha = (b^2 + c^2 - a^2) / (2bc)$, từ đó xác định tọa độ $x = b \cdot \cos \alpha$ và $y = b \cdot \sin \alpha$.

3. Tại sao công nghệ UWB lại được chọn thay vì Wi-Fi hay Bluetooth cho bài toán định vị hỗ trợ robot?
UWB sử dụng băng thông tần số rất rộng ($>500\text{ MHz}$) ở tần số $3.5\text{ GHz}$, mang lại độ phân giải thời gian cực cao để đo ToF chính xác đến từng centimet và có khả năng chống lại hiện tượng phản xạ đa đường (multipath) trong nhà. Ngược lại, Wi-Fi và Bluetooth chủ yếu dựa vào cường độ tín hiệu RSSI, vốn dễ bị suy hao, nhiễu và sai số lớn trong môi trường nhiều vật cản.

4. Module tích hợp xử lý tình huống sai lệch vị trí của xe tự hành theo cơ chế nào?
Trên xe có một module lắng nghe trạng thái dẫn đường. Khi nhận được sự kiện xe đã kết thúc hành trình di chuyển, module sẽ lấy tọa độ thực tế do hệ thống UWB đo được và so sánh với tọa độ đích đã lưu ban đầu. Nếu phát hiện chênh lệch vượt ngưỡng cho phép, module sẽ tự động phát một bản tin dẫn đường mới để điều khiển xe di chuyển bổ sung về đúng vị trí đích.

5. Những phần mềm và công cụ mã nguồn mở nào được sử dụng để xây dựng và kiểm thử hệ thống?
Hệ thống sử dụng ngôn ngữ Python để lập trình ứng dụng tính toán tọa độ và giao diện giám sát; giao thức MQTT để truyền nhận dữ liệu không dây; khung phát triển robot ROS2 để điều khiển; phần mềm Gazebo để mô phỏng mô hình vật lý robot 2 bánh vi sai; và công cụ Rviz2 để trực quan hóa bản đồ SLAM và các tác vụ dẫn đường.


Kết luận

Đề án đã nghiên cứu và ứng dụng thành công công nghệ định vị trong nhà UWB để giải quyết vấn đề sai lệch vị trí trong quá trình dẫn đường cho robot tự hành. Tác giả đã hoàn thiện phần cứng đo cự ly UWB DW1000 kết hợp vi điều khiển ESP32, xây dựng thuật toán giải tọa độ 2D trên máy chủ Python và phát triển mô hình mô phỏng xe tự hành hai bánh vi sai trên ROS2. Kết quả thực nghiệm và mô phỏng trên Gazebo/Rviz2 chứng minh hệ thống có khả năng phát hiện lỗi định vị và tự động hiệu chỉnh đưa robot về đúng vị trí đích, mở ra giải pháp khả thi trong việc nâng cao độ chính xác dẫn đường cho robot trong các môi trường trong nhà.