Table of Contents
Fetching ...

dkpy: Robust Control with Structured Uncertainty in Python

Timothy Everett Adams, Steven Dahdah, James Richard Forbes

TL;DR

The paper tackles robust control under structured uncertainty and the need for accessible software tools. It introduces dkpy, a Python package that implements $μ$-analysis and $μ$-synthesis via the $DK$-iteration framework, plus uncertainty characterization utilities, built on the python-control ecosystem. Key contributions include a modular ABC-based architecture, multiple synthesis methods (including $H_\infty$ synthesis via SLICOT/LMI) and a workflow for multi-model uncertainty characterization. The aircraft lateral dynamics case study demonstrates practical robustness improvements and provides a benchmark for open-source robust control in Python.

Abstract

Models used for control design are, to some degree, uncertain. Model uncertainty must be accounted for to ensure the robustness of the closed-loop system. $μ$-analysis and $μ$-synthesis methods allow for the analysis and design of controllers subject to structured uncertainties. Moreover, these tools can be applied to robust performance problems as they are fundamentally robust control problems with structured uncertainty. The contribution of this paper is dkpy, an open-source Python package for performing robust controller analysis and synthesis for systems subject to structured uncertainty. dkpy also provides tools for performing model uncertainty characterization using data from a set of perturbed systems. The open-source project can be found at https://github.com/decargroup/dkpy.

dkpy: Robust Control with Structured Uncertainty in Python

TL;DR

The paper tackles robust control under structured uncertainty and the need for accessible software tools. It introduces dkpy, a Python package that implements -analysis and -synthesis via the -iteration framework, plus uncertainty characterization utilities, built on the python-control ecosystem. Key contributions include a modular ABC-based architecture, multiple synthesis methods (including synthesis via SLICOT/LMI) and a workflow for multi-model uncertainty characterization. The aircraft lateral dynamics case study demonstrates practical robustness improvements and provides a benchmark for open-source robust control in Python.

Abstract

Models used for control design are, to some degree, uncertain. Model uncertainty must be accounted for to ensure the robustness of the closed-loop system. -analysis and -synthesis methods allow for the analysis and design of controllers subject to structured uncertainties. Moreover, these tools can be applied to robust performance problems as they are fundamentally robust control problems with structured uncertainty. The contribution of this paper is dkpy, an open-source Python package for performing robust controller analysis and synthesis for systems subject to structured uncertainty. dkpy also provides tools for performing model uncertainty characterization using data from a set of perturbed systems. The open-source project can be found at https://github.com/decargroup/dkpy.

Paper Structure

This paper contains 15 sections, 19 equations, 13 figures, 1 table.

Figures (13)

  • Figure 1: General robust control diagrams.
  • Figure 2: Equivalent forms of the robust performance problem diagrams.
  • Figure 3: Inheritance structure of the abstract base classes in dkpy. Dark boxes denote a class, light boxes with a solid outline denote implemented methods, and light boxes with dashed outlines denote abstract (unimplemented) methods.
  • Figure 4: DkIterationsynthesize method control flow for performing $DK$-iteration in dkpy.
  • Figure 5: Multi-model uncertainty characterization code diagram in dkpy.
  • ...and 8 more figures