This repo contains the code for the paper OneVision: Centralized to Distributed Controller Synthesis with Delay Compensation.
Supplementary video can be watched here on Youtube.
This code base is using the Julia Language and DrWatson to make a reproducible scientific project.
It is authored by Jiayi Wei, Tongrui Li, Swarat Chaudhuri, Isil Dillig, and Joydeep Biswas.
To (locally) reproduce this project, do the following:
- Download this code base. Notice that raw data are typically not included in the git-history and may need to be downloaded independently.
- Open a Julia console and do:
julia> using Pkg julia> Pkg.activate("path/to/this/project") julia> Pkg.instantiate()
This will install all necessary packages for you to be able to run the scripts and everything should work out of the box.
This step can significantly reduce Julia compilation time.
To generate a system image, from command line, run
julia scripts/precompile/generate_img.jl
It will take several minutes for this step to complete, after which a system image called "JuliaSysimage.dylib" will be created under the project root. To use this image, run all Julia commands with an additional sysimage
flag like below
julia --sysimage <path to image> <julia script>
Full simulation results can be found here.
To reproduce our simulation results, simply run the Julia script at scripts/run_experiments.jl
.
You can also play with the interactive demo by running scripts/runner.jl
.