Il 0% ha trovato utile questo documento (0 voti)
11 visualizzazioni33 pagine

Controllo Di Un Manipolatore Seriale RRRRRR Completamente Attuato

Il documento tratta il controllo di un manipolatore seriale RRRRRR completamente attuato, analizzando vari metodi di controllo cinematico e dinamico, inclusi controllori PD, computed torque e backstepping. Vengono presentate simulazioni per il controllo di postura e l'inseguimento di traiettorie, utilizzando approcci come il metodo del gradiente e il metodo di Levenberg-Marquardt. Inoltre, il documento include dettagli sulla dinamica del manipolatore e sulle simulazioni delle strategie di controllo in scenari di pick and place.

Caricato da

cemaojun mao
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
11 visualizzazioni33 pagine

Controllo Di Un Manipolatore Seriale RRRRRR Completamente Attuato

Il documento tratta il controllo di un manipolatore seriale RRRRRR completamente attuato, analizzando vari metodi di controllo cinematico e dinamico, inclusi controllori PD, computed torque e backstepping. Vengono presentate simulazioni per il controllo di postura e l'inseguimento di traiettorie, utilizzando approcci come il metodo del gradiente e il metodo di Levenberg-Marquardt. Inoltre, il documento include dettagli sulla dinamica del manipolatore e sulle simulazioni delle strategie di controllo in scenari di pick and place.

Caricato da

cemaojun mao
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd

Controllo di un

manipolatore seriale RRRRRR


completamente attuato
UNIVERSITÀ DI PISA
_______________________

SCUOLA DI INGEGNERIA

DIPARTIMENTO DI
INGEGNERIA
DELL’INFORMAZIONE

Corso di Laurea Magistrale


in Ingegneria Robotica e
dell’Automazione

CONTROLLO DEI ROBOT


Livio Bisogni Anno Accademico 2021-2022
Overview
– Descrizione del manipolatore
– Controllo cinematico
– Sintesi
– Simulazione (Metodo del gradiente — Controllo di postura)
– Simulazione (Metodo di Levenberg-Marquardt — Controllo di postura)
– Simulazione (Metodo di Levenberg-Marquardt — Inseguimento di traiettoria
circolare)

– Controllo dinamico
– Controllore PD
– Sintesi
– Simulazione (Pick and place)

– Controllore computed torque


– Sintesi
– Simulazione (Pick and place)
– Simulazione (Inseguimento di traiettoria circolare)
1/31
Overview
– Controllore backstepping
– Sintesi
– Simulazione (Pick and place)
– Simulazione (Inseguimento di traiettoria circolare)

– Controllo adattivo
– Controllore computed torque adattivo
– Sintesi
– Simulazione (Inseguimento di traiettoria da FFS - Finite Fourier Series)
– Stima dei parametri

– Controllore backstepping adattivo


– Sintesi
– Simulazione (Inseguimento di traiettoria da FFS - Finite Fourier Series)
– Stima dei parametri

2/31
Descrizione del manipolatore
– Manipolatore a 6 giunti rotoidali Puma 560
P. I. Corke and B. Armstrong-Helouvry, "A search for consensus among model parameters reported for the
PUMA 560 robot" Proceedings of the 1994 IEEE International Conference on Robotics and Automation, 1994,
pp. 1608-1613 vol.2, doi: 10.1109/ROBOT.1994.351360.

3/31
Descrizione del manipolatore

– Tabella di Denavit-Hartenberg

Linki 𝒂𝒊 𝜶𝒊 𝒅𝒊 𝜽𝒊

1 0 𝜋⁄2 0 𝑞"
2 0.4318 0 0 𝑞#
3 0.0203 − 𝜋⁄2 0.15005 𝑞$
4 0 𝜋⁄2 0.4318 𝑞%
5 0 − 𝜋⁄2 0 𝑞&
6 0 0 0 𝑞'

