SlideShare a Scribd company logo
1 of 43
Download to read offline
Controllo della forza al contatto
Interazione tra robot cedevole e ambiente rigido
Facoltà di Ingegneria dell’Informazione, Informatica e Statistica
Laurea Triennale in Ingegneria Informatica e Automatica
Enrico Maria Marinelli
Matricola 1892740
Relatore
Prof. Alessandro De Luca
Anno Accademico 2021/2022
Tesi discussa il giorno 8 Luglio 2022
di fronte a una commissione esaminatrice composta da:
Prof. Stefano Battilotti
Prof. Claudia Califano
Controllo della forza al contatto Interazione tra robot cedevole e ambiente rigido
Tesi di Laurea Triennale. Sapienza Università di Roma
© 2022 Enrico Maria Marinelli. Tutti i diritti riservati
Questa tesi è stata composta con L
A
TEX e la classe Sapthesis.
Email dell’autore: marinelli.1892740@studenti.uniroma1.it
A nonno Angelo e nonna Margherita,
sempre presenti in me
nel cuore e nella mente.
v
Sommario
In questa tesi viene proposto un problema di controllo della forza al contatto con
l’ambiente per un modello mono-direzionale di un robot manipolatore con una
dinamica disaccoppiata.
In seguito a una breve panoramica sui sensori di forza, si affronterà il problema
citato, previa discussione della dinamica, di un robot, disaccoppiata grazie a un
controllo in Feedback non-lineare.
Si supponga di studiare il problema permanendo in dominio di linearità. Dunque si
escludano problemi dovuti a eventuali saturazioni di attuatori e sensori dallo studio
del problema.
Il primo approccio al problema è definito da uno schema costituito da un controllo in
catena aperta tramite un Feedforward e un controllo closed-loop con un controllore
PI. In questa condizione vi si considera sia il problema di regolazione che quello di
asservimento della forza al contatto.
Nel secondo approccio si studia il problema nello spazio di stato costruendo un
compensatore dinamico, costituito, dunque, da una reazione dallo stato e da un
osservatore asintotico dello stato. Al contrario del caso precedente, qui vi si considera
il solo problema di regolazione della forza al contatto.
Per ambo gli approcci, a seconda delle specifiche, si opterà per il controllo computa-
zionalmente meno complesso, analizzando le prestazioni nominali e in corrispondenza
di incertezze.
Si verificheranno i risultati delle implementazioni mediante simulazioni MATLAB.
Le figure con denominazione "Simulazione MATLAB" rappresentano dei grafici
(plot) costituiti da valori numerici di equazioni differenziali calcolati in un intervallo
temporale (tspan) usando la funzione ode45, spesso confrontanti a un riferimento
nel medesimo intervallo temporale.
vii
Indice
1 Introduzione 1
1.1 Introduzione ai sensori di forza . . . . . . . . . . . . . . . . . . . . . 1
1.2 Sensori 6D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Calibrazione del sensore . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Controllo della forza al contatto 5
2.1 Cambio di sistema di riferimento . . . . . . . . . . . . . . . . . . . . 5
2.2 Effetto della forza applicata all’ambiente . . . . . . . . . . . . . . . . 6
2.3 Linearizzazione del modello dinamico . . . . . . . . . . . . . . . . . . 7
2.4 Modello nella direzione del contatto . . . . . . . . . . . . . . . . . . 7
3 Regolazione della forza al contatto 9
3.1 Processo nel dominio di Laplace . . . . . . . . . . . . . . . . . . . . . 9
3.2 Problema del controllo Proporzionale . . . . . . . . . . . . . . . . . . 10
3.3 Controllore Proporzionale-Integrale . . . . . . . . . . . . . . . . . . . 13
3.4 Controllore Proporzionale e Feedforward . . . . . . . . . . . . . . . . 15
4 Asservimento della forza al contatto e robustezza del modello 17
4.1 Forze non costanti nel tempo . . . . . . . . . . . . . . . . . . . . . . 17
4.2 Incertezze come disturbi costanti . . . . . . . . . . . . . . . . . . . . 20
5 Regolazione della forza al contatto nello spazio di stato 23
5.1 Stato misurato in assenza di incertezze . . . . . . . . . . . . . . . . . 23
5.2 Stato non misurato in assenza di incertezze . . . . . . . . . . . . . . 25
5.3 Stato misurato in presenza di incertezze . . . . . . . . . . . . . . . . 28
5.4 Stato non misurato in presenza di incertezze . . . . . . . . . . . . . . 30
6 Conclusioni 33
Bibliografia 35
1
Capitolo 1
Introduzione
Si consideri un generico robot manipolatore a base fissa con un organo terminale
posizionato sulla flangia (link) finale. Il controllo del robot è effettuato in termini di
posizione o traiettorie desiderate, sfruttando misurazioni di posizione ottenute da
encoder assoluti o sensori di coppia, attraverso ingressi di coppie ai giunti e/o forze
applicate.
É di interesse gestire il contatto tra l’organo terminale e l’ambiente. Pertanto è
chiaro che appare preferibile discutere, all’opposto di quanto detto precedentemente,
di un controllo della forza nella direzione interessata dal punto di contatto piuttosto
che di un controllo di posizione.
1.1 Introduzione ai sensori di forza
Innanzitutto è di interesse prioritario la determinazione le forze applicate dal robot
sull’ambiente e viceversa. Per semplicità si consideri di ottenere misurazioni 1
con degli estensimetri (strain gauges), strumenti di piccole dimensioni che rilevano
deformazioni di un componente elettrico resistivo posizionato in un circuito elettrico
caratterizzato da un ponte di Wheatstone (singolo). All’interno del ponte sono
presenti quattro componenti resistivi (Figura 1.2) di cui tre delle quattro resistenze
(R1,R2,R3) sono note e ben tarate. La deformazione, al contatto, della resistenza
non nota sul ponte di Wheatstone determina una variazione della tensione misurata
ai capi delle resistenze, dalla quale se ne deduce indirettamente la misurazione della
forza. La sensibilità dell’estensimetro è individuata dal gauge factor, dove si indichi
con L la lunghezza iniziale del corpo, con R la resistenza iniziale del conduttore e
con ∆L e ∆R le rispettive variazioni.
Gf =
∆R/R
∆L/L
(1.1)
Per semplicità di analisi, non si considerino le variazioni di resistenza dovute a
incrementi di temperatura.
1
Alternativamente è possibile stimare la forza senza l’uso di sensori di forza (i sensori di forza
sono virtuali) analizzando la dinamica del segnale residuo, sfruttando unicamente sensori di coppia
e/o posizione.
2 1. Introduzione
Figura 1.1. Raffigurazione di uno strain gauge.
Figura 1.2. Circuito con singolo ponte di Wheatstone.
1.2 Sensori 6D
Molteplici estensimetri montati opportunamente su uno stesso dispositivo conferisco-
no ad esso proprietà di misurazione più complete.
La trattazione verte su un applicazione degli estensimetri per comporre un sensore
propriocettivo 6D di forze e coppie, il quale corrisponde al dispositivo montato tra la
flangia finale del robot e l’utensile. La configurazione del sensore a Croce Maltese
usufruisce di 8 coppie di strain gauges, montando due coppie, aventi i ponti di
Wheatstone adiacenti, per ogni lato.
Questa strutturazione permette di misurare forze f e coppie µ lungo le direzioni
Cartesiane xyz in un sistema di riferimento solidale al sensore.
1.3 Calibrazione del sensore 3
Figura 1.3. Configurazione a Croce Maltese.
1.3 Calibrazione del sensore
Tali sensori devono essere oggetto di un opportuno processo di calibrazione. La
procedura prevede una campagna di misure su campioni di massa nota. La stima dei
parametri2 avviene registrando l’uscita tramite l’output dei ponti di Wheatstone.









sfx
sfy
sfz
sµx
sµy
sµz









=









0 0 c13 0 0 0 c17 0
c21 0 0 0 c25 0 0 0
0 c32 0 c34 0 c36 0 c38
0 0 0 c44 0 0 0 c48
0 c52 0 0 0 c57 0 0
c61 0 c63 0 c65 0 c67 0























w1
w2
w3
w4
w5
w6
w7
w8














(1.2)
Nell’equazione matriciale è riportata la relazione tra le forze f e coppie µ nel sistema di
riferimento del sensore e l’output dei ponti di Wheatstone wi, {i = 1, .., 8} attraverso
la matrice di calibrazione composta dai coefficienti cji, {i = 1, .., 8}, {j = 1, .., 6}.
Come è possibile notare non tutte le componenti della matrice sono valori non
nulli, questo è derivante dal fatto che nella configurazione a Croce Maltese solo
alcune coppie di estensimetri sono rilevanti nella misurazione delle forze o coppie che
agiscono lungo una direzione specifica, pertanto è ragionevole imporre valori nulli
(strutturali) per evitare di incorrere in incertezze di misura.
2
La stima viene effettuata con un metodo definito ai minimi quadrati.
5
Capitolo 2
Controllo della forza al contatto
2.1 Cambio di sistema di riferimento
Con riferimento alla Sezione 1.2, le misurazioni effettuate dal sensore di forza sono
chiaramente riferite alla terna di assi Cartesiani solidale al sensore (si definiscano con
apice s). Tale sistema, tuttavia, non rappresenta le forze e le coppie che agiscono nel
punto di contatto (si definiscano con apice c). È necessario, dunque, applicare una
trasformazione tale che permetta il cambio di coordinate dal sistema di riferimento
del sensore al sistema di riferimento del punto di contatto.
"
cfc
cµc
#
=
"
cRs 0
S(crcs)cRs
cRs
# "
sfs
sµs
#
(2.1)
L’operatore di trasformazione di coordinate è una matrice di rotazione strutturata a
blocchi cJs o equivalentemente1 sJT
c .
Ridefinendo quindi la (2.1):
"
cfc
cµc
#
= s
JT
c
"
sfs
sµs
#
(2.2)
È interessante notare come le forze nel sistema di riferimento di contatto corrispon-
dono esattamente alle forze nel sistema di riferimento del sensore ruotate secondo la
matrice di rotazione cRs. Le forze applicate nel sistema di riferimento del sensore
tuttavia, se viste dal sistema di riferimento del contatto, generano dei momenti
meccanici. Dunque le coppie nel sistema di riferimento di contatto pertanto sono
combinazione lineare tra le coppie nel sistema di riferimento del sensore ruotate e le
forze, anch’esse ruotate, a cui è applicata una trasformazione definita dalla matrice
antisimmetrica (presente nella (2.1)).
S(c
rcs) =



0 −crcsz
crcsy
crcsz 0 −crcsx
−crcsy
crcsx 0


 (2.3)
dove crcs è il vettore delle coordinate Cartesiane del sistema di riferimento del sensore
riportate nel sistema di riferimento del contatto.
1
Per proprietà delle matrici di rotazione, appartenenti allo Special Orthonormal (SO) group.
6 2. Controllo della forza al contatto
Inoltre si assuma che F =
"
f
µ
#
, V =
"
v
ω
#
e che il prodotto FT V sia invariante
rispetto alla terna di riferimento.
Si consideri end-effector e workpiece come un unico corpo rigido, allora in tale
sistema le velocità sono legate dalla relazione:
"
svs
sωs
#
=
"
sRc
sRcS(crcs)
0 sRc
# "
cvc
cωc
#
= s
Jc
c
Vc (2.4)
2.2 Effetto della forza applicata all’ambiente
Si consideri come obiettivo quello di definire la forza F applicata all’ambiente come
coppia applicata ai giunti del robot, ai fini di definire un modello dinamico2
avente tale quantità tra le coppie non conservative che agiscono sul sistema.
Per convenzione si assumano le forze generalizzate applicate sul robot come positive,
negative se invece applicate dal robot (all’ambiente). Si sfrutta il principio dei lavori
virtuali applicato su un robot con catena cinematica aperta. Definendo le quantità
infinitesime:
F =
"
f
µ
#
δr =
"
δp
δϕ
#
= J(q)δq
δq =



δq1
. . .
δqn



u =



u1
. . .
un



(2.5)
In condizioni statiche, secondo il principio dei lavori virtuali, la somma dei lavori
virtuali delle forze è nullo nell’insieme degli spostamenti virtuali.
− FT
δr + uT
δq = 0
(−FT
J(q) + uT
)δq = 0
(2.6)
Imponendo l’equazione ∀δq:
⇒ u = JT
(q)F (2.7)
Si conclude, quindi, che la coppia avvertita sui giunti del robot corrisponde
alla forza F, che esso applica all’ambiente, a cui è applicata una trasformazione di
coordinate mediante un opportuno operatore lineare (Jacobiano) JT .
2
Il modello dinamico del robot si tratterà nella Sezione 2.3.
2.3 Linearizzazione del modello dinamico 7
2.3 Linearizzazione del modello dinamico
L’obiettivo di linearizzazione e semplificazione del modello è raggiunto tramite un
opportuno ingresso u in Feedback non-lineare. Il modello dinamico, nello spazio
dei giunti, è ottenibile da una valutazione di carattere energetico del sistema robot,
sfruttando un approccio Lagrangiano. I termini conservativi sono costituiti da una
matrice delle inerzie M(q), sempre invertibile per definizione, forze di Coriolis e
centrifughe c(q, q̇) e termini gravitazionali g(q). Certamente le forze di contatto
tradotte in coppie al giunto JT (q) e l’ingresso u appartengono, invece, ai termini
non conservativi che compongono il modello. Si fa notare che la matrice Jacobiana
J(q) presenta delle singolarità, dunque non è sempre invertibile.
M(q)q̈ + c(q, q̇) + g(q) = u + JT
(q)Fc (2.8)
Si assuma che il modello appena definito è fortemente non-lineare e accoppiato,
pertanto si desidera un Feedback che semplifichi la trattazione del controllo della
forza al contatto. Il Feedback è progettato seguendo il metodo per inversione, dunque
occorre ottenere l’ingresso u in funzione dell’uscita y o delle sue derivate.
Si consideri di avere un controllo nello spazio del compito, da cui l’uscita nello spazio
Cartesiano risulta essere: y = r = f(q).
Derivando la prima volta si ottiene ẏ = J(q)q̇, pertanto occorre derivare nuovamente
l’uscita:
ÿ = J(q)q̈ + ˙
J(q)q̇ = J(q)M−1
(q)[u + JT
(q)Fc − c(q, q̇) − g(q)] + ˙
J(q)q̇ (2.9)
La variabile di controllo u deve garantire il disaccoppiamento tra gli effetti dei giunti
e le forze Cartesiane applicate sull’organo terminale. Si è affermato che la matrice
J(q) non è sempre invertibile, da cui si noti che la suddetta implementazione è valida
limitatamente al di fuori delle singolarità della Jacobiana.
Da cui per inversione ingresso-uscita:
u = M(q)J−1
(q)[a − ˙
J(q)q̇] + c(q, q̇) + g(q) − JT
(q)Fc (2.10)
Ottenendo infine:
ÿ = r̈ = a (2.11)
dove a è una accelerazione Cartesiana necessaria per stabilizzare l’errore di traiettoria,
definibile come:
a = r̈d + KD(q̇d − q̇) + KP (qd − q) (2.12)
2.4 Modello nella direzione del contatto
Le direzioni Cartesiane di moto libero e del contatto ambientale sono individuate
dagli assi di un task frame. A valle della trattazione nella Sezione 2.3, nelle direzioni
libere l’azione di controllo r̈i = ai è un’accelerazione Cartesiana che sintetizza il
controllo di posizione.
Nella direzione di contatto, ovvero il caso di interesse, si deduce un modello fisico
unidirezionale, semplificato, composto da masse, molle e smorzatori. Quattro modelli
dinamici di diversa complessità sono rappresentativi del sistema e differiscono tra
8 2. Controllo della forza al contatto
loro in rigidezza e in cedevolezza del robot e/o dell’ambiente.
Sperimentalmente si è verificata la presenza di un’instabilità nella regolazione della
forza per guadagni elevati. Tra i casi che risentono della suddetta instabilità vi sono
i due sistemi modellati con una cedevolezza del robot, causa scatenante del problema
indipendentemente dalla modellazione dell’ambiente. In seguito a quest’osservazione
si consideri di trattare il modello meno complesso, costituito dal robot cedevole e
l’ambiente rigido.
Figura 2.1. Rappresentazione grafica del modello fisico.
Ai fini di considerare la cedevolezza del robot la massa del robot è decomposta in
una coppia di masse in oscillazione. Rispettivamente da sinistra a destra, la prima
rappresenta la massa associata al lato motore, su di essa agisce la forza in ingresso
F ed è connessa, attraverso un coefficiente elastico ke (finito), alla seconda massa,
che dunque esprime la massa del resto del robot. Tra quest’ultima e l’ambiente
infinitamente rigido è montato un sensore di forza con un coefficiente di deformazione3
ks. L’uscita misurata è la forza di contatto Fc ottenuta dal prodotto xreks.
Si assuma che nel sistema di riferimento considerato, la posizione delle due masse
a riposo (in figura) sia nulla, inoltre si noti che xre = 0 implica che il robot sia
comunque in contatto ma con una forza misurata Fc nulla.
Dal momento che si intende evitare fenomeni di chattering, si ponga il seguente
vincolo xre ≥ 0, dunque il robot permane in contatto con l’ambiente. Si includono
sempre sufficienti smorzamenti, impattanti sulle velocità delle due masse, in modo
da evitare fenomeni discontinui. Si noti inoltre la non collocazione tra ingresso di
controllo F e uscita misurata Fc. Le equazioni di Newton associate alle due masse
risultano, dunque, essere:
mrmẍrm + brmẋrm + bre(ẋrm − ẋre) + ke(xrm − xre) = F
mreẍre + bre(ẋre − ẋrm) + bsẋre + ke(xre − xrm) + ksxre = 0
(2.13)
Mentre l’uscita misurata è stata definita precedentemente:
Fc = xreks (2.14)
3
Sensore costituito da estensimetri, la deformazione dei quali è necessaria per la misurazione
della forza, (Sezione 1.2).
9
Capitolo 3
Regolazione della forza al
contatto
3.1 Processo nel dominio di Laplace
Si consideri il modello in Figura 2.1. Innanzitutto, per svolgere un’analisi delle
caratteristiche del processo, si passi al dominio di Laplace dalle equazioni (2.13) e
ordinando in forma matriciale si ottiene:
"
s2mrm + s(brm + bre) + ke −(sbre + ke)
−(sbrm + ke) s2mre + s(bre + bs) + ke + ks
# "
Xrm
Xre
#
=
"
F
0
#
(3.1)
da cui, andando a valutare Xre in funzione di F.
Xre =
sbre + ke
s4a4 + s3a3 + s2a2 + sa1 + a0
F (3.2)
a4 = mremrm
a3 = bremre + bremrm + brmmre + bsmrm
a2 = brebrm + brebs + brmbs + kemre + kemrm + ksmrm
a1 = brmke + bske + breks + brmks
a0 = keks
(3.3)
Si estrapola la forza misurata dal sensore nota dalla (2.14), in modo da calcolare
la funzione di trasferimento del processo.
P(s) =
Fc
F
=
ks(sbre + ke)
s4a4 + s3a3 + s2a2 + sa1 + a0
(3.4)
Si definisca l’ingresso di riferimento di forza Fd come un riferimento costante nel
tempo. Ovviamente la frequenza di un segnale costante è nulla, pertanto si valuti la
funzione di trasferimento del processo P(jω) calcolata in ω = 0, ovvero il guadagno.
P(jω)|ω=0 = P(0) = 1 (3.5)
10 3. Regolazione della forza al contatto
Figura 3.1. Diagramma a blocchi del sistema open-loop.
Il guadagno del sistema open-loop risulta essere unitario, dunque per ogni in-
gresso costante la risposta a regime si assesterà al valore in ingresso (Figura 3.2).
L’affermazione precedente è corretta se e solo se si considerano condizioni ideali,
in cui il sistema è privo di incertezze. Difatti il sistema open-loop si definisce non
robusto rispetto a incertezze. Per sopperire a questa mancanza è necessario inserire
un Feedback che stabilizzi l’errore di regolazione Fd(t) − Fc(t) con un controllo
proporzionale, di cui un guadagno kp.
Figura 3.2. Simulazione MATLAB del sistema open-loop con Fd = 10.
3.2 Problema del controllo Proporzionale
Si giunge da uno schema di controllo open-loop a uno closed-loop.
Nella configurazione in catena chiusa il sensore di forza è funzionale alla misurazione
della forza Fc in uscita per il calcolo dell’errore tra quest’ultima e la forza di
riferimento. La sintesi del controllore proporzionale verte sul suddetto errore, che
per segnali costanti in ingresso è definito errore di regolazione Fd(t) − Fc(t) e su un
guadagno kp, parametro su cui "fare tuning".
Figura 3.3. Diagramma a blocchi del sistema closed-loop con Proporzionale.
3.2 Problema del controllo Proporzionale 11
In virtù di queste considerazioni è opportuno calcolare la funzione di trasferimento
ingresso-errore.
e(s) = Fd(s) − Fc(s) (3.6)
e(s)
Fd(s)
= We(s) =
1
1 + kpP(s)
(3.7)
Definendo Dp il denominatore della (3.2) e considerando i coefficienti della (3.3), si
esplicita:
We(s) =
Dp
s4a4 + s3a3 + s2a2 + sa1 + keks(1 + kp)
(3.8)
Analogamente a quanto detto nella Sezione 3.1, si valuti il guadagno della funzione
di trasferimento:
We(jω)|ω=0 = We(0) =
1
1 + kp
(3.9)
Si nota che, per ingressi costanti, l’errore a regime non può essere annullato
con il solo uso del controllo proporzionale.
Figura 3.4. Simulazione MATLAB del sistema closed-loop con Fd = 10 e kp = 1.5.
Tuttavia con guadagni proporzionali molto elevati può essere fortemente ridotto
per diventare quasi nullo.
Si definisca, quindi, il problema di controllo di determinare un alto guadagno che
permetta di ridurre notevolmente l’errore, con i dati seguenti:
mrm = 5kg; mre = 5kg; ke = 250N/m; ks = 100N/m; brm = 20kg/s; bre =
20kg/s; bs = 10kg/s.
P(s) =
2000s + 25000
25s4 + 350s3 + 3800s2 + 11500s + 25000
(3.10)
Tracciando il luogo delle radici (Figura 3.5) per il sistema in catena aperta, con
funzione trasferimento F(s) = kpP(s), al variare del parametro kp incognito:
Come si evince dal plot, in corrispondenza del valore kp = 4.58 le radici intersecano
l’asse immaginario. Ciò implica che quel valore di kp è un valore limite per cui:
∀kp > k̄p = 4.58 (3.11)
Il sistema perde stabilità a causa di poli a parte reale positiva, dal momento che la
condizione necessaria per la stabilità secondo Routh non è più verificata.
In Figura 3.6 è riportato un plot dell’uscita del sistema con un valore kp = 4.5 molto
12 3. Regolazione della forza al contatto
vicino al k̄p critico.
Come prevedibile le oscillazioni prendono il sopravvento e continuano a essere presenti
permanentemente a regime. Se invece si fosse scelto un kp > k̄p ovviamente l’uscita
sarebbe stata divergente a causa dell’instabilità del sistema.
La causa fisica dell’instabilità consiste nella non collocazione ingresso-uscita
nel modello trattato. Le soluzioni distinte al problema sono: la sintesi di un
controllore Proporzionale-Integrale oppure l’implementazione di un’azione di controllo
in Feedforward in supporto all’azione proporzionale.
Figura 3.5. Luogo delle radici qualitativo, usando il comando MATLAB rlocusplot.
Figura 3.6. Simulazione MATLAB del sistema closed-loop con Fd = 10 e kp = 4.5.
Tuttavia sarebbe possibile compensare il fenomeno di instabilità per guadagni non
molto elevati con una rete anticipatrice, definendo G(s) la funzione di trasferimento
del controllore.
G(s) = k
b
a
s + a
s + b
(3.12)
L’effetto della rete compensatrice anticipatrice si riflette nell’ampliamento del dominio
di stabilità del guadagno k e, pertanto, nel miglioramento delle prestazioni transitorie.
3.3 Controllore Proporzionale-Integrale 13
3.3 Controllore Proporzionale-Integrale
L’azione integrale produce un comando non nullo anche quando l’errore e(t) =
Fd(t) − Fc(t) è pari a zero. Il controllore Proporzionale-Integrale (PI) introduce un
polo in zero in catena aperta e un ulteriore parametro: ki = kp/Ti dove Ti è il tempo
di integrazione. Al variare del tempo di integrazione variano le prestazioni dell’uscita
ma anche i margini di stabilità del sistema; più precisamente, diminuendo Ti l’effetto
del termine integrale è più rapido ma il sistema rischia di andare l’instabilità, si veda
Figura 3.7. Dunque è molto rilevante scegliere un tempo di integrazione opportuno,
ovvero tale da avere un tradeoff accettabile. Nel caso specifico di questo progetto è
stato scelto Ti = 1
2.
Figura 3.7. Luogo delle radici qualitativo fissato Ti = 1/2.
Figura 3.8. Diagramma a blocchi del sistema closed-loop con Proporzionale-Integrale.
Comparando questo caso al precedente con solo l’azione proporzionale, si calcoli
la funzione di trasferimento ingresso-errore ricordando la (3.6) e il denominatore
della (3.2).
e(s)
Fd(s)
= We(s) =
1
1 +
kps+ki
s P(s)
We(s) =
sDp
s5c5 + s4c4 + s3c3 + s2c2 + sc1 + c0
(3.13)
14 3. Regolazione della forza al contatto
I coefficienti ci, i = 0, .., 5 non sono esplicitati in quanto non sono di interesse ai fini
dei calcoli1. Da cui la funzione di trasferimento calcolata per riferimenti costanti:
We(jω)|ω=0 = We(0) = 0 (3.14)
Dunque l’azione integrale porta al soddisfacimento della specifica di errore nullo a
regime. Inoltre, come si vedrà in seguito, il polo nell’origine del piano complesso,
posto nella catena aperta, rende il sistema astatico, quindi permette la reiezione a
regime per disturbi costanti, fornendo robustezza al sistema.
Difatti, ispezionando i diagrammi di Bode in Figura 3.9 relativi alla funzione di
trasferimento dell’errore, si evince che i segnali a basse frequenze vengono fortemente
attenuati, mentre i segnali ad alta frequenza passano inalterati.
|We(jω)| = 1
We(jω) = 0
(3.15)
Figura 3.9. Diagrammi di Bode (Modulo in alto, Fase in basso).
Figura 3.10. Simulazione MATLAB del sistema closed-loop con Fd = 10, kp = 1.5, ki = 3.
1
Della We(0).
3.4 Controllore Proporzionale e Feedforward 15
3.4 Controllore Proporzionale e Feedforward
Si decide di implementare, in alternativa all’azione integrale, un controllo aggiuntivo
tramite uso del Feedforward, la cui uscita si somma all’uscita del controllore Propor-
zionale, costituendo l’ingresso u, di controllo, al processo.
Il Feedforward, che si tratterà, consiste in un comando open-loop basato sul prin-
cipio di inversione ingresso-uscita del modello dinamico del processo. Condizione
necessaria per la realizzazione del comando è che la funzione di trasferimento del
processo inversa sia asintoticamente stabile, sebbene non causale, ovvero il processo
deve avere zeri a fase minima oppure non averne. La non causalità è giustificata
dall’andamento completo del riferimento noto a priori.
Figura 3.11. Diagramma a blocchi del sistema closed-loop con Proporzionale e Feedforward.
L’obiettivo, come nel caso visto precedentemente, è ottenere uno schema di
controllo con una funzione di trasferimento dell’errore nulla a regime permanente.
e(s) = Fd(s) − P(s)[P−
1(s)Fd(s) + kpe(s)] ⇒ e(s) = 0 ⇒ We(s) = 0 (3.16)
Consapevoli di tale risultato si considera il calcolo analitico dell’ingresso di Feedfor-
ward. I coefficienti corrispondono alla (3.3).
Fc,d(s) = P(s)Fd(s)
(s4
a4 + s3
a3 + s2
a2 + sa1 + a0)Fc,d(s) = (sbre + ke)Fd(s)
(3.17)
Dal dominio di Laplace si passi al dominio del tempo antitrasformando le trasformate.
a4F
(4)
c,d (t)+a3F
(3)
c,d (t)+a2F̈c,d(t)+a1Ḟc,d(t)+a0Fc,d(t) = breḞd(t)+keFd(t) (3.18)
Si noti come nel caso di regolazione, dovendo riprodurre a regime un valore costante,
tutte le derivate Fc,d(t) sono nulle, dunque si definisce:
ud(t) = a4F
(4)
c,d (t) + a3F
(3)
c,d (t) + a2F̈c,d(t) + a1Ḟc,d(t) + a0Fc,d(t)
ud = Fc
(3.19)
Il numeratore della P(s) non è costante, pertanto, antitrasformando, il comando
inverso Fd(t) viene derivato rispetto al tempo. Questo comporta che il calcolo
16 3. Regolazione della forza al contatto
richiede un sistema dinamico. La rappresentazione con lo spazio di stato si ottiene
attraverso una realizzazione della funzione di trasferimento G(s) = 1
sbre+ke
.
z(0) = 0
ż(t) = −
ke
bre
z(t) +
1
bre
ud(t)
y(t) = Fd(t) =
1
ks
z(t)
(3.20)
Figura 3.12. Simulazione MATLAB del sistema closed-loop con Fd = 10, kp = 1.5 e
Feedforward.
17
Capitolo 4
Asservimento della forza al
contatto e robustezza del
modello
4.1 Forze non costanti nel tempo
La trattazione nel Capitolo 3 si è attenuta a riferimenti di forza costanti da replicare
in uscita. Bensì differente, ma con princìpi simili a quelli già enunciati, è il controllo
per riferimenti variabili nel tempo, questi estendono a tutti gli effetti le forze di
riferimento prese in esame precedentemente.
Per evitare di incorrere in fenomeni di nonlinearità, dovuti alle saturazioni degli
attuatori, si trascurino riferimenti polinomiali divergenti. I riferimenti presi in
considerazione, nelle simulazioni che seguiranno, sono caratterizzati da funzioni
sinusoidali.
(a) Una semplice funzione sinusoidale Fd = sin(ωt).
(b) Una funzione più complessa Fd = atan(sin(ωt)ωt).
Figura 4.1. Riferimenti Fd variabili nel tempo.
18 4. Asservimento della forza al contatto e robustezza del modello
Si riconsideri lo schema di controllo in Figura 3.8. Un controllore Proporzionale-
Integrale non è sufficiente per riflettere esattamente l’ingresso di forza desiderata
in uscita, poichè l’azione integrale, accumulando la storia dell’errore, riesce a com-
pensare solo parzialmente lo scostamento dalla traiettoria della forza di riferimento,
indipendentemente dal tuning dei parametri kp e ki.
Con un tuning opportuno questo effetto è ridotto, sebbene venga mantenuto un
errore di ampiezza e fase per il riferimento in questione, dunque l’uscita non riesce a
replicare il riferimento di forza non costante (Figura 4.2).
In corrispondenza di riferimenti variabili è necessario ricondursi a un controllo con
Feedforward e azione proporzionale (Figura 4.6). Si ricordi la (3.18), per riprodurre
una forza di riferimento che ammetta la derivata quarta si definisca:
ud(t) = a4F
(4)
c,d (t) + a3F
(3)
c,d (t) + a2F̈c,d(t) + a1Ḟc,d(t) + a0Fc,d(t) (4.1)
Si noti che adesso ud(t) non è solo una costante ma è un valore numerico che dipende
dal tempo, più precisamente dalla combinazione lineare delle derivate (fino alla
quarta) della forza di riferimento con i loro coefficienti. Essendo l’andamento nel
tempo del riferimento noto, i valori a destra della (3.19) sono valori calcolabili
semplicemente derivando il riferimento per cui si ridefinisce ud(t) .
A seguito di questa precisazione, le differenze con il caso particolare della regolazione1
sono terminate, pertanto l’implementazione avviene introducendo il sistema dinamico
della (3.20).
Qui riportati alcuni plot di riferimenti caratterizzati da funzioni del tempo.
(a) Fd = sin(ωt).
(b) Fd = atan(sin(ωt)ωt).
Figura 4.2. Simulazioni MATLAB del sistema closed-loop con kp = 1.5 e ki = 3.
1
Problema di asservimento con riferimento costante.
4.1 Forze non costanti nel tempo 19
(a) Fd = sin(ωt).
(b) Fd = atan(sin(ωt)ωt).
Figura 4.3. Simulazioni MATLAB del sistema closed-loop con kp = 1.5 e Feedforward.
(a) Fd = sin(ωt).
(b) Fd = atan(sin(ωt)ωt).
Figura 4.4. Simulazioni MATLAB del sistema closed-loop con un disturbo d = 2 con
kp = 1.5 e Feedforward.
Si nota che il Feedforward, a differenza del PI, riesce perfettamente nel compito di
allineare la traiettoria dell’uscita a quella del riferimento se e solo se non ci sono
incertezze che interferiscono con il modello sul quale si è calcolato il Feedforward.
20 4. Asservimento della forza al contatto e robustezza del modello
4.2 Incertezze come disturbi costanti
Un disturbo che agisce sul sistema non può essere compensato, a meno che non sia
conosciuto, dal comando di Feedforward, calcolato a monte sulla base dei dati del
processo acquisiti in condizioni nominali.
D’altra parte, ricordandosi di come annunciato nella Sezione 3.3, il sistema PI ha
la proprietà di essere astatico grazie al polo in zero presente sulla catena diretta.
Questa caratteristica si evince anche dal plot seguente, il quale riprende il problema
di regolazione, in cui è stato applicato un disturbo costante nel tempo d agente sugli
attuatori.
Figura 4.5. Simulazione MATLAB con disturbo d = 2, Fd = 10, kp = 1.5 e ki = 3.
Si è, dunque, verificato che il controllo con il termine integrale permette la
reiezione a disturbi costanti.
Pertanto sorge quasi spontanea l’idea di combinare le due azioni di controllo affinchè
possano essere compensate delle incertezze dall’azione integrale, in questo caso
modellate come disturbi costanti, mantenendo, tuttavia, il comando persistente in
Feedforward capace di allineare l’uscita al riferimento.
Figura 4.6. Diagramma a blocchi del sistema closed-loop con Proporzionale-Integrale e
Feedforward.
4.2 Incertezze come disturbi costanti 21
(a) Fd = sin(ωt).
(b) Fd = atan(sin(ωt)ωt).
Figura 4.7. Simulazioni MATLAB del sistema closed-loop con un disturbo d = 2 con
kp = 1.5, ki = 3 e Feedforward.
Come si evince dai grafici, in seguito a un transitorio più marcato, in cui viene
accumulato e compensato l’errore dall’azione integrale, il Feedforward permette il
matching dell’andamento del uscita con quello del riferimento.
Dunque i risultati rispecchiano la specifica di asservimento richiesta.
23
Capitolo 5
Regolazione della forza al
contatto nello spazio di stato
5.1 Stato misurato in assenza di incertezze
A fronte dei risultati ottenuti nel Capitolo 3, si desidera migliorare quelle che sono
state le prestazioni transitorie dell’uscita di forza (del robot) misurata dal sensore
rispetto a una forza di riferimento costante Fd. L’approccio che si tratterà consiste
nel risolvere il problema di regolazione con un controllo nel dominio del tempo. Si
assuma, in prima ipotesi, lo stato misurato.
Si definisca una rappresentazione con lo spazio di stato del sistema lineare tempo
invariante.
ẋ(t) = Ax(t) + Bu(t)
y(t) = Cx(t) + Du(t)
(5.1)
Di cui le matrici che caratterizzano la rappresentazione sono ottenute dalla (2.13).
A =





0 0 1 0
0 0 0 1
− ke
mrm
ke
mrm
−bre+brm
mrm
bre
mrm
ke
mre
−ke+ks
mre
bre
mre
−bre+bs
mre





B =





0
0
1
mrm
0





C =
h
0 ks 0 0
i
D = 0
(5.2)
La matrice dinamica caratterizza l’evoluzione libera del sistema ed essendo l’evolu-
zione libera del sistema fisico tendente, nel tempo, a una condizione di equilibrio
statica1 allora anche l’evoluzione del sistema tende a non divergere, pertanto gli
1
Questo è dovuto dagli attriti viscosi che non permettono la conservazione dell’energia, la quale
fuoriesce dal sistema in quanto vi è dissipazione di potenza, e dunque a ogni oscillazione l’energia
cinetica e potenziale decrementa fino a raggiungere energia nulla.
24 5. Regolazione della forza al contatto nello spazio di stato
autovalori della matrice dinamica A sono tutti a parte reale negativa. Tuttavia è di
interesse comprendere come è possibile modificare la dinamica del suddetto sistema
affinchè l’evoluzione libera si esaurisca più rapidamente.
Si noti che, grazie allo stato misurato, la dinamica del sistema è manipolabile, ovve-
ro gli autovalori della matrice dinamica possono essere assegnati arbitrariamente,
attraverso una controreazione dallo stato K (Figura 5.1) se e solo se il problema
dell’assegnazione degli autovalori è risolvibile. Condizione necessaria e sufficiente
per tale problema, è che il sistema sia totalmente raggiungibile.
rank(R) = rank
h
B AB A2B A3B
i
= 4 (5.3)
Nel caso particolare delle matrici dello spazio di stato definite nella (5.2) risulta
essere verificata, dunque si procede seguendo lo schema di controllo a retroazione
dallo stato.
Figura 5.1. Diagramma a blocchi del sistema con retroazione dallo stato.
Si evince l’ingresso u(t) al processo nella (5.1).
u(t) = Kx(t) + γFd (5.4)
Per il soddisfacimento della richiesta di riduzione del transitorio si assegnino gli
autovalori della nuova matrice dinamica A + BK di modo che siano arbitrariamente
più negativi di quelli della matrice A.
Il vettore K si ottiene tramite l’uso della formula di Ackermann. Dalla (5.3) si
deduce che la matrice di raggiungibilità è invertibile.
β =
h
0 0 0 1
i
R−1
(5.5)
Una opportuna scelta degli autovalori è definita dal polinomio caratteristico deside-
rato:
p∗
(λ) = (λ + 7)4
(5.6)
Da cui, applicando la formula, dove p∗(A) è il polinomio caratteristico desiderato
calcolato in A.
K = −βp∗
(A) (5.7)
Grazie a questa retroazione statica tutti i poli del sistema si trovano in -72.
A seguito dei cambiamenti apportati non si intende tralasciare la specifica di rego-
lazione, la quale è soddisfatta se e solo se il sistema è di tipo 1 ⇒ W(0) = 0, dove
2
Si è optato per una scelta di autovalori coincidenti dal momento che il transitorio è dettato dal
polo più lento.
5.2 Stato non misurato in assenza di incertezze 25
W(s) è la funzione di trasferimento tra Fd e y = Fc.
W(s) = γC(sI − A − BK)−1
B (5.8)
Per soddisfare la specifica citata si calcoli il valore numerico di γ imponendo:
W(0) = −γC(A + BK)−1
B = 1
⇒ γ = −
1
C(A + BK)−1B
(5.9)
Figura 5.2. Simulazione MATLAB con Fd = 10 e autovalori assegati tutti in −4.
Dalla simulazione MATLAB si riscontra un dimezzamento del tempo di asse-
stamento al valore di regime rispetto ai risultati prestazionali mostrati nei plot del
Capitolo 3.
5.2 Stato non misurato in assenza di incertezze
Nel caso precedente si è ipotizzata la disponibilità di una misurazione dello stato.
Ciò non è sempre possibile, per cui al posto della misura dello stato si ricorre a una
stima dello stato.
Dal momento che il sistema è lineare, è valido il principio di separazione, per
cui il problema dell’osservatore è risolvibile indipendentemente dal problema di
assegnazione degli autovalori.
Lo scopo del ricostruttore/osservatore asintotico dello stato è di avere a disposizione
una stima dello stato x̂(t) che tenda allo stato effettivo x(t), prendendo in ingresso
rispettivamente: l’ingresso u(t) e l’uscita misurata y(t) del processo da cui si desidera
stimare lo stato. La totale osservabilità del sistema è condizione necessaria e
sufficiente per l’esistenza di un ricostruttore dello stato complessivo.
rank(O) = rank





C
CA
CA2
CA3





= 4 (5.10)
26 5. Regolazione della forza al contatto nello spazio di stato
Anche per questo problema, svolgendo i calcoli, la verifica dell’esistenza della soluzione
è positiva.
Figura 5.3. Diagramma a blocchi del sistema con retroazione dallo stato e ricostruttore
dello stato.
Si definisca la dinamica dello stato stimato.
˙
x̂(t) = Ax̂(t) + Bu(t) + G[y(t) − Cx̂(t)]
= Ax̂(t) + Bu(t) + G[Cx(t) − Cx̂(t)]
(5.11)
Ricordando ẋ(t) dalla (5.1), si ridefinisca l’ingresso.
u(t) = Kx̂(t) + γFd (5.12)
Si definisca l’errore di stima e(t) = x(t) − x̂(t), con la consapevolezza di puntare a
mandare a zero la sua dinamica, come affermato precedentemente ˙
x̂(t) → ẋ(t) ⇒
˙
x̂(t) − ẋ(t) → 0.
ė(t) = (A − GC)e(t) (5.13)
Si noti che l’errore non dipende dall’assegnazione degli autovalori, ma solamente
dalla matrice GC che modifica la matrice dinamica dell’errore similmente al caso di
assegnazione di autovalori.
δ = O−1





0
0
0
1





(5.14)
Essendo, nel sistema con stato stimato, il problema di assegnazione dipendente dalla
stima dello stato, e non più dallo stato effettivo, è opportuno avere una rapidità di
ricostruzione arbitrariamente maggiore di quella dell’assegnazione degli autovalori.
Ne segue la scelta del polinomio caratteristico desiderato associato alla dinamica
dell’errore:
p∗
(λ) = (λ + 11)4
(5.15)
Si definisce G applicando la formula di Ackermann.
G = p∗
(A)δ (5.16)
Tornando nuovamente al problema di regolazione, circa la scelta di γ, si consideri il
sistema:
ẋ(t) = Ax(t) + BKx̂(t) + BγFd
= (A + BK)x(t) − BKe(t) + BγFd
ė(t) = (A − GC)e(t)
y(t) = Cx(t)
(5.17)
5.2 Stato non misurato in assenza di incertezze 27
Si calcoli la funzione di trasferimento come nella (5.9) considerando le matrici dello
spazio dello stato z(t) =
"
x(t)
e(t)
#
.
Az =
A + BK | −BK
0 | A − GC
!
Bz =
"
B
0
#
Cz =
h
C 0
i
(5.18)
Si noti che Az è una matrice composta a blocchi, dalla quale si evidenziano gli
autovalori del sistema σ(A + BK) e σ(A − GC). L’unione dei due insiemi separati
e indipendenti di autovalori σ(A + BK) ∪ σ(A − GC) dimostra la sussistenza del
principio di separazione.
Tuttavia gli autovalori propri della dinamica dell’osservatore non compaiono nel
legame riferimento-uscita. È banale verificare che essi vengono cancellati nel calcolo
della funzione di trasferimento riferimento-uscita che si indichi con Wz(s).
Wz(s) = Cz(sI − Az)−1
Bz = C(sI − A − BK)−1
B (5.19)
Ai fini di una stima dello stato che non si discosti eccessivamente dallo stato effettivo
è essenziale che il tale scostamento non sussista neppure tra le condizioni iniziali
dello stato e dello stato stimato, pertanto l’errore iniziale sia ragionevolmente piccolo.
Per le simulazioni che seguiranno si definiscano tali condizioni iniziali.
x0 =





