Data and configuration files

Zivid Motion stores cell configurations under ~/.local/share/Motion/ and reads runtime behavior from the RuntimeConfiguration file.

Cell data

Cell configurations live in ~/.local/share/Motion/. This directory has two first-level subdirectories:

  • A data/ directory containing cells. Each cell directory contains the necessary definitions and data used by the planner to operate that cell.

  • A packages/ directory containing files that can be referenced by and shared between multiple cells. The contents of this directory is typically URDF files and meshes.

~/.local/share/Motion/
├─ data/
│  ├─ my_cell/
│    ├─ UserConfiguration.yml
│    ├─ config.zmd
│    ├─ ...
├─ packages/
│  ├─ my_cell/
│    ├─ meshes/
│      ├─ link_1.stl
│      ├─ ...
│    ├─ urdf/
│      ├─ robot.urdf
│      ├─ ...

Packaging

Zivid Motion provides functionality to package, share, and install cell configurations:

  • packageCell() collects all files required to execute the planner with the specified cell into a zip archive.

  • packageApiLog() creates a zip file containing an API log and the files required to replay it.

  • installPackage() extracts a package's contents into ~/.local/share/Motion/.

Example invocations from the command line using the Python API are shown below:

python -c 'import zividmotion; app = zividmotion.Application(); zividmotion.package_cell(application=app, cell_name="my_cell", output_path="my_cell_all.zip", include_generated_data=[zividmotion.Profile.production])'
python -c 'import zividmotion; app = zividmotion.Application(); zividmotion.install_package(application=app, package_path="my_cell_all.zip")'
python -c 'import zividmotion; app = zividmotion.Application(); print(zividmotion.package_api_log(application=app, api_log_path="/path/to/api_log.json"))'

Config files