# Ball Thrower Analysis

July 15, 2015

Ball Thrower

The 2 roller design

The 3 roller design

Assumptions

Analysis

Case 1: Ball thrown with no spin.  A Knuckleball

Case 2: Ball is not thrown but stays between rollers and Top-Spins

Case 3: Ball is thrown with a Top-Spin

Case 4: Ball stays between rollers and Side-Spins around a vertical axis.

Case 5: Ball is thrown with Side-spin

Case 6: Ball spins on a axis slanted at an arbitrary angle

Case 7: Ball is thrown with arbitrary spin

Vector Analysis

The General 3 D case

Conclusion

The Robotics Team discussed building a ball throwing robot.  We studied a 2 roller tennis ball pitching machine and felt that we could do better.

## The 2 roller design

Ball Throwers traditionally follow the 2 Roller design as shown below.

The rollers turn in "opposite" directions and impel the ball out of the page towards you.  The speed of the ball can be controlled by controlling the spin rate of the rollers.

The blue arrows indicate the spin axis of the rollers.  To visualize the spin, point your right thumb in the direction of the blue arrow as in the picture below.  Your other 4 fingers curl in the direction of the spin.

We can also cause the ball to spin by having the two rollers spin at different speeds.  In the figure on the left, the ball can be given a "top spin" by making the upper roller spin faster.  For a "back spin", the lower roller should spin faster.  Lastly, we can tilt the spin axis of the ball by tilting the entire mechanism, as shown in the figure on the right.  The tilt angle can be varied and the ball can be spun sideways.

However, tilting the mechanism is clunky and the goal of this note is to analyze a more elegant design.

## The 3 roller design

The "Flux Capacitor" ball thrower uses 3 fixed rollers to impel a ball.  The velocity and spin on the ball can be adjusted by varying the speeds of each of the 3 rollers; there is no need to swivel them.  In this design, the axis of all 3 rollers are in a plane perpendicular to the direction of the throw.  This limits the ball spin to an axis on this plane, just as in the 2 roller approach.  The next design will allow more modes of rotation.

Our "Flux Capacitor" is kind of upside down, relative to the original.

## Assumptions

·         the rollers contact the ball at points A, B & C (in red).

·         the points A, B and C (in green) are projections of A, B & C across the ball.

·         that the ball is not getting squished by the rollers.

·         there is no slippage between rollers and ball surface.

·         roller spin vector direction is indicated by blue arrow (Right Hand Rule)

·         ball diameter is b inches

·         roller diameter is d inches.  For efficiency, d should be much larger than b.

·         coordinate x is to the left, y is to top of page, and z is out of page towards you.

·         angles are measured relative to horizontal axis, point A is at 90° and point C is at 30°.

## Analysis

### Case 1: Ball thrown with no spin.  A Knuckleball

All three rollers spin at the same speed and direction.

Say the roller speed is Ω rpm.  Ball velocity will be (π d Ω) inches per minute (d is in inches).

### Case 2: Ball is not thrown but stays between rollers and Top-Spins

This case is useful only for understanding and calculating other cases.  For Top-Spin, the ball is spinning around a horizontal axis perpendicular to the direction of throw.

Assume that the top roller is spinning at a rate of ω rpm.  The bottom left & right rollers must spin at half that speed in the opposite direction (-ω/2).   Half speed because the bottom rollers are contacting at a point half way closer to the axis; in the figure, section B-B is half the diameter of the ball.

To make the ball spin backwards, top roller spins at -ω, bottom rollers spin with +ω/2.

The ball will spin at the rate of (ω * d / b) rpm.

### Case 3: Ball is thrown with a Top-Spin

Combining case 1 and 2, we add Ω to all roller speeds.  The top roller spins at (Ω + ω), bottom rollers spin at (Ω - ω/2).

Ball speed and pitch rate should be (π d Ω) and (ω * d / b) respectively.

### Case 4: Ball stays between rollers and Side-Spins around a vertical axis

The top roller cannot directly cause the ball to spin, so it does not move.  The bottom two rollers can cause the section BC to spin.  Roller B also induces section B-B to spin and roller C induces section C-C to spin.  However, these two spins are equal and opposite, thus cancel each other.

Another way to see this is to add the vectors for the spins induced by the two bottom rollers.  The resulting vector will be vertical, indicating that ball will spin sideways.

The bottom rollers spin at the rate of (√3/2 ω) rpm, in opposite directions, because section BC is (√3/2 b).  To make the ball spin the other way, reverse the bottom rollers.

The ball will spin at the rate of (ω * d / b) rpm.

### Case 5: Ball is thrown with Side-spin

Combining cases 1 and 4, top roller spins at Ω, and the bottom rollers spin at (Ω + 0.866 ω) and (Ω - 0.866 ω).

Ball speed and yaw rate should be (π d Ω) and (ω * d / b) respectively.

### Case 6: Ball spins on a axis slanted at an arbitrary angle

So far, we now have formulae for angles that are a multiple of 30 degrees.  Examples:

 Roller θ = 0 Top spin θ = 30 Slant θ = 60 Slant θ = 90 Side spin θ = 120 Slant θ = -90 Side spin θ = 180 Back spin ωa Top ω +0.866 ω +0.5 ω 0 +0.5 ω 0 -ω ωb Bottom Left -0.5 ω 0 +0.5 ω +0.866 ω -ω -0.866 ω +0.5 ω ωc Bottom Right -0.5 ω -0.866 ω -ω -0.866 ω +0.5 ω +0.866 ω +0.5 ω

The next goal is to calculate roller speeds for the general case where the ball spin is (ω * d / b) on an axis angled at θ degrees.  In the figure shown below, the desired spin vector for the ball is shown as the black arrow.  It is at an angle of θ degrees to the horizontal. For an simple explanation, we want each of the three rollers to individually contribute the desired spin to the ball.  Note that the rollers are fixed.  Also, the spin vector induced on the ball will be opposite (negative) to the roller vector.  The angle between the spin vectors for the ball and for B is 60+θ.  So, the required roller speeds are:

 Roller Required speed Orthogonal Spin ωa Top +ω cos(θ) -ω sin(θ) ωb Bottom Right -ω cos(60+θ) +ω sin(60+θ) ωc Bottom Left -ω cos(60-θ) -ω sin(60-θ)

The sign on the required speed is decided by whether the induced spin is in the desired direction or not.  The formulae are consistent with the example speeds in the table.  Adding the three speeds in the 'required' column results in 0.  This indicates that the ball has no velocity along the z axis.

+ω cos(θ) - ω cos(60+θ) - ω cos(60-θ) = 0              (expand the terms)

Each roller also induces an undesirable spin on the ball in the orthogonal direction.  These spins nicely cancel out when added.  On expansion, the following expression results also in 0.

-ω sin(θ) + ω sin(60+θ) - ω sin(60-θ) = 0

There is another way to derive these formulae using projections of the contact point across the spin vector.  However, the vector solution described next is much more elegant.

### Case 7: Ball is thrown with arbitrary spin

Combine cases 1 and 6; add Ω to all three roller speeds.

## Vector Analysis

Another way to analyze this case is using spin vectors.  The 2-D direction unit vectors for the three rollers are shown below.   They are shown as the blue arrows in the diagram.  The spins they induce on the ball is negative of the roller vector.

 Roller unit vector Induced Spin vector A -x x B cos(60) x - sin(60) y -cos(60) x + sin(60) y C cos(60) x + sin(60) y -cos(60) x - sin(60) y

We can't change the direction of the vectors because the rollers are fixed.  However, we can change the vector magnitudes by varying the speeds of the three rollers, ωa, ωb,  ωc.

To make the ball spin at the rate of ω on an axis angled at θ degrees, the desired spin vector of the ball should be:

ω cos θ x + ω sin θ y

Each roller would have to contribute exactly to the desired vector.  Calculate the dot product (the projection) of the desired spin vector with each of the roller induced unit vectors to get the roller speeds, ωa, ωb,  ωc

ωa = ω cos θ

ωb = - ω cos θ cos(60) + ω sin θ sin(60)

= -ω cos(60+θ)

ωc = - ω cos θ cos(60) - ω sin θ sin(60)

= -ω cos(60-θ)

These are the same results as before...  Note that the ratio of the diameters (d / b) should be taken into consideration.

## The General 3 D case

The solution can be expanded to a 3 D case that allows the thrown ball to spin in arbitrary axis.  The three rollers have to be skewed so that their spin vectors are not on a common plane.  We can have the spin vector (axis) pointing 45 degrees into the page.  Each vector should normalized to be a unit vector by dividing it by √3/2.

 Roller unit vector Induced Spin vector on ball A -x - cos(45) z x + cos (45) z B cos(60) x - sin(60) y - cos(45) z -cos(60) x + sin(60) y + cos (45) z C cos(60) x + sin(60) y - cos (45) z -cos(60) x - sin(60) y + cos (45) z

If the desired spin vector in 3 D is:

ω1 cos θ x + ω1 sin θ y + ω2 z

As before, calculate the dot products to get the required roller speeds.

 Roller Required speed ωa Top +ω1 cos θ + ω2 0.707 ωb Bottom Right -ω cos(60+θ) + ω2 0.707 ωc Bottom Left -ω cos(60-θ) + ω2 0.707

Note that the required speeds do not add up to 0.  This indicates that the ball will have a positive speed along the z axis; it is not spinning between the wheels.

## Conclusion

In the 2 D case, the ball can be spun along any axis in the plane perpendicular to trajectory.  It cannot spin on any axis out of that plane.  In the 3 D case, the rollers are skewed to allow arbitrary spins, including spirals and rifling.  While there is a product available today that uses 3 rollers, there is nothing that implements the general 3 D design.

A quick patent search discovers that this concept was patented in 1984.