Set per realizzare il sistema “CAPTURE360” (Foto, GIF e video)

Esaurito

Set contenente il materiale necessario per realizzare una piattaforma rotante, controllata da Raspberry Pi, che permette di fotografare a tutto tondo qualsiasi oggetto per poi condividerlo in formato foto, GIF e video.

 

Set contenente il materiale necessario per realizzare una piattaforma rotante, controllata da Raspberry Pi, che permette di fotografare a tutto tondo qualsiasi oggetto per poi condividerlo in formato foto, GIF e video.

Scattare fotografie a 360° e visualizzarle in un file GIF animato è una tecnica suggestiva e già utilizzata in pratica, per mantenere o comunicare l’aspetto complessivo di un oggetto; sostanzialmente somiglia molto a quello che fa uno scanner 3D a sola telecamera, con la soladifferenza che qui viene creato un video o, se si preferisce, una GIF animata dell’intera ripresa. Come nello scanner 3D, l’oggetto viene fatto ruotare sul piano orizzontale mediante un piatto motorizzato e l’avvio della rotazione fa da trigger all’inizio della ripresa o allo scatto di una sequenza di fotogrammi da parte della telecamera.
In questo articolo vi presentiamo una piattaforma estremamente semplice da utilizzare e veloce da costruire che, tramite una web app, consente di scattare delle foto o registrare dei video a un oggetto posto su una piattaforma messa in rotazione da un motore passo-passo.
Nel dettaglio, sono state previste tre modalità di ripresa, per ciascuna delle quali è necessario impostare specifici parametri di configurazione:

  • Photo: viene eseguita una sequenza di fotogrammi dei quali si può impostare la risoluzione e la quantità delle fotografie scattate per ciascun giro di 360 gradi;
  • GIF: creazione di una Animated GIF con la possibilità di impostare la risoluzione delle foto che comporranno la GIF stessa, la quantità di scatti per giro completo, il frame-rate (FPS) con cui sarà generata la GIF e il numero di giri che la piattaforma dovrà compiere;
  • Video: corrisponde a creare un filmato, per il quale è possibile impostare la risoluzione video, il frame-rate corrispondente e il numero di giri che la piattaforma girevole dovrà compiere.

Inoltre è prevista un’impostazione di trigger che consente di salvare una delle tre modalità (con i relativi parametri impostati) in modo da poterla richiamare a piacimento tramite la pressione del pulsante trigger sull’interfaccia grafica o tramite un pulsante di trigger fisico che sarà collegato a un preciso pin dell’header di espansione GPIO della Raspberry Pi.
Sarà altresì possibile distanziare la Raspberry Pi e la Pi Camera dalla piattaforma rotante per poter inquadrare gli oggetti più voluminosi; il pulsante di trigger fisico potrebbe risultare comodo proprio in questo caso, per non doversi recare ogni volta alla postazione PC per avviare la cattura.
Nel caso in cui vengano scaricate le foto, nell’archivio troveremo anche un utile widget HTML che potrà essere inserito in una pagina web e, tenendo cliccato il puntatore sulla foto mentre lo si trascina verso destra o verso sinistra, l’oggetto fotografato ruoterà su se stesso come un oggetto 3D; naturalmente in una cartella dell’archivio scaricato troveremo tutte le foto utilizzate dal widget e che potremo anche usare come meglio vogliamo.
L’interfaccia della web app sarà fruibile su un browser di qualsiasi dispositivo fisso o mobile della nostra rete (dopo aver impostato la connessione WiFi sulla board Raspberry Pi), oppure direttamente sull’ambiente desktop di Raspberry Pi collegando un monitor, un mouse e una tastiera (o, in alternativa, un display touchscreen come il 2850-10INCHHDMI reperibile sul sito e-commerce www.futurashop.it).

