Skip to content

Companion code for "Design of Input-Output Observers for a Population of Systems with Bounded Frequency-Domain Variation using DK-iteration"

License

Notifications You must be signed in to change notification settings

decargroup/input_output_observer_population

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Design of Input-Output Observers for a Population of Systems with Bounded Frequency-Domain Variation using DK-iteration

This repository contains the companion code for Design of Input-Output Observers for a Population of Systems with Bounded Frequency-Domain Variation using DK-iteration.

The DK-iteration is implemented using the python package dkpy.

The tasks that generate the results of the paper are automated using the pydoit task runner.

Installation

First, clone the repository using the command

$ git clone [email protected]:decargroup/input_output_observer_population.git

and enter the root directory using the command

$ cd input_output_observer_population

The recommended method to use python and install the dependencies is through virtual environments. Create a virtual environment called venv using the command

$ virtualenv venv

Activate the virtual environment using the command corresponding to your operating system

  • Linux or Mac OS
    $ source ./venv/bin/activate
  • Windows
    $ .\venv\Scripts\activate

Install the dependencies using the command

(venv) $ pip install -r ./requirements.txt

The linear matrix inequality (LMI) solver used in this paper, MOSEK, requires a license to use. A personal academic license can be obtained by following the instructions in here.

Usage

Once the virtual environment contains all the dependencies, the results from the paper can be generated by running the command

(venv) $ doit

while in the repository root directory. This command will run all the required code and generate all the plots shown in the paper. The results are placed in the build/ directory.

It is also possible to run individual tasks and their dependencies using the command

(venv) $ doit <TASK_NAME>

where the task names can be displayed using the command

(venv) $ doit list --all

About

Companion code for "Design of Input-Output Observers for a Population of Systems with Bounded Frequency-Domain Variation using DK-iteration"

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages