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

Trong xu thế phát triển của tự động hóa và công nghệ robot, robot di động tự hành (Autonomous Mobile Robot - AMR / Autonomous Guided Vehicle - AGV) ngày càng được ứng dụng rộng rãi trong nhiều lĩnh vực như y tế, công nghiệp, quân sự, giáo dục và đời sống dân dụng. Khác với các cánh tay robot công nghiệp hoạt động ở vị trí cố định, AMR có khả năng vận hành trong các môi trường mở, không kiểm soát, thực hiện các nhiệm vụ vận chuyển hàng hóa trong nhà máy, bệnh viện, hỗ trợ làm sạch tự động hoặc thám hiểm các khu vực nguy hiểm đối với con người.

Để một robot di động có thể hoạt động hoàn toàn tự chủ, hai bài toán kỹ thuật cốt lõi cần giải quyết là định vị (localization) và quy hoạch đường đi (path planning). Việc thiết lập đường dẫn thủ công hoặc dẫn đường truyền thống thường bộc lộ hạn chế về tính linh hoạt và khó tối ưu hóa quãng đường khi bản đồ môi trường thay đổi phức tạp. Do đó, yêu cầu đặt ra là robot phải có khả năng tự xây dựng bản đồ môi trường trong nhà, tự định vị vị trí của chính nó và tự động tính toán quỹ đạo di chuyển ngắn nhất đến điểm đích đồng thời né tránh các chướng ngại vật xuất hiện trên đường đi.

Đề tài "Nghiên cứu và thiết kế mobile robot tự hành trong nhà sử dụng Lidar" do sinh viên Nguyễn Huỳnh Thanh Tú và Trần Đình Vương thực hiện dưới sự hướng dẫn của TS. Vũ Văn Phong tại Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh nhằm giải quyết trọn vẹn bài toán tích hợp hệ thống phần cứng và phần mềm tự hành. Các nhiệm vụ nghiên cứu cụ thể được xác định bao gồm:

  1. Tìm hiểu động học và động lực học của mobile robot.
  2. Tìm hiểu nền tảng hệ điều hành robot (Robot Operating System - ROS).
  3. Nghiên cứu và ứng dụng các package trên hệ điều hành ROS phục vụ việc xây dựng bản đồ từ dữ liệu cảm biến Lidar (SLAM).
  4. Nghiên cứu phương thức giao tiếp và truyền nhận dữ liệu giữa máy tính nhúng Raspberry Pi và mạch vi xử lý Arduino qua giao thức nối tiếp.
  5. Thiết kế hoàn chỉnh phần cứng robot di động và lập trình thuật toán điều khiển PID để ổn định vận tốc động cơ cũng như góc quay của robot.
  6. Chạy thử nghiệm thực tế, hiệu chỉnh các thông số hệ thống và đánh giá khả năng tự hành tránh vật cản.
  7. Đánh giá kết quả thực hiện và hoàn thiện luận văn tốt nghiệp.

Đối tượng nghiên cứu của đồ án là mô hình robot di động vi sai 2 bánh chủ động hoạt động trong nhà, tích hợp cảm biến quét laser 2D (RPLidar A1), cảm biến quán tính 6 trục (GY-521 MPU-6050), máy tính nhúng Raspberry Pi 4 Model B và mạch vi điều khiển Arduino Uno R3. Phạm vi nghiên cứu giới hạn trong không gian mặt sàn phẳng trong nhà, khảo sát các quỹ đạo di chuyển và tránh vật cản ở cự ly thực nghiệm từ 1.0 m đến 3.0 m, thời gian thực hiện từ ngày 22/02/2022 đến ngày 01/08/2022.


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

