Università del Salento
Department of Innovation Engineering
Master’s degree in Computer Engineering
Advanced Control Techniques
Advanced Control Techniques
Dott. Marco Chiarelli
Academic Year 2015/2016 1
Quest’opera è stata rilasciata con licenza Creative Commons Attribuzione - Non commerciale - Condividi allo stesso modo 3.0 Unported. Per leggere una copia della licenza visita il sito web http://creativecommons.org/licenses/by-nc-sa/3.0/ o spedisci una lettera a Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
cbea
Questi appunti sono stati scritti utilizzando L TEX tramite la distribuzione MiKTeX http://miktex.org/
Come editor è stato usato TeXMaker 4.4.1 http://www.xm1math.net/texmaker/
Dei contenuti rielaborati in questa opera, salvo esplicitamente scritto il contrario, il prof. Giuseppe Notarstefano non se ne assume alcuna responsabilità.
2
Sommario
Le seguenti dispense vogliono essere un resoconto didattico del corso di Advanced Control Techniques, il quale docente è il prof. Giuseppe Notarstefano, presso il CdL in Ingegneria Informatica at Unisalento. Il programma copre tre macro-argomenti: la Stabilità dei Sistemi Non Lineari, i Sistemi Distribuiti ed Algoritmi di Ottimizzazione (distribuiti), più un piccolo capitolo circa delle Esercitazioni. Il seguente lavoro non ha la pretesa di sistematizzare in maniera esatta ciò che è stato fatto a lezione, sebbene l’impostazione di base cerca di seguire fedelmente ogni singola lezione che è stata erogata. Piuttosto cerca di raccogliere in maniera sintetica ma al contempo esaustiva gli aspetti chiave della Teoria del Controllo Avanzato, di fare ordine tra una quantità non indifferente di nozioni, e soprattutto di dare un sussidio alla preparazione di un eventuale esame didattico che richieda la conoscenza di queste nozioni e relativa applicazione per quanto concerne il lato pratico.
3
Abstract
The following work want to be a report about the Advanced Control Techniques course, whose teacher is the prof. Giuseppe Notarstefano, at. Computer Engineering @ Unisalento. The program covers three macro-topics: Non-Linear Systems’ Stability, Distributed Systems, and (Distributed) Optimization Algorithms plus a little chapter that treats some Exercises. It won’t systematize the entire work done at lessons in an exact manner, despite the base setting tries to follow each lessons that has been delivered to us. It tries to gather the key aspects of the Advanced Control Theory, and to reorder some difficult notions. Moreover it tries to give an help for the preparation of an eventual didactic exam that requires the knowledge about these notions and the related practical applications/homework/exercises.
4
Indice
Introduzione ii
1 Systems’ Theory 1
1.1 Systems’ Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Time-varying vs Time-invariant systems . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.2 Nonlinear (NL) vs Linear (L) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.3 Proper vs Strictly proper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.4 Forced vs Unforced . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Trajectories and Equilibria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.1 Trajectories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.2 State-Space Framework examples . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.3 Equilibria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2 Systems’ Stability 14
2.1 Internal stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.1 Equilibria Stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.2 Counterexamples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.3 Trajectories Stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1.4 Lyapunov’s Theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1.5 Instability and Inverse Theorem’s . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.1.6 Stability of Discrete Time Systems . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.1.7 Linearizations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.1.8 Stability of LTI Systems (T.Inv) (Recap) . . . . . . . . . . . . . . . . . . . . . 32
2.1.9 Design of a Feedback Asympt. Stabilizer System for an Equilibrium . . . . . . . 36
2.1.10 Linearization of a Nonlinear Forced System . . . . . . . . . . . . . . . . . . . . 36
2.1.11 Linearization at the Eq. Pair . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.1.12 Stability of Time-varying Systems . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.1.13 Exponential Stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.1.14 Feedback Linearization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3 Distributed Systems 63
3.1 Starting Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.1.1 Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.1.2 Proprietà e definizioni dei grafi . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.1.3 Network of a Processor for a distributed algorithm . . . . . . . . . . . . . . . . . 67
3.1.4 Discrete-time Dynamical Systems . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.2 Linear Distributed Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5
4 (Distributed) Optimization’s Algorithms 85
4.1 Starting Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.1.1 Necessary Conditions of Optimality . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.2 Iterative Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4.2.1 Descent Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4.2.2 Equality Constrained Optimization . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.2.3 (Inequality Constraints) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.2.4 Computation Methods for Equality and Inequality Constrained Problems . . . . . 104
4.3 Problemi di Controllo Ottimo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
4.3.1 Discrete-time Optimal Control . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
4.3.2 Continuos-time Optimal Control . . . . . . . . . . . . . . . . . . . . . . . . . . 129
4.4 Duality (for Parallel and Distributed Optimization) . . . . . . . . . . . . . . . . . . 132
4.4.1 Dual Algorithms: Dual Ascent . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
4.4.2 Distributed Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
5 Training Facility 143
5.1 Exercise) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
5.1.1 Sistema Tempo-variante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
5.2 Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
5.2.1 Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
5.2.2 Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
5.3 Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
5.4 Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
5.5 Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Ringraziamenti
Un grazie particolare va ai miei compagni d’università, Dino Sbarro, Gabriele Accarino, Giampiero D’Autilia, Matteo Settembrini, Paolo Panarese ed Emanuele Costa Cesari.
Introduzione
I Sistemi di Controllo Cyber ormai sono presenti massivamente. Progetti, Applicazioni concrete degli algoritmi, sviluppare nuovi metodi. Si chiede che quando si sviluppi qualcosa, questa funzioni in ogni scenario. Il corso sarà sostanzialmente strutturato in 3 tematiche principali:
- Proprietà Strutturali dei Sistemi Dinamici Non Lineari: (Stabilità, Tracking (traiettorie)) e Controlli di questi Strumenti; Lyapunov, invarianza di La Salle. Strumenti che ci permetteranno di disegnare un’azione di retroazione (feedback); applicazione a sistemi concreti (robot mobili, robot aerei, etc...). Data una particolare Dinamica, si applichino delle apposite Leggi di Controllo;
- Controllo di questi sistemi (ci concentreremo su alcune tematiche): ad esempio come l’Ottimizzazione può venirci in aiuto per designare e sviluppare queste leggi (Ottimizzazione Vincolata); proporre delle tecniche di controllo per sistemi dinamici (Controllo Ottimo), ovvero leggi di controllo che minimizzano una certa funzione di costo; si propongono di risolvere particolari task di controllo in meno tempo possibile, ad esempio;
- Nuova area dei controlli: tematica enunciata nel lontano 2003. Sistemi Complessi Multi-Agente, cooperanti. Tanti sistemi di controllo che, per raggiungere un task complesso, devono cooperare assieme; in maniera cooperativa questi sistemi decidono cosa fare ed attuano un certo sforzo di controllo di conseguenza;
Si supponga di avere un impianto (drone, veicolo mobile, etc.). Poi abbiamo le leggi di controllo che risiede nella Computing Unit (relativa implementazione del codice finale). La Teoria del Controllo cerca di sviluppare delle metodologie per alcune classi di problemi matematici. Il contesto di applicazione è abbastanza eterogeneo. Metodologie/tecniche che sono applicabili in variegati contesti. Il nostro Sistema può essere ad esempio un drone (autonomo), braccio robotico, ma allo stesso tempo può anche essere un processo chimico, un sistema biologico, insieme di individui (popolazione), etc.
È necessario comunque un interfacciamento con figure professionali. (Biological System) Biology System. Molecole viste nell’insieme come un sistema biologico. Percezione dei fenomeni con cui interagire per analizzare comportamenti che non hanno una matematica immediatamente chiara. Si isolino queste {ACT }: due parti, U AT ORS, P LAN T /SY ST EM ci andiamo a concentrare su una parte che contiene l’architettura HW + SW + tutta la parte di Sensoristica.
Parte estremamente importante è la Sensoristica! La parte isolata è ormai diventata preponderante nella vita di tutti i giorni. Tablet, smartphone, cellulari. Potenza spaventosa. La potenza di Sensing di cui adesso disponiamo è impensabile se confrontata con la tecnologia di circa 10 anni fa. Rivoluzione Tecnologica ⇒ Rivoluzione Metodologica. Prima si necessitava di workstation dedicate. Adesso ”c’è in giro” della potenza di calcolo, pronta per essere utilizzata.
Sensing: avere dati a disposizione, poterli processare efficacemente. Prendere la struttura di un drone (quadri-rotore), [Heli + Structure + Scheda]; questa architettura costa poco. Si potrebbe persino controllare un tale drone con un banale smartphone. Necessitiamo ii {Accelerometro, ⊂di: Giroscopio, GP S} (Smartphones). Disponiamo di potenza di calcolo e capacità di Sensing in quantità maggiore di quanto possa essere fisicamente presente nel singolo {Sensing, agente di controllo. Computing, dynamics and communications}.
Gli elementi principali sono: Potenza di Calcolo e Sensing. Robot mobili, autonomi ⇒ Teoria del Controllo. Mentre prima il Sistema di Controllo era concentrato in un posto, adesso la sua localizzazione fisica NON è più chiara! Ora i Sistemi non sono più essi stessi concentrati in un singolo posto. (es. più robot). Es. Amazon Logistics (KIVA System). Non abbiamo più sistemi localizzati, ma vi è un sistema complesso costituito da tanti sottosistemi capaci di interagire perfettamente tra di loro.
Gli stessi smartphone sono dei Sistemi di Controllo. Sensing. Quantità misurate con una certa dinamica ed eventualmente controllabili. Sistemi comunicanti, con certe regole. Ma posti in una stanza, ci saranno delle interazioni parziali tra un robot ed i suoi vicini. Componente fondamentale: Comunicazione. Oramai quantomeno necessario. Nuova classe di sistemi. Robot mobili, reti elettriche distribuite e non più concentrate. Microgeneratori sui quali potremo avere dell’intelligenza. Paradigma che stravolge praticamente l’intera Teoria del Controllo.
Vi sono delle unità di produzione che tra di loro devono per forza interagire. Aziende informatiche che ormai sono diventate qualcosa di diverso dalla loro principale essenza originaria. [Boston Dynamics]; proprio perché c’è questa necessità delle capacità tecnologiche, c’è la possibilità di fare tanto. Robotica, teoria del Controllo ed Automazione. Rendere autonomi sistemi che prima erano esclusivamente controllati dall’uomo. Questi sistemi di controllo rompono le tradizionali regole del passato. Interazione mutua è la chiave.
Attività importanti, con molte delle quali andremo probabilmente ad interfacciarci. Controllo di veicoli/velivoli autonomi. Se si vogliono progettare delle leggi di controllo ci deve essere una previa fase di modellizzazione dinamica di questi sistemi. Classi di sistemi con nuove architetture che stanno venendo fuori. Obiettivo: far lavorare robot in scenari concreti. Modelli tipo UAV (tilt rotor e quad rotor); ala fissa / sistemi a rotore; -) Controllo Ottimo.
Area del controllo non lineare che ci permetterà di gestire non linearità molto concentrate. In situazioni non molto complesse potrebbero andare bene delle Linearizzazioni. In passato quest’ultima utilizzata esclusivamente nell’Industria di Processo. Dinamiche di Processo molto lento (es. reattore chimico). Attualmente si può provare ad implementare tecniche di controllo del genere su altri settori. Strumenti tecnologici a disposizione degli Ingegneri Meccanici. Si porta avanti tutto in Virtuale, finché poi si è abbastanza sicuri della correttezza della scelta.
Riduzione del TTM (time-to-market). Controllori di queste dinamiche virtuali. Tecniche di Controllo Ottimo (Virtual Prototyping Technique); Tecniche di Ottimizzazione applicate ai sistemi dinamici ⇐⇒ tecniche di Controllo Ottimo applicate ad esempio in un veicolo.
Squadre di Sistemi di Controllo. L’idea è che abbiamo una serie di sistemi dinamici che possono comunicare tra di loro e svolgere compiti anche complessi. Senza affidarsi ad un coordinatore generale, onde evitare un antipattern SPoF (single point of failure). Calcoli non più banali in questo contesto. Caratteristiche tipiche di questi sistemi:
- Calcolo locale;
- M emoria locale;
- Comunicazione locale;
- N etwork;
Questo è qualcosa di diverso dal calcolo parallelo. Poter eseguire dei compiti non più in maniera centralizzata. Le leggi/algoritmi dovranno funzionare sotto questo tipo di controllo. Nel calcolo parallelo siamo noi stessi responsabili del progetto dell’architettura invece.
Sistema di Motion Capture all’infrarosso. Recuperare informazioni sulla posizione / grado di angolazione. State-feedback. Ci concentreremo sulle leggi di controllo senza preoccuparci degli Stimatori, mettendo temporaneamente da parte i problemi di Stima. Parte più o meno iii nuova. Es. Progetto OPT4SMART. L’idea è: per risolvere tanti dei problemi di controllo è necessario utilizzare delle tecniche di Ottimizzazione che devono essere ripensate in funzione di un contesto del tipo di quello descritto. Non è più la logica del calcolo parallelo, ma è un contesto ove Sensing e Computing Unit sono distribuite (locali).
Progettare un sistema di controllo / Design a control system. The main step that we need in order to design such a control system. Control Engineers have the possibility to work in different area. The model is as general as possible. Apply this model to the specific example. Aerospace Engineering, Electrical Engineering, etc. Biology, Psychology, Economy. Those are different context in which is possible to work with Control. Evolution of Dynamical System. Input. What are the steps in order to develop control system?
- Extract a model of the Actual System: the first very important step. Depending on the area on which we work, this is a very CRYTICAL STEP, because this model needs to meet two objectives that are somehow in contrast between them. Simple. The more simple, the more chance to develop the controller. (even if too simple it needs to may be useless); vs Capture Main Features of Actual System: be sufficiently complex such to capture the main features. Something we’ll gain with experience. Interact with expert of other area.
Once extracted the model, once you have the mathematical model (math feedback law), you have to:
- Design Control Law and Prove Its Correctness: you’ll need that at least the model is correct. Not just simulations. We will try to identify a class {Linear of mathematical models. Systems T.I. (LTI)}. We’ll study classes of law to control those class of systems. If already exists;
- Run Simulations: we have two substeps:
- Run Simulation with the model used for design;
- Complex Model;
The first is now the simulation on a model used for design + Complex Model that contains the previous model laws. Virtual Prototypes.
- Experiments;
iv
Capitolo 1
Systems’ Theory
1.1 Systems’ Classes
We will identify a class of systems. The Setup we will play with is the so-called State-Space Framework. ( −CON T IN U OS T IM E SY ST EM S (1.1) −DISCRET E T IM E SY ST EM S, where for the Continuos-time Systems we have this settings: ( ODE : ẋ(t) = f (x(t), u(t), t) (1.2) OU T P U T : y(t) = h(x(t), u(t), t) n≥ ∈∈ typically with (t t ) (in some situation we could have t < 0), x(t), with t RR, 0 m p∈ ∈as the State of the System, u(t) as the Input of the System, y(t) as R Rthe Output of the System, and let x(t ) = x be the initial condition at the initial time 0 0 ≤instant t . Typically we have Under-actuated systems, in the sense that m n, as there 0are also Over-actuated systems: m > n.
The input is something that can modify the behavior of the system. u := Decision Variable. x(t) is instead something that will be used to describe the behavior of the system. Concerning output, e could have two types: (M EASU RED OU T P U T S (1.3)
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Advanced programming techniques
-
Appunti del Corso Advanced Measurement Techniques
-
Appunti Advanced Management control and Sustainable Development
-
Advanced Microeconomics