Package rst.animation

Contains types to describe animations to be performed. Character animation is a specific application.

Messages

digraph message_graph { fontname="Arial"; fontsize=11; stylesheet="../_static/graphs.css"; node [fontsize=11,fontname="Arial"] edge [fontsize=11,fontname="Arial"] "5" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-animation.html#rst.animation.EmotionExpression" TITLE="Message rst.animation.EmotionExpression" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">EmotionExpression</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-animation.html#rst.animation.EmotionExpression.Emotion" TITLE="Enum rst.animation.EmotionExpression.Emotion" TARGET="_parent">Emotion</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-animation.html#rst.animation.EmotionExpression.emotion" TITLE="Field rst.animation.EmotionExpression.emotion" TARGET="_parent" PORT="emotion">emotion</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-UINT32.html#UINT32" TITLE="Fundamental UINT32" TARGET="_parent">UINT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-animation.html#rst.animation.EmotionExpression.duration" TITLE="Field rst.animation.EmotionExpression.duration" TARGET="_parent" PORT="duration">duration</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "6" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-animation.html#rst.animation.EmotionExpression.Emotion" TITLE="Enum rst.animation.EmotionExpression.Emotion" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/enum.svg"></IMG></TD><TD ALIGN="left">Emotion</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-animation.html#rst.animation.EmotionExpression.Emotion.NEUTRAL" TITLE="Value rst.animation.EmotionExpression.Emotion.NEUTRAL" TARGET="_parent">NEUTRAL</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-animation.html#rst.animation.EmotionExpression.Emotion.NEUTRAL" TITLE="Value rst.animation.EmotionExpression.Emotion.NEUTRAL" TARGET="_parent">0</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-animation.html#rst.animation.EmotionExpression.Emotion.HAPPY" TITLE="Value rst.animation.EmotionExpression.Emotion.HAPPY" TARGET="_parent">HAPPY</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-animation.html#rst.animation.EmotionExpression.Emotion.HAPPY" TITLE="Value rst.animation.EmotionExpression.Emotion.HAPPY" TARGET="_parent">1</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-animation.html#rst.animation.EmotionExpression.Emotion.SAD" TITLE="Value rst.animation.EmotionExpression.Emotion.SAD" TARGET="_parent">SAD</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-animation.html#rst.animation.EmotionExpression.Emotion.SAD" TITLE="Value rst.animation.EmotionExpression.Emotion.SAD" TARGET="_parent">2</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-animation.html#rst.animation.EmotionExpression.Emotion.ANGRY" TITLE="Value rst.animation.EmotionExpression.Emotion.ANGRY" TARGET="_parent">ANGRY</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-animation.html#rst.animation.EmotionExpression.Emotion.ANGRY" TITLE="Value rst.animation.EmotionExpression.Emotion.ANGRY" TARGET="_parent">3</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-animation.html#rst.animation.EmotionExpression.Emotion.SURPRISED" TITLE="Value rst.animation.EmotionExpression.Emotion.SURPRISED" TARGET="_parent">SURPRISED</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-animation.html#rst.animation.EmotionExpression.Emotion.SURPRISED" TITLE="Value rst.animation.EmotionExpression.Emotion.SURPRISED" TARGET="_parent">4</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-animation.html#rst.animation.EmotionExpression.Emotion.FEAR" TITLE="Value rst.animation.EmotionExpression.Emotion.FEAR" TARGET="_parent">FEAR</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-animation.html#rst.animation.EmotionExpression.Emotion.FEAR" TITLE="Value rst.animation.EmotionExpression.Emotion.FEAR" TARGET="_parent">5</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "3" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-animation.html#rst.animation.BinocularHeadGaze" TITLE="Message rst.animation.BinocularHeadGaze" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">BinocularHeadGaze</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.SphericalDirectionFloat" TITLE="Message rst.geometry.SphericalDirectionFloat" TARGET="_parent">SphericalDirectionFloat</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-animation.html#rst.animation.BinocularHeadGaze.target" TITLE="Field rst.animation.BinocularHeadGaze.target" TARGET="_parent" PORT="target">target</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT32.html#FLOAT32" TITLE="Fundamental FLOAT32" TARGET="_parent">FLOAT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-animation.html#rst.animation.BinocularHeadGaze.eye_vergence" TITLE="Field rst.animation.BinocularHeadGaze.eye_vergence" TARGET="_parent" PORT="eye_vergence">eye_vergence</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.SphericalDirectionFloat" TITLE="Message rst.geometry.SphericalDirectionFloat" TARGET="_parent">SphericalDirectionFloat</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-animation.html#rst.animation.BinocularHeadGaze.offset" TITLE="Field rst.animation.BinocularHeadGaze.offset" TARGET="_parent" PORT="offset">offset</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "4" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.SphericalDirectionFloat" TITLE="Message rst.geometry.SphericalDirectionFloat" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">SphericalDirectionFloat</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT32.html#FLOAT32" TITLE="Fundamental FLOAT32" TARGET="_parent">FLOAT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.SphericalDirectionFloat.azimuth" TITLE="Field rst.geometry.SphericalDirectionFloat.azimuth" TARGET="_parent" PORT="azimuth">azimuth</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT32.html#FLOAT32" TITLE="Fundamental FLOAT32" TARGET="_parent">FLOAT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-geometry.html#rst.geometry.SphericalDirectionFloat.elevation" TITLE="Field rst.geometry.SphericalDirectionFloat.elevation" TARGET="_parent" PORT="elevation">elevation</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "1" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-animation.html#rst.animation.HeadAnimation" TITLE="Message rst.animation.HeadAnimation" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">HeadAnimation</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-animation.html#rst.animation.HeadAnimation.Animation" TITLE="Enum rst.animation.HeadAnimation.Animation" TARGET="_parent">Animation</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-animation.html#rst.animation.HeadAnimation.animation" TITLE="Field rst.animation.HeadAnimation.animation" TARGET="_parent" PORT="animation">animation</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-UINT32.html#UINT32" TITLE="Fundamental UINT32" TARGET="_parent">UINT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-animation.html#rst.animation.HeadAnimation.repetitions" TITLE="Field rst.animation.HeadAnimation.repetitions" TARGET="_parent" PORT="repetitions">repetitions</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-UINT32.html#UINT32" TITLE="Fundamental UINT32" TARGET="_parent">UINT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-animation.html#rst.animation.HeadAnimation.duration_each" TITLE="Field rst.animation.HeadAnimation.duration_each" TARGET="_parent" PORT="duration_each">duration_each</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-FLOAT32.html#FLOAT32" TITLE="Fundamental FLOAT32" TARGET="_parent">FLOAT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-animation.html#rst.animation.HeadAnimation.emphasis_scale" TITLE="Field rst.animation.HeadAnimation.emphasis_scale" TARGET="_parent" PORT="emphasis_scale">emphasis_scale</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "2" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-animation.html#rst.animation.HeadAnimation.Animation" TITLE="Enum rst.animation.HeadAnimation.Animation" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/enum.svg"></IMG></TD><TD ALIGN="left">Animation</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-animation.html#rst.animation.HeadAnimation.Animation.IDLE" TITLE="Value rst.animation.HeadAnimation.Animation.IDLE" TARGET="_parent">IDLE</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-animation.html#rst.animation.HeadAnimation.Animation.IDLE" TITLE="Value rst.animation.HeadAnimation.Animation.IDLE" TARGET="_parent">0</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-animation.html#rst.animation.HeadAnimation.Animation.HEAD_NOD" TITLE="Value rst.animation.HeadAnimation.Animation.HEAD_NOD" TARGET="_parent">HEAD_NOD</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-animation.html#rst.animation.HeadAnimation.Animation.HEAD_NOD" TITLE="Value rst.animation.HeadAnimation.Animation.HEAD_NOD" TARGET="_parent">1</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-animation.html#rst.animation.HeadAnimation.Animation.HEAD_SHAKE" TITLE="Value rst.animation.HeadAnimation.Animation.HEAD_SHAKE" TARGET="_parent">HEAD_SHAKE</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-animation.html#rst.animation.HeadAnimation.Animation.HEAD_SHAKE" TITLE="Value rst.animation.HeadAnimation.Animation.HEAD_SHAKE" TARGET="_parent">2</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-animation.html#rst.animation.HeadAnimation.Animation.EYEBLINK_LEFT" TITLE="Value rst.animation.HeadAnimation.Animation.EYEBLINK_LEFT" TARGET="_parent">EYEBLINK_LEFT</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-animation.html#rst.animation.HeadAnimation.Animation.EYEBLINK_LEFT" TITLE="Value rst.animation.HeadAnimation.Animation.EYEBLINK_LEFT" TARGET="_parent">3</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-animation.html#rst.animation.HeadAnimation.Animation.EYEBLINK_RIGHT" TITLE="Value rst.animation.HeadAnimation.Animation.EYEBLINK_RIGHT" TARGET="_parent">EYEBLINK_RIGHT</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-animation.html#rst.animation.HeadAnimation.Animation.EYEBLINK_RIGHT" TITLE="Value rst.animation.HeadAnimation.Animation.EYEBLINK_RIGHT" TARGET="_parent">4</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-animation.html#rst.animation.HeadAnimation.Animation.EYEBLINK_BOTH" TITLE="Value rst.animation.HeadAnimation.Animation.EYEBLINK_BOTH" TARGET="_parent">EYEBLINK_BOTH</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-animation.html#rst.animation.HeadAnimation.Animation.EYEBLINK_BOTH" TITLE="Value rst.animation.HeadAnimation.Animation.EYEBLINK_BOTH" TARGET="_parent">5</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-animation.html#rst.animation.HeadAnimation.Animation.EYEBROWS_RAISE" TITLE="Value rst.animation.HeadAnimation.Animation.EYEBROWS_RAISE" TARGET="_parent">EYEBROWS_RAISE</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-animation.html#rst.animation.HeadAnimation.Animation.EYEBROWS_RAISE" TITLE="Value rst.animation.HeadAnimation.Animation.EYEBROWS_RAISE" TARGET="_parent">6</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-animation.html#rst.animation.HeadAnimation.Animation.EYEBROWS_LOWER" TITLE="Value rst.animation.HeadAnimation.Animation.EYEBROWS_LOWER" TARGET="_parent">EYEBROWS_LOWER</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-animation.html#rst.animation.HeadAnimation.Animation.EYEBROWS_LOWER" TITLE="Value rst.animation.HeadAnimation.Animation.EYEBROWS_LOWER" TARGET="_parent">7</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-animation.html#rst.animation.HeadAnimation.Animation.ENGAGEMENT_LEFT" TITLE="Value rst.animation.HeadAnimation.Animation.ENGAGEMENT_LEFT" TARGET="_parent">ENGAGEMENT_LEFT</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-animation.html#rst.animation.HeadAnimation.Animation.ENGAGEMENT_LEFT" TITLE="Value rst.animation.HeadAnimation.Animation.ENGAGEMENT_LEFT" TARGET="_parent">8</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-animation.html#rst.animation.HeadAnimation.Animation.ENGAGEMENT_RIGHT" TITLE="Value rst.animation.HeadAnimation.Animation.ENGAGEMENT_RIGHT" TARGET="_parent">ENGAGEMENT_RIGHT</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-animation.html#rst.animation.HeadAnimation.Animation.ENGAGEMENT_RIGHT" TITLE="Value rst.animation.HeadAnimation.Animation.ENGAGEMENT_RIGHT" TARGET="_parent">9</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"]; "5" -> "6"[dir=both,arrowtail=odiamond]; "5":emotion -> "6"[]; "3":offset -> "4"[]; "3":target -> "4"[]; "1" -> "2"[dir=both,arrowtail=odiamond]; "1":animation -> "2"[]; }

clearer: should be made invisible via css

Message HeadAnimation

class rst.animation.HeadAnimation

This type describes a set of simple (predefined) animations to be executed on a humanoid robotic head.

Code author: Simon Schulz <sschulz@techfak.uni-bielefeld.de>

animation
Type:rst.animation.HeadAnimation.Animation

Requested animation to perform.

repetitions
Type:UINT32

Constraint: value > 0

Number of repetitions.

Defaults to one repetition

duration_each
Type:UINT32

Constraint: value > 0

Unit: millisecond

The duration of each execution of the defined animation.

The duration is given in milliseconds.

emphasis_scale
Type:FLOAT32

Constraint: value > 0

How to scale the animation with respect to the expressed emphasis.

Given as a float value. Different value ranges express the following meanings:

  • ]0, 1[: less pronounced
  • [1, 1]: as designed, no special emphasis
  • ]1, n]: over pronounced

Download this file

message HeadAnimation {

    /**
     * Predefined animation to execute by the head.
     */
    enum Animation {
        /**
         * No animation, idle.
         */
        IDLE = 0;
        /**
         * Nodding.
         */
        HEAD_NOD = 1;
        /**
         * Shake.
         */
        HEAD_SHAKE = 2;
        /**
         * Blink with the left eye.
         */
        EYEBLINK_LEFT = 3;
        /**
         * Blink with the right eye.
         */
        EYEBLINK_RIGHT = 4;
        /**
         * Blink with both eyes.
         */
        EYEBLINK_BOTH = 5;
        /**
         * Raise both eyebrows
         */
        EYEBROWS_RAISE = 6;
        /**
         * Lower the eyebrows.
         */
        EYEBROWS_LOWER = 7;
        /**
         * Shift the head orientation to the left.
         */
        ENGAGEMENT_LEFT = 8;
        /**
         * Shift the head orientation to the right.
         */
        ENGAGEMENT_RIGHT = 9;
    }

    /**
     * Requested animation to perform.
     */
    required Animation animation = 1;

    /**
     * Number of repetitions.
     *
     * Defaults to one repetition
     *
     */
    // @constraint(value > 0)
    required uint32 repetitions = 2 [default = 1];

    /**
     * The duration of each execution of the defined animation.
     *
     * The duration is given in milliseconds.
     *
     */
    // @constraint(value > 0)
    // @unit(millisecond)
    required uint32 duration_each = 3;

    /**
     * How to scale the animation with respect to the expressed emphasis.
     *
     * Given as a float value. Different value ranges express the
     * following meanings:
     *
     *  * ``]0, 1[``: less pronounced
     *
     *  * ``[1, 1]``: as designed, no special emphasis
     *
     *  * ``]1, n]``: over pronounced
     */
    // @constraint(value > 0)
    required float emphasis_scale = 4 [default = 1.0];

}

