motion-spec¶
motion-spec validates, compiles, builds, runs, and inspects guarded robot
motion specifications. It accepts a .robmot model for the complete workflow
and retains lower-level RDF, IR, code-generation, and archive commands for tools
that need individual stages.
Quick start¶
motion-spec needs the rest of what it builds against — the authoring DSLs,
the kinematics fork, the simulator wrapper — listed in the .repos manifests at
the repository root. You import them with vcs; motion-spec setup builds
and installs what was imported:
$ mkdir -p ws/src
$ git clone git@github.com:secorolab/motion-spec.git ws/src/motion-spec
$ vcs import ws/src < ws/src/motion-spec/motion_spec.repos
$ python3 -m venv ws/.venv && source ws/.venv/bin/activate
$ pip install -e ws/src/motion-spec # the CLI, PyPI dependencies only
$ motion-spec health # the one apt line for what is missing
$ motion-spec setup --workspace ws --dev # builds and installs what ws/src holds
$ source ws/setup-motion-spec.bash # or .zsh, whichever setup wrote
ROS is optional, and the robot hardware drivers are installed only after
vcs import ws/src < ws/src/motion-spec/motion_spec.real.repos and
setup --real. Then run a model, replay the run it recorded, and run the same
generation again:
$ motion-spec run model.robmot --run-id run-1 --headless
$ motion-spec replay "$MOTION_SPEC_GEN/latest/runs/run-1"
$ motion-spec rerun --run-id run-2 --headless
Run motion-spec --help or motion-spec COMMAND --help for the exact
options supported by the installed version.
Where to go next¶
Start with Setup, read Concepts for the pipeline and artifact contracts, then work through Build and run to generate, build, and run one. Read DSL authoring when you author a model of your own rather than running an existing one.
Guide
Authoring language
About