Commit ·
fc9e96f
1
Parent(s): 080e85c
Increase control loop to 100Hz (daemon updated), adjust animation frequencies
Browse files
reachy_mini_ha_voice/animations/conversation_animations.json
CHANGED
|
@@ -13,7 +13,7 @@
|
|
| 13 |
"z_amplitude_m": 0.005,
|
| 14 |
"antenna_amplitude_rad": 0.3,
|
| 15 |
"antenna_move_name": "both",
|
| 16 |
-
"frequency_hz": 0.
|
| 17 |
},
|
| 18 |
"thinking": {
|
| 19 |
"description": "Processing/thinking animation - head tilts side to side",
|
|
@@ -23,7 +23,7 @@
|
|
| 23 |
"z_amplitude_m": 0.008,
|
| 24 |
"antenna_amplitude_rad": 0.5,
|
| 25 |
"antenna_move_name": "wiggle",
|
| 26 |
-
"frequency_hz": 0.
|
| 27 |
},
|
| 28 |
"speaking": {
|
| 29 |
"description": "Animation while TTS is playing - lively head movement",
|
|
@@ -33,7 +33,7 @@
|
|
| 33 |
"z_amplitude_m": 0.006,
|
| 34 |
"antenna_amplitude_rad": 0.5,
|
| 35 |
"antenna_move_name": "wiggle",
|
| 36 |
-
"frequency_hz":
|
| 37 |
},
|
| 38 |
"happy": {
|
| 39 |
"description": "Happy/positive response",
|
|
@@ -41,7 +41,7 @@
|
|
| 41 |
"z_amplitude_m": 0.015,
|
| 42 |
"antenna_amplitude_rad": 0.7,
|
| 43 |
"antenna_move_name": "both",
|
| 44 |
-
"frequency_hz":
|
| 45 |
},
|
| 46 |
"sad": {
|
| 47 |
"description": "Sad/negative response - head droops",
|
|
@@ -51,7 +51,7 @@
|
|
| 51 |
"z_offset_m": -0.015,
|
| 52 |
"antenna_amplitude_rad": 0.15,
|
| 53 |
"antenna_move_name": "both",
|
| 54 |
-
"frequency_hz": 0.
|
| 55 |
},
|
| 56 |
"confused": {
|
| 57 |
"description": "Confused/error state - head tilts",
|
|
@@ -60,7 +60,7 @@
|
|
| 60 |
"pitch_amplitude_rad": 0.08,
|
| 61 |
"antenna_amplitude_rad": 0.6,
|
| 62 |
"antenna_move_name": "wiggle",
|
| 63 |
-
"frequency_hz":
|
| 64 |
},
|
| 65 |
"alert": {
|
| 66 |
"description": "Alert/timer finished - quick movements",
|
|
@@ -68,11 +68,11 @@
|
|
| 68 |
"z_amplitude_m": 0.02,
|
| 69 |
"antenna_amplitude_rad": 0.8,
|
| 70 |
"antenna_move_name": "both",
|
| 71 |
-
"frequency_hz":
|
| 72 |
}
|
| 73 |
},
|
| 74 |
"settings": {
|
| 75 |
"amplitude_scale": 1.0,
|
| 76 |
-
"transition_duration_s": 0.
|
| 77 |
}
|
| 78 |
}
|
|
|
|
| 13 |
"z_amplitude_m": 0.005,
|
| 14 |
"antenna_amplitude_rad": 0.3,
|
| 15 |
"antenna_move_name": "both",
|
| 16 |
+
"frequency_hz": 0.8
|
| 17 |
},
|
| 18 |
"thinking": {
|
| 19 |
"description": "Processing/thinking animation - head tilts side to side",
|
|
|
|
| 23 |
"z_amplitude_m": 0.008,
|
| 24 |
"antenna_amplitude_rad": 0.5,
|
| 25 |
"antenna_move_name": "wiggle",
|
| 26 |
+
"frequency_hz": 0.6
|
| 27 |
},
|
| 28 |
"speaking": {
|
| 29 |
"description": "Animation while TTS is playing - lively head movement",
|
|
|
|
| 33 |
"z_amplitude_m": 0.006,
|
| 34 |
"antenna_amplitude_rad": 0.5,
|
| 35 |
"antenna_move_name": "wiggle",
|
| 36 |
+
"frequency_hz": 1.2
|
| 37 |
},
|
| 38 |
"happy": {
|
| 39 |
"description": "Happy/positive response",
|
|
|
|
| 41 |
"z_amplitude_m": 0.015,
|
| 42 |
"antenna_amplitude_rad": 0.7,
|
| 43 |
"antenna_move_name": "both",
|
| 44 |
+
"frequency_hz": 1.5
|
| 45 |
},
|
| 46 |
"sad": {
|
| 47 |
"description": "Sad/negative response - head droops",
|
|
|
|
| 51 |
"z_offset_m": -0.015,
|
| 52 |
"antenna_amplitude_rad": 0.15,
|
| 53 |
"antenna_move_name": "both",
|
| 54 |
+
"frequency_hz": 0.4
|
| 55 |
},
|
| 56 |
"confused": {
|
| 57 |
"description": "Confused/error state - head tilts",
|
|
|
|
| 60 |
"pitch_amplitude_rad": 0.08,
|
| 61 |
"antenna_amplitude_rad": 0.6,
|
| 62 |
"antenna_move_name": "wiggle",
|
| 63 |
+
"frequency_hz": 1.0
|
| 64 |
},
|
| 65 |
"alert": {
|
| 66 |
"description": "Alert/timer finished - quick movements",
|
|
|
|
| 68 |
"z_amplitude_m": 0.02,
|
| 69 |
"antenna_amplitude_rad": 0.8,
|
| 70 |
"antenna_move_name": "both",
|
| 71 |
+
"frequency_hz": 2.0
|
| 72 |
}
|
| 73 |
},
|
| 74 |
"settings": {
|
| 75 |
"amplitude_scale": 1.0,
|
| 76 |
+
"transition_duration_s": 0.3
|
| 77 |
}
|
| 78 |
}
|
reachy_mini_ha_voice/movement_manager.py
CHANGED
|
@@ -50,8 +50,8 @@ from .animation_player import AnimationPlayer
|
|
| 50 |
# Constants
|
| 51 |
# =============================================================================
|
| 52 |
|
| 53 |
-
# Control loop frequency -
|
| 54 |
-
CONTROL_LOOP_FREQUENCY_HZ =
|
| 55 |
TARGET_PERIOD = 1.0 / CONTROL_LOOP_FREQUENCY_HZ
|
| 56 |
|
| 57 |
# Antenna freeze parameters (listening mode)
|
|
|
|
| 50 |
# Constants
|
| 51 |
# =============================================================================
|
| 52 |
|
| 53 |
+
# Control loop frequency - daemon now supports higher rates
|
| 54 |
+
CONTROL_LOOP_FREQUENCY_HZ = 100 # 100Hz control loop (same as conversation_app)
|
| 55 |
TARGET_PERIOD = 1.0 / CONTROL_LOOP_FREQUENCY_HZ
|
| 56 |
|
| 57 |
# Antenna freeze parameters (listening mode)
|