< not up and running yet >
Introduction
The emotion_expression
service can be used to manipulate common neutral gestures into more affective gestures for the Nao. It will take the neutral gesture in .json format and wanted affect as input and gives the affective gesture as an output.
Docker name: emotion_expression
Input
JSON file of neutral motion file
wanted affect
Output
JSON file of affective motion
Initialisation
In order to use the service, the neutral gestures need to be downloaded.
Example
See emotionexpression_example.py
for an example usage.
Events
Events that the service creates and can have listeners.
Known Issues
The main issue with emotion_expression is that not every movement is stable enough to execute on the Nao.
For the manipulation of neutral gestures into emotion-based gestures, this page will provide an overview of the gestures with evaluation (e.g. stability). Please note that if a gesture is not tested yet, the stability of that gesture is not ensured and do NOT use it for NAO’s safety.
The overview is provided with all gestures out of Choregraph tested on several affects (0 = instable, 1 = stable).
Category | Neutral | Angry | Happy | |
---|---|---|---|---|
FastGatherBothHandsOnChest_LeanRight | Affirmation | 1 | ||
GatherBothHandsInFront | Affirmation | 1 | ||
GoToStance_Affirmation_Center | Affirmation | 1 | ||
GoToStance_Affirmation_LeanLeft | Affirmation | 1 | ||
GoToStance_Affirmation_LeanRight | Affirmation | 1 | ||
LittleBothArmsUp_DuckEnd | Affirmation | 1 | ||
OfferBothHands_HeadNod_LeanLeft | Affirmation | 1 | ||
SlowBowWithArms | Affirmation | 1 | ||
StrongLeftArmsInFront_LeanLeft | Affirmation | 1 | ||
WideOpenBothHands | Affirmation | 1 | ||
GoToStance_Affirmation_Flex | Affirmation | 0 | ||
StrongArmsAndLegsBump_LeanRight | Affirmation | 0 | ||
WideGatherBothHandsOnChest_LeanRight | Affirmation | 0 | ||
DoubleLeftHandBump_LeanRight | Enumeration | 1 | ||
DoubleRightHandBump_LeanRight | Enumeration | 1 | ||
GoToStance_Enumeration_Center | Enumeration | 1 | ||
GoToStance_Enumeration_LeanRight | Enumeration | 1 | ||
LeftArmBump_LeanRight | Enumeration | 1 | ||
LeftArmSpreadAndBack | Enumeration | 1 | ||
LittleFancyBothArmsInFront | Enumeration | 1 | ||
OfferLeftHandThenRightHand | Enumeration | 1 | ||
OpenBothHandsInFrontWithBump | Enumeration | 1 | ||
CircleBothArmsLeaningFront | Exclamation | 1 | ||
FastBothArmsInFront | Exclamation | 1 | ||
GoToStance_Exclamation_Center | Exclamation | 1 | ||
GoToStance_Exclamation_LeanBack | Exclamation | 1 | ||
GoToStance_Exclamation_LeanLeft | Exclamation | 1 | ||
GoToStance_Exclamation_LeanRight | Exclamation | 1 | ||
LeftArmOnChest_LeanRight | Exclamation | 1 | ||
SpreadArms_FlexEnd | Exclamation | 1 | ||
StrongNodArmsUpAndDownLeaningBack | Exclamation | 1 | ||
WideBothArmsCircle_LeanLeft | Exclamation | 1 | ||
BothArmsShowGround_LeanBack | Exclamation | 0 | ||
GoToStance_Exclamation_Flex | Exclamation | 0 | ||
LittleArmsUpAndDownWithBump | Exclamation | 0 | ||
BothArmsUpAndDown_HeadShake | Negation | 1 | ||
DoubleHorizontalBumpRightArm | Negation | 1 | ||
GoToStance_Negation_Center | Negation | 1 | ||
GoToStance_Negation_LeanLeft | Negation | 1 | ||
LittleSpreadRightArm_HeadShake | Negation | 1 | ||
StrongBothArmsUpAndDown_LeanLeft | Negation | 1 | ||
WideHorizontalRightArm_LeanLeft_HeadShake | Negation | 1 | ||
RightArmUpAndDownWithBump_HeadShake | Negation | 0 | ||
FancyRightArmCircle_LeanRight | Question | 1 | ||
GoToStance_Question_Center | Question | 1 | ||
GoToStance_Question_Flex | Question | 1 | ||
GoToStance_Question_LeanFront | Question | 1 | ||
GoToStance_Question_LeanRight | Question | 1 | ||
LittleArmsBump | Question | 1 | ||
LittleArmsBumpInFront_LeanRight | Question | 1 | ||
LittleBowAndSpreadArms | Question | 1 | ||
SlowlyOfferBothHands | Question | 1 | ||
StrongHeadShakeSpreadArms_FlexEnd | Question | 1 | ||
WideSpreakArms_FlexEnd | Question | 1 | ||
BothHandsBumpWithBump | Self&Others | 1 | ||
FastPointAtUserLeftARm | Self&Others | 1 | ||
GoToStance_Self&Others_Center | Self&Others | 1 | ||
GoToStance_Self&Others_Flex | Self&Others | 1 | ||
GoToStance_Self&Others_LeanBack | Self&Others | 1 | ||
GoToStance_Self&Others_LeanFront | Self&Others | 1 | ||
GoToStance_Self&Others_LeanRight | Self&Others | 1 | ||
OpenArmInFrontWithBump | Self&Others | 1 | ||
PointAtSelfRightArm | Self&Others | 1 | ||
PointAtUserBothHands | Self&Others | 1 | ||
StrictPointAtUserRightArm | Self&Others | 1 | ||
WidePointAtUserRIghtArm_LeanRight | Self&Others | 1 | ||
BothArmsBump_LeanRight | Spacetime | - | ||
StrongrmsOpen_FlexEnd | Spacetime | - | ||
BothArmsBumpInFront | Spacetime | 1 | ||
GoToStance_Space&Time_Center | Spacetime | 1 | ||
GoToStance_Space&Time_LeanLeft | Spacetime | 1 | ||
GoToStance_Space&Time_LeanRight | Spacetime | 1 | ||
PointFromLeftArm_LeanLeft | Spacetime | 1 | ||
ShowFarDistanceLeft | Spacetime | 1 | ||
ShowNearDistanceLeft | Spacetime | 1 | ||
ShowNearDistanceRight | Spacetime | 1 |