Tennis Ball Detector

_images/tennisdetect.png

Videos:

Reports: Download the concatenated reports.

Code: View the code repository on GitHub.

Robot(s) Used:

  • JetHexa (Hiwonder)

Synopsis

In this project, I utilized computer vision, k-means clustering, and data filtering techniques to identify tennis balls and face the closest one. This project was developed on Hiwonder’s JetHexa platform and marks both my first ROS project and my first foray into developing OOP-style classes.

Through the completion of this project, I learned:

  • ROS Package Development

  • Object-Oriented Programming Concepts (ex. encapsulation, message passing, etc.)

  • Multi-system Design

  • Basic Computer Vision

  • K-Means Clustering [1]

  • Data filtering techniques (ex. use of discrete-derivatives for density estimation)

This project is also the ancestor to my Master’s Thesis, and was a platform for immense growth as a software engineer, a roboticist, and a project manager.

_images/tw-tennis-comms.png

The basic communication structure of the tennis ball detection program.

Footnotes