add-exercise
Add a new exercise to vibereps. Use when the user wants to create a new exercise type with pose detection. Handles creating the JSON config file and detection logic.
Installation
Suivez les instructions du dépôt pour votre agent. Consultez les fichiers et dépendances avant l’installation.
Voir la source ↗GuidesInstructions
Add New Exercise
Instructions
When adding a new exercise to vibereps:
-
Read the template at
exercises/_template.jsonfor the JSON structure -
Choose a detection type based on the exercise motion:
-
angle- Joint angle changes (squats, pushups) -
height_baseline- Vertical movement from baseline (calf raises) -
height_relative- Position relative to reference point (jumping jacks) -
tilt- Torso lean (side stretches) -
distance- Body parts approaching each other (standing crunches) -
width_ratio- Shoulder/hip width ratio (torso twists) -
quadrant_tracking- Circular arm motion (arm circles)
-
-
Create the JSON config in
exercises/{exercise_name}.json -
Test detection by running the tracker
MediaPipe Landmark IDs
Key landmarks for detection:
- Shoulders: 11 (left), 12 (right)
- Elbows: 13 (left), 14 (right)
- Wrists: 15 (left), 16 (right)
- Hips: 23 (left), 24 (right)
- Knees: 25 (left), 26 (right)
- Ankles: 27 (left), 28 (right)
Example: Angle-based exercise
{
"id": "squats",
"name": "Squats",
"description": "Strengthens legs",
"category": "strength",
"reps": { "normal": 10, "quick": 5 },
"detection": {
"type": "angle",
"landmarks": {
"joint": [23, 25, 27],
"joint_alt": [24, 26, 28]
},
"thresholds": { "down": 120, "up": 150 }
},
"instructions": {
"ready": "Squat down below {down}°",
"down": "Good! Now stand up"
}
}
Testing
Run the tracker to test:
./exercise_tracker.py user_prompt_submit '{}'
Exemples
Consultez les exemples du dépôt source.
Voir la source ↗Historique source
- Date d’indexation
- 2026-01-20
- Mise à jour de l’index
- 2026-02-02
- Branch
- main
Les dates concernent ce répertoire. Consultez le dépôt pour l’historique du code.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!