RBF4Artist - Interactive sculpting with force feedback for engineering purposes

Pic 1

RBF4ARTIST - Interactive sculpting with force feedback for engineering purposes è un progetto di ricerca finanziato nell'ambito dell'iniziativa Uncovering Excellence dell'Università degli Studi di Rome "Tor Vergata". I Principal Investigator del progetto sono il Prof. Marco Evangelos Biancolini e il Prof. Pier Paolo Valentini afferenti al Dipartimento di Ingegneria dell'Impresa "Mario Lucertini". L’obiettivo del progetto è lo studio e l’implementazione di una metodologia per permettere la modifica interattiva delle forme geometriche con funzionalità. Tale metodologia combina le potenzialità della realtà aumentata, efficienti algoritmi di deformazione geometrica e l’uso di interfacce aptiche a ritorno di forza.

La metodologia può essere impiegata nelle attività di prototipazione virtuale ed ottimizzazione di forma per affrontare differenti problemi di ingegneria. Lo strumento sviluppato permette al progettista o disegnatore di modificare interattivamente delle geometrie esistenti mediante un elevata interazione con le relative rappresentazioni virtuali. L'interazione è potenziata dal feedback tattile che permette di "sentire" la forma e la consistenza delle figure virtuali. Il cuore della metodologia si basa sull’impiego di un modellatore basato sulle radial basis functions (RBF) ottimizzato per applicazioni in tempo reale. Tali algoritmi numerici sono integrati in un ambiente di realtà aumentata che incrementa il realismo e l'immersività dell'ambiente di progettazione. 

Un nuovo modo di concepire i prototipi virtuali

L’impiego dei prototipi virtuali sta diventando uno standard nell’intero processo ingegneristico. Il primo passo nella costruzione di tali prototipi riguarda la definizione delle geometrie tridimensionali, costruite combinando funzioni base per ottenere una forma finale complessa. L’approccio è particolarmente indicato per componenti meccanici, ma ha qualche limitazione per le forme complesse come le parti con funzionalità estetica o con geometria organica. Per la creazione di questi ultimi è possibile invece usare tecniche di sculpting virtuale. L’applicazione di queste tecniche per problemi ingegneristici è limitata perché richiede un addestramento prolungato, maggiori risorse computazionali e ha inoltre maggiori complessità applicative. Innanzitutto, richiede la presenza di strumenti di supporto alla modifica delle geometria che siano robusti ed efficienti.

Le azioni di sculpting sono spesso limitate a semplici varianti che mal si adattano ad implementare i vincoli funzionali necessari alle applicazioni ingegneristiche. L’impiego di geometrie tessellate e di relativi operatori di deformazione (mesh morphing) è una possibile soluzione per superare queste limitazioni. Le applicazioni di Grafica Computerizzata impiegano comunemente le tecniche di deformazione per l’animazione fluida di personaggi e forme complesse per le quali è più importante l’aspetto di realismo rispetto all’affidabilità del comportamento fisico. Una di queste tecniche è basata sui morpher a forma libera (FFD). Il metodo FFD non richiede la discretizzazione di superfici e volumi (metodo meshless) e produce forme molto regolari, ma manca di precisione e rende difficile prescrivere campi di deformazione esatta (molto spesso richiesto in ingegneria). Inoltre non si presta alla modellazione diretta dele superfici visto che i punti di controllo sono posizionati ai vertici dei box di deformazione. Un'altra tecnica che non richiede la discretizzazione si basa sull’interpolazione mediante radial basis functions (RBF). L'uso delle RBF come uno strumento di modellazione geometrica è ancora confinato ad applicazioni specifiche perché non sono disponibili procedure standard per la selezione dei punti delle RBF e il metodo risulta particolarmente attraente per problemi legati alla grafica computerizzata. Uno degli ostacoli alla diffusione dei morpher basati sulle RBF per applicazioni ingegneristiche è sempre stata l'elevata complessità computazionale dell’implementazione numerica. Le funzioni di supporto necessarie alla deformazione di discretizzazioni ad alto numero di elementi hanno costi computazionali che crescono con il cubo del numero dei centri scelti per la definizione del problema. La prima soluzione industriale di mesh morphing basata sulle RBF è stato introdotta nel 2009 con l’applicativo RBF Morph, originariamente concepito come un aggiunta per il solutore fluidodinamico ANSYS Fluent e successivamente implementato come applicativo stand-alone, adottato come tecnologia di mesh morphing all’interno del progetto europeo RBF4AERO, finanziato nell’ambito del 7° Programma Quadro.

