← Selected work04 / OPENUSD / INDUSTRIAL SIMULATION

Smart Factory Digital Twin.

Connecting factory geometry to production context

ROLE
Workflow direction & simulation validation
TOOLS
OpenUSD · Omniverse Kit · Python · OPC UA · MQTT
DISCIPLINES
CAD integration · Simulated telemetry · Custom interfaces
YEAR
2026

All telemetry is simulated. No real PLC, MES integration or real-world deployment is claimed.

Factory Operations and CNC Station Telemetry showing SIMULATED DATA, four fresh station indicators and completed-cycle KPIs: 3 inspections, 2 accepted, 1 rejected, 2 packaged and 66.7 percent yield.
FIG. 01Live Operations — completed production results. The dashboard shows three inspections, two accepted units, one rejection and two packaged units. All telemetry is SIMULATED. This later-session capture is separate from the saved M9 acceptance run.

Open completed production results ↗

01 / THE OBJECTIVE

A factory layout.
Its operational context.

I directed an AI-assisted digital-twin demonstrator for furniture-panel production, combining CAD-derived equipment, reusable OpenUSD assets and simulated station data in a custom USD Composer application.

Equipment selection links geometry to telemetry. The work focused on asset scale, coherent station records and clear reporting of stale or incomplete data.

SAVED M9 ACCEPTANCE / SIMULATED BATCH

Simulated stations
4

CNC, Assembly, QC and Packaging

Scenario ticks
120

One-second ticks; scripted batch

Received messages
480

120 saved records per station

QC yield
66.7%

2 accepted / 3 inspected

Saved M9 simulation results; no measured transport latency, throughput benchmark or real-factory performance is claimed.

02 / OPENUSD & CAD

Reusable assets.
Separate placement decisions.

Separate layers organize geometry, equipment identity and corrections.

01

OpenUSD factory structure

Nine sublayers separate facility, zones, openings and placement in a metre-scale, Z-up stage. References separate assets from placement; a stronger layer adds receiving/shipping openings over the original south wall.

Four zones cover storage, CNC, assembly and QC, and packaging and shipping. Four stations supply telemetry; the extra assembly bench, racks and pallets stay static.

02

CAD-to-USD asset integration

NVIDIA’s HOOPS converter retained the OLSK CNC STEP assembly’s hierarchy, instances and materials. A reference wrapper corrects its orientation with +90° X rotation, millimetre-to-metre scaling and centred floor alignment; a separate parent controls placement.

Assembly, QC and packaging assets complement NVIDIA racks and pallets, scaled from centimetres. Layered material overrides preserve vendor originals. Third-party CAD and models are not distributed.

03 / THE DATA PATH

Python → OPC UA → MQTT.
Then into Omniverse.

A deterministic Python model supplies a simulated OPC UA server. A gateway publishes JSON through Mosquitto MQTT; a Kit extension updates Station Telemetry and Factory Operations.

USD paths identify equipment. Telemetry neither comes from meshes nor drives machine motion.

01

A coherent station snapshot

Four OPC UA station records carry completed-tick markers. The gateway publishes only when all markers agree before and after the read, rejecting partial updates.

02

Network reception and UI updates

Polling runs at about 5 Hz; each new tick produces one message per station per second. MQTT receives in the background; Kit’s main thread updates the UI. Connection, gateway presence and record age are tracked separately. Localhost transport uses QoS 0, without authentication or encryption.

Diagram wording reflects M9: “NO CONNECTION” became “DISCONNECTED” later. It describes architecture, not the current UI.

Architecture diagram linking a simulated Python production model to OPC UA, an MQTT gateway, Mosquitto and two Omniverse panels, with USD equipment paths used for selection.
Simulated production data flows through OPC UA and MQTT into two Omniverse panels. USD prim paths link station identity to equipment selection. The diagram retains historical M9 connection wording.

Open full-size architecture diagram ↗

04 / PRODUCTION LOGIC

Three units.
One deliberate rejection.

