Designing an emotional agent


Sponsors Ashwin Ram and Anthony Francis
{ashwin,centaur}@cc.gatech.edu
{395,311} CRB
Area Intelligent Systems

Problem
The context of this mini-project is an on-going research project to create a simulation of a pet — an "artificial puppy" called Pepe — that will engage and entertain a human user indefinitely,  adapting to that human user over the long term and becoming an entertaining, faithful companion. This project sits squarely at the intersection of intelligent robotic systems and believable agents — the quest to create simulated characters with interesting and engaging personalities.  But unlike believable agents, which interact with users for only short periods and are typically based on “broad but shallow” approaches to create the illusion of believability, our puppy could potentially interact with a user for months or even years, and must exhibit both wide and often subtle learning and problem-solving behavior to maintain the illusion.  Clever character design based upon shallow emotional models may yield a puppy that entertains in the short term, but a user will become frustrated if that puppy never learns the sound of its master’s voice, the location of his master’s slippers, or how angry the master will get if the puppy overturns his favorite potted petunias.  To break free from the straitjacket of inflexible characters we need more than the shallow model: we need to take a  “deep” approach, more closely integrating emotion, decision, action, and learning.

In this mini-project, you will design emotional complexes — expressive behaviors which embody or express a specific emotional state, such as anger or happiness, plus conditions for their expression.  This would require the design of two separate components: emotional triggers which determine the robot's current emotional state (for example, under what conditions should the robot become "happy"), and behavioral schemas which realize the actual visible behavior associated with an emotional complex (for example, what should the robot do when it is "happy"). Possible emotional complexes that you may model include happiness, joy, anger, shock, surprise, wariness, fear, and so on, each with its own set of emotional triggers. Possible behavioral schemas include approach, avoidance, being-with, attending, rejecting, nonattending (ignoring), agonistic behavior, interrupting, dominating, submitting, excitement, and surrender.  One project might be to implement a simple emotional complex, such as anger, by supplying a set of emotional triggers for that emotion and the behaviorial schemas to execute under that emotional state.  A more interesting project would be a emotional complex such as playfulness, which combines the simultaneous activation of being-with, excitement, joy, and inhibition. The emotional complexes should be implemented in a simple emotion architecture which can take inputs from the perceptual system of the robot, use your emotional triggers to activate the appropriate emotional state(s), use the behavioral schemas to select appropriate behaviors, and provide those to the robot to execute. You may fake the inputs and outputs (i.e., pretend that a robot exists that can provide the perception/action API you want) or, if you're ambitious, you may interface your system with the robot and/or its simulation that is being used for the Pepe project.

Background

Deliverables Evaluation
Evaluation is based on the quality of your report and design of the emotional agent, the sophistication of the emotional model, and the level of the implementation.