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

Trong quá trình đô thị hóa và phát triển hạ tầng hiện đại, yêu cầu về duy trì cảnh quan xanh, sạch, đẹp tại các khu dân cư, công viên đô thị, khuôn viên trường học, bệnh viện, khu công nghiệp và sân golf ngày càng gia tăng. Các phương pháp cắt cỏ truyền thống dựa vào sức lao động thủ công hoặc sử dụng máy cắt cỏ trang bị động cơ đốt trong tuy vẫn mang lại hiệu quả nhưng bộc lộ nhiều hạn chế nghiêm trọng: cường độ lao động cao, tiêu tốn thời gian, tiếng ồn lớn và phát thải gây ô nhiễm môi trường. Trước xu thế phát triển của công nghệ tự động hóa, trí tuệ nhân tạo (AI) và Internet vạn vật (IoT), việc nghiên cứu chế tạo các hệ thống robot cắt cỏ tự hành nhằm thay thế con người, nâng cao hiệu suất làm việc, đảm bảo an toàn lao động và tiết kiệm năng lượng trở thành một nhu cầu cấp thiết.

Trên thị trường thế giới, một số dòng robot cắt cỏ thương mại đã được nghiên cứu và thương mại hóa bởi các tập đoàn lớn, tiêu biểu như:

  • Robomow (Friendly Robotics / MTD Group): Có khả năng vận hành theo lịch trình, trang bị cảm biến va chạm, cảm biến mưa, cảm biến nâng và chống trộm. Điểm mạnh là lưỡi cắt lớn, cắt sát mép tường và điều khiển qua ứng dụng di động. Tuy nhiên, giá thành sản phẩm rất cao (khoảng 50 đến 90 triệu đồng), trọng lượng lớn và bắt buộc phải chôn hệ thống dây giới hạn chu vi (boundary wire) trước khi vận hành.
  • Husqvarna Automower (Husqvarna Group): Tích hợp công nghệ định vị vệ tinh GPS, cảm biến thông minh, độ ồn thấp (khoảng 60 dB(A)), hệ dẫn động 4 bánh cho phép leo dốc lên đến 70%, hỗ trợ điều khiển qua ứng dụng Automower Connect. Hạn chế chính là giá thành đắt đỏ (khoảng 49,6 đến 120 triệu đồng) và phần lớn các phiên bản vẫn yêu cầu lắp đặt dây chu vi.
  • Worx Landroid (Worx): Thiết kế nhỏ gọn, ứng dụng công nghệ AI để tối ưu hóa đường đi và tự quay về trạm sạc khi pin yếu. Một số dòng không cần lắp đặt dây giới hạn, cho phép điều khiển qua điện thoại. Tuy nhiên, mức giá vẫn dao động trong khoảng từ 50 đến 190 triệu đồng, hiệu suất hoạt động suy giảm trên địa hình phức tạp và đòi hỏi bảo dưỡng lưỡi cắt thường xuyên.

Nhìn chung, rào cản lớn nhất của các sản phẩm thương mại hiện nay là chi phí sở hữu quá cao, việc thiết lập ranh giới hoạt động bằng dây dẫn vật lý phức tạp, cùng năng lực nhận diện vật cản và tối ưu hóa quỹ đạo trên địa hình không bằng phẳng hoặc cỏ rậm rạp còn nhiều hạn chế. Từ thực tiễn đó, đề tài "Nghiên cứu và hiện thực hóa mô hình robot cắt cỏ tự hành" (Research and Implementation of an Autonomous Lawn Mowing Robot) được nhóm tác giả lựa chọn nhằm phát triển một mô hình robot thông minh, thân thiện với môi trường, có chi phí hợp lý phục vụ các khu vực sân vườn quy mô vừa và nhỏ.

Mục tiêu nghiên cứu

Đề tài hướng tới việc nghiên cứu, thiết kế và chế tạo một mô hình thử nghiệm robot cắt cỏ tự hành đáp ứng các mục tiêu cụ thể:

  1. Vận hành tự động mà không cần sự can thiệp trực tiếp từ con người.
  2. Nhận biết môi trường xung quanh, phát hiện và né tránh chướng ngại vật xuất hiện trên đường đi để điều hướng di chuyển tối ưu.
  3. Đảm bảo hiệu quả cắt cỏ ổn định, tiết kiệm năng lượng tiêu thụ và giảm chi phí vận hành.
  4. Tích hợp cơ chế điều khiển từ xa thông qua ứng dụng di động trên nền tảng IoT.
  5. Khả năng thích ứng với nhiều dạng địa hình từ mặt phẳng đến địa hình mấp mô gồ ghề.

Nhiệm vụ nghiên cứu

Văn bản giao nhiệm vụ tốt nghiệp xác định hai nội dung cốt lõi:

  • Lập trình hệ thống robot cắt cỏ tự hành có khả năng thiết lập bản đồ môi trường và quy hoạch quỹ đạo di chuyển phù hợp để cắt cỏ kết hợp né tránh vật cản.
  • Thiết kế phần mềm điều khiển cho robot, bao gồm hai chế độ vận hành độc lập: chế độ tự hành (autonomous) và chế độ điều khiển thủ công (manual).

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

  • Đối tượng nghiên cứu: Các giải pháp tự động hóa trong thiết kế robot cắt cỏ; ứng dụng công nghệ AI và giao thức IoT trong giám sát, điều khiển thiết bị thông minh; hệ thống cảm biến nhận diện môi trường và các thuật toán điều hướng tự động.
  • Phạm vi nghiên cứu:
    • Không gian: Nghiên cứu cấu trúc cơ khí, mạch điện tử và thuật toán trên phần mềm mô phỏng (Gazebo, RViz); thử nghiệm thực tế mô hình phần cứng trên bề mặt thảm cỏ nhân tạo.
    • Thời gian: Đề tài được giao ngày 25/01/2025 và hoàn thành nghiệm thu, nộp báo cáo vào ngày 10/06/2025.

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

Khung lý thuyết và mô hình sử dụng

  • Phân định giữa robot AGV và robot cắt cỏ: Khóa luận làm rõ sự khác biệt bản chất giữa xe tự hành công nghiệp (AGV) và robot cắt cỏ tự hành. Trong khi AGV chỉ hoạt động trong môi trường nhà xưởng có bề mặt sàn phẳng, tuyến đường cố định định hướng bởi vạch từ, mã QR hoặc SLAM đơn giản nhằm mục tiêu vận chuyển hàng hóa; robot cắt cỏ vận hành ngoài trời trong môi trường phi cấu trúc, đối mặt với bề mặt mấp mô, cỏ dày và điều kiện thời tiết biến đổi, đòi hỏi thuật toán SLAM phức tạp, điều hướng bao phủ toàn bộ diện tích (area coverage) và né tránh vật cản chủ động.
  • Lịch sử phát triển thiết bị cắt cỏ tự hành: Đề tài tổng hợp tiến trình phát triển từ MowBot ra đời năm 1969 do S. Lawrence Bellinger sáng chế (nặng 57 kg, hoạt động liên tục 3 giờ trên diện tích 280 m²), mẫu máy cắt cỏ năng lượng mặt trời năm 1992 của André Collens (được Husqvarna thương mại hóa năm 1995 với dòng Solar Mower), mẫu Bosch Indego năm 2012 ứng dụng bản đồ sân vườn, các dòng robot của EEVE và Volta cuối thập niên 2010 tích hợp thị giác máy tính loại bỏ dây ranh giới, cho đến dòng Husqvarna Automower EPOS năm 2020 ứng dụng công nghệ định vị RTK đạt độ chính xác 2–3 cm.
  • Hệ điều hành robot (Robot Operating System - ROS): Ứng dụng kiến trúc dạng mô-đun phân tầng của ROS. Hệ thống tổ chức dựa trên Computation Graph bao gồm:
    • Node: Các tiến trình độc lập thực hiện tác vụ tính toán, đọc cảm biến và điều khiển động cơ.
    • Master: Cơ chế đăng ký và định tuyến kết nối giữa các node.
    • Topic: Kênh truyền dữ liệu một chiều không đồng bộ theo cơ chế xuất bản/đăng ký (publish/subscribe).
    • Service: Kênh truyền dữ liệu đồng bộ hai chiều theo mô hình yêu cầu/phản hồi (request/response).
    • Parameter Server và Bag: Nơi lưu trữ thông số cấu hình và ghi/phát lại dữ liệu cảm biến.
  • Thuật toán SLAM Toolbox: Là thuật toán cốt lõi dùng để xây dựng bản đồ lưới 2D (occupancy grid map) và định vị robot thời gian thực mà không cần bản đồ nạp trước. Thuật toán hoạt động dựa trên mô hình đồ thị tư thế (Pose Graph) với các nút là vị trí robot và các cạnh là ràng buộc chuyển động từ cảm biến đo quãng đường (odometry). Để khử sai số tích lũy (drift) khi robot quay lại vị trí cũ, thuật toán sử dụng cơ chế phát hiện khép vòng (loop closure detection) và tối ưu hóa phi tuyến toàn cục thông qua thư viện Ceres Solver (sử dụng thuật toán Levenberg-Marquardt hoặc Gauss-Newton). Dữ liệu đầu vào bao gồm các topic /scan (LiDAR), /odom (encoder bánh xe) và /imu/data (cảm biến quán tính).
  • Thuật toán nhận diện màu sắc bằng OpenCV: Nhằm xác định vùng cỏ cần cắt, hình ảnh từ camera được chuyển từ không gian màu RGB sang HSV (Hue - Saturation - Value) để tách biệt thông tin màu sắc (Hue) khỏi cường độ ánh sáng. Nhóm tác giả thiết lập ngưỡng dải màu sắc của cỏ với góc Hue nằm trong khoảng từ 30° đến 90°. Sau bước lọc ngưỡng để tạo mặt nạ nhị phân (masking), các phép toán hình thái học (morphological operations) và làm mờ được áp dụng nhằm triệt tiêu nhiễu trước khi trích xuất tọa độ vùng cắt.
  • Bộ điều khiển phản hồi PID: Sử dụng công thức toán học: $$u(t) = K_p \cdot e(t) + K_i \int e(t)dt + K_d \cdot \frac{de(t)}{dt}$$ Trong đó $e(t)$ là sai số giữa giá trị đặt và giá trị hồi tiếp thực tế; $K_p, K_i, K_d$ là các hệ số tỉ lệ, tích phân và vi phân. PID được dùng để kiểm soát chính xác tốc độ động cơ và duy trì góc hướng chuyển động của robot.
  • Nguyên lý giải mã xung Encoder cầu phương (Quadrature Encoder): Sử dụng encoder hai kênh A và B lệch pha 90°. Mỗi lần chuyển trạng thái, hệ thống ghép 2 bit trạng thái trước và 2 bit trạng thái hiện tại thành mã nhị phân 4-bit. Giá trị này được đối chiếu qua bảng mảng hằng số ENC_STATES[] để xác định chính xác chiều quay và số xung di chuyển:
Mã thập phân Mã Hex Mã nhị phân 4-bit (Trước $\rightarrow$ Hiện tại) Giá trị ENC_STATES Ý nghĩa chuyển động
0 0x0 0000 0 Không hợp lệ
1 0x1 0001 1 Quay tiến
2 0x2 0010 -1 Quay lùi
3 0x3 0011 0 Không hợp lệ
4 0x4 0100 -1 Quay lùi
5 0x5 0101 0 Không hợp lệ
6 0x6 0110 0 Không hợp lệ
7 0x7 0111 1 Quay tiến
8 0x8 1000 1 Quay tiến
9 0x9 1001 0 Không hợp lệ
10 0xA 1010 0 Không hợp lệ
11 0xB 1011 -1 Quay lùi
12 0xC 1100 0 Không hợp lệ
13 0xD 1101 -1 Quay lùi
14 0xE 1110 1 Quay tiến
15 0xF 1111 0 Không hợp lệ
  • Thuật toán điều hướng và tránh vật cản: Thuật toán Dijkstra được sử dụng để tìm đường đi ngắn nhất trên bản đồ lưới tĩnh; thuật toán cửa sổ động DWA (Dynamic Window Approach) được ứng dụng để tránh các vật cản ngẫu nhiên xuất hiện trên đường di chuyển trong thời gian thực; kết hợp thuật toán phân rã Boustrophedon và Border Drive để quy hoạch đường cắt cỏ bao phủ toàn bộ diện tích.
  • Giao thức truyền thông mạng MQTT: Áp dụng mô hình Publish/Subscribe gồm Broker làm máy chủ trung gian, robot đóng vai trò xuất bản trạng thái/đăng ký nhận lệnh điều khiển, và ứng dụng di động gửi dữ liệu điều khiển qua mạng không dây Wi-Fi.

Phương pháp nghiên cứu thực tế

  • Phương pháp phân tích - tổng hợp lý thuyết: Khảo sát các tài liệu khoa học, mã nguồn mở về ROS, giải thuật SLAM, xử lý ảnh và cơ cấu truyền động cơ điện tử.
  • Phương pháp thiết kế và tích hợp hệ thống: Tính toán lựa chọn phần cứng, thiết kế sơ đồ nguyên lý mạch điện, kết nối các mô-đun vi xử lý, cảm biến và mạch công suất.
  • Phương pháp mô phỏng: Mô phỏng hình học robot, cảm biến và kiểm thử thuật toán Navigation2 trong không gian ảo bằng Gazebo và công cụ hiển thị trực quan RViz.
  • Phương pháp thực nghiệm: Gia công, lắp ráp mô hình robot vật lý; lập trình nạp code cho vi điều khiển Arduino và máy tính nhúng Raspberry Pi; tiến hành đo kiểm thực địa trên bề mặt thảm cỏ nhân tạo.

Nguồn dữ liệu

  • Dữ liệu đám mây điểm quét 2D thời gian thực từ cảm biến LiDAR qua topic /scan.
  • Tín hiệu xung phản hồi góc quay và vận tốc từ encoder động cơ DC qua topic /odom.
  • Dữ liệu vận tốc góc và gia tốc 6 trục từ cảm biến IMU GY-521 MPU6050 qua topic /imu/data.
  • Luồng khung hình video thu nhận trực tiếp từ camera USB độ phân giải HD 1080P.
  • Bản tin dữ liệu điều khiển và trạng thái trao đổi qua các topic MQTT.

Thiết kế và triển khai

Hệ thống robot cắt cỏ tự hành được phát triển theo mô hình cơ điện tử tích hợp, phân tách rõ ràng giữa phần cứng cơ khí, mạch điều khiển công suất, tầng tính toán cấp cao và tầng chấp hành cấp thấp.

Kiến trúc phần cứng và thiết bị sử dụng

Thiết bị / Linh kiện Chủng loại / Thông số kỹ thuật Vai trò và chức năng trong hệ thống
Khung gầm robot Khung robot bánh xích YP100 (YP100 tank chassis) Tạo độ bám cao, di chuyển linh hoạt trên địa hình gồ ghề và cỏ rậm
Bộ xử lý trung tâm Raspberry Pi 4 Model B (4GB RAM) Đóng vai trò bộ não cấp cao: chạy Ubuntu, ROS 2, SLAM Toolbox, xử lý ảnh
Vi điều khiển cấp thấp Arduino Uno R3 Đảm nhận điều khiển thời gian thực: đọc encoder, thực thi PID, xuất xung PWM
Động cơ di chuyển Động cơ giảm tốc DC GA25-370 tích hợp Encoder Dẫn động hệ thống bánh xích, phản hồi xung để đo tốc độ và quãng đường
Mạch điều khiển di chuyển Driver cầu H L298 Điều khiển chiều quay và tốc độ cho 2 động cơ di chuyển GA25-370
Động cơ cắt cỏ Động cơ DC 775 (công suất 100–150W) Quay lưỡi dao cắt cỏ với tốc độ cao
Mạch điều khiển động cơ cắt Driver công suất BTS7960 Điều khiển đóng ngắt và tốc độ dòng tải lớn cho động cơ 775
Cơ cấu cắt cỏ Lưỡi cắt kim loại hoặc cước cắt nylon Thực hiện việc cắt đứt thân cỏ
Cảm biến đo khoảng cách Cảm biến quét laser LiDAR 2D Quét môi trường xung quanh, cung cấp dữ liệu điểm cho thuật toán SLAM
Cảm biến quán tính GY-521 6DOF IMU (MPU6050) Đo gia tốc và tốc độ góc, hỗ trợ định vị và giữ hướng cho robot
Thiết bị thu nhận hình ảnh Camera USB chuẩn HD 1080P Ghi nhận hình ảnh khu vực cỏ để phân tích không gian màu HSV
Nguồn cấp năng lượng Bộ pin sạc Lithium-ion (chuẩn 3S/4S, 11,1V–14,8V, 2.200–10.000 mAh) Cung cấp nguồn điện cho toàn bộ hệ thống; tích hợp mạch quản lý pin (BMS)

Kiến trúc phần mềm và truyền thông

  • Tầng chấp hành cấp thấp (Arduino Uno R3): Chạy chương trình nhúng viết trên Arduino IDE. Arduino kết nối trực tiếp với 2 kênh tín hiệu của encoder động cơ GA25-370, thực hiện hàm đếm xung theo bảng trạng thái 4-bit, tính toán giải thuật PID vận tốc để điều chế độ rộng xung (PWM) gửi đến mạch cầu H L298. Dữ liệu vận tốc thực tế và lệnh điều khiển được đồng bộ hóa với Raspberry Pi thông qua giao tiếp nối tiếp UART.
  • Tầng tính toán trung tâm (Raspberry Pi 4 Model B):
    • Cài đặt hệ điều hành Ubuntu Server 22.04 LTS, cấu hình mạng, cấp quyền SSH và cài đặt bộ khung ROS 2 phiên bản Humble Hawksbill.
    • Sử dụng phần mềm MobaXterm trên máy tính cá nhân để truy cập terminal từ xa qua SSH, truyền file cấu hình qua SFTP và quản lý các node điều khiển.
    • Khởi chạy các node ROS: Node giao tiếp camera chụp ảnh và lọc ngưỡng màu cỏ; Node LiDAR xuất bản dữ liệu quét /scan; Node SLAM Toolbox khởi chạy ở chế độ online để lập bản đồ chiếm chỗ; Node mô tả cấu trúc hình học, tọa độ các khớp nối của robot (/tf, /tf_static).
  • Tầng giao diện người dùng (Mobile App):
    • Xây dựng ứng dụng di động chạy trên hệ điều hành Android bằng ngôn ngữ lập trình đa nền tảng Flutter.
    • Thiết lập kênh truyền thông qua giao thức mạng MQTT: ứng dụng gửi bản tin lệnh vận hành (tiến, lùi, rẽ, dừng, kích hoạt cắt cỏ) lên máy chủ MQTT Broker; Raspberry Pi đóng vai trò Subscriber tiếp nhận các bản tin này để chuyển đổi thành tín hiệu điều khiển. Chiều ngược lại, robot gửi thông tin định vị, trạng thái hoạt động về điện thoại để hiển thị cho người dùng.

Quy trình kiểm thử và mô phỏng

  1. Kiểm thử mô phỏng: Thiết lập mô hình vật lý robot (URDF) trong không gian ảo Gazebo; kiểm thử thuật toán định vị và dẫn đường Navigation2 trong RViz bằng cách đặt điểm đích ('Nav Goal'), đưa vật cản ngẫu nhiên vào đường di chuyển để đánh giá khả năng tự động quy hoạch lại quỹ đạo của robot.
  2. Kiểm thử thực tế: Khởi động robot trên bề mặt thảm cỏ nhân tạo, quét bản đồ môi trường bằng LiDAR, kích hoạt chế độ điều khiển thủ công qua ứng dụng Flutter và kiểm tra phản hồi đóng ngắt của động cơ cắt cỏ 775.

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

Chương 1: Tổng quan (Overview)

Chương mở đầu tập trung làm rõ tính cấp thiết của đề tài trong bối cảnh nhu cầu tự động hóa bảo dưỡng cảnh quan đô thị ngày càng tăng. Tác giả phân tích những hạn chế của phương pháp cắt cỏ dùng động cơ xăng và thủ công (gây ô nhiễm, tốn nhân lực). Chương này phân tích chuyên sâu các dòng máy cắt cỏ thương mại hàng đầu thế giới (Robomow, Husqvarna Automower, Worx Landroid) về các thông số kỹ thuật, khả năng tự động hóa, độ ồn, khả năng vượt dốc cũng như khoảng giá từ 49,6 đến 190 triệu đồng. Từ việc chỉ ra các điểm yếu của sản phẩm hiện có (chi phí đắt đỏ, phụ thuộc dây ranh giới, khó di chuyển địa hình phức tạp), chương 1 xác định rõ mục tiêu, phạm vi nghiên cứu, cấu trúc nội dung và giới hạn thử nghiệm của đề tài.

