Bối cảnh và vấn đề nghiên cứu

Trong xu hướng tự động hóa và phát triển các hệ thống bầy đàn (swarm robotics), việc điều khiển phối hợp nhiều robot di động thực hiện các nhiệm vụ chung đang nhận được sự quan tâm lớn. Các hệ thống đa robot có khả năng phân tán rủi ro, tăng hiệu suất hoạt động trong nhiều lĩnh vực thực tiễn như tìm kiếm cứu nạn, cứu hỏa trong nhà kho công nghiệp, thu gom và dọn dẹp chất thải độc hại, hoặc khảo sát môi trường nguy hiểm. Tuy nhiên, việc vận hành một nhóm robot di chuyển đồng thời trong không gian khép kín đặt ra thách thức lớn: làm thế nào để tối ưu hóa lộ trình di chuyển qua nhiều vị trí nhiệm vụ, đồng thời duy trì cấu trúc đội hình ổn định và thích ứng linh hoạt trước các chướng ngại vật tĩnh cũng như động.

Khóa luận tốt nghiệp "Tối ưu đường đi cho robot và di chuyển đa robot theo đội hình" được thực hiện bởi nhóm sinh viên Nguyễn Từ Gia Thịnh, Lê Văn Tùng và Nguyễn Xuân Sáng dưới sự hướng dẫn của TS. Vũ Văn Phong tại Bộ môn Tự động Điều khiển, Khoa Điện – Điện Tử, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh. Nhiệm vụ và mục tiêu nghiên cứu của đề tài được xác định cụ thể như sau:

Nhiệm vụ nghiên cứu (theo phiếu giao nhiệm vụ):

  1. Nghiên cứu tổng quan về hệ thống đa robot, các thuật toán tạo bản đồ, tối ưu hóa đường đi và duy trì đội hình.
  2. Nghiên cứu hệ điều hành chuyên dụng cho robot (Robot Operating System - ROS).
  3. Thiết kế mô hình phần cứng trên phần mềm SolidWorks và gia công, lắp ráp mô hình thực tế.
  4. Lập trình và mô phỏng các giải thuật điều khiển trên môi trường MATLAB/Simulink.
  5. Triển khai mô phỏng hệ thống robot và các giải thuật trên phần mềm Gazebo.
  6. Cài đặt các giải thuật điều khiển lên hệ thống robot thực tế.
  7. Thử nghiệm thực nghiệm, đánh giá sai số và hoàn thiện hệ thống.

Mục tiêu nghiên cứu cụ thể của đề tài:

  • Thiết kế phần cứng mô hình robot trên SolidWorks và xuất dữ liệu sang Gazebo để phục vụ mô phỏng giải thuật.
  • Mô phỏng thành công các giải thuật trên MATLAB/Simulink và kiểm chứng trên Gazebo.
  • Chế tạo phần cứng hoàn chỉnh cho ba robot di động hai bánh vi sai thuộc hệ non-holonomic.
  • Thiết lập hệ thống truyền thông không dây để xử lý và đồng bộ dữ liệu giữa ba robot với máy tính chủ (PC) qua mạng socket của ROS thông qua kết nối Wi-Fi.
  • Thiết kế và cài đặt bộ điều khiển PID vận tốc động cơ nhằm bảo đảm tính ổn định chuyển động của robot.
  • Triển khai giải thuật tìm đường A* và thuật toán tối ưu hóa bầy kiến (Ant Colony Optimization - ACO) nhằm giải quyết các bài toán TSP (Traveling Salesman Problem), MTSP (Multiple TSP), ITSP (Indoor TSP) và IMTSP (Indoor Multiple TSP).
  • Ứng dụng giải thuật Dynamic Window Approach (DWA) giúp robot né tránh chướng ngại vật động trong quá trình bám quỹ đạo.
  • Áp dụng phương pháp Leader-Follower kết hợp kỹ thuật phản hồi tuyến tính (Feedback Linearization) để kiểm soát và duy trì đội hình cho nhóm ba robot.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Hệ thống gồm ba robot di động hai bánh vi sai (Differential Drive Robots) thuộc hệ non-holonomic, hoạt động theo mô hình một robot dẫn đầu (leader) và hai robot bám theo (follower).
  • Phạm vi không gian: Môi trường trong nhà (indoor), mặt sàn phẳng không dốc nghiêng; kiểm nghiệm thực tế tại phòng Lab C304 và phòng Lab Rockwell D101.
  • Phạm vi thời gian: Đồ án được triển khai từ ngày 05/02/2022 đến ngày 04/07/2023.

Cơ sở lý thuyết và phương pháp

Khung lý thuyết và mô hình toán học

  • Động học hệ robot hai bánh vi sai (non-holonomic): Robot di chuyển dựa trên vận tốc độc lập của hai bánh xe dẫn động gắn trên trục chung, xoay quanh tâm quay tức thời (ICC - Instantaneous Center of Curvature). Vận tốc dài trung bình $v$ và vận tốc góc $\omega$ được xác định qua công thức: $$v = \frac{V_r + V_l}{2}, \quad \omega = \frac{V_r - V_l}{l}$$ Trong đó $l$ là khoảng cách giữa hai bánh xe; $V_r$ và $V_l$ là vận tốc dài bánh phải và bánh trái tính từ xung encoder. Vị trí và hướng của robot được biểu diễn bằng vector trạng thái $q = [x, y, \theta]^T$. Do thuộc hệ ràng buộc non-holonomic, robot không thể dịch chuyển tức thời theo trục ngang mà phải phối hợp chuyển động tịnh tiến và quay.
  • Hệ điều hành robot (ROS): Nền tảng trung gian quản lý tiến trình được phân bổ theo ba cấp độ: Filesystem level (packages, metapackages, messages, services), Computation graph level (nodes, master, parameter server, topics, services, actions) và Community level. Hệ thống sử dụng gói điều hướng navigation stack với node trung tâm move_base.
  • Mô hình bài toán TSP và các biến thể mở rộng: Bài toán người bán hàng truyền thống (TSP) được mở rộng thành bài toán trong nhà (ITSP), bài toán nhiều người bán hàng (MTSP) và bài toán phối hợp nhiều robot trong nhà (IMTSP) với đích đến là các trạm làm việc được xác định trên bản đồ không gian 2D.
  • Mô hình Occupancy Grid Map: Không gian hoạt động được số hóa thành ma trận ô lưới $n \times m$, phân loại theo ba trạng thái xác suất: ô trống (màu trắng), ô bị chiếm bởi vật cản (màu đen) và ô chưa xác định (màu xám).

Phương pháp nghiên cứu

Đồ án kết hợp giữa phương pháp mô hình hóa lý thuyết, tính toán thiết kế phần cứng, mô phỏng trên phần mềm chuyên dụng và kiểm nghiệm thực nghiệm trên mô hình thật:

  • Phương pháp định vị và lập bản đồ (SLAM): Thuật toán Gmapping dựa trên bộ lọc hạt thích nghi (Rao-Blackwellized Particle Filter) kết hợp gói multirobot_map_merge để xây dựng bản đồ cục bộ từ từng robot và hợp nhất thành bản đồ không gian chung. Thuật toán AMCL (Adaptive Monte Carlo Localization) được sử dụng để định vị robot thời gian thực dựa trên mô hình chuyển động và dữ liệu quét laser.
  • Phương pháp tìm đường toàn cục (Global Path Planning): Nghiên cứu và so sánh ba thuật toán Dijkstra, Greedy Best First Search và A*. Thuật toán A* được lựa chọn nhờ tối ưu hóa chi phí đường đi $f(n) = g(n) + h(n)$, trong đó $h(n)$ là hàm ước lượng khoảng cách Euclidean: $$h(n) = \sqrt{(x_n - x_g)^2 + (y_n - y_g)^2}$$
  • Phương pháp tối ưu hóa hành trình (Combinatorial Optimization): Ứng dụng giải thuật tối ưu hóa đàn kiến (ACO) dựa trên mức độ mùi pheromone $\tau_{ij}$ và thông tin heuristic $\eta_{ij}$ để tìm thứ tự đi qua các trạm với chi phí ngắn nhất, so sánh với giải thuật vét cạn (Brute Force Search).
  • Phương pháp tránh va chạm cục bộ (Local Path Planning): Thuật toán DWA (Dynamic Window Approach) tối ưu hóa hàm mục tiêu $G(v, \omega)$ dựa trên ba tiêu chí: góc hướng về mục tiêu (heading), khoảng cách an toàn tới vật cản gần nhất (dist) và vận tốc di chuyển (vel).
  • Phương pháp điều khiển đội hình: Kiến trúc Leader-Follower kết hợp bộ điều khiển phản hồi tuyến tính (Feedback Linearization). Follower duy trì vị trí bám theo Leader dựa trên hai tham số đặt trước: khoảng cách phân tách $L$ và góc phương vị $\psi$.
  • Nguồn dữ liệu: Dữ liệu thực nghiệm thu thập từ cảm biến laser scan RPLidar A1-M8 (tần số quét point cloud phản ánh vật cản), cảm biến quán tính IMU-9250 (đọc trực tiếp góc yaw để hạn chế tích lũy sai số trượt bánh), và tín hiệu xung encoder từ động cơ JGY-370.

Thiết kế và triển khai

Hệ thống được thiết kế theo cấu trúc phần cứng phân tầng và phần mềm phân tán, kết nối tập trung qua mạng cục bộ không dây.

Thiết kế phần cứng

Khung xe robot được thiết kế trên SolidWorks bằng vật liệu mica để tối ưu trọng lượng, bao gồm 4 tầng chức năng:

  • Bottom_base (Tầng đáy): Cố định hệ thống dẫn động gồm hai động cơ DC giảm tốc JGY-370 gắn encoder và một bánh xe đa hướng phía trước có khả năng xoay tự do $360^\circ$.
  • Middle_base (Tầng giữa dưới): Bố trí máy tính nhúng NVIDIA Jetson Nano, có khoét lỗ lắp hai ăng-ten Wi-Fi phục vụ truyền nhận dữ liệu.
  • Control_base (Tầng điều khiển): Đặt vi điều khiển Arduino Mega 2560, mạch cầu H Driver L298N, board mở rộng Jetbot Kit Expansion và cảm biến IMU-9250. Vị trí cảm biến IMU được cố định chính xác tại tâm trục nối hai bánh xe nhằm đo góc hướng chính xác.
  • Top_base (Tầng trên cùng): Thiết kế khoảng không thoáng đãng để đặt cảm biến laser RPLidar A1-M8, tránh góc chết quét chùm tia do các linh kiện khác che khuất.
                          [PC Máy Chủ (Core i7)]
                         [Router TP-Link MR-6400]
                        [Jetson Nano (ROS Melodic)]
                 [Arduino Mega 2560]   [RPLidar A1-M8]
                         [2 Động cơ JGY-370]

Bảng thông số kỹ thuật các thiết bị chính:

Thiết bị Chức năng chính Thông số kỹ thuật ghi nhận trong đồ án
NVIDIA Jetson Nano Bộ xử lý trung tâm trên robot, chạy ROS CPU Quad-core ARM A57, GPU 128-core Maxwell, RAM 4GB LPDDR4, nguồn vào 5V DC
Arduino Mega 2560 Xử lý vòng lặp cấp thấp, giao tiếp phần cứng Nhận tín hiệu điều khiển từ Jetson Nano qua rosserial, xuất xung PWM điều khiển động cơ
Động cơ DC JGY-370 Cơ cấu chấp hành dẫn động hai bánh vi sai Tích hợp hộp giảm tốc và đĩa encoder phản hồi vận tốc quay
Driver L298N Mạch công suất điều khiển động cơ Nhận tín hiệu băm xung PWM và chiều quay từ Arduino, cấp điện áp cho hai động cơ
RPLidar A1-M8 Quét môi trường 2D, nhận diện vật cản Cảm biến laser scan góc quét $360^\circ$, tầm đo từ 0,15m đến 12m
IMU-9250 Đo lường góc hướng chuyển động Cảm biến 9 bậc tự do, trích xuất dữ liệu góc yaw gửi về Arduino qua I2C
TP-Link MR-6400 Trạm phát Wi-Fi trung tâm Định tuyến truyền thông mạng socket giữa máy tính chủ PC và ba robot
Board Jetbot Kit Quản lý nguồn hệ thống Sử dụng nguồn từ 3 cell pin lithium, cấp 12V cho L298N và hạ áp 5V nuôi Jetson Nano

Triển khai kiến trúc phần mềm trên ROS

