Kinect e OpenNi

Posted febbraio 8th, 2011 in Articoli Tecnici by vannyn

Stamattina ho avuto un po di panico perchè ho rimosso le librerie OpenNi e i Driver per Kinect della PrimeSense per installare le nuove versioni (era da un mesetto che non mettevo mano alla kinect) e ho avuto il solito errore “One or more of the following nodes could not be enumerated”.

Si tratta di un problema di installazione dei driver oppure di abilitazione delle chiave per Installare Openni (0KOIk2JeIBYClPWVnMoRKn5cdY4=).

Ho chiuso gli occhi, contato fino a 10, rimosso tutto quello che riguarda OpenNi, PrimeSense e co. e tutto ha funzionato reinstallando seguendo le seguenti istruzioni (prese da  qui):

1. Make sure you have a separate power adapter for your Kinect, you’ll need it.
If you bought a standalone Kinect it came with one in the box.
If you bought a Kinect with a XBox360 bundle you may have to order one from Microsoft.

2. If you already have Kinect drivers installed that are NOT from OpenNI, make sure you delete them from your system first!
For example the OpenKinect/libfreenect ones or the Code Laboratories CL NUI ones.
These usually show up under a “libusb” folder in your Windows Device Manager, where you can also delete them,

3. Download and install OpenNI
http://www.openni.org/downloadfiles/openni-binaries/21-stable
Note that you want the stable version (v1.0.0.23), not the unstable one (v1.0.0.25)

4. Download and install the Kinect drivers
https://github.com/avin2/SensorKinect/tree/master
Run SensorKinect-Win32-5.0.0.exe file from the Bin folder
Note that you don’t pull the one from the unstable branch, but the one from the master branch
(If you see an OSX and Linux installer in the bin folder you’ve got the wrong one!)

5. Download and install NITE (user tracking module)
http://www.openni.org/downloadfiles/openni-compliant-middleware-binaries/34-stable
Use this key during installation: 0KOIk2JeIBYClPWVnMoRKn5cdY4=

6. Make sure your Kinect is connected directly to your computer not through a USB hub
Your Windows Device Manager should look something like this:

7. Check if everything works by running one of the OpenNI samples:
C:\Program Files (x86)\OpenNI\Samples\Bin\Release\NiSimpleViewer.exe
This should display a fullscreen videostream of the depth feed from your Kinect

8. If the sample works then you’re ready to start Brekel Kinect 3D Scanner from your windows start menu.
If you have problems the OpenNI google groups are a great source for help and news:
http://groups.google.com/group/openni-dev

Note: If your firewall aks for permission to open a port please hit accept.
This is needed for streaming the data across your local network, or between applications.

VLC – font cache rebuild fix

Posted febbraio 7th, 2011 in Articoli Tecnici by vannyn

Vlc è il player video che utilizzo da anni e ci sono un po affezionato. Ultimamente però ho avuto qualche problema visto che prima di far partire il video a volte si avviava un processo di “font cache rebuild” che piantava il programma per minuti!
Ho cercato la soluzione (e l’ho trovata qui) e me la segno qui, magari può essere utile a qualcuno:

Soluzione:

Apri VLC player.

Nella barra dei menu: Strumenti->Preferenze (in inglese Tools -> Preferences)

In basso a sinistra Mostra le impostazioni -> Tutto (in inglese Show settings -> ALL)

Aprire la scheda Video e quindi cliccare su “Sottotitoli OSD”  (Subtitles/OSD)

La terza riga dovrebbe essere: “Modulo di rendering del testo” (Text rendering module)

Impostala su “Funzione generatore font dummy” (“Dummy font renderer function”)

Salva ed esci.

Per me ha funzionato, spero sia utile.

Wiiconnects – per il collegamento bluetooth tra PC e wiimote

Posted febbraio 1st, 2011 in Articoli Tecnici by vannyn

Nel progetto della mia tesi ho avuto a che fare con wiimote e periferiche bluetooth, e ho avuto non pochi problemi a per capire come far funzionare le due cose assieme.

Infatti il Wiimote non è una periferica adattata per collegarsi al pc e il collegamento richiede una procedura particolare che prevede che la periferica, una volta collegata, venga disabilitata come periferica HID e subito dopo riabilitata (utilizzando la checkbox presente nelle proprietà della periferica bluetooth).

Nell’esempio che ho creato è disponibile la soluzione che ho adottato per collegare, ricollegare e disconnettere un wiimote (attenzione: bisogna impostare l’ID della periferica nell’apposita casella di testo).

