Introduzione
L’argomento di questa tesi è l’implementazione di un algoritmo di controllo
adattativo per un braccio robotico planare e la simulazione del suo funzion-
amento attraverso l’ambiente Simulink, incluso nel software Matlab.
L’algoritmo di controllo su cui verte questa tesi, ha l’obiettivo di far
inseguire all’effettore di un manipolatore robotico con due giunti rotazionali,
una traiettoria definita nello spazio di lavoro.
L’effettore di un manipolatore robotico è la componente periferica es-
trema, mentre lo spazio di lavoro è l’insieme dei punti, definiti in uno spazio
cartesiano solidale con la base del manipolatore robotico, raggiungibili dall’-
effettore al variare degli angoli di giunto.
In particolare, viene implementato e simulato un algoritmo di controllo
che ha le seguenti caratteristiche:
non ha bisogno che la cinematica del robot, ovvero le sue dimensioni
geometriche, come la lunghezza dei link che lo compongono, sia esattamente
nota a priori.
E’ sufficiente che queste lunghezze siano incluse in un intervallo limitato
superiormente e inferiormente da costanti note.
Non ha bisogno di conoscere la dinamica del robot, ovvero i valori delle
masse, delle inerzie e le costanti di attrito viscoso che descrivono il compor-
tamento dinamico del robot.
Anche in questo caso è sufficiente che questi valori siano all’interno di un
intervallo limitato.
Inoltre le uniche informazioni di feedback di cui l’algoritmo ha bisog-
viii
no sono quelle del valore degli angoli di giunto, della posizione dell’effet-
tore e della velocità dei giunti: non necessita dell’informazione di velocità
dell’effettore.
La traiettoria, percorribile dall’effettore, deve, però, essere periodica e il
periodo con cui questa viene percorsa deve essere noto all’algoritmo.
Queste condizioni vengono tradotte, in sede di progetto, nel calcolo di
numerose costanti associate alle caratteristiche adattative, di apprendimento
e di retroazione dell’algoritmo in esame.
A fronte di questa ’messa a punto’ il controllo fornisce due categorie di
prestazioni:
nel caso che latraiettoria periodica sia scomponibile esattamente conuna
serie di Fourier a coefficienti finiti, il controllo esegue l’inseguimento della
traiettoria con un errore che si riduce asintoticamente;
nel caso la traiettoria non sia rappresentabile con una serie di Fourier
a coefficienti finiti ma necessiti di un numero infinito di coefficienti, tale
traiettoria sarà inseguita con un errore arbitrariamente piccolo dipendente
dal troncamento effettutato.
Esaminiamo più dettagliatamente il funzionamento del controllo.
Definiamo come ingresso di riferimento quel segnale di controllo, vettore
di due segnali che corrispondono alle coppie applicate a ciascuno dei due
giunti rotazionali del manipolatore.
Tale ingresso deve essere applicato al braccio robotico affinché, partendo
da opportune condizioni iniziali, che sono esprimibili tramite la posizione
iniziale dell’effettore, tale posizione coincida esattamente con la traiettoria
di riferimento desiderata.
Poiché la traiettoria di riferimento desiderata, per la posizione dell’effet-
tore, è assunta periodica e di periodo noto, anche il corrispondente ingresso
di riferimento sarà periodico e con lo stesso periodo.
Nel caso in cui la cinematica e la dinamica fossero note con esattezza,
un segnale di controllo, ottenuto come somma di un opportuno ingresso di
retroazione e dell’ingresso di riferimento, garantirebbe l’esatto inseguimento
ix
della traiettoria desiderata nello spazio di lavoro. Nel caso invece di cine-
matica e dinamica non note con esattezza, è necessario stimare l’ingresso di
riferimento, in quanto, non sono noti a priori tutti i parametri del model-
lo dinamico e cinematico del robot, e questi parametri sono necessari per
determinare la funzione di ingresso.
Si rende necessario quindi stimare l’ingresso di riferimento per poter
fornireunopportunaazionedi feedforward,acatenadirettachesommatapoi
ad una opportuna azione di feedback, contributo della retroazione, consegue
il risultato di inseguire la traiettoria.
Poiché, nel caso inesame l’ingresso di riferimento è periodico e di periodo
noto, esso potrà essere sviluppato in serie di Fourier.
Il controllore che verrà simulato è in grado di ricostruire l’ingresso di
riferimento stimandone i coefficienti dello sviluppo in serie di Fourier.
Come già detto in precedenza, nel caso in cui l’ingresso di riferimento ab-
biaunnumerofinitodicoefficientidiFourier,cioèsiacompostoadesempioda
unnumerofinitodisinusoidi, essoverràricostruitoesattamenteelaposizione
dell’effettore convergerà asintoticamente alla traiettoria di riferimento.
Per convergenza asintotica si intende che la differenza fra la traiettoria di
riferimento e la posizione dell’effettore tenderà a zero per un tempo infinito.
A tale condizione va aggiunta la posizione che ciò avverrà solo in cor-
rispondenza di opportune condizioni iniziali, tra cui la limitatezza della cine-
matica e della dinamica, già indicate in precedenza, e che portano quindi ad
una convergenza localmente asintotica.
Nel caso invece in cui l’ingresso di riferimento, ovvero le coppie applicate
ai giunti, abbiano un numero infinito di coefficienti di Fourier per essere
descritte, ilriferimento verràricostruitoconarbitrariaprecisionechedipende
dal numero di coefficienti di Fourier che il controllore dovrà stimare.
Si può schematizzare il controllore, di cui abbiamo descritto il comporta-
mento di massima, con tre termini:
(i) un termine che fornisce una stima degli angoli di giunto corrispon-
denti alla traiettoria di riferimento nello spazio di lavoro e una stima della
x
lunghezza dei 2 link;
(ii)uningressodiretroazionechenonrichiedealcunamisuradellavelocità
dell’effettore nello spazio operativo;
(iii) un termine che ricostruisce il segnale di ingresso di riferimento sti-
mandone i coefficienti di Fourier.
Alla luce di quanto esposto il lavoro si è articolato nelle seguenti fasi:
in un primo momento è stato implementato nell’ambiente simulink l’al-
goritmo di controllo;
in una seconda fase è stato programmato nello stesso ambiente un robot
planare a 2 link i cui paramentri di dinamica e cinematica rispettassero le
caratteristiche del controllo, ovvero fossero incerti ma limitati;
la terza fase ha previsto il calcolo dei parametri necessari al controllo e
dipendenti dalle caratteristiche del robot;
laquartafasesièoccupatadelsettaggioaccuratoditrediquestiparametri,
k,γ,λ al fine di ottenere le prestazioni migliori per le diverse traiettorie;
nella quinta fase si sono simulate quattro traiettorie diverse, una ap-
partenete allafamiglia descrivibile conuna serie di Fourieracoefficienti finiti
ovvero la circonferenza, e tre appartenenti invece alla famiglia che necessi-
ta di un numero infinito di coefficienti per essere descritta: un segmento di
retta, un arco di parabola e una curva chiusa a forma di infinito.
per ultimo si è eseguita una verifica simulativa del comportamento del-
l’algoritmo al variare dei parametri dinamici del robot.
La discussione di questa tesi è strutturata nei seguenti capitoli:
• Il Capitolo 1 mostra lo schema a blocchi complessivo di tutto il sistema
della simulazione, composto da un controllore, dal modello fisico del
robot e da un blocco che genera i riferimenti delle traiettorie i cui
parametri saranno stimati dal controllo come esposto in precedenza.
Nei successivi capitoli si espone la struttura di ogni blocco, partendo
dalla teoria matematica del modello del robot.
xi
• Il Capitolo 2 introduce il modello matematico del robot e la corrispon-
dente struttura simulativa a blocchi.
• Il Capitolo 3 illustra la legge di controllo ed illustra i corrispondenti
schemi simulink.
• Il Capitolo 4 illustra la struttura matematica delle traiettorie di rifer-
imento. In particolare si considereranno una circonferenza, una retta,
una parabola, una traiettoria a forma di infinito.
• Il Capitolo 5 illustra i risultati ottenuti dalle simulazioni del sistema a
ciclo chiuso robot-controllo mostrando i grafici della traiettoria effetti-
vamente descritti dal punto terminale del robot; i grafici dell’ingresso
di riferimento e della sua stima, i grafici delle stime dei coefficienti di
Fourier e delle lunghezze dei link del braccio robotico.
Inoltre si illustra l’effetto dei parametri sulle prestazioni al fine di
evidenziare le caratteristiche di apprendimento.
Capitolo 1
Componenti del modello a blocchi
dell’algoritmo proposto
In questo primo capitolo si illustrerà complessivamente lo schema simulativo
a blocchi proposto del braccio robotico a 2-link che è composto da tre sis-
temi principali: il modello del manipolatore, il controllo e il generatore di
riferimenti. Nei capitoli successivi si analizzeranno nel dettaglio questi tre
sistemi ed i rispettivi sottosistemi e si descriverà come si è arrivati a tale
implementazione software partendo dal modello del robot e dall’algoritmo di
controllo.
1.1 Modello robot
Il blocco modello ROBOT descrive la relazione dinamica fra le coppie appli-
cate ai giunti rotazionali del manipolatore e i corrispondenti angoli evelocità
di giunto q e ˙ q. I due vettori q e ˙ q verranno poi utilizzati dal controllore.
1.2 Controllo
Il blocco CONTROLLO prende in ingresso dal generatore dei riferimenti la
traiettoria desiderata x
r
e la sua derivata ˙ x
r
e genera in uscita il segnale di
1.3 Traiettorie 2
controllo u, che verrà fornito in ingresso al robot. Il blocco CONTROLLO
produce anche i segnali X, η che sono la stima degli angoli dei giunti,
ˆ
ζ che
è la stima delle lunghezze dei link e la stima dei coefficienti di Fourier
ˆ
θ.
1.3 Traiettorie
IlbloccoGENERATOREDEIRIFERIMENTIselezionaunadelletraiettorie
possibili e la fornisce al controllo come vettore: x
r
= [x
r1
,x
r2
]
T
. E’ stato
utile confrontare, tramite le simulazioni, il segnale x
r
con il segnale in uscita
del robot x = [x
1
,x
2
]
T
(posizione dell’effettore) per evidenziare come esso
converga nel tempo, al vettore di riferimento x
r
: x → x
r
. I riferimenti
desiderati per la posizione dell’effettore devono essere traiettorie periodiche
continueconperiodoTnoto. Perlesimulazionisisonosceltecometraiettorie
di riferimento x
r
una retta, una parabola, una circonferenza, un infinito
arbitrariamenteposizionabilinellospazioraggiungibiledalrobotacondizione
che tutta la traiettoria non esca da esso.