Three units pass through CNC, assembly, QC and packaging. Assembly takes 20 simulated seconds per unit, QC 8 and packaging 15, with one-second handovers. Unit 2 is deliberately rejected; only units 1 and 3 are packaged.

The run has 120 one-second ticks; packaging ends at tick 110. A CNC fault at ticks 45–59 follows all CNC completions and does not interrupt downstream work. Transfers are logical, with no physical animation.

05 / OPERATIONAL VIEW

Select the equipment.
Read the station state.

Factory Operations shows four stations’ state, record age and active unit. Selecting a station selects its USD prim and links Station Telemetry, which supports MQTT values and stepping through recorded JSONL.

Cycle resets are tracked. Mid-cycle joins show current counters and flag missing earlier alarms and events.

SIMULATED Station Telemetry linked to cnc_01 in RUNNING state, beside Factory Operations showing Assembly processing unit 1 and fresh data indicators for all four stations.
FIG. 02Station Telemetry — CNC RUNNING state. Assembly is processing unit 1 in the same capture. LIVE denotes fresh simulated records; no physical machinery is connected.

Open CNC RUNNING telemetry ↗

06 / IMPLEMENTATION CHALLENGES

Keep transforms correct.
Keep the data meaningful.

01

Preserving CAD transforms

separating the orientation and scale wrapper from placement prevented transform overrides.

02

Valid USD hierarchy

corrected model kinds while retaining geometry and references.

03

Consistent protocol data

sequence checks and explicit null conversion preserved data consistency between OPC UA and JSON.

04

Trustworthy state reporting

reset, mid-cycle and stale-data handling corrected misleading counters and freshness indicators.

07 / VERIFIED RESULTS

The recorded batch.
The acceptance boundary.

Saved M9 evidence contains 480 MQTT messages: 120 per station. The audit matched server, gateway and subscriber records to the dashboard totals.

Final outcomes from saved M9 acceptance evidence
MeasurementSimulated outcome
CNC parts3
Assembled3
Inspected3
QC accepted2
QC rejected1
Packaged2
QC yield66.7%

Source: saved M9 server, gateway, subscriber and dashboard records.

Reviewed screenshots show later simulated sessions, separate from M9 acceptance. Factory validation retains 2 failures and 1,188 warnings; no clean validation or SimReady certification is claimed.

08 / ROLE & CREDITS

Scene organization.
Protocol integration.
Evidence-based validation.

I defined the factory composition, asset workflow and simulation requirements, directed debugging, and validated results. Codex and Claude Code assisted with implementation, scripting and repeatable checks; I reviewed outputs and accepted major changes.

Core tools: OpenUSD, Kit/USD Composer, HOOPS CAD converter, Python/asyncua, Mosquitto, MQTT, omni.ui, PowerShell and NVIDIA asset-validation tools.

Project direction
Marko Bokan — workflow direction, integration decisions and validation.
CNC design
OLSK Large CNC — Open Lab Starter Kit ↗
Design: Daniele Ingrassia / InMachines Ingrassia GmbH. Copyright Daniele Ingrassia and Tobias Redlich / Helmut-Schmidt-Universität. CAD commit e7081c49c582b732ea6ab3c160bf557609754cfc: CERN-OHL-W-2.0. Integration: STEP-to-USD conversion and orientation, scale and placement corrections. Third-party CAD design.
Library equipment
NVIDIA Industrial Assets Pack (Industrial_NVD@10012), rack/pallet models. NVIDIA retains ownership; models and textures are not distributed.
Figures
Project dashboard captures and original architecture diagram. Telemetry is SIMULATED; no third-party source assets are distributed.
09 / LIMITATIONS & NEXT STEPS

A local demonstrator.
A defined scope.

All telemetry and production events are simulated. There is no real PLC, MES, physical product flow or real-world deployment. QC is illustrative and does not measure geometry.

Outage records are lost; event history is not persistent. Local transport lacks production security. Validation findings remain; no SimReady certification or compliance is claimed. Future third-party imagery requires separate rights review.