[OT ITA] Lo spamm bar (Part 1)

un LIDAR 360° precisione 1° fino a 6m per 300$: Which Is The Best Robot Vacuum Cleaner Under $200?

Prendi un diodo laser a 980nm, collimato, ed un sensore filtrato per i 980nm, con una lente decente, piazzali su una torretta girevole coassiale con un'encoder ... che ci vuole ? ... :stuck_out_tongue: XD

EDIT: o megli ancora, 3 e 3, sfalsati in altezza (collimazione a linea), di una decina di gradi, messi a triangolo (cosi hai un campo minimo anche in verticale :P)

ci sto pensando seriamente, ho trovato il paper dove spigano la tecnica ad è proprio la triangolazione.

per il laser è facile da trovare, ma il filro per il cmos dove li trovo?

Piu che il filtro, l'ottica ... poi basta prendere dei fotodiodi gia "filtrati" (che non vuol dire "ciucchi" :P), cioe' con il case in plastica opaca alla luce visibile e trasparente agli IR ... in piu se ogni gruppo lo moduli ad una frequenza diversa (ad esempio, 20KHz, 27KHz e 33KHz, o simili), per discriminare anche gli eventuali riflessi, e' ancora piu preciso ...

Comunque hai ragione, anche la reperibilita' conta molto, e per i diodi laser e' molto piu facile trovare emettitori a 808nm (te li tirano dietro a vagonate :P) oppure a 850 e 905 nm (un po piu difficili da trovare, ma totalmente invisibili), e poi per un'applicazione simile bastano ed avanzano ...

Pero' se vuoi usare la tecnica della triangolazione ti servono 2 torrette indipendenti (modulate a due frequenze diverse), una non basta ... oppure si puo usare una sola torretta, ma dovrebbe essere molto piu larga, con i due gruppi ottici alle estremita' (risolverebbe il problema della sincronizzazione, anche, ma sarebbe molto piu ingombrante), per fornire un minimo di parallasse decente ...

aspetta! tu come sensore vuoi usare un solo ricevitore (un pixel diciamo) il sistema che ho in mente usa luce visibille, con un sensore cmos o mini telecamera (quindi no arduino) che analizza l'immagine alla ricerca del punto, in base alla posizione del punto rispetto al centro dell'immagine si può ricavare la distanza. Se uso un cmos tipo quelli dei mouse, che sono 30x30 allora ce la potrebbe fare anche arduino, ma il problema è che spesso sono b/w e con lente focalizzata per il vicino.

Questo è il sistema che usano. Ovviamente il laser più è inclinato più la lettura sarà precisa, ma il raggio di lavoro corto.

il problema della sicnronizzazione non lo capisco, sarebbe semplicissimo da evitare via SW comandando lo scatto della camera e l'accensione del laser. (camera e sensore ruotano assiemegrazie ad uno stepper con buona precisone)

Come parallasse usano 6/9cm (simili ad un ping IR) e ottengono dai 10cm a 6m

x maggiori info vi linko direttamente il paper, molto interessante perchè copre molti aspetti http://www.robotshop.com/media/files/PDF/revolds-whitepaper.pdf

Be', se usi una testina rotante con due sensori alle estremita' (si, pixel, o comunque fotodiodi) e due laser perfettamente paralleli, puoi ricavare sia la distanza che la larghezza dell'oggetto (non l'altezza, purtroppo, non con un singolo piano di lettura almeno) in base agli archi di cerchio con un "semplicissimo" (punzecchiatura per i megasoftwaristi, non me ne vogliano troppo :stuck_out_tongue: XD) algoritmo trigonometrico, cosa che probabilmente (forse, spero, puo darsi :P) puo fare anche Arduino ... quello che vuoi fare tu richiederebbe almeno un DSP, Arduino non credo proprio che ce la possa fare ... opure forse potrebbe con delle camere a riga ed una scansione lenta, ma non sono sicuro neppure di questo ...

il fotodiodo non va bene, deve avere una "alta denistà" di punti, visto che sono i punti attivato dal laser a fare la differenza, o sbaglio?

Certo, esistesse una matrice come quella dei mouse, che è un cmos bianco/nero 30*30punti (ma a noi serve sensibile al laser) si può usare un arduino... ma in questo caso credo che a livello di costi una camera CMOS + chip avanzato sia più economico di un sensore del genere.

Se hai qualche idea postala perchè sono seriamente intenzionato a provare a costruire qualcosa del genere!

edit: ho capito, tu voirresti misurare l'intensità dellaluce, ma la cosa è troppo variabile in base al materiale. Meglio trovare il punto luninozo e fare la trigonometria, così https://sites.google.com/site/todddanko/home/webcam_laser_ranger

hai errori di pochi cm, e indipendenti dal materiale, in oltre a seconda dei filtri usati puoi tranquillamente funzionare anche all'aperto

edit: BINGO! 11 gram Arduino-powered laser rangefinder - Blogs - diydrones

Aspetta, ma tu vuoi un rangefinder o un lidar scanner ? ... sono due cose diverse ... per un rangefinder puoi anche usare una camera a riga o un sensore lineare da scanner singolo, ma non fai la mappatura del campo frontale con le distanze e la testa rotante ...

Per il problema dei materiali, ovvio che alcuni rifletteranno meglio di altri, ma a quel punto il problema ce l'hai anche con il rangefinder ... e poi anche con il lidar puoi fare un passaggio spento ed uno acceso per confrontarli, dipende dalla velocita' di acquisizione pero' ... su campo fisso (oggetti immobili) non dovrebbe darti problemi, ma con oggetti in movimento, sia il rangefinder che il lidar potrebbero averne ...

Buongiorno!

?????????

(ohayo gozaimatsu :stuck_out_tongue: XD)

Etemenanki:
rangefinder o un lidar scanner ?

se il rangefinder è abbastanza veloce da fare almeno 400 acquisizioni al secondo (un 360° al secondo) a me va bene, tanto lo monto su una torretta rotate e voilà, un lidar 2D :stuck_out_tongue:

Il mio scopo è mappare una stanza in 2D a basso costo (relativamente, sono disposto a spenderci diciamo 100-150€ e un pò di ore)

il problema ce l'hai anche con il rangefinder

attento, non parliamo di rangefinder, ma parliamo di triangolazione vs tempo volo (ping sonar) vs luminosità relativa

il ping sonar lo escludo a priori visto che lavora a cono, per quanto puoi stringerlo rimarrà sempre enorme, senca contare i tempi di risposta, legati proprio al tempo volo!

allora si può usare la luce (qualcuno conosce qualcosa di più veloce?) ma ovviamente calcolare il tempo volo è impossibile con i nostri mezzi, sopratutto per le distanze che ci interessano.

Il sistema della luminosità relativa lo ho affrontato bene con gioblu, che con il suo sistema attuale ERER (ora usa un fotodiodo per ricevere), e sta studiano una formula "universale" che data una taratura iniziale dia un risultato lineare in base alla distanza a diverse intensità luminose esterne. A parte che già rimanendo sulla calibrazione specifica per la luminosità l'errore è di quasi 10cm a 2 metri, e mooolto dipendente dall'oggetto (dovrei chiedere a gio se mi passa i dati grezzi degli esperimenti da pubblicare, sono interessanti da analizzare, ma credo che prima vorrà pubblicare l'articolo)

per quanto riguarda la triangolazione invece, a noi basta trovare il punto più luminoso dell'immagine (do per scontato che il sensore abbia un filtro per la frequenza di luce) e fare una operazione matematica semplicissima. l'unico problema che vedo sarebbe uno specchio che riflette il punto esattamente nella telecamera, "accecandola" (o puntare direttamente il sole, per lo stesso motivo)

400 acquisizioni al secondo con arduino le vedo dure ... considera che in quel modo devi acquisire e memorizzare una prima immagine a luce ambiente, accendere il laser, acquisire e memorizzare una seconda immagine, estrarre dalle due immagini le striscie di pixel che ti servono, fare i confronti, e calcolare il punto piu luminoso, il tutto ti porta via un po di tempo, credo, anche se usassi un CCD lineare invece di una telecamera (per poter acquisire la strip di pixel in una passata, invece di dover memorizzare l'immagine, scannerizzarla in matrice ed estrarne i pixel che ti interessano, cosa che credo sia molto piu lenta :wink: ) ... mi sa che ad andarti di lusso, riuscirai si e no a fare 8 o 10 acquisizioni al secondo (ma proprio ottimizzando al massimo :P)

(qualcuno conosce qualcosa di più veloce?)

Tachioni ... ma poi il sensore ti costa un 1,32 gazillioni di dollari, e pesa 97.000 tonnellate, non so se ce lo fai stare su un quadricottero :stuck_out_tongue: XD XD XD

Seriamente, no, senza dei chip custom dedicati, come ad esempio quelli dei telelaser, la gestione della misura delle distanze in base al tempo usando la luce e' improponibile ... puoi, con un po di accrocchi hardware, fare una distanza in base al parallasse usando un sensore lineare come nei telemetri laser, ma anche quella e' 2D ...

eter, ti è sfuggito il link che ho postato editando qualche messaggio fa: 11 gram Arduino-powered laser rangefinder - Blogs - diydrones

usa un arduno e una telecamenra CMOS (ArduEye) 112x112 pixel; all'inizio ha verificato che il laser a varie distanze fosse visibile, ed è arrivato a misurare distanze di 12 metri con un laser rosso a 2w (credo sia il classico puntatore, per intenderci)

a questo punto anzichè leggere tutto il sensore, legge 3x32 pixel (96 punti, però specifica che perde in distanza massima)! così facendo ha una velocità d acquisizione di ben 200Hz, ma io CREDO che lui sia limitato non dalla potenza arduino

il tutto ha un peso di circa 10 grammi, quindi facile da usare un comune servo per gli esperimenti!

Non mi e' sfuggito, ma guardando il video, io vedo lampegiare il led della schedina di acquisizione a 7 o 8 Hz (forse qualcosa di piu, nelle prove in cui il lampeggio e' piu veloce), non certo a 200 :wink:

lui DICE che puo portarlo a 200Hz per distanze minori ... ma dubito che Arduino sia in grado di processare immagini a quella velocita', anche trattandosi di una camera a 128x128 pixel ... a meno che la "camera" in questione sia solo un'array indirizzabile di fotodiodi, e non una vera e propria camera con un sensore di immagine CCD o CMOS, nel qual caso potrebbe limitarsi a leggere le tre strip di pixel indirizzandoli direttamente, come in una matrice lineare di fotodiodi (cosa che con i sensori di immagine non puoi fare) ... in quel caso forse ci puoi arrivare ...

Devo vedere se riesco a trovare da qualche parte un datasheet della cosiddetta "camera" (ogni volta che cerco di aprire il link della centeye che ha postato, ottengo "internal server error" ... pero' mi ricordo di quella compagnia, fanno matrici di sensori indirizzabili)

il che mi fa venire in mente una cosa ... se quella cosiddetta "camera" e' in realta' una matrice di fotodiodi indirizzabile, allora la puoi usare anche in modo "pseudo-3D" (ovviamente rallentando il processo) ... intendo che se invece di limitarti ad un punto, focalizzi il laser in una corta barra verticale (basta una lente semicilindrica) ed acquisisci piu di una striscia di pixel (tipo, una ogni 10 o 12), ottieni una lettura su piu livelli per ogni punto di lettura ... scansiona, ed hai una specie di griglia 3D, anche se molto approssimativa ...

EDIT: trovato, come pensavo, non e' una telecamera, e' proprio un'array di fotodiodi indirizzabili, http://api.ning.com/files/P7eVLsVGQ0vNtDttVkKoZuRn65YZcTytemgfVy8AHxlsHncH6lsTlJg5he0csvSUOPOsxaxrSqIrMTOxPFg6e1kvRctZSx0J/Stonyman_Hawksbill_ChipInstructions_Rev03_20111104.pdf ... allora si, forse ci arrivi (non a 400Hz, ma forse a 200 si :P)

Stavo guardando il loro sito (il link postato non funziona, bisogna entrare diretti e navigarlo) ... interessante notare come, nonostante descrivano un po tutti i loro prodotti, ne nel sito ne nei datasheet menzionino la cosa piu importante quando si tratta di fotodiodi, e cioe' la CURVA DI RISPOSTA SPETTRALE :stuck_out_tongue: XD XD XD ... comunque, dato che e' tecnologia standard al silicio, si puo supporre che la curva di risposta standard sia quella dei "normali" fotodiodi al silicio, quindi miglior risposta nel campo dal rosso all'IR ... filtrando uno di quei sensori con un filtrino che esclude tutto quello che sta sopra ai 700 / 750nm, ed usando un normale modulino laser ad 808nm, dovresti incrementare il risultato ed eliminare buona parte dell'interferenza dovuta alla luce ambiente (pero' potevano anche sprecarsi a scriver euna cifra in piu, neh ? ... :stuck_out_tongue_winking_eye: ]:smiley: :stuck_out_tongue_closed_eyes:)

400Hz usando 32*3 pixel! usandoli tutti non so nemmeno se arduino ha abbastanza ram :slight_smile:

cavoli i ds non riesco a scaricarli (maledetto proxy, mi fdice che il sito è social...) però questa storia dell'array di fotodiodi spiega un pò di cose... per esempio come mai è così veloce, le telecamere CMOS con 400FPS sono roba professionale :slight_smile:

ora vorrei trovare un pò di questi sensori per capire se ce ne sono di più veloci, o se la velocità di quel progetto è legata solo ai limiti arduino o al fatto che hanno usto valori standard, senza magari settare il bus al massimo

lesto:
...
cavoli i ds non riesco a scaricarli ...

Ti ho caricato il datasheet di quei chip su sendspace, vedi se da qui te lo fa scaricare.

La seguente categoria Websense è soggetta a filtro: Personal Network Storage and Backup.

li odiooooo (ora lo scarico da cellulare...)

Ma scusa, che rete hai ? ... "categoria websense" ? ... :fearful:

è il proxy aziendale

lesto:
è il proxy aziendale

a me blocca qualsiasi sito che abbia nell'indirizzo la parola mp3 ora non posso comprare un giradischi =(