• Non ci sono risultati.

Prof.LorenzoPollini Controrelatore Prof.CarloAlbertoAvizzanoProf.EmanueleRuffaldi Relatori SimonePatrinostro Candidato AHaptic-AssistedGuidanceSystemForWorkingMachinesBasedonVirtualForceFields UniversitàdiPisaFacoltàdiIngegneriaLaureaMagistraleinIngegneria

N/A
N/A
Protected

Academic year: 2021

Condividi "Prof.LorenzoPollini Controrelatore Prof.CarloAlbertoAvizzanoProf.EmanueleRuffaldi Relatori SimonePatrinostro Candidato AHaptic-AssistedGuidanceSystemForWorkingMachinesBasedonVirtualForceFields UniversitàdiPisaFacoltàdiIngegneriaLaureaMagistraleinIngegneria"

Copied!
13
0
0

Testo completo

(1)

Università di Pisa

Facoltà di Ingegneria

Laurea Magistrale in Ingegneria Robotica e

dell’Automazione

A Haptic-Assisted Guidance System

For Working Machines Based on Virtual

Force Fields

Candidato

Simone Patrinostro

Relatori

Prof. Carlo Alberto Avizzano

Prof. Emanuele Ruffaldi

Controrelatore

Prof. Lorenzo Pollini

(2)
(3)

Indice

Sommario 7

1. Introduzione 9

1.1. Macchine da Lavoro . . . 9

1.2. Motivazioni . . . 11

1.3. Teleoperazione dei Veicoli . . . 14

1.4. Algoritmi sviluppati . . . 15

1.5. Stato dell’arte . . . 17

1.5.1. Real-time Obstacle Avoidance Using Potential Field for a Nonholo-nomic Vehicle [1] . . . 17

1.5.2. Haptic Teleoperation of a Mobile Robot: A User Study [2] . . . 19

1.5.3. Haptic Tele-operation of a mobile Robot [3] . . . 21

1.5.4. Dynamic kinesthetic boundary for haptic teleoperation of aerial robotic vehicles [4] . . . 21

1.5.5. Navigation Guidance Control Using Haptic Feedback for Obstacle Avoid-ance of Omni-directional Whellchair [5] . . . 22

1.5.6. A preliminary experimental study on haptic teleoperation of mobile robot with variable force feedback gain [6] . . . 23

2. ROS 25 2.1. Che cosa è ROS? . . . 25

2.2. Le caratteristiche di ROS . . . 26

2.3. Le funzionalità di ROS . . . 27

2.3.1. ROS Filesystem Level . . . 27

2.3.2. ROS Computation Graph Level . . . 28

2.3.3. ROS Community Level . . . 30

2.3.4. Names . . . 30

2.4. Funzionalità di alto livello . . . 33

2.4.1. Che cosa è /tf? . . . 33

2.4.2. Che cosa è navigation stack? . . . 34

3. V-Rep 37 3.1. Che cosa è V-Rep? . . . 37

3.2. Caratteristiche di V-Rep . . . 38 3.3. Architettura V-Rep . . . 39 3.3.1. Scene Objects . . . 39 3.3.2. Proximity Sensors . . . 40 3.3.3. Vision Sensors . . . 42 3.3.4. Moduli di Calcolo . . . 43

3.4. Meccanismo di controllo di V-Rep . . . 43

(4)

Indice Indice

3.5. URDF e V-Rep . . . 45

3.6. Importazione dei modelli 3D su V-Rep . . . 46

3.7. V-Rep Implementazione . . . 47

3.7.1. Scena youBot . . . 47

3.7.2. Modello Brokk . . . 47

4. Kuka YouBot 51 4.1. YouBot Hardware . . . 51

4.2. Programmazione API YouBot . . . 54

4.2.1. The Youbot and ROS . . . 55

5. Architettura Software 57 5.1. Ambiente di lavoro . . . 58

5.2. Strategia di comando dell’interfaccia aptica . . . 58

5.3. Progettazione del sistema . . . 59

5.3.1. Implementazione su Matlab/Simulink . . . 59

6. Haptic 65 6.1. Dispositivi aptici . . . 65

6.2. Classificazione dispositivi aptici . . . 67

6.2.1. Macchine a cinematica parallela . . . 68

6.2.2. Robot 3 DOF moto traslazionale . . . 68

6.2.3. Dispositivi aptici con ritorno di forza . . . 69

6.3. Novint Falcon . . . 70

6.3.1. Libreria libnifalcon . . . 70

6.4. Implementazione aptica . . . 71

7. Sistema di guida aptica 73 7.1. Standard Navigation . . . 73

7.2. Coastal Navigation . . . 78

7.3. Optimal Navigation . . . 81

7.4. Comprehension workspace and barriers . . . 89

8. Esperimenti e Risultati 91 8.1. Configurazione esperimenti . . . 91

8.1.1. Esperimento 1 Standard Navigation . . . 92

8.1.2. Esperimento 2 Optimal Navigation . . . 94

8.1.3. Esperimento 3 Coastal Navigation . . . 95

8.1.4. Protocollo per ogni obiettivo . . . 97

8.2. Risultati . . . 97

8.2.1. Risultati Esperimento 1 . . . 97

8.2.2. Risultati Esperimento 2 . . . 102

8.2.3. Risultati Esperimento 3 . . . 107

9. Conclusioni e Sviluppi Futuri 111 A. Appendice 113 A.1. Superfici e Confini del braccio youBot . . . 113

A.2. Specifiche dei dispositivi a ritorno di forza . . . 118

(5)

Indice

(6)
(7)

Elenco delle figure

1.1. Un esempio di macchina da lavoro demolitrice guidata in loco dall’operatore 10

1.2. La consolle di controllo della macchina demolitrice . . . 10

1.3. Macchina da lavoro guidata dall’operatore ribaltata . . . . 11

1.4. Macchina da lavoro guidata in un ambiente angusto . . . . 12

1.5. Macchina da lavoro durante il passaggio da una porta . . . . 12

1.6. Macchina da lavoro durante un task di demolizione in una parete in linea . . 13

1.7. Macchina da lavoro esegue, mediante il braccio montato a bordo, una traccia sulla parete . . . . 14

1.8. La navigazione aptica: Problemi e Stimoli Aptici . . . . 16

1.9. Model of nonholonimic vehicle with a laser range sensor . . . 18

1.10. Generation of repulsive forces from obstacle points . . . . 18

1.11. Effect of action rate between front and rear forces on vehicle’s motion . . . . 19

1.12. Car-driving metaphor: mapping a logical point . . . . 19

1.13. Obstacles considered according to the movement of the robot . . . . 20

1.14. Two examples of the left and right possible-turning angles and an example of df ront and drear . . . . 20

1.15. Scheme of the proposed control strategy (Melchiorri and Diolati) . . . . 21

1.16. Example of dynamic kinesthetic boundary (DKB) . . . . 22

1.17. DKB implementation in admittance framework for perceiving obstacle avoidance 22 1.18. Omni-directional Whellchair: The environmental recognition system . . . . . 23

1.19. Configurations of master manipulator and mobile robot . . . . 24

2.1. Che cosa è ROS? . . . . 25

2.2. Distribuzioni ROS . . . 26

2.3. Universo ROS . . . . 26

2.4. ROS a tempo di esecuzione . . . . 28

2.5. ROS basic concepts . . . . 29

2.6. Vissualizzazione dei frame del robot youBot su RViz . . . . 33

2.7. Architettura dello Stack di Navigazione di ROS . . . 34

3.1. Che cosa è V-Rep? . . . . 37

3.2. V-Rep Framework . . . . 38

3.3. Sensori di prossimità in V-Rep . . . . 40

3.4. V-Rep come lavorano i sensori di prossimità . . . . 41

3.5. V-Rep volume dei sensori di prossimità . . . . 41

3.6. V-REP Sensori di prossimità commerciali . . . . 42

3.7. V-Rep sensori di visione orthographic e perspective . . . . 42

3.8. V-Rep sensori di visione commerciali . . . . 43

3.9. V-Rep meccanismo di controllo . . . . 44

3.10. Esempio di modello di un robot in URDF . . . . 45

