Questo sito utilizza cookie di terze parti per inviarti pubblicità in linea con le tue preferenze. Se vuoi saperne di più clicca QUI 
Chiudendo questo banner, scorrendo questa pagina, cliccando su un link o proseguendo la navigazione in altra maniera, acconsenti all'uso dei cookie. OK

Studio e realizzazione di un ambiente virtuale per simulazioni collaborative

Oggetto della tesi è un progetto software per la realizzazione di un ambiente virtuale nel quale diversi agenti collaborano simulando un comportamento reale ed interagendo tra di loro. Particolari componenti, detti “spettatori” o “visualizzatori” sono in grado di mostrare ciò che avviene all’interno dell’ambiente. I componenti, fisicamente distribuiti sulla rete, si trovano così ad agire nello stesso spazio virtuale.
L’ambiente è stato chiamato “Mondo Virtuale” e si occupa di coordinare le operazioni svolte dai simulatori collegati, che prendono il nome di “attori”. Il Mondo gestisce una “simulazione globale”, che è il risultato delle “simulazioni parziali” dei vari attori, sincronizzandole fra di loro, indipendentemente dalla velocità e potenza dei componenti.
Gli “spettatori” si connettono per visualizzare quello che avviene all’interno del Mondo o per aggiungere oggetti, denominati “comparse”, privi di comportamento attivo. Mediante un meccanismo, “dispatcher”, le modifiche che intervengono all’interno del Mondo vengono comunicate a tutti gli spettatori collegati.
È possibile stabilire un legame fra oggetti appartenenti a componenti diversi, con una relazione master-slave che impiega una trasformazione rigida tra i sistemi di riferimento: viene gestita richiedendo, se necessario, lo spostamento ai proprietari degli oggetti slave. Inoltre, poiché possono verificarsi collisioni (interferenze) tra i vari oggetti, il Mondo è dotato di un meccanismo, detto “gestore delle collisioni”, che si accorge dell’evento e provvede a risolverlo avvisando i componenti coinvolti.
È stato sviluppato un apposito protocollo di comunicazione che impiega Internet (TCP/IP) per richiedere, eseguire e coordinare le operazioni. I vari componenti possono funzionare su qualsiasi piattaforma hardware e software, purché si adeguino al protocollo stabilito per lo scambio dei messaggi, rendendo flessibile e aperto l’intero sistema.
Un particolare componente, detto “console” si occupa di controllare il Mondo ed impostarne i parametri di funzionamento. Sono stati sviluppati due “daemon” che devono funzionare sulla macchina che ospitano il Mondo e che eseguono alcuni compiti precisi: il “daemon dei mondi attivi” mantiene traccia dei Mondi esistenti sull’host e permette di avviare i Mondi su macchine remote, il “daemon per il trasferimento dei file” permette di procurarsi i file contenenti le descrizioni grafiche degli oggetti qualora non siano presenti sul disco fisso della macchina locale.
Il Mondo Virtuale ed i due daemon sono stati realizzati sia per Unix (HP-UX e Linux) che per Windows 95/98/NT. Una console in grado di gestire più Mondi, anche remoti, è stata sviluppata per Windows ed una, più semplice, per Unix. Inoltre, è stato realizzato un esempio di attore per Windows che permette di simulare il movimento di un unico oggetto.
Vengono impiegati un visualizzatore ed un simulatore di catene cinematiche, che si comporta da attore, che sono stati sviluppati nell’ambito di due altri progetti.
Corsi di riferimento: “Informatica grafica”, “Robotica”, “Sistemi operativi”, “Reti di telecomunicazione”, “Telematica”.

Mostra/Nascondi contenuto.
Introduzione 4 2. Introduzione Quando si devono far collaborare diversi robot all’interno di una cella di lavorazione, è necessario programmarli uno per volta ed attraverso numerosi tentativi verificare il corretto funzionamento del sistema. Le prove da effettuarsi richiedono molto tempo e possono anche causare danni qualora, per esempio, si verifichino collisioni fra i bracci di due apparecchi differenti. In risposta a questi problemi, ci si è indirizzati verso un meccanismo che permettesse di limitare i costi in termini di tempo e denaro: la simulazione assistita da calcolatore del comportamento degli strumenti impiegati nella cella di lavorazione. Si parla, in questo caso, di programmazione fuori linea, perché il comportamento dei robot viene deciso senza il loro impiego e quindi senza causare l’interruzione delle attività già in corso sulla linea di lavorazione. In questo campo esistono già numerose applicazioni [34], ma tutte soffrono di un problema di fondo: devono essere eseguite su uno stesso computer con le limitazioni in termini di velocità di elaborazione che caratterizzano i sistemi sequenziali. Per allargare l’orizzonte, visto il notevole sviluppo attuale delle reti di telecomunicazione, diventa naturale rivolgere lo sguardo ad ambienti distribuiti in modo da sfruttare tutti i vantaggi che questi forniscono grazie alla suddivisione delle attività di calcolo [9]. Stabilire il comportamento degli oggetti, visualizzare il contenuto della cella e spostare le telecamere e le luci richiede notevoli risorse ed un computer molto potente. Questo perché la simulazione deve risultare priva di salti e sufficientemente rapida da poter rendere l’idea di che cosa effettivamente avverrà all’interno della cella di lavorazione. Suddividere le attività di calcolo significa distribuire i compiti a macchine diverse che collaborano tra loro. Diventa allora possibile usare anche più economici e diffusi processori di media potenza a patto, naturalmente, di rendere rapida la comunicazione fra di essi.

Tesi di Laurea

Facoltà: Ingegneria

Autore: Sergio Domenico Cipollone Contatta »

Composta da 239 pagine.

 

Questa tesi ha raggiunto 3311 click dal 20/03/2004.

Disponibile in PDF, la consultazione è esclusivamente in formato digitale.