4/31
Controllo cinematico
Sintesi
– I metodi di controllo cinematico sfruttano il fatto di poter scegliere il valore della
variabile 𝑢 in:
𝑞̇ = 𝑢
– Il task è di posizionare l’end effector nella posizione e orientazione desiderata:
– 𝜉! (controllo di postura)
– 𝜉! (𝑡) (inseguimento di traiettoria)

– La dimensione del task è pari al numero di giunti del manipolatore (𝑚 = 6 = 𝑛)


– Lo scopo è annullare, rispettivamente:
– l’errore di posizionamento: 𝑒(𝑡) = 𝜉! − 𝜉(𝑡) (controllo di postura)
– l’errore di inseguimento: 𝑒(𝑡) = 𝜉! (𝑡) − 𝜉(𝑡) (inseguimento di traiettoria)

– L’approccio del metodo di Newton-Raphson ha lo svantaggio di essere instabile


nelle configurazioni che rendono singolare il jacobiano 𝐽, per cui qui non verrà
usato:
𝑢 = 𝐽(" 𝑒
5/31
Controllo cinematico
Sintesi
Approcci alternativi (numericamente stabili) qui usati sono:
– Il metodo di discesa del gradiente (steepest descent), per il controllo di postura:
𝑢 = 𝐾𝐽) 𝑒

dove 𝐾 è una matrice definita positiva.


– Il metodo di Levenberg-Marquadt (pseudoinversa smorzata), per
– il controllo di postura:
(" )
𝑢 = 𝐽) 𝐽 + 𝜇* 𝑑𝑖𝑎𝑔 𝐽) 𝐽 𝐽 𝑒
– e l’inseguimento di movimento:
(" )
𝑢 = 𝐽) 𝐽 + 𝜇* 𝑑𝑖𝑎𝑔 𝐽) 𝐽 𝐽 𝜉+̇ + 𝐾𝑒
dove 𝐾 è una matrice definita positiva (ad es. diagonale, per semplicità) e 𝜇* > 0
(il caso 𝜇* = 0 degenera nel metodo della pseudoinversa).

6/31
Controllo cinematico — Metodo del gradiente
Simulazione (Controllo di postura) )
Configurazione desiderata: 𝜉+ = 0.2 0.4 0.6 0 0 0
End-e,ector error
0.6
e1 = 9d;1 ! 91
Translation Error [m]

e1 = 9d;2 ! 92
0.4
e3 = 9d;3 ! 93

0.2

-0.2

-0.4
0 10 20 30 40 50 60
t [s]

0.8
e4 = 9d;4 ! 94
Rotation Error [rad]

0.6
e5 = 9d;5 ! 95
0.4 e6 = 9d;6 ! 96

0.2

-0.2

-0.4

-0.6

-0.8
0 10 20 30 40 50 60
7/31
t [s]
Controllo cinematico — Metodo di Levenberg-Marquardt
Simulazione (Controllo di postura) )
Configurazione desiderata: 𝜉+ = 0.2 0.4 0.6 0 0 0
End-e,ector error
0.6
e1 = 9d;1 ! 91
Translation Error [m]

e1 = 9d;2 ! 92
0.4
e3 = 9d;3 ! 93

0.2

-0.2

-0.4
0 2 4 6 8 10 12 14 16 18 20
t [s]

1
e4 = 9d;4 ! 94
Rotation Error [rad]

0.8 e5 = 9d;5 ! 95
e6 = 9d;6 ! 96
0.6

0.4

0.2

-0.2

-0.4
0 2 4 6 8 10 12 14 16 18 20
8/31
t [s]
Controllo cinematico — Metodo di Levenberg-Marquardt
Simulazione (Inseguimento di traiettoria circolare) )
! # ! ! #
Configurazione desiderata: 𝜉+ (𝑡) = "
sin 𝑡$ " "
cos 𝑡$
0 0 0
End-e,ector error
0.8
e1 = 9d;1 ! 91
Translation Error [m]

0.6 e1 = 9d;2 ! 92
e3 = 9d;3 ! 93
0.4

0.2

-0.2

-0.4

-0.6
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
t [s]

1
e4 = 9d;4 ! 94
Rotation Error [rad]

0.8 e5 = 9d;5 ! 95
e6 = 9d;6 ! 96
0.6

0.4

0.2

-0.2
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
9/31
t [s]
Controllo dinamico
– Si basa sull’equazione dinamica:
𝑀 𝑞 𝑞̈ + 𝐶 𝑞, 𝑞̇ 𝑞̇ + 𝐺 𝑞 = 𝜏

Dove:
– 𝑞: vettore degli angoli di giunto del seriale
– 𝑀 𝑞 : matrice di inerzia
– 𝐶 𝑞, 𝑞̇ : matrice delle forze centrifughe e di Coriolis
– 𝐺 𝑞 : matrice dei termini gravitazionali
– 𝜏: vettore delle forze generalizzate

– Le forze generalizzate 𝜏 sono legate alle forze sugli attuatori 𝑓 dalla seguente
equazione lineare:
𝜏=𝐹 𝑞 𝑓
– Il numero di attuatori è pari al numero di giunti (𝑙 = 6 = 𝑛) per cui la matrice
𝐹(𝑞) è quadrata e, supponendola invertibile nelle configurazioni 𝑞 di interesse,
(rank 𝐹(𝑞) = 𝑛), il sistema è completamente attuato.
10/31
Controllore PD
Sintesi
– Si basa sul far coincidere le forze generalizzate con termini proporzionali
all’errore di posizione e alla sua derivata:
𝜏 = 𝐾, 𝑒 + 𝐾- 𝑒̇
con 𝐾, e 𝐾- matrici diagonali definite positive.
– Per compensare l’azione di gravità agente sui giunti si preferisce aggiungere il
termine 𝐺, ottenendo un controllore PD indipendente con compensazione di
gravità (legge di Arimoto):
𝜏 = 𝐾, 𝑒 + 𝐾- 𝑒̇ + 𝐺 𝑞
– Se la configurazione desiderata è costante ( 𝑞̇ + = 𝑞̈ + = 0) allora il punto
𝑒(𝑡) = 𝑒(𝑡)
̇ = 0 è di equilibrio poiché si ha:
𝑀 𝑞+ 𝑞̈ + + 𝐶 𝑞+ , 𝑞̇ + 𝑞̇ + = 0

altrimenti ciò non è più garantito.


– Pertanto, va bene solo per controlli punto a punto.
11/31
Controllore PD
Simulazione (pick and place) $ # # # )
Configurazione pick: 𝑞+," = 𝜋 % %
𝜋 0 % "
# # # )
Configurazione start and place: 𝑞+,# = 0 %
𝜋 0 % "
Joint errors
2.5
e1
e2
2 e3
e4
e5
1.5
e6

0.5
e [rad]

-0.5

-1

-1.5

-2

-2.5
0 2 4 6 8 10 12 14 16 18 20
12/31
t [s]
Controllore computed torque
Sintesi
– Nell’ipotesi di:
– poter calcolare un modello esatto per la dinamica del manipolatore
– poter misurare 𝑞 𝑡 e 𝑞̇ 𝑡
la coppia di controllo da applicare è:
𝜏(𝑞, 𝑞,̇ 𝑒, 𝑒)̇ = 𝑀 𝑞 𝑞̈ + + 𝐶 𝑞, 𝑞̇ 𝑞̇ + 𝐺 𝑞 + 𝐾′, 𝑒 + 𝐾′- 𝑒̇

– Scegliendo i guadagni come matrici diagonali definite positive 𝐾′, = 𝑀(𝑞)𝐾,


e 𝐾′- = 𝑀(𝑞)𝐾- , si ha la convergenza a zero per la dinamica dell’errore di
inseguimento:
𝑒̈ + 𝐾- 𝑒̇ + 𝐾, 𝑒 = 0
– Se 𝐾- e 𝐾, sono matrici diagonali, si hanno 𝑛 = 6 sistemi del secondo ordine
disaccoppiati ed indipendenti.
– Inoltre, se definite positive si ha che il punto 𝑒̇ = 𝑒 = 0 è di equilibrio
asintoticamente stabile (anche nel caso di inseguimento).
13/31
Controllore computed torque
Simulazione (Pick and place) $ # # # )
Configurazione pick: 𝑞+," = 𝜋 % %
𝜋 0 % "
# # # )
Configurazione start and place: 𝑞+,# = 0 %
𝜋 0 % "
Joint errors
2.5
e1
e2
2 e3
e4
e5
1.5
e6

