home | area personale         schemi | tutorial | robotica | pic micro | recensioni         forum | chat irc         faq | contatti         store | Ordina PCB
username
password
cerca

 
FORUM: Robotica, CNC, 3D
Finalmente un posto dove poter discutere di robotica di CNC e stampanti 3D, scambiarsi idee, progetti ed opinioni. Partecipa anche tu...


rilevare la posizione di un robot
     
Autore Messaggio opzioni
schottky





postato il:
22.05.2012, alle ore 10:47
multimetro:
Vi ringrazio moltissimo per i vostri preziosi consigli!
La soluzione di Daniels direi che è praticamente perfetta per il mio lavoro, solo che vorrei chiedervi un paio di ulteriori chiarimenti:
per i trasmettitori pensavo di utilizzare questo: http://www.futurashop.it/pdf_eng/5340-TX40.pdf, mentre per il ricevitore questo: http://www.futurashop.it/pdf_eng/5340-RX40.pdf.
Per far funzionare il trasmettitore basta collegarlo all'alimentazione o va alimentato con un segnale ad onda quadra con frequenza minore o uguale di 40kHz?
Se gli facessi emettere un segnale, ad esempio, di 32kHz, ci sarebbero problemi di interferenza con un sensore di distanza che lavora ad una frequenza di 40 kHz?

Vi faccio queste due domande perchè, tanto per cambiare, sorge un altro problemino: il sensore di distanza ad ultrasuoni che dovrebbe essere montato sul robot lavora alla stessa frequenza di queste capsule!

Di nuovo grazie per l'aiuto!


Non hai capito la proposta di daniels, non si usano "sensori di distanza" classici a riflessione ma la logica va implementata"ex novo" ed è la seguente. Si collocano 3 emettitori di ultrasuoni (semplici emettitori non misuratori completi) in tre punti fissi della stanza che funzionano emettendo impulsi di ultrasuoni a turno. Immagina per esempio che facciamo una misura al secondo allo scadere del secondo "spara" il primo emettitore (emette un breve impulso a 40 KHz mettiamo per 1 decimo di secondo il ricevitore che è sul robot capta questo impulso e (siccome gli orologi sono sincronizzat) calcola il tempo di volo da cui ricava la distanza D1 dal primo emettitore. Dopo 1/3 di secondo "spara" il secondo emettitore e si ripete la procedura avendo D2, a 2/3 di secondo secondo "spara" il terzo emettitore e si ripete la procedura ch ci fa calcolare D3. Avendo le tre distanze D1 D2 D3 ci calcoliamo facilmente la posizione. allo scdere del secondo successivo il ciclo si ripete daccapo. L'unica cosa di una certa criticità è mantenere il sincronosmo degli orologi era per questo scopo che deaniels suggeriva l'uso della radio. Per quanto riguarda gli emettitori certamente dovranno essere tutti sintonizzati alla stessa frequenza e quanto più "omnidirezionali" possibile va bene un oscillatore a 40Khz che viene acceso nei brevi istanti in cui va emesso l'impulso. Per il ricevitore si dovrà usare ancora una capsula ricevitrice omnidirezionale sintonizzata a 40 KHz.



Il vantaggio di essere intelligente e' che si puo' sempre fare l'imbecille, mentre il contrario e' del tutto impossibile. -- W. Allen
Daniels118





postato il:
22.05.2012, alle ore 14:31
Gli emettitori devono essere pilotati con un segnale della frequenza da te scelta, i ricevitori devono avere un filtro per ricevere solo la frequenza corretta, quindi ti basta far lavorare il gps su una frequenze diversa dai rilevatori di ostacoli, senza allontanarti troppo da quella di massima sensibilità.
Suggerirei inoltre di produrre costantemente il segnale con un oscillatore (ne555 va bene) e di mandarlo alla capsula con un transistor pilotato dal "clock di turno".



http://daniels118.altervista.org/

Il principio di funzionamento è controllato da un microprocessore... mi fido di più quando il principio di funzionamento è controllato da chi ha progettato l'apparecchio!
multimetro





postato il:
22.05.2012, alle ore 17:41
Mi sono spiegato male: il mio problema è che le capsule per il "gps" ad ultrasuoni, secondo la specifica del costruttore, funzionano ad una fraquenza di 40kHz, ma questa frequenza è usata anche da un altro sensore di distanza ad ultrasuoni, montato sul robot, che serve ad individuare gli ostacoli.
Se faccio funzionare il "gps" ad una frequenza di 35kHz, per dire, fa interferenza con l'altro sensore, che lavora a 40kHz?



W l'ambiente.
sito internet:
http://scientificamente.weebly.com
schottky





postato il:
22.05.2012, alle ore 20:33
multimetro:
Mi sono spiegato male: il mio problema è che le capsule per il "gps" ad ultrasuoni, secondo la specifica del costruttore, funzionano ad una fraquenza di 40kHz, ma questa frequenza è usata anche da un altro sensore di distanza ad ultrasuoni, montato sul robot, che serve ad individuare gli ostacoli.
Se faccio funzionare il "gps" ad una frequenza di 35kHz, per dire, fa interferenza con l'altro sensore, che lavora a 40kHz?


Se è tutto sincronizzato usi un sistema a divisione di tempo e tutto alla stessa frequenza



Il vantaggio di essere intelligente e' che si puo' sempre fare l'imbecille, mentre il contrario e' del tutto impossibile. -- W. Allen
double_wrap




una ogni 100 livelli
una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli


postato il:
22.05.2012, alle ore 21:53
La proposta di Daniels è davvero eccellente!

E' la riproposizione in versione "sonar" del sistema di navigazione iperbolica LORAN che con le tre stazioni radio sincronizzate di Estartit in Spagna, Kargaburan in Turchia e Lampedusa copriva il Mediterraneo fino a una decina di anni fa quando il GPS non era stato rilasciato per usi civili.

In rete ci dovrebbero essere ancora i testi per tutti i calcoli necessari a ricavare il "punto-nave" o meglio il "punto-robot" in base ai tempi di ritardo dei segnali in arrivo!

Complimenti ancora!





"se peso cado, ma se cado non peso"
adamatj.altervista.org
Daniels118





postato il:
23.05.2012, alle ore 09:16
Grazie mille a tutti per l'apprezzamento :-D
Se è tutto sincronizzato usi un sistema a divisione di tempo e tutto alla stessa frequenza

Anche questa è un'ottima soluzione, comunque prendi anche in considerazione l'ipotesi di utilizzare frequenze diverse, usando dei filtri puoi distinguere un segnale dall'altro. Purtroppo il ricevitore gps deve essere puntato verso l'alto per essere omnidirezionale, altrimenti avresti potuto utilizzare la stessa capsula sia per il gps che per il rilevamento degli ostacoli. In alternativa se hai bisogno solo di rilevare glli ostacoli senza conoscerne la distanza puoi usare sensori di contatto o ad infrarossi.
Se hai bisogno di un aiuto con l'algoritmo di localizzazione fammelo sapere, ho anche fatto una stima grossolana delle temporizzazioni, direi che un impulso di 2 o 3 ms ogni 5ms sia sufficiente, moltiplicato per i 3 trasmettitori avresti una misura ogni 15ms, supponendo che il robot viaggi a 1m/s (è una grossa sovrastima) avresti un errore inferiore a 2cm ulteriormente migliorabile via software (esclusi errori di rilevazione).



http://daniels118.altervista.org/

Il principio di funzionamento è controllato da un microprocessore... mi fido di più quando il principio di funzionamento è controllato da chi ha progettato l'apparecchio!
double_wrap




una ogni 100 livelli
una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli una ogni 10 livelli


postato il:
23.05.2012, alle ore 13:13
segnalo un paio di spunti cme mi sono venuti in mente

--------------------
rileggendo le informazioni "generiche" sul LORAN
http://it.wikipedia.org/wiki/LORAN

penso che basti sincronizzare SOLO i tre trasmettitori sonar e NON anche il ricevitore sul robot; occorre misurare "la differenza dei tempi di arrivo" dei segnali T1-T2 , T2-T3 , T3-T1 invece che "il tempo di volo" di ciascun segnale.

Sincronizzare i tre trasmettitori fissi è semplice, sincronizzare anche il ricevitore mobile non lo è affatto!

----------------
Una idea per rendere omnidirezionale il ricevitore ultrasonico potrebbe essere quella di montarlo sotto un riflettore a specchio conico rovesciato, come quelli dei lampeggiatori da tetto delle auto. In fondo un segnale ultrasonico è un'onda di compressione" e quindi dovrebbe essere riflessa come tutte le onde. Se funzionano le parabole dietro ai microfoni debbono funzionare anche gli specchi!






"se peso cado, ma se cado non peso"
adamatj.altervista.org
multimetro





postato il:
23.05.2012, alle ore 13:53
Per rilevare la posizione pensavo di fare così:
metto i tre emettitori sui vertici di un triangolo rettangolo isoscele di cui conosco il lato e considero i due lati come se fossero assi cartesiani.
Il robot rileva la distanza dai tre sensori e, usando la trigonometria, calcola la sua posizione nelle coordinate x e y.
Vi metto un disegno per maggior chiarezza:



W l'ambiente.
sito internet:
http://scientificamente.weebly.com
Daniels118





postato il:
23.05.2012, alle ore 21:59
penso che basti sincronizzare SOLO i tre trasmettitori sonar e NON anche il ricevitore sul robot; occorre misurare "la differenza dei tempi di arrivo" dei segnali T1-T2 , T2-T3 , T3-T1 invece che "il tempo di volo" di ciascun segnale.

Sincronizzare i tre trasmettitori fissi è semplice, sincronizzare anche il ricevitore mobile non lo è affatto!

Questo è anche meglio :)
Da wikipedia basta calcolare solo due differenze di tempo, per esempio T1-T2 e T1-T3 e poi intersecare le iperboli risultanti.

@multimetro
Ora non ho voglia di fare i calcoli, ma dovrebbe trattarsi di un sistema di equazioni di secondo grado, non complicare la vita al piccolo microcontrollore con funzioni trigonometriche... che schiattino quei maledetti angoli, viva la trilaterazione! :)



http://daniels118.altervista.org/

Il principio di funzionamento è controllato da un microprocessore... mi fido di più quando il principio di funzionamento è controllato da chi ha progettato l'apparecchio!
multimetro





postato il:
24.05.2012, alle ore 15:11
Forse ho capito come fare:
calcolo la differenza T1-T2 e la converto in cm, poi calcolo la differenza T2-T3 e la converto in cm, con questi dati e sapendo le coordinate cartesiane dei tre trasmettitori calcolo l'equazione dell'iperbole avente per fuochi T1 e T2 e poi quella avente per fuochi T2 e T3; fatto questo metto a sistema le due iperboli e ottengo le coordinate cartesiane del punto di intersezione.

Correggetemi se sbaglio!



W l'ambiente.
sito internet:
http://scientificamente.weebly.com
segui questo thread con grixFC, per questa funzione devi aver installato il software grixFC

torna su
     

Come utente anonimo puoi leggere il contenuto di questo forum ma per aprire una discussione
o per partecipare ad una discussione esistente devi essere registrato ed accedere al sito




 







 
 
indietro | homepage | torna su copyright © 2004/2024 GRIX.IT - La community dell'elettronica Amatoriale