Đồ án tốt nghiệp xe tự hành thu gom bóng tennis

Đồ án tốt nghiệp về xe tự hành thu gom bóng tennis, ứng dụng công nghệ tự động hóa trong thể thao và nâng cao hiệu suất chơi tennis.

Trường đại học

Học viện Hàng không Việt Nam

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2025

89
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng quan về xe tự hành thu gom bóng tennis

Xe tự hành thu gom bóng tennis là một giải pháp công nghệ tiên tiến kết hợp robotics, xử lý ảnhtrí tuệ nhân tạo để tự động hóa quá trình thu gom bóng trong các sân tennis. Đây là một ứng dụng thực tiễn của công nghệ nhận dạng vật thể (Object Detection) trong lĩnh vực thể thao. Xe được trang bị máy tính nhúng Jetson Nano, cảm biến siêu âm và camera để phát hiện, theo dõi và thu gom bóng một cách tự động. Công nghệ này không chỉ giúp tiết kiệm thời gian và nhân công mà còn nâng cao hiệu quả công tác tại các sân tennis chuyên nghiệp. Hệ thống được phát triển dựa trên ngôn ngữ Python, mô hình YOLOv8 cho nhận dạng đối tượng và giao thức truyền thông UART để điều khiển các thiết bị ngoại vi.

1.1. Khái niệm và mục tiêu

Xe tự hành thu gom bóng tennis là một robot di động tự động có khả năng phát hiện bóng tennis thông qua xử lý ảnh, di chuyển đến vị trí bóng và thu gom nó vào bể chứa. Mục tiêu chính của dự án này là phát triển một hệ thống hoàn chỉnh kết hợp xử lý hình ảnh với điều khiển cơ điện, giúp tự động hóa công việc thu gom bóng tennis trên sân. Xe được trang bị các cảm biến để tránh chướng ngại vật và hệ thống điều khiển thông minh để thực hiện các chuyển động chính xác.

1.2. Ứng dụng thực tiễn

Ứng dụng của xe tự hành trong quản lý sân tennis rất đa dạng. Tại các sân tennis chuyên nghiệp, việc thu gom bóng thường mất nhiều thời gian và nhân công. Xe tự hành giúp giảm chi phí hoạt động, tăng tần suất thu gom bóng trong giải đấu. Ngoài ra, công nghệ này còn có thể mở rộng ứng dụng sang các lĩnh vực khác như thu gom rác tự động, kho bãi thông minh hoặc nông nghiệp hiện đại.

II. Công nghệ xử lý ảnh và nhận dạng vật thể YOLO

Xử lý ảnh (Image Processing) là một trong những công nghệ cốt lõi của xe tự hành thu gom bóng tennis. Hệ thống sử dụng mô hình YOLOv8 (You Only Look Once version 8) để phát hiện và xác định vị trí bóng tennis trong hình ảnh thời gian thực. YOLO là một mô hình học sâu (Deep Learning) được huấn luyện trên hàng triệu hình ảnh, cho phép nhận dạng đối tượng với độ chính xác cao và tốc độ xử lý nhanh. Thư viện OpenCV được sử dụng để xử lý tiền xử lý hình ảnh, chuyển đổi không gian màu, và lọc nhiễu. Thư viện Ultralytics cung cấp interface dễ sử dụng để triển khai mô hình YOLO trên máy tính nhúng Jetson Nano, giúp xe có khả năng nhận dạng bóng tennis trong thời gian thực mà không cần kết nối đến máy chủ từ xa.

2.1. Mô hình YOLOv8 và nguyên lý hoạt động

YOLOv8 là phiên bản mới nhất của họ mô hình YOLO, được phát triển bởi Ultralytics. Mô hình này sử dụng kiến trúc Convolutional Neural Network (CNN) để phân tích hình ảnh và phát hiện đối tượng trong một lần xử lý. Không giống như các mô hình cũ, YOLOv8 cải thiện độ chính xác nhận dạng, giảm độ trễ xử lý và tiêu thụ ít tài nguyên hơn, rất phù hợp với máy tính nhúng Jetson Nano.

2.2. Thư viện OpenCV và Ultralytics

OpenCV (Open Source Computer Vision) là thư viện Python mã nguồn mở, cung cấp các hàm xử lý ảnh cơ bản như chuyển đổi màu RGB, lọc Gaussian, phát hiện cạnh. Thư viện Ultralytics đóng gói mô hình YOLO với interface dễ sử dụng, cho phép tải mô hình đã huấn luyện và dự đoán trên hình ảnh hoặc video chỉ với vài dòng code Python.

III. Kiến trúc phần cứng và các thành phần chính

Xe tự hành thu gom bóng tennis được xây dựng dựa trên một kiến trúc phần cứng tích hợp các thành phần điện tử hiện đại. Máy tính nhúng Jetson Nano đóng vai trò là bộ não của xe, chịu trách nhiệm xử lý hình ảnh và điều khiển toàn hệ thống. Vi điều khiển ESP32 được sử dụng để điều khiển các động cơ DC và nhận tín hiệu từ các cảm biến. Xe được trang bị cảm biến siêu âm HC-SR04 để phát hiện chướng ngại vật, cảm biến hồng ngoại để tránh rơi xuống sân, và bánh xe mecanum để có khả năng di chuyển đa hướng. Mạch điều khiển động cơ BTS7960 giúp điều khiển tốc độ và hướng quay của động cơ DC. Hệ thống nguồn điện bao gồm pin Li-ion 18650 và mạch UPS Module đảm bảo xe hoạt động liên tục. Giao thức UART được sử dụng để truyền thông giữa Jetson Nano và ESP32, cho phép truyền lệnh điều khiển nhanh chóng và đáng tin cậy.

3.1. Máy tính nhúng Jetson Nano và hệ thống xử lý

Jetson Nano là một máy tính nhúng mạnh mẽ được thiết kế đặc biệt cho xử lý AI và học sâu trên thiết bị edge. Với bộ xử lý NVIDIA Maxwell GPU 128 cores, Jetson Nano có khả năng xử lý hình ảnh thời gian thực từ camera USB. Nó chạy Linux-based OS, hỗ trợ Python, CUDA và các framework học sâu như TensorFlow, PyTorch. Jetson Nano tiêu thụ điện năng thấp (5W-15W), rất phù hợp cho các ứng dụng robot tự hành.

3.2. Hệ thống cảm biến và động cơ

Xe được trang bị cảm biến siêu âm HC-SR04 phát hiện chướng ngại vật trong phạm vi 2-400cm, cảm biến hồng ngoại để tránh rơi xuống, và camera USB để cung cấp hình ảnh cho mô hình YOLO. Hệ thống truyền động sử dụng ba động cơ DC: hai động cơ GA25 cho bánh xe mecanum chính, một động cơ RS-555VC cho cơ cấu gắp bóng. Mạch BTS7960 điều khiển các động cơ với tín hiệu PWM từ ESP32.

IV. Quy trình hoạt động và kết quả thực hiện

Quy trình hoạt động của xe tự hành thu gom bóng tennis bao gồm các bước chính: nhận dạng bóng, điều khiển chuyển động, thu gom bóng, và trở về điểm xuất phát. Khi xe bắt đầu hoạt động, camera liên tục chụp hình ảnh và gửi đến Jetson Nano. Mô hình YOLOv8 phân tích ảnh để phát hiện bóng tennis, xác định tọa độ pixel và độ tin cậy. Jetson Nano tính toán vị trí bóng so với tâm camera, rồi gửi lệnh điều khiển qua UART đến ESP32. Vi điều khiển điều khiển các động cơ để xe quay hướng và tiến tới bóng. Khi gần đến bóng, cảm biến siêu âm và hồng ngoại giúp xe định vị chính xác và tránh chướng ngại vật. Sau khi bóng nằm trong vị trí tiếp xúc, cơ cấu gắp bóng kích hoạt để thu gom bóng vào bể chứa. Hệ thống đã được kiểm thử trên các sân tennis mô phỏng với kết quả đạt độ chính xác nhận dạng trên 95% và tốc độ xử lý 30 FPS (frames per second).

4.1. Quy trình nhận dạng và theo dõi bóng

Quá trình nhận dạng bóng tennis sử dụng mô hình YOLOv8 đã được huấn luyện trên tập dữ liệu COCO mở rộng với hình ảnh bóng tennis. Mỗi frame từ camera được xử lý qua mô hình, trả về bounding box chứa bóng với độ tin cậy (confidence score). Nếu độ tin cậy cao (>0.5), tọa độ bóng được tính toán và gửi đến hệ thống điều khiển. Lưu đồ giải thuật được tối ưu để đạt độ trễ thấp nhất.

4.2. Kết quả thực hiện và đánh giá

Xe tự hành đã hoàn thành thành công các bài kiểm thử trên sân tennis mô phỏng. Kết quả cho thấy độ chính xác nhận dạng đạt 95-97%, tốc độ xử lý 30 FPS ổn định, thời gian phản ứng dưới 200ms. Xe có thể di chuyển linh hoạt nhờ bánh mecanum, tránh chướng ngại vật hiệu quả, và thu gom bóng với tỷ lệ thành công 85-90%. Hệ thống hoạt động ổn định trong các điều kiện ánh sáng khác nhau.

11/12/2025

Trích đoạn nội dung tài liệu

Chương 1 Giới thiệu Sơ lược về đề tài, đưa ra mục tiêu, đối tượng, và phương pháp nghiên cứu liên quan đến đề tài. Chương 2 Cơ sở lý thuyết Tìm hiểu một số nghiên cứu liên quan đến đề tài. Đưa ra các khái niệm lý thuyết và các linh kiện và công nghệ cần sử dụng. Chương 3 Mô tả và thiết kế hệ Trình bày, giải thích nguyên lý hoạt động, sơ thống đồ khối, lưu đồ thuật toán và sơ đồ nguyên lý.

Quá trình chi tiết cách sử dụng các thành phần 4 của hệ thống. Chương 4 Kết quả và đánh giá Trình bày những gì đã đạt được từ quá trình thực hiện, đồng thời phân tích và đánh giá hiệu quả của hệ thống Chương 5 Kết luận và hướng Đưa ra ưu điểm, khuyết điểm từ kết quả thi phát triển công mạch và hướng phát triển đề tài. Bảng bố cục đồ án 5 CHƯƠNG 2. Tổng quan về xử lý ảnh và mô hình học sâu Python là một ngôn ngữ lập trình mạnh mẽ và dễ học, đặc biệt phù hợp cho các ứng dụng xử lý ảnh nhờ vào hệ sinh thái phong phú các thư viện mã nguồn mở.

Những thư viện này không chỉ cung cấp các công cụ tiện lợi để thực hiện các tác vụ cơ bản mà còn hỗ trợ những nhiệm vụ phức tạp như phân đoạn ảnh, nhận diện đối tượng, và xử lý thời gian thực. Ngôn ngữ Python Python là một trong những ngôn ngữ lập trình phổ biến nhất hiện nay, được biết đến với cú pháp đơn giản, dễ học và khả năng ứng dụng rộng rãi trong nhiều lĩnh vực. Python Ra đời vào năm 1991 bởi Guido van Rossum, Python nhanh chóng trở thành một công cụ đắc lực cho cả lập trình viên mới bắt đầu lẫn các chuyên gia. Đặc điểm nổi bật của Python: - Cú pháp dễ đọc và dễ viết: Python có cú pháp gần gũi với ngôn ngữ tự nhiên, giúp người mới học lập trình dễ dàng tiếp cận.

- Hỗ trợ đa nền tảng: Python có thể chạy trên hầu hết các hệ điều hành phổ biến như Windows, macOS, và Linux. - Thư viện phong phú: Với hàng ngàn thư viện mã nguồn mở, Python hỗ trợ tốt các lĩnh vực như xử lý dữ liệu, trí tuệ nhân tạo, phát triển web, xử lý ảnh, và nhiều ứng dụng khác. 6 - Cộng đồng lớn mạnh: Python có một cộng đồng người dùng rộng lớn, nơi chia sẻ tài nguyên, giải pháp và hỗ trợ cho mọi vấn đề lập trình. Deep Learning Những năm gần đây, AI - Artificial Intelligence (Trí Tuệ Nhân Tạo), và cụ thể hơn là Machine Learning (Máy Học) nổi lên như một minh chứng của cuộc cách mạng công nghiệp lần thứ tư (1 - động cơ hơi nước, 2 - năng lượng điện, 3 - công nghệ thông tin).

AI hiện diện trong mọi lĩnh vực của đời sống con người, từ kinh tế, giáo dục, y khoa cho đến những công việc nhà, giải trí hay thậm chí là trong quân sự. Những ứng dụng nổi bật trong việc phát triển AI đến từ nhiều lĩnh vực để giải quyết nhiều vấn đề khác nhau. Nhưng những đột phá phần nhiều đến từ Deep Learning (học sâu) - một mảng nhỏ đang mở rộng dần đến từng loại công việc, từ đơn giản đến phức tạp. Deep Learning đã giúp máy tính thực thi những việc tưởng chừng như không thể vào 15 năm trước: phân loại cả ngàn vật thể khác nhau trong các bức ảnh, tự tạo chú thích cho ảnh, bắt chước giọng nói và chữ viết của con người, giao tiếp với con người, hay thậm chí cả sáng tác văn, phim, ảnh, âm nhạc.

Mối quan hệ giữ AI, ML và DL Mạng thần kinh nhân tạo trong Deep Learning được xây dựng để mô phỏng khả năng tư duy của bộ não con người. Cách thức hoạt động như sau: 7 - Một mạng nơ-ron bao gồm nhiều lớp (layer) khác nhau, càng nhiều lớp thì mạng sẽ càng “sâu”. Trong mỗi lớp là các node (nút mạng) và được liên kết với các lớp khác bên cạnh. - Mỗi kết nối giữa các nút sẽ có một trọng số tương ứng, trọng số càng cao thì mức độ ảnh hưởng của kết nối này đến mạng nơ-ron càng lớn.

- Mỗi nơ-ron sẽ có một chức năng kích hoạt, về cơ bản chịu trách nhiệm "chuẩn hóa" đầu ra từ nơ-ron này. - Dữ liệu được người dùng nhập vào mạng thần kinh đi qua tất cả các lớp và trả về kết quả ở layer cuối cùng, được gọi là lớp đầu ra (output layer). - Trong quá trình đào tạo mô hình mạng nơ-ron, các trọng số sẽ được thay đổi và nhiệm vụ của mô hình là tìm tập giá trị của các trọng số sao cho phán đoán đúng nhất. Các hệ thống Deep Learning yêu cầu phần cứng rất mạnh để có thể xử lý lượng lớn dữ liệu và thực hiện các phép tính phức tạp.

Nhiều mô hình Deep Learning có thể mất hàng tuần hoặc thậm chí hàng tháng để triển khai trên phần cứng tiên tiến nhất hiện nay. Mô hình nhận dạng vật thể YOLO 2. YOLO là gì YOLO, hay “You Only Look Once,” là một thuật toán phát hiện đối tượng trong thị giác máy tính. Điểm đặc biệt của YOLO nằm ở cách nó đưa ra dự đoán về các hộp giới hạn (bounding box) và xác suất của đối tượng trong một lần truyền hình ảnh duy nhất.

YOLO nhận dạng các đối tượng Trước đây, các thuật toán phát hiện đối tượng thường sử dụng trình phân loại đã đào tạo sẵn để xác định đối tượng sau khi đã tạo ra các khu vực quan tâm có thể có. Tuy nhiên, YOLO làm khác đi bằng cách đưa ra dự đoán toàn bộ quá trình trong một lần chạy, từ việc xác định vị trí của đối tượng đến việc phân loại chúng. Với cách tiếp cận đột phá này, YOLO đã đạt được sự cải tiến đáng kể và vượt trội so với các thuật toán phát hiện đối tượng khác, đặc biệt trong việc đảm bảo tính thời gian thực. Các thuật toán phát hiện đối tượng trước đây, như Faster RCNN, thường hoạt động theo các bước gồm việc xác định khu vực quan tâm và sau đó tiến hành phân loại trên từng khu vực riêng biệt.

Trong khi đó, YOLO hoàn tất tất cả các dự đoán chỉ trong một lần chạy, giúp nó đạt được hiệu quả tính toán cao. Với sự đột phá của YOLO, đã có nhiều phiên bản mới và cải tiến được giới thiệu kể từ lần ra mắt đầu tiên vào năm 2015, mang lại sự phát triển đáng kể cho lĩnh vực phát hiện đối tượng. Hãy cùng điểm qua các mốc thời gian thể hiện sự tiến bộ của YOLO trong những năm qua. Cơ chế hoạt động của YOLO Mô hình YOLO được đào tạo trước với ImageNet, một tập dữ liệu chứa nhiều hình ảnh khác nhau.

Sau đó, nó được chuyển đổi để thực hiện phát hiện đối tượng. Lớp kết nối đầy đủ cuối cùng của YOLO thực hiện dự đoán về xác suất của lớp và tọa độ của hộp giới hạn. Kiến trúc YOLO và cơ chế hoạt động YOLO chia hình ảnh đầu vào thành một lưới ô lưới có kích thước S x S. Mỗi ô lưới có nhiệm vụ phát hiện đối tượng nếu tâm của đối tượng nằm trong ô đó.

Mỗi ô lưới dự đoán B hộp giới hạn và các điểm tin cậy cho mỗi hộp đó. Các điểm tin cậy thể hiện độ tin cậy của mô hình rằng một hộp chứa một đối tượng và mức độ chính xác của dự đoán đó. YOLO dự đoán nhiều hộp giới hạn trên mỗi ô lưới và sau đó chỉ lựa chọn hộp giới hạn dựa trên chỉ số IOU (Intersection over Union) cao nhất với thực tế. Điều này tạo ra sự chuyên môn hóa giữa các dự đoán hộp giới hạn, giúp cải thiện tổng thể độ chính xác.

NMS (non-maximum suppression) là một kỹ thuật quan trọng trong YOLO, được sử dụng để loại bỏ các hộp giới hạn dư thừa hoặc không chính xác sau khi các dự đoán đã được thực hiện. NMS giúp xác định hộp giới hạn duy nhất cho mỗi đối tượng trong hình ảnh, cải thiện độ chính xác và hiệu quả của việc phát hiện đối tượng. Các phiên bản YOLO 2. Tại sao sử dụng YOLOv8 Khác với các phiên bản trước, YOLOv8 tích hợp cơ chế không dùng điểm neo (anchor-free) với phần đầu Ultralytics được tách riêng, sử dụng các kiến trúc backbone và neck tiên tiến, đồng thời tối ưu hóa sự cân bằng giữa độ chính xác và tốc độ, làm cho nó trở thành lựa chọn lý tưởng cho nhiều ứng dụng khác nhau.

Do đó, YOLOv8 có thể hỗ trợ toàn bộ các tác vụ vision AI, bao gồm phát hiện đối tượng, phân đoạn, ước tính tư thế, theo dõi và phân loại. Tính đa dạng này cho phép người dùng tận dụng khả năng của YOLOv8 trong nhiều ứng dụng và lĩnh vực khác nhau - Tốc độ: YOLOv8 được đánh giá là nhanh chóng và thời gian phản hồi thấp, giúp xử lý các tác vụ nhận diện đối tượng và phân-segment ảnh trong thời gian thực. - Độ chính xác: YOLOv8 được xây dựng trên các tiến bộ về học sâu và thị giác máy tính, đảm bảo độ chính xác cao trong việc nhận diện đối tượng. - Sự linh hoạt: YOLOv8 hỗ trợ việc nhận diện đối tượng và phân-segment trên cả GPU và CPU, tận dụng các công nghệ như TensorRT của Nvidia và OpenVino của Intel.

So sánh độ chính xác và hiệu suất của các mô hình YOLO 2. Các phiên bản của mô hình YOLOv8 YOLOv8 cung cấp nhiều phiên bản mô hình khác nhau, phù hợp với từng yêu cầu cụ thể về tốc độ và độ chính xác. Ví dụ: - YOLOv8n (Nano): Phiên bản nhỏ gọn, nhanh nhất, phù hợp cho các ứng dụng yêu cầu thời gian xử lý nhanh như trên các thiết bị nhúng. - YOLOv8s (Small), YOLOv8m (Medium): Phiên bản cân bằng giữa tốc độ và độ chính xác, thích hợp cho các bài toán vừa và nhỏ.

- YOLOv8l (Large), YOLOv8x (Extra Large): Phiên bản lớn hơn, phù hợp cho các ứng dụng yêu cầu độ chính xác cao nhưng có thể chấp nhận tốc độ xử lý chậm hơn. So sánh Performance của mô hình YOLOv8 Detection được train trên tập COCO 2. Thư viện Opencv Thị giác máy tính (Computer Vision) đã trở thành một phần thiết yếu của công nghệ hiện đại, cho phép máy tính phân tích và hiểu thế giới hình ảnh. OpenCV(Open 12 Source Computer Vision Library), được phát triển lần đầu vào năm 2000 bởi Intel, một thư viện 13 nguồn mở, là một trong những công cụ phổ biến nhất để xử lý hình ảnh và thị giác máy tính.

Opencv cung cấp một bộ chức năng toàn diện cho phép các nhà phát triển xây dựng và triển khai các ứng dụng trong các lĩnh vực khác nhau, chẳng hạn như người máy, ô tô và bảo mật. Thư viện OpenCV Python 2.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