Skip to content

Repository files navigation

DataSetsManager Client

English | Українська

Current Client version: 1.0.0.

Dataset Server v1 is the source of truth for published metadata and binaries. See the generated public catalog.

Clone, import, fetch, and publish

python -m pip install -e .
dsm-client sync
dsm-client sync --check
dsm-client fetch iv.dev.4.ff.1 --format rosbag
dsm-client fetch iv.dev.4.ff.1 --format rosbag2
dsm-client validate

Set DSM_SERVER_URL to the server base URL. Without it, the importer uses the versioned local test fixture for reproducible offline work. Generated catalog.json, CATALOG.md, and generated/ are replaced by the importer. --check is read-only and exits nonzero when they are stale.

Fetched payloads live below datasets/<family>/artifacts/<stable-id>/<format>/ and are narrowly ignored by Git. This replaces the former raw-data sibling-checkout default; --raw-root remains an expert/test migration override.

Publication requires DSM_SERVER_TOKEN:

python scripts/raw_catalog.py publish ID --format rosbag --version 1 \
  --path PATH --metadata METADATA.json

The client calculates size/SHA-256 and uses the authenticated v1 lifecycle without persisting the token. Run import-catalog after publication.

The former scripts and IVINS_* environment variables remain compatibility interfaces through Client 1.x. DSM_* always takes precedence.

This repository is a client catalog for evaluating multiple visual-inertial navigation systems (VINS) against public and iVINS MAV recordings. Dataset recordings are not stored in this repository. Manifests point to authoritative download locations, ground truth, and implementation-specific YAML configurations. Recordings are obtained from the linked external catalogs. External catalog metadata is based on the official OpenVINS Supported Datasets page.

Useful links: raw-data catalog guide, manifest schema, iVINS configuration profiles, and iVINS calibration reports.

Supported Datasets

EuRoC MAV

ID Dataset Name Length (m) ROS Bag ROS Bag2 Ground Truth OpenVINS Config
e.1.1.e V1_01_easy 58 ROS Bag ROS Bag2 Trajectory euroc_mav
e.1.2.m V1_02_medium 76 ROS Bag ROS Bag2 Trajectory euroc_mav
e.1.3.d V1_03_difficult 79 ROS Bag ROS Bag2 Trajectory euroc_mav
e.2.1.e V2_01_easy 37 ROS Bag ROS Bag2 Trajectory euroc_mav
e.2.2.m V2_02_medium 83 ROS Bag ROS Bag2 Trajectory euroc_mav
e.2.3.d V2_03_difficult 86 ROS Bag ROS Bag2 Trajectory euroc_mav
e.mh.1.e MH_01_easy 80 ROS Bag ROS Bag2 Trajectory euroc_mav
e.mh.2.e MH_02_easy 73 ROS Bag ROS Bag2 Trajectory euroc_mav
e.mh.3.m MH_03_medium 131 ROS Bag ROS Bag2 Trajectory euroc_mav
e.mh.4.d MH_04_difficult 92 ROS Bag ROS Bag2 Trajectory euroc_mav
e.mh.5.d MH_05_difficult 98 ROS Bag ROS Bag2 Trajectory euroc_mav

Catalog metadata: datasets/euroc/manifest.yaml.

TUM-VI

ID Dataset Name Length (m) ROS Bag ROS Bag2 Ground Truth OpenVINS Config
t.r.1 room1 147 ROS Bag Not published Trajectory tum_vi
t.r.2 room2 142 ROS Bag Not published Trajectory tum_vi
t.r.3 room3 136 ROS Bag Not published Trajectory tum_vi
t.r.4 room4 69 ROS Bag Not published Trajectory tum_vi
t.r.5 room5 132 ROS Bag Not published Trajectory tum_vi
t.r.6 room6 67 ROS Bag Not published Trajectory tum_vi

Catalog metadata: datasets/tum-vi/manifest.yaml.

RPNG AR Table

ID Dataset Name Size (GB) ROS Bag ROS Bag2 Ground Truth OpenVINS Config
ra.t.1ra.t.8 table1–table8 4.77–16.01 Catalog links Not published Trajectories rpng_plane

Sequence metadata and individual sizes: datasets/rpng-ar-table/manifest.yaml.

RPNG OpenVINS

ID Dataset Name Length (m) ROS Bag ROS Bag2 Ground Truth OpenVINS Config
ro.ar.1/ro.ar.2; ro.ah.1/ro.ah.2 ArUco Room 01/02; Hallway 01/02 27–190 Catalog links Not published Not available rpng_aruco
ro.n.1/ro.n.2 Neighborhood 01/02 2300–7400 Catalog links Not published Not available; GPS messages may be present rpng_ironsides

Sequence metadata: datasets/rpng-openvins/manifest.yaml.

UZH-FPV Drone Racing

ID Dataset Name Length (m) ROS Bag ROS Bag2 Ground Truth OpenVINS Config
u.i.5, u.i.6, u.i.7, u.i.9, u.i.10 Indoor 5/6/7/9/10 129–314 Catalog links Not published Catalog links uzhfpv_indoor
u.i45.2, u.i45.4, u.i45.12, u.i45.13, u.i45.14 Indoor 45deg 2/4/12/13/14 112–211 Catalog links Not published Catalog links uzhfpv_indoor_45

Sequence metadata: datasets/uzh-fpv/manifest.yaml.

KAIST Urban

ID Dataset Name Length (km) ROS Bag ROS Bag2 Ground Truth OpenVINS Config
ku.u.28, ku.u.32, ku.u.38, ku.u.39 Urban 28/32/38/39 7.30–11.47 Not available; source format Not available Baseline trajectories kaist

Sequence metadata: datasets/kaist-urban/manifest.yaml.

KAIST VIO

The official OpenVINS catalog publishes numeric measurements but labels their column as kilometers, which is inconsistent with the documented small indoor capture environment. The values are retained below without asserting a unit. The official KAIST project publishes 11 sequences; pure rotation has no rotation_head variant.

ID Dataset Name Catalog Measurement (unit unspecified) ROS Bag ROS Bag2 Ground Truth OpenVINS Config / Launch
kv.c circle 29.99 ROS Bag Not published Trajectory Config / ROS1 launch
kv.c.f circle_fast 64.15 ROS Bag Not published Trajectory Config / ROS1 launch
kv.c.h circle_head 35.05 ROS Bag Not published Trajectory Config / ROS1 launch
kv.i infinite 29.35 ROS Bag Not published Trajectory Config / ROS1 launch
kv.i.f infinite_fast 54.24 ROS Bag Not published Trajectory Config / ROS1 launch
kv.i.h infinite_head 37.45 ROS Bag Not published Trajectory Config / ROS1 launch
kv.r rotation 7.82 ROS Bag Not published Trajectory Config / ROS1 launch
kv.r.f rotation_fast 14.55 ROS Bag Not published Trajectory Config / ROS1 launch
kv.s square 41.94 ROS Bag Not published Trajectory Config / ROS1 launch
kv.s.f square_fast 44.07 ROS Bag Not published Trajectory Config / ROS1 launch
kv.s.h square_head 50.00 ROS Bag Not published Trajectory Config / ROS1 launch

Sequence metadata: datasets/kaist-vio/manifest.yaml.

iVINS

The following table is a local catalog of repository profile artifacts, not proof of validated runtime compatibility.

Profile Configuration Set Calibration Reports Equipment Configuration VINS Configurations
dev_01 Configuration catalog Calibration catalog Equipment template Implementation index
dev_02 Configuration catalog Calibration catalog Equipment template Implementation index
dev_03 Configuration catalog Calibration catalog Equipment template Implementation index
dev_04 Configuration catalog Calibration catalog Equipment template Implementation index
ID Dataset Name Size ROS Bag ROS Bag2 Ground Truth Configurations
Not assigned dev_01 Not yet registered Not yet registered Not yet registered Declared in manifest.yaml when available OpenVINS, VINS-Mono, VINS-Fusion, VINS-NEO
Not assigned dev_02, dev_03, prod, future-products Not yet registered Not yet registered Not yet registered Declared per profile manifest OpenVINS, VINS-Mono, VINS-Fusion, VINS-NEO
iv.dev.4.ff.1 dev_4_flight_field_01 Unknown Catalog: local import, not a public download. An authenticated LAN server has the artifact under this standard ID. The OneDrive share is provenance only; see the raw catalog guide Catalog: not published. The authenticated LAN server has a locally derived artifact Not provided dev_04 profile catalog (canonical profile; legacy aliases are declared in config/profile-aliases.yaml)

iCU

ID Dataset Name Size ROS Bag ROS Bag2 Ground Truth OpenVINS Config
Not assigned Placeholder — no manifest registered Not yet registered Not yet registered Not yet registered Not yet registered Not yet registered

Standard dataset IDs

Each registered sequence keeps its original technical id and also receives a compact lowercase standard_id. Segments are dot-separated and encode family lineage without changing source names or paths:

  • e: EuRoC (e.<room>.<sequence>.<e|m|d> or e.mh.<sequence>.<e|m|d>);
  • t: TUM-VI (t.r.<sequence>);
  • ra: RPNG AR Table (ra.t.<sequence>);
  • ro: RPNG OpenVINS (ro.ar, ro.ah, and ro.n);
  • u: UZH-FPV (u.i and u.i45);
  • ku: KAIST Urban (ku.u.<sequence>);
  • kv: KAIST VIO motion and optional variant (c, i, r, s; f, h).

Standard IDs are immutable and globally unique. Once published, an ID must not be renamed or reused for another recording. Placeholder profiles receive no ID until a recording is registered.

Repository conventions

  • Every dataset manifest follows docs/manifest-schema.md.
  • Every VINS implementation/profile has its own directory of YAML configuration files. Do not assume calibration or estimator settings are interchangeable.
  • Placeholder directories contain .gitkeep until reviewed configuration files are contributed.
  • The OpenVINS dev_01 YAML files are templates only. Replace every required placeholder with measured calibration and reviewed estimator settings before use.
  • Generated Kalibr artifacts for the iVINS dev_04 profile belong in configurations/ivins/kalibr/dev_04; only commit outputs from an actual, traceable Kalibr run. The Kalibr path keeps the explicitly reserved name dev_04; implementation configurations use dev_04 to follow the established dev_01, dev_02, and dev_03 convention.
  • locks/ records reproducible dataset/configuration revisions; test-suites/ groups repeatable evaluation scenarios.

Generated artifacts and large files

Keep dataset recordings, ROS bags, and other raw sensor captures outside this repository and retrieve them through manifest links. Small, reviewable generated calibration reports may be committed with their run metadata. Before adding any large binary artifact, define and review a Git LFS tracking rule in .gitattributes; do not commit large binaries first and migrate them later.

Run python scripts/validate_catalog.py or dsm-client validate to check manifest YAML and expected catalog structure. The validator requires PyYAML (python -m pip install pyyaml). The former validate_registry.py entrypoint is a deprecated compatibility wrapper through Client 1.x.

Use scripts/raw_catalog.py to fetch, publish, resolve, and inspect server artifacts in the ignored repository hierarchy. See the local raw-data catalog guide for commands and test runner integration. When verified mirrors exist, the tool automatically probes a bounded set and downloads from the fastest viable source; manual source selection is intentionally unsupported for legacy manifest sources. Supported OneDrive folder records use an explicit file selector and Microsoft Graph resolution at runtime; folder links themselves are never treated as bag downloads. Google Drive folder records follow the same explicit-selector rule and resolve through the official Drive API with locally supplied credentials.

Adding a dataset or profile

  1. Add a manifest containing authoritative recording and ground-truth links.
  2. Add one configuration directory per supported VINS implementation.
  3. Replace placeholders only with traceable, reviewed settings.
  4. Add or update a test suite and validate the catalog.

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages