Figura 6.5: Rete neurale HMLP con un solo strato nascosto.
6.3 Confronto tra controllore PD e controllore PD+HMLP
Per ogni traiettoria la velocità angolare iniziale è nulla, mentre l’assetto finale
desiderato è:
cui corrisponde angolo finale desiderato nullo. Oltre alle traiettorie utilizzate
nella fase di apprendimento della rete neurale HMLP, sono stati utilizzati
come ingressi del sistema di controllo anche traiettorie di checking e in
entrambi i casi è stato fatto un confronto tra i risultati ottenuti considerando
dapprima solamente l’effetto del controllore PD e in seguito l’azione di
controllo globale (PD + HMLP). Supponendo di trascurare per il momento
l’azione di disturbi esterni sul veicolo sottomarino, vengono riportati dei
grafici ognuno dei quali mostra, per ogni traiettoria, un confronto tra le parti
scalari dei quaternioni errore, questi ultimi ottenuti svolgendo il prodotto
rispettivamente tra il quaternione unitario che rappresenta l’orientamento
desiderato e l’inverso del quaternione unitario che esprime l’orientamento
,0] 0 0[ ;0] 0 0 1[
TT
ωq
(6.7)
Ω-rete
velocità
angolare
desiderata
orientamento
desiderato
0 2 4 6 8 10
-0.035
-0.03
-0.025
-0.02
-0.015
-0.01
-0.005
0
0.005
PD+HMLP
PD
errore
t
theta=14°.95' ax=(0.3145,0.9492,0.0104)
effettivo, quando è presente l’azione del solo controllore PD e quando invece
agisce il controllore PD+HMLP. I rispettivi angoli iniziali e assi (che
consentono di esplicitare la legge oraria per le traiettorie considerate) sono
indicati nelle figure. In seguito nei grafici che rappresentano l’errore sulla
parte scalare del quaternione si utilizza il colore blu per rappresentare l’errore
nel sistema in cui agisce il solo controllore PD, mente l’errore relativo al
sistema in cui agisce il controllore PD+HMLP è graficato utilizzando il colore
rosso.
Figura 6.6: Confronto tra le parti scalari dei quaternioni errore
per una traiettoria appartenente al learning set.
I quaternioni errore rappresentati nella precedente figura sono stati ottenuti
usando il controllore PD e il controllore PD+HMLP per una traiettoria
presentata durante la fase di learning. Nessun disturbo agisce sul veicolo.
Nella figura successiva si fa riferimento invece ad una traiettoria non
presentata durante la fase di allenamento della rete neurale HMLP; ancora una
volta si suppone che nessun disturbo esterno agisca sul veicolo.
Figura 6.7: Confronto tra le parti scalari dei quaternioni errore
per una traiettoria di checking.
Già questi due grafici evidenziano un miglioramento introdotto dall’utilizzo
della rete neurale HMLP sia per una traiettoria presentata durante la fase di
learning, sia per una traiettoria di checking. Per confermare ulteriormente i
risultati ottenuti vengono riportati altri grafici relativi ad altre traiettorie dove,
oltre il confronto tra la parti scalari dei quaternioni errore, viene evidenziato
l’errore sull’angolo finale desiderato (la formula per calcolare tale angolo sarà
esplicitata più avanti). La convenzione sui colori utilizzata per le figure che
rappresentano l’errore sull’angolo finale desiderato adotta il colore blu per
l’angolo di riferimento, il colore verde per l’angolo relativo al sistema in cui
agisce il solo controllore PD, mente l’angolo inerente al sistema
0 2 4 6 8 10
-0.035
-0.03
-0.025
-0.02
-0.015
-0.01
-0.005
0
PD+HMLP
PD
t
errore
theta=141°.22' ax=(0.4896,0.2032,0.8480)
in cui agisce il controllore PD+HMLP è graficato utilizzando il colore rosso;
esprimendo gli angoli in radianti si ha dunque:
Figura 6.8: Confronto tra gli angoli finali desiderati
per una traiettoria di checking.
In Fig.6.8 si fa riferimento ad una traiettoria non presentata durante la fase di
addestramento della rete neurale, inoltre nessun disturbo esterno agisce sul
veicolo sottomarino. Si nota come anche da quest’altro punto di vista le cose
migliorano dato che utilizzando il controllore PD+HMLP (rosso) ci si
avvicina al valore desiderato per l’angolo finale in maniera più marcata
rispetto all’utilizzo del solo controllore PD.
Gli angoli iniziali e gli assi che consentono di esplicitare la legge oraria di
questa terza traiettoria considerata sono indicati nelle figura seguente, dove,
fermo restando l’ipotesi sul disturbo esterno, è riportato il confronto tra gli
errori sulle parti scalari del quaternione errore.
0 2 4 6 8 10
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
PD
PD+HMLP
errore sull'angolo finale desiderato
t
Figura 6.9: Confronto tra la parte scalare dei quaternioni errore
per una traiettoria di checking.
Oltre all’angolo finale desiderato, dal quaternione errore è possibile ottenere
le componenti del versore che individua la direzione dell’asse di rotazione del
veicolo sottomarino; le formule per ricavare una descrizione asse/angolo
dell’orientamento sono [5]:
dove i termini in r sono gli elementi della matrice di rotazione ottenuta dal
quaternione unitario utilizzando la (2.12). Si possono pertanto riportare altri
grafici in cui viene espresso l’errore tra il valore desiderato per queste
componenti e il valore effettivo, valutato dapprima considerando la sola
azione del controllore PD e in seguito l’azione globale PD+HMLP. Ad
esempio per la traiettoria appena considerata l’errore sulla componente kz del
versore dell’asse di rotazione è riportato nel seguente grafico, dove per i
0 2 4 6 8 10
-0.14
-0.12
-0.1
-0.08
-0.06
-0.04
-0.02
0
PD
PD+HMLP
t
errore theta=43°.68' ax=(0.8578,0.2048,0.4714)
;
sin2
1
ˆ
,
2
1
cos
1221
3113
2332
332211
1
≈
≈
≈
…
≡
↔
↔
↔
←
♠
÷
≠
•
♦
♥
♣
rr
rr
rr
θ
k
rrr
θ
(6.8)
0 2 4 6 8 10
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
errore su kz
t
riferimento
PD+HMLP
PD
0 5 10
-1
-0.5
0
0.5
1
0 5 10
-1
-0.5
0
0.5
1
0 5 10
-1
-0.5
0
0.5
1
0 5 10
0
0.2
0.4
0.6
0.8
errore su kx
t
riferimento
PD+HMLP
PD
errore su ky
riferimento
PD+HMLP
PD
t
errore su kz
t
riferimento
PD+HMLP
PD
ax=(0.6374,0.6327,0.4399), theta=0.7567
errore sull'angolo
t
PD
PD+HMLP
riferimento
colori si è utilizzata la stessa convenzione adoperata per le figure relative
all’angolo finale.
Figura 6.10: Confronto tra le componenti kz per una traiettoria di checking.
Figura 6.11: Errore su asse ed angolo per una traiettoria di checking.
Altro esempio:
0 2 4 6 8 10
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
PD+HMLP+disturbo
PD+disturbo
errore sull'angolo in presenza di disturbo
t
riferimento
Anche in quest’ultimo esempio il miglioramento apportato dalla rete HMLP è
evidente. L’utilizzo della rete neurale HMLP ha condotto ad un leggero
miglioramento nel controllo dell’assetto anche in presenza di un disturbo
esterno (simulato tramite un segnale a gradino applicato all’istante T = 0s nei
casi riportati in questo capitolo) agente sul veicolo sottomarino. Le seguenti
figure vogliono dimostrare quanto appena asserito. Ad esempio l’errore in
figura 6.8 relativo ad una traiettoria non presentata in fase di learning, in
presenza di un disturbo esterno agente sul veicolo si modifica in questo modo:
Figura 6.12: Confronto tra gli angoli finali desiderati per una traiettoria di
checking in presenza di disturbo.
Sono state effettuate diverse misure con gradini di ampiezza differente
(di ampiezza 3 nel caso di figura 6.12 e di ampiezza 1 nei rimanenti casi
riportati nel presente capitolo). Il segnale a gradino potrebbe rappresentare ad
esempio l’urto del veicolo sottomarino con un pesce le cui caratteristiche
fisiche siano tali da influire sull’assetto del veicolo. In presenza di disturbo,
per la traiettoria il cui l’errore sulla parte scalare del quaternione errore è
rappresentato in figura 6.7, si ha:
0 2 4 6 8 10
-0.09
-0.08
-0.07
-0.06
-0.05
-0.04
-0.03
-0.02
-0.01
0
theta=141°.22' ax=(0.4896,0.2032,0.8480)
errore
t
PD+HMLP+d
PD+d
0 2 4 6 8 10
-0.35
-0.3
-0.25
-0.2
-0.15
-0.1
-0.05
0
ax=(0.4053,0.5610,0.7218),theta=94°.12'
errore
t
PD
PD+HMLP
Figura 6.13: Confronto tra le parti scalari dei quaternioni errore per
una traiettoria di checking in presenza di disturbo.
Si considera un ulteriore esempio di traiettoria non presentata durante la fase
di addestramento della rete neurale HMLP e si riportano i risultati ottenuti in
presenza ed in assenza di disturbo.
Figura 6.14: Confronto tra le parti scalari dei quaternioni errore per
una traiettoria di checking.
Figura 6.15: Confronto tra le parti scalari dei quaternioni errore per
una traiettoria di checking in presenza di disturbo.
Figura 6.16: Errore su kz e sull’angolo finale per una traiettoria
di checking con e senza disturbo.
0 2 4 6 8 10
-0.35
-0.3
-0.25
-0.2
-0.15
-0.1
-0.05
0
ax=( 0.4053,0.5610,0.7218), theta=94°.12'
errore
t
PD+HMLP+d
PD+d
0 5 10
-1
-0.5
0
0.5
1
0 5 10
-1
-0.5
0
0.5
1
0 5 10
0
0.5
1
1.5
2
0 5 10
0
0.5
1
1.5
2
ax=(0.4053,0.5610,0.7218),theta=94°.12'
errore su kz errore su kz con disturbo
riferimento riferimento
PD+HMLP
PD
PD+HMLP+d
PD+d
tt
errore sull'angolo
t
errore sull'angolo con disturbo
t
PD+HMLP
PD
riferimento riferimento
PD+d
PD+HMLP+d
0 5 10
-0.5
0
0.5
0 5 10
-0.5
0
0.5
0 5 10
-1
-0.5
0
0.5
1
0 5 10
-1
-0.5
0
0.5
1
errore su kx
t
ax=(0.4053,0.5610,0.7218),theta=94°.12'
errore su kx con disturbo
t
riferimento
PD+HMLP
PD
PD+HMLP+d
PD+d
errore su ky con disturbo
errore su ky
PD+HMLP
PD
riferimento
riferimento
PD+HMLP+d
PD+d
riferimento
t
t
Figura 6.17: Errore su kx e ky per una traiettoria di checking
con e senza disturbo.
6.4 Conclusioni
E’ stato proposto uno schema di controllo in retroazione (che utilizza un
regolatore standard PD) per posizione, velocità ed assetto di un veicolo
sottomarino autonomo AUV, in cui è realizzata un’azione di controllo in
avanti (feedforward) per l’assetto tramite una rete neurale in algebra
quaternionica HMLP. Il controllo in feedforward permette di ottenere una
migliore compensazione delle non linearità del modello senza compromettere
la stabilità ad anello chiuso.
Il compito del controllo in retroazione è quello di compensare l’effetto di
disturbi esterni e l’effetto di incertezze nel modello, inoltre questo tipo di
controllo garantisce la stabilità ad anello chiuso.
Si è utilizzato il quaternione unitario per esprimere l’orientamento del veicolo
sottomarino, infatti l’utilizzo dell’algebra dei quaternioni comporta una
riduzione del peso computazionale legata anche ad un numero minore di
parametri considerati per descrivere l’orientamento del veicolo; inoltre, come
è stato affermato nel capitolo 2, la rappresentazione delle rotazioni nello
spazio mediante il quaternione unitario include il minimo numero di parametri
per rappresentare l’assetto senza singolarità. L’utilizzo di una rete HMLP
introduce dei vantaggi notevoli dal punto di vista computazionale
rispetto alla corrispondente rete MLP. La rete HMLP richiede un numero più
basso di parametri reali rispetto alla corrispettiva rete MLP, il che comporta
un miglioramento per quel che concerne la convergenza dell’algoritmo di
apprendimento ed una riduzione della probabilità di stallo in un minimo
locale. Infatti nel caso di una rete neurale MLP, dopo aver applicato la
procedura del trial and error per determinare il corretto numero di neuroni
hidden, si ottiene una rete MLP con sei neuroni hidden, sette ingressi, e tre
uscite. Questa rete contiene 60 pesi reali, mentre la corrispettiva rete HMLP
ha sei quaternioni che costituiscono i pesi, che corrispondono a 24 parametri
reali da determinare mediante l’algoritmo di apprendimento; pertanto la rete
neurale HMLP richiede un numero minore di cicli di apprendimento.
Effettuando le simulazioni utilizzando la funzione newff per creare la rete
neurale MLP, stabilire le funzioni di attivazione (logsig e purelin in questo
caso) e la funzione utilizzata per l’apprendimento (traingd in questo caso) si
ottiene un errore di circa 0.07 dopo un numero di cicli di apprendimeto pari
circa a 3000.
Per misurare le performance del sistema di controllo è stato fatto un confronto
tra le parti scalari dei quaternioni errore (ottenuti svolgendo il prodotto
rispettivamente tra il quaternione unitario che rappresenta l’orientamento
desiderato e l’inverso del quaternione unitario che esprime l’orientamento
effettivo), quando è presente l’azione del solo controllore PD e quando invece
agisce il controllore PD+HMLP; inoltre, considerando sempre l’azione
separata PD e PD+HMLP, sono state misurate le differenze tra asse/angolo
finale desiderato e asse/angolo finale effettivo. Trascurando inizialmente
l’effetto di eventuali disturbi esterni sul veicolo, dal confronto tra i risultati
ottenuti considerando dapprima solamente l’effetto del controllore PD e in
seguito l’azione di controllo globale (PD + HMLP) si nota, in quest’ultimo
caso, un miglioramento nel controllo dell’assetto sia per traiettorie presentate
durante la fase di allenamento della rete neurale quaternionica, sia per
traiettorie “nuove” per la rete HMLP.
Dalle figure (6.15-6.17) si vede che nel caso in cui un disturbo esterno agisce
sul veicolo le prestazioni del sistema di controllo peggiorano sia nel caso di
utilizzo del solo controllore PD, sia nel caso in cui ci si riferisce al controllore
PD+HMLP, tuttavia in quest’ultimo caso si ha comunque un leggero
miglioramento.
Infine sono stati calcolati gli errori quadratici medi per dieci traiettorie (le
prime tre appartenenti al learning set, le rimanenti sono traiettorie di
checking) e si è fatto un ulteriore confronto tra le prestazioni dei due
controllori PD e PD+HMLP, in assenza ed in presenza di disturbo esterno
agente sul veicolo sottomarino. I risultati, riportati nelle seguenti tabelle 6.1-2
e rappresentati graficamente mediante gli istogrammi delle figure 6.18-19,
costituiscono un ulteriore conferma dei miglioramenti apportati dall’utilizzo
della rete neurale HMLP.
tr. angolo iniziale asse PD PD+HMLP
1 1.7826 [0.85 0.51 0.02] 0.0798 0.0323
2 1.6428 [0.40 0.56 0.72] 0.0834 0.0430
3 0.3459 [0.93 0.25 0.24] 0.0016 2.9103e-004
4 0.2740 [0.63 0.33 0.69] 0.0012 2.0892e-004
5 0.2778 [0.30 0.29 0.90] 0.0013 5.4154e-004
6 1.8436 [0.85 0.20 0.47] 0.0634 0.0356
7 0.5444 [0.25 0.01 0.96] 0.0050 0.0032
8 1.8709 [0.68 0.30 0.66] 0.0867 0.0508
9 0.8658 [0.23 0.59 0.77] 0.0143 0.0099
10 0.9172 [0.66 0.71 0.20] 0.0151 0.0036
Tabella 6.1: Errori quadratici medi per i due schemi di controllo: PD e PD+HMLP.
Nessun disturbo esterno agisce sul sistema.
tr. angolo iniziale asse PD+d PD+HMLP+d
1 1.7826 [0.85 0.51 0.02] 0.1025 0.0377
2 1.6428 [0.40 0.56 0.72] 0.0954 0.0496
3 0.3459 [0.93 0.25 0.24] 0.0026 0.0012
4 0.2740 [0.63 0.33 0.69] 0.0021 9.9133e-004
5 0.2778 [0.30 0.29 0.90] 0.0022 0.0013
6 1.8436 [0.85 0.20 0.47] 0.0690 0.0417
7 0.5444 [0.25 0.01 0.96] 0.0063 0.0045
8 1.8709 [0.68 0.30 0.66] 0.0973 0.0581
9 0.8658 [0.23 0.59 0.77] 0.0167 0.0119
10 0.9172 [0.66 0.71 0.20] 0.0177 0.0056
Tabella 6.2: Errori quadratici medi per i due schemi di controllo: PD e PD+HMLP.
Un disturbo esterno agisce sul sistema.
Utilizzando i risultati riportati nelle tabelle precedenti è possibile ottenere i
seguenti istogrammi:
Figura.6.18: Istogramma degli errori quadratici medi per i due schemi di controllo: PD e
PD+HMLP. Nessun disturbo esterno agisce sul veicolo.
Figura.6.19: Istogramma degli errori quadratici medi per i due schemi di controllo: PD e
PD+HMLP. Un disturbo esterno agisce sul veicolo.
Nella successiva Appendice A è riportata una raccolta di 25 AUVs esistenti
per dare un’idea dello stato dell’arte per quanto riguarda i veicoli sottomarini.
Infine l’Appendice B raccoglie gli schemi SIMULINK e i listati software
(M-files) del sistema di controllo, nonché gli M-files relativi alla rete neurale
quaternionica.
0
0,02
0,04
0,06
0,08
0,1
13579
PD
PD+HMLP
0
0,02
0,04
0,06
0,08
0,1
0,12
13579
PD+d
PD+HMLP+d