REALTA’ VIRTUALI - mtcube.com · OpenVibe nette già a disposizione alcuni box con cui è...

36
REALTA’ VIRTUALI Corso di Laurea Comunicazione Digitale, Informatica, Tecnologie Musicali Prof. Raffaella Folgieri Dipartimento DEMM – Dipartimento di Economia, Management e Metodi quantitativi, Università Statale di Milano – Italy Riferimenti: ufficio: stanza 22, secondo piano DEMM via Conservatorio 7 email: [email protected] Colloqui: previo appuntamento via email

Transcript of REALTA’ VIRTUALI - mtcube.com · OpenVibe nette già a disposizione alcuni box con cui è...

REALTA’ VIRTUALI

Corso di Laurea Comunicazione Digitale, Informatica, Tecnologie Musicali

Prof. Raffaella Folgieri Dipartimento DEMM – Dipartimento di Economia, Management e Metodi

quantitativi, Università Statale di Milano – Italy

Riferimenti: ufficio: stanza 22, secondo piano DEMM via Conservatorio 7 email: [email protected] Colloqui: previo appuntamento via email

Strumenti per sperimentazione EEG/BCI: Openvibe e NeuroVR

Vedremo ora come impostare un esperimento basato su EEG interpretati tramite BCI e quindi come vengono trattate e rappresentate le informazioni provenienti da questo dispositivo su un elaboratore. Uno degli strumenti più semplici da utilizzare per impostare un esperimento (utilizzabile anche da neofiti, perché la programmazione è di tipo visuale) è OpenVibe.

OpenVibe

È un tool di authoring dedicato alla creazione e all’esecuzione di scenari creati con lo sstesso OpenVibe. E’ free, ed è scaricabile alla pagina http://openvibe.inria.fr/ Si basa su una interfaccia grafica che fornisce molti strumenti per poter fare signal processsing in un modo intuitivo, senza che siano richieste competenze in programmazione. Tutto si basa sul concetto di box, che ssono moduli di programma, contenenti algoritmi che svolgono determinati compiti e che l’utente può combinare a seconda di quello che ci occorre fare.

OpenVibe nette già a disposizione alcuni box con cui è possibile creare praticamente ogni scenario (programma) che occorre per condurre un esperimento. Sono già presenti, inoltre, alcuni scenari che possono essere utilizzati per imparare ad usare lo strumento, oppure possono essere personalizzati a piacere. Per poter condurre un esperimento, sarà necessario creare uno scenario. Gli scenari vengono composti nel modulo DESIGNER.

Il modulo DESIGNER di OpenVibe Vediamo innanzitutto come è composta l’area di lavoro. All’apertura appaiono:

- La top level menu bar - La toolbar, che permette di avere accesso

immediato alle azioni più comuni - La vista ad albero delle box disponibili - La status bar, che fornisce informazioni circa lo

stato corrente di uno scenario in esecuzione - La console, che riporta informazioni, warning o

messaggi di errore - La finestra editor dello scenario, dove le box

possono essere collocate e collegate tra loro

Designer interface in Windows7.

Menubar La barra dei menu contiene I comandi che normalmente possono essere compiuti in un’applicazione, Gli scenari sono salvati in formato XML e se ne possono aprire più di uno contemporaneamente (per spostarsi da uno all’altro basterà utilizzare i tab). Quella che segue è una lista di opzioni e di shortcut a disposizione:

File New – Ctrl+n Open – Ctrl+o Save – Ctrl+s Save As Close - Ctrl+w Quit – Alt+F4

Edit Undo – Ctrl+z Redo – Ctrl+y Cut – Ctrl+x Copy – Ctrl+c Paste – Ctrl+v Delete – Del Preferences

Toolbar La prima sezione della toolbar fornisce accesso diretto alla gestione degli opzioni di scenario. Nella seconda sezione vi sono due toolbutton: Il primo permette di mostrare o nascondee il

window manager

Window manager popup dialog for a scenario with 4 visualisation boxes, before and

after making changes.