Nonostante la varietà di applicazioni CAE, è importante sottolineare che l’inserimento degli strumenti di deformazione in simulazioni ingegneristiche rimane un compito complicato e delicato. Mentre le funzionalità di modellazione standard (cioè estrusione, taglio, sweep e loft) seguono procedure rigide, un atto di deformazione ha molti più gradi di libertà e l'esecuzione di operazioni di modellazione su un prototipo virtuale utilizzando un monitor 2D rende difficile la percezione dello spazio tridimensionale, limitandone le potenzialità e le applicabilità.

Panoramica della metodologia

L’obiettivo del progetto RBF4Artist è la definizione e l'implementazione di uno strumento avanzato di modifica geometrica a fini ingegneristici, con elevate caratteristiche di interattività e prestazioni di calcolo. Per aumentare l'interazione, la metodologia è implementata in un ambiente di realtà aumentata (AR). L'AR è una metodologia emergente, in cui il mondo reale e i contenuti virtuali sono fusi insieme dando l'illusione all’utente di trovarsi di un mondo unico. Attualmente, la maggior parte della ricerca sulla AR riguarda l'uso di video che vengono acquisiti, processati in tempo reale ed aumentati mediante l'aggiunta di elementi grafici digitali. La letteratura scientifica riporta un crescente interesse per lo sviluppo di applicazioni di realtà aumentata in diversi settori tecnici e accademici. Grazie alla disponibilità di risorse hardware facilmente accessibili, negli ultimi anni c'è stato un aumento esponenziale di studi che dimostrano la capacità della AR per attività ingegneristiche dalla modellazione, all'assemblaggio e alla simulazione. Per lo scopo specifico dello studio presentato, la realtà aumentata permette uno spazio coinvolgente in cui l'utente può esplorare la geometria in esame in modo più realistico e facilita quindi le operazioni di modifica e deformazione.

Il livello di interazione tra l'utente e la scena aumentata è incrementato anche dall'integrazione di un dispositivo aptico in grado di dare una forza di retroazione. Un dispositivo aptico può ricreare il senso del tatto applicando forze, vibrazioni o movimenti alla mano dell’utente. Questa stimolazione può essere utilizzata per aiutare nella creazione, nel controllo e nella modifica di oggetti virtuali all’interno di una simulazione computerizzata. In questo modo, l'utente può "toccare e sentire" le geometrie virtuali ed è guidato da forze reali opportunamente generate. La realtà aumentata e il dispositivo aptico sono inseriti in un ambiente in cui è possibile eseguire le azioni di deformazione e modifica geometrica. La tecnica di deformazione si avvale della libreria Fast-RBF di RBF Morph. La libreria è concepita per la gestione di grandi modelli CAE (fino a 1 miliardo di nodi) e permette il calcolo in tempi molto veloci.

Pic 1

I dettagli dell'implementazione

Generalità

