SoftBank Robotics documentation What's new in NAOqi 2.8?

ALRobotMood

NAOqi Emotion - Overview | API


What it does

ALRobotMood calculates the robot’s own emotion. The robot’s emotion is based on his own physical state and the feelings of the environment and people around him.

How it works

Basic Emotions

Pepper’s emotions consist of two sub-components, calculated simultaneously:

  • Pleasure: This can be “positive” (1), “neutral” (0) or “negative” (-1).
  • Excitement: This can be “excited” (1) or “calm” (0).

The values of pleasure and excitement depend on both the robot’s internal state and what it perceives in its environment. These stimuli are calculated by ALBattery and ALMood.

Internal stimuli from ALBattery

  • When the robot’s battery is sufficient, pleasure will be positive.
  • When the robot’s battery is very low, pleasure will be negative.

External stimuli from ALMood

The values of pleasure and excitement also depend on surrounding people’s emotion and ambiance, calculated by ALMood.

  • When the human in front of the robot is positive, the robot will tend towards “positive”.
  • When the human in front of the robot is negative, the robot will tend towards “negative”.
  • When the surroundings are quiet and/or static, the robot’s excitement will be “calm”.
  • When the surroundings are loud and/or contain a high amount of movement, the robot’s excitement will be “excited”.

Note

Some robots may be equipped with a custom emotion module that override these stimuli and calculations.