The supergraph package provides a framework for simulating cyber-physical systems with realistic asynchronicity and delays. It extends conventional accelerated physics simulations by encoding data dependencies across parallel simulation steps into a supergraph, minimizing redundant computation and bridging the sim2real gap. The package includes examples that demonstrate its implementation and evaluation:
-
Environment Compilation: Demonstrates compiling computation graphs into robotic environments using Brax as the physics engine, with support for easily integrating other environments like Mujoco's MJX. This example utilizes the supergraph method to simulate efficient delay capabilities in a gym-like interface. View on Google Colab
-
Supergraph Algorithm: Detailed implementation of key algorithms with both readable and optimized versions, showcasing the use of supergraphs in simulation. View on Google Colab
You can install the package using pip:
pip3 install supergraph
If you are using supergraph for your scientific publications, please cite:
@article{heijden2024efficient,
title={Efficient Parallelized Simulation of Cyber-Physical Systems},
author={van der Heijden, Bas and Ferranti, Laura and Kober, Jens and Babuska, Robert},
journal={Transactions on Machine Learning Research},
year={2024}
}
This project is funded by the OpenDR Horizon 2020 project.