Il secondo toolbutton mostra la dialog che permette di configurare quali messaggi di log dovranno essere mostrati nella console (in tutto i livelli sono 8)

Log levels dialog.

E’ poi presente un bottone che consente di aggiungere commenti (che non avranno influenza sul programma) sullo scenario. Con un doppio click si può modificare il testo di un commento. Un bottone analogo permette di associare allo scenario informazioni su autore, data, descrizione, ecc. La sezione successiva della toolbar contiene i bottoni dedicati alla fase di play dello scenario. Stop – F5 go back to scenario edition mode Step – F6 play scenario one step of simulation at a time Play/Pause – F7 Fast Forward – F8 play scenario as fast as possible Mentre lo scenario è in esecuzione, non è ovviamente possibile modificarlo. Infine, la toolbar contiene un contatore (timer) che mostra il tempo di durata dello scenario (in fase di play).

Box algorithms tree view La parte destra di Designer contiene una lista di algoritmi-box preesistenti che costituiscono i building block di uno scenario OpenVibe. Sono organizzati ad albero e forniscono la possibilità di eseguire diverse operazioni. Per default vengono mostrati solo i box stabili, ma se si vuole visualizzare anche quelli più vecchi “deprecated”, è sufficiente impostare l’opzione di configurazione Designer_ShowDeprecated a true.

Se si vogliono utilizzare i box “unstable” occorrerà impostare a vero l’opzione Designer_ShowUnstable. Ad ogni box è associata una descrizione ed ognuno ha uno o più input ed uno o più output. Per utilizzare i box, bisogna “trascinarli” nell’area dell scenario (edition area) e collegarli opportunamente tra loro.

Edition Area E’ l’area in cui I box vengono aggregate per comporre uno scenario.

Box Per posizionarli nello scenario è sufficiente selezionarli e trascinarli nella edition area. Appaiono come rettangoli arrotondati che recano il nome all’interno, gli input (se ce ne sono) sulla parte alta e gli output (se ce ne sono) nella parte bassa. I connettori di input e output sono evidenziati da triangoli di diversi colori, a seconda del tipo, che aiutano ad effettuare i collegamenti corretti.

Inoltre ogni box è personalizzabile. Con un doppio click ssulla box si accede alla dialog che permette di impostarne le caratteristiche (ad esempio su quale file si desidera l’output dei risultati).

Settings of a ‘GDF file reader’ box : filename text entry and number of samples to be

stored per buffer.

Comprendere a cosa serve ogni box è davvero immediato, per cui non faremo un elenco degli algoritmi a disposizione, ma se ne vedrà il funzionamento attraverso la descrizione di alcuni scenari di esempio.

Box editing Tutti I box possono essere configurati in modo personale nel Designer. Alcuni offrono le stesse opzioni di configurazione. Qui ne vedremo le principali, ma sul sito di OpenVibe, tra i tutorial, potete trovare altre informazioni. Una volta spostato un box nell’area di editing, si accede alle opzioni di configurazione con il doppio click, come abbiamo visto sopra, e ad altre con il click con il tasto destro del mouse.

Comparirà un menu che, in basso, mostrerà le opzioni possibili. ‘Rename box (F2)’ permette di attribuire un nome

diverso alla box.

‘Delete box (Del)’ rimuove la box dallo scenario. Per questa operazioni è sufficiente anche selezionare la box e premere il tasto “delete” sulla tastiera.

‘About box’ mostra una dialog contenente I dettagli della box.

Scenario editing Designer mette a disposizione i comandi standard cut/copy/paste. Inoltre si ha a disposizione anche Ctrl+a che seleziona tutto nello scenario.

TUTORIAL: come creare uno scenario Proveremo ora a costruire uno scenario semplice, per vedere quali sono I passsi da seguire. Step 1: creare un nuovo scenario Avviare Designer per far apparire la finestra principale che conterrà uno scenario vuoto.

