An open-source TypeScript library for reproducible Integrated Sensing and Communication (ISAC) research (Node.js + browser)
Symbion is an open-source TypeScript library for reproducible end-to-end ISAC research. It supports a “simulation-as-code” workflow that combines:
- Communication & PHY utilities (channel models, beamforming helpers, modulation/coding building blocks)
- Mobility, planning, and robotics dynamics utilities (trajectory generation, kinematics/dynamics helpers)
- Research infrastructure (typed spaces, objectives/constraints, deterministic RNG, structured logging, experiment runner)
- Framework-agnostic AI agent integration via a stable WebSocket protocol (for connecting external AI backends — Python, RL agents, LLMs, etc.)
- Two reference tasks/benchmarks:
- U2U-MCS: 5G NR sidelink dynamic MCS selection (UAV-to-UAV)
- ISAC Trajectory: UAV trajectory optimization with LoS persistence and URLLC-style constraints
Symbion is designed to complement (not replace) large-scale network/PHY simulators. Its core focus is portability + reproducibility + end-to-end ISAC workflows.
npm install symbionFor installation instructions, quick start guides, API reference, and comprehensive tutorials, visit the official documentation.
- Dual runtime: Works in both Node.js (≥18) and modern browsers
- Reproducible experiments: Deterministic RNG, schema hashing, structured logging
- Framework-agnostic AI integration: WebSocket protocol for external agents
- Reference tasks: U2U-MCS sidelink and ISAC trajectory benchmarks
- Rich model library: Channel models, beamforming, robotics, sensing utilities
git clone https://github.com/YUJX19/Symbion.git
cd Symbion
npm install
npm run build
npm test- Physical flight controller integration: Couple realistic UAV dynamics with ISAC simulation for hardware-in-the-loop validation
Contributions are welcome.
- Please read
CONTRIBUTING.md
If you use Symbion in research, please cite a versioned archive (recommended for reproducibility). A CITATION.cff file is included for convenience.
MIT License — see LICENSE.