# Pitching Machine Physics

I’ve seen several attempts to describe the physics governing a pitching machine. All of these attempts have been hard to follow and seem to miss the key point. Here I present a physical model of a pitching machine which might help teams make decisions.

Assumptions:

1. Two wheel pitching machine
2. Both wheels have the same angular speed in opposite directions.
3. Contact between the wheels and the ball occurs without slipping. This represents a good design as energy is not wasted ripping the poof ball to shreds and from my experience with 2006 is a reasonably assumption. Compressing the poof ball moderately makes this assumption hold on a real life robot.
4. No energy is added to the system during the shot. This is justified if the shot occurs very quickly or the motors spinning the wheels are running at low efficiency.

Variables:
w_i–Initial angular velocity of the wheels (radians/sec)
w_f–Final angular velocity of the wheels (radians/sec)
m–Mass of the ball (kilograms)
v–The final velocity of the ball (meters/sec)<–What we want to know
I–Moment of Inertial of a single wheel

Useful Equations:
Energy of a spinning wheel–1/2 * I * w^2
Energy of a moving object–1/2 * m * v^2

Calculations:

Using conservation of energy
I(w_i)^2=I(w_f)^2+1/2 * m * v^2

From the rolling without slipping assumption (3)
v=(w_f) * r
or
w_f=v/r

So combining these equations
I(w_i)^2=1/2 * m * v^2 + I(v/r)^2
v^2=(I*(w_i)^2)/(0.5*m+I/(r^2))

v=(w_i)sqrt(I/(0.5m+I/(r^2)))

Physical Description:

Because we assume no energy enters the system (4), energy is conserved. As the ball passes between the wheels, energy is transferred from the wheels to the ball. As such the ball’s velocity increases, and the angular velocity of the wheels decreases. The rolling without slipping condition (3) tells us by how much this occurs.

Useful Units:
The above equation assumes SI unit which most teams don’t use. Additionally, most teams don’t know the moment of inertia of their wheels off hand. Here is an equation which assumes all of a wheel’s mass is in the rim and uses the below units:

m–Mass of the ball (pounds)
w_i–Initial angular velocity of the wheels (rpm)
v–The final velocity of the ball (feet/sec)<–What we want to know
M–mass of a wheel (pounds)

v=0.0087(w_i)sqrt((Mr^2)/(0.5*m+M))*

Example:
4" wheels which weight 1 lb each being spun at 5000 RPM (approximately the no load speed of a CIM

v= 64.4 ft/sec or roughly 20 m/s

Note that your performance will likely be worse due to wheel mass not being concentrated in the rim, energy losses compressing the ball, and because 40 m/s balls will be very quickly slowed by air resistance.

If there’s interest, I can also model systems with differential RPM to produce spin (same general concept, but now conservation of angular momentum is important).

It could just be that its late at night so I’m overlooking something really simple and stupid, but I’m not getting the same thing with your formula

v=0.0087*(w_i)sqrt((Mr^2)/(0.5*m+M))

v=0.0087*(5000)sqrt((14)/((.5*.7)+1)
v=64.4

Have you considered using just 1 wheel?
When a basketball player shoots, a backspin occurs as a result of just 1 hand.
Or 2 wheels but different speeds.

Just saying, as the decision for teams may be other configurations other than just a pitching machine.

Even if the design is different, this is a pretty good tutorial on the physics equations behind it, and can be adapted to those other scenarios

You’re exactly right. I just mixed up radius and diameter. I’ll be editing my original post.

Try this spread sheet. This is a good example to determine how or if you want to shoot the basketballs. The calculations are based on velocity, distance and angle of the ball shooter. The examples are from the top of the key and next to the barricade. The spread sheet is locked down right now. Will open it in a later update. Keith Joiner First Team 2992 deserves the credit (blame) for calculations.

Looks good, though I’m not so sure about the non-slip assumption. The ball would have to be instantaneously accelerated to the speed of the wheel. One other factor that an energy-argument doesn’t take into account is the compression on the ball. My team has found that greater compression on the ball usually increases range.

I created a MATLAB script that takes these into account, but since we haven’t really verified any of the numbers that it produces and I’m a bit unsure of some of the assumptions, I’m going to pass it by my physics professor first before I post it.

my team has considered this idea, refering to it as a “tenis ball shooter”
-we would use two wheels in a horizontal plane (adjustable for aiming) to provide the main power
-we would use a third wheel underneath the others in a vertical plane to add spin, there being no wheel on top to counter the force it exerts on the ball

then one insitefull member commented on how inacurate tenisball shooters were, and how that they were desighned to be inacurate to create more of a challenge…

we are most likely going to look into other methods of ball propulsion

Edit: for those teams that have already tested this system, did you achieve any acuracy?

Our prototype last night scored 4/5, roughly. For all but 1 of our misses, the ball shot too high and went over the backboard. We figure that’s most likely because we did not have a constant angle on the shot - we tilted the assembly by hand to get a rough 45 degree shot. The other one the ball was inserted at an odd angle, and exited at an angle, missing the basket to the side. Consistent loading is going to be important!

We had 2 wheels on bottom and two on top, similar to the video talked about here (except we used cordless drills to power it, not CIM motors): http://www.chiefdelphi.com/forums/showthread.php?threadid=99644

Hello,
Our team 2152 put together a VB program that would automatically calculate the velocity at which you needed to shoot to make the ball go a certain distance into a certain height. This program has three inputs height, distance you are away from the goal, and the angle at which you are shooting. Here is the .exe of the program we constructed that would do this you can download it from the exe below.