Gli occhi per il mio robot? il LIDAR-Lite

Ciao a tutti, visti i grandi risultati fin'ora ottenuti dal mio robot, sto seriamente pensando ad aggiungergli (finalmente) la vista.

Avevo acquistato a riguardo 3 sensori ad ultrasuoni che però, fatti tutti i miei calcoli, non risultano la scelta ottimale. Troppo poco preciso l'ultrasuono dato che quello che ho in mente di fare è una vera e propria scansione del terreno.

Ho iniziato a cercare, sopratutto per capire se Arduino possa gestire tutto cio' e sono fortemente convinto che si possa, seppur con dei limiti, creare una scansione del terreno (un'immagine ogni 5 secondi circa).
Naturalmente serve un qualcosa tipo un calcolatore di distanze laser!
Ci sono un sacco di bei pezzi nel mercato ma molti dei quali, sia per quanto riguarda il prezzo, sia per quanto rigurarda assorbimento di corrente e voltaggio, sembrano non essere troppo amici di Arduino..
fino a quando non ho trovato LIDAR-Lite Laser Rangefinder

Questo dispositivo, ad una prima occhiata sembra realmente grandioso e il prezzo è inferiore ai 100 euro.
Ecco link e datasheet:

http://www.robotshop.com/eu/en/lidar-lite-laser-rangefinder-pulsedlight.html

Ora, naturalmente la vista al mio robot non gliela fornisco solo con l'acquisto di questo bel gingillo ma se poi montassi tale gingillo su un paio di servi che gli fanno fare un bel movimento orizzontale sinistra destra per poi scendere di un unità e poi nuovamente sinistra destra e nuovamente scendere di un unita' per poi riprendere sinistra e destra.... beh... otterrei una scansione 3D perfetta della zona frontale del mio robot.. punto 3D acquisito per punto 3D acquisito, otterrei una griglia di punti nell'area frontale rispetto al robot; ognuno di tali punti sara' ad una distanza e quindi il gioco sarebbe fatto.

A quel punto ciao ragazzi.. il robot sara' "consapevole" delle distanze, della situazione degli ostacoli di fronte a lui, e della propria prospettiva rispetto al mondo fisico che lo circonda; senza ovviamente tutte le approsimazioni di un sensore ad ultrasuoni. Mi potrei sbizzarrire in maniera scandalosa nel creare codici per far si che le zampe del mio robot si posino nel punto migliore.. haha mi viene quasi la bava alla bocca :slight_smile:

In piu' essendo laser, non dovrebbero esserci problemi riguardo l'utilizzo in interno o in esterno ed eventuali fonti di calore non rovinerebbero la misurazione.

Qualche domanda:

A) Ho visto nel datasheet che il consumo è di 100ma..
mmm considerando che ho gia' collegato alla mia MEGA2560 : la scheda Adafruit servo driver, 4 sensori tattili e il giroscopio MPU6050... dite che ci siamo?
Non vorrei superare i valori limite della MEGA.. che attualmente non ricordo..
Mi dite se per voi sono dentro o fuori i limiti di ampere della MEGA? sia per quanto riguarda gli ampere massimi per la singola periferica collegata sia per quanto riguarda il totale di ampere gestibili da Arduino.

B) Sempre da datasheet noto come i canali di comunicazione siano sia l2c sia pwm; cio' significa che potrei allacciare questo dispositivo anche nella scheda Adafruit servo driver? in effetti questa scheda può gestire 16 dispositivi pwm! Mi date conferma?

C) Se scegliessi come canale di comunicazione l' l2c.. io sto gia' utilizzando l' l2c per far comunicare la mia Arduino sia con il modulo MPU6050 sia con la scheda Adafruit.. a quel punto, aggiungendo questo gingillo laser, sarebbero 3 periferiche che utilizzano tale protocollo.. certo, avrebbero indirizzi diversi ma mi pare astrobeed scrisse qualcosa a riguardo e se non ricordo male era una roba tipo "2 periferiche l2c ci stanno ma tre inizia ad essere troppo"...
potrei incontrare particolari problematiche?

