SAM by Gabriel Rapetti

Photographs at:

Sam was a modular system. Every called module ("agent") had a simple and
precise task (which was strongly motivated from reading the book
"The Society of Mind" by Marvin Minsky). Many years later, a
friend was successful in summarizing in simple words a concept that
has always fascinated me. He said: "the control would have to be the
exception and not the rule".. In the article "A robust layered control
system for a mobile robot" by Rodney A. Brooks (MIT Press A.I. Memo
864 September, 1985) that I got much later, after the construction of
the robot, thanks to the Internet, the architecture of a similar
system is described.

In the plan of Sam, there were modular agents for the movement,
navigation, the survey of obstacles, the ultrasonic sight, the mapping
of space and the coordination between modules. The agents had a life
of their own and worked alone until receiving stimuli from other
agents. In that moment they only modified their behavior based on the
type and the importance of the stimulus. Therefore, in truth a central
controller did not exist. Every agent communicated its state and the
others reacted consequently. This architecture has been demonstrated
to be very robust, a simple one to implement, and at times
"unforeseeable" because the robot did numerous things that I had not
minimally forseen.

The movement of the robot happened through two drive wheels with
motors separated so that they also served for steering. A third free
wheel served to balance the structure (3 points of support). The drive
wheels had sensors made of spinning discs with holes and photo sensors
attached. The sensors allowed calculation of movement with one
rotation every 10 millimeters and also served as a third party
arrangement for obstacles (the other two were an ultrasonic telemeter
and a group of infrared sensors in the perimeter of the base that
reflected objects). The driver for the motors drove the wheels, using
a transistor, they allowed 3 ways of working: forward, reverse, or
stopping. The combination of the three states for each motor, allowed
9 types of maneuvers possible. In order to prevent damage to the two
motors, especially in phase departure, the connection between motor
and wheel was made through rubber straps.

The head of the robot, contained the ultrasonic telemeter and 2
photoelectric sensors. It could turn 270 degrees thanks to a
continuous turning motor with gear reduction. Also here, an attached
sensor indicated the relative position of the head. Therefore, the
robot in initilization phase, had to turn the head until it found the
start position made with a reed switch in order to calculate the
position based on the impulses from the sensor. The analog circuit of
the telemeter was made with operational amplifiers and used a specific
technique that consisted, after the transmission, in progressively
increasing the sensitivity of the receiver in order to avoid undesired
false readings due to echoes or resonance in the design.

Other analog circuits served to control the photosensors used for
proximity, for energy management (two large 6V acid lead batteries
were used) and for the photoelectric cells in the head. The robot had
also passive IR, one of the first products on the market for sensing
people, used currently in nearly all antitheft systems.

The main control card was made with a Z80 microprocessor with 8K of
RAM and 8K of ROM. Besides the devices necessary for the operation of
the micro, a second card mounted on the tower had in/out ports,
timers, ADC and a chip for serial communication.

For testing the robot and program development I had to construct a
special connected module to call the computer SIPCOM that can be seen
in one of the photographs in the website. The difficult part was the
programming of EPROM memories, made with discreet circuits (I still
did not know the microcontrollers). It had eleven TTL chips and a
timer in order to allow the programming of the memories with modes for
microimpulses (?).

After many years of absence, after my return from travels around
Argentina, I found the robot in my relatives' house. The batteries
were missing and, worse still, the computer memories had probably lost
their programming because I was not successful in making it work. The
original program was found on cassette tapes used in MSX computers and
impossible to read today. Incredible is the age of computer science.
The problem was not just to restore the information but to be able to
read it and interpret it after several years. It was all fine that
only the printout remained accessible because fortunately our eyes do
not have a "new version". (?)

The complete article for SAM is found at:

(2001) Gabriel Rapetti

Translation from Italian to English  2002 by Popeye Theophilus Barrnumb.

Return to The Robot Menu