• Non ci sono risultati.

. Metodi per l’allineamento

L’allineamento, o registrazione, delle nuvole di punti (cloud point alignment o

registration) consiste nel ricondurre le coordinate dei punti a un comune sistema

di riferimento; la necessità dell’allineamento si presenta ogni volta che il rilievo di un oggeo è effeuato con più di un posizionamento del dispositivo di scansione, e questo avviene nella maggior parte dei casi pratici.

Nel nostro caso l’oggeo è di grandi dimensioni e per questo non entra in un’u- nica finestra di scansione. Nel caso di oggei piccoli, quando si voglia effeuare il rilevamento completo della superficie, è necessario un minimo teorico di quaro viste se gli oggei sono convessi. Spesso sono necessarie più viste, per il problema dei soosquadri (fig.).

Figura : Problema dei soosquadri. In questo esempio si riesce a rilevare l’intera cavità usando tre postazioni. La regione accessibile in stereoscopia dalla postazione 1 è delimi- tata da linee a trao continuo. Le zone in grigio chiaro, medio e scuro sono visibili in stereoscopia rispeivamente da una, due o tre postazioni.

Lo scanner fornisce le nuvole di punti in un sistema di riferimento a lui soli- dale, o locale. Ricondursi a un sistema di riferimento comune, o globale, significa

determinare, per ogni nuvola, i parametri della trasformazione rigida dal sistema locale a quello globale.

Esistono diversi metodi per operare l’allineamento, che possiamo classificare in

- tracciamento del moto;

- riconoscimento di deagli (feature recognition);

- metodi numerici che sfruano la ridondanza di informazioni nelle zone di sovrapposizione.

Il tracciamento del moto consiste nel rilevamento della posizione reciproca di scanner e oggeo per mezzo di un sistema indipendente. Si può usare una macchi- na di misura a coordinate (: coordinate-measuring machine), oppure si può montare lo scanner su un robot o l’oggeo su una tavola rotante. Un’altra pos- sibilità è il tracciamento oico dello scanner: si pongono su di esso opportuni contrassegni (marker) che vengono rilevati da un sistema oico indipendente e fisso.

Il riconoscimento dei deagli consiste nell’individuare punti corrispondenti sulle immagini. I punti vengono riconosciuti mediante qualche particolarità del- l’oggeo, per esempio il disegno di una forma geometrica, uno spigolo, un graffio. esto tipo di deagli vengono riconosciuti da un operatore; il soware deve pre- vedere la selezione dei punti tramite un dispositivo di puntamento (mouse).

Il deaglio da individuare può essere un contrassegno aggiunto appositamen- te per la scansione (fig. ). in questo caso il procedimento è automatizzabile, e sistemi di tracciamento automatico sono stati realizzati, ma è ancora un campo di ricerca aivo. Per comprendere la difficoltà, si consideri che i contrassegni, per essere distinguibili uno dall’altro, devono avere una codifica; se la codifica è nella forma, bisogna risolvere il problema del riconoscimento automatico di un’imma- gine deformata prospeicamente.

Le finestre di scansione presentano delle zone di sovrapposizione, in cui alcune porzioni di superficie vengono rilevate più di una volta e costituiscono una ridon- danza di informazione. Le nuvole di punti che rappresentano una stessa porzione di superficie devono essere, in un certo senso, identiche, a meno di uno spostamen-

Figura : Un tipico esempio di marker per tracciamento oico.

to rigido. Non saranno del tuo identiche per due motivi: la dispersione statistica delle misure e il differente campionamento.

Il conceo può essere formalizzato definendo una funzione matematica che dia una misura della distanza media fra punti corrispondenti delle superfici da so- vrapporre. Il problema dell’allineamento si traduce così nel cercare gli spostamenti rigidi che minimizzano tale funzione. Gli algoritmi utilizzati sono l’iterative closest point (ICP; Zhang) e le sue varianti (Bernardini et al.).

L’algoritmo ICP converge se sono note, almeno in modo approssimato, le zone di sovrapposizione; perciò è necessario che sia già stato effeuao un allineamen- to preliminare, sia pure grossolano. In molti casi questa fase viene effeuata inte- raivamente da un operatore. Il calcolo automatizzato dell’allineamento iniziale è un problema estremamente difficile da risolvere. Le tecniche di automatic feature matching costituiscono un campo di ricerca aivo.

La precisione dei metodi di tracciamento del moto dipende degli strumenti di misura con cui questo è stato effeuato; in genere è inferiore a quella degli scanner. Un discorso analogo vale per i metodi che si affidano al riconoscimento dei deagli. Gli errori dell’ICP sono dello stesso ordine di grandezza di quelli dello scanner, nei casi migliori. Dipendono però fortemente dalla presenza di punti aberranti (ou- tlier) nelle nuvole e dalla forma della superficie stessa. Per esempio, non c’è modo di sapere quale, degli infiniti modi di sovrapporre due porzioni di una superficie perfeamente cilindrica, o sferica, sia il “migliore”. In generale, il problema si pre- senta quando, nella zona di sovrapposizione, la curvatura varia poco e non sono presenti deagli ben riconoscibili, come spigoli o altre asperità.

Algoritmi di registrazione del tipo dell’ICP sono oggi disponibili nei soware  di 

commerciali dedicati al reverse engineering.

. Tracciamento dello scanner

Nel lavoro svolto, l’allineamento delle nuvole di punti è stato effeuato con tracciamento del moto. Non si è usato l’algoritmo ICP perché la superficie dello scafo ha curvatura piccola e poco variabile: l’applicazione dell’algoritmo avrebbe introdoo errori molto più grandi di quelli di partenza.

ando un robot è utilizzato da una postazione fissa, uno dei suoi membri, il

basamento, è fermo, e la posizione del robot è descria completamente dalle coor-

dinate dei giunti. Nel nostro caso il basamento viene spostato, per accedere all’in- tera area di lavoro, con un sistema di movimentazione guidato manualmente da un operatore, senza riferimenti geometrici. La posizione del basamento è misurata a posteriori con l’impiego di una stazione totale, e bisogna distinguere la posizione

relativa del robot rispeo al proprio basamento, determinata dalle coordinate dei

giunti, dalla posizione assoluta rispeo a un sistema di riferimento fisso. Indichiamo i sistemi di riferimento con

F : fisso,

B : solidale al basamento, E : solidale all’end effector,

S : solidale allo scanner.

Le coordinate cartesiane di un punto in S siano

pS = (pSx, pSy, pSz).

Sia poi tES la posizione dell’origine di S in E e RES l’orientamento di S in E.

È comodo utilizzare le coordinate omogenee

qS = (pS, 1) = (pSx, pSy, pSz, 1)

e introdurre la matrice di rototraslazione

TES = ( RES tES 0 1 ) ,  di 

così la trasformazione di coordinate da S a E si scrive

qE = TESqS.

L’allineamento delle nuvole di punti consiste semplicemente in un cambio di sistema di riferimento, che possiamo scrivere

qF = TF BTBE(ξ)TESqS

dove si è messa in evidenza la dipendenza di TBE dagli oo g.d.l. del robot ξ =

1, . . . , ξ8). In questa formula, qSè la misura dello scanner, ξ è la misura degli en-

coder del robot, TBEè calcolata dal soware del robot con TBE = T11)· · · T88)

e TF B è misurata con la stazione totale ogni volta che si sposta il basamento.

La dipendenza delle matrici dei giunti dalle rispeive coordinate si può espli- citare con

T1 = TK1τ (ξ1)

e formula analoga per T2 (guide lineari) e con

T3 = TK3ρ(ξ3)

e formule analoghe per i rimanenti giunti (rotoidali), dove TK1, . . . , TK8sono co-

stanti e τ (ξi) =       1 ξi 1 1 1      , ρ(ξi) =       1

cos ξi − sin ξi

sin ξi cos ξi 1      .

L’identificazione del robot consiste nella determinazione dei parametri costanti

TK1, . . . , TK8; per l’identificazione del sistema integrato robot+scanner è necessaria

anche la determinazione di TES.

I parametri TK4, . . . , TK8 fanno parte del braccio robotico e vengono misu-

rati dalla dia produrice, o comunque secondo le loro istruzioni. I parametri

TK1, . . . , TK3riguardano le guide lineari e il posizionamento di queste rispeo al

basamento e al primo membro del braccio robotico; sono stati misurati dalla dia che si è occupata della costruzione e messa a punto del sistema robotico dedicato, e non è stato possibile conoscere i deagli. La stessa dia si è anche occupata della misura di TES; questa procedura coinvolge direamente lo scanner e è descria

nel prossimo paragrafo.

. Identificazione della posizione dello scanner

Per l’identificazione della posizione TESdello scanner sull’end effector del ro-

bot si utilizza una tavola su cui sono fissati quaro target. esta viene tenuta ferma rispeo al basamento del robot, e anche rispeo al primo membro del brac- cio robotico, dal momento che non si utilizza il movimento delle guide.

Il procedimento consiste di due fasi. Nella prima fase si monta sull’end effector un utensile appuntito, di cui sono noti con precisione le dimensioni e la posizio- ne rispeo all’end effector. L’operatore manovra il robot fino a portare la punta dell’utensile a contao col centro del target, ne registra la posizione e ripete la procedura per gli altri target (fig.).

In questo modo vengono determinate la posizioni dei target rispeo a B, che ora è un sistema di riferimento fisso. Dei qE la posizione della punta dell’utensile

in E e ξ(i)le coordinate dei punti del robot al momento del contao con l’i-esimo

target, le posizioni dei valgono

qiB = TBE(ξ(i))qiE i = 1÷ 4.

Nella seconda fase, sull’end effector si monta lo scanner; l’operatore lo porta alla distanza di lavoro, registra la posizione ξ(S)del robot e utilizza lo scanner per

rilevare la tavola con i quaro target. Col soware di controllo dello scanner ven- gono selezionati i quaro punti centrali dei target e si oengono le loro coordinate

qiS.

Si oiene così il sistema di equazioni

qiB = TBE(ξ(S))TESqiS i = 1÷ 4

Figura : Identificazione della posizione dello scanner. che ponendo q(S) iE = TBE−1(ξ(S))qiBsi può riscrivere        q(S)1E = TESq4S ... q(S)4E = TESq4S ⇐⇒        p(S)1E = RESp1S+ tES ... p(S)4E = RESp4S+ tES

Con n ≤ 2 target il sistema sarebbe soodeterminato, perché le equazioni non

sono indipendenti. Con n ≥ 3 è sovradeterminato, e viene risolto nel senso dei

minimi quadrati, cioè cercando il valore di TESche rende minimo l’errore quadra-

tico ∑ i |RESpiS+ tES− p (S) iE| 2.

Il problema non è lineare, ma può essere risolto in modo efficiente.

. Stazione totale

Per misurare la posizione TF B della base del robot si è utilizzata una stazione

totale  . La stazione totale è un teodolite dotato di distanziometro la-  di 

ser, perciò è in grado di eseguire misure sia angolari che di distanza. L’accuratezza di questo strumento è di 0, 5” (dev. standard) per le misure angolari e di±0, 2 mm

su 100 m per le misure di distanza con . Inoltre la livella è in grado di indivi- duare il piano orizzontale con un’accuratezza di 0, 3”. La precisione delle misure di distanza dipende dal dispositivo su cui si fa rifleere il raggio laser. Si è utilizzato un  (corner cube reflector) di diametro 1, 5”. Il  è costituito da tre specchi fra loro perpendicolari, montati su un supporto sferico, con il vertice al centro della sfera.

Per definire il sistema di riferimento fisso F sono stati usati due  e la li- vella: dei F1, F2 i punti individuati dai , l’origine è posta in F1, il piano xy è

orizzontale e l’asse x ha la direzione della proiezione di F1F2sul piano xy.

Per definire il sistema di riferimento del basamento B sono stati usati tre : dei B1, B2, B3 i punti individuati dai , l’origine è posta in B1, il piano xy è

individuato dai tre punti, l’asse x ha la direzione di B1B2e l’asse y ha il verso che

forma un angolo acuto con B1B3.

La stazione totale deve essere messa in una posizione da cui siano visibili tui e cinque i punti di riferimento. Deo T il sistema di riferimento della stazione, la misura di F1, F2 consente di calcolare TT F e la misura di B1, B2, B3 consente di

calcolare TT B e quindi TF B = TT F−1TT B. Il soware della stazione totale facilita

questi calcoli.

I punti di riferimento vanno posizionati in modo che, per ogni posizione del basamento, sia possibile trovare una posizione per la stazione totale da cui sia- no visibili tui e cinque i punti. esto requisito non è facile da soddisfare, e va studiato con aenzione. In realtà, quando si effeuerà la lavorazione su uno sca- fo completo, serviranno più di due punti di riferimento fissi, e verranno definiti sistemi di riferimento ausiliari.

. Osservazioni sull’allineamento

Una valutazione dell’accuratezza e ripetibilità del robot e del sistema integrato robot+scanner non è stata effeuata. La scheda tecnica del braccio robotico indica

una ripetibilità di posizionamento di 0, 07 mm (dev. standard). È probabile che gli errori sulle guide siano molto più grandi, date le dimensioni.

I dati rilevati offrono comunque qualche spunto di riflessione. Osservando le nuvole di punti⁵, si è notato un errore sistematico della posizione angolare, che comporta distanze fino a 2 mm tra le superfici nelle zone di sovrapposizione. L’er- rore angolare è dunque approssimativamente

2/1000rad = 7′.

Gli errori sistematici dipendono dai procedimenti di identificazione di cui si è discusso nei paragrafi precedenti e rivelano che ci sono ampi margini di migliora- mento, probabilmente nei parametri che riguardano le guide.

Chiamiamo blocco di scansione l’insieme di tue le scansioni effeuate con un’unica posizione del basamento del robot. L’errore di allineamento fra scansio- ni di blocchi diversi non differisce apprezzabilmente dall’errore fra scansioni dello stesso blocco; questo permee di dire che il punto critico da migliorare nel sistema di calibrazione complessivo non è la misura di TF B con la stazione totale.

Un’altra considerazione riguarda la possibilità di correggere l’errore sistemati- co analizzando le nuvole, con un metodo di registrazione analogo all’ICP. esta strada richiede lo sviluppo di un algoritmo dedicato, che differisce dagli algoritmi di registrazione di caraere generale per il fao che gli spostamenti rigidi del- le nuvole non sono traati come variabili indipendenti; le variabili indipendenti saranno invece i parametri d’identificazione di cui si vuole affinare la stima, per esempio T1K, TES.

⁵La porzione di scafo su cui è stata eseguita la prova di lavorazione è stata ricoperta con  finestre di scansione.

Documenti correlati