Automated Foosball - Hardware advice for crazy speeds

Thread Starter

CharlesFr

Joined Jul 11, 2017
4
Hi All,

I've just started a project which initially involves automating the goal keeper on a Foosball table. It took us little time to write the software (Openframeworks + openCv) however the hardware is proving challenging and I would love to hear some of your advice.

Let's start with some numbers; given that the max speed for the ball is 10m/s and that the striker is 30cm away from the goal, this means for the best shot we need to achieve a response time of 0.030 seconds, or 30ms.

The software was coded in a way that the keeper always stays aligned with the ball. Therefore in the worst case scenario, if the ball is kicked at a maximum 20degree angle then the keeper has to travel 5cm within 30ms or a speed of 166cm/s.

Are these kind of response time/speeds realistic, if so can someone point me in the right direction? I've currently got a servo hooked up the Arduino (standard firmata) which is controlled by Openframeworks but it seems awfully slow.

Here's the current setup setup I've got so far:

I have a belt driven linear actuator powered by a nema 22 which I'll have full stepping at 8000 pulses/s giving me a max speed of 24m/s, hypothetically, I'd have to increase the number of teeth to 140 to achieve the target 166cm/s.

I appreciate this is a lot of info, but my electronics/motors experience is fairly limited and your input is much appreciated!

Thanks,
Charles

Belt and mounts not shown but the servo will be fixed to the rod and to the sliding guide rail. The belt will loop all the way round.
 

Sensacell

Joined Jun 19, 2012
3,432
You need to get a handle on the physics first, otherwise it's going to be a disappointing waste of time and money.

Determine the mass and rotational inertia of the load first.
Then analyze the required movements to determine the required accelerations.
Then you can calculate the peak power and speed required from your actuators.

THEN design a mechanism.

I have a feeling you will be shocked by the number you come up with.
You might consider changing the design of the play-rod to make it substantially lighter, this is where all your power is going to get wasted.

Foosball tables are designed to not break when drunken alpha males wrench on them, heavy components are mandated by this design parameter.
 

Thread Starter

CharlesFr

Joined Jul 11, 2017
4
Thanks for your input Sensacell, I've been trying to put some numbers to the my requirement but as you've pointed out I haven't got to the bottom of it. In order for me to do so would you mind clarifying the first statement:

Determine the mass and rotational inertia of the load first.

Given the total mass of my moving parts is 250gr. How does one figure out the inertia? I assume it would also comprise of the friction of the belt system and of the rod against the bushings?

Thanks,
Charles

As a brief update, I've got the initial version working. Needless to say it's hopelessly slow.
 

Sensacell

Joined Jun 19, 2012
3,432
The rotational inertia can be measured without too much difficulty.
One way would be the rotational pendulum method:

Remove the Foose ball rod assembly, hang it from a torsion spring, (with all players attached of course) measure the period of oscillation and the spring constant- from this you can calculate the moment of inertia.

You can measure the bushing friction, both linear and rotary, with a simple spring scale. Note that friction and inertia are not related.

Figure out the torque and force required to move your bare load first, before adding the rest of the hardware.
For the sake of simple math, model the movements as simple trapezoids, this will get you close enough to start picking mechanical hardware.

Consider using a splined shaft to rotate the bar, with a stationary drive motor.
This configuration doesn't add the mass of the rotation motor to the linear stage.

Motion control hardware gets exponentially more expensive when you increase the required performance- hope you have money to spend...
 
Last edited:

MrChips

Joined Oct 2, 2009
30,720
Without examining the numbers I would say off the top of my head that your system is too slow on both counts:

1) hardware
2) software

For higher speeds, you would need a linear motor and that can become very expensive. Your next bet would be to salvage the pen translation mechanism from an old X-Y plotter. You would also want to use a DC motor instead of a stepping motor.

Arduino would be painfully slow. You need a faster processor running either ASM or optimized C code.
 
Not sure this helps, but I was impressed by how many people are getting in to this.

For example, these folks. From the blurb, "The EPFL said the motors are precise to less than a millimeter and can generate 9g in acceleration, moving faster than their human opponent."

The ones that I looked at also use a camera for tracking, which kind of surprised me I guess, because I didn't think that that would be fast enough - but then I didn't give any thought at all to the numbers (which has already been rightfully pointed out as a starting point).

Another here and here and much more turned up by searching.

There may be some value in looking into these projects further and even contact the folks to swap ideas and get input.

Certainly, we are not far from robotic Foosball championships.
 

Thread Starter

CharlesFr

Joined Jul 11, 2017
4
All the parts included in the linear movement weight approximately 400gr.
In the worst case scenario I need them to move 5cm within 30ms, or a speed of 166cm/s which equates to a g-force of 5.64.

Based on these figures, can someone point me in the direction of an appropriate dc motor?

@Raymond Genovese Thanks for sharing, I've been through and read all the papers on past projects. EPFL's is certainly the most advanced one out there, unfortunately they haven't released any technical information.

@MrChips I can confirm you're right on both points but I'm working on it. I'm not familiar with ASM, do you have a link you can share?

@Sensacell Much appreciated, thanks for elaborating.
 

Thread Starter

CharlesFr

Joined Jul 11, 2017
4
Having identified my requirements I just wanted to post a brief update:

Mass of moving parts: 2kg
Distance travelled: 200 to 400 mm
Acceleration: 90 m/s2
Accuracy: ±0.14 mm
Peak power: 200N

I'm currently in the process of obtaining two quotes from Faulhaber (rotary motor) and Linmot (Linear motors) for an appropriate drive system. However, I'd be interested to hear if anyone can think of a way to achieve the above with a more "DIY" and cheaper method?

For future reference, this paper does a great job at going through the requirements for an automated foosball table. http://www.mate.tue.nl/mate/pdfs/9139.pdf
 
Last edited:
Top