Đồ án xây dựng nền tảng lý thuyết toàn diện bao gồm mô hình toán học cơ điện tử, các thuật toán định vị, điều hướng và điều khiển tự động:

  • Động học và Động lực học Mobile Robot:

    • Mô hình động học thuận được xác lập thông qua phương pháp đặt hệ trục tọa độ theo quy tắc bàn tay phải và bảng thông số Denavit - Hartenberg (D-H). Các ma trận chuyển đổi thuần nhất $T_1^0, T_2^1, T_0^{map}, T_2^0$ được thiết lập nhằm xác định tọa độ vị trí cuối $(x_r, y_r)$ của robot theo vị trí xuất phát $(x_c, y_c)$, khoảng cách trục $d$ và góc hướng $\theta$: $$\begin{cases} x_r = x_c + d \cos(\theta) \ y_r = y_c + d \sin(\theta) \end{cases}$$
    • Mô hình động lực học được xây dựng bằng phương pháp Euler - Lagrange thông qua hàm Lagrange $L = K - U$. Do robot chuyển động trên mặt phẳng nằm ngang vuông góc với trọng trường nên thế năng $U = 0$. Động năng $K$ được tính toán tổng hợp từ vận tốc dài $v = (v_l + v_r)/2$, vận tốc góc bánh trái $\omega_l$, vận tốc góc bánh phải $\omega_r$, bán kính bánh xe $R$, khoảng cách hai bánh $L$, khối lượng $m$ và moment quán tính $I_z$.
  • Hệ thống ROS (Robot Operating System) và cấu trúc:

    • ROS là khung phần mềm trung gian (middleware framework) phân tán. Cấu trúc ROS được phân tích theo 3 cấp độ: Cấp độ Hệ thống tập tin (Filesystem Level gồm Packages, Metapackages, Stacks, Message types); Cấp độ Đồ thị tính toán (Computation Graph Level gồm Nodes, ROS Master, Parameter Server, cơ chế Publish/Subscribe qua Topics, cơ chế Request/Reply qua Services và lưu trữ dữ liệu qua Bags); Cấp độ Cộng đồng (Community Level).
  • Công nghệ SLAM và 2D Navigation Stack:

    • Kỹ thuật SLAM (Simultaneous Localization and Mapping) bằng cảm biến Lidar sử dụng các đám mây điểm (point cloud) 2D từ chùm tia laser phản xạ để thực hiện thuật toán so khớp quét (Scan matching), ước lượng vị trí dịch chuyển và định hướng robot đồng thời dựng bản đồ lưới chiếm chỗ (Occupancy Grid Map).
    • Khung điều hướng 2D (Navigation Stack) tiếp nhận dữ liệu từ cảm biến đo cự ly (Odometry từ Encoder và IMU), dữ liệu quét laser và điểm tọa độ mục tiêu để xuất tín hiệu vận tốc điều khiển cmd_vel ($v_x, v_y, \omega$).
    • Bản đồ chi phí (Costmap 2D) được phân lớp gồm Global Costmap phục vụ quy hoạch đường đi tổng thể và Local Costmap cấu hình cửa sổ trượt (rolling window) quanh robot để cập nhật chướng ngại vật tức thời. Các thông số cấu hình bao gồm obstacle_range (khoảng cách phát hiện vật cản), inflation_radius (bán kính vùng an toàn quanh vật cản), update_frequency và publish_frequency.
  • Thuật toán quy hoạch đường đi:

    • Quy hoạch toàn cục (Global Planner): Ứng dụng giải thuật tìm kiếm đồ thị $A^*$ dựa trên hàm đánh giá chi phí $f(x) = g(x) + h(x)$, trong đó $g(x)$ là chi phí thực tế từ điểm gốc đến nút hiện tại, $h(x)$ là hàm Heuristic ước lượng khoảng cách từ nút hiện tại đến đích. Giải thuật đảm bảo tìm ra đường đi ngắn nhất mà không cắt qua vật cản.
    • Quy hoạch cục bộ (Local Planner): Ứng dụng thuật toán Dynamic Window Approach (DWA) nhằm tính toán cặp vận tốc $(v, \omega)$ tối ưu gửi tới bộ truyền động. Thuật toán thu hẹp không gian tìm kiếm vận tốc khả thi $V_r = V_s \cap V_a \cap V_d$ (dựa trên giới hạn vật lý $V_s$, vận tốc dừng an toàn $V_a$ và cửa sổ động học $V_d$ tương ứng với gia tốc tối đa trong chu kỳ $\Delta t$), sau đó tối đa hóa hàm mục tiêu: $$G(v, \omega) = \alpha \cdot \text{heading}(v, \omega) + \beta \cdot \text{dist}(v, \omega) + \gamma \cdot \text{vel}(v, \omega)$$
  • Giao thức truyền thông và điều khiển động cơ:

    • Chuẩn UART nối tiếp 2 dây (Tx, Rx) bất đồng bộ với tốc độ baud từ 9600 bps đến 115200 bps kết hợp gói rosserial_python / rosserial_arduino để truyền nhận message chuẩn giữa Node trên máy tính nhúng và Client trên vi điều khiển.
    • Bộ điều khiển PID số (rời rạc) với chu kỳ lấy mẫu $T$, xử lý sai số vận tốc động cơ và ổn định góc quay hướng thông qua phương trình ngõ ra: $$u(kT) = K_p e(kT) + K_I \sum_{i=0}^k e(i)T + K_D \frac{e(kT) - e((k-1)T)}{T}$$