Chương 2: Cơ sở lý thuyết (Theoretical Basis)

Chương 2 hệ thống hóa toàn bộ các nền tảng khoa học và công nghệ được sử dụng trong khóa luận:

  • Định nghĩa robot cắt cỏ tự hành, phân tích sự khác biệt kỹ thuật đối với xe tự hành trong nhà (AGV) và tổng kết lịch sử phát triển từ năm 1969 đến nay.
  • Giới thiệu chi tiết hệ điều hành ROS (cấu trúc hệ thống tệp tin, mô hình đồ thị tính toán Computation Graph: Node, Master, Topic, Service, Parameter Server, Bag).
  • Trình bày hệ điều hành Ubuntu, công cụ điều khiển từ xa MobaXterm và nguyên lý hoạt động của gói phần mềm SLAM Toolbox (mô hình Pose Graph, tối ưu hóa Ceres Solver, cơ chế Loop Closure).
  • Thuật toán nhận diện màu sắc bằng thư viện OpenCV trong không gian màu HSV với dải góc Hue xanh lá từ 30° đến 90°.
  • Lý thuyết các chuẩn giao tiếp phần cứng (UART, I2C, SPI) và giao thức mạng IoT MQTT (Broker, Publisher, Subscriber).
  • Cơ sở toán học của bộ điều khiển phản hồi PID và thuật toán giải mã xung quadrature encoder bằng bảng tra trạng thái 4-bit (ENC_STATES).
  • Các giải pháp quy hoạch đường đi: thuật toán Dijkstra tìm đường ngắn nhất, thuật toán cửa sổ động DWA né tránh vật cản ngẫu nhiên và thuật toán phân rã Boustrophedon.

Chương 3: Thiết kế và hiện thực hóa hệ thống (System Design and Implementation)

Chương 3 trình bày toàn bộ quy trình thiết kế, tích hợp và triển khai hệ thống:

  • Phân tích yêu cầu cơ khí, chọn khung gầm bánh xích YP100, thiết kế cơ cấu cắt cỏ sử dụng động cơ DC 775 với lưỡi kim loại hoặc cước nylon.
  • Thiết lập sơ đồ khối chức năng, nguyên lý hoạt động tổng thể và sơ đồ đấu nối dây điện chi tiết giữa các linh kiện (Raspberry Pi 4, Arduino Uno R3, cảm biến LiDAR, IMU GY-521, Camera USB, driver L298 và BTS7960).
  • Lập trình ứng dụng di động bằng Flutter trên Android, thiết lập luồng truyền thông MQTT giữa điện thoại và robot.
  • Quy trình cài đặt hệ điều hành Ubuntu Server 22.04 LTS và ROS 2 Humble Hawksbill trên Raspberry Pi 4 Model B; cấu hình SSH qua phần mềm MobaXterm.
  • Lập trình nhúng trên vi điều khiển Arduino: thuật toán đọc encoder qua mảng ENC_STATES, thuật toán PID vận tốc và hàm điều khiển động cơ qua mạch cầu H L298.
  • Tích hợp các node ROS: khởi chạy camera xử lý ảnh nhận diện cỏ, khởi chạy SLAM Toolbox quét bản đồ trực tuyến từ dữ liệu LiDAR, cấu hình hệ tọa độ hình học robot (/tf).
  • Mô phỏng hệ thống định vị dẫn đường Navigation2 trong phần mềm Gazebo và RViz; thử nghiệm quy hoạch quỹ đạo và né tránh vật cản ngẫu nhiên.
  • Lắp ráp phần cứng hoàn chỉnh và kiểm thử vận hành thực tế trên thảm cỏ nhân tạo.

Chương 4: Kết luận và hướng phát triển tương lai (Conclusion and Future Development Orientation)

Chương cuối tóm tắt lại toàn bộ các mục tiêu đã hoàn thành, tổng kết các nội dung kỹ thuật đã triển khai trong đồ án tốt nghiệp. Nhóm tác giả thẳng thắn đánh giá các kết quả đạt được về mặt mô hình phần cứng, điều khiển thủ công qua ứng dụng và khả năng tạo bản đồ. Đồng thời, chương 4 chỉ ra các điểm tồn tại về tính năng tự hành, nhận diện cỏ và đề xuất các giải pháp nâng cấp cụ thể về giải thuật điều khiển, nâng cao khả năng chống chịu môi trường và cải tiến hệ thống nguồn năng lượng cho các giai đoạn nghiên cứu tiếp theo.


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

