• Non ci sono risultati.

Collaborazione uomo-robot per la lavorazione di oggetti ingombranti

N/A
N/A
Protected

Academic year: 2021

Condividi "Collaborazione uomo-robot per la lavorazione di oggetti ingombranti"

Copied!
130
0
0

Testo completo

(1)

POLITECNICO DI MILANO

Scuola di Ingegneria Industriale e dell’Informazione

Corso di Laurea Magistrale in Ingegneria dell’Automazione

Collaborazione uomo-robot per la lavorazione di

oggetti ingombranti

Relatore: Prof. Andrea Maria ZANCHETTIN Correlatore: Prof. Paolo ROCCO

Tesi di Laurea Magistrale di: Elio LOTANO Matr. 852962

(2)
(3)
(4)
(5)
(6)
(7)

Indice

Ringraziamenti I List of figures V List of tables IX Abstract XI Sommario XIII Introduzione 1 1 Strategia di Controllo 5 1.1 Architettura generale . . . 5 1.2 Modalità . . . 6

1.2.1 Postura Ergonomica di riferimento . . . 6

1.2.2 Legge di controllo del robot . . . 6

1.3 Analisi di stabilità con la presenza umana nell’anello di controllo . 9 1.4 Implementazione e setup sperimentale . . . 11

1.5 Simulazioni . . . 12 2 Analisi Posturale 19 2.1 Metodo RULA . . . 19 2.1.1 Introduzione . . . 19 2.1.2 Sviluppo . . . 20 2.2 Metodo REBA . . . 25 2.2.1 Introduzione . . . 25 2.2.2 Sviluppo . . . 26

2.2.3 Postura ergonomica secondo il metodo REBA . . . 27

2.3 Calcolo della posa ottimale dell’utensile . . . 31

3 Vision System 41 3.1 Hardware e Software . . . 41

(8)

3.1.2 Software . . . 42

3.2 Tracciamento dell’utensile di lavoro . . . 46

3.2.1 Color Filter . . . 49

3.2.2 Individuazione delle sfere . . . 52

3.2.3 Coordinate delle sfere nello spazio 3D . . . 56

3.3 Posizione e orientamento della terna H . . . 56

4 Apparato Sperimentale 61 4.1 Architettura Generale . . . 61

4.2 Robot . . . 62

4.2.1 Comau Smart Six . . . 62

4.2.2 Unità di controllo C4G Open . . . 67

4.3 Flusso e scambio delle informazioni . . . 69

4.3.1 Collegamento . . . 69

4.3.2 Calibrazione del sensore e validazione . . . 69

4.3.3 Flusso Dati . . . 73

4.4 Schema di controllo . . . 83

5 Esperimenti e Discussione 87 5.1 Obiettivo degli esperimenti . . . 87

5.2 Protocollo degli esperimenti e raccolta dati . . . 88

5.3 Parametri di valutazione dell’esperimento . . . 90

5.4 Risultati . . . 99

5.4.1 Valutazione quantitativa . . . 99

5.4.2 Valutazione qualitativa . . . 104

Conclusioni 107

Bibliografia 109

(9)

Elenco delle figure

1 Esempio di manipolazione collaborativa di un oggetto ingombrante 2

1.1 Schema di controllo . . . 5

1.2 Terne di riferimento rilevanti per la manipolazione collaborativa di oggetti di grosse dimensioni . . . 8

1.3 Operazione di priming . . . 11

1.4 Microsoft Kinect V2 . . . 12

1.5 Comau Smart Six . . . 13

1.6 Errore di Posizionamento dell’utensile rispetto alla posa ergonomica al variare di Kv R, con KRω = 0. . . 14

1.7 Errore di tracciamento al variare di Kv R, con KRω = 0 . . . 15

1.8 Errore di Posizionamento dell’utensile rispetto alla posa ergonomica al variare di Kv R, con KRω = I . . . 17

1.9 Errore di tracciamento al variare di Kv R, con KRω = I . . . 18

2.1 Punteggi per le posture del gruppo A, braccio, avambraccio e polso 22 2.2 Punteggi per le posture del gruppo B, collo, tronco e gambe . . . 23

2.3 Tabelle per il punteggio di postura del gruppo A e del gruppo B . 24 2.4 Come calcolare i punteggi C e D . . . 25

2.5 Tabella riassuntiva dei livelli di azione . . . 26

2.6 Diagrammi per i gruppi A e B . . . 28

2.7 Tabella di punteggio per il gruppo A . . . 29

2.8 Tabella di punteggio per il gruppo B . . . 30

2.9 Tabella C e calcolo del punteggio finale REBA . . . 31

2.10 Terna di riferimento del tronco . . . 32

2.11 Terna di riferimento iniziale della spalla . . . 33

2.12 Terna di riferimento della spalla applicando l’abduzione del braccio 34 2.13 Terna di riferimento della spalla applicando l’abduzione e la fles-sione del braccio . . . 35

2.14 Terna di riferimento finale della spalla . . . 36

2.15 Terna di riferimento del gomito . . . 37

2.16 Terna di riferimento ergonomica del polso . . . 38 3.1 Rappresentazione schematica degli output del sensore Kinect v2 . 43

(10)

3.2 Spazio camera e coordinate della depth-map . . . 44

3.3 Sistema di riferimento del Kinect v2 . . . 45

3.4 Terna di riferimento dell’utensile H . . . 46

3.5 Proiezione prospettica della sfera . . . 48

3.6 Sfere montate sull’utensile . . . 49

3.7 Spazio dei colori RGB . . . 50

3.8 Spazio dei colori HSV . . . 51

3.9 Risultato dell’applicazione del filtro di colore e della sfocatura . . 52

3.10 Proiezione prospettica di una lunghezza nel color frame . . . 53

3.11 Immagine prospettica vista dal sensore Kinect v2 . . . 55

3.12 Coordinate di un punto in due terne di riferimento . . . 57

3.13 Output video . . . 59

4.1 Schema di funzionamento del sistema . . . 62

4.2 Comau Smart Six . . . 63

4.3 Terna di riferimento W . . . 64

4.4 Spazio Operazionale visto di lato . . . 65

4.5 Spazio Operazionale visto dall’alto . . . 66

4.6 Terna di riferimento O . . . 66

4.7 Unità di Controllo C4G . . . 68

4.8 Andamento della coordinata x imponendo la velocità v1 . . . 74

4.9 Andamento dell’errore sulla coordinata x imponendo la velocità v1 74 4.10 Andamento della coordinata y imponendo la velocità v1 . . . 75

4.11 Andamento dell’errore sulla coordinata y imponendo la velocità v1 75 4.12 Andamento della coordinata z imponendo la velocità v1 . . . 76

4.13 Andamento dell’errore sulla coordinata z imponendo la velocità v1 76 4.14 Andamento della coordinata x imponendo la velocità v2 . . . 77

4.15 Andamento dell’errore sulla coordinata x imponendo la velocità v2 77 4.16 Andamento della coordinata y imponendo la velocità v2 . . . 78

4.17 Andamento dell’errore sulla coordinata y imponendo la velocità v2 78 4.18 Andamento della coordinata z imponendo la velocità v2 . . . 79

4.19 Andamento dell’errore sulla coordinata z imponendo la velocità v2 79 4.20 Andamento della coordinata x imponendo la velocità v3 . . . 80

4.21 Andamento dell’errore sulla coordinata x imponendo la velocità v3 80 4.22 Andamento della coordinata y imponendo la velocità v3 . . . 81

4.23 Andamento dell’errore sulla coordinata y imponendo la velocità v3 81 4.24 Andamento della coordinata z imponendo la velocità v3 . . . 82

4.25 Andamento dell’errore sulla coordinata z imponendo la velocità v3 82 4.26 Operazioni del Fidelio . . . 84

5.1 Tracciato (evidenziato) che l’operatore segue durante gli esperimenti 88 5.2 Variazione delle componenti di rE (blu) e delle componenti di rH (arancione) nell’esperimento con Kv R= 0.0 . . . 92

(11)

ELENCO DELLE FIGURE VII

5.3 Variazione delle componenti di rE (blu) e delle componenti di rH

(arancione) nell’esperimento con Kv

R= 1.0 . . . 93

5.4 Piano xOyO . . . 94

5.5 Serie di punti ˜p proiettati sulla superficie del paraurti . . . 95

5.6 Sequenza di punti ˜p ridotta . . . 96

5.7 ˜prif (blu) e ˜pesp (rosso) a confronto . . . . 97

5.8 Percorso di mappatura tra due curve . . . 98

5.9 Errore di posizionamento . . . 100

5.10 Errore di tracciamento . . . 101

5.11 Durata dell’esperimento al variare di Kv R . . . 103

5.12 Fatica percepita dai partecipanti durante gli esperimenti . . . 104

(12)
(13)

Elenco delle tabelle

3.1 Microsoft Kinect v2 specifications . . . 42 4.1 Specifiche tecniche del manipolatore Comau Smart Six . . . 63 4.2 Parametri cinematici Comau Smart Six . . . 65

