Salve a tutti , sto cercando un sensore che si "accorga" della presenza di una lattina rivestita di un foglio di alluminio , quindi che riflette la luce , avevo pensato ad un sensore di luce , ma non so se poi è troppo impreciso , e quello di ultrasuoni vede solamente la distanza
grazie per l'aiuto
edit:
mi potete anche dire se potrei utilizzare un sensore capacitivo o induttivo ? , da quello che ho letto sembra che facciano proprio al caso mio , eviterei il problema della luce
puoi mettere due fili uno dei 5V uno per il GND e quando tocca la lattina (che è rivestita di alluminio che è un buon conduttore) il circuito si apre(non so quale sia il termine tecnico) e tu vai a rilevare se passa corrente o no.
toglimi una curiosità ti serve per le gare rescue a della robocup jr?
revolver995:
Salve a tutti , sto cercando un sensore che si "accorga" della presenza di una lattina rivestita di un foglio di alluminio
Sei troppo vago, dimensioni della lattina, distanza minima alla quale vuoi rilevarne la presenza, campo di gara ?
In America vanno abbastanza le gare CanCan dove lo scopo è proprio trovare delle lattine e portarle in un punto di raccolta, quasi tutti usano sistemi basati sulla scansione ultrasonica abbinata a telemetri IR.
le dimensioni sono di una lattina normale , xD e la distanza della lattina è circa di 20 cm ,io dovrei avvicinarmici il sensore capacitivo non sarebbe perfetto ? si avvicina sempre di piu a un conduttore per utilizzarlo come armatura
so che nei centri di smaltimento rifiuti vengono usati 3 metodi:
il nastro passa sotto una calmita che prende i pezzi metallici (l'alluminio non credo rientri tra questi)
poi passa in un punto dove la roba viene "fatta saltare" e qui differenziano meglio i vari tuti
infine passa tutto il resto
revolver995:
le dimensioni sono di una lattina normale , xD e la distanza della lattina è circa di 20 cm ,io dovrei avvicinarmici il sensore capacitivo non sarebbe perfetto ? si avvicina sempre di piu a un conduttore per utilizzarlo come armatura
Col sensore capacitivo non vai da nessuna parte, funzionano solo a brevissime distanze, pochi millimetri, nel tuo caso va bene un telemetro IR messo su un servo, lo fai ruotare lentamente e quando "vedi" un singolo oggetto nel suo raggio d'azione, o uno che ha un diametro apparente simile alla lattina a quella distanza, hai trovato il tuo target.
Per farti capire meglio il concetto due immagini, una di come va realizzato il sensore utilizzando due telemetri, può bastarne solo uno, e una di quello che "vede" il sensore durante la scansione riportato come mappa perimetrale.
rieccomi qui , per questa maledetta lattina , in pratica quello che vuoi fare tu è di eseguire una specie di scansione del terreno , dove se vede una variazione riconosce che è la lattina , ma quello che dico io è come riconoscere il diametro , perchè in prospettiva , a 20 centimetri la lattina avra un diametro molto piu piccolo che quello di una lattina vista a 10 cm , un po come quando metto il pollice vicino al sole e vedo che sono grandi uguali XD e comunque è molto complesso questo metodo , dovrei fargli leggere costantemente la distanza mentre gira , ma il problema è che la posizione del robot nella stanza è pressocchè casuale , quindi eseguire una lettura mentre mi si muove il robot non è il massimo della precisione , fammi sapere grazie =)
Non conosco questo tipo di gara ... e' una caccia alla lattina eseguita da piu robot, o e' un singolo robot che deve trovare un'oggetto in un campo di gara recintato e di forma regolare ?
se non cambia la dimensione della stanza dalle gare della rescue a la lattina si trova in una stanza rettangolare di 90cmx120cm dove la lattina può trovarsi praticamente ovunque.
poi in un angolo della stanza( uno a caso tranne nell'angolo dove è presente una porta di accesso alla stanza) ci dovrebbe essere una pedana nera ma non mi ricordo le dimensioni
revolver995:
rieccomi qui , per questa maledetta lattina , in pratica quello che vuoi fare tu è di eseguire una specie di scansione del terreno , dove se vede una variazione riconosce che è la lattina , ma quello che dico io è come riconoscere il diametro , perchè in prospettiva , a 20 centimetri la lattina avra un diametro molto piu piccolo che quello di una lattina vista a 10 cm , un po come quando metto il pollice vicino al sole e vedo che sono grandi uguali XD e comunque è molto complesso questo metodo , dovrei fargli leggere costantemente la distanza mentre gira , ma il problema è che la posizione del robot nella stanza è pressocchè casuale , quindi eseguire una lettura mentre mi si muove il robot non è il massimo della precisione , fammi sapere grazie =)
Veramente Astro ha scritto
o uno che ha un diametro apparente simile alla lattina a quella distanza,
è cioè il calcolo da fare si basa non solo sul diametro dell'oggetto trovato ma anche sulla distanza alla quale l'oggetto si trova; immagino esistano delle formule in tal senso che ti permettono di raffrontare il diametro reale con quello apparente, in base alla distanza
Ma il robot e' da solo ? ... perche' in questo caso dovrebbe essere sufficente una scansione o due (se la stanza e' regolare, o comunque ha pareti regolari), per tracciare il perimetro, e qualsiasi impulso irregolare nel perimetro potrebbe essere la lattina ... anche se ci fosse un'oggetto extra come una pedana, la variazione sui suoi lati sarebbe regolare, come per le pareti che sono diritte ... ad esempio, se ruotando il sonar leggo una distanza che aumenta o diminuisce in modo abbastanza lineare, quello e' un'ostacolo diritto, mentre se ad un certo punto la variazione fa un salto e poi ritorna "in riga", allora e' un'ostacolo davanti alla parete ... quindi o ci si dirige verso l'ostacolo usando un sensore a riflessione per determinare quando si arriva in prossimita', o ci si sposta di lato per eseguire una seconda scansione e triangolare, calcolando anche le distanze, e poi ci si muove in base a quelle ... o sbaglio ?
Oppure si usa un processore di immagine, ma qui si va sul veramente complicato ...
Se invece ci fosse piu di un robot nella stanza, la cosa si incasinerebbe alquanto
si il robot è da solo in una stanza rettangolare , c è una piccola pedana nera nel campo e una lattina messa in modo casuale ,
ecco quello che avevo pensato , 2 sensori di ultrasuoni ad ogni lato uno più alto della lattina e uno altezza lattina , se il valore letto da quello ad altezza lattina è minore di quello letto sopra , allora ho trovato la lattina , così mi giro nella direzione in cui ho visto la variazione e la prendo , stessa cosa per lo zoccolo , che ne pensate ?
credo sia una soluzione più semplice anche se piu dispendiosa .
Michele , il calcolo della distanza in rapporto al diametro della lattina , ne uscirei insano di mente.
Ehm ... non e' che non si possa fare, ma per fare una cosa simile ti servono dei sensori sonar a ventaglio (di quelli tipo sidescan sonar, da un millino l'uno :P), oppure dei sensori laser a riflessione, pilotati in frequenza (in modo che ogni sensore legga solo il suo emettitore), perche' i normali sensori ad ultrasuoni hanno un cono di espansione del fascio acustico di almeno 60 gradi (quelli buoni :P), quindi entrambi ti leggerebbero la lattina.
Se la pedana ha i bordi diritti, potresti fare la scansione di riconoscimento con un giro completo del sensore ... cerco di spiegarmi: se tu usi il sensore come un radar, girandolo di un tot alla volta e leggendo la distanza dell'oggetto colpito (in questo caso i muri ed i bordi della pedana), la variazione della distanza segue piu o meno sempre una linea predicibile, anche se il robot si trova in un punto a caso (qui stiamo parlando di variazioni, non di valori assoluti letti, ok ? ) ... nel senso che se i muri ed i bordi della pedana sono linee diritte, le variazioni sono abbastanza lineari (quasi lineari, comunque).
Ora, se ci metti una lattina, in qualsiasi posizione si trovi, causera' una non-linearita' di lettura diversa da quella degli angoli e degli spigoli della pedana ... che puo essere presa come punto di riferimento per calcolare la posizione dell'oggetto estraneo, la lattina appunto, rispetto alla posizione degli ostacoli predicibili, i muri e la pedana.
ho capito quello che vuoi dire , in pratica i valori , vanno crescendo o diminuendo , e se c è qualche picco significa che c è la lattina , la realizzazione del programma però la vedo tosta , che funzione dovrei usare ? , gli dico che se il valore della nuova lettura , è molto piu piccolo della vecchia lettura allora c è una irregolarità
Per il software non lo so, mi spiace ma io sono piu che altro un'hardwarista ...
I "paraocchi" non funzionerebbero molto bene, a meno di non usare dei tubi non rotondi e lunghi alcune decine di centimetri, ed anche in quel caso avresti un cono di propagazione di parecchi gradi ... stiamo parlando di onde acustiche, non di luce ... considera che ad esempio, per ottenere un "ventaglio" abbastanza stretto in campo sidescan sonar, si usano di solito 4 o 5 emettitori in linea, a distanze diverse, accordate in modo che i "lobi" di propagazione si cancellino reciprocamente per sovrapposizione, escluso ovviamente il lobo principale, e non delle schermature acustiche ... non e' esattamente uno scherzetto da nulla, riuscirci
Con la luce e' diverso ... anche senza usare il laser, potresti focalizzare con delle lenti un paio di diodi molto luminosi e pilotarli a frequenze diverse, ma poi devi fare i conti con i tempi cortissimi dei riflessi ... sarebbe forse molto piu pratico realizzare un software che confronta le differenze di luminosita' dei due fasci, e la larghezza nel tempo di tale differenza ... e bisogna anche vedere se la pedana e' alta come la lattina o piu alta o meno alta, perche' anche quella causerebbe una differenza di riflesso ...