Message Animation

class rst.animation.HeadAnimation.Animation

Predefined animation to execute by the head.

IDLE
= 0

No animation, idle.

HEAD_NOD
= 1

Nodding

HEAD_SHAKE
= 2

Shake

= 3

Blink with the left eye.

= 4

Blink with the right eye.

= 5

Blink with both eyes.

EYEBROWS_RAISE
= 6

Raise both eyebrows

EYEBROWS_LOWER
= 7

Lower the eyebrows.

ENGAGEMENT_LEFT
= 8

Shift the head orientation to the left.

ENGAGEMENT_RIGHT
= 9

Shift the head orientation to the right.

Download this file

    enum Animation {
        /**
         * No animation, idle.
         */
        IDLE = 0;
        /**
         * Nodding.
         */
        HEAD_NOD = 1;
        /**
         * Shake.
         */
        HEAD_SHAKE = 2;
        /**
         * Blink with the left eye.
         */
        EYEBLINK_LEFT = 3;
        /**
         * Blink with the right eye.
         */
        EYEBLINK_RIGHT = 4;
        /**
         * Blink with both eyes.
         */
        EYEBLINK_BOTH = 5;
        /**
         * Raise both eyebrows
         */
        EYEBROWS_RAISE = 6;
        /**
         * Lower the eyebrows.
         */
        EYEBROWS_LOWER = 7;
        /**
         * Shift the head orientation to the left.
         */
        ENGAGEMENT_LEFT = 8;
        /**
         * Shift the head orientation to the right.
         */
        ENGAGEMENT_RIGHT = 9;
    }

