Hybrid Workflow (WSL)
This guide explains how to set up the “Hybrid” development environment where the Simulation runs in WSL (Linux) and the Visualization runs in NVIDIA Omniverse USD Composer on Windows.
Architecture
Simulation (WSL): Runs the Python pipeline (
biologger-sim). Publishes telemetry via ZeroMQ (ZMQ) on port5555.Visualization (Windows): Runs Omniverse USD Composer. The
whoimpg.biologger.subscriberextension connects tolocalhost:5555to receive data.
Note
Windows can access WSL ports via localhost automatically in standard WSL2 configurations.
Prerequisites
WSL2: Ubuntu 22.04 or later recommended.
Python Environment: The
biologger-simenvironment set up in WSL.NVIDIA Omniverse: Installed on Windows (see Windows Setup (Kit App)).
Setup Instructions
1. Prepare the Simulation (WSL)
Ensure your environment is ready and you can run the simulation:
# In WSL Terminal
micromamba activate biologger-sim
pip install -e .
# Verify you can run the help command
python -m biologger_sim --help
2. Configure Omniverse (Windows)
We need to tell Omniverse where to find our custom extension. Since the code lives in WSL, we will point Omniverse to the network path.
Find your WSL Path: * Open Windows Explorer. * Type
\\wsl.localhost\Ubuntu(or your distro name) in the address bar. * Navigate to your project folder:.../biologger-sim/omniverse/extensions. * Copy this path. It should look like:\\wsl.localhost\Ubuntu\home\username\Projects\whoi-mpg\biologger-sim\omniverse\extensions.Add to Extension Manager: * Launch USD Composer on Windows. * Go to Window > Extensions. * Click the Gear Icon (Settings) in the top-right of the Extensions window. * Under Extension Search Paths, click the + button. * Paste the WSL path you copied above.
Enable the Extension: * Search for “Biologger” in the Extensions window. * You should see Biologger ZMQ Subscriber. * Toggle the Enabled switch. * A small window titled “Biologger Telemetry” should appear in the viewport.
Running the Loop
Step 1: Start the Simulation (WSL)
Run the simulation in “lab mode” or “simulation mode” with a config that enables ZMQ.
# In WSL
python -m biologger_sim run --config config/Swordfish-RED001_20220812_19A0564-postfacto.yaml
Note: Ensure your config has `zmq: enabled: true` and port `5555`.
Step 2: Connect in Omniverse (Windows)
With the simulation running, look at the Biologger Telemetry window in Omniverse.
The status should change from “Disconnected” to “Connected”.
You should see telemetry metrics updating.