Instructables
loading
loading
Picture of Autonomous Foosball Table
foosball%20project.jpg
demo_pic4.jpg
The main project goal was to complete a working prototype for an Autonomous Foosball Table (AFT), where a human player faces a robotic opponent. From the human perspective of the game, the foosball table is very similar to a regular table. The player(s) on the human side are controlled via a series of four handles that can be moved in and out and rotated to move the players linearly across the playing field and to kick the ball towards the opponent's goal. The autonomous side consists of:

> Eight servo motors used to manipulate the handles of the foosball table
> A microcontroller to activate the servo motors and communicate with the computer
> An over-head mounted webcam to track the ball and players
> A computer to process the webcam images, implement artificial intelligence, and communicate with the microcontroller

Budget constraints for the prototype slowed the project some and kept its functionality to a minimum. Proper motors to move the players at a competitive speed were found to be very expensive, so lower-end servos had to be used.

While this particular implementation was limited by cost and time, a larger gear ratio would yield a faster playing robot, although doing so would cost more than the $500 base price (price without power supply & computer).


 
Remove these adsRemove these ads by Signing Up

Step 1: Assembling the motor control board

Picture of Assembling the motor control board
demo_pic2.jpg
servo pcb.jpg
demo_pic1.jpg
The attached images are a full circuit schematic as well as a picture of the final product for the motor control board. All of these required parts may be purchased at most major online electronics stores (including Digi-Key and Mouser. As a side note, all of the parts used here were through hole, and thus, the parts may be assembled on a protoboard/breadboard, or using the attached PCB design. A much smaller package could be created by using a number of surface mount parts.

When we implemented, the design, we split the motor controls into 2 circuits, though there is no advantage to doing so other than any particular cabling scheme used. The small blue board implements the PWM control circuitry, which is basically just a clocked PIC-12F with some specialized code.
1-40 of 42Next »
powercow2443 years ago
i am awesome at foosball!
in a championship game series, I won the most matches but lost the final games, so I lost.
123ralph1234 years ago
hello
nuckthebuck4 years ago
I always loved autonomous objects...especially competitive ones. some other organizations that have done autonomous objects are FIRST ROBOTICS CHAMPIONSHIPS, and DARPA. check these out and fall in love... or look at the popsci.com for amazing news about technology. i am a electrical engineer from the first robotics championships. currently a student soon will mentor other students in programming, wiring, and electronics. and I hope to join the DARPA teams someday

jerkey4 years ago
This is a really cool instructable. Thank you for showing people how to do something so advanced. With understanding of modern technology, anything is possible and we can begin solving the problems of the world!
Shut Up Now7 years ago
very nice work. this is a proof of concept and someday you may be able to use a system that could beat a descent human opponent. maybe strong magnets placed in a certain order of polarity at set distances inside the poles of the foosball table could be paired with a computer controlled electromagnet in order to move the poles. ur reply to this will probabally make this idea look stupid.. oh well
edit: in my above post it says computer controlled magnet, by that i mean a set of magnets for each pole.
no there are only magnets with both poles, north and south. unipolar magnets have so far not been discovered.
dnicky22886 years ago
Let me be the first to say that your project is so cool! I am quite a good programmer myself, but this is kind of advanced which is very interesting to me. I have a web cam, had c++ Programming before, and have a Foosball table. I am complete! I can make my own one now! Thanks for the help. I'm sure "Eric Wilhelm" will love to hear about this. I will spread the word for you. Again this is really awesome!
iansilv6 years ago
Could the author elaborate on what gears / motors / other parts could be improved on if the budget fo rthe project could be exceeded? For example,w hat model of motor to use for a faster player movement, or what model of server will do the full 180 degree kick?
ander6 years ago
My gosh, this is great—and how generous of you to go to the considerable trouble to make an Instructable so you could share it with everybody. To those of you complaining that the AI can be improved—well, build one, improve it, and post about it here! (How do you spell "collaboration"?)
can you make it track a person???
ultrauber6 years ago
That's quite a mind-boggling schematic, especially since I can't even solder.
YakAttack6 years ago
Excellent job guys! Vision with mechanics always presents extra trouble! I worked on a similiar project myself with some classmates in college:
RoboPoolTable
Nyanman6 years ago
nice!!! but it seems to lag a little.
Great Job
jtkawasaki87 years ago
i give u major props for makeing that
=SMART=7 years ago
wow looks very complicated but it is definitely worth it coz it sooo cool!
etarr7 years ago
I think there's a typo on this page. You said something about thanking the other 'three' members of your team.
peasant54 etarr7 years ago
"> And of course, the other three members of my team, of which, none of this would have been possible: Michael Aeberhard, Evan Tarr, and Nardis Walker." No typo. the three members are listed clearly, I don't get what you mean. The three first thanked persons were not in the team.
eski (author)  peasant547 years ago
etarr was one of the members on the team (evan tarr). his comment was a joke, as one of the members did a bit less than the others ;)
biolethal7 years ago
Uhh... what happened to the video? It says that the video isnt available anymore.
aki123457 years ago
can that program be used to track anything? if yes, how do I compile it, or how do I use it? I don't want the output part, just the tracking
awsome7 years ago
This is impressive!
fukenfooser7 years ago
Very nice work! Getting a robot to even hit a ball is impressive. I've seen many people that couldn't do that! But, being a Foos junkie, I'm pretty sure any players could skunk it 9-0. For a real tracking system vision wouldn't work, real shots can not be seen, you have to know where it has to go and race it or block the long leaving the short or middle wide open. But, as I said, Impressive work!
golfball7 years ago
Cool stuff the amount of work you have put in to it shows
furcino7 years ago
Very nice of you to release the source, I look forward to reading it. Well, I understand that it can't work too fast with a just a webcam locating the ball. Most of these use infrared.
what does this have to do with a laser?
Charl7 years ago
Well done- Look awesome, Could be a bit smother with a faster camera. :-)
andrew1017 years ago
sweet
KentsOkay7 years ago
Awesome! Now if only I had the stuff to build it...
Doctor What7 years ago
Looks fun, but I don't have the money for such a project, maybe when I am slightly older, and have sustainable employment (and my parents don't make me put my money earned in the bank).
eski (author) 7 years ago
@kkinney:
The robot is very limited by the mechanical design, but it's still pretty intimidating playing against it. It does a pretty good job defensively, as the software attempts to cut off the angle to the goal. Unfortunately, the offensive capabilities are rather unimpressive. The kicks are a little too slow and inaccurate.