Phần mềm hệ thống được module hóa thành các ROS node liên kết qua topic và service:

  1. Key Teleop: Gửi lệnh vận tốc bàn phím hoặc giao diện GUI để điều khiển robot thủ công khi cần thiết.
  2. Control Motor: Quy đổi vận tốc dài $v$ và vận tốc góc $\omega$ thành giá trị băm xung PWM tương ứng cho từng động cơ theo phương trình động học.
  3. Ros Serial: Thiết lập kênh truyền thông UART giữa Jetson Nano và Arduino Mega 2560.
  4. IMU Node: Thu thập góc yaw trực tiếp từ IMU-9250 để cập nhật hướng xe vào node odometry, loại bỏ sai số do trượt bánh gây ra nếu chỉ dùng encoder.
  5. Odometry Node: Tính toán tọa độ $(x, y, \theta)$ từ số xung encoder và góc yaw, xuất dữ liệu lên topic /odom và phát sóng phép biến đổi tọa độ $tf$.
  6. SLAM / AMCL Node: Vận hành thuật toán Gmapping để xây dựng bản đồ và gói multirobot_map_merge để ghép bản đồ; node AMCL thực hiện ước lượng phân bố vị trí hạt của robot.
  7. RPLidar Node: Đọc chùm dữ liệu khoảng cách laser scan dưới dạng sensor_msgs/LaserScan.
  8. Robot State Publisher: Xuất các khung tọa độ liên kết link và joint từ mô hình SolidWorks lên môi trường trực quan hóa RViz thời gian thực.
  9. Map Server: Lưu trữ bản đồ định dạng hình ảnh và cung cấp bản đồ số liệu cho quá trình điều hướng.
  10. Move Base Node: Tích hợp bộ lập kế hoạch đường đi toàn cục (A*) và bộ tránh va chạm cục bộ (DWA).
  11. TSP Node: Chạy giải thuật ACO để tối ưu hóa thứ tự các trạm cần ghé thăm.

Xử lý bản đồ ô lưới (Occupancy Grid Map)

Trước khi đưa vào thuật toán A*, bản đồ lưới từ Gmapping được tiền xử lý:

  • Loại bỏ các vùng xám chưa xác định ở viền ngoài bằng giải thuật cắt ma trận bản đồ.
  • Chuyển đổi bản đồ sang dạng nhị phân (Binary Occupancy Grid Map).
  • Áp dụng phép cộng Minkowski (Minkowski sum) để phồng các ô chướng ngại vật với bán kính $R = 8$ cell. Bán kính này tương ứng với kích thước đường tròn ngoại tiếp đội hình ba robot, cho phép quy đổi toàn bộ đội hình về một điểm hình học khi tìm đường trên bản đồ.

Nội dung chính theo từng chương

Chương 1: Tổng quan

Chương 1 trình bày tổng quan tình hình nghiên cứu trong và ngoài nước về hệ thống robot bầy đàn, kỹ thuật điều hướng trong nhà kết hợp bài toán người bán hàng (ITSP), các giải pháp tránh vật cản (như Limit Cycle) và kỹ thuật điều khiển đội hình bằng camera hoặc lidar. Tác giả chỉ ra nhược điểm của các nghiên cứu trước (ví dụ hệ thống sử dụng camera bị giới hạn góc nhìn và không gian hoạt động) để định hình mục tiêu đề tài. Chương này cũng nêu rõ 7 nhiệm vụ, phương pháp nghiên cứu, bố cục báo cáo và 6 giới hạn kỹ thuật của đồ án.

Chương 2: Cơ sở lý thuyết

Chương 2 thiết lập nền tảng toán học và kỹ thuật:

  • Xây dựng mô hình động học thuận và nghịch của robot hai bánh vi sai, phân tích vị trí tâm quay tức thời ICC và ba trường hợp chuyển động cơ bản ($V_l = V_r$ robot đi thẳng, $V_l = -V_r$ robot quay tại chỗ, một bánh dừng robot quay quanh tâm bánh xe đó).
  • Giới thiệu cấu trúc ba cấp độ của ROS Melodic trên nền tảng Linux 18.04, hướng dẫn chi tiết quy trình cài đặt, cấu hình catkin workspace và gói Jetbot_pro. Phân tích so sánh đặc tính kỹ thuật giữa Topic (không đồng bộ, một chiều), Service (đồng bộ, hai chiều) và Action (không đồng bộ, hai chiều, có phản hồi tiến độ).
  • Phân tích cơ chế hoạt động của thuật toán tìm đường Dijkstra, Greedy Best First Search và A*.
  • Phân tích giải thuật vét cạn Brute Force Search với độ phức tạp $(n-1)!/2$ trường hợp và nguyên lý giải thuật tối ưu đàn kiến ACO (quy luật lựa chọn xác suất $p_{ij}^k$ và quy luật bay hơi/cập nhật vết pheromone $\tau_{ij}$).
  • Giới thiệu cấu trúc gói Navigation stack trên ROS bao gồm các thành phần cốt lõi và luồng dữ liệu tương tác.

Chương 3: Thiết kế phần cứng