0
0
0
0





x̂0 =





0.1
0.1
0
0





(5.20)
28 5. Regolazione della forza al contatto nello spazio di stato
Figura 5.4. Simulazione MATLAB con Fd = 10 e autovalori assegati tutti in −4 in presenza
di ricostruttore dello stato con velocità dipendente da autovalori tutti in −11.
5.3 Stato misurato in presenza di incertezze
Lo schema di controllo trattato nelle sezioni precedenti di questo Capitolo è stato
dimostrato essere efficiente e funzionale per la causa della regolazione se le condizioni
di lavoro sono quelle nominali. È di interesse, invece, comprendere quali margini
di incertezza possa comprendere per ottenere delle prestazioni soddisfacenti. Si
consideri, nuovamente, in prima ipotesi, lo stato misurato e riprendendo la Sezione 5.1
con le conclusioni tratte da essa, si verifica che con una generica perturbazione3 sulle
matrici A e/o B e/o C e/o K la specifica per soddisfare l’annullamento dell’errore
di regolazione a regime permanente, con γ imposto sulla base delle matrici non
perturbate, è estremamente probabile che comporti:
W(0) = −γC(A + BK)−1
B ̸= 1 (5.21)
La conseguenza risulta essere un errore a regime permanente non nullo.
Figura 5.5. Simulazione MATLAB con una generica perturbazione della matrice A, Fd = 10
e autovalori assegati tutti in −4.
3
Nel caso specifico della simulazione che segue si è sommata la quantità ritornata in output
dalla funzione rand moltiplicata per un fattore 0.1 (es. A = A + rand(4) ∗ 0.1).
5.3 Stato misurato in presenza di incertezze 29
Questa mancanza di robustezza, enfatizzata soprattutto da grandi incertezze nei
parametri, è compensabile modificando lo schema di controllo.
In corrispondenza a incertezze è quindi preferibile, se non necessario, avere la presenza
di un’azione integrale in catena diretta.
Figura 5.6. Diagramma a blocchi del sistema con retroazione dallo stato e un polo nella
catena diretta.
Si consideri una nuova rappresentazione con lo spazio di stato associata a questo
schema.
u(t) = Kx(t) + k0w(t)
ẋ(t) = Ax(t) + Bu(t)
ẇ(t) = −Cx(t) + Fc
(5.22)
La matrice dinamica del sistema complessivo a anello chiuso è espressa come:
"
A + BK Bk0
−C 0
#
=
"
A 0
−C 0
#
+
"
B
0
#
h
K k0
i
= Ae + BeKe (5.23)
È dimostrabile che se (A, B) è raggiungibile allora lo è anche (Ae, Be).
Per cui si calcola Ke =
h
K k0
i
analogamente alla (5.7). Si notino due cose:
In primis, la funzione di trasferimento tra w e y corrisponde alla (5.8);
In secundis, gli autovalori della matrice dinamica della catena diretta σ(A + BK)
non coincidono con quelli assegnati tramite Ke, concludendo che la retroazione
dell’anello esterno modifica tali autovalori rendendoli pari a quelli assegnati.
Dal grafico della simulazione in Figura 5.7 si evince che grazie a questo schema
l’errore a regime viene annullato, pagando il prezzo di un transitorio con oscillazioni
più decise e una sovraelongazione maggiore.
30 5. Regolazione della forza al contatto nello spazio di stato
Figura 5.7. Simulazione MATLAB con una generica perturbazione della matrice A, Fd = 10
e autovalori assegati tutti in −4.
5.4 Stato non misurato in presenza di incertezze
Infine è estendibile la trattazione, anche in questo caso, considerando l’ipotesi di
stato non accessibile, quindi si necessita una stima. Come analizzato nella Sezione
5.2, essendo osservabile il sistema del processo è possibile introdurre un ricostruttore
dello stato.
Figura 5.8. Diagramma a blocchi del sistema con retroazione dallo stato, ricostruttore
dello stato e un polo nella catena diretta.
Si ridefinisca una rappresentazione con lo spazio di stato.
u(t) = K(x(t) − e(t)) + k0w(t)
ẋ(t) = Ax(t) + Bu(t)
ẇ(t) = −Cx(t) + Fc
ė(t) = (A − GC)e(t)
(5.24)
Nonostante l’estensione dello stato continua a essere preservato il principio di
separazione, dimostrato attraverso la struttura a blocchi della matrice dinamica
5.4 Stato non misurato in presenza di incertezze 31
complessiva Ae,z.
Ae,z =



A + BK Bk0 | −BK
−C 0 | 0
0 0 | A − GC



Be,z =



0
1
0



Ce,z =
h
C 0 0
i
(5.25)
Considerando il blocco Ae,z,11 si noti che corrisponde alla (5.23), pertanto il calcolo
di Ke, per una stessa assegnazione di autovalori, è del tutto analogo al precedente.
D’altra parte circa la velocità di ricostruzione dello stato e il calcolo di G, si
considerino i medesimi della (5.15), mentre grazie alla (5.16) si ottiene G. Circa le
condizioni iniziali si faccia riferimento alla (5.20).
Dal momento che l’osservatore è posizionato sul ramo interno di reazione, si ha una
cancellazione tra gli zeri del compensatore e gli autovalori imposti alla dinamica
dell’errore di osservazione, analogamente alle considerazioni fatte per la (5.19),
escludendo tali autovalori dal legame riferimento-uscita We,z(s).
Figura 5.9. Simulazione MATLAB con una generica perturbazione della matrice A, Fd = 10
e autovalori assegati tutti in −4 in presenza di ricostruttore dello stato con velocità
dipendente da autovalori tutti in −11.
33
Capitolo 6
Conclusioni
In conclusione si è visto che il controllo della forza tra robot e ambiente è dipendente
dalle condizioni di lavoro, tra cui si può differenziare: regolazione o asservimento
della forza al contatto, in presenza o in assenza di incertezze.
La regolazione in catena aperta non è affatto robusta rispetto a incertezze, pertanto
si predilige un controllo PI per la compensazione delle stesse. In alternativa, la
regolazione closed-loop, è trattabile con un Feedforward in aggiunta all’azione pro-
porzionale.
Il comando di Feedforward risulta essere, d’altra parte, fondamentale per permettere
di seguire un riferimento variabile nel tempo.
La combinazione di PI e Feedforward per il caso di asservimento è computazional-
mente più complessa ma allo stesso tempo più completa in quanto, anche in presenza
di disturbi costanti, sebbene vengano intaccate le prestazioni transitorie, i risultati a
regime permanente sono pienamente soddisfacenti.
Infine si è voltato lo sguardo verso un miglioramento prestazionale della risposta
transitoria del sistema. Si è visto come l’assegnazione arbitraria degli autovalori
modificasse notevolmente tali risultati. Circa gli autovalori, sono stati assegnati
con un occhio di riguardo all’implementazione fisica degli attuatori, in maniera tale
da sollecitarli con uno sforzo di controllo opportuno. Ciononostante si è supposto
di essere in punti di lavoro meno ideali modificando lo schema di controllo. Si è
assicurato l’astatismo, per garantire robustezza rispetto a incertezze parametriche, e
si è stimato lo stato attraverso un ricostruttore, invece di richiedere una stima dello
stesso.
35
Bibliografia
[1] A. Cristofaro, “Sensori”, Dispensa di Laboratorio di Automatica, Sapienza,
2022.
[2] A. De Luca, “Breve introduzione alla robotica”, Parte 3-4, Dispensa di
Applicazioni dell’Automatica, Sapienza, 2022.
[3] A. De Luca, “Cartesian control”,“Environment interaction”, Dispensa di
Robotics 2, Sapienza, 2020.
http://www.diag.uniroma1.it/deluca/rob2_en/13_CartesianControl.pdf
http://www.diag.uniroma1.it/deluca/rob2_en/14_EnvironmentInteraction.pdf
[4] A. Isidori, “Sistemi di Controllo”, Vol. 2, Siderea, 1993.
[5] L. Lanari, G. Oriolo, “Controlli automatici, Esecrizi di Sintesi”,Cap. 4,
EURoma, 1997.
[6] M. Mattioni, “Controllo d’assetto”, Dispensa di Applicazioni dell’Automatica,
Sapienza, 2022.

More Related Content

Similar to Yielding Robot and Rigid Environment - Contact Force Control (IT)

Caratterizzazione di sensori di immagineCMOS
Caratterizzazione di sensori di immagineCMOSCaratterizzazione di sensori di immagineCMOS
Caratterizzazione di sensori di immagineCMOSErlis Hasa
 
Teleoperating a robotic arm through a gyroscopic helmet
Teleoperating a robotic arm through a gyroscopic helmetTeleoperating a robotic arm through a gyroscopic helmet
Teleoperating a robotic arm through a gyroscopic helmetFrancesco Corucci
 
Relazione pdbp 2016 gruppo 05 brondino gabetti boscaglia giordano
Relazione pdbp 2016 gruppo 05 brondino gabetti boscaglia giordanoRelazione pdbp 2016 gruppo 05 brondino gabetti boscaglia giordano
Relazione pdbp 2016 gruppo 05 brondino gabetti boscaglia giordanoStefano Gabetti
 
INTEGRA - Corso Fotovoltaico e sistemi di accumulo
INTEGRA - Corso Fotovoltaico e sistemi di accumuloINTEGRA - Corso Fotovoltaico e sistemi di accumulo
INTEGRA - Corso Fotovoltaico e sistemi di accumuloseve751
 
Progettazione, realizzazione e controllo di un sistema Cart and Beam
Progettazione, realizzazione e controllo di un sistema Cart and BeamProgettazione, realizzazione e controllo di un sistema Cart and Beam
Progettazione, realizzazione e controllo di un sistema Cart and BeamGian Mauro Musso
 
Studio sulle condizioni di validità del criterio di Barkhausen - Tesi
Studio sulle condizioni di validità del criterio di Barkhausen - TesiStudio sulle condizioni di validità del criterio di Barkhausen - Tesi
Studio sulle condizioni di validità del criterio di Barkhausen - TesiMatteo Smaila
 
Permanent Magnet Synchronous Motors (PMSM) Strategies, analysis and compariso...
Permanent Magnet Synchronous Motors (PMSM) Strategies, analysis and compariso...Permanent Magnet Synchronous Motors (PMSM) Strategies, analysis and compariso...
Permanent Magnet Synchronous Motors (PMSM) Strategies, analysis and compariso...Daniel Cervini
 
2000 fm pb_easyscan_emission_maps_sim_vs_measure (1)
2000 fm pb_easyscan_emission_maps_sim_vs_measure (1)2000 fm pb_easyscan_emission_maps_sim_vs_measure (1)
2000 fm pb_easyscan_emission_maps_sim_vs_measure (1)Piero Belforte
 
Smart grid 4 novembre
Smart grid 4 novembreSmart grid 4 novembre
Smart grid 4 novembrecanaleenergia
 
Progettazione di una misura di vibrazione di motoriduttori da applicare in li...
Progettazione di una misura di vibrazione di motoriduttori da applicare in li...Progettazione di una misura di vibrazione di motoriduttori da applicare in li...
Progettazione di una misura di vibrazione di motoriduttori da applicare in li...Mario Tosques
 
Relazione Azionamenti elettrici
Relazione Azionamenti elettriciRelazione Azionamenti elettrici
Relazione Azionamenti elettriciStefano Manca
 
Misura della resistenza degli aghi di uno zoccolo usato per il test di moduli...
Misura della resistenza degli aghi di uno zoccolo usato per il test di moduli...Misura della resistenza degli aghi di uno zoccolo usato per il test di moduli...
Misura della resistenza degli aghi di uno zoccolo usato per il test di moduli...Daniele Naibo
 
Simulazione mediante matlab di un sistema di comunicazione con modulazioni mu...
Simulazione mediante matlab di un sistema di comunicazione con modulazioni mu...Simulazione mediante matlab di un sistema di comunicazione con modulazioni mu...
Simulazione mediante matlab di un sistema di comunicazione con modulazioni mu...Tullio Emilio Di Simone
 
Progettazione di un braccio robotico basato su piattaforma Arduino per la scr...
Progettazione di un braccio robotico basato su piattaforma Arduino per la scr...Progettazione di un braccio robotico basato su piattaforma Arduino per la scr...
Progettazione di un braccio robotico basato su piattaforma Arduino per la scr...LucaMosetti3
 

Similar to Yielding Robot and Rigid Environment - Contact Force Control (IT) (20)

Caratterizzazione di sensori di immagineCMOS
Caratterizzazione di sensori di immagineCMOSCaratterizzazione di sensori di immagineCMOS
Caratterizzazione di sensori di immagineCMOS
 
Teleoperating a robotic arm through a gyroscopic helmet
Teleoperating a robotic arm through a gyroscopic helmetTeleoperating a robotic arm through a gyroscopic helmet
Teleoperating a robotic arm through a gyroscopic helmet
 
Relazione pdbp 2016 gruppo 05 brondino gabetti boscaglia giordano
Relazione pdbp 2016 gruppo 05 brondino gabetti boscaglia giordanoRelazione pdbp 2016 gruppo 05 brondino gabetti boscaglia giordano
Relazione pdbp 2016 gruppo 05 brondino gabetti boscaglia giordano
 
Test 03b 26.05.2015
Test 03b   26.05.2015Test 03b   26.05.2015
Test 03b 26.05.2015
 
INTEGRA - Corso Fotovoltaico e sistemi di accumulo
INTEGRA - Corso Fotovoltaico e sistemi di accumuloINTEGRA - Corso Fotovoltaico e sistemi di accumulo
INTEGRA - Corso Fotovoltaico e sistemi di accumulo
 
SELF3D Software Validation
SELF3D Software ValidationSELF3D Software Validation
SELF3D Software Validation
 
Legge di Ohm_Appunti
Legge di Ohm_AppuntiLegge di Ohm_Appunti
Legge di Ohm_Appunti
 
Progettazione, realizzazione e controllo di un sistema Cart and Beam
Progettazione, realizzazione e controllo di un sistema Cart and BeamProgettazione, realizzazione e controllo di un sistema Cart and Beam
Progettazione, realizzazione e controllo di un sistema Cart and Beam
 
Introduzione ai Bond graph
Introduzione ai Bond graphIntroduzione ai Bond graph
Introduzione ai Bond graph
 
Studio sulle condizioni di validità del criterio di Barkhausen - Tesi
Studio sulle condizioni di validità del criterio di Barkhausen - TesiStudio sulle condizioni di validità del criterio di Barkhausen - Tesi
Studio sulle condizioni di validità del criterio di Barkhausen - Tesi
 
Permanent Magnet Synchronous Motors (PMSM) Strategies, analysis and compariso...
Permanent Magnet Synchronous Motors (PMSM) Strategies, analysis and compariso...Permanent Magnet Synchronous Motors (PMSM) Strategies, analysis and compariso...
Permanent Magnet Synchronous Motors (PMSM) Strategies, analysis and compariso...
 
2000 fm pb_easyscan_emission_maps_sim_vs_measure (1)
2000 fm pb_easyscan_emission_maps_sim_vs_measure (1)2000 fm pb_easyscan_emission_maps_sim_vs_measure (1)
2000 fm pb_easyscan_emission_maps_sim_vs_measure (1)
 
Smart grid 4 novembre
Smart grid 4 novembreSmart grid 4 novembre
Smart grid 4 novembre
 
Progettazione di una misura di vibrazione di motoriduttori da applicare in li...
Progettazione di una misura di vibrazione di motoriduttori da applicare in li...Progettazione di una misura di vibrazione di motoriduttori da applicare in li...
Progettazione di una misura di vibrazione di motoriduttori da applicare in li...
 
Relazione Azionamenti elettrici
Relazione Azionamenti elettriciRelazione Azionamenti elettrici
Relazione Azionamenti elettrici
 
Misura della resistenza degli aghi di uno zoccolo usato per il test di moduli...
Misura della resistenza degli aghi di uno zoccolo usato per il test di moduli...Misura della resistenza degli aghi di uno zoccolo usato per il test di moduli...
Misura della resistenza degli aghi di uno zoccolo usato per il test di moduli...
 
Simulazione mediante matlab di un sistema di comunicazione con modulazioni mu...
Simulazione mediante matlab di un sistema di comunicazione con modulazioni mu...Simulazione mediante matlab di un sistema di comunicazione con modulazioni mu...
Simulazione mediante matlab di un sistema di comunicazione con modulazioni mu...
 
Sensore di Massa
Sensore di MassaSensore di Massa
Sensore di Massa
 
Mech Eng Thesis
Mech Eng ThesisMech Eng Thesis
Mech Eng Thesis
 
Progettazione di un braccio robotico basato su piattaforma Arduino per la scr...
Progettazione di un braccio robotico basato su piattaforma Arduino per la scr...Progettazione di un braccio robotico basato su piattaforma Arduino per la scr...
Progettazione di un braccio robotico basato su piattaforma Arduino per la scr...
 

Recently uploaded

GIORNATA TECNICA 18/04 | DE ROSA Roberto
GIORNATA TECNICA 18/04 | DE ROSA RobertoGIORNATA TECNICA 18/04 | DE ROSA Roberto
GIORNATA TECNICA 18/04 | DE ROSA RobertoServizi a rete
 
GIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
GIORNATA TECNICA 18/04 | SPIZZIRRI MassimoGIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
GIORNATA TECNICA 18/04 | SPIZZIRRI MassimoServizi a rete
 
GIORNATA TECNICA 18/04 | BENANTI Alessandro
GIORNATA TECNICA 18/04 | BENANTI AlessandroGIORNATA TECNICA 18/04 | BENANTI Alessandro
GIORNATA TECNICA 18/04 | BENANTI AlessandroServizi a rete
 
Descrizione della struttura architettonica Eretteo.pptx
Descrizione della struttura architettonica Eretteo.pptxDescrizione della struttura architettonica Eretteo.pptx
Descrizione della struttura architettonica Eretteo.pptxtecongo2007
 
Presentzione Matematica similitudini circonferenze e omotetie.pptx
Presentzione  Matematica similitudini circonferenze e omotetie.pptxPresentzione  Matematica similitudini circonferenze e omotetie.pptx
Presentzione Matematica similitudini circonferenze e omotetie.pptxfilippoluciani9
 
GIORNATA TECNICA 18/04 | LITTERIO Raffaele
GIORNATA TECNICA 18/04 | LITTERIO RaffaeleGIORNATA TECNICA 18/04 | LITTERIO Raffaele
GIORNATA TECNICA 18/04 | LITTERIO RaffaeleServizi a rete
 
GIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
GIORNATA TECNICA DA AQP 18/04 | ZONNO SerenaGIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
GIORNATA TECNICA DA AQP 18/04 | ZONNO SerenaServizi a rete
 
GIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
GIORNATA TECNICA DA AQP 18/04 | MOTTA SimoneGIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
GIORNATA TECNICA DA AQP 18/04 | MOTTA SimoneServizi a rete
 
GIORNATA TECNICA 18/04 | DE LEO Antonio
GIORNATA TECNICA 18/04  | DE LEO AntonioGIORNATA TECNICA 18/04  | DE LEO Antonio
GIORNATA TECNICA 18/04 | DE LEO AntonioServizi a rete
 

Recently uploaded (9)

GIORNATA TECNICA 18/04 | DE ROSA Roberto
GIORNATA TECNICA 18/04 | DE ROSA RobertoGIORNATA TECNICA 18/04 | DE ROSA Roberto
GIORNATA TECNICA 18/04 | DE ROSA Roberto
 
GIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
GIORNATA TECNICA 18/04 | SPIZZIRRI MassimoGIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
GIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
 
GIORNATA TECNICA 18/04 | BENANTI Alessandro
GIORNATA TECNICA 18/04 | BENANTI AlessandroGIORNATA TECNICA 18/04 | BENANTI Alessandro
GIORNATA TECNICA 18/04 | BENANTI Alessandro
 
Descrizione della struttura architettonica Eretteo.pptx
Descrizione della struttura architettonica Eretteo.pptxDescrizione della struttura architettonica Eretteo.pptx
Descrizione della struttura architettonica Eretteo.pptx
 
Presentzione Matematica similitudini circonferenze e omotetie.pptx
Presentzione  Matematica similitudini circonferenze e omotetie.pptxPresentzione  Matematica similitudini circonferenze e omotetie.pptx
Presentzione Matematica similitudini circonferenze e omotetie.pptx
 
GIORNATA TECNICA 18/04 | LITTERIO Raffaele
GIORNATA TECNICA 18/04 | LITTERIO RaffaeleGIORNATA TECNICA 18/04 | LITTERIO Raffaele
GIORNATA TECNICA 18/04 | LITTERIO Raffaele
 
GIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
GIORNATA TECNICA DA AQP 18/04 | ZONNO SerenaGIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
GIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
 
GIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
GIORNATA TECNICA DA AQP 18/04 | MOTTA SimoneGIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
GIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
 
GIORNATA TECNICA 18/04 | DE LEO Antonio
GIORNATA TECNICA 18/04  | DE LEO AntonioGIORNATA TECNICA 18/04  | DE LEO Antonio
GIORNATA TECNICA 18/04 | DE LEO Antonio
 

Yielding Robot and Rigid Environment - Contact Force Control (IT)

  • 1. Controllo della forza al contatto Interazione tra robot cedevole e ambiente rigido Facoltà di Ingegneria dell’Informazione, Informatica e Statistica Laurea Triennale in Ingegneria Informatica e Automatica Enrico Maria Marinelli Matricola 1892740 Relatore Prof. Alessandro De Luca Anno Accademico 2021/2022
  • 2. Tesi discussa il giorno 8 Luglio 2022 di fronte a una commissione esaminatrice composta da: Prof. Stefano Battilotti Prof. Claudia Califano Controllo della forza al contatto Interazione tra robot cedevole e ambiente rigido Tesi di Laurea Triennale. Sapienza Università di Roma © 2022 Enrico Maria Marinelli. Tutti i diritti riservati Questa tesi è stata composta con L A TEX e la classe Sapthesis. Email dell’autore: marinelli.1892740@studenti.uniroma1.it
  • 3. A nonno Angelo e nonna Margherita, sempre presenti in me nel cuore e nella mente.
  • 4.
  • 5. v Sommario In questa tesi viene proposto un problema di controllo della forza al contatto con l’ambiente per un modello mono-direzionale di un robot manipolatore con una dinamica disaccoppiata. In seguito a una breve panoramica sui sensori di forza, si affronterà il problema citato, previa discussione della dinamica, di un robot, disaccoppiata grazie a un controllo in Feedback non-lineare. Si supponga di studiare il problema permanendo in dominio di linearità. Dunque si escludano problemi dovuti a eventuali saturazioni di attuatori e sensori dallo studio del problema. Il primo approccio al problema è definito da uno schema costituito da un controllo in catena aperta tramite un Feedforward e un controllo closed-loop con un controllore PI. In questa condizione vi si considera sia il problema di regolazione che quello di asservimento della forza al contatto. Nel secondo approccio si studia il problema nello spazio di stato costruendo un compensatore dinamico, costituito, dunque, da una reazione dallo stato e da un osservatore asintotico dello stato. Al contrario del caso precedente, qui vi si considera il solo problema di regolazione della forza al contatto. Per ambo gli approcci, a seconda delle specifiche, si opterà per il controllo computa- zionalmente meno complesso, analizzando le prestazioni nominali e in corrispondenza di incertezze. Si verificheranno i risultati delle implementazioni mediante simulazioni MATLAB. Le figure con denominazione "Simulazione MATLAB" rappresentano dei grafici (plot) costituiti da valori numerici di equazioni differenziali calcolati in un intervallo temporale (tspan) usando la funzione ode45, spesso confrontanti a un riferimento nel medesimo intervallo temporale.
  • 6.
  • 7. vii Indice 1 Introduzione 1 1.1 Introduzione ai sensori di forza . . . . . . . . . . . . . . . . . . . . . 1 1.2 Sensori 6D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Calibrazione del sensore . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 Controllo della forza al contatto 5 2.1 Cambio di sistema di riferimento . . . . . . . . . . . . . . . . . . . . 5 2.2 Effetto della forza applicata all’ambiente . . . . . . . . . . . . . . . . 6 2.3 Linearizzazione del modello dinamico . . . . . . . . . . . . . . . . . . 7 2.4 Modello nella direzione del contatto . . . . . . . . . . . . . . . . . . 7 3 Regolazione della forza al contatto 9 3.1 Processo nel dominio di Laplace . . . . . . . . . . . . . . . . . . . . . 9 3.2 Problema del controllo Proporzionale . . . . . . . . . . . . . . . . . . 10 3.3 Controllore Proporzionale-Integrale . . . . . . . . . . . . . . . . . . . 13 3.4 Controllore Proporzionale e Feedforward . . . . . . . . . . . . . . . . 15 4 Asservimento della forza al contatto e robustezza del modello 17 4.1 Forze non costanti nel tempo . . . . . . . . . . . . . . . . . . . . . . 17 4.2 Incertezze come disturbi costanti . . . . . . . . . . . . . . . . . . . . 20 5 Regolazione della forza al contatto nello spazio di stato 23 5.1 Stato misurato in assenza di incertezze . . . . . . . . . . . . . . . . . 23 5.2 Stato non misurato in assenza di incertezze . . . . . . . . . . . . . . 25 5.3 Stato misurato in presenza di incertezze . . . . . . . . . . . . . . . . 28 5.4 Stato non misurato in presenza di incertezze . . . . . . . . . . . . . . 30 6 Conclusioni 33 Bibliografia 35
  • 8.
  • 9. 1 Capitolo 1 Introduzione Si consideri un generico robot manipolatore a base fissa con un organo terminale posizionato sulla flangia (link) finale. Il controllo del robot è effettuato in termini di posizione o traiettorie desiderate, sfruttando misurazioni di posizione ottenute da encoder assoluti o sensori di coppia, attraverso ingressi di coppie ai giunti e/o forze applicate. É di interesse gestire il contatto tra l’organo terminale e l’ambiente. Pertanto è chiaro che appare preferibile discutere, all’opposto di quanto detto precedentemente, di un controllo della forza nella direzione interessata dal punto di contatto piuttosto che di un controllo di posizione. 1.1 Introduzione ai sensori di forza Innanzitutto è di interesse prioritario la determinazione le forze applicate dal robot sull’ambiente e viceversa. Per semplicità si consideri di ottenere misurazioni 1 con degli estensimetri (strain gauges), strumenti di piccole dimensioni che rilevano deformazioni di un componente elettrico resistivo posizionato in un circuito elettrico caratterizzato da un ponte di Wheatstone (singolo). All’interno del ponte sono presenti quattro componenti resistivi (Figura 1.2) di cui tre delle quattro resistenze (R1,R2,R3) sono note e ben tarate. La deformazione, al contatto, della resistenza non nota sul ponte di Wheatstone determina una variazione della tensione misurata ai capi delle resistenze, dalla quale se ne deduce indirettamente la misurazione della forza. La sensibilità dell’estensimetro è individuata dal gauge factor, dove si indichi con L la lunghezza iniziale del corpo, con R la resistenza iniziale del conduttore e con ∆L e ∆R le rispettive variazioni. Gf = ∆R/R ∆L/L (1.1) Per semplicità di analisi, non si considerino le variazioni di resistenza dovute a incrementi di temperatura. 1 Alternativamente è possibile stimare la forza senza l’uso di sensori di forza (i sensori di forza sono virtuali) analizzando la dinamica del segnale residuo, sfruttando unicamente sensori di coppia e/o posizione.
  • 10. 2 1. Introduzione Figura 1.1. Raffigurazione di uno strain gauge. Figura 1.2. Circuito con singolo ponte di Wheatstone. 1.2 Sensori 6D Molteplici estensimetri montati opportunamente su uno stesso dispositivo conferisco- no ad esso proprietà di misurazione più complete. La trattazione verte su un applicazione degli estensimetri per comporre un sensore propriocettivo 6D di forze e coppie, il quale corrisponde al dispositivo montato tra la flangia finale del robot e l’utensile. La configurazione del sensore a Croce Maltese usufruisce di 8 coppie di strain gauges, montando due coppie, aventi i ponti di Wheatstone adiacenti, per ogni lato. Questa strutturazione permette di misurare forze f e coppie µ lungo le direzioni Cartesiane xyz in un sistema di riferimento solidale al sensore.
  • 11. 1.3 Calibrazione del sensore 3 Figura 1.3. Configurazione a Croce Maltese. 1.3 Calibrazione del sensore Tali sensori devono essere oggetto di un opportuno processo di calibrazione. La procedura prevede una campagna di misure su campioni di massa nota. La stima dei parametri2 avviene registrando l’uscita tramite l’output dei ponti di Wheatstone.          sfx sfy sfz sµx sµy sµz          =          0 0 c13 0 0 0 c17 0 c21 0 0 0 c25 0 0 0 0 c32 0 c34 0 c36 0 c38 0 0 0 c44 0 0 0 c48 0 c52 0 0 0 c57 0 0 c61 0 c63 0 c65 0 c67 0                        w1 w2 w3 w4 w5 w6 w7 w8               (1.2) Nell’equazione matriciale è riportata la relazione tra le forze f e coppie µ nel sistema di riferimento del sensore e l’output dei ponti di Wheatstone wi, {i = 1, .., 8} attraverso la matrice di calibrazione composta dai coefficienti cji, {i = 1, .., 8}, {j = 1, .., 6}. Come è possibile notare non tutte le componenti della matrice sono valori non nulli, questo è derivante dal fatto che nella configurazione a Croce Maltese solo alcune coppie di estensimetri sono rilevanti nella misurazione delle forze o coppie che agiscono lungo una direzione specifica, pertanto è ragionevole imporre valori nulli (strutturali) per evitare di incorrere in incertezze di misura. 2 La stima viene effettuata con un metodo definito ai minimi quadrati.
  • 12.
  • 13. 5 Capitolo 2 Controllo della forza al contatto 2.1 Cambio di sistema di riferimento Con riferimento alla Sezione 1.2, le misurazioni effettuate dal sensore di forza sono chiaramente riferite alla terna di assi Cartesiani solidale al sensore (si definiscano con apice s). Tale sistema, tuttavia, non rappresenta le forze e le coppie che agiscono nel punto di contatto (si definiscano con apice c). È necessario, dunque, applicare una trasformazione tale che permetta il cambio di coordinate dal sistema di riferimento del sensore al sistema di riferimento del punto di contatto. " cfc cµc # = " cRs 0 S(crcs)cRs cRs # " sfs sµs # (2.1) L’operatore di trasformazione di coordinate è una matrice di rotazione strutturata a blocchi cJs o equivalentemente1 sJT c . Ridefinendo quindi la (2.1): " cfc cµc # = s JT c " sfs sµs # (2.2) È interessante notare come le forze nel sistema di riferimento di contatto corrispon- dono esattamente alle forze nel sistema di riferimento del sensore ruotate secondo la matrice di rotazione cRs. Le forze applicate nel sistema di riferimento del sensore tuttavia, se viste dal sistema di riferimento del contatto, generano dei momenti meccanici. Dunque le coppie nel sistema di riferimento di contatto pertanto sono combinazione lineare tra le coppie nel sistema di riferimento del sensore ruotate e le forze, anch’esse ruotate, a cui è applicata una trasformazione definita dalla matrice antisimmetrica (presente nella (2.1)). S(c rcs) =    0 −crcsz crcsy crcsz 0 −crcsx −crcsy crcsx 0    (2.3) dove crcs è il vettore delle coordinate Cartesiane del sistema di riferimento del sensore riportate nel sistema di riferimento del contatto. 1 Per proprietà delle matrici di rotazione, appartenenti allo Special Orthonormal (SO) group.
  • 14. 6 2. Controllo della forza al contatto Inoltre si assuma che F = " f µ # , V = " v ω # e che il prodotto FT V sia invariante rispetto alla terna di riferimento. Si consideri end-effector e workpiece come un unico corpo rigido, allora in tale sistema le velocità sono legate dalla relazione: " svs sωs # = " sRc sRcS(crcs) 0 sRc # " cvc cωc # = s Jc c Vc (2.4) 2.2 Effetto della forza applicata all’ambiente Si consideri come obiettivo quello di definire la forza F applicata all’ambiente come coppia applicata ai giunti del robot, ai fini di definire un modello dinamico2 avente tale quantità tra le coppie non conservative che agiscono sul sistema. Per convenzione si assumano le forze generalizzate applicate sul robot come positive, negative se invece applicate dal robot (all’ambiente). Si sfrutta il principio dei lavori virtuali applicato su un robot con catena cinematica aperta. Definendo le quantità infinitesime: F = " f µ # δr = " δp δϕ # = J(q)δq δq =    δq1 . . . δqn    u =    u1 . . . un    (2.5) In condizioni statiche, secondo il principio dei lavori virtuali, la somma dei lavori virtuali delle forze è nullo nell’insieme degli spostamenti virtuali. − FT δr + uT δq = 0 (−FT J(q) + uT )δq = 0 (2.6) Imponendo l’equazione ∀δq: ⇒ u = JT (q)F (2.7) Si conclude, quindi, che la coppia avvertita sui giunti del robot corrisponde alla forza F, che esso applica all’ambiente, a cui è applicata una trasformazione di coordinate mediante un opportuno operatore lineare (Jacobiano) JT . 2 Il modello dinamico del robot si tratterà nella Sezione 2.3.
  • 15. 2.3 Linearizzazione del modello dinamico 7 2.3 Linearizzazione del modello dinamico L’obiettivo di linearizzazione e semplificazione del modello è raggiunto tramite un opportuno ingresso u in Feedback non-lineare. Il modello dinamico, nello spazio dei giunti, è ottenibile da una valutazione di carattere energetico del sistema robot, sfruttando un approccio Lagrangiano. I termini conservativi sono costituiti da una matrice delle inerzie M(q), sempre invertibile per definizione, forze di Coriolis e centrifughe c(q, q̇) e termini gravitazionali g(q). Certamente le forze di contatto tradotte in coppie al giunto JT (q) e l’ingresso u appartengono, invece, ai termini non conservativi che compongono il modello. Si fa notare che la matrice Jacobiana J(q) presenta delle singolarità, dunque non è sempre invertibile. M(q)q̈ + c(q, q̇) + g(q) = u + JT (q)Fc (2.8) Si assuma che il modello appena definito è fortemente non-lineare e accoppiato, pertanto si desidera un Feedback che semplifichi la trattazione del controllo della forza al contatto. Il Feedback è progettato seguendo il metodo per inversione, dunque occorre ottenere l’ingresso u in funzione dell’uscita y o delle sue derivate. Si consideri di avere un controllo nello spazio del compito, da cui l’uscita nello spazio Cartesiano risulta essere: y = r = f(q). Derivando la prima volta si ottiene ẏ = J(q)q̇, pertanto occorre derivare nuovamente l’uscita: ÿ = J(q)q̈ + ˙ J(q)q̇ = J(q)M−1 (q)[u + JT (q)Fc − c(q, q̇) − g(q)] + ˙ J(q)q̇ (2.9) La variabile di controllo u deve garantire il disaccoppiamento tra gli effetti dei giunti e le forze Cartesiane applicate sull’organo terminale. Si è affermato che la matrice J(q) non è sempre invertibile, da cui si noti che la suddetta implementazione è valida limitatamente al di fuori delle singolarità della Jacobiana. Da cui per inversione ingresso-uscita: u = M(q)J−1 (q)[a − ˙ J(q)q̇] + c(q, q̇) + g(q) − JT (q)Fc (2.10) Ottenendo infine: ÿ = r̈ = a (2.11) dove a è una accelerazione Cartesiana necessaria per stabilizzare l’errore di traiettoria, definibile come: a = r̈d + KD(q̇d − q̇) + KP (qd − q) (2.12) 2.4 Modello nella direzione del contatto Le direzioni Cartesiane di moto libero e del contatto ambientale sono individuate dagli assi di un task frame. A valle della trattazione nella Sezione 2.3, nelle direzioni libere l’azione di controllo r̈i = ai è un’accelerazione Cartesiana che sintetizza il controllo di posizione. Nella direzione di contatto, ovvero il caso di interesse, si deduce un modello fisico unidirezionale, semplificato, composto da masse, molle e smorzatori. Quattro modelli dinamici di diversa complessità sono rappresentativi del sistema e differiscono tra
  • 16. 8 2. Controllo della forza al contatto loro in rigidezza e in cedevolezza del robot e/o dell’ambiente. Sperimentalmente si è verificata la presenza di un’instabilità nella regolazione della forza per guadagni elevati. Tra i casi che risentono della suddetta instabilità vi sono i due sistemi modellati con una cedevolezza del robot, causa scatenante del problema indipendentemente dalla modellazione dell’ambiente. In seguito a quest’osservazione si consideri di trattare il modello meno complesso, costituito dal robot cedevole e l’ambiente rigido. Figura 2.1. Rappresentazione grafica del modello fisico. Ai fini di considerare la cedevolezza del robot la massa del robot è decomposta in una coppia di masse in oscillazione. Rispettivamente da sinistra a destra, la prima rappresenta la massa associata al lato motore, su di essa agisce la forza in ingresso F ed è connessa, attraverso un coefficiente elastico ke (finito), alla seconda massa, che dunque esprime la massa del resto del robot. Tra quest’ultima e l’ambiente infinitamente rigido è montato un sensore di forza con un coefficiente di deformazione3 ks. L’uscita misurata è la forza di contatto Fc ottenuta dal prodotto xreks. Si assuma che nel sistema di riferimento considerato, la posizione delle due masse a riposo (in figura) sia nulla, inoltre si noti che xre = 0 implica che il robot sia comunque in contatto ma con una forza misurata Fc nulla. Dal momento che si intende evitare fenomeni di chattering, si ponga il seguente vincolo xre ≥ 0, dunque il robot permane in contatto con l’ambiente. Si includono sempre sufficienti smorzamenti, impattanti sulle velocità delle due masse, in modo da evitare fenomeni discontinui. Si noti inoltre la non collocazione tra ingresso di controllo F e uscita misurata Fc. Le equazioni di Newton associate alle due masse risultano, dunque, essere: mrmẍrm + brmẋrm + bre(ẋrm − ẋre) + ke(xrm − xre) = F mreẍre + bre(ẋre − ẋrm) + bsẋre + ke(xre − xrm) + ksxre = 0 (2.13) Mentre l’uscita misurata è stata definita precedentemente: Fc = xreks (2.14) 3 Sensore costituito da estensimetri, la deformazione dei quali è necessaria per la misurazione della forza, (Sezione 1.2).
  • 17. 9 Capitolo 3 Regolazione della forza al contatto 3.1 Processo nel dominio di Laplace Si consideri il modello in Figura 2.1. Innanzitutto, per svolgere un’analisi delle caratteristiche del processo, si passi al dominio di Laplace dalle equazioni (2.13) e ordinando in forma matriciale si ottiene: " s2mrm + s(brm + bre) + ke −(sbre + ke) −(sbrm + ke) s2mre + s(bre + bs) + ke + ks # " Xrm Xre # = " F 0 # (3.1) da cui, andando a valutare Xre in funzione di F. Xre = sbre + ke s4a4 + s3a3 + s2a2 + sa1 + a0 F (3.2) a4 = mremrm a3 = bremre + bremrm + brmmre + bsmrm a2 = brebrm + brebs + brmbs + kemre + kemrm + ksmrm a1 = brmke + bske + breks + brmks a0 = keks (3.3) Si estrapola la forza misurata dal sensore nota dalla (2.14), in modo da calcolare la funzione di trasferimento del processo. P(s) = Fc F = ks(sbre + ke) s4a4 + s3a3 + s2a2 + sa1 + a0 (3.4) Si definisca l’ingresso di riferimento di forza Fd come un riferimento costante nel tempo. Ovviamente la frequenza di un segnale costante è nulla, pertanto si valuti la funzione di trasferimento del processo P(jω) calcolata in ω = 0, ovvero il guadagno. P(jω)|ω=0 = P(0) = 1 (3.5)
  • 18. 10 3. Regolazione della forza al contatto Figura 3.1. Diagramma a blocchi del sistema open-loop. Il guadagno del sistema open-loop risulta essere unitario, dunque per ogni in- gresso costante la risposta a regime si assesterà al valore in ingresso (Figura 3.2). L’affermazione precedente è corretta se e solo se si considerano condizioni ideali, in cui il sistema è privo di incertezze. Difatti il sistema open-loop si definisce non robusto rispetto a incertezze. Per sopperire a questa mancanza è necessario inserire un Feedback che stabilizzi l’errore di regolazione Fd(t) − Fc(t) con un controllo proporzionale, di cui un guadagno kp. Figura 3.2. Simulazione MATLAB del sistema open-loop con Fd = 10. 3.2 Problema del controllo Proporzionale Si giunge da uno schema di controllo open-loop a uno closed-loop. Nella configurazione in catena chiusa il sensore di forza è funzionale alla misurazione della forza Fc in uscita per il calcolo dell’errore tra quest’ultima e la forza di riferimento. La sintesi del controllore proporzionale verte sul suddetto errore, che per segnali costanti in ingresso è definito errore di regolazione Fd(t) − Fc(t) e su un guadagno kp, parametro su cui "fare tuning". Figura 3.3. Diagramma a blocchi del sistema closed-loop con Proporzionale.
  • 19. 3.2 Problema del controllo Proporzionale 11 In virtù di queste considerazioni è opportuno calcolare la funzione di trasferimento ingresso-errore. e(s) = Fd(s) − Fc(s) (3.6) e(s) Fd(s) = We(s) = 1 1 + kpP(s) (3.7) Definendo Dp il denominatore della (3.2) e considerando i coefficienti della (3.3), si esplicita: We(s) = Dp s4a4 + s3a3 + s2a2 + sa1 + keks(1 + kp) (3.8) Analogamente a quanto detto nella Sezione 3.1, si valuti il guadagno della funzione di trasferimento: We(jω)|ω=0 = We(0) = 1 1 + kp (3.9) Si nota che, per ingressi costanti, l’errore a regime non può essere annullato con il solo uso del controllo proporzionale. Figura 3.4. Simulazione MATLAB del sistema closed-loop con Fd = 10 e kp = 1.5. Tuttavia con guadagni proporzionali molto elevati può essere fortemente ridotto per diventare quasi nullo. Si definisca, quindi, il problema di controllo di determinare un alto guadagno che permetta di ridurre notevolmente l’errore, con i dati seguenti: mrm = 5kg; mre = 5kg; ke = 250N/m; ks = 100N/m; brm = 20kg/s; bre = 20kg/s; bs = 10kg/s. P(s) = 2000s + 25000 25s4 + 350s3 + 3800s2 + 11500s + 25000 (3.10) Tracciando il luogo delle radici (Figura 3.5) per il sistema in catena aperta, con funzione trasferimento F(s) = kpP(s), al variare del parametro kp incognito: Come si evince dal plot, in corrispondenza del valore kp = 4.58 le radici intersecano l’asse immaginario. Ciò implica che quel valore di kp è un valore limite per cui: ∀kp > k̄p = 4.58 (3.11) Il sistema perde stabilità a causa di poli a parte reale positiva, dal momento che la condizione necessaria per la stabilità secondo Routh non è più verificata. In Figura 3.6 è riportato un plot dell’uscita del sistema con un valore kp = 4.5 molto
  • 20. 12 3. Regolazione della forza al contatto vicino al k̄p critico. Come prevedibile le oscillazioni prendono il sopravvento e continuano a essere presenti permanentemente a regime. Se invece si fosse scelto un kp > k̄p ovviamente l’uscita sarebbe stata divergente a causa dell’instabilità del sistema. La causa fisica dell’instabilità consiste nella non collocazione ingresso-uscita nel modello trattato. Le soluzioni distinte al problema sono: la sintesi di un controllore Proporzionale-Integrale oppure l’implementazione di un’azione di controllo in Feedforward in supporto all’azione proporzionale. Figura 3.5. Luogo delle radici qualitativo, usando il comando MATLAB rlocusplot. Figura 3.6. Simulazione MATLAB del sistema closed-loop con Fd = 10 e kp = 4.5. Tuttavia sarebbe possibile compensare il fenomeno di instabilità per guadagni non molto elevati con una rete anticipatrice, definendo G(s) la funzione di trasferimento del controllore. G(s) = k b a s + a s + b (3.12) L’effetto della rete compensatrice anticipatrice si riflette nell’ampliamento del dominio di stabilità del guadagno k e, pertanto, nel miglioramento delle prestazioni transitorie.
  • 21. 3.3 Controllore Proporzionale-Integrale 13 3.3 Controllore Proporzionale-Integrale L’azione integrale produce un comando non nullo anche quando l’errore e(t) = Fd(t) − Fc(t) è pari a zero. Il controllore Proporzionale-Integrale (PI) introduce un polo in zero in catena aperta e un ulteriore parametro: ki = kp/Ti dove Ti è il tempo di integrazione. Al variare del tempo di integrazione variano le prestazioni dell’uscita ma anche i margini di stabilità del sistema; più precisamente, diminuendo Ti l’effetto del termine integrale è più rapido ma il sistema rischia di andare l’instabilità, si veda Figura 3.7. Dunque è molto rilevante scegliere un tempo di integrazione opportuno, ovvero tale da avere un tradeoff accettabile. Nel caso specifico di questo progetto è stato scelto Ti = 1 2. Figura 3.7. Luogo delle radici qualitativo fissato Ti = 1/2. Figura 3.8. Diagramma a blocchi del sistema closed-loop con Proporzionale-Integrale. Comparando questo caso al precedente con solo l’azione proporzionale, si calcoli la funzione di trasferimento ingresso-errore ricordando la (3.6) e il denominatore della (3.2). e(s) Fd(s) = We(s) = 1 1 + kps+ki s P(s) We(s) = sDp s5c5 + s4c4 + s3c3 + s2c2 + sc1 + c0 (3.13)
  • 22. 14 3. Regolazione della forza al contatto I coefficienti ci, i = 0, .., 5 non sono esplicitati in quanto non sono di interesse ai fini dei calcoli1. Da cui la funzione di trasferimento calcolata per riferimenti costanti: We(jω)|ω=0 = We(0) = 0 (3.14) Dunque l’azione integrale porta al soddisfacimento della specifica di errore nullo a regime. Inoltre, come si vedrà in seguito, il polo nell’origine del piano complesso, posto nella catena aperta, rende il sistema astatico, quindi permette la reiezione a regime per disturbi costanti, fornendo robustezza al sistema. Difatti, ispezionando i diagrammi di Bode in Figura 3.9 relativi alla funzione di trasferimento dell’errore, si evince che i segnali a basse frequenze vengono fortemente attenuati, mentre i segnali ad alta frequenza passano inalterati. |We(jω)| = 1 We(jω) = 0 (3.15) Figura 3.9. Diagrammi di Bode (Modulo in alto, Fase in basso). Figura 3.10. Simulazione MATLAB del sistema closed-loop con Fd = 10, kp = 1.5, ki = 3. 1 Della We(0).
  • 23. 3.4 Controllore Proporzionale e Feedforward 15 3.4 Controllore Proporzionale e Feedforward Si decide di implementare, in alternativa all’azione integrale, un controllo aggiuntivo tramite uso del Feedforward, la cui uscita si somma all’uscita del controllore Propor- zionale, costituendo l’ingresso u, di controllo, al processo. Il Feedforward, che si tratterà, consiste in un comando open-loop basato sul prin- cipio di inversione ingresso-uscita del modello dinamico del processo. Condizione necessaria per la realizzazione del comando è che la funzione di trasferimento del processo inversa sia asintoticamente stabile, sebbene non causale, ovvero il processo deve avere zeri a fase minima oppure non averne. La non causalità è giustificata dall’andamento completo del riferimento noto a priori. Figura 3.11. Diagramma a blocchi del sistema closed-loop con Proporzionale e Feedforward. L’obiettivo, come nel caso visto precedentemente, è ottenere uno schema di controllo con una funzione di trasferimento dell’errore nulla a regime permanente. e(s) = Fd(s) − P(s)[P− 1(s)Fd(s) + kpe(s)] ⇒ e(s) = 0 ⇒ We(s) = 0 (3.16) Consapevoli di tale risultato si considera il calcolo analitico dell’ingresso di Feedfor- ward. I coefficienti corrispondono alla (3.3). Fc,d(s) = P(s)Fd(s) (s4 a4 + s3 a3 + s2 a2 + sa1 + a0)Fc,d(s) = (sbre + ke)Fd(s) (3.17) Dal dominio di Laplace si passi al dominio del tempo antitrasformando le trasformate. a4F (4) c,d (t)+a3F (3) c,d (t)+a2F̈c,d(t)+a1Ḟc,d(t)+a0Fc,d(t) = breḞd(t)+keFd(t) (3.18) Si noti come nel caso di regolazione, dovendo riprodurre a regime un valore costante, tutte le derivate Fc,d(t) sono nulle, dunque si definisce: ud(t) = a4F (4) c,d (t) + a3F (3) c,d (t) + a2F̈c,d(t) + a1Ḟc,d(t) + a0Fc,d(t) ud = Fc (3.19) Il numeratore della P(s) non è costante, pertanto, antitrasformando, il comando inverso Fd(t) viene derivato rispetto al tempo. Questo comporta che il calcolo
  • 24. 16 3. Regolazione della forza al contatto richiede un sistema dinamico. La rappresentazione con lo spazio di stato si ottiene attraverso una realizzazione della funzione di trasferimento G(s) = 1 sbre+ke . z(0) = 0 ż(t) = − ke bre z(t) + 1 bre ud(t) y(t) = Fd(t) = 1 ks z(t) (3.20) Figura 3.12. Simulazione MATLAB del sistema closed-loop con Fd = 10, kp = 1.5 e Feedforward.
  • 25. 17 Capitolo 4 Asservimento della forza al contatto e robustezza del modello 4.1 Forze non costanti nel tempo La trattazione nel Capitolo 3 si è attenuta a riferimenti di forza costanti da replicare in uscita. Bensì differente, ma con princìpi simili a quelli già enunciati, è il controllo per riferimenti variabili nel tempo, questi estendono a tutti gli effetti le forze di riferimento prese in esame precedentemente. Per evitare di incorrere in fenomeni di nonlinearità, dovuti alle saturazioni degli attuatori, si trascurino riferimenti polinomiali divergenti. I riferimenti presi in considerazione, nelle simulazioni che seguiranno, sono caratterizzati da funzioni sinusoidali. (a) Una semplice funzione sinusoidale Fd = sin(ωt). (b) Una funzione più complessa Fd = atan(sin(ωt)ωt). Figura 4.1. Riferimenti Fd variabili nel tempo.
  • 26. 18 4. Asservimento della forza al contatto e robustezza del modello Si riconsideri lo schema di controllo in Figura 3.8. Un controllore Proporzionale- Integrale non è sufficiente per riflettere esattamente l’ingresso di forza desiderata in uscita, poichè l’azione integrale, accumulando la storia dell’errore, riesce a com- pensare solo parzialmente lo scostamento dalla traiettoria della forza di riferimento, indipendentemente dal tuning dei parametri kp e ki. Con un tuning opportuno questo effetto è ridotto, sebbene venga mantenuto un errore di ampiezza e fase per il riferimento in questione, dunque l’uscita non riesce a replicare il riferimento di forza non costante (Figura 4.2). In corrispondenza di riferimenti variabili è necessario ricondursi a un controllo con Feedforward e azione proporzionale (Figura 4.6). Si ricordi la (3.18), per riprodurre una forza di riferimento che ammetta la derivata quarta si definisca: ud(t) = a4F (4) c,d (t) + a3F (3) c,d (t) + a2F̈c,d(t) + a1Ḟc,d(t) + a0Fc,d(t) (4.1) Si noti che adesso ud(t) non è solo una costante ma è un valore numerico che dipende dal tempo, più precisamente dalla combinazione lineare delle derivate (fino alla quarta) della forza di riferimento con i loro coefficienti. Essendo l’andamento nel tempo del riferimento noto, i valori a destra della (3.19) sono valori calcolabili semplicemente derivando il riferimento per cui si ridefinisce ud(t) . A seguito di questa precisazione, le differenze con il caso particolare della regolazione1 sono terminate, pertanto l’implementazione avviene introducendo il sistema dinamico della (3.20). Qui riportati alcuni plot di riferimenti caratterizzati da funzioni del tempo. (a) Fd = sin(ωt). (b) Fd = atan(sin(ωt)ωt). Figura 4.2. Simulazioni MATLAB del sistema closed-loop con kp = 1.5 e ki = 3. 1 Problema di asservimento con riferimento costante.
  • 27. 4.1 Forze non costanti nel tempo 19 (a) Fd = sin(ωt). (b) Fd = atan(sin(ωt)ωt). Figura 4.3. Simulazioni MATLAB del sistema closed-loop con kp = 1.5 e Feedforward. (a) Fd = sin(ωt). (b) Fd = atan(sin(ωt)ωt). Figura 4.4. Simulazioni MATLAB del sistema closed-loop con un disturbo d = 2 con kp = 1.5 e Feedforward. Si nota che il Feedforward, a differenza del PI, riesce perfettamente nel compito di allineare la traiettoria dell’uscita a quella del riferimento se e solo se non ci sono incertezze che interferiscono con il modello sul quale si è calcolato il Feedforward.
  • 28. 20 4. Asservimento della forza al contatto e robustezza del modello 4.2 Incertezze come disturbi costanti Un disturbo che agisce sul sistema non può essere compensato, a meno che non sia conosciuto, dal comando di Feedforward, calcolato a monte sulla base dei dati del processo acquisiti in condizioni nominali. D’altra parte, ricordandosi di come annunciato nella Sezione 3.3, il sistema PI ha la proprietà di essere astatico grazie al polo in zero presente sulla catena diretta. Questa caratteristica si evince anche dal plot seguente, il quale riprende il problema di regolazione, in cui è stato applicato un disturbo costante nel tempo d agente sugli attuatori. Figura 4.5. Simulazione MATLAB con disturbo d = 2, Fd = 10, kp = 1.5 e ki = 3. Si è, dunque, verificato che il controllo con il termine integrale permette la reiezione a disturbi costanti. Pertanto sorge quasi spontanea l’idea di combinare le due azioni di controllo affinchè possano essere compensate delle incertezze dall’azione integrale, in questo caso modellate come disturbi costanti, mantenendo, tuttavia, il comando persistente in Feedforward capace di allineare l’uscita al riferimento. Figura 4.6. Diagramma a blocchi del sistema closed-loop con Proporzionale-Integrale e Feedforward.
  • 29. 4.2 Incertezze come disturbi costanti 21 (a) Fd = sin(ωt). (b) Fd = atan(sin(ωt)ωt). Figura 4.7. Simulazioni MATLAB del sistema closed-loop con un disturbo d = 2 con kp = 1.5, ki = 3 e Feedforward. Come si evince dai grafici, in seguito a un transitorio più marcato, in cui viene accumulato e compensato l’errore dall’azione integrale, il Feedforward permette il matching dell’andamento del uscita con quello del riferimento. Dunque i risultati rispecchiano la specifica di asservimento richiesta.
  • 30.
  • 31. 23 Capitolo 5 Regolazione della forza al contatto nello spazio di stato 5.1 Stato misurato in assenza di incertezze A fronte dei risultati ottenuti nel Capitolo 3, si desidera migliorare quelle che sono state le prestazioni transitorie dell’uscita di forza (del robot) misurata dal sensore rispetto a una forza di riferimento costante Fd. L’approccio che si tratterà consiste nel risolvere il problema di regolazione con un controllo nel dominio del tempo. Si assuma, in prima ipotesi, lo stato misurato. Si definisca una rappresentazione con lo spazio di stato del sistema lineare tempo invariante. ẋ(t) = Ax(t) + Bu(t) y(t) = Cx(t) + Du(t) (5.1) Di cui le matrici che caratterizzano la rappresentazione sono ottenute dalla (2.13). A =      0 0 1 0 0 0 0 1 − ke mrm ke mrm −bre+brm mrm bre mrm ke mre −ke+ks mre bre mre −bre+bs mre      B =      0 0 1 mrm 0      C = h 0 ks 0 0 i D = 0 (5.2) La matrice dinamica caratterizza l’evoluzione libera del sistema ed essendo l’evolu- zione libera del sistema fisico tendente, nel tempo, a una condizione di equilibrio statica1 allora anche l’evoluzione del sistema tende a non divergere, pertanto gli 1 Questo è dovuto dagli attriti viscosi che non permettono la conservazione dell’energia, la quale fuoriesce dal sistema in quanto vi è dissipazione di potenza, e dunque a ogni oscillazione l’energia cinetica e potenziale decrementa fino a raggiungere energia nulla.
  • 32. 24 5. Regolazione della forza al contatto nello spazio di stato autovalori della matrice dinamica A sono tutti a parte reale negativa. Tuttavia è di interesse comprendere come è possibile modificare la dinamica del suddetto sistema affinchè l’evoluzione libera si esaurisca più rapidamente. Si noti che, grazie allo stato misurato, la dinamica del sistema è manipolabile, ovve- ro gli autovalori della matrice dinamica possono essere assegnati arbitrariamente, attraverso una controreazione dallo stato K (Figura 5.1) se e solo se il problema dell’assegnazione degli autovalori è risolvibile. Condizione necessaria e sufficiente per tale problema, è che il sistema sia totalmente raggiungibile. rank(R) = rank h B AB A2B A3B i = 4 (5.3) Nel caso particolare delle matrici dello spazio di stato definite nella (5.2) risulta essere verificata, dunque si procede seguendo lo schema di controllo a retroazione dallo stato. Figura 5.1. Diagramma a blocchi del sistema con retroazione dallo stato. Si evince l’ingresso u(t) al processo nella (5.1). u(t) = Kx(t) + γFd (5.4) Per il soddisfacimento della richiesta di riduzione del transitorio si assegnino gli autovalori della nuova matrice dinamica A + BK di modo che siano arbitrariamente più negativi di quelli della matrice A. Il vettore K si ottiene tramite l’uso della formula di Ackermann. Dalla (5.3) si deduce che la matrice di raggiungibilità è invertibile. β = h 0 0 0 1 i R−1 (5.5) Una opportuna scelta degli autovalori è definita dal polinomio caratteristico deside- rato: p∗ (λ) = (λ + 7)4 (5.6) Da cui, applicando la formula, dove p∗(A) è il polinomio caratteristico desiderato calcolato in A. K = −βp∗ (A) (5.7) Grazie a questa retroazione statica tutti i poli del sistema si trovano in -72. A seguito dei cambiamenti apportati non si intende tralasciare la specifica di rego- lazione, la quale è soddisfatta se e solo se il sistema è di tipo 1 ⇒ W(0) = 0, dove 2 Si è optato per una scelta di autovalori coincidenti dal momento che il transitorio è dettato dal polo più lento.
  • 33. 5.2 Stato non misurato in assenza di incertezze 25 W(s) è la funzione di trasferimento tra Fd e y = Fc. W(s) = γC(sI − A − BK)−1 B (5.8) Per soddisfare la specifica citata si calcoli il valore numerico di γ imponendo: W(0) = −γC(A + BK)−1 B = 1 ⇒ γ = − 1 C(A + BK)−1B (5.9) Figura 5.2. Simulazione MATLAB con Fd = 10 e autovalori assegati tutti in −4. Dalla simulazione MATLAB si riscontra un dimezzamento del tempo di asse- stamento al valore di regime rispetto ai risultati prestazionali mostrati nei plot del Capitolo 3. 5.2 Stato non misurato in assenza di incertezze Nel caso precedente si è ipotizzata la disponibilità di una misurazione dello stato. Ciò non è sempre possibile, per cui al posto della misura dello stato si ricorre a una stima dello stato. Dal momento che il sistema è lineare, è valido il principio di separazione, per cui il problema dell’osservatore è risolvibile indipendentemente dal problema di assegnazione degli autovalori. Lo scopo del ricostruttore/osservatore asintotico dello stato è di avere a disposizione una stima dello stato x̂(t) che tenda allo stato effettivo x(t), prendendo in ingresso rispettivamente: l’ingresso u(t) e l’uscita misurata y(t) del processo da cui si desidera stimare lo stato. La totale osservabilità del sistema è condizione necessaria e sufficiente per l’esistenza di un ricostruttore dello stato complessivo. rank(O) = rank      C CA CA2 CA3      = 4 (5.10)
  • 34. 26 5. Regolazione della forza al contatto nello spazio di stato Anche per questo problema, svolgendo i calcoli, la verifica dell’esistenza della soluzione è positiva. Figura 5.3. Diagramma a blocchi del sistema con retroazione dallo stato e ricostruttore dello stato. Si definisca la dinamica dello stato stimato. ˙ x̂(t) = Ax̂(t) + Bu(t) + G[y(t) − Cx̂(t)] = Ax̂(t) + Bu(t) + G[Cx(t) − Cx̂(t)] (5.11) Ricordando ẋ(t) dalla (5.1), si ridefinisca l’ingresso. u(t) = Kx̂(t) + γFd (5.12) Si definisca l’errore di stima e(t) = x(t) − x̂(t), con la consapevolezza di puntare a mandare a zero la sua dinamica, come affermato precedentemente ˙ x̂(t) → ẋ(t) ⇒ ˙ x̂(t) − ẋ(t) → 0. ė(t) = (A − GC)e(t) (5.13) Si noti che l’errore non dipende dall’assegnazione degli autovalori, ma solamente dalla matrice GC che modifica la matrice dinamica dell’errore similmente al caso di assegnazione di autovalori. δ = O−1      0 0 0 1      (5.14) Essendo, nel sistema con stato stimato, il problema di assegnazione dipendente dalla stima dello stato, e non più dallo stato effettivo, è opportuno avere una rapidità di ricostruzione arbitrariamente maggiore di quella dell’assegnazione degli autovalori. Ne segue la scelta del polinomio caratteristico desiderato associato alla dinamica dell’errore: p∗ (λ) = (λ + 11)4 (5.15) Si definisce G applicando la formula di Ackermann. G = p∗ (A)δ (5.16) Tornando nuovamente al problema di regolazione, circa la scelta di γ, si consideri il sistema: ẋ(t) = Ax(t) + BKx̂(t) + BγFd = (A + BK)x(t) − BKe(t) + BγFd ė(t) = (A − GC)e(t) y(t) = Cx(t) (5.17)
  • 35. 5.2 Stato non misurato in assenza di incertezze 27 Si calcoli la funzione di trasferimento come nella (5.9) considerando le matrici dello spazio dello stato z(t) = " x(t) e(t) # . Az = A + BK | −BK 0 | A − GC ! Bz = " B 0 # Cz = h C 0 i (5.18) Si noti che Az è una matrice composta a blocchi, dalla quale si evidenziano gli autovalori del sistema σ(A + BK) e σ(A − GC). L’unione dei due insiemi separati e indipendenti di autovalori σ(A + BK) ∪ σ(A − GC) dimostra la sussistenza del principio di separazione. Tuttavia gli autovalori propri della dinamica dell’osservatore non compaiono nel legame riferimento-uscita. È banale verificare che essi vengono cancellati nel calcolo della funzione di trasferimento riferimento-uscita che si indichi con Wz(s). Wz(s) = Cz(sI − Az)−1 Bz = C(sI − A − BK)−1 B (5.19) Ai fini di una stima dello stato che non si discosti eccessivamente dallo stato effettivo è essenziale che il tale scostamento non sussista neppure tra le condizioni iniziali dello stato e dello stato stimato, pertanto l’errore iniziale sia ragionevolmente piccolo. Per le simulazioni che seguiranno si definiscano tali condizioni iniziali. x0 =      0 0 0 0      x̂0 =      0.1 0.1 0 0      (5.20)
  • 36. 28 5. Regolazione della forza al contatto nello spazio di stato Figura 5.4. Simulazione MATLAB con Fd = 10 e autovalori assegati tutti in −4 in presenza di ricostruttore dello stato con velocità dipendente da autovalori tutti in −11. 5.3 Stato misurato in presenza di incertezze Lo schema di controllo trattato nelle sezioni precedenti di questo Capitolo è stato dimostrato essere efficiente e funzionale per la causa della regolazione se le condizioni di lavoro sono quelle nominali. È di interesse, invece, comprendere quali margini di incertezza possa comprendere per ottenere delle prestazioni soddisfacenti. Si consideri, nuovamente, in prima ipotesi, lo stato misurato e riprendendo la Sezione 5.1 con le conclusioni tratte da essa, si verifica che con una generica perturbazione3 sulle matrici A e/o B e/o C e/o K la specifica per soddisfare l’annullamento dell’errore di regolazione a regime permanente, con γ imposto sulla base delle matrici non perturbate, è estremamente probabile che comporti: W(0) = −γC(A + BK)−1 B ̸= 1 (5.21) La conseguenza risulta essere un errore a regime permanente non nullo. Figura 5.5. Simulazione MATLAB con una generica perturbazione della matrice A, Fd = 10 e autovalori assegati tutti in −4. 3 Nel caso specifico della simulazione che segue si è sommata la quantità ritornata in output dalla funzione rand moltiplicata per un fattore 0.1 (es. A = A + rand(4) ∗ 0.1).
  • 37. 5.3 Stato misurato in presenza di incertezze 29 Questa mancanza di robustezza, enfatizzata soprattutto da grandi incertezze nei parametri, è compensabile modificando lo schema di controllo. In corrispondenza a incertezze è quindi preferibile, se non necessario, avere la presenza di un’azione integrale in catena diretta. Figura 5.6. Diagramma a blocchi del sistema con retroazione dallo stato e un polo nella catena diretta. Si consideri una nuova rappresentazione con lo spazio di stato associata a questo schema. u(t) = Kx(t) + k0w(t) ẋ(t) = Ax(t) + Bu(t) ẇ(t) = −Cx(t) + Fc (5.22) La matrice dinamica del sistema complessivo a anello chiuso è espressa come: " A + BK Bk0 −C 0 # = " A 0 −C 0 # + " B 0 # h K k0 i = Ae + BeKe (5.23) È dimostrabile che se (A, B) è raggiungibile allora lo è anche (Ae, Be). Per cui si calcola Ke = h K k0 i analogamente alla (5.7). Si notino due cose: In primis, la funzione di trasferimento tra w e y corrisponde alla (5.8); In secundis, gli autovalori della matrice dinamica della catena diretta σ(A + BK) non coincidono con quelli assegnati tramite Ke, concludendo che la retroazione dell’anello esterno modifica tali autovalori rendendoli pari a quelli assegnati. Dal grafico della simulazione in Figura 5.7 si evince che grazie a questo schema l’errore a regime viene annullato, pagando il prezzo di un transitorio con oscillazioni più decise e una sovraelongazione maggiore.
  • 38. 30 5. Regolazione della forza al contatto nello spazio di stato Figura 5.7. Simulazione MATLAB con una generica perturbazione della matrice A, Fd = 10 e autovalori assegati tutti in −4. 5.4 Stato non misurato in presenza di incertezze Infine è estendibile la trattazione, anche in questo caso, considerando l’ipotesi di stato non accessibile, quindi si necessita una stima. Come analizzato nella Sezione 5.2, essendo osservabile il sistema del processo è possibile introdurre un ricostruttore dello stato. Figura 5.8. Diagramma a blocchi del sistema con retroazione dallo stato, ricostruttore dello stato e un polo nella catena diretta. Si ridefinisca una rappresentazione con lo spazio di stato. u(t) = K(x(t) − e(t)) + k0w(t) ẋ(t) = Ax(t) + Bu(t) ẇ(t) = −Cx(t) + Fc ė(t) = (A − GC)e(t) (5.24) Nonostante l’estensione dello stato continua a essere preservato il principio di separazione, dimostrato attraverso la struttura a blocchi della matrice dinamica
  • 39. 5.4 Stato non misurato in presenza di incertezze 31 complessiva Ae,z. Ae,z =    A + BK Bk0 | −BK −C 0 | 0 0 0 | A − GC    Be,z =    0 1 0    Ce,z = h C 0 0 i (5.25) Considerando il blocco Ae,z,11 si noti che corrisponde alla (5.23), pertanto il calcolo di Ke, per una stessa assegnazione di autovalori, è del tutto analogo al precedente. D’altra parte circa la velocità di ricostruzione dello stato e il calcolo di G, si considerino i medesimi della (5.15), mentre grazie alla (5.16) si ottiene G. Circa le condizioni iniziali si faccia riferimento alla (5.20). Dal momento che l’osservatore è posizionato sul ramo interno di reazione, si ha una cancellazione tra gli zeri del compensatore e gli autovalori imposti alla dinamica dell’errore di osservazione, analogamente alle considerazioni fatte per la (5.19), escludendo tali autovalori dal legame riferimento-uscita We,z(s). Figura 5.9. Simulazione MATLAB con una generica perturbazione della matrice A, Fd = 10 e autovalori assegati tutti in −4 in presenza di ricostruttore dello stato con velocità dipendente da autovalori tutti in −11.
  • 40.
  • 41. 33 Capitolo 6 Conclusioni In conclusione si è visto che il controllo della forza tra robot e ambiente è dipendente dalle condizioni di lavoro, tra cui si può differenziare: regolazione o asservimento della forza al contatto, in presenza o in assenza di incertezze. La regolazione in catena aperta non è affatto robusta rispetto a incertezze, pertanto si predilige un controllo PI per la compensazione delle stesse. In alternativa, la regolazione closed-loop, è trattabile con un Feedforward in aggiunta all’azione pro- porzionale. Il comando di Feedforward risulta essere, d’altra parte, fondamentale per permettere di seguire un riferimento variabile nel tempo. La combinazione di PI e Feedforward per il caso di asservimento è computazional- mente più complessa ma allo stesso tempo più completa in quanto, anche in presenza di disturbi costanti, sebbene vengano intaccate le prestazioni transitorie, i risultati a regime permanente sono pienamente soddisfacenti. Infine si è voltato lo sguardo verso un miglioramento prestazionale della risposta transitoria del sistema. Si è visto come l’assegnazione arbitraria degli autovalori modificasse notevolmente tali risultati. Circa gli autovalori, sono stati assegnati con un occhio di riguardo all’implementazione fisica degli attuatori, in maniera tale da sollecitarli con uno sforzo di controllo opportuno. Ciononostante si è supposto di essere in punti di lavoro meno ideali modificando lo schema di controllo. Si è assicurato l’astatismo, per garantire robustezza rispetto a incertezze parametriche, e si è stimato lo stato attraverso un ricostruttore, invece di richiedere una stima dello stesso.
  • 42.
  • 43. 35 Bibliografia [1] A. Cristofaro, “Sensori”, Dispensa di Laboratorio di Automatica, Sapienza, 2022. [2] A. De Luca, “Breve introduzione alla robotica”, Parte 3-4, Dispensa di Applicazioni dell’Automatica, Sapienza, 2022. [3] A. De Luca, “Cartesian control”,“Environment interaction”, Dispensa di Robotics 2, Sapienza, 2020. http://www.diag.uniroma1.it/deluca/rob2_en/13_CartesianControl.pdf http://www.diag.uniroma1.it/deluca/rob2_en/14_EnvironmentInteraction.pdf [4] A. Isidori, “Sistemi di Controllo”, Vol. 2, Siderea, 1993. [5] L. Lanari, G. Oriolo, “Controlli automatici, Esecrizi di Sintesi”,Cap. 4, EURoma, 1997. [6] M. Mattioni, “Controllo d’assetto”, Dispensa di Applicazioni dell’Automatica, Sapienza, 2022.