@jcampbell:
As exciting as robot-on-robot action sounds, it would be pretty silly to have 2 of the same robots playing against eachother. I think it would be interesting, however, to make a competition like robocup, but with foosball
kkinney7 years ago
Spiff! How well does it do against a moderate carbon based player?
jcampbell7 years ago
So when do you build a second unit so two machines can play against each other? Sounds like a setting for some fun research...
Bor7 years ago
Is there a way to run the software on a Mac?
eski (author)  Bor7 years ago
The software is written in Java, whic is operating system independent. However, it utilizes the Java Media Framework and the Java Serial Communications API. Anytime you use something like that for hardware controls, it tends to get more OS-dependent. We didn't test the software on a indows PC or a Mac because we had no reason to. Some software changes may be necessary for a Mac implementation, though they are Unix-based, so it may not be too significant.
eski (author) 7 years ago
We came up with the idea in the first week or so of the semester and announced our intentions by the first of September. We did a demo of the final project December 8. So a about 3 months from concept to implementation with a 4 person team. There was a llloooottt of writing for the course though, so I would say only about 70% of our time was doing technical stuff.
sardines4547 years ago
that's incredible. how long did it take you to come up with idea and make it?
I heard about something like this at an MSOE camp this summer. Really Cool!
Bor7 years ago
it's awesome!
1-40 of 42Next »