Skip to content

Latest commit

 

History

History
52 lines (33 loc) · 1.77 KB

README.md

File metadata and controls

52 lines (33 loc) · 1.77 KB

OneVision: Centralized to Distributed Controller Synthesis

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.

Reproduce

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:

  1. Download this code base. Notice that raw data are typically not included in the git-history and may need to be downloaded independently.
  2. 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.

Generate System Image (Optional)

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>

Results

Full simulation results can be found here.

Usages

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.