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. |
|||||