A robot capable of playing air hockey. An overhead construct similar to a 2d plotter will move the paddle to intercept the puck. A raspberry pi and camera will be used to detect the puck and it's movement, and then compute the action taken by the machine.
A robot to play airhockey. Image data will be processed by a raspberry pi and commands sent to stepper motors to move the paddle to hit the puck away.
Here's a quick demo of the image recognition. The video was taken from a smartphone in 1080p 60fps. The framerate is reduced due to recording, cropping, etc. As you can see the tracking cuts out at points, but that is because the color of the puck drifts out of the range. We're looking into different color pucks to stop this. We ran a quick demo on a raspberry pi, and it ran well. It did chug a little bit, but that is due to real time displaying. More to come, currently working on the mechanical part.
I've started working on the specific design of the air-hockey bot, and have come to share progress.
The first concern that was raised during research was about the frame rate of the camera. Sources said that you would need at least 120 fps to capture the fast moving pucks. After some testing with a 60fps camera (video to come later), I determined that 60fps is more than adequate. In fact, it may even work with 30fps. I have the camera, but my sd card is broken, so I have not been able to test on the pi yet. More on the software later.
Onto the hardware. I've spent the last while researching various cnc machines, plotters, laser cutters, etc. I've decided to roughly replicate the eleksmaker laser cutter. It is cheap and can move relatively quickly with little weight, which is pretty much what I need. Emphasis on cheap, though, I am on a college student budget. Here is the beginnings of a cad design for the stationary assembly. It is made from 2020 aluminum profile, though I think I am going to switch to 2040. One key aspect of this design is that it needs to be able to move, as I do not own the pool table so I can't bolt it down.
The Y axis gantry will ride on rollers which ride on the x axis struts. Stepper motors with belts will drive both axis.