L’hardware del sistema è ottenuto da un telaio sul quale è montata l’elettronica, formata dalla scheda Raspberry Pi 3 Tipo A+ con Wi-Fi e Bluetooth e dalla sua telecamera, che è del tipo con ottica regolabile, oltre che da uno shield per la gestione del motore passo-passo (NEMA 17) che fa ruotare il piatto su cui l’oggetto verrà appoggiato. La telecamera con obiettivo regolabile è stata scelta perchè consente di ottimizzare la messa a fuoco dell’oggetto, in quanto quella originale per Raspberry Pi ha una distanza di messa a fuoco maggiore di quella esistente tra la base e il piatto girevole che ospita l’oggetto da riprendere. Potendo regolare con precisione la messa a fuoco, siamo in grado di ottenere la miglior definizione in fase di taratura, prima di avviare la scansione. La telecamera ha una risoluzione di 5MP per Raspberry Pi, con una lunghezza focale da 6 mm regolabile. Il sistema si connette in rete: la gestione di tutte le funzioni, così come le impostazioni dei parametri, avviene mediante rete WI-Fi, quindi è effettuabile anche da remoto, tramite un qualsiasi computer.

La struttura meccanica è formata da parti in plexiglass; i blocchi principali sono la base, che contiene al centro l’elettronica e un braccio in cima al quale è snodata la telecamera, ed un piatto rotante spesso 4 mm che sorregge l’oggetto.
Il piatto rotante è sostenuto da quattro colonnine che lo vincolano al cerchio interno di una ralla metallica; una traversa avvitata a due di queste colonnine lo mette in rotazione, a sua volta vincolata tramite un mozzo cilindrico, avvitato mediante un grano all’albero di un motore passo-passo NEMA17, a sua volta pilotato dallo shield montato sulla Raspberry Pi.
La parte esterna della ralla è avvitata a una base di sostegno composta da due dischi in plexiglass uniti e spaziati da quattro colonnine distanziali.
Il motore passo-passo è avvitato con la flangia anteriore al disco superiore in plexiglass.

La confezione comprende Raspberry Pi 3 A+, telecamera a colori da 5 Megapixel, la piattaforma rotante con motore passo-passo e il driver.

Caratteristiche tecniche
  • Telecamera: 5 Megapixel con ottica regolabile
  • Risoluzione video: 1920×1080 a 16:9
  • Rotazione oggetto: 360° tramite stepper-motor
  • Connessione dati: WiFi
  • Interfaccia utente: WebApp
  • Tensione di alimentazione: 12 VDC
  • Corrente assorbita: 1,5 ampere
Schema di cablaggio
Tipi di Scanner
Rispetto alla tecnologia a sola telecamera, quella a LASER più telecamera presenta i seguenti pregi:

  • maggiore contrasto dell’immagine perché le riprese della telecamera sono ottenute dalla riflessione della luce del LASER, quindi l’immagine ottenuta è buona anche con poca luce; permette un maggiore dettaglio, dovuto al fatto che non analizza un semplice fotogramma, ma una linea molto luminosa sulla superficie dell’oggetto, quindi consente di rilevare anche piccole asperità della superficie e fornire una migliore immagine delle variazioni di forma;
  • riesce a ottenere la scansione anche di oggetti dalla forma e superficie uniforme;
  • non richiede l’applicazione di uno sfondo alla scena da riprendere;
  • richiede minore potenza di calcolo per la costruzione del modello tridimensionale.
Come Funziona

Per acquisire la forma dell’oggetto, il nostro sistema esegue un’analisi superficiale dello stesso, facendolo ruotare su un piatto di un grado o frazione per volta mentre gli viene puntata contro la luce di un LASER lineare; il LASER proietta una linea verticale che copre l’intera altezza dell’oggetto da scannerizzare e la luce riflessa raggiunge una telecamera che acquisisce le immagini risultanti e le passa all’apposito software. Per acquisire tutte le informazioni necessarie, l’oggetto viene fatto ruotare di un angolo a discrezione, sebbene di norma si faccia una rotazione completa (360 gradi). Il programma permette di stabilire quanti passi deve compiere il motore NEMA 17 per un giro intero (360°) fino a 6.400; il nostro stepper-motor è da 200 passi/giro e, pilotato con lo shield, compie uno step ogni 32 impulsi su STEP giunti dalla Raspberry Pi 2; quindi 200 step moltiplicati per 32, fanno 6.400. I fasci lineari dei LASER sono tra loro inclinati, sul piano orizzontale, di 60 gradi, quindi la telecamera, essendo centrata rispetto ai due LASER, è angolata di 30° rispetto al fascio di ciascuno. Lo scanner deve funzionare in un ambiente non eccessivamente illuminato, in modo che vi sia un netto contrasto tra la zona colpita dalla linea di ogni LASER e la superficie dell’oggetto da scansionare. Quando si avvia la scansione, la Raspberry Pi 2 inizia ad acquisire le immagini (frame) fornite dalla telecamera, con una periodicità impostata dal software: il valore predefinito è 800 per giro completo del piatto e quindi dell’oggetto, ma abbiamo provato ad operare anche con 2.000 fotogrammi/giro.

L’esigenza di adottare un secondo LASER nasce quando bisogna scannerizzare ad esempio un cubo: in questo caso, infatti, utilizzando un solo LASER si creano alcune zone d’ombra a causa del disassamento (ossia della diversa angolazione con la quale i due elementi si rivolgono al pezzo da scannerizzare) tra la telecamera e il LASER. Nel caso specifico, non essendo i due sullo stesso asse, durante la rotazione ci sono zone in cui il raggio viene oscurato da una delle pareti e non giunge alla telecamera, impedendo di percepire il raggio riflesso e determinando perciò dei “buchi” nel modello acquisito. Se aggiungiamo un secondo LASER sfasato di 30 gradi nel senso di rotazione antioraria, le zone d’ombra scompaiono: infatti quando l’oggetto ruota superando l’angolazione critica del primo LASER, la zona d’ombra viene scannerizzata attraverso il secondo LASER. Per l’acquisizione di oggetti che non presentano sfaccettature tali da nascondere la linea del LASER all’occhio della telecamera, si può utilizzare per la scansione, un LASER soltanto. Vediamo quindi come avviene l’acquisizione: in ciascun fotogramma scattato, viene considerata la riflessione della linea del LASER, che è verticale e costituisce una sottilissima fetta della superficie; ad ogni rotazione si ottiene quindi un fotogramma con una fetta illuminata che cade in una posizione sempre diversa, fino a completare la superficie desiderata.
La Raspberry Pi 2 analizza, per ciascun fotogramma, la zona illuminata, scartando il resto dell’immagine, che le serve giusto per verificare la corretta sequenza di accodamento delle fette; rimettendo insieme le fette si ricostruisce l’immagine.

Meccanica e Ottica
Passiamo adesso alla struttura meccanica dello scanner, che è l’insieme di parti stampate in plastica (ad esempio con la nostra 3Drag) assemblate mediante barre filettate in ferro e bulloni; i blocchi principali sono la base, che contiene al centro l’elettronica e la telecamera e ai lati i due LASER lineari, e il piatto che sorregge l’oggetto, girevole su una boccola vincolata a un sostegno in plastica collegato mediante le barre filettate alla base. Il piatto può essere ottenuto da un disco di plexiglass o forex spesso 4 mm, ma anche di PLA e quindi stampato; dopo avergli applicato un foglio nero di copertura, individuatene il centro e riportatelo sotto forma di punto con un pennarello indelebile. I LASER lineari sono a luce rossa (lunghezza d’onda di 650 nm) di Classe 3A (cod. 2510-LASER5MWLINEA); ciascuno sviluppa una potenza ottica di 3 mW e richiede un’alimentazione a tensione continua di 4÷6 V (assorbe 280 mA). Il LASER integra una lente collimatrice asferica per convogliare la luce in un unico punto, che poi viene trasformato in linea grazie a una lente cilindrica acrilica posta all’uscita del raggio LASER, in modo da creare un fascio di luce a sezione triangolare con un’apertura di circa 45°.
Il Software
Il software implementa un’interfaccia web, tramite la quale possiamo operare con lo scanner, ovvero effettuare le impostazioni e le acquisizioni. Per ciascuna acquisizione viene generato un file.

FreeLSS implementa:

• anteprima real-time della scansione;
• calibrazione assistita;
• supporto per la modalità a due LASER;
• fino a 6.400 step per rotazione del piatto;
• supporto per camera Still mode e Video Mode;
• impostazione dei parametri di elaborazione d’immagine;
• possibilità di ottenere immagini parziali per effettuare il debug in caso la scansione non riesca;
• supporto per il movimento manuale del piatto girevole.

Documentazione e link utili

Menu