Aibo Programming
(CLICK
BUTTON FOR ROBOT LEARNING)

A conceptual model of deliberative and reactive architectures between the robot
(Black Text) and animal (Blue Text)
models

Conceptualization of the mood matrix. Mood depends on memory stick instructions
at boot, overall experience during current wake-period, and immediate input.
Examples: Falling is bad, petting is good, movement is interesting. Mood is
most-easily recognized by eye color, tail lights, "vocalizations" and body position. Moods can be initialized
by programming and affected by the consequences of various actions.

Hot pink is recognized as good and elicits an approach. The pink ball may be
played with (kick, head butt) or simply settled by.

More complex pattern recognition is possible, including facial recognition.
Depending on the model, ~70-150 speaker-independent commands can be recognized.
Speaker voice recognition can be programmed.

Example ball routines.
The behavior sequencer "bubbles up" new potential behaviors (a) and passes them on to the mood processor (b).
Some behaviors are associated with particular moods. For example, ball-chasing or exploring are associated with happy (green) moods while sleeping is associated with blue mood. Angry (red) moods cause hyperactivity, angry sounds, and disobedience.
If the sequencer behavior agrees with the mood, then the behavior will be performed. If not, then the behavior sequencer generates a new behavior. This assures that the behaviors are "linked" so that the robot does not switch inappropriately from behaviors associated with opposite moods. This keeps the Aibo from appearing schizophrenic. Note: since the i-Cybie doesn't have as rich a mood matrix, they often shift moods inappropriately.
Seeing pink will usually cause the sequencer
to preferentially generate a pink ball routine (c). Otherwise, the behavior
sequencer can initiate a search for the pink ball (or Aibone for the ERS-7 (
)).
The robot then seeks to acquire the ball by rolling the head back and forth.
If the ball is acquired, the behavior sequencer chooses a behavior (the acquisition song usually plays). The Aibo may play with the ball (kick, head-butt, or chase), or may simply sit by the ball. (d)
Each time the ball is kicked, the Aibo will usually search for it again. Apparently, each repetition changes the mood matrix so that the Aibo eventually gets bored so it doesn't get into a continuous play loop. (e)
The apparent behavioral repertoire of the robot depends on the number of random and non-random state machines in the programmed personalities. In addition, the robot's "mood" will affect the outcome of the instantaneous and long-term personalities. A table of the states can be found here and here (on-site).
![]() 111 Finds Ball |
![]() 210 finds pink ball |
![]() 111 Kicks Ball |

Conceptual general personality program.
The memory stick holds the personality program. The personality programs can be purchased from Sony, or, with a pink memory stick, can be downloaded from various sites (such as Aibohack) or you can perform your own programming (links to programming environments are at the bottom of this page). You'll also need a USB card reader (DO NOT USE A NON-SONY READERS SINCE OTHERS CAN CORRUPT THE SPECIAL COPY PROTECTION!)
The randomizer will set the motivation matrix for the first time. Thereafter, the robot remembers it's last state and sensory.
The sensory, behavior selector, and mood matrix routines interact to select a behavior. The mood matrix insures that behaviors associated with a particular mood are expressed, rather than inappropriate behaviors.
The consequences of the behavior may reinforce or change a mood. This then affects the behavior sequencer (via short-term memory). Falling down,.for example, will cause the Aibo not to perform that behavior.
Behaviors that are potentially dangerous will cause the protective matrix to override the behavior selection routines.
The short-term memory can make its way into long-term memory if sufficiently reinforced.
During shut-down the current mood matrix and behaviors are written to the memory stick.
![]() 111 gets up after falling over |
![]() 111 Wakes up after a short nap |
![]() Confused 111 |
![]() Hyper 111 |
![]() 111 Backs Up |
![]() 111 Tries to Escape |
![]() Aibo 111 and 210 together. Aibo 210 is depressed. |
![]() 210 Wakes up |
![]() Happy 210 |

LAN communications allow communication with a traditional PC.
Links to programming environments
CLICK
BUTTON FOR ROBOT LEARNING