Giới thiệu dự án
Sự bùng nổ của cuộc Cách mạng Công nghiệp 4.0 và xu hướng tự động hóa logistics đã thúc đẩy thị trường Robot di động tự hành (Autonomous Mobile Robot - AMR) tăng trưởng với tốc độ CAGR trên 19.5% giai đoạn 2021–2028. Trong bối cảnh các nhà máy thông minh, kho bãi thông minh và nông nghiệp công nghệ cao đòi hỏi phương tiện vận chuyển tự động có độ linh hoạt cao, chi phí tối ưu và khả năng vận hành ổn định trong môi trường phi cấu trúc, việc nghiên cứu phát triển các giải pháp AMR nội địa trở thành nhiệm vụ cấp thiết.
Hầu hết các hệ thống xe tự hành AGV/AMR truyền thống thường sử dụng hệ truyền động vi sai 2 bánh (Differential Drive) hoặc cơ cấu trượt (Skid-steer). Mặc dù đơn giản trong điều khiển, các cơ cấu này gây ra hiện tượng trượt bánh lớn khi chuyển hướng, làm mòn lốp nhanh, tổn hao cơ năng và đặc biệt là tích lũy sai số trôi (Odometry drift) nghiêm trọng theo thời gian. Ngược lại, cơ cấu lái Ackerman khắc phục triệt để hiện tượng trượt hình học nhưng lại đòi hỏi cấu trúc liên kết cơ khí phức tạp và mô hình động học phi tuyến tính khó tích hợp với các thuật toán định vị và lập bản đồ đồng thời (Simultaneous Localization and Mapping - SLAM).
Đồ án tốt nghiệp "Nghiên cứu, thiết kế và chế tạo Mobile Robot tự hành ứng dụng thuật toán SLAM" được thực hiện bởi nhóm sinh viên ngành Công nghệ Kỹ thuật Cơ điện tử, Trường Đại học Sư phạm Kỹ thuật TP.HCM (HCMUTE) dưới sự hướng dẫn của TS. Huỳnh Quang Duy, tập trung giải quyết toàn diện bài toán từ thiết kế cơ điện tử đến xây dựng thuật toán tự hành thông minh.
+-------------------------------------------------------------------------+
| HỆ THỐNG PHÂN TẦNG MOBILE ROBOT |
| |
| [Tầng Xử lý Cấp cao: Raspberry Pi 3B - ROS Noetic (Ubuntu 20.04)] |
| - 2D SLAM (RPLidar A1 360°, 12m) | Path Planning (Hybrid A*) |
| - TF Transforms (odom -> base_link -> laser) |
| ^ |
| UART / Serial (115200 bps) |
| v |
| [Tầng Điều khiển Cấp thấp: STM32F103C8T6 (ARM Cortex-M3 72MHz)] |
| - Gradient Descent Filter (IMU MPU-6050 6-DOF) |
| - PID Speed Control (DC JGB37-520 Encoders) & Servo ASME-SQB Steering|
+-------------------------------------------------------------------------+
Mục tiêu dự án
- Nghiên cứu, tính toán động học và thiết kế chế tạo hoàn chỉnh mô hình Mobile Robot sử dụng cơ cấu lái nhiều khâu (Multi-link) tối ưu theo hình học Ackerman.
- Thiết kế hệ thống nhúng phân tầng gồm vi điều khiển STM32F103C8T6 (xử lý cấp thấp) và máy tính nhúng Raspberry Pi 3 Model B (xử lý cấp cao).
- Xây dựng bộ điều khiển vận tốc kín bằng thuật toán PID số kết hợp kỹ thuật Anti-windup trên STM32 và thuật toán Gradient Descent lọc dữ liệu hướng từ IMU MPU-6050.
- Triển khai ngăn xếp phần mềm trên ROS (Robot Operating System) Noetic, ứng dụng cảm biến RPLIDAR A1 để thiết lập bản đồ 2D thời gian thực và hoạch định đường đi thông minh qua thuật toán Hybrid A*.
Phạm vi và giới hạn
- Môi trường hoạt động: Mặt sàn phẳng trong nhà hoặc hành lang có độ dốc $< 5^\circ$.
- Bản đồ: Môi trường 2D kích thước tĩnh/bán động lên đến $500\text{ m}^2$.
- Tải trọng thiết kế: Khối lượng bản thân 5.0 kg, tải trọng hàng hóa hữu ích tối đa 3.0 kg.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Tiêu chí kỹ thuật |
Cơ cấu dẫn động vi sai (Differential) |
Cơ cấu lái trượt (Skid-steer) |
Cơ cấu lái Ackerman / Multi-link (Đề tài) |
| Hiện tượng trượt lốp khi quay |
Trung bình (bánh xe bị trượt ngang nhẹ) |
Rất cao (bắt buộc trượt để quay vòng) |
Triệt tiêu tối đa nhờ tâm quay tức thời chung |
| Độ chính xác Odometry |
Dễ sai lệch do trượt |
Sai số tích lũy cực lớn |
Độ chính xác cao, ít trôi sai số cơ học |
| Tải trọng và độ bền cơ khí |
Trung bình |
Hao mòn lốp và cơ cấu truyền động nhanh |
Khả năng chịu tải tốt, phân bố lực đồng đều |
| Độ phức tạp điều khiển |
Đơn giản ($v, \omega$) |
Trung bình |
Phức tạp (Ràng buộc Non-holonomic $v, \delta$) |
| Khả năng quay tại chỗ |
Có ($R_{turn} = 0$) |
Có ($R_{turn} = 0$) |
Không ($R_{turn} > 0$, phụ thuộc góc bẻ lái $\delta$) |
So sánh với các nền tảng nghiên cứu hiện hành:
- TurtleBot 3 Burger/Waffle: Nền tảng vi sai phổ biến nhưng cấu trúc nhựa tải trọng thấp ($< 1\text{ kg}$), chỉ phù hợp mô phỏng thí nghiệm.
- STI Mobile Robot: Thiết kế công nghiệp hoàn chỉnh nhưng giá thành cao, mã nguồn đóng, khó can thiệp sâu vào tầng điều khiển thuật toán.
- Giải pháp của đề tài: Tối ưu hóa cơ cấu cơ khí Multi-link tiệm cận Ackerman, tự chủ 100% phần cứng và phần mềm, tích hợp IMU/LIDAR trên ROS với chi phí phần cứng BOM dưới 7.000.000 VNĐ.
Yêu cầu kỹ thuật hệ thống (Ma trận MoSCoW)
+-------------------------------------------------------+
| MUST HAVE: |
| - Cơ cấu lái Multi-link góc bẻ ±35° |
| - Vận tốc max 1.2 m/s, tải 5 kg |
| - Quét Lidar 360° 12m, SLAM 2D sai số < 5cm |
+-------------------------------------------------------+
| SHOULD HAVE: |
| - Bộ lọc Gradient Descent IMU ước lượng Yaw |
| - Điều khiển kín PID Anti-windup chu kỳ 20ms |
| - Hoạch định đường đi Hybrid A* tránh vật cản |
+-------------------------------------------------------+
| COULD HAVE: |
| - Giao diện Web GUI giám sát pin và trạng thái Node |
| - Điều khiển thủ công qua tay cầm không dây / Joy ROS |
+-------------------------------------------------------+
| WON'T HAVE (Giai đoạn này): |
| - Định vị 3D qua Camera RGB-D / 3D Lidar |
+-------------------------------------------------------+
Thiết kế hệ thống
Kiến trúc hệ thống bao gồm 3 phân khu chức năng chính: Khung gầm cơ khí, Tầng điện tử nhúng & Cảm biến, Tầng phần mềm ROS.
graph TD
subgraph Tầng Cảm Biến & Cơ Cấu Chấp Hành
LIDAR[RPLIDAR A1 2D Laser]
IMU[MPU-6050 6-DOF]
ENC1[Encoder Động cơ Trái]
ENC2[Encoder Động cơ Phải]
M1[DC Motor JGB37-520 L]
M2[DC Motor JGB37-520 R]
SRV[Servo ASME-SQB Bẻ Lái]
end
subgraph Tầng Xử Lý & Điều Khiển
RPI[Raspberry Pi 3B - Ubuntu 20.04 / ROS Noetic]
STM[STM32F103C8T6 ARM Cortex-M3]
DRV[Mạch Cầu H BTS7960 43A]
BMS[Pin Li-ion 3S 12V + BMS 100A]
end
LIDAR -->|USB/UART| RPI
IMU -->|I2C| STM
ENC1 -->|Timer Encoder| STM
ENC2 -->|Timer Encoder| STM
STM -->|UART Baud 115200| RPI
RPI -->|cmd_vel Twist| STM
STM -->|PWM + DIR| DRV
STM -->|PWM 50Hz| SRV
DRV --> M1
DRV --> M2
BMS --> DRV
BMS --> RPI
BMS --> STM
Thông số kỹ thuật hệ thống
| Thành phần |
Linh kiện / Model |
Thông số kỹ thuật chi tiết |
| Kích thước tổng thể |
Khung nhôm & Mica gia công CNC |
Dài 440 mm $\times$ Rộng 220 mm, Chiều dài cơ sở $l = 370\text{ mm}$, Khoảng cách vết bánh $w = 225\text{ mm}$ |
| Vi xử lý trung tâm |
Raspberry Pi 3 Model B |
SoC Broadcom BCM2835 Quad-core ARM Cortex-A53 1.2 GHz, 1 GB LPDDR2 RAM, OS Ubuntu Mate 20.04 LTS |
| Vi điều khiển điều hành |
STM32F103C8T6 (BluePill) |
Lõi ARM Cortex-M3 32-bit, Tần số xung nhịp 72 MHz, 64 KB Flash, 20 KB SRAM |
| Động cơ truyền động |
2 $\times$ DC Geared Motor JGB37-520 |
12VDC, Tỉ số truyền 30:1, Tốc độ định mức 250 RPM, Moment 3.5 kg.cm, Encoder Hall 11 PPR (330 xung/vòng) |
| Động cơ cơ cấu lái |
Digital Servo ASME-SQB |
Moment giữ 60 kg.cm (tại 12V), Tốc độ quay $0.5\text{s}/60^\circ$, Điều khiển góc bằng xung PWM |
| Cảm biến Lidar |
RPLIDAR A1M8 360° |
Tầm quét $0.15 - 12\text{ m}$, Tần số lấy mẫu 8000 samples/s, Tần số quét $5.5 - 10\text{ Hz}$, Giao tiếp UART |
| Cảm biến quán tính |
MPU-6050 |
Con quay hồi chuyển 3 trục ($\pm 2000^\circ/\text{s}$), Gia tốc kế 3 trục ($\pm 16\text{g}$), Bộ xử lý DMP tích hợp |
| Mạch công suất & Nguồn |
BTS7960 Dual H-Bridge & 3S Li-ion |
Dòng tải tối đa 43A, Tích hợp cách ly quang, Khối pin 3S 12.6VDC đi kèm mạch bảo vệ cân bằng cell BMS 100A |
Phương pháp nghiên cứu và triển khai (Methodology)
Đề tài áp dụng mô hình phát triển hệ thống cơ điện tử kết hợp kiểm thử chữ V (V-Model):
Tuần 1-4: Thiết kế & Tính toán Cơ - Điện
└── Tính toán động lực học, chọn động cơ, thiết kế SolidWorks, phân tích ứng suất Von-Mises.
Tuần 5-8: Chế tạo cơ khí & Mạch điều khiển
└── Gia công CNC khung gầm, lắp ráp cơ cấu Multi-link, hàn bo mạch nguồn và vi điều khiển.
Tuần 9-12: Phát triển Firmware & Động học Cấp thấp
└── Lập trình STM32: Đọc Encoder x4, bộ lọc Gradient Descent IMU, giải thuật PID Anti-windup.
Tuần 13-16: Tích hợp Hệ điều hành ROS & SLAM
└── Cấu hình TF Tree, kết nối node `rplidar_ros`, thực thi tạo bản đồ 2D và Hybrid A* path planning.
Tuần 17-18: Đánh giá thực nghiệm & Hiệu chuẩn
└── Đo đạc sai số định vị, đánh giá khả năng né vật cản, hoàn thiện báo cáo và bài viết kỹ thuật.
Triển khai thực nghiệm và kết quả
Quy trình phát triển và thuật toán cốt lõi
1. Mô hình động học cơ cấu lái Ackerman
Cơ cấu lái điều chỉnh góc quay hai bánh trước $\delta_i$ (bánh trong) và $\delta_o$ (bánh ngoài) theo phương trình Ackerman chuẩn nhằm đảm bảo các trục bánh xe đồng quy tại tâm quay $O$:
$$\cot\delta_o - \cot\delta_i = \frac{w}{l}$$
Trong đó $l = 370\text{ mm}$ là chiều dài cơ sở, $w = 225\text{ mm}$ là khoảng cách tâm hai vệt bánh trước. Mô hình động học phi định tuyến của robot trong mặt phẳng tọa độ thực $(x, y, \theta)$:
$$\begin{cases}
\dot{x} = v \cos\theta \
\dot{y} = v \sin\theta \
\dot{\theta} = \frac{v}{l} \tan\delta
\end{cases}$$
2. Thuật toán điều khiển PID vận tốc với kỹ thuật Anti-Windup
Để triệt tiêu hiện tượng bão hòa tích phân (Integral Windup) khi động cơ DC đáp ứng các bước nhảy vận tốc lớn, bộ điều khiển PID trên STM32 được lập trình theo phương pháp bám bão hòa (Clamping):
// C/C++ Source: Bộ điều khiển PID số với Anti-Windup trên STM32F103
typedef struct {
float Kp, Ki, Kd;
float Ts; // Chu kỳ lấy mẫu (Ts = 0.02s)
float out_min, out_max;
float prev_error;
float integrator;
} PID_Controller;
float PID_Compute(PID_Controller *pid, float setpoint, float measured_val) {
float error = setpoint - measured_val;
// Thành phần tỷ lệ (P)
float p_term = pid->Kp * error;
// Thành phần vi phân (D) với bộ lọc thông thấp số
float d_term = pid->Kd * (error - pid->prev_error) / pid->Ts;
// Tích lũy khâu I tạm thời
float temp_integrator = pid->integrator + 0.5f * pid->Ki * pid->Ts * (error + pid->prev_error);
// Tổng tín hiệu điều khiển chưa bão hòa
float output_raw = p_term + temp_integrator + d_term;
float output = output_raw;
// Kỹ thuật Anti-Windup (Clamping)
if (output_raw > pid->out_max) {
output = pid->out_max;
// Chỉ cho phép tích phân nếu lỗi ngược hướng làm giảm bão hòa
if (error < 0) pid->integrator = temp_integrator;
} else if (output_raw < pid->out_min) {
output = pid->out_min;
if (error > 0) pid->integrator = temp_integrator;
} else {
pid->integrator = temp_integrator;
}
pid->prev_error = error;
return output;
}
3. Thuật toán Gradient Descent ước lượng Quaternion từ IMU
Nhằm loại bỏ hiện tượng trôi góc Yaw của Gyroscope và nhiễu động học của Accelerometer, thuật toán tối ưu Gradient Descent bậc 1 được thực thi:
$$\min_{q} f(q, \hat{g}, a) = q^{-1} \otimes \hat{g} \otimes q - a$$
Bước hiệu chỉnh hướng Quaternion tại thời điểm $t_k$:
$$q_{k} = q_{k-1} + \left( \frac{1}{2} q_{k-1} \otimes \omega_k - \beta \frac{\nabla f}{|\nabla f|} \right) \Delta t$$
Hệ số $\beta = 0.041$ được hiệu chuẩn thực nghiệm, giúp giảm $82%$ sai số tích lũy góc quay quanh trục $Z$ so với tích phân con quay hồi chuyển thuần túy.
4. Chuyển đổi khung toạ độ (TF Tree) trên ROS
Toàn bộ chuỗi biến đổi hình học từ hệ tọa độ thế giới về cảm biến Lidar được xuất bản qua hệ thống tf định kỳ $50\text{ Hz}$:
#!/usr/bin/env python3
# ROS Node: Broadcast hệ tọa độ chuyển đổi odometry -> base_link -> laser
import rospy
import tf
import tf2_ros
import geometry_msgs.msg
def broadcast_robot_tf(x, y, theta):
br = tf2_ros.TransformBroadcaster()
t = geometry_msgs.msg.TransformStamped()
t.header.stamp = rospy.Time.now()
t.header.frame_id = "odom"
t.child_frame_id = "base_link"
t.transform.translation.x = x
t.transform.translation.y = y
t.transform.translation.z = 0.0
q = tf.transformations.quaternion_from_euler(0, 0, theta)
t.transform.rotation.x = q[0]
t.transform.rotation.y = q[1]
t.transform.rotation.z = q[2]
t.transform.rotation.w = q[3]
br.sendTransform(t)
Cấu trúc cây tọa độ (TF Tree)
[map]
│ (slam_gmapping / hector_slam: 10 Hz)
▼
[odom]
│ (odometry + imu_fusion: 50 Hz)
▼
[base_link]
│ (static_transform_publisher)
▼
[laser_frame]
Kiểm thử và đánh giá hiệu năng (Testing & Validation)
| Kịch bản kiểm thử |
Thông số đo đạc mục tiêu |
Kết quả thực nghiệm đạt được |
Đánh giá / Sai số |
| Đáp ứng vận tốc kín (Step response) |
Vận tốc đặt $v = 0.8\text{ m/s}$, $t_{rise} < 0.3\text{s}$ |
Thời gian tăng trưởng $t_r = 0.22\text{s}$, độ quá điều chỉnh $\sigma% = 4.2%$ |
Ổn định, không xuất hiện hiện tượng giật động cơ |
| Sai số Odometry đường thẳng 10m |
Độ lệch hành trình tích lũy |
Sai số khoảng cách $e_x = 0.08\text{ m}$ ($0.8%$), sai số góc $e_\theta = 1.8^\circ$ |
Giảm $73%$ sai lệch nhờ thuật toán Gradient Descent IMU |
| Tốc độ làm tươi bản đồ Lidar (SLAM) |
Tần số quét $10\text{ Hz}$, độ phân giải lưới $0.05\text{ m}$ |
Tốc độ dựng khung hình $9.8\text{ Hz}$, chiếm dụng CPU RPi 3B: $58.4%$ |
Bản đồ sắc nét, không bị méo góc tại các bức tường dài |
| Tránh vật cản tĩnh và động (Hybrid A)* |
Phát hiện vật cản $< 1.5\text{ m}$, tính lại quỹ đạo |
Thời gian tính toán lại đường đi $t_{calc} = 84\text{ ms}$ |
Vượt chướng ngại vật mượt mà với bán kính quay an toàn |
Đổi mới và đóng góp kỹ thuật
Các cải tiến kỹ thuật nổi bật
- Cơ cấu Multi-link tiệm cận hình học Ackerman: Giải quyết hạn chế đắt đỏ của hệ thống trục lái cơ khí ô tô truyền thống bằng cách sử dụng cơ cấu đa thanh liên kết được tối ưu qua giải tích hình học. Giúp giảm $42%$ lực ma sát trượt ngang lên lốp trước so với xe dẫn động bánh xích hoặc trượt khi chuyển hướng.
- Hệ thống dung hợp cảm biến Odometry - IMU thời gian thực: Việc áp dụng giải thuật Gradient Descent trên nền vi điều khiển 32-bit STM32 đã xử lý trực tiếp tín hiệu gia tốc và vận tốc góc, cung cấp quaternion chính xác cho tầng điều hướng ROS mà không gây tải phụ cho bộ xử lý trung tâm Raspberry Pi.
- Tối ưu hóa thuật toán Hybrid A* cho phương tiện Non-holonomic: Tích hợp các ràng buộc cơ học về góc lái cực đại ($\delta_{max} = \pm 35^\circ$) vào hàm Heuristic của giải thuật tìm đường A*, đảm bảo quỹ đạo sinh ra luôn tương thích hoàn toàn với khả năng vận động cơ khí thực tế của xe.
So sánh hiệu suất định vị và tổn hao cơ năng
+---------------------------------------------------------------+
| Đại lượng đo kiểm | Cơ cấu Trượt | Đề tài (Ackerman)|
|-------------------------------|--------------|----------------|
| Hiện tượng trượt lốp ngang | 100% | < 8.5% |
| Tiêu hao năng lượng (pin) | 1.8 A (trung bình)| 1.1 A |
| Sai số khép vòng SLAM (Loop) | 14.2 cm | 2.8 cm |
+---------------------------------------------------------------+
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng thực tế
- Hệ thống kho vận thông minh (Smart Warehouse): Tự động vận chuyển khay linh kiện, bưu kiện vừa và nhỏ dọc theo các line hàng, tự thiết lập sơ đồ kho và tránh né công nhân hoặc xe nâng di động.
- Nông nghiệp chính xác trong nhà kính (Smart Greenhouse): Di chuyển tuần tra dọc các luống cây, thu thập bản đồ độ ẩm, nhiệt độ và theo dõi tình trạng phát triển của cây trồng mà không làm hư hại mặt đường luống.
- Tuần tra an ninh và cứu hộ khẩn cấp: Tiến vào các khu vực nguy hiểm, tầng hầm hoặc đường ống kín để dựng bản đồ số 2D và truyền dữ liệu thời gian thực về trung tâm chỉ huy.
Hướng dẫn thiết lập và chạy hệ thống (Deployment Pipeline)
1. Cấp nguồn hệ thống qua BMS 3S (12V).
2. SSH vào Raspberry Pi 3B qua mạng Wi-Fi cục bộ:
$ ssh ubuntu@192.168.1.105
3. Khởi chạy toàn bộ Node phần cứng và SLAM:
$ roslaunch mobile_robot_bringup real_robot_slam.launch
4. Mở Rviz trên máy tính trạm (Master ROS Node) để quan sát bản đồ:
$ rosrun rviz rviz -d $(rospack find mobile_robot_description)/rviz/slam.rviz
Phân tích chi phí - lợi ích (BOM & ROI)
- Chi phí chế tạo phần cứng (BOM): ~6.200.000 VNĐ (bao gồm RPLIDAR A1, Raspberry Pi 3B, STM32, Động cơ JGB37-520, Servo ASME-SQB, Gia công khung và Pin).
- So với các robot nghiên cứu nhập khẩu cùng tính năng (giá từ 35.000.000 – 60.000.000 VNĐ), giải pháp của đề tài giúp tiết kiệm hơn 80% chi phí đầu tư ban đầu, mang lại thời gian hoàn vốn (ROI) ước tính dưới 4 tháng khi ứng dụng vào tự động hóa vận chuyển nội bộ quy mô vừa và nhỏ.
Hạn chế và hướng phát triển
Các hạn chế kỹ thuật
- Cảm biến RPLIDAR A1 sử dụng nguyên lý đo Laser tam giác (Triangulation) nên dễ bị nhiễu dưới ánh sáng mặt trời cường độ cao hoặc bề mặt vật thể phản quang (kính, gương).
- Năng lực tính toán của Raspberry Pi 3B (1GB RAM) đạt ngưỡng tải cao ($> 80%$ CPU) khi đồng thời xử lý SLAM bản đồ diện tích lớn và chạy thuật toán tối ưu hóa quỹ đạo Hybrid A* liên tục.
- Cơ cấu Multi-link gia công thủ công vẫn còn độ rơ cơ khí nhỏ tại các khớp nối trục lái sau thời gian dài vận hành.
Hướng nâng cấp đề xuất
- Nâng cấp phần cứng máy tính nhúng lên Raspberry Pi 5 hoặc NVIDIA Jetson Orin Nano để chạy mượt mà ROS 2 (Humble/Iron) và thuật toán Cartographer SLAM.
- Tích hợp thêm cảm biến chiều sâu Intel RealSense D435i để mở rộng bài toán sang 3D V-SLAM và nhận diện chướng ngại vật 3 chiều.
- Ứng dụng giải thuật điều khiển bám quỹ đạo hiện đại như Model Predictive Control (MPC) để tăng độ mượt mà khi vào cua ở vận tốc cao.
Đối tượng hưởng lợi
- Sinh viên và Học viên ngành Cơ điện tử / Tự động hóa / Robotics: Tài liệu tham khảo toàn diện từ tính toán cơ khí, thiết kế mạch công suất đến lập trình thuật toán nhúng và ROS.
- Kỹ sư và Lập trình viên hệ thống nhúng: Cung cấp kiến trúc phần mềm phân tầng thực tế giữa STM32 và ROS, mã nguồn tối ưu PID và bộ lọc IMU.
- Doanh nghiệp vừa và nhỏ (SMEs): Mô hình thực chứng khả thi cho việc tự phát triển hệ thống xe tự hành AMR vận chuyển nội bộ với chi phí siêu tiết kiệm.
- Các nhóm nghiên cứu học thuật: Nền tảng mở phục vụ thử nghiệm các thuật toán SLAM, Path Planning và Multi-robot Coordination mới.
Câu hỏi thường gặp
1. Yêu cầu cấu hình kỹ thuật để triển khai và chạy hệ thống là gì?
Hệ thống yêu cầu máy tính nhúng từ Raspberry Pi 3B trở lên (khuyên dùng Ubuntu 20.04 LTS và ROS Noetic), một bo mạch điều khiển STM32F103C8T6 kết nối qua cổng UART (Baudrate 115200), cảm biến RPLIDAR A1 và nguồn cấp chuẩn Li-ion 3S (11.1V - 12.6V, xả tối thiểu 20A).
2. Giới hạn mở rộng (Scalability) của hệ thống là bao nhiêu và khắc phục thế nào?
Giới hạn mở rộng hiện tại nằm ở bộ nhớ RAM (1GB) của Pi 3B khi bản đồ vượt quá $1000\text{ m}^2$. Giải pháp khắc phục là phân bổ bản đồ thành các Sub-maps hoặc chuyển việc xử lý SLAM nặng về máy chủ trạm (Server Edge) thông qua giao thức ROS Multi-Master / Zenoh.
3. Hệ thống có khả năng tích hợp vào mạng điều hành nhà máy hiện hữu (WMS/MES) không?
Có. Nhờ xây dựng trên nền tảng ROS, robot dễ dàng xuất bản (Publish) và đăng ký (Subscribe) các Topic trạng thái thông qua giao thức Websocket (rosbridge_suite) hoặc chuẩn MQTT/RESTful API để kết nối trực tiếp với hệ thống quản lý kho WMS.
4. Quy trình bảo trì và kiểm định cơ điện định kỳ ra sao?
Cần hiệu chuẩn lại giá trị tĩnh của cảm biến IMU (MPU-6050 Calibration) sau mỗi 50 giờ vận hành, kiểm tra độ rơ của các khớp cầu Multi-link và vệ sinh lăng kính phát/nhận laser của RPLIDAR định kỳ hàng tuần.
5. Chi phí triển khai thực tế và thời gian thu hồi vốn (ROI) tính toán như thế nào?
Tổng chi phí linh kiện phần cứng (BOM) khoảng 6.2 triệu VNĐ. Với khả năng vận hành thay thế công việc vận chuyển thủ công trong nhà xưởng, hệ thống giúp tiết kiệm 1 nhân công bốc vác bán thời gian, mang lại điểm hòa vốn chỉ sau 3.5 đến 4 tháng triển khai.
Kết luận
Đồ án "Nghiên cứu, thiết kế và chế tạo Mobile Robot tự hành ứng dụng thuật toán SLAM" đã hoàn thành xuất sắc toàn bộ các mục tiêu đặt ra: từ việc hiện thực hóa cơ cấu cơ khí Multi-link tiệm cận Ackerman giảm thiểu trượt lốp, thiết kế hệ thống nhúng điều khiển phân tầng STM32 - Raspberry Pi, đến việc làm chủ công nghệ điều hướng thông minh trên nền tảng ROS Noetic.
Thành công của đề tài khẳng định tính khả thi của việc ứng dụng các thuật toán định vị SLAM hiện đại trên nền tảng phần cứng chi phí thấp, mở ra hướng tiếp cận thực tiễn và hiệu quả cao cho các giải pháp tự động hóa di động “Make in Vietnam”. Các bạn sinh viên, kỹ sư và nhà nghiên cứu có thể tiếp tục kế thừa kiến trúc này để phát triển các dòng AMR chuyên dụng phục vụ công nghiệp và đời sống.