top of page

A Passion Avenue For Science


Tennis, on its surface, seems quite explanatory yet the experience of playing in a professional level and a casual level has significant quality of life differences. Unlike the Wimbledon, 99% of tennis players are casual players without the advantage of trained ballboys. Thus, in a match, every single point requires time to get another ball from the basket, wasting a large amount of time and energy. On average, a point would take 20 seconds for average tennis players. If the players are required to stop and take another ball from a basket or pick another ball from a basket or pick the ball up, the same amount of time a round could be played is wasted. Although partial solutions such as simply getting more balls to reduce the amount of times needed to pick up balls are considered, the players without ballboys still need to go all the way to the basket and take them.


In this project, Marcell and his mentors were making a ball distributor, ball net and create computer program to control the ball distributor robot.

Data collection

One of the most important things in the program to make the robot functional is actually the flow of data. What starts as a visual image taken from the camera is sent to the jetson to be transferred into information that can be processed and filtered. This data that is processed and filtered into instructions is then passed on to the esp, allowing it to read the instruction and carry out the movements. The same applies to the launching of the balls. It starts from the camera but the filtered information is put through a set of conditionals in the Jetson to send the signal to launch. The esp receives this and sends the final data to the motors to move.


In order to achieve the ability for body tracking, the project uses the main language of python to function. Python is a popular high-level programming language that is widely used in machine learning due to its simplicity, versatility, and powerful libraries. Python provides a simple syntax that makes it easy to learn and use, and it also has a rich ecosystem of libraries and frameworks that support machine learning. Developers can use popular libraries such as NumPy, Pandas, Scikit-learn, TensorFlow, and Keras to build and train machine learning models for a wide range of tasks. Python's ability to integrate with other languages and tools also makes it a high-productivity language for machine learning projects. Overall, Python's simplicity, rich library ecosystem, and open-source nature make it a popular choice for machine learning practitioners and researchers. In our specific project, the libraries mainly used are mediapipe and Opencv.


As we have tested the robot, it can be said that it successfully tracks the human, launches the ball and recognizes human signals yet it still isn’t without its own shortcomings. First of all, many quality of life improvements must still be implemented into the robot in order to increase the usability of it. These range from the processing time and power of the ball launcher, occasional errors with recognizing the launching signal and also time wasted picking up stray balls that does not go into the net. In the future, design of the robot will also need to be refurnished to give a better aesthetic and more protection for the launcher. All in all, the robot has provided proof that time and energy can indeed be efficiently saved with the application of modern technology into the classical game of tennis, providing vast benefits to casual players in a normal court. We believe that regardless of what it is in the world, technology is an ever-developing sector that can improve not just healthcare or industrial works, but instead the experience of any activity, new or old.

In this work, Marcell attempted to created a device that capable to increase the efficiency of playing tennis in between points.

Application of Machine Learning Towards Tennis to Reduce Ball Distribution Inefficiency


bottom of page