Skip to content
Snippets Groups Projects
Vaibhav Gupta's avatar
Vaibhav Gupta authored
5d0aebb2
History
Name Last commit Last update
src
.gitignore
CITATION.cff
LICENSE
README.md

Elliptical uncertainty modelling - MIMO (Hadamard)

License: MIT Maintainter: Vaibhav Gupta DOI

This repository contains the code that has been used for

@inproceedings{gupta_DatadrivenIQCMicrodisturbance_2023,
  title     = {Data-driven IQC-Based Robust Control Design for Hybrid Micro-disturbance Isolation Platform}, 
  booktitle = {2023 62th {{IEEE Conference}} on {{Decision}} and {{Control}} ({{CDC}})},
  author    = {Gupta, Vaibhav and Klauser, Elias and Karimi, Alireza},
  year      = {2023},
  address   = {Singapore},
  doi       = {10.1109/CDC49753.2023.10384121}
}

Requirements

  • MATLAB (2019b or newer)
    • Control System Toolbox
    • Signal Processing Toolbox
    • Statistics and Machine Learning Toolbox
  • Toolbox manager (tbxmanager) for MATLAB
    • yalmip
    • sedumi
  • MOSEK version 9.2 or above

Installation Instructions

  • tbxmanager
  • MOSEK
    • Download appropiate installer from MOSEK website and install the software.
    • For academic uses, a free license could be requested. For commercial purposes, a 30-day trial license is also available.

Repository structure

The structure of the src folder in the repository is as follows:

  ┣ +datadriven                       # Modified datadriven controller design package
  ┣ +utils                            # Utility functions
  ┣ Data                              # Folder for generated/used data
  ┃   ┣ OSIP_VIB_...                  # Experimental data from micro-disturbance isolation platform
  ┃   ┃ ...
  ┣ Plots                             # Folder for generated plots
  ┣ design_controller.m               # Function for controller synthesis 
  ┣ find_disk_uncertainty.m           # Function for disk uncertainty
  ┣ find_elliptical_uncertainty.m     # Function for elliptical uncertainty
  ┣ get_margin.m                      # Function for stability margin estimation
  ┣ plot_figures_exp.m                # Script for plotting experimental data
  ┣ plot_figures_sim.m                # Script for plotting simulation data
  ┣ script_exp.m                      # Script for experimental uncertainty estimation and controller design
  ┣ script_sim.m                      # Script for simulation uncertainty estimation for Active Suspension
  ┣ script_sim.m                      # Script for controller design (simulation)
  ┣ main_SimulationExample.m          # Script to run simulation
  ┗ main_ExperimentalResults.m        # Script for "Experimental Results" section of the paper

Usage Instructions

Set the current folder to the src folder.

  • To generate the data and plots from the section "Experimental Results", run main_ExperimentalResults.m.