Il collegamento bluetooth è stato realizzato con la libreria 32Feet.NET di InTheHand? (http://32feet.codeplex.com/).

Dopo il collegamento viene istanziata la libreria WiimoteLib di Brian Peek (http://wiimotelib.codeplex.com/) che consente di utilizzare i dati che arrivano dal wiimote ( Sensori IR, pulsanti, accelerometro, etc.).

Ecco il progetto: http://code.google.com/p/wiiconnects

Wiimote: collegamento bluetooth e analisi dei dati con c#

Posted novembre 26th, 2010 in Articoli Tecnici by vannyn

Ho realizzato un progettino in C# (.NET 4.0) che mostra un esempio su come collegarsi ad un wiimote via bluetooth utilizzando le librerie InTheHand.NET e WiimoteLib.

Qui il link: http://code.google.com/p/wiiconnects/

enjoy it!

Arduino + Nunchuck + WiiMotePlus

Posted settembre 11th, 2010 in Articoli Tecnici by vannyn

Per il progetto della mia tesi sto realizzando un’interfaccia di interazione a 6DOF che combina accelerometro, giroscopio e infrarossi.

La tecnologia che sto utilizzando è in pratica contenuta nel telecomando della Wii, in particolare il WiiMotion Plus che contiene al suo interno il giroscopio a 3 assi, e il nunchuck, da cui estraggo l’accelerometro (sempre a 3 assi).

Perchè usare usare Nunchuck e WiiMote+? Perchè costano meno di un accelerometro e di un giroscopio, sono facilmente reperibili nei supermercati e soprattutto in rete esiste tanta documentazione.

Collego i due dispositivi tra loro e poi il WM+ ad un Arduino.

Lo sketch che utilizzerò probabilmente sarà in gran parte preso da qui e qui.

====================================

Appunti:

Codice per impostare GND e PWR le uscite analogiche (2 e 3 nell’esempio) dell’arduino:

  byte pwrpin = PC3;
  byte gndpin = PC2;
  DDRC |= _BV(pwrpin) | _BV(gndpin);  // make outputs
  PORTC &=~ _BV(gndpin);
  PORTC |=  _BV(pwrpin);
  delay(100);  // wait for things to stabilize

Connessione per Nunchuck /WM+ (preso da qui)

Il connettore della Arduino ha sei pin (ma il 2 e il 5 non sono utilizzati). 
| 1 2 3 |
|       |
| 6 5 4 |
|_-----_|
Nota: i colori qui sotto si riferiscono al cavo Nunchuck (quello rivestito di bianco), non alle “prolunghe” non saldate che si vedono nella mia foto:

  • pin 1: verde - data (Arduino analog pin 4)
  • pin 2: (not connected)
  • pin 3: rosso - 3.3V
  • pin 4: giallo - clock (Arduino analog pin 5)
  • pin 5: (not connected)
  • pin 6: bianco - GND
  • Gestire la lista di cose da fare con The Deadline

    Posted giugno 11th, 2010 in Articoli Tecnici by vannyn

    Ho scoperto tramite Hackfwd che da pochi giorni è uscita la prima beta di un servizio online anche se non estremamente innovativo, sicuramente ben progettato e con tante ambizioni e buoni propositi: the deadline.

    Si tratta di un sistema di gestione dei TODO che consente di gestire agevolmente la lista di cose da fare. Sono integrate funzioni di tagging (#etichetta) e di collaborazione (@utente).

    The Deadline è ospitato dall’appengine di google, un servizio che mette a disposizione gratuitamente un ambiente di sviluppo integrato in cui poter sviluppare applicazioni web senza investire tempo e denaro in hosting/server.

    Sarà il prossimo servizio che google acquisirà?

    Librerie AS3

    Posted maggio 19th, 2010 in Articoli Tecnici by vannyn

    Ecco una raccolta di librerie (in aggiornamento) per AS3 (in ARANCIO quelli che uso più spesso)

    Motori 3D

    Motori per giochi 3D

    Framework animazione 3D

    Motori fisici 3D

    Motori di gioco 2D

    Motori per le Isometrie

    Realtà aumentata (Augmented Reality)

    Animazione e transizioni (Animation Tweening Engines)

    Motori fisici 2D (2D Physics Engines)

    Sicurezza

    Librerie Audio

    Sistemi particellari

    Rappresentazione dei dati

    Kit di caricamento (Loading Kits)

    OOP Frameworks

    Altre API e librerie

    (via blognaadrianparr)

    Flashdevelop embed

    Posted maggio 19th, 2010 in Articoli Tecnici by vannyn

    Interessante articolo che spiega una particolare tecnica di embedding di sprite su Flash Develop. L’avessi vista prima non avrei perso alcune ore della mia vita…

    link: http://prototyprally.com/mgas3fd-4-more-embedding/

    Adobe loves Apple

    Posted maggio 13th, 2010 in Articoli Tecnici by vannyn

    Adobe ama Apple.

    Campagna di “sensibilizzazione” di Adobe rivolta (sarcasticamente) a Apple in merito agli ultimi risvolti del dibattito tra le due mutlinazionali (Apple non vuol mettere Flash nell’iPhone  e non vuol consentire l’esportazione di applicazioni per iPhone dal Flash CS5).

    via http://news.cnet.com/8301-30685_3-20004884-264.html

    AS3: Errore in Filereference Load()

    Posted maggio 9th, 2010 in Articoli Tecnici by vannyn

    In Flash per caricare un file si usa la funzione load() della classe FileReference. Un errore che capita spesso durante la compilazione è il seguente:

    Call to a possibly undefined method load through a reference with static type flash.net:FileReference.

    In questo caso basta impostare il compilatore di Flash (in publish settings) con compatibilità per flash player 10 (anzichè 9).

    Questo eprchè la funzione load è disponibile dalla versione 10 (ma và!).