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.