Per ora è tutto, grazie per l'eventuale aiuto! :slight_smile:

Per i problemi software non saprei, ma per le alimentazioni, se hai un po di roba attaccata, ti consiglierei di usare un secondo regolatore, anche solo un buon vecchio 7805 (con opportuna aletta di raffreddamento, ovviamente), per alimentarci tutto quello che assorbe di piu, lasciando al regolatore dell'arduino solo la scheda ed al massimo le periferiche con minor richiesta di corrente ... prima che si strini :wink:

Etemenanki:
Per i problemi software non saprei, ma per le alimentazioni, se hai un po di roba attaccata, ti consiglierei di usare un secondo regolatore, anche solo un buon vecchio 7805 (con opportuna aletta di raffreddamento, ovviamente), per alimentarci tutto quello che assorbe di piu, lasciando al regolatore dell'arduino solo la scheda ed al massimo le periferiche con minor richiesta di corrente ... prima che si strini :wink:

Ah questa è gia' un ottima notizia!
scusa la mia ignoranza ma tale regolatore va attaccato ai 5v Arduino? e a quel punto attaccherei l'alimentazione della periferica esterna in tale regolatore.

Oppure tale regolatore va collegato ad un 5v provvisto da una fonte esterna? (tipo batterie)
Mi puoi spiegare meglio?

Dipende da come fai il circuito ... puoi anche fare un'alimentatore esterno leggermente piu "robusto", da alimentare con 9V o simili, ed alimentarci anche Arduino tramite il pin dei +5V, senza usare il jack (pero' se hai dei motori, consiglio di filtrare l'alimentazione molto bene) ... magari con un L200 o un regolatore che regga un po piu dell'ampere che porta il 7805 ... che pacco di batterie usi ?

Etemenanki:
Dipende da come fai il circuito ... puoi anche fare un'alimentatore esterno leggermente piu "robusto", da alimentare con 9V o simili, ed alimentarci anche Arduino tramite il pin dei +5V, senza usare il jack (pero' se hai dei motori, consiglio di filtrare l'alimentazione molto bene) ... magari con un L200 o un regolatore che regga un po piu dell'ampere che porta il 7805 ... che pacco di batterie usi ?

Allora, attualmente la mia Arduino è alimentata dalla porta USB ma ho gia' pronto un pacco batterie (4).

L'Arduino alimenta :
A) 4 sensorini tattili (penso sia davvero roba piccola in ambito di Ampere) sia l'MPU6050.
B) La scheda Adafruit servo driver

L'Arduino e' alimentata da:
A) USB o pacco batterie.

La scheda Adafruit alimenta:
A) 8 servi e tale alimentazione provviene da un alimentatore esterno.

Ora rimane la questione gingillo laser..
Dovrebbe essere collegato all'alimentazione fornita da Arduino ma in effetti potrei alimentarla anche da una fonte esterna..
ma m'incuriosisce il discorso nuovo regolatore..

Avendo ora piu' chiaro come e' formato il mio circuito, come dovrei connettere il regolatore?
qual'e' secondo te la scelta piu' facile tirando in ballo tale regolatore?

Transmit"Power"(laser) 1.5Watts"peak"14mm @"3amps drive,"75um"single"stripe"laser"junction
Transmit"Power"(LED) 200mW"within"+/! 3"degree"beam"@"1amp

Secondo te il regolatore di arduino ce la fa a reggere picchi di 3A? Boh... potrebbe darti problemi

Ad ogni modo non è così magico che ricostruisci il terreno così... per quello ti serve una coppia stereo di telecamere, disparità e molto potenza di calcolo (tiri un i7 per bene)

Non è ne un laser planare ne 3d.. ti viene un casino anche solo a fare pochi punti con i servo.. 100 euro buttati secondo me.

flz47655:
Transmit"Power"(laser) 1.5Watts"peak"14mm @"3amps drive,"75um"single"stripe"laser"junction
Transmit"Power"(LED) 200mW"within"+/! 3"degree"beam"@"1amp

Secondo te il regolatore di arduino ce la fa a reggere picchi di 3A? Boh... potrebbe darti problemi

Ad ogni modo non è così magico che ricostruisci il terreno così... per quello ti serve una coppia stereo di telecamere, disparità e molto potenza di calcolo (tiri un i7 per bene)

Non è ne un laser planare ne 3d.. ti viene un casino anche solo a fare pochi punti con i servo.. 100 euro buttati secondo me.

Ovviamente 3Ampere sono troppi per Arduino.. a quel punto penso che si debba utilizzare una fonte di alimentazione esterna o questo regolatore esterno come consigliato da Etemenanki.

Per quanto riguarda la fattibilità nell'utilizzare tale dispositivo per scansioni 3D, ho trovato questo progetto Arduino che utilizza il LIDAR-lite:

http://pulsedlight3d.com/blogs/cool-stuff/17639957-3d-scanning-and-point-clouds-project

E il sistema che prevede di montarlo su 2 servi che permettano di ottenere i range di movimento necessari per scannerizzare un area non è assolutamente questo casino che dici! che problematiche ci dovrebbero essere? Credimi che proprio quello non sarebbe un problema, praticamente ho gia' il codice pronto (testato con una pennina laser montata appunto su 2 servi.
Credimi che funziona e benissimo! con un timer che per ogni ciclo (o ogni 2 o passa cicli) memorizza la distanza e la mette dentro un'array (array che rappresenta l'area scannerizzata)

Ricreare poi un'immagine da tali dati non e' roba da i7 secondo me. Ma perfettamente gestibile.
Certo, non pretendo di ricreare immagini a risoluzioni altissime ma si puo' fare.

aldoz:
Ricreare poi un'immagine da tali dati non e' roba da i7 secondo me. Ma perfettamente gestibile.
Certo, non pretendo di ricreare immagini a risoluzioni altissime ma si puo' fare.

Il problema non è fare la scansione, è il tempo necessario visto che al massimo puoi acquisire 100 punti al secondo se ti accontenti di 20 metri, altrimenti 50 punti al secondo, poi c''è il piccolo dettaglio che Arduino non ha abbastanza ram per gestire il cloud point ottenuto e non ha nemmeno la potenza di calcolo per analizzarlo.
Con quel sensore e Arduino al massimo ci puoi fare uno scanner perimetrale 2D sei ti accontenti di una spazzolata ogni due-tre secondi, inoltre i servo durano poco in quel modo, meglio usare un piccolo stepper.
L'ideale di quel sensore è usarlo come telemetro laser veloce a lungo raggio, io ci ho realizzato una applicazione professionale dove mi serviva misurare in tempo reale la distanza di un carrello su rotaia e farlo posizionare in automatico in varie posizioni assegnate.
Lo sto provando, con buoni risultati, su un drone come altimetro di precisione per volare in ground following a bassissima quota, però lo gestisco tramite una Teensy 3.1 :slight_smile:

astrobeed:
Il problema non è fare la scansione, è il tempo necessario visto che al massimo puoi acquisire 100 punti al secondo se ti accontenti di 20 metri, altrimenti 50 punti al secondo, poi c''è il piccolo dettaglio che Arduino non ha abbastanza ram per gestire il cloud point ottenuto e non ha nemmeno la potenza di calcolo per analizzarlo.
Con quel sensore e Arduino al massimo ci puoi fare uno scanner perimetrale 2D sei ti accontenti di una spazzolata ogni due-tre secondi, inoltre i servo durano poco in quel modo, meglio usare un piccolo stepper.
L'ideale di quel sensore è usarlo come telemetro laser veloce a lungo raggio, io ci ho realizzato una applicazione professionale dove mi serviva misurare in tempo reale la distanza di un carrello su rotaia e farlo posizionare in automatico in varie posizioni assegnate.
Lo sto provando, con buoni risultati, su un drone come altimetro di precisione per volare in ground following a bassissima quota, però lo gestisco tramite una Teensy 3.1 :slight_smile:

Ciao astrobeed, guarda questo progetto :

Se vai giu' nella pagina, vedi le immagini della scansione 3D che hanno fatto utilizzando Arduino e questo LIDAR-lite..
E' impressionante vedere il dettaglio raggiunto e stiamo proprio parlando di point cloud!
E siccome lo stai utilizzando; che alimentazione utilizzi? Batterie?

aldoz:
Se vai giu' nella pagina, vedi le immagini della scansione 3D che hanno fatto utilizzando Arduino e questo LIDAR-lite..

Ti sfugge un piccolo dettaglio, Arduino fa solo da interfaccia con il PC, è lui a ricostruire l'immagine, non certo Arduino che si limita ad inviare le misure.
Lo sketch per Arduino è troppo minimale, manca l'init offset e per la velocità di acquisizione, in quelle condizioni al massimo fai 10 letture al secondo.

E siccome lo stai utilizzando; che alimentazione utilizzi? Batterie?

LDO dedicato da 5V 1A con un condensatore (low ESR) in parallelo da 1000 uF, è lui a fornire i picchi di corrente, se lo alimenti direttamente da 5V di Arduino è facile che resetta in modo random.

Ti sfugge un piccolo dettaglio, Arduino fa solo da interfaccia con il PC, è lui a ricostruire l'immagine, non certo Arduino che si limita ad inviare le misure.
Lo sketch per Arduino è troppo minimale, manca l'init offset e per la velocità di acquisizione, in quelle condizioni al massimo fai 10 letture al secondo.

Sisi, Arduino ha il compito di prendere le misurazioni dal LIDAR e, correggimi se sbaglio, di immagazinarle nella sua memoria (diciamo dentro un array).
Teoricamente potrebbe anche stipare tali misurazioni in un file txt (per non correre il rischio di consumare la memoria di Arduino) il quale verrebbe letto da Processing che si prenderebbe, sfruttando le potenzialita' del pc, l'onere di ricostruire l'immagine.

E' corretto?

LDO dedicato da 5V 1A con un condensatore (low ESR) in parallelo da 1000 uF, è lui a fornire i picchi di corrente, se lo alimenti direttamente da 5V di Arduino è facile che resetta in modo random.

mmm interessante. Ma il condensatore l'hai aggiunto tu o e' presente all'interno del LDO?
Hai magari uno schema da postare? :stuck_out_tongue:
E quant'e' la durata del LIDAR alimentato in questo modo?

Ultima cosa, quante misurazioni riesci a fare al secondo? e se utilizzassi un arduino MEGA2560 al posto del Teensy, quante sarebbero?

se muovi i servo di un grado alla volta avrai una matrice 180*180 che corrisponde a 32400 punti, usando in valore a 16bit per sapere la distanza diventano 64800 byte ovvero circa 64k di memoria…
i servo possono andare anche a 0.1s x 60° ( ma spesso vanno piu piano) questo significa che per una scansione di 180° occorrono 0.3s ora per ogni grado y avrai un tempo di 0.3s di x e quindi dato che devi fare 180° y saranno da moltiplicare ai 0.3s ottenendo tempi nell’ordine del minuto!
Quindi 64k + 1m ???
Il tutto senza prendere in considerazione la velocità di campionamento del laser.
Se fosse veloce si potrebbe pensare di collegarlo ad un sistema motore passo/passo e cinghia tipo stampante.

vbextreme:
se muovi i servo di un grado alla volta avrai una matrice 180*180 che corrisponde a 32400 punti, usando in valore a 16bit per sapere la distanza diventano 64800 byte ovvero circa 64k di memoria...
i servo possono andare anche a 0.1s x 60° ( ma spesso vanno piu piano) questo significa che per una scansione di 180° occorrono 0.3s ora per ogni grado y avrai un tempo di 0.3s di x e quindi dato che devi fare 180° y saranno da moltiplicare ai 0.3s ottenendo tempi nell'ordine del minuto!
Quindi 64k + 1m ????????
Il tutto senza prendere in considerazione la velocità di campionamento del laser.
Se fosse veloce si potrebbe pensare di collegarlo ad un sistema motore passo/passo e cinghia tipo stampante.

Naturalmente i servi li posso muovere alla velocita' desiderata quindi potro' gestire la velocita' di scansione "meccanica" (il movimento dei servi appunto) senza problemi.

Detto questo, diciamo che avevo in mente un'area di 180° (larghezza) per 100° (altezza).
Non pretendo di creare un punto per ogni grado, avevo in mente un punto ogni 5 gradi quindi in larghezza
avrei 36 punti.
In altezza andrei piu' sulla precisione; avevo in mente una "riga di scansione" ogni 2 o 3 gradi; diciamo 3.
Avrei quindi 33 righe di scansione.
Otterrei 1188 punti da stipare in un'array.

a 16bit sarebbero 2376 byte ovvero 2 k e mezzo :slight_smile:

Diciamo che non credo questo possa rappresentare un macigno insormontabile per la mia MEGA.
anche se usassi il doppio di risoluzione, arriverei a meno di 5k; mi pare molto ragionevole e sufficiente per creare una vista superiore in ambito di precisione a qualsiasi sensore ad ultra suoni!

Poi ho sempre l'idea di far si che Arduino scriva le misurazioni direttamente su file txt (non so se sia possibile eh) per evitare che la sua memoria si esaurisca con queste misurazioni; Sarebbe processing a quel punto a leggere dal file txt e creare l'immagine.

Poi se Arduino non potesse scrivere su file di testo, si potrebbe fare che ogni misurazione, appena eseguita, venga spedita a Processing (seriale a 15200) e a quel punto sara' lo stesso processing a immagazzinare l'array; dopodiche' processing costruira' l'immagine e Arduino cancellera' la misurazione appena eseguita prima della misurazione sucessiva.

Che ne pensi?

aldoz:
Sisi, Arduino ha il compito di prendere le misurazioni dal LIDAR e, correggimi se sbaglio, di immagazinarle nella sua memoria (diciamo dentro un array).

Arduino non memorizza nulla, si limita ad inviare al pc le letture.

mmm interessante. Ma il condensatore l'hai aggiunto tu o e' presente all'interno del LDO?

Un LDO è un regolatore lineare con basso drop out.

E quant'e' la durata del LIDAR alimentato in questo modo?

Dipende dalla batteria, l'assorbimento medio è attorno ai 100 mA, i picchi di qualche Ampere durano pochi us, il laser è pulsato e non ad emissione continua, anche perché sarebbe pericolosissimo per gli occhi, per giunta è invisibile visto che opera nell'infrarosso.

Ultima cosa, quante misurazioni riesci a fare al secondo?

Te l'ho già detto, il Lidar Lite può effettuare fino a 50 misure al secondo con la portata massima, circa 40 metri, però dipende molto da quanto è riflettente in banda IR la superficie colpita, puoi arrivare ad un massimo di 100 letture al secondo con una portata dimezzata, circa 20 metri.
Comunque scordati di usare Arduino per farci qualunque cosa che non sia l'interfaccia verso un PC o un sistema Linux Embedded.
Solo con board molto più performanti di Arduino, sopratutto con molta più ram, si riesce a fare qualcosa senza PC.
In tutti i casi scordati la scansione in tempo reale dell'ambiente, anche se lo chiamano Lidar Lite non è un vero Lidar, è solo un telemetro laser veloce.
Se vuoi un vero Lidar devi prendere questo, costa molto di più però offre molto di più.
Il massimo lo ottieni con questa, scansione 3D dell'ambiente a 30 fps, costa "poco" però serve come minimo un sistema Linux embedded molto performante per gestirla e un sacco di lavoro software.

aldoz:
Che ne pensi?

Te l'ho già detto, anche se ti accontenti di una scansione a bassissima risoluzione Arduino non ha abbastanza potenza di calcolo per analizzare/utilizzare quei dati.

mmmmm

astrobeed:
Te l’ho già detto, anche se ti accontenti di una scansione a bassissima risoluzione Arduino non ha abbastanza potenza di calcolo per analizzare/utilizzare quei dati.

Allora ho letto con attenzione tutto…
ma secondo me, sfruttando alla perfezione l’arte di adattarsi… forse qualcosina si puo’ tirare fuori!
E sono troppo cocciuto per abbandonare “il sogno” di far tutto con Arduino :slight_smile: (nei limiti ovviamente)

Diciamo che ora come ora il mio piu’grande dubbio riguarda l’alimentazione…
Se utilizzassi un alimentatore 5V a 2 o 3 Ampere?

Tu utilizzi un LDO dedicato da 5V 1A perchè avevi a disposizione quello o perchè hai trovato che fosse la soluzione ottimale?

PS:
Conosci la chipKIT MAX32? che dici, potrebbe essere una scelta appropriata e abbastanza potente a riguardo?

Transmit Power (laser): 1.5Watts peak @ 3amps drive

Ho serie difficoltá di credere che possa essere una laser di classe 1 (meno di 1mW di potenza erogata) come scritto sopra.

Secondo me é pericoloso per gli occhi.

Ciao Uwe

uwefed:
Ho serie difficoltá di credere che possa essere una laser di classe 1 (meno di 1mW di potenza erogata) come scritto sopra.

Ci rientra perfettamente visto che si tratta d'impulsi di solo 0.5 uS, inoltre è un prodotto USA, da loro sono molto severi con le normative.
Qui trovi i dettagli.

nonostante le restrizioni di visuale che hai apportato il tuo robot vedrebbe ogni 3 secondi, se hai i motori al massimo sai quanta strada percorri!!!!
Io userei il piu classico sr04 che ha un angolo di visione di circa 60° anche se accurato dovrebbe essere nel range dei 40°.
con 5 letture copriresti 200° ( 10° 50° 90° 130° 170°) naturalmente puoi usare le stesse 5 letture per l'asse y ottenendo una mappa da 5*5 e riusciresti a leggerla in un secondo e mezzo avendo però la scansione completa ed accurata!
se allarghi a 60° riducendo cosi la profondità otterrai 180° di visuale in x e y ( 30° 90° 150°) ad una velocità di 1 secondo e una matrice 3x3.
Se poi ad ogni scansione cambi l'angolo di visuale puoi aumentare la precisione di lettura, interpolando le immagini.
Su un robot dubito che servano grosse precisioni nel rilevare un ostacolo, ma serve piu che altro una discreta velocità di rilevamento, anche un secondo è un tempo "enorme"!

nonostante le restrizioni di visuale che hai apportato il tuo robot vedrebbe ogni 3 secondi, se hai i motori al massimo sai quanta strada percorri!!!!

Beh considera che stavo puntando su una scansione ogni 5 secondi almeno.. diciamo che mi andrebbe benissimo anzi di piu' :slight_smile:

Io userei il piu classico sr04 che ha un angolo di visione di circa 60° anche se accurato dovrebbe essere nel range dei 40°.
con 5 letture copriresti 200° ( 10° 50° 90° 130° 170°) naturalmente puoi usare le stesse 5 letture per l'asse y ottenendo una mappa da 5*5 e riusciresti a leggerla in un secondo e mezzo avendo però la scansione completa ed accurata!
se allarghi a 60° riducendo cosi la profondità otterrai 180° di visuale in x e y ( 30° 90° 150°) ad una velocità di 1 secondo e una matrice 3x3.