Kết quả chính đạt được

  • Về phần cứng: Chế tạo thành công mô hình vật lý robot cắt cỏ tự hành dựa trên khung gầm bánh xích YP100; tích hợp hoàn chỉnh hệ thống xử lý gồm vi máy tính Raspberry Pi 4 Model B (4GB RAM) kết hợp vi điều khiển Arduino Uno R3; đấu nối an toàn hệ thống cảm biến (LiDAR 2D, IMU GY-521 MPU6050, Camera USB 1080P) và các khối mạch điều khiển công suất động cơ (L298 điều khiển động cơ di chuyển GA25-370, BTS7960 điều khiển động cơ cắt cỏ 775 công suất 100–150W).
  • Về phần mềm và thuật toán:
    • Cài đặt và cấu hình thành công hệ điều hành Ubuntu Server 22.04 LTS và bộ công cụ ROS 2 Humble Hawksbill trên Raspberry Pi 4.
    • Lập trình thành công thuật toán giải mã xung quadrature encoder bằng bảng tra 4-bit và thuật toán điều khiển PID vận tốc trên vi điều khiển Arduino Uno R3.
    • Triển khai thành công thuật toán SLAM Toolbox, cho phép quét dữ liệu laser từ LiDAR thời gian thực để thiết lập bản đồ 2D dạng occupancy grid map.
    • Xây dựng thuật toán phân đoạn màu sắc cỏ trên không gian màu HSV thông qua thư viện OpenCV (ngưỡng Hue 30° - 90°).
    • Hoàn thiện ứng dụng điều khiển di động trên nền tảng Android bằng Flutter, giao tiếp tin cậy với robot qua giao thức MQTT.
    • Kiểm thử thành công thuật toán Navigation2 trong môi trường mô phỏng Gazebo và RViz, chứng minh khả năng di chuyển đến tọa độ mục tiêu và tự quy hoạch lại quỹ đạo khi xuất hiện vật cản.
  • Về thực nghiệm: Mô hình phần cứng hoạt động ổn định ở chế độ điều khiển thủ công thông qua ứng dụng di động; thực hiện việc cắt tỉa cỏ chính xác trên diện tích nhỏ trong môi trường thử nghiệm thảm cỏ nhân tạo.
  • Chỉ số liêm chính học thuật: Báo cáo kiểm tra đạo văn (Plagiarism Check) ngày 09/06/2025 xác nhận tỷ lệ tương đồng tổng thể (Overall similarity index) là 6%, và mức tương đồng lớn nhất từ một nguồn đơn lẻ (Highest similarity from a single source) dưới 1% (<1%).

Giải pháp và kiến nghị của tác giả

  • Đề xuất kiến trúc điều khiển hai tầng (Dual-tier architecture): phân tách nhiệm vụ tính toán nặng (SLAM, xử lý ảnh, quy hoạch quỹ đạo) cho Raspberry Pi chạy ROS 2 và các tác vụ chấp hành thời gian thực (đọc xung encoder tần số cao, băm xung PWM, tính toán PID) cho vi điều khiển Arduino Uno nhằm đảm bảo tính ổn định và triệt tiêu độ trễ hệ thống.
  • Sử dụng giao thức truyền thông nhẹ MQTT trong kiến trúc điều khiển từ xa nhằm tiết kiệm băng thông và tối ưu hóa thời gian truyền dữ liệu giữa thiết bị di động và robot qua mạng Wi-Fi.

Đóng góp của đề tài

  • Xây dựng một mô hình thử nghiệm robot cắt cỏ tự hành với chi phí linh kiện thấp, hướng đến đối tượng người dùng sở hữu sân vườn nhỏ hoặc khuôn viên vừa, giải quyết bài toán giá thành quá cao (từ 50 đến 190 triệu đồng) của các dòng máy nhập khẩu.
  • Ứng dụng thành công công nghệ quét laser LiDAR kết hợp thuật toán SLAM Toolbox và định vị hình ảnh, đặt nền móng loại bỏ sự phụ thuộc vào hệ thống dây dẫn chu vi (boundary wire) cố định vốn gây phức tạp trong quá trình lắp đặt và bảo dưỡng.
  • Đóng vai trò làm tài liệu tham khảo thực nghiệm cho sinh viên khối ngành kỹ thuật ô tô và cơ điện tử trong việc tích hợp công nghệ ROS 2, thuật toán SLAM và IoT vào các phương tiện tự hành.

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

Hạn chế được văn bản đề cập

Theo đánh giá khách quan của nhóm tác giả trong phần tóm tắt và kết luận đề tài, mô hình vẫn tồn tại một số hạn chế kỹ thuật:

  • Tính năng tự hành (autonomous functionality) của robot chưa đạt mức hoàn thiện toàn diện trên thực địa ngoài trời.
  • Hiệu quả nhận diện thảm cỏ bằng thuật toán phân ngưỡng màu sắc HSV và khả năng né tránh vật cản trong một số tình huống thực tế chưa đạt mức tối ưu, dễ bị nhiễu do cường độ ánh sáng môi trường thay đổi.
  • Tính ổn định khi vận hành của hệ thống suy giảm khi đối mặt với các môi trường địa hình phức tạp, gồ ghề.
  • Thời lượng hoạt động liên tục của robot còn bị giới hạn bởi dung lượng của khối pin lưu trữ.

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

