title.jpg (20464 bytes)

Cybert Menu:        

 buttblue.jpg (750 bytes) Main Menu
Return to the Main Menu.
 buttblue.jpg (750 bytes) Cybert Home
The Cybert Homepage.
 buttblue.jpg (750 bytes) Project Log
Follow Cybert's progress.
 buttblue.jpg (750 bytes) Project Goals
Read about my project goals.
 buttblue.jpg (750 bytes) Gallery
Enjoy some pictures and movies of Cybert!
 buttblue.jpg (750 bytes) Cybert Programming
Read about Cybert's low level and high level code.
 buttblue.jpg (750 bytes) Reports
Study reports about Cybert's creation and programming.

Hit Counter
Hits since November 4, 2000

Report: A Model for
Mood-Based Robot Behaviors
Updated 11/06/00

One of the ways I'd like to give Cybert unpredictable behaviors is through the implementation of environment driven moods that affect what he says and how he acts.  To this end I've developed a very simple 2 dimensional array (x,y) I call a Mood Matrix.  'X' values in the array correspond to Cybert's general "mood",  'Y' values represent his "comfort".   These values will increment and decrement based on sensor input.  For example, being alone for an extended period of time will cause Cybert's Comfort to decrement.  This could eventually trigger his "find people" behavior. 

I'll probably use values ranging from 0 to 100 for both of these variables, as this will give me fine detail when Cybert needs to make a mood dependent decision.  But overall, the intersection of Mood and Comfort will fall in one of the 9 cells below:

Mood Matrix

x-1, y+1
bad / comfortable

Depressed/Edgy

x, y+1
normal / comfortable

Secure


x+1, y+1
good / comfortable

Playful

x-1, y
bad / normal

Upset


x, y
normal / normal

Normal

x+1, y
good / normal

Happy

x-1, y-1
bad / uncomfortable

Angry


x, y-1
normal / uncomfortable

Afraid

x+1, y-1
good / uncomfortable

Concerned

Note that Mood varies from bad to normal to good, while Comfort changes from uncomfortable to normal to comfortable; and that each cell shows an overall attitude that was determined by combining Mood and Comfort.   (Bad + Uncomfortable = Angry, Good + Comfortable = Playful).   I'd like to use global variables to determine the boundaries of these cells as that will make it a bit easier to change Cybert's behaviors.  I could make the default "Normal" cell much larger than the others, for example.
  

Mood Changes Based on Sensor Feedback

Cybert will make decisions based on his overall mood.   Some of these decisions will be reactive, such as the things the robot will say in response to external stimuli, others will be proactive as Cybert tries to improve his condition.  To illustrate this last point, if his Mood is low, he will eventually choose one of the actions that he knows will raise his Mood variable.   Over time, Mood and Comfort will gradually return to the Normal state, whether the movement is up or down. 

Here are some other things that will affect Cybert's mood:   (list incomplete)

- Bumping into something (-Mood, -Comfort)

- Sensing people (+Comfort -- evaluated every X minutes)

- Not sensing people for an extended period (-Comfort -- evaluated every X minutes)

- Playing a game (+Mood)

- Loud noise (-Comfort)

- Low battery level (-Mood -- evaluated every X minutes)

- Fresh battery level (+Mood -- evaluated every X minutes)

Sensor Based Decision Making and Speech

Cybert's behaviors will change based on the mood he is in.   Here are some examples:

- Cybert will spend a lot of time commenting on the world around him.   Each of these comments will have nine possible variations to correspond with the nine cells in the  Mood Matrix.  If Cybert bumps into a wall he might say "Ouch" if his mood is  Normal (x,y), "What's happening???" if his mood is Concerned (x+1,y-1), or even  "Dammit" if his mood is Angry (x-1,y)  

- Once Cybert's Comfort drops to a certain point, he will choose a behavior that will  increase his Comfort.  (Looking for noise, looking for people, etc.)

- When Cybert's Mood drops below a certain threshold he will start looking for ways  to increase it (playing a game, etc.)  

- When Cybert is happy, he will be more likely to laugh, tell jokes (downloaded from a  'clean' joke webpage), play games, or sing songs

- He will be more likely to go off exploring when his Comfort level is high

 


Copyright 1999-2000, John Cutter.
For feedback, problems, questions, or to share your own stories or ideas, please contact john@home-robot.com.
Last updated: October 25, 1999.