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
Daniels118





postato il:
27.05.2012, alle ore 13:04
Scusami, prima di continuare il ragionamento, quando dici "uno dei trasmettitori mandi n impulsi" ti riferisci sempre ai trasmettitori ad ultrasuoni o ad onde radio? Nel secondo caso già è tutto chiaro.
Quando dici "supponiamo che gli impulsi, SUPPONIAMOLI DA 10kHz" ti riferisci alla frequenza di oscillazione del segnale? Per intenderci, un suono a 10KHz? In questo caso si parla di frequenze intorno ai 40KHz, ma se ho capito bene questo è assolutamente ininfluente (salvo teorema del campionamento, ma rientriamo abbondantemente).
Credo di aver capito tutti i passaggi ma non mi è chiaro come fai a sincronizzare anche la fase con una precisione inferiore al tempo di volo del segnale, in particolare nel nostro caso fino a 1/200 del tempo di volo, che - ricordiamo - è variabile e imprevedibile.



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!
Renzo91





postato il:
29.05.2012, alle ore 03:40
Parlavo in generale, quindi tra ultrasuoni e onde radio si usi il metodo più conveniente.
Ho perso l'idea che avevo riguardo alla sincronizzazione della fase, o meglio quella che ho adesso dubito che funzioni e non mi ricordo la precedente! grrrh

Si, mi riferisco alla frequenza di oscillazione del segnale e a tal proposito volevo chiederti se per far elaborare l'impulso al ricevitore occorressero certe condizioni come numero di oscillazioni percepite nell'impulso (ad esempio può essere ridotto ad 1 o 1/2?), e come tale impulso viene assorbito in riferimento all'onda, ad esempio se tra cresta e ventre o tra cresta e cresta. (potrebbero sembrarti domande stupide ma sono ignorante su questo piano, tuttavia mi aiuterebbe a capire meglio il problema e a migliorare la soluzione)

Comunque non ho capito bene l'importanza della sincronizzazione della fase in relazione alla mia soluzione, chiarisco che:

" il segnale impiegherà 0,0056s per raggiungere il robot; in questo intervallo di tempo il clock avrà incrementato il contatore di circa 200, producendo un errore di posizione di 2m, nonostante i clock continuino ad oscillare alla stessa frequenza."

No, il clock inizia ad incrementare il contatore dopo il 1° impulso RICEVUTO, col modo che ho proposto penso che la sincronizzazione della fase sia ininfluente, non migliorerebbe la precisione a livelli considerevoli: a 36kHz uno sfasamento di un periodo implicherebbe al massimo un ritardo di 0,000027s!

Inoltre l'effetto doppler è anch'esso esiguo e trascurabile dato che il robot si muove molto lentamente rispetto alla velocità in aria delle onde.



Semplice ed elegante, come sempre la soluzione è sotto gli occhi di chi sa vederla.
Daniels118





postato il:
29.05.2012, alle ore 10:00
Parlavo in generale, quindi tra ultrasuoni e onde radio si usi il metodo più conveniente.
Ho perso l'idea che avevo riguardo alla sincronizzazione della fase, o meglio quella che ho adesso dubito che funzioni e non mi ricordo la precedente! grrrh

Anche se non ne sono contento questo mi consola, visto che non avevo capito come sincronizzare la fase con il metodo che avevi esposto :) Comunque tu intendevi usare un unico tipo di onda (sonora/radio) sia per il gps che per la sincronizzazione giusto?
Si, mi riferisco alla frequenza di oscillazione del segnale e a tal proposito volevo chiederti se per far elaborare l'impulso al ricevitore occorressero certe condizioni come numero di oscillazioni percepite nell'impulso (ad esempio può essere ridotto ad 1 o 1/2?), e come tale impulso viene assorbito in riferimento all'onda, ad esempio se tra cresta e ventre o tra cresta e cresta. (potrebbero sembrarti domande stupide ma sono ignorante su questo piano, tuttavia mi aiuterebbe a capire meglio il problema e a migliorare la soluzione)

