Workcell black box
A replayed workcell incident should become evidence, not another raw log.
Metriplane turns replayed or calibrated workcell state into a physical event ledger, Cell Truth Report, portable evidence bundle, verification result, and generated regression check.
v0.2.1 is the current installable package. The DOI-archived v0.2.0 release remains the frozen research artifact for the SoftwareX evidence and reproduction path.
Current distribution
Metriplane v0.2.1 is available through pip.
The release packages the core Python modules and command-line entry points for normal installation on Python 3.12 or newer. It also adds a verified TestPyPI-to-PyPI publishing path without changing the frozen v0.2.0 evidence package.
python3.12 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install "metriplane==0.2.1"
metriplane doctor
metriplane atlas protocol export \
--out metriplane-protocol What changed in v0.2.1
Six release-engineering changes make installation and provenance clearer.
PEP 517 package metadata
The release adds an explicit build system, complete PyPI project links, and distribution metadata sourced from the package itself.
Single version source
metriplane.__version__ is the authoritative package version and is checked against both the distribution metadata and the release tag.
ArUco-ready OpenCV dependency
The package now depends on opencv-contrib-python-headless so the ArUco APIs used by Metriplane are present in a clean installation.
Trusted PyPI publishing
GitHub Actions uses OIDC-based Trusted Publishing: the exact built files are staged on TestPyPI, verified, approved, and then promoted to PyPI without a long-lived API token.
Strict wheel smoke test
The release gate validates metadata, dependencies, package/version identity, cv2.aruco, doctor, and Atlas protocol export from a fresh environment outside the source checkout.
Explicit wheel/source boundary
The PyPI wheel contains the core Python packages and CLI entry points. Checked-in datasets, domain packs, the local dashboard, helper scripts, and frozen evidence still require a source checkout.
Evidence workflow
The product surface is the chain of custody.
Within a configured domain pack, Metriplane packages bounded incident context so another reviewer can inspect, replay, verify, and preserve the event as a generated regression check.
- 01 replayed workcell state
- 02 physical event
- 03 incident
- 04 evidence bundle
- 05 verification
- 06 generated regression check
Generated artifacts
The output is designed for review, reproduction, and future checks.
Robotics teams often debug incidents using recorded sensor data, ROS bags, logs, traces, and simulation replays. Metriplane formalizes the next layer: incident context, evidence bundle, verification result, and generated regression check.
What it offers
A bounded evidence layer for robotics incident review.
Turn replayed state into an incident record.
Replay-derived physical events become a dated, inspectable timeline with process deviations and incident IDs.
Package the incident as portable evidence.
INC-0001 carries its manifest, checksums, incident JSON, event timeline, report, replay command, and limitations.
Keep the lesson as a generated regression check.
The missing-tool incident becomes missing_tool_caused_delay_INC-0001 and the generated regression check passes.
Public demos
Watch the evidence workflow, then inspect the lineage.
The featured demo follows the frozen v0.2.0 SoftwareX artifact path: replayed assembly-cell state becomes an incident, evidence bundle, verification result, and generated regression check. Earlier demos stay visible as project lineage, not as unsupported claims about the current v0.2.1 package.
Clean install, operator UI, live fusion, evidence export
The public release path shows setup, operator-facing UI, live fused state, and exported evidence artifacts.
Watch on YouTubeBackpressure and health degradation
The system demonstrates operational pressure, degradation signals, and health behavior under load.
Watch on YouTubeDeterministic replay and run provenance
Replayed runs preserve provenance so results can be compared, inspected, and repeated.
Watch on YouTubeEnd-to-end digital twin with multi-camera fusion
ROS 2 and Omniverse connect the physical scene, fused observations, and a live digital twin.
Watch on YouTubeMulti-camera world-coordinate sensor fusion
Multiple camera feeds are reconciled into shared world coordinates for a coherent cell view.
Watch on YouTubeFrom camera observations to ROS 2
The early pipeline turns observed marker state into ROS 2 messages and live system state.
Watch on YouTubeArUco-driven real-time digital twin in Omniverse
The first demo connects tagged objects to a live Omniverse digital twin.
Watch on YouTubeResearch preprint
An Evidence-Preserving Evaluation Protocol for Camera-First Planar Digital Twins
The public author-preprint record defines six separate measurement classes for mapping, latency, continuity, replay equality, overload, and backend agreement. It also reports the revised 153-observation M1 campaign without presenting software checks as physical accuracy.
Claim to evidence
Public claims are mapped to concrete artifacts.
Archived author-run evidence is available for inspection. Fresh camera-free reproduction writes only to the documented temporary paths.
| Claim | Evidence | How to verify | Boundary |
|---|---|---|---|
| v0.2.0 is archived as a public research release | GitHub release and Zenodo DOI 10.5281/zenodo.20736619 | Open the exact v0.2.0 release and Zenodo record. | v0.2.1 is a packaging release; SoftwareX acceptance or peer review is not claimed. |
| The archived author-run maintainer gate recorded 580 passed | Archived author-run evidence/paper_v2_0/test_output.txt reports 580 passed. | Inspect the archived file; do not use evidence/paper_v2_0/ as a fresh rerun destination. | The public independent macOS gate recorded 575 passed, 3 skipped, 2 failed; the public full suite is not a complete pass. |
| The camera-free replay is deterministic | deterministic_replay.txt reports pass=true, 0.0 cm position difference, and 0 event mismatches. | Run with RUNS=/tmp/metriplane-softwarex-runs and the checked-in demo session. | Checked-in demo session only; no live-camera claim. |
| The assembly-cell replay produces one incident | atlas_assembly_cell_run.txt reports 6 physical events, 1 process deviation, and 1 incident. | Run metriplane atlas run with the assembly_cell domain pack and --out /tmp/metriplane-softwarex-atlas. | One deterministic assembly-cell domain pack and replay. |
| INC-0001 is explainable as a Cell Truth Report | cell_truth_report.md records a 35.0 s wait for torque_driver_1. | Inspect archived evidence/paper_v2_0/atlas_run/cell_truth_report.md. | Derived from replayed planar state, not raw-video judgement. |
External review
Feedback is collected as technical review, not social proof.
External feedback is organized by theme and permission status. Named quotes require explicit permission; otherwise feedback is summarized anonymously.
Raw evidence layer
Robotics practitioners already use rosbags, logs, and traces as raw incident evidence.
Structured next layer
Metriplane is positioned as incident context -> bundle -> verification -> generated regression check.
Permission policy
Named quotes require permission. Otherwise feedback is summarized by theme.
Scope and non-claims
The project is intentionally bounded.
Metriplane is observe-only, local-first, camera-compatible and replay-oriented, planar/tagged-asset scoped, and research-software oriented.
Next step
Inspect the artifact or send technical feedback.
Metriplane improves fastest when reviewers run the camera-free path, challenge the boundaries, and point out missing evidence.