Skip to content

Geovanaafs/Discrete_PI_Controller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Discrete-Time Constrained PI-like Output Feedback Tracking

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


πŸ“– Overview

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.

Key Technical Features:

  • 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.

πŸ›  Software Requirements

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.

πŸš€ Repository Structure & Usage

πŸ“‚ File Descriptions

  • 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 .out files[cite: 84, 87].

πŸ“‹ Running the Design

  1. Ensure AMPL and Knitro are installed and in your system path.

  2. Run the command:

    ampl ex.run

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages