08.05.2021 Views

Tesi di Laurea Controllo Adattativo con Imput Output Feedback Linearization di un Manipolatore Industriale

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

POLITECNICO DI BARI

FACOLTÀ DI INGEGNERIA

CORSO DI LAUREA IN INGEGNERIA ELETTRICA

TESI DI LAUREA

IN

AUTOMAZIONE DEI SISTEMI ELETTRICI PER L’ENERGIA

CONTROLLO ADATTAVIVO CON INPUT -OUTPUT

FEEDBACK LINEARIZATION PER UN

MANIPOLATORE

Relatore

Chiar.mo Prof. Ing. Francesco Torelli

Prof. Ing. Enrico De Tullie

Laureando

Michele Annese

ANNO ACCADEMICO 2004-2005


“Un giorno ci saranno macchine in grado di

risolvere problemi ma

non in grado di creare problemi”

dedeico questo lavoro di tesi

ad

i miei gatti


INTRODUZIONE ALLA TESI

In questo lavoro, sarà trattato il controllo adattativo nello spazio dei giunti di un

manipolatore, dotato di due giunti rotoidali intesa con una tecnica innovativa la

Feedback Feedforward Linearization.

Nel primo capitolo della tesi, sono stati introdotti le principali tipologie di robot

industriali indicandone le principali caratteristiche, illustrandone inoltre le loro

caratteristiche, vengono anche presentate le più recenti innovazioni.

La parte centrale è dedicata alla teoria della stabilità, approfondendo gli aspetti

teorici della Feedback Feedforward Linearization.

Infine nell’ultimo capitolo verrano analizzati e commentati i risultati di simulazione

ottenuti con l’ausilio di Simulink di Matlab.

Tali risultati saranno ottenuti variando il segnale di riferimento in ingresso, in modo

da verificare le caratteristiche di efficienza dell’intero sistema di controllo.

Inoltre a causa dell’usura delle giunti del manipolatore con riferimernto ad i tempi di

obsolescenza è possibile verificare la robustezza del sistema di controllo ipotizzando

che le lunghezze dei link varino secondo una certa tolleranza.


CAPITOLO 1

AUTOMAZIONE E ROBOTICA


AUTOMAZIONE E ROBOTICA

Con automazione si intende una tecnologia il cui obiettivo è quello di sostituire la

macchina all’uomo in un processo di produzione, non solo per quanto riguarda

l’esecuzione delle operazioni materiali, ma anche per ciò che consente l’elaborazione

intelligente delle informazioni sullo stato di processo. L’automazione è dunque

sintesi delle tecnologie industriali proprie del processo di produzione e della

tecnologia informatica che consente la gestione delle informazioni. I livelli di

automazione a cui è possibile fare riferimento sono l’automazione rigida,

l’automazione programmabile e l’automazione flessibile.

L’automazione rigida riguarda un contesto di fabbrica orientato alla produzione in

serie di manufatti di caratteristiche costanti. La necessità di produrre grossi volumi di

parti con requisiti di elevata produttività e qualittà del prodotto impone l’impiego di

sequenze obbligate di operazioni da eseguire sul manufatto con macchine

appositamente concepite.

L’automazione programmabile riguarda un contesto di fabbrica orientato alla

produzione di piccoli e medi lotti di manufatti di caratteristiche variabili. Un sistema

di automazione programmabile consente di alterare con relativa facilità la sequenza

delle operazioni da eseguire sul manufatto per realizzare variazioni nella gamma dei

prodotti.

Le macchine impiegate sono più versatili ed in grado di effettuare lavorazioni su

oggetti diversi appartenenti alla stessa tecnologia di gruppo. La maggior parte dei

prodotti disponibii sul mercato sono oggi realizzati con sistemi di automazione

programmabile.

L’automazione flessibile rappresenta l’evoluzione dell’automazione programmabile

ed il suo obiettivo e quello di consentire la produzione di lotti variabili di manufatti

diversi, minimizzando i tempi morti necessari alla riprogrammazione delle sequenze

di operazioni e delle macchine impiegate per passare da un lotto al successivo.

La realizzazione di un sistema di produzione flessibile richiede una forte integrazione

della tecnologia informatica con le tecnologie industriali.


CAPITOLO 1

Automazione e Robotica

Il robot industriale è una macchina che offre interessanti caratteristiche di versatilità

e flessibilità. Secondo la definizione universalmente accettata dalla Robot Institute of

America, un robot è una struttura meccanica multifunzionale e riprogrammabile

progettato per spostare materiali, parti, utensili o dispositivi specializzati secondo

movimenti variabili programmabili per l’esecuzione di una varietà di compiti diversi.

Per le sue caratteristiche di programmabilità, il robot industriale è pertanto un

componente tipico dei sistemi di automazione programmabile. Pur tuttavia ai robot

possono essere delegati compiti in sistemi di automazione rigida sia in sistemi di

automazione flessibile.

Il robot industriale è costituito da:

- una struttura meccanica o manipolatore che consiste in un insieme di corpi

rigidi (bracci) interconnessi tra di loro per mezzo di articolazioni (giunti); nel

manipolatore si individuano una struttura portante, che ne assicura mobilità,

un polso, che conferisce destrezza, un organo terminale che esegue il

compito per cui il robot è utilizzato;

- attuatori che imprimono il movimento al manipolatore attraverso

l’azionamento dei giunti; si impiegano usualmente motori elettrici, idraulici

ed a volte pneumatici;

- sensori che misurano lo stato del manipolatore (sensori proprecettivi) ed

eventualmente lo stato dell’ambiente (sensori esterocettivi);

- una unità di governo (calcolatore) con funzioni di controllo e supervisione dei

movimenti del manipolatore.

La caratteristica essenziale che differenzia un robot industriale da una macchina

utensile a controllo numerico, è la maggiore versatilità; questa è assicurata dal fatto

che il manipolatore può presentare come organo

terminale, utensili di natura

profondamente diversa, inoltre il volume del manipolatore è piccolo rispetto al

volume dello spazio di lavoro.

Il robot industriale presenta tre caratteristiche di impiego fondamentali che lo

rendono utile in un processo manifatturiero: trasporto, manipolazione e misura.

In un processo manifatturiero ogni oggetto deve essere trasportato da una locazione

ad un’ altra della fabbrica per essere immagazzinato, lavorato, assemblato e

4


CAPITOLO 1

Automazione e Robotica

confezionato. Nell’operazione di trasporto le caratteristiche fisiche dell’oggetto non

subiscono alterazioni. L’abilità da parte del robot di prendere un oggetto, di

muoverlo nello spazio su percorsi predefiniti e di rilasciarlo, rende il robot stesso un

candidato ideale per le operazioni di trasporto. Applicazioni tipiche sono:

- la palettizzazione (predisposizione di oggetti in maniera preordianta su un

apposito supporto raccoglitore);

- il carico e lo scarico di magazzini;

- il carico e lo scarico di macchine operatrici e macchine utensili;

- la selezione e lo smistamento di parti;

- il confezionamento di merci.

La fase di fabbricazione consente di trasformare gli oggetti da parti semilavorate in

prodotti finiti; in questa fase la parte muta le proprie caratteristiche fisiche, a seguito

di una lavorazione, o perde la propria identità, a seguito di un assemblaggio di più

parti. La capacità del robot di manipolare sia oggetti che utensili lo porta ad essere

impiegato in operazioni di fabbricazione. Esempi significativi di questo tipo di

applicazioni sono:

- la saldatura ad arco e quella a punti;

- la verniciatura e il rivestimento;

- l’incollaggio e la sigillatura;

- il taglio laser e quello a getto d’acqua;

- la fresatura e la trapanatura;

- la sbavatura e la molatura;

- l’avvitatura, il cablaggio e il fissaggio;

- l’assemblaggio di gruppi meccanici ed elettrici;

- il montaggio di schede elettroniche.

Oltre alle operazioni di trasporto e manipolazione, in un processo di fabbricazione è

necessario effettuare operazioni di misura per verificare la qualità dei prodotti.

5


CAPITOLO 1

Automazione e Robotica

La capacità del robot di poter esplorare lo spazio tridimensionale, insieme alla

disponibilità di misure sullo stato del manipolatore, consentono l’utilizzazione del

robot come macchina di misura.

Alcune applicanioni sono:

- il collaudo dimensionale;

- il rilevamento di profili;

- l’individuazione di difetti di fabbricazione.

Le applicazioni presentate descrivono l’impiego attuale di robot quali componenti in

sistemi di automazione industriale. Esse fanno tutte riferimento a caratteristiche di

forte strutturazione dell’ambiente di lavoro e pertanto non esauriscono tutte le

possibili utilizzazioni dei robot in applicazioni industriali. In ambito industriale,

laddove si vogliono affrontare problemi che richiedono l’adattamento del robot ad

un ambiente di lavoro mutevole, sono di interesse le ricadute di prodotti della

robotica avanzata.

STRUTTURA DEI MANIPOLATORI

La struttura dei maniopolatori è a catena cinematica aperta. Da un punto di vista

topologico, una catena cinematica viene detta aperta quando vi è una sequenza di

bracci che connette i due estremi della catena. Alternativamente un manipolatore

contiene una catena cinematica chiusa quando una sequenza di bracci forma un

anello.

La mobilità di un manipolatore è assicurata dalla presenza dei giunti. L’articolazione

tra due bracci consecutivi può essere realizzata da un giunto prismatico o rotoidale.

In una catena cinematica aperta, ogni singolo giunto conferisce un grado di mobilità.

Un giunto prismatico realizza un moto relativo di traslazione tra i due bracci, mentre

un giunto rotoidale realizza un moto relativo di rotazione. I giunti rotoidali sono

spesso preferiti rispetto a quelli prismatici per le loro caratteristiche di compattezza

ed affidabilità.

6


CAPITOLO 1

Automazione e Robotica

I gradi di mobilità devono essere opportunamente distribuiti lungo la struttura

meccanica, in modo da fornire i gradi libertà richiesti per l’esecuzione di un dato

compito. Nel caso più generale si voglia posizionare e orientare arbitrariamente un

oggetto nello spazio tridimensionale, i gradi di libertà richiesti sono sei, tre per

posizionare un punto dell’oggetto e tre per orientarlo rispetto ad una terna di

coordinate di riferimento. Se si hanno più gradi di mobilità che gradi di libertà, il

manipolatore si dice rindondante da un punto di vista cinematico.

Lo spazio di lavoro rappresenta la porzione dell’ambiente circostante a cui può

accedere l’organo terminale del manipolatore. La sua forma e il suo volume

dipendono dalla struttura del manipolatore e dalla presenza di fine corsa ai giunti.

Il compito richiesto alla struttura portante è quello di posizionare il polso a cui è

affidato il compito di orientare l’organo terminale, e pertanto sono necessari almeno

tre gradi di mobilità, se lo spazio di lavoro è tridimensionale. Il tipo e la successione

dei gradi di mobilità della struttura portante consente di classificare i manipolatori in:

cartesiani, cilindrici, sferici, SCARA e antropomorfi.

fig.1.1 Manipolatore cartesiano e suo spazio di lavoro

La geometria cartesiana è realizzata con tre giunti prismatici con assi usualmente

ortogonali tra di loro (figura 1.1). Per la semplicità della geometria, ad ogni grado di

7


CAPITOLO 1

Automazione e Robotica

mobilità corrisponde un grado di libertà dello spazio cartesiano e pertanto è

immedianto realizzare percorsi rettilinei nello spazio.

La struttura cartesiana offre ottime caratteristiche di rigidezza meccanica. La

precisione di posizionamento del polso è costante in tutto lo spazio di lavoro che

occupa il volume racchiuso da un parallelepipedo (fig1.1). Alle buone caratteristiche

di precisione si accompagna tuttavia una scarsa destrezza, imputabile alla presenza di

giunti tutti prismatici. L’approccio all’ oggetto da manipolare è laterale. Se si

desidera invece un approccio dall’alto, il manipolatore cartesiano può essere

realizzato con una struttura a portale come illustrato in figura 1.2; tale struttura

consente di ottenere uno spazio di lavoro di grosso volume e di manipolare oggetti di

dimensioni e peso notevole.

fig. 1.2 Manipolatore a portale

8


CAPITOLO 1

Automazione e Robotica

fig. 1.3 Manipolatore cilindrico e suo spazio di lavoro.

I manipolatori cartesiani vengono impiegati per operazioni di trasporto e di

assemblaggio.

I motori per l’azionamento dei giunti sono usualmente elettrici ed a volte pneumatici.

La geometria cilindrica si differenzia da quella cartesiana per la sostituzione del

giunto prismatico di base con uno rotoidale (fig. 1.3). Se il compito viene descritto in

coordinate cilindriche, anche in questo caso ad ogni mobilità corrisponde un grado di

libertà. La struttura cilindrica offre buone caratteristiche di rigidezza meccanica; la

precisione di posizionamento del polso si riduce al crescere dello sbraccio

orizzontale. Lo spazio di lavoro è una porzione di cilindro cavo (fig. 1.3). Il grado di

mobilità a traslazione rende il manipolatore cilindrico adatto ad accedere col polso in

cavità orizzontali. I manipolatori cilindrici vengono impiegati prevalentemente per

operazioni di trasporto di oggetti anche di peso rilevante.

La geometria sferica si differenzia da quella cilindrica per la sostituzione del

secondo giunto (prismatico) con un giunto rotoidale (fig. 1.4). Ad ogni grado di

mobilità corrisponde un grado di libertà solo se il compito viene descritto in

coordinte sferiche. Le caratteristiche di rigidezza meccanica sono inferiori rispetto a

quelle delle due strutture precedenti e la costruzione meccanica risulta più

9


CAPITOLO 1

Automazione e Robotica

complessa. La precisione di posizionamento del polso si riduce al crescere dello

sbraccio radiale. Lo spazio di lavoro è una porzione di sfera cava (fig. 1.4) e può

includere al suo interno anche il piano di supporto della base del manipolatore,

consentendo quindi la manipolazione di oggetti posti sul pavimento. I manipolatori

sferici vengono impiegati prevalentemente per operazioni di manipolazione di

oggetti posti sul pavimento. I manipolatori sferici vengono impiegati

prevalentemente per operazioni di lavorazione. Tipicamente si utilizzano motori

elettrici per l’azionamento dei giunti.

Una geometria particolare è quella SCARA che può essere realizzata disponendo due

giunti rotoidali e uno prismatico, in maniera tale che gli assi di moto siano tutti

paralleli tra di loro (Figura 1.5). L’acronimo SCARA, derivato, dalla notazione

inglese Selective Compliance Assembly Robot Arn, specifica le caratteristiche

meccaniche della struttura che presenta elevata rigidezza a carichi verticali e

cedevolezza a carichi orizzontali; come tale, la struttura SCARA si presta

all’esecuzione di compiti di assemblaggio per inserimenti verticali. La

corrispondenza tra gradi di mobilità e gradi di libertà è mantenuta solo per la

componente verticale in una descrizione del compito in coordinaste cartesiane.

fig. 1.4 Manipolatore sferico e suo spazio di lavoro

10


CAPITOLO 1

Automazione e Robotica

fig. 1.5 Manipolatore SCARA e suo spazio di lavoro

La precisione di posizionamento del polso si riduce al crescere della distanza del

polso stesso dall’asse del primo giunto. Lo spazio di lavoro tipico è illustrato in

figura 1.5. Il manipolatore SCARA è destinato ad applicazioni di manipolazione di

piccoli oggetti; i motori per l’azionamento dei giunti sono elettrici.

fig. 1.6 Manipolatore antropomorfo e suo spazio di lavoro

11


CAPITOLO 1

Automazione e Robotica

La geometria antropomorfa è realizzata con tre giunti rotoidali; l’asse di rotazione

del giunto di base è ortogonale agli altri due tra di loro paralleli (fig. 1.6). Per la

somiglianza con il braccio umano, il secondo giunto viene detto giunto di spalla

mentre il terzo giunto, che connette “braccio” e “avanbraccio”, viene giunto di

“gomito”. La struttura antropomorfa è la struttura di manipolazione con maggiore

destrezza, grazie alla presenza di giunti tutti rotoidali. Per contro si perde del tutto la

corrispondenza tra gradi di mobilità e gradi di libertà e la precisione di

posizionamento del polso cambia in tutto lo spazio di lavoro. Quest’ultimo è

approsimativamente una porzione di sfera (figura 1.6) e il suo volume è grande

rispetto all’ ingombro del manipolatore. Gli azionamenti dei giunti sono tipicamente

elettrici. Il campo delle applicazioni industriali dei manipolatori antropomorfi è il più

vasto. I manipolatori precedentemente descritti hanno tutti una struttura a catena

cinematica aperta. Laddove subentrino richieste di portate elevate, la struttura

meccanica deve presentare migliori caratteristiche di rigidezza per garantire

precisioni di posizionamento comparabili. Il ricorso a strutture di manipolazione a

catena cinematica chiusa si rende in questo caso d’obbligo. Ad esempio, per una

struttura antropomorfa, si può adottare un disegno a parallelogramma tra i giunti di

spalla e di gomito, così da creare una catena cinematica aperta da un punto di vista

cinematico.

Alle strutture di manipolazione presentate è affidato il compito di posizionare il

polso che consente di orientare l’organo terminale del manipolatore. Volendo

garantire orientamenti arbitrari in uno spazio tridimensionale, il polso deve possedere

almeno tre mobilità realizzati da giunti rotoidali. Dal momento che il polso

costituisce la parte terminale del manipolatore, ad esso sono richieste caratteristiche

di compattezza che spesso rendono problematico il suo progetto meccanico. Senza

voler entrare nel merito dei dettegli costruttivi, la realizzazione che conferisce al

