Process and Rationale

Originally, there were three types of implementation to consider:

  1. Attach plastic boat to fishing line and use servo motor to pull boat across table.
  2. Attach foam boat to fishing line and tie to servo underneath table, then pull boat across table.
  3. Attach plastic boat to fishing line and tie to servo underneath table, then pull boat through water.

Whiteboard Sketches

This first option worked, but required us to manually reset the boat on the table every time the software is reset. So we moved the servo underneath the table, then ran fishing line around the edge of the table to both the back and front of the boat.

If attaching the line to the front of the boat pulls the boat forward, then attaching a line to the back of the boat should do the opposite. In theory, the boat would reset itself on the table when the servo is reset.

Unfortunately, either the boat was too heavy, the servo was too weak, or there was too much energy lost in the transfer because the line was too long.

At the time, we were on a huge table, trying to pull the boat lengthwise. The boat was only going to move 6 inches or so anyway, so we tried widthwise. Shortening the line helped, but the boat was still too heavy or the motor was too weak.

We thought about two ways to reduce decrease the friction between the boat and table:

  1. Use a light foam boat instead of a heavy plastic boat
  2. Put the plastic boat in water instead of dragging it across the table

The foam boat would have probably worked, but putting the boat it water would work better. Aside from the coolness factor, pushing a sailboat through water is much more realistic then dragging it across a table. In addition, a virtual companion boat could also be pushing through water on the screen to strengthen the experience.