Collega il tuo CNC tramite Kinconnect!

È davvero possibile ottenere dati 3D di qualità, pronti per la lavorazione CNC, da un'interfaccia di gioco da 150 dollari? Scopriamolo...

L'Xbox Kinect di Microsoft è un dispositivo interessante, progettato per essere collegato a una Xbox 360 e consentire l'interazione con i giochi tramite gesti e movimenti del corpo. Tuttavia, ci sono un paio di cose che hanno attirato la nostra attenzione...

Innanzitutto, viene fornito con un adattatore USB standard, originariamente pensato per consentirne l'utilizzo con le vecchie Xbox, che permette di collegarlo a un PC standard. In secondo luogo, la tecnologia dei gesti si basa su una scansione 3D dell'ambiente di fronte al Kinect utilizzando uno schema a infrarossi: questa scansione 3D sarebbe sufficientemente precisa per creare modelli 3D con un livello di dettaglio tale da poter essere tagliati con una macchina CNC?

I tre sensori che ci interessavano erano il proiettore a infrarossi, la telecamera a infrarossi e la telecamera normale. Il Kinect funziona proiettando uno schema strutturato (che assomiglia un po' a un codice a barre 2D) nell'ambiente circostante. La telecamera a infrarossi analizza come questo schema viene distorto e riflesso per creare una mappa delle distanze dagli oggetti più vicini di fronte al Kinect. Contemporaneamente, la webcam trasmette un video convenzionale della scena insieme ai dati 3D.

Con un piccolo aiuto dai nostri amici...Per accedere a questi dati abbiamo utilizzato due librerie open source: libfreenect (http://openkinect.org/wiki/Main_Page) e libusb (http://www.libusb.org/). Esistono altre opzioni, ma la scelta è stata dettata principalmente dal fatto che entrambe forniscono il codice sorgente completo, il che è sempre rassicurante quando si ha intenzione di cimentarsi in qualcosa di completamente nuovo ;)

Inizialmente Brian ha modificato l'app di esempio fornita, ma durante il fine settimana ha creato un'app MFC specifica per eseguire parte della pre-elaborazione. L'API di libfreenect si è rivelata piuttosto semplice da implementare in un progetto completamente personalizzato. Abbiamo quindi utilizzato una versione personalizzata del nostro pacchetto di modellazione e produzione CNC 3D, Aspire, per importare i dati e poterli elaborare. Nel giro di un giorno, Bri si è convinto che, con un po' di manipolazione in Aspire, i dati grezzi potevano essere combinati e migliorati a sufficienza per produrre risultati lavorabili a 3 assi piuttosto validi!

La nostra versione attuale del processo prevede cinque fasi principali:Innanzitutto utilizziamo 25 fotogrammi di dati 3D (catturati in 1 secondo) per mediare parte del rumore intrinseco presente in un singolo fotogramma.

Utilizziamo anche l'app di acquisizione personalizzata per limitare i dati 3D alle distanze di nostro interesse, con cursori per rimuovere i dati davanti o dietro al target che stiamo acquisendo.

I dati vengono quindi importati in una versione personalizzata di Aspire, dove una procedura guidata assiste il processo di allineamento dei dati 3D reali, con un basso rilievo creato dall'immagine della webcam: le ombre e le variazioni di luminosità nella foto non sono direttamente correlate alla forma 3D, ma aggiungono molti dettagli se utilizzate con giudizio.

Gli elementi del modello possono ora essere levigati, scalati o persino scolpiti singolarmente per produrre un bel modello composito.

È quindi possibile generare i percorsi utensile e tagliare il modello.

Dopo qualche ulteriore manipolazione in Aspire (per abbassare l'area della testa e ridurre lo spessore del materiale necessario), il modello è stato sezionato in modo da poterlo tagliare in 3 strati utilizzando MDF da 1" (25 mm).I pezzi sono stati poi incollati insieme...

Mostreremo il processo "Kinect yourself to your CNC" al San Francisco Maker Faire la prossima settimana (22-23 maggio 2011) e speriamo di vedere il maggior numero possibile di voi lì!