Name | NetID | Course |
---|---|---|
Ethan Zhang | ethanz2 | 110 |
Albert Chen | albertc6 | 110 |
Jake Xiong | yuangx2 | 110 |
Project Proposal
Introduction
The objective of our project is to construct and program a physical pong game in which two autonomous ‘robots’ at either end of the pre-built arena move side-to-side, deflecting a ball back and forth like the classic computer game. The goal is that the robots will be able to indefinitely bounce the ball back and forth without any human input. Our project’s primary function is being entertaining to watch.
We brainstormed and researched the feasibility of several different types of sensing methods and setups, such as ultrasonic sensors (would interfere with each other and don’t work well on spheres) and touch sensors (might not be sensitive enough). We ultimately decided on what was both likely to work while being reasonable to construct and execute.
We couldn’t find any examples of project exactly like ours; most results were very high-tech ping pong robots that could play humans in 3-dimensional table tennis. Obviously this would be much too difficult so we decided to scale our project down in both size and reduce it to 2-dimensional pong. While our project is more for entertainment/fun than any particular function, we hope that through the process of designing and constructing it we can learn many relevant electronics and teamwork skills.
Design Details
We will rely on lasers and receiver modules on both sides parallel to the length of the arena, which communicates the current latitude of the ball to either Arduino located on each robot. Since the ball located in the arena will block at least one receiver module from its respective laser as it is moving around, we will direct both of the robots to move to that respective location. Since the robots will only be under guidance of the laser, no prediction algorithm will be necessary.The robots will be powered by a small DC motor connected to 3-4 pushing plates that constantly rotate in order to hit the ball back. This simplification allows us to not worry about the timing of when to activate the pushing plates when the ball rolls near the robot. Finally, each robot will be attached to a track rather than on wheels for movement. Since there may be sharp direction changes as the ball bounces off the walls of the arena, relying on a track to change direction will be much more consistent compared to the traditional wheel drive.Initial Parts List1x Arduino Mega2x motor drivers for Arduino~10x pairs of small lasers and corresponding receiver modules2x small belt and sprockets sets (like those found on a 3d printer)2x motors to drive the belt/sprocket2x small DC motors (with gearbox) for paddlesVarious ⅛” - ¼” plywood sheetsPlastic balls (table tennis balls)Wood glue/screws
New Parts List
- Raspberry pi
- Webcam
- Timing belt & sprockets
- Stepper motors
- DC motors with gearbox
- Raspberry pi stepper motor controller
Possible Challenges
Physically building the arena and belt system such that the robots attached to the belts will be able to move side-to-side with enough precision and speed may prove to be difficult, depending on how high of a velocity the paddle will hit the ball.
Constructing the robot so that it will not interfere with lasers and receiver modules while operating DC motors to spin the pushing plates.
References