Codebase for replicating experiments in the NeurIPS 2020 paper "Memory-Efficient Learning of Stable Linear Dynamical Systems for Prediction and Control" by Giorgos Mamakoukas, Orest Xherija and Todd D. Murphey.
The master
branch of this repository contains the code that we used to generate the results that appear on the paper. In the python
branch, you will find a Python implementation of the SOC algorithm that we present in our paper, along with instructions on how to run it on your own data.
- Datasets
- Data Preparation
- Dynamical Texture Experiments
- Franka Emika Panda Experiments
- Citing
- Troubleshooting
To get the datasets used for our experiments, read the instructions in the data
directory.
To prepare the datasets for the UCLA, UCSD and DynTex prediction experiments, follow the instructions in the prepare_data
directory.
To reproduce our results for the UCLA, UCSD and DynTex benchmarks, you will need to run the TrainDynamicTexture.m
file.
NOTE: you will need to set some configuration options at the top of the TrainDynamicTexture.m
file so that it can work on your particular system.
To reproduce our results from the simulations and experiments with the Franka Emika Panda robotic arm manipulator, consult the FrankaLDS
directory.
If you find this project useful, consider
- starring this repository ⭐
- watching this repository for updates
- citing our paper (complete citation available after the publication of the NeurIPS 2020 proceedings)
@inproceedings{mamakoukas2020_memEfficientLDS,
title={Memory-Efficient Learning of Stable Linear Dynamical Systems for Prediction and Control},
author={Mamakoukas, Giorgos and Xherija, Orest and Murphey, Todd D.},
booktitle={Advances in Neural Information Processing Systems 33},
year={2020}
}
If you face any issues with our code or are unable to reproduce our results, please submit a Github issue and we will do our best to address it promptly.