Nhóm tác giả đề xuất các định hướng phát triển trong tương lai bao gồm:

  • Cải tiến thuật toán điều khiển (Control algorithm improvement): Tinh chỉnh và tối ưu hóa sâu hơn các tham số của bộ điều khiển PID; hoàn thiện thuật toán quy hoạch đường đi bám biên (Border Drive) và phân rã Boustrophedon trên mô hình thực tế.
  • Nâng cấp hệ thống thị giác máy tính: Tích hợp các mô hình học sâu (Deep Learning) hoặc kết hợp thêm cảm biến đo chiều sâu (RGB-D) để nâng cao độ chính xác khi phân vùng cỏ và phát hiện vật cản dưới điều kiện ánh sáng tự nhiên thay đổi.
  • Tăng cường độ bền thời tiết: Thiết kế vỏ bảo vệ chống nước và bụi, nâng cao khả năng vận hành trong các điều kiện thời tiết khắc nghiệt ngoài trời.
  • Mở rộng hệ thống cung cấp năng lượng: Nâng cấp dung lượng bộ pin lưu trữ (sử dụng pin Lithium Iron Phosphate - LFP) hoặc nghiên cứu tích hợp các tấm pin năng lượng mặt trời công suất 10W–20W trên thân xe nhằm kéo dài chu kỳ làm việc liên tục.

Giá trị tham khảo

Báo cáo khóa luận tốt nghiệp này mang lại giá trị tham khảo thiết thực cho các đối tượng và phạm vi nghiên cứu sau:

  • Đối tượng thụ hưởng:
    • Sinh viên, học viên thuộc các chuyên ngành Công nghệ Kỹ thuật Ô tô (Automotive Engineering Technology), Cơ điện tử (Mechatronics), Kỹ thuật Điều khiển và Tự động hóa, Kỹ thuật Robot và Trí tuệ nhân tạo.
    • Các kỹ sư, nhóm nghiên cứu phát triển các mô hình xe tự hành (AGV/AMR), thiết bị làm vườn thông minh hoặc phương tiện phục vụ nông nghiệp chính xác.
  • Các nội dung đáng tham khảo nhất trong tài liệu:
    • Quy trình cấu hình hệ điều hành Ubuntu Server 22.04 LTS và cài đặt bộ công cụ ROS 2 Humble Hawksbill trên vi máy tính Raspberry Pi 4 Model B.
    • Thuật toán giải mã xung quadrature encoder bằng phương pháp tra bảng trạng thái nhị phân 4-bit (ENC_STATES), giúp tối ưu hóa tốc độ thực thi của vi điều khiển cấp thấp.
    • Sơ đồ nguyên lý kết nối phần cứng và phân phối tín hiệu giữa Raspberry Pi 4, Arduino Uno R3, driver công suất L298, BTS7960 cùng các cảm biến LiDAR và IMU.
    • Phương pháp xây dựng ứng dụng điều khiển di động trên nền tảng Flutter kết nối giao thức mạng IoT MQTT để điều khiển robot từ xa.

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

1. Khóa luận sử dụng những bộ xử lý nào và phân chia nhiệm vụ giữa chúng ra sao?

Khóa luận sử dụng kiến trúc điều khiển hai tầng kết hợp giữa máy tính nhúng Raspberry Pi 4 Model B (4GB RAM) và vi điều khiển Arduino Uno R3. Raspberry Pi 4 đảm nhận các tác vụ tính toán cấp cao bao gồm: chạy hệ điều hành Ubuntu Server 22.04, nền tảng ROS 2 Humble, xử lý thuật toán lập bản đồ SLAM Toolbox, xử lý ảnh phân vùng cỏ qua OpenCV và làm cổng trung gian kết nối mạng MQTT. Arduino Uno R3 đảm nhận các tác vụ thời gian thực cấp thấp: kết nối trực tiếp với 2 kênh tín hiệu của encoder động cơ GA25-370, thực hiện thuật toán đếm xung qua bảng tra 4-bit, tính toán giải thuật điều khiển phản hồi PID vận tốc và băm xung PWM gửi đến mạch cầu H L298 để điều khiển động cơ di chuyển. Hai bộ xử lý trao đổi dữ liệu với nhau qua giao tiếp nối tiếp UART.

2. Hệ thống phân biệt thảm cỏ cần cắt với các bề mặt khác bằng nguyên lý nào?

Hệ thống sử dụng camera USB chuẩn HD 1080P gắn ở phía trước robot để thu nhận luồng hình ảnh bề mặt di chuyển, sau đó áp dụng thuật toán xử lý ảnh thông qua thư viện OpenCV. Hình ảnh màu RGB được chuyển đổi sang không gian màu HSV nhằm tách biệt thông số màu sắc (Hue) khỏi sự biến đổi của cường độ ánh sáng. Nhóm tác giả cài đặt ngưỡng lọc màu cho thảm cỏ với giá trị góc Hue nằm trong khoảng từ 30° đến 90°. Sau khi áp dụng mặt nạ nhị phân (masking) để giữ lại các điểm ảnh màu xanh lá, hệ thống thực hiện các phép toán hình thái học và làm mờ nhằm loại bỏ nhiễu, từ đó phân định chính xác vùng cỏ cần cắt khỏi các bề mặt đất, đá, gốc cây hoặc khu vực đã cắt xong.

3. Nguyên lý giải mã tín hiệu xung từ Encoder động cơ được lập trình như thế nào?