Acquistai 3 sr04 prima di pensare al laser. Ero pronto a montarli quando mi resi conto che il grado di precisione del sensore ad ultrasuoni era lontanissimo da quello che desideravo ottenere.

Il sensore ad ultrasuoni non "spara" una linea ma una specie di bolla che, oltre ad avere una gittata nettamente inferiore al laser, risulta sopratutto nettamente meno precisa.
Dalla sua l' sr04 ha il prezzo e la facilità di collegamento su Arduino ma non mi permetterebbe mai di raggiungere un grado di precisione "degno".

Con questa discussione ho sicuramente riapoggiato i piedi per terra; so che una scansione point cloud risulta, con Arduino, praticamente impossibile ma nonostante ciò, i risultati che potrei ottenere, anche con piccole risoluzioni, mi permetterebbe di programmare il robot per passare in spazi stretti, con un ottimo grado di precisione (il mio robot è largo 26 cm e utilizzando il laser, senza particolari risoluzioni di scansione, anche solo a mo di radar, il robot potrebbe passare in spazi anche di 27, 28 cm cosa davvero dura da raggiungere utilizzando la precisione degli ultrasuoni.)

Se poi ad ogni scansione cambi l'angolo di visuale puoi aumentare la precisione di lettura, interpolando le immagini.
Su un robot dubito che servano grosse precisioni nel rilevare un ostacolo, ma serve piu che altro una discreta velocità di rilevamento, anche un secondo è un tempo "enorme"!

Ecco il mio robot e la velocità con cui si muove:

Puoi notare che la velocità è molto bassa in questa modalità di camminata (furtiva).
Esiste anche la modalità trotto, con la quale il robot va più veloce ma ora mi sto sopratutto concentrando sulla camminata furtiva.

Piu' veloce il robot va, più necessita di una vista rapida (e purtroppo il grado di precisione dovrebbe sempre risultare al massimo delle possibilità, un ostacolo capace di far inciampare il robot si troverà nella strada del robot che lui vada piano o veloce quindi diciamo che la qualità sarebbe una costante che il robot sia lento o veloce;

Alla velocità di movimento che vedi nel video, una "fotografia" ogni 4 o 5 secondi non sarebbe un tempo "enorme" anche se tu oltretutto penso ti riferisci comunque all'uso dellì' sr04.

certo, ovvio che, fosse per me, avrebbe una vista in real-time con risoluzioni spaziali ma c'e' purtroppo da accontentarsi e se riuscissi a far una foto ogni 5 o 6 secondi (con il laser) beh sarebbe comunque grandioso!

Rilevare un ostacolo come una pietra di 4/8cm è una cosa che sara' FONDAMENTALE per il mio robot; se cio' andra' a discapito della velocità di rilevamento, dovrò accettarlo purtroppo perchè tale robot, nei miei progetti, potrà anche andar piano ma NON potrà non essere più preciso possibile quando cammina in terreni accidentati.
Ora come ora le routine di bilanciamento ottenute con l'MPU6050 sono incredibili, sono riuscito a fare stare in equilibrio il robot anche se gli cambi rapidamente l'inclinazione (asse X e Y) del terreno in cui cammina! ma non basta per ottenere un robot che riesce a camminare su un terreno incasinato di sassi;
A quel punto, appunto, serve un grado di risoluzione della vista capace di vedere quei sassi e a quel punto far scegliere al robot il punto migliore dove poggiare la zampa; e' troppo importante! :slight_smile:

Tutto cio' con l'sr04 risulta semplicemente impossibile anche se mi permetterebbe scansioni piu' rapide!

X astrobeed:
che ne pensi di questo collegamento?

Sembra che proprio non ci abbiano pensato ai famosi 3Ampere di picco...
che dici?