ITBO20090385A1 - Metodo per la simulazione interattiva di immagini - Google Patents

Metodo per la simulazione interattiva di immagini Download PDF

Info

Publication number
ITBO20090385A1
ITBO20090385A1 IT000385A ITBO20090385A ITBO20090385A1 IT BO20090385 A1 ITBO20090385 A1 IT BO20090385A1 IT 000385 A IT000385 A IT 000385A IT BO20090385 A ITBO20090385 A IT BO20090385A IT BO20090385 A1 ITBO20090385 A1 IT BO20090385A1
Authority
IT
Italy
Prior art keywords
simulated
simulation
points
processing unit
environment
Prior art date
Application number
IT000385A
Other languages
English (en)
Inventor
Davide Zerbato
Original Assignee
Surgica Robotica S R L
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Surgica Robotica S R L filed Critical Surgica Robotica S R L
Priority to IT000385A priority Critical patent/ITBO20090385A1/it
Priority to PCT/IB2010/052647 priority patent/WO2010146526A1/en
Publication of ITBO20090385A1 publication Critical patent/ITBO20090385A1/it

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/70Manipulators specially adapted for use in surgery
    • A61B34/76Manipulators having means for providing feel, e.g. force or tactile feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/30Surgical robots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/28Force feedback

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Surgery (AREA)
  • Computer Hardware Design (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Robotics (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • Biomedical Technology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Geometry (AREA)
  • Molecular Biology (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Processing Or Creating Images (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

Descrizione
METODO PER LA SIMULAZIONE INTERATTIVA DI IMMAGINI
Campo tecnico
La presente invenzione ha per oggetto un metodo per la visualizzazione interattiva di immagini.
Arte nota
Sono noti sistemi per la visualizzazione di immagini, in particolare di immagini tridimensionali.
Ad esempio, il brevetto US 6,989,836 B2 illustra un sistema e un metodo per migliorare la visualizzazione di immagini grafiche attraverso il reindirizzamento delle attività di rendering e l’utilizzo opzionale della compressione dei relativi dati. Invece di inviare comandi grafici su una connessione di rete e operare il rendering su una unità di elaborazione remota, secondo quanto illustrato nel citato brevetto i comandi grafici sono reindirizzati automaticamente mediante funzioni modificate di tipo “OpenGL” a dispositivi locali di grafica senza coinvolgere espressamente l’applicativo grafico. Le modifiche alle funzioni di tipo “OpenGL” sul sistema locale risultano evidenti nella modalità normale di rendering e di visualizzazione locale. Dopo che un’immagine è resa localmente, può essere prelevata e inviata attraverso la connessione di rete. Un server X di tipo usuale, nel sistema remoto, può essere sufficiente a implementare il metodo illustrato. E’ inoltre prevista una estensione X atta alla decompressione dei dati sul server remoto per consentire una trasmissione dell’immagine più efficiente attraverso l’utilizzo della compressione dei dati grafici.
Tale sistema consente di realizzare rendering piuttosto complessi sul client senza richiedere l’uso di schede grafiche particolarmente potenti, ma non consente all’utilizzatore client di scegliere particolari dettagli o di bloccare il rendering dell’oggetto se il relativo processo è già avviato. Inoltre la precisione della simulazione tende a diminuire quanto maggiore è il tempo impiegato dalla unità di elaborazione grafica (GPU) per il relativo calcolo.
Il brevetto US 7,425,950 B2 illustra a sua volta un sistema di visualizzazione di immagini tridimensionali di tipo web, in cui i files di grafica tridimensionale sono scaricati da un server web, in modo tale da visualizzare le corrispondenti immagini tridimensionali mediante un web browser. Il sistema di visualizzazione illustrato è pertanto dotato di un server web atto a memorizzare files di immagini tridimensionali compresse che sono state modificate e create sulla base di informazioni relative a scenari tridimensionali estratti da un file VRML o simile. Il sistema comprende inoltre un applicativo applet 3D e un web browser per visualizzare gli scenari tridimensionali. Il browser web richiede e scarica l’applet 3D dal server web, richiede e scarica il file 3D compresso dal web server, mediante l’esecuzione dell’applet 3D. Dopo avere scaricato e ricevuto tutte le informazioni, il browser web mostra continuativamente una scena 3D interattiva, mediante l’esecuzione, indipendentemente dal server web, del rendering tridimensionale in tempo reale e degli algoritmi del movimento in 3D, utilizzando l’applet 3D.
Tuttavia tale sistema di visualizzazione presenta lo svantaggio di presentare scene fisse e compresse offline, senza consentire di cambiare scene in modo dinamico durante il tempo di esecuzione del programma. Inoltre il sistema illustrato non tollera lunghi tempi di compressione. Gli unici dati scambiati tra il visualizzatore client e il server sono limitati al download iniziale della scena, pertanto ogni cambiamento della scena avviene localmente per il relativo visualizzatore, senza possibilità di condivisione con altri visualizzatori.
Per i citati motivi, i sistemi di visualizzazione noti non consentono di soddisfare le esigenze di visualizzazione sentite nei diversi settori di utilizzo, in particolare in quello della microchirurgia assistita da robot. In tale ambito in particolare è sentita l’esigenza di ottenere il rendering di un ambiente da visualizzare in modo tridimensionale, in continua evoluzione a causa dell’interazione con gli strumenti chirurgici utilizzati. I sistemi noti utilizzano a tale scopo unità di elaborazione con potenza di calcolo elevata e pertanto risultano molto costose.
Presentazione dell’invenzione
Il compito della presente invenzione è quello di risolvere i problemi citati, escogitando un metodo per la simulazione interattiva di immagini che consenta di ottenere in modo efficace il rendering delle suddette immagini, attraverso l’impiego di usuali unità di elaborazione.
Un altro scopo dell’invenzione è quello di fornire un metodo di simulazione delle immagini che consenta di ottenere immagini in evoluzione dinamica e interattiva, dotate del livello di dettaglio desiderato.
Gli scopi citati vengono raggiunti, secondo la presente invenzione, dal metodo di simulazione interattiva di immagini secondo la rivendicazione 1.
Breve descrizione dei disegni
I particolari dell’invenzione risulteranno maggiormente evidenti dalla descrizione dettagliata di una forma di realizzazione preferita di un sistema atto a realizzare il metodo di simulazione interattiva di immagini secondo l’invenzione, illustrato a titolo indicativo negli uniti disegni, in cui:
la figura 1 mostra una rappresentazione schematica di un sistema di elaborazione delle immagini per la realizzazione del metodo in oggetto, la figura 2 mostra un diagramma di flusso delle fasi operative del medesimo metodo di simulazione.
Forme di realizzazione dell’invenzione
Con particolare riferimento a tali figure, si è indicato nell’insieme con 1 un sistema di simulazione interattiva di immagini tridimensionali atto a realizzare il metodo di simulazione secondo l’invenzione. Il sistema interattivo 1 è preferibilmente costituito da una unità di simulazione 10 e da una unità di visualizzazione 20. Ovviamente possono essere previste ulteriori unità di ciascun tipo opportunamente connesse mediante rispettivi mezzi di collegamento. Ciascuna unità di simulazione e di visualizzazione 10, 20 comprende a sua volta una scheda grafica 100, 200 per l’esecuzione delle attività di elaborazione grafica necessarie al rendering da simulare, rispettivamente tattile e visivo, come descritto più in dettaglio nel seguito.
Le schede grafiche 100, 200 comprendono in modo noto una rispettiva unità di elaborazione grafica o microprocessore 110, 210 e una rispettiva memoria 120, 220 per l’allocazione di dati e istruzioni relativi al modello tridimensionale da ottenere.
Ciascuna unità 10, 20 comprende ulteriormente una rispettiva unità centrale di elaborazione 130, 230, atta a leggere ed elaborare dati e istruzioni in trasferimento da e verso una rispettiva memoria principale 140, 240.
Il sistema interattivo 1 comprende ulteriormente mezzi di connessione di rete 30 per la trasmissione dei dati elaborati, atta a connettere l’unità di simulazione 10 con l’unità di visualizzazione 20. I mezzi di connessione 30 possono essere ad esempio del tipo noto per protocolli di trasmissione RTP/UDP (fig. 1), oppure TCP/IP. Più precisamente, i dati elaborati e allocati nella memoria principale 140 dell’unità di simulazione 10 sono atti ad essere trasmessi all’unità di visualizzazione 20, per essere allocati nella rispettiva memoria principale 240, attraverso la rete di trasmissione 30.
Nel caso illustrato, l’unità di simulazione 10 è atta ad effettuare il rendering tattile al servizio di una apparecchiatura di interazione 50 comprendente uno o più specifici strumenti 60 atti ad essere controllati da rispettive unità di comando, ad esempio del tipo dei joysticks, mentre l’unità di visualizzazione 20 è atta a ricevere i dati del modello fisico elaborati dall’unità di simulazione 10 per la realizzazione del rendering grafico da visualizzare su uno o più rispettivi schermi di visualizzazione 70.
In particolare il rendering tattile è atto a restituire all’utilizzatore una percezione delle azioni dinamiche generate dall’interazione con l’ambiente fisico con il quale i suddetti strumenti 60 sono atti a interagire realmente.
Secondo la forma di realizzazione illustrata in fig. 2, il metodo di simulazione secondo l’invenzione prevede di distribuire tra l’unità di simulazione 10 e l’unità di visualizzazione 20 le attività computazionali di rendering tattile 300 e di rendering grafico 400 dell’ambiente di interazione realmente coinvolto, restituendo una resa istantanea delle azioni dinamiche percepibile dall’utilizzatore che controlla almeno uno strumento 60, oltre che una visualizzazione grafica su almeno uno schermo 70.
Inizialmente l’unità di simulazione 10 e l’unità di visualizzazione 20 condividono una medesima descrizione della scena. La scena condivisa è composta dalle cosiddette “textures” di punti P atte a memorizzare la posizione dei punti dei modelli deformabili rappresentativi dell’ambiente da simulare, e una lista di triangoli T che descrivono la topologia del modello in forma di maglia triangolare definita sui punti P del modello. Tale lista è destinata a restare immutata durante le successive fasi della simulazione. Inoltre l’unità di simulazione 10 mantiene in memoria un vettore di tre componenti per ciascuno strumento 60 che si trova nell’ambiente da simulare. Tale vettore memorizza le forze che agiscono sullo strumento 60 e che devono essere rese all’utente. Inizialmente, tali forze sono nulle.
Nella successiva fase di attivazione di almeno uno strumento 60, il metodo prevede quindi di rilevarne 310 la nuova posizione in relazione all’ambiente da simulare, per ricavare la simulazione fisica 320 della o delle entità con le quali lo strumento 60 azionato è atto a interagire fisicamente. Tale simulazione fisica 320 avviene grazie all’attività computazionale della prima unità di elaborazione grafica 110. In particolare l’attività di simulazione fisica 320 comprende la definizione della geometria interessata, comprensiva delle azioni dinamiche che si generano nell’interazione tra le entità che fanno parte dell’ambiente fisico da simulare e lo strumento 60. Il risultato dell’attività computazionale della prima unità di elaborazione grafica 110 consente di memorizzare le informazioni relative al posizionamento e alle interazioni fisiche per ciascun punto P delle citate textures che definiscono le superficie del modello simulato.
Al termine di tale fase di simulazione 320 la posizione dei punti P del modello simulato è aggiornata in funzione delle forze interne, delle forze esterne e dell’interazione con lo strumento 60. Vengono inoltre memorizzati i dati relativi ai vettori delle forze che, nel mondo virtuale, agiscono sugli strumenti 60.
Successivamente viene effettuato il download 330 dei risultati del calcolo sulla prima memoria principale 140 al servizio della prima unità centrale di elaborazione 130.
In particolare, i vettori delle forze vengono scaricati 330 sulla prima memoria principale 140 ogni millisecondo, per essere successivamente utilizzati, come descritto in dettaglio nel seguito. Parallelamente, le textures dei punti P vengono scaricate 330 ogni 40 millisecondi, per essere utilizzate dall’unità di visualizzazione 20, come descritto in seguito.
Dalla prima memoria principale 140 i risultati del calcolo relativi ai citati vettori delle forze sono utilizzati per ottenere il rendering tattile 340 delle azioni dinamiche tra lo strumento 60 e l’ambiente simulato.
Al termine della fase di rendering tattile 340 si ottengono le posizioni delle periferiche tattili che controllano gli strumenti 60 e che saranno utilizzate per aggiornare la posizione dello strumento 60 stesso nella simulazione.
I medesimi risultati sono disponibili a una successiva rielaborazione mediante la prima unità centrale di elaborazione 130, al fine di elaborare il corrispondente rendering grafico 400.
Più precisamente, dal modello fisico simulato vengono estratti i posizionamenti dei punti P costituenti la realtà virtuale di interazione per consentire il calcolo dei rispettivi spostamenti puntuali 410. Questa fase consente di ottenere una lista di spostamenti che ha dimensione 3xN dove N è il numero di punti P esterni del modello simulato, in quanto solo i punti esterni sono utili alla definizione del rendering grafico e pertanto a tale scopo solo i punti esterni vengono successivamente trasmessi.
Nella fase di calcolo successiva i dati relativi a tali spostamenti vengono ordinati 420 per ottenerne la relativa codifica. In particolare, la lista di tali spostamenti viene ordinata secondo un ordine noto all’unità di simulazione 10 e all’unità di visualizzazione 20, in modo da ottenere una lista ordinata composta da 3xN valori in virgola mobile.
Gli spostamenti codificati vengono quindi organizzati in pacchetti 430 per la trasmissione in rete 440, ad esempio secondo il protocollo RTP/UDP o TCP/IP. Ad esempio, i bytes della lista possono essere suddivisi in parti della dimensione del payload del singolo pacchetto RTP, in modo da sfruttare al meglio i dati trasmessi. Al termine si ottiene un numero fissato di pacchetti RTP. Ovviamente differenti protocolli di trasmissione possono essere utilizzati a tale scopo.
La fase operativa successiva prevede infatti la trasmissione 440 dei citati pacchetti di dati dall’unità di simulazione 10 all’unità di visualizzazione 20 attraverso i mezzi di connessione 30. Al termine di un singolo ciclo di trasmissione l’unità di visualizzazione 20 avrà riempito, eventualmente in maniera parziale, una zona della seconda memoria principale 240 atta a contenere 3xN valori in virgola mobile.
Previo mascheramento degli errori 450, dai pacchetti ordinati ricevuti vengono successivamente estratti 460 e decodificati 470 i dati relativi agli spostamenti puntuali, per ricavare il posizionamento attuale dei singoli punti costituenti l’ambiente di interazione simulato. È preferibile che in fase di estrazione dei dati 460 sia effettuato un mascheramento degli errori 450, che può prevedere ad esempio di sostituire eventuali dati persi con dati ottenuti da pacchetti precedenti. Al termine di tale fase di mascheramento 450 l’area di memoria coinvolta può essere interpretata come vettore 3xN che contiene lo spostamento di ogni singolo punto esterno del modello.
Nella citata fase di decodifica 470 lo spostamento dei punti P del modello viene sommato alla rispettiva posizione iniziale, per ottenere infine la posizione aggiornata di tutti i punti P esterni del modello da simulare.
I posizionamenti dei punti vengono allora caricati 480 dall’unità di elaborazione grafica 210, per effettuare il calcolo del rendering grafico 490, attraverso la generazione delle diverse textures dell’ambiente di interazione simulato (si veda la fig. 2). In particolare, in tale fase i dati appena computati vengono caricati nella memoria 220 della seconda scheda grafica 200, in modo tale che le textures dei punti P nella suddetta memoria 220 conterranno quindi i valori aggiornati delle posizioni dei punti P dell’ambiente da simulare.
Sulla base dei dati ottenuti nella precedente fase di caricamento 480, l’unità di elaborazione grafica 210 effettua così il rendering grafico 390.
Il metodo prevede preferibilmente di rilevare costantemente il posizionamento dello strumento 60, in modo tale da consentire un corrispondente aggiornamento dei rendering tattile e grafico 300, 400, mediante l’attuazione di nuovi cicli di calcolo secondo le fasi precedentemente descritte.
Il metodo di simulazione interattiva di immagini descritto può essere ad esempio impiegato per ottenere la modellazione tridimensionale assistita da appositi strumenti di rilevamento, utilizzata per la prototipazione rapida di componenti meccanici e simili. Alternativamente, il metodo descritto può essere impiegato sia in fase di progettazione che di training per la pianificazione delle operazioni di assemblaggio di componenti meccanici, in particolare nei settori industriali dell’auto-motive e dell’aeronautica.
Il metodo descritto può essere ulteriormente impiegato per l’esecuzione di procedure chirurgiche minimamente invasive, assistite da strumentazione robotizzata. In tal caso l’apparecchiatura 50 comprende uno o più strumenti 60 chirurgici atti ad interagire, su comando di uno o più operatori, con un ambiente reale costituito principalmente dagli organi di un paziente.
Almeno uno strumento 60 è del tipo a riflessione della forza e pertanto è atto a restituire all’utilizzatore, attraverso rispettivi mezzi di comando, la percezione dell’interazione dinamica con l’ambiente reale di intervento. La percezione dinamica è il risultato computazionale dell’unità di elaborazione grafica 110, che in base al posizionamento attuale dello strumento, è in grado di definire la simulazione fisica 320 delle textures coinvolte nell’ambiente di interazione, come illustrato in figura 2. Grazie invece al rendering ottenuto sull’unità di visualizzazione 20, l’operatore è in grado allo stesso tempo, di controllare visivamente in tempo reale gli effetti dell’interazione dello strumento 60 con l’ambiente di intervento.
La simulazione fisica dell’ambiente di interazione consente allora di elaborare il posizionamento e le forze che interessano localmente le diverse textures dell’ambiente simulato. Tali dati possono allora essere scaricati dalla memoria 120 della scheda grafica 110 alla memoria principale 140 per essere disponibili per le successive attività computazionali dell’unità di elaborazione 130.
A questo punto, la memoria principale 140 è già in grado di fornire il rendering tattile per restituire all’utilizzatore la percezione dinamica del comando eseguito. Allo stesso tempo l’unità di elaborazione 130 prosegue l’elaborazione dei dati per fornire, attraverso le fasi di calcolo descritte in precedenza, i dati attuali sui posizionamenti dei punti P, già codificati e organizzati in pacchetti, per la trasmissione all’unità di visualizzazione 20.
Quest’ultima quindi riceve i risultati del calcolo già effettuato sull’unità di simulazione 10. I dati ricevuti devono essere estratti e decodificati 470, 480 per ricavare il posizionamento finale dei punti P dell’ambiente da visualizzare. Infine, è sufficiente che tali dati vengano caricati dall’unità grafica di elaborazione 210 per ricavare il posizionamento attuale dei punti P delle textures, necessario per il rendering da visualizzare sullo schermo 70.
Ovviamente il metodo descritto può essere utilizzato in molti altri settori tecnici in cui è necessario monitorare sia la percezione tattile che visiva dei comandi impartiti a uno specifico strumento su una qualsivoglia realtà fisica.
Il metodo per la simulazione interattiva di immagini consente pertanto di raggiungere lo scopo di ottenere in modo efficace il rendering di immagini interattive attraverso l’impiego di usuali unità di elaborazione. Tale scopo è raggiunto in particolare per il fatto che le attività computazionali sono distribuite su una pluralità di unità diverse, in modo da ridurre i tempi di calcolo e allo stesso tempo ottimizzare i risultati di rendering.
Una prerogativa del metodo oggetto dell’invenzione consiste infatti nella possibilità di restituire in tempo reale simulazioni tridimensionali interattive, quindi in continua evoluzione, sia sull’unità di visualizzazione 20 che sull’unità di simulazione 10. A tale scopo non è richiesta alcuna unità di elaborazione con speciali potenzialità di calcolo, come nel caso delle architetture note di tipo client-server. Al contrario, secondo il metodo descritto, le unità di elaborazione impiegate 130, 230 sono del tipo usuale, con la medesima capacità di calcolo. In forza della distribuzione delle attività computazionali, il metodo consente inoltre di ridurre l’impatto delle attività computazionali di rendering grafico, particolarmente pesanti, sulle attività di calcolo legate alla simulazione delle interazioni fisiche.
Le attività computazionali risultano pertanto distribuite in modo ottimale sulle unità di elaborazione del sistema complessivo, agevolando le attività di simulazione in particolare nei casi in cui l’ambiente di simulazione è dinamico e interattivo.
Nella pratica attuazione dell’invenzione, i mezzi impiegati, nonché la forma e le tipologie di attuazione, possono essere qualsiasi a seconda delle esigenze.
Laddove le caratteristiche tecniche menzionate in ogni rivendicazione siano seguite da segni di riferimento, tali segni di riferimento sono stati inclusi al solo scopo di aumentare la comprensione delle rivendicazioni e di conseguenza essi non hanno alcun valore limitativo sullo scopo di ogni elemento identificato a titolo d’esempio da tali segni di riferimento.

Claims (14)

  1. Rivendicazioni 1) Metodo di simulazione interattiva di immagini comprendente le seguenti fasi operative: a. predisporre almeno uno strumento (60) atto ad essere azionato da mezzi di controllo per interagire con un ambiente comprendente almeno una entità fisica da simulare; b. predisporre almeno una unità di simulazione (10) e una unità di visualizzazione (20) atte a svolgere attività computazionali per fornire rispettivamente un rendering tattile (300) e un rendering grafico (400) di detto ambiente da simulare, interagente con detto strumento (60); c. rilevare (310) la posizione di detto strumento (60) rispetto a detto ambiente da simulare; d. elaborare la simulazione fisica (320) di detta entità mediante una prima unità di elaborazione grafica (110) di detta unità di simulazione (10), in modo da definire le posizioni dei punti (P) e le forze attuali relative a detta entità fisica di detto ambiente da simulare; e. operare il download (330) di detta simulazione fisica a una prima memoria principale (140) al servizio di una prima unità centrale di elaborazione (130) di detta unità di simulazione (10); f. restituire (340) da detta prima memoria principale (140), in base a detta simulazione fisica scaricata, detto rendering tattile (300) rappresentativo dell’interazione tra detto strumento (60) e detta entità fisica; g. rielaborare (410) mediante detta prima unità centrale di elaborazione (130) detta simulazione fisica per calcolare spostamenti puntuali relativi a detta entità da simulare; h. trasferire (440) mediante mezzi di connessione (30) di rete i dati relativi a detti spostamenti puntuali da detta prima memoria principale (140) a una rispettiva seconda memoria principale (240) di detta unità di visualizzazione (20); i. ricavare (490) mediante una seconda unità di elaborazione grafica (210) di detta unità di visualizzazione (20) detto rendering grafico (400) di detta entità da simulare; l. ripetere ciclicamente le fasi da c. a i. per aggiornare in tempo reale detto rendering tattile (300) e detto rendering grafico (400) secondo l’evoluzione dinamica di detta entità da simulare.
  2. 2) Metodo secondo la rivendicazione 1, caratterizzato dal fatto che comprende ulteriormente la fase iniziale c0. in cui detta unità di simulazione (10) e detta unità di visualizzazione (20) condividono una iniziale descrizione di detto ambiente da simulare, comprendendo detta descrizione textures atte a memorizzare la posizione dei punti di modelli deformabili rappresentativi di detto ambiente da simulare, e una lista di poligoni (T) atti a descrivere la topologia di un modello da simulare in forma di maglia poligonale definita su detti punti (P) di detto modello da simulare.
  3. 3) Metodo secondo la rivendicazione 2, caratterizzato dal fatto che detti poligoni (T) di detta maglia poligonale hanno foggia triangolare.
  4. 4) Metodo secondo la rivendicazione 1, caratterizzato dal fatto che comprende l’ulteriore fase di memorizzare in detta unità di simulazione (10) almeno un vettore per detto strumento (60), atto a descrivere le forze agenti su detto strumento (60) medesimo e percepibili su detti rispettivi mezzi di controllo.
  5. 5) Metodo secondo la rivendicazione 1, caratterizzato dal fatto che detta fase di simulazione fisica (320) comprende l’ulteriore fase di aggiornare la posizione di detti punti (P) di detto modello simulato in funzione delle forze interne, delle forze esterne, dell’interazione con detto strumento (60) e di memorizzare i dati relativi ai vettori delle forze che, nel modello simulato virtuale, agiscono su detto strumento (60).
  6. 6) Metodo secondo la rivendicazione 5, caratterizzato dal fatto che detta fase e. di operare il download (330) di detta simulazione fisica comprende l’ulteriore fase di estrarre i posizionamenti di detti punti (P) di detto ambiente da simulare, per consentire il calcolo di rispettivi spostamenti puntuali (410), in modo da ottenere una lista di spostamenti avente dimensione 3xN, dove N è il numero di detti punti (P) esterni del detto modello simulato.
  7. 7) Metodo secondo la rivendicazione 6, caratterizzato dal fatto che in detta fase di download (330), detti vettori delle forze vengono scaricati ogni millisecondo, mentre dette textures di detti punti (P) vengono scaricate ogni 40 millisecondi, per essere utilizzate da detta unità di visualizzazione (20).
  8. 8) Metodo secondo la rivendicazione 6, caratterizzato dal fatto che detta fase h. di trasferire (440) mediante mezzi di connessione (30) di rete i dati relativi a detti spostamenti puntuali comprende l’ulteriore fase di organizzare una lista ordinata di detti dati in pacchetti (430) per detta trasmissione in rete (440), suddividendo i bytes di detta lista in parti della dimensione del payload del singolo pacchetto da trasmettere, in modo da ottenere un numero fissato di detti pacchetti.
  9. 9) Metodo secondo la rivendicazione 8, caratterizzato dal fatto che detta fase i. di ricavare (490) detto rendering grafico (400) comprende l’ulteriore fase di estrarre (460) e decodificare (470) detti dati relativi a detti spostamenti puntuali, per ricavare il posizionamento attuale dei singoli punti costituenti detto ambiente da simulare.
  10. 10) Metodo secondo la rivendicazione 9, caratterizzato dal fatto che detta fase di estrazione (460) comprende l’ulteriore fase di sostituire eventuali dati persi con dati ottenuti da pacchetti precedenti.
  11. 11) Metodo secondo la rivendicazione 10, caratterizzato dal fatto che detta fase di decodificare (470) detti dati relativi agli spostamenti puntuali comprende l’ulteriore fase di sommare detti spostamenti dei punti (P) del detto modello alla rispettiva posizione precedente, per ottenere la posizione aggiornata di detti punti (P) esterni del detto modello da simulare.
  12. 12) Metodo secondo la rivendicazione 10, caratterizzato dal fatto che detta fase di decodifica (470) comprende l’ulteriore fase di caricare (480) i dati relativi a detta posizione aggiornata di detti punti (P) esterni nell’unità di elaborazione grafica (210) di detta unità di visualizzazione (20), per effettuare il calcolo del detto rendering grafico (490), attraverso la generazione di dette textures di detto ambiente di interazione simulato.
  13. 13) Prodotto per una unità di elaborazione comprendente elementi di codici di programma memorizzati su mezzi atti ad essere letti da detta unità di elaborazione (10, 20) per realizzare il metodo di simulazione secondo una o più delle rivendicazioni precedenti quando detto prodotto è eseguito in detta unità di elaborazione (10, 20).
  14. 14) Sistema per la simulazione interattiva di immagini comprendente almeno una unità di simulazione (10) e una unità di visualizzazione (20), dotate rispettivamente di almeno una scheda grafica (100, 200) e di una unità centrale di elaborazione (130, 230), atta a leggere ed elaborare dati e istruzioni in trasferimento da e verso una rispettiva memoria principale (140, 240); mezzi di connessione (30) di rete per la trasmissione di detti dati tra detta unità di simulazione (10) e detta unità di visualizzazione (20), detto sistema essendo caratterizzato dal fatto di comprendere un prodotto per una unità di elaborazione secondo la rivendicazione 13 per realizzare il metodo di simulazione secondo una o più delle rivendicazioni da 1 a 13 quando detto prodotto è eseguito in detta unità di elaborazione (10, 20).
