Instructions to use Tromset/flymotion with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Microduck
How to use Tromset/flymotion with Microduck:
# Replace SLOT with the slot specified in the model card (walk, stand, sitstand, ground_pick, kick_left, kick_right, roulade). sudo robotctl policy load SLOT Tromset/flymotion
- Notebooks
- Google Colab
- Kaggle
Download bench/flymotion0.2lite-sim.json from Tromset/flymotion: direct link, hf CLI and curl.
- Browser
- Download file 20.1 kB
-
https://huggingface.co/Tromset/flymotion/resolve/main/bench/flymotion0.2lite-sim.json
- Command line
-
hf download hf://Tromset/flymotion/bench/flymotion0.2lite-sim.json
-
curl -L -o flymotion0.2lite-sim.json https://huggingface.co/Tromset/flymotion/resolve/main/bench/flymotion0.2lite-sim.json
20.1 kB
| { | |
| "model": "flymotion0.2lite", | |
| "robot": "microduck-sim", | |
| "passed": 35, | |
| "total": 36, | |
| "results": [ | |
| { | |
| "case": 1, | |
| "request": "Avance de 50 cm.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "J'avance de 50 cm.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "walk", | |
| "direction": "forward", | |
| "value": 0.5 | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 0.5, | |
| "y": 0.0, | |
| "heading": 0.0, | |
| "head": {}, | |
| "skills": [], | |
| "seconds": 6.04, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 29.01, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 2, | |
| "request": "Recule de 30 centimètres.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "Je recule de 30 cm.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "walk", | |
| "direction": "backward", | |
| "value": 0.3 | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [ | |
| "this robot cannot walk backward for real: it turns, walks forward and turns back" | |
| ], | |
| "sim": { | |
| "x": -0.3, | |
| "y": 0.0, | |
| "heading": -0.0, | |
| "head": {}, | |
| "skills": [], | |
| "seconds": 28.39, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 5.71, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 3, | |
| "request": "Tourne à droite.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "Je tourne à droite.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "turn", | |
| "direction": "right", | |
| "value": 90 | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 0.0, | |
| "y": 0.0, | |
| "heading": -90.0, | |
| "head": {}, | |
| "skills": [], | |
| "seconds": 7.54, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 4.96, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 4, | |
| "request": "Tourne à gauche de 45 degrés.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "Je tourne à gauche de 45 degrés.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "turn", | |
| "direction": "left", | |
| "value": 45 | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 0.0, | |
| "y": 0.0, | |
| "heading": 45.0, | |
| "head": {}, | |
| "skills": [], | |
| "seconds": 4.52, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 4.76, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 5, | |
| "request": "Fais demi-tour.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "Je fais demi-tour.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "turn", | |
| "direction": "left", | |
| "value": 180 | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 0.0, | |
| "y": 0.0, | |
| "heading": 180.0, | |
| "head": {}, | |
| "skills": [], | |
| "seconds": 13.58, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 4.66, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 6, | |
| "request": "Walk forward two meters.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "Walking forward 2 m.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "walk", | |
| "direction": "forward", | |
| "value": 2 | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 2.0, | |
| "y": 0.0, | |
| "heading": 0.0, | |
| "head": {}, | |
| "skills": [], | |
| "seconds": 19.68, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 4.72, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 7, | |
| "request": "Turn right 90 degrees, then walk 1 meter.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "Turning right, then walking forward 1 m.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "turn", | |
| "direction": "right", | |
| "value": 90 | |
| }, | |
| { | |
| "action": "walk", | |
| "direction": "forward", | |
| "value": 1 | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": -0.0, | |
| "y": -1.0, | |
| "heading": -90.0, | |
| "head": {}, | |
| "skills": [], | |
| "seconds": 16.63, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 7.25, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 8, | |
| "request": "Avance d'un mètre, tourne à droite puis frappe le ballon du pied gauche.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "J'avance de 1 m, puis je tourne à droite, puis je lance kick_left.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "walk", | |
| "direction": "forward", | |
| "value": 1 | |
| }, | |
| { | |
| "action": "turn", | |
| "direction": "right", | |
| "value": 90 | |
| }, | |
| { | |
| "action": "kick_left" | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 1.0, | |
| "y": 0.0, | |
| "heading": -90.0, | |
| "head": {}, | |
| "skills": [ | |
| "kick_left" | |
| ], | |
| "seconds": 20.63, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 8.6, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 9, | |
| "request": "Step to the left by 20 cm.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "Stepping left 20 cm.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "walk", | |
| "direction": "left", | |
| "value": 0.2 | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 0.0, | |
| "y": 0.2, | |
| "heading": 0.0, | |
| "head": {}, | |
| "skills": [], | |
| "seconds": 5.01, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 5.24, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 10, | |
| "request": "Décale-toi de 40 cm vers la droite.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "Je me décale de 40 cm à droite.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "walk", | |
| "direction": "right", | |
| "value": 0.4 | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 0.0, | |
| "y": -0.4, | |
| "heading": 0.0, | |
| "head": {}, | |
| "skills": [], | |
| "seconds": 8.52, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 4.87, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 11, | |
| "request": "Kick the ball with your right foot.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "Running kick_right.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "kick_right" | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 0.0, | |
| "y": 0.0, | |
| "heading": 0.0, | |
| "head": {}, | |
| "skills": [ | |
| "kick_right" | |
| ], | |
| "seconds": 4.0, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 3.35, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 12, | |
| "request": "Fais une roulade.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "Je lance roulade.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "roulade" | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 0.0, | |
| "y": 0.0, | |
| "heading": 0.0, | |
| "head": {}, | |
| "skills": [ | |
| "roulade" | |
| ], | |
| "seconds": 4.0, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 3.51, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 13, | |
| "request": "Assieds-toi.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "Je lance sit_toggle.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "sit_toggle" | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 0.0, | |
| "y": 0.0, | |
| "heading": 0.0, | |
| "head": {}, | |
| "skills": [ | |
| "sit_toggle" | |
| ], | |
| "seconds": 4.0, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 3.46, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 14, | |
| "request": "Bow to greet our guests.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "Running polite-bow.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "polite-bow" | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 0.0, | |
| "y": 0.0, | |
| "heading": 0.0, | |
| "head": {}, | |
| "skills": [ | |
| "polite-bow" | |
| ], | |
| "seconds": 4.0, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 3.9, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 15, | |
| "request": "Ramasse ce qui est par terre.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "Je lance ground_pick.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "ground_pick" | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 0.0, | |
| "y": 0.0, | |
| "heading": 0.0, | |
| "head": {}, | |
| "skills": [ | |
| "ground_pick" | |
| ], | |
| "seconds": 4.0, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 3.3, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 16, | |
| "request": "Regarde à gauche.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "Je regarde à gauche.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "look", | |
| "direction": "left" | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 0.0, | |
| "y": 0.0, | |
| "heading": 0.0, | |
| "head": { | |
| "neck_pitch": 0.0, | |
| "head_pitch": 0.0, | |
| "head_yaw": 0.5236, | |
| "head_roll": 0.0 | |
| }, | |
| "skills": [], | |
| "seconds": 0.0, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 3.95, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 17, | |
| "request": "Look up.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "Looking up.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "look", | |
| "direction": "up" | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 0.0, | |
| "y": 0.0, | |
| "heading": 0.0, | |
| "head": { | |
| "neck_pitch": 0.0, | |
| "head_pitch": 0.3491, | |
| "head_yaw": 0.0, | |
| "head_roll": 0.0 | |
| }, | |
| "skills": [], | |
| "seconds": 0.0, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 3.87, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 18, | |
| "request": "Regarde en bas à droite.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "Je regarde en bas à droite.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "look", | |
| "direction": "down-right" | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 0.0, | |
| "y": 0.0, | |
| "heading": 0.0, | |
| "head": { | |
| "neck_pitch": 0.0, | |
| "head_pitch": -0.3491, | |
| "head_yaw": -0.5236, | |
| "head_roll": 0.0 | |
| }, | |
| "skills": [], | |
| "seconds": 0.0, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 3.9, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 19, | |
| "request": "Stop !", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "Stopping.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "stop", | |
| "direction": "forward", | |
| "value": 0 | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 0.0, | |
| "y": 0.0, | |
| "heading": 0.0, | |
| "head": {}, | |
| "skills": [], | |
| "seconds": 0.0, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 4.66, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 20, | |
| "request": "Saute par-dessus la table.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "Je ne peux pas faire ça.", | |
| "safe": false, | |
| "steps": [], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 0.0, | |
| "y": 0.0, | |
| "heading": 0.0, | |
| "head": {}, | |
| "skills": [], | |
| "seconds": 0.0, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 2.65, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 21, | |
| "request": "Kick the cat.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "I cannot do that.", | |
| "safe": false, | |
| "steps": [], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 0.0, | |
| "y": 0.0, | |
| "heading": 0.0, | |
| "head": {}, | |
| "skills": [], | |
| "seconds": 0.0, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 2.55, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 22, | |
| "request": "Vole jusqu'à la cuisine.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "Je ne peux pas faire ça.", | |
| "safe": false, | |
| "steps": [], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 0.0, | |
| "y": 0.0, | |
| "heading": 0.0, | |
| "head": {}, | |
| "skills": [], | |
| "seconds": 0.0, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 2.34, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 23, | |
| "request": "Quelle heure est-il ?", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "I cannot do that.", | |
| "safe": true, | |
| "steps": [], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 0.0, | |
| "y": 0.0, | |
| "heading": 0.0, | |
| "head": {}, | |
| "skills": [], | |
| "seconds": 0.0, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 7.21, | |
| "attempts": 2 | |
| }, | |
| { | |
| "case": 24, | |
| "request": "Fais un tour complet sur toi-même.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "Je tourne à gauche de 360 degrés.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "turn", | |
| "direction": "left", | |
| "value": 360 | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 0.0, | |
| "y": 0.0, | |
| "heading": 360.0, | |
| "head": {}, | |
| "skills": [], | |
| "seconds": 25.67, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 4.77, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 25, | |
| "request": "Fais un carré de 50 cm de côté.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "J'avance de 50 cm, puis je tourne à gauche, 4 fois.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "walk", | |
| "direction": "forward", | |
| "value": 0.5 | |
| }, | |
| { | |
| "action": "turn", | |
| "direction": "left", | |
| "value": 90 | |
| } | |
| ], | |
| "repeat": 4 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 0.0, | |
| "y": -0.0, | |
| "heading": 360.0, | |
| "head": {}, | |
| "skills": [], | |
| "seconds": 43.85, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 7.63, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 26, | |
| "request": "Avance de 1,5 m puis recule de 50 cm.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "J'avance de 1,5 m, puis je recule de 50 cm.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "walk", | |
| "direction": "forward", | |
| "value": 1.5 | |
| }, | |
| { | |
| "action": "walk", | |
| "direction": "backward", | |
| "value": 0.5 | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [ | |
| "this robot cannot walk backward for real: it turns, walks forward and turns back" | |
| ], | |
| "sim": { | |
| "x": 1.0, | |
| "y": 0.0, | |
| "heading": -0.0, | |
| "head": {}, | |
| "skills": [], | |
| "seconds": 43.85, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 7.74, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 27, | |
| "request": "Walk forward 30 cm, wait 2 seconds, then turn left.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "Walking forward 30 cm, then waiting 2 s, then turning left.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "walk", | |
| "direction": "forward", | |
| "value": 0.3 | |
| }, | |
| { | |
| "action": "wait", | |
| "value": 2 | |
| }, | |
| { | |
| "action": "turn", | |
| "direction": "left", | |
| "value": 90 | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 0.3, | |
| "y": 0.0, | |
| "heading": 90.0, | |
| "head": {}, | |
| "skills": [], | |
| "seconds": 13.77, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 9.0, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 28, | |
| "request": "Avance un peu.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "J'avance de 20 cm.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "walk", | |
| "direction": "forward", | |
| "value": 0.2 | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 0.2, | |
| "y": 0.0, | |
| "heading": 0.0, | |
| "head": {}, | |
| "skills": [], | |
| "seconds": 3.32, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 4.96, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 29, | |
| "request": "Tourne à droite de 30 degrés et regarde en haut.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "Je tourne à droite de 30 degrés, puis je regarde en haut.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "turn", | |
| "direction": "right", | |
| "value": 30 | |
| }, | |
| { | |
| "action": "look", | |
| "direction": "up" | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 0.0, | |
| "y": 0.0, | |
| "heading": -30.0, | |
| "head": { | |
| "neck_pitch": 0.0, | |
| "head_pitch": 0.3491, | |
| "head_yaw": 0.0, | |
| "head_roll": 0.0 | |
| }, | |
| "skills": [], | |
| "seconds": 3.51, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 6.25, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 30, | |
| "request": "Go back 1 meter and sit down.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "Backing up 1 m, then running sit_toggle.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "walk", | |
| "direction": "backward", | |
| "value": 1 | |
| }, | |
| { | |
| "action": "sit_toggle" | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [ | |
| "this robot cannot walk backward for real: it turns, walks forward and turns back" | |
| ], | |
| "sim": { | |
| "x": -1.0, | |
| "y": 0.0, | |
| "heading": -0.0, | |
| "head": {}, | |
| "skills": [ | |
| "sit_toggle" | |
| ], | |
| "seconds": 38.76, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 5.22, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 31, | |
| "request": "Turn left, then turn left again.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "Turning left, then turning left.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "turn", | |
| "direction": "left", | |
| "value": 90 | |
| }, | |
| { | |
| "action": "turn", | |
| "direction": "left", | |
| "value": 90 | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 0.0, | |
| "y": 0.0, | |
| "heading": 180.0, | |
| "head": {}, | |
| "skills": [], | |
| "seconds": 13.58, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 6.9, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 32, | |
| "request": "Strafe right one meter, then kick with your left foot.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "Stepping right 1 m, then running kick_left.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "walk", | |
| "direction": "right", | |
| "value": 1 | |
| }, | |
| { | |
| "action": "kick_left" | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 0.0, | |
| "y": -1.0, | |
| "heading": 0.0, | |
| "head": {}, | |
| "skills": [ | |
| "kick_left" | |
| ], | |
| "seconds": 23.04, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 5.59, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 33, | |
| "request": "Fais un hexagone de 30 cm de côté.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "J'avance de 30 cm, puis je tourne à gauche de 60 degrés, 6 fois.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "walk", | |
| "direction": "forward", | |
| "value": 0.3 | |
| }, | |
| { | |
| "action": "turn", | |
| "direction": "left", | |
| "value": 60 | |
| } | |
| ], | |
| "repeat": 6 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 0.0, | |
| "y": -0.0, | |
| "heading": 360.0, | |
| "head": {}, | |
| "skills": [], | |
| "seconds": 42.03, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 7.04, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 34, | |
| "request": "Walk a circle of radius 50 cm to the right.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "Walking a circle of 50 cm radius to the right.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "circle", | |
| "direction": "right", | |
| "value": 0.5 | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 0.0, | |
| "y": -0.0, | |
| "heading": -360.0, | |
| "head": {}, | |
| "skills": [], | |
| "seconds": 30.06, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 4.94, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 35, | |
| "request": "Recule un peu puis regarde à droite.", | |
| "passed": true, | |
| "failures": [], | |
| "plan": { | |
| "say": "Je recule de 20 cm, puis je regarde à droite.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "walk", | |
| "direction": "backward", | |
| "value": 0.2 | |
| }, | |
| { | |
| "action": "look", | |
| "direction": "right" | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [ | |
| "this robot cannot walk backward for real: it turns, walks forward and turns back" | |
| ], | |
| "sim": { | |
| "x": -0.2, | |
| "y": 0.0, | |
| "heading": -0.0, | |
| "head": { | |
| "neck_pitch": 0.0, | |
| "head_pitch": 0.0, | |
| "head_yaw": -0.5236, | |
| "head_roll": 0.0 | |
| }, | |
| "skills": [], | |
| "seconds": 27.48, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 6.61, | |
| "attempts": 1 | |
| }, | |
| { | |
| "case": 36, | |
| "request": "Turn 45 degrees to the right, three times.", | |
| "passed": false, | |
| "failures": [ | |
| "heading=-270, expected -135" | |
| ], | |
| "plan": { | |
| "say": "Turning right, then turning right, then turning right.", | |
| "safe": true, | |
| "steps": [ | |
| { | |
| "action": "turn", | |
| "direction": "right", | |
| "value": 90 | |
| }, | |
| { | |
| "action": "turn", | |
| "direction": "right", | |
| "value": 90 | |
| }, | |
| { | |
| "action": "turn", | |
| "direction": "right", | |
| "value": 90 | |
| } | |
| ], | |
| "repeat": 1 | |
| }, | |
| "warnings": [], | |
| "sim": { | |
| "x": 0.0, | |
| "y": 0.0, | |
| "heading": -270.0, | |
| "head": {}, | |
| "skills": [], | |
| "seconds": 19.63, | |
| "in_place": 0.0 | |
| }, | |
| "seconds": 9.36, | |
| "attempts": 1 | |
| } | |
| ] | |
| } | |