Thiết kế và triển khai

Hệ thống được thiết kế và chế tạo hoàn chỉnh theo cả hai phương diện cơ điện tử phần cứng và tích hợp phần mềm điều khiển:

1. Thiết kế và chế tạo phần cứng

Khung xe robot được thiết kế trên phần mềm Solidworks với biên dạng hình tròn đối xứng đường kính 30 cm, giúp robot dễ dàng xoay chuyển và tính toán khoảng cách vật cản đa hướng trong không gian hẹp. Khung xe gồm 3 tầng liên kết vững chắc bằng các trụ đồng đỡ, sử dụng vật liệu tấm mica dày 5 mm (có tỷ trọng bằng 1/2 thủy tinh, chịu lực và chịu nhiệt tốt, gia công thuận tiện), chịu được tổng tải trọng trên 4 kg:

  • Tầng 1 (Base main): Kích thước 30x30 cm, là tầng chịu lực chính gắn 2 cụm gá động cơ chuyên dụng, 2 động cơ DC giảm tốc GA25-370 kèm encoder hồi tiếp, mạch cầu H điều khiển động cơ L298, bo mạch vi điều khiển Arduino Uno R3, cảm biến góc nghiêng GY-521 6DOF MPU-6050 và khay pin cấp nguồn.
  • Tầng 2 (Base mid): Thiết kế dạng đĩa tròn, bố trí máy tính nhúng Raspberry Pi 4 Model B và bộ nguồn riêng cho bo mạch xử lý trung tâm.
  • Tầng 3 (Base top): Tầng trên cùng có kích thước tương đồng, được bố trí gắn riêng cảm biến quét RPLidar A1 ở vị trí cao nhất nhằm giải phóng toàn bộ không gian quét 360 độ, tránh hiện tượng tia laser bị linh kiện che khuất.
Khối chức năng Linh kiện / Thiết bị sử dụng Vai trò và thông số kỹ thuật
Xử lý trung tâm Raspberry Pi 4 Model B Chạy Ubuntu Linux, vận hành ROS Master, SLAM, Navigation, Costmap
Xử lý cấp thấp Arduino Uno R3 Đọc xung Encoder, đọc dữ liệu IMU qua I2C, thực thi thuật toán PID, phát xung PWM
Cảm biến quét laser RPLidar A1 Cảm biến Lidar 2D quét 360 độ, đo khoảng cách bằng công nghệ laser phục vụ SLAM
Cảm biến quán tính GY-521 (MPU-6050 6DOF) Đo gia tốc 3 trục và vận tốc góc 3 trục, hỗ trợ định hướng robot
Cơ cấu chấp hành Động cơ DC GA25-370 Động cơ DC giảm tốc tích hợp đĩa encoder quang đo tốc độ và vị trí bánh xe
Mạch công suất Module mạch cầu H L298 Nhận tín hiệu điều khiển logic và xung PWM từ Arduino để cấp nguồn động cơ
Khung cơ khí Mica 5 mm, gá motor, trụ đồng Cấu trúc tròn 3 tầng (30x30 cm), tải trọng chịu lực > 4 kg

2. Tích hợp phần mềm và điều khiển

  • Xử lý cấp thấp trên Arduino: Lập trình đọc xung kênh A/B của encoder động cơ để tính toán vận tốc thực tế; giao tiếp với MPU-6050 để lấy dữ liệu góc quay; thực thi giải thuật PID rời rạc với bộ tham số đã cân chỉnh ($K_p = 12.09, K_I = 0$) nhằm bám sát vận tốc đặt theo thời gian thực; xuất tín hiệu điều khiển chiều quay và độ rộng xung PWM sang driver L298.
  • Tích hợp hệ thống trên ROS (Raspberry Pi): Thiết lập mô hình hình học robot (URDF) với các liên kết (Links) và khớp xoay (Joints); cấu hình node rosserial giao tiếp với Arduino qua cổng nối tiếp; vận hành node chuyển đổi dữ liệu laser sang định dạng sensor_msgs/LaserScan; kích hoạt công cụ RViz để trực quan hóa đám mây điểm, quá trình quét bản đồ và quỹ đạo di chuyển.
  • Giao diện điều khiển từ xa: Thiết kế phần mềm điều khiển chạy trên nền tảng Windows kết nối với Raspberry Pi qua mạng Wi-Fi, hiển thị thông số vận tốc, cự ly di chuyển, đồ thị tọa độ thời gian thực và cung cấp các phím điều hướng thủ công khi cần thiết.

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

Chương 1: Tổng quan

Trình bày bối cảnh ra đời, định nghĩa và vai trò của các dòng robot tự hành (AMR/AGV) trong tự động hóa công nghiệp và dân dụng. Phân tích chi tiết bài toán kỹ thuật trọng tâm gồm định vị vị trí, tự động lập bản đồ và tìm kiếm quỹ đạo ngắn nhất trong môi trường trong nhà. Nêu rõ phương pháp tiếp cận dựa trên nền tảng hệ điều hành mã nguồn mở ROS kết hợp cảm biến Lidar, đồng thời tóm tắt kết cấu 6 chương của luận văn.

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

Xây dựng khung lý thuyết hoàn chỉnh cho hệ thống robot:

  • Trình bày mô hình động học thuận qua bảng tham số D-H và ma trận chuyển đổi đồng nhất; tính toán động lực học cơ cấu bánh vi sai bằng phương trình Euler - Lagrange.
  • Khái quát kiến trúc ROS 3 cấp độ (Filesystem, Computation Graph, Community); chi tiết hóa các thành phần Node, Master, Topic, Service, Parameter Server.
  • Phân tích nguyên lý định vị và lập bản đồ đồng thời (Lidar SLAM); cấu trúc ngăn xếp điều hướng 2D Navigation Stack; nguyên lý thiết lập bản đồ chi phí 2D Costmap (Global/Local Costmap) và các tham số obstacle_range, inflation_radius.
  • Trình bày giải thuật tìm đường $A^*$ cho Global Planner và giải thuật Dynamic Window Approach (DWA) cho Local Planner; phương thức giao tiếp phần cứng qua chuẩn UART và giao thức ROS-Serial; lý thuyết bộ điều khiển phản hồi PID rời rạc và phương pháp xác định tham số $K_p = 12.09, K_I = 0$.

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

Mô tả chi tiết giải pháp thiết kế cơ khí và sơ đồ điện:

  • Trình bày sơ đồ tổng quát hệ thống và sơ đồ khối các module chức năng kết nối giữa bộ nguồn, máy tính nhúng Raspberry Pi 4 Model B, vi điều khiển Arduino Uno R3, driver L298, cảm biến GY-521 MPU-6050, RPLidar A1 và động cơ DC GA25-370.
  • Trình bày bản vẽ thiết kế 3D hoàn chỉnh trên Solidworks cho khung xe hình tròn 3 tầng bằng vật liệu mica dày 5 mm (Base main tầng 1, Base mid tầng 2, Base top tầng 3) cùng các chi tiết gá động cơ và trụ đồng đỡ phân tầng.
  • Thống kê bảng danh mục tổng hợp các chi tiết cơ khí và thông số lựa chọn thiết bị điện - điện tử thực tế.

Chương 4: Thiết kế chương trình điều khiển

Thuyết minh quy trình lập trình và tích hợp thuật toán trên robot:

  • Xây dựng lưu đồ giải thuật điều khiển trung tâm trên hệ điều hành ROS và lưu đồ xử lý tín hiệu cảm biến (Encoder, IMU) trên vi điều khiển Arduino.
  • Triển khai thuật toán PID số điều khiển vận tốc 2 bánh xe và góc quay trên Arduino.
  • Khai báo cấu trúc mô hình động học robot (Links và Joints) phục vụ hiển thị trên RViz; cấu hình các gói package lập bản đồ môi trường bằng laser Lidar và thuật toán Scan Matching; thiết lập cấu hình Navigation Stack.
  • Xây dựng phần mềm giao diện điều khiển, giám sát tọa độ và đồ thị vận tốc trên hệ điều hành Windows kết nối không dây qua mạng Wi-Fi.

Chương 5: Kết quả thực nghiệm

Đánh giá định lượng toàn bộ quá trình vận hành mô hình thực tế:

  • Khảo sát đáp ứng điều khiển PID của động cơ bánh trái, bánh phải, vận tốc dài và vận tốc góc trong khoảng thời gian $t = 12$ giây, cho thấy hệ thống đáp ứng ổn định, bám sát giá trị đặt.
  • Thực nghiệm quét tạo lập bản đồ môi trường trong nhà trên RViz, đối chiếu và so sánh kích thước bản đồ thu được với kích thước đo đạc thực tế.
  • Thực hiện kiểm chứng 4 kịch bản tự hành điều hướng và né tránh vật cản:
    1. Robot di chuyển thẳng đến tọa độ $(1.5, 0)$ và giữ nguyên hướng góc $0^\circ$.
    2. Robot di chuyển thẳng đến tọa độ $(1, 0)$ và thực hiện xoay góc $-90^\circ$.
    3. Robot di chuyển thẳng đến tọa độ $(1.5, 0)$ và tự động phát hiện, đi vòng tránh vật cản trên đường đi.
    4. Robot di chuyển từ vị trí ban đầu đến tọa độ đích $(2.5, 3)$ trong điều kiện có chướng ngại vật phức tạp và hoàn thành việc tiếp cận đích an toàn.

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

Đánh giá tổng kết các mục tiêu đã hoàn thành của đồ án; chỉ ra các hạn chế kỹ thuật còn tồn đọng trong quá trình thử nghiệm và đề xuất các phương hướng nghiên cứu nâng cao cho hệ thống.


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

Đồ án đã đạt được các kết quả kỹ thuật cụ thể và đóng góp vào việc phát triển mô hình robot tự hành trong nhà:

  • Kết quả thực nghiệm chính:

    • Chế tạo thành công mô hình phần cứng robot di động 3 tầng nhỏ gọn (đường kính 30 cm, khung mica 5 mm), chịu được tải trọng thiết bị trên 4 kg, hoạt động ổn định.
    • Thiết lập và cân chỉnh thành công bộ tham số PID rời rạc cho động cơ ($K_p = 12.09, K_I = 0$), giúp đáp ứng vận tốc bánh xe và vận tốc góc bám sát giá trị đặt với thời gian xác lập tốt trong thử nghiệm 12 giây.
    • Xây dựng bản đồ môi trường trong nhà 2D rõ nét, có độ chính xác cao khi so khớp giữa bản đồ quét bằng cảm biến RPLidar A1 trên RViz với kích thước thực tế của phòng thử nghiệm.
    • Vận hành thành công 2D Navigation Stack, cho phép robot tự hành đạt độ chính xác cao qua các bài toán thử nghiệm di chuyển và tránh chướng ngại vật:
      • Di chuyển thẳng đến tọa độ $(1.5, 0)$ giữ góc $0^\circ$.
      • Di chuyển đến tọa độ $(1, 0)$ và đổi hướng chính xác sang góc $-90^\circ$.
      • Tự động nhận diện vật cản và tái quy hoạch quỹ đạo né tránh khi di chuyển đến tọa độ $(1.5, 0)$.
      • Định vị và điều hướng an toàn vượt qua vật cản đến điểm đích xa có tọa độ $(2.5, 3)$.
    • Triển khai giao diện điều khiển và giám sát trực quan trên máy tính Windows kết nối không dây qua Wi-Fi.
  • Giải pháp và đóng góp của đề tài:

    • Đề xuất mô hình phân tầng xử lý hiệu quả: phân định rõ nhiệm vụ xử lý cấp thấp thời gian thực (đọc encoder, IMU, điều khiển vòng kín PID trên Arduino) và xử lý cấp cao tính toán phức tạp (Lidar SLAM, Navigation, Costmap trên Raspberry Pi 4 chạy ROS).
    • Ứng dụng thành công giải thuật $A^*$ cho Global Planner và Dynamic Window Approach (DWA) cho Local Planner trên phần cứng thực tế với chi phí thấp.
    • Cung cấp giải pháp thiết kế cơ khí 3 tầng tối ưu cho cảm biến quét laser 360 độ kết hợp đầy đủ tài liệu cấu hình các tệp tham số ROS phục vụ nghiên cứu và giảng dạy.

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

