This repository contains the numerical implementation and simulation scripts for the methodology proposed in:
"Discrete-Time Constrained PI-like Output Feedback Tracking Controllers - a Robust Positive Invariance and Bilinear Programming Approach" > Geovana F. Dos Santos, Jackson Ernesto, EugΓͺnio B. Castelan, and Walter Lucia > EasyChair Preprint FF2k
This project provides an optimization-based design for a PI-like output feedback tracking controller. It ensures offset-free tracking for linear discrete-time systems while strictly respecting state and input constraints.
-
Internal Model Principle: Integrated to guarantee zero steady-state error for set-point references.
-
Constraint Handling: Uses polyhedral sets for both states (
$x \in \mathcal{X}$ ) and inputs ($u \in \mathcal{U}$ ). -
Bilinear Programming: Formulates the controller gain and invariant set design as a single optimization problem.
-
Robust Positive Invariance (RPI): Guarantees that if the system starts within the designed set, it remains there for all future time steps.
The implementation uses the AMPL (A Mathematical Programming Language) environment with high-performance nonlinear solvers:
-
Modeling: AMPL
-
[cite_start]Solver: Artelys KNITRO (specifically configured for multi-start global optimization)[cite: 84, 85].
-
Alternative Solvers: The code is compatible with other AMPL-supported solvers like IPOPT or SNOPT.
-
ex.mod: The mathematical model containing the objective function and constraints. -
ex.dat: Numerical parameters for the Two-Tank System benchmark ($T_s = 1s$ )[cite: 1, 10]. -
ex.run: Execution script that configures the solver and exports results to.outfiles[cite: 84, 87].
-
Ensure AMPL and Knitro are installed and in your system path.
-
Run the command:
ampl ex.run