0.5
e [rad]

-0.5

-1

-1.5

-2

-2.5
0 2 4 6 8 10 12 14 16 18 20
14/31
t [s]
Controllore computed torque
Simulazione (Inseguimento di traiettoria circolare)
#10!4
Joint errors
5
EE translation EE orientation
0.6 4 e1
Spatial coordinates [m]

x Roll
0.5
y
3
Pitch e2

RPY angles [rad]


0.4 z 2 Yaw e3
0.3 1 e4
4 0.2 0
e5
0.1 -1
e6
0 -2

-0.1 -3

-0.2 -4
0 5 10 15 20 0 5 10 15 20
3 t [s] t [s]
XY view 3D view
0.1
e [rad]

#10!9
0.05
0
2
y [m]

-2
0
z [m]

-4

-6
-0.05 0.1
-8
0
1 -10
-0.1 0.35
0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.4 0.45 0.5 0.55 -0.1
0.6 0.65 y [m]
x [m] x [m]

-1
0 2 4 6 8 10 12 14 16 18 20
15/31
t [s]
Controllore backstepping
Sintesi
– Si suddivide il problema di controllo in due fasi:
1. controllare il modello cinematico usando le velocità come ingressi nominali
2. design di un controllore tale che le velocità reali del manipolatore (𝑞)̇ tendano
a quelle di riferimento (𝑞̇ " ) usate per il controllo in velocità

– Definendo:
– 𝑒 = 𝜉! − 𝜉, l’errore di inseguimento nello spazio operativo
– 𝑠 = 𝑞̇ " − 𝑞̇ = 𝐽#$ 𝑞 𝑒̇ + Λ𝑒 , l’errore in velocità ( Λ matrice di guadagni
simmetrica e definita positiva)

si applica la seguente legge di controllo:


𝜏 = 𝑀 𝑞 𝑞̈ / + 𝐶 𝑞, 𝑞̇ 𝑞̇ / + 𝐺 𝑞 + 𝐾+ 𝑠 + 𝐽) 𝑒
– Si dimostra via Lyapunov che la legge così definita rende l’equilibrio 𝑒, 𝑠 =
0,0 g.a.s. e pertanto la traiettoria dell’end-effector convergerà
asintoticamente a quella desiderata.
16/31
Controllore backstepping
Simulazione (Pick and place) $ # # # )
Configurazione pick: 𝑞+," = 𝜋 % %
𝜋 0 % "
# # # )
Configurazione start and place: 𝑞+,# = 0 %
𝜋 0 % "
Joint errors
2.5
e1
e2
2 e3
e4
e5
1.5
e6

0.5
e [rad]

-0.5

-1

-1.5

-2

-2.5
0 2 4 6 8 10 12 14 16 18 20
17/31
t [s]
Controllore backstepping
Simulazione (Inseguimento di traiettoria circolare)
#10!4
Joint errors
4.5
EE translation EE orientation
0.6 4 e1
Spatial coordinates [m]

0.5
x
3
Roll e2
y Pitch
e3

RPY angles [rad]


4 z Yaw
0.4 2
e4
0.3 1 e5
3.5
0.2 0 e6
0.1 -1

0 -2

3 -0.1 -3

-0.2 -4
0 5 10 15 20 0 5 10 15 20
t [s] t [s]
2.5
XY view 3D view
e [rad]

2 #10!6
0.05
10
y [m]

1.5 0
5
z [m]

-0.05 0 0.1

1 0
-5
-0.1 0.4
0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.45 0.5 -0.1
0.55 0.6 y [m]
x [m] x [m]
0.5

