• Non ci sono risultati.

3.3 Metodi empirici

3.3.2 Afferraggio di oggetti simili

Molti oggetti possono essere considerati simili fra loro, come se fossero raggruppati in categorie rappresentative di caratteristiche comuni (superficie, forma, segni particolari).

Figura 3.5: Dimostrazioni di afferraggi di oggetti simili con mano robotica, Fonte: http://www.pacman-project.eu

Dal punto di vista dell’afferraggio, le differenze minimali possono essere considerate irrilevanti, perch´e oggetti simili vengono spesso afferrati in modi simili. Oltre a trovare le somiglianze, si tratta anche di determinare una metrica che le rappresenti, ovvero che indichi il grado di somiglianza. Lo schema di principio di un sistema del genere `e visibile in figura 3.6.

Figura 3.6: Schema afferraggio oggetti simili

L’oggetto viene riprodotto tramite le sue caratteristiche salienti. Grazie ad esse viene elaborato l’afferraggio che pi`u somiglia al caso in questione, basandosi su casi gi`a noti.

Sistemi di questo tipo fanno uso di rappresentazioni dati 3D degli oggetti ma in alternativa possono usare anche rappresentazioni 2D; sono possibili anche forme ibride che fanno uso di entrambe le tipologie di immagini.

Questo tipo di algoritmi si basa fondamentalmente sull’estrazione di fea- tures, ovvero caratteristiche salienti che sono rappresentative dell’oggetto in- cognito e ne semplificano la visione. Queste informazioni vengono poi usate per determinare oggetti somiglianti e i modi in cui poterli afferrare.

C’`e chi sfrutta le parti di features per capire se sono afferrabili e chi mi- ra ad individuare i punti di afferraggio globalmente. I dati possono essere per esempio schematizzati in piccole modelli sintetici che fungono da unit`a fondamentali geometriche (cubi, ottaedri, cilindri) e che semplificano la for- ma e la rappresentazione degli oggetti. Queste caratteristiche possono essere sfruttate da reti neurali artificiali per capire in modo pi`u semplice se ci so- no gradi di somiglianza fra queste regioni e poi individuare zone afferrabili. L’addestramento di una rete pu`o essere eseguito su dati cos`ı semplificati, in cui viene specificato in quali di queste regioni `e possibile afferrare l’oggetto. Da quelle ricavate viene poi dedotto per sintesi un afferraggio a chiusura.

La semplificazione dell’oggetto pu`o essere spinta ulteriormente per ricava- re soltanto una singola componente globale. In questo caso la mano robotica `

e pi`u elementare e consiste solo in due o tre dita per afferrare in modo com- patto un oggetto senza distinguerne le particolarit`a. I grasp prodotti saranno indicativi di posizione del polso, distanza e apertura delle dita.

Sono anche possibili soluzioni di tipo statistico, mediante reti di Markov applicate su point cloud tridimensionali. Ognuno dei nodi della rete deve dire se `e un punto di afferraggio buono, sulla base dei punti vicini a cui `e collegato tramite gli archi della catena. Anche in questo caso opera su modelli che semplificano e regolarizzano la struttura.

Sebbene sia vero che scomporre oggetti in unit`a primitive sia un buon modo per semplificarne la visione e individuare gli afferraggi con una discreta variabilit`a di modi, non `e altrettanto fattibile con dati reali, in cui i sensori, soggetti a disturbi ineliminabili, possono produrre dati incompleti e imprecisi. Metodi e features di questo tipo possono andare bene con rappresentazioni tridimensionali molto accurate come quelle prodotte nelle simulazioni, ma sui dati reali la semplificazione peggiora la visione d’insieme, facendo perdere i pochi dettagli che sono presenti.

L’analisi di dati tridimensionali `e molto complicata, pertanto sono stati usati anche dati in forma bidimensionale. Punti di afferraggio vengono indivi- duati in funzione delle immagini, per esempio sulla base del colore, struttura e angoli. Altrimenti possono essere usate tecniche pi`u probabilistiche su queste features per capire se possono essere usate per afferrare l’oggetto riprodotto.