Dựa trên các nội dung và kết quả được trình bày trong đồ án, một số hạn chế và hướng mở nghiên cứu được ghi nhận:

  • Hạn chế kỹ thuật:

    • Phạm vi thử nghiệm tự hành mới được khảo sát trong không gian phòng thí nghiệm trên mặt phẳng phẳng, cự ly tọa độ ngắn (từ 1.0 m đến 3.0 m).
    • Thuật toán Local Planner (DWA) và cấu hình Costmap chủ yếu được kiểm thử với các vật cản tĩnh, chưa đánh giá toàn diện khả năng phản ứng với các chướng ngại vật di động tốc độ cao.
    • Hiện tượng trượt bánh xe (wheel slip) trong quá trình quay chuyển hướng có thể gây tích lũy sai số trôi dạt (drift) cho hệ thống Odometry nếu hoạt động liên tục trong thời gian dài.
  • Hướng nghiên cứu và phát triển tiếp:

    • Nghiên cứu tích hợp thêm các bộ lọc trạng thái nâng cao như Bộ lọc Kalman mở rộng (Extended Kalman Filter - EKF) để dung hợp dữ liệu sâu hơn giữa cảm biến IMU, Odometry bánh xe và dữ liệu quét Lidar nhằm triệt tiêu sai số trượt.
    • Nâng cấp phần cứng cảm biến (Lidar đa tia, Camera chiều sâu 3D RGB-D) để mở rộng khả năng nhận dạng vật cản trong không gian 3 chiều.
    • Cải tiến thuật toán quy hoạch đường đi nhằm nâng cao hiệu quả thích ứng với các vật cản chuyển động động học trong môi trường thực tế phức tạp.
    • Tối ưu hóa hiệu suất năng lượng của hệ thống nguồn và mở rộng tính năng của phần mềm giám sát trên giao diện Web hoặc thiết bị di động.

Giá trị tham khảo

Đồ án tốt nghiệp là tài liệu tham khảo kỹ thuật hữu ích cho:

  • Đối tượng: Sinh viên, giảng viên và kỹ sư thuộ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, Điện tử - Viễn thông và Công nghệ Thông tin đang thực hiện đồ án, nghiên cứu về robot di động tự hành.
  • Nội dung giá trị:
    • Phương pháp thiết kế cơ khí 3D và bố trí các tầng chức năng cho mobile robot vi sai trên phần mềm Solidworks.
    • Cách thức kết nối, cấu hình giao tiếp nối tiếp qua gói rosserial giữa vi điều khiển Arduino và máy tính nhúng Raspberry Pi.
    • Hướng dẫn chi tiết về cấu hình các file thông số kỹ thuật cho hệ thống điều hướng 2D Navigation Stack, Costmap 2D (tham số obstacle_range, inflation_radius), thuật toán $A^*$ và thuật toán Dynamic Window Approach (DWA) trên nền tảng hệ điều hành ROS.

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

1. Hệ thống phần cứng của robot tự hành trong đề tài gồm những khối chức năng chính nào?
Robot được xây dựng từ các khối chính gồm: máy tính nhúng Raspberry Pi 4 Model B (xử lý trung tâm chạy ROS, SLAM, Navigation); vi điều khiển Arduino Uno R3 (xử lý cấp thấp, thuật toán PID và giao tiếp ngoại vi); cảm biến quét laser RPLidar A1 (quét 360 độ lập bản đồ); cảm biến quán tính GY-521 6DOF MPU-6050 (đo góc và gia tốc); mạch công suất cầu H L298; 2 động cơ DC giảm tốc GA25-370 kèm encoder quang; bộ nguồn pin 11.1V và khung xe 3 tầng bằng vật liệu mica 5 mm.

