patch4hlc.diff

S. Schulz, 12/17/2015 10:46 AM

Download (4.72 KB)

View differences:

proto/sandbox/rst/animation/HeadAnimation.proto
1
package rst.animation;
2

  
3
option java_outer_classname = "HeadAnimationType";
4

  
5
/**
6
 * This type describes a set of simple Headanimations to be executed
7
 * on a humanoid robotic head.
8
 *
9
 * @author Simon Schulz <sschulz@techfak.uni-bielefeld.de>
10
 */
11
message HeadAnimation {
12

  
13
    /**
14
     * some predefined animations (stupid: we have to use AnimationType_t because of java outer classname conflict)
15
     */
16
    enum HeadAnimationID {
17
        IDLE  		= 0; //no animation, idle
18
        HEAD_NOD   	= 1; //nod
19
        HEAD_SHAKE 	= 2; //shake
20
        EYEBLINK_L 	= 3; //blink with the left eye
21
        EYEBLINK_R 	= 4; //blink with the right eye
22
        EYEBLINK_BOTH 	= 5; //blink with both eyes
23
        EYEBROWS_RAISE 	= 6; //raise both eyebrows
24
        EYEBROWS_LOWER 	= 7; //lower the eyebrows
25
        ENGAGEMENT_LEFT = 8; //shift the head orientation to the left
26
        ENGAGEMENT_RIGHT = 9; //shift the head orientation to the right
27
    }
28

  
29
    /**
30
    * Requested Headanimation
31
    */
32
    required HeadAnimationID target = 1;
33

  
34
    /**
35
    * Number of repetitions, defaults to one repetition
36
    */
37
    required uint32 repetitions   = 2 [default = 1];
38

  
39
    /**
40
    * The duration of each animation. This scales how long one animation takes
41
    *
42
    * The duration is given in milliseconds.
43
    */
44
    // @unit(millisecond)
45
    required uint32 duration_each = 3;
46

  
47
    /**
48
    * How to scale the animation. The default of 1.0 executes the animation 1:1
49
    *
50
    * given as a float value: 
51
    * ]0, 1[  => less pronounced
52
    * [1, 1]  => normal version
53
    * ]1, n]  => over pronounced
54
    * [-n, 0] => undefined / ignored
55
    */
56
    required float  scale         = 4 [default = 1.0];
57
}
proto/sandbox/rst/robot/EmotionExpression.proto
1
package rst.robot;
2

  
3
option java_outer_classname = "EmotionExpression";
4

  
5
/**
6
 * Emotional expressions for humanoid robotic heads
7
 *
8
 * @author Simon Schulz <sschulz@techfak.uni-bielefeld.de>
9
 */
10
message EmotionExpression {
11

  
12
    /**
13
     * for now we just use fixed, simple basic emotion states
14
     */
15
    enum EmotionID {
16
        NEUTRAL  = 0; 
17
        HAPPY    = 1; 
18
        SAD      = 2; 
19
        ANGRY    = 3;
20
        SURPRISED = 4;
21
        FEAR     = 5;
22
    }
23

  
24
    /**
25
    * which expression to show
26
    */
27
    required EmotionID value = 1;
28

  
29
    /**
30
    * The duration how long this emotion should be displayed.
31
    *
32
    * The duration is given in milliseconds.
33
    */
34
    // @unit(millisecond)
35
    required uint32 duration = 2;
36

  
37
}
proto/sandbox/rst/robot/GazeDirection.proto
1
package rst.robot;
2

  
3
option java_outer_classname = "GazeDirection";
4

  
5
import "rst/math/Vec3DFloat.proto";
6

  
7
/**
8
 * Gaze direction target for robotic head 
9
 *
10
 * @author Simon Schulz <sschulz@techfak.uni-bielefeld.de>
11
 */
12
message GazeDirection {
13
    /**
14
     * Gaze target direction:
15
     * @ref .x -> pan : head pan  rotation angle. positive = person looks to his right side
16
     * @ref .y -> tilt: head tilt rotation angle. positive = person looks up
17
     * @ref .z -> roll: head roll rotation angle. positive = person's head rolled to his right shoulder
18
     * Angles are given in degrees
19
     */
20
    required math.Vec3DFloat direction = 1;
21

  
22
    /**
23
    * Vergence angle. This describes how both eyes deviate from a straight view.
24
    * The default of 0.0 describes a straight, parallel gaze.
25
    * Angle is given in degrees
26
    */
27
    required float eye_vergence = 2 [default = 0.0];
28

  
29

  
30
    /**
31
    * Offset angles describing how much the angular Head deflection is offset
32
    * from the gaze target while the overall gaze (Head + Eyes) will still point to the requested
33
    * target
34
    * @ref .x -> pan offset : head pan  rotation angle offset. positive = person looks to his right side
35
    * @ref .y -> tilt offset: head tilt rotation angle offset. positive = person looks up
36
    * @ref .z -> roll offset: head roll rotation angle offset. positive = person's head rolled to his right shoulder
37
    * Default of Vec3DFloat is [0,0,0], this corresponds to no offset.
38
    * Angles are given in degrees
39
    */
40
    required float math.Vec3DFloat offset = 3; 
41
}