How to use a high-speed video camera in robotics

Jerry Morrison (FIRST Team 971) and Ron Crane (FIRST Team 670)

A high speed video camera is very useful for testing, measuring, calibrating, and debugging robot mechanisms. It's like an oscilloscope for mechanical engineers.

Equipment needed

  • A high speed video camera like the Casio Exilim EX-ZR200. (It can record video at 30, 120, 240, 480, and 1000 fps.)
  • Bright light.
  • (No tripod needed. These are fast shutter times.)

Let's start with some examples from the FRC 2013 season ("Ultimate Ascent").

Frisbee launch and flight from a circular shooter prototype (120 fps):

Measuring a circular shooter prototype (1000 fps):

Measuring a two-stage linear shooter prototype (1000 fps):

By single-stepping through this 1000 fps video, you can measure how fast the Frisbee moves. (The lines on the backboard are 1" apart and the frames are 1 msec apart.)

You can also measure the rotational speeds of the wheels before and after they push the Frisbee, and the rotational speed of the Frisbee on exit, and compute the slippage.

Best Practices

  • Put high-contrast markers on the wheels, e.g. aluminum duct tape that reflects the light source, to measure their rotational speeds.
  • Put high-contrast ruler marks on the surface behind the Frisbee to measure its linear speed. (1" spacing in these videos.)
  • Put high-contrast marks on the Frisbee, e.g. draw a diameter line with a paint pen, to measure its rotational speed.
  • Frame a tight shot (just enough visual context) since the camera records smaller images at higher frame rates.
  • Record each test run to a separate video file.
  • Announce a 3-2-1 countdown to coordinate starting the test run.
  • In each test run, the interesting part will be surrounded by a lot of playback waiting time. So trim it in-camera. This camera does a great job of trimming.
  • To measure speed, single-step through the video in camera, in the QuickTime movie player, or in Windows Movie Maker. Measure distance using reference lines or the game pieces (see below). Measure time by counting frames. Then compute speed = distance / time.

Check Quality

Here we are, checking the Frisbee liftoff from a circular shooter prototype (480 fps):

That's a nice, level liftoff. In comparison, the Frisbees wobbled terribly coming off our linear shooter prototype:

That may be because the Frisbee expands after being squeezed between the tire and the fence.

If the angle of observation is not 90 degrees to the direction of travel, then divide the distance observed by the sine of the angle. This works for round objects like balls and Frisbees viewed from edge. A long thin object like an arrow would need almost no correction factor.

Measure Flying Speed

We can use the Frisbee itself to measure flying distances, then compute speed. These Frisbees are about 10.9-11" in diameter. Hold a paper or clear plastic edge against the screen, then count the number of frames between the Frisbee's leading edge to its trailing edge crossing that reference line.

    d = length of the object along the travel line (leading edge to trailing edge)
    fc = frame count to cross the reference line
    fps = frames per second video frame rate

    speed = d * fps / fc

Measure Mechanism Speed

Our Frisbee intake and hopper are designed to pick up two side-by-side Frisbees then rapidly queue and pass them on to the shooter mechanism. It avoids jamming by keeping the Frisbees from contacting each other in the hopper:

At 120 fps recording and 30 fps playback, you get a 4x slow motion view of the mechanism in action. So divide the 4 second playback time by 4 to compute how long it takes for a Frisbee to enter the mechanism and get through the hopper.

Compare Designs

Here, we're testing ideas for blocking Frisbees: