davesnowdon / nao-emotional-framework

A framework to allow NAO applications to share an implementation of an emotional model and provide a standard means of modifying rebot behaviour in response to emotional state.
Apache License 2.0
10 stars 5 forks source link

NOTE: This is a work-in-progress and as such is NOT READY FOR USE

nao-emotional-framework

A framework to allow NAO applications to share an implementation of an emotional model and provide a standard means of modifying rebot behaviour in response to emotional state.

We make a distinction between the internal state of an emotional model and the external representation of emotional state. The external state should be simple, expressive and generic - it needs to describe only the instantaneous state of the robot not how or why it arrived at that state. In contrast the internal state of the model needs to be considerably richer as it needs to encode how and why the robot reached a given state and how current events will change that state.

The ALEmotion framework aims to allow models to manage a rich internal state whilst using a simple and generic external representation to allow a loose coupling with other behaviours.

Components of a robot’s emotional system

We’ve broken an emotional system down into several components:

ALEmotion objectives

Our objectives for ALEmotion are :

Usage

The framework comes with three choreographe projects:

The helper functions are the following:

ALMemory Usage

The framework uses the following ALMemory structure under the top-level "Emotion" key. The list contained in Emotion/Current is generated by the active emotional model.

Building

In order to build the emotional framework you need to have at least the following installed

There are two helper scripts in the top-level of the project:

These scripts require that the following environment variables are set:

To install the framework on the robot

To run the framework off robot