La metodologia messa a punto fa uso di dispositivi di input, elaborazione e output. Il dispositivo video di input è una fotocamera USB Microsoft LifeCam VX6000, in grado di catturare fotogrammi fino a 30 Hz con una risoluzione HD. Il display di uscita è un visore a casco dotato di display OLED (visore Z800 3D eMagin) che è in grado di supportare in stereovisione fino ad una risoluzione di 800 × 600 pixel per ogni occhio. La fotocamera è rigidamente montata sul display al fine di riprodurre un casco completo per la Realtà Aumentata. Il dispositivo Geomagic Touch X è impiegato sia come periferica di ingresso sia come periferica di uscita e realizza le funzioni di interfaccia tattile; è in grado di monitorare e registrare la posizione spaziale del suo stilo. Può essere afferrato dall'utente e può essere utilizzato come un mouse spaziale. Allo stesso tempo, i tre motori in corrispondenza dei giunti principali forniscono coppie resistenti programmabili in grado di restituire all'utente una retroazione di forza lungo le tre direzioni spaziali. Tutte le procedure di calcolo necessarie per gestire le interfacce di input e output sono sviluppate in linguaggio C ++ utilizzando l’ambiente di sviluppo Microsoft Visual Studio. Un marker stampato fa parte della scena per consentire la corretta registrazione in tempo reale della posizione nel mondo reale degli oggetti virtuali, come avviene nella maggior parte delle implementazioni di realtà aumentata basate su marker. Tutte le procedure per il riconoscimento del marker nella scena e il calcolo delle trasformazioni relative tra fotocamera e marker sono state programmate utilizzando le librerie open-source ARToolKit che sono ampiamente utilizzate per applicazioni di realtà aumentata, soprattutto in ingegneria. La comunicazione tra il dispositivo aptico e la scena aumentata è gestita mediante le librerie Geomagic OpenHaptic. L’intero calcolo è svolto utilizzando una workstation E4 dotata di due processori Xeon E5-2680v2, 128 GB di RAM e una scheda grafica NVIDIA Quadro K4000.

Integrazione in Realtà Aumentata

Nella scena viene posto un marker stampato ed è saldamente montato su un supporto rigido. L'utente può afferrare il marker e muoverlo nello spazio. Il processore del computer interpreta il flusso video proveniente dalla telecamera sul visore, riconosce il marker nella scena e calcola la trasformazione di coordinate tra la telecamera e il mondo reale. Questa informazione viene memorizzata e utilizzata per la resa grafica di tutti gli oggetti virtuali nella scena. Il calcolo della corretta trasformazione prospettica è molto importante per una corretta collimazione tra oggetto virtuale e mondo reale per dare l’illusione di un unico mondo reale. Poiché tutti gli oggetti virtuali della scena vengono rappresentati utilizzando la sopra menzionata trasformazione, la traslazione/rotazione del marker è tradotta in una traslazione/rotazione degli oggetti stessi, rendendo più naturale ed intuitiva l'esplorazione del mondo virtuale. Al fine di raggiungere un elevato livello di realismo e interazione, il dispositivo aptico deve essere completamente integrato nel flusso di lavoro basato sulla realtà aumentata. Il Geomagic Touch X è un braccio robotico con un meccanismo a catena aperta composto da tre membri. La configurazione istantanea viene misurata grazie a degli encoder montati sulle articolazioni per calcolare l'angolo relativo tra membri adiacenti. Il meccanismo possiede sei gradi di libertà, per cui è possibile monitorare sia la posizione sia l’orientamento del suo end-effector (uno stilo simile ad una penna). Le tre principali articolazioni sono azionate da motori, dando la possibilità di esercitare una forza di reazione lungo le tre direzioni principali. E’ possibile accedere ai parametri di tracciamento (input) e impostare le forze esercitate dal dispositivo aptico (output) mediante le librerie OpenHaptic. Il sistema consente di acquisire la posizione e l’orientamento dello stilo e di imporre una forza di reazione.

Forze di feedback tattile

