Giới thiệu dự án
Thị trường robot di động tự hành (Autonomous Mobile Robot - AMR) và xe tự hành công nghiệp toàn cầu đang trải qua giai đoạn tăng trưởng vượt bậc với tốc độ tăng trưởng kép hàng năm (CAGR) dự kiến đạt trên 18.5% giai đoạn 2023–2030. Tại Việt Nam và trên thế giới, tự động hóa bằng robot không còn giới hạn trong môi trường nhà xưởng có bề mặt sàn tiêu chuẩn phẳng, mà đang mở rộng mạnh mẽ sang các lĩnh vực bán lộ thiên và ngoài trời như: giám sát nông nghiệp công nghệ cao, tuần tra an ninh trạm biến áp điện lực, khảo sát khu vực công nghiệp nặng và tìm kiếm cứu nạn.
Tuy nhiên, phần lớn các dòng robot tự hành thương mại hiện nay (như các dòng AMR nhà xưởng) chỉ hoạt động tối ưu trên bề mặt phẳng, độ dốc dưới 2° và không có khả năng vượt chướng ngại vật mấp mô. Khi tiếp cận địa hình phức tạp, bề mặt trơn trượt (bùn, cát, sỏi đá) hoặc các bậc dốc, hệ dẫn động bánh xe truyền thống lập tức mất độ bám, dẫn đến trượt động học, sai lệch nghiêm trọng trong quá trình ước lượng vị trí (odometry drift) và khiến các thuật toán định vị sụp đổ.
+-------------------------------------------------------------------------------+
| PROBLEM STATEMENT |
| "Thiếu hụt các giải pháp nền tảng Mobile Robot đa địa hình tự hành chi phí |
| hợp lý, kết hợp đồng bộ giữa cơ cấu truyền động đai xích có độ bám cao và |
| hệ thống điều khiển phân tầng ứng dụng hệ điều hành Robot (ROS), có khả năng |
| tự xây dựng bản đồ (SLAM) và điều hướng tự động (Autonomous Navigation)." |
+-------------------------------------------------------------------------------+
Mục tiêu nghiên cứu của đề tài
- Nghiên cứu, tính toán và tối ưu hóa hệ thống cơ khí: Thiết kế khung chịu lực từ thép hợp kim C45 dày 3mm kết hợp nhôm định hình 20x20mm, sử dụng cơ cấu truyền động xích con lăn 25 và dẫn động đai răng kép bản rộng, đảm bảo tải trọng tĩnh 300N (30kg) với độ biến dạng đàn hồi cực tiểu ($\delta_{max} \le 0.05\text{ mm}$).
- Thiết kế và thi công hệ thống điện - điều khiển phân tầng: Tích hợp khối xử lý trung tâm Intel NUC5i5RYH chạy ROS và khối vi điều khiển thời gian thực Arduino Mega 2560 (ATmega2560), kết nối thông qua giao thức truyền thông chuỗi
rosserial.
- Phát triển thuật toán điều khiển vòng kín: Ứng dụng thuật toán PID kiểm soát vận tốc hai động cơ Brushless DC (BLDC) Zhongda Z5BLD100-24GU-30S, đồng bộ vận tốc góc và vận tốc dài để giảm sai số quỹ đạo chuyển động thẳng.
- Xây dựng hệ thống tự hành thời gian thực: Thiết lập bản đồ môi trường 2D thời gian thực thông qua cảm biến RPLIDAR A2M8 bằng thuật toán SLAM (Simultaneous Localization and Mapping), kết hợp thuật toán AMCL (Adaptive Monte Carlo Localization) và DWA (Dynamic Window Approach) để hoạch định quỹ đạo tránh chướng ngại vật tự động.
Giải pháp kỹ thuật và kết quả kỳ vọng
Nhóm nghiên cứu lựa chọn tiếp cận bài toán bằng giải pháp kết hợp cơ khí chính xác và kiến trúc phần mềm phân tán:
- Hệ dẫn động: Sử dụng đai răng cao su bản rộng kết hợp puly đai chủ động bán kính $R = 0.0435\text{ m}$, giải quyết triệt để bài toán phân bổ áp lực tiếp xúc, tăng ma sát tĩnh ($\mu = 1.0$) khi vượt dốc $\alpha = 5^\circ$ với vận tốc thiết kế $V_{max} = 0.6\text{ m/s}$.
- Hệ thống điều khiển: Cấu trúc Master-Slave qua ROS Network, quản lý toàn bộ hệ thống từ xa qua giao diện VNC (giao thức RFB cổng 5900) và trực quan hóa dữ liệu qua RViz.
+--------------------------+-----------------------+----------------------+
| Thông số mục tiêu | Giá trị kế hoạch | Giá trị thực nghiệm |
+--------------------------+-----------------------+----------------------+
| Vận tốc dài tối đa | 0.6 m/s | 0.58 m/s |
| Khả năng leo dốc | 5 độ | 5.5 độ |
| Độ võng khung tối đa | < 0.1 mm | 0.041 mm (tải 300N) |
| Tần số cập nhật LiDAR | 10 - 15 Hz | 10 Hz (RPLIDAR A2) |
| Sai số vị trí dừng | < 50 mm | +/- 35 mm |
+--------------------------+-----------------------+----------------------+
Phạm vi và giới hạn đề tài
- Phạm vi: Thiết kế mô hình robot địa hình phục vụ tuần tra, giám sát môi trường; khảo sát động học vi sai tương đương cho hệ truyền động đai; thử nghiệm SLAM và Navigation trong môi trường trong nhà và khuôn viên bán ngoài trời.
- Giới hạn: Robot không tích hợp cơ cấu nâng hạ hàng hóa chuyên dụng tải trọng lớn (>50kg); sử dụng cảm biến LiDAR quét 2D trong mặt phẳng ngang nên chưa nhận diện được các chướng ngại vật treo ở độ cao ngoài tầm quét của tia laser.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Tiêu chí so sánh |
Hệ thống Bánh xe truyền thống (Wheeled AMR) |
Hệ thống Chân sinh học (Legged Robot) |
Hệ thống Dây đai / Xích (Tracked/Belt AMR - Đề tài) |
| Khả năng vượt địa hình |
Kém; chỉ di chuyển trên mặt sàn phẳng |
Rất cao; vượt địa hình mấp mô phức tạp |
Cao; vượt dốc, cát, sỏi, rãnh hở tốt |
| Độ phức tạp cơ khí |
Thấp; 2 - 4 bánh xe gắn trực tiếp |
Rất cao; nhiều khớp động lực học bậc cao |
Trung bình; gồm puly, cơ cấu căng xích/đai |
| Độ ổn định điều khiển |
Đơn giản; mô hình động học vi sai chuẩn |
Cực kỳ phức tạp; cần kiểm soát trọng tâm |
Ổn định; áp dụng động học vi sai hiệu chỉnh |
| Chi phí chế tạo |
Thấp ($300 - $1,500) |
Rất đắt đỏ ($10,000 - $50,000+) |
Hợp lý ($800 - $2,500) |
| Tiêu hao năng lượng |
Rất thấp |
Cao (do duy trì cân bằng động liên tục) |
Trung bình; tổn hao ma sát dây đai chấp nhận được |
So sánh giải pháp thương mại
- UNIFEE EMMA400L (Việt Nam): Tải trọng 400kg, định vị LiDAR, vận tốc 1.2 m/s. Tuy nhiên, kết cấu bánh xe công nghiệp chỉ cho phép di chuyển trong nhà kho phẳng, không có khả năng vượt dốc địa hình tự nhiên.
- OTTO 600 (Hoa Kỳ): Tự hành công nghiệp chuẩn cao, tích hợp an toàn 3D LiDAR, giá thành cao, hệ thống đóng (proprietary software), khó tùy biến mở rộng cho các bài toán nghiên cứu nông nghiệp/tuần tra đặc thù.
- Robot nông nghiệp Legmin (Nhật Bản): Dẫn động bánh xích cao su phục vụ phun thuốc vườn cây, nhưng chi phí chuyển giao công nghệ quá cao đối với các doanh nghiệp vừa và nhỏ tại Việt Nam.
Phân loại yêu cầu người dùng theo mô hình MoSCoW
- Must have (Bắt buộc có): Di chuyển vượt địa hình mấp mô, nghiêng $5^\circ$; tự động quét LiDAR 360° xây bản đồ 2D; tích hợp hệ thống đóng cắt an toàn; điều khiển từ xa bằng Joystick PS2 và tự hành qua ROS Navigation stack.
- Should have (Nên có): Thuật toán PID kiểm soát đồng tốc hai động cơ; giao diện truyền hình ảnh trực tiếp qua VNC; cơ cấu tăng chỉnh độ căng xích độc lập.
- Could have (Có thể có): Khả năng tích hợp thêm cánh tay robot 3 bậc tự do hoặc bàn nâng hàng hóa.
- Won't have (Chưa thực hiện): Khả năng lội nước sâu trên 100mm hoặc chống bụi chuẩn IP67.
Thiết kế hệ thống
+--------------------------------------------------------------------------------+
| KIẾN TRÚC HỆ THỐNG |
| |
| [ Tram Dieu Khien / Laptop ] <--- Wi-Fi (VNC / TCP/IP:5900) ---> [ Intel NUC ]|
| | |
| [ RPLIDAR A2M8 ] <---------- USB / Serial (/dev/rplidar) ------------+ |
| | |
| (ROS Core Master)|
| (SLAM / AMCL) |
| (DWA Planner) |
| | |
| USB/Serial (/dev/ttyACM0) |
| (Rosserial Protocol: UART) |
| | |
| v |
| [ PS2 Receiver ] ---> [ Arduino Mega 2560 ] <--- Encoder A/B <--- [ Drivers ] |
| | | |
| (PID Control) | |
| (PWM & DIR Signals) | |
| | | |
| v v |
| [ Driver ZBLD ] <===================> [ 2x BLD100W ] |
| |
| [ Nguon Pin Li-ion 24V ] ---> [ Orion-Tr 24/24-5 ] ---> [ Cap nguon On dinh ]|
+--------------------------------------------------------------------------------+
Technology Stack và Phần cứng kỹ thuật
- Bộ tính toán biên (High-level Compute): Máy tính Intel NUC5i5RYH (CPU Intel Core i5-5250U 1.6GHz Turbo 2.7GHz, RAM 8GB DDR3L SO-DIMM, 120GB SSD, GPU Intel HD Graphics 6000), hệ điều hành Ubuntu 20.04 LTS chạy nền tảng Robot Operating System (ROS Noetic).
- Vi điều khiển thời gian thực (Low-level Controller): Arduino Mega 2560 (Vi xử lý ATmega2560 8-bit AVR 16MHz, Flash 256KB, SRAM 8KB, 54 chân Digital I/O, 16 kênh ADC 10-bit, 15 kênh PWM phần cứng).
- Cảm biến định vị chính: Slamtec RPLIDAR A2M8 (Phạm vi quét bán kính $0.15 - 12\text{ m}$, tần số lấy mẫu 8000 điểm/giây, góc quét 360°, độ phân giải góc $0.9^\circ$).
- Động cơ chấp hành: 2x Động cơ Brushless DC Zhongda Z5BLD100-24GU-30S (Công suất 100W, điện áp 24VDC, tốc độ định mức 3000 RPM, dòng điện cực đại 6A) tích hợp hộp giảm tốc hành tinh 5GU-10KB (Tỉ số truyền $i = 10:1$, momen xoắn đầu ra cực đại sau giảm tốc đạt $11.5\text{ N}\cdot\text{m}$, tốc độ trục thứ cấp 300 RPM).
- Bộ chuyển đổi nguồn điện: Nguồn pin công nghiệp 24V kết hợp bộ ổn áp công nghiệp cách ly Victron Energy Orion-Tr 24/24-5 (Dải điện áp vào 16-35V, điện áp ra ổn định 24.2V, dòng điện ra định mức 5A, công suất 120W, hiệu suất 95%).
Giao thức truyền thông và Bảo mật
- Giao thức Rosserial: Tối ưu hóa chuỗi byte UART nhị phân qua cổng USB ảo
/dev/ttyACM0 với tốc độ baud 57600 bps. Cho phép node Arduino publish trực tiếp các topic sensor_msgs/JointState, geometry_msgs/Twist và subscribe topic /cmd_vel từ ROS Master.
- Truy cập từ xa RFB (Remote Frame Buffer): Cấu hình VNC Server qua cổng TCP 5900, sử dụng mật khẩu mã hóa DES và đường truyền mã hóa SSH Tunnel trên mạng Wi-Fi cục bộ 5GHz để giảm thiểu độ trễ hình ảnh xuống dưới 30ms.
Methodology
Dự án áp dụng phương pháp phát triển tích hợp cơ điện tử hình chữ V (V-Model Mechatronics Engineering), kết hợp các chu kỳ lặp Agile trong giai đoạn hoàn thiện thuật toán:
[ Yêu cầu hệ thống ] -----------------------------> [ Thử nghiệm toàn diện ]
\ /
[ Phân tích cơ - điện - điều khiển ] ---> [ Kiểm thử tích hợp ROS ]
\ /
[ Thiết kế chi tiết 3D / Mạch ] --> [ Chế tạo & Lập trình Module ]
\ /
+-----> [ Thi công phần cứng ] -+
+-----------------------+-----------------------------+-----------------------+
| Giai đoạn (Milestone) | Nội dung thực hiện | Deliverables |
+-----------------------+-----------------------------+-----------------------+
| Pha 1 (Tuần 1 - 3) | Khảo sát & Mô phỏng CAD | Bản vẽ 3D SolidWorks, |
| | | báo cáo phân tích FEA |
| Pha 2 (Tuần 4 - 6) | Gia công cơ khí & Động học | Khung thép C45, cụm |
| | | dẫn động đai hoàn chỉnh|
| Pha 3 (Tuần 7 - 9) | Thi công điện & Driver PID | Tủ điện, mạch Arduino |
| | | đọc Encoder & PID BLDC|
| Pha 4 (Tuần 10 - 12) | Cài đặt ROS & Rosserial | Node giao tiếp UART, |
| | | tích hợp RPLIDAR node |
| Pha 5 (Tuần 13 - 16) | SLAM Map & Navigation Tuning| Bản đồ số hoàn chỉnh, |
| | | thông số Costmap tuned|
+-----------------------+-----------------------------+-----------------------+
Ma trận đánh giá và giảm thiểu rủi ro kỹ thuật
| Rủi ro kỹ thuật |
Mức độ |
Biện pháp giảm thiểu (Mitigation Strategy) |
| Trượt đai răng khi leo dốc tải nặng |
Cao |
Thiết kế rãnh trượt căng đai độc lập bằng vít me tinh chỉnh bước ren nhuyễn |
| Nhiễu sóng điện từ (EMI) từ Driver BLDC lên Arduino |
Cao |
Tách biệt mass tín hiệu và mass động lực, bọc giáp chống nhiễu cho dây encoder |
Nghẽn băng thông truyền thông rosserial |
Trung bình |
Lược bỏ các trường dữ liệu thừa, giới hạn tần số publish topic ở mức 20Hz |
| Sụp nguồn đột ngột khi 2 động cơ khởi động |
Cao |
Bổ sung bộ chuyển đổi cách ly DC/DC Orion-Tr 24/24-5 và tụ bù dung lượng lớn |
Implementation và kết quả
Development process
1. Tính toán động lực học và độ bền khung cơ khí
Để đảm bảo robot di chuyển ổn định trên mặt phẳng nghiêng $\alpha = 5^\circ$ với tổng khối lượng toàn tải $m = 30\text{ kg}$, bán kính puly $R = 0.0435\text{ m}$, hệ số ma sát $\mu = 1.0$, gia tốc trọng trường $g = 9.8\text{ m/s}^2$:
- Áp lực tác dụng lên mặt nền:
$$F_N = m \cdot g \cdot \cos\alpha = 30 \cdot 9.8 \cdot \cos(5^\circ) = 292.88\text{ N}$$
- Lực cản do trọng lượng thành phần song song mặt dốc:
$$F_W = m \cdot g \cdot \sin\alpha = 30 \cdot 9.8 \cdot \sin(5^\circ) = 25.63\text{ N}$$
- Lực ma sát cản trở chuyển động:
$$F_{ms} = \mu \cdot F_N = 1.0 \cdot 292.88 = 292.88\text{ N}$$
- Lực kéo tiếp tuyến tối thiểu của toàn xe:
$$F_k > F_W + F_{ms} = 25.63 + 292.88 = 318.51\text{ N}$$
- Momen xoắn yêu cầu trên mỗi trục puly dẫn động (xe sử dụng 2 cụm dẫn động độc lập):
$$T_{puly} = \frac{F_k \cdot R}{2} = \frac{318.51 \cdot 0.0435}{2} \approx 6.93\text{ N}\cdot\text{m}$$
Với hộp giảm tốc $i = 10:1$, momen xoắn động cơ Z5BLD100 cung cấp tối đa lên đến $11.5\text{ N}\cdot\text{m} > 6.93\text{ N}\cdot\text{m}$ (hệ số an toàn $S_f = 1.66$), đáp ứng hoàn toàn điều kiện vận hành. Mô phỏng tĩnh học hữu hạn phần tử (FEA) trên SolidWorks Simulation với tải trọng tập trung $300\text{ N}$ xác nhận ứng suất Von Mises cực đại đạt $18.4\text{ MPa}$ (thấp hơn nhiều so với giới hạn chảy của thép C45 là $360\text{ MPa}$), độ chuyển vị lớn nhất chỉ đạt $0.041\text{ mm}$.
2. Mô hình động học vi sai của Mobile Robot
Robot sử dụng 2 puly chủ động độc lập cách nhau khoảng cách $L = 0.45\text{ m}$. Vận tốc dài $v$ và vận tốc góc $\omega$ của robot trong hệ tọa độ phẳng $(x, y, \theta)$ được xác định qua vận tốc của puly trái ($v_L$) và puly phải ($v_R$):
$$\begin{cases}
v = \dfrac{v_R + v_L}{2} \
\omega = \dfrac{v_R - v_L}{L} = \dfrac{R(\omega_R - \omega_L)}{L}
\end{cases}$$
Phương trình vi phân trạng thái động học:
$$\begin{bmatrix} \dot{x} \ \dot{y} \ \dot{\theta} \end{bmatrix} = \begin{bmatrix} \cos\theta & 0 \ \sin\theta & 0 \ 0 & 1 \end{bmatrix} \begin{bmatrix} v \ \omega \end{bmatrix}$$
3. Thuật toán điều khiển PID vận tốc động cơ trên Arduino Mega
Bộ điều khiển PID nhận lệnh vận tốc đặt $SP$ từ topic /cmd_vel và tín hiệu phản hồi thực tế $PV$ từ bộ đếm encoder để tính toán chu kỳ xung PWM xuất ra Driver ZBLD:
// Cấu trúc thuật toán PID điều khiển vận tốc bánh xe
#include <Arduino.h>
class MotorPIDController {
private:
double Kp, Ki, Kd;
double integralError;
double previousError;
unsigned long lastTime;
public:
MotorPIDController(double p, double i, double d) : Kp(p), Ki(i), Kd(d), integralError(0.0), previousError(0.0) {
lastTime = millis();
}
double compute(double setpoint, double measuredValue) {
unsigned long now = millis();
double dt = (double)(now - lastTime) / 1000.0;
if (dt <= 0.0) dt = 0.01;
double error = setpoint - measuredValue;
integralError += error * dt;
// Chống bão hòa tích phân (Anti-windup clamping)
integralError = constrain(integralError, -50.0, 50.0);
double derivative = (error - previousError) / dt;
double output = (Kp * error) + (Ki * integralError) + (Kd * derivative);
previousError = error;
lastTime = now;
return constrain(output, -255.0, 255.0);
}
void reset() {
integralError = 0.0;
previousError = 0.0;
}
};
// Khởi tạo bộ PID với hệ số thực nghiệm tối ưu
MotorPIDController leftMotorPID(2.45, 0.85, 0.04);
MotorPIDController rightMotorPID(2.48, 0.82, 0.04);
4. Cấu hình ROS Node và Xử lý Điều hướng
Node điều hướng trên Intel NUC nhận dữ liệu LaserScan từ /scan của RPLIDAR A2M8, hợp nhất với dữ liệu odometry từ /odom thông qua gói robot_localization (Extended Kalman Filter), đưa vào Navigation Stack với bộ lập kế hoạch toàn cục (Global Planner - Dijkstra/A*) và bộ lập kế hoạch cục bộ (Local Planner - DWA).
#!/usr/bin/env python3
import rospy
from geometry_msgs.msg import Twist
from nav_msgs.msg import Odometry
class VelocityBridgeNode:
def __init__(self):
rospy.init_node('velocity_bridge_node', anonymous=False)
self.cmd_sub = rospy.Subscriber('/cmd_vel', Twist, self.cmd_callback)
self.wheel_pub = rospy.Publisher('/wheel_speed_target', Twist, self.cmd_callback)
self.wheel_base = 0.45 # Khoảng cách giữa 2 puly (m)
self.wheel_radius = 0.0435 # Bán kính puly (m)
rospy.loginfo("Velocity Bridge Node Initialized with Track L=%.2fm, R=%.4fm", self.wheel_base, self.wheel_radius)
def cmd_callback(self, msg):
v_linear = msg.linear.x
w_angular = msg.angular.z
# Động học vi sai ngược: Tính vận tốc dài cho từng bánh (m/s)
v_right = v_linear + (w_angular * self.wheel_base / 2.0)
v_left = v_linear - (w_angular * self.wheel_base / 2.0)
# Đổi sang vòng/phút (RPM) của trục động cơ sau giảm tốc (1:10)
rpm_right = (v_right / (2 * 3.14159265 * self.wheel_radius)) * 60.0
rpm_left = (v_left / (2 * 3.14159265 * self.wheel_radius)) * 60.0
target_twist = Twist()
target_twist.linear.x = rpm_left
target_twist.linear.y = rpm_right
self.wheel_pub.publish(target_twist)
if __name__ == '__main__':
try:
node = VelocityBridgeNode()
rospy.spin()
except rospy.ROSInterruptException:
pass
Testing và validation
+------------------------------------+----------------+----------------+---------+
| Kịch bản kiểm thử (Test Scenario) | Chỉ tiêu đặt ra| Kết quả đạt | Kết luận|
+------------------------------------+----------------+----------------+---------+
| Kiểm tra độ bền tĩnh (Tải 30kg) | Độ võng <0.1mm | 0.041 mm | ĐẠT |
| Chạy thẳng 10m trên sàn phẳng | Lệch ngang <5cm| 3.2 cm | ĐẠT |
| Vượt dốc nghiêng 5 độ liên tục | Vận tốc >0.4m/s| 0.52 m/s | ĐẠT |
| Quét bản đồ SLAM phòng 150m2 | Sai số diện tích <3%| 1.8% sai lệch| ĐẠT |
| Dừng chính xác tại điểm Goal (AMCL)| Sai số < 50 mm | 34.5 mm | ĐẠT |
| Hoạt động liên tục bằng pin 24V | Thời gian >90ph| 135 phút | ĐẠT |
+------------------------------------+----------------+----------------+---------+
+-------------------------------------------------------------+
| TESTING BENCHMARK BREAKDOWN |
| |
| Localization Drift: 0.8% over 100m path |
| Obstacle Detection Latency: 42 ms |
| Emergency Stop Response Distance: 0.12 m at max speed |
| PID Step Response Settling Time: 0.38 s |
+-------------------------------------------------------------+
Trong suốt quá trình thử nghiệm thực tế 16 tuần, hệ thống ghi nhận 24 lỗi phần mềm và phần cứng (bao gồm hiện tượng trôi gốc tọa độ khi chuyển hướng gấp, lỗi mất gói tin UART do tràn bộ đệm Serial Buffer của ATmega2560 và hiện tượng rung lắc cụm căng xích). Toàn bộ 24/24 lỗi (100%) đã được khắc phục hoàn toàn thông qua việc bổ sung cơ cấu khóa đôi vít me và tối ưu mã nguồn nạp ngắt Timer trên Arduino.
Kết quả đạt được
Hệ thống Mobile Robot chế tạo hoàn thiện đạt được toàn diện các yêu cầu kỹ thuật:
- Cơ khí hoàn thiện: Kết cấu đai răng cao su bản rộng phối hợp bộ tăng xích chủ động giúp triệt tiêu hoàn toàn hiện tượng chùng đai, nâng khả năng bám địa hình dốc lên $5.5^\circ$.
- Hệ thống điện an toàn: Bộ ổn áp Victron Orion-Tr 24/24-5 loại bỏ hoàn toàn hiện tượng sụt áp của Intel NUC khi 2 động cơ khởi động đồng thời ở dòng đỉnh 12A.
- Khả năng tự hành chính xác: Bản đồ môi trường (2D Occupancy Grid Map) được tái tạo với độ phân giải $0.05\text{ m/pixel}$, thuật toán DWA né tránh mượt mà các chướng ngại vật tĩnh và động trong bán kính quét an toàn $0.5\text{ m}$.
Đổi mới và đóng góp
Đổi mới kỹ thuật nổi bật
- Cơ cấu căng đai - xích độc lập tích hợp trong không gian hẹp: Thiết kế cụm gá động cơ dạng trượt rãnh kép với vít me tinh chỉnh, cho phép kỹ thuật viên điều chỉnh lực căng của xích con lăn 25 và dây đai 600DH-30 mà không cần tháo rời toàn bộ vỏ bảo vệ của robot.
- Kiến trúc phân phối tải điện toán tối ưu: Bằng cách phân tách hoàn toàn tầng điều khiển thời gian thực ngắt cứng (Low-level PID, đọc Encoder trên Arduino Mega) và tầng xử lý nhận thức cao cấp (High-level SLAM, Navigation trên Intel NUC i5), hệ thống giải phóng 100% tài nguyên CPU của NUC cho việc xử lý ma trận điểm laser và tối ưu Costmap.
- Mô hình hóa động học hiệu chỉnh cho hệ dẫn động đai bánh xích: Ứng dụng mô hình vi sai có bù hệ số trượt trượt tiếp tuyến ($\mu = 1.0$), giúp độ chính xác ước lượng vị trí Odometry tăng 28.5% so với mô hình bánh vi sai thông thường không bù trượt.
+--------------------------+---------------------+---------------------+----------------------+
| Thông số kỹ thuật | Robot bánh xe phẳng | Robot nhập ngoại | Mobile Robot đề tài |
| | (Standard AMR) | (EMMA400L / OTTO) | (HCMUTE Mechatronics)|
+--------------------------+---------------------+---------------------+----------------------+
| Khả năng đi địa hình gồ ghề| Không khả dụng | Kém (chỉ sàn kho) | Vượt dốc 5.5 deg, cát|
| Hệ thống phần mềm | Đóng (Proprietary) | Đóng | Mã nguồn mở ROS Node |
| Chi phí phần cứng | $2,000 - $3,500 | $15,000 - $30,000 | ~$1,100 (Tiết kiệm >65%)|
| Khả năng tùy biến thêm module| Khó khăn | Rất hạn chế | Rất cao (UART/ROS API)|
+--------------------------+---------------------+---------------------+----------------------+
Đóng góp cho đào tạo và nghiên cứu
- Cung cấp một bộ tài liệu thiết kế cơ điện tử hoàn chỉnh, từ bản vẽ chế tạo SolidWorks, mô phỏng bền FEA, sơ đồ mạch nguyên lý đến mã nguồn điều khiển ROS/C++, làm tài liệu tham khảo trực quan cho sinh viên và các nhóm nghiên cứu về Robot di động tự hành tại các trường đại học kỹ thuật.
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng thực tế
- Tuần tra an ninh và kiểm tra trạm biến áp, nhà máy điện: Robot mang theo camera hồng ngoại và cảm biến nhiệt độ di chuyển tự động theo các lộ trình được lập trình sẵn giữa các trạm biến áp, phát hiện các điểm phát nhiệt bất thường trên đường dây hoặc hành vi xâm nhập trái phép.
- Giám sát nông nghiệp nhà màng và vườn cây ăn trái: Di chuyển trên các luống đất mấp mô, địa hình cỏ rậm để thu thập độ ẩm đất, độ ẩm không khí, giám sát sâu bệnh và hỗ trợ phun thuốc tự động.
- Logistics bán lộ thiên trong khuôn viên công nghiệp: Vận chuyển linh kiện giữa các xưởng sản xuất có đoạn đường kết nối ngoài trời không bằng phẳng mà các loại xe AMR bánh xe thông thường không thể hoạt động.
+--------------------------------------------------------------------------------+
| ROADMAP TRIỂN KHAI VÀ THƯƠNG MẠI HÓA |
| |
| [ Q1-Q2 ]: Hoàn thiện phiên bản công nghiệp, gia công khung bằng cắt Laser CNC |
| và chấn tôn CNC tấm C45 tiêu chuẩn. Nâng chuẩn chống bụi/nước IP54. |
| |
| [ Q3 ]: Nâng cấp lên nền tảng ROS 2 (Humble Hawksbill), tích hợp cảm biến |
| Camera 3D RealSense D435i để nhận diện vật cản không gian 3D. |
| |
| [ Q4 ]: Thương mại hóa phiên bản thương mại cho các trạm điện lực và nông |
| trường công nghệ cao. Tích hợp trạm sạc tự động (Auto-docking). |
+--------------------------------------------------------------------------------+
Phân tích hiệu quả kinh tế và Điểm hòa vốn (ROI)
- Chi phí sản xuất thử nghiệm: ~28.000.000 VNĐ (~$1,100 USD).
- Chi phí thuê nhân công tuần tra thủ công (2 ca/ngày): ~15.000.000 VNĐ/tháng.
- Thời gian hoàn vốn (Payback Period):
$$\text{Thời gian hoàn vốn} = \frac{28.000.000\text{ VNĐ}}{15.000.000\text{ VNĐ/tháng} - 1.500.000\text{ VNĐ (bảo trì/điện)}} \approx 2.07\text{ tháng}$$
- Mô hình chứng minh tính khả thi kinh tế vượt trội khi ứng dụng vào việc thay thế con người trong các công việc tuần tra nguy hiểm, độc hại.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Góc quét giới hạn của LiDAR 2D: RPLIDAR A2M8 chỉ quét trong mặt phẳng 2D song song mặt đất. Khi robot di chuyển vượt dốc nghiêng hoặc bậc thềm mấp mô, mặt phẳng quét bị nghiêng theo thân xe, có thể gây nhiễu bản đồ 2D hoặc không quét được các vật cản thấp sát mặt đất.
- Tải trọng có ích (Payload): Do cấu trúc khung tối ưu cho việc mang thiết bị tuần tra tự hành nhẹ, tải trọng mang thêm giới hạn ở mức 15kg ngoài tự trọng xe.
- Hiện tượng trượt ngang (Track Slip) khi quay tại chỗ trên nền đất trơn: Cơ chế dẫn động bánh đai khi quay quanh tâm ($v_R = -v_L$) tạo ra momen ma sát trượt ngang lớn với mặt đất, làm tăng sai số tích lũy Odometry nếu không có cảm biến IMU 9 trục bù góc.
Hướng nâng cấp trong tương lai
- Tích hợp cảm biến quán tính IMU 9-DOF và 3D LiDAR/Depth Camera: Hợp nhất dữ liệu IMU với Encoder qua thuật toán Robot Localization (Extended Kalman Filter), bổ sung Intel RealSense D435i để thực hiện RTAB-Map (Real-Time Appearance-Based 3D SLAM).
- Chuyển dịch sang ROS 2 (Humble/Iron): Nâng cao tính thời gian thực (DDS middleware), bảo mật mạng DDS Security và khả năng điều phối đa robot (Multi-agent Fleet Management).
- Phát triển cơ chế sạc tự động (Auto-docking Station): Sử dụng camera nhận diện ArUco Marker kết hợp thuật toán cập trạm sạc chính xác cao với sai số dưới 5mm.
Đối tượng hưởng lợi
+--------------------+---------------------------------------------------------------+
| Nhóm đối tượng | Giá trị thực tiễn & Định lượng lợi ích mang lại |
+--------------------+---------------------------------------------------------------+
| Sinh viên Cơ điện | Nguồn tài liệu mã nguồn mở hoàn chỉnh: Bản vẽ CAD SolidWorks, |
| tử & Tự động hóa | code mẫu Arduino C++ PID, ROS Navigation Package thực tế. |
+--------------------+---------------------------------------------------------------+
| Kỹ sư phát triển | Mô hình tham chiếu chuẩn để tích hợp nhanh hệ thống vi điều |
| Robot (Developers) | khiển ATmega/STM32 với ROS thông qua giao thức Rosserial UART.|
+--------------------+---------------------------------------------------------------+
| Doanh nghiệp nông | Giải pháp tự động hóa tuần tra chi phí thấp (giảm 65% chi phí |
| nghiệp & Nhà xưởng | đầu tư ban đầu so với mua AMR nước ngoài), hoàn vốn sau 3-6th.|
+--------------------+---------------------------------------------------------------+
| Nhà nghiên cứu | Dữ liệu thực nghiệm về động học đai cao su có bù ma sát trượt |
| (Researchers) | phục vụ các bài báo khoa học về điều khiển chuyển động đa tầng|
+--------------------+---------------------------------------------------------------+
Câu hỏi thường gặp
1. Yêu cầu phần cứng và phần mềm tối thiểu để triển khai lại hệ thống này là gì?
Hệ thống yêu cầu tối thiểu một máy tính nhúng kiến trúc x86_64 (như Intel NUC Core i3 trở lên hoặc board Jetson Nano 4GB) cài đặt Ubuntu 20.04 LTS và ROS Noetic; 01 board Arduino Mega 2560; 01 cảm biến LiDAR 2D (RPLIDAR A1/A2 hoặc tương đương); 02 động cơ DC/BLDC kèm encoder có dòng tải tối thiểu 5A và nguồn pin 24V dung lượng từ 5000mAh.
2. Làm thế nào để giải quyết hiện tượng trôi vị trí (Odometry Drift) khi xe di chuyển trên địa hình gồ ghề?
Cần cấu hình thuật toán AMCL (Adaptive Monte Carlo Localization) kết hợp quét laser thời gian thực liên tục đối chiếu với bản đồ tĩnh đã lưu để tái định vị vị trí robot. Đồng thời, bổ sung bộ lọc Kalman mở rộng (EKF) từ package robot_localization để dung hợp nguồn dữ liệu từ Encoder bánh xe với cảm biến con quay hồi chuyển IMU 9 trục.
3. Tại sao chọn hệ thống truyền động đai răng thay vì sử dụng bánh xe tiêu chuẩn?
Dây đai răng cao su bản rộng phân bổ đều áp lực lên diện tích tiếp xúc lớn hơn nhiều so với điểm tiếp xúc của bánh xe tròn, mang lại hệ số ma sát tĩnh vượt trội ($\mu \approx 1.0$). Điều này triệt tiêu tình trạng trượt quay tự do bánh xe khi robot leo dốc $5^\circ$ hoặc di chuyển trên các bề mặt rời rạc như cát, mùn cưa và bùn đất.
4. Hệ thống cần bảo trì định kỳ những hạng mục nào và tần suất ra sao?
Cần thực hiện kiểm tra độ căng của xích con lăn 25 và dây đai răng 600DH sau mỗi 50 giờ hoạt động thông qua vít me căn chỉnh; tra dầu mỡ bôi trơn chuyên dụng cho cụm truyền động xích sau 100 giờ; vệ sinh lăng kính phát laser của cảm biến RPLIDAR A2M8 bằng khăn mềm khô định kỳ hàng tháng để tránh tán xạ quang học do bụi bẩn.
5. Chi phí chi tiết và thời gian hoàn vốn (ROI) khi ứng dụng thương mại được tính như thế nào?
Tổng chi phí linh kiện phần cứng chế tạo robot hoàn chỉnh là khoảng 28.000.000 VNĐ. Với chi phí thuê 01 nhân sự tuần tra thủ công tối thiểu 7.500.000 VNĐ/tháng, khi robot thay thế 1-2 ca tuần tra cố định tại các khu vực nguy hiểm, doanh nghiệp sẽ đạt điểm hoàn vốn đầu tư chỉ trong vòng 2 đến 4 tháng vận hành.
Kết luận
Đồ án tốt nghiệp “Nghiên cứu, thiết kế và chế tạo Mobile Robot” của 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. Hồ Chí Minh đã hoàn thành xuất sắc các mục tiêu nghiên cứu và chế tạo đề ra. Bằng việc làm chủ từ khâu tính toán động lực học, thiết kế mô phỏng bền khung cơ khí trên SolidWorks, gia công chế tạo hệ thống dẫn động đai răng - xích con lăn, đến việc lập trình điều khiển vòng kín PID trên vi điều khiển ATmega2560 và tích hợp hệ điều hành Robot (ROS) trên máy tính nhúng Intel NUC, công trình đã chứng minh tính khả thi vượt trội của một nền tảng robot di động đa địa hình tự hành hoàn toàn "Make in Vietnam".
Kết quả thử nghiệm thực tế khẳng định robot có khả năng di chuyển linh hoạt trên các địa hình dốc nghiêng $5.5^\circ$, tốc độ tối đa $0.58\text{ m/s}$, tự động quét bản đồ SLAM và định vị chính xác với sai số dưới $35\text{ mm}$. Đây là cơ sở khoa học và thực tiễn vững chắc mở ra tiềm năng ứng dụng rộng rãi trong giám sát an ninh trạm điện, tự động hóa nông nghiệp công nghệ cao và logistics công nghiệp.