(14)
(15)

Abstract

Thanks to the recent innovations and studies in the robotic field, in the last years the concept of human-robot interaction has been introduced, specifically the aspect of collaboration. This term refers to the cooperation between the human and the machine, in the industrial context, in order to improve the productivity of the system, facilitating the worker in the heaviest tasks. The advantage of collaboration is to combine the superior cognitive and motor skills of the operator with the physical capabilities of the robots.

The aim of this thesis is the development of a control strategy for the robotic ma-nipulator to minimize the fatigue of the human operator during the processing of a bulky object. The robot moves the bulky piece so that the user is always opera-ting close to his ergonomic posture, i.e. the one that minimizes the biomechanical stress of the musculoskeletal system. In this way the risk of developing musculo-skeletal disorders related to postures and movements performed in the workplace is minimized. The posture and the movements of the worker are tracked thanks to a visual sensor, from such information it is possible to set the motion speed references to the robot.

From the results we can appreciate a substantial reduction of the amplitude of the operator’s movements, without deteriorating the precision with which the user performs the processing. The involvement of a group of people in the experiment showed how this control system is considered to be simple to use, easy to learn, and actually able to reduce the effort in processing.

(16)
(17)

Sommario

Grazie alle recenti innovazioni e agli studi in campo robotico, negli ultimi anni è stato introdotto il concetto di interazione uomo-robot, nello specifico la collabora-zione. Con questo termine si intende la cooperazione tra l’uomo e la macchina, in contesto industriale, al fine di migliorare la produttività del sistema, agevolando il lavoratore nelle mansioni più faticose. Il vantaggio della collaborazione consiste nell’unire le superiori abilità cognitive e motorie dell’operatore alle capacità fisiche dei robot.

Lo scopo di questa tesi è lo sviluppo di una strategia di controllo del manipolatore robotico per minimizzare l’affaticamento dell’operatore umano durante una lavo-razione su un oggetto ingombrante. Il robot muove il pezzo ingombrante cosicché l’utente si trovi ad operare sempre vicino alla sua postura ergonomica, cioè quella che minimizza il sovraccarico biomeccanico dell’apparato muscolo-scheletrico. In questo modo viene minimizzato il rischio di sviluppare disturbi muscolo-scheletrici legati alle posture e ai movimenti eseguiti nel lavoro. La postura e i movimenti dell’uomo vengono tracciati grazie a un sensore visivo, da tali informazioni è pos-sibile dare i riferimenti di velocità di spostamento al robot.

Dai risultati ottenuti si può apprezzare un’effettiva riduzione dell’ampiezza dei mo-vimenti dell’operatore, senza che venga deteriorata la precisione con cui l’utente esegue la lavorazione. Il coinvolgimento di un gruppo di persone nell’esperimen-to ha poi mostranell’esperimen-to come quesnell’esperimen-to sistema di controllo venga ritenunell’esperimen-to semplice da utilizzare, di facile apprendimento, ed effettivamente in grado di comportare una riduzione dello sforzo nella lavorazione.

(18)
(19)

Introduzione

Gli ultimi decenni hanno visto il crescente sviluppo della robotica, partendo da semplici automi mobili si è arrivati fino al vasto campo di applicazioni che è co-nosciuto al giorno d’oggi.

All’interno della disciplina robotica esiste un’area specializzata nello studio del-l’interazione uomo-robot (Human-Robot Interaction, HRI), che risulta essere un campo di studio dedicato alla comprensione, alla progettazione e alla valutazione dell’utilizzo di sistemi robotici da parte di operatori umani, o con essi, come defi-nito in [11].

Considerando il campo industriale, uno scopo dell’interazione uomo-robot è la collaborazione (Human-Robot Collaboration, HRC), che viene definita, in [1], co-me il caso in cui gli umani e i robot entrano in contatto e formano un sistema dinamico accoppiato per realizzare un’operazione.

La collaborazione uomo-robot è un ambito in rapida crescita in questi ultimi anni, e sta aprendo la strada a scenari in cui i robot possono essere utilizzati per coope-rare a stretto contatto con gli uomini, condividendo la stessa postazione di lavoro. Infatti, nel contesto industriale (ma non solo), i manipolatori possono essere un ottimo supporto per i lavoratori, poiché dispongono di resistenza, ripetitività nei movimenti e precisione di gran lunga superiori alle abilità umane. Tuttavia, la componente umana rimane imprescindibile, per via delle abilità cognitive e della capacità di risolvere i problemi, per effettuare attività complesse che richiedano avanzate abilità sensoriali e motorie.

L’interazione collaborativa nel contesto industriale comporta un impatto socio-economico notevole, poiché i robot non sostituiscono gli umani all’interno del processo di produzione, viene mantenuto il senso di scopo delle persone coinvolte, e inoltre, unendo le superiori capacità cognitive dell’uomo alle capacità fisiche dei manipolatori robotici, si ottiene un miglioramento nella produttività del sistema. I possibili benefici che si hanno dalla collaborazione sono molteplici; prendiamo il caso del trasporto o della manipolazione di un carico pesante, l’aiuto di un robot può chiaramente ridurre lo sforzo muscolare dell’operatore umano, evitando infor-tuni, e possibilmente migliorando la qualità delle condizioni di lavoro, e dunque migliorando la produttività del soggetto. Infatti, seguendo questo trend, dagli anni ’90, il trasporto e la manipolazione collaborativa di oggetti sono stati dei punti focali della ricerca in campo robotico, come in [16], e sono stati raggiunti

(20)

molti risultati incoraggianti in tal verso, come può essere visto dai lavori di [8], [14], [2].

Figura 1: Esempio di manipolazione collaborativa di un oggetto ingombrante

Nei paesi sviluppati la principale causa dei problemi di salute legati al lavoro è rappresentata dai disturbi muscolo-scheletrici, infatti questi problemi colpiscono circa la metà dei lavoratori dell’industria.

Tali disturbi sono dovuti principalmente alle eccessive sollecitazioni biomeccani-che per via del trasporto di carichi e/o di cattive posture di lavoro. Per poter intervenire sulle cause di questi problemi sono stati sviluppati dei metodi di ana-lisi posturale ([17], [13]) in grado di valutare il livello di esposizione del lavoratore al rischio di sovraccarico dell’apparato muscolo-scheletrico.

Negli ultimi decenni, per la tutela della salute del lavoratore all’interno delle fab-briche, è stata data sempre più importanza all’ergonomia, la disciplina scientifica che si occupa dei problemi del lavoro umano in rapporto alla progettazione del-le attrezzature e degli ambienti di lavoro, al fine di individuare del-le soluzioni più idonee alle esigenze psicofisiche dei lavoratori e al contempo alle esigenze della pro-duzione. Ciò significa che tutti gli equipaggiamenti o i meccanismi implementati affinché l’uomo si trovi in una condizione di lavoro più confortevole, sono pre-cauzioni ergonomiche. Delle ricerche recenti, inoltre, evidenziano una relazione diretta tra il comfort dei lavoratori e la loro efficienza: la riduzione di tutte quelle posture di lavoro considerate non ergonomiche implica una maggior produttività, come mostrato in [20].

(21)

Introduzione 3

Lo sviluppo di un sistema cooperativo in grado di combinare l’ergonomia e la robotica collaborativa ha come obiettivo quello di incrementare l’efficienza della produzione, riducendo, al contempo, i rischi di disturbi muscolo-scheletrici per l’operatore.

Lo scopo di questa tesi è appunto lo sviluppo di una strategia di controllo del manipolatore robotico che unisca i concetti di ergonomia e collaborazione in un’applicazione industriale per la lavorazione senza contatto su oggetti ingom-branti/pesanti.

Per tali lavorazioni, dagli studi di ergonomia, è stata ricavata la postura di la-voro ottimale dell’operatore, cioè quella che minimizza lo sforzo muscolare e il sovraccarico alle articolazioni, da cui è stata identificata la posizione ottimale del-lo strumento di lavorazione in mano all’utente.

La strategia di controllo prevede di utilizzare il robot per muovere il pezzo ingom-brante affinché l’operatore possa eseguire la lavorazione discostandosi il meno pos-sibile dalla sua posizione ergonomica. Infatti l’obiettivo finale di tale applicazione è minimizzare lo sforzo dell’operatore, a beneficio della sua salute ed efficienza produttiva.

Utilizzando il sensore visivo Kinect, è possibile trovare la posizione dello strumen-to e la posizione ergonomica (quella in cui lo strumenstrumen-to dovrebbe stare) in tempo reale. In base a queste informazioni il robot sposta l’oggetto su cui l’utente sta lavorando in maniera tale da forzare l’operatore a muovere lo strumento verso la posizione ergonomica per compensare allo spostamento dell’oggetto.

Questo documento è composto da 5 capitoli.

