1 la Torre Berardino Force rendering & Collision detection Dipartimento di Ingegneria...

16
1 la Torre Force rendering Force rendering & & Collision Collision detection detection Dipartimento di Ingegneria dell’Informazione Siena 18-03-03 Ore 14.00-16.00 F 1 F 2

Transcript of 1 la Torre Berardino Force rendering & Collision detection Dipartimento di Ingegneria...

Page 1: 1 la Torre Berardino Force rendering & Collision detection Dipartimento di Ingegneria dellInformazione Siena 18-03-03 Ore 14.00-16.00 F1F1 F2F2.

1

la Torre Berardino

Force renderingForce rendering&&

Collision Collision detectiondetection

Dipartimento di Ingegneria dell’Informazione Siena 18-03-03 Ore 14.00-16.00

F1

F2

Page 2: 1 la Torre Berardino Force rendering & Collision detection Dipartimento di Ingegneria dellInformazione Siena 18-03-03 Ore 14.00-16.00 F1F1 F2F2.

2

1. Detectare le interazioni.

2. Calcolo del proxy (God-Object,…).

3. Calcolo delle forze (Modello locale+globale, dinamica e stabilità).

4. Rendering di forza (PHANToM, modello 2 porte).

5. Aggiornamento della grafica (coerenza tra visione e tatto).

Collision detection

Page 3: 1 la Torre Berardino Force rendering & Collision detection Dipartimento di Ingegneria dellInformazione Siena 18-03-03 Ore 14.00-16.00 F1F1 F2F2.

3

2-3 Proxy & Local model…

Local Model

Proxy

Page 4: 1 la Torre Berardino Force rendering & Collision detection Dipartimento di Ingegneria dellInformazione Siena 18-03-03 Ore 14.00-16.00 F1F1 F2F2.

4

Per attuare una forza , espressanel sistema di riferimento cartesiano(x,y,z) dell’end effector, è necessariotrasformarla in una serie di coppiedi forza equivalenti da applicareai motori (giunti rotazionali).Questa trasformazione avviene attraverso la matrice jacobiana trasposta, che è legataalla cinematica dell’interfaccia.

• feedback di forza massimo : 6.4N• 3 gradi di libertà con feedback di forza : ( )• 6 gradi di libertà di posizionamento : ( ,roll,pitch,yaw)• attrito : 0.06N• risoluzione di posizionamento : 0.02 mm• frequenza di aggiornamento della forza

210 ,, 210 ,,

F

KHz1

4 Come viene attuata una forza…

Page 5: 1 la Torre Berardino Force rendering & Collision detection Dipartimento di Ingegneria dellInformazione Siena 18-03-03 Ore 14.00-16.00 F1F1 F2F2.

5

1 Problema della collision detection

Lo stato dell’ambiente virtuale viene modificato dalle interazioni “fisiche” che avvengono tra i diversi oggettipresenti nella scena.

F1

F2

Modello fisico OA Modello fisico OB

Calcolo delle forze

Modifica la scena

Collision detectio

n

collisione

Page 6: 1 la Torre Berardino Force rendering & Collision detection Dipartimento di Ingegneria dellInformazione Siena 18-03-03 Ore 14.00-16.00 F1F1 F2F2.

6

Problema della collision detection

Page 7: 1 la Torre Berardino Force rendering & Collision detection Dipartimento di Ingegneria dellInformazione Siena 18-03-03 Ore 14.00-16.00 F1F1 F2F2.

7

Collisione

Utente

1KHz

25fps

Force rendering

SI NO

F RF

0F0F

1. L’ambiente virtuale è costituito da diversi oggetti. Uno di questi è rappresentativo dell’end-effectordell’interfaccia haptica.

2. L’obiettivo è quello di sapere ad ogni ciclo di controllo (1KHz) se il PHANToM è entrato o no in collisionecon modelli 3D della scena.

Problema:Il numero di triangoli checompongono la superficie dei diversioggetti è elevato (20.000 – 40.000)pensare di eseguire un test dicollisione controllandoli unoad uno non è fattibile nelle tempistiche di controllo richieste dalPHANToM.

Problema della collision detection

Page 8: 1 la Torre Berardino Force rendering & Collision detection Dipartimento di Ingegneria dellInformazione Siena 18-03-03 Ore 14.00-16.00 F1F1 F2F2.

8

Problema della collision detection

Come posso fare per sapere in tempo“reale” con quale triangolo ho avutocollisione

?

Page 9: 1 la Torre Berardino Force rendering & Collision detection Dipartimento di Ingegneria dellInformazione Siena 18-03-03 Ore 14.00-16.00 F1F1 F2F2.

9

Problema della collision detection

In effetti si tratta di eseguire un

processo di ricerca in uno spazio geometrico.

Spendo del tempo in fase di pre-processing(off-line) per organizzare/strutturare lospazio di ricerca. Così rendo più efficiente ilprocesso di ricerca (on-line)

ex: QuickSort, LookUp table (sin e cos)

Page 10: 1 la Torre Berardino Force rendering & Collision detection Dipartimento di Ingegneria dellInformazione Siena 18-03-03 Ore 14.00-16.00 F1F1 F2F2.

10

1. L’idea, allora, è quella di eseguire una scomposizionespaziale della superficie, utilizzando delle primitive geometriche, in questo caso parallelepipedi, che vengono poi organizzate in una struttura gerarchica (albero binario di ricerca) OBB-Tree (Oriented Bound Box Tree).

• Nota la posizione Hp del PHANToM, in un primo momento viene utilizzato l’OBB-Tree al fine di localizzare in quale OBB è posizionata l’interfaccia.

• Se Hp non è contenuto in alcun OBB foglia, sicuramente non vi può essere collisione, altrimenti se ilprocesso di ricerca termina su un OBB foglia, vi è la possibilità di collisione e quindi viene raffinato il processodi ricerca andando a testare tutti e solo i triangolicontenuti in tale OBB, che generalmente sono dell’ordinedelle decina il test è quindi immediato.

Organizzazione dello spazio di ricerca : OBB-Tree

OBB-Tree (Oriented Bound Box Tree)OBB-Tree (Oriented Bound Box Tree)

Page 11: 1 la Torre Berardino Force rendering & Collision detection Dipartimento di Ingegneria dellInformazione Siena 18-03-03 Ore 14.00-16.00 F1F1 F2F2.

11

Calcolo degli OBB

1. Il centro dell’OBB è posizionato nelvalor medio .

2. Gli autovettori di unamatrice simmetrica, come quella dicovarianza C sono mutuamente ortogonali, pertanto una volta normalizzati vengono usati come baseper l’OBB.

3. Infine per dimensionare l’OBBvengono presi il min e il max delleproiezione dei vertici lungo le tre direzioni.

kji aaa ,,

1. Fissato un livello di soglia sul numero max di triangoli contenuti negli OBB foglia, si procede con unaoperazione di splitting che provvede asuddividere in modo ricorsivo gli OBB che contengono un numero di triangoli superiore alla soglia fissata.

2. Posizionamento del piano di sezione1. a metà del lato più lungo.L’OBB-Tree non è bilanciato.2. media delle proiezioni deivertici sul lato più lungo

Page 12: 1 la Torre Berardino Force rendering & Collision detection Dipartimento di Ingegneria dellInformazione Siena 18-03-03 Ore 14.00-16.00 F1F1 F2F2.

12

Esempio di OBB-Tree

Page 13: 1 la Torre Berardino Force rendering & Collision detection Dipartimento di Ingegneria dellInformazione Siena 18-03-03 Ore 14.00-16.00 F1F1 F2F2.

13

Anche la sfera viene utilizzata come primitiva geometrica. Il GHOST SDK utilizza questoapproccio.

Page 14: 1 la Torre Berardino Force rendering & Collision detection Dipartimento di Ingegneria dellInformazione Siena 18-03-03 Ore 14.00-16.00 F1F1 F2F2.

14

Quello che si fa in effetti per testare l’avvenutacollisione e verificare se il segmento congiungentela posizione attuale e quella precedente del PHANToMha intersezione dapprima con gli OBB e poi con uno deitriangoli.

Nessuna collisione

Potenziale collisione, c’è intersezione con un OBBfoglia ma nessuna con i triangoli contenuti nell’OBB

COLLISIONE, c’è intersezione con un OBB fogliae con uno dei triangoli contenuti nell’OBB

Test di intersezione

Page 15: 1 la Torre Berardino Force rendering & Collision detection Dipartimento di Ingegneria dellInformazione Siena 18-03-03 Ore 14.00-16.00 F1F1 F2F2.

15

Generalmente si fa il test di collision detection traoggetti… Ci può essere collisione solo se c’è unaintersezione tra OBB foglia.

A B

A

B

Page 16: 1 la Torre Berardino Force rendering & Collision detection Dipartimento di Ingegneria dellInformazione Siena 18-03-03 Ore 14.00-16.00 F1F1 F2F2.

16