Bối cảnh và vấn đề nghiên cứu
Trong xu thế phát triển của cuộc Cách mạng công nghiệp 4.0, tự động hóa đang trở thành yêu cầu thiết yếu trong nhiều lĩnh vực như sản xuất công nghiệp, logistics, y tế và dịch vụ thông minh. Các hệ thống robot di động (mobile robot) ngày càng được ứng dụng rộng rãi nhằm nâng cao năng suất lao động, chuẩn hóa quy trình vận hành và hạn chế sự phụ thuộc vào con người trong các công việc có tính chất lặp lại hoặc tiềm ẩn rủi ro nguy hiểm. Trên thực tế, robot di động tự hành đã được triển khai để vận chuyển vật liệu và phân phối hàng hóa tự động trong nhà kho, hỗ trợ vận chuyển thuốc và vật tư y tế trong các cơ sở bệnh viện (đặc biệt trong giai đoạn phòng chống dịch Covid-19), phục vụ buồng phòng trong khách sạn, cũng như tuần tra và hướng dẫn di chuyển tại các tòa nhà thông minh.
Đặc trưng chung của các ứng dụng này là đòi hỏi robot phải có khả năng tự định vị, bám quỹ đạo chính xác đến mục tiêu được chỉ định, đồng thời tương thích và phản ứng linh hoạt trước những biến đổi bất định của môi trường xung quanh. Đối với môi trường hoạt động trong nhà, không gian thường bị giới hạn về diện tích và liên tục xuất hiện các vật cản động (như con người hoặc các phương tiện vận chuyển khác). Do đó, robot cần được trang bị hệ thống điều khiển có khả năng tính toán thời gian thực nhằm đảm bảo sự ổn định và an toàn khi vận hành.
Xuất phát từ yêu cầu thực tiễn đó, đề tài "Thiết kế bộ điều khiển cho robot di động hai bánh lái vi sai tránh vật cản động dựa trên ROS" được nhóm tác giả lựa chọn nhằm giải quyết bài toán tích hợp hệ thống phần cứng, xây dựng bản đồ, định vị và điều hướng tự hành tránh vật cản động.
Mục tiêu nghiên cứu của đề tài được xác định cụ thể qua 4 nội dung chính:
- Thiết kế và thi công mô hình robot di động hai bánh lái vi sai.
- Xây dựng giải thuật điều hướng MPC (Model Predictive Control) và DWA (Dynamic Window Approach) giúp robot tránh vật cản và di chuyển đến đích trên cả mô phỏng và thực nghiệm.
- Xây dựng bản đồ thực tế diện tích lớn thông qua các gói hỗ trợ SLAM: Hector SLAM và SLAM Toolbox.
- Thu thập dữ liệu theo thời gian thực để so sánh hiệu quả giữa hai giải thuật điều hướng.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Mô hình động học robot di động hai bánh lái vi sai; hệ thống cảm biến đo đạc (LiDAR, IMU, Encoder); các thuật toán định vị và lọc trạng thái (EKF, AMCL); các thuật toán lập bản đồ (Hector SLAM, SLAM Toolbox); các giải thuật điều khiển và điều hướng tránh vật cản (Dijkstra, DWA, MPC).
- Phạm vi không gian: Bản đồ thực nghiệm được triển khai tại Tầng 2 tòa C, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh.
- Phạm vi thời gian: Đề tài được thực hiện từ ngày 22/02/2025 đến ngày 10/06/2025.
- Giới hạn nghiên cứu được tác giả quy định: Mô hình robot do nhóm tự thiết kế và gia công nên chưa đánh giá được độ bền và độ ổn định dài hạn; cảm biến LiDAR chỉ quét 180 độ về phía trước và hệ thống chỉ nhận diện các vật cản nằm trong phạm vi quét này; robot chỉ di chuyển tiến về phía trước mà không thực hiện chuyển động lùi; giới hạn vận tốc tối đa được cài đặt ở mức 0. [văn bản gốc khuyết giá trị thập phân]; chưa tiến hành khảo sát tốc độ và độ trễ truyền nhận tín hiệu giữa máy chủ và máy khách qua mạng ROS Network.
Cơ sở lý thuyết và phương pháp
Khóa luận xây dựng hệ thống điều khiển dựa trên các nền tảng toán học, động học và khung phần mềm chuyên dụng:
Khung lý thuyết và mô hình toán học
- Động học robot hai bánh lái vi sai: Vị trí và tư thế của robot trong hệ quy chiếu toàn cục được biểu diễn thông qua vector trạng thái $p = [x_Q, y_Q, \theta]^T$, với $(x_Q, y_Q)$ là tọa độ tâm robot và $\theta$ là góc hướng di chuyển. Giả định bánh xe không bị trượt, vận tốc tuyến tính $v_Q$ và vận tốc góc $\omega$ của robot được xác định từ vận tốc tuyến tính bánh phải ($v_r$) và bánh trái ($v_l$) theo khoảng cách hai bánh xe ($2a$) và bán kính bánh xe ($r$):
$$v_Q = \frac{v_r + v_l}{2}, \quad \omega = \frac{v_r - v_l}{2a}$$
Mối liên hệ vi phân giữa vận tốc góc của từng bánh xe $(\omega_r, \omega_l)$ trong không gian khớp và vận tốc chuyển động trong không gian làm việc được thiết lập thông qua ma trận Jacobian $J$:
$$\dot{p} = J \dot{q}$$
- Hệ điều hành Robot (ROS) và ROS Navigation Stack: Hệ thống khai thác kiến trúc phân tán dựa trên các node, topic, service và message. Trong đó, ngăn xếp điều hướng (Navigation Stack) đóng vai trò trung tâm với các thành phần cốt lõi:
move_base (nút điều phối), Costmap (bản đồ chi phí thể hiện chướng ngại vật cục bộ và toàn cục), AMCL (định vị dựa trên bộ lọc hạt Particle Filter), Global Planner (hoạch định đường đi toàn cục) và Local Planner (hoạch định đường đi cục bộ tránh va chạm).
- Thuật toán SLAM (Simultaneous Localization and Mapping): Khóa luận phân tích cấu trúc SLAM gồm hai khối: Front-end (tiếp nhận dữ liệu thô từ LiDAR, IMU, dự đoán mô hình chuyển động, trích xuất đặc trưng hình học) và Back-end (phát hiện vòng lặp - Loop Closure Detection và tối ưu hóa đồ thị vị trí - Pose Graph Optimization). Hai thuật toán được khảo sát là Hector SLAM (dựa trên phương pháp khớp quét Scan Matching bằng thuật toán Gauss-Newton, không đòi hỏi dữ liệu odometry) và SLAM Toolbox (tiếp cận theo đồ thị Pose-graph SLAM, sử dụng thư viện Ceres Solver để giải bài toán tối ưu phi tuyến bình phương tối thiểu toàn cục).
- Bộ lọc Kalman mở rộng (Extended Kalman Filter - EKF): Ứng dụng để ước lượng trạng thái phi tuyến của robot thông qua vector trạng thái $x_k = [x_k, y_k, \theta_k]^T$. Thuật toán vận hành theo hai chu trình lặp: dự đoán trạng thái (Time Update/Predict) kết hợp ma trận hiệp phương sai lỗi $P_k$ và cập nhật đo lường (Measurement Update) dựa trên độ lợi Kalman $K_k$, ma trận Jacobian $J_f$ từ mô hình động học và ma trận đo lường $H_{imu}$ từ cảm biến IMU.
- Thuật toán điều hướng: Dijkstra được sử dụng để tìm đường đi ngắn nhất trên bản đồ toàn cục; Dynamic Window Approach (DWA) tính toán lệnh vận tốc tối ưu $(v, \omega)$ trong không gian vận tốc khả thi dựa trên khoảng cách tới vật cản và hướng đích; Model Predictive Control (MPC) tối ưu hóa quỹ đạo chuyển động trong cửa sổ dự báo hữu hạn (receding horizon) có xét đến các ràng buộc động học và điều kiện an toàn tránh va chạm.
Phương pháp nghiên cứu
Tác giả kết hợp bốn phương pháp nghiên cứu chính:
- Phân tích dữ liệu: Sử dụng phần mềm MATLAB và công cụ QT Designer để trích xuất, trực quan hóa và đánh giá đáp ứng đồ thị vận hành, sai số bám quỹ đạo và tính ổn định của hệ thống.
- Phân tích mô phỏng: Thiết lập mô hình động lực học và môi trường 3D trên nền tảng Gazebo kết nối qua ROS nhằm kiểm thử thuật toán SLAM và các kịch bản tránh vật cản động trước khi đưa vào ứng dụng thực tế.
- Phân tích thực nghiệm: Chế tạo phần cứng, lắp đặt cảm biến, nạp thuật toán và kiểm chứng trực tiếp trong môi trường hành lang thực tế tại Tòa C trường Đại học Sư phạm Kỹ thuật TP.HCM.
- Đánh giá hiệu quả hệ thống: Đo đạc sai số bám quỹ đạo đặt, so sánh trực tiếp chất lượng tạo bản đồ giữa Hector SLAM và SLAM Toolbox, cũng như đối đối sánh khả năng né tránh vật cản giữa MPC và DWA.
Thiết kế và triển khai
Hệ thống robot được phát triển hoàn chỉnh từ kết cấu cơ khí, phần cứng điện tử đến kiến trúc điều khiển phần mềm.
Kết cấu phần cứng và cơ khí
Mô hình robot được thiết kế trên phần mềm SolidWorks 2023 với kích thước phủ bì: chiều dài 600 mm, chiều rộng 350 mm và chiều cao 270 mm. Cơ cấu cơ khí gồm các cụm bộ phận chính:
- Khung gầm và bệ đỡ: Mặt đế được gia công chắc chắn chịu tải trọng của ắc quy và thiết bị; tích hợp giá đỡ cụm động cơ truyền động và giá đỡ cảm biến LiDAR, IMU.
- Cơ cấu chuyển động: Sử dụng hai bánh xe dẫn động độc lập hai bên để tạo kiểu lái vi sai, kết hợp cụm 4 bánh xe mắt trâu đặt tại 4 góc ngoài của thân nhằm phân bổ trọng lực và giữ thăng bằng cho hệ thống.
- Vỏ bảo vệ: Được tạo hình và in 3D bằng chất liệu nhựa PLA, phân tách thành ba phần: phần thân chính, phần bảo vệ phía trước cụm cảm biến LiDAR và khoang chứa hàng hóa phía sau.
Phần cứng điện tử và phân tầng điều khiển
Hệ thống điều khiển phân cấp gồm hai tầng xử lý:
- Tầng tính toán cấp cao (Master): Trang bị máy tính nhúng Nvidia Jetson Orin đảm nhiệm chạy hệ điều hành ROS, thực thi các giải thuật xử lý dữ liệu nặng như xây dựng bản đồ SLAM, lọc EKF, lập kế hoạch di chuyển toàn cục và thuật toán tối ưu hóa điều hướng MPC/DWA.
- Tầng điều khiển cấp thấp (Slave): Sử dụng vi điều khiển Arduino Mega 2560 chịu trách nhiệm đọc tín hiệu phản hồi xung từ Encoder động cơ, giao tiếp I2C/SPI với cảm biến IMU, tính toán vòng điều khiển PID vận tốc và phát xung PWM điều khiển mạch công suất động cơ.
- Cảm biến tích hợp: Cảm biến LiDAR 2D góc quét 180 độ gắn phía trước, cảm biến IMU đo gia tốc và vận tốc góc trên 3 trục chuyển động, cảm biến Encoder quang học đo số vòng quay của trục động cơ.
- Mạch in điện tử: Tác giả tự thiết kế và thi công bo mạch PCB tích hợp các đường cấp nguồn, mạch bảo vệ nút dừng khẩn cấp (EMG), giắc kết nối cảm biến và chuyển đổi mức tín hiệu.
- Giao tiếp truyền thông: Kết nối vật lý giữa Jetson Orin và Arduino Mega 2560 thông qua chuẩn UART, tích hợp thư viện ROS Serial để đồng bộ hóa dữ liệu topic vận tốc (
/cmd_vel) và thông tin odometry. Quá trình giám sát từ xa sử dụng mô hình ROS Network qua giao thức IP kết nối giữa máy tính trạm và Jetson Orin.
Giao diện điều khiển và giám sát (GUI)
Giao diện người dùng được lập trình bằng ngôn ngữ Python với thư viện Qt Designer, bao gồm ba phân hệ chức năng: Giao diện điều khiển chính, Giao diện quan sát đồ thị (hiển thị sai số bám, vận tốc tức thời, đáp ứng quỹ đạo theo thời gian thực) và Giao diện phát lệnh điều khiển thủ công.
Bảng so sánh kỹ thuật giữa hai công cụ SLAM được nhóm tác giả khảo sát trong đồ án:
| Thông số / Tiêu chí |
Hector SLAM |
SLAM Toolbox |
| Bản chất thuật toán |
Scan Matching (Gauss-Newton) |
Graph-based SLAM (Pose Graph) |
| Phương thức tối ưu |
Tối ưu cục bộ từng bước quét |
Tối ưu toàn bộ pose graph bằng Ceres Solver |
| Cơ chế định vị |
So khớp scan-to-map (chủ yếu từ LiDAR) |
Khớp scan-to-map kết hợp đồ thị đo lường |
| Yêu cầu dữ liệu odometry |
Không bắt buộc odometry |
Hỗ trợ odometry và IMU để nâng độ chính xác |
| Phát hiện vòng lặp (Loop closure) |
Không hỗ trợ |
Có hỗ trợ, tự động hiệu chỉnh đồ thị |
| Tốc độ xử lý |
Rất nhanh, gần như thời gian thực |
Tương đối nhanh, có thể giảm khi đồ thị mở rộng |
Nội dung chính theo từng chương
Chương 1: Tổng quan
Chương 1 thiết lập cơ sở khoa học và thực tiễn của đề tài. Tác giả phân tích nhu cầu ứng dụng robot di động trong công nghiệp, dịch vụ và y tế, tổng quan tình hình nghiên cứu quốc tế (các hướng kết hợp thuật toán A* và DWA, RRT* và DWA, áp dụng MPC trong bám quỹ đạo và tránh va chạm cho đa robot, ứng dụng mô hình học tăng cường). Tại Việt Nam, tác giả điểm qua các nghiên cứu về hệ thống điều hướng trên ROS, sử dụng Point Cloud Library để dựng bản đồ, ứng dụng bộ điều khiển trường tiềm năng và các nghiên cứu bước đầu về MPC tại RICLab (ĐH Sư phạm Kỹ thuật TP.HCM). Từ đó, chương xác định mục tiêu, các giới hạn vận hành, phạm vi nghiên cứu và phương pháp tiếp cận của đồ án.
Chương 2: Cơ sở lý thuyết
Chương 2 cung cấp nền tảng toán học và kỹ thuật chuyên ngành. Tác giả trình bày phân loại robot di động (mặt đất, trên không, dưới nước; các dạng di chuyển bằng bánh xe, bánh xích, chân); thiết lập mô hình toán học động học robot hai bánh lái vi sai và ma trận Jacobian vi phân. Chương đi sâu vào hệ điều hành ROS (khái niệm, ưu nhược điểm, hệ thống tập tin, node, topic, service, ROS Master, Parameter Server, ROS Bag) và cấu trúc Navigation Stack. Lý thuyết SLAM được phân rã thành Front-end và Back-end, so sánh bản chất giữa Hector SLAM và SLAM Toolbox. Ngoài ra, chương làm rõ lý thuyết bộ lọc EKF phục vụ kết hợp dữ liệu cảm biến, các thuật toán Dijkstra, DWA, bộ điều khiển dự báo mô hình MPC, cấu tạo nguyên lý cảm biến LiDAR, IMU, Encoder, bộ điều khiển phản hồi PID và chuẩn truyền thông nối tiếp UART.
Chương 3: Thiết kế và thi công hệ thống
Chương 3 tập trung vào quy trình kỹ thuật chế tạo phần cứng và xây dựng phần mềm nhúng. Tác giả phân tích lực tác động lên robot, tính toán mô-men và công suất để lựa chọn động cơ truyền động; lựa chọn danh mục thiết bị (Jetson Orin, Arduino Mega 2560, cảm biến LiDAR, IMU, bánh xe). Bản vẽ 3D được dựng trên SolidWorks gồm các chi tiết mặt đế, giá đỡ động cơ, giá đỡ cảm biến, bộ 4 bánh phụ và cụm vỏ bảo vệ PLA. Chương mô tả quy trình thiết kế, thi công mạch in PCB, đấu nối hệ thống dây điện và cơ cấu an toàn. Về mặt phần mềm, chương xây dựng lưu đồ thuật toán điều khiển cấp thấp trên Arduino Mega 2560, lưu đồ xử lý cấp cao trên Jetson Orin và thiết kế giao diện đồ họa GUI bằng Python.
Chương 4: Thiết kế giải thuật điều khiển
Chương 4 tập trung vào việc hiện thực hóa các giải thuật điều khiển tự hành trên ROS. Tác giả xây dựng sơ đồ phối hợp giữa các node ROS, cấu hình node EKF để dung hợp dữ liệu tư thế từ odometry bánh xe và góc xoay từ IMU. Thuật toán MPC được thiết lập toán học chi tiết với hàm mục tiêu giảm thiểu sai số bám quỹ đạo đặt, đồng thời tích hợp các điều kiện ràng buộc phi tuyến về khoảng cách an toàn nhằm né tránh vật cản tĩnh và động. Song song đó, thuật toán DWA được thiết kế dựa trên mô hình cửa sổ vận tốc động để làm cơ sở đối sánh hiệu năng điều khiển cục bộ.
Chương 5: Mô phỏng giải thuật điều khiển
Chương 5 tiến hành kiểm thử các thuật toán trong không gian ảo Gazebo trước khi triển khai trên phần cứng. Mô hình 3D từ SolidWorks được xuất sang định dạng mô phỏng; các thông số vật lý của robot, bánh xe, bề mặt tiếp xúc và cảm biến (LiDAR, IMU) được cấu hình theo Bảng 5-1 đến Bảng 5-4. Bản đồ môi trường mô phỏng được xây dựng với kích thước xác định (Bảng 5-5). Quá trình lập bản đồ mô phỏng được thực hiện để kiểm tra tính năng SLAM. Sau đó, tác giả thực hiện mô phỏng thuật toán điều hướng tránh vật cản qua 5 trường hợp cụ thể:
- Trường hợp 1: Di chuyển trong môi trường không có vật cản.
- Trường hợp 2: Di chuyển né tránh 3 vật cản tĩnh bố trí trên đường đi.
- Trường hợp 3: Điều hướng né tránh 1 vật cản động di chuyển.
- Trường hợp 4: Điều hướng né tránh 2 vật cản động với quỹ đạo đan xen.
- Trường hợp 5: Điều hướng né tránh 3 vật cản động phức tạp.
Dữ liệu di chuyển và đồ thị đáp ứng của MPC và DWA trong từng trường hợp được thu thập để đánh giá tính ổn định và khả năng tạo quỹ đạo mượt mà.
Chương 6: Thực nghiệm giải thuật điều khiển
Chương 6 đưa hệ thống vào thử nghiệm thực tế tại Tầng 2 tòa C, ĐH Sư phạm Kỹ thuật TP.HCM. Tác giả thực hiện cấu hình mạng Master - Slave qua địa chỉ IP giữa Jetson Orin và máy tính điều khiển. Thực nghiệm xây dựng bản đồ được tiến hành tuần tự bằng Hector SLAM và SLAM Toolbox; dữ liệu sai lệch hình học và độ sắc nét biên dạng bản đồ được ghi nhận và so sánh. Tiếp theo, hệ thống thực hiện thử nghiệm điều hướng bám quỹ đạo qua các điểm đích chỉ định theo các kịch bản:
- Kịch bản di chuyển không có vật cản với thuật toán MPC và DWA.
- Kịch bản di chuyển né tránh vật cản tĩnh và người đang đi lại trong hành lang với thuật toán MPC và DWA.
Dữ liệu thực nghiệm được trích xuất qua đồ thị để phân tích sai số bám vị trí, độ vọt lố vận tốc và thời gian đáp ứng của từng bộ điều khiển.
Chương 7: Kết luận và hướng phát triển
Chương 7 tổng kết toàn bộ các kết quả đạt được về mặt chế tạo mô hình, lập trình điều khiển nhúng, dựng bản đồ và thực nghiệm điều hướng. Tác giả chỉ rõ các giới hạn kỹ thuật của hệ thống hiện tại và đề xuất các giải pháp nâng cấp, mở rộng cho các nghiên cứu tiếp theo.
Kết quả và đóng góp
Kết quả chính
- Về phần cứng: Nhóm tác giả đã thiết kế và thi công hoàn chỉnh mô hình robot hai bánh lái vi sai kích thước 600 x 350 x 270 mm, tích hợp cụm bánh mắt trâu giữ thăng bằng, bo mạch điều khiển PCB tự gia công, hệ thống máy tính nhúng Jetson Orin kết hợp vi điều khiển Arduino Mega 2560 vận hành ổn định qua giao thức UART và ROS Serial.
- Về xây dựng bản đồ (SLAM): Thử nghiệm thực tế tại hành lang Tầng 2 tòa C chứng minh SLAM Toolbox vượt trội hơn Hector SLAM trong môi trường không gian rộng. Nhờ cơ chế tối ưu hóa đồ thị Pose Graph bằng Ceres Solver và khả năng phát hiện vòng lặp (loop closure), SLAM Toolbox khử được hiện tượng trôi dạt (drift) tích lũy, giúp bản đồ khép kín và giữ đúng tỷ lệ hình học của hành lang. Ngược lại, Hector SLAM do chỉ dựa vào khớp quét Scan Matching nên dễ bị biến dạng bản đồ khi robot chuyển động quay nhanh hoặc trượt bánh.
- Về thuật toán điều hướng tránh vật cản:
- Cả hai thuật toán MPC và DWA đều hoàn thành việc đưa robot di chuyển qua các điểm đích được chỉ định trên mô phỏng và thực tế.
- Trong môi trường tĩnh không có vật cản, cả hai giải thuật đều cho khả năng bám quỹ đạo tốt.
- Trong môi trường xuất hiện vật cản động (vật thể di chuyển cắt ngang hoặc người đi bộ), thuật toán MPC chứng minh ưu thế nhờ khả năng dự đoán trước quỹ đạo trong cửa sổ thời gian hữu hạn và tích hợp trực tiếp ràng buộc an toàn, giúp robot chủ động giảm tốc và lượn vòng mượt mà hơn. Ngược lại, DWA do chỉ phản ứng trong cửa sổ vận tốc ngắn hạn nên quỹ đạo né tránh có hiện tượng đổi hướng đột ngột và dao động khi vật cản thay đổi tốc độ bất ngờ.
Đóng góp của đề tài
- Hoàn thiện quy trình thiết kế, chế tạo và tích hợp hoàn chỉnh một nền tảng robot di động hai bánh lái vi sai tự hành từ phần cứng cơ khí, điện tử, vi điều khiển nhúng đến hệ điều hành robot ROS.
- Cung cấp dữ liệu đánh giá và so sánh thực nghiệm song song giữa hai thuật toán SLAM phổ biến (Hector SLAM vs SLAM Toolbox) trên cùng một điều kiện phần cứng thực tế.
- Triển khai và đánh giá đối sánh trực tiếp giữa thuật toán điều khiển dự báo mô hình MPC và giải thuật truyền thống DWA trong bài toán tránh vật cản động trên nền tảng ROS, cung cấp cơ sở kiểm chứng thực nghiệm cho các nghiên cứu điều khiển chuyển động robot tại Việt Nam.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế của đề tài
Các hạn chế được nhóm tác giả thẳng thắn chỉ ra dựa trên điều kiện thực hiện:
- Mô hình robot do nhóm tự thiết kế và gia công cơ khí thủ công, chưa trải qua quá trình thử nghiệm công nghiệp nên chưa đủ cơ sở đánh giá độ bền cơ học và tính ổn định dài hạn khi vận hành liên tục.
- Cảm biến LiDAR trang bị chỉ có góc quét 180 độ hướng về phía trước, do đó tồn tại vùng mù hoàn toàn 180 độ phía sau. Hệ thống chỉ xử lý và tránh được các vật cản xuất hiện trong trường nhìn của cảm biến.
- Thuật toán điều khiển chỉ cho phép robot di chuyển tiến về phía trước, chưa hỗ trợ cơ chế lùi xe khi gặp đường cụt hoặc không gian bị tắc nghẽn hoàn toàn.
- Vận tốc tối đa của robot bị giới hạn ở mức 0. [giá trị khuyết số thập phân theo văn bản], làm hạn chế khả năng cơ động nhanh của robot.
- Đề tài chưa khảo sát và định lượng được ảnh hưởng của độ trễ truyền thông không dây (latency/packet loss) trong mạng ROS Network giữa máy tính trạm giám sát và Jetson Orin.
Hướng phát triển
Dựa trên các hạn chế đã nêu, các hướng mở rộng tiếp theo bao gồm:
- Nâng cấp phần cứng cảm biến lên LiDAR 360 độ hoặc tích hợp thêm cảm biến 3D LiDAR/Camera chiều sâu để loại bỏ các điểm mù xung quanh thân xe.
- Cải tiến giải thuật điều khiển cục bộ cho phép robot thực hiện chuyển động lùi linh hoạt khi rơi vào các khu vực bế tắc (deadlock).
- Tối ưu hóa cấu trúc truyền thông ROS Network, nghiên cứu chuyển đổi sang nền tảng ROS 2 để tăng tính bảo mật, giảm độ trễ và hỗ trợ tốt hơn cho hệ thống phân tán thời gian thực.
- Hoàn thiện kết cấu cơ khí công nghiệp để nâng cao độ bền và khả năng chịu tải trọng lớn hơn phục vụ ứng dụng chuyên chở hàng hóa thực tế.
Giá trị tham khảo
Đồ án tốt nghiệp là tài liệu tham khảo có giá trị kỹ thuật cao cho:
- Sinh viên và học viên cao học các ngành Công nghệ Kỹ thuật Điều khiển và Tự động hóa, Kỹ thuật Cơ điện tử, Kỹ thuật Robot, Khoa học Máy tính và Hệ thống Nhúng.
- Người nghiên cứu đang thực hiện các đề tài liên quan đến robot tự hành (AGV/AMR), hệ điều hành robot ROS, và điều khiển xe tự hành trong nhà.
- Các nội dung đặc biệt đáng tham khảo trong tài liệu:
- Phương pháp thiết lập mô hình động học vi sai và tính toán ma trận Jacobian.
- Cấu hình và kết nối hệ thống cảm biến (LiDAR, IMU, Encoder) thông qua bộ lọc EKF trong ROS.
- Kiến trúc phân tầng điều khiển kết hợp giữa máy tính nhúng Nvidia Jetson Orin và Arduino Mega 2560 bằng ROS Serial.
- Thiết kế chi tiết hàm mục tiêu và điều kiện ràng buộc cho thuật toán điều khiển dự báo mô hình MPC tránh va chạm vật cản động.
- Mã nguồn và cấu trúc thiết kế giao diện giám sát dữ liệu thời gian thực (GUI) bằng Python kết nối với hệ sinh thái ROS.
Câu hỏi thường gặp
1. Mô hình robot trong đề tài sử dụng cơ chế truyền động nào và kích thước phần cứng thực tế là bao nhiêu?
Robot sử dụng cơ chế truyền động hai bánh lái vi sai độc lập đặt ở hai bên thân xe để tạo chuyển động tiến, quay hướng, kết hợp cùng 4 bánh xe mắt trâu đặt tại 4 góc để giữ thăng bằng. Kích thước mô hình thực tế được thiết kế và thi công với các thông số: chiều dài 600 mm, chiều rộng 350 mm và chiều cao 270 mm.
2. Sự phân chia nhiệm vụ xử lý giữa Jetson Orin và Arduino Mega 2560 được thực hiện như thế nào?
Hệ thống phân tầng điều khiển rõ ràng: Nvidia Jetson Orin đóng vai trò máy chủ cấp cao (Master), chạy hệ điều hành ROS để xử lý các thuật toán nặng gồm xây dựng bản đồ SLAM, bộ lọc vị trí EKF, lập kế hoạch toàn cục và điều khiển cục bộ MPC/DWA. Trong khi đó, Arduino Mega 2560 là vi điều khiển cấp thấp (Slave), đảm nhiệm việc đọc xung tốc độ từ Encoder, đọc gia tốc/góc xoay từ IMU, thực thi thuật toán PID vận tốc và băm xung PWM điều khiển động cơ, hai khối giao tiếp với nhau qua giao thức UART/ROS Serial.
3. Đồ án so sánh hai gói SLAM nào và kết quả thực nghiệm ra sao?
Đề tài tiến hành so sánh giữa Hector SLAM (thuật toán Scan Matching dùng phương pháp Gauss-Newton) và SLAM Toolbox (thuật toán Graph-based SLAM giải bài toán tối ưu đồ thị pose-graph bằng Ceres Solver). Kết quả thực nghiệm tại Tòa C cho thấy SLAM Toolbox vượt trội hơn nhờ có cơ chế phát hiện vòng lặp (loop closure) giúp bản đồ không bị biến dạng và khử trôi dạt trong không gian lớn, trong khi Hector SLAM dễ bị lệch bản đồ do phụ thuộc hoàn toàn vào tốc độ quét laser và không dùng dữ liệu odometry.
4. Khả năng tránh vật cản động của bộ điều khiển MPC có điểm gì ưu việt hơn so với DWA trong kết quả nghiên cứu?
Thuật toán MPC có khả năng dự đoán trạng thái tương lai của robot trong một khoảng thời gian hữu hạn (horizon) và đưa các điều kiện biên ràng buộc về an toàn trực tiếp vào bài toán tối ưu, giúp robot nhận diện sớm chuyển động của vật cản động và tạo quỹ đạo né tránh mượt mà, chủ động giảm tốc. Ngược lại, DWA chỉ tính toán trên cửa sổ vận tốc động tức thời ngắn hạn, dẫn đến việc đổi hướng đột ngột, chuyển động giật cục hoặc dễ rơi vào trạng thái bế tắc khi gặp chướng ngại vật thay đổi hướng liên tục.
5. Phạm vi giới hạn an toàn của hệ thống cảm biến LiDAR trên robot được cấu hình như thế nào?
Cảm biến LiDAR trên mô hình robot chỉ quét một góc 180 độ về phía trước. Do đó, hệ thống chỉ có khả năng phát hiện, phân tích và thực hiện thao tác tránh né đối với những chướng ngại vật (tĩnh hoặc động) nằm hoàn toàn trong phạm vi quét bán nguyệt phía trước, bỏ qua các vật thể xuất hiện ở vùng mù 180 độ phía sau thân xe.
Kết luận
Khóa luận tốt nghiệp của sinh viên Đoàn Lê Bảo Duy và Huỳnh Nguyễn Thanh Duy đã hoàn thành trọn vẹn mục tiêu thiết kế, chế tạo và kiểm chứng thực nghiệm mô hình robot di động hai bánh lái vi sai tự hành trên nền tảng ROS. Bằng việc tích hợp thành công bộ lọc Kalman mở rộng (EKF), đối sánh hiệu quả giữa Hector SLAM và SLAM Toolbox, cùng việc triển khai thuật toán điều khiển dự báo mô hình MPC né tránh vật cản động, đề tài đã chứng minh tính khả thi và độ tin cậy của hệ thống trong môi trường thực nghiệm tại Tầng 2 tòa C Trường Đại học Sư phạm Kỹ thuật TP.HCM. Công trình cung cấp một tài liệu kỹ thuật hoàn chỉnh, kết hợp hài hòa giữa cơ sở lý thuyết toán học động học và giải pháp thực thi phần cứng - phần mềm điều khiển tự động hóa hiện đại.