Measuring Muzzle Velocity

Our team has found a better way of measuring the muzzle velocity on your robot, and we think that it would be more accurate than the 30 degrees and 35 feet method in the rule book. What we have aquired from a third party source is a method of firing the cannon or what have you straight up and measuring that height. If your ball travels more than 19.5 feet, then your muzzle velocity is too great.

Attached is the sheet that shows these results.

Ball Velocity Test Height.pdf (66.1 KB)

Ball Velocity Test Height.pdf (66.1 KB)

Very cool.

We measure muzzle velocity by shooting the ball through a light beam (an LED and sensor pair, spaced 8" apart) and measuring the time it takes for a 6.875" ball to cross it. We used a storage oscilloscope to measure the time, but we’re looking for a better way of measuring the time, on the order of 15 milliseconds.


Our team uses a radar gun my brother loaned to us. It’s pretty accurate, but you have to keep from pointing it at any spinning mechanism as it will read it.
It’s also fun to use on the interstate with people that have radar detectors :smiley: It’s really funny to see the brake lights go on. Than you let them get going again and hit them again.

in the thread asking how FIRST will measure projectile velocity, the one question that kept coming up is “will spin on the ball affect its max flight distance”

and I think the consenses is ‘Yes’

so this method will only be accurate if your launcher does not put a spin on the ball

also, some launchers will be affected (speed altered) if you tip them to point straight upward.

I’m not sure if this has been mentioned before but…

Is FIRST going measure the velocity with a new ball or a used ball?

This could make a difference for many teams

I’ll repeat here what I posted in another thread: <S02> is a safety rule, not a robot rule. The head ref doesn’t need a velocity measurement to make the call that your robot violated <S02>, he/she can rely on his/her eyes and judgement as to whether the shot was safe. And if it was not safe then you get the penalty, and may have to correct your robot so it doesn’t do that again.

Let me put it another way: I don’t think there should be an official measurement procedure for verifying robot compliance with the muzzle velocity limit. I think the penalty for violating <S02> should be applied whenever the head referee judges that a robot has shot a ball too fast.

We measured the muzzle velocity using a homemade sextant, a few meter sticks, a right triangle, and some kinematics. Wasn’t too difficult, and it should give fairly accurate results… :slight_smile:

Use one of the timers on the RC set up in 16 bit mode and your optical sensors set up to interrupt the RC on digital inputs 1 and 2. Assuming that digital input 1 is the start for the timer, when this interrupt comes through zero the timer. When the second interrupt on digital input 2 comes through read the timer into a variable available to code running in the packet loop. Have a look at Kevin’s interrupt template code, and pay careful attention to his comments on how to read and write the timer correctly in 16 bit mode.

By suitably adjusting the pre-scaler for the timer your granularity can be 100ns, 200ns, 400ns or 800ns. Assuming a 16 bit timer and the 800ns clock tick you can measure up to 52.4 milliseconds with very high precision.

Have fun,

I posted a message in a thread discussing measurement of the speed of the ball shooter that describes how the “muzzle velocity” measurement would work as well as the sources of error in the measurement:

The precision of the timer eugenebrooks is describing is more than adequate for this measurement.