(8)

Elenco delle figure Elenco delle figure

3.12. Implementazione della scena per il modello youBot su V-Rep . . . . 47

3.13. Mesh della macchina da lavoro importata su V-Rep . . . . 48

3.14. Suddivisione delle mesh della macchina da lavoro . . . . 48

3.15. Definizione del modello dinamico della base mobile della macchina da lavoro 49 3.16. Implemendatione del modello dinamico del braccio e della cinematica inversa su V-Rep . . . . 49

3.17. Modello dinamico completo della macchina da lavoro su V-Rep . . . . 49

3.18. Implementazione della scena per la macchina da lavoro su V-Rep . . . 50

4.1. KUKA youBot . . . 51

4.2. la base del robot KUKA youBot . . . . 52

4.3. General characteristics youBot platform . . . 52

4.4. Il braccio KUKA youBot . . . . 53

4.5. Joints workspace . . . . 53

4.6. Caratteristiche generali del braccio dello youBot . . . . 54

4.7. KUKA youBot API ed il framework ROS . . . . 55

4.8. Modello dello youBot in RViz . . . . 56

5.1. Panoramica sull’architettura: ROS consente la comunicazione tra le applicazioni 57 5.2. Analisi del software rilassciato dalla KUKA . . . . 58

5.3. Schema a blocchi del software sviluppato relativo agli algoritmi di assistenza su Simulink . . . . 59

5.4. Schema a blocchi relativo alla gestione della comunicazione con ROS . . . . 60

5.5. Schema a blocchi relativo alle modalità di navigazione su Simulink . . . . 60

5.6. Schema a blocchi relativo al problema della “compensione del workspace” . . 61

5.7. Stateflow per la gestione dei segnali “relativi alla comprensione del workspace” 61 5.8. Mappa degli ostacoli offerta dallo stack di navigazione di ROS . . . . 62

5.9. Panoramica sui topics e sui nodi . . . 62

5.10. Panoramica completa dei nodi e dei topics su ROS . . . 63

5.11. L’albero delle trasformazioni su ROS . . . . 63

6.1. Interfacce aptiche: dispositivi tattili che stimolano la pelle per creare la sen-sazione di contatto;dispositivi cinestetici che applicano forze per guidare o inibire i movimenti del corpo; dispositivi ibridi combinano ritorno tattile e cinestetico . . . . 66

6.2. Manopola aptica 1 DOF; Phantom Omni 6 DOF; Guanto virtuale (Cyberglove) 67 6.3. Il robot Delta a 3 DOF traslazionali . . . . 69

6.4. Novint Falcon haptic interface (Novint Technologies) . . . 70

6.5. Sviluppo controllo interfaccia aptica Novint Falcon . . . . 71

7.1. Defining regions: il confine rosso separa la regione di free motion con la regione di rilevazione ostacoli; il confine blu rappresenta i bordi per il calcolo delle distanze con gli ostacoli; la linea verde indica la minima regione di rilevazione ostacoli: la linea rossa e la linea verde coincidono quando il robot viene guidato a basse velocità. . . . 74

7.2. Regione di influenza degli ostacoli che si deforma in funzione del vettore di navigazione . . . . 75

7.3. Suddivisione del robot in zone . . . . 75

7.4. Standard navigation: contributi di forza e coppia nelle diverse zone . . . . . 76

(9)

Elenco delle figure

7.5. Standard navigation: profile forces and torques . . . 77

7.6. Validazione della navigazione standard . . . . 77

7.7. Test preliminare con lo youBot virtuale su V-Rep . . . . 78

7.8. Coastal navigation: allineamento lungo pareti frontali e suddivisione del robot in 4 parti . . . . 79

7.9. Coastal navigation: allineamento a pareti laterali e suddivisione del robot in 4 parti . . . . 79

7.10. Coastal navigation: contributo delle forze nel caso di pareti su entrambi i lati 80 7.11. Coastal navigation: contributi di forza e coppia nelle varie zone . . . . 80

7.12. Validazione della coastal navigation . . . . 81

7.13. Coastal navigation: guida del veicolo in ambienti stretti come corridoio e inseguimento di parete . . . . 81

7.14. Denavit–Hartenberg parametri e specifiche del braccio dello youBot . . . . 82

7.15. Superfici singolari e braccio dello youBot su Matlab . . . . 83

7.16. Superfici singolari e confini per il braccio dello youBot (a) . . . . 84

7.17. Superfici singolari e confini per il braccio dello youBot (b) . . . . 85

7.18. Superfici singolari e confini per il braccio dello youBot (c) . . . . 86

7.19. Optimal navigation: descrizione dei sistemi di riferimento . . . . 87

7.20. Studio preliminare dell’ottimizzazione vincolata su robot 2 DOF planare . . 88

7.21. Constrained optimization preliminary test for yoBot’s arm: in red the two target point . . . 88

7.22. Il campo di forza porta l’operatore a guidare il veicolo verso la posa corretta . 89 8.1. Feedback visivi visualizzati su RViz . . . . 92

8.2. Esperimento 1: Ambiente virtuale su V-Rep relativo alla modalità di naviga-zione standard . . . 93

8.3. Esperimento 3 Ambiente virtuale su V-Rep per la navigazione ottima . . . . 94

8.4. Esperimento 3 Visualizzatore RViz durante la modalità di navigazione ottima 95 8.5. Esperimento 3 Ambiente virtuale su V-Rep per la navigazione costiera . . . . 96

8.6. Esperimento 1 numero di collisioni senza e con feedback aptico . . . . 98

8.7. Esperimento 1 distanza tra robot e ostacoli senza e con feedback aptico . . . . 100

8.8. Esperimento 1 distanza percorsa senza e con feedback aptico . . . 100

8.9. Esperimento 1 tempo di navigazione senza e con feedback aptico . . . 101

8.10. Esperimento 1 velocità media del robot senza e con feedback aptico . . . 101

8.11. Esperimento 2 errore di posizione rispetto alla posa ottima in assenza di feedback, con profilo M1 e con profilo M2 . . . 103

8.12. Esperimento 2 errore di orientazione rispetto alla posa ottima . . . 103

8.13. Esperimento 2 tempo di navigazione per raggiungere la posa ottima. In as-senza di feedback aptico, con profilo M1 e con profilo M2 . . . 104

8.14. Esperimento 2 distanza percorsa dal robot durante la fase di avvicinamento alla posa desiderata in assenza di feedback, con profilo M1 e con profilo M2 . 105 8.15. Esperimento 3 errore di allineamento alla parete in assenza di feedback aptico, con profilo di forza C1 e con profilo di forza C2 . . . 108

A.1. Superfici singolari e confini del braccio youBot (d) . . . 113

A.2. Superfici singolari e confini del braccio youBot (e) . . . 114

A.3. Superfici singolari e confini del braccio youBot (f) . . . 115

A.4. Superfici singolari e confini del braccio youBot (g) . . . 116

(10)
(11)

Elenco delle tabelle

4.1. Caratteristiche del computer di bordo dello youBot . . . . 52

8.1. Questionario di valutazione relativo alla navigazione standard . . . . 93

8.2. Questionario di valutazione relativo alla navigazione ottima . . . 95

8.3. Questionario di valutazione relativo alla navigazione costiera . . . . 97

8.4. Riassunto degli esperimenti eseguiti da ogni partecipante . . . 97

8.5. Esperimento 1 Indici di performance per ognuno dei partecipanti . . . . 99

8.6. Esperimento 1 media e deviazione standard tra i partecipanti . . . 102

8.7. Indici di performance misurati durante il secondo esperimento relativo alla navigazione ottima . . . 106

8.8. Media e deviazione standard degli indici di performance su tutti i partecipanti 107 8.9. Esperimento 3 indici di performance misurati durante il terzo esperimento . 108 8.10. Esperimento 3 media e deviazione standard degli indici di performance com-plessivi . . . 109

A.1. Specifiche di dispositivi di retroazione di forza: l’elenco contiene nomi della compagnia, nomi dei dispositivi, grado di libertà (DOF), il grado di ritorno di forza, il workspace stimato misurata in millimetri, la massima forza misurata in Newton, la coppia in milli-newton metri, la rigidità misurata in N/mm, ed il prezzo indicativo in dollari USA. . . 118

(12)
(13)

Sommario

Questa tesi propone una metodologia che dimostra la capacità di utilizzare stimoli percettivi per ottimizzare o rendere più facile ed intuitiva la guida remota di un veicolo. In particolare il veicolo in esame è una macchina demolitrice che monta a bordo un braccio manipolatore ed è dotata di una base cingolata. L’operatore guida il veicolo mediante una consolle inviando comandi di velocità per la base mobile. Essendo quest’ultima soggetta a vincoli anolonomi, la guida durante l’accostamento e durante un posizionamento risulta essere più difficile.

Sono stati affrontati i seguenti problemi: in primo luogo quello di evitare ostacoli, poi il problema di allineamento a pareti ed infine quello del posizionamento del veicolo che rende più facile la successiva manipolazione. Inoltre l’operatore, che guida in loco il veicolo, riesce a comprendere il workspace del manipolatore mediante segnali aptici. L’operatore definisce dei punti target per il braccio e riceve un segnale aptico nel momento in cui un punto target entra all’interno del workspace del braccio oppure esce dal workspace. In questo modo l’operatore riesce a “comprendere” il workspace del manipolatore ed un operatore esperto può posizionare il veicolo per eseguire il lavoro con il braccio in modo da limitare il numero di riposizionamenti.

Per risolvere i problemi citati sopra abbiamo implementato tre modalità di navigazione:

standard, costiera ed ottima. La modalità di navigazione standard aiuta l’operatore ad

evi-tare di entrare in collisione con gli ostacoli. La modalità di navigazione costiera aiuta a guidare il veicolo mantenendolo allineato alle pareti. La modalità di navigazione ottima for-nisce all’operatore una serie di stimoli per aiutarlo a posizionare il veicolo nella posa ottimale precedentemente calcolata. Il criterio di ottimalità si riferisce al concetto di manipolabili-tà. Infatti la posa ottenuta dal processo di ottimizzazione massimizza la manipolabilità del braccio nei punti target specificati dall’operatore.

Questi stimoli aptici sono in grado di fornire maggior consapevolezza ed in ogni modo l’au-torità di prendere le decisioni sul veicolo è lasciata all’operatore. Non sono stati implementati per ragioni di sicurezza dei dispositivi autonomi a bordo.

L’aspetto innovativo è riuscire a trovare la giusta combinazione di segnali aptici quali campi di forze, barriere, segnali e vibrazioni che l’uomo riesce meglio a comprendere. Si studia come rispetto a questi stimoli l’utente riesce a completare i task.

Riferimenti

Documenti correlati

Dipartimento di Ingegneria dell'Energia, dei Sistemi, del Territorio e delle Costruzioni Corso di Laurea Specialistica in Ingegneria Edile Architettura.

Ringrazio la mia famiglia che mi ha dato la possibilità di studiare e tutti gli amici conosciuti durante gli anni trascorsi a Pisa (siete troppi da elencare!). Un saluto speciale

Le forze d’attrito non dipendono dalla superficie d’appoggio del corpo sul piano, ma dal tipo di materiale e dal tipo trattamento (sia del piano che del corpo) e dalla

Accendere l’alimentatore e senza toccare più alcun cavetto elettrico aumentare lentamente la corrente elettrica (arrivare a 20 ampere).. Visualizzare le linee del campo magnetico

1. Dalle due parti della leva e ad uguale distanza dal baricentro S, appendere nei fori sotto la linea mediana lo stesso numero di pesetti. Se la leva si trova in

RISULTATO ATTESO: la forza di attrito statico dipende dalla forza di gravità (per l’esattezza dalla reazione vincolare normale al piano che in questo caso coincide

RISULTATO ATTESO: il valore misurato dal dinamometro diminuisce in modo proporzionale al diminuire della distanza tra forza applicata e forza resistiva.. 8 PARTE III: Esperimento

Prendiamo una bacinella piena di acqua e immergiamo diversi oggetti.. Ora eseguiamo l’esperimento e completiamo