Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Markovian Robust LQR with Disturbances

This repository implements a Markovian Robust Linear Quadratic Regulator with Disturbances for discrete-time systems with:

  • Markovian switching dynamics (two independent chains)
  • Parametric uncertainties
  • Measurable disturbances

  • Supports two Markov chains:
    • System modes (Prob1)
    • Disturbance modes (Prob2)
  • Handles parametric uncertainty via structured matrices ( E_F, E_G, E_W )

Usage

Basic example:

import numpy as np

F = [np.array([[1.1, 0, 0], 
              [0, 0, 1.2],
              [-1, 1, 0]]),np.array([[-0.8, 0, 0], 
                                     [0, 1, 0.5],
                                     [1.3, 0, -1]])]  

G = [np.array([[0, 1],
              [1, 1],
              [-1, 0]]), np.array([[0.1, -1],
                                   [1, 3],
                                   [0.5, 0.3]])]  

W = [np.array([[0.2],
              [-0.5],
              [0.7]]), np.array([[0.2],
                                 [-1],
                                 [1.2]])]  

M = [np.array([[0.7],
              [0.5],
              [-0.7]]), np.array([[0.7],
                                  [0.5],
                                  [-0.7]])]

E_F = [np.array([[0.4, 0.5, -0.6]]), np.array([[0.0, -1.0, 0.0]])]
E_G = [np.array([[0.4, -0.4]]), np.array([[-0.8, 0.5]])]
E_W = [np.array([[-0.70]]), np.array([[1.6]])]

Lambda = [np.array([[0.95]]), 
                            np.array([[1.10]])]

Prob1=np.array([[0.5, 0.5], 
               [0.5, 0.5]])
Prob2=np.array([[0.8, 0.2], 
               [0.8, 0.2]])

controller = MRLQRD(
    F, G, W, E_F, E_G, E_W, M, Alpha,
    Q=np.eye(3),
    R=np.eye(2),
    Prob1=Prob1,
    Prob2=Prob2
)

L, K, P = controller.main()

License

MIT License


Author

Carlos A. F. Persiani


Benchmarking Systemas

The Benchmarking systems provided are extracted from http://www.complib.de

F. Leibfritz. COMPleib: COnstraint Matrix-optimization Problem library - a collection of test examples for nonlinear semidefinite programs, control system design and related problems. Tech.-Report 2004.

About

Presents the code for the Robust Regulation of Disturbed Discrete-time Linear Systems Subjected to Parametric Uncertainty

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages