Italian:
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.
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
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.