. 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 oggeo è effeuato con più di un posizionamento del dispositivo di scansione, e questo avviene nella maggior parte dei casi pratici.
Nel nostro caso l’oggeo è di grandi dimensioni e per questo non entra in un’u- nica finestra di scansione. Nel caso di oggei piccoli, quando si voglia effeuare il rilevamento completo della superficie, è necessario un minimo teorico di quaro viste se gli oggei sono convessi. Spesso sono necessarie più viste, per il problema dei soosquadri (fig.).
Figura : Problema dei soosquadri. 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 trao continuo. Le zone in grigio chiaro, medio e scuro sono visibili in stereoscopia rispeivamente 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 deagli (feature recognition);
- metodi numerici che sfruano la ridondanza di informazioni nelle zone di sovrapposizione.
Il tracciamento del moto consiste nel rilevamento della posizione reciproca di scanner e oggeo 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’oggeo su una tavola rotante. Un’altra pos- sibilità è il tracciamento oico dello scanner: si pongono su di esso opportuni contrassegni (marker) che vengono rilevati da un sistema oico indipendente e fisso.
Il riconoscimento dei deagli consiste nell’individuare punti corrispondenti sulle immagini. I punti vengono riconosciuti mediante qualche particolarità del- l’oggeo, per esempio il disegno di una forma geometrica, uno spigolo, un graffio. esto tipo di deagli vengono riconosciuti da un operatore; il soware deve pre- vedere la selezione dei punti tramite un dispositivo di puntamento (mouse).
Il deaglio 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 aivo. 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 prospeicamente.
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 oico.
to rigido. Non saranno del tuo identiche per due motivi: la dispersione statistica delle misure e il differente campionamento.
Il conceo 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 effeuao un allineamen- to preliminare, sia pure grossolano. In molti casi questa fase viene effeuata inte- raivamente 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 aivo.
La precisione dei metodi di tracciamento del moto dipende degli strumenti di misura con cui questo è stato effeuato; in genere è inferiore a quella degli scanner. Un discorso analogo vale per i metodi che si affidano al riconoscimento dei deagli. 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 perfeamente 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 deagli ben riconoscibili, come spigoli o altre asperità.
Algoritmi di registrazione del tipo dell’ICP sono oggi disponibili nei soware di
commerciali dedicati al reverse engineering.
. Tracciamento dello scanner
Nel lavoro svolto, l’allineamento delle nuvole di punti è stato effeuato 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 introdoo 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 è descria 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 rispeo al proprio basamento, determinata dalle coordinate dei
giunti, dalla posizione assoluta rispeo 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 oo 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 soware del robot con TBE = T1(ξ1)· · · T8(ξ8)
e TF B è misurata con la stazione totale ogni volta che si sposta il basamento.
La dipendenza delle matrici dei giunti dalle rispeive 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 dia produrice, o comunque secondo le loro istruzioni. I parametri
TK1, . . . , TK3riguardano le guide lineari e il posizionamento di queste rispeo al
basamento e al primo membro del braccio robotico; sono stati misurati dalla dia che si è occupata della costruzione e messa a punto del sistema robotico dedicato, e non è stato possibile conoscere i deagli. La stessa dia si è anche occupata della misura di TES; questa procedura coinvolge direamente lo scanner e è descria
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 quaro target. esta viene tenuta ferma rispeo al basamento del robot, e anche rispeo 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 rispeo all’end effector. L’operatore manovra il robot fino a portare la punta dell’utensile a contao 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 rispeo a B, che ora è un sistema di riferimento fisso. Dei qE la posizione della punta dell’utensile
in E e ξ(i)le coordinate dei punti del robot al momento del contao 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 quaro target. Col soware di controllo dello scanner ven- gono selezionati i quaro punti centrali dei target e si oengono le loro coordinate
qiS.
Si oiene 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 soodeterminato, 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 rifleere 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: dei 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 : dei 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 tui e cinque i punti di riferimento. Deo 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 soware 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 tui e cinque i punti. esto requisito non è facile da soddisfare, e va studiato con aenzione. In realtà, quando si effeuerà 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 effeuata. 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 tue le scansioni effeuate 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 permee 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 caraere generale per il fao che gli spostamenti rigidi del- le nuvole non sono traati 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.