IT000385A 2009-06-15 2009-06-15 Metodo per la simulazione interattiva di immagini ITBO20090385A1 (it)

Priority Applications (2)

Application Number Priority Date Filing Date Title
IT000385A ITBO20090385A1 (it) 2009-06-15 2009-06-15 Metodo per la simulazione interattiva di immagini
PCT/IB2010/052647 WO2010146526A1 (en) 2009-06-15 2010-06-14 Method for interactive simulation of images

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT000385A ITBO20090385A1 (it) 2009-06-15 2009-06-15 Metodo per la simulazione interattiva di immagini

Publications (1)

Publication Number Publication Date
ITBO20090385A1 true ITBO20090385A1 (it) 2010-12-16

Family

ID=42026172

Family Applications (1)

Application Number Title Priority Date Filing Date
IT000385A ITBO20090385A1 (it) 2009-06-15 2009-06-15 Metodo per la simulazione interattiva di immagini

Country Status (2)

Country Link
IT (1) ITBO20090385A1 (it)
WO (1) WO2010146526A1 (it)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3201884B1 (en) 2014-09-30 2020-09-30 CAE Inc. Updating damaged-enhanced 3d polygon meshes
EP3457276B1 (en) * 2017-09-13 2023-08-23 Sap Se Network system, method and computer program product for real time data processing

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080021679A1 (en) * 2006-07-24 2008-01-24 Ati Technologies Inc. Physical simulations on a graphics processor

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1276393C (zh) 2001-10-11 2006-09-20 株式会社亚派 Web 3D图像显示系统
US6989836B2 (en) 2002-04-05 2006-01-24 Sun Microsystems, Inc. Acceleration of graphics for remote display using redirection of rendering and compression

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080021679A1 (en) * 2006-07-24 2008-01-24 Ati Technologies Inc. Physical simulations on a graphics processor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MARCO ALTOMONTE ET AL: "Simulation of deformable environment with haptic feedback on GPU", INTELLIGENT ROBOTS AND SYSTEMS, 2008. IROS 2008. IEEE/RSJ INTERNATIONAL CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, 22 September 2008 (2008-09-22), pages 3959 - 3964, XP031348369, ISBN: 978-1-4244-2057-5 *