`

E anche possibile immagazzinare un database di immagini che rappresen- tjno parti di oggetti afferabili insieme ai loro afferraggi. Il problema `e che una volta trovata la somiglianza, non `e possibile capire come agire in un mondo tridimensionale perch´e questo tipo di features, non dicono nulla riguardo a come orientare la mano e le dita.

Inoltre le immagini bidimensionali possono rivelarsi ingannevoli perch´e parti di oggetti che appaiono allo stesso modo possono essere in realt`a diverse da un punto di vista tridimensionale e quindi afferrabili diversamente.

Pertanto ci sono anche approcci che fanno uso di entrambe le tipologie di immagini, in modo da sfruttare la semplicit`a trattabile di quelle bidimen- sionali e la ricchezza di informazione di quelle tridimensionali, bilanciando reciprocamente gli svantaggi laddove possibile.

La produzione di un afferraggio di un oggetto simile `e l’operazione finale del processo. Nel caso di oggetti somiglianti, nel database non esistono affer- raggi noti in modo esatto. Il sistema deve quindi elaborare una nuova mo- dalit`a di afferraggio che tiene comunque in considerazione questa esperienza ritrovata.

Ci sono due strade: la sintesi con modelli del database o la sintesi sui dati provenienti dai sensori. In pratica la differenza consiste nel fatto che nel primo caso si opera una sintesi degli afferraggi noti costruiti con modelli precisi, nel secondo si cerca di mappare l’oggetto reale sui grasp memorizzati, ovvero analizzare le corrispndenze fra il nuovo oggetto e la mano umana che afferra l’oggetto simile.

Si pu`o anche generalizzare l’approccio basandolo non solo sulla descri- zione dell’oggtto ma anche sulla categorie di afferraggio che possono essere realizzate. In pratica a partire dalle features `e possibile ricavare il tipo di grasp e le direzioni ottimali da applicare sul grasp noto per realizzare quello somigliante.

Uno sviluppo promettente `e quello del riallineamento rigido fra pose di oggetti simili (eventualmente con variazioni di scala). Dopo aver realizzato questa operazione i punti di contatto degli afferraggi noti possono essere trasferiti su quelli del nuovo oggetto.

Queste modalit`a sono state applicate a dati tridimensionali precisi e com- pleti, ma risultati certi in situazioni reali con dati provenienti dai sensori non sono ancora stati eseguiti. Un modo per ovviare a queste problematiche `e realizzare una registrazione delle scene da pi`u punti di vista e poi ricomporle, ma resta ancora l’inconviente del disturbo artificiale che viene introdotto.

Nel caso di utilizzo dei dati provenienti dai sensori il procedimento pu`o essere sia euristico che basato sull’esperienza nota. Una volta estratte le features, queste possono essere subito provate in modo empirico mediante piccoli movimenti elementari e in seguito utilizzati per adattare gli afferraggi ritrovati nel database. Dato che procede anche in modo euristico, c’`e bisogno di un feedback che valuti la prestazione dell’afferraggio in modo da aggiustare i singoli passi necessari per compierlo, nel caso avesse prodotto delle manovre sbagliate.

Alcune delle features possibili per associare grasp candidati ad essere utilizzati possono essere la forma dell’oggetto, il baricentro e i suoi assi prin- cipali. Ognuno dei grasp poi produce un grado di corrispondenza legando i suoi parametri con quelli dell’oggetto tramite una funzione predeterminata. Un metodo di questo tipo per`o limita la gamma di oggetti usabili perch´e non tiene sufficientemente in considerazione le variazioni delle pose di uno stesso oggetto che possono nascondere alcune sue parti.

Un altro modo consiste nel registrare tutte le parti dell’oggetto che sono state toccate dall’essere umano durante la costruzione del database. Tutto si basa nell’individuazione di queste parti all’interno della struttura-dati che rappresenta l’oggetto nuovo.

Per rendere il database pi`u robusto `e possibile costruirlo mediante trial and error in modo che gli afferraggi registrati vengano non solo memorizzati staticamente ma anche provati e subito adattati dal sistema robotico alle sue esigenze.

Tuttti questi approcci si basano fondamentalmente su informazioni di basso livello relative esclusivamente agli oggetti da afferrare.

`

E anche possibile ridefinire il concetto di somiglianza fra oggetti spostan- dolo dalla coppia di oggetti alla categoria di rappresentanza. Pu`o accadere che oggetti dalla forma molto diversa possano tuttavia essere afferrati in modi molto simili, specialmente in ambito domestico. In questo caso l’oggetto nuo- vo `e incognito quindi la categoria non pu`o essere ritrovata in modo preciso, ma deve essere dedotta dalle sue caratteristiche.

In questo tipo di metodo si punta tutta l’attenzione verso la classificazione di oggetti e non verso la somiglianza puramente geometrica. Per esempio verranno considerate simili fra loro tutte le bottiglie, cos`ı come tutte le tazze, i bicchieri, le posate, perfino scatole di dimensioni diverse e tutti quegli oggetti che sono diversi fra loro ma che vengono maneggiati praticamente allo stesso modo.

Quando arriva in ingresso un oggetto viene verificato se pu`o corrispondere a qualcuno di quelli gi`a esistenti, ovvero se rientra nel precedente concetto di somiglianza fra oggetti. In quel caso diventa nota anche la sua categoria. Se invece l’oggetto non sembra corrispondere ad alcun oggetto presente nel database, per via di eventuali differenze visibili, allora si deve procedere in modo iterativo per escludere categorie che non risultano attinenti.

Ultimamente infatti la ricerca `e diretta anche a trovare nuovi modi per descrivere oggetti tridimensionali in ottica di classificazione di categorie.

Oggetti sconosciuti

In questo scenario il sistema non `e a conoscenza dell’oggetto che gli si `

e presentato davanti, ovvero non possiede alcun dato nel database che cor- risponda all’oggetto incognito o che gli assomigli. Pertanto mancano anche esempi di grasp da sfruttare.

Il modo in cui si procede `e euristico per esclusione. Si tratta di creare corrispondenze fra la struttura dati proveniente dai sensori e tentativi di grasp da modificare.

Ci sono due possibili strade per creare un grasp da zero. Da un lato si pu`o basare il grasp sulle features 2D/3D dell’oggetto inquadrato, oppure si pu`o ricreare l’oggetto mediante forme geometriche primitive che operano un fitting sulla sua superficie, da questa forma approssimata poi viene ricavato un grasp.

In entrambi i casi vanno valutate diverse soluzioni secondo una stessa metrica e in seguito viene messa in pratica la migliore. Tuttavia la mancanza di somiglianze ed esperienza esula dagli scopi di questo progetto perch´e si ricondurrebbe a sistemi con modelli analitici precedentemente esposti.

Immagini RGB-D

4.1

Introduzione

Sia che si tratti di immagini fotografiche che di scene pi`u complesse multi- dimensionali per rappresentare l’informazione visiva di una scena che `e stata ripresa con un dispositivo, `e sempre necessario campionarla e codificarla, ovvero suddividere la scena in porzioni elementari e codificarle ciascuna in modo univoco. Nel caso della rappresentazione di oggetti tridimensionali si pu`o approssimare la superficie fisica continua con un insieme di punti con una certa risoluzione che dipende dalla qualit`a del dispositivo di ripresa. Questo insieme si chiama point cloud (figura 4.1).

Figura 4.1: Point cloud rappresentante un bollitore

Una point cloud `e una struttura dati usata per rappresentare un insieme di punti multi-dimensionali. Nel caso pi`u generale e semplice i punti sono tridimensionali, ovvero possiedono una terna di valori che rappresentano le

coordinate spaziali (x, y, z) rispetto ad un sistema di riferimento. Posso- no essere aggiunte altre informazioni come l’intensit`a luminosa oppure nello specifico pu`o anche possedere coordinate cromatiche RGB; man mano che si aggiungono informazioni di varia natura aumentano anche i canali che rap- presentano il punto, o le sue dimensioni, approfondendo i dettagli della sua descrizione.

Le point cloud possono essere ottenute tramite dispositivi in grado di riprendere e rappresentare una realt`a tridimensionale. Esistono dispositivi che rilevano solo la posizione nello spazio rispetto al punto di osservazione, quindi aggiungono profondit`a alla semplice fotografia, altri che rilevano anche luminosit`a e colore. Possono essere RGB-D camera (ad esempio Kinect), stereo camera, 3D laser scanner, Time-of-flight camera. Si possono anche creare sinteticamente tramite software.

In linea di massima sfruttano tutte le stesso principio di riflessione di raggi di luce, ovvero onde elettomagnetiche a una certa lunghezza d’onda determinata dalla tecnologia specifica. Si differenziano per le modalit`a di interpretazione dell’onda che pu`o andare dalla misura del tempo di volo a quella di inter-tempi fra impulsi, oppure dagli sfasamenti dell’onda fino all’os- servazione di come si modifica un pattern luminoso che incide sulla superficie ripresa.

I laser hanno la particolarit`a di analizzare l’oggetto a linee scandendo meccanicamente lungo alla scena (anche intorno ad essa), mentre le altre tipologie osservano direttamente i pixel, ovvero le regioni elementari dello spazio al di sotto della quale non riescono a percepire stimolo visivo. Le stereo camera sono formate da una coppia di macchine fotografiche dette ca- mere metriche, le cui risposte combinate permettono di misurare gli oggetti inquadrati. Gli scanner utilizzano pattern luminosi proiettati sulla scena e rilevano la variazione da essa prodotta. Le altre tipologie si basano invece sull’analisi della riflessione dei raggi luminosi proiettati sulla scena, dei loro tempi e di eventuali sfasamenti prodotti; le RGB-D possiedono anche sensori per rilevare la componente cromatica e la ricostruiscono sui dati tridimensio- nali rilevati. RGB-D sta per immagini a colori RGB (Red-Green-Blue) che possiedono anche il canale D, ovvero depth o distance, profondit`a o distanza a sua volta codificata.

Un’immagine bidimensionale `e composta da pixel posizionati nel quadro o frame video tramite coordinate x, y, rispettivamente orizzontale e verticale. Un’immagine tridimensionale possiede anche il parametro z che memorizza la profondit`a o distanza di quel punto rispetto all’osservatore.

Per tutte queste caratteristiche `e preferibile utilizzare immagini tridimen- sionali rispetto alle classiche fotografie bidimensionali. Infatti l’applicazione richiede di poter percepire la profondit`a, dato che il braccio robotico de-

ve muovere i suoi arti sapendo la posa dell’oggetto nello spazio reale. Te- lecamere che producono dati con informazioni tridimensionali sono quindi indispensabili per un sistema di questo tipo.

Esistono anche altri formati di rappresentazione per dati inerenti a oggetti tridimensionali ma il formato scelto `e quello della point cloud perch´e `e quello pi`u elementare e velocemente acquisibile in un contesto realtime. Ci sono formati pi`u complessi, come per esempio le mesh di poligoni che riproducono l’oggetto mediante giustapposizioni di forme geometriche primitive. La pont cloud offre una rappresentazione pi`u semplice soltanto da un punto di vista relativo, ma gi`a da sola consente di ricostruire la forma solida degli oggetti inquadrati; con essa `e possibile stimare le superfici osservando le coordinate dei punti, inoltre si presta ad essere memorizzata in modo efficiente e ad essere descritta secondo svariati algoritmi, anche molto esaustivi.

(a) Pentola (b) Tazza

(c) Recipiente