2. Khung cơ khí của robot được thiết kế với cấu trúc và vật liệu như thế nào để đảm bảo yêu cầu hoạt động?
Khung xe được thiết kế dạng tròn đối xứng kích thước 30x30 cm nhằm giúp robot dễ dàng xoay chuyển và tính toán khoảng cách vật cản trong không gian hẹp. Khung gồm 3 tầng chế tạo từ vật liệu mica dày 5 mm (có tỷ trọng bằng 1/2 thủy tinh, chịu lực và nhiệt tốt, tổng tải trọng chịu lực trên 4 kg). Cảm biến Lidar được bố trí ở tầng trên cùng (Base top) để không bị che khuất tầm quét laser, tầng giữa (Base mid) chứa Raspberry Pi và tầng dưới cùng (Base main) gắn Arduino, mạch cầu L298, nguồn và gá động cơ.

3. Thuật toán nào được sử dụng cho việc lập kế hoạch đường đi toàn cục và cục bộ tránh vật cản?
Để quy hoạch đường đi toàn cục (Global Planner), hệ thống sử dụng thuật toán tìm kiếm theo đồ thị $A^*$ kết hợp hàm Heuristic $f(x) = g(x) + h(x)$ nhằm xác định đường đi ngắn nhất trên bản đồ tĩnh. Để quy hoạch cục bộ và tránh vật cản tức thời (Local Planner), hệ thống sử dụng thuật toán Dynamic Window Approach (DWA), thực hiện thu hẹp không gian tìm kiếm vận tốc khả thi và tối ưu hóa hàm mục tiêu dựa trên góc hướng về đích (heading), khoảng cách an toàn tới vật cản (clearance) và vận tốc di chuyển thẳng (velocity).

4. Bộ điều khiển PID cho động cơ robot được thiết kế và xác định tham số như thế nào?
Bộ điều khiển PID được triển khai dưới dạng rời rạc trên vi điều khiển Arduino để ổn định vận tốc động cơ và góc quay. Quá trình cân chỉnh tham số được thực hiện bằng phương pháp thực nghiệm từng bước: khởi tạo hệ số bằng 0, tăng dần $K_p$ đến ngưỡng dao động rồi chọn bằng một nửa giá trị đó, cân chỉnh $K_D$ để hạn chế vọt lố. Do đối tượng ngõ ra đã tích hợp khâu tích phân lý tưởng nên hệ số $K_I$ được gán bằng 0. Bộ tham số thu được cho kết quả ổn định và đáp ứng nhanh là $K_p = 12.09, K_I = 0$.

5. Khả năng tự hành và tránh vật cản của robot được kiểm chứng qua những kịch bản thực nghiệm nào?
Khả năng tự hành được kiểm chứng qua 4 kịch bản thực tế trên hệ thống ROS/RViz: (1) Di chuyển thẳng đến tọa độ $(1.5, 0)$ và duy trì góc hướng $0^\circ$; (2) Di chuyển đến tọa độ $(1, 0)$ và thực hiện quay đổi hướng chính xác góc $-90^\circ$; (3) Di chuyển đến tọa độ $(1.5, 0)$ và tự động nhận dạng, đi vòng tránh vật cản xuất hiện trên đường; (4) Tự hành điều hướng vượt qua các chướng ngại vật phức tạp để tiếp cận điểm đích có tọa độ $(2.5, 3)$.


Kết luận

Đồ án tốt nghiệp "Nghiên cứu và thiết kế mobile robot tự hành trong nhà sử dụng Lidar" đã hoàn thành trọn vẹn mục tiêu thiết kế và chế tạo mô hình robot di động tự hành hai bánh vi sai hoạt động trong nhà. Bằng việc kết hợp hiệu quả giữa cảm biến quét laser RPLidar A1, bo mạch vi điều khiển Arduino Uno R3 và máy tính nhúng Raspberry Pi 4 chạy hệ điều hành ROS, nhóm tác giả đã làm chủ quy trình xây dựng bản đồ SLAM, cấu hình hệ thống Navigation với các thuật toán $A^*$ và DWA, cùng bộ điều khiển PID vận tốc ổn định. Kết quả thực nghiệm khẳng định robot có khả năng định vị chính xác, tự động vạch đường tối ưu và né tránh vật cản an toàn đến các tọa độ đích đặt trước trong không gian thực tế.