Skip to content

Implementation of SINDy which uses a Autoencoder and SINDy model for System Identification of complex dynamics using image data for achieving Planar Pushing Task

Notifications You must be signed in to change notification settings

adityaaap/Deep-Learning-based-Trajectory-Planning

 
 

Repository files navigation

SINDy

Authors: Aditya Paranjape and Madhav Rawal

Implementation of the SINDy autoencoder for learning dynamics of planar pushing task

This repository contains the code for using the SINDy (Sparse Identification of Nonlinear Dynamics) model to accomplish a planar pushing task. The SINDy model is a custom deep autoencoder network designed to discover a reduced coordinate system where the dynamics are sparsely represented. This approach enables simultaneous learning of governing equations and associated coordinate systems, leveraging the strengths of deep neural networks and sparse identification of nonlinear dynamics.

Introduction

The goal of this project is to apply the SINDy model to a planar pushing task using a manipulator. We collect data of the manipulator's behavior in a simulation environment and pass it through the SINDy Autoencoder to discover the underlying dynamics and predict future states. The SINDy model offers a comprehensive analysis, exploring different hyperparameters, dynamics methods, and a comparison with the Embed to Control (E2C) model.

Getting Started

To get started with this project, follow the steps below:

  1. Clone the repository:
git clone https://github.com/Samorange1/SINDy.git
  1. Install the necessary dependencies. Make sure you have Python 3.x and pip installed. Then, run the following command:
./install.sh
  1. Run the demo script to see the trained SINDy model push the block in place with a franka panda manipulator.
python demo.py

Implementation

Shows the implementation of the Planar Pushing Task in Gym Simulation Environment

Sindy.video.mp4

Documentation

For detailed documentation on the project, including explanations of the SINDy model, data collection process, and training procedure, please refer to the Project Report file.

Acknowledgments

We would like to acknowledge Dr. Dimitry Berenson and Dr. Nima Fazeli for assisting us in this project and the following resources that inspired and assisted in the development of this project:

About

Implementation of SINDy which uses a Autoencoder and SINDy model for System Identification of complex dynamics using image data for achieving Planar Pushing Task

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.6%
  • Shell 0.4%