Un elemento chiave per interagire con la scena aumentata è dato dalla capacità di poter avere una retroazione di forza. Come già accennato in precedenza, il Geomagic Touch X è anche in grado di esercitare una forza spaziale applicata allo stilo. Poiché lo stilo viene afferrato da parte dell'utente, la forza di reazione viene direttamente trasferita alla mano ed è quindi interpretata come una sensazione tattile. Il dispositivo è altamente programmabile e questo dà la possibilità di creare una varietà di effetti di forza. Nel progetto RBF4ARTIST sono stati implementati due tipi di risposta. Il primo è legato alla interazione con oggetti virtuali nella scena. Poiché gli oggetti virtuali sono dei semplici contenuti grafici, come avviene nella maggior parte delle implementazioni in realtà aumentata, l'interazione con l’utente è limitata soltanto all’effetto visivi. Nel mondo reale, se si tocca un oggetto, se ne può intuire la forma fisica grazie al feedback tattile, che è generato dalla forza di contatto tra le dita e le superfici. Per questo motivo, ogni oggetto nella scena deve produrre una reazione nel momento in cui l'utente viene in contatto con la loro superficie.

L'interfaccia tra il mondo reale e la scena aumentata è lo stilo del dispositivo aptico e pertanto il sistema deve verificare in tempo reale la condizione di contatto tra lo stilo e gli oggetti virtuali. A tale scopo è necessario monitorare in modo continuo la distanza tra la punta dello stilo e le superfici di tutti gli oggetti attivi nella scena. Quando la distanza diventa negativa (cioè viene rilevata una penetrazione), il sistema genera una forza di reazione per prevenire la sovrapposizione tra le geometrie. La direzione della forza di reazione è parallela al vettore normale comune nel punto di contatto e l'ampiezza della forza è impostata proporzionale alla distanza di penetrazione moltiplicata per un fattore di penalità. Nel caso di superficie ruvida viene introdotto anche il contributo della forza di attrito. Il secondo tipo di feedback è legato agli elementi virtuali di ausilio alle operazioni di puntamento e selezione. Essi non sono oggetti fisici, ma sono entità grafiche o concettuali che guidano l'utente attraverso le varie operazioni di modellazione. Uno degli elementi di ausilio più semplici è lo "snap ad oggetto". Lo snap è utile per facilitare la selezione di punti, linee, bordi o altre entità geometriche. Quando l'utente si avvicina all’oggetto da selezionare viene attratto da esso, così da poter raggiungere la posizione esatta dell'entità desiderata. Lo snap è molto comune nelle applicazioni informatiche che si occupano di geometrie. Grazie al ritorno di forza, è possibile generare la forza di attrazione utilizzando il dispositivo aptico. La corretta definizione dell’azione di snap richiede la definizione della distanza di influenza e del guadagno di attrazione per produrre una forza di feedback calcolata come funzione dipendente dalla distanza tra la punta dello stilo e la posizione da selezionare. Altri elementi di ausilio possono essere i righelli e le linee di costruzione o riferimento utili per guidare lo spostamento della punta dello stilo lungo una direzione specifica.

Ulteriori tipologie di forze fittizie possono essere definite in modo analogo per arricchire maggiormente la scena.

Modellazione basata sulle Radial-Basis Functions

Il concetto dietro ai morpher basati sulle RBF è proprio l'uso di specifiche funzioni (Radial Basis Functions) per produrre una soluzione robusta e regolare del campo di deformazione a partire da un gruppo di punti di riferimento e dai loro spostamenti (punti sorgente). Le RBF sono uno strumento molto potente per interpolare punti discreti all'interno di uno spazio n-dimensionale. Esistono diverse tipologie di RBF che possono essere impiegate al fine di adattarsi al problema specifico. Le funzioni radiali possono essere a supporto completo o compatto e possono essere completate da una funzione polinomiale per garantire la compatibilità con lo spostamento richiesto. In generale, la funzione di interpolazione è quindi costituita da una funzione scalare radiale e un polinomio correttivo. Il concetto alla base dei morpher RBF consiste nel mappare un campo di spostamento definito sulla nuvola di punti sorgente su una nuvola di punti bersaglio garantendo un andamento regolare. L’implementazione può essere specializzata in diversi modi e utilizza un approccio gerarchico in cui singoli punti controllano le curve, le curve controllano le superfici e quindi i volumi. Gli interpolanti RBF (lineari o cubici) gestiscono tali corrispondenze. Vale la pena notare che grazie alla natura meshless delle RBF, le operazioni di modifica possono eseguirsi nello stesso modo sia su superfici rappresentate con pochi punti, che ben si prestano all’interazione e alla visualizzazione in tempo reale, sia per griglie molto fitte necessarie per gli studi fluidodinamici o strutturali. Tale sincronizzazione viene realizzata mantenendo invariata la distribuzione dei punti sorgente (ed i relativi coefficienti della RBF) e utilizzando come target rispettivamente le posizioni nodali della griglia rada e fitta, entrambe riferite alla stessa superficie.

