3D MOTION CONTROLLER INTEGRATION IN INTERACTIVE FREE-FORM SURFACE MODELLING

10

Transcript of 3D MOTION CONTROLLER INTEGRATION IN INTERACTIVE FREE-FORM SURFACE MODELLING

Convegno Nazionale XIV ADM XXXIII AIAS

Innovazione nella Progettazione Industriale

Bari, 31 Agosto - 2 Settembre 2004

3D MOTION CONTROLLER INTEGRATION IN INTERACTIVE

FREE-FORM SURFACE MODELLING

Alfredo Liverani(1)

, Giancarlo Amati(1)

, Gianni Caligiana(1)

(1) Università degli Studi di Bologna, DIEM, [email protected]

Abstract

Nel presente lavoro si riportano i risultati ottenuti nella modellazione di superfici free-form

tramite l’integrazione di un controller a sei gradi di libertà (6DOF) e una tavoletta grafica, per

la realizzazione di un sistema di interazione a due mani. In generale, un controller 6DOF, è

impiegato per la gestione del punto di vista (telecamera virtuale) in un sistema

tridimensionale. Nel nostro caso, invece, a differenza dei sistemi CAD attualmente sul

mercato, il controller è stato impiegato per la creazione di modelli free-form in modo

sincronizzato con gli input della tavoletta grafica e non solo come ausilio per la

visualizzazione del modello.

L’interfaccia realizzata permette di disegnare in modo interattivo sul piano di lavoro che viene

ruotato e traslato mediante dalla mano sinistra mediante il controller 6DOF, mentre la mano

destra tratteggia lo sketch della curva intermedia di una superficie di skinning.

I risultati ottenuti sono stati che, dopo un breve periodo di apprendimento dell’uso del motion

controller, l’attività del designer è più concentrata alla creazione delle forme invece che

dedicare la sua attenzione all’interazione con il computer.

Keywords: 6DOF, interazione bi-manuale, modellazione a forma libera.

1. Introduzione

Lo sviluppo delle tecnologie informatiche hardware e software ha permesso ai sistemi CAD

di essere potenziati con molti strumenti dedicati al miglioramento, in fase di design

concettuale, dell’interazione uomo-macchina. La necessità dei designers è quella di trasferire

in modo rapido e intuitivo le idee di forma in modelli di superficie tali da permettere l’inizio

del lavoro di affinamento e valutazione delle versioni alternative.

Negli ultimi anni la scienza della Human Computer Interaction (HCI) ha aperto la strada a

studi molto interessanti sulle interfacce software e hardware e al loro miglioramento [7-10].

Alcuni autori hanno focalizzato l’attenzione sulla realizzazione di interfacce che minimizzino

la distrazione dell’operatore rispetto al lavoro primario di disegno e modellazione [9]. Infatti

l’interfaccia si trova sempre a scontrarsi con la necessità di essere il più possibile completa e

quindi ad occupare spazio sempre maggiore sullo schermo, quanto maggiori sono le

funzionalità offerte all’operatore. Di contro, l’area riservata alla modellazione viene ad essere

compressa costringendo il designer ad una spesa di tempo considerevole nella lettura ed

interpretazione dei comandi mostrati nei menu e sottomenu, oppure nelle icone grafiche.

2

Mentre in vari settori sono stati fatti passi avanti nel senso dello sviluppo di soluzioni

combinate hardware e software che potessero superare il problema dell’eccessiva attenzione

da parte dell’operatore sullo strumento piuttosto che sul disegno, purtroppo nel settore dei

sistemi CAD commerciali, i miglioramenti e le ottimizzazioni attuate sono stati finora

orientati a ridurre il numero complessivo dei “click”, ovvero le azioni richieste per arrivare al

risultato richiesto, e non alla ristrutturazione e ideazione di nuovi modi di lavorare e interagire

con il computer. In questo senso abbiamo visto proliferare un gran numero di “wizard”

(procedure guidate) con le quali l’operatore viene accompagnato attraverso varie scelte

semplici all’ottenimento del risultato. Ma, pur riconoscendo l’efficacia di questo comune

modo di risolvere il problema dell’interazione uomo-macchina, si possono ravvisare almeno

due problemi:

1) l’operatore non è in grado di sapere durante le scelte del wizard come risulterà la

forma finale (solo attraverso la conoscenza approfondita del sistema potrà figurarsi

una soluzione di massima);

