How open-edge-platform/physical-ai-studio works
Physical AI Studio is an end-to-end robotic imitation-learning application: users configure projects and robot hardware, capture demonstrations into datasets, train policies, then inspect, export, and run models for inference. The repository tree supports these stages across a browser UI and Python backend, including local and remote training and detached robot runtime sessions. The README also describes library-based benchmarking, but no library source tree is included here. Some backend wiring is unsampled, so the graph shows only broad documented interactions and clear runtime responsibilities.
Main entry points: api HTTP and WS API · session_worker.py Session worker · training_service.py Training orchestration · engine.py SQLite database
Components 20
User interface
- Studio UI
application/ui/src/routes/app/app.layout.tsx
Robot setup and capture
- Projects and environments
application/backend/src/services/project_service.py - Robot and camera setup
application/backend/src/services/environment_service.py - Robot clients
application/backend/src/robots/robot_service.py - Runtime sessions
application/backend/src/services/runtime_session_service.py - Session worker
application/backend/src/runtime/hosts/session_worker.py - Runtime transport
application/backend/src/runtime/transport/server.py
Datasets and models
- Dataset management
application/backend/src/services/dataset_service.py - Recording mutations
application/backend/src/internal_datasets/mutations/recording_mutation.py - Training orchestration
application/backend/src/services/training_service.py - Training worker
application/backend/src/workers/training_worker.py - Trainer service
application/backend/src/trainer/main.py - Model management
application/backend/src/services/model_service.py - Inference and export
application/ui/src/features/models/inference/inference-page.tsx
Backend platform
- HTTP and WS API
application/backend/src/api - Remote trainers
application/backend/src/services/remote_trainer_service.py - SQLite database
application/backend/src/db/engine.py
Other components
- Operator
- Robot and cameras
- Remote training host
Connections 25
- Operator → Studio UI: operates
- Studio UI → HTTP and WS API: requests and streams
- HTTP and WS API → Projects and environments: manages projects
- HTTP and WS API → Robot and camera setup: configures hardware
- HTTP and WS API → Runtime sessions: starts and monitors
- Robot and camera setup → Robot clients: configures clients
- Runtime sessions → Session worker: launches session
- Session worker → Robot clients: controls robot
- Session worker → Runtime transport: publishes session events
- Robot and cameras → Robot clients: device I/O
- HTTP and WS API → Dataset management: manages datasets
- Session worker → Recording mutations: commits recordings
- Recording mutations → Dataset management: writes episodes
- HTTP and WS API → Training orchestration: starts training
- Training orchestration → Training worker: dispatches job
- Training worker → Trainer service: runs training
- Training orchestration → Remote trainers: selects remote target
- Remote trainers → Remote training host: forwards training
- HTTP and WS API → Model management: manages models
- Studio UI → Inference and export: configures inference and export
- Model management → Inference and export: provides model artifacts
- Projects and environments → SQLite database: persists records
- Dataset management → SQLite database: persists metadata
- Training orchestration → SQLite database: persists jobs
- Model management → SQLite database: persists metadata