~/.almond/motions/, so the same motion can be replayed on that robot again and again and the tracking metrics compared 1:1 with tune.motion. Build one from a recording here, or generate one (motion.chirp, scripts/creep_motions.py). A few are built in — generated in code, the same on every robot, no file needed: slow_osc (the slow-motion acceptance test), fast_swing (large fast swings), each with a _left mirror, and hold (40 s still). A file of the same name in ~/.almond/motions/ overrides a built-in.
motion.build postprocesses a flight-recorder capture into one, from either recorder:
- Teleop (
axol teleop --teleop.record PREFIX): the final guarded command stream (_cmdstage), clipped to the engaged span. - Gravity comp (
axol gravity-comp --record PREFIX): the measured arm-joint positions of the hand-guided session (_gcstage). There is no engage state, so the still lead-in/lead-out is trimmed instead — start and end the demonstration with the arms briefly at rest.
kind=build, ~/.almond/diagnostics/tuning/): the clipped raw command recording and the built motion side by side per joint, with per-joint change RMS/max and peak velocities. The diagnostics dashboard charts it like any other tuning run (zoom / fullscreen), so the effect of the smoothing pass and the collision projection is directly visible before the motion is ever replayed.