Giới thiệu dự án
Trong bối cảnh bùng nổ của cuộc Cách mạng Công nghiệp 4.0 và chuyển đổi số trong chuỗi cung ứng, hệ thống phương tiện tự hành (Autonomous Guided Vehicles - AGV, Autonomous Mobile Robots - AMR) đóng vai trò xương sống tại các nhà kho thông minh và nhà máy hiện đại. Theo báo cáo từ Grand View Research, thị trường AMR toàn cầu dự kiến đạt tốc độ tăng trưởng kép (CAGR) trên 19.5% giai đoạn 2023–2030. Tuy nhiên, phần lớn các hệ thống AGV truyền thống vẫn phụ thuộc vào đường dẫn từ tính hoặc mã QR dán sàn, dẫn đến chi phí bảo trì cao, thiếu linh hoạt khi thay đổi layout sản xuất và dễ bị gián đoạn vận hành khi môi trường thay đổi.
Vấn đề cốt lõi đặt ra là: Làm thế nào để chế tạo một hệ thống robot tự hành bánh vi sai chi phí thấp nhưng sở hữu năng lực tự định vị, quét dựng bản đồ môi trường thời gian thực và tự động tối ưu hóa quỹ đạo di chuyển trong không gian chưa biết trước?
Đồ án tốt nghiệp "Thiết kế và chế tạo xe tự hành ứng dụng SLAM tối ưu hóa đường đi" được thực hiện bởi nhóm sinh viên chuyên ngành Kỹ thuật Robotics, Khoa Kỹ thuật Điện tử 1 – Học viện Công nghệ Bưu chính Viễn thông (PTIT) dưới sự hướng dẫn của TS. Nguyễn Quốc Uy nhằm giải quyết bài toán trên.
+-----------------------------------------------------------------------------------+
| MỤC TIÊU NGHIÊN CỨU DỰ ÁN |
+-----------------------------------------------------------------------------------+
| 1. Thiết kế và tích hợp phần cứng xe tự hành bánh vi sai: Khung gầm, Raspberry |
| Pi 4 Model B, cảm biến 2D LiDAR RPLidar A1, IMU 6 trục MPU6050, Motor Driver. |
| 2. Triển khai kiến trúc phần mềm trên nền tảng ROS 2 Humble Hawksbill và Ubuntu |
| 22.04 LTS, áp dụng mô hình phân tán DDS (Data Distribution Service). |
| 3. Xây dựng bản đồ độ phân giải cao thời gian thực bằng gói SLAM Toolbox |
| (Graph-based SLAM / Karto SLAM) tối ưu hóa pose-graph và loop closure. |
| 4. Triển khai ngăn xếp điều hướng tự율 Navigation2 (Nav2): Lập lộ trình toàn cục |
| (Global Planner - Smac Planner / A*) và cục bộ (Local Controller - DWA/TEB). |
| 5. Kiểm thử thực nghiệm, đối chuẩn hiệu năng giữa mô phỏng Gazebo/RViz2 và |
| môi trường thực tế với sai số định vị nhỏ hơn 5cm. |
+-----------------------------------------------------------------------------------+
Phương pháp tiếp cận tập trung vào việc hợp nhất dữ liệu đa cảm biến (Multi-sensor Fusion) giữa 2D LiDAR (12m range, 8000 mẫu/giây) và IMU MPU6050 thông qua bộ lọc Kalman mở rộng (robot_localization EKF) nhằm triệt tiêu hiện tượng trượt bánh (wheel slip), giảm thiểu độ trôi tích lũy (drift) của Odometry. Hệ thống hướng tới khả năng tự hành hoàn toàn cấp độ công nghiệp với chi phí phần cứng tối ưu dưới 10 triệu VNĐ, sẵn sàng mở rộng cho quản lý đội xe (fleet management).
Phạm vi nghiên cứu tập trung vào môi trường trong nhà (indoor) với bề mặt sàn phẳng, chướng ngại vật tĩnh và động có vận tốc dưới $0.5\text{ m/s}$, không gian hoạt động diện tích tối đa $500\text{ m}^2$.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Trước khi thiết kế, nhóm nghiên cứu đã tiến hành phân tích so sánh các công nghệ dẫn đường robot di động hiện hành:
| Tiêu chí |
AGV Dẫn đường từ tính / QR Code |
SLAM ROS 1 (Gmapping / Cartographer) |
Giải pháp Đề tài (SLAM Toolbox + ROS 2 Humble + Nav2) |
| Tính linh hoạt |
Rất thấp (cố định đường kẻ) |
Trung bình (cần ROS Master, dễ nghẽn mạng) |
Rất cao (thích ứng môi trường động, phân tán) |
| Khả năng mở rộng |
Tốn kém khi sửa đổi layout |
Hạn chế giao tiếp đa robot |
Vượt trội nhờ ROS 2 DDS đa miền (Domain ID) |
| Độ trễ xử lý |
Thấp ($<20\text{ms}$) |
$80\text{ms} - 150\text{ms}$ |
Cực thấp ($<35\text{ms}$, Real-time executor) |
| Chi phí triển khai |
$5.000 - $15.000 USD |
$1.500 - $3.000 USD |
Dưới $400 USD (Tối ưu cho R&D và SMB) |
| Khả năng phục hồi |
Dừng khi mất line |
Dễ lạc vị trí khi xoay nhanh |
Tự động phục hồi qua Nav2 Recovery Server |
Yêu cầu người dùng và hệ thống được phân loại theo ma trận MoSCoW:
- Must Have (Bắt buộc): Quét bản đồ 2D Occupancy Grid (
res: 0.05m), lập đường đi tránh vật cản động, định vị AMCL sai số vị trí $< 5\text{cm}$, góc quay $< 3^\circ$.
- Should Have (Nên có): Giao diện giám sát RViz2 trực quan, chuyển đổi mượt giữa chế độ tự hành và lái thủ công qua
teleop_twist_keyboard.
- Could Have (Có thể có): Cơ chế làm mịn quỹ đạo (Smoother Server), cập nhật Costmap đa tầng (Voxel layer, Inflation layer).
- Won't Have (Chưa thực hiện): Dẫn đường GPS ngoài trời và lập bản đồ 3D Point Cloud mật độ cao.
Thiết kế hệ thống
Kiến trúc xe tự hành được phân tách thành 3 tầng chức năng độc lập nhưng liên kết chặt chẽ qua hạ tầng DDS:
graph TD
subgraph SENSORS_HARDWARE["TẦNG PHẦN CỨNG & CẢM BIẾN"]
A1["RPLidar A1 (2D LiDAR)"]
A2["MPU6050 (6-DOF IMU)"]
A3["DC Motors + Optical Encoders"]
A4["Raspberry Pi 4 (4GB RAM)"]
A5["Waveshare Motor Driver HAT"]
end
subgraph ROS2_CORE["TẦNG ĐIỀU HÀNH & XỬ LÝ TRUNG TÂM (ROS 2 HUMBLE)"]
B1["rplidar_ros Node (/scan)"]
B2["mpu6050_driver Node (/imu/data)"]
B3["differential_drive_controller (/odom)"]
B4["robot_localization (EKF Sensor Fusion)"]
B5["SLAM Toolbox (Pose Graph Optimization)"]
B6["Nav2 Stack (BT Navigator, Planner, Controller)"]
end
subgraph ACTUATION["TẦNG CHẤP HÀNH & GIÁM SÁT"]
C1["Motor PWM Control (TB6612FNG)"]
C2["RViz2 Visualization GUI"]
C3["Teleop / Mission Dispatcher"]
end
A1 -->|UART /dev/ttyUSB0| B1
A2 -->|I2C Interface| B2
A3 -->|Quadrature Pulses| B3
B1 --> B5
B2 --> B4
B3 --> B4
B4 -->|/odometry/filtered| B5
B4 -->|TF: odom -> base_link| B6
B5 -->|/map & TF: map -> odom| B6
B6 -->|geometry_msgs/Twist on /cmd_vel| A5
A5 --> C1
B5 & B6 --> C2
C3 --> B6
Technology Stack & Version Specifications:
- Hệ điều hành: Ubuntu Server 22.04.4 LTS (64-bit ARM / x86_64).
- Middleware: ROS 2 Humble Hawksbill (RMW:
rmw_cyclonedds_cpp).
- Gói SLAM:
slam_toolbox v2.6.4 (Async Online Mapping Mode).
- Ngăn xếp điều hướng:
nav2_bringup, nav2_bt_navigator, nav2_smac_planner v1.1.9.
- Mô phỏng 3D: Gazebo 11 (Gazebo Classic) + RViz2.
- Ngôn ngữ: C++17 (Hiệu năng cao cho node tính toán), Python 3.10 (Scripting & Lifecycle control).
Thiết kế giao tiếp API (ROS 2 Interfaces):
Hệ thống chuẩn hóa các giao tiếp message, service và action nội bộ:
- Topics:
/scan (sensor_msgs/msg/LaserScan): Tần số $10\text{Hz}$, góc quét $360^\circ$, cự ly $0.15\text{m} - 12.0\text{m}$.
/imu/data (sensor_msgs/msg/Imu): Dữ liệu gia tốc tuyến tính và vận tốc góc tần số $50\text{Hz}$.
/odom (nav_msgs/msg/Odometry): Ước lượng vị trí từ bộ mã hóa quang encoder.
/cmd_vel (geometry_msgs/msg/Twist): Vận tốc dài ($v_x$) và vận tốc góc ($\omega_z$).
/map (nav_msgs/msg/OccupancyGrid): Lưới bản đồ occupancy xác suất $0 - 100$.
- Actions:
navigate_to_pose (nav2_msgs/action/NavigateToPose): Nhận mục tiêu tọa độ $(x, y, \theta)$, điều phối chuỗi hành vi Behavior Tree.
Methodology (Quy trình phát triển)
Dự án áp dụng mô hình phát triển Agile-Scrum rút gọn trong thời gian 10 tuần với 5 giai đoạn:
- Giai đoạn 1 (Tuần 1–3): Nghiên cứu lý thuyết SLAM/Nav2, cấu hình toolchain ROS 2, thiết kế mạch nguyên lý và lắp ráp cơ khí phần cứng.
- Giai đoạn 2 (Tuần 4–5): Xây dựng mô hình robot URDF/Xacro, giả lập môi trường nhà kho ảo trên Gazebo 11, tinh chỉnh tham số vật lý.
- Giai đoạn 3 (Tuần 6–7): Thực thi thuật toán SLAM Toolbox quét map mô phỏng và thực tế, cấu hình TF Tree (
map -> odom -> base_footprint -> base_link -> laser_frame).
- Giai đoạn 4 (Tuần 8–9): Tích hợp Nav2, hiệu chuẩn bộ điều khiển DWA (Dynamic Window Approach), thiết lập Recovery Behaviors (xoay $360^\circ$, lùi xe, dọn dẹp Costmap).
- Giai đoạn 5 (Tuần 10): Đánh giá thực nghiệm, đo đạc sai số, hoàn thiện báo cáo và bảo vệ đồ án.
Implementation và kết quả
Development Process & Key Algorithms
1. Thuật toán Lập bản đồ SLAM Toolbox:
SLAM Toolbox xử lý bài toán tối ưu hóa đồ thị tư thế (Pose-Graph Optimization). Khi robot di chuyển, laser scan được khớp với bản đồ cục bộ bằng thuật toán tương quan quét (Scan-to-Map Matching). Hệ thống duy trì các node tư thế $\mathbf{x}i$ và cạnh ràng buộc odometry/scan matching $\mathbf{z}{ij}$. Hàm mục tiêu cực tiểu hóa sai số phi tuyến:
$$F(\mathbf{x}) = \sum_{\langle i, j \rangle \in \mathcal{C}} \mathbf{e}(\mathbf{x}i, \mathbf{x}j, \mathbf{z}{ij})^T \mathbf{\Omega}{ij} \mathbf{e}(\mathbf{x}_i, \mathbf{x}j, \mathbf{z}{ij})$$
Trong đó $\mathbf{\Omega}_{ij}$ là ma trận thông tin (nghịch đảo ma trận hiệp phương sai sai số) và $\mathbf{e}$ là vector phần dư sai số không gian Se(2). Khi phát hiện vòng lặp kín (Loop Closure), thuật toán SPA (Sparse Pose Adjustment) tái cấu trúc toàn bộ đồ thị để triệt tiêu tích lũy sai số.
// Trích xuất cấu hình SLAM Toolbox tối ưu cho Raspberry Pi 4 (slam_toolbox_params.yaml)
/*
* Thuật toán: Karto Scan Matcher + Ceres Pose Graph Optimizer
*/
solver_plugin: solver_plugins::CeresSolver
ceres_linear_solver: SPARSE_NORMAL_CHOLESKY
ceres_preconditioner: JACOBI
ceres_trust_strategy: LEVENBERG_MARQUARDT
resolution: 0.05 # Độ phân giải ô lưới: 5cm/pixel
max_laser_range: 12.0 # Tầm quét tối đa của RPLidar A1
minimum_time_interval: 0.2 # Chu kỳ cập nhật node đồ thị (s)
transform_publish_period: 0.02 # Tần số phát TF map->odom (50Hz)
loop_search_maximum_distance: 4.0 # Bán kính quét tìm vòng lặp kín (m)
do_loop_closing: true
loop_match_minimum_chain_size: 10
2. Ngăn xếp Điều hướng Nav2 & Thuật toán Lập kế hoạch:
- Global Planner (Smac Planner 2D / $A^*$): Tìm đường đi tối ưu toàn cục trên ma trận chi phí
Global Costmap dựa trên hàm đánh giá $f(n) = g(n) + h(n)$, trong đó $g(n)$ là chi phí thực từ điểm xuất phát và $h(n) = \sqrt{(x_d - x_n)^2 + (y_d - y_n)^2}$ là khoảng cách Euclidean heuristic.
- Local Controller (DWB / DWA): Lấy mẫu không gian vận tốc $(v, \omega)$ khả dĩ trong cửa sổ thời gian ngắn $\Delta t$, mô phỏng quỹ đạo và tính điểm đánh giá quỹ đạo tối ưu:
$$\text{Score}(v, \omega) = \alpha \cdot \text{target_heading}(v, \omega) + \beta \cdot \text{clearance}(v, \omega) + \gamma \cdot \text{velocity}(v, \omega)$$
# Launch script khởi tạo đồng bộ hệ thống điều hướng trên ROS 2 (nav2_bringup.launch.py)
import os
from ament_index_python.packages import get_package_share_directory
from launch import LaunchDescription
from launch_ros.actions import Node
def generate_launch_description():
nav2_param_file = os.path.join(
get_package_share_directory('robot_navigation'), 'config', 'nav2_params.yaml'
)
return LaunchDescription([
Node(
package='nav2_controller',
executable='controller_server',
name='controller_server',
output='screen',
parameters=[nav2_param_file],
remappings=[('/cmd_vel', '/cmd_vel_nav')]
),
Node(
package='nav2_planner',
executable='planner_server',
name='planner_server',
output='screen',
parameters=[nav2_param_file]
),
Node(
package='nav2_bt_navigator',
executable='bt_navigator',
name='bt_navigator',
output='screen',
parameters=[nav2_param_file]
),
Node(
package='nav2_lifecycle_manager',
executable='lifecycle_manager',
name='lifecycle_manager_navigation',
output='screen',
parameters=[{'use_sim_time': False},
{'autostart': True},
{'node_names': ['controller_server', 'planner_server', 'bt_navigator']}]
)
])
Testing và validation
Hệ thống đã trải qua 50 đợt thử nghiệm độc lập trên mô phỏng Gazebo (môi trường kho ảo $20\text{m} \times 20\text{m}$) và môi trường thực tế tại sảnh tầng 4 Tòa nhà A2 - PTIT Hà Nội ($12\text{m} \times 8\text{m}$).
+-----------------------------------------------------------------------------------+
| KẾT QUẢ ĐỐI CHUẨN HIỆU NĂNG THỰC NGHIỆM |
+-----------------------------------------------------------------------------------+
| Chỉ số Đo lường | Mục tiêu Đề tài | Mô phỏng Gazebo | Thực nghiệm Xe |
+---------------------------------+------------------+-----------------+----------------+
| Độ phân giải bản đồ (Map Res) | 0.05 m/cell | 0.05 m/cell | 0.05 m/cell |
| Sai số vị trí cuối (Goal Pose) | < 5.0 cm | 1.8 cm | 3.2 cm |
| Sai số góc quay đích (Yaw Error)| < 5.0 deg | 1.2 deg | 2.6 deg |
| Tốc độ tính toán Global Path | < 200 ms | 42 ms | 68 ms |
| Tần số vòng điều khiển Local | > 15 Hz | 20 Hz | 20 Hz |
| Tải CPU trung bình (RPi 4) | < 75% | N/A (PC Core i7)| 58.4% |
| Tải RAM trung bình (RPi 4) | < 2.0 GB | N/A | 1.42 GB |
| Tỷ lệ đóng vòng lặp Loop Closure| > 90% | 100% (20/20) | 95.0% (19/20) |
+-----------------------------------------------------------------------------------+
Hệ thống xử lý vượt trội các tình huống va chạm tiềm ẩn: khi có người đi bộ cắt ngang hành trình ở khoảng cách $1.0\text{m}$, Controller Server lập tức giảm vận tốc về $0.0\text{m/s}$ trong $120\text{ms}$ và phát lệnh tái quy hoạch đường đi qua Costmap cập nhật chỉ sau $180\text{ms}$.
Đổi mới và đóng góp
- Ứng dụng thành công ROS 2 Humble & SLAM Toolbox trên kiến trúc nhúng biên (Edge SBC): Khắc phục triệt để nhược điểm điểm lỗi đơn (Single Point of Failure - Master Node) của ROS 1, phân tán tải tính toán giúp xe hoạt động độc lập và ổn định liên tục trên 4 giờ mà không gặp sự cố tràn bộ nhớ (memory leak).
- Triệt tiêu độ trôi tích lũy bằng Sensor Fusion: Kết hợp thuật toán Odometry hồi tiếp từ động cơ với góc quay từ IMU MPU6050 qua EKF, giảm sai số ước lượng vị trí góc quay từ $14.2^\circ/\text{phút}$ xuống còn $1.1^\circ/\text{phút}$.
- Tối ưu hóa tham số Costmap & Behavior Tree đa tầng: Thiết lập cấu hình Dynamic Footprint và Inflation Layer với bán kính an toàn tùy biến ($r_{\text{inflat}} = 0.25\text{m}$), giúp xe luồn lách qua các khe cửa hẹp $0.7\text{m}$ an toàn mà không bị kẹt trạng thái (deadlock).
- Hiệu quả kinh tế - kỹ thuật: Giảm chi phí sản xuất phần cứng hơn $85%$ so với các dòng robot công nghiệp thương mại cùng tính năng, cung cấp mô hình mở cho đào tạo và nghiên cứu ứng dụng.
Ứng dụng thực tế và triển khai
Kịch bản triển khai thực tế
- Hệ thống kho vận Logistics (Smart Warehousing): Vận chuyển kiện hàng linh kiện giữa các dây chuyền lắp ráp tự động, định vị chính xác vị trí trả hàng.
- Bệnh viện và Trung tâm Y tế: Khử khuẩn tự động hoặc vận chuyển mẫu xét nghiệm, thuốc men trong khu vực cách ly, giảm thiểu tiếp xúc nguồn lây.
- Tòa nhà văn phòng / Siêu thị: Tự hành tuần tra an ninh, quét dọn và dẫn đường cho khách tham quan.
+-----------------------------------------------------------------------------------+
| BẢNG TÍNH TOÁN CHI PHÍ & THỜI GIAN HOÀN VỐN (ROI) |
+-----------------------------------------------------------------------------------+
| Hạng mục Đầu tư | Số lượng | Đơn giá (VNĐ) | Thành tiền (VNĐ)|
+--------------------------------------+----------+-----------------+-----------------+
| Bộ vi xử lý Raspberry Pi 4 (4GB RAM) | 01 cái | 1.850.000 | 1.850.000 |
| Cảm biến RPLidar A1M8 360 độ 12m | 01 bộ | 2.300.000 | 2.300.000 |
| Cảm biến 6-DOF IMU MPU6050 | 01 cái | 65.000 | 65.000 |
| Động cơ DC Encoder + Khung gầm nhôm | 01 bộ | 1.200.000 | 1.200.000 |
| Mạch điều khiển Waveshare Driver HAT | 01 cái | 450.000 | 450.000 |
| Pin Li-ion 3S 12V 5200mAh + Mạch BMS | 01 bộ | 650.000 | 650.000 |
| Phụ kiện, dây nối, nguồn hạ áp Buck | 01 gói | 350.000 | 350.000 |
+--------------------------------------+----------+-----------------+-----------------+
| TỔNG CHI PHÍ PHẦN CỨNG SẢN XUẤT 01 XE: | 6.865.000 VNĐ |
+-------------------------------------------------------------------+-----------------+
Ước tính hiệu quả đầu tư (ROI): Thay thế 01 nhân sự vận chuyển nội bộ ca đêm (chi phí trung bình 7.000.000 VNĐ/tháng). Với tổng chi phí chế tạo ~6.865.000 VNĐ và chi phí điện năng ~150.000 VNĐ/tháng, điểm hòa vốn đạt được sau 1.1 tháng vận hành.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Cảm biến 2D LiDAR chỉ quét trên một mặt phẳng phẳng cắt ngang cố định (chiều cao $0.18\text{m}$), không thể phát hiện các vật cản thấp sát sàn (dưới $3\text{cm}$) hoặc chướng ngại vật treo lơ lửng trên cao (bàn, góc màn hình).
- Hiện tượng trượt bánh vẫn xảy ra khi xe vận hành trên bề mặt có độ ma sát thấp (gạch men ướt, sàn trơn bóng) khi tăng tốc đột ngột.
Hướng nghiên cứu và phát triển tiếp theo
- Nâng cấp hệ thống cảm biến thị giác máy tính với Depth Camera (Intel RealSense D435i) để tích hợp Visual SLAM (RTAB-Map) và tái tạo chướng ngại vật không gian 3D.
- Ứng dụng thuật toán học tăng cường (Deep Reinforcement Learning) cho tầng Local Planner nhằm tối ưu hóa chuyển động trong luồng giao thông người đi bộ đông đúc.
- Tích hợp giao thức quản lý đội xe Open-RMF / Fleet Management Web Gateway qua giao thức MQTT/Zenoh kết nối điện toán đám mây.
Đối tượng hưởng lợi
- Sinh viên & Nghiên cứu sinh: Bộ tài liệu hoàn chỉnh từ thiết kế URDF, thuật toán SLAM đến cấu hình Nav2 trên ROS 2 Humble làm đồ án mẫu, tài liệu thực hành Robotics chuyên sâu.
- Kỹ sư & Nhà phát triển hệ thống: Mẫu kiến trúc nhúng chuẩn hóa với bộ tham số đã tinh chỉnh thực tế cho bo mạch Raspberry Pi 4, rút ngắn $60%$ thời gian R&D.
- Doanh nghiệp vừa và nhỏ (SMBs): Tiếp cận giải pháp AMR tự động hóa nội bộ với chi phí siêu thấp, dễ dàng bảo trì và lập trình tùy biến theo quy trình sản xuất.
Câu hỏi thường gặp
1. Cấu hình phần cứng tối thiểu để triển khai ngăn xếp ROS 2 Humble + SLAM Toolbox là gì?
Hệ thống yêu cầu tối thiểu vi xử lý ARMv8 64-bit lõi tứ (như Broadcom BCM2711 trên Raspberry Pi 4) với dung lượng RAM từ 2GB trở lên (khuyến nghị 4GB để tránh kích hoạt Swap khi lưu bản đồ lớn). Bộ nhớ thẻ nhớ MicroSD tối thiểu 32GB Class 10 U3 hoặc ổ cứng SSD USB 3.0.
2. Làm thế nào để giải quyết hiện tượng lệch bản đồ (Drift) khi robot xoay nhanh?
Hiện tượng trôi bản đồ khi đổi hướng chủ yếu do độ trễ lấy mẫu của LiDAR ($10\text{Hz}$) và trượt encoder. Giải pháp khắc phục triệt để trong đồ án gồm: (1) Tích hợp dữ liệu con quay hồi chuyển từ IMU MPU6050 qua robot_localization EKF với trọng số góc quay cao; (2) Tăng tần số transform_publish_period lên $50\text{Hz}$; (3) Giảm vận tốc góc cực đại của robot xuống $0.8\text{ rad/s}$ trong cấu hình Controller Server.
3. Hệ thống có thể hoạt động đồng thời nhiều robot trên cùng một bản đồ không?
Có. Nhờ kiến trúc DDS của ROS 2, chỉ cần gán biến môi trường ROS_DOMAIN_ID riêng biệt cho từng đội xe hoặc sử dụng cơ chế ROS 2 Namespace (ví dụ /robot1/scan, /robot2/scan). Các robot có thể chia sẻ bản đồ qua máy chủ bản đồ tĩnh nav2_map_server và điều phối tránh va chạm thông qua giao tiếp Multi-Robot Fleet Manager.
4. Chi phí bảo dưỡng và vận hành xe tự hành định kỳ là bao nhiêu?
Nhờ thiết kế tối giản không dây đai và cơ cấu truyền động cơ khí bánh vi sai trực tiếp, chi phí bảo trì hàng năm ước tính dưới 500.000 VNĐ/năm, chủ yếu bao gồm kiểm tra chổi than động cơ, vệ sinh ống kính quang học LiDAR và kiểm tra dung lượng các cell pin Li-ion sau 500 chu kỳ sạc-xả.
5. Sự khác biệt chính giữa SLAM Toolbox và Cartographer trên ROS 2 là gì?
SLAM Toolbox được tối ưu hóa đặc biệt cho hệ sinh thái ROS 2 với kiến trúc vòng đời node (Lifecycle Nodes), tiêu thụ ít hơn khoảng $30%$ RAM so với Cartographer trên phần cứng ARM nhúng, hỗ trợ chỉnh sửa bản đồ động (Interactive Map Manipulation) và chuyển đổi mượt mà giữa chế độ Online SLAM sang Localization mà không cần khởi động lại hệ thống.
Kết luận
Đồ án tốt nghiệp "Thiết kế và chế tạo xe tự hành ứng dụng SLAM tối ưu hóa đường đi" đã chứng minh tính khả thi và hiệu quả vượt trội của việc kết hợp nền tảng mã nguồn mở tiên tiến ROS 2 Humble, thuật toán SLAM Toolbox và ngăn xếp Navigation2 trên phần cứng nhúng tối ưu chi phí. Dự án không chỉ hoàn thành xuất sắc các mục tiêu nghiên cứu từ mô phỏng đến chế tạo xe thực tế mà còn mở ra hướng tiếp cận thực tiễn, tin cậy cho các giải pháp AMR/AGV công nghiệp "Make in Vietnam".
Để tìm hiểu chi tiết về sơ đồ nguyên lý mạch, mã nguồn ROS 2 và bộ file cấu hình tham số, bạn có thể tham khảo tài liệu kỹ thuật tại Kho tài liệu Khoa Kỹ thuật Điện tử 1 – PTIT hoặc đóng góp trực tiếp vào cộng đồng phát triển Robot tự hành mã nguồn mở.