Instructions to use apirrone/microduck-footsteps with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Microduck
How to use apirrone/microduck-footsteps 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 apirrone/microduck-footsteps
- Notebooks
- Google Colab
- Kaggle
printable A4 footstep patterns + the JSON robotctl walks
Browse files- patterns/arc_left_45.json +45 -0
- patterns/backward_10cm.json +45 -0
- patterns/footstep_patterns.pdf +0 -0
- patterns/forward_15cm.json +45 -0
- patterns/side_left_6cm.json +45 -0
- patterns/turn_left_90.json +57 -0
- patterns/turn_right_90.json +63 -0
patterns/arc_left_45.json
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "arc_left_45",
|
| 3 |
+
"planner": "footstepnet_5cm.onnx",
|
| 4 |
+
"frame": "start stance: origin midway between the start sole centres, x forward, y left; m, rad",
|
| 5 |
+
"start": [
|
| 6 |
+
{
|
| 7 |
+
"foot": "left",
|
| 8 |
+
"x": 0.0,
|
| 9 |
+
"y": 0.042,
|
| 10 |
+
"yaw": 0.0
|
| 11 |
+
},
|
| 12 |
+
{
|
| 13 |
+
"foot": "right",
|
| 14 |
+
"x": 0.0,
|
| 15 |
+
"y": -0.042,
|
| 16 |
+
"yaw": 0.0
|
| 17 |
+
}
|
| 18 |
+
],
|
| 19 |
+
"steps": [
|
| 20 |
+
{
|
| 21 |
+
"foot": "left",
|
| 22 |
+
"x": 0.030674940180864245,
|
| 23 |
+
"y": 0.050693247834328076,
|
| 24 |
+
"yaw": 0.409049778321036
|
| 25 |
+
},
|
| 26 |
+
{
|
| 27 |
+
"foot": "right",
|
| 28 |
+
"x": 0.10018095212356384,
|
| 29 |
+
"y": -0.018754821254640442,
|
| 30 |
+
"yaw": 0.7580298883291606
|
| 31 |
+
},
|
| 32 |
+
{
|
| 33 |
+
"foot": "left",
|
| 34 |
+
"x": 0.06638037082116541,
|
| 35 |
+
"y": 0.07182682922539876,
|
| 36 |
+
"yaw": 0.8504225117536907
|
| 37 |
+
},
|
| 38 |
+
{
|
| 39 |
+
"foot": "right",
|
| 40 |
+
"x": 0.13777849374866447,
|
| 41 |
+
"y": 0.00915859131790904,
|
| 42 |
+
"yaw": 0.8504225117536907
|
| 43 |
+
}
|
| 44 |
+
]
|
| 45 |
+
}
|
patterns/backward_10cm.json
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "backward_10cm",
|
| 3 |
+
"planner": "footstepnet_5cm.onnx",
|
| 4 |
+
"frame": "start stance: origin midway between the start sole centres, x forward, y left; m, rad",
|
| 5 |
+
"start": [
|
| 6 |
+
{
|
| 7 |
+
"foot": "left",
|
| 8 |
+
"x": 0.0,
|
| 9 |
+
"y": 0.042,
|
| 10 |
+
"yaw": 0.0
|
| 11 |
+
},
|
| 12 |
+
{
|
| 13 |
+
"foot": "right",
|
| 14 |
+
"x": 0.0,
|
| 15 |
+
"y": -0.042,
|
| 16 |
+
"yaw": 0.0
|
| 17 |
+
}
|
| 18 |
+
],
|
| 19 |
+
"steps": [
|
| 20 |
+
{
|
| 21 |
+
"foot": "left",
|
| 22 |
+
"x": -0.04762859269976616,
|
| 23 |
+
"y": 0.04896805544570088,
|
| 24 |
+
"yaw": -0.04293408244848251
|
| 25 |
+
},
|
| 26 |
+
{
|
| 27 |
+
"foot": "right",
|
| 28 |
+
"x": -0.08543442626294431,
|
| 29 |
+
"y": -0.0345324438159062,
|
| 30 |
+
"yaw": 0.21956536918878553
|
| 31 |
+
},
|
| 32 |
+
{
|
| 33 |
+
"foot": "left",
|
| 34 |
+
"x": -0.10043731718672072,
|
| 35 |
+
"y": 0.045801737387935894,
|
| 36 |
+
"yaw": -0.023216210305690797
|
| 37 |
+
},
|
| 38 |
+
{
|
| 39 |
+
"foot": "right",
|
| 40 |
+
"x": -0.10264265904287861,
|
| 41 |
+
"y": -0.04917266162199455,
|
| 42 |
+
"yaw": -0.023216210305690797
|
| 43 |
+
}
|
| 44 |
+
]
|
| 45 |
+
}
|
patterns/footstep_patterns.pdf
ADDED
|
Binary file (52.5 kB). View file
|
|
|
patterns/forward_15cm.json
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "forward_15cm",
|
| 3 |
+
"planner": "footstepnet_5cm.onnx",
|
| 4 |
+
"frame": "start stance: origin midway between the start sole centres, x forward, y left; m, rad",
|
| 5 |
+
"start": [
|
| 6 |
+
{
|
| 7 |
+
"foot": "left",
|
| 8 |
+
"x": 0.0,
|
| 9 |
+
"y": 0.042,
|
| 10 |
+
"yaw": 0.0
|
| 11 |
+
},
|
| 12 |
+
{
|
| 13 |
+
"foot": "right",
|
| 14 |
+
"x": 0.0,
|
| 15 |
+
"y": -0.042,
|
| 16 |
+
"yaw": 0.0
|
| 17 |
+
}
|
| 18 |
+
],
|
| 19 |
+
"steps": [
|
| 20 |
+
{
|
| 21 |
+
"foot": "left",
|
| 22 |
+
"x": 0.04309989344210214,
|
| 23 |
+
"y": 0.05086197772514345,
|
| 24 |
+
"yaw": 0.25944930945826294
|
| 25 |
+
},
|
| 26 |
+
{
|
| 27 |
+
"foot": "right",
|
| 28 |
+
"x": 0.10430812546582661,
|
| 29 |
+
"y": -0.03839103814521548,
|
| 30 |
+
"yaw": -0.05147338758291475
|
| 31 |
+
},
|
| 32 |
+
{
|
| 33 |
+
"foot": "left",
|
| 34 |
+
"x": 0.1468612185696449,
|
| 35 |
+
"y": 0.04753686970450348,
|
| 36 |
+
"yaw": 0.07466425646959074
|
| 37 |
+
},
|
| 38 |
+
{
|
| 39 |
+
"foot": "right",
|
| 40 |
+
"x": 0.15394773438899473,
|
| 41 |
+
"y": -0.047198452607409846,
|
| 42 |
+
"yaw": 0.07466425646959074
|
| 43 |
+
}
|
| 44 |
+
]
|
| 45 |
+
}
|
patterns/side_left_6cm.json
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "side_left_6cm",
|
| 3 |
+
"planner": "footstepnet_5cm.onnx",
|
| 4 |
+
"frame": "start stance: origin midway between the start sole centres, x forward, y left; m, rad",
|
| 5 |
+
"start": [
|
| 6 |
+
{
|
| 7 |
+
"foot": "left",
|
| 8 |
+
"x": 0.0,
|
| 9 |
+
"y": 0.042,
|
| 10 |
+
"yaw": 0.0
|
| 11 |
+
},
|
| 12 |
+
{
|
| 13 |
+
"foot": "right",
|
| 14 |
+
"x": 0.0,
|
| 15 |
+
"y": -0.042,
|
| 16 |
+
"yaw": 0.0
|
| 17 |
+
}
|
| 18 |
+
],
|
| 19 |
+
"steps": [
|
| 20 |
+
{
|
| 21 |
+
"foot": "left",
|
| 22 |
+
"x": 0.013973270349482935,
|
| 23 |
+
"y": 0.07201872881156447,
|
| 24 |
+
"yaw": 0.06950065673611408
|
| 25 |
+
},
|
| 26 |
+
{
|
| 27 |
+
"foot": "right",
|
| 28 |
+
"x": -0.003497513310749961,
|
| 29 |
+
"y": -0.006612224624798553,
|
| 30 |
+
"yaw": 0.08443799069920864
|
| 31 |
+
},
|
| 32 |
+
{
|
| 33 |
+
"foot": "left",
|
| 34 |
+
"x": -0.0022193771743547717,
|
| 35 |
+
"y": 0.10200553748310255,
|
| 36 |
+
"yaw": 0.021197365734971444
|
| 37 |
+
},
|
| 38 |
+
{
|
| 39 |
+
"foot": "right",
|
| 40 |
+
"x": -0.00020577823194076585,
|
| 41 |
+
"y": 0.007026879778862974,
|
| 42 |
+
"yaw": 0.021197365734971448
|
| 43 |
+
}
|
| 44 |
+
]
|
| 45 |
+
}
|
patterns/turn_left_90.json
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "turn_left_90",
|
| 3 |
+
"planner": "footstepnet_5cm.onnx",
|
| 4 |
+
"frame": "start stance: origin midway between the start sole centres, x forward, y left; m, rad",
|
| 5 |
+
"start": [
|
| 6 |
+
{
|
| 7 |
+
"foot": "left",
|
| 8 |
+
"x": 0.0,
|
| 9 |
+
"y": 0.042,
|
| 10 |
+
"yaw": 0.0
|
| 11 |
+
},
|
| 12 |
+
{
|
| 13 |
+
"foot": "right",
|
| 14 |
+
"x": 0.0,
|
| 15 |
+
"y": -0.042,
|
| 16 |
+
"yaw": 0.0
|
| 17 |
+
}
|
| 18 |
+
],
|
| 19 |
+
"steps": [
|
| 20 |
+
{
|
| 21 |
+
"foot": "left",
|
| 22 |
+
"x": 0.0025619180644000697,
|
| 23 |
+
"y": 0.04430637959782909,
|
| 24 |
+
"yaw": 0.47078112048844084
|
| 25 |
+
},
|
| 26 |
+
{
|
| 27 |
+
"foot": "right",
|
| 28 |
+
"x": 0.047476708782786904,
|
| 29 |
+
"y": -0.040927291692937504,
|
| 30 |
+
"yaw": 0.983594211766517
|
| 31 |
+
},
|
| 32 |
+
{
|
| 33 |
+
"foot": "left",
|
| 34 |
+
"x": -0.01801321919464489,
|
| 35 |
+
"y": 0.034908521409635365,
|
| 36 |
+
"yaw": 1.423464761039181
|
| 37 |
+
},
|
| 38 |
+
{
|
| 39 |
+
"foot": "right",
|
| 40 |
+
"x": 0.058123123937208906,
|
| 41 |
+
"y": 0.003570575036385887,
|
| 42 |
+
"yaw": 1.6973987838670095
|
| 43 |
+
},
|
| 44 |
+
{
|
| 45 |
+
"foot": "left",
|
| 46 |
+
"x": -0.04515560683392417,
|
| 47 |
+
"y": -0.0013107144195191175,
|
| 48 |
+
"yaw": 1.5731200820251783
|
| 49 |
+
},
|
| 50 |
+
{
|
| 51 |
+
"foot": "right",
|
| 52 |
+
"x": 0.049844136673868666,
|
| 53 |
+
"y": -0.0010899578713174315,
|
| 54 |
+
"yaw": 1.5731200820251783
|
| 55 |
+
}
|
| 56 |
+
]
|
| 57 |
+
}
|
patterns/turn_right_90.json
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "turn_right_90",
|
| 3 |
+
"planner": "footstepnet_5cm.onnx",
|
| 4 |
+
"frame": "start stance: origin midway between the start sole centres, x forward, y left; m, rad",
|
| 5 |
+
"start": [
|
| 6 |
+
{
|
| 7 |
+
"foot": "left",
|
| 8 |
+
"x": 0.0,
|
| 9 |
+
"y": 0.042,
|
| 10 |
+
"yaw": 0.0
|
| 11 |
+
},
|
| 12 |
+
{
|
| 13 |
+
"foot": "right",
|
| 14 |
+
"x": 0.0,
|
| 15 |
+
"y": -0.042,
|
| 16 |
+
"yaw": 0.0
|
| 17 |
+
}
|
| 18 |
+
],
|
| 19 |
+
"steps": [
|
| 20 |
+
{
|
| 21 |
+
"foot": "left",
|
| 22 |
+
"x": 0.019716073861078046,
|
| 23 |
+
"y": 0.06064796372732106,
|
| 24 |
+
"yaw": -0.43753631820759037
|
| 25 |
+
},
|
| 26 |
+
{
|
| 27 |
+
"foot": "right",
|
| 28 |
+
"x": 0.005940809718305611,
|
| 29 |
+
"y": -0.028285250812279596,
|
| 30 |
+
"yaw": -0.8295947636506502
|
| 31 |
+
},
|
| 32 |
+
{
|
| 33 |
+
"foot": "left",
|
| 34 |
+
"x": 0.06352659996341149,
|
| 35 |
+
"y": 0.032773528746294515,
|
| 36 |
+
"yaw": -1.256839838870525
|
| 37 |
+
},
|
| 38 |
+
{
|
| 39 |
+
"foot": "right",
|
| 40 |
+
"x": -0.03394927610823615,
|
| 41 |
+
"y": -0.016275252031920193,
|
| 42 |
+
"yaw": -1.618502509801642
|
| 43 |
+
},
|
| 44 |
+
{
|
| 45 |
+
"foot": "left",
|
| 46 |
+
"x": 0.04481477192269273,
|
| 47 |
+
"y": 0.001090409534400958,
|
| 48 |
+
"yaw": -1.693838317899958
|
| 49 |
+
},
|
| 50 |
+
{
|
| 51 |
+
"foot": "right",
|
| 52 |
+
"x": -0.04563081690904808,
|
| 53 |
+
"y": 0.0008956637708603665,
|
| 54 |
+
"yaw": -1.5731062190821328
|
| 55 |
+
},
|
| 56 |
+
{
|
| 57 |
+
"foot": "left",
|
| 58 |
+
"x": 0.049368929649951626,
|
| 59 |
+
"y": 0.0006762241987134372,
|
| 60 |
+
"yaw": -1.5731062190821328
|
| 61 |
+
}
|
| 62 |
+
]
|
| 63 |
+
}
|