Hệ thống sử dụng encoder quang học cầu phương (Quadrature Encoder) tích hợp trên động cơ giảm tốc DC GA25-370. Encoder tạo ra hai tín hiệu xung vuông A và B lệch pha nhau 90°. Tại mỗi thời điểm lấy mẫu, trạng thái 2-bit của tín hiệu A-B ở chu kỳ trước và trạng thái 2-bit ở chu kỳ hiện tại được ghép lại thành một mã nhị phân 4-bit (chuyển đổi sang hệ thập lục phân từ 0x0 đến 0xF). Vi điều khiển sử dụng mã này để tra cứu trực tiếp trong mảng trạng thái hằng số ENC_STATES[]: các mã 0x1, 0x7, 0x8, 0xE trả về giá trị 1 tương ứng với chuyển động quay tiến; các mã 0x2, 0x4, 0xB, 0xD trả về giá trị -1 tương ứng với chuyển động quay lùi; các trường hợp còn lại trả về giá trị 0 được xác định là trạng thái nhiễu hoặc không hợp lệ. Giải pháp này giúp vi điều khiển xác định chiều quay và quãng đường di chuyển tức thời mà không cần sử dụng các cấu trúc điều kiện phức tạp.

4. Các dòng máy cắt cỏ thương mại được tác giả so sánh có những ưu nhược điểm kỹ thuật gì?

Tác giả tiến hành khảo sát và so sánh ba dòng máy cắt cỏ thương mại tiêu biểu:

  • Robomow (MTD Group): Ưu điểm là lưỡi cắt kim loại lớn, cắt sát viền mép tường tốt, có cảm biến mưa/va chạm và ứng dụng điều khiển qua điện thoại; nhược điểm là giá bán cao (50–90 triệu đồng), trọng lượng nặng và bắt buộc phải lắp đặt dây giới hạn ranh giới (boundary wire).
  • Husqvarna Automower (Husqvarna Group): Ưu điểm là vận hành êm ái với độ ồn thấp chỉ khoảng 60 dB(A), hệ dẫn động 4 bánh cho phép vượt dốc lên tới 70%, phiên bản EPOS sử dụng định vị RTK chính xác 2–3 cm; nhược điểm là giá thành rất đắt (khoảng 49,6–120 triệu đồng) và đa phần vẫn phụ thuộc vào dây ranh giới.
  • Worx Landroid (Worx): Ưu điểm là thiết kế nhỏ gọn, định tuyến thông minh bằng AI, tự quay về trạm sạc, một số dòng đã loại bỏ dây giới hạn; nhược điểm là giá thành cao (50–190 triệu đồng), hiệu suất suy giảm đáng kể trên địa hình gồ ghề và yêu cầu bảo dưỡng lưỡi cắt định kỳ.

5. Kết quả thử nghiệm thực tế của mô hình đạt được những gì và tác giả thừa nhận những hạn chế nào?

Trong điều kiện thử nghiệm trên bề mặt thảm cỏ nhân tạo, mô hình robot vật lý hoạt động ổn định ở chế độ điều khiển thủ công thông qua ứng dụng di động Flutter qua giao thức MQTT; cơ cấu cắt sử dụng động cơ DC 775 thực hiện cắt tỉa chính xác trên diện tích nhỏ; hệ thống quét LiDAR và thuật toán SLAM Toolbox trích xuất thành công bản đồ lưới 2D của khu vực thử nghiệm. Tuy nhiên, nhóm tác giả chỉ rõ các hạn chế tồn tại: tính năng tự hành hoàn toàn chưa được hoàn thiện trọn vẹn trên mô hình thực địa; thuật toán lọc màu cỏ HSV và né tránh vật cản chưa đạt hiệu suất tối ưu; robot vận hành kém ổn định trên các địa hình phức tạp ngoài thực tế; thời gian vận hành bị giới hạn do dung lượng nguồn pin lưu trữ.


Kết luận

Đồ án tốt nghiệp "Nghiên cứu và hiện thực hóa mô hình robot cắt cỏ tự hành" của nhóm sinh viên ngành Công nghệ Kỹ thuật Ô tô tại Trường Đại học Sư phạm Kỹ thuật TP.HCM đã thiết kế và chế tạo thành công mẫu thử nghiệm robot bánh xích YP100 tích hợp vi máy tính Raspberry Pi 4 Model B và Arduino Uno R3. Hệ thống đã hiện thực hóa thành công việc điều khiển thủ công qua ứng dụng Flutter bằng giao thức MQTT, quét lập bản đồ môi trường 2D bằng thuật toán SLAM Toolbox với cảm biến LiDAR, nhận diện thảm cỏ bằng OpenCV trong không gian màu HSV và thử nghiệm thuật toán Navigation2 trong không gian mô phỏng Gazebo/RViz. Mặc dù các chức năng tự hành hoàn toàn ngoài trời, khả năng thích ứng địa hình phức tạp và thời lượng pin vẫn còn những giới hạn kỹ thuật cần tiếp tục hoàn thiện, công trình đã xây dựng được một kiến trúc cơ điện tử - phần mềm nhúng hoàn chỉnh, cung cấp tài liệu tham khảo thực nghiệm có giá trị cao cho việc phát triển các phương tiện tự hành và thiết bị bảo dưỡng thông minh trong tương lai.