-0.5
0 2 4 6 8 10 12 14 16 18 20
18/31
t [s]
Controllo adattivo
Sintesi

– Nella realtà, (purtroppo) non conosciamo con esattezza il modello dinamico


del sistema (le matrici dinamiche): 𝑀 𝑞 , 𝐶 𝑞, 𝑞̇ , 𝐺 𝑞
X 𝑞 , 𝐶Y 𝑞, 𝑞̇ , 𝐺Z 𝑞
– Conosciamo soltanto sue approssimazioni: 𝑀
– Le loro differenze sono le matrici di errore di modello:
\ 𝑞 =𝑀
𝑀 X 𝑞 −𝑀 𝑞
[𝐶] 𝑞, 𝑞̇ = 𝐶Y 𝑞, 𝑞̇ − 𝐶 𝑞, 𝑞̇
𝐺^ 𝑞 = 𝐺Z 𝑞 − 𝐺 𝑞
– Il controllo è basato sulle matrici approssimate

19/31
Controllore computed torque adattivo
Sintesi
C. D. Sousa, SymPyBotics software (available at [Link] an opensource
Python package for symbolic robot dynamics, based on SageRobotics (Sousa and Cortesão, 2012), doi:
10.5281/zenodo.11365

– È ancora possibile controllare il sistema mediante la legge di controllo:


X 𝑞 𝑞̈ + + 𝐾- 𝑒̇ + 𝐾, 𝑒 + 𝐶Y 𝑞, 𝑞̇ 𝑞̇ + 𝐺Z 𝑞
𝜏 𝑞, 𝑞,̇ 𝑒, 𝑒̇ = 𝑀
X 𝑞 , 𝐶Y 𝑞, 𝑞̇ , e 𝐺Z 𝑞 stime delle matrici del sistema.
con 𝑀
– Esprimendo la dinamica del sistema via regressore, la dinamica dell’errore
X 𝑞 invertibile):
d’inseguimento diviene (supponendo 𝑀
X (" 𝑞 𝑌 𝑞, 𝑞,̇ 𝑞̈ 𝜋` = 𝜂
𝑒̈ + 𝐾- 𝑒̇ + 𝐾, 𝑒 = 𝑀

dove 𝜋` = 𝜋 − 𝜋b rappresenta l’errore di stima dei parametri non noti.

A causa di 𝜂 non è garantita la convergenza a zero dell’errore d’inseguimento 𝑒(𝑡)


20/31
Controllore computed torque adattivo
Sintesi

– Si fa in modo che la stima dei parametri dinamici 𝜋b venga aggiornata durante


l’esecuzione del controllo stesso, con legge di aggiornamento:
𝜋ḃ = 𝑢0 = 𝑅(" 𝑌 ) 𝑞,𝑞,̇ 𝑞̈ 𝑀
X () 𝑞 𝐵) 𝑃ξ

con 𝐵 = 0 𝐼 ) , 𝜉 = (𝑒, 𝑒)̇ ) , 𝑅 matrice quadrata definita positiva, e 𝑃


soluzione dell’equazione di Lyapunov:
𝐴) 𝑃 + 𝑃𝐴 = −𝑄, 𝑄>0

Il sistema in ciclo chiuso tende ad azzerare l’errore di inseguimento 𝑒(𝑡), ma


nulla è garantito sulla convergenza dell’errore di stima 𝜋`

21/31
Controllore computed torque adattivo
Simulazione (Inseguimento di traiettoria da FFS - Finite Fourier Series)
Traiettoria desiderata:
)
𝑎%,' 𝑏%,'
𝑞%,! 𝑡 =5 sin 𝜔* 𝑙𝑡 − cos 𝜔* 𝑙𝑡
𝜔* 𝑙 𝜔* 𝑙
'($
)

𝑞̇ %,! 𝑡 = 5 𝑎%,' cos 𝜔* 𝑙𝑡 + 𝑏%,' sin 𝜔* 𝑙𝑡 𝑖 = 1, … , 𝑛


'($
)