Also Published As

Publication number Publication date
WO2010146526A1 (en) 2010-12-23

Similar Documents

Publication Publication Date Title
US8786613B2 (en) Method and system for interactive simulation of materials and models
CN104679486B (zh) 一种图形数据的处理方法、装置及系统
WO2022166264A1 (zh) 作业机械的模拟训练系统、方法、装置和电子设备
CN106598229A (zh) 一种虚拟现实场景的生成方法、设备及虚拟现实系统
KR102027594B1 (ko) 컴퓨터 지원 설계 시스템의 3차원 장면에서 오브젝트들의 어셈블리를 동적으로 조작하기 위한 방법 및 시스템
WO2007117586A2 (en) Method and system for interactive simulation of materials
CN106796427A (zh) 用于机器人制造系统的运行时间控制器
Echegaray et al. A brain surgery simulator
US20100321383A1 (en) Method for simulating operation of object and apparatus for the same
JP3785349B2 (ja) シミュレーション装置
CN108766579A (zh) 一种基于高融合度增强现实的虚拟脑外科手术仿真方法
ITBO20090385A1 (it) Metodo per la simulazione interattiva di immagini
Yeh et al. Combining MSC/NASTRAN, sensitivity methods, and virtual reality to facilitate interactive design
JP4991391B2 (ja) 手術切断運動模擬方法及びその装置
CN108290071A (zh) 用于在预测游戏者的意图的情况下确定用于执行绘制的资源分配的程序、电子装置、系统和方法
JP2015148994A (ja) 動力学計算方法及びプログラム、並びに記録媒体
KR20210091484A (ko) 전력기기의 가상 현실화면 처리장치 및 가상 현실화면 제공방법
Li et al. Real-time soft tissue modelling for webbased surgical simulation: Surfacechainmail
Knott et al. Data-flow oriented software framework for the development of haptic-enabled physics simulations
Tan et al. A hybrid model method for accurate surface deformation and incision based on fem and PBD
Zaldivar-Colado et al. Virtual assembly environment modelling
Yuan et al. Real-time simulation of tissue cutting with CUDA based on GPGPU
WO2024055397A1 (zh) 基于数字孪生的观测视角可追踪方法、系统及终端
He et al. Virtual prototyping-based integrated information modeling and its application in the jacking system of offshore platform
EP4383206A1 (en) Digital twin management and interaction