polso maggiore destrezza è quella in cui i tra assi di rotazione si intersecano in un

punto.

12


CAPITOLO 1

Automazione e Robotica

fig. 1.7 Polso sferico

Il polso assume in tal caso il nome di polso sferico ed è rappresentato in fig 1.7; alla

struttura portante è affidato il compito di posizionare il punto di intersezione degli

assi del polso, mentre il polso stesso determina l’orientamento dell’organo terminale.

In quelle realizzazioni in cui il polso non è sferico, più semplici da un punto vista

meccanico, posizionamento e orientamento interagiscono tra di loro complicando in

tal modo il coordinamento tra struttura portante e polso per realizzare un moto

assegnato.

L’organo terminale viene specificato in relazione al compito che il robot deve

eseguire. Per compiti di trasporto, l’organo terminale è costituito da una pinza di

forma e dimensione opportune dettate dall’oggetto da afferare. Per compiti di

lavorazione e di assemblaggio, l’organo terminale è un utensile o un dispositivo

specializzato; ad esempio, una torcia di saldatura, una pistola a spruzzo, una fresa, un

trapano, un giravite.

La versatilità e la flessibilità di un robot manipolatore non devono indurre la

convinzione che tutte le strutture meccaniche possano essere equivalenti ai fini

dell’esecuzione di un determinato compito. La scelta di un robot è infatti

condizionata dall’applicazione che pone vincoli sulla dimensione e forma dello

spazio di lavoro, sulla portata di carico, sulla destrezza, sulla precisione di

posizionamento, sulle prestazioni dinamiche del manipolatore.

Nelle fig 1.8 -1.13 sono mostrate le fotografie di alcuni robot industriali.

Il robot AdeptOne XL in fig. 1.8 ha una struttura SCARA a quattro giunti. Sono

impiegati motori ad azionamento diretto. Ha uno sbraccio di 800 mm, con una

13


CAPITOLO 1

Automazione e Robotica

ripetibilità di 0.025 mm in direzione orizzontale e 0.038 mm in quella verticale. Le

velocità massime sono di 1200mm/s per il giunto prismatico, mentre variano da 650

a 3300°/s per i tre giunti rotoidali. La portata è di 12 kg.

La gamma di applicazioni per cui tale robot è impiegato nell’industria include il

trapano di piccole parti, l’assemblaggio ed il confezionamento.

FIGURA 1.9 Robot Comau SMART S2

FIGURA 1.8 Robot AdeptOne XL

FIGURA 1.10 Robot ABB IRB 4400

14


CAPITOLO 1

Automazione e Robotica

fig 1.11 Unità lineare Kuka KL

250 con Robot KR 15/2

fig. 1.12 Robot Robotics Research K-1207i

fig 1.13 Robot Fanuc I-21i

Il robot Comau SMART2 robot in figura 1.9 ha una struttura antropomorfa a sei

giunti con polso non sferico. Ha uno sbraccio di 1458 mm in direzione orizzontale e

2208 mm in quella verticale, con una ripetibilità di 0.1 mm. Le velocità massime

variano da 115 a 220°/s per i primi sei giunti, e da 300 a 430°/s per gli ultimi tre

giunti. La portata di 16 è kg. Può essere montato a pavimento o a soffito. La gamma

di applicazioni per cui tale robot è impiegato nell’industria include la saldatura ad

15


CAPITOLO 1

Automazione e Robotica

arco, il trasporto di materiali leggeri, l’assemblaggio e in genere i processi

tecnologili.

Il robot ABB IRB 400 in Figura 1.10 ha anch’esso una struttura antropomorfa a sei

giunti ma, a differenza della precedente struttura a catena aperta, possiede una catena

chiusa di tipo a parallelogramma tra i giunti di spalla e di gomito. Lo sbraccio varia

da 1960 a 2740 mm per le varie versioni, con una ripetibilità da 0.07 a 0.1 mm. La

velocità massima all’organo terminale è di 2200 mm/s. La portata è di 60 kg. Può

essere montato a pavimento o a parete. La gamma di applicazioni per cui tale robot è

impiegato nell’industria include il trasporto di materiali, il carico e lo scarico di

macchine, la molatura, l’incollaggio, la pressatura, lo stampaggio e l’assemblaggio.

L’unità lineare Kuka KL 250 con robot KR 15/2 in figura 1.11 è composta da una

struttura antropomorfa a sei giunti con polso sferico, montata su una slitta con

installazione a portale; è disponibile anche l’installazione verticale. La portata

dell’unità lineare è di 250 kg con corsa di 6200 mm, una velocità massima di 1310

mm/s e una ripetibilità di 0.2 mm. D’altra parte, il robot è caratterizzato da una

portata di 25 kg, una sbraccio di 1570 mm e una ripetibilità di 0.1 mm. Le velocità

massime sono di 152°/s per i primi tre giunti, mentre variano da 284 a 604°/s per gli

ultimi tre giunti. Dal momento che il controllo dell’unità lineare è effettivamente

integrato nel sistema di controllo del robot come un settimo asse di moto, si ottiene

rindondanza cinematica rispetto a compiti a sei gradi di libertà e in definitiva

maggiore mobilità all’interno dello spazio di lavoro. La gamma di applicazioni per

cui tale robot è impiegato nell’industria include il carico e lo scarico di macchine di

saldatura ad arco, la finitura, il rivestimento, la sigillatura, il taglio a plasma e a getto

d’acqua. Le due strutture che seguono sono da considerarsi meno convenzionali delle

precedenti quattro dal punto di vista delle applicazioni industriali. Il robot Robotics

Research K-1207i in figura 1.12 ha anch’esso una struttura a sette giunti, ma il

giunto addizionale è rotoidale ed è integrato nel robot articolato. Si ottiene così

maggiore destrezza avendo la possibilità di ripiegare il robot – caratteristica

desiderabile in operazioni che prevedono la manipolazione attraverso condotte o

piccoli oblò – e di minimizzare lo spazio di ricovero. Viene impiegato un concetto di

costruzione modulare dei bracci che possono essere assemblati disponendo più unità

a sette giunti in serie sino a disporre di diciasette assi di moto in strutture topologiche

16


CAPITOLO 1

Automazione e Robotica

ad albero. Il robot è utilizzato per operazioni di lavorazioni, soprattutto nell’industria

e nel settore di ricerca aerospaziale.

Il Robot Fanuc I-21i in fig. 1.13 ha una struttura antropomorfa a sei giunti con polso

non sferico. La novità per un prodotto industriale è rappresentata dai sensori integrati

nell’unità di governo, tra i quali un sistema di guida basato sulla visione

tridimensionale e un sensore di forza a sei assi. Il robot utilizzato per il trasporto di

oggetti arbitrariamente posizionati, come ad esempio pezzi sparpagliati su un

vassoioio, nonché per l’assemblaggio di parti meccaniche complesse, come ad

esempio per il fissaggio di bulloni.

Solo negli ultimi anni per lo più, la distanza tra realtà e “science fiction" si è

accorciata.

La Honda ha di recente prodotto il robot antropomorfo Asimo, capace di afferrare

oggetti e di scendere addirittura le scale grazie ad un sofisticato meccanismo di

bilanciamento del baricentro.

FIGIRA 1.14 : Il robot antropomorfo ASIMO è capace di muovere le mami, la testa,

etc. e di salire fluidamente le scale, grazie ad un sofistificato meccanismo di

bilanciamento del baricentro.

Anche la multinazionale giapponese Sony ha di recente realizzato il cane-robot

AIBO FIGURA 1.15 con minori potenzialità dell'avversario di casa Honda, ma con

un mercato target più ampio. Grazie ad ulteriori innovazioni, come il movimento

17


CAPITOLO 1

Automazione e Robotica

delle orecchie (grazie a dei piccoli motorini elettrici) o il riconoscimento del proprio

nome, la ditta giapponese spera di migliorare ancora di più la sua creatura.

Entrambi i robot sono accomunati dall'utilizzo di un avanzato sistema di Visione che

permette loro di studiare l'ambiente esterno e ricavarne utili informazioni.

Casi eclatanti a parte, lo studio della robotica sia in campo accademico che

industriale ha consentito lo sviluppo di robot sempre più sofisticati, utili sia

socialmente (nel campo della chirurgia,ad esempio) che scientificamente.

fig 1.15 Robot-cane AIBO

La missione Pathfinder ne è stata forse l'esempio primo : nel 1997 iniziava

l'esplorazione del suolo marziano da parte del robot mobile Sojourner (1.3) capace di

analizzare rocce, scattare foto e spedire i risultati agli scienziati della NASA (sulla)

tramite una stazione fissa. Sono stati seguiti altri due lanci di sonde analoghe

verso zone di Marte in cui sono state rinvenute tracce di acqua capace di dar vita a

primitivi microganismi.

18


CAPITOLO 1

Automazione e Robotica

Figura 1.16 Robot mobile Sojourner fotografato sul suolo di Marte

Figura 1.17 Applicazioni spaziali

Figura 1.18 Applicazioni per la medicina

Sono stati sviluppati diversi prototipi di Robot in l’agricoltura per:

19


CAPITOLO 1

Automazione e Robotica

- raccolta fiori, frutti, ortaggi;

- coltivazione campi;

ma che non hanno avuto diffusione ampia causa del basso costo della manodopera.

fig. 1.19 esempio di Robot in agricoltura

I robot possono inoltre essere adottati in tutti quegli ambienti particolarmente ostili

all’uomo, una delle applicazioni recenti sono i robot sottomarini impiegati nelle

ricerche e recupero di imbarcazioni naufragate con i loro carichi.

Figura 1.20 Robot sottomarini

20


CAPITOLO 1

Automazione e Robotica

MODELLISTICA E CONTROLLO DEI MANIPOLATORI

In tutte le applicazioni la realizzazione di un generico compito da parte di un robot

industriale è affidata all’esecuzione di uno specifico movimento imposto all’organo

terminale del manipolatore. Il movimento può essere libero se l’organo terminale non

presenta una interazione fisica con l’ambiente, ovvero può essere vincolato se tra

organo terminale e ambiente di lavoro vengono scambiate forze di interazione.

La corretta esecuzione del movimento dell’organo terminale è affidata all’unità di

governo che deve fornire agli organi di attuazione dei giunti del manipolatore i

comandi congruenti con la legge di moto che si intende realizzare. Obiettivo di tale

analisi è la derivazione dei modelli dell’organo terminale che richiede un’ analisi

accurata delle caratteristiche della struttura meccanica, degli organi componenti di un

robot. La modellistica di un robot manipolatore è pertanto presupposto necessario per

la determinazione delle strategie di controllo del movimento.

Modellistica

L’analisi cinematica di una struttura di manipolazione riguarda la descrizione del

moto del manipolatore rispetto a un sistema di riferimento cartesiano fisso senza che

siano prese in considerazione le forze e i momenti che provocano il moto della

struttura.

E’ significativa la distinzione tra cinematica e cinematica differenziale. La

cinematica descrive analiticamente le relazioni che intercorrono tra le posizioni dei

giunti e la posizione e l’orientamento dell’organo terminale di un manipolatore.

La cinematica differenziale consente di esprimere le relazioni che legano, in termini

di velocità, il moto dei giunti al moto dell’organo terminale.

La formulazione dei legami cinematici consente di affrontare due problemi cardine

per la robotica: il problema cinematico diretto e il problema cinematico inverso.

Il primo riguarda la determinazione di un metodo sistematico e generalizzato per

descrivere, mediante strumenti di algebra lineare, il moto dell’organo terminale a

partire dalla conoscenza del moto dei giunti, qualunque sia la struttura di

manipolazione. Il secondo riguarda il problema inverso, la cui soluzione è di

21


CAPITOLO 1

Automazione e Robotica

notevole importanza per tradurre le specifiche di moto, naturalmente assegnate

all’organo terminale nello spazio di lavoro, nei moti corrispondenti ai giunti del

manipolatore.

La disponibilità del modello cinematico di un manipolatore è utile anche nella

determinazione delle relazioni esistenti tra forze e coppie applicate ai giunti e forze e

momenti applicati all’organo terminale del manipolatore in situazioni di equilibrio

statico.

La cinematica di un manipolatore rappresenta infine la base per una descrizione

sistematica e generalizzata della sua dinamica, ovvero delle equazioni che legano il

moto del manipolatore a forze e momenti agenti su di esso. La disponibilità del

modello dinamico è di grande utilità per il progetto meccanico della struttura, per il

dimensionamento degli attuatori, per la determinazione delle struttura, per il

dimensionamento degli attuatori, per la determinazione delle strategie di controllo e

la simulazione al calcolatore del moto del manipolatore.

Controllo

In dipendenza dei compiti attribuiti ad un manipolatore, si pone il problema di

specificare il movimento da imporre ai giunti o direttamente all’organo terninale.

Nelle operazioni di trasporto è sufficiente assegnare solo le locazioni di presa e di

rilascio di un oggetto (moto punto-punto), laddove nelle operazioni di lavorazione è

di interesse che l’organo terminale segua una traiettoria desiderata ( moto su percorso

assegnato).

Compito della pianificazione di traiettorie è quello di generare le leggi di moto per le

variabili di interesse (relative ai giunti o all’organo terminale ) a partire da una

descrizione sintetica del moto che si vuole ottenere. Le traiettorie generate dalla

pianificazione costituiscono gli ingressi di riferimento per il sistema di controllo del

moto della struttuta meccanica. Il problema del controllo di un manipolatore consiste

nel determinare l’andamento delle forze e delle coppie che gli attuatori devono

sviluppare ai giunti in modo da garantire l’esecuzione delle traiettorie di riferimento.

Questo problema è notevolmente complesso in quanto un manipolatore è un sistema

articolato e, come tale, il moto di un braccio influenza quello di altri bracci.

22


CAPITOLO 1

Automazione e Robotica

Le equazioni del moto di un manipolatore rivelano infatti, tranne nel caso di strutture

cartesiane ad assi ortogonali, la presenza di effetti dinamici di accoppiamento tra i

vari giunti. La sintesi delle forze e coppie da realizzare ai giunti non descrive

compiutamente la struttura reale. Pertanto il controllo di un manipolatore è affidato

alla chiusura di anelli di retroazione; valutando lo scostamento tra gli ingressi di

riferimento e le informazioni fornite dai sensori propriocettivi, un sistema di

controllo in retroazione è in grado di soddisfare specifiche di precisione imposte

sull’esecuzione delle traiettorie.

Se un compito di manipolazione impone il contatto tra l’organo terminale e

l’ambiente, il problema del controllo è ulteriomente complicato dal fatto che oltre al

movimento (vincolato) bisogna controllare anche le forze scambiate nell’interazione.

23


CAPITOLO 2

Feedback Linearization


FEEDBACK LINEARIZATION

Introduzione

La Feedback Linearization è un approccio per il progetto di un controllo non

lineare, questa tecnica ha attirato negli anni recenti l’interesse da parte della ricerca.

L'idea fondamentale di tale tecnica è di operare una trasformazione algebrica di un

sistema con dinamica non lineare, in modo tale da poter applicare tecniche di

controllo lineare. Questo differisce completamente dalle tecniche di linearizzazione

convenzionale, è realizzata da trasformazioni dello stato ed esatte, feedback, rather e

da approssimazioni lineari delle dinamiche.

L'idea di semplificare la forma delle dinamiche di un sistema non lineare, scegliendo

un stato diverso non è completamente inusuale. Nelle applicazioni meccaniche, per

esempio è noto come la forma e la complessità del modello di un sistema

(equilibrio delle forze e dei momenti) dipendono notevolmente dalla scelta del

sistema di riferimento. Le tecniche Feedback Linearization sono dei mezzi di

trasformazione del sistema originale in modelli equivalenti che presentano una

forma più semplice da studiare.

La Feedback Linearization è impiegata con successo per risolvere numerose

applicazioni pratiche di controllo. Tra i quali ci sono: il controllo di elicotteri, di

aerei con elevate prestazioni di volo, robot industriali ed apparecchiature

biomediche. Molte applicazioni sono sviluppate nell’industria; tuttavia, c’è un

numero importanti di imperfezioni e limitazioni associate all’approccio della

Feddback Linearization.

Questo capitolo fornisce una descrizione della tecnica, specificando cosa si intenda e

come deve essere applicata , le sue limitazioni. Nel pargrafo 1, vengono forniti i

concetti di base della feedback linearization, e sono illustruati alcuni semplici

esempi. Nel paragrafo 2 vengono generalizzate le nozioni fornite ad una classe più

larga di sistemi non lineari.


CAPITOLO 2

Feedback Linearization

1 Concetti intuitivi

1.1 Feedback Linearization e la forma canonica

L'idea alla base di tale tecnica è quella di cancellare, ossia di annullare

completamente la dinamica non lineare e di imporre una dinamica lineare, secondo

un modello desiderato. Quanto detto è dunque dimostrato nell’esempio seguente.

Esempio 1: Controllo dell’altezza di un liquido in un serbatoio

Si consideri il problema del controllo del livello h del liquido in un serbatoio; Il

segnale di controllo inviato in ingresso è la portata del liquido u, h o è il livello

iniziale;

u

d

dt

h

= −

A(h)dh

u(t) a 2gh

0

A ( h) ⋅ dh = u ( t)

− a 2gh ,

dh =

u t = A h h+ a 2gh h = ν

h •

( ) ( )

26


CAPITOLO 2

Feedback Linearization

Il modello dinamico del sistema serbatoio è descritto da:

2.1

d

dt

h

= −

0

A(h)dh

u(t) a 2gh

dove A è la sezione obliqua del serbatoio ed a la sezione obliqua della condotta di

uscita. Se h o è il livello iniziale del liquido nel serbatoio, è differisce dal livello

desiderato h d , il controllo del livello di h comporta un problema di regolamentazione

non lineare. La dinamica del modello può essere riscritta come:

2.2 A(h) h = u − a 2gh

Se la portata in ingresso u(t) è definita come:

2.3 u(t) = a 2gh + A(h) ν

con indichiamo un ingresso equivalente che deve essere specificato, le dinamiche

risultanti sono lineari:

Considerando come:

2.4 h • = ν

2.5 ν = −α h

con h = h(t) − h definiamo l’errore di livello del liquido, ed è una costante

d

strettamente positiva, ne consegue che la dinamica del sistema in anello chiuso è

regolata da:

2.6 h + α h

= 0

Questo implica che h(t) → 0 per t → ∞ . Sostituendo nella (2.3), l’ingresso inviato è

determinato attraverso un controllo non lineare:

2.7 u(t) = a 2gh − A(h) ⋅α ⋅ h

Analogamente, se il livello desiderato è una funzione del tempo h

d

(t) , l’ingresso

equivalente può essere definito come:

dove h(t) → 0 per t → 0

.

2.8 ν = h

d (t) − α ⋅ h

27


CAPITOLO 2

Feedback Linearization

L’idea alla base della Feedback Linearization è di cancellare la dinamica non lineare

e di imporre, una dinamica lineare posta nella forma canonica.

Si dice che un sistema sia in forma di controllabilità, se le sue dinamiche sono

descritte da:

2.9

( n)

x = f (x) + b(x) ⋅ u

dove u è il segnale scalare in ingresso di controllo, x è il segnale di interesse in

uscita, x è il vettore degli stati

x

1 2 (n 1)

T

=

x, x , x ,...., x −

, e f(x) e b(x) sono funzioni

non lineari degli stati. Questa forma è unica in quanto pur se le derivate di x sono

presenti, nessuna derivata del segnale di controllo u inviato in ingresso è presente.

Si noti come l’equazione nello spazio degli stati può essere riscritta come:

2.10

x1

x2

x

2

d

....

.... =

dt xn

xn−1

f (x) + b(x) u

x

n

Per sistemi che possono essere espressi in forma canonica di controllabilità , usando

il segnale di controllo in ingresso (assumendo b ≠ 0):

1

b

2.11 u = [ ν − f ]

In tal modo possiamo cancellare la non linearità e sostituire una semplice relazione

input-output:

Così, la legge di controllo diventa:

2.12

n

x = ν

2.13

k x k x ... k x

ν = − − − −

0 1 n−1

(n−1)

Con le costanti

k

i

scelte in maniera tale che le radici del polinomio

p + k p + ... + k siano allocate nel semipiano complesso negativo, ed il sistema

n n−1

n−1 0

sia stabile e risponda seguendo una legge di tipo esponenziale.

2.14

( )

x + k x + ... + k x = 0

n (n−1)

n−1 0

28


CAPITOLO 2

Feedback Linearization

questo implica che x(t) → 0 . Per compiti che comportano l’inseguimento di una

traiettoria desiderata x

d

(t) , la legge di controllo è:

2.15

( n )

(n−1)

d 0 2 n−1

ν = x − k e − k e −... − k e

dove

e(t) = x(t) − x

d

(t) è l’errore di traiettoria, converge esponenzialmente a zero in

modo tale da assicurare la stabilità del sistema.

1.2 Input-State Linearization

Consideriamo il problema del controllo dell’ingresso u per un sistema non lineare

con un solo ingresso della forma:

2.16 x = f (x,u)

La tecnica di input-state linearizatin risolve questo problema in due fasi. Prima, si

trova una trasformazione z=z(x) ed una trasformazione dell’ingresso u = u(x, ν )

così che le dinamiche del sistema non lineare sono trasformate in dinamiche tempo-

invarianti lineari ed equivalenti, nella forma di stato: z = Az + b ν . Secondo, si

usano tecniche lineari e standard per definire .

Andiamo con l’illustrare l'approccio su un semplice esempio del secondo-ordine. Si

consideri il sistema:

x 2x a x sin x

2.17 1 = −

1

+ ⋅

2

+

1

x x cos x u cos(2x )

2.18 2 = −

2 1

+ ⋅

1

Anche se il controllo lineare può stabilizzare il sistema in una piccola regione

intorno al punto di equilibrio (0,0) non è ovvio che il controllore possa stabilizzarlo

in una regione più ampia. Una specifica difficoltà è la non linearità nella prima

equazione che non può essere direttamente annullata dall'ingresso di controllo u.

Comunque, si definiscono un nuovo set di variabili di stato:

2.19

z

= x

1 1

z = ax + sin x

2 2 1

derivando le (2.19) si ricavano le nuove equazioni di stato:

29


CAPITOLO 2

Feedback Linearization

2.20

z1 = − 2z1 + z2

z2 = − 2z1 cos z1 + cos z1 ⋅ sin z1 + au ⋅cos(2z 1)

Nota che le nuove equazioni di stato, hanno anche un punto di equilibrio in (0,0).

Vediamo che le non linearità possono essere annullate dalla legge di controllo della

forma:

1

u = ( ν − cos z ⋅ sin z + 2z ⋅cos z )

a ⋅cos(2z )

2.21

1 1 1 1

1

dove ν è un ingresso equivalente che deve essere definito, per condurre ad una

relazione input-state lineare.

2.22

z1 = − 2z1 + z2

z2

= ν

Così, attraverso la trasformazione di stato e le trasformazioni dell’ingresso, il

problema di stabilizzare le dinamiche originali non lineari usando il contributo di

controllo originale u sono state trasformate nel problema di stabilizzare le nuove

dinamiche che usano il nuovo contributo ν .

Allora la nuova dinamica è lineare e controllabile, è la legge di controllo linear state

feedback:

può mettere dovunque i poli

2.23 ν = −k1z1 − k2z2

guadagni di reazione k 1 e k 2 . Per esempio, scegliendo:

nel piano complesso con scelte corrette dei due

2.24 ν = − 2z2

dando luogo alle dinamiche di anello chiuso stabili:

2.25

z1 = − 2z1 + z2

z2 = −z2

In termini di x 1 e x 2 , questa legge di controllo corrisponde all’ ingresso originale:

1

u ( 2 a x 2 sin x cos x sin x 2x cos x )

cos(2x )

2.26 = − ⋅ ⋅

2

− ⋅

1

1

1

+

1

1

1

30


CAPITOLO 2

Feedback Linearization

Lo stato x originale è espresso in z da:

2.27

x

= z

1 1

x = (z − sin z ) / a

2 2 1

fino a che entrambe z 1 e z 2 convergono a zero, lo x stato converge a zero.

Il sistema di anello chiuso è rappresentato nel diagramma di blocco in fig. 2.2 è

possibile individuare due retroazioni in questo sistema di controllo, la retroazione

interna “linearization loop” che realizza la linearizzazione della relazione di

ingresso-stato e la retroazione esterna “ pole-placement loop” che realizza la

stabilizzazione delle dinamiche di anello chiuso; dove il contributo di controllo u è

visto composto di una parte di annullamento della non linearità ed una parte di

compensazione lineare .

0

-

T

v = -k z u = u(x,v) x = f(x,u)

Linearization loop

x

Pole-placement loop

z

z = z(x)

Le seguenti osservazioni possono essere fatte sulla legge di controllo:

• I risultati, sebbene validi nella grande regione dello spazio degli stati, non

hanno validità globale. La legge di controllo non è ben definita quando

1

( )

x = π / 4 ± k π / 2 ,k = 1,2... ; evidentemente, quando lo stato iniziale è a tali

punti di singolarità, il controllore non può portare il sistema al punto di

equilibrio.

• L’input-state linearization è realizzata da una combinazione di una

trasformazione dello stato e da una trasformarione dell’ ingresso.

• Per perfezionare la legge di controllo le nuove variabili di stato (z 1 ,z 2 )

devono essere accessibili. Se queste non sono fisicamente significative o non

possono essere direttamente accesibili, lo stato originale x deve essere

misurato e sostituito nell’equazione (2.27).

31


CAPITOLO 2

Feedback Linearization

• Così, in generale, si considera il modello del sistema sia per il progetto del

controllore che per il calcolo di z. Se c'è incertezza nel modello, ad esempio

l'incertezza sul parametro a, questa incertezza provocherà errore nel calcolo

dello stato z e del nuovo segnale di controllo u, come visto nella 2.26.

• Tuttavia, il moto desiderato ha bisogno di essere espresso, in termini del

nuovo vettore di stato (le cui componenti sono z 1 ,z 2 ). I calcoli complessi

possono essere espressi in termini dei nuovi stati secondo le relazioni della

traiettoria desiderata.

1.3 Input-Output Linearization

Ora si passa a considerare un problema di controllo di inseguimento di traiettoria. Si

consideri il sistema:

2.28

x = f (x,u)

y = h(x)

e si assuma che il nostro obiettivo è quello di fare in modo che l’uscita y(t) segua

una traiettoria desiderata y d (t), dove y d (t) e le sue derivate nel tempo di un ordine

sufficientemente elevato siano note e limitate. Un apparente difficoltà con questo

modello è dato dal fatto che l’ uscita y è indirettamente riferita al segnale di ingresso

u, attraverso la variabile di stato x e le equazioni di stato non lineare.

La difficoltà del progetto di controllo di inseguimento può essere ridotta se è

possibile trovare una relazione diretta e semplice tra il dati di uscita y ed il segnale

di controllo u inviato in ingresso. Effettivamente, quanto detto costituisce l’idea di

base per quello che si è definito input-output linearization. Per illustrare quanto detto

si consideri l’ esempio seguente.

Si consideri il sistema del terzo ordine (2.29):

x1 = sin x

2

+ (x2 + 1) ⋅ x3

5

x2 = x1 + x3

2

3 1

x = x + u

y = x

1

32


CAPITOLO 2

Feedback Linearization

Per ottenere una relazione diretta tra l’uscita y e l’ ingresso u, si deriva l’uscita y :

• •

2.30 y = x = sin x

2

+ (x2 + 1)x

3

si continua a derivare l’uscita fino a quando non si ricava una relazione diretta tra y

e l’ingresso u, pertanto considerata la derivata seconda:

••

2.31 y = (x2 + 1)u + f

1(x)

dove f 1 (x) è una funzione dello stato definita da:

2.32

f (x) = (x + x )(x + cos x ) + (x + 1)x

5 2

1 1 3 3 2 2 1

La (2.31) rappresenta una relazione esplicita tra y ed u. Se poniamo l’ingresso di

controllo u nella forma:

1

2.33 u = ( ν − f

1)

x + 1

dove ν è un nuovo ingresso che si deve determinare, la non linearità è cancellata.

Si ricava una relazione lineare, dove compare un doppio integratore tra l’uscita y

ed il nuovo ingresso ν :

2

2.3 y •• = ν

Il progetto di un controllore di inseguimento per questa relazione con il doppio

integratore è semplice, a causa della disponibilità di tecniche di controllo lineari.

Così che, definito l'errore di inseguimento “ e = y(t) − y (t) ” e scelto il nuovo

••

ingresso come: ν = y − k e − k 2 e

d

1

con k 1 e k 2 costanti positive, l'errore di traiettoria del sistema in anello chiuso è

regolato dalla seguente equazione differenziale del secondo ordine:

•• •

2.35 e+ k2 e+ k1e = 0

d

che rappresenta

la dinamica dell’errore stabile governata da una legge di tipo

esponenziale. Perciò, se le condizioni iniziali sono: e(0) = e(0) = 0 (errore di

posizione e di velocità nullo per t=0), ne segue che e(t) ≡ 0, ∀t ≥ 0 , (l’errore di

traiettoria a regime nullo) è realizzato l’inseguimento

converge a zero esponenzialmente.

perfetto; altrimenti, e(t)

33


CAPITOLO 2

Feedback Linearization

Nota: La legge di controllo è definita ovunque, tranne nei punti di singolarità così

come:

x2

= − 1

Esempio 3: Dinamiche interne

Si consideri il sistema non lineare:

2.36

3

x1

x2

+ u

• =

u

x

2

y = x

L’ obiettivo del controllo è fare in modo che l’uscita y insegua y d . Differenziando y

semplicemente si ottiene la prima equazione di stato. Così, la legge di controllo

diventa:

1

2.37

• •

3

y = x1 = x2

+ u

3

u = −x2 − e( t) + yd

( t)

L’errore di inseguimento e converge esponenzialmente a zero:

2.38 e + e = 0

Lo stesso ingresso di controllo è applicato anche alla seconda equazione della

dinamica dell’errore, mentre considerando la dinamica interna:

2.39

• 3

2 2 d

x + x = y − e

che è, non autonoma e non lineare. Comunque, in prospettiva del fatto che l’errore di

traiettoria e converge a zero , si assume

y • d

limitata, ne segue:

2.40 ( ) d

y t − e ≤ D

dove D è una costante positiva. Così, è possibile concludere

come partendo

dall’equazione (2.36 ) dove

x2

1/3

≤ D ,allora 2

x • <0 quando x 2 >D 1/3 , e x • 2 >0

quando x 2 <- D 1/3

Perciò, ( 2.39) rappresenta una legge di controllo di inseguimento soddisfacente per

il sistema dato e y d traiettoria desiderata, la cui derivata y • d

è limitata.

34


CAPITOLO 2

Feedback Linearization

Infine, si può osservare che, anche se l’input-output linearization viene applicata nei

casi di inseguimento dell’uscita, questa può essere applicata anche a problemi di

stabilizzazione. Per esempio, se yd

( t)

≡ 0 è la traiettoria desiderata per il sistema

sopra considerato, i due stati y e y • del sistema in anello chiuso saranno guidati per

azzerare dalla legge di controllo (6.28), implicando la stabilizzazione del sistema

intero purché le dinamiche interne siano stabili. In aggiunta, due commenti utili

possono essere fatti circa l’uso della tecnica input-output linearization per la stabilità

del sistema.

Primo, nei problemi di stablilizazione non c’è mai nessuna ragione di restringere la

scelta di y=h(x) dell’uscita per avere una qualità significativa. Alcune funzioni di x

possono essere usate per generare una uscita artificiale per generare una relazione

linear input-output al fine del progetto di stabilizzazione. Secondo, la scelta di

funzioni diverse dell’uscita conducono a dinamiche interne diverse. Perciò, si

dovrebbero scegliere, se possibile, le funzioni dell’uscita per assicurare la stabilità

interna delle dinamiche.

Un caso particolare si verifica quando il grado relativo di un sistema è lo stesso come

il suo ordine, quando l’uscita y deve essere differenziata n volte fino a quando si

ottiene una linear input-output relation. In questo caso, input-output linearization

conduce a input-state linearization, e regolamentazione dello stato e inseguimento

dell’uscita.

DINAMICHE INTERNE PER SISTEMI LINEARI

E’ bene osservare che a causa della semplicità del sistema presentato nell'Esempio

2.3 le dinamiche interne mostrate sono stabili. In generale, risulta molto difficile

determinare la stabilità delle dinamiche interne di un sistema, perchè esso è non

lineare. Anche applicando la teoria di Lyapunov o Lyapunovp la sua applicabilità

generale è limitata dalla difficoltà di trovare una funzione di Lyapunov.

A tal fine si vogliono cercare, modi più semplici che consentono di studiare la

stabilità delle dinamiche interne.

35


CAPITOLO 2

Feedback Linearization

Esempio 6.4 dinamiche Interne per due sistemi lineari

Si consideri il sistema lineare, controllabile ed osservabile

dove

2.41

1

x

x2

+ u

• =

x

2

u

y = x

1

l’uscita y(t) è costretta a seguire il segnale desiderato y d (t) . Con una

differenzazione dell' uscita, si ricava semplicemente la prima equazione di stato:

2.42 y = x2

+ u

che contiene esplicitamente il segnale di controllo u inviato in ingresso. La legge di

controllo è così definita:

2.43 u = − x2 + y − (y − y

d

)

l'equazione dell’errore di inseguimento prodotto:

2.44

d

e + e = 0

(dove e=y-y d è l’errore di traiettoria) e le dinamiche interne

• •

2.45 x2 + x2 = yd

− e(t)

Da queste equazioni si osserva che mentre y(t) tende alla y d (t) impostata ( così

come la sua derivata prima), x 2 rimane limitata, e così anche u. Perciò, (2.43) è un

controllore di inseguimento soddisfacente per il sistema definito dalla (2.41)

Ora si consideri un sistema lievemente diverso:

2.46

+

x x

1 2

u

=

x − u

2

y = x

La stessa legge di controllo come sopra produce le stesse dinamiche dell’ errore di

inseguimento, ma ora considerandole dinamiche interne:

• •

2.47 x2 − x2 = e(t) − yd

Questo implica che x 2 , e di conseguenza u, tendono entrambi ad infinito per t → ∞ .

1

36


CAPITOLO 2

Feedback Linearization

Si vuole capire perché lo stesso metodo di controllo di inseguimento è applicabile a

per sistema (2.41) ma non per il sitema (2.46). Capire questa differenza fondamentale

tra i due sistemi, consente di considerare le loro funzioni di trasferimento, vale a dire

per sistema (2.41),

2.48

p + 1

W

1(p)

=

2

p

e per sistema (2.46),

p −1

2.49 W

2(p)

=

2

p

I due sistemi hanno gli stessi poli ma zeri differenti. Specificamente, il sistema

(2.41) per il quale il progetto è riuscito, presenta un zero nel simipiano sinistro in

-1, mentre per il sistema (2.46) il progetto è fallito in quanto presenta un zero nel

piano destro a 1. Si consideri un sistema del terzo-ordine nello spazio degli stati:

2.50

z = Az + bu

y =

T

c z

e questo presenta uno zero, (e da adesso più di due poli che zeri) anche se la

procedura può essere direttamente estesa a sistemi con un numero arbitrario di poli e

zeri. Si è giunti ad un controllo lineare, gli ingressi e le uscite possono essere

espresse nel modo segunete ( p è la variabile di Laplace):

2.51

y = c (pI − A) bu =

x

x

x

=

T −1 o 1

2 3

ao + a1p + a

2p + p

1

1 2 3

ao + a1p + a

2p + p

2

= x1

3

= x2

u

b

+ b p

Il sistema può essere posto equivalentemente i forma compatta:

37


CAPITOLO 2

Feedback Linearization

2.52

x1 0 1 0 x1

0

d

x = 0 0 1 x 0 u

dt

+

a a a 1

2 2

x

3 o 1 2 x

− − − 3

x

y = (b ;b ;0) x

x

1

o 1 2

3

E’ possibile applicare l’ input-output linearization basato su questa forma. La

prima differenzazione dell’uscita conduce:

2.53 y = box2 + b1x

3

e differziando una seconda volta,si ricava:

•• • •

2.54 y = b x2 + b x3

= b x + b ( −a x − a x − a x + u)

o 1 o 3 1 o 1 1 2 2 3

Si è visto che il contributo u appare nella derivata seconda (questo vuole dire che il

numero richiesto di differenziazione è davvero sullo stesso come l'eccesso di poli

zeri.)

Così, la legge di controllo:

2.55

b 1

u = (a x + a x + a x − x ) + ( −k e − k e+

y )

. ..

o

o 1 1 2 2 3 3 1 2 d

b1 b1

dove e=y-y d , produce un errore di traiettoria che converge con andamneto

esponenziale :

•• •

2.56 e+ k2 e+ k1e = 0

Siccome questa è una dinamica del secondo ordine, le dinamiche interne del nostro

sistema del terzo-ordine possono essere descritte solamente da una equazione di

stato. Specificamente, è possibile usare x 1 per completare il vettore di stato, siccome

è possibile mostrare facilmente x 1 ,y e y • sono riferiti a x 1 ,x 2 e x 3

Le dinamiche interne sono:

1

bo

1

2.60 x1 = x

2

= (y − box 1) → x1+ x1

= y

b b b

1 1 1

38


CAPITOLO 2

Feedback Linearization

Siccome y è limitato (y=e+y d ), la stabilità delle dinamiche interne dipendono

dall'ubicazione dello zero –b o /b 1 della funzione di trasferimento. Se il sistema è a

fase minima, poi lo zero è nel semipiano sinistro che implica che le dinamiche

interne (2.60) sono stabili, indipendentemente delle condizioni iniziali e dalle

posizioni y d desiderate.

THE ZERO-DYNAMICS

Allora per sistemi lineari la stabilità delle dinamiche interne è determinata

semplicemente dalle posizioni degli zeri nel piano complesso; è interessante poter

verificare se questa relazione possa essere estesa ad i sistemi non lineari. In tal modo,

questo porta ad estendere il concetto di zeri a sistemi non lineari prima, e poi a

deteminare la relazione della stabilità delle dinamiche interne con gli zeri.

Le funzioni di trasferimento basate sugli zeri del sistema lineare, non possono

essere definite per sistemi non lineari. Inoltre, gli zeri sono proprietà intrinseche di

un plant lineare, mentre per i sistemi non lineari la stabilità delle dinamiche interne

può dipendere dallo specifico segnale di controllo inviato in ingresso.

Le ragioni per definire e studiare le zero-dinamics sono date dal fatto che si desidera

trovare un modo più semplice per determinare la stabilità delle dinamiche interne.

Per sistemi lineari, la stabilità delle zero-dinymics implica la stabilità globale delle

dinamiche interne. Nei sistemi non lineari, comunque la relazione non è così chiara.

Per i problemi di stabilità, è possibile dimostrare, che la stabilità asintotica e locale

delle zero-dinamics sono sufficienti per garantire la stabilità asintotica e locale delle

dinamiche interne. Diversamente dal caso lineare, nessuno risultato sulla stabilità

globale o anche sulla grande stabilità, di serie può essere estesa alle dinamiche

interne di sistemi di non lineari; solamente la stabilità è garantita per le dinamiche

interne anche se le zero-dinamiche sono globalmente stabili esponenzialmente.

Noi chiameremo un sistema non lineare, similmente al caso lineare, quando le zerodinamics

sono asintoticamente stabili sistema a fase minima asintoticamente. Il

concetto di un sistema a fase esponenzialmente può essere definito nello stesso

modo.

Due commenti utili possono essere fatti sulle zero-dinamics dei sistemi non lineari.

39


CAPITOLO 2

Feedback Linearization

Prima, le zero-dinamics sono una caratteristica intrinseca di un sistema di non

lineare, quale non dipende dalla scelta della legge di controllo o dalle traiettorie

desiderate. Secondo, esaminando la stabilità delle zero-dinamics molto è più facile

che esaminare la stabilità di dinamiche interne, perché le zero-dinamiche comportano

solamente gli stati interni.

Riassumendo, il progetto del controllo basato sulla input-output linearization può

essere classificata in tre passi:

1. differenziare l’uscita y fino a quando compare l’ingresso u;

2. scegliere il segnale in ingresso u per annullare la non linearità e garantire la

convergenza dell’errore di inseguimento;

3. studiare la stabilità delle dinamiche interne.

Se il grado relativo associato col input-output linearization è lo stesso del sistema, il

sistema non lineare è pienamente linearizzato e questa procedura conduce davvero

ad un controllo soddisfscente (assumendo che il modello sia accurato).Se il grado

relativo è più piccolo dell'ordine del sistema, allora il sistema non lineare è solamente

in parte linearizzato, e il controllo può essere applicato e dipende dalla stabilità delle

dinamiche interne. Lo studio della stabilità delle dinamiche interna può essere

semplificato localmente studiando invece quello delle zero-dinamics.

40


CAPITOLO 3

Nonlinear Control Systems Design


CAPITOLO 3

Nonlinear Control Systems Design

Nonlinear Control Problems

Se i compiti di un sistema di controllo comportano un ampio intervallo entro cui sommare o

moltiplicare la serie di velocità, effetti di non linearità saranno presenti nelle dinamiche del sistema,

e pertanto un controllo non lineare può essere necessario per garantire le prestazioni desiderate.

Generalmente, i compiti dei sistemi di controllo possono essere divisi in due categorie:

stabilizzazione e inseguimento. Nei problemi di stabilizzazione, un sistema di controllo, chiamato

stabilizatore (o un moderatore), sarà progettato in modo tale che lo stato del sistema in anello

chiuso sia stabilizzato all’intorno di un punto di equilibrio. Nel controllo di traiettoria, l'obiettivo

del progetto è costruire un controllore, così che le grandezze in uscita inseguono un determinata

traiettoria variabile nel tempo. Problemi di qesto tipo sono: come far volare un aereo lungo una

traiettoria specificata o fare desrivere all’ end-effector di un robot delle traiettorie prestabilite

secondo linee diritte o cerchi, tutti questi esempi elencati richiedono dunque un controllo di

inseguimento.

PROBLEMI DI STABILITA’

Dato un sistema dinamico non lineare descritto da:

3.1

.

x = f (x,u, t)

Si trova una legge di controllo u tale che, partendo da un qualsiasi punto presente nella regione in

, lo stato x tende a 0 per t → ∞ .

Se la legge di controllo dipende direttamente dalla misura del segnale, si dice che è una legge di

controllo statica. Se dipende dalla misura attraverso un'equazione di differenziale, la legge di

controllo si dice che è una legge di controllo dinamica.

Si noti che, nella definizione su riportata, si consente alla regione Ω di essere grande;

altrimenti, il problema di stabilizzazione può essere risolto usando un controllo lineare adeguato.

Quindi se l'obiettivo del compito del controllo è guidare lo stato x ad uno stato desiderato x d , è

possibile trasformare semplicemente il problema assegnato in un nuovo problema di regolazione

della posizione degli zeri prendendo x-x d come stato.


fig.3.1

Esempio3.1:Stabilità del pendolo

Con riferimenro al pendolo rappresentato in Figura 3.1 la sua dinamica è regolata dall’ equazione

differenziale:

••

3.2 J θ− mgl ⋅ sin θ = τ

Si assuma che il compito del controllo è quello di spostare l’asta del pendolo facendo variare

l’angolo θ da un valore arbitrario iniziale, al valore finale posto eguale a θ (0) = 60 ° , rispetto alla

posizione verticale. La scelta di stabilizzazione operata è:

3.3 τ = −kd θ− kpθ − mgl⋅sin

θ

con k d e k p sono due costanti positive, questo conduce alla seguente dinamica in anello chiuso

globalmente stabile:

•• •

3.4 J θ+ kd θ+ kpθ = 0

il controllo del pendolo si comporta come un sistema massa-molla-smorzatore stabile. Nota che il

controllore (3.1) è composto da una parte P.D feedback per la stabilità ed una parte di feedforward

per la compensazione di gravità. Un altro controllore interessante è :

•• •

3.5 J θ+ kd

θ+ mg ⋅lsin θ = 0


Questo esempio illustra il punto che feedback e feedforward controllano le azioni e modificano le

dinamiche del plant in una forma desiderabile.

Comunque, molti problemi di stabilizzazione di sistemi non lineri non sono così facili da

risolvere.Un esempio è il pendolo inverso mostrato in fig. 3.2 che può essere rappresentato

facilmente dalle equazioni seguenti:

Figura 2

3.6

•• •• • 2

(M + m) x+ ml ⋅cos θ⋅ θ− ml ⋅sin θ⋅θ = u

••

3.7 m x cos θ + ml θ− mgsin θ = 0

••

Un compito particolarmente interessante è progettare un controllore per portare il pendolo inverso

da una posizione di verticale- al medio della pista del più tardi la pista ad un verticale-su posizione

allo stesso più tardi il punto. Questi apparenti semplici problemi di controllo non lineare mostrano

come è notevolmente difficile risolverli in una maniera sistematica.

Questo problema sorge perché ci sono due gradi di libertà e solamente un ingresso.

PROBLEMI DI INSEGUIMENTO DI TRAIETTORIA

Dato un sistema con dinamica non lineare descritto da:

3.8

.

x = f (x,u, t)

y = h(x)


ed una traiettoria desiderata y d , definita una legge di controllo per l’ingresso u tale che, partendo da

uno stato iniziale in una regione , gli errori di inseguimento vanno a zero, mentre le variabili di

stato x rimangono limitate.

Si nota che, da un punto di vista pratico, è possibile richiedere che gli stati x rimangano ristretti

in una banda e, in particulare, fra la serie di valori che rendono valido il modello del sistema.

Questo può essere verificato analiticamente, oppure in simulazioni.

Quando il sistema in anello chiuso è tale che gli stati iniziali implicano un errore di

inseguimento zero per tutto il tempo,

3.9 y(t) ≡ y

d

(t) ∀t ≥ 0

si dice che il sistema di controllo sia capace di inseguimento perfetto. L’inseguimento asintotico

implica che l’ inseguimento perfetto è realizzato asintoticamente. L’inseguimento esponenziale

implica che converge esponenzialmente e può essere definito analogamente.

Si assume che la traiettoria desiderata y d e le sue derivate di un ordine sufficientemente

elevato (generalmente eguale all’ordine del sistema) siano continue e limitate; inoltre si assume

anche y d e le sue derivate siano disponibili per il calcolo ed il controllo in linea.

Questa seconda condizione è soddisfatta da compiti di controllo dove l’uscita y d desiderata è

definita variabile nel tempo. Per esempio, nel robot che insegue una traiettoria desiderata, le sue

derivate possono essere ottenute facilmente.

Esempio 2:Controllo di inseguimento di un sistema lineare non a fase minima

Assegnato il sistema lineare:

•• • •

3.10 y+ 2 y+ 2y = − u+

u

Il sistema non è a fase minima in quanto presenta uno zero in p=1. Si assuma perfetto

l’inseguimento di traiettoria, tale che:

Pertantol’ingresso u soddisfa:

• •• •

3.11 u− u = − yd

+ 2 yd

+ 2yd

y(t) ≡ y

d

(t) ∀t ≥ 0

Ma la (3.11) rappresenta una dinamica instabile, pertanto u diverge esponenzialmente.


Nota: le dinamiche su indicate presentano un polo che coincide precisamente con lo zero instabile

del sistema originale, l’inseguimento perfetto per sistemi non a fase minima possono essere

realizzati solamente da ingressi di controllo di ampiezza infinita.

Il segnale u con riferimento alla (3.11) può esprimersi come:

• •• •

3.11 u− u = − yd

+ 2 yd

+ 2yd

applicando la trasformata di Laplace si ricava:

2

3.12 ( ) ( )

p − 1 u = − p + 2p + 2 ⋅ y d

2

p + 2p + 2

3.13 u = − y

p −1

d

L’impossibilità di realizzare l’inseguimento perfetto per sistemi a fase minima ha le sue radici nella

sua tendenza di sottosmorzare nel suo intervallo di risposta.

Dato un sistema con dinamiche non lineari descritto da (3.8 ):

ed una uscita impostata y d , si trova una legge di controllo per il contributo u tale che, cominciando

da alcun stato di iniziale in una regione, gli errori di inseguimento vanno a zero,while che i x

remans statali ed interi hanno limitato.

Noti che, formi un punto di vista di pratical, uno davvero può richiedere quelli x rimangono

reasoanably limitato, e, in particular,within la serie della validità del sistema model.This può essere

verificato analiticamente uno, o in simulazioni. Quando il sistema di chiuso-cappio è tale quelli stati

di initia corretti implicano zero errore di inseguimento per tutto il tempo,

si dice che il sistema di controllo sia capace di inseguimento perfetto. Inseguimento asintotico

implica che inseguimento perfetto è realizzato asintoticamente. Inseguimento esponenziale

converge può essere similmente definied.

In tutto il resto del book,unless altrimenti specificato, noi faremo la supposizione mite che lo yd

della traiettoria desiderato ed il suo derivatives su ad un ordine sufficientemente alto è continuo e

limitato. Noi presumiamo anche quel yd ed i suoi derivatives sono per il calcolo di controllo online.

Questa assunzione seconda è soddisfatta da compiti di controllo dove lo yd della produzione

desiderato è progettato avanti di tempo. Per esempio, in robot che localizza compiti la storia di

posizione desiderata generalmente è progettata aheand di tempo ed il suo derivatives possono essere

ottenuti facilmente.


RELAZIONE TRA STABILIZZAZIONE ED INSEGUIMENTO DI TRAIETTORIA

Normalmente, i problemi di inseguimento sono molto difficili da risolvere rispetto ai

problemi di stabilizzazione, perché nei problemi di inseguimento il controllore non solo dovrebbe

stabilizzare lo stato ma anche dovrebbe guidare l’uscita y verso l' uscita desiderata y d .

Tuttavia da un punto di vista teorico, il progetto del controllo di inseguiemento e il progetto di

stabilizzazione sono spesso collegati. Per esempio, se si progetta un inseguimento:

•• •

3.14 y+ f y, y,u = 0

dove e(t)=y(t)-y d (t) tende a zero, il problema è equivalente alla stabilizzazione asintotica dello stato

del sistema:

•• • • ••

3.15 e+ f e,e,u, y

d, y

d, yd

= 0

dove gli stati componenti sono e , e • . Chiaramente, il problema di inseguimento è risolto se si

conosce come progettare uno stabilizzatore per le dinamiche non autonome.

In altre parole, il problema della stabilizzazione può spesso essere rivisto come un caso speciale

del problema di inseguimento, con la traiettoria desiderata che diventa una costante. Per esempio,

nel controllo del modello di riferimento un problema di regolamentazione set-point (punto punto)

è trasformato in un problema di inseguimento incorporando un modello di riferimento per filtrare il

valore di set-point in ingresso e generare un' uscita variabile come la risposta ideale per il sistema

di controllo di inseguimento.


Procedure per il progetto del controllo non lineare

Assegnato che sia un sistema fisico volendolo controllare, si supera la procedura standard, quella

tipica si procede con alcune iterazioni:

1.specificare il comportamento desiderato, e gli attuatori e i sensori scelti;

2.modello del sistema fisico descritto da un set di equazioni differenziali;

3.progettare una legge di controllo per il sistema;

4.analizzare e simulare il risultato del sistema di controllo;

5.implementare l’hardware del sistema di controllo.

L’esperienza, la creatività e un buon grado di valutazione ingegneristico sono molto importanti in

questo processo, qualche volta la somma o dislocamento di attuatori e sensore può creare facilmente

problemi di controllo non lineare.

Modelli di sistemi non lineari

Modellare è fondamentalmente il processo di fornire una descrizione matematica per il sistema

fisico ai fini del controllo. Due punti possono essere seguiti per realizzare un modello. Prima,si

dovrebbe avere una buona conoscenza delle dinamiche di sistema per ottenere un modello accurato

per il progetto del sistema di controllo. Ma avere modelli più accurati non è preferibile, in quanto

richiedono un sistema di controllo complesso ed un’analisi complessa. La soluzione migliore è di

tenere in considerazione gli effetti essenziali e scartare gli effetti poco significativii nelle

dinamiche del sistema, in riferimento al range di interesse.

Secondo,descrivendo il modello se ne ottiene uno nominale per il sistema fisico: che dovrebbe

offrire anche della caratterizzazione delle incertezze del modello, che possono essere usate per

progetto robusto, controllo adattivo, o soltanto in simulazione.

Le incertezzedel modello sono le differenze tra il modello ed il vero sistema fisico; le incertezze

nei parametri sono chiamate incertezze parametriche, mentre le altre sono denominate incertezze

non parametriche. Per esempio, per il modello di una massa controllata:

••

3.16 m x = u

l'incertezza in m è l'incertezza parametrica, mentre le dinamiche motrici sono trascurate,

consideriamo l’incertezza dovuta al rumore nelle misure, le dinamiche del sensore sono le


incertezze non parametriche, le dinamiche dei sensori sono incertezze non parametriche. Per

esempio m sappiamo che può variare in qualche luogo tra 2 kg e 5 kg.

Feedback and Feedforward

Nei controlli non lineari, il concetto di feedback ha un ruolo fondamentale nel progetto del

controllore, allo stesso modo di come si fa nei controlli lineari. Comunque, l’importanza della

feedforward è molto più evidente che nel controllo lineare. La feedforward è usata per annullare gli

effetti dei distrurbi ed interviene con azioni anticipative nell’inseguimento di traiettoria. Molto

spesso è impossibile controllare stabilmente un sistema non lineare senza incorporare azione di

feedforward nella legge di controllo.

È interessante osservare come i molti controllori di inseguimento di traiettoria possono essere

scritti nella forma:

3.17 u=feedforward + feedback

La parte di feedforward provvede a fornire il contributo necessario per seguire gli effetti dei

disturbi noti, e cancellando gli effetti di ciò che chiamiamo disturbi. La parte di feedback dopo

stabilizza le dinamiche dell’errore di inseguimento.

Come un'illustrazione di uso di feedforward, ci permetta di considerare localizzare disegno di

controllore nel contesto familiare di sistemi lineari (come applicabile ad apparecchiature come un

cospiratore di x-y, per esempio). La discussione è interessante nella sua propria destra, fin da

localizzando di traiettorie tempo-diverse non è enfatizzato comunemente in testi di controllo lineari.

Esempio 2.3: Controllo di traiettoria per sistemi lineari

Si consideri un sistema lineare a fase minima posto nella forma:

3.18 A( p) y = ( )

dove:

B p u

A p = a + a p + .... + a p + p

n 1 n

3.19 ( ) −

0 1 n−1

B p = b + b p + ... + b p

3.20 ( )

m

0 1 m

L'obiettivo del controllo è fare in modo che l’uscita y(t ) segua nel tempo la traiettoria impostata

y d (t). Si assuma inoltre che l’uscita y(t) sia misurabile istante per istante, che l‘uscita impostata sia

derivabile

• ••

y , y , y ,...., y

( r)

d d d d

siano note, con r che è il grado relativo(numero di poli in eccesso

rispetto agli zeri) della funzione di trasferimento( cioè, r=n-m).


Il progetto del controllo può essere articolato in due passi. Primo, si pone la legge di controllo

nella forma di:

3.21

( )

( )

A p

u = ν +

B p

y

d

Dove ν è un nuovo ingresso la cui espressione deve essere ancora specificata. Sostituendo la

(3.21) nella (3.18) si ricava:

( ) = ( )

A p y

B p u

( )

( )

A p

u = ν +

B p

y

d

( )

( )

A p

A ( p) y = B( p)

ν + y

B p

A ( p) y = B( p) ν + A( p) yd

( ) ( ) ( )

A p y − A p y = B p ν

( )( ) ( )

A p y − y = B p ν

3.22 A ( p) e B( p)

d

d

= ν

d

d

dove si è definito e(t)=y(t)-y d (t) errore di inseguimento. Il segnale feedforward può essere

composto come:

3.23

A ( r

y y

) .... y

B

= α + + α + ω

d 1 d r d

dove le costanti α

i ( i = 1,..., r)

sono ottenute dalla divisione di A con B, e ω( t)

filtrata di y d (t) .

è una versione

Il secondo passo è costruire il segnale in ingresso u in modo tale che le dinamiche di errore

siano asintoticamente stabili. Siccome l’errore e è noto, mentre le sue derivate non lo sono, è

possibile stabilizzare il sistema usando tecniche lineari e standard, considerando la disposizione

dei poli nel piano complesso insieme con un osservatore di Luenberger. Un modo più semplice di

dedurre la legge di controllo è lasciare che:

3.24 ( AC + BD)

e = 0

Se i coifficienti di C e D sono scelti opportunamente, i poli del polinimio del sistema in anello

chiuso possono essere messi in qualsiasi punto del piano complesso. Perciò la legge di controllo:

A C

3.25 u = yd

+ e

B D


questo garantirà che l’ errore di inseguimento e(t) resti a zero se le condizioni iniziali soddisfano:

( i )

( )

( i )

( )( )

y 0 = y 0 i = 1,...r e converge esponenzialmentea zero se le condizioni iniziali non

d

soddisfano queste condizioni.

A

B

C

D

B

A

fig.3

Il diagramma a blocchi del sistema in anello chiuso è desrcitto nella Figura 3. Possiamo fare le

seguenti osservazioni sul sistema di controllo:

• La parte feedforward della legge di controllo, calcolata invertendo il plant model è

responsable per la riduzioe e l’eliminazione dell’ errore di traiettoria, mentre la parte

feedforward dell’uscita da luogo alla stabilità del sistema intero. Se alcune derivative della

traiettoria desiderata y d non sono accesibili, uno può ometterli semplicemente, questo

provocherà errore solamente limitato nell’inseguimento di traiettoria.

• La legge di controllo impelmentata è equivalente ad un osservatore di Luenberger di ordine

ridotto, anche un ordine più alto dell’osservatore può essere usato, al fine di aumentare la

robustezza del sistema sfruttando la flessibilità aumentata.

• Il metodo indicato su non può essere usato direttamente per il controllo di traiettoria di

sistemi non a fase minima se l'inverso del modello A/B è instabile. Tuttavia, attraverso

componenti di basso-frequenza feedforarding delle traiettorie desiderate, un buon

inseguimento nella serie di basso-frequenza ancora può essere comunque, achieved.Per


esempio, usando (A/B 1 )y d come segnale feedforward, l’errore di traiettiria può esssere

determinato semplicemente: e( t)

C B

= −1

Ay

AC

+ BD B1

Se B1 è vicino a B a frequenze basse, il sistema di controllo può inseguire lentamente

y d . un caso particolare B1 è eliminare la metà destra zeri del piano complesso di B, che condurrà ad

un buon inseguimento per traiettorie di desided con frequenze basse che lo zeroes mezzo-piano e

corretto.

d


CAPITOLO 4

Controllo Adattatativo con Input-Output

Feedback Linearization


CONTROLLO ADATTATIVO CON INPUT-OUTPUT

FEEDBACK LINEARIZATION

DI UN MANIPOLATORE

fig.1 Manipolatore con due giunti rotoidali

In generale controllare il moto del manipolatore nello spazio libero significa

determinare le n componenti di forza generalizzata, rispettivamente coppie per i

giunti rotoidali, forze per i giunti prismatici che consentono di ottenere un moto che

risulta quanto più possibile coencidente alla traiettoria impostata:

dove con q ( )

d

4.1 q( t) = q ( t)

d

t si è indicato il vettore delle variabili congruenti di giunto con le n

traiettorie di riferimento specificate per gli n giunti, cioè:

4.2 q ( t)

d

q

q

q

d1

d2

( t)

( t)

( t)

d3

=

q

dn

( t)


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

dove :

qd1

( t ) riferimento posizione giunto 1,

d2

( )

q t riferimento posizione giunto 2,

……………………………………….

dn

( )

q t riferimento posizione giunto n.

In riferimento al manipolatore di fig.1 dotato di due giunti rotoidali verrano impostati

gli andamenti delle posizioni qd1

( t ) e

d2 ( )

q t .

Le forze generalizzate sono fornite dagli attuatori, che nel caso analizzato nel lavoro

di questa tesi sono due motori c.c che tramite opportuni organi di trasmissione a cui

è affidato il compito di trasformare le caratteristiche del moto.

Nell’ipotesi di poter trascurare l’attrito viscoso il modello dinamico di un

manipolatore ad n giunti è espresso dall’equazione matricile:

•• • •

H ( q) q+ B q,q q+ g ( q)

= τ

H ( q ) : matrice di inerzia di dimensione “n*n” per ipotesi invertibile;

B q,q • :matrice di dimensione “n*n”delle accelerazini centripete e di Coriolis;

g( q ) : coppia di gravità “n*1”

τ : input di coppia “n*1”

Si vuole pervenire non ad una linearizzazione locale ma ad una globale del sistema,

ottenuta mediante una tecnica di controllo innovativa La Feedback Linearization in

tal modo si ricava un sistema descritto dall’equazione:

4.3 •• q = ν

dove ν è un nuovo vettore di ingresso, la cui struttura deve essere ancora definita.Si

introduce un nuovo segnale di ingresso y che si pone eguale alla posizione q,

derivando succesivamente due volte:

55


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

• • •• ••

4.4 y = q y = q y = q

Si ponga:

4.5 y ••

ν =

per la proprietà transitiva dell’eguaglianza:

••

••

4.6 q = y = ν q = ν

sostituendo nell’ equazione del modello dinamico del robot si ricava la legge di

controllo:

dove con

• •

C

4.7 τ = H( q) ν + B q,q q+

g ( q)

C

τ indichiamo la coppia di controllo, che inviata in ingresso al Robot

consente di ottenere le posizioni dei giunti q(t) che seguono l’andamento dei

riferimenti impostati.

Si definisce il segnale ν nel modo seguente:

Dove si è indicato con:

4.8 ν =

d

v

d

P

d

• q(t) posizioni effetive dei giunti;

• q d (t) posizioni impostate dei giunti;

• q( t)

velocità effetive dei giunti;

• qd

( t)

••

• q ( t)

d

velocità impostate dei giunti;

accelerazioni impostate dei giunti;

• K v costante di velocità;

• K p costante di posizione.

•• • •

q K q q K q q

Il modello matematico che consente di generare le traiettorie desiderate q ( )

seguente:

••

4.9 ( ) v d ( ) p d ( )

d

p

q t + K ⋅ q t + K ⋅ q t = K ⋅ r

d

t , è il

56


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

dove r individua il segnale di riferimento, (che nel caso analizzato potrà presentare

andamento a gradino, sinusoidale, onda trapezioidale, onda alternata rettangolare) e

• ••

qd

( t ) , qd

( t)

, qd

( t)

derivata prima e seconda; K v e K p

rispettivamente la traiettoria desiderata insieme con le sua

sono due matrici quadrate di dimensione n*n

definite positive rispettivamente delle costanti di velocità e di posizione. Infatti a

regime si verifica che:

sostituendo nella (4.9 ) si ricava che:

Si consideri la (4.8 ):

per la posizione fatta (4.6 ), si ricava:

portando tutto al primo membro:

essendo per definizione:

• ••

q t → 0, q t → 0

4.10 ( ) ( )

d

K ⋅ q t = K ⋅r q t = r

4.10 ( ) ( )

p d p d

•• • •

4.11 ν = qd

− K

v

q− qd

− KP q − qd

•• •• • •

4.12 q = qd

− Kv q− qd

− KP q − qd

•• •• • •

4.13 q− qd

+ Kv q− qd

+ KP q − qd

= 0

d

4.14 e = q − qd

“errore di posizione”

• • •

4.15 e = q− qd

“errore di velocità”

sostituendo nella (4.13):

•• •• ••

4.16 e = q− qd

“errore di accelerazione”

•• •

4.17 e+ Kv e+ K

pe = 0

57


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

L’equazione (4.17 ) esprime la dinamica dell’errore di traiettoria, tale errore

converge esponenzialmente a zero con una velocità di risposta dipendente dalle

matrici K p e K v considerate, per ipotesi quadrate e definite positive.

Si assume inizialmente che le coppie di controllo, che consento di inseguire le

traiettorie impostate siano eguali a quelle applicate ai giunti:

4.18

C

τ = τ

Sotto tale ipotesi le coppie τ C = τ vengono inviate in ingresso al manipolatore,

ottenendo in uscita le grandezze cinematiche di interesse, rispettivamente la

posizione q , la velocità q • e l’accelerazione q •• in tal modo si riescono a chiudere gli

anelli delle (4.7 -8 ).

Se avessimo fisicamente un manipolatore con il quale eseguire le prove in

laboratorio facendolo funzionare sarebbe possibile ricavare sperimentalmente

l’andamento delle posizioni per ciasun giunto, attraverso un encoder .Per costruire il

modello del Robot da implementare si deve considerare sempre il modello dinamico

dal quale si è partiti per il lavoro di tesi:

•• • •

H ( q) q+ B q,q q+ g ( q)

= τ

dove si ribadisce nuovamente che la matrice di inerzia H ( q)

è per ipotesi invertibile:

••

4.19 1

q = H( q) τ − B( q) q−

g( q)

Integrando succesivamente due volte si ricava: q,q . In tal modo si fa funzionare il

sistema in anello aperto, ma poiché le coppie impresse agli n giunti sono fornite dai

motori c.c. si deve definire un modello per il motore c.c., al quale si applica la

Feedforwaed Linearization che è una

tecnica di inseguimento di traiettoria; in

questo caso si nota come non si devono inseguire delle posizioni o velocità bensì

delle coppie.

Infatti in ingresso al motore c.c. viene inviata la coppia di controllo

C

τ ed in uscita

si ottiene una coppia τ che insegue fedelmente l’andamento dell’ingresso;in tal

modo l’ipotesi di avere una coppia applicata ad i giunti eguale a quella di controllo è

verificata.

58


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

IMPLEMENTAZIONE DEL CONTROLLO

Per il robot antropomorfo a due giunti riportato in fig.1 , manipolatore, che è

discussione del seguinte lavoro di tesi si sono considerate le espressioni Lagragiane

delle coppie applicate ad i due giunti:

τ

1

: coppia applicata al giunto 1

τ

2

: coppia applicata al giunto 2

Si assume che si conoscano:

• le lunghezze dei due Link, rispettivamente L 1 ed L 2 ;

• le masse dei due Link, rispettivamente m 1 : massa Link1

m 2 : massa Link2

L’obiettivo che si vuole perseguire è di controllare nello spazio dei giunti il

manipolatore, quindi verranno impostati i profili delle posizioni variabili nel tempo

secondo una legge specificata, si verifericherà che tali saranno gli andamenti effettivi

delle posizioni.

Giunto 1

q

d1

: riferimento posizione giunto 1 q

1

: posizione giunto 1

q • d1

: riferimento velocità giunto 1 q • 1

: velocità giunto 1

••

q d1

••

: riferimento accelerazione giunto 1 q1

: riferimento accelerazione giunto1

Con c 1 , s 1 si indica brevemente cos(q 1 ) e sen(q 1 )

Giunto 2

q

d2

: riferimento posizione giunto 1 q

2

: posizione giunto 1

q • d2

: riferimento velocità giunto 1 q • 2

: velocità giunto 1

••

q d2

••

: riferimento accelerazione giunto 1 q2

: riferimento accelerazionegiunto2

59


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

Con C 2 , S 2 si indica brevemente Cos(q 2 ) e Sen(q 2 );

4.20

1 2 4 2 2 1 2 1 2 ••

m1l + m2l + m2c2l m2l + m2l c2

τ1 3 3 3 2

q1

=

+

••

τ2

1 2 1 2 1

2

m2l + m2l c 2 m2l

q

2

2 2 3

2

1

• • •

2 2

1 1

− m2S2l q2 − m2S2l q1

q

2 m1glc1 m2glc12 m2glc1

2

+ +

2 2

+

+

2

1

1

2

m m

2S2l q1

2glc

12

2

2

Si porta l’equazione matriciale nella forma lagragiana:

1 2 4 2 2 1 2 1 2 ••

m1l + m2l + m2c2l m2l + m2l c2

τ1 3 3 3 2 q1

4.21

=

+

••

τ2

1 2 1 2 1

2

m2l + m2l c 2 m2l

q

2

2 2 3

2 1

2

• 1 1

− m2S2l q

2− m2S2l q

2 m1glc1 m2glc12 m2glc

q

1

2 + +

1 2 2

+

+

2

1

2

1

m q

2S2l q1

0 2

m2glc

1

2

2

2

Analogamente a quanto detto, si definisce un nuovo ingresso y a due componenti

(rispettivamente y 1 per il giunto 1 e y 2 per il giunto 2, cioè

pone eguale alla posizione q, derivando succesivamente due volte:

=

T

y y1 y2

) che si

• • •• ••

4.22 y = q y = q y = q

Si ponga:

4.23 ν =

••

y

L’accelezione q •• è eguale al nuovo segnale ν ; esplicitando in termini matriciali dove

••

q

è un vettore colonna a due componenti:

60


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

sostituendo nella (4.21) :

4.24

••

•• q1 ν1

q = =

••

ν

2

q

2

1 2 4 2 2 1 2 1 2

C

m1l + m2l + m2c2l m2l + m2l c

τ

2

1 3 3 3 2 ν1

4.22 =

C

1

2

2 1 2 1

+

τ 2 ν

2

m2l + m2l c 2

m2l

2 2 3

2 1

2

• 1 1

− m2S2l q

2− m2S2l q

2 m1glc1 m2glc12 m2glc

q

1

2 + +

1

2 2

+ +

1

2

1

m q

2S2l q1

0 2

m2glc

12

2

2

che può esprimersi in forma compatta:

4.23

C

τ

1

H11 H12 ν1 B11 B12 q1 g1

=

C

+ +

2

2

g

τ

2

H21 H ν

22

B21 B22 q

2

L’equazione ( 4.23) rappresenta la legge di controllo che si deve implementare, dove

rispettivamente:

4.24

4.25

4.26

4.27

H = 1 m l + 4 m l + m c l

2 3

2 2 2

11 1 2 2 2

H = 1 m l +

1 m l c

2 2

2 2

12 2 2 2

H = 1 m l +

1 m l c

2 2

H

2 2

21 2 2 2

1

= m l

3

2

22 2

4.28

4.29

B

B

= − m S l q •

2

11 2 2

1

2

2

12

= − m2S2l q2

4.30

B

1

2

4.31 B22

= 0

2

21

= m2S2l q1

61


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

1 1

2 2

4.32 g1 = m1 + m2 glc1 + m2glc12

“coppia di gravità Link 1”

g

1

= m glc

“coppia di gravità Link 2”

2

4.33

2 2 12

Andando con l’esplicitare la coppia

C

τ1

di controllo al giunto 1:

4.34

C 1 2 4 2 2 1 2 1

• •

2 2

τ

1

= m1l + m2l + m2c2l ν

1

+ m2l + m2l c12 ν 2

+ − m2s2l q2

q

1+

3 3 3 2

1

• •

2 1 1

+ − m2s2l q2 q2

+ m1glc1 + m2glc12 + m2glc1

2 2 2

per le equazioni (4.24-32 ):

4.35

• •

τ = H ⋅ν + H ⋅ν − B ⋅q −B ⋅ q + g “Legge di controllo giunto 1”

C

1 11 1 12 2 11 1 12 2 1

Analogamente per la coppia

C

τ

2

di controllo al giunto 2:

4.36

1 1 1 1 1

τ = + ν + ν + +

2 2 3 2 2

• •

C 2 2 2 2

2

m2l m2l c2 1

m2l 2

m2s2l q1 q1

m2glc12

per le equazioni(4.24-32)

4.37

τ = H ⋅ν + H ⋅ν + B ⋅ q + g “Legge di controllo giunto2”

C

2 21 1 22 2 21 1 2

Quindi le due coppie

τ , τ sono i segnali di controllo che consentono di avere i

C

1

C

2

profili delle posizioni dei due giunti eguali a quelli impostati:

4.38

( )

( )

( )

( )

qd1 t q1

t

=

qd2 t q2

t

62


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

In fig.(2) si riporta lo schema del controllo del manipolatore implementato in

Simulink.

dati

ts

Clock

Tau1

q2

Tau2

MANIPOLATORE

dq2

ddq2

q1

dq1

ddq1

Tau1c

Tau2c

Azionamento giunti

Errore1

Errore2

dq1

Tau1c

dq2

q2

q1

Tau2c

V2

V1

qr1

dqr1

qr1

dqr1

q1

ddqr1

ddqr1

dq1

qr2

dqr2

qr2

dqr2

q2

ddqr2

ddqr2

dq2

V2

V2

V1

V1

r

SEGNALE DI RIFERIMANTO

fig.(2) schema di controllo del manipolatore

63


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

Nelle equazioni (4.35 ) e (4.37 ) delle coppie di controllo

segnali ν1

e ν

2

che si definiscono nel modo seguente:

esplicitando in termini matriciali:

4.40

C

τ

1

,

••

4.39 ν = qd

− K

v

q − qd

− Kp ( q − qd

)

C

τ2

compaiono i due

•• • •

ν1

K

d1 v1 1 d1 p1

0

q

K 0

q − q

q1−

qd1

= − −

•• • •

ν2

qd2 0 K

v2 q2 − qd2 0 Kp2

q2 − qd2

disacoppiando l’equazione per il giunto 1 e 2:

••

4.41 ν

1

= qd1− K

v1

q1 − qd

1 − Kp1 ( q1 − qd1

)

essendo:

••

4.42 ν

2

= qd2

− K

v2

q2 − qd2

− Kp2 ( q2 − qd2

)

••

q1 ν1

4.43 q = =

••

ν

2

q

2

si ricava l’equazione che governa la dinamica dell’errore di traiettoria per il giunto 1

ed il giunto 2:

dove rispettivamente:

•• •

4.44 e+ Kv e+ Kpe = 0

4.45

••

•• e1

e =

••

e 2

“vettore colonna degli errori di accelerazione di dimensione 2x1”

4.46

• e1

e =

e2

“vettore colonna degli errori di velocità dimensione 2x1”

64


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

4.47

e1

e =

e2

“vettore colonna degli errori di posizione di dimensione 2x1”

4.48

K

v

K

v1

0

=

0 K

v2

“ matrice diagonale delle costanti di velocità di dimensioni 2x2”

4.49

K

p

Kp1

0

=

0 Kp2

“matrice diagonale delle costanti di posizione di dimensioni 2x2”

Si osserva come per la particolarità del caso analizzato le due matrici K v e K p sono

due matrici diagonali ad elementi positivi. E’ bene osservare come la scelta delle

costanti K v e K p condiziona la velocità di risposta del sistema, queste devono essere

scelte secondo il Criterio della Pole Allocation, cioè i poli si devono trovare nel

semipiano complesso negativo per assicurare la stabilità del sistema.

Nota: Nel capitolo finale dove vengono riportati gli andamenti delle grandezze di

interesse posizione, velocità ed accelerazione i valori delle costanti sono

rispettivamente Kp=6400 e Kv=160

( )

α = α = −80 K = α ⋅α = 80 = 6400, K = − α + α = 160

2

1 2 v 1 1 p 1 2

Andando con l’esplicitare la (4.44) in termini matriciali è possibile scrivere che:

4.45

••

e K 0

e K 0

e 0

+ +

=

0

1 v1

1 p1

1

•• •

e 2 0 K

v2 e2 0 Kp2

e2

disacoppiando si ricavano le equazioni che regolano la dinamica dell’errore di

traiettoria per i due giunti:

•• •

e + K e + K e = 0 “dinamica dell’errore di traiettoria del giunto 1”

4.46 1 v1 1 p1 1

65


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

••

e + K e + K e = 0 “dinamica dell’errore di traiettoria del giunto 2”

4.47 2 v2 2 p2 2

Si defisce

il modello matematico che consente di ricavare i riferimenti per le

••

:

posizioniq d

, velocità q • d

e accelerazioni qd

••

4.48

d v d p d p

q + K ⋅ q + K ⋅ q = K ⋅ r

anche questa è un’equazione matriciale:

4.49

••

K

d1 v1 d1 p1

0

q K 0 q q K

d1 p1

0

r1

+ + =

••

r2

qd2 0 K

v2

qd2 0 Kp2 qd2

0 K

p2

Si assume che i segnali di riferimento r 1 ed r 2 inviati ad due giunti siano eguali,

inoltre per il progetto del regolatore si pone che:

si ricava quindi che:

4.50 K

v1

= Kv2 = K

v

4.51 Kp1 = Kp2 = Kp

• • • •• •• ••

4.52 q = q = q d q = q = q q = q = q

d1 d2 d1 d2 d d1 d2 d

Pertanto per (4.50-51-52) l’equazione matriciale (4.49) diventa una semplice

equazione scalare; considerata la fig.(2) è possibile osservare come attraverso un solo

segnale di riferimento r è possibile ottere le posizioni desiderate per i due giunti(in

quanto i profili delle posizioni impostate per i due giunti presentano lo stesso

andamento);

In fig.(2) è possibile individuare tre blocchi principali, partendo dal basso si trova il

blocco di colore azzurro che ha come ingressi le posizioni q 1 e q 2 , le velocità dei

due giunti dq 1 e dq 2 , il segnale di riferimento r e fornisce in uscita i riferimenti per

le posizioni q r1 q r2 , le velocità dq r1 e dq r2 le accelerazioni ddq r1 e ddq r2 ed i due

segnali ν

1

, ν

2

che vengono prelevati ed inviati in ingresso al blocco superione(

blocco bianco), che riceve in ingresso anche le posizioni e le velocità dei due giunti,

in uscita si ottengono le due coppie di controllo

τ , τ quindi in questo blocco

C

1

C

2

66


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

vengono implementate le leggi di controllo per i due giunti.Tali coppie vengono

inviate in ingresso al manipolatore( blocco rosso) che fornisce in uscita l’andamento

effetivo delle posizioni q 1 e q 2 , velocità dq 1 e dq 2 ed accelerazione ddq 1 e ddq 2.

8

V1

V1

q1

1

q1

1

qr1

qr1

dq1

2

dq1

2

dqr1

dqr1

3

ddqr1

ddqr1

r1

7

V2

V2

q2

3

q2

4

qr2

qr2

dq2

4

dq2

5

dqr2

dqr2

6

ddqr2

ddqr2

r2

5

r

67


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

fig.3 blocchi per la generaione dei riferimenti qr1 , qr2 per i due giunti e dei

segnali ν

1

e ν 2

q2

1

q2

qr2

1

V2

dq2

2

V2

dq2

dqr2

ddqr2

qr2

qr2

2

3

r2

r2

dqr2

ddqr2

4

ddqr2

3

dqr2

fig.4 sottosistema per la generazione del segnale ν

2

68


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

1

r2

6400

Kp

3

ddqr2

ddqr2

1

s

r2*Kp=ddqr2+Kp*qr2+Kv*dqr2

2

dqr2

dqr2

Kv

160

Kv*dqr2

1

s

1

qr2

qr2

6400

Kp*qr2

Kp

fig.5 sottosistema per la generazione dei riferimenti per il giunto2 dove si è

indicato rispettivamente con qr2 posizione, dqr2 velocità e ddqr2 accelerazione

che implementa il modello ”Kp*r2=ddqr2+Kv*dqr2+Kp*qr2”

69


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

V2=ddqr2+Kp*(qr2-q2)+Kv*(dqr2-dq2)

Kp*(qr2-q2)

q2

qr2

1

q2

2

1

qr2

V2

Kv *(dqr2-dq2)

dq2

dqr2

3

dq2

4

dqr2

5

ddqr2

fig.6 sottosistema per la generazione del segnale ν

2

:

V2=ddqr2+Kv*(dqr2-dq2)+Kp*(qr2-q2)

1

Kp*(qr2-q2)

6400

Kp

1

q2

2

qr2

Kp*(qr2-q2)

fig.7 sottosistema per la generazione del termine Kp*(qr2-q2)

70


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

1

Kv*(dqr2-dq2)

160

Kv

Kv*(dqr2-dq2)

1

dq2

2

dqr2

fig.8 sottosistema per la generazione del termine Kv*(dqr2-dq2)

Con schemi analoghi si provvede ad implementare le relazioni che consentono di

ottenere le medesime grandezze per il giunto 1;

71


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

C1

C1

dq1

1

dq1

C2

C2

1

Tau1c

Tau1c

g2

g2

dq2

2

dq2

g1

g1

H11

H11

q2

3

q2

H21

H21

2

Tau2c

Tau2c

H12

H12

q1

4

q1

V1

6

V1

V2

5

V2

fig.9 sistema che implenta le relazioni delle coppie di controllo Tau1c e Tau2c

72


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

1

C1

C1

dq1

1

dq1

dq2

2

dq2

2

C2

C2

q2

3

q2

3

g2

g2

4

g1

g1

q1

4

q1

5

H11

H11

6

H21

H21

q2

7

H12

H12

fig.10 sottosistema per la determinazione di ternini di inerzia, delle coppie di

gravità g1 e g2 e di Coriolis e Centrifughe C1 e C2 per i giunti due

73


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

g2

3

g2

g1

H11

4

g1

5

H11

1

Tau1c

Tau1c

V1

H12

7

H12

V2

C1

1

C1

V2

9

V2

V1

8

V1

2

Tau2c

Tau2c

H21

6

H21

g2

C2

2

C2

fig.11 sottosistema per la determinazione delle coppie di controllo Tau1c e

Tau2c

74


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

g2

1

g2

g1

2

g1

3

H11

1

Tau1c

4

V1

5

H12

7

C1

6

V2

H12xV2

H11xV1

fig.12 sottositema per la determinazione della coppia di controllo Tau1c al

giunto 1

75


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

H22

1

Tau2c

1

V2

2

V1

3

H21

4

g2

5

C2

fig.13 sottosistema per la determinazione della coppia di controllo Tau2c al

giunto 2

Si assume inizialemente che le coppie di controllo siano eguali a quelle presenti ad i

giunti 1 e 2:

4.53

C

τ

1

= τ

1

4.54

C

τ

2

= τ

2

Tali coppie vengono inviate in ingresso al Robot dal quale si prelevano in uscita le

• ••

grandezze cinematiche di interesse q

1,q 1,q

1

• ••

per il giunto 1, q

2,q 2, q

2

per il giunto

2, poiché non si dispone realmente del robot sul quale poter fare le diverse prove, è

76


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

necessario simularlo al calcolatore considerando sempre l’eqauzione del modello

dinamico (ossia l’equibrio di coppia ad i giunti).

4.55

••

−1

C

q1 H11 H

12

τ

1

B11 B12 q1

g( q1

)

= − −

••

C

2

g( q

q

2 )

2

H21 H

τ

22 B21 B22

q

2

Sappiamo dalla teoria delle matrici che il determinante e l’ inversa della matrice di

inerzia H(q) :

4.56 DetH ( q) = H11 ⋅ H22 − H21 ⋅ H

12

H

22

H

−1

12

H11 H

DetH

12

( q) DetH ( q)

4.57 =

H

21

H

11

H21 H22

DetH ( q) DetH ( q)

sostituendo la (4.57) nella (4.55 ):

4.58

H22 H12

••

C

q

DetH

1

( q) DetH ( q)

1

B11 B12 q g 1

( q1

)

τ

=

− −

••

C

H21 H

11

q

τ g

2

( q2

)

2

B21 B22

q

2

DetH ( q) DetH ( q

)

•• ••

La (4.58) consente di determinare le accelrazioni dei due giunti q

1, q2

e attraverso

un doppio integratore di ricavare le posizioni q

1,q 2

; con riferimento alla (4.58)

applicando la proprietà distributiva:

4.59

H22 H12

••

C

q

DetH ( q) DetH ( q)

1 τ

1

= +

••

C

H21 H

11

q

τ2

2 −

DetH ( q) DetH ( q)

H22 H12

H22 H12

DetH ( q) DetH ( q)

B

DetH

11

B12 q

1

( q) DetH ( q)

g

( q1

)

H21 H

11

H21 H

11

B21 B22 q2

g ( q2

)

DetH ( q) DetH ( q)

DetH ( q)

DetH ( q)

77


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

sviluppando i calcoli si ricava:

4.60

H

H

τ − τ

22 C

12 C

••

1 2

q

DetH

1

( q) DetH ( q)

••

H21 C H11

C

q2 − τ1 τ2

= +

DetH ( q) DetH ( q)

H B − H B H B − H B

22 11 12 21 22 12 12 22

DetH ( q) DetH ( q)

q1

+

− H21B11 + H11B21 − H21B12 + H11B

22

q2

DetH ( q) DetH ( q)

H22

H12

g( q1

) − g( q2

)

DetH ( q)

DetH ( q)

H21 H

11

− g ( q1 )

g ( q2

)

DetH ( q)

DetH ( q)

Andando con il disaccopiare l’equazione matriciale si ricavano le due equazioni che

consentono di ottenere le accelarazioni rispettivamente per il giunto 1 ed il giunto 2:

4.61

H H H B − H B H B − H B

= τ − τ − − +

DetH q DetH q DetH q DetH q

•• • •

22 C 12 C 22 11 12 21 22 12 12 22

q1 q1 q2

( )

1 2

( ) ( ) ( ) ( )

H

H

− g ( q ) +

DetH q DetH q

( )

( )

g q

22 12

1 2

H H − H B + H B − H B + H B

= − τ + τ − − +

DetH q DetH q DetH q DetH q

•• • •

21 C

11 C 21 11 11 21 21 12 11 22

q2 q1 q2

( )

1 2

( ) ( ) ( ) ( )

H

H

+ g ( q ) −

DetH q DetH q

( )

( )

g q

21 11

1 2

• •

Con due succesive integrazioni si ottengono rispettivamente le velocità q

1,q2

e le

posizioni q

1,q 2

che vengono inviate in ingresso ad i blocchi che implementano

(4.41-42) e (4.35 e 4.37).

In realtà le coppie applicate ad i giunti sono impresse da due motori c.c., il cui

modello implementato in linguaggio Simulink si ottiene appliacando la tecnica

78


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

Feedforward linearization; quindi dopo aver simulato il funzionamento del

manipolatore in anello aperto, si procede considerando il funzionamento in anello

chiuso; con riferimento alla fig(2) considerando il blocco denominato Azionamento

giunti, inizialmente esluso. I due interruttori a monte ed valle inizilmente sono

entrambi aperti, succesivamente vengono chiusi, le due coppie di controllo entrano

in ingresso al blocco Azionamento giunti ed un unscita di ottengono due coppie τ

1

e

τ

2

che si verifica presentano lo stesso andamento di quelle di controllo

τ , τ (

C C

1 2

l’ipotesi considerata

τ = τ , τ = τ è verificata).

C C

1 1 2 2

Implementazione per il motore c.c.con la Feedforward Linearization

Per la macchina a corrente continua si possono scrivere le seguenti equazioni:

4.62

dia

va = R

a

⋅ ia + La

⋅ + e

dt

4. 63

dif

vf = R

f

⋅ if + Lf

⋅ dt

4.64 e = K ⋅φ⋅ w

4.65 Ce = K ⋅φ⋅ ia

dw

4.66 J = Ce − Cr

dt

L’equazione (4.62 ) rappresenta il circuito d’armatura, invece la (4.63) il circuito di

eccitazione. La forza contro elettromotrice e la coppia elettromotrice hanno le

espressioni riportate nella (4.64) e nella (4.65) rispettivamente; infine la (4.66)

rappresenta l’equazione di equilibrio meccanico.

Considerando una situazione di regime, cioè considerando nulle le derivate, si può

analizzare la caratteristica di coppia statica:

di

va

− e

= ⋅ + ⋅ + va = R

a

⋅ ia

+ e ia

=

dt

R

a

va R

a

ia La

e

a

79


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

di

v R i L dt

f

f

=

f

f

+

f

⋅ vf R

f

if

vf

= ⋅ if

=

R

f

dw

J C C

dt

=

e

r

Ce = Cr

4.67

2 2

va

− e K φ va

Ce

= K ⋅φ⋅ ia

= K ⋅φ = − w

Ra

R

a K ⋅φ

La velocità del motore dipende dalla tensione d’armatura e dalla coppia di carico C r .

ω

v

a a

= −

2 2

K

R

Φ

⋅ C

r

fig.14

caratteristica di coppia statica

Con riferimento allo schema a blocci del motore c.c. riportato in fig.15, indicate con

G(s) e H(s) rispettivamente la funzione di trasferimento del ramo diretto e del ramo

di retroazione:

4.68 G ( s)

K ⋅φ

=

R 1 s

a

( + ⋅ τ )

a

80


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

4.69 H ( s)

La f.d.t. equivalente, dalla teoria dei controlli:

4.70 G ( s)

= K ⋅φ

s ⋅ J

K ⋅φ

K ⋅φ⋅ J

s⋅

G ( s)

R ( 1+ s ⋅τ ) R ( 1+ s ⋅τ )

= = =

( ) ( )

1+ s + s +

R 1+ s ⋅τ sJ R τ J R τ J

a a a a

o 2 2

1+

G s H s K ⋅φ K ⋅φ

2 R

a

⋅J K φ

La G o (s) può porsi nella forma:

4.71 G ( s)

( )

a a a a a a

o 2

dove rispettivamente a, b e c sono così definite:

a ⋅s

=

s + b ⋅ s + c

4.72

K ⋅φ

a =

R τ

a

a

4.73

1

b = τ

a

4.74

2 2

K φ

c =

R ⋅ τ ⋅J

a

a

Con riferimento alla fig. 4.18 si definisce il segnale errore:

imponendo la condizione:

4.75 e = yd

− y

A C A C C

4.76 u = yd + e = + yd

− y

B D B D D

BC

+ 1 e = 0 BC + AD ⋅ e = 0

AD

4.77 ( )

4.78 C = γ + s

81


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

4.79 D = δ + s con δ,

γ ∈R

w*

kfi

va

1/Ra

ta.s+1

ia

kfi

Cr

Ce

1

J.s

w

ea

kfi

-

G( s)

H( s)

fig.15 e 16 modello del motore c.c.

Per le posizioni fatte e con riferimento allo schema a bocchi di fig.15 la tensione V a

può porsi nella forma:

82


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

4.80

2

s + b⋅ s + c C

Va

= yd

+ ⋅e

a ⋅s

D

Si osserva come del termine tra parendesi sia possibile fare la seguente

approsimazione:

4.81

2 2

s + b⋅ s + c s b⋅s c b c 1 b⋅ s + c

= + + + ⋅ =

a ⋅s a ⋅s a ⋅s a ⋅s a a s a ⋅s

quindi si trascura il termine: 1 s

a ⋅ ;

si ponga:

B a ⋅s

4.82 =

2

A s + b ⋅ s + c

dove:

4.83

4.84

K ⋅φ

a =

R τ ;

a

a

C γ + s

=

D δ + s

1

b = τ

;

a

2 2

K φ

c =

R ⋅ τ ⋅J

a

a

il segnale impostato in ingresso è la coppia elettromagnetica al traferro, cioè:

4.85

y = C y = C

d

d e e

Si introduce l’errore di coppia definito come la differenza tra la coppia

elettromagnetica impostata e quella effetiva:

4.86

e = C − C

d

e

e

per le posizioni fatte la tensione del circuito di armatura V a si può esprimere come:

b⋅ s + c γ + s

a ⋅s

δ + s

d

d

4.87 Va = Ce + ( Ce − Ce

)

83


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

A

B

C

D

B

A

b ⋅ s + c

a ⋅s

fig. 4.18

γ + s

δ + s

a ⋅ s

2

s + b ⋅ s + c

84


CAPITOLO 4

Controllo Adattattivo con Input-Output Feedback Linearization

fig. 4.19

e = C − C

d

e

e

b ⋅ s + c d γ + s

Va

= ⋅ Ce

+ ⋅e

a ⋅s

δ + s

b ⋅ s + c γ + s

V = C + C − C

a ⋅s

δ + s

d

( )

d

a e e e

85


CAPITOLO 5

Implementazione Simulink del motore c.c.ottenuta

Con

la Feedforward Linearization


CAPITOLO 5

Implementazione Simulink del motore c.c. ottenuta con la

Feedforward Linearization

IMPLEMENTAZIONE SIMULINK DEL MOTORE C.C. OTTENUTA

CON LA

FEEDFORWARD LINEARIZATION

In questo capitolo viene riportato il modello Simulink che implementa il

funzionamento modello del motore c.c, ottenuto applicando la feedforward

linearization,(vedi Cap. 3).

Vengono inoltre presentati i diagrammi caratteristici di funzionamento,

rispettivamente:

• Andamento della coppia in ingresso

• Andamento della coppia di uscita

• Confronto delle caratteristiche di coppia

• Andamento dell’errore di coppia

al variare dell’andamento della coppia in ingresso ”Coppia desiderata”


CAPITOLO 5

Implementazione Simulink del motore c.c. ottenuta con la

Feedforward Linearization

Modello Simulink del motore c.c. ottenuto

con la feedforward linearization

Sinusoide

Impulso

onda triangolare

onda rettangolare

onda trapezioidale

Ground

Segnale desiderato

Yd

0.00

b.s+c

a.s

errore

0

s+alpha

s+gamma

Clock1

ts

U forzante

2

a.s

s +b.s+c

dati

Segnale effettivo

Y

0

87


CAPITOLO 5

Implementazione Simulink del motore c.c. ottenuta con la

Feedforward Linearization

CASO 1 COPPIA IN INGRESSO DI TIPO SINUSOIDALE

5

Uscita desiderata

4

3

2

1

Yd

0

-1

-2

-3

-4

-5

0 1 2 3 4 5 6 7 8 9 10

time [s]

fig.5.1 Coppia desiderata di tipo sinusoidale

6

Confronto uscite

4

2

Y Yd

0

-2

-4

-6

0 1 2 3 4 5 6 7 8 9 10

time[s]

88


CAPITOLO 5

Implementazione Simulink del motore c.c. ottenuta con la

Feedforward Linearization

fig.5.2 confronto andamento coppie

6

Uscita effettiva

4

2

Y

0

-2

-4

-6

0 1 2 3 4 5 6 7 8 9 10

time [s]

fig.5.3 andamento coppia elettromagnetica effetiva

89


CAPITOLO 5

Implementazione Simulink del motore c.c. ottenuta con la

Feedforward Linearization

5

ERRORE

4

3

2

Yd-Y

1

0

-1

-2

0 1 2 3 4 5 6 7 8 9 10

time [s]

fig.5.4 andamento errore di coppia

90


CAPITOLO 5

Implementazione Simulink del motore c.c. ottenuta con la

Feedforward Linearization

CASO 2 COPPIA IN INGRESSO DI TIPO TRAPEZIOIDALE

50

Uscita desiderata

45

40

35

30

Yd

25

20

15

10

5

0

0 1 2 3 4 5 6 7 8 9 10

time [s]

fig.5.5 coppia desiderata ad onda trapezioidale

91


CAPITOLO 5

Implementazione Simulink del motore c.c. ottenuta con la

Feedforward Linearization

60

Confronto uscite

50

40

30

Y Yd

20

10

0

-10

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.5.7 confronto andamento coppie uscite

92


CAPITOLO 5

Implementazione Simulink del motore c.c. ottenuta con la

Feedforward Linearization

3

ERRORE

2.5

2

1.5

1

Yd-Y

0.5

0

-0.5

-1

-1.5

-2

0 1 2 3 4 5 6 7 8 9 10

time [s]

fig.5.8 andamento dell’errore di coppia con ingresso di tipo trapezioidale

93


CAPITOLO 5

Implementazione Simulink del motore c.c. ottenuta con la

Feedforward Linearization

CASO 3 COPPIA IN INGRESSO CON ANDAMENTO AD ONDA ALTERNATA

RETTANGOLARE

50

Uscita desiderata

40

30

20

10

Yd

0

-10

-20

-30

-40

-50

0 1 2 3 4 5 6 7 8 9 10

time [s]

fig.5.9 di coppia desiderata ad onda alternata rettangolare

94


CAPITOLO 5

Implementazione Simulink del motore c.c. ottenuta con la

Feedforward Linearization

60

Confronto uscite

40

20

Y Yd

0

-20

-40

-60

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.5.10 confronto uscita effettiva e desiderata

95


CAPITOLO 5

Implementazione Simulink del motore c.c. ottenuta con la

Feedforward Linearization

60

Uscita effettiva

40

20

Y

0

-20

-40

-60

0 1 2 3 4 5 6 7 8 9 10

time [s]

fig.5.11 andamento uscita effettiva

96


CAPITOLO 5

Implementazione Simulink del motore c.c. ottenuta con la

Feedforward Linearization

50

ERRORE

0

Yd-Y

-50

-100

0 1 2 3 4 5 6 7 8 9 10

time [s]

fig.5.12 andamento errore di coppia

97


CAPITOLO 5

Implementazione Simulink del motore c.c. ottenuta con la

Feedforward Linearization

CASO 4 COPPIA IN INGRESSO CON ANDAMENTO A

GRADINO

30

Uscita desiderata

25

20

Yd

15

10

5

0

0 1 2 3 4 5 6 7 8 9 10

time [s]

fig.5.14 andamento coppia desiderata di tipo gradino

98


CAPITOLO 5

Implementazione Simulink del motore c.c. ottenuta con la

Feedforward Linearization

35

Uscita effettiva

30

25

20

Y

15

10

5

0

0 1 2 3 4 5 6 7 8 9 10

time [s]

fig.5.15 andamento uscita effettiva

99


CAPITOLO 5

Implementazione Simulink del motore c.c. ottenuta con la

Feedforward Linearization

30

ERRORE

25

20

15

Yd-Y

10

5

0

-5

0 1 2 3 4 5 6 7 8 9 10

time [s]

fig.5.16 andamento errore di coppia

clear all

% load data

Ra=0.03;

%resistenza del circuito di armatura

Im=100;

%momento d'inerzia del motore c.c.

Ta=0.05;

%costante di tempo del circuito di armatura

kfi=3.8;

%flusso al traferro di rotore

b=1/Ta;

%parametro b

c=(kfi)^2/(Ra*Ta*Im); %parametro c

a=(kfi)/Ra*Ta; %parametro a

alpha=1;

%inizializzazione eguale ad 1 del parametro alpha

gamma=1;

%inizializzazione eguale ad 1 del parametro gamma

100


CAPITOLO 6

ANALISI DEI RISULTATI OTTENUTI


ANALISI DEI RISULTATI OTTENUTI

UTILIZZAZIONE DI SIMULINK DI MATLAB

Gli schemi de controllo proposto e i risultati ottenuti in questa tesi sono

rispettivamente implementati ed elaborati con il software di simulazione Simulink di

Matlab.

Matlab è uno tra i più diffusi software di calcolo scientifico con licenza di tipo

commerciale.

Esso è un ambiente che consente di realizzare elaborazioni numeriche con una

discreta efficienza pur utilizzando un linguaggio di alto livello e di immediato

utilizzo.

L’ambiente include una notevole capacità di visualizzazione grafica di alta qualità

che lo rende utilizzabile anche per la produzione di grafici adatti alla pubblicazione,

ad esempio su riviste scientifiche.


L’obiettivo di questo programma è, quindi, quello di fornire a studenti e ricercatori

tutti gli strumenti necessari inerenti all’algebra matriciale e all’analisi numerica,

evitando, così, di creare specifiche routine di calcolo in Fortran.

Nel corso degli anni questo software si è sempre più diffuso e perfezionato, fino a

diventare attualmente un sistema completo per lo studio di una grandissima varietà di

problemi scientifici, anche grazie alla creazione di numerosi Toolbox, cioè librerie di

funzioni indirizzate alla soluzione di specifiche problematiche.

Matlab fornisce un ambiente di programmazione interpretato ed interattivo.

Le routine predefinite o definite dall’utente sono memorizzate in file con estensione

.m detti quindi m-file.

Essi sono file in formato testo nei quali l’utente può registrare una serie di calcoli

oppure definire nuove funzioni, anche come semplici combinazioni delle moltissime

funzioni già presenti nelle librerie.

Un ricco set di operatori matematici, relazionali e logici opera su sistemi che, oltre ai

classici numeri includono vettori, liste e matrici.

In esso sono inclusi tutti i controlli relativi ai flussi di esecuzione di un linguaggio di

programmazione sequenziale (if, switch, for, while,…..).

L’ambiente supporta, tuttavia, anche la programmazione orientata ad oggetti

attraverso la definizione di classi e l’implementazione dei relativi oggetti.

Il Simulink è, invece, un’estensione del Matlab; quindi esso è un ambiente che

consente la modellizzazione, l’analisi e la simulazione di sistemi dinamici

matematici e fisici, lineari e non, sia a tempo continuo sia a tempo discreto.

Il Simulink offre un’interfaccia grafica per la costruzione dei modelli tramite

diagrammi a blocchi.


Anche in questo caso è possibile utilizzare blocchi predefiniti oppure definirne altri.

Ciò permette di modellare un sistema rapidamente, con chiarezza e senza bisogno di

scrivere una riga in codice.

Simulink consente di costruire i modelli con diagrammi a blocchi tramite operazioni

‘click and drug’, modificare velocemente i parametri dei modelli e visualizzare i

risultati in tempo reale durante la simulazione.

Per le funzioni di calcolo, Simulink si appoggia su Matlab; inoltre esso è un sistema

aperto che permette di scegliere, adattare e creare componenti software per

soddisfare varie esigenze.

Oltre alle potenzialità grafiche di Matlab, le funzionalità di animazione migliorano la

visualizzazione e offrono una visione più approfondita del comportamento del

sistema col progredire della simulazione.

Simulazione del sistema di controllo in anello chiuso con il segnale di

riferimento “r” di tipo trapezioidale

0.2

Errore di posizione Giunto 1

0.15

0.1

0.05

qr1-q1 [rad]

0

-0.05

-0.1

-0.15

-0.2

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.1 Andamento dell’errore di posizione giunto1

con r di tipo trapezioidale


25

Confronto posizioni Giunto 1

qr1

q1

20

15

q1 qr1 [rad/s]

10

5

0

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.2 confronto posizioni giunto 1 con r di tipo trapezioidale

25

posizione Giunto 1

20

15

q1 [rad]

10

5

0

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.3 velocità effettiva dq1 del giunto 1 con r di tipo trapezioidale


6

Errore di velocità Giunto 1

4

2

dqr1-dq1

0

-2

-4

-6

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.4 errore di velocità del giunto 1con r di tipo trapeziodale


25

20

Confronto velocità Giunto 1

dqr1

dq1

15

10

dqr1 dq1 [rad/s]

5

0

-5

-10

-15

-20

-25

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.5 velocità effettiva giunto1 dq1 e riferimento di velocità dqr1

con r di tipo trapezioidale


25

Velocità Giunto1

20

15

10

5

dq1 [rad/s]

0

-5

-10

-15

-20

-25

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.6 andamento della velocità effitiva dq1 del giunto 1

con r di tipo trapezioidale


250

Erreore di accelerazione Giunto 1

200

150

100

ddqr1-ddq1[rad/s 2 ]

50

0

-50

-100

-150

-200

-250

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.7 andamento dell’errore di accelerazione del giunto 1

con r di tipo trapezioidale


1200

1000

Confronto accelerazione Giunto 1

ddqr1

ddq1

800

600

ddqr1 ddq1 [rad/s 2 ]

400

200

0

-200

-400

-600

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig6. 8 confronto andamento accelerazioni giunto 1 ddq1 e riferimento

accelerazione ddqr1 con r trapezioidale

0.6

Errore di posizione Giunto 2

0.4

0.2

qr2-q2 [rad]

0

-0.2

-0.4

-0.6

-0.8

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig6. 9 andamento errore posizione giunto 2 con r trapezioidale


25

Confronto posizione Giunto 2

q2

qr2

20

15

q2 qr2 [rad]

10

5

0

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig. 6.10 confronto posizioni giunto 2 dq2 e riferimento dqr2

con r trapezioidale


20

Errore di velocità Giunto 2

15

10

5

dqr2-dq2 [rad/s]

0

-5

-10

-15

-20

0 1 2 3 4 5 6 7 8 9 10

time [s]

fig6.11 andamento errore di velocità giunto 2 con r trapezioidale

40

30

Confronto velocità Giunto 2

dqr2

dq2

20

10

dqr2 dq2 [rad/s]

0

-10

-20

-30

-40

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig6.12 velocità giunto 2 dq2 e riferimento dqr2con r trapezioidale


40

Velocità Giunto 2

30

20

10

dq2 [rad/s]

0

-10

-20

-30

-40

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig6.13 velocità effettiva giunto 2 dq2

1000

Errore di accelerazione Giunto 2

500

ddqr2-ddq2 [rad/s 2 ]

0

-500

-1000

-1500

0 1 2 3 4 5 6 7 8 9 10

time [s]

fig6.14 andamento errore di accelerazione giunto 2 con r trapezioidale


2500

2000

Confronto accelerazione Giunto 2

ddq2

ddqr2

1500

ddqr2 ddq2 [rad/s 2 ]

1000

500

0

-500

-1000

-1500

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig6.15 accelerazione ddq2 giunto 2 e riferimento ddqr2

con r trapezioidale

Confronto accelerazione Giunto 2

ddq2

ddqr2

1500

1000

ddqr2 ddq2 [rad/s 2 ]

500

0

-500

-1000