Nel primo capitolo viene illustrata la strategia di controllo, per dare al lettore l’i-dea base del funzionamento di questa applicazione. Il secondo capitolo tratta due metodi di analisi posturale, al fine di valutare l’adeguatezza della postura di lavo-ro, quindi spiega come sia stata identificata la postura ottimale nel nostro caso. Il terzo capitolo riguarda il sistema di visione, descrive il sensore utilizzato, e spiega come sia stato possibile tracciare lo strumento in mano all’operatore. Nel quarto capitolo viene descritto l’apparato sperimentale nel suo complesso ed è presentato lo schema di funzionamento del sistema con i dettagli implementativi, mentre nel quinto capitolo vengono spiegati gli esperimenti eseguiti con tale apparato, sono riportati i parametri di valutazione e vengono discussi i risultati ottenuti.

Infine è presente un capitolo conclusivo che riassume i risultati raggiunti con questo lavoro di tesi.

(22)
(23)

Capitolo 1

Strategia di Controllo

1.1

Architettura generale

In questo studio è stata elaborata una strategia di controllo del manipolatore robotico che, grazie all’utilizzo di un sensore visivo, potesse trovare applicazione nel campo della robotica collaborativa. Lo schema di controllo generale è mostrato in Figura 1.1.

Le informazioni riguardanti l’operatore e l’utensile di lavoro vengono raccolte dal sensore visivo (introdotto in questo capitolo) e quindi elaborate per ricavare:

1. La postura ergonomica specifica del lavoratore (come verrà spiegato in det-taglio nel capitolo 2).

2. La posizione e l’orientamento dell’utensile (come verrà spiegato in dettaglio nel capitolo 3).

Infine, queste informazioni vengono inviate al controllore del robot che, in base alla legge di controllo descritta in questo capitolo, calcola i riferimenti di velocità del manipolatore. Essendo un progetto di robotica collaborativa, la presenza umana all’interno dell’anello di controllo non è più considerata come una possibile fonte di disturbo, ma diventa parte integrante del sistema.

(24)

1.2

Modalità

1.2.1

Postura Ergonomica di riferimento

L’obiettivo della robotica collaborativa in questo lavoro è consentire all’operato-re umano di svolgeall’operato-re le sue operazioni con le minime sollecitazioni all’apparato muscolo-scheletrico. Per questo motivo viene introdotta una procedura sistema-tica al fine di scegliere una postura ergonomica adeguata allo svolgimento di tali operazioni. In questo senso una postura viene detta ergonomica se garantisce la sicurezza (in termini di rischi infortunistici) e il comfort all’operatore, influendo allo stesso tempo in maniera rilevante sull’efficienza dell’individuo nel sistema produttivo.

Esistono diversi fattori che influenzano il livello di ergonomia di una certa posa; i più importanti sono sicuramente la postura del corpo, che può comportare gravi sovraccarichi alle articolazioni, le forze esterne esercitate sul sistema muscolo-scheletrico e la rapidità dei movimenti eseguiti dall’individuo, ecc.

In questo lavoro ci siamo focalizzati sul minimizzare lo scostamento tra la postura dell’operatore e la postura più adatta a svolgere l’operazione (quella ergonomica), perciò la sola analisi statica della postura dell’operatore è confacente a questo scopo.

Nella letteratura specifica ci sono diversi studi il cui scopo è quello valutare quan-titativamente l’adeguatezza di una certa postura; per citare alcuni esempi, studi come il RULA, Rapid Upper Limb Assessment (da [17]), valutano l’adeguatez-za di una postura grazie a un sistema a punteggio concentrandosi maggiormente sull’arto superiore, studi come il REBA (da [13]) considerano le configurazioni di tutte le più importanti articolazioni del sistema muscolo-scheletrico. Utilizzando il sistema REBA è stato possibile identificare la miglior posa dell’operatore nel caso in cui debba sostenere piccoli carichi (< 5 kg), come ad esempio tenendo in mano uno strumento, ma ciò verrà spiegato con maggiore dettaglio nel prossimo capitolo.

1.2.2

Legge di controllo del robot

In questo studio, l’operatore deve effettuare alcune lavorazioni su un oggetto in-gombrante sostenuto dal manipolatore robotico. Nello specifico, l’uomo deve spo-stare lo strumento con cui esegue le lavorazioni secondo una certa traiettoria lungo l’oggetto O.

L’intenzione dell’operatore è quella di muovere lo strumento secondo un determi-nato percorso; nella pratica l’operatore cerca di allineare la terna di riferimento dell’utensile H alla terna di riferimento mobile P, la quale si muove lungo il per-corso che l’utente intende seguire.

Viene introdotta inoltre una terna di riferimento E, la terna ergonomica calco-lata in accordo alle procedure sistematiche della sezione precedente. Tale terna

(25)

1.2 Modalità 7

di riferimento rappresenta la posa ottimale statica dell’utensile tenuto in mano dall’operatore.

Per via del volume dell’oggetto ci si aspetta uno scostamento significativo della terna di riferimento utensile H rispetto alla terna di riferimento ergonomica E. Di conseguenza, durante la lavorazione, la postura dell’uomo risulterà essere dif-ferente dalla postura ottimale e quindi comporterà una maggiore esposizione ai rischi di natura muscolo-scheletrica.

Al fine di mitigare tale circostanza, in questo lavoro si propone una legge di moto del robot mirata a minimizzare gli spostamenti dell’uomo. Si assuma che l’ogget-to O sia rigidamente attaccal’ogget-to all’estremità del robot, perciò il mol’ogget-to del robot influenzerà direttamente lo spostamento dell’oggetto O, e quindi anche lo sposta-mento della terna di riferisposta-mento P che giace su di esso.

L’idea consiste nel muovere il robot proporzionalmente allo scostamento della ter-na utensile H rispetto alla terter-na ergonomica E. Così facendo, ci si aspetta che l’operatore compensi i movimenti del robot spostando lo strumento (e quindi la terna H ) verso la posizione ergonomica E; in pratica ci si aspetta che l’uomo compensi i movimenti del robot spostandosi verso la posizione ergonomica. La legge di controllo per il robot sarà dunque

vO = ˙rO = KRv(rE− rH)

ωO = KRω∆EH (1.1)

dove vO e ωO sono rispettivamente la velocià lineare e angolare della terna

og-getto O (e quindi le velocità dell’end effector del manipolatore), rH e rE sono

rispettivamente le coordinate delle origini delle terne di riferimento utensile ed er-gonomica(vedi Figura 1.2); tutte queste quantità sono espresse rispetto alla terna di riferimento assoluta mondo W (base del manipolatore robotico).

Krv e KRω sono le matrici di guadagno della legge di controllo, e sono definite po-sitive, mentre ∆EH è la parte vettoriale del quaternione unitario associato alla

matrice di rotazione

REH = REW(RHW)T

che rappresenta l’orientamento della terna ergonomica rispetto alla terna utensile. Avendo quindi la legge di moto dell’end effector del manipolatore, è possibile trovare le velocità da applicare ai giunti ˙q mediante la cinematica differenziale, utilizzando la pseudo-inversa della matrice Jacobiana del robot

˙ q = Jv,O(q) Jω,O(q) T  vO ωO  (1.2) Jv,O e Jω,O sono le matrici Jacobiane di posizione e orientamento della terna O

(26)

Figura 1.2: Terne di riferimento rilevanti per la manipolazione collaborativa di oggetti di grosse dimensioni

(27)

1.3 Analisi di stabilità con la presenza umana nell’anello di controllo 9

1.3

Analisi di stabilità con la presenza umana

nel-l’anello di controllo

L’obiettivo in questa sezione è di valutare la stabilità del sistema complessivo, nonostante la presenza dell’operatore umano all’interno dell’anello di controllo. Come detto in precedenza, l’operatore umano tenderà ad allineare la terna di rife-rimento utensile H alla terna P, quindi la velocità di H dovrà essere proporzionale alla distanza tra le due posizioni, e inoltre, dato che P si muove, la velocità di H dovrà anche compensare tale movimento. Ne consegue che la legge di moto della terna H sarà:

vH = ˙rH = ˜vP + KHv(rP − rH)

ωH = ˜ωP + KHω∆P H (1.3)

in cui ˜vP e ˜ωP sono stime da parte dell’operatore della velocità lineare ed angolare

della terna P. Siano inoltre Kv

H e KHω i coefficienti di velocità lineare e angolare propri

dell’o-peratore umano. Con ∆P H si indica la parte vettoriale del quaternione unitario

associato alla matrice di rotazione RP

H, che indica l’orientamento della terna P

rispetto alla terna H.

Ipotizzando che l’operatore non abbia alcuna indicazione riguardo alla velocità (sia lineare che angolare) del robot, la stima del moto della terna P nel sistema di riferimento oggetto O si baserà semplicemente sull’avanzamento dell’operazione e su posizione e orientamento istantanei dell’oggetto.

In questo caso si avrà che

˜ vP = ROWv O P ˜ ωP = ROWω O P (1.4) dove vO

P e ωOP sono la velocità lineare e angolare locali della terna P nel

riferi-mento O, mentre RO

W non è altro che l’orientamento di O rispetto a W ( il suo

orientamento istantaneo).

Inoltre la quantità rP può essere riscritta in termini della sua definizione locale

nella terna di riferimento O, ottenendo rP = ROWrPO+ rO

Sostituendo ˜vP ω˜P e rP nelle equazioni di moto della terna utensile si ottiene:

vH = ROWv O P + K v H(R O Wr O P + rO− rH) ωH = ROWω O P + K ω H∆P H (1.5)

(28)

Essendo ˙rH = vH e similmente ˙rO = vO, le equazioni che governano gli

spo-stamenti lineari (traslazioni) dell’intero sistema possono essere scritte in forma di stato come segue:

˙rH = ROWv O P + K v H(R O Wr O P + rO− rH) ˙rO = KRv(rE− rH) (1.6)

E’ possibile notare che la legge di controllo non utilizza nessun valore associabile alla terna P: il robot non ha quindi nessuna informazione a priori riguardo all’o-perazione e alla sua traiettoria. Per questo motivo il metodo proposto è generale, non necessità di abilità ingegneristiche particolari, è scalabile, flessibile, e quindi adatto anche per le piccole-medie imprese.

La stabilità dell’intero sistema in anello chiuso è garantita grazie alla seguente Proposizione: Proposizione 1. Siano Kv R = (KRv)T > 0 e KHv = (KHv)T > 0, allora la matrice M =−K v H KHv −Kv R 0  è Hurwitz

Prova. Si consideri la seguente equazione di Lyapunov MTP + M P = Q dove P = (K v H) −1 0 0 (KRv)−1  = PT > 0 Allora Q = MTP + M P =−2I 0 0 0  ≤ 0 Q è semidefinita negativa.

Inoltre, ogni traiettoria del sistema ˙z = Mz con rO ≡ 0soddisfa anche la

condizio-ne rH ≡ 0(La Salle), ne consegue che il sistema dinamico (1.6) è asintoticamente

stabile.

Per poter fare una scelta consapevole dei parametri di controllo Kv

R e KRω e per

(29)

1.4 Implementazione e setup sperimentale 11

Figura 1.3: Operazione di priming

consideri l’errore di tracciamento e = rP − rH. Calcolando la dinamica dell’errore

di tracciamento ˙e = RO WvOP + ˙rO+ ˙ROWrOP − ˙rH e sostituendo la definizione di ˙rH si ottiene: ˙e = ˙rO+ ˙ROWr O P − K v He

La dinamica dell’errore di tracciamento è quindi influenzata dal moto del robot, sia nella sua componente lineare ˙rO, che nella sua componente angolare

(attraver-so ˙RO W ).

Questo particolare richiede quindi attenzione nella scelta dei parametri Kv

R e KRω,

che non dovranno essere troppo elevati, per non influenzare negativamente le per-formance di tracciamento dell’operatore.

La scelta dei parametri Kv

R e KRω dovrà essere quindi una sorta di compromesso

per garantire minimo scostamento tra la terna utensile e la terna ergonomica e allo stesso tempo garantire minimo errore di tracciamento.

1.4

Implementazione e setup sperimentale

Il risultato finale auspicato per questo lavoro sarebbe l’applicazione in un contesto reale; nello specifico il processo di priming dei paraurti delle automobili.

Infatti nel processo di priming, un operatore passa la fiamma ossidrica su ciascun paraurti, per eliminare dalla superficie tutte le impurità derivanti dalla fabbrica-zione. Tale procedura è intenzionalmente manuale poiché l’esperienza del lavora-tore è fondamentale per assicurare la miglior qualità di prodotto.

(30)

Figura 1.4: Microsoft Kinect V2 scomoda dell’operatore.

Durante il processo di priming, l’operatore umano deve eseguire ampi movimenti con il braccio che sorregge la fiamma ossidrica (che solitamente pesa qualche kg). Minimizzando gli spostamenti che l’uomo deve eseguire si aumenterà di conse-guenza il comfort; l’algoritmo sviluppato in questo studio promette appunto di minimizzare l’ampiezza dei movimenti eseguiti dal lavoratore, facendo comunque attenzione all’errore di tracciamento, che nel contesto dell’applicazione si traduce nella precisione di lavorazione, l’accuratezza.

L’apparato sperimentale è composto da un COMAU SMART SIX (Figura 1.5), un robot industriale a 6 gradi di libertà usato per sostenere e muovere il paraurti, un sensore Microsoft Kinect v2 (Figura 1.4) e due PC di interfaccia, uno per il sensore (su cui è stata implementata la parte di computer vision), l’altro per il robot (su quest’ultimo è stata implementata la legge di controllo (1.1)).

Il sensore Kinect v2, mediante la sua telecamera di profondità, traccia la postura dell’operatore umano identificandone i punti scheletrici, invece tramite la teleca-mera RGB traccia la posizione e l’orientamento dell’utensile identificando 3 sfere arancioni montate sul dispositivo.

1.5

Simulazioni

Prima di passare all’implementazione, sono state eseguite diverse simulazioni del funzionamento della legge di controllo, per avere un’idea di come variassero l’errore di posizionamento rispetto alla posa ergonomica (rE − rH) e l’errore di

traccia-mento (rP − rH), al variare dei parametri di controllo: le matrici KRv e KRω. In

queste prove i parametri di velocità lineare e angolare dell’operatore umano sono stati scelti arbitrariamente e impostati così: Kv

(31)

1.5 Simulazioni 13

Figura 1.5: Comau Smart Six

Siccome l’attenzione era maggiormente focalizzata sull’effetto causato dalle tra-slazioni del robot sugli indicatori di prestazione sopraelencati, le simulazioni sono state eseguite facendo variare Kv

R, tenendo KRω a un valore costante. Per ogni

valore assegnato a Kω

R, KRv assumeva i seguenti valori durante la simulazione:

KRv = kI con

k = 0, 0.1, . . . , 9.9

Le simulazioni sono state sviluppate in ambiente Matlab, e fornivano qualita-tivamente gli andamenti ideali degli errori di posizionamento e di tracciamento specificati sopra.

Tali errori sono stati calcolati come segue ep = PN i=1krE − rH(i)k N et= PN

i=1krP(i) − rH(i)k

N

dove ep ed et sono rispettivamente l’errore di posizionamento e l’errore di

(32)

Figura 1.6: Errore di Posizionamento dell’utensile rispetto alla posa ergonomica al variare di Kv

(33)

1.5 Simulazioni 15

Figura 1.7: Errore di tracciamento al variare di Kv

(34)

N è il numero di campioni. La posizione della terna ergonomica E è costante in queste prove, pertanto rE non cambia.

Nella Figura 1.6 e nella Figura 1.7 è possibile vedere i grafici delle variazioni degli errori rispetto a Kv

R, nel caso in cui KRω = 0.

In presenza del solo moto di traslazione del robot, l’errore di posizionamento nella Figura 1.6 ha un chiaro andamento decrescente al crescere di Kv

R, mentre

l’errore di tracciamento nella Figura 1.7 inizialmente cresce per poi saturare, quin-di si conferma, almeno in simulazione, l’esistenza quin-di un trade-off nella scelta quin-di Kv

R

che riduca ep senza incrementare troppo et. Va notato però che il caso di errore

di tracciamento nullo, che si ottiene per Kv

R = 0, è probabilmente poco

ragione-vole, poiché la persona che esegue l’operazione si può stancare e le sue prestazioni potrebbero diminuire per via della fatica. In sostanza, a causa della non-ideale capacità di tracciamento dell’operatore, è verosimile che la curva dell’errore di tracciamento parta da un valore maggiore di 0 e che cresca fino a saturare. La prova è stata ripetuta anche con Kω

R6= 0:

KRω = ρI con

ρ = 0.1, 0.2, . . . , 1.0 L’inserimento di Kω

R6= 0 comporta un disturbo negli andamenti precedentemente

mostrati; tale disturbo consiste in un’oscillazione dei valori ep ed et che diventa

tanto più marcata al crescere di Kω

R. Di seguito vengono riportati i grafici nel caso

in cui Kω R= I.

Come si può vedere dalle Figure 1.8 e 1.9, è presente un disturbo che fa oscillare l’andamento degli errori di posizione e di tracciamento rispetto al caso in cui il robot non applica alcuna velocità angolare al paraurti. Anche in questo caso è inverosimile che l’errore di tracciamento et nella Figura 1.9 sia nullo se KRv = 0,

le considerazioni in merito sono le stesse che sono state fatte in precedenza. Visto il risultato di queste prove, si è deciso poi di approfondire il comportamento del sistema solamente nel caso in cui il robot effettua traslazioni del paraurti nel caso pratico, l’applicazione di rotazioni al pezzo è lasciata a sviluppi futuri.

(35)

1.5 Simulazioni 17

Figura 1.8: Errore di Posizionamento dell’utensile rispetto alla posa ergonomica al variare di Kv

(36)

Figura 1.9: Errore di tracciamento al variare di Kv

(37)

Capitolo 2