2) l’interfaccia richiede comunque una gerarchizzazione di base dei comandi di

modellazione, atta ad impostare alcune procedure guidate. Questo approccio è

necessario per la semplificazione dei wizard stessi, che diversamente

presenterebbero una gran quantità di opzioni e scelte durante il percorso.

Un esempio tipico di questo approccio è la comune suddivisione dei comandi di modellazione

delle superfici in quattro schemi basilari, mostrati in Figura 1: a) superficie sweep; b)

superficie rigata; c) superficie di skinning, di tipo lofting o network; d) superficie patch.

Questi quattro comandi di modellazione fanno riferimento in realtà ad algoritmiche molto

simili per la creazione della superficie NURBS, ma vengono suddivisi in questo modo per

dare maggiore facilità di uso all’operatore quando interpreta una forma reale e per

semplificare a monte le operazioni di scelta richieste dal wizard di generazione.

Superficie sweep

Superficie skinning(lofting oppure network)

Superficie rigata

Superficie patch

Curva base (section)

Curva base (sections)Edge curves

Drive curve

(Path curve)

[anche non lineare]

Curva base (section)

Curva base (section)

Figure 1. Tipi di superfici che richiedono comandi diversi.

3

La manipolazione a due mani (two-handed paradigm) [1][2][3], è sicuramente la modalità di

interazione più vicina alla gestualità umana e molti autori hanno prodotto varia letteratura in

merito. I sistemi CAD moderni, però, sono ancora carenti nel fornire questo tipo di

interazione con l’utente e comunque si tratta di strumenti opzionali che non si integrano

completamente con l’ambiente di modellazione.

Solo nel campo della Realtà Virtuale sono stati sviluppati numerosi paradigmi di

modellazione bi-manuale completa, che però si rivela al momento piuttosto complessa da

introdurre nel campo industriale a causa dei costi dei sistemi e della necessità di riscrittura

delle interfacce software.

Nel presente articolo verrà illustrato l’esperimento di implementazione di completa

integrazione di uno strumento di input a sei gradi di libertà con lo scopo di superare il

paradigma dell’interfaccia basata su wizard e rendere più semplice e intuitivo la creazione

interattiva di superfici di qualsivoglia tipo mediante un’unica procedura intuitiva.

2. L’ambiente di sviluppo utilizzato.

2.1. L’hardware impiegato.

Il BM-CAD (Bi-Manual CAD) nasce sull’idea di poter muovere il piano di lavoro sul quale

l’operatore disegna la curva di sezione o di bordo di una superficie mediante uno strumento

tridimensionale che permetta spostamenti e rotazioni di un piano con 6 gradi di libertà. Il

sistema di movimento del piano inoltre dovrebbe superare le difficoltà di posizionamento

caratteristiche di molti ambienti di Realtà Virtuale, i quali richiedono complesse procedure di

messa a punto. Inoltre l’apparecchiatura dovrebbe essere in grado di far appoggiare la mano

dell’operatore sul tavolo di lavoro, evitando l’affaticamento procurato da numerose ore di

modellazione.

Lo strumento che risponde a queste esigenza è stato individuato nel CADMan della

3DConnexion, equipaggio già utilizzato in molti ambienti CAD per il movimento interattivo

della telecamera virtuale (punto di vista) (Figura 2 a sinistra). Il sistema fornisce due

spostamenti (x, y) nel piano del tavolo, come un classico mouse, e un terzo (z) mediante la

pressione in senso verticale della manopola mobile. Le rotazioni sono fornite dai movimenti

attorno agli assi menzionati in precedenza, garantendo in questo modo uno strumento di input

a sei gradi di libertà (6DOF).

Figura 2. Attrezzature che costituiscono l’hardware indispensabile al funzionamento del BM-CAD.

3DConnexion CADMan

Left hand

Wacom Intuos2

Right hand

3DConnexion CADMan

Left hand

Wacom Intuos2

Right hand

4

Mentre il CADMan è destinato alla movimentazione nello spazio del piano di sketch,

impegnando la mano sinistra, la mano destra interagisce con il classico mouse o con una

tavoletta grafica Intuos2 della Wacom (Figura 2 a destra). Questo strumento permette di

disegnare la curva di sezione o di contorno della superficie, vincolando direttamente l’input

dei punti di controllo a giacere sul piano di sketch (vedere anche Figura 4 a destra). Il

software consente l’uso contemporaneo dei due strumenti senza alcun appesantimento delle

operazioni di modellazione.

2.2. Le librerie software.

Il BM-CAD è stato sviluppando utilizzando varie librerie grafiche e geometriche che ne

garantiscono alcune caratteristiche particolarmente gradite in uno strumento di ricerca:

1) completa apertura del sorgente per quanto riguarda la GUI (Graphical User

Interface) e l’infrastruttura di gestione degli eventi;

2) una programmazione di tipo OOP (Object Oriented Programming) che facilita il

riutilizzo del codice e la sua corretta strutturazione;

3) la trasparenza nei confronti della gestione del database geometrico (B-Rep) a

vantaggio della velocità di scrittura del codice;

4) la gestione semplificata della visualizzazione grafica delle primitive;

5) il facile accesso alle chiamate di selezione degli oggetti geometrici mediante mouse

o altri strumenti di input;

L’assemblaggio di librerie software note e di ampia disponibilità e documentazione, ha

permesso il rispetto di tutte queste caratteristiche. Più in dettaglio BM-CAD è composto da:

A) Spatial ACIS Toolkit per il kernel geometrico e la gestione matematica del database

B-Rep;

B) Hoops 3D and TGS Open Inventor per la visualizzazione grafica della geometria;

C) Trolltech QT per la GUI (Graphical User Interface).

In Figura 3 è mostrato il layout generale e le connessioni tra i vari moduli e librerie.

Un aspetto che caratterizza il BM-CAD è la capacità di gestire indifferentemente primitive di

tipo B-Rep, e quindi con una descrizione matematica più raffinata, e primitive di basso livello

(mesh triangolari o quadrangolari) utilizzate dagli ambienti di Realtà Virtuale per ottenere il

massimo della velocità. Benché, come noto, la visualizzazione grafica delle primitive avvenga

sempre su una tassellazione (a volte interattiva) del set di primitive geometriche, il BM-CAD

è in grado di tenere in linea e mantenere sincronizzati il database B-Rep e uno scenegraph ad

oggetti, caratteristico degli ambienti di sola visualizzazione e interazione virtuale, come Open

Inventor e Hoops 3D. Il lavoro di sincronizzazione e conversione da primitive B-Rep in

triangle stripeset (mesh) per ottenere un’unica display list elaborabile dalle librerie OpenGL, è

svolto da una opportuna routine, denominata “mesh manager” che trasforma in modo

ottimizzato ogni sorta di elemento B-Rep in mesh triangolare. In questo modo sarà possibile

anche conservare, senza modifiche, le chiamate ai metodi che selezionano a video gli elementi

geometrici, purchè venga controllato se l’elemento individuato appartiene al database ACIS

(B-Rep) o allo scenegraph OIV (Open Inventor).

5

Geometric engine 3D viewing toolkit

Graphical User Interface

(GUI)

Geometric engine 3D viewing toolkit

Graphical User Interface

(GUI)

CAD Application� HOOPS3D

� Open Inventor

� Trolltech QT

�Microsoft MFC

� Trolltech QT

�Microsoft MFC

Figure 3. Struttura software e librerie utilizzate da BM-CAD.

Attraverso questo apparentemente complesso meccanismo è stato possibile sfruttare i

vantaggi di ACIS per quanto riguarda gli algoritmi ottimizzati e la ricerca veloce delle

primitive e, sull’altro versante, della gestione di primitive a basso livello. Inoltre BM-CAD è

in grado di leggere semplicemente sia modelli esterni di tipo ACIS (.sat), che di tipo VRML

(.wrl) allocandoli correttamente negli specifici dataset.

Inoltre, al fine di rendere il codice maggiormente portatile, sono state utilizzate per la

realizzazione della interfaccia grafica le librerie QT della Trolltech, che possono operare

senza riscrittura di codice sotto vari sistemi operativi (Windows, Linux…).

3. La procedura di modellazione.

3.1. Il piano di lavoro mobile.

La modellazione implementata in BM-CAD si fonda su due principi cardine:

1) posizionamento del piano di lavoro in modo interattivo (mano sinistra);

2) sketch della curva base mediante tavoletta grafica o mouse (mano destra).

Plane coordinate (6DOF) Curve section sketch (yellow) - control polygon (red)

Figura 4. Tracciamento di una curva base (section).

Il piano di lavoro, può presentarsi in modo allineato al piano di proiezione della camera

virtuale, come in Figura 4, ma anche posizionato in modo qualsiasi nello spazio, come in

6

Figura 5. Mentre il primo caso risulta essere la posizione tipica per la modellazione della

curva di sezione di una superficie NURBS ottenuta per skinning, il secondo caso, collegato ad

un sistema che ne consente il posizionamento interattivo con sei gradi di libertà, permette

l’eliminazione pressoché totale dei comandi di posizionamento spaziale del piano di lavoro.

La curva NURBS, disegnata per punti di controllo giacenti sul piano di lavoro, è visibile in

Figura 4 a destra e si presenta come operazione semplice e intuitiva, molto simile al

tracciamento della medesima su un qualsiasi sistema CAD. E’ possibile attivare e disattivare

mediante un tasto della tastiera la visualizzazione del poligono di controllo.

La tavoletta grafica per il tracciamento della curva non è considerata in BM-CAD uno

strumento vincolante per la realizzazione della procedura di modellazione corretta, ma può

rendere maggiormente spontaneo la disegnazione della curva stessa, soprattutto se guidata da

routine intelligenti di disegno assistito. In tal caso quindi il tratto della penna elettronica, pur

non staccandosi mai dalla tavoletta tra il primo punto della curva e l’ultimo, e pur tracciando

una geometria non propriamente regolare, viene interpretato e reso regolare mediante

l’individuazione automatica dei punti di controllo.

Raggiunta una certa posizione nello spazio, il piano di lavoro può essere utilizzato

direttamente o, mediante pressione di un tasto della tastiera, “messo in piano”, ovvero

riposizionata la camera virtuale in modo da disporsi sulla normale del piano stesso. In tal

modo risulterà particolarmente semplice il tracciamento della curva di sezione poiché non

presenti distorsioni dovute alla visione prospettiva od ortografica. Per il momento non è

prevista la possibilità di tracciare curve fuori dal piano di lavoro.

SKETCH PLANEROTATION

+TRANSLATION

SECTION 1SKETCH

SECTION NSKETCH

..............

1

3

2

4

Figura 5. Procedura di modellazione con BM-CAD.

7

La Figura 5 mostra una sequenza di immagini raccolta durante la modellazione di una

superficie NURBS attraverso quello che in altri sistemi CAD viene chiamato skinning. E’

chiaramente visibile il movimento del piano di lavoro nello spazio, dato da combinazioni di

rotazioni e traslazioni. Il tracciamento della prima curva (curva 0)(Figura 5 – fotogramma 2)

non comporta ancora la visualizzazione di alcuna superficie, ma già al termine del

tracciamento della curva 1 (Figura 5 – fotogramma 3) il sistema costruisce una superficie

NURBS mediante apposita chiamata al database ACIS, utilizzando le due curve tracciate.

Il ciclo, costituito da:

1) posizionamento del piano di lavoro;

2) tracciamento della curva di sezione;

3) eliminazione e ricostruzione della superficie con l’aggiunta della nuova

curva (ad ogni modifica il mesh manager interviene per produrre una mesh

della nuova superficie e renderla così visibile);

avrà termine soltanto a seguito di pressione di un apposito tasto della tastiera.

3.2. La visualizzazione interattiva.

Uno degli aspetti che maggiormente riprendono i fondamenti dei sistemi di Realtà Virtuale è

la possibilità di visualizzare, durante la generazione, la superficie complessa. Ovviamente la

visualizzazione è a passi, ciononostante l’operatore può avere un primo impatto su risultato

finale, apportando adeguate correzioni durante la creazione stessa e non solo a posteriori,

quando a volte si decide anche la cancellazione e ricostruzione dell’intera superficie.

Figure 6. Superficie finale con BM-CAD.

8

4. Conclusioni

Questo articolo riferisce dell’implementazione e degli esperimenti d’uso di una proposta

innovativa di interfaccia utente per un CAD destinato alla modellazione delle superfici

complesse (free-form surfaces). Tale nuovo approccio raccoglie alcune idee riguardanti

l’interazione uomo-macchina tridimensionale, ormai variamente sperimentate nei laboratori di

ricerca mondiali, per la visualizzazione e la modellazione. Più in particolare, mentre la totalità

dei sistemi CAD attualmente sul mercato impiega strumenti di input tridimensionali, come il

CADMan o il Magellan, soltanto per il movimento del punto di vista dell’osservatore, il BM-

CAD lo impegna, mediante un software apposito, nella gestione diretta del piano di lavoro,

integrandolo completamente nella sessione di modellazione. Quindi lo strumento di input 3D

diventa una parte essenziale e vitale della modellazione e non solo un accessorio al più utile.

Le prove condotte sul codice sviluppato per l’esigenza ha mostrato dei vantaggi immediati su

due fronti:

1) velocizzazione considerevole del piazzamento del piano di lavoro (sketching plane),

operazione notoriamente richiedente numerosi comandi e piazzamenti della camera

virtuale (punto di vista): infatti tutte queste operazioni non sono più necessarie,

essendo il piano di lavoro movimentato in tempo reale dalla mano sinistra

dell’operatore attraverso il CADMan;

2) compattazione dei comandi di istanziamento delle superfici in un’unica attività di

modellazione guidata soltanto dall’azione combinata dei movimenti del piano di

lavoro e dello sketching delle curve di sezione o di bordo.

I benefici del BM-CAD non si limitano però soltanto alla velocizzazione delle operazioni di

modellazione, ma anche alla realizzazione dell’instanziamento real-time delle superfici. Infatti

il codice sviluppato è stato pensato per la renderizzazione della porzione di superficie man

mano l’operatore abbia disegnato la curva di sezione. La verifica quindi della forma avviene

già durante la fase di generazione della forma e non, come nei migliori software di

modellazione di superfici free-form, al termine delle operazioni di impostazione delle curve

base.

In conclusione, il software sviluppato si presenta come un efficace ponte ideale tra le

interfacce attuali per la modellazione di superfici complesse e i più complessi e costosi

ambienti per la creazione e modifica di forme basati sui sistemi di Realtà Virtuale, mutuando

però da questi i concetti fondamentali di visualizzazione in tempo reale e interattività

tridimensionale.

Bibliografia

[1] L. Cutler, B. Frolich, and P. Hanrahan. Two handed direct manipulation on the

responsive workbench. Proc. of 1997 Symposium on Interactive 3D Graphics, pages

107--114, 1997.

[2] M.W. Gribnau, J.M. Hennessey, “Designers are two-handed. Bimanual, 3D interaction

techniques for computer supported conceptual modeling”. 4th Asian Design

Conference, Tokyo, Japan, 1999.

[3] C. Hummels, G. Smerts, K. Overbeeke. “An Intuitive Two-handed Gestural Interface

for Computer Supported Product Design”, in Gesture and sign language in human

computer interaction: proceedings, International Gesture Workshop, Bielefeld,

9

Germany, September 17-19, 1997. Berlin Heidelberg: Springer Verlag (1998), pp 197-

208.

[4] Buxton, W. & Myers, B. (1986). A study in two-handed input. Proceedings of CHI '86,

321-326.

[5] Grossman, T., Balakrishnan, R., Kurtenbach, G., Fitzmaurice, G, Khan, A. & Buxton,

W. (2002). Creating Principal 3D Curves with Digital Tape Drawing. Proceedings of

the 2002 ACM Conference on Human Factors in Computing Systems, CHI'02, 121-

128.

[6] Grossman, T., Balakrishnan, R., Kurtenbach, G., Fitzmaurice, G, Khan, A. & Buxton,

W. (2001). Interaction techniques for 3D modeling on large displays. Proceedings of

the 2001ACM Symposium on Interactive 3D Graphics, 17-23.

[7] Kabbash, P., Buxton, W.& Sellen, A. (1994). Two-Handed Input in a Compound Task.

Proceedings of CHI '94, 417-423.

[8] Kabbash, P., MacKenzie, I.S. & Buxton, W. (1993). Human performance using

computer input devices in the preferred and non-preferred hands. Proceedings of

InterCHI '93, 474-481.

[9] Kurtenbach, G., Fitzmaurice, G., Baudel, T. & Buxton, W. (1997). The design and

evaluation of a GUI paradigm based on tablets, two-hands, and transparency.

Proceedings of the 1997 ACM Conference on Human Factors in Computing Systems,

CHI '97, 35-42.

[10] Leganchuk, A., Zhai, S.& Buxton, W. (1998). Manual and Cognitive Benefits of Two-

Handed Input: An Experimental Study. Transactions on Human-Computer Interaction,

5(4), 326-359.