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
KΦ
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