Step 2: aggiungere una box Sul lato destro della finestra, espandendo le box messe a disposizione, possiamo scegliere quella che ci occorre e porla (drag and drop) a sinistra, nello scenario. Ci serviranno dei dati da analizzare. Possiamo utilizzare la box “Sinus Oscillator” che genera in modo random alcuni segnali. Selezioniamo la box e trasciniamola nello scenario.

Step 3: connettere le box La box Sinus Oscillator genera, in modo casuale, un segnale sinuosoidale su un numero variabile di canali. Vogliamo mostrarli utilizzando una box di visualizzazione. Un modo semplice è aggiungere una box Signal Display. Posizioniamola nello scenario (si trova sotto “Visualisation” nella sottocategoria “Basic”). Ora connettiamo input e output. Basta muovere il cursore del mouse sui connettori delle box (triangoli). Quando saremo sopra un connettore ne apparirà il nome, per aiutarci a non commettere errori. Una volta indentificato il connettore, basterà premere il tasto sinistro del mouse e, tenendolo premuto, muoversi sul connettore della seconda box, rilasciando poi il pulsante del mouse. Ora le due box saranno connesse tra loro.

Linking box algorithms using their input and output connectors

Step 4: Saving a scenario Prima di avviare lo scenario, è sempre meglio salvarlo. Questo si può fare in due modi: Aprendo il menu file e scegliendo l’opzione ‘Save As’ Fare click sull’icona ‘Save As’ che si trova nella toolbar

Step 5 : Playing a scenario Siamo pronti per eseguire lo scenario. Basterà premere il bottone ‘Play’ sulla toolbar. Apparirà una finestra popup che mosstra il segnale sinuosoidale casuale.

Per fermare lo scenario sarà sufficiente premere il bottone di ‘stop’ sella toolbar.

OpenVibe e BCI OpenVibe legge sia dati provenienti da BCI Neurosky che Emotiv. Vediamo, per passi, innanzitutto come connettere il MindWave della Neurosky con OpenVibe (la stessa cosa vale, comunque, per l’Emotiv). Inserire il dongle nella porta usb e avviare il neurosky Avviare openVibe Acquisition Server

Selezionare dal menu a tendina il neurosky

Selezionare Driver Properties e impostare le proprietà come in figura

Fare click su Applica

Poi fare click su connetti

Poi click su riproduci

A questo punto avviare openVibe designer che si aprirà con lo scenario dell’esperimento che precedentemente avremo creato.

Un setup sperimentale per BCI realizzato con OpenVibe A titolo di esempio, viene di seguito mostrato un setup sperimentale creato per rilevare le onde cerebrali di un soggetto che indossa il BCI MindWave Neurosky mentre è sottoposto a stimoli (mostrati attraverso una presentazione PowerPoint) Nota: prima di avviare (play) lo scenario, ricordarsi che deve essere avviato l’Acquisition Server di OpenVibe, per poter acquisire i dati dal Mindwave (rif. paragrafo precedente). Ovviamente dovremo anche aver creato la presentazione PowerPoint e dobbiamo specificarne il path (percorso) nelle opzioni (doppio click) della box “Show Video”.

scenario dell’esperimento

Ogni volta PERSONALIZZARE i nomi dei file che vengono scritti per salvare i dati, nelle box “CSV File Writer” e “GDF file writer”. In questo modo ai file si potrà attribuire, per esempio, il nome del soggetto sottopossto all’esperimento e data/orario. Una volta fatto questo, fare click su play e spostare le finestre dove è più comodo Quando si è pronti con l’esperimento, click sul tasto “a” della tastiera per far partire il ppt insieme alla registrazione dei dati (serve per sincronizzare la registrazione con lo stimolo dato dal PowerPoint)

Quando l’esperimento è finito, fare click sul pulsante di stop Alla fine chiudere openVibe designer, click su FERMA in OpenVibe Acquisition Server, click su DISCONNETTI e chiudere anche OpenVibe Acquisition Server.

Risorse su OpenVibe Ulteriori risorse, per chi volesse scegliere di creare un progetto con OpenVibe, possono essere reperite qui: http://openvibe.inria.fr/documentation-index/