Chương 3 chi tiết hóa việc hiện thực hóa mô hình robot:

  • Đặt ra các yêu cầu thiết kế kỹ thuật: di chuyển mặt phẳng ngang, vận tốc tối đa đạt mốc thiết kế, điều khiển PID vận tốc động cơ có sai số xác lập $|e_{xl}| \le 10%$, thời gian xác lập $t_{xl} \le 1\text{ s}$.
  • Xây dựng sơ đồ khối tổng quan kết nối giữa PC máy chủ, Router Wi-Fi, Jetson Nano, Arduino Mega 2560, các cảm biến (RPLidar, IMU-9250, Encoder) và mạch công suất L298N.
  • Thiết kế cơ khí 3D khung xe 4 tầng (Bottom_base, Middle_base, Control_base, Top_base) trên phần mềm SolidWorks bằng chất liệu mica nhằm giảm trọng lượng và chống rung lắc.
  • Trình bày thông số kỹ thuật chi tiết của từng linh kiện điện tử, sơ đồ nguyên lý đấu nối dây hệ thống và thiết lập cấu trúc vòng lặp kín của bộ điều khiển PID vận tốc động cơ DC.

Chương 4: Thiết kế phần mềm

Chương 4 tập trung vào các giải thuật điều khiển thông minh:

  • Trình bày nguyên lý thuật toán Gmapping (Rao-Blackwellized Particle Filter) dựa trên quy trình ProcessScan để xây dựng occupancy grid map và gói multirobot_map_merge để đồng bộ bản đồ giữa ba robot.
  • Phân tích thuật toán định vị hạt Monte Carlo thích nghi (AMCL) thông qua mô hình chuyển động và mô hình quan sát laser.
  • Xây dựng quy trình xử lý bản đồ nhị phân, mở rộng vật cản bằng phép cộng Minkowski bán kính $R = 8$ cell và áp dụng thuật toán A* để tính ma trận chi phí đường đi giữa các trạm.
  • Triển khai thuật toán ACO giải quyết bài toán ITSP và IMTSP; áp dụng kỹ thuật Serialization để lưu trữ và truy xuất ma trận khoảng cách giữa các trạm trên ROS Terminal.
  • Thiết kế bộ tránh vật cản động DWA dựa trên ba hàm thành phần $heading$, $dist$, $vel$.
  • Xây dựng mô hình điều khiển đội hình Leader-Follower phân tán và tập trung, thiết lập bộ điều khiển phản hồi tuyến tính để hai follower bám chính xác theo khoảng cách và góc lái của leader.

Chương 5: Kết quả mô phỏng và thực nghiệm

Chương 5 cung cấp dữ liệu kiểm chứng toàn diện:

  • Kết quả mô phỏng: Xuất mô hình robot từ SolidWorks sang môi trường turtlebot3_house trong Gazebo; mô phỏng thành công ghép bản đồ từ ba robot; áp dụng thuật toán ACO giải quyết bài toán TSP với 15 trạm, MTSP với 50 và 100 trạm; kiểm chứng lỗi tràn bộ nhớ/thời gian của thuật toán Brute Force Search khi số trạm đạt mức 13 trạm; mô phỏng chuyển động đội hình tam giác bám quỹ đạo tròn và đánh giá sai số khoảng cách, sai số góc.
  • Kết quả thực nghiệm:
    • Đáp ứng bộ điều khiển PID trên hai bánh xe đạt yêu cầu sai số và thời gian xác lập.
    • Quét và ghép bản đồ thực tế thành công tại phòng Lab C304 và phòng Lab Rockwell D101.
    • Thực nghiệm giải bài toán ITSP qua 7 trạm đơn lẻ bằng một robot.
    • Thực nghiệm giải bài toán IMTSP với nhiều robot giao hàng.
    • Thực nghiệm duy trì đội hình hàng ngang, hàng dọc, tam giác và thực hiện chuyển đổi linh hoạt giữa các dạng đội hình.
    • Thực nghiệm đội hình tam giác di chuyển qua các trạm của bài toán ITSP kết hợp né tránh chướng ngại vật trên đường đi.

Chương 6: Kết luận và hướng phát triển

Chương 6 tổng kết các kết quả đạt được về mặt lý thuyết và thực tiễn, phân tích nguyên nhân các sai số còn tồn tại và đề xuất các giải pháp nâng cấp hệ thống trong tương lai.


Kết quả và đóng góp

Kết quả định lượng từ mô phỏng và thực nghiệm

Bảng tổng hợp kết quả thử nghiệm các module chính:

Hạng mục thử nghiệm Môi trường / Quy mô Kết quả định lượng ghi nhận trong đồ án
Điều khiển PID vận tốc Hai bánh xe vi sai thực tế Sai số xác lập $|e_{xl}| \le 10%$, thời gian xác lập $t_{xl} \le 1\text{ s}$ đạt chỉ tiêu thiết kế
Thuật toán Brute Force Search Bài toán TSP mô phỏng Xảy ra lỗi tính toán/tràn khi thử nghiệm ở quy mô 13 trạm do số khả năng vượt quá mức xử lý
Thuật toán ACO Bài toán TSP, MTSP mô phỏng Giải quyết thành công tìm lộ trình tối ưu cho 15 trạm, 50 trạm và 100 trạm
Xử lý Occupancy Grid Map Bản đồ nhị phân Phồng vật cản thành công với bán kính $R = 8$ cell bằng phép cộng Minkowski
Thực nghiệm bài toán ITSP 1 Robot thực tế (7 trạm) Khởi hành $t = 0\text{ s}$; Trạm 1: $75\text{ s}$; Trạm 2: $120\text{ s}$; Trạm 3: $150\text{ s}$; Trạm 4: $189\text{ s}$; Trạm 5: $235\text{ s}$; Trạm 6: $322\text{ s}$; Trạm 7: $348\text{ s}$; Quay về điểm xuất phát Trạm 1: hoàn tất tại $t = 467\text{ s}$
Thực nghiệm bài toán IMTSP Đa robot thực tế Bắt đầu $t = 0\text{ s}$, robot qua trạm tại $t = 166\text{ s}$, hoàn thành toàn bộ bài toán tại $t = 361\text{ s}$
Thực nghiệm đội hình hàng ngang 3 Robot thực tế Ghi nhận sự duy trì cấu trúc tại các mốc thời gian $0\text{ s}$, $30\text{ s}$ và $80\text{ s}$ kèm đồ thị sai số
Thực nghiệm đội hình hàng dọc 3 Robot thực tế Ghi nhận sự duy trì cấu trúc tại các mốc thời gian $0\text{ s}$, $36\text{ s}$ và $81\text{ s}$ kèm đồ thị sai số
Thực nghiệm đội hình tam giác 3 Robot thực tế Ghi nhận sự duy trì cấu trúc tại các mốc thời gian $0\text{ s}$, $35\text{ s}$ và $75\text{ s}$ kèm đồ thị sai số
Chuyển đổi hình thái đội hình Hàng ngang $\rightarrow$ Tam giác $\rightarrow$ Hàng dọc Đội hình ban đầu hàng ngang ($0\text{ s}$); chuyển sang tam giác hoàn tất tại $93\text{ s}$; chuyển tiếp sang hàng dọc hoàn tất tại $171\text{ s}$
Đội hình tam giác kết hợp ITSP 3 Robot né vật cản thực tế Khởi hành $t = 0\text{ s}$; đến Trạm 1 tại $224\text{ s}$; đi vào đoạn gấp khúc tại $583\text{ s}$; Leader né vật cản tại $772\text{ s}$; hoàn tất chu trình quay về Trạm 1 tại $t = 900\text{ s}$
Tạo và hợp nhất bản đồ Lab C304 & Lab Rockwell D101 Hợp nhất thành công bản đồ từ 3 robot hoạt động độc lập bằng gói multirobot_map_merge

Các đề xuất và đóng góp kỹ thuật của tác giả

  • Tích hợp hoàn chỉnh chuỗi giải thuật điều khiển bầy đàn: Kết hợp thành công thuật toán định tuyến toàn cục A*, thuật toán tối ưu hóa heuristic ACO để giải quyết bài toán ITSP/IMTSP trong không gian có chướng ngại vật thực tế.
  • Khắc phục nhược điểm của các nghiên cứu tiền nhiệm: Thay thế các thuật toán né chướng ngại vật truyền thống (như Limit Cycle) bằng thuật toán DWA, giúp robot có khả năng né tránh các vật cản di động hiệu quả hơn. Đồng thời, việc sử dụng cảm biến laser RPLidar thay vì thị giác máy tính (camera) đã khắc phục triệt để hạn chế về góc nhìn hẹp và mở rộng đáng kể phạm vi làm việc của đội hình.
  • Kỹ thuật mở rộng chướng ngại vật cho đội hình: Đề xuất giải pháp sử dụng bán kính đường tròn ngoại tiếp đội hình kết hợp phép cộng Minkowski để xử lý bản đồ lưới ô, biến bài toán điều hướng một nhóm robot phức tạp thành bài toán điều khiển một điểm đại diện trên bản đồ đã biến đổi.
  • Công bố khoa học: Đề tài đã được hội đồng chuyên môn chấp thuận đăng tải bài báo khoa học tại Hội nghị quốc tế International Conference on System Science and Engineering (ICSSE 2023) theo thư thông báo chấp thuận đính kèm trong phụ lục đồ án.

Hạn chế và hướng nghiên cứu tiếp

Các giới hạn được tác giả ghi nhận

  • Chưa xét đến khía cạnh quản lý năng lượng khi dung lượng pin của các robot bị sụt giảm hoặc cạn kiệt trong quá trình thực hiện nhiệm vụ.
  • Chưa tính toán động lực học chịu tải của robot; hệ thống chỉ mới tập trung vào khía cạnh ổn định và điều khiển vận tốc quay của hai bánh xe.
  • Giới hạn nhận diện vật cản: Cảm biến laser scan phẳng chỉ phát hiện được các vật cản thẳng đứng nằm trong mặt phẳng quét của tia Lidar từ chân đế xe; các vật thể nhô ra phía trên hoặc nằm dưới tầm quét không được ghi nhận.
  • Chưa tính đến kịch bản lỗi khi mạng giao tiếp không dây (ROS Network qua Wi-Fi socket) bị gián đoạn, trễ mạng hoặc mất tín hiệu kết nối giữa client và server.
  • Trong bài toán TSP và các biến thể mở rộng, hệ thống chưa xét đến ràng buộc hướng đỗ (pose heading) của robot tại các điểm trạm mà chỉ quan tâm đến tọa độ vị trí $(x, y)$.
  • Về mặt thuật toán, giải thuật ACO chỉ mới được đối chiếu trực tiếp với giải thuật vét cạn Brute Force Search ở quy mô số trạm nhỏ; ở quy mô lớn, thuật toán chỉ được đánh giá qua độ lặp lại sau nhiều lần chạy mà chưa so sánh sâu với các thuật toán Heuristic hiện đại khác.

Hướng nghiên cứu tiếp

  • Tích hợp thêm camera nhận diện hình ảnh và ứng dụng các thuật toán Deep Learning/AI trên máy tính nhúng NVIDIA Jetson Nano để nâng cao năng lực định danh vật thể.
  • Nghiên cứu cơ chế điều phối sạc tự động và giải thuật tối ưu hóa lộ trình có tính đến mức tiêu hao năng lượng pin cho từng thành viên trong bầy đàn.
  • Nâng cấp bộ điều khiển thích nghi có khả năng tự bù sai số khi robot mang tải trọng biến thiên.
  • Nâng cấp hệ thống cảm biến 3D (như 3D Lidar hoặc RGB-D camera) để nhận diện chướng ngại vật ba chiều trong môi trường thực tế phức tạp.

Giá trị tham khảo

Tài liệu đồ án tốt nghiệp này mang lại giá trị tham khảo ứng dụng và học thuật rõ ràng cho sinh viên, học viên cao học và các kỹ sư thuộc các chuyên ngành Kỹ thuật Điều khiển và Tự động hóa, Cơ điện tử, Khoa học Máy tính và Robotics:

  • Tài liệu tham khảo thực tế về tích hợp hệ thống nhúng ROS: Cung cấp hướng dẫn chi tiết từ việc thiết kế cơ khí 3D trên SolidWorks, xuất mô hình sang Gazebo, cấu hình phần cứng kết nối giữa NVIDIA Jetson Nano với vi điều khiển Arduino Mega 2560 qua giao thức rosserial, đến phương thức cấu hình mạng socket ROS đa máy qua Wi-Fi.
  • Giải pháp mẫu cho bài toán điều hướng trong nhà: Phần xử lý bản đồ Occupancy Grid Map kết hợp thuật toán A* và thuật toán ACO cung cấp một phương pháp luận hoàn chỉnh để giải bài toán ITSP và IMTSP trong thực tế nhà xưởng, kho bãi tự động.
  • Kỹ thuật điều khiển đội hình thực tế: Cung cấp chi tiết phương trình toán học và code giải thuật Leader-Follower kết hợp phản hồi tuyến tính và DWA, là tài liệu đối chiếu hữu ích cho các đề tài nghiên cứu về hệ thống tự hành đa tác tử (Multi-Agent Systems) và xe tự hành AGV.

Câu hỏi thường gặp