𝑞̈ %,! 𝑡 = 𝜔* 𝑙 5 −𝑎%,' sin 𝜔* 𝑙𝑡 + 𝑏%,' cos 𝜔* 𝑙𝑡


'($

dove:
– 𝜔1 è la frequenza fondamentale (comune a tutti i giunti, per rendere periodica
la traiettoria eccitante)
– 𝑎2,3 e 𝑏2,3 sono i coefficienti della serie di Fourier
– 𝐿 è l’ordine della serie di Fourier
22/31
Controllore computed torque adattivo
Simulazione (Inseguimento di traiettoria da FFS - Finite Fourier Series)
S. Krishnamoorthi, "Model-Based Compensation for Serial Manipulators through Semi-Parametric Gaussian
Process Regression" Master of Science Thesis, 2018, Faculty of Mechanical, Maritime and Materials
Engineering (3mE), Delft University of Technology, Delft, Netherlands

𝜔1 = 1 Hz
𝐿=4

23/31
Controllore computed torque adattivo
Simulazione (Inseguimento di traiettoria da FFS - Finite Fourier Series)
Joint errors
0.6
e1
e2
e3
0.4
e4
e5
e6
0.2

-0.2
e [rad]

-0.4

-0.6

-0.8

-1

-1.2
0 2 4 6 8 10 12 14 16 18 20
24/31
t [s]
Controllore computed torque adattivo
Simulazione (Inseguimento di traiettoria da FFS - Finite Fourier Series)
Joint trajectories
2 2
q1 q2
Joint 1 [rad]

Joint 2 [rad]
q1;d 1 q2;d
1
0
0
-1

-1 -2
0 5 10 15 20 0 5 10 15 20
t [s] t [s]
1 1
q3 q4
Joint 3 [rad]

Joint 4 [rad]
q3;d 0.5 q4;d
0.5

0
0
-0.5

-0.5
-1
0 5 10 15 20 0 5 10 15 20
t [s] t [s]
1
2
q5 q6
Joint 5 [rad]

Joint 6 [rad]

0.5 q5;d q6;d


1
0
0
-0.5
-1
-1
-2
0 5 10 15 20 0 5 10 15 20
25/31
t [s] t [s]
Controllore computed torque adattivo
Stima dei parametri
𝒎𝟏 [kg] 𝒎𝟐 [kg] 𝒎𝟑 [kg] 𝒎𝟒 [kg] 𝒎𝟓 [kg] 𝒎𝟔 [kg]
𝜋 0 17.4 4.8 0.82 0.34 0.09
𝜋, , 0.05 16 5 0.7 0.5 0.15
Mass Estimation
0.06 17.5
b1
m b2
m
Mass 1 [kg]

Mass 2 [kg]
m1 m2
0.04 17

0.02 16.5

0 16
0 5 10 15 20 0 5 10 15 20
t [s] t [s]
5 0.85
b3
m b4
m
Mass 3 [kg]

Mass 4 [kg]
4.95 m3 0.8 m4

4.9 0.75

4.85 0.7

4.8 0.65
0 5 10 15 20 0 5 10 15 20
t [s] t [s]
0.6 0.25
b5
m b6
m
Mass 5 [kg]

Mass 6 [kg]

m5 m6
0.5 0.2

0.4 0.15

0.1
0.3
0 5 10 15 20 0 5 10 15 20
26/31
t [s] t [s]
Controllore backstepping adattivo
Sintesi

– È ancora possibile controllare il sistema mediante la legge di controllo:


