Project

# Title Team Members TA Documents Sponsor
13 Tennis Ball Collector
Mohammed Alnasser
Yousef Khojah
Zeyad AL Ruwaily
Junyan Bai
**# Tennis Ball Collector**

**Team Members:**

Mohammed Alnasser (ma138)

Yousef Khojah (yousefk2)

Zeyad Alruwaily (zeyadta2)

**Problem:**

A lot of time during tennis practice is spent picking up tennis balls instead of actually playing. After a drill, players or coaches usually have to walk around the court and collect the balls one by one. This becomes especially inconvenient when a coach is running a practice alone or when there are multiple courts being used.
There are already some ball collection options, such as manual ball hoppers, but these still require someone to operate them. Autonomous ball-collecting robots also exist, but they can be expensive. Our goal is to build a smaller and more affordable robot that can collect tennis balls on its own and reduce the amount of time spent picking them up.

**Solution:**

We will build a small battery-powered robot that can move around a tennis court, detect tennis balls, and collect them into an onboard hopper. The robot will use a camera to locate the balls and help identify the court boundaries. A microcontroller will use this information, along with data from sensors on the robot, to control the motors and decide where the robot should move.
When the robot does not see a ball, it will systematically move across the court to search for them. When it detects a ball, it will drive toward it and use a roller mechanism to pull the ball into the hopper before continuing its search.
The robot will also have sensors for detecting obstacles and the court boundaries. A wireless connection will allow the user to start and stop the robot and view basic information such as its battery level and number of collected balls.
The project will be divided into three main areas: vision and navigation, power and drive, and ball collection and storage.

**Main Components:**

**Vision and Navigation**

A camera with onboard image processing will be used to detect tennis balls and identify the court boundaries. The STM32 microcontroller will use this information along with an IMU and wheel encoders to control the robot's movement.
The robot will follow a back-and-forth search pattern to cover the court. When a ball is detected, it will temporarily leave its search path, collect the ball, and then continue searching.
We will also use separate sensors to detect the court boundary and help prevent the robot from leaving the designated area. This gives us a backup in case the camera does not correctly detect a boundary.

**Power, Drive, and Communication**

A rechargeable battery will provide power to the robot. Our custom PCB will contain the main power regulation, motor drivers, and connections between the different sensors and the microcontroller.
The robot will use two independently controlled drive motors, allowing it to move forward, turn, and adjust its direction. Additional distance sensors and physical bumpers will be used to detect obstacles and stop the robot if necessary.
A wireless module will provide a simple interface for starting and stopping the robot and viewing information about its current status.

**Ball Collection and Storage**

A motorized roller at the front of the robot will collect tennis balls from the ground and move them into a storage hopper. An infrared sensor will detect balls as they enter the hopper so that the system can keep track of how many balls have been collected.
The hopper will also include a sensor to detect when it is full. Once the hopper reaches its capacity, the robot will stop collecting and can return to a designated location.

**Criteria for Success:**

The robot will be tested on a marked indoor test area using standard tennis balls. The following measurements will be used to evaluate the system:

1. Ball collection: Number and percentage of tennis balls successfully collected during an autonomous run.
2. Search coverage: Percentage of the test area covered by the robot during a collection run.
3. Boundary detection: Number of times the robot crosses or approaches the designated boundary.
4. Intake performance: Number of successful ball pickups compared with the number of pickup attempts.
5. Ball counting: Accuracy of the system's ball count compared with the actual number of balls collected.
6. User interface: Response time of start/stop commands and accuracy of the information displayed to the user.

Automatic Water Bottle Filler

Priyank Jain, Jakub Migus, Abby Mohan

Automatic Water Bottle Filler

Featured Project

# Automatic Water Bottle Filler

Team Members:

- Priyank Jain (priyank3)

- Abby Mohan (ammohan2)

- Jakub Migus (jmigus2)

# Problem

In normal liquid dispensing and water bottle filling systems, the process requires the user’s attention and constant manual activation of the device. This may require the holding of a button, the action of pushing the bottle against a sensor for a specific amount of time, or holding the bottle in front of a sensor until it is full. If the user gets distracted or is unable to provide that attention (blindness or lack of motor function), liquid may spill or the bottle may not be filled enough.

# Solution

Our goal with this project is to make an automatic water bottle filling station. Our device senses when a water bottle is placed underneath it, begins filling the bottle with water once a start button is pressed, determines when the bottle is full and shuts off automatically. After placing the bottle on a platform and pressing a button, the user can walk away knowing their bottle will be filled accurately.

# Solution Components

## Sensing Component

This subsystem utilizes multiple sensors including an ultrasonic sensor to measure the water level and a light-based sensor to determine the height of the bottle.

## Control

This subsystem connects the sensors to the water system. It receives data from the sensors, compares the water level height to the height of the water bottle, then decides to either begin, continue, or stop dispensing water.

## Display/Interface System

An LCD display will show instructions for the user and will display simple messages. A few push buttons will be included for manual filling and selection of desired amount of liquid (ex. Half bottle, full bottle)

## Water System

This subsystem utilizes a water tank attached to a pump and tubing, which transport water to the dispenser.

# Criterion for Success

The device…

- detects a water bottle and accurately measures the height

- monitors the water level in the bottle

- stops filling when a desired water level is reached

If there is no bottle/ the bottle is removed, the device stops filling water.

Project Videos