wile01a.jpg (6704 bytes)

Front view of Willy

wile02a.jpg (5780 bytes)

Rear view  of Willy -- note the routing of the drive motor cables

wile03a.jpg (6601 bytes)

Bottom view  of Willy

wile04a.jpg (6643 bytes)

Willy in action!

Meet Willy! This robot has only one function in life and that is to keep from falling off the edge of a table. That's how he got his name -- Will he fall off? (now isn't that very punny!) One thing that makes Willy different than other designs we have tried is that the programming panel of the brick faces downward. This orientation proved to need fewer parts to complete the robot.

We created our robot using the Lego Mindstorms Robotic Discovery Set. Our criteria for this design was to use a minimal number of parts to get the job done. The drive chassis of this model consists entirely of the Scout brick, four mounting pins, and two long structural members. We sandwiched the frame between two large flat Lego rectangles to provide lateral support for the drive axles and a base for the two drive motors.>

The top of the unit is constructed from several long structural members which are supported in place by two long axles and spacers. These axles also provide a convenient place to wrap excess sensor cabling around to avoid the cabling getting into the drive gears or wheels. The large yellow tubing with Willy's "eyes" is connected at the front of these axles. Several large blocks and a long flat block provide extra support for the front member and also keep the touch sensor blocks in place.

The sensor arms are mounted to the front structural member and rotate on two pins. Spring tension is provided by two rubber bands connected to a pin located at the center of the structural member. The two gray support pieces extend the sensor arms to the height of the touch switches. Small axles extend inward and are adjusted to trigger the touch switches without binding or excess friction.

We programmed Willy using the standard front panel programming of the Scout brick. The motors are set to Forward and the sensors are set to Avoid. We adjusted the time settings and found that two to three circles will be appropriate for all but the smallest tables.

How did Willy do? It took a few times around to get the sensors adjusted properly. We added the pieces you see at the end of the axles in the bottom view of the robot to smooth the process of the model backing up once it got to the edge. Without these pins at the end of the sensor arms, Willy would often get stuck with both arms off the table and plunge to the floor at the end of the avoid cycle.

Once the sensors were adjusted, operation was much better. Willy found his way around the edge of the table easily. We did not provide drive to the front wheels and this reduced the ability of the model to turn left or right, but it could still turn five to ten degrees at each avoid cycle on a relatively smooth wooden table surface.

We considered other things we could have done with Willy to allow him to have a more useful existence. Among these concepts was the mounting of a plow blade on the front to "clear" the table (in a rather messy fashion) or using extra gearing to the motors to drive small scrub brushes for washing the table. We could have also added some additional sounds to him using the bug or Geiger counter modes to make him more of a companion robot. In the end, Willy seemed happy to find his way about, so we just left him alone and he continued scooting across the table.