3 3.5 4 4.5 5 5.5 6 6.5

time[s]

fig6.16 particolare accelerazione giunto 2


2500

Accelerazione Ginto 2

2000

1500

1000

ddq2 [rad/s 2 ]

500

0

-500

-1000

-1500

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig6.17 accelerazione giunto 2 ddq2


Simulazione

del sistema di controllo in anello chiuso con il segnale di

riferimento “r” applicato ad andamento alternato rettangolare

5

Errore di posizione Giunto 1

4

3

qr1-q1 [rad]

2

1

0

-1

-2

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.18 Andamento dell’errore di posizione giunto1

con r alternato rettangolare


15

Confronto posizioni Giunto 1

qr1

q1

10

5

q1 qr1 [rad/s]

0

-5

-10

-15

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.19 posizioni giunto 1 q1 e riferimento qr1

con r alternato rettangolare


Confronto posizioni Giunto 1

10

qr1

q1

5

q1 qr1 [rad/s]

0

-5

-10

0 0.5 1 1.5 2 2.5 3

time[s]

fig.6.20 particolare confronto posizioni

15

posizione Giunto 1

10

5

q1 [rad]

0

-5

-10

-15

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig6.21 andamento posizione giunto 1 q1

con r alternato rettangolare


200

Errore di velocità Giunto 1

100

0

dqr1-dq1

-100

-200

-300

-400

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.22 errore di velocità giunto 1

con r alternato rettangolare


600

400

Confronto velocità Giunto 1

dqr1

dq1

200

dqr1 dq1 [rad/s]

0

-200

-400

-600

-800

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.23 velocità giunto 1 dq1 e riferimento dqr1

con r alternato rettangolare


600

Velocità Giunto1

400

200

dq1 [rad/s]

0

-200

-400

-600

-800

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.24 velocità del giunto 1 dq1


Erreore di accelerazione Giunto 1

1.5 x 105 time[s]

1

0.5

ddqr1-ddq1[rad/s 2 ]

0

-0.5

-1

-1.5

0 1 2 3 4 5 6 7 8 9 10

fig.6.25 errore di accelerazione giunto 1 con r alternato rettangolare


Confronto accelerazione Giunto 1

1.5 x 105 time[s]

ddqr1

ddq1

1

0.5

ddqr1 ddq1 [rad/s 2 ]

0

-0.5

-1

-1.5

-2

0 1 2 3 4 5 6 7 8 9 10

9 accelerazione giunto1 ddq1 e riferimento ddqr1

con r alternato rettangolare

fig.

Accelerazione Giunto1

1.5 x 105 time[s]

1

0.5

ddq1 [rad/s 2 ]

0

-0.5

-1

-1.5

-2

0 1 2 3 4 5 6 7 8 9 10

fig6.26 andamento effettivo accelerazione giunto 1


10

Errore di posizione Giunto 2

5

0

qr2-q2 [rad]

-5

-10

-15

-20

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig. 6.27 errore di posizione giunto 2


15

Confronto posizione Giunto 2

q2

qr2

10

5

q2 qr2 [rad]

0

-5

-10

-15

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.28 confronto posizioni giunto q2 e riferimento qr2 con r alternata

rettangolare


15

Posizione Giunto 2

10

5

q2 [rad]

0

-5

-10

-15

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig6.29 posizione giunto 2

con r alternata rettangolare

800

Errore di velocità Giunto 2

600

400

200

dqr2-dq2 [rad/s]

0

-200

-400

-600

-800

-1000

0 1 2 3 4 5 6 7 8 9 10

time [s]

fig.6.30 errore di velocità giunto 2 con r altenata rettangolare


800

600

Confronto velocità Giunto 2

dqr2

dq2

400

dqr2 dq2 [rad/s]

200

0

-200

-400

-600

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.31 velocità giunto 2 dq2 e riferimento dqr2

con r alternato rettangolare


800

Velocità Giunto 2

600

400

dq2 [rad/s]

200

0

-200

-400

-600

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.32 velocità effettiva giunto 2 dq2 e riferimento dqr2

con r alternata rettangolare


Errore di accelerazione Giunto 2

3 x 105 time [s]

2

1

ddqr2-ddq2 [rad/s 2 ]

0

-1

-2

-3

-4

-5

0 1 2 3 4 5 6 7 8 9 10

fig.6.33 errore di accelerazione giunto 2

con r alternato rettangolare


Confronto accelerazione Giunto 2

4 x 105 time[s]

ddq2

ddqr2

3

2

ddqr2 ddq2 [rad/s 2 ]

1

0

-1

-2

-3

0 1 2 3 4 5 6 7 8 9 10

fig. 6.33 accelerazione giunto 2 ddq2 e riferimento ddqr2

con r alternato rettangolare

Accelerazione Ginto 2

4 x 105 time[s]

3

2

ddq2 [rad/s 2 ]

1

0

-1

-2

-3

0 1 2 3 4 5 6 7 8 9 10

fig.6.34 accelerazione giunto 2 ddq2


Simulazione

del sistema di controllo in anello chiuso con il segnale di

riferimento ad andamento sinusoidale

0.1

Errore di posizione Giunto 1

0.08

0.06

0.04

qr1-q1 [rad]

0.02

0

-0.02

-0.04

-0.06

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.35 errore di posizione giunto1

con r sinusoidale


25

20

Confronto posizioni Giunto 1

qr1

q1

15

10

q1 qr1 [rad/s]

5

0

-5

-10

-15

-20

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.36 posizioni giunto1 q1 e riferimento qr1

con r sinusoidale


25

posizione Giunto 1

20

15

10

q1 [rad]

5

0

-5

-10

-15

-20

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.37 posizione giunto 1 q1

con r sinusoidale


2.5

Errore di velocità Giunto 1

2

1.5

1

dqr1-dq1

0.5

0

-0.5

-1

-1.5

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig. 6.38 errore di velocità giunto 1

con r sinusoidale


15

Confronto velocità Giunto 1

dqr1

dq1

10

5

dqr1 dq1 [rad/s]

0

-5

-10

-15

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.39 velocità giunto 1 dq1 e riferimento dqr1

con r sinusoidale


15

Velocità Giunto1

10

5

dq1 [rad/s]

0

-5

-10

-15

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.40 velocità giunto 1 dq1

con r sinusoidale


100

Erreore di accelerazione Giunto 1

80

60

40

ddqr1-ddq1[rad/s 2 ]

20

0

-20

-40

-60

-80

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.41 errore di accelerazione giunto 1

con r sinusoidale


300

250

Confronto accelerazione Giunto 1

ddqr1

ddq1

200

ddqr1 ddq1 [rad/s 2 ]

150

100

50

0

-50

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.42 confronto accelerazioni giunto 1 ddq1 e riferimento ddqr1

con r sinusoidale


250

Accelerazione Giunto1

200

150

ddq1 [rad/s 2 ]

100

50

0

-50

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.43 accelerazione giunto 1 ddq1


0.15

Errore di posizione Giunto 2

0.1

0.05

0

-0.05

qr2-q2 [rad]

-0.1

-0.15

-0.2

-0.25

-0.3

-0.35

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.44 andamento errore posizione giunto 2

con r sinusoidale


20

15

Confronto posizione Giunto 2

q2

qr2

10

5

q2 qr2 [rad]

0

-5

-10

-15

-20

-25

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.46 posizione giunto 2 q2 e riferimento qr2

con r sinusoidale


20

Posizione Giunto 2

15

10

5

q2 [rad]

0

-5

-10

-15

-20

-25

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.47 posizione giunto 2 q2

con r sinusoidale


6

Errore di velocità Giunto 2

4

2

dqr2-dq2 [rad/s]

0

-2

-4

-6

-8

0 1 2 3 4 5 6 7 8 9 10

time [s]

fig.6.48 errore di velocità giunto 2

con r sinusoidale


15

Confronto velocità Giunto 2

dqr2

dq2

10

5

dqr2 dq2 [rad/s]

0

-5

-10

-15

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.49 velocità giunto 2 dq2 e riferimento dqr2

con r sinusoidale


15

Velocità Giunto 2

10

5

dq2 [rad/s]

0

-5

-10

-15

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.50 velocità giunto 2

con r sinusoidale


300

Errore di accelerazione Giunto 2

200

100

ddqr2-ddq2 [rad/s 2 ]

0

-100

-200

-300

-400

0 1 2 3 4 5 6 7 8 9 10

time [s]

fig.6.51 errore di accelerazione giunto 2

con r sinusoidale

700

600

Confronto accelerazione Giunto 2

ddq2

ddqr2

500

400

ddqr2 ddq2 [rad/s 2 ]

300

200

100

0

-100

-200

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.52 accelerazione giunto 2 ddq2 e riferimento ddqr2

con r sinusoidale


700

Accelerazione Ginto 2

600

500

400

ddq2 [rad/s 2 ]

300

200

100

0

-100

-200

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig. 6.53 accelerazione giunto 2 ddq2 con r sinusoidale


Simulazione

riferimento a gradino

del sistema di controllo in anello chiuso con il segnale di

3

Errore di posizione Giunto 1

2

1

0

qr1-q1 [rad]

-1

-2

-3

-4

-5

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.54 errore di posizione giunto 1

con r a gradino


35

30

Confronto posizioni Giunto 1

qr1

q1

25

q1 qr1 [rad/s]

20

15

10

5

0

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.55 posizioni giunto 1 q1 e riferimento qr1

con r a gradino


35

posizione Giunto 1

30

25

20

q1 [rad]

15

10

5

0

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.56 posizione giunto 1 q1

con r a gradino

400

Errore di velocità Giunto 1

300

200

100

dqr1-dq1

0

-100

-200

-300

-400

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.57 errore di velocità giunto1 con r a gradino


1200

1000

Confronto velocità Giunto 1

dqr1

dq1

800

600

dqr1 dq1 [rad/s]

400

200

0

-200

-400

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.58 velocità giunto 1 dq1 e rifeimento dqr1

con r a gradino


Confronto velocità Giunto 1

60

dqr1

dq1

50

40

dqr1 dq1 [rad/s]

30

20

10

0

-10

-20

0.8 1 1.2 1.4 1.6 1.8

time[s]

fig.6.59 particolare velocità giunto 1 dq1 e riferimento dqr1

con r a gradino


1200

Velocità Giunto1

1000

800

600

dq1 [rad/s]

400

200

0

-200

-400

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.60 andamento effetivo velocità giunto 1

con r a gradino

Erreore di accelerazione Giunto 1

6 x 105 time[s]

4

2

ddqr1-ddq1[rad/s 2 ]

0

-2

-4

-6

-8

0 1 2 3 4 5 6 7 8 9 10

fig.6.61 errore di accelerazione giunto1 con r a gradino


Confronto accelerazione Giunto 1

8 x 105 time[s]

ddqr1

ddq1

6

4

ddqr1 ddq1 [rad/s 2 ]

2

0

-2

-4

-6

0 1 2 3 4 5 6 7 8 9 10

fig.6.62 accelerazione giunto 1 ddq1 e riderimento ddqr1

con r a gradino


Accelerazione Giunto1

8 x 105 time[s]

6

4

ddq1 [rad/s 2 ]

2

0

-2

-4

-6

0 1 2 3 4 5 6 7 8 9 10

fig.6.63 accelerazione giunto 1 ddq1

con r a gradino


20

Errore di posizione Giunto 2

15

10

qr2-q2 [rad]

5

0

-5

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.64 errore di posizione giunto 2

con r a gradino


35

30

Confronto posizione Giunto 2

q2

qr2

25

q2 qr2 [rad]

20

15

10

5

0

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig6.65 posizione giunto 2 q2 e riferimento qr2

con r a gradino


35

Posizione Giunto 2

30

25

20

q2 [rad]

15

10

5

0

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.66 posizione giunto 2 q2

con r a gradino


2000

Errore di velocità Giunto 2

1500

1000

dqr2-dq2 [rad/s]

500

0

-500

-1000

0 1 2 3 4 5 6 7 8 9 10

time [s]

fig.6.67 errore di velocità giunto 2

con r a gradino


1500

Confronto velocità Giunto 2

dqr2

dq2

1000

500

dqr2 dq2 [rad/s]

0

-500

-1000

-1500

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.68 velocità giunto 2 dq2

con r a gradino

1500

Velocità Giunto 2

1000

500

dq2 [rad/s]

0

-500

-1000

-1500

0 1 2 3 4 5 6 7 8 9 10

time[s]

fig.6.69 velocità giunto 2 dq2 con r a gradino


Errore di accelerazione Giunto 2

2 x 106 time [s]

1.5

1

ddqr2-ddq2 [rad/s 2 ]

0.5

0

-0.5

-1

0 1 2 3 4 5 6 7 8 9 10

fig.6.70 errore di accelerazione giunto 2

con r a gradino


Confronto accelerazione Giunto 2

1 x 106 time[s]

ddq2

ddqr2

0.5

0

ddqr2 ddq2 [rad/s 2 ]

-0.5

-1

-1.5

-2

0 1 2 3 4 5 6 7 8 9 10

fig. 6.71 accelerazione giunto 2 ddq2 e riferimento ddqr2

con r a gradino


x 10 5

Confronto accelerazione Giunto 2

7

ddq2

ddqr2

6

5

ddqr2 ddq2 [rad/s 2 ]

4

3

2

1

0

-1

-2

0.95 1 1.05 1.1 1.15 1.2

time[s]

fig.6.72 particolare accelerazione giunto 2 ddq2

con r a gradino


Accelerazione Ginto 2

1 x 106 time[s]

0.5

0

ddq2 [rad/s 2 ]

-0.5

-1

-1.5

-2

0 1 2 3 4 5 6 7 8 9 10

fig.6.73 andamento accelerazione giunto 2

con r a gradino

COMMENTO DEI RISULTATI OTTENUTI E CONCLUSIONI

FINALI

La tecnica del controllo adattativo con Feedback e Feedforward Linearization

descritta in questa lavori di tesi per il controllo nello spazio dei giunti del

manipolatore, consente di descrivere la dinamica del modello con: •• q = ν ove si è

indicato con ν un segnale definito opportunamente:

••

ν = qd

− K q − q − K q − q

( )

v d p d


amplificando ν per h , ne segue che anche l’accelerazione q ••

sarà amplificata h

volte.

Per il progetto del regolatore, ossia per la scelta del valore delle costanti di velocità e

di posizione rispettivamente

K , K si è fatto ricorso alla teoria della Pole allocation,

p

v

affinchè sia garantita la stabilità del sistema, i poli si devono trovare nel semipiano

complesso negativo.

Come si è verificato scegliendo un andamento del segnale di riferimento “r” variabile

con una legge assegnata:

• Onda di tipo trapezioidale

• Onda alternata sinusoidale

• Segnale di tipo gradino

È stato possibile pianificare la traiettoria, ossia si è sempre verificato che

anche per le velocità si verifica che

d

( ) ( )

q t = q t ;

• •

q t q t

d

( ) = ( )

mentre per le accelerazioni a causa della non linearità del sistema l’eguaglianza tra

accelerazione impostate ed effettiva non è sempre verificata a causa della non

linerarità del sistema.

A causa dell’ usura dei giunti del manipolatore e del sistema di trasmissione del

moto, riduttori di velocità, considerando le condizioni peggiorative è possibile

considerare il caso in cui i parametri inerziali subiscano una riduzione del 5%, è

possibile verificare come questa tecnica di controllo continui ad essere valida,

garantendo l’inseguimento di traiettoria.


INDICE

INTRODUZIONE ALLA TESI Pag. 1

CAPITOLO 1 Automazione e Robotica Pag. 2

Struttura dei Manipolatori

Modellistica e Controllo dei Manipolatori

Pag.

»

6

21

CAPITOLO 2 Feedback Linearization Pag. 24

Introduzione

Concetti intuitivi

Pag.

»

25

26

Input-State Linearization

Input-Output Linearization

Dinamiche Interne per Sistemi Lineari

The Zero-Dynamics

»

»

»

»

29

32

35

39

CAPITOLO 3 Nonlinear Control Systems Design Pag. 41

Problemi di Controllo Non Lineare

Problemi di Inseguimento di Traiettoria

Relazione tra Stabilizzazione ed Inseguimento di Traiettoria

Procedure per il Progetto del Controllo Non lineare

Feedback and Feedforward

Pag.

»

»

»

42

44

46

47

48


CAPITOLO 4 Controllo Adattativo con Input-Output

Feedback Linearization di un manipolatore

Controllo adattativo con Input-Output Feedback Linearization di un manipolatore

Implementazione del Controllo

Implementazione per il motore c.c.con la Feedforward Linearization

Pag. 53

Pag. 54

» 59

» 62

CAPITOLO 5

Implementazione Simulink del motore c.c. ottenuta con la

Feedforward Linearization

Pag. 85

Caso 1 : Coppia in ingresso di tipo Sinusoidale

Caso 2 : Coppia in ingresso di tipo Trapezoidale

Caso 3 : Coppia in ingresso con andamento ad onda Alternata Rettangolare

Pag.

»

»

88

91

94

CAPITOLO 6 Analisi dei Risultati Ottenuti Pag. 101

Utilizzazione di Simulink di Matlab

Simulazione del sistema di controllo in anello chiuso con il segnale di riferimento “r”

di tipo trapezioidale

Simulazione del sistema di controllo in anello chiuso con il segnale di riferimento ad

andamento alternato rettangolare.

Simulazione del sistema di controllo in anello chiuso con il segnale di riferimento ad

andamento alternato sinusoidale.

Simulazione del sistema di controllo in anello chiuso con il segnale di riferimento a

gradino

Commento dei Risultati Ottenuti e Conclusioni Finali

Pag.

»

»

»

»

»

102

104

116

131

148

165

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!