Industrial / fab lab

4D Twin

drag to rotate · scroll to zoom · right-drag to pan
Fab lab
loading…
00:00.0 frame 0
— m
N
Justin Myar discs: PPE alert overspeed carrying zones: pickup dropoff machine

Source feeds 4-camera tile

synced to 4D frame
cam 1b cam 1c cam 1d cam 1f
frame 0 / 0

Event overlays

select an analytic to render in the 4D twin
Layers:

Carry timeline

per-person carry state over the clip
Workers active
Carry productivity
deliveries / min
Machine-zone clear
% of clip with zone empty
Avg cycle time
pickup → dropoff

Worker performance · Six-Sigma view

illustrative · workforce σ from cycle consistency + PPE + speed compliance
σ
Workforce σ-level · Target 4.5σ
Each worker's σ-level combines cycle consistency (delivery transit time variance), PPE compliance (no machine-zone violations) and speed compliance (no overspeed events). Workforce σ is the unweighted mean.

Per-person summary

distance · active time · carry %

Carry sessions

contiguous runs where the box was detected
#Person Start (s) End (s) Dur (s)

Alerts

PPE violations · speeders · deliveries

Safety violations

PPE + speed events per worker

AI recommendations

operator advice from per-worker signals

Top improvement opportunities

impact vs effort
OpportunityImpactEffort

Historical occupancy heatmap

aggregated from room1_historical/twinvision_room1.log · positions in metres (BEV)
No precomputed grid found at demo_scenes/fablab/room1_historical/historical_occupancy.json. The raw log has millions of rows so the page reads a small precomputed JSON. Run once from the project root — recommended at a trailer-yard-style resolution (14×8 cells):

python3 analytics_python/preprocess_historical_v1.py --log "demo_scenes/fablab/room1_historical/twinvision_room1.log" --out "demo_scenes/fablab/room1_historical/historical_occupancy.json" --grid-x 14 --grid-y 8

For a denser smooth heatmap, raise --grid-x and --grid-y (defaults to 80×80). Re-run the script and reload this page anytime — it picks up the new grid.