-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrecorded_moves_example.py
More file actions
47 lines (36 loc) · 1.55 KB
/
recorded_moves_example.py
File metadata and controls
47 lines (36 loc) · 1.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
"""Demonstrate and play all available moves from a dataset for Reachy Mini.
Run :
python3 recorded_moves_example.py -l [dance, emotions]
"""
import argparse
from reachy_mini import ReachyMini
from reachy_mini.motion.recorded_move import RecordedMove, RecordedMoves
def main(dataset_path: str) -> None:
"""Connect to Reachy and run the main demonstration loop."""
recorded_moves = RecordedMoves(dataset_path)
print("Connecting to Reachy Mini...")
with ReachyMini(use_sim=False, media_backend="no_media") as reachy:
print("Connection successful! Starting dance sequence...\n")
try:
while True:
for move_name in recorded_moves.list_moves():
move: RecordedMove = recorded_moves.get(move_name)
print(f"Playing move: {move_name}: {move.description}\n")
# print(f"params: {move.move_params}")
reachy.play_move(move, initial_goto_duration=1.0)
except KeyboardInterrupt:
print("\n Sequence interrupted by user. Shutting down.")
if __name__ == "__main__":
parser = argparse.ArgumentParser(
description="Demonstrate and play all available dance moves for Reachy Mini."
)
parser.add_argument(
"-l", "--library", type=str, default="dance", choices=["dance", "emotions"]
)
args = parser.parse_args()
dataset_path = (
"pollen-robotics/reachy-mini-dances-library"
if args.library == "dance"
else "pollen-robotics/reachy-mini-emotions-library"
)
main(dataset_path)