Analisi Posturale

In questo capitolo verranno illustrati due metodi d’indagine del livello di ergono-mia della postura nelle attività lavorative, RULA (Rapid Upper Limb Assessment, [17]) e REBA (Rapid Entire Body Assessment, [13]).

Per poter intervenire sulle cause d’infortunio, tali metodi valutano il livello di esposizione dell’operatore a possibili fonti di rischio, nello specifico il sovraccarico dell’apparato muscolo-scheletrico.

Il primo metodo è maggiormente focalizzato sulla postura dell’arto superiore, men-tre il secondo metodo (sviluppato basandosi sul precedente) permette una valuta-zione di tutte le articolazioni rilevanti, e per questo è sensibile anche alle posture più imprevedibili. Basandosi sulle posizioni dei punti scheletrici dell’operatore fornite dal sensore Kinect v2, è stato possibile valutare la posizione ergonomica ideale dell’utensile nella mano destra dell’operatore, utilizzando le indicazioni del secondo metodo di analisi posturale (REBA).

Entrambi i metodi citati sono in realtà stati pensati per l’analisi posturale, con l’obiettivo di valutare l’adeguatezza di una data postura, mentre in questo lavoro si utilizzano tali metodi per determinare la postura migliore da assumere, non per valutare la postura che l’operatore spontaneamente (e magari erroneamente) assume.

2.1

Metodo RULA

2.1.1

Introduzione

RULA (Rapid Upper Limb Assessment) è un metodo di indagine studiato per valutare l’esposizione dei lavoratori ai fattori di rischio associati a disturbi di na-tura muscolo-scheletrica dell’arto superiore. RULA è stato sviluppato attraverso la valutazione delle posture assunte, delle forze esercitate e delle azioni muscolari degli operatori in varie mansioni produttive in cui possono essere presenti i fattori di rischio associati a disturbi dell’arto superiore.

(38)

diagrammi di posture del corpo e tre tabelle di punteggio. I fattori di rischio sotto indagine sono identificati come fattori di carico esterni, e sono:

• Numero di movimenti; • Lavoro muscolare statico; • Forza;

• Postura di lavoro determinata dall’attrezzatura.

Al fine di valutare questi 4 fattori di carico esterni, RULA è stato sviluppato per:

1. Fornire un metodo di screening rapido dei lavoratori, che per esposizio-ne a possibili rischi legati al lavoro potrebbero sviluppare disturbi all’arto superiore;

2. Identificare lo sforzo muscolare associato a una data postura, la forza eserci-tata e l’esecuzione di lavoro statico o ripetitivo, che potrebbero contribuire all’affaticamento muscolare;

3. Dare risultati che possano essere incorporati in uno studio ergonomico più ampio, che comprenda i fattori epidemiologici, fisici, mentali, ambientali ed organizzativi, da valutare nel campo della prevenzione dai disturbi dell’arto superiore.

RULA non necessita di strumentazione speciale, sono necessari solo una penna e un blocco note, in questo modo gli investigatori possono essere addestrati nell’e-secuzione degli accertamenti senza costi legati alla strumentazione. Inoltre non sono richieste abilità pregresse nelle tecniche di osservazione (anche se risultano comunque vantaggiose).

2.1.2

Sviluppo

La valutazione tramite RULA avviene in 3 fasi. La prima fase riguarda il metodo di registrazione delle posture, la seconda riguarda lo sviluppo di un sistema di punteggi, e la terza riguarda la costruzione di una scala d’azione che fornisca una guida al livello di rischio e alla necessità di condurre accertamenti più dettagliati o di intervenire per correggere le posture potenzialmente pericolose.

Fase 1: Sviluppo del metodo per registrare le posture di lavoro

Per produrre un metodo che fosse di uso rapido, il corpo è stato suddiviso in seg-menti raccolti nei gruppi A e B.

(39)

2.1 Metodo RULA 21

Il gruppo A include il braccio, l’avambraccio e il polso, mentre il gruppo B include il collo, il tronco e le gambe. In questo modo la postura del corpo intero viene registrata, così che ogni postura scomoda o vincolata delle gambe, del tronco o del collo, che possa influenzare la postura dell’arto superiore, venga inclusa nella valutazione.

Il range di movimento per ogni parte del corpo è stato diviso in sezioni secondo criteri derivati dalla letteratura specifica. Queste sezioni vengono numerate così che il numero 1 sia associato al range di movimento (o alla postura) in cui i fattori di rischio sono minimi. I numeri più alti vengono invece allocati in sezioni che rappresentano un range di movimento con posture più estreme, in modo da indi-care la presenza vieppiù crescente dei fattori di rischio che causano sovraccarico alla struttura del segmento corporeo considerato. Questo sistema, che attribuisce un punteggio alla postura di ogni parte del corpo, fornisce una logica sequenza di numeri che è facile da ricordare.

La facile identificazione dei range di postura dai diagrammi avviene grazie alla rappresentazione di ogni segmento corporeo sul piano sagittale, e i movimenti di abduzione e adduzione, anche se non mostrati, vengono inclusi nel conteggio.

Nella figura 2.1 vengono mostrati i diagrammi con cui sono assegnati i punteggi alle posture delle parti del corpo del gruppo A, che sono il braccio, l’avambraccio e il polso, con una sezione per registrare anche la pronazione o la supinazione della mano (chiamata wrist twist).

Per quanto riguarda invece i diagrammi con cui vengono assegnati i punteggi alle posture delle parti del corpo del gruppo B (collo, tronco e gambe) è possibile vedere le figura 2.2.

Fase 2: Sviluppo di un sistema di raggruppamento per i punteggi delle posture delle diverse parti del corpo

E’ necessario ottenere un singolo punteggio dai gruppi A e B, che rappresenterà il livello di carico posturale del sistema muscolo-scheletrico causato dalla com-binazione delle posture delle diverse parti del corpo. Il primo step per stabilire tale punteggio è classificare ogni combinazione di posture da quella che arreca il minimo carico a quella che ne causa il maggiore, basandosi sui criteri della bio-meccanica. Le posture sono state classificate in una scala da 1 a 9, dove 1 è il punteggio assegnato alla postura col minor carico muscolo-scheletrico.

E’ possibile vedere i punteggi associati alle diverse combinazioni per il gruppo A e il gruppo B nella figura 2.3.

Nella procedura RULA prima si registrano i punteggi della postura di ogni parte del corpo come nelle figure 2.1 e 2.2, poi, utilizzando le tabelle nella figura 2.3, si trovano i punteggi combinati, chiamati punteggio A e punteggio B (cono-sciuti anche come punteggi posturali).

(40)

A. Arm and Wrist Analysis

Step 1: Locate Upper Arm Position:

Step 1a: Adjust…

If shoulder is raised: +1 If upper arm is abducted: +1

If arm is supported or person is leaning:-1

Step 2: Locate Lower Arm Position:

Step 2a: Adjust…

If either arm is working across midline or out to side of body: Add +1

Step 3: Locate Wrist Position:

Step 3a: Adjust…

If wrist is bent from midline: Add +1

Step 4: Wrist Twist:

If wrist is twisted in mid-range: +1 If wrist is at or near end of range: +2

Upper Arm Score

Lower Arm Score

Wrist Score Wrist Twist Score

+1

+2

+2

+3

+4

+1

+2

+3

A. Arm and Wrist Analysis

Step 1: Locate Upper Arm Position

Step 1a: Adjust…

If shoulder is raised: +1 If upper arm is abducted: +1

If arm is supported or person is leaning:

Step 2: Locate Lower Arm Position

Step 2a: Adjust…

If either arm is working across midline or out to side of body: Add +

Step 3: Locate Wrist Position

Step 3a: Adjust…

If wrist is bent from midline: Add +

Step 4: Wrist Twist:

If wrist is twisted in mid range: +1 If wrist is at or near end of range: +2

Upper Arm Score

Lower Arm Score

Wrist Score Wrist Twist Score

(41)

2.1 Metodo RULA 23

B. Neck, Trunk and Leg Analysis

Step 9: Locate Neck Position:

Step 9a: Adjust…

If neck is twisted: +1

If neck is side bending: +1

Step 10: Locate Trunk Position:

Step 10a: Adjust…

If trunk is twisted: +1

If trunk is side bending: +1

Step 11: Legs:

If legs and feet are supported: +1

If not: +2

Neck Score Trunk Score Leg Score

+2

+3

+4

+2

+3

+4

(42)

Figura 2.3: Tabelle per il punteggio di postura del gruppo A e del gruppo B muscolare statico, ai movimenti ripetitivi e all’applicazione di forza mentre si lavora, vengono calcolati dei punteggi addizionali per entrambi i gruppi. Nello specifico, per valutare l’azione muscolare si considera se l’operatore esegue lavoro statico (mantiene la postura per più di 1 minuto) oppure se esegue azioni ripetitive (ripetendo gli stessi movimenti più di 4 volte al minuto), mentre per valutare il contributo della forza esercitata o del carico sostenuto (ad esempio uno strumento tenuto in mano), è necessario considerare l’entità del carico (o della forza) da so-stenere e la frequenza con cui lo si sostiene, in base a questi fattori viene calcolato un incremento (com’è possibile vedere dalla figura 2.4) detto punteggio di azione muscolare e forza/carico. Con l’aggiunta dei punteggi di azione muscolare e for-za ai punteggi posturali si ottengono i punteggi C e D, come mostrato in figura 2.4.

punteggio A + azione muscolare e f orza gruppo A = punteggio C punteggio B + azione muscolare e f orza gruppo B = punteggio D

Fase 3: Sviluppo del punteggio finale e della lista d’azione

In questa fase i punteggi C e D vengono incorporati in un unico punteggio finale la cui entità indicherà il livello di necessità di ulteriori indagini e/o azioni correttive rispetto all’operazione analizzata. Sulla base della stima del rischio d’infortunio per sovraccarico del sistema muscolo-scheletrico, ogni possibile combinazione dei

(43)

2.2 Metodo REBA 25

Step 5: Look-up Posture Score in Table A:

Using values from steps 1-4 above, locate score in Table A

Step 6: Add Muscle Use Score

If posture mainly static (i.e. held>10 minutes), Or if action repeated occurs 4X per minute: +1

Step 7: Add Force/Load Score

If load < .4.4 lbs. (intermittent): +0 If load 4.4 to 22 lbs. (intermittent): +1 If load 4.4 to 22 lbs. (static or repeated): +2 If more than 22 lbs. or repeated or shocks: +3

Step 8: Find Row in Table C

Add values from steps 5-7 to obtain Wrist and Arm Score. Find row in Table C.

Step 12: Look-up Posture Score in Table B:

Using values from steps 9-11 above, locate score in Table B

Step 13: Add Muscle Use Score

If posture mainly static (i.e. held>10 minutes), Or if action repeated occurs 4X per minute: +1

Step 14: Add Force/Load Score

If load < .4.4 lbs. (intermittent): +0 If load 4.4 to 22 lbs. (intermittent): +1 If load 4.4 to 22 lbs. (static or repeated): +2 If more than 22 lbs. or repeated or shocks: +3

Step 15: Find Column in Table C

Add values from steps 12-14 to obtain Neck, Trunk and Leg Score.Find Column in Table C. Posture Score A

Muscle Use Score

Force / Load Score

Wrist & Arm Score

Posture B Score

Muscle Use Score

Force / Load Score

Neck, Trunk, Leg Score

= + + = + + Step 5: Look up Posture Score in Table A:

Using values from steps 1 4 above, locate score in Table A

Step 6: Add Muscle Use Score

Or if action repeated occurs 4X per minute: +

Step 7: Add Force/Load Score

If load < .4.4 lbs. (intermittent): +0 If load 4.4 to 22 lbs. (intermittent): +1 If load 4.4 to 22 lbs. (static or repeated): +2 If more than 22 lbs. or repeated or shocks: +

Step 8: Find Row in Table C

Add values from steps 5 7 to obtain Wrist and Arm Score. Find row in Table C

Posture Score A

Muscle Use Score

Force / Load Score

+ + =

Figura 2.4: Come calcolare i punteggi C e D

punteggi C e D viene classificata dal numero 1 al numero 7. I livelli di azione sono i seguenti:

• Livello d’azione 1

Un punteggio finale di 1 o 2 indica che la postura è accettabile se non viene mantenuta o ripetuta per lunghi periodi.

• Livello d’azione 2

Un punteggio finale di 3 o 4 indica il bisogno di ulteriori indagini, e potreb-bero essere richiesti dei cambiamenti.

• Livello d’azione 3

Un punteggio finale di 5 o 6 indica che le ulteriori indagini e i cambiamenti sono richiesti al più presto possibile.

• Livello d’azione 4

Un punteggio finale di 7 indica che le ulteriori indagini e i cambiamenti sono richiesti immediatamente.

E’ possibile vedere la tabella riassuntiva dei livelli d’azione nella figura 2.5.

2.2

Metodo REBA

2.2.1

Introduzione

REBA è un metodo di analisi posturale sviluppato per essere applicato in campo terapeutico/sanitario, progettato specificatamente per essere sensibile alle impre-vedibili posture di lavoro che si trovano nel settore sanitario e in altri servizi. Questo strumento si propone di:

• Sviluppare di un sistema di analisi posturale sensibile ai rischi muscolo-scheletrici in un’ampia varietà di operazioni.

(44)

Scoring: (final score from Table C)

1-2 = acceptable posture

3-4 = further investigation, change may be needed 5-6 = further investigation, change soon

7 = investigate and implement change

RULA Score

Figura 2.5: Tabella riassuntiva dei livelli di azione

• Dividere il corpo in segmenti da codificare individualmente, con riferimento ai piani di movimento.

• Fornire un sistema di punteggi per l’attività muscolare causata da posture statiche, dinamiche, che cambiano rapidamente o che sono instabili.

• Dare un livello d’azione con indicazione dell’urgenza di intervento.

Anche in questo caso, come nel precedente metodo, la strumentazione necessaria è minima: carta e penna.

2.2.2

Sviluppo

Il metodo REBA considera tutte le articolazioni importanti del sistema muscolo-scheletrico, e in base a ciò individua i segmenti corporei da analizzare (mentre RULA si concentra maggiormente sull’arto superiore). Per definire il punteggio delle posture dei segmenti corporei, sono state analizzate semplici operazioni con variazioni di carico e di ampiezza dei movimenti. I dati sono stati raccolti con diverse tecniche, incluse NIOSH ([21]), Rated Perceived Exertion ([4]), Body Part Discomfort Survey ([6]) e Rapid Upper Limb Assessment ([17]). Le analisi sono state utilizzate per stabilire i range di movimento di ogni parte del corpo, come mostrano i diagrammi del gruppo A e del gruppo B in figura 2.6, che si basano sui diagrammi del metodo RULA. Tre fisioterapisti hanno poi classificato e attribuito un punteggio a 144 combinazioni di posture, e quindi hanno incorporato i concetti di carico, accoppiamento dei movimenti e attività per ottenere il punteggio REBA finale, che va da 1 a 15, con le indicazioni sui rischi e i livelli d’azione.

(45)

2.2 Metodo REBA 27

Il gruppo A ha un totale di 60 combinazioni di posture per il collo, tronco e gambe. Ogni combinazione ha un punteggio da 1 a 9, a cui viene aggiunto il punteggio di carico/forza per ottenere il punteggio A.

Il gruppo B ha un totale di 36 combinazioni di posture per il braccio, l’avambraccio e il polso. Ogni combinazione ha un punteggio da 1 a 9, a cui viene aggiunto il punteggio di accoppiamento dei movimenti per ottenere il punteggio B.

I punteggi A e B vengono combinati nella tabella C per dare un totale di 144 possibili combinazioni, e alla fine viene aggiunto il punteggio di attività per trovare il punteggio REBA finale.

Nella figura 2.7 è possibile vedere come viene valutato il punteggio per il gruppo A, considerando anche il carico / la forza, mentre nella figura 2.8 è riportato il calcolo del punteggio per il gruppo B, considerando anche l’accoppiamento.

Infine, confrontando i punteggi dei gruppi A e B nella tabella in figura 2.9 si trova il punteggio C, a cui sommando il punteggio di attività si ottiene il punteggio REBA finale. I livelli d’azione vengono individuati come segue:

• Livello 0: punteggio REBA di 1, livello di rischio trascurabile e intervento non necessario.

• Livello 1: punteggio REBA di 2-3, basso livello di rischio, potrebbe essere necssario intervenire.

• Livello 2: punteggio REBA di 4-7, livello di rischio medio, necessita di un intervento.

• Livello 3: punteggio REBA di 8-10, alto livello di rischio, necessita di un intervento entro breve.

• Livello 4: punteggio REBA di 11-15, livello di rischio molto alto, necessita di un intervento immediato.

2.2.3

Postura ergonomica secondo il metodo REBA

Come illustrato nel precedente capitolo, l’obiettivo di questo lavoro è l’utilizzo della robotica collaborativa nel processo di priming dei paraurti delle automobili. In questa procedura, l’operatore deve sorreggere la fiamma ossidrica, che solita-mente ha un peso inferiore a 5 kg. In accordo al metodo REBA, la miglior postura ergonomica si ottiene per piccoli carichi (< 5 kg) con il tronco in posizione eretta, la flessione del collo di 20° al massimo e le gambe dritte, entrambe che sopportano equamente il peso. Per quanto riguarda l’arto superiore, ci si aspetta di avere un angolo di flessione/estensione del braccio di massimo 20°, piccoli movimenti di abduzione o rotazione sono tollerati, l’angolo di flessione del gomito deve essere

(46)
(47)

2.2 Metodo REBA 29

A. Neck, Trunk and Leg Analysis Step 1: Locate Neck Position

Step 1a: Adjust… If neck is twisted: +1 If neck is side bending: +1

Step 2: Locate Trunk Position

Step 2a: Adjust… If trunk is twisted: +1 If trunk is side bending: +1

Step 3: Legs

Step 4: Look-up Posture Score in Table A Using values from steps 1-3 above,

Locate score in Table A

Step 5: Add Force/Load Score If load < 11 lbs. : +0

If load 11 to 22 lbs. : +1 If load > 22 lbs.:+2

Adjust: If shock or rapid build up of force: add +1

Step 6: Score A, Find Row in Table C Add values from steps 4 & 5 to obtain Score A. Find Row in Table C.

+1 +2 +2 +4 +3 +2 +2 +1 +2 +1 Add +1 Add +2 Adjust:

Force / Load Score

Score A

=

(48)

B. Arm and Wrist Analysis

Step 7: Locate Upper Arm Position:

Step 7a: Adjust… If shoulder is raised: +1 If upper arm is abducted: +1

If arm is supported or person is leaning:-1 Step 8: Locate Lower Arm Position:

Step 9: Locate Wrist Position:

Step 9a: Adjust…

If wrist is bent from midline or twisted : Add +1 Step 10: Look-up Posture Score in Table B Using values from steps 7-9 above, locate score in Table B Step 11: Add Coupling Score

Well fitting Handle and mid rang power grip,good: +0

Acceptable but not ideal hand hold or coupling

acceptable with another body part,fair: +1

Hand hold not acceptable but possible,poor: +2

No handles, awkward, unsafe with any body part,

Unacceptable: +3

Step 12: Score B,Find Column in Table C Add values from steps 10 &11 to obtain Score B. Find column in Table C and match with Score A in row from step 6 to obtain Table C Score. Step 13: Activity Score

+1 1 or more body parts are held for longer than 1 minute (static) +1 Repeated small range actions (more than 4x per minute)

+1 Action causes rapid large range changes in postures or unstable base

+1 +2 +2 +3 +4 +1 +2 +1 +2

+

=

Upper Arm Score

Lower Arm Score

Wrist Score

Posture Score B

Coupling Score

Score B

(49)

2.3 Calcolo della posa ottimale dell’utensile 31

+11 or more body parts are held for longer than 1 minute (static)

+1Repeated small range actions (more than 4x per minute)

+1Action causes rapid large range changes in postures or unstable base

=

Table C Score Activity Score REBA Score

+

Step 13: Activity Score

Figura 2.9: Tabella C e calcolo del punteggio finale REBA

tra i 60° e i 100°, e l’angolo di flessione/ estensione del polso dovrebbe essere di 15° al massimo. In questo modo si ottiene il punteggio REBA minimo; ci sono altre combinazioni che portano allo stesso punteggio minimo, ma le posture cor-rispondenti non sono adeguate all’operazione che consideriamo, oppure non sono consistenti perché non soddisfano la necessità di coordinare la mano con la vista (cioè la mano è troppo vicina al limite del campo visivo).

2.3

Calcolo della posa ottimale dell’utensile

Per prima cosa, seguendo il metodo REBA, è stato possibile trovare la posizio-ne e l’orientamento ergonomici del polso destro dell’operatore. Ipotizzando che le gambe siano dritte, il busto eretto e il collo non troppo inclinato, quando il braccio ha un’abduzione di 10°, una flessione di 10° e una rotazione esterna di 20°, mentre l’avambraccio ha una flessione di 90°, si ottiene una postura con punteggio REBA minimo, cioè pari a 1.

Il sensore Kinect v2, posizionato in maniera da riprendere l’operatore, fornisce i punti scheletrici rispetto alla terna mondo W (base del manipolatore robotico), noi ne consideriamo solo alcuni per ricavare ciò che ci serve, in particolare SHR (spalla destra), SHL (spalla sinistra), ELBWR (gomito destro) e WRSTR (polso destro); calcolando la distanza tra SHR e ELBWR si trova la lunghezza del brac-cio lengthupperarm, mentre la lunghezza dell’avambraccio lengthlowerarm si trova

(50)

W

torso

x

z

y

Figura 2.10: Terna di riferimento del tronco

E’ possibile trovare l’angolo di rotazione del tronco θ attorno all’asse zW in base

alla posizione dei punti SHR e SHL.

θ = atan2((xSHR− xSHL), (ySHR− ySHL))

Si può quindi posizionare una prima terna di riferimento nel busto (come nella figura 2.10), orientata secondo la rotazione del tronco di un angolo θ attorno a zW, definita dalla seguente matrice di rotazione:

torsoRot = RzW(θ) =   cos θ − sin θ 0 sin θ cos θ 0 0 0 1  

Al fine di trovare l’orientamento e la posizione ergonomici del polso destro rispetto a W, vengono effettuate una serie di rototraslazioni a partire da SHR. La rotazione iniziale della spalla destra è quella dovuta alla rotazione del tronco, pertanto la terna di riferimento iniziale della spalla destra avrà lo stesso orienta-mento del tronco, definito da torsoRot. La terna di riferimento iniziale della spalla

(51)

2.3 Calcolo della posa ottimale dell’utensile 33

W

shoulder

x'

z'

y'

Figura 2.11: Terna di riferimento iniziale della spalla viene indicata con x0y0z0, come si vede nella figura 2.11.

L’orientamento della terna nella figura 2.11 dipende dall’angolo θ, che specifica la rotazione del tronco attorno all’asse zW.

A questo punto, a partire dalla rotazione del tronco, per trovare l’orientamen-to desideral’orientamen-to della spalla destra si applica una composizione di rotazioni: una rotazione di −10° attorno all’asse x0 (abduzione del braccio) permette di ottenere

la terna x00y00z00 (come nella figura 2.12), una rotazione di −10° attorno all’asse y00

(flessione del braccio) ci fornisce la terna x000y000z000 (come nella figura 2.13) a cui

applicando una rotazione di −20° attorno all’asse z000 (rotazione esterna del

brac-cio) si ottiene l’orientamento finale della spalla (mostrato nella figura 2.14); tale orientamento sarà dunque il prodotto (in ordine) di queste matrici di rotazione:

shoulderRot = torsoRotRx0(−10°)Ry00(−10°)Rz000(−20°)

shoulderRot indica l’orientamento della terna di riferimento nella spalla destra

(52)

W

shoulder

x''

z''

y''

Figura 2.12: Terna di riferimento della spalla applicando l’abduzione del braccio Quindi si trova la posizione ideale del gomito destro partendo da SHR e appli-cando una traslazione di −lengthupperarm lungo l’asse zshoulder(asse z della terna

nella spalla destra)

elbowP os= SHR + shoulderRot

  0 0 −lengthupperarm  

Come si può vedere nella figura 2.15, l’orientamento della terna di riferimento centrata nel gomito è lo stesso della terna centrata nella spalla, cioè elbowRot ≡

shoulderRot.

Per trovare l’orientamento ideale del polso destro è necessario, partendo dal-l’orientamento ideale del gomito destro, aggiungere anche la flessione dell’avam-braccio di 90°, che si traduce in una rotazione di tale angolo attorno all’asse yelbow ≡ yshoulder. L’orientamento ergonomico del polso destro perciò si

ottie-ne come prodotto dell’orientamento del gomito e della matrice di rotazioottie-ne che rappresenta la flessione dell’avambraccio di 90°

(53)

2.3 Calcolo della posa ottimale dell’utensile 35

W

shoulder

x'''

z'''

y'''

Figura 2.13: Terna di riferimento della spalla applicando l’abduzione e la flessione del braccio

(54)

W

shoulder

x

z

y

(55)

2.3 Calcolo della posa ottimale dell’utensile 37

W

elbow

x

y

z

(56)

W

wrist

x

y

z

Figura 2.16: Terna di riferimento ergonomica del polso

Avendo la posizione del gomito e la rotazione del polso è possibile calcolare la posizione ideale del polso aggiungendo alla elbowP osla lunghezza dell’avambraccio

lengthlowerarm lungo l’asse z del polso (zwrist)

wristP os = elbowP os+ wristRot

  0 0 lengthlowerarm  

Il risultato di questi passaggi è mostrato nella figura 2.16.

Ottenuta la posizione ergonomica del polso possiamo trovare la posizione ot-timale della punta dell’utensile adoperato, aggiungendo degli offset (le dimensio-ni dell’utensile in metri) lungo gli assi xwrist e zwrist della terna di riferimento

con origine nel polso destro (wristP os). L’orientamento della terna ergonomica

(57)

2.3 Calcolo della posa ottimale dell’utensile 39

wristRot.

ErgoT oolP os= wristP os+ wristRot

  0.10 0 0.15  

ErgoT oolRot = wristRot

ErgoT oolP os indica la posizione in cui dovrebbe stare lo strumento se l’arto

su-periore dell’operatore fosse posizionato secondo la postura determinata all’inizio della sezione, per minimizzare il rischio di infortunio secondo il criterio REBA. ErgoT oolRot invece indica l’orientamento che lo strumento avrebbe se l’arto

su-periore fosse posizionato secondo la postura ergonomica, in assenza di ulteriori rotazioni, deviazioni, flessioni o estensioni del polso; infatti per evitare disturbi, secondo il criterio REBA, il polso dovrebbe stare dritto.

Collezionando le informazioni ErgoT oolP os e ErgoT oolRot in un’unica matrice, si

trova:

E =ErgoT oolRot ErgoT oolP os

0 0 0 1



La matrice E caratterizza la posa statica ottimale dello strumento tenuto in mano dall’operatore. Facendo riferimento alla legge di controllo illustrata nel capitolo precedente, grazie all’analisi posturale sono stati dedotti rE e REW (posizione e

orientamento della terna ergonomica rispetto al riferimento universale W ), infatti risulta che:

rE ≡ ErgoT oolP os

REW ≡ ErgoT oolRot

In questo modo si dispone dei primi elementi necessari all’implementazione della legge di controllo.

(58)
(59)

Capitolo 3

Vision System

In questo capitolo viene illustrato l’utilizzo del sensore visivo Kinect v2 per traccia-re la posizione e l’orientamento della terna di riferimento dell’utensile H, elementi necessari per il funzionamento della legge di controllo (1.1).

La posizione e l’orientamento della terna H vengono calcolati a partire dalla posi-zione di 3 sfere colorate, montate sul dispositivo, che il sensore Kinect è in grado di individuare; nel presente capitolo viene spiegato come sia possibile ottenere le coordinate di queste sfere nello spazio, e come da esse si ricavi la posizione e l’orientamento della terna di riferimento H rispetto alla terna sensore S.

3.1

Hardware e Software

3.1.1

Dispositivo

In questo lavoro è stato utilizzato il sensore Kinect v2. E’ un dispositivo visivo prodotto da Microsoft, ed è composto da una telecamera a colori (RGB) con riso-luzione 1920x1080 pixel, una telecamera a infrarossi (IR) con risoriso-luzione 512x424 pixel e 3 emettitori di raggi infrarossi.

Alcune caratteristiche del sensore sono riportate nella tabella 3.1.

Kinect v2 è un sensore RGB-D, cioè fornisce le informazioni con una immagine a colori ed una ulteriore struttura dati (depth-map, mappa di profondità) in grado di rappresentare la profondità dei singoli pixel presenti nell’immagine, la profon-dità è intesa come la distanza tra il sensore e la posizione corrispondente a ogni pixel.

Kinect v2 è in grado di valutare le distanze degli oggetti presenti nella scena uti-lizzando la tecnologia Time Of Flight (TOF ): la telecamera a infrarossi misura la distanza dagli oggetti basandosi sul tempo di volo dei raggi infrarossi che, una volta emessi, rimbalzano sugli oggetti presenti in scena. Questo tipo di tecnologia è sensibile alle interferenze dovute alla luce solare, perciò è necessario utilizzarla

(60)

Kinect v2 specifications

Infrared (IR) camera resolution 512 × 424 pixels RGB camera resolution 1920 × 1080 pixels Field of view 70 × 60 degrees Framerate 30 frames per second Operative measuring range from 0.5 to 4.5 m

Tabella 3.1: Microsoft Kinect v2 specifications in ambienti chiusi.

3.1.2

Software

Microsoft fornisce uno strumento di sviluppo software (SDK ) utile per gestire le funzionalità del sensore Kinect v2 tramite il PC.

La nostra applicazione per il sensore Kinect v2 è stata creata nell’ambiente di svi-luppo Visual Studio, con linguaggio C++, sfruttando il kit di SDK di Microsoft e le librerie di computer vision OpenCV.

Lo strumento di sviluppo software include delle funzioni che permettono di rac-cogliere e mostrare a video i flussi di dati provenienti dal Kinect, consentendo poi un’ulteriore elaborazione di tali dati per i nostri fini.

Come mostrato nella figura 3.1, ci sono 3 differenti flussi di dati provenienti dal Kinect: i dati infrarossi e la mappa di profondità hanno la medesima risoluzione, poichè provengono entrambi dal sensore a infrarossi, mentre le immagini a colori hanno una risoluzione maggiore e provengono dalla telecamera RGB.

Le mappe di profondità (depthmaps) sono immagini 2D in cui ad ogni pixel è associata una misura di profondità; da questi valori di profondità è possibile de-durre le coordinate 3D di ogni pixel rappresentato nell’immagine 2D grazie a una funzione di mappatura dalla depth-map allo spazio camera (la stessa cosa si ot-tiene utilizzando la proiezione prospettica).

In particolare, le coordinate di un generico punto P nello spazio camera (come si vede nella figura 3.2) vengono associate alle coordinate di un pixel p secondo questa relazione:

(61)

3.1 Hardware e Software 43

(62)

Figura 3.2: Spazio camera e coordinate della depth-map p =   xP yP dp  =   −λIR ZP XP −λIR ZP YP pX2 P + YP2+ ZP2  

dove le coordinate del punto P nello spazio camera sono: PS =   XP YP ZP  

Lo spazio camera è il sistema di coordinate 3D usato dal Kinect, può essere visto in figura 3.3, ed è definito come segue:

• L’origine è nel centro del sensore a infrarossi.

• X aumenta nella direzione alla sinistra del sensore (dal punto di vista del sensore).

• Y aumenta verso l’alto, nella direzione dell’inclinazione del sensore rispetto all’asse verticale.

(63)

3.1 Hardware e Software 45

Figura 3.3: Sistema di riferimento del Kinect v2

Se tale mappatura viene effettuata, il risultato sarà una lista di coordinate (X, Y, Z) nello spazio camera, che possono essere rappresentate come una nuvola di punti (come si vede nella figura 3.1).

Per dedurre le coordinate 3D dei pixel rappresentati nell’immagine a colori si utilizza un’altra funzione di mappatura predisposta nel SDK, quest’altra funzione però opera in due fasi:

• mappatura dei pixel dell’immagine a colori nei corrispondenti pixel della mappa di profondità (trasformazione necessaria poiché la risoluzione del-l’immagine a colori è superiore a quella della mappa di profondità)

• associazione delle coordinate 3D provenienti dalla mappa di profondità con le corrispondenti informazioni dell’immagine a colori

E’ possibile vedere il risultato finale, una nuvola di punti a colori, nella figura 3.1. Inoltre dal SDK è stato possibile ottenere la lunghezza focale della telecamera a infrarossi λIR, pari a 365 pixel.

Per la parte di elaborazione delle immagini è stata utilizzata la libreria software opensource OpenCV (Open Source Computer Vision Library), che include un in-sieme di algoritmi di computer vision e machine learning.

Questi algoritmi possono essere usati per individuare e riconoscere visi, identifi-care oggetti, classifiidentifi-care azioni umane in video, tracciare oggetti in movimento, estrarre modelli 3D, ecc ecc.

Tale libreria ha interfaccia Windows, Linux, Android e Mac Os, supporta C++, Python, Java e Matlab.

Infine è stato utilizzato anche il software Matlab, poiché attraverso l’utilizzo di Ca-mera Calibration Toolbox è stata effettuata la calibrazione geometrica del Kinect v2. Questa toolbox permette di determinare i parametri intrinseci del sensore,

Figura

Figura 1.2: Terne di riferimento rilevanti per la manipolazione collaborativa di oggetti di grosse dimensioni
Figura 1.6: Errore di Posizionamento dell’utensile rispetto alla posa ergonomica al variare di K Rv , con K Rω = 0
Figura 1.8: Errore di Posizionamento dell’utensile rispetto alla posa ergonomica al variare di K Rv , con K Rω = I
Figura 1.9: Errore di tracciamento al variare di K R v , con K R ω = I
+7

Riferimenti

Documenti correlati

Probabilmente è giusto dire che la precarietà e la disuguaglianza, come questione sociale, vanno inquadrate in un contesto più ampio, riguardante l’assetto complessivo delle

3|21 Il Codice di Autodisciplina all’art. 7 definisce il Sistema di Controllo Interno come un insieme di processi diretti al monitoraggio dell’efficienza delle operazioni

Gli elementi di un array possono essere qualunque cosa tranne un altro array Possono anche essere variabili

ROMANIA GREECE ALGERIA TUNISIA MOROCCO EGYPT JORDAN ISRAEL SYRIA SOUTH AFRICA CSI LATVIJA KAZAKHSTAN TURKEY SINGAPORE HONG KONG THAILAND TAIWAN CHINA AUSTRALIA NEW ZELAND CANADA

[r]

All’interno del layer inferi- ore il tempo ` e stato suddiviso in quanti temporali di simulazione: ad ogni passo sono richiamate le azioni specifiche per ogni agente (sensori,

Le performance reddituali e di crescita delle imprese distrettuali e della Camaleonte S.p.A.. Le performance reddituali e di crescita delle imprese distrettuali e della

E infine, ancora a dimostrazione dell’autenticità della proposta di Rodari di far squadra con bambini e ragazzi e di dare significato profondo alla parola, viene riportata una