Elliptical uncertainty modelling - MIMO (Hadamard)
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
- Run
utils.install_tbxmanager()
to installtbxmanager
with all required submodules.
- Run
-
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
.