Un ringraziamento speciale ai miei genitori, per
avermi supportato e sopportato in questo lungo
percorso accademico.
Un ringraziamento a Valentina, per la pazienza e
il sostegno.
Un sincero ringraziamento a Filippo, per averci
guidato nello svolgimento dell’attività di tesi.
Ultimo, ma non per importanza, un ringraziamento
ad Alberto che ha reso meno stressante e più
piacevole quest’ultimo anno universitario.
Abstract
In epoca moderna esistono ancora tantissime attività complicate che anche i sistemi
autonomi più evoluti ed innovativi non sono in grado di svolgere, in quanto richie-
dono un’elevata capacità decisionale che è propria solo dell’uomo. Per tale ragione,
si stanno sviluppando molti sistemi cosiddetti telecontrollati che combinano tale
prerogativa dell’essere umano con le performance e l’elevata precisione dei sistemi
robotici. L’obiettivo della presente tesi è quello di sviluppare un’applicazione di te-
lecontrollo con feedback cinestetico tra due sistemi meccatronici, in cui un operatore,
spostando il terminale del dispositivo master, riesce a movimentare, da remoto, l’end
- effector del dispositivo denominato slave. Nello svolgere tale operazione, l’utente
riceve un ritorno in forza dato dall’interazione tra quest’ultimo dispositivo e l’am-
biente ad esso circostante e, sulla base di tale feedback, decide come reagire quindi,
come muovere il dispositivo remoto. Per svolgere tale attività è necessario sviluppare
un sistema di controllo in posizione sufficientemente performante per controllare il
movimento del dispositivo slave. Al contempo, si deve rendere il master un’interfac-
cia aptica, ovvero un dispositivo meccatronico in grado di restituire all’utilizzatore,
con cui interagisce, un feedback cinestetico. Per fare ciò, è necessario sviluppare un
robusto sistema di controllo in forza. Pertanto, una cospicua parte della presente tesi
si pone lo scopo di descrivere e analizzare le prestazioni di alcune possibili strategie
di controllo in forza che possono essere impiegate su un’interfaccia aptica. Inoltre,
in un’attività di telecontrollo, il master e lo slave devono scambiare tra loro una
serie di dati. Di conseguenza, un aspetto fondamentale per realizzare con successo
il lavoro è lo sviluppo di un canale di comunicazione tra i due sistemi meccatronici
sufficientemente performante, in termini di latenze e affidabilità.
I
Indice
Abstract I
Introduzione 1
I Interfaccia aptica a un grado di libertà 11
1 Descrizione ed analisi del sistema aptico a 1 G.D.L 13
1.1 Struttura del banco di prova . . . . . . . . . . . . . . . . . . . . . . . 14
1.2 Modellazione dinamica del sistema . . . . . . . . . . . . . . . . . . . 23
1.2.1 Modello rigido . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.2.2 Modello cedevole . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.3 Analisi modale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.3.1 Determinazione della matrice smorzamento . . . . . . . . . . . 35
1.4 Calibrazione della cella di carico . . . . . . . . . . . . . . . . . . . . . 40
1.5 Modellazione dell’attrito . . . . . . . . . . . . . . . . . . . . . . . . . 43
1.5.1 Modelli statici d’attrito . . . . . . . . . . . . . . . . . . . . . . 44
1.5.2 Modello d’attrito implementato . . . . . . . . . . . . . . . . . 47
1.6 Controllo di posizione . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
1.6.1 Posizionamento poli . . . . . . . . . . . . . . . . . . . . . . . 52
1.6.2 Controllo in cascata . . . . . . . . . . . . . . . . . . . . . . . . 66
1.6.3 Confronto posizionamento poli - controllo in cascata . . . . . . 81
1.6.4 Confronto simulazione - sistema reale . . . . . . . . . . . . . . 84
1.7 Homing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
III
INDICE INDICE
2 Controllo in forza 93
2.1 Introduzione al controllo in forza . . . . . . . . . . . . . . . . . . . . 93
2.1.1 Controllo in ammettenza . . . . . . . . . . . . . . . . . . . . . 94
2.1.2 Controllo in impedenza in anello aperto . . . . . . . . . . . . . 96
2.1.3 Controllo in impedenza in anello chiuso . . . . . . . . . . . . . 99
2.2 Progettazione del sistema di controllo aptico in ammettenza . . . . . 101
2.2.1 Ambiente molla . . . . . . . . . . . . . . . . . . . . . . . . . . 101
2.2.2 Ambiente visco-elastico . . . . . . . . . . . . . . . . . . . . . . 125
2.2.3 Ambiente completo . . . . . . . . . . . . . . . . . . . . . . . . 166
2.3 Progettazione del sistema di controllo aptico in impedenza in anello
chiuso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
2.3.1 Ambiente elastico . . . . . . . . . . . . . . . . . . . . . . . . . 189
2.3.2 Ambiente visco - elastico . . . . . . . . . . . . . . . . . . . . . 215
2.3.3 Ambiente completo . . . . . . . . . . . . . . . . . . . . . . . . 238
2.4 Confronto fra i sistemi di controllo aptici progettati . . . . . . . . . . 265
2.4.1 Ambiente elastico . . . . . . . . . . . . . . . . . . . . . . . . . 265
2.4.2 Ambiente visco - elastico . . . . . . . . . . . . . . . . . . . . . 266
2.4.3 Ambiente completo . . . . . . . . . . . . . . . . . . . . . . . . 268
2.4.4 Sintesi del compensatore d’attrito . . . . . . . . . . . . . . . . 271
2.4.5 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
2.5 Ambienti virtuali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
2.5.1 Ambiente inerziale . . . . . . . . . . . . . . . . . . . . . . . . 283
2.5.2 Ambiente muro . . . . . . . . . . . . . . . . . . . . . . . . . . 286
2.5.3 Ambiente triangolare . . . . . . . . . . . . . . . . . . . . . . . 289
2.5.4 Ambiente sinusoidale . . . . . . . . . . . . . . . . . . . . . . . 291
2.5.5 Ambiente a dente di sega . . . . . . . . . . . . . . . . . . . . . 292
II Sistema cartesiano a due gradi di libertà 295
3 Sistema cartesiano a 2 gradi di libertà 297
3.1 Struttura del banco di prova . . . . . . . . . . . . . . . . . . . . . . . 297
IV
INDICE INDICE
3.1.1 Asse X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
3.1.2 Asse Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
3.2 Modellazione dinamica del sistema . . . . . . . . . . . . . . . . . . . 304
3.2.1 Asse X-Modello rigido . . . . . . . . . . . . . . . . . . . . . . 304
3.2.2 Asse X-Modello cedevole . . . . . . . . . . . . . . . . . . . . . 306
3.2.3 Analisi modale asse X . . . . . . . . . . . . . . . . . . . . . . 312
3.2.4 Asse Y-Modello rigido . . . . . . . . . . . . . . . . . . . . . . 317
3.2.5 Asse Y-Modello cedevole . . . . . . . . . . . . . . . . . . . . . 320
3.2.6 Analisi modale asse Y . . . . . . . . . . . . . . . . . . . . . . 326
3.3 Controllo di posizione . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
3.3.1 Posizionamento poli - Asse X . . . . . . . . . . . . . . . . . . 332
3.3.2 Posizionamento Poli - Asse Y . . . . . . . . . . . . . . . . . . 340
3.4 Homing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
3.5 Generazione di traiettorie . . . . . . . . . . . . . . . . . . . . . . . . 350
3.5.1 Traiettoria lineare . . . . . . . . . . . . . . . . . . . . . . . . . 356
3.5.2 Traiettoria circolare . . . . . . . . . . . . . . . . . . . . . . . . 364
3.5.3 Spirale di Archimede . . . . . . . . . . . . . . . . . . . . . . . 371
3.5.4 Traiettoria a farfalla . . . . . . . . . . . . . . . . . . . . . . . 377
III Telecontrollo con feedback cinestetico 383
4 Sistema di comunicazione fra due PC target 385
4.1 Protocolli TCP ed UDP . . . . . . . . . . . . . . . . . . . . . . . . . 386
4.2 Procedure di configurazione del canale di comunicazione . . . . . . . 392
4.2.1 Protocollo UDP . . . . . . . . . . . . . . . . . . . . . . . . . . 394
4.2.2 Protocollo TCP . . . . . . . . . . . . . . . . . . . . . . . . . . 399
4.3 Analisi delle latenze . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
5 Telecontrollo di un sistema cartesiano mediante feedback cineste-
tico 405
5.1 Analisi dell’effetto di un ritardo sul controllo in forza . . . . . . . . . 405
5.2 Macchina a stati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
V
INDICE INDICE
5.3 Telecontrollo cinematico . . . . . . . . . . . . . . . . . . . . . . . . . 422
5.3.1 Traiettoria Lineare . . . . . . . . . . . . . . . . . . . . . . . . 424
5.3.2 Traiettoria circolare . . . . . . . . . . . . . . . . . . . . . . . . 428
5.3.3 Traiettoria a Spirale d’Archimede . . . . . . . . . . . . . . . . 432
5.4 Telecontrollo con feedback aptico . . . . . . . . . . . . . . . . . . . . 436
5.4.1 Ambiente elastico in ammettenza . . . . . . . . . . . . . . . . 437
5.4.2 Ambiente elastico in impedenza . . . . . . . . . . . . . . . . . 443
Conclusioni 449
Bibliografia A
VI
Elenco delle figure
1.1 Banco a disposizione:interfaccia aptica a un grado di libertà . . . . . 14
1.2 Interfaccia a morsettiera della basetta TBX68 . . . . . . . . . . . . . 22
1.3 Modello rigido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.4 Rappresentazione del modello rigido in Simulink . . . . . . . . . . . . 25
1.5 Modello cedevole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.6 Gradi di libertà θp e θg . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.7 Grado di libertà θr . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.8 Grado di libertà θm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.9 Andamento dei valori delle rigidezze kc1 e kc2 in funzione della posi-
zione assunta dal carrello lungo la guida lineare . . . . . . . . . . . . 29
1.10 Modello cedevole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.11 Modello cedevole compatto . . . . . . . . . . . . . . . . . . . . . . . . 31
1.12 Pulsazioni naturali variabili con la posizione del carrello . . . . . . . . 32
1.13 Pulsazioni naturali variabili e modi di vibrare con carrello a metà corsa 33
1.14 Oscillazioni libere del sistema non smorzato, non forzato, condizioni
iniziali pari al secondo modo di vibrare . . . . . . . . . . . . . . . . . 34
1.15 Oscillazioni smorzate del sistema non forzato, condizioni iniziali pari
al secondo modo di vibrare . . . . . . . . . . . . . . . . . . . . . . . . 37
1.16 Risposta nel tempo del sistema, forzante Q costante, smorzamento C
non nullo, K costante . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
VII
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
1.17 Andamento nel tempo della rotazione del motore, confrontando le
risposte forzate, del modello cedevole non smorzato e del rigido, uti-
lizzando come ingresso una sinusoide con ampiezza di 20 Nm e pul-
sazione pari a 252.79 rad
s
. . . . . . . . . . . . . . . . . . . . . . . . . 38
1.18 Andamento nel tempo della rotazione del motore, confrontando le
risposte forzate, del modello cedevole non smorzato e del rigido, uti-
lizzando come ingresso una sinusoide con ampiezza di 20 Nm e pul-
sazione pari a quella del secondo modo di vibrare . . . . . . . . . . . 39
1.19 Andamento nel tempo della rotazione del motore, confrontando le ri-
sposte forzate, del modello cedevole smorzato e del rigido, utilizzando
come ingresso una sinusoide con ampiezza di 20 Nm e pulsazione pari
a quella del secondo modo di vibrare . . . . . . . . . . . . . . . . . . 39
1.20 Forza applicata in ordinata, tensione erogata dal sensore in ascissa . . 41
1.21 Modelli d’attrito classici . . . . . . . . . . . . . . . . . . . . . . . . . 45
1.22 Modelli d’attrito con effetto Stribeck . . . . . . . . . . . . . . . . . . 46
1.23 Modelli d’attrito di Karnop . . . . . . . . . . . . . . . . . . . . . . . 47
1.24 Segnali di posizione, velocità e accelerazione acquisiti . . . . . . . . . 48
1.25 Forza d’attrito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
1.26 Modello d’attrito implementato . . . . . . . . . . . . . . . . . . . . . 50
1.27 Schema a blocchi del sistema in esame, controllato in anello chiuso
mediante il metodo del “posizionamento poli”. . . . . . . . . . . . . . 56
1.28 Schema Simulink del sistema di controllo, basato sul metodo del po-
sizionamento poli, applicato al modello rigido e al modello cedevole
del sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
1.29 Profilo di moto in posizione . . . . . . . . . . . . . . . . . . . . . . . 60
1.30 Profilo di moto in velocità . . . . . . . . . . . . . . . . . . . . . . . . 60
1.31 Andamento, nel tempo, della posizione del carico, controllato in po-
sizione mediante il metodo del posizionamento poli . . . . . . . . . . 61
1.32 Andamento, nel tempo, della velocità del carico, controllato in posi-
zione mediante il metodo del posizionamento poli . . . . . . . . . . . 62
VIII
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
1.33 Analisi nel dettaglio dell’andamento, nel tempo, della posizione del
carico, controllato in posizione mediante il metodo del posizionamento
poli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
1.34 Analisi nel dettaglio dell’andamento, nel tempo, della velocità del
carico, controllato in posizione mediante il metodo del posizionamento
poli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
1.35 Diagramma di Bode, del modulo e della fase, della funzione di trasfe-
rimento Gpos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
1.36 Diagramma di Bode, del modulo e della fase, della funzione di trasfe-
rimento Gvel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
1.37 Schema a blocchi del modello elettro-meccanico di un DC motor . . . 69
1.38 Schema a blocchi dell’anello di controllo in corrente . . . . . . . . . . 69
1.39 Schema a blocchi dell’anello di controllo in velocità . . . . . . . . . . 69
1.40 Schema a blocchi dell’anello di controllo in posizione . . . . . . . . . 70
1.41 Schema a blocchi del sistema di controllo in cascata complessivo . . . 70
1.42 Diagramma di Bode, di modulo e fase, della funzione di trasferimento,
in anello chiuso, Hv(s) dell’anello in velocità . . . . . . . . . . . . . . 73
1.43 Diagramma di Bode, di modulo e fase, della funzione di trasferimento,
in anello chiuso, Hp(s) dell’anello in posizione . . . . . . . . . . . . . 75
1.44 Schema a blocchi dell’anello in posizione, con velocity feedforward . . 76
1.45 Diagramma di Bode del modulo della funzione di trasferimento in
anello chiuso, dell’anello in posizione, con e senza velocity feedforward 77
1.46 Schema Simulink del controllo in cascata, senza velocity feedforward,
applicato al modello rigido e al modello cedevole del sistema . . . . . 77
1.47 Schema Simulink del controllo in cascata, con velocity feedforward,
applicato al modello rigido e al modello cedevole del sistema . . . . . 78
1.48 Andamento, in funzione del tempo, della risposta in posizione del
sistema di controllo in cascata sintetizzato, applicato sia al modello
rigido sia al modello cedevole, senza e con velocity feedforward . . . . 79
IX
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
1.49 Andamento, in funzione del tempo, della risposta in velocità del siste-
ma di controllo in cascata sintetizzato, applicato sia al modello rigido
sia al modello cedevole, senza e con velocity feedforward . . . . . . . . 79
1.50 Analisi nel dettaglio della risposta in posizione del sistema di controllo
in cascata sintetizzato, senza velocity feedforward . . . . . . . . . . . 80
1.51 Analisi nel dettaglio della risposta in posizione del sistema di controllo
in cascata sintetizzato, con velocity feedforward . . . . . . . . . . . . 81
1.52 Andamento, in funzione del tempo, della risposta in posizione dei due
sistemi di controllo progettati . . . . . . . . . . . . . . . . . . . . . . 82
1.53 Andamento, in funzione del tempo, della risposta in velocità dei due
sistemi di controllo progettati . . . . . . . . . . . . . . . . . . . . . . 83
1.54 Analisi nel dettaglio della risposta in posizione dei due sistemi di
controllo progettati . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
1.55 Analisi nel dettaglio della risposta in velocità dei due sistemi di con-
trollo progettati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
1.56 Modello Simulink del sistema di controllo in posizione progettato, con
blocchi Quantizer e Rate Transition . . . . . . . . . . . . . . . . . . . 85
1.57 Profilo di moto in posizione e in velocità, applicato in ingresso al
posizionatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
1.58 Confronto tra risposte in posizione del sistema di controllo in po-
sizione, ricavata in simulazione e ottenuta sull’interfaccia aptica a
disposizione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
1.59 Confronto tra risposte in velocità del sistema di controllo in posizione,
ricavata in simulazione e ottenuta sull’interfaccia aptica a disposizione. 87
1.60 Risposte in posizione e velocità del sistema di controllo in posizione,
valutate più nel dettaglio . . . . . . . . . . . . . . . . . . . . . . . . . 88
1.61 Andamento, in funzione del tempo, della posizione lineare del mani-
polo dell’interfaccia aptica, durante l’operazione di homing . . . . . . 91
1.62 Andamento, in funzione del tempo, della velocità lineare del manipolo
dell’interfaccia aptica, durante l’operazione di homing . . . . . . . . . 91
X
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
2.1 Schema a blocchi del controllo in forza in ammettenza . . . . . . . . . 95
2.2 Schema a blocchi del sistema di controllo in impedenza in anello aperto 97
2.3 Schema a blocchi del sistema di controllo in impedenza in anello chiuso100
2.4 Schema del controllo in forza per l’ambiente molla . . . . . . . . . . 102
2.5 Andamento dei poli di GFF e GFX al variare di Kp - ambiente molla . 103
2.6 Diagrammi di Bode del modulo di GFF e GFX - Ambiente molla
utilizzando un regolatore di tipo proporzionale con Km = 60 N
m
e
Kp = 0.01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
2.7 Diagrammi di Bode del modulo di GFF e GFX - Ambiente molla
utilizzando un regolatore di tipo proporzionale con Km = 60 N
m
e
Kp = 0.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
2.8 Risposta allo scalino di forza: confronto fra forza operatore e forza
generata dall’ambiente (grafico sopra) e andamento nel tempo della
posizione del carrello (grafico sotto) . . . . . . . . . . . . . . . . . . 105
2.9 Andamento dei poli di Gff e Gfx al variare di KI - ambiente molla . 106
2.10 Diagramma di Bode del modulo di GFF e GFX utilizzando un puro
integratore come regolatore di forza . . . . . . . . . . . . . . . . . . . 109
2.11 Andamento nel tempo di forza operatore e forza ambiente ( grafico
sopra) e della coordinata x del carrello (grafico sotto), utilizzando un
puro integratore come controllore di forza . . . . . . . . . . . . . . . . 110
2.12 Andamento,in funzione del tempo, della posizione x del manipolo,
durante la simulazione del comportamento di una molla ideale di
rigidezza Km = 250 N
m
con controllo in ammettenza . . . . . . . . . . 111
2.13 Andamento, in funzione del tempo, della velocità xp del manipolo,
durante la simulazione del comportamento di una molla ideale di
rigidezza Km = 250 N
m
con controllo in ammettenza . . . . . . . . . . 112
2.15 Andamento, in funzione del tempo, della forza generata dall’ambiente
virtuale, durante la simulazione di una molla ideale di rigidezza Km =
250 N
m
con controllo in ammettenza . . . . . . . . . . . . . . . . . . . 112
XI
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
2.14 Andamento, in funzione del tempo, della forza esercitata dall’ope-
ratore sul manipolo, durante la simulazione di una molla ideale di
rigidezza Km = 250 N
m
con controllo in ammettenza . . . . . . . . . . 113
2.16 Confronto tra la risposta in posizione simulata in ambiente Simulink
e la risposta in posizione ottenuta sul banco di prova del sistema di
controllo in ammettenza - Km = 250 N
m
. . . . . . . . . . . . . . . . . 113
2.17 Confronto tra la risposta in forza simulata in ambiente Simulink e la
risposta in forza ottenuta sul banco di prova del sistema di controllo
in ammettenza - Km = 250 N
m
. . . . . . . . . . . . . . . . . . . . . . 114
2.18 Confronto tra la forza applicata dall’operatore sul manipolo e la forza
generata dall’ambiente virtuale, durante la simulazione del compor-
tamento di una molla di rigidezza Km = 250 N
m
con controllo in
ammettenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
2.19 Andamento, in funzione del tempo, dell’errore in forza, durante la
simulazione del comportamento di una molla di rigidezza Km = 250
N
m
con controllo in ammettenza . . . . . . . . . . . . . . . . . . . . . 115
2.20 Confronto tra le risposte in posizione dell’interfaccia aptica con con-
trollo in ammettenza e di una molla ideale di rigidezza Km = 250
N
m
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
2.21 Andamento, in funzione del tempo, dell’errore in posizione, ottenuto
dal confronto fra posizione effettivamente raggiunta sul banco di pro-
va con controllo in ammettenza e posizione derivante dall’ambiente
ideale rappresentato da una molla con rigidezza Km = 250 N
m
. . . . . 117
2.22 Andamento della forza applicata dall’operatore sul manipolo in fun-
zione della posizione x di quest’ultimo, durante la simulazione del
comportamento di una molla di rigidezza Km = 250 N
m
con controllo
in ammettenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
2.23 Andamento nel tempo del segnale di posizione del carrello ottenuto
sul banchetto con controllo in ammettenza e sul sistema simulato,
applicando in ingresso uno scalino di forza di 20 N ed utilizzando una
rigidezza della molla ideale di Km = 250 N
m
. . . . . . . . . . . . . . . 118
XII
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
2.24 Risultati sperimentali della simulazione di una molla di rigidezza
Km = 60 N
m
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
2.25 Risultati sperimentali: simulazione di una molla di rigidezza Km =
500 N
m
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
2.26 Risultati sperimentali: simulazione di una molla di rigidezza Km =
1000 N
m
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
2.27 Risultati sperimentali della simulazione di una molla di rigidezza
Km = 0 N
m
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
2.28 Diagramma di Bode, di modulo e fase, della funzione di trasferimento
Gid di un ambiente visco-elastico. . . . . . . . . . . . . . . . . . . . . 127
2.29 Risposta in posizione di un ambiente viscoelastico ad uno scalino in
forza, di ampiezza F = 30N, applicatogli in ingresso. . . . . . . . . . 128
2.30 Poli del sistema di controllo in ammettenza, in funzione del guadagno
proporzionale Kp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
2.31 Diagramma di Bode di Gid e di GFX, considerando Kp=0.4 . . . . . . 132
2.32 Diagramma di Bode di GFF , considerando Kp=0.4. . . . . . . . . . . 132
2.33 Risposta ad uno scalino in forza di ampiezza F=30 N di GFX, per
diversi valori del guadagno Kp . . . . . . . . . . . . . . . . . . . . . . 133
2.34 Risposte in posizione ad uno scalino in forza di ampiezza F=30 N
di Gid, GFX e dell’interfaccia aptica simulata impiegando il modello
cedevole del sistema, considerando Kp = 0.01 . . . . . . . . . . . . . . 134
2.35 Risposte simulate in posizione e in forza dell’interfaccia aptica, ad
uno scalino in forza di ampiezza F=30 N, considerando Kp = 0.006 . 135
2.36 Andamento, in funzione del guadagno Ki, dei tre poli del sistema di
controllo in ammettenza . . . . . . . . . . . . . . . . . . . . . . . . . 137
2.37 Andamento, in funzione del guadagno Ki, del polo dominante del
sistema di controllo in ammettenza . . . . . . . . . . . . . . . . . . . 137
2.38 Risposte ad uno scalino in forza, di ampiezza pari a 30 N, delle
funzioni di trasferimento GFX e GFF , considerando KI = 0.6. . . . . 138
2.39 Diagramma di Bode di GFX, considerando Ki = 0.6 . . . . . . . . . . 139
2.40 Diagramma di Bode di GFF , considerando Ki = 0.6 . . . . . . . . . . 139
XIII
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
2.41 Risposta, ad uno scalino in forza di ampiezza F = 30N, del sistema
di controllo in ammettenza, per diversi valori del guadagno KI . . . . 141
2.42 Diagramma di Bode della funzione di trasferimento GFX, per diversi
valori del guadagno KI . . . . . . . . . . . . . . . . . . . . . . . . . . 141
2.43 Diagramma di Bode della funzione di trasferimento GFF , per diversi
valori del guadagno KI . . . . . . . . . . . . . . . . . . . . . . . . . . 142
2.44 Risposte simulate in posizione e in forza dell’interfaccia aptica ad uno
scalino in forza di ampiezza F=30 N, considerando KI = 0.2 . . . . . 143
2.45 Diagramma di Bode di GFX, considerando Kp = 0.4 e Ki = 0.6 . . . 144
2.46 Diagramma di Bode di GFF , considerando Kp = 0.4 e Ki = 0.6 . . . . 144
2.47 Risposte simulate in posizione e in forza dell’interfaccia aptica ad uno
scalino in forza di ampiezza F = 30N, considerando Kp = 0.001 e
Ki = 0.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
2.48 Confronto delle risposte simulate in posizione e in forza dell’interfaccia
aptica, ad uno scalino in forza di ampiezza F = 30N . . . . . . . . . 146
2.49 Spostamento del manipolo, durante la simulazione di un ambiente
visco - elastico caratterizzato da: k = 90N
m
e c = 7Ns
m
. . . . . . . . . 148
2.50 Velocità lineare del manipolo, durante la simulazione di un ambiente
visco - elastico caratterizzato da: k = 90N
m
e c = 7Ns
m
. . . . . . . . . 148
2.51 Forza applicata dall’operatore sul manipolo, durante la simulazione
di un ambiente visco - elastico caratterizzato da: k = 90N
m
e c = 7Ns
m
. 149
2.52 Forza generata dall’ambiente virtuale, durante la simulazione di un
ambiente visco - elastico caratterizzato da: k = 90N
m
e c = 7Ns
m
. . . . 149
2.53 Andamenti sovrapposti di Fop e Famb, durante la simulazione di un
ambiente visco - elastico caratterizzato da: k = 90N
m
e c = 7Ns
m
. . . . 150
2.54 Errore in forza, durante la simulazione di un ambiente visco - elastico
caratterizzato da: k = 90N
m
e c = 7Ns
m
. . . . . . . . . . . . . . . . . . 151
2.55 Andamenti sovrapposti delle risposte in posizione di un ambiente vi-
sco - elastico, caratterizzato da: k = 90N
m
e c = 7Ns
m
, e dell’interfaccia
aptica controllata in ammettenza. . . . . . . . . . . . . . . . . . . . . 152
XIV
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
2.56 Errore in posizione, durante la simulazione di un ambiente visco -
elastico caratterizzato da: k = 90N
m
e c = 7Ns
m
. . . . . . . . . . . . . . 152
2.57 Risultati sperimentali della simulazione di un ambiente visco - elastico
con K = 90N
m
e c = 7Ns
m
, a velocità sostenute . . . . . . . . . . . . . . 155
2.58 Confronto tra forza operatore e forza ambiente, durante le simulazioni
di un ambiente visco - elastico con K = 90N
m
e c = 7Ns
m
, a basse e a
più sostenute velocità lineari del manipolo . . . . . . . . . . . . . . . 156
2.59 Risultati sperimentali della simulazione di un ambiente visco - elastico
con K = 90N
m
e c = 20Ns
m
, a velocità basse . . . . . . . . . . . . . . . 157
2.60 Risultati sperimentali della simulazione di un ambiente visco - elastico
con K = 90N
m
e c = 1Ns
m
, a velocità basse . . . . . . . . . . . . . . . . 158
2.61 Risultati sperimentali della simulazione di un ambiente visco - elastico
con K = 90N
m
e c = 1Ns
m
, a velocità sostenute. . . . . . . . . . . . . . 159
2.62 Risultati sperimentali della simulazione di un ambiente visco - elastico
con K = 45N
m
e c = 20Ns
m
, a velocità sostenute. . . . . . . . . . . . . . 160
2.63 Risultati sperimentali della simulazione di un ambiente visco - elastico
con k = 150N
m
e c = 11.667Ns
m
, a velocità basse. . . . . . . . . . . . . . 163
2.64 Risultati sperimentali della simulazione di un ambiente visco - elastico
con K = 150N
m
e c = 11.667Ns
m
, a velocità sostenute. . . . . . . . . . . 164
2.65 Diagramma di Bode di modulo e fase dell’ambiente ideale caratteriz-
zato da M=3 kg, C= 1 Ns
m
e K=50 N
m
. . . . . . . . . . . . . . . . . . 167
2.66 Andamento nel tempo della risposta del sistema ideale applicando in
ingresso uno scalino di 30 N . . . . . . . . . . . . . . . . . . . . . . . 168
2.67 Schema a blocchi Simulink del sistema di controllo in ammettenza -
Ambiente completo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
2.68 Andamento dei poli di GFF e GFX al variare di KI - Ambiente completo170
2.69 Diagrammi di Bode del modulo di GFF e GFX utilizzando un doppio
integratore con controllo in ammettenza - Ambiente completo . . . . 171
2.70 Diagramma di Bode del modulo di GFF al variare del parametro KI
del regolatore - Ambiente completo . . . . . . . . . . . . . . . . . . . 172
XV
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
2.71 Diagramma di Bode del modulo di GFX al variare del parametro KI
del regolatore - Ambiente completo . . . . . . . . . . . . . . . . . . . 172
2.72 Pulsazione naturale e smorzamento dei poli dominanti in anello chiuso
della funzione di trasferimento GFX - Ambiente completo . . . . . . . 173
2.73 Risposte del sistema di controllo allo scalino in forza di 30 N consi-
derando valori diversi di KI - Ambiente completo . . . . . . . . . . . 174
2.74 Spostamento del manipolo, durante la simulazione di un ambiente
completo caratterizzato da M=3 kg, C=1 Ns
m
e K=50 N
m
, con controllo
in ammettenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
2.75 Velocità del manipolo, durante la simulazione di un ambiente com-
pleto caratterizzato da M=3 kg, C=1 Ns
m
e K=50 N
m
, con controllo in
ammettenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
2.76 Accelerazione del manipolo, durante la simulazione di un ambiente
completo caratterizzato da M=3 kg, C=1 Ns
m
e K=50 N
m
, con controllo
in ammettenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
2.77 Forza applicata dall’operatore sul manipolo, durante la simulazione
di un ambiente completo caratterizzato da M=3 kg, C=1 Ns
m
e K=50
N
m
, con controllo in ammettenza . . . . . . . . . . . . . . . . . . . . . 176
2.78 Forza generata dall’ambiente virtuale, durante la simulazione di un
ambiente completo caratterizzato da M=3 kg, C=1 Ns
m
e K=50 N
m
,
con controllo in ammettenza . . . . . . . . . . . . . . . . . . . . . . . 177
2.79 Andamenti sovrapposti di Fop e Famb, durante la simulazione di un
ambiente completo caratterizzato da M=3 kg, C=1 Ns
m
e K=50 N
m
,
con controllo in ammettenza . . . . . . . . . . . . . . . . . . . . . . . 177
2.80 Errore in forza, durante la simulazione di un ambiente completo
caratterizzato da M=3 kg, C=1 Ns
m
e K=50 N
m
, con controllo in
ammettenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
2.81 Andamenti sovrapposti delle risposte in posizione di un ambiente
completo caratterizzato da M=3 kg, C=1 Ns
m
e K=50 N
m
, e dell’in-
terfaccia aptica con controllo in ammettenza . . . . . . . . . . . . . . 179
XVI
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
2.82 Errore in posizione durante la simulazione di un ambiente comple-
to caratterizzato da M=3 kg, C=1 Ns
m
e K=50 N
m
con controllo in
ammettenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
2.83 Risultati sperimentali della simulazione di un ambiente completo con
M=3 kg, C=10 Ns
m
e K=50 N
m
con controllo in ammettenza a basse
velocità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
2.84 Risultati sperimentali della simulazione di un ambiente completo con
M=3 kg, C=10 Ns
m
e K=50 N
m
con controllo in ammettenza a velocità
sostenute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
2.85 Risultati sperimentali della simulazione di un ambiente completo con
M=10 kg, C=1 Ns
m
e K=50 N
m
con controllo in ammettenza a basse
velocità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
2.86 Risultati sperimentali della simulazione di un ambiente completo con
M=3 kg, C=1 Ns
m
e K=150 N
m
con controllo in ammettenza a basse
velocità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
2.87 Risultati sperimentali della simulazione di un ambiente completo con
M=3 kg, C=1 Ns
m
e K=150 N
m
con controllo in ammettenza a velocità
sostenute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
2.88 Risultati sperimentali della simulazione di un ambiente completo con
M=9 kg, C=1 Ns
m
e K=150 N
m
con controllo in ammettenza a basse
velocità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
2.89 Risultati sperimentali della simulazione di un ambiente completo con
M=9 kg, C=1 Ns
m
e K=150 N
m
con controllo in ammettenza a velocità
sostenute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
2.90 Risposta ad uno scalino in forza di ampiezza F = 30N della funzione
di trasferimento GFX, considerando di simulare una molla ideale di
rigidezza Km = 250N
m
. . . . . . . . . . . . . . . . . . . . . . . . . . . 191
2.91 Risposta ad uno scalino in forza di ampiezza F = 30N della funzione
di trasferimento GFF , impiegando un controllore in forza puramente
proporzionale e considerando di simulare una molla ideale di rigidezza
Km = 250N
m
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
XVII
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
2.92 Andamento dei poli e dello zero del sistema di controllo in anello
chiuso, in funzione del guadagno proporzionale Kp e per un guadagno
derivativo Kd = 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
2.93 Diagramma di Bode di GFX, per diversi valori del guadagno propor-
zionale e per un guadagno derivativo Kd = 2 . . . . . . . . . . . . . . 194
2.94 Diagramma di Bode di GFF , per diversi valori del guadagno propor-
zionale e per un guadagno derivativo Kd = 2 . . . . . . . . . . . . . . 195
2.95 Risposte in posizione e in forza del sistema di controllo, ad uno sca-
lino in forza di ampiezza F = 30N, per diversi valori del guadagno
proporzionale e per un guadagno derivativo Kd = 2. . . . . . . . . . . 195
2.96 Poli e zero del sistema di controllo in impedenza in anello chiuso, in
funzione del guadagno derivativo e per un guadagno proporzionale
Kp = 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
2.97 Diagramma di Bode di GFX, per diversi valori del guadagno deriva-
tivo e per un guadagno proporzionale Kp = 10. . . . . . . . . . . . . . 197
2.98 Diagramma di Bode di GFF , per diversi valori del guadagno derivativo
e per un guadagno proporzionale Kp = 10. . . . . . . . . . . . . . . . 197
2.99 Posizione x del manipolo, durante la simulazione del comportamento
di una molla ideale di rigidezza Km = 250N
m
. . . . . . . . . . . . . . 200
2.100Velocità xp del manipolo, durante la simulazione del comportamento
di una molla ideale di rigidezza Km = 250N
m
. . . . . . . . . . . . . . 201
2.101Forza esercitata dall’operatore sul manipolo, durante la simulazione
di una molla ideale di rigidezza Km = 250N
m
. . . . . . . . . . . . . . 201
2.102Forza generata dall’ambiente virtuale, durante la simulazione di una
molla ideale di rigidezza Km = 250N
m
. . . . . . . . . . . . . . . . . . 202
2.103Confronto tra la risposta in posizione simulata in ambiente Simulink
e la risposta in posizione ottenuta sul banco di prova del sistema di
controllo in impedenza in anello chiuso. . . . . . . . . . . . . . . . . . 203
2.104Confronto tra la risposta in forza simulata in ambiente Simulink e la
risposta in forza ottenuta sul banco di prova del sistema di controllo
in impedenza in anello chiuso. . . . . . . . . . . . . . . . . . . . . . . 203
XVIII
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
2.105Confronto tra la forza applicata dall’operatore sul manipolo e la forza
generata dall’ambiente virtuale, durante la simulazione di una molla
di rigidezza Km = 250N
m
. . . . . . . . . . . . . . . . . . . . . . . . . 204
2.106Errore in forza, durante la simulazione di una molla di rigidezza Km =
250N
m
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
2.107Confronto tra le risposte in posizione dell’interfaccia aptica e di una
molla ideale di rigidezza Km = 250N
m
. . . . . . . . . . . . . . . . . . 206
2.108Errore in posizione, durante la simulazione di una molla di rigidezza
k = 250N
m
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
2.109Forza applicata dall’operatore sul manipolo in funzione della sua po-
sizione x, durante la simulazione di una molla ideale di rigidezza
Km = 250N
m
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
2.110Risposte in posizione e in forza dell’interfaccia aptica all’applicazione
di una condizione iniziale in posizione, durante la simulazione di una
molla ideale di rigidezza Km= 250 N
m
. . . . . . . . . . . . . . . . . . 208
2.111Vista più nel dettaglio delle risposte in posizione e in forza dell’inter-
faccia aptica all’applicazione di una condizione iniziale in posizione,
durante la simulazione di una molla ideale di rigidezza Km= 250 N
m
. 208
2.112Risultati sperimentali della simulazione di una molla ideale di rigi-
dezza Km=60 N
m
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
2.113Risultati sperimentali della simulazione di una molla ideale di rigi-
dezza Km=500 N
m
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
2.114Risultati sperimentali della simulazione di una molla ideale di rigi-
dezza Km=1000 N
m
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
2.115Risultati sperimentali della simulazione dell’ambiente trasparenza. . . 213
2.116Poli e zero del sistema di controllo in anello chiuso, in funzione di Kp. 217
2.117Diagramma di Bode di GFX, al variare di Kp. . . . . . . . . . . . . . 218
2.118Diagramma di Bode di GFF , al variare di Kp. . . . . . . . . . . . . . 218
2.119Spostamento del manipolo, durante la simulazione di un ambiente
visco - elastico caratterizzato da: K = 90N
m
e c = 7Ns
m
. . . . . . . . . 221
XIX
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
2.120Velocità lineare del manipolo, durante la simulazione di un ambiente
visco - elastico caratterizzato da: K = 90N
m
e c = 7Ns
m
. . . . . . . . . 221
2.121Forza applicata dall’operatore sul manipolo, durante la simulazione
di un ambiente visco - elastico caratterizzato da: K = 90N
m
e c = 7Ns
m
222
2.122Forza generata dall’ambiente virtuale, durante la simulazione di un
ambiente visco - elastico caratterizzato da: K = 90N
m
e c = 7Ns
m
. . . 222
2.123Andamenti sovrapposti di Fop e Famb, durante la simulazione di un
ambiente visco - elastico caratterizzato da: K = 90N
m
e c = 7Ns
m
. . . 223
2.124Errore in forza, durante la simulazione di un ambiente visco - elastico
caratterizzato da: K = 90N
m
e c = 7Ns
m
. . . . . . . . . . . . . . . . . 223
2.125Andamenti sovrapposti delle risposte in posizione di un ambiente vi-
sco - elastico, caratterizzato da: K = 90 N
m
e c = 7 Ns
m
, e dell’inter-
faccia aptica controllata in impedenza in anello chiuso. . . . . . . . . 224
2.126Errore in posizione, durante la simulazione di un ambiente visco -
elastico caratterizzato da: k = 90N
m
e c = 7Ns
m
. . . . . . . . . . . . . . 225
2.127Risultati sperimentali della simulazione di un ambiente visco - elastico
con K = 90N
m
e c = 7Ns
m
, a velocità elevate . . . . . . . . . . . . . . . 228
2.128Risultati sperimentali della simulazione di un ambiente visco - elastico
con K = 90N
m
e c = 20Ns
m
, a velocità sostenute . . . . . . . . . . . . . 229
2.129Risultati sperimentali della simulazione di un ambiente visco - elastico
con K = 90N
m
e c = 20Ns
m
, a velocità elevate . . . . . . . . . . . . . . 230
2.130Risultati sperimentali della simulazione di un ambiente visco - elastico
con K = 90N
m
e c = 1Ns
m
, a velocità sostenute . . . . . . . . . . . . . . 231
2.131Risultati sperimentali della simulazione di un ambiente visco - elastico
con K = 90N
m
e c = 1Ns
m
, a velocità elevate . . . . . . . . . . . . . . . 232
2.132Risultati sperimentali della simulazione di un ambiente visco - elastico
con K = 45N
m
e c = 20Ns
m
, a velocità sostenute . . . . . . . . . . . . . 233
2.133Risultati sperimentali della simulazione di un ambiente visco - elastico
con K = 45N
m
e c = 20Ns
m
, a velocità elevate . . . . . . . . . . . . . . 234
2.134Risultati sperimentali della simulazione di un ambiente visco - elastico
con K = 150N
m
e c = 11.67Ns
m
, a velocità basse . . . . . . . . . . . . . 235
XX
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
2.135Risultati sperimentali della simulazione di un ambiente visco - elastico
con K = 150N
m
e c = 11.67Ns
m
, a velocità sostenute . . . . . . . . . . . 236
2.136Pulsazione naturale e smorzamento dei poli del sistema di controllo
in impedenza anello chiuso, in funzione del guadagno proporzionale Kp.240
2.137Diagramma di Bode di GFX, per diversi valori del guadagno propor-
zionale Kp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
2.138Diagramma di Bode di GFF , per diversi valori del guadagno propor-
zionale Kp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
2.139Andamenti del polo reale, dello zero, della pulsazione naturale e dello
smorzamento dei poli complessi coniugati di GFX, in funzione di Ki
e per Kp = 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
2.140Andamenti del polo reale, dello zero, della pulsazione naturale e dello
smorzamento dei poli complessi coniugati di GFX, in funzione di Kp
e per Ki = 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
2.141Diagramma di Bode di GFX, per diversi valori di Kp e per Ki = 1. . . 246
2.142Diagramma di Bode di GFX, per diversi valori di Ki e per Kp = 1. . . 246
2.143Diagramma di Bode di GFF , per diversi valori di Kp e per Ki = 1. . . 247
2.144Diagramma di Bode di GFF , per diversi valori di Ki e per Kp = 1. . . 247
2.145Spostamento del manipolo, durante la simulazione di un ambiente
completo caratterizzato da: m = 3Kg, c = 1Ns
m
e k = 50N
m
. . . . . . 249
2.146Velocità del manipolo, durante la simulazione di un ambiente com-
pleto caratterizzato da: m = 3Kg, c = 1Ns
m
e k = 50N
m
. . . . . . . . . 250
2.147Accelerazione del manipolo, durante la simulazione di un ambiente
completo caratterizzato da: m = 3Kg, c = 1Ns
m
e k = 50N
m
. . . . . . 250
2.148Forza applicata dall’operatore sul manipolo, durante la simulazione
di un ambiente completo caratterizzato da: m = 3Kg, c = 1Ns
m
e
k = 50N
m
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
2.149Forza generata dall’ambiente virtuale, durante la simulazione di un
ambiente completo caratterizzato da: m = 3Kg, c = 1Ns
m
e k = 50N
m
. . 251
2.150Andamenti sovrapposti di Fop e Famb, durante la simulazione di un
ambiente completo caratterizzato da: m = 3Kg, c = 1Ns
m
e k = 50N
m
. . 252
XXI
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
2.151Errore in forza, durante la simulazione di un ambiente completo
caratterizzato da: m = 3Kg, c = 1Ns
m
e k = 50N
m
. . . . . . . . . . . . 253
2.152Andamenti sovrapposti delle risposte in posizione di un ambiente
completo, caratterizzato da: m = 3Kg, c = 1Ns
m
e k = 50N
m
, e
dell’interfaccia aptica controllata in impedenza in anello chiuso. . . . 254
2.153Errore in posizione, durante la simulazione di un ambiente completo
caratterizzato da: m = 3Kg, c = 1Ns
m
e k = 50N
m
. . . . . . . . . . . . 254
2.154Risultati sperimentali della simulazione di un ambiente completo con
m = 3Kg, c = 10Ns
m
e k = 50N
m
, a velocità sostenute. . . . . . . . . . 257
2.155Risultati sperimentali della simulazione di un ambiente completo con
m = 3Kg, c = 10Ns
m
e k = 50N
m
, a velocità elevate. . . . . . . . . . . . 258
2.156Risultati sperimentali della simulazione di un ambiente completo con
m = 6Kg, c = 1Ns
m
e k = 50N
m
, a velocità sostenute. . . . . . . . . . . 259
2.157Risultati sperimentali della simulazione di un ambiente completo con
m = 3Kg, c = 1Ns
m
e k = 150N
m
, a velocità sostenute. . . . . . . . . . 260
2.158Risultati sperimentali della simulazione di un ambiente completo con
m = 3Kg, c = 1Ns
m
e k = 150N
m
, a velocità elevate. . . . . . . . . . . . 261
2.159Risultati sperimentali della simulazione di un ambiente completo con
m = 9Kg, c = 1Ns
m
e k = 150N
m
, a velocità sostenute. . . . . . . . . . 262
2.160Risultati sperimentali della simulazione di un ambiente completo con
m = 9Kg, c = 1Ns
m
e k = 150N
m
, a velocità elevate. . . . . . . . . . . . 263
2.161Schema Simulink impiegato per riprodurre l’ambiente trasparenza,
mediante un sistema di controllo in impedenza in anello chiuso con
compensazione dell’attrito . . . . . . . . . . . . . . . . . . . . . . . . 274
2.162Risultati sperimentali della riproduzione di un ambiente trasparenza,
mediante sistema di controllo in impedenza in anello chiuso, senza
compensazione dell’attrito . . . . . . . . . . . . . . . . . . . . . . . . 275
2.163Risultati sperimentali della riproduzione di un ambiente trasparen-
za, mediante sistema di controllo in impedenza in anello chiuso, con
compensazione dell’attrito. . . . . . . . . . . . . . . . . . . . . . . . . 276
XXII
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
2.164Schema Simulink impiegato per riprodurre l’ambiente trasparenza,
mediante un sistema di controllo in ammettenza con compensazione
dell’attrito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
2.165Risultati sperimentali della riproduzione di un ambiente trasparenza,
mediante sistema di controllo in ammettenza, senza compensazione
dell’attrito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
2.166Risultati sperimentali della riproduzione di un ambiente trasparen-
za, mediante sistema di controllo in ammettenza, con compensazione
dell’attrito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
2.167Ambiente inerziale con M = 20 kg, Kp = 2 e KI = 25 . . . . . . . . . 284
2.168Ambiente scatola con Km = 0 N
m
con controllo in impedenza . . . . . 287
2.169Ambiente scatola con Km = 0 N
m
con controllo in ammettenza . . . . 288
2.170Ambiente scatola con Km = 60 N
m
con controllo in ammettenza . . . . 288
2.171Ambiente triangolare instabile con Km = 60 N
m
e xv = 0.09 m . . . . . 290
2.172Ambiente triangolare stabile con Km = 60 N
m
e xv = 0.09 m . . . . . . 290
2.173Ambiente sinusoidale instabile con Ca = 12 xv = 0.18 m . . . . . . . . 291
2.174Ambiente sinusoidale stabile con Ca = 12 xv = 0.18 m . . . . . . . . . 292
2.175Ambiente a dente di sega con Km = 60 N
m
,xs = 0.18 m . . . . . . . . 293
3.1 Banco a disposizione sistema cartesiano a due gradi di libertà . . . . 298
3.2 Schematizzazione dell’asse X-Modello rigido . . . . . . . . . . . . . . 304
3.3 Schema Simulink del modello rigido dell’asse X . . . . . . . . . . . . 305
3.4 Schematizzazione dell’asse X - Modello cedevole . . . . . . . . . . . . 306
3.5 Grado di libertà θ1 - Asse X . . . . . . . . . . . . . . . . . . . . . . . 307
3.6 Grado di libertà θ2 - Asse X . . . . . . . . . . . . . . . . . . . . . . . 307
3.7 Grado di libertà x - Asse X . . . . . . . . . . . . . . . . . . . . . . . 308
3.8 Grado di libertà θ3 - Asse X . . . . . . . . . . . . . . . . . . . . . . . 308
3.9 Schematizzazione della puleggia 1 e 2 per il calcolo della lunghezza
libera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
3.10 Andamento dei valori delle rigidezze k2 e k3 in funzione della posizione
assunta dal carrello lungo l’asse X . . . . . . . . . . . . . . . . . . . . 311
XXIII
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
3.11 Schema Simulink del modello cedevole dell’ asse X . . . . . . . . . . . 311
3.12 Andamento delle pulsazioni naturali in funzione della posizione del
carrello - asse X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
3.13 Pulsazioni naturali e modi di vibrare in x=0 - asse X . . . . . . . . . 313
3.14 Oscillazioni libere del sistema non smorzato, non forzato, condizioni
iniziali pari al secondo modo di vibrare - Asse X . . . . . . . . . . . . 314
3.15 Oscillazioni smorzate del sistema, non forzato, condizioni iniziali pari
al secondo modo di vibrare - Asse X . . . . . . . . . . . . . . . . . . . 315
3.16 Risposta nel tempo del sistema smorzato, forzante Q = [1, 0, 0, 0]
costante, K costante - Asse X . . . . . . . . . . . . . . . . . . . . . . 315
3.17 Andamento nel tempo della rotazione del motore, confrontando le
risposte forzate, del modello cedevole non smorzato e del rigido, uti-
lizzando come ingresso una sinusoide con ampiezza di 20 Nm e pul-
sazione pari a 413.86 rad
s
- Asse X . . . . . . . . . . . . . . . . . . . . 316
3.18 Andamento nel tempo della rotazione del motore, confrontando le
risposte forzate, del modello cedevole non smorzato e del rigido, uti-
lizzando come ingresso una sinusoide con ampiezza di 20 Nm e pul-
sazione pari a quella del secondo modo di vibrare - Asse X . . . . . . 316
3.19 Andamento nel tempo della rotazione del motore, confrontando le
risposte forzate, del modello cedevole smorzato e del rigido, utilizzan-
do come ingresso una sinusoide con ampiezza di 20 Nm e pulsazione
paria quella del secondo modo di vibrare - Asse X . . . . . . . . . . . 317
3.20 Schematizzazione dell’asse Y considerato come rigido . . . . . . . . . 318
3.21 Schema Simulink del modello rigido dell’asse Y . . . . . . . . . . . . 319
3.22 Schematizzazione del modello cedevole - Asse Y . . . . . . . . . . . . 320
3.23 Schematizzazione compatta del modello cedevole - Asse Y . . . . . . 321
3.24 Gradi di libertà θ1 e θ2 - Asse Y . . . . . . . . . . . . . . . . . . . . . 321
3.25 Gradi di libertà θ3 e θ4 - Asse Y . . . . . . . . . . . . . . . . . . . . . 322
3.26 Schema Simulink del modello cedevole dell’asse Y . . . . . . . . . . . 325
3.27 Andamento dei valori delle rigidezze k2s e k2d in funzione della posi-
zione assunta dalla massa traslante lungo l’asse Y . . . . . . . . . . . 325
XXIV
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
3.28 Andamento delle pulsazioni naturali in funzione della posizione del
carrello - Asse Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
3.29 Pulsazioni naturali e modi di vibrare in y=0 - Asse Y . . . . . . . . . 327
3.30 Oscillazioni libere del sistema non smorzato, non forzato, condizioni
iniziali pari al secondo modo di vibrare - Asse Y . . . . . . . . . . . . 328
3.31 Oscillazioni smorzate del sistema, non forzato, condizioni iniziali pari
al secondo modo di vibrare - Asse Y . . . . . . . . . . . . . . . . . . . 329
3.32 Risposta nel tempo del sistema smorzato, forzante Q = [1, 0, 0, 0]
costante, K costante - Asse Y . . . . . . . . . . . . . . . . . . . . . . 329
3.33 Andamento nel tempo della rotazione del motore, confrontando le
risposte forzate, del modello cedevole non smorzato e del rigido, uti-
lizzando come ingresso una sinusoide con ampiezza di 20 Nm e pul-
sazione pari a 257.85 rad
s
- Asse Y . . . . . . . . . . . . . . . . . . . . 330
3.34 Andamento nel tempo della rotazione del motore, confrontando le
risposte forzate, del modello cedevole non smorzato e del rigido, uti-
lizzando come ingresso una sinusoide con ampiezza di 20 Nm e pul-
sazione pari a quella del secondo modo di vibrare - Asse Y . . . . . . 330
3.35 Andamento nel tempo della rotazione del motore, confrontando le ri-
sposte forzate, del modello cedevole smorzato e del rigido, utilizzando
come ingresso una sinusoide con ampiezza di 20 Nm e pulsazione pari
a quella del secondo modo di vibrare - Asse Y . . . . . . . . . . . . . 331
3.36 Schema di controllo basato sul posizionamento poli - Asse X rigido . . 333
3.37 Schema di controllo basato sul posizionamento poli - Asse X cedevole 333
3.38 Generazione dei riferimenti di posizione e velocità - Asse X . . . . . . 333
3.39 Riferimenti di posizione e velocità lineare- Asse X . . . . . . . . . . . 334
3.40 Andamento nel tempo della posizione del carrello controllata tramite
posizionamento poli - Asse X . . . . . . . . . . . . . . . . . . . . . . 335
3.41 Andamento nel tempo della velocità del carrello controllata tramite
posizionamento poli - Asse X . . . . . . . . . . . . . . . . . . . . . . 335
XXV
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
3.42 Sovraelongazione al termine della fase di alzata nel profilo di posizione
seguito dal carrello carrello controllato tramite posizionamento poli -
Asse X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
3.43 Sovraelongazione, al termine della fase di alzata, nel profilo di velocità
seguito dal carrello carrello controllato tramite posizionamento poli -
Asse X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
3.44 Diagramma di Bode, del modulo e della fase, della funzione di tra-
sferimento del posizionatore che riceve in ingresso la posizione di
riferimento - Asse X . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
3.45 Diagramma di Bode, del modulo e della fase, della funzione di trasferi-
mento del posizionatore che riceve in ingresso la velocità di riferimento
- Asse X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
3.46 Confronto fra posizione di riferimento ed effettiva raggiunta dal car-
rello usando la metodologia del posizionamento poli - asse X . . . . . 339
3.47 Confronto fra velocità di riferimento ed effettiva raggiunta dal carrello
usando la metodologia del posizionamento poli - asse X . . . . . . . . 339
3.48 Schema di controllo basato sul posizionamento poli - Asse Y rigido . . 340
3.49 Schema di controllo basato sul posizionamento poli - Asse Y cedevole 341
3.50 Generazione dei riferimenti di posizione e velocità - Asse Y . . . . . . 341
3.51 Riferimenti di posizione e velocità lineare- Asse Y . . . . . . . . . . . 342
3.52 Andamento nel tempo della posizione del carrello controllata tramite
posizionamento poli - Asse Y . . . . . . . . . . . . . . . . . . . . . . 343
3.53 Andamento nel tempo della velocità del carrello controllata tramite
posizionamento poli - Asse Y . . . . . . . . . . . . . . . . . . . . . . 344
3.54 Sovraelongazione al termine della fase di alzata nel profilo di posizione
seguito dal carrello carrello controllato tramite posizionamento poli -
Asse Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
3.55 Sovraelongazione, al termine della fase di alzata, nel profilo di velocità
seguito dal carrello carrello controllato tramite posizionamento poli -
Asse Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
XXVI
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
3.56 Diagramma di Bode, del modulo e della fase, della funzione di tra-
sferimento del posizionatore che riceve in ingresso la posizione di
riferimento - Asse Y . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
3.57 Diagramma di Bode, del modulo e della fase, della funzione di trasferi-
mento del posizionatore che riceve in ingresso la velocità di riferimento
- Asse Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
3.58 Confronto fra posizione di riferimento ed effettiva raggiunta dal car-
rello usando la metodologia del posizionamento poli - asse Y . . . . . 347
3.59 Confronto fra velocità di riferimento ed effettiva raggiunta dal carrello
usando la metodologia del posizionamento poli - asse Y . . . . . . . . 347
3.60 Andamento, in funzione del tempo, della posizione del carrello sul-
l’asse X, durante l’operazione di ”homing” . . . . . . . . . . . . . . . 349
3.61 Andamento, in funzione del tempo, della posizione della massa tra-
slante sull’asse Y, durante l’operazione di homing . . . . . . . . . . . 350
3.62 Traiettoria generica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
3.63 Chiusura vettoriale applicata al sistema cartesiano . . . . . . . . . . . 354
3.64 Legge oraria s(t) - ṡ(t), s̈(t) , per una traiettoria lineare . . . . . . . . 358
3.65 Profilo di posizione, lungo l’asse x e l’asse y del sistema cartesiano . . 359
3.66 Profilo di velocità, lungo l’asse x e l’asse y del sistema cartesiano . . . 359
3.67 Profilo di accelerazione, lungo l’asse x e l’asse y del sistema cartesiano 360
3.68 Profili di posizione richiesti ai motori dell’asse x e dell’asse y . . . . . 360
3.69 Profili di velocità richiesti ai motori dell’asse x e dell’asse y . . . . . . 361
3.70 Profili di accelerazione richiesti ai motori dell’asse x e dell’asse y . . . 361
3.71 Profili di coppia richiesti ai motori dell’asse x e dell’asse y . . . . . . 362
3.72 Risposta in posizione e in velocità dell’asse x. . . . . . . . . . . . . . 363
3.73 Risposta in posizione e in velocità dell’asse y. . . . . . . . . . . . . . . 363
3.74 Traiettoria lineare effettivamente compiuta dall’end - effector del si-
stema cartesiano, nel piano x - y. . . . . . . . . . . . . . . . . . . . . 364
3.75 Legge oraria s(t) - ṡ(t), s̈(t) , per una traiettoria circolare. . . . . . . 368
3.76 Profilo di moto in posizione e in velocità per l’asse y. . . . . . . . . . 369
3.77 Profilo di moto in posizione e in velocità per l’asse x. . . . . . . . . . 369
XXVII
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
3.78 Risposta in posizione e in velocità dell’asse x. . . . . . . . . . . . . . 370
3.79 Risposta in posizione e in velocità dell’asse y. . . . . . . . . . . . . . . 370
3.80 Traiettoria circolare effettivamente compiuta dall’end-effector del si-
stema cartesiano, nel piano x - y. . . . . . . . . . . . . . . . . . . . . 371
3.81 Legge oraria θ(t) - θ̇(t), θ̈(t) , per una traiettoria a spirale di Archimede374
3.82 Profilo di moto in posizione e in velocità per l’asse x . . . . . . . . . . 375
3.83 Profilo di moto in posizione e in velocità per l’asse y . . . . . . . . . . 375
3.84 Risposta in posizione e in velocità dell’asse x . . . . . . . . . . . . . . 376
3.85 Risposta in posizione e in velocità dell’asse y . . . . . . . . . . . . . . 376
3.86 Traiettoria a Spirale di Archimede effettivamente compiuta dall’end-
effector del sistema cartesiano, nel piano X - Y . . . . . . . . . . . . 377
3.87 Legge oraria t - ṫ, ẗ , per una traiettoria a farfalla . . . . . . . . . . . 379
3.88 Profilo di moto in posizione e in velocità per l’asse x . . . . . . . . . . 380
3.89 Profilo di moto in posizione e in velocità per l’asse y . . . . . . . . . . 380
3.90 Risposta in posizione e in velocità dell’asse x . . . . . . . . . . . . . . 381
3.91 Risposta in posizione e in velocità dell’asse y . . . . . . . . . . . . . . 381
3.92 Traiettoria a farfalla effettivamente compiuta dall’end-effector del
sistema cartesiano, nel piano x - y . . . . . . . . . . . . . . . . . . . . 382
4.1 Schema a blocchi del sistema di comunicazione fra interfaccia aptica
e robot cartesiano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
4.2 Blocco Simulink Real-time UDP configuration del trasmettitore . . . 394
4.3 Blocco Simulink Byte packing del trasmettitore . . . . . . . . . . . . 395
4.4 Blocco Simulink Real-Time UDP send del trasmettitore . . . . . . . 396
4.5 Blocco Simulink Real-Time UDP receive del ricevitore . . . . . . . . 396
4.6 Blocco Simulink Byte unpacking del ricevitore . . . . . . . . . . . . . 397
4.7 Schema Simulink realizzato per permettere la comunicazione fra i due
PC industriali di trasmettitore e ricevitore, utilizzando il protocollo
UDP - Lato trasmettitore . . . . . . . . . . . . . . . . . . . . . . . . 397
XXVIII
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
4.8 Schema Simulink realizzato per permettere la comunicazione fra i due
PC industriali di trasmettitore e ricevitore, utilizzando il protocollo
UDP - Lato ricevitore . . . . . . . . . . . . . . . . . . . . . . . . . . 398
4.9 Blocchi Simulink TCP Client configure . . . . . . . . . . . . . . . . . 400
4.10 Blocchi Simulink TCP Server configure . . . . . . . . . . . . . . . . . 400
4.11 Blocchi Simulink TCP Send e TCP Send da configurare, per tra-
smettitore e ricevitore, qualora si utilizzi il protocollo TCP . . . . . . 400
4.12 Schemi Simulink realizzati, di trasmettitore e ricevitore, per instau-
rare la comunicazione fra due PC industriali adottando il protocollo
TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
4.13 Confronto fra segnale a rampa trasmesso e ricevuto durante la co-
municazione tra due PC industriali, utilizzando il protocollo UDP e
frequenza di campionamento 1 kHz (a); numero di bytes ricevuti dal
PC industriale che controlla il sistema aptico (b) . . . . . . . . . . . . 403
5.1 Blocchi Simulink per la trasmissione e ricezione di dati, mediante
comunicazione TCP, durante l’applicazione di telecontrollo . . . . . . 415
5.2 Flow chart principale realizzato nell’applicativo che gestisce l’inter-
faccia aptica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
5.3 Flow chart principale nel dettaglio realizzato nell’applicativo che ge-
stisce l’interfaccia aptica . . . . . . . . . . . . . . . . . . . . . . . . . 417
5.4 Switch case e corrispondenti Switch Case Action Subsystems nell’ap-
plicativo che controlla l’interfaccia aptica . . . . . . . . . . . . . . . . 420
5.5 Multiport switches nell’applicativo che gestisce l’interfaccia aptica . . 421
5.6 Esempio di interfaccia grafica . . . . . . . . . . . . . . . . . . . . . . 421
5.7 Posizione e velocità lineari correnti dei due assi del sistema cartesiano
a 2 g.d.l. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
5.8 Posizione e velocità lineari effettive del manipolo dell’interfaccia aptica427
5.9 Errori in posizione dei due assi del sistema cartesiano . . . . . . . . . 427
5.10 Traiettorie eseguite effettivamente dal manipolo dell’interfaccia aptica
e dall’end-effector del sistema cartesiano . . . . . . . . . . . . . . . . 428
XXIX
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
5.11 Posizione e velocità lineari effettive del manipolo dell’interfaccia aptica429
5.12 Posizione e velocità lineari correnti dei due assi del sistema cartesiano
a 2 g.d.l. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
5.13 Errori in posizione dei due assi del sistema cartesiano . . . . . . . . . 431
5.14 Traiettorie eseguite effettivamente dal manipolo dell’interfaccia aptica
e dall’end-effector del sistema cartesiano . . . . . . . . . . . . . . . . 431
5.15 Posizione e velocità lineari correnti dei due assi del sistema cartesiano
a 2 g.d.l. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
5.16 Posizione e velocità lineari effettive del manipolo dell’interfaccia aptica435
5.17 Errori in posizione dei due assi del sistema cartesiano . . . . . . . . . 435
5.18 Traiettorie eseguite effettivamente dal manipolo dell’interfaccia aptica
e dall’end-effector del sistema cartesiano . . . . . . . . . . . . . . . . 436
5.19 Posizione e velocità lineari effettive del manipolo dell’interfaccia aptica438
5.20 Posizione e velocità lineari correnti dei due assi del sistema cartesiano
a 2 g.d.l. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
5.21 Forza applicata dall’operatore sul manipolo e forza generata dall’am-
biente virtuale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
5.22 Errore in forza durante la riproduzione di una molla ideale di rigidezza
K = 60 N
m
, mediante telecontrollo aptico . . . . . . . . . . . . . . . . 440
5.23 Errori in posizione commessi lungo i due assi del sistema cartesiano . 442
5.24 Traiettoria descritta dall’end - effector del sistema cartesiano e curva
forza operatore - spostamento effettivo s . . . . . . . . . . . . . . . . 442
5.25 Posizione e velocità lineari effettive del manipolo dell’interfaccia aptica443
5.26 Posizione e velocità lineari correnti dei due assi del sistema cartesiano
a 2 g.d.l. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
5.27 Forza applicata dall’operatore sul manipolo e forza generata dall’am-
biente virtuale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
5.28 Errore in forza durante la riproduzione di una molla ideale di rigidezza
K = 60 N
m
, mediante telecontrollo aptico . . . . . . . . . . . . . . . . 446
5.29 Errori in posizione commessi lungo i due assi del sistema cartesiano . 446
XXX
ELENCO DELLE FIGURE ELENCO DELLE FIGURE
5.30 Traiettoria descritta dall’end - effector del sistema cartesiano e curva
forza operatore - spostamento effettivo s . . . . . . . . . . . . . . . . 447
XXXI
Elenco delle tabelle
1.1 Parametri dell’asse lineare a cinghia . . . . . . . . . . . . . . . . . . . 15
1.2 Parametri azionamento elettrico . . . . . . . . . . . . . . . . . . . . . 16
1.3 Connettore X2 azionamento . . . . . . . . . . . . . . . . . . . . . . . 18
1.4 Dati del motore Mavilor BLS-055-220V . . . . . . . . . . . . . . . . . 18
1.5 Dati del riduttore Sumitomo ENGX050-5/C08G . . . . . . . . . . . . 19
1.6 Giunto KTR RADEX-NC 10 EK . . . . . . . . . . . . . . . . . . . . 19
1.7 I/O Sistema di acquisizione . . . . . . . . . . . . . . . . . . . . . . . 23
1.8 Valori principali delle pulsazioni naturali . . . . . . . . . . . . . . . . 33
1.9 Valori acquisiti per la calibrazione della cella di carico . . . . . . . . . 40
1.10 Parametri del modello d’attrito implementato con il metodo (a) . . . 49
1.11 Parametri del modello d’attrito implementato con il metodo (b) . . . 51
2.1 Ambiente molla: valori di KI e Km adottati sul banco di prova . . . . 119
2.2 Risultati sperimentali delle prove svolte per simulare differenti am-
bienti visco - elastici. . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
2.3 Risultati sperimentali delle prove svolte per simulare differenti am-
bienti completi con controllo in ammettenza. . . . . . . . . . . . . . . 188
2.4 Risultati sperimentali delle prove svolte per simulare differenti molle
ideali. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
2.5 Risultati sperimentali delle prove svolte per simulare differenti am-
bienti visco - elastici . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
2.6 Risultati sperimentali delle prove svolte per simulare differenti am-
bienti completi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
XXXII
ELENCO DELLE TABELLE ELENCO DELLE TABELLE
3.1 Valori dimensionali ed inerziali dei parametri - Asse X . . . . . . . . . 299
3.2 Dati cinghie - Asse X . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
3.3 Dati del motore Parker NX110E - Asse X . . . . . . . . . . . . . . . . 300
3.4 Dati Encoder lineare - Asse X . . . . . . . . . . . . . . . . . . . . . . 300
3.5 Valori dimensionali ed inerziali dei parametri - Asse Y . . . . . . . . . 302
3.6 Dati cinghie - Asse Y . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
3.7 Dati del motore Mavilor BLS-073A.00.0105.00 - Asse Y . . . . . . . . 303
3.8 Dati Encoder lineare - Asse Y . . . . . . . . . . . . . . . . . . . . . . 303
3.9 Pulsazioni naturali al centro e all’estremità della corsa del carrello -
Asse X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
3.10 Pulsazioni naturali al centro e all’estremità della corsa del carrello -
Asse Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
4.1 Prove di latenza effettuate con protocollo di comunicazione UDP . . . 403
5.1 Valori sperimentali ottenuti, durante la simulazione di un ambien-
te molla, per valutare l’effetto di un ritardo presente nell’anello di
retroazione del sistema di controllo in ammettenza . . . . . . . . . . . 406
5.2 Valori sperimentali ottenuti, durante la simulazione di un ambien-
te molla, per valutare l’effetto di un ritardo presente nell’anello di
retroazione del sistema di controllo in impedenza . . . . . . . . . . . 408
XXXIII
Introduzione
Il telecontrollo è una condizione operativa di un sistema meccatronico in cui un
utente controlla il suo movimento a distanza, generando dei set-point e chiudendo
anelli di retroazione, sulla base dei feedback che riceve. Il contesto probabilmen-
te più diffuso in cui si concretizza quest’attività è quello robotico dove si consente
ad un operatore di comandare ad un robot operazioni complesse in spazi remoti,
in situazioni magari pericolose, difficilmente raggiungibili o comunque dove non si
ha la possibilità di programmare preventivamente i task per il dispositivo roboti-
co. La sostanziale differenza tra un sistema autonomo e uno telecontrollato è che
il primo svolge una serie di operazioni e reagisce ad eventi, che possono avvenire
nell’ambiente circostante in cui si trova, in modo del tutto automatico, mentre il
secondo viene controllato a distanza da un operatore, il quale, tramite una serie
di feedback che riceve, decide come reagire alle differenti situazioni che si possono
verificare. Entrambi i due sistemi presentano vantaggi e svantaggi. Per esempio,
un sistema autonomo non richiede la presenza dell’essere umano, per eseguire le
molteplici attività; tuttavia, allo stesso tempo, necessita di algoritmi, che permet-
tono al dispositivo di decidere in modo autonomo come comportarsi nelle svariate
situazioni, sulla base delle informazioni provenienti dai propri sensori. In un sistema
telecontrollato, invece, si ha lo svantaggio che per svolgere le diverse operazioni è
necessaria la presenza di un operatore; tuttavia, il vantaggio, consiste nel fatto che
è lui stesso a scegliere come reagire agli eventi che si verificano e, pertanto, non
è necessario, innanzitutto, sviluppare algoritmi complessi e, inoltre, l’applicazione
acquisisce una flessibilità decisamente maggiore grazie alle capacità decisionali di
una persona. Dunque, il telecontrollo è vantaggioso, per esempio:
• nelle applicazioni in cui si devono svolgere operazioni molto complesse, che,
Introduzione
attualmente, non riescono ad essere eseguite da sistemi autonomi perchè ri-
chiedono la realizzazione di complicati algoritmi che non si è, ancora, in grado
di sviluppare;
• nelle attività, come ad esempio chirurgiche, in cui è necessario il potere de-
cisionale dell’uomo, che non può essere sostituito da nessun algoritmo, pur
sofisticato che sia.
Come detto, nel telecontrollo, l’utente controlla il movimento del sistema meccanico
e, allo stesso tempo, riceve un feedback che può essere di due tipi:
• visivo;
• aptico, che a sua volta può essere di tipo cinestetico o tattile.
L’operatore agisce in risposta al feedback che riceve, in modo tale da incrementare
notevolmente la flessibilità dell’applicazione sfruttando il potere decisionale della
persona. In tale contesto, si introducono le terminologie di dispositivo master, che
è quello che interagisce con l’utente, e dispositivo slave, che è il sistema remoto te-
lecontrollato dall’operatore mediante il master e che interfaccia con l’ambiente ad
esso circostante. Le informazioni trasmesse dal dispositivo a distanza sono chiara-
mente di vitale importanza per consentire all’essere umano un’elevata percezione
dell’ambiente remoto, ottenendo di fatto la massima immersività: a tal proposito
si parla di telepresenza. Viste le numerose possibilità di interazione con l’utente, i
sistemi che sfruttano il telecontrollo vengono progettati ad hoc in base all’applica-
zione ed ai compiti da svolgere. Inoltre, essendo numerosi i campi applicativi, anche
le architetture di controllo sono varie e le più significative sono le seguenti:
• direct control: consente un controllo diretto del moto dello slave;
• supervisory control: il robot esegue in maniera autonoma l’attività coman-
data. In questo contesto, rientra il tema del telecontrollo industriale, in cui
l’operatore non telecontrolla il movimento del dispositivo remoto, che opera in
maniera autonoma, ma monitora il suo corretto funzionamento e l’adeguato
svolgimento delle operazioni richieste sulla base dei dati che vengono trasmessi
dal sistema remoto al sistema locale, che interagisce con l’utente.
2
Introduzione
• shared control: è una soluzione intermedia alle due precedenti, in cui l’utente
può controllare solo alcuni gradi di libertà del robot.
A seconda della situazione, ognuna delle architetture sopra elencate si può rive-
lare più o meno idonea per conseguire gli obiettivi desiderati. Per implementare
una logica di teleoperazione è chiaramente indispensabile disporre di un valido e
sicuro canale di comunicazione bidirezionale per la trasmissione real-time dei da-
ti fra master e slave, con le minori latenze possibili: a seconda al contesto, sarà
preferibile scegliere un protocollo piuttosto che un altro, e fare considerazioni sulla
configurazione e le prestazioni della rete progettata. Definito cosa si intende con
il termine telecontrollo, è possibile caratterizzarlo in base al tipo di feedback, qua-
le quello di tipo visivo o aptico . Nel primo caso, il dispositivo slave è dotato di
telecamera, pertanto l’utente fruisce delle immagini ricevute per impartire coman-
di da remoto al dispositivo telecontrollato: i contesti in cui si sfrutta questo tipo
di tecnologia sono molteplici e vanno dal settore militare, a quello chirurgico, del-
l’intrattenimento, o a quelli più avversi all’essere umano. Un limite presente nei
dispositivi con feedback visivo è chiaramente l’eventuale e non desiderata perdita
di visibilità di un prodotto di interesse: in tal caso, il sistema teleoperato fallisce
diventando inutilizzabile pertanto sono necessarie soluzioni innovative che mitigano
queste problematiche. L’altra tipologia di teleoperazione citata è quella con feed-
back aptico, che coinvolge dispositivi detti appunto, aptici. La recente rilevanza
di quest’ultimi è data dal crescente interesse verso la tematica facente riferimento
all’interazione uomo-macchina, in molti ambiti tecnologici. Un settore in fermento
con queste tipologie di dispositivi è sicuramente quello robotico, in cui appunto si
sta cercando di sviluppare sistemi di telecontrollo orientati verso la realizzazione di
mansioni intrinsecamente aptiche. I dispositivi aptici più significativi e di interesse
sono le interfacce, in quanto consentono un’ interconnessione diretta fra essere uma-
no e macchina permettendo di indurre nell’utente percezioni tattili e cinestetiche.
In un telecontrollo di tipo aptico, come già anticipato, è presente un dispositivo
slave che interagisce con l’ambiente e un dispositivo master, che ricevuti i dati dal
primo, fa sı̀ che l’essere umano percepisca tra sé e il dispositivo master la stessa
interazione che avviene fra lo slave e l’ambiente ad esso circostante. A tal scopo, è
3
Introduzione
necessario dotare sia lo slave che il master di un sensore di forza: per il primo, è
necessario per misurare l’interazione con l’ambiente, mentre per il secondo è utile
per generare nell’utilizzatore una percezione tattile che riproduca accuratamente il
contatto effettivamente avvenuto fra slave e mondo reale. Infine, per permettere lo
scambio di dati fra i due dispositivi è essenziale instaurare un sistema di comunica-
zione real time e bidirezionale: nel caso sia presente il feedback aptico, è necessario
comunicare al master l’entità del contatto avvenuto fra slave e ambiente, in modo
poi da determinare la corretta interazione aptica fra master ed utente; viceversa, in
assenza di feedback aptico, ma di altro tipo, il canale di comunicazione è comunque
indispensabile per trasmettere la posizione del master e determinare di conseguenza
quella dello slave. Come detto in precedenza, i feedback aptici possono essere, a loro
volta, di tipo tattile o cinestetico. Nel primo caso, la forza di interazione tra slave e
ambiente circostante viene tradotta, a livello del dispositivo master, in una sensazio-
ne tattile, che può essere, ad esempio, una pressione generata sulle dita dell’utente.
Viceversa, nel feedback cinestetico, l’operatore percepisce sia una sensazione di forza
sia di movimento. Recentemente, si stanno sviluppando dispositivi di telecontrollo
con feedback tattile, in quanto in quelli con feedback cinestetico si ha il problema
per cui l’utente percepisce anche una sensazione di movimento, che può tendere ad
instabilizzare il contatto tra dispositivo master e operatore e, di conseguenza, anche
il dispositivo slave localizzato in remoto. Tale fenomeno è, ovviamente, indesiderato
e non è presente nei dispositivi telecontrollati con feedback tattile, in quanto l’utente
non avverte una sensazione di movimento. Tuttavia, allo stesso tempo, in questa
seconda tipologia di sistemi telecontrollati l’utilizzatore riceve meno informazioni
dal dispositivo slave, in quanto sente soltanto un feedback tattile e non cinestetico.
Pertanto, l’operatore ha una percezione meno dettagliata dell’interazione tra lo slave
e l’ambiente ad esso circostante, rispetto a quanto avviene nei sistemi telecontrolla-
ti con feedback cinestetico. Inoltre, facendo sempre riferimento al telecontrollo con
feedback aptico, è necessario, per trasmettere una sensazione di forza all’utente che
riproduca fedelmente ciò che accade fra ambiente e slave, controllare quest’ultimo
in forza. Per fare ciò sono presenti in letteratura differenti strategie di controllo,
ognuna con i propri limiti e vantaggi; in particolare, si tratta del controllo in am-
4
Introduzione
mettenza ed in impedenza, sia in anello chiuso che in anello aperto. Entrambe sono
validi approcci in quanto non esiste il miglior metodo in senso assoluto, tuttavia il
loro impiego è fortemente influenzato dalla tipologia di sistema in esame, quindi dal
suo comportamento dinamico. Osservando un dispositivo aptico controllato in forza
risulta difficile, se non impossibile, comprendere quale tecnica di controllo sia stata
implementata, ma in ogni caso, i dispositivi cinestetici, sono progettati per interagi-
re con l’essere umano sul canale cinestetico, quindi nella frazione di banda definita
di percezione aptica attiva: le forze di interazione sono dell’ordine delle centinaia di
N, con frequenza massima teorica di circa 10 Hz.
Essendo il telecontrollo una tematica di rilevante interesse, sono molte le soluzioni
ad oggi presenti che lo implementano: ne vengono pertanto analizzate alcune signi-
ficative mettendone in luce gli aspetti essenziali che le caratterizzano. Una delle
prime realizzazioni risale agli anni quaranta, dove si è avvertita la necessità di avere
dei dispositivi in grado di trattare materiali radioattivi tutelando la sicurezza del-
l’utente [7], [8]. Porre al sicuro l’essere umano anche in ambienti pericolosi o difficili
da raggiungere, ma al contempo non prescindere dell’intelligenza umana, è stato,
nel corso degli anni, il filo conduttore che ha guidato lo sviluppo di sistemi telecon-
trollati. A tal proposito, nel settore militare, sono stati realizzati dispositivi per il
disinnesco delle bombe oppure, nel contesto nucleare e chimico, esistono sistemi per
effettuare semplici operazioni di riparazione degli impianti. Un altro ambito in cui la
teleoperazione sta acquisendo sempre maggior rilievo è quello chirurgico: qui si vuo-
le assistere il chirurgo, nello svolgimento di operazioni sul paziente, supportandolo
ad esempio con un feedback aptico o visivo. L’utilizzo della teleoperazione in questo
settore consente di eseguire l’attività desiderata sul paziente in maniera ripetibile e
decisamente più precisa, non essendo soggetta ad eventuali tremolii derivanti dall’a-
zione umana, alleggerendo pertanto il carico di lavoro del chirurgo. In tale contesto,
Xia et al. [13] hanno sviluppato un sistema di controllo che semplifica lo svolgimento
dell’attività di sutura. Tali dispositivi sono ampiamente diffusi e consentono un più
rapido recupero del paziente post - operazione. In molte applicazioni è anche utile
sfruttare la ridondanza cinematica del manipolatore, che si verifica quando il numero
di gradi di libertà nello spazio dei giunti è maggiore di quello nello spazio cartesiano;
5
Introduzione
in tale situazione, il sistema teleoperato può trarre benefici nella maggiore capacità
di movimento, evitando le singolarità, o nello schivare ostacoli. Un’ applicazione in
cui si sfrutta questa configurazione è nella costruzione di apparecchiature quali gli
scavatori, in cui l’utente gestisce la velocità dei giunti per eseguire particolari attività
[10]. In ambito nucleare, è significativo il lavoro condotto da Abi-Farraj et al. [3],
che vede la presenza di due robot per la gestione dei rifiuti radioattivi, uno dotato di
pinza e l’altro equipaggiato con una telecamera. Il robot dotato di capacità visiva,
muovendosi in maniera completamente autonoma senza perdere di vista l’attività
da svolgere, controlla in parte il movimento dell’utensile, mentre i restanti gradi di
libertà sono gestiti tramite joystick da un operatore. Come già anticipato, i settori
cui sono impiegati i sistemi teleoperati sono molteplici, cosi come le applicazioni:
pertanto ogni dispositivo deve rispondere alle specifiche esigenze dell’applicazione di
conseguenza, l’architettura di controllo è variabile a seconda del contesto.
La presente tesi si configura in un ambito di ricerca in cui è di interesse mettere in
comunicazione e, quindi far interagire, due sistemi meccanici, nello specifico un’in-
terfaccia aptica, dotata di un sensore di forza, ed un sistema cartesiano. L’obiettivo
finale è dunque quello di sviluppare un applicativo che permette di telecontrollare la
macchina a 2 g.d.l. mediante un feedback aptico, percepito interagendo con il mani-
polo dell’interfaccia cinestetica. La strumentazione a disposizione consiste dunque
nei due banchi di prova, corredati ciascuno dal rispettivo PC industriale che ne per-
mette il controllo: il sistema aptico è il dispositivo master, che trasmette i set-point
a quello slave, rappresentato dal sistema cartesiano. Lo slave, in un applicazione
di telecontrollo tramite feedback aptico, interagisce con l’ambiente: tale interazione
viene misurata mediante un sensore di forza e trasmessa al dispositivo master, che,
chiudendo l’anello in forza, fornisce all’utente una percezione cinestetica. Nel caso
in esame, non avendo il sistema cartesiano una cella di carico e non interagendo
effettivamente con un particolare ambiente, l’iterazione viene virtualizzata: a secon-
da della posizione assunta dall’end effector, viene generata un’azione virtuale da far
percepire all’utente che adopera il manipolo dell’interfaccia aptica. Per conseguire
tale traguardo, è necessario dapprima comprendere approfonditamente il funziona-
mento dell’interfaccia aptica, quindi analizzare nel dettaglio la tematica del controllo
6
Introduzione
in posizione ed in forza, per far avvertire correttamente all’utente che interagisce col
banco di prova, un ambiente virtuale definito a priori. In secondo luogo, venendo
coinvolto un secondo sistema meccanico quale la macchina a 2 g.d.l., è doveroso
sviluppare praticità nel posizionare l’end effector, nel piano di lavoro, secondo una
traiettoria generica. In aggiunta, essenziale per l’efficace sintesi del telecontrollo,
è l’implementazione di un adeguato sistema di comunicazione, in maniera tale da
consentire l’indispensabile trasmissione dei dati fra i due banchi: a tal scopo so-
no stati analizzati prestazioni e limiti di due protocolli impiegabili nella presente
applicazione, quali TCP e UDP. Pertanto, ai fini di un efficiente telecontrollo, nel-
l’elaborato, si delineano anche le procedure di configurazione della rete per mettere
in comunicazione due PC target dotati di sistema operativo Simulink Real time, che
necessitano di trasmettersi dati a vicenda.
La presente attività di tesi, data la sua corposità, è suddivisa in tre parti distinte:
interfaccia aptica a un grado di libertà, sistema cartesiano a due gradi di libertà
e telecontrollo del secondo sistema citato mediante il primo. Nel primo capitolo
della prima parte viene analizzato esclusivamente il sistema aptico, partendo da una
fase preliminare di descrizione del banco e modellazione dinamica, in cui vengono
sviluppate le equazioni dinamiche dei modelli rigido e cedevole, per poi effettuare
l’analisi modale, quindi lo studio dei modi di vibrare. La cella di carico costitui-
sce l’elemento imprescindibile del sistema aptico, pertanto, non avendo informazioni
certe a riguardo, una sezione del capitolo è dedicata alla calibrazione del sensore.
Inoltre, il movimento del carrello lungo la guida lineare, è soggetto a delle considere-
voli azioni d’attrito: vengono dunque analizzati i principali modelli statici d’attrito
presenti in letteratura e mostrato quello scelto ed implementato, in seguito ai ri-
sultati sperimentali ottenuti nelle prove condotte. Come si comprenderà nel corso
dell’elaborato, la scelta di una particolare di architettura del sistema di controllo
in forza, richiede la presenza di un adeguato controllo di posizione: vengono quindi
analizzate nel dettaglio due tecniche di controllo del moto, quali il posizionamento
poli ed il controllo in cascata. L’aspetto chiave di questa parte, descritto nel capitolo
2, è il controllo in forza. Infatti, anche in ottica telecontrollo, per avere un feedback
aptico coerente con l’ambiente virtuale che si desidera simulare, è necessario esami-
7
Introduzione
nare accuratamente le strategie di controllo in forza, mettendo in luce punti di forza
e di debolezza. Pertanto, in questa sezione, vengono enunciate le tre principali tec-
niche di controllo in forza: in ammettenza ed in impedenza, sia in anello aperto che
chiuso. In seguito ad un’introduzione ed analisi teorica sulle strategie disponibili, si
riproducono, sia in simulazione, che successivamente sul banco di prova, una serie
di ambienti virtuali quali quello elastico, visco-elastico e massa-molla-smorzatore,
evidenziandone peculiarità ed aspetti emersi in fase di progetto e di realizzazione.
A valle dell’analisi di ogni ambiente sono state tratte delle conclusioni sia riguardo
la capacità del sistema di controllo scelto nel riprodurre il comportamento virtuale
desiderato sia confrontando le prestazioni ottenute simulando l’ambiente con con-
trollo in ammettenza piuttosto che in impedenza. Selezionata quindi l’architettura
di controllo ritenuta migliore per l’applicazione, si implementano altri ambienti, qua-
li quello scatola, triangolare, sinusoidale e dente di sega, con l’obiettivo di testare
nuovamente la bontà del controllo su ambienti più facilmente intuibili da un utente
poco avvezzo a questa tipologia di dispositivi.
La seconda parte del lavoro è invece incentrata sullo studio del sistema cartesiano a
due gradi di libertà: come per il sistema aptico, nel capitolo, è presente una sezione
di descrizione del banco, modellazione dinamica ed analisi modale dei due assi, X ed
Y. In seguito, fondamentale per raggiungere l’obiettivo finale, è stato implementato,
anche per questo sistema, il controllo in posizione impiegando la metodologia del
posizionamento poli. Una valida sintesi di quest’ultimo è di vitale importanza per
procedere con l’assegnamento di particolari traiettorie da far seguire all’end-effector:
a tal scopo sono stati implementati diversi percorsi quale quello lineare, circolare, a
spirale di Archimede ed a forma di farfalla.
Esaminati nel dettaglio i due sistemi che saranno protagonisti dell’applicazione fi-
nale, la terza parte tratta la tematica del telecontrollo, quindi, in un primo capitolo,
si analizzano vantaggi e svantaggi legati alla scelta di un protocollo piuttosto che
un altro per permettere la comunicazione fra i due sistemi, seguito dall’illustrazione
dell’avvenuta configurazione della rete, all’atto pratico, e da una dettagliata analisi
delle latenze presenti lungo il canale di trasmissione quindi, dei loro possibili effetti
sul controllo in forza. Infine, messe le basi per la buona riuscita del telecontrollo del
8
Introduzione
sistema cartesiano, si mostra, a livello di codice, la macchina a stati implementata
per eseguire ogni operazione disponibile e selezionata dall’utente. Per mettere in
evidenza il successo dell’attività di telecontrollo vengono mostrati una serie di risul-
tati sperimentali, sia con che senza feedback aptico: nel secondo caso si illustra come
è stato possibile, muovendo il manipolo dell’interfaccia aptica lungo la guida lineare,
pilotare il movimento dell’end effector del sistema cartesiano, lungo una traiettoria
a piacere, quale quella lineare, circolare o a spirale di Archimede. Virtualizzando
invece il sensore di forza sul sistema cartesiano, è stato introdotto il feedback ap-
tico: a seconda dell’ambiente virtuale prestabilito, col quale la macchina a 2 g.d.l
si suppone interagisca, l’utente percepisce una sensazione cinestetica impugnando
il manipolo dell’interfaccia aptica. Nell’ultimo capitolo sono raccolte le conclusioni
emerse a valle dell’intero lavoro di tesi, in seguito ai risultati sperimentali ottenuti.
Le considerazioni di questa sezione fanno riferimento sia ad aspetti propriamente
legati al telecontrollo che ad altri più conformi al controllo in forza, aspetto impre-
scindibile quando ci si approccia a un sistema meccanico quale un’interfaccia aptica.
Vengono inoltre proposti, partendo dall’applicazione sintetizzata, una serie di svi-
luppi futuri o di possibili miglioramenti, con cui ampliare, o sfruttare in qualche
altro simile contesto, il presente lavoro.
9
Parte I
Interfaccia aptica a un grado di
libertà
11
Capitolo 1
Descrizione ed analisi del sistema
aptico a 1 G.D.L
Il sistema meccanico in esame è un’interfaccia aptica a un grado di libertà, com-
posta essenzialmente da un manipolo movimentabile lungo una guida lineare ed in
grado di leggere, grazie alla presenza di un’opportuna cella di carico, la forza ad esso
impressa dall’operatore.
L’obiettivo del progetto sarà quello di effettuare il controllo dell’interfaccia e quindi
permettere all’ utente che impugna il manipolo di percepire una sensazione cine-
stetica, trasmessa tramite un motore elettrico, derivante da un ambiente virtuale
definito a piacere. Alcuni ambienti virtuali che verranno implementati sono:
• ambiente molla: l’utente, spostando il carrello dalla sua posizione iniziale,
avverte un comportamento elastico, come se avesse una molla attaccata ad una
o ad entrambe le estremità; il carrello ritorna nella posizione di riposo quando
rilasciata: la risposta del sistema è funzione della rigidezza della molla.
• ambiente muro e/o scatola: viene definita in una determinata posizione
la presenza di un muro virtuale non oltrepassabile. L’utente può spostare
la massa senza alcuna resistenza oppure percepire un ambiente molla fino al
raggiungimento della posizione limite corrispondente al muro. Limitando il
moto all’interno di due muri è possibile simulare lo spostamento del carrello
all’interno di una scatola.
Descrizione ed analisi del sistema aptico a 1 g.d.l.
Fig. 1.1: Banco a disposizione:interfaccia aptica a un grado di libertà
• dente di sega: lungo la corsa utile dell’elemento mobile vengono poste più
molle con la stessa rigidezza ed al superamento di certe posizioni prefissate si
avverte il cedimento improvviso dell’elemento elastico e il passaggio a quello
successivo.
• ambiente trasparenza: l’utente riesce a spostare il carrello senza avvertire
alcuna resistenza.
Ulteriori e più sofisticati ambienti verranno discussi nel capitolo 2 relativo al controllo
in forza.
1.1 Struttura del banco di prova
Il banco di prova (Fig.1.1) è costituito dai seguenti elementi:
1. Modulo lineare con cinghia, sul quale è montato il carrello con il manipolo,
elemento impugnabile del sistema. È l’elemento principale del banco poiché
14
Struttura del banco di prova
costituisce in sostanza il telaio, la trasmissione ed il sistema di guida del car-
rello dell’interfaccia. L’ asse è un modulo lineare Mondial MLM1-1P1800NZ
realizzato interamente con profilati estrusi di alluminio con sezione trasversale
di 40 x 40 mm. In dettaglio è composto da una guida lineare con due pattini a
ricircolo di sfere sui quali è installato il carrello ed il sistema di tensionamento
delle cinghia. La cinghia sincrona è prodotta da Megadyne, con profilo AT5 e
larghezza 10 mm, ed è rinforzata con cavi di acciaio. La corsa utile del carrello
è di 910 mm e la distanza tra i finecorsa e la rispettiva puleggia è di 480 mm.
Il manipolo del sistema aptico è installato sul carrello, elemento mobile del
banco, la cui dimensione è 220 x 80 mm; la massa movente complessiva è di
circa 1.5 kg. In tabella 1.1 si riportano i dati significativi:
Grandezza Valore Unità di misura
Corsa 910 mm
Rigidezza specifica cinghia 158445 N
Inerzia puleggia folle 8.4019 · 10−5
kgm2
Inerzia puleggia motrice 8.0018 · 10−5
kgm2
Raggio puleggia 0.0286 m
Tabella 1.1: Parametri dell’asse lineare a cinghia
2. Sistema di azionamento Il sistema di azionamento è costituito da:
• Riduttore di velocità epicicloidale Sumitomo ENGX050-5 con
rapporto di riduzione pari 5;
• Motore brushless Mavilor BLS-055-220V con resolver e freno, rigi-
damente collegato al riduttore tramite calettatore meccanico che quindi
consente un accoppiamento rigido;
• Giunto a lamina KTR Radex NC 10EK, per la trasmissione del
moto dal riduttore di velocità alla puleggia motrice del modulo lineare a
cinghia, in quanto quest’ultima non permette un accoppiamento diretto;
15
Descrizione ed analisi del sistema aptico a 1 g.d.l.
• Azionamento elettrico Infraror XtrapulsPac 230 V.
L’azionamento elettrico Infranor XtraplusPAc 230V consente il controllo
del motore ed è configurato in modalità Analog Current: diamo un segna-
le analogico di riferimento all’azionamento, nello specifico una tensione, che
verrà convertita, tramite la costante dell’azionamento, in una corrente, e suc-
cessivamente in coppia di riferimento per mezzo della costante di coppia kt
del motore. In uscita dall’azionamento non si ottiene chiaramente la corrente
effettiva, ma sarà leggermente diversa per effetto della dinamica stessa dell’a-
zionamento, che si occupa di implementare al suo interno un anello di controllo
in corrente. Con questa modalità dunque, applicando una tensione adegua-
ta all’ingresso dell’azionamento dedicato, richiediamo al motore uno specifico
valore di coppia. Si precisa come l’ Infranor XtraplusPAc 230V abbia la pos-
sibilità di chiudere al suo interno non solo l’anello in corrente, ma anche quello
in velocità e in posizione: questi ultimi verranno però sviluppati esternamente
per aver un controllo più efficace e configurabile.
Al motore giunge quindi una corrente che permette di generare coppia, noti i
valori dei parametri specificati in tabella 1.2.
Grandezza Valore Unità di misura
Tensione massima di comando (Vcmdmax ) +10 V
Tensione minima di comando (Vcmdmin
) −10 V
Corrente massima azionamento (Imax) 5 A
Costante di coppia del motore (kt) 0.5 Nm/A
Tabella 1.2: Parametri azionamento elettrico
La costante dell’azionamento kaz si ricava come:
kaz =
Imax · kt
Vcmdmax
(1.1)
Applicando quindi una tensione di +10 V si ottiene una coppia massima di 2.5
Nm, corrispondente, tenendo conto del rapporto di trasmissione del riduttore
16
Struttura del banco di prova
e del raggio puleggia, a una massima forza di interazione con l’operatore in
condizioni statiche di circa 436 N.
Per ciò che riguarda il resolver invece, il suo segnale è fornito all’azionamento
elettrico e ci permette di conoscere la posizione angolare del motore.
Quest’ultima informazione deve essere resa disponibile anche al sistema di
controllo: per tale ragione l’azionamento ha attiva la funzionalità di encoder
simulato. Viene dunque simulata la presenza di un encoder incrementale che
permette, ricevuto il segnale del resolver, di generare in uscita un corrispon-
dente segnale encoder differenziale sul connettore X2 dell’azionamento. Sullo
stesso connettore sono disponibili i segnali utilizzati per gestione dell’aziona-
mento, segnale di enable, segnali di finecorsa,ecc, e il riferimento di coppia
fornito dal sistema di controllo.
Le connessioni realizzate sono riassunte in tabella 1.3.
I dati di motore, riduttore e giunto sono riportati nelle rispettive tabelle 1.4,1.5
e 1.6.
17
Descrizione ed analisi del sistema aptico a 1 g.d.l.
Funzione I/O Connessione
+Vref I pin 21 DAQ
-Vref I pin 54 DAQ
AOK + O 24V
Encoder B - O B - Line receiver
Encoder B + O B + Line receiver
Encoder A - O A - Line receiver
Encoder A + O A + Line receiver
STO2 I 24 V
GND - GND
STO1 I 24V
ENABLE I pin 52 DAQ
NEG. LIMIT I finecorsa destro
POS. LIMIT I finecorsa sinistro
Tabella 1.3: Connettore X2 azionamento
Grandezza Valore Unità di misura
Velocità di rotazione massima 1000 rpm
Coppia nominale 0.7 Nm
Coppia massima 2.8 Nm
Costante di coppia del motore 0.5 Nm/A
Inerzia del motore 1.7 · 10−5
kgm2
Costante fem 0.29 V s/A
Resistenza concatenata 14.7 Ω
Induttanza concatenata 18.6 mH
Tabella 1.4: Dati del motore Mavilor BLS-055-220V
18
Struttura del banco di prova
Grandezza Valore Unità di misura
Coppia nominale in uscita 6 Nm
Coppia massima in uscita 12 Nm
Rapporto di riduzione 5 −
Inerzia lato motore 0.6 · 10−5
kgm2
Velocità nominale in ingresso 4000 rpm
Diametro albero motore 9 mm
Diametro albero di uscita 12 mm
Rigidezza 3.094 · 103
Nm/rad
Tabella 1.5: Dati del riduttore Sumitomo ENGX050-5/C08G
Grandezza Valore Unità di misura
Momento d’inerzia 0.000012 kgm2
Coppia nominale 7.5 Nm
Coppia massima 15 Nm
Diametro lato 1 12 mm
Diametro lato 2 14 mm
Rigidezza torsionale 5600 Nm/rad
Tabella 1.6: Giunto KTR RADEX-NC 10 EK
19
Descrizione ed analisi del sistema aptico a 1 g.d.l.
3. Sensori
I sensori presenti sul banco di prova sono:
• trasduttore di posizione, utilizzato per conoscere la posizione del
carrello sulla guida lineare;
• sensore di forza, necessario per misurare l’interazione con l’operatore;
• due sensori di prossimità, usati come sensori di finecorsa.
Come già anticipato, il motore possiede un resolver, ma il sistema di controllo
del banco di prova riceve un segnale encoder simulato dall’azionamento. L’en-
coder non è quindi fisicamente necessario poichè il suo segnale è fornito in
modo virtuale dall’azionamento: la posizione del carrello viene ricavata utiliz-
zando il rapporto di trasmissione del sistema meccanico.
Il sensore di forza invece ha un estremità vincolata al carrello e di fatto costi-
tuisce l’elemento impugnabile del sistema. Sul carrello è montato il circuito
amplificatore del segnale di tensione: il sensore eroga 1V ogni 24.34N di forza
applicata, da cui la costante della cella di carico kcell pari a 24.34.
Non disponendo di dati attendibili sul sensore di forza, per determinare la sua
costante, è stata fatta la calibrazione, argomentata nella sezione 1.4. Il sensore
è inoltre caratterizzato da un offset di tensione di circa 6.07 V rappresentante
la condizione di forza nulla, che dovrà essere sottratto dall’interazione intro-
dotta dall’utente. La forza massima applicabile alla cella di carico è di circa
200 N.
Per ciò che riguarda i sensori di prossimità, sono sensori induttivi che permet-
tono di rilevare la presenza di elementi metallici ad una certa distanza. In
questa applicazione servono a limitare la corsa del carrello senza che si scontri
contro il puffer, finecorsa meccanico che interviene in caso di un loro fallimen-
to. I sensori di prossimità sono due Pepperl+Fuchs 3RG4011-0AF33-PF con
corpo cilindrico interamente filettato M8 x 1 e la distanza massima di rileva-
zione è circa 1.65 mm. La tensione di alimentazione è a 24V e la loro lettura
permette l’individuazione di due differenti stati:
• livello ”0”, quando il carrello si trova davanti al finecorsa;
20
Struttura del banco di prova
• livello ”1”, quando il carrello non si trova davanti al finecorsa.
4. Sistema di controllo
Il sistema di controllo adottato si basa sull’utilizzo di un PC industriale munito
di sistema operativo real time, nello specifico Simulink Realtime. Un elemento
fondamentale per la gestione dei segnali e dell’azionamento Infranor Xtrapul-
sPac è la scheda DAQ prodotta da National Instruments con sigla PCI6229,
la quale ha un interfaccia bus tipo PCI e consente la gestione dei seguenti
segnali:
• 32 input analogici single ended oppure 16 input differenziali, con range
di tensione ± 10V,± 5V,± 1V,± 0.2V;
• 4 uscite analogiche con range ± 10 V
• 48 I/O digitali;
• 2 contatori a 32 bit che consentono l’acquisizione di altrettanti segnali
encoder in modalità X1, X2 e X4.
Sul banco di prova si trova la basetta TBX 68, che permette la connessione
elettrica con il sistema di acquisizione e riproduce la medesima configurazione
dei pin della scheda PCI mettendo a disposizione una semplice ed intuitiva
interfaccia a morsettiera (Fig.1.2). I segnali forniti ed i pin utilizzati sono
riassunti sinteticamente nella tabella 1.7.
Come è stato detto, non è presente un encoder fisico, ma virtualizzato di
tipo differenziale: tale scelta richiede l’uso di un convertitore di segnale per
l’acquisizione. Il convertitore di segnale, line receiver, è stato realizzato gra-
zie all’integrato Texas Instruments AM26LS32A che consente la conversione
di segnali differenziali, fino ad un massimo di quattro segnali simultanei. La
tensione di alimentazione dell’integrato è pari a 5V ed è generata da un regola-
tore lineare di tensione Motorola MC78M05CT a cui è fornita l’alimentazione
a 24V.
21
Descrizione ed analisi del sistema aptico a 1 g.d.l.
PCI-6229Pinout
D GND
D GND
PFI 8/P2.0
PFI 7/P1.7
PFI 15/P2.7
PFI 13/P2.5
PFI 4/P1.4
PFI 3/P1.3
PFI 2/P1.2
D GND
PFI 10/P2.2
PFI 11/P2.3
P0.3
P0.7
P0.2
D GND
P0.5
P0.0
D GND
AO GND
AO GND
AI GND
AI 7 (AI 7+)
AI 14 (AI 6-)
AI GND
AI 5 (AI 5+)
AI 12 (AI 4-)
AI SENSE
AI 11 (AI 3-)
AI GND
AI 2 (AI 2+)
AI 9 (AI 1-)
AI GND
AI 0 (AI 0+)
PFI 14/P2.6
PFI 9/P2.1
D GND
PFI 5/P1.5
D GND
+5 V
D GND
PFI 12/P2.4
PFI 6/P1.6
PFI 1/P1.1
PFI 0/P1.0
D GND
D GND
+5 V
D GND
P0.6
P0.1
D GND
P0.4
NC
AO 1
AO 0
AI 15 (AI 7-)
AI GND
AI 6 (AI 6+)
AI 13 (AI 5-)
AI GND
AI 4 (AI 4+)
AI GND
AI 3 (AI 3+)
AI 10 (AI 2-)
AI GND
AI 1 (AI 1+)
AI 8 (AI 0-)
68 34
67 33
66 32
65 31
64 30
63 29
62 28
61 27
60 26
59 25
58 24
57 23
56 22
55 21
54 20
53 19
52 18
51 17
50 16
49 15
48 14
47 13
46 12
45 11
44 10
43 9
42 8
41 7
40 6
39 5
38 4
37 3
36 2
35 1 AI 24 (AI 16-)
AI 17 (AI 17+)
AI GND
AI 26 (AI 18-)
AI 19 (AI 19+)
AI GND
AI 20 (AI 20+)
AI GND
AI 29 (AI 21-)
AI 22 (AI 22+)
AI GND
AI 31 (AI 23-)
AO 2
AO 3
NC
P0.12
D GND
P0.9
P0.14
D GND
+5 V
D GND
D GND
P0.16
P0.17
D GND
+5 V
D GND
P0.21
P0.22
D GND
P0.25
P0.28
P0.30
AI 16 (AI 16+)
AI 25 (AI 17-)
AI 18 (AI 28+)
AI 27 (AI 19-)
AI SENSE 2
AI 28 (AI 20-)
AI 21 (AI 21+)
AI GND
AI GND
AI GND
AI 30 (AI 22-)
AI 23 (AI 23+)
AI GND
AO GND
AO GND
D GND
P0.8
P0.13
D GND
P0.10
P0.15
P0.11
P0.27
P0.26
D GND
P0.18
P0.19
P0.20
P0.29
P0.31
P0.23
P0.24
D GND
D GND
1 35
2 36
3 37
4 38
5 39
6 40
7 41
8 42
9 43
10 44
11 45
12 46
13 47
14 48
15 49
16 50
17 51
18 52
19 53
20 54
21 55
22 56
23 57
24 58
25 59
26 60
27 61
28 62
29 63
30 64
31 65
32 66
33 67
34 68
NC = No Connect NC = No Connect
TERMINAL 34
TERMINAL 68
TERMINAL 35
TERMINAL 1
TERMINAL 35
TERMINAL 1
TERMINAL 34
TERMINAL 68
CONNECTOR
0
(AI
0-15)
CONNECTOR
1
(AI
16-31)
Counter/TimerSignal DefaultPFITerminal
CTR0SRC PFI8
CTR0GATE PFI9
CTR0AUX PFI10
CTR0OUT PFI12
CTR0A PFI8
PCI-6229 Features
Fig. 1.2: Interfaccia a morsettiera della basetta TBX68
22
Modellazione dinamica del sistema
Segnale Pin I/O
Segnale finecorsa vicino al motore 16 I
Segnale finecorsa lontano dal motore 17 I
Digital GND 18 -
+ V riferimento di coppia 21 O
Analog GND 32 -
Canale A encoder 42 I
Canale B encoder 46 I
Lettura fungo 48 I
Enable azionamento 52 O
-V riferimento di coppia 54 O
Analog GND 59 -
+V segnale cella di carico 68 I
Tabella 1.7: I/O Sistema di acquisizione
1.2 Modellazione dinamica del sistema
Lo studio del sistema meccanico in esame prevede una prima fase di modellazione
matematica, utile per effettuare delle simulazioni e analizzare offline il comporta-
mento del banco di prova. Vengono sviluppati due modelli: quello rigido, efficace
per la successiva sintesi dei regolatori, e quello cedevole, vantaggioso per rimanere
il più aderenti possibile al sistema reale.
1.2.1 Modello rigido
Il modello rigido viene mostrato schematicamente in Fig.1.3: motore, riduttore,
giunto, pulegge e carrello con le loro rispettive inerzie/masse sono gli unici elementi
da considerare in questo schema. Segue quindi un sistema a un grado di libertà,
rappresentato dalla coordinata associata alla rotazione del motore (θm). Il legame
tra quest’ultima e il movimento lineare del carrello è ottenibile utilizzando il rapporto
23
Descrizione ed analisi del sistema aptico a 1 g.d.l.
M
𝐽𝑚
𝐽𝑟
𝐽𝑔
𝑥 = θ𝑚τ 𝑅𝑝
𝐽𝑝1, 𝑅𝑝
𝑚
𝐶𝑚
ϑ𝑚, ሶ
ϑ𝑚, ሷ
ϑ𝑚
𝐽𝑝2, 𝑅𝑝
τ
Fig. 1.3: Modello rigido
di trasmissione e il raggio della puleggia (Rp):
x = θm · τ · Rp (1.2)
L’equazione della dinamica è stata ottenuta impostando il seguente bilancio delle
potenze:
Cm · ωm = (Jm + Jr) · ω̇m · ωm + Jg · ω̇r · ωr + Jp1 · ω̇r · ωr + Jp2 · ω̇r · ωr + m · a · v (1.3)
Sostituendo nell’equazione (1.3) l’espressione che lega la velocità angolare in uscita
dal riduttore alla velocità angolare del motore, τ = ωr/ωm, si ricava l’espressione
della coppia motrice:
Cm = θ̈m · [(Jm + Jr) + (Jg + Jp1 + Jp2) · τ2
+ m · R2
p · τ2
] (1.4)
La funzione di trasferimento è:
θm
Cm
=
1
Jrid · s2
(1.5)
con Jrid = [(Jm + Jr) + (Jg + Jp1 + Jp2) · τ2
+ m · R2
p · τ2
].
Nota l’equazione (1.5) si passa all’ implementazione del modello in Simulink mo-
strato in Fig.1.4.
24
Modellazione dinamica del sistema
Fig. 1.4: Rappresentazione del modello rigido in Simulink
1.2.2 Modello cedevole
Lo sviluppo del modello cededole, a differenza di quello rigido, considera anche le
cedevolezze dei vari elementi del sistema quali la rigidezza della trasmissione, del
giunto e della cinghia. I contributi dissipativi vengono in prima analisi trascurati in
quanto non ci sono informazioni a riguardo.
Risulta un sistema a 5 gradi di libertà identificati dalle coordinate θm, θr, θg, θp, x.
In Fig.1.5 viene mostrata la schematizzazione del sistema visto come cedevole.
L’equazione della dinamica del sistema è stata ricavata usando il principio dei lavori
virtuali (PLV ), applicandolo per ogni grado di libertà.
Le rotazioni e lo spostamento del carrello vengono considerati con segno positivo nel
verso indicato in Fig.1.5: il prodotto tra spostamento virtuale e forza generalizzata
sarà positivo se entrambi nello stesso verso, altrimenti negativo.
Considerando il grado di libertà descrivente la rotazione della puleggia 2 e facendo
riferimento alla Fig.1.6 (θp) si ottiene la seguente equazione della dinamica in cui
compaiono i termini associati alla coppia d’inerzia e alle forze elastiche F2 ed F3:
LP2
= −Jp · θ̈p · δθp + F2 · δθp · Rp − F3 · δθp · Rp = 0
Jp · θ̈p − Rp · (x − θp · Rp) · kc2 + R2
p · kc3 · (θp − θg) = 0
(1.6)
La medesima equazione viene scritta per la rotazione della puleggia 1 (θg) in cui
però, oltre ai termini associati alla coppia d’inerzia e alle forze elastiche F1 ed F3,
25
Descrizione ed analisi del sistema aptico a 1 g.d.l.
M
𝐶𝑚
ϑ𝑚, ሶ
ϑ𝑚, ሷ
ϑ𝑚
𝐽𝑚
𝐽𝑟
τ
ϑ𝑚τ
ϑ𝑟, ሶ
ϑ𝑟, ሷ
ϑ𝑟
𝐽𝑔
2
𝐽𝑔
2
𝑘𝑔
ϑ𝑔, ሶ
ϑ𝑔, ሷ
ϑ𝑔
𝐽𝑝1, 𝑅𝑝 𝐽𝑝2, 𝑅𝑝
ϑ𝑔, ሶ
ϑ𝑔, ሷ
ϑ𝑔 ϑ𝑝, ሶ
ϑ𝑝, ሷ
ϑ𝑝
𝑥, ሶ
𝑥, ሷ
𝑥
m
𝑘𝑟
𝑘𝑐2
𝑘𝑐1
𝑘𝑐3
𝐿3
Fig. 1.5: Modello cedevole
compare anche la coppia elastica (Cel) (Fig.1.6):
LP1
= −δθg · Jp1 · ¨
θg − δθg ·
Jg
2
· ¨
θg − F1 · δθg · Rp + F3 · δθg · Rp + δθg · kt · (θr − θg) = 0
Jp1 · ¨
θg +
Jg
2
· ¨
θg + Rp · kc1 · (θg · Rp − x) − kc3 · R2
p · (θp − θg) − kt · (θr − θg) = 0
(1.7)
Esaminando il grado di libertà associato alla rotazione del giunto (θr) (Fig.1.7):
Lθr
= −
Jg
2
· θ̈r · δθr − kg · (θr − θg) · δθr + kt · δθr · (θm · τ − θr) = 0
Jg
2
· θ̈r + kg · (θr − θg) − kt · (θm · τ − θr) = 0
(1.8)
Analogamente per la rotazione del motore (θm) (Fig.1.8):
Lθm
= +Jm · θ̈m · δθm + Jr · θ̈m · δθm + kt · τ · (θm · τ − θr) · δθm − Cm · δθm = 0
Cm = (Jm + Jr) · θ̈m + kt · τ · (θm · τ − θr) = 0
(1.9)
26
Modellazione dinamica del sistema
𝐹1 𝐹1
𝐹3 𝐹3
𝐹2
𝐹2
𝐶𝑒𝑙 = 𝑘𝑡(ϑ𝑟 − ϑ𝑔)
𝐽𝑔
2
ሷ
ϑ𝑔
𝐽𝑝1
ሷ
ϑ𝑔
ϑ𝑔, ሶ
ϑ𝑔, ሷ
ϑ𝑔
𝐽𝑝1, 𝑅𝑝 𝐽𝑝2, 𝑅𝑝
𝑥, ሶ
𝑥, ሷ
𝑥
𝑚 ሷ
𝑥
𝐽𝑝
ሷ
ϑ𝑝
ϑ𝑝, ሶ
ϑ𝑝, ሷ
ϑ𝑝
Fig. 1.6: Gradi di libertà θp e θg
𝐶𝑒𝑙= 𝑘𝑔(ϑ𝑟 − ϑ𝑔)
ϑ𝑟 𝐽𝑔
2
ሷ
ϑ𝑟
𝑘𝑡(ϑ𝑚τ − ϑ𝑟)
Fig. 1.7: Grado di libertà θr
27
Descrizione ed analisi del sistema aptico a 1 g.d.l.
M
ϑ𝑚
ϑ𝑚τ
𝐶𝑚
𝐽𝑚
ሷ
ϑ𝑝
𝐽𝑟
ሷ
ϑ𝑝
τ
𝐶𝑒𝑙 = 𝑘𝑟(ϑ𝑚τ-ϑ𝑟)
Fig. 1.8: Grado di libertà θm
Infine, l’equazione della dinamica per il grado di libertà associato al movimento
lineare del carrello (x)(Fig.1.6) è:
Lx
= −m · ẍ · δx + F1 · δx − F2 · δx = 0
m · ẍ − kc1 · (θg · Rp − x) + kc2 · (x − θp · Rp) = 0
(1.10)
Utilizzando la notazione matriciale per raggruppare le equazioni (1.7),(1.6),(1.9),(1.8),(1.10),
¨
X =











θ̈m
θ̈r
θ̈g
θ̈p
ẍ











X =











θm
θr
θg
θp
x











M =











Jm + Jr 0 0 0 0
0 Jg
2
0 0 0
0 0 Jg
2
+ Jp1 0 0
0 0 0 Jp2 0
0 0 0 0 m











K =











kt · τ2
−kt · τ 0 0 0
−kt · τ kt + kg −kg 0 0
0 −kg kg + kc1 · R2
p + kc3 · R2
p −kc3 · R2
p −kc1 · Rp
0 0 −kc3 · R2
p kc2 · R2
p + kc3 · R2
p −kc2 · Rp
0 0 −kc1 · Rp −kc2 · Rp kc1 + kc2











28
Modellazione dinamica del sistema
Bf =











1
0
0
0
0











si scrive l’equazione della dinamica per il sistema in esame:
M · ¨
X + K · X = Bf · Cm(t) (1.11)
E’ importante osservare come le rigidezze della cinghia kc1 e kc2 non siano costanti,
ma varino con la posizione del carrello, come mostrato in Fig.1.9. E’ pertanto ne-
-0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4
[m]
1
1.5
2
2.5
3
3.5
[N/m]
105
kc1
kc2
Fig. 1.9: Andamento dei valori delle rigidezze kc1 e kc2 in funzione della posizione assunta
dal carrello lungo la guida lineare
cessario calcolarle in funzione della coordinata x attraverso la seguente formula:
k =
Csp
L
=
rigidezza specifica cinghia
lunghezza dello spezzone di cinghia
(1.12)
Nello specifico, chiamando c la corsa del carrello e fcpull la distanza tra la puleggia
e il finecorsa si ricava:
kc1 =
Csp
corsa
2
− fcpull − x
(1.13)
kc2 =
Csp
corsa
2
+ fcpull − x
(1.14)
29
Descrizione ed analisi del sistema aptico a 1 g.d.l.
La rigidezza kc3 è invece costante e calcolabile come:
kc3 =
Csp
L3
(1.15)
Tali considerazioni conducono a una matrice rigidezza non costante bensı̀ funzione
della posizione del carrello, K = K(x).
Inoltre, nello scrivere l’equazione della dinamica si sarebbero dovuti tener in conside-
razione anche dei termini legati alla variabilità di kc1 e kc2: le equazioni del sistema
cedevole risulterebbero però piuttosto complesse a causa della loro forte non linea-
rità.
Per esser ancora più aderenti al sistema reale, l’equazione (1.11) dovrebbe tener
conto anche del contributo dell’attrito, funzione della velocità del carrello: per tali
considerazioni si rimanda al capitolo 1.5 dedicato alla modellazione dell’attrito.
Ricavata l’equazione della dinamica, l’accelerazione del sistema può esser determi-
nata come:
¨
X = M−1
· (Bf · Cm + K · X) (1.16)
La (1.16) è un sistema di equazioni differenziali del secondo ordine, risolvibile nu-
mericamente con il metodo di Runge-Kutta, ad esempio, oppure sfruttando gli stru-
menti offerti dall’ambiente Simulink. Si implementa allora il sistema nell’ambiente
Simulink (Fig.1.10).
Compattandolo in un solo blocco e mantenendo come output i parametri di interesse
si ottiene la rappresentazione di Fig.1.11.
30
Analisi modale
Fig. 1.10: Modello cedevole
Fig. 1.11: Modello cedevole compatto
1.3 Analisi modale
Nota l’equazione della dinamica (1.11), ricavata eseguendo una linearizzazione del
sistema per ogni punto dell’asse, quindi trascurando i contributi legati alla varia-
bilità delle rigidezze non costanti, si procede con lo studio del modello cedevole,
analizzando la sua risposta libera e forzata.
Come primo passo si determinano le pulsazioni naturali e i modi di vibrare conside-
rando il sistema non smorzato e non forzato, quindi con equazione:
M · ¨
X + K · X = 0 (1.17)
la cui soluzione è del tipo:
x = X sin(ωt) (1.18)
31
Descrizione ed analisi del sistema aptico a 1 g.d.l.
Sostituendo la (1.18) in (1.17) si ottiene il sistema lineare omogeneo:
(K − ω2
M)X = 0 (1.19)
Scartando la soluzione banale X = 0, le altre soluzioni si trovano imponendo:
det(−ω2
M + K) = 0 (1.20)
In altre parole, scrivendo la (1.20) nella forma:
det(M−1
K − ω2
I) = 0, (1.21)
determinare le pulsazioni naturali significa risolvere il problema agli autovalori della
matrice M−1
K mentre i corrispondenti autovettori costituiscono i modi di vibrare.
Essendo che nel sistema in esame due rigidezze variano con la posizione del carrello,
anche le frequenze non sono costanti. Il calcolo delle pulsazioni naturali in Matlab
ha fornito il seguente risultato (Fig.1.12):
-0.4 -0.2 0 0.2 0.4
x [m]
-0.01
0
0.01
1
[rad/s]
-0.4 -0.2 0 0.2 0.4
x [m]
500
600
700
800
2
[rad/s]
-0.4 -0.2 0 0.2 0.4
x [m]
1500
2000
3
[rad/s]
-0.4 -0.2 0 0.2 0.4
x [m]
5200
5300
5400
5500
4
[rad/s]
-0.4 -0.2 0 0.2 0.4
x [m]
3.8
3.85
3.9
5
[rad/s]
104
Fig. 1.12: Pulsazioni naturali variabili con la posizione del carrello
Queste informazioni sono utili per determinare la banda passante entro cui il sistema
può considerarsi come rigido, aiutandoci nella progettazione del regolatore di con-
trollo. Viene di seguito proposta una tabella riassuntiva (Tabella 1.8) con i valori
delle pulsazioni naturali agli estremi e al centro della corsa utile del carrello.
32
Analisi modale
Posizione [mm] ω1[rad
s
]
ω1[rad
s
]
ω1[rad
s
] ω2[rad
s
]
ω2[rad
s
]
ω2[rad
s
] ω3[rad
s
]
ω3[rad
s
]
ω3[rad
s
] ω4[rad
s
]
ω4[rad
s
]
ω4[rad
s
] ω5[rad
s
]
ω5[rad
s
]
ω5[rad
s
]
−0.455 0 568.694266 2052.928645 5263.905412 38645.324230
0 0 631.973547 1600.800334 5306.875518 38645.521967
0.455 0 800.193998 1414.027949 5431.237962 38646.095410
Tabella 1.8: Valori principali delle pulsazioni naturali
Per verificare che il modello cedevole rappresentato in (Fig.1.10) sia corretto, si ef-
fettuano alcune simulazioni in precise condizioni, in modo che il risultato sia già
noto a priori e prevedibile.
In particolare, assumendo che la matrice K sia costante (si ipotizza che il carrello si
trovi nella posizione x = 0), le pulsazioni naturali e i modi di vibrare ottenuti sono
riportati in Fig.1.13:
Fig. 1.13: Pulsazioni naturali variabili e modi di vibrare con carrello a metà corsa
Considerando il sistema descritto dall’equazione (1.17), quindi non smorzato e con
forzante nulla, e scegliendo come condizioni iniziali velocità nulla e posizione pari
al secondo modo di vibrare, la risposta libera nel tempo sarà prevedibilmente si-
33
Descrizione ed analisi del sistema aptico a 1 g.d.l.
nusoidale, con ampiezza e pulsazione naturale date dal modo di vibrare scelto: la
Fig.1.14 mostra il risultato atteso e permette quindi di dimostrare la correttezza
dello schema realizzato in Simulink.
0 0.05 0.1
[s]
-2
0
2
[rad]
m
0 0.05 0.1
[s]
-0.5
0
0.5
[rad]
r
0 0.05 0.1
[s]
-0.5
0
0.5
[rad]
g
0 0.05 0.1
[s]
-0.05
0
0.05
[rad]
p
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
[s]
-4
-2
0
2
4
[m]
10-3 x
Fig. 1.14: Oscillazioni libere del sistema non smorzato, non forzato, condizioni iniziali
pari al secondo modo di vibrare
34
Analisi modale
1.3.1 Determinazione della matrice smorzamento
Al fine di stimare il valore dello smorzamento delle cinghie del sistema, si sfrut-
tano le coordinate omogenee, ovvero coordinate che permettono di disaccoppiare
le equazioni del moto del sistema, diagonalizzando le matrici di massa, rigidezza
e smorzamento. Ricavate dunque le pulsazioni naturali e i corrispondenti (X
(i)
)
autovalori, si costruisce la matrice modale Φ:
Φ =
h
X
(1)
X
(2)
X
(3)
X
(4)
X
(15
i
Il legame tra le coordinate fisiche e modali è il seguente:













x(t) = Φ · q(t)
ẋ(t) = Φ · q̇(t)
ẍ(t) = Φ · q̈(t)
(1.22)
Sostituendo le relazioni (1.22) nell’equazione della dinamica (1.11) e premoltiplican-
do tutti i termini per ΦT
, si ricava l’equazione:
Mm · q̈ + Cm · q̇ + Km · q = Fm (1.23)
dove:
• Mm = ΦT
· M · Φ è la matrice di massa modale;
• Cm = ΦT
· C · Φ è la matrice di smorzamento modale;
• Km = ΦT
· K · Φ è la matrice di rigidezza modale;
• Fm = ΦT
· F è il vettore delle forzanti proiettato in coordinate principali.
Il vantaggio di utilizzare le coordinate modali è che le matrici sono diagonali e
quindi consentono di analizzare le equazioni di moto separatamente poichè sono
disaccoppiate tra di loro, ciascuna dipendente dalla sola coordinata libera i-esima.
Tali equazioni possono essere scritte nella forma:
¨
qi + 2 · ξi · ωn,i · ˙
qi + ω2
n,i · qi =
Fm,i
Mm,i
i = 1, ..., 5 (1.24)
dove:
35
Descrizione ed analisi del sistema aptico a 1 g.d.l.
• ω2
n,i =
Km,i
Mm,i
è il quadrato della pulsazione propria i-esima;
• ξi =
Cm,i
2·Mm,i·ωn,i
=
Cm,i
2·
√
Mm,i·Km,i
=
Cm,i
Ccr
è il fattore di smorzamento i-esimo (con
ccr smorzamento critico )
Scegliendo quindi un certo fattore di smorzamento ξ = 0.4, lo stesso per tutte le
coordinate, è possibile calcolare la matrice di smorzamento modale:
Cm,i = 2 · ξi · ωn,i · Mm,i i = 1, ..., 5 (1.25)
Calcolata la matrice diagonale Cm in coordinate omogenee, applicando la trasfor-
mazione inversa, si può ottenere quella in coordinate fisiche:
C = (ΦT
)−1
· Cm · Φ−1
(1.26)
Ponendoci ad esempio in x = 0, si ottiene la seguente matrice di smorzamento:
C =











0.0194 −0.0147 −0.0473 −0.0044 −1.0703
−00147 0.1805 −0.1043 −5.2780 · 10−4
−0.0818
−0.0473 −0.1043 0.3940 −0.0112 −1.4690
−0.0044 −5.2780 · 10−4
−0.0112 0.1032 −2.4250
−1.0703 −0.0818 −1.4690 −2.4250 326.1316











Considerando ora il sistema smorzato, si ripete l’analisi fatta in precedenza ana-
lizzando la risposta del sistema non forzato eccitando il secondo modo di vibrare
(Fig.1.15). Si osserva inoltre la risposta forzata del sistema smorzato ponendo una
forzante pari a Q = [1, 0, 0, 0, 0]T
(Fig.1.16).
36
Analisi modale
0 0.05 0.1
[s]
-1
0
1
[rad]
m
0 0.05 0.1
[s]
-0.4
-0.2
0
0.2
[rad]
r
0 0.05 0.1
[s]
-0.2
0
0.2
[rad]
g
0 0.05 0.1
[s]
-0.01
0
0.01
[rad]
p
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
[s]
-4
-2
0
2
4
[m]
10-3 x
Fig. 1.15: Oscillazioni smorzate del sistema non forzato, condizioni iniziali pari al secon-
do modo di vibrare
0 0.05 0.1
[s]
0
50
[rad]
m
0 0.05 0.1
[s]
0
5
10
15
[rad]
r
0 0.05 0.1
[s]
0
5
10
15
[rad]
g
0 0.05 0.1
[s]
0
5
10
15
[rad]
p
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
[s]
0
0.2
0.4
[m]
x
Fig. 1.16: Risposta nel tempo del sistema, forzante Q costante, smorzamento C non
nullo, K costante
37
Descrizione ed analisi del sistema aptico a 1 g.d.l.
0 0.05 0.1 0.15 0.2 0.25 0.3
[s]
0
50
100
150
200
250
300
[rad]
m
cedevole
m
rigido
Fig. 1.17: Andamento nel tempo della rotazione del motore, confrontando le risposte
forzate, del modello cedevole non smorzato e del rigido, utilizzando come in-
gresso una sinusoide con ampiezza di 20 Nm e pulsazione pari a 252.79 rad
s
In ultima analisi si effettua un confronto fra il comportamento del modello rigido e
cedevole analizzando la risposta forzata; le simulazioni condotte sono le seguenti:
1. Analisi della risposta forzata del modello cedevole non smorzato e rigido con-
siderando come ingresso una sinusoide con ampiezza 20 Nm e pulsazione, lon-
tana da quella propria del modo di vibrare, pari a 252.79 rad
s
(Fig.1.17): i due
modelli, coerentemente a quanto ci si aspetta, si comportano circa allo stesso
modo.
2. Analisi della risposta forzata del modello cedevole non smorzato e rigido con-
siderando come ingresso una sinusoide con ampiezza 20 Nm e pulsazione pari
a quella del secondo modo di vibrare rad
s
(Fig.1.18): il sistema cedevole è in
risonanza e la risposta diverge.
3. Analisi della risposta forzata del modello cedevole smorzato e rigido conside-
rando come ingresso una sinusoide con ampiezza 20 Nm e pulsazione pari a
quella del secondo modo di vibrare rad
s
(Fig.1.19): a differenza del caso pre-
cedente, la presenza della matrice smorzamento C attenua le oscillazioni e la
risposta non diverge.
38
Analisi modale
0 0.05 0.1 0.15 0.2 0.25 0.3
[s]
0
50
100
150
200
250
[rad]
m
cedevole
m
rigido
Fig. 1.18: Andamento nel tempo della rotazione del motore, confrontando le risposte for-
zate, del modello cedevole non smorzato e del rigido, utilizzando come ingresso
una sinusoide con ampiezza di 20 Nm e pulsazione pari a quella del secondo
modo di vibrare
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
[s]
0
5
10
15
20
25
30
35
40
[rad]
m
cedevole
m
rigido
Fig. 1.19: Andamento nel tempo della rotazione del motore, confrontando le risposte
forzate, del modello cedevole smorzato e del rigido, utilizzando come ingresso
una sinusoide con ampiezza di 20 Nm e pulsazione pari a quella del secondo
modo di vibrare
39
Descrizione ed analisi del sistema aptico a 1 g.d.l.
1.4 Calibrazione della cella di carico
La cella di carico in dotazione è priva di documentazione tecnica, pertanto è stato
necessario procedere con un’accurata calibrazione con l’obiettivo di determinare la
costante di proporzionalità tra forza applicata e tensione erogata dal sensore. All’at-
to pratico tale procedura è stata eseguita smontando la cella di carico dal carrello e
fissandola a sbalzo sul banchetto. In tal modo è stato possibile attaccarle un peso di
valore noto: sono state fatte diverse prove collegando una tanica da 5L e variando
progressivamente il volume di acqua contenuto all’interno. La procedura è stata
eseguita prima utilizzando un lato del sensore e poi ripetendola sull’altro, in modo
da considerare entrambi i versi della forza applicata alla cella. Per ogni prova fatta
vengono annotati:
• Il peso della tanica riempita, aiutandoci con una bilancia con risoluzione pari
a ±0.1 g;
• La tensione erogata dal sensore, collegandoci con il multimetro ai pin dedicati
della morsettiera;
• La tensione erogata dal sensore acquisendo il segnale tramite la scheda e
calcolando la moda del segnale.
In tabella 1.9 vengono riassunte le diverse prove condotte.
Peso [g]
Peso [g]
Peso [g] Vcella [V]
Vcella [V]
Vcella [V] VMV [V]
VMV [V]
VMV [V]
−8142 2.807 2.806
−5020 4.059 4.058
−4247 4.345 4.343
−2190 5.159 5.156
−1696 5.351 5.350
Tabella 1.9: Valori acquisiti per la calibrazione della cella di carico
Note le acquisizioni, rappresentando i punti in un piano e utilizzando la regressione
40
Calibrazione della cella di carico
lineare sfruttando la funzione polyfit, si determinala retta individuata dalle loro
coordinate.
0 1 2 3 4 5 6 7 8 9 10
[V]
-80
-60
-40
-20
0
20
40
60
80
[N]
Fig. 1.20: Forza applicata in ordinata, tensione erogata dal sensore in ascissa
Essendo noto che la forza misurata è calcolabile come
F = k · (V − V0) = k · V − k · V0 (1.27)
confrontando l’equazione (1.27) con l’espressione analitica di una retta (y = m·x+q)
è possibile definire le seguenti uguaglianze:





m = k
q = k · V0
Il coefficiente angolare m = 24.3430 e l’intercetta q = −147.7019 ci vengono forniti
dalla funzione Matlab polyfit; si determina quindi l’offset di tensione pari a:
V0 =
q
k
= 6.07V (1.28)
Si anticipa già che l’offset non è un valore costante, ma ha una certa variabilità,
pertanto, quando si implementerà il sistema di controllo in forza, sarà necessario
realizzare una fase preliminare di calibrazione della cella. Inoltre il segnale fornito
dalla cella è rumoroso: si decide pertanto di filtrarlo con un filtro passa basso del
secondo ordine con frequenza di taglio ft = 5 Hz e ξ = 0.9. Oltre al filtraggio del
41
Descrizione ed analisi del sistema aptico a 1 g.d.l.
segnale si introduce una banda morta che previene spostamenti non desiderati del
carrello. La cella di carico consente un’applicazione massima di 20 kg equivalenti
a circa 200 N: il circuito di amplificazione per la lettura del segnale limita però
tale valore a una forza massima di circa ±100 N, poichè lavora tra Vmin = +2 V e
Vmax = +10 V.
42
Modellazione dell’attrito
1.5 Modellazione dell’attrito
L’attrito viene definito come una forza dissipativa in direzione tangenziale alla su-
perficie di contatto fra due corpi che ne ostacola il moto relativo: se i due oggetti
sono in quiete si parla di attrito statico, qualora invece siano in movimento si tratta
di attrito dinamico (o radente).
I fenomeni di attrito si manifestano in tutti i sistemi meccanici ed è un aspetto
complesso da analizzare in quanto dipendente da molti parametri e fattori (tempe-
ratura, umidità, lubrificazione, tipologia di contatto ecc. . . ) ed inoltre, ancora oggi,
non sono ben chiari i comportamenti microscopici che portano agli effetti osservabili
a livello macroscopico.
Fare un’accurata modellazione dell’attrito non è quindi banale; si deve cercare un
compromesso tra il rappresentare adeguatamente la fisica del problema ed il fare un’
analisi non troppo onerosa dal punto di vista computazionale: l’obiettivo è realiz-
zarne una compensazione e quindi migliorare le prestazioni del sistema di controllo.
Facendo una ricerca dei modelli presenti in letteratura se ne trovano diversi, sia di
natura empirica che fisica: vengono qui analizzati solo i primi, basati quindi sull’
osservazione sperimentale e che cercano di descrivere l’effetto dell’attrito sul sistema
reale, ma non ne analizzano le cause su basi fisiche. Nella modellazione del sistema
in esame fatta fino ad ora, ovvero nell’equazione della dinamica (1.11), non si è
tenuto conto delle perdite dovute alle forze di attrito. Tali dissipazioni di energia
sono causate ad esempio dall’attrito volvente delle sfere dei cuscinetti, dall’ ingra-
nare delle ruote dentate del riduttore di velocità e dallo strisciamento dei pattini del
carrello sulla guida lineare.
Quest’ultimo è l’effetto dominante pertanto il modello equivalente realizzato fa ri-
ferimento ad esso, ma i parametri verranno determinati considerando tutte le dissi-
pazioni presenti nel sistema. I modelli presenti in letteratura vengono classificati in
statici e dinamici ed i più diffusi sono:
• Modelli statici: i modelli classici, il modello di Stribevk e di Karnop;
• Modelli dinamici: il modello di LuGre, di Leuven e di Dahl. I modelli dina-
mici sono più precisi rispetto a quelli statici poiché descrivono in maniera più
43
Descrizione ed analisi del sistema aptico a 1 g.d.l.
accurata il passaggio tra la condizione di riposo e quella di inizio movimento,
poi di fatto sono proporzionali alla velocità, almeno fino al raggiungimento di
una certa soglia. Di conseguenza si ottiene una miglior previsione dell’anda-
mento reale del fenomeno, ma risultano più difficili da implementare. È altresı̀
vero che i fenomeni rappresentati dai modelli dinamici devono essere analizza-
ti su scala microscopica mentre quelli descritti dai modelli statici sono visibili
anche in scala macroscopica. I modelli dinamici di attrito più diffusi in lette-
ratura, quali quelli citati, fanno uso di equazioni differenziali e non tengono
conto della sola dipendenza dell’attrito dalla velocità.
Scelto il modello da implementare, tramite prove sperimentali si ricavano i parametri
corrispondenti.
1.5.1 Modelli statici d’attrito
I modelli statici non considerano in alcun modo gli aspetti di memoria dell’attrito, i
quali, per contro, sono utilizzati in quelli dinamici mediante la descrizione di dina-
miche aggiuntive tra velocità e forze d’attrito.
I modelli statici sono il modo più semplice per descrivere la forza d’attrito poiché
consentono di determinarla come funzione della velocità di scorrimento relativo fra
le due superfici: sono di fatto una combinazione dei modelli classici quali dell’attrito
di Coulomb, dell’ attrito statico e di quello viscoso. Il modello più usato è la legge
di attrito di Coulomb (caso (a) in Fig.1.21) che esprime la forza di attrito come:
F = Fc · sign(v) = µ · N · sign(v) (1.29)
sign(v) =


−1 per ∀(v) < 0
1 per ∀(v) > 0


dove N è la forza normale agente sulla superficie, µ è il coefficiente di attrito radente,
Fc è la forza di attrito coulombiana e sign(v) è l’operatore matematico che restituisce
il segno della velocità.
La (1.29) ci dice che l’attrito si oppone al moto e la sua intensità è indipendente dalla
velocità e dall’area di contatto. Si noti inoltre come questo modello non specifichi il
44
Modellazione dell’attrito
ሶ
𝑥 ሶ
𝑥 ሶ
𝑥
𝐹𝑐
−𝐹𝑐
𝐹𝑎 𝐹𝑎 𝐹𝑎
𝐹𝑐
−𝐹𝑐
μ𝑣
𝐹𝑠
−𝐹𝑠
a) b) c)
Fig. 1.21: Modelli d’attrito classici
valore della forza d’attrito nel caso di velocità nulla: può essere nulla o assumere un
qualsiasi valore tra −Fc e +Fc a seconda di come viene definita la funzione sign. Si
può migliorare il modello appena descritto introducendo la forza di attrito viscoso
nei casi di velocità non nulla (caso (b) in Fig.1.21):
F = Fc · sign(v) + µv · v (1.30)
con µv coefficiente di attrito viscoso.
Un ulteriore miglioria si ottiene distinguendo i casi di attrito statico e attrito viscoso
(caso (c) in Fig.1.21): a causa delle possibili deformazioni che si verificano prima
dello strisciamento si ha che la forza limite di attrito statico in condizione di immo-
bilità è maggiore rispetto alla forza di Coulomb.
Un corpo rimarrà pertanto nel suo stato di quiete finchè la forza esterna applicata
risulta inferiore alla forza limite di attrito statico (detta anche forza di attrito di
primo distacco). L’attrito statico controbilancia le forze esterne e impedisce il movi-
mento fino a un certo valore di forza applicata: è allora chiaro che l’attrito a riposo
non può essere descritto come una funzione della sola velocità, ma come funzione
delle forze esterne applicate. Tale modello è descritto dalle seguenti equazioni:
F =













Fc · sign(v) + µv · v se v ̸= 0
Fe se v = 0 e |Fe| < Fs
Fs · sign(Fe) se v = 0 e |Fe| = Fs
(1.31)
dove Fe è la forza esterna applicata che permette di mantenere il corpo fermo finchè
realizza la condizione Fs > Fe con Fs = µs ·N che è la forza limite di attrito statico.
45
Descrizione ed analisi del sistema aptico a 1 g.d.l.
.
Fig. 1.22: Modelli d’attrito con effetto Stribeck
Questi modelli matematici descrivono quindi un grafico forza-velocità simmetrico
(Fig.1.21) motivato dal fatto che attraversando il punto a velocità nulla, ovvero in
corrispondenza della discontinuità, si inverte la forza d’attrito coerentemente con
l’inversione della direzione del moto.
Non è però detto che la caratteristica forza-velocità sia simmetrica soprattutto in
prossimità di velocità nulle, come evidenzieranno i dati sperimentali.
Un’ ultima modifica ai modelli appena citati si può fare considerando le osservazioni
condotte da Stribeck: egli notò che la forza d’attrito, a basse velocità, decresce per
poi riprendere ad aumentare col crescere della velocità (Fig.1.22).
I modelli d’attrito statici analizzati fino ad ora sono accomunati dall’avere una di-
scontinuità in corrispondenza di velocità nulle: questo potrebbe portare complica-
zioni di natura numerica e quindi instabilità nell’algoritmo di controllo in sistemi
che ricavano il segnale di velocità derivando numericamente quello di posizione cam-
pionato.
Una possibile soluzione potrebbe essere quella di addolcire la discontinuità a velocità
nulla inserendo una funzione a pendenza elevata, ma finita (caso (b) in Fig.1.22).
Tale soluzione è adatta per sistemi che transitano dalla condizione di risposo solo
saltuariamente.
Un’ alternativa potrebbe essere quella di considerare il risultato della funzione sign
in corrispondenza della velocità nulla pari a zero: questa pratica però, oltre a recare
problemi nell’individuazione dell’istante preciso a velocità nulla, non descrive cor-
rettamente i fenomeni di attrito in quanto forze esterne inferiori a quella di attrito
46
Modellazione dell’attrito
ሶ
𝑥
𝐹𝑎
η
-η
𝐹𝑠
−𝐹𝑠
Fig. 1.23: Modelli d’attrito di Karnop
statico non sarebbero compensate. Per ovviare a tale inconveniente nella zona dell’
inversione, si utilizza il modello di Karnop (Fig.1.23): qui, si evita la ricerca perfetta
del punto a velocità nulla poichè viene definita una regione (detta stick region) in cui
essa viene ritenuta nulla e la forza d’attrito, che mantiene fermo il corpo, dipende
solo dalle forze esterne applicate, fino a un valore massimo pari alla forza di attrito
statico.
Al di fuori della stick region, il corpo si muove, si parla ancora di attrito visco-
so, funzione della velocità relativa. Il modello di Karnop è descritto dalle seguenti
equazioni:
F =













Fc · sign(v) + µv · v se |v| > η
Fe se |v| < η e |Fe| < Fs
Fs · sign(Fe) se |v| < η e |Fe| > Fs
(1.32)
1.5.2 Modello d’attrito implementato
Per la scelta del corretto modello di attrito da utilizzare si procede con un’indagine
sperimentale sul banco di prova. La presenza della cella di carico e del resolver sul
motore ci permette di fare delle acquisizioni con l’obiettivo di individuare il modello
più adatto e stimarne i parametri.
L’attività sperimentale è stata condotta trascinando lungo la guida il carrello per
47
Descrizione ed analisi del sistema aptico a 1 g.d.l.
0 5 10 15 20 25 30 35 40
[s]
0
20
40
[rad]
Posizione
0 5 10 15 20 25 30 35 40
[s]
-20
0
20
[rad/s]
Velocità
0 5 10 15 20 25 30 35 40
[s]
-50
0
50
[rad/s
2
]
Accelerazione
Fig. 1.24: Segnali di posizione, velocità e accelerazione acquisiti
mezzo del sistema di presa e acquisendo la forza introdotta dall’operatore, già de-
purata dall’offset, ed il segnale di posizione.
Servendoci delle differenze finite sono stati ricavati offline i segnali di velocità ed
accelerazione. Vista l’amplificazione del rumore introdotta dalla doppia derivazione
numerica, si preferisce filtrarlo con un filtro FIR in Simulink: gestendo la banda
passante, il segnale verrà sfasato, ma con un ritardo costante. Si può verificare la
correttezza del modo di procedere integrando l’accelerazione filtrata e confrontando
il segnale di velocità che ne deriva con quello ricavato in precedenza, opportunamen-
te ritardato.
In Fig.1.24 vengono mostrati i segnali acquisiti. Utilizzando ora il segnale di ac-
celerazione filtrato, nota l’inerzia ridotta al motore, è possibile calcolare la coppia,
quindi la forza d’inerzia: depurando la forza introdotta dall’operatore da quest’ul-
tima componente, è immediato ricavare la forza d’attrito (metodo (a)). Osservando
i risultati sperimentali in Fig.1.25, si decide di implementare il modello di attrito
di Karnop, sia per l’evidente somiglianza con il modello teorico sia per la difficoltà
nel caratterizzare l’andamento dell’attrito nell’intorno della velocità nulla. Dai dati
ricavati si estrapolano i valori dei parametri che vengono riassunti in tabella 1.10.
Come già anticipato in precedenza, si noti come il modello, seppur di leggermente,
non risulti simmetrico.
48
Modellazione dell’attrito
-0.08 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 0.08
[m/s]
-30
-20
-10
0
10
20
30
[N]
Fig. 1.25: Forza d’attrito
Parametro Valore
η[m
s
] 0.01
F+
s [N] 21
F−
s [N] −20
F+
c [N] 16
F−
c [N] −16
µ+
v [Ns
m
] 96.4174
µ−
v [Ns
m
] 101.9479
Tabella 1.10: Parametri del modello d’attrito implementato con il metodo (a)
49
Descrizione ed analisi del sistema aptico a 1 g.d.l.
-0.08 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 0.08
[m/s]
-30
-20
-10
0
10
20
30
[N]
Fig. 1.26: Modello d’attrito implementato
Un ’altro valido approccio per determinare i valori dei parametri, sempre di natura
sperimentale, è quello di tipo matriciale (metodo (b)). Partendo sempre dalle ac-
quisizioni di forza introdotta e di posizione, si ricava in maniera del tutto analoga
a quanto fatto in precedenza, il segnale di accelerazione. Considerando il carrello e
facendo un bilancio di forze è possibile determinare la sua equazione della dinamica:
m · ẍ + fv · ẋ + Fc · sign(v) = F (1.33)
in cui m, fv e Fc sono rispettivamente la massa del carrello, il coefficiente di attrito
viscoso e la forza di attrito coloumbiana.
Chiamando q il vettore colonna contenente i campioni del segnale di posizione, q̇
quelli di velocità, q̈ quelli di accelerazione e considerando che m, fv e Fc sono le
incognite è possibile definire:
Y =
h
q̈ q̇ sign(q)
i
50
Modellazione dell’attrito
Π =





m
fv
Fc





dove le matrici Y e Π avranno un numero di righe pari al numero di campioni
costituenti i segnali. Si può allora scrivere la seguente equazione:
Y · Π = F (1.34)
in cui F è un vettore colonna con i campioni del segnale di forza. Si possono allora
ricavare le incognite tramite metodo dei minimi quadrati:
Π = (Y T
· Y )−1
· Y T
(1.35)
Ripetendo tale procedura per forze sia positive che negative si desumono i valori dei
parametri riassunti in tabella 1.11, molto simili a quelli ricavati sperimentalmente
col precedente metodo:
Parametro Valore
F+
s [N] 21
F−
s [N] −20
F+
c [N] 16.0896
F−
c [N] −16.6458
µ+
v [Ns
m
] 96.6610
µ−
v [Ns
m
] 102.1736
Tabella 1.11: Parametri del modello d’attrito implementato con il metodo (b)
Il vantaggio nell’utilizzare questo approccio matriciale è che è estendibile anche a
sistemi a più gradi di libertà e permette di ricavare anche la massa del carrello,
qualora non fosse nota.
Dopo aver illustrato le procedure per stimare i parametri del modello, si fa presente
come si sia evidenziato in successive acquisizioni a velocità maggiori un comporta-
mento non più lineare, o comunque approssimabile a tale, ma con diversa pendenza
rispetto a quella considerata a basse velocità.
51
Descrizione ed analisi del sistema aptico a 1 g.d.l.
1.6 Controllo di posizione
Per far raggiungere una specifica posizione al manipolo dell’interfaccia aptica, è
necessario controllare in posizione il carico: a tal scopo, ci sono diverse strategie
di controllo che possono essere implementate. Di seguito, se ne illustreranno e
confronteranno due: il, cosiddetto, posizionamento poli e il controllo in cascata. In
entrambi i casi, per tarare i controllori, si prende in considerazione il modello rigido
del sistema, ricavato nel sotto-paragrafo 1.2.1.
1.6.1 Posizionamento poli
In primo luogo, si consideri la rappresentazione in variabili di stato di un generico
sistema lineare tempo-invariante SISO (con un ingresso e un’uscita), di ordine n
(1.36). Il vettore X è il vettore delle variabili di stato ed è un vettore n x 1, A è la
matrice di stato n x n del sistema, i vettori B e C sono, rispettivamente, un vettore
colonna n x 1 e un vettore riga 1 x n, mentre il termine D è uno scalare (1 x 1).
L’uscita del sistema è y, mentre u è l’azione di controllo applicata in ingresso.





Ẋ = AX + Bu
y = CX + Du
(1.36)
La strategia di controllo in anello chiuso, denominata posizionamento poli, prevede
di chiudere l’anello applicando in ingresso al sistema un’azione di controllo espressa
dalla formula (1.37), dove il vettore G è il vettore dei guadagni ed è un vettore riga
1 x n, dove n è l’ordine del sistema.
u = −GX dove G = [g1, g2, −, gn] (1.37)
Sostituendo la relazione (1.37) all’interno dell’equazione di stato del sistema in esa-
me, si ottiene l’espressione (1.38), la quale rappresenta l’equazione di stato del siste-
ma in anello chiuso. La matrice (A-BG) è la matrice di stato del sistema in anello
chiuso.
Ẋ = AX − BGX = (A − BG)X (1.38)
L’idea della presente strategia di controllo è quella di assegnare specifiche posizioni
ai poli del sistema in anello chiuso e di determinare il corrispondente vettore dei
52
Controllo di posizione
guadagni G. In generale, i poli del sistema in anello chiuso possono essere reali o
complessi coniugati. Tuttavia, essi devono necessariamente avere parte reale nega-
tiva, in modo tale che il sistema in anello chiuso sia asintoticamente stabile. I poli
del sistema in anello chiuso sono gli autovalori della matrice di stato del sistema in
anello chiuso (A-BG). Essi possono quindi essere determinati risolvendo l’equazione
caratteristica del sistema retroazionato (1.39).
det(λI − (A − BG)) = 0 (1.39)
Descritta brevemente la strategia di controllo in anello chiuso la si applica ora allo
specifico sistema in esame. Si consideri il modello rigido del sistema, descritto dall’
equazione (1.40), dove Jm,eq è il momento di inerzia equivalente del sistema, ridotto
all’albero motore.
Cm = Jm,eqω̇m (1.40)
Invertendo la relazione (1.40), si ricava l’espressione (1.41).
ω̇m =
Cm
Jm,eq
(1.41)
Ricordando che la coppia generata dal motore è direttamente proporzionale alla ten-
sione applicatagli, mediante la costante dell’azionamento Kaz, si ottiene la formula
(1.42), la quale definisce l’accelerazione dell’albero motore, in funzione della tensione
applicata e dell’inerzia equivalente del sistema, ridotta all’albero di ingresso della
trasmissione.
ω̇m =
Kaz
Jm,eq
V (1.42)
L’espressione (1.42) è un’equazione differenziale del secondo ordine che può essere
scomposta in un sistema di due equazioni differenziali del primo ordine (1.43), ri-
cordando che l’accelerazione angolare è la derivata prima, nel tempo, della velocità
angolare e quest’ultima, a sua volta, è la derivata prima, nel tempo, della posizione
angolare dell’albero motore. 




θ̇m = ωm
ω̇m = Kaz
Jm,eq
V
(1.43)
A questo punto, si consideri:
53
Descrizione ed analisi del sistema aptico a 1 g.d.l.
• la posizione angolare e la velocità angolare dell’albero motore, come variabili
di stato (1.44),(1.45);
• la tensione V applicata al motore, come ingresso (1.46);
• la variabile misurata, ovvero la posizione angolare dell’albero motore, come
uscita del sistema (1.47).
x1 = θm (1.44)
x2 = ωm (1.45)
u = V (1.46)
y = x1 = θm (1.47)
Dunque, la rappresentazione in variabili di stato del sistema in esame è espressa dal
sistema di equazioni (1.48). 












ẋ1 = x2
ẋ2 = Kaz
Jm,eq
u
y = x1
(1.48)
Passando ad una notazione matriciale, si ottiene:



























ẋ = AX + Bu dove A =



0 1
0 0


 B =



0
Kaz
Jm,eq



y = CX + Du dove CT
=



1
0


 D = 0 X =



x1
x2



(1.49)
Dunque, il sistema in esame è un sistema lineare tempo invariante SISO, con un
ingresso e un’uscita, del secondo ordine (n = 2), quindi caratterizzato da due va-
riabili di stato x1 e x2. Pertanto, controllando tale sistema mediante il metodo del
posizionamento poli, l’azione di controllo è definita dalla formula (1.50), mentre la
matrice di stato del sistema in anello chiuso è una matrice 2 x 2 ed è espressa dalla
relazione (1.51).
u = −g1x1 − g2x2 = −GX dove G =
h
g1 g2
i
(1.50)
54
Controllo di posizione
Acl = A − BG =


0 1
0 0

 −


0
Kaz
Jm,eq


h
g1 g2
i
=


0 1
− Kaz
Jm,eq
g1 − Kaz
Jm,eq
g2

 (1.51)
Quindi, nel caso in esame, l’azione di controllo che viene applicata in ingresso al si-
stema è data da una combinazione lineare delle due variabili di stato x1 e x2 (1.46),
ovvero della posizione e della velocità angolare corrente dell’albero motore. Dun-
que, per chiudere l’anello di controllo, si deve misurare retroazionare tali variabili.
In particolare, la misura della velocità angolare corrente può essere ottenuta deri-
vando, rispetto al tempo, la misura della posizione angolare dell’albero motore. Si
osservi che, a livello pratico, volendo controllare in posizione il carico, si desidera far
seguire a quest’ultimo un certo profilo di moto. Per tale ragione, una volta misurate
e retroazionate la posizione e la velocità angolare dell’albero motore, le si confronta,
rispettivamente, con il set-point di posizione e di velocità. In questo modo, si otten-
gono gli errori in posizione e in velocità, i quali vengono poi mandati in ingresso ai
guadagni g1 e g2, ricavando infine la tensione V, che rappresenta l’azione di controllo
che deve essere applicata in ingresso al sistema. Dunque, in questo contesto appena
descritto, l’azione di controllo u, che viene applicata in ingresso al sistema, la si
calcola mediante la formula (1.52), dove X̃ è un vettore che contiene i riferimenti di
posizione e di velocità applicati in ingresso al sistema.
u = G(X̃ − X) (1.52)
In Fig.1.27, è riportato lo schema a blocchi del sistema in esame, controllato in anello
chiuso mediante il metodo del posizionamento poli. Il polinomio caratteristico del
sistema in anello chiuso in esame è di secondo grado ed è espresso dalla formula
(1.53).
πcl = det(λ−(A−BG)) = det


λ −1
Kaz
Jm,eq
g1
Kaz
Jm,eq
g2

 = λ2
+
Kaz
Jm,eq
g2λ+
Kaz
Jm,eq
g1 (1.53)
In generale, si può esprimere (1.53) mediante la relazione (1.54), dove ξ è lo smor-
zamento e ωn è la pulsazione naturale del sistema retroazionato.
πcl = λ2
+ 2ξωnλ + ω2
n (1.54)
55
Descrizione ed analisi del sistema aptico a 1 g.d.l.
Fig. 1.27: Schema a blocchi del sistema in esame, controllato in anello chiuso mediante
il metodo del “posizionamento poli”.
La pulsazione naturale ωn può essere legata alla frequenza critica del sistema me-
diante la relazione (1.55).
ωn = 2πfn (1.55)
Confrontando la relazione (1.53) con l’espressione (1.54), si ottiene che i guadagni
g1 e g2 possono essere determinati mediante le formule (1.56) e (1.57).
g1 =
Jm,eq
Kaz
ω2
n (1.56)
g2 = 2
Jm,eq
Kaz
ξωn (1.57)
In conclusione, per sintetizzare il controllore della strategia di controllo in anello
chiuso denominata posizionamento poli, si fissa, innanzitutto, lo smorzamento ξ e la
frequenza critica fn del sistema retroazionato e si determinano in seguito i guadagni
g1 e g2 mediante le relazioni (1.56) e (1.57). L’obiettivo in questa sintesi è quello
di posizionare i poli, del sistema in anello chiuso, il più lontano possibile dall’asse
immaginario del piano complesso, in modo tale che la risposta del sistema sia la più
veloce possibile. Come già detto in precedenza, tali poli devono giacere nel semi-
piano sinistro, ovvero devono avere parte reale negativa, e, inoltre, devono essere
complessi coniugati (di conseguenza, lo smorzamento ξ deve essere compreso tra
0 e 1, estremi esclusi). Tuttavia, tali poli non possono essere posizionati troppo
lontano dall’asse immaginario in quanto, altrimenti, introdurrebbero vibrazioni nel
56
Controllo di posizione
sistema. In particolare, la frequenza critica deve essere sufficientemente distante
dalle frequenze proprie del sistema. Infatti, se un sistema cedevole lavora nell’intorno
di una sua pulsazione propria, allora il sistema tenderà a vibrare con delle oscillazioni
crescenti tanto più esso opera vicino ad una sua pulsazione propria. Come ricavato
in precedenza nel sotto-paragrafo 1.3, la frequenza critica più piccola e diversa da
zero del sistema in esame risulta essere intorno ai 100 Hz. Dunque, si devono fissare
i poli del sistema in anello chiuso, in modo tale che abbiano una frequenza naturale
sufficientemente inferiore ai 100 Hz. Nello specifico, per i poli complessi coniugati
del sistema in anello chiuso si è considerato:
• uno smorzamento ξ = 0.6
• una frequenza naturale fn = 23 Hz
I corrispondenti valori dei guadagni del posizionatore sono:
• g1 = 6.61
• g2 = 0.055
Nella Fig.1.28, è rappresentato lo schema Simulink del sistema di controllo, in anello
chiuso, basato sul metodo del posizionamento poli, applicato al modello rigido e al
modello cedevole del sistema.
Per mostrare che il sistema di controllo in posizione, basato sul posizionamento po-
li, appena sintetizzato sia corretto e sufficientemente performante, vi si è applicato
in ingresso, utilizzando lo schema Simulink raffigurato, i segnali di riferimento in
posizione e in velocità, ottenuti mediante una legge di moto polinomiale 4-5-6-7 e
riportati nelle Fig.1.29 e 1.30. Mediante tale profilo di moto, si fa muovere, in modo
periodico, il manipolo dell’interfaccia aptica tra due posizioni estreme, localizzate,
rispettivamente, a circa -0.45 m e +0.45 m rispetto al centro del sistema. Si osservi
che l’interfaccia aptica in esame è costituita da un motore brushless, che presenta
una velocità massima consentita pari a 10000 rpm, e un riduttore, posto a valle del
motore, caratterizzato da una velocità massima ammissibile al suo ingresso pari a
8000 rpm. Dunque, la velocità massima consentita a livello dell’albero di ingresso
della trasmissione è pari a 8000 rpm (ovvero il minimo dei due precedenti valori).
57
Descrizione ed analisi del sistema aptico a 1 g.d.l.
Fig. 1.28: Schema Simulink del sistema di controllo, basato sul metodo del posiziona-
mento poli, applicato al modello rigido e al modello cedevole del sistema.
58
Controllo di posizione
Tuttavia, l’azionamento che guida l’attuatore elettrico limita a sua volta la massi-
ma velocità che si può raggiungere a livello dell’albero motore. In particolare, dal
catalogo del motore elettrico Mavilor con cui si aziona l’interfaccia aptica, si riscon-
tra che, nel caso in cui esso sia gestito mediante un azionamento Infranor, come,
effettivamente avviene, la sua velocità massima consentita è limitata ad un valore
di circa 5500 rpm. Pertanto, riducendosi a livello del manipolo, la massima velocità
consentita per il carico risulta essere pari a 3.29 m/s. Dunque, per osservare le
prestazioni del posizionatore progettato, ci si è posti nelle condizioni più critiche,
dal punto di vista del carico. Infatti, dal profilo di velocità, riportato in Fig.1.30, si
osserva che la massima velocità che si fa raggiungere al manipolo, durante il movi-
mento progettato, è intorno proprio a 3.29 m
s
. Nella progettazione del movimento
che si desidera far compiere al carico, è importante verificare non solo che la velocità
massima dell’end effector sia minore di quella limite dall’unità motore - trasmissione
del sistema (condizione cinematica), ma che, anche, la condizione termica e la con-
dizione di picco siano soddisfatte. Per fare ciò, si devono calcolare i valori root mean
square e massimo della coppia richiesta al motore dal carico e verificare che siano
inferiori, rispettivamente, alla coppia nominale e massima del motore impiegato.
Nel caso in esame, il sistema è caratterizzato da un carico puramente inerziale (se si
trascurano le azioni d’attrito) e, quindi, i valori rms e massimo della coppia richie-
sta al motore dal carico possono essere calcolati moltiplicando la sua accelerazione
rms e massima per l’inerzia equivalente del sistema, ridotta all’albero di ingresso
della trasmissione. Considerando il movimento descritto dai profili di moto riportati
nelle Fig.1.29 e 1.30, la condizione di picco e la condizione termica risultano essere
entrambe soddisfatte con un margine di coppia, rispettivamente, pari a 9.62 e 4.33.
59
Descrizione ed analisi del sistema aptico a 1 g.d.l.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
Fig. 1.29: Profilo di moto in posizione
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
Time [s]
-4
-3
-2
-1
0
1
2
3
4
x
p
[m/s]
Fig. 1.30: Profilo di moto in velocità
60
Controllo di posizione
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
xtilde
xced
xrig
Fig. 1.31: Andamento, nel tempo, della posizione del carico, controllato in posizione
mediante il metodo del posizionamento poli
Nelle Fig.1.31 e Fig.1.32 si confronta la risposta, al profilo di moto precedentemente
descritto, in termini di posizione e velocità lineare del manipolo, del sistema di con-
trollo appena sintetizzato e applicato sia al modello rigido che al modello cedevole
del banco di prova in esame. In primis, dai grafici, si osserva che le risposte del
modello cedevole e del modello rigido sono molto simili tra loro. In secondo luogo,
si riscontra che il sistema di controllo in posizione, basato sul posizionamento poli,
appena progettato consente al sistema di seguire in modo molto preciso il segnale
riferimento in posizione e in velocità, che gli viene applicato in ingresso. Nelle
Fig.1.33 e 1.34, si osserva più nel dettaglio l’andamento effettivo della posizione e
della velocità lineare del manipolo, durante una, cosiddetta, fase di salita. Si può
notare che la posizione effettiva del manipolo presenta una piccola sovraelongazione,
di meno di due decimi di millimetro, rispetto all’andamento del set point di posizio-
ne. Anche la velocità effettiva del manipolo presenta una piccola sovraelongazione,
rispetto al set point di velocità, nella fase in cui il manipolo termina la fase di salita
ed inizia la, cosiddetta, fase di riposo. Tali errori sono molto limitati e, di conse-
guenza, più che accettabili. Si può concludere che, almeno a livello di simulazione, il
sistema di controllo progettato è sufficientemente performante per poter controllare
in posizione l’interfaccia aptica in esame.
61
Descrizione ed analisi del sistema aptico a 1 g.d.l.
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]
-4
-3
-2
-1
0
1
2
3
4
x
p
[m/s]
xp,tilde
xp,ced
xp,rig
Fig. 1.32: Andamento, nel tempo, della velocità del carico, controllato in posizione me-
diante il metodo del posizionamento poli
1.96 1.98 2 2.02 2.04 2.06 2.08 2.1 2.12 2.14
Time [s]
0.4498
0.44985
0.4499
0.44995
0.45
0.45005
0.4501
x
[m]
xtilde
xced
xrig
Fig. 1.33: Analisi nel dettaglio dell’andamento, nel tempo, della posizione del carico,
controllato in posizione mediante il metodo del posizionamento poli
62
Controllo di posizione
1.98 2 2.02 2.04 2.06 2.08 2.1 2.12
Time [s]
-0.01
-0.008
-0.006
-0.004
-0.002
0
0.002
0.004
0.006
0.008
0.01
0.012
x
p
[m/s]
xp,tilde
xp,ced
xp,rig
Fig. 1.34: Analisi nel dettaglio dell’andamento, nel tempo, della velocità del carico, con-
trollato in posizione mediante il metodo del posizionamento poli
Infine, si determina la funzione di trasferimento, in anello chiuso, del sistema di
controllo in posizione progettato. Essa sarà utile, in seguito, nello studio del controllo
in forza dell’interfaccia aptica. Per svolgere tale analisi si prende in considerazione
il modello rigido del sistema. La rappresentazione in variabili di stato del sistema
di controllo in posizione è descritta dal sistema di equazioni (1.58).













Ẋ = (A − BG)X + BGX̃ dove A − BG =



0 1
−Jm,eq
Kaz
g1 −Jm,eq
Kaz
g2



y = CX dove C =

1 0

(1.58)
Si osservi che il sistema in anello chiuso riceve in ingresso un vettore X̃ di due
elementi: il riferimento in posizione e il set-point in velocità. Conoscendo la rap-
presentazione in variabili di stato del sistema retroazionato, la sua funzione di tra-
sferimento, dall’ingresso X̃ all’uscita y, può essere calcolata mediante la relazione
(1.59).
F = C(A − BG)−1
B (1.59)
Sviluppando la (1.59), si ottiene che la funzione di trasferimento del sistema in anello
chiuso, dall’ingresso X̃ all’uscita y, può essere determinata mediante la formula
63
Descrizione ed analisi del sistema aptico a 1 g.d.l.
(1.60).
F =
1
s2 + Jm,eq
Kaz
g2s + Jm,eq
Kaz
g1
h
Jm,eq
Kaz
g1
Jm,eq
Kaz
g2
i
(1.60)
A questo punto, è importante osservare che i due ingressi del posizionatore in esame
sono strettamente legati tra loro, in quanto sono uno la posizione angolare e l’altro la
velocità angolare dell’albero motore. Di conseguenza, il secondo ingresso può essere
ottenuto derivando, rispetto al tempo, il primo oppure, viceversa, quest’ultimo può
essere ottenuto, a partire dal secondo, per integrazione. Dunque, in realtà, il sistema
di controllo in posizione in esame presenta un solo ingresso, che può essere il set-
point in posizione oppure il set-point in velocità. Nel primo caso, il vettore X̃ può
essere espresso mediante la formula (1.61), mentre, nel secondo, il medesimo vettore
può essere rappresentato mediante la relazione (1.62).
X̃ =


1
s

 x̃ (1.61)
X̃ =


1
s
1

 ˙
x̃ (1.62)
La funzione di trasferimento in anello chiuso del posizionatore, dal riferimento x̃
all’uscita x, nel caso in cui esso riceva in ingresso il segnale di riferimento in posizione,
può quindi essere calcolata mediante la relazione (1.63).
Gppos (s) =
1
τRp
F


1
s

 τRp = F


1
s

 (1.63)
In modo analogo, la funzione di trasferimento in anello chiuso, dal riferimento ˙
x̃
all’uscita x, nel caso in cui il posizionatore riceva in ingresso il segnale di riferimento
in velocità, può essere calcolata mediante la relazione (1.64)
Gpvel
(s) = F


1
s
1

 (1.64)
Inserendo l’espressione (1.60) all’interno delle relazioni (1.63) e (1.64), si ottiene che
le due suddette funzioni di trasferimento possono essere determinate mediante le
relazioni (1.65) e (1.66).
Gppos =
Jm,eq
Kaz
g2s + g1
s2 + Jm,eq
Kaz
g2s + Jm,eq
Kaz
g1
(1.65)
64
Controllo di posizione
101
102
103
104
-30
-20
-10
0
Magnitude
[dB]
101
102
103
104
w [rad/s]
-100
-50
0
Phase
[deg]
Fig. 1.35: Diagramma di Bode, del modulo e della fase, della funzione di trasferimento
Gpos
Gpvel
=
Jm,eq
Kaz
g2s + g1
s3 + Jm,eq
Kaz
g2s2 + Jm,eq
Kaz
g1s
(1.66)
Nelle Fig.1.35 e Fig.1.36 sono rappresentati i diagrammi di Bode, di modulo e fase,
delle due funzioni di trasferimento Gppos e Gpvel
, tracciati considerando come valore
dei guadagni g1 e g2 quelli citati in precedenza.
65
Descrizione ed analisi del sistema aptico a 1 g.d.l.
101
102
103
104
-100
-50
0
Magnitude
[dB]
101
102
103
104
w [rad/s]
-200
-150
-100
Phase
[deg]
Fig. 1.36: Diagramma di Bode, del modulo e della fase, della funzione di trasferimento
Gvel
1.6.2 Controllo in cascata
Il, cosiddetto controllo in cascata è un metodo che può essere utilizzato per control-
lare il moto di un sistema meccanico. In sostanza consente di chiudere, in cascata,
tre anelli di controllo: uno in corrente, che è quello più interno, uno in velocità
e uno in posizione. L’anello interno riceve in ingresso un riferimento di corrente,
che può essere ottenuto, per esempio, a partire da un set-point di coppia, ricordan-
do che la coppia generata da un motore elettrico è direttamente proporzionale alla
corrente con cui esso viene alimentato, mediante la costante di coppia Kt, speci-
fica per ciascun motore. Il set-point in corrente viene confrontato con la misura
(ottenuta mediante un apposito sensore montato sul motore) della corrente con cui
viene alimentato il motore elettrico. Da tale confronto, si ottiene un errore che
viene mandato in ingresso al controllore in corrente, il quale tipicamente è un PI
(proporzionale-integrale) e la cui funzione di trasferimento è espressa dalla formula
(1.67).
RI(s) = kgi
(1 +
1
sτi,i
) (1.67)
66
Controllo di posizione
In generale, un sistema di azionamento è composto da due elementi: un motore
elettrico e un dispositivo, detto azionamento, che ha il compito di alimentare e
gestire il motore elettrico. In particolare, quest’ultimo è, tipicamente, costituito da
tre parti:
• il power stage, che ha il compito di ricevere l’energia elettrica dall’alimentazione
e di fornirla in ingresso, opportunamente modulata, al motore elettrico.
• il control stage, che implementa un’eventuale strategia di controllo all’interno
dell’azionamento (come, ad esempio, chiudere l’anello di controllo in corrente).
• il logic stage, che si occupa di far comunicare il sistema di azionamento con i
dispositivi esterni e, in particolare, con l’unità di controllo.
Nelle applicazioni moderne di controllo del moto è richiesto sia di poter accelerare
sia di frenare il carico; quindi, il motore elettrico deve essere in grado di generare
una coppia motrice sia positiva sia negativa. Dunque, è necessario poter applicare
al motore una tensione di alimentazione con entrambe le polarità. Allo stesso tem-
po, nelle applicazioni moderne di motion control si desidera anche poter invertire
la direzione di moto del carico quindi la velocità di rotazione dell’albero motore. In
conclusione, per le ragioni appena citate, nelle applicazioni moderne di controllo del
moto, è necessario utilizzare dei sistemi di azionamento caratterizzati da una parte
meccanica e da una parte elettrica, entrambe in grado di operare in tutti e quattro
i quadranti, rispettivamente, del piano Cm − ωm e I-V: in generale, i motori elettrici
moderni presentano tutti una parte meccanica in grado di fare ciò. Tuttavia, non
tutti gli azionamenti moderni sono in grado di operare in tutti e quattro i quadranti
del piano I-V. Quindi, in queste applicazioni, è necessario scegliere, tra i vari di-
spositivi presenti sul mercato, un azionamento adeguato. Un tipico dispositivo che
soddisfa i requisiti citati è il, cosiddetto, H-bridge (o Ponte ad H ), il quale è caratte-
rizzato da quattro diodi e quattro transistor. L’ H-bridge è chiamato anche Chopper
ed è in grado di invertire il verso sia della tensione sia della corrente di alimentazione,
applicate in ingresso all’attuatore elettrico. Inoltre, tale dispositivo permette anche
di variare con continuità la tensione di alimentazione del motore, mediante il me-
todo, cosiddetto, PWM (Pulse width modulation). L’idea alla base di tale metodo
67
Descrizione ed analisi del sistema aptico a 1 g.d.l.
è di commutare, con continuità, ad una certa frequenza, lo stato dei transistor che
costituiscono l’ H-bridge. In tale situazione, si definisce un segnale, denominato duty
cycle, che specifica la durata, sul singolo periodo, della fase di ON dei transistor
che costituiscono il dispositivo. In particolare, modificando con continuità il valore
del segnale duty cycle si riesce a variare, in modo continuo, il valore della tensione
di alimentazione applicata in ingresso all’attuatore elettrico. Dunque, in generale,
il chopper riceve in ingresso, oltre che l’energia elettrica dall’alimentazione, anche
un segnale logico (il duty cycle), tramite il quale si riesce a controllare la tensione
fornita in ingresso all’attuatore elettrico. Nell’anello in corrente, il controllore RI
genera, in uscita, un segnale di controllo (il duty cycle), che viene mandato in in-
gresso al chopper. Quest’ultimo, nello schema a blocchi dell’anello in corrente, lo
si può rappresentare mediante una costante (KC) di proporzionalità fra il segnale
logico in ingresso e la tensione di alimentazione Va in uscita dal chopper, la quale
è poi mandata in ingresso all’attuatore elettrico. In particolare, per semplicità, si
consideri il modello elettro-meccanico di un motore elettrico in corrente continua
(DC motor), descritto dal sistema di equazioni (1.68) .













Va = Raia + La
dia
dt
+ ktωm
Cm = Jω̇m + Cr
Cm = ktia
(1.68)
Il modello può essere rappresentato mediante lo schema a blocchi riportato in
Fig.1.37, dove Ra e La sono, rispettivamente, la resistenza e l’ induttanza d’armatura
del motore elettrico, J è il momento di inerzia equivalente del sistema ridotto all’al-
bero motore e Cr è l’eventuale coppia resistente del carico, la quale viene trattata,
sostanzialmente, come un disturbo. In conclusione, considerando il modello elettro-
meccanico di un DC-motor, l’anello in corrente può essere rappresentato mediante
lo schema a blocchi riportato in Fig.1.38. Per quanto riguarda l’anello in velocità, è
esterno all’anello in corrente e riceve in ingresso il segnale di riferimento in velocità.
Tale set-point viene confrontato con la misura della velocità angolare corrente del-
l’albero motore. In questo modo, si ottiene un errore in velocità, che viene mandato
in ingresso al controllore in velocità, il quale, tipicamente, è anch’esso un control-
68
Controllo di posizione
Fig. 1.37: Schema a blocchi del modello elettro-meccanico di un DC motor
Fig. 1.38: Schema a blocchi dell’anello di controllo in corrente
lore PI (proporzionale-integrale), la cui funzione di trasferimento è descritta dalla
formula (1.69).
Rv(s) = kgv (1 +
1
sτiv
) (1.69)
Il controllore in velocità fornisce in uscita il segnale di riferimento in corrente, che
costituisce di fatto l’ingresso dell’anello in corrente. L’anello in velocità può essere
rappresentato mediante lo schema a blocchi riportato in Fig.1.39. Infine, il terzo
e ultimo anello che può essere chiuso è quello in posizione: è l’anello più esterno,
che racchiude al proprio interno gli anelli in velocità e in corrente. L’anello in
questione riceve in ingresso il segnale di riferimento in posizione, il quale viene
Fig. 1.39: Schema a blocchi dell’anello di controllo in velocità
69
Descrizione ed analisi del sistema aptico a 1 g.d.l.
Fig. 1.40: Schema a blocchi dell’anello di controllo in posizione
Fig. 1.41: Schema a blocchi del sistema di controllo in cascata complessivo
confrontato con la misura della posizione angolare corrente dell’albero motore. In
questo modo, si ricava un errore in posizione, che viene trasmesso in ingresso al
controllore. Quest’ultimo, tipicamente, è un controllore di tipo P (proporzionale),
la cui funzione di trasferimento è descritta dalla formula (1.70).
Rp(s) = kp (1.70)
Il controllore in posizione fornisce in uscita il segnale di riferimento in velocità,
che costituisce il segnale d’ingresso dell’anello intermedio. L’anello in posizione
può essere rappresentato mediante lo schema a blocchi riportato in Fig.1.40. In
Fig.1.41, è rappresentato lo schema a blocchi del sistema di controllo in cascata
complessivo. Nel controllo in cascata si ha la possibilità di chiudere uno, o più, degli
anelli di controllo appena descritti. In base a quali anelli di controllo vengono chiusi,
il sistema di azionamento si comporterà in modo diverso. Pertanto, il metodo di
controllo consente di far funzionare il sistema di azionamento in tre differenti modi:
1. Se si chiude solo l’anello in corrente, il motore elettrico viene controllato in
corrente e si comporta come un generatore di coppia.
70
Controllo di posizione
2. Se si chiude anche l’anello in velocità, oltre a quello in corrente, il motore
elettrico viene controllato in velocità e si comporta come un generatore di
velocità.
3. Se si chiude anche l’anello in posizione, il motore elettrico è controllato in
posizione e si comporta come un generatore di posizione.
Per quanto riguarda l’interfaccia aptica in esame, volendo controllare in posizio-
ne il carico è necessario chiudere tutti e tre gli anelli di controllo, anche quello in
posizione. In particolare, per quanto riguarda la configurazione del sistema di azio-
namento, si è scelto di utilizzare una soluzione in cui le due operazioni fondamentali
di generazione del profilo di moto ed elaborazione dell’algoritmo di controllo vengo-
no entrambe svolte non dall’azionamento, ma dall’unità di controllo che gestisce il
sistema di azionamento. In tale configurazione, il master, che è l’applicativo scrit-
to all’interno del PC industriale che controlla e gestisce l’interfaccia aptica, genera
l’andamento nel tempo del set-point ed elabora l’algoritmo di controllo, ad una
frequenza costante. L’unità di controllo invia successivamente tramite un segnale
analogico, il riferimento in corrente in ingresso all’azionamento, il quale si occupa di
chiudere al proprio interno solamente l’anello in corrente. Dunque, nel momento in
cui si decide di utilizzare la metodologia del controllo in cascata per controllare in
posizione il sistema, è necessario chiudere, a livello dell’unità di controllo, soltanto
l’anello in posizione e l’anello in velocità, in quanto l’anello di corrente viene chiu-
so, automaticamente, dall’azionamento al proprio interno. Pertanto, di seguito, si
sintetizzeranno esclusivamente il controllore in posizione e il controllore in velocità.
Il controllore in velocità, come già precedentemente detto, è tipicamente un PI. Per
sintetizzarlo, si impongono le seguenti condizioni:
• Il margine di fase ϕm deve essere pari a 80°.
• Il guadagno d’anello, ovvero il modulo della risposta in frequenza della funzione
di trasferimento d’anello Lv(s), calcolata in corrispondenza della pulsazione
critica ωcv dell’anello in velocità, deve essere pari a 1 (formula 1.71).
|Lv(jωcv )| = 1 (1.71)
71
Descrizione ed analisi del sistema aptico a 1 g.d.l.
Inoltre, si consideri che, tipicamente, la frequenza critica fci
dell’anello in corrente è
pari a 1000 Hz, mentre quella dell’anello in velocità fcv è 1
10
di quella dell’anello in
corrente, ossia circa 100 Hz. In particolare, dato che si assume che la frequenza criti-
ca dell’anello in corrente sia molto maggiore rispetto a quella dell’anello in velocità,
allora si può ritenere che l’anello più interno sia sufficientemente veloce da inseguire
perfettamente il segnale di riferimento, che gli viene fornito in ingresso dall’anello
in velocità. Sulla base di tali considerazioni, si può, quindi, assumere unitaria la
funzione di trasferimento in anello chiuso HC(s), dal riferimento in corrente ˜
I al-
la misura I della corrente effettiva applicata in ingresso al motore. La funzione di
trasferimento d’anello Lv(s) può essere calcolata mediante la formula (1.72).
Lv(s) = Rv(s)HC(s)
kt
Jm,eq
1
s
=
kgv Kt
Js
(1 +
1
sτiv
) (1.72)
Il margine di fase ϕm può essere calcolato mediante la relazione (1.73), dove ϕc è
la fase critica definita come la fase della risposta in frequenza della funzione di tra-
sferimento d’anello, calcolata in corrispondenza della pulsazione critica del sistema
retroazionato.
ϕm = 180−|ϕc| = 180−|arg (Lv(jωcv ))| = 180−|180 + arctan(ωcv )τiv | = arctan(ωcv )τiv
(1.73)
Invertendo la relazione (1.73), si ottiene la formula (1.74) che permette di calcolare
il parametro τiV
della funzione di trasferimento del controllore in velocità.
τiv =
tan ϕm
ωcv
(1.74)
Il modulo della risposta in frequenza della funzione di trasferimento d’anello Lv(s),
calcolata in corrispondenza della pulsazione naturale del sistema, può essere deter-
minato mediante la formula (1.75).
|Lv(jωcv )| =
kgv kt
Jτiv ω2
cv
q
1 + τ2
iv
ω2
cv
= 1 (1.75)
Invertendo la relazione (1.75), si ottiene l’espressione (1.76) che permette di calcolare
il parametro kgv .
kgv =
Jτiv ω2
cv
kt
q
1 + τ2
iv
ω2
cv
(1.76)
72
Controllo di posizione
101
102
103
104
-30
-20
-10
0
Magnitude
[dB]
101
102
103
104
w [rad/s]
-80
-60
-40
-20
0
Phase
[deg]
Fig. 1.42: Diagramma di Bode, di modulo e fase, della funzione di trasferimento, in anello
chiuso, Hv(s) dell’anello in velocità
A questo punto, il controllore in velocità risulta essere progettato. Utilizzando
la (1.77), si determina la funzione di trasferimento in anello chiuso Hv(s), dal
riferimento in velocità ω̃ alla misura della velocità angolare corrente dell’albero
motore.
Hv(s) =
Lv(s)
1 + Lv(s)
= kgv kt
τiv s + 1
Jτiv s2 + kgv ktτiv s + kgv kt
(1.77)
In Fig.1.42, è riportato il diagramma di Bode del modulo e della fase della funzione di
trasferimento in anello chiuso Hv(s), tracciato considerando unitaria Hc(s). Si può
osservare che, effettivamente, la frequenza critica dell’anello in velocità è nell’intorno
di 100 Hz, come desiderato. Per quanto riguarda, invece, il controllore in posizione,
è tipicamente, di tipo proporzionale. Per sintetizzarlo, si considera una funzione di
trasferimento in anello chiuso, dal riferimento in velocità ω̃ alla misura della velocità
angolare corrente dell’albero motore, semplificata, che è espressa dalla relazione
(1.78).
HV,s(s) =
1
1 + s
ωcv
(1.78)
73
Descrizione ed analisi del sistema aptico a 1 g.d.l.
La funzione di trasferimento d’anello LP (s) dell’anello in posizione può essere cal-
colata mediante la formula (1.79).
LP (s) = RP (s)HV,s(s)
1
s
=
kp
s
1
1 + s
ωcv
(1.79)
Per sintetizzare il controllore in posizione, si impone che il guadagno d’anello, ovvero
il modulo della riposta in frequenza della funzione di trasferimento d’anello LP (s),
calcolato in corrispondenza della pulsazione critica dell’anello in posizione, sia pari
a 1 (1.80).
|LP (jωcp )| =
kp
ωcp
1
r
1 +
ω2
cp
ω2
cv
= 1 (1.80)
Tipicamente, si considera che l’anello in posizione abbia una frequenza critica pari a
1
10
di quella dell’anello in velocità, ovvero pari a 10 Hz. Dunque, essendo quest’ultima
molto maggiore della pulsazione critica dell’anello in posizione, si può approssimare
il modulo della risposta in frequenza di LP (s), calcolata in corrispondenza della
pulsazione critica dell’anello in posizione, mediante la formula (1.81).
|LP (jωcp )| =
kp
ωcp
= 1 (1.81)
Rielaborando la relazione (1.81), si ottiene che il parametro kp, che definisce il
controllore in posizione, può essere calcolato mediante la formula (1.82).
kp = ωcp (1.82)
A questo punto, si è progettato anche il controllore in posizione. La funzione di
trasferimento in anello chiuso HP (s), dal riferimento in posizione θ̃m alla misura della
posizione angolare corrente θm dell’albero motore, può essere calcolata mediante la
formula (1.83).
HP (s) =
LP (s)
1 + LP (s)
=
ωcp
s2
ωcv
+ s + ωcp
(1.83)
La funzione di trasferimento in anello chiuso HP (s) presenta due poli in:
• s1 = −0.11ωcv
• s2 = −0.89ωcv
74
Controllo di posizione
In Fig.1.43, è riportato il diagramma di Bode del modulo e della fase della funzione
di trasferimento in anello chiuso HP (s). Si può osservare che, effettivamente, la
frequenza critica dell’anello in posizione è nell’intorno di 10 Hz, come desiderato.
Per migliorare le prestazioni dinamiche del controllore in posizione, una tecnica
100
101
102
103
104
-150
-100
-50
0
Magnitude
[dB]
100
101
102
103
104
w [rad/s]
-200
-150
-100
-50
0
Phase
[deg]
Fig. 1.43: Diagramma di Bode, di modulo e fase, della funzione di trasferimento, in anello
chiuso, Hp(s) dell’anello in posizione
che si può adottare è quella del velocity feedforward. Essa prevede di sommare il
segnale di riferimento in velocità al segnale in uscita dal controllore in posizione.
In particolare, il set-point in velocità risulta essere noto, quando è completamente
definita la dinamica del sistema, ovvero il movimento che deve compiere il carico.
Dunque, per esempio, nel controllo in forza dell’interfaccia aptica, il movimento
del sistema non è completamente noto; per tale ragione, in tale contesto non si può
utilizzare il concetto del velocity feedforward. In realtà, a livello pratico, il riferimento
in velocità può essere ottenuto, per esempio, derivando, rispetto al tempo, il segnale
di riferimento in posizione, prestando attenzione nello svolgere tale operazione di
derivazione. In Fig.1.44, è riportato lo schema a blocchi dell’anello in posizione
con velocity feedforward. La funzione di trasferimento in anello chiuso dell’anello
in posizione, con velocity feedforward, può essere determinata mediante la formula
75
Descrizione ed analisi del sistema aptico a 1 g.d.l.
Fig. 1.44: Schema a blocchi dell’anello in posizione, con velocity feedforward
1.84.
HP,fw(s) =
(kgp + s)HV,s(s)1
s
1 + Lp(s)
=
s + kgp
s2
ωcv
+ s + ωcp
(1.84)
Si può osservare che la funzione di trasferimento in anello chiuso, con velocity feed-
forward, HP,fw(s) presenta il medesimo denominatore e, quindi, i medesimi poli della
funzione di trasferimento in anello chiuso, senza velocity feedforward, HP (s). Tut-
tavia, quest’ultima non presenta nessuno zero, mentre la funzione di trasferimento
HP,fw(s) ne possiede uno in z = −ωcp = −0.10ωcv . In particolare, tale zero tende a
cancellare, almeno parzialmente, uno dei due poli della funzione di trasferimento. Ne
consegue che l’anello in posizione con velocity feedforward ha una frequenza critica
molto maggiore, circa dieci volte superiore, rispetto a quella dell’anello in posizione,
senza velocity feedforward. Di conseguenza, utilizzando la tecnica descritta si riesce,
effettivamente, ad incrementare le prestazioni dinamiche del controllore in posizio-
ne che è quindi in grado di inseguire anche segnali molto più veloci. Tale effetto
lo si può evidenziare comparando, per esempio, il diagramma di Bode del modulo
della funzione di trasferimento in anello chiuso dell’anello in posizione, con e senza
velocity feedforward (Fig.1.45). Nelle Fig.1.46 e Fig.1.47, è riportato lo schema Si-
mulink del controllo in cascata, applicato al modello rigido e al modello cedevole del
sistema in esame, rispettivamente senza e con velocity feedforward. Analogamente
a quanto svolto per il posizionamento poli, per verificare se il sistema di controllo
appena sintetizzato, basato sul controllo in cascata, sia corretto e sufficientemente
performante, vi si applica in ingresso il profilo di moto precedentemente progettato
nel sotto-paragrafo 1.6.1.
76
Controllo di posizione
100
101
102
103
104
w [rad/s]
-100
-80
-60
-40
-20
0
Magnitude
[dB]
with vel. feedforward
without vel. feedforward
Fig. 1.45: Diagramma di Bode del modulo della funzione di trasferimento in anello chiu-
so, dell’anello in posizione, con e senza velocity feedforward
Fig. 1.46: Schema Simulink del controllo in cascata, senza velocity feedforward, applicato
al modello rigido e al modello cedevole del sistema
77
Descrizione ed analisi del sistema aptico a 1 g.d.l.
Fig. 1.47: Schema Simulink del controllo in cascata, con velocity feedforward, applicato
al modello rigido e al modello cedevole del sistema
Nelle Fig.1.48 e Fig.1.49 è rappresentata la risposta, in termini di posizione e velocità
lineare del manipolo, del sistema di controllo in posizione, applicato sia al modello
rigido sia al modello cedevole del sistema, con e senza velocity feedforward. In primo
luogo, si riscontra che, analogamente a quanto osservato parlando del posiziona-
mento poli, il comportamento del modello rigido e del modello cedevole del sistema
è pressoché identico. Inoltre, si osserva che non utilizzando il metodo del velocity
feedforward, il sistema di controllo in cascata progettato non è in grado di seguire
in modo preciso il riferimento di posizione fornitogli in ingresso. Viceversa, utiliz-
zando la tecnica del velocity feedforward, il sistema di controllo in posizione appena
sintetizzato riesce a seguire in modo estremamente preciso i segnali di riferimento
in posizione e in velocità, che gli sono forniti in ingresso.
78
Controllo di posizione
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
xtilde
xrig
xced
xrig,fw
xced,fw
Fig. 1.48: Andamento, in funzione del tempo, della risposta in posizione del sistema di
controllo in cascata sintetizzato, applicato sia al modello rigido sia al modello
cedevole, senza e con velocity feedforward
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]
-4
-2
0
2
4
6
x
p
[m/s]
xp,tilde
xp,rig
xp,ced
xp,rig,fw
xp,ced,fw
Fig. 1.49: Andamento, in funzione del tempo, della risposta in velocità del sistema di
controllo in cascata sintetizzato, applicato sia al modello rigido sia al modello
cedevole, senza e con velocity feedforward
79
Descrizione ed analisi del sistema aptico a 1 g.d.l.
1.8 1.9 2 2.1 2.2 2.3
Time [s]
0.2
0.25
0.3
0.35
0.4
0.45
0.5
x
[m]
xtilde
xced
xrig
Fig. 1.50: Analisi nel dettaglio della risposta in posizione del sistema di controllo in
cascata sintetizzato, senza velocity feedforward
Nelle Fig.1.50 e Fig.1.51, si valuta più nel dettaglio la risposta in posizione del si-
stema di controllo in anello chiuso, rispettivamente senza e con velocity feedforward.
In particolare, si può osservare che, non utilizzando il velocity feedforward, risulta
essere in ritardo di circa 19 ms rispetto al riferimento in posizione fornito in in-
gresso; viceversa con velocity feedforward, segue molto bene il riferimento, con un
ritardo temporale del tutto trascurabile. Nello specifico, quando il manipolo ter-
mina la fase di salita ed inizia fase di riposo, la risposta in posizione presenta una
sotto-elongazione, rispetto al segnale di riferimento, di meno di un decimo di mil-
limetro, quindi molto contenuta. Ciò dimostra che, come già detto in precedenza,
sommando il riferimento di velocità al segnale in uscita dal controllore in posizione
si riesce, effettivamente, ad incrementare notevolmente le prestazioni dinamiche del
controllore in posizione.
80
Controllo di posizione
1.96 1.98 2 2.02 2.04 2.06 2.08 2.1 2.12 2.14
Time [s]
0.4495
0.4496
0.4497
0.4498
0.4499
0.45
0.4501
x
[m]
xtilde
xced
xrig
Fig. 1.51: Analisi nel dettaglio della risposta in posizione del sistema di controllo in
cascata sintetizzato, con velocity feedforward
1.6.3 Confronto posizionamento poli - controllo in cascata
Nelle Fig.1.52 e Fig.1.53 si confrontano la risposta, rispettivamente, in posizione e in
velocità dei due sistemi di controllo sintetizzati, basati uno sul posizionamento poli e
l’altro sul controllo in cascata (con velocity feedforward), al segnale di riferimento in
posizione e in velocità, progettato nel sotto-paragrafo 1.6.1. Dai diagrammi proposti,
si può osservare che entrambi i due sistemi di controllo implementati sono in grado
di seguire, in modo molto preciso, il profilo di moto fornitogli in ingresso.
Nelle Fig.1.54 e 1.55 si valuta più nel dettaglio la risposta, in posizione e in velocità,
dei due sistemi di controllo, nel periodo di tempo in cui il manipolo termina una
fase, cosiddetta, di salita ed inizia una fase di riposo. In particolare, si riscontra
che il sistema di controllo basato sul controllo in cascata, con velocity feedforward, è
leggermente più preciso rispetto a quello basato sul posizionamento poli. Tuttavia,
nonostante ciò, si è scelto di utilizzare, questa seconda strategia di controllo in posi-
zione a causa della sua notevole facilità di implementazione. Infatti, in tale contesto,
per ottenere l’azione di controllo da applicare sul sistema è sufficiente confrontare le
misure di posizione e velocità con i corrispondenti riferimenti, ottenendo in questo
81
Descrizione ed analisi del sistema aptico a 1 g.d.l.
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
xtilde
xpoli
xcasc
Fig. 1.52: Andamento, in funzione del tempo, della risposta in posizione dei due sistemi
di controllo progettati
modo gli errori in posizione e in velocità, ed inviare, poi, tali errori in ingresso ai
due guadagni g1 e g2 del posizionatore.
82
Controllo di posizione
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]
-4
-3
-2
-1
0
1
2
3
4
x
p
[m/s]
xp,tilde
xp,poli
xp,casc
Fig. 1.53: Andamento, in funzione del tempo, della risposta in velocità dei due sistemi
di controllo progettati
1.96 1.98 2 2.02 2.04 2.06 2.08 2.1 2.12 2.14
Time [s]
0.4498
0.44985
0.4499
0.44995
0.45
0.45005
0.4501
x
[m]
xtilde
xpoli
xcasc
Fig. 1.54: Analisi nel dettaglio della risposta in posizione dei due sistemi di controllo
progettati
83
Descrizione ed analisi del sistema aptico a 1 g.d.l.
1.98 2 2.02 2.04 2.06 2.08 2.1 2.12
Time [s]
-0.01
-0.008
-0.006
-0.004
-0.002
0
0.002
0.004
0.006
0.008
0.01
x
p
[m/s]
xp,tilde
xp,poli
xp,casc
Fig. 1.55: Analisi nel dettaglio della risposta in velocità dei due sistemi di controllo
progettati
1.6.4 Confronto simulazione - sistema reale
Per rendere più realistico il modello Simulink del sistema di controllo in posizione,
si possono introdurre due ulteriori blocchi nello schema:
• il Rate Transition che permette di tenere in considerazione che il PC indu-
striale, tramite il quale si controlla l’interfaccia aptica, funziona ad una certa
frequenza, che nel nostro caso è stata fissata ad 1 kHz;
• il Quantizer, che permette di tenere conto della risoluzione dell’encoder vir-
tuale fornito dall’azionamento, tramite il quale si misura la posizione angolare
dell’albero motore. In particolare, la risoluzione effettiva di tale encoder è di
216
. Ciò significa che il sensore rileva 216
impulsi ogni giro completo dell’albero
motore, ovvero un impulso ogni 2π
216 radianti.
In Fig.1.56 è riportato il modello Simulink del posizionatore progettato, con inseriti
i blocchi Quantizer e Rate Transition, con lo scopo di rendere più realistica la simu-
lazione. Sintetizzato il sistema di controllo in posizione (basato sul posizionamento
poli) e valutate le sue prestazioni mediante simulazione in ambiente Simulink, lo
si è testato sull’interfaccia aptica a disposizione. Per fare ciò, si è posizionato il
84
Controllo di posizione
Fig. 1.56: Modello Simulink del sistema di controllo in posizione progettato, con blocchi
Quantizer e Rate Transition
manipolo al centro dell’interfaccia e si è applicato in ingresso al sistema di controllo
in posizione il profilo di moto, in posizione e velocità, riportato in Fig.1.57, ottenuto
mediante una legge di moto polinomiale 4 - 5 - 6 - 7. Nelle Fig.1.58 e Fig.1.59 sono
rappresentati sovrapposti gli andamenti, in funzione del tempo, dei riferimenti, delle
risposte del sistema di controllo valutate in simulazione e delle risposte dell’inter-
faccia aptica, rispettivamente, in posizione e in velocità. In Fig.1.60 si osservano
più nel dettaglio le risposte in posizione e in velocità del posizionatore ottenute in
simulazione, in ambiente Simulink, e sull’interfaccia aptica a disposizione. Dai dia-
grammi si può notare che le risposte del sistema di controllo in posizione ricavate in
simulazione sono molto simili a quelle ottenute sull’interfaccia aptica ed entrambe
seguono molto bene i corrispondenti riferimenti in posizione e in velocità, applicati
in ingresso al sistema di controllo.
85
Descrizione ed analisi del sistema aptico a 1 g.d.l.
0 0.2 0.4 0.6 0.8 1 1.2
Time [s]
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
x
[m]
(a) Posizione
0 0.2 0.4 0.6 0.8 1 1.2
Time [s]
-3
-2
-1
0
1
2
3
x
p
[m/s]
(b) Velocità
Fig. 1.57: Profilo di moto in posizione e in velocità, applicato in ingresso al posizionatore
0 0.2 0.4 0.6 0.8 1 1.2
Time [s]
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
x
[m]
xtilde
xbanc
xsim
Fig. 1.58: Confronto tra risposte in posizione del sistema di controllo in posizione, rica-
vata in simulazione e ottenuta sull’interfaccia aptica a disposizione
86
Controllo di posizione
0 0.2 0.4 0.6 0.8 1 1.2
Time [s]
-3
-2
-1
0
1
2
3
x
p
[m/s]
xtilde
xbanc
xsim
Fig. 1.59: Confronto tra risposte in velocità del sistema di controllo in posizione, ricavata
in simulazione e ottenuta sull’interfaccia aptica a disposizione.
Dai diagrammi riportati in Fig.1.60, si riscontra che la risposta in posizione dell’in-
terfaccia aptica presenta, a regime, una sovra - elongazione di 8 decimi di millimetro
di ampiezza e un errore, rispetto al riferimento applicato in ingresso, di meno di
2 decimi di millimetro. La risposta in posizione del sistema di controllo ottenuta
in simulazione è caratterizzata, invece, da una sovra - elongazione di 4 decimi di
millimetro di ampiezza e un errore, sostanzialmente, nullo, a regime. Pertanto, dai
risultati ottenuti, si può concludere, innanzitutto, che il modello del posizionatore
sviluppato in ambiente Simulink rappresenta in modo molto fedele e preciso ciò che
avviene a livello del sistema reale. In secondo luogo, si può affermare che il sistema
di controllo in posizione sintetizzato, basato sul posizionamento poli, presente delle
ottime prestazioni, tenendo in considerazione che, nel movimento realizzato, il ma-
nipolo dell’interfaccia aptica si sposta con delle velocità molto elevate con un picco
di 2.625m
s
.
87
Descrizione ed analisi del sistema aptico a 1 g.d.l.
0.22 0.24 0.26 0.28 0.3 0.32 0.34 0.36 0.38 0.4
Time [s]
0.299
0.2992
0.2994
0.2996
0.2998
0.3
0.3002
0.3004
0.3006
0.3008
x
[m] xtilde
xbanc
xsim
(a) Posizione
0.22 0.24 0.26 0.28 0.3 0.32 0.34 0.36 0.38 0.4
Time [s]
-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1
x
p
[m/s]
xtilde
xbanc
xsim
(b) Velocità
Fig. 1.60: Risposte in posizione e velocità del sistema di controllo in posizione, valutate
più nel dettaglio
1.7 Homing
In generale, i sensori di posizione, che possono essere utilizzati per misurare e, quindi,
conoscere la posizione del carico, si dividono in due macro-categorie:
• assoluti, che misurano e forniscono la posizione assoluta del carico;
• relativi, che misurano e forniscono la posizione relativa del carico.
Se si utilizza un sensore di posizione relativo, non fornendo la posizione assoluta del
carico, è sempre necessario, una volta acceso il sistema, svolgere un’importante ope-
razione preliminare, denominata homing. Tale attività permette di definire l’origine
della coordinata, che descrive la posizione assoluta del carico. Se, invece, si utilizza
un sensore di posizione assoluto, non è necessario svolgere l’operazione di homing,
dopo che si è acceso il sistema, perchè il sensore fornisce direttamente la posizione
assoluta del carico. In molti sistemi meccatronici si utilizzano dei sensori relativi,
come resolver o encoder incrementali, per misurare la posizione del carico, poichè
sono più economici rispetto ai sensori di posizione assoluti. L’interfaccia aptica in
esame è caratterizzata da un resolver, posizionato sul motore brushless che aziona
il carico, con il quale si misura la posizione angolare relativa dell’albero motore.
Di conseguenza, una volta avviato il sistema, si deve sempre eseguire l’operazione
88
Homing
preliminare di homing, per determinare poi la posizione assoluta del carico, a partire
dalla misura del sensore di posizione relativo. In generale, ci sono diversi metodi che
possono essere impiegati per svolgere l’operazione di homing. Nel caso in esame, si
è utilizzato il seguente approccio:
1. si fa muovere il manipolo dell’interfaccia aptica nella direzione positiva della
coordinata x, fino a che esso non intercetta uno dei due sensori fine-corsa posti
alle due estremità dell’asse lineare.
2. quando ciò avviene, il sensore commuta il proprio stato e si interrompe, quindi,
il moto del sistema;
3. si registra la misura della posizione angolare relativa dell’albero motore θmn ,
in corrispondenza della quale il manipolo ha intercettato il primo fine corsa;
4. si fa, in seguito, muovere il manipolo in direzione opposta a prima, ovvero
nella direzione negativa della coordinata x, fino a che esso non intercetta l’altro
fine-corsa, posto all’estremità opposta dell’asse lineare.
5. quando ciò si verifica, tale sensore commuta il proprio stato e si interrompe,
nuovamente, il moto del sistema;
6. si registra la misura della posizione angolare relativa dell’albero motore θmf
,
in corrispondenza della quale il manipolo ha intercettato il secondo fine corsa;
7. sono note allora le posizioni relative dei due fine-corsa, che individuano le due
estremità della possibile corsa del manipolo dell’interfaccia aptica. Si definisce,
quindi, l’origine della coordinata che descrive la posizione assoluta dell’albero
motore e, di conseguenza, del manipolo.
Nel caso in esame, si è scelto di considerare il centro dell’interfaccia aptica, come
origine della posizione assoluta del manipolo. Di conseguenza, una volta determinate
le posizioni relative θmn e θmf
dei due fine-corsa, si può individuare l’origine della
coordinata angolare, che descrive la posizione assoluta dell’albero motore, mediante
la formula (1.85).
θm0 =
θmn + θmf
2
(1.85)
89
Descrizione ed analisi del sistema aptico a 1 g.d.l.
Dunque, impiegando il rapporto di trasmissione τ e il raggio Rp della puleggia, posta
a valle del riduttore, si può ricavare, a partire da θm0 , l’origine x0 della posizione
assoluta del manipolo (relazione 1.86).
x0 = θm0 τRp (1.86)
A questo punto, l’effettiva posizione assoluta del manipolo dell’interfaccia aptica
viene ricavata, a partire dalla misura θm della posizione relativa dell’albero motore
(ottenuta mediante il resolver), tramite la formula (1.87).
xabs = θmτRp − x0 = (θm − θm0 )τRp (1.87)
Nelle Fig.1.61 e Fig.1.62 è riportato l’andamento, in funzione del tempo, della posi-
zione e della velocità lineare del manipolo dell’interfaccia aptica, durante l’operazio-
ne di homing. Da tali diagrammi si può osservare che, nelle prime due fasi (in cui si
cerca di individuare la posizione relativa dei due fine-corsa), si è considerato di far,
dapprima, raggiungere al manipolo, mediante una legge di moto polinomiale, una
certa velocità lineare costante (partendo da una velocità nulla) e di far muovere in
seguito il manipolo con tale velocità costante, fino a che esso non intercetta uno dei
due fine-corsa. Nella terza fase, invece, individuato il centro dell’interfaccia aptica
(che costituirà l’origine della posizione assoluta del carico), si fa muovere il manipolo
verso tale posizione mediante una legge di moto polinomiale 4-5-6-7.
90
Homing
0 2 4 6 8 10 12
Time [s]
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
x
[m]
Fig. 1.61: Andamento, in funzione del tempo, della posizione lineare del manipolo del-
l’interfaccia aptica, durante l’operazione di homing
0 2 4 6 8 10 12
Time [s]
-1
-0.5
0
0.5
1
1.5
2
2.5
3
x
p
[m/s]
Fig. 1.62: Andamento, in funzione del tempo, della velocità lineare del manipolo dell’in-
terfaccia aptica, durante l’operazione di homing
91
Capitolo 2
Controllo in forza
2.1 Introduzione al controllo in forza
L’obiettivo del controllo in forza è quello di indurre nell’operatore la percezione di
un ambiente virtuale definito a priori. Al tal fine, l’approccio adottato consiste
nell’eseguire le analisi necessarie, dapprima esclusivamente in simulazione, cercan-
do di riprodurre quanto più fedelmente il comportamento dell’ambiente virtuale sul
banchetto di prova simulato. In seguito, verificata la correttezza dello schema di
controllo simulato ed avendo dei valori indicativi derivanti dalla simulazione, si rea-
lizza il controllo aptico sperimentalmente sul banco a disposizione: qui ci si accorge
di come l’impugnatura dell’utente non sia univoca sia in termini di tipologia di im-
pugnatura che di rigidezza della presa, ed è quindi un elemento che può introdurre
instabilità nel sistema. Realizzare un buon controllo aptico significa verificare le
seguenti condizioni:
• la funzione di trasferimento dalla forza introdotta dall’operatore (Fop) a quella
generata dall’ambiente Famb, denominata GFF , deve avere modulo unitario su
una più ampia banda possibile in modo da aver un ridotto errore in forza.
• la funzione di trasferimento dalla forza introdotta dall’operatore (Fop) alla
posizione x del carrello, GFX, deve esser uguale a quella dell’ambiente virtuale
ideale, identificata con Gid, affinchè l’ambiente venga riprodotto in maniera
esatta sul sistema aptico.
Controllo in forza
Nella presente tesi si sono analizzati i due principali metodi di controllo in forza
che possono essere applicati alle interfacce aptiche: il controllo in ammettenza e il
controllo in impedenza. Viene innanzitutto fornita una definizione dei due termi-
ni: entrambi sono operatori dinamici, ma se l’ammettenza esprime il legame fra la
forza in ingresso e la velocità in uscita, l’impedenza, essendo il reciproco, permette
di determinare la forza in uscita da un sistema che riceve in ingresso la velocità.
Nella prima strategia di controllo si misura, tramite un opportuna cella di carico, la
forza applicata dall’operatore sull’end - effector dell’interfaccia aptica e il sistema
risponde con un movimento di quest’ultimo, coerente con la forza operatore e con
l’ambiente virtuale considerato. Viceversa, nella strategia di controllo in impedenza
si impiega un approccio sostanzialmente opposto. Infatti, si rileva il movimento
imposto dall’operatore all’end - effector e il sistema reagisce con una forza, coerente
con il movimento e con l’ambiente virtuale in esame, la quale viene percepita dal-
l’operatore a livello del mnanipolo dell’interfaccia aptica. Nei paragrafi successivi
vengono esaminate nel dettaglio le due tecniche di controllo, mettendo in luce gli
aspetti chiave, per poi impiegarle nella riproduzione di ambienti virtuali prescelti
sul banco di prova, evidenziando le peculiarità e problematiche emerse in fase di
progetto, in funzione della tipologia di controllo adottato. In questa breve intro-
duzione sul controllo aptico è stato introdotto il concetto di impedenza, ovvero di
operatore dinamico che permette di ricavare la forza in uscita da un sistema pren-
dendo in ingresso la velocità; nella presente trattazione, avendo a disposizione la
misura di posizione, non si ragionerà però in termini di impedenze bensı̀ di funzioni
di trasferimento: diversi tipi di approccio che conducono comunque alle medesime
conclusioni.
2.1.1 Controllo in ammettenza
Vista la principale differenza fra le due tipologie di controllo, in questo paragrafo
si analizza nel dettaglio il cosidetto Admittance control with position feedback, o
controllo in ammettenza. In questa soluzione, facendo riferimento alla Fig.2.1, lo
schema a blocchi è costituito da due anelli:
94
Introduzione al controllo in forza
+
-
𝑭𝒐𝒑
𝑭𝒂𝒎𝒃
𝑹𝑭 𝑮𝑷𝒐𝒔
𝑮𝒊𝒅
−𝟏
𝒙𝒓𝒊𝒇 𝒙
ሶ
𝒙𝒓𝒊𝒇
Fig. 2.1: Schema a blocchi del controllo in forza in ammettenza
• l’anello esterno, riceve in ingresso l’errore in forza derivante dal confronto
della forza generata dall’ambiente (Famb) e quella introdotta dall’operatore
(Fop), e, un opportuno regolatore con funzione di trasferimento (Rf ) genera il
riferimento di posizione (xrif ) e velocità ẋrif ;
• l’anello interno, detto anche posizionatore e rappresentato dalla funzione di
trasferimento Gpos, prende in ingresso i riferimenti, e fa si che la posizione
effettiva del dispositivo sia quella desiderata, minimizzando quindi l’errore.
La retroazione della posizione effettiva raggiunta dalla macchina viene letta dall’
ambiente virtuale scelto, avente funzione di trasferimento Gid che fornisce in uscita
la forza Famb, la quale verrà poi confrontata con Fop introdotta dall’utente per spo-
stare il manipolo. Questo schema di controllo si basa quindi sulla lettura della forza
esercitata dall’operatore, pertanto è necessario disporre di un sensore di forza, op-
portunamente calibrato. Per il progetto dell’anello interno, quindi del posizionatore
del dispositivo, si possono utilizzare le tradizionali tecniche di controllo del moto,
quali il posizionamento poli o il controllo in cascata, ad oggi disponibili, ma tutte
devono rispettare un fondamentale requisito: la larghezza di banda deve essere suf-
ficientemente più ampia dell’anello esterno. Prendendo come riferimento lo schema
a blocchi (Fig.2.1) è possibile esprimere la forza ambiente come
Famb = G−1
id · x (2.1)
e la posizione effettiva del dispositivo:
x = (Fop − G−1
id · x) · Rf · Gpos (2.2)
95
Controllo in forza
Esplicitando la (2.2) si ricava la funzione di trasferimento dalla forza introdotta
dall’operatore all’uscita x:
GFX =
x
Fop
=
Rf · Gpos
1 + Rf · Gpos · G−1
id
(2.3)
Analogamente, la funzione di trasferimento dalla forza operatore all’uscita rappre-
sentata dalla forza generata dall’ambiente (Famb) risulta:
GFF =
Famb
Fop
=
G−1
id · Rf · Gpos
1 + Rf · Gpos · G−1
id
(2.4)
Per simulare correttamente l’ambiente ideale desiderato, avente funzione di trasferi-
mento Gid è necessario che GFX risulti simile a Gid, mentre che GFX sia unitaria su
una più ampia banda possibile, in modo che la l’operatore percepisca effettivamente
la forza generata dall’ambiente. Dall’espressione di GFX e GFF , (2.3) e (2.4), emer-
ge allora, che per ottenere le prestazioni desiderate, è necessario utilizzare guadagni
elevati per l’anello interno di posizione in modo da rendere trascurabile il contributo
legato la dinamica naturale del sistema, contenuta all’interno di Gpos, in termini di
forze d’ inerzia, azioni d’attrito e giochi, ed assumere quindi che il sistema segua
perfettamente il riferimento di posizione. Considerando quindi unitaria Gpos, af-
finchè GFX e GFF abbiano le proprietà desiderate, anche il guadagno del regolatore
Rf deve essere elevato. A livello pratico però, i valori dei guadagni non possono
essere eccessivi, ma devono essere sempre adeguati in modo da garantire stabilità al
sistema. In conclusione, la realizzazione di un controllo in forza in ammettenza può
essere suddiviso in due problemi: progetto del posizionatore e sintesi del regolato-
re di forza. L’anello interno può chiaramente limitare la banda passante di quello
esterno, ma permette di approcciarsi al controllo di dispositivi caratterizzati da un
elevata dinamica naturale quindi forze d’interazione di notevole intensità.
2.1.2 Controllo in impedenza in anello aperto
In generale, l’operatore afferra l’end - effector dell’interfaccia aptica e vi applica una
forza Fop, in maniera tale da movimentarlo nel modo desiderato. In anello aperto,
non si misura tale forza introdotta nel sistema dall’operatore. Quindi, la strategia
di controllo in impedenza in anello aperto viene utilizzata nel momento in cui non si
96
Introduzione al controllo in forza
abbia a disposizione un sensore, come una cella di carico, con cui misurare la forza
Fop. Ciò che si misura è solo lo spostamento x (o la velocità ẋ, in base al sensore
che si ha a disposizione) dell’end - effector dell’interfaccia aptica. La misura viene
mandata in ingresso alla funzione di trasferimento G−1
id , da x a F, dell’ambiente ideale
che si desidera riprodurre. In questo modo, si ottiene in uscita la forza ambiente
Famb, descritta dalla formula (2.5). La forza motrice Fm, che è applicata in ingresso
al sistema sotto controllo descritto dalla sua funzione di trasferimento G da Fm a
x, è esattamente pari alla forza generata dall’ambiente virtuale Famb, cambiata di
segno in quanto forza di reazione.
Famb = G−1
id x (2.5)
Lo schema di controllo in impedenza in anello aperto appena descritto può essere
rappresentato mediante lo schema a blocchi riportato in Fig.2.2.
G
Gid
-1
+
-
Fop
Famb
Fm x
Fig. 2.2: Schema a blocchi del sistema di controllo in impedenza in anello aperto
Lo spostamento x subito dall’end - effector dell’interfaccia aptica può essere legato
alla forza applicata dall’operatore sul manipolo mediante la relazione (2.6).
x = G−1
Fm = G−1
(Fop − Famb) (2.6)
Sostituendo all’interno dell’equazione (2.6) la formula (2.5), con cui si lega lo spo-
stamento x alla forza generata dall’ambiente virtuale, si ottiene l’espressione (2.7).
x = G−1
(Fop − G−1
id x) (2.7)
Rielaborando l’equazione (2.7) si ottiene la formula (2.8), che descrive il movimen-
to x compiuto dall’end - effector in funzione della forza applicata su quest’ultimo
97
Controllo in forza
dall’operatore.
x · (G − G−1
id ) = Fop (2.8)
Pertanto, la funzione di trasferimento da Fop a x di un sistema di controllo in
impedenza in anello aperto è espressa dalla relazione (2.9), mentre quella da Fop
a Famb è descritta dalla formula (2.10).
GFX =
x
Fop
=
1
G + G−1
id
(2.9)
GFF =
Famb
Fop
= G−1
id GFX =
G−1
id
G + G−1
id
(2.10)
Si può osservare che le due funzioni di trasferimento GFX e GFF , che caratterizza-
no un sistema di controllo in forza, non sono esattamente pari, rispettivamente, a
quella dell’ambiente ideale Gid e della funzione di trasferimento unitaria, a causa
della presenza della funzione di trasferimento G, da Fm ad x, dell’ambiente sotto -
controllo. Ciò significa che la strategia di controllo in impedenza in anello aperto
può essere impiegata soltanto su interfacce aptiche caratterizzate da una dinamica
naturale trascurabile, rappresentata dalla funzione di trasferimento G, ovvero siste-
mi che presentano, per esempio, delle basse azioni di attrito e delle inerzie piuttosto
limitate. In questo modo, la funzione di trasferimento G può essere trascurata e
GFX e GFF risultano, approssimativamente, pari a Gid e alla funzione di trasferi-
mento unitaria. Se l’interfaccia aptica a disposizione presenta, invece, una dinamica
naturale piuttosto rilevante, allora è necessario adottare delle tecniche, a livello di
controllo, con cui compensarla, in modo tale da ottenere delle prestazioni del sistema
di controllo in forza accettabili. Due importanti e comuni strategie di compensazione
della dinamica naturale del sistema che possono essere impiegate sono:
1. feedforward;
2. compensazione degli attriti.
La prima tecnica prevede di costruire un modello dinamico del sistema sotto control-
lo e di fornirgli in ingresso il movimento misurato dell’end-effector. In questo modo,
si ottiene una forza di feedforward Ffw, che si somma alla forza generata dall’am-
biente virtuale ottenendo, conseguentemente, la forza motrice Fm. In particolare,
98
Introduzione al controllo in forza
più il modello dinamico descrive in modo preciso il sistema sotto controllo, miglio-
re è la compensazione della dinamica naturale del sistema mediante la tecnica del
feedforward e, di conseguenza, migliori sono le prestazioni del sistema di controllo
in impedenza in anello aperto. La seconda tecnica consiste invece nel realizzare un
modello dell’attrito presente a livello degli accoppiamenti meccanici dell’interfaccia
aptica. A partire da esso, si implementa un compensatore, il quale, a partire dalla
misura del movimento dell’end-effector, fornisce in uscita una forza che ha il com-
pito di compensare le perdite per attrito e che viene sommata, anch’essa, alla forza
ambiente Famb, ottenendo l’azione motrice Fm.
2.1.3 Controllo in impedenza in anello chiuso
Laddove si abbia a disposizione un sensore con cui misurare la forza scambiata tra
l’operatore e l’end-effector dell’interfaccia aptica, conviene impiegare una strategia
di controllo in impedenza in anello chiuso e non in anello aperto. In tal caso, si
misura sempre lo spostamento (o la velocità) dell’end-effector e lo si fornisce in
ingresso alla funzione di trasferimento G−1
id dell’ambiente virtuale, che fornisce in
uscita la forza ambiente Famb. Quest’ultima la si confronta con la misura della forza
operatore Fopmis
e si ottiene, in questo modo, un’errore, che viene preso in ingresso
dal controllore in forza Rf che determina, se opportunamente progettato, un’azione
di controllo u. Dunque, una seconda differenza tra controllo in impedenza in anello
aperto e in anello chiuso è che, nel secondo caso, si impiega un regolatore con il
quale controllare la dinamica dell’errore in forza. Infine, all’azione di controllo in
uscita ad Rf si sottrae la forza ambiente Famb, ottenendo, in questo modo, quella
motrice Fm, che viene applicata in ingresso al sistema sotto controllo. In Fig.2.3 è
riportato lo schema a blocchi del sistema di controllo in impedenza in anello chiuso.
La forza motrice, applicata in ingresso al sistema sotto controllo, può essere calcolata
mediante la relazione (2.11).
Fm = u − Famb = (Fopmis
− Famb)Rf − Famb = Fopmis
Rf − Famb(1 + Rf ) (2.11)
Per semplicità, si consideri unitaria la funzione di trasferimento della cella di carico.
Pertanto, si può affermare che la forza misurata dal sensore Fopmis
è uguale alla
99
Controllo in forza
G
Gid
-1
+
-
Fop
Famb
Fm x
u
Rf
S
Fmis ef
-
+
+
Fig. 2.3: Schema a blocchi del sistema di controllo in impedenza in anello chiuso
forza Fop effettivamente applicata dall’operatore sul manipolo. Lo spostamento x
del manipolo dell’interfaccia aptica può essere valutato mediante la formula (2.12).
x = G·Fm = G(Fop ·Rf −Famb ·(1+Rf )) = G·(Fop ·Rf −G−1
id ·x·(1+Rf )) (2.12)
Dunque, le funzioni di trasferimento del sistema di controllo in anello chiuso da Fop
ad x e da Fop a Famb possono essere determinate mediante le relazioni (2.13) e (2.14).
GFX =
x
Fop
=
GRf
1 + GG−1
id (1 + Rf )
(2.13)
GFF =
Famb
Fop
= G−1
id GFX =
G−1
id GRf
1 + GG−1
id (1 + Rf )
(2.14)
Si può osservare che, se i guadagni del regolatore in forza tendessero ad infinito,
le funzioni di trasferimento GFX e GFF sarebbero pari, rispettivamente, a quella
dell’ambiente ideale Gid e alla funzione di trasferimento unitaria. Da tale consi-
derazione, si può dedurre che, impiegando una strategia di controllo in impedenza
in anello chiuso, si riesce a compensare, almeno in parte, la dinamica naturale del
sistema tramite il regolatore in forza Rf . In particolare, più elevati sono i guadagni
del controllore, maggiore è tale compensazione e, quindi, migliori sono le prestazioni
del sistema di controllo. Questa è la ragione per cui il sistema di controllo in impe-
denza in anello chiuso presenta, in generale, delle prestazioni decisamente migliori
rispetto a quello in anello aperto, in cui non è presente un regolatore in forza con cui
compensare la dinamica naturale del sistema e, pertanto, risulta necessario adottare
altre tecniche di compensazione quali il feedforward o la modellazione degli attriti.
Pertanto qualora si abbia a disposizione un sensore con cui misurare la forza applica-
ta dall’operatore sull’interfaccia aptica, conviene impiegare la strategia di controllo
in impedenza in anello chiuso e non in anello aperto.
100
Progettazione del sistema di controllo aptico in ammettenza
2.2 Progettazione del sistema di controllo aptico
in ammettenza
2.2.1 Ambiente molla
Il primo ambiente che si è deciso di indagare è stato il cosidetto ambiente molla:
si vuole dare all’utente la percezione che al manipolo impugnato sia collegata una
molla, quindi per spostare il carrello è necessario introdurre una forza che cresce
linearmente con la posizione assunta dalla massa movimentabile.
Partendo dal presupposto che è impossibile realizzare una molla ideale che torna
istantaneamente nella posizione iniziale quando rilasciata, si implementa una molla
reale: se gli viene data una condizione iniziale in posizione, essa torna nella posizione
di equilibrio seguendo un esponenziale decrescente; in altre parole, per effetto degli
attriti, si realizza una molla smorzata.
L’ambiente in questione non è caratterizzato da una vera propria funzione di tra-
sferimento bensı̀ semplicemente da un guadagno pari all’inverso della costante della
molla (Gid = 1
Km
), se si considera in ingresso la forza e in uscita la posizione.
L’ambiente virtuale riceve allora la coordinata x del carrello, la moltiplica per la
costante della molla e restituisce la forza desiderata Famb = Km · x.
Dal confronto tra quest’ultima e la forza dell’operatore, si ricava l’errore in forza
che viene preso in input dal regolatore, il quale fornirà il set-point di posizione, da
cui ricavare quello di velocità tramite derivazione numerica, da fornire in ingresso al
posizionatore. Lo schema di controllo implementato in Simulink è rappresentato in
Fig.2.4.
Le simulazioni per la validazione del controllo sono state effettuate considerando,
nel blocco del posizionatore, il modello cedevole del sistema, per esaltare eventuali
problematiche date da una tipologia di regolatore piuttosto che un’altra.
Il primo controllore che si è scelto di utilizzare è stato un proporzionale definito
dalla sua costante Kp. Per indagare l’efficacia del controllo è necessario analizzare
le due funzioni di trasferimento GFF e GFX. Avendo già calcolato la funzione di
trasferimento del posizionatore Gppos (paragrafo 1.6.1), che riceve in ingresso una
101
Controllo in forza
Fig. 2.4: Schema del controllo in forza per l’ambiente molla
posizione di riferimento e restituisce in uscita quella effettiva, è semplice calcolare
GFF e GFX.
GFF =
Gppos · Km · Kp
1 + Gppos · Km · Kp
(2.15)
GFX =
Gppos · Kp
1 + Gppos · Km · Kp
(2.16)
Le funzioni di trasferimento sopra esposte hanno lo stesso zero in posizione fissa ed il
medesimo denominatore, di secondo grado: le radici sono i poli del sistema in anello
chiuso e la loro natura al variare di Kp viene mostrata in Fig.2.5. In particolare, al
di sotto di Kp = 0.0173 sono complessi coniugati mentre al di sopra reali distinti:
all’aumentare del Kp, uno si allontana sempre più dall’asse immaginario mentre
l’altro si avvicina fino a tendere a un valore praticamente costante che si attesta
attorno a -112 circa. In ogni caso, i poli hanno sempre parte reale negativa pertanto
il sistema è asintoticamente stabile. La funzione di trasferimento del posizionatore
è del secondo ordine ed ha la seguente forma:
Gppos =
a · s + b
s2 + a · s + b
(2.17)
dove a e b sono dei valori costanti mentre s è la variabile complessa nel dominio
delle trasformate di Laplace. Nota la (2.17) è allora possibile ricavare l’espressione
analitica di GFF e GFX.
GFF =
(a · Km · Kp) · s + b · Km · Kp
s2 + (a + a · Km · Kp) · s + (b + b · Km · Kp)
(2.18)
GFX =
(a · Kp) · s + b · Kp
s2 + (a + a · Km · Kp) · s + (b + b · Km · Kp)
(2.19)
102
Progettazione del sistema di controllo aptico in ammettenza
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
Kp
-500
0
500
Real(p
i
)
Real(p1
)
Real(p2
)
0.015 0.016 0.017 0.018 0.019 0.02 0.021 0.022 0.023 0.024 0.025
Kp
-0.1
-0.05
0
0.05
0.1
Imag(p
i
)
Imag(p1
)
Imag(p2
)
Fig. 2.5: Andamento dei poli di GFF e GFX al variare di Kp - ambiente molla
E’ immediato quindi osservare che i guadagni statici di GFF e GFX hanno espres-
sione:
µGF F
=
Km · Kp
1 + Km · Kp
(2.20)
µGF X
=
Kp
1 + Km · Kp
(2.21)
Emerge allora come con un regolatore puramente proporzionale non si riesca ad ot-
tenere esattamente µGF F
= 1 e µGF X
= 1
Km
, come vorremmo invece si verificasse
per realizzare un efficace controllo in forza e riprodurre fedelmente l’ambiente vir-
tuale scelto. Scegliendo invece valori di Kp ben superiori a 0.0173, corrispondente
alla soglia in cui avviene il passaggio a poli reali distinti, ed in particolare maggio-
ri di 0.1, accade che il polo in bassa frequenza viene cancellato dallo zero: GFF e
GFX sono allora approssimabili come funzioni di trasferimento del primo ordine e il
comportamento dinamico è esclusivamente determinato dal polo in alta frequenza,
pertanto le prestazioni del sistema di controllo sono molto simili a quelle desiderate.
In Fig.2.6 e Fig.2.7 vengono mostrati i diagrammi di Bode del modulo delle due fun-
zioni di trasferimento rispettivamente considerando bassi valori di Kp, evidenziando
103
Controllo in forza
101
102
103
[Hz]
-40
-35
-30
-25
-20
-15
-10
-5
0
[dB]
(a) GF F
101
102
103
[Hz]
-80
-75
-70
-65
-60
-55
-50
-45
-40
[dB]
(b) GF X
Fig. 2.6: Diagrammi di Bode del modulo di GFF e GFX - Ambiente molla utilizzando
un regolatore di tipo proporzionale con Km = 60 N
m e Kp = 0.01
quindi un comportamento statico non desiderato, e più elevati, ottenendo di fatto
le prestazioni volute.
102
103
104
105
[Hz]
-40
-35
-30
-25
-20
-15
-10
-5
0
[dB]
(a) GF F
102
103
104
105
[Hz]
-80
-75
-70
-65
-60
-55
-50
-45
-40
-35
-30
[dB]
(b) GF X
Fig. 2.7: Diagrammi di Bode del modulo di GFF e GFX - Ambiente molla utilizzando
un regolatore di tipo proporzionale con Km = 60 N
m e Kp = 0.5
Si procede allora con la simulazione del sistema di controllo applicato al modello
cedevole: utilizzando una molla con rigidezza Km = 60 N
m
e un ingresso in forza di
20 N si constata che Kp maggiori o uguali a 0.03 portano a un comportamento non
desiderato, ovvero ad oscillazioni che vanno via via ad amplificarsi. Per smorzare
104
Progettazione del sistema di controllo aptico in ammettenza
quest’ultime si devono utilizzare valori di Kp inferiori a 0.03 che risultano, coeren-
temente con quanto anticipato analizzando il guadagno statico, troppo bassi per
portare al corretto valore di regime. In Fig.2.8 sono riportati i risultati di una si-
mulazione condotta con Kp = 0.009, Km = 60 N
m
ed uno scalino di forza in ingresso
pari a 20 N: nel grafico sopra, dove viene mostrata la forza operatore e la forza am-
biente, si nota un’ oscillazione smorzata ed un significativo errore a regime, mentre
nel secondo si osserva come la posizione di regime non sia effettivamente pari a F
Km
,
come invece si vorrebbe. Si può concludere allora che utilizzando un controllore
proporzionale, per ottenere le prestazioni desiderate ed allargare la banda passante,
si dovrebbe aumentare il Kp, ma ciò instabilizza il sistema; abbassando invece il
Kp si riducono le oscillazioni, ma si ottiene un significativo errore a regime. Per
tali ragioni si scarta l’idea di utilizzare un regolatore proporzionale all’interno del
sistema di controllo in forza.
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
[s]
0
5
10
15
20
25
[N]
Famb
Fop
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
[s]
0
0.05
0.1
0.15
[m]
Fig. 2.8: Risposta allo scalino di forza: confronto fra forza operatore e forza generata
dall’ambiente (grafico sopra) e andamento nel tempo della posizione del carrello
(grafico sotto)
105
Controllo in forza
La seconda tipologia di regolatore indagata è il puro integratore avente funzione di
trasferimento:
Rf =
KI
s
(2.22)
dove con KI si indica la sua costante. Le funzioni di trasferimento GFF e GFX
assumono espressione pari a:
GFF =
Gppos · Km · KI
s
1 + Gppos · Km · KI
s
(2.23)
GFX =
Gppos · KI
s
1 + Gppos · Km · KI
s
(2.24)
GFF e GFX hanno dunque lo stesso zero, a circa 18 Hz, il medesimo denominatore
di terzo grado ed è importante valutare la natura dei poli, ovvero delle radici del
polinomio, al variare della costante KI del regolatore (Fig.2.9).
0 1 2 3 4 5 6 7 8 9 10
KI
-100
-50
0
Real(p
i
)
Real(p1
)
Real(p2
)
Real(p3
)
0 1 2 3 4 5 6 7 8 9 10
KI
-400
-200
0
200
400
Imag(p
i
)
Imag(p1
)
Imag(p2
)
Imag(p3
)
Fig. 2.9: Andamento dei poli di Gff e Gfx al variare di KI - ambiente molla
La Fig.2.9 mostra come per qualsiasi valore di KI la natura dei poli sia sempre la
stessa: due complessi coniugati e uno reale, tutti a parte reale negativa, quindi il si-
stema è sempre asintoticamente stabile. All’ incrementare del parametro KI, il polo
reale si allontana dall’ asse immaginario mentre quelli complessi coniugati si avvici-
nano. Considerando la funzione di trasferimento del posizionatore (2.17), è possibile
106
Progettazione del sistema di controllo aptico in ammettenza
riscrivere GFF e GFX in funzione dei parametri dell’ambiente e del regolatore
GFF =
KI · Km · a · s + KI · km · b
s3 + a · s2 + (b + KI · a · Km) · s + KI · Km · b
(2.25)
GFX =
KI · a · s + KI · b
s3 + a · s2 + (b + KI · a · Km) · s + KI · Km · b
(2.26)
per poi ricavare i valori dei rispettivi guadagni statici:
µGF F
=
KI · Km · b
KI · km · b
= 1 (2.27)
µGF X
=
KI · b
KI · Km · b
=
1
Km
(2.28)
Dall’ espressione di µGF F
e µGF X
si nota come l’utilizzo di un puro integratore come
regolatore conduca ai risultati desiderati, ossia guadagno unitario per GFF , e pari
a quello della funzione di trasferimento dell’ambiente virtuale per GFX. Analizzata
la posizione dei poli al variare del KI e individuata la soglia critica in cui il polo
reale si allontana maggiormente dell’asse immaginario rispetto alla parte reale dei
poli complessi coniugati, vengono ora esaminati, per comprendere il comportamento
dinamico del sistema, i diagrammi di Bode in tre differenti casi:
1. KI estremamente basso e pari a 0.001 (Fig.2.10 (a),(b)): in bassa frequenza è
presente il polo reale mentre a circa 25 Hz si trovano i poli complessi coniu-
gati. La presenza dello zero in alta frequenza fa si che la pendenza finale del
diagramma di Bode sia -40 dB
decade
. In sostanza GFF e GFX, per valori eccessiva-
mente bassi di KI, consentono apparentemente di ottenere il comportamento
desiderato, ma con un’insufficiente ampiezza della banda passante;
2. KI=0.1 (Fig.2.10 (c),(d)): aumentando il KI, le parti reali dei due poli si
avvicinano, determinando quindi una banda passante di maggior ampiezza,
seppur sempre ristretta per l’applicazione in esame. Il comportamento è quindi
analogo al caso precedente, ma traslato a frequenze maggiori. Emerge quindi,
che per ottenere una banda passante più ampia è necessario aumentare il KI,
quindi incrementare la parte reale del polo in bassa frequenza.
3. KI elevati (maggiori di 2) (Fig.2.10 (e),(f)): il polo reale, allontanandosi sem-
pre più dall’asse immaginario, si avvicina allo zero, fino a cancellarsi con que-
107
Controllo in forza
st’ultimo, rendendo di fatto i poli complessi coniugati direttamente responsa-
bili del comportamento dinamico del sistema. Utilizzare KI elevati permette
di allargare la banda passante, ma, se la parte reale dei poli complessi coniu-
gati rimane pressochè costante, quella immaginaria aumenta, diminuendo cosi
lo smorzamento dei poli: questo comporta una crescente sovraelongazione nel
diagramma di Bode del modulo delle funzioni di trasferimento.
Riassumendo, per simulare correttamente l’ambiente ideale desiderato è necessario
utilizzare valori non eccessivamente elevati di KI, all’incirca fino a 2: in questo
modo la banda passante è determinata dal polo reale in bassa frequenza ed ha un
ampiezza massima attorno alla decina di Hertz. Incrementando invece il KI, il polo
reale tende a cancellarsi con lo zero, ottenendo quindi una maggior banda data dalla
posizione dei poli complessi coniugati: in questo modo si deve però far attenzione,
dato il progressivo diminuire dello smorzamento dei poli, a non determinare eccessive
sovraelongazioni nel diagramma di Bode del modulo della funzione di trasferimento
che comporterebbero poi oscillazioni nella risposta nel tempo del sistema. Analizzate
le funzioni di trasferimento si procede con la simulazione applicando il sistema di
controllo al modello cedevole. Considerando una molla con rigidezza pari a Km = 60
N
m
, un ingresso in forza pari 20 N, per valutare la correttezza dello schema Simulink
si verifica che la posizione di regime raggiunta sia pari a F
Km
= 0, 33 m utilizzando
Km = 60 N
m
e KI = 0.2 (Fig.2.11). Si può concludere quindi che l’utilizzo di un puro
integratore come regolatore di forza è in grado di soddisfare i requisiti del controllo
aptico che si intende sviluppare.
108
Progettazione del sistema di controllo aptico in ammettenza
10-3
10-2
10-1
100
101
102
103
[Hz]
-140
-120
-100
-80
-60
-40
-20
0
[dB]
(a) KI = 0.001
10-3
10-2
10-1
100
101
102
103
[Hz]
-180
-160
-140
-120
-100
-80
-60
-40
-20
[dB]
(b) KI = 0.001
10-1
100
101
102
103
[Hz]
-90
-80
-70
-60
-50
-40
-30
-20
-10
0
[dB]
(c) KI = 0.1
10-1
100
101
102
103
[Hz]
-130
-120
-110
-100
-90
-80
-70
-60
-50
-40
-30
[dB]
(d) KI = 0.1
100
101
102
103
f [Hz]
-80
-70
-60
-50
-40
-30
-20
-10
0
10
20
Magnitude
[dB]
KI
=2.5
KI
=4
KI
=5.5
KI
=7
KI
=8.5
(e) KI compreso tra 2.5 e 8 con passo 1.5
100
101
102
103
f [Hz]
-80
-70
-60
-50
-40
-30
-20
-10
0
Magnitude
[dB]
KI
=2.5
KI
=4
KI
=5.5
KI
=7
KI
=8.5
(f) KI compreso tra 2.5 e 8 con passo 1.5
Fig. 2.10: Diagramma di Bode del modulo di GFF e GFX utilizzando un puro integratore
come regolatore di forza
109
Controllo in forza
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
[s]
0
5
10
15
20
25
[N]
Famb
Fop
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
[s]
0
0.1
0.2
0.3
0.4
[m]
Fig. 2.11: Andamento nel tempo di forza operatore e forza ambiente ( grafico sopra) e
della coordinata x del carrello (grafico sotto), utilizzando un puro integratore
come controllore di forza
Risultati sperimentali
Dopo aver analizzato le caratteristiche di due tipologie di controllori differenti esclu-
sivamente in simulazione, si è deciso di implementare sul banchetto di prova il se-
condo regolatore indagato, ovvero il puro integratore. Per testare sul sistema apti-
co il controllo in ammettenza preventivamente progettato in simulazione, si decide
di simulare il comportamento di una molla ideale con Km = 250 N
m
, utilizzando
KI = 0.06. Si conduce quindi un test spostando il manipolo dalla posizione cen-
trale, avanti e indietro, verso i due finecorsa. Dalla prova condotta si esportano i
segnali di:
• forza esercitata dall’operatore Fop e generata dall’ambiente virtuale Famb;
• spostamento x del manipolo;
• velocità xp del manipolo;
• errore in forza ef .
110
Progettazione del sistema di controllo aptico in ammettenza
Inoltre, per effettuare un confronto fra il sistema di controllo simulato e quello ef-
fettivamente realizzato sul banco di prova, si importa in ambiente Simulink la forza
operatore letta sul sistema aptico: in tal modo, utilizzando lo stesso input (Fop),
si potranno confrontare le risposte di posizione e di forza generata dall’ambiente,
ottenute in simulazione e sul banco di prova. Avendo esportato la Fop, viene an-
che confrontata la risposta in posizione ottenuta sull’interfaccia aptica e dalla molla
ideale che si desidera simulare, in modo da valutare la capacità del sistema di con-
trollo in ammettenza di replicare l’ambiente virtuale desiderato. La lettura dell’
errore in forza eF viene fatta per valutare l’efficacia del sistema di controllo nel far
percepire all’operatore esattamente la forza generata dell’ambiente virtuale. Nelle
Fig.2.12,Fig.2.13,Fig.2.14 e Fig.2.15 vengono riportati gli andamenti in funzione del
tempo rispettivamente della posizione x e della velocità xp del carrello, della forza
introdotta dall’ operatore Fop e della forza generata dall’ambiente Famb ricavati dalla
prova condotta sul sistema aptico.
0 5 10 15
Time [s]
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
x
[m]
Fig. 2.12: Andamento,in funzione del tempo, della posizione x del manipolo, durante la
simulazione del comportamento di una molla ideale di rigidezza Km = 250 N
m
con controllo in ammettenza
111
Controllo in forza
0 5 10 15
Time [s]
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
xp
[m/s]
Fig. 2.13: Andamento, in funzione del tempo, della velocità xp del manipolo, durante la
simulazione del comportamento di una molla ideale di rigidezza Km = 250 N
m
con controllo in ammettenza
0 5 10 15
Time [s]
-100
-80
-60
-40
-20
0
20
40
60
80
100
F
amb
[N]
Fig. 2.15: Andamento, in funzione del tempo, della forza generata dall’ambiente virtuale,
durante la simulazione di una molla ideale di rigidezza Km = 250 N
m con
controllo in ammettenza
Come già anticipato, nelle Fig.2.16 e Fig.2.17 vengono confrontate le risposte di
posizione e forza ottenute in simulazione e sul banco di prova: si osserva una prati-
camente perfetta aderenza fra i due segnali e ciò conferma nuovamente la correttezza
del modello realizzato in simulazione.
112
Progettazione del sistema di controllo aptico in ammettenza
0 5 10 15
Time [s]
-100
-80
-60
-40
-20
0
20
40
60
80
100
F
op
[N]
Fig. 2.14: Andamento, in funzione del tempo, della forza esercitata dall’operatore sul
manipolo, durante la simulazione di una molla ideale di rigidezza Km = 250
N
m con controllo in ammettenza
0 5 10 15
Time [s]
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
x
[m]
xbanchetto
xsimulazione
Fig. 2.16: Confronto tra la risposta in posizione simulata in ambiente Simulink e la
risposta in posizione ottenuta sul banco di prova del sistema di controllo in
ammettenza - Km = 250 N
m
113
Controllo in forza
0 5 10 15
Time [s]
-100
-80
-60
-40
-20
0
20
40
60
80
100
F
[N]
Fbanchetto
Fsimulazione
Fig. 2.17: Confronto tra la risposta in forza simulata in ambiente Simulink e la risposta
in forza ottenuta sul banco di prova del sistema di controllo in ammettenza -
Km = 250 N
m
Nelle Fig.2.18 e Fig.2.19 sono invece riportati gli andamenti in funzione del tempo
della forza introdotta dell’operatore Fop e generata dall’ambiente Famb e l’errore in
forza calcolato come differenza fra Fop e Famb. Si evidenzia come la massima forza
applicata dall’operatore sia di 86.23 N e il massimo errore in forza pari a 12.27 N.
Segue che il massimo errore in forza che si è ottenuto durante la prova svolta sul-
l’interfaccia aptica è circa pari al 14% della massima forza esercitata dall’operatore
sul manipolo. Infine vengono mostrati i seguenti andamenti:
1. andamento nel tempo della posizione del carrello, considerata ideale, in quando
ottenuta dando in ingresso all’ ambiente ideale, rappresentato da una costante
pari all’inverso della rigidezza della molla, la forza esercitata dall’operatore sul
banco, confrontata con la posizione effettiva raggiunta dal carrello sulla guida
lineare (Fig.2.20);
2. andamento dell’errore in posizione ottenuto facendo la differenza dei segnali
raffigurati nel grafico del punto precedente (Fig.2.21).
114
Progettazione del sistema di controllo aptico in ammettenza
0 5 10 15
[t]
-100
-80
-60
-40
-20
0
20
40
60
80
100
[N]
Famb
Fop
Fig. 2.18: Confronto tra la forza applicata dall’operatore sul manipolo e la forza generata
dall’ambiente virtuale, durante la simulazione del comportamento di una molla
di rigidezza Km = 250 N
m con controllo in ammettenza
0 5 10 15
Time [s]
-15
-10
-5
0
5
10
15
e
F
[N]
Fig. 2.19: Andamento, in funzione del tempo, dell’errore in forza, durante la simulazione
del comportamento di una molla di rigidezza Km = 250 N
m con controllo in
ammettenza
115
Controllo in forza
0 5 10 15
Time [s]
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
x
[m]
xideale
xbanchetto
Fig. 2.20: Confronto tra le risposte in posizione dell’interfaccia aptica con controllo in
ammettenza e di una molla ideale di rigidezza Km = 250 N
m
Da tali analisi emerge che lo spostamento massimo compiuto dal carrello sul banco
è di 0.34 m e l’errore massimo in posizione ottenuto confrontando la risposta del-
l’ambiente ideale con il sistema aptico è pari a 0.05 m. Se ne deduce quindi che il
massimo errore in posizione che si è ottenuto, durante la prova svolta sull’interfaccia
aptica a disposizione, è circa pari al 14.5% del massimo spostamento compiuto dal
manipolo. Infine, si mostra in Fig.2.22 la forza operatore e la forza ambiente in
funzione dello spostamento del manipolo lungo l’asse lineare.
116
Progettazione del sistema di controllo aptico in ammettenza
0 5 10 15
Time [s]
-0.05
-0.04
-0.03
-0.02
-0.01
0
0.01
0.02
0.03
0.04
0.05
e
x
[m]
Fig. 2.21: Andamento, in funzione del tempo, dell’errore in posizione, ottenuto dal con-
fronto fra posizione effettivamente raggiunta sul banco di prova con controllo
in ammettenza e posizione derivante dall’ambiente ideale rappresentato da una
molla con rigidezza Km = 250 N
m
-0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4
[m]
-100
-80
-60
-40
-20
0
20
40
60
80
100
[N]
Famb
Fop
Fig. 2.22: Andamento della forza applicata dall’operatore sul manipolo in funzione della
posizione x di quest’ultimo, durante la simulazione del comportamento di una
molla di rigidezza Km = 250 N
m con controllo in ammettenza
117
Controllo in forza
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Time [s]
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.1
x
[m]
xbanchetto
xsimulazione
Fig. 2.23: Andamento nel tempo del segnale di posizione del carrello ottenuto sul ban-
chetto con controllo in ammettenza e sul sistema simulato, applicando in in-
gresso uno scalino di forza di 20 N ed utilizzando una rigidezza della molla
ideale di Km = 250 N
m
Un ulteriore verifica della capacità del sistema di controllo nel far percepire all’u-
tente l’ambiente virtuale desiderato, consiste nel forzare mediante il blocco step di
Simulink, sul banco di prova, una forza operatore con andamento a scalino pari
a 20 N e controllare che la posizione di regime sia effettivamente quella attesa di
Fop
Km
= 0.08 m, utilizzando una rigidezza della molla ideale di Km = 250 N
m
: l’ac-
quisizione viene confrontata anche con i risultati derivanti dal sistema di controllo
simulato (Fig.2.23). Dalla Fig.2.23 si osserva corrispondenza fra il segnale misurato
e simulato, ma si nota una leggera oscillazione del segnale di posizione acquisito
sul banchetto: ciò è proprio dovuto al profilo di forza a scalino fornito in ingresso
al sistema. Per tale ragione è stato necessario ridurre il valore del guadagno KI a
0.04 rispetto a quello utilizzato precedentemente per riprodurre il comportamento
di una molla ideale con rigidezza Km = 250 N
m
. Alla luce delle considerazioni fatte e
dei grafici analizzati, emerge come il controllo in ammettenza applicato utilizzando
come regolatore di forza un puro integratore, sia efficace nel fornire le prestazioni
desiderate.
Viene allora replicato il sistema di controllo in ammettenza applicato all’ambiente
molla considerando diverse rigidezze (Km): in tabella 2.1, per ogni valori di Km,
118
Progettazione del sistema di controllo aptico in ammettenza
Km[N
m
]
Km[N
m
]
Km[N
m
] KI
KI
KI ffiltro
c [Hz]
ffiltro
c [Hz]
ffiltro
c [Hz] ẋmax
ẋmax
ẋmax
m
s
errmax
F
errmax
F
errmax
F [N]
[N]
[N] errF
errF
errF[%]
[%]
[%] errmax
X
errmax
X
errmax
X [m]
[m]
[m] errX
errX
errX[%]
[%]
[%]
0 0.07 5 0.61 8.57 / / /
60 0.07 5 0.45 6.18 20.37 0.10 21.8
250 0.06 5 0.81 12.27 14.23 0.05 14.47
500 0.05 5 0.60 11.39 14.11 0.023 14.15
1000 0.04 5 0.46 10.49 14.21 0.010 14.24
Tabella 2.1: Ambiente molla: valori di KI e Km adottati sul banco di prova
vengono riportati i valori dei guadagni del controllore e della frequenza critica del
filtro di forza. Si può notare come i valori adottati sul banchetto siano notevolmente
inferiori rispetto a quelli utilizzabili in simulazione: questo perchè elevati valori di
KI instabilizzano il sistema e lo rendono molto sensibile al tipo di impugnatura.
Si precisa inoltre come nell’analisi dell’ambiente molla, sia stata utilizzata un ban-
da morta in forza ridotta per percepire anche forze di piccola entità, specialmente
nella posizione di x = 0, dove si possono avvertire lievi vibrazioni se la banda è
eccessiva. L’ intervallo utilizzato è [−0.0728·10, +0.0230·10] eccetto per l’ambiente
trasparenza (Km = 0), in cui per è stato ridotto a [−0.0728 · 1, +0.0230 · 1] poichè
in tale situazione le forza introdotta dall’ operatore ha decisamente valori inferiori.
Per ogni valore di rigidezza Km considerata, quindi per ogni molla ideale, vengono
riportati i seguenti andamenti:
• della posizione e della velocità lineare del manipolo in funzione del tempo;
• della forza operatore e della forza ambiente in funzione del tempo e della
posizione del carrello;
• dell’errore in forza ed in posizione in funzione del tempo;
Le Fig.2.24, Fig.2.25, Fig.2.26 e Fig.2.27 mostrano tali grafici.
119
Controllo in forza
0 10 20 30 40 50
Time [s]
-0.6
-0.4
-0.2
0
0.2
0.4
x
[m]
(a) Posizione del manipolo
0 10 20 30 40 50
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
xp
[m/s]
(b) Velocità del manipolo
0 10 20 30 40 50
[t]
-40
-30
-20
-10
0
10
20
30
40
[N]
Famb
Fop
(c) Forza operatore e forza ambiente in fun-
zione del tempo
-0.6 -0.4 -0.2 0 0.2 0.4
[m]
-40
-30
-20
-10
0
10
20
30
40
[N]
Famb
Fop
(d) Forza operatore e forza ambiente in fun-
zione della posizione del manipolo
0 10 20 30 40 50
Time [s]
-8
-6
-4
-2
0
2
4
6
8
e
F
[N]
(e) Errore in forza
0 10 20 30 40 50
Time [s]
-0.15
-0.1
-0.05
0
0.05
0.1
e
x
[m]
(f) Errore in posizione
Fig. 2.24: Risultati sperimentali della simulazione di una molla di rigidezza Km = 60 N
m
120
Progettazione del sistema di controllo aptico in ammettenza
0 2 4 6 8 10 12 14 16
Time [s]
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
x
[m]
(a) Posizione del manipolo
0 2 4 6 8 10 12 14 16
Time [s]
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
xp
[m/s]
(b) Velocità del manipolo
0 2 4 6 8 10 12 14 16
[t]
-100
-80
-60
-40
-20
0
20
40
60
80
100
[N]
Famb
Fop
(c) Forza operatore e forza ambiente in fun-
zione del tempo
-0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4
[m]
-100
-80
-60
-40
-20
0
20
40
60
80
100
[N]
Famb
Fop
(d) Forza operatore e forza ambiente in fun-
zione della posizione del manipolo
0 2 4 6 8 10 12 14 16
Time [s]
-10
-5
0
5
10
e
F
[N]
(e) Errore in forza
0 2 4 6 8 10 12 14 16
Time [s]
-0.03
-0.02
-0.01
0
0.01
0.02
0.03
e
x
[m]
(f) Errore in posizione
Fig. 2.25: Risultati sperimentali: simulazione di una molla di rigidezza Km = 500 N
m
121
Controllo in forza
0 2 4 6 8 10 12 14 16
Time [s]
-0.1
-0.08
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1
x
[m]
(a) Posizione del manipolo
0 2 4 6 8 10 12 14 16
Time [s]
-0.6
-0.4
-0.2
0
0.2
0.4
xp
[m/s]
(b) Velocità del manipolo
0 2 4 6 8 10 12 14 16
[t]
-80
-60
-40
-20
0
20
40
60
80
[N]
Famb
Fop
(c) Forza operatore e forza ambiente in fun-
zione del tempo
-0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2
[m]
-80
-60
-40
-20
0
20
40
60
80
[N]
Famb
Fop
(d) Forza operatore e forza ambiente in fun-
zione della posizione del manipolo
0 2 4 6 8 10 12 14 16
Time [s]
-10
-5
0
5
10
e
F
[N]
(e) Errore in forza
0 2 4 6 8 10 12 14 16
Time [s]
-0.015
-0.01
-0.005
0
0.005
0.01
0.015
e
x
[m]
(f) Errore in posizione
Fig. 2.26: Risultati sperimentali: simulazione di una molla di rigidezza Km = 1000 N
m
122
Progettazione del sistema di controllo aptico in ammettenza
0 5 10 15 20
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
(a) Posizione del manipolo
0 5 10 15 20
Time [s]
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
xp
[m/s]
(b) Velocità del manipolo
0 5 10 15 20
Time [s]
-10
-8
-6
-4
-2
0
2
4
6
8
10
F
op
,
F
amb
[N]
Fop
Famb
(c) Forza operatore e forza ambiente in fun-
zione del tempo
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
Time [s]
-40
-30
-20
-10
0
10
20
30
40
F
op
,
F
amb
[N]
Fop
Famb
(d) Forza operatore e forza ambiente in fun-
zione della posizione del manipolo
Fig. 2.27: Risultati sperimentali della simulazione di una molla di rigidezza Km = 0 N
m
123
Controllo in forza
Conclusioni
Visti i grafici ed i valori degli errori riportati in tabella 2.1, è possibile concludere
che aumentando la rigidezza della molla, l’errore percentuale in posizione e in forza
tende a ridursi: tale considerazione è ben evidente passando da Km = 60 N
m
a Km =
250 N
m
, mentre è meno visibile nelle altre prove condotte a valori più elevati Km,
data la difficoltà nel ripetere i test esattamente nelle stesse condizioni di velocità.
Inoltre variando la rigidezza della molla, è stato necessario ridurre il valore del
guadagno del regolatore di forza per garantire stabilità al sistema ed essere meno
sensibile alla tipologia di impugnatura. É opportuno fare un commento sull’ambiente
trasparenza (Km = 0): idealmente l’utente riesce a spostare la massa senza avvertire
nessuna resistenza, in quanto la forza generata dall’ambiente è in questo caso nulla.
Lo scopo è quello quindi permette all’utente di movimentare la massa applicando
una forza di entità ridotta: utilizzando un sistema di controllo in anello chiuso in
ammettenza, si è registrata una forza di circa 8.57 N spostando il manipolo ad una
velocità massima di 0.61 m
s
. L’errore in forza è valutato come la differenza tra
forza operatore e forza ambiente. Essendo quest’ultima nulla, nella riproduzione
del comportamento dell’ambiente trasparenza, l’errore in forza coincide con la forza
operatore. Pertanto, analizzando le prestazioni dell’ambiente trasparenza, non è
significativo esprimere l’errore massimo percentuale in forza, essendo un parametro
calcolato come il rapporto, moltiplicato per 100, tra l’errore massimo commesso e
la forza massima, in modulo, applicata dall’operatore sul manipolo.
124
Progettazione del sistema di controllo aptico in ammettenza
2.2.2 Ambiente visco-elastico
Descrizione ambiente ideale
Come detto in precedenza, non è possibile simulare una molla ideale, in quanto, se
ad essa vi si impone una condizione iniziale in posizione o vi si applica uno scalino
in forza di ampiezza F, raggiunge istantaneamente la sua condizione di riposo, nel
primo caso, o la sua condizione di equilibrio (data da x = F
K
), nel secondo caso. Ciò
che è possibile invece simulare è il comportamento di una molla reale, la quale è
dotata, oltre che di una comportamento elastico, anche di un comportamento visco-
so. Dunque, nel corrente sotto-paragrafo, si prende in considerazione il cosiddetto
ambiente visco-elastico, per descrivere il comportamento di una molla reale. L’am-
biente in questione è costituito da una molla, con rigidezza K, e uno smorzatore
viscoso, con coefficiente di smorzamento c. In un ambiente visco - elastico agiscono
tre tipi di forze:
• una forza elastica, associata alla rigidezza K e direttamente proporzionale
all’allungamento/compressione x della molla;
• una forza viscosa, associata allo smorzamento c e direttamente proporzionale
alla velocità di allungamento/compressione della molla;
• una, eventuale, forza forzante applicata dall’esterno sul sistema.
Dunque, la dinamica di un sistema molla - smorzatore è descritta dall’equazione
differenziale (2.29) del primo ordine che può essere risolta, per esempio, passando al
dominio delle trasformate di Laplace (2.30).
c · ẋ + K · x = F(t) (2.29)
(cs + K) · X = F (2.30)
Rielaborando l’equazione (2.30), si ottiene la relazione (2.31) che descrive la fun-
zione di trasferimento, da F(t) ad x(t), di un sistema molla-smorzatore. Essa è
caratterizzata da un polo (in s = −K
c
), nessuno zero e un guadagno statico pari a
1
K
.
Gid =
X
F
=
1
K
1 + s c
K
(2.31)
125
Controllo in forza
E’ importante sottolineare che l’ambiente ideale che si desidera riprodurre deve pos-
sedere necessariamente una frequenza critica minore di quella del sistema di controllo
in forza, che si decide di utilizzare per simulare tale ambiente. In particolare, un
sistema di controllo in ammettenza è caratterizzato da un anello interno in posizione
e un anello più esterno in forza. In generale, l’anello interno deve essere molto più
veloce di quello esterno, in modo da riuscire a seguire in modo preciso il riferimento
che gli viene fornito in ingresso. A tal proposito, l’anello di controllo in posizione
che si utilizza è basato sul metodo del posizionamento poli e presenta una frequenza
critica di 23 Hz. Pertanto, l’anello esterno in forza ha una frequenza critica circa
dieci volte minore rispetto a quello interno, ovvero pari a 2.3 Hz. Di conseguenza,
l’ambiente ideale che si desidera simulare deve possedere una frequenza critica mi-
nore del suddetto valore. La frequenza propria di un ambiente visco - elastico può
essere calcolata mediante la formula (2.32). Esistono infiniti ambienti di questo tipo
con una frequenza naturale minore di 2.3 Hz. A titolo di esempio, si è considerato
un sistema molla - smorzatore caratterizzato da una rigidezza K pari a 90 N
m
e un
coefficiente di smorzamento pari a 7 Ns
m
. L’ambiente scelto dunque presenta una
frequenza naturale fn pari a 2.046 Hz.
fc =
K
2πc
(2.32)
In Fig.2.28, è rappresentato il diagramma di Bode, di modulo e fase, della funzione
di trasferimento Gid dell’ambiente ideale preso in considerazione. Osservando, per
esempio, il diagramma di Bode del modulo, si riscontra che la suddetta funzione di
trasferimento presenta effettivamente un guadagno statico pari a 1
K
e una pulsazione
naturale pari a wn = K
c
. Inoltre, si nota che il diagramma di Bode del modulo di Gid
assume una pendenza di −20 dB
decade
per pulsazioni sufficientemente al di sopra di wn,
in quanto la funzione di trasferimento è caratterizzata da un solo polo e nessuno zero.
Sulla base di quanto affermato, si può concludere che un sistema molla - smorzatore
è un sistema del primo ordine. Pertanto, ci si aspetta che, applicando in ingresso a
tale sistema uno scalino in forza di ampiezza F, la sua risposta in posizione tenda a
convergere ad un valore di regime pari a x = F
K
con un andamento del primo ordine,
quindi monotono di tipo esponenziale, senza oscillazioni.
126
Progettazione del sistema di controllo aptico in ammettenza
10-1
100
101
102
-160
-140
-120
-100
-80
Magnitude
[dB]
10-1
100
101
102
f [Hz]
-100
-50
0
Phase
[deg]
Fig. 2.28: Diagramma di Bode, di modulo e fase, della funzione di trasferimento Gid di
un ambiente visco-elastico.
In Fig.2.29, è rappresentata la risposta in posizione dell’ambiente visco-elastico in
esame, ad uno scalino in forza di ampiezza F = 30 N applicatovi in ingresso: si
può osservare, effettivamente, un’ andamento di tipo esponenziale, come preventi-
vato. Discutendo della risposta allo scalino dell’ambiente ideale, si può introdurre
il concetto del tempo di assestamento, necessario alla risposta allo scalino di un
sistema per raggiungere un valore pari a 0.99 volte il suo valore di regime. Questo
è un parametro interessante, perchè descrive la velocità della risposta allo scalino
del sistema. Nel caso di un sistema del primo ordine, il tempo di assestamento è
espresso dalla formula (2.33), dove τ è la costante di tempo associata al polo del
sistema, che, nel caso di un ambiente molla - smorzatore, è pari a c
K
. In particolare,
il tempo di assestamento della risposta allo scalino dell’ambiente visco - elastico in
esame è pari a Ta = 5 7
90
= 0.39 secondi.
Ta = 5τ = 5
c
K
(2.33)
127
Controllo in forza
0 0.1 0.2 0.3 0.4 0.5 0.6
Time [s]
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
x
[m]
Fig. 2.29: Risposta in posizione di un ambiente viscoelastico ad uno scalino in forza, di
ampiezza F = 30N, applicatogli in ingresso.
Progettazione controllore in forza
Si consideri di impiegare un sistema di controllo in ammettenza per simulare, me-
diante l’interfaccia aptica a disposizione, il comportamento di un ambiente visco -
elastico. Si deve sintetizzare il regolatore in forza e, per fare ciò, si fa riferimento
alle funzioni di trasferimento in anello chiuso GFX e GFF , le quali possono essere
calcolate mediante le formule (2.34) e (2.35). Si osservi che, nelle suddette rela-
zioni, il termine A è la funzione di trasferimento dalla posizione x alla forza Famb
dell’ambiente visco-elastico, ovvero è l’inverso della funzione di trasferimento Gid.
GFX(s) =
Rf · Gppos
1 + Rf · Gppos · A
(2.34)
GFF (s) =
Rf · Gppos · A
1 + Rf · Gppos · A
(2.35)
Innanzitutto, si consideri di impiegare un regolatore in forza di tipo proporzionale,
la cui funzione di trasferimento è espressa dalla relazione (2.36).
Rf (s) = Kp (2.36)
128
Progettazione del sistema di controllo aptico in ammettenza
In tal caso, le funzioni di trasferimento in anello chiuso GFX e GFF possono essere
valutate mediante le relazioni (2.37) e (2.38)
GFX =
Ki · (g2s + g1)
(Jm,eq
Kaz
+ g2 · c · Kp)s2 + (g2 + g1 · Kp · c + Kp · K · g2)s + g1 · (1 + Kp · K)
(2.37)
GFF =
Ki · (g2s + g1)(cs + K)
(Jm,eq
Kaz
+ g2 · c · Kp)s2 + (g2 + g1 · Kp · c + Kp · K · g2)s + g1 · (1 + Kp · K)
(2.38)
Come già ribadito, in generale, nella progettazione di un sistema di controllo in
forza, si desidera soddisfare due requisiti:
1. GFF = 1, cosicchè la forza Famb sia uguale alla forza operatore Fop, in modo
tale che l’utente abbia un ritorno in forza esattamente pari alla forza generata
dall’ambiente virtuale.
2. GFX = Gid, per far sı̀ che il sistema di controllo in forza simuli perfettamente
il comportamento dell’ambiente ideale preso in considerazione.
Dalla relazione (2.37) si può osservare che la funzione di trasferimento GFX presenta
uno zero e due poli, quindi è caratterizzata da un grado relativo pari a uno. La
funzione di trasferimento Gid da F ad x dell’ambiente ideale è caratterizzata da
nessuno zero e un solo polo. Dunque, è evidente che la funzione di trasferimento
GFX, che si ottiene impiegando un controllore in forza proporzionale, non potrà mai
essere perfettamente uguale a Gid. Pertanto, un’ obiettivo nella progettazione del
sistema di controllo in forza è quello di fare in modo che la funzione di trasferimento,
in anello chiuso, GFX approssimi nel modo migliore possibile, su una banda di
frequenze la più ampia possibile, il comportamento della corrispondente funzione
di trasferimento dell’ambiente ideale. Allo stesso modo, dalla relazione (2.38) ,
si riscontra che GFF presenta due zeri e due poli, quindi è strettamente propria.
Dunque, anche in questo caso, è evidente che la funzione di trasferimento non sarà
mai completamente unitaria. Pertanto, un secondo obiettivo nella progettazione del
sistema di controllo in forza è quello di fare in modo che GFF approssimi quella
unitaria su una banda di frequenze la più ampia possibile. Per quanto riguarda
il comportamento dinamico delle funzioni di trasferimento GFX e GFF , si noti la
129
Controllo in forza
presenza del medesimo denominatore e, quindi, degli stessi poli. Infatti, si può
osservare che risultano correlate tra loro mediante la relazione (2.39), dove A, nel
caso di un ambiente visco-elastico, è caratterizzata da uno zero e nessun polo.
GFF (s) = GFX(s)A (2.39)
Dunque, studiare la posizione dei poli e, quindi, la stabilità di GFX equivale a valuta-
re i medesimi aspetti di GFF . Nella Fig.2.30 è riportato l’andamento, in funzione del
guadagno Kp del controllore in forza, dei poli del sistema di controllo in ammettenza
considerato. In particolare, si è considerato [0.01, 0.8], come range di variazione del
parametro Kp. Innanzitutto, da tali diagrammi, si può osservare che il suddetto
sistema presenta due poli con parte reale strettamente negativa per qualsiasi valore
del guadagno proporzionale di conseguenza risulta sempre asintoticamente stabile.
In secondo luogo, si può notare che i due poli sono sempre reali e distinti, uno in
alta e uno in bassa frequenza. In particolare, il polo dominante si sposta asintoti-
camente, al crescere di Kp, verso un valore pari a −K
c
, ovvero tende a coincidere
con il polo dell’ambiente ideale preso in considerazione. Pertanto, si può prevedere
che, impiegando un valore sufficientemente elevato del guadagno proporzionale, la
risposta allo scalino e il diagramma di Bode di GFX siano molto simili a quelli del-
l’ambiente ideale Gid in esame. La funzione di trasferimento GFF presenta uno zero
che coincide con il polo dell’ambiente ideale considerato. Dunque, dato che il suo
polo dominante si sposta asintoticamente verso quello quello dell’ambiente ideale,
allora il suo zero tende a cancellare maggiormente il suo polo, al crescere del guada-
gno proporzionale. Pertanto, si prevede che, impiegando un valore sufficientemente
elevato di Kp, la risposta allo scalino e il diagramma di Bode di GFF siano molto
simili a quelli della funzione di trasferimento unitaria.
130
Progettazione del sistema di controllo aptico in ammettenza
0 0.2 0.4 0.6 0.8 1 1.2
Kp
-160
-140
-120
-100
-80
-60
-40
-20
0
Parte reale
Parte immaginaria
(a) Polo 1
0 0.2 0.4 0.6 0.8 1 1.2
Kp
-30
-25
-20
-15
-10
-5
0
Parte reale
Parte immaginaria
(b) Polo 2
Fig. 2.30: Poli del sistema di controllo in ammettenza, in funzione del guadagno propor-
zionale Kp
Nella Fig.2.31 sono rappresentati sovrapposti i diagrammi di Bode delle funzioni
di trasferimento Gid e GFX. In particolare, per quest’ultima si è considerato un
guadagno del regolatore in forza Kp pari a 0.4. Si può osservare che il diagramma di
Bode di GFX ha un andamento molto simile a quella dell’ambiente ideale Gid, come
si desidera nella progettazione di un sistema di controllo in forza. Nella Fig.2.32
è, invece, riportato il diagramma di Bode di GFF : assomiglia molto a quello della
funzione di trasferimento unitaria, come previsto precedentemente. Per quanto
riguarda il comportamento statico, la funzione di trasferimento GFX presenta un
guadagno statico (ovvero il modulo della risposta in frequenza della funzione di
trasferimento, calcolato per ω che tende a 0) che è espresso dalla relazione (2.40).
µFX =
Kp
1 + Kp · K
(2.40)
Si può osservare che, se il guadagno Kp del regolatore in forza tende idealmente ad
infinito, il guadagno statico della suddetta funzione di trasferimento tende al valore
1
K
, ovvero tende a coincidere con quello dell’ambiente ideale Gid.
131
Controllo in forza
10-2
10-1
100
101
f [Hz]
-125
-120
-115
-110
-105
-100
-95
-90
-85
Magnitude
[dB]
Gid
GFX
10-2
10-1
100
101
f [Hz]
-80
-70
-60
-50
-40
-30
-20
-10
0
Phase
[deg]
Gid
GFX
Fig. 2.31: Diagramma di Bode di Gid e di GFX, considerando Kp=0.4
10-2
10-1
100
101
102
103
f [Hz]
-0.2
-0.18
-0.16
-0.14
-0.12
-0.1
-0.08
-0.06
-0.04
-0.02
0
Magnitude
[dB]
10-2
10-1
100
101
102
103
f [Hz]
-0.05
0
0.05
0.1
0.15
0.2
0.25
0.3
Phase
[deg]
Fig. 2.32: Diagramma di Bode di GFF , considerando Kp=0.4.
132
Progettazione del sistema di controllo aptico in ammettenza
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
time [s]
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
x
[m]
Gid
GFX
(Kp
= 0.01)
GFX
(Kp
= 0.05)
GFX
(Kp
= 0.1)
GFX
(Kp
= 0.6)
Fig. 2.33: Risposta ad uno scalino in forza di ampiezza F=30 N di GFX, per diversi
valori del guadagno Kp
Dunque, impiegando un regolatore in forza con un guadagno sufficientemente ele-
vato, si riesce a fare in modo che la risposta in posizione, ad uno scalino in forza
di ampiezza F del sistema di controllo in ammettenza, tenda asintoticamente ad un
valore di regime approssimativamente pari a F
K
. Ciò lo si può osservare anche in
Fig.2.33, dove sono rappresentati sovrapposti gli andamenti, in funzione del tem-
po, della risposta, ad uno scalino in forza di ampiezza F = 30N, della funzione
di trasferimento GFX, per diversi valori del guadagno Kp. La funzione di trasfe-
rimento GFF presenta, invece, un guadagno statico che è espresso dalla relazione
(2.41). Si può notare che, se il guadagno Kp del regolatore in forza tende idealmente
ad infinito, µFF tesi avvicina al valore unitario. Dunque, impiegando un guadagno
Kp sufficientemente elevato, si riesce a fare in modo che, almeno a regime, la ri-
sposta in forza ad uno scalino del sistema di controllo in ammettenza considerato
sia approssimativamente pari all’ampiezza del riferimento a scalino applicatovi in
ingresso.
µFF =
Kpk
1 + Kpk
(2.41)
Si è simulato in Simulink la risposta dell’interfaccia aptica a disposizione ad uno
scalino in forza di ampiezza F = 30N, utilizzando un sistema di controllo in am-
mettenza caratterizzato da un regolare in forza di tipo proporzionale. Si è riscontrato
133
Controllo in forza
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Time [s]
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
x
[m]
Gid
GFX
Simulazione (Mod.Ced)
Fig. 2.34: Risposte in posizione ad uno scalino in forza di ampiezza F=30 N di Gid, GFX
e dell’interfaccia aptica simulata impiegando il modello cedevole del sistema,
considerando Kp = 0.01
che, utilizzando in simulazione il modello cedevole del sistema, quest’ultimo vibra
per valori del guadagno Kp superiori a 0.006. Per esempio, in Fig.2.34, sono ripor-
tate sovrapposte le risposte in posizione, ad uno scalino in forza di ampiezza F = 30
N, dell’ ambiente ideale Gid, della funzione di trasferimento GFX e dell’interfaccia
aptica, ottenuta quest’ultima in simulazione, utilizzando il modello cedevole del si-
stema e considerando un guadagno del regolatore in forza pari a 0.01. Si riscontra
come la risposta in posizione simulata dell’interfaccia aptica sia diversa da quella
della funzione di trasferimento GFX, ottenuta rappresentando il sistema mediante
il suo modello rigido. In particolare, la prima, a differenza della seconda, mette in
evidenza che, per il valore considerato del parametro Kp, il sistema vibra. Dunque,
si può concludere che tale comportamento, ovvero l’innesco di vibrazioni adottando
un guadagno del regolatore in forza di tipo proporzionale relativamente elevato, è
dovuto alle rigidezze del sistema, le quali sono ben rappresentate nel modello cede-
vole e non nel modello rigido. In Fig.2.35 sono rappresentate le risposte simulate in
posizione e in forza, sempre ad uno scalino in forza di ampiezza F = 30N, dell’inter-
faccia aptica, utilizzando un guadagno Kp = 0.006 e impiegando il modello cedevole
del sistema. Si nota che la risposta in posizione è molto diversa da quella dell’am-
134
Progettazione del sistema di controllo aptico in ammettenza
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Time [s]
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
x
[m]
Gid
Simulazione (Mod.Ced)
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4
Time [s]
0
5
10
15
20
25
F
amb
[N]
Fig. 2.35: Risposte simulate in posizione e in forza dell’interfaccia aptica, ad uno scalino
in forza di ampiezza F=30 N, considerando Kp = 0.006
biente visco - elastico che si desidera simulare; in particolare, converge ad un valore
di regime che è molto minore rispetto a quello della risposta di quest’ultimo. Ciò è
dovuto al fatto che il guadagno del regolatore in forza di tipo proporzionale che si
può impiegare, senza che il sistema vibri, è molto basso. Per quanto riguarda, inve-
ce, la risposta in forza simulata dell’interfaccia aptica, si riscontra, innanzitutto, che
presenta delle vibrazioni e, inoltre, converge asintoticamente ad un valore di regime
che è molto minore rispetto al valore dello scalino in forza applicatovi in ingresso.
Di conseguenza, nemmeno a regime risulta essere verificata la condizione desiderata
Fop = Famb. Per far convergere asintoticamente la risposta, ad uno scalino in forza,
delle funzioni di trasferimento GFX e GFF ad un valore di regime esattamente pari a
quello delle risposte dell’ambiente ideale Gid e della funzione di trasferimento unita-
ria, si può utilizzare un regolatore in forza di tipo integrale, anzichè proporzionale.
Infatti, introducendo una componente integrativa nel controllore in forza, si rendono
i guadagni statici delle due suddette funzioni di trasferimento pari, rispettivamente,
a 1
K
e a 1. Dunque, si consideri, ora, di impiegare un regolatore in forza di tipo
integrale, la cui funzione di trasferimento è espressa dalla relazione (2.42).
Rf =
Ki
s
(2.42)
In tal caso, le funzioni di trasferimento GFX e GFF sono espresse dalle formule (2.43)
135
Controllo in forza
e (2.44).
GFX =
g2s + g1
( Jm,eq
Kaz·Ki
s3 + g2 · ( 1
Ki
+ g2 · c)s2 + (g1 + K · g2 + c · g1)s + K · g1)
(2.43)
GFF =
(g2s + g1)(cs + K)
( Jm,eq
Kaz·Ki
s3 + g2 · ( 1
Ki
+ g2 · c)s2 + (g1 + K · g2 + c · g1)s + K · g1)
(2.44)
Esse presentano entrambe tre poli e, rispettivamente, uno e due zeri. In Fig.2.36 sono
riportati, sovrapposti, gli andamenti dei tre poli delle due funzioni di trasferimento,
in funzione del guadagno del regolatore in forza. In particolare, per tracciare tali
diagrammi, si è considerato [0.01, 1.2] come intervallo di variazione del parametro
Ki. Innanzitutto, si può osservare che i loro poli possiedono una parte reale sempre
strettamente negativa, per qualsiasi valore di KI. Pertanto, si può affermare che
il sistema di controllo in ammettenza considerato è asintoticamente stabile, per
qualsiasi valore del guadagno del regolatore in forza. In Fig.2.37 è rappresentato
l’andamento, in funzione di KI, sia della parte reale sia di quella immaginaria del
polo dominante del sistema. Dai diagrammi, si riscontra che:
• i due poli, che si trovano a più alte frequenze, sono complessi coniugati per
valori di KI inferiori a 0.44, mentre, per valori superiori, sono due poli reali
distinti.
• il polo dominante è reale e, all’aumentare del guadagno KI, tende asintotica-
mente al polo, in s = −K
c
, dell’ambiente ideale Gid preso in considerazione.
Per quanto riguarda il comportamento statico, le funzioni di trasferimento GFX e
GFF presentano un guadagno statico, rispettivamente, pari a 1
K
e 1 (2.45) e (2.46),
come preventivato.
µFX =
Ki · g1
Ki · g1 · K
=
1
K
(2.45)
µFF =
Ki · g1 · K
Ki · g1 · K
= 1 (2.46)
136
Progettazione del sistema di controllo aptico in ammettenza
-1400 -1200 -1000 -800 -600 -400 -200 0
Real
-200
-150
-100
-50
0
50
100
150
200
Imag
Polo1
Polo2
Polo3
Fig. 2.36: Andamento, in funzione del guadagno Ki, dei tre poli del sistema di controllo
in ammettenza
0 0.2 0.4 0.6 0.8 1 1.2
Ki
-12
-10
-8
-6
-4
-2
0
Parte reale
Parte immaginaria
Fig. 2.37: Andamento, in funzione del guadagno Ki, del polo dominante del sistema di
controllo in ammettenza
137
Controllo in forza
0 0.1 0.2 0.3 0.4 0.5 0.6
time [s]
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
x
[m]
ideale
GFX
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
time [s]
0
5
10
15
20
25
30
F
amb
[N]
Fig. 2.38: Risposte ad uno scalino in forza, di ampiezza pari a 30 N, delle funzioni di
trasferimento GFX e GFF , considerando KI = 0.6.
Dunque, effettivamente, l’introduzione di una componente integrativa consente di
far convergere asintoticamente le risposte, ad uno scalino in forza di ampiezza F,
delle funzioni di trasferimento GFX e GFF ad un valore di regime, rispettivamente,
pari a x = F
K
e a Famb = F, come desiderato. Ciò lo si può osservare anche nella
Fig.2.38, dove sono rappresentate le risposte, ad uno scalino in forza di ampiezza
F = 30 N, delle funzioni di trasferimento GFX e GFF . In particolare, tali diagrammi
sono stati tracciati considerando un guadagno KI = 0.6. Nelle Fig.2.39 e Fig.2.40
sono rappresentati i diagrammi di Bode delle funzioni di trasferimento GFX e GFF ,
considerando KI = 0.6. Si può osservare che:
• il diagramma di Bode di GFX approssima bene quello di Gid fino a frequenze
di poco superiori alla frequenza propria del sistema; mentre, ad alte frequenze,
il comportamento si discosta da quello dell’ambiente ideale, a causa dei due
poli in alta frequenza che caratterizzano la funzione di trasferimento GFX.
• Il diagramma di Bode di GFF è molto simile al diagramma di Bode della fun-
zione di trasferimento unitaria per frequenze minori della frequenza naturale
del sistema.
138
Progettazione del sistema di controllo aptico in ammettenza
10-1
100
101
102
103
f [Hz]
-260
-240
-220
-200
-180
-160
-140
-120
-100
-80
Magnitude
[dB]
Gid
GFX
10-1
100
101
102
103
f [Hz]
-180
-160
-140
-120
-100
-80
-60
-40
-20
0
Phase
[deg]
Gid
GFX
Fig. 2.39: Diagramma di Bode di GFX, considerando Ki = 0.6
.
10-2
10-1
100
101
102
103
f [Hz]
-45
-40
-35
-30
-25
-20
-15
-10
-5
0
Magnitude
[dB]
10-2
10-1
100
101
102
103
f [Hz]
-90
-80
-70
-60
-50
-40
-30
-20
-10
0
Phase
[deg]
Fig. 2.40: Diagramma di Bode di GFF , considerando Ki = 0.6
139
Controllo in forza
Più è elevato il guadagno KI del regolatore in forza, migliori sono le prestazioni del
sistema di controllo in ammettenza implementato. In particolare, all’aumentare del
suddetto parametro:
• la risposta ad uno scalino di GFX assume un andamento sempre più simile a
quello della risposta al medesimo scalino dell’ambiente ideale Gid;
• la frequenza propria del sistema tende asintoticamente alla frequenza naturale
dell’ambiente virtuale che si desidera simulare, che, nel caso di un ambiente
visco - elastico, è espressa dalla formula (2.32) .
• il diagramma di Bode di GFX approssima in modo più preciso e su un più
ampio range di frequenze il diagramma di Bode di Gid;
• il diagramma di Bode di GFF approssima su un più ampio range di frequenze
il diagramma di Bode della funzione di trasferimento unitaria.
I comportamenti appena descritti li si riscontrano nelle Fig.2.41, Fig.2.42 e Fig.2.43,
dove sono, rispettivamente, rappresentati: la risposta in posizione, ad uno scalino
in forza di ampiezza F=30 N, del sistema di controllo in ammettenza considerato e
i diagrammi di Bode, di modulo e fase, delle funzioni di trasferimento GFX e GFF ,
per diversi valori del guadagno Ki. Dunque, sulla base delle considerazioni svolte,
si può concludere che, utilizzando un guadagno KI del regolatore in forza (di tipo
integrale) sufficientemente elevato, il sistema di controllo in ammettenza considerato
è in grado di riprodurre in modo fedele il comportamento di un ambiente visco-
elastico e di fornire, anche, un ritorno in forza all’operatore coerente con l’ambiente
virtuale preso in considerazione. Si è simulato la risposta dell’interfaccia aptica a
disposizione ad uno scalino in forza di ampiezza F = 30N, utilizzando un sistema
di controllo in ammettenza caratterizzato da un regolare in forza di tipo integrale e
rappresentando il sistema mediante il suo modello cedevole. Si è riscontrato che, in
tali condizioni, il sistema vibra per valori del guadagno KI superiori a 0.2.
140
Progettazione del sistema di controllo aptico in ammettenza
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
time [s]
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
x
[m]
Gid
GFX
(Ki
= 0.01)
GFX
(Ki
= 0.05)
GFX
(Ki
= 0.1)
GFX
(Ki
= 0.6)
Fig. 2.41: Risposta, ad uno scalino in forza di ampiezza F = 30N, del sistema di controllo
in ammettenza, per diversi valori del guadagno KI
10-2
100
102
104
f [Hz]
-350
-300
-250
-200
-150
-100
Magnitude
[dB]
Gid
GFX
(Ki
=0.01)
GFX
(Ki
=0.05)
GFX
(Ki
=0.1)
GFX
(Ki
=0.6)
10-2
100
102
104
f [Hz]
-180
-160
-140
-120
-100
-80
-60
-40
-20
0
Phase
[deg]
Gid
GFX
(Ki
=0.01)
GFX
(Ki
=0.05)
GFX
(Ki
=0.1)
GFX
(Ki
=0.6)
Fig. 2.42: Diagramma di Bode della funzione di trasferimento GFX, per diversi valori
del guadagno KI
141
Controllo in forza
10-4
10-2
100
102
f [Hz]
-120
-100
-80
-60
-40
-20
0
Magnitude
[dB]
GFF
(Ki
=0.01)
GFF
(Ki
=0.05)
GFF
(Ki
=0.1)
GFF
(Ki
=0.6)
10-4
10-2
100
102
f [Hz]
-100
-90
-80
-70
-60
-50
-40
-30
-20
-10
0
10
Phase
[deg]
GFF
(Ki
=0.01)
GFF
(Ki
=0.05)
GFF
(Ki
=0.1)
GFF
(Ki
=0.6)
Fig. 2.43: Diagramma di Bode della funzione di trasferimento GFF , per diversi valori del
guadagno KI
Per esempio, in Fig.2.44 sono rappresentate le risposte in posizione e in forza del-
l’interfaccia aptica, ad uno scalino in forza di ampiezza F = 30N , ottenute in
simulazione impiegando il modello cedevole e considerando KI = 0.2. Per quanto
riguarda la risposta in posizione, si osserva che converge asintoticamente al valore
di regime desiderato (x = F
K
); tuttavia, si discosta molto dalla risposta in posizio-
ne dell’ambiente ideale che si desidera simulare. La risposta in forza del sistema,
invece, appare notevolmente migliorata rispetto al caso precedente: in particolare,
a parte un transitorio iniziale, tende a convergere, anche se piuttosto lentamente,
ad un valore pari all’ampiezza dello scalino applicato in ingresso, in modo tale che,
almeno a regime, la condizione desiderata Fop = Famb sia verificata. Allo scopo di
migliore le prestazioni del sistema di controllo in ammettenza, si può provare ad
unire gli effetti di una componente proporzionale ed una componente integrativa.
Pertanto, si consideri, ora, di impiegare un regolatore in forza di tipo proporzionale
- integrale, la cui funzione di trasferimento è espressa dalla relazione (2.47).
Rf (s) = Kp +
Ki
s
(2.47)
Le funzioni di trasferimento in anello chiuso GFX e GFF possono essere valutate me-
diante le relazioni (2.48) e (2.49): presentano entrambe tre poli e, rispettivamente,
due e tre zeri. In particolare, i loro poli possiedono una parte reale sempre stret-
142
Progettazione del sistema di controllo aptico in ammettenza
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
Time [s]
-0.05
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
x
[m]
Gid
Simulazione (Mod.Ced)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
Time [s]
0
5
10
15
20
25
30
35
F
amb
[N]
Fig. 2.44: Risposte simulate in posizione e in forza dell’interfaccia aptica ad uno scalino
in forza di ampiezza F=30 N, considerando KI = 0.2
tamente negativa, per qualsiasi valore di KI e di Kp. Pertanto, si può affermare
che il sistema di controllo in ammettenza considerato è asintoticamente stabile, per
qualsiasi valore dei due guadagni.
GFX =
(Kp
Ki
s + 1)(g2s + g1)
( Jm,eq
KazKi
+ g2cKp
Ki
)s3 + g2(1+KpK
Ki
+ g1Kpc
g2Ki
+ c)s2 + g1((1+KpK
Ki
+ c + g2K
g1
)s + K)
(2.48)
GFF =
(Kp
Ki
s + 1)(g2s + g1)(cs + K)
( Jm,eq
KazKi
+ g2cKp
Ki
)s3 + g2(1+KpK
Ki
+ g1Kpc
g2Ki
+ c)s2 + g1((1+KpK
Ki
+ c + g2K
g1
)s + K)
(2.49)
Per quanto riguarda il comportamento statico, grazie alla presenza di una compo-
nente integrativa nel regolatore in forza, le funzioni di trasferimento GFX e GFF
presentano un guadagno statico, rispettivamente, pari a 1
K
e ad 1. In merito, invece,
al comportamento dinamico, i diagrammi di Bode di GFX e GFF risultano essere
molto simili (per valori sufficientemente elevati dei guadagni del regolatore in forza)
a quelli, rispettivamente, dell’ambiente ideale Gid e della funzione di trasferimento
unitaria. Ciò lo si osserva dalle Fig.(2.45) e (2.46), dove sono rappresentati i dia-
grammi di Bode delle funzioni di trasferimento GFX e GFF , considerando Kp = 0.4
e KI = 0.6.
143
Controllo in forza
10-2
10-1
100
101
f [Hz]
-125
-120
-115
-110
-105
-100
-95
-90
-85
Magnitude
[dB]
Gid
GFX
10-2
10-1
100
101
f [Hz]
-80
-70
-60
-50
-40
-30
-20
-10
0
Phase
[deg]
Gid
GFX
Fig. 2.45: Diagramma di Bode di GFX, considerando Kp = 0.4 e Ki = 0.6
10-2
10-1
100
101
102
103
f [Hz]
-45
-40
-35
-30
-25
-20
-15
-10
-5
0
Magnitude
[dB]
10-2
10-1
100
101
102
103
f [Hz]
-90
-80
-70
-60
-50
-40
-30
-20
-10
0
Phase
[deg]
Fig. 2.46: Diagramma di Bode di GFF , considerando Kp = 0.4 e Ki = 0.6
144
Progettazione del sistema di controllo aptico in ammettenza
0 0.1 0.2 0.3 0.4 0.5 0.6
Time [s]
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
x
[m]
Gid
Simulazione (Mod.Ced)
0 0.1 0.2 0.3 0.4 0.5 0.6
Time [s]
0
5
10
15
20
25
30
35
40
45
F
amb
[N]
Fig. 2.47: Risposte simulate in posizione e in forza dell’interfaccia aptica ad uno scalino
in forza di ampiezza F = 30N, considerando Kp = 0.001 e Ki = 0.5
É stata simulata la risposta dell’interfaccia aptica a disposizione ad uno scalino in
forza di ampiezza F = 30 N, utilizzando un sistema di controllo in ammettenza ca-
ratterizzato da un regolare in forza di tipo P-I e rappresentando il sistema mediante
il suo modello cedevole. Mediante tale analisi si è osservato che, nelle suddette
condizioni, è possibile aumentare i guadagni Kp e KI, allo scopo di migliore le pre-
stazioni del sistema di controllo in forza, fino ai seguenti valori limite: Kp = 0.001
e Ki = 0.5. Oltre tali valori, infatti, il sistema inizia a vibrare. In Fig.2.47 sono
rappresentate le risposte in posizione e in forza dell’interfaccia aptica, ad uno sca-
lino in forza di ampiezza F = 30N, ottenute in simulazione utilizzando il modello
cedevole del sistema e considerando Kp = 0.001 e KI = 0.5. Nella Fig.2.48 sono rap-
presentate sovrapposte le risposte simulate, rispettivamente, in posizione e in forza
dell’interfaccia aptica, ad uno scalino in forza di ampiezza pari a 30 N. Esse sono
state ottenute in Simulink impiegando il modello cedevole del sistema e utilizzando
un sistema di controllo in ammettenza caratterizzato da un regolatore in forza di
tipo:
1. proporzionale, con Kp = 0.006;
2. integrale, con KI = 0.2;
145
Controllo in forza
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
Time [s]
-0.05
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
x
[m]
Gid
P (Kp
=0.006)
I (Ki
=0.2)
PI (Kp
=0.001 e Ki
=0.5)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
Time [s]
0
5
10
15
20
25
30
35
40
45
F
[N]
P (Kp
=0.006)
I (Ki
=0.2)
PI (Kp
=0.001 e Ki
=0.5)
Fig. 2.48: Confronto delle risposte simulate in posizione e in forza dell’interfaccia aptica,
ad uno scalino in forza di ampiezza F = 30N
3. proporzionale - integrale , con Kp = 0.001 e KI = 0.5.
Dai suddetti diagrammi si riscontra che, effettivamente, combinando i contributi di
una componente proporzionale e di una integrale nel controllore in forza si ottengono
delle prestazioni del sistema di controllo migliori, rispetto ai casi in cui si impiega
un controllore puramente proporzionale o puramente integrale.
146
Progettazione del sistema di controllo aptico in ammettenza
Risultati sperimentali
In primo luogo, si è provato ad applicare all’interfaccia aptica a disposizione un
sistema di controllo in ammettenza caratterizzato da un regolatore in forza di tipo
proporzionale - integrale, allo scopo di simulare un ambiente visco - elastico. Tut-
tavia, si è riscontrato che l’aggiunta di una componente proporzionale, oltre ad una
integrativa, tende a far vibrare il sistema ed a instabilizzarlo. Pertanto, si è scel-
to di impiegare un sistema di controllo in ammettenza costituito da un controllore
in forza di tipo puramente integrale. Per testare la sua efficacia lo si è applicato
all’interfaccia aptica a disposizione con l’obiettivo di simulare un ambiente visco -
elastico, caratterizzato da una rigidezza K = 90 N
m
e un coefficiente di smorzamento
c = 7 Ns
m
. Sono state svolte diverse prove in cui si è più volte mosso il manipolo
dell’interfaccia avanti e indietro tra i due fine - corsa e si è misurato lo spostamento e
la velocità lineare del manipolo, la forza applicata dall’operatore e la forza generata
dall’ambiente virtuale preso in considerazione. Inoltre, è stata importata in ambien-
te Simulink la forza operatore Fop, in modo tale da ottenere la risposta in posizione
dell’ambiente ideale in esame e confrontarla con quella dell’interfaccia aptica a di-
sposizione. Nelle Fig.2.49, Fig.2.50, Fig.2.51 e Fig.2.52 sono riportati gli andamenti,
in funzione del tempo, dello spostamento e della velocità lineare del manipolo, della
forza esercitata dall’operatore su quest’ultimo e della forza generata dall’ambiente
virtuale, durante lo svolgimento di una delle prove.
147
Controllo in forza
0 5 10 15 20 25 30 35 40
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
Fig. 2.49: Spostamento del manipolo, durante la simulazione di un ambiente visco -
elastico caratterizzato da: k = 90N
m e c = 7Ns
m
0 5 10 15 20 25 30 35 40
Time [s]
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
v
[m/s]
Fig. 2.50: Velocità lineare del manipolo, durante la simulazione di un ambiente visco -
elastico caratterizzato da: k = 90N
m e c = 7Ns
m
148
Progettazione del sistema di controllo aptico in ammettenza
0 5 10 15 20 25 30 35 40
Time [s]
-50
-40
-30
-20
-10
0
10
20
30
40
50
F
op
[N]
Fig. 2.51: Forza applicata dall’operatore sul manipolo, durante la simulazione di un am-
biente visco - elastico caratterizzato da: k = 90N
m e c = 7Ns
m
0 5 10 15 20 25 30 35 40
Time [s]
-50
-40
-30
-20
-10
0
10
20
30
40
50
F
amb
[N]
Fig. 2.52: Forza generata dall’ambiente virtuale, durante la simulazione di un ambiente
visco - elastico caratterizzato da: k = 90N
m e c = 7Ns
m
149
Controllo in forza
0 5 10 15 20 25 30 35 40
Time [s]
-50
-40
-30
-20
-10
0
10
20
30
40
50
F
[N]
Famb
Fop
Fig. 2.53: Andamenti sovrapposti di Fop e Famb, durante la simulazione di un ambiente
visco - elastico caratterizzato da: k = 90N
m e c = 7Ns
m
In Fig.2.53 sono rappresentati sovrapposti gli andamenti, in funzione del tempo,
delle forze Fop e Famb, mentre in Fig.2.54 è riportato l’andamento dell’errore in
forza, valutato come la differenza tra la forza esercitata dall’operatore sul manipolo
e la forza generata dall’ambiente virtuale. Dai diagrammi si riscontra che:
• la forza massima applicata dall’operatore è pari a 46.80 N;
• l’errore massimo in forza è pari a 8.0195 N.
Pertanto, si può concludere che l’errore massimo in forza risulta essere pari al 17.14%
della forza Fop massima.
150
Progettazione del sistema di controllo aptico in ammettenza
0 5 10 15 20 25 30 35 40
Time [s]
-10
-8
-6
-4
-2
0
2
4
6
8
err
F
[N]
Fig. 2.54: Errore in forza, durante la simulazione di un ambiente visco - elastico carat-
terizzato da: k = 90N
m e c = 7Ns
m
In Fig.2.55 sono rappresentati sovrapposti gli andamenti, in funzione del tempo,
delle risposte dell’ambiente ideale considerato e dell’interfaccia aptica controllata
mediante una strategia di controllo in ammettenza. In Fig.2.56 è riportato, invece,
l’errore in posizione, in funzione del tempo. Dai diagrammi si riscontra che:
• lo spostamento massimo compiuto dal manipolo è pari a 0.47 m;
• l’errore massimo in posizione è pari a 0.082 m.
Pertanto, si può concludere che l’errore percentuale massimo in posizione risulta
essere pari al 17.53% dello spostamento massimo del manipolo.
151
Controllo in forza
0 5 10 15 20 25 30 35 40
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
Molla ideale
Banchetto
Fig. 2.55: Andamenti sovrapposti delle risposte in posizione di un ambiente visco - elasti-
co, caratterizzato da: k = 90N
m e c = 7Ns
m , e dell’interfaccia aptica controllata
in ammettenza.
0 5 10 15 20 25 30 35 40
Time [s]
-0.1
-0.08
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1
err
x
[m]
Fig. 2.56: Errore in posizione, durante la simulazione di un ambiente visco - elastico
caratterizzato da: k = 90N
m e c = 7Ns
m .
152
Progettazione del sistema di controllo aptico in ammettenza
Per valutare l’effetto della velocità, con cui viene mosso il manipolo, sulle prestazioni
del sistema di controllo, si è svolta la medesima prova spostando il manipolo con delle
velocità più sostenute, con picchi intorno a 0.89 m
s
, quindi più del doppio rispetto
al caso precedente. In Fig.2.57 sono riportati i risultati sperimentali della suddetta
prova. Si può osservare che:
• la forza massima esercitata dall’operatore sul manipolo è pari a 48.66 N;
• l’errore massimo in forza è pari a 24.89 N;
• lo spostamento massimo compiuto dal manipolo è pari a 0.47 m;
• l’errore massimo in posizione è pari a 0.27 m.
Pertanto, si può affermare che l’errore percentuale massimo in forza è pari al 51.15%
della massima forza Fop, mentre l’errore percentuale massimo in posizione è pari al
57.12% del massimo spostamento del manipolo. Si noti che, in questo secondo caso,
gli errori massimi percentuali in forza e in posizione sono molto più elevati, circa
il triplo, rispetto al primo caso e, ovviamente, non sono accettabili. Pertanto, da
questa prima analisi svolta si può concludere che, maggiore è la velocità con cui
si muove il manipolo, più elevati sono gli errori percentuali massimi in posizione
e in forza che vengono commessi. Ciò è dovuto al fatto che, movimentando più
rapidamente il manipolo, si applica in ingresso al sistema di controllo in ammettenza
un riferimento in forza Fop con una dinamica più veloce, di conseguenza, compie
maggior fatica a seguire tale set-point e, pertanto, gli errori che si ottengono sono
più elevati. Ciò lo si può riscontrare in Fig.2.58, dove sono rappresentati sovrapposti
gli andamenti, in funzione del tempo, della forza operatore e della forza ambiente
durante le due prove svolte per simulare un ambiente visco - elastico caratterizzato
da K = 90 N
m
e c = 7 Ns
m
, in un caso a basse e nell’altro a più sostenute velocità
lineari del manipolo. In entrambi i casi, si riscontra che la forza ambiente è in
ritardo rispetto alla forza operatore, coerentemente con il fatto che la seconda è il
segnale di riferimento applicato in ingresso al sistema di controllo in anello chiuso,
mentre la prima è la risposta di quest’ultimo a tale riferimento. Tuttavia, si può
osservare che, muovendo il manipolo a delle velocità più sostenute, la forza applicata
153
Controllo in forza
dall’operatore ha una dinamica più veloce e il ritardo di Famb rispetto a Fop è più
elevato, in quanto il sistema in anello chiuso fa più fatica ad inseguire il riferimento
applicatovi in ingresso e, pertanto, l’errore risulta essere più elevato.
154
Progettazione del sistema di controllo aptico in ammettenza
0 5 10 15 20 25
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
0 5 10 15 20 25
Time [s]
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
v
[m/s]
0 5 10 15 20 25
Time [s]
-50
-40
-30
-20
-10
0
10
20
30
40
50
F
op
[N]
0 5 10 15 20 25
Time [s]
-50
-40
-30
-20
-10
0
10
20
30
40
50
F
amb
[N]
0 5 10 15 20 25
Time [s]
-25
-20
-15
-10
-5
0
5
10
15
20
25
err
F
[N]
0 5 10 15 20 25
Time [s]
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
err
x
[m]
Fig. 2.57: Risultati sperimentali della simulazione di un ambiente visco - elastico con
K = 90N
m e c = 7Ns
m , a velocità sostenute
155
Controllo in forza
0 5 10 15 20 25 30 35 40
Time [s]
-50
-40
-30
-20
-10
0
10
20
30
40
50
F
[N] Famb
Fop
(a) Basse velocità
0 5 10 15 20 25
Time [s]
-50
-40
-30
-20
-10
0
10
20
30
40
50
F
[N]
Famb
Fop
(b) Alte velocità
Fig. 2.58: Confronto tra forza operatore e forza ambiente, durante le simulazioni di un
ambiente visco - elastico con K = 90N
m e c = 7Ns
m , a basse e a più sostenute
velocità lineari del manipolo
Per studiare come si modificano le prestazioni del sistema di controllo in ammetten-
za, al variare delle caratteristiche (c e K) dell’ambiente visco - elastico che si desidera
simulare, si è svolto numerose prove considerando diversi sistemi molla - smorzatore.
Ad esempio, un’analisi interessante che si è condotto è stata quella di valutare come
variano gli errori in posizione e in forza, modificando il coefficiente di smorzamento
c dell’ambiente virtuale, a parità di rigidezza K. Nelle Fig.2.59, Fig.2.60 e Fig.2.61
sono riportati i risultati sperimentali delle prove svolte, per simulare ambienti visco
- elastici diversi, caratterizzati dalla medesima rigidezza K, pari a 90N
m
, e da un
diverso coefficiente di smorzamento c (1 e 20Ns
m
). Allo stesso modo, si è analizzato
come si modificano le prestazioni del sistema di controllo in ammettenza progettato,
al variare della rigidezza K e a parità di coefficiente di smorzamento c dell’ambiente
visco - elastico in esame. A tale scopo, sono stati confrontati i risultati sperimentali
ottenuti, per esempio, simulando un ambiente molla - smorzatore con c = 20 Ns
m
e
K = 90 N
m
(Fig.2.59) con quelli ricavati simulando un ambiente ideale caratterizzato
da c = 20 Ns
m
e k = 45 N
m
(Fig.2.62).
156
Progettazione del sistema di controllo aptico in ammettenza
0 10 20 30 40 50
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
(a) Spostamento manipolo
0 10 20 30 40 50
Time [s]
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
v
[m/s]
(b) Velocità manipolo
0 10 20 30 40 50
Time [s]
-60
-40
-20
0
20
40
60
80
F
op
[N]
(c) Forza operatore
0 10 20 30 40 50
Time [s]
-50
-40
-30
-20
-10
0
10
20
30
40
50
F
amb
[N]
(d) Forza ambiente
0 10 20 30 40 50
Time [s]
-30
-20
-10
0
10
20
30
err
F
[N]
(e) Errore in forza
0 10 20 30 40 50
Time [s]
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
err
x
[m]
(f) Errore in posizione
Fig. 2.59: Risultati sperimentali della simulazione di un ambiente visco - elastico con
K = 90N
m e c = 20Ns
m , a velocità basse
157
Controllo in forza
0 5 10 15 20 25 30 35 40 45 50
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
(a) Spostamento manipolo
0 5 10 15 20 25 30 35 40 45 50
Time [s]
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
v
[m/s]
(b) Velocità manipolo
0 5 10 15 20 25 30 35 40 45 50
Time [s]
-50
-40
-30
-20
-10
0
10
20
30
40
50
F
op
[N]
(c) Forza operatore
0 5 10 15 20 25 30 35 40 45 50
Time [s]
-50
-40
-30
-20
-10
0
10
20
30
40
50
F
amb
[N]
(d) Forza ambiente
0 5 10 15 20 25 30 35 40 45 50
Time [s]
-15
-10
-5
0
5
10
err
F
[N]
(e) Errore in forza
0 5 10 15 20 25 30 35 40 45 50
Time [s]
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
err
x
[m]
(f) Errore in posizione
Fig. 2.60: Risultati sperimentali della simulazione di un ambiente visco - elastico con
K = 90N
m e c = 1Ns
m , a velocità basse
158
Progettazione del sistema di controllo aptico in ammettenza
0 5 10 15 20 25 30
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
(a) Spostamento manipolo
0 5 10 15 20 25 30
Time [s]
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
v
[m/s]
(b) Velocità manipolo
0 5 10 15 20 25 30
Time [s]
-50
-40
-30
-20
-10
0
10
20
30
40
50
F
op
[N]
(c) Forza operatore
0 5 10 15 20 25 30
Time [s]
-50
-40
-30
-20
-10
0
10
20
30
40
50
F
amb
[N]
(d) Forza ambiente
0 5 10 15 20 25 30
Time [s]
-30
-20
-10
0
10
20
30
err
F
[N]
(e) Errore in forza
0 5 10 15 20 25 30
Time [s]
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
err
x
[m]
(f) Errore in posizione
Fig. 2.61: Risultati sperimentali della simulazione di un ambiente visco - elastico con
K = 90N
m e c = 1Ns
m , a velocità sostenute.
159
Controllo in forza
0 5 10 15 20 25 30 35 40
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
(a) Spostamento manipolo
0 5 10 15 20 25 30 35 40
Time [s]
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
v
[m/s]
(b) Velocità manipolo
0 5 10 15 20 25 30 35 40
Time [s]
-40
-30
-20
-10
0
10
20
30
40
F
op
[N]
(c) Forza operatore
0 5 10 15 20 25 30 35 40
Time [s]
-25
-20
-15
-10
-5
0
5
10
15
20
25
F
amb
[N]
(d) Forza ambiente
0 5 10 15 20 25 30 35 40
Time [s]
-20
-15
-10
-5
0
5
10
15
20
err
F
[N]
(e) Errore in forza
0 5 10 15 20 25 30 35 40
Time [s]
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
err
x
[m]
(f) Errore in posizione
Fig. 2.62: Risultati sperimentali della simulazione di un ambiente visco - elastico con
K = 45N
m e c = 20Ns
m , a velocità sostenute.
160
Progettazione del sistema di controllo aptico in ammettenza
Nella tabella 2.2 sono riportati i risultati sperimentali, in termini di massima velo-
cità lineare del manipolo ed errori percentuali massimi in forza e in posizione, delle
prove svolte per simulare ambienti visco - elastici diversi. Innanzitutto, si può notare
che, a parità di rigidezza K, aumentando il coefficiente di smorzamento, diminui-
sce la frequenza propria dell’ambiente ideale che si desidera simulare, ovvero la sua
dinamica diventa più lenta, e, pertanto, ci si aspetta che il sistema di controllo in
ammettenza riesca a simulare meglio il suo comportamento. In realtà, dai risultati
riportati nella tabella 2.2 si riscontra un comportamento opposto: a parità di rigidez-
za K e di velocità lineare ẋ con cui viene movimentato il manipolo, incrementando
il coefficiente di smorzamento c dell’ambiente virtuale da 7 Ns
m
a 20 Ns
m
, aumentano
gli errori percentuali massimi in forza e in posizione. In altri termini, diminuisce la
velocità massima con cui si può movimentare il manipolo, senza ottenere degli errori
in forza o in posizione eccessivamente elevati. Inoltre, si può notare che, riducendo
il coefficiente di smorzamento c da 7Ns
m
a 1 Ns
m
e mantenendo la rigidezza K costante
e pari a 90 N
m
, la frequenza propria dell’ambiente virtuale passa da 2.05 1
s
a 14.32 1
s
e diventa, quindi, notevolmente superiore alla frequenza dell’anello esterno in forza
del sistema di controllo in ammettenza. Pertanto, ci si aspetta che le prestazioni di
quest’ultimo diminuiscano notevolmente, perchè l’ambiente che si desidera simulare
presenta una dinamica troppo veloce. Tuttavia, in realtà, si riscontra che gli errori
percentuali massimi in posizione e in forza aumentano, ma non di molto, contraria-
mente a quanto atteso. Mantenendo costante il coefficiente di smorzamento c (pari
a 20 Ns
m
) e riducendo, invece, la rigidezza K dell’ambiente ideale da 90 N
m
a 45 N
m
, la
frequenza propria dell’ambiente virtuale si dimezza, ovvero la sua dinamica diventa
più lenta, e, quindi, ci si aspetta che le prestazioni del sistema di controllo in anello
chiuso aumentino. In realtà, si riscontra dalla tabella 2.2 che, a parità di velocità
con cui si movimenta il manipolo, gli errori percentuali massimi in posizione e in
forza aumentano, ovvero il comportamento del sistema in anello chiuso peggiora.
Pertanto, dai risultati sperimentali ottenuti, si può concludere che le prestazioni del
sistema di controllo in ammettenza progettato migliorano al crescere della rigidezza
K e al diminuire del coefficiente di smorzamento c dell’ambiente visco - elastico che
si desidera simulare. Per comprendere quali dei due parametri (c e K) gioca un ruolo
161
Controllo in forza
K
K
K [N
m
]
[N
m
]
[N
m
] c
c
c [Ns
m
]
[Ns
m
]
[Ns
m
] ωn
ωn
ωn [rad
s
]
[rad
s
]
[rad
s
] fn
fn
fn [Hz]
[Hz]
[Hz] ẋmax
ẋmax
ẋmax [m
s
]
[m
s
]
[m
s
] errF
errF
errF [%]
[%]
[%] errx
errx
errx [%]
[%]
[%] Ki
Ki
Ki
90 7 12.86 2.05 0.30 17.14 17.53 0.035
90 7 12.86 2.05 0.89 51.15 57.12 0.035
90 20 4.50 0.72 0.31 43.14 62.51 0.010
90 1 90 14.32 0.37 22.63 24.68 0.030
90 1 90 14.32 0.84 54.72 63.33 0.030
45 20 2.25 0.36 0.29 51.06 77.11 0.010
150 11.67 12.86 2.05 0.27 13.55 14.27 0.025
150 11.67 12.86 2.05 0.88 44.30 48.91 0.025
Tabella 2.2: Risultati sperimentali delle prove svolte per simulare differenti ambienti
visco - elastici.
più importante, si è confrontato i risultati sperimentali ottenuti simulando un siste-
ma molla - smorzatore con K = 90 N
m
e c = 7 Ns
m
con quelli ricavati considerando un
ambiente ideale caratterizzato da K = 150 N
m
e c = 11.67 Ns
m
(Fig.2.63 e Fig.2.64).
I due suddetti ambienti visco - elastici presentano la medesima frequenza naturale,
pari a fn = 2.05 Hz. In particolare, si è notato che, a parità di velocità lineare
con cui si è movimentato il manipolo dell’interfaccia, gli errori percentuali massimi
in forza e in posizione, commessi nella simulazione dell’ambiente virtuale con una
rigidezza K e un coefficiente di smorzamento c più elevati, sono minori. Pertan-
to, si può affermare che il parametro dell’ambiente virtuale preso in considerazione,
che influenza maggiormente le prestazioni del sistema di controllo in ammettenza
progettato, è la sua rigidezza k.
162
Progettazione del sistema di controllo aptico in ammettenza
0 10 20 30 40 50 60
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
(a) Spostamento manipolo
0 10 20 30 40 50 60
Time [s]
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
v
[m/s]
(b) Velocità manipolo
0 10 20 30 40 50 60
Time [s]
-80
-60
-40
-20
0
20
40
60
80
F
op
[N]
(c) Forza operatore
0 10 20 30 40 50 60
Time [s]
-80
-60
-40
-20
0
20
40
60
80
F
amb
[N]
(d) Forza ambiente
0 10 20 30 40 50 60
Time [s]
-15
-10
-5
0
5
10
15
err
F
[N]
(e) Errore in forza
0 10 20 30 40 50 60
Time [s]
-0.08
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
err
x
[m]
(f) Errore in posizione
Fig. 2.63: Risultati sperimentali della simulazione di un ambiente visco - elastico con
k = 150N
m e c = 11.667Ns
m , a velocità basse.
163
Controllo in forza
0 5 10 15 20 25 30
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
(a) Spostamento manipolo
0 5 10 15 20 25 30
Time [s]
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
v
[m/s]
(b) Velocità manipolo
0 5 10 15 20 25 30
Time [s]
-80
-60
-40
-20
0
20
40
60
80
F
op
[N]
(c) Forza operatore
0 5 10 15 20 25 30
Time [s]
-80
-60
-40
-20
0
20
40
60
80
F
amb
[N]
(d) Forza ambiente
0 5 10 15 20 25 30
Time [s]
-40
-30
-20
-10
0
10
20
30
40
err
F
[N]
(e) Errore in forza
0 5 10 15 20 25 30
Time [s]
-0.25
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
0.25
err
x
[m]
(f) Errore in posizione
Fig. 2.64: Risultati sperimentali della simulazione di un ambiente visco - elastico con
K = 150N
m e c = 11.667Ns
m , a velocità sostenute.
164
Progettazione del sistema di controllo aptico in ammettenza
Conclusioni
Il sistema di controllo in ammettenza progettato è in grado di simulare con delle
discrete prestazioni ambienti visco - elastici con rigidezze sufficientemente elevate e
con bassi coefficienti di smorzamento c. Inoltre, per ottenere dei risultati, in termini
di errori in forza e in posizione, adeguati è necessario movimentare il manipolo del-
l’interfaccia aptica con delle velocità lineari piuttosto basse, inferiori a circa 0.3−0.4
m
s
. Se si movimenta il manipolo con delle velocità più elevate, le ”performance” del
sistema di controllo diventano estremamente basse e non sono per nulla accettabili,
anche se si simulano ambienti ideali molto rigidi e poco smorzati.
165
Controllo in forza
2.2.3 Ambiente completo
Descrizione ambiente ideale
L’ambiente che si intende replicare sul banco di prova simula il comportamento di un
sistema meccanico a un grado di libertà avente caratteristiche cedevoli, dissipative
ed inerziali: i parametri essenziali sono pertanto la rigidezza K, lo smorzamento
C e la massa M. L’obiettivo che si vuole perseguire con questo ambiente è far
percepire all’operatore che sposta il manipolo dalla sua condizione di equilibrio, una
forza derivante da tre contributi: quello inerziale e quelli legati alla cedevolezza e
alla componente dissipativa del sistema. L’ambiente ideale è definito dalla seguente
equazione dinamica:
M · ẍ + c · ẋ + k · x = F (2.50)
che è possibile riscrivere in termini di funzione di trasferimento, dall’ingresso espresso
dalla forzante F all’uscita rappresentata dal segnale di posizione x:
Gid =
1
M · s2 + c · s + k
(2.51)
Per svolgere sia lo studio del sistema ideale che, successivamente del sistema di con-
trollo, viene scelto un ambiente di riferimento caratterizzato dai seguenti parametri:
• M=3 kg;
• C=1 Ns
m
;
• K=50 N
m
.
Essendo un sistema del secondo ordine ed avendo, con i valori di M, C e K scelti,
due poli complessi coniugati, è possibile rappresentare la (2.51) nella forma comune:
Gid =
1
s2 + 2 · ξ · ωn · s + ω2
n
(2.52)
in cui ξ ed ωn sono rispettivamente lo smorzamento e la pulsazione naturale dei poli
del sistema. Il sistema derivante dall’ambiente scelto ha poli con pulsazione naturale
e smorzamento pari a:
• ωn=4.0825 rad
s
= 0.65 Hz;
166
Progettazione del sistema di controllo aptico in ammettenza
• ξ = 0.041;
Si sottolinea come, essendo il controllo in ammettenza caratterizzato da un anel-
lo interno, costituito dal blocco del posizionatore, e dall’anello esterno di forza, il
primo, avente frequenza critica di 23 Hz, deve essere molto più veloce del secondo,
convenzionalmente almeno di 10 volte. L’ambiente ideale deve quindi avere una
frequenza critica inferiore a circa 2,3 Hz. In Fig.2.65 viene mostrato il diagramma
di Bode di modulo e fase di (2.51): è ben evidente la presenza dei poli complessi
coniugati cosı̀ come il valore del guadagno statico pari a 1
K
= 0.02. Sulla base dei
10-1
100
101
f [Hz]
-100
-50
0
Magnitude
[dB]
10-1
100
101
f [Hz]
-200
-150
-100
-50
0
Phase
[deg]
Fig. 2.65: Diagramma di Bode di modulo e fase dell’ambiente ideale caratterizzato da
M=3 kg, C= 1 Ns
m e K=50 N
m
diagrammi di Bode, ci si aspetta che applicando in ingresso al sistema uno scalino in
forza di 30 N, la risposta presenti un transitorio oscillante prima di convergere alla
posizione di regime di 0.6 m (Fig.2.66). I principali parametri che caratterizzano la
risposta allo scalino sono:
• tempo d’assestamento ta = 5
wn·ξ
= 30 s;
• periodo di eventuali oscillazioni T = 2·π
ωn·
√
1−ξ2
= 1.54 s;
• tempo dell’eventuale primo picco ta = T
2
= 0.77 s.
167
Controllo in forza
0 5 10 15 20 25 30 35 40 45 50
[s]
0
0.2
0.4
0.6
0.8
1
1.2
[m]
Fig. 2.66: Andamento nel tempo della risposta del sistema ideale applicando in ingresso
uno scalino di 30 N
Sintesi del regolatore di forza
La realizzazione dell’ambiente ideale sul banco di prova richiede il progetto di un
sistema di controllo in ammettenza, quindi di un regolatore di forza: le funzioni di
trasferimento in anello chiuso a cui far riferimento sono GFF e GFX, che ricevono
entrambe in ingresso la forza introdotta dall’ operatore e forniscono in uscita, in
un caso la forza ambiente mentre nell’altro la posizione del carrello. Lo schema a
blocchi implementato in Simulink per la realizzazione dell’ambiente in questione è
mostrato in Fig.2.67: l’ambiente virtuale riceve in ingresso i segnali di posizione,
di velocità e di accelerazione del carrello per poter generare la forza ambiente, la
quale viene confrontata con quella introdotta dall’operatore, per determinare l’errore
in forza che costituisce l’ingresso al regolatore. Quest’ultimo genera il riferimento
di posizione da fornire al posizionatore, che considera al suo interno il modello del
sistema. Inoltre, per avere una simulazione il più possibile aderente a ciò che succede
sul sistema fisico, lo schema Simulink mostra come in questo caso si tenga conto che
la forza introdotta dall’utente agisce direttamente anche sul sistema. Considerando
quindi l’intero di sistema di controllo in ammettenza che include il regolatore di
forza, il posizionatore e l’ambiente virtuale stesso, le funzioni di trasferimento dalla
forza introdotta dall’operatore (Fop) alla forza ambiente (Famb) e alla posizione del
168
Progettazione del sistema di controllo aptico in ammettenza
Fig. 2.67: Schema a blocchi Simulink del sistema di controllo in ammettenza - Ambiente
completo
carrello, rispettivamente GFF e GFX, hanno espressione
GFF =
Gppos · Gamb · Rf
1 + Gamb · Gamb · Rf
(2.53)
GFX =
Gppos · Rf
1 + Gppos · Gamb · Rf
(2.54)
in cui Rf è la funzione di trasferimento del generico regolatore di forza e Gamb
è la funzione di trasferimento dell’ambiente virtuale (Gamb), determinabile come
l’inverso di quella dell’ambiente ideale Gid. Il sistema di controllo, per riprodurre
efficacemente l’ambiente virtuale desiderato, deve poter realizzare
1. GFF con modulo unitario su una più ampia banda possibile in modo che la
forza dell’operatore sia pari a quella generata dall’ambiente;
2. GFX=Gamb in modo da simulare sul banco il comportamento dell’ambiente
ideale desiderato.
Riguardo il regolatore di forza, si è scelto di utilizzare un doppio integratore, uni-
vocamente definito da un parametro (KI) poichè caratterizzato dalla funzione di
trasferimento:
Rf =
KI
s2
(2.55)
169
Controllo in forza
0 0.1 0.2 0.3 0.4 0.5 0.6
KI
-400
-200
0
200
400
Real(p
i
)
Real(p1
)
Real(p2
)
Real(p3
)
Real(p4
)
0 0.1 0.2 0.3 0.4 0.5 0.6
KI
-10
-5
0
5
10
Imag(p
i
)
Imag(p1
)
Imag(p2
)
Imag(p3
)
Imag(p4
)
Fig. 2.68: Andamento dei poli di GFF e GFX al variare di KI - Ambiente completo
Introducendo (2.55) in (2.54), e ricordando l’espressione della funzione di trasferi-
mento del posizionatore (1.63), si ottiene:
GFX =
KI · (a · s + b)
s2 · (s2 + a · s + b) · (M · s2 + C · s + K) + KI · (a · s + b)
(2.56)
GFF =
KI · (a · s + b) · (M · s2
+ C · s + K)
s2 · (s2 + a · s + b) · (M · s2 + C · s + K) + KI · (a · s + b)
(2.57)
Le (2.57) hanno il medesimo denominatore e sono del quarto ordine: prendendo
quindi un ambiente di riferimento caratterizzato da M=3 kg, C=1 Ns
m
e K=50 N
m
,
si esegue lo studio della natura dei poli. In particolare, al variare di parametro del
regolatore KI, come evidenziabile in Fig.2.68, si osserva la presenza di due poli com-
plessi coniugati e due reali distinti per valori di KI superiori a circa 0.347, mentre
quattro poli complessi coniugati per valori inferiori, tutti a parte reale negativa. Per
ciò che riguarda gli zeri, indipendentemente dal valore di KI, GFF ne possiede 3,
due complessi coniugati ed uno reale, mentre GFF soltanto uno reale. Dalle (2.57)
si ricavano i guadagni statici di GFF e GFX rispettivamente pari a µGF F
= 1 e
µGF X
= 1
K
, come desiderato. In Fig.2.69 vengono mostrati i diagrammi di Bode del
modulo di GFF e GFX riferiti all’ambiente virtuale scelto e per KI = 0.2: si osserva
come GFX sia uguale a Gamb su un ampio range di frequenze, mentre GFX abbia
le prestazioni statiche desiderate. Essendo il regolatore caratterizzato da un unico
parametro, è importante valutare le prestazioni del sistema di controllo al variare
170
Progettazione del sistema di controllo aptico in ammettenza
10-1
100
101
102
103
f [Hz]
-40
-20
0
20
40
Magnitude
[dB]
10-1
100
101
102
103
f [Hz]
-200
-150
-100
-50
0
Phase
[deg]
(a) GF F
10-1
100
101
102
103
f [Hz]
-200
-150
-100
-50
0
Magnitude
[dB]
10-1
100
101
102
103
f [Hz]
-300
-200
-100
0
Phase
[deg]
(b) GF X
Fig. 2.69: Diagrammi di Bode del modulo di GFF e GFX utilizzando un doppio integra-
tore con controllo in ammettenza - Ambiente completo
di esso. In particolare, esaminando il diagramma di Bode di GFF al variare di KI
si osserva che per valori elevati di quest’ultimo, i poli complessi in alta frequenza
diventano reali e i tre zeri di GFF tendono a cancellare tre poli, i due complessi
coniugati a pulsazione inferiore e uno dei due reali, lasciando inalterato il polo in
alta frequenza, responsabile quindi del comportamento del sistema (Fig.2.70). In
sostanza, valori elevati di KI consentono di ottenere le prestazioni desiderate, ossia
GFF con modulo unitario per un ampio range di frequenze. Relativamente GFX
invece, ha lo stesso denominatore di GFF , ma numeratore di primo grado: ciò che
accade, è che aumentando il KI, lo zero tende a cancellare un polo reale, lasciando
pertanto una coppia di poli complessi coniugati e un polo reale in alta frequenza. Il
diagramma di Bode del modulo di GFX al variare di KI è mostrato in Fig.2.71: le
differenze sono minime in quanto le cancellazioni polo-zero riguardano il comporta-
mento in alta frequenza, ma ciò che è rilevante ai fini del controllo è che utilizzando
valori elevati di KI, GFX somiglia sempre più alla funzione di trasferimento dell’am-
biente ideale Gid. In altre parole, GFX, per elevati valori del KI, è approssimabile
come una funzione del secondo ordine con due poli complessi coniugati, proprio come
l’ambiente ideale che si vuole simulare.
171
Controllo in forza
100
101
102
103
104
f [Hz]
-30
-20
-10
0
10
20
30
Magnitude
[dB]
KI
=1
KI
=5
KI
=9
KI
=13
KI
=17
Fig. 2.70: Diagramma di Bode del modulo di GFF al variare del parametro KI del rego-
latore - Ambiente completo
10-1
100
101
f [Hz]
-80
-70
-60
-50
-40
-30
-20
-10
0
Magnitude
[dB]
KI
=1
KI
=5
KI
=9
KI
=13
KI
=17
Gid
Fig. 2.71: Diagramma di Bode del modulo di GFX al variare del parametro KI del
regolatore - Ambiente completo
172
Progettazione del sistema di controllo aptico in ammettenza
0 1 2 3 4 5 6 7 8 9 10
KI
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
n
[rad/s]
n
sistema
n
ideale
(a) ωn
0 1 2 3 4 5 6 7 8 9 10
KI
0
0.005
0.01
0.015
0.02
0.025
0.03
0.035
0.04
0.045
0.05
sistema
ideale
(b) ξ
Fig. 2.72: Pulsazione naturale e smorzamento dei poli dominanti in anello chiuso della
funzione di trasferimento GFX - Ambiente completo
La Fig.2.72 mostra come incrementando il valore di KI, la pulsazione naturale e
lo smorzamento dei poli complessi coniugati tendono a quelli dell’ambiente ideale
che si desidera simulare. Analizzato l’effetto, per mezzo dei diagrammi di Bode,
dell’utilizzo di un regolatore di tipo doppio integratore, si verificano le considerazioni
fatte procedendo con la simulazione in Simulink. In particolare, si mostrano due
risultati ottenuti considerando l’ambiente di riferimento (M=3 kg, C=1 Ns
m
e K=50
N
m
), utilizzando in una KI = 0.2 e nell’altra KI = 100 ed applicando in ingresso
uno scalino di forza pari a 30 N (Fig.2.73). Come già anticipato, l’utilizzo di bassi
valori di KI non permette al sistema di controllo di replicare esattamente l’ambiente
ideale desiderato: per ottenere il risultato atteso, è necessario impiegare KI elevati.
In conclusione, dalle considerazioni fatte, l’utilizzo di un doppio integratore come
regolatore di forza permette di simulare correttamente l’ambiente ideale desiderato
purchè si usino valori appropriati e quindi cospicui per KI. Si anticipa già come sul
banco di prova non si potranno impiegare valori tali valori di KI poichè rendono il
sistema vibrante e quindi instabile.
173
Controllo in forza
0 10 20 30 40 50 60 70 80
[s]
0
0.2
0.4
0.6
0.8
1
1.2
[m]
xcontrollo
xideale
(a) KI = 0.2
0 5 10 15 20 25 30 35 40
[s]
0
0.2
0.4
0.6
0.8
1
1.2
[m]
xcontrollo
xideale
(b) KI = 100
Fig. 2.73: Risposte del sistema di controllo allo scalino in forza di 30 N considerando
valori diversi di KI - Ambiente completo
Risultati sperimentali
Per validare lo schema di controllo simulato, lo si implementa sul banco di prova con
l’obiettivo di fare percepire all’utente il comportamento di un sistema a un grado
di libertà caratterizzato da massa M=3kg, smorzamento C=1 Ns
m
e rigidezza K=50
N
m
. Le prove condotte consistono nello spostare il manipolo dalla posizione centra-
le verso prima un finecorsa e successivamente verso l’altro: essendo un ambiente
dinamico è significativo condurre dei test sia a velocità medio basse che più soste-
nute. Vengono acquisiti i segnali di posizione, velocità ed accelerazione del carrello,
la forza introdotta dall’operatore e la forza generata dall’ambiente e mostrati nelle
Fig.2.74,Fig.2.75,Fig.2.76,Fig.2.77,Fig.2.78,Fig.2.79. Per la prova condotta è stato
utilizzato KI = 0.8 e si sono ottenuti i seguenti valori:
• spostamento massimo del carrello pari a 0.4136 m;
• velocità massima del carrello pari a 0.35 m
s
;
• accelerazione massima del carrello pari a 0.9882 m
s2 ;
• forza massima introdotta dall’operatore pari a 20.83 N.
174
Progettazione del sistema di controllo aptico in ammettenza
0 5 10 15 20 25 30 35 40 45
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
Fig. 2.74: Spostamento del manipolo, durante la simulazione di un ambiente completo
caratterizzato da M=3 kg, C=1 Ns
m e K=50 N
m , con controllo in ammettenza
0 5 10 15 20 25 30 35 40 45
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
v
[m/s]
Fig. 2.75: Velocità del manipolo, durante la simulazione di un ambiente completo carat-
terizzato da M=3 kg, C=1 Ns
m e K=50 N
m , con controllo in ammettenza
175
Controllo in forza
0 5 10 15 20 25 30 35 40 45
Time [s]
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
a
[m/s
2
]
Fig. 2.76: Accelerazione del manipolo, durante la simulazione di un ambiente completo
caratterizzato da M=3 kg, C=1 Ns
m e K=50 N
m , con controllo in ammettenza
0 5 10 15 20 25 30 35 40 45
Time [s]
-30
-20
-10
0
10
20
30
F
op
[N]
Fig. 2.77: Forza applicata dall’operatore sul manipolo, durante la simulazione di un am-
biente completo caratterizzato da M=3 kg, C=1 Ns
m e K=50 N
m , con controllo
in ammettenza
176
Progettazione del sistema di controllo aptico in ammettenza
0 5 10 15 20 25 30 35 40 45
Time [s]
-30
-20
-10
0
10
20
30
F
amb
[N]
Fig. 2.78: Forza generata dall’ambiente virtuale, durante la simulazione di un ambiente
completo caratterizzato da M=3 kg, C=1 Ns
m e K=50 N
m , con controllo in
ammettenza
0 5 10 15 20 25 30 35 40 45
Time [s]
-30
-20
-10
0
10
20
30
F
op
,
F
amb
[N]
Fop
Famb
Fig. 2.79: Andamenti sovrapposti di Fop e Famb, durante la simulazione di un ambiente
completo caratterizzato da M=3 kg, C=1 Ns
m e K=50 N
m , con controllo in
ammettenza
177
Controllo in forza
Per valutare l’efficacia del sistema di controllo implementato si calcola l’errore in
forza (Fig.2.80), valutato come la differenza la forza operatore e la forza genera-
ta dall’ambiente, e l’errore in posizione (Fig.2.82), sottraendo alla posizione de-
terminata dall’ambiente ideale quella effettivamente raggiunta sul banco di prova,
rappresentate sovrapposte in Fig.2.81. I risultati ottenuti nella prova sono:
• Errore massimo in forza di 2.26 N;
• errore massimo in forza è pari al 10.88 % della forza operatore massima;
• errore massimo in posizione di 0.031 m;
• errore in massimo in posizione è pari al 7.5 % dello spostamento massimo del
manipolo.
0 5 10 15 20 25 30 35 40 45
Time [s]
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
e
F
[N]
Fig. 2.80: Errore in forza, durante la simulazione di un ambiente completo caratterizzato
da M=3 kg, C=1 Ns
m e K=50 N
m , con controllo in ammettenza
178
Progettazione del sistema di controllo aptico in ammettenza
0 5 10 15 20 25 30 35 40 45
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
id
[m]
Fig. 2.81: Andamenti sovrapposti delle risposte in posizione di un ambiente completo
caratterizzato da M=3 kg, C=1 Ns
m e K=50 N
m , e dell’interfaccia aptica con
controllo in ammettenza
0 5 10 15 20 25 30 35 40 45
Time [s]
-0.04
-0.03
-0.02
-0.01
0
0.01
0.02
0.03
0.04
e
X
[m]
Fig. 2.82: Errore in posizione durante la simulazione di un ambiente completo caratte-
rizzato da M=3 kg, C=1 Ns
m e K=50 N
m con controllo in ammettenza
179
Controllo in forza
I risultati mostrati fino ad ora fanno riferimento ad una prova condotta a basse
velocità; per vedere come variano gli errori in posizione ed in forza se ne conduce un’
altra a velocità più sostenute, considerando il medesimo ambiente virtuale: ciò che ci
si aspetta è un loro incremento in quanto maggiore è la dinamica della forza operatore
applicata in ingresso al sistema di controllo e più critico sarà l’inseguimento del
segnale di riferimento. Con il test a velocità maggiori si sono ottenuti i seguenti
dati:
• spostamento massimo del manipolo di 0.4284 m;
• velocità massima del manipolo di 0.9570 m
s
• accelerazione massima del manipolo di 3.332m
s2
• forza massima introdotta dall’ operatore di 18.4876 N
• errore massimo in forza pari a 5.44 N
• errore massimo in posizione pari a 0.14 N
• errore massimo in forza è pari al 29.45% della forza operatore massima;
• errore massimo in posizione è pari al 33.21% dello spostamento massimo del
manipolo.
Si certifica dunque come a velocità superiori gli errori in posizione ed in forza siano
maggiori. Per validare il sistema di controllo sono state fatte ulteriori acquisizioni
variando la tipologia di ambiente virtuale, ossia utilizzando differenti valori di M,C
e K, e la velocità con il quale si sposta il manipolo. In particolare, vengono fissati
due parametri e fatto variare il terzo per valutare i massimi errori percentuali in
posizione ed in forza (Fig.2.83,Fig.2.84,Fig.2.85,Fig.2.86 e Fig.2.87). Infine viene
fatta un’analisi per vedere quale parametro fra M e K è più influente sulle prestazioni
del sistema di controllo in anello chiuso: si varia quindi M e K, mantenendo costante
il loro rapporto e il coefficiente di smorzamento C. (Fig.2.88 e Fig.2.89) Nella tabella
2.3 vengono mostrati i valori delle grandezze significative per ogni acquisizione fatta:
180
Progettazione del sistema di controllo aptico in ammettenza
0 5 10 15 20 25
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
(a) Spostamento manipolo
0 5 10 15 20 25
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
v
[m/s]
(b) Velocità manipolo
0 5 10 15 20 25
Time [s]
-30
-20
-10
0
10
20
30
F
op
[N]
(c) Forza operatore
0 5 10 15 20 25
Time [s]
-30
-20
-10
0
10
20
30
F
amb
[N]
(d) Forza ambiente
0 5 10 15 20 25
Time [s]
-4
-3
-2
-1
0
1
2
3
4
e
F
[N]
(e) Errore in forza
0 5 10 15 20 25
Time [s]
-0.03
-0.02
-0.01
0
0.01
0.02
0.03
e
X
[m]
(f) Errore in posizione
Fig. 2.83: Risultati sperimentali della simulazione di un ambiente completo con M=3 kg,
C=10 Ns
m e K=50 N
m con controllo in ammettenza a basse velocità
181
Controllo in forza
0 2 4 6 8 10 12 14
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
(a) Spostamento manipolo
0 2 4 6 8 10 12 14
Time [s]
-1
-0.5
0
0.5
1
v
[m/s]
(b) Velocità manipolo
0 2 4 6 8 10 12 14
Time [s]
-30
-20
-10
0
10
20
30
F
op
[N]
(c) Forza operatore
0 2 4 6 8 10 12 14
Time [s]
-30
-20
-10
0
10
20
30
F
amb
[N]
(d) Forza ambiente
0 2 4 6 8 10 12 14
Time [s]
-6
-4
-2
0
2
4
6
e
F
[N]
(e) Errore in forza
0 2 4 6 8 10 12 14
Time [s]
-0.1
-0.08
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1
e
X
[m]
(f) Errore in posizione
Fig. 2.84: Risultati sperimentali della simulazione di un ambiente completo con M=3 kg,
C=10 Ns
m e K=50 N
m con controllo in ammettenza a velocità sostenute
182
Progettazione del sistema di controllo aptico in ammettenza
0 2 4 6 8 10 12 14 16 18 20
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
(a) Spostamento manipolo
0 2 4 6 8 10 12 14 16 18 20
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
v
[m/s]
(b) Velocità manipolo
0 2 4 6 8 10 12 14 16 18 20
Time [s]
-30
-20
-10
0
10
20
30
F
op
[N]
(c) Forza operatore
0 2 4 6 8 10 12 14 16 18 20
Time [s]
-30
-20
-10
0
10
20
30
F
amb
[N]
(d) Forza ambiente
0 2 4 6 8 10 12 14 16 18 20
Time [s]
-6
-4
-2
0
2
4
6
e
F
[N]
(e) Errore in forza
0 2 4 6 8 10 12 14 16 18 20
Time [s]
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
e
X
[m]
(f) Errore in posizione
Fig. 2.85: Risultati sperimentali della simulazione di un ambiente completo con M=10
kg, C=1 Ns
m e K=50 N
m con controllo in ammettenza a basse velocità
183
Controllo in forza
0 5 10 15 20 25 30
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
(a) Spostamento manipolo
0 5 10 15 20 25 30
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
v
[m/s]
(b) Velocità manipolo
0 5 10 15 20 25 30
Time [s]
-80
-60
-40
-20
0
20
40
60
80
F
op
[N]
(c) Forza operatore
5 10 15 20 25 30
Time [s]
-60
-40
-20
0
20
40
60
F
amb
[N]
(d) Forza ambiente
0 5 10 15 20 25 30
Time [s]
-4
-3
-2
-1
0
1
2
3
4
e
F
[N]
(e) Errore in forza
0 5 10 15 20 25 30
Time [s]
-0.05
-0.04
-0.03
-0.02
-0.01
0
0.01
0.02
0.03
0.04
0.05
e
X
[m]
(f) Errore in posizione
Fig. 2.86: Risultati sperimentali della simulazione di un ambiente completo con M=3 kg,
C=1 Ns
m e K=150 N
m con controllo in ammettenza a basse velocità
184
Progettazione del sistema di controllo aptico in ammettenza
0 2 4 6 8 10 12 14 16 18
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
(a) Spostamento manipolo
0 2 4 6 8 10 12 14 16 18
Time [s]
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
v
[m/s]
(b) Velocità manipolo
0 2 4 6 8 10 12 14 16 18
Time [s]
-80
-60
-40
-20
0
20
40
60
80
F
op
[N]
(c) Forza operatore
0 2 4 6 8 10 12 14 16 18
Time [s]
-80
-60
-40
-20
0
20
40
60
80
F
amb
[N]
(d) Forza ambiente
0 2 4 6 8 10 12 14 16 18
Time [s]
-10
-5
0
5
10
e
F
[N]
(e) Errore in forza
0 2 4 6 8 10 12 14 16 18
Time [s]
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
e
X
[m]
(f) Errore in posizione
Fig. 2.87: Risultati sperimentali della simulazione di un ambiente completo con M=3 kg,
C=1 Ns
m e K=150 N
m con controllo in ammettenza a velocità sostenute
185
Controllo in forza
0 5 10 15 20 25
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
(a) Spostamento manipolo
0 5 10 15 20 25
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
v
[m/s]
(b) Velocità manipolo
0 5 10 15 20 25
Time [s]
-80
-60
-40
-20
0
20
40
60
80
F
op
[N]
(c) Forza operatore
0 5 10 15 20 25
Time [s]
-80
-60
-40
-20
0
20
40
60
80
F
amb
[N]
(d) Forza ambiente
0 5 10 15 20 25
Time [s]
-8
-6
-4
-2
0
2
4
6
8
e
F
[N]
(e) Errore in forza
0 5 10 15 20 25
Time [s]
-0.1
-0.08
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1
e
X
[m]
(f) Errore in posizione
Fig. 2.88: Risultati sperimentali della simulazione di un ambiente completo con M=9 kg,
C=1 Ns
m e K=150 N
m con controllo in ammettenza a basse velocità
186
Progettazione del sistema di controllo aptico in ammettenza
0 5 10 15 20 25
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
(a) Spostamento manipolo
0 5 10 15 20 25
Time [s]
-1
-0.5
0
0.5
1
v
[m/s]
(b) Velocità manipolo
0 5 10 15 20 25
Time [s]
-80
-60
-40
-20
0
20
40
60
80
F
op
[N]
(c) Forza operatore
0 5 10 15 20 25
Time [s]
-80
-60
-40
-20
0
20
40
60
80
F
amb
[N]
(d) Forza ambiente
0 5 10 15 20 25
Time [s]
-15
-10
-5
0
5
10
15
e
F
[N]
(e) Errore in forza
0 5 10 15 20 25
Time [s]
-0.15
-0.1
-0.05
0
0.05
0.1
e
X
[m]
(f) Errore in posizione
Fig. 2.89: Risultati sperimentali della simulazione di un ambiente completo con M=9 kg,
C=1 Ns
m e K=150 N
m con controllo in ammettenza a velocità sostenute
187
Controllo in forza
K
K
K C
C
C M
M
M fn
fn
fn ξ
ξ
ξ ẋmax
ẋmax
ẋmax ẍmax
ẍmax
ẍmax errF
errF
errF errx
errx
errx KI
KI
KI
[N
m
]
[N
m
]
[N
m
] [Ns
m
]
[Ns
m
]
[Ns
m
] [Kg]
[Kg]
[Kg] [Hz]
[Hz]
[Hz] [m
s
]
[m
s
]
[m
s
] [m
s2 ]
[m
s2 ]
[m
s2 ] [%]
[%]
[%] [%]
[%]
[%]
50 10 3 0.65 0.41 0.4 1.88 15.38 6.03 0.8
50 10 3 0.65 0.41 1.06 4.4 33.8 20.25 0.8
50 1 10 0.36 0.022 0.38 1.37 33.59 32.13 0.3
150 1 3 1.12 0.024 0.42 1.89 5.55 6.53 0.6
150 1 3 1.12 0.024 0.97 5.49 18.07 33.44 0.6
150 1 9 0.65 0.014 0.41 1.44 10.93 17.65 0.3
150 1 9 0.65 0.014 1.03 3.02 24.50 28.8 0.3
Tabella 2.3: Risultati sperimentali delle prove svolte per simulare differenti ambienti
completi con controllo in ammettenza.
Conclusioni
A seguito dei risultati sperimentali derivanti dalle prove eseguite sul banco di prova è
doveroso fare alcune considerazioni. La simulazione sul sistema aptico dell’ambiente
completo si è svolta considerando dapprima un ambiente di riferimento caratteriz-
zato da M=3 kg, C=1 Ns
m
e K=50 N
m
, per poter analizzare e validare le prestazioni
del sistema di controllo; in seguito, per rendere quest’ultimo fruibile anche per valori
di M,C,K differenti da quelli presi inizialmente, è stato fatto variare un parametro
alla volta, tenendo gli altri due fissi. Ciò che emerge, è che sistemi caratterizzati
da maggior smorzamento o massa, rispetto all’ambiente di riferimento, portano ad
errori percentuali in forza ed in posizione maggiori; un aumento della rigidezza in-
vece, conduce ad errori inferiori. Ne deriva che il sistema di controllo è in grado
di simulare efficacemente ambienti rigidi, poco inerziali e poco smorzati. In ultimo,
per vedere quale parametro tra M e K avesse maggior impatto sugli errori, è sta-
ta condotta una prova aumentando sia M che K, ma mantenendo costante il loro
rapporto: si è osservata una riduzione degli errori di posizione e di forza rispetto a
quelli ottenuti con l’ambiente di riferimento pertanto K è più determinante rispetto
ad M.
188
Progettazione del sistema di controllo aptico in impedenza
2.3 Progettazione del sistema di controllo aptico
in impedenza in anello chiuso
2.3.1 Ambiente elastico
Adottando la strategia di controllo in impedenza in anello chiuso per simulare il
comportamento di una molla ideale, le funzioni di trasferimento GFX, da Fop ad x,
e GFF , da Fop ad Famb, sono espresse dalle relazioni (2.58) e (2.59).
GFX =
x
Fop
=
Gs · Rf
1 + Km · (1 + Gs · Rf )
(2.58)
GFF =
Famb
Fop
=
Gs · Rf · Km
1 + Km · (1 + Gs · Rf )
(2.59)
Nel caso in esame, la funzione di trasferimento Gs del sistema sotto-controllo è
descritta dalla formula (2.60).
Gs =
Jm,eq
τRp
1
s2
=
meq
s2
(2.60)
Dunque, sostituendo l’espressione (2.60) nelle formule (2.58) e (2.59), si ottengono
le relazioni (2.61) e (2.62).
GFX =
meq · Rf
(1 + Km)s2 + (Km · meq · Rf )
(2.61)
GFF =
meq · Rf · Km
(1 + Km)s2 + (Km · meq · Rf )
(2.62)
Sintesi del regolatore
Si consideri di utilizzare un regolatore in forza di tipo proporzionale, la cui funzione
di trasferimento è espressa da Rf = Kp. In tal caso, GFX e GFF sono descritte dalle
relazioni (2.63) e (2.64).
GFX =
meq · Kp
s2 + Km · meq · (1 + Kp)
(2.63)
GFF =
meq · Kp · Km
s2 + Km · meq · (1 + Kp)
(2.64)
189
Controllo in forza
GFX e GFF sono entrambe due funzioni di trasferimento con due poli e nessuno
zero. In particolare, presentano i medesimi poli, immaginari e possono essere espressi
mediante la formula (2.65).
s = ±j
q
Km · meq · (1 + Kp) (2.65)
Dato che GFX e GFF presentano due poli immaginari, si può concludere che il
sistema di controllo in anello chiuso non è asintoticamente stabile, ma soltanto sem-
plicemente. Pertanto, applicando uno scalino in forza di ampiezza F in ingresso al
sistema, le sue risposte in posizione e in forza sono oscillanti non smorzate, quindi
non convergono asintoticamente ad un valore di regime, ma oscillano con delle am-
piezze costanti attorno ad un valore pari, rispettivamente, a F
Km
e F. Ciò lo si può
osservare nelle Fig.2.90 e Fig.2.91, dove sono riportati gli andamenti, in funzione
del tempo, delle risposte in posizione e in forza del sistema di controllo in anello
chiuso, ad uno scalino in forza di ampiezza F = 30N, considerando di simulare una
molla ideale con rigidezza Km = 250N
m
. Per tracciare i diagrammi, si è considerato
un guadagno proporzionale pari a 50. Tale comportamento, ovviamente, non è
accettabile: per stabilizzare il sistema, si può introdurre una componente derivativa
nel regolatore in forza. Dunque, si consideri di impiegare un controllore in forza
di tipo proporzionale - derivativo, la cui funzione di trasferimento è espressa dalla
formula (2.66).
Rf = Kp + Kds (2.66)
Le conseguenti funzioni di trasferimento in anello chiuso GFX e GFF sono descritte
dalle espressioni (2.67) e (2.68): presentano uno zero e due poli, i quali possiedono
entrambi una parte reale strettamente negativa per qualsiasi valore di Kd e Kp.
Pertanto, si può affermare che il sistema è asintoticamente stabile per qualsiasi
valore dei due guadagni del regolatore in forza.
GFX =
meq · (Kp + Kds)
s2 + Kd · Km · meqs + Km · meq · (1 + Kp)
(2.67)
GFF =
meq · Km · (Kp + Kds)
s2 + Kd · Km · meqs + Km · meq · (1 + Kp)
(2.68)
µGF X
=
KP
Km · (1 + KP )
(2.69)
190
Progettazione del sistema di controllo aptico in impedenza
0 0.1 0.2 0.3 0.4 0.5 0.6
time [s]
0
0.05
0.1
0.15
0.2
0.25
x
[m]
Gid
GFX
Fig. 2.90: Risposta ad uno scalino in forza di ampiezza F = 30N della funzione di
trasferimento GFX, considerando di simulare una molla ideale di rigidezza
Km = 250N
m
0 0.1 0.2 0.3 0.4 0.5 0.6
time [s]
0
10
20
30
40
50
60
x
[m]
Fig. 2.91: Risposta ad uno scalino in forza di ampiezza F = 30N della funzione di tra-
sferimento GFF , impiegando un controllore in forza puramente proporzionale
e considerando di simulare una molla ideale di rigidezza Km = 250N
m
191
Controllo in forza
µGF F
=
KP
(1 + KP )
(2.70)
Per quanto riguarda il comportamento statico, si può osservare che GFX e GFF
possiedono un guadagno statico espresso, rispettivamente, dalle formule (2.69) e
(2.70). Dunque, impiegando un regolatore in forza di tipo proporzionale - derivativo,
le risposte in posizione e in forza del sistema di controllo in anello chiuso, ad uno
scalino in forza di ampiezza F, convergono asintoticamente ad un valore di regime
diverso da quello delle corrispondenti risposte in posizione e in forza di una molla
ideale. Tuttavia, se il guadagno Kp del controllore in forza tende ad infinito, i
guadagni statici delle funzioni di trasferimento GFX e GFF tendono, rispettivamente,
ai valori 1
Km
e 1, come desiderato. Di conseguenza, per garantire che la risposta,
ad uno scalino in forza o all’imposizione di una condizione iniziale in posizione,
del sistema di controllo in anello chiuso converga asintoticamente ad un valore di
regime approssimativamente pari alla corrispondente risposta della molla ideale che
si vuole simulare, è necessario utilizzare un guadagno Kp sufficientemente elevato.
Per quanto riguarda, invece, il comportamento dinamico, GFX e GFF presentano
entrambe uno zero reale, dato dal rapporto tra il guadagno proporzionale e quello
derivativo del controllore in forza (2.71), e due poli caratterizzati da una frequenza
fp e uno smorzamento ξp, descritti dalle relazioni (2.72) e (2.73).
z = −
Kp
Kd
(2.71)
fp =
1
2π
q
Km · meq · (1 + Kp) (2.72)
ξp =
Kd · Km · meq
4 · π · fp
=
Kd
p
Km · meq
2 ·
p
1 + Kp
(2.73)
Se i poli del sistema in anello chiuso fossero complessi coniugati, le risposte in po-
sizione e in forza del sistema di controllo in impedenza, ad uno scalino in forza o
all’imposizione di una condizione iniziale in posizione, tenderebbero asintoticamente
ad un valore di regime con un andamento caratterizzato da oscillazioni esponenzial-
mente smorzate. Viceversa, se i suoi poli sono reali e distinti, il sistema è molto più
smorzato e, quindi, le sue risposte in posizione e in forza, ad uno scalino o all’im-
posizione di una condizione iniziale in posizione, sono molto più simili a quelle di
una molla ideale, con, al massimo, un’eventuale piccola sovra-elongazione. Dunque,
192
Progettazione del sistema di controllo aptico in impedenza
0 50 100 150
Kp
-1210
-1200
-1190
-1180
-1170
-1160
-1150
-1140
-1130
-1120
Real
(a) Polo veloce
0 50 100 150
Kp
-80
-70
-60
-50
-40
-30
-20
-10
0
Real
Polo lento
Zero
(b) Polo lento e zero
Fig. 2.92: Andamento dei poli e dello zero del sistema di controllo in anello chiuso, in
funzione del guadagno proporzionale Kp e per un guadagno derivativo Kd = 2.
si impone che i poli del sistema di controllo in anello chiuso siano reali e distinti.
In tale condizione, uno dei due poli si trova a frequenze più basse, mentre l’altro a
frequenze più alte. In particolare, lo zero di GFX e GFF tende a cancellare, almeno
parzialmente, il loro polo che si trova a più basse frequenze. Ne consegue che le due
funzioni di trasferimento possono essere interpretate entrambe come aventi nessuno
zero e un solo polo, situato a frequenze relativamente alte, che sono tanto maggiori
tanto più è elevata la rigidezza Km della molla che si desidera simulare. A parità di
guadagno derivativo, si riscontra che, al crescere del guadagno proporzionale Kp, il
polo si sposta a frequenze minori. Ciò lo si può osservare nella Fig.2.92 dove sono
rappresentati gli andamenti dei due poli e dello zero reali del sistema di controllo in
anello chiuso, in funzione del parametro Kp e per un guadagno derivativo Kd = 2.
Tali diagrammi sono stati tracciati considerando come ambiente ideale una molla
con rigidezza Km = 250N
m
, che è l’ambiente virtuale preso come riferimento per la
scelta del tipo di regolatore in forza da adottare. Dunque, al crescere del guadagno
proporzionale, la pulsazione naturale del sistema diminuisce e, di conseguenza, la
dinamica del sistema diventa leggermente più lenta. Inoltre, all’aumentare di Kp,
diminuisce lo smorzamento xip del sistema.
193
Controllo in forza
10-1
100
101
102
f [Hz]
-118
-117
-116
-115
-114
-113
-112
-111
-110
-109
Magnitude
[dB]
Gid
GFX
(Kp
=10)
GFX
(Kp
=50)
GFX
(Kp
=100)
10-1
100
101
f [Hz]
-16
-14
-12
-10
-8
-6
-4
-2
0
2
4
Phase
[deg]
Gid
GFX
(Kp
=10)
GFX
(Kp
=50)
GFX
(Kp
=100)
Fig. 2.93: Diagramma di Bode di GFX, per diversi valori del guadagno proporzionale e
per un guadagno derivativo Kd = 2
Infatti, proprio per tale ragione, nelle Fig.2.93 e Fig.2.94 si può osservare che i
diagrammi di Bode del modulo di GFX e GFF presentano una sovra-elongazione
di ampiezza maggiore, al crescere del guadagno proporzionale. In Fig.2.95 sono
riportate le risposte in posizione e in forza del sistema di controllo in anello chiuso,
ad uno scalino in forza di ampiezza F = 30N, per diversi valori del guadagno
proporzionale e un guadagno derivativo pari a 2. Da tali diagrammi si osserva,
innanzitutto, che le risposte del sistema sono molto veloci.
194
Progettazione del sistema di controllo aptico in impedenza
100
101
102
f [Hz]
-14
-12
-10
-8
-6
-4
-2
0
2
Magnitude
[dB]
GFF
(Kp
=10)
GFF
(Kp
=50)
GFF
(Kp
=100)
100
101
102
f [Hz]
-60
-50
-40
-30
-20
-10
0
Phase
[deg]
GFF
(Kp
=10)
GFF
(Kp
=50)
GFF
(Kp
=100)
Fig. 2.94: Diagramma di Bode di GFF , per diversi valori del guadagno proporzionale e
per un guadagno derivativo Kd = 2
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4
Time [s]
0.105
0.11
0.115
0.12
0.125
x
[m]
Gid
GFX
(Kp
=10)
GFX
(Kp
=50)
GFX
(Kp
=100)
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4
Time [s]
29.5
30
30.5
31
F
[N]
GFF
(Kp
=10)
GFF
(Kp
=50)
GFF
(Kp
=100)
Fig. 2.95: Risposte in posizione e in forza del sistema di controllo, ad uno scalino in forza
di ampiezza F = 30N, per diversi valori del guadagno proporzionale e per un
guadagno derivativo Kd = 2.
195
Controllo in forza
0 5 10 15 20 25 30 35 40 45 50
Kd
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
Real
104
0 5 10 15 20 25 30 35 40 45 50
Kd
-12
-10
-8
-6
-4
-2
0
Real
Polo lento
zero
Fig. 2.96: Poli e zero del sistema di controllo in impedenza in anello chiuso, in funzione
del guadagno derivativo e per un guadagno proporzionale Kp = 10.
Inoltre, si nota che, al crescere del guadagno proporzionale, esse:
• sono meno smorzate, infatti presentano una sovra - elongazione di ampiezza
maggiore;
• convergono ad un valore di regime che è più vicino a quello delle corrispondenti
risposte della molla ideale che si desidera simulare, ovvero si ha un minore
errore a regime.
A parità di guadagno proporzionale, al crescere del guadagno derivativo, il polo a
più alta frequenza del sistema di controllo in anello chiuso si sposta verso pulsazioni
molto più elevate, mentre l’altro polo e lo zero si dirigono verso frequenze più basse.
Ciò lo si riscontra dalla Fig.2.96, dove sono rappresentati gli andamenti dei due poli e
dello zero reali del sistema di controllo in impedenza in anello chiuso, in funzione del
guadagno derivativo e per un guadagno proporzionale pari a 10. Dunque, al crescere
del guadagno derivativo, aumenta sia la pulsazione naturale sia lo smorzamento ξp,
e, quindi, anche la stabilità, del sistema di controllo in anello chiuso. Ciò lo si
può osservare nelle Fig.2.97 e Fig.2.98, dove sono riportati i diagrammi di Bode,
di modulo e fase, delle funzioni di trasferimento GFX e GFF , per diversi valori del
guadagno derivativo e per un guadagno proporzionale pari a 10.
196
Progettazione del sistema di controllo aptico in impedenza
10-2
100
102
104
f [Hz]
-240
-220
-200
-180
-160
-140
-120
-100
Magnitude
[dB]
Gid
GFX
(Kd
=1)
GFX
(Kd
=10)
GFX
(Kd
=50)
10-2
100
102
104
f [Hz]
-90
-80
-70
-60
-50
-40
-30
-20
-10
0
10
Phase
[deg]
Gid
GFX
(Kd
=1)
GFX
(Kd
=10)
GFX
(Kd
=50)
Fig. 2.97: Diagramma di Bode di GFX, per diversi valori del guadagno derivativo e per
un guadagno proporzionale Kp = 10.
10-2
100
102
104
f [Hz]
-140
-120
-100
-80
-60
-40
-20
0
20
Magnitude
[dB]
GFF
(Kd
=1)
GFF
(Kd
=10)
GFF
(Kd
=50)
10-2
100
102
104
f [Hz]
-90
-80
-70
-60
-50
-40
-30
-20
-10
0
Phase
[deg]
GFF
(Kd
=1)
GFF
(Kd
=10)
GFF
(Kd
=50)
Fig. 2.98: Diagramma di Bode di GFF , per diversi valori del guadagno derivativo e per
un guadagno proporzionale Kp = 10.
197
Controllo in forza
Dall’analisi appena svolta, si può concludere che, maggiore è il guadagno proporzio-
nale Kp del controllore in forza:
• minore è l’errore a regime delle risposte in posizione e in forza, ad uno scalino
applicato in ingresso o all’imposizione di una condizione iniziale in posizione;
• minore è la pulsazione naturale;
• minore è lo smorzamento e, quindi, la stabilità
del sistema di controllo in anello chiuso. Dunque, in generale, conviene utilizzare un
guadagno proporzionale il più elevato possibile, in modo da ridurre l’errore a regime
delle risposte in forza e in posizione, ad uno scalino o all’imposizione di una condi-
zione iniziale in posizione, rispetto alle corrispondenti risposte della molla ideale che
si desidera simulare. Come conseguenze negative, si ha la riduzione della frequen-
za critica del sistema, la quale, tuttavia, è comunque, in generale, sufficientemente
elevata e, soprattutto, la diminuzione dello smorzamento quindi, della stabilità, del
sistema in anello chiuso. In particolare, quest’ultimo aspetto può essere risolto incre-
mentando il guadagno derivativo, il quale, in realtà, è il parametro più importante
del controllore in forza. Infatti, al crescere del guadagno derivativo, aumenta sia lo
smorzamento sia, in modo estremamente significativo, la frequenza critica e, quindi,
l’ampiezza della banda passante del sistema in anello chiuso. Pertanto, aumentando
i guadagni del controllore in forza, le prestazioni del sistema di controllo in ammet-
tenza migliorano ottenendo una riproduzione più fedele del sistema virtuale che si
desidera simulare. Infatti, si osserva che i diagrammi di Bode di GFX e di GFF
tendono ad approssimare in modo più preciso e su un range di frequenze sempre
maggiore i corrispondenti diagrammi, rispettivamente, dell’ambiente ideale Gid e
della funzione di trasferimento unitaria, al crescere dei due parametri. È importante
sottolineare che non è concesso aumentare troppo il parametro Kd, dando quest’ul-
timo maggiore peso alla derivata numerica dell’errore in forza che riceve in ingresso
il controllore, in quanto porterebbe il sistema ad avere un comportamento instabile.
198
Progettazione del sistema di controllo aptico in impedenza
Risultati sperimentali
Per testare le prestazioni del sistema di controllo in impedenza in anello chiuso
progettato, lo si è applicato all’interfaccia aptica a disposizione con l’obiettivo di
simulare il comportamento di una molla ideale con rigidezza Km = 250 N
m
. In
particolare, sono state svolte diverse prove, durante le quali si è afferrato il manipolo
dell’interfaccia, lo si è mosso avanti e indietro tra i due fine corsa e si è misurato:
1. la forza Fop esercitata dall’operatore;
2. lo spostamento x del manipolo;
3. la conseguente forza Famb dell’ambiente virtuale.
Inoltre, si è importato in ambiente Simulink la misura della forza esercitata dall’o-
peratore sul manipolo, in modo tale da simulare le risposte in posizione e in forza
del modello del sistema di controllo in impedenza e ottenere, anche, la risposta in
posizione della molla ideale, che si è presa in considerazione. In questo modo è stato
possibile confrontare:
• le risposte in posizione e in forza del sistema di controllo in impedenza, ottenute
sul banco di prova e in simulazione;
• la risposta in posizione dell’interfaccia aptica e della molla ideale che si desi-
dera simulare, in modo tale da valutare le prestazioni del sistema di controllo
in anello chiuso in termini di capacità di riprodurre il reale comportamento
dell’ambiente virtuale preso in esame;
• la forza esercitata dall’operatore e la conseguente forza ambiente, in modo tale
da determinare l’errore in forza e valutare, quindi, le prestazioni del sistema di
controllo in impedenza in termini di capacità di far percepire all’operatore una
forza esattamente pari a quella esercita dall’ambiente virtuale considerato.
Nelle Fig.2.99, Fig.2.100, Fig.2.101 e Fig.2.102 sono riportati gli andamenti, in fun-
zione del tempo, della posizione e della velocità lineare del manipolo, della forza
esercitata dall’operatore e della forza generata dall’ambiente virtuale preso in consi-
derazione, ottenuti durante una delle suddette prove. Si può osservare che, durante
199
Controllo in forza
0 10 20 30 40 50
Time [s]
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
Fig. 2.99: Posizione x del manipolo, durante la simulazione del comportamento di una
molla ideale di rigidezza Km = 250N
m
il test, il manipolo è stato mosso con delle discrete velocità da parte dell’operatore,
con picchi intorno ai 0.53m
s
.
200
Progettazione del sistema di controllo aptico in impedenza
0 10 20 30 40 50
Time [s]
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
x
p
[m/s]
Fig. 2.100: Velocità xp del manipolo, durante la simulazione del comportamento di una
molla ideale di rigidezza Km = 250N
m
0 10 20 30 40 50
Time [s]
-100
-80
-60
-40
-20
0
20
40
60
80
100
F
[N]
Fig. 2.101: Forza esercitata dall’operatore sul manipolo, durante la simulazione di una
molla ideale di rigidezza Km = 250N
m
201
Controllo in forza
0 10 20 30 40 50
Time [s]
-100
-80
-60
-40
-20
0
20
40
60
80
100
F
[N]
Fig. 2.102: Forza generata dall’ambiente virtuale, durante la simulazione di una molla
ideale di rigidezza Km = 250N
m
Nelle Fig.2.103 e Fig.2.104 sono rappresentate, sovrapposte, le risposte, rispettiva-
mente, in posizione e in forza del sistema di controllo in impedenza in anello chiuso
progettato, ottenute, in un caso, in simulazione in ambiente Simulink e, nell’altro,
applicando tale sistema di controllo direttamente all’interfaccia aptica. Dai suddetti
diagrammi, si può osservare che i risultati sperimentali, sia in posizione sia in forza,
sono molto simili con quelli ottenuti in simulazione.
202
Progettazione del sistema di controllo aptico in impedenza
0 10 20 30 40 50
Time [s]
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
Simulazione
Banchetto
Fig. 2.103: Confronto tra la risposta in posizione simulata in ambiente Simulink e la
risposta in posizione ottenuta sul banco di prova del sistema di controllo in
impedenza in anello chiuso.
0 10 20 30 40 50
Time [s]
-100
-80
-60
-40
-20
0
20
40
60
80
100
F
[m]
Simulazione
Banchetto
Fig. 2.104: Confronto tra la risposta in forza simulata in ambiente Simulink e la risposta
in forza ottenuta sul banco di prova del sistema di controllo in impedenza in
anello chiuso.
203
Controllo in forza
0 10 20 30 40 50
Time [s]
-100
-80
-60
-40
-20
0
20
40
60
80
100
F
[N]
Famb
Fop
Fig. 2.105: Confronto tra la forza applicata dall’operatore sul manipolo e la forza gene-
rata dall’ambiente virtuale, durante la simulazione di una molla di rigidezza
Km = 250N
m
Nella Fig.2.105 sono rappresentati sovrapposti gli andamenti, in funzione del tempo,
della forza Fop esercitata dall’operatore e della forza Famb generata dall’ambiente
virtuale, mentre nella Fig.2.106 è riportato l’andamento, in funzione del tempo,
dell’errore in forza, calcolato come la differenza tra Fop e Famb. Da questi due ultimi
diagrammi, si può notare che:
• la massima forza esercitata da parte dell’operatore durante la prova è di circa
96.50N;
• il massimo errore in forza è pari a 6.99N.
Ne consegue che il massimo errore in forza che si è ottenuto, durante la prova
svolta sull’interfaccia aptica, è circa pari al 7.25% della massima forza esercitata
dall’operatore sul manipolo.
204
Progettazione del sistema di controllo aptico in impedenza
0 10 20 30 40 50
Time [s]
-8
-6
-4
-2
0
2
4
6
e
F
[N]
Fig. 2.106: Errore in forza, durante la simulazione di una molla di rigidezza Km = 250N
m
In Fig.2.107 sono riportati sovrapposti gli andamenti, in funzione del tempo, delle
risposte in posizione della molla ideale in esame e dell’interfaccia aptica controllata
mediante la strategia di controllo in impedenza in anello chiuso. In Fig.2.108 è, inve-
ce, riportato l’andamento, in funzione del tempo, dell’errore in posizione, calcolato
come la differenza delle risposte in posizione, alla forza esercitata dall’operatore,
dell’ambiente ideale e del banco di prova. Si può osservare che:
• il massimo spostamento compiuto dal manipolo dell’interfaccia durante la
prova è pari a 0.41 m;
• il massimo errore in posizione tra banchetto e ambiente ideale è pari a 0.028
m e, in particolare, tale errore lo si ha in corrispondenza degli estremi della
corsa del manipolo.
Si può concludere, quindi, che il massimo errore in posizione che si è ottenuto,
durante la prova svolta sull’interfaccia aptica a disposizione, è circa pari al 6.80%
del massimo spostamento compiuto dal manipolo.
205
Controllo in forza
0 10 20 30 40 50
Time [s]
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
x
[m]
Molla ideale
Banchetto
Fig. 2.107: Confronto tra le risposte in posizione dell’interfaccia aptica e di una molla
ideale di rigidezza Km = 250N
m
0 10 20 30 40 50
Time [s]
-0.03
-0.02
-0.01
0
0.01
0.02
0.03
e
x
[m]
Fig. 2.108: Errore in posizione, durante la simulazione di una molla di rigidezza k =
250N
m
In Fig.2.109 è riportato l’andamento della forza esercitata dall’operatore sul mani-
polo, in funzione dello spostamento x di quest’ultimo.
206
Progettazione del sistema di controllo aptico in impedenza
-0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4
x [m]
-100
-80
-60
-40
-20
0
20
40
60
80
100
F
[N]
Molla ideale
Banchetto
Fig. 2.109: Forza applicata dall’operatore sul manipolo in funzione della sua posizione
x, durante la simulazione di una molla ideale di rigidezza Km = 250N
m
Dai risultati ottenuti si può dedurre che il sistema di controllo in impedenza in anello
chiuso, progettato e applicato all’interfaccia aptica a disposizione per simulare una
molla ideale di rigidezza Km = 250 N
m
, presenta delle ottime prestazioni. Tuttavia, è
doveroso evidenziare un limite significativo del suddetto sistema di controllo: le sue
risposte in posizione e in forza, ad uno scalino applicato in ingresso o all’imposizione
di una condizione iniziale in posizione, convergono asintoticamente ad un valore di
regime che è diverso da quello delle corrispondenti risposte dell’ambiente ideale Gid
e della funzione di trasferimento unitaria. Tale limite del sistema di controllo in
impedenza anello chiuso progettato è legato all’impiego di un controllore in forza
di tipo proporzionale - derivativo, ovvero privo di una componente integrativa. In
particolare, per mostrare tale aspetto si è afferrato il manipolo dell’interfaccia apti-
ca, gli si è imposto una condizione iniziale in posizione e si è misurato l’andamento,
nel tempo, della sua posizione lineare x e della forza Famb generata dall’ambiente
virtuale. I risultati ottenuti sono riportati nella Fig.2.110. Nella Fig.2.111 è ripor-
tata una vista più nel dettaglio delle risposte in posizione e in forza dell’interfaccia
aptica. In primo luogo, si può osservare che sia la risposta in posizione sia quella
in forza del sistema presentano una sovra - elongazione. Inoltre, coerentemente con
207
Controllo in forza
quanto detto, a seguito dell’applicazione di una condizione iniziale in posizione, il
manipolo non è tornato esattamente nella sua posizione iniziale x = 0 m, ovvero la
sua risposta in posizione presenta un errore di regime, il quale è pari a 1.1 mm circa.
0 2 4 6 8 10 12 14
Time [s]
-0.05
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
x
[m]
(a) Risposta in posizione
0 2 4 6 8 10 12 14
Time [s]
-20
0
20
40
60
80
100
120
F
amb
[N]
(b) Risposta in forza
Fig. 2.110: Risposte in posizione e in forza dell’interfaccia aptica all’applicazione di una
condizione iniziale in posizione, durante la simulazione di una molla ideale
di rigidezza Km= 250 N
m
6.9 6.95 7 7.05 7.1 7.15 7.2 7.25
Time [s]
-0.02
-0.015
-0.01
-0.005
0
0.005
0.01
0.015
0.02
0.025
0.03
x
[m]
(a) Risposta in posizione
6.9 6.95 7 7.05 7.1 7.15 7.2 7.25
Time [s]
-4
-2
0
2
4
6
F
amb
[N]
(b) Risposta in forza
Fig. 2.111: Vista più nel dettaglio delle risposte in posizione e in forza dell’interfaccia
aptica all’applicazione di una condizione iniziale in posizione, durante la si-
mulazione di una molla ideale di rigidezza Km= 250 N
m
208
Progettazione del sistema di controllo aptico in impedenza
Km
Km
Km [N
m
]
[N
m
]
[N
m
] Kp
Kp
Kp Kd
Kd
Kd ẋmax
ẋmax
ẋmax [m
s
]
[m
s
]
[m
s
] errF
errF
errF [%]
[%]
[%] errx
errx
errx [%]
[%]
[%]
0 10 0.20 0.68 / /
60 22 0.51 0.47 12.65 13.00
250 25 1.08 0.53 7.25 6.78
500 35 0.44 0.48 6.13 5.87
1000 35 0.27 0.41 4.80 4.61
Tabella 2.4: Risultati sperimentali delle prove svolte per simulare differenti molle ideali.
Nelle Fig.2.112, Fig.2.113, Fig.2.114 e Fig.2.115 sono riportati i risultati sperimentali
ottenuti simulando molle ideali di rigidezza, rispettivamente, pari a 0 N
m
(ambien-
te trasparenza), 60 N
m
, 500 N
m
e 1000 N
m
. Nella tabella 2.4 sono riportati i valori
dei guadagni del controllore in forza, della velocità lineare massima del manipolo
e dei massimi errori percentuali in posizione e in forza commessi nella simulazione
di molle con diverse rigidezze Km. E’ importante precisare che, per tutte le molle
ideali simulate, si è ridotta l’ampiezza della banda morta, applicata alla misura del-
la forza operatore Fop, in modo tale da poter aumentare maggiormente i guadagni,
soprattutto quello proporzionale, del controllore in forza. Infatti, si è riscontrato che
una banda morta eccessivamente ampia introduce delle vibrazioni in corrisponden-
za della posizione di equilibrio x = 0, nel momento in cui si impiega un guadagno
Kp relativamente elevato. In particolare, per tutte le molle ideali simulate, ecce-
zion fatta per quella con rigidezza nulla, si è impiegato una banda morta pari a:
[−0.0728 · 6, +0.0230 · 6]. Per simulare, invece, l’ambiente trasparenza con delle di-
screte prestazioni si è reso necessario ridurre notevolmente l’ampiezza della banda
morta ([−0.0728 · 0.5, +0.0230 · 0.5]), in quanto in tale situazione le forze introdotte
dall’ operatore sono estremamente basse, come si può osservare dai risultati speri-
mentali riportati in Fig.2.115. Infine, è importante precisare che si è utilizzato una
frequenza del filtro passa - basso del secondo ordine, applicato alla misura della cella
di carico, pari a 5Hz.
209
Controllo in forza
0 5 10 15 20 25 30 35 40
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
(a) Spostamento manipolo
0 5 10 15 20 25 30 35 40
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
x
p
[m/s]
(b) Velocità manipolo
0 5 10 15 20 25 30 35 40
Time [s]
-30
-20
-10
0
10
20
30
F
[N]
Famb
Fop
(c) Forza operatore vs Forza ambiente
-0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4
x [m]
-30
-20
-10
0
10
20
30
F
[N]
Molla ideale
Banchetto
(d) Forza operatore vs Spostamento
0 5 10 15 20 25 30 35 40
Time [s]
-4
-3
-2
-1
0
1
2
3
e
F
[N]
(e) Errore in forza
0 5 10 15 20 25 30 35 40
Time [s]
-0.08
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
e
x
[m]
(f) Errore in posizione
Fig. 2.112: Risultati sperimentali della simulazione di una molla ideale di rigidezza
Km=60 N
m .
210
Progettazione del sistema di controllo aptico in impedenza
0 5 10 15 20 25 30
Time [s]
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
x
[m]
(a) Spostamento manipolo
0 5 10 15 20 25 30
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
p
[m/s]
(b) Velocità manipolo
0 5 10 15 20 25 30
Time [s]
-100
-80
-60
-40
-20
0
20
40
60
80
100
F
[N]
Famb
Fop
(c) Forza operatore vs Forza ambiente
-0.25 -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 0.25
x [m]
-100
-80
-60
-40
-20
0
20
40
60
80
100
F
[N]
Molla ideale
Banchetto
(d) Forza operatore vs Spostamento
0 5 10 15 20 25 30
Time [s]
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
e
F
[N]
(e) Errore in forza
0 5 10 15 20 25 30
Time [s]
-0.012
-0.01
-0.008
-0.006
-0.004
-0.002
0
0.002
0.004
0.006
0.008
0.01
e
x
[m]
(f) Errore in posizione
Fig. 2.113: Risultati sperimentali della simulazione di una molla ideale di rigidezza
Km=500 N
m .
211
Controllo in forza
0 5 10 15 20
Time [s]
-0.1
-0.05
0
0.05
0.1
x
[m]
(a) Spostamento manipolo
0 5 10 15 20
Time [s]
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
x
p
[m/s]
(b) Velocità manipolo
0 5 10 15 20
Time [s]
-100
-80
-60
-40
-20
0
20
40
60
80
100
F
[N]
Famb
Fop
(c) Forza operatore vs Forza ambiente
-0.1 -0.08 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 0.08 0.1
x [m]
-100
-80
-60
-40
-20
0
20
40
60
80
100
F
[N]
Molla ideale
Banchetto
(d) Forza operatore vs Spostamento
0 5 10 15 20
Time [s]
-5
-4
-3
-2
-1
0
1
2
3
4
5
e
F
[N]
(e) Errore in forza
0 5 10 15 20
Time [s]
-5
-4
-3
-2
-1
0
1
2
3
4
5
e
x
[m]
10-3
(f) Errore in posizione
Fig. 2.114: Risultati sperimentali della simulazione di una molla ideale di rigidezza
Km=1000 N
m .
212
Progettazione del sistema di controllo aptico in impedenza
0 5 10 15 20 25
Time [s]
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
x
[m]
(a) Spostamento manipolo
0 5 10 15 20 25
Time [s]
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
x
p
[m/s]
(b) Velocità manipolo
0 5 10 15 20 25
Time [s]
-8
-6
-4
-2
0
2
4
6
F
[N]
Famb
Fop
(c) Forza operatore vs Forza ambiente
-0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6
x [m]
-10
-8
-6
-4
-2
0
2
4
6
8
10
F
[N]
Molla ideale
Banchetto
(d) Forza operatore vs Spostamento
Fig. 2.115: Risultati sperimentali della simulazione dell’ambiente trasparenza.
213
Controllo in forza
Conclusioni
Dai risultati sperimentali ottenuti, si può concludere che il sistema di controllo in im-
pedenza in anello chiuso progettato è in grado di simulare meglio il comportamento
di ambienti statici con rigidezze elevate. Infatti, si è riscontrato che, all’aumentare
della rigidezza Km dell’ambiente ideale, migliorano le prestazioni del sistema di con-
trollo, ovvero si riducono gli errori percentuali massimi in forza e in posizione che
vengono commessi. Come già detto in precedenza, nel caso dell’ambiente traspa-
renza, non è significativo esprimere l’errore percentuale massimo in forza, per come
esso è valutato, in quanto in tale contesto l’errore in forza coincide con la forza ap-
plicata dall’operatore sul manipolo, poichè la forza generata dall’ambiente virtuale
è nulla. Inoltre, nella riproduzione del comportamento dell’ambiente trasparenza, è
di interesse minimizzare la forza operatore Fop necessaria per mettere in movimen-
to il manipolo. In particolare, utilizzando un sistema di controllo in impedenza in
anello chiuso, si è ottenuto che la suddetta forza è approssimativamente pari a 6N,
movimentando il manipolo a delle velocità sostenute con picchi intorno ai 0.7m
s
.
214
Progettazione del sistema di controllo aptico in impedenza
2.3.2 Ambiente visco - elastico
Sintesi del regolatore
Adottando la strategia di controllo in impedenza in anello chiuso per simulare il
comportamento di una molla reale, le funzioni di trasferimento GFX e GFF sono
espresse dalle relazioni (2.74) e (2.75).
GFX =
x
Fop
=
meq · Rf
s2 + meq · c · (1 + Rf )s + meq · K · (1 + Rf )
(2.74)
GFF =
Famb
Fop
=
meq · Rf · (cs + K)
s2 + meq · c(1 + Rf )s + meq · K · (1 + Rf )
(2.75)
Analogamente a quanto svolto per l’ambiente elastico, si consideri di utilizzare un
regolatore in forza di tipo proporzionale. In tal caso, GFX e GFF sono descritte
dalle relazioni (2.76) e (2.77).
GFX =
meq · Kp
s2 + meq · c · (1 + Kp)s + meq · K · (1 + Kp)
(2.76)
GFF =
meqKp(cs + K)
s2 + meq · c · (1 + Kp)s + meq · K · (1 + Kp)
(2.77)
GFX e GFF sono due funzioni di trasferimento con due poli e, rispettivamente, nes-
suno e uno zero. In particolare, i loro poli presentano una parte reale strettamente
negativa, per qualsiasi valore del guadagno proporzionale. Pertanto, si può affermare
che il sistema di controllo in anello chiuso è asintoticamente stabile per qualsiasi va-
lore del parametro Kp. Dato che si impiega un controllore in forza di tipo puramente
proporzionale, le risposte allo scalino di GFX e GFF convergono asintoticamente ad
un valore di regime diverso dalle risposte, rispettivamente, dell’ambiente ideale e
della funzione di trasferimento unitaria. Tuttavia, facendo tendere ad infinito il
parametro Kp, i guadagni statici delle funzioni di trasferimento convergono asinto-
ticamente ad un valore pari, rispettivamente, a 1
K
e 1, come desiderato. In secondo
luogo, si può notare che i due poli di GFX e di GFF sono complessi coniugati quando
il loro smorzamento ξ è minore di uno quindi quando il guadagno Kp del regolato-
re in forza è minore di un certo valore soglia K∗
p (2.78). In tal caso, la frequenza
naturale del sistema è espressa dalla formula (2.79) ed è tanto maggiore tanto più
elevato è il guadagno proporzionale.
Kp  K∗
p =
4 · K
c2 · meq
− 1 (2.78)
215
Controllo in forza
fn =
p
meq · K · (1 + Kp)
2π
(2.79)
Viceversa, se il guadagno Kp è superiore al valore soglia K∗
p , i poli del sistema di
controllo in anello chiuso sono reali e distinti, uno a più bassa e l’altro a più alta
frequenza. In tali condizioni, al crescere del guadagno proporzionale:
• il polo a più bassa frequenza tende asintoticamente al polo dell’ambiente ideale
Gid che si desidera simulare;
• il polo a più alta frequenza si sposta verso frequenze sempre più elevate.
Se i poli del sistema di controllo in anello chiuso fossero complessi coniugati, le ri-
sposte in posizione e in forza, ad uno scalino applicato in ingresso o all’imposizione
di una condizione iniziale in posizione, non tenderebbero asintoticamente al loro va-
lore di regime con un andamento esponenziale, ma presenterebbero delle oscillazioni
esponenzialmente smorzate attorno al proprio valore di regime. Viceversa, se il si-
stema presentasse dei poli reali e distinti, le risposte tenderebbero asintoticamente
al proprio valore di regime con un andamento esponenziale, privo di oscillazioni e,
di conseguenza, sarebbero più simili alle corrispondenti risposte dell’ambiente ideale
Gid e della funzione di trasferimento unitaria. Dunque, si impone che i poli del
sistema di controllo in anello chiuso siano reali e distinti. In tali condizioni, come
detto in precedenza, il polo dominante del sistema tende asintoticamente a quel-
lo dell’ambiente ideale, mentre il polo più veloce si sposta verso frequenze sempre
più elevate, al crescere di Kp. Inoltre, la funzione di trasferimento GFF presenta
uno zero che coincide con il polo dell’ambiente ideale e, pertanto, all’aumentare del
guadagno proporzionale, cancella maggiormente il polo dominante della medesima
funzione di trasferimento. Quanto espresso lo si può osservare nella Fig.2.116, dove
sono riportati gli andamenti, in funzione del guadagno proporzionale, dei due poli
e dello zero del sistema di controllo in anello chiuso. In particolare, tali diagrammi
sono stati tracciati considerando, come ambiente virtuale da simulare, un sistema
molla - smorzatore caratterizzato da una rigidezza K pari a 90 N
m
e un coefficiente
di smorzamento c pari a 7 Ns
m
.
216
Progettazione del sistema di controllo aptico in impedenza
0 1 2 3 4 5 6 7 8 9 10
Kp
-180
-160
-140
-120
-100
-80
-60
-40
-20
0
20
Parte reale
Parte immaginaria
(a) Polo in alta frequenza
0 1 2 3 4 5 6 7 8 9 10
Kp
-30
-25
-20
-15
-10
-5
0
Parte reale
Parte immaginaria
(b) Polo dominante
0 1 2 3 4 5 6 7 8 9 10
Kp
-14
-12
-10
-8
-6
-4
-2
0
Parte reale
Parte immaginaria
(c) Zero
Fig. 2.116: Poli e zero del sistema di controllo in anello chiuso, in funzione di Kp.
217
Controllo in forza
10-2
10-1
100
101
102
103
f [Hz]
-350
-300
-250
-200
-150
-100
Magnitude
[dB]
Gid
GFX
(Kp
=0.01)
GFX
(Kp
=0.1)
GFX
(Kp
=1)
GFX
(Kp
=5)
10-2
10-1
100
101
102
103
f [Hz]
-180
-160
-140
-120
-100
-80
-60
-40
-20
0
Phase
[deg]
Gid
GFX
(Kp
=0.01)
GFX
(Kp
=0.1)
GFX
(Kp
=1)
GFX
(Kp
=5)
Fig. 2.117: Diagramma di Bode di GFX, al variare di Kp.
10-3
10-2
10-1
100
101
102
103
f [Hz]
-120
-100
-80
-60
-40
-20
0
Magnitude
[dB]
GFF
(Kp
=0.01)
GFF
(Kp
=0.1)
GFF
(Kp
=1)
GFF
(Kp
=5)
10-3
10-2
10-1
100
101
102
103
f [Hz]
-100
-90
-80
-70
-60
-50
-40
-30
-20
-10
0
10
Phase
[deg]
GFF
(Kp
=0.01)
GFF
(Kp
=0.1)
GFF
(Kp
=1)
GFF
(Kp
=5)
Fig. 2.118: Diagramma di Bode di GFF , al variare di Kp.
Dunque, sulla base delle considerazioni appena svolte, si può dedurre che, al crescere
del guadagno proporzionale, i diagrammi di Bode di GFX e GFF tendono ad appros-
simare in modo sempre più preciso i corrispondenti diagrammi dell’ambiente ideale
Gid e della funzione di trasferimento unitaria su un più ampio range di frequenze.
Ciò lo si riscontra, effettivamente, nelle Fig.2.117 e Fig.2.118, dove sono rappresen-
tati i diagrammi di Bode, di modulo e fase, delle funzioni di trasferimento GFX e
GFF , per diversi valori del guadagno proporzionale. Pertanto, si può concludere
che, impiegando un guadagno proporzionale sufficientemente elevato, il sistema di
controllo in impedenza progettato per simulare un ambiente visco - elastico presenta
218
Progettazione del sistema di controllo aptico in impedenza
delle ottime prestazioni. Tuttavia, come già mostrato in precedenza, non è possi-
bile aumentare troppo il valore di Kp, in quanto causerebbe vibrazioni sul sistema.
Inoltre, si può osservare che il valore soglia K∗
p del guadagno Kp, oltre il quale i poli
del sistema di controllo in anello chiuso sono reali e distinti, può essere riscritto in
funzione della frequenza naturale del sistema visco - elastico che si desidera simulare
(2.80). A partire da tale relazione, si riscontra che, per ambienti visco - elastici con
dinamiche molto veloci, il valore del guadagno Kp oltre il quale i poli del sistema
sono reali e distinti è molto elevato e, di conseguenza, non è impiegabile sul sistema
reale. Per esempio, nel caso di un sistema molla - smorzatore con c = 7 Ns
m
e K = 90
N
m
, che presenta una dinamica piuttosto lenta (frequenza naturale fn,id = 2.04 Hz),
K∗
p risulta essere circa pari a 2.04, che è un valore piuttosto basso e impiegabile tran-
quillamente sul sistema. Viceversa, nel caso di un ambiente visco - elastico definito
da c = 2 Ns
m
e K = 250 N
m
, caratterizzato da una dinamica molto veloce (frequenza
naturale fn,id = 40 Hz), K∗
p risulta essere circa pari a 412, che è un valore troppo
elevato per poter essere utilizzato sul sistema reale. Pertanto, si può concludere che,
per simulare ambienti visco - elastici con dinamiche veloci, utilizzando il sistema di
controllo in impedenza in anello chiuso progettato, caratterizzato da un regolatore
in forza di tipo proporzionale, è necessario adottare un valore del guadagno Kp tale
per cui i poli del sistema di controllo in anello chiuso siano complessi coniugati. Di
conseguenza, per tali ambienti virtuali, le risposte in posizione e in forza, ad uno
scalino applicato in ingresso o all’imposizione di una condizione iniziale in posizione,
del sistema in anello chiuso non presentano un andamento monotono crescente, ma
tendono asintoticamente al proprio valore di regime con delle oscillazioni esponen-
zialmente smorzate. Dunque, sulla base di quanto appena detto, si può concludere
che il sistema di controllo in impedenza in anello chiuso progettato non può essere
utilizzato per simulare in modo fedele e preciso il comportamento di ambienti visco
- elastici caratterizzati da dinamiche molto veloci.
K∗
p =
8 · π · fn,id
c · meq
− 1 (2.80)
Analizzando le funzioni di trasferimento in anello chiuso GFX e GFF e svolgendo
anche delle simulazioni in ambiente Simulink, si è studiato l’impiego di altri tipi
219
Controllo in forza
di controllori in forza, come, ad esempio, puramente integrativo, proporzionale -
integrativo o proporzionale - derivativo. Tuttavia, non si sono riscontrati significativi
miglioramenti in termini di prestazioni del sistema di controllo in anello chiuso,
rispetto al caso di regolatore in forza di tipo puramente proporzionale. Pertanto, si
è scelto di utilizzare quest’ultimo tipo di controllore in forza.
Risultati sperimentali
Per testare le prestazioni del sistema di controllo in anello chiuso progettato, ca-
ratterizzato da un controllore in forza di tipo proporzionale, lo si è applicato al-
l’interfaccia aptica a disposizione con l’obiettivo di simulare un ambiente visco -
elastico, caratterizzato da una rigidezza K = 90 N
m
e un coefficiente di smorzamento
c = 7 Ns
m
. Sono state svolte delle prove analoghe a quelle descritte in precedenza,
discutendo dei risultati sperimentali per l’ambiente elastico simulato mediante con-
trollo in impedenza. Nelle Fig.2.119,Fig.2.120, Fig.2.121 e Fig.2.122 sono riportati
gli andamenti, in funzione del tempo, dello spostamento e della velocità lineare del
manipolo, della forza esercitata dall’operatore su quest’ultimo e della forza generata
dall’ambiente virtuale, durante lo svolgimento di una delle prove. Dato che un am-
biente visco - elastico è un sistema dinamico, è significativo svolgere le prove a delle
velocità lineari del manipolo abbastanza sostenute. Per esempio, dalla Fig.2.120 si
può osservare che, durante la prova presa in esame, la velocità lineare del manipolo
presenta dei picchi intorno ai 1.09 m
s
. In Fig.2.123 sono rappresentati sovrapposti
gli andamenti, in funzione del tempo, delle forze Fop e Famb, mentre in Fig.2.124 è
riportato l’andamento dell’errore in forza, valutato come la differenza tra la forza
esercitata dall’operatore sul manipolo e la forza generata dall’ambiente virtuale. Dai
diagrammi si riscontra che:
• la forza massima applicata dall’operatore è pari a 46.27 N;
• l’errore massimo in forza è pari a 6.89 N.
Pertanto, si può concludere che l’errore percentuale massimo in forza è pari al 14.89
% della forza Fop massima.
220
Progettazione del sistema di controllo aptico in impedenza
0 5 10 15 20 25 30
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
Fig. 2.119: Spostamento del manipolo, durante la simulazione di un ambiente visco -
elastico caratterizzato da: K = 90N
m e c = 7Ns
m
0 5 10 15 20 25 30
Time [s]
-1.5
-1
-0.5
0
0.5
1
v
[m/s]
Fig. 2.120: Velocità lineare del manipolo, durante la simulazione di un ambiente visco -
elastico caratterizzato da: K = 90N
m e c = 7Ns
m
221
Controllo in forza
0 5 10 15 20 25 30
Time [s]
-40
-30
-20
-10
0
10
20
30
40
50
F
op
[N]
Fig. 2.121: Forza applicata dall’operatore sul manipolo, durante la simulazione di un
ambiente visco - elastico caratterizzato da: K = 90N
m e c = 7Ns
m
0 5 10 15 20 25 30
Time [s]
-40
-30
-20
-10
0
10
20
30
40
50
F
amb
[N]
Fig. 2.122: Forza generata dall’ambiente virtuale, durante la simulazione di un ambiente
visco - elastico caratterizzato da: K = 90N
m e c = 7Ns
m
222
Progettazione del sistema di controllo aptico in impedenza
0 5 10 15 20 25 30
Time [s]
-40
-30
-20
-10
0
10
20
30
40
50
F
[N]
Famb
Fop
Fig. 2.123: Andamenti sovrapposti di Fop e Famb, durante la simulazione di un ambiente
visco - elastico caratterizzato da: K = 90N
m e c = 7Ns
m
0 5 10 15 20 25 30
Time [s]
-8
-6
-4
-2
0
2
4
6
err
F
[N]
Fig. 2.124: Errore in forza, durante la simulazione di un ambiente visco - elastico carat-
terizzato da: K = 90N
m e c = 7Ns
m
223
Controllo in forza
0 5 10 15 20 25 30
Time [s]
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
x
[m]
Molla ideale
Banchetto
Fig. 2.125: Andamenti sovrapposti delle risposte in posizione di un ambiente visco -
elastico, caratterizzato da: K = 90 N
m e c = 7 Ns
m , e dell’interfaccia aptica
controllata in impedenza in anello chiuso.
In Fig.2.125 sono rappresentati sovrapposti gli andamenti, in funzione del tempo,
delle risposte dell’ambiente ideale considerato e dell’interfaccia aptica controllata
mediante una strategia di controllo in impedenza in anello chiuso. In Fig.2.126 è
riportato, invece, l’andamento, in funzione del tempo, dell’errore in posizione. Dai
diagrammi si riscontra che:
• lo spostamento massimo compiuto dal manipolo è pari a 0.50 m;
• l’errore massimo in posizione è pari a 0.07 m.
Pertanto, si può concludere che l’errore percentuale massimo in posizione è pari
al 13.10 % dello spostamento massimo del manipolo. Per valutare l’effetto della
velocità con cui viene mosso il manipolo sulle prestazioni del sistema di controllo, si
è svolta la medesima prova spostando il l’end-effector con delle velocità molto più
sostenute, con picchi intorno a 1.92 m
s
, quindi poco meno del doppio rispetto al caso
precedente.
224
Progettazione del sistema di controllo aptico in impedenza
0 5 10 15 20 25 30
Time [s]
-0.08
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
err
x
[m]
Fig. 2.126: Errore in posizione, durante la simulazione di un ambiente visco - elastico
caratterizzato da: k = 90N
m e c = 7Ns
m .
In Fig.2.127, sono riportati i risultati sperimentali del test condotto. Si può osservare
che:
• la forza massima esercitata dall’operatore sul manipolo è pari a 48.95 N;
• l’errore massimo in forza è pari a 9.37 N;
• lo spostamento massimo compiuto dal manipolo è pari a 0.54 m;
• l’errore massimo in posizione è pari a 0.08 m.
Dunque, si può affermare che l’errore percentuale massimo in forza è pari al 19.14
% della massima forza Fop, mentre l’errore percentuale massimo in posizione è pari
al 15.15 % del massimo spostamento del manipolo. Si nota che, in questo secondo
caso, gli errori massimi percentuali in forza e in posizione sono più elevati, anche
se di poco, rispetto al primo caso. Pertanto, si può concludere che, maggiore è la
velocità con cui si muove il manipolo, più elevati sono gli errori percentuali massimi
in posizione e in forza che vengono commessi. La ragione è la medesima osservata
discutendo della simulazione di un ambiente visco - elastico mediante un controllo
225
Controllo in forza
in ammettenza: muovendo il manipolo con velocità lineari più elevate, si applica in
ingresso al sistema di controllo un riferimento in forza Fop con una dinamica più
veloce. Di conseguenza, il sistema di controllo fa più fatica a seguire tale riferimento
e, pertanto, gli errori che si commette sono più elevati. Per valutare come si modifi-
cano le prestazioni del sistema di controllo in impedenza in anello chiuso progettato,
al variare delle caratteristiche (c e K) dell’ambiente visco - elastico in esame, sono
state eseguite numerose prove considerando diversi sistemi molla - smorzatore. Ad
esempio, si è valutato come variano gli errori in posizione e in forza, cambiando
il coefficiente di smorzamento dell’ambiente virtuale, a parità di rigidezza K. Nelle
Fig.2.128, Fig.2.129,Fig.2.130 e Fig.2.131 sono riportati i risultati sperimentali delle
prove svolte, due a velocità sostenute e due a velocità molto elevate, per simulare
due ambienti visco - elastici caratterizzati dalla medesima rigidezza K (pari a 90 N
m
)
e da un diverso coefficiente di smorzamento c (20 Ns
m
e 1 Ns
m
). Un’altra analisi inte-
ressante che si è svolto è stata quella di studiare come variano gli errori in posizione
e in forza, cambiando la rigidezza K dell’ambiente virtuale, a parità di coefficiente
di smorzamento. Nelle Fig.2.132 e Fig.2.133 sono riportati i risultati sperimentali
ottenuti nella simulazione di un ambiente visco - elastico con K = 45N
m
e c = 20N
m
,
muovendo il manipolo, in un caso, con velocità sostenute e nell’altro con velocità
molto elevate. Infine, per valutare quale dei due parametri c e K dell’ambiente
ideale influenza maggiormente le performance del sistema di controllo sintetizzato,
sono stati confrontati i risultati ottenuti nelle diverse prove svolte per simulare due
ambienti visco - elastici caratterizzati da:
• K = 90N
m
e c = 7Ns
m
;
• K = 150N
m
e c = 11.67Ns
m
(figure 2.134 e 2.135).
I due ambienti presentano la medesima pulsazione naturale, pari a 12.86 rad
s
. Nella
tabella 2.5 sono riportati i risultati sperimentali ottenuti, in termini di: massimo
errore percentuale in forza, massimo errore percentuale in posizione e velocità linea-
re massima di movimentazione del manipolo, nelle diverse prove svolte per simulare
differenti ambienti visco - elastici. Innanzitutto, si può osservare che, a parità di rigi-
dezza k e di velocità di movimentazione del manipolo, incrementando il coefficiente
226
Progettazione del sistema di controllo aptico in impedenza
di smorzamento c dell’ambiente ideale da 7Ns
m
a 20Ns
m
, gli errori percentuali massimi
in forza e in posizione diminuiscono e diventano molto contenuti. Pertanto, una pri-
ma conclusione che si può trarre è che, maggiore è il coefficiente di smorzamento c
dell’ambiente virtuale in esame, maggiori sono le prestazioni del sistema di controllo
in anello chiuso progettato. Inoltre, si può notare che, riducendo il coefficiente di
smorzamento c ad un valore pari a 1Ns
m
, la frequenza critica dell’ambiente ideale
aumenta molto e diventa pari a 14.32Hz. Tale ambiente virtuale, quindi, presenta
una dinamica molto più veloce rispetto ai precedenti. Tuttavia, gli errori percentuali
massimi in posizione e in forza risultano essere di poco più elevati rispetto a quelli
commessi nella simulazione di un ambiente visco - elastico con K = 90 N
m
e c = 7Ns
m
,
il quale possiede una frequenza propria 7 volte più piccola e pari a 2.05Hz. Detto ciò,
si può concludere che il sistema di controllo in impedenza in anello chiuso progettato
è in grado di simulare, con discrete prestazioni, anche ambienti visco - elastici con
dinamiche piuttosto veloci. Un altro aspetto che si può evidenziare è che, a parità di
coefficiente c e di velocità di movimentazione del manipolo, dimezzando la rigidezza
K dell’ambiente virtuale, gli errori percentuali massimi in posizione e in forza dimi-
nuiscono leggermente. Si deduce quindi che minore è la rigidezza K dell’ambiente
visco - elastico che si desidera simulare, maggiori sono le prestazioni del sistema.
Infine, dalla tabella 2.5 si può notare che, a parità di rapporto K
c
, maggiori sono i
coefficienti c e K, minori sono gli errori percentuali massimi in posizione e in forza
che vengono commessi. Dunque, si può concludere che il parametro, che influenza
maggiormente le prestazioni del sistema di controllo in impedenza in anello chiuso
progettato, è il coefficiente di smorzamento c dell’ambiente ideale.
227
Controllo in forza
0 5 10 15 20 25
Time [s]
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
x
[m]
(a) Spostamento manipolo
0 5 10 15 20 25
Time [s]
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
v
[m/s]
(b) Velocità manipolo
0 5 10 15 20 25
Time [s]
-40
-30
-20
-10
0
10
20
30
40
50
F
op
[N]
(c) Forza operatore
0 5 10 15 20 25
Time [s]
-40
-30
-20
-10
0
10
20
30
40
50
F
amb
[N]
Forza ambiente (k = 90, c = 7)
(d) Forza ambiente
0 5 10 15 20 25
Time [s]
-10
-8
-6
-4
-2
0
2
4
6
8
10
err
F
[N]
(e) Errore in forza
0 5 10 15 20 25
Time [s]
-0.1
-0.08
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
err
x
[m]
(f) Errore in posizione
Fig. 2.127: Risultati sperimentali della simulazione di un ambiente visco - elastico con
K = 90N
m e c = 7Ns
m , a velocità elevate
228
Progettazione del sistema di controllo aptico in impedenza
0 5 10 15 20 25 30 35
Time [s]
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
x
[m]
0 5 10 15 20 25 30 35
Time [s]
-1
-0.5
0
0.5
1
1.5
v
[m/s]
0 5 10 15 20 25 30 35
Time [s]
-40
-30
-20
-10
0
10
20
30
40
50
F
op
[N]
0 5 10 15 20 25 30 35
Time [s]
-50
-40
-30
-20
-10
0
10
20
30
40
50
F
amb
[N]
0 5 10 15 20 25 30 35
Time [s]
-5
-4
-3
-2
-1
0
1
2
3
4
err
F
[N]
0 5 10 15 20 25 30 35
Time [s]
-0.04
-0.03
-0.02
-0.01
0
0.01
0.02
err
x
[m]
Errore in posizione (k = 90, c = 20)
Fig. 2.128: Risultati sperimentali della simulazione di un ambiente visco - elastico con
K = 90N
m e c = 20Ns
m , a velocità sostenute
229
Controllo in forza
0 5 10 15 20 25
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
0 5 10 15 20 25
Time [s]
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
v
[m/s]
0 5 10 15 20 25
Time [s]
-60
-40
-20
0
20
40
60
F
op
[N]
0 5 10 15 20 25
Time [s]
-60
-40
-20
0
20
40
60
F
amb
[N]
0 5 10 15 20 25
Time [s]
-5
-4
-3
-2
-1
0
1
2
3
4
err
F
[N]
0 5 10 15 20 25
Time [s]
-0.03
-0.025
-0.02
-0.015
-0.01
-0.005
0
0.005
0.01
0.015
0.02
err
x
[m]
Fig. 2.129: Risultati sperimentali della simulazione di un ambiente visco - elastico con
K = 90N
m e c = 20Ns
m , a velocità elevate
230
Progettazione del sistema di controllo aptico in impedenza
0 5 10 15 20 25 30
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
0 5 10 15 20 25 30
Time [s]
-1.5
-1
-0.5
0
0.5
1
1.5
v
[m/s]
0 5 10 15 20 25 30
Time [s]
-40
-30
-20
-10
0
10
20
30
40
F
op
[N]
0 5 10 15 20 25 30
Time [s]
-50
-40
-30
-20
-10
0
10
20
30
40
50
F
amb
[N]
0 5 10 15 20 25 30
Time [s]
-8
-6
-4
-2
0
2
4
6
8
err
F
[N]
0 5 10 15 20 25 30
Time [s]
-0.1
-0.08
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
err
x
[m]
Fig. 2.130: Risultati sperimentali della simulazione di un ambiente visco - elastico con
K = 90N
m e c = 1Ns
m , a velocità sostenute
231
Controllo in forza
0 5 10 15 20 25 30
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
0 5 10 15 20 25 30
Time [s]
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
v
[m/s]
0 5 10 15 20 25 30
Time [s]
-40
-30
-20
-10
0
10
20
30
40
F
op
[N]
0 5 10 15 20 25 30
Time [s]
-50
-40
-30
-20
-10
0
10
20
30
40
50
F
amb
[N]
0 5 10 15 20 25 30
Time [s]
-15
-10
-5
0
5
10
15
err
F
[N]
0 5 10 15 20 25 30
Time [s]
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
err
x
[m]
Fig. 2.131: Risultati sperimentali della simulazione di un ambiente visco - elastico con
K = 90N
m e c = 1Ns
m , a velocità elevate
232
Progettazione del sistema di controllo aptico in impedenza
0 5 10 15 20 25
Time [s]
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
x
[m]
0 5 10 15 20 25
Time [s]
-1
-0.5
0
0.5
1
v
[m/s]
0 5 10 15 20 25
Time [s]
-30
-20
-10
0
10
20
30
40
F
op
[N]
0 5 10 15 20 25
Time [s]
-30
-20
-10
0
10
20
30
40
F
amb
[N]
0 5 10 15 20 25
Time [s]
-3
-2
-1
0
1
2
3
err
F
[N]
0 5 10 15 20 25
Time [s]
-0.025
-0.02
-0.015
-0.01
-0.005
0
0.005
0.01
0.015
0.02
err
x
[m]
Fig. 2.132: Risultati sperimentali della simulazione di un ambiente visco - elastico con
K = 45N
m e c = 20Ns
m , a velocità sostenute
233
Controllo in forza
0 5 10 15 20
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
0 5 10 15 20
Time [s]
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
v
[m/s]
0 5 10 15 20
Time [s]
-50
-40
-30
-20
-10
0
10
20
30
40
50
F
op
[N]
0 5 10 15 20
Time [s]
-50
-40
-30
-20
-10
0
10
20
30
40
50
F
amb
[N]
0 5 10 15 20
Time [s]
-5
-4
-3
-2
-1
0
1
2
3
4
err
F
[N]
0 5 10 15 20
Time [s]
-0.025
-0.02
-0.015
-0.01
-0.005
0
0.005
0.01
0.015
0.02
0.025
err
x
[m]
Fig. 2.133: Risultati sperimentali della simulazione di un ambiente visco - elastico con
K = 45N
m e c = 20Ns
m , a velocità elevate
234
Progettazione del sistema di controllo aptico in impedenza
0 5 10 15 20 25 30
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
0 5 10 15 20 25 30
Time [s]
-1
-0.5
0
0.5
1
v
[m/s]
0 5 10 15 20 25 30
Time [s]
-80
-60
-40
-20
0
20
40
60
80
F
op
[N]
0 5 10 15 20 25 30
Time [s]
-80
-60
-40
-20
0
20
40
60
80
F
amb
[N]
0 5 10 15 20 25 30
Time [s]
-8
-6
-4
-2
0
2
4
6
err
F
[N]
0 5 10 15 20 25 30
Time [s]
-0.04
-0.03
-0.02
-0.01
0
0.01
0.02
0.03
0.04
err
x
[m]
Fig. 2.134: Risultati sperimentali della simulazione di un ambiente visco - elastico con
K = 150N
m e c = 11.67Ns
m , a velocità basse
235
Controllo in forza
0 5 10 15 20 25 30 35
Time [s]
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
x
[m]
0 5 10 15 20 25 30 35
Time [s]
-1
-0.5
0
0.5
1
v
[m/s]
0 5 10 15 20 25 30 35
Time [s]
-80
-60
-40
-20
0
20
40
60
80
F
op
[N]
0 5 10 15 20 25 30 35
Time [s]
-80
-60
-40
-20
0
20
40
60
80
F
amb
[N]
0 5 10 15 20 25 30 35
Time [s]
-10
-8
-6
-4
-2
0
2
4
6
8
err
F
[N]
0 5 10 15 20 25 30 35
Time [s]
-0.06
-0.05
-0.04
-0.03
-0.02
-0.01
0
0.01
0.02
0.03
0.04
err
x
[m]
Fig. 2.135: Risultati sperimentali della simulazione di un ambiente visco - elastico con
K = 150N
m e c = 11.67Ns
m , a velocità sostenute
236
Progettazione del sistema di controllo aptico in impedenza
K
K
K [N
m
]
[N
m
]
[N
m
] c
c
c [Ns
m
]
[Ns
m
]
[Ns
m
] ωn
ωn
ωn [rad
s
]
[rad
s
]
[rad
s
] fn
fn
fn [Hz]
[Hz]
[Hz] ẋmax
ẋmax
ẋmax [m
s
]
[m
s
]
[m
s
] errF
errF
errF [%]
[%]
[%] errx
errx
errx [%]
[%]
[%] Kp
Kp
Kp
90 7 12.86 2.05 1.09 14.89 13.10 17
90 7 12.86 2.05 1.92 19.14 15.15 17
90 20 4.50 0.72 1.01 8.98 6.15 35
90 20 4.50 0.72 2.31 9.03 6.03 35
90 1 90 14.32 1.04 17.66 16.93 15
90 1 90 14.32 2.09 22.31 23.28 15
45 20 2.25 0.36 1.37 7.97 4.59 40
45 20 2.25 0.36 2.42 9.15 4.84 40
150 11.67 12.86 2.05 1.18 9.91 8.17 25
150 11.67 12.86 2.05 2.18 13.06 11.05 25
Tabella 2.5: Risultati sperimentali delle prove svolte per simulare differenti ambienti
visco - elastici
Conclusioni
Il sistema di controllo in impedenza in anello chiuso sintetizzato presenta delle ot-
time prestazioni; permette infatti di riprodurre in modo fedele e con un realistico
ritorno in forza il comportamento di un ampia gamma di ambienti visco - elastici,
anche di quelli caratterizzati da una dinamica piuttosto veloce. In particolare, mag-
giore è lo smorzamento c e minore è la rigidezza K dell’ambiente ideale in esame,
migliori sono le prestazioni del sistema di controllo. Inoltre, si ottengono dei buoni
risultati, in termini di errori in posizione e in forza, anche movimentando il manipolo
dell’interfaccia aptica con velocità molto elevate, con picchi intorno ai 2.2 − 2.3m
s
.
237
Controllo in forza
2.3.3 Ambiente completo
Adottando la strategia di controllo in impedenza in anello chiuso per simulare il
comportamento di un ambiente completo, le funzioni di trasferimento GFX e GFF
sono espresse dalle relazioni (2.81) e (2.82).
GFX =
Rf · meq
s2
1 + (ms2 + cs + k) · (1 + Rf ) · meq
s2
(2.81)
GFF =
Rf · (m · s2
+ cs + k) · meq
s2
1 + (ms2 + cs + k) · (1 + Rf ) · meq
s2
(2.82)
Sintesi del regolatore in forza
Per la sintesi del regolatore in forza si assume come ambiente ideale di riferimento
un sistema massa - molla - smorzatore caratterizzato da:
• m = 3 kg;
• c = 1 Ns
m
;
• k = 50 N
m
.
Si consideri, innanzitutto, di impiegare un controllore in forza di tipo puramente
proporzionale. In tal caso, GFX e GFF sono descritte dalle formule (2.83) e (2.84).
GFX =
Kp
( 1
meq
+ m + m · Kp)s2 + c · (1 + Kp)s + k · (1 + Kp)
(2.83)
GFF =
Kp · (ms2
+ cs + k)
( 1
meq
+ m + m · Kp)s2 + c · (1 + Kp)s + k · (1 + Kp)
(2.84)
µGF X
=
KP
k · (1 + KP )
(2.85)
µGF F
=
KP
(1 + KP )
(2.86)
Esse sono due funzioni di trasferimento con due poli e, rispettivamente, nessuno e
due zeri. I due poli hanno parte reale strettamente negativa per qualsiasi valore
del guadagno proporzionale, pertanto, il sistema di controllo in anello chiuso risulta
sempre asintoticamente stabile. Per quanto riguarda il comportamento statico, come
tipicamente avviene quando si impiega un controllore in forza di tipo puramente
238
Progettazione del sistema di controllo aptico in impedenza
proporzionale, GFX e GFF possiedono dei guadagni statici descritti dalle formule
(2.85) e (2.86), i quali sono diversi da quelli, rispettivamente, dell’ambiente ideale Gid
e della funzione di trasferimento unitaria. Tuttavia, facendo tendere Kp ad infinito,
l’errore in termini di guadagno statico delle funzioni di trasferimento in anello chiuso
tende asintoticamente a zero. Relativamente, invece, il comportamento dinamico, i
poli del sistema di controllo in anello chiuso sono caratterizzati da una pulsazione
naturale ωn,p e uno smorzamento xip espressi, rispettivamente, dalle formule (2.87)
e (2.88).
ωn,p =
s
k · (1 + Kp)
1
meq
+ m + m · Kp
(2.87)
ξp =
c
2
√
k
s
1 + Kp
1
meq
+ m + m · Kp
(2.88)
La funzione di trasferimento Gid dell’ambiente completo in esame presenta due poli
complessi coniugati, caratterizzati da uno smorzamento ξid = 0.041 e una pulsazione
naturale ωn,id = 4.08 rad
s
. Dato che la funzione di trasferimento GFX del sistema
di controllo in anello chiuso deve riprodurre nel modo più preciso e fedele possibile
il comportamento di Gid, è necessario che anch’essa presenti due poli complessi
coniugati, proprio come l’ambiente ideale considerato. In Fig.2.136 sono riportati
gli andamenti della pulsazione naturale e dello smorzamento dei poli del sistema di
controllo in anello chiuso, in funzione del guadagno proporzionale del regolatore in
forza. Dai grafici si può osservare che:
• lo smorzamento ξp è compreso tra 0 e 1 e, quindi, i poli del sistema di controllo
in anello chiuso sono complessi coniugati, per qualsiasi valore del guadagno Kp;
• la pulsazione naturale ωn,p tende asintoticamente alla pulsazione propria ωn,id
dell’ambiente ideale Gid considerato, al crescere del guadagno proporzionale;
• lo smorzamento ξp tende asintoticamente allo smorzamento ξid dei poli com-
plessi coniugati dell’ambiente ideale Gid considerato, al crescere del guadagno
proporzionale.
Pertanto, sulla base delle considerazioni svolte, si può prevedere che il diagramma
di Bode di GFX tenda asintoticamente a coincidere con il corrispondente grafico
239
Controllo in forza
0 10 20 30 40 50 60 70 80 90 100
Kp
3.8
3.85
3.9
3.95
4
4.05
4.1
n
Ideale
Sistema
(a) Pulsazione naturale
0 10 20 30 40 50 60 70 80 90 100
Kp
0.038
0.0385
0.039
0.0395
0.04
0.0405
0.041
Ideale
Sistema
(b) Smorzamento
Fig. 2.136: Pulsazione naturale e smorzamento dei poli del sistema di controllo in impe-
denza anello chiuso, in funzione del guadagno proporzionale Kp.
dell’ambiente ideale Gid, al crescere del guadagno Kp. Ciò lo si riscontra, effettiva-
mente, in Fig.2.137, dove è rappresentato il diagramma di Bode della funzione di
trasferimento, per diversi valori del guadagno proporzionale. Per quanto riguarda
invece GFF , presenta anche due zeri, i quali coincidono con i due poli dell’ambiente
ideale che si desidera simulare. Dato che, come precedentemente detto, i due poli
del sistema di controllo in anello chiuso tendono asintoticamente ai due poli di Gid,
accade che i due zeri di GFF tendono a cancellare maggiormente i due poli della
medesima funzione, al crescere del guadagno proporzionale. Pertanto, si può pre-
vedere che il diagramma di Bode di GFF tenda a riprodurre in modo più preciso il
corrispondente diagramma della funzione di trasferimento unitaria, al crescere del
guadagno proporzionale del regolatore in forza. Ciò lo si riscontra, effettivamente,
in Fig.2.138, dove è rappresentato il diagramma di Bode della suddetta funzione di
trasferimento, per diversi valori del guadagno Kp.
240
Progettazione del sistema di controllo aptico in impedenza
10-1
100
f [Hz]
-220
-200
-180
-160
-140
-120
-100
-80
-60
-40
-20
Magnitude
[dB]
Gid
GFX
(Kp
= 0.01)
GFX
(Kp
= 1)
GFX
(Kp
= 10)
0.4 0.5 0.6 0.7 0.8 0.9 1
f [Hz]
-180
-160
-140
-120
-100
-80
-60
-40
-20
0
Phase
[deg]
Gid
GFX
(Kp
= 0.01)
GFX
(Kp
= 1)
GFX
(Kp
= 10)
Fig. 2.137: Diagramma di Bode di GFX, per diversi valori del guadagno proporzionale
Kp.
10-1
100
f [Hz]
-15
-10
-5
0
5
10
15
Magnitude
[dB]
GFF
(Kp
= 0.01)
GFF
(Kp
= 1)
GFF
(Kp
= 10)
(a) Modulo
0.4 0.5 0.6 0.7 0.8 0.9 1
f [Hz]
-100
-90
-80
-70
-60
-50
-40
-30
-20
-10
0
10
Phase
[deg]
GFF
(Kp
= 0.01)
GFF
(Kp
= 1)
GFF
(Kp
= 10)
(b) Fase
Fig. 2.138: Diagramma di Bode di GFF , per diversi valori del guadagno proporzionale
Kp.
241
Controllo in forza
Si può concludere che, impiegando un guadagno proporzionale Kp sufficientemente
elevato, il sistema di controllo in impedenza in anello chiuso progettato, caratte-
rizzato da un controllore in forza di tipo puramente proporzionale e impiegato per
simulare un ambiente completo, presenta delle ottime prestazioni. Esso, infatti, è
in grado di simulare in modo fedele il comportamento dell’ambiente ideale consi-
derato e di fornire all’operatore un ritorno in forza approssimativamente pari alla
forza generata dall’ambiente virtuale. Il limite dell’approccio impiegato è che, come
già sottolineato in precedenza, non è possibile utilizzare un valore molto elevato del
guadagno Kp, qualora si applichi il presente sistema di controllo all’interfaccia aptica
a disposizione poichè tenderebbe a vibrare e quindi instabilizzarsi. Per migliorare
le prestazioni del sistema di controllo in impedenza in anello chiuso e risolvere, per
esempio, il problema del guadagno statico, si può introdurre una componente in-
tegrativa, in aggiunta a quella proporzionale, nel regolatore in forza. Pertanto, si
analizza ora l’impiego di un controllore in forza di tipo proporzionale - integrale. In
tal caso, GFX e GFF sono descritte dalle formule (2.89) e (2.90).
GFX =
Kps + KI
s3( 1
meq
+ m + m · Kp) + s2(c + c · Kp + m · KI) + s(k + k · Kp + c · KI) + k · KI
(2.89)
GFF =
(Kps + KI)(ms2
+ cs + k)
s3( 1
meq
+ m + m · Kp) + s2(c + c · Kp + m · KI) + s(k + k · Kp + c · KI) + k · KI
(2.90)
GFX e GFF sono due funzioni di trasferimento con tre poli e, rispettivamente, uno e
tre zeri. I poli hanno tutti parte reale strettamente negativa per qualsiasi valore dei
due guadagni del regolatore in forza. Pertanto, il sistema di controllo in anello chiu-
so è asintoticamente stabile, per qualsiasi valore di Kp e KI. Per quanto riguarda il
comportamento statico, l’introduzione di una componente integrativa nel regolatore
in forza rende i guadagni statici delle due funzioni di trasferimento pari, rispettiva-
mente, a quelli di Gid e della funzione di trasferimento unitaria, come desiderato.
Per quanto riguarda il comportamento dinamico, si può osservare che, per qualsiasi
valore di Kp e KI, GFX presenta:
• due poli complessi coniugati;
• un polo reale;
242
Progettazione del sistema di controllo aptico in impedenza
• uno zero reale che tende a cancellare il polo reale.
Pertanto, si può interpretare la funzione di trasferimento come costituita da due poli
complessi coniugati e nessuno zero, proprio come il sistema ideale preso in considera-
zione. Inoltre, si riscontra che, a parità di parametro Kp ed al crescere del guadagno
integrativo, i due poli complessi coniugati tendono asintoticamente a coincidere con
quelli dell’ambiente ideale Gid, preso in considerazione. Lo stesso comportamento
dei poli complessi coniugati del sistema in anello chiuso lo si ha mantenendo co-
stante il guadagno integrativo e aumentando progressivamente quello proporzionale.
Quanto affermato lo si può riscontrare nelle Fig.2.139 e Fig.2.140, dove sono rappre-
sentanti gli andamenti della pulsazione naturale e dello smorzamento dei due poli
complessi coniugati, del polo e dello zero reale di GFX, in funzione, rispettivamente,
di Kp e KI. Dall’analisi svolta si può prevedere che, al crescere dei due guadagni
del regolatore in forza, il diagramma di Bode di GFX approssimi il corrispondente
diagramma di Gid in modo più preciso e su un più ampio range di frequenze. Ciò lo
si riscontra, effettivamente, nelle Fig.2.141 e Fig.2.142, dove è rappresentato il dia-
gramma di Bode della funzione di trasferimento, per diversi valori, rispettivamente,
di Kp e di KI. La funzione di trasferimento GFF presenta i medesimi poli di GFX
e possiede, inoltre, tre zeri, i quali sono:
• uno reale in z = −Ki
Kp
, che coincide con lo zero di GFX;
• due complessi coniugati, i quali coincidono con i due poli dell’ambiente ideale
Gid preso in considerazione.
Siccome i due poli complessi coniugati di GFF si spostano asintoticamente verso
quelli dell’ambiente ideale, i due zeri della funzione di trasferimento tendono a can-
cellare sempre di più i suoi due poli complessi coniugati, al crescere di Kp e di KI.
Pertanto, si può prevedere che, all’incrementare dei due guadagni del controllore in
forza, il diagramma di Bode di GFF approssimi su un più ampio range di frequen-
ze il corrispondente diagramma della funzione di trasferimento unitaria. Ciò lo si
riscontra, effettivamente, nelle Fig.2.143 e Fig.2.144, dove è riportato il diagramma
di Bode di GFF , per diversi valori, rispettivamente, di Kp e di KI.
243
Controllo in forza
0 10 20 30 40 50 60 70 80 90 100
Ki
-50
-45
-40
-35
-30
-25
-20
-15
-10
-5
0
Zero reale
Polo reale
(a) Polo e zero reali
0 10 20 30 40 50 60 70 80 90 100
Ki
3.94
3.96
3.98
4
4.02
4.04
4.06
4.08
4.1
n
Ideale
Sistema
(b) Pulsazione naturale
0 10 20 30 40 50 60 70 80 90 100
Ki
0.022
0.024
0.026
0.028
0.03
0.032
0.034
0.036
0.038
0.04
0.042
n
Ideale
Sistema
(c) Smorzamento
Fig. 2.139: Andamenti del polo reale, dello zero, della pulsazione naturale e dello smor-
zamento dei poli complessi coniugati di GFX, in funzione di Ki e per Kp = 1.
244
Progettazione del sistema di controllo aptico in impedenza
0 10 20 30 40 50 60 70 80 90 100
Kp
-1
-0.9
-0.8
-0.7
-0.6
-0.5
-0.4
-0.3
-0.2
-0.1
0
Zero reale
Polo reale
(a) Polo e zero reali
0 10 20 30 40 50 60 70 80 90 100
Kp
3.8
3.85
3.9
3.95
4
4.05
4.1
n
Ideale
Sistema
(b) Pulsazione naturale
0 10 20 30 40 50 60 70 80 90 100
Kp
0.022
0.024
0.026
0.028
0.03
0.032
0.034
0.036
0.038
0.04
0.042
n
Ideale
Sistema
(c) Smorzamento
Fig. 2.140: Andamenti del polo reale, dello zero, della pulsazione naturale e dello smor-
zamento dei poli complessi coniugati di GFX, in funzione di Kp e per Ki = 1.
245
Controllo in forza
10-1
100
f [Hz]
-220
-200
-180
-160
-140
-120
-100
-80
-60
-40
-20
Magnitude
[dB]
Gid
GFX
(Kp
= 0.01)
GFX
(Kp
= 1)
GFX
(Kp
= 10)
(a) Modulo
10-1
100
101
f [Hz]
-250
-200
-150
-100
-50
0
Phase
[deg]
Gid
GFX
(Kp
= 0.01)
GFX
(Kp
= 1)
GFX
(Kp
= 10)
(b) Fase
Fig. 2.141: Diagramma di Bode di GFX, per diversi valori di Kp e per Ki = 1.
10-1
100
101
f [Hz]
-220
-200
-180
-160
-140
-120
-100
-80
-60
-40
-20
Magnitude
[dB]
Gid
GFX
(Ki
= 1)
GFX
(Ki
= 10)
GFX
(Ki
= 50)
(a) Modulo
10-1
100
101
f [Hz]
-250
-200
-150
-100
-50
0
Phase
[deg]
Gid
GFX
(Ki
= 1)
GFX
(Ki
= 10)
GFX
(Ki
= 50)
(b) Fase
Fig. 2.142: Diagramma di Bode di GFX, per diversi valori di Ki e per Kp = 1.
246
Progettazione del sistema di controllo aptico in impedenza
10-1
100
101
f [Hz]
-15
-10
-5
0
5
10
15
20
Magnitude
[dB]
GFF
(Kp
= 0.1)
GFF
(Kp
= 1)
GFF
(Kp
= 10)
(a) Modulo
0.4 0.5 0.6 0.7 0.8 0.9 1
f [Hz]
-90
-80
-70
-60
-50
-40
-30
-20
-10
0
10
Phase
[deg]
GFF
(Kp
= 0.1)
GFF
(Kp
= 1)
GFF
(Kp
= 10)
(b) Fase
Fig. 2.143: Diagramma di Bode di GFF , per diversi valori di Kp e per Ki = 1.
10-1
100
101
f [Hz]
-8
-6
-4
-2
0
2
4
6
8
10
12
Magnitude
[dB]
GFF
(Ki
= 1)
GFF
(Ki
= 10)
GFF
(Ki
= 50)
(a) Modulo
0.4 0.5 0.6 0.7 0.8 0.9 1
f [Hz]
-50
-40
-30
-20
-10
0
10
Phase
[deg]
GFF
(Ki
= 1)
GFF
(Ki
= 10)
GFF
(Ki
= 50)
(b) Fase
Fig. 2.144: Diagramma di Bode di GFF , per diversi valori di Ki e per Kp = 1.
247
Controllo in forza
Pertanto, dall’analisi svolta si può concludere che, maggiori sono i guadagni propor-
zionale ed integrale del regolatore in forza, migliori sono le prestazioni del sistema di
controllo in impedenza in anello chiuso progettato. Tuttavia, come già sottolineato,
simulando un ambiente completo sul banco di prova a disposizione, non risulta pos-
sibile incrementare eccessivamente i parametri Kp e KI in quanto il sistema tende
a instabilizzarsi.
248
Progettazione del sistema di controllo aptico in impedenza
0 5 10 15 20 25 30
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
Fig. 2.145: Spostamento del manipolo, durante la simulazione di un ambiente completo
caratterizzato da: m = 3Kg, c = 1Ns
m e k = 50N
m
Risultati sperimentali
Per testare le prestazioni del sistema di controllo in anello chiuso appena progettato,
caratterizzato da un controllore in forza di tipo proporzionale - integrale, lo si applica
all’interfaccia aptica a disposizione allo scopo di simulare un ambiente completo,
costituito da una massa m = 3 Kg, un coefficiente di smorzamento c = 1 Ns
m
e una
rigidezza k = 50 N
m
. Sono state svolte delle prove analoghe a quelle descritte in
precedenza, in cui si è mosso più volte il manipolo avanti e indietro tra i due fine
corsa dell’interfaccia e sono state misurate e/o calcolate una serie di grandezze, quali
lo spostamento, la velocità e l’accelerazione lineare del manipolo, la forza operatore e
la forza ambiente, i cui andamenti, in funzione del tempo, ottenuti durante una delle
suddette prove, sono riportati nelle Fig.2.145, Fig.2.146, Fig.2.147, 2.148 e Fig.2.149.
Essendo un ambiente completo un sistema dinamico, è significativo svolgere le prove
a delle velocità e accelerazioni lineari abbastanza sostenute. Per esempio, dalle
Fig.2.146 e Fig.2.147 si può osservare che, durante la prova presa in esame, la velocità
e l’accelerazione lineare del manipolo presentano dei picchi, rispettivamente, attorno
a 0.97 m
s
e 3.58 m
s2 .
249
Controllo in forza
0 5 10 15 20 25 30
Time [s]
-1
-0.5
0
0.5
1
v
[m/s]
Fig. 2.146: Velocità del manipolo, durante la simulazione di un ambiente completo ca-
ratterizzato da: m = 3Kg, c = 1Ns
m e k = 50N
m
0 5 10 15 20 25 30
Time [s]
-4
-3
-2
-1
0
1
2
3
a
[m/s
2
]
Fig. 2.147: Accelerazione del manipolo, durante la simulazione di un ambiente completo
caratterizzato da: m = 3Kg, c = 1Ns
m e k = 50N
m
250
Progettazione del sistema di controllo aptico in impedenza
0 5 10 15 20 25 30
Time [s]
-25
-20
-15
-10
-5
0
5
10
15
20
25
F
op
[N]
Fig. 2.148: Forza applicata dall’operatore sul manipolo, durante la simulazione di un
ambiente completo caratterizzato da: m = 3Kg, c = 1Ns
m e k = 50N
m
0 5 10 15 20 25 30
Time [s]
-25
-20
-15
-10
-5
0
5
10
15
20
25
F
amb
[N]
Fig. 2.149: Forza generata dall’ambiente virtuale, durante la simulazione di un ambiente
completo caratterizzato da: m = 3Kg, c = 1Ns
m e k = 50N
m .
251
Controllo in forza
0 5 10 15 20 25 30
Time [s]
-25
-20
-15
-10
-5
0
5
10
15
20
25
F
[N]
Famb
Fop
Fig. 2.150: Andamenti sovrapposti di Fop e Famb, durante la simulazione di un ambiente
completo caratterizzato da: m = 3Kg, c = 1Ns
m e k = 50N
m .
In Fig.2.150 sono rappresentati sovrapposti gli andamenti, in funzione del tempo,
delle forze Fop e Famb, mentre in Fig.2.151 è riportato l’andamento dell’errore in
forza, valutato come la differenza tra la forza esercitata dall’operatore sul manipolo
e la forza generata dall’ambiente virtuale. Dai diagrammi si riscontra che:
• la forza massima applicata dall’operatore è pari a 21.34 N;
• l’errore massimo in forza è pari a 3.18 N.
Pertanto, si può concludere che l’errore massimo in forza risulta essere pari al 14.93%
della forza Fop massima.
252
Progettazione del sistema di controllo aptico in impedenza
0 5 10 15 20 25 30
Time [s]
-3
-2
-1
0
1
2
3
4
err
F
[N]
Fig. 2.151: Errore in forza, durante la simulazione di un ambiente completo caratteriz-
zato da: m = 3Kg, c = 1Ns
m e k = 50N
m .
In Fig.2.152 sono rappresentati sovrapposti gli andamenti, in funzione del tempo,
delle risposte dell’ambiente ideale considerato e dell’interfaccia aptica controllata
mediante una strategia di controllo in impedenza in anello chiuso. In Fig.2.153
è riportato, invece,l’errore in posizione, in funzione del tempo. Dai diagrammi si
riscontra che:
• lo spostamento massimo compiuto dal manipolo è pari a 0.46 m;
• l’errore massimo in posizione è pari a 0.09 m.
Pertanto, si può concludere che l’errore massimo in posizione risulta essere pari al
20.13% dello spostamento massimo del manipolo.
253
Controllo in forza
0 5 10 15 20 25 30
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
Molla ideale
Banchetto
Fig. 2.152: Andamenti sovrapposti delle risposte in posizione di un ambiente completo,
caratterizzato da: m = 3Kg, c = 1Ns
m e k = 50N
m , e dell’interfaccia aptica
controllata in impedenza in anello chiuso.
0 5 10 15 20 25 30
Time [s]
-0.1
-0.08
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1
err
x
[m]
Fig. 2.153: Errore in posizione, durante la simulazione di un ambiente completo carat-
terizzato da: m = 3Kg, c = 1Ns
m e k = 50N
m .
254
Progettazione del sistema di controllo aptico in impedenza
Simulando mediante l’interfaccia aptica il medesimo ambiente e movimentando,
però, il manipolo con delle velocità lineari più elevate, si è riscontrato che gli errori
percentuali massimi in posizione e in forza aumentano, coerentemente con quanto
ci si aspetta. Infatti, come già detto, più rapidamente si muove il manipolo, più
veloce è la dinamica della forza operatore applicata in ingresso al sistema in anello
chiuso e, pertanto, maggiore è l’errore commesso da quest’ultimo nell’inseguire tale
segnale di riferimento. In particolare, movimentando il manipolo con delle velocità
molto elevate, con picchi intorno ai 2−2.5 m
s
, gli errori percentuali massimi in forza
e, soprattutto, in posizione risultano essere molto alti e, pertanto, non accettabili.
Per valutare come variano le prestazioni del sistema di controllo in impedenza in
anello chiuso in funzione delle caratteristiche (m, c e k) dell’ambiente ideale, sono
state effettuate numerose prove in cui si è simulato differenti ambienti virtuali. Per
esempio, un’analisi condotta consiste nel fissare due dei tre parametri, che caratte-
rizzano l’ambiente ideale, far variare il terzo e valutare, in tali condizioni, i massimi
errori percentuali in forza e in posizione commessi.
255
Controllo in forza
Nelle Fig.2.154, Fig.2.155, Fig.2.156, Fig.2.157 e Fig.2.158 sono riportati i risultati
sperimentali delle prove, a velocità sostenute e a velocità molto elevate. Un’altra
analisi condotta è stata quella di valutare quali tra i due parametri m e k influenza
maggiormente le prestazioni del sistema di controllo in ammettenza in anello chiu-
so. Per fare ciò, si è fissato il coefficiente di smorzamento c e si è variato gli altri
due parametri, mantenendo, però, costante il loro rapporto k
m
. Nelle Fig.2.159 e
Fig.2.160 sono riportati i risultati sperimentali delle simulazioni eseguite a velocità,
rispettivamente, sostenute e molto elevate. Nella tabella 2.6 sono riassunte le nove
prove svolte sull’interfaccia aptica a disposizione, in termini di massima velocità e
accelerazione lineare del manipolo ed errori percentuali massimi in posizione e in for-
za. In primo luogo, si può osservare che, aumentando il coefficiente di smorzamento
c e fissando gli altri parametri, si riducono gli errori percentuali massimi in posizione
e in forza, a parità di velocità di movimentazione del manipolo. Allo stesso modo, si
riscontra che, mantenendo costanti i coefficienti c e m ed incrementando la rigidezza
k, gli errori percentuali massimi si riducono, sempre a parità di velocità lineare del
manipolo. In particolare, dai risultati ottenuti, si può osservare che, tra i parametri
c e k, quello che influenza maggiormente le prestazioni del sistema di controllo in
ammettenza in anello chiuso progettato è la rigidezza dell’ambiente ideale. Infatti,
si può notare che triplicando quest’ultimo parametro, gli errori percentuali massimi
in posizione e forza diminuiscono più di quanto non facciano incrementando di dieci
volte il coefficiente di smorzamento c. Viceversa, si è osservato che, a parità di:
rigidezza k, coefficiente di smorzamento c e di velocità ẋ, raddoppiando la massa
m, l’errore percentuale massimo in forza aumenta e diventa pari a 30.84%, mentre
l’errore percentuale massimo in posizione risulta essere pari a 52.52%: tali valori non
chiaramente sono accettabili. Infine, dalla tabella 2.6 si evince che, triplicando sia la
massa sia la rigidezza k e mantenendo costante il coefficiente di smorzamento c del-
l’ambiente ideale, gli errori percentuali massimi in posizione e in forza aumentano,
a parità di velocità di movimentazione del manipolo. Pertanto, si può dedurre che,
tra i due parametri, quello che influenza maggiormente le performance del sistema
di controllo in impedenza in anello chiuso è la massa m dell’ambiente virtuale che si
desidera simulare.
256
Progettazione del sistema di controllo aptico in impedenza
0 5 10 15 20
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
(a) Spostamento manipolo
0 5 10 15 20
Time [s]
-1.5
-1
-0.5
0
0.5
1
1.5
v
[m/s]
(b) Velocità manipolo
0 5 10 15 20
Time [s]
-25
-20
-15
-10
-5
0
5
10
15
20
F
op
[N]
(c) Forza operatore
0 5 10 15 20
Time [s]
-25
-20
-15
-10
-5
0
5
10
15
20
F
amb
[N]
(d) Forza ambiente
0 5 10 15 20
Time [s]
-3
-2
-1
0
1
2
3
err
F
[N]
(e) Errore in forza
0 5 10 15 20
Time [s]
-0.04
-0.03
-0.02
-0.01
0
0.01
0.02
0.03
0.04
err
x
[m]
(f) Errore in posizione
Fig. 2.154: Risultati sperimentali della simulazione di un ambiente completo con m =
3Kg, c = 10Ns
m e k = 50N
m , a velocità sostenute.
257
Controllo in forza
0 2 4 6 8 10 12 14 16 18
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
(a) Spostamento manipolo
0 2 4 6 8 10 12 14 16 18
Time [s]
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
v
[m/s]
(b) Velocità manipolo
0 2 4 6 8 10 12 14 16 18
Time [s]
-30
-20
-10
0
10
20
30
40
F
op
[N]
(c) Forza operatore
0 2 4 6 8 10 12 14 16 18
Time [s]
-30
-20
-10
0
10
20
30
F
amb
[N]
(d) Forza ambiente
0 2 4 6 8 10 12 14 16 18
Time [s]
-4
-3
-2
-1
0
1
2
3
4
err
F
[N]
(e) Errore in forza
0 2 4 6 8 10 12 14 16 18
Time [s]
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
err
x
[m]
(f) Errore in posizione
Fig. 2.155: Risultati sperimentali della simulazione di un ambiente completo con m =
3Kg, c = 10Ns
m e k = 50N
m , a velocità elevate.
258
Progettazione del sistema di controllo aptico in impedenza
0 5 10 15 20 25 30 35
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
(a) Spostamento manipolo
0 5 10 15 20 25 30 35
Time [s]
-1.5
-1
-0.5
0
0.5
1
1.5
v
[m/s]
(b) Velocità manipolo
0 5 10 15 20 25 30 35
Time [s]
-20
-15
-10
-5
0
5
10
15
20
25
F
op
[N]
(c) Forza operatore
0 5 10 15 20 25 30 35
Time [s]
-20
-15
-10
-5
0
5
10
15
20
25
F
amb
[N]
(d) Forza ambiente
0 5 10 15 20 25 30 35
Time [s]
-6
-4
-2
0
2
4
6
8
err
F
[N]
(e) Errore in forza
0 5 10 15 20 25 30 35
Time [s]
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
err
x
[m]
(f) Errore in posizione
Fig. 2.156: Risultati sperimentali della simulazione di un ambiente completo con m =
6Kg, c = 1Ns
m e k = 50N
m , a velocità sostenute.
259
Controllo in forza
0 5 10 15 20 25 30 35 40 45
Time [s]
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
x
[m]
(a) Spostamento manipolo
0 5 10 15 20 25 30 35 40 45
Time [s]
-1.5
-1
-0.5
0
0.5
1
1.5
v
[m/s]
(b) Velocità manipolo
0 5 10 15 20 25 30 35 40 45
Time [s]
-60
-40
-20
0
20
40
60
80
F
op
[N]
(c) Forza operatore
0 5 10 15 20 25 30 35 40 45
Time [s]
-60
-40
-20
0
20
40
60
80
F
amb
[N]
(d) Forza ambiente
0 5 10 15 20 25 30 35 40 45
Time [s]
-4
-3
-2
-1
0
1
2
3
4
err
F
[N]
(e) Errore in forza
0 5 10 15 20 25 30 35 40 45
Time [s]
-0.05
-0.04
-0.03
-0.02
-0.01
0
0.01
0.02
0.03
0.04
0.05
err
x
[m]
(f) Errore in posizione
Fig. 2.157: Risultati sperimentali della simulazione di un ambiente completo con m =
3Kg, c = 1Ns
m e k = 150N
m , a velocità sostenute.
260
Progettazione del sistema di controllo aptico in impedenza
0 5 10 15 20 25 30
Time [s]
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
x
[m]
(a) Spostamento manipolo
0 5 10 15 20 25 30
Time [s]
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
v
[m/s]
(b) Velocità manipolo
0 5 10 15 20 25 30
Time [s]
-80
-60
-40
-20
0
20
40
60
80
F
op
[N]
(c) Forza operatore
0 5 10 15 20 25 30
Time [s]
-80
-60
-40
-20
0
20
40
60
80
F
amb
[N]
(d) Forza ambiente
0 5 10 15 20 25 30
Time [s]
-5
-4
-3
-2
-1
0
1
2
3
4
5
err
F
[N]
(e) Errore in forza
0 5 10 15 20 25 30
Time [s]
-0.1
-0.05
0
0.05
0.1
0.15
err
x
[m]
(f) Errore in posizione
Fig. 2.158: Risultati sperimentali della simulazione di un ambiente completo con m =
3Kg, c = 1Ns
m e k = 150N
m , a velocità elevate.
261
Controllo in forza
0 5 10 15 20 25
Time [s]
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
(a) Spostamento manipolo
0 5 10 15 20 25
Time [s]
-1.5
-1
-0.5
0
0.5
1
v
[m/s]
(b) Velocità manipolo
0 5 10 15 20 25
Time [s]
-60
-40
-20
0
20
40
60
F
op
[N]
(c) Forza operatore
0 5 10 15 20 25
Time [s]
-60
-40
-20
0
20
40
60
F
amb
[N]
(d) Forza ambiente
0 5 10 15 20 25
Time [s]
-10
-8
-6
-4
-2
0
2
4
6
8
10
err
F
[N]
(e) Errore in forza
0 5 10 15 20 25
Time [s]
-0.1
-0.05
0
0.05
0.1
0.15
err
x
[m]
(f) Errore in posizione
Fig. 2.159: Risultati sperimentali della simulazione di un ambiente completo con m =
9Kg, c = 1Ns
m e k = 150N
m , a velocità sostenute.
262
Progettazione del sistema di controllo aptico in impedenza
0 2 4 6 8 10 12 14 16 18
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
(a) Spostamento manipolo
0 2 4 6 8 10 12 14 16 18
Time [s]
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
v
[m/s]
(b) Velocità manipolo
0 2 4 6 8 10 12 14 16 18
Time [s]
-10
-8
-6
-4
-2
0
2
4
6
8
10
a
[m/s
2
]
(c) Accelerazione manipolo
0 2 4 6 8 10 12 14 16 18
Time [s]
-40
-30
-20
-10
0
10
20
30
40
50
F
op
[N]
(d) Forza operatore
0 2 4 6 8 10 12 14 16 18
Time [s]
-30
-20
-10
0
10
20
30
40
50
F
amb
[N]
(e) Forza ambiente
0 2 4 6 8 10 12 14 16 18
Time [s]
-15
-10
-5
0
5
10
15
20
err
F
[N]
(f) Errore in forza
Fig. 2.160: Risultati sperimentali della simulazione di un ambiente completo con m =
9Kg, c = 1Ns
m e k = 150N
m , a velocità elevate.
263
Controllo in forza
k
k
k c
c
c m
m
m fn
fn
fn ξ
ξ
ξ ẋmax
ẋmax
ẋmax ẍmax
ẍmax
ẍmax errF
errF
errF errx
errx
errx KP
KP
KP Ki
Ki
Ki
[N
m
]
[N
m
]
[N
m
] [Ns
m
]
[Ns
m
]
[Ns
m
] [Kg]
[Kg]
[Kg] [Hz]
[Hz]
[Hz] [m
s
]
[m
s
]
[m
s
] [m
s2 ]
[m
s2 ]
[m
s2 ] [%]
[%]
[%] [%]
[%]
[%]
50 1 3 0.65 0.041 0.97 3.58 14.93 20.13 20 150
50 10 3 0.65 0.41 1.06 3.48 12.52 8.06 25 150
50 10 3 0.65 0.41 2.02 9.90 12.32 32.46 25 150
50 1 6 0.46 0.029 1.09 3.33 30.84 52.52 12 80
150 1 3 1.12 0.024 1.17 4.02 4.84 8.79 20 150
150 1 3 1.12 0.024 2.05 9.25 6.93 20.99 20 150
150 1 9 0.65 0.014 1.03 3.54 16.92 21.93 5 100
Tabella 2.6: Risultati sperimentali delle prove svolte per simulare differenti ambienti
completi
Conclusioni
Dai risultati sperimentali ottenuti, si può concludere che il sistema di controllo
in impedenza in anello chiuso progettato è in grado di simulare con delle ottime
prestazioni ambienti completi sufficientemente rigidi, smorzati e poco inerziali. Im-
piegandolo, invece, per riprodurre sistemi massa - molla - smorzatore con inerzie
piuttosto elevate, esso presenta delle performance troppo basse e, di conseguenza,
non accettabili, soprattutto in termini di risposta in posizione. Inoltre, le prestazioni
del sistema di controllo in impedenza in anello chiuso progettato sono adeguate solo
se si movimenta il manipolo con delle velocità lineari non eccessivamente elevate,
con picchi intorno ai 1 − 1.5 m
s
. Infatti, spostando il manipolo con velocità notevoli,
attorno ai 2.3m
s
, gli errori percentuali massimi in forza e in posizione sono eccessivi
e, pertanto, non accettabili.
264
Confronto fra i sistemi di controllo aptici progettati
2.4 Confronto fra i sistemi di controllo aptici pro-
gettati
Nei sotto - paragrafi 2.3 e 2.2 sono stati progettati i sistemi di controllo in ammet-
tenza e in impedenza in anello chiuso per tre diverse tipologie di ambienti virtuali:
elastico, visco-elastico e completo, ossia un sistema caratterizzato da massa, molla
e smorzatore, a partire dai quali se ne possono, poi, sviluppare molti altri. Per
ciascuna delle due strategie di controllo in forza e per ciascuna tipologia di ambien-
te virtuale, sono state analizzate le prestazioni del sistema in funzione di differenti
caratteristiche dell’ambiente ideale in esame, in termini di massa, smorzamento, ri-
gidezza e/o frequenza naturale ed al variare della velocità di movimentazione del
manipolo dell’interfaccia aptica impiegata. Nella presente sotto - sezione si metto-
no a confronto i sistemi di controllo in ammettenza e in impedenza in anello chiuso
sintetizzati, per ciascuna tipologia di ambiente virtuale presa in considerazione. L’o-
biettivo è quello di mettere in evidenza quali sono i punti di forza e di debolezza
delle due strategie di controllo impiegate, a partire dai risultati sperimentali ottenu-
ti, in modo tale da individuare quale offre le migliori prestazioni e, quindi, conviene
implementare per riprodurre il comportamento di ciascun ambiente virtuale.
2.4.1 Ambiente elastico
Dopo aver simulato l’ambiente molla sul banco di prova, è doveroso fare un confronto
fra i risultati ottenuti impiegando le due differenti tipologie di sistemi di controllo,
in impedenza e in ammettenza, entrambi in anello chiuso. In ciascuna soluzione, si
nota come le prestazioni del controllo aptico migliorino aumentando la rigidezza della
molla ideale che si intende simulare: infatti, incrementando Km, gli errori in forza
ed in posizione tendono a ridursi. Pertanto la sensazione tattile fornita all’utente
che adopera il banco di prova rispecchia quella desiderata maggiore è la rigidezza
della molla scelta. Focalizzando l’attenzione sugli errori in posizione ed in forza, è
evidente come nel controllo in impedenza siano minori e quindi si riesca a riprodurre
con maggior accuratezza il comportamento ideale voluto. Il confronto viene fatto a
parità di velocità di movimentazione del manipolo, comprese tra 0.4m
s
e 0.6 m
s
: più
265
Controllo in forza
rapido è il movimento e peggiori sono i risultati che si ottengono in termini di errori
in posizione e in forza data la maggior dinamica del segnale di riferimento in ingresso
al sistema di controllo. Un altro importate aspetto che si è manifestato nelle varie
prove condotte, è l’effetto, sulle performance del sistema di controllo, della differente
tipologia di impugnatura del manipolo: il controllo in ammettenza risulta essere più
sensibile a ciò e quindi, di fronte ad una presa inadeguata rispetto a quella per
cui è stato progettato, tende a instabilizzare il sistema facendo vibrare il manipolo
afferrato. Un’ulteriore sostanziale differenza tra le due tipologie di controllo è nel
regolatore di forza adottato in quanto in impedenza viene utilizzato un PD, che si è
visto non condurre precisamente alla posizione di regime desiderata seppur l’errore
sia trascurabile, mentre in ammettenza un puro integratore, che consente di simulare
in maniera efficace l’ambiente ideale. Infine, un’ulteriore prova che permette di
prediligere il controllo in impedenza a quello in ammettenza, riguarda l’ambiente
trasparenza in cui l’obiettivo è quello di far avvertire all’utente la minima resistenza
mentre sposta il carrello: utilizzando la prima tipologia di controllo si è registrata
una forza massima pari a 6 N movimentando il manipolo a una velocità massima di
circa 0.7 m
s
, mentre in ammettenza 8.57 N con movimenti a 0.61 m
s
. In conclusione,
viste le considerazioni fatte, per simulare efficacemente sul banco di prova l’ambiente
elastico, è preferibile implementare un sistema di controllo in impedenza in anello
chiuso.
2.4.2 Ambiente visco - elastico
In primo luogo, i due sistemi di controllo in ammettenza e in impedenza in anel-
lo chiuso, sintetizzati per simulare il comportamento di ambienti visco - elastici,
presentano due differenti tipi di controllori in forza: puramente proporzionale il se-
condo e puramente integrale il primo. Oltre a ciò, nella riproduzione di un sistema
molla - smorzatore, si è riscontrato che le due strategie di controllo in forza con-
siderate presentano un comportamento sostanzialmente opposto, in funzione delle
caratteristiche (K e C) dell’ambiente virtuale in esame. Il sistema di controllo in
ammettenza è in grado di riprodurre meglio il funzionamento di ambienti visco -
elastici molto rigidi e poco smorzati. Infatti, dai risultati sperimentali ottenuti, si
266
Confronto fra i sistemi di controllo aptici progettati
è osservato che, aumentando la rigidezza K e diminuendo il coefficiente di smorza-
mento C dell’ambiente ideale, migliorano le prestazioni del sistema di controllo in
ammettenza sintetizzato. Viceversa, l’altra strategia è in grado di simulare meglio
il comportamento di ambienti visco - elastici poco rigidi e molto smorzati. Infatti,
dai risultati sperimentali ottenuti, si è notato che, maggiore è il coefficiente C e
minore è la rigidezza K dell’ambiente ideale, migliori sono le prestazioni del sistema
di controllo. In aggiunta, adottando questa seconda tecnica di controllo, è possibi-
le riprodurre con discrete prestazioni anche ambienti visco - elastici con dinamiche
piuttosto elevate, come, ad esempio, il sistema molla - smorzatore caratterizzato da:
K = 90 N
m
e c = 1 Ns
m
, il quale presenta una frequenza naturale pari a 14.32Hz.
Ciò non è possibile utilizzando un sistema di controllo in ammettenza, in cui si ha il
limite dettato dalla pulsazione propria dell’anello di controllo in posizione interno.
Inoltre, per entrambe le strategie, si è riscontrato che, aumentando la velocità di
movimentazione del manipolo dell’interfaccia aptica, peggiori sono i risultati che si
ottengono in termini di errori in posizione e in forza. Ciò, come già detto e dimo-
strato, è dovuto al fatto che, maggiore è la velocità ẋ con cui si sposta il manipolo,
più rapida è la dinamica del segnale riferimento Fop fornito in ingresso al sistema di
controllo in forza. Pertanto, quest’ultimo fa più fatica a inseguire tale set - point e,
conseguentemente, gli errori in posizione e in forza risultano essere più elevati. Dalla
tabella 2.2 si può osservare che, utilizzando il sistema di controllo in ammettenza
progettato, si ottengono delle prestazioni accettabili riproducendo ambienti visco
- elastici molto rigidi e poco smorzati e movimentando il manipolo dell’interfaccia
aptica con delle velocità piuttosto basse, inferiori a circa 0.3 − 0.4m
s
. Viceversa,
dalla tabella 2.5 si nota che, con controllo in impedenza in anello chiuso, si può
simulare, con dei buoni risultati, un’ampia gamma di sistemi molla - smorzatore,
movimentando il manipolo dell’interfaccia aptica con velocità anche molto elevate.
In particolare, si ottengono delle ottime prestazioni considerando velocità ẋ inferiori
a circa 1 − 1.2 m
s
. Per velocità più elevate, con picchi intorno ai 2 − 2.2 m
s
, si hanno
dei risultati peggiori, in termini di errori percentuali massimi in posizione e in forza,
ma comunque accettabili (inferiori a circa 20 − 25%). Oltretutto, dalle sopracitate
tabelle, si può osservare che, a parità di velocità di movimentazione del manipolo e
267
Controllo in forza
di ambiente virtuale considerato, si ottengono delle prestazioni decisamente minori
impiegando il sistema di controllo in ammettenza. Pertanto, sulla base di quanto
espresso, si può affermare che, utilizzando una strategia di controllo in impedenza
in anello chiuso:
• si riesce a riprodurre il comportamento di una gamma di ambienti visco -
elastici molto più ampia;
• è possibile movimentare il manipolo dell’interfaccia aptica con delle velocità
molto più elevate, ottenendo pur sempre delle prestazioni accettabili;
• si ottengono dei risultati, in termini di errori in posizione e in forza, decisamen-
te migliori, a parità di velocità di movimentazione del manipolo e di ambiente
virtuale considerato.
In conclusione, per riprodurre in modo fedele e con un realistico ritorno in forza il
comportamento di ambienti visco - elastici, conviene impiegare il sistema di controllo
in impedenza in anello chiuso sintetizzato.
2.4.3 Ambiente completo
In primis, i due sistemi di controllo in ammettenza e in impedenza in anello chiuso,
sintetizzati per simulare il comportamento di ambienti completi, presentano due dif-
ferenti tipi di controllori in forza: un doppio integratore il primo e un proporzionale -
integrale il secondo. Analogamente a quanto discusso per il caso degli ambienti visco
- elastici, nella riproduzione di un sistema massa - molla - smorzatore, si è riscon-
trato che le due strategie di controllo in forza considerate presentano un differente
comportamento, in funzione delle caratteristiche (M , C e K) dell’ambiente virtuale
in esame. Il sistema di controllo in ammettenza è in grado di riprodurre meglio il
funzionamento di ambienti completi molto rigidi, poco smorzati e poco inerziali. In-
fatti, dai risultati sperimentali ottenuti, si è osservato che, aumentando la rigidezza
K, diminuendo il coefficiente di smorzamento C e la massa M dell’ambiente ideale,
migliorano le prestazioni del sistema di controllo in ammettenza sintetizzato. In
particolare, il parametro che influenza maggiormente le performance del sistema è
268
Confronto fra i sistemi di controllo aptici progettati
la rigidezza K dell’ambiente ideale. Viceversa, il sistema di controllo in impedenza
in anello chiuso è in grado di simulare meglio il comportamento di ambienti completi
molto rigidi, smorzati e poco inerziali. Infatti, dai risultati sperimentali ottenuti, si
è notato che, maggiori sono il coefficiente C, la rigidezza K e minore è la massa m
dell’ambiente ideale, migliori sono le performance del sistema di controllo. In questo
secondo caso, il parametro che influenza maggiormente le prestazioni del sistema è la
massa M dell’ambiente virtuale in esame. Inoltre, anche in questo caso, si è riscon-
trato che, aumentando la velocità di movimentazione del manipolo dell’interfaccia
aptica, peggiori sono i risultati che si ottengono in termini di errori in posizione
e in forza, per entrambe le strategie di controllo considerate. Dalla tabella 2.3 si
può osservare che, utilizzando il sistema di controllo in ammettenza sintetizzato,
si ottengono dei risultati accettabili riproducendo ambienti completi molto rigidi,
poco smorzati e poco inerziali e movimentando il manipolo dell’interfaccia aptica
con delle velocità piuttosto basse, inferiori a circa 0.4m
s
. Viceversa, dalla tabella 2.6
si nota che, adottando la strategia di controllo in impedenza in anello chiuso, si può
simulare, con dei buoni risultati, un’ampia gamma di sistemi massa - molla - smor-
zatore, purchè non siano troppo inerziali, movimentando il manipolo dell’interfaccia
aptica con velocità anche molto più elevate rispetto a quelle consentite impiegando
la strategia di controllo in ammettenza. In particolare, si ottengono delle ottime
prestazioni considerando velocità ẋ inferiori a circa 1 − 1.1m
s
. Per velocità più ele-
vate, con picchi intorno ai 2 − 2.2m
s
, si hanno dei risultati peggiori, che sono più
che accettabili in termini di errore percentuale massimo in forza (inferiore a circa
15 − 20%). In termini di errore percentuale massimo in posizione, invece, i risultati
non sono propriamente accettabili (inferiori a circa 35 − 40%) , movimentando il
manipolo a velocità cosi elevate. Ciò è dovuto, probabilmente, all’accelerazione del
manipolo, la quale è relativamente alta nel momento in cui si desidera movimentare
velocemente il manipolo dell’interfaccia aptica. Infatti, non avendo a disposizione
un accelerometro con cui misurare tale grandezza, viene calcolata, per derivazione
numerica, a partire dalla velocità, la quale deve essere, dapprima filtrata (mediante
un filtro passa - basso del secondo ordine) per rimuovere, almeno in parte, il rumore,
che altrimenti, nella successiva derivazione numerica, creerebbe considerevoli pro-
269
Controllo in forza
blemi. Lo sfasamento introdotto dal filtro e l’ottenimento per doppia derivazione,
rispetto al tempo, rendono la misura dell’accelerazione poco precisa. Ciò comporta
degli errori, soprattutto in posizione, piuttosto elevati nel momento in cui si movi-
menta il manipolo con delle velocità e accelerazioni elevate. Quest’ultimo è anche il
motivo per cui risulta piuttosto difficile riprodurre, con discrete prestazioni, ambien-
ti completi molto inerziali, sia impiegando la strategia di controllo in ammettenza
sia adottando quella in impedenza in anello chiuso. Infine, dalle tabelle proposte, si
può osservare che, a parità di velocità di movimentazione del manipolo e di ambiente
virtuale considerato, si ottengono delle prestazioni decisamente minori impiegando
il sistema di controllo in ammettenza. Pertanto, sulla base di quanto detto, si può
affermare che, utilizzando una strategia di controllo in impedenza in anello chiuso:
• si riesce a riprodurre il comportamento di una gamma di ambienti completi
molto più ampia, purchè non eccessivamente inerziali;
• è possibile movimentare il manipolo dell’interfaccia aptica con delle velocità
più sostenute, ma non troppo elevate, ottenendo pur sempre delle prestazioni
accettabili;
• si ottengono dei risultati, in termini di errori in posizione e in forza, decisamen-
te migliori, a parità di velocità di movimentazione del manipolo e di ambiente
virtuale considerato.
In conclusione, analogamente a quanto ottenuto discutendo della simulazione di
ambienti visco - elastici, per riprodurre in modo fedele e con un realistico ritorno
in forza il comportamento di ambienti completi, conviene impiegare il sistema di
controllo in impedenza in anello chiuso sintetizzato.
270
Confronto fra i sistemi di controllo aptici progettati
2.4.4 Sintesi del compensatore d’attrito
Nella sotto – sezione 1.5.2 è stato realizzato sperimentalmente un modello d’attrito a
finestra per l’interfaccia aptica a disposizione, in cui si rappresenta la forza d’attrito
come costituita da due componenti: una coulombiana e una viscosa. La prima si è
ottenuto essere pari a circa 16 N, mentre la seconda è direttamente proporzionale
alla velocità lineare del manipolo mediante un coefficiente di proporzionalità pari
a circa 100 Ns
m
. Riducendosi all’albero di ingresso della trasmissione, la coppia ri-
chiesta al motore a causa dell’attrito è costituita da una componente coulombiana
pari a 0.0915 Nm e una componente viscosa direttamente proporzionale alla velocità
di rotazione dell’albero motore, mediante un coefficiente di proporzionalità pari a
0.5720 Ns. Il motore che aziona l’interfaccia aptica presenta una coppia massima
pari a 2.8 Nm. La corrente massima con cui l’azionamento è in grado di alimentare
l’attuatore elettrico è pari a 5A e la costante di coppia Kt di quest’ultimo è pari a
0.5 Nm
A
. Pertanto, la coppia massima che il sistema di azionamento è in grado di
generare in uscita è di 2.5 Nm. Essa può essere calcolata, convenzionalmente, anche
come 2.5 volte la coppia nominale del motore: quest’ultima è fornita da catalogo
ed è pari a 0.7 Nm. Ne consegue che la coppia minima richiesta al motore a causa
dell’attrito (componente coulombiana) è circa pari al 13.07 % della coppia nominale
del sistema di azionamento. Dalle considerazioni appena svolte, si può concludere
che, nell’interfaccia aptica a disposizione, le azioni d’attrito sono piuttosto elevate
e giocano un ruolo importante nella richiesta di coppia al sistema di azionamento.
Pertanto, per migliorare le prestazioni dei sistemi di controllo in forza implementati,
si è sviluppato un cosiddetto compensatore d’attrito, che, sulla base della velocità
lineare ẋ del manipolo, fornisce una stima della coppia richiesta al motore a causa
dell’attrito. Da tale coppia si ricava, mediante la costante Kaz dell’azionamento, una
tensione, la quale la si somma all’azione di controllo, in modo tale da compensare,
almeno in parte, gli effetti dell’attrito presente sull’interfaccia aptica. Il compensa-
tore d’attrito è stato implementato a partire dal modello d’attrito a finestra discusso
nella sotto - sezione 1.5.2. L’impiego di un intervallo, attorno alla velocità nulla, in
cui la forza d’attrito viene forzata ad un valore positivo o negativo e pari, in modulo,
alla componente coulombiana può creare problemi. Infatti, in tali condizioni, se ci
271
Controllo in forza
si trova all’interno di tale intervallo la velocità del manipolo dell’interfaccia aptica è
molto bassa e può cambiare di segno improvvisamente a causa del rumore presente
in essa, dovuto in parte alla derivazione numerica con cui essa è ottenuta. Se ciò
avviene, la forza d’attrito rimane sempre pari, in modulo, alla componente coulom-
biana, ma, istantaneamente, cambia di segno, come la velocità, e ciò, se si verifica
frequentemente, potrebbe comportare alcuni problemi, come, ad esempio, l’instabi-
lizzarsi del sistema. Pertanto, per evitare tale fenomeno, si è pensato di raccordare
la forza d’attrito all’interno di tale finestra mediante una sigmoide, caratterizzata
da un coefficiente ϵ = 10. In questo modo, all’interno del suddetto intervallo la
forza d’attrito varia con continuità, anche se dovesse avvenire un improvviso cam-
bio di segno della velocità del manipolo. Il compensatore è descritto dal sistema di
equazioni (2.91), dove Fc = 16 N è la componente coulombiana e fv = 100 Ns
m
è il
coefficiente di proporzionalità della componente viscosa della forza d’attrito.







Fatt = Fc
ẋ
|ẋ|+ϵ
se |ẋ| ≤ 0.05
Fatt = Fc · sign(ẋ) + fv · ẋ se |ẋ|  0.05
(2.91)
Nella riproduzione, mediante interfaccia aptica, del comportamento di ambienti sta-
tici con significative rigidezze, e ambienti dinamici, in cui la forza applicata dall’ope-
ratore sul manipolo è relativamente elevata (mediamente superiore a circa 30-35N),
le azioni d’attrito sono poco rilevanti. Per tale ragione, nella simulazione di questi
ambienti virtuali, il compensatore d’attrito non introduce significativi miglioramen-
ti nelle prestazioni del sistema di controllo in forza. Nella riproduzione, invece, di
ambienti ideali in cui le forze in gioco, a livello del manipolo, sono piuttosto basse
(dell’ordine dei 5 - 10 N), come, ad esempio, ambienti statici poco rigidi, le forze
d’attrito sono decisamente rilevanti. Pertanto, in tali condizioni, può essere utile
impiegare il compensatore d’attrito per migliorare le performance del sistema di
controllo in forza. Il caso più significativo, a riguardo, è quello dell’ambiente traspa-
renza, che modellizza una situazione ideale in cui sul manipolo dell’interfaccia aptica
non agisce nessuna forza resistente, nè di attrito nè inerziale, e, pertanto, l’operatore
riesce a muoverlo applicandovi una forza nulla o comunque minima. A livello prati-
co, nell’interfaccia aptica a disposizione, gli attriti sono piuttosto importanti, come
272
Confronto fra i sistemi di controllo aptici progettati
già discusso in precedenza. Infatti, si riscontra che, riproducendo il comportamento
di un ambiente trasparenza, è necessario applicare sul manipolo una forza significa-
tiva per spostarlo, proprio a causa delle significative dissipazioni di attrito presenti
sul sistema. Di conseguenza, nella simulazione dell’ambiente trasparenza, può essere
molto utile mitigare le azioni di attrito mediante il compensatore precedentemente
sviluppato. Per valutare se ciò consente di migliorare, effettivamente, le prestazioni
dei due sistemi di controllo in forza sintetizzati, sono state effettuate numerose prove
in cui si è movimentato avanti e indietro, tra i due fine corsa, il manipolo dell’in-
terfaccia e si è misurato una serie di grandezze, quali lo spostamento x, la velocità
lineare ẋ e la forza Fop applicata dall’operatore. Metà delle suddette prove sono
state condotte non introducendo alcuna compensazione, mentre la restante parte
dei test è stata condotta impiegando il compensatore d’attrito. Inoltre, tale analisi
è stata eseguita sia per il sistema di controllo in impedenza in anello chiuso sia per
quello in ammettenza. In Fig.2.161 è riportato lo schema Simulink impiegato per
riprodurre l’ambiente trasparenza, mediante un sistema di controllo in impedenza
in anello chiuso, con compensazione dell’attrito. Nelle Fig.2.162 e Fig.2.163 sono
mostrati i risultati sperimentali di due prove svolte, in una con e nell’altra senza
l’utilizzo del compensatore d’attrito e, in entrambi i casi, adottando un sistema di
controllo in impedenza in anello chiuso. Si può osservare che entrambe le prove so-
no state condotte a velocità di movimentazione del manipolo abbastanza sostenute,
con picchi intorno ai 1.25 m
s
. La ragione di ciò risiede nell’idea per cui, in presenza
di attrito, per muovere rapidamente il manipolo è necessario applicare su di esso
un’importante forza Fop. Viceversa, compensando l’attrito, ci si aspetta che sia pos-
sibile spostare il manipolo, con velocità sostenute, anche applicando su di esso una
forza piuttosto limitata. Dai diagrammi si può, innanzitutto, osservare che, nel caso
in cui non si introduca alcuna compensazione dell’attrito, la curva forza - velocità
assomiglia molto a quella del modello d’attrito ricavato nella sotto - sezione 1.5.2.
Ciò conferma che, effettivamente, la forza che bisogna applicare sul manipolo per
muoverlo, durante la riproduzione dell’ambiente trasparenza, serve per vincere le
azioni di attrito che agiscono sull’interfaccia aptica. Viceversa, nel caso in cui si im-
pieghi il compensatore progettato, la curva Fop −ẋ è più schiacciata e uniforme sulle
273
Controllo in forza
Fig. 2.161: Schema Simulink impiegato per riprodurre l’ambiente trasparenza, mediante
un sistema di controllo in impedenza in anello chiuso con compensazione
dell’attrito
velocità. In secondo luogo, si nota che la forza massima applicata dall’operatore sul
manipolo è pari a:
• 7.13 N, nel caso in cui non si utilizza la compensazione dell’attrito;
• 4.66 N, nel caso in cui si utilizza la compensazione dell’attrito.
Pertanto, si può concludere che, nella riproduzione dell’ambiente trasparenza tramite
un sistema di controllo in impedenza in anello chiuso, l’utilizzo del compensatore
consente di ridurre di circa il 35% la forza massima esercitata dall’operatore sul
manipolo.
274
Confronto fra i sistemi di controllo aptici progettati
0 5 10 15 20 25 30 35 40
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
(a) Spostamento manipolo
0 5 10 15 20 25 30 35 40
Time [s]
-1.5
-1
-0.5
0
0.5
1
1.5
x
p
[m/s]
(b) Velocità manipolo
0 5 10 15 20 25 30 35 40
Time [s]
-8
-6
-4
-2
0
2
4
6
8
F
op
[N]
(c) Forza operatore
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
x [m]
-8
-6
-4
-2
0
2
4
6
8
F
op
[N]
(d) Forza operatore vs Spostamento
-1.5 -1 -0.5 0 0.5 1 1.5
xp
[m/s]
-8
-6
-4
-2
0
2
4
6
8
F
op
[N]
(e) Forza operatore vs Velocità
Fig. 2.162: Risultati sperimentali della riproduzione di un ambiente trasparenza, me-
diante sistema di controllo in impedenza in anello chiuso, senza compensa-
zione dell’attrito 275
Controllo in forza
0 5 10 15 20 25 30 35 40 45
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
(a) Spostamento manipolo
0 5 10 15 20 25 30 35 40 45
Time [s]
-1.5
-1
-0.5
0
0.5
1
1.5
x
p
[m/s]
(b) Velocità manipolo
0 5 10 15 20 25 30 35 40 45
Time [s]
-5
-4
-3
-2
-1
0
1
2
3
4
5
F
op
[N]
(c) Forza operatore
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
x [m]
-5
-4
-3
-2
-1
0
1
2
3
4
5
F
op
[N]
(d) Forza operatore vs Spostamento
-1.5 -1 -0.5 0 0.5 1 1.5
xp
[m/s]
-5
-4
-3
-2
-1
0
1
2
3
4
5
F
op
[N]
(e) Forza operatore vs velocità
Fig. 2.163: Risultati sperimentali della riproduzione di un ambiente trasparenza, me-
diante sistema di controllo in impedenza in anello chiuso, con compensazione
dell’attrito.
276
Confronto fra i sistemi di controllo aptici progettati
In Fig.2.164 è riportato lo schema Simulink impiegato per riprodurre l’ambiente
trasparenza, utilizzando un sistema di controllo in ammettenza, con compensazione
dell’attrito. Nelle Fig.2.165 e Fig.2.166 sono mostrati i risultati sperimentali di due
prove svolte, una con e l’altra senza compensazione dell’attrito. Si può notare che
entrambi i testi sono stati svolti, anche in questo caso, a velocità lineari ẋ abbastanza
sostenute, con picchi intorno ai 1.2 m
s
. Dai suddetti diagrammi, si evidenzia che, in
entrambi i casi, si è tracciata sostanzialmente la medesima curva Fop − ẋ e la forza
massima esercitata dall’operatore sul manipolo è circa pari a 16 - 17 N. Inoltre si
osserva come la correlazione Fop-velocità non abbia la stessa forma che si vede nel
modello attrito o nei risultati ottenuti con controllo in impedenza. Pertanto, si può
concludere che, nella riproduzione dell’ambiente trasparenza mediante un sistema di
controllo in ammettenza, l’utilizzo del compensatore d’attrito non ha alcun effetto
benefico, in termini di riduzione della forza da esercitare sul manipolo per muoverlo.
277
Controllo in forza
Fig. 2.164: Schema Simulink impiegato per riprodurre l’ambiente trasparenza, mediante
un sistema di controllo in ammettenza con compensazione dell’attrito
278
Confronto fra i sistemi di controllo aptici progettati
0 5 10 15 20 25 30 35 40
Time [s]
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
x
[m]
(a) Spostamento manipolo
0 5 10 15 20 25 30 35 40
Time [s]
-1.5
-1
-0.5
0
0.5
1
1.5
x
p
[m/s]
(b) Velocità manipolo
0 5 10 15 20 25 30 35 40
Time [s]
-20
-15
-10
-5
0
5
10
15
20
F
op
[N]
(c) Forza operatore
-0.6 -0.4 -0.2 0 0.2 0.4 0.6
x [m]
-20
-15
-10
-5
0
5
10
15
20
F
op
[N]
(d) Forza operatore vs Spostamento
-1.5 -1 -0.5 0 0.5 1 1.5
xp
[m/s]
-20
-15
-10
-5
0
5
10
15
20
F
op
[N]
(e) Forza operatore vs Velocità
Fig. 2.165: Risultati sperimentali della riproduzione di un ambiente trasparenza, me-
diante sistema di controllo in ammettenza, senza compensazione dell’attrito
279
Controllo in forza
0 5 10 15 20 25 30 35 40
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
x
[m]
(a) Spostamento manipolo
0 5 10 15 20 25 30 35 40
Time [s]
-1.5
-1
-0.5
0
0.5
1
1.5
x
p
[m/s]
(b) Velocità manipolo
0 5 10 15 20 25 30 35 40
Time [s]
-20
-15
-10
-5
0
5
10
15
20
F
op
[N]
(c) Forza operatore
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
x [m]
-20
-15
-10
-5
0
5
10
15
20
F
op
[N]
(d) Forza operatore vs Spostamento
-1.5 -1 -0.5 0 0.5 1 1.5
xp
[m/s]
-20
-15
-10
-5
0
5
10
15
20
F
op
[N]
(e) Forza operatore vs Velocità
Fig. 2.166: Risultati sperimentali della riproduzione di un ambiente trasparenza, me-
diante sistema di controllo in ammettenza, con compensazione dell’attrito
280
Confronto fra i sistemi di controllo aptici progettati
2.4.5 Conclusioni
Dai risultati ottenuti considerando la trasparenza come ambiente virtuale, si può
concludere, innanzitutto, che, senza compensazione dell’attrito, utilizzando un siste-
ma di controllo in impedenza in anello chiuso, la forza che deve esercitare l’operatore
sul manipolo per muoverlo è molto minore rispetto al caso in cui si adotti un sistema
di controllo in ammettenza. Ciò significa che, come già precedentemente mostrato, il
controllore in impedenza in anello chiuso è più performante rispetto a quello in am-
mettenza, nella riproduzione del comportamento di una molla ideale con rigidezza
nulla. In secondo luogo, si può affermare che l’adozione di un compensatore d’attrito
migliora considerevolmente le prestazioni del sistema di controllo in impedenza in
anello chiuso, mentre non ha effetti benefici sulle prestazioni del sistema di controllo
in ammettenza. Ciò è dovuto al fatto che quest’ultimo presenta al proprio interno
un posizionatore, il quale, pertanto, tramite retroazione della misura di posizione,
compensa già autonomamente la dinamica naturale del sistema, tra cui, quindi, an-
che le azioni di attrito. Viceversa, nel controllo in impedenza non è presente un
posizionatore e, pertanto, l’adozione di metodi di compensazione delle non idealità
del sistema migliora notevolmente le prestazioni del sistema di controllo. Infine, è
importante precisare che il modello d’attrito discusso nella sotto - sezione 1.5.2, a
partire dal quale si è implementato il compensatore, è stato sviluppato considerando
delle basse velocità di movimentazione del manipolo, inferiori a circa 0.1m
s
. Infatti,
si è notato che la relazione Fatt - ẋ è lineare per basse velocità ẋ. Al crescere di
quest’ultima grandezza, la relazione forza - velocità si discosta sempre di più dalla
linearità e, per velocità sufficientemente elevate, la curva Fatt = Fatt(ẋ) tende ad
appiattirsi. Pertanto, se si fosse sviluppato il modello d’attrito considerando un
ampio range di velocità, si sarebbe ottenuto un coefficiente di proporzionalità fv
della componente viscosa piuttosto basso, che non avrebbe tenuto conto degli effetti
importanti alle basse velocità. Tuttavia, nelle prove svolte sull’interfaccia aptica per
riprodurre il comportamento dell’ambiente trasparenza, si è movimentato il manipo-
lo con delle velocità lineari piuttosto elevate, con picchi intorno ai 1.2−1.3m
s
. A tali
velocità, la forza d’attrito, che si ottiene in uscita dal modello, è piuttosto elevata,
proprio per quanto precedentemnete affermato. Per tale ragione, nel controllo in
281
Controllo in forza
impedenza, che è quello in cui si ottengono significativi benefici dall’introduzione
del compensatore, non si introduce tutta la tensione proveniente da quest’ultimo,
ma solo il 40%, che è stato riscontrato essere il valore ottimale. Inoltre, svolgen-
do diverse prove, si è notato che, movimentando il manipolo a velocità ancora più
elevate, con picchi intorno a 1.8 − 2 fracms, il sistema tende ad instabilizzarsi in
presenza del compensatore, in quanto la tensione in uscita da quest’ultimo e che si
somma all’azione di controllo risulta essere troppo elevata. Pertanto, un possibile
futuro miglioramento può essere quello di modellizzare l’attrito presente a livello
degli accoppiamenti meccanici dell’interfaccia aptica mediante un modello lineare di
ordine superiore al primo.
282
Ambienti virtuali
2.5 Ambienti virtuali
2.5.1 Ambiente inerziale
Una variante dell’ambiente completo è quello puramente inerziale, che a differenza
del primo considera solo la presenza della massa M, rappresentata fisicamente dal
manipolo dell’interfaccia aptica. La percezione tattile che si vuole dare all’utente
che adopera quest’ambiente è quella di impiegare una forza per spostare una massa
di entità definita a priori, quindi di avvertirne l’inerzia durante le fasi di movimen-
to. In una situazione ideale, spostando il carrello dalla posizione di quiete con una
determinata accelerazione, questo dovrebbe proseguire con un moto rettilineo uni-
forme. Il banco di prova però, cosı̀ come il mondo reale, è caratterizzato da delle non
idealità, quali i fenomeni di attrito, che frenano l’oggetto in moto fino a riportarlo
nella condizione di riposo. Il sistema di controllo scelto per la simulazione di questo
ambiente virtuale è quello in impedenza, con regolatore di tipo PI caratterizzato
dalle sue costanti Kp e KI. Nel controllo viene anche introdotto il compensatore
statico dell’attrito, nonostante qui il suo effetto sia poco apprezzabile date le elevate
forze in gioco. Nell’ambiente in questione le accelerazioni giocano un ruolo di prima-
ria importanza in quanto essenziali per la determinazione della forza ambiente. Non
avendo a disposizione un accelerometro, il segnale di accelerazione viene ricavato de-
rivando due volte quello di posizione ed applicando un filtro passa basso al segnale di
velocità: tale procedura, confrontando la risposta effettiva con quella dell’ambiente
ideale, conduce ad un errore in posizione, variabile in base all’ambiente scelto, ma
in ogni caso piuttosto elevato. Per tale motivo non risulta possibile riprodurre fe-
delmente il comportamento dell’ambiente ideale desiderato. Le migliori acquisizioni
sono state ottenute considerando un ambiente virtuale inerziale caratterizzato da
una massa di 20 kg ed utilizzando Kp = 2 e KI = 25 (Fig.2.167).
283
Controllo in forza
0 5 10 15 20
Time [s]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
[m]
(a) Posizione del manipolo
0 5 10 15 20
Time [s]
-1.5
-1
-0.5
0
0.5
1
1.5
[m/s]
(b) Velocità del manipolo
0 5 10 15 20
Time [s]
-4
-3
-2
-1
0
1
2
3
4
[m/s
2
]
(c) Accelerazione del manipolo
0 5 10 15 20
[m]
-60
-40
-20
0
20
40
60
[N]
Foperatore
Fambiente
(d) Forza operatore e forza ambiente
0 5 10 15 20
Time [s]
-25
-20
-15
-10
-5
0
5
10
15
20
25
e
F
[N]
(e) Errore in forza
0 5 10 15 20
Time [s]
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
e
X
[m]
(f) Errore in posizione
Fig. 2.167: Ambiente inerziale con M = 20 kg, Kp = 2 e KI = 25
284
Ambienti virtuali
La prova condotta è caratterizzata dai seguenti valori:
• Spostamento massimo del carrello di 0.45 m;
• Velocità massima del carrello di 1.11 m
s
;
• Accelerazione massima del carrello di 3.31 m
s2 ;
• Forza operatore massima di 64.58 N;
• Errore in forza massimo di 22.6 N;
• Errore in posizione massimo di 0.12 m;
• Errore percentuale in forza pari al 35 % della forza operatore massima;
• Errore percentuale in posizione pari al 26.82 % dello spostamento massimo del
carrello.
285
Controllo in forza
2.5.2 Ambiente muro
Un altro ambiente che si è scelto di implementare è l’ambiente muro, il quale è stato
realizzato in due differenti varianti:
• con un ambiente trasparenza;
• con un ambiente molla di rigidezza Km = 60 N
m
tra i due muri, posti nelle posizioni corrispondenti a ± xmuro = 0.2 m rispetto al
centro. Quindi, immaginando di iniziare a muovere il carrello posizionato al centro
del banchetto, in entrambe le soluzioni esistono delle posizioni corrispondenti a ±
xmuro in cui l’utente avverte un muro non oltrepassabile in alcun modo, ma se in
un caso è possibile muovere la massa all’ interno delle due posizioni limite senza
avvertire alcuna resistenza, nell’altro si percepisce un ambiente molla.
Questo ambiente viene direttamente implementato sul banchetto di prova, data la
poca utilità di un eventuale e preventiva simulazione. L’implementazione dell’am-
biente virtuale è piuttosto semplice in quanto viene letta la posizione del carrello e,
in corrispondenza di xmuro, l’utente deve percepire una forza pari a quella introdot-
ta da lui stesso, in maniera tale da non riuscire a muovere ulteriormente la massa.
Fissata quindi una xmuro, si implementano i due muri posti in corrispondenza di ±
xmuro realizzando in sostanza una scatola le cui pareti limitano il movimento al suo
interno: in un caso l’utente può spostare liberamente la massa, nell’altro percepi-
sce un ambiente molla. Per valutare la tipologia di controllo in forza più efficace,
l’ambiente è stato realizzato sia con controllo in ammettenza che in impedenza.
Ciò che si è osservato è che la seconda strategia non è in grado di simulare effica-
cemente l’ambiente muro: avvicinandosi infatti più volte alla parete virtuale, essa
non risulta essere sempre nella stessa posizione. Tale effetto è dovuto all’assenza,
in questa tipologia di controllo, di un vero e proprio posizionatore che permette la
virtualizzazione di un muro in un punto ben definito lungo la guida lineare. Infatti
ciò che viene richiesto al motore quando il carrello supera una determinata soglia
prefissata è di instaurare un equilibrio di forze tra Famb e Fop: questa situazione,
anche a seconda della velocità con cui si giunge in prossimità della posizione critica,
non si verifica precisamente sempre nello stesso punto, dando origine pertanto ad
286
Ambienti virtuali
0 2 4 6 8 10
Time [s]
-0.3
-0.2
-0.1
0
0.1
0.2
[m]
(a) Posizione del manipolo
-0.3 -0.2 -0.1 0 0.1 0.2
[m]
-40
-30
-20
-10
0
10
20
30
40
[N]
F ambiente
F operatore
(b) Forza operatore e forza ambiente
Fig. 2.168: Ambiente scatola con Km = 0 N
m con controllo in impedenza
un ambiente virtuale differente da quello desiderato. Al contrario invece, in ammet-
tenza, la presenza di un controllo di posizione, consente la realizzazione del muro
virtuale, poichè raggiunta la x corrispondente alla parete, viene di fatto generato
un riferimento di posizione costante e, di conseguenza, viene richiesto al motore
il mantenimento di una posizione fissa. In Fig.2.168 viene comunque mostrata la
simulazione dell’ambiente muro realizzata implementando un sistema di controllo
in impedenza: il controllore utilizzato è un PD con valori Kp = 10 e Kd = 0.2.
Coerentemente con quanto detto, i picchi nel grafico (a) di Fig.2.168 mostrano come
la posizione corrispondente al muro non sia esattamente sempre la stessa, con un
errore di circa 3−4 cm rispetto alla posizione xmuro, determinando, quindi, un com-
portamento diverso da quello desiderato. L’ambiente muro ricercato viene invece
simulato utilizzando il controllo in ammettenza: Fig.2.169 e Fig.2.170 mostrano due
prove condotte considerando, rispettivamente, l’ambiente trasparenza tra i due muri
e una molla con Km = 60 N
m
. In entrambi i casi, è stato utilizzato un regolatore di
tipo doppio integratore con KI = 0.07. Si può osservare che, in ammettenza, l’errore
che si commette, rispetto alla posizione xmuro in cui è presente il muro, è dell’ordine
dei 2 − 3 mm.
287
Controllo in forza
0 1 2 3 4 5 6 7 8 9 10
Time [s]
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
[m]
(a) Posizione del manipolo
-0.3 -0.2 -0.1 0 0.1 0.2
[m]
-40
-30
-20
-10
0
10
20
30
40
[N]
F ambiente
F operatore
(b) Forza operatore e forza ambiente
Fig. 2.169: Ambiente scatola con Km = 0 N
m con controllo in ammettenza
0 5 10 15 20 25 30 35 40 45 50
Time [s]
-0.3
-0.2
-0.1
0
0.1
0.2
[m]
(a) Posizione del manipolo
-0.3 -0.2 -0.1 0 0.1 0.2
[m]
-60
-40
-20
0
20
40
60
[N]
F ambiente
F operatore
(b) Forza operatore e forza ambiente
Fig. 2.170: Ambiente scatola con Km = 60 N
m con controllo in ammettenza
288
Ambienti virtuali
2.5.3 Ambiente triangolare
Un ulteriore ambiente analizzato è l’ambiente triangolare, ossia un particolare am-
biente molla, che per le considerazioni precedentemente svolte, viene simulato con
un sistema di controllo in impedenza. La realizzazione dell’ambiente è piuttosto
semplice e simile all’ambiente elastico: viene letta la posizione x del carrello ed in
base ad essa viene generata una forza Famb coerente con l’andamento triangolare
scelto, che viene confrontata con la forza introdotta dall’operatore e permette di
indurre la sensazione tattile desiderata all’utente. L’ambiente viene direttamente
implementato sul banco di prova in due differenti varianti:
1. Nella prima l’utilizzatore percepisce un ambiente molla fino al raggiungimen-
to di una determinata posizione xv, quindi avverte una forza che cresce con
l’aumentare della posizione del carrello. Superata la posizione xv riscontra un
ambiente molla, ma con una forza che decresce progressivamente man mano
che il carrello avanza, quindi un elemento elastico che diventa sempre più fa-
cile da comprimere. Arrivato in posizione pari a 2 · xv, la massa si trova in
un punto di equilibrio instabile in quanto se il carrello dovesse avere un picco-
lo errore in posizione, l’ambiente restituisce una forza positiva che la riporta
nella condizione di partenza. Per evitare questa situazione di movimento in-
controllato, si potrebbe inserire una piccola banda morta sulla posizione, in cui
l’ambiente genera una forza nulla. In questa variante, l’operatore per spostare
il carrello in una direzione deve spingerlo, mentre nella direzione opposta sarà
la massa a trascinarlo. Come per l’ambiente molla viene impiegato un regola-
tore di tipo PD con valori di Kp=22 e Kd=0.51 . In Fig.2.171 viene mostrata
un’acquisizione fatta sul banco di prova.
2. La seconda è analoga alla precedente fino al raggiungimento del punto di equi-
librio instabile, dopodichè, spostando il carrello da tale posizione, l’utente non
deve più spingere bensı̀ si sente trascinare, poichè l’ambiente genera una forza
negativa fino al raggiungimento di un punto di equilibrio, in questo caso stabi-
le: se qui è presente un piccolo errore in posizione, il sistema tende comunque
a rimanere nella situazione attuale, senza tornare in quella di partenza, al
289
Controllo in forza
0 5 10 15 20 25
Time [s]
-0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
[m]
(a) Posizione del manipolo
-0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
[m]
-8
-6
-4
-2
0
2
4
6
8
[N]
F operatore
F ambiente
(b) Forza operatore e forza ambiente
Fig. 2.171: Ambiente triangolare instabile con Km = 60 N
m e xv = 0.09 m
contrario di quanto si verificava nella prima versione realizzata. I valori dei
parametri utilizzati sul banco di prova sono analoghi a quelli dell’acquisizione
precedente. In Fig.2.172 vengono riportati i dati sperimentali relativi a questa
versione dell’ambiente triangolare.
0 5 10 15 20 25
Time [s]
-0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
[m]
(a) Posizione del manipolo
-0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
[m]
-10
-8
-6
-4
-2
0
2
4
6
8
10
[N]
F operatore
F ambiente
(b) Forza operatore e forza ambiente
Fig. 2.172: Ambiente triangolare stabile con Km = 60 N
m e xv = 0.09 m
290
Ambienti virtuali
0 5 10 15 20
Time [s]
-0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
[m]
(a) Posizione del manipolo
-0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
[m]
-5
0
5
10
15
[N]
F operatore
F ambiente
(b) Forza operatore e forza ambiente
Fig. 2.173: Ambiente sinusoidale instabile con Ca = 12 xv = 0.18 m
2.5.4 Ambiente sinusoidale
L’ambiente sinusoidale è analogo a quello triangolare con la differenza che alla Famb
si impone un andamento sinusoidale, fissata l’ampiezza Ca e il passo xv della sinu-
soide: si ottiene una risposta molto più fluida e dolce data dalle creste smussate del
profilo di forza adottato. La forza ambiente Famb viene generata, fissata l’ampiezza
Ca e il passo xv, mediante la relazione (2.92).
Famb = Ca · sin(
π
xv
) · x (2.92)
Come per il triangolare, le varianti realizzate sono due e valgono le medesime con-
siderazioni fatte per l’ambiente precedente. Anche quest’ambiente viene realizzato
con un sistema di controllo in impedenza con regolatore di forza di tipo PD (Kp = 22
e Kd = 0.51). In Fig.2.173 e Fig.2.174 si riportano le acquisiziooni fatte sul sistema
aptico.
291
Controllo in forza
0 2 4 6 8 10 12 14 16 18
Time [s]
-0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
[m]
(a) Posizione del manipolo
-0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
[m]
-15
-10
-5
0
5
10
15
[N]
F operatore
F ambiente
(b) Forza operatore e forza ambiente
Fig. 2.174: Ambiente sinusoidale stabile con Ca = 12 xv = 0.18 m
2.5.5 Ambiente a dente di sega
L’ambiente dente di sega è un particolare ambiente molla, in quanto l’utente per-
cepisce una forza che aumenta linearmente con lo spostamento del carrello fino al
raggiungimento di xs, fissata a piacere, in cui avverte il cedimento improvviso della
molla poichè l’ambiente eroga un forza Famb nulla. Per creare l’effetto a dente di
sega, viene ripetuto più volte questo tipo di comportamento lungo la guida lineare.
L’ambiente virtuale riceve in ingresso la posizione x del carrello e restituisce una for-
za ambiente Famb coerente con il profilo a dente di sega che si intende realizzare, la
quale viene confrontata con la forza introdotta dall’ operatore (Fop) per permettere
la generazione dell’errore in forza. L’implementazione dell’ambiente sul banchetto
ha permesso di evidenziare alcuni aspetti:
• al cedimento improvviso dell’elemento elastico in corrispondenza di xs, si
raggiunge una posizione di equilibrio instabile poichè un piccolo errore di
posizione, riporta il carrello nella posizione di partenza: per evitare questo
comportamento si introduce una piccola banda morta in cui Famb è nulla;
• un ipotetico profilo a dente di sega permetterebbe il movimento in una sola
direzione: per replicare tale situazione ed evitare un comportamento indesi-
derato nella direzione opposta, si inserisce un muro (ambiente muro) in modo
292
Ambienti virtuali
tale che qualora l’utente, giunto nella posizione di equilibrio, decidesse di spo-
stare indietro il manipolo gli venga impedito di farlo.
Inoltre, anche all’avvio dell’ambiente, viene inserito un muro per impedire al-
l’utente di muoversi nella direzione non consentita: cosı̀ facendo si prevengono
anche movimenti indesiderati qualora la cella di carico non fosse calibrata cor-
rettamente. Per avere effettivamente la percezione di un andamento in forza
a dente di sega, l’ambiente è dunque pensato per essere utilizzato in una sola
direzione: finita la corsa utile del carrello lungo la guida lineare è necessario
riavviare l’ambiente per riutilizzarlo.
Definito l’ambiente che si intende realizzare sulla base delle considerazioni preceden-
ti, la tipologia di controllo aptico scelta è quella in ammettenza. La motivazione
risiede nel fatto che, nonostante per simulare il comportamento di una molla idea-
le sia ottimale utilizzare un controllo in impedenza, l’efficace generazione dei muri
virtuali si ottiene solo con il controllo che prevede un anello di posizione al suo in-
terno, come già discusso analizzando l’ambiente muro. L’ambiente viene realizzato
scegliendo una molla con costante elastica Km = 60 N
m
, passo del dente di sega pari
a xs = 0.18 m ed utilizzando un controllore di tipo puro integratore con valore di
KI = 0.07. In Fig.2.175 viene mostrata un acquisizione eseguita sul sistema aptico.
0 2 4 6 8 10 12 14
Time [s]
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
[m]
(a) Posizione del manipolo
-0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
[m]
0
5
10
15
[N]
F operatore
F ambiente
(b) Forza operatore e forza ambiente
Fig. 2.175: Ambiente a dente di sega con Km = 60 N
m ,xs = 0.18 m
293
Parte II
Sistema cartesiano a due gradi di
libertà
295
Capitolo 3
Sistema cartesiano a 2 gradi di
libertà
3.1 Struttura del banco di prova
Il banco di prova (Fig.3.1) è un sistema cartesiano composto essenzialmente da un
telaio e dal gruppo di movimentazione degli assi, ossia da due assi indipendenti, X e
Y, entrambi motorizzati, che consentono il posizionamento dell’end effector nell’area
di lavoro con dimensioni pari a 1 m x 1 m. Nel retro macchina si trova invece il
quadro elettrico.
3.1.1 Asse X
L’asse X è sostanzialmente composto dai seguenti elementi
1. motore PARKER NX-110E;
2. guida lineare Misumi cod. SV2RL- MX24-1210-TMS costituita dalla puleggia
di rinvio e da quella condotta (HTD 5M da 16 denti) entrambe con raggio
r3 ed inerzia Jp3, connesse per mezzo di una cinghia aperta di tipo Powergrip
HTD;
Sistema cartesiano a 2 gradi di libertà
Fig. 3.1: Banco a disposizione sistema cartesiano a due gradi di libertà
3. puleggia solidale all’albero motore (HTD 5M da 15 denti) e puleggia condotta
(HTD 5M da 34 denti) rispettivamente con raggi r1 e r2 ed inerzie Jp1 e Jp2 ,
connesse tramite cinghia chiusa di tipo Synchropower HDT;
4. albero di collegamento fra puleggia 2 e 3.
La trasmissione del moto avviene pertanto per mezzo delle 4 pulegge, ognuna col
proprio raggio ri ed inerzia Jpi
. In tabella (3.1) e (3.2) vengono riassunti i valori
dei parametri dimensionali di interesse. In tabella (3.3) sono invece riportati i dati
da catalogo del motore PARKER NX-110E e dell’azionamento Infranor PAC-AK-
230/05. Per la rilevazione della posizione del carrello, è possibile sfruttare sia la
presenza di un sensore di posizione lineare (tabella (3.4)) sia l’ informazione fornita
dall’azionamento in quanto ha attiva la modalità di encoder simulato (pulsazioni
per angolo giro pari a 4096).
298
Struttura del banco di prova
Grandezza Valore Unità di misura
Diametro puleggia 1 23.87 [mm]
Diametro puleggia 2 54.12 [mm]
Diametro puleggia 3 25.46 [mm]
Inerzia Jp1 0.2006 [kgcm2
]
Inerzia Jp2 0.5194 [kgcm2
]
Inerzia Jp3 0.1086 [kgcm2
]
Interasse cinghia chiusa 76 [mm]
Interasse cinghia aperta 1275 [mm]
Numero denti puleggia 1 15 −
Numero denti puleggia 2 34 −
Numero denti puleggia 3 16 −
Massa carrello 1.5 [kg]
Lunghezza carrello 0.09 [m]
Tabella 3.1: Valori dimensionali ed inerziali dei parametri - Asse X
Cinghia passo [mm]
[mm]
[mm] Larghezza [mm]
[mm]
[mm] Rigidezza specifica Kcs[ N
mm
Kcs[ N
mm
Kcs[ N
mm
]
Powergrip HTD 5 9 1.622 · 104
Synchropower HDT 5 10 2.340 · 104
Tabella 3.2: Dati cinghie - Asse X
299
Sistema cartesiano a 2 gradi di libertà
Grandezza Valore Unità di misura
Velocità di rotazione nominale 6000 rpm
Coppia nominale 0.33 Nm
Corrente nominale 0.79 A
Coppia massima 1.7 Nm
Inerzia del motore con freno 14 kgmm2
Inerzia del motore senza freno 13 kgmm2
Costante di coppia del motore 0.455 Nm/Arms
Costante di velocità 29.9 V s
Tensione massima di comando dell’azionamento ±10 V
Corrente massima dell’azionamento 5 A
Costante dell’azionamento 0.2275 Nm
V
Tabella 3.3: Dati del motore Parker NX110E - Asse X
Elemento Tipologia
testina SME51-L-1-5-N-L5-J
banda magnetica MT50-2-100-1
Tabella 3.4: Dati Encoder lineare - Asse X
300
Struttura del banco di prova
Inoltre, per rilevare quando il carrello è arrivato a fine corsa utile, sono disponibili
due sensori finecorsa magnetici con le seguenti specifiche:
• Sensore: Assemtech PTC 130/30;
• Magnete: Assemtech M1219-5.
3.1.2 Asse Y
L’asse Y è principalmente composto da:
1. motore brushless Mavilor BLS-073A.00.0105.00;
2. due guide lineari Misumi cod. SV2RL-MX24-1210-TMS dotate entrambe di
pulegge (HTD 5M da 20 denti) di rinvio e condotta, con raggio r3 ed inerzia
Jp3 , connesse tramite cinghie aperte Synchropower HDT;
3. puleggia solidale all’albero motore (HTD 5M da 15 denti) e puleggia di potenza
(HTD 5M da 48 denti) rispettivamente con raggi r1 e r2 e inerzie Jp1 e Jp2 ,
connesse per mezzo di una cinghia chiusa Powergrip HTD;
4. albero di collegamento fra puleggia 2 e pulegge 3, che permette il trasferimento
del moto dal motore alle guide lineari.
L’asse Y è dunque composto da 7 pulegge, ognuna con un proprio raggio ri ed
una propria inerzia Ji. In tabella (3.5) e (3.6) vengono riassunti i valori parametri
dimensionali di interesse. In tabella (3.7) sono invece riportati i dati da catalogo
del motore Mavilor BLS-073A.00.0105.00 e dell’azionamento Infranor PAC-AK-
230/11. Come per l’asse X, per conoscere lo spostamento lineare del carrello, si
possono sfruttare le informazioni derivanti dal sensore di posizione lineare (tabella
(3.8)) o dall’azionamento, con modalità di encoder simulato attiva (risoluzione 4096).
Anche per quest’asse, per rilevare quando la massa traslante è giunta a fine corsa
utile, sono presenti due sensori finecorsa magnetici con le seguenti specifiche:
• Sensore: Assemtech PTC 130/30;
• Magnete: Assemtech M1219-5.
301
Sistema cartesiano a 2 gradi di libertà
Grandezza Valore Unità di misura
Diametro puleggia 1 23.87 [mm]
Diametro puleggia 2 76.39 [mm]
Diametro puleggia 3 31.83 [mm]
Inerzia Jp1 1.2135 [kgcm2
]
Inerzia Jp2 6.5420 [kgcm2
]
Inerzia Jp3 0.5990 [kgcm2
]
Interasse cinghia chiusa 119 [mm]
Interasse cinghia aperta 1036 [mm]
Numero denti puleggia 1 15 −
Numero denti puleggia 2 48 −
Numero denti puleggia 3 20 −
Massa traslante 12 [kg]
Lunghezza carrello 0.104 [m]
Lunghezza albero di collegamento 683 [mm]
Diametro albero di collegamento 19 [mm]
Tabella 3.5: Valori dimensionali ed inerziali dei parametri - Asse Y
Cinghia passo [mm]
[mm]
[mm] Larghezza [mm]
[mm]
[mm] Rigidezza specifica Kcs[ N
mm
Kcs[ N
mm
Kcs[ N
mm
]
Powergrip HTD 5 25 1.900 · 104
Synchropower HDT 5 15 2.340 · 104
Tabella 3.6: Dati cinghie - Asse Y
302
Struttura del banco di prova
Grandezza Valore Unità di misura
Velocità di rotazione massima 11000 rpm
Coppia massima 7.6 Nm
Costante di coppia del motore 0.48 Nm/A
Costante di velocità 0.28 V s
rad
Inerzia del motore 51 kgmm2
Tensione massima di comando dell’azionamento ±10 V
Corrente massima dell’azionamento 11 A
Costante dell’azionamento 0.5280 Nm
V
Tabella 3.7: Dati del motore Mavilor BLS-073A.00.0105.00 - Asse Y
Elemento Tipologia
testina SME51-L-1-5-N-L5-J
banda magnetica MT50-2-100-1
Tabella 3.8: Dati Encoder lineare - Asse Y
303
Sistema cartesiano a 2 gradi di libertà
3.2 Modellazione dinamica del sistema
Nella presente sezione vengono sviluppati per entrambi gli assi del sistema cartesiano
i modelli rigidi e cedevoli, quindi le equazioni del moto che permettono di descrivere
il comportamento dinamico.
3.2.1 Asse X-Modello rigido
La modellazione dinamica dell’asse X, considerato come rigido, tiene conto dei
seguenti elementi:
• motore PARKER NX110E;
• puleggia motrice con raggio r1 ed inerzia Jp1;
• puleggia di rinvio con raggio r2 ed inerzia Jp2;
• due pulegge facenti parte della guida lineare con raggio r3 ed inerzia Jp3;
In Fig.3.2 viene riportata la schematizzazione dell’asse X analizzato come rigido.
M
𝑟3, 𝐽𝑝3
𝑟2, 𝐽𝑝2
𝑟1, 𝐽𝑝1
𝐶𝑚 θ𝑚, ሶ
θ𝑚, ሷ
θ𝑚
m
𝑟3, 𝐽𝑝3
𝐽𝑚
Fig. 3.2: Schematizzazione dell’asse X-Modello rigido
L’equazione della dinamica viene ricavata scrivendo il bilancio delle potenze:
Cm ·ωm = Jm ·ω̇m ·ωm +Jp1 ·ω̇m ·ωm +(Jp2 +Jp3)·ω2 ·ω̇2 +m·a·v+Jp3 ·ω3 ·ω̇3 (3.1)
in cui ωm, ω̇m, ω2, ω̇2, ω3 e ω̇3 sono rispettivamente la velocità e l’accelerazione
angolare dell’albero motore, della puleggia 2 e 3, mentre m a e v sono la massa,
304
Modellazione dinamica del sistema
l’accelerazione e la velocità lineare del carrello. Sostituendo in (3.1) le relazioni:
ω2 = ωm ·
r1
r2
= ω3
a = ω̇m ·
r1
r2
· r3
v = ωm ·
r1
r2
· r3
e semplificando ωm, si ottiene l’equazione della dinamica (3.2),
Cm = ω̇m ·

Jm + Jp1 + (
r1
r2
)2
[Jp2 + Jp3 + m · r2
3 + Jp3]

(3.2)
che, chiamando Jred = Jm + Jp1 + (r1
r2
)2
[Jp2 + Jp3 + m · r2
3 + Jp3] l’inerzia ridotta al
motore, è possibile riscrivere in forma compatta come:
Cm = ω̇m · Jred = θ̈m · Jred (3.3)
In Fig.3.3 viene riportato lo schema Simulink rappresentante la dinamica dell’asse
X, considerato come rigido, utile per le successive simulazioni.
Fig. 3.3: Schema Simulink del modello rigido dell’asse X
305
Sistema cartesiano a 2 gradi di libertà
3.2.2 Asse X-Modello cedevole
Lo sviluppo del modello cedevole considera anche le cedevolezze delle cinghie e le
dissipazioni a loro associate. In Fig.3.4 viene riportata la rappresentazione dell’asse
X esaminato come cedevole, in cui si evidenziano le rigidezze degli spezzoni di cin-
ghia, rappresentate con un elemento elastico, e le dissipazioni, descritte graficamente
con l’elemento smorzatore, posto in parallelo alla rigidezza.
M
𝑟3, 𝐽𝑝3
𝑟2, 𝐽𝑝2
𝑟1, 𝐽𝑝1
𝐶𝑚 θ1, ሶ
θ1, ሷ
θ1
m
𝑟3, 𝐽𝑝3
𝐽𝑚
𝑘1,𝑐1
𝑘1,𝑐1
𝑘2,𝑐2
𝑘3,𝑐3
𝑘4,𝑐4
θ2
θ3 x
Fig. 3.4: Schematizzazione dell’asse X - Modello cedevole
L’equazione della dinamica viene ottenuta utilizzano il PLV (principio dei lavori
virtuali) applicato ad ogni singolo grado di libertà del sistema, ovvero a θ1,θ2,θ3 ed
x.
Partendo dal primo grado di libertà θ1 e facendo riferimento alla Fig.3.5, si scrive
l’equazione:
δL∗
= −δθ1 · Jm · θ̈1 − δθ1 · Jp1 · θ̈1 + δθ1 · r1 · k1 · (θ2 · r2 − θ1 · r1)
− δθ1 · r1 · k1 · (θ1 · r1 − θ2 · r2) + δθ1 · Cm + δθ1 · r1 · c1(θ̇2 · r2 − θ̇1 · r1)
− δθ1 · r1 · c1 · (θ̇1 · r1 − θ̇2 · r2) = 0 (3.4)
Semplificando δθ1 è possibile riscrivere la (3.4) come:
Jm · θ̈1 + Jp1 · θ̈1 − r1 · k1 · (θ2 · r2 − θ1 · r1)
+ r1 · k1 · (θ1 · r1 − θ2 · r2) − Cm − r1 · c1(θ̇2 · r2 − θ̇1 · r1)
+ r1 · c1 · (θ̇1 · r1 − θ̇2 · r2) = 0 (3.5)
Per il grado di libertà θ2 (Fig.3.6) l’equazione scritta è:
306
Modellazione dinamica del sistema
𝐽𝑝1
ሷ
θ1
𝐽𝑚
ሷ
θ1
𝐶𝑚, θ1
𝐹1
𝐹2
𝑐1( ሶ
θ1 𝑟1- ሶ
θ2 𝑟2)
𝑐1( ሶ
θ2 𝑟2- ሶ
θ1 𝑟1)
𝐽𝑝1,𝑟1
Fig. 3.5: Grado di libertà θ1 - Asse X
𝐹1
𝐹2
𝑐1( ሶ
θ2𝑟2- ሶ
θ1𝑟1)
𝑐1( ሶ
θ1𝑟1- ሶ
θ2𝑟2)
𝐹3
𝐹5
𝑐2( ሶ
𝑥- ሶ
θ2𝑟3)
𝑐4( ሶ
θ2𝑟3 - ሶ
θ3𝑟3)
𝐽𝑝2, 𝑟2
𝐽𝑝3, 𝑟3
θ2
(𝐽𝑝2 + 𝐽𝑝3) ሷ
θ2
Fig. 3.6: Grado di libertà θ2 - Asse X
δL∗
= −δθ2 ·(Jp2 +Jp3)·θ̈2 −δθ2 ·r2 ·k1 ·(θ2 ·r2 −θ1 ·r1)+δθ2 ·r2 ·k1 ·(θ1 ·r1 −θ2 ·r2)
+ δθ2 · r3 · k2 · (x − θ2 · r2) − δθ2 · r2
3 · k4 · (θ2 − θ3) − δθ2 · r2 · c1 · (θ̇2 · r2 − θ̇1 · r1)
+δθ2 ·r2 ·c1 ·(θ̇1 ·r1 −θ̇2 ·r2)+δθ2 ·r3 ·c2 ·(ẋ−θ̇2 ·r3)−δθ2 ·r3 ·c4 ·(θ̇2 ·r3 −θ̇3 ·r3) = 0
(3.6)
Semplificando δθ2 si ottiene:
(Jp2 + Jp3) · θ̈2 + r2 · k1 · (θ2 · r2 − θ1 · r1) − r2 · k1 · (θ1 · r1 − θ2 · r2)
− r3 · k2 · (x − θ2 · r2) + r2
3 · k4 · (θ2 − θ3) + r2 · c1 · (θ̇2 · r2 − θ̇1 · r1)
− r2 · c1 · (θ̇1 · r1 − θ̇2 · r2) − r3 · c2 · (ẋ − θ̇2 · r3) + r3 · c4 · (θ̇2 · r3 − θ̇3 · r3) = 0
(3.7)
Il grado di libertà descrivente lo spostamento lineare del carrelo è la coordinata x.
Prendendo come riferimento Fig.3.7 si scrive l’equazione:
δL∗
= δx·F4 −δx·F3 −δx·m·ẍ+δx·c3 ·(θ̇3 ·r3 −ẋ)−δx·c2 ·(ẋ−θ̇2 ·r3) = 0 (3.8)
307
Sistema cartesiano a 2 gradi di libertà
m
𝐹4 𝐹3
x
𝑐3( ሶ
θ3𝑟3 - ሶ
𝑥) 𝑐2( ሶ
𝑥- ሶ
θ2𝑟3 )
m ሷ
𝑥
m
Fig. 3.7: Grado di libertà x - Asse X
𝐹4
𝐹5
𝑐3( ሶ
θ3𝑟3- ሶ
𝑥)
𝑐4( ሶ
θ2𝑟3- ሶ
θ3𝑟3)
𝐽𝑝3, 𝑟3
θ3
𝐽𝑝3
ሷ
θ3
Fig. 3.8: Grado di libertà θ3 - Asse X
dal quale è possibile ricavare:
−k3 ·(θ3 ·r3 −x)+k2 ·(x−θ2 ·r3)+m·ẍ−c3 ·(θ̇3 ·r3 −ẋ)+c2 ·(ẋ−θ̇2 ·r3) = 0 (3.9)
Infine, per l’ultimo grado di libertà θ3 (Fig.3.8) si scrive l’equazione:
δL∗
= −δθ3 · Jp3 · ¨
θ3 − δθ3 · r3 · k3 · (θ3 · r3 − x) + δθ3 · r3 · k4 · (θ2 · r3 − θ3 · r3)
− δθ3 · r3 · c3 · ( ˙
θ3 · r3 − ẋ) + δθ3 · r3 · c4 · ( ˙
θ2 · r3 − ˙
θ3 · r3) = 0 (3.10)
che conduce a:
Jp3 · ¨
θ3 + r3 · k3 · (θ3 · r3 − x) − r3 · k4 · (θ2 · r3 − θ3 · r3)
+ r3 · c3 · ( ˙
θ3 · r3 − ẋ) − r3 · c4 · ( ˙
θ2 · r3 − ˙
θ3 · r3) = 0 (3.11)
Note le equazioni (3.5),(3.7),(3.11) e (3.9) si definiscono i vettori e le matrici
¨
X =








¨
θ1
¨
θ2
¨
θ3
ẍ








˙
X =








θ1
θ2
θ3
x








X =








θ1
θ2
θ3
x








308
Modellazione dinamica del sistema
M =








Jm + Jp1 0 0 0
0 Jp2 + Jp3 0 0
0 0 Jp3 0
0 0 0 m








K =








2 · k1 · r2
1 −2 · k1 · r1 · r2 0 0
−2 · k1 · r1 · r2 2 · r2
2 · k1 + r2
3 · k2 + r2
3 · k4 −r2
3 · k4 −r3 · k2
0 −r2
3 · k4 r2
3 · k3 + r2
3 · k4 −r3 · k3
0 −k2 · r3 −k3 · r3 k3 + k2








C =








2 · c1 · r2
1 −2 · c1 · r1 · r2 0 0
−2 · c1 · r1 · r2 2 · r2
2 · c1 + r2
3 · c2 + r2
3 · c4 −r2
3 · c4 −r3 · c2
0 −r2
3 · c4 r2
3 · c3 + r2
3 · c4 −r3 · c3
0 −c2 · r3 −c3 · r3 c3 + c2








che consentono la scrittura dell’equazione della dinamica in forma matriciale:
M · ¨
X + C · ˙
X + K · X = Bf · Cm (3.12)
in cui
• M è la matrice di massa del sistema;
• K è la matrice rigidezza del sistema;
• C è la matrice smorzamento del sistema;
• Bf è un vettore 4 x 1 con solo l’elemento in posizione 1x1 non nullo, ma
unitario;
• Cm è la coppia, ovvero l’ingresso del sistema.
Le rigidezze degli spezzoni di cinghia vengono calcolate con la seguente formula:
ki =
kcsi
· Wi
lunghezza libera
(3.13)
dove kcsi
è la rigidezza specifica della cinghia in [N/mm] mentre Wi è la larghezza
dello spezzone. Per la determinazione di k1 è quindi sufficiente ricavare la lunghezza
libera del tratto di cinghia di interesse: per farlo si fa riferimento alla Fig.3.9 e, noto
309
Sistema cartesiano a 2 gradi di libertà
β
2
β
2
Interasse
α
θ1
θ2
𝐽𝑝2,𝑟2
𝐽𝑝1,𝑟1
Fig. 3.9: Schematizzazione della puleggia 1 e 2 per il calcolo della lunghezza libera
l’interasse I1, il passo p della cinghia, il numero di denti Z1 e Z2 e i raggi r1 e r2
delle pulegge, si utilizzano le formule sottostanti:
β = 2 · arccos(
p · (Z2 − Z1)
2 · π · I1
) (3.14)
α = pi −
β
2
(3.15)
L =
q
I2
1 + r2
1 − 2 · I1 · r1 cos(α) (3.16)
Per la rigidezza k4 si applica sempre la formula (3.13), ma la sua lunghezza libera
coincide con l’ interasse stesso fra le pulegge. Le rigidezze k3 e k2 non sono invece
costanti, ma variabili con la posizione assunta dal carrello lungo l’asse (Fig.3.10),
quindi calcolabili come:
k2 =
kcs2 · W2
(I2−Lcar)
2
+ x
(3.17)
k3 =
kcs2 · W2
(I2−Lcar)
2
− x
(3.18)
Ne risulta quindi una matrice rigidezza K(x) non costante, ma variabile con la
posizione assunta dal carrello. Nello scrivere le equazioni di moto si sarebbero do-
vuti pertanto considerare anche i termini relativi alle variazioni di k2 e k3, tuttavia
vengono trascurati nella presente analisi in quanto porterebbero a equazioni non li-
neari e più complesse. In Fig.3.11 viene riportato il modello cedevole implementato
nell’ambiente Simulink.
310
Modellazione dinamica del sistema
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
[m]
0
0.5
1
1.5
2
2.5
3
[N/m]
106
k2
k3
Fig. 3.10: Andamento dei valori delle rigidezze k2 e k3 in funzione della posizione assunta
dal carrello lungo l’asse X
Fig. 3.11: Schema Simulink del modello cedevole dell’ asse X
311
Sistema cartesiano a 2 gradi di libertà
3.2.3 Analisi modale asse X
Con la stessa procedura adottata nella sezione 1.3, si determinano le pulsazioni
naturali, variabili in funzione della posizione del carrello lungo l’asse (Fig.3.12). In
tabella (3.9) vengono riassunti i valori delle pulsazioni al centro e alle estremità della
corsa utile del carrello.
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
x [m]
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
[rad/s]
1
2
3
4
Fig. 3.12: Andamento delle pulsazioni naturali in funzione della posizione del carrello -
asse X
Posizione [mm] ω1[rad
s
]
ω1[rad
s
]
ω1[rad
s
] ω2[rad
s
]
ω2[rad
s
]
ω2[rad
s
] ω3[rad
s
]
ω3[rad
s
]
ω3[rad
s
] ω4[rad
s
]
ω4[rad
s
]
ω4[rad
s
]
−0.5 0 1803.481615 2460.871370 8245.936022
0 0 827.722887 2971.870058 7982.134627
0.5 0 709.366801 6479.665173 7961.908269
Tabella 3.9: Pulsazioni naturali al centro e all’estremità della corsa del carrello - Asse X
Per verificare la correttezza del modello si effettuano simulazioni il cui risultato sia
noto e prevedibile, considerando il carrello in posizione x = 0, quindi una matrice
rigidezza K costante. I risultati estratti da Matlab in termini di pulsazioni e modi
di vibrare, valutati in x = 0, sono riportati in Fig.3.13. Considerando il sistema
non smorzato e con forzante nulla, e scegliendo come condizioni iniziali di velocità
312
Modellazione dinamica del sistema
Fig. 3.13: Pulsazioni naturali e modi di vibrare in x=0 - asse X
nulla e posizione pari al secondo modo di vibrare, la risposta libera nel tempo sarà
prevedibilmente sinusoidale, con ampiezza e pulsazione naturale date dal modo di
vibrare scelto: osservando la Fig.3.14, derivante dalla simulazione in Simulink, si
valida quindi la correttezza del modello realizzato. Per procedere con le simulazioni
che tengono conto anche delle dissipazioni presenti nel sistema è necessario ricavare la
matrice smorzamento C. La matrice C ricavata in precedenza richiede la conoscenza
dei valori di tutti gli smorzamenti ci, cosa non nota, ed è conseguenza dell’aver
modellato le dissipazioni in parallelo alle rigidezze. Con lo stesso procedimento
adottato per il sistema aptico nel paragrafo ??, la matrice C viene ricavata sfruttando
le coordinate modali, ponendoci in x = 0 e fissando un fattore di smorzamento
ξ = 0.4:
C =








0.0639 −0.1206 −0.0021 −1.7298
−0.1206 0.3031 −0.0040 −1.9337
−0.0021 −0.0040 0.0252 −1.2864
−1.7298 −1.9337 −1.2864 561.0464








Nota la C, per verificare il comportamento del sistema vengono fatte le seguenti
simulazioni, sempre ritenendo il carrello al centro della corsa utile, quindi con K
costante:
313
Sistema cartesiano a 2 gradi di libertà
0 0.05 0.1
[s]
-1
0
1
[rad]
1
0 0.05 0.1
[s]
-0.5
0
0.5
[rad]
2
0 0.05 0.1
[s]
-0.2
-0.1
0
0.1
0.2
[rad]
3
0 0.05 0.1
[s]
-5
0
5
[rad]
10-3 x
Fig. 3.14: Oscillazioni libere del sistema non smorzato, non forzato, condizioni iniziali
pari al secondo modo di vibrare - Asse X
1. Risposta del sistema non forzato, smorzato eccitando il secondo modo di
vibrare (Fig.3.15);
2. Risposta forzata del sistema smorzato (Fig.3.16);
Infine, come ulteriore prova della correttezza degli schemi a blocchi realizzati in
Simulink, si effettua un confronto tra modello rigido e cedevole. Emerge che, non
considerando gli smorzamenti nulli, i due si comportano nello stesso modo dando
in ingresso una coppia sinusoidale con frequenza lontano da quella di risonanza
(Fig.3.17). Qualora invece si dia in ingresso una sinusoide con pulsazione pari a
quella del secondo modo di vibrare, il sistema è in risonanza (Fig.3.18). Introducendo
invece la matrice smorzamento C nel modello cedevole, per apprezzarne l’effetto
si ripetete l’analisi precedente, ovvero si eccita il sistema con una sinusoide con
pulsazione pari a quella del secondo modo di vibrare (Fig.3.19): è evidente come,
a differenza di quanto ottenuto col modello cedevole non smorzato (Fig.3.18),la
risposta non diverge ma viene correttamente smorzata.
314
Modellazione dinamica del sistema
0 0.05 0.1
[s]
-1
-0.5
0
0.5
1
[rad]
1
0 0.05 0.1
[s]
-0.4
-0.2
0
0.2
0.4
[rad]
2
0 0.05 0.1
[s]
-0.1
0
0.1
[rad]
3
0 0.05 0.1
[s]
-5
0
5
[rad]
10-3 x
Fig. 3.15: Oscillazioni smorzate del sistema, non forzato, condizioni iniziali pari al se-
condo modo di vibrare - Asse X
0 0.02 0.04 0.06
[s]
0
5
10
15
20
[rad]
1
0 0.05 0.1
[s]
0
5
10
15
20
[rad]
2
0 0.05 0.1
[s]
0
5
10
15
20
[rad]
3
0 0.05 0.1
[s]
0
0.1
0.2
0.3
[m]
x
Fig. 3.16: Risposta nel tempo del sistema smorzato, forzante Q = [1, 0, 0, 0] costante, K
costante - Asse X
315
Sistema cartesiano a 2 gradi di libertà
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
[s]
0
5
10
15
20
25
30
35
40
45
50
[rad]
m
cedevole
m
rigido
Fig. 3.17: Andamento nel tempo della rotazione del motore, confrontando le risposte
forzate, del modello cedevole non smorzato e del rigido, utilizzando come in-
gresso una sinusoide con ampiezza di 20 Nm e pulsazione pari a 413.86 rad
s -
Asse X
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
[s]
0
5
10
15
20
25
30
35
40
45
50
[rad]
m
cedevole
m
rigido
Fig. 3.18: Andamento nel tempo della rotazione del motore, confrontando le risposte for-
zate, del modello cedevole non smorzato e del rigido, utilizzando come ingresso
una sinusoide con ampiezza di 20 Nm e pulsazione pari a quella del secondo
modo di vibrare - Asse X
316
Modellazione dinamica del sistema
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
[s]
0
5
10
15
20
25
[rad]
m
cedevole
m
rigido
Fig. 3.19: Andamento nel tempo della rotazione del motore, confrontando le risposte
forzate, del modello cedevole smorzato e del rigido, utilizzando come ingresso
una sinusoide con ampiezza di 20 Nm e pulsazione paria quella del secondo
modo di vibrare - Asse X
3.2.4 Asse Y-Modello rigido
La modellazione dell’asse Y, considerato come rigido, tiene conto dei seguenti ele-
menti:
• motore Mavilor BLS-073A.00.0105.00 e sua inerzia Jm;
• puleggia motrice con raggio r1 ed inerzia Jp1 ;
• puleggia di rinvio con raggio r2 ed inerzia Jp2 ;
• quattro pulegge costituenti le due guide lineari con raggio r3 ed inerzia Jp3 ;
• albero per la trasmissione del moto dalla puleggia 2 alle pulegge delle guide
lineari con raggio rs ed inerzia Js;
• massa traslante lungo l’asse Y.
Facendo riferimento alla Fig.3.20 si scrive l’equazione della dinamica impostando un
bilancio delle potenze:
Cm·ωm = Jm·ω̇m·ωm+Jp1 ·ω̇m·ωm+Jp2 ·ω̇2·ω2+4·Jp3 ·ω̇2·ω2+Js·ω̇2·ω2+m·a·v (3.19)
317
Sistema cartesiano a 2 gradi di libertà
M
𝑟2, 𝐽𝑝2
𝑟1, 𝐽𝑝1
𝐶𝑚 θ𝑚, ሶ
θ𝑚, ሷ
θ𝑚
𝑟3, 𝐽𝑝3
𝐽𝑚
𝑟3, 𝐽𝑝3
𝑟3, 𝐽𝑝3
𝑟3, 𝐽𝑝3
m
𝑟𝑠, 𝐽𝑠
Fig. 3.20: Schematizzazione dell’asse Y considerato come rigido
dove ωm, ω2, ω̇m e ω̇2 sono rispettivamente velocità e accelerazione angolare del
motore e della puleggia 2, Js è l’inerzia dell’albero di collegamento, che può essere
stimata noto il suo diametro e la densità dell’acciaio, mentre a e v sono accelerazione
e velocità della massa traslante. Sostituendo in (3.19) le relazioni:
ω2 = ωm ·
r1
r2
= ω3
a = ω̇m ·
r1
r2
· r3
v = ωm ·
r1
r2
· r3
e semplificando ωm si ottiene l’equazione della dinamica del sistema rigido.
Cm = ω̇m · [Jm + Jp1 + (Jp2 + 4 · Jp3 + Js + m · r2
3) · (
r1
r2
)2
] (3.20)
Chiamando Jred = [Jm + Jp1 + (Jp2 + 4 · Jp3 + Js + m · r2
3) · (r1
r2
)2
] l’inerzia ridotta al
motore, è possibile riscrivere la (3.20) come:
Cm = θ̈m · Jred (3.21)
in cui θ̈m è l’accelerazione angolare del motore.
La rappresentazione del modello rigido dell’asse Y nell’ambiente Simulink è mostrata
in Fig.3.21.
318
Modellazione dinamica del sistema
Fig. 3.21: Schema Simulink del modello rigido dell’asse Y
319
Sistema cartesiano a 2 gradi di libertà
3.2.5 Asse Y-Modello cedevole
Esaminare l’asse Y come cedevole significa tener conto delle rigidezze delle cinghie,
dell’albero di trasmissione del moto e delle dissipazioni introdotte da tali elementi.
Come per l’asse X, il primo step è quello di rappresentare graficamente il sistema
(Fig.3.22); essendo poi simmetrico è possibile passare a una rappresentazione più
compatta (Fig.3.23). Per la scrittura delle equazioni di moto si è utilizzato il PLV
(principio dei lavori virtuali), applicato ad ogni singolo grado di libertà.
M
𝑟3, 𝐽𝑝3
𝑟2, 𝐽𝑝2
𝑟1, 𝐽𝑝1
𝐶𝑚
θ1, ሶ
θ1, ሷ
θ1
m
𝑟3, 𝐽𝑝3
𝐽𝑚
𝑘1,𝑐1
𝑘2,𝑐2
𝑘2𝑠,𝑐2𝑠
θ2
θ3
y
𝑟3, 𝐽𝑝3
m
𝑘2𝑑,𝑐2𝑑
θ4
𝑘1,𝑐1
𝑘2𝑠,𝑐2𝑠
𝑘2𝑑,𝑐2𝑑
𝑘2,𝑐2
𝑟3, 𝐽𝑝3
θ3
θ4
𝑘𝑡
2
,
𝑐𝑡
2
𝑘𝑡
2
,
𝑐𝑡
2
m
Fig. 3.22: Schematizzazione del modello cedevole - Asse Y
Il PLV applicato al gradi di libertà θ1, scritto facendo riferimento alla Fig.3.24,
fornisce l’equazione:
δL∗
= δθ1 · r1 · k1 · (θ2 · r2 − θ1 · r1) + δθ1 · r1 · c1 · (θ̇2 · r2 − θ̇1 · r1)
−δθ2·r1·k1·(θ1·r1−θ2·r2)−δθ1·r1·c1·(θ̇1·r1−θ̇2·r2)+δθ1·Cm−δθ1·Jp1 ·θ̈1−δθ1·Jm·θ̈1 = 0
(3.22)
320
Modellazione dinamica del sistema
M
𝑟2, 𝐽𝑝2
𝑟1, 𝐽𝑝1
𝐶𝑚
θ1, ሶ
θ1, ሷ
θ1
𝐽𝑚
𝑘1,𝑐1
θ2
y
𝑟3, 𝐽𝑝3
2𝑘2𝑑,2𝑐2𝑑
𝑘1,𝑐1
2𝑘2𝑠,2𝑐2𝑠
2𝑘2,2𝑐2
𝑟3, 𝐽𝑝3
θ3
θ4
𝑘𝑡, 𝑐𝑡
m
Fig. 3.23: Schematizzazione compatta del modello cedevole - Asse Y
𝑟2, 𝐽𝑝2
𝑟1, 𝐽𝑝1
𝐶𝑚
θ2
𝐹1
𝐹1
′
𝐹2
′
𝐹1
𝐹1
′
𝐹2
𝐹2
′
𝐹2
θ1
𝐽𝑚
ሷ
θ1
𝐽1
ሷ
θ1
𝐶𝑒𝑙= 𝑘𝑡(θ2- θ3)
𝐽𝑝2
ሷ
θ2
𝐽𝑎
2
ሷ
θ2
𝑐𝑡( ሶ
θ3- ሶ
θ2)
Fig. 3.24: Gradi di libertà θ1 e θ2 - Asse Y
321
Sistema cartesiano a 2 gradi di libertà
𝑟3, 𝐽𝑝3
𝐹3 𝐹3
′
𝐹4
′
𝐹4
θ3
2𝐽3
ሷ
θ3 2𝐽3
ሷ
θ4
𝐽𝑎
2
ሷ
θ1
𝐹5
𝐹5
′
𝐹4
′ 𝐹4
θ4
𝐹3
′
𝐹3 𝐹5
′
𝐹5
m ሷ
𝑦
y
𝑟3, 𝐽𝑝3
𝑐𝑡( ሶ
θ2- ሶ
θ3)
Fig. 3.25: Gradi di libertà θ3 e θ4 - Asse Y
che, riscritta semplificando δθ1, risulta:
− r1 · k1 · (θ2 · r2 − θ1 · r1) − r1 · c1 · (θ̇2 · r2 − θ̇1 · r1) + r1 · k1 · (θ1 · r1 − θ2 · r2)
+ r1 · c1 · (θ̇1 · r1 − θ̇2 · r2) − Cm + Jp1 · θ̈1 + Jm · θ̈1 = 0 (3.23)
Per il grado di libertà θ2 (Fig.3.24) l’equazione è:
δL∗
= −δθ2·Jp2 ·θ̈2−δθ2·kt·(θ2−θ3)−δθ2·r2·k1·(θ2·r2−θ1·r1)−δθ2·r2·c1·(θ̇2·r2−θ̇1·r1)
+δθ2·r2·k1·(θ1·r1−θ2·r2)+δθ2·r2·k1·(θ1·r1−θ2·r2)+δθ2·
Ja
2
· ¨
θ2−δθ2·c2(θ̇2−θ̇3) = 0
(3.24)
riscritta poi come:
Jp2 · θ̈2 + kt · (θ2 − θ3) + r2 · k1 · (θ2 · r2 − θ1 · r1) + r2 · c1 · (θ̇2 · r2 − θ̇1 · r1)
− r2 · k1 · (θ1 · r1 − θ2 · r2) − r2 · k1 · (θ1 · r1 − θ2 · r2) +
Ja
2
· ¨
θ2 + c2 · (θ̇2 − θ̇3) = 0
(3.25)
Per il grado di libertà θ3, l’equazione è:
δL∗
= −2 · δθ3 · J3 · ¨
θ3 + δθ3 · kt · (θ2 − θ3) + δθ3 · r3 · 2 · k2s · (x − θ3 · r3)
δθ3 · r3 · 2 · c2s · (ẏ − ˙
θ3 · r3) − δθ3 · r3 · 2 · k2 · (θ3 · r3 − θ4 · r3) − δθ3 · r3 · 2 · c2 · (θ̇3 · r3
− θ̇4 · r3) − δθ3 ·
Ja
2
· θ̈3 + δθ3 · ct · (θ̇2 − ˙
θ3) = 0 (3.26)
322
Modellazione dinamica del sistema
che riarrangiata diventa:
+ 2 · J3 · θ̈3 − kt · (θ2 − θ3) − kt · (θ2 − θ3)
− r3 · 2 · k2s · (x − θ3 · r3) − r3 · 2 · c2s · (ẏ − θ̇3 · r3)
+ r3 · 2 · k2 · (θ3 · r3 − θ4 · r3) + r3 · 2 · c2 · (θ̇3 · r3 − θ̇4 · r3)
+
Ja
2
· θ̈3 − ct · (θ̇2 − ˙
θ3) = 0 (3.27)
L’ultima coordinata libera associata a una rotazione è θ4, per la quale si può scrivere:
δL∗
= 2 · δθ4 · J3 · θ̈4 + 2 · δθ4 · r3 · k2d · (θ4 · r3 − y) + 2 · δθ4 · r3 · c2d · (θ̇4 · r3 − ẏ)
− 2 · δθ4 · r3 · k2 · (θ3 · r3 − θ4 · r3) − 2 · δθ4 · r3 · c2 · (θ̇3 · r3 − δθ4 · θ̇4 · r3) (3.28)
Semplificando lo spostamento virtuale δθ4 si ottiene:
2 · J3 · θ̈4 + r3 · 2 · k2d · (θ4 · r3 − y) + r3 · 2 · c2d · (θ̇4 · r3 − ẏ)
− r3 · 2 · k2 · (θ3 · r3 − θ4 · r3) − r3 · 2 · c2 · (θ̇3 · r3 − θ̇4 · r3) (3.29)
Infine, per l’ultimo grado di libertà y descrivente allo spostamento del carrello:
δL∗
= −δy · m · ÿ − 2 · δy · k2s · (y − θ3 · r3) − 2 · δy · c2s · (ẏ − θ̇3 · r3)
+ 2 · δy · k2d · (θ4 · r3 − y) + 2 · δy · c2d · (θ4 · r3 − ẏ) = 0 (3.30)
in cui semplificando δy, si ottiene:
+ m · ÿ + 2 · k2s · (y − θ3 · r3) + 2 · c2s · (ẏ − θ̇3 · r3)
− 2 · k2d · (θ4 · r3 − y) − 2 · c2d · (θ̇4 · r3 − ẏ) = 0 (3.31)
Note le equazioni (3.23),(3.25),(3.27), (3.29) e (3.31) si definiscono i vettori e le
matrici
¨
X =











¨
θ1
¨
θ2
¨
θ3
¨
θ4
ÿ











˙
X =











θ̇1
θ̇2
θ̇3
θ̇4
y











X =











θ1
θ2
θ3
θ4
y











323
Sistema cartesiano a 2 gradi di libertà
M =











Jm + Jp1 0 0 0 0
0 Jp2 + Ja
2
0 0 0
0 0 2 · Jp3 + Ja
2
0 0
0 0 0 2 · J3 0
0 0 0 0 m











K =











2k1r2
1 −2k1r1r2 0 0 0
−2k1r1r2 2r2
2k1 + kt −kt 0 0
0 −kt kt + 2k2r2
3 + 2k2sr2
3 −2k2r2
3 −2k2sr3
0 0 −2k2r2
3 2k2r2
3 + 2k2dr2
3 −2k2dr3
0 0 −2k2sr3 −2k2dr3 2k2d + 2k2s











C =











2c1r2
1 −2c1r1r2 0 0 0
−2c1r1r2 2r2
2c1 + ct −ct 0 0
0 −ct ct + 2c2r2
3 + 2c2sr2
3 −2c2r2
3 −2c2sr3
0 0 −2c2r2
3 2c2r2
3 + 2c2dr2
3 −2c2dr3
0 0 −2c2sr3 −2c2dr3 2c2d + 2c2s











per permettere la scrittura dell’equazione della dinamica in forma matriciale:
M · ¨
X + C · ˙
X + K · X = Bf · Cm (3.32)
in cui compare la matrice di massa M, la matrice rigidezza K, la matrice smorza-
mento C, il vettore Bf = [1, 0, 0, 0, 0]T
e la coppia, ingresso del sistema. Come per
l’asse X, alcune rigidezze sono costanti (k1 e k2) mentre altre variano con la posizione
assunta dalla massa traslante lungo l’asse Y (k2s e k2d) (Fig.3.27): la procedura per
la loro determinazione è analoga a quella già vista per l’altro asse. La rigidezza tor-
sionale dell’albero di collegamento invece viene determinata utilizzando il diametro
(d), la lunghezza (l) e il modulo elastico tangenziale G, tramite la formula:
Kt =
π · G · d4
32 · l
(3.33)
In Fig.3.26 il diagramma a blocchi Simulink rappresentante la dinamica dell’asse Y.
324
Modellazione dinamica del sistema
Fig. 3.26: Schema Simulink del modello cedevole dell’asse Y
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
[m]
0
1
2
3
4
5
6
[N/m]
107
k2s
k2d
Fig. 3.27: Andamento dei valori delle rigidezze k2s e k2d in funzione della posizione as-
sunta dalla massa traslante lungo l’asse Y
325
Sistema cartesiano a 2 gradi di libertà
3.2.6 Analisi modale asse Y
Come fatto per l’asse X, il primo passo per condurre l’analisi modale consiste nel
determinare le pulsazioni proprie del sistema, variabili in funzione della posizione
della massa traslante lungo l’asse Y (Fig.3.28). In tabella (3.10) vengono riassunti
i valori delle pulsazioni al centro e alle estremità della corsa utile.
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
x [m]
0
2000
4000
6000
8000
10000
12000
14000
16000
18000
[rad/s]
1
2
3
4
5
Fig. 3.28: Andamento delle pulsazioni naturali in funzione della posizione del carrello -
Asse Y
Posizione [mm] ω1[rad
s
]
ω1[rad
s
]
ω1[rad
s
] ω2[rad
s
]
ω2[rad
s
]
ω2[rad
s
] ω3[rad
s
]
ω3[rad
s
]
ω3[rad
s
] ω4[rad
s
]
ω4[rad
s
]
ω4[rad
s
] ω5[rad
s
]
ω5[rad
s
]
ω5[rad
s
]
−0.5 0 0.000024 1104.865163 1792.348725 4491.923643
0 0 515.699478 2134.093708 3447.999640 4661.473051
0.5 0 0 451.436742 3275.417949 4636.292411
Tabella 3.10: Pulsazioni naturali al centro e all’estremità della corsa del carrello - Asse
Y
Analogamente a quanto fatto per l’asse X si testa il modello Simulink realizzato
per simulare il comportamento dinamico del sistema. Considerando il carrello in
posizione y = 0, quindi una matrice rigidezza K costante, i risultati ricavati da
Matlab in termini di pulsazioni e modi di vibrare sono riportati in Fig.3.29. La
326
Modellazione dinamica del sistema
Fig. 3.29: Pulsazioni naturali e modi di vibrare in y=0 - Asse Y
prima analisi condotta per validare la correttezza dello schema Simulink è stata
valutare la risposta libera del sistema non smorzato con condizioni iniziali di velocità
nulle e posizione pari al secondo modo di vibrare. Il risultato, come ci aspetta, è
sinusoidale con ampiezza e pulsazione naturale data dal secondo modo di vibrare
(Fig.3.30). Per tener conto in fase di simulazione della componente dissipativa, è
necessario stimare la matrice smorzamento C. La matrice C, anche per l’asse Y,
viene ricavata sfruttando le coordinate modali, considerando il carrello in y = 0 e
fissando un fattore di smorzamento ξ = 0.4:
C =











0.1934 −0.4798 −0.0347 −0.0070 −6.1179
−0.4798 1.8806 −0.1897 −0.0133 −8.9258
−0.0347 −0.1897 0.4364 −0.0265 −6.8518
−0.0070 −0.0133 −0.0265 0.2026 −8.8159
−6.1179 −8.9258 −6.8518 −8.8159 2775.5











Ricavata la C, per verificare il comportamento del sistema vengono fatte le seguenti
simulazioni, sempre ritenendo il carrello al centro della corsa utile, quindi con K
costante:
327
Sistema cartesiano a 2 gradi di libertà
Fig. 3.30: Oscillazioni libere del sistema non smorzato, non forzato, condizioni iniziali
pari al secondo modo di vibrare - Asse Y
1. Risposta del sistema non forzato, smorzato, eccitando il secondo modo di
vibrare (Fig.3.31);
2. Risposta forzata del sistema smorzato (Fig.3.32);
Infine, come ulteriore prova della correttezza degli schemi a blocchi realizzati in
Simulink, si effettua un confronto tra modello rigido e cedevole. Le simulazioni
condotte sono le seguenti:
1. risposta forzata del modello rigido e cedevole non smorzato con ingresso si-
nusoidale con frequenza distante da quella di risonanza: i due modelli si
comportano circa allo stesso modo (Fig.3.33).
2. risposta forzata del modello rigido e cedevole non smorzato con ingresso sinu-
soidale con frequenza pari a quella del secondo modo di vibrare: il modello
cedevole va in risonanza (Fig.3.34).
3. stessa analisi del punto precedente ma considerando il modello cedevole smor-
zato: il sistema non diverge bensı̀ le oscillazioni vengono smorzate (Fig.3.35).
328
Modellazione dinamica del sistema
Fig. 3.31: Oscillazioni smorzate del sistema, non forzato, condizioni iniziali pari al se-
condo modo di vibrare - Asse Y
Fig. 3.32: Risposta nel tempo del sistema smorzato, forzante Q = [1, 0, 0, 0] costante, K
costante - Asse Y
329
Sistema cartesiano a 2 gradi di libertà
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
[s]
0
2
4
6
8
10
12
14
[rad]
m
cedevole
m
rigido
Fig. 3.33: Andamento nel tempo della rotazione del motore, confrontando le risposte
forzate, del modello cedevole non smorzato e del rigido, utilizzando come in-
gresso una sinusoide con ampiezza di 20 Nm e pulsazione pari a 257.85 rad
s -
Asse Y
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
[s]
0
2
4
6
8
10
12
[rad]
m
cedevole
m
rigido
Fig. 3.34: Andamento nel tempo della rotazione del motore, confrontando le risposte for-
zate, del modello cedevole non smorzato e del rigido, utilizzando come ingresso
una sinusoide con ampiezza di 20 Nm e pulsazione pari a quella del secondo
modo di vibrare - Asse Y
330
Modellazione dinamica del sistema
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
[s]
0
1
2
3
4
5
6
7
[rad]
m
cedevole
m
rigido
Fig. 3.35: Andamento nel tempo della rotazione del motore, confrontando le risposte
forzate, del modello cedevole smorzato e del rigido, utilizzando come ingresso
una sinusoide con ampiezza di 20 Nm e pulsazione pari a quella del secondo
modo di vibrare - Asse Y
331
Sistema cartesiano a 2 gradi di libertà
3.3 Controllo di posizione
Per far eseguire all’end-effector una qualsiasi traiettoria nello spazio di lavoro è
necessario sviluppare un robusto controllo di posizione, che consenta di fare muo-
vere i singoli assi secondo precise leggi di moto, assegnate come riferimento. La
strategia di controllo scelta è il posizionamento poli, testato prima in simulazione e
successivamente verificato sperimentalmente sul banco di prova. Per le nozioni sul
funzionamento e sulle peculiarità di questa tecnica di controllo si faccia riferimento
a quanto già descritto nel paragrafo 1.6.1: la struttura delle equazioni dei modelli
è la medesima già vista per il sistema aptico pertanto vengono riportati di seguito
solo le analisi condotte e i risultati sperimentali.
3.3.1 Posizionamento poli - Asse X
Per il controllo in posizione dell’asse X, sono state fissati i poli complessi coniugati
con le seguenti caratteristiche:
• smorzamento ξ = 0.6;
• frequenza naturale fn=20 Hz.
a cui corrispondono i valori dei guadagni:
• g1=6.6811;
• g2= 0.0638;
Nelle Fig.3.36 e Fig.3.37 viene mostrato lo schema di controllo basato sulla tecnica
del posizionamento poli, applicata sia al modello rigido che cedevole. Per la va-
lidazione dei valori dei guadagni si procede con la simulazione facendo percorrere
al carrello uno spostamento 700 mm in 0.4 s secondo una legge di moto di tipo
Polinomiale 4-5-6-7, seguito da una fase di riposo, per poi tornare nella posizione
iniziale con un profilo di moto analogo a quello della fase di andata. I valori di
tempo e spostamento caratterizzanti la legge di moto sono stati scelti in modo da
non saturare le proprietà del motore, in termini di velocità e coppia, ma allo stesso
tempo verificare l’efficacia del controllo su un movimento abbastanza rapido.
332
Controllo di posizione
Fig. 3.36: Schema di controllo basato sul posizionamento poli - Asse X rigido
Fig. 3.37: Schema di controllo basato sul posizionamento poli - Asse X cedevole
Fig. 3.38: Generazione dei riferimenti di posizione e velocità - Asse X
333
Sistema cartesiano a 2 gradi di libertà
0 0.5 1 1.5
[s]
0
200
400
600
x
[mm]
0 0.5 1 1.5
[s]
-4000
-2000
0
2000
4000
xp
[mm]
Fig. 3.39: Riferimenti di posizione e velocità lineare- Asse X
In Fig.3.39 vengono mostrati i riferimenti di posizione e velocità lineare assegnati al
carrello. Come già anticipato, lo schema di controllo e quindi i riferimenti generati
vengono applicati sia al modello rigido che cedevole. Analizzando i risultati (Fig.3.40
e Fig.3.41) non si osservano rilevanti differenze di comportamento fra i due modelli,
bensı̀ si appura il successo della metodologia del posizionamento poli con i valori dei
guadagni scelti in quanto la posizione effettiva dell’end-effector segue adeguatamente
quella assegnata come riferimento. Osservando con maggior precisione i risultati,
si evidenzia una sovraelongazione in posizione al termine della prima fase di alzata
(Fig.3.42) e alla fine del movimento; analogamente, il profilo di velocità effettiva si
discosta rispetto al profilo di riferimento (Fig.3.43). Tali errori, in posizione ed in
velocità, sono però molto limitati, quindi accettabili; ciò permette di concludere che
il controllo in posizione sviluppato è adeguato per controllare il posizionamento del
carrello lungo l’asse X.
334
Controllo di posizione
0 0.5 1 1.5
t [s]
-100
0
100
200
300
400
500
600
700
800
x
[mm]
xrif
xrigido
xcedevole
Fig. 3.40: Andamento nel tempo della posizione del carrello controllata tramite posizio-
namento poli - Asse X
0 0.5 1 1.5
t [s]
-4000
-3000
-2000
-1000
0
1000
2000
3000
4000
x
[mm/s]
xprif
xprigido
xpcedevole
Fig. 3.41: Andamento nel tempo della velocità del carrello controllata tramite posizio-
namento poli - Asse X
335
Sistema cartesiano a 2 gradi di libertà
0.34 0.35 0.36 0.37 0.38 0.39 0.4 0.41 0.42 0.43 0.44
t [s]
699.4
699.5
699.6
699.7
699.8
699.9
700
700.1
700.2
700.3
700.4
x
[mm]
xrif
xrigido
xcedevole
Fig. 3.42: Sovraelongazione al termine della fase di alzata nel profilo di posizione seguito
dal carrello carrello controllato tramite posizionamento poli - Asse X
0.375 0.38 0.385 0.39 0.395 0.4 0.405 0.41 0.415 0.42 0.425
t [s]
-20
-15
-10
-5
0
5
10
15
20
x
[mm/s]
xprif
xprigido
xpcedevole
Fig. 3.43: Sovraelongazione, al termine della fase di alzata, nel profilo di velocità seguito
dal carrello carrello controllato tramite posizionamento poli - Asse X
336
Controllo di posizione
101
102
103
[rad/s]
-40
-30
-20
-10
0
10
[dB]
101
102
103
[rad/s]
-100
-50
0
[deg]
Fig. 3.44: Diagramma di Bode, del modulo e della fase, della funzione di trasferimento
del posizionatore che riceve in ingresso la posizione di riferimento - Asse X
Infine si determina la funzione di trasferimento del sistema di controllo progettato
che può essere determinata in due modalità a seconda del segnale che riceve in
ingresso:
• Gpos riceve in ingresso la posizione di riferimento;
• Gvel riceve in ingresso la velocità di riferimento.
In ogni caso, entrambe forniscono in uscita la posizione effettiva del carrello. Le
procedure per la loro determinazione sono analoghe a quella già vista nel paragrafo
1.6.1, pertanto vengono mostrati direttamente solo i diagrammi di Bode di modulo
e fase (Fig.3.44 e Fig.3.45).
337
Sistema cartesiano a 2 gradi di libertà
101
102
103
[rad/s]
-100
-50
0
[dB]
101
102
103
[rad/s]
-200
-150
-100
[deg]
Fig. 3.45: Diagramma di Bode, del modulo e della fase, della funzione di trasferimento
del posizionatore che riceve in ingresso la velocità di riferimento - Asse X
Terminata la fase di progettazione, si passa all’implementazione dello schema di
controllo sul banco di prova, per poterlo validare anche sperimentalmente. Utiliz-
zando allora gli stessi guadagni e lo stesso profilo di moto assegnato in simulazione
all’end-effector, si analizzano i risultati sperimentali (Fig.3.46 e Fig.3.47).
La Fig.3.47 evidenzia come la coordinata x descrivente lo spostamento effettivo del
carrello segua adeguatamente il profilo di riferimento, con un minimo errore a regime
pari a 0.7 mm; si validano pertanto i valori dei guadagni g1 e g2 scelti.
338
Controllo di posizione
4 4.5 5 5.5 6 6.5 7 7.5 8
[s]
-100
0
100
200
300
400
500
600
700
800
[mm]
xref
xeff
Fig. 3.46: Confronto fra posizione di riferimento ed effettiva raggiunta dal carrello usando
la metodologia del posizionamento poli - asse X
4 4.5 5 5.5 6 6.5 7 7.5 8
[s]
-4000
-3000
-2000
-1000
0
1000
2000
3000
4000
[mm/s]
xpref
xpeff
Fig. 3.47: Confronto fra velocità di riferimento ed effettiva raggiunta dal carrello usando
la metodologia del posizionamento poli - asse X
339
Sistema cartesiano a 2 gradi di libertà
Fig. 3.48: Schema di controllo basato sul posizionamento poli - Asse Y rigido
3.3.2 Posizionamento Poli - Asse Y
Anche per l’asse Y, per applicare la tecnica del posizionamento poli per il control-
lo della posizione della massa traslante, è necessario fissare lo smorzamento e la
frequenza naturale dei poli del sistema in anello chiuso. Vengono fissati i seguenti
valori:
• smorzamento ξ = 0.6
• frequenza naturale fn = 17
a cui corrispondo i valori dei guadagni:
• g1 = 6.4245
• g2 = 0.0722
Nelle Fig.3.48 e Fig.3.49 viene mostrato lo schema di controllo basato sulla me-
todologia del posizionamento poli, applicata sia al modello rigido che cedevole.
340
Controllo di posizione
Fig. 3.49: Schema di controllo basato sul posizionamento poli - Asse Y cedevole
Fig. 3.50: Generazione dei riferimenti di posizione e velocità - Asse Y
341
Sistema cartesiano a 2 gradi di libertà
Per assegnare in fase di simulazione un coerente profilo di moto al carrello occorre
anche considerare le caratteristiche del motore a disposizione, quindi il rispetto delle
condizioni di picco, termica e cinematica. Note le specifiche del motore Mavilor:
• Cn compresa fra 1.5 e 2;
• Cmax = 7.6 [Nm]
• ωmax = 11000 rpm = 1151.92 rad
s
corrispondente a una velocità lineare della
massa del carrello pari a 5728.5 mm
s
è necessario verificare che Cn, Cmax e ωmax siano rispettivamente maggiori della
coppia rms, della coppia massima e della velocità massima richiesta dal carico al
motore. Considerando il carico come puramente inerziale, se si trascurano gli attriti,
Cmax e Crms richieste dal carico si ottengono semplicemente moltiplicando l’inerzia
equivalente del sistema ridotta all’ albero motore per l’accelerazione rms e massima
richiesta dal carico al motore. Si assegna quindi un profilo di moto alla massa
traslante caratterizzato da una fase di andata pari a 500 [mm] da percorrere in un
tempo ta = 0.5 [s] seguita da una di riposo di durata 0.8 [s] e da quella finale in cui
ritorna nella posizione iniziale, analoga al primo tratto percorso. La legge di moto
utilizzata è la polinomiale 4-5-6-7 e i riferimenti di posizione e velocità sono mostrati
in Fig.3.51.
0 0.5 1 1.5 2 2.5
[s]
0
200
400
600
y
[mm]
0 0.5 1 1.5 2 2.5
[s]
-2000
-1000
0
1000
2000
yp
[mm]
Fig. 3.51: Riferimenti di posizione e velocità lineare- Asse Y
342
Controllo di posizione
0 0.5 1 1.5 2 2.5 3
t [s]
0
100
200
300
400
500
600
y
[mm]
yrif
yrigido
ycedevole
Fig. 3.52: Andamento nel tempo della posizione del carrello controllata tramite posizio-
namento poli - Asse Y
Applicando il sistema di controllo sia al modello cedevole che rigido si ottengono i
risultati di Fig.3.52 e Fig.3.53 mostrano i risultati. Anche per quest’asse, al termine
della prima fase di alzata e alla fine del movimento, si nota una maggior differenza
rispetto al profilo di riferimento (Fig.3.54 e Fig.3.55). Essendo però tali errori dell’
ordine del decimo di millimetro, sono ritenibili trascurabili e quindi più che accetta-
bili. Il controllo di posizione sviluppato, basato sul posizionamento poli, può quindi
ritenersi adeguato per il controllo della massa traslante lungo l’asse Y.
343
Sistema cartesiano a 2 gradi di libertà
0 0.5 1 1.5 2 2.5 3
t [s]
-2500
-2000
-1500
-1000
-500
0
500
1000
1500
2000
2500
yp
[mm/s]
yprif
yprigido
ypcedevole
Fig. 3.53: Andamento nel tempo della velocità del carrello controllata tramite posizio-
namento poli - Asse Y
0.38 0.4 0.42 0.44 0.46 0.48 0.5 0.52 0.54 0.56 0.58
t [s]
499.2
499.4
499.6
499.8
500
500.2
500.4
500.6
500.8
y
[mm]
yrif
yrigido
ycedevole
Fig. 3.54: Sovraelongazione al termine della fase di alzata nel profilo di posizione seguito
dal carrello carrello controllato tramite posizionamento poli - Asse Y
344
Controllo di posizione
0.42 0.44 0.46 0.48 0.5 0.52 0.54 0.56 0.58
t [s]
-15
-10
-5
0
5
10
15
yp
[mm/s]
yprif
yprigido
ypcedevole
Fig. 3.55: Sovraelongazione, al termine della fase di alzata, nel profilo di velocità seguito
dal carrello carrello controllato tramite posizionamento poli - Asse Y
Analogamente a quanto fatto per l’asse X si calcola la funzione di trasferimento del
posizionatore, nei due casi:
• Gpos riceve in ingresso la posizione di riferimento;
• Gvel riceve in ingresso la velocità di riferimento;
Entrambe forniscono in uscita la posizione effettiva della massa traslante. La proce-
dura per la loro determinazione è la medesima di quella vista per il sistema aptico
(1.6.1): vengono qui riportati solo i diagrammi di Bode di modulo e fase (Fig.3.56 e
Fig.3.57). Ultimate le simulazioni, si implementa il sistema di controllo sul banco
di prova, adottando gli stessi valori dei guadagni e lo stesso profilo di moto utilizzato
in Simulink: i risultati sperimentali sono visibili in Fig.3.58 e Fig.3.59. La Fig.3.58
evidenzia come la coordinata x descrivente lo spostamento effettivo del carrello se-
gua adeguatamente il profilo di riferimento, con un minimo errore a regime pari a
0.25 mm; si validano pertanto i valori dei guadagni g1 e g2 scelti.
345
Sistema cartesiano a 2 gradi di libertà
100
101
102
103
[rad/s]
-40
-30
-20
-10
0
[dB]
100
101
102
103
[rad/s]
-100
-50
0
[deg]
Fig. 3.56: Diagramma di Bode, del modulo e della fase, della funzione di trasferimento
del posizionatore che riceve in ingresso la posizione di riferimento - Asse Y
100
101
102
103
[rad/s]
-100
-50
0
[dB]
100
101
102
103
[rad/s]
-200
-150
-100
[deg]
Fig. 3.57: Diagramma di Bode, del modulo e della fase, della funzione di trasferimento
del posizionatore che riceve in ingresso la velocità di riferimento - Asse Y
346
Controllo di posizione
4 4.5 5 5.5 6 6.5 7 7.5 8
[s]
-100
0
100
200
300
400
500
600
[mm]
yref
yeff
Fig. 3.58: Confronto fra posizione di riferimento ed effettiva raggiunta dal carrello usando
la metodologia del posizionamento poli - asse Y
4 4.5 5 5.5 6 6.5 7 7.5 8
[s]
-3000
-2000
-1000
0
1000
2000
3000
[mm/s]
ypref
ypeff
Fig. 3.59: Confronto fra velocità di riferimento ed effettiva raggiunta dal carrello usando
la metodologia del posizionamento poli - asse Y
347
Sistema cartesiano a 2 gradi di libertà
3.4 Homing
Essendo i due assi del banco di prova dotati di sensori di posizione relativi è im-
portante svolgere un’operazione preliminare chiamata homing. Questa consiste, al-
l’avvio del macchinario, nel determinare la posizione di zero, in cui viene fissata
l’origine della coordinata descrivente la spostamento del carico. Una volta esegui-
to l’ homing sarà poi possibile determinare la posizione assoluta dell’end-effector
utilizzando i sensori relativi quali sono i resolver associati ai motori dei due assi.
I passi per l’esecuzione dell’ homing sono i medesimi adottati sul sistema aptico,
per cui per maggiori dettagli sulla procedura si faccia riferimento al paragrafo 1.7.
Anche per gli assi del sistema cartesiano, viene scelto di posizionare l’origine della
coordinata al centro della corsa utile, quindi determinati i valori della coordinata
angolare corrispondenti alle posizioni dei due finecorsa (θmn e θmf
), si calcola quel-
la corrispondente all’origine, che descrive la posizione angolare assoluta dell’albero
motore, con la formula (3.4)
θm0 =
θmn + θmf
2
Utilizzando l’opportuno rapporto di trasmissione dell’asse, che converte la rotazione
del motore nello spostamento lineare, si risale all’origine della coordinata x (x0) e
y (y0), descrivente la posizione dell’end-effector. La posizione assoluta del carrello
si ricava quindi sottraendo a quella effettiva misurata tramite il sensore relativo,
la x0 o y0, a seconda dell’asse in questione. Nelle Fig.3.60 e Fig.3.61 si illustra
l’avvenuta operazione di homing sul banco di prova mostrando gli andamenti nel
tempo del riferimento di posizione e del profilo effettivo seguito dal carrello. Fig.3.60
e Fig.3.61 mostrano quindi le tre fasi costituenti la procedura di homing:
1. la prima in cui si assegna all’end-effector una legge di moto polinomiale che
gli consente di raggiungere una certa velocità costante, partendo da velocità
nulla, e di mantenerla fino a quando non intercetta il primo finecorsa.
2. la seconda analoga alla precedente, ma con movimento verso l’altro finecorsa.
3. la terza in cui si fa muovere il carrello con legge di moto polinomiale 3-4-5
verso il centro della guida lineare, di cui ormai è noto il centro e che costituirà
348
Homing
0 2 4 6 8 10 12 14 16 18 20
[s]
-600
-400
-200
0
200
400
600
[mm]
xref
xeff
Fig. 3.60: Andamento, in funzione del tempo, della posizione del carrello sull’asse X,
durante l’operazione di ”homing”
l’origine della posizione assoluta dell’end-effector.
Si precisa come il primo e il secondo movimento vengano fatti assegnando velocità di
regime abbastanza basse, pari a 200 mm/s, poichè permettono all’end-effector, una
volta raggiunto il finecorsa, di arrestarsi senza urtare i finecorsa meccanici; viceversa,
utilizzando velocità più elevate, in particolar modo per l’asse Y, la massa non si fer-
ma istantaneamente nell’ istante in cui il finecorsa cambia stato, ma per effetto della
propria inerzia, procede oltre, determinando nel profilo di posizione effettivo una so-
vraelongazione alla fine del primo e del secondo movimento ed un significativo errore
a regime rispetto al profilo desiderato. La buona riuscita di tale passaggio prelimi-
nare è conseguenza dell’efficace controllo di posizione precedentemente progettato.
349
Sistema cartesiano a 2 gradi di libertà
0 2 4 6 8 10 12 14 16 18 20
[s]
-600
-400
-200
0
200
400
600
[mm]
yref
yeff
Fig. 3.61: Andamento, in funzione del tempo, della posizione della massa traslante sul-
l’asse Y, durante l’operazione di homing
3.5 Generazione di traiettorie
Un’applicazione del sistema cartesiano a 2 g.d.l. è quella di macchina per l’esecuzione
del taglio al laser. Per svolgere tale operazione è necessario saper gestire il posiziona-
mento dell’end-effector nello spazio operativo secondo delle traiettorie desiderate, in
modo poi, all’atto pratico, da realizzare il prodotto finale con le geometrie richieste.
Sul banco di prova a disposizione si implementano quindi delle semplici traiettorie
da far seguire all’end-effector, senza poi realizzare effettivamente il processo di se-
parazione termica, data l’assenza del dispositivo finale di taglio. La generazione del
riferimento di posizione e il conseguente movimento della massa traslante è sicura-
mente un’ulteriore verifica dell’efficacia del controllo di posizione progettato, basato
sulla metodologia del posizionamento poli. Le traiettorie implementate sono:
• lineare;
• circolare;
• Spirale di Archimede;
350
Generazione di traiettorie
• a farfalla.
All’avvio del macchinario è indispensabile eseguire l’operazione preliminare di ho-
ming per poter fissare le origini delle coordinate x e y descriventi la posizione assoluta
del carrello, poste per semplicità al centro dello spazio operativo. Le coordinate spa-
ziali di ogni punto da raggiungere sono quindi fornite rispetto alla posizione centrale
dello spazio di lavoro. Il movimento del macchinario consiste dunque nelle seguenti
due fasi:
1. operazione preliminare di homing;
2. selezione ed esecuzione delle traiettorie: l’end-effector si posiziona prima nel
punto di partenza scelto ed segue successivamente il percorso desiderato;
Dal punto di vista computazionale, individuata la tipologia di percorso da assegnare
all’end-effector, è necessario definire la legge oraria s = s(t) di percorrenza per poi
risalire a quelle lungo gli assi X ed Y, ed infine alle rotazioni e velocità da attribuire
ai motori. Un generico punto P della traiettoria è esprimibile mediante la relazione
(3.34), in cui x(s) e y(s) sono funzioni scalari dell’ascissa curvilinea s, coordinata
misurata lungo la traiettoria, a sua volta funzione del tempo.
⃗
P(s) = x(s) ·⃗
i + y(s) ·⃗
j (3.34)
La velocità si ricava mediante la formula (3.35), ottenuta derivando rispetto al tempo
la relazione (3.34), in cui d ⃗
P
ds
è il versore tangente alla traiettoria che può essere
riscritto esplicitandone le componenti, le quali sono i coseni direttori del vettore ⃗
P
(formula (3.36)).
d⃗
P
dt
=
d⃗
P
ds
·
ds
dt
= ⃗
P
′
· ṡ (3.35)
d⃗
P
ds
=
dx
ds
·⃗
i +
dy
ds
·⃗
j = x
′
(s) ·⃗
i + y
′
(s) ·⃗
j (3.36)
Le accelerazioni si ottengono derivando ulteriormente d ⃗
P
dt
(formula (3.37)).
d
˙
⃗
P
dt
=
d(⃗
P
′
· ṡ)
dt
=
d⃗
P
′
dt
· ṡ + ⃗
P
′
·
dṡ
dt
=
d⃗
P
′
ds
· ṡ2
+ ⃗
P
′
· s̈ = ⃗
P
′′
· ṡ2
+ ⃗
P
′
· s̈ (3.37)
351
Sistema cartesiano a 2 gradi di libertà
Il vettore ⃗
P
′′
ha direzione del versore normale ⃗
n alla traiettoria e modulo pari 1
ρ
con
ρ raggio di curvatura della traiettoria (formula (3.38)).
⃗
P
′′
=
⃗
n
ρ
(3.38)
In definitiva, le velocità e le accelerazioni lungo gli assi X e Y possono essere calcolate
mediante i sistemi di equazioni (3.39) e (3.40), in cui x
′
(s), y
′
(s), x
′′
(s) e y
′′
(s) sono
rispettivamente le velocità ed accelerazioni geometriche dipendenti dalla traiettoria
che si intende realizzare. 




ẋ = x
′
(s) · ṡ
ẍ = x
′′
(s) · ṡ2
+ x
′
· s̈
(3.39)





ẏ = y
′
(s) · ṡ
ÿ = y
′′
(s) · ṡ2
+ y
′
· s̈
(3.40)
𝑥
𝑦
𝑠(𝑡)
𝑷(𝐬(𝐭))
0 Ԧ
𝑖
Ԧ
𝑗
Fig. 3.62: Traiettoria generica
Per correlare le velocità e le accelerazioni lineari lungo gli assi a quelle angolari dei
motori è necessario fare un analisi del sistema a due gradi di libertà. Considerando
un generico sistema a 2 g.d.l. ed analizzando il problema in termini di posizione,
l’input è costituito da due variabili scalari mentre l’uscita sono le coordinate xp ed yp
del generico punto P nello spazio di lavoro. La trasformazione del moto tra ingressi,
chiamati per semplicità q1 e q2, e le uscite del sistema, consentita esclusivamente
352
Generazione di traiettorie
dalla presenza della parte meccanica, è chiamata cinematica diretta; l’operazione
inversa costituisce invece la cinematica inversa. Per esplicitare il legame tra gli
ingressi e le uscite del sistema, si definiscono i vettori:
S =


xP
yP

 Q =


q1
q2


In generale si può scrivere:
S = F(Q) (3.41)
L’ equazione (3.41) permette di avere un espressione in termini generali che lega le
variabili in ingresso con quelle di uscita: a seconda del sistema meccanico, saranno
poi da determinare le relazioni che permettono di scrivere la trasformazione tra
ingressi ed uscite. Esplicitando le singole funzioni scalari contenute in (3.41) si
ottiene il sistema di equazioni (3.42).





xP = f1(Q)
yP = f2(Q)
(3.42)
Le velocità si ricavano mediante il sistema (3.43).





ẋP = dxP
dt
= d(f1(Q)
dt
= δf1(Q)
δQ
· dQ
dt
ẏP = dyP
dt
= d(f2(Q)
dt
= δf2(Q)
δQ
· dQ
dt
(3.43)
Definendo
dS
dt
= ˙
S =


ẋP
ẏP

 dQ
dt
= ˙
Q =


q̇1
q̇2


è possibile scrivere in forma matriciale la relazione che lega le velocità in ingresso a
quelle in uscita, mediante la formula (3.44).
˙
S =


ẋP
ẏP

 =


δf1
δq1
δf1
δq2
δf2
δq1
δf2
δq2

 · ˙
Q = J · ˙
Q (3.44)
La matrice J è detta matrice dei rapporti di trasmissione generalizzati, o Jacobiano
del sistema e descrive la trasformazione del moto in termini differenziali, ovvero
delinea come vengono trasformate le velocità in ingresso in quelle di uscita. Lo
Jacobiano, che non è in genere una matrice costante, contiene informazioni di tipo
353
Sistema cartesiano a 2 gradi di libertà
geometrico, quindi delle caratteristiche di progetto, pertanto dipende da come è fatta
la meccanica stessa del dispositivo. La trasmissione del moto è quindi identificata,
nel caso di sistemi a due gradi di libertà, dai quattro coefficienti contenuti in J.
Per analizzare nel dettaglio il significato della matrice J è sufficiente, ad esempio,
esaminare i termini della prima riga:
• Il primo elemento mostra l’influenza della prima coordinata in ingresso sulla
prima coordinata in uscita.
• Il secondo elemento mostra come la seconda coordinata in ingresso viene
proiettata sulla prima in uscita.
Lo stesso ragionamento vale anche per osservare come vengono proiettati gli ingressi
sulla seconda coordinata in uscita. Si può allora concludere che una matrice J piena
comporta che tutte le velocità in ingresso partecipano alla determinazione di quelle
in uscita lungo una direzione. Visti i legami, in posizione ed in velocità, tra grandezze
in ingresso ed uscita, per un sistema generico a 2 gradi di libertà, li si applicano ora
al sistema cartesiano dotato di due assi disaccoppiati con movimenti perpendicolari
uno rispetto all’altro.
x
y
𝑧1
𝑧2
.P
Fig. 3.63: Chiusura vettoriale applicata al sistema cartesiano
Per sviluppare le relazioni che legano gli ingressi alle uscite è necessario servirsi di
un artefizio matematico; in particolare si ricorre alla notazione complessa scrivendo
una chiusura vettoriale (equazione (3.45)), in cui z1 e z2 sono numeri complessi il cui
modulo, ρ1 e ρ2, è variabile e rappresenta lo spostamento lungo ciascun asse mentre
la loro fase, θ1 e θ2, è costante, nota e conseguenza della geometria del sistema
354
Generazione di traiettorie
cartesiano (Fig.3.63).
⃗
z1 + ⃗
z2 = ⃗
P (3.45)
Il vettore P contiene invece le coordinate di un punto generico nello spazio di lavoro,
xp ed yp. E’ chiaro dunque come le variabili di ingresso siano ρ1 e ρ2 mentre quelle
di uscita xp ed yp. Gli ingressi ρ1 e ρ2 sono legati per mezzo dei rapporti di trasmis-
sione agli spostamenti angolari dei rispettivi motori, quindi se si vuole descrivere il
legame tra le rotazioni di quest’ultimi e la posizione di un punto nello spazio ope-
rativo è opportuno considerare come variabili di ingresso le coordinate descriventi i
movimenti dei motori, θx e θy. Definiti allora i vettori degli ingressi e delle uscite
S =


xP
yP

 Q =


θx
θy


occorre identificare le funzioni che li legano: è immediato osservare che nel caso
del sistema cartesiano la cinematica diretta di posizione è banalmente risolvibile
mediante le relazioni riportate nel sistema (3.46), dove τx e τy sono i rapporti di
trasmissione, rispettivamente, degli assi X e Y che convertono le rotazioni del motore
nello spostamento lineare del carrello.





xP = τx · θx
yP = τy · θy
(3.46)
Si osserva subito come ciascuna variabile di uscita sia determinata solo da un’unica
variabile di ingresso. Per ottenere il legame tra le velocità è necessario calcolare la
matrice Jacobiano, che risulta:
J =


δf1
δθ1
= τx
δf1
δθ2
= 0
δf2
δθ1
= 0 δf2
δθ2
= τy


La J possiede solo i termini sulla diagonale, dunque si può affermare che, con questa
soluzione meccanica, i due moti sono disaccoppiati: una coordinata nello spazio di
lavoro dipende da un solo ingresso. Nota J, mediante la (3.44) si esprime quindi il
legame tra le velocità mediante il sistema di equazioni (3.47).





ẋP = τx · θ̇x
ẏP = τy · θ̇y
(3.47)
355
Sistema cartesiano a 2 gradi di libertà
Riassumendo, mediante l’analisi condotta fino ad ora, si riesce, fissata la legge oraria
di percorrenza della traiettoria, a ricavare la posizione e la velocità dell’end effector
nello spazio di lavoro e a risalire dunque a quelle da assegnare ai motori per ottenere
sul banco di prova la traiettoria desiderata. Si precisa come, definito un percorso
da far seguire al carrello, l’obiettivo della presente sezione, sia quello di realizzare
effettivamente il movimento, prescindendo dalla ricerca della legge oraria ottima in
termini di tempi di percorrenza, funzione delle proprietà massime del sistema, ma
piuttosto si effettua una verifica della fattibilità dello spostamento stesso in base ai
limiti forniti dai motori e dal banco.
3.5.1 Traiettoria lineare
Per permettere al carrello di seguire una traiettoria lineare è necessario assegnare le
coordinate del punto iniziale Pi e finale Pf all’interno dello spazio di lavoro. Note
quest’ultime, viene calcolata la distanza da percorrere in un tempo ta definito a
priori: queste sono le specifiche necessarie per progettare la legge oraria s(t) con cui
eseguire il movimento desiderato. Definiti Pi, Pf ed s(t), si ricava il versore tangente
alla traiettoria utilizzando la relazione (3.48).
d⃗
P
ds
=
⃗
Pf − ⃗
Pi
⃗
Pf − ⃗
Pi
(3.48)
Applicando l’equazione (3.35), si determinano le coordinate dei punti della traietto-
ria che costituiscono di fatto i profili di moto di riferimento, di posizione e velocità,
da assegnare agli assi X e Y (formule (3.49) e (3.50)).
⃗
P(s) = ⃗
Pi +
d⃗
P
ds
· s(t) (3.49)
˙
⃗
P(s) =
d⃗
P
ds
· ṡ(t) (3.50)
Infine, invertendo le relazioni (3.46) e (3.47), si ricavano i profili di spostamento e
velocità angolare da assegnare ai motori. Di seguito, viene mostrata una specifica
traiettoria lineare che si è fatto compiere all’end-effector del sistema a 2 g.d.l. a
disposizione. Innanzitutto, si è considerato:
356
Generazione di traiettorie
• Pi =


−350
−400

, come punto di partenza;
• Pf =


400
350

, come punto di arrivo.
Inoltre, si è impiegato una legge di moto polinomiale 4 - 5 - 6 - 7 per progettare
la legge oraria s(t), ṡ(t), s̈(t) che descrive l’andamento desiderato, nel tempo, del-
l’ascissa curvilinea e delle sue derivate prima e seconda. I parametri impiegati per
sviluppare tale legge di moto sono i seguenti:
• h = |Pf − Pi|, che identifica il massimo spostamento che deve compiere l’end-
effector lungo la traiettoria lineare desiderata;
• Ta = 1.5s, che esprime la durata complessiva del movimento lineare.
In Fig.3.64 è riportata la legge oraria s(t), ṡ(t), s̈(t) utilizzata. Impiegando le for-
mule (3.49) e (3.50), si determinano i corrispondenti set-point di posizione, velocità
e accelerazione sia dell’asse x sia dell’asse y, i quali sono riportati nelle Fig.3.65,
Fig.3.66 e Fig.3.67. Dai suddetti diagrammi, si può osservare che la velocità e l’ac-
celerazione massime richieste sono, rispettivamente, pari a 1093.7mm
s
e 2504.4mm
s2 ,
per entrambi gli assi del sistema cartesiano. Utilizzando, poi, i rapporti di tra-
smissione τx e τy dei due assi lineari, si determinano i profili di moto in termini di
posizione, velocità e accelerazione angolare degli alberi dei due motori che azionano
il sistema cartesiano, i quali sono riportati nelle Fig.3.68, Fig.3.69 e Fig.3.70. Pro-
gettato il movimento per entrambi gli assi del sistema, si ricavano gli andamenti,
in funzione del tempo, delle coppie richieste ai due motori (Fig.3.71), considerando
che, per entrambi gli assi, si è in una situazione di carico puramente inerziale. Infine,
per validare il movimento progettato, si deve svolgere le tre tradizionali verifiche:
1. cinematica;
2. termica;
3. di picco.
357
Sistema cartesiano a 2 gradi di libertà
0 0.5 1 1.5
Time [s]
0
200
400
600
800
1000
1200
s
[mm]
(a) s(t)
0 0.5 1 1.5
Time [s]
0
200
400
600
800
1000
1200
1400
1600
s
p
[mm/s]
(b) sp(t)
0 0.5 1 1.5
Time [s]
-4000
-3000
-2000
-1000
0
1000
2000
3000
4000
s
pp
[mm/s
2
]
(c) spp(t)
Fig. 3.64: Legge oraria s(t) - ṡ(t), s̈(t) , per una traiettoria lineare
358
Generazione di traiettorie
0 0.5 1 1.5
Time [s]
-400
-300
-200
-100
0
100
200
300
400
x
[mm]
(a) x
0 0.5 1 1.5
Time [s]
-400
-300
-200
-100
0
100
200
300
400
y
[mm]
(b) y
Fig. 3.65: Profilo di posizione, lungo l’asse x e l’asse y del sistema cartesiano
0 0.5 1 1.5
Time [s]
0
200
400
600
800
1000
1200
V
x
[mm/s]
(a) Vx
0 0.5 1 1.5
Time [s]
0
200
400
600
800
1000
1200
V
y
[mm/s]
(b) Vy
Fig. 3.66: Profilo di velocità, lungo l’asse x e l’asse y del sistema cartesiano
359
Sistema cartesiano a 2 gradi di libertà
0 0.5 1 1.5
Time [s]
-3000
-2000
-1000
0
1000
2000
3000
A
x
[mm/s
2
]
(a) Ax
0 0.5 1 1.5
Time [s]
-3000
-2000
-1000
0
1000
2000
3000
A
y
[mm/s
2
]
(b) Ay
Fig. 3.67: Profilo di accelerazione, lungo l’asse x e l’asse y del sistema cartesiano
0 0.5 1 1.5
Time [s]
-80
-60
-40
-20
0
20
40
60
80
m
[rad]
(a) x
0 0.5 1 1.5
Time [s]
-100
-80
-60
-40
-20
0
20
40
60
80
m
[rad]
(b) y
Fig. 3.68: Profili di posizione richiesti ai motori dell’asse x e dell’asse y
360
Generazione di traiettorie
0 0.5 1 1.5
Time [s]
0
50
100
150
200
250
p,m
[rad/s]
(a) x
0 0.5 1 1.5
Time [s]
0
50
100
150
200
250
p,m
[rad/s]
(b) y
Fig. 3.69: Profili di velocità richiesti ai motori dell’asse x e dell’asse y
0 0.5 1 1.5
Time [s]
-500
-400
-300
-200
-100
0
100
200
300
400
500
pp,m
[rad/s
2
]
(a) x
0 0.5 1 1.5
Time [s]
-600
-400
-200
0
200
400
600
pp,m
[rad/s
2
]
(b) y
Fig. 3.70: Profili di accelerazione richiesti ai motori dell’asse x e dell’asse y
361
Sistema cartesiano a 2 gradi di libertà
0 0.5 1 1.5
Time [s]
-0.05
-0.04
-0.03
-0.02
-0.01
0
0.01
0.02
0.03
0.04
0.05
C
m,x
[Nm]
(a) x
0 0.5 1 1.5
Time [s]
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
C
m,y
[Nm]
(b) y
Fig. 3.71: Profili di coppia richiesti ai motori dell’asse x e dell’asse y
Esse risultano essere tutte e tre ampiamente soddisfatte, per entrambi gli assi. Ve-
rificate le tre suddette condizioni, si può procedere a realizzare concretamente il
movimento sintetizzato mediante il sistema cartesiano a 2 g.d.l. a disposizione. In
Fig.3.72 e 3.73 sono riportate le risposte in posizione e in velocità lineare degli as-
si x e y del sistema, al profilo di moto precedentemente progettato e applicatovi
in ingresso. Si può osservare che tali risposte seguono molto bene i corrispondenti
riferimenti applicati in ingresso al sistema di controllo. Ciò dimostra che il posizio-
natore sviluppato presenta effettivamente delle buone prestazioni, considerando che
si è movimentato l’end - effector del sistema cartesiano a velocità piuttosto soste-
nute. In Fig.3.74 si mostra la traiettoria effettivamente descritta dall’end - effector
del sistema meccatronico nel piano x - y. Si può notare che essa è realmente una
traiettoria lineare che parte dal punto Pi e termina nel punto Pf , come desiderato.
362
Generazione di traiettorie
0 0.5 1 1.5
Time [s]
-400
-300
-200
-100
0
100
200
300
400
x
[mm]
xtilde
x
(a) Spostamento
0 0.5 1 1.5
Time [s]
-200
0
200
400
600
800
1000
1200
x
p
[mm/s]
xp,tilde
xp
(b) Velocità
Fig. 3.72: Risposta in posizione e in velocità dell’asse x.
0 0.5 1 1.5
Time [s]
-400
-300
-200
-100
0
100
200
300
400
y
[mm]
ytilde
y
(a) Spostamento
0 0.5 1 1.5
Time [s]
-200
0
200
400
600
800
1000
1200
y
p
[mm/s]
yp,tilde
yp
(b) Velocità
Fig. 3.73: Risposta in posizione e in velocità dell’asse y.
363
Sistema cartesiano a 2 gradi di libertà
-600 -400 -200 0 200 400 600
x [mm]
-500
-400
-300
-200
-100
0
100
200
300
400
500
y
[mm]
Pi
Pf
Fig. 3.74: Traiettoria lineare effettivamente compiuta dall’end - effector del sistema car-
tesiano, nel piano x - y.
3.5.2 Traiettoria circolare
Ci sono diversi modi per definire una traiettoria circolare, per esempio, specificando
tre suoi punti P1, P2 e P3 oppure definendo il suo centro O, un suo punto P1 (che
rappresenta il punto di partenza) e l’angolo al centro α da percorrere. Nello specifico
caso in esame, per progettare la traiettoria circolare da far compiere all’end-effector
del sistema cartesiano, si è impiegato il secondo metodo. Dunque, si supponga di
conoscere la posizione del centro C, di un punto P1 della circonferenza, nel piano
x - y, e l’angolo al centro α da percorrere. Il raggio della circonferenza può essere
calcolato mediante la relazione (3.51).
R = ||P1 − C|| (3.51)
Si chiami x0
− y0
il sistema di riferimento assoluto, con origine nel centro dei due
assi lineari del sistema cartesiano a disposizione. Si definisca, invece, x1
− y1
un
sistema di riferimento locale, con origine nel centro della circonferenza. L’asse x1
è
la retta orientata passante per il centro C e il punto P1 della circonferenza. Il suo
364
Generazione di traiettorie
versore i1
può essere determinato mediante la formula (3.52).
i1
=
P1 − C
||P1 − C||
(3.52)
Il versore j1
dell’asse y1
ha modulo unitario, origine nel centro C ed è diretto per-
pendicolarmente al versore i1
. Definiti i1
e j1
, è noto completamente il sistema di
riferimento locale della circonferenza considerata e si può quindi definire la matrice di
rotazione R01, che descrive l’orientamento del sistema di riferimento locale x1
− y1
rispetto al sistema di riferimento assoluto x0
− y0
. Essa contiene, per colonne, i
versori del primo rispetto al secondo sistema di riferimento (3.53).
R01 =
h
i1
j1
i
(3.53)
Si introduca l’ascissa curvilinea s(t), che identifica la lunghezza dell’arco di circon-
ferenza percorso da un generico punto P, all’istante di tempo t. Si chiami θ l’angolo
al centro sotteso da tale arco di circonferenza, la cui origine è l’asse x1
del sistema di
riferimento locale. L’ascissa curvilinea s e l’angolo θ possono essere legati mediante
la relazione (3.54).
s = Rθ (3.54)
La posizione del generico punto P lungo la circonferenza, rispetto al sistema di
riferimento locale x1
− y1
, può essere determinata mediante l’equazione (3.55).
P1
(s) =


x1
y1

 =


R cos θ
R sin θ

 =


R cos s
R
R sin s
R

 (3.55)
Derivando una e due volte l’equazione (3.55) rispetto al tempo, si ottengono le
equazioni (3.56) ed (3.57), che permettono di determinare la velocità e l’accelerazione
locali con cui si muove il generico punto P considerato.
Ṗ1
(s) =


ẋ1
ẏ1

 =
dP
dt
=
dP
ds
ds
dt
=


− sin s
R
cos s
R

 ṡ (3.56)
P̈1
(s) =


ẍ1
ÿ1

 =
dṖ1
dt
=
d2
P1
ds2
ṡ2
+
dP1
ds
s̈ =


− 1
R
cos s
R
− 1
R
sin s
R

 ṡ2
+


− sin s
R
cos s
R

 s̈ (3.57)
365
Sistema cartesiano a 2 gradi di libertà
A partire da P1
(s), si può determinare la posizione del generico punto P rispetto
al sistema di riferimento assoluto x0
− y0
, utilizzando la matrice di rotazione R01
(3.58).
P(s) = C + R01P1
(s) (3.58)
Considerando che C e R01 sono costanti nel tempo, in quanto la circonferenza con-
siderata è fissa nel piano, e derivando una e due volte la relazione (3.58), rispetto
al tempo, si ottengono le formule (3.59) ed (3.60), che permettono di calcolare la
velocità e l’accelerazione assoluta del generico punto P.
V (s) =
dP
dt
=


ẋ
ẏ

 = R01Ṗ1
(s) (3.59)
A(s) =
dṖ
dt
=


ẋ
ẏ

 = R01P̈1
(s) (3.60)
La traiettoria circolare, che si è scelto di far percorrere all’end-effector del sistema
cartesiano a 2 g.d.l. a disposizione, presenta:
• un centro C coincidente con l’origine O del sistema di riferimento assoluto
x0
− y0
;
• un punto P1 =


0
400mm

;
• un angolo al centro α = 2pi.
Inoltre, si è considerato di percorrere tale circonferenza in senso orario. In primo
luogo, per progettare il movimento desiderato, si deve costruire la legge oraria s(t) -
ṡ(t) - s̈(t), che descrive il movimento dell’end-effector lungo la traiettoria circolare.
Per fare ciò, si è utilizzato una legge di moto polinomiale 4 - 5 - 6 - 7 e si è considerato
una durata Ta, del movimento complessivo, pari a 4 secondi. In Fig.3.75 è riportata
la legge di oraria s(t) - ṡ(t) - s̈(t) impiegata.
Utilizzando le formule (3.58) e (3.59), si riesce a determinare i profili di moto in
posizione e in velocità degli assi x e y del sistema cartesiano (Fig.3.77 e 3.76).
Si deve sempre verificare che le tre tipiche condizioni (cinematica, termica e di
picco) siano soddisfatte. Per fare ciò, si deve determinare, innanzitutto, i profili
366
Generazione di traiettorie
di moto in posizione, velocità e accelerazione richiesti ai due motori che azionano
il sistema, utilizzando i rapporti di trasmissione τx e τy dei due assi. Si devono
in seguito calcolare le coppie richieste ai due motori. Per lo specifico movimento
progettato le tre sopracitate condizioni risultano essere ampiamente soddisfatte. A
questo punto, si può imporre in ingresso al sistema di controllo i profili di moto
in posizione e in velocità progettati. Nelle Fig.3.78 e Fig.3.79 sono riportate le
risposte in posizione e in velocità del sistema, ai segnali di riferimento applicati
in ingresso. In Fig.3.80 è rappresentata la traiettoria realmente percorsa dall’end-
effector del sistema cartesiano nel piano x - y. Si riscontra che essa è, effettivamente,
la traiettoria circolare desiderata.
367
Sistema cartesiano a 2 gradi di libertà
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]
-3000
-2500
-2000
-1500
-1000
-500
0
s
[mm]
(a) s(t)
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]
-1400
-1200
-1000
-800
-600
-400
-200
0
s
p
[mm/s]
(b) ṡ(t)
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]
-1500
-1000
-500
0
500
1000
1500
s
pp
[mm/s
2
]
(c) s̈(t)
Fig. 3.75: Legge oraria s(t) - ṡ(t), s̈(t) , per una traiettoria circolare.
368
Generazione di traiettorie
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]
-400
-300
-200
-100
0
100
200
300
400
y
[mm]
(a) Posizione
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]
-1500
-1000
-500
0
500
1000
1500
y
p
[mm/s]
(b) Velocità
Fig. 3.76: Profilo di moto in posizione e in velocità per l’asse y.
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]
-400
-300
-200
-100
0
100
200
300
400
x
[mm]
(a) Posizione
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]
-1400
-1200
-1000
-800
-600
-400
-200
0
200
400
600
x
p
[mm/s]
(b) Velocità
Fig. 3.77: Profilo di moto in posizione e in velocità per l’asse x.
369
Sistema cartesiano a 2 gradi di libertà
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]
-400
-300
-200
-100
0
100
200
300
400
x
[mm]
xtilde
x
(a) Spostamento
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]
-1500
-1000
-500
0
500
1000
x
p
[mm/s]
xp,tilde
xp
(b) Velocità
Fig. 3.78: Risposta in posizione e in velocità dell’asse x.
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]
-400
-300
-200
-100
0
100
200
300
400
y
[mm]
ytilde
y
(a) Spostamento
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]
-2500
-2000
-1500
-1000
-500
0
500
1000
1500
y
p
[mm/s]
yp,tilde
yp
(b) Velocità
Fig. 3.79: Risposta in posizione e in velocità dell’asse y.
370
Generazione di traiettorie
-600 -400 -200 0 200 400 600
x [mm]
-500
-400
-300
-200
-100
0
100
200
300
400
500
y
[mm]
Pi
Fig. 3.80: Traiettoria circolare effettivamente compiuta dall’end-effector del sistema car-
tesiano, nel piano x - y.
3.5.3 Spirale di Archimede
La Spirale di Archimede è la traiettoria descritta, nel piano x - y, da un punto
P, che si muove con una certa velocità V lungo una semi - retta , la quale, a sua
volta, ruota attorno ad un punto, detto polo, con una certa velocità angolare ω. La
posizione iniziale della semi - retta costituisce l’origine della coordinata angolare θ,
che descrive la sua rotazione attorno al polo. La posizione del punto P lungo la
semi - retta è individuata, invece, dal raggio vettore ρ. La traiettoria denominata
Spirale di Archimede è descritta dall’equazione (3.61), che lega il raggio vettore
con la coordinata angolare θ mediante il passo a, il quale è un altro parametro che
caratterizza la suddetta traiettoria.
ρ = aθ (3.61)
Derivando rispetto al tempo entrambi i membri dell’equazione (3.61), si ottiene
l’espressione (3.62) che descrive il legame tra la velocità lineare del punto P e la
371
Sistema cartesiano a 2 gradi di libertà
velocità angolare di rotazione della semi - retta su cui esso si trova.
V = aω (3.62)
Si può osservare che, fissato un passo a costante, la Spirale di Archimede è una
traiettoria parametrica, che dipende dal parametro θ (o ρ). Infatti, le coordinate
nel piano x - y del punto P possono essere calcolate mediante le formule (3.63), in
funzione del parametro θ, o tramite le formule (3.64), in funzione del parametro ρ.





x = aθ cos θ
y = aθ sin θ
(3.63)





x = ρ cos ρ
a
y = ρ sin ρ
a
(3.64)
Derivando, rispetto al tempo, entrambi i membri delle equazioni (3.63) e (3.64), si
ottengono le formule (3.65) e (3.66), che permettono di calcolare le velocità lineari
del punto P lungo gli assi x e y.





ẋ = aω(cos θ − θ sin θ)
ẏ = aω(sin θ + θ cos θ)
(3.65)





ẋ = ρ̇(cos ρ
a
− ρ
a
sin ρ
a
)
ẏ = ρ̇(sin ρ
a
+ ρ
a
cos ρ
a
)
(3.66)
La traiettoria a spirale, che si è deciso di far compiere, a titolo di esempio, all’end-
effector del sistema cartesiano a disposizione, presenta un passo a costante e pari a
10mm
rad
. Inoltre, essa è caratterizzata da un polo coincidente con l’origine O degli assi
x - y. Dato che la Spirale di Archimede è una traiettoria parametrica, per progettare
i profili di moto lungo gli assi x e y, si deve, innanzitutto, costruire la legge oraria
θ(t) - θ̇(t) - θ̈(t) (o, in modo del tutto equivalente, ρ(t) - ρ̇(t) - ρ̈(t)). Per fare ciò,
si è impiegato una legge di moto polinomiale 4 - 5 - 6 - 7 e si è utilizzato i seguenti
parametri:
• h = 2kπ, che rappresenta la massima rotazione θ che deve compiere l’end-
effector, dove k costituisce appunto il numero di giri completi della spirale
desiderata attorno al polo. In particolare, si è considerato k = 6.5.
372
Generazione di traiettorie
• Ta = 22s, che descrive la durata complessiva del movimento desiderato.
In figura 3.81 è rappresentata la legge oraria θ(t) - θ̇(t) - θ̈(t) impiegata.Utilizzando
le formule (3.65) o (3.66), si possono determinare, poi, i profili di moto in posizione
e in velocità per entrambi gli assi del sistema cartesiano, i quali sono riportati nelle
Fig.3.82 e Fig.3.83. Impiegando i rapporti di trasmissione dei due assi, si possono
ricavare gli andamenti, in funzione del tempo, dei set-point in posizione, velocità e
accelerazione per entrambi i due motori che azionano il sistema. Infine, progettato
il movimento desiderato, si deve determinare le richieste in coppia ai due motori. In
questo modo, è possibile svolgere le tre tradizionali verifiche: cinematica, termica
e di picco. In particolare, per lo specifico movimento progettato, le tre suddette
condizioni sono tutte ampiamente soddisfatte e, pertanto, si è potuto riprodurre tale
movimento il sistema cartesiano a 2 g.d.l a disposizione. Nelle Fig.3.84 e Fig.3.85
sono riportate le risposte in posizione e in velocità degli assi x e y, ai profili di
moto precedentemente progettati e applicati in ingresso al sistema di controllo in
posizione come riferimento. Si può osservare che tali risposte inseguono molto bene
i corrispondenti riferimenti, ulteriore dimostrazione che il posizionatore progettato
presenta delle ottime prestazioni.
Infine, in Fig.3.86 è rappresentata la traiettoria realmente descritta dall’end-effector
del sistema nel piano x - y, durante il movimento precedentemente progettato. Si può
osservare che essa è effettivamente una ”spirale di Archimede” con passo costante,
con polo coincidente con l’origine degli assi x - y e che compie k = 6.5 giri attorno
a tale polo, come desiderato.
373
Sistema cartesiano a 2 gradi di libertà
0 2 4 6 8 10 12 14 16 18 20 22
Time [s]
0
5
10
15
20
25
30
35
40
45
[rad]
(a) θ(t)
0 2 4 6 8 10 12 14 16 18 20 22
Time [s]
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
p
[rad/s]
(b) θ̇(t)
0 2 4 6 8 10 12 14 16 18 20 22
Time [s]
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
pp
[rad/s
2
]
(c) θ̈(t)
Fig. 3.81: Legge oraria θ(t) - θ̇(t), θ̈(t) , per una traiettoria a spirale di Archimede
374
Generazione di traiettorie
0 2 4 6 8 10 12 14 16 18 20 22
Time [s]
-500
-400
-300
-200
-100
0
100
200
300
400
x
[mm]
(a) Posizione
0 2 4 6 8 10 12 14 16 18 20 22
Time [s]
-1500
-1000
-500
0
500
1000
1500
x
p
[mm/s]
(b) Velocità
Fig. 3.82: Profilo di moto in posizione e in velocità per l’asse x
0 2 4 6 8 10 12 14 16 18 20 22
Time [s]
-400
-300
-200
-100
0
100
200
300
400
y
[mm]
(a) Posizione
0 2 4 6 8 10 12 14 16 18 20 22
Time [s]
-1500
-1000
-500
0
500
1000
1500
y
p
[mm/s]
(b) Velocità
Fig. 3.83: Profilo di moto in posizione e in velocità per l’asse y
375
Sistema cartesiano a 2 gradi di libertà
0 2 4 6 8 10 12 14 16 18 20 22
Time [s]
-400
-300
-200
-100
0
100
200
300
400
500
x
[mm]
xtilde
x
(a) Spostamento
0 2 4 6 8 10 12 14 16 18 20 22
Time [s]
-1000
-500
0
500
1000
x
p
[mm/s]
xp,tilde
xp
(b) Velocità
Fig. 3.84: Risposta in posizione e in velocità dell’asse x
0 2 4 6 8 10 12 14 16 18 20 22
Time [s]
-400
-300
-200
-100
0
100
200
300
400
y
[mm]
ytilde
y
(a) Spostamento
0 2 4 6 8 10 12 14 16 18 20 22
Time [s]
-1000
-500
0
500
1000
y
p
[mm/s]
yp,tilde
yp
(b) Velocità
Fig. 3.85: Risposta in posizione e in velocità dell’asse y
376
Generazione di traiettorie
-600 -400 -200 0 200 400 600
x [mm]
-500
-400
-300
-200
-100
0
100
200
300
400
500
y
[mm]
Fig. 3.86: Traiettoria a Spirale di Archimede effettivamente compiuta dall’end-effector
del sistema cartesiano, nel piano X - Y
3.5.4 Traiettoria a farfalla
La traiettoria a farfalla è una curva parametrica, che dipende da un parametro t, il
quale è un angolo ed è espresso in radianti. Le espressioni (3.67) sono le equazioni
parametriche che descrivono una generica traiettoria a farfalla, dove il termine A è
un fattore di scala.





x(t) = A sin (t)(ecos t
− 2 cos 4t + sin5 t
12
)
y(t) = A cos (t)(ecos t
− 2 cos 4t + sin5 t
12
)
(3.67)
Derivando rispetto al tempo le (3.67) si ottengono le equazioni (3.68), che permet-
tono di determinare le velocità lineari lungo gli assi x e y del generico punto P, che
377
Sistema cartesiano a 2 gradi di libertà
percorre la traiettoria parametrica.























ẋ(t) = Aṫ(cos t(ecos t
− 2 cos 4t + sin5 t
12
) +
+ sin (t)(− sin tecos t
+ 8 sin 4t + 5
12
sin4 t
12
cos t
12
))
ẏ(t) = −Aṫ(sin t(ecos t
− 2 cos 4t + sin5 t
12
) +
+ cos (t)(− sin tecos t
+ 8 sin 4t + 5
12
sin4 t
12
cos t
12
)
(3.68)
Si è scelto di far compiere all’end-effector del sistema cartesiano a disposizione una
traiettoria a farfalla caratterizzata da un fattore di scala A = 100 mm e da un polo,
che rappresenta anche il punto di partenza, Pi =


0
−100

.
Per progettare la traiettoria si deve, come primo passo, costruire la legge oraria t -
ṫ - ẗ, che descrive l’andamento, in funzione del tempo, del parametro t e delle sue
derivate prima e seconda. Per fare ciò, si è impiegato, ancora, una legge di moto
polinomiale 4 - 5 - 6 - 7 e si è utilizzato i seguenti parametri:
• h = 2 · k · π, che rappresenta il massimo valore assunto dal parametro t, dove
k definisce il numero di giri completi da far compiere all’end-effector attorno
al polo Pi. In particolare, si è deciso di impiegare k=1;
• Ta = 14 s, che descrive la durata complessiva del movimento desiderato.
In Fig.3.87 è rappresentata la legge oraria t - ṫ - ẗ impiegata. Utilizzando le formule
(3.67) e (3.68), si possono determinare i profili di moto in posizione e in velocità
per entrambi gli assi del sistema cartesiano, i quali sono riportati nelle Fig.3.88 e
Fig.3.89. Come discusso per le altre traiettorie, si deve sempre verificare che le tre
tipiche condizioni (cinematica, termica e di picco) siano soddisfatte. Per fare ciò, si
devono determinare i profili di moto in posizione, velocità e accelerazione richiesti
ai due motori che azionano il sistema. Si devono successivamente calcolare le coppie
richieste ai due motori e determinarne i valori massimi e root mean square. In
particolare, per lo specifico movimento progettato le tre condizioni risultano essere
ampiamente soddisfatte. Svolte tali verifiche, si può, a questo punto, imporre in
ingresso al sistema di controllo in posizione i profili di moto progettati, in modo da
378
Generazione di traiettorie
0 2 4 6 8 10 12 14
Time [s]
0
1
2
3
4
5
6
7
t
[rad]
(a) t
0 2 4 6 8 10 12 14
Time [s]
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
t
p
[rad/s]
(b) ṫ)
0 2 4 6 8 10 12 14
Time [s]
-0.25
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
0.25
t
pp
[rad/s
2
]
(c) ẗ(t)
Fig. 3.87: Legge oraria t - ṫ, ẗ , per una traiettoria a farfalla
far compiere all’end-effector del sistema cartesiano il movimento desiderato. Nelle
Fig.3.90 e Fig.3.91 sono riportate le risposte in posizione e in velocità del sistema,
ai riferimenti applicati in ingresso.
In Fig.3.92 si mostra la traiettoria effettivamente descritta dall’end-effector del si-
stema cartesiano nel piano x - y. Si può notare che essa è realmente una traiettoria
a forma di farfalla.
379
Sistema cartesiano a 2 gradi di libertà
0 2 4 6 8 10 12 14
Time [s]
-500
-400
-300
-200
-100
0
100
200
300
400
500
x
[mm]
(a) Posizione
0 2 4 6 8 10 12 14
Time [s]
-1000
-800
-600
-400
-200
0
200
400
600
800
1000
x
p
[mm/s]
(b) Velocità
Fig. 3.88: Profilo di moto in posizione e in velocità per l’asse x
0 2 4 6 8 10 12 14
Time [s]
-500
-400
-300
-200
-100
0
100
200
300
y
[mm]
(a) Posizione
0 2 4 6 8 10 12 14
Time [s]
-1500
-1000
-500
0
500
1000
1500
y
p
[mm/s]
(b) Velocità
Fig. 3.89: Profilo di moto in posizione e in velocità per l’asse y
380
Generazione di traiettorie
0 2 4 6 8 10 12 14
Time [s]
-500
-400
-300
-200
-100
0
100
200
300
400
500
x
[mm]
xtilde
x
(a) Spostamento
0 2 4 6 8 10 12 14
Time [s]
-1000
-500
0
500
1000
x
p
[mm/s]
xp,tilde
xp
(b) Velocità
Fig. 3.90: Risposta in posizione e in velocità dell’asse x
0 2 4 6 8 10 12 14
Time [s]
-500
-400
-300
-200
-100
0
100
200
300
y
[mm]
ytilde
y
(a) Spostamento
0 2 4 6 8 10 12 14
Time [s]
-1000
-500
0
500
1000
y
p
[mm/s]
yp,tilde
yp
(b) Velocità
Fig. 3.91: Risposta in posizione e in velocità dell’asse y
381
Sistema cartesiano a 2 gradi di libertà
-600 -400 -200 0 200 400 600
x [mm]
-500
-400
-300
-200
-100
0
100
200
300
400
500
y
[mm]
Fig. 3.92: Traiettoria a farfalla effettivamente compiuta dall’end-effector del sistema car-
tesiano, nel piano x - y
382
Parte III
Telecontrollo con feedback
cinestetico
383
Capitolo 4
Sistema di comunicazione fra due
PC target
Per realizzare l’attività di telecontrollo tra il sistema cartesiano a 2 g.d.l e l’inter-
faccia aptica a disposizione, si è impiegato il software Simulink Real - Time. Esso
offre la possibilità di implementare due differenti tipi di comunicazione, allo scopo
di trasmettere i dati da un dispositivo all’ altro: la comunicazione TCP e la comu-
nicazione UDP. Simulink non consente di svolgere una trasmissione dati mediante
bus di campo, in quanto fornisce la possibilità di realizzare un master Ethercat, ma
non uno slave Ethercat poichè per quest’ultimo è necessaria un’apposita architettura
hardware. Pertanto, sono stati analizzati i due protocolli di comunicazione (TCP e
UDP) e li si è testati, a livello pratico, con l’obiettivo di trasmettere i dati tra i due
dispositivi a disposizione. Nel sotto - paragrafo 4.1 si analizzano, ad alto livello, i
due protocolli, col fine di metterne in evidenza vantaggi e svantaggi e stabilire, da un
punto di vista teorico, quali dei due conviene utilizzare per la specifica applicazione
in esame. Nel sotto - paragrafo 4.2 si descrive come è possibile implementare i due
diversi tipi di comunicazione mediante Simulink Real - Time. Infine, nella sezione
4.3 si riportano e discutono i risultati sperimentali, in termini di latenze e pacchetti
persi, ottenuti in una serie di test pratici, svolti per analizzare le prestazioni delle
due modalità di trasmissione dati offerte dal software Simulink e scegliere quale delle
due conviene, effettivamente, impiegare.
-Sistema di comunicazione fra due PC target
4.1 Protocolli TCP ed UDP
UDP e TCP sono gli acronimi, rispettivamente, di user - datagram protocol e tran-
smission control protocol: due differenti protocolli di comunicazione, che si basano
entrambi sull’ IP (internet protocol). Per descrivere l’architettura di una qualunque
trasmissione dati di tipo digitale si può impiegare il, cosiddetto, ISO - OSI model.
Qui vengono introdotti 7 livelli software attraverso i quali i dati devono passare, sia
a livello del trasmettitore sia del ricevitore, in modo tale da realizzare una comu-
nicazione sufficientemente affidabile e sicura. Si considerino due dispositivi A e B
che devono scambiarsi una serie di dati. In particolare, si assuma che il dispositivo
A sia il trasmettitore, mentre B sia il ricevitore. Il dispositivo A deve inviare una
sequenza di dati; per fare ciò, tali informazioni devono passare attraverso una se-
rie di livelli software, che, in corrispondenza del trasmettitore, aggiungono ciascuno
una serie di informazioni ai dati effettivi che si desidera spedire, allo scopo di ga-
rantire una trasmissione sicura e affidabile. Una volta che i dati trasmessi giungono
in corrispondenza del corretto destinatario, seguono un percorso inverso rispetto a
prima, ovvero risalgono attraverso i diversi livelli software del dispositivo ricevitore.
Quest’ultimi non aggiungono, ma sottraggono una serie di informazioni e svolgono
determinate elaborazioni sui dati ricevuti, in modo tale da ottenere, in corrispon-
denza dello strato software di più alto livello, i dati e le informazioni effettive che
si è desiderato trasmettere. Dato che ciascuno strato software del dispositivo tra-
smettitore introduce una serie di informazioni aggiuntive, la quantità di dati posta
sul mezzo fisico è maggiore rispetto a quella che si desidera effettivamente inviare
al dispositivo ricevitore. Ciò riduce la bandwidth della comunicazione e rende que-
st’ultima, quindi, meno efficiente. Pertanto, per avere una valida comunicazione, è
importante minimizzare i livelli software e le conseguenti informazioni aggiuntive da
essi introdotti, pur mantenendo la trasmissione sufficientemente sicura e affidabile.
Un altro modello alternativo all’ ISO - OSI model, che è stato anche sviluppato
prima di quest’ultimo, è il TCP - IP model, il quale introduce non 7, ma solo 5
livelli software:
• application layer;
386
Protocolli TCP ed UDP
• transport layer;
• network layer;
• data - link layer;
• physical layer.
Il protocollo di comunicazione IP lavora a livello del, cosiddetto, network layer,
mentre UDP e TCP sono due protocolli che operano in corrispondenza del trans-
port layer e, quindi, al di sopra dell’ internet protocol. Il protocollo IP trasmette i
dati da un dispositivo ad altri, appartenenti alla medesima rete, mappandoli in una
serie di frame, i quali vengono, poi, inviati lungo il mezzo fisico e ricollegati tra loro,
a livello dei ricevitori, in modo tale da ricostruire il messaggio originale. Ciascun
dispositivo è identificato in modo univoco da un indirizzo IP che permette di indivi-
duare la rete a cui esso appartiene e di distinguerlo dagli altri membri connessi. In
generale, un dispositivo può appartenere, contemporaneamente, a più reti e, in tal
caso, ad esso sono associati più indirizzi IP, uno per ciascun network. Inoltre, nel
protocollo di comunicazione IP, ciascun frame trasmesso presenta un’intestazione,
detto header, che aggiunge una serie di informazioni ai dati che si desidera effetti-
vamente trasmettere, utili per garantire una comunicazione sufficientemente sicura
e affidabile. Tali informazioni aggiuntive sono introdotte proprio dai livelli soft-
ware di cui si è precedentemente discusso. In particolare, le principali informazioni
specificate dall’header nel protocollo IP sono le seguenti:
• identifier, che sono una serie di bit che individuano in modo univoco il frame
inviato dal trasmettitore. Il valore dell’identifier è incrementato di uno ogni
volta che si spedisce un frame;
• indirizzo IP del trasmettitore;
• indirizzo IP del ricevitore;
• lunghezza totale (in termini di byte) del frame.
La comunicazione IP ha però una serie di inefficienze, che la rendono poco affidabile
e che devono essere risolte dai protocolli che lavorano ai livelli software superiori:
387
-Sistema di comunicazione fra due PC target
• possibilità che alcuni frame vengano duplicati durante la trasmissione dei dati;
• mancanza di controllo della corretta ricezione dei frame trasmessi e, pertanto,
conseguente possibile perdita di alcuni di essi;
• possibilità di trasmissione e, quindi, poi ricezione di frame in modo disordinato.
La comunicazione UDP si basa sul protocollo IP e, operando ad un livello software
superiore, introduce due migliorie. In primis, nell’UDP, proprio come nella comu-
nicazione IP, ogni dispositivo di una rete è identificato da un proprio indirizzo IP.
Tuttavia, in aggiunta, ogni processo in funzione su un dispositivo è in grado di co-
municare con i processi che avvengono su altri dispositivi mediante una cosiddetta
porta. Quest’ultima è identificata da un numero ed è una porta non fisica, ma vir-
tuale, ovvero è un’astrazione logica di una comunicazione bi - direzionale tra due
sistemi. Ogni dispositivo può gestire al massimo 216
− 1 porte virtuali e, pertan-
to, può interagire con 216
− 1 processi che avvengono su altri dispositivi. Inoltre,
nella comunicazione UDP si introduce il concetto del check - sum, ovvero una serie
di bit presenti nell’header di un UDP frame, che servono per verificare che i dati
recapitati al ricevitore siano corretti. In particolare, il check - sum specifica, in
notazione binaria, il valore della somma di tutti i bit che costituiscono i dati effet-
tivamente contenuti nel frame. Pertanto, il trasmettitore calcola la somma dei bit,
che caratterizzano i dati che devono essere posti in quel frame, e scrive il valore che
si ottiene all’interno del campo check - sum, in notazione binaria. In questo modo,
il dispositivo che riceve il frame calcola la somma dei bit, che caratterizzano i dati
contenuti in quel frame, e il valore ottenuto lo confronta con il check - sum. Se i
valori sono uguali, allora i dati ricevuti sono corretti; viceversa se sono diversi, signi-
fica che c’è stato un qualche errore nella trasmissione. Gli UDP frame presentano
un’intestazione, che specifica le seguenti informazioni principali:
• numero della porta del trasmettitore;
• numero della porta del ricevitore;
• lunghezza del frame stesso, in termini di byte;
388
Protocolli TCP ed UDP
• check - sum.
Tuttavia, il protocollo di comunicazione UDP non introduce nessun meccanismo
per risolvere i limiti della comunicazione IP descritti in precedenza. Pertanto, an-
che nella comunicazione UDP si ha la possiblità di perdita, duplicazione e ricezione
disordinata di dati, il che la rende una comunicazione poco affidabile. La comu-
nicazione TCP si basa anch’essa sul protocollo IP, tuttavia, a differenza dell’UDP,
introduce dei meccanismi tramite i quali risolvere i problemi della comunicazione IP
discussi in precedenza. I TCP frame, all’interno dei quali vengono mappati i dati
che si desidera trasmettere, presentano un header più lungo rispetto a quello degli
UDP frame, in quanto risulta essere composto da un numero maggiore di campi
che servono per rendere più sicura e affidabile la comunicazione. In particolare, le
principali informazioni fornite dall’intestazione dei TCP frame sono le seguenti:
• il numero della porta del trasmettitore;
• il numero della porta del ricevitore;
• il, cosiddetto, numero di sequenza, che serve per assicurare il corretto flusso di
dati;
• l’ acknowledgement field;
• il check - sum che serve, come già detto, per verificare la consistenza e corret-
tezza dei dati ricevuti.
Il campo di riconoscimento è costituito da una serie di bit, che servono al trasmet-
titore per verificare se i TCP frame inviati sono stati ricevuti correttamente dai
corrispondenti destinatari. L’idea è che, quando un dispositivo riceve un TCP fra-
me, invia al trasmettitore un messaggio, che presenta un acknowledgement field nel
suo header pari al numero di sequenza del TCP frame ricevuto incrementato di
uno. In questo modo, il trasmettitore, leggendo il suo campo di riconoscimento,
comprende che il singolo frame è stato recepito correttamente dal ricevitore e la
trasmissione è, dunque, avvenuta correttamente. Se, invece, il trasmettitore non
riceve in ingresso, entro un certo intervallo di tempo, nessun TCP frame che presen-
ta un acknowledgement field pari al numero di sequenza del TCP frame trasmesso
389
-Sistema di comunicazione fra due PC target
più uno, allora tale dispositivo assume che il corrispondente TCP frame è stato
perso durante la trasmissione e, pertanto, procede a rinviare in modo automatico
tale messaggio. Tramite questa procedura appena descritta, si implementa, nella
comunicazione TCP, l’individuazione e la ritrasmissione automatica di pacchetti di
informazione che sono stati persi durante la comunicazione. Inoltre, nella comuni-
cazione TCP, dato che si basa sul protocollo IP, i frame possono essere trasmessi in
modo disordinato. Tuttavia, a livello del ricevitore, il protocollo TCP, che lavora al
di sopra di quello IP, fa in modo che i frame ricevuti in disordine vengano riordinati
correttamente in modo tale da garantire una corretta ricezione dei dati e delle infor-
mazioni. In aggiunta, nella TCP, a differenza dell’UDP, si risolve anche il problema
relativo alla possibile duplicazione di alcuni dati trasmessi. Infine, un’importante
differenza tra comunicazione UDP e TCP è che, nella seconda, è necessario che i
due dispositivi connessi stipulino una sorta di contratto di comunicazione prima che
avvenga la trasmissione dei dati. In questo modo, si riesce a creare un canale di
comunicazione diretta e bi - direzionale tra i due dispositivi, garantendo un’elevata
probabilità che i frame trasmessi giungano in corrispondenza del corretto destinata-
rio e rendendo, quindi, la comunicazione estremamente affidabile. La sottoscrizione
del contratto di comunicazione avviene attraverso il seguente algoritmo:
• il trasmettitore invia al ricevitore un TCP frame, che non contiene nessun
dato, ma serve per specificare la volontà di instaurare una comunicazione.
Tale frame presenta un numero di sequenza pari ad un certo valore N;
• il ricevitore legge il TCP frame e, nel caso in cui sia disponibile ad accet-
tare l’instaurazione di una comunicazione con tale dispositivo trasmettitore,
risponde con un messaggio che contiene un numero di sequenza pari a M e un
acknowledgement field pari a N + 1;
• il trasmettitore recepisce quest’ultimo TCP frame e capisce che il ricevitore
ha accettato la richiesta di inizio comunicazione. Come ultima operazione,
quindi, il trasmettitore invia, al ricevitore, un TCP frame caratterizzato da
un campo di riconoscimento pari a M + 1;
390
Protocolli TCP ed UDP
• il ricevitore legge quest’ultimo frame e non risponde. A questo punto, il
contratto di comunicazione è stato stipulato e la trasmissione dei dati può
avvenire.
Nella comunicazione UDP tale processo preliminare non avviene in quanto la tra-
smissione dei dati viene svolta senza compiere prima la creazione di un canale di
comunicazione bidirezionale tra i due dispositivi. Pertanto, nell’UDP, il trasmetti-
tore invia i frame tramite il mezzo di comunicazione e si spera che i dati giungano in
corrispondenza del corretto destinatario, non essendoci nulla che assicura la corretta
trasmissione dei dati. Ciò rende, ovviamente, la comunicazione UDP molto meno
affidabile rispetto alla TCP, ma, allo stesso tempo, molto più efficiente e veloce. In
conclusione, non si può affermare che la comunicazione TCP sia in assoluto migliore
rispetto a quella UDP, o viceversa. Infatti, entrambe presentano i propri vantaggi
e svantaggi, che le rendono più adatte per certe applicazioni e meno per altre. In
particolare, la comunicazione TCP è molto più affidabile della UDP poichè presenta
dei meccanismi per: individuare e ritrasmettere i frame persi, riordinare i frame che
sono stati ricevuti in disordine e impedire la duplicazione dei dati. Inoltre, nella
comunicazione TCP viene stipulato un contratto tra i due dispositivi comunicanti
prima che avvenga la trasmissione dei dati. Tutto ciò da un lato è vantaggioso,
ma dall’altro non lo è in quanto rende la comunicazione molto meno efficiente e più
lenta. Nell’UDP, invece, non si hanno i suddetti meccanismi che risolvono i problemi
del protocollo IP e, pertanto, la comunicazione è notevolmente meno affidabile, ma,
allo stesso tempo, è assai più efficiente e veloce, dal momento che presenta dei tempi
di latenza molto minori. Pertanto, si può concludere che la comunicazione UDP è
adeguata per applicazioni di tipo real - time, in cui si desiderano tempi di latenza
molto contenuti e, allo stesso tempo, non è dannosa la perdita di qualche pacchetto
di informazioni. Viceversa, la comunicazione TCP è adatta ad applicazioni in cui
sono accettabili tempi di latenza anche relativamente lunghi, ma è necessario che
tutti i dati vengano ricevuti correttamente dal destinatario e non vengano persi.
Nell’applicazione di telecontrollo che si vuole realizzare, si desidera trasmettere,
mediante il canale di comunicazione, lo spostamento lineare x del manipolo dell’in-
terfaccia aptica al PC industriale che controlla il sistema cartesiano a 2 g.d.l. Tale
391
-Sistema di comunicazione fra due PC target
segnale rappresenta il set - point in posizione per quest’ultimo e da esso viene ri-
cavato, tramite derivazione numerica, anche il set - point in velocità. Questi due
segnali di riferimento vengono forniti in ingresso al sistema di controllo in posizione
del sistema cartesiano, il quale cerca di inseguirli nel modo migliore possibile. Allo
stesso tempo, l’applicativo, che gira all’interno del PC industriale che controlla il
sistema cartesiano, trasmette i valori delle coordinate x e y dell’end-effector di que-
st’ultimo al PC industriale che gestisce l’interfaccia aptica. A partire da tali valori,
si calcola la forza ambiente generata dall’ambiente virtuale che si desidera ripro-
durre e quest’ultima viene utilizzata per chiudere, lato aptica, l’anello di controllo
in forza. In tale tipo di applicazione la perdita di alcuni pacchetti di informazione
è accettabile, purchè ovviamente sia contenuta, in quanto, in tal caso, si conside-
rano come valori, del set-point in posizione per il laser e della forza ambiente per
l’interfaccia aptica, quelli ricevuti all’istante di tempo immediatamente precedente.
L’aspetto più importante nella presente applicazione è avere dei contenuti tempi
di latenza nella trasmissione dei dati, in quanto, come è noto, i ritardi di tempo
sono un aspetto molto critico per la stabilità dei sistemi di controllo retroazionati.
Sulla base delle considerazioni appena svolte e di quanto detto in precedenza, si può
dedurre che, almeno a livello teorico, la comunicazione UDP è quella più adeguata
per scambiare i dati tra i due PC industriali che controllano l’interfaccia aptica ed il
sistema cartesiano, nell’applicazione di telecontrollo con feedback aptico che si vuole
implementare.
4.2 Procedure di configurazione del canale di co-
municazione
Nella presente sotto sezione viene spiegato nel dettaglio come si è permesso lo scam-
bio di dati fra due PC industriali, facendo uso sia del protocollo UDP che di quello
TCP. Vengono, quindi, analizzati gli strumenti utilizzati della libreria Simulink e
come sono stati configurati, al fine di instaurare il corretto canale di comunicazione.
Per illustrare la procedura di configurazione, viene considerato un semplice caso in
cui il PC che controlla il sistema cartesiano trasmette al PC che gestisce il sistema
392
Procedure di configurazione del canale di comunicazione
PC industriale
interfaccia
aptica
Scheda di rete
PCH_LPT_I217_V
Scheda di rete
INTEL 82559
bus4 slot 4
NI6229
PC industriale
robot
cartesiano
Scheda di rete
82579V
INTEL 8254x
bus0 slot 25
Scheda di rete
INTEL 8254x
Gigabit
bus 4 slot 11
NI6229
NI6229
Scheda di rete
PC di
sviluppo
Scheda di rete
PC di
sviluppo
Connessione
Ethernet
Azionamento
Azionamento
Azionamento
Interfaccia grafica
Connessione
Ethernet
Connessione
Ethernet
Fig. 4.1: Schema a blocchi del sistema di comunicazione fra interfaccia aptica e robot
cartesiano
aptico due segnali sinusoidali sfasati di 90 gradi. Per implementare e successivamente
testare la trasmissione di dati fra i due PC è necessario disporre di (Fig.4.1):
1. due schede di rete montate su ciascuno dei due i PC industriali che si de-
sidera mettere in comunicazione: una viene utilizzata per la comunicazio-
ne con l’interfaccia utente, l’altra è dedicata alla trasmissione dati all’altro
applicativo;
2. un PC, connesso tramite ethernet al PC industriale che controlla il sistema
cartesiano, sul quale sviluppare l’applicativo real-time per trasmettere i dati;
3. un cavo ethernet che mette in connessione i due PC industriali del sistema
cartesiano e dell’interfaccia aptica;
4. un PC connesso, tramite cavo ethernet, al PC industriale che controlla il siste-
ma aptico, necessario per implementare il programma real-time per la lettura
dei dati ricevuti.
393
-Sistema di comunicazione fra due PC target
(a) (b)
Fig. 4.2: Blocco Simulink Real-time UDP configuration del trasmettitore
4.2.1 Protocollo UDP
Scegliendo di adottare il protocollo UDP, per implementare la comunicazione fra i
due PC industriali, si devono configurare i seguenti blocchi Simulink:
1. il Byte packing, il Real-Time UDP send ed il Real-time UDP configuration, a
livello dell’applicativo del trasmettitore;
2. il Byte unpacking, il Real-Time UDP receive ed il Real-time UDP configuration,
a livello dell’applicativo del ricevitore.
Il Real-time UDP configuration è il medesimo blocchetto sia per il trasmettitore che
per il ricevitore ed è mostrato in Fig.4.2. La sua configurazione richiede di specificare
l’indirizzo IP del PC industriale al quale si è collegati, quindi del trasmettitore o
del ricevitore, la Subnet Mask, il Gateway, la tipologia (Ethernet driver), il bus e lo
slot della scheda (PCI bus e PCI slot) adibita alla comunicazione. Il trasmettitore,
essendo colui che spedisce i dati, deve fare uso del blocchetto Byte packing, necessario
394
Procedure di configurazione del canale di comunicazione
(a) (b)
Fig. 4.3: Blocco Simulink Byte packing del trasmettitore
per impacchettare i dati: considerando i segnali da trasmettere di tipo double, il Byte
packing li organizza in un vettore, in questo caso scelto di uint8, di 16 bytes (o 16
unit8). Il blocchetto Byte packing e i parametri necessari per la sua configurazione
sono mostrati in Fig.4.3. Infine, per trasferire il pacchetto di dati, il trasmettitore
deve disporre del blocchetto Real-Time UDP send: qui serve specificare l’indirizzo
IP del PC ricevitore, la porta del destinatario ed il numero di bytes da spedire (N),
in questo caso pari a 16 (Fig.4.4). Lato ricevitore invece, oltre al blocchetto Real-
time UDP configuration già descritto, serve il Real-Time UDP receive (Fig.4.5). In
quest’ultimo, che consente la ricezione dei dati, è necessario specificare l’indirizzo
IP del ricevitore, la porta, che è la medesima utilizzata nel Real-Time UDP send,
e il numero di bytes d’acquisire. Il ricevitore deve spacchettare i bytes ricevuti e,
pertanto, è necessario il blocchetto Byte unpacking, in cui si deve specificare il tipo di
dato (double) e la dimensione del vettore, 2 nel presente caso. (Fig.4.6). In Fig.4.7
e Fig.4.8 vengono proposti gli schemi complessivi, rispettivamente di trasmettitore
e ricevitore, implementati per instaurare e permettere la comunicazione fra i due
applicativi. In conclusione, tenendo presente il semplice esempio appena illustrato,
la realizzazione del telecontrollo del sistema cartesiano mediante il feedback aptico,
farà uso dei concetti e dei blocchetti Simulink sopra citati, per consentire l’efficiente
comunicazione fra i due sistemi meccanici.
395
-Sistema di comunicazione fra due PC target
(a) (b)
Fig. 4.4: Blocco Simulink Real-Time UDP send del trasmettitore
(a) (b)
Fig. 4.5: Blocco Simulink Real-Time UDP receive del ricevitore
396
Procedure di configurazione del canale di comunicazione
(a) (b)
Fig. 4.6: Blocco Simulink Byte unpacking del ricevitore
Fig. 4.7: Schema Simulink realizzato per permettere la comunicazione fra i due PC in-
dustriali di trasmettitore e ricevitore, utilizzando il protocollo UDP - Lato tra-
smettitore
397
-Sistema di comunicazione fra due PC target
Fig. 4.8: Schema Simulink realizzato per permettere la comunicazione fra i due PC in-
dustriali di trasmettitore e ricevitore, utilizzando il protocollo UDP - Lato ri-
cevitore
398
Procedure di configurazione del canale di comunicazione
4.2.2 Protocollo TCP
Scegliendo, invece, di adottare il protocollo TCP e considerando sempre la presenza
di due PC industriali, uno che opera come trasmettitore e l’altro come ricevitore,
per permettere la comunicazione fra i due:
1. sia ricevitore che trasmettitore devono configurare il blocco TCP Configure:
nello specifico, il primo dovrà implementare il TCP Client Configure, in quanto
client, mentre il secondo il TCP Server Configure, in quanto server. Questi
sono mostrati rispettivamente in Fig.4.9 e Fig.4.10 e servono per configurare la
rete: ricevono in ingresso un segnale di enable, in questo caso una costante pari
a 1, e forniscono in uscita un segnale (status), dal valore unitario quando la
connessione viene instaurata. In tali blocchetti è necessario inoltre specificare
l’indirizzo IP, la porta, la subnet mask, il gateway, il bus e lo slot della scheda.
2. come nel TCP, ricevitore e trasmettitore implementano i blocchetti di Byte
unpacking e Byte packing, con le stesse procedure di configurazione già viste.
3. il ricevitore fa uso del blocco TCP receive, che riceve in ingresso il segnale
di enable e in cui occorre specificare la dimensione del pacchetto ricevuto
(Fig.4.11 (a)).
4. il trasmettitore utilizza invece il blocco TCP Send: in ingresso riceve il segnale
di enable, il pacchetto di dati e la dimensione di quest’ultimo (Fig.4.11 (b)).
In Fig.4.12 vengono proposti gli schemi complessivi realizzati in ambiente Simulink
per instaurare la comunicazione fra i due PC industriali, trasmettitore e ricevitore,
utilizzando il protocollo TCP.
399
-Sistema di comunicazione fra due PC target
(a) TCP client configure (b) Parametri del TCP client configure
Fig. 4.9: Blocchi Simulink TCP Client configure
(a) TCP Server configure (b) Parametri del TCP client configure
Fig. 4.10: Blocchi Simulink TCP Server configure
(a) TCP Send (b) TCP receive
Fig. 4.11: Blocchi Simulink TCP Send e TCP Send da configurare, per trasmettitore e
ricevitore, qualora si utilizzi il protocollo TCP
400
Procedure di configurazione del canale di comunicazione
(a) Trasmettitore
(b) Ricevitore
Fig. 4.12: Schemi Simulink realizzati, di trasmettitore e ricevitore, per instaurare la
comunicazione fra due PC industriali adottando il protocollo TCP
401
-Sistema di comunicazione fra due PC target
4.3 Analisi delle latenze
Per testare l’efficacia e le prestazioni del sistema di controllo è stata eseguita un’inda-
gine ad alto livello sulle latenze presenti lungo il canale di comunicazione instaurato
tra il PC che controlla l’interfaccia aptica e quello che gestisce il sistema cartesiano.
In particolare, le prove sono state condotte nel seguente modo:
• l’applicativo dell’interfaccia aptica genera un segnale a rampa e lo spedisce;
• l’applicativo della macchina cartesiana riceve il segnale e lo rimanda al mit-
tente.
Il segnale da spedire viene ritenuto di tipo double, composto quindi da 8 bytes: ogni 1
kHz ad esempio, tempo di campionamento utilizzato su entrambi i sistemi, vengono
inviati 8 bytes che identificano il pacchetto di dati inoltrato. La prova di latenza
si basa sul confronto tra il segnale spedito e quello ricevuto dal sistema aptico: in
tal modo è possibile valutare l’entità del ritardo. La prima analisi è stata condotta
considerando come protocollo l’UDP; sono quindi state eseguite diverse acquisizioni
variando la frequenza di campionamento e, per ogni prova, sono stati calcolati i
seguenti parametri:
• numero di pacchetti trasmessi (PA
tras) e persi (PA
persi), sia in percentuale che
non, dal PC che controlla l’interfaccia aptica;
• numero di pacchetti trasmessi (PS.C
tras) e persi (PS.C
persi), sia in percentuale che
non, dal PC che controlla il sistema cartesiano;
In Fig.4.13 (a) viene mostrato il segnale a rampa spedito e ricevuto, in cui si è
utilizzata una frequenza di campionamento pari a 1 kHz. Come si evince dal grafico,
i due segnali risultano sfasati uno rispetto all’altro: lo sfasamento è proprio l’entità
del ritardo che viene presa in considerazione. Il numero di bytes persi, rispetto a
quelli spediti, risulta del tutto trascurabile per l’applicazione in esame: Fig.4.13 (b)
mostra come i bytes ricevuti ogni 1 kHz siano praticamente costanti e correttamente
pari a 8. Con la stessa procedura vengono ripetute una serie di prove variando la
frequenza di campionamento: i migliori risultati sperimentali vengono riassunti in
402
Analisi delle latenze
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
time [s]
0
2
4
6
8
10
12
14
16
18
20
[m]
rampa trasmessa
rampar
icevuta
(a)
0 10 20 30 40 50 60
time [s]
0
1
2
3
4
5
6
7
8
9
10
Bytes
ricevuti
(b)
Fig. 4.13: Confronto fra segnale a rampa trasmesso e ricevuto durante la comunicazione
tra due PC industriali, utilizzando il protocollo UDP e frequenza di campio-
namento 1 kHz (a); numero di bytes ricevuti dal PC industriale che controlla
il sistema aptico (b)
f [Hz]
[Hz]
[Hz] Latenza [ms]
[ms]
[ms] PA
tras
PA
tras
PA
tras PA
persi
PA
persi
PA
persi PA
persi
PA
persi
PA
persi%
%
% PS.C
tras
PS.C
tras
PS.C
tras PS.C
persi
PS.C
persi
PS.C
persi PS.C
persi
PS.C
persi
PS.C
persi%
%
%
1000 3 66159 2 0.003 66159 0 0
5000 0.6 324982 14 0.004 324982 0 0
500 6 32365 1 0.003 32365 0 0
Tabella 4.1: Prove di latenza effettuate con protocollo di comunicazione UDP
tabella 4.1. I dati raccolti permettono di concludere che aumentare di un fattore K
la frequenza, riduce il ritardo di K volte rispetto a quello ottenuto campionando a
1 kHz.
I test condotti sono stati ben superiori a quelli riportati in tabella 4.1: ciò che
è emerso è che i risultati sono del tutto ripetibili. Per quanto detto, essendo la
latenza per sua natura una grandezza aleatoria, è complicato attribuire il ritardo
esclusivamente alla vera e propria attività di comunicazione, pertanto si può ritenere
che sia primariamente dovuto alle operazioni di lettura ed elaborazione del segnale
svolte dal PC industriale. Le medesime prove sono state effettuate adoperando il
protocollo TCP: i risultati sono del tutto simili a quelli mostrati in tabella 4.1,
403
-Sistema di comunicazione fra due PC target
con una leggera riduzione della latenza in quanto a 1 kHz, 5 kHz e 500 kHz, si
sono ottenuti rispettivamente ritardi di 2 ms, 0.4 ms e 4 ms. In conclusione, sulla
base delle considerazioni fatte, si può ritenere che il protocollo TCP sia vantaggioso
rispetto all’UDP, seppur di poco, e consente quindi la trasmissione in maniera efficace
e sicura dei dati, da un PC all’altro. I risultati sperimentali sembrano in parte essere
in contrasto con quanto esposto a livello teorico riguardo i due protocolli utilizzati:
UDP ha un architettura più semplice, consente una trasmissione dei dati più rapida,
ma non fornisce garanzie sul corretto arrivo dei pacchetti a destinazione. Il TCP
invece, sebbene consenta una comunicazione più lenta, stabilendo la connessione
prima dell’invio dei dati, garantisce la corretta consegna dei pacchetti. É bene
sottolineare però che la quantità di dati trasmessa nell’applicazione in esame, è
notevolmente inferiore rispetto a quella consentita dalle schede di rete utilizzate:
per tale motivo, non si riscontrano sperimentalmente evidenti differenze fra TCP ed
UDP ed inoltre, non si apprezzano nemmeno le significative discrepanze, citate a
livello teorico, fra i due protocolli, ma risultano entrambi idonei per la realizzazione
del telecontrollo del sistema cartesiano tramite il sistema aptico.
404
Capitolo 5
Telecontrollo di un sistema
cartesiano mediante feedback
cinestetico
5.1 Analisi dell’effetto di un ritardo sul controllo
in forza
Il telecontrollo del sistema cartesiano mediante feedback aptico viene realizzato con
successo se i ritardi presenti nella trasmissione dei dati fra i due applicativi non com-
portano effetti considerevoli sul sistema di controllo in forza implementato sull’in-
terfaccia aptica. Nello specifico, si devono analizzare le prestazioni di quest’ultimo,
in funzione dell’entità di un eventuale ritardo presente sull’anello di retroazione in
forza. Tale studio può essere semplicemente condotto considerando esclusivamente il
sistema aptico: è sufficiente infatti, facendo uso dei sistemi di controllo, in impeden-
za ed in ammettenza, precedentemente sviluppati nei paragrafi 2.2 e 2.3, porre un
ritardo sulla retroazione, quindi considerare che la forza ambiente sia sfasata rispet-
to alla forza operatore, o equivalentemente, ritenere che la posizione x, in ingresso
all’ambiente virtuale, sia ricevuta con un ritardo definito a priori. In particolare, si
è preso come riferimento l’ambiente molla con Km = 60 N
m
, simulato sul banco di
prova sia con controllo in ammettenza che impedenza, e si è valutato l’effetto di un
Telecontrollo di un sistema cartesiano mediante feedback cinestetico
Ritardo [ms] Fmax
op
Fmax
op
Fmax
op [N] xmax
p
xmax
p
xmax
p [m
s
]
[m
s
]
[m
s
] emax
F
emax
F
emax
F [N] emax
F
emax
F
emax
F [%]
[%]
[%] f[kHz]
f[kHz]
f[kHz]
0 27.60 1.13 15.76 57.6 1
3 29 1.18 16.7 57.6 1
50 26.22 1.18 16.38 62.47 1
100 24.56 1.15 15.93 64.86 1
200 22.75 1.23 17.6 77.32 1
300 20.80 1.27 18.13 87.16 1
Tabella 5.1: Valori sperimentali ottenuti, durante la simulazione di un ambiente molla,
per valutare l’effetto di un ritardo presente nell’anello di retroazione del
sistema di controllo in ammettenza
ritardo sulle prestazioni del sistema, muovendo il manipolo fra i due fine corsa, a
velocità abbastanza sostenute, in maniera tale da poter effettuare considerazioni su
dinamica piuttosto rapida. Per ciò che riguarda la prima di tipologia di controllo,
sono state condotte diverse prove sperimentali, variando l’entità del ritardo posto
sulla retroazione in forza, nello specifico sulla forza generata dall’ambiente: i dati
raccolti sono riassunti in tabella 5.1. Si può osservare che un incremento del ritardo
conduce ad errori in forza maggiori, pertanto il sistema tende a non replicare corret-
tamente l’ambiente ideale desiderato. Ad esempio, considerando un ritardo di 200
ms, si ottiene un errore in forza massimo di circa 80 % rispetto alla forza operatore
massima, pertanto nonostante il comportamento del sistema sia ancora stabile, il
banco di prova non replica correttamente il comportamento desiderato. Si è inoltre
riscontrato che i valori limite del ritardo, oltre i quali, il sistema tende ad oscillare
attorno alla posizione di regime, seppur stabilizzandosi, si attestano attorno a circa
220 ms: incrementando sempre più tale valore, si può prevedere un comportamento
sempre meno stabile del sistema. Valori ben più contenuti del ritardo invece, ad
esempio inferiori a 50 ms, non hanno effetti significativi sull’efficacia del sistema
di controllo in forza, pertanto non ne compromettono le prestazioni, come si evin-
ce confrontano i risultati facenti riferimento a due test condotti, uno considerando
un ritardo di 100 ms e l’altro privo di latenza. Chiaramente, anche la velocità di
406
Analisi dell’effetto di un ritardo sul controllo in forza
movimentazione del manipolo gioca un ruolo fondamentale: spostando lentamente
l’end-effector, si apprezza meno l’effetto dovuto alla presenza di un ritardo, pertan-
to, essendo il telecontrollo che si progetterà caratterizzato da dinamiche rilevanti,
si movimenta il carrello a velocità piuttosto sostenute. Un’ altra considerazione che
emerge dalle analisi condotte è che incrementando la latenza, la forza introdotta dal-
l’operatore diminuisce, quindi l’utente percepisce una molla sempre meno rigida: ciò
è dovuto al ritardo posto sulla forza generata dall’ambiente (o in maniera analoga,
sulla posizione x del carrello) che risulta essere inferiore a quella che effettivamente
ci si aspetta, quando il manipolo raggiunge una determinata posizione. Avendo già
analizzato nella sezione 4.3 la consistenza del ritardo presente durante la trasmis-
sione dei dati fra i due PC industriali dell’applicazione in esame, ed appurato che,
a 1 kHz, sia dell’ordine di 2/3 ms, a seconda che si usi il protocollo TCP o l’UDP,
si può certamente concludere che, ai fini del telecontrollo sintetizzato, una latenza
di quest’entità non ha alcun effetto sulle prestazioni del controllo in forza. In altre
applicazioni invece, se si dispone di una latenza maggiore, magari superiore a 200
ms, può recare considerevoli effetti al sistema di controllo, quindi comprometterne
la stabilità. La medesima analisi è stata ripetuta impiegando il sistema di controllo
in forza in impedenza ad anello chiuso: le prove condotte sono analoghe a quelle
riportate in tabella 5.1, facenti riferimento al controllo in ammettenza. In impe-
denza, i dati ottenuti sono riassunti in 5.2: le considerazioni che ne derivano sono
similari a quelle già enunciate precedentemente. Come ci si poteva aspettare, a pa-
rità di ritardo, l’ambiente molla è simulato in maniera migliore con questo tipo di
controllo, rispetto a quello in ammettenza, in quanto gli errori percentuali in forza
sono inferiori. Inoltre, sempre rispetto al controllo in ammettenza, in impedenza,
si è osservato che la stabilità del sistema viene compromessa per valori di latenza
inferiori, ma comunque elevati, e quindi non rilevanti, per l’applicazione in esame.
Lo studio dell’effetto del ritardo sulle prestazioni del controllo in forza è stato fatto
considerando, fino ad ora, il più semplice ambiente virtuale sviluppato quale quello
elastico (Km = 90N
m
).
In conclusione, nella presente applicazione, quindi ai fini del telecontrollo del sistema
cartesiano mediante il sistema aptico, le latenze presenti nella trasmissione dei dati
407
Telecontrollo di un sistema cartesiano mediante feedback cinestetico
Ritardo [ms] Fmax
op
Fmax
op
Fmax
op [N] xmax
p
xmax
p
xmax
p [m
s
]
[m
s
]
[m
s
] emax
F
emax
F
emax
F [N] emax
F
emax
F
emax
F [%]
[%]
[%] f[kHz]
f[kHz]
f[kHz]
0 24.4 1.16 11.07 45.40 1
3 24.48 1.22 12.42 50.76 1
50 27.73 1.23 12.42 50.21 1
100 25.15 1.13 13.32 52.95 1
200 23.6 1.13 15.72 66.7 1
300 19.5 1.23 14.84 76.16 1
Tabella 5.2: Valori sperimentali ottenuti, durante la simulazione di un ambiente molla,
per valutare l’effetto di un ritardo presente nell’anello di retroazione del
sistema di controllo in impedenza
(2-3 ms a 1 kHz), sono irrilevanti sulle prestazioni del sistema di controllo in forza
qualora si voglia simulare il comportamento elastico, pertanto non influenzano la
percezione tattile che si vuole indurre nell’utente che afferra il manipolo.
5.2 Macchina a stati
L’applicazione di telecontrollo, sia senza che con feedback aptico, è implementata
tramite due macchine a stati realizzate nei due applicativi, che gestiscono i due si-
stemi meccatronici in esame: interfaccia aptica e sistema cartesiano a 2 g.d.l. Le
due macchine a stati sono controllate dall’operatore tramite una semplice interfac-
cia grafica, realizzata mediante Simulink, caratterizzata da led e pulsanti virtuali.
Come già detto in precedenza, tramite una comunicazione TCP, il pc industriale che
controlla l’interfaccia aptica trasmette due dati, di tipo double, al pc industriale del
sistema cartesiano. Il primo dato è il cosiddetto selettore, un segnale che specifica
al ricevitore quale operazione si desidera eseguire, quindi serve per controllare la
macchina a stati che pilota il sistema cartesiano. Pertanto, l’idea è che l’operatore
premendo un opportuno pulsante dell’interfaccia grafica specifica, all’applicativo che
gestisce il sistema aptico, quale operazione si desidera eseguire, come ad esempio:
• homing aptica;
408
Macchina a stati
• homing laser;
• traiettoria lineare senza feedback aptico;
• traiettoria circolare senza feedback aptico;
• traiettoria circolare con feedback aptico, generato da un ambiente virtuale di
tipo molla;
• etc...
Dunque, il pc industriale che gestisce l’aptica specifica mediante il primo dato di
tipo double, quale operazione si desidera svolgere anche all’applicativo che control-
la il sistema cartesiano. Il secondo dato trasmesso dal pc industriale dell’aptica a
quello del laser è, invece, un segnale che assume due differenti significati, a seconda
che ci si trovi nelle fasi di homing oppure no. In particolare, quest’ultimo nella
fase di homing dell’interfaccia aptica assume un valore costante e pari a zero, che
specifica al sistema cartesiano di rimanere fermo, ossia in una condizione di riposo.
Durante invece la fase di homing del laser, il secondo dato trasmesso rappresenta
il riferimento in posizione che il posizionatore dell’asse x o dell’asse y del sistema
cartesiano deve inseguire. Infine, nelle altre fasi, in cui si esegue sul sistema car-
tesiano una certa traiettoria senza o con feedback aptico, il secondo double inviato
rappresenta la posizione assoluta e corrente x del manipolo dell’interfaccia aptica.
Tale segnale viene derivato numericamente a livello dell’applicativo che gestisce il
sistema cartesiano, in modo tale da ottenere anche la velocità lineare corrente ẋ del
manipolo. A quel punto, i due segnali, x e ẋ, costituiscono la legge oraria s(t) -
ṡ(t) con cui si descrive il movimento dell’end-effector del sistema cartesiano lungo
la specifica traiettoria considerata. Da s(t), si possono ottenere, come già descritto
nel dettaglio nel paragrafo 3.5, i riferimenti in posizione e in velocità di entrambi gli
assi del sistema cartesiano. Tali set-point vengono inviati in ingresso ai due siste-
mi di controllo in posizione, dell’asse x e dell’asse y, del sistema cartesiano, i quali
cercano di inseguirli nel modo migliore possibile. In questo modo, movimentando
il manipolo dell’interfaccia aptica si posiziona conseguentemente l’end-effector della
macchina a 2 g.d.l lungo la traiettoria desiderata. Allo stesso modo, l’applicativo
409
Telecontrollo di un sistema cartesiano mediante feedback cinestetico
che gestisce il sistema cartesiano invia a quello dell’interfaccia aptica due dati di
tipo double, i quali assumono anch’essi un significato diverso a seconda della fase in
cui ci si trova. Durante l’operazione di homing del sistema cartesiano, il primo dato
specifica se si è attivato o meno uno dei quattro fine - corsa. L’altro double inviato
invece, descrive la posizione corrente x o y dell’end - effector, a seconda che si stia
svolgendo l’homing dell’asse x o dell’asse y. Pertanto, durante l’homing del sistema
cartesiano l’idea di base è la seguente: l’operatore, premendo un apposito pulsante
(denominato homing laser) dell’interfaccia grafica, comanda, tramite la macchina a
stati, al pc industriale dell’aptica di svolgere l’operazione di homing della macchina
a 2 g.d.l.. A quel punto, quest’ultima trasmette all’altro pc industriale un dato
selettore che assume un valore pari a 2 e che esplicita la specifica operazione che si
vuole svolgere. In particolare, durante l’intera operazione di homing, sia dell’asse x
che dell’asse y, il dato rimane costante e pari a 2. Si esegue, dapprima, l’homing
dell’asse x: l’applicativo che gestisce l’interfaccia aptica genera il set point in po-
sizione x che il corrispondente asse del laser deve seguire. Tale riferimento viene
trasmesso, mediante il secondo dato di tipo double, dal pc dell’aptica a quello del
sistema cartesiano. Una volta ricevuto il segnale, l’applicativo del sistema a 2 g.d.l,
lo deriva numericamente, ottenendo in tal modo il riferimento in velocità ẋ. I due
set point in posizione e in velocità vengono inviati in ingresso al sistema di controllo
in posizione dell’asse x della macchina laser che li insegue nel modo migliore pos-
sibile, muovendo pertanto l’end effector del sistema lungo la direzione x. Quando
quest’ultimo intercetta un fine corsa, si ferma e si registra l’esatta coordinata x in
corrispondenza della quale si è incontrato il sensore. A quel punto, il pc industriale
del sistema cartesiano invia a quello dell’aptica due informazioni:
• lo stato del fine corsa, che è commutato. In questo modo, si specifica che è
stato intercettato il sensore e che l’end-effector si è fermato e deve, ora, iniziare
a muoversi in direzione opposta;
• l’esatta posizione x in cui si è incontrato il fine - corsa.
A partire da queste due informazioni, l’applicativo che controlla l’interfaccia inizia
a generare un nuovo segnale di riferimento in posizione x, che trasmette, sempre
410
Macchina a stati
mediante la comunicazione TCP, all’altro applicativo, in modo tale da movimentare
l’end-effector nella direzione opposta, cosı̀ da intercettare anche l’altro fine - corsa.
La stessa logica viene, poi, impiegata anche per movimentare il dispositivo terminale
al centro dell’asse x e per svolgere l’homing dell’asse y del sistema a 2 g.d.l.. Come
già detto in precedenza, le operazioni di homing sono estremamente importanti,
perchè, impiegando sensori di posizioni relativi, consentono di determinare l’origine
delle coordinate assolute con cui descrivere la posizione assoluta e, non più relativa,
dell’end-effector dell’interfaccia aptica e del sistema cartesiano. In seguito a tali
operazioni preliminari, è possibile svolgere le attività di telecontrollo, con o senza
feedback aptico. Pertanto, nelle due macchine a stati che controllano l’applicazione,
le prime due operazioni che devono essere eseguite sono quelle di homing dell’aptica e
della macchina a 2 g.d.l.. Solamente in seguito a tali operazioni, è possibile accedere
agli stati successivi delle due macchine virtuali, che consentono di implementare
tutte le altre attività desiderate. Durante le operazioni di telecontrollo, i due dati
double trasmessi dal pc industriale del laser a quello dell’interfaccia aptica assumono
due significati diversi, rispetto a quelli assunti durante le operazioni di homing. In
particolare, essi esplicitano i valori delle coordinate x e y assolute e correnti dell’end -
effector del sistema cartesiano. Nelle telecontrollo senza feedback aptico, si controlla
il movimento del sistema a due gradi di libertà mediante il manipolo dell’interfaccia
aptica, a livello del quale, però, l’operatore non percepisce nessun ritorno in forza.
Dunque, in tali condizioni, l’applicativo che gestisce l’interfaccia non chiude l’anello
di controllo in forza. Pertanto, durante l’esecuzione di queste attività, i due dati
di tipo double sopracitati non sono utilizzati per calcolare la forza ambiente Famb,
ma servono solo per diagrammare l’effettiva traiettoria percorsa dall’end-effector
del sistema cartesiano nel piano x - y e confrontarla con quella lineare descritta dal
manipolo dell’interfaccia aptica. Durante le operazioni di telecontrollo con feedback
aptico, si desidera, invece, che l’operatore percepisca a livello del manipolo una
forza pari a quella generata dall’ambiente virtuale preso in considerazione, la quale
è strettamente legata al movimento che viene fatto compiere, sempre movimentando
il manipolo, all’end - effector del sistema cartesiano. Pertanto, quando si svolgono
tali attività, l’applicativo che gestisce l’interfaccia, ricevuti i valori delle coordinate x
411
Telecontrollo di un sistema cartesiano mediante feedback cinestetico
e y assolute e correnti dell’estremità del sistema a 2 g.d.l, li impiega per calcolare la
forza generata dallo specifico ambiente virtuale che si desidera riprodurre e, tramite
quest’ultima, chiude l’anello di controllo in forza. In Fig.5.1 sono riportati i blocchi
Simulink utilizzati per trasmettere e ricevere i dati, mediante comunicazione TCP,
negli applicativi che gestiscono l’interfaccia aptica e il sistema cartesiano, durante
l’applicazione di telecontrollo.
In base a quanto spiegato si può comprendere che l’approccio scelto prevede di:
• chiudere gli anelli di controllo dei due sistemi meccatronici, a livello dei due
applicativi che li gestiscono;
• generare i set point, per entrambi i sistemi, in corrispondenza dell’applicativo
che controlla l’interfaccia aptica.
Si è provato ad implementare anche una seconda diversa soluzione, in cui:
• tutte le operazioni (chiusura anelli di controllo e generazione dei segnali di
riferimento) sono svolte dall’applicativo che gestisce l’interfaccia aptica;
• al pc industriale del sistema cartesiano si inviano soltanto i valori di tensione,
che devono essere applicati in ingresso ai due sistemi di azionamento.
Tuttavia, si è riscontrato che, adottando questa seconda architettura, si ottengono
delle prestazioni decisamente inferiori. Pertanto, si è scelto di utilizzare il primo
approccio descritto. Analizzando più nel dettaglio le due macchine a stati, esse sono
state implementate utilizzando due importanti strumenti forniti da Simulink:
1. Stateflow;
2. Switch case e Switch Case Action Subsystem.
Stateflow è un toolbox che permette di realizzare e gestire facilmente numerosi stati
e le corrispondenti transizioni, le quali possono essere triggerate e/o temporizzate.
Per implementare una macchina a stati mediante Stateflow, si inserisce nello schema
Simulink un blocco denominato Flow Chart. Quest’ultimo può ricevere in ingresso
e dare in uscita una serie di segnali desiderati e fornisce un ambiente grafico in cui
412
Macchina a stati
poter realizzare, in modo relativamente semplice, una macchina a stati, anche molto
complessa. In tale ambiente, il singolo stato è rappresentato da un riquadro di forma
rettangolare con i vertici arrotondati. Ad esso è associato un nome identificativo
e al suo interno si possono implementare una serie di operazioni matematiche. In
particolare, due comandi fondamentali che possono essere scritti all’interno di tale
riquadro sono:
1. entry;
2. entry, during.
Il primo permette di eseguire una serie di operazioni, come ad esempio l’assegnazione
di determinati valori a delle variabili, nel momento in cui si entra all’interno di quello
stato. Il secondo, invece, permette di eseguire operazioni in modo periodico ad ogni
intervallo di campionamento ∆t e non soltanto quando si entra all’interno di quello
stato. Pertanto, tutte le attività che si trovano, a livello logico, sotto il comando
entry vengono eseguite soltanto una volta, quando si attiva lo stato in esame. Vice-
versa, le attività associate al comando entry,during sono realizzate in modo ciclico,
con un periodo pari al tempo di campionamento ∆t del pc - industriale, per tutto
l’intervallo di tempo in cui il corrispondente stato rimane attivo. Le transizioni,
invece, sono implementate collegando tra loro i riquadri mediante delle frecce, al di
sopra delle quali si esplicitano le loro condizioni di innesco. Quest’ultime possono
essere, ad esempio, l’assunzione di un determinato valore da parte di una variabile
oppure il trascorrere di un certo intervallo di tempo, espresso in secondi. In questo
secondo caso, la condizione viene descritta utilizzando il comando after(tempo,sec),
dove la variabile tempo assume lo specifico valore desiderato. Infine, all’interno del
singolo riquadro di un flow chart si possono anche inserire funzioni Matlab, le qua-
li vengono poi richiamate all’interno dei comandi entry o entry,during, o funzioni
Simulink. Per quanto riguarda, invece, lo Switch case, esso è un blocco Simulink,
che riproduce il comportamento di un interruttore logico e che permette di attivare
uno specifico sottosistema, in relazione al valore assunto dal segnale in ingresso allo
switch. Infatti, tale blocco presenta un solo ingresso e una serie di segnali logici in
uscita, i quali vanno a triggerare ciascuno uno specifico Switch Case Action Subsy-
413
Telecontrollo di un sistema cartesiano mediante feedback cinestetico
stem. In base al valore assunto dal segnale in ingresso all’interuttore logico, si attiva
una specifica uscita di quest’ultimo, che permette di accedere ad un determinato
sottosistema all’interno del quale vengono svolte una serie di operazioni utilizzando
sempre i blocchi Simulink. Adottando l’approccio appena descritto, si riesce a fare
in modo che il pc industriale non esegua continuamente l’intero schema Simulink,
ma solo i blocchi posti al di fuori dei Switch Case Action Subsystems e tutto ciò
che è posto all’interno dello specifico sottosistema triggerato dallo Switch case. In
sostanza, tutte le operazioni implementate all’interno dei sottosistemi non attivati
dall’interruttore logico non vengono svolte dal controllore, riducendo notevolmente
il costo computazionale.
In Fig.5.2 e Fig.5.3 è riportato il flow chart principale utilizzato per implementa-
re e gestire la macchina a stati realizzata a livello dell’applicativo che controlla il
funzionamento dell’interfaccia aptica. Si può osservare che quest’ultimo presenta in
ingresso:
• il numero effettivo di bytes ricevuti dal pc industriale, mediante comunicazione
TCP;
• il valore dei due dati, di tipo double, ricevuti mediante il cavo ethernet e
trasmessi dal pc industriale che controlla il sistema cartesiano;
• una serie di parametri il cui valore è fissato di default a zero e che sono asso-
ciati ai bottoni virtuali implementati a livello dell’interfaccia grafica con cui
l’utente interagisce con le due macchine a stati. In particolare, quando l’u-
tente preme un pulsante virtuale presente nell’interfaccia grafica, il valore del
corrispondente parametro commuta da zero a uno e ciò viene sfruttato per
compiere una qualche transizione di stato.
In uscita al flow chart si hanno quattro segnali:
1. il cosiddetto selettore, che serve per pilotare lo switch case;
2. tre segnali denominati, rispettivamente, led check, HomApt ended e Home
Laser ended, che sono associati ai corrispondenti led virtuali presenti nell’in-
terfaccia grafica.
414
Macchina a stati
(a) Lato aptica
(b) Lato laser
Fig. 5.1: Blocchi Simulink per la trasmissione e ricezione di dati, mediante comunicazione
TCP, durante l’applicazione di telecontrollo
415
Telecontrollo di un sistema cartesiano mediante feedback cinestetico
Fig. 5.2: Flow chart principale realizzato nell’applicativo che gestisce l’interfaccia aptica
Dalla struttura interna del flow chart, si può osservare che la prima operazione che
viene eseguita non appena si avviano i due applicativi è un check della comuni-
cazione. Infatti, prima di svolgere qualsiasi altra attività si deve verificare che il
canale di comunicazione tra i due pc industriali funzioni correttamente. Ciò viene
realizzato calcolando la percentuale di pacchetti effettivamente ricevuti in un certo
intervallo di tempo. Se essa risulta superiore ad un certo valore prefissato, allora
si ritiene che la comunicazione sia stata instaurata con successo e che il cavo ether-
net impiegato funzioni correttamente. In tal caso, il segnale led check commuta il
proprio valore da 0 a 1 e ciò comporta l’accensione del corrispondente led a livello
dell’interfaccia grafica, il quale specifica all’utente che la verifica della corretto fun-
zionamento del canale di comunicazione è stata superata con successo. A questo
punto, entrambi i due sistemi meccatronici entrano in uno stato di riposo, in cui in
sostanza rimangono fermi. Le due attività successive che devono essere svolte sono
quelle di homing, dell’aptica e del sistema cartesiano. Non c’è un ordine preciso in
cui esse devono essere eseguite: ciò è a discrezione dell’utente. Nel momento in cui
quest’ultimo clicca il pulsante virtuale dell’interfaccia grafica denominato Homing
416
Macchina a stati
Fig. 5.3: Flow chart principale nel dettaglio realizzato nell’applicativo che gestisce l’in-
terfaccia aptica
417
Telecontrollo di un sistema cartesiano mediante feedback cinestetico
aptica, il valore del parametro Homing aptica commuta da 0 a 1 e, quindi, si entra
in un opportuno stato del flow chart, in cui il segnale selettore assume uno specifico
valore pari a 1. A quel punto, il segnale appena citato consente, tramite lo switch
case, di attivare l’apposito Switch Case Action Subsystem all’interno del quale sono
state implementate tutte le operazioni necessarie per svolgere l’homing dell’inter-
faccia aptica. Terminata tale attività, il valore del segnale HomApt ended commuta
da 0 a 1 e ciò comporta l’accensione di uno specifico led dell’interfaccia grafica. Lo
stesso approccio è impiegato per l’homing del sistema cartesiano, a cui sono asso-
ciati: un apposito bottone, uno specifico led virtuale a livello dell’interfaccia grafica,
un valore pari a 2 del segnale selettore e un corrispondente sottosistema Simulink.
Una volta terminate le due sopracitate operazioni preliminari, si entra in un nuovo
stato di riposo, in cui i due sistemi meccatronici rimangono sostanzialmente fermi,
in quanto i loro motori sono alimentati tutti con una tensione di 0 volt. Raggiunta
tale condizione, l’operatore può premere su uno dei vari pulsanti virtuali realizzati
nell’interfaccia grafica, in modo tale da svolgere una specifica attività di telecon-
trollo, con o senza feedback aptico. Per esempio, cliccando sul pulsante denominato
Molla K60 Ammettenza, il selettore assume un valore pari a 5 e consente, mediante
lo switch case, di attivare il sottosistema Simulink tramite il quale si implementa, in
modalità telecontrollo, un ambiente virtuale di tipo molla associato ad una traiet-
toria lineare percorsa dall’end-effector del sistema cartesiano. In tale condizione, lo
spostamento effettivo di quest’ultimo, lungo una retta prestabilita, viene tradotto,
tramite una costante di proporzionalità K, rappresentante la rigidezza della molla
virtuale, in una forza ambiente con la quale si chiude l’anello di controllo in forza.
All’interno del sottosistema, sempre tramite un apposito flow chart, si comanda al
manipolo dell’interfaccia e all’end-effector del sistema cartesiano, sfruttando sempre
la comunicazione TCP, di raggiungere una specifica posizione iniziale. Si svolge in
seguito la calibrazione della cella di carico e, terminate con successo tali operazio-
ni preliminari, si accendono i led: Molla K60 Ammettenza in corso e Calibrazione
dell’interfaccia grafica. A quel punto, l’operatore può afferrare e movimentare il
manipolo, percependo conseguentemente un ritorno in forza direttamente propor-
zionale all’effettivo spostamento dell’end-effector della macchina a 2 g.d.l., lungo
418
Macchina a stati
una retta prestabilita. In Fig.5.4 sono rappresentati lo switch case e una serie di
Switch Case Action Subsystems, che vengono triggerati mediante il segnale selettore.
Si può osservare che in uscita a tutti i diversi sottosistemi si hanno:
• i due dati di tipo double, che devono essere trasmessi al sistema cartesiano
mediante comunicazione TCP;
• il valore della tensione che deve essere applicata in ingresso al motore elettrico
che aziona l’interfaccia aptica.
Pertanto, in uscita dai vari sottosistemi si hanno le tre medesime variabili; per sele-
zionare quale valore utilizzare effettivamente per ciascuna si utilizza un, cosiddetto,
multiport switch. Quest’ultimo presenta in uscita un solo segnale mentre riceve in
ingresso quello del selettore e i valori della singola variabile in esame, che provengono
dai diversi sottosistemi implementati. In base al valore che assume il segnale selet-
tore, la variabile in uscita dal multiport switch assume un valore pari a quello che
si ha in uscita dal Switch Case Action Subsystem che è in quel momento triggerato.
Quanto detto lo si può osservare in Fig.5.5, in cui si riportano i tre multiport switch
realizzati nell’applicativo che gestisce l’interfaccia aptica. In Fig.5.6 è riportato un
esempio di interfaccia grafica, con cui l’utente può controllare il funzionamento delle
due macchine a stati realizzate nei due applicativi Simulink.
419
Telecontrollo di un sistema cartesiano mediante feedback cinestetico
Fig. 5.4: Switch case e corrispondenti Switch Case Action Subsystems nell’applicativo
che controlla l’interfaccia aptica
420
Macchina a stati
Fig. 5.5: Multiport switches nell’applicativo che gestisce l’interfaccia aptica
Fig. 5.6: Esempio di interfaccia grafica
421
Telecontrollo di un sistema cartesiano mediante feedback cinestetico
5.3 Telecontrollo cinematico
In generale, nell’attività di telecontrollo cinematico (o senza feedback aptico) si vuole
telecontrollare il movimento dello slave mediante il master, senza che, a livello di
quest’ultimo, l’operatore riceva un ritorno in forza dato dall’interazione tra lo slave e
l’ambiente ad esso circostante. In tale applicazione, quindi, il master deve generare
i set-point di posizione e li deve inviare, mediante il canale di comunicazione, allo
slave, in modo tale che quest’ultimo li segua tramite un adeguato sistema di control-
lo in posizione. Il master, invece, non riceve nessun’informazione dallo slave sulla
forza corrente di interazione tra quest’ultimo e l’ambiente circostante. Pertanto, a
livello del master non si deve chiudere nessun anello di controllo, nè in forza nè in
posizione. Nella specifica applicazione in esame, il master è il sistema ad 1 g.d.l.,
mentre lo slave è il sistema cartesiano a 2 g.d.l.. Il primo lo si chiamerà, per sempli-
cità, interfaccia aptica, nonostante ciò sia un pò improprio, in quanto, come appena
detto, in un’attività di telecontrollo cinematico il master non viene controllato in
forza e, quindi, non restituisce all’operatore nessun feedback aptico. L’obiettivo è
quello di tradurre lo spostamento manualmente imposto al manipolo dell’interfaccia
aptica dall’operatore in un corrispondente movimento dell’end-effector del sistema
cartesiano a 2 g.d.l., lungo una specifica traiettoria desiderata. Dunque, l’idea è
che l’operatore afferri il manipolo dell’interfaccia aptica e lo movimenti lungo la
guida lineare. Tramite l’encoder incrementale fornito dal sistema di azionamento,
si misura la posizione corrente dell’albero motore, da cui si risale, dopo aver ese-
guito un’operazione di homing, allo spostamento lineare x effettivamente compiuto
dal manipolo. Tale valore viene trasmesso, mediante comunicazione TCP, al pc -
industriale dello slave, in corrispondenza del quale esso viene tradotto, mediante un
opportuno fattore di scala, nel set-point dell’ascissa curvilinea s, che rappresenta lo
spostamento ideale che si vuole fare compiere all’end-effector del sistema cartesiano
lungo una traiettoria prestabilita. Tale set-point lo si deriva, poi, rispetto al tempo
per via numerica. In questo modo, si ottiene la legge oraria s(t) - ṡ(t), che descrive il
movimento desiderato dell’end-effector dello slave lungo la traiettoria considerata.
A partire dalla legge oraria, si ricavano, come descritto nel sotto - paragrafo 3.5,
422
Telecontrollo cinematico
i segnali di riferimento in posizione e in velocità per entrambi gli assi del sistema
cartesiano a 2 g.d.l.. In seguito, si inviano set-point in ingresso ai due sistemi di
controllo in posizione, i quali cercano di seguirli nel modo più preciso possibile. Ne
consegue uno spostamento dell’end-effector dello slave, corrispondente al movimen-
to imposto dall’operatore al manipolo dell’interfaccia aptica. Il master non riceve
dallo slave nessun’informazione sulla forza ambiente, dovuta all’interazione tra lo
slave e il mondo circostante oppure generata in maniera virtuale. Pertanto, a livello
del master non si chiude nessun anello di controllo, nè in forza nè in posizione. In-
fatti, durante l’attività di telecontrollo cinematico, la tensione applicata in ingresso
al motore elettrico dell’interfaccia aptica viene forzata a zero, in modo tale che l’o-
peratore possa muovere manualmente il manipolo, senza ricevere un ritorno in forza
dal sistema ad 1 g.d.l.. Di seguito, si descrivono e riportano i risultati sperimentali
di alcune traiettorie, che si è fatto compiere all’end-effector del sistema cartesiano
a 2 g.d.l., in modalità di telecontrollo, movimentando il manipolo dell’interfaccia
aptica.
423
Telecontrollo di un sistema cartesiano mediante feedback cinestetico
5.3.1 Traiettoria Lineare
Si consideri una traiettoria lineare, che parte da un punto P1 e termina in un punto
P2. L’ascissa curvilinea s individua lo spostamento lungo tale traiettoria, la cui
direzione e verso sono descritti dal versore u, che può essere calcolato mediante la
formula (5.1). La lunghezza L della suddetta traiettoria è data dalla norma della
differenza tra il punto di partenza e quello di arrivo (relazione (5.2)).
u =
P2 − P1
||P2 − P1||
(5.1)
L = ||P2 − P1|| (5.2)
Sia c la corsa utile del manipolo dell’interfaccia aptica. Dividendo la lunghezza L
della traiettoria lineare per la corsa si ottiene il fattore di scala Fs, che consente di
tradurre lo spostamento lineare x del manipolo nel set-point s dell’ascissa curvilinea,
che descrive lo spostamento lungo la traiettoria lineare considerata (formula (5.3)).
In questo modo, tramite tale fattore di scala si riesce a mappare tutta la corsa
utile del manipolo dell’interfaccia aptica lungo la traiettoria lineare considerata.
Pertanto, movimentando il manipolo lungo tutta la corsa disponibile si fa compiere
all’end-effector del sistema cartesiano l’intera traiettoria lineare in esame.
Fs =
L
c
(5.3)
A titolo di esempio, si è considerato una traiettoria lineare passante per i seguenti
due punti intermedi:
• l’origine O delle coordinate x e y, che coincide con il centro del sistema
cartesiano;
• un punto P2 =


512.5
501.5

.
Si è assunto come verso positivo di percorrenza della traiettoria lineare quello dal
punto O al punto P2. Inoltre, si è impiegato un fattore di scala, tra lo spostamento
lineare x del manipolo e l’ascissa curvilinea s, pari a 1.5. Infine, si è considerato
il centro dell’interfaccia aptica, come punto di partenza del suo manipolo, e ad
424
Telecontrollo cinematico
esso si è associato il centro O del sistema cartesiano, come corrispondente posizione
dell’end-effector della macchina a 2 g.d.l.. Pertanto, spostando il manipolo nella
direzione positiva della coordinata x, ovvero verso il motore elettrico che aziona
l’interfaccia, si movimenta, a partire dal centro, l’end-effector del sistema cartesiano
verso il punto P2, lungo la traiettoria lineare. Viceversa, spostando il manipolo nella
direzione negativa della coordinata x, si movimenta l’end-effector del sistema a 2
g.d.l. in verso opposto, sempre lungo la medesima traiettoria lineare. In Fig.5.8 sono
rappresentati gli andamenti, in funzione del tempo, della posizione e della velocità
lineare del manipolo dell’interfaccia aptica, mosso dall’operatore. In Fig.5.7 sono
riportati, invece, i corrispondenti andamenti, in funzione del tempo, delle posizioni
e delle velocità lineari di entrambi gli assi del sistema cartesiano. In Fig.5.9 sono
rappresentati gli andamenti, in funzione del tempo, degli errori in posizione dell’asse
x e dell’asse y del sistema a 2 g.d.l.. Ciascuno dei due errori è stato ottenuto come
la differenza tra il set-point in posizione, ottenuto a partire dal set-point dell’ascissa
curvilinea s, e la posizione corrente effettiva del singolo asse del sistema cartesiano. Si
può osservare che gli errori in posizione presentano un andamento qualitativamente
equivalente a quelle delle velocità dei due corrispondenti assi dello slave. Pertanto,
si può concludere che gli errori massimi in posizione li si hanno nelle fasi in cui
l’operatore movimenta più velocemente il manipolo, coerentemente con il fatto che
in tali fasi i set-point in posizione dei due assi del sistema cartesiano presentano
una dinamica più veloce e, pertanto, i corrispondenti sistemi di controllo fanno più
fatica a inseguirli, commettendo, quindi, un errore maggiore. Infine, in Fig.5.10 sono
rappresentate:
• a sinistra, la traiettoria descritta dal manipolo dell’interfaccia aptica lungo la
guida lineare;
• a destra, sovrapposte nel piano x - y, la traiettoria ideale progettata e quella
effettivamente descritta dall’end - effector del sistema a 2 g.d.l..
Dalla figura mostrata si può, quindi, osservare come si è mappato il movimen-
to mono-dimensionale del manipolo del master nello spostamento bi-dimensionale
dell’end-effector del sistema cartesiano. In particolare, si nota che l’end-effector del
425
Telecontrollo di un sistema cartesiano mediante feedback cinestetico
sistema a 2 g.d.l. ha descritto, effettivamente, la traiettoria lineare desiderata, con
un piccolo errore nelle fasi di movimentazione a velocità più elevate.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
Time [s]
-500
-400
-300
-200
-100
0
100
200
300
400
500
x
[mm]
(a) Posizione asse x
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
Time [s]
-500
-400
-300
-200
-100
0
100
200
300
400
500
y
[mm]
(b) Posizione asse y
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
Time [s]
-1000
-800
-600
-400
-200
0
200
400
600
800
x
p
[mm/s]
(c) Velocità asse x
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
Time [s]
-800
-600
-400
-200
0
200
400
600
800
y
p
[mm/s]
(d) Velocità asse y
Fig. 5.7: Posizione e velocità lineari correnti dei due assi del sistema cartesiano a 2 g.d.l.
426
Telecontrollo cinematico
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
Time [s]
-500
-400
-300
-200
-100
0
100
200
300
400
500
x
[mm]
(a) Posizione
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
Time [s]
-800
-600
-400
-200
0
200
400
600
x
p
[mm/s]
(b) Velocità
Fig. 5.8: Posizione e velocità lineari effettive del manipolo dell’interfaccia aptica
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
Time [s]
-4
-3
-2
-1
0
1
2
3
4
err
x
[mm]
(a) Asse x
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
Time [s]
-4
-3
-2
-1
0
1
2
3
err
y
[mm]
(b) Asse y
Fig. 5.9: Errori in posizione dei due assi del sistema cartesiano
427
Telecontrollo di un sistema cartesiano mediante feedback cinestetico
-500 -400 -300 -200 -100 0 100 200 300 400 500
x [mm]
-100
-80
-60
-40
-20
0
20
40
60
80
100
y
[mm] E1
E2
Pstart
(a) Interfaccia aptica
-500 -400 -300 -200 -100 0 100 200 300 400 500
x [mm]
-500
-400
-300
-200
-100
0
100
200
300
400
500
y
[mm]
Effettiva
Ideale
(b) Sistema cartesiano
Fig. 5.10: Traiettorie eseguite effettivamente dal manipolo dell’interfaccia aptica e
dall’end-effector del sistema cartesiano
5.3.2 Traiettoria circolare
Si consideri una traiettoria circolare di centro C, raggio R e caratterizzata da un
sistema di riferimento locale descritto, rispetto al sistema di riferimento assoluto
del sistema cartesiano, da una matrice di rotazione R01. Sia α l’angolo al centro,
espresso in radianti, sotteso dall’arco di circonferenza che si desidera far compiere
all’end-effector del sistema cartesiano. La lunghezza di tale arco può essere calcolata
mediante la formula (5.4).
Lcirc = αR (5.4)
Il fattore di scala, con cui convertire lo spostamento lineare del manipolo nel set-
point dell’ascissa curvilinea s, lo si calcola come il rapporto tra la lunghezza dell’arco
di circonferenza considerato e la corsa utile dell’interfaccia aptica (relazione (5.5)).
Fs =
Lcirc
c
(5.5)
A titolo di esempio, si è considerato una circonferenza di raggio R = 220 mm, cen-
tro localizzato nell’origine delle coordinate assolute x e y del sistema cartesiano e
caratterizzata da un sistema di riferimento locale coincidente con quello assoluto.
Inoltre, si è scelto di far percorrere all’end-effector dello slave l’intera circonferen-
za, ovvero si è assunto α = 2π radianti, e di svolgerlo in senso orario. Infine, si
428
Telecontrollo cinematico
è considerato un estremo dell’interfaccia aptica, nel dettaglio quello lontano dal
motore, come posizione di partenza del manipolo e ad esso si è associato il punto
P1 =


0
220

, come corrispondente posizione dell’end-effector del sistema cartesiano.
Pertanto, spostando il manipolo dell’interfaccia aptica verso l’altro estremo, si mo-
vimenta l’end-effector del sistema a 2 g.d.l. in senso orario lungo la circonferenza
precedentemente descritta. In Fig.5.11 sono riportati gli andamenti, in funzione del
tempo, della posizione e della velocità lineari del manipolo dell’interfaccia aptica,
movimentato dall’operatore. In Fig.5.12 sono rappresentati, invece, i corrispondenti
andamenti, in funzione del tempo, delle posizioni e delle velocità lineari di entrambi
gli assi del sistema cartesiano. In Fig.5.13 sono mostrati gli errori in posizione, in
funzione del tempo, sia per l’asse x sia per l’asse y del sistema a 2 g.d.l., ricavati
come la differenza tra il segnale di riferimento in posizione, ottenuto a partire dal
set point dell’ascissa curvilinea, e la misura della posizione corrente del singolo asse
del sistema. Analogamente a quanto osservato discutendo della traiettoria lineare,
si può osservare che, anche nel caso della traiettoria circolare, gli errori massimi in
posizione, per entrambi gli assi del sistema cartesiano, li si è commessi nelle fasi in
cui le velocità lineari sono più elevate.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
Time [s]
-100
0
100
200
300
400
500
600
700
800
900
1000
x
[mm]
(a) Posizione
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
Time [s]
-100
0
100
200
300
400
500
x
p
[mm/s]
(b) Velocità
Fig. 5.11: Posizione e velocità lineari effettive del manipolo dell’interfaccia aptica
429
Telecontrollo di un sistema cartesiano mediante feedback cinestetico
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
Time [s]
-250
-200
-150
-100
-50
0
50
100
150
200
250
x
[mm]
(a) Posizione asse x
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
Time [s]
-250
-200
-150
-100
-50
0
50
100
150
200
250
y
[mm]
(b) Posizione asse y
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
Time [s]
-800
-600
-400
-200
0
200
400
600
x
p
[mm/s]
(c) Velocità asse x
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
Time [s]
-600
-400
-200
0
200
400
600
800
y
p
[mm/s]
(d) Velocità asse y
Fig. 5.12: Posizione e velocità lineari correnti dei due assi del sistema cartesiano a 2 g.d.l.
Infine, in Fig.5.14 sono rappresentate la traiettoria descritta dal manipolo dell’inter-
faccia aptica lungo la guida lineare e a destra, sovrapposte nel piano cartesiano x - y,
la traiettoria circolare ideale progettata e quella, invece, realmente descritta dall’end-
effector del sistema a 2 g.d.l. In particolare, si può osservare che quest’ultimo ha
percorso in modo preciso l’effettiva traiettoria circolare desiderata.
430
Telecontrollo cinematico
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
Time [s]
-4
-3
-2
-1
0
1
2
3
4
err
x
[mm]
(a) Asse x
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
Time [s]
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
err
y
[mm]
(b) Asse y
Fig. 5.13: Errori in posizione dei due assi del sistema cartesiano
-100 0 100 200 300 400 500 600 700 800 900 1000
x [mm]
-100
-80
-60
-40
-20
0
20
40
60
80
100
y
[mm]
Pstart
Pend
(a) Interfaccia aptica
-250 -200 -150 -100 -50 0 50 100 150 200 250
x [mm]
-250
-200
-150
-100
-50
0
50
100
150
200
250
y
[mm]
Effettiva
Ideale
(b) Sistema cartesiano
Fig. 5.14: Traiettorie eseguite effettivamente dal manipolo dell’interfaccia aptica e
dall’end-effector del sistema cartesiano
431
Telecontrollo di un sistema cartesiano mediante feedback cinestetico
5.3.3 Traiettoria a Spirale d’Archimede
Si consideri di far compiere all’end-effector del sistema cartesiano una traiettoria
a Spirale d’Archimede, caratterizzata da un polo O e da un certo passo a. Per
semplicità, si assume che il polo della spirale coincida con l’origine delle coordinate
assolute x e y del sistema a 2 g.d.l.. Come visto nel sotto - paragrafo (3.5.3), la Spirale
d’Archimede è una traiettoria parametrica, che dipende da un unico parametro che
può essere l’angolo di rotazione θ della semi - retta attorno al polo o lo spostamento
lineare ρ lungo tale semi - retta. L’ascissa curvilinea s che descrive lo spostamento
del generico punto P lungo tale traiettoria può essere calcolata mediante la formula
(5.6), in funzione, per esempio, dell’angolo θ.
s(θ̄) =
Z θ̄
0
∥
dP
dθ
∥dθ (5.6)
Il vettore dP
dθ
rappresenta la derivata geometrica della traiettoria considerata e può
essere calcolato mediante la relazione (5.7), la quale la si ottiene derivando, rispetto
al parametro θ, le equazioni parametriche che descrivono la Spirale d’Archimede.
dP
dθ
=


a cos θ − aθ sin θ
a sin θ + aθ cos θ

 (5.7)
Si può notare che l’ascissa curvilinea che rappresenta lo spostamento lungo la tra-
iettoria in esame non può essere ottenuta per via analitica; pertanto, si procede per
via numerica. L’idea è di definire, per esempio in Matlab, un vettore equispaziato
di N angoli θ, che vanno da 0 fino al massimo angolo θend di cui si vuol far ruotare
la semi - retta della Spirale di Archimede (relazione (5.8)).
Vθ = linspace(0, θend, N) (5.8)
A questo punto, utilizzando il metodo dei trapezi, si risolve l’integrale (5.6) e si
ottiene il vettore di ascisse curvilinee corrispondenti agli angoli contenuti nel vettore
Vθ. Per fare ciò, si può impiegare la funzione cumtrapz di Matlab (formula (5.9)).
Vs = cumtrapz(||
dP
dθ
||, Vθ) (5.9)
Adottando l’approccio appena descritto, si riesce a costruire per punti la traiettoria
a spirale che si desidera far percorrere all’end-effector del sistema cartesiano. Nel-
l’applicazione di telecontrollo cinematico si traduce lo spostamento x del manipolo
432
Telecontrollo cinematico
dell’interfaccia aptica nel set-point dell’ascissa curvilinea s del sistema a 2 g.d.l., me-
diante un opportuno fattore di scala. Pertanto, l’operatore movimenta il manipolo
dell’interfaccia aptica e, a partire dalla misura dell’encoder incrementale, si ricava il
suo spostamento x. Quest’ultimo lo si traduce nel set-point dell’ascissa curvilinea e
lo si invia, mediante comunicazione TCP, all’applicativo che gestisce il sistema a 2
g.d.l.. Dunque, a livello di quest’ultimo, si deve, poi, ricavare i segnali di riferimento
in posizione e in velocità per entrambi gli assi del sistema cartesiano, a partire dal
suddetto set-point s̃. Per fare ciò, si deve calcolare, innanzitutto, il valore corrente
del set-point dell’angolo θ, a partire da quello dell’ascissa curvilinea. Tale opera-
zione la si svolge tramite interpolazione lineare: si conosce per punti la traiettoria
a spirale desiderata, si è calcolato il valore del set-point dell’ascissa curvilinea s e,
quindi, a partire da tali informazioni, utilizzando la funzione interp1 di Matlab, si
ricava il corrispondente valore del set-point dell’angolo θ (relazione (5.10)).
θ̃ = interp1(Vs, Vtheta, s̃) (5.10)
Derivando, poi, numericamente θ̃ si riesce ad ottenere, anche, il set-point ˜
θ̇. A questo
punto, a partire da questi due ultimi valori, impiegando le equazioni, descritte nel
sotto - paragrafo 3.5.3, si ottengono i segnali di riferimento in posizione e in velocità
per entrambi gli assi del sistema cartesiano. A titolo di esempio, si è considerato
una traiettoria a spirale con polo nell’origine delle coordinate assolute del sistema
cartesiano, passo a = 9 e valore limite dell’angolo θ pari a 2πk, con k = 3. Inoltre, si
è assunto come punto di partenza del manipolo l’estremo dell’interfaccia aptica lon-
tano dal motore e ad esso vi si è associato il polo della spirale, come corrispondente
posizione dell’end-effector del sistema a 2 g.d.l.. In Fig.5.16 sono riportati gli an-
damenti, in funzione del tempo, della posizione e della velocità lineari del manipolo
dell’interfaccia aptica, movimentato dall’operatore. In Fig.5.15 sono rappresentati,
invece, i corrispondenti andamenti, in funzione del tempo, delle posizioni e delle
velocità lineari di entrambi gli assi del sistema cartesiano. In Fig.5.17 sono illustrati
gli andamenti, in funzione del tempo, degli errori in posizione sia per l’asse x sia per
l’asse y del sistema a 2 g.d.l.. Si può osservare che, anche nel caso della traiettoria a
spirale, gli errori massimi in posizione, per entrambi gli assi del sistema cartesiano,
433
Telecontrollo di un sistema cartesiano mediante feedback cinestetico
li si è commessi nelle fasi in cui le velocità lineari sono più elevate. Infine, in Fig.5.18
sono rappresentate la traiettoria descritta dal manipolo dell’interfaccia aptica lungo
la guida lineare e a destra, sovrapposte nel piano cartesiano x - y, la traiettoria a
Spirale di Archimede ideale progettata e quella, invece, realmente percorsa dall’end-
effector del sistema a 2 g.d.l.. Si può osservare che quest’ultimo ha descritto in
modo preciso l’effettiva traiettoria a spirale desiderata.
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]
-150
-100
-50
0
50
100
150
x
[mm]
(a) Posizione asse x
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]
-200
-150
-100
-50
0
50
100
150
y
[mm]
(b) Posizione asse y
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]
-1000
-800
-600
-400
-200
0
200
400
600
800
1000
x
p
[mm/s]
(c) Velocità asse x
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]
-1000
-800
-600
-400
-200
0
200
400
600
800
1000
y
p
[mm/s]
(d) Velocità asse y
Fig. 5.15: Posizione e velocità lineari correnti dei due assi del sistema cartesiano a 2 g.d.l.
434
Telecontrollo cinematico
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]
-100
0
100
200
300
400
500
600
700
800
900
1000
x
[mm]
(a) Posizione
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]
-100
0
100
200
300
400
500
600
x
p
[mm/s]
(b) Velocità
Fig. 5.16: Posizione e velocità lineari effettive del manipolo dell’interfaccia aptica
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]
-4
-3
-2
-1
0
1
2
3
4
5
err
x
[mm]
(a) Asse x
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]
-6
-5
-4
-3
-2
-1
0
1
2
3
err
y
[mm]
(b) Asse y
Fig. 5.17: Errori in posizione dei due assi del sistema cartesiano
435
Telecontrollo di un sistema cartesiano mediante feedback cinestetico
-100 0 100 200 300 400 500 600 700 800 900 1000
x [mm]
-100
-80
-60
-40
-20
0
20
40
60
80
100
y
[mm] Pstart
Pend
(a) Interfaccia aptica
-150 -100 -50 0 50 100 150
x [mm]
-200
-150
-100
-50
0
50
100
150
y
[mm]
Effettiva
Ideale
(b) Sistema cartesiano
Fig. 5.18: Traiettorie eseguite effettivamente dal manipolo dell’interfaccia aptica e
dall’end-effector del sistema cartesiano
5.4 Telecontrollo con feedback aptico
Nel telecontrollo con feedback aptico si vuole telecontrollare il movimento dello slave
mediante il dispositivo master e, allo stesso tempo, a livello di quest’ultimo, far per-
cepire all’operatore una forza di reazione esattamente pari alla forza di interazione
tra il dispositivo slave e l’ambiente ad esso circostante. Pertanto, nel telecontrollo
con feedback aptico si svolgono tutte le operazioni che vengono eseguite anche nel
telecontrollo cinematico e, in aggiunta, si deve trasmettere, sempre mediante la co-
municazione TCP, l’informazione sulla forza ambiente dallo slave al master, tramite
la quale, a livello di quest’ultimo, si chiude l’anello di controllo in forza. Pertanto, a
differenza del telecontrollo cinematico, in quello con feedback aptico il master viene
controllato in forza mediante un’opportuna strategia. Nell’applicazione in esame,
il dispositivo slave è il sistema cartesiano a 2 g.d.l. e, come già detto, esso non
presenta un sensore in forza a livello del suo end - effector, con cui misurare le
azioni di interazione con l’ambiente ad esso circostante. Pertanto, l’approccio che si
utilizza è quello di sviluppare un ambiente virtuale, che sulla base del movimento
compiuto dallo slave, genera una determinata forza di reazione che, poi, impiegando
un opportuno sistema di controllo in forza, viene percepita dall’operatore a livello
436
Telecontrollo con feedback aptico
del dispositivo master. Gli ambienti virtuali, discussi singolarmente nel capitolo 2,
sono stati implementati anche in un’attività di telecontrollo tra il sistema a 1 g.d.l.,
che in queste condizioni lavora effettivamente come un’interfaccia aptica in quanto
viene controllato in forza, e il sistema cartesiano a 2 g.d.l.. Di seguito, si riportano
a titolo illustrativo alcuni semplici esempi e i corrispondenti risultati sperimentali.
5.4.1 Ambiente elastico in ammettenza
Si consideri una molla ideale di rigidezza k come ambiente virtuale, che genera la
forza che viene, poi, percepita dall’operatore a livello del manipolo dell’interfaccia
aptica. L’idea è che la persona afferra il manipolo, lo movimenta lungo la guida
lineare e ciò, tramite telecontrollo cinematico, viene tradotto in un corrispondente
spostamento dell’end - effector del sistema cartesiano lungo una determinata tra-
iettoria desiderata. Allo stesso tempo, l’operatore percepisce, in corrispondenza del
manipolo dell’interfaccia aptica, una forza pari a quella generata dall’ambiente vir-
tuale, che, nello specifico caso in esame, è direttamente proporzionale all’effettivo
valore dell’ascissa curvilinea, ovvero al reale spostamento dell’end - effector del si-
stema a 2 g.d.l. lungo la traiettoria considerata. Come primo caso, si è assunto di
controllare in forza il sistema ad 1 g.d.l, mediante una strategia di controllo in am-
mettenza. Inoltre, si è considerato una retta, passante per l’origine delle coordinate
assolute e per il punto P2 =


512.5
501.5

 , come traiettoria del terminale del sistema
cartesiano lungo cui mappare lo spostamento del manipolo dell’interfaccia aptica.
Infine, si è scelto K = 90N
m
, come caratteristica dell’ambiente virtuale. Per valutare
le prestazioni del sistema di telecontrollo con feedback aptico, sono state svolte delle
prove del tutto analoghe a quelle eseguite per testare le performance dei sistemi di
controllo in forza implementati nel capitolo 2:
• si è movimentato più volte il manipolo dell’interfaccia aptica avanti e indietro
tra i due fine - corsa;
• si è misurato una serie di grandezze, quali la posizione e la velocità lineare sia
del manipolo sia dell’end - effector del sistema a 2 g.d.l., la forza applicata
437
Telecontrollo di un sistema cartesiano mediante feedback cinestetico
dall’operatore e la forza generata dall’ambiente virtuale.
In Fig.5.19 è riportato l’andamento, in funzione del tempo, della posizione e del-
la velocità lineare del manipolo dell’interfaccia aptica, durante una delle suddette
prove. In Fig.5.20 sono, invece, rappresentati gli andamenti, in funzione del tempo,
delle posizioni e delle velocità lineari di entrambi gli assi del sistema cartesiano.
Si può osservare che il manipolo del master e i due assi del dispositivo slave sono
stati mossi con delle velocità lineari piuttosto contenute, con picchi intorno a 0.5
m
s
. In Fig.5.21 sono rappresentati gli andamenti, in funzione del tempo, della forza
applicata dall’operatore e della forza generata dall’ambiente virtuale. Inoltre, sot-
traendo la seconda alla prima si è calcolato l’errore in forza commesso durante lo
svolgimento della prova considerata. L’andamento di quest’ultimo, in funzione del
tempo, è riportato in Fig.5.22, dove si può osservare che il massimo errore in forza
compiuto è pari a 6.04 N. La forza operatore massima è pari a 36.81 N. Pertanto, si
può concludere che l’errore percentuale massimo in forza commesso è pari al 16.42
% della massima forza applicata dall’operatore sul manipolo dell’interfaccia aptica.
0 5 10 15 20 25 30 35 40
Time [s]
-400
-300
-200
-100
0
100
200
300
400
x
[mm]
(a) Posizione
0 5 10 15 20 25 30 35 40
Time [s]
-500
-400
-300
-200
-100
0
100
200
300
400
500
x
p
[mm/s]
(b) Velocità
Fig. 5.19: Posizione e velocità lineari effettive del manipolo dell’interfaccia aptica
438
Telecontrollo con feedback aptico
0 5 10 15 20 25 30 35 40
Time [s]
-500
-400
-300
-200
-100
0
100
200
300
400
500
x
[mm]
(a) Posizione asse x
0 5 10 15 20 25 30 35 40
Time [s]
-300
-200
-100
0
100
200
300
y
[mm]
(b) Posizione asse y
0 5 10 15 20 25 30 35 40
Time [s]
-600
-400
-200
0
200
400
600
x
p
[mm/s]
(c) Velocità asse x
0 5 10 15 20 25 30 35 40
Time [s]
-600
-400
-200
0
200
400
600
y
p
[mm/s]
(d) Velocità asse y
Fig. 5.20: Posizione e velocità lineari correnti dei due assi del sistema cartesiano a 2 g.d.l.
439
Telecontrollo di un sistema cartesiano mediante feedback cinestetico
0 5 10 15 20 25 30 35 40
Time [s]
-40
-30
-20
-10
0
10
20
30
40
F
op
[N]
(a) Forza operatore
0 5 10 15 20 25 30 35 40
Time [s]
-40
-30
-20
-10
0
10
20
30
40
F
amb
[N]
(b) Forza ambiente
Fig. 5.21: Forza applicata dall’operatore sul manipolo e forza generata dall’ambiente
virtuale
0 5 10 15 20 25 30 35 40
Time [s]
-8
-6
-4
-2
0
2
4
6
err
F
[N]
Fig. 5.22: Errore in forza durante la riproduzione di una molla ideale di rigidezza K = 60
N
m , mediante telecontrollo aptico
440
Telecontrollo con feedback aptico
Si può calcolare la risposta dell’ambiente ideale preso in considerazione dividendo
la forza operatore per la sua rigidezza K. Il risultato che si ottiene è in termini di
ascissa curvilinea s. Pertanto, utilizzando le equazioni che caratterizzano la traiet-
toria considerata, si possono ottenere le risposte dell’ambiente ideale in termini di
coordinate x e y del sistema cartesiano. Svolgendo, poi, la differenza tra queste
ultime e gli spostamenti effettivi dei due assi del sistema cartesiano, si ricavano gli
errori commessi in posizione lungo l’asse x e lungo l’asse y. In particolare, il loro
andamento, in funzione del tempo, è riportato in Fig.5.23. Si può notare che gli
errori massimi commessi sono pari a 73.78 mm, lungo l’asse x, e 71.41 mm lungo
l’asse y. Di conseguenza, si può concludere che gli errori percentuali massimi in
posizione commessi sono pari a:
• 17.64 %, lungo l’asse x;
• 17.41 %, lungo l’asse y.
In Fig.5.24 si riporta:
• a sinistra, la reale traiettoria descritta dall’end - effector del sistema carte-
siano, la quale si può notare che coincide, effettivamente, con la traiettoria
progettata;
• a destra, la forza applicata dall’operatore sul manipolo dell’interfaccia aptica
in funzione dell’ascissa curvilinea s, che rappresenta l’effettivo spostamento
del terminale del sistema cartesiano lungo la traiettoria considerata. Si può
notare che tale diagramma approssima molto bene la curva caratteristica del-
l’ambiente virtuale impiegato, ovvero una retta passante per l’origine degli assi
con pendenza K=60 N
m
.
441
Telecontrollo di un sistema cartesiano mediante feedback cinestetico
0 5 10 15 20 25 30 35 40
Time [s]
-80
-60
-40
-20
0
20
40
60
80
Err
x
[mm]
(a) Errore lungo x
0 5 10 15 20 25 30 35 40
Time [s]
-80
-60
-40
-20
0
20
40
60
80
Err
y
[mm]
(b) Errore lungo y
Fig. 5.23: Errori in posizione commessi lungo i due assi del sistema cartesiano
-0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4
x [m]
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
y
[m]
(a) Traiettoria
-0.6 -0.4 -0.2 0 0.2 0.4 0.6
s [m]
-40
-30
-20
-10
0
10
20
30
40
F
[N]
Reale
Ideale
(b) Curva Fop - s
Fig. 5.24: Traiettoria descritta dall’end - effector del sistema cartesiano e curva forza
operatore - spostamento effettivo s
442
Telecontrollo con feedback aptico
5.4.2 Ambiente elastico in impedenza
Si consideri ancora il medesimo ambiente virtuale descritto in precedenza, ovvero una
molla ideale di rigidezza K = 60 N
m
. Tuttavia, si assuma, ora, di controllare in forza il
sistema ad 1 g.d.l. mediante una strategia di controllo in impedenza in anello chiuso.
In questo modo, si riesce a valutare anche in un’applicazione di telecontrollo con
feedback aptico entrambe le due strategie di controllo in forza descritte in dettaglio
nel capitolo 2. Inoltre, si è scelto una circonferenza con centro nell’origine delle
coordinate assolute x e y e raggio R = 220 mm, come traiettoria del terminale del
sistema cartesiano lungo cui mappare lo spostamento del manipolo dell’interfaccia
aptica. Per valutare le prestazioni del sistema di telecontrollo con feedback aptico,
si è svolto delle prove analoghe a quelle descritte in precedenza. In Fig.5.25 è
riportato l’andamento, in funzione del tempo, della posizione e della velocità lineare
del manipolo dell’interfaccia aptica, durante una delle suddette prove. In Fig.5.26
sono, invece, rappresentati gli andamenti, in funzione del tempo, delle posizioni e
delle velocità lineari di entrambi gli assi del sistema cartesiano.
0 5 10 15 20 25 30 35 40
Time [s]
-500
-400
-300
-200
-100
0
100
200
300
400
500
x
[mm]
(a) Posizione
0 5 10 15 20 25 30 35 40
Time [s]
-500
-400
-300
-200
-100
0
100
200
300
400
x
p
[mm/s]
(b) Velocità
Fig. 5.25: Posizione e velocità lineari effettive del manipolo dell’interfaccia aptica
443
Telecontrollo di un sistema cartesiano mediante feedback cinestetico
0 5 10 15 20 25 30 35 40
Time [s]
-250
-200
-150
-100
-50
0
50
100
150
200
250
x
[mm]
(a) Posizione asse x
0 5 10 15 20 25 30 35 40
Time [s]
-150
-100
-50
0
50
100
150
y
[mm]
(b) Posizione asse y
0 5 10 15 20 25 30 35 40
Time [s]
-800
-600
-400
-200
0
200
400
600
800
x
p
[mm/s]
(c) Velocità asse x
0 5 10 15 20 25 30 35 40
Time [s]
-800
-600
-400
-200
0
200
400
600
y
p
[mm/s]
(d) Velocità asse y
Fig. 5.26: Posizione e velocità lineari correnti dei due assi del sistema cartesiano a 2 g.d.l.
444
Telecontrollo con feedback aptico
0 5 10 15 20 25 30 35 40
Time [s]
-40
-30
-20
-10
0
10
20
30
40
F
op
[N]
(a) Forza operatore
0 5 10 15 20 25 30 35 40
Time [s]
-40
-30
-20
-10
0
10
20
30
40
F
amb
[N]
(b) Forza ambiente
Fig. 5.27: Forza applicata dall’operatore sul manipolo e forza generata dall’ambiente
virtuale
In Fig.5.27 sono rappresentati gli andamenti, in funzione del tempo, della forza
applicata dall’operatore e della forza generata dall’ambiente virtuale. Inoltre, sot-
traendo la seconda alla prima si è calcolato l’errore in forza commesso durante lo
svolgimento della prova considerata. L’andamento di quest’ultimo, in funzione del
tempo, è riportato in Fig.5.28, dove si può osservare che il massimo errore in forza
compiuto è pari a 3.81 N. La forza operatore massima è pari a 36.51 N. Pertanto, si
può concludere che l’errore percentuale massimo in forza commesso è pari al 10.44
% della massima forza applicata dall’operatore sul manipolo dell’interfaccia aptica.
Si può calcolare la risposta dell’ambiente ideale preso in considerazione, in termini
di ascissa curvilinea s, dividendo la forza operatore per la sua rigidezza K e da que-
sta, utilizzando le equazioni che caratterizzano la traiettoria considerata, si possono
calcolare le risposte dell’ambiente ideale in termini di coordinate x e y del sistema
cartesiano. Svolgendo, poi, la differenza tra queste ultime e gli spostamenti effettivi
dei due assi del sistema cartesiano, si ottengono gli errori commessi in posizione
lungo l’asse x e lungo l’asse y. In particolare, il loro andamento, in funzione del
tempo, è riportato in Fig.5.29.
445
Telecontrollo di un sistema cartesiano mediante feedback cinestetico
0 5 10 15 20 25 30 35 40
Time [s]
-4
-3
-2
-1
0
1
2
3
4
err
F
[N]
Fig. 5.28: Errore in forza durante la riproduzione di una molla ideale di rigidezza K = 60
N
m , mediante telecontrollo aptico
0 5 10 15 20 25 30 35 40
Time [s]
-60
-40
-20
0
20
40
60
Err
x
[mm]
(a) Errore lungo x
0 5 10 15 20 25 30 35 40
Time [s]
-30
-20
-10
0
10
20
30
40
50
60
Err
y
[mm]
(b) Errore lungo y
Fig. 5.29: Errori in posizione commessi lungo i due assi del sistema cartesiano
446
Telecontrollo con feedback aptico
Si può notare che gli errori massimi commessi sono pari a 54.17 mm, lungo l’asse x, e
56.18 mm lungo l’asse y. Di conseguenza, si può concludere che gli errori percentuali
massimi in posizione commessi sono pari a:
• 24.84 %, lungo l’asse x;
• 25.60 %, lungo l’asse y.
In Fig.5.30 si riporta:
• a sinistra, la reale traiettoria descritta dall’end - effector del sistema carte-
siano, la quale si può notare che coincide, effettivamente, con la traiettoria
circolare progettata.
• a destra, la forza applicata dall’operatore sul manipolo dell’interfaccia aptica
in funzione dell’ascissa curvilinea s, che rappresenta l’effettivo spostamento del
terminale del sistema cartesiano lungo la traiettoria considerata. Si può notare
che, anche in questo secondo caso, l’ultimo diagramma citato approssima bene
la curva caratteristica dell’ambiente virtuale considerato, ovvero una retta
passante per l’origine degli assi con pendenza K=60 N
m
.
-0.3 -0.2 -0.1 0 0.1 0.2 0.3
x [m]
-0.3
-0.2
-0.1
0
0.1
0.2
y
[m]
(a) Traiettoria
-0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8
s [m]
-40
-30
-20
-10
0
10
20
30
40
F
[N]
Reale
Ideale
(b) Curva Fop - s
Fig. 5.30: Traiettoria descritta dall’end - effector del sistema cartesiano e curva forza
operatore - spostamento effettivo s
447
Conclusioni
Nella presente attività di tesi è stata affrontata la tematica del telecontrollo di un
sistema cartesiano a due gradi di libertà mediante un’interfaccia aptica, metten-
do in chiara evidenza i risultati sperimentali ottenuti in ogni situazione analizzata.
L’elaborato, coinvolgendo due differenti sistemi meccanici, è stato suddiviso in tre
parti distinte: interfaccia aptica a 1 g.d.l., sistema cartesiano a 2 g.d.l. e telecon-
trollo del secondo tramite la prima. Dopo aver modellizzato matematicamente e
studiato il comportamento del sistema aptico in simulazione, ci si focalizza sul suo
controllo, sia in posizione che in forza. Riguardo il secondo, è un aspetto decisa-
mente rilevante nel presente elaborato, in quanto essenziale per l’implementazione
di un efficace telecontrollo con feedback aptico. A tal scopo sono state indagate le
principali architetture di controllo in forza: in ammettenza ed in impedenza. La
principale differenza tra le due strategie è che, in ammettenza, sono presenti due
anelli di retroazione, quello interno di posizione e quello esterno di forza, mentre in
impedenza solo il secondo. Per testare l’efficacia dei sistemi di controllo progettati,
sono stati riprodotti sul banco di prova alcuni ambienti virtuali, quale quello ela-
stico, visco-elastico e completo, il cui comportamento fosse facilmente analizzabile
preventivamente in simulazione. Esaminando i risultati ottenuti sul sistema apti-
co e confrontandoli con quelli ricavati in simulazione, è stato possibile trarre delle
conclusioni sulle performance del sistema di controllo sintetizzato: il controllo in
impedenza, rispetto a quello in ammettenza, si è rilevato migliore per simulare gli
ambienti citati. In seguito a tale analisi e scelta l’architettura di controllo migliore
per il banco a disposizione, è stata utilizzata per simulare altri ambienti, il cui com-
portamento fosse più facilmente intuibile da un utente poco avvezzo ai dispositivi
aptici: inerziale, triangolare, sinusoidale, dente di sega e scatola. Un’ importante
449
Conclusioni
considerazione è emersa riproducendo l’ambiente scatola e dente di sega in quanto,
vedendo in essi la presenza di muri virtuali, ci si accorge di come con il controllo in
impedenza non sia possibile realizzare tali situazioni. Il motivo risiede nell’assenza
dell’anello di posizione interno, presente invece nel controllo in ammettenza, che
consente al sistema di virtualizzare la presenza di un muro in una posizione sempre
fissa. Il movimento del manipolo del sistema aptico lungo la guida lineare è soggetto
alle azioni d’attrito, pertanto è stato svolto uno studio e implementato un modello
tra quelli disponibili in letteratura. Lo sviluppo di quest’ultimo si è reso essenziale
per il progetto del compensatore statico dell’attrito: tale strumento si è rivelato effi-
cace solo nel controllo in impedenza, mitigando le azioni resistenti e riproducendo in
maniera più efficiente ambienti, quale quello trasparenza, in cui l’operatore deve in-
trodurre nel sistema la minima forza possibile. Nel controllo in ammettenza invece,
la presenza dell’anello interno di posizione, compensa già la dinamica naturale del
sistema, che comprende, pertanto, le azioni resistenti. Per ciò che concerne il robot
cartesiano invece, è stata effettuata, come per l’interfaccia aptica, una prima fase
di modellizzazione e studio del sistema, per poi focalizzare l’attenzione sul controllo
in posizione. Quest’ultimo è fondamentale, per una macchina di questo tipo, per
posizionare l’end-effector nello spazio di lavoro e farlo muovere secondo una traiet-
toria prestabilita; a tal scopo sono state implementate una serie di percorsi quale
quello circolare, lineare, a spirale di Archimede e a farfalla. Compreso quest’ulti-
mo sistema meccanico, è stato realizzato il vero e proprio telecontrollo del sistema
a due gradi di libertà. L’obiettivo è quello di far percepire all’utente che adopera
l’interfaccia un feedback aptico in base all’interazione della macchina a 2 g.d.l con
l’ambiente: non essendo però presente, sul dispositivo slave, un sensore di forza, vie-
ne virtualizzato il contatto tra slave e ambiente reale. Per conseguire tale obiettivo,
è stato necessario condurre uno studio sui protocolli impiegabili, UDP e TCP, per
la trasmissione dei dati, da un sistema all’altro. In merito a tale attività, è stato
adottato il protocollo TCP e si è evidenziato come i ritardi nella trasmissione dei
dati non siano tali, virtualizzando un ambiente molla, da compromettere la stabilità
del dispositivo, sia impiegando un controllo in ammettenza che in impedenza. Una
volta sviluppato, anche, il canale di comunicazione, si è implementata la vera e pro-
450
Conclusioni
pria attività di telecontrollo del sistema cartesiano mediante il sistema ad 1 g.d.l., a
disposizione. Dapprima, è stata svolta un’operazione di telecontrollo cinematico, in
cui, movimentando il manipolo del sistema ad 1 g.d.l., è stato possibile far muovere
lungo una certa traiettoria prestabilita l’end - effector del sistema cartesiano. Dai
risultati riportati nel paragrafo 5.3, si può osservare che, durante l’applicazione di
telecontrollo cinematico, il terminale del sistema a 2 g.d.l. ha percorso in modo
molto preciso la specifica traiettoria considerata. Una volta realizzato questo primo
step intermedio, si è conclusa l’attività di tesi realizzando l’applicazione di telecon-
trollo con feedback aptico, in cui l’utente, afferrando e movimentando il manipolo
dell’interfaccia aptica, riesce non solo a spostare l’end - effector del sistema a 2
g.d.l. lungo una certa traiettoria bidimensionale, ma è in grado, inoltre, di percepire
una forza di reazione, generata da un ambiente virtuale prestabilito e strettamente
legata al movimento del terminale del sistema cartesiano. Nei sotto - paragrafi 5.4.1
e 5.4.2, sono riportate le analisi sperimentali ottenute, nell’attività di telecontrollo
con feedback aptico, considerando un ambiente elastico come ambiente virtuale. Tali
risultati, ricavati sia con controllo in ammettenza che in impedenza in anello chiuso
applicato all’interfaccia aptica, sono più che accettabili e coerenti con quelli ottenuti
trattando il tema del solo controllo in forza sul sistema ad 1 g.d.l.. Pertanto, si può
concludere che l’operazione di telecontrollo con feedback aptico è stata svolta con
successo, almeno per quanto concerne gli ambienti virtuali implementati.
Infine, per quanto riguarda gli sviluppi futuri dell’applicazione di telecontrollo im-
plementata, un primo miglioramento che si può realizzare è l’equipaggiamento dello
slave con un sensore in forza, che misura il contatto di tale dispositivo con l’am-
biente circostante. In questo modo, non si deve più virtualizzare tale interazione
sviluppando un ambiente virtuale a livello dell’applicativo che gestisce il dispositivo
slave e, pertanto, l’attività di telecontrollo risulta essere completa. Infatti, in tale
condizione, l’operatore percepisce, a livello del manipolo dell’interfaccia aptica, l’ef-
fettiva forza di interazione tra l’end - effector del dispositivo remoto e l’ambiente ad
esso circostante. Un altro possibile sviluppo futuro è l’impiego di una comunicazione
wireless per scambiare i dati tra il dispositivo master e lo slave. Tendenzialmente, i
sistemi di comunicazione wireless sono meno affidabili di quelli via cavo, in quanto
451
Conclusioni
comportano una maggiore perdita di dati. Tuttavia, l’impiego di una comunicazio-
ne wireless è estremamente utile in tutte quelle applicazioni in cui lo slave non è
localizzato in una posizione fissa, ma si deve muovere nell’ambiente circostante. In
tale scenario è evidente che l’impiego di cavi per la trasmissione delle informazioni
tra i due dispositivi limita notevolmente il movimento del dispositivo remoto. Si
pensi, per esempio, al telecontrollo di un robot mobile per il disinnesco di bombe in
ambito militare. Non è pensabile di comunicare con tale dispositivo impiegando un
cavo e, di conseguenza, lo sviluppo di un canale di comunicazione wireless è neces-
sario, anche se meno performante. Un terzo possibile sviluppo futuro è l’estensione,
dell’attività di telecontrollo svolta, a sistemi meccatronici con un maggior numero
di gradi di libertà. Ciò è possibile in quanto si è riscontrato che le latenze presenti
nella comunicazione tra i due dispositivi sono estremamente basse. Tale fenomeno
è legato, innanzitutto, alla sotto saturazione del canale di comunicazione, poiché
la quantità di dati trasmessi è molto limitata, dato che i due sistemi meccatronici
gestiti presentano entrambi un basso numero di gradi di libertà. Inoltre, i due di-
spositivi sono estremamente vicini l’uno all’altro, aspetto che riduce notevolmente i
ritardi nella comunicazione e favorisce, quinid, la realizzazione dell’applicazione di
telecontrollo.
452
Bibliografia
[1] Ghani A. et al. “A Review of Communication Protocols for Intelligent Remote
Terminal Unit Development”. In: TELKOMNIKA (2013).
[2] Keemink A., Van der Kooij H. e HA Stienen A. “Admittance control for
physicalhuman–robot interaction”. In: The International Journal of Robotics
Research (2018).
[3] Giordano P. R. Abi-Farraj F. Pedemonte N. A visual-based shared control
architecture for remote telemanipulation. Intelligent Robots e Systems (IROS),
2016.
[4] R Bucher. Introduzione a Stateflow. Scuola universitaria professionale della
Svizzera italiana, 2013.
[5] Pacchierotti C., Prattichizzo D. e Kuchenbecker K. “Cutaneous Feedback of
Fingertip Deformationand Vibration for Palpation in Robotic Surgery”. In:
IEEE TRANSACTIONS ON BIOMEDICAL ENGINEERING (2015).
[6] Pacchierotti C. et al. “Cutaneous haptic feedback to ensure the stability
of robotic teleoperation systems”. In: The International Journal of Robotics
Research (2015).
[7] R.C. Goertz. “Fundamentals of general purpose remote manipulators”. In:
Nucleonics (U.S.) Ceased publication 11 (1952).
[8] R.C. Goertz. “Mechanical master-slave manipulator”. In: Nucleonics (U.S.)
Ceased publication 4311 (1954).
[9] Hunt R. Harris B. “TCP/IP security threats and attack methods”. In: Com-
puter Communications (1999).
[10] Hannaford B. Hwang D. “Teleoperation Performance with a Kinematical-
ly Redundant Slave Robot”. In: International Journal of Robotics Research
(1997).
[11] Bishop S. et al. Techical report. University of Cambridge, 2005.
B Bibliografia
[12] Sumit Kumar Sen. Fieldbus and Networking in Process Automation. CRC
Press, 2014.
[13] Kapoor A. Xia T. “A constrained optimization approach to virtual fixtures
for multirobot collaborative teleoperation”. In: IROS’11 - 2011 IEEE/RSJ
International Conference on Intelligent Robots and Systems. A cura di IEEE
International Conference on Intelligent Robots e Systems. IEEE International
Conference on Intelligent Robots e Systems, 2011.
Sitografia
[14] User Datagram Protocol (UDP). 2021. url: https://www.techtarget.com/
searchnetworking/definition/UDP-User-Datagram-Protocol.
[15] What Is User Datagram Protocol (UDP)? 2022. url: https://www.spiceworks.
com/tech/networking/articles/user-datagram-protocol-udp.

Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica: analisi teorica e sperimentale.

  • 1.
    Un ringraziamento specialeai miei genitori, per avermi supportato e sopportato in questo lungo percorso accademico. Un ringraziamento a Valentina, per la pazienza e il sostegno. Un sincero ringraziamento a Filippo, per averci guidato nello svolgimento dell’attività di tesi. Ultimo, ma non per importanza, un ringraziamento ad Alberto che ha reso meno stressante e più piacevole quest’ultimo anno universitario.
  • 3.
    Abstract In epoca modernaesistono ancora tantissime attività complicate che anche i sistemi autonomi più evoluti ed innovativi non sono in grado di svolgere, in quanto richie- dono un’elevata capacità decisionale che è propria solo dell’uomo. Per tale ragione, si stanno sviluppando molti sistemi cosiddetti telecontrollati che combinano tale prerogativa dell’essere umano con le performance e l’elevata precisione dei sistemi robotici. L’obiettivo della presente tesi è quello di sviluppare un’applicazione di te- lecontrollo con feedback cinestetico tra due sistemi meccatronici, in cui un operatore, spostando il terminale del dispositivo master, riesce a movimentare, da remoto, l’end - effector del dispositivo denominato slave. Nello svolgere tale operazione, l’utente riceve un ritorno in forza dato dall’interazione tra quest’ultimo dispositivo e l’am- biente ad esso circostante e, sulla base di tale feedback, decide come reagire quindi, come muovere il dispositivo remoto. Per svolgere tale attività è necessario sviluppare un sistema di controllo in posizione sufficientemente performante per controllare il movimento del dispositivo slave. Al contempo, si deve rendere il master un’interfac- cia aptica, ovvero un dispositivo meccatronico in grado di restituire all’utilizzatore, con cui interagisce, un feedback cinestetico. Per fare ciò, è necessario sviluppare un robusto sistema di controllo in forza. Pertanto, una cospicua parte della presente tesi si pone lo scopo di descrivere e analizzare le prestazioni di alcune possibili strategie di controllo in forza che possono essere impiegate su un’interfaccia aptica. Inoltre, in un’attività di telecontrollo, il master e lo slave devono scambiare tra loro una serie di dati. Di conseguenza, un aspetto fondamentale per realizzare con successo il lavoro è lo sviluppo di un canale di comunicazione tra i due sistemi meccatronici sufficientemente performante, in termini di latenze e affidabilità. I
  • 5.
    Indice Abstract I Introduzione 1 IInterfaccia aptica a un grado di libertà 11 1 Descrizione ed analisi del sistema aptico a 1 G.D.L 13 1.1 Struttura del banco di prova . . . . . . . . . . . . . . . . . . . . . . . 14 1.2 Modellazione dinamica del sistema . . . . . . . . . . . . . . . . . . . 23 1.2.1 Modello rigido . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.2.2 Modello cedevole . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.3 Analisi modale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 1.3.1 Determinazione della matrice smorzamento . . . . . . . . . . . 35 1.4 Calibrazione della cella di carico . . . . . . . . . . . . . . . . . . . . . 40 1.5 Modellazione dell’attrito . . . . . . . . . . . . . . . . . . . . . . . . . 43 1.5.1 Modelli statici d’attrito . . . . . . . . . . . . . . . . . . . . . . 44 1.5.2 Modello d’attrito implementato . . . . . . . . . . . . . . . . . 47 1.6 Controllo di posizione . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 1.6.1 Posizionamento poli . . . . . . . . . . . . . . . . . . . . . . . 52 1.6.2 Controllo in cascata . . . . . . . . . . . . . . . . . . . . . . . . 66 1.6.3 Confronto posizionamento poli - controllo in cascata . . . . . . 81 1.6.4 Confronto simulazione - sistema reale . . . . . . . . . . . . . . 84 1.7 Homing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 III
  • 6.
    INDICE INDICE 2 Controlloin forza 93 2.1 Introduzione al controllo in forza . . . . . . . . . . . . . . . . . . . . 93 2.1.1 Controllo in ammettenza . . . . . . . . . . . . . . . . . . . . . 94 2.1.2 Controllo in impedenza in anello aperto . . . . . . . . . . . . . 96 2.1.3 Controllo in impedenza in anello chiuso . . . . . . . . . . . . . 99 2.2 Progettazione del sistema di controllo aptico in ammettenza . . . . . 101 2.2.1 Ambiente molla . . . . . . . . . . . . . . . . . . . . . . . . . . 101 2.2.2 Ambiente visco-elastico . . . . . . . . . . . . . . . . . . . . . . 125 2.2.3 Ambiente completo . . . . . . . . . . . . . . . . . . . . . . . . 166 2.3 Progettazione del sistema di controllo aptico in impedenza in anello chiuso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 2.3.1 Ambiente elastico . . . . . . . . . . . . . . . . . . . . . . . . . 189 2.3.2 Ambiente visco - elastico . . . . . . . . . . . . . . . . . . . . . 215 2.3.3 Ambiente completo . . . . . . . . . . . . . . . . . . . . . . . . 238 2.4 Confronto fra i sistemi di controllo aptici progettati . . . . . . . . . . 265 2.4.1 Ambiente elastico . . . . . . . . . . . . . . . . . . . . . . . . . 265 2.4.2 Ambiente visco - elastico . . . . . . . . . . . . . . . . . . . . . 266 2.4.3 Ambiente completo . . . . . . . . . . . . . . . . . . . . . . . . 268 2.4.4 Sintesi del compensatore d’attrito . . . . . . . . . . . . . . . . 271 2.4.5 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 2.5 Ambienti virtuali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 2.5.1 Ambiente inerziale . . . . . . . . . . . . . . . . . . . . . . . . 283 2.5.2 Ambiente muro . . . . . . . . . . . . . . . . . . . . . . . . . . 286 2.5.3 Ambiente triangolare . . . . . . . . . . . . . . . . . . . . . . . 289 2.5.4 Ambiente sinusoidale . . . . . . . . . . . . . . . . . . . . . . . 291 2.5.5 Ambiente a dente di sega . . . . . . . . . . . . . . . . . . . . . 292 II Sistema cartesiano a due gradi di libertà 295 3 Sistema cartesiano a 2 gradi di libertà 297 3.1 Struttura del banco di prova . . . . . . . . . . . . . . . . . . . . . . . 297 IV
  • 7.
    INDICE INDICE 3.1.1 AsseX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 3.1.2 Asse Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 3.2 Modellazione dinamica del sistema . . . . . . . . . . . . . . . . . . . 304 3.2.1 Asse X-Modello rigido . . . . . . . . . . . . . . . . . . . . . . 304 3.2.2 Asse X-Modello cedevole . . . . . . . . . . . . . . . . . . . . . 306 3.2.3 Analisi modale asse X . . . . . . . . . . . . . . . . . . . . . . 312 3.2.4 Asse Y-Modello rigido . . . . . . . . . . . . . . . . . . . . . . 317 3.2.5 Asse Y-Modello cedevole . . . . . . . . . . . . . . . . . . . . . 320 3.2.6 Analisi modale asse Y . . . . . . . . . . . . . . . . . . . . . . 326 3.3 Controllo di posizione . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 3.3.1 Posizionamento poli - Asse X . . . . . . . . . . . . . . . . . . 332 3.3.2 Posizionamento Poli - Asse Y . . . . . . . . . . . . . . . . . . 340 3.4 Homing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 3.5 Generazione di traiettorie . . . . . . . . . . . . . . . . . . . . . . . . 350 3.5.1 Traiettoria lineare . . . . . . . . . . . . . . . . . . . . . . . . . 356 3.5.2 Traiettoria circolare . . . . . . . . . . . . . . . . . . . . . . . . 364 3.5.3 Spirale di Archimede . . . . . . . . . . . . . . . . . . . . . . . 371 3.5.4 Traiettoria a farfalla . . . . . . . . . . . . . . . . . . . . . . . 377 III Telecontrollo con feedback cinestetico 383 4 Sistema di comunicazione fra due PC target 385 4.1 Protocolli TCP ed UDP . . . . . . . . . . . . . . . . . . . . . . . . . 386 4.2 Procedure di configurazione del canale di comunicazione . . . . . . . 392 4.2.1 Protocollo UDP . . . . . . . . . . . . . . . . . . . . . . . . . . 394 4.2.2 Protocollo TCP . . . . . . . . . . . . . . . . . . . . . . . . . . 399 4.3 Analisi delle latenze . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402 5 Telecontrollo di un sistema cartesiano mediante feedback cineste- tico 405 5.1 Analisi dell’effetto di un ritardo sul controllo in forza . . . . . . . . . 405 5.2 Macchina a stati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 V
  • 8.
    INDICE INDICE 5.3 Telecontrollocinematico . . . . . . . . . . . . . . . . . . . . . . . . . 422 5.3.1 Traiettoria Lineare . . . . . . . . . . . . . . . . . . . . . . . . 424 5.3.2 Traiettoria circolare . . . . . . . . . . . . . . . . . . . . . . . . 428 5.3.3 Traiettoria a Spirale d’Archimede . . . . . . . . . . . . . . . . 432 5.4 Telecontrollo con feedback aptico . . . . . . . . . . . . . . . . . . . . 436 5.4.1 Ambiente elastico in ammettenza . . . . . . . . . . . . . . . . 437 5.4.2 Ambiente elastico in impedenza . . . . . . . . . . . . . . . . . 443 Conclusioni 449 Bibliografia A VI
  • 9.
    Elenco delle figure 1.1Banco a disposizione:interfaccia aptica a un grado di libertà . . . . . 14 1.2 Interfaccia a morsettiera della basetta TBX68 . . . . . . . . . . . . . 22 1.3 Modello rigido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 1.4 Rappresentazione del modello rigido in Simulink . . . . . . . . . . . . 25 1.5 Modello cedevole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 1.6 Gradi di libertà θp e θg . . . . . . . . . . . . . . . . . . . . . . . . . . 27 1.7 Grado di libertà θr . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 1.8 Grado di libertà θm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 1.9 Andamento dei valori delle rigidezze kc1 e kc2 in funzione della posi- zione assunta dal carrello lungo la guida lineare . . . . . . . . . . . . 29 1.10 Modello cedevole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 1.11 Modello cedevole compatto . . . . . . . . . . . . . . . . . . . . . . . . 31 1.12 Pulsazioni naturali variabili con la posizione del carrello . . . . . . . . 32 1.13 Pulsazioni naturali variabili e modi di vibrare con carrello a metà corsa 33 1.14 Oscillazioni libere del sistema non smorzato, non forzato, condizioni iniziali pari al secondo modo di vibrare . . . . . . . . . . . . . . . . . 34 1.15 Oscillazioni smorzate del sistema non forzato, condizioni iniziali pari al secondo modo di vibrare . . . . . . . . . . . . . . . . . . . . . . . . 37 1.16 Risposta nel tempo del sistema, forzante Q costante, smorzamento C non nullo, K costante . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 VII
  • 10.
    ELENCO DELLE FIGUREELENCO DELLE FIGURE 1.17 Andamento nel tempo della rotazione del motore, confrontando le risposte forzate, del modello cedevole non smorzato e del rigido, uti- lizzando come ingresso una sinusoide con ampiezza di 20 Nm e pul- sazione pari a 252.79 rad s . . . . . . . . . . . . . . . . . . . . . . . . . 38 1.18 Andamento nel tempo della rotazione del motore, confrontando le risposte forzate, del modello cedevole non smorzato e del rigido, uti- lizzando come ingresso una sinusoide con ampiezza di 20 Nm e pul- sazione pari a quella del secondo modo di vibrare . . . . . . . . . . . 39 1.19 Andamento nel tempo della rotazione del motore, confrontando le ri- sposte forzate, del modello cedevole smorzato e del rigido, utilizzando come ingresso una sinusoide con ampiezza di 20 Nm e pulsazione pari a quella del secondo modo di vibrare . . . . . . . . . . . . . . . . . . 39 1.20 Forza applicata in ordinata, tensione erogata dal sensore in ascissa . . 41 1.21 Modelli d’attrito classici . . . . . . . . . . . . . . . . . . . . . . . . . 45 1.22 Modelli d’attrito con effetto Stribeck . . . . . . . . . . . . . . . . . . 46 1.23 Modelli d’attrito di Karnop . . . . . . . . . . . . . . . . . . . . . . . 47 1.24 Segnali di posizione, velocità e accelerazione acquisiti . . . . . . . . . 48 1.25 Forza d’attrito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 1.26 Modello d’attrito implementato . . . . . . . . . . . . . . . . . . . . . 50 1.27 Schema a blocchi del sistema in esame, controllato in anello chiuso mediante il metodo del “posizionamento poli”. . . . . . . . . . . . . . 56 1.28 Schema Simulink del sistema di controllo, basato sul metodo del po- sizionamento poli, applicato al modello rigido e al modello cedevole del sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 1.29 Profilo di moto in posizione . . . . . . . . . . . . . . . . . . . . . . . 60 1.30 Profilo di moto in velocità . . . . . . . . . . . . . . . . . . . . . . . . 60 1.31 Andamento, nel tempo, della posizione del carico, controllato in po- sizione mediante il metodo del posizionamento poli . . . . . . . . . . 61 1.32 Andamento, nel tempo, della velocità del carico, controllato in posi- zione mediante il metodo del posizionamento poli . . . . . . . . . . . 62 VIII
  • 11.
    ELENCO DELLE FIGUREELENCO DELLE FIGURE 1.33 Analisi nel dettaglio dell’andamento, nel tempo, della posizione del carico, controllato in posizione mediante il metodo del posizionamento poli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 1.34 Analisi nel dettaglio dell’andamento, nel tempo, della velocità del carico, controllato in posizione mediante il metodo del posizionamento poli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 1.35 Diagramma di Bode, del modulo e della fase, della funzione di trasfe- rimento Gpos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 1.36 Diagramma di Bode, del modulo e della fase, della funzione di trasfe- rimento Gvel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 1.37 Schema a blocchi del modello elettro-meccanico di un DC motor . . . 69 1.38 Schema a blocchi dell’anello di controllo in corrente . . . . . . . . . . 69 1.39 Schema a blocchi dell’anello di controllo in velocità . . . . . . . . . . 69 1.40 Schema a blocchi dell’anello di controllo in posizione . . . . . . . . . 70 1.41 Schema a blocchi del sistema di controllo in cascata complessivo . . . 70 1.42 Diagramma di Bode, di modulo e fase, della funzione di trasferimento, in anello chiuso, Hv(s) dell’anello in velocità . . . . . . . . . . . . . . 73 1.43 Diagramma di Bode, di modulo e fase, della funzione di trasferimento, in anello chiuso, Hp(s) dell’anello in posizione . . . . . . . . . . . . . 75 1.44 Schema a blocchi dell’anello in posizione, con velocity feedforward . . 76 1.45 Diagramma di Bode del modulo della funzione di trasferimento in anello chiuso, dell’anello in posizione, con e senza velocity feedforward 77 1.46 Schema Simulink del controllo in cascata, senza velocity feedforward, applicato al modello rigido e al modello cedevole del sistema . . . . . 77 1.47 Schema Simulink del controllo in cascata, con velocity feedforward, applicato al modello rigido e al modello cedevole del sistema . . . . . 78 1.48 Andamento, in funzione del tempo, della risposta in posizione del sistema di controllo in cascata sintetizzato, applicato sia al modello rigido sia al modello cedevole, senza e con velocity feedforward . . . . 79 IX
  • 12.
    ELENCO DELLE FIGUREELENCO DELLE FIGURE 1.49 Andamento, in funzione del tempo, della risposta in velocità del siste- ma di controllo in cascata sintetizzato, applicato sia al modello rigido sia al modello cedevole, senza e con velocity feedforward . . . . . . . . 79 1.50 Analisi nel dettaglio della risposta in posizione del sistema di controllo in cascata sintetizzato, senza velocity feedforward . . . . . . . . . . . 80 1.51 Analisi nel dettaglio della risposta in posizione del sistema di controllo in cascata sintetizzato, con velocity feedforward . . . . . . . . . . . . 81 1.52 Andamento, in funzione del tempo, della risposta in posizione dei due sistemi di controllo progettati . . . . . . . . . . . . . . . . . . . . . . 82 1.53 Andamento, in funzione del tempo, della risposta in velocità dei due sistemi di controllo progettati . . . . . . . . . . . . . . . . . . . . . . 83 1.54 Analisi nel dettaglio della risposta in posizione dei due sistemi di controllo progettati . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 1.55 Analisi nel dettaglio della risposta in velocità dei due sistemi di con- trollo progettati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 1.56 Modello Simulink del sistema di controllo in posizione progettato, con blocchi Quantizer e Rate Transition . . . . . . . . . . . . . . . . . . . 85 1.57 Profilo di moto in posizione e in velocità, applicato in ingresso al posizionatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 1.58 Confronto tra risposte in posizione del sistema di controllo in po- sizione, ricavata in simulazione e ottenuta sull’interfaccia aptica a disposizione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 1.59 Confronto tra risposte in velocità del sistema di controllo in posizione, ricavata in simulazione e ottenuta sull’interfaccia aptica a disposizione. 87 1.60 Risposte in posizione e velocità del sistema di controllo in posizione, valutate più nel dettaglio . . . . . . . . . . . . . . . . . . . . . . . . . 88 1.61 Andamento, in funzione del tempo, della posizione lineare del mani- polo dell’interfaccia aptica, durante l’operazione di homing . . . . . . 91 1.62 Andamento, in funzione del tempo, della velocità lineare del manipolo dell’interfaccia aptica, durante l’operazione di homing . . . . . . . . . 91 X
  • 13.
    ELENCO DELLE FIGUREELENCO DELLE FIGURE 2.1 Schema a blocchi del controllo in forza in ammettenza . . . . . . . . . 95 2.2 Schema a blocchi del sistema di controllo in impedenza in anello aperto 97 2.3 Schema a blocchi del sistema di controllo in impedenza in anello chiuso100 2.4 Schema del controllo in forza per l’ambiente molla . . . . . . . . . . 102 2.5 Andamento dei poli di GFF e GFX al variare di Kp - ambiente molla . 103 2.6 Diagrammi di Bode del modulo di GFF e GFX - Ambiente molla utilizzando un regolatore di tipo proporzionale con Km = 60 N m e Kp = 0.01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 2.7 Diagrammi di Bode del modulo di GFF e GFX - Ambiente molla utilizzando un regolatore di tipo proporzionale con Km = 60 N m e Kp = 0.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 2.8 Risposta allo scalino di forza: confronto fra forza operatore e forza generata dall’ambiente (grafico sopra) e andamento nel tempo della posizione del carrello (grafico sotto) . . . . . . . . . . . . . . . . . . 105 2.9 Andamento dei poli di Gff e Gfx al variare di KI - ambiente molla . 106 2.10 Diagramma di Bode del modulo di GFF e GFX utilizzando un puro integratore come regolatore di forza . . . . . . . . . . . . . . . . . . . 109 2.11 Andamento nel tempo di forza operatore e forza ambiente ( grafico sopra) e della coordinata x del carrello (grafico sotto), utilizzando un puro integratore come controllore di forza . . . . . . . . . . . . . . . . 110 2.12 Andamento,in funzione del tempo, della posizione x del manipolo, durante la simulazione del comportamento di una molla ideale di rigidezza Km = 250 N m con controllo in ammettenza . . . . . . . . . . 111 2.13 Andamento, in funzione del tempo, della velocità xp del manipolo, durante la simulazione del comportamento di una molla ideale di rigidezza Km = 250 N m con controllo in ammettenza . . . . . . . . . . 112 2.15 Andamento, in funzione del tempo, della forza generata dall’ambiente virtuale, durante la simulazione di una molla ideale di rigidezza Km = 250 N m con controllo in ammettenza . . . . . . . . . . . . . . . . . . . 112 XI
  • 14.
    ELENCO DELLE FIGUREELENCO DELLE FIGURE 2.14 Andamento, in funzione del tempo, della forza esercitata dall’ope- ratore sul manipolo, durante la simulazione di una molla ideale di rigidezza Km = 250 N m con controllo in ammettenza . . . . . . . . . . 113 2.16 Confronto tra la risposta in posizione simulata in ambiente Simulink e la risposta in posizione ottenuta sul banco di prova del sistema di controllo in ammettenza - Km = 250 N m . . . . . . . . . . . . . . . . . 113 2.17 Confronto tra la risposta in forza simulata in ambiente Simulink e la risposta in forza ottenuta sul banco di prova del sistema di controllo in ammettenza - Km = 250 N m . . . . . . . . . . . . . . . . . . . . . . 114 2.18 Confronto tra la forza applicata dall’operatore sul manipolo e la forza generata dall’ambiente virtuale, durante la simulazione del compor- tamento di una molla di rigidezza Km = 250 N m con controllo in ammettenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 2.19 Andamento, in funzione del tempo, dell’errore in forza, durante la simulazione del comportamento di una molla di rigidezza Km = 250 N m con controllo in ammettenza . . . . . . . . . . . . . . . . . . . . . 115 2.20 Confronto tra le risposte in posizione dell’interfaccia aptica con con- trollo in ammettenza e di una molla ideale di rigidezza Km = 250 N m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 2.21 Andamento, in funzione del tempo, dell’errore in posizione, ottenuto dal confronto fra posizione effettivamente raggiunta sul banco di pro- va con controllo in ammettenza e posizione derivante dall’ambiente ideale rappresentato da una molla con rigidezza Km = 250 N m . . . . . 117 2.22 Andamento della forza applicata dall’operatore sul manipolo in fun- zione della posizione x di quest’ultimo, durante la simulazione del comportamento di una molla di rigidezza Km = 250 N m con controllo in ammettenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 2.23 Andamento nel tempo del segnale di posizione del carrello ottenuto sul banchetto con controllo in ammettenza e sul sistema simulato, applicando in ingresso uno scalino di forza di 20 N ed utilizzando una rigidezza della molla ideale di Km = 250 N m . . . . . . . . . . . . . . . 118 XII
  • 15.
    ELENCO DELLE FIGUREELENCO DELLE FIGURE 2.24 Risultati sperimentali della simulazione di una molla di rigidezza Km = 60 N m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 2.25 Risultati sperimentali: simulazione di una molla di rigidezza Km = 500 N m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 2.26 Risultati sperimentali: simulazione di una molla di rigidezza Km = 1000 N m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 2.27 Risultati sperimentali della simulazione di una molla di rigidezza Km = 0 N m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 2.28 Diagramma di Bode, di modulo e fase, della funzione di trasferimento Gid di un ambiente visco-elastico. . . . . . . . . . . . . . . . . . . . . 127 2.29 Risposta in posizione di un ambiente viscoelastico ad uno scalino in forza, di ampiezza F = 30N, applicatogli in ingresso. . . . . . . . . . 128 2.30 Poli del sistema di controllo in ammettenza, in funzione del guadagno proporzionale Kp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 2.31 Diagramma di Bode di Gid e di GFX, considerando Kp=0.4 . . . . . . 132 2.32 Diagramma di Bode di GFF , considerando Kp=0.4. . . . . . . . . . . 132 2.33 Risposta ad uno scalino in forza di ampiezza F=30 N di GFX, per diversi valori del guadagno Kp . . . . . . . . . . . . . . . . . . . . . . 133 2.34 Risposte in posizione ad uno scalino in forza di ampiezza F=30 N di Gid, GFX e dell’interfaccia aptica simulata impiegando il modello cedevole del sistema, considerando Kp = 0.01 . . . . . . . . . . . . . . 134 2.35 Risposte simulate in posizione e in forza dell’interfaccia aptica, ad uno scalino in forza di ampiezza F=30 N, considerando Kp = 0.006 . 135 2.36 Andamento, in funzione del guadagno Ki, dei tre poli del sistema di controllo in ammettenza . . . . . . . . . . . . . . . . . . . . . . . . . 137 2.37 Andamento, in funzione del guadagno Ki, del polo dominante del sistema di controllo in ammettenza . . . . . . . . . . . . . . . . . . . 137 2.38 Risposte ad uno scalino in forza, di ampiezza pari a 30 N, delle funzioni di trasferimento GFX e GFF , considerando KI = 0.6. . . . . 138 2.39 Diagramma di Bode di GFX, considerando Ki = 0.6 . . . . . . . . . . 139 2.40 Diagramma di Bode di GFF , considerando Ki = 0.6 . . . . . . . . . . 139 XIII
  • 16.
    ELENCO DELLE FIGUREELENCO DELLE FIGURE 2.41 Risposta, ad uno scalino in forza di ampiezza F = 30N, del sistema di controllo in ammettenza, per diversi valori del guadagno KI . . . . 141 2.42 Diagramma di Bode della funzione di trasferimento GFX, per diversi valori del guadagno KI . . . . . . . . . . . . . . . . . . . . . . . . . . 141 2.43 Diagramma di Bode della funzione di trasferimento GFF , per diversi valori del guadagno KI . . . . . . . . . . . . . . . . . . . . . . . . . . 142 2.44 Risposte simulate in posizione e in forza dell’interfaccia aptica ad uno scalino in forza di ampiezza F=30 N, considerando KI = 0.2 . . . . . 143 2.45 Diagramma di Bode di GFX, considerando Kp = 0.4 e Ki = 0.6 . . . 144 2.46 Diagramma di Bode di GFF , considerando Kp = 0.4 e Ki = 0.6 . . . . 144 2.47 Risposte simulate in posizione e in forza dell’interfaccia aptica ad uno scalino in forza di ampiezza F = 30N, considerando Kp = 0.001 e Ki = 0.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 2.48 Confronto delle risposte simulate in posizione e in forza dell’interfaccia aptica, ad uno scalino in forza di ampiezza F = 30N . . . . . . . . . 146 2.49 Spostamento del manipolo, durante la simulazione di un ambiente visco - elastico caratterizzato da: k = 90N m e c = 7Ns m . . . . . . . . . 148 2.50 Velocità lineare del manipolo, durante la simulazione di un ambiente visco - elastico caratterizzato da: k = 90N m e c = 7Ns m . . . . . . . . . 148 2.51 Forza applicata dall’operatore sul manipolo, durante la simulazione di un ambiente visco - elastico caratterizzato da: k = 90N m e c = 7Ns m . 149 2.52 Forza generata dall’ambiente virtuale, durante la simulazione di un ambiente visco - elastico caratterizzato da: k = 90N m e c = 7Ns m . . . . 149 2.53 Andamenti sovrapposti di Fop e Famb, durante la simulazione di un ambiente visco - elastico caratterizzato da: k = 90N m e c = 7Ns m . . . . 150 2.54 Errore in forza, durante la simulazione di un ambiente visco - elastico caratterizzato da: k = 90N m e c = 7Ns m . . . . . . . . . . . . . . . . . . 151 2.55 Andamenti sovrapposti delle risposte in posizione di un ambiente vi- sco - elastico, caratterizzato da: k = 90N m e c = 7Ns m , e dell’interfaccia aptica controllata in ammettenza. . . . . . . . . . . . . . . . . . . . . 152 XIV
  • 17.
    ELENCO DELLE FIGUREELENCO DELLE FIGURE 2.56 Errore in posizione, durante la simulazione di un ambiente visco - elastico caratterizzato da: k = 90N m e c = 7Ns m . . . . . . . . . . . . . . 152 2.57 Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 90N m e c = 7Ns m , a velocità sostenute . . . . . . . . . . . . . . 155 2.58 Confronto tra forza operatore e forza ambiente, durante le simulazioni di un ambiente visco - elastico con K = 90N m e c = 7Ns m , a basse e a più sostenute velocità lineari del manipolo . . . . . . . . . . . . . . . 156 2.59 Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 90N m e c = 20Ns m , a velocità basse . . . . . . . . . . . . . . . 157 2.60 Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 90N m e c = 1Ns m , a velocità basse . . . . . . . . . . . . . . . . 158 2.61 Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 90N m e c = 1Ns m , a velocità sostenute. . . . . . . . . . . . . . 159 2.62 Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 45N m e c = 20Ns m , a velocità sostenute. . . . . . . . . . . . . . 160 2.63 Risultati sperimentali della simulazione di un ambiente visco - elastico con k = 150N m e c = 11.667Ns m , a velocità basse. . . . . . . . . . . . . . 163 2.64 Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 150N m e c = 11.667Ns m , a velocità sostenute. . . . . . . . . . . 164 2.65 Diagramma di Bode di modulo e fase dell’ambiente ideale caratteriz- zato da M=3 kg, C= 1 Ns m e K=50 N m . . . . . . . . . . . . . . . . . . 167 2.66 Andamento nel tempo della risposta del sistema ideale applicando in ingresso uno scalino di 30 N . . . . . . . . . . . . . . . . . . . . . . . 168 2.67 Schema a blocchi Simulink del sistema di controllo in ammettenza - Ambiente completo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 2.68 Andamento dei poli di GFF e GFX al variare di KI - Ambiente completo170 2.69 Diagrammi di Bode del modulo di GFF e GFX utilizzando un doppio integratore con controllo in ammettenza - Ambiente completo . . . . 171 2.70 Diagramma di Bode del modulo di GFF al variare del parametro KI del regolatore - Ambiente completo . . . . . . . . . . . . . . . . . . . 172 XV
  • 18.
    ELENCO DELLE FIGUREELENCO DELLE FIGURE 2.71 Diagramma di Bode del modulo di GFX al variare del parametro KI del regolatore - Ambiente completo . . . . . . . . . . . . . . . . . . . 172 2.72 Pulsazione naturale e smorzamento dei poli dominanti in anello chiuso della funzione di trasferimento GFX - Ambiente completo . . . . . . . 173 2.73 Risposte del sistema di controllo allo scalino in forza di 30 N consi- derando valori diversi di KI - Ambiente completo . . . . . . . . . . . 174 2.74 Spostamento del manipolo, durante la simulazione di un ambiente completo caratterizzato da M=3 kg, C=1 Ns m e K=50 N m , con controllo in ammettenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 2.75 Velocità del manipolo, durante la simulazione di un ambiente com- pleto caratterizzato da M=3 kg, C=1 Ns m e K=50 N m , con controllo in ammettenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 2.76 Accelerazione del manipolo, durante la simulazione di un ambiente completo caratterizzato da M=3 kg, C=1 Ns m e K=50 N m , con controllo in ammettenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 2.77 Forza applicata dall’operatore sul manipolo, durante la simulazione di un ambiente completo caratterizzato da M=3 kg, C=1 Ns m e K=50 N m , con controllo in ammettenza . . . . . . . . . . . . . . . . . . . . . 176 2.78 Forza generata dall’ambiente virtuale, durante la simulazione di un ambiente completo caratterizzato da M=3 kg, C=1 Ns m e K=50 N m , con controllo in ammettenza . . . . . . . . . . . . . . . . . . . . . . . 177 2.79 Andamenti sovrapposti di Fop e Famb, durante la simulazione di un ambiente completo caratterizzato da M=3 kg, C=1 Ns m e K=50 N m , con controllo in ammettenza . . . . . . . . . . . . . . . . . . . . . . . 177 2.80 Errore in forza, durante la simulazione di un ambiente completo caratterizzato da M=3 kg, C=1 Ns m e K=50 N m , con controllo in ammettenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 2.81 Andamenti sovrapposti delle risposte in posizione di un ambiente completo caratterizzato da M=3 kg, C=1 Ns m e K=50 N m , e dell’in- terfaccia aptica con controllo in ammettenza . . . . . . . . . . . . . . 179 XVI
  • 19.
    ELENCO DELLE FIGUREELENCO DELLE FIGURE 2.82 Errore in posizione durante la simulazione di un ambiente comple- to caratterizzato da M=3 kg, C=1 Ns m e K=50 N m con controllo in ammettenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 2.83 Risultati sperimentali della simulazione di un ambiente completo con M=3 kg, C=10 Ns m e K=50 N m con controllo in ammettenza a basse velocità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 2.84 Risultati sperimentali della simulazione di un ambiente completo con M=3 kg, C=10 Ns m e K=50 N m con controllo in ammettenza a velocità sostenute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 2.85 Risultati sperimentali della simulazione di un ambiente completo con M=10 kg, C=1 Ns m e K=50 N m con controllo in ammettenza a basse velocità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 2.86 Risultati sperimentali della simulazione di un ambiente completo con M=3 kg, C=1 Ns m e K=150 N m con controllo in ammettenza a basse velocità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 2.87 Risultati sperimentali della simulazione di un ambiente completo con M=3 kg, C=1 Ns m e K=150 N m con controllo in ammettenza a velocità sostenute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 2.88 Risultati sperimentali della simulazione di un ambiente completo con M=9 kg, C=1 Ns m e K=150 N m con controllo in ammettenza a basse velocità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 2.89 Risultati sperimentali della simulazione di un ambiente completo con M=9 kg, C=1 Ns m e K=150 N m con controllo in ammettenza a velocità sostenute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 2.90 Risposta ad uno scalino in forza di ampiezza F = 30N della funzione di trasferimento GFX, considerando di simulare una molla ideale di rigidezza Km = 250N m . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 2.91 Risposta ad uno scalino in forza di ampiezza F = 30N della funzione di trasferimento GFF , impiegando un controllore in forza puramente proporzionale e considerando di simulare una molla ideale di rigidezza Km = 250N m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 XVII
  • 20.
    ELENCO DELLE FIGUREELENCO DELLE FIGURE 2.92 Andamento dei poli e dello zero del sistema di controllo in anello chiuso, in funzione del guadagno proporzionale Kp e per un guadagno derivativo Kd = 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 2.93 Diagramma di Bode di GFX, per diversi valori del guadagno propor- zionale e per un guadagno derivativo Kd = 2 . . . . . . . . . . . . . . 194 2.94 Diagramma di Bode di GFF , per diversi valori del guadagno propor- zionale e per un guadagno derivativo Kd = 2 . . . . . . . . . . . . . . 195 2.95 Risposte in posizione e in forza del sistema di controllo, ad uno sca- lino in forza di ampiezza F = 30N, per diversi valori del guadagno proporzionale e per un guadagno derivativo Kd = 2. . . . . . . . . . . 195 2.96 Poli e zero del sistema di controllo in impedenza in anello chiuso, in funzione del guadagno derivativo e per un guadagno proporzionale Kp = 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 2.97 Diagramma di Bode di GFX, per diversi valori del guadagno deriva- tivo e per un guadagno proporzionale Kp = 10. . . . . . . . . . . . . . 197 2.98 Diagramma di Bode di GFF , per diversi valori del guadagno derivativo e per un guadagno proporzionale Kp = 10. . . . . . . . . . . . . . . . 197 2.99 Posizione x del manipolo, durante la simulazione del comportamento di una molla ideale di rigidezza Km = 250N m . . . . . . . . . . . . . . 200 2.100Velocità xp del manipolo, durante la simulazione del comportamento di una molla ideale di rigidezza Km = 250N m . . . . . . . . . . . . . . 201 2.101Forza esercitata dall’operatore sul manipolo, durante la simulazione di una molla ideale di rigidezza Km = 250N m . . . . . . . . . . . . . . 201 2.102Forza generata dall’ambiente virtuale, durante la simulazione di una molla ideale di rigidezza Km = 250N m . . . . . . . . . . . . . . . . . . 202 2.103Confronto tra la risposta in posizione simulata in ambiente Simulink e la risposta in posizione ottenuta sul banco di prova del sistema di controllo in impedenza in anello chiuso. . . . . . . . . . . . . . . . . . 203 2.104Confronto tra la risposta in forza simulata in ambiente Simulink e la risposta in forza ottenuta sul banco di prova del sistema di controllo in impedenza in anello chiuso. . . . . . . . . . . . . . . . . . . . . . . 203 XVIII
  • 21.
    ELENCO DELLE FIGUREELENCO DELLE FIGURE 2.105Confronto tra la forza applicata dall’operatore sul manipolo e la forza generata dall’ambiente virtuale, durante la simulazione di una molla di rigidezza Km = 250N m . . . . . . . . . . . . . . . . . . . . . . . . . 204 2.106Errore in forza, durante la simulazione di una molla di rigidezza Km = 250N m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 2.107Confronto tra le risposte in posizione dell’interfaccia aptica e di una molla ideale di rigidezza Km = 250N m . . . . . . . . . . . . . . . . . . 206 2.108Errore in posizione, durante la simulazione di una molla di rigidezza k = 250N m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 2.109Forza applicata dall’operatore sul manipolo in funzione della sua po- sizione x, durante la simulazione di una molla ideale di rigidezza Km = 250N m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 2.110Risposte in posizione e in forza dell’interfaccia aptica all’applicazione di una condizione iniziale in posizione, durante la simulazione di una molla ideale di rigidezza Km= 250 N m . . . . . . . . . . . . . . . . . . 208 2.111Vista più nel dettaglio delle risposte in posizione e in forza dell’inter- faccia aptica all’applicazione di una condizione iniziale in posizione, durante la simulazione di una molla ideale di rigidezza Km= 250 N m . 208 2.112Risultati sperimentali della simulazione di una molla ideale di rigi- dezza Km=60 N m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 2.113Risultati sperimentali della simulazione di una molla ideale di rigi- dezza Km=500 N m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 2.114Risultati sperimentali della simulazione di una molla ideale di rigi- dezza Km=1000 N m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 2.115Risultati sperimentali della simulazione dell’ambiente trasparenza. . . 213 2.116Poli e zero del sistema di controllo in anello chiuso, in funzione di Kp. 217 2.117Diagramma di Bode di GFX, al variare di Kp. . . . . . . . . . . . . . 218 2.118Diagramma di Bode di GFF , al variare di Kp. . . . . . . . . . . . . . 218 2.119Spostamento del manipolo, durante la simulazione di un ambiente visco - elastico caratterizzato da: K = 90N m e c = 7Ns m . . . . . . . . . 221 XIX
  • 22.
    ELENCO DELLE FIGUREELENCO DELLE FIGURE 2.120Velocità lineare del manipolo, durante la simulazione di un ambiente visco - elastico caratterizzato da: K = 90N m e c = 7Ns m . . . . . . . . . 221 2.121Forza applicata dall’operatore sul manipolo, durante la simulazione di un ambiente visco - elastico caratterizzato da: K = 90N m e c = 7Ns m 222 2.122Forza generata dall’ambiente virtuale, durante la simulazione di un ambiente visco - elastico caratterizzato da: K = 90N m e c = 7Ns m . . . 222 2.123Andamenti sovrapposti di Fop e Famb, durante la simulazione di un ambiente visco - elastico caratterizzato da: K = 90N m e c = 7Ns m . . . 223 2.124Errore in forza, durante la simulazione di un ambiente visco - elastico caratterizzato da: K = 90N m e c = 7Ns m . . . . . . . . . . . . . . . . . 223 2.125Andamenti sovrapposti delle risposte in posizione di un ambiente vi- sco - elastico, caratterizzato da: K = 90 N m e c = 7 Ns m , e dell’inter- faccia aptica controllata in impedenza in anello chiuso. . . . . . . . . 224 2.126Errore in posizione, durante la simulazione di un ambiente visco - elastico caratterizzato da: k = 90N m e c = 7Ns m . . . . . . . . . . . . . . 225 2.127Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 90N m e c = 7Ns m , a velocità elevate . . . . . . . . . . . . . . . 228 2.128Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 90N m e c = 20Ns m , a velocità sostenute . . . . . . . . . . . . . 229 2.129Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 90N m e c = 20Ns m , a velocità elevate . . . . . . . . . . . . . . 230 2.130Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 90N m e c = 1Ns m , a velocità sostenute . . . . . . . . . . . . . . 231 2.131Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 90N m e c = 1Ns m , a velocità elevate . . . . . . . . . . . . . . . 232 2.132Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 45N m e c = 20Ns m , a velocità sostenute . . . . . . . . . . . . . 233 2.133Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 45N m e c = 20Ns m , a velocità elevate . . . . . . . . . . . . . . 234 2.134Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 150N m e c = 11.67Ns m , a velocità basse . . . . . . . . . . . . . 235 XX
  • 23.
    ELENCO DELLE FIGUREELENCO DELLE FIGURE 2.135Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 150N m e c = 11.67Ns m , a velocità sostenute . . . . . . . . . . . 236 2.136Pulsazione naturale e smorzamento dei poli del sistema di controllo in impedenza anello chiuso, in funzione del guadagno proporzionale Kp.240 2.137Diagramma di Bode di GFX, per diversi valori del guadagno propor- zionale Kp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 2.138Diagramma di Bode di GFF , per diversi valori del guadagno propor- zionale Kp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 2.139Andamenti del polo reale, dello zero, della pulsazione naturale e dello smorzamento dei poli complessi coniugati di GFX, in funzione di Ki e per Kp = 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 2.140Andamenti del polo reale, dello zero, della pulsazione naturale e dello smorzamento dei poli complessi coniugati di GFX, in funzione di Kp e per Ki = 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 2.141Diagramma di Bode di GFX, per diversi valori di Kp e per Ki = 1. . . 246 2.142Diagramma di Bode di GFX, per diversi valori di Ki e per Kp = 1. . . 246 2.143Diagramma di Bode di GFF , per diversi valori di Kp e per Ki = 1. . . 247 2.144Diagramma di Bode di GFF , per diversi valori di Ki e per Kp = 1. . . 247 2.145Spostamento del manipolo, durante la simulazione di un ambiente completo caratterizzato da: m = 3Kg, c = 1Ns m e k = 50N m . . . . . . 249 2.146Velocità del manipolo, durante la simulazione di un ambiente com- pleto caratterizzato da: m = 3Kg, c = 1Ns m e k = 50N m . . . . . . . . . 250 2.147Accelerazione del manipolo, durante la simulazione di un ambiente completo caratterizzato da: m = 3Kg, c = 1Ns m e k = 50N m . . . . . . 250 2.148Forza applicata dall’operatore sul manipolo, durante la simulazione di un ambiente completo caratterizzato da: m = 3Kg, c = 1Ns m e k = 50N m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 2.149Forza generata dall’ambiente virtuale, durante la simulazione di un ambiente completo caratterizzato da: m = 3Kg, c = 1Ns m e k = 50N m . . 251 2.150Andamenti sovrapposti di Fop e Famb, durante la simulazione di un ambiente completo caratterizzato da: m = 3Kg, c = 1Ns m e k = 50N m . . 252 XXI
  • 24.
    ELENCO DELLE FIGUREELENCO DELLE FIGURE 2.151Errore in forza, durante la simulazione di un ambiente completo caratterizzato da: m = 3Kg, c = 1Ns m e k = 50N m . . . . . . . . . . . . 253 2.152Andamenti sovrapposti delle risposte in posizione di un ambiente completo, caratterizzato da: m = 3Kg, c = 1Ns m e k = 50N m , e dell’interfaccia aptica controllata in impedenza in anello chiuso. . . . 254 2.153Errore in posizione, durante la simulazione di un ambiente completo caratterizzato da: m = 3Kg, c = 1Ns m e k = 50N m . . . . . . . . . . . . 254 2.154Risultati sperimentali della simulazione di un ambiente completo con m = 3Kg, c = 10Ns m e k = 50N m , a velocità sostenute. . . . . . . . . . 257 2.155Risultati sperimentali della simulazione di un ambiente completo con m = 3Kg, c = 10Ns m e k = 50N m , a velocità elevate. . . . . . . . . . . . 258 2.156Risultati sperimentali della simulazione di un ambiente completo con m = 6Kg, c = 1Ns m e k = 50N m , a velocità sostenute. . . . . . . . . . . 259 2.157Risultati sperimentali della simulazione di un ambiente completo con m = 3Kg, c = 1Ns m e k = 150N m , a velocità sostenute. . . . . . . . . . 260 2.158Risultati sperimentali della simulazione di un ambiente completo con m = 3Kg, c = 1Ns m e k = 150N m , a velocità elevate. . . . . . . . . . . . 261 2.159Risultati sperimentali della simulazione di un ambiente completo con m = 9Kg, c = 1Ns m e k = 150N m , a velocità sostenute. . . . . . . . . . 262 2.160Risultati sperimentali della simulazione di un ambiente completo con m = 9Kg, c = 1Ns m e k = 150N m , a velocità elevate. . . . . . . . . . . . 263 2.161Schema Simulink impiegato per riprodurre l’ambiente trasparenza, mediante un sistema di controllo in impedenza in anello chiuso con compensazione dell’attrito . . . . . . . . . . . . . . . . . . . . . . . . 274 2.162Risultati sperimentali della riproduzione di un ambiente trasparenza, mediante sistema di controllo in impedenza in anello chiuso, senza compensazione dell’attrito . . . . . . . . . . . . . . . . . . . . . . . . 275 2.163Risultati sperimentali della riproduzione di un ambiente trasparen- za, mediante sistema di controllo in impedenza in anello chiuso, con compensazione dell’attrito. . . . . . . . . . . . . . . . . . . . . . . . . 276 XXII
  • 25.
    ELENCO DELLE FIGUREELENCO DELLE FIGURE 2.164Schema Simulink impiegato per riprodurre l’ambiente trasparenza, mediante un sistema di controllo in ammettenza con compensazione dell’attrito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 2.165Risultati sperimentali della riproduzione di un ambiente trasparenza, mediante sistema di controllo in ammettenza, senza compensazione dell’attrito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 2.166Risultati sperimentali della riproduzione di un ambiente trasparen- za, mediante sistema di controllo in ammettenza, con compensazione dell’attrito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 2.167Ambiente inerziale con M = 20 kg, Kp = 2 e KI = 25 . . . . . . . . . 284 2.168Ambiente scatola con Km = 0 N m con controllo in impedenza . . . . . 287 2.169Ambiente scatola con Km = 0 N m con controllo in ammettenza . . . . 288 2.170Ambiente scatola con Km = 60 N m con controllo in ammettenza . . . . 288 2.171Ambiente triangolare instabile con Km = 60 N m e xv = 0.09 m . . . . . 290 2.172Ambiente triangolare stabile con Km = 60 N m e xv = 0.09 m . . . . . . 290 2.173Ambiente sinusoidale instabile con Ca = 12 xv = 0.18 m . . . . . . . . 291 2.174Ambiente sinusoidale stabile con Ca = 12 xv = 0.18 m . . . . . . . . . 292 2.175Ambiente a dente di sega con Km = 60 N m ,xs = 0.18 m . . . . . . . . 293 3.1 Banco a disposizione sistema cartesiano a due gradi di libertà . . . . 298 3.2 Schematizzazione dell’asse X-Modello rigido . . . . . . . . . . . . . . 304 3.3 Schema Simulink del modello rigido dell’asse X . . . . . . . . . . . . 305 3.4 Schematizzazione dell’asse X - Modello cedevole . . . . . . . . . . . . 306 3.5 Grado di libertà θ1 - Asse X . . . . . . . . . . . . . . . . . . . . . . . 307 3.6 Grado di libertà θ2 - Asse X . . . . . . . . . . . . . . . . . . . . . . . 307 3.7 Grado di libertà x - Asse X . . . . . . . . . . . . . . . . . . . . . . . 308 3.8 Grado di libertà θ3 - Asse X . . . . . . . . . . . . . . . . . . . . . . . 308 3.9 Schematizzazione della puleggia 1 e 2 per il calcolo della lunghezza libera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 3.10 Andamento dei valori delle rigidezze k2 e k3 in funzione della posizione assunta dal carrello lungo l’asse X . . . . . . . . . . . . . . . . . . . . 311 XXIII
  • 26.
    ELENCO DELLE FIGUREELENCO DELLE FIGURE 3.11 Schema Simulink del modello cedevole dell’ asse X . . . . . . . . . . . 311 3.12 Andamento delle pulsazioni naturali in funzione della posizione del carrello - asse X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 3.13 Pulsazioni naturali e modi di vibrare in x=0 - asse X . . . . . . . . . 313 3.14 Oscillazioni libere del sistema non smorzato, non forzato, condizioni iniziali pari al secondo modo di vibrare - Asse X . . . . . . . . . . . . 314 3.15 Oscillazioni smorzate del sistema, non forzato, condizioni iniziali pari al secondo modo di vibrare - Asse X . . . . . . . . . . . . . . . . . . . 315 3.16 Risposta nel tempo del sistema smorzato, forzante Q = [1, 0, 0, 0] costante, K costante - Asse X . . . . . . . . . . . . . . . . . . . . . . 315 3.17 Andamento nel tempo della rotazione del motore, confrontando le risposte forzate, del modello cedevole non smorzato e del rigido, uti- lizzando come ingresso una sinusoide con ampiezza di 20 Nm e pul- sazione pari a 413.86 rad s - Asse X . . . . . . . . . . . . . . . . . . . . 316 3.18 Andamento nel tempo della rotazione del motore, confrontando le risposte forzate, del modello cedevole non smorzato e del rigido, uti- lizzando come ingresso una sinusoide con ampiezza di 20 Nm e pul- sazione pari a quella del secondo modo di vibrare - Asse X . . . . . . 316 3.19 Andamento nel tempo della rotazione del motore, confrontando le risposte forzate, del modello cedevole smorzato e del rigido, utilizzan- do come ingresso una sinusoide con ampiezza di 20 Nm e pulsazione paria quella del secondo modo di vibrare - Asse X . . . . . . . . . . . 317 3.20 Schematizzazione dell’asse Y considerato come rigido . . . . . . . . . 318 3.21 Schema Simulink del modello rigido dell’asse Y . . . . . . . . . . . . 319 3.22 Schematizzazione del modello cedevole - Asse Y . . . . . . . . . . . . 320 3.23 Schematizzazione compatta del modello cedevole - Asse Y . . . . . . 321 3.24 Gradi di libertà θ1 e θ2 - Asse Y . . . . . . . . . . . . . . . . . . . . . 321 3.25 Gradi di libertà θ3 e θ4 - Asse Y . . . . . . . . . . . . . . . . . . . . . 322 3.26 Schema Simulink del modello cedevole dell’asse Y . . . . . . . . . . . 325 3.27 Andamento dei valori delle rigidezze k2s e k2d in funzione della posi- zione assunta dalla massa traslante lungo l’asse Y . . . . . . . . . . . 325 XXIV
  • 27.
    ELENCO DELLE FIGUREELENCO DELLE FIGURE 3.28 Andamento delle pulsazioni naturali in funzione della posizione del carrello - Asse Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 3.29 Pulsazioni naturali e modi di vibrare in y=0 - Asse Y . . . . . . . . . 327 3.30 Oscillazioni libere del sistema non smorzato, non forzato, condizioni iniziali pari al secondo modo di vibrare - Asse Y . . . . . . . . . . . . 328 3.31 Oscillazioni smorzate del sistema, non forzato, condizioni iniziali pari al secondo modo di vibrare - Asse Y . . . . . . . . . . . . . . . . . . . 329 3.32 Risposta nel tempo del sistema smorzato, forzante Q = [1, 0, 0, 0] costante, K costante - Asse Y . . . . . . . . . . . . . . . . . . . . . . 329 3.33 Andamento nel tempo della rotazione del motore, confrontando le risposte forzate, del modello cedevole non smorzato e del rigido, uti- lizzando come ingresso una sinusoide con ampiezza di 20 Nm e pul- sazione pari a 257.85 rad s - Asse Y . . . . . . . . . . . . . . . . . . . . 330 3.34 Andamento nel tempo della rotazione del motore, confrontando le risposte forzate, del modello cedevole non smorzato e del rigido, uti- lizzando come ingresso una sinusoide con ampiezza di 20 Nm e pul- sazione pari a quella del secondo modo di vibrare - Asse Y . . . . . . 330 3.35 Andamento nel tempo della rotazione del motore, confrontando le ri- sposte forzate, del modello cedevole smorzato e del rigido, utilizzando come ingresso una sinusoide con ampiezza di 20 Nm e pulsazione pari a quella del secondo modo di vibrare - Asse Y . . . . . . . . . . . . . 331 3.36 Schema di controllo basato sul posizionamento poli - Asse X rigido . . 333 3.37 Schema di controllo basato sul posizionamento poli - Asse X cedevole 333 3.38 Generazione dei riferimenti di posizione e velocità - Asse X . . . . . . 333 3.39 Riferimenti di posizione e velocità lineare- Asse X . . . . . . . . . . . 334 3.40 Andamento nel tempo della posizione del carrello controllata tramite posizionamento poli - Asse X . . . . . . . . . . . . . . . . . . . . . . 335 3.41 Andamento nel tempo della velocità del carrello controllata tramite posizionamento poli - Asse X . . . . . . . . . . . . . . . . . . . . . . 335 XXV
  • 28.
    ELENCO DELLE FIGUREELENCO DELLE FIGURE 3.42 Sovraelongazione al termine della fase di alzata nel profilo di posizione seguito dal carrello carrello controllato tramite posizionamento poli - Asse X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 3.43 Sovraelongazione, al termine della fase di alzata, nel profilo di velocità seguito dal carrello carrello controllato tramite posizionamento poli - Asse X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 3.44 Diagramma di Bode, del modulo e della fase, della funzione di tra- sferimento del posizionatore che riceve in ingresso la posizione di riferimento - Asse X . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 3.45 Diagramma di Bode, del modulo e della fase, della funzione di trasferi- mento del posizionatore che riceve in ingresso la velocità di riferimento - Asse X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 3.46 Confronto fra posizione di riferimento ed effettiva raggiunta dal car- rello usando la metodologia del posizionamento poli - asse X . . . . . 339 3.47 Confronto fra velocità di riferimento ed effettiva raggiunta dal carrello usando la metodologia del posizionamento poli - asse X . . . . . . . . 339 3.48 Schema di controllo basato sul posizionamento poli - Asse Y rigido . . 340 3.49 Schema di controllo basato sul posizionamento poli - Asse Y cedevole 341 3.50 Generazione dei riferimenti di posizione e velocità - Asse Y . . . . . . 341 3.51 Riferimenti di posizione e velocità lineare- Asse Y . . . . . . . . . . . 342 3.52 Andamento nel tempo della posizione del carrello controllata tramite posizionamento poli - Asse Y . . . . . . . . . . . . . . . . . . . . . . 343 3.53 Andamento nel tempo della velocità del carrello controllata tramite posizionamento poli - Asse Y . . . . . . . . . . . . . . . . . . . . . . 344 3.54 Sovraelongazione al termine della fase di alzata nel profilo di posizione seguito dal carrello carrello controllato tramite posizionamento poli - Asse Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 3.55 Sovraelongazione, al termine della fase di alzata, nel profilo di velocità seguito dal carrello carrello controllato tramite posizionamento poli - Asse Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 XXVI
  • 29.
    ELENCO DELLE FIGUREELENCO DELLE FIGURE 3.56 Diagramma di Bode, del modulo e della fase, della funzione di tra- sferimento del posizionatore che riceve in ingresso la posizione di riferimento - Asse Y . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 3.57 Diagramma di Bode, del modulo e della fase, della funzione di trasferi- mento del posizionatore che riceve in ingresso la velocità di riferimento - Asse Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 3.58 Confronto fra posizione di riferimento ed effettiva raggiunta dal car- rello usando la metodologia del posizionamento poli - asse Y . . . . . 347 3.59 Confronto fra velocità di riferimento ed effettiva raggiunta dal carrello usando la metodologia del posizionamento poli - asse Y . . . . . . . . 347 3.60 Andamento, in funzione del tempo, della posizione del carrello sul- l’asse X, durante l’operazione di ”homing” . . . . . . . . . . . . . . . 349 3.61 Andamento, in funzione del tempo, della posizione della massa tra- slante sull’asse Y, durante l’operazione di homing . . . . . . . . . . . 350 3.62 Traiettoria generica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 3.63 Chiusura vettoriale applicata al sistema cartesiano . . . . . . . . . . . 354 3.64 Legge oraria s(t) - ṡ(t), s̈(t) , per una traiettoria lineare . . . . . . . . 358 3.65 Profilo di posizione, lungo l’asse x e l’asse y del sistema cartesiano . . 359 3.66 Profilo di velocità, lungo l’asse x e l’asse y del sistema cartesiano . . . 359 3.67 Profilo di accelerazione, lungo l’asse x e l’asse y del sistema cartesiano 360 3.68 Profili di posizione richiesti ai motori dell’asse x e dell’asse y . . . . . 360 3.69 Profili di velocità richiesti ai motori dell’asse x e dell’asse y . . . . . . 361 3.70 Profili di accelerazione richiesti ai motori dell’asse x e dell’asse y . . . 361 3.71 Profili di coppia richiesti ai motori dell’asse x e dell’asse y . . . . . . 362 3.72 Risposta in posizione e in velocità dell’asse x. . . . . . . . . . . . . . 363 3.73 Risposta in posizione e in velocità dell’asse y. . . . . . . . . . . . . . . 363 3.74 Traiettoria lineare effettivamente compiuta dall’end - effector del si- stema cartesiano, nel piano x - y. . . . . . . . . . . . . . . . . . . . . 364 3.75 Legge oraria s(t) - ṡ(t), s̈(t) , per una traiettoria circolare. . . . . . . 368 3.76 Profilo di moto in posizione e in velocità per l’asse y. . . . . . . . . . 369 3.77 Profilo di moto in posizione e in velocità per l’asse x. . . . . . . . . . 369 XXVII
  • 30.
    ELENCO DELLE FIGUREELENCO DELLE FIGURE 3.78 Risposta in posizione e in velocità dell’asse x. . . . . . . . . . . . . . 370 3.79 Risposta in posizione e in velocità dell’asse y. . . . . . . . . . . . . . . 370 3.80 Traiettoria circolare effettivamente compiuta dall’end-effector del si- stema cartesiano, nel piano x - y. . . . . . . . . . . . . . . . . . . . . 371 3.81 Legge oraria θ(t) - θ̇(t), θ̈(t) , per una traiettoria a spirale di Archimede374 3.82 Profilo di moto in posizione e in velocità per l’asse x . . . . . . . . . . 375 3.83 Profilo di moto in posizione e in velocità per l’asse y . . . . . . . . . . 375 3.84 Risposta in posizione e in velocità dell’asse x . . . . . . . . . . . . . . 376 3.85 Risposta in posizione e in velocità dell’asse y . . . . . . . . . . . . . . 376 3.86 Traiettoria a Spirale di Archimede effettivamente compiuta dall’end- effector del sistema cartesiano, nel piano X - Y . . . . . . . . . . . . 377 3.87 Legge oraria t - ṫ, ẗ , per una traiettoria a farfalla . . . . . . . . . . . 379 3.88 Profilo di moto in posizione e in velocità per l’asse x . . . . . . . . . . 380 3.89 Profilo di moto in posizione e in velocità per l’asse y . . . . . . . . . . 380 3.90 Risposta in posizione e in velocità dell’asse x . . . . . . . . . . . . . . 381 3.91 Risposta in posizione e in velocità dell’asse y . . . . . . . . . . . . . . 381 3.92 Traiettoria a farfalla effettivamente compiuta dall’end-effector del sistema cartesiano, nel piano x - y . . . . . . . . . . . . . . . . . . . . 382 4.1 Schema a blocchi del sistema di comunicazione fra interfaccia aptica e robot cartesiano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 4.2 Blocco Simulink Real-time UDP configuration del trasmettitore . . . 394 4.3 Blocco Simulink Byte packing del trasmettitore . . . . . . . . . . . . 395 4.4 Blocco Simulink Real-Time UDP send del trasmettitore . . . . . . . 396 4.5 Blocco Simulink Real-Time UDP receive del ricevitore . . . . . . . . 396 4.6 Blocco Simulink Byte unpacking del ricevitore . . . . . . . . . . . . . 397 4.7 Schema Simulink realizzato per permettere la comunicazione fra i due PC industriali di trasmettitore e ricevitore, utilizzando il protocollo UDP - Lato trasmettitore . . . . . . . . . . . . . . . . . . . . . . . . 397 XXVIII
  • 31.
    ELENCO DELLE FIGUREELENCO DELLE FIGURE 4.8 Schema Simulink realizzato per permettere la comunicazione fra i due PC industriali di trasmettitore e ricevitore, utilizzando il protocollo UDP - Lato ricevitore . . . . . . . . . . . . . . . . . . . . . . . . . . 398 4.9 Blocchi Simulink TCP Client configure . . . . . . . . . . . . . . . . . 400 4.10 Blocchi Simulink TCP Server configure . . . . . . . . . . . . . . . . . 400 4.11 Blocchi Simulink TCP Send e TCP Send da configurare, per tra- smettitore e ricevitore, qualora si utilizzi il protocollo TCP . . . . . . 400 4.12 Schemi Simulink realizzati, di trasmettitore e ricevitore, per instau- rare la comunicazione fra due PC industriali adottando il protocollo TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 4.13 Confronto fra segnale a rampa trasmesso e ricevuto durante la co- municazione tra due PC industriali, utilizzando il protocollo UDP e frequenza di campionamento 1 kHz (a); numero di bytes ricevuti dal PC industriale che controlla il sistema aptico (b) . . . . . . . . . . . . 403 5.1 Blocchi Simulink per la trasmissione e ricezione di dati, mediante comunicazione TCP, durante l’applicazione di telecontrollo . . . . . . 415 5.2 Flow chart principale realizzato nell’applicativo che gestisce l’inter- faccia aptica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416 5.3 Flow chart principale nel dettaglio realizzato nell’applicativo che ge- stisce l’interfaccia aptica . . . . . . . . . . . . . . . . . . . . . . . . . 417 5.4 Switch case e corrispondenti Switch Case Action Subsystems nell’ap- plicativo che controlla l’interfaccia aptica . . . . . . . . . . . . . . . . 420 5.5 Multiport switches nell’applicativo che gestisce l’interfaccia aptica . . 421 5.6 Esempio di interfaccia grafica . . . . . . . . . . . . . . . . . . . . . . 421 5.7 Posizione e velocità lineari correnti dei due assi del sistema cartesiano a 2 g.d.l. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 5.8 Posizione e velocità lineari effettive del manipolo dell’interfaccia aptica427 5.9 Errori in posizione dei due assi del sistema cartesiano . . . . . . . . . 427 5.10 Traiettorie eseguite effettivamente dal manipolo dell’interfaccia aptica e dall’end-effector del sistema cartesiano . . . . . . . . . . . . . . . . 428 XXIX
  • 32.
    ELENCO DELLE FIGUREELENCO DELLE FIGURE 5.11 Posizione e velocità lineari effettive del manipolo dell’interfaccia aptica429 5.12 Posizione e velocità lineari correnti dei due assi del sistema cartesiano a 2 g.d.l. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430 5.13 Errori in posizione dei due assi del sistema cartesiano . . . . . . . . . 431 5.14 Traiettorie eseguite effettivamente dal manipolo dell’interfaccia aptica e dall’end-effector del sistema cartesiano . . . . . . . . . . . . . . . . 431 5.15 Posizione e velocità lineari correnti dei due assi del sistema cartesiano a 2 g.d.l. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 5.16 Posizione e velocità lineari effettive del manipolo dell’interfaccia aptica435 5.17 Errori in posizione dei due assi del sistema cartesiano . . . . . . . . . 435 5.18 Traiettorie eseguite effettivamente dal manipolo dell’interfaccia aptica e dall’end-effector del sistema cartesiano . . . . . . . . . . . . . . . . 436 5.19 Posizione e velocità lineari effettive del manipolo dell’interfaccia aptica438 5.20 Posizione e velocità lineari correnti dei due assi del sistema cartesiano a 2 g.d.l. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 5.21 Forza applicata dall’operatore sul manipolo e forza generata dall’am- biente virtuale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 5.22 Errore in forza durante la riproduzione di una molla ideale di rigidezza K = 60 N m , mediante telecontrollo aptico . . . . . . . . . . . . . . . . 440 5.23 Errori in posizione commessi lungo i due assi del sistema cartesiano . 442 5.24 Traiettoria descritta dall’end - effector del sistema cartesiano e curva forza operatore - spostamento effettivo s . . . . . . . . . . . . . . . . 442 5.25 Posizione e velocità lineari effettive del manipolo dell’interfaccia aptica443 5.26 Posizione e velocità lineari correnti dei due assi del sistema cartesiano a 2 g.d.l. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 5.27 Forza applicata dall’operatore sul manipolo e forza generata dall’am- biente virtuale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445 5.28 Errore in forza durante la riproduzione di una molla ideale di rigidezza K = 60 N m , mediante telecontrollo aptico . . . . . . . . . . . . . . . . 446 5.29 Errori in posizione commessi lungo i due assi del sistema cartesiano . 446 XXX
  • 33.
    ELENCO DELLE FIGUREELENCO DELLE FIGURE 5.30 Traiettoria descritta dall’end - effector del sistema cartesiano e curva forza operatore - spostamento effettivo s . . . . . . . . . . . . . . . . 447 XXXI
  • 34.
    Elenco delle tabelle 1.1Parametri dell’asse lineare a cinghia . . . . . . . . . . . . . . . . . . . 15 1.2 Parametri azionamento elettrico . . . . . . . . . . . . . . . . . . . . . 16 1.3 Connettore X2 azionamento . . . . . . . . . . . . . . . . . . . . . . . 18 1.4 Dati del motore Mavilor BLS-055-220V . . . . . . . . . . . . . . . . . 18 1.5 Dati del riduttore Sumitomo ENGX050-5/C08G . . . . . . . . . . . . 19 1.6 Giunto KTR RADEX-NC 10 EK . . . . . . . . . . . . . . . . . . . . 19 1.7 I/O Sistema di acquisizione . . . . . . . . . . . . . . . . . . . . . . . 23 1.8 Valori principali delle pulsazioni naturali . . . . . . . . . . . . . . . . 33 1.9 Valori acquisiti per la calibrazione della cella di carico . . . . . . . . . 40 1.10 Parametri del modello d’attrito implementato con il metodo (a) . . . 49 1.11 Parametri del modello d’attrito implementato con il metodo (b) . . . 51 2.1 Ambiente molla: valori di KI e Km adottati sul banco di prova . . . . 119 2.2 Risultati sperimentali delle prove svolte per simulare differenti am- bienti visco - elastici. . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 2.3 Risultati sperimentali delle prove svolte per simulare differenti am- bienti completi con controllo in ammettenza. . . . . . . . . . . . . . . 188 2.4 Risultati sperimentali delle prove svolte per simulare differenti molle ideali. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 2.5 Risultati sperimentali delle prove svolte per simulare differenti am- bienti visco - elastici . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 2.6 Risultati sperimentali delle prove svolte per simulare differenti am- bienti completi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 XXXII
  • 35.
    ELENCO DELLE TABELLEELENCO DELLE TABELLE 3.1 Valori dimensionali ed inerziali dei parametri - Asse X . . . . . . . . . 299 3.2 Dati cinghie - Asse X . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 3.3 Dati del motore Parker NX110E - Asse X . . . . . . . . . . . . . . . . 300 3.4 Dati Encoder lineare - Asse X . . . . . . . . . . . . . . . . . . . . . . 300 3.5 Valori dimensionali ed inerziali dei parametri - Asse Y . . . . . . . . . 302 3.6 Dati cinghie - Asse Y . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 3.7 Dati del motore Mavilor BLS-073A.00.0105.00 - Asse Y . . . . . . . . 303 3.8 Dati Encoder lineare - Asse Y . . . . . . . . . . . . . . . . . . . . . . 303 3.9 Pulsazioni naturali al centro e all’estremità della corsa del carrello - Asse X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 3.10 Pulsazioni naturali al centro e all’estremità della corsa del carrello - Asse Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 4.1 Prove di latenza effettuate con protocollo di comunicazione UDP . . . 403 5.1 Valori sperimentali ottenuti, durante la simulazione di un ambien- te molla, per valutare l’effetto di un ritardo presente nell’anello di retroazione del sistema di controllo in ammettenza . . . . . . . . . . . 406 5.2 Valori sperimentali ottenuti, durante la simulazione di un ambien- te molla, per valutare l’effetto di un ritardo presente nell’anello di retroazione del sistema di controllo in impedenza . . . . . . . . . . . 408 XXXIII
  • 37.
    Introduzione Il telecontrollo èuna condizione operativa di un sistema meccatronico in cui un utente controlla il suo movimento a distanza, generando dei set-point e chiudendo anelli di retroazione, sulla base dei feedback che riceve. Il contesto probabilmen- te più diffuso in cui si concretizza quest’attività è quello robotico dove si consente ad un operatore di comandare ad un robot operazioni complesse in spazi remoti, in situazioni magari pericolose, difficilmente raggiungibili o comunque dove non si ha la possibilità di programmare preventivamente i task per il dispositivo roboti- co. La sostanziale differenza tra un sistema autonomo e uno telecontrollato è che il primo svolge una serie di operazioni e reagisce ad eventi, che possono avvenire nell’ambiente circostante in cui si trova, in modo del tutto automatico, mentre il secondo viene controllato a distanza da un operatore, il quale, tramite una serie di feedback che riceve, decide come reagire alle differenti situazioni che si possono verificare. Entrambi i due sistemi presentano vantaggi e svantaggi. Per esempio, un sistema autonomo non richiede la presenza dell’essere umano, per eseguire le molteplici attività; tuttavia, allo stesso tempo, necessita di algoritmi, che permet- tono al dispositivo di decidere in modo autonomo come comportarsi nelle svariate situazioni, sulla base delle informazioni provenienti dai propri sensori. In un sistema telecontrollato, invece, si ha lo svantaggio che per svolgere le diverse operazioni è necessaria la presenza di un operatore; tuttavia, il vantaggio, consiste nel fatto che è lui stesso a scegliere come reagire agli eventi che si verificano e, pertanto, non è necessario, innanzitutto, sviluppare algoritmi complessi e, inoltre, l’applicazione acquisisce una flessibilità decisamente maggiore grazie alle capacità decisionali di una persona. Dunque, il telecontrollo è vantaggioso, per esempio: • nelle applicazioni in cui si devono svolgere operazioni molto complesse, che,
  • 38.
    Introduzione attualmente, non riesconoad essere eseguite da sistemi autonomi perchè ri- chiedono la realizzazione di complicati algoritmi che non si è, ancora, in grado di sviluppare; • nelle attività, come ad esempio chirurgiche, in cui è necessario il potere de- cisionale dell’uomo, che non può essere sostituito da nessun algoritmo, pur sofisticato che sia. Come detto, nel telecontrollo, l’utente controlla il movimento del sistema meccanico e, allo stesso tempo, riceve un feedback che può essere di due tipi: • visivo; • aptico, che a sua volta può essere di tipo cinestetico o tattile. L’operatore agisce in risposta al feedback che riceve, in modo tale da incrementare notevolmente la flessibilità dell’applicazione sfruttando il potere decisionale della persona. In tale contesto, si introducono le terminologie di dispositivo master, che è quello che interagisce con l’utente, e dispositivo slave, che è il sistema remoto te- lecontrollato dall’operatore mediante il master e che interfaccia con l’ambiente ad esso circostante. Le informazioni trasmesse dal dispositivo a distanza sono chiara- mente di vitale importanza per consentire all’essere umano un’elevata percezione dell’ambiente remoto, ottenendo di fatto la massima immersività: a tal proposito si parla di telepresenza. Viste le numerose possibilità di interazione con l’utente, i sistemi che sfruttano il telecontrollo vengono progettati ad hoc in base all’applica- zione ed ai compiti da svolgere. Inoltre, essendo numerosi i campi applicativi, anche le architetture di controllo sono varie e le più significative sono le seguenti: • direct control: consente un controllo diretto del moto dello slave; • supervisory control: il robot esegue in maniera autonoma l’attività coman- data. In questo contesto, rientra il tema del telecontrollo industriale, in cui l’operatore non telecontrolla il movimento del dispositivo remoto, che opera in maniera autonoma, ma monitora il suo corretto funzionamento e l’adeguato svolgimento delle operazioni richieste sulla base dei dati che vengono trasmessi dal sistema remoto al sistema locale, che interagisce con l’utente. 2
  • 39.
    Introduzione • shared control:è una soluzione intermedia alle due precedenti, in cui l’utente può controllare solo alcuni gradi di libertà del robot. A seconda della situazione, ognuna delle architetture sopra elencate si può rive- lare più o meno idonea per conseguire gli obiettivi desiderati. Per implementare una logica di teleoperazione è chiaramente indispensabile disporre di un valido e sicuro canale di comunicazione bidirezionale per la trasmissione real-time dei da- ti fra master e slave, con le minori latenze possibili: a seconda al contesto, sarà preferibile scegliere un protocollo piuttosto che un altro, e fare considerazioni sulla configurazione e le prestazioni della rete progettata. Definito cosa si intende con il termine telecontrollo, è possibile caratterizzarlo in base al tipo di feedback, qua- le quello di tipo visivo o aptico . Nel primo caso, il dispositivo slave è dotato di telecamera, pertanto l’utente fruisce delle immagini ricevute per impartire coman- di da remoto al dispositivo telecontrollato: i contesti in cui si sfrutta questo tipo di tecnologia sono molteplici e vanno dal settore militare, a quello chirurgico, del- l’intrattenimento, o a quelli più avversi all’essere umano. Un limite presente nei dispositivi con feedback visivo è chiaramente l’eventuale e non desiderata perdita di visibilità di un prodotto di interesse: in tal caso, il sistema teleoperato fallisce diventando inutilizzabile pertanto sono necessarie soluzioni innovative che mitigano queste problematiche. L’altra tipologia di teleoperazione citata è quella con feed- back aptico, che coinvolge dispositivi detti appunto, aptici. La recente rilevanza di quest’ultimi è data dal crescente interesse verso la tematica facente riferimento all’interazione uomo-macchina, in molti ambiti tecnologici. Un settore in fermento con queste tipologie di dispositivi è sicuramente quello robotico, in cui appunto si sta cercando di sviluppare sistemi di telecontrollo orientati verso la realizzazione di mansioni intrinsecamente aptiche. I dispositivi aptici più significativi e di interesse sono le interfacce, in quanto consentono un’ interconnessione diretta fra essere uma- no e macchina permettendo di indurre nell’utente percezioni tattili e cinestetiche. In un telecontrollo di tipo aptico, come già anticipato, è presente un dispositivo slave che interagisce con l’ambiente e un dispositivo master, che ricevuti i dati dal primo, fa sı̀ che l’essere umano percepisca tra sé e il dispositivo master la stessa interazione che avviene fra lo slave e l’ambiente ad esso circostante. A tal scopo, è 3
  • 40.
    Introduzione necessario dotare sialo slave che il master di un sensore di forza: per il primo, è necessario per misurare l’interazione con l’ambiente, mentre per il secondo è utile per generare nell’utilizzatore una percezione tattile che riproduca accuratamente il contatto effettivamente avvenuto fra slave e mondo reale. Infine, per permettere lo scambio di dati fra i due dispositivi è essenziale instaurare un sistema di comunica- zione real time e bidirezionale: nel caso sia presente il feedback aptico, è necessario comunicare al master l’entità del contatto avvenuto fra slave e ambiente, in modo poi da determinare la corretta interazione aptica fra master ed utente; viceversa, in assenza di feedback aptico, ma di altro tipo, il canale di comunicazione è comunque indispensabile per trasmettere la posizione del master e determinare di conseguenza quella dello slave. Come detto in precedenza, i feedback aptici possono essere, a loro volta, di tipo tattile o cinestetico. Nel primo caso, la forza di interazione tra slave e ambiente circostante viene tradotta, a livello del dispositivo master, in una sensazio- ne tattile, che può essere, ad esempio, una pressione generata sulle dita dell’utente. Viceversa, nel feedback cinestetico, l’operatore percepisce sia una sensazione di forza sia di movimento. Recentemente, si stanno sviluppando dispositivi di telecontrollo con feedback tattile, in quanto in quelli con feedback cinestetico si ha il problema per cui l’utente percepisce anche una sensazione di movimento, che può tendere ad instabilizzare il contatto tra dispositivo master e operatore e, di conseguenza, anche il dispositivo slave localizzato in remoto. Tale fenomeno è, ovviamente, indesiderato e non è presente nei dispositivi telecontrollati con feedback tattile, in quanto l’utente non avverte una sensazione di movimento. Tuttavia, allo stesso tempo, in questa seconda tipologia di sistemi telecontrollati l’utilizzatore riceve meno informazioni dal dispositivo slave, in quanto sente soltanto un feedback tattile e non cinestetico. Pertanto, l’operatore ha una percezione meno dettagliata dell’interazione tra lo slave e l’ambiente ad esso circostante, rispetto a quanto avviene nei sistemi telecontrolla- ti con feedback cinestetico. Inoltre, facendo sempre riferimento al telecontrollo con feedback aptico, è necessario, per trasmettere una sensazione di forza all’utente che riproduca fedelmente ciò che accade fra ambiente e slave, controllare quest’ultimo in forza. Per fare ciò sono presenti in letteratura differenti strategie di controllo, ognuna con i propri limiti e vantaggi; in particolare, si tratta del controllo in am- 4
  • 41.
    Introduzione mettenza ed inimpedenza, sia in anello chiuso che in anello aperto. Entrambe sono validi approcci in quanto non esiste il miglior metodo in senso assoluto, tuttavia il loro impiego è fortemente influenzato dalla tipologia di sistema in esame, quindi dal suo comportamento dinamico. Osservando un dispositivo aptico controllato in forza risulta difficile, se non impossibile, comprendere quale tecnica di controllo sia stata implementata, ma in ogni caso, i dispositivi cinestetici, sono progettati per interagi- re con l’essere umano sul canale cinestetico, quindi nella frazione di banda definita di percezione aptica attiva: le forze di interazione sono dell’ordine delle centinaia di N, con frequenza massima teorica di circa 10 Hz. Essendo il telecontrollo una tematica di rilevante interesse, sono molte le soluzioni ad oggi presenti che lo implementano: ne vengono pertanto analizzate alcune signi- ficative mettendone in luce gli aspetti essenziali che le caratterizzano. Una delle prime realizzazioni risale agli anni quaranta, dove si è avvertita la necessità di avere dei dispositivi in grado di trattare materiali radioattivi tutelando la sicurezza del- l’utente [7], [8]. Porre al sicuro l’essere umano anche in ambienti pericolosi o difficili da raggiungere, ma al contempo non prescindere dell’intelligenza umana, è stato, nel corso degli anni, il filo conduttore che ha guidato lo sviluppo di sistemi telecon- trollati. A tal proposito, nel settore militare, sono stati realizzati dispositivi per il disinnesco delle bombe oppure, nel contesto nucleare e chimico, esistono sistemi per effettuare semplici operazioni di riparazione degli impianti. Un altro ambito in cui la teleoperazione sta acquisendo sempre maggior rilievo è quello chirurgico: qui si vuo- le assistere il chirurgo, nello svolgimento di operazioni sul paziente, supportandolo ad esempio con un feedback aptico o visivo. L’utilizzo della teleoperazione in questo settore consente di eseguire l’attività desiderata sul paziente in maniera ripetibile e decisamente più precisa, non essendo soggetta ad eventuali tremolii derivanti dall’a- zione umana, alleggerendo pertanto il carico di lavoro del chirurgo. In tale contesto, Xia et al. [13] hanno sviluppato un sistema di controllo che semplifica lo svolgimento dell’attività di sutura. Tali dispositivi sono ampiamente diffusi e consentono un più rapido recupero del paziente post - operazione. In molte applicazioni è anche utile sfruttare la ridondanza cinematica del manipolatore, che si verifica quando il numero di gradi di libertà nello spazio dei giunti è maggiore di quello nello spazio cartesiano; 5
  • 42.
    Introduzione in tale situazione,il sistema teleoperato può trarre benefici nella maggiore capacità di movimento, evitando le singolarità, o nello schivare ostacoli. Un’ applicazione in cui si sfrutta questa configurazione è nella costruzione di apparecchiature quali gli scavatori, in cui l’utente gestisce la velocità dei giunti per eseguire particolari attività [10]. In ambito nucleare, è significativo il lavoro condotto da Abi-Farraj et al. [3], che vede la presenza di due robot per la gestione dei rifiuti radioattivi, uno dotato di pinza e l’altro equipaggiato con una telecamera. Il robot dotato di capacità visiva, muovendosi in maniera completamente autonoma senza perdere di vista l’attività da svolgere, controlla in parte il movimento dell’utensile, mentre i restanti gradi di libertà sono gestiti tramite joystick da un operatore. Come già anticipato, i settori cui sono impiegati i sistemi teleoperati sono molteplici, cosi come le applicazioni: pertanto ogni dispositivo deve rispondere alle specifiche esigenze dell’applicazione di conseguenza, l’architettura di controllo è variabile a seconda del contesto. La presente tesi si configura in un ambito di ricerca in cui è di interesse mettere in comunicazione e, quindi far interagire, due sistemi meccanici, nello specifico un’in- terfaccia aptica, dotata di un sensore di forza, ed un sistema cartesiano. L’obiettivo finale è dunque quello di sviluppare un applicativo che permette di telecontrollare la macchina a 2 g.d.l. mediante un feedback aptico, percepito interagendo con il mani- polo dell’interfaccia cinestetica. La strumentazione a disposizione consiste dunque nei due banchi di prova, corredati ciascuno dal rispettivo PC industriale che ne per- mette il controllo: il sistema aptico è il dispositivo master, che trasmette i set-point a quello slave, rappresentato dal sistema cartesiano. Lo slave, in un applicazione di telecontrollo tramite feedback aptico, interagisce con l’ambiente: tale interazione viene misurata mediante un sensore di forza e trasmessa al dispositivo master, che, chiudendo l’anello in forza, fornisce all’utente una percezione cinestetica. Nel caso in esame, non avendo il sistema cartesiano una cella di carico e non interagendo effettivamente con un particolare ambiente, l’iterazione viene virtualizzata: a secon- da della posizione assunta dall’end effector, viene generata un’azione virtuale da far percepire all’utente che adopera il manipolo dell’interfaccia aptica. Per conseguire tale traguardo, è necessario dapprima comprendere approfonditamente il funziona- mento dell’interfaccia aptica, quindi analizzare nel dettaglio la tematica del controllo 6
  • 43.
    Introduzione in posizione edin forza, per far avvertire correttamente all’utente che interagisce col banco di prova, un ambiente virtuale definito a priori. In secondo luogo, venendo coinvolto un secondo sistema meccanico quale la macchina a 2 g.d.l., è doveroso sviluppare praticità nel posizionare l’end effector, nel piano di lavoro, secondo una traiettoria generica. In aggiunta, essenziale per l’efficace sintesi del telecontrollo, è l’implementazione di un adeguato sistema di comunicazione, in maniera tale da consentire l’indispensabile trasmissione dei dati fra i due banchi: a tal scopo so- no stati analizzati prestazioni e limiti di due protocolli impiegabili nella presente applicazione, quali TCP e UDP. Pertanto, ai fini di un efficiente telecontrollo, nel- l’elaborato, si delineano anche le procedure di configurazione della rete per mettere in comunicazione due PC target dotati di sistema operativo Simulink Real time, che necessitano di trasmettersi dati a vicenda. La presente attività di tesi, data la sua corposità, è suddivisa in tre parti distinte: interfaccia aptica a un grado di libertà, sistema cartesiano a due gradi di libertà e telecontrollo del secondo sistema citato mediante il primo. Nel primo capitolo della prima parte viene analizzato esclusivamente il sistema aptico, partendo da una fase preliminare di descrizione del banco e modellazione dinamica, in cui vengono sviluppate le equazioni dinamiche dei modelli rigido e cedevole, per poi effettuare l’analisi modale, quindi lo studio dei modi di vibrare. La cella di carico costitui- sce l’elemento imprescindibile del sistema aptico, pertanto, non avendo informazioni certe a riguardo, una sezione del capitolo è dedicata alla calibrazione del sensore. Inoltre, il movimento del carrello lungo la guida lineare, è soggetto a delle considere- voli azioni d’attrito: vengono dunque analizzati i principali modelli statici d’attrito presenti in letteratura e mostrato quello scelto ed implementato, in seguito ai ri- sultati sperimentali ottenuti nelle prove condotte. Come si comprenderà nel corso dell’elaborato, la scelta di una particolare di architettura del sistema di controllo in forza, richiede la presenza di un adeguato controllo di posizione: vengono quindi analizzate nel dettaglio due tecniche di controllo del moto, quali il posizionamento poli ed il controllo in cascata. L’aspetto chiave di questa parte, descritto nel capitolo 2, è il controllo in forza. Infatti, anche in ottica telecontrollo, per avere un feedback aptico coerente con l’ambiente virtuale che si desidera simulare, è necessario esami- 7
  • 44.
    Introduzione nare accuratamente lestrategie di controllo in forza, mettendo in luce punti di forza e di debolezza. Pertanto, in questa sezione, vengono enunciate le tre principali tec- niche di controllo in forza: in ammettenza ed in impedenza, sia in anello aperto che chiuso. In seguito ad un’introduzione ed analisi teorica sulle strategie disponibili, si riproducono, sia in simulazione, che successivamente sul banco di prova, una serie di ambienti virtuali quali quello elastico, visco-elastico e massa-molla-smorzatore, evidenziandone peculiarità ed aspetti emersi in fase di progetto e di realizzazione. A valle dell’analisi di ogni ambiente sono state tratte delle conclusioni sia riguardo la capacità del sistema di controllo scelto nel riprodurre il comportamento virtuale desiderato sia confrontando le prestazioni ottenute simulando l’ambiente con con- trollo in ammettenza piuttosto che in impedenza. Selezionata quindi l’architettura di controllo ritenuta migliore per l’applicazione, si implementano altri ambienti, qua- li quello scatola, triangolare, sinusoidale e dente di sega, con l’obiettivo di testare nuovamente la bontà del controllo su ambienti più facilmente intuibili da un utente poco avvezzo a questa tipologia di dispositivi. La seconda parte del lavoro è invece incentrata sullo studio del sistema cartesiano a due gradi di libertà: come per il sistema aptico, nel capitolo, è presente una sezione di descrizione del banco, modellazione dinamica ed analisi modale dei due assi, X ed Y. In seguito, fondamentale per raggiungere l’obiettivo finale, è stato implementato, anche per questo sistema, il controllo in posizione impiegando la metodologia del posizionamento poli. Una valida sintesi di quest’ultimo è di vitale importanza per procedere con l’assegnamento di particolari traiettorie da far seguire all’end-effector: a tal scopo sono stati implementati diversi percorsi quale quello lineare, circolare, a spirale di Archimede ed a forma di farfalla. Esaminati nel dettaglio i due sistemi che saranno protagonisti dell’applicazione fi- nale, la terza parte tratta la tematica del telecontrollo, quindi, in un primo capitolo, si analizzano vantaggi e svantaggi legati alla scelta di un protocollo piuttosto che un altro per permettere la comunicazione fra i due sistemi, seguito dall’illustrazione dell’avvenuta configurazione della rete, all’atto pratico, e da una dettagliata analisi delle latenze presenti lungo il canale di trasmissione quindi, dei loro possibili effetti sul controllo in forza. Infine, messe le basi per la buona riuscita del telecontrollo del 8
  • 45.
    Introduzione sistema cartesiano, simostra, a livello di codice, la macchina a stati implementata per eseguire ogni operazione disponibile e selezionata dall’utente. Per mettere in evidenza il successo dell’attività di telecontrollo vengono mostrati una serie di risul- tati sperimentali, sia con che senza feedback aptico: nel secondo caso si illustra come è stato possibile, muovendo il manipolo dell’interfaccia aptica lungo la guida lineare, pilotare il movimento dell’end effector del sistema cartesiano, lungo una traiettoria a piacere, quale quella lineare, circolare o a spirale di Archimede. Virtualizzando invece il sensore di forza sul sistema cartesiano, è stato introdotto il feedback ap- tico: a seconda dell’ambiente virtuale prestabilito, col quale la macchina a 2 g.d.l si suppone interagisca, l’utente percepisce una sensazione cinestetica impugnando il manipolo dell’interfaccia aptica. Nell’ultimo capitolo sono raccolte le conclusioni emerse a valle dell’intero lavoro di tesi, in seguito ai risultati sperimentali ottenuti. Le considerazioni di questa sezione fanno riferimento sia ad aspetti propriamente legati al telecontrollo che ad altri più conformi al controllo in forza, aspetto impre- scindibile quando ci si approccia a un sistema meccanico quale un’interfaccia aptica. Vengono inoltre proposti, partendo dall’applicazione sintetizzata, una serie di svi- luppi futuri o di possibili miglioramenti, con cui ampliare, o sfruttare in qualche altro simile contesto, il presente lavoro. 9
  • 47.
    Parte I Interfaccia apticaa un grado di libertà 11
  • 49.
    Capitolo 1 Descrizione edanalisi del sistema aptico a 1 G.D.L Il sistema meccanico in esame è un’interfaccia aptica a un grado di libertà, com- posta essenzialmente da un manipolo movimentabile lungo una guida lineare ed in grado di leggere, grazie alla presenza di un’opportuna cella di carico, la forza ad esso impressa dall’operatore. L’obiettivo del progetto sarà quello di effettuare il controllo dell’interfaccia e quindi permettere all’ utente che impugna il manipolo di percepire una sensazione cine- stetica, trasmessa tramite un motore elettrico, derivante da un ambiente virtuale definito a piacere. Alcuni ambienti virtuali che verranno implementati sono: • ambiente molla: l’utente, spostando il carrello dalla sua posizione iniziale, avverte un comportamento elastico, come se avesse una molla attaccata ad una o ad entrambe le estremità; il carrello ritorna nella posizione di riposo quando rilasciata: la risposta del sistema è funzione della rigidezza della molla. • ambiente muro e/o scatola: viene definita in una determinata posizione la presenza di un muro virtuale non oltrepassabile. L’utente può spostare la massa senza alcuna resistenza oppure percepire un ambiente molla fino al raggiungimento della posizione limite corrispondente al muro. Limitando il moto all’interno di due muri è possibile simulare lo spostamento del carrello all’interno di una scatola.
  • 50.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. Fig. 1.1: Banco a disposizione:interfaccia aptica a un grado di libertà • dente di sega: lungo la corsa utile dell’elemento mobile vengono poste più molle con la stessa rigidezza ed al superamento di certe posizioni prefissate si avverte il cedimento improvviso dell’elemento elastico e il passaggio a quello successivo. • ambiente trasparenza: l’utente riesce a spostare il carrello senza avvertire alcuna resistenza. Ulteriori e più sofisticati ambienti verranno discussi nel capitolo 2 relativo al controllo in forza. 1.1 Struttura del banco di prova Il banco di prova (Fig.1.1) è costituito dai seguenti elementi: 1. Modulo lineare con cinghia, sul quale è montato il carrello con il manipolo, elemento impugnabile del sistema. È l’elemento principale del banco poiché 14
  • 51.
    Struttura del bancodi prova costituisce in sostanza il telaio, la trasmissione ed il sistema di guida del car- rello dell’interfaccia. L’ asse è un modulo lineare Mondial MLM1-1P1800NZ realizzato interamente con profilati estrusi di alluminio con sezione trasversale di 40 x 40 mm. In dettaglio è composto da una guida lineare con due pattini a ricircolo di sfere sui quali è installato il carrello ed il sistema di tensionamento delle cinghia. La cinghia sincrona è prodotta da Megadyne, con profilo AT5 e larghezza 10 mm, ed è rinforzata con cavi di acciaio. La corsa utile del carrello è di 910 mm e la distanza tra i finecorsa e la rispettiva puleggia è di 480 mm. Il manipolo del sistema aptico è installato sul carrello, elemento mobile del banco, la cui dimensione è 220 x 80 mm; la massa movente complessiva è di circa 1.5 kg. In tabella 1.1 si riportano i dati significativi: Grandezza Valore Unità di misura Corsa 910 mm Rigidezza specifica cinghia 158445 N Inerzia puleggia folle 8.4019 · 10−5 kgm2 Inerzia puleggia motrice 8.0018 · 10−5 kgm2 Raggio puleggia 0.0286 m Tabella 1.1: Parametri dell’asse lineare a cinghia 2. Sistema di azionamento Il sistema di azionamento è costituito da: • Riduttore di velocità epicicloidale Sumitomo ENGX050-5 con rapporto di riduzione pari 5; • Motore brushless Mavilor BLS-055-220V con resolver e freno, rigi- damente collegato al riduttore tramite calettatore meccanico che quindi consente un accoppiamento rigido; • Giunto a lamina KTR Radex NC 10EK, per la trasmissione del moto dal riduttore di velocità alla puleggia motrice del modulo lineare a cinghia, in quanto quest’ultima non permette un accoppiamento diretto; 15
  • 52.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. • Azionamento elettrico Infraror XtrapulsPac 230 V. L’azionamento elettrico Infranor XtraplusPAc 230V consente il controllo del motore ed è configurato in modalità Analog Current: diamo un segna- le analogico di riferimento all’azionamento, nello specifico una tensione, che verrà convertita, tramite la costante dell’azionamento, in una corrente, e suc- cessivamente in coppia di riferimento per mezzo della costante di coppia kt del motore. In uscita dall’azionamento non si ottiene chiaramente la corrente effettiva, ma sarà leggermente diversa per effetto della dinamica stessa dell’a- zionamento, che si occupa di implementare al suo interno un anello di controllo in corrente. Con questa modalità dunque, applicando una tensione adegua- ta all’ingresso dell’azionamento dedicato, richiediamo al motore uno specifico valore di coppia. Si precisa come l’ Infranor XtraplusPAc 230V abbia la pos- sibilità di chiudere al suo interno non solo l’anello in corrente, ma anche quello in velocità e in posizione: questi ultimi verranno però sviluppati esternamente per aver un controllo più efficace e configurabile. Al motore giunge quindi una corrente che permette di generare coppia, noti i valori dei parametri specificati in tabella 1.2. Grandezza Valore Unità di misura Tensione massima di comando (Vcmdmax ) +10 V Tensione minima di comando (Vcmdmin ) −10 V Corrente massima azionamento (Imax) 5 A Costante di coppia del motore (kt) 0.5 Nm/A Tabella 1.2: Parametri azionamento elettrico La costante dell’azionamento kaz si ricava come: kaz = Imax · kt Vcmdmax (1.1) Applicando quindi una tensione di +10 V si ottiene una coppia massima di 2.5 Nm, corrispondente, tenendo conto del rapporto di trasmissione del riduttore 16
  • 53.
    Struttura del bancodi prova e del raggio puleggia, a una massima forza di interazione con l’operatore in condizioni statiche di circa 436 N. Per ciò che riguarda il resolver invece, il suo segnale è fornito all’azionamento elettrico e ci permette di conoscere la posizione angolare del motore. Quest’ultima informazione deve essere resa disponibile anche al sistema di controllo: per tale ragione l’azionamento ha attiva la funzionalità di encoder simulato. Viene dunque simulata la presenza di un encoder incrementale che permette, ricevuto il segnale del resolver, di generare in uscita un corrispon- dente segnale encoder differenziale sul connettore X2 dell’azionamento. Sullo stesso connettore sono disponibili i segnali utilizzati per gestione dell’aziona- mento, segnale di enable, segnali di finecorsa,ecc, e il riferimento di coppia fornito dal sistema di controllo. Le connessioni realizzate sono riassunte in tabella 1.3. I dati di motore, riduttore e giunto sono riportati nelle rispettive tabelle 1.4,1.5 e 1.6. 17
  • 54.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. Funzione I/O Connessione +Vref I pin 21 DAQ -Vref I pin 54 DAQ AOK + O 24V Encoder B - O B - Line receiver Encoder B + O B + Line receiver Encoder A - O A - Line receiver Encoder A + O A + Line receiver STO2 I 24 V GND - GND STO1 I 24V ENABLE I pin 52 DAQ NEG. LIMIT I finecorsa destro POS. LIMIT I finecorsa sinistro Tabella 1.3: Connettore X2 azionamento Grandezza Valore Unità di misura Velocità di rotazione massima 1000 rpm Coppia nominale 0.7 Nm Coppia massima 2.8 Nm Costante di coppia del motore 0.5 Nm/A Inerzia del motore 1.7 · 10−5 kgm2 Costante fem 0.29 V s/A Resistenza concatenata 14.7 Ω Induttanza concatenata 18.6 mH Tabella 1.4: Dati del motore Mavilor BLS-055-220V 18
  • 55.
    Struttura del bancodi prova Grandezza Valore Unità di misura Coppia nominale in uscita 6 Nm Coppia massima in uscita 12 Nm Rapporto di riduzione 5 − Inerzia lato motore 0.6 · 10−5 kgm2 Velocità nominale in ingresso 4000 rpm Diametro albero motore 9 mm Diametro albero di uscita 12 mm Rigidezza 3.094 · 103 Nm/rad Tabella 1.5: Dati del riduttore Sumitomo ENGX050-5/C08G Grandezza Valore Unità di misura Momento d’inerzia 0.000012 kgm2 Coppia nominale 7.5 Nm Coppia massima 15 Nm Diametro lato 1 12 mm Diametro lato 2 14 mm Rigidezza torsionale 5600 Nm/rad Tabella 1.6: Giunto KTR RADEX-NC 10 EK 19
  • 56.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. 3. Sensori I sensori presenti sul banco di prova sono: • trasduttore di posizione, utilizzato per conoscere la posizione del carrello sulla guida lineare; • sensore di forza, necessario per misurare l’interazione con l’operatore; • due sensori di prossimità, usati come sensori di finecorsa. Come già anticipato, il motore possiede un resolver, ma il sistema di controllo del banco di prova riceve un segnale encoder simulato dall’azionamento. L’en- coder non è quindi fisicamente necessario poichè il suo segnale è fornito in modo virtuale dall’azionamento: la posizione del carrello viene ricavata utiliz- zando il rapporto di trasmissione del sistema meccanico. Il sensore di forza invece ha un estremità vincolata al carrello e di fatto costi- tuisce l’elemento impugnabile del sistema. Sul carrello è montato il circuito amplificatore del segnale di tensione: il sensore eroga 1V ogni 24.34N di forza applicata, da cui la costante della cella di carico kcell pari a 24.34. Non disponendo di dati attendibili sul sensore di forza, per determinare la sua costante, è stata fatta la calibrazione, argomentata nella sezione 1.4. Il sensore è inoltre caratterizzato da un offset di tensione di circa 6.07 V rappresentante la condizione di forza nulla, che dovrà essere sottratto dall’interazione intro- dotta dall’utente. La forza massima applicabile alla cella di carico è di circa 200 N. Per ciò che riguarda i sensori di prossimità, sono sensori induttivi che permet- tono di rilevare la presenza di elementi metallici ad una certa distanza. In questa applicazione servono a limitare la corsa del carrello senza che si scontri contro il puffer, finecorsa meccanico che interviene in caso di un loro fallimen- to. I sensori di prossimità sono due Pepperl+Fuchs 3RG4011-0AF33-PF con corpo cilindrico interamente filettato M8 x 1 e la distanza massima di rileva- zione è circa 1.65 mm. La tensione di alimentazione è a 24V e la loro lettura permette l’individuazione di due differenti stati: • livello ”0”, quando il carrello si trova davanti al finecorsa; 20
  • 57.
    Struttura del bancodi prova • livello ”1”, quando il carrello non si trova davanti al finecorsa. 4. Sistema di controllo Il sistema di controllo adottato si basa sull’utilizzo di un PC industriale munito di sistema operativo real time, nello specifico Simulink Realtime. Un elemento fondamentale per la gestione dei segnali e dell’azionamento Infranor Xtrapul- sPac è la scheda DAQ prodotta da National Instruments con sigla PCI6229, la quale ha un interfaccia bus tipo PCI e consente la gestione dei seguenti segnali: • 32 input analogici single ended oppure 16 input differenziali, con range di tensione ± 10V,± 5V,± 1V,± 0.2V; • 4 uscite analogiche con range ± 10 V • 48 I/O digitali; • 2 contatori a 32 bit che consentono l’acquisizione di altrettanti segnali encoder in modalità X1, X2 e X4. Sul banco di prova si trova la basetta TBX 68, che permette la connessione elettrica con il sistema di acquisizione e riproduce la medesima configurazione dei pin della scheda PCI mettendo a disposizione una semplice ed intuitiva interfaccia a morsettiera (Fig.1.2). I segnali forniti ed i pin utilizzati sono riassunti sinteticamente nella tabella 1.7. Come è stato detto, non è presente un encoder fisico, ma virtualizzato di tipo differenziale: tale scelta richiede l’uso di un convertitore di segnale per l’acquisizione. Il convertitore di segnale, line receiver, è stato realizzato gra- zie all’integrato Texas Instruments AM26LS32A che consente la conversione di segnali differenziali, fino ad un massimo di quattro segnali simultanei. La tensione di alimentazione dell’integrato è pari a 5V ed è generata da un regola- tore lineare di tensione Motorola MC78M05CT a cui è fornita l’alimentazione a 24V. 21
  • 58.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. PCI-6229Pinout D GND D GND PFI 8/P2.0 PFI 7/P1.7 PFI 15/P2.7 PFI 13/P2.5 PFI 4/P1.4 PFI 3/P1.3 PFI 2/P1.2 D GND PFI 10/P2.2 PFI 11/P2.3 P0.3 P0.7 P0.2 D GND P0.5 P0.0 D GND AO GND AO GND AI GND AI 7 (AI 7+) AI 14 (AI 6-) AI GND AI 5 (AI 5+) AI 12 (AI 4-) AI SENSE AI 11 (AI 3-) AI GND AI 2 (AI 2+) AI 9 (AI 1-) AI GND AI 0 (AI 0+) PFI 14/P2.6 PFI 9/P2.1 D GND PFI 5/P1.5 D GND +5 V D GND PFI 12/P2.4 PFI 6/P1.6 PFI 1/P1.1 PFI 0/P1.0 D GND D GND +5 V D GND P0.6 P0.1 D GND P0.4 NC AO 1 AO 0 AI 15 (AI 7-) AI GND AI 6 (AI 6+) AI 13 (AI 5-) AI GND AI 4 (AI 4+) AI GND AI 3 (AI 3+) AI 10 (AI 2-) AI GND AI 1 (AI 1+) AI 8 (AI 0-) 68 34 67 33 66 32 65 31 64 30 63 29 62 28 61 27 60 26 59 25 58 24 57 23 56 22 55 21 54 20 53 19 52 18 51 17 50 16 49 15 48 14 47 13 46 12 45 11 44 10 43 9 42 8 41 7 40 6 39 5 38 4 37 3 36 2 35 1 AI 24 (AI 16-) AI 17 (AI 17+) AI GND AI 26 (AI 18-) AI 19 (AI 19+) AI GND AI 20 (AI 20+) AI GND AI 29 (AI 21-) AI 22 (AI 22+) AI GND AI 31 (AI 23-) AO 2 AO 3 NC P0.12 D GND P0.9 P0.14 D GND +5 V D GND D GND P0.16 P0.17 D GND +5 V D GND P0.21 P0.22 D GND P0.25 P0.28 P0.30 AI 16 (AI 16+) AI 25 (AI 17-) AI 18 (AI 28+) AI 27 (AI 19-) AI SENSE 2 AI 28 (AI 20-) AI 21 (AI 21+) AI GND AI GND AI GND AI 30 (AI 22-) AI 23 (AI 23+) AI GND AO GND AO GND D GND P0.8 P0.13 D GND P0.10 P0.15 P0.11 P0.27 P0.26 D GND P0.18 P0.19 P0.20 P0.29 P0.31 P0.23 P0.24 D GND D GND 1 35 2 36 3 37 4 38 5 39 6 40 7 41 8 42 9 43 10 44 11 45 12 46 13 47 14 48 15 49 16 50 17 51 18 52 19 53 20 54 21 55 22 56 23 57 24 58 25 59 26 60 27 61 28 62 29 63 30 64 31 65 32 66 33 67 34 68 NC = No Connect NC = No Connect TERMINAL 34 TERMINAL 68 TERMINAL 35 TERMINAL 1 TERMINAL 35 TERMINAL 1 TERMINAL 34 TERMINAL 68 CONNECTOR 0 (AI 0-15) CONNECTOR 1 (AI 16-31) Counter/TimerSignal DefaultPFITerminal CTR0SRC PFI8 CTR0GATE PFI9 CTR0AUX PFI10 CTR0OUT PFI12 CTR0A PFI8 PCI-6229 Features Fig. 1.2: Interfaccia a morsettiera della basetta TBX68 22
  • 59.
    Modellazione dinamica delsistema Segnale Pin I/O Segnale finecorsa vicino al motore 16 I Segnale finecorsa lontano dal motore 17 I Digital GND 18 - + V riferimento di coppia 21 O Analog GND 32 - Canale A encoder 42 I Canale B encoder 46 I Lettura fungo 48 I Enable azionamento 52 O -V riferimento di coppia 54 O Analog GND 59 - +V segnale cella di carico 68 I Tabella 1.7: I/O Sistema di acquisizione 1.2 Modellazione dinamica del sistema Lo studio del sistema meccanico in esame prevede una prima fase di modellazione matematica, utile per effettuare delle simulazioni e analizzare offline il comporta- mento del banco di prova. Vengono sviluppati due modelli: quello rigido, efficace per la successiva sintesi dei regolatori, e quello cedevole, vantaggioso per rimanere il più aderenti possibile al sistema reale. 1.2.1 Modello rigido Il modello rigido viene mostrato schematicamente in Fig.1.3: motore, riduttore, giunto, pulegge e carrello con le loro rispettive inerzie/masse sono gli unici elementi da considerare in questo schema. Segue quindi un sistema a un grado di libertà, rappresentato dalla coordinata associata alla rotazione del motore (θm). Il legame tra quest’ultima e il movimento lineare del carrello è ottenibile utilizzando il rapporto 23
  • 60.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. M 𝐽𝑚 𝐽𝑟 𝐽𝑔 𝑥 = θ𝑚τ 𝑅𝑝 𝐽𝑝1, 𝑅𝑝 𝑚 𝐶𝑚 ϑ𝑚, ሶ ϑ𝑚, ሷ ϑ𝑚 𝐽𝑝2, 𝑅𝑝 τ Fig. 1.3: Modello rigido di trasmissione e il raggio della puleggia (Rp): x = θm · τ · Rp (1.2) L’equazione della dinamica è stata ottenuta impostando il seguente bilancio delle potenze: Cm · ωm = (Jm + Jr) · ω̇m · ωm + Jg · ω̇r · ωr + Jp1 · ω̇r · ωr + Jp2 · ω̇r · ωr + m · a · v (1.3) Sostituendo nell’equazione (1.3) l’espressione che lega la velocità angolare in uscita dal riduttore alla velocità angolare del motore, τ = ωr/ωm, si ricava l’espressione della coppia motrice: Cm = θ̈m · [(Jm + Jr) + (Jg + Jp1 + Jp2) · τ2 + m · R2 p · τ2 ] (1.4) La funzione di trasferimento è: θm Cm = 1 Jrid · s2 (1.5) con Jrid = [(Jm + Jr) + (Jg + Jp1 + Jp2) · τ2 + m · R2 p · τ2 ]. Nota l’equazione (1.5) si passa all’ implementazione del modello in Simulink mo- strato in Fig.1.4. 24
  • 61.
    Modellazione dinamica delsistema Fig. 1.4: Rappresentazione del modello rigido in Simulink 1.2.2 Modello cedevole Lo sviluppo del modello cededole, a differenza di quello rigido, considera anche le cedevolezze dei vari elementi del sistema quali la rigidezza della trasmissione, del giunto e della cinghia. I contributi dissipativi vengono in prima analisi trascurati in quanto non ci sono informazioni a riguardo. Risulta un sistema a 5 gradi di libertà identificati dalle coordinate θm, θr, θg, θp, x. In Fig.1.5 viene mostrata la schematizzazione del sistema visto come cedevole. L’equazione della dinamica del sistema è stata ricavata usando il principio dei lavori virtuali (PLV ), applicandolo per ogni grado di libertà. Le rotazioni e lo spostamento del carrello vengono considerati con segno positivo nel verso indicato in Fig.1.5: il prodotto tra spostamento virtuale e forza generalizzata sarà positivo se entrambi nello stesso verso, altrimenti negativo. Considerando il grado di libertà descrivente la rotazione della puleggia 2 e facendo riferimento alla Fig.1.6 (θp) si ottiene la seguente equazione della dinamica in cui compaiono i termini associati alla coppia d’inerzia e alle forze elastiche F2 ed F3: LP2 = −Jp · θ̈p · δθp + F2 · δθp · Rp − F3 · δθp · Rp = 0 Jp · θ̈p − Rp · (x − θp · Rp) · kc2 + R2 p · kc3 · (θp − θg) = 0 (1.6) La medesima equazione viene scritta per la rotazione della puleggia 1 (θg) in cui però, oltre ai termini associati alla coppia d’inerzia e alle forze elastiche F1 ed F3, 25
  • 62.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. M 𝐶𝑚 ϑ𝑚, ሶ ϑ𝑚, ሷ ϑ𝑚 𝐽𝑚 𝐽𝑟 τ ϑ𝑚τ ϑ𝑟, ሶ ϑ𝑟, ሷ ϑ𝑟 𝐽𝑔 2 𝐽𝑔 2 𝑘𝑔 ϑ𝑔, ሶ ϑ𝑔, ሷ ϑ𝑔 𝐽𝑝1, 𝑅𝑝 𝐽𝑝2, 𝑅𝑝 ϑ𝑔, ሶ ϑ𝑔, ሷ ϑ𝑔 ϑ𝑝, ሶ ϑ𝑝, ሷ ϑ𝑝 𝑥, ሶ 𝑥, ሷ 𝑥 m 𝑘𝑟 𝑘𝑐2 𝑘𝑐1 𝑘𝑐3 𝐿3 Fig. 1.5: Modello cedevole compare anche la coppia elastica (Cel) (Fig.1.6): LP1 = −δθg · Jp1 · ¨ θg − δθg · Jg 2 · ¨ θg − F1 · δθg · Rp + F3 · δθg · Rp + δθg · kt · (θr − θg) = 0 Jp1 · ¨ θg + Jg 2 · ¨ θg + Rp · kc1 · (θg · Rp − x) − kc3 · R2 p · (θp − θg) − kt · (θr − θg) = 0 (1.7) Esaminando il grado di libertà associato alla rotazione del giunto (θr) (Fig.1.7): Lθr = − Jg 2 · θ̈r · δθr − kg · (θr − θg) · δθr + kt · δθr · (θm · τ − θr) = 0 Jg 2 · θ̈r + kg · (θr − θg) − kt · (θm · τ − θr) = 0 (1.8) Analogamente per la rotazione del motore (θm) (Fig.1.8): Lθm = +Jm · θ̈m · δθm + Jr · θ̈m · δθm + kt · τ · (θm · τ − θr) · δθm − Cm · δθm = 0 Cm = (Jm + Jr) · θ̈m + kt · τ · (θm · τ − θr) = 0 (1.9) 26
  • 63.
    Modellazione dinamica delsistema 𝐹1 𝐹1 𝐹3 𝐹3 𝐹2 𝐹2 𝐶𝑒𝑙 = 𝑘𝑡(ϑ𝑟 − ϑ𝑔) 𝐽𝑔 2 ሷ ϑ𝑔 𝐽𝑝1 ሷ ϑ𝑔 ϑ𝑔, ሶ ϑ𝑔, ሷ ϑ𝑔 𝐽𝑝1, 𝑅𝑝 𝐽𝑝2, 𝑅𝑝 𝑥, ሶ 𝑥, ሷ 𝑥 𝑚 ሷ 𝑥 𝐽𝑝 ሷ ϑ𝑝 ϑ𝑝, ሶ ϑ𝑝, ሷ ϑ𝑝 Fig. 1.6: Gradi di libertà θp e θg 𝐶𝑒𝑙= 𝑘𝑔(ϑ𝑟 − ϑ𝑔) ϑ𝑟 𝐽𝑔 2 ሷ ϑ𝑟 𝑘𝑡(ϑ𝑚τ − ϑ𝑟) Fig. 1.7: Grado di libertà θr 27
  • 64.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. M ϑ𝑚 ϑ𝑚τ 𝐶𝑚 𝐽𝑚 ሷ ϑ𝑝 𝐽𝑟 ሷ ϑ𝑝 τ 𝐶𝑒𝑙 = 𝑘𝑟(ϑ𝑚τ-ϑ𝑟) Fig. 1.8: Grado di libertà θm Infine, l’equazione della dinamica per il grado di libertà associato al movimento lineare del carrello (x)(Fig.1.6) è: Lx = −m · ẍ · δx + F1 · δx − F2 · δx = 0 m · ẍ − kc1 · (θg · Rp − x) + kc2 · (x − θp · Rp) = 0 (1.10) Utilizzando la notazione matriciale per raggruppare le equazioni (1.7),(1.6),(1.9),(1.8),(1.10), ¨ X =            θ̈m θ̈r θ̈g θ̈p ẍ            X =            θm θr θg θp x            M =            Jm + Jr 0 0 0 0 0 Jg 2 0 0 0 0 0 Jg 2 + Jp1 0 0 0 0 0 Jp2 0 0 0 0 0 m            K =            kt · τ2 −kt · τ 0 0 0 −kt · τ kt + kg −kg 0 0 0 −kg kg + kc1 · R2 p + kc3 · R2 p −kc3 · R2 p −kc1 · Rp 0 0 −kc3 · R2 p kc2 · R2 p + kc3 · R2 p −kc2 · Rp 0 0 −kc1 · Rp −kc2 · Rp kc1 + kc2            28
  • 65.
    Modellazione dinamica delsistema Bf =            1 0 0 0 0            si scrive l’equazione della dinamica per il sistema in esame: M · ¨ X + K · X = Bf · Cm(t) (1.11) E’ importante osservare come le rigidezze della cinghia kc1 e kc2 non siano costanti, ma varino con la posizione del carrello, come mostrato in Fig.1.9. E’ pertanto ne- -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 [m] 1 1.5 2 2.5 3 3.5 [N/m] 105 kc1 kc2 Fig. 1.9: Andamento dei valori delle rigidezze kc1 e kc2 in funzione della posizione assunta dal carrello lungo la guida lineare cessario calcolarle in funzione della coordinata x attraverso la seguente formula: k = Csp L = rigidezza specifica cinghia lunghezza dello spezzone di cinghia (1.12) Nello specifico, chiamando c la corsa del carrello e fcpull la distanza tra la puleggia e il finecorsa si ricava: kc1 = Csp corsa 2 − fcpull − x (1.13) kc2 = Csp corsa 2 + fcpull − x (1.14) 29
  • 66.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. La rigidezza kc3 è invece costante e calcolabile come: kc3 = Csp L3 (1.15) Tali considerazioni conducono a una matrice rigidezza non costante bensı̀ funzione della posizione del carrello, K = K(x). Inoltre, nello scrivere l’equazione della dinamica si sarebbero dovuti tener in conside- razione anche dei termini legati alla variabilità di kc1 e kc2: le equazioni del sistema cedevole risulterebbero però piuttosto complesse a causa della loro forte non linea- rità. Per esser ancora più aderenti al sistema reale, l’equazione (1.11) dovrebbe tener conto anche del contributo dell’attrito, funzione della velocità del carrello: per tali considerazioni si rimanda al capitolo 1.5 dedicato alla modellazione dell’attrito. Ricavata l’equazione della dinamica, l’accelerazione del sistema può esser determi- nata come: ¨ X = M−1 · (Bf · Cm + K · X) (1.16) La (1.16) è un sistema di equazioni differenziali del secondo ordine, risolvibile nu- mericamente con il metodo di Runge-Kutta, ad esempio, oppure sfruttando gli stru- menti offerti dall’ambiente Simulink. Si implementa allora il sistema nell’ambiente Simulink (Fig.1.10). Compattandolo in un solo blocco e mantenendo come output i parametri di interesse si ottiene la rappresentazione di Fig.1.11. 30
  • 67.
    Analisi modale Fig. 1.10:Modello cedevole Fig. 1.11: Modello cedevole compatto 1.3 Analisi modale Nota l’equazione della dinamica (1.11), ricavata eseguendo una linearizzazione del sistema per ogni punto dell’asse, quindi trascurando i contributi legati alla varia- bilità delle rigidezze non costanti, si procede con lo studio del modello cedevole, analizzando la sua risposta libera e forzata. Come primo passo si determinano le pulsazioni naturali e i modi di vibrare conside- rando il sistema non smorzato e non forzato, quindi con equazione: M · ¨ X + K · X = 0 (1.17) la cui soluzione è del tipo: x = X sin(ωt) (1.18) 31
  • 68.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. Sostituendo la (1.18) in (1.17) si ottiene il sistema lineare omogeneo: (K − ω2 M)X = 0 (1.19) Scartando la soluzione banale X = 0, le altre soluzioni si trovano imponendo: det(−ω2 M + K) = 0 (1.20) In altre parole, scrivendo la (1.20) nella forma: det(M−1 K − ω2 I) = 0, (1.21) determinare le pulsazioni naturali significa risolvere il problema agli autovalori della matrice M−1 K mentre i corrispondenti autovettori costituiscono i modi di vibrare. Essendo che nel sistema in esame due rigidezze variano con la posizione del carrello, anche le frequenze non sono costanti. Il calcolo delle pulsazioni naturali in Matlab ha fornito il seguente risultato (Fig.1.12): -0.4 -0.2 0 0.2 0.4 x [m] -0.01 0 0.01 1 [rad/s] -0.4 -0.2 0 0.2 0.4 x [m] 500 600 700 800 2 [rad/s] -0.4 -0.2 0 0.2 0.4 x [m] 1500 2000 3 [rad/s] -0.4 -0.2 0 0.2 0.4 x [m] 5200 5300 5400 5500 4 [rad/s] -0.4 -0.2 0 0.2 0.4 x [m] 3.8 3.85 3.9 5 [rad/s] 104 Fig. 1.12: Pulsazioni naturali variabili con la posizione del carrello Queste informazioni sono utili per determinare la banda passante entro cui il sistema può considerarsi come rigido, aiutandoci nella progettazione del regolatore di con- trollo. Viene di seguito proposta una tabella riassuntiva (Tabella 1.8) con i valori delle pulsazioni naturali agli estremi e al centro della corsa utile del carrello. 32
  • 69.
    Analisi modale Posizione [mm]ω1[rad s ] ω1[rad s ] ω1[rad s ] ω2[rad s ] ω2[rad s ] ω2[rad s ] ω3[rad s ] ω3[rad s ] ω3[rad s ] ω4[rad s ] ω4[rad s ] ω4[rad s ] ω5[rad s ] ω5[rad s ] ω5[rad s ] −0.455 0 568.694266 2052.928645 5263.905412 38645.324230 0 0 631.973547 1600.800334 5306.875518 38645.521967 0.455 0 800.193998 1414.027949 5431.237962 38646.095410 Tabella 1.8: Valori principali delle pulsazioni naturali Per verificare che il modello cedevole rappresentato in (Fig.1.10) sia corretto, si ef- fettuano alcune simulazioni in precise condizioni, in modo che il risultato sia già noto a priori e prevedibile. In particolare, assumendo che la matrice K sia costante (si ipotizza che il carrello si trovi nella posizione x = 0), le pulsazioni naturali e i modi di vibrare ottenuti sono riportati in Fig.1.13: Fig. 1.13: Pulsazioni naturali variabili e modi di vibrare con carrello a metà corsa Considerando il sistema descritto dall’equazione (1.17), quindi non smorzato e con forzante nulla, e scegliendo come condizioni iniziali velocità nulla e posizione pari al secondo modo di vibrare, la risposta libera nel tempo sarà prevedibilmente si- 33
  • 70.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. nusoidale, con ampiezza e pulsazione naturale date dal modo di vibrare scelto: la Fig.1.14 mostra il risultato atteso e permette quindi di dimostrare la correttezza dello schema realizzato in Simulink. 0 0.05 0.1 [s] -2 0 2 [rad] m 0 0.05 0.1 [s] -0.5 0 0.5 [rad] r 0 0.05 0.1 [s] -0.5 0 0.5 [rad] g 0 0.05 0.1 [s] -0.05 0 0.05 [rad] p 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 [s] -4 -2 0 2 4 [m] 10-3 x Fig. 1.14: Oscillazioni libere del sistema non smorzato, non forzato, condizioni iniziali pari al secondo modo di vibrare 34
  • 71.
    Analisi modale 1.3.1 Determinazionedella matrice smorzamento Al fine di stimare il valore dello smorzamento delle cinghie del sistema, si sfrut- tano le coordinate omogenee, ovvero coordinate che permettono di disaccoppiare le equazioni del moto del sistema, diagonalizzando le matrici di massa, rigidezza e smorzamento. Ricavate dunque le pulsazioni naturali e i corrispondenti (X (i) ) autovalori, si costruisce la matrice modale Φ: Φ = h X (1) X (2) X (3) X (4) X (15 i Il legame tra le coordinate fisiche e modali è il seguente:              x(t) = Φ · q(t) ẋ(t) = Φ · q̇(t) ẍ(t) = Φ · q̈(t) (1.22) Sostituendo le relazioni (1.22) nell’equazione della dinamica (1.11) e premoltiplican- do tutti i termini per ΦT , si ricava l’equazione: Mm · q̈ + Cm · q̇ + Km · q = Fm (1.23) dove: • Mm = ΦT · M · Φ è la matrice di massa modale; • Cm = ΦT · C · Φ è la matrice di smorzamento modale; • Km = ΦT · K · Φ è la matrice di rigidezza modale; • Fm = ΦT · F è il vettore delle forzanti proiettato in coordinate principali. Il vantaggio di utilizzare le coordinate modali è che le matrici sono diagonali e quindi consentono di analizzare le equazioni di moto separatamente poichè sono disaccoppiate tra di loro, ciascuna dipendente dalla sola coordinata libera i-esima. Tali equazioni possono essere scritte nella forma: ¨ qi + 2 · ξi · ωn,i · ˙ qi + ω2 n,i · qi = Fm,i Mm,i i = 1, ..., 5 (1.24) dove: 35
  • 72.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. • ω2 n,i = Km,i Mm,i è il quadrato della pulsazione propria i-esima; • ξi = Cm,i 2·Mm,i·ωn,i = Cm,i 2· √ Mm,i·Km,i = Cm,i Ccr è il fattore di smorzamento i-esimo (con ccr smorzamento critico ) Scegliendo quindi un certo fattore di smorzamento ξ = 0.4, lo stesso per tutte le coordinate, è possibile calcolare la matrice di smorzamento modale: Cm,i = 2 · ξi · ωn,i · Mm,i i = 1, ..., 5 (1.25) Calcolata la matrice diagonale Cm in coordinate omogenee, applicando la trasfor- mazione inversa, si può ottenere quella in coordinate fisiche: C = (ΦT )−1 · Cm · Φ−1 (1.26) Ponendoci ad esempio in x = 0, si ottiene la seguente matrice di smorzamento: C =            0.0194 −0.0147 −0.0473 −0.0044 −1.0703 −00147 0.1805 −0.1043 −5.2780 · 10−4 −0.0818 −0.0473 −0.1043 0.3940 −0.0112 −1.4690 −0.0044 −5.2780 · 10−4 −0.0112 0.1032 −2.4250 −1.0703 −0.0818 −1.4690 −2.4250 326.1316            Considerando ora il sistema smorzato, si ripete l’analisi fatta in precedenza ana- lizzando la risposta del sistema non forzato eccitando il secondo modo di vibrare (Fig.1.15). Si osserva inoltre la risposta forzata del sistema smorzato ponendo una forzante pari a Q = [1, 0, 0, 0, 0]T (Fig.1.16). 36
  • 73.
    Analisi modale 0 0.050.1 [s] -1 0 1 [rad] m 0 0.05 0.1 [s] -0.4 -0.2 0 0.2 [rad] r 0 0.05 0.1 [s] -0.2 0 0.2 [rad] g 0 0.05 0.1 [s] -0.01 0 0.01 [rad] p 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 [s] -4 -2 0 2 4 [m] 10-3 x Fig. 1.15: Oscillazioni smorzate del sistema non forzato, condizioni iniziali pari al secon- do modo di vibrare 0 0.05 0.1 [s] 0 50 [rad] m 0 0.05 0.1 [s] 0 5 10 15 [rad] r 0 0.05 0.1 [s] 0 5 10 15 [rad] g 0 0.05 0.1 [s] 0 5 10 15 [rad] p 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 [s] 0 0.2 0.4 [m] x Fig. 1.16: Risposta nel tempo del sistema, forzante Q costante, smorzamento C non nullo, K costante 37
  • 74.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. 0 0.05 0.1 0.15 0.2 0.25 0.3 [s] 0 50 100 150 200 250 300 [rad] m cedevole m rigido Fig. 1.17: Andamento nel tempo della rotazione del motore, confrontando le risposte forzate, del modello cedevole non smorzato e del rigido, utilizzando come in- gresso una sinusoide con ampiezza di 20 Nm e pulsazione pari a 252.79 rad s In ultima analisi si effettua un confronto fra il comportamento del modello rigido e cedevole analizzando la risposta forzata; le simulazioni condotte sono le seguenti: 1. Analisi della risposta forzata del modello cedevole non smorzato e rigido con- siderando come ingresso una sinusoide con ampiezza 20 Nm e pulsazione, lon- tana da quella propria del modo di vibrare, pari a 252.79 rad s (Fig.1.17): i due modelli, coerentemente a quanto ci si aspetta, si comportano circa allo stesso modo. 2. Analisi della risposta forzata del modello cedevole non smorzato e rigido con- siderando come ingresso una sinusoide con ampiezza 20 Nm e pulsazione pari a quella del secondo modo di vibrare rad s (Fig.1.18): il sistema cedevole è in risonanza e la risposta diverge. 3. Analisi della risposta forzata del modello cedevole smorzato e rigido conside- rando come ingresso una sinusoide con ampiezza 20 Nm e pulsazione pari a quella del secondo modo di vibrare rad s (Fig.1.19): a differenza del caso pre- cedente, la presenza della matrice smorzamento C attenua le oscillazioni e la risposta non diverge. 38
  • 75.
    Analisi modale 0 0.050.1 0.15 0.2 0.25 0.3 [s] 0 50 100 150 200 250 [rad] m cedevole m rigido Fig. 1.18: Andamento nel tempo della rotazione del motore, confrontando le risposte for- zate, del modello cedevole non smorzato e del rigido, utilizzando come ingresso una sinusoide con ampiezza di 20 Nm e pulsazione pari a quella del secondo modo di vibrare 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 [s] 0 5 10 15 20 25 30 35 40 [rad] m cedevole m rigido Fig. 1.19: Andamento nel tempo della rotazione del motore, confrontando le risposte forzate, del modello cedevole smorzato e del rigido, utilizzando come ingresso una sinusoide con ampiezza di 20 Nm e pulsazione pari a quella del secondo modo di vibrare 39
  • 76.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. 1.4 Calibrazione della cella di carico La cella di carico in dotazione è priva di documentazione tecnica, pertanto è stato necessario procedere con un’accurata calibrazione con l’obiettivo di determinare la costante di proporzionalità tra forza applicata e tensione erogata dal sensore. All’at- to pratico tale procedura è stata eseguita smontando la cella di carico dal carrello e fissandola a sbalzo sul banchetto. In tal modo è stato possibile attaccarle un peso di valore noto: sono state fatte diverse prove collegando una tanica da 5L e variando progressivamente il volume di acqua contenuto all’interno. La procedura è stata eseguita prima utilizzando un lato del sensore e poi ripetendola sull’altro, in modo da considerare entrambi i versi della forza applicata alla cella. Per ogni prova fatta vengono annotati: • Il peso della tanica riempita, aiutandoci con una bilancia con risoluzione pari a ±0.1 g; • La tensione erogata dal sensore, collegandoci con il multimetro ai pin dedicati della morsettiera; • La tensione erogata dal sensore acquisendo il segnale tramite la scheda e calcolando la moda del segnale. In tabella 1.9 vengono riassunte le diverse prove condotte. Peso [g] Peso [g] Peso [g] Vcella [V] Vcella [V] Vcella [V] VMV [V] VMV [V] VMV [V] −8142 2.807 2.806 −5020 4.059 4.058 −4247 4.345 4.343 −2190 5.159 5.156 −1696 5.351 5.350 Tabella 1.9: Valori acquisiti per la calibrazione della cella di carico Note le acquisizioni, rappresentando i punti in un piano e utilizzando la regressione 40
  • 77.
    Calibrazione della celladi carico lineare sfruttando la funzione polyfit, si determinala retta individuata dalle loro coordinate. 0 1 2 3 4 5 6 7 8 9 10 [V] -80 -60 -40 -20 0 20 40 60 80 [N] Fig. 1.20: Forza applicata in ordinata, tensione erogata dal sensore in ascissa Essendo noto che la forza misurata è calcolabile come F = k · (V − V0) = k · V − k · V0 (1.27) confrontando l’equazione (1.27) con l’espressione analitica di una retta (y = m·x+q) è possibile definire le seguenti uguaglianze:      m = k q = k · V0 Il coefficiente angolare m = 24.3430 e l’intercetta q = −147.7019 ci vengono forniti dalla funzione Matlab polyfit; si determina quindi l’offset di tensione pari a: V0 = q k = 6.07V (1.28) Si anticipa già che l’offset non è un valore costante, ma ha una certa variabilità, pertanto, quando si implementerà il sistema di controllo in forza, sarà necessario realizzare una fase preliminare di calibrazione della cella. Inoltre il segnale fornito dalla cella è rumoroso: si decide pertanto di filtrarlo con un filtro passa basso del secondo ordine con frequenza di taglio ft = 5 Hz e ξ = 0.9. Oltre al filtraggio del 41
  • 78.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. segnale si introduce una banda morta che previene spostamenti non desiderati del carrello. La cella di carico consente un’applicazione massima di 20 kg equivalenti a circa 200 N: il circuito di amplificazione per la lettura del segnale limita però tale valore a una forza massima di circa ±100 N, poichè lavora tra Vmin = +2 V e Vmax = +10 V. 42
  • 79.
    Modellazione dell’attrito 1.5 Modellazionedell’attrito L’attrito viene definito come una forza dissipativa in direzione tangenziale alla su- perficie di contatto fra due corpi che ne ostacola il moto relativo: se i due oggetti sono in quiete si parla di attrito statico, qualora invece siano in movimento si tratta di attrito dinamico (o radente). I fenomeni di attrito si manifestano in tutti i sistemi meccanici ed è un aspetto complesso da analizzare in quanto dipendente da molti parametri e fattori (tempe- ratura, umidità, lubrificazione, tipologia di contatto ecc. . . ) ed inoltre, ancora oggi, non sono ben chiari i comportamenti microscopici che portano agli effetti osservabili a livello macroscopico. Fare un’accurata modellazione dell’attrito non è quindi banale; si deve cercare un compromesso tra il rappresentare adeguatamente la fisica del problema ed il fare un’ analisi non troppo onerosa dal punto di vista computazionale: l’obiettivo è realiz- zarne una compensazione e quindi migliorare le prestazioni del sistema di controllo. Facendo una ricerca dei modelli presenti in letteratura se ne trovano diversi, sia di natura empirica che fisica: vengono qui analizzati solo i primi, basati quindi sull’ osservazione sperimentale e che cercano di descrivere l’effetto dell’attrito sul sistema reale, ma non ne analizzano le cause su basi fisiche. Nella modellazione del sistema in esame fatta fino ad ora, ovvero nell’equazione della dinamica (1.11), non si è tenuto conto delle perdite dovute alle forze di attrito. Tali dissipazioni di energia sono causate ad esempio dall’attrito volvente delle sfere dei cuscinetti, dall’ ingra- nare delle ruote dentate del riduttore di velocità e dallo strisciamento dei pattini del carrello sulla guida lineare. Quest’ultimo è l’effetto dominante pertanto il modello equivalente realizzato fa ri- ferimento ad esso, ma i parametri verranno determinati considerando tutte le dissi- pazioni presenti nel sistema. I modelli presenti in letteratura vengono classificati in statici e dinamici ed i più diffusi sono: • Modelli statici: i modelli classici, il modello di Stribevk e di Karnop; • Modelli dinamici: il modello di LuGre, di Leuven e di Dahl. I modelli dina- mici sono più precisi rispetto a quelli statici poiché descrivono in maniera più 43
  • 80.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. accurata il passaggio tra la condizione di riposo e quella di inizio movimento, poi di fatto sono proporzionali alla velocità, almeno fino al raggiungimento di una certa soglia. Di conseguenza si ottiene una miglior previsione dell’anda- mento reale del fenomeno, ma risultano più difficili da implementare. È altresı̀ vero che i fenomeni rappresentati dai modelli dinamici devono essere analizza- ti su scala microscopica mentre quelli descritti dai modelli statici sono visibili anche in scala macroscopica. I modelli dinamici di attrito più diffusi in lette- ratura, quali quelli citati, fanno uso di equazioni differenziali e non tengono conto della sola dipendenza dell’attrito dalla velocità. Scelto il modello da implementare, tramite prove sperimentali si ricavano i parametri corrispondenti. 1.5.1 Modelli statici d’attrito I modelli statici non considerano in alcun modo gli aspetti di memoria dell’attrito, i quali, per contro, sono utilizzati in quelli dinamici mediante la descrizione di dina- miche aggiuntive tra velocità e forze d’attrito. I modelli statici sono il modo più semplice per descrivere la forza d’attrito poiché consentono di determinarla come funzione della velocità di scorrimento relativo fra le due superfici: sono di fatto una combinazione dei modelli classici quali dell’attrito di Coulomb, dell’ attrito statico e di quello viscoso. Il modello più usato è la legge di attrito di Coulomb (caso (a) in Fig.1.21) che esprime la forza di attrito come: F = Fc · sign(v) = µ · N · sign(v) (1.29) sign(v) =   −1 per ∀(v) < 0 1 per ∀(v) > 0   dove N è la forza normale agente sulla superficie, µ è il coefficiente di attrito radente, Fc è la forza di attrito coulombiana e sign(v) è l’operatore matematico che restituisce il segno della velocità. La (1.29) ci dice che l’attrito si oppone al moto e la sua intensità è indipendente dalla velocità e dall’area di contatto. Si noti inoltre come questo modello non specifichi il 44
  • 81.
    Modellazione dell’attrito ሶ 𝑥 ሶ 𝑥ሶ 𝑥 𝐹𝑐 −𝐹𝑐 𝐹𝑎 𝐹𝑎 𝐹𝑎 𝐹𝑐 −𝐹𝑐 μ𝑣 𝐹𝑠 −𝐹𝑠 a) b) c) Fig. 1.21: Modelli d’attrito classici valore della forza d’attrito nel caso di velocità nulla: può essere nulla o assumere un qualsiasi valore tra −Fc e +Fc a seconda di come viene definita la funzione sign. Si può migliorare il modello appena descritto introducendo la forza di attrito viscoso nei casi di velocità non nulla (caso (b) in Fig.1.21): F = Fc · sign(v) + µv · v (1.30) con µv coefficiente di attrito viscoso. Un ulteriore miglioria si ottiene distinguendo i casi di attrito statico e attrito viscoso (caso (c) in Fig.1.21): a causa delle possibili deformazioni che si verificano prima dello strisciamento si ha che la forza limite di attrito statico in condizione di immo- bilità è maggiore rispetto alla forza di Coulomb. Un corpo rimarrà pertanto nel suo stato di quiete finchè la forza esterna applicata risulta inferiore alla forza limite di attrito statico (detta anche forza di attrito di primo distacco). L’attrito statico controbilancia le forze esterne e impedisce il movi- mento fino a un certo valore di forza applicata: è allora chiaro che l’attrito a riposo non può essere descritto come una funzione della sola velocità, ma come funzione delle forze esterne applicate. Tale modello è descritto dalle seguenti equazioni: F =              Fc · sign(v) + µv · v se v ̸= 0 Fe se v = 0 e |Fe| < Fs Fs · sign(Fe) se v = 0 e |Fe| = Fs (1.31) dove Fe è la forza esterna applicata che permette di mantenere il corpo fermo finchè realizza la condizione Fs > Fe con Fs = µs ·N che è la forza limite di attrito statico. 45
  • 82.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. . Fig. 1.22: Modelli d’attrito con effetto Stribeck Questi modelli matematici descrivono quindi un grafico forza-velocità simmetrico (Fig.1.21) motivato dal fatto che attraversando il punto a velocità nulla, ovvero in corrispondenza della discontinuità, si inverte la forza d’attrito coerentemente con l’inversione della direzione del moto. Non è però detto che la caratteristica forza-velocità sia simmetrica soprattutto in prossimità di velocità nulle, come evidenzieranno i dati sperimentali. Un’ ultima modifica ai modelli appena citati si può fare considerando le osservazioni condotte da Stribeck: egli notò che la forza d’attrito, a basse velocità, decresce per poi riprendere ad aumentare col crescere della velocità (Fig.1.22). I modelli d’attrito statici analizzati fino ad ora sono accomunati dall’avere una di- scontinuità in corrispondenza di velocità nulle: questo potrebbe portare complica- zioni di natura numerica e quindi instabilità nell’algoritmo di controllo in sistemi che ricavano il segnale di velocità derivando numericamente quello di posizione cam- pionato. Una possibile soluzione potrebbe essere quella di addolcire la discontinuità a velocità nulla inserendo una funzione a pendenza elevata, ma finita (caso (b) in Fig.1.22). Tale soluzione è adatta per sistemi che transitano dalla condizione di risposo solo saltuariamente. Un’ alternativa potrebbe essere quella di considerare il risultato della funzione sign in corrispondenza della velocità nulla pari a zero: questa pratica però, oltre a recare problemi nell’individuazione dell’istante preciso a velocità nulla, non descrive cor- rettamente i fenomeni di attrito in quanto forze esterne inferiori a quella di attrito 46
  • 83.
    Modellazione dell’attrito ሶ 𝑥 𝐹𝑎 η -η 𝐹𝑠 −𝐹𝑠 Fig. 1.23:Modelli d’attrito di Karnop statico non sarebbero compensate. Per ovviare a tale inconveniente nella zona dell’ inversione, si utilizza il modello di Karnop (Fig.1.23): qui, si evita la ricerca perfetta del punto a velocità nulla poichè viene definita una regione (detta stick region) in cui essa viene ritenuta nulla e la forza d’attrito, che mantiene fermo il corpo, dipende solo dalle forze esterne applicate, fino a un valore massimo pari alla forza di attrito statico. Al di fuori della stick region, il corpo si muove, si parla ancora di attrito visco- so, funzione della velocità relativa. Il modello di Karnop è descritto dalle seguenti equazioni: F =              Fc · sign(v) + µv · v se |v| > η Fe se |v| < η e |Fe| < Fs Fs · sign(Fe) se |v| < η e |Fe| > Fs (1.32) 1.5.2 Modello d’attrito implementato Per la scelta del corretto modello di attrito da utilizzare si procede con un’indagine sperimentale sul banco di prova. La presenza della cella di carico e del resolver sul motore ci permette di fare delle acquisizioni con l’obiettivo di individuare il modello più adatto e stimarne i parametri. L’attività sperimentale è stata condotta trascinando lungo la guida il carrello per 47
  • 84.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. 0 5 10 15 20 25 30 35 40 [s] 0 20 40 [rad] Posizione 0 5 10 15 20 25 30 35 40 [s] -20 0 20 [rad/s] Velocità 0 5 10 15 20 25 30 35 40 [s] -50 0 50 [rad/s 2 ] Accelerazione Fig. 1.24: Segnali di posizione, velocità e accelerazione acquisiti mezzo del sistema di presa e acquisendo la forza introdotta dall’operatore, già de- purata dall’offset, ed il segnale di posizione. Servendoci delle differenze finite sono stati ricavati offline i segnali di velocità ed accelerazione. Vista l’amplificazione del rumore introdotta dalla doppia derivazione numerica, si preferisce filtrarlo con un filtro FIR in Simulink: gestendo la banda passante, il segnale verrà sfasato, ma con un ritardo costante. Si può verificare la correttezza del modo di procedere integrando l’accelerazione filtrata e confrontando il segnale di velocità che ne deriva con quello ricavato in precedenza, opportunamen- te ritardato. In Fig.1.24 vengono mostrati i segnali acquisiti. Utilizzando ora il segnale di ac- celerazione filtrato, nota l’inerzia ridotta al motore, è possibile calcolare la coppia, quindi la forza d’inerzia: depurando la forza introdotta dall’operatore da quest’ul- tima componente, è immediato ricavare la forza d’attrito (metodo (a)). Osservando i risultati sperimentali in Fig.1.25, si decide di implementare il modello di attrito di Karnop, sia per l’evidente somiglianza con il modello teorico sia per la difficoltà nel caratterizzare l’andamento dell’attrito nell’intorno della velocità nulla. Dai dati ricavati si estrapolano i valori dei parametri che vengono riassunti in tabella 1.10. Come già anticipato in precedenza, si noti come il modello, seppur di leggermente, non risulti simmetrico. 48
  • 85.
    Modellazione dell’attrito -0.08 -0.06-0.04 -0.02 0 0.02 0.04 0.06 0.08 [m/s] -30 -20 -10 0 10 20 30 [N] Fig. 1.25: Forza d’attrito Parametro Valore η[m s ] 0.01 F+ s [N] 21 F− s [N] −20 F+ c [N] 16 F− c [N] −16 µ+ v [Ns m ] 96.4174 µ− v [Ns m ] 101.9479 Tabella 1.10: Parametri del modello d’attrito implementato con il metodo (a) 49
  • 86.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. -0.08 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 0.08 [m/s] -30 -20 -10 0 10 20 30 [N] Fig. 1.26: Modello d’attrito implementato Un ’altro valido approccio per determinare i valori dei parametri, sempre di natura sperimentale, è quello di tipo matriciale (metodo (b)). Partendo sempre dalle ac- quisizioni di forza introdotta e di posizione, si ricava in maniera del tutto analoga a quanto fatto in precedenza, il segnale di accelerazione. Considerando il carrello e facendo un bilancio di forze è possibile determinare la sua equazione della dinamica: m · ẍ + fv · ẋ + Fc · sign(v) = F (1.33) in cui m, fv e Fc sono rispettivamente la massa del carrello, il coefficiente di attrito viscoso e la forza di attrito coloumbiana. Chiamando q il vettore colonna contenente i campioni del segnale di posizione, q̇ quelli di velocità, q̈ quelli di accelerazione e considerando che m, fv e Fc sono le incognite è possibile definire: Y = h q̈ q̇ sign(q) i 50
  • 87.
    Modellazione dell’attrito Π =      m fv Fc      dovele matrici Y e Π avranno un numero di righe pari al numero di campioni costituenti i segnali. Si può allora scrivere la seguente equazione: Y · Π = F (1.34) in cui F è un vettore colonna con i campioni del segnale di forza. Si possono allora ricavare le incognite tramite metodo dei minimi quadrati: Π = (Y T · Y )−1 · Y T (1.35) Ripetendo tale procedura per forze sia positive che negative si desumono i valori dei parametri riassunti in tabella 1.11, molto simili a quelli ricavati sperimentalmente col precedente metodo: Parametro Valore F+ s [N] 21 F− s [N] −20 F+ c [N] 16.0896 F− c [N] −16.6458 µ+ v [Ns m ] 96.6610 µ− v [Ns m ] 102.1736 Tabella 1.11: Parametri del modello d’attrito implementato con il metodo (b) Il vantaggio nell’utilizzare questo approccio matriciale è che è estendibile anche a sistemi a più gradi di libertà e permette di ricavare anche la massa del carrello, qualora non fosse nota. Dopo aver illustrato le procedure per stimare i parametri del modello, si fa presente come si sia evidenziato in successive acquisizioni a velocità maggiori un comporta- mento non più lineare, o comunque approssimabile a tale, ma con diversa pendenza rispetto a quella considerata a basse velocità. 51
  • 88.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. 1.6 Controllo di posizione Per far raggiungere una specifica posizione al manipolo dell’interfaccia aptica, è necessario controllare in posizione il carico: a tal scopo, ci sono diverse strategie di controllo che possono essere implementate. Di seguito, se ne illustreranno e confronteranno due: il, cosiddetto, posizionamento poli e il controllo in cascata. In entrambi i casi, per tarare i controllori, si prende in considerazione il modello rigido del sistema, ricavato nel sotto-paragrafo 1.2.1. 1.6.1 Posizionamento poli In primo luogo, si consideri la rappresentazione in variabili di stato di un generico sistema lineare tempo-invariante SISO (con un ingresso e un’uscita), di ordine n (1.36). Il vettore X è il vettore delle variabili di stato ed è un vettore n x 1, A è la matrice di stato n x n del sistema, i vettori B e C sono, rispettivamente, un vettore colonna n x 1 e un vettore riga 1 x n, mentre il termine D è uno scalare (1 x 1). L’uscita del sistema è y, mentre u è l’azione di controllo applicata in ingresso.      Ẋ = AX + Bu y = CX + Du (1.36) La strategia di controllo in anello chiuso, denominata posizionamento poli, prevede di chiudere l’anello applicando in ingresso al sistema un’azione di controllo espressa dalla formula (1.37), dove il vettore G è il vettore dei guadagni ed è un vettore riga 1 x n, dove n è l’ordine del sistema. u = −GX dove G = [g1, g2, −, gn] (1.37) Sostituendo la relazione (1.37) all’interno dell’equazione di stato del sistema in esa- me, si ottiene l’espressione (1.38), la quale rappresenta l’equazione di stato del siste- ma in anello chiuso. La matrice (A-BG) è la matrice di stato del sistema in anello chiuso. Ẋ = AX − BGX = (A − BG)X (1.38) L’idea della presente strategia di controllo è quella di assegnare specifiche posizioni ai poli del sistema in anello chiuso e di determinare il corrispondente vettore dei 52
  • 89.
    Controllo di posizione guadagniG. In generale, i poli del sistema in anello chiuso possono essere reali o complessi coniugati. Tuttavia, essi devono necessariamente avere parte reale nega- tiva, in modo tale che il sistema in anello chiuso sia asintoticamente stabile. I poli del sistema in anello chiuso sono gli autovalori della matrice di stato del sistema in anello chiuso (A-BG). Essi possono quindi essere determinati risolvendo l’equazione caratteristica del sistema retroazionato (1.39). det(λI − (A − BG)) = 0 (1.39) Descritta brevemente la strategia di controllo in anello chiuso la si applica ora allo specifico sistema in esame. Si consideri il modello rigido del sistema, descritto dall’ equazione (1.40), dove Jm,eq è il momento di inerzia equivalente del sistema, ridotto all’albero motore. Cm = Jm,eqω̇m (1.40) Invertendo la relazione (1.40), si ricava l’espressione (1.41). ω̇m = Cm Jm,eq (1.41) Ricordando che la coppia generata dal motore è direttamente proporzionale alla ten- sione applicatagli, mediante la costante dell’azionamento Kaz, si ottiene la formula (1.42), la quale definisce l’accelerazione dell’albero motore, in funzione della tensione applicata e dell’inerzia equivalente del sistema, ridotta all’albero di ingresso della trasmissione. ω̇m = Kaz Jm,eq V (1.42) L’espressione (1.42) è un’equazione differenziale del secondo ordine che può essere scomposta in un sistema di due equazioni differenziali del primo ordine (1.43), ri- cordando che l’accelerazione angolare è la derivata prima, nel tempo, della velocità angolare e quest’ultima, a sua volta, è la derivata prima, nel tempo, della posizione angolare dell’albero motore.      θ̇m = ωm ω̇m = Kaz Jm,eq V (1.43) A questo punto, si consideri: 53
  • 90.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. • la posizione angolare e la velocità angolare dell’albero motore, come variabili di stato (1.44),(1.45); • la tensione V applicata al motore, come ingresso (1.46); • la variabile misurata, ovvero la posizione angolare dell’albero motore, come uscita del sistema (1.47). x1 = θm (1.44) x2 = ωm (1.45) u = V (1.46) y = x1 = θm (1.47) Dunque, la rappresentazione in variabili di stato del sistema in esame è espressa dal sistema di equazioni (1.48).              ẋ1 = x2 ẋ2 = Kaz Jm,eq u y = x1 (1.48) Passando ad una notazione matriciale, si ottiene:                            ẋ = AX + Bu dove A =    0 1 0 0    B =    0 Kaz Jm,eq    y = CX + Du dove CT =    1 0    D = 0 X =    x1 x2    (1.49) Dunque, il sistema in esame è un sistema lineare tempo invariante SISO, con un ingresso e un’uscita, del secondo ordine (n = 2), quindi caratterizzato da due va- riabili di stato x1 e x2. Pertanto, controllando tale sistema mediante il metodo del posizionamento poli, l’azione di controllo è definita dalla formula (1.50), mentre la matrice di stato del sistema in anello chiuso è una matrice 2 x 2 ed è espressa dalla relazione (1.51). u = −g1x1 − g2x2 = −GX dove G = h g1 g2 i (1.50) 54
  • 91.
    Controllo di posizione Acl= A − BG =   0 1 0 0   −   0 Kaz Jm,eq   h g1 g2 i =   0 1 − Kaz Jm,eq g1 − Kaz Jm,eq g2   (1.51) Quindi, nel caso in esame, l’azione di controllo che viene applicata in ingresso al si- stema è data da una combinazione lineare delle due variabili di stato x1 e x2 (1.46), ovvero della posizione e della velocità angolare corrente dell’albero motore. Dun- que, per chiudere l’anello di controllo, si deve misurare retroazionare tali variabili. In particolare, la misura della velocità angolare corrente può essere ottenuta deri- vando, rispetto al tempo, la misura della posizione angolare dell’albero motore. Si osservi che, a livello pratico, volendo controllare in posizione il carico, si desidera far seguire a quest’ultimo un certo profilo di moto. Per tale ragione, una volta misurate e retroazionate la posizione e la velocità angolare dell’albero motore, le si confronta, rispettivamente, con il set-point di posizione e di velocità. In questo modo, si otten- gono gli errori in posizione e in velocità, i quali vengono poi mandati in ingresso ai guadagni g1 e g2, ricavando infine la tensione V, che rappresenta l’azione di controllo che deve essere applicata in ingresso al sistema. Dunque, in questo contesto appena descritto, l’azione di controllo u, che viene applicata in ingresso al sistema, la si calcola mediante la formula (1.52), dove X̃ è un vettore che contiene i riferimenti di posizione e di velocità applicati in ingresso al sistema. u = G(X̃ − X) (1.52) In Fig.1.27, è riportato lo schema a blocchi del sistema in esame, controllato in anello chiuso mediante il metodo del posizionamento poli. Il polinomio caratteristico del sistema in anello chiuso in esame è di secondo grado ed è espresso dalla formula (1.53). πcl = det(λ−(A−BG)) = det   λ −1 Kaz Jm,eq g1 Kaz Jm,eq g2   = λ2 + Kaz Jm,eq g2λ+ Kaz Jm,eq g1 (1.53) In generale, si può esprimere (1.53) mediante la relazione (1.54), dove ξ è lo smor- zamento e ωn è la pulsazione naturale del sistema retroazionato. πcl = λ2 + 2ξωnλ + ω2 n (1.54) 55
  • 92.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. Fig. 1.27: Schema a blocchi del sistema in esame, controllato in anello chiuso mediante il metodo del “posizionamento poli”. La pulsazione naturale ωn può essere legata alla frequenza critica del sistema me- diante la relazione (1.55). ωn = 2πfn (1.55) Confrontando la relazione (1.53) con l’espressione (1.54), si ottiene che i guadagni g1 e g2 possono essere determinati mediante le formule (1.56) e (1.57). g1 = Jm,eq Kaz ω2 n (1.56) g2 = 2 Jm,eq Kaz ξωn (1.57) In conclusione, per sintetizzare il controllore della strategia di controllo in anello chiuso denominata posizionamento poli, si fissa, innanzitutto, lo smorzamento ξ e la frequenza critica fn del sistema retroazionato e si determinano in seguito i guadagni g1 e g2 mediante le relazioni (1.56) e (1.57). L’obiettivo in questa sintesi è quello di posizionare i poli, del sistema in anello chiuso, il più lontano possibile dall’asse immaginario del piano complesso, in modo tale che la risposta del sistema sia la più veloce possibile. Come già detto in precedenza, tali poli devono giacere nel semi- piano sinistro, ovvero devono avere parte reale negativa, e, inoltre, devono essere complessi coniugati (di conseguenza, lo smorzamento ξ deve essere compreso tra 0 e 1, estremi esclusi). Tuttavia, tali poli non possono essere posizionati troppo lontano dall’asse immaginario in quanto, altrimenti, introdurrebbero vibrazioni nel 56
  • 93.
    Controllo di posizione sistema.In particolare, la frequenza critica deve essere sufficientemente distante dalle frequenze proprie del sistema. Infatti, se un sistema cedevole lavora nell’intorno di una sua pulsazione propria, allora il sistema tenderà a vibrare con delle oscillazioni crescenti tanto più esso opera vicino ad una sua pulsazione propria. Come ricavato in precedenza nel sotto-paragrafo 1.3, la frequenza critica più piccola e diversa da zero del sistema in esame risulta essere intorno ai 100 Hz. Dunque, si devono fissare i poli del sistema in anello chiuso, in modo tale che abbiano una frequenza naturale sufficientemente inferiore ai 100 Hz. Nello specifico, per i poli complessi coniugati del sistema in anello chiuso si è considerato: • uno smorzamento ξ = 0.6 • una frequenza naturale fn = 23 Hz I corrispondenti valori dei guadagni del posizionatore sono: • g1 = 6.61 • g2 = 0.055 Nella Fig.1.28, è rappresentato lo schema Simulink del sistema di controllo, in anello chiuso, basato sul metodo del posizionamento poli, applicato al modello rigido e al modello cedevole del sistema. Per mostrare che il sistema di controllo in posizione, basato sul posizionamento po- li, appena sintetizzato sia corretto e sufficientemente performante, vi si è applicato in ingresso, utilizzando lo schema Simulink raffigurato, i segnali di riferimento in posizione e in velocità, ottenuti mediante una legge di moto polinomiale 4-5-6-7 e riportati nelle Fig.1.29 e 1.30. Mediante tale profilo di moto, si fa muovere, in modo periodico, il manipolo dell’interfaccia aptica tra due posizioni estreme, localizzate, rispettivamente, a circa -0.45 m e +0.45 m rispetto al centro del sistema. Si osservi che l’interfaccia aptica in esame è costituita da un motore brushless, che presenta una velocità massima consentita pari a 10000 rpm, e un riduttore, posto a valle del motore, caratterizzato da una velocità massima ammissibile al suo ingresso pari a 8000 rpm. Dunque, la velocità massima consentita a livello dell’albero di ingresso della trasmissione è pari a 8000 rpm (ovvero il minimo dei due precedenti valori). 57
  • 94.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. Fig. 1.28: Schema Simulink del sistema di controllo, basato sul metodo del posiziona- mento poli, applicato al modello rigido e al modello cedevole del sistema. 58
  • 95.
    Controllo di posizione Tuttavia,l’azionamento che guida l’attuatore elettrico limita a sua volta la massi- ma velocità che si può raggiungere a livello dell’albero motore. In particolare, dal catalogo del motore elettrico Mavilor con cui si aziona l’interfaccia aptica, si riscon- tra che, nel caso in cui esso sia gestito mediante un azionamento Infranor, come, effettivamente avviene, la sua velocità massima consentita è limitata ad un valore di circa 5500 rpm. Pertanto, riducendosi a livello del manipolo, la massima velocità consentita per il carico risulta essere pari a 3.29 m/s. Dunque, per osservare le prestazioni del posizionatore progettato, ci si è posti nelle condizioni più critiche, dal punto di vista del carico. Infatti, dal profilo di velocità, riportato in Fig.1.30, si osserva che la massima velocità che si fa raggiungere al manipolo, durante il movi- mento progettato, è intorno proprio a 3.29 m s . Nella progettazione del movimento che si desidera far compiere al carico, è importante verificare non solo che la velocità massima dell’end effector sia minore di quella limite dall’unità motore - trasmissione del sistema (condizione cinematica), ma che, anche, la condizione termica e la con- dizione di picco siano soddisfatte. Per fare ciò, si devono calcolare i valori root mean square e massimo della coppia richiesta al motore dal carico e verificare che siano inferiori, rispettivamente, alla coppia nominale e massima del motore impiegato. Nel caso in esame, il sistema è caratterizzato da un carico puramente inerziale (se si trascurano le azioni d’attrito) e, quindi, i valori rms e massimo della coppia richie- sta al motore dal carico possono essere calcolati moltiplicando la sua accelerazione rms e massima per l’inerzia equivalente del sistema, ridotta all’albero di ingresso della trasmissione. Considerando il movimento descritto dai profili di moto riportati nelle Fig.1.29 e 1.30, la condizione di picco e la condizione termica risultano essere entrambe soddisfatte con un margine di coppia, rispettivamente, pari a 9.62 e 4.33. 59
  • 96.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] Fig. 1.29: Profilo di moto in posizione 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 Time [s] -4 -3 -2 -1 0 1 2 3 4 x p [m/s] Fig. 1.30: Profilo di moto in velocità 60
  • 97.
    Controllo di posizione 00.5 1 1.5 2 2.5 3 3.5 4 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] xtilde xced xrig Fig. 1.31: Andamento, nel tempo, della posizione del carico, controllato in posizione mediante il metodo del posizionamento poli Nelle Fig.1.31 e Fig.1.32 si confronta la risposta, al profilo di moto precedentemente descritto, in termini di posizione e velocità lineare del manipolo, del sistema di con- trollo appena sintetizzato e applicato sia al modello rigido che al modello cedevole del banco di prova in esame. In primis, dai grafici, si osserva che le risposte del modello cedevole e del modello rigido sono molto simili tra loro. In secondo luogo, si riscontra che il sistema di controllo in posizione, basato sul posizionamento poli, appena progettato consente al sistema di seguire in modo molto preciso il segnale riferimento in posizione e in velocità, che gli viene applicato in ingresso. Nelle Fig.1.33 e 1.34, si osserva più nel dettaglio l’andamento effettivo della posizione e della velocità lineare del manipolo, durante una, cosiddetta, fase di salita. Si può notare che la posizione effettiva del manipolo presenta una piccola sovraelongazione, di meno di due decimi di millimetro, rispetto all’andamento del set point di posizio- ne. Anche la velocità effettiva del manipolo presenta una piccola sovraelongazione, rispetto al set point di velocità, nella fase in cui il manipolo termina la fase di salita ed inizia la, cosiddetta, fase di riposo. Tali errori sono molto limitati e, di conse- guenza, più che accettabili. Si può concludere che, almeno a livello di simulazione, il sistema di controllo progettato è sufficientemente performante per poter controllare in posizione l’interfaccia aptica in esame. 61
  • 98.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. 0 0.5 1 1.5 2 2.5 3 3.5 4 Time [s] -4 -3 -2 -1 0 1 2 3 4 x p [m/s] xp,tilde xp,ced xp,rig Fig. 1.32: Andamento, nel tempo, della velocità del carico, controllato in posizione me- diante il metodo del posizionamento poli 1.96 1.98 2 2.02 2.04 2.06 2.08 2.1 2.12 2.14 Time [s] 0.4498 0.44985 0.4499 0.44995 0.45 0.45005 0.4501 x [m] xtilde xced xrig Fig. 1.33: Analisi nel dettaglio dell’andamento, nel tempo, della posizione del carico, controllato in posizione mediante il metodo del posizionamento poli 62
  • 99.
    Controllo di posizione 1.982 2.02 2.04 2.06 2.08 2.1 2.12 Time [s] -0.01 -0.008 -0.006 -0.004 -0.002 0 0.002 0.004 0.006 0.008 0.01 0.012 x p [m/s] xp,tilde xp,ced xp,rig Fig. 1.34: Analisi nel dettaglio dell’andamento, nel tempo, della velocità del carico, con- trollato in posizione mediante il metodo del posizionamento poli Infine, si determina la funzione di trasferimento, in anello chiuso, del sistema di controllo in posizione progettato. Essa sarà utile, in seguito, nello studio del controllo in forza dell’interfaccia aptica. Per svolgere tale analisi si prende in considerazione il modello rigido del sistema. La rappresentazione in variabili di stato del sistema di controllo in posizione è descritta dal sistema di equazioni (1.58).              Ẋ = (A − BG)X + BGX̃ dove A − BG =    0 1 −Jm,eq Kaz g1 −Jm,eq Kaz g2    y = CX dove C = 1 0 (1.58) Si osservi che il sistema in anello chiuso riceve in ingresso un vettore X̃ di due elementi: il riferimento in posizione e il set-point in velocità. Conoscendo la rap- presentazione in variabili di stato del sistema retroazionato, la sua funzione di tra- sferimento, dall’ingresso X̃ all’uscita y, può essere calcolata mediante la relazione (1.59). F = C(A − BG)−1 B (1.59) Sviluppando la (1.59), si ottiene che la funzione di trasferimento del sistema in anello chiuso, dall’ingresso X̃ all’uscita y, può essere determinata mediante la formula 63
  • 100.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. (1.60). F = 1 s2 + Jm,eq Kaz g2s + Jm,eq Kaz g1 h Jm,eq Kaz g1 Jm,eq Kaz g2 i (1.60) A questo punto, è importante osservare che i due ingressi del posizionatore in esame sono strettamente legati tra loro, in quanto sono uno la posizione angolare e l’altro la velocità angolare dell’albero motore. Di conseguenza, il secondo ingresso può essere ottenuto derivando, rispetto al tempo, il primo oppure, viceversa, quest’ultimo può essere ottenuto, a partire dal secondo, per integrazione. Dunque, in realtà, il sistema di controllo in posizione in esame presenta un solo ingresso, che può essere il set- point in posizione oppure il set-point in velocità. Nel primo caso, il vettore X̃ può essere espresso mediante la formula (1.61), mentre, nel secondo, il medesimo vettore può essere rappresentato mediante la relazione (1.62). X̃ =   1 s   x̃ (1.61) X̃ =   1 s 1   ˙ x̃ (1.62) La funzione di trasferimento in anello chiuso del posizionatore, dal riferimento x̃ all’uscita x, nel caso in cui esso riceva in ingresso il segnale di riferimento in posizione, può quindi essere calcolata mediante la relazione (1.63). Gppos (s) = 1 τRp F   1 s   τRp = F   1 s   (1.63) In modo analogo, la funzione di trasferimento in anello chiuso, dal riferimento ˙ x̃ all’uscita x, nel caso in cui il posizionatore riceva in ingresso il segnale di riferimento in velocità, può essere calcolata mediante la relazione (1.64) Gpvel (s) = F   1 s 1   (1.64) Inserendo l’espressione (1.60) all’interno delle relazioni (1.63) e (1.64), si ottiene che le due suddette funzioni di trasferimento possono essere determinate mediante le relazioni (1.65) e (1.66). Gppos = Jm,eq Kaz g2s + g1 s2 + Jm,eq Kaz g2s + Jm,eq Kaz g1 (1.65) 64
  • 101.
    Controllo di posizione 101 102 103 104 -30 -20 -10 0 Magnitude [dB] 101 102 103 104 w[rad/s] -100 -50 0 Phase [deg] Fig. 1.35: Diagramma di Bode, del modulo e della fase, della funzione di trasferimento Gpos Gpvel = Jm,eq Kaz g2s + g1 s3 + Jm,eq Kaz g2s2 + Jm,eq Kaz g1s (1.66) Nelle Fig.1.35 e Fig.1.36 sono rappresentati i diagrammi di Bode, di modulo e fase, delle due funzioni di trasferimento Gppos e Gpvel , tracciati considerando come valore dei guadagni g1 e g2 quelli citati in precedenza. 65
  • 102.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. 101 102 103 104 -100 -50 0 Magnitude [dB] 101 102 103 104 w [rad/s] -200 -150 -100 Phase [deg] Fig. 1.36: Diagramma di Bode, del modulo e della fase, della funzione di trasferimento Gvel 1.6.2 Controllo in cascata Il, cosiddetto controllo in cascata è un metodo che può essere utilizzato per control- lare il moto di un sistema meccanico. In sostanza consente di chiudere, in cascata, tre anelli di controllo: uno in corrente, che è quello più interno, uno in velocità e uno in posizione. L’anello interno riceve in ingresso un riferimento di corrente, che può essere ottenuto, per esempio, a partire da un set-point di coppia, ricordan- do che la coppia generata da un motore elettrico è direttamente proporzionale alla corrente con cui esso viene alimentato, mediante la costante di coppia Kt, speci- fica per ciascun motore. Il set-point in corrente viene confrontato con la misura (ottenuta mediante un apposito sensore montato sul motore) della corrente con cui viene alimentato il motore elettrico. Da tale confronto, si ottiene un errore che viene mandato in ingresso al controllore in corrente, il quale tipicamente è un PI (proporzionale-integrale) e la cui funzione di trasferimento è espressa dalla formula (1.67). RI(s) = kgi (1 + 1 sτi,i ) (1.67) 66
  • 103.
    Controllo di posizione Ingenerale, un sistema di azionamento è composto da due elementi: un motore elettrico e un dispositivo, detto azionamento, che ha il compito di alimentare e gestire il motore elettrico. In particolare, quest’ultimo è, tipicamente, costituito da tre parti: • il power stage, che ha il compito di ricevere l’energia elettrica dall’alimentazione e di fornirla in ingresso, opportunamente modulata, al motore elettrico. • il control stage, che implementa un’eventuale strategia di controllo all’interno dell’azionamento (come, ad esempio, chiudere l’anello di controllo in corrente). • il logic stage, che si occupa di far comunicare il sistema di azionamento con i dispositivi esterni e, in particolare, con l’unità di controllo. Nelle applicazioni moderne di controllo del moto è richiesto sia di poter accelerare sia di frenare il carico; quindi, il motore elettrico deve essere in grado di generare una coppia motrice sia positiva sia negativa. Dunque, è necessario poter applicare al motore una tensione di alimentazione con entrambe le polarità. Allo stesso tem- po, nelle applicazioni moderne di motion control si desidera anche poter invertire la direzione di moto del carico quindi la velocità di rotazione dell’albero motore. In conclusione, per le ragioni appena citate, nelle applicazioni moderne di controllo del moto, è necessario utilizzare dei sistemi di azionamento caratterizzati da una parte meccanica e da una parte elettrica, entrambe in grado di operare in tutti e quattro i quadranti, rispettivamente, del piano Cm − ωm e I-V: in generale, i motori elettrici moderni presentano tutti una parte meccanica in grado di fare ciò. Tuttavia, non tutti gli azionamenti moderni sono in grado di operare in tutti e quattro i quadranti del piano I-V. Quindi, in queste applicazioni, è necessario scegliere, tra i vari di- spositivi presenti sul mercato, un azionamento adeguato. Un tipico dispositivo che soddisfa i requisiti citati è il, cosiddetto, H-bridge (o Ponte ad H ), il quale è caratte- rizzato da quattro diodi e quattro transistor. L’ H-bridge è chiamato anche Chopper ed è in grado di invertire il verso sia della tensione sia della corrente di alimentazione, applicate in ingresso all’attuatore elettrico. Inoltre, tale dispositivo permette anche di variare con continuità la tensione di alimentazione del motore, mediante il me- todo, cosiddetto, PWM (Pulse width modulation). L’idea alla base di tale metodo 67
  • 104.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. è di commutare, con continuità, ad una certa frequenza, lo stato dei transistor che costituiscono l’ H-bridge. In tale situazione, si definisce un segnale, denominato duty cycle, che specifica la durata, sul singolo periodo, della fase di ON dei transistor che costituiscono il dispositivo. In particolare, modificando con continuità il valore del segnale duty cycle si riesce a variare, in modo continuo, il valore della tensione di alimentazione applicata in ingresso all’attuatore elettrico. Dunque, in generale, il chopper riceve in ingresso, oltre che l’energia elettrica dall’alimentazione, anche un segnale logico (il duty cycle), tramite il quale si riesce a controllare la tensione fornita in ingresso all’attuatore elettrico. Nell’anello in corrente, il controllore RI genera, in uscita, un segnale di controllo (il duty cycle), che viene mandato in in- gresso al chopper. Quest’ultimo, nello schema a blocchi dell’anello in corrente, lo si può rappresentare mediante una costante (KC) di proporzionalità fra il segnale logico in ingresso e la tensione di alimentazione Va in uscita dal chopper, la quale è poi mandata in ingresso all’attuatore elettrico. In particolare, per semplicità, si consideri il modello elettro-meccanico di un motore elettrico in corrente continua (DC motor), descritto dal sistema di equazioni (1.68) .              Va = Raia + La dia dt + ktωm Cm = Jω̇m + Cr Cm = ktia (1.68) Il modello può essere rappresentato mediante lo schema a blocchi riportato in Fig.1.37, dove Ra e La sono, rispettivamente, la resistenza e l’ induttanza d’armatura del motore elettrico, J è il momento di inerzia equivalente del sistema ridotto all’al- bero motore e Cr è l’eventuale coppia resistente del carico, la quale viene trattata, sostanzialmente, come un disturbo. In conclusione, considerando il modello elettro- meccanico di un DC-motor, l’anello in corrente può essere rappresentato mediante lo schema a blocchi riportato in Fig.1.38. Per quanto riguarda l’anello in velocità, è esterno all’anello in corrente e riceve in ingresso il segnale di riferimento in velocità. Tale set-point viene confrontato con la misura della velocità angolare corrente del- l’albero motore. In questo modo, si ottiene un errore in velocità, che viene mandato in ingresso al controllore in velocità, il quale, tipicamente, è anch’esso un control- 68
  • 105.
    Controllo di posizione Fig.1.37: Schema a blocchi del modello elettro-meccanico di un DC motor Fig. 1.38: Schema a blocchi dell’anello di controllo in corrente lore PI (proporzionale-integrale), la cui funzione di trasferimento è descritta dalla formula (1.69). Rv(s) = kgv (1 + 1 sτiv ) (1.69) Il controllore in velocità fornisce in uscita il segnale di riferimento in corrente, che costituisce di fatto l’ingresso dell’anello in corrente. L’anello in velocità può essere rappresentato mediante lo schema a blocchi riportato in Fig.1.39. Infine, il terzo e ultimo anello che può essere chiuso è quello in posizione: è l’anello più esterno, che racchiude al proprio interno gli anelli in velocità e in corrente. L’anello in questione riceve in ingresso il segnale di riferimento in posizione, il quale viene Fig. 1.39: Schema a blocchi dell’anello di controllo in velocità 69
  • 106.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. Fig. 1.40: Schema a blocchi dell’anello di controllo in posizione Fig. 1.41: Schema a blocchi del sistema di controllo in cascata complessivo confrontato con la misura della posizione angolare corrente dell’albero motore. In questo modo, si ricava un errore in posizione, che viene trasmesso in ingresso al controllore. Quest’ultimo, tipicamente, è un controllore di tipo P (proporzionale), la cui funzione di trasferimento è descritta dalla formula (1.70). Rp(s) = kp (1.70) Il controllore in posizione fornisce in uscita il segnale di riferimento in velocità, che costituisce il segnale d’ingresso dell’anello intermedio. L’anello in posizione può essere rappresentato mediante lo schema a blocchi riportato in Fig.1.40. In Fig.1.41, è rappresentato lo schema a blocchi del sistema di controllo in cascata complessivo. Nel controllo in cascata si ha la possibilità di chiudere uno, o più, degli anelli di controllo appena descritti. In base a quali anelli di controllo vengono chiusi, il sistema di azionamento si comporterà in modo diverso. Pertanto, il metodo di controllo consente di far funzionare il sistema di azionamento in tre differenti modi: 1. Se si chiude solo l’anello in corrente, il motore elettrico viene controllato in corrente e si comporta come un generatore di coppia. 70
  • 107.
    Controllo di posizione 2.Se si chiude anche l’anello in velocità, oltre a quello in corrente, il motore elettrico viene controllato in velocità e si comporta come un generatore di velocità. 3. Se si chiude anche l’anello in posizione, il motore elettrico è controllato in posizione e si comporta come un generatore di posizione. Per quanto riguarda l’interfaccia aptica in esame, volendo controllare in posizio- ne il carico è necessario chiudere tutti e tre gli anelli di controllo, anche quello in posizione. In particolare, per quanto riguarda la configurazione del sistema di azio- namento, si è scelto di utilizzare una soluzione in cui le due operazioni fondamentali di generazione del profilo di moto ed elaborazione dell’algoritmo di controllo vengo- no entrambe svolte non dall’azionamento, ma dall’unità di controllo che gestisce il sistema di azionamento. In tale configurazione, il master, che è l’applicativo scrit- to all’interno del PC industriale che controlla e gestisce l’interfaccia aptica, genera l’andamento nel tempo del set-point ed elabora l’algoritmo di controllo, ad una frequenza costante. L’unità di controllo invia successivamente tramite un segnale analogico, il riferimento in corrente in ingresso all’azionamento, il quale si occupa di chiudere al proprio interno solamente l’anello in corrente. Dunque, nel momento in cui si decide di utilizzare la metodologia del controllo in cascata per controllare in posizione il sistema, è necessario chiudere, a livello dell’unità di controllo, soltanto l’anello in posizione e l’anello in velocità, in quanto l’anello di corrente viene chiu- so, automaticamente, dall’azionamento al proprio interno. Pertanto, di seguito, si sintetizzeranno esclusivamente il controllore in posizione e il controllore in velocità. Il controllore in velocità, come già precedentemente detto, è tipicamente un PI. Per sintetizzarlo, si impongono le seguenti condizioni: • Il margine di fase ϕm deve essere pari a 80°. • Il guadagno d’anello, ovvero il modulo della risposta in frequenza della funzione di trasferimento d’anello Lv(s), calcolata in corrispondenza della pulsazione critica ωcv dell’anello in velocità, deve essere pari a 1 (formula 1.71). |Lv(jωcv )| = 1 (1.71) 71
  • 108.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. Inoltre, si consideri che, tipicamente, la frequenza critica fci dell’anello in corrente è pari a 1000 Hz, mentre quella dell’anello in velocità fcv è 1 10 di quella dell’anello in corrente, ossia circa 100 Hz. In particolare, dato che si assume che la frequenza criti- ca dell’anello in corrente sia molto maggiore rispetto a quella dell’anello in velocità, allora si può ritenere che l’anello più interno sia sufficientemente veloce da inseguire perfettamente il segnale di riferimento, che gli viene fornito in ingresso dall’anello in velocità. Sulla base di tali considerazioni, si può, quindi, assumere unitaria la funzione di trasferimento in anello chiuso HC(s), dal riferimento in corrente ˜ I al- la misura I della corrente effettiva applicata in ingresso al motore. La funzione di trasferimento d’anello Lv(s) può essere calcolata mediante la formula (1.72). Lv(s) = Rv(s)HC(s) kt Jm,eq 1 s = kgv Kt Js (1 + 1 sτiv ) (1.72) Il margine di fase ϕm può essere calcolato mediante la relazione (1.73), dove ϕc è la fase critica definita come la fase della risposta in frequenza della funzione di tra- sferimento d’anello, calcolata in corrispondenza della pulsazione critica del sistema retroazionato. ϕm = 180−|ϕc| = 180−|arg (Lv(jωcv ))| = 180−|180 + arctan(ωcv )τiv | = arctan(ωcv )τiv (1.73) Invertendo la relazione (1.73), si ottiene la formula (1.74) che permette di calcolare il parametro τiV della funzione di trasferimento del controllore in velocità. τiv = tan ϕm ωcv (1.74) Il modulo della risposta in frequenza della funzione di trasferimento d’anello Lv(s), calcolata in corrispondenza della pulsazione naturale del sistema, può essere deter- minato mediante la formula (1.75). |Lv(jωcv )| = kgv kt Jτiv ω2 cv q 1 + τ2 iv ω2 cv = 1 (1.75) Invertendo la relazione (1.75), si ottiene l’espressione (1.76) che permette di calcolare il parametro kgv . kgv = Jτiv ω2 cv kt q 1 + τ2 iv ω2 cv (1.76) 72
  • 109.
    Controllo di posizione 101 102 103 104 -30 -20 -10 0 Magnitude [dB] 101 102 103 104 w[rad/s] -80 -60 -40 -20 0 Phase [deg] Fig. 1.42: Diagramma di Bode, di modulo e fase, della funzione di trasferimento, in anello chiuso, Hv(s) dell’anello in velocità A questo punto, il controllore in velocità risulta essere progettato. Utilizzando la (1.77), si determina la funzione di trasferimento in anello chiuso Hv(s), dal riferimento in velocità ω̃ alla misura della velocità angolare corrente dell’albero motore. Hv(s) = Lv(s) 1 + Lv(s) = kgv kt τiv s + 1 Jτiv s2 + kgv ktτiv s + kgv kt (1.77) In Fig.1.42, è riportato il diagramma di Bode del modulo e della fase della funzione di trasferimento in anello chiuso Hv(s), tracciato considerando unitaria Hc(s). Si può osservare che, effettivamente, la frequenza critica dell’anello in velocità è nell’intorno di 100 Hz, come desiderato. Per quanto riguarda, invece, il controllore in posizione, è tipicamente, di tipo proporzionale. Per sintetizzarlo, si considera una funzione di trasferimento in anello chiuso, dal riferimento in velocità ω̃ alla misura della velocità angolare corrente dell’albero motore, semplificata, che è espressa dalla relazione (1.78). HV,s(s) = 1 1 + s ωcv (1.78) 73
  • 110.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. La funzione di trasferimento d’anello LP (s) dell’anello in posizione può essere cal- colata mediante la formula (1.79). LP (s) = RP (s)HV,s(s) 1 s = kp s 1 1 + s ωcv (1.79) Per sintetizzare il controllore in posizione, si impone che il guadagno d’anello, ovvero il modulo della riposta in frequenza della funzione di trasferimento d’anello LP (s), calcolato in corrispondenza della pulsazione critica dell’anello in posizione, sia pari a 1 (1.80). |LP (jωcp )| = kp ωcp 1 r 1 + ω2 cp ω2 cv = 1 (1.80) Tipicamente, si considera che l’anello in posizione abbia una frequenza critica pari a 1 10 di quella dell’anello in velocità, ovvero pari a 10 Hz. Dunque, essendo quest’ultima molto maggiore della pulsazione critica dell’anello in posizione, si può approssimare il modulo della risposta in frequenza di LP (s), calcolata in corrispondenza della pulsazione critica dell’anello in posizione, mediante la formula (1.81). |LP (jωcp )| = kp ωcp = 1 (1.81) Rielaborando la relazione (1.81), si ottiene che il parametro kp, che definisce il controllore in posizione, può essere calcolato mediante la formula (1.82). kp = ωcp (1.82) A questo punto, si è progettato anche il controllore in posizione. La funzione di trasferimento in anello chiuso HP (s), dal riferimento in posizione θ̃m alla misura della posizione angolare corrente θm dell’albero motore, può essere calcolata mediante la formula (1.83). HP (s) = LP (s) 1 + LP (s) = ωcp s2 ωcv + s + ωcp (1.83) La funzione di trasferimento in anello chiuso HP (s) presenta due poli in: • s1 = −0.11ωcv • s2 = −0.89ωcv 74
  • 111.
    Controllo di posizione InFig.1.43, è riportato il diagramma di Bode del modulo e della fase della funzione di trasferimento in anello chiuso HP (s). Si può osservare che, effettivamente, la frequenza critica dell’anello in posizione è nell’intorno di 10 Hz, come desiderato. Per migliorare le prestazioni dinamiche del controllore in posizione, una tecnica 100 101 102 103 104 -150 -100 -50 0 Magnitude [dB] 100 101 102 103 104 w [rad/s] -200 -150 -100 -50 0 Phase [deg] Fig. 1.43: Diagramma di Bode, di modulo e fase, della funzione di trasferimento, in anello chiuso, Hp(s) dell’anello in posizione che si può adottare è quella del velocity feedforward. Essa prevede di sommare il segnale di riferimento in velocità al segnale in uscita dal controllore in posizione. In particolare, il set-point in velocità risulta essere noto, quando è completamente definita la dinamica del sistema, ovvero il movimento che deve compiere il carico. Dunque, per esempio, nel controllo in forza dell’interfaccia aptica, il movimento del sistema non è completamente noto; per tale ragione, in tale contesto non si può utilizzare il concetto del velocity feedforward. In realtà, a livello pratico, il riferimento in velocità può essere ottenuto, per esempio, derivando, rispetto al tempo, il segnale di riferimento in posizione, prestando attenzione nello svolgere tale operazione di derivazione. In Fig.1.44, è riportato lo schema a blocchi dell’anello in posizione con velocity feedforward. La funzione di trasferimento in anello chiuso dell’anello in posizione, con velocity feedforward, può essere determinata mediante la formula 75
  • 112.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. Fig. 1.44: Schema a blocchi dell’anello in posizione, con velocity feedforward 1.84. HP,fw(s) = (kgp + s)HV,s(s)1 s 1 + Lp(s) = s + kgp s2 ωcv + s + ωcp (1.84) Si può osservare che la funzione di trasferimento in anello chiuso, con velocity feed- forward, HP,fw(s) presenta il medesimo denominatore e, quindi, i medesimi poli della funzione di trasferimento in anello chiuso, senza velocity feedforward, HP (s). Tut- tavia, quest’ultima non presenta nessuno zero, mentre la funzione di trasferimento HP,fw(s) ne possiede uno in z = −ωcp = −0.10ωcv . In particolare, tale zero tende a cancellare, almeno parzialmente, uno dei due poli della funzione di trasferimento. Ne consegue che l’anello in posizione con velocity feedforward ha una frequenza critica molto maggiore, circa dieci volte superiore, rispetto a quella dell’anello in posizione, senza velocity feedforward. Di conseguenza, utilizzando la tecnica descritta si riesce, effettivamente, ad incrementare le prestazioni dinamiche del controllore in posizio- ne che è quindi in grado di inseguire anche segnali molto più veloci. Tale effetto lo si può evidenziare comparando, per esempio, il diagramma di Bode del modulo della funzione di trasferimento in anello chiuso dell’anello in posizione, con e senza velocity feedforward (Fig.1.45). Nelle Fig.1.46 e Fig.1.47, è riportato lo schema Si- mulink del controllo in cascata, applicato al modello rigido e al modello cedevole del sistema in esame, rispettivamente senza e con velocity feedforward. Analogamente a quanto svolto per il posizionamento poli, per verificare se il sistema di controllo appena sintetizzato, basato sul controllo in cascata, sia corretto e sufficientemente performante, vi si applica in ingresso il profilo di moto precedentemente progettato nel sotto-paragrafo 1.6.1. 76
  • 113.
    Controllo di posizione 100 101 102 103 104 w[rad/s] -100 -80 -60 -40 -20 0 Magnitude [dB] with vel. feedforward without vel. feedforward Fig. 1.45: Diagramma di Bode del modulo della funzione di trasferimento in anello chiu- so, dell’anello in posizione, con e senza velocity feedforward Fig. 1.46: Schema Simulink del controllo in cascata, senza velocity feedforward, applicato al modello rigido e al modello cedevole del sistema 77
  • 114.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. Fig. 1.47: Schema Simulink del controllo in cascata, con velocity feedforward, applicato al modello rigido e al modello cedevole del sistema Nelle Fig.1.48 e Fig.1.49 è rappresentata la risposta, in termini di posizione e velocità lineare del manipolo, del sistema di controllo in posizione, applicato sia al modello rigido sia al modello cedevole del sistema, con e senza velocity feedforward. In primo luogo, si riscontra che, analogamente a quanto osservato parlando del posiziona- mento poli, il comportamento del modello rigido e del modello cedevole del sistema è pressoché identico. Inoltre, si osserva che non utilizzando il metodo del velocity feedforward, il sistema di controllo in cascata progettato non è in grado di seguire in modo preciso il riferimento di posizione fornitogli in ingresso. Viceversa, utiliz- zando la tecnica del velocity feedforward, il sistema di controllo in posizione appena sintetizzato riesce a seguire in modo estremamente preciso i segnali di riferimento in posizione e in velocità, che gli sono forniti in ingresso. 78
  • 115.
    Controllo di posizione 00.5 1 1.5 2 2.5 3 3.5 4 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] xtilde xrig xced xrig,fw xced,fw Fig. 1.48: Andamento, in funzione del tempo, della risposta in posizione del sistema di controllo in cascata sintetizzato, applicato sia al modello rigido sia al modello cedevole, senza e con velocity feedforward 0 0.5 1 1.5 2 2.5 3 3.5 4 Time [s] -4 -2 0 2 4 6 x p [m/s] xp,tilde xp,rig xp,ced xp,rig,fw xp,ced,fw Fig. 1.49: Andamento, in funzione del tempo, della risposta in velocità del sistema di controllo in cascata sintetizzato, applicato sia al modello rigido sia al modello cedevole, senza e con velocity feedforward 79
  • 116.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. 1.8 1.9 2 2.1 2.2 2.3 Time [s] 0.2 0.25 0.3 0.35 0.4 0.45 0.5 x [m] xtilde xced xrig Fig. 1.50: Analisi nel dettaglio della risposta in posizione del sistema di controllo in cascata sintetizzato, senza velocity feedforward Nelle Fig.1.50 e Fig.1.51, si valuta più nel dettaglio la risposta in posizione del si- stema di controllo in anello chiuso, rispettivamente senza e con velocity feedforward. In particolare, si può osservare che, non utilizzando il velocity feedforward, risulta essere in ritardo di circa 19 ms rispetto al riferimento in posizione fornito in in- gresso; viceversa con velocity feedforward, segue molto bene il riferimento, con un ritardo temporale del tutto trascurabile. Nello specifico, quando il manipolo ter- mina la fase di salita ed inizia fase di riposo, la risposta in posizione presenta una sotto-elongazione, rispetto al segnale di riferimento, di meno di un decimo di mil- limetro, quindi molto contenuta. Ciò dimostra che, come già detto in precedenza, sommando il riferimento di velocità al segnale in uscita dal controllore in posizione si riesce, effettivamente, ad incrementare notevolmente le prestazioni dinamiche del controllore in posizione. 80
  • 117.
    Controllo di posizione 1.961.98 2 2.02 2.04 2.06 2.08 2.1 2.12 2.14 Time [s] 0.4495 0.4496 0.4497 0.4498 0.4499 0.45 0.4501 x [m] xtilde xced xrig Fig. 1.51: Analisi nel dettaglio della risposta in posizione del sistema di controllo in cascata sintetizzato, con velocity feedforward 1.6.3 Confronto posizionamento poli - controllo in cascata Nelle Fig.1.52 e Fig.1.53 si confrontano la risposta, rispettivamente, in posizione e in velocità dei due sistemi di controllo sintetizzati, basati uno sul posizionamento poli e l’altro sul controllo in cascata (con velocity feedforward), al segnale di riferimento in posizione e in velocità, progettato nel sotto-paragrafo 1.6.1. Dai diagrammi proposti, si può osservare che entrambi i due sistemi di controllo implementati sono in grado di seguire, in modo molto preciso, il profilo di moto fornitogli in ingresso. Nelle Fig.1.54 e 1.55 si valuta più nel dettaglio la risposta, in posizione e in velocità, dei due sistemi di controllo, nel periodo di tempo in cui il manipolo termina una fase, cosiddetta, di salita ed inizia una fase di riposo. In particolare, si riscontra che il sistema di controllo basato sul controllo in cascata, con velocity feedforward, è leggermente più preciso rispetto a quello basato sul posizionamento poli. Tuttavia, nonostante ciò, si è scelto di utilizzare, questa seconda strategia di controllo in posi- zione a causa della sua notevole facilità di implementazione. Infatti, in tale contesto, per ottenere l’azione di controllo da applicare sul sistema è sufficiente confrontare le misure di posizione e velocità con i corrispondenti riferimenti, ottenendo in questo 81
  • 118.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. 0 0.5 1 1.5 2 2.5 3 3.5 4 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] xtilde xpoli xcasc Fig. 1.52: Andamento, in funzione del tempo, della risposta in posizione dei due sistemi di controllo progettati modo gli errori in posizione e in velocità, ed inviare, poi, tali errori in ingresso ai due guadagni g1 e g2 del posizionatore. 82
  • 119.
    Controllo di posizione 00.5 1 1.5 2 2.5 3 3.5 4 Time [s] -4 -3 -2 -1 0 1 2 3 4 x p [m/s] xp,tilde xp,poli xp,casc Fig. 1.53: Andamento, in funzione del tempo, della risposta in velocità dei due sistemi di controllo progettati 1.96 1.98 2 2.02 2.04 2.06 2.08 2.1 2.12 2.14 Time [s] 0.4498 0.44985 0.4499 0.44995 0.45 0.45005 0.4501 x [m] xtilde xpoli xcasc Fig. 1.54: Analisi nel dettaglio della risposta in posizione dei due sistemi di controllo progettati 83
  • 120.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. 1.98 2 2.02 2.04 2.06 2.08 2.1 2.12 Time [s] -0.01 -0.008 -0.006 -0.004 -0.002 0 0.002 0.004 0.006 0.008 0.01 x p [m/s] xp,tilde xp,poli xp,casc Fig. 1.55: Analisi nel dettaglio della risposta in velocità dei due sistemi di controllo progettati 1.6.4 Confronto simulazione - sistema reale Per rendere più realistico il modello Simulink del sistema di controllo in posizione, si possono introdurre due ulteriori blocchi nello schema: • il Rate Transition che permette di tenere in considerazione che il PC indu- striale, tramite il quale si controlla l’interfaccia aptica, funziona ad una certa frequenza, che nel nostro caso è stata fissata ad 1 kHz; • il Quantizer, che permette di tenere conto della risoluzione dell’encoder vir- tuale fornito dall’azionamento, tramite il quale si misura la posizione angolare dell’albero motore. In particolare, la risoluzione effettiva di tale encoder è di 216 . Ciò significa che il sensore rileva 216 impulsi ogni giro completo dell’albero motore, ovvero un impulso ogni 2π 216 radianti. In Fig.1.56 è riportato il modello Simulink del posizionatore progettato, con inseriti i blocchi Quantizer e Rate Transition, con lo scopo di rendere più realistica la simu- lazione. Sintetizzato il sistema di controllo in posizione (basato sul posizionamento poli) e valutate le sue prestazioni mediante simulazione in ambiente Simulink, lo si è testato sull’interfaccia aptica a disposizione. Per fare ciò, si è posizionato il 84
  • 121.
    Controllo di posizione Fig.1.56: Modello Simulink del sistema di controllo in posizione progettato, con blocchi Quantizer e Rate Transition manipolo al centro dell’interfaccia e si è applicato in ingresso al sistema di controllo in posizione il profilo di moto, in posizione e velocità, riportato in Fig.1.57, ottenuto mediante una legge di moto polinomiale 4 - 5 - 6 - 7. Nelle Fig.1.58 e Fig.1.59 sono rappresentati sovrapposti gli andamenti, in funzione del tempo, dei riferimenti, delle risposte del sistema di controllo valutate in simulazione e delle risposte dell’inter- faccia aptica, rispettivamente, in posizione e in velocità. In Fig.1.60 si osservano più nel dettaglio le risposte in posizione e in velocità del posizionatore ottenute in simulazione, in ambiente Simulink, e sull’interfaccia aptica a disposizione. Dai dia- grammi si può notare che le risposte del sistema di controllo in posizione ricavate in simulazione sono molto simili a quelle ottenute sull’interfaccia aptica ed entrambe seguono molto bene i corrispondenti riferimenti in posizione e in velocità, applicati in ingresso al sistema di controllo. 85
  • 122.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. 0 0.2 0.4 0.6 0.8 1 1.2 Time [s] -0.3 -0.2 -0.1 0 0.1 0.2 0.3 x [m] (a) Posizione 0 0.2 0.4 0.6 0.8 1 1.2 Time [s] -3 -2 -1 0 1 2 3 x p [m/s] (b) Velocità Fig. 1.57: Profilo di moto in posizione e in velocità, applicato in ingresso al posizionatore 0 0.2 0.4 0.6 0.8 1 1.2 Time [s] -0.3 -0.2 -0.1 0 0.1 0.2 0.3 x [m] xtilde xbanc xsim Fig. 1.58: Confronto tra risposte in posizione del sistema di controllo in posizione, rica- vata in simulazione e ottenuta sull’interfaccia aptica a disposizione 86
  • 123.
    Controllo di posizione 00.2 0.4 0.6 0.8 1 1.2 Time [s] -3 -2 -1 0 1 2 3 x p [m/s] xtilde xbanc xsim Fig. 1.59: Confronto tra risposte in velocità del sistema di controllo in posizione, ricavata in simulazione e ottenuta sull’interfaccia aptica a disposizione. Dai diagrammi riportati in Fig.1.60, si riscontra che la risposta in posizione dell’in- terfaccia aptica presenta, a regime, una sovra - elongazione di 8 decimi di millimetro di ampiezza e un errore, rispetto al riferimento applicato in ingresso, di meno di 2 decimi di millimetro. La risposta in posizione del sistema di controllo ottenuta in simulazione è caratterizzata, invece, da una sovra - elongazione di 4 decimi di millimetro di ampiezza e un errore, sostanzialmente, nullo, a regime. Pertanto, dai risultati ottenuti, si può concludere, innanzitutto, che il modello del posizionatore sviluppato in ambiente Simulink rappresenta in modo molto fedele e preciso ciò che avviene a livello del sistema reale. In secondo luogo, si può affermare che il sistema di controllo in posizione sintetizzato, basato sul posizionamento poli, presente delle ottime prestazioni, tenendo in considerazione che, nel movimento realizzato, il ma- nipolo dell’interfaccia aptica si sposta con delle velocità molto elevate con un picco di 2.625m s . 87
  • 124.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. 0.22 0.24 0.26 0.28 0.3 0.32 0.34 0.36 0.38 0.4 Time [s] 0.299 0.2992 0.2994 0.2996 0.2998 0.3 0.3002 0.3004 0.3006 0.3008 x [m] xtilde xbanc xsim (a) Posizione 0.22 0.24 0.26 0.28 0.3 0.32 0.34 0.36 0.38 0.4 Time [s] -0.04 -0.02 0 0.02 0.04 0.06 0.08 0.1 x p [m/s] xtilde xbanc xsim (b) Velocità Fig. 1.60: Risposte in posizione e velocità del sistema di controllo in posizione, valutate più nel dettaglio 1.7 Homing In generale, i sensori di posizione, che possono essere utilizzati per misurare e, quindi, conoscere la posizione del carico, si dividono in due macro-categorie: • assoluti, che misurano e forniscono la posizione assoluta del carico; • relativi, che misurano e forniscono la posizione relativa del carico. Se si utilizza un sensore di posizione relativo, non fornendo la posizione assoluta del carico, è sempre necessario, una volta acceso il sistema, svolgere un’importante ope- razione preliminare, denominata homing. Tale attività permette di definire l’origine della coordinata, che descrive la posizione assoluta del carico. Se, invece, si utilizza un sensore di posizione assoluto, non è necessario svolgere l’operazione di homing, dopo che si è acceso il sistema, perchè il sensore fornisce direttamente la posizione assoluta del carico. In molti sistemi meccatronici si utilizzano dei sensori relativi, come resolver o encoder incrementali, per misurare la posizione del carico, poichè sono più economici rispetto ai sensori di posizione assoluti. L’interfaccia aptica in esame è caratterizzata da un resolver, posizionato sul motore brushless che aziona il carico, con il quale si misura la posizione angolare relativa dell’albero motore. Di conseguenza, una volta avviato il sistema, si deve sempre eseguire l’operazione 88
  • 125.
    Homing preliminare di homing,per determinare poi la posizione assoluta del carico, a partire dalla misura del sensore di posizione relativo. In generale, ci sono diversi metodi che possono essere impiegati per svolgere l’operazione di homing. Nel caso in esame, si è utilizzato il seguente approccio: 1. si fa muovere il manipolo dell’interfaccia aptica nella direzione positiva della coordinata x, fino a che esso non intercetta uno dei due sensori fine-corsa posti alle due estremità dell’asse lineare. 2. quando ciò avviene, il sensore commuta il proprio stato e si interrompe, quindi, il moto del sistema; 3. si registra la misura della posizione angolare relativa dell’albero motore θmn , in corrispondenza della quale il manipolo ha intercettato il primo fine corsa; 4. si fa, in seguito, muovere il manipolo in direzione opposta a prima, ovvero nella direzione negativa della coordinata x, fino a che esso non intercetta l’altro fine-corsa, posto all’estremità opposta dell’asse lineare. 5. quando ciò si verifica, tale sensore commuta il proprio stato e si interrompe, nuovamente, il moto del sistema; 6. si registra la misura della posizione angolare relativa dell’albero motore θmf , in corrispondenza della quale il manipolo ha intercettato il secondo fine corsa; 7. sono note allora le posizioni relative dei due fine-corsa, che individuano le due estremità della possibile corsa del manipolo dell’interfaccia aptica. Si definisce, quindi, l’origine della coordinata che descrive la posizione assoluta dell’albero motore e, di conseguenza, del manipolo. Nel caso in esame, si è scelto di considerare il centro dell’interfaccia aptica, come origine della posizione assoluta del manipolo. Di conseguenza, una volta determinate le posizioni relative θmn e θmf dei due fine-corsa, si può individuare l’origine della coordinata angolare, che descrive la posizione assoluta dell’albero motore, mediante la formula (1.85). θm0 = θmn + θmf 2 (1.85) 89
  • 126.
    Descrizione ed analisidel sistema aptico a 1 g.d.l. Dunque, impiegando il rapporto di trasmissione τ e il raggio Rp della puleggia, posta a valle del riduttore, si può ricavare, a partire da θm0 , l’origine x0 della posizione assoluta del manipolo (relazione 1.86). x0 = θm0 τRp (1.86) A questo punto, l’effettiva posizione assoluta del manipolo dell’interfaccia aptica viene ricavata, a partire dalla misura θm della posizione relativa dell’albero motore (ottenuta mediante il resolver), tramite la formula (1.87). xabs = θmτRp − x0 = (θm − θm0 )τRp (1.87) Nelle Fig.1.61 e Fig.1.62 è riportato l’andamento, in funzione del tempo, della posi- zione e della velocità lineare del manipolo dell’interfaccia aptica, durante l’operazio- ne di homing. Da tali diagrammi si può osservare che, nelle prime due fasi (in cui si cerca di individuare la posizione relativa dei due fine-corsa), si è considerato di far, dapprima, raggiungere al manipolo, mediante una legge di moto polinomiale, una certa velocità lineare costante (partendo da una velocità nulla) e di far muovere in seguito il manipolo con tale velocità costante, fino a che esso non intercetta uno dei due fine-corsa. Nella terza fase, invece, individuato il centro dell’interfaccia aptica (che costituirà l’origine della posizione assoluta del carico), si fa muovere il manipolo verso tale posizione mediante una legge di moto polinomiale 4-5-6-7. 90
  • 127.
    Homing 0 2 46 8 10 12 Time [s] -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 x [m] Fig. 1.61: Andamento, in funzione del tempo, della posizione lineare del manipolo del- l’interfaccia aptica, durante l’operazione di homing 0 2 4 6 8 10 12 Time [s] -1 -0.5 0 0.5 1 1.5 2 2.5 3 x p [m/s] Fig. 1.62: Andamento, in funzione del tempo, della velocità lineare del manipolo dell’in- terfaccia aptica, durante l’operazione di homing 91
  • 129.
    Capitolo 2 Controllo inforza 2.1 Introduzione al controllo in forza L’obiettivo del controllo in forza è quello di indurre nell’operatore la percezione di un ambiente virtuale definito a priori. Al tal fine, l’approccio adottato consiste nell’eseguire le analisi necessarie, dapprima esclusivamente in simulazione, cercan- do di riprodurre quanto più fedelmente il comportamento dell’ambiente virtuale sul banchetto di prova simulato. In seguito, verificata la correttezza dello schema di controllo simulato ed avendo dei valori indicativi derivanti dalla simulazione, si rea- lizza il controllo aptico sperimentalmente sul banco a disposizione: qui ci si accorge di come l’impugnatura dell’utente non sia univoca sia in termini di tipologia di im- pugnatura che di rigidezza della presa, ed è quindi un elemento che può introdurre instabilità nel sistema. Realizzare un buon controllo aptico significa verificare le seguenti condizioni: • la funzione di trasferimento dalla forza introdotta dall’operatore (Fop) a quella generata dall’ambiente Famb, denominata GFF , deve avere modulo unitario su una più ampia banda possibile in modo da aver un ridotto errore in forza. • la funzione di trasferimento dalla forza introdotta dall’operatore (Fop) alla posizione x del carrello, GFX, deve esser uguale a quella dell’ambiente virtuale ideale, identificata con Gid, affinchè l’ambiente venga riprodotto in maniera esatta sul sistema aptico.
  • 130.
    Controllo in forza Nellapresente tesi si sono analizzati i due principali metodi di controllo in forza che possono essere applicati alle interfacce aptiche: il controllo in ammettenza e il controllo in impedenza. Viene innanzitutto fornita una definizione dei due termi- ni: entrambi sono operatori dinamici, ma se l’ammettenza esprime il legame fra la forza in ingresso e la velocità in uscita, l’impedenza, essendo il reciproco, permette di determinare la forza in uscita da un sistema che riceve in ingresso la velocità. Nella prima strategia di controllo si misura, tramite un opportuna cella di carico, la forza applicata dall’operatore sull’end - effector dell’interfaccia aptica e il sistema risponde con un movimento di quest’ultimo, coerente con la forza operatore e con l’ambiente virtuale considerato. Viceversa, nella strategia di controllo in impedenza si impiega un approccio sostanzialmente opposto. Infatti, si rileva il movimento imposto dall’operatore all’end - effector e il sistema reagisce con una forza, coerente con il movimento e con l’ambiente virtuale in esame, la quale viene percepita dal- l’operatore a livello del mnanipolo dell’interfaccia aptica. Nei paragrafi successivi vengono esaminate nel dettaglio le due tecniche di controllo, mettendo in luce gli aspetti chiave, per poi impiegarle nella riproduzione di ambienti virtuali prescelti sul banco di prova, evidenziando le peculiarità e problematiche emerse in fase di progetto, in funzione della tipologia di controllo adottato. In questa breve intro- duzione sul controllo aptico è stato introdotto il concetto di impedenza, ovvero di operatore dinamico che permette di ricavare la forza in uscita da un sistema pren- dendo in ingresso la velocità; nella presente trattazione, avendo a disposizione la misura di posizione, non si ragionerà però in termini di impedenze bensı̀ di funzioni di trasferimento: diversi tipi di approccio che conducono comunque alle medesime conclusioni. 2.1.1 Controllo in ammettenza Vista la principale differenza fra le due tipologie di controllo, in questo paragrafo si analizza nel dettaglio il cosidetto Admittance control with position feedback, o controllo in ammettenza. In questa soluzione, facendo riferimento alla Fig.2.1, lo schema a blocchi è costituito da due anelli: 94
  • 131.
    Introduzione al controlloin forza + - 𝑭𝒐𝒑 𝑭𝒂𝒎𝒃 𝑹𝑭 𝑮𝑷𝒐𝒔 𝑮𝒊𝒅 −𝟏 𝒙𝒓𝒊𝒇 𝒙 ሶ 𝒙𝒓𝒊𝒇 Fig. 2.1: Schema a blocchi del controllo in forza in ammettenza • l’anello esterno, riceve in ingresso l’errore in forza derivante dal confronto della forza generata dall’ambiente (Famb) e quella introdotta dall’operatore (Fop), e, un opportuno regolatore con funzione di trasferimento (Rf ) genera il riferimento di posizione (xrif ) e velocità ẋrif ; • l’anello interno, detto anche posizionatore e rappresentato dalla funzione di trasferimento Gpos, prende in ingresso i riferimenti, e fa si che la posizione effettiva del dispositivo sia quella desiderata, minimizzando quindi l’errore. La retroazione della posizione effettiva raggiunta dalla macchina viene letta dall’ ambiente virtuale scelto, avente funzione di trasferimento Gid che fornisce in uscita la forza Famb, la quale verrà poi confrontata con Fop introdotta dall’utente per spo- stare il manipolo. Questo schema di controllo si basa quindi sulla lettura della forza esercitata dall’operatore, pertanto è necessario disporre di un sensore di forza, op- portunamente calibrato. Per il progetto dell’anello interno, quindi del posizionatore del dispositivo, si possono utilizzare le tradizionali tecniche di controllo del moto, quali il posizionamento poli o il controllo in cascata, ad oggi disponibili, ma tutte devono rispettare un fondamentale requisito: la larghezza di banda deve essere suf- ficientemente più ampia dell’anello esterno. Prendendo come riferimento lo schema a blocchi (Fig.2.1) è possibile esprimere la forza ambiente come Famb = G−1 id · x (2.1) e la posizione effettiva del dispositivo: x = (Fop − G−1 id · x) · Rf · Gpos (2.2) 95
  • 132.
    Controllo in forza Esplicitandola (2.2) si ricava la funzione di trasferimento dalla forza introdotta dall’operatore all’uscita x: GFX = x Fop = Rf · Gpos 1 + Rf · Gpos · G−1 id (2.3) Analogamente, la funzione di trasferimento dalla forza operatore all’uscita rappre- sentata dalla forza generata dall’ambiente (Famb) risulta: GFF = Famb Fop = G−1 id · Rf · Gpos 1 + Rf · Gpos · G−1 id (2.4) Per simulare correttamente l’ambiente ideale desiderato, avente funzione di trasferi- mento Gid è necessario che GFX risulti simile a Gid, mentre che GFX sia unitaria su una più ampia banda possibile, in modo che la l’operatore percepisca effettivamente la forza generata dall’ambiente. Dall’espressione di GFX e GFF , (2.3) e (2.4), emer- ge allora, che per ottenere le prestazioni desiderate, è necessario utilizzare guadagni elevati per l’anello interno di posizione in modo da rendere trascurabile il contributo legato la dinamica naturale del sistema, contenuta all’interno di Gpos, in termini di forze d’ inerzia, azioni d’attrito e giochi, ed assumere quindi che il sistema segua perfettamente il riferimento di posizione. Considerando quindi unitaria Gpos, af- finchè GFX e GFF abbiano le proprietà desiderate, anche il guadagno del regolatore Rf deve essere elevato. A livello pratico però, i valori dei guadagni non possono essere eccessivi, ma devono essere sempre adeguati in modo da garantire stabilità al sistema. In conclusione, la realizzazione di un controllo in forza in ammettenza può essere suddiviso in due problemi: progetto del posizionatore e sintesi del regolato- re di forza. L’anello interno può chiaramente limitare la banda passante di quello esterno, ma permette di approcciarsi al controllo di dispositivi caratterizzati da un elevata dinamica naturale quindi forze d’interazione di notevole intensità. 2.1.2 Controllo in impedenza in anello aperto In generale, l’operatore afferra l’end - effector dell’interfaccia aptica e vi applica una forza Fop, in maniera tale da movimentarlo nel modo desiderato. In anello aperto, non si misura tale forza introdotta nel sistema dall’operatore. Quindi, la strategia di controllo in impedenza in anello aperto viene utilizzata nel momento in cui non si 96
  • 133.
    Introduzione al controlloin forza abbia a disposizione un sensore, come una cella di carico, con cui misurare la forza Fop. Ciò che si misura è solo lo spostamento x (o la velocità ẋ, in base al sensore che si ha a disposizione) dell’end - effector dell’interfaccia aptica. La misura viene mandata in ingresso alla funzione di trasferimento G−1 id , da x a F, dell’ambiente ideale che si desidera riprodurre. In questo modo, si ottiene in uscita la forza ambiente Famb, descritta dalla formula (2.5). La forza motrice Fm, che è applicata in ingresso al sistema sotto controllo descritto dalla sua funzione di trasferimento G da Fm a x, è esattamente pari alla forza generata dall’ambiente virtuale Famb, cambiata di segno in quanto forza di reazione. Famb = G−1 id x (2.5) Lo schema di controllo in impedenza in anello aperto appena descritto può essere rappresentato mediante lo schema a blocchi riportato in Fig.2.2. G Gid -1 + - Fop Famb Fm x Fig. 2.2: Schema a blocchi del sistema di controllo in impedenza in anello aperto Lo spostamento x subito dall’end - effector dell’interfaccia aptica può essere legato alla forza applicata dall’operatore sul manipolo mediante la relazione (2.6). x = G−1 Fm = G−1 (Fop − Famb) (2.6) Sostituendo all’interno dell’equazione (2.6) la formula (2.5), con cui si lega lo spo- stamento x alla forza generata dall’ambiente virtuale, si ottiene l’espressione (2.7). x = G−1 (Fop − G−1 id x) (2.7) Rielaborando l’equazione (2.7) si ottiene la formula (2.8), che descrive il movimen- to x compiuto dall’end - effector in funzione della forza applicata su quest’ultimo 97
  • 134.
    Controllo in forza dall’operatore. x· (G − G−1 id ) = Fop (2.8) Pertanto, la funzione di trasferimento da Fop a x di un sistema di controllo in impedenza in anello aperto è espressa dalla relazione (2.9), mentre quella da Fop a Famb è descritta dalla formula (2.10). GFX = x Fop = 1 G + G−1 id (2.9) GFF = Famb Fop = G−1 id GFX = G−1 id G + G−1 id (2.10) Si può osservare che le due funzioni di trasferimento GFX e GFF , che caratterizza- no un sistema di controllo in forza, non sono esattamente pari, rispettivamente, a quella dell’ambiente ideale Gid e della funzione di trasferimento unitaria, a causa della presenza della funzione di trasferimento G, da Fm ad x, dell’ambiente sotto - controllo. Ciò significa che la strategia di controllo in impedenza in anello aperto può essere impiegata soltanto su interfacce aptiche caratterizzate da una dinamica naturale trascurabile, rappresentata dalla funzione di trasferimento G, ovvero siste- mi che presentano, per esempio, delle basse azioni di attrito e delle inerzie piuttosto limitate. In questo modo, la funzione di trasferimento G può essere trascurata e GFX e GFF risultano, approssimativamente, pari a Gid e alla funzione di trasferi- mento unitaria. Se l’interfaccia aptica a disposizione presenta, invece, una dinamica naturale piuttosto rilevante, allora è necessario adottare delle tecniche, a livello di controllo, con cui compensarla, in modo tale da ottenere delle prestazioni del sistema di controllo in forza accettabili. Due importanti e comuni strategie di compensazione della dinamica naturale del sistema che possono essere impiegate sono: 1. feedforward; 2. compensazione degli attriti. La prima tecnica prevede di costruire un modello dinamico del sistema sotto control- lo e di fornirgli in ingresso il movimento misurato dell’end-effector. In questo modo, si ottiene una forza di feedforward Ffw, che si somma alla forza generata dall’am- biente virtuale ottenendo, conseguentemente, la forza motrice Fm. In particolare, 98
  • 135.
    Introduzione al controlloin forza più il modello dinamico descrive in modo preciso il sistema sotto controllo, miglio- re è la compensazione della dinamica naturale del sistema mediante la tecnica del feedforward e, di conseguenza, migliori sono le prestazioni del sistema di controllo in impedenza in anello aperto. La seconda tecnica consiste invece nel realizzare un modello dell’attrito presente a livello degli accoppiamenti meccanici dell’interfaccia aptica. A partire da esso, si implementa un compensatore, il quale, a partire dalla misura del movimento dell’end-effector, fornisce in uscita una forza che ha il com- pito di compensare le perdite per attrito e che viene sommata, anch’essa, alla forza ambiente Famb, ottenendo l’azione motrice Fm. 2.1.3 Controllo in impedenza in anello chiuso Laddove si abbia a disposizione un sensore con cui misurare la forza scambiata tra l’operatore e l’end-effector dell’interfaccia aptica, conviene impiegare una strategia di controllo in impedenza in anello chiuso e non in anello aperto. In tal caso, si misura sempre lo spostamento (o la velocità) dell’end-effector e lo si fornisce in ingresso alla funzione di trasferimento G−1 id dell’ambiente virtuale, che fornisce in uscita la forza ambiente Famb. Quest’ultima la si confronta con la misura della forza operatore Fopmis e si ottiene, in questo modo, un’errore, che viene preso in ingresso dal controllore in forza Rf che determina, se opportunamente progettato, un’azione di controllo u. Dunque, una seconda differenza tra controllo in impedenza in anello aperto e in anello chiuso è che, nel secondo caso, si impiega un regolatore con il quale controllare la dinamica dell’errore in forza. Infine, all’azione di controllo in uscita ad Rf si sottrae la forza ambiente Famb, ottenendo, in questo modo, quella motrice Fm, che viene applicata in ingresso al sistema sotto controllo. In Fig.2.3 è riportato lo schema a blocchi del sistema di controllo in impedenza in anello chiuso. La forza motrice, applicata in ingresso al sistema sotto controllo, può essere calcolata mediante la relazione (2.11). Fm = u − Famb = (Fopmis − Famb)Rf − Famb = Fopmis Rf − Famb(1 + Rf ) (2.11) Per semplicità, si consideri unitaria la funzione di trasferimento della cella di carico. Pertanto, si può affermare che la forza misurata dal sensore Fopmis è uguale alla 99
  • 136.
    Controllo in forza G Gid -1 + - Fop Famb Fmx u Rf S Fmis ef - + + Fig. 2.3: Schema a blocchi del sistema di controllo in impedenza in anello chiuso forza Fop effettivamente applicata dall’operatore sul manipolo. Lo spostamento x del manipolo dell’interfaccia aptica può essere valutato mediante la formula (2.12). x = G·Fm = G(Fop ·Rf −Famb ·(1+Rf )) = G·(Fop ·Rf −G−1 id ·x·(1+Rf )) (2.12) Dunque, le funzioni di trasferimento del sistema di controllo in anello chiuso da Fop ad x e da Fop a Famb possono essere determinate mediante le relazioni (2.13) e (2.14). GFX = x Fop = GRf 1 + GG−1 id (1 + Rf ) (2.13) GFF = Famb Fop = G−1 id GFX = G−1 id GRf 1 + GG−1 id (1 + Rf ) (2.14) Si può osservare che, se i guadagni del regolatore in forza tendessero ad infinito, le funzioni di trasferimento GFX e GFF sarebbero pari, rispettivamente, a quella dell’ambiente ideale Gid e alla funzione di trasferimento unitaria. Da tale consi- derazione, si può dedurre che, impiegando una strategia di controllo in impedenza in anello chiuso, si riesce a compensare, almeno in parte, la dinamica naturale del sistema tramite il regolatore in forza Rf . In particolare, più elevati sono i guadagni del controllore, maggiore è tale compensazione e, quindi, migliori sono le prestazioni del sistema di controllo. Questa è la ragione per cui il sistema di controllo in impe- denza in anello chiuso presenta, in generale, delle prestazioni decisamente migliori rispetto a quello in anello aperto, in cui non è presente un regolatore in forza con cui compensare la dinamica naturale del sistema e, pertanto, risulta necessario adottare altre tecniche di compensazione quali il feedforward o la modellazione degli attriti. Pertanto qualora si abbia a disposizione un sensore con cui misurare la forza applica- ta dall’operatore sull’interfaccia aptica, conviene impiegare la strategia di controllo in impedenza in anello chiuso e non in anello aperto. 100
  • 137.
    Progettazione del sistemadi controllo aptico in ammettenza 2.2 Progettazione del sistema di controllo aptico in ammettenza 2.2.1 Ambiente molla Il primo ambiente che si è deciso di indagare è stato il cosidetto ambiente molla: si vuole dare all’utente la percezione che al manipolo impugnato sia collegata una molla, quindi per spostare il carrello è necessario introdurre una forza che cresce linearmente con la posizione assunta dalla massa movimentabile. Partendo dal presupposto che è impossibile realizzare una molla ideale che torna istantaneamente nella posizione iniziale quando rilasciata, si implementa una molla reale: se gli viene data una condizione iniziale in posizione, essa torna nella posizione di equilibrio seguendo un esponenziale decrescente; in altre parole, per effetto degli attriti, si realizza una molla smorzata. L’ambiente in questione non è caratterizzato da una vera propria funzione di tra- sferimento bensı̀ semplicemente da un guadagno pari all’inverso della costante della molla (Gid = 1 Km ), se si considera in ingresso la forza e in uscita la posizione. L’ambiente virtuale riceve allora la coordinata x del carrello, la moltiplica per la costante della molla e restituisce la forza desiderata Famb = Km · x. Dal confronto tra quest’ultima e la forza dell’operatore, si ricava l’errore in forza che viene preso in input dal regolatore, il quale fornirà il set-point di posizione, da cui ricavare quello di velocità tramite derivazione numerica, da fornire in ingresso al posizionatore. Lo schema di controllo implementato in Simulink è rappresentato in Fig.2.4. Le simulazioni per la validazione del controllo sono state effettuate considerando, nel blocco del posizionatore, il modello cedevole del sistema, per esaltare eventuali problematiche date da una tipologia di regolatore piuttosto che un’altra. Il primo controllore che si è scelto di utilizzare è stato un proporzionale definito dalla sua costante Kp. Per indagare l’efficacia del controllo è necessario analizzare le due funzioni di trasferimento GFF e GFX. Avendo già calcolato la funzione di trasferimento del posizionatore Gppos (paragrafo 1.6.1), che riceve in ingresso una 101
  • 138.
    Controllo in forza Fig.2.4: Schema del controllo in forza per l’ambiente molla posizione di riferimento e restituisce in uscita quella effettiva, è semplice calcolare GFF e GFX. GFF = Gppos · Km · Kp 1 + Gppos · Km · Kp (2.15) GFX = Gppos · Kp 1 + Gppos · Km · Kp (2.16) Le funzioni di trasferimento sopra esposte hanno lo stesso zero in posizione fissa ed il medesimo denominatore, di secondo grado: le radici sono i poli del sistema in anello chiuso e la loro natura al variare di Kp viene mostrata in Fig.2.5. In particolare, al di sotto di Kp = 0.0173 sono complessi coniugati mentre al di sopra reali distinti: all’aumentare del Kp, uno si allontana sempre più dall’asse immaginario mentre l’altro si avvicina fino a tendere a un valore praticamente costante che si attesta attorno a -112 circa. In ogni caso, i poli hanno sempre parte reale negativa pertanto il sistema è asintoticamente stabile. La funzione di trasferimento del posizionatore è del secondo ordine ed ha la seguente forma: Gppos = a · s + b s2 + a · s + b (2.17) dove a e b sono dei valori costanti mentre s è la variabile complessa nel dominio delle trasformate di Laplace. Nota la (2.17) è allora possibile ricavare l’espressione analitica di GFF e GFX. GFF = (a · Km · Kp) · s + b · Km · Kp s2 + (a + a · Km · Kp) · s + (b + b · Km · Kp) (2.18) GFX = (a · Kp) · s + b · Kp s2 + (a + a · Km · Kp) · s + (b + b · Km · Kp) (2.19) 102
  • 139.
    Progettazione del sistemadi controllo aptico in ammettenza 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 Kp -500 0 500 Real(p i ) Real(p1 ) Real(p2 ) 0.015 0.016 0.017 0.018 0.019 0.02 0.021 0.022 0.023 0.024 0.025 Kp -0.1 -0.05 0 0.05 0.1 Imag(p i ) Imag(p1 ) Imag(p2 ) Fig. 2.5: Andamento dei poli di GFF e GFX al variare di Kp - ambiente molla E’ immediato quindi osservare che i guadagni statici di GFF e GFX hanno espres- sione: µGF F = Km · Kp 1 + Km · Kp (2.20) µGF X = Kp 1 + Km · Kp (2.21) Emerge allora come con un regolatore puramente proporzionale non si riesca ad ot- tenere esattamente µGF F = 1 e µGF X = 1 Km , come vorremmo invece si verificasse per realizzare un efficace controllo in forza e riprodurre fedelmente l’ambiente vir- tuale scelto. Scegliendo invece valori di Kp ben superiori a 0.0173, corrispondente alla soglia in cui avviene il passaggio a poli reali distinti, ed in particolare maggio- ri di 0.1, accade che il polo in bassa frequenza viene cancellato dallo zero: GFF e GFX sono allora approssimabili come funzioni di trasferimento del primo ordine e il comportamento dinamico è esclusivamente determinato dal polo in alta frequenza, pertanto le prestazioni del sistema di controllo sono molto simili a quelle desiderate. In Fig.2.6 e Fig.2.7 vengono mostrati i diagrammi di Bode del modulo delle due fun- zioni di trasferimento rispettivamente considerando bassi valori di Kp, evidenziando 103
  • 140.
    Controllo in forza 101 102 103 [Hz] -40 -35 -30 -25 -20 -15 -10 -5 0 [dB] (a)GF F 101 102 103 [Hz] -80 -75 -70 -65 -60 -55 -50 -45 -40 [dB] (b) GF X Fig. 2.6: Diagrammi di Bode del modulo di GFF e GFX - Ambiente molla utilizzando un regolatore di tipo proporzionale con Km = 60 N m e Kp = 0.01 quindi un comportamento statico non desiderato, e più elevati, ottenendo di fatto le prestazioni volute. 102 103 104 105 [Hz] -40 -35 -30 -25 -20 -15 -10 -5 0 [dB] (a) GF F 102 103 104 105 [Hz] -80 -75 -70 -65 -60 -55 -50 -45 -40 -35 -30 [dB] (b) GF X Fig. 2.7: Diagrammi di Bode del modulo di GFF e GFX - Ambiente molla utilizzando un regolatore di tipo proporzionale con Km = 60 N m e Kp = 0.5 Si procede allora con la simulazione del sistema di controllo applicato al modello cedevole: utilizzando una molla con rigidezza Km = 60 N m e un ingresso in forza di 20 N si constata che Kp maggiori o uguali a 0.03 portano a un comportamento non desiderato, ovvero ad oscillazioni che vanno via via ad amplificarsi. Per smorzare 104
  • 141.
    Progettazione del sistemadi controllo aptico in ammettenza quest’ultime si devono utilizzare valori di Kp inferiori a 0.03 che risultano, coeren- temente con quanto anticipato analizzando il guadagno statico, troppo bassi per portare al corretto valore di regime. In Fig.2.8 sono riportati i risultati di una si- mulazione condotta con Kp = 0.009, Km = 60 N m ed uno scalino di forza in ingresso pari a 20 N: nel grafico sopra, dove viene mostrata la forza operatore e la forza am- biente, si nota un’ oscillazione smorzata ed un significativo errore a regime, mentre nel secondo si osserva come la posizione di regime non sia effettivamente pari a F Km , come invece si vorrebbe. Si può concludere allora che utilizzando un controllore proporzionale, per ottenere le prestazioni desiderate ed allargare la banda passante, si dovrebbe aumentare il Kp, ma ciò instabilizza il sistema; abbassando invece il Kp si riducono le oscillazioni, ma si ottiene un significativo errore a regime. Per tali ragioni si scarta l’idea di utilizzare un regolatore proporzionale all’interno del sistema di controllo in forza. 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 [s] 0 5 10 15 20 25 [N] Famb Fop 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 [s] 0 0.05 0.1 0.15 [m] Fig. 2.8: Risposta allo scalino di forza: confronto fra forza operatore e forza generata dall’ambiente (grafico sopra) e andamento nel tempo della posizione del carrello (grafico sotto) 105
  • 142.
    Controllo in forza Laseconda tipologia di regolatore indagata è il puro integratore avente funzione di trasferimento: Rf = KI s (2.22) dove con KI si indica la sua costante. Le funzioni di trasferimento GFF e GFX assumono espressione pari a: GFF = Gppos · Km · KI s 1 + Gppos · Km · KI s (2.23) GFX = Gppos · KI s 1 + Gppos · Km · KI s (2.24) GFF e GFX hanno dunque lo stesso zero, a circa 18 Hz, il medesimo denominatore di terzo grado ed è importante valutare la natura dei poli, ovvero delle radici del polinomio, al variare della costante KI del regolatore (Fig.2.9). 0 1 2 3 4 5 6 7 8 9 10 KI -100 -50 0 Real(p i ) Real(p1 ) Real(p2 ) Real(p3 ) 0 1 2 3 4 5 6 7 8 9 10 KI -400 -200 0 200 400 Imag(p i ) Imag(p1 ) Imag(p2 ) Imag(p3 ) Fig. 2.9: Andamento dei poli di Gff e Gfx al variare di KI - ambiente molla La Fig.2.9 mostra come per qualsiasi valore di KI la natura dei poli sia sempre la stessa: due complessi coniugati e uno reale, tutti a parte reale negativa, quindi il si- stema è sempre asintoticamente stabile. All’ incrementare del parametro KI, il polo reale si allontana dall’ asse immaginario mentre quelli complessi coniugati si avvici- nano. Considerando la funzione di trasferimento del posizionatore (2.17), è possibile 106
  • 143.
    Progettazione del sistemadi controllo aptico in ammettenza riscrivere GFF e GFX in funzione dei parametri dell’ambiente e del regolatore GFF = KI · Km · a · s + KI · km · b s3 + a · s2 + (b + KI · a · Km) · s + KI · Km · b (2.25) GFX = KI · a · s + KI · b s3 + a · s2 + (b + KI · a · Km) · s + KI · Km · b (2.26) per poi ricavare i valori dei rispettivi guadagni statici: µGF F = KI · Km · b KI · km · b = 1 (2.27) µGF X = KI · b KI · Km · b = 1 Km (2.28) Dall’ espressione di µGF F e µGF X si nota come l’utilizzo di un puro integratore come regolatore conduca ai risultati desiderati, ossia guadagno unitario per GFF , e pari a quello della funzione di trasferimento dell’ambiente virtuale per GFX. Analizzata la posizione dei poli al variare del KI e individuata la soglia critica in cui il polo reale si allontana maggiormente dell’asse immaginario rispetto alla parte reale dei poli complessi coniugati, vengono ora esaminati, per comprendere il comportamento dinamico del sistema, i diagrammi di Bode in tre differenti casi: 1. KI estremamente basso e pari a 0.001 (Fig.2.10 (a),(b)): in bassa frequenza è presente il polo reale mentre a circa 25 Hz si trovano i poli complessi coniu- gati. La presenza dello zero in alta frequenza fa si che la pendenza finale del diagramma di Bode sia -40 dB decade . In sostanza GFF e GFX, per valori eccessiva- mente bassi di KI, consentono apparentemente di ottenere il comportamento desiderato, ma con un’insufficiente ampiezza della banda passante; 2. KI=0.1 (Fig.2.10 (c),(d)): aumentando il KI, le parti reali dei due poli si avvicinano, determinando quindi una banda passante di maggior ampiezza, seppur sempre ristretta per l’applicazione in esame. Il comportamento è quindi analogo al caso precedente, ma traslato a frequenze maggiori. Emerge quindi, che per ottenere una banda passante più ampia è necessario aumentare il KI, quindi incrementare la parte reale del polo in bassa frequenza. 3. KI elevati (maggiori di 2) (Fig.2.10 (e),(f)): il polo reale, allontanandosi sem- pre più dall’asse immaginario, si avvicina allo zero, fino a cancellarsi con que- 107
  • 144.
    Controllo in forza st’ultimo,rendendo di fatto i poli complessi coniugati direttamente responsa- bili del comportamento dinamico del sistema. Utilizzare KI elevati permette di allargare la banda passante, ma, se la parte reale dei poli complessi coniu- gati rimane pressochè costante, quella immaginaria aumenta, diminuendo cosi lo smorzamento dei poli: questo comporta una crescente sovraelongazione nel diagramma di Bode del modulo delle funzioni di trasferimento. Riassumendo, per simulare correttamente l’ambiente ideale desiderato è necessario utilizzare valori non eccessivamente elevati di KI, all’incirca fino a 2: in questo modo la banda passante è determinata dal polo reale in bassa frequenza ed ha un ampiezza massima attorno alla decina di Hertz. Incrementando invece il KI, il polo reale tende a cancellarsi con lo zero, ottenendo quindi una maggior banda data dalla posizione dei poli complessi coniugati: in questo modo si deve però far attenzione, dato il progressivo diminuire dello smorzamento dei poli, a non determinare eccessive sovraelongazioni nel diagramma di Bode del modulo della funzione di trasferimento che comporterebbero poi oscillazioni nella risposta nel tempo del sistema. Analizzate le funzioni di trasferimento si procede con la simulazione applicando il sistema di controllo al modello cedevole. Considerando una molla con rigidezza pari a Km = 60 N m , un ingresso in forza pari 20 N, per valutare la correttezza dello schema Simulink si verifica che la posizione di regime raggiunta sia pari a F Km = 0, 33 m utilizzando Km = 60 N m e KI = 0.2 (Fig.2.11). Si può concludere quindi che l’utilizzo di un puro integratore come regolatore di forza è in grado di soddisfare i requisiti del controllo aptico che si intende sviluppare. 108
  • 145.
    Progettazione del sistemadi controllo aptico in ammettenza 10-3 10-2 10-1 100 101 102 103 [Hz] -140 -120 -100 -80 -60 -40 -20 0 [dB] (a) KI = 0.001 10-3 10-2 10-1 100 101 102 103 [Hz] -180 -160 -140 -120 -100 -80 -60 -40 -20 [dB] (b) KI = 0.001 10-1 100 101 102 103 [Hz] -90 -80 -70 -60 -50 -40 -30 -20 -10 0 [dB] (c) KI = 0.1 10-1 100 101 102 103 [Hz] -130 -120 -110 -100 -90 -80 -70 -60 -50 -40 -30 [dB] (d) KI = 0.1 100 101 102 103 f [Hz] -80 -70 -60 -50 -40 -30 -20 -10 0 10 20 Magnitude [dB] KI =2.5 KI =4 KI =5.5 KI =7 KI =8.5 (e) KI compreso tra 2.5 e 8 con passo 1.5 100 101 102 103 f [Hz] -80 -70 -60 -50 -40 -30 -20 -10 0 Magnitude [dB] KI =2.5 KI =4 KI =5.5 KI =7 KI =8.5 (f) KI compreso tra 2.5 e 8 con passo 1.5 Fig. 2.10: Diagramma di Bode del modulo di GFF e GFX utilizzando un puro integratore come regolatore di forza 109
  • 146.
    Controllo in forza 00.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 [s] 0 5 10 15 20 25 [N] Famb Fop 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 [s] 0 0.1 0.2 0.3 0.4 [m] Fig. 2.11: Andamento nel tempo di forza operatore e forza ambiente ( grafico sopra) e della coordinata x del carrello (grafico sotto), utilizzando un puro integratore come controllore di forza Risultati sperimentali Dopo aver analizzato le caratteristiche di due tipologie di controllori differenti esclu- sivamente in simulazione, si è deciso di implementare sul banchetto di prova il se- condo regolatore indagato, ovvero il puro integratore. Per testare sul sistema apti- co il controllo in ammettenza preventivamente progettato in simulazione, si decide di simulare il comportamento di una molla ideale con Km = 250 N m , utilizzando KI = 0.06. Si conduce quindi un test spostando il manipolo dalla posizione cen- trale, avanti e indietro, verso i due finecorsa. Dalla prova condotta si esportano i segnali di: • forza esercitata dall’operatore Fop e generata dall’ambiente virtuale Famb; • spostamento x del manipolo; • velocità xp del manipolo; • errore in forza ef . 110
  • 147.
    Progettazione del sistemadi controllo aptico in ammettenza Inoltre, per effettuare un confronto fra il sistema di controllo simulato e quello ef- fettivamente realizzato sul banco di prova, si importa in ambiente Simulink la forza operatore letta sul sistema aptico: in tal modo, utilizzando lo stesso input (Fop), si potranno confrontare le risposte di posizione e di forza generata dall’ambiente, ottenute in simulazione e sul banco di prova. Avendo esportato la Fop, viene an- che confrontata la risposta in posizione ottenuta sull’interfaccia aptica e dalla molla ideale che si desidera simulare, in modo da valutare la capacità del sistema di con- trollo in ammettenza di replicare l’ambiente virtuale desiderato. La lettura dell’ errore in forza eF viene fatta per valutare l’efficacia del sistema di controllo nel far percepire all’operatore esattamente la forza generata dell’ambiente virtuale. Nelle Fig.2.12,Fig.2.13,Fig.2.14 e Fig.2.15 vengono riportati gli andamenti in funzione del tempo rispettivamente della posizione x e della velocità xp del carrello, della forza introdotta dall’ operatore Fop e della forza generata dall’ambiente Famb ricavati dalla prova condotta sul sistema aptico. 0 5 10 15 Time [s] -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 x [m] Fig. 2.12: Andamento,in funzione del tempo, della posizione x del manipolo, durante la simulazione del comportamento di una molla ideale di rigidezza Km = 250 N m con controllo in ammettenza 111
  • 148.
    Controllo in forza 05 10 15 Time [s] -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 xp [m/s] Fig. 2.13: Andamento, in funzione del tempo, della velocità xp del manipolo, durante la simulazione del comportamento di una molla ideale di rigidezza Km = 250 N m con controllo in ammettenza 0 5 10 15 Time [s] -100 -80 -60 -40 -20 0 20 40 60 80 100 F amb [N] Fig. 2.15: Andamento, in funzione del tempo, della forza generata dall’ambiente virtuale, durante la simulazione di una molla ideale di rigidezza Km = 250 N m con controllo in ammettenza Come già anticipato, nelle Fig.2.16 e Fig.2.17 vengono confrontate le risposte di posizione e forza ottenute in simulazione e sul banco di prova: si osserva una prati- camente perfetta aderenza fra i due segnali e ciò conferma nuovamente la correttezza del modello realizzato in simulazione. 112
  • 149.
    Progettazione del sistemadi controllo aptico in ammettenza 0 5 10 15 Time [s] -100 -80 -60 -40 -20 0 20 40 60 80 100 F op [N] Fig. 2.14: Andamento, in funzione del tempo, della forza esercitata dall’operatore sul manipolo, durante la simulazione di una molla ideale di rigidezza Km = 250 N m con controllo in ammettenza 0 5 10 15 Time [s] -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 x [m] xbanchetto xsimulazione Fig. 2.16: Confronto tra la risposta in posizione simulata in ambiente Simulink e la risposta in posizione ottenuta sul banco di prova del sistema di controllo in ammettenza - Km = 250 N m 113
  • 150.
    Controllo in forza 05 10 15 Time [s] -100 -80 -60 -40 -20 0 20 40 60 80 100 F [N] Fbanchetto Fsimulazione Fig. 2.17: Confronto tra la risposta in forza simulata in ambiente Simulink e la risposta in forza ottenuta sul banco di prova del sistema di controllo in ammettenza - Km = 250 N m Nelle Fig.2.18 e Fig.2.19 sono invece riportati gli andamenti in funzione del tempo della forza introdotta dell’operatore Fop e generata dall’ambiente Famb e l’errore in forza calcolato come differenza fra Fop e Famb. Si evidenzia come la massima forza applicata dall’operatore sia di 86.23 N e il massimo errore in forza pari a 12.27 N. Segue che il massimo errore in forza che si è ottenuto durante la prova svolta sul- l’interfaccia aptica è circa pari al 14% della massima forza esercitata dall’operatore sul manipolo. Infine vengono mostrati i seguenti andamenti: 1. andamento nel tempo della posizione del carrello, considerata ideale, in quando ottenuta dando in ingresso all’ ambiente ideale, rappresentato da una costante pari all’inverso della rigidezza della molla, la forza esercitata dall’operatore sul banco, confrontata con la posizione effettiva raggiunta dal carrello sulla guida lineare (Fig.2.20); 2. andamento dell’errore in posizione ottenuto facendo la differenza dei segnali raffigurati nel grafico del punto precedente (Fig.2.21). 114
  • 151.
    Progettazione del sistemadi controllo aptico in ammettenza 0 5 10 15 [t] -100 -80 -60 -40 -20 0 20 40 60 80 100 [N] Famb Fop Fig. 2.18: Confronto tra la forza applicata dall’operatore sul manipolo e la forza generata dall’ambiente virtuale, durante la simulazione del comportamento di una molla di rigidezza Km = 250 N m con controllo in ammettenza 0 5 10 15 Time [s] -15 -10 -5 0 5 10 15 e F [N] Fig. 2.19: Andamento, in funzione del tempo, dell’errore in forza, durante la simulazione del comportamento di una molla di rigidezza Km = 250 N m con controllo in ammettenza 115
  • 152.
    Controllo in forza 05 10 15 Time [s] -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 x [m] xideale xbanchetto Fig. 2.20: Confronto tra le risposte in posizione dell’interfaccia aptica con controllo in ammettenza e di una molla ideale di rigidezza Km = 250 N m Da tali analisi emerge che lo spostamento massimo compiuto dal carrello sul banco è di 0.34 m e l’errore massimo in posizione ottenuto confrontando la risposta del- l’ambiente ideale con il sistema aptico è pari a 0.05 m. Se ne deduce quindi che il massimo errore in posizione che si è ottenuto, durante la prova svolta sull’interfaccia aptica a disposizione, è circa pari al 14.5% del massimo spostamento compiuto dal manipolo. Infine, si mostra in Fig.2.22 la forza operatore e la forza ambiente in funzione dello spostamento del manipolo lungo l’asse lineare. 116
  • 153.
    Progettazione del sistemadi controllo aptico in ammettenza 0 5 10 15 Time [s] -0.05 -0.04 -0.03 -0.02 -0.01 0 0.01 0.02 0.03 0.04 0.05 e x [m] Fig. 2.21: Andamento, in funzione del tempo, dell’errore in posizione, ottenuto dal con- fronto fra posizione effettivamente raggiunta sul banco di prova con controllo in ammettenza e posizione derivante dall’ambiente ideale rappresentato da una molla con rigidezza Km = 250 N m -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 [m] -100 -80 -60 -40 -20 0 20 40 60 80 100 [N] Famb Fop Fig. 2.22: Andamento della forza applicata dall’operatore sul manipolo in funzione della posizione x di quest’ultimo, durante la simulazione del comportamento di una molla di rigidezza Km = 250 N m con controllo in ammettenza 117
  • 154.
    Controllo in forza 00.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Time [s] 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 x [m] xbanchetto xsimulazione Fig. 2.23: Andamento nel tempo del segnale di posizione del carrello ottenuto sul ban- chetto con controllo in ammettenza e sul sistema simulato, applicando in in- gresso uno scalino di forza di 20 N ed utilizzando una rigidezza della molla ideale di Km = 250 N m Un ulteriore verifica della capacità del sistema di controllo nel far percepire all’u- tente l’ambiente virtuale desiderato, consiste nel forzare mediante il blocco step di Simulink, sul banco di prova, una forza operatore con andamento a scalino pari a 20 N e controllare che la posizione di regime sia effettivamente quella attesa di Fop Km = 0.08 m, utilizzando una rigidezza della molla ideale di Km = 250 N m : l’ac- quisizione viene confrontata anche con i risultati derivanti dal sistema di controllo simulato (Fig.2.23). Dalla Fig.2.23 si osserva corrispondenza fra il segnale misurato e simulato, ma si nota una leggera oscillazione del segnale di posizione acquisito sul banchetto: ciò è proprio dovuto al profilo di forza a scalino fornito in ingresso al sistema. Per tale ragione è stato necessario ridurre il valore del guadagno KI a 0.04 rispetto a quello utilizzato precedentemente per riprodurre il comportamento di una molla ideale con rigidezza Km = 250 N m . Alla luce delle considerazioni fatte e dei grafici analizzati, emerge come il controllo in ammettenza applicato utilizzando come regolatore di forza un puro integratore, sia efficace nel fornire le prestazioni desiderate. Viene allora replicato il sistema di controllo in ammettenza applicato all’ambiente molla considerando diverse rigidezze (Km): in tabella 2.1, per ogni valori di Km, 118
  • 155.
    Progettazione del sistemadi controllo aptico in ammettenza Km[N m ] Km[N m ] Km[N m ] KI KI KI ffiltro c [Hz] ffiltro c [Hz] ffiltro c [Hz] ẋmax ẋmax ẋmax m s errmax F errmax F errmax F [N] [N] [N] errF errF errF[%] [%] [%] errmax X errmax X errmax X [m] [m] [m] errX errX errX[%] [%] [%] 0 0.07 5 0.61 8.57 / / / 60 0.07 5 0.45 6.18 20.37 0.10 21.8 250 0.06 5 0.81 12.27 14.23 0.05 14.47 500 0.05 5 0.60 11.39 14.11 0.023 14.15 1000 0.04 5 0.46 10.49 14.21 0.010 14.24 Tabella 2.1: Ambiente molla: valori di KI e Km adottati sul banco di prova vengono riportati i valori dei guadagni del controllore e della frequenza critica del filtro di forza. Si può notare come i valori adottati sul banchetto siano notevolmente inferiori rispetto a quelli utilizzabili in simulazione: questo perchè elevati valori di KI instabilizzano il sistema e lo rendono molto sensibile al tipo di impugnatura. Si precisa inoltre come nell’analisi dell’ambiente molla, sia stata utilizzata un ban- da morta in forza ridotta per percepire anche forze di piccola entità, specialmente nella posizione di x = 0, dove si possono avvertire lievi vibrazioni se la banda è eccessiva. L’ intervallo utilizzato è [−0.0728·10, +0.0230·10] eccetto per l’ambiente trasparenza (Km = 0), in cui per è stato ridotto a [−0.0728 · 1, +0.0230 · 1] poichè in tale situazione le forza introdotta dall’ operatore ha decisamente valori inferiori. Per ogni valore di rigidezza Km considerata, quindi per ogni molla ideale, vengono riportati i seguenti andamenti: • della posizione e della velocità lineare del manipolo in funzione del tempo; • della forza operatore e della forza ambiente in funzione del tempo e della posizione del carrello; • dell’errore in forza ed in posizione in funzione del tempo; Le Fig.2.24, Fig.2.25, Fig.2.26 e Fig.2.27 mostrano tali grafici. 119
  • 156.
    Controllo in forza 010 20 30 40 50 Time [s] -0.6 -0.4 -0.2 0 0.2 0.4 x [m] (a) Posizione del manipolo 0 10 20 30 40 50 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 xp [m/s] (b) Velocità del manipolo 0 10 20 30 40 50 [t] -40 -30 -20 -10 0 10 20 30 40 [N] Famb Fop (c) Forza operatore e forza ambiente in fun- zione del tempo -0.6 -0.4 -0.2 0 0.2 0.4 [m] -40 -30 -20 -10 0 10 20 30 40 [N] Famb Fop (d) Forza operatore e forza ambiente in fun- zione della posizione del manipolo 0 10 20 30 40 50 Time [s] -8 -6 -4 -2 0 2 4 6 8 e F [N] (e) Errore in forza 0 10 20 30 40 50 Time [s] -0.15 -0.1 -0.05 0 0.05 0.1 e x [m] (f) Errore in posizione Fig. 2.24: Risultati sperimentali della simulazione di una molla di rigidezza Km = 60 N m 120
  • 157.
    Progettazione del sistemadi controllo aptico in ammettenza 0 2 4 6 8 10 12 14 16 Time [s] -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 x [m] (a) Posizione del manipolo 0 2 4 6 8 10 12 14 16 Time [s] -0.6 -0.4 -0.2 0 0.2 0.4 0.6 xp [m/s] (b) Velocità del manipolo 0 2 4 6 8 10 12 14 16 [t] -100 -80 -60 -40 -20 0 20 40 60 80 100 [N] Famb Fop (c) Forza operatore e forza ambiente in fun- zione del tempo -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 [m] -100 -80 -60 -40 -20 0 20 40 60 80 100 [N] Famb Fop (d) Forza operatore e forza ambiente in fun- zione della posizione del manipolo 0 2 4 6 8 10 12 14 16 Time [s] -10 -5 0 5 10 e F [N] (e) Errore in forza 0 2 4 6 8 10 12 14 16 Time [s] -0.03 -0.02 -0.01 0 0.01 0.02 0.03 e x [m] (f) Errore in posizione Fig. 2.25: Risultati sperimentali: simulazione di una molla di rigidezza Km = 500 N m 121
  • 158.
    Controllo in forza 02 4 6 8 10 12 14 16 Time [s] -0.1 -0.08 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 0.08 0.1 x [m] (a) Posizione del manipolo 0 2 4 6 8 10 12 14 16 Time [s] -0.6 -0.4 -0.2 0 0.2 0.4 xp [m/s] (b) Velocità del manipolo 0 2 4 6 8 10 12 14 16 [t] -80 -60 -40 -20 0 20 40 60 80 [N] Famb Fop (c) Forza operatore e forza ambiente in fun- zione del tempo -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 [m] -80 -60 -40 -20 0 20 40 60 80 [N] Famb Fop (d) Forza operatore e forza ambiente in fun- zione della posizione del manipolo 0 2 4 6 8 10 12 14 16 Time [s] -10 -5 0 5 10 e F [N] (e) Errore in forza 0 2 4 6 8 10 12 14 16 Time [s] -0.015 -0.01 -0.005 0 0.005 0.01 0.015 e x [m] (f) Errore in posizione Fig. 2.26: Risultati sperimentali: simulazione di una molla di rigidezza Km = 1000 N m 122
  • 159.
    Progettazione del sistemadi controllo aptico in ammettenza 0 5 10 15 20 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] (a) Posizione del manipolo 0 5 10 15 20 Time [s] -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 xp [m/s] (b) Velocità del manipolo 0 5 10 15 20 Time [s] -10 -8 -6 -4 -2 0 2 4 6 8 10 F op , F amb [N] Fop Famb (c) Forza operatore e forza ambiente in fun- zione del tempo -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 Time [s] -40 -30 -20 -10 0 10 20 30 40 F op , F amb [N] Fop Famb (d) Forza operatore e forza ambiente in fun- zione della posizione del manipolo Fig. 2.27: Risultati sperimentali della simulazione di una molla di rigidezza Km = 0 N m 123
  • 160.
    Controllo in forza Conclusioni Vistii grafici ed i valori degli errori riportati in tabella 2.1, è possibile concludere che aumentando la rigidezza della molla, l’errore percentuale in posizione e in forza tende a ridursi: tale considerazione è ben evidente passando da Km = 60 N m a Km = 250 N m , mentre è meno visibile nelle altre prove condotte a valori più elevati Km, data la difficoltà nel ripetere i test esattamente nelle stesse condizioni di velocità. Inoltre variando la rigidezza della molla, è stato necessario ridurre il valore del guadagno del regolatore di forza per garantire stabilità al sistema ed essere meno sensibile alla tipologia di impugnatura. É opportuno fare un commento sull’ambiente trasparenza (Km = 0): idealmente l’utente riesce a spostare la massa senza avvertire nessuna resistenza, in quanto la forza generata dall’ambiente è in questo caso nulla. Lo scopo è quello quindi permette all’utente di movimentare la massa applicando una forza di entità ridotta: utilizzando un sistema di controllo in anello chiuso in ammettenza, si è registrata una forza di circa 8.57 N spostando il manipolo ad una velocità massima di 0.61 m s . L’errore in forza è valutato come la differenza tra forza operatore e forza ambiente. Essendo quest’ultima nulla, nella riproduzione del comportamento dell’ambiente trasparenza, l’errore in forza coincide con la forza operatore. Pertanto, analizzando le prestazioni dell’ambiente trasparenza, non è significativo esprimere l’errore massimo percentuale in forza, essendo un parametro calcolato come il rapporto, moltiplicato per 100, tra l’errore massimo commesso e la forza massima, in modulo, applicata dall’operatore sul manipolo. 124
  • 161.
    Progettazione del sistemadi controllo aptico in ammettenza 2.2.2 Ambiente visco-elastico Descrizione ambiente ideale Come detto in precedenza, non è possibile simulare una molla ideale, in quanto, se ad essa vi si impone una condizione iniziale in posizione o vi si applica uno scalino in forza di ampiezza F, raggiunge istantaneamente la sua condizione di riposo, nel primo caso, o la sua condizione di equilibrio (data da x = F K ), nel secondo caso. Ciò che è possibile invece simulare è il comportamento di una molla reale, la quale è dotata, oltre che di una comportamento elastico, anche di un comportamento visco- so. Dunque, nel corrente sotto-paragrafo, si prende in considerazione il cosiddetto ambiente visco-elastico, per descrivere il comportamento di una molla reale. L’am- biente in questione è costituito da una molla, con rigidezza K, e uno smorzatore viscoso, con coefficiente di smorzamento c. In un ambiente visco - elastico agiscono tre tipi di forze: • una forza elastica, associata alla rigidezza K e direttamente proporzionale all’allungamento/compressione x della molla; • una forza viscosa, associata allo smorzamento c e direttamente proporzionale alla velocità di allungamento/compressione della molla; • una, eventuale, forza forzante applicata dall’esterno sul sistema. Dunque, la dinamica di un sistema molla - smorzatore è descritta dall’equazione differenziale (2.29) del primo ordine che può essere risolta, per esempio, passando al dominio delle trasformate di Laplace (2.30). c · ẋ + K · x = F(t) (2.29) (cs + K) · X = F (2.30) Rielaborando l’equazione (2.30), si ottiene la relazione (2.31) che descrive la fun- zione di trasferimento, da F(t) ad x(t), di un sistema molla-smorzatore. Essa è caratterizzata da un polo (in s = −K c ), nessuno zero e un guadagno statico pari a 1 K . Gid = X F = 1 K 1 + s c K (2.31) 125
  • 162.
    Controllo in forza E’importante sottolineare che l’ambiente ideale che si desidera riprodurre deve pos- sedere necessariamente una frequenza critica minore di quella del sistema di controllo in forza, che si decide di utilizzare per simulare tale ambiente. In particolare, un sistema di controllo in ammettenza è caratterizzato da un anello interno in posizione e un anello più esterno in forza. In generale, l’anello interno deve essere molto più veloce di quello esterno, in modo da riuscire a seguire in modo preciso il riferimento che gli viene fornito in ingresso. A tal proposito, l’anello di controllo in posizione che si utilizza è basato sul metodo del posizionamento poli e presenta una frequenza critica di 23 Hz. Pertanto, l’anello esterno in forza ha una frequenza critica circa dieci volte minore rispetto a quello interno, ovvero pari a 2.3 Hz. Di conseguenza, l’ambiente ideale che si desidera simulare deve possedere una frequenza critica mi- nore del suddetto valore. La frequenza propria di un ambiente visco - elastico può essere calcolata mediante la formula (2.32). Esistono infiniti ambienti di questo tipo con una frequenza naturale minore di 2.3 Hz. A titolo di esempio, si è considerato un sistema molla - smorzatore caratterizzato da una rigidezza K pari a 90 N m e un coefficiente di smorzamento pari a 7 Ns m . L’ambiente scelto dunque presenta una frequenza naturale fn pari a 2.046 Hz. fc = K 2πc (2.32) In Fig.2.28, è rappresentato il diagramma di Bode, di modulo e fase, della funzione di trasferimento Gid dell’ambiente ideale preso in considerazione. Osservando, per esempio, il diagramma di Bode del modulo, si riscontra che la suddetta funzione di trasferimento presenta effettivamente un guadagno statico pari a 1 K e una pulsazione naturale pari a wn = K c . Inoltre, si nota che il diagramma di Bode del modulo di Gid assume una pendenza di −20 dB decade per pulsazioni sufficientemente al di sopra di wn, in quanto la funzione di trasferimento è caratterizzata da un solo polo e nessuno zero. Sulla base di quanto affermato, si può concludere che un sistema molla - smorzatore è un sistema del primo ordine. Pertanto, ci si aspetta che, applicando in ingresso a tale sistema uno scalino in forza di ampiezza F, la sua risposta in posizione tenda a convergere ad un valore di regime pari a x = F K con un andamento del primo ordine, quindi monotono di tipo esponenziale, senza oscillazioni. 126
  • 163.
    Progettazione del sistemadi controllo aptico in ammettenza 10-1 100 101 102 -160 -140 -120 -100 -80 Magnitude [dB] 10-1 100 101 102 f [Hz] -100 -50 0 Phase [deg] Fig. 2.28: Diagramma di Bode, di modulo e fase, della funzione di trasferimento Gid di un ambiente visco-elastico. In Fig.2.29, è rappresentata la risposta in posizione dell’ambiente visco-elastico in esame, ad uno scalino in forza di ampiezza F = 30 N applicatovi in ingresso: si può osservare, effettivamente, un’ andamento di tipo esponenziale, come preventi- vato. Discutendo della risposta allo scalino dell’ambiente ideale, si può introdurre il concetto del tempo di assestamento, necessario alla risposta allo scalino di un sistema per raggiungere un valore pari a 0.99 volte il suo valore di regime. Questo è un parametro interessante, perchè descrive la velocità della risposta allo scalino del sistema. Nel caso di un sistema del primo ordine, il tempo di assestamento è espresso dalla formula (2.33), dove τ è la costante di tempo associata al polo del sistema, che, nel caso di un ambiente molla - smorzatore, è pari a c K . In particolare, il tempo di assestamento della risposta allo scalino dell’ambiente visco - elastico in esame è pari a Ta = 5 7 90 = 0.39 secondi. Ta = 5τ = 5 c K (2.33) 127
  • 164.
    Controllo in forza 00.1 0.2 0.3 0.4 0.5 0.6 Time [s] 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 x [m] Fig. 2.29: Risposta in posizione di un ambiente viscoelastico ad uno scalino in forza, di ampiezza F = 30N, applicatogli in ingresso. Progettazione controllore in forza Si consideri di impiegare un sistema di controllo in ammettenza per simulare, me- diante l’interfaccia aptica a disposizione, il comportamento di un ambiente visco - elastico. Si deve sintetizzare il regolatore in forza e, per fare ciò, si fa riferimento alle funzioni di trasferimento in anello chiuso GFX e GFF , le quali possono essere calcolate mediante le formule (2.34) e (2.35). Si osservi che, nelle suddette rela- zioni, il termine A è la funzione di trasferimento dalla posizione x alla forza Famb dell’ambiente visco-elastico, ovvero è l’inverso della funzione di trasferimento Gid. GFX(s) = Rf · Gppos 1 + Rf · Gppos · A (2.34) GFF (s) = Rf · Gppos · A 1 + Rf · Gppos · A (2.35) Innanzitutto, si consideri di impiegare un regolatore in forza di tipo proporzionale, la cui funzione di trasferimento è espressa dalla relazione (2.36). Rf (s) = Kp (2.36) 128
  • 165.
    Progettazione del sistemadi controllo aptico in ammettenza In tal caso, le funzioni di trasferimento in anello chiuso GFX e GFF possono essere valutate mediante le relazioni (2.37) e (2.38) GFX = Ki · (g2s + g1) (Jm,eq Kaz + g2 · c · Kp)s2 + (g2 + g1 · Kp · c + Kp · K · g2)s + g1 · (1 + Kp · K) (2.37) GFF = Ki · (g2s + g1)(cs + K) (Jm,eq Kaz + g2 · c · Kp)s2 + (g2 + g1 · Kp · c + Kp · K · g2)s + g1 · (1 + Kp · K) (2.38) Come già ribadito, in generale, nella progettazione di un sistema di controllo in forza, si desidera soddisfare due requisiti: 1. GFF = 1, cosicchè la forza Famb sia uguale alla forza operatore Fop, in modo tale che l’utente abbia un ritorno in forza esattamente pari alla forza generata dall’ambiente virtuale. 2. GFX = Gid, per far sı̀ che il sistema di controllo in forza simuli perfettamente il comportamento dell’ambiente ideale preso in considerazione. Dalla relazione (2.37) si può osservare che la funzione di trasferimento GFX presenta uno zero e due poli, quindi è caratterizzata da un grado relativo pari a uno. La funzione di trasferimento Gid da F ad x dell’ambiente ideale è caratterizzata da nessuno zero e un solo polo. Dunque, è evidente che la funzione di trasferimento GFX, che si ottiene impiegando un controllore in forza proporzionale, non potrà mai essere perfettamente uguale a Gid. Pertanto, un’ obiettivo nella progettazione del sistema di controllo in forza è quello di fare in modo che la funzione di trasferimento, in anello chiuso, GFX approssimi nel modo migliore possibile, su una banda di frequenze la più ampia possibile, il comportamento della corrispondente funzione di trasferimento dell’ambiente ideale. Allo stesso modo, dalla relazione (2.38) , si riscontra che GFF presenta due zeri e due poli, quindi è strettamente propria. Dunque, anche in questo caso, è evidente che la funzione di trasferimento non sarà mai completamente unitaria. Pertanto, un secondo obiettivo nella progettazione del sistema di controllo in forza è quello di fare in modo che GFF approssimi quella unitaria su una banda di frequenze la più ampia possibile. Per quanto riguarda il comportamento dinamico delle funzioni di trasferimento GFX e GFF , si noti la 129
  • 166.
    Controllo in forza presenzadel medesimo denominatore e, quindi, degli stessi poli. Infatti, si può osservare che risultano correlate tra loro mediante la relazione (2.39), dove A, nel caso di un ambiente visco-elastico, è caratterizzata da uno zero e nessun polo. GFF (s) = GFX(s)A (2.39) Dunque, studiare la posizione dei poli e, quindi, la stabilità di GFX equivale a valuta- re i medesimi aspetti di GFF . Nella Fig.2.30 è riportato l’andamento, in funzione del guadagno Kp del controllore in forza, dei poli del sistema di controllo in ammettenza considerato. In particolare, si è considerato [0.01, 0.8], come range di variazione del parametro Kp. Innanzitutto, da tali diagrammi, si può osservare che il suddetto sistema presenta due poli con parte reale strettamente negativa per qualsiasi valore del guadagno proporzionale di conseguenza risulta sempre asintoticamente stabile. In secondo luogo, si può notare che i due poli sono sempre reali e distinti, uno in alta e uno in bassa frequenza. In particolare, il polo dominante si sposta asintoti- camente, al crescere di Kp, verso un valore pari a −K c , ovvero tende a coincidere con il polo dell’ambiente ideale preso in considerazione. Pertanto, si può prevedere che, impiegando un valore sufficientemente elevato del guadagno proporzionale, la risposta allo scalino e il diagramma di Bode di GFX siano molto simili a quelli del- l’ambiente ideale Gid in esame. La funzione di trasferimento GFF presenta uno zero che coincide con il polo dell’ambiente ideale considerato. Dunque, dato che il suo polo dominante si sposta asintoticamente verso quello quello dell’ambiente ideale, allora il suo zero tende a cancellare maggiormente il suo polo, al crescere del guada- gno proporzionale. Pertanto, si prevede che, impiegando un valore sufficientemente elevato di Kp, la risposta allo scalino e il diagramma di Bode di GFF siano molto simili a quelli della funzione di trasferimento unitaria. 130
  • 167.
    Progettazione del sistemadi controllo aptico in ammettenza 0 0.2 0.4 0.6 0.8 1 1.2 Kp -160 -140 -120 -100 -80 -60 -40 -20 0 Parte reale Parte immaginaria (a) Polo 1 0 0.2 0.4 0.6 0.8 1 1.2 Kp -30 -25 -20 -15 -10 -5 0 Parte reale Parte immaginaria (b) Polo 2 Fig. 2.30: Poli del sistema di controllo in ammettenza, in funzione del guadagno propor- zionale Kp Nella Fig.2.31 sono rappresentati sovrapposti i diagrammi di Bode delle funzioni di trasferimento Gid e GFX. In particolare, per quest’ultima si è considerato un guadagno del regolatore in forza Kp pari a 0.4. Si può osservare che il diagramma di Bode di GFX ha un andamento molto simile a quella dell’ambiente ideale Gid, come si desidera nella progettazione di un sistema di controllo in forza. Nella Fig.2.32 è, invece, riportato il diagramma di Bode di GFF : assomiglia molto a quello della funzione di trasferimento unitaria, come previsto precedentemente. Per quanto riguarda il comportamento statico, la funzione di trasferimento GFX presenta un guadagno statico (ovvero il modulo della risposta in frequenza della funzione di trasferimento, calcolato per ω che tende a 0) che è espresso dalla relazione (2.40). µFX = Kp 1 + Kp · K (2.40) Si può osservare che, se il guadagno Kp del regolatore in forza tende idealmente ad infinito, il guadagno statico della suddetta funzione di trasferimento tende al valore 1 K , ovvero tende a coincidere con quello dell’ambiente ideale Gid. 131
  • 168.
    Controllo in forza 10-2 10-1 100 101 f[Hz] -125 -120 -115 -110 -105 -100 -95 -90 -85 Magnitude [dB] Gid GFX 10-2 10-1 100 101 f [Hz] -80 -70 -60 -50 -40 -30 -20 -10 0 Phase [deg] Gid GFX Fig. 2.31: Diagramma di Bode di Gid e di GFX, considerando Kp=0.4 10-2 10-1 100 101 102 103 f [Hz] -0.2 -0.18 -0.16 -0.14 -0.12 -0.1 -0.08 -0.06 -0.04 -0.02 0 Magnitude [dB] 10-2 10-1 100 101 102 103 f [Hz] -0.05 0 0.05 0.1 0.15 0.2 0.25 0.3 Phase [deg] Fig. 2.32: Diagramma di Bode di GFF , considerando Kp=0.4. 132
  • 169.
    Progettazione del sistemadi controllo aptico in ammettenza 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 time [s] 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 x [m] Gid GFX (Kp = 0.01) GFX (Kp = 0.05) GFX (Kp = 0.1) GFX (Kp = 0.6) Fig. 2.33: Risposta ad uno scalino in forza di ampiezza F=30 N di GFX, per diversi valori del guadagno Kp Dunque, impiegando un regolatore in forza con un guadagno sufficientemente ele- vato, si riesce a fare in modo che la risposta in posizione, ad uno scalino in forza di ampiezza F del sistema di controllo in ammettenza, tenda asintoticamente ad un valore di regime approssimativamente pari a F K . Ciò lo si può osservare anche in Fig.2.33, dove sono rappresentati sovrapposti gli andamenti, in funzione del tem- po, della risposta, ad uno scalino in forza di ampiezza F = 30N, della funzione di trasferimento GFX, per diversi valori del guadagno Kp. La funzione di trasfe- rimento GFF presenta, invece, un guadagno statico che è espresso dalla relazione (2.41). Si può notare che, se il guadagno Kp del regolatore in forza tende idealmente ad infinito, µFF tesi avvicina al valore unitario. Dunque, impiegando un guadagno Kp sufficientemente elevato, si riesce a fare in modo che, almeno a regime, la ri- sposta in forza ad uno scalino del sistema di controllo in ammettenza considerato sia approssimativamente pari all’ampiezza del riferimento a scalino applicatovi in ingresso. µFF = Kpk 1 + Kpk (2.41) Si è simulato in Simulink la risposta dell’interfaccia aptica a disposizione ad uno scalino in forza di ampiezza F = 30N, utilizzando un sistema di controllo in am- mettenza caratterizzato da un regolare in forza di tipo proporzionale. Si è riscontrato 133
  • 170.
    Controllo in forza 00.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 Time [s] 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 x [m] Gid GFX Simulazione (Mod.Ced) Fig. 2.34: Risposte in posizione ad uno scalino in forza di ampiezza F=30 N di Gid, GFX e dell’interfaccia aptica simulata impiegando il modello cedevole del sistema, considerando Kp = 0.01 che, utilizzando in simulazione il modello cedevole del sistema, quest’ultimo vibra per valori del guadagno Kp superiori a 0.006. Per esempio, in Fig.2.34, sono ripor- tate sovrapposte le risposte in posizione, ad uno scalino in forza di ampiezza F = 30 N, dell’ ambiente ideale Gid, della funzione di trasferimento GFX e dell’interfaccia aptica, ottenuta quest’ultima in simulazione, utilizzando il modello cedevole del si- stema e considerando un guadagno del regolatore in forza pari a 0.01. Si riscontra come la risposta in posizione simulata dell’interfaccia aptica sia diversa da quella della funzione di trasferimento GFX, ottenuta rappresentando il sistema mediante il suo modello rigido. In particolare, la prima, a differenza della seconda, mette in evidenza che, per il valore considerato del parametro Kp, il sistema vibra. Dunque, si può concludere che tale comportamento, ovvero l’innesco di vibrazioni adottando un guadagno del regolatore in forza di tipo proporzionale relativamente elevato, è dovuto alle rigidezze del sistema, le quali sono ben rappresentate nel modello cede- vole e non nel modello rigido. In Fig.2.35 sono rappresentate le risposte simulate in posizione e in forza, sempre ad uno scalino in forza di ampiezza F = 30N, dell’inter- faccia aptica, utilizzando un guadagno Kp = 0.006 e impiegando il modello cedevole del sistema. Si nota che la risposta in posizione è molto diversa da quella dell’am- 134
  • 171.
    Progettazione del sistemadi controllo aptico in ammettenza 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 Time [s] 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 x [m] Gid Simulazione (Mod.Ced) 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 Time [s] 0 5 10 15 20 25 F amb [N] Fig. 2.35: Risposte simulate in posizione e in forza dell’interfaccia aptica, ad uno scalino in forza di ampiezza F=30 N, considerando Kp = 0.006 biente visco - elastico che si desidera simulare; in particolare, converge ad un valore di regime che è molto minore rispetto a quello della risposta di quest’ultimo. Ciò è dovuto al fatto che il guadagno del regolatore in forza di tipo proporzionale che si può impiegare, senza che il sistema vibri, è molto basso. Per quanto riguarda, inve- ce, la risposta in forza simulata dell’interfaccia aptica, si riscontra, innanzitutto, che presenta delle vibrazioni e, inoltre, converge asintoticamente ad un valore di regime che è molto minore rispetto al valore dello scalino in forza applicatovi in ingresso. Di conseguenza, nemmeno a regime risulta essere verificata la condizione desiderata Fop = Famb. Per far convergere asintoticamente la risposta, ad uno scalino in forza, delle funzioni di trasferimento GFX e GFF ad un valore di regime esattamente pari a quello delle risposte dell’ambiente ideale Gid e della funzione di trasferimento unita- ria, si può utilizzare un regolatore in forza di tipo integrale, anzichè proporzionale. Infatti, introducendo una componente integrativa nel controllore in forza, si rendono i guadagni statici delle due suddette funzioni di trasferimento pari, rispettivamente, a 1 K e a 1. Dunque, si consideri, ora, di impiegare un regolatore in forza di tipo integrale, la cui funzione di trasferimento è espressa dalla relazione (2.42). Rf = Ki s (2.42) In tal caso, le funzioni di trasferimento GFX e GFF sono espresse dalle formule (2.43) 135
  • 172.
    Controllo in forza e(2.44). GFX = g2s + g1 ( Jm,eq Kaz·Ki s3 + g2 · ( 1 Ki + g2 · c)s2 + (g1 + K · g2 + c · g1)s + K · g1) (2.43) GFF = (g2s + g1)(cs + K) ( Jm,eq Kaz·Ki s3 + g2 · ( 1 Ki + g2 · c)s2 + (g1 + K · g2 + c · g1)s + K · g1) (2.44) Esse presentano entrambe tre poli e, rispettivamente, uno e due zeri. In Fig.2.36 sono riportati, sovrapposti, gli andamenti dei tre poli delle due funzioni di trasferimento, in funzione del guadagno del regolatore in forza. In particolare, per tracciare tali diagrammi, si è considerato [0.01, 1.2] come intervallo di variazione del parametro Ki. Innanzitutto, si può osservare che i loro poli possiedono una parte reale sempre strettamente negativa, per qualsiasi valore di KI. Pertanto, si può affermare che il sistema di controllo in ammettenza considerato è asintoticamente stabile, per qualsiasi valore del guadagno del regolatore in forza. In Fig.2.37 è rappresentato l’andamento, in funzione di KI, sia della parte reale sia di quella immaginaria del polo dominante del sistema. Dai diagrammi, si riscontra che: • i due poli, che si trovano a più alte frequenze, sono complessi coniugati per valori di KI inferiori a 0.44, mentre, per valori superiori, sono due poli reali distinti. • il polo dominante è reale e, all’aumentare del guadagno KI, tende asintotica- mente al polo, in s = −K c , dell’ambiente ideale Gid preso in considerazione. Per quanto riguarda il comportamento statico, le funzioni di trasferimento GFX e GFF presentano un guadagno statico, rispettivamente, pari a 1 K e 1 (2.45) e (2.46), come preventivato. µFX = Ki · g1 Ki · g1 · K = 1 K (2.45) µFF = Ki · g1 · K Ki · g1 · K = 1 (2.46) 136
  • 173.
    Progettazione del sistemadi controllo aptico in ammettenza -1400 -1200 -1000 -800 -600 -400 -200 0 Real -200 -150 -100 -50 0 50 100 150 200 Imag Polo1 Polo2 Polo3 Fig. 2.36: Andamento, in funzione del guadagno Ki, dei tre poli del sistema di controllo in ammettenza 0 0.2 0.4 0.6 0.8 1 1.2 Ki -12 -10 -8 -6 -4 -2 0 Parte reale Parte immaginaria Fig. 2.37: Andamento, in funzione del guadagno Ki, del polo dominante del sistema di controllo in ammettenza 137
  • 174.
    Controllo in forza 00.1 0.2 0.3 0.4 0.5 0.6 time [s] 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 x [m] ideale GFX 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 time [s] 0 5 10 15 20 25 30 F amb [N] Fig. 2.38: Risposte ad uno scalino in forza, di ampiezza pari a 30 N, delle funzioni di trasferimento GFX e GFF , considerando KI = 0.6. Dunque, effettivamente, l’introduzione di una componente integrativa consente di far convergere asintoticamente le risposte, ad uno scalino in forza di ampiezza F, delle funzioni di trasferimento GFX e GFF ad un valore di regime, rispettivamente, pari a x = F K e a Famb = F, come desiderato. Ciò lo si può osservare anche nella Fig.2.38, dove sono rappresentate le risposte, ad uno scalino in forza di ampiezza F = 30 N, delle funzioni di trasferimento GFX e GFF . In particolare, tali diagrammi sono stati tracciati considerando un guadagno KI = 0.6. Nelle Fig.2.39 e Fig.2.40 sono rappresentati i diagrammi di Bode delle funzioni di trasferimento GFX e GFF , considerando KI = 0.6. Si può osservare che: • il diagramma di Bode di GFX approssima bene quello di Gid fino a frequenze di poco superiori alla frequenza propria del sistema; mentre, ad alte frequenze, il comportamento si discosta da quello dell’ambiente ideale, a causa dei due poli in alta frequenza che caratterizzano la funzione di trasferimento GFX. • Il diagramma di Bode di GFF è molto simile al diagramma di Bode della fun- zione di trasferimento unitaria per frequenze minori della frequenza naturale del sistema. 138
  • 175.
    Progettazione del sistemadi controllo aptico in ammettenza 10-1 100 101 102 103 f [Hz] -260 -240 -220 -200 -180 -160 -140 -120 -100 -80 Magnitude [dB] Gid GFX 10-1 100 101 102 103 f [Hz] -180 -160 -140 -120 -100 -80 -60 -40 -20 0 Phase [deg] Gid GFX Fig. 2.39: Diagramma di Bode di GFX, considerando Ki = 0.6 . 10-2 10-1 100 101 102 103 f [Hz] -45 -40 -35 -30 -25 -20 -15 -10 -5 0 Magnitude [dB] 10-2 10-1 100 101 102 103 f [Hz] -90 -80 -70 -60 -50 -40 -30 -20 -10 0 Phase [deg] Fig. 2.40: Diagramma di Bode di GFF , considerando Ki = 0.6 139
  • 176.
    Controllo in forza Piùè elevato il guadagno KI del regolatore in forza, migliori sono le prestazioni del sistema di controllo in ammettenza implementato. In particolare, all’aumentare del suddetto parametro: • la risposta ad uno scalino di GFX assume un andamento sempre più simile a quello della risposta al medesimo scalino dell’ambiente ideale Gid; • la frequenza propria del sistema tende asintoticamente alla frequenza naturale dell’ambiente virtuale che si desidera simulare, che, nel caso di un ambiente visco - elastico, è espressa dalla formula (2.32) . • il diagramma di Bode di GFX approssima in modo più preciso e su un più ampio range di frequenze il diagramma di Bode di Gid; • il diagramma di Bode di GFF approssima su un più ampio range di frequenze il diagramma di Bode della funzione di trasferimento unitaria. I comportamenti appena descritti li si riscontrano nelle Fig.2.41, Fig.2.42 e Fig.2.43, dove sono, rispettivamente, rappresentati: la risposta in posizione, ad uno scalino in forza di ampiezza F=30 N, del sistema di controllo in ammettenza considerato e i diagrammi di Bode, di modulo e fase, delle funzioni di trasferimento GFX e GFF , per diversi valori del guadagno Ki. Dunque, sulla base delle considerazioni svolte, si può concludere che, utilizzando un guadagno KI del regolatore in forza (di tipo integrale) sufficientemente elevato, il sistema di controllo in ammettenza considerato è in grado di riprodurre in modo fedele il comportamento di un ambiente visco- elastico e di fornire, anche, un ritorno in forza all’operatore coerente con l’ambiente virtuale preso in considerazione. Si è simulato la risposta dell’interfaccia aptica a disposizione ad uno scalino in forza di ampiezza F = 30N, utilizzando un sistema di controllo in ammettenza caratterizzato da un regolare in forza di tipo integrale e rappresentando il sistema mediante il suo modello cedevole. Si è riscontrato che, in tali condizioni, il sistema vibra per valori del guadagno KI superiori a 0.2. 140
  • 177.
    Progettazione del sistemadi controllo aptico in ammettenza 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 time [s] 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 x [m] Gid GFX (Ki = 0.01) GFX (Ki = 0.05) GFX (Ki = 0.1) GFX (Ki = 0.6) Fig. 2.41: Risposta, ad uno scalino in forza di ampiezza F = 30N, del sistema di controllo in ammettenza, per diversi valori del guadagno KI 10-2 100 102 104 f [Hz] -350 -300 -250 -200 -150 -100 Magnitude [dB] Gid GFX (Ki =0.01) GFX (Ki =0.05) GFX (Ki =0.1) GFX (Ki =0.6) 10-2 100 102 104 f [Hz] -180 -160 -140 -120 -100 -80 -60 -40 -20 0 Phase [deg] Gid GFX (Ki =0.01) GFX (Ki =0.05) GFX (Ki =0.1) GFX (Ki =0.6) Fig. 2.42: Diagramma di Bode della funzione di trasferimento GFX, per diversi valori del guadagno KI 141
  • 178.
    Controllo in forza 10-4 10-2 100 102 f[Hz] -120 -100 -80 -60 -40 -20 0 Magnitude [dB] GFF (Ki =0.01) GFF (Ki =0.05) GFF (Ki =0.1) GFF (Ki =0.6) 10-4 10-2 100 102 f [Hz] -100 -90 -80 -70 -60 -50 -40 -30 -20 -10 0 10 Phase [deg] GFF (Ki =0.01) GFF (Ki =0.05) GFF (Ki =0.1) GFF (Ki =0.6) Fig. 2.43: Diagramma di Bode della funzione di trasferimento GFF , per diversi valori del guadagno KI Per esempio, in Fig.2.44 sono rappresentate le risposte in posizione e in forza del- l’interfaccia aptica, ad uno scalino in forza di ampiezza F = 30N , ottenute in simulazione impiegando il modello cedevole e considerando KI = 0.2. Per quanto riguarda la risposta in posizione, si osserva che converge asintoticamente al valore di regime desiderato (x = F K ); tuttavia, si discosta molto dalla risposta in posizio- ne dell’ambiente ideale che si desidera simulare. La risposta in forza del sistema, invece, appare notevolmente migliorata rispetto al caso precedente: in particolare, a parte un transitorio iniziale, tende a convergere, anche se piuttosto lentamente, ad un valore pari all’ampiezza dello scalino applicato in ingresso, in modo tale che, almeno a regime, la condizione desiderata Fop = Famb sia verificata. Allo scopo di migliore le prestazioni del sistema di controllo in ammettenza, si può provare ad unire gli effetti di una componente proporzionale ed una componente integrativa. Pertanto, si consideri, ora, di impiegare un regolatore in forza di tipo proporzionale - integrale, la cui funzione di trasferimento è espressa dalla relazione (2.47). Rf (s) = Kp + Ki s (2.47) Le funzioni di trasferimento in anello chiuso GFX e GFF possono essere valutate me- diante le relazioni (2.48) e (2.49): presentano entrambe tre poli e, rispettivamente, due e tre zeri. In particolare, i loro poli possiedono una parte reale sempre stret- 142
  • 179.
    Progettazione del sistemadi controllo aptico in ammettenza 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 Time [s] -0.05 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 x [m] Gid Simulazione (Mod.Ced) 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 Time [s] 0 5 10 15 20 25 30 35 F amb [N] Fig. 2.44: Risposte simulate in posizione e in forza dell’interfaccia aptica ad uno scalino in forza di ampiezza F=30 N, considerando KI = 0.2 tamente negativa, per qualsiasi valore di KI e di Kp. Pertanto, si può affermare che il sistema di controllo in ammettenza considerato è asintoticamente stabile, per qualsiasi valore dei due guadagni. GFX = (Kp Ki s + 1)(g2s + g1) ( Jm,eq KazKi + g2cKp Ki )s3 + g2(1+KpK Ki + g1Kpc g2Ki + c)s2 + g1((1+KpK Ki + c + g2K g1 )s + K) (2.48) GFF = (Kp Ki s + 1)(g2s + g1)(cs + K) ( Jm,eq KazKi + g2cKp Ki )s3 + g2(1+KpK Ki + g1Kpc g2Ki + c)s2 + g1((1+KpK Ki + c + g2K g1 )s + K) (2.49) Per quanto riguarda il comportamento statico, grazie alla presenza di una compo- nente integrativa nel regolatore in forza, le funzioni di trasferimento GFX e GFF presentano un guadagno statico, rispettivamente, pari a 1 K e ad 1. In merito, invece, al comportamento dinamico, i diagrammi di Bode di GFX e GFF risultano essere molto simili (per valori sufficientemente elevati dei guadagni del regolatore in forza) a quelli, rispettivamente, dell’ambiente ideale Gid e della funzione di trasferimento unitaria. Ciò lo si osserva dalle Fig.(2.45) e (2.46), dove sono rappresentati i dia- grammi di Bode delle funzioni di trasferimento GFX e GFF , considerando Kp = 0.4 e KI = 0.6. 143
  • 180.
    Controllo in forza 10-2 10-1 100 101 f[Hz] -125 -120 -115 -110 -105 -100 -95 -90 -85 Magnitude [dB] Gid GFX 10-2 10-1 100 101 f [Hz] -80 -70 -60 -50 -40 -30 -20 -10 0 Phase [deg] Gid GFX Fig. 2.45: Diagramma di Bode di GFX, considerando Kp = 0.4 e Ki = 0.6 10-2 10-1 100 101 102 103 f [Hz] -45 -40 -35 -30 -25 -20 -15 -10 -5 0 Magnitude [dB] 10-2 10-1 100 101 102 103 f [Hz] -90 -80 -70 -60 -50 -40 -30 -20 -10 0 Phase [deg] Fig. 2.46: Diagramma di Bode di GFF , considerando Kp = 0.4 e Ki = 0.6 144
  • 181.
    Progettazione del sistemadi controllo aptico in ammettenza 0 0.1 0.2 0.3 0.4 0.5 0.6 Time [s] 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 x [m] Gid Simulazione (Mod.Ced) 0 0.1 0.2 0.3 0.4 0.5 0.6 Time [s] 0 5 10 15 20 25 30 35 40 45 F amb [N] Fig. 2.47: Risposte simulate in posizione e in forza dell’interfaccia aptica ad uno scalino in forza di ampiezza F = 30N, considerando Kp = 0.001 e Ki = 0.5 É stata simulata la risposta dell’interfaccia aptica a disposizione ad uno scalino in forza di ampiezza F = 30 N, utilizzando un sistema di controllo in ammettenza ca- ratterizzato da un regolare in forza di tipo P-I e rappresentando il sistema mediante il suo modello cedevole. Mediante tale analisi si è osservato che, nelle suddette condizioni, è possibile aumentare i guadagni Kp e KI, allo scopo di migliore le pre- stazioni del sistema di controllo in forza, fino ai seguenti valori limite: Kp = 0.001 e Ki = 0.5. Oltre tali valori, infatti, il sistema inizia a vibrare. In Fig.2.47 sono rappresentate le risposte in posizione e in forza dell’interfaccia aptica, ad uno sca- lino in forza di ampiezza F = 30N, ottenute in simulazione utilizzando il modello cedevole del sistema e considerando Kp = 0.001 e KI = 0.5. Nella Fig.2.48 sono rap- presentate sovrapposte le risposte simulate, rispettivamente, in posizione e in forza dell’interfaccia aptica, ad uno scalino in forza di ampiezza pari a 30 N. Esse sono state ottenute in Simulink impiegando il modello cedevole del sistema e utilizzando un sistema di controllo in ammettenza caratterizzato da un regolatore in forza di tipo: 1. proporzionale, con Kp = 0.006; 2. integrale, con KI = 0.2; 145
  • 182.
    Controllo in forza 00.1 0.2 0.3 0.4 0.5 0.6 0.7 Time [s] -0.05 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 x [m] Gid P (Kp =0.006) I (Ki =0.2) PI (Kp =0.001 e Ki =0.5) 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 Time [s] 0 5 10 15 20 25 30 35 40 45 F [N] P (Kp =0.006) I (Ki =0.2) PI (Kp =0.001 e Ki =0.5) Fig. 2.48: Confronto delle risposte simulate in posizione e in forza dell’interfaccia aptica, ad uno scalino in forza di ampiezza F = 30N 3. proporzionale - integrale , con Kp = 0.001 e KI = 0.5. Dai suddetti diagrammi si riscontra che, effettivamente, combinando i contributi di una componente proporzionale e di una integrale nel controllore in forza si ottengono delle prestazioni del sistema di controllo migliori, rispetto ai casi in cui si impiega un controllore puramente proporzionale o puramente integrale. 146
  • 183.
    Progettazione del sistemadi controllo aptico in ammettenza Risultati sperimentali In primo luogo, si è provato ad applicare all’interfaccia aptica a disposizione un sistema di controllo in ammettenza caratterizzato da un regolatore in forza di tipo proporzionale - integrale, allo scopo di simulare un ambiente visco - elastico. Tut- tavia, si è riscontrato che l’aggiunta di una componente proporzionale, oltre ad una integrativa, tende a far vibrare il sistema ed a instabilizzarlo. Pertanto, si è scel- to di impiegare un sistema di controllo in ammettenza costituito da un controllore in forza di tipo puramente integrale. Per testare la sua efficacia lo si è applicato all’interfaccia aptica a disposizione con l’obiettivo di simulare un ambiente visco - elastico, caratterizzato da una rigidezza K = 90 N m e un coefficiente di smorzamento c = 7 Ns m . Sono state svolte diverse prove in cui si è più volte mosso il manipolo dell’interfaccia avanti e indietro tra i due fine - corsa e si è misurato lo spostamento e la velocità lineare del manipolo, la forza applicata dall’operatore e la forza generata dall’ambiente virtuale preso in considerazione. Inoltre, è stata importata in ambien- te Simulink la forza operatore Fop, in modo tale da ottenere la risposta in posizione dell’ambiente ideale in esame e confrontarla con quella dell’interfaccia aptica a di- sposizione. Nelle Fig.2.49, Fig.2.50, Fig.2.51 e Fig.2.52 sono riportati gli andamenti, in funzione del tempo, dello spostamento e della velocità lineare del manipolo, della forza esercitata dall’operatore su quest’ultimo e della forza generata dall’ambiente virtuale, durante lo svolgimento di una delle prove. 147
  • 184.
    Controllo in forza 05 10 15 20 25 30 35 40 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] Fig. 2.49: Spostamento del manipolo, durante la simulazione di un ambiente visco - elastico caratterizzato da: k = 90N m e c = 7Ns m 0 5 10 15 20 25 30 35 40 Time [s] -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 v [m/s] Fig. 2.50: Velocità lineare del manipolo, durante la simulazione di un ambiente visco - elastico caratterizzato da: k = 90N m e c = 7Ns m 148
  • 185.
    Progettazione del sistemadi controllo aptico in ammettenza 0 5 10 15 20 25 30 35 40 Time [s] -50 -40 -30 -20 -10 0 10 20 30 40 50 F op [N] Fig. 2.51: Forza applicata dall’operatore sul manipolo, durante la simulazione di un am- biente visco - elastico caratterizzato da: k = 90N m e c = 7Ns m 0 5 10 15 20 25 30 35 40 Time [s] -50 -40 -30 -20 -10 0 10 20 30 40 50 F amb [N] Fig. 2.52: Forza generata dall’ambiente virtuale, durante la simulazione di un ambiente visco - elastico caratterizzato da: k = 90N m e c = 7Ns m 149
  • 186.
    Controllo in forza 05 10 15 20 25 30 35 40 Time [s] -50 -40 -30 -20 -10 0 10 20 30 40 50 F [N] Famb Fop Fig. 2.53: Andamenti sovrapposti di Fop e Famb, durante la simulazione di un ambiente visco - elastico caratterizzato da: k = 90N m e c = 7Ns m In Fig.2.53 sono rappresentati sovrapposti gli andamenti, in funzione del tempo, delle forze Fop e Famb, mentre in Fig.2.54 è riportato l’andamento dell’errore in forza, valutato come la differenza tra la forza esercitata dall’operatore sul manipolo e la forza generata dall’ambiente virtuale. Dai diagrammi si riscontra che: • la forza massima applicata dall’operatore è pari a 46.80 N; • l’errore massimo in forza è pari a 8.0195 N. Pertanto, si può concludere che l’errore massimo in forza risulta essere pari al 17.14% della forza Fop massima. 150
  • 187.
    Progettazione del sistemadi controllo aptico in ammettenza 0 5 10 15 20 25 30 35 40 Time [s] -10 -8 -6 -4 -2 0 2 4 6 8 err F [N] Fig. 2.54: Errore in forza, durante la simulazione di un ambiente visco - elastico carat- terizzato da: k = 90N m e c = 7Ns m In Fig.2.55 sono rappresentati sovrapposti gli andamenti, in funzione del tempo, delle risposte dell’ambiente ideale considerato e dell’interfaccia aptica controllata mediante una strategia di controllo in ammettenza. In Fig.2.56 è riportato, invece, l’errore in posizione, in funzione del tempo. Dai diagrammi si riscontra che: • lo spostamento massimo compiuto dal manipolo è pari a 0.47 m; • l’errore massimo in posizione è pari a 0.082 m. Pertanto, si può concludere che l’errore percentuale massimo in posizione risulta essere pari al 17.53% dello spostamento massimo del manipolo. 151
  • 188.
    Controllo in forza 05 10 15 20 25 30 35 40 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] Molla ideale Banchetto Fig. 2.55: Andamenti sovrapposti delle risposte in posizione di un ambiente visco - elasti- co, caratterizzato da: k = 90N m e c = 7Ns m , e dell’interfaccia aptica controllata in ammettenza. 0 5 10 15 20 25 30 35 40 Time [s] -0.1 -0.08 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 0.08 0.1 err x [m] Fig. 2.56: Errore in posizione, durante la simulazione di un ambiente visco - elastico caratterizzato da: k = 90N m e c = 7Ns m . 152
  • 189.
    Progettazione del sistemadi controllo aptico in ammettenza Per valutare l’effetto della velocità, con cui viene mosso il manipolo, sulle prestazioni del sistema di controllo, si è svolta la medesima prova spostando il manipolo con delle velocità più sostenute, con picchi intorno a 0.89 m s , quindi più del doppio rispetto al caso precedente. In Fig.2.57 sono riportati i risultati sperimentali della suddetta prova. Si può osservare che: • la forza massima esercitata dall’operatore sul manipolo è pari a 48.66 N; • l’errore massimo in forza è pari a 24.89 N; • lo spostamento massimo compiuto dal manipolo è pari a 0.47 m; • l’errore massimo in posizione è pari a 0.27 m. Pertanto, si può affermare che l’errore percentuale massimo in forza è pari al 51.15% della massima forza Fop, mentre l’errore percentuale massimo in posizione è pari al 57.12% del massimo spostamento del manipolo. Si noti che, in questo secondo caso, gli errori massimi percentuali in forza e in posizione sono molto più elevati, circa il triplo, rispetto al primo caso e, ovviamente, non sono accettabili. Pertanto, da questa prima analisi svolta si può concludere che, maggiore è la velocità con cui si muove il manipolo, più elevati sono gli errori percentuali massimi in posizione e in forza che vengono commessi. Ciò è dovuto al fatto che, movimentando più rapidamente il manipolo, si applica in ingresso al sistema di controllo in ammettenza un riferimento in forza Fop con una dinamica più veloce, di conseguenza, compie maggior fatica a seguire tale set-point e, pertanto, gli errori che si ottengono sono più elevati. Ciò lo si può riscontrare in Fig.2.58, dove sono rappresentati sovrapposti gli andamenti, in funzione del tempo, della forza operatore e della forza ambiente durante le due prove svolte per simulare un ambiente visco - elastico caratterizzato da K = 90 N m e c = 7 Ns m , in un caso a basse e nell’altro a più sostenute velocità lineari del manipolo. In entrambi i casi, si riscontra che la forza ambiente è in ritardo rispetto alla forza operatore, coerentemente con il fatto che la seconda è il segnale di riferimento applicato in ingresso al sistema di controllo in anello chiuso, mentre la prima è la risposta di quest’ultimo a tale riferimento. Tuttavia, si può osservare che, muovendo il manipolo a delle velocità più sostenute, la forza applicata 153
  • 190.
    Controllo in forza dall’operatoreha una dinamica più veloce e il ritardo di Famb rispetto a Fop è più elevato, in quanto il sistema in anello chiuso fa più fatica ad inseguire il riferimento applicatovi in ingresso e, pertanto, l’errore risulta essere più elevato. 154
  • 191.
    Progettazione del sistemadi controllo aptico in ammettenza 0 5 10 15 20 25 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] 0 5 10 15 20 25 Time [s] -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 v [m/s] 0 5 10 15 20 25 Time [s] -50 -40 -30 -20 -10 0 10 20 30 40 50 F op [N] 0 5 10 15 20 25 Time [s] -50 -40 -30 -20 -10 0 10 20 30 40 50 F amb [N] 0 5 10 15 20 25 Time [s] -25 -20 -15 -10 -5 0 5 10 15 20 25 err F [N] 0 5 10 15 20 25 Time [s] -0.3 -0.2 -0.1 0 0.1 0.2 0.3 err x [m] Fig. 2.57: Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 90N m e c = 7Ns m , a velocità sostenute 155
  • 192.
    Controllo in forza 05 10 15 20 25 30 35 40 Time [s] -50 -40 -30 -20 -10 0 10 20 30 40 50 F [N] Famb Fop (a) Basse velocità 0 5 10 15 20 25 Time [s] -50 -40 -30 -20 -10 0 10 20 30 40 50 F [N] Famb Fop (b) Alte velocità Fig. 2.58: Confronto tra forza operatore e forza ambiente, durante le simulazioni di un ambiente visco - elastico con K = 90N m e c = 7Ns m , a basse e a più sostenute velocità lineari del manipolo Per studiare come si modificano le prestazioni del sistema di controllo in ammetten- za, al variare delle caratteristiche (c e K) dell’ambiente visco - elastico che si desidera simulare, si è svolto numerose prove considerando diversi sistemi molla - smorzatore. Ad esempio, un’analisi interessante che si è condotto è stata quella di valutare come variano gli errori in posizione e in forza, modificando il coefficiente di smorzamento c dell’ambiente virtuale, a parità di rigidezza K. Nelle Fig.2.59, Fig.2.60 e Fig.2.61 sono riportati i risultati sperimentali delle prove svolte, per simulare ambienti visco - elastici diversi, caratterizzati dalla medesima rigidezza K, pari a 90N m , e da un diverso coefficiente di smorzamento c (1 e 20Ns m ). Allo stesso modo, si è analizzato come si modificano le prestazioni del sistema di controllo in ammettenza progettato, al variare della rigidezza K e a parità di coefficiente di smorzamento c dell’ambiente visco - elastico in esame. A tale scopo, sono stati confrontati i risultati sperimentali ottenuti, per esempio, simulando un ambiente molla - smorzatore con c = 20 Ns m e K = 90 N m (Fig.2.59) con quelli ricavati simulando un ambiente ideale caratterizzato da c = 20 Ns m e k = 45 N m (Fig.2.62). 156
  • 193.
    Progettazione del sistemadi controllo aptico in ammettenza 0 10 20 30 40 50 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] (a) Spostamento manipolo 0 10 20 30 40 50 Time [s] -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 v [m/s] (b) Velocità manipolo 0 10 20 30 40 50 Time [s] -60 -40 -20 0 20 40 60 80 F op [N] (c) Forza operatore 0 10 20 30 40 50 Time [s] -50 -40 -30 -20 -10 0 10 20 30 40 50 F amb [N] (d) Forza ambiente 0 10 20 30 40 50 Time [s] -30 -20 -10 0 10 20 30 err F [N] (e) Errore in forza 0 10 20 30 40 50 Time [s] -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 err x [m] (f) Errore in posizione Fig. 2.59: Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 90N m e c = 20Ns m , a velocità basse 157
  • 194.
    Controllo in forza 05 10 15 20 25 30 35 40 45 50 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] (a) Spostamento manipolo 0 5 10 15 20 25 30 35 40 45 50 Time [s] -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 v [m/s] (b) Velocità manipolo 0 5 10 15 20 25 30 35 40 45 50 Time [s] -50 -40 -30 -20 -10 0 10 20 30 40 50 F op [N] (c) Forza operatore 0 5 10 15 20 25 30 35 40 45 50 Time [s] -50 -40 -30 -20 -10 0 10 20 30 40 50 F amb [N] (d) Forza ambiente 0 5 10 15 20 25 30 35 40 45 50 Time [s] -15 -10 -5 0 5 10 err F [N] (e) Errore in forza 0 5 10 15 20 25 30 35 40 45 50 Time [s] -0.15 -0.1 -0.05 0 0.05 0.1 0.15 err x [m] (f) Errore in posizione Fig. 2.60: Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 90N m e c = 1Ns m , a velocità basse 158
  • 195.
    Progettazione del sistemadi controllo aptico in ammettenza 0 5 10 15 20 25 30 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] (a) Spostamento manipolo 0 5 10 15 20 25 30 Time [s] -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 v [m/s] (b) Velocità manipolo 0 5 10 15 20 25 30 Time [s] -50 -40 -30 -20 -10 0 10 20 30 40 50 F op [N] (c) Forza operatore 0 5 10 15 20 25 30 Time [s] -50 -40 -30 -20 -10 0 10 20 30 40 50 F amb [N] (d) Forza ambiente 0 5 10 15 20 25 30 Time [s] -30 -20 -10 0 10 20 30 err F [N] (e) Errore in forza 0 5 10 15 20 25 30 Time [s] -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 err x [m] (f) Errore in posizione Fig. 2.61: Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 90N m e c = 1Ns m , a velocità sostenute. 159
  • 196.
    Controllo in forza 05 10 15 20 25 30 35 40 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] (a) Spostamento manipolo 0 5 10 15 20 25 30 35 40 Time [s] -0.3 -0.2 -0.1 0 0.1 0.2 0.3 v [m/s] (b) Velocità manipolo 0 5 10 15 20 25 30 35 40 Time [s] -40 -30 -20 -10 0 10 20 30 40 F op [N] (c) Forza operatore 0 5 10 15 20 25 30 35 40 Time [s] -25 -20 -15 -10 -5 0 5 10 15 20 25 F amb [N] (d) Forza ambiente 0 5 10 15 20 25 30 35 40 Time [s] -20 -15 -10 -5 0 5 10 15 20 err F [N] (e) Errore in forza 0 5 10 15 20 25 30 35 40 Time [s] -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 err x [m] (f) Errore in posizione Fig. 2.62: Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 45N m e c = 20Ns m , a velocità sostenute. 160
  • 197.
    Progettazione del sistemadi controllo aptico in ammettenza Nella tabella 2.2 sono riportati i risultati sperimentali, in termini di massima velo- cità lineare del manipolo ed errori percentuali massimi in forza e in posizione, delle prove svolte per simulare ambienti visco - elastici diversi. Innanzitutto, si può notare che, a parità di rigidezza K, aumentando il coefficiente di smorzamento, diminui- sce la frequenza propria dell’ambiente ideale che si desidera simulare, ovvero la sua dinamica diventa più lenta, e, pertanto, ci si aspetta che il sistema di controllo in ammettenza riesca a simulare meglio il suo comportamento. In realtà, dai risultati riportati nella tabella 2.2 si riscontra un comportamento opposto: a parità di rigidez- za K e di velocità lineare ẋ con cui viene movimentato il manipolo, incrementando il coefficiente di smorzamento c dell’ambiente virtuale da 7 Ns m a 20 Ns m , aumentano gli errori percentuali massimi in forza e in posizione. In altri termini, diminuisce la velocità massima con cui si può movimentare il manipolo, senza ottenere degli errori in forza o in posizione eccessivamente elevati. Inoltre, si può notare che, riducendo il coefficiente di smorzamento c da 7Ns m a 1 Ns m e mantenendo la rigidezza K costante e pari a 90 N m , la frequenza propria dell’ambiente virtuale passa da 2.05 1 s a 14.32 1 s e diventa, quindi, notevolmente superiore alla frequenza dell’anello esterno in forza del sistema di controllo in ammettenza. Pertanto, ci si aspetta che le prestazioni di quest’ultimo diminuiscano notevolmente, perchè l’ambiente che si desidera simulare presenta una dinamica troppo veloce. Tuttavia, in realtà, si riscontra che gli errori percentuali massimi in posizione e in forza aumentano, ma non di molto, contraria- mente a quanto atteso. Mantenendo costante il coefficiente di smorzamento c (pari a 20 Ns m ) e riducendo, invece, la rigidezza K dell’ambiente ideale da 90 N m a 45 N m , la frequenza propria dell’ambiente virtuale si dimezza, ovvero la sua dinamica diventa più lenta, e, quindi, ci si aspetta che le prestazioni del sistema di controllo in anello chiuso aumentino. In realtà, si riscontra dalla tabella 2.2 che, a parità di velocità con cui si movimenta il manipolo, gli errori percentuali massimi in posizione e in forza aumentano, ovvero il comportamento del sistema in anello chiuso peggiora. Pertanto, dai risultati sperimentali ottenuti, si può concludere che le prestazioni del sistema di controllo in ammettenza progettato migliorano al crescere della rigidezza K e al diminuire del coefficiente di smorzamento c dell’ambiente visco - elastico che si desidera simulare. Per comprendere quali dei due parametri (c e K) gioca un ruolo 161
  • 198.
    Controllo in forza K K K[N m ] [N m ] [N m ] c c c [Ns m ] [Ns m ] [Ns m ] ωn ωn ωn [rad s ] [rad s ] [rad s ] fn fn fn [Hz] [Hz] [Hz] ẋmax ẋmax ẋmax [m s ] [m s ] [m s ] errF errF errF [%] [%] [%] errx errx errx [%] [%] [%] Ki Ki Ki 90 7 12.86 2.05 0.30 17.14 17.53 0.035 90 7 12.86 2.05 0.89 51.15 57.12 0.035 90 20 4.50 0.72 0.31 43.14 62.51 0.010 90 1 90 14.32 0.37 22.63 24.68 0.030 90 1 90 14.32 0.84 54.72 63.33 0.030 45 20 2.25 0.36 0.29 51.06 77.11 0.010 150 11.67 12.86 2.05 0.27 13.55 14.27 0.025 150 11.67 12.86 2.05 0.88 44.30 48.91 0.025 Tabella 2.2: Risultati sperimentali delle prove svolte per simulare differenti ambienti visco - elastici. più importante, si è confrontato i risultati sperimentali ottenuti simulando un siste- ma molla - smorzatore con K = 90 N m e c = 7 Ns m con quelli ricavati considerando un ambiente ideale caratterizzato da K = 150 N m e c = 11.67 Ns m (Fig.2.63 e Fig.2.64). I due suddetti ambienti visco - elastici presentano la medesima frequenza naturale, pari a fn = 2.05 Hz. In particolare, si è notato che, a parità di velocità lineare con cui si è movimentato il manipolo dell’interfaccia, gli errori percentuali massimi in forza e in posizione, commessi nella simulazione dell’ambiente virtuale con una rigidezza K e un coefficiente di smorzamento c più elevati, sono minori. Pertan- to, si può affermare che il parametro dell’ambiente virtuale preso in considerazione, che influenza maggiormente le prestazioni del sistema di controllo in ammettenza progettato, è la sua rigidezza k. 162
  • 199.
    Progettazione del sistemadi controllo aptico in ammettenza 0 10 20 30 40 50 60 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] (a) Spostamento manipolo 0 10 20 30 40 50 60 Time [s] -0.3 -0.2 -0.1 0 0.1 0.2 0.3 v [m/s] (b) Velocità manipolo 0 10 20 30 40 50 60 Time [s] -80 -60 -40 -20 0 20 40 60 80 F op [N] (c) Forza operatore 0 10 20 30 40 50 60 Time [s] -80 -60 -40 -20 0 20 40 60 80 F amb [N] (d) Forza ambiente 0 10 20 30 40 50 60 Time [s] -15 -10 -5 0 5 10 15 err F [N] (e) Errore in forza 0 10 20 30 40 50 60 Time [s] -0.08 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 0.08 err x [m] (f) Errore in posizione Fig. 2.63: Risultati sperimentali della simulazione di un ambiente visco - elastico con k = 150N m e c = 11.667Ns m , a velocità basse. 163
  • 200.
    Controllo in forza 05 10 15 20 25 30 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] (a) Spostamento manipolo 0 5 10 15 20 25 30 Time [s] -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 v [m/s] (b) Velocità manipolo 0 5 10 15 20 25 30 Time [s] -80 -60 -40 -20 0 20 40 60 80 F op [N] (c) Forza operatore 0 5 10 15 20 25 30 Time [s] -80 -60 -40 -20 0 20 40 60 80 F amb [N] (d) Forza ambiente 0 5 10 15 20 25 30 Time [s] -40 -30 -20 -10 0 10 20 30 40 err F [N] (e) Errore in forza 0 5 10 15 20 25 30 Time [s] -0.25 -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 0.25 err x [m] (f) Errore in posizione Fig. 2.64: Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 150N m e c = 11.667Ns m , a velocità sostenute. 164
  • 201.
    Progettazione del sistemadi controllo aptico in ammettenza Conclusioni Il sistema di controllo in ammettenza progettato è in grado di simulare con delle discrete prestazioni ambienti visco - elastici con rigidezze sufficientemente elevate e con bassi coefficienti di smorzamento c. Inoltre, per ottenere dei risultati, in termini di errori in forza e in posizione, adeguati è necessario movimentare il manipolo del- l’interfaccia aptica con delle velocità lineari piuttosto basse, inferiori a circa 0.3−0.4 m s . Se si movimenta il manipolo con delle velocità più elevate, le ”performance” del sistema di controllo diventano estremamente basse e non sono per nulla accettabili, anche se si simulano ambienti ideali molto rigidi e poco smorzati. 165
  • 202.
    Controllo in forza 2.2.3Ambiente completo Descrizione ambiente ideale L’ambiente che si intende replicare sul banco di prova simula il comportamento di un sistema meccanico a un grado di libertà avente caratteristiche cedevoli, dissipative ed inerziali: i parametri essenziali sono pertanto la rigidezza K, lo smorzamento C e la massa M. L’obiettivo che si vuole perseguire con questo ambiente è far percepire all’operatore che sposta il manipolo dalla sua condizione di equilibrio, una forza derivante da tre contributi: quello inerziale e quelli legati alla cedevolezza e alla componente dissipativa del sistema. L’ambiente ideale è definito dalla seguente equazione dinamica: M · ẍ + c · ẋ + k · x = F (2.50) che è possibile riscrivere in termini di funzione di trasferimento, dall’ingresso espresso dalla forzante F all’uscita rappresentata dal segnale di posizione x: Gid = 1 M · s2 + c · s + k (2.51) Per svolgere sia lo studio del sistema ideale che, successivamente del sistema di con- trollo, viene scelto un ambiente di riferimento caratterizzato dai seguenti parametri: • M=3 kg; • C=1 Ns m ; • K=50 N m . Essendo un sistema del secondo ordine ed avendo, con i valori di M, C e K scelti, due poli complessi coniugati, è possibile rappresentare la (2.51) nella forma comune: Gid = 1 s2 + 2 · ξ · ωn · s + ω2 n (2.52) in cui ξ ed ωn sono rispettivamente lo smorzamento e la pulsazione naturale dei poli del sistema. Il sistema derivante dall’ambiente scelto ha poli con pulsazione naturale e smorzamento pari a: • ωn=4.0825 rad s = 0.65 Hz; 166
  • 203.
    Progettazione del sistemadi controllo aptico in ammettenza • ξ = 0.041; Si sottolinea come, essendo il controllo in ammettenza caratterizzato da un anel- lo interno, costituito dal blocco del posizionatore, e dall’anello esterno di forza, il primo, avente frequenza critica di 23 Hz, deve essere molto più veloce del secondo, convenzionalmente almeno di 10 volte. L’ambiente ideale deve quindi avere una frequenza critica inferiore a circa 2,3 Hz. In Fig.2.65 viene mostrato il diagramma di Bode di modulo e fase di (2.51): è ben evidente la presenza dei poli complessi coniugati cosı̀ come il valore del guadagno statico pari a 1 K = 0.02. Sulla base dei 10-1 100 101 f [Hz] -100 -50 0 Magnitude [dB] 10-1 100 101 f [Hz] -200 -150 -100 -50 0 Phase [deg] Fig. 2.65: Diagramma di Bode di modulo e fase dell’ambiente ideale caratterizzato da M=3 kg, C= 1 Ns m e K=50 N m diagrammi di Bode, ci si aspetta che applicando in ingresso al sistema uno scalino in forza di 30 N, la risposta presenti un transitorio oscillante prima di convergere alla posizione di regime di 0.6 m (Fig.2.66). I principali parametri che caratterizzano la risposta allo scalino sono: • tempo d’assestamento ta = 5 wn·ξ = 30 s; • periodo di eventuali oscillazioni T = 2·π ωn· √ 1−ξ2 = 1.54 s; • tempo dell’eventuale primo picco ta = T 2 = 0.77 s. 167
  • 204.
    Controllo in forza 05 10 15 20 25 30 35 40 45 50 [s] 0 0.2 0.4 0.6 0.8 1 1.2 [m] Fig. 2.66: Andamento nel tempo della risposta del sistema ideale applicando in ingresso uno scalino di 30 N Sintesi del regolatore di forza La realizzazione dell’ambiente ideale sul banco di prova richiede il progetto di un sistema di controllo in ammettenza, quindi di un regolatore di forza: le funzioni di trasferimento in anello chiuso a cui far riferimento sono GFF e GFX, che ricevono entrambe in ingresso la forza introdotta dall’ operatore e forniscono in uscita, in un caso la forza ambiente mentre nell’altro la posizione del carrello. Lo schema a blocchi implementato in Simulink per la realizzazione dell’ambiente in questione è mostrato in Fig.2.67: l’ambiente virtuale riceve in ingresso i segnali di posizione, di velocità e di accelerazione del carrello per poter generare la forza ambiente, la quale viene confrontata con quella introdotta dall’operatore, per determinare l’errore in forza che costituisce l’ingresso al regolatore. Quest’ultimo genera il riferimento di posizione da fornire al posizionatore, che considera al suo interno il modello del sistema. Inoltre, per avere una simulazione il più possibile aderente a ciò che succede sul sistema fisico, lo schema Simulink mostra come in questo caso si tenga conto che la forza introdotta dall’utente agisce direttamente anche sul sistema. Considerando quindi l’intero di sistema di controllo in ammettenza che include il regolatore di forza, il posizionatore e l’ambiente virtuale stesso, le funzioni di trasferimento dalla forza introdotta dall’operatore (Fop) alla forza ambiente (Famb) e alla posizione del 168
  • 205.
    Progettazione del sistemadi controllo aptico in ammettenza Fig. 2.67: Schema a blocchi Simulink del sistema di controllo in ammettenza - Ambiente completo carrello, rispettivamente GFF e GFX, hanno espressione GFF = Gppos · Gamb · Rf 1 + Gamb · Gamb · Rf (2.53) GFX = Gppos · Rf 1 + Gppos · Gamb · Rf (2.54) in cui Rf è la funzione di trasferimento del generico regolatore di forza e Gamb è la funzione di trasferimento dell’ambiente virtuale (Gamb), determinabile come l’inverso di quella dell’ambiente ideale Gid. Il sistema di controllo, per riprodurre efficacemente l’ambiente virtuale desiderato, deve poter realizzare 1. GFF con modulo unitario su una più ampia banda possibile in modo che la forza dell’operatore sia pari a quella generata dall’ambiente; 2. GFX=Gamb in modo da simulare sul banco il comportamento dell’ambiente ideale desiderato. Riguardo il regolatore di forza, si è scelto di utilizzare un doppio integratore, uni- vocamente definito da un parametro (KI) poichè caratterizzato dalla funzione di trasferimento: Rf = KI s2 (2.55) 169
  • 206.
    Controllo in forza 00.1 0.2 0.3 0.4 0.5 0.6 KI -400 -200 0 200 400 Real(p i ) Real(p1 ) Real(p2 ) Real(p3 ) Real(p4 ) 0 0.1 0.2 0.3 0.4 0.5 0.6 KI -10 -5 0 5 10 Imag(p i ) Imag(p1 ) Imag(p2 ) Imag(p3 ) Imag(p4 ) Fig. 2.68: Andamento dei poli di GFF e GFX al variare di KI - Ambiente completo Introducendo (2.55) in (2.54), e ricordando l’espressione della funzione di trasferi- mento del posizionatore (1.63), si ottiene: GFX = KI · (a · s + b) s2 · (s2 + a · s + b) · (M · s2 + C · s + K) + KI · (a · s + b) (2.56) GFF = KI · (a · s + b) · (M · s2 + C · s + K) s2 · (s2 + a · s + b) · (M · s2 + C · s + K) + KI · (a · s + b) (2.57) Le (2.57) hanno il medesimo denominatore e sono del quarto ordine: prendendo quindi un ambiente di riferimento caratterizzato da M=3 kg, C=1 Ns m e K=50 N m , si esegue lo studio della natura dei poli. In particolare, al variare di parametro del regolatore KI, come evidenziabile in Fig.2.68, si osserva la presenza di due poli com- plessi coniugati e due reali distinti per valori di KI superiori a circa 0.347, mentre quattro poli complessi coniugati per valori inferiori, tutti a parte reale negativa. Per ciò che riguarda gli zeri, indipendentemente dal valore di KI, GFF ne possiede 3, due complessi coniugati ed uno reale, mentre GFF soltanto uno reale. Dalle (2.57) si ricavano i guadagni statici di GFF e GFX rispettivamente pari a µGF F = 1 e µGF X = 1 K , come desiderato. In Fig.2.69 vengono mostrati i diagrammi di Bode del modulo di GFF e GFX riferiti all’ambiente virtuale scelto e per KI = 0.2: si osserva come GFX sia uguale a Gamb su un ampio range di frequenze, mentre GFX abbia le prestazioni statiche desiderate. Essendo il regolatore caratterizzato da un unico parametro, è importante valutare le prestazioni del sistema di controllo al variare 170
  • 207.
    Progettazione del sistemadi controllo aptico in ammettenza 10-1 100 101 102 103 f [Hz] -40 -20 0 20 40 Magnitude [dB] 10-1 100 101 102 103 f [Hz] -200 -150 -100 -50 0 Phase [deg] (a) GF F 10-1 100 101 102 103 f [Hz] -200 -150 -100 -50 0 Magnitude [dB] 10-1 100 101 102 103 f [Hz] -300 -200 -100 0 Phase [deg] (b) GF X Fig. 2.69: Diagrammi di Bode del modulo di GFF e GFX utilizzando un doppio integra- tore con controllo in ammettenza - Ambiente completo di esso. In particolare, esaminando il diagramma di Bode di GFF al variare di KI si osserva che per valori elevati di quest’ultimo, i poli complessi in alta frequenza diventano reali e i tre zeri di GFF tendono a cancellare tre poli, i due complessi coniugati a pulsazione inferiore e uno dei due reali, lasciando inalterato il polo in alta frequenza, responsabile quindi del comportamento del sistema (Fig.2.70). In sostanza, valori elevati di KI consentono di ottenere le prestazioni desiderate, ossia GFF con modulo unitario per un ampio range di frequenze. Relativamente GFX invece, ha lo stesso denominatore di GFF , ma numeratore di primo grado: ciò che accade, è che aumentando il KI, lo zero tende a cancellare un polo reale, lasciando pertanto una coppia di poli complessi coniugati e un polo reale in alta frequenza. Il diagramma di Bode del modulo di GFX al variare di KI è mostrato in Fig.2.71: le differenze sono minime in quanto le cancellazioni polo-zero riguardano il comporta- mento in alta frequenza, ma ciò che è rilevante ai fini del controllo è che utilizzando valori elevati di KI, GFX somiglia sempre più alla funzione di trasferimento dell’am- biente ideale Gid. In altre parole, GFX, per elevati valori del KI, è approssimabile come una funzione del secondo ordine con due poli complessi coniugati, proprio come l’ambiente ideale che si vuole simulare. 171
  • 208.
    Controllo in forza 100 101 102 103 104 f[Hz] -30 -20 -10 0 10 20 30 Magnitude [dB] KI =1 KI =5 KI =9 KI =13 KI =17 Fig. 2.70: Diagramma di Bode del modulo di GFF al variare del parametro KI del rego- latore - Ambiente completo 10-1 100 101 f [Hz] -80 -70 -60 -50 -40 -30 -20 -10 0 Magnitude [dB] KI =1 KI =5 KI =9 KI =13 KI =17 Gid Fig. 2.71: Diagramma di Bode del modulo di GFX al variare del parametro KI del regolatore - Ambiente completo 172
  • 209.
    Progettazione del sistemadi controllo aptico in ammettenza 0 1 2 3 4 5 6 7 8 9 10 KI 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 n [rad/s] n sistema n ideale (a) ωn 0 1 2 3 4 5 6 7 8 9 10 KI 0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05 sistema ideale (b) ξ Fig. 2.72: Pulsazione naturale e smorzamento dei poli dominanti in anello chiuso della funzione di trasferimento GFX - Ambiente completo La Fig.2.72 mostra come incrementando il valore di KI, la pulsazione naturale e lo smorzamento dei poli complessi coniugati tendono a quelli dell’ambiente ideale che si desidera simulare. Analizzato l’effetto, per mezzo dei diagrammi di Bode, dell’utilizzo di un regolatore di tipo doppio integratore, si verificano le considerazioni fatte procedendo con la simulazione in Simulink. In particolare, si mostrano due risultati ottenuti considerando l’ambiente di riferimento (M=3 kg, C=1 Ns m e K=50 N m ), utilizzando in una KI = 0.2 e nell’altra KI = 100 ed applicando in ingresso uno scalino di forza pari a 30 N (Fig.2.73). Come già anticipato, l’utilizzo di bassi valori di KI non permette al sistema di controllo di replicare esattamente l’ambiente ideale desiderato: per ottenere il risultato atteso, è necessario impiegare KI elevati. In conclusione, dalle considerazioni fatte, l’utilizzo di un doppio integratore come regolatore di forza permette di simulare correttamente l’ambiente ideale desiderato purchè si usino valori appropriati e quindi cospicui per KI. Si anticipa già come sul banco di prova non si potranno impiegare valori tali valori di KI poichè rendono il sistema vibrante e quindi instabile. 173
  • 210.
    Controllo in forza 010 20 30 40 50 60 70 80 [s] 0 0.2 0.4 0.6 0.8 1 1.2 [m] xcontrollo xideale (a) KI = 0.2 0 5 10 15 20 25 30 35 40 [s] 0 0.2 0.4 0.6 0.8 1 1.2 [m] xcontrollo xideale (b) KI = 100 Fig. 2.73: Risposte del sistema di controllo allo scalino in forza di 30 N considerando valori diversi di KI - Ambiente completo Risultati sperimentali Per validare lo schema di controllo simulato, lo si implementa sul banco di prova con l’obiettivo di fare percepire all’utente il comportamento di un sistema a un grado di libertà caratterizzato da massa M=3kg, smorzamento C=1 Ns m e rigidezza K=50 N m . Le prove condotte consistono nello spostare il manipolo dalla posizione centra- le verso prima un finecorsa e successivamente verso l’altro: essendo un ambiente dinamico è significativo condurre dei test sia a velocità medio basse che più soste- nute. Vengono acquisiti i segnali di posizione, velocità ed accelerazione del carrello, la forza introdotta dall’operatore e la forza generata dall’ambiente e mostrati nelle Fig.2.74,Fig.2.75,Fig.2.76,Fig.2.77,Fig.2.78,Fig.2.79. Per la prova condotta è stato utilizzato KI = 0.8 e si sono ottenuti i seguenti valori: • spostamento massimo del carrello pari a 0.4136 m; • velocità massima del carrello pari a 0.35 m s ; • accelerazione massima del carrello pari a 0.9882 m s2 ; • forza massima introdotta dall’operatore pari a 20.83 N. 174
  • 211.
    Progettazione del sistemadi controllo aptico in ammettenza 0 5 10 15 20 25 30 35 40 45 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] Fig. 2.74: Spostamento del manipolo, durante la simulazione di un ambiente completo caratterizzato da M=3 kg, C=1 Ns m e K=50 N m , con controllo in ammettenza 0 5 10 15 20 25 30 35 40 45 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 v [m/s] Fig. 2.75: Velocità del manipolo, durante la simulazione di un ambiente completo carat- terizzato da M=3 kg, C=1 Ns m e K=50 N m , con controllo in ammettenza 175
  • 212.
    Controllo in forza 05 10 15 20 25 30 35 40 45 Time [s] -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 a [m/s 2 ] Fig. 2.76: Accelerazione del manipolo, durante la simulazione di un ambiente completo caratterizzato da M=3 kg, C=1 Ns m e K=50 N m , con controllo in ammettenza 0 5 10 15 20 25 30 35 40 45 Time [s] -30 -20 -10 0 10 20 30 F op [N] Fig. 2.77: Forza applicata dall’operatore sul manipolo, durante la simulazione di un am- biente completo caratterizzato da M=3 kg, C=1 Ns m e K=50 N m , con controllo in ammettenza 176
  • 213.
    Progettazione del sistemadi controllo aptico in ammettenza 0 5 10 15 20 25 30 35 40 45 Time [s] -30 -20 -10 0 10 20 30 F amb [N] Fig. 2.78: Forza generata dall’ambiente virtuale, durante la simulazione di un ambiente completo caratterizzato da M=3 kg, C=1 Ns m e K=50 N m , con controllo in ammettenza 0 5 10 15 20 25 30 35 40 45 Time [s] -30 -20 -10 0 10 20 30 F op , F amb [N] Fop Famb Fig. 2.79: Andamenti sovrapposti di Fop e Famb, durante la simulazione di un ambiente completo caratterizzato da M=3 kg, C=1 Ns m e K=50 N m , con controllo in ammettenza 177
  • 214.
    Controllo in forza Pervalutare l’efficacia del sistema di controllo implementato si calcola l’errore in forza (Fig.2.80), valutato come la differenza la forza operatore e la forza genera- ta dall’ambiente, e l’errore in posizione (Fig.2.82), sottraendo alla posizione de- terminata dall’ambiente ideale quella effettivamente raggiunta sul banco di prova, rappresentate sovrapposte in Fig.2.81. I risultati ottenuti nella prova sono: • Errore massimo in forza di 2.26 N; • errore massimo in forza è pari al 10.88 % della forza operatore massima; • errore massimo in posizione di 0.031 m; • errore in massimo in posizione è pari al 7.5 % dello spostamento massimo del manipolo. 0 5 10 15 20 25 30 35 40 45 Time [s] -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 e F [N] Fig. 2.80: Errore in forza, durante la simulazione di un ambiente completo caratterizzato da M=3 kg, C=1 Ns m e K=50 N m , con controllo in ammettenza 178
  • 215.
    Progettazione del sistemadi controllo aptico in ammettenza 0 5 10 15 20 25 30 35 40 45 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x id [m] Fig. 2.81: Andamenti sovrapposti delle risposte in posizione di un ambiente completo caratterizzato da M=3 kg, C=1 Ns m e K=50 N m , e dell’interfaccia aptica con controllo in ammettenza 0 5 10 15 20 25 30 35 40 45 Time [s] -0.04 -0.03 -0.02 -0.01 0 0.01 0.02 0.03 0.04 e X [m] Fig. 2.82: Errore in posizione durante la simulazione di un ambiente completo caratte- rizzato da M=3 kg, C=1 Ns m e K=50 N m con controllo in ammettenza 179
  • 216.
    Controllo in forza Irisultati mostrati fino ad ora fanno riferimento ad una prova condotta a basse velocità; per vedere come variano gli errori in posizione ed in forza se ne conduce un’ altra a velocità più sostenute, considerando il medesimo ambiente virtuale: ciò che ci si aspetta è un loro incremento in quanto maggiore è la dinamica della forza operatore applicata in ingresso al sistema di controllo e più critico sarà l’inseguimento del segnale di riferimento. Con il test a velocità maggiori si sono ottenuti i seguenti dati: • spostamento massimo del manipolo di 0.4284 m; • velocità massima del manipolo di 0.9570 m s • accelerazione massima del manipolo di 3.332m s2 • forza massima introdotta dall’ operatore di 18.4876 N • errore massimo in forza pari a 5.44 N • errore massimo in posizione pari a 0.14 N • errore massimo in forza è pari al 29.45% della forza operatore massima; • errore massimo in posizione è pari al 33.21% dello spostamento massimo del manipolo. Si certifica dunque come a velocità superiori gli errori in posizione ed in forza siano maggiori. Per validare il sistema di controllo sono state fatte ulteriori acquisizioni variando la tipologia di ambiente virtuale, ossia utilizzando differenti valori di M,C e K, e la velocità con il quale si sposta il manipolo. In particolare, vengono fissati due parametri e fatto variare il terzo per valutare i massimi errori percentuali in posizione ed in forza (Fig.2.83,Fig.2.84,Fig.2.85,Fig.2.86 e Fig.2.87). Infine viene fatta un’analisi per vedere quale parametro fra M e K è più influente sulle prestazioni del sistema di controllo in anello chiuso: si varia quindi M e K, mantenendo costante il loro rapporto e il coefficiente di smorzamento C. (Fig.2.88 e Fig.2.89) Nella tabella 2.3 vengono mostrati i valori delle grandezze significative per ogni acquisizione fatta: 180
  • 217.
    Progettazione del sistemadi controllo aptico in ammettenza 0 5 10 15 20 25 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] (a) Spostamento manipolo 0 5 10 15 20 25 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 v [m/s] (b) Velocità manipolo 0 5 10 15 20 25 Time [s] -30 -20 -10 0 10 20 30 F op [N] (c) Forza operatore 0 5 10 15 20 25 Time [s] -30 -20 -10 0 10 20 30 F amb [N] (d) Forza ambiente 0 5 10 15 20 25 Time [s] -4 -3 -2 -1 0 1 2 3 4 e F [N] (e) Errore in forza 0 5 10 15 20 25 Time [s] -0.03 -0.02 -0.01 0 0.01 0.02 0.03 e X [m] (f) Errore in posizione Fig. 2.83: Risultati sperimentali della simulazione di un ambiente completo con M=3 kg, C=10 Ns m e K=50 N m con controllo in ammettenza a basse velocità 181
  • 218.
    Controllo in forza 02 4 6 8 10 12 14 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] (a) Spostamento manipolo 0 2 4 6 8 10 12 14 Time [s] -1 -0.5 0 0.5 1 v [m/s] (b) Velocità manipolo 0 2 4 6 8 10 12 14 Time [s] -30 -20 -10 0 10 20 30 F op [N] (c) Forza operatore 0 2 4 6 8 10 12 14 Time [s] -30 -20 -10 0 10 20 30 F amb [N] (d) Forza ambiente 0 2 4 6 8 10 12 14 Time [s] -6 -4 -2 0 2 4 6 e F [N] (e) Errore in forza 0 2 4 6 8 10 12 14 Time [s] -0.1 -0.08 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 0.08 0.1 e X [m] (f) Errore in posizione Fig. 2.84: Risultati sperimentali della simulazione di un ambiente completo con M=3 kg, C=10 Ns m e K=50 N m con controllo in ammettenza a velocità sostenute 182
  • 219.
    Progettazione del sistemadi controllo aptico in ammettenza 0 2 4 6 8 10 12 14 16 18 20 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] (a) Spostamento manipolo 0 2 4 6 8 10 12 14 16 18 20 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 v [m/s] (b) Velocità manipolo 0 2 4 6 8 10 12 14 16 18 20 Time [s] -30 -20 -10 0 10 20 30 F op [N] (c) Forza operatore 0 2 4 6 8 10 12 14 16 18 20 Time [s] -30 -20 -10 0 10 20 30 F amb [N] (d) Forza ambiente 0 2 4 6 8 10 12 14 16 18 20 Time [s] -6 -4 -2 0 2 4 6 e F [N] (e) Errore in forza 0 2 4 6 8 10 12 14 16 18 20 Time [s] -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 e X [m] (f) Errore in posizione Fig. 2.85: Risultati sperimentali della simulazione di un ambiente completo con M=10 kg, C=1 Ns m e K=50 N m con controllo in ammettenza a basse velocità 183
  • 220.
    Controllo in forza 05 10 15 20 25 30 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] (a) Spostamento manipolo 0 5 10 15 20 25 30 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 v [m/s] (b) Velocità manipolo 0 5 10 15 20 25 30 Time [s] -80 -60 -40 -20 0 20 40 60 80 F op [N] (c) Forza operatore 5 10 15 20 25 30 Time [s] -60 -40 -20 0 20 40 60 F amb [N] (d) Forza ambiente 0 5 10 15 20 25 30 Time [s] -4 -3 -2 -1 0 1 2 3 4 e F [N] (e) Errore in forza 0 5 10 15 20 25 30 Time [s] -0.05 -0.04 -0.03 -0.02 -0.01 0 0.01 0.02 0.03 0.04 0.05 e X [m] (f) Errore in posizione Fig. 2.86: Risultati sperimentali della simulazione di un ambiente completo con M=3 kg, C=1 Ns m e K=150 N m con controllo in ammettenza a basse velocità 184
  • 221.
    Progettazione del sistemadi controllo aptico in ammettenza 0 2 4 6 8 10 12 14 16 18 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] (a) Spostamento manipolo 0 2 4 6 8 10 12 14 16 18 Time [s] -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 v [m/s] (b) Velocità manipolo 0 2 4 6 8 10 12 14 16 18 Time [s] -80 -60 -40 -20 0 20 40 60 80 F op [N] (c) Forza operatore 0 2 4 6 8 10 12 14 16 18 Time [s] -80 -60 -40 -20 0 20 40 60 80 F amb [N] (d) Forza ambiente 0 2 4 6 8 10 12 14 16 18 Time [s] -10 -5 0 5 10 e F [N] (e) Errore in forza 0 2 4 6 8 10 12 14 16 18 Time [s] -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 e X [m] (f) Errore in posizione Fig. 2.87: Risultati sperimentali della simulazione di un ambiente completo con M=3 kg, C=1 Ns m e K=150 N m con controllo in ammettenza a velocità sostenute 185
  • 222.
    Controllo in forza 05 10 15 20 25 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] (a) Spostamento manipolo 0 5 10 15 20 25 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 v [m/s] (b) Velocità manipolo 0 5 10 15 20 25 Time [s] -80 -60 -40 -20 0 20 40 60 80 F op [N] (c) Forza operatore 0 5 10 15 20 25 Time [s] -80 -60 -40 -20 0 20 40 60 80 F amb [N] (d) Forza ambiente 0 5 10 15 20 25 Time [s] -8 -6 -4 -2 0 2 4 6 8 e F [N] (e) Errore in forza 0 5 10 15 20 25 Time [s] -0.1 -0.08 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 0.08 0.1 e X [m] (f) Errore in posizione Fig. 2.88: Risultati sperimentali della simulazione di un ambiente completo con M=9 kg, C=1 Ns m e K=150 N m con controllo in ammettenza a basse velocità 186
  • 223.
    Progettazione del sistemadi controllo aptico in ammettenza 0 5 10 15 20 25 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] (a) Spostamento manipolo 0 5 10 15 20 25 Time [s] -1 -0.5 0 0.5 1 v [m/s] (b) Velocità manipolo 0 5 10 15 20 25 Time [s] -80 -60 -40 -20 0 20 40 60 80 F op [N] (c) Forza operatore 0 5 10 15 20 25 Time [s] -80 -60 -40 -20 0 20 40 60 80 F amb [N] (d) Forza ambiente 0 5 10 15 20 25 Time [s] -15 -10 -5 0 5 10 15 e F [N] (e) Errore in forza 0 5 10 15 20 25 Time [s] -0.15 -0.1 -0.05 0 0.05 0.1 e X [m] (f) Errore in posizione Fig. 2.89: Risultati sperimentali della simulazione di un ambiente completo con M=9 kg, C=1 Ns m e K=150 N m con controllo in ammettenza a velocità sostenute 187
  • 224.
    Controllo in forza K K KC C C M M M fn fn fn ξ ξ ξ ẋmax ẋmax ẋmax ẍmax ẍmax ẍmax errF errF errF errx errx errx KI KI KI [N m ] [N m ] [N m ] [Ns m ] [Ns m ] [Ns m ] [Kg] [Kg] [Kg] [Hz] [Hz] [Hz] [m s ] [m s ] [m s ] [m s2 ] [m s2 ] [m s2 ] [%] [%] [%] [%] [%] [%] 50 10 3 0.65 0.41 0.4 1.88 15.38 6.03 0.8 50 10 3 0.65 0.41 1.06 4.4 33.8 20.25 0.8 50 1 10 0.36 0.022 0.38 1.37 33.59 32.13 0.3 150 1 3 1.12 0.024 0.42 1.89 5.55 6.53 0.6 150 1 3 1.12 0.024 0.97 5.49 18.07 33.44 0.6 150 1 9 0.65 0.014 0.41 1.44 10.93 17.65 0.3 150 1 9 0.65 0.014 1.03 3.02 24.50 28.8 0.3 Tabella 2.3: Risultati sperimentali delle prove svolte per simulare differenti ambienti completi con controllo in ammettenza. Conclusioni A seguito dei risultati sperimentali derivanti dalle prove eseguite sul banco di prova è doveroso fare alcune considerazioni. La simulazione sul sistema aptico dell’ambiente completo si è svolta considerando dapprima un ambiente di riferimento caratteriz- zato da M=3 kg, C=1 Ns m e K=50 N m , per poter analizzare e validare le prestazioni del sistema di controllo; in seguito, per rendere quest’ultimo fruibile anche per valori di M,C,K differenti da quelli presi inizialmente, è stato fatto variare un parametro alla volta, tenendo gli altri due fissi. Ciò che emerge, è che sistemi caratterizzati da maggior smorzamento o massa, rispetto all’ambiente di riferimento, portano ad errori percentuali in forza ed in posizione maggiori; un aumento della rigidezza in- vece, conduce ad errori inferiori. Ne deriva che il sistema di controllo è in grado di simulare efficacemente ambienti rigidi, poco inerziali e poco smorzati. In ultimo, per vedere quale parametro tra M e K avesse maggior impatto sugli errori, è sta- ta condotta una prova aumentando sia M che K, ma mantenendo costante il loro rapporto: si è osservata una riduzione degli errori di posizione e di forza rispetto a quelli ottenuti con l’ambiente di riferimento pertanto K è più determinante rispetto ad M. 188
  • 225.
    Progettazione del sistemadi controllo aptico in impedenza 2.3 Progettazione del sistema di controllo aptico in impedenza in anello chiuso 2.3.1 Ambiente elastico Adottando la strategia di controllo in impedenza in anello chiuso per simulare il comportamento di una molla ideale, le funzioni di trasferimento GFX, da Fop ad x, e GFF , da Fop ad Famb, sono espresse dalle relazioni (2.58) e (2.59). GFX = x Fop = Gs · Rf 1 + Km · (1 + Gs · Rf ) (2.58) GFF = Famb Fop = Gs · Rf · Km 1 + Km · (1 + Gs · Rf ) (2.59) Nel caso in esame, la funzione di trasferimento Gs del sistema sotto-controllo è descritta dalla formula (2.60). Gs = Jm,eq τRp 1 s2 = meq s2 (2.60) Dunque, sostituendo l’espressione (2.60) nelle formule (2.58) e (2.59), si ottengono le relazioni (2.61) e (2.62). GFX = meq · Rf (1 + Km)s2 + (Km · meq · Rf ) (2.61) GFF = meq · Rf · Km (1 + Km)s2 + (Km · meq · Rf ) (2.62) Sintesi del regolatore Si consideri di utilizzare un regolatore in forza di tipo proporzionale, la cui funzione di trasferimento è espressa da Rf = Kp. In tal caso, GFX e GFF sono descritte dalle relazioni (2.63) e (2.64). GFX = meq · Kp s2 + Km · meq · (1 + Kp) (2.63) GFF = meq · Kp · Km s2 + Km · meq · (1 + Kp) (2.64) 189
  • 226.
    Controllo in forza GFXe GFF sono entrambe due funzioni di trasferimento con due poli e nessuno zero. In particolare, presentano i medesimi poli, immaginari e possono essere espressi mediante la formula (2.65). s = ±j q Km · meq · (1 + Kp) (2.65) Dato che GFX e GFF presentano due poli immaginari, si può concludere che il sistema di controllo in anello chiuso non è asintoticamente stabile, ma soltanto sem- plicemente. Pertanto, applicando uno scalino in forza di ampiezza F in ingresso al sistema, le sue risposte in posizione e in forza sono oscillanti non smorzate, quindi non convergono asintoticamente ad un valore di regime, ma oscillano con delle am- piezze costanti attorno ad un valore pari, rispettivamente, a F Km e F. Ciò lo si può osservare nelle Fig.2.90 e Fig.2.91, dove sono riportati gli andamenti, in funzione del tempo, delle risposte in posizione e in forza del sistema di controllo in anello chiuso, ad uno scalino in forza di ampiezza F = 30N, considerando di simulare una molla ideale con rigidezza Km = 250N m . Per tracciare i diagrammi, si è considerato un guadagno proporzionale pari a 50. Tale comportamento, ovviamente, non è accettabile: per stabilizzare il sistema, si può introdurre una componente derivativa nel regolatore in forza. Dunque, si consideri di impiegare un controllore in forza di tipo proporzionale - derivativo, la cui funzione di trasferimento è espressa dalla formula (2.66). Rf = Kp + Kds (2.66) Le conseguenti funzioni di trasferimento in anello chiuso GFX e GFF sono descritte dalle espressioni (2.67) e (2.68): presentano uno zero e due poli, i quali possiedono entrambi una parte reale strettamente negativa per qualsiasi valore di Kd e Kp. Pertanto, si può affermare che il sistema è asintoticamente stabile per qualsiasi valore dei due guadagni del regolatore in forza. GFX = meq · (Kp + Kds) s2 + Kd · Km · meqs + Km · meq · (1 + Kp) (2.67) GFF = meq · Km · (Kp + Kds) s2 + Kd · Km · meqs + Km · meq · (1 + Kp) (2.68) µGF X = KP Km · (1 + KP ) (2.69) 190
  • 227.
    Progettazione del sistemadi controllo aptico in impedenza 0 0.1 0.2 0.3 0.4 0.5 0.6 time [s] 0 0.05 0.1 0.15 0.2 0.25 x [m] Gid GFX Fig. 2.90: Risposta ad uno scalino in forza di ampiezza F = 30N della funzione di trasferimento GFX, considerando di simulare una molla ideale di rigidezza Km = 250N m 0 0.1 0.2 0.3 0.4 0.5 0.6 time [s] 0 10 20 30 40 50 60 x [m] Fig. 2.91: Risposta ad uno scalino in forza di ampiezza F = 30N della funzione di tra- sferimento GFF , impiegando un controllore in forza puramente proporzionale e considerando di simulare una molla ideale di rigidezza Km = 250N m 191
  • 228.
    Controllo in forza µGFF = KP (1 + KP ) (2.70) Per quanto riguarda il comportamento statico, si può osservare che GFX e GFF possiedono un guadagno statico espresso, rispettivamente, dalle formule (2.69) e (2.70). Dunque, impiegando un regolatore in forza di tipo proporzionale - derivativo, le risposte in posizione e in forza del sistema di controllo in anello chiuso, ad uno scalino in forza di ampiezza F, convergono asintoticamente ad un valore di regime diverso da quello delle corrispondenti risposte in posizione e in forza di una molla ideale. Tuttavia, se il guadagno Kp del controllore in forza tende ad infinito, i guadagni statici delle funzioni di trasferimento GFX e GFF tendono, rispettivamente, ai valori 1 Km e 1, come desiderato. Di conseguenza, per garantire che la risposta, ad uno scalino in forza o all’imposizione di una condizione iniziale in posizione, del sistema di controllo in anello chiuso converga asintoticamente ad un valore di regime approssimativamente pari alla corrispondente risposta della molla ideale che si vuole simulare, è necessario utilizzare un guadagno Kp sufficientemente elevato. Per quanto riguarda, invece, il comportamento dinamico, GFX e GFF presentano entrambe uno zero reale, dato dal rapporto tra il guadagno proporzionale e quello derivativo del controllore in forza (2.71), e due poli caratterizzati da una frequenza fp e uno smorzamento ξp, descritti dalle relazioni (2.72) e (2.73). z = − Kp Kd (2.71) fp = 1 2π q Km · meq · (1 + Kp) (2.72) ξp = Kd · Km · meq 4 · π · fp = Kd p Km · meq 2 · p 1 + Kp (2.73) Se i poli del sistema in anello chiuso fossero complessi coniugati, le risposte in po- sizione e in forza del sistema di controllo in impedenza, ad uno scalino in forza o all’imposizione di una condizione iniziale in posizione, tenderebbero asintoticamente ad un valore di regime con un andamento caratterizzato da oscillazioni esponenzial- mente smorzate. Viceversa, se i suoi poli sono reali e distinti, il sistema è molto più smorzato e, quindi, le sue risposte in posizione e in forza, ad uno scalino o all’im- posizione di una condizione iniziale in posizione, sono molto più simili a quelle di una molla ideale, con, al massimo, un’eventuale piccola sovra-elongazione. Dunque, 192
  • 229.
    Progettazione del sistemadi controllo aptico in impedenza 0 50 100 150 Kp -1210 -1200 -1190 -1180 -1170 -1160 -1150 -1140 -1130 -1120 Real (a) Polo veloce 0 50 100 150 Kp -80 -70 -60 -50 -40 -30 -20 -10 0 Real Polo lento Zero (b) Polo lento e zero Fig. 2.92: Andamento dei poli e dello zero del sistema di controllo in anello chiuso, in funzione del guadagno proporzionale Kp e per un guadagno derivativo Kd = 2. si impone che i poli del sistema di controllo in anello chiuso siano reali e distinti. In tale condizione, uno dei due poli si trova a frequenze più basse, mentre l’altro a frequenze più alte. In particolare, lo zero di GFX e GFF tende a cancellare, almeno parzialmente, il loro polo che si trova a più basse frequenze. Ne consegue che le due funzioni di trasferimento possono essere interpretate entrambe come aventi nessuno zero e un solo polo, situato a frequenze relativamente alte, che sono tanto maggiori tanto più è elevata la rigidezza Km della molla che si desidera simulare. A parità di guadagno derivativo, si riscontra che, al crescere del guadagno proporzionale Kp, il polo si sposta a frequenze minori. Ciò lo si può osservare nella Fig.2.92 dove sono rappresentati gli andamenti dei due poli e dello zero reali del sistema di controllo in anello chiuso, in funzione del parametro Kp e per un guadagno derivativo Kd = 2. Tali diagrammi sono stati tracciati considerando come ambiente ideale una molla con rigidezza Km = 250N m , che è l’ambiente virtuale preso come riferimento per la scelta del tipo di regolatore in forza da adottare. Dunque, al crescere del guadagno proporzionale, la pulsazione naturale del sistema diminuisce e, di conseguenza, la dinamica del sistema diventa leggermente più lenta. Inoltre, all’aumentare di Kp, diminuisce lo smorzamento xip del sistema. 193
  • 230.
    Controllo in forza 10-1 100 101 102 f[Hz] -118 -117 -116 -115 -114 -113 -112 -111 -110 -109 Magnitude [dB] Gid GFX (Kp =10) GFX (Kp =50) GFX (Kp =100) 10-1 100 101 f [Hz] -16 -14 -12 -10 -8 -6 -4 -2 0 2 4 Phase [deg] Gid GFX (Kp =10) GFX (Kp =50) GFX (Kp =100) Fig. 2.93: Diagramma di Bode di GFX, per diversi valori del guadagno proporzionale e per un guadagno derivativo Kd = 2 Infatti, proprio per tale ragione, nelle Fig.2.93 e Fig.2.94 si può osservare che i diagrammi di Bode del modulo di GFX e GFF presentano una sovra-elongazione di ampiezza maggiore, al crescere del guadagno proporzionale. In Fig.2.95 sono riportate le risposte in posizione e in forza del sistema di controllo in anello chiuso, ad uno scalino in forza di ampiezza F = 30N, per diversi valori del guadagno proporzionale e un guadagno derivativo pari a 2. Da tali diagrammi si osserva, innanzitutto, che le risposte del sistema sono molto veloci. 194
  • 231.
    Progettazione del sistemadi controllo aptico in impedenza 100 101 102 f [Hz] -14 -12 -10 -8 -6 -4 -2 0 2 Magnitude [dB] GFF (Kp =10) GFF (Kp =50) GFF (Kp =100) 100 101 102 f [Hz] -60 -50 -40 -30 -20 -10 0 Phase [deg] GFF (Kp =10) GFF (Kp =50) GFF (Kp =100) Fig. 2.94: Diagramma di Bode di GFF , per diversi valori del guadagno proporzionale e per un guadagno derivativo Kd = 2 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 Time [s] 0.105 0.11 0.115 0.12 0.125 x [m] Gid GFX (Kp =10) GFX (Kp =50) GFX (Kp =100) 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 Time [s] 29.5 30 30.5 31 F [N] GFF (Kp =10) GFF (Kp =50) GFF (Kp =100) Fig. 2.95: Risposte in posizione e in forza del sistema di controllo, ad uno scalino in forza di ampiezza F = 30N, per diversi valori del guadagno proporzionale e per un guadagno derivativo Kd = 2. 195
  • 232.
    Controllo in forza 05 10 15 20 25 30 35 40 45 50 Kd -3.5 -3 -2.5 -2 -1.5 -1 -0.5 0 Real 104 0 5 10 15 20 25 30 35 40 45 50 Kd -12 -10 -8 -6 -4 -2 0 Real Polo lento zero Fig. 2.96: Poli e zero del sistema di controllo in impedenza in anello chiuso, in funzione del guadagno derivativo e per un guadagno proporzionale Kp = 10. Inoltre, si nota che, al crescere del guadagno proporzionale, esse: • sono meno smorzate, infatti presentano una sovra - elongazione di ampiezza maggiore; • convergono ad un valore di regime che è più vicino a quello delle corrispondenti risposte della molla ideale che si desidera simulare, ovvero si ha un minore errore a regime. A parità di guadagno proporzionale, al crescere del guadagno derivativo, il polo a più alta frequenza del sistema di controllo in anello chiuso si sposta verso pulsazioni molto più elevate, mentre l’altro polo e lo zero si dirigono verso frequenze più basse. Ciò lo si riscontra dalla Fig.2.96, dove sono rappresentati gli andamenti dei due poli e dello zero reali del sistema di controllo in impedenza in anello chiuso, in funzione del guadagno derivativo e per un guadagno proporzionale pari a 10. Dunque, al crescere del guadagno derivativo, aumenta sia la pulsazione naturale sia lo smorzamento ξp, e, quindi, anche la stabilità, del sistema di controllo in anello chiuso. Ciò lo si può osservare nelle Fig.2.97 e Fig.2.98, dove sono riportati i diagrammi di Bode, di modulo e fase, delle funzioni di trasferimento GFX e GFF , per diversi valori del guadagno derivativo e per un guadagno proporzionale pari a 10. 196
  • 233.
    Progettazione del sistemadi controllo aptico in impedenza 10-2 100 102 104 f [Hz] -240 -220 -200 -180 -160 -140 -120 -100 Magnitude [dB] Gid GFX (Kd =1) GFX (Kd =10) GFX (Kd =50) 10-2 100 102 104 f [Hz] -90 -80 -70 -60 -50 -40 -30 -20 -10 0 10 Phase [deg] Gid GFX (Kd =1) GFX (Kd =10) GFX (Kd =50) Fig. 2.97: Diagramma di Bode di GFX, per diversi valori del guadagno derivativo e per un guadagno proporzionale Kp = 10. 10-2 100 102 104 f [Hz] -140 -120 -100 -80 -60 -40 -20 0 20 Magnitude [dB] GFF (Kd =1) GFF (Kd =10) GFF (Kd =50) 10-2 100 102 104 f [Hz] -90 -80 -70 -60 -50 -40 -30 -20 -10 0 Phase [deg] GFF (Kd =1) GFF (Kd =10) GFF (Kd =50) Fig. 2.98: Diagramma di Bode di GFF , per diversi valori del guadagno derivativo e per un guadagno proporzionale Kp = 10. 197
  • 234.
    Controllo in forza Dall’analisiappena svolta, si può concludere che, maggiore è il guadagno proporzio- nale Kp del controllore in forza: • minore è l’errore a regime delle risposte in posizione e in forza, ad uno scalino applicato in ingresso o all’imposizione di una condizione iniziale in posizione; • minore è la pulsazione naturale; • minore è lo smorzamento e, quindi, la stabilità del sistema di controllo in anello chiuso. Dunque, in generale, conviene utilizzare un guadagno proporzionale il più elevato possibile, in modo da ridurre l’errore a regime delle risposte in forza e in posizione, ad uno scalino o all’imposizione di una condi- zione iniziale in posizione, rispetto alle corrispondenti risposte della molla ideale che si desidera simulare. Come conseguenze negative, si ha la riduzione della frequen- za critica del sistema, la quale, tuttavia, è comunque, in generale, sufficientemente elevata e, soprattutto, la diminuzione dello smorzamento quindi, della stabilità, del sistema in anello chiuso. In particolare, quest’ultimo aspetto può essere risolto incre- mentando il guadagno derivativo, il quale, in realtà, è il parametro più importante del controllore in forza. Infatti, al crescere del guadagno derivativo, aumenta sia lo smorzamento sia, in modo estremamente significativo, la frequenza critica e, quindi, l’ampiezza della banda passante del sistema in anello chiuso. Pertanto, aumentando i guadagni del controllore in forza, le prestazioni del sistema di controllo in ammet- tenza migliorano ottenendo una riproduzione più fedele del sistema virtuale che si desidera simulare. Infatti, si osserva che i diagrammi di Bode di GFX e di GFF tendono ad approssimare in modo più preciso e su un range di frequenze sempre maggiore i corrispondenti diagrammi, rispettivamente, dell’ambiente ideale Gid e della funzione di trasferimento unitaria, al crescere dei due parametri. È importante sottolineare che non è concesso aumentare troppo il parametro Kd, dando quest’ul- timo maggiore peso alla derivata numerica dell’errore in forza che riceve in ingresso il controllore, in quanto porterebbe il sistema ad avere un comportamento instabile. 198
  • 235.
    Progettazione del sistemadi controllo aptico in impedenza Risultati sperimentali Per testare le prestazioni del sistema di controllo in impedenza in anello chiuso progettato, lo si è applicato all’interfaccia aptica a disposizione con l’obiettivo di simulare il comportamento di una molla ideale con rigidezza Km = 250 N m . In particolare, sono state svolte diverse prove, durante le quali si è afferrato il manipolo dell’interfaccia, lo si è mosso avanti e indietro tra i due fine corsa e si è misurato: 1. la forza Fop esercitata dall’operatore; 2. lo spostamento x del manipolo; 3. la conseguente forza Famb dell’ambiente virtuale. Inoltre, si è importato in ambiente Simulink la misura della forza esercitata dall’o- peratore sul manipolo, in modo tale da simulare le risposte in posizione e in forza del modello del sistema di controllo in impedenza e ottenere, anche, la risposta in posizione della molla ideale, che si è presa in considerazione. In questo modo è stato possibile confrontare: • le risposte in posizione e in forza del sistema di controllo in impedenza, ottenute sul banco di prova e in simulazione; • la risposta in posizione dell’interfaccia aptica e della molla ideale che si desi- dera simulare, in modo tale da valutare le prestazioni del sistema di controllo in anello chiuso in termini di capacità di riprodurre il reale comportamento dell’ambiente virtuale preso in esame; • la forza esercitata dall’operatore e la conseguente forza ambiente, in modo tale da determinare l’errore in forza e valutare, quindi, le prestazioni del sistema di controllo in impedenza in termini di capacità di far percepire all’operatore una forza esattamente pari a quella esercita dall’ambiente virtuale considerato. Nelle Fig.2.99, Fig.2.100, Fig.2.101 e Fig.2.102 sono riportati gli andamenti, in fun- zione del tempo, della posizione e della velocità lineare del manipolo, della forza esercitata dall’operatore e della forza generata dall’ambiente virtuale preso in consi- derazione, ottenuti durante una delle suddette prove. Si può osservare che, durante 199
  • 236.
    Controllo in forza 010 20 30 40 50 Time [s] -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] Fig. 2.99: Posizione x del manipolo, durante la simulazione del comportamento di una molla ideale di rigidezza Km = 250N m il test, il manipolo è stato mosso con delle discrete velocità da parte dell’operatore, con picchi intorno ai 0.53m s . 200
  • 237.
    Progettazione del sistemadi controllo aptico in impedenza 0 10 20 30 40 50 Time [s] -0.6 -0.4 -0.2 0 0.2 0.4 0.6 x p [m/s] Fig. 2.100: Velocità xp del manipolo, durante la simulazione del comportamento di una molla ideale di rigidezza Km = 250N m 0 10 20 30 40 50 Time [s] -100 -80 -60 -40 -20 0 20 40 60 80 100 F [N] Fig. 2.101: Forza esercitata dall’operatore sul manipolo, durante la simulazione di una molla ideale di rigidezza Km = 250N m 201
  • 238.
    Controllo in forza 010 20 30 40 50 Time [s] -100 -80 -60 -40 -20 0 20 40 60 80 100 F [N] Fig. 2.102: Forza generata dall’ambiente virtuale, durante la simulazione di una molla ideale di rigidezza Km = 250N m Nelle Fig.2.103 e Fig.2.104 sono rappresentate, sovrapposte, le risposte, rispettiva- mente, in posizione e in forza del sistema di controllo in impedenza in anello chiuso progettato, ottenute, in un caso, in simulazione in ambiente Simulink e, nell’altro, applicando tale sistema di controllo direttamente all’interfaccia aptica. Dai suddetti diagrammi, si può osservare che i risultati sperimentali, sia in posizione sia in forza, sono molto simili con quelli ottenuti in simulazione. 202
  • 239.
    Progettazione del sistemadi controllo aptico in impedenza 0 10 20 30 40 50 Time [s] -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] Simulazione Banchetto Fig. 2.103: Confronto tra la risposta in posizione simulata in ambiente Simulink e la risposta in posizione ottenuta sul banco di prova del sistema di controllo in impedenza in anello chiuso. 0 10 20 30 40 50 Time [s] -100 -80 -60 -40 -20 0 20 40 60 80 100 F [m] Simulazione Banchetto Fig. 2.104: Confronto tra la risposta in forza simulata in ambiente Simulink e la risposta in forza ottenuta sul banco di prova del sistema di controllo in impedenza in anello chiuso. 203
  • 240.
    Controllo in forza 010 20 30 40 50 Time [s] -100 -80 -60 -40 -20 0 20 40 60 80 100 F [N] Famb Fop Fig. 2.105: Confronto tra la forza applicata dall’operatore sul manipolo e la forza gene- rata dall’ambiente virtuale, durante la simulazione di una molla di rigidezza Km = 250N m Nella Fig.2.105 sono rappresentati sovrapposti gli andamenti, in funzione del tempo, della forza Fop esercitata dall’operatore e della forza Famb generata dall’ambiente virtuale, mentre nella Fig.2.106 è riportato l’andamento, in funzione del tempo, dell’errore in forza, calcolato come la differenza tra Fop e Famb. Da questi due ultimi diagrammi, si può notare che: • la massima forza esercitata da parte dell’operatore durante la prova è di circa 96.50N; • il massimo errore in forza è pari a 6.99N. Ne consegue che il massimo errore in forza che si è ottenuto, durante la prova svolta sull’interfaccia aptica, è circa pari al 7.25% della massima forza esercitata dall’operatore sul manipolo. 204
  • 241.
    Progettazione del sistemadi controllo aptico in impedenza 0 10 20 30 40 50 Time [s] -8 -6 -4 -2 0 2 4 6 e F [N] Fig. 2.106: Errore in forza, durante la simulazione di una molla di rigidezza Km = 250N m In Fig.2.107 sono riportati sovrapposti gli andamenti, in funzione del tempo, delle risposte in posizione della molla ideale in esame e dell’interfaccia aptica controllata mediante la strategia di controllo in impedenza in anello chiuso. In Fig.2.108 è, inve- ce, riportato l’andamento, in funzione del tempo, dell’errore in posizione, calcolato come la differenza delle risposte in posizione, alla forza esercitata dall’operatore, dell’ambiente ideale e del banco di prova. Si può osservare che: • il massimo spostamento compiuto dal manipolo dell’interfaccia durante la prova è pari a 0.41 m; • il massimo errore in posizione tra banchetto e ambiente ideale è pari a 0.028 m e, in particolare, tale errore lo si ha in corrispondenza degli estremi della corsa del manipolo. Si può concludere, quindi, che il massimo errore in posizione che si è ottenuto, durante la prova svolta sull’interfaccia aptica a disposizione, è circa pari al 6.80% del massimo spostamento compiuto dal manipolo. 205
  • 242.
    Controllo in forza 010 20 30 40 50 Time [s] -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 x [m] Molla ideale Banchetto Fig. 2.107: Confronto tra le risposte in posizione dell’interfaccia aptica e di una molla ideale di rigidezza Km = 250N m 0 10 20 30 40 50 Time [s] -0.03 -0.02 -0.01 0 0.01 0.02 0.03 e x [m] Fig. 2.108: Errore in posizione, durante la simulazione di una molla di rigidezza k = 250N m In Fig.2.109 è riportato l’andamento della forza esercitata dall’operatore sul mani- polo, in funzione dello spostamento x di quest’ultimo. 206
  • 243.
    Progettazione del sistemadi controllo aptico in impedenza -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 x [m] -100 -80 -60 -40 -20 0 20 40 60 80 100 F [N] Molla ideale Banchetto Fig. 2.109: Forza applicata dall’operatore sul manipolo in funzione della sua posizione x, durante la simulazione di una molla ideale di rigidezza Km = 250N m Dai risultati ottenuti si può dedurre che il sistema di controllo in impedenza in anello chiuso, progettato e applicato all’interfaccia aptica a disposizione per simulare una molla ideale di rigidezza Km = 250 N m , presenta delle ottime prestazioni. Tuttavia, è doveroso evidenziare un limite significativo del suddetto sistema di controllo: le sue risposte in posizione e in forza, ad uno scalino applicato in ingresso o all’imposizione di una condizione iniziale in posizione, convergono asintoticamente ad un valore di regime che è diverso da quello delle corrispondenti risposte dell’ambiente ideale Gid e della funzione di trasferimento unitaria. Tale limite del sistema di controllo in impedenza anello chiuso progettato è legato all’impiego di un controllore in forza di tipo proporzionale - derivativo, ovvero privo di una componente integrativa. In particolare, per mostrare tale aspetto si è afferrato il manipolo dell’interfaccia apti- ca, gli si è imposto una condizione iniziale in posizione e si è misurato l’andamento, nel tempo, della sua posizione lineare x e della forza Famb generata dall’ambiente virtuale. I risultati ottenuti sono riportati nella Fig.2.110. Nella Fig.2.111 è ripor- tata una vista più nel dettaglio delle risposte in posizione e in forza dell’interfaccia aptica. In primo luogo, si può osservare che sia la risposta in posizione sia quella in forza del sistema presentano una sovra - elongazione. Inoltre, coerentemente con 207
  • 244.
    Controllo in forza quantodetto, a seguito dell’applicazione di una condizione iniziale in posizione, il manipolo non è tornato esattamente nella sua posizione iniziale x = 0 m, ovvero la sua risposta in posizione presenta un errore di regime, il quale è pari a 1.1 mm circa. 0 2 4 6 8 10 12 14 Time [s] -0.05 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 x [m] (a) Risposta in posizione 0 2 4 6 8 10 12 14 Time [s] -20 0 20 40 60 80 100 120 F amb [N] (b) Risposta in forza Fig. 2.110: Risposte in posizione e in forza dell’interfaccia aptica all’applicazione di una condizione iniziale in posizione, durante la simulazione di una molla ideale di rigidezza Km= 250 N m 6.9 6.95 7 7.05 7.1 7.15 7.2 7.25 Time [s] -0.02 -0.015 -0.01 -0.005 0 0.005 0.01 0.015 0.02 0.025 0.03 x [m] (a) Risposta in posizione 6.9 6.95 7 7.05 7.1 7.15 7.2 7.25 Time [s] -4 -2 0 2 4 6 F amb [N] (b) Risposta in forza Fig. 2.111: Vista più nel dettaglio delle risposte in posizione e in forza dell’interfaccia aptica all’applicazione di una condizione iniziale in posizione, durante la si- mulazione di una molla ideale di rigidezza Km= 250 N m 208
  • 245.
    Progettazione del sistemadi controllo aptico in impedenza Km Km Km [N m ] [N m ] [N m ] Kp Kp Kp Kd Kd Kd ẋmax ẋmax ẋmax [m s ] [m s ] [m s ] errF errF errF [%] [%] [%] errx errx errx [%] [%] [%] 0 10 0.20 0.68 / / 60 22 0.51 0.47 12.65 13.00 250 25 1.08 0.53 7.25 6.78 500 35 0.44 0.48 6.13 5.87 1000 35 0.27 0.41 4.80 4.61 Tabella 2.4: Risultati sperimentali delle prove svolte per simulare differenti molle ideali. Nelle Fig.2.112, Fig.2.113, Fig.2.114 e Fig.2.115 sono riportati i risultati sperimentali ottenuti simulando molle ideali di rigidezza, rispettivamente, pari a 0 N m (ambien- te trasparenza), 60 N m , 500 N m e 1000 N m . Nella tabella 2.4 sono riportati i valori dei guadagni del controllore in forza, della velocità lineare massima del manipolo e dei massimi errori percentuali in posizione e in forza commessi nella simulazione di molle con diverse rigidezze Km. E’ importante precisare che, per tutte le molle ideali simulate, si è ridotta l’ampiezza della banda morta, applicata alla misura del- la forza operatore Fop, in modo tale da poter aumentare maggiormente i guadagni, soprattutto quello proporzionale, del controllore in forza. Infatti, si è riscontrato che una banda morta eccessivamente ampia introduce delle vibrazioni in corrisponden- za della posizione di equilibrio x = 0, nel momento in cui si impiega un guadagno Kp relativamente elevato. In particolare, per tutte le molle ideali simulate, ecce- zion fatta per quella con rigidezza nulla, si è impiegato una banda morta pari a: [−0.0728 · 6, +0.0230 · 6]. Per simulare, invece, l’ambiente trasparenza con delle di- screte prestazioni si è reso necessario ridurre notevolmente l’ampiezza della banda morta ([−0.0728 · 0.5, +0.0230 · 0.5]), in quanto in tale situazione le forze introdotte dall’ operatore sono estremamente basse, come si può osservare dai risultati speri- mentali riportati in Fig.2.115. Infine, è importante precisare che si è utilizzato una frequenza del filtro passa - basso del secondo ordine, applicato alla misura della cella di carico, pari a 5Hz. 209
  • 246.
    Controllo in forza 05 10 15 20 25 30 35 40 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] (a) Spostamento manipolo 0 5 10 15 20 25 30 35 40 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 x p [m/s] (b) Velocità manipolo 0 5 10 15 20 25 30 35 40 Time [s] -30 -20 -10 0 10 20 30 F [N] Famb Fop (c) Forza operatore vs Forza ambiente -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 x [m] -30 -20 -10 0 10 20 30 F [N] Molla ideale Banchetto (d) Forza operatore vs Spostamento 0 5 10 15 20 25 30 35 40 Time [s] -4 -3 -2 -1 0 1 2 3 e F [N] (e) Errore in forza 0 5 10 15 20 25 30 35 40 Time [s] -0.08 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 e x [m] (f) Errore in posizione Fig. 2.112: Risultati sperimentali della simulazione di una molla ideale di rigidezza Km=60 N m . 210
  • 247.
    Progettazione del sistemadi controllo aptico in impedenza 0 5 10 15 20 25 30 Time [s] -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 x [m] (a) Spostamento manipolo 0 5 10 15 20 25 30 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x p [m/s] (b) Velocità manipolo 0 5 10 15 20 25 30 Time [s] -100 -80 -60 -40 -20 0 20 40 60 80 100 F [N] Famb Fop (c) Forza operatore vs Forza ambiente -0.25 -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 0.25 x [m] -100 -80 -60 -40 -20 0 20 40 60 80 100 F [N] Molla ideale Banchetto (d) Forza operatore vs Spostamento 0 5 10 15 20 25 30 Time [s] -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 e F [N] (e) Errore in forza 0 5 10 15 20 25 30 Time [s] -0.012 -0.01 -0.008 -0.006 -0.004 -0.002 0 0.002 0.004 0.006 0.008 0.01 e x [m] (f) Errore in posizione Fig. 2.113: Risultati sperimentali della simulazione di una molla ideale di rigidezza Km=500 N m . 211
  • 248.
    Controllo in forza 05 10 15 20 Time [s] -0.1 -0.05 0 0.05 0.1 x [m] (a) Spostamento manipolo 0 5 10 15 20 Time [s] -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 x p [m/s] (b) Velocità manipolo 0 5 10 15 20 Time [s] -100 -80 -60 -40 -20 0 20 40 60 80 100 F [N] Famb Fop (c) Forza operatore vs Forza ambiente -0.1 -0.08 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 0.08 0.1 x [m] -100 -80 -60 -40 -20 0 20 40 60 80 100 F [N] Molla ideale Banchetto (d) Forza operatore vs Spostamento 0 5 10 15 20 Time [s] -5 -4 -3 -2 -1 0 1 2 3 4 5 e F [N] (e) Errore in forza 0 5 10 15 20 Time [s] -5 -4 -3 -2 -1 0 1 2 3 4 5 e x [m] 10-3 (f) Errore in posizione Fig. 2.114: Risultati sperimentali della simulazione di una molla ideale di rigidezza Km=1000 N m . 212
  • 249.
    Progettazione del sistemadi controllo aptico in impedenza 0 5 10 15 20 25 Time [s] -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 x [m] (a) Spostamento manipolo 0 5 10 15 20 25 Time [s] -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 x p [m/s] (b) Velocità manipolo 0 5 10 15 20 25 Time [s] -8 -6 -4 -2 0 2 4 6 F [N] Famb Fop (c) Forza operatore vs Forza ambiente -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 x [m] -10 -8 -6 -4 -2 0 2 4 6 8 10 F [N] Molla ideale Banchetto (d) Forza operatore vs Spostamento Fig. 2.115: Risultati sperimentali della simulazione dell’ambiente trasparenza. 213
  • 250.
    Controllo in forza Conclusioni Dairisultati sperimentali ottenuti, si può concludere che il sistema di controllo in im- pedenza in anello chiuso progettato è in grado di simulare meglio il comportamento di ambienti statici con rigidezze elevate. Infatti, si è riscontrato che, all’aumentare della rigidezza Km dell’ambiente ideale, migliorano le prestazioni del sistema di con- trollo, ovvero si riducono gli errori percentuali massimi in forza e in posizione che vengono commessi. Come già detto in precedenza, nel caso dell’ambiente traspa- renza, non è significativo esprimere l’errore percentuale massimo in forza, per come esso è valutato, in quanto in tale contesto l’errore in forza coincide con la forza ap- plicata dall’operatore sul manipolo, poichè la forza generata dall’ambiente virtuale è nulla. Inoltre, nella riproduzione del comportamento dell’ambiente trasparenza, è di interesse minimizzare la forza operatore Fop necessaria per mettere in movimen- to il manipolo. In particolare, utilizzando un sistema di controllo in impedenza in anello chiuso, si è ottenuto che la suddetta forza è approssimativamente pari a 6N, movimentando il manipolo a delle velocità sostenute con picchi intorno ai 0.7m s . 214
  • 251.
    Progettazione del sistemadi controllo aptico in impedenza 2.3.2 Ambiente visco - elastico Sintesi del regolatore Adottando la strategia di controllo in impedenza in anello chiuso per simulare il comportamento di una molla reale, le funzioni di trasferimento GFX e GFF sono espresse dalle relazioni (2.74) e (2.75). GFX = x Fop = meq · Rf s2 + meq · c · (1 + Rf )s + meq · K · (1 + Rf ) (2.74) GFF = Famb Fop = meq · Rf · (cs + K) s2 + meq · c(1 + Rf )s + meq · K · (1 + Rf ) (2.75) Analogamente a quanto svolto per l’ambiente elastico, si consideri di utilizzare un regolatore in forza di tipo proporzionale. In tal caso, GFX e GFF sono descritte dalle relazioni (2.76) e (2.77). GFX = meq · Kp s2 + meq · c · (1 + Kp)s + meq · K · (1 + Kp) (2.76) GFF = meqKp(cs + K) s2 + meq · c · (1 + Kp)s + meq · K · (1 + Kp) (2.77) GFX e GFF sono due funzioni di trasferimento con due poli e, rispettivamente, nes- suno e uno zero. In particolare, i loro poli presentano una parte reale strettamente negativa, per qualsiasi valore del guadagno proporzionale. Pertanto, si può affermare che il sistema di controllo in anello chiuso è asintoticamente stabile per qualsiasi va- lore del parametro Kp. Dato che si impiega un controllore in forza di tipo puramente proporzionale, le risposte allo scalino di GFX e GFF convergono asintoticamente ad un valore di regime diverso dalle risposte, rispettivamente, dell’ambiente ideale e della funzione di trasferimento unitaria. Tuttavia, facendo tendere ad infinito il parametro Kp, i guadagni statici delle funzioni di trasferimento convergono asinto- ticamente ad un valore pari, rispettivamente, a 1 K e 1, come desiderato. In secondo luogo, si può notare che i due poli di GFX e di GFF sono complessi coniugati quando il loro smorzamento ξ è minore di uno quindi quando il guadagno Kp del regolato- re in forza è minore di un certo valore soglia K∗ p (2.78). In tal caso, la frequenza naturale del sistema è espressa dalla formula (2.79) ed è tanto maggiore tanto più elevato è il guadagno proporzionale. Kp K∗ p = 4 · K c2 · meq − 1 (2.78) 215
  • 252.
    Controllo in forza fn= p meq · K · (1 + Kp) 2π (2.79) Viceversa, se il guadagno Kp è superiore al valore soglia K∗ p , i poli del sistema di controllo in anello chiuso sono reali e distinti, uno a più bassa e l’altro a più alta frequenza. In tali condizioni, al crescere del guadagno proporzionale: • il polo a più bassa frequenza tende asintoticamente al polo dell’ambiente ideale Gid che si desidera simulare; • il polo a più alta frequenza si sposta verso frequenze sempre più elevate. Se i poli del sistema di controllo in anello chiuso fossero complessi coniugati, le ri- sposte in posizione e in forza, ad uno scalino applicato in ingresso o all’imposizione di una condizione iniziale in posizione, non tenderebbero asintoticamente al loro va- lore di regime con un andamento esponenziale, ma presenterebbero delle oscillazioni esponenzialmente smorzate attorno al proprio valore di regime. Viceversa, se il si- stema presentasse dei poli reali e distinti, le risposte tenderebbero asintoticamente al proprio valore di regime con un andamento esponenziale, privo di oscillazioni e, di conseguenza, sarebbero più simili alle corrispondenti risposte dell’ambiente ideale Gid e della funzione di trasferimento unitaria. Dunque, si impone che i poli del sistema di controllo in anello chiuso siano reali e distinti. In tali condizioni, come detto in precedenza, il polo dominante del sistema tende asintoticamente a quel- lo dell’ambiente ideale, mentre il polo più veloce si sposta verso frequenze sempre più elevate, al crescere di Kp. Inoltre, la funzione di trasferimento GFF presenta uno zero che coincide con il polo dell’ambiente ideale e, pertanto, all’aumentare del guadagno proporzionale, cancella maggiormente il polo dominante della medesima funzione di trasferimento. Quanto espresso lo si può osservare nella Fig.2.116, dove sono riportati gli andamenti, in funzione del guadagno proporzionale, dei due poli e dello zero del sistema di controllo in anello chiuso. In particolare, tali diagrammi sono stati tracciati considerando, come ambiente virtuale da simulare, un sistema molla - smorzatore caratterizzato da una rigidezza K pari a 90 N m e un coefficiente di smorzamento c pari a 7 Ns m . 216
  • 253.
    Progettazione del sistemadi controllo aptico in impedenza 0 1 2 3 4 5 6 7 8 9 10 Kp -180 -160 -140 -120 -100 -80 -60 -40 -20 0 20 Parte reale Parte immaginaria (a) Polo in alta frequenza 0 1 2 3 4 5 6 7 8 9 10 Kp -30 -25 -20 -15 -10 -5 0 Parte reale Parte immaginaria (b) Polo dominante 0 1 2 3 4 5 6 7 8 9 10 Kp -14 -12 -10 -8 -6 -4 -2 0 Parte reale Parte immaginaria (c) Zero Fig. 2.116: Poli e zero del sistema di controllo in anello chiuso, in funzione di Kp. 217
  • 254.
    Controllo in forza 10-2 10-1 100 101 102 103 f[Hz] -350 -300 -250 -200 -150 -100 Magnitude [dB] Gid GFX (Kp =0.01) GFX (Kp =0.1) GFX (Kp =1) GFX (Kp =5) 10-2 10-1 100 101 102 103 f [Hz] -180 -160 -140 -120 -100 -80 -60 -40 -20 0 Phase [deg] Gid GFX (Kp =0.01) GFX (Kp =0.1) GFX (Kp =1) GFX (Kp =5) Fig. 2.117: Diagramma di Bode di GFX, al variare di Kp. 10-3 10-2 10-1 100 101 102 103 f [Hz] -120 -100 -80 -60 -40 -20 0 Magnitude [dB] GFF (Kp =0.01) GFF (Kp =0.1) GFF (Kp =1) GFF (Kp =5) 10-3 10-2 10-1 100 101 102 103 f [Hz] -100 -90 -80 -70 -60 -50 -40 -30 -20 -10 0 10 Phase [deg] GFF (Kp =0.01) GFF (Kp =0.1) GFF (Kp =1) GFF (Kp =5) Fig. 2.118: Diagramma di Bode di GFF , al variare di Kp. Dunque, sulla base delle considerazioni appena svolte, si può dedurre che, al crescere del guadagno proporzionale, i diagrammi di Bode di GFX e GFF tendono ad appros- simare in modo sempre più preciso i corrispondenti diagrammi dell’ambiente ideale Gid e della funzione di trasferimento unitaria su un più ampio range di frequenze. Ciò lo si riscontra, effettivamente, nelle Fig.2.117 e Fig.2.118, dove sono rappresen- tati i diagrammi di Bode, di modulo e fase, delle funzioni di trasferimento GFX e GFF , per diversi valori del guadagno proporzionale. Pertanto, si può concludere che, impiegando un guadagno proporzionale sufficientemente elevato, il sistema di controllo in impedenza progettato per simulare un ambiente visco - elastico presenta 218
  • 255.
    Progettazione del sistemadi controllo aptico in impedenza delle ottime prestazioni. Tuttavia, come già mostrato in precedenza, non è possi- bile aumentare troppo il valore di Kp, in quanto causerebbe vibrazioni sul sistema. Inoltre, si può osservare che il valore soglia K∗ p del guadagno Kp, oltre il quale i poli del sistema di controllo in anello chiuso sono reali e distinti, può essere riscritto in funzione della frequenza naturale del sistema visco - elastico che si desidera simulare (2.80). A partire da tale relazione, si riscontra che, per ambienti visco - elastici con dinamiche molto veloci, il valore del guadagno Kp oltre il quale i poli del sistema sono reali e distinti è molto elevato e, di conseguenza, non è impiegabile sul sistema reale. Per esempio, nel caso di un sistema molla - smorzatore con c = 7 Ns m e K = 90 N m , che presenta una dinamica piuttosto lenta (frequenza naturale fn,id = 2.04 Hz), K∗ p risulta essere circa pari a 2.04, che è un valore piuttosto basso e impiegabile tran- quillamente sul sistema. Viceversa, nel caso di un ambiente visco - elastico definito da c = 2 Ns m e K = 250 N m , caratterizzato da una dinamica molto veloce (frequenza naturale fn,id = 40 Hz), K∗ p risulta essere circa pari a 412, che è un valore troppo elevato per poter essere utilizzato sul sistema reale. Pertanto, si può concludere che, per simulare ambienti visco - elastici con dinamiche veloci, utilizzando il sistema di controllo in impedenza in anello chiuso progettato, caratterizzato da un regolatore in forza di tipo proporzionale, è necessario adottare un valore del guadagno Kp tale per cui i poli del sistema di controllo in anello chiuso siano complessi coniugati. Di conseguenza, per tali ambienti virtuali, le risposte in posizione e in forza, ad uno scalino applicato in ingresso o all’imposizione di una condizione iniziale in posizione, del sistema in anello chiuso non presentano un andamento monotono crescente, ma tendono asintoticamente al proprio valore di regime con delle oscillazioni esponen- zialmente smorzate. Dunque, sulla base di quanto appena detto, si può concludere che il sistema di controllo in impedenza in anello chiuso progettato non può essere utilizzato per simulare in modo fedele e preciso il comportamento di ambienti visco - elastici caratterizzati da dinamiche molto veloci. K∗ p = 8 · π · fn,id c · meq − 1 (2.80) Analizzando le funzioni di trasferimento in anello chiuso GFX e GFF e svolgendo anche delle simulazioni in ambiente Simulink, si è studiato l’impiego di altri tipi 219
  • 256.
    Controllo in forza dicontrollori in forza, come, ad esempio, puramente integrativo, proporzionale - integrativo o proporzionale - derivativo. Tuttavia, non si sono riscontrati significativi miglioramenti in termini di prestazioni del sistema di controllo in anello chiuso, rispetto al caso di regolatore in forza di tipo puramente proporzionale. Pertanto, si è scelto di utilizzare quest’ultimo tipo di controllore in forza. Risultati sperimentali Per testare le prestazioni del sistema di controllo in anello chiuso progettato, ca- ratterizzato da un controllore in forza di tipo proporzionale, lo si è applicato al- l’interfaccia aptica a disposizione con l’obiettivo di simulare un ambiente visco - elastico, caratterizzato da una rigidezza K = 90 N m e un coefficiente di smorzamento c = 7 Ns m . Sono state svolte delle prove analoghe a quelle descritte in precedenza, discutendo dei risultati sperimentali per l’ambiente elastico simulato mediante con- trollo in impedenza. Nelle Fig.2.119,Fig.2.120, Fig.2.121 e Fig.2.122 sono riportati gli andamenti, in funzione del tempo, dello spostamento e della velocità lineare del manipolo, della forza esercitata dall’operatore su quest’ultimo e della forza generata dall’ambiente virtuale, durante lo svolgimento di una delle prove. Dato che un am- biente visco - elastico è un sistema dinamico, è significativo svolgere le prove a delle velocità lineari del manipolo abbastanza sostenute. Per esempio, dalla Fig.2.120 si può osservare che, durante la prova presa in esame, la velocità lineare del manipolo presenta dei picchi intorno ai 1.09 m s . In Fig.2.123 sono rappresentati sovrapposti gli andamenti, in funzione del tempo, delle forze Fop e Famb, mentre in Fig.2.124 è riportato l’andamento dell’errore in forza, valutato come la differenza tra la forza esercitata dall’operatore sul manipolo e la forza generata dall’ambiente virtuale. Dai diagrammi si riscontra che: • la forza massima applicata dall’operatore è pari a 46.27 N; • l’errore massimo in forza è pari a 6.89 N. Pertanto, si può concludere che l’errore percentuale massimo in forza è pari al 14.89 % della forza Fop massima. 220
  • 257.
    Progettazione del sistemadi controllo aptico in impedenza 0 5 10 15 20 25 30 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] Fig. 2.119: Spostamento del manipolo, durante la simulazione di un ambiente visco - elastico caratterizzato da: K = 90N m e c = 7Ns m 0 5 10 15 20 25 30 Time [s] -1.5 -1 -0.5 0 0.5 1 v [m/s] Fig. 2.120: Velocità lineare del manipolo, durante la simulazione di un ambiente visco - elastico caratterizzato da: K = 90N m e c = 7Ns m 221
  • 258.
    Controllo in forza 05 10 15 20 25 30 Time [s] -40 -30 -20 -10 0 10 20 30 40 50 F op [N] Fig. 2.121: Forza applicata dall’operatore sul manipolo, durante la simulazione di un ambiente visco - elastico caratterizzato da: K = 90N m e c = 7Ns m 0 5 10 15 20 25 30 Time [s] -40 -30 -20 -10 0 10 20 30 40 50 F amb [N] Fig. 2.122: Forza generata dall’ambiente virtuale, durante la simulazione di un ambiente visco - elastico caratterizzato da: K = 90N m e c = 7Ns m 222
  • 259.
    Progettazione del sistemadi controllo aptico in impedenza 0 5 10 15 20 25 30 Time [s] -40 -30 -20 -10 0 10 20 30 40 50 F [N] Famb Fop Fig. 2.123: Andamenti sovrapposti di Fop e Famb, durante la simulazione di un ambiente visco - elastico caratterizzato da: K = 90N m e c = 7Ns m 0 5 10 15 20 25 30 Time [s] -8 -6 -4 -2 0 2 4 6 err F [N] Fig. 2.124: Errore in forza, durante la simulazione di un ambiente visco - elastico carat- terizzato da: K = 90N m e c = 7Ns m 223
  • 260.
    Controllo in forza 05 10 15 20 25 30 Time [s] -0.6 -0.4 -0.2 0 0.2 0.4 0.6 x [m] Molla ideale Banchetto Fig. 2.125: Andamenti sovrapposti delle risposte in posizione di un ambiente visco - elastico, caratterizzato da: K = 90 N m e c = 7 Ns m , e dell’interfaccia aptica controllata in impedenza in anello chiuso. In Fig.2.125 sono rappresentati sovrapposti gli andamenti, in funzione del tempo, delle risposte dell’ambiente ideale considerato e dell’interfaccia aptica controllata mediante una strategia di controllo in impedenza in anello chiuso. In Fig.2.126 è riportato, invece, l’andamento, in funzione del tempo, dell’errore in posizione. Dai diagrammi si riscontra che: • lo spostamento massimo compiuto dal manipolo è pari a 0.50 m; • l’errore massimo in posizione è pari a 0.07 m. Pertanto, si può concludere che l’errore percentuale massimo in posizione è pari al 13.10 % dello spostamento massimo del manipolo. Per valutare l’effetto della velocità con cui viene mosso il manipolo sulle prestazioni del sistema di controllo, si è svolta la medesima prova spostando il l’end-effector con delle velocità molto più sostenute, con picchi intorno a 1.92 m s , quindi poco meno del doppio rispetto al caso precedente. 224
  • 261.
    Progettazione del sistemadi controllo aptico in impedenza 0 5 10 15 20 25 30 Time [s] -0.08 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 err x [m] Fig. 2.126: Errore in posizione, durante la simulazione di un ambiente visco - elastico caratterizzato da: k = 90N m e c = 7Ns m . In Fig.2.127, sono riportati i risultati sperimentali del test condotto. Si può osservare che: • la forza massima esercitata dall’operatore sul manipolo è pari a 48.95 N; • l’errore massimo in forza è pari a 9.37 N; • lo spostamento massimo compiuto dal manipolo è pari a 0.54 m; • l’errore massimo in posizione è pari a 0.08 m. Dunque, si può affermare che l’errore percentuale massimo in forza è pari al 19.14 % della massima forza Fop, mentre l’errore percentuale massimo in posizione è pari al 15.15 % del massimo spostamento del manipolo. Si nota che, in questo secondo caso, gli errori massimi percentuali in forza e in posizione sono più elevati, anche se di poco, rispetto al primo caso. Pertanto, si può concludere che, maggiore è la velocità con cui si muove il manipolo, più elevati sono gli errori percentuali massimi in posizione e in forza che vengono commessi. La ragione è la medesima osservata discutendo della simulazione di un ambiente visco - elastico mediante un controllo 225
  • 262.
    Controllo in forza inammettenza: muovendo il manipolo con velocità lineari più elevate, si applica in ingresso al sistema di controllo un riferimento in forza Fop con una dinamica più veloce. Di conseguenza, il sistema di controllo fa più fatica a seguire tale riferimento e, pertanto, gli errori che si commette sono più elevati. Per valutare come si modifi- cano le prestazioni del sistema di controllo in impedenza in anello chiuso progettato, al variare delle caratteristiche (c e K) dell’ambiente visco - elastico in esame, sono state eseguite numerose prove considerando diversi sistemi molla - smorzatore. Ad esempio, si è valutato come variano gli errori in posizione e in forza, cambiando il coefficiente di smorzamento dell’ambiente virtuale, a parità di rigidezza K. Nelle Fig.2.128, Fig.2.129,Fig.2.130 e Fig.2.131 sono riportati i risultati sperimentali delle prove svolte, due a velocità sostenute e due a velocità molto elevate, per simulare due ambienti visco - elastici caratterizzati dalla medesima rigidezza K (pari a 90 N m ) e da un diverso coefficiente di smorzamento c (20 Ns m e 1 Ns m ). Un’altra analisi inte- ressante che si è svolto è stata quella di studiare come variano gli errori in posizione e in forza, cambiando la rigidezza K dell’ambiente virtuale, a parità di coefficiente di smorzamento. Nelle Fig.2.132 e Fig.2.133 sono riportati i risultati sperimentali ottenuti nella simulazione di un ambiente visco - elastico con K = 45N m e c = 20N m , muovendo il manipolo, in un caso, con velocità sostenute e nell’altro con velocità molto elevate. Infine, per valutare quale dei due parametri c e K dell’ambiente ideale influenza maggiormente le performance del sistema di controllo sintetizzato, sono stati confrontati i risultati ottenuti nelle diverse prove svolte per simulare due ambienti visco - elastici caratterizzati da: • K = 90N m e c = 7Ns m ; • K = 150N m e c = 11.67Ns m (figure 2.134 e 2.135). I due ambienti presentano la medesima pulsazione naturale, pari a 12.86 rad s . Nella tabella 2.5 sono riportati i risultati sperimentali ottenuti, in termini di: massimo errore percentuale in forza, massimo errore percentuale in posizione e velocità linea- re massima di movimentazione del manipolo, nelle diverse prove svolte per simulare differenti ambienti visco - elastici. Innanzitutto, si può osservare che, a parità di rigi- dezza k e di velocità di movimentazione del manipolo, incrementando il coefficiente 226
  • 263.
    Progettazione del sistemadi controllo aptico in impedenza di smorzamento c dell’ambiente ideale da 7Ns m a 20Ns m , gli errori percentuali massimi in forza e in posizione diminuiscono e diventano molto contenuti. Pertanto, una pri- ma conclusione che si può trarre è che, maggiore è il coefficiente di smorzamento c dell’ambiente virtuale in esame, maggiori sono le prestazioni del sistema di controllo in anello chiuso progettato. Inoltre, si può notare che, riducendo il coefficiente di smorzamento c ad un valore pari a 1Ns m , la frequenza critica dell’ambiente ideale aumenta molto e diventa pari a 14.32Hz. Tale ambiente virtuale, quindi, presenta una dinamica molto più veloce rispetto ai precedenti. Tuttavia, gli errori percentuali massimi in posizione e in forza risultano essere di poco più elevati rispetto a quelli commessi nella simulazione di un ambiente visco - elastico con K = 90 N m e c = 7Ns m , il quale possiede una frequenza propria 7 volte più piccola e pari a 2.05Hz. Detto ciò, si può concludere che il sistema di controllo in impedenza in anello chiuso progettato è in grado di simulare, con discrete prestazioni, anche ambienti visco - elastici con dinamiche piuttosto veloci. Un altro aspetto che si può evidenziare è che, a parità di coefficiente c e di velocità di movimentazione del manipolo, dimezzando la rigidezza K dell’ambiente virtuale, gli errori percentuali massimi in posizione e in forza dimi- nuiscono leggermente. Si deduce quindi che minore è la rigidezza K dell’ambiente visco - elastico che si desidera simulare, maggiori sono le prestazioni del sistema. Infine, dalla tabella 2.5 si può notare che, a parità di rapporto K c , maggiori sono i coefficienti c e K, minori sono gli errori percentuali massimi in posizione e in forza che vengono commessi. Dunque, si può concludere che il parametro, che influenza maggiormente le prestazioni del sistema di controllo in impedenza in anello chiuso progettato, è il coefficiente di smorzamento c dell’ambiente ideale. 227
  • 264.
    Controllo in forza 05 10 15 20 25 Time [s] -0.6 -0.4 -0.2 0 0.2 0.4 0.6 x [m] (a) Spostamento manipolo 0 5 10 15 20 25 Time [s] -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 v [m/s] (b) Velocità manipolo 0 5 10 15 20 25 Time [s] -40 -30 -20 -10 0 10 20 30 40 50 F op [N] (c) Forza operatore 0 5 10 15 20 25 Time [s] -40 -30 -20 -10 0 10 20 30 40 50 F amb [N] Forza ambiente (k = 90, c = 7) (d) Forza ambiente 0 5 10 15 20 25 Time [s] -10 -8 -6 -4 -2 0 2 4 6 8 10 err F [N] (e) Errore in forza 0 5 10 15 20 25 Time [s] -0.1 -0.08 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 0.08 err x [m] (f) Errore in posizione Fig. 2.127: Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 90N m e c = 7Ns m , a velocità elevate 228
  • 265.
    Progettazione del sistemadi controllo aptico in impedenza 0 5 10 15 20 25 30 35 Time [s] -0.6 -0.4 -0.2 0 0.2 0.4 0.6 x [m] 0 5 10 15 20 25 30 35 Time [s] -1 -0.5 0 0.5 1 1.5 v [m/s] 0 5 10 15 20 25 30 35 Time [s] -40 -30 -20 -10 0 10 20 30 40 50 F op [N] 0 5 10 15 20 25 30 35 Time [s] -50 -40 -30 -20 -10 0 10 20 30 40 50 F amb [N] 0 5 10 15 20 25 30 35 Time [s] -5 -4 -3 -2 -1 0 1 2 3 4 err F [N] 0 5 10 15 20 25 30 35 Time [s] -0.04 -0.03 -0.02 -0.01 0 0.01 0.02 err x [m] Errore in posizione (k = 90, c = 20) Fig. 2.128: Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 90N m e c = 20Ns m , a velocità sostenute 229
  • 266.
    Controllo in forza 05 10 15 20 25 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] 0 5 10 15 20 25 Time [s] -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 v [m/s] 0 5 10 15 20 25 Time [s] -60 -40 -20 0 20 40 60 F op [N] 0 5 10 15 20 25 Time [s] -60 -40 -20 0 20 40 60 F amb [N] 0 5 10 15 20 25 Time [s] -5 -4 -3 -2 -1 0 1 2 3 4 err F [N] 0 5 10 15 20 25 Time [s] -0.03 -0.025 -0.02 -0.015 -0.01 -0.005 0 0.005 0.01 0.015 0.02 err x [m] Fig. 2.129: Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 90N m e c = 20Ns m , a velocità elevate 230
  • 267.
    Progettazione del sistemadi controllo aptico in impedenza 0 5 10 15 20 25 30 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] 0 5 10 15 20 25 30 Time [s] -1.5 -1 -0.5 0 0.5 1 1.5 v [m/s] 0 5 10 15 20 25 30 Time [s] -40 -30 -20 -10 0 10 20 30 40 F op [N] 0 5 10 15 20 25 30 Time [s] -50 -40 -30 -20 -10 0 10 20 30 40 50 F amb [N] 0 5 10 15 20 25 30 Time [s] -8 -6 -4 -2 0 2 4 6 8 err F [N] 0 5 10 15 20 25 30 Time [s] -0.1 -0.08 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 0.08 err x [m] Fig. 2.130: Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 90N m e c = 1Ns m , a velocità sostenute 231
  • 268.
    Controllo in forza 05 10 15 20 25 30 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] 0 5 10 15 20 25 30 Time [s] -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 v [m/s] 0 5 10 15 20 25 30 Time [s] -40 -30 -20 -10 0 10 20 30 40 F op [N] 0 5 10 15 20 25 30 Time [s] -50 -40 -30 -20 -10 0 10 20 30 40 50 F amb [N] 0 5 10 15 20 25 30 Time [s] -15 -10 -5 0 5 10 15 err F [N] 0 5 10 15 20 25 30 Time [s] -0.15 -0.1 -0.05 0 0.05 0.1 0.15 err x [m] Fig. 2.131: Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 90N m e c = 1Ns m , a velocità elevate 232
  • 269.
    Progettazione del sistemadi controllo aptico in impedenza 0 5 10 15 20 25 Time [s] -0.6 -0.4 -0.2 0 0.2 0.4 0.6 x [m] 0 5 10 15 20 25 Time [s] -1 -0.5 0 0.5 1 v [m/s] 0 5 10 15 20 25 Time [s] -30 -20 -10 0 10 20 30 40 F op [N] 0 5 10 15 20 25 Time [s] -30 -20 -10 0 10 20 30 40 F amb [N] 0 5 10 15 20 25 Time [s] -3 -2 -1 0 1 2 3 err F [N] 0 5 10 15 20 25 Time [s] -0.025 -0.02 -0.015 -0.01 -0.005 0 0.005 0.01 0.015 0.02 err x [m] Fig. 2.132: Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 45N m e c = 20Ns m , a velocità sostenute 233
  • 270.
    Controllo in forza 05 10 15 20 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] 0 5 10 15 20 Time [s] -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 v [m/s] 0 5 10 15 20 Time [s] -50 -40 -30 -20 -10 0 10 20 30 40 50 F op [N] 0 5 10 15 20 Time [s] -50 -40 -30 -20 -10 0 10 20 30 40 50 F amb [N] 0 5 10 15 20 Time [s] -5 -4 -3 -2 -1 0 1 2 3 4 err F [N] 0 5 10 15 20 Time [s] -0.025 -0.02 -0.015 -0.01 -0.005 0 0.005 0.01 0.015 0.02 0.025 err x [m] Fig. 2.133: Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 45N m e c = 20Ns m , a velocità elevate 234
  • 271.
    Progettazione del sistemadi controllo aptico in impedenza 0 5 10 15 20 25 30 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] 0 5 10 15 20 25 30 Time [s] -1 -0.5 0 0.5 1 v [m/s] 0 5 10 15 20 25 30 Time [s] -80 -60 -40 -20 0 20 40 60 80 F op [N] 0 5 10 15 20 25 30 Time [s] -80 -60 -40 -20 0 20 40 60 80 F amb [N] 0 5 10 15 20 25 30 Time [s] -8 -6 -4 -2 0 2 4 6 err F [N] 0 5 10 15 20 25 30 Time [s] -0.04 -0.03 -0.02 -0.01 0 0.01 0.02 0.03 0.04 err x [m] Fig. 2.134: Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 150N m e c = 11.67Ns m , a velocità basse 235
  • 272.
    Controllo in forza 05 10 15 20 25 30 35 Time [s] -0.6 -0.4 -0.2 0 0.2 0.4 0.6 x [m] 0 5 10 15 20 25 30 35 Time [s] -1 -0.5 0 0.5 1 v [m/s] 0 5 10 15 20 25 30 35 Time [s] -80 -60 -40 -20 0 20 40 60 80 F op [N] 0 5 10 15 20 25 30 35 Time [s] -80 -60 -40 -20 0 20 40 60 80 F amb [N] 0 5 10 15 20 25 30 35 Time [s] -10 -8 -6 -4 -2 0 2 4 6 8 err F [N] 0 5 10 15 20 25 30 35 Time [s] -0.06 -0.05 -0.04 -0.03 -0.02 -0.01 0 0.01 0.02 0.03 0.04 err x [m] Fig. 2.135: Risultati sperimentali della simulazione di un ambiente visco - elastico con K = 150N m e c = 11.67Ns m , a velocità sostenute 236
  • 273.
    Progettazione del sistemadi controllo aptico in impedenza K K K [N m ] [N m ] [N m ] c c c [Ns m ] [Ns m ] [Ns m ] ωn ωn ωn [rad s ] [rad s ] [rad s ] fn fn fn [Hz] [Hz] [Hz] ẋmax ẋmax ẋmax [m s ] [m s ] [m s ] errF errF errF [%] [%] [%] errx errx errx [%] [%] [%] Kp Kp Kp 90 7 12.86 2.05 1.09 14.89 13.10 17 90 7 12.86 2.05 1.92 19.14 15.15 17 90 20 4.50 0.72 1.01 8.98 6.15 35 90 20 4.50 0.72 2.31 9.03 6.03 35 90 1 90 14.32 1.04 17.66 16.93 15 90 1 90 14.32 2.09 22.31 23.28 15 45 20 2.25 0.36 1.37 7.97 4.59 40 45 20 2.25 0.36 2.42 9.15 4.84 40 150 11.67 12.86 2.05 1.18 9.91 8.17 25 150 11.67 12.86 2.05 2.18 13.06 11.05 25 Tabella 2.5: Risultati sperimentali delle prove svolte per simulare differenti ambienti visco - elastici Conclusioni Il sistema di controllo in impedenza in anello chiuso sintetizzato presenta delle ot- time prestazioni; permette infatti di riprodurre in modo fedele e con un realistico ritorno in forza il comportamento di un ampia gamma di ambienti visco - elastici, anche di quelli caratterizzati da una dinamica piuttosto veloce. In particolare, mag- giore è lo smorzamento c e minore è la rigidezza K dell’ambiente ideale in esame, migliori sono le prestazioni del sistema di controllo. Inoltre, si ottengono dei buoni risultati, in termini di errori in posizione e in forza, anche movimentando il manipolo dell’interfaccia aptica con velocità molto elevate, con picchi intorno ai 2.2 − 2.3m s . 237
  • 274.
    Controllo in forza 2.3.3Ambiente completo Adottando la strategia di controllo in impedenza in anello chiuso per simulare il comportamento di un ambiente completo, le funzioni di trasferimento GFX e GFF sono espresse dalle relazioni (2.81) e (2.82). GFX = Rf · meq s2 1 + (ms2 + cs + k) · (1 + Rf ) · meq s2 (2.81) GFF = Rf · (m · s2 + cs + k) · meq s2 1 + (ms2 + cs + k) · (1 + Rf ) · meq s2 (2.82) Sintesi del regolatore in forza Per la sintesi del regolatore in forza si assume come ambiente ideale di riferimento un sistema massa - molla - smorzatore caratterizzato da: • m = 3 kg; • c = 1 Ns m ; • k = 50 N m . Si consideri, innanzitutto, di impiegare un controllore in forza di tipo puramente proporzionale. In tal caso, GFX e GFF sono descritte dalle formule (2.83) e (2.84). GFX = Kp ( 1 meq + m + m · Kp)s2 + c · (1 + Kp)s + k · (1 + Kp) (2.83) GFF = Kp · (ms2 + cs + k) ( 1 meq + m + m · Kp)s2 + c · (1 + Kp)s + k · (1 + Kp) (2.84) µGF X = KP k · (1 + KP ) (2.85) µGF F = KP (1 + KP ) (2.86) Esse sono due funzioni di trasferimento con due poli e, rispettivamente, nessuno e due zeri. I due poli hanno parte reale strettamente negativa per qualsiasi valore del guadagno proporzionale, pertanto, il sistema di controllo in anello chiuso risulta sempre asintoticamente stabile. Per quanto riguarda il comportamento statico, come tipicamente avviene quando si impiega un controllore in forza di tipo puramente 238
  • 275.
    Progettazione del sistemadi controllo aptico in impedenza proporzionale, GFX e GFF possiedono dei guadagni statici descritti dalle formule (2.85) e (2.86), i quali sono diversi da quelli, rispettivamente, dell’ambiente ideale Gid e della funzione di trasferimento unitaria. Tuttavia, facendo tendere Kp ad infinito, l’errore in termini di guadagno statico delle funzioni di trasferimento in anello chiuso tende asintoticamente a zero. Relativamente, invece, il comportamento dinamico, i poli del sistema di controllo in anello chiuso sono caratterizzati da una pulsazione naturale ωn,p e uno smorzamento xip espressi, rispettivamente, dalle formule (2.87) e (2.88). ωn,p = s k · (1 + Kp) 1 meq + m + m · Kp (2.87) ξp = c 2 √ k s 1 + Kp 1 meq + m + m · Kp (2.88) La funzione di trasferimento Gid dell’ambiente completo in esame presenta due poli complessi coniugati, caratterizzati da uno smorzamento ξid = 0.041 e una pulsazione naturale ωn,id = 4.08 rad s . Dato che la funzione di trasferimento GFX del sistema di controllo in anello chiuso deve riprodurre nel modo più preciso e fedele possibile il comportamento di Gid, è necessario che anch’essa presenti due poli complessi coniugati, proprio come l’ambiente ideale considerato. In Fig.2.136 sono riportati gli andamenti della pulsazione naturale e dello smorzamento dei poli del sistema di controllo in anello chiuso, in funzione del guadagno proporzionale del regolatore in forza. Dai grafici si può osservare che: • lo smorzamento ξp è compreso tra 0 e 1 e, quindi, i poli del sistema di controllo in anello chiuso sono complessi coniugati, per qualsiasi valore del guadagno Kp; • la pulsazione naturale ωn,p tende asintoticamente alla pulsazione propria ωn,id dell’ambiente ideale Gid considerato, al crescere del guadagno proporzionale; • lo smorzamento ξp tende asintoticamente allo smorzamento ξid dei poli com- plessi coniugati dell’ambiente ideale Gid considerato, al crescere del guadagno proporzionale. Pertanto, sulla base delle considerazioni svolte, si può prevedere che il diagramma di Bode di GFX tenda asintoticamente a coincidere con il corrispondente grafico 239
  • 276.
    Controllo in forza 010 20 30 40 50 60 70 80 90 100 Kp 3.8 3.85 3.9 3.95 4 4.05 4.1 n Ideale Sistema (a) Pulsazione naturale 0 10 20 30 40 50 60 70 80 90 100 Kp 0.038 0.0385 0.039 0.0395 0.04 0.0405 0.041 Ideale Sistema (b) Smorzamento Fig. 2.136: Pulsazione naturale e smorzamento dei poli del sistema di controllo in impe- denza anello chiuso, in funzione del guadagno proporzionale Kp. dell’ambiente ideale Gid, al crescere del guadagno Kp. Ciò lo si riscontra, effettiva- mente, in Fig.2.137, dove è rappresentato il diagramma di Bode della funzione di trasferimento, per diversi valori del guadagno proporzionale. Per quanto riguarda invece GFF , presenta anche due zeri, i quali coincidono con i due poli dell’ambiente ideale che si desidera simulare. Dato che, come precedentemente detto, i due poli del sistema di controllo in anello chiuso tendono asintoticamente ai due poli di Gid, accade che i due zeri di GFF tendono a cancellare maggiormente i due poli della medesima funzione, al crescere del guadagno proporzionale. Pertanto, si può pre- vedere che il diagramma di Bode di GFF tenda a riprodurre in modo più preciso il corrispondente diagramma della funzione di trasferimento unitaria, al crescere del guadagno proporzionale del regolatore in forza. Ciò lo si riscontra, effettivamente, in Fig.2.138, dove è rappresentato il diagramma di Bode della suddetta funzione di trasferimento, per diversi valori del guadagno Kp. 240
  • 277.
    Progettazione del sistemadi controllo aptico in impedenza 10-1 100 f [Hz] -220 -200 -180 -160 -140 -120 -100 -80 -60 -40 -20 Magnitude [dB] Gid GFX (Kp = 0.01) GFX (Kp = 1) GFX (Kp = 10) 0.4 0.5 0.6 0.7 0.8 0.9 1 f [Hz] -180 -160 -140 -120 -100 -80 -60 -40 -20 0 Phase [deg] Gid GFX (Kp = 0.01) GFX (Kp = 1) GFX (Kp = 10) Fig. 2.137: Diagramma di Bode di GFX, per diversi valori del guadagno proporzionale Kp. 10-1 100 f [Hz] -15 -10 -5 0 5 10 15 Magnitude [dB] GFF (Kp = 0.01) GFF (Kp = 1) GFF (Kp = 10) (a) Modulo 0.4 0.5 0.6 0.7 0.8 0.9 1 f [Hz] -100 -90 -80 -70 -60 -50 -40 -30 -20 -10 0 10 Phase [deg] GFF (Kp = 0.01) GFF (Kp = 1) GFF (Kp = 10) (b) Fase Fig. 2.138: Diagramma di Bode di GFF , per diversi valori del guadagno proporzionale Kp. 241
  • 278.
    Controllo in forza Sipuò concludere che, impiegando un guadagno proporzionale Kp sufficientemente elevato, il sistema di controllo in impedenza in anello chiuso progettato, caratte- rizzato da un controllore in forza di tipo puramente proporzionale e impiegato per simulare un ambiente completo, presenta delle ottime prestazioni. Esso, infatti, è in grado di simulare in modo fedele il comportamento dell’ambiente ideale consi- derato e di fornire all’operatore un ritorno in forza approssimativamente pari alla forza generata dall’ambiente virtuale. Il limite dell’approccio impiegato è che, come già sottolineato in precedenza, non è possibile utilizzare un valore molto elevato del guadagno Kp, qualora si applichi il presente sistema di controllo all’interfaccia aptica a disposizione poichè tenderebbe a vibrare e quindi instabilizzarsi. Per migliorare le prestazioni del sistema di controllo in impedenza in anello chiuso e risolvere, per esempio, il problema del guadagno statico, si può introdurre una componente in- tegrativa, in aggiunta a quella proporzionale, nel regolatore in forza. Pertanto, si analizza ora l’impiego di un controllore in forza di tipo proporzionale - integrale. In tal caso, GFX e GFF sono descritte dalle formule (2.89) e (2.90). GFX = Kps + KI s3( 1 meq + m + m · Kp) + s2(c + c · Kp + m · KI) + s(k + k · Kp + c · KI) + k · KI (2.89) GFF = (Kps + KI)(ms2 + cs + k) s3( 1 meq + m + m · Kp) + s2(c + c · Kp + m · KI) + s(k + k · Kp + c · KI) + k · KI (2.90) GFX e GFF sono due funzioni di trasferimento con tre poli e, rispettivamente, uno e tre zeri. I poli hanno tutti parte reale strettamente negativa per qualsiasi valore dei due guadagni del regolatore in forza. Pertanto, il sistema di controllo in anello chiu- so è asintoticamente stabile, per qualsiasi valore di Kp e KI. Per quanto riguarda il comportamento statico, l’introduzione di una componente integrativa nel regolatore in forza rende i guadagni statici delle due funzioni di trasferimento pari, rispettiva- mente, a quelli di Gid e della funzione di trasferimento unitaria, come desiderato. Per quanto riguarda il comportamento dinamico, si può osservare che, per qualsiasi valore di Kp e KI, GFX presenta: • due poli complessi coniugati; • un polo reale; 242
  • 279.
    Progettazione del sistemadi controllo aptico in impedenza • uno zero reale che tende a cancellare il polo reale. Pertanto, si può interpretare la funzione di trasferimento come costituita da due poli complessi coniugati e nessuno zero, proprio come il sistema ideale preso in considera- zione. Inoltre, si riscontra che, a parità di parametro Kp ed al crescere del guadagno integrativo, i due poli complessi coniugati tendono asintoticamente a coincidere con quelli dell’ambiente ideale Gid, preso in considerazione. Lo stesso comportamento dei poli complessi coniugati del sistema in anello chiuso lo si ha mantenendo co- stante il guadagno integrativo e aumentando progressivamente quello proporzionale. Quanto affermato lo si può riscontrare nelle Fig.2.139 e Fig.2.140, dove sono rappre- sentanti gli andamenti della pulsazione naturale e dello smorzamento dei due poli complessi coniugati, del polo e dello zero reale di GFX, in funzione, rispettivamente, di Kp e KI. Dall’analisi svolta si può prevedere che, al crescere dei due guadagni del regolatore in forza, il diagramma di Bode di GFX approssimi il corrispondente diagramma di Gid in modo più preciso e su un più ampio range di frequenze. Ciò lo si riscontra, effettivamente, nelle Fig.2.141 e Fig.2.142, dove è rappresentato il dia- gramma di Bode della funzione di trasferimento, per diversi valori, rispettivamente, di Kp e di KI. La funzione di trasferimento GFF presenta i medesimi poli di GFX e possiede, inoltre, tre zeri, i quali sono: • uno reale in z = −Ki Kp , che coincide con lo zero di GFX; • due complessi coniugati, i quali coincidono con i due poli dell’ambiente ideale Gid preso in considerazione. Siccome i due poli complessi coniugati di GFF si spostano asintoticamente verso quelli dell’ambiente ideale, i due zeri della funzione di trasferimento tendono a can- cellare sempre di più i suoi due poli complessi coniugati, al crescere di Kp e di KI. Pertanto, si può prevedere che, all’incrementare dei due guadagni del controllore in forza, il diagramma di Bode di GFF approssimi su un più ampio range di frequen- ze il corrispondente diagramma della funzione di trasferimento unitaria. Ciò lo si riscontra, effettivamente, nelle Fig.2.143 e Fig.2.144, dove è riportato il diagramma di Bode di GFF , per diversi valori, rispettivamente, di Kp e di KI. 243
  • 280.
    Controllo in forza 010 20 30 40 50 60 70 80 90 100 Ki -50 -45 -40 -35 -30 -25 -20 -15 -10 -5 0 Zero reale Polo reale (a) Polo e zero reali 0 10 20 30 40 50 60 70 80 90 100 Ki 3.94 3.96 3.98 4 4.02 4.04 4.06 4.08 4.1 n Ideale Sistema (b) Pulsazione naturale 0 10 20 30 40 50 60 70 80 90 100 Ki 0.022 0.024 0.026 0.028 0.03 0.032 0.034 0.036 0.038 0.04 0.042 n Ideale Sistema (c) Smorzamento Fig. 2.139: Andamenti del polo reale, dello zero, della pulsazione naturale e dello smor- zamento dei poli complessi coniugati di GFX, in funzione di Ki e per Kp = 1. 244
  • 281.
    Progettazione del sistemadi controllo aptico in impedenza 0 10 20 30 40 50 60 70 80 90 100 Kp -1 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0 Zero reale Polo reale (a) Polo e zero reali 0 10 20 30 40 50 60 70 80 90 100 Kp 3.8 3.85 3.9 3.95 4 4.05 4.1 n Ideale Sistema (b) Pulsazione naturale 0 10 20 30 40 50 60 70 80 90 100 Kp 0.022 0.024 0.026 0.028 0.03 0.032 0.034 0.036 0.038 0.04 0.042 n Ideale Sistema (c) Smorzamento Fig. 2.140: Andamenti del polo reale, dello zero, della pulsazione naturale e dello smor- zamento dei poli complessi coniugati di GFX, in funzione di Kp e per Ki = 1. 245
  • 282.
    Controllo in forza 10-1 100 f[Hz] -220 -200 -180 -160 -140 -120 -100 -80 -60 -40 -20 Magnitude [dB] Gid GFX (Kp = 0.01) GFX (Kp = 1) GFX (Kp = 10) (a) Modulo 10-1 100 101 f [Hz] -250 -200 -150 -100 -50 0 Phase [deg] Gid GFX (Kp = 0.01) GFX (Kp = 1) GFX (Kp = 10) (b) Fase Fig. 2.141: Diagramma di Bode di GFX, per diversi valori di Kp e per Ki = 1. 10-1 100 101 f [Hz] -220 -200 -180 -160 -140 -120 -100 -80 -60 -40 -20 Magnitude [dB] Gid GFX (Ki = 1) GFX (Ki = 10) GFX (Ki = 50) (a) Modulo 10-1 100 101 f [Hz] -250 -200 -150 -100 -50 0 Phase [deg] Gid GFX (Ki = 1) GFX (Ki = 10) GFX (Ki = 50) (b) Fase Fig. 2.142: Diagramma di Bode di GFX, per diversi valori di Ki e per Kp = 1. 246
  • 283.
    Progettazione del sistemadi controllo aptico in impedenza 10-1 100 101 f [Hz] -15 -10 -5 0 5 10 15 20 Magnitude [dB] GFF (Kp = 0.1) GFF (Kp = 1) GFF (Kp = 10) (a) Modulo 0.4 0.5 0.6 0.7 0.8 0.9 1 f [Hz] -90 -80 -70 -60 -50 -40 -30 -20 -10 0 10 Phase [deg] GFF (Kp = 0.1) GFF (Kp = 1) GFF (Kp = 10) (b) Fase Fig. 2.143: Diagramma di Bode di GFF , per diversi valori di Kp e per Ki = 1. 10-1 100 101 f [Hz] -8 -6 -4 -2 0 2 4 6 8 10 12 Magnitude [dB] GFF (Ki = 1) GFF (Ki = 10) GFF (Ki = 50) (a) Modulo 0.4 0.5 0.6 0.7 0.8 0.9 1 f [Hz] -50 -40 -30 -20 -10 0 10 Phase [deg] GFF (Ki = 1) GFF (Ki = 10) GFF (Ki = 50) (b) Fase Fig. 2.144: Diagramma di Bode di GFF , per diversi valori di Ki e per Kp = 1. 247
  • 284.
    Controllo in forza Pertanto,dall’analisi svolta si può concludere che, maggiori sono i guadagni propor- zionale ed integrale del regolatore in forza, migliori sono le prestazioni del sistema di controllo in impedenza in anello chiuso progettato. Tuttavia, come già sottolineato, simulando un ambiente completo sul banco di prova a disposizione, non risulta pos- sibile incrementare eccessivamente i parametri Kp e KI in quanto il sistema tende a instabilizzarsi. 248
  • 285.
    Progettazione del sistemadi controllo aptico in impedenza 0 5 10 15 20 25 30 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] Fig. 2.145: Spostamento del manipolo, durante la simulazione di un ambiente completo caratterizzato da: m = 3Kg, c = 1Ns m e k = 50N m Risultati sperimentali Per testare le prestazioni del sistema di controllo in anello chiuso appena progettato, caratterizzato da un controllore in forza di tipo proporzionale - integrale, lo si applica all’interfaccia aptica a disposizione allo scopo di simulare un ambiente completo, costituito da una massa m = 3 Kg, un coefficiente di smorzamento c = 1 Ns m e una rigidezza k = 50 N m . Sono state svolte delle prove analoghe a quelle descritte in precedenza, in cui si è mosso più volte il manipolo avanti e indietro tra i due fine corsa dell’interfaccia e sono state misurate e/o calcolate una serie di grandezze, quali lo spostamento, la velocità e l’accelerazione lineare del manipolo, la forza operatore e la forza ambiente, i cui andamenti, in funzione del tempo, ottenuti durante una delle suddette prove, sono riportati nelle Fig.2.145, Fig.2.146, Fig.2.147, 2.148 e Fig.2.149. Essendo un ambiente completo un sistema dinamico, è significativo svolgere le prove a delle velocità e accelerazioni lineari abbastanza sostenute. Per esempio, dalle Fig.2.146 e Fig.2.147 si può osservare che, durante la prova presa in esame, la velocità e l’accelerazione lineare del manipolo presentano dei picchi, rispettivamente, attorno a 0.97 m s e 3.58 m s2 . 249
  • 286.
    Controllo in forza 05 10 15 20 25 30 Time [s] -1 -0.5 0 0.5 1 v [m/s] Fig. 2.146: Velocità del manipolo, durante la simulazione di un ambiente completo ca- ratterizzato da: m = 3Kg, c = 1Ns m e k = 50N m 0 5 10 15 20 25 30 Time [s] -4 -3 -2 -1 0 1 2 3 a [m/s 2 ] Fig. 2.147: Accelerazione del manipolo, durante la simulazione di un ambiente completo caratterizzato da: m = 3Kg, c = 1Ns m e k = 50N m 250
  • 287.
    Progettazione del sistemadi controllo aptico in impedenza 0 5 10 15 20 25 30 Time [s] -25 -20 -15 -10 -5 0 5 10 15 20 25 F op [N] Fig. 2.148: Forza applicata dall’operatore sul manipolo, durante la simulazione di un ambiente completo caratterizzato da: m = 3Kg, c = 1Ns m e k = 50N m 0 5 10 15 20 25 30 Time [s] -25 -20 -15 -10 -5 0 5 10 15 20 25 F amb [N] Fig. 2.149: Forza generata dall’ambiente virtuale, durante la simulazione di un ambiente completo caratterizzato da: m = 3Kg, c = 1Ns m e k = 50N m . 251
  • 288.
    Controllo in forza 05 10 15 20 25 30 Time [s] -25 -20 -15 -10 -5 0 5 10 15 20 25 F [N] Famb Fop Fig. 2.150: Andamenti sovrapposti di Fop e Famb, durante la simulazione di un ambiente completo caratterizzato da: m = 3Kg, c = 1Ns m e k = 50N m . In Fig.2.150 sono rappresentati sovrapposti gli andamenti, in funzione del tempo, delle forze Fop e Famb, mentre in Fig.2.151 è riportato l’andamento dell’errore in forza, valutato come la differenza tra la forza esercitata dall’operatore sul manipolo e la forza generata dall’ambiente virtuale. Dai diagrammi si riscontra che: • la forza massima applicata dall’operatore è pari a 21.34 N; • l’errore massimo in forza è pari a 3.18 N. Pertanto, si può concludere che l’errore massimo in forza risulta essere pari al 14.93% della forza Fop massima. 252
  • 289.
    Progettazione del sistemadi controllo aptico in impedenza 0 5 10 15 20 25 30 Time [s] -3 -2 -1 0 1 2 3 4 err F [N] Fig. 2.151: Errore in forza, durante la simulazione di un ambiente completo caratteriz- zato da: m = 3Kg, c = 1Ns m e k = 50N m . In Fig.2.152 sono rappresentati sovrapposti gli andamenti, in funzione del tempo, delle risposte dell’ambiente ideale considerato e dell’interfaccia aptica controllata mediante una strategia di controllo in impedenza in anello chiuso. In Fig.2.153 è riportato, invece,l’errore in posizione, in funzione del tempo. Dai diagrammi si riscontra che: • lo spostamento massimo compiuto dal manipolo è pari a 0.46 m; • l’errore massimo in posizione è pari a 0.09 m. Pertanto, si può concludere che l’errore massimo in posizione risulta essere pari al 20.13% dello spostamento massimo del manipolo. 253
  • 290.
    Controllo in forza 05 10 15 20 25 30 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] Molla ideale Banchetto Fig. 2.152: Andamenti sovrapposti delle risposte in posizione di un ambiente completo, caratterizzato da: m = 3Kg, c = 1Ns m e k = 50N m , e dell’interfaccia aptica controllata in impedenza in anello chiuso. 0 5 10 15 20 25 30 Time [s] -0.1 -0.08 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 0.08 0.1 err x [m] Fig. 2.153: Errore in posizione, durante la simulazione di un ambiente completo carat- terizzato da: m = 3Kg, c = 1Ns m e k = 50N m . 254
  • 291.
    Progettazione del sistemadi controllo aptico in impedenza Simulando mediante l’interfaccia aptica il medesimo ambiente e movimentando, però, il manipolo con delle velocità lineari più elevate, si è riscontrato che gli errori percentuali massimi in posizione e in forza aumentano, coerentemente con quanto ci si aspetta. Infatti, come già detto, più rapidamente si muove il manipolo, più veloce è la dinamica della forza operatore applicata in ingresso al sistema in anello chiuso e, pertanto, maggiore è l’errore commesso da quest’ultimo nell’inseguire tale segnale di riferimento. In particolare, movimentando il manipolo con delle velocità molto elevate, con picchi intorno ai 2−2.5 m s , gli errori percentuali massimi in forza e, soprattutto, in posizione risultano essere molto alti e, pertanto, non accettabili. Per valutare come variano le prestazioni del sistema di controllo in impedenza in anello chiuso in funzione delle caratteristiche (m, c e k) dell’ambiente ideale, sono state effettuate numerose prove in cui si è simulato differenti ambienti virtuali. Per esempio, un’analisi condotta consiste nel fissare due dei tre parametri, che caratte- rizzano l’ambiente ideale, far variare il terzo e valutare, in tali condizioni, i massimi errori percentuali in forza e in posizione commessi. 255
  • 292.
    Controllo in forza NelleFig.2.154, Fig.2.155, Fig.2.156, Fig.2.157 e Fig.2.158 sono riportati i risultati sperimentali delle prove, a velocità sostenute e a velocità molto elevate. Un’altra analisi condotta è stata quella di valutare quali tra i due parametri m e k influenza maggiormente le prestazioni del sistema di controllo in ammettenza in anello chiu- so. Per fare ciò, si è fissato il coefficiente di smorzamento c e si è variato gli altri due parametri, mantenendo, però, costante il loro rapporto k m . Nelle Fig.2.159 e Fig.2.160 sono riportati i risultati sperimentali delle simulazioni eseguite a velocità, rispettivamente, sostenute e molto elevate. Nella tabella 2.6 sono riassunte le nove prove svolte sull’interfaccia aptica a disposizione, in termini di massima velocità e accelerazione lineare del manipolo ed errori percentuali massimi in posizione e in for- za. In primo luogo, si può osservare che, aumentando il coefficiente di smorzamento c e fissando gli altri parametri, si riducono gli errori percentuali massimi in posizione e in forza, a parità di velocità di movimentazione del manipolo. Allo stesso modo, si riscontra che, mantenendo costanti i coefficienti c e m ed incrementando la rigidezza k, gli errori percentuali massimi si riducono, sempre a parità di velocità lineare del manipolo. In particolare, dai risultati ottenuti, si può osservare che, tra i parametri c e k, quello che influenza maggiormente le prestazioni del sistema di controllo in ammettenza in anello chiuso progettato è la rigidezza dell’ambiente ideale. Infatti, si può notare che triplicando quest’ultimo parametro, gli errori percentuali massimi in posizione e forza diminuiscono più di quanto non facciano incrementando di dieci volte il coefficiente di smorzamento c. Viceversa, si è osservato che, a parità di: rigidezza k, coefficiente di smorzamento c e di velocità ẋ, raddoppiando la massa m, l’errore percentuale massimo in forza aumenta e diventa pari a 30.84%, mentre l’errore percentuale massimo in posizione risulta essere pari a 52.52%: tali valori non chiaramente sono accettabili. Infine, dalla tabella 2.6 si evince che, triplicando sia la massa sia la rigidezza k e mantenendo costante il coefficiente di smorzamento c del- l’ambiente ideale, gli errori percentuali massimi in posizione e in forza aumentano, a parità di velocità di movimentazione del manipolo. Pertanto, si può dedurre che, tra i due parametri, quello che influenza maggiormente le performance del sistema di controllo in impedenza in anello chiuso è la massa m dell’ambiente virtuale che si desidera simulare. 256
  • 293.
    Progettazione del sistemadi controllo aptico in impedenza 0 5 10 15 20 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] (a) Spostamento manipolo 0 5 10 15 20 Time [s] -1.5 -1 -0.5 0 0.5 1 1.5 v [m/s] (b) Velocità manipolo 0 5 10 15 20 Time [s] -25 -20 -15 -10 -5 0 5 10 15 20 F op [N] (c) Forza operatore 0 5 10 15 20 Time [s] -25 -20 -15 -10 -5 0 5 10 15 20 F amb [N] (d) Forza ambiente 0 5 10 15 20 Time [s] -3 -2 -1 0 1 2 3 err F [N] (e) Errore in forza 0 5 10 15 20 Time [s] -0.04 -0.03 -0.02 -0.01 0 0.01 0.02 0.03 0.04 err x [m] (f) Errore in posizione Fig. 2.154: Risultati sperimentali della simulazione di un ambiente completo con m = 3Kg, c = 10Ns m e k = 50N m , a velocità sostenute. 257
  • 294.
    Controllo in forza 02 4 6 8 10 12 14 16 18 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] (a) Spostamento manipolo 0 2 4 6 8 10 12 14 16 18 Time [s] -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 v [m/s] (b) Velocità manipolo 0 2 4 6 8 10 12 14 16 18 Time [s] -30 -20 -10 0 10 20 30 40 F op [N] (c) Forza operatore 0 2 4 6 8 10 12 14 16 18 Time [s] -30 -20 -10 0 10 20 30 F amb [N] (d) Forza ambiente 0 2 4 6 8 10 12 14 16 18 Time [s] -4 -3 -2 -1 0 1 2 3 4 err F [N] (e) Errore in forza 0 2 4 6 8 10 12 14 16 18 Time [s] -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 err x [m] (f) Errore in posizione Fig. 2.155: Risultati sperimentali della simulazione di un ambiente completo con m = 3Kg, c = 10Ns m e k = 50N m , a velocità elevate. 258
  • 295.
    Progettazione del sistemadi controllo aptico in impedenza 0 5 10 15 20 25 30 35 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] (a) Spostamento manipolo 0 5 10 15 20 25 30 35 Time [s] -1.5 -1 -0.5 0 0.5 1 1.5 v [m/s] (b) Velocità manipolo 0 5 10 15 20 25 30 35 Time [s] -20 -15 -10 -5 0 5 10 15 20 25 F op [N] (c) Forza operatore 0 5 10 15 20 25 30 35 Time [s] -20 -15 -10 -5 0 5 10 15 20 25 F amb [N] (d) Forza ambiente 0 5 10 15 20 25 30 35 Time [s] -6 -4 -2 0 2 4 6 8 err F [N] (e) Errore in forza 0 5 10 15 20 25 30 35 Time [s] -0.3 -0.2 -0.1 0 0.1 0.2 0.3 err x [m] (f) Errore in posizione Fig. 2.156: Risultati sperimentali della simulazione di un ambiente completo con m = 6Kg, c = 1Ns m e k = 50N m , a velocità sostenute. 259
  • 296.
    Controllo in forza 05 10 15 20 25 30 35 40 45 Time [s] -0.6 -0.4 -0.2 0 0.2 0.4 0.6 x [m] (a) Spostamento manipolo 0 5 10 15 20 25 30 35 40 45 Time [s] -1.5 -1 -0.5 0 0.5 1 1.5 v [m/s] (b) Velocità manipolo 0 5 10 15 20 25 30 35 40 45 Time [s] -60 -40 -20 0 20 40 60 80 F op [N] (c) Forza operatore 0 5 10 15 20 25 30 35 40 45 Time [s] -60 -40 -20 0 20 40 60 80 F amb [N] (d) Forza ambiente 0 5 10 15 20 25 30 35 40 45 Time [s] -4 -3 -2 -1 0 1 2 3 4 err F [N] (e) Errore in forza 0 5 10 15 20 25 30 35 40 45 Time [s] -0.05 -0.04 -0.03 -0.02 -0.01 0 0.01 0.02 0.03 0.04 0.05 err x [m] (f) Errore in posizione Fig. 2.157: Risultati sperimentali della simulazione di un ambiente completo con m = 3Kg, c = 1Ns m e k = 150N m , a velocità sostenute. 260
  • 297.
    Progettazione del sistemadi controllo aptico in impedenza 0 5 10 15 20 25 30 Time [s] -0.6 -0.4 -0.2 0 0.2 0.4 0.6 x [m] (a) Spostamento manipolo 0 5 10 15 20 25 30 Time [s] -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 v [m/s] (b) Velocità manipolo 0 5 10 15 20 25 30 Time [s] -80 -60 -40 -20 0 20 40 60 80 F op [N] (c) Forza operatore 0 5 10 15 20 25 30 Time [s] -80 -60 -40 -20 0 20 40 60 80 F amb [N] (d) Forza ambiente 0 5 10 15 20 25 30 Time [s] -5 -4 -3 -2 -1 0 1 2 3 4 5 err F [N] (e) Errore in forza 0 5 10 15 20 25 30 Time [s] -0.1 -0.05 0 0.05 0.1 0.15 err x [m] (f) Errore in posizione Fig. 2.158: Risultati sperimentali della simulazione di un ambiente completo con m = 3Kg, c = 1Ns m e k = 150N m , a velocità elevate. 261
  • 298.
    Controllo in forza 05 10 15 20 25 Time [s] -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] (a) Spostamento manipolo 0 5 10 15 20 25 Time [s] -1.5 -1 -0.5 0 0.5 1 v [m/s] (b) Velocità manipolo 0 5 10 15 20 25 Time [s] -60 -40 -20 0 20 40 60 F op [N] (c) Forza operatore 0 5 10 15 20 25 Time [s] -60 -40 -20 0 20 40 60 F amb [N] (d) Forza ambiente 0 5 10 15 20 25 Time [s] -10 -8 -6 -4 -2 0 2 4 6 8 10 err F [N] (e) Errore in forza 0 5 10 15 20 25 Time [s] -0.1 -0.05 0 0.05 0.1 0.15 err x [m] (f) Errore in posizione Fig. 2.159: Risultati sperimentali della simulazione di un ambiente completo con m = 9Kg, c = 1Ns m e k = 150N m , a velocità sostenute. 262
  • 299.
    Progettazione del sistemadi controllo aptico in impedenza 0 2 4 6 8 10 12 14 16 18 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] (a) Spostamento manipolo 0 2 4 6 8 10 12 14 16 18 Time [s] -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 v [m/s] (b) Velocità manipolo 0 2 4 6 8 10 12 14 16 18 Time [s] -10 -8 -6 -4 -2 0 2 4 6 8 10 a [m/s 2 ] (c) Accelerazione manipolo 0 2 4 6 8 10 12 14 16 18 Time [s] -40 -30 -20 -10 0 10 20 30 40 50 F op [N] (d) Forza operatore 0 2 4 6 8 10 12 14 16 18 Time [s] -30 -20 -10 0 10 20 30 40 50 F amb [N] (e) Forza ambiente 0 2 4 6 8 10 12 14 16 18 Time [s] -15 -10 -5 0 5 10 15 20 err F [N] (f) Errore in forza Fig. 2.160: Risultati sperimentali della simulazione di un ambiente completo con m = 9Kg, c = 1Ns m e k = 150N m , a velocità elevate. 263
  • 300.
    Controllo in forza k k kc c c m m m fn fn fn ξ ξ ξ ẋmax ẋmax ẋmax ẍmax ẍmax ẍmax errF errF errF errx errx errx KP KP KP Ki Ki Ki [N m ] [N m ] [N m ] [Ns m ] [Ns m ] [Ns m ] [Kg] [Kg] [Kg] [Hz] [Hz] [Hz] [m s ] [m s ] [m s ] [m s2 ] [m s2 ] [m s2 ] [%] [%] [%] [%] [%] [%] 50 1 3 0.65 0.041 0.97 3.58 14.93 20.13 20 150 50 10 3 0.65 0.41 1.06 3.48 12.52 8.06 25 150 50 10 3 0.65 0.41 2.02 9.90 12.32 32.46 25 150 50 1 6 0.46 0.029 1.09 3.33 30.84 52.52 12 80 150 1 3 1.12 0.024 1.17 4.02 4.84 8.79 20 150 150 1 3 1.12 0.024 2.05 9.25 6.93 20.99 20 150 150 1 9 0.65 0.014 1.03 3.54 16.92 21.93 5 100 Tabella 2.6: Risultati sperimentali delle prove svolte per simulare differenti ambienti completi Conclusioni Dai risultati sperimentali ottenuti, si può concludere che il sistema di controllo in impedenza in anello chiuso progettato è in grado di simulare con delle ottime prestazioni ambienti completi sufficientemente rigidi, smorzati e poco inerziali. Im- piegandolo, invece, per riprodurre sistemi massa - molla - smorzatore con inerzie piuttosto elevate, esso presenta delle performance troppo basse e, di conseguenza, non accettabili, soprattutto in termini di risposta in posizione. Inoltre, le prestazioni del sistema di controllo in impedenza in anello chiuso progettato sono adeguate solo se si movimenta il manipolo con delle velocità lineari non eccessivamente elevate, con picchi intorno ai 1 − 1.5 m s . Infatti, spostando il manipolo con velocità notevoli, attorno ai 2.3m s , gli errori percentuali massimi in forza e in posizione sono eccessivi e, pertanto, non accettabili. 264
  • 301.
    Confronto fra isistemi di controllo aptici progettati 2.4 Confronto fra i sistemi di controllo aptici pro- gettati Nei sotto - paragrafi 2.3 e 2.2 sono stati progettati i sistemi di controllo in ammet- tenza e in impedenza in anello chiuso per tre diverse tipologie di ambienti virtuali: elastico, visco-elastico e completo, ossia un sistema caratterizzato da massa, molla e smorzatore, a partire dai quali se ne possono, poi, sviluppare molti altri. Per ciascuna delle due strategie di controllo in forza e per ciascuna tipologia di ambien- te virtuale, sono state analizzate le prestazioni del sistema in funzione di differenti caratteristiche dell’ambiente ideale in esame, in termini di massa, smorzamento, ri- gidezza e/o frequenza naturale ed al variare della velocità di movimentazione del manipolo dell’interfaccia aptica impiegata. Nella presente sotto - sezione si metto- no a confronto i sistemi di controllo in ammettenza e in impedenza in anello chiuso sintetizzati, per ciascuna tipologia di ambiente virtuale presa in considerazione. L’o- biettivo è quello di mettere in evidenza quali sono i punti di forza e di debolezza delle due strategie di controllo impiegate, a partire dai risultati sperimentali ottenu- ti, in modo tale da individuare quale offre le migliori prestazioni e, quindi, conviene implementare per riprodurre il comportamento di ciascun ambiente virtuale. 2.4.1 Ambiente elastico Dopo aver simulato l’ambiente molla sul banco di prova, è doveroso fare un confronto fra i risultati ottenuti impiegando le due differenti tipologie di sistemi di controllo, in impedenza e in ammettenza, entrambi in anello chiuso. In ciascuna soluzione, si nota come le prestazioni del controllo aptico migliorino aumentando la rigidezza della molla ideale che si intende simulare: infatti, incrementando Km, gli errori in forza ed in posizione tendono a ridursi. Pertanto la sensazione tattile fornita all’utente che adopera il banco di prova rispecchia quella desiderata maggiore è la rigidezza della molla scelta. Focalizzando l’attenzione sugli errori in posizione ed in forza, è evidente come nel controllo in impedenza siano minori e quindi si riesca a riprodurre con maggior accuratezza il comportamento ideale voluto. Il confronto viene fatto a parità di velocità di movimentazione del manipolo, comprese tra 0.4m s e 0.6 m s : più 265
  • 302.
    Controllo in forza rapidoè il movimento e peggiori sono i risultati che si ottengono in termini di errori in posizione e in forza data la maggior dinamica del segnale di riferimento in ingresso al sistema di controllo. Un altro importate aspetto che si è manifestato nelle varie prove condotte, è l’effetto, sulle performance del sistema di controllo, della differente tipologia di impugnatura del manipolo: il controllo in ammettenza risulta essere più sensibile a ciò e quindi, di fronte ad una presa inadeguata rispetto a quella per cui è stato progettato, tende a instabilizzare il sistema facendo vibrare il manipolo afferrato. Un’ulteriore sostanziale differenza tra le due tipologie di controllo è nel regolatore di forza adottato in quanto in impedenza viene utilizzato un PD, che si è visto non condurre precisamente alla posizione di regime desiderata seppur l’errore sia trascurabile, mentre in ammettenza un puro integratore, che consente di simulare in maniera efficace l’ambiente ideale. Infine, un’ulteriore prova che permette di prediligere il controllo in impedenza a quello in ammettenza, riguarda l’ambiente trasparenza in cui l’obiettivo è quello di far avvertire all’utente la minima resistenza mentre sposta il carrello: utilizzando la prima tipologia di controllo si è registrata una forza massima pari a 6 N movimentando il manipolo a una velocità massima di circa 0.7 m s , mentre in ammettenza 8.57 N con movimenti a 0.61 m s . In conclusione, viste le considerazioni fatte, per simulare efficacemente sul banco di prova l’ambiente elastico, è preferibile implementare un sistema di controllo in impedenza in anello chiuso. 2.4.2 Ambiente visco - elastico In primo luogo, i due sistemi di controllo in ammettenza e in impedenza in anel- lo chiuso, sintetizzati per simulare il comportamento di ambienti visco - elastici, presentano due differenti tipi di controllori in forza: puramente proporzionale il se- condo e puramente integrale il primo. Oltre a ciò, nella riproduzione di un sistema molla - smorzatore, si è riscontrato che le due strategie di controllo in forza con- siderate presentano un comportamento sostanzialmente opposto, in funzione delle caratteristiche (K e C) dell’ambiente virtuale in esame. Il sistema di controllo in ammettenza è in grado di riprodurre meglio il funzionamento di ambienti visco - elastici molto rigidi e poco smorzati. Infatti, dai risultati sperimentali ottenuti, si 266
  • 303.
    Confronto fra isistemi di controllo aptici progettati è osservato che, aumentando la rigidezza K e diminuendo il coefficiente di smorza- mento C dell’ambiente ideale, migliorano le prestazioni del sistema di controllo in ammettenza sintetizzato. Viceversa, l’altra strategia è in grado di simulare meglio il comportamento di ambienti visco - elastici poco rigidi e molto smorzati. Infatti, dai risultati sperimentali ottenuti, si è notato che, maggiore è il coefficiente C e minore è la rigidezza K dell’ambiente ideale, migliori sono le prestazioni del sistema di controllo. In aggiunta, adottando questa seconda tecnica di controllo, è possibi- le riprodurre con discrete prestazioni anche ambienti visco - elastici con dinamiche piuttosto elevate, come, ad esempio, il sistema molla - smorzatore caratterizzato da: K = 90 N m e c = 1 Ns m , il quale presenta una frequenza naturale pari a 14.32Hz. Ciò non è possibile utilizzando un sistema di controllo in ammettenza, in cui si ha il limite dettato dalla pulsazione propria dell’anello di controllo in posizione interno. Inoltre, per entrambe le strategie, si è riscontrato che, aumentando la velocità di movimentazione del manipolo dell’interfaccia aptica, peggiori sono i risultati che si ottengono in termini di errori in posizione e in forza. Ciò, come già detto e dimo- strato, è dovuto al fatto che, maggiore è la velocità ẋ con cui si sposta il manipolo, più rapida è la dinamica del segnale riferimento Fop fornito in ingresso al sistema di controllo in forza. Pertanto, quest’ultimo fa più fatica a inseguire tale set - point e, conseguentemente, gli errori in posizione e in forza risultano essere più elevati. Dalla tabella 2.2 si può osservare che, utilizzando il sistema di controllo in ammettenza progettato, si ottengono delle prestazioni accettabili riproducendo ambienti visco - elastici molto rigidi e poco smorzati e movimentando il manipolo dell’interfaccia aptica con delle velocità piuttosto basse, inferiori a circa 0.3 − 0.4m s . Viceversa, dalla tabella 2.5 si nota che, con controllo in impedenza in anello chiuso, si può simulare, con dei buoni risultati, un’ampia gamma di sistemi molla - smorzatore, movimentando il manipolo dell’interfaccia aptica con velocità anche molto elevate. In particolare, si ottengono delle ottime prestazioni considerando velocità ẋ inferiori a circa 1 − 1.2 m s . Per velocità più elevate, con picchi intorno ai 2 − 2.2 m s , si hanno dei risultati peggiori, in termini di errori percentuali massimi in posizione e in forza, ma comunque accettabili (inferiori a circa 20 − 25%). Oltretutto, dalle sopracitate tabelle, si può osservare che, a parità di velocità di movimentazione del manipolo e 267
  • 304.
    Controllo in forza diambiente virtuale considerato, si ottengono delle prestazioni decisamente minori impiegando il sistema di controllo in ammettenza. Pertanto, sulla base di quanto espresso, si può affermare che, utilizzando una strategia di controllo in impedenza in anello chiuso: • si riesce a riprodurre il comportamento di una gamma di ambienti visco - elastici molto più ampia; • è possibile movimentare il manipolo dell’interfaccia aptica con delle velocità molto più elevate, ottenendo pur sempre delle prestazioni accettabili; • si ottengono dei risultati, in termini di errori in posizione e in forza, decisamen- te migliori, a parità di velocità di movimentazione del manipolo e di ambiente virtuale considerato. In conclusione, per riprodurre in modo fedele e con un realistico ritorno in forza il comportamento di ambienti visco - elastici, conviene impiegare il sistema di controllo in impedenza in anello chiuso sintetizzato. 2.4.3 Ambiente completo In primis, i due sistemi di controllo in ammettenza e in impedenza in anello chiuso, sintetizzati per simulare il comportamento di ambienti completi, presentano due dif- ferenti tipi di controllori in forza: un doppio integratore il primo e un proporzionale - integrale il secondo. Analogamente a quanto discusso per il caso degli ambienti visco - elastici, nella riproduzione di un sistema massa - molla - smorzatore, si è riscon- trato che le due strategie di controllo in forza considerate presentano un differente comportamento, in funzione delle caratteristiche (M , C e K) dell’ambiente virtuale in esame. Il sistema di controllo in ammettenza è in grado di riprodurre meglio il funzionamento di ambienti completi molto rigidi, poco smorzati e poco inerziali. In- fatti, dai risultati sperimentali ottenuti, si è osservato che, aumentando la rigidezza K, diminuendo il coefficiente di smorzamento C e la massa M dell’ambiente ideale, migliorano le prestazioni del sistema di controllo in ammettenza sintetizzato. In particolare, il parametro che influenza maggiormente le performance del sistema è 268
  • 305.
    Confronto fra isistemi di controllo aptici progettati la rigidezza K dell’ambiente ideale. Viceversa, il sistema di controllo in impedenza in anello chiuso è in grado di simulare meglio il comportamento di ambienti completi molto rigidi, smorzati e poco inerziali. Infatti, dai risultati sperimentali ottenuti, si è notato che, maggiori sono il coefficiente C, la rigidezza K e minore è la massa m dell’ambiente ideale, migliori sono le performance del sistema di controllo. In questo secondo caso, il parametro che influenza maggiormente le prestazioni del sistema è la massa M dell’ambiente virtuale in esame. Inoltre, anche in questo caso, si è riscon- trato che, aumentando la velocità di movimentazione del manipolo dell’interfaccia aptica, peggiori sono i risultati che si ottengono in termini di errori in posizione e in forza, per entrambe le strategie di controllo considerate. Dalla tabella 2.3 si può osservare che, utilizzando il sistema di controllo in ammettenza sintetizzato, si ottengono dei risultati accettabili riproducendo ambienti completi molto rigidi, poco smorzati e poco inerziali e movimentando il manipolo dell’interfaccia aptica con delle velocità piuttosto basse, inferiori a circa 0.4m s . Viceversa, dalla tabella 2.6 si nota che, adottando la strategia di controllo in impedenza in anello chiuso, si può simulare, con dei buoni risultati, un’ampia gamma di sistemi massa - molla - smor- zatore, purchè non siano troppo inerziali, movimentando il manipolo dell’interfaccia aptica con velocità anche molto più elevate rispetto a quelle consentite impiegando la strategia di controllo in ammettenza. In particolare, si ottengono delle ottime prestazioni considerando velocità ẋ inferiori a circa 1 − 1.1m s . Per velocità più ele- vate, con picchi intorno ai 2 − 2.2m s , si hanno dei risultati peggiori, che sono più che accettabili in termini di errore percentuale massimo in forza (inferiore a circa 15 − 20%). In termini di errore percentuale massimo in posizione, invece, i risultati non sono propriamente accettabili (inferiori a circa 35 − 40%) , movimentando il manipolo a velocità cosi elevate. Ciò è dovuto, probabilmente, all’accelerazione del manipolo, la quale è relativamente alta nel momento in cui si desidera movimentare velocemente il manipolo dell’interfaccia aptica. Infatti, non avendo a disposizione un accelerometro con cui misurare tale grandezza, viene calcolata, per derivazione numerica, a partire dalla velocità, la quale deve essere, dapprima filtrata (mediante un filtro passa - basso del secondo ordine) per rimuovere, almeno in parte, il rumore, che altrimenti, nella successiva derivazione numerica, creerebbe considerevoli pro- 269
  • 306.
    Controllo in forza blemi.Lo sfasamento introdotto dal filtro e l’ottenimento per doppia derivazione, rispetto al tempo, rendono la misura dell’accelerazione poco precisa. Ciò comporta degli errori, soprattutto in posizione, piuttosto elevati nel momento in cui si movi- menta il manipolo con delle velocità e accelerazioni elevate. Quest’ultimo è anche il motivo per cui risulta piuttosto difficile riprodurre, con discrete prestazioni, ambien- ti completi molto inerziali, sia impiegando la strategia di controllo in ammettenza sia adottando quella in impedenza in anello chiuso. Infine, dalle tabelle proposte, si può osservare che, a parità di velocità di movimentazione del manipolo e di ambiente virtuale considerato, si ottengono delle prestazioni decisamente minori impiegando il sistema di controllo in ammettenza. Pertanto, sulla base di quanto detto, si può affermare che, utilizzando una strategia di controllo in impedenza in anello chiuso: • si riesce a riprodurre il comportamento di una gamma di ambienti completi molto più ampia, purchè non eccessivamente inerziali; • è possibile movimentare il manipolo dell’interfaccia aptica con delle velocità più sostenute, ma non troppo elevate, ottenendo pur sempre delle prestazioni accettabili; • si ottengono dei risultati, in termini di errori in posizione e in forza, decisamen- te migliori, a parità di velocità di movimentazione del manipolo e di ambiente virtuale considerato. In conclusione, analogamente a quanto ottenuto discutendo della simulazione di ambienti visco - elastici, per riprodurre in modo fedele e con un realistico ritorno in forza il comportamento di ambienti completi, conviene impiegare il sistema di controllo in impedenza in anello chiuso sintetizzato. 270
  • 307.
    Confronto fra isistemi di controllo aptici progettati 2.4.4 Sintesi del compensatore d’attrito Nella sotto – sezione 1.5.2 è stato realizzato sperimentalmente un modello d’attrito a finestra per l’interfaccia aptica a disposizione, in cui si rappresenta la forza d’attrito come costituita da due componenti: una coulombiana e una viscosa. La prima si è ottenuto essere pari a circa 16 N, mentre la seconda è direttamente proporzionale alla velocità lineare del manipolo mediante un coefficiente di proporzionalità pari a circa 100 Ns m . Riducendosi all’albero di ingresso della trasmissione, la coppia ri- chiesta al motore a causa dell’attrito è costituita da una componente coulombiana pari a 0.0915 Nm e una componente viscosa direttamente proporzionale alla velocità di rotazione dell’albero motore, mediante un coefficiente di proporzionalità pari a 0.5720 Ns. Il motore che aziona l’interfaccia aptica presenta una coppia massima pari a 2.8 Nm. La corrente massima con cui l’azionamento è in grado di alimentare l’attuatore elettrico è pari a 5A e la costante di coppia Kt di quest’ultimo è pari a 0.5 Nm A . Pertanto, la coppia massima che il sistema di azionamento è in grado di generare in uscita è di 2.5 Nm. Essa può essere calcolata, convenzionalmente, anche come 2.5 volte la coppia nominale del motore: quest’ultima è fornita da catalogo ed è pari a 0.7 Nm. Ne consegue che la coppia minima richiesta al motore a causa dell’attrito (componente coulombiana) è circa pari al 13.07 % della coppia nominale del sistema di azionamento. Dalle considerazioni appena svolte, si può concludere che, nell’interfaccia aptica a disposizione, le azioni d’attrito sono piuttosto elevate e giocano un ruolo importante nella richiesta di coppia al sistema di azionamento. Pertanto, per migliorare le prestazioni dei sistemi di controllo in forza implementati, si è sviluppato un cosiddetto compensatore d’attrito, che, sulla base della velocità lineare ẋ del manipolo, fornisce una stima della coppia richiesta al motore a causa dell’attrito. Da tale coppia si ricava, mediante la costante Kaz dell’azionamento, una tensione, la quale la si somma all’azione di controllo, in modo tale da compensare, almeno in parte, gli effetti dell’attrito presente sull’interfaccia aptica. Il compensa- tore d’attrito è stato implementato a partire dal modello d’attrito a finestra discusso nella sotto - sezione 1.5.2. L’impiego di un intervallo, attorno alla velocità nulla, in cui la forza d’attrito viene forzata ad un valore positivo o negativo e pari, in modulo, alla componente coulombiana può creare problemi. Infatti, in tali condizioni, se ci 271
  • 308.
    Controllo in forza sitrova all’interno di tale intervallo la velocità del manipolo dell’interfaccia aptica è molto bassa e può cambiare di segno improvvisamente a causa del rumore presente in essa, dovuto in parte alla derivazione numerica con cui essa è ottenuta. Se ciò avviene, la forza d’attrito rimane sempre pari, in modulo, alla componente coulom- biana, ma, istantaneamente, cambia di segno, come la velocità, e ciò, se si verifica frequentemente, potrebbe comportare alcuni problemi, come, ad esempio, l’instabi- lizzarsi del sistema. Pertanto, per evitare tale fenomeno, si è pensato di raccordare la forza d’attrito all’interno di tale finestra mediante una sigmoide, caratterizzata da un coefficiente ϵ = 10. In questo modo, all’interno del suddetto intervallo la forza d’attrito varia con continuità, anche se dovesse avvenire un improvviso cam- bio di segno della velocità del manipolo. Il compensatore è descritto dal sistema di equazioni (2.91), dove Fc = 16 N è la componente coulombiana e fv = 100 Ns m è il coefficiente di proporzionalità della componente viscosa della forza d’attrito.        Fatt = Fc ẋ |ẋ|+ϵ se |ẋ| ≤ 0.05 Fatt = Fc · sign(ẋ) + fv · ẋ se |ẋ| 0.05 (2.91) Nella riproduzione, mediante interfaccia aptica, del comportamento di ambienti sta- tici con significative rigidezze, e ambienti dinamici, in cui la forza applicata dall’ope- ratore sul manipolo è relativamente elevata (mediamente superiore a circa 30-35N), le azioni d’attrito sono poco rilevanti. Per tale ragione, nella simulazione di questi ambienti virtuali, il compensatore d’attrito non introduce significativi miglioramen- ti nelle prestazioni del sistema di controllo in forza. Nella riproduzione, invece, di ambienti ideali in cui le forze in gioco, a livello del manipolo, sono piuttosto basse (dell’ordine dei 5 - 10 N), come, ad esempio, ambienti statici poco rigidi, le forze d’attrito sono decisamente rilevanti. Pertanto, in tali condizioni, può essere utile impiegare il compensatore d’attrito per migliorare le performance del sistema di controllo in forza. Il caso più significativo, a riguardo, è quello dell’ambiente traspa- renza, che modellizza una situazione ideale in cui sul manipolo dell’interfaccia aptica non agisce nessuna forza resistente, nè di attrito nè inerziale, e, pertanto, l’operatore riesce a muoverlo applicandovi una forza nulla o comunque minima. A livello prati- co, nell’interfaccia aptica a disposizione, gli attriti sono piuttosto importanti, come 272
  • 309.
    Confronto fra isistemi di controllo aptici progettati già discusso in precedenza. Infatti, si riscontra che, riproducendo il comportamento di un ambiente trasparenza, è necessario applicare sul manipolo una forza significa- tiva per spostarlo, proprio a causa delle significative dissipazioni di attrito presenti sul sistema. Di conseguenza, nella simulazione dell’ambiente trasparenza, può essere molto utile mitigare le azioni di attrito mediante il compensatore precedentemente sviluppato. Per valutare se ciò consente di migliorare, effettivamente, le prestazioni dei due sistemi di controllo in forza sintetizzati, sono state effettuate numerose prove in cui si è movimentato avanti e indietro, tra i due fine corsa, il manipolo dell’in- terfaccia e si è misurato una serie di grandezze, quali lo spostamento x, la velocità lineare ẋ e la forza Fop applicata dall’operatore. Metà delle suddette prove sono state condotte non introducendo alcuna compensazione, mentre la restante parte dei test è stata condotta impiegando il compensatore d’attrito. Inoltre, tale analisi è stata eseguita sia per il sistema di controllo in impedenza in anello chiuso sia per quello in ammettenza. In Fig.2.161 è riportato lo schema Simulink impiegato per riprodurre l’ambiente trasparenza, mediante un sistema di controllo in impedenza in anello chiuso, con compensazione dell’attrito. Nelle Fig.2.162 e Fig.2.163 sono mostrati i risultati sperimentali di due prove svolte, in una con e nell’altra senza l’utilizzo del compensatore d’attrito e, in entrambi i casi, adottando un sistema di controllo in impedenza in anello chiuso. Si può osservare che entrambe le prove so- no state condotte a velocità di movimentazione del manipolo abbastanza sostenute, con picchi intorno ai 1.25 m s . La ragione di ciò risiede nell’idea per cui, in presenza di attrito, per muovere rapidamente il manipolo è necessario applicare su di esso un’importante forza Fop. Viceversa, compensando l’attrito, ci si aspetta che sia pos- sibile spostare il manipolo, con velocità sostenute, anche applicando su di esso una forza piuttosto limitata. Dai diagrammi si può, innanzitutto, osservare che, nel caso in cui non si introduca alcuna compensazione dell’attrito, la curva forza - velocità assomiglia molto a quella del modello d’attrito ricavato nella sotto - sezione 1.5.2. Ciò conferma che, effettivamente, la forza che bisogna applicare sul manipolo per muoverlo, durante la riproduzione dell’ambiente trasparenza, serve per vincere le azioni di attrito che agiscono sull’interfaccia aptica. Viceversa, nel caso in cui si im- pieghi il compensatore progettato, la curva Fop −ẋ è più schiacciata e uniforme sulle 273
  • 310.
    Controllo in forza Fig.2.161: Schema Simulink impiegato per riprodurre l’ambiente trasparenza, mediante un sistema di controllo in impedenza in anello chiuso con compensazione dell’attrito velocità. In secondo luogo, si nota che la forza massima applicata dall’operatore sul manipolo è pari a: • 7.13 N, nel caso in cui non si utilizza la compensazione dell’attrito; • 4.66 N, nel caso in cui si utilizza la compensazione dell’attrito. Pertanto, si può concludere che, nella riproduzione dell’ambiente trasparenza tramite un sistema di controllo in impedenza in anello chiuso, l’utilizzo del compensatore consente di ridurre di circa il 35% la forza massima esercitata dall’operatore sul manipolo. 274
  • 311.
    Confronto fra isistemi di controllo aptici progettati 0 5 10 15 20 25 30 35 40 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] (a) Spostamento manipolo 0 5 10 15 20 25 30 35 40 Time [s] -1.5 -1 -0.5 0 0.5 1 1.5 x p [m/s] (b) Velocità manipolo 0 5 10 15 20 25 30 35 40 Time [s] -8 -6 -4 -2 0 2 4 6 8 F op [N] (c) Forza operatore -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] -8 -6 -4 -2 0 2 4 6 8 F op [N] (d) Forza operatore vs Spostamento -1.5 -1 -0.5 0 0.5 1 1.5 xp [m/s] -8 -6 -4 -2 0 2 4 6 8 F op [N] (e) Forza operatore vs Velocità Fig. 2.162: Risultati sperimentali della riproduzione di un ambiente trasparenza, me- diante sistema di controllo in impedenza in anello chiuso, senza compensa- zione dell’attrito 275
  • 312.
    Controllo in forza 05 10 15 20 25 30 35 40 45 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] (a) Spostamento manipolo 0 5 10 15 20 25 30 35 40 45 Time [s] -1.5 -1 -0.5 0 0.5 1 1.5 x p [m/s] (b) Velocità manipolo 0 5 10 15 20 25 30 35 40 45 Time [s] -5 -4 -3 -2 -1 0 1 2 3 4 5 F op [N] (c) Forza operatore -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] -5 -4 -3 -2 -1 0 1 2 3 4 5 F op [N] (d) Forza operatore vs Spostamento -1.5 -1 -0.5 0 0.5 1 1.5 xp [m/s] -5 -4 -3 -2 -1 0 1 2 3 4 5 F op [N] (e) Forza operatore vs velocità Fig. 2.163: Risultati sperimentali della riproduzione di un ambiente trasparenza, me- diante sistema di controllo in impedenza in anello chiuso, con compensazione dell’attrito. 276
  • 313.
    Confronto fra isistemi di controllo aptici progettati In Fig.2.164 è riportato lo schema Simulink impiegato per riprodurre l’ambiente trasparenza, utilizzando un sistema di controllo in ammettenza, con compensazione dell’attrito. Nelle Fig.2.165 e Fig.2.166 sono mostrati i risultati sperimentali di due prove svolte, una con e l’altra senza compensazione dell’attrito. Si può notare che entrambi i testi sono stati svolti, anche in questo caso, a velocità lineari ẋ abbastanza sostenute, con picchi intorno ai 1.2 m s . Dai suddetti diagrammi, si evidenzia che, in entrambi i casi, si è tracciata sostanzialmente la medesima curva Fop − ẋ e la forza massima esercitata dall’operatore sul manipolo è circa pari a 16 - 17 N. Inoltre si osserva come la correlazione Fop-velocità non abbia la stessa forma che si vede nel modello attrito o nei risultati ottenuti con controllo in impedenza. Pertanto, si può concludere che, nella riproduzione dell’ambiente trasparenza mediante un sistema di controllo in ammettenza, l’utilizzo del compensatore d’attrito non ha alcun effetto benefico, in termini di riduzione della forza da esercitare sul manipolo per muoverlo. 277
  • 314.
    Controllo in forza Fig.2.164: Schema Simulink impiegato per riprodurre l’ambiente trasparenza, mediante un sistema di controllo in ammettenza con compensazione dell’attrito 278
  • 315.
    Confronto fra isistemi di controllo aptici progettati 0 5 10 15 20 25 30 35 40 Time [s] -0.6 -0.4 -0.2 0 0.2 0.4 0.6 x [m] (a) Spostamento manipolo 0 5 10 15 20 25 30 35 40 Time [s] -1.5 -1 -0.5 0 0.5 1 1.5 x p [m/s] (b) Velocità manipolo 0 5 10 15 20 25 30 35 40 Time [s] -20 -15 -10 -5 0 5 10 15 20 F op [N] (c) Forza operatore -0.6 -0.4 -0.2 0 0.2 0.4 0.6 x [m] -20 -15 -10 -5 0 5 10 15 20 F op [N] (d) Forza operatore vs Spostamento -1.5 -1 -0.5 0 0.5 1 1.5 xp [m/s] -20 -15 -10 -5 0 5 10 15 20 F op [N] (e) Forza operatore vs Velocità Fig. 2.165: Risultati sperimentali della riproduzione di un ambiente trasparenza, me- diante sistema di controllo in ammettenza, senza compensazione dell’attrito 279
  • 316.
    Controllo in forza 05 10 15 20 25 30 35 40 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] (a) Spostamento manipolo 0 5 10 15 20 25 30 35 40 Time [s] -1.5 -1 -0.5 0 0.5 1 1.5 x p [m/s] (b) Velocità manipolo 0 5 10 15 20 25 30 35 40 Time [s] -20 -15 -10 -5 0 5 10 15 20 F op [N] (c) Forza operatore -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] -20 -15 -10 -5 0 5 10 15 20 F op [N] (d) Forza operatore vs Spostamento -1.5 -1 -0.5 0 0.5 1 1.5 xp [m/s] -20 -15 -10 -5 0 5 10 15 20 F op [N] (e) Forza operatore vs Velocità Fig. 2.166: Risultati sperimentali della riproduzione di un ambiente trasparenza, me- diante sistema di controllo in ammettenza, con compensazione dell’attrito 280
  • 317.
    Confronto fra isistemi di controllo aptici progettati 2.4.5 Conclusioni Dai risultati ottenuti considerando la trasparenza come ambiente virtuale, si può concludere, innanzitutto, che, senza compensazione dell’attrito, utilizzando un siste- ma di controllo in impedenza in anello chiuso, la forza che deve esercitare l’operatore sul manipolo per muoverlo è molto minore rispetto al caso in cui si adotti un sistema di controllo in ammettenza. Ciò significa che, come già precedentemente mostrato, il controllore in impedenza in anello chiuso è più performante rispetto a quello in am- mettenza, nella riproduzione del comportamento di una molla ideale con rigidezza nulla. In secondo luogo, si può affermare che l’adozione di un compensatore d’attrito migliora considerevolmente le prestazioni del sistema di controllo in impedenza in anello chiuso, mentre non ha effetti benefici sulle prestazioni del sistema di controllo in ammettenza. Ciò è dovuto al fatto che quest’ultimo presenta al proprio interno un posizionatore, il quale, pertanto, tramite retroazione della misura di posizione, compensa già autonomamente la dinamica naturale del sistema, tra cui, quindi, an- che le azioni di attrito. Viceversa, nel controllo in impedenza non è presente un posizionatore e, pertanto, l’adozione di metodi di compensazione delle non idealità del sistema migliora notevolmente le prestazioni del sistema di controllo. Infine, è importante precisare che il modello d’attrito discusso nella sotto - sezione 1.5.2, a partire dal quale si è implementato il compensatore, è stato sviluppato considerando delle basse velocità di movimentazione del manipolo, inferiori a circa 0.1m s . Infatti, si è notato che la relazione Fatt - ẋ è lineare per basse velocità ẋ. Al crescere di quest’ultima grandezza, la relazione forza - velocità si discosta sempre di più dalla linearità e, per velocità sufficientemente elevate, la curva Fatt = Fatt(ẋ) tende ad appiattirsi. Pertanto, se si fosse sviluppato il modello d’attrito considerando un ampio range di velocità, si sarebbe ottenuto un coefficiente di proporzionalità fv della componente viscosa piuttosto basso, che non avrebbe tenuto conto degli effetti importanti alle basse velocità. Tuttavia, nelle prove svolte sull’interfaccia aptica per riprodurre il comportamento dell’ambiente trasparenza, si è movimentato il manipo- lo con delle velocità lineari piuttosto elevate, con picchi intorno ai 1.2−1.3m s . A tali velocità, la forza d’attrito, che si ottiene in uscita dal modello, è piuttosto elevata, proprio per quanto precedentemnete affermato. Per tale ragione, nel controllo in 281
  • 318.
    Controllo in forza impedenza,che è quello in cui si ottengono significativi benefici dall’introduzione del compensatore, non si introduce tutta la tensione proveniente da quest’ultimo, ma solo il 40%, che è stato riscontrato essere il valore ottimale. Inoltre, svolgen- do diverse prove, si è notato che, movimentando il manipolo a velocità ancora più elevate, con picchi intorno a 1.8 − 2 fracms, il sistema tende ad instabilizzarsi in presenza del compensatore, in quanto la tensione in uscita da quest’ultimo e che si somma all’azione di controllo risulta essere troppo elevata. Pertanto, un possibile futuro miglioramento può essere quello di modellizzare l’attrito presente a livello degli accoppiamenti meccanici dell’interfaccia aptica mediante un modello lineare di ordine superiore al primo. 282
  • 319.
    Ambienti virtuali 2.5 Ambientivirtuali 2.5.1 Ambiente inerziale Una variante dell’ambiente completo è quello puramente inerziale, che a differenza del primo considera solo la presenza della massa M, rappresentata fisicamente dal manipolo dell’interfaccia aptica. La percezione tattile che si vuole dare all’utente che adopera quest’ambiente è quella di impiegare una forza per spostare una massa di entità definita a priori, quindi di avvertirne l’inerzia durante le fasi di movimen- to. In una situazione ideale, spostando il carrello dalla posizione di quiete con una determinata accelerazione, questo dovrebbe proseguire con un moto rettilineo uni- forme. Il banco di prova però, cosı̀ come il mondo reale, è caratterizzato da delle non idealità, quali i fenomeni di attrito, che frenano l’oggetto in moto fino a riportarlo nella condizione di riposo. Il sistema di controllo scelto per la simulazione di questo ambiente virtuale è quello in impedenza, con regolatore di tipo PI caratterizzato dalle sue costanti Kp e KI. Nel controllo viene anche introdotto il compensatore statico dell’attrito, nonostante qui il suo effetto sia poco apprezzabile date le elevate forze in gioco. Nell’ambiente in questione le accelerazioni giocano un ruolo di prima- ria importanza in quanto essenziali per la determinazione della forza ambiente. Non avendo a disposizione un accelerometro, il segnale di accelerazione viene ricavato de- rivando due volte quello di posizione ed applicando un filtro passa basso al segnale di velocità: tale procedura, confrontando la risposta effettiva con quella dell’ambiente ideale, conduce ad un errore in posizione, variabile in base all’ambiente scelto, ma in ogni caso piuttosto elevato. Per tale motivo non risulta possibile riprodurre fe- delmente il comportamento dell’ambiente ideale desiderato. Le migliori acquisizioni sono state ottenute considerando un ambiente virtuale inerziale caratterizzato da una massa di 20 kg ed utilizzando Kp = 2 e KI = 25 (Fig.2.167). 283
  • 320.
    Controllo in forza 05 10 15 20 Time [s] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 [m] (a) Posizione del manipolo 0 5 10 15 20 Time [s] -1.5 -1 -0.5 0 0.5 1 1.5 [m/s] (b) Velocità del manipolo 0 5 10 15 20 Time [s] -4 -3 -2 -1 0 1 2 3 4 [m/s 2 ] (c) Accelerazione del manipolo 0 5 10 15 20 [m] -60 -40 -20 0 20 40 60 [N] Foperatore Fambiente (d) Forza operatore e forza ambiente 0 5 10 15 20 Time [s] -25 -20 -15 -10 -5 0 5 10 15 20 25 e F [N] (e) Errore in forza 0 5 10 15 20 Time [s] -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 e X [m] (f) Errore in posizione Fig. 2.167: Ambiente inerziale con M = 20 kg, Kp = 2 e KI = 25 284
  • 321.
    Ambienti virtuali La provacondotta è caratterizzata dai seguenti valori: • Spostamento massimo del carrello di 0.45 m; • Velocità massima del carrello di 1.11 m s ; • Accelerazione massima del carrello di 3.31 m s2 ; • Forza operatore massima di 64.58 N; • Errore in forza massimo di 22.6 N; • Errore in posizione massimo di 0.12 m; • Errore percentuale in forza pari al 35 % della forza operatore massima; • Errore percentuale in posizione pari al 26.82 % dello spostamento massimo del carrello. 285
  • 322.
    Controllo in forza 2.5.2Ambiente muro Un altro ambiente che si è scelto di implementare è l’ambiente muro, il quale è stato realizzato in due differenti varianti: • con un ambiente trasparenza; • con un ambiente molla di rigidezza Km = 60 N m tra i due muri, posti nelle posizioni corrispondenti a ± xmuro = 0.2 m rispetto al centro. Quindi, immaginando di iniziare a muovere il carrello posizionato al centro del banchetto, in entrambe le soluzioni esistono delle posizioni corrispondenti a ± xmuro in cui l’utente avverte un muro non oltrepassabile in alcun modo, ma se in un caso è possibile muovere la massa all’ interno delle due posizioni limite senza avvertire alcuna resistenza, nell’altro si percepisce un ambiente molla. Questo ambiente viene direttamente implementato sul banchetto di prova, data la poca utilità di un eventuale e preventiva simulazione. L’implementazione dell’am- biente virtuale è piuttosto semplice in quanto viene letta la posizione del carrello e, in corrispondenza di xmuro, l’utente deve percepire una forza pari a quella introdot- ta da lui stesso, in maniera tale da non riuscire a muovere ulteriormente la massa. Fissata quindi una xmuro, si implementano i due muri posti in corrispondenza di ± xmuro realizzando in sostanza una scatola le cui pareti limitano il movimento al suo interno: in un caso l’utente può spostare liberamente la massa, nell’altro percepi- sce un ambiente molla. Per valutare la tipologia di controllo in forza più efficace, l’ambiente è stato realizzato sia con controllo in ammettenza che in impedenza. Ciò che si è osservato è che la seconda strategia non è in grado di simulare effica- cemente l’ambiente muro: avvicinandosi infatti più volte alla parete virtuale, essa non risulta essere sempre nella stessa posizione. Tale effetto è dovuto all’assenza, in questa tipologia di controllo, di un vero e proprio posizionatore che permette la virtualizzazione di un muro in un punto ben definito lungo la guida lineare. Infatti ciò che viene richiesto al motore quando il carrello supera una determinata soglia prefissata è di instaurare un equilibrio di forze tra Famb e Fop: questa situazione, anche a seconda della velocità con cui si giunge in prossimità della posizione critica, non si verifica precisamente sempre nello stesso punto, dando origine pertanto ad 286
  • 323.
    Ambienti virtuali 0 24 6 8 10 Time [s] -0.3 -0.2 -0.1 0 0.1 0.2 [m] (a) Posizione del manipolo -0.3 -0.2 -0.1 0 0.1 0.2 [m] -40 -30 -20 -10 0 10 20 30 40 [N] F ambiente F operatore (b) Forza operatore e forza ambiente Fig. 2.168: Ambiente scatola con Km = 0 N m con controllo in impedenza un ambiente virtuale differente da quello desiderato. Al contrario invece, in ammet- tenza, la presenza di un controllo di posizione, consente la realizzazione del muro virtuale, poichè raggiunta la x corrispondente alla parete, viene di fatto generato un riferimento di posizione costante e, di conseguenza, viene richiesto al motore il mantenimento di una posizione fissa. In Fig.2.168 viene comunque mostrata la simulazione dell’ambiente muro realizzata implementando un sistema di controllo in impedenza: il controllore utilizzato è un PD con valori Kp = 10 e Kd = 0.2. Coerentemente con quanto detto, i picchi nel grafico (a) di Fig.2.168 mostrano come la posizione corrispondente al muro non sia esattamente sempre la stessa, con un errore di circa 3−4 cm rispetto alla posizione xmuro, determinando, quindi, un com- portamento diverso da quello desiderato. L’ambiente muro ricercato viene invece simulato utilizzando il controllo in ammettenza: Fig.2.169 e Fig.2.170 mostrano due prove condotte considerando, rispettivamente, l’ambiente trasparenza tra i due muri e una molla con Km = 60 N m . In entrambi i casi, è stato utilizzato un regolatore di tipo doppio integratore con KI = 0.07. Si può osservare che, in ammettenza, l’errore che si commette, rispetto alla posizione xmuro in cui è presente il muro, è dell’ordine dei 2 − 3 mm. 287
  • 324.
    Controllo in forza 01 2 3 4 5 6 7 8 9 10 Time [s] -0.3 -0.2 -0.1 0 0.1 0.2 0.3 [m] (a) Posizione del manipolo -0.3 -0.2 -0.1 0 0.1 0.2 [m] -40 -30 -20 -10 0 10 20 30 40 [N] F ambiente F operatore (b) Forza operatore e forza ambiente Fig. 2.169: Ambiente scatola con Km = 0 N m con controllo in ammettenza 0 5 10 15 20 25 30 35 40 45 50 Time [s] -0.3 -0.2 -0.1 0 0.1 0.2 [m] (a) Posizione del manipolo -0.3 -0.2 -0.1 0 0.1 0.2 [m] -60 -40 -20 0 20 40 60 [N] F ambiente F operatore (b) Forza operatore e forza ambiente Fig. 2.170: Ambiente scatola con Km = 60 N m con controllo in ammettenza 288
  • 325.
    Ambienti virtuali 2.5.3 Ambientetriangolare Un ulteriore ambiente analizzato è l’ambiente triangolare, ossia un particolare am- biente molla, che per le considerazioni precedentemente svolte, viene simulato con un sistema di controllo in impedenza. La realizzazione dell’ambiente è piuttosto semplice e simile all’ambiente elastico: viene letta la posizione x del carrello ed in base ad essa viene generata una forza Famb coerente con l’andamento triangolare scelto, che viene confrontata con la forza introdotta dall’operatore e permette di indurre la sensazione tattile desiderata all’utente. L’ambiente viene direttamente implementato sul banco di prova in due differenti varianti: 1. Nella prima l’utilizzatore percepisce un ambiente molla fino al raggiungimen- to di una determinata posizione xv, quindi avverte una forza che cresce con l’aumentare della posizione del carrello. Superata la posizione xv riscontra un ambiente molla, ma con una forza che decresce progressivamente man mano che il carrello avanza, quindi un elemento elastico che diventa sempre più fa- cile da comprimere. Arrivato in posizione pari a 2 · xv, la massa si trova in un punto di equilibrio instabile in quanto se il carrello dovesse avere un picco- lo errore in posizione, l’ambiente restituisce una forza positiva che la riporta nella condizione di partenza. Per evitare questa situazione di movimento in- controllato, si potrebbe inserire una piccola banda morta sulla posizione, in cui l’ambiente genera una forza nulla. In questa variante, l’operatore per spostare il carrello in una direzione deve spingerlo, mentre nella direzione opposta sarà la massa a trascinarlo. Come per l’ambiente molla viene impiegato un regola- tore di tipo PD con valori di Kp=22 e Kd=0.51 . In Fig.2.171 viene mostrata un’acquisizione fatta sul banco di prova. 2. La seconda è analoga alla precedente fino al raggiungimento del punto di equi- librio instabile, dopodichè, spostando il carrello da tale posizione, l’utente non deve più spingere bensı̀ si sente trascinare, poichè l’ambiente genera una forza negativa fino al raggiungimento di un punto di equilibrio, in questo caso stabi- le: se qui è presente un piccolo errore in posizione, il sistema tende comunque a rimanere nella situazione attuale, senza tornare in quella di partenza, al 289
  • 326.
    Controllo in forza 05 10 15 20 25 Time [s] -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 [m] (a) Posizione del manipolo -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 [m] -8 -6 -4 -2 0 2 4 6 8 [N] F operatore F ambiente (b) Forza operatore e forza ambiente Fig. 2.171: Ambiente triangolare instabile con Km = 60 N m e xv = 0.09 m contrario di quanto si verificava nella prima versione realizzata. I valori dei parametri utilizzati sul banco di prova sono analoghi a quelli dell’acquisizione precedente. In Fig.2.172 vengono riportati i dati sperimentali relativi a questa versione dell’ambiente triangolare. 0 5 10 15 20 25 Time [s] -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 [m] (a) Posizione del manipolo -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 [m] -10 -8 -6 -4 -2 0 2 4 6 8 10 [N] F operatore F ambiente (b) Forza operatore e forza ambiente Fig. 2.172: Ambiente triangolare stabile con Km = 60 N m e xv = 0.09 m 290
  • 327.
    Ambienti virtuali 0 510 15 20 Time [s] -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 [m] (a) Posizione del manipolo -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 [m] -5 0 5 10 15 [N] F operatore F ambiente (b) Forza operatore e forza ambiente Fig. 2.173: Ambiente sinusoidale instabile con Ca = 12 xv = 0.18 m 2.5.4 Ambiente sinusoidale L’ambiente sinusoidale è analogo a quello triangolare con la differenza che alla Famb si impone un andamento sinusoidale, fissata l’ampiezza Ca e il passo xv della sinu- soide: si ottiene una risposta molto più fluida e dolce data dalle creste smussate del profilo di forza adottato. La forza ambiente Famb viene generata, fissata l’ampiezza Ca e il passo xv, mediante la relazione (2.92). Famb = Ca · sin( π xv ) · x (2.92) Come per il triangolare, le varianti realizzate sono due e valgono le medesime con- siderazioni fatte per l’ambiente precedente. Anche quest’ambiente viene realizzato con un sistema di controllo in impedenza con regolatore di forza di tipo PD (Kp = 22 e Kd = 0.51). In Fig.2.173 e Fig.2.174 si riportano le acquisiziooni fatte sul sistema aptico. 291
  • 328.
    Controllo in forza 02 4 6 8 10 12 14 16 18 Time [s] -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 [m] (a) Posizione del manipolo -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 [m] -15 -10 -5 0 5 10 15 [N] F operatore F ambiente (b) Forza operatore e forza ambiente Fig. 2.174: Ambiente sinusoidale stabile con Ca = 12 xv = 0.18 m 2.5.5 Ambiente a dente di sega L’ambiente dente di sega è un particolare ambiente molla, in quanto l’utente per- cepisce una forza che aumenta linearmente con lo spostamento del carrello fino al raggiungimento di xs, fissata a piacere, in cui avverte il cedimento improvviso della molla poichè l’ambiente eroga un forza Famb nulla. Per creare l’effetto a dente di sega, viene ripetuto più volte questo tipo di comportamento lungo la guida lineare. L’ambiente virtuale riceve in ingresso la posizione x del carrello e restituisce una for- za ambiente Famb coerente con il profilo a dente di sega che si intende realizzare, la quale viene confrontata con la forza introdotta dall’ operatore (Fop) per permettere la generazione dell’errore in forza. L’implementazione dell’ambiente sul banchetto ha permesso di evidenziare alcuni aspetti: • al cedimento improvviso dell’elemento elastico in corrispondenza di xs, si raggiunge una posizione di equilibrio instabile poichè un piccolo errore di posizione, riporta il carrello nella posizione di partenza: per evitare questo comportamento si introduce una piccola banda morta in cui Famb è nulla; • un ipotetico profilo a dente di sega permetterebbe il movimento in una sola direzione: per replicare tale situazione ed evitare un comportamento indesi- derato nella direzione opposta, si inserisce un muro (ambiente muro) in modo 292
  • 329.
    Ambienti virtuali tale chequalora l’utente, giunto nella posizione di equilibrio, decidesse di spo- stare indietro il manipolo gli venga impedito di farlo. Inoltre, anche all’avvio dell’ambiente, viene inserito un muro per impedire al- l’utente di muoversi nella direzione non consentita: cosı̀ facendo si prevengono anche movimenti indesiderati qualora la cella di carico non fosse calibrata cor- rettamente. Per avere effettivamente la percezione di un andamento in forza a dente di sega, l’ambiente è dunque pensato per essere utilizzato in una sola direzione: finita la corsa utile del carrello lungo la guida lineare è necessario riavviare l’ambiente per riutilizzarlo. Definito l’ambiente che si intende realizzare sulla base delle considerazioni preceden- ti, la tipologia di controllo aptico scelta è quella in ammettenza. La motivazione risiede nel fatto che, nonostante per simulare il comportamento di una molla idea- le sia ottimale utilizzare un controllo in impedenza, l’efficace generazione dei muri virtuali si ottiene solo con il controllo che prevede un anello di posizione al suo in- terno, come già discusso analizzando l’ambiente muro. L’ambiente viene realizzato scegliendo una molla con costante elastica Km = 60 N m , passo del dente di sega pari a xs = 0.18 m ed utilizzando un controllore di tipo puro integratore con valore di KI = 0.07. In Fig.2.175 viene mostrata un acquisizione eseguita sul sistema aptico. 0 2 4 6 8 10 12 14 Time [s] 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 [m] (a) Posizione del manipolo -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 [m] 0 5 10 15 [N] F operatore F ambiente (b) Forza operatore e forza ambiente Fig. 2.175: Ambiente a dente di sega con Km = 60 N m ,xs = 0.18 m 293
  • 331.
    Parte II Sistema cartesianoa due gradi di libertà 295
  • 333.
    Capitolo 3 Sistema cartesianoa 2 gradi di libertà 3.1 Struttura del banco di prova Il banco di prova (Fig.3.1) è un sistema cartesiano composto essenzialmente da un telaio e dal gruppo di movimentazione degli assi, ossia da due assi indipendenti, X e Y, entrambi motorizzati, che consentono il posizionamento dell’end effector nell’area di lavoro con dimensioni pari a 1 m x 1 m. Nel retro macchina si trova invece il quadro elettrico. 3.1.1 Asse X L’asse X è sostanzialmente composto dai seguenti elementi 1. motore PARKER NX-110E; 2. guida lineare Misumi cod. SV2RL- MX24-1210-TMS costituita dalla puleggia di rinvio e da quella condotta (HTD 5M da 16 denti) entrambe con raggio r3 ed inerzia Jp3, connesse per mezzo di una cinghia aperta di tipo Powergrip HTD;
  • 334.
    Sistema cartesiano a2 gradi di libertà Fig. 3.1: Banco a disposizione sistema cartesiano a due gradi di libertà 3. puleggia solidale all’albero motore (HTD 5M da 15 denti) e puleggia condotta (HTD 5M da 34 denti) rispettivamente con raggi r1 e r2 ed inerzie Jp1 e Jp2 , connesse tramite cinghia chiusa di tipo Synchropower HDT; 4. albero di collegamento fra puleggia 2 e 3. La trasmissione del moto avviene pertanto per mezzo delle 4 pulegge, ognuna col proprio raggio ri ed inerzia Jpi . In tabella (3.1) e (3.2) vengono riassunti i valori dei parametri dimensionali di interesse. In tabella (3.3) sono invece riportati i dati da catalogo del motore PARKER NX-110E e dell’azionamento Infranor PAC-AK- 230/05. Per la rilevazione della posizione del carrello, è possibile sfruttare sia la presenza di un sensore di posizione lineare (tabella (3.4)) sia l’ informazione fornita dall’azionamento in quanto ha attiva la modalità di encoder simulato (pulsazioni per angolo giro pari a 4096). 298
  • 335.
    Struttura del bancodi prova Grandezza Valore Unità di misura Diametro puleggia 1 23.87 [mm] Diametro puleggia 2 54.12 [mm] Diametro puleggia 3 25.46 [mm] Inerzia Jp1 0.2006 [kgcm2 ] Inerzia Jp2 0.5194 [kgcm2 ] Inerzia Jp3 0.1086 [kgcm2 ] Interasse cinghia chiusa 76 [mm] Interasse cinghia aperta 1275 [mm] Numero denti puleggia 1 15 − Numero denti puleggia 2 34 − Numero denti puleggia 3 16 − Massa carrello 1.5 [kg] Lunghezza carrello 0.09 [m] Tabella 3.1: Valori dimensionali ed inerziali dei parametri - Asse X Cinghia passo [mm] [mm] [mm] Larghezza [mm] [mm] [mm] Rigidezza specifica Kcs[ N mm Kcs[ N mm Kcs[ N mm ] Powergrip HTD 5 9 1.622 · 104 Synchropower HDT 5 10 2.340 · 104 Tabella 3.2: Dati cinghie - Asse X 299
  • 336.
    Sistema cartesiano a2 gradi di libertà Grandezza Valore Unità di misura Velocità di rotazione nominale 6000 rpm Coppia nominale 0.33 Nm Corrente nominale 0.79 A Coppia massima 1.7 Nm Inerzia del motore con freno 14 kgmm2 Inerzia del motore senza freno 13 kgmm2 Costante di coppia del motore 0.455 Nm/Arms Costante di velocità 29.9 V s Tensione massima di comando dell’azionamento ±10 V Corrente massima dell’azionamento 5 A Costante dell’azionamento 0.2275 Nm V Tabella 3.3: Dati del motore Parker NX110E - Asse X Elemento Tipologia testina SME51-L-1-5-N-L5-J banda magnetica MT50-2-100-1 Tabella 3.4: Dati Encoder lineare - Asse X 300
  • 337.
    Struttura del bancodi prova Inoltre, per rilevare quando il carrello è arrivato a fine corsa utile, sono disponibili due sensori finecorsa magnetici con le seguenti specifiche: • Sensore: Assemtech PTC 130/30; • Magnete: Assemtech M1219-5. 3.1.2 Asse Y L’asse Y è principalmente composto da: 1. motore brushless Mavilor BLS-073A.00.0105.00; 2. due guide lineari Misumi cod. SV2RL-MX24-1210-TMS dotate entrambe di pulegge (HTD 5M da 20 denti) di rinvio e condotta, con raggio r3 ed inerzia Jp3 , connesse tramite cinghie aperte Synchropower HDT; 3. puleggia solidale all’albero motore (HTD 5M da 15 denti) e puleggia di potenza (HTD 5M da 48 denti) rispettivamente con raggi r1 e r2 e inerzie Jp1 e Jp2 , connesse per mezzo di una cinghia chiusa Powergrip HTD; 4. albero di collegamento fra puleggia 2 e pulegge 3, che permette il trasferimento del moto dal motore alle guide lineari. L’asse Y è dunque composto da 7 pulegge, ognuna con un proprio raggio ri ed una propria inerzia Ji. In tabella (3.5) e (3.6) vengono riassunti i valori parametri dimensionali di interesse. In tabella (3.7) sono invece riportati i dati da catalogo del motore Mavilor BLS-073A.00.0105.00 e dell’azionamento Infranor PAC-AK- 230/11. Come per l’asse X, per conoscere lo spostamento lineare del carrello, si possono sfruttare le informazioni derivanti dal sensore di posizione lineare (tabella (3.8)) o dall’azionamento, con modalità di encoder simulato attiva (risoluzione 4096). Anche per quest’asse, per rilevare quando la massa traslante è giunta a fine corsa utile, sono presenti due sensori finecorsa magnetici con le seguenti specifiche: • Sensore: Assemtech PTC 130/30; • Magnete: Assemtech M1219-5. 301
  • 338.
    Sistema cartesiano a2 gradi di libertà Grandezza Valore Unità di misura Diametro puleggia 1 23.87 [mm] Diametro puleggia 2 76.39 [mm] Diametro puleggia 3 31.83 [mm] Inerzia Jp1 1.2135 [kgcm2 ] Inerzia Jp2 6.5420 [kgcm2 ] Inerzia Jp3 0.5990 [kgcm2 ] Interasse cinghia chiusa 119 [mm] Interasse cinghia aperta 1036 [mm] Numero denti puleggia 1 15 − Numero denti puleggia 2 48 − Numero denti puleggia 3 20 − Massa traslante 12 [kg] Lunghezza carrello 0.104 [m] Lunghezza albero di collegamento 683 [mm] Diametro albero di collegamento 19 [mm] Tabella 3.5: Valori dimensionali ed inerziali dei parametri - Asse Y Cinghia passo [mm] [mm] [mm] Larghezza [mm] [mm] [mm] Rigidezza specifica Kcs[ N mm Kcs[ N mm Kcs[ N mm ] Powergrip HTD 5 25 1.900 · 104 Synchropower HDT 5 15 2.340 · 104 Tabella 3.6: Dati cinghie - Asse Y 302
  • 339.
    Struttura del bancodi prova Grandezza Valore Unità di misura Velocità di rotazione massima 11000 rpm Coppia massima 7.6 Nm Costante di coppia del motore 0.48 Nm/A Costante di velocità 0.28 V s rad Inerzia del motore 51 kgmm2 Tensione massima di comando dell’azionamento ±10 V Corrente massima dell’azionamento 11 A Costante dell’azionamento 0.5280 Nm V Tabella 3.7: Dati del motore Mavilor BLS-073A.00.0105.00 - Asse Y Elemento Tipologia testina SME51-L-1-5-N-L5-J banda magnetica MT50-2-100-1 Tabella 3.8: Dati Encoder lineare - Asse Y 303
  • 340.
    Sistema cartesiano a2 gradi di libertà 3.2 Modellazione dinamica del sistema Nella presente sezione vengono sviluppati per entrambi gli assi del sistema cartesiano i modelli rigidi e cedevoli, quindi le equazioni del moto che permettono di descrivere il comportamento dinamico. 3.2.1 Asse X-Modello rigido La modellazione dinamica dell’asse X, considerato come rigido, tiene conto dei seguenti elementi: • motore PARKER NX110E; • puleggia motrice con raggio r1 ed inerzia Jp1; • puleggia di rinvio con raggio r2 ed inerzia Jp2; • due pulegge facenti parte della guida lineare con raggio r3 ed inerzia Jp3; In Fig.3.2 viene riportata la schematizzazione dell’asse X analizzato come rigido. M 𝑟3, 𝐽𝑝3 𝑟2, 𝐽𝑝2 𝑟1, 𝐽𝑝1 𝐶𝑚 θ𝑚, ሶ θ𝑚, ሷ θ𝑚 m 𝑟3, 𝐽𝑝3 𝐽𝑚 Fig. 3.2: Schematizzazione dell’asse X-Modello rigido L’equazione della dinamica viene ricavata scrivendo il bilancio delle potenze: Cm ·ωm = Jm ·ω̇m ·ωm +Jp1 ·ω̇m ·ωm +(Jp2 +Jp3)·ω2 ·ω̇2 +m·a·v+Jp3 ·ω3 ·ω̇3 (3.1) in cui ωm, ω̇m, ω2, ω̇2, ω3 e ω̇3 sono rispettivamente la velocità e l’accelerazione angolare dell’albero motore, della puleggia 2 e 3, mentre m a e v sono la massa, 304
  • 341.
    Modellazione dinamica delsistema l’accelerazione e la velocità lineare del carrello. Sostituendo in (3.1) le relazioni: ω2 = ωm · r1 r2 = ω3 a = ω̇m · r1 r2 · r3 v = ωm · r1 r2 · r3 e semplificando ωm, si ottiene l’equazione della dinamica (3.2), Cm = ω̇m · Jm + Jp1 + ( r1 r2 )2 [Jp2 + Jp3 + m · r2 3 + Jp3] (3.2) che, chiamando Jred = Jm + Jp1 + (r1 r2 )2 [Jp2 + Jp3 + m · r2 3 + Jp3] l’inerzia ridotta al motore, è possibile riscrivere in forma compatta come: Cm = ω̇m · Jred = θ̈m · Jred (3.3) In Fig.3.3 viene riportato lo schema Simulink rappresentante la dinamica dell’asse X, considerato come rigido, utile per le successive simulazioni. Fig. 3.3: Schema Simulink del modello rigido dell’asse X 305
  • 342.
    Sistema cartesiano a2 gradi di libertà 3.2.2 Asse X-Modello cedevole Lo sviluppo del modello cedevole considera anche le cedevolezze delle cinghie e le dissipazioni a loro associate. In Fig.3.4 viene riportata la rappresentazione dell’asse X esaminato come cedevole, in cui si evidenziano le rigidezze degli spezzoni di cin- ghia, rappresentate con un elemento elastico, e le dissipazioni, descritte graficamente con l’elemento smorzatore, posto in parallelo alla rigidezza. M 𝑟3, 𝐽𝑝3 𝑟2, 𝐽𝑝2 𝑟1, 𝐽𝑝1 𝐶𝑚 θ1, ሶ θ1, ሷ θ1 m 𝑟3, 𝐽𝑝3 𝐽𝑚 𝑘1,𝑐1 𝑘1,𝑐1 𝑘2,𝑐2 𝑘3,𝑐3 𝑘4,𝑐4 θ2 θ3 x Fig. 3.4: Schematizzazione dell’asse X - Modello cedevole L’equazione della dinamica viene ottenuta utilizzano il PLV (principio dei lavori virtuali) applicato ad ogni singolo grado di libertà del sistema, ovvero a θ1,θ2,θ3 ed x. Partendo dal primo grado di libertà θ1 e facendo riferimento alla Fig.3.5, si scrive l’equazione: δL∗ = −δθ1 · Jm · θ̈1 − δθ1 · Jp1 · θ̈1 + δθ1 · r1 · k1 · (θ2 · r2 − θ1 · r1) − δθ1 · r1 · k1 · (θ1 · r1 − θ2 · r2) + δθ1 · Cm + δθ1 · r1 · c1(θ̇2 · r2 − θ̇1 · r1) − δθ1 · r1 · c1 · (θ̇1 · r1 − θ̇2 · r2) = 0 (3.4) Semplificando δθ1 è possibile riscrivere la (3.4) come: Jm · θ̈1 + Jp1 · θ̈1 − r1 · k1 · (θ2 · r2 − θ1 · r1) + r1 · k1 · (θ1 · r1 − θ2 · r2) − Cm − r1 · c1(θ̇2 · r2 − θ̇1 · r1) + r1 · c1 · (θ̇1 · r1 − θ̇2 · r2) = 0 (3.5) Per il grado di libertà θ2 (Fig.3.6) l’equazione scritta è: 306
  • 343.
    Modellazione dinamica delsistema 𝐽𝑝1 ሷ θ1 𝐽𝑚 ሷ θ1 𝐶𝑚, θ1 𝐹1 𝐹2 𝑐1( ሶ θ1 𝑟1- ሶ θ2 𝑟2) 𝑐1( ሶ θ2 𝑟2- ሶ θ1 𝑟1) 𝐽𝑝1,𝑟1 Fig. 3.5: Grado di libertà θ1 - Asse X 𝐹1 𝐹2 𝑐1( ሶ θ2𝑟2- ሶ θ1𝑟1) 𝑐1( ሶ θ1𝑟1- ሶ θ2𝑟2) 𝐹3 𝐹5 𝑐2( ሶ 𝑥- ሶ θ2𝑟3) 𝑐4( ሶ θ2𝑟3 - ሶ θ3𝑟3) 𝐽𝑝2, 𝑟2 𝐽𝑝3, 𝑟3 θ2 (𝐽𝑝2 + 𝐽𝑝3) ሷ θ2 Fig. 3.6: Grado di libertà θ2 - Asse X δL∗ = −δθ2 ·(Jp2 +Jp3)·θ̈2 −δθ2 ·r2 ·k1 ·(θ2 ·r2 −θ1 ·r1)+δθ2 ·r2 ·k1 ·(θ1 ·r1 −θ2 ·r2) + δθ2 · r3 · k2 · (x − θ2 · r2) − δθ2 · r2 3 · k4 · (θ2 − θ3) − δθ2 · r2 · c1 · (θ̇2 · r2 − θ̇1 · r1) +δθ2 ·r2 ·c1 ·(θ̇1 ·r1 −θ̇2 ·r2)+δθ2 ·r3 ·c2 ·(ẋ−θ̇2 ·r3)−δθ2 ·r3 ·c4 ·(θ̇2 ·r3 −θ̇3 ·r3) = 0 (3.6) Semplificando δθ2 si ottiene: (Jp2 + Jp3) · θ̈2 + r2 · k1 · (θ2 · r2 − θ1 · r1) − r2 · k1 · (θ1 · r1 − θ2 · r2) − r3 · k2 · (x − θ2 · r2) + r2 3 · k4 · (θ2 − θ3) + r2 · c1 · (θ̇2 · r2 − θ̇1 · r1) − r2 · c1 · (θ̇1 · r1 − θ̇2 · r2) − r3 · c2 · (ẋ − θ̇2 · r3) + r3 · c4 · (θ̇2 · r3 − θ̇3 · r3) = 0 (3.7) Il grado di libertà descrivente lo spostamento lineare del carrelo è la coordinata x. Prendendo come riferimento Fig.3.7 si scrive l’equazione: δL∗ = δx·F4 −δx·F3 −δx·m·ẍ+δx·c3 ·(θ̇3 ·r3 −ẋ)−δx·c2 ·(ẋ−θ̇2 ·r3) = 0 (3.8) 307
  • 344.
    Sistema cartesiano a2 gradi di libertà m 𝐹4 𝐹3 x 𝑐3( ሶ θ3𝑟3 - ሶ 𝑥) 𝑐2( ሶ 𝑥- ሶ θ2𝑟3 ) m ሷ 𝑥 m Fig. 3.7: Grado di libertà x - Asse X 𝐹4 𝐹5 𝑐3( ሶ θ3𝑟3- ሶ 𝑥) 𝑐4( ሶ θ2𝑟3- ሶ θ3𝑟3) 𝐽𝑝3, 𝑟3 θ3 𝐽𝑝3 ሷ θ3 Fig. 3.8: Grado di libertà θ3 - Asse X dal quale è possibile ricavare: −k3 ·(θ3 ·r3 −x)+k2 ·(x−θ2 ·r3)+m·ẍ−c3 ·(θ̇3 ·r3 −ẋ)+c2 ·(ẋ−θ̇2 ·r3) = 0 (3.9) Infine, per l’ultimo grado di libertà θ3 (Fig.3.8) si scrive l’equazione: δL∗ = −δθ3 · Jp3 · ¨ θ3 − δθ3 · r3 · k3 · (θ3 · r3 − x) + δθ3 · r3 · k4 · (θ2 · r3 − θ3 · r3) − δθ3 · r3 · c3 · ( ˙ θ3 · r3 − ẋ) + δθ3 · r3 · c4 · ( ˙ θ2 · r3 − ˙ θ3 · r3) = 0 (3.10) che conduce a: Jp3 · ¨ θ3 + r3 · k3 · (θ3 · r3 − x) − r3 · k4 · (θ2 · r3 − θ3 · r3) + r3 · c3 · ( ˙ θ3 · r3 − ẋ) − r3 · c4 · ( ˙ θ2 · r3 − ˙ θ3 · r3) = 0 (3.11) Note le equazioni (3.5),(3.7),(3.11) e (3.9) si definiscono i vettori e le matrici ¨ X =         ¨ θ1 ¨ θ2 ¨ θ3 ẍ         ˙ X =         θ1 θ2 θ3 x         X =         θ1 θ2 θ3 x         308
  • 345.
    Modellazione dinamica delsistema M =         Jm + Jp1 0 0 0 0 Jp2 + Jp3 0 0 0 0 Jp3 0 0 0 0 m         K =         2 · k1 · r2 1 −2 · k1 · r1 · r2 0 0 −2 · k1 · r1 · r2 2 · r2 2 · k1 + r2 3 · k2 + r2 3 · k4 −r2 3 · k4 −r3 · k2 0 −r2 3 · k4 r2 3 · k3 + r2 3 · k4 −r3 · k3 0 −k2 · r3 −k3 · r3 k3 + k2         C =         2 · c1 · r2 1 −2 · c1 · r1 · r2 0 0 −2 · c1 · r1 · r2 2 · r2 2 · c1 + r2 3 · c2 + r2 3 · c4 −r2 3 · c4 −r3 · c2 0 −r2 3 · c4 r2 3 · c3 + r2 3 · c4 −r3 · c3 0 −c2 · r3 −c3 · r3 c3 + c2         che consentono la scrittura dell’equazione della dinamica in forma matriciale: M · ¨ X + C · ˙ X + K · X = Bf · Cm (3.12) in cui • M è la matrice di massa del sistema; • K è la matrice rigidezza del sistema; • C è la matrice smorzamento del sistema; • Bf è un vettore 4 x 1 con solo l’elemento in posizione 1x1 non nullo, ma unitario; • Cm è la coppia, ovvero l’ingresso del sistema. Le rigidezze degli spezzoni di cinghia vengono calcolate con la seguente formula: ki = kcsi · Wi lunghezza libera (3.13) dove kcsi è la rigidezza specifica della cinghia in [N/mm] mentre Wi è la larghezza dello spezzone. Per la determinazione di k1 è quindi sufficiente ricavare la lunghezza libera del tratto di cinghia di interesse: per farlo si fa riferimento alla Fig.3.9 e, noto 309
  • 346.
    Sistema cartesiano a2 gradi di libertà β 2 β 2 Interasse α θ1 θ2 𝐽𝑝2,𝑟2 𝐽𝑝1,𝑟1 Fig. 3.9: Schematizzazione della puleggia 1 e 2 per il calcolo della lunghezza libera l’interasse I1, il passo p della cinghia, il numero di denti Z1 e Z2 e i raggi r1 e r2 delle pulegge, si utilizzano le formule sottostanti: β = 2 · arccos( p · (Z2 − Z1) 2 · π · I1 ) (3.14) α = pi − β 2 (3.15) L = q I2 1 + r2 1 − 2 · I1 · r1 cos(α) (3.16) Per la rigidezza k4 si applica sempre la formula (3.13), ma la sua lunghezza libera coincide con l’ interasse stesso fra le pulegge. Le rigidezze k3 e k2 non sono invece costanti, ma variabili con la posizione assunta dal carrello lungo l’asse (Fig.3.10), quindi calcolabili come: k2 = kcs2 · W2 (I2−Lcar) 2 + x (3.17) k3 = kcs2 · W2 (I2−Lcar) 2 − x (3.18) Ne risulta quindi una matrice rigidezza K(x) non costante, ma variabile con la posizione assunta dal carrello. Nello scrivere le equazioni di moto si sarebbero do- vuti pertanto considerare anche i termini relativi alle variazioni di k2 e k3, tuttavia vengono trascurati nella presente analisi in quanto porterebbero a equazioni non li- neari e più complesse. In Fig.3.11 viene riportato il modello cedevole implementato nell’ambiente Simulink. 310
  • 347.
    Modellazione dinamica delsistema -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 [m] 0 0.5 1 1.5 2 2.5 3 [N/m] 106 k2 k3 Fig. 3.10: Andamento dei valori delle rigidezze k2 e k3 in funzione della posizione assunta dal carrello lungo l’asse X Fig. 3.11: Schema Simulink del modello cedevole dell’ asse X 311
  • 348.
    Sistema cartesiano a2 gradi di libertà 3.2.3 Analisi modale asse X Con la stessa procedura adottata nella sezione 1.3, si determinano le pulsazioni naturali, variabili in funzione della posizione del carrello lungo l’asse (Fig.3.12). In tabella (3.9) vengono riassunti i valori delle pulsazioni al centro e alle estremità della corsa utile del carrello. -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 [rad/s] 1 2 3 4 Fig. 3.12: Andamento delle pulsazioni naturali in funzione della posizione del carrello - asse X Posizione [mm] ω1[rad s ] ω1[rad s ] ω1[rad s ] ω2[rad s ] ω2[rad s ] ω2[rad s ] ω3[rad s ] ω3[rad s ] ω3[rad s ] ω4[rad s ] ω4[rad s ] ω4[rad s ] −0.5 0 1803.481615 2460.871370 8245.936022 0 0 827.722887 2971.870058 7982.134627 0.5 0 709.366801 6479.665173 7961.908269 Tabella 3.9: Pulsazioni naturali al centro e all’estremità della corsa del carrello - Asse X Per verificare la correttezza del modello si effettuano simulazioni il cui risultato sia noto e prevedibile, considerando il carrello in posizione x = 0, quindi una matrice rigidezza K costante. I risultati estratti da Matlab in termini di pulsazioni e modi di vibrare, valutati in x = 0, sono riportati in Fig.3.13. Considerando il sistema non smorzato e con forzante nulla, e scegliendo come condizioni iniziali di velocità 312
  • 349.
    Modellazione dinamica delsistema Fig. 3.13: Pulsazioni naturali e modi di vibrare in x=0 - asse X nulla e posizione pari al secondo modo di vibrare, la risposta libera nel tempo sarà prevedibilmente sinusoidale, con ampiezza e pulsazione naturale date dal modo di vibrare scelto: osservando la Fig.3.14, derivante dalla simulazione in Simulink, si valida quindi la correttezza del modello realizzato. Per procedere con le simulazioni che tengono conto anche delle dissipazioni presenti nel sistema è necessario ricavare la matrice smorzamento C. La matrice C ricavata in precedenza richiede la conoscenza dei valori di tutti gli smorzamenti ci, cosa non nota, ed è conseguenza dell’aver modellato le dissipazioni in parallelo alle rigidezze. Con lo stesso procedimento adottato per il sistema aptico nel paragrafo ??, la matrice C viene ricavata sfruttando le coordinate modali, ponendoci in x = 0 e fissando un fattore di smorzamento ξ = 0.4: C =         0.0639 −0.1206 −0.0021 −1.7298 −0.1206 0.3031 −0.0040 −1.9337 −0.0021 −0.0040 0.0252 −1.2864 −1.7298 −1.9337 −1.2864 561.0464         Nota la C, per verificare il comportamento del sistema vengono fatte le seguenti simulazioni, sempre ritenendo il carrello al centro della corsa utile, quindi con K costante: 313
  • 350.
    Sistema cartesiano a2 gradi di libertà 0 0.05 0.1 [s] -1 0 1 [rad] 1 0 0.05 0.1 [s] -0.5 0 0.5 [rad] 2 0 0.05 0.1 [s] -0.2 -0.1 0 0.1 0.2 [rad] 3 0 0.05 0.1 [s] -5 0 5 [rad] 10-3 x Fig. 3.14: Oscillazioni libere del sistema non smorzato, non forzato, condizioni iniziali pari al secondo modo di vibrare - Asse X 1. Risposta del sistema non forzato, smorzato eccitando il secondo modo di vibrare (Fig.3.15); 2. Risposta forzata del sistema smorzato (Fig.3.16); Infine, come ulteriore prova della correttezza degli schemi a blocchi realizzati in Simulink, si effettua un confronto tra modello rigido e cedevole. Emerge che, non considerando gli smorzamenti nulli, i due si comportano nello stesso modo dando in ingresso una coppia sinusoidale con frequenza lontano da quella di risonanza (Fig.3.17). Qualora invece si dia in ingresso una sinusoide con pulsazione pari a quella del secondo modo di vibrare, il sistema è in risonanza (Fig.3.18). Introducendo invece la matrice smorzamento C nel modello cedevole, per apprezzarne l’effetto si ripetete l’analisi precedente, ovvero si eccita il sistema con una sinusoide con pulsazione pari a quella del secondo modo di vibrare (Fig.3.19): è evidente come, a differenza di quanto ottenuto col modello cedevole non smorzato (Fig.3.18),la risposta non diverge ma viene correttamente smorzata. 314
  • 351.
    Modellazione dinamica delsistema 0 0.05 0.1 [s] -1 -0.5 0 0.5 1 [rad] 1 0 0.05 0.1 [s] -0.4 -0.2 0 0.2 0.4 [rad] 2 0 0.05 0.1 [s] -0.1 0 0.1 [rad] 3 0 0.05 0.1 [s] -5 0 5 [rad] 10-3 x Fig. 3.15: Oscillazioni smorzate del sistema, non forzato, condizioni iniziali pari al se- condo modo di vibrare - Asse X 0 0.02 0.04 0.06 [s] 0 5 10 15 20 [rad] 1 0 0.05 0.1 [s] 0 5 10 15 20 [rad] 2 0 0.05 0.1 [s] 0 5 10 15 20 [rad] 3 0 0.05 0.1 [s] 0 0.1 0.2 0.3 [m] x Fig. 3.16: Risposta nel tempo del sistema smorzato, forzante Q = [1, 0, 0, 0] costante, K costante - Asse X 315
  • 352.
    Sistema cartesiano a2 gradi di libertà 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 [s] 0 5 10 15 20 25 30 35 40 45 50 [rad] m cedevole m rigido Fig. 3.17: Andamento nel tempo della rotazione del motore, confrontando le risposte forzate, del modello cedevole non smorzato e del rigido, utilizzando come in- gresso una sinusoide con ampiezza di 20 Nm e pulsazione pari a 413.86 rad s - Asse X 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 [s] 0 5 10 15 20 25 30 35 40 45 50 [rad] m cedevole m rigido Fig. 3.18: Andamento nel tempo della rotazione del motore, confrontando le risposte for- zate, del modello cedevole non smorzato e del rigido, utilizzando come ingresso una sinusoide con ampiezza di 20 Nm e pulsazione pari a quella del secondo modo di vibrare - Asse X 316
  • 353.
    Modellazione dinamica delsistema 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 [s] 0 5 10 15 20 25 [rad] m cedevole m rigido Fig. 3.19: Andamento nel tempo della rotazione del motore, confrontando le risposte forzate, del modello cedevole smorzato e del rigido, utilizzando come ingresso una sinusoide con ampiezza di 20 Nm e pulsazione paria quella del secondo modo di vibrare - Asse X 3.2.4 Asse Y-Modello rigido La modellazione dell’asse Y, considerato come rigido, tiene conto dei seguenti ele- menti: • motore Mavilor BLS-073A.00.0105.00 e sua inerzia Jm; • puleggia motrice con raggio r1 ed inerzia Jp1 ; • puleggia di rinvio con raggio r2 ed inerzia Jp2 ; • quattro pulegge costituenti le due guide lineari con raggio r3 ed inerzia Jp3 ; • albero per la trasmissione del moto dalla puleggia 2 alle pulegge delle guide lineari con raggio rs ed inerzia Js; • massa traslante lungo l’asse Y. Facendo riferimento alla Fig.3.20 si scrive l’equazione della dinamica impostando un bilancio delle potenze: Cm·ωm = Jm·ω̇m·ωm+Jp1 ·ω̇m·ωm+Jp2 ·ω̇2·ω2+4·Jp3 ·ω̇2·ω2+Js·ω̇2·ω2+m·a·v (3.19) 317
  • 354.
    Sistema cartesiano a2 gradi di libertà M 𝑟2, 𝐽𝑝2 𝑟1, 𝐽𝑝1 𝐶𝑚 θ𝑚, ሶ θ𝑚, ሷ θ𝑚 𝑟3, 𝐽𝑝3 𝐽𝑚 𝑟3, 𝐽𝑝3 𝑟3, 𝐽𝑝3 𝑟3, 𝐽𝑝3 m 𝑟𝑠, 𝐽𝑠 Fig. 3.20: Schematizzazione dell’asse Y considerato come rigido dove ωm, ω2, ω̇m e ω̇2 sono rispettivamente velocità e accelerazione angolare del motore e della puleggia 2, Js è l’inerzia dell’albero di collegamento, che può essere stimata noto il suo diametro e la densità dell’acciaio, mentre a e v sono accelerazione e velocità della massa traslante. Sostituendo in (3.19) le relazioni: ω2 = ωm · r1 r2 = ω3 a = ω̇m · r1 r2 · r3 v = ωm · r1 r2 · r3 e semplificando ωm si ottiene l’equazione della dinamica del sistema rigido. Cm = ω̇m · [Jm + Jp1 + (Jp2 + 4 · Jp3 + Js + m · r2 3) · ( r1 r2 )2 ] (3.20) Chiamando Jred = [Jm + Jp1 + (Jp2 + 4 · Jp3 + Js + m · r2 3) · (r1 r2 )2 ] l’inerzia ridotta al motore, è possibile riscrivere la (3.20) come: Cm = θ̈m · Jred (3.21) in cui θ̈m è l’accelerazione angolare del motore. La rappresentazione del modello rigido dell’asse Y nell’ambiente Simulink è mostrata in Fig.3.21. 318
  • 355.
    Modellazione dinamica delsistema Fig. 3.21: Schema Simulink del modello rigido dell’asse Y 319
  • 356.
    Sistema cartesiano a2 gradi di libertà 3.2.5 Asse Y-Modello cedevole Esaminare l’asse Y come cedevole significa tener conto delle rigidezze delle cinghie, dell’albero di trasmissione del moto e delle dissipazioni introdotte da tali elementi. Come per l’asse X, il primo step è quello di rappresentare graficamente il sistema (Fig.3.22); essendo poi simmetrico è possibile passare a una rappresentazione più compatta (Fig.3.23). Per la scrittura delle equazioni di moto si è utilizzato il PLV (principio dei lavori virtuali), applicato ad ogni singolo grado di libertà. M 𝑟3, 𝐽𝑝3 𝑟2, 𝐽𝑝2 𝑟1, 𝐽𝑝1 𝐶𝑚 θ1, ሶ θ1, ሷ θ1 m 𝑟3, 𝐽𝑝3 𝐽𝑚 𝑘1,𝑐1 𝑘2,𝑐2 𝑘2𝑠,𝑐2𝑠 θ2 θ3 y 𝑟3, 𝐽𝑝3 m 𝑘2𝑑,𝑐2𝑑 θ4 𝑘1,𝑐1 𝑘2𝑠,𝑐2𝑠 𝑘2𝑑,𝑐2𝑑 𝑘2,𝑐2 𝑟3, 𝐽𝑝3 θ3 θ4 𝑘𝑡 2 , 𝑐𝑡 2 𝑘𝑡 2 , 𝑐𝑡 2 m Fig. 3.22: Schematizzazione del modello cedevole - Asse Y Il PLV applicato al gradi di libertà θ1, scritto facendo riferimento alla Fig.3.24, fornisce l’equazione: δL∗ = δθ1 · r1 · k1 · (θ2 · r2 − θ1 · r1) + δθ1 · r1 · c1 · (θ̇2 · r2 − θ̇1 · r1) −δθ2·r1·k1·(θ1·r1−θ2·r2)−δθ1·r1·c1·(θ̇1·r1−θ̇2·r2)+δθ1·Cm−δθ1·Jp1 ·θ̈1−δθ1·Jm·θ̈1 = 0 (3.22) 320
  • 357.
    Modellazione dinamica delsistema M 𝑟2, 𝐽𝑝2 𝑟1, 𝐽𝑝1 𝐶𝑚 θ1, ሶ θ1, ሷ θ1 𝐽𝑚 𝑘1,𝑐1 θ2 y 𝑟3, 𝐽𝑝3 2𝑘2𝑑,2𝑐2𝑑 𝑘1,𝑐1 2𝑘2𝑠,2𝑐2𝑠 2𝑘2,2𝑐2 𝑟3, 𝐽𝑝3 θ3 θ4 𝑘𝑡, 𝑐𝑡 m Fig. 3.23: Schematizzazione compatta del modello cedevole - Asse Y 𝑟2, 𝐽𝑝2 𝑟1, 𝐽𝑝1 𝐶𝑚 θ2 𝐹1 𝐹1 ′ 𝐹2 ′ 𝐹1 𝐹1 ′ 𝐹2 𝐹2 ′ 𝐹2 θ1 𝐽𝑚 ሷ θ1 𝐽1 ሷ θ1 𝐶𝑒𝑙= 𝑘𝑡(θ2- θ3) 𝐽𝑝2 ሷ θ2 𝐽𝑎 2 ሷ θ2 𝑐𝑡( ሶ θ3- ሶ θ2) Fig. 3.24: Gradi di libertà θ1 e θ2 - Asse Y 321
  • 358.
    Sistema cartesiano a2 gradi di libertà 𝑟3, 𝐽𝑝3 𝐹3 𝐹3 ′ 𝐹4 ′ 𝐹4 θ3 2𝐽3 ሷ θ3 2𝐽3 ሷ θ4 𝐽𝑎 2 ሷ θ1 𝐹5 𝐹5 ′ 𝐹4 ′ 𝐹4 θ4 𝐹3 ′ 𝐹3 𝐹5 ′ 𝐹5 m ሷ 𝑦 y 𝑟3, 𝐽𝑝3 𝑐𝑡( ሶ θ2- ሶ θ3) Fig. 3.25: Gradi di libertà θ3 e θ4 - Asse Y che, riscritta semplificando δθ1, risulta: − r1 · k1 · (θ2 · r2 − θ1 · r1) − r1 · c1 · (θ̇2 · r2 − θ̇1 · r1) + r1 · k1 · (θ1 · r1 − θ2 · r2) + r1 · c1 · (θ̇1 · r1 − θ̇2 · r2) − Cm + Jp1 · θ̈1 + Jm · θ̈1 = 0 (3.23) Per il grado di libertà θ2 (Fig.3.24) l’equazione è: δL∗ = −δθ2·Jp2 ·θ̈2−δθ2·kt·(θ2−θ3)−δθ2·r2·k1·(θ2·r2−θ1·r1)−δθ2·r2·c1·(θ̇2·r2−θ̇1·r1) +δθ2·r2·k1·(θ1·r1−θ2·r2)+δθ2·r2·k1·(θ1·r1−θ2·r2)+δθ2· Ja 2 · ¨ θ2−δθ2·c2(θ̇2−θ̇3) = 0 (3.24) riscritta poi come: Jp2 · θ̈2 + kt · (θ2 − θ3) + r2 · k1 · (θ2 · r2 − θ1 · r1) + r2 · c1 · (θ̇2 · r2 − θ̇1 · r1) − r2 · k1 · (θ1 · r1 − θ2 · r2) − r2 · k1 · (θ1 · r1 − θ2 · r2) + Ja 2 · ¨ θ2 + c2 · (θ̇2 − θ̇3) = 0 (3.25) Per il grado di libertà θ3, l’equazione è: δL∗ = −2 · δθ3 · J3 · ¨ θ3 + δθ3 · kt · (θ2 − θ3) + δθ3 · r3 · 2 · k2s · (x − θ3 · r3) δθ3 · r3 · 2 · c2s · (ẏ − ˙ θ3 · r3) − δθ3 · r3 · 2 · k2 · (θ3 · r3 − θ4 · r3) − δθ3 · r3 · 2 · c2 · (θ̇3 · r3 − θ̇4 · r3) − δθ3 · Ja 2 · θ̈3 + δθ3 · ct · (θ̇2 − ˙ θ3) = 0 (3.26) 322
  • 359.
    Modellazione dinamica delsistema che riarrangiata diventa: + 2 · J3 · θ̈3 − kt · (θ2 − θ3) − kt · (θ2 − θ3) − r3 · 2 · k2s · (x − θ3 · r3) − r3 · 2 · c2s · (ẏ − θ̇3 · r3) + r3 · 2 · k2 · (θ3 · r3 − θ4 · r3) + r3 · 2 · c2 · (θ̇3 · r3 − θ̇4 · r3) + Ja 2 · θ̈3 − ct · (θ̇2 − ˙ θ3) = 0 (3.27) L’ultima coordinata libera associata a una rotazione è θ4, per la quale si può scrivere: δL∗ = 2 · δθ4 · J3 · θ̈4 + 2 · δθ4 · r3 · k2d · (θ4 · r3 − y) + 2 · δθ4 · r3 · c2d · (θ̇4 · r3 − ẏ) − 2 · δθ4 · r3 · k2 · (θ3 · r3 − θ4 · r3) − 2 · δθ4 · r3 · c2 · (θ̇3 · r3 − δθ4 · θ̇4 · r3) (3.28) Semplificando lo spostamento virtuale δθ4 si ottiene: 2 · J3 · θ̈4 + r3 · 2 · k2d · (θ4 · r3 − y) + r3 · 2 · c2d · (θ̇4 · r3 − ẏ) − r3 · 2 · k2 · (θ3 · r3 − θ4 · r3) − r3 · 2 · c2 · (θ̇3 · r3 − θ̇4 · r3) (3.29) Infine, per l’ultimo grado di libertà y descrivente allo spostamento del carrello: δL∗ = −δy · m · ÿ − 2 · δy · k2s · (y − θ3 · r3) − 2 · δy · c2s · (ẏ − θ̇3 · r3) + 2 · δy · k2d · (θ4 · r3 − y) + 2 · δy · c2d · (θ4 · r3 − ẏ) = 0 (3.30) in cui semplificando δy, si ottiene: + m · ÿ + 2 · k2s · (y − θ3 · r3) + 2 · c2s · (ẏ − θ̇3 · r3) − 2 · k2d · (θ4 · r3 − y) − 2 · c2d · (θ̇4 · r3 − ẏ) = 0 (3.31) Note le equazioni (3.23),(3.25),(3.27), (3.29) e (3.31) si definiscono i vettori e le matrici ¨ X =            ¨ θ1 ¨ θ2 ¨ θ3 ¨ θ4 ÿ            ˙ X =            θ̇1 θ̇2 θ̇3 θ̇4 y            X =            θ1 θ2 θ3 θ4 y            323
  • 360.
    Sistema cartesiano a2 gradi di libertà M =            Jm + Jp1 0 0 0 0 0 Jp2 + Ja 2 0 0 0 0 0 2 · Jp3 + Ja 2 0 0 0 0 0 2 · J3 0 0 0 0 0 m            K =            2k1r2 1 −2k1r1r2 0 0 0 −2k1r1r2 2r2 2k1 + kt −kt 0 0 0 −kt kt + 2k2r2 3 + 2k2sr2 3 −2k2r2 3 −2k2sr3 0 0 −2k2r2 3 2k2r2 3 + 2k2dr2 3 −2k2dr3 0 0 −2k2sr3 −2k2dr3 2k2d + 2k2s            C =            2c1r2 1 −2c1r1r2 0 0 0 −2c1r1r2 2r2 2c1 + ct −ct 0 0 0 −ct ct + 2c2r2 3 + 2c2sr2 3 −2c2r2 3 −2c2sr3 0 0 −2c2r2 3 2c2r2 3 + 2c2dr2 3 −2c2dr3 0 0 −2c2sr3 −2c2dr3 2c2d + 2c2s            per permettere la scrittura dell’equazione della dinamica in forma matriciale: M · ¨ X + C · ˙ X + K · X = Bf · Cm (3.32) in cui compare la matrice di massa M, la matrice rigidezza K, la matrice smorza- mento C, il vettore Bf = [1, 0, 0, 0, 0]T e la coppia, ingresso del sistema. Come per l’asse X, alcune rigidezze sono costanti (k1 e k2) mentre altre variano con la posizione assunta dalla massa traslante lungo l’asse Y (k2s e k2d) (Fig.3.27): la procedura per la loro determinazione è analoga a quella già vista per l’altro asse. La rigidezza tor- sionale dell’albero di collegamento invece viene determinata utilizzando il diametro (d), la lunghezza (l) e il modulo elastico tangenziale G, tramite la formula: Kt = π · G · d4 32 · l (3.33) In Fig.3.26 il diagramma a blocchi Simulink rappresentante la dinamica dell’asse Y. 324
  • 361.
    Modellazione dinamica delsistema Fig. 3.26: Schema Simulink del modello cedevole dell’asse Y -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 [m] 0 1 2 3 4 5 6 [N/m] 107 k2s k2d Fig. 3.27: Andamento dei valori delle rigidezze k2s e k2d in funzione della posizione as- sunta dalla massa traslante lungo l’asse Y 325
  • 362.
    Sistema cartesiano a2 gradi di libertà 3.2.6 Analisi modale asse Y Come fatto per l’asse X, il primo passo per condurre l’analisi modale consiste nel determinare le pulsazioni proprie del sistema, variabili in funzione della posizione della massa traslante lungo l’asse Y (Fig.3.28). In tabella (3.10) vengono riassunti i valori delle pulsazioni al centro e alle estremità della corsa utile. -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 x [m] 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 [rad/s] 1 2 3 4 5 Fig. 3.28: Andamento delle pulsazioni naturali in funzione della posizione del carrello - Asse Y Posizione [mm] ω1[rad s ] ω1[rad s ] ω1[rad s ] ω2[rad s ] ω2[rad s ] ω2[rad s ] ω3[rad s ] ω3[rad s ] ω3[rad s ] ω4[rad s ] ω4[rad s ] ω4[rad s ] ω5[rad s ] ω5[rad s ] ω5[rad s ] −0.5 0 0.000024 1104.865163 1792.348725 4491.923643 0 0 515.699478 2134.093708 3447.999640 4661.473051 0.5 0 0 451.436742 3275.417949 4636.292411 Tabella 3.10: Pulsazioni naturali al centro e all’estremità della corsa del carrello - Asse Y Analogamente a quanto fatto per l’asse X si testa il modello Simulink realizzato per simulare il comportamento dinamico del sistema. Considerando il carrello in posizione y = 0, quindi una matrice rigidezza K costante, i risultati ricavati da Matlab in termini di pulsazioni e modi di vibrare sono riportati in Fig.3.29. La 326
  • 363.
    Modellazione dinamica delsistema Fig. 3.29: Pulsazioni naturali e modi di vibrare in y=0 - Asse Y prima analisi condotta per validare la correttezza dello schema Simulink è stata valutare la risposta libera del sistema non smorzato con condizioni iniziali di velocità nulle e posizione pari al secondo modo di vibrare. Il risultato, come ci aspetta, è sinusoidale con ampiezza e pulsazione naturale data dal secondo modo di vibrare (Fig.3.30). Per tener conto in fase di simulazione della componente dissipativa, è necessario stimare la matrice smorzamento C. La matrice C, anche per l’asse Y, viene ricavata sfruttando le coordinate modali, considerando il carrello in y = 0 e fissando un fattore di smorzamento ξ = 0.4: C =            0.1934 −0.4798 −0.0347 −0.0070 −6.1179 −0.4798 1.8806 −0.1897 −0.0133 −8.9258 −0.0347 −0.1897 0.4364 −0.0265 −6.8518 −0.0070 −0.0133 −0.0265 0.2026 −8.8159 −6.1179 −8.9258 −6.8518 −8.8159 2775.5            Ricavata la C, per verificare il comportamento del sistema vengono fatte le seguenti simulazioni, sempre ritenendo il carrello al centro della corsa utile, quindi con K costante: 327
  • 364.
    Sistema cartesiano a2 gradi di libertà Fig. 3.30: Oscillazioni libere del sistema non smorzato, non forzato, condizioni iniziali pari al secondo modo di vibrare - Asse Y 1. Risposta del sistema non forzato, smorzato, eccitando il secondo modo di vibrare (Fig.3.31); 2. Risposta forzata del sistema smorzato (Fig.3.32); Infine, come ulteriore prova della correttezza degli schemi a blocchi realizzati in Simulink, si effettua un confronto tra modello rigido e cedevole. Le simulazioni condotte sono le seguenti: 1. risposta forzata del modello rigido e cedevole non smorzato con ingresso si- nusoidale con frequenza distante da quella di risonanza: i due modelli si comportano circa allo stesso modo (Fig.3.33). 2. risposta forzata del modello rigido e cedevole non smorzato con ingresso sinu- soidale con frequenza pari a quella del secondo modo di vibrare: il modello cedevole va in risonanza (Fig.3.34). 3. stessa analisi del punto precedente ma considerando il modello cedevole smor- zato: il sistema non diverge bensı̀ le oscillazioni vengono smorzate (Fig.3.35). 328
  • 365.
    Modellazione dinamica delsistema Fig. 3.31: Oscillazioni smorzate del sistema, non forzato, condizioni iniziali pari al se- condo modo di vibrare - Asse Y Fig. 3.32: Risposta nel tempo del sistema smorzato, forzante Q = [1, 0, 0, 0] costante, K costante - Asse Y 329
  • 366.
    Sistema cartesiano a2 gradi di libertà 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 [s] 0 2 4 6 8 10 12 14 [rad] m cedevole m rigido Fig. 3.33: Andamento nel tempo della rotazione del motore, confrontando le risposte forzate, del modello cedevole non smorzato e del rigido, utilizzando come in- gresso una sinusoide con ampiezza di 20 Nm e pulsazione pari a 257.85 rad s - Asse Y 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 [s] 0 2 4 6 8 10 12 [rad] m cedevole m rigido Fig. 3.34: Andamento nel tempo della rotazione del motore, confrontando le risposte for- zate, del modello cedevole non smorzato e del rigido, utilizzando come ingresso una sinusoide con ampiezza di 20 Nm e pulsazione pari a quella del secondo modo di vibrare - Asse Y 330
  • 367.
    Modellazione dinamica delsistema 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 [s] 0 1 2 3 4 5 6 7 [rad] m cedevole m rigido Fig. 3.35: Andamento nel tempo della rotazione del motore, confrontando le risposte forzate, del modello cedevole smorzato e del rigido, utilizzando come ingresso una sinusoide con ampiezza di 20 Nm e pulsazione pari a quella del secondo modo di vibrare - Asse Y 331
  • 368.
    Sistema cartesiano a2 gradi di libertà 3.3 Controllo di posizione Per far eseguire all’end-effector una qualsiasi traiettoria nello spazio di lavoro è necessario sviluppare un robusto controllo di posizione, che consenta di fare muo- vere i singoli assi secondo precise leggi di moto, assegnate come riferimento. La strategia di controllo scelta è il posizionamento poli, testato prima in simulazione e successivamente verificato sperimentalmente sul banco di prova. Per le nozioni sul funzionamento e sulle peculiarità di questa tecnica di controllo si faccia riferimento a quanto già descritto nel paragrafo 1.6.1: la struttura delle equazioni dei modelli è la medesima già vista per il sistema aptico pertanto vengono riportati di seguito solo le analisi condotte e i risultati sperimentali. 3.3.1 Posizionamento poli - Asse X Per il controllo in posizione dell’asse X, sono state fissati i poli complessi coniugati con le seguenti caratteristiche: • smorzamento ξ = 0.6; • frequenza naturale fn=20 Hz. a cui corrispondono i valori dei guadagni: • g1=6.6811; • g2= 0.0638; Nelle Fig.3.36 e Fig.3.37 viene mostrato lo schema di controllo basato sulla tecnica del posizionamento poli, applicata sia al modello rigido che cedevole. Per la va- lidazione dei valori dei guadagni si procede con la simulazione facendo percorrere al carrello uno spostamento 700 mm in 0.4 s secondo una legge di moto di tipo Polinomiale 4-5-6-7, seguito da una fase di riposo, per poi tornare nella posizione iniziale con un profilo di moto analogo a quello della fase di andata. I valori di tempo e spostamento caratterizzanti la legge di moto sono stati scelti in modo da non saturare le proprietà del motore, in termini di velocità e coppia, ma allo stesso tempo verificare l’efficacia del controllo su un movimento abbastanza rapido. 332
  • 369.
    Controllo di posizione Fig.3.36: Schema di controllo basato sul posizionamento poli - Asse X rigido Fig. 3.37: Schema di controllo basato sul posizionamento poli - Asse X cedevole Fig. 3.38: Generazione dei riferimenti di posizione e velocità - Asse X 333
  • 370.
    Sistema cartesiano a2 gradi di libertà 0 0.5 1 1.5 [s] 0 200 400 600 x [mm] 0 0.5 1 1.5 [s] -4000 -2000 0 2000 4000 xp [mm] Fig. 3.39: Riferimenti di posizione e velocità lineare- Asse X In Fig.3.39 vengono mostrati i riferimenti di posizione e velocità lineare assegnati al carrello. Come già anticipato, lo schema di controllo e quindi i riferimenti generati vengono applicati sia al modello rigido che cedevole. Analizzando i risultati (Fig.3.40 e Fig.3.41) non si osservano rilevanti differenze di comportamento fra i due modelli, bensı̀ si appura il successo della metodologia del posizionamento poli con i valori dei guadagni scelti in quanto la posizione effettiva dell’end-effector segue adeguatamente quella assegnata come riferimento. Osservando con maggior precisione i risultati, si evidenzia una sovraelongazione in posizione al termine della prima fase di alzata (Fig.3.42) e alla fine del movimento; analogamente, il profilo di velocità effettiva si discosta rispetto al profilo di riferimento (Fig.3.43). Tali errori, in posizione ed in velocità, sono però molto limitati, quindi accettabili; ciò permette di concludere che il controllo in posizione sviluppato è adeguato per controllare il posizionamento del carrello lungo l’asse X. 334
  • 371.
    Controllo di posizione 00.5 1 1.5 t [s] -100 0 100 200 300 400 500 600 700 800 x [mm] xrif xrigido xcedevole Fig. 3.40: Andamento nel tempo della posizione del carrello controllata tramite posizio- namento poli - Asse X 0 0.5 1 1.5 t [s] -4000 -3000 -2000 -1000 0 1000 2000 3000 4000 x [mm/s] xprif xprigido xpcedevole Fig. 3.41: Andamento nel tempo della velocità del carrello controllata tramite posizio- namento poli - Asse X 335
  • 372.
    Sistema cartesiano a2 gradi di libertà 0.34 0.35 0.36 0.37 0.38 0.39 0.4 0.41 0.42 0.43 0.44 t [s] 699.4 699.5 699.6 699.7 699.8 699.9 700 700.1 700.2 700.3 700.4 x [mm] xrif xrigido xcedevole Fig. 3.42: Sovraelongazione al termine della fase di alzata nel profilo di posizione seguito dal carrello carrello controllato tramite posizionamento poli - Asse X 0.375 0.38 0.385 0.39 0.395 0.4 0.405 0.41 0.415 0.42 0.425 t [s] -20 -15 -10 -5 0 5 10 15 20 x [mm/s] xprif xprigido xpcedevole Fig. 3.43: Sovraelongazione, al termine della fase di alzata, nel profilo di velocità seguito dal carrello carrello controllato tramite posizionamento poli - Asse X 336
  • 373.
    Controllo di posizione 101 102 103 [rad/s] -40 -30 -20 -10 0 10 [dB] 101 102 103 [rad/s] -100 -50 0 [deg] Fig.3.44: Diagramma di Bode, del modulo e della fase, della funzione di trasferimento del posizionatore che riceve in ingresso la posizione di riferimento - Asse X Infine si determina la funzione di trasferimento del sistema di controllo progettato che può essere determinata in due modalità a seconda del segnale che riceve in ingresso: • Gpos riceve in ingresso la posizione di riferimento; • Gvel riceve in ingresso la velocità di riferimento. In ogni caso, entrambe forniscono in uscita la posizione effettiva del carrello. Le procedure per la loro determinazione sono analoghe a quella già vista nel paragrafo 1.6.1, pertanto vengono mostrati direttamente solo i diagrammi di Bode di modulo e fase (Fig.3.44 e Fig.3.45). 337
  • 374.
    Sistema cartesiano a2 gradi di libertà 101 102 103 [rad/s] -100 -50 0 [dB] 101 102 103 [rad/s] -200 -150 -100 [deg] Fig. 3.45: Diagramma di Bode, del modulo e della fase, della funzione di trasferimento del posizionatore che riceve in ingresso la velocità di riferimento - Asse X Terminata la fase di progettazione, si passa all’implementazione dello schema di controllo sul banco di prova, per poterlo validare anche sperimentalmente. Utiliz- zando allora gli stessi guadagni e lo stesso profilo di moto assegnato in simulazione all’end-effector, si analizzano i risultati sperimentali (Fig.3.46 e Fig.3.47). La Fig.3.47 evidenzia come la coordinata x descrivente lo spostamento effettivo del carrello segua adeguatamente il profilo di riferimento, con un minimo errore a regime pari a 0.7 mm; si validano pertanto i valori dei guadagni g1 e g2 scelti. 338
  • 375.
    Controllo di posizione 44.5 5 5.5 6 6.5 7 7.5 8 [s] -100 0 100 200 300 400 500 600 700 800 [mm] xref xeff Fig. 3.46: Confronto fra posizione di riferimento ed effettiva raggiunta dal carrello usando la metodologia del posizionamento poli - asse X 4 4.5 5 5.5 6 6.5 7 7.5 8 [s] -4000 -3000 -2000 -1000 0 1000 2000 3000 4000 [mm/s] xpref xpeff Fig. 3.47: Confronto fra velocità di riferimento ed effettiva raggiunta dal carrello usando la metodologia del posizionamento poli - asse X 339
  • 376.
    Sistema cartesiano a2 gradi di libertà Fig. 3.48: Schema di controllo basato sul posizionamento poli - Asse Y rigido 3.3.2 Posizionamento Poli - Asse Y Anche per l’asse Y, per applicare la tecnica del posizionamento poli per il control- lo della posizione della massa traslante, è necessario fissare lo smorzamento e la frequenza naturale dei poli del sistema in anello chiuso. Vengono fissati i seguenti valori: • smorzamento ξ = 0.6 • frequenza naturale fn = 17 a cui corrispondo i valori dei guadagni: • g1 = 6.4245 • g2 = 0.0722 Nelle Fig.3.48 e Fig.3.49 viene mostrato lo schema di controllo basato sulla me- todologia del posizionamento poli, applicata sia al modello rigido che cedevole. 340
  • 377.
    Controllo di posizione Fig.3.49: Schema di controllo basato sul posizionamento poli - Asse Y cedevole Fig. 3.50: Generazione dei riferimenti di posizione e velocità - Asse Y 341
  • 378.
    Sistema cartesiano a2 gradi di libertà Per assegnare in fase di simulazione un coerente profilo di moto al carrello occorre anche considerare le caratteristiche del motore a disposizione, quindi il rispetto delle condizioni di picco, termica e cinematica. Note le specifiche del motore Mavilor: • Cn compresa fra 1.5 e 2; • Cmax = 7.6 [Nm] • ωmax = 11000 rpm = 1151.92 rad s corrispondente a una velocità lineare della massa del carrello pari a 5728.5 mm s è necessario verificare che Cn, Cmax e ωmax siano rispettivamente maggiori della coppia rms, della coppia massima e della velocità massima richiesta dal carico al motore. Considerando il carico come puramente inerziale, se si trascurano gli attriti, Cmax e Crms richieste dal carico si ottengono semplicemente moltiplicando l’inerzia equivalente del sistema ridotta all’ albero motore per l’accelerazione rms e massima richiesta dal carico al motore. Si assegna quindi un profilo di moto alla massa traslante caratterizzato da una fase di andata pari a 500 [mm] da percorrere in un tempo ta = 0.5 [s] seguita da una di riposo di durata 0.8 [s] e da quella finale in cui ritorna nella posizione iniziale, analoga al primo tratto percorso. La legge di moto utilizzata è la polinomiale 4-5-6-7 e i riferimenti di posizione e velocità sono mostrati in Fig.3.51. 0 0.5 1 1.5 2 2.5 [s] 0 200 400 600 y [mm] 0 0.5 1 1.5 2 2.5 [s] -2000 -1000 0 1000 2000 yp [mm] Fig. 3.51: Riferimenti di posizione e velocità lineare- Asse Y 342
  • 379.
    Controllo di posizione 00.5 1 1.5 2 2.5 3 t [s] 0 100 200 300 400 500 600 y [mm] yrif yrigido ycedevole Fig. 3.52: Andamento nel tempo della posizione del carrello controllata tramite posizio- namento poli - Asse Y Applicando il sistema di controllo sia al modello cedevole che rigido si ottengono i risultati di Fig.3.52 e Fig.3.53 mostrano i risultati. Anche per quest’asse, al termine della prima fase di alzata e alla fine del movimento, si nota una maggior differenza rispetto al profilo di riferimento (Fig.3.54 e Fig.3.55). Essendo però tali errori dell’ ordine del decimo di millimetro, sono ritenibili trascurabili e quindi più che accetta- bili. Il controllo di posizione sviluppato, basato sul posizionamento poli, può quindi ritenersi adeguato per il controllo della massa traslante lungo l’asse Y. 343
  • 380.
    Sistema cartesiano a2 gradi di libertà 0 0.5 1 1.5 2 2.5 3 t [s] -2500 -2000 -1500 -1000 -500 0 500 1000 1500 2000 2500 yp [mm/s] yprif yprigido ypcedevole Fig. 3.53: Andamento nel tempo della velocità del carrello controllata tramite posizio- namento poli - Asse Y 0.38 0.4 0.42 0.44 0.46 0.48 0.5 0.52 0.54 0.56 0.58 t [s] 499.2 499.4 499.6 499.8 500 500.2 500.4 500.6 500.8 y [mm] yrif yrigido ycedevole Fig. 3.54: Sovraelongazione al termine della fase di alzata nel profilo di posizione seguito dal carrello carrello controllato tramite posizionamento poli - Asse Y 344
  • 381.
    Controllo di posizione 0.420.44 0.46 0.48 0.5 0.52 0.54 0.56 0.58 t [s] -15 -10 -5 0 5 10 15 yp [mm/s] yprif yprigido ypcedevole Fig. 3.55: Sovraelongazione, al termine della fase di alzata, nel profilo di velocità seguito dal carrello carrello controllato tramite posizionamento poli - Asse Y Analogamente a quanto fatto per l’asse X si calcola la funzione di trasferimento del posizionatore, nei due casi: • Gpos riceve in ingresso la posizione di riferimento; • Gvel riceve in ingresso la velocità di riferimento; Entrambe forniscono in uscita la posizione effettiva della massa traslante. La proce- dura per la loro determinazione è la medesima di quella vista per il sistema aptico (1.6.1): vengono qui riportati solo i diagrammi di Bode di modulo e fase (Fig.3.56 e Fig.3.57). Ultimate le simulazioni, si implementa il sistema di controllo sul banco di prova, adottando gli stessi valori dei guadagni e lo stesso profilo di moto utilizzato in Simulink: i risultati sperimentali sono visibili in Fig.3.58 e Fig.3.59. La Fig.3.58 evidenzia come la coordinata x descrivente lo spostamento effettivo del carrello se- gua adeguatamente il profilo di riferimento, con un minimo errore a regime pari a 0.25 mm; si validano pertanto i valori dei guadagni g1 e g2 scelti. 345
  • 382.
    Sistema cartesiano a2 gradi di libertà 100 101 102 103 [rad/s] -40 -30 -20 -10 0 [dB] 100 101 102 103 [rad/s] -100 -50 0 [deg] Fig. 3.56: Diagramma di Bode, del modulo e della fase, della funzione di trasferimento del posizionatore che riceve in ingresso la posizione di riferimento - Asse Y 100 101 102 103 [rad/s] -100 -50 0 [dB] 100 101 102 103 [rad/s] -200 -150 -100 [deg] Fig. 3.57: Diagramma di Bode, del modulo e della fase, della funzione di trasferimento del posizionatore che riceve in ingresso la velocità di riferimento - Asse Y 346
  • 383.
    Controllo di posizione 44.5 5 5.5 6 6.5 7 7.5 8 [s] -100 0 100 200 300 400 500 600 [mm] yref yeff Fig. 3.58: Confronto fra posizione di riferimento ed effettiva raggiunta dal carrello usando la metodologia del posizionamento poli - asse Y 4 4.5 5 5.5 6 6.5 7 7.5 8 [s] -3000 -2000 -1000 0 1000 2000 3000 [mm/s] ypref ypeff Fig. 3.59: Confronto fra velocità di riferimento ed effettiva raggiunta dal carrello usando la metodologia del posizionamento poli - asse Y 347
  • 384.
    Sistema cartesiano a2 gradi di libertà 3.4 Homing Essendo i due assi del banco di prova dotati di sensori di posizione relativi è im- portante svolgere un’operazione preliminare chiamata homing. Questa consiste, al- l’avvio del macchinario, nel determinare la posizione di zero, in cui viene fissata l’origine della coordinata descrivente la spostamento del carico. Una volta esegui- to l’ homing sarà poi possibile determinare la posizione assoluta dell’end-effector utilizzando i sensori relativi quali sono i resolver associati ai motori dei due assi. I passi per l’esecuzione dell’ homing sono i medesimi adottati sul sistema aptico, per cui per maggiori dettagli sulla procedura si faccia riferimento al paragrafo 1.7. Anche per gli assi del sistema cartesiano, viene scelto di posizionare l’origine della coordinata al centro della corsa utile, quindi determinati i valori della coordinata angolare corrispondenti alle posizioni dei due finecorsa (θmn e θmf ), si calcola quel- la corrispondente all’origine, che descrive la posizione angolare assoluta dell’albero motore, con la formula (3.4) θm0 = θmn + θmf 2 Utilizzando l’opportuno rapporto di trasmissione dell’asse, che converte la rotazione del motore nello spostamento lineare, si risale all’origine della coordinata x (x0) e y (y0), descrivente la posizione dell’end-effector. La posizione assoluta del carrello si ricava quindi sottraendo a quella effettiva misurata tramite il sensore relativo, la x0 o y0, a seconda dell’asse in questione. Nelle Fig.3.60 e Fig.3.61 si illustra l’avvenuta operazione di homing sul banco di prova mostrando gli andamenti nel tempo del riferimento di posizione e del profilo effettivo seguito dal carrello. Fig.3.60 e Fig.3.61 mostrano quindi le tre fasi costituenti la procedura di homing: 1. la prima in cui si assegna all’end-effector una legge di moto polinomiale che gli consente di raggiungere una certa velocità costante, partendo da velocità nulla, e di mantenerla fino a quando non intercetta il primo finecorsa. 2. la seconda analoga alla precedente, ma con movimento verso l’altro finecorsa. 3. la terza in cui si fa muovere il carrello con legge di moto polinomiale 3-4-5 verso il centro della guida lineare, di cui ormai è noto il centro e che costituirà 348
  • 385.
    Homing 0 2 46 8 10 12 14 16 18 20 [s] -600 -400 -200 0 200 400 600 [mm] xref xeff Fig. 3.60: Andamento, in funzione del tempo, della posizione del carrello sull’asse X, durante l’operazione di ”homing” l’origine della posizione assoluta dell’end-effector. Si precisa come il primo e il secondo movimento vengano fatti assegnando velocità di regime abbastanza basse, pari a 200 mm/s, poichè permettono all’end-effector, una volta raggiunto il finecorsa, di arrestarsi senza urtare i finecorsa meccanici; viceversa, utilizzando velocità più elevate, in particolar modo per l’asse Y, la massa non si fer- ma istantaneamente nell’ istante in cui il finecorsa cambia stato, ma per effetto della propria inerzia, procede oltre, determinando nel profilo di posizione effettivo una so- vraelongazione alla fine del primo e del secondo movimento ed un significativo errore a regime rispetto al profilo desiderato. La buona riuscita di tale passaggio prelimi- nare è conseguenza dell’efficace controllo di posizione precedentemente progettato. 349
  • 386.
    Sistema cartesiano a2 gradi di libertà 0 2 4 6 8 10 12 14 16 18 20 [s] -600 -400 -200 0 200 400 600 [mm] yref yeff Fig. 3.61: Andamento, in funzione del tempo, della posizione della massa traslante sul- l’asse Y, durante l’operazione di homing 3.5 Generazione di traiettorie Un’applicazione del sistema cartesiano a 2 g.d.l. è quella di macchina per l’esecuzione del taglio al laser. Per svolgere tale operazione è necessario saper gestire il posiziona- mento dell’end-effector nello spazio operativo secondo delle traiettorie desiderate, in modo poi, all’atto pratico, da realizzare il prodotto finale con le geometrie richieste. Sul banco di prova a disposizione si implementano quindi delle semplici traiettorie da far seguire all’end-effector, senza poi realizzare effettivamente il processo di se- parazione termica, data l’assenza del dispositivo finale di taglio. La generazione del riferimento di posizione e il conseguente movimento della massa traslante è sicura- mente un’ulteriore verifica dell’efficacia del controllo di posizione progettato, basato sulla metodologia del posizionamento poli. Le traiettorie implementate sono: • lineare; • circolare; • Spirale di Archimede; 350
  • 387.
    Generazione di traiettorie •a farfalla. All’avvio del macchinario è indispensabile eseguire l’operazione preliminare di ho- ming per poter fissare le origini delle coordinate x e y descriventi la posizione assoluta del carrello, poste per semplicità al centro dello spazio operativo. Le coordinate spa- ziali di ogni punto da raggiungere sono quindi fornite rispetto alla posizione centrale dello spazio di lavoro. Il movimento del macchinario consiste dunque nelle seguenti due fasi: 1. operazione preliminare di homing; 2. selezione ed esecuzione delle traiettorie: l’end-effector si posiziona prima nel punto di partenza scelto ed segue successivamente il percorso desiderato; Dal punto di vista computazionale, individuata la tipologia di percorso da assegnare all’end-effector, è necessario definire la legge oraria s = s(t) di percorrenza per poi risalire a quelle lungo gli assi X ed Y, ed infine alle rotazioni e velocità da attribuire ai motori. Un generico punto P della traiettoria è esprimibile mediante la relazione (3.34), in cui x(s) e y(s) sono funzioni scalari dell’ascissa curvilinea s, coordinata misurata lungo la traiettoria, a sua volta funzione del tempo. ⃗ P(s) = x(s) ·⃗ i + y(s) ·⃗ j (3.34) La velocità si ricava mediante la formula (3.35), ottenuta derivando rispetto al tempo la relazione (3.34), in cui d ⃗ P ds è il versore tangente alla traiettoria che può essere riscritto esplicitandone le componenti, le quali sono i coseni direttori del vettore ⃗ P (formula (3.36)). d⃗ P dt = d⃗ P ds · ds dt = ⃗ P ′ · ṡ (3.35) d⃗ P ds = dx ds ·⃗ i + dy ds ·⃗ j = x ′ (s) ·⃗ i + y ′ (s) ·⃗ j (3.36) Le accelerazioni si ottengono derivando ulteriormente d ⃗ P dt (formula (3.37)). d ˙ ⃗ P dt = d(⃗ P ′ · ṡ) dt = d⃗ P ′ dt · ṡ + ⃗ P ′ · dṡ dt = d⃗ P ′ ds · ṡ2 + ⃗ P ′ · s̈ = ⃗ P ′′ · ṡ2 + ⃗ P ′ · s̈ (3.37) 351
  • 388.
    Sistema cartesiano a2 gradi di libertà Il vettore ⃗ P ′′ ha direzione del versore normale ⃗ n alla traiettoria e modulo pari 1 ρ con ρ raggio di curvatura della traiettoria (formula (3.38)). ⃗ P ′′ = ⃗ n ρ (3.38) In definitiva, le velocità e le accelerazioni lungo gli assi X e Y possono essere calcolate mediante i sistemi di equazioni (3.39) e (3.40), in cui x ′ (s), y ′ (s), x ′′ (s) e y ′′ (s) sono rispettivamente le velocità ed accelerazioni geometriche dipendenti dalla traiettoria che si intende realizzare.      ẋ = x ′ (s) · ṡ ẍ = x ′′ (s) · ṡ2 + x ′ · s̈ (3.39)      ẏ = y ′ (s) · ṡ ÿ = y ′′ (s) · ṡ2 + y ′ · s̈ (3.40) 𝑥 𝑦 𝑠(𝑡) 𝑷(𝐬(𝐭)) 0 Ԧ 𝑖 Ԧ 𝑗 Fig. 3.62: Traiettoria generica Per correlare le velocità e le accelerazioni lineari lungo gli assi a quelle angolari dei motori è necessario fare un analisi del sistema a due gradi di libertà. Considerando un generico sistema a 2 g.d.l. ed analizzando il problema in termini di posizione, l’input è costituito da due variabili scalari mentre l’uscita sono le coordinate xp ed yp del generico punto P nello spazio di lavoro. La trasformazione del moto tra ingressi, chiamati per semplicità q1 e q2, e le uscite del sistema, consentita esclusivamente 352
  • 389.
    Generazione di traiettorie dallapresenza della parte meccanica, è chiamata cinematica diretta; l’operazione inversa costituisce invece la cinematica inversa. Per esplicitare il legame tra gli ingressi e le uscite del sistema, si definiscono i vettori: S =   xP yP   Q =   q1 q2   In generale si può scrivere: S = F(Q) (3.41) L’ equazione (3.41) permette di avere un espressione in termini generali che lega le variabili in ingresso con quelle di uscita: a seconda del sistema meccanico, saranno poi da determinare le relazioni che permettono di scrivere la trasformazione tra ingressi ed uscite. Esplicitando le singole funzioni scalari contenute in (3.41) si ottiene il sistema di equazioni (3.42).      xP = f1(Q) yP = f2(Q) (3.42) Le velocità si ricavano mediante il sistema (3.43).      ẋP = dxP dt = d(f1(Q) dt = δf1(Q) δQ · dQ dt ẏP = dyP dt = d(f2(Q) dt = δf2(Q) δQ · dQ dt (3.43) Definendo dS dt = ˙ S =   ẋP ẏP   dQ dt = ˙ Q =   q̇1 q̇2   è possibile scrivere in forma matriciale la relazione che lega le velocità in ingresso a quelle in uscita, mediante la formula (3.44). ˙ S =   ẋP ẏP   =   δf1 δq1 δf1 δq2 δf2 δq1 δf2 δq2   · ˙ Q = J · ˙ Q (3.44) La matrice J è detta matrice dei rapporti di trasmissione generalizzati, o Jacobiano del sistema e descrive la trasformazione del moto in termini differenziali, ovvero delinea come vengono trasformate le velocità in ingresso in quelle di uscita. Lo Jacobiano, che non è in genere una matrice costante, contiene informazioni di tipo 353
  • 390.
    Sistema cartesiano a2 gradi di libertà geometrico, quindi delle caratteristiche di progetto, pertanto dipende da come è fatta la meccanica stessa del dispositivo. La trasmissione del moto è quindi identificata, nel caso di sistemi a due gradi di libertà, dai quattro coefficienti contenuti in J. Per analizzare nel dettaglio il significato della matrice J è sufficiente, ad esempio, esaminare i termini della prima riga: • Il primo elemento mostra l’influenza della prima coordinata in ingresso sulla prima coordinata in uscita. • Il secondo elemento mostra come la seconda coordinata in ingresso viene proiettata sulla prima in uscita. Lo stesso ragionamento vale anche per osservare come vengono proiettati gli ingressi sulla seconda coordinata in uscita. Si può allora concludere che una matrice J piena comporta che tutte le velocità in ingresso partecipano alla determinazione di quelle in uscita lungo una direzione. Visti i legami, in posizione ed in velocità, tra grandezze in ingresso ed uscita, per un sistema generico a 2 gradi di libertà, li si applicano ora al sistema cartesiano dotato di due assi disaccoppiati con movimenti perpendicolari uno rispetto all’altro. x y 𝑧1 𝑧2 .P Fig. 3.63: Chiusura vettoriale applicata al sistema cartesiano Per sviluppare le relazioni che legano gli ingressi alle uscite è necessario servirsi di un artefizio matematico; in particolare si ricorre alla notazione complessa scrivendo una chiusura vettoriale (equazione (3.45)), in cui z1 e z2 sono numeri complessi il cui modulo, ρ1 e ρ2, è variabile e rappresenta lo spostamento lungo ciascun asse mentre la loro fase, θ1 e θ2, è costante, nota e conseguenza della geometria del sistema 354
  • 391.
    Generazione di traiettorie cartesiano(Fig.3.63). ⃗ z1 + ⃗ z2 = ⃗ P (3.45) Il vettore P contiene invece le coordinate di un punto generico nello spazio di lavoro, xp ed yp. E’ chiaro dunque come le variabili di ingresso siano ρ1 e ρ2 mentre quelle di uscita xp ed yp. Gli ingressi ρ1 e ρ2 sono legati per mezzo dei rapporti di trasmis- sione agli spostamenti angolari dei rispettivi motori, quindi se si vuole descrivere il legame tra le rotazioni di quest’ultimi e la posizione di un punto nello spazio ope- rativo è opportuno considerare come variabili di ingresso le coordinate descriventi i movimenti dei motori, θx e θy. Definiti allora i vettori degli ingressi e delle uscite S =   xP yP   Q =   θx θy   occorre identificare le funzioni che li legano: è immediato osservare che nel caso del sistema cartesiano la cinematica diretta di posizione è banalmente risolvibile mediante le relazioni riportate nel sistema (3.46), dove τx e τy sono i rapporti di trasmissione, rispettivamente, degli assi X e Y che convertono le rotazioni del motore nello spostamento lineare del carrello.      xP = τx · θx yP = τy · θy (3.46) Si osserva subito come ciascuna variabile di uscita sia determinata solo da un’unica variabile di ingresso. Per ottenere il legame tra le velocità è necessario calcolare la matrice Jacobiano, che risulta: J =   δf1 δθ1 = τx δf1 δθ2 = 0 δf2 δθ1 = 0 δf2 δθ2 = τy   La J possiede solo i termini sulla diagonale, dunque si può affermare che, con questa soluzione meccanica, i due moti sono disaccoppiati: una coordinata nello spazio di lavoro dipende da un solo ingresso. Nota J, mediante la (3.44) si esprime quindi il legame tra le velocità mediante il sistema di equazioni (3.47).      ẋP = τx · θ̇x ẏP = τy · θ̇y (3.47) 355
  • 392.
    Sistema cartesiano a2 gradi di libertà Riassumendo, mediante l’analisi condotta fino ad ora, si riesce, fissata la legge oraria di percorrenza della traiettoria, a ricavare la posizione e la velocità dell’end effector nello spazio di lavoro e a risalire dunque a quelle da assegnare ai motori per ottenere sul banco di prova la traiettoria desiderata. Si precisa come, definito un percorso da far seguire al carrello, l’obiettivo della presente sezione, sia quello di realizzare effettivamente il movimento, prescindendo dalla ricerca della legge oraria ottima in termini di tempi di percorrenza, funzione delle proprietà massime del sistema, ma piuttosto si effettua una verifica della fattibilità dello spostamento stesso in base ai limiti forniti dai motori e dal banco. 3.5.1 Traiettoria lineare Per permettere al carrello di seguire una traiettoria lineare è necessario assegnare le coordinate del punto iniziale Pi e finale Pf all’interno dello spazio di lavoro. Note quest’ultime, viene calcolata la distanza da percorrere in un tempo ta definito a priori: queste sono le specifiche necessarie per progettare la legge oraria s(t) con cui eseguire il movimento desiderato. Definiti Pi, Pf ed s(t), si ricava il versore tangente alla traiettoria utilizzando la relazione (3.48). d⃗ P ds = ⃗ Pf − ⃗ Pi ⃗ Pf − ⃗ Pi (3.48) Applicando l’equazione (3.35), si determinano le coordinate dei punti della traietto- ria che costituiscono di fatto i profili di moto di riferimento, di posizione e velocità, da assegnare agli assi X e Y (formule (3.49) e (3.50)). ⃗ P(s) = ⃗ Pi + d⃗ P ds · s(t) (3.49) ˙ ⃗ P(s) = d⃗ P ds · ṡ(t) (3.50) Infine, invertendo le relazioni (3.46) e (3.47), si ricavano i profili di spostamento e velocità angolare da assegnare ai motori. Di seguito, viene mostrata una specifica traiettoria lineare che si è fatto compiere all’end-effector del sistema a 2 g.d.l. a disposizione. Innanzitutto, si è considerato: 356
  • 393.
    Generazione di traiettorie •Pi =   −350 −400  , come punto di partenza; • Pf =   400 350  , come punto di arrivo. Inoltre, si è impiegato una legge di moto polinomiale 4 - 5 - 6 - 7 per progettare la legge oraria s(t), ṡ(t), s̈(t) che descrive l’andamento desiderato, nel tempo, del- l’ascissa curvilinea e delle sue derivate prima e seconda. I parametri impiegati per sviluppare tale legge di moto sono i seguenti: • h = |Pf − Pi|, che identifica il massimo spostamento che deve compiere l’end- effector lungo la traiettoria lineare desiderata; • Ta = 1.5s, che esprime la durata complessiva del movimento lineare. In Fig.3.64 è riportata la legge oraria s(t), ṡ(t), s̈(t) utilizzata. Impiegando le for- mule (3.49) e (3.50), si determinano i corrispondenti set-point di posizione, velocità e accelerazione sia dell’asse x sia dell’asse y, i quali sono riportati nelle Fig.3.65, Fig.3.66 e Fig.3.67. Dai suddetti diagrammi, si può osservare che la velocità e l’ac- celerazione massime richieste sono, rispettivamente, pari a 1093.7mm s e 2504.4mm s2 , per entrambi gli assi del sistema cartesiano. Utilizzando, poi, i rapporti di tra- smissione τx e τy dei due assi lineari, si determinano i profili di moto in termini di posizione, velocità e accelerazione angolare degli alberi dei due motori che azionano il sistema cartesiano, i quali sono riportati nelle Fig.3.68, Fig.3.69 e Fig.3.70. Pro- gettato il movimento per entrambi gli assi del sistema, si ricavano gli andamenti, in funzione del tempo, delle coppie richieste ai due motori (Fig.3.71), considerando che, per entrambi gli assi, si è in una situazione di carico puramente inerziale. Infine, per validare il movimento progettato, si deve svolgere le tre tradizionali verifiche: 1. cinematica; 2. termica; 3. di picco. 357
  • 394.
    Sistema cartesiano a2 gradi di libertà 0 0.5 1 1.5 Time [s] 0 200 400 600 800 1000 1200 s [mm] (a) s(t) 0 0.5 1 1.5 Time [s] 0 200 400 600 800 1000 1200 1400 1600 s p [mm/s] (b) sp(t) 0 0.5 1 1.5 Time [s] -4000 -3000 -2000 -1000 0 1000 2000 3000 4000 s pp [mm/s 2 ] (c) spp(t) Fig. 3.64: Legge oraria s(t) - ṡ(t), s̈(t) , per una traiettoria lineare 358
  • 395.
    Generazione di traiettorie 00.5 1 1.5 Time [s] -400 -300 -200 -100 0 100 200 300 400 x [mm] (a) x 0 0.5 1 1.5 Time [s] -400 -300 -200 -100 0 100 200 300 400 y [mm] (b) y Fig. 3.65: Profilo di posizione, lungo l’asse x e l’asse y del sistema cartesiano 0 0.5 1 1.5 Time [s] 0 200 400 600 800 1000 1200 V x [mm/s] (a) Vx 0 0.5 1 1.5 Time [s] 0 200 400 600 800 1000 1200 V y [mm/s] (b) Vy Fig. 3.66: Profilo di velocità, lungo l’asse x e l’asse y del sistema cartesiano 359
  • 396.
    Sistema cartesiano a2 gradi di libertà 0 0.5 1 1.5 Time [s] -3000 -2000 -1000 0 1000 2000 3000 A x [mm/s 2 ] (a) Ax 0 0.5 1 1.5 Time [s] -3000 -2000 -1000 0 1000 2000 3000 A y [mm/s 2 ] (b) Ay Fig. 3.67: Profilo di accelerazione, lungo l’asse x e l’asse y del sistema cartesiano 0 0.5 1 1.5 Time [s] -80 -60 -40 -20 0 20 40 60 80 m [rad] (a) x 0 0.5 1 1.5 Time [s] -100 -80 -60 -40 -20 0 20 40 60 80 m [rad] (b) y Fig. 3.68: Profili di posizione richiesti ai motori dell’asse x e dell’asse y 360
  • 397.
    Generazione di traiettorie 00.5 1 1.5 Time [s] 0 50 100 150 200 250 p,m [rad/s] (a) x 0 0.5 1 1.5 Time [s] 0 50 100 150 200 250 p,m [rad/s] (b) y Fig. 3.69: Profili di velocità richiesti ai motori dell’asse x e dell’asse y 0 0.5 1 1.5 Time [s] -500 -400 -300 -200 -100 0 100 200 300 400 500 pp,m [rad/s 2 ] (a) x 0 0.5 1 1.5 Time [s] -600 -400 -200 0 200 400 600 pp,m [rad/s 2 ] (b) y Fig. 3.70: Profili di accelerazione richiesti ai motori dell’asse x e dell’asse y 361
  • 398.
    Sistema cartesiano a2 gradi di libertà 0 0.5 1 1.5 Time [s] -0.05 -0.04 -0.03 -0.02 -0.01 0 0.01 0.02 0.03 0.04 0.05 C m,x [Nm] (a) x 0 0.5 1 1.5 Time [s] -0.3 -0.2 -0.1 0 0.1 0.2 0.3 C m,y [Nm] (b) y Fig. 3.71: Profili di coppia richiesti ai motori dell’asse x e dell’asse y Esse risultano essere tutte e tre ampiamente soddisfatte, per entrambi gli assi. Ve- rificate le tre suddette condizioni, si può procedere a realizzare concretamente il movimento sintetizzato mediante il sistema cartesiano a 2 g.d.l. a disposizione. In Fig.3.72 e 3.73 sono riportate le risposte in posizione e in velocità lineare degli as- si x e y del sistema, al profilo di moto precedentemente progettato e applicatovi in ingresso. Si può osservare che tali risposte seguono molto bene i corrispondenti riferimenti applicati in ingresso al sistema di controllo. Ciò dimostra che il posizio- natore sviluppato presenta effettivamente delle buone prestazioni, considerando che si è movimentato l’end - effector del sistema cartesiano a velocità piuttosto soste- nute. In Fig.3.74 si mostra la traiettoria effettivamente descritta dall’end - effector del sistema meccatronico nel piano x - y. Si può notare che essa è realmente una traiettoria lineare che parte dal punto Pi e termina nel punto Pf , come desiderato. 362
  • 399.
    Generazione di traiettorie 00.5 1 1.5 Time [s] -400 -300 -200 -100 0 100 200 300 400 x [mm] xtilde x (a) Spostamento 0 0.5 1 1.5 Time [s] -200 0 200 400 600 800 1000 1200 x p [mm/s] xp,tilde xp (b) Velocità Fig. 3.72: Risposta in posizione e in velocità dell’asse x. 0 0.5 1 1.5 Time [s] -400 -300 -200 -100 0 100 200 300 400 y [mm] ytilde y (a) Spostamento 0 0.5 1 1.5 Time [s] -200 0 200 400 600 800 1000 1200 y p [mm/s] yp,tilde yp (b) Velocità Fig. 3.73: Risposta in posizione e in velocità dell’asse y. 363
  • 400.
    Sistema cartesiano a2 gradi di libertà -600 -400 -200 0 200 400 600 x [mm] -500 -400 -300 -200 -100 0 100 200 300 400 500 y [mm] Pi Pf Fig. 3.74: Traiettoria lineare effettivamente compiuta dall’end - effector del sistema car- tesiano, nel piano x - y. 3.5.2 Traiettoria circolare Ci sono diversi modi per definire una traiettoria circolare, per esempio, specificando tre suoi punti P1, P2 e P3 oppure definendo il suo centro O, un suo punto P1 (che rappresenta il punto di partenza) e l’angolo al centro α da percorrere. Nello specifico caso in esame, per progettare la traiettoria circolare da far compiere all’end-effector del sistema cartesiano, si è impiegato il secondo metodo. Dunque, si supponga di conoscere la posizione del centro C, di un punto P1 della circonferenza, nel piano x - y, e l’angolo al centro α da percorrere. Il raggio della circonferenza può essere calcolato mediante la relazione (3.51). R = ||P1 − C|| (3.51) Si chiami x0 − y0 il sistema di riferimento assoluto, con origine nel centro dei due assi lineari del sistema cartesiano a disposizione. Si definisca, invece, x1 − y1 un sistema di riferimento locale, con origine nel centro della circonferenza. L’asse x1 è la retta orientata passante per il centro C e il punto P1 della circonferenza. Il suo 364
  • 401.
    Generazione di traiettorie versorei1 può essere determinato mediante la formula (3.52). i1 = P1 − C ||P1 − C|| (3.52) Il versore j1 dell’asse y1 ha modulo unitario, origine nel centro C ed è diretto per- pendicolarmente al versore i1 . Definiti i1 e j1 , è noto completamente il sistema di riferimento locale della circonferenza considerata e si può quindi definire la matrice di rotazione R01, che descrive l’orientamento del sistema di riferimento locale x1 − y1 rispetto al sistema di riferimento assoluto x0 − y0 . Essa contiene, per colonne, i versori del primo rispetto al secondo sistema di riferimento (3.53). R01 = h i1 j1 i (3.53) Si introduca l’ascissa curvilinea s(t), che identifica la lunghezza dell’arco di circon- ferenza percorso da un generico punto P, all’istante di tempo t. Si chiami θ l’angolo al centro sotteso da tale arco di circonferenza, la cui origine è l’asse x1 del sistema di riferimento locale. L’ascissa curvilinea s e l’angolo θ possono essere legati mediante la relazione (3.54). s = Rθ (3.54) La posizione del generico punto P lungo la circonferenza, rispetto al sistema di riferimento locale x1 − y1 , può essere determinata mediante l’equazione (3.55). P1 (s) =   x1 y1   =   R cos θ R sin θ   =   R cos s R R sin s R   (3.55) Derivando una e due volte l’equazione (3.55) rispetto al tempo, si ottengono le equazioni (3.56) ed (3.57), che permettono di determinare la velocità e l’accelerazione locali con cui si muove il generico punto P considerato. Ṗ1 (s) =   ẋ1 ẏ1   = dP dt = dP ds ds dt =   − sin s R cos s R   ṡ (3.56) P̈1 (s) =   ẍ1 ÿ1   = dṖ1 dt = d2 P1 ds2 ṡ2 + dP1 ds s̈ =   − 1 R cos s R − 1 R sin s R   ṡ2 +   − sin s R cos s R   s̈ (3.57) 365
  • 402.
    Sistema cartesiano a2 gradi di libertà A partire da P1 (s), si può determinare la posizione del generico punto P rispetto al sistema di riferimento assoluto x0 − y0 , utilizzando la matrice di rotazione R01 (3.58). P(s) = C + R01P1 (s) (3.58) Considerando che C e R01 sono costanti nel tempo, in quanto la circonferenza con- siderata è fissa nel piano, e derivando una e due volte la relazione (3.58), rispetto al tempo, si ottengono le formule (3.59) ed (3.60), che permettono di calcolare la velocità e l’accelerazione assoluta del generico punto P. V (s) = dP dt =   ẋ ẏ   = R01Ṗ1 (s) (3.59) A(s) = dṖ dt =   ẋ ẏ   = R01P̈1 (s) (3.60) La traiettoria circolare, che si è scelto di far percorrere all’end-effector del sistema cartesiano a 2 g.d.l. a disposizione, presenta: • un centro C coincidente con l’origine O del sistema di riferimento assoluto x0 − y0 ; • un punto P1 =   0 400mm  ; • un angolo al centro α = 2pi. Inoltre, si è considerato di percorrere tale circonferenza in senso orario. In primo luogo, per progettare il movimento desiderato, si deve costruire la legge oraria s(t) - ṡ(t) - s̈(t), che descrive il movimento dell’end-effector lungo la traiettoria circolare. Per fare ciò, si è utilizzato una legge di moto polinomiale 4 - 5 - 6 - 7 e si è considerato una durata Ta, del movimento complessivo, pari a 4 secondi. In Fig.3.75 è riportata la legge di oraria s(t) - ṡ(t) - s̈(t) impiegata. Utilizzando le formule (3.58) e (3.59), si riesce a determinare i profili di moto in posizione e in velocità degli assi x e y del sistema cartesiano (Fig.3.77 e 3.76). Si deve sempre verificare che le tre tipiche condizioni (cinematica, termica e di picco) siano soddisfatte. Per fare ciò, si deve determinare, innanzitutto, i profili 366
  • 403.
    Generazione di traiettorie dimoto in posizione, velocità e accelerazione richiesti ai due motori che azionano il sistema, utilizzando i rapporti di trasmissione τx e τy dei due assi. Si devono in seguito calcolare le coppie richieste ai due motori. Per lo specifico movimento progettato le tre sopracitate condizioni risultano essere ampiamente soddisfatte. A questo punto, si può imporre in ingresso al sistema di controllo i profili di moto in posizione e in velocità progettati. Nelle Fig.3.78 e Fig.3.79 sono riportate le risposte in posizione e in velocità del sistema, ai segnali di riferimento applicati in ingresso. In Fig.3.80 è rappresentata la traiettoria realmente percorsa dall’end- effector del sistema cartesiano nel piano x - y. Si riscontra che essa è, effettivamente, la traiettoria circolare desiderata. 367
  • 404.
    Sistema cartesiano a2 gradi di libertà 0 0.5 1 1.5 2 2.5 3 3.5 4 Time [s] -3000 -2500 -2000 -1500 -1000 -500 0 s [mm] (a) s(t) 0 0.5 1 1.5 2 2.5 3 3.5 4 Time [s] -1400 -1200 -1000 -800 -600 -400 -200 0 s p [mm/s] (b) ṡ(t) 0 0.5 1 1.5 2 2.5 3 3.5 4 Time [s] -1500 -1000 -500 0 500 1000 1500 s pp [mm/s 2 ] (c) s̈(t) Fig. 3.75: Legge oraria s(t) - ṡ(t), s̈(t) , per una traiettoria circolare. 368
  • 405.
    Generazione di traiettorie 00.5 1 1.5 2 2.5 3 3.5 4 Time [s] -400 -300 -200 -100 0 100 200 300 400 y [mm] (a) Posizione 0 0.5 1 1.5 2 2.5 3 3.5 4 Time [s] -1500 -1000 -500 0 500 1000 1500 y p [mm/s] (b) Velocità Fig. 3.76: Profilo di moto in posizione e in velocità per l’asse y. 0 0.5 1 1.5 2 2.5 3 3.5 4 Time [s] -400 -300 -200 -100 0 100 200 300 400 x [mm] (a) Posizione 0 0.5 1 1.5 2 2.5 3 3.5 4 Time [s] -1400 -1200 -1000 -800 -600 -400 -200 0 200 400 600 x p [mm/s] (b) Velocità Fig. 3.77: Profilo di moto in posizione e in velocità per l’asse x. 369
  • 406.
    Sistema cartesiano a2 gradi di libertà 0 0.5 1 1.5 2 2.5 3 3.5 4 Time [s] -400 -300 -200 -100 0 100 200 300 400 x [mm] xtilde x (a) Spostamento 0 0.5 1 1.5 2 2.5 3 3.5 4 Time [s] -1500 -1000 -500 0 500 1000 x p [mm/s] xp,tilde xp (b) Velocità Fig. 3.78: Risposta in posizione e in velocità dell’asse x. 0 0.5 1 1.5 2 2.5 3 3.5 4 Time [s] -400 -300 -200 -100 0 100 200 300 400 y [mm] ytilde y (a) Spostamento 0 0.5 1 1.5 2 2.5 3 3.5 4 Time [s] -2500 -2000 -1500 -1000 -500 0 500 1000 1500 y p [mm/s] yp,tilde yp (b) Velocità Fig. 3.79: Risposta in posizione e in velocità dell’asse y. 370
  • 407.
    Generazione di traiettorie -600-400 -200 0 200 400 600 x [mm] -500 -400 -300 -200 -100 0 100 200 300 400 500 y [mm] Pi Fig. 3.80: Traiettoria circolare effettivamente compiuta dall’end-effector del sistema car- tesiano, nel piano x - y. 3.5.3 Spirale di Archimede La Spirale di Archimede è la traiettoria descritta, nel piano x - y, da un punto P, che si muove con una certa velocità V lungo una semi - retta , la quale, a sua volta, ruota attorno ad un punto, detto polo, con una certa velocità angolare ω. La posizione iniziale della semi - retta costituisce l’origine della coordinata angolare θ, che descrive la sua rotazione attorno al polo. La posizione del punto P lungo la semi - retta è individuata, invece, dal raggio vettore ρ. La traiettoria denominata Spirale di Archimede è descritta dall’equazione (3.61), che lega il raggio vettore con la coordinata angolare θ mediante il passo a, il quale è un altro parametro che caratterizza la suddetta traiettoria. ρ = aθ (3.61) Derivando rispetto al tempo entrambi i membri dell’equazione (3.61), si ottiene l’espressione (3.62) che descrive il legame tra la velocità lineare del punto P e la 371
  • 408.
    Sistema cartesiano a2 gradi di libertà velocità angolare di rotazione della semi - retta su cui esso si trova. V = aω (3.62) Si può osservare che, fissato un passo a costante, la Spirale di Archimede è una traiettoria parametrica, che dipende dal parametro θ (o ρ). Infatti, le coordinate nel piano x - y del punto P possono essere calcolate mediante le formule (3.63), in funzione del parametro θ, o tramite le formule (3.64), in funzione del parametro ρ.      x = aθ cos θ y = aθ sin θ (3.63)      x = ρ cos ρ a y = ρ sin ρ a (3.64) Derivando, rispetto al tempo, entrambi i membri delle equazioni (3.63) e (3.64), si ottengono le formule (3.65) e (3.66), che permettono di calcolare le velocità lineari del punto P lungo gli assi x e y.      ẋ = aω(cos θ − θ sin θ) ẏ = aω(sin θ + θ cos θ) (3.65)      ẋ = ρ̇(cos ρ a − ρ a sin ρ a ) ẏ = ρ̇(sin ρ a + ρ a cos ρ a ) (3.66) La traiettoria a spirale, che si è deciso di far compiere, a titolo di esempio, all’end- effector del sistema cartesiano a disposizione, presenta un passo a costante e pari a 10mm rad . Inoltre, essa è caratterizzata da un polo coincidente con l’origine O degli assi x - y. Dato che la Spirale di Archimede è una traiettoria parametrica, per progettare i profili di moto lungo gli assi x e y, si deve, innanzitutto, costruire la legge oraria θ(t) - θ̇(t) - θ̈(t) (o, in modo del tutto equivalente, ρ(t) - ρ̇(t) - ρ̈(t)). Per fare ciò, si è impiegato una legge di moto polinomiale 4 - 5 - 6 - 7 e si è utilizzato i seguenti parametri: • h = 2kπ, che rappresenta la massima rotazione θ che deve compiere l’end- effector, dove k costituisce appunto il numero di giri completi della spirale desiderata attorno al polo. In particolare, si è considerato k = 6.5. 372
  • 409.
    Generazione di traiettorie •Ta = 22s, che descrive la durata complessiva del movimento desiderato. In figura 3.81 è rappresentata la legge oraria θ(t) - θ̇(t) - θ̈(t) impiegata.Utilizzando le formule (3.65) o (3.66), si possono determinare, poi, i profili di moto in posizione e in velocità per entrambi gli assi del sistema cartesiano, i quali sono riportati nelle Fig.3.82 e Fig.3.83. Impiegando i rapporti di trasmissione dei due assi, si possono ricavare gli andamenti, in funzione del tempo, dei set-point in posizione, velocità e accelerazione per entrambi i due motori che azionano il sistema. Infine, progettato il movimento desiderato, si deve determinare le richieste in coppia ai due motori. In questo modo, è possibile svolgere le tre tradizionali verifiche: cinematica, termica e di picco. In particolare, per lo specifico movimento progettato, le tre suddette condizioni sono tutte ampiamente soddisfatte e, pertanto, si è potuto riprodurre tale movimento il sistema cartesiano a 2 g.d.l a disposizione. Nelle Fig.3.84 e Fig.3.85 sono riportate le risposte in posizione e in velocità degli assi x e y, ai profili di moto precedentemente progettati e applicati in ingresso al sistema di controllo in posizione come riferimento. Si può osservare che tali risposte inseguono molto bene i corrispondenti riferimenti, ulteriore dimostrazione che il posizionatore progettato presenta delle ottime prestazioni. Infine, in Fig.3.86 è rappresentata la traiettoria realmente descritta dall’end-effector del sistema nel piano x - y, durante il movimento precedentemente progettato. Si può osservare che essa è effettivamente una ”spirale di Archimede” con passo costante, con polo coincidente con l’origine degli assi x - y e che compie k = 6.5 giri attorno a tale polo, come desiderato. 373
  • 410.
    Sistema cartesiano a2 gradi di libertà 0 2 4 6 8 10 12 14 16 18 20 22 Time [s] 0 5 10 15 20 25 30 35 40 45 [rad] (a) θ(t) 0 2 4 6 8 10 12 14 16 18 20 22 Time [s] 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 p [rad/s] (b) θ̇(t) 0 2 4 6 8 10 12 14 16 18 20 22 Time [s] -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 pp [rad/s 2 ] (c) θ̈(t) Fig. 3.81: Legge oraria θ(t) - θ̇(t), θ̈(t) , per una traiettoria a spirale di Archimede 374
  • 411.
    Generazione di traiettorie 02 4 6 8 10 12 14 16 18 20 22 Time [s] -500 -400 -300 -200 -100 0 100 200 300 400 x [mm] (a) Posizione 0 2 4 6 8 10 12 14 16 18 20 22 Time [s] -1500 -1000 -500 0 500 1000 1500 x p [mm/s] (b) Velocità Fig. 3.82: Profilo di moto in posizione e in velocità per l’asse x 0 2 4 6 8 10 12 14 16 18 20 22 Time [s] -400 -300 -200 -100 0 100 200 300 400 y [mm] (a) Posizione 0 2 4 6 8 10 12 14 16 18 20 22 Time [s] -1500 -1000 -500 0 500 1000 1500 y p [mm/s] (b) Velocità Fig. 3.83: Profilo di moto in posizione e in velocità per l’asse y 375
  • 412.
    Sistema cartesiano a2 gradi di libertà 0 2 4 6 8 10 12 14 16 18 20 22 Time [s] -400 -300 -200 -100 0 100 200 300 400 500 x [mm] xtilde x (a) Spostamento 0 2 4 6 8 10 12 14 16 18 20 22 Time [s] -1000 -500 0 500 1000 x p [mm/s] xp,tilde xp (b) Velocità Fig. 3.84: Risposta in posizione e in velocità dell’asse x 0 2 4 6 8 10 12 14 16 18 20 22 Time [s] -400 -300 -200 -100 0 100 200 300 400 y [mm] ytilde y (a) Spostamento 0 2 4 6 8 10 12 14 16 18 20 22 Time [s] -1000 -500 0 500 1000 y p [mm/s] yp,tilde yp (b) Velocità Fig. 3.85: Risposta in posizione e in velocità dell’asse y 376
  • 413.
    Generazione di traiettorie -600-400 -200 0 200 400 600 x [mm] -500 -400 -300 -200 -100 0 100 200 300 400 500 y [mm] Fig. 3.86: Traiettoria a Spirale di Archimede effettivamente compiuta dall’end-effector del sistema cartesiano, nel piano X - Y 3.5.4 Traiettoria a farfalla La traiettoria a farfalla è una curva parametrica, che dipende da un parametro t, il quale è un angolo ed è espresso in radianti. Le espressioni (3.67) sono le equazioni parametriche che descrivono una generica traiettoria a farfalla, dove il termine A è un fattore di scala.      x(t) = A sin (t)(ecos t − 2 cos 4t + sin5 t 12 ) y(t) = A cos (t)(ecos t − 2 cos 4t + sin5 t 12 ) (3.67) Derivando rispetto al tempo le (3.67) si ottengono le equazioni (3.68), che permet- tono di determinare le velocità lineari lungo gli assi x e y del generico punto P, che 377
  • 414.
    Sistema cartesiano a2 gradi di libertà percorre la traiettoria parametrica.                        ẋ(t) = Aṫ(cos t(ecos t − 2 cos 4t + sin5 t 12 ) + + sin (t)(− sin tecos t + 8 sin 4t + 5 12 sin4 t 12 cos t 12 )) ẏ(t) = −Aṫ(sin t(ecos t − 2 cos 4t + sin5 t 12 ) + + cos (t)(− sin tecos t + 8 sin 4t + 5 12 sin4 t 12 cos t 12 ) (3.68) Si è scelto di far compiere all’end-effector del sistema cartesiano a disposizione una traiettoria a farfalla caratterizzata da un fattore di scala A = 100 mm e da un polo, che rappresenta anche il punto di partenza, Pi =   0 −100  . Per progettare la traiettoria si deve, come primo passo, costruire la legge oraria t - ṫ - ẗ, che descrive l’andamento, in funzione del tempo, del parametro t e delle sue derivate prima e seconda. Per fare ciò, si è impiegato, ancora, una legge di moto polinomiale 4 - 5 - 6 - 7 e si è utilizzato i seguenti parametri: • h = 2 · k · π, che rappresenta il massimo valore assunto dal parametro t, dove k definisce il numero di giri completi da far compiere all’end-effector attorno al polo Pi. In particolare, si è deciso di impiegare k=1; • Ta = 14 s, che descrive la durata complessiva del movimento desiderato. In Fig.3.87 è rappresentata la legge oraria t - ṫ - ẗ impiegata. Utilizzando le formule (3.67) e (3.68), si possono determinare i profili di moto in posizione e in velocità per entrambi gli assi del sistema cartesiano, i quali sono riportati nelle Fig.3.88 e Fig.3.89. Come discusso per le altre traiettorie, si deve sempre verificare che le tre tipiche condizioni (cinematica, termica e di picco) siano soddisfatte. Per fare ciò, si devono determinare i profili di moto in posizione, velocità e accelerazione richiesti ai due motori che azionano il sistema. Si devono successivamente calcolare le coppie richieste ai due motori e determinarne i valori massimi e root mean square. In particolare, per lo specifico movimento progettato le tre condizioni risultano essere ampiamente soddisfatte. Svolte tali verifiche, si può, a questo punto, imporre in ingresso al sistema di controllo in posizione i profili di moto progettati, in modo da 378
  • 415.
    Generazione di traiettorie 02 4 6 8 10 12 14 Time [s] 0 1 2 3 4 5 6 7 t [rad] (a) t 0 2 4 6 8 10 12 14 Time [s] 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 t p [rad/s] (b) ṫ) 0 2 4 6 8 10 12 14 Time [s] -0.25 -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 0.25 t pp [rad/s 2 ] (c) ẗ(t) Fig. 3.87: Legge oraria t - ṫ, ẗ , per una traiettoria a farfalla far compiere all’end-effector del sistema cartesiano il movimento desiderato. Nelle Fig.3.90 e Fig.3.91 sono riportate le risposte in posizione e in velocità del sistema, ai riferimenti applicati in ingresso. In Fig.3.92 si mostra la traiettoria effettivamente descritta dall’end-effector del si- stema cartesiano nel piano x - y. Si può notare che essa è realmente una traiettoria a forma di farfalla. 379
  • 416.
    Sistema cartesiano a2 gradi di libertà 0 2 4 6 8 10 12 14 Time [s] -500 -400 -300 -200 -100 0 100 200 300 400 500 x [mm] (a) Posizione 0 2 4 6 8 10 12 14 Time [s] -1000 -800 -600 -400 -200 0 200 400 600 800 1000 x p [mm/s] (b) Velocità Fig. 3.88: Profilo di moto in posizione e in velocità per l’asse x 0 2 4 6 8 10 12 14 Time [s] -500 -400 -300 -200 -100 0 100 200 300 y [mm] (a) Posizione 0 2 4 6 8 10 12 14 Time [s] -1500 -1000 -500 0 500 1000 1500 y p [mm/s] (b) Velocità Fig. 3.89: Profilo di moto in posizione e in velocità per l’asse y 380
  • 417.
    Generazione di traiettorie 02 4 6 8 10 12 14 Time [s] -500 -400 -300 -200 -100 0 100 200 300 400 500 x [mm] xtilde x (a) Spostamento 0 2 4 6 8 10 12 14 Time [s] -1000 -500 0 500 1000 x p [mm/s] xp,tilde xp (b) Velocità Fig. 3.90: Risposta in posizione e in velocità dell’asse x 0 2 4 6 8 10 12 14 Time [s] -500 -400 -300 -200 -100 0 100 200 300 y [mm] ytilde y (a) Spostamento 0 2 4 6 8 10 12 14 Time [s] -1000 -500 0 500 1000 y p [mm/s] yp,tilde yp (b) Velocità Fig. 3.91: Risposta in posizione e in velocità dell’asse y 381
  • 418.
    Sistema cartesiano a2 gradi di libertà -600 -400 -200 0 200 400 600 x [mm] -500 -400 -300 -200 -100 0 100 200 300 400 500 y [mm] Fig. 3.92: Traiettoria a farfalla effettivamente compiuta dall’end-effector del sistema car- tesiano, nel piano x - y 382
  • 419.
    Parte III Telecontrollo confeedback cinestetico 383
  • 421.
    Capitolo 4 Sistema dicomunicazione fra due PC target Per realizzare l’attività di telecontrollo tra il sistema cartesiano a 2 g.d.l e l’inter- faccia aptica a disposizione, si è impiegato il software Simulink Real - Time. Esso offre la possibilità di implementare due differenti tipi di comunicazione, allo scopo di trasmettere i dati da un dispositivo all’ altro: la comunicazione TCP e la comu- nicazione UDP. Simulink non consente di svolgere una trasmissione dati mediante bus di campo, in quanto fornisce la possibilità di realizzare un master Ethercat, ma non uno slave Ethercat poichè per quest’ultimo è necessaria un’apposita architettura hardware. Pertanto, sono stati analizzati i due protocolli di comunicazione (TCP e UDP) e li si è testati, a livello pratico, con l’obiettivo di trasmettere i dati tra i due dispositivi a disposizione. Nel sotto - paragrafo 4.1 si analizzano, ad alto livello, i due protocolli, col fine di metterne in evidenza vantaggi e svantaggi e stabilire, da un punto di vista teorico, quali dei due conviene utilizzare per la specifica applicazione in esame. Nel sotto - paragrafo 4.2 si descrive come è possibile implementare i due diversi tipi di comunicazione mediante Simulink Real - Time. Infine, nella sezione 4.3 si riportano e discutono i risultati sperimentali, in termini di latenze e pacchetti persi, ottenuti in una serie di test pratici, svolti per analizzare le prestazioni delle due modalità di trasmissione dati offerte dal software Simulink e scegliere quale delle due conviene, effettivamente, impiegare.
  • 422.
    -Sistema di comunicazionefra due PC target 4.1 Protocolli TCP ed UDP UDP e TCP sono gli acronimi, rispettivamente, di user - datagram protocol e tran- smission control protocol: due differenti protocolli di comunicazione, che si basano entrambi sull’ IP (internet protocol). Per descrivere l’architettura di una qualunque trasmissione dati di tipo digitale si può impiegare il, cosiddetto, ISO - OSI model. Qui vengono introdotti 7 livelli software attraverso i quali i dati devono passare, sia a livello del trasmettitore sia del ricevitore, in modo tale da realizzare una comu- nicazione sufficientemente affidabile e sicura. Si considerino due dispositivi A e B che devono scambiarsi una serie di dati. In particolare, si assuma che il dispositivo A sia il trasmettitore, mentre B sia il ricevitore. Il dispositivo A deve inviare una sequenza di dati; per fare ciò, tali informazioni devono passare attraverso una se- rie di livelli software, che, in corrispondenza del trasmettitore, aggiungono ciascuno una serie di informazioni ai dati effettivi che si desidera spedire, allo scopo di ga- rantire una trasmissione sicura e affidabile. Una volta che i dati trasmessi giungono in corrispondenza del corretto destinatario, seguono un percorso inverso rispetto a prima, ovvero risalgono attraverso i diversi livelli software del dispositivo ricevitore. Quest’ultimi non aggiungono, ma sottraggono una serie di informazioni e svolgono determinate elaborazioni sui dati ricevuti, in modo tale da ottenere, in corrispon- denza dello strato software di più alto livello, i dati e le informazioni effettive che si è desiderato trasmettere. Dato che ciascuno strato software del dispositivo tra- smettitore introduce una serie di informazioni aggiuntive, la quantità di dati posta sul mezzo fisico è maggiore rispetto a quella che si desidera effettivamente inviare al dispositivo ricevitore. Ciò riduce la bandwidth della comunicazione e rende que- st’ultima, quindi, meno efficiente. Pertanto, per avere una valida comunicazione, è importante minimizzare i livelli software e le conseguenti informazioni aggiuntive da essi introdotti, pur mantenendo la trasmissione sufficientemente sicura e affidabile. Un altro modello alternativo all’ ISO - OSI model, che è stato anche sviluppato prima di quest’ultimo, è il TCP - IP model, il quale introduce non 7, ma solo 5 livelli software: • application layer; 386
  • 423.
    Protocolli TCP edUDP • transport layer; • network layer; • data - link layer; • physical layer. Il protocollo di comunicazione IP lavora a livello del, cosiddetto, network layer, mentre UDP e TCP sono due protocolli che operano in corrispondenza del trans- port layer e, quindi, al di sopra dell’ internet protocol. Il protocollo IP trasmette i dati da un dispositivo ad altri, appartenenti alla medesima rete, mappandoli in una serie di frame, i quali vengono, poi, inviati lungo il mezzo fisico e ricollegati tra loro, a livello dei ricevitori, in modo tale da ricostruire il messaggio originale. Ciascun dispositivo è identificato in modo univoco da un indirizzo IP che permette di indivi- duare la rete a cui esso appartiene e di distinguerlo dagli altri membri connessi. In generale, un dispositivo può appartenere, contemporaneamente, a più reti e, in tal caso, ad esso sono associati più indirizzi IP, uno per ciascun network. Inoltre, nel protocollo di comunicazione IP, ciascun frame trasmesso presenta un’intestazione, detto header, che aggiunge una serie di informazioni ai dati che si desidera effetti- vamente trasmettere, utili per garantire una comunicazione sufficientemente sicura e affidabile. Tali informazioni aggiuntive sono introdotte proprio dai livelli soft- ware di cui si è precedentemente discusso. In particolare, le principali informazioni specificate dall’header nel protocollo IP sono le seguenti: • identifier, che sono una serie di bit che individuano in modo univoco il frame inviato dal trasmettitore. Il valore dell’identifier è incrementato di uno ogni volta che si spedisce un frame; • indirizzo IP del trasmettitore; • indirizzo IP del ricevitore; • lunghezza totale (in termini di byte) del frame. La comunicazione IP ha però una serie di inefficienze, che la rendono poco affidabile e che devono essere risolte dai protocolli che lavorano ai livelli software superiori: 387
  • 424.
    -Sistema di comunicazionefra due PC target • possibilità che alcuni frame vengano duplicati durante la trasmissione dei dati; • mancanza di controllo della corretta ricezione dei frame trasmessi e, pertanto, conseguente possibile perdita di alcuni di essi; • possibilità di trasmissione e, quindi, poi ricezione di frame in modo disordinato. La comunicazione UDP si basa sul protocollo IP e, operando ad un livello software superiore, introduce due migliorie. In primis, nell’UDP, proprio come nella comu- nicazione IP, ogni dispositivo di una rete è identificato da un proprio indirizzo IP. Tuttavia, in aggiunta, ogni processo in funzione su un dispositivo è in grado di co- municare con i processi che avvengono su altri dispositivi mediante una cosiddetta porta. Quest’ultima è identificata da un numero ed è una porta non fisica, ma vir- tuale, ovvero è un’astrazione logica di una comunicazione bi - direzionale tra due sistemi. Ogni dispositivo può gestire al massimo 216 − 1 porte virtuali e, pertan- to, può interagire con 216 − 1 processi che avvengono su altri dispositivi. Inoltre, nella comunicazione UDP si introduce il concetto del check - sum, ovvero una serie di bit presenti nell’header di un UDP frame, che servono per verificare che i dati recapitati al ricevitore siano corretti. In particolare, il check - sum specifica, in notazione binaria, il valore della somma di tutti i bit che costituiscono i dati effet- tivamente contenuti nel frame. Pertanto, il trasmettitore calcola la somma dei bit, che caratterizzano i dati che devono essere posti in quel frame, e scrive il valore che si ottiene all’interno del campo check - sum, in notazione binaria. In questo modo, il dispositivo che riceve il frame calcola la somma dei bit, che caratterizzano i dati contenuti in quel frame, e il valore ottenuto lo confronta con il check - sum. Se i valori sono uguali, allora i dati ricevuti sono corretti; viceversa se sono diversi, signi- fica che c’è stato un qualche errore nella trasmissione. Gli UDP frame presentano un’intestazione, che specifica le seguenti informazioni principali: • numero della porta del trasmettitore; • numero della porta del ricevitore; • lunghezza del frame stesso, in termini di byte; 388
  • 425.
    Protocolli TCP edUDP • check - sum. Tuttavia, il protocollo di comunicazione UDP non introduce nessun meccanismo per risolvere i limiti della comunicazione IP descritti in precedenza. Pertanto, an- che nella comunicazione UDP si ha la possiblità di perdita, duplicazione e ricezione disordinata di dati, il che la rende una comunicazione poco affidabile. La comu- nicazione TCP si basa anch’essa sul protocollo IP, tuttavia, a differenza dell’UDP, introduce dei meccanismi tramite i quali risolvere i problemi della comunicazione IP discussi in precedenza. I TCP frame, all’interno dei quali vengono mappati i dati che si desidera trasmettere, presentano un header più lungo rispetto a quello degli UDP frame, in quanto risulta essere composto da un numero maggiore di campi che servono per rendere più sicura e affidabile la comunicazione. In particolare, le principali informazioni fornite dall’intestazione dei TCP frame sono le seguenti: • il numero della porta del trasmettitore; • il numero della porta del ricevitore; • il, cosiddetto, numero di sequenza, che serve per assicurare il corretto flusso di dati; • l’ acknowledgement field; • il check - sum che serve, come già detto, per verificare la consistenza e corret- tezza dei dati ricevuti. Il campo di riconoscimento è costituito da una serie di bit, che servono al trasmet- titore per verificare se i TCP frame inviati sono stati ricevuti correttamente dai corrispondenti destinatari. L’idea è che, quando un dispositivo riceve un TCP fra- me, invia al trasmettitore un messaggio, che presenta un acknowledgement field nel suo header pari al numero di sequenza del TCP frame ricevuto incrementato di uno. In questo modo, il trasmettitore, leggendo il suo campo di riconoscimento, comprende che il singolo frame è stato recepito correttamente dal ricevitore e la trasmissione è, dunque, avvenuta correttamente. Se, invece, il trasmettitore non riceve in ingresso, entro un certo intervallo di tempo, nessun TCP frame che presen- ta un acknowledgement field pari al numero di sequenza del TCP frame trasmesso 389
  • 426.
    -Sistema di comunicazionefra due PC target più uno, allora tale dispositivo assume che il corrispondente TCP frame è stato perso durante la trasmissione e, pertanto, procede a rinviare in modo automatico tale messaggio. Tramite questa procedura appena descritta, si implementa, nella comunicazione TCP, l’individuazione e la ritrasmissione automatica di pacchetti di informazione che sono stati persi durante la comunicazione. Inoltre, nella comuni- cazione TCP, dato che si basa sul protocollo IP, i frame possono essere trasmessi in modo disordinato. Tuttavia, a livello del ricevitore, il protocollo TCP, che lavora al di sopra di quello IP, fa in modo che i frame ricevuti in disordine vengano riordinati correttamente in modo tale da garantire una corretta ricezione dei dati e delle infor- mazioni. In aggiunta, nella TCP, a differenza dell’UDP, si risolve anche il problema relativo alla possibile duplicazione di alcuni dati trasmessi. Infine, un’importante differenza tra comunicazione UDP e TCP è che, nella seconda, è necessario che i due dispositivi connessi stipulino una sorta di contratto di comunicazione prima che avvenga la trasmissione dei dati. In questo modo, si riesce a creare un canale di comunicazione diretta e bi - direzionale tra i due dispositivi, garantendo un’elevata probabilità che i frame trasmessi giungano in corrispondenza del corretto destinata- rio e rendendo, quindi, la comunicazione estremamente affidabile. La sottoscrizione del contratto di comunicazione avviene attraverso il seguente algoritmo: • il trasmettitore invia al ricevitore un TCP frame, che non contiene nessun dato, ma serve per specificare la volontà di instaurare una comunicazione. Tale frame presenta un numero di sequenza pari ad un certo valore N; • il ricevitore legge il TCP frame e, nel caso in cui sia disponibile ad accet- tare l’instaurazione di una comunicazione con tale dispositivo trasmettitore, risponde con un messaggio che contiene un numero di sequenza pari a M e un acknowledgement field pari a N + 1; • il trasmettitore recepisce quest’ultimo TCP frame e capisce che il ricevitore ha accettato la richiesta di inizio comunicazione. Come ultima operazione, quindi, il trasmettitore invia, al ricevitore, un TCP frame caratterizzato da un campo di riconoscimento pari a M + 1; 390
  • 427.
    Protocolli TCP edUDP • il ricevitore legge quest’ultimo frame e non risponde. A questo punto, il contratto di comunicazione è stato stipulato e la trasmissione dei dati può avvenire. Nella comunicazione UDP tale processo preliminare non avviene in quanto la tra- smissione dei dati viene svolta senza compiere prima la creazione di un canale di comunicazione bidirezionale tra i due dispositivi. Pertanto, nell’UDP, il trasmetti- tore invia i frame tramite il mezzo di comunicazione e si spera che i dati giungano in corrispondenza del corretto destinatario, non essendoci nulla che assicura la corretta trasmissione dei dati. Ciò rende, ovviamente, la comunicazione UDP molto meno affidabile rispetto alla TCP, ma, allo stesso tempo, molto più efficiente e veloce. In conclusione, non si può affermare che la comunicazione TCP sia in assoluto migliore rispetto a quella UDP, o viceversa. Infatti, entrambe presentano i propri vantaggi e svantaggi, che le rendono più adatte per certe applicazioni e meno per altre. In particolare, la comunicazione TCP è molto più affidabile della UDP poichè presenta dei meccanismi per: individuare e ritrasmettere i frame persi, riordinare i frame che sono stati ricevuti in disordine e impedire la duplicazione dei dati. Inoltre, nella comunicazione TCP viene stipulato un contratto tra i due dispositivi comunicanti prima che avvenga la trasmissione dei dati. Tutto ciò da un lato è vantaggioso, ma dall’altro non lo è in quanto rende la comunicazione molto meno efficiente e più lenta. Nell’UDP, invece, non si hanno i suddetti meccanismi che risolvono i problemi del protocollo IP e, pertanto, la comunicazione è notevolmente meno affidabile, ma, allo stesso tempo, è assai più efficiente e veloce, dal momento che presenta dei tempi di latenza molto minori. Pertanto, si può concludere che la comunicazione UDP è adeguata per applicazioni di tipo real - time, in cui si desiderano tempi di latenza molto contenuti e, allo stesso tempo, non è dannosa la perdita di qualche pacchetto di informazioni. Viceversa, la comunicazione TCP è adatta ad applicazioni in cui sono accettabili tempi di latenza anche relativamente lunghi, ma è necessario che tutti i dati vengano ricevuti correttamente dal destinatario e non vengano persi. Nell’applicazione di telecontrollo che si vuole realizzare, si desidera trasmettere, mediante il canale di comunicazione, lo spostamento lineare x del manipolo dell’in- terfaccia aptica al PC industriale che controlla il sistema cartesiano a 2 g.d.l. Tale 391
  • 428.
    -Sistema di comunicazionefra due PC target segnale rappresenta il set - point in posizione per quest’ultimo e da esso viene ri- cavato, tramite derivazione numerica, anche il set - point in velocità. Questi due segnali di riferimento vengono forniti in ingresso al sistema di controllo in posizione del sistema cartesiano, il quale cerca di inseguirli nel modo migliore possibile. Allo stesso tempo, l’applicativo, che gira all’interno del PC industriale che controlla il sistema cartesiano, trasmette i valori delle coordinate x e y dell’end-effector di que- st’ultimo al PC industriale che gestisce l’interfaccia aptica. A partire da tali valori, si calcola la forza ambiente generata dall’ambiente virtuale che si desidera ripro- durre e quest’ultima viene utilizzata per chiudere, lato aptica, l’anello di controllo in forza. In tale tipo di applicazione la perdita di alcuni pacchetti di informazione è accettabile, purchè ovviamente sia contenuta, in quanto, in tal caso, si conside- rano come valori, del set-point in posizione per il laser e della forza ambiente per l’interfaccia aptica, quelli ricevuti all’istante di tempo immediatamente precedente. L’aspetto più importante nella presente applicazione è avere dei contenuti tempi di latenza nella trasmissione dei dati, in quanto, come è noto, i ritardi di tempo sono un aspetto molto critico per la stabilità dei sistemi di controllo retroazionati. Sulla base delle considerazioni appena svolte e di quanto detto in precedenza, si può dedurre che, almeno a livello teorico, la comunicazione UDP è quella più adeguata per scambiare i dati tra i due PC industriali che controllano l’interfaccia aptica ed il sistema cartesiano, nell’applicazione di telecontrollo con feedback aptico che si vuole implementare. 4.2 Procedure di configurazione del canale di co- municazione Nella presente sotto sezione viene spiegato nel dettaglio come si è permesso lo scam- bio di dati fra due PC industriali, facendo uso sia del protocollo UDP che di quello TCP. Vengono, quindi, analizzati gli strumenti utilizzati della libreria Simulink e come sono stati configurati, al fine di instaurare il corretto canale di comunicazione. Per illustrare la procedura di configurazione, viene considerato un semplice caso in cui il PC che controlla il sistema cartesiano trasmette al PC che gestisce il sistema 392
  • 429.
    Procedure di configurazionedel canale di comunicazione PC industriale interfaccia aptica Scheda di rete PCH_LPT_I217_V Scheda di rete INTEL 82559 bus4 slot 4 NI6229 PC industriale robot cartesiano Scheda di rete 82579V INTEL 8254x bus0 slot 25 Scheda di rete INTEL 8254x Gigabit bus 4 slot 11 NI6229 NI6229 Scheda di rete PC di sviluppo Scheda di rete PC di sviluppo Connessione Ethernet Azionamento Azionamento Azionamento Interfaccia grafica Connessione Ethernet Connessione Ethernet Fig. 4.1: Schema a blocchi del sistema di comunicazione fra interfaccia aptica e robot cartesiano aptico due segnali sinusoidali sfasati di 90 gradi. Per implementare e successivamente testare la trasmissione di dati fra i due PC è necessario disporre di (Fig.4.1): 1. due schede di rete montate su ciascuno dei due i PC industriali che si de- sidera mettere in comunicazione: una viene utilizzata per la comunicazio- ne con l’interfaccia utente, l’altra è dedicata alla trasmissione dati all’altro applicativo; 2. un PC, connesso tramite ethernet al PC industriale che controlla il sistema cartesiano, sul quale sviluppare l’applicativo real-time per trasmettere i dati; 3. un cavo ethernet che mette in connessione i due PC industriali del sistema cartesiano e dell’interfaccia aptica; 4. un PC connesso, tramite cavo ethernet, al PC industriale che controlla il siste- ma aptico, necessario per implementare il programma real-time per la lettura dei dati ricevuti. 393
  • 430.
    -Sistema di comunicazionefra due PC target (a) (b) Fig. 4.2: Blocco Simulink Real-time UDP configuration del trasmettitore 4.2.1 Protocollo UDP Scegliendo di adottare il protocollo UDP, per implementare la comunicazione fra i due PC industriali, si devono configurare i seguenti blocchi Simulink: 1. il Byte packing, il Real-Time UDP send ed il Real-time UDP configuration, a livello dell’applicativo del trasmettitore; 2. il Byte unpacking, il Real-Time UDP receive ed il Real-time UDP configuration, a livello dell’applicativo del ricevitore. Il Real-time UDP configuration è il medesimo blocchetto sia per il trasmettitore che per il ricevitore ed è mostrato in Fig.4.2. La sua configurazione richiede di specificare l’indirizzo IP del PC industriale al quale si è collegati, quindi del trasmettitore o del ricevitore, la Subnet Mask, il Gateway, la tipologia (Ethernet driver), il bus e lo slot della scheda (PCI bus e PCI slot) adibita alla comunicazione. Il trasmettitore, essendo colui che spedisce i dati, deve fare uso del blocchetto Byte packing, necessario 394
  • 431.
    Procedure di configurazionedel canale di comunicazione (a) (b) Fig. 4.3: Blocco Simulink Byte packing del trasmettitore per impacchettare i dati: considerando i segnali da trasmettere di tipo double, il Byte packing li organizza in un vettore, in questo caso scelto di uint8, di 16 bytes (o 16 unit8). Il blocchetto Byte packing e i parametri necessari per la sua configurazione sono mostrati in Fig.4.3. Infine, per trasferire il pacchetto di dati, il trasmettitore deve disporre del blocchetto Real-Time UDP send: qui serve specificare l’indirizzo IP del PC ricevitore, la porta del destinatario ed il numero di bytes da spedire (N), in questo caso pari a 16 (Fig.4.4). Lato ricevitore invece, oltre al blocchetto Real- time UDP configuration già descritto, serve il Real-Time UDP receive (Fig.4.5). In quest’ultimo, che consente la ricezione dei dati, è necessario specificare l’indirizzo IP del ricevitore, la porta, che è la medesima utilizzata nel Real-Time UDP send, e il numero di bytes d’acquisire. Il ricevitore deve spacchettare i bytes ricevuti e, pertanto, è necessario il blocchetto Byte unpacking, in cui si deve specificare il tipo di dato (double) e la dimensione del vettore, 2 nel presente caso. (Fig.4.6). In Fig.4.7 e Fig.4.8 vengono proposti gli schemi complessivi, rispettivamente di trasmettitore e ricevitore, implementati per instaurare e permettere la comunicazione fra i due applicativi. In conclusione, tenendo presente il semplice esempio appena illustrato, la realizzazione del telecontrollo del sistema cartesiano mediante il feedback aptico, farà uso dei concetti e dei blocchetti Simulink sopra citati, per consentire l’efficiente comunicazione fra i due sistemi meccanici. 395
  • 432.
    -Sistema di comunicazionefra due PC target (a) (b) Fig. 4.4: Blocco Simulink Real-Time UDP send del trasmettitore (a) (b) Fig. 4.5: Blocco Simulink Real-Time UDP receive del ricevitore 396
  • 433.
    Procedure di configurazionedel canale di comunicazione (a) (b) Fig. 4.6: Blocco Simulink Byte unpacking del ricevitore Fig. 4.7: Schema Simulink realizzato per permettere la comunicazione fra i due PC in- dustriali di trasmettitore e ricevitore, utilizzando il protocollo UDP - Lato tra- smettitore 397
  • 434.
    -Sistema di comunicazionefra due PC target Fig. 4.8: Schema Simulink realizzato per permettere la comunicazione fra i due PC in- dustriali di trasmettitore e ricevitore, utilizzando il protocollo UDP - Lato ri- cevitore 398
  • 435.
    Procedure di configurazionedel canale di comunicazione 4.2.2 Protocollo TCP Scegliendo, invece, di adottare il protocollo TCP e considerando sempre la presenza di due PC industriali, uno che opera come trasmettitore e l’altro come ricevitore, per permettere la comunicazione fra i due: 1. sia ricevitore che trasmettitore devono configurare il blocco TCP Configure: nello specifico, il primo dovrà implementare il TCP Client Configure, in quanto client, mentre il secondo il TCP Server Configure, in quanto server. Questi sono mostrati rispettivamente in Fig.4.9 e Fig.4.10 e servono per configurare la rete: ricevono in ingresso un segnale di enable, in questo caso una costante pari a 1, e forniscono in uscita un segnale (status), dal valore unitario quando la connessione viene instaurata. In tali blocchetti è necessario inoltre specificare l’indirizzo IP, la porta, la subnet mask, il gateway, il bus e lo slot della scheda. 2. come nel TCP, ricevitore e trasmettitore implementano i blocchetti di Byte unpacking e Byte packing, con le stesse procedure di configurazione già viste. 3. il ricevitore fa uso del blocco TCP receive, che riceve in ingresso il segnale di enable e in cui occorre specificare la dimensione del pacchetto ricevuto (Fig.4.11 (a)). 4. il trasmettitore utilizza invece il blocco TCP Send: in ingresso riceve il segnale di enable, il pacchetto di dati e la dimensione di quest’ultimo (Fig.4.11 (b)). In Fig.4.12 vengono proposti gli schemi complessivi realizzati in ambiente Simulink per instaurare la comunicazione fra i due PC industriali, trasmettitore e ricevitore, utilizzando il protocollo TCP. 399
  • 436.
    -Sistema di comunicazionefra due PC target (a) TCP client configure (b) Parametri del TCP client configure Fig. 4.9: Blocchi Simulink TCP Client configure (a) TCP Server configure (b) Parametri del TCP client configure Fig. 4.10: Blocchi Simulink TCP Server configure (a) TCP Send (b) TCP receive Fig. 4.11: Blocchi Simulink TCP Send e TCP Send da configurare, per trasmettitore e ricevitore, qualora si utilizzi il protocollo TCP 400
  • 437.
    Procedure di configurazionedel canale di comunicazione (a) Trasmettitore (b) Ricevitore Fig. 4.12: Schemi Simulink realizzati, di trasmettitore e ricevitore, per instaurare la comunicazione fra due PC industriali adottando il protocollo TCP 401
  • 438.
    -Sistema di comunicazionefra due PC target 4.3 Analisi delle latenze Per testare l’efficacia e le prestazioni del sistema di controllo è stata eseguita un’inda- gine ad alto livello sulle latenze presenti lungo il canale di comunicazione instaurato tra il PC che controlla l’interfaccia aptica e quello che gestisce il sistema cartesiano. In particolare, le prove sono state condotte nel seguente modo: • l’applicativo dell’interfaccia aptica genera un segnale a rampa e lo spedisce; • l’applicativo della macchina cartesiana riceve il segnale e lo rimanda al mit- tente. Il segnale da spedire viene ritenuto di tipo double, composto quindi da 8 bytes: ogni 1 kHz ad esempio, tempo di campionamento utilizzato su entrambi i sistemi, vengono inviati 8 bytes che identificano il pacchetto di dati inoltrato. La prova di latenza si basa sul confronto tra il segnale spedito e quello ricevuto dal sistema aptico: in tal modo è possibile valutare l’entità del ritardo. La prima analisi è stata condotta considerando come protocollo l’UDP; sono quindi state eseguite diverse acquisizioni variando la frequenza di campionamento e, per ogni prova, sono stati calcolati i seguenti parametri: • numero di pacchetti trasmessi (PA tras) e persi (PA persi), sia in percentuale che non, dal PC che controlla l’interfaccia aptica; • numero di pacchetti trasmessi (PS.C tras) e persi (PS.C persi), sia in percentuale che non, dal PC che controlla il sistema cartesiano; In Fig.4.13 (a) viene mostrato il segnale a rampa spedito e ricevuto, in cui si è utilizzata una frequenza di campionamento pari a 1 kHz. Come si evince dal grafico, i due segnali risultano sfasati uno rispetto all’altro: lo sfasamento è proprio l’entità del ritardo che viene presa in considerazione. Il numero di bytes persi, rispetto a quelli spediti, risulta del tutto trascurabile per l’applicazione in esame: Fig.4.13 (b) mostra come i bytes ricevuti ogni 1 kHz siano praticamente costanti e correttamente pari a 8. Con la stessa procedura vengono ripetute una serie di prove variando la frequenza di campionamento: i migliori risultati sperimentali vengono riassunti in 402
  • 439.
    Analisi delle latenze 00.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 time [s] 0 2 4 6 8 10 12 14 16 18 20 [m] rampa trasmessa rampar icevuta (a) 0 10 20 30 40 50 60 time [s] 0 1 2 3 4 5 6 7 8 9 10 Bytes ricevuti (b) Fig. 4.13: Confronto fra segnale a rampa trasmesso e ricevuto durante la comunicazione tra due PC industriali, utilizzando il protocollo UDP e frequenza di campio- namento 1 kHz (a); numero di bytes ricevuti dal PC industriale che controlla il sistema aptico (b) f [Hz] [Hz] [Hz] Latenza [ms] [ms] [ms] PA tras PA tras PA tras PA persi PA persi PA persi PA persi PA persi PA persi% % % PS.C tras PS.C tras PS.C tras PS.C persi PS.C persi PS.C persi PS.C persi PS.C persi PS.C persi% % % 1000 3 66159 2 0.003 66159 0 0 5000 0.6 324982 14 0.004 324982 0 0 500 6 32365 1 0.003 32365 0 0 Tabella 4.1: Prove di latenza effettuate con protocollo di comunicazione UDP tabella 4.1. I dati raccolti permettono di concludere che aumentare di un fattore K la frequenza, riduce il ritardo di K volte rispetto a quello ottenuto campionando a 1 kHz. I test condotti sono stati ben superiori a quelli riportati in tabella 4.1: ciò che è emerso è che i risultati sono del tutto ripetibili. Per quanto detto, essendo la latenza per sua natura una grandezza aleatoria, è complicato attribuire il ritardo esclusivamente alla vera e propria attività di comunicazione, pertanto si può ritenere che sia primariamente dovuto alle operazioni di lettura ed elaborazione del segnale svolte dal PC industriale. Le medesime prove sono state effettuate adoperando il protocollo TCP: i risultati sono del tutto simili a quelli mostrati in tabella 4.1, 403
  • 440.
    -Sistema di comunicazionefra due PC target con una leggera riduzione della latenza in quanto a 1 kHz, 5 kHz e 500 kHz, si sono ottenuti rispettivamente ritardi di 2 ms, 0.4 ms e 4 ms. In conclusione, sulla base delle considerazioni fatte, si può ritenere che il protocollo TCP sia vantaggioso rispetto all’UDP, seppur di poco, e consente quindi la trasmissione in maniera efficace e sicura dei dati, da un PC all’altro. I risultati sperimentali sembrano in parte essere in contrasto con quanto esposto a livello teorico riguardo i due protocolli utilizzati: UDP ha un architettura più semplice, consente una trasmissione dei dati più rapida, ma non fornisce garanzie sul corretto arrivo dei pacchetti a destinazione. Il TCP invece, sebbene consenta una comunicazione più lenta, stabilendo la connessione prima dell’invio dei dati, garantisce la corretta consegna dei pacchetti. É bene sottolineare però che la quantità di dati trasmessa nell’applicazione in esame, è notevolmente inferiore rispetto a quella consentita dalle schede di rete utilizzate: per tale motivo, non si riscontrano sperimentalmente evidenti differenze fra TCP ed UDP ed inoltre, non si apprezzano nemmeno le significative discrepanze, citate a livello teorico, fra i due protocolli, ma risultano entrambi idonei per la realizzazione del telecontrollo del sistema cartesiano tramite il sistema aptico. 404
  • 441.
    Capitolo 5 Telecontrollo diun sistema cartesiano mediante feedback cinestetico 5.1 Analisi dell’effetto di un ritardo sul controllo in forza Il telecontrollo del sistema cartesiano mediante feedback aptico viene realizzato con successo se i ritardi presenti nella trasmissione dei dati fra i due applicativi non com- portano effetti considerevoli sul sistema di controllo in forza implementato sull’in- terfaccia aptica. Nello specifico, si devono analizzare le prestazioni di quest’ultimo, in funzione dell’entità di un eventuale ritardo presente sull’anello di retroazione in forza. Tale studio può essere semplicemente condotto considerando esclusivamente il sistema aptico: è sufficiente infatti, facendo uso dei sistemi di controllo, in impeden- za ed in ammettenza, precedentemente sviluppati nei paragrafi 2.2 e 2.3, porre un ritardo sulla retroazione, quindi considerare che la forza ambiente sia sfasata rispet- to alla forza operatore, o equivalentemente, ritenere che la posizione x, in ingresso all’ambiente virtuale, sia ricevuta con un ritardo definito a priori. In particolare, si è preso come riferimento l’ambiente molla con Km = 60 N m , simulato sul banco di prova sia con controllo in ammettenza che impedenza, e si è valutato l’effetto di un
  • 442.
    Telecontrollo di unsistema cartesiano mediante feedback cinestetico Ritardo [ms] Fmax op Fmax op Fmax op [N] xmax p xmax p xmax p [m s ] [m s ] [m s ] emax F emax F emax F [N] emax F emax F emax F [%] [%] [%] f[kHz] f[kHz] f[kHz] 0 27.60 1.13 15.76 57.6 1 3 29 1.18 16.7 57.6 1 50 26.22 1.18 16.38 62.47 1 100 24.56 1.15 15.93 64.86 1 200 22.75 1.23 17.6 77.32 1 300 20.80 1.27 18.13 87.16 1 Tabella 5.1: Valori sperimentali ottenuti, durante la simulazione di un ambiente molla, per valutare l’effetto di un ritardo presente nell’anello di retroazione del sistema di controllo in ammettenza ritardo sulle prestazioni del sistema, muovendo il manipolo fra i due fine corsa, a velocità abbastanza sostenute, in maniera tale da poter effettuare considerazioni su dinamica piuttosto rapida. Per ciò che riguarda la prima di tipologia di controllo, sono state condotte diverse prove sperimentali, variando l’entità del ritardo posto sulla retroazione in forza, nello specifico sulla forza generata dall’ambiente: i dati raccolti sono riassunti in tabella 5.1. Si può osservare che un incremento del ritardo conduce ad errori in forza maggiori, pertanto il sistema tende a non replicare corret- tamente l’ambiente ideale desiderato. Ad esempio, considerando un ritardo di 200 ms, si ottiene un errore in forza massimo di circa 80 % rispetto alla forza operatore massima, pertanto nonostante il comportamento del sistema sia ancora stabile, il banco di prova non replica correttamente il comportamento desiderato. Si è inoltre riscontrato che i valori limite del ritardo, oltre i quali, il sistema tende ad oscillare attorno alla posizione di regime, seppur stabilizzandosi, si attestano attorno a circa 220 ms: incrementando sempre più tale valore, si può prevedere un comportamento sempre meno stabile del sistema. Valori ben più contenuti del ritardo invece, ad esempio inferiori a 50 ms, non hanno effetti significativi sull’efficacia del sistema di controllo in forza, pertanto non ne compromettono le prestazioni, come si evin- ce confrontano i risultati facenti riferimento a due test condotti, uno considerando un ritardo di 100 ms e l’altro privo di latenza. Chiaramente, anche la velocità di 406
  • 443.
    Analisi dell’effetto diun ritardo sul controllo in forza movimentazione del manipolo gioca un ruolo fondamentale: spostando lentamente l’end-effector, si apprezza meno l’effetto dovuto alla presenza di un ritardo, pertan- to, essendo il telecontrollo che si progetterà caratterizzato da dinamiche rilevanti, si movimenta il carrello a velocità piuttosto sostenute. Un’ altra considerazione che emerge dalle analisi condotte è che incrementando la latenza, la forza introdotta dal- l’operatore diminuisce, quindi l’utente percepisce una molla sempre meno rigida: ciò è dovuto al ritardo posto sulla forza generata dall’ambiente (o in maniera analoga, sulla posizione x del carrello) che risulta essere inferiore a quella che effettivamente ci si aspetta, quando il manipolo raggiunge una determinata posizione. Avendo già analizzato nella sezione 4.3 la consistenza del ritardo presente durante la trasmis- sione dei dati fra i due PC industriali dell’applicazione in esame, ed appurato che, a 1 kHz, sia dell’ordine di 2/3 ms, a seconda che si usi il protocollo TCP o l’UDP, si può certamente concludere che, ai fini del telecontrollo sintetizzato, una latenza di quest’entità non ha alcun effetto sulle prestazioni del controllo in forza. In altre applicazioni invece, se si dispone di una latenza maggiore, magari superiore a 200 ms, può recare considerevoli effetti al sistema di controllo, quindi comprometterne la stabilità. La medesima analisi è stata ripetuta impiegando il sistema di controllo in forza in impedenza ad anello chiuso: le prove condotte sono analoghe a quelle riportate in tabella 5.1, facenti riferimento al controllo in ammettenza. In impe- denza, i dati ottenuti sono riassunti in 5.2: le considerazioni che ne derivano sono similari a quelle già enunciate precedentemente. Come ci si poteva aspettare, a pa- rità di ritardo, l’ambiente molla è simulato in maniera migliore con questo tipo di controllo, rispetto a quello in ammettenza, in quanto gli errori percentuali in forza sono inferiori. Inoltre, sempre rispetto al controllo in ammettenza, in impedenza, si è osservato che la stabilità del sistema viene compromessa per valori di latenza inferiori, ma comunque elevati, e quindi non rilevanti, per l’applicazione in esame. Lo studio dell’effetto del ritardo sulle prestazioni del controllo in forza è stato fatto considerando, fino ad ora, il più semplice ambiente virtuale sviluppato quale quello elastico (Km = 90N m ). In conclusione, nella presente applicazione, quindi ai fini del telecontrollo del sistema cartesiano mediante il sistema aptico, le latenze presenti nella trasmissione dei dati 407
  • 444.
    Telecontrollo di unsistema cartesiano mediante feedback cinestetico Ritardo [ms] Fmax op Fmax op Fmax op [N] xmax p xmax p xmax p [m s ] [m s ] [m s ] emax F emax F emax F [N] emax F emax F emax F [%] [%] [%] f[kHz] f[kHz] f[kHz] 0 24.4 1.16 11.07 45.40 1 3 24.48 1.22 12.42 50.76 1 50 27.73 1.23 12.42 50.21 1 100 25.15 1.13 13.32 52.95 1 200 23.6 1.13 15.72 66.7 1 300 19.5 1.23 14.84 76.16 1 Tabella 5.2: Valori sperimentali ottenuti, durante la simulazione di un ambiente molla, per valutare l’effetto di un ritardo presente nell’anello di retroazione del sistema di controllo in impedenza (2-3 ms a 1 kHz), sono irrilevanti sulle prestazioni del sistema di controllo in forza qualora si voglia simulare il comportamento elastico, pertanto non influenzano la percezione tattile che si vuole indurre nell’utente che afferra il manipolo. 5.2 Macchina a stati L’applicazione di telecontrollo, sia senza che con feedback aptico, è implementata tramite due macchine a stati realizzate nei due applicativi, che gestiscono i due si- stemi meccatronici in esame: interfaccia aptica e sistema cartesiano a 2 g.d.l. Le due macchine a stati sono controllate dall’operatore tramite una semplice interfac- cia grafica, realizzata mediante Simulink, caratterizzata da led e pulsanti virtuali. Come già detto in precedenza, tramite una comunicazione TCP, il pc industriale che controlla l’interfaccia aptica trasmette due dati, di tipo double, al pc industriale del sistema cartesiano. Il primo dato è il cosiddetto selettore, un segnale che specifica al ricevitore quale operazione si desidera eseguire, quindi serve per controllare la macchina a stati che pilota il sistema cartesiano. Pertanto, l’idea è che l’operatore premendo un opportuno pulsante dell’interfaccia grafica specifica, all’applicativo che gestisce il sistema aptico, quale operazione si desidera eseguire, come ad esempio: • homing aptica; 408
  • 445.
    Macchina a stati •homing laser; • traiettoria lineare senza feedback aptico; • traiettoria circolare senza feedback aptico; • traiettoria circolare con feedback aptico, generato da un ambiente virtuale di tipo molla; • etc... Dunque, il pc industriale che gestisce l’aptica specifica mediante il primo dato di tipo double, quale operazione si desidera svolgere anche all’applicativo che control- la il sistema cartesiano. Il secondo dato trasmesso dal pc industriale dell’aptica a quello del laser è, invece, un segnale che assume due differenti significati, a seconda che ci si trovi nelle fasi di homing oppure no. In particolare, quest’ultimo nella fase di homing dell’interfaccia aptica assume un valore costante e pari a zero, che specifica al sistema cartesiano di rimanere fermo, ossia in una condizione di riposo. Durante invece la fase di homing del laser, il secondo dato trasmesso rappresenta il riferimento in posizione che il posizionatore dell’asse x o dell’asse y del sistema cartesiano deve inseguire. Infine, nelle altre fasi, in cui si esegue sul sistema car- tesiano una certa traiettoria senza o con feedback aptico, il secondo double inviato rappresenta la posizione assoluta e corrente x del manipolo dell’interfaccia aptica. Tale segnale viene derivato numericamente a livello dell’applicativo che gestisce il sistema cartesiano, in modo tale da ottenere anche la velocità lineare corrente ẋ del manipolo. A quel punto, i due segnali, x e ẋ, costituiscono la legge oraria s(t) - ṡ(t) con cui si descrive il movimento dell’end-effector del sistema cartesiano lungo la specifica traiettoria considerata. Da s(t), si possono ottenere, come già descritto nel dettaglio nel paragrafo 3.5, i riferimenti in posizione e in velocità di entrambi gli assi del sistema cartesiano. Tali set-point vengono inviati in ingresso ai due siste- mi di controllo in posizione, dell’asse x e dell’asse y, del sistema cartesiano, i quali cercano di inseguirli nel modo migliore possibile. In questo modo, movimentando il manipolo dell’interfaccia aptica si posiziona conseguentemente l’end-effector della macchina a 2 g.d.l lungo la traiettoria desiderata. Allo stesso modo, l’applicativo 409
  • 446.
    Telecontrollo di unsistema cartesiano mediante feedback cinestetico che gestisce il sistema cartesiano invia a quello dell’interfaccia aptica due dati di tipo double, i quali assumono anch’essi un significato diverso a seconda della fase in cui ci si trova. Durante l’operazione di homing del sistema cartesiano, il primo dato specifica se si è attivato o meno uno dei quattro fine - corsa. L’altro double inviato invece, descrive la posizione corrente x o y dell’end - effector, a seconda che si stia svolgendo l’homing dell’asse x o dell’asse y. Pertanto, durante l’homing del sistema cartesiano l’idea di base è la seguente: l’operatore, premendo un apposito pulsante (denominato homing laser) dell’interfaccia grafica, comanda, tramite la macchina a stati, al pc industriale dell’aptica di svolgere l’operazione di homing della macchina a 2 g.d.l.. A quel punto, quest’ultima trasmette all’altro pc industriale un dato selettore che assume un valore pari a 2 e che esplicita la specifica operazione che si vuole svolgere. In particolare, durante l’intera operazione di homing, sia dell’asse x che dell’asse y, il dato rimane costante e pari a 2. Si esegue, dapprima, l’homing dell’asse x: l’applicativo che gestisce l’interfaccia aptica genera il set point in po- sizione x che il corrispondente asse del laser deve seguire. Tale riferimento viene trasmesso, mediante il secondo dato di tipo double, dal pc dell’aptica a quello del sistema cartesiano. Una volta ricevuto il segnale, l’applicativo del sistema a 2 g.d.l, lo deriva numericamente, ottenendo in tal modo il riferimento in velocità ẋ. I due set point in posizione e in velocità vengono inviati in ingresso al sistema di controllo in posizione dell’asse x della macchina laser che li insegue nel modo migliore pos- sibile, muovendo pertanto l’end effector del sistema lungo la direzione x. Quando quest’ultimo intercetta un fine corsa, si ferma e si registra l’esatta coordinata x in corrispondenza della quale si è incontrato il sensore. A quel punto, il pc industriale del sistema cartesiano invia a quello dell’aptica due informazioni: • lo stato del fine corsa, che è commutato. In questo modo, si specifica che è stato intercettato il sensore e che l’end-effector si è fermato e deve, ora, iniziare a muoversi in direzione opposta; • l’esatta posizione x in cui si è incontrato il fine - corsa. A partire da queste due informazioni, l’applicativo che controlla l’interfaccia inizia a generare un nuovo segnale di riferimento in posizione x, che trasmette, sempre 410
  • 447.
    Macchina a stati mediantela comunicazione TCP, all’altro applicativo, in modo tale da movimentare l’end-effector nella direzione opposta, cosı̀ da intercettare anche l’altro fine - corsa. La stessa logica viene, poi, impiegata anche per movimentare il dispositivo terminale al centro dell’asse x e per svolgere l’homing dell’asse y del sistema a 2 g.d.l.. Come già detto in precedenza, le operazioni di homing sono estremamente importanti, perchè, impiegando sensori di posizioni relativi, consentono di determinare l’origine delle coordinate assolute con cui descrivere la posizione assoluta e, non più relativa, dell’end-effector dell’interfaccia aptica e del sistema cartesiano. In seguito a tali operazioni preliminari, è possibile svolgere le attività di telecontrollo, con o senza feedback aptico. Pertanto, nelle due macchine a stati che controllano l’applicazione, le prime due operazioni che devono essere eseguite sono quelle di homing dell’aptica e della macchina a 2 g.d.l.. Solamente in seguito a tali operazioni, è possibile accedere agli stati successivi delle due macchine virtuali, che consentono di implementare tutte le altre attività desiderate. Durante le operazioni di telecontrollo, i due dati double trasmessi dal pc industriale del laser a quello dell’interfaccia aptica assumono due significati diversi, rispetto a quelli assunti durante le operazioni di homing. In particolare, essi esplicitano i valori delle coordinate x e y assolute e correnti dell’end - effector del sistema cartesiano. Nelle telecontrollo senza feedback aptico, si controlla il movimento del sistema a due gradi di libertà mediante il manipolo dell’interfaccia aptica, a livello del quale, però, l’operatore non percepisce nessun ritorno in forza. Dunque, in tali condizioni, l’applicativo che gestisce l’interfaccia non chiude l’anello di controllo in forza. Pertanto, durante l’esecuzione di queste attività, i due dati di tipo double sopracitati non sono utilizzati per calcolare la forza ambiente Famb, ma servono solo per diagrammare l’effettiva traiettoria percorsa dall’end-effector del sistema cartesiano nel piano x - y e confrontarla con quella lineare descritta dal manipolo dell’interfaccia aptica. Durante le operazioni di telecontrollo con feedback aptico, si desidera, invece, che l’operatore percepisca a livello del manipolo una forza pari a quella generata dall’ambiente virtuale preso in considerazione, la quale è strettamente legata al movimento che viene fatto compiere, sempre movimentando il manipolo, all’end - effector del sistema cartesiano. Pertanto, quando si svolgono tali attività, l’applicativo che gestisce l’interfaccia, ricevuti i valori delle coordinate x 411
  • 448.
    Telecontrollo di unsistema cartesiano mediante feedback cinestetico e y assolute e correnti dell’estremità del sistema a 2 g.d.l, li impiega per calcolare la forza generata dallo specifico ambiente virtuale che si desidera riprodurre e, tramite quest’ultima, chiude l’anello di controllo in forza. In Fig.5.1 sono riportati i blocchi Simulink utilizzati per trasmettere e ricevere i dati, mediante comunicazione TCP, negli applicativi che gestiscono l’interfaccia aptica e il sistema cartesiano, durante l’applicazione di telecontrollo. In base a quanto spiegato si può comprendere che l’approccio scelto prevede di: • chiudere gli anelli di controllo dei due sistemi meccatronici, a livello dei due applicativi che li gestiscono; • generare i set point, per entrambi i sistemi, in corrispondenza dell’applicativo che controlla l’interfaccia aptica. Si è provato ad implementare anche una seconda diversa soluzione, in cui: • tutte le operazioni (chiusura anelli di controllo e generazione dei segnali di riferimento) sono svolte dall’applicativo che gestisce l’interfaccia aptica; • al pc industriale del sistema cartesiano si inviano soltanto i valori di tensione, che devono essere applicati in ingresso ai due sistemi di azionamento. Tuttavia, si è riscontrato che, adottando questa seconda architettura, si ottengono delle prestazioni decisamente inferiori. Pertanto, si è scelto di utilizzare il primo approccio descritto. Analizzando più nel dettaglio le due macchine a stati, esse sono state implementate utilizzando due importanti strumenti forniti da Simulink: 1. Stateflow; 2. Switch case e Switch Case Action Subsystem. Stateflow è un toolbox che permette di realizzare e gestire facilmente numerosi stati e le corrispondenti transizioni, le quali possono essere triggerate e/o temporizzate. Per implementare una macchina a stati mediante Stateflow, si inserisce nello schema Simulink un blocco denominato Flow Chart. Quest’ultimo può ricevere in ingresso e dare in uscita una serie di segnali desiderati e fornisce un ambiente grafico in cui 412
  • 449.
    Macchina a stati poterrealizzare, in modo relativamente semplice, una macchina a stati, anche molto complessa. In tale ambiente, il singolo stato è rappresentato da un riquadro di forma rettangolare con i vertici arrotondati. Ad esso è associato un nome identificativo e al suo interno si possono implementare una serie di operazioni matematiche. In particolare, due comandi fondamentali che possono essere scritti all’interno di tale riquadro sono: 1. entry; 2. entry, during. Il primo permette di eseguire una serie di operazioni, come ad esempio l’assegnazione di determinati valori a delle variabili, nel momento in cui si entra all’interno di quello stato. Il secondo, invece, permette di eseguire operazioni in modo periodico ad ogni intervallo di campionamento ∆t e non soltanto quando si entra all’interno di quello stato. Pertanto, tutte le attività che si trovano, a livello logico, sotto il comando entry vengono eseguite soltanto una volta, quando si attiva lo stato in esame. Vice- versa, le attività associate al comando entry,during sono realizzate in modo ciclico, con un periodo pari al tempo di campionamento ∆t del pc - industriale, per tutto l’intervallo di tempo in cui il corrispondente stato rimane attivo. Le transizioni, invece, sono implementate collegando tra loro i riquadri mediante delle frecce, al di sopra delle quali si esplicitano le loro condizioni di innesco. Quest’ultime possono essere, ad esempio, l’assunzione di un determinato valore da parte di una variabile oppure il trascorrere di un certo intervallo di tempo, espresso in secondi. In questo secondo caso, la condizione viene descritta utilizzando il comando after(tempo,sec), dove la variabile tempo assume lo specifico valore desiderato. Infine, all’interno del singolo riquadro di un flow chart si possono anche inserire funzioni Matlab, le qua- li vengono poi richiamate all’interno dei comandi entry o entry,during, o funzioni Simulink. Per quanto riguarda, invece, lo Switch case, esso è un blocco Simulink, che riproduce il comportamento di un interruttore logico e che permette di attivare uno specifico sottosistema, in relazione al valore assunto dal segnale in ingresso allo switch. Infatti, tale blocco presenta un solo ingresso e una serie di segnali logici in uscita, i quali vanno a triggerare ciascuno uno specifico Switch Case Action Subsy- 413
  • 450.
    Telecontrollo di unsistema cartesiano mediante feedback cinestetico stem. In base al valore assunto dal segnale in ingresso all’interuttore logico, si attiva una specifica uscita di quest’ultimo, che permette di accedere ad un determinato sottosistema all’interno del quale vengono svolte una serie di operazioni utilizzando sempre i blocchi Simulink. Adottando l’approccio appena descritto, si riesce a fare in modo che il pc industriale non esegua continuamente l’intero schema Simulink, ma solo i blocchi posti al di fuori dei Switch Case Action Subsystems e tutto ciò che è posto all’interno dello specifico sottosistema triggerato dallo Switch case. In sostanza, tutte le operazioni implementate all’interno dei sottosistemi non attivati dall’interruttore logico non vengono svolte dal controllore, riducendo notevolmente il costo computazionale. In Fig.5.2 e Fig.5.3 è riportato il flow chart principale utilizzato per implementa- re e gestire la macchina a stati realizzata a livello dell’applicativo che controlla il funzionamento dell’interfaccia aptica. Si può osservare che quest’ultimo presenta in ingresso: • il numero effettivo di bytes ricevuti dal pc industriale, mediante comunicazione TCP; • il valore dei due dati, di tipo double, ricevuti mediante il cavo ethernet e trasmessi dal pc industriale che controlla il sistema cartesiano; • una serie di parametri il cui valore è fissato di default a zero e che sono asso- ciati ai bottoni virtuali implementati a livello dell’interfaccia grafica con cui l’utente interagisce con le due macchine a stati. In particolare, quando l’u- tente preme un pulsante virtuale presente nell’interfaccia grafica, il valore del corrispondente parametro commuta da zero a uno e ciò viene sfruttato per compiere una qualche transizione di stato. In uscita al flow chart si hanno quattro segnali: 1. il cosiddetto selettore, che serve per pilotare lo switch case; 2. tre segnali denominati, rispettivamente, led check, HomApt ended e Home Laser ended, che sono associati ai corrispondenti led virtuali presenti nell’in- terfaccia grafica. 414
  • 451.
    Macchina a stati (a)Lato aptica (b) Lato laser Fig. 5.1: Blocchi Simulink per la trasmissione e ricezione di dati, mediante comunicazione TCP, durante l’applicazione di telecontrollo 415
  • 452.
    Telecontrollo di unsistema cartesiano mediante feedback cinestetico Fig. 5.2: Flow chart principale realizzato nell’applicativo che gestisce l’interfaccia aptica Dalla struttura interna del flow chart, si può osservare che la prima operazione che viene eseguita non appena si avviano i due applicativi è un check della comuni- cazione. Infatti, prima di svolgere qualsiasi altra attività si deve verificare che il canale di comunicazione tra i due pc industriali funzioni correttamente. Ciò viene realizzato calcolando la percentuale di pacchetti effettivamente ricevuti in un certo intervallo di tempo. Se essa risulta superiore ad un certo valore prefissato, allora si ritiene che la comunicazione sia stata instaurata con successo e che il cavo ether- net impiegato funzioni correttamente. In tal caso, il segnale led check commuta il proprio valore da 0 a 1 e ciò comporta l’accensione del corrispondente led a livello dell’interfaccia grafica, il quale specifica all’utente che la verifica della corretto fun- zionamento del canale di comunicazione è stata superata con successo. A questo punto, entrambi i due sistemi meccatronici entrano in uno stato di riposo, in cui in sostanza rimangono fermi. Le due attività successive che devono essere svolte sono quelle di homing, dell’aptica e del sistema cartesiano. Non c’è un ordine preciso in cui esse devono essere eseguite: ciò è a discrezione dell’utente. Nel momento in cui quest’ultimo clicca il pulsante virtuale dell’interfaccia grafica denominato Homing 416
  • 453.
    Macchina a stati Fig.5.3: Flow chart principale nel dettaglio realizzato nell’applicativo che gestisce l’in- terfaccia aptica 417
  • 454.
    Telecontrollo di unsistema cartesiano mediante feedback cinestetico aptica, il valore del parametro Homing aptica commuta da 0 a 1 e, quindi, si entra in un opportuno stato del flow chart, in cui il segnale selettore assume uno specifico valore pari a 1. A quel punto, il segnale appena citato consente, tramite lo switch case, di attivare l’apposito Switch Case Action Subsystem all’interno del quale sono state implementate tutte le operazioni necessarie per svolgere l’homing dell’inter- faccia aptica. Terminata tale attività, il valore del segnale HomApt ended commuta da 0 a 1 e ciò comporta l’accensione di uno specifico led dell’interfaccia grafica. Lo stesso approccio è impiegato per l’homing del sistema cartesiano, a cui sono asso- ciati: un apposito bottone, uno specifico led virtuale a livello dell’interfaccia grafica, un valore pari a 2 del segnale selettore e un corrispondente sottosistema Simulink. Una volta terminate le due sopracitate operazioni preliminari, si entra in un nuovo stato di riposo, in cui i due sistemi meccatronici rimangono sostanzialmente fermi, in quanto i loro motori sono alimentati tutti con una tensione di 0 volt. Raggiunta tale condizione, l’operatore può premere su uno dei vari pulsanti virtuali realizzati nell’interfaccia grafica, in modo tale da svolgere una specifica attività di telecon- trollo, con o senza feedback aptico. Per esempio, cliccando sul pulsante denominato Molla K60 Ammettenza, il selettore assume un valore pari a 5 e consente, mediante lo switch case, di attivare il sottosistema Simulink tramite il quale si implementa, in modalità telecontrollo, un ambiente virtuale di tipo molla associato ad una traiet- toria lineare percorsa dall’end-effector del sistema cartesiano. In tale condizione, lo spostamento effettivo di quest’ultimo, lungo una retta prestabilita, viene tradotto, tramite una costante di proporzionalità K, rappresentante la rigidezza della molla virtuale, in una forza ambiente con la quale si chiude l’anello di controllo in forza. All’interno del sottosistema, sempre tramite un apposito flow chart, si comanda al manipolo dell’interfaccia e all’end-effector del sistema cartesiano, sfruttando sempre la comunicazione TCP, di raggiungere una specifica posizione iniziale. Si svolge in seguito la calibrazione della cella di carico e, terminate con successo tali operazio- ni preliminari, si accendono i led: Molla K60 Ammettenza in corso e Calibrazione dell’interfaccia grafica. A quel punto, l’operatore può afferrare e movimentare il manipolo, percependo conseguentemente un ritorno in forza direttamente propor- zionale all’effettivo spostamento dell’end-effector della macchina a 2 g.d.l., lungo 418
  • 455.
    Macchina a stati unaretta prestabilita. In Fig.5.4 sono rappresentati lo switch case e una serie di Switch Case Action Subsystems, che vengono triggerati mediante il segnale selettore. Si può osservare che in uscita a tutti i diversi sottosistemi si hanno: • i due dati di tipo double, che devono essere trasmessi al sistema cartesiano mediante comunicazione TCP; • il valore della tensione che deve essere applicata in ingresso al motore elettrico che aziona l’interfaccia aptica. Pertanto, in uscita dai vari sottosistemi si hanno le tre medesime variabili; per sele- zionare quale valore utilizzare effettivamente per ciascuna si utilizza un, cosiddetto, multiport switch. Quest’ultimo presenta in uscita un solo segnale mentre riceve in ingresso quello del selettore e i valori della singola variabile in esame, che provengono dai diversi sottosistemi implementati. In base al valore che assume il segnale selet- tore, la variabile in uscita dal multiport switch assume un valore pari a quello che si ha in uscita dal Switch Case Action Subsystem che è in quel momento triggerato. Quanto detto lo si può osservare in Fig.5.5, in cui si riportano i tre multiport switch realizzati nell’applicativo che gestisce l’interfaccia aptica. In Fig.5.6 è riportato un esempio di interfaccia grafica, con cui l’utente può controllare il funzionamento delle due macchine a stati realizzate nei due applicativi Simulink. 419
  • 456.
    Telecontrollo di unsistema cartesiano mediante feedback cinestetico Fig. 5.4: Switch case e corrispondenti Switch Case Action Subsystems nell’applicativo che controlla l’interfaccia aptica 420
  • 457.
    Macchina a stati Fig.5.5: Multiport switches nell’applicativo che gestisce l’interfaccia aptica Fig. 5.6: Esempio di interfaccia grafica 421
  • 458.
    Telecontrollo di unsistema cartesiano mediante feedback cinestetico 5.3 Telecontrollo cinematico In generale, nell’attività di telecontrollo cinematico (o senza feedback aptico) si vuole telecontrollare il movimento dello slave mediante il master, senza che, a livello di quest’ultimo, l’operatore riceva un ritorno in forza dato dall’interazione tra lo slave e l’ambiente ad esso circostante. In tale applicazione, quindi, il master deve generare i set-point di posizione e li deve inviare, mediante il canale di comunicazione, allo slave, in modo tale che quest’ultimo li segua tramite un adeguato sistema di control- lo in posizione. Il master, invece, non riceve nessun’informazione dallo slave sulla forza corrente di interazione tra quest’ultimo e l’ambiente circostante. Pertanto, a livello del master non si deve chiudere nessun anello di controllo, nè in forza nè in posizione. Nella specifica applicazione in esame, il master è il sistema ad 1 g.d.l., mentre lo slave è il sistema cartesiano a 2 g.d.l.. Il primo lo si chiamerà, per sempli- cità, interfaccia aptica, nonostante ciò sia un pò improprio, in quanto, come appena detto, in un’attività di telecontrollo cinematico il master non viene controllato in forza e, quindi, non restituisce all’operatore nessun feedback aptico. L’obiettivo è quello di tradurre lo spostamento manualmente imposto al manipolo dell’interfaccia aptica dall’operatore in un corrispondente movimento dell’end-effector del sistema cartesiano a 2 g.d.l., lungo una specifica traiettoria desiderata. Dunque, l’idea è che l’operatore afferri il manipolo dell’interfaccia aptica e lo movimenti lungo la guida lineare. Tramite l’encoder incrementale fornito dal sistema di azionamento, si misura la posizione corrente dell’albero motore, da cui si risale, dopo aver ese- guito un’operazione di homing, allo spostamento lineare x effettivamente compiuto dal manipolo. Tale valore viene trasmesso, mediante comunicazione TCP, al pc - industriale dello slave, in corrispondenza del quale esso viene tradotto, mediante un opportuno fattore di scala, nel set-point dell’ascissa curvilinea s, che rappresenta lo spostamento ideale che si vuole fare compiere all’end-effector del sistema cartesiano lungo una traiettoria prestabilita. Tale set-point lo si deriva, poi, rispetto al tempo per via numerica. In questo modo, si ottiene la legge oraria s(t) - ṡ(t), che descrive il movimento desiderato dell’end-effector dello slave lungo la traiettoria considerata. A partire dalla legge oraria, si ricavano, come descritto nel sotto - paragrafo 3.5, 422
  • 459.
    Telecontrollo cinematico i segnalidi riferimento in posizione e in velocità per entrambi gli assi del sistema cartesiano a 2 g.d.l.. In seguito, si inviano set-point in ingresso ai due sistemi di controllo in posizione, i quali cercano di seguirli nel modo più preciso possibile. Ne consegue uno spostamento dell’end-effector dello slave, corrispondente al movimen- to imposto dall’operatore al manipolo dell’interfaccia aptica. Il master non riceve dallo slave nessun’informazione sulla forza ambiente, dovuta all’interazione tra lo slave e il mondo circostante oppure generata in maniera virtuale. Pertanto, a livello del master non si chiude nessun anello di controllo, nè in forza nè in posizione. In- fatti, durante l’attività di telecontrollo cinematico, la tensione applicata in ingresso al motore elettrico dell’interfaccia aptica viene forzata a zero, in modo tale che l’o- peratore possa muovere manualmente il manipolo, senza ricevere un ritorno in forza dal sistema ad 1 g.d.l.. Di seguito, si descrivono e riportano i risultati sperimentali di alcune traiettorie, che si è fatto compiere all’end-effector del sistema cartesiano a 2 g.d.l., in modalità di telecontrollo, movimentando il manipolo dell’interfaccia aptica. 423
  • 460.
    Telecontrollo di unsistema cartesiano mediante feedback cinestetico 5.3.1 Traiettoria Lineare Si consideri una traiettoria lineare, che parte da un punto P1 e termina in un punto P2. L’ascissa curvilinea s individua lo spostamento lungo tale traiettoria, la cui direzione e verso sono descritti dal versore u, che può essere calcolato mediante la formula (5.1). La lunghezza L della suddetta traiettoria è data dalla norma della differenza tra il punto di partenza e quello di arrivo (relazione (5.2)). u = P2 − P1 ||P2 − P1|| (5.1) L = ||P2 − P1|| (5.2) Sia c la corsa utile del manipolo dell’interfaccia aptica. Dividendo la lunghezza L della traiettoria lineare per la corsa si ottiene il fattore di scala Fs, che consente di tradurre lo spostamento lineare x del manipolo nel set-point s dell’ascissa curvilinea, che descrive lo spostamento lungo la traiettoria lineare considerata (formula (5.3)). In questo modo, tramite tale fattore di scala si riesce a mappare tutta la corsa utile del manipolo dell’interfaccia aptica lungo la traiettoria lineare considerata. Pertanto, movimentando il manipolo lungo tutta la corsa disponibile si fa compiere all’end-effector del sistema cartesiano l’intera traiettoria lineare in esame. Fs = L c (5.3) A titolo di esempio, si è considerato una traiettoria lineare passante per i seguenti due punti intermedi: • l’origine O delle coordinate x e y, che coincide con il centro del sistema cartesiano; • un punto P2 =   512.5 501.5  . Si è assunto come verso positivo di percorrenza della traiettoria lineare quello dal punto O al punto P2. Inoltre, si è impiegato un fattore di scala, tra lo spostamento lineare x del manipolo e l’ascissa curvilinea s, pari a 1.5. Infine, si è considerato il centro dell’interfaccia aptica, come punto di partenza del suo manipolo, e ad 424
  • 461.
    Telecontrollo cinematico esso siè associato il centro O del sistema cartesiano, come corrispondente posizione dell’end-effector della macchina a 2 g.d.l.. Pertanto, spostando il manipolo nella direzione positiva della coordinata x, ovvero verso il motore elettrico che aziona l’interfaccia, si movimenta, a partire dal centro, l’end-effector del sistema cartesiano verso il punto P2, lungo la traiettoria lineare. Viceversa, spostando il manipolo nella direzione negativa della coordinata x, si movimenta l’end-effector del sistema a 2 g.d.l. in verso opposto, sempre lungo la medesima traiettoria lineare. In Fig.5.8 sono rappresentati gli andamenti, in funzione del tempo, della posizione e della velocità lineare del manipolo dell’interfaccia aptica, mosso dall’operatore. In Fig.5.7 sono riportati, invece, i corrispondenti andamenti, in funzione del tempo, delle posizioni e delle velocità lineari di entrambi gli assi del sistema cartesiano. In Fig.5.9 sono rappresentati gli andamenti, in funzione del tempo, degli errori in posizione dell’asse x e dell’asse y del sistema a 2 g.d.l.. Ciascuno dei due errori è stato ottenuto come la differenza tra il set-point in posizione, ottenuto a partire dal set-point dell’ascissa curvilinea s, e la posizione corrente effettiva del singolo asse del sistema cartesiano. Si può osservare che gli errori in posizione presentano un andamento qualitativamente equivalente a quelle delle velocità dei due corrispondenti assi dello slave. Pertanto, si può concludere che gli errori massimi in posizione li si hanno nelle fasi in cui l’operatore movimenta più velocemente il manipolo, coerentemente con il fatto che in tali fasi i set-point in posizione dei due assi del sistema cartesiano presentano una dinamica più veloce e, pertanto, i corrispondenti sistemi di controllo fanno più fatica a inseguirli, commettendo, quindi, un errore maggiore. Infine, in Fig.5.10 sono rappresentate: • a sinistra, la traiettoria descritta dal manipolo dell’interfaccia aptica lungo la guida lineare; • a destra, sovrapposte nel piano x - y, la traiettoria ideale progettata e quella effettivamente descritta dall’end - effector del sistema a 2 g.d.l.. Dalla figura mostrata si può, quindi, osservare come si è mappato il movimen- to mono-dimensionale del manipolo del master nello spostamento bi-dimensionale dell’end-effector del sistema cartesiano. In particolare, si nota che l’end-effector del 425
  • 462.
    Telecontrollo di unsistema cartesiano mediante feedback cinestetico sistema a 2 g.d.l. ha descritto, effettivamente, la traiettoria lineare desiderata, con un piccolo errore nelle fasi di movimentazione a velocità più elevate. 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 Time [s] -500 -400 -300 -200 -100 0 100 200 300 400 500 x [mm] (a) Posizione asse x 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 Time [s] -500 -400 -300 -200 -100 0 100 200 300 400 500 y [mm] (b) Posizione asse y 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 Time [s] -1000 -800 -600 -400 -200 0 200 400 600 800 x p [mm/s] (c) Velocità asse x 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 Time [s] -800 -600 -400 -200 0 200 400 600 800 y p [mm/s] (d) Velocità asse y Fig. 5.7: Posizione e velocità lineari correnti dei due assi del sistema cartesiano a 2 g.d.l. 426
  • 463.
    Telecontrollo cinematico 0 0.51 1.5 2 2.5 3 3.5 4 4.5 5 5.5 Time [s] -500 -400 -300 -200 -100 0 100 200 300 400 500 x [mm] (a) Posizione 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 Time [s] -800 -600 -400 -200 0 200 400 600 x p [mm/s] (b) Velocità Fig. 5.8: Posizione e velocità lineari effettive del manipolo dell’interfaccia aptica 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 Time [s] -4 -3 -2 -1 0 1 2 3 4 err x [mm] (a) Asse x 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 Time [s] -4 -3 -2 -1 0 1 2 3 err y [mm] (b) Asse y Fig. 5.9: Errori in posizione dei due assi del sistema cartesiano 427
  • 464.
    Telecontrollo di unsistema cartesiano mediante feedback cinestetico -500 -400 -300 -200 -100 0 100 200 300 400 500 x [mm] -100 -80 -60 -40 -20 0 20 40 60 80 100 y [mm] E1 E2 Pstart (a) Interfaccia aptica -500 -400 -300 -200 -100 0 100 200 300 400 500 x [mm] -500 -400 -300 -200 -100 0 100 200 300 400 500 y [mm] Effettiva Ideale (b) Sistema cartesiano Fig. 5.10: Traiettorie eseguite effettivamente dal manipolo dell’interfaccia aptica e dall’end-effector del sistema cartesiano 5.3.2 Traiettoria circolare Si consideri una traiettoria circolare di centro C, raggio R e caratterizzata da un sistema di riferimento locale descritto, rispetto al sistema di riferimento assoluto del sistema cartesiano, da una matrice di rotazione R01. Sia α l’angolo al centro, espresso in radianti, sotteso dall’arco di circonferenza che si desidera far compiere all’end-effector del sistema cartesiano. La lunghezza di tale arco può essere calcolata mediante la formula (5.4). Lcirc = αR (5.4) Il fattore di scala, con cui convertire lo spostamento lineare del manipolo nel set- point dell’ascissa curvilinea s, lo si calcola come il rapporto tra la lunghezza dell’arco di circonferenza considerato e la corsa utile dell’interfaccia aptica (relazione (5.5)). Fs = Lcirc c (5.5) A titolo di esempio, si è considerato una circonferenza di raggio R = 220 mm, cen- tro localizzato nell’origine delle coordinate assolute x e y del sistema cartesiano e caratterizzata da un sistema di riferimento locale coincidente con quello assoluto. Inoltre, si è scelto di far percorrere all’end-effector dello slave l’intera circonferen- za, ovvero si è assunto α = 2π radianti, e di svolgerlo in senso orario. Infine, si 428
  • 465.
    Telecontrollo cinematico è consideratoun estremo dell’interfaccia aptica, nel dettaglio quello lontano dal motore, come posizione di partenza del manipolo e ad esso si è associato il punto P1 =   0 220  , come corrispondente posizione dell’end-effector del sistema cartesiano. Pertanto, spostando il manipolo dell’interfaccia aptica verso l’altro estremo, si mo- vimenta l’end-effector del sistema a 2 g.d.l. in senso orario lungo la circonferenza precedentemente descritta. In Fig.5.11 sono riportati gli andamenti, in funzione del tempo, della posizione e della velocità lineari del manipolo dell’interfaccia aptica, movimentato dall’operatore. In Fig.5.12 sono rappresentati, invece, i corrispondenti andamenti, in funzione del tempo, delle posizioni e delle velocità lineari di entrambi gli assi del sistema cartesiano. In Fig.5.13 sono mostrati gli errori in posizione, in funzione del tempo, sia per l’asse x sia per l’asse y del sistema a 2 g.d.l., ricavati come la differenza tra il segnale di riferimento in posizione, ottenuto a partire dal set point dell’ascissa curvilinea, e la misura della posizione corrente del singolo asse del sistema. Analogamente a quanto osservato discutendo della traiettoria lineare, si può osservare che, anche nel caso della traiettoria circolare, gli errori massimi in posizione, per entrambi gli assi del sistema cartesiano, li si è commessi nelle fasi in cui le velocità lineari sono più elevate. 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 Time [s] -100 0 100 200 300 400 500 600 700 800 900 1000 x [mm] (a) Posizione 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 Time [s] -100 0 100 200 300 400 500 x p [mm/s] (b) Velocità Fig. 5.11: Posizione e velocità lineari effettive del manipolo dell’interfaccia aptica 429
  • 466.
    Telecontrollo di unsistema cartesiano mediante feedback cinestetico 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 Time [s] -250 -200 -150 -100 -50 0 50 100 150 200 250 x [mm] (a) Posizione asse x 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 Time [s] -250 -200 -150 -100 -50 0 50 100 150 200 250 y [mm] (b) Posizione asse y 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 Time [s] -800 -600 -400 -200 0 200 400 600 x p [mm/s] (c) Velocità asse x 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 Time [s] -600 -400 -200 0 200 400 600 800 y p [mm/s] (d) Velocità asse y Fig. 5.12: Posizione e velocità lineari correnti dei due assi del sistema cartesiano a 2 g.d.l. Infine, in Fig.5.14 sono rappresentate la traiettoria descritta dal manipolo dell’inter- faccia aptica lungo la guida lineare e a destra, sovrapposte nel piano cartesiano x - y, la traiettoria circolare ideale progettata e quella, invece, realmente descritta dall’end- effector del sistema a 2 g.d.l. In particolare, si può osservare che quest’ultimo ha percorso in modo preciso l’effettiva traiettoria circolare desiderata. 430
  • 467.
    Telecontrollo cinematico 0 0.51 1.5 2 2.5 3 3.5 4 4.5 Time [s] -4 -3 -2 -1 0 1 2 3 4 err x [mm] (a) Asse x 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 Time [s] -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 err y [mm] (b) Asse y Fig. 5.13: Errori in posizione dei due assi del sistema cartesiano -100 0 100 200 300 400 500 600 700 800 900 1000 x [mm] -100 -80 -60 -40 -20 0 20 40 60 80 100 y [mm] Pstart Pend (a) Interfaccia aptica -250 -200 -150 -100 -50 0 50 100 150 200 250 x [mm] -250 -200 -150 -100 -50 0 50 100 150 200 250 y [mm] Effettiva Ideale (b) Sistema cartesiano Fig. 5.14: Traiettorie eseguite effettivamente dal manipolo dell’interfaccia aptica e dall’end-effector del sistema cartesiano 431
  • 468.
    Telecontrollo di unsistema cartesiano mediante feedback cinestetico 5.3.3 Traiettoria a Spirale d’Archimede Si consideri di far compiere all’end-effector del sistema cartesiano una traiettoria a Spirale d’Archimede, caratterizzata da un polo O e da un certo passo a. Per semplicità, si assume che il polo della spirale coincida con l’origine delle coordinate assolute x e y del sistema a 2 g.d.l.. Come visto nel sotto - paragrafo (3.5.3), la Spirale d’Archimede è una traiettoria parametrica, che dipende da un unico parametro che può essere l’angolo di rotazione θ della semi - retta attorno al polo o lo spostamento lineare ρ lungo tale semi - retta. L’ascissa curvilinea s che descrive lo spostamento del generico punto P lungo tale traiettoria può essere calcolata mediante la formula (5.6), in funzione, per esempio, dell’angolo θ. s(θ̄) = Z θ̄ 0 ∥ dP dθ ∥dθ (5.6) Il vettore dP dθ rappresenta la derivata geometrica della traiettoria considerata e può essere calcolato mediante la relazione (5.7), la quale la si ottiene derivando, rispetto al parametro θ, le equazioni parametriche che descrivono la Spirale d’Archimede. dP dθ =   a cos θ − aθ sin θ a sin θ + aθ cos θ   (5.7) Si può notare che l’ascissa curvilinea che rappresenta lo spostamento lungo la tra- iettoria in esame non può essere ottenuta per via analitica; pertanto, si procede per via numerica. L’idea è di definire, per esempio in Matlab, un vettore equispaziato di N angoli θ, che vanno da 0 fino al massimo angolo θend di cui si vuol far ruotare la semi - retta della Spirale di Archimede (relazione (5.8)). Vθ = linspace(0, θend, N) (5.8) A questo punto, utilizzando il metodo dei trapezi, si risolve l’integrale (5.6) e si ottiene il vettore di ascisse curvilinee corrispondenti agli angoli contenuti nel vettore Vθ. Per fare ciò, si può impiegare la funzione cumtrapz di Matlab (formula (5.9)). Vs = cumtrapz(|| dP dθ ||, Vθ) (5.9) Adottando l’approccio appena descritto, si riesce a costruire per punti la traiettoria a spirale che si desidera far percorrere all’end-effector del sistema cartesiano. Nel- l’applicazione di telecontrollo cinematico si traduce lo spostamento x del manipolo 432
  • 469.
    Telecontrollo cinematico dell’interfaccia apticanel set-point dell’ascissa curvilinea s del sistema a 2 g.d.l., me- diante un opportuno fattore di scala. Pertanto, l’operatore movimenta il manipolo dell’interfaccia aptica e, a partire dalla misura dell’encoder incrementale, si ricava il suo spostamento x. Quest’ultimo lo si traduce nel set-point dell’ascissa curvilinea e lo si invia, mediante comunicazione TCP, all’applicativo che gestisce il sistema a 2 g.d.l.. Dunque, a livello di quest’ultimo, si deve, poi, ricavare i segnali di riferimento in posizione e in velocità per entrambi gli assi del sistema cartesiano, a partire dal suddetto set-point s̃. Per fare ciò, si deve calcolare, innanzitutto, il valore corrente del set-point dell’angolo θ, a partire da quello dell’ascissa curvilinea. Tale opera- zione la si svolge tramite interpolazione lineare: si conosce per punti la traiettoria a spirale desiderata, si è calcolato il valore del set-point dell’ascissa curvilinea s e, quindi, a partire da tali informazioni, utilizzando la funzione interp1 di Matlab, si ricava il corrispondente valore del set-point dell’angolo θ (relazione (5.10)). θ̃ = interp1(Vs, Vtheta, s̃) (5.10) Derivando, poi, numericamente θ̃ si riesce ad ottenere, anche, il set-point ˜ θ̇. A questo punto, a partire da questi due ultimi valori, impiegando le equazioni, descritte nel sotto - paragrafo 3.5.3, si ottengono i segnali di riferimento in posizione e in velocità per entrambi gli assi del sistema cartesiano. A titolo di esempio, si è considerato una traiettoria a spirale con polo nell’origine delle coordinate assolute del sistema cartesiano, passo a = 9 e valore limite dell’angolo θ pari a 2πk, con k = 3. Inoltre, si è assunto come punto di partenza del manipolo l’estremo dell’interfaccia aptica lon- tano dal motore e ad esso vi si è associato il polo della spirale, come corrispondente posizione dell’end-effector del sistema a 2 g.d.l.. In Fig.5.16 sono riportati gli an- damenti, in funzione del tempo, della posizione e della velocità lineari del manipolo dell’interfaccia aptica, movimentato dall’operatore. In Fig.5.15 sono rappresentati, invece, i corrispondenti andamenti, in funzione del tempo, delle posizioni e delle velocità lineari di entrambi gli assi del sistema cartesiano. In Fig.5.17 sono illustrati gli andamenti, in funzione del tempo, degli errori in posizione sia per l’asse x sia per l’asse y del sistema a 2 g.d.l.. Si può osservare che, anche nel caso della traiettoria a spirale, gli errori massimi in posizione, per entrambi gli assi del sistema cartesiano, 433
  • 470.
    Telecontrollo di unsistema cartesiano mediante feedback cinestetico li si è commessi nelle fasi in cui le velocità lineari sono più elevate. Infine, in Fig.5.18 sono rappresentate la traiettoria descritta dal manipolo dell’interfaccia aptica lungo la guida lineare e a destra, sovrapposte nel piano cartesiano x - y, la traiettoria a Spirale di Archimede ideale progettata e quella, invece, realmente percorsa dall’end- effector del sistema a 2 g.d.l.. Si può osservare che quest’ultimo ha descritto in modo preciso l’effettiva traiettoria a spirale desiderata. 0 0.5 1 1.5 2 2.5 3 3.5 4 Time [s] -150 -100 -50 0 50 100 150 x [mm] (a) Posizione asse x 0 0.5 1 1.5 2 2.5 3 3.5 4 Time [s] -200 -150 -100 -50 0 50 100 150 y [mm] (b) Posizione asse y 0 0.5 1 1.5 2 2.5 3 3.5 4 Time [s] -1000 -800 -600 -400 -200 0 200 400 600 800 1000 x p [mm/s] (c) Velocità asse x 0 0.5 1 1.5 2 2.5 3 3.5 4 Time [s] -1000 -800 -600 -400 -200 0 200 400 600 800 1000 y p [mm/s] (d) Velocità asse y Fig. 5.15: Posizione e velocità lineari correnti dei due assi del sistema cartesiano a 2 g.d.l. 434
  • 471.
    Telecontrollo cinematico 0 0.51 1.5 2 2.5 3 3.5 4 Time [s] -100 0 100 200 300 400 500 600 700 800 900 1000 x [mm] (a) Posizione 0 0.5 1 1.5 2 2.5 3 3.5 4 Time [s] -100 0 100 200 300 400 500 600 x p [mm/s] (b) Velocità Fig. 5.16: Posizione e velocità lineari effettive del manipolo dell’interfaccia aptica 0 0.5 1 1.5 2 2.5 3 3.5 4 Time [s] -4 -3 -2 -1 0 1 2 3 4 5 err x [mm] (a) Asse x 0 0.5 1 1.5 2 2.5 3 3.5 4 Time [s] -6 -5 -4 -3 -2 -1 0 1 2 3 err y [mm] (b) Asse y Fig. 5.17: Errori in posizione dei due assi del sistema cartesiano 435
  • 472.
    Telecontrollo di unsistema cartesiano mediante feedback cinestetico -100 0 100 200 300 400 500 600 700 800 900 1000 x [mm] -100 -80 -60 -40 -20 0 20 40 60 80 100 y [mm] Pstart Pend (a) Interfaccia aptica -150 -100 -50 0 50 100 150 x [mm] -200 -150 -100 -50 0 50 100 150 y [mm] Effettiva Ideale (b) Sistema cartesiano Fig. 5.18: Traiettorie eseguite effettivamente dal manipolo dell’interfaccia aptica e dall’end-effector del sistema cartesiano 5.4 Telecontrollo con feedback aptico Nel telecontrollo con feedback aptico si vuole telecontrollare il movimento dello slave mediante il dispositivo master e, allo stesso tempo, a livello di quest’ultimo, far per- cepire all’operatore una forza di reazione esattamente pari alla forza di interazione tra il dispositivo slave e l’ambiente ad esso circostante. Pertanto, nel telecontrollo con feedback aptico si svolgono tutte le operazioni che vengono eseguite anche nel telecontrollo cinematico e, in aggiunta, si deve trasmettere, sempre mediante la co- municazione TCP, l’informazione sulla forza ambiente dallo slave al master, tramite la quale, a livello di quest’ultimo, si chiude l’anello di controllo in forza. Pertanto, a differenza del telecontrollo cinematico, in quello con feedback aptico il master viene controllato in forza mediante un’opportuna strategia. Nell’applicazione in esame, il dispositivo slave è il sistema cartesiano a 2 g.d.l. e, come già detto, esso non presenta un sensore in forza a livello del suo end - effector, con cui misurare le azioni di interazione con l’ambiente ad esso circostante. Pertanto, l’approccio che si utilizza è quello di sviluppare un ambiente virtuale, che sulla base del movimento compiuto dallo slave, genera una determinata forza di reazione che, poi, impiegando un opportuno sistema di controllo in forza, viene percepita dall’operatore a livello 436
  • 473.
    Telecontrollo con feedbackaptico del dispositivo master. Gli ambienti virtuali, discussi singolarmente nel capitolo 2, sono stati implementati anche in un’attività di telecontrollo tra il sistema a 1 g.d.l., che in queste condizioni lavora effettivamente come un’interfaccia aptica in quanto viene controllato in forza, e il sistema cartesiano a 2 g.d.l.. Di seguito, si riportano a titolo illustrativo alcuni semplici esempi e i corrispondenti risultati sperimentali. 5.4.1 Ambiente elastico in ammettenza Si consideri una molla ideale di rigidezza k come ambiente virtuale, che genera la forza che viene, poi, percepita dall’operatore a livello del manipolo dell’interfaccia aptica. L’idea è che la persona afferra il manipolo, lo movimenta lungo la guida lineare e ciò, tramite telecontrollo cinematico, viene tradotto in un corrispondente spostamento dell’end - effector del sistema cartesiano lungo una determinata tra- iettoria desiderata. Allo stesso tempo, l’operatore percepisce, in corrispondenza del manipolo dell’interfaccia aptica, una forza pari a quella generata dall’ambiente vir- tuale, che, nello specifico caso in esame, è direttamente proporzionale all’effettivo valore dell’ascissa curvilinea, ovvero al reale spostamento dell’end - effector del si- stema a 2 g.d.l. lungo la traiettoria considerata. Come primo caso, si è assunto di controllare in forza il sistema ad 1 g.d.l, mediante una strategia di controllo in am- mettenza. Inoltre, si è considerato una retta, passante per l’origine delle coordinate assolute e per il punto P2 =   512.5 501.5   , come traiettoria del terminale del sistema cartesiano lungo cui mappare lo spostamento del manipolo dell’interfaccia aptica. Infine, si è scelto K = 90N m , come caratteristica dell’ambiente virtuale. Per valutare le prestazioni del sistema di telecontrollo con feedback aptico, sono state svolte delle prove del tutto analoghe a quelle eseguite per testare le performance dei sistemi di controllo in forza implementati nel capitolo 2: • si è movimentato più volte il manipolo dell’interfaccia aptica avanti e indietro tra i due fine - corsa; • si è misurato una serie di grandezze, quali la posizione e la velocità lineare sia del manipolo sia dell’end - effector del sistema a 2 g.d.l., la forza applicata 437
  • 474.
    Telecontrollo di unsistema cartesiano mediante feedback cinestetico dall’operatore e la forza generata dall’ambiente virtuale. In Fig.5.19 è riportato l’andamento, in funzione del tempo, della posizione e del- la velocità lineare del manipolo dell’interfaccia aptica, durante una delle suddette prove. In Fig.5.20 sono, invece, rappresentati gli andamenti, in funzione del tempo, delle posizioni e delle velocità lineari di entrambi gli assi del sistema cartesiano. Si può osservare che il manipolo del master e i due assi del dispositivo slave sono stati mossi con delle velocità lineari piuttosto contenute, con picchi intorno a 0.5 m s . In Fig.5.21 sono rappresentati gli andamenti, in funzione del tempo, della forza applicata dall’operatore e della forza generata dall’ambiente virtuale. Inoltre, sot- traendo la seconda alla prima si è calcolato l’errore in forza commesso durante lo svolgimento della prova considerata. L’andamento di quest’ultimo, in funzione del tempo, è riportato in Fig.5.22, dove si può osservare che il massimo errore in forza compiuto è pari a 6.04 N. La forza operatore massima è pari a 36.81 N. Pertanto, si può concludere che l’errore percentuale massimo in forza commesso è pari al 16.42 % della massima forza applicata dall’operatore sul manipolo dell’interfaccia aptica. 0 5 10 15 20 25 30 35 40 Time [s] -400 -300 -200 -100 0 100 200 300 400 x [mm] (a) Posizione 0 5 10 15 20 25 30 35 40 Time [s] -500 -400 -300 -200 -100 0 100 200 300 400 500 x p [mm/s] (b) Velocità Fig. 5.19: Posizione e velocità lineari effettive del manipolo dell’interfaccia aptica 438
  • 475.
    Telecontrollo con feedbackaptico 0 5 10 15 20 25 30 35 40 Time [s] -500 -400 -300 -200 -100 0 100 200 300 400 500 x [mm] (a) Posizione asse x 0 5 10 15 20 25 30 35 40 Time [s] -300 -200 -100 0 100 200 300 y [mm] (b) Posizione asse y 0 5 10 15 20 25 30 35 40 Time [s] -600 -400 -200 0 200 400 600 x p [mm/s] (c) Velocità asse x 0 5 10 15 20 25 30 35 40 Time [s] -600 -400 -200 0 200 400 600 y p [mm/s] (d) Velocità asse y Fig. 5.20: Posizione e velocità lineari correnti dei due assi del sistema cartesiano a 2 g.d.l. 439
  • 476.
    Telecontrollo di unsistema cartesiano mediante feedback cinestetico 0 5 10 15 20 25 30 35 40 Time [s] -40 -30 -20 -10 0 10 20 30 40 F op [N] (a) Forza operatore 0 5 10 15 20 25 30 35 40 Time [s] -40 -30 -20 -10 0 10 20 30 40 F amb [N] (b) Forza ambiente Fig. 5.21: Forza applicata dall’operatore sul manipolo e forza generata dall’ambiente virtuale 0 5 10 15 20 25 30 35 40 Time [s] -8 -6 -4 -2 0 2 4 6 err F [N] Fig. 5.22: Errore in forza durante la riproduzione di una molla ideale di rigidezza K = 60 N m , mediante telecontrollo aptico 440
  • 477.
    Telecontrollo con feedbackaptico Si può calcolare la risposta dell’ambiente ideale preso in considerazione dividendo la forza operatore per la sua rigidezza K. Il risultato che si ottiene è in termini di ascissa curvilinea s. Pertanto, utilizzando le equazioni che caratterizzano la traiet- toria considerata, si possono ottenere le risposte dell’ambiente ideale in termini di coordinate x e y del sistema cartesiano. Svolgendo, poi, la differenza tra queste ultime e gli spostamenti effettivi dei due assi del sistema cartesiano, si ricavano gli errori commessi in posizione lungo l’asse x e lungo l’asse y. In particolare, il loro andamento, in funzione del tempo, è riportato in Fig.5.23. Si può notare che gli errori massimi commessi sono pari a 73.78 mm, lungo l’asse x, e 71.41 mm lungo l’asse y. Di conseguenza, si può concludere che gli errori percentuali massimi in posizione commessi sono pari a: • 17.64 %, lungo l’asse x; • 17.41 %, lungo l’asse y. In Fig.5.24 si riporta: • a sinistra, la reale traiettoria descritta dall’end - effector del sistema carte- siano, la quale si può notare che coincide, effettivamente, con la traiettoria progettata; • a destra, la forza applicata dall’operatore sul manipolo dell’interfaccia aptica in funzione dell’ascissa curvilinea s, che rappresenta l’effettivo spostamento del terminale del sistema cartesiano lungo la traiettoria considerata. Si può notare che tale diagramma approssima molto bene la curva caratteristica del- l’ambiente virtuale impiegato, ovvero una retta passante per l’origine degli assi con pendenza K=60 N m . 441
  • 478.
    Telecontrollo di unsistema cartesiano mediante feedback cinestetico 0 5 10 15 20 25 30 35 40 Time [s] -80 -60 -40 -20 0 20 40 60 80 Err x [mm] (a) Errore lungo x 0 5 10 15 20 25 30 35 40 Time [s] -80 -60 -40 -20 0 20 40 60 80 Err y [mm] (b) Errore lungo y Fig. 5.23: Errori in posizione commessi lungo i due assi del sistema cartesiano -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 x [m] -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 y [m] (a) Traiettoria -0.6 -0.4 -0.2 0 0.2 0.4 0.6 s [m] -40 -30 -20 -10 0 10 20 30 40 F [N] Reale Ideale (b) Curva Fop - s Fig. 5.24: Traiettoria descritta dall’end - effector del sistema cartesiano e curva forza operatore - spostamento effettivo s 442
  • 479.
    Telecontrollo con feedbackaptico 5.4.2 Ambiente elastico in impedenza Si consideri ancora il medesimo ambiente virtuale descritto in precedenza, ovvero una molla ideale di rigidezza K = 60 N m . Tuttavia, si assuma, ora, di controllare in forza il sistema ad 1 g.d.l. mediante una strategia di controllo in impedenza in anello chiuso. In questo modo, si riesce a valutare anche in un’applicazione di telecontrollo con feedback aptico entrambe le due strategie di controllo in forza descritte in dettaglio nel capitolo 2. Inoltre, si è scelto una circonferenza con centro nell’origine delle coordinate assolute x e y e raggio R = 220 mm, come traiettoria del terminale del sistema cartesiano lungo cui mappare lo spostamento del manipolo dell’interfaccia aptica. Per valutare le prestazioni del sistema di telecontrollo con feedback aptico, si è svolto delle prove analoghe a quelle descritte in precedenza. In Fig.5.25 è riportato l’andamento, in funzione del tempo, della posizione e della velocità lineare del manipolo dell’interfaccia aptica, durante una delle suddette prove. In Fig.5.26 sono, invece, rappresentati gli andamenti, in funzione del tempo, delle posizioni e delle velocità lineari di entrambi gli assi del sistema cartesiano. 0 5 10 15 20 25 30 35 40 Time [s] -500 -400 -300 -200 -100 0 100 200 300 400 500 x [mm] (a) Posizione 0 5 10 15 20 25 30 35 40 Time [s] -500 -400 -300 -200 -100 0 100 200 300 400 x p [mm/s] (b) Velocità Fig. 5.25: Posizione e velocità lineari effettive del manipolo dell’interfaccia aptica 443
  • 480.
    Telecontrollo di unsistema cartesiano mediante feedback cinestetico 0 5 10 15 20 25 30 35 40 Time [s] -250 -200 -150 -100 -50 0 50 100 150 200 250 x [mm] (a) Posizione asse x 0 5 10 15 20 25 30 35 40 Time [s] -150 -100 -50 0 50 100 150 y [mm] (b) Posizione asse y 0 5 10 15 20 25 30 35 40 Time [s] -800 -600 -400 -200 0 200 400 600 800 x p [mm/s] (c) Velocità asse x 0 5 10 15 20 25 30 35 40 Time [s] -800 -600 -400 -200 0 200 400 600 y p [mm/s] (d) Velocità asse y Fig. 5.26: Posizione e velocità lineari correnti dei due assi del sistema cartesiano a 2 g.d.l. 444
  • 481.
    Telecontrollo con feedbackaptico 0 5 10 15 20 25 30 35 40 Time [s] -40 -30 -20 -10 0 10 20 30 40 F op [N] (a) Forza operatore 0 5 10 15 20 25 30 35 40 Time [s] -40 -30 -20 -10 0 10 20 30 40 F amb [N] (b) Forza ambiente Fig. 5.27: Forza applicata dall’operatore sul manipolo e forza generata dall’ambiente virtuale In Fig.5.27 sono rappresentati gli andamenti, in funzione del tempo, della forza applicata dall’operatore e della forza generata dall’ambiente virtuale. Inoltre, sot- traendo la seconda alla prima si è calcolato l’errore in forza commesso durante lo svolgimento della prova considerata. L’andamento di quest’ultimo, in funzione del tempo, è riportato in Fig.5.28, dove si può osservare che il massimo errore in forza compiuto è pari a 3.81 N. La forza operatore massima è pari a 36.51 N. Pertanto, si può concludere che l’errore percentuale massimo in forza commesso è pari al 10.44 % della massima forza applicata dall’operatore sul manipolo dell’interfaccia aptica. Si può calcolare la risposta dell’ambiente ideale preso in considerazione, in termini di ascissa curvilinea s, dividendo la forza operatore per la sua rigidezza K e da que- sta, utilizzando le equazioni che caratterizzano la traiettoria considerata, si possono calcolare le risposte dell’ambiente ideale in termini di coordinate x e y del sistema cartesiano. Svolgendo, poi, la differenza tra queste ultime e gli spostamenti effettivi dei due assi del sistema cartesiano, si ottengono gli errori commessi in posizione lungo l’asse x e lungo l’asse y. In particolare, il loro andamento, in funzione del tempo, è riportato in Fig.5.29. 445
  • 482.
    Telecontrollo di unsistema cartesiano mediante feedback cinestetico 0 5 10 15 20 25 30 35 40 Time [s] -4 -3 -2 -1 0 1 2 3 4 err F [N] Fig. 5.28: Errore in forza durante la riproduzione di una molla ideale di rigidezza K = 60 N m , mediante telecontrollo aptico 0 5 10 15 20 25 30 35 40 Time [s] -60 -40 -20 0 20 40 60 Err x [mm] (a) Errore lungo x 0 5 10 15 20 25 30 35 40 Time [s] -30 -20 -10 0 10 20 30 40 50 60 Err y [mm] (b) Errore lungo y Fig. 5.29: Errori in posizione commessi lungo i due assi del sistema cartesiano 446
  • 483.
    Telecontrollo con feedbackaptico Si può notare che gli errori massimi commessi sono pari a 54.17 mm, lungo l’asse x, e 56.18 mm lungo l’asse y. Di conseguenza, si può concludere che gli errori percentuali massimi in posizione commessi sono pari a: • 24.84 %, lungo l’asse x; • 25.60 %, lungo l’asse y. In Fig.5.30 si riporta: • a sinistra, la reale traiettoria descritta dall’end - effector del sistema carte- siano, la quale si può notare che coincide, effettivamente, con la traiettoria circolare progettata. • a destra, la forza applicata dall’operatore sul manipolo dell’interfaccia aptica in funzione dell’ascissa curvilinea s, che rappresenta l’effettivo spostamento del terminale del sistema cartesiano lungo la traiettoria considerata. Si può notare che, anche in questo secondo caso, l’ultimo diagramma citato approssima bene la curva caratteristica dell’ambiente virtuale considerato, ovvero una retta passante per l’origine degli assi con pendenza K=60 N m . -0.3 -0.2 -0.1 0 0.1 0.2 0.3 x [m] -0.3 -0.2 -0.1 0 0.1 0.2 y [m] (a) Traiettoria -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 s [m] -40 -30 -20 -10 0 10 20 30 40 F [N] Reale Ideale (b) Curva Fop - s Fig. 5.30: Traiettoria descritta dall’end - effector del sistema cartesiano e curva forza operatore - spostamento effettivo s 447
  • 485.
    Conclusioni Nella presente attivitàdi tesi è stata affrontata la tematica del telecontrollo di un sistema cartesiano a due gradi di libertà mediante un’interfaccia aptica, metten- do in chiara evidenza i risultati sperimentali ottenuti in ogni situazione analizzata. L’elaborato, coinvolgendo due differenti sistemi meccanici, è stato suddiviso in tre parti distinte: interfaccia aptica a 1 g.d.l., sistema cartesiano a 2 g.d.l. e telecon- trollo del secondo tramite la prima. Dopo aver modellizzato matematicamente e studiato il comportamento del sistema aptico in simulazione, ci si focalizza sul suo controllo, sia in posizione che in forza. Riguardo il secondo, è un aspetto decisa- mente rilevante nel presente elaborato, in quanto essenziale per l’implementazione di un efficace telecontrollo con feedback aptico. A tal scopo sono state indagate le principali architetture di controllo in forza: in ammettenza ed in impedenza. La principale differenza tra le due strategie è che, in ammettenza, sono presenti due anelli di retroazione, quello interno di posizione e quello esterno di forza, mentre in impedenza solo il secondo. Per testare l’efficacia dei sistemi di controllo progettati, sono stati riprodotti sul banco di prova alcuni ambienti virtuali, quale quello ela- stico, visco-elastico e completo, il cui comportamento fosse facilmente analizzabile preventivamente in simulazione. Esaminando i risultati ottenuti sul sistema apti- co e confrontandoli con quelli ricavati in simulazione, è stato possibile trarre delle conclusioni sulle performance del sistema di controllo sintetizzato: il controllo in impedenza, rispetto a quello in ammettenza, si è rilevato migliore per simulare gli ambienti citati. In seguito a tale analisi e scelta l’architettura di controllo migliore per il banco a disposizione, è stata utilizzata per simulare altri ambienti, il cui com- portamento fosse più facilmente intuibile da un utente poco avvezzo ai dispositivi aptici: inerziale, triangolare, sinusoidale, dente di sega e scatola. Un’ importante 449
  • 486.
    Conclusioni considerazione è emersariproducendo l’ambiente scatola e dente di sega in quanto, vedendo in essi la presenza di muri virtuali, ci si accorge di come con il controllo in impedenza non sia possibile realizzare tali situazioni. Il motivo risiede nell’assenza dell’anello di posizione interno, presente invece nel controllo in ammettenza, che consente al sistema di virtualizzare la presenza di un muro in una posizione sempre fissa. Il movimento del manipolo del sistema aptico lungo la guida lineare è soggetto alle azioni d’attrito, pertanto è stato svolto uno studio e implementato un modello tra quelli disponibili in letteratura. Lo sviluppo di quest’ultimo si è reso essenziale per il progetto del compensatore statico dell’attrito: tale strumento si è rivelato effi- cace solo nel controllo in impedenza, mitigando le azioni resistenti e riproducendo in maniera più efficiente ambienti, quale quello trasparenza, in cui l’operatore deve in- trodurre nel sistema la minima forza possibile. Nel controllo in ammettenza invece, la presenza dell’anello interno di posizione, compensa già la dinamica naturale del sistema, che comprende, pertanto, le azioni resistenti. Per ciò che concerne il robot cartesiano invece, è stata effettuata, come per l’interfaccia aptica, una prima fase di modellizzazione e studio del sistema, per poi focalizzare l’attenzione sul controllo in posizione. Quest’ultimo è fondamentale, per una macchina di questo tipo, per posizionare l’end-effector nello spazio di lavoro e farlo muovere secondo una traiet- toria prestabilita; a tal scopo sono state implementate una serie di percorsi quale quello circolare, lineare, a spirale di Archimede e a farfalla. Compreso quest’ulti- mo sistema meccanico, è stato realizzato il vero e proprio telecontrollo del sistema a due gradi di libertà. L’obiettivo è quello di far percepire all’utente che adopera l’interfaccia un feedback aptico in base all’interazione della macchina a 2 g.d.l con l’ambiente: non essendo però presente, sul dispositivo slave, un sensore di forza, vie- ne virtualizzato il contatto tra slave e ambiente reale. Per conseguire tale obiettivo, è stato necessario condurre uno studio sui protocolli impiegabili, UDP e TCP, per la trasmissione dei dati, da un sistema all’altro. In merito a tale attività, è stato adottato il protocollo TCP e si è evidenziato come i ritardi nella trasmissione dei dati non siano tali, virtualizzando un ambiente molla, da compromettere la stabilità del dispositivo, sia impiegando un controllo in ammettenza che in impedenza. Una volta sviluppato, anche, il canale di comunicazione, si è implementata la vera e pro- 450
  • 487.
    Conclusioni pria attività ditelecontrollo del sistema cartesiano mediante il sistema ad 1 g.d.l., a disposizione. Dapprima, è stata svolta un’operazione di telecontrollo cinematico, in cui, movimentando il manipolo del sistema ad 1 g.d.l., è stato possibile far muovere lungo una certa traiettoria prestabilita l’end - effector del sistema cartesiano. Dai risultati riportati nel paragrafo 5.3, si può osservare che, durante l’applicazione di telecontrollo cinematico, il terminale del sistema a 2 g.d.l. ha percorso in modo molto preciso la specifica traiettoria considerata. Una volta realizzato questo primo step intermedio, si è conclusa l’attività di tesi realizzando l’applicazione di telecon- trollo con feedback aptico, in cui l’utente, afferrando e movimentando il manipolo dell’interfaccia aptica, riesce non solo a spostare l’end - effector del sistema a 2 g.d.l. lungo una certa traiettoria bidimensionale, ma è in grado, inoltre, di percepire una forza di reazione, generata da un ambiente virtuale prestabilito e strettamente legata al movimento del terminale del sistema cartesiano. Nei sotto - paragrafi 5.4.1 e 5.4.2, sono riportate le analisi sperimentali ottenute, nell’attività di telecontrollo con feedback aptico, considerando un ambiente elastico come ambiente virtuale. Tali risultati, ricavati sia con controllo in ammettenza che in impedenza in anello chiuso applicato all’interfaccia aptica, sono più che accettabili e coerenti con quelli ottenuti trattando il tema del solo controllo in forza sul sistema ad 1 g.d.l.. Pertanto, si può concludere che l’operazione di telecontrollo con feedback aptico è stata svolta con successo, almeno per quanto concerne gli ambienti virtuali implementati. Infine, per quanto riguarda gli sviluppi futuri dell’applicazione di telecontrollo im- plementata, un primo miglioramento che si può realizzare è l’equipaggiamento dello slave con un sensore in forza, che misura il contatto di tale dispositivo con l’am- biente circostante. In questo modo, non si deve più virtualizzare tale interazione sviluppando un ambiente virtuale a livello dell’applicativo che gestisce il dispositivo slave e, pertanto, l’attività di telecontrollo risulta essere completa. Infatti, in tale condizione, l’operatore percepisce, a livello del manipolo dell’interfaccia aptica, l’ef- fettiva forza di interazione tra l’end - effector del dispositivo remoto e l’ambiente ad esso circostante. Un altro possibile sviluppo futuro è l’impiego di una comunicazione wireless per scambiare i dati tra il dispositivo master e lo slave. Tendenzialmente, i sistemi di comunicazione wireless sono meno affidabili di quelli via cavo, in quanto 451
  • 488.
    Conclusioni comportano una maggioreperdita di dati. Tuttavia, l’impiego di una comunicazio- ne wireless è estremamente utile in tutte quelle applicazioni in cui lo slave non è localizzato in una posizione fissa, ma si deve muovere nell’ambiente circostante. In tale scenario è evidente che l’impiego di cavi per la trasmissione delle informazioni tra i due dispositivi limita notevolmente il movimento del dispositivo remoto. Si pensi, per esempio, al telecontrollo di un robot mobile per il disinnesco di bombe in ambito militare. Non è pensabile di comunicare con tale dispositivo impiegando un cavo e, di conseguenza, lo sviluppo di un canale di comunicazione wireless è neces- sario, anche se meno performante. Un terzo possibile sviluppo futuro è l’estensione, dell’attività di telecontrollo svolta, a sistemi meccatronici con un maggior numero di gradi di libertà. Ciò è possibile in quanto si è riscontrato che le latenze presenti nella comunicazione tra i due dispositivi sono estremamente basse. Tale fenomeno è legato, innanzitutto, alla sotto saturazione del canale di comunicazione, poiché la quantità di dati trasmessi è molto limitata, dato che i due sistemi meccatronici gestiti presentano entrambi un basso numero di gradi di libertà. Inoltre, i due di- spositivi sono estremamente vicini l’uno all’altro, aspetto che riduce notevolmente i ritardi nella comunicazione e favorisce, quinid, la realizzazione dell’applicazione di telecontrollo. 452
  • 489.
    Bibliografia [1] Ghani A.et al. “A Review of Communication Protocols for Intelligent Remote Terminal Unit Development”. In: TELKOMNIKA (2013). [2] Keemink A., Van der Kooij H. e HA Stienen A. “Admittance control for physicalhuman–robot interaction”. In: The International Journal of Robotics Research (2018). [3] Giordano P. R. Abi-Farraj F. Pedemonte N. A visual-based shared control architecture for remote telemanipulation. Intelligent Robots e Systems (IROS), 2016. [4] R Bucher. Introduzione a Stateflow. Scuola universitaria professionale della Svizzera italiana, 2013. [5] Pacchierotti C., Prattichizzo D. e Kuchenbecker K. “Cutaneous Feedback of Fingertip Deformationand Vibration for Palpation in Robotic Surgery”. In: IEEE TRANSACTIONS ON BIOMEDICAL ENGINEERING (2015). [6] Pacchierotti C. et al. “Cutaneous haptic feedback to ensure the stability of robotic teleoperation systems”. In: The International Journal of Robotics Research (2015). [7] R.C. Goertz. “Fundamentals of general purpose remote manipulators”. In: Nucleonics (U.S.) Ceased publication 11 (1952). [8] R.C. Goertz. “Mechanical master-slave manipulator”. In: Nucleonics (U.S.) Ceased publication 4311 (1954). [9] Hunt R. Harris B. “TCP/IP security threats and attack methods”. In: Com- puter Communications (1999). [10] Hannaford B. Hwang D. “Teleoperation Performance with a Kinematical- ly Redundant Slave Robot”. In: International Journal of Robotics Research (1997). [11] Bishop S. et al. Techical report. University of Cambridge, 2005.
  • 490.
    B Bibliografia [12] SumitKumar Sen. Fieldbus and Networking in Process Automation. CRC Press, 2014. [13] Kapoor A. Xia T. “A constrained optimization approach to virtual fixtures for multirobot collaborative teleoperation”. In: IROS’11 - 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems. A cura di IEEE International Conference on Intelligent Robots e Systems. IEEE International Conference on Intelligent Robots e Systems, 2011. Sitografia [14] User Datagram Protocol (UDP). 2021. url: https://www.techtarget.com/ searchnetworking/definition/UDP-User-Datagram-Protocol. [15] What Is User Datagram Protocol (UDP)? 2022. url: https://www.spiceworks. com/tech/networking/articles/user-datagram-protocol-udp.