Un esempio applicativo

Per dimostrare l’approccio RBF4ARTIST si è considerata la modifica geometrica della superficie del cofano di un’autovettura. L’esempio è proposto nel video sottostante.

Pic 1

La geometria è introdotta nella scena come insieme di elementi quadrangolari (500 elementi in totale).

All'inizio della procedura, l'utente afferra lo stilo del dispositivo aptico (sulla destra dell'immagine) e può muovere liberamente la sua replica virtuale nello spazio aumentato. La replica è raffigurata come un oggetto virtuale e la posizione e l’orientamento vengono aggiornate in base alla posizione e all’orientamento del dispositivo di input tattile ad ogni fotogramma. L'unico feedback tattile in questa fase è la forza dovuta al contatto tra la punta dello stilo e la geometria. La forza, che viene calcolata secondo l'algoritmo descritto nella sezione precedente, impedisce la compenetrazione tra la punta dello stilo e la geometria. Una volta a contatto, se l'utente sposta la punta lungo la superficie, può "sentire" la forma e le sue caratteristiche geometriche, con un elevato livello di dettaglio e realismo. D'altra parte, l’utente può anche decidere di staccarsi dalla superficie e in questo caso, il feedback tattile termina.

Premendo un pulsante sullo stilo tattile, l'utente può disegnare i punti geometrici (i punti sorgente dell’algoritmo di morphing) sulla superficie. In questa fase, al fine di garantire un posizionamento corretto e preciso tra i punti e la superficie, il feedback tattile restituisce una forza bidirezionale che vincola la punta dello stilo sulla superficie. Mentre l'interazione di contatto unilaterale standard produce un forza di reazione solo per prevenire la penetrazione, le forze di attrazione sono in grado di prevenire anche distacco.

Nella terza fase, l'utente può selezionare ciascun punto disegnato e lo può spostare lungo una delle direzioni principali. L’utente muove lo stilo che viene attratto dal punto usando una forza fittizia. Dopo aver premuto il tasto per confermare la selezione, dei righelli virtuali vengono aggiunti alla scena aumentata. Questi strumenti di ausilio guidano lo spostamento del punto selezionato lungo una direzione specifica. Tacche virtuali aiutano nella definizione della corretta ampiezza dello spostamento. Sia i righelli sia le tacche offrono un feedback tattile mediante un ritorno di forza, in modo che l'utente può avere una percezione fisica della loro presenza.

Dopo lo spostamento dei punti, tutti i nodi della geometria iniziale vengono deformati utilizzando l'intero set di punti di schizzo come punti di controllo. È possibile eseguire una deformazione sincrona (l'algoritmo RBF è risolto in tempo reale ad ogni fotogramma video) o asincrona (l'algoritmo è risolto solo dopo lo spostamento di tutti i punti di controllo). Dopo un atto di deformazione, l'utente può rivedere e confrontare la geometria modificata rispetto a quella iniziale e predisporre un'altra procedura di modifica. La configurazione ottenuta può essere quindi trasferita ad un ambiente di modellazione o simulazione specifico. Il tempo necessario al calcolo delle deformazioni dipende dalle risorse di calcolo disponibili (e dalle capacità HPC se presenti).

Per approfondire

P.P. Valentini, M.E. Biancolini, Modellazione interattiva integrando Realtà Aumentata, Morphing Geometrico e Interfacce Aptiche, Analisi e Calcolo, n. 78 - Gennaio/Feggraio 2017