Message BinocularHeadGaze

class rst.animation.BinocularHeadGaze

Description of a gaze configuration of a system having tow eyes mounted on a pan-tilt joint (something like a human or robot head).

Code author: Simon Schulz <sschulz@techfak.uni-bielefeld.de>

target
Type:rst.geometry.SphericalDirectionFloat

Spherical direction of the target to gaze at with respect to a neutral “straight-ahead” direction of the described “head”. The direction originates from the center point between both eyes. The underlying Cartesian coordinate system of the spherical coordinates is as follows:

  • The positive X axis points towards the “straight-ahead” direction.
  • The positive Y axis points to the head’s left direction.
  • The positive Z axis points up with respect to the “straight-ahead” direction of the head.
eye_vergence
Type:FLOAT32

Unit: radian

Vergence angle of both eyes. This describes how both eyes deviate from a parallel configuration. The default of 0.0 describes a straight, parallel gaze. The angles are expressed as a rotation around the normal vector of a plane defined by the connecting line between both eyes and a ray that points into the neutral “straight-ahead” direction of the eyes. Each eye’s adjustment angle is 0.5 times the given value where positive values correspond to the eyes moving inwards.

offset
Type:rst.geometry.SphericalDirectionFloat

Offset angles describing how much the head direction deviates from target. The overall gaze (head + eyes) will still point to the requested target

[0, 0] corresponds to no offset.

Download this file

message BinocularHeadGaze {

    /**
     * Spherical direction of the target to gaze at with respect to a
     * neutral "straight-ahead" direction of the described "head". The
     * direction originates from the center point between both eyes. The
     * underlying Cartesian coordinate system of the spherical
     * coordinates is as follows:
     *
     *  * The positive X axis points towards the "straight-ahead"
     *    direction.
     *
     *  * The positive Y axis points to the head's left direction.
     *
     *  * The positive Z axis points up with respect to the
     *    "straight-ahead" direction of the head.
     */
    required .rst.geometry.SphericalDirectionFloat target = 1;

    /**
     * Vergence angle of both eyes. This describes how both eyes deviate
     * from a parallel configuration. The default of 0.0 describes a
     * straight, parallel gaze. The angles are expressed as a rotation
     * around the normal vector of a plane defined by the connecting
     * line between both eyes and a ray that points into the neutral
     * "straight-ahead" direction of the eyes. Each eye's adjustment
     * angle is 0.5 times the given value where positive values
     * correspond to the eyes moving inwards.
     */
    // @unit(radian)
    required float eye_vergence = 2 [default = 0.0];

    /**
     * Offset angles describing how much the head direction deviates
     * from @ref .target. The overall gaze (head + eyes) will still
     * point to the requested target
     *
     * [0, 0] corresponds to no offset.
     */
    required .rst.geometry.SphericalDirectionFloat offset = 3;

}

Message EmotionExpression

class rst.animation.EmotionExpression

Description of one of a set of predefined emotions to express by a robot for a certain time.

Code author: Simon Schulz <sschulz@techfak.uni-bielefeld.de>

emotion
Type:rst.animation.EmotionExpression.Emotion

Indicates which emotion to express.

duration
Type:UINT32

Constraint: value > 0

Unit: millisecond

The duration how long this emotion should be displayed.

The duration is given in milliseconds.

Download this file

message EmotionExpression {

    /**
     * The available emotions to express. Apart from being neutral,
     * these relate to Ekman's basic emotions.
     */
    enum Emotion {
        /**
         * Neutral expression.
         */
        NEUTRAL = 0;
        /**
         * Happiness.
         */
        HAPPY = 1;
        /**
         * Sadness.
         */
        SAD = 2;
        /**
         * Being angry.
         */
        ANGRY = 3;
        /**
         * Being surprised.
         */
        SURPRISED = 4;
        /**
         * Being feared.
         */
        FEAR = 5;
    }

    /**
     * Indicates which emotion to express.
     */
    required Emotion emotion = 1;

    /**
     * The duration how long this emotion should be displayed.
     *
     * The duration is given in milliseconds.
     *
     */
    // @constraint(value > 0)
    // @unit(millisecond)
    required uint32 duration = 2;

}

Message Emotion

class rst.animation.EmotionExpression.Emotion

The available emotions to express. Apart from being neutral, these relate to Ekman’s basic emotions.

NEUTRAL
= 0

Neutral expression.

HAPPY
= 1

Happiness

SAD
= 2

Sadness

ANGRY
= 3

Being angry.

SURPRISED
= 4

Being surprised.

FEAR
= 5

Being feared.

Download this file

    enum Emotion {
        /**
         * Neutral expression.
         */
        NEUTRAL = 0;
        /**
         * Happiness.
         */
        HAPPY = 1;
        /**
         * Sadness.
         */
        SAD = 2;
        /**
         * Being angry.
         */
        ANGRY = 3;
        /**
         * Being surprised.
         */
        SURPRISED = 4;
        /**
         * Being feared.
         */
        FEAR = 5;
    }