𝜏 = 𝑌 𝑞, 𝑞̇ / , 𝑞̈ / 𝜋b + 𝐾+ 𝑠 + 𝑒
con 𝑒 = 𝑞/ − 𝑞, 𝑠 = 𝑒̇ + Λ𝑒 = 𝑞̇ / − 𝑞.̇
– Si aggiornano i parametri dinamici 𝜋b con legge di aggiornamento:
𝜋ḃ = 𝑢0 = 𝑅(" 𝑌 ) 𝑞, 𝑞̇ / , 𝑞̈ / 𝑠
dove 𝑅 è una matrice simmetrica definita positiva di design.
– Si ha convergenza dell’errore di inseguimento 𝑒(𝑡), tuttavia anche in questo
caso non è garantita circa la convergenza dei parametri.
– Non è richiesto il computo di 𝑀 X (" 𝑞 , il che rende il metodo numericamente
più semplice (oltre al fatto che possa non esistere).

27/31
Controllore backstepping adattivo
Simulazione (Inseguimento di traiettoria da FFS - Finite Fourier Series)
Joint errors
0.6
e1
e2
e3
0.4
e4
e5
e6
0.2

-0.2
e [rad]

-0.4

-0.6

-0.8

-1

-1.2
0 2 4 6 8 10 12 14 16 18 20
28/31
t [s]
Controllore backstepping adattivo
Simulazione (Inseguimento di traiettoria da FFS - Finite Fourier Series)
Joint trajectories
2 2
q1 q2
Joint 1 [rad]

Joint 2 [rad]
q1;d 1 q2;d
1
0
0
-1

-1 -2
0 5 10 15 20 0 5 10 15 20
t [s] t [s]
1 1
q3 q4
Joint 3 [rad]

Joint 4 [rad]
q3;d 0.5 q4;d
0.5

0
0
-0.5

-0.5
-1
0 5 10 15 20 0 5 10 15 20
t [s] t [s]
1
2
q5 q6
Joint 5 [rad]

Joint 6 [rad]

0.5 q5;d q6;d


1
0
0
-0.5
-1
-1
-2
0 5 10 15 20 0 5 10 15 20
29/31
t [s] t [s]
Controllore backstepping adattivo
Stima dei parametri
𝒎𝟏 [kg] 𝒎𝟐 [kg] 𝒎𝟑 [kg] 𝒎𝟒 [kg] 𝒎𝟓 [kg] 𝒎𝟔 [kg]
𝜋 0 17.4 4.8 0.82 0.34 0.09
𝜋, , 0.05 16 5 0.7 0.5 0.15
Mass Estimation
0.06 17.5
b1
m b2
m
Mass 1 [kg]

Mass 2 [kg]
m1 m2
0.04 17

0.02 16.5

0 16
0 5 10 15 20 0 5 10 15 20
t [s] t [s]
0.85
5 b3
m b4
m
Mass 3 [kg]

Mass 4 [kg]
m3 m4
4.95 0.8

4.9
0.75
4.85

4.8 0.7
0 5 10 15 20 0 5 10 15 20
t [s] t [s]
0.5 0.16
b5
m b6
m
Mass 5 [kg]

Mass 6 [kg]

m5 m6
0.45 0.14

0.4
0.12
0.35
0.1
0.3
0 5 10 15 20 0 5 10 15 20
30/31
t [s] t [s]
Controllo adattivo
Stima dei parametri
– Né col controllo a coppia calcolata né col controllo backstepping adattivi si è
ottenuta la convergenza dei parametri ai valori reali – cosa in effetti non garantita
– Pertanto, i riferimenti usati nelle simulazioni non eccitano sufficientemente la
dinamica dell’errore di stima tanto da permettere il raggiungimento di stima
esatta nell’intervallo di tempo considerato
– In generale, l’errore di stima 𝜋` tende a un valore costante 𝜋p̀ tale per cui, ad ogni
istante 𝑡 considerato:
𝑌 𝑞,𝑞,̇ 𝑞̈ 𝜋p̀ = 0
– La matrice di regressione varia nel tempo, per cui 𝜋p̀ deve stare nell’intersezione
di tutti i nulli delle varie matrici 𝑌
– Inoltre, poiché la colonna di 𝑌 corrispondente alla stima della massa del primo
link è sempre nulla, la sua stima 𝑚
q " rimarrà sempre invariata rispetto al valore di
stima iniziale 𝑚
q ",*
– Ciò con qualsiasi riferimento, anche qualora fosse sufficientemente eccitante
31/31
–Grazie per l’attenzione

Potrebbero piacerti anche