reversed.patch
a/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 |
} |
a/proto/sandbox/rst/robot/EmotionExpression.proto | ||
---|---|---|
1 |
package rst.robot; |
|
2 | ||
3 |
option java_outer_classname = "EmotionExpressionType"; |
|
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 |
} |
a/proto/sandbox/rst/robot/GazeDirection.proto | ||
---|---|---|
1 |
package rst.robot; |
|
2 | ||
3 |
option java_outer_classname = "GazeDirectionType"; |
|
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 |
} |