Beh, non c'è una regola, però ovviamente (almeno in teoria) serve come minimo una cresta. Il più semplice rivelatore è il demodulatore AM, che produce un segnale che con buona approssimazione è una linea che unisce le creste, quindi almeno un'oscillazione e mezza sarebbero gradite.
No, il clock inizia ad incrementare il contatore dopo il 1° impulso RICEVUTO, col modo che ho proposto penso che la sincronizzazione della fase sia ininfluente, non migliorerebbe la precisione a livelli considerevoli: a 36kHz uno sfasamento di un periodo implicherebbe al massimo un ritardo di 0,000027s!

Inoltre l'effetto doppler è anch'esso esiguo e trascurabile dato che il robot si muove molto lentamente rispetto alla velocità in aria delle onde.

Lo so che non ho dato una spiegazione approfondita ed ho omesso le formule, appena posso cerco di fare uno schema per chiarire il concetto, comunque se vuoi ragionarci rifletti su questa tua affermazione :)
a 36kHz uno sfasamento di un periodo implicherebbe al massimo un ritardo di 0,000027s!



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!
Renzo91





postato il:
29.05.2012, alle ore 11:52
Comunque tu intendevi usare un unico tipo di onda (sonora/radio) sia per il gps che per la sincronizzazione giusto?

La stessa identica onda, è per evitare di mandare un segnale di sincronizzazione.
Faccio notare che se i trasmettitori fossero 3 con 2 disposti in modo consecutivo come da tuo disegno, si potrebbe usare il terzo per la variabile tempo e la sincronizzazione del segnale, ma la mia idea era "arrangiarsi" con 2 trasmettitori e un unico tipo di segnale.

Si, lo so che lo sfasamento di un periodo è insensato, era per far capire che il limite superiore del ritardo fosse irrisorio, comunque ho letto la descrizione del sistema gps su wikipedia, non si fa accenno da alcuna parte alla sincronizzazione della fase, e ripeto che mi sembra un dato ininfluente nel mio sistema. Prova a farmi cambiare idea con le formule, ma non complicarti con l'effetto doppler perchè la velocità del robot è di di ben 2 ordini di grandezza inferiore a quella a cui viaggia l'onda, supponendo che il robot si sposti anche a 1m/s il rapporto tra la frequenza effettiva e quella percepita sarebbe compresa tra 340/339 e 340/341.



Semplice ed elegante, come sempre la soluzione è sotto gli occhi di chi sa vederla.
Daniels118





postato il:
29.05.2012, alle ore 13:00
Si, lo so che lo sfasamento di un periodo è insensato

Il problema è che lo sfasamento non è di un periodo.
Per avere una risoluzione di 1cm, il clock deve andare a 36KHz, se il robot si trova vicino al trasmettitore ogni impulso emesso incrementerà immediatamente il contatore, se invece il robot si trova a 2 metri dal trasmettitore, prima che un impulso lo raggiunga ne saranno stati generati 200, di conseguenza il contatore verrà incrementato con un ritardo (sfasamento) di 200 impulsi.
I calcoli sono i seguenti:
periodo = 1/freq = 1/36000 = 0,000027s
lunghezza_d_onda = periodo*velocità_di_propagazione = 0,000027s*360m/s = 0,01m
numero oscillazioni = spazio/lunghezza_d_onda = 2/0,01 = 200
Tutto questo implica ERRORE=DISTANZA omg!



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!
Renzo91





postato il:
29.05.2012, alle ore 15:03
Eh, ci eravamo mal compresi!

Per sfasamento io intendevo la definizione classica per cui tale valore è compreso tra 0 e 2pigreco (1 periodo), te intendevi qualcos'altro che a buon ragione poteva essere problematico ma non ha a che fare col mio metodo, e quindi quest'ultimo è "insofferente" sotto questo punto di vista, ti dimostro subito perchè:
prima che un impulso lo raggiunga ne saranno stati generati 200,

OK
di conseguenza il contatore verrà incrementato con un ritardo (sfasamento) di 200 impulsi

NOT OK!
Guarda il disegnino:

I valori sono quelli indicativi dei miei calcoli, l'impulso è raffigurato come una sola sinusoide a 10kHz che viene ripetuta 1000 volte al secondo e contata in genere 10 volte in 1/100 di secondo dal ricevitore.
Immagina di far scorrere il segmentino CD nel tratto AB, ebbene solo quando C coinciderà con A o con B il ricevitore conterà 11 volte e capirà che è sincronizzato. Non ti soffermare sul fatto che l'11° impulso andrà fuori l'1/100 di secondo di 1/10000 di secondo, a causa di quell'intervallo minimale di cui avevo parlato, la tolleranza di 1/20000 + e - rientra quindi riuscirà a contare 11 impulsi.
L'idea è che io rifletto solo su intervalli di 1/100 di secondo presi in modo opportuno con un certo incremento uno rispetto all'altro, ma NON considero mai il conteggio dal primo impulso nel primo intervallo fino all'ultimo dell'ultimo intervallo, il contatore viene azzerato ogni centesimo di secondo ( = ogni intervallo di 10 impulsi) passato!
L'idea è molto semplice ma è parecchio potente in molti casi.

Spero che adesso sia più chiaro, altrimenti dimmi come posso spiegarmi meglio.



Semplice ed elegante, come sempre la soluzione è sotto gli occhi di chi sa vederla.
Daniels118





postato il:
29.05.2012, alle ore 15:30
Dovrai attendere questa sera, devo per forza fare un disegno per esprimermi :)


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!
Renzo91





postato il:
29.05.2012, alle ore 15:45
Ok, una cosa è certa: le cose complicate intrigano entrambi :-)
E' triste che non ci segue più nessuno...

Comunque il tuo sistema di equazioni è come un gatto che si morde la coda: :-D
L=P*V
N=S/L
ora
N*L=S
nel senso che non mi è chiara la definizione di Errore.

Però ho capito il senso del 200, magari pensa anche a cosa implica l'azzeramento del timer ogni centesimo di secondo.

Spero di capire stasera, non ricordo l'ultima volta che son stato così ottuso e per così a lungo...



Semplice ed elegante, come sempre la soluzione è sotto gli occhi di chi sa vederla.
Daniels118





postato il:
29.05.2012, alle ore 16:22
Fa molto piacere anche a me :)
Io voglio sperare di non aver capito bene il tuo ragionamento, perchè se così fosse e tu hai ragione, potresti letteralmente camminare sulle facce degli ingegneri che si sono dati tanto da fare per studiare il sistema di sincronizzazione dei gps :)
Comunque il tuo sistema di equazioni è come un gatto che si morde la coda: :-D

Lo so, la cosa (almeno come la intendo io) è molto più banale di quello che sembra... comunque si potrebbe usare un'altra soluzione utilizzando 4 trasmettitori, che nel nostro caso si riducono a 3 (però a questo punto si potrebbe optare per la soluzione delle iperboli), riporto il testo di wikipedia:
It is likely that the surfaces of the three spheres intersect, because the circle of intersection of the first two spheres is normally quite large, and thus the third sphere surface is likely to intersect this large circle. If the clock is wrong, it is very unlikely that the surface of the sphere corresponding to the fourth satellite will initially intersect either of the two points of intersection of the first three, because any clock error could cause it to miss intersecting a point. On the other hand if a solution has been found such that all four sphere surfaces at least approximately intersect with a small deviation from a perfect intersection then it is quite likely that an accurate estimation of receiver position will have been found and that the clock is quite accurate. Methods of solution are discussed in the navigation equations section of this article.

Per le formule rimando alla pagina su wikipedia, riducendo quel N>=4 a N=3, le coordinate alle sole X e Y e aggiungendo al sistema l'equazione Y>=0:
http://en.wikipedia.org/wiki/Global_Positioning_System#Navig…



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:
29.05.2012, alle ore 17:07
Mi permetto di interrompere un attimo la vgostra discussione, tra l'altro interessante, per chiedervi di aiutarmi a fare il punto sulla situazione.
Ho scelto il sistema di navigazione iperbolico perchè è più semplice gestire i calcoli, quello che non riesco a capire è come calcolare l'equazione della parabola sapendo che il robot è più vicino ad un trasmettitore piuttosto che all'altro.



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