Air Hockey Bot

A robot capable of playing air hockey

Similar projects worth following
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.

  • CAD is done

    golfballs3201/31/2020 at 06:34 0 comments

    I've finished the cad mock up. Here is a render.

    It's a pretty standard xy movement gantry inspired by the eleksmaker a3 laser cutter. It's missing a few bits, namely feet, belt holders, and some screws. The circular part on the x axis gantry is a crude linear bearing that will hold a rod which moves the paddle. This allows gravity to press on the paddle to ensure good contact. If the weight of the axis is too much for the screws, I can always drill holes and add brackets. All I have left to do for the design is to figure out a camera mounting system and wire routing.

  • OpenCV demo

    golfballs3201/28/2020 at 05:00 0 comments

    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.

  • Initial testing and mock-up

    golfballs3201/19/2020 at 01:34 0 comments

    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.

    More to come.

View all 3 project logs

Enjoy this project?



Dan Maloney wrote 01/14/2020 at 17:44 point

Those pucks can get to moving really fast. Think a Pi-based vision system will have the horsepower? I mean I'd start there for sure since the cost is essentially nothing, but I've seen some air hockey games get really exciting - particularly when playing with my kids...

  Are you sure? yes | no

golfballs32 wrote 01/14/2020 at 18:07 point

inital testing shows that we have plenty enough data with a 60fps camera, and still enough with 30fps. Cursory research leads me to believe that the pi has enough horses. The main consumer of processor time would be the image recognition. Prediction (simple vector math) and arm movement are trivial. If, however, the pi does not have enough horsepower, I have plans to offload the more real time elements (prediction and arm movement) to a uC.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates