Art 483 | Fundamentals of Interface Design | Winter 2007
The Living Robot
The Living Robot is a simple simulation of a robot that uses seven people linked together in a group, each mimicking a different component of the robot's behavior by following a precise set of instructions. This simulation aims to bring some of the basic principles of software engineering to life and give non-technical people a feeling for what is involved in designing software to control robots.
When the independent instructions of each component are followed properly and precisely, the robot (a composite of the seven people) performs the desired actions. In this way, the participants can comprehend the resulting behavior of the whole robot as an integrated set of interdependent smaller actions.
Here is a schematic of the robot's configuration:
Here are the functions of the seven components:
Using this configuration, we specify a behavior as follows:
The robot goes steadily forward until a light is shined on it, when it stops. While moving, if it is bumped on the right side, it will turn to the left and turn on the tail lamp during the turn. Similarly, if bumped on the left, it will turn to the right with the lamp indicating this.
In order to accomplish this, the brain must synchronize the activities of all of the other components. It continuously monitors the information arriving from the input sensorsthe eyes, left arm, and right arm. Processing that information, it then directs the activities of the action componentsthe left leg, right leg, and tail lamp.
Here are the instructions for each component of the Living Robot:
A printer-friendly version of these instructions can be found here.
For the microprocessor version of the simulation, a LEGO Mindstorms robot is constructed and a software program written to implement the behavior. The robot has 2 touch sensors (for the left and right arms) and a light sensor representing the eyes. Two motors are used for the left and right legs, and a simple bulb is used for the tail lamp.
Here are some photos of an implementation on an older-style RCX robot that implements this design:
You can click on any of these to see a large version in separate window.
Here is a picture of a Robolab program implements this design:
You can click on this to see a large version in separate window.
And finally, you can find the actual Robolab program here.
OK, I'm lying, for now. This will be an assignment later in the course, so I'm not putting them online until after you do it.
Last modified: 1/19/2007 11:22 AM