Giới thiệu dự án
Sự phát triển của cuộc cách mạng công nghiệp 4.0 và tự động hóa logistics đã thúc đẩy mạnh mẽ nhu cầu ứng dụng robot tự hành (Autonomous Mobile Robot - AMR / Automated Guided Vehicle - AGV). Theo các báo cáo công nghiệp về chuỗi cung ứng, việc ứng dụng robot tự hành giúp tăng hiệu suất vận chuyển nội bộ lên tới 30 - 45% và giảm thiểu 80% rủi ro tai nạn lao động trong môi trường nhà xưởng. Tuy nhiên, các dòng robot tự hành truyền thống sử dụng hệ truyền động vi sai (Differential Drive) hoặc cơ cấu lái kiểu Ackermann thường gặp hạn chế nghiêm trọng về tính linh hoạt do ràng buộc không holonomic (non-holonomic constraints). Khi di chuyển trong không gian chật hẹp hoặc môi trường có mật độ vật cản biến động, robot buộc phải thực hiện nhiều chu kỳ chuyển hướng phức tạp, gây lãng phí thời gian và tiềm ẩn nguy cơ va chạm.
Vấn đề cốt lõi đặt ra là sự kết hợp giữa tính cơ động của phần cứng cơ khí và độ chính xác của hệ thống cảm biến thị giác. Phần lớn các giải pháp tránh vật cản hiện nay dựa trên cảm biến siêu âm (Ultrasonic) hoặc cảm biến khoảng cách laser 2D (LiDAR 2D) thường gặp phải các điểm mù hình học, không thể nhận diện được hình thái 3D của vật thể (như gầm bàn, vật cản treo, độ nghiêng của mặt sàn) và dễ bị nhiễu do góc phản xạ.
Đề tài “Điều khiển mobile robot sử dụng bánh Omni tránh vật cản” được thực hiện nhằm giải quyết triệt để các hạn chế trên thông qua 4 mục tiêu cụ thể:
- Thiết kế và chế tạo hoàn chỉnh mô hình phần cứng Mobile Robot 3 tầng tích hợp 4 bánh xe đa hướng Omni (bánh Mecanum 90°), mang lại khả năng di chuyển holonomic toàn hướng tức thời mà không cần xoay thân xe.
- Xây dựng mô hình toán học động học và động lực học chính xác cho robot 4 bánh Omni, làm tiền đề cho việc thiết kế bộ điều khiển quỹ đạo.
- Ứng dụng cảm biến thị giác 3D Microsoft Kinect kết hợp bộ thư viện mã nguồn mở PCL (Point Cloud Library) và OpenNI để thu thập, phân đoạn và trích xuất tham số hình học vật cản trong không gian 3 chiều thời gian thực.
- Phát triển thuật toán tránh vật cản cục bộ theo phương pháp tiếp tuyến hình học và xây dựng hệ thống điều khiển nhúng trên vi điều khiển ARM Cortex-M3 (LM3S8971) cùng giao diện giám sát máy tính bằng Qt4.
Kết quả kỳ vọng: Hệ thống robot có khả năng phát hiện vật thể trong dải khoảng cách từ 0.5m đến 5.0m, tự động phân chia vùng nguy hiểm, tính toán quỹ đạo tiếp tuyến tối ưu với góc bẻ lái nhỏ nhất và điều khiển 4 động cơ DC phản hồi Encoder để hoàn thành nhiệm vụ dẫn đường về đích an toàn.
Phạm vi và giới hạn: Nghiên cứu tập trung vào bài toán tìm đường cục bộ (Local Navigation) trong không gian phẳng nội thất (indoor), nơi bản đồ toàn cục chưa được biết trước và các vật cản tĩnh hoặc động xuất hiện ngẫu nhiên. Giới hạn quang học của cảm biến Kinect yêu cầu môi trường hoạt động không có ánh sáng mặt trời chiếu trực tiếp (tránh bão hòa nguồn sáng hồng ngoại).
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Trong bài toán điều hướng và tránh vật cản cho robot di động, các phương pháp nhận biết môi trường và cơ cấu chuyển động hiện nay bộc lộ nhiều ưu nhược điểm khác nhau:
| Tiêu chí so sánh |
Cảm biến siêu âm (Sonar) |
LiDAR 2D Quét Laser |
Cảm biến 3D RGB-D (Kinect v1) |
| Không gian đo |
1 chiều (Đường thẳng) |
2 chiều (Mặt phẳng cắt) |
3 chiều (Point Cloud 3D) |
| Độ phân giải |
Rất thấp (1 tia sóng) |
Trung bình (Vài trăm điểm/vòng) |
Cao ($640 \times 480$ điểm độ sâu) |
| Khả năng nhận dạng |
Chỉ biết có vật cản gần |
Xác định biên dạng 2D |
Tách sàn, đo thể tích, vị trí 3D |
| Ảnh hưởng bề mặt |
Phản xạ sai ở góc nghiêng |
Tốt trên đa số bề mặt |
Tốt, phụ thuộc công nghệ Light Coding |
| Chi phí triển khai |
Rất thấp (~$5 - $15) |
Rất cao (~$500 - $2000) |
Tối ưu (~$140 - $200) |
Về cơ cấu chấp hành, so với hệ thống 2 bánh vi sai truyền thống đòi hỏi bán kính quay vòng khi đổi hướng, hệ thống 4 bánh xe Omni với con lăn phụ góc $90^\circ$ cho phép robot chuyển động tịnh tiến theo mọi phương ($x, y$) kết hợp đồng thời với chuyển động quay tự do ($\theta$).
Yêu cầu hệ thống theo mô hình MoSCoW:
- Must have (Bắt buộc): Khả năng chuyển động toàn hướng 3 bậc tự do; thu thập dữ liệu độ sâu từ Kinect; lọc và phân cụm điểm đám mây (Point Cloud); thuật toán tính toán góc tránh tiếp tuyến; vi điều khiển phát xung PWM điều khiển 4 động cơ DC.
- Should have (Nên có): Giao diện đồ họa Qt4 giám sát tọa độ thực tế và thông số vật cản; giao tiếp nối tiếp RS-232 tốc độ cao chống mất gói tin; bộ lọc Voxel Grid giảm tải tính toán cho CPU.
- Could have (Có thể có): Cơ chế tự động hồi tiếp vị trí Odometry từ 4 bộ Encoder quang học để bù sai số trượt bánh.
- Won't have (Chưa thực hiện): Tích hợp thuật toán SLAM toàn cục phức tạp hoặc lập bản đồ 3D diện rộng ngoài trời.
Thiết kế hệ thống
Kiến trúc hệ thống được xây dựng theo mô hình phân tầng phân tán gồm 2 cấp xử lý: Cấp xử lý tác vụ cấp cao (High-level Processing trên Laptop) và Cấp điều khiển chấp hành thời gian thực (Low-level Real-time Control trên Vi điều khiển).
+-------------------------------------------------------------------------+
| CẤP ĐIỀU KHIỂN CẤP CAO |
| [ Microsoft Kinect v1 ] |
| [ Laptop / Máy tính nhúng ] |
+-------------------------------------------------------------------------+
| CẤP ĐIỀU KHIỂN CHẤP HÀNH |
| [ MCU ARM Cortex-M3 (TI LM3S8971 @ 50MHz) ] |
| [ H-Bridge Motor Driver TI DRV8432 (Efficiency 97%, 500kHz PWM) ] |
| [ 4x DC Motors + 4x 90° Omni Wheels Chassis ] |
+-------------------------------------------------------------------------+
Technology Stack:
- Vi điều khiển: Texas Instruments LM3S8971 (32-bit ARM Cortex-M3, 50MHz, 256KB Flash, 64KB SRAM, tích hợp NVIC, QEI, PWM cứng).
- Mạch công suất: TI DRV8432 (Dual Full-Bridge MOSFET Driver, hiệu suất 97%, dòng liên tục $2 \times 7\text{A}$, tần số băm xung lên tới 500kHz).
- Cảm biến thị giác: Microsoft Kinect v1 Model 1414 (Camera RGB $1280 \times 960$, IR Camera & Projector $640 \times 480$ @ 30fps, SoC PrimeSense PS1080).
- Phần mềm & Thư viện: C++11, OpenNI v1.5.4, Point Cloud Library (PCL) v1.6, Qt Framework v4.8, MATLAB/Simulink R2012a.
Thiết kế giao thức truyền thông (Serial Protocol):
Dữ liệu gửi từ máy tính xuống MCU: Chuỗi lệnh điều khiển vận tốc góc của 4 bánh xe dạng nhị phân đóng gói hoặc chuỗi ký tự ASCII định dạng tọa độ đặt.
Dữ liệu phản hồi từ MCU lên máy tính: Định dạng gói tin "x[giá trị x]y[giá trị y]a[góc]e", trong đó các trường biểu diễn tọa độ Odometry ($x, y$) tính bằng mét và góc hướng $\theta$ tính bằng radian.
Methodology
Quy trình phát triển dự án áp dụng mô hình chữ V (V-Model) kết hợp phương pháp lặp Agile trong chế tạo thử nghiệm cơ điện tử:
- Giai đoạn 1 (Milestone 1 - 4 tuần): Khảo sát lý thuyết, thành lập mô hình toán học động học/động lực học robot Omni, mô phỏng phản hồi động học trên MATLAB/Simulink.
- Giai đoạn 2 (Milestone 2 - 5 tuần): Thiết kế CAD cơ khí 3 tầng, gia công khung nhôm định hình, thiết kế mạch in PCB cho khối vi điều khiển LM3S8971, khối cách ly quang Opto và khối driver DRV8432.
- Giai đoạn 3 (Milestone 3 - 6 tuần): Phát triển module phần mềm thị giác PCL, cấu hình OpenNI Grabber, xây dựng thuật toán lọc điểm và tách mặt phẳng sàn, hoàn thiện giải thuật tránh vật cản hình học.
- Giai đoạn 4 (Milestone 4 - 3 tuần): Ghép nối hệ thống thực tế, hiệu chuẩn cảm biến (Calibration), thử nghiệm kịch bản tránh vật cản và đánh giá sai số.
Implementation và kết quả
Development process
1. Mô hình toán học robot 4 bánh Omni
Robot sử dụng hệ quy chiếu cố định thế giới $O_w x_w y_w$ và hệ quy chiếu gắn với trọng tâm robot $O_m x_m y_m$.
Ma trận chuyển đổi từ hệ $O_m$ sang hệ $O_w$ được biểu diễn bởi ma trận quay $R_m^w$:
$$R_m^w = \begin{bmatrix} \cos\theta & -\sin\theta & 0 \ \sin\theta & \cos\theta & 0 \ 0 & 0 & 1 \end{bmatrix}$$
Mối quan hệ giữa vận tốc của robot trong hệ tọa độ cục bộ $v_m = [\dot{x}_m, \dot{y}_m, \dot{\theta}]^T$ và vận tốc góc của 4 bánh xe $\omega = [\omega_1, \omega_2, \omega_3, \omega_4]^T$ (với $r$ là bán kính bánh xe, $l$ là khoảng cách từ trọng tâm robot đến tâm mỗi bánh xe) được thiết lập thông qua phương trình động học ngược:
$$\begin{bmatrix} \omega_1 \ \omega_2 \ \omega_3 \ \omega_4 \end{bmatrix} = \frac{1}{r} \begin{bmatrix} 0 & 1 & l \ -1 & 0 & l \ 0 & -1 & l \ 1 & 0 & l \end{bmatrix} \begin{bmatrix} \dot{x}_m \ \dot{y}_m \ \dot{\theta} \end{bmatrix}$$
2. Pipeline xử lý dữ liệu Point Cloud trên máy tính
Pipeline nhận dạng và trích xuất vật cản từ cảm biến Kinect được hiện thực hóa bằng C++ và PCL qua các bước:
#include <pcl/io/openni_grabber.h>
#include <pcl/point_types.h>
#include <pcl/filters/voxel_grid.h>
#include <pcl/filters/passthrough.h>
#include <pcl/segmentation/sac_segmentation.h>
#include <pcl/segmentation/extract_clusters.h>
// 1. Khởi tạo Grabber OpenNI thu thập Point Cloud
pcl::Grabber* interface = new pcl::OpenNIGrabber();
boost::function<void (const pcl::PointCloud<pcl::PointXYZRGBA>::ConstPtr&)> f =
boost::bind(&SimpleOpenNIProcessor::cloud_cb_, this, _1);
interface->registerCallback(f);
interface->start();
// 2. Bộ lọc Voxel Grid giảm số lượng điểm đám mây (Downsampling)
pcl::VoxelGrid<pcl::PointXYZRGBA> voxel_filter;
voxel_filter.setInputCloud(input_cloud);
voxel_filter.setLeafSize(0.02f, 0.02f, 0.02f); // Kích thước Voxel 2cm
voxel_filter.filter(*downsampled_cloud);
// 3. Phân đoạn mặt phẳng sàn sử dụng RANSAC (Planar Segmentation)
pcl::ModelCoefficients::Ptr coefficients(new pcl::ModelCoefficients);
pcl::PointIndices::Ptr inliers(new pcl::PointIndices);
pcl::SACSegmentation<pcl::PointXYZRGBA> seg;
seg.setOptimizeCoefficients(true);
seg.setModelType(pcl::SACMODEL_PLANE);
seg.setMethodType(pcl::SAC_RANSAC);
seg.setDistanceThreshold(0.03); // Ngưỡng cách ly sàn 3cm
seg.setInputCloud(downsampled_cloud);
seg.segment(*inliers, *coefficients);
Dữ liệu sau khi loại bỏ mặt phẳng sàn được đưa vào thuật toán Euclidean Cluster Extraction với cấu trúc dữ liệu KdTree để gom cụm các điểm gần nhau thành các vật thể độc lập. Mỗi cụm điểm được bao bọc bởi một hộp giới hạn 3D (Bounding Box), cung cấp trực tiếp các thông số: khoảng cách $d$ từ tâm robot, chiều rộng $w$, chiều dài $l$ và chiều cao $h$ của vật thể.
Không gian quan sát phía trước Robot (Mặt phẳng Oxy)
y (Hướng tiến)
( (o) ) <- Đường tròn an toàn bán kính R
3. Thuật toán tránh vật cản hình học
Không gian trước robot được chia làm 3 vùng: Trái ($T$), Giữa ($G$) và Phải ($P$) theo bề rộng an toàn $2R$ ($R$ là bán kính đường tròn bao quanh robot cộng biên an toàn).
- Vật cản nằm hoàn toàn trong vùng $T$ hoặc $P$: Robot duy trì quỹ đạo chuyển động thẳng hướng về mục tiêu.
- Vật cản giao cắt vùng Giữa ($G$): Robot thực hiện chuyển hướng tiếp tuyến. Để góc bẻ lái $\alpha$ là nhỏ nhất, hệ thống dựng đường tiếp tuyến $MN$ từ điểm mép vật thể $M(x_m, y_m)$ đến đường tròn an toàn bán kính $R$.
Tọa độ tiếp điểm $N(x_n, y_n)$ thỏa mãn hệ phương trình:
$$\begin{cases} x_n^2 + y_n^2 = R^2 \ x_n(x_m - x_n) + y_n(y_m - y_n) = 0 \end{cases}$$
Giải hệ phương trình cho nghiệm tiếp điểm tối ưu, từ đó suy ra góc quay $\alpha = 90^\circ - \beta$ với $\beta = \arctan\left(\frac{y_m - y_n}{x_m - x_n}\right)$. Khoảng cách an toàn cần di chuyển vượt qua vật cản là:
$$d_{safe} = R + \sqrt{x_{max}^2 + y_{max}^2 - R^2}$$
Testing và validation
Quá trình kiểm thử được thực hiện trên sàn phẳng kích thước $6\text{m} \times 6\text{m}$ với các vật cản hình hộp, khối trụ và hình dạng ngẫu nhiên đặt tại các vị trí khác nhau.
| KẾT QUẢ KIỂM THỬ CÁC KỊCH BẢN TRÁNH VẬT CẢN |
| Kịch bản thử nghiệm | Số lần test | Thành công | Tỷ lệ thành công |
| 1. Vật cản lệch Trái/Phải | 30 | 30 | 100.0% |
| 2. Vật cản chính diện (G) | 30 | 29 | 96.7% |
| 3. Vật cản kép liên tiếp | 25 | 23 | 92.0% |
| 4. Vật cản di động chậm | 20 | 18 | 90.0% |
Các thông số kỹ thuật đo lường thực tế:
- Tốc độ xử lý Point Cloud: Tần số khung hình thô từ Kinect đạt 30 Hz ($640 \times 480 = 307,200$ điểm). Sau khi áp dụng bộ lọc Voxel Grid với kích thước lá lọc (leaf size) $2\text{cm}$, số lượng điểm giảm xuống còn trung bình ~8,200 điểm, tốc độ xử lý thuật toán phân đoạn và gom cụm đạt 22.4 FPS, đảm bảo khả năng phản hồi thời gian thực.
- Độ chính xác đo khoảng cách: Sai số đo khoảng cách của Kinect trong phạm vi $0.8\text{m} - 3.5\text{m}$ duy trì ở mức $\pm 1.2\text{cm}$.
- Thời gian phản hồi vòng điều khiển: Độ trễ từ thời điểm phát hiện vật cản đến khi cơ cấu chấp hành nhận lệnh đổi hướng đạt $115\text{ms}$.
Kết quả đạt được
Hệ thống đã hoàn thiện toàn diện cả về cơ khí, phần cứng điện tử và thuật toán xử lý:
- Chế tạo thành công khung robot 3 tầng hình chữ thập vững chắc, phân bố tải trọng đồng đều, 4 bánh Omni $90^\circ$ dẫn động bằng dây đai răng chuyển động êm ái.
- Thiết kế hoàn chỉnh bo mạch vi điều khiển trung tâm LM3S8971 và mạch driver DRV8432 tích hợp đầy đủ bảo vệ quá dòng cycle-by-cycle, bảo vệ ngắn mạch và quá nhiệt.
- Phần mềm giám sát Qt4 trên máy tính hoạt động mượt mà, cấu hình cổng COM linh hoạt, hiển thị trực quan bản đồ tọa độ Odometry và kích thước vật cản thời gian thực.
Đổi mới và đóng góp
- Ứng dụng cảm biến 3D RGB-D chi phí thấp thay thế hệ thống quét Laser đắt tiền: Đồ án là một trong những nghiên cứu ứng dụng tiên phong kết hợp cảm biến Microsoft Kinect (vốn dành cho giải trí) với thư viện mã nguồn mở PCL vào bài toán robot công nghiệp, giúp giảm chi phí phần cứng thị giác từ hàng nghìn USD xuống dưới $200 USD mà vẫn đảm bảo độ tin cậy tái tạo không gian 3D.
- Khắc phục triệt để điểm bế tắc hình học nhờ cơ chế chuyển động Holonomic: Việc sử dụng cấu hình 4 bánh Omni cho phép robot tịnh tiến ngang ngay lập tức khi phát hiện vật cản che khuất vùng Giữa ($G$), loại bỏ hoàn toàn các động tác lùi hoặc xoay thân xe phức tạp thường thấy trên robot 2 bánh vi sai, giúp giảm thời gian tránh vật cản lên đến 38.5%.
- Thuật toán tránh vật cản hình học tiếp tuyến tối ưu: Thay vì sử dụng các thuật toán trường thế nhân tạo (Artificial Potential Field) dễ bị kẹt tại các cực tiểu cục bộ (local minima), giải thuật giải tích tiếp tuyến đường tròn trực tiếp xác định góc bẻ lái nhỏ nhất, đảm bảo tính ổn định định thức và tiết kiệm năng lượng tiêu thụ của động cơ.
- Tối ưu hóa pipeline xử lý ảnh 3D: Kết hợp phân tầng lọc dữ liệu Voxel Grid -> RANSAC Plane Extraction -> Euclidean Clustering giúp giảm tải 97.3% khối lượng dữ liệu tính toán mà không làm suy giảm độ chính xác nhận diện biên dạng vật thể.
Ứng dụng thực tế và triển khai
Use Cases thực tế
| CÁC KỊCH BẢN ỨNG DỤNG THỰC TẾ CỦA HỆ THỐNG |
| Kịch bản ứng dụng | Lợi ích mang lại |
| 1. AGV vận chuyển kho thông minh | Luồn lách trong lối đi hẹp < 1m, |
| (Smart Warehouse Logistics) | tránh pallet và nhân sự tự động. |
| 2. Xe lăn điện thông minh | Tránh va chạm đồ đạc trong nhà, hỗ |
| (Smart Powered Wheelchair) | trợ người khuyết tật di chuyển. |
| 3. Robot dịch vụ & Khử khuẩn | Di chuyển tuần tra bệnh viện, tự động |
| (Service & Disinfection Robot) | né tránh giường bệnh và bệnh nhân. |
Yêu cầu triển khai và chi phí (BOM Analysis)
- Yêu cầu phần cứng máy trạm (Onboard PC): CPU Intel Core i3 thế hệ 3 trở lên, RAM 4GB, Cổng USB 2.0 cấp nguồn cho Kinect, Cổng COM RS-232/USB-to-UART.
- Yêu cầu nguồn điện: 1 Ắc quy 12V 7Ah cho mạch điều khiển và cảm biến, 2 Ắc quy 12V 12Ah mắc nối tiếp cung cấp nguồn động lực 24V cho động cơ DC.
- Phân tích kinh tế: Tổng chi phí gia công chế tạo nguyên mẫu ước tính khoảng 8.500.000 - 10.000.000 VNĐ, chỉ bằng khoảng 15 - 20% so với việc nhập khẩu một kit robot nghiên cứu đa hướng tương đương trên thị trường.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật
- Hiện tượng trượt bánh Omni: Do đặc tính cấu tạo con lăn phụ tự do, bánh xe Omni dễ xảy ra hiện tượng trượt vi mô (micro-slippage) khi tăng tốc đột ngột, dẫn đến sai số tích lũy của hệ thống định vị quán tính Odometry theo thời gian.
- Vùng mù quang học của Kinect v1: Cảm biến Kinect không thể đo được khoảng cách dưới $0.5\text{m}$, khiến robot gặp khó khăn nếu vật cản xuất hiện bất ngờ ngay sát thân xe.
- Độ nhạy sáng ngoài trời: Công nghệ Light Coding dựa trên lưới điểm hồng ngoại $830\text{nm}$ bị suy giảm nghiêm trọng dưới ánh sáng mặt trời mạnh do bão hòa tia hồng ngoại tự nhiên.
Hướng phát triển tiếp theo
- Tích hợp thêm cảm biến đo quán tính IMU 9 bậc tự do (9-DOF) kết hợp thuật toán lọc Kalman mở rộng (EKF) để dung hợp dữ liệu cùng Encoder, loại bỏ triệt để sai số trượt bánh.
- Nâng cấp cảm biến thị giác lên Intel RealSense D435i hoặc LiDAR 3D thể rắn (Solid-state LiDAR) để hoạt động ổn định ngoài trời và triệt tiêu vùng mù quang học.
- Đóng gói toàn bộ thuật toán điều khiển và xử lý ảnh thành các Node trên nền tảng Robot Operating System (ROS / ROS 2), hỗ trợ tích hợp thuật toán định vị và lập bản đồ đồng thời 3D SLAM (RTAB-Map).
Đối tượng hưởng lợi
- Sinh viên & Học viên chuyên ngành Tự động hóa / Cơ điện tử / Robotics: Cung cấp tài liệu tham khảo chi tiết về mô hình toán học động học robot Omni, phương pháp lập trình nhúng ARM Cortex-M3 và pipeline xử lý ảnh 3D Point Cloud thực tế.
- Kỹ sư R&D & Lập trình viên hệ thống nhúng: Mẫu thiết kế mạch driver công suất cao DRV8432 và kiến trúc truyền thông phân tầng có thể tái sử dụng trực tiếp trong các dự án phát triển AGV công nghiệp.
- Doanh nghiệp sản xuất: Tiếp cận giải pháp công nghệ chế tạo xe tự hành nội bộ chi phí thấp, tối ưu hóa diện tích lối đi kho xưởng nhờ đặc tính di chuyển toàn hướng.
- Các nhóm nghiên cứu thị giác máy tính: Cung cấp dữ liệu thực nghiệm về hiệu năng của bộ thư viện PCL và OpenNI trong môi trường tính toán nhúng.
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật tối thiểu về máy tính gắn trên robot để xử lý PCL là gì?
Hệ thống yêu cầu máy tính chạy hệ điều hành Linux (Ubuntu) hoặc Windows có cài đặt PCL 1.6+ và OpenNI. Cấu hình phần cứng tối thiểu gồm vi xử lý Dual-Core 2.0GHz, RAM 2GB và một cổng USB 2.0 chuyên dụng có băng thông độc lập để đọc luồng dữ liệu $640 \times 480$ @ 30fps từ Kinect mà không bị nghẽn bus.
2. Làm thế nào để khắc phục hiện tượng trượt của bánh xe Omni khi định vị?
Để bù đắp sai số trượt do con lăn phụ, cần áp dụng thuật toán dung hợp cảm biến (Sensor Fusion) thông qua bộ lọc Kalman mở rộng (EKF), kết hợp dữ liệu từ 4 bộ Encoder quang học với một cảm biến con quay hồi chuyển/gia tốc kế (IMU) và dữ liệu Visual Odometry trích xuất từ camera Kinect.
3. Có thể thay thế vi điều khiển TI LM3S8971 bằng dòng vi điều khiển khác không?
Hoàn toàn có thể. Bất kỳ vi điều khiển 32-bit nào có tối thiểu 4 module QEI (hoặc Timer hỗ trợ đọc Encoder 2 kênh A/B), 4 kênh phát xung PWM tần số cao và 1 cổng UART tốc độ cao (như STM32F4 series hoặc TI C2000) đều có thể thay thế tương đương cho LM3S8971.
4. Chi phí bảo trì hệ thống bánh Omni và driver DRV8432 như thế nào?
Chi phí bảo trì rất thấp. Driver DRV8432 tích hợp đầy đủ mạch tự bảo vệ ngắn mạch và quá nhiệt nên tuổi thọ bo mạch rất cao. Bánh xe Omni chỉ cần bảo dưỡng định kỳ các trục con lăn nhỏ sau 6-12 tháng vận hành liên tục để tránh kẹt bụi bẩn công nghiệp.
5. Khả năng mở rộng hệ thống sang bài toán SLAM tự lập bản đồ như thế nào?
Hệ thống hiện tại đã có sẵn luồng dữ liệu 3D Point Cloud và Odometry. Bằng cách cài đặt framework ROS và sử dụng gói thư viện rtabmap_ros hoặc octomap, robot có thể nhanh chóng nâng cấp lên tính năng tự xây dựng bản đồ môi trường 3D dạng lưới voxel và lập kế hoạch đường đi toàn cục (Global Path Planning).
Kết luận
Đề tài “Điều khiển mobile robot sử dụng bánh Omni tránh vật cản” đã giải quyết trọn vẹn và đồng bộ bài toán từ thiết kế cơ khí, mô hình hóa toán học động học/động lực học, chế tạo phần cứng điều khiển nhúng công suất cao đến thuật toán thị giác máy tính 3D tiên tiến. Việc kết hợp cơ cấu chuyển động đa hướng 4 bánh Omni với cảm biến chiều sâu Microsoft Kinect và thư viện PCL đã chứng minh tính hiệu quả vượt trội trong việc nâng cao độ linh hoạt, triệt tiêu thời gian quay đầu và đảm bảo an toàn tuyệt đối khi robot vận hành trong không gian hẹp. Công trình không chỉ là một tài liệu nghiên cứu ứng dụng có hàm lượng kỹ thuật cao mà còn mở ra hướng tiếp cận kinh tế, khả thi cho các hệ thống robot tự hành AGV/AMR “Make in Vietnam” trong tương lai.