1. Tại sao nhóm nghiên cứu lại chọn thuật toán A thay vì Dijkstra hay Greedy Best First Search để lập đường đi giữa các trạm?*
Trả lời: Thuật toán Dijkstra đảm bảo tìm được đường đi ngắn nhất nhưng thời gian tính toán rất lâu do phải duyệt qua toàn bộ các đỉnh mở rộng khắp bản đồ. Ngược lại, Greedy Best First Search chạy rất nhanh nhờ hàm heuristic hướng đích nhưng không đảm bảo tìm được đường tối ưu. Thuật toán A* kết hợp ưu điểm của cả hai thuật toán trên thông qua hàm đánh giá $f(n) = g(n) + h(n)$ (với $h(n)$ là khoảng cách Euclidean), vừa đảm bảo tìm được lộ trình ngắn nhất giữa các trạm, vừa duy trì tốc độ tính toán nhanh trong không gian bản đồ lưới ô.

2. Vì sao nhóm tác giả lại lấy trực tiếp góc yaw từ cảm biến IMU-9250 thay vì tính toán từ xung encoder hai bánh xe trong node odometry?
Trả lời: Trong hệ thống robot hai bánh vi sai, việc ước lượng hướng chuyển động chỉ dựa trên sự chênh lệch số xung encoder của hai bánh xe dẫn động rất dễ bị tích lũy sai số lớn theo thời gian do hiện tượng trượt bánh (wheel slippage) hoặc biến dạng bề mặt tiếp xúc. Do đó, nhóm nghiên cứu đã gắn IMU-9250 tại vị trí trung tâm trục xe và trích xuất trực tiếp giá trị góc yaw để đưa vào biến trạng thái hướng của node odometry, giúp nâng cao độ chính xác khi định vị và lập bản đồ.

3. Giới hạn tính toán của thuật toán vét cạn Brute Force Search xuất hiện khi số trạm đạt bao nhiêu trong mô phỏng bài toán TSP?
Trả lời: Theo kết quả mô phỏng trong Chương 5 của đồ án, thuật toán Brute Force Search xảy ra lỗi tính toán (tràn bộ nhớ hoặc thời gian xử lý quá lớn) khi số lượng trạm đạt đến 13 trạm. Nguyên nhân do số trường hợp cần tìm kiếm bùng nổ theo hàm giai thừa $(n-1)!/2$. Điều này chứng minh sự cần thiết phải chuyển sang sử dụng giải thuật tối ưu bầy đàn Heuristic như ACO cho các bài toán quy mô lớn.

4. Phép toán hình học nào được nhóm tác giả áp dụng để mở rộng vật cản trên bản đồ ô lưới trước khi điều hướng đội hình ba robot?
Trả lời: Nhóm tác giả áp dụng phép cộng Minkowski (Minkowski sum) lên bản đồ lưới ô nhị phân. Các chướng ngại vật được phồng to ra một khoảng có bán kính $R = 8$ cell, tương đương với kích thước bán kính đường tròn ngoại tiếp của đội hình tam giác ba robot. Phép biến đổi này cho phép hệ thống xem cả đội hình ba robot như một chất điểm hình học duy nhất khi tính toán đường đi qua thuật toán A*.

5. Công trình nghiên cứu này đã được chấp thuận công bố tại diễn đàn khoa học nào?
Trả lời: Kết quả nghiên cứu của đồ án đã được thẩm định và chấp thuận đăng tải bài báo khoa học tại Hội nghị quốc tế về Khoa học Hệ thống và Kỹ thuật (International Conference on System Science and Engineering - ICSSE 2023), được chứng thực thông qua thư thông báo chấp thuận (Letter of Acceptance) đính kèm trong mục phụ lục của tài liệu khóa luận.


Kết luận

Đồ án tốt nghiệp "Tối ưu đường đi cho robot và di chuyển đa robot theo đội hình" đã hoàn thành toàn diện các mục tiêu nghiên cứu từ xây dựng mô hình toán, thiết kế chế tạo phần cứng 4 tầng trên nền tảng Jetson Nano – Arduino Mega, đến lập trình điều khiển trên hệ điều hành ROS. Nghiên cứu giải quyết thành công bài toán tối ưu hóa lộ trình trong nhà ITSP/IMTSP bằng sự kết hợp giữa thuật toán A* và thuật toán ACO, đồng thời kiểm soát ổn định đội hình ba robot theo mô hình Leader-Follower có khả năng né chướng ngại vật động bằng DWA. Các số liệu thực nghiệm thực tế tại phòng thí nghiệm cùng bài báo được chấp thuận tại hội nghị quốc tế ICSSE 2023 là minh chứng xác thực cho tính khoa học và giá trị ứng dụng thực tiễn của công trình.