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
FrancoGual



[pagine pubblicate]

postato il:
20.05.2012, alle ore 11:31
Il mouse ottico funziona con un semplice CCD che "vede" il tappeto e un circuito ricava la direzione,velocità e distanza,ma tutte queste informazioni devono arrivare sul sensore perfettamente a fuoco,altrimenti è come un miope senza occhiali in una stanza bianca con mobili bianchi.
Sai quanti spigoli becca prima di rendersi conto che non è per lui?



Anche il viaggio più lungo inizia con un piccolo passo.
Si vis pacem, para bellum!!!
Mark Zuckerberg ha reso suoi schiavi milioni di persone senza che se ne rendessero conto. F.G.
<Avete vinto voi,ma almeno non riuscirete a considerarmi vostro complice> Da Mediterraneo.
Inferno,Canto III,verso 51 Virgilio dice.........
Jasson





postato il:
20.05.2012, alle ore 11:46
schottky:

problema già affrontato nella stessa discussione il mouse è capace di leggere non di misurare, avete un po tutti la stessa deformazione, quella di trascurare la grande importanza del feedback visuale in tutte le cose che facciamo. Applicare la tecnologia del mouse alla localizzazione del robot è equivalente a rispondere alla seguente richiesta: sposta il puntatore del mouse di 2 cm a destra e 3 cm in alto SENZA GUARDARE LO SCHERMO!


Ma il nostro circuito deve fare il contario, non devo dire sposta il puntatore di 2cm a destra e 3 in alto senza guardare lo schermo, ma devo spostare il mosue, e capire di quanto si è spostato.

Esattamente come fà il computer, io speto il mosue di 2 centimetri verso l'alto, e il pc sà che io ho spostato il mouse di 2 centimetri verso l'alto, poi lo sposto 3 cm verso destra e il pc sà che io ho spoatato il mouse 3 centimetri verso destra.
In rete c'è pure un programmia inutile ma simpatico, che calcola la distanza in metri percorsa dal mosue.
Quindi riuscendo anche tramite un pic ad interpretare i seganli che escono dal mouse, si dovrebbe risucire a capire distanza percorsa e direzione.



Daniels118





postato il:
20.05.2012, alle ore 11:48
sposta il puntatore del mouse di 2 cm a destra e 3 cm in alto SENZA GUARDARE LO SCHERMO!

Se hai un mouse con la pallina ben pulito da povere e su una superficie liscia è facile :)
Io direi "fai fare al mouse 3 giri lungo una circonferenza ad occhi chiusi" ahah
La soluzione del telecamere è buona e non troppo complessa, però il pic non è in grado di gestire tutto hai bisogni di un pc che poi comunichi al robot le informazioni ricavate, inoltre la telecamera ha dei punti morti dove non vede e la precisione diminuisce fortemente con la distanza a causa della prospettiva.
Per schottky:
I sensori agli utrasuoni non ti possono garantire una precisione di due centimetri a due metri e non puoi schermare esattamente gli ostacoli semplicemente perchè i sensori a ultrasuoni (e sto parlando dei modelli professionali tipo Polaroid, quelli tipo Sparkfun vanno peggio) hanno un fascio di cira 24 gradi per cui ammesso che la misura la fai esattamente puoi localizzare il tuo oggetto solo su un arco di circonfernza di questa ampiezza e ovviamente l'errore è molto più grande di 2cm.

Questo è assolutamente vero, però ci tengo a precisare che relativamente alla soluzione che ho proposto io bisogna fare delle considerazioni diverse, le elenco di seguito:
- il ricevitore deve captare segnali diretti e non riflessi, quindi la loro intensità è di gran lunga superiore e consente una portata maggiore;
- l'ampiezza del fascio DEVE coprire tutta la stanza, quindi degli emettitori economici sono i più graditi;
- il sistema prevede che vengano considerati buoni i segnali diretti, ovvero i primi ad essere ricevuti, quindi la presenza di ostacoli bassi non è un problema e non influisce sulla precisione.
Non so dire a che livelli di precisione si può arrivare, ma credo comunque nell'ordine di qualche centimetro. La risoluzione dipende ovviamente dalla velocità dei timer è dalla capienza dei registri.



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





postato il:
20.05.2012, alle ore 11:54
Sempre per multimetro invio un po di link utli per capire dove mettere le mani in questo campo:
Il datasheet di un sensore Senscomp (Polaroid) con le caratteristiche, tra cui la forma del lobo di radiazione http://www.senscomp.com/pdfs/series-600-environmental-grade-…
Questo è il solo sensore occorre anche il circuito di comando, il tutto viene venduto in kit da Acroname (spedisce anche in Italia) http://www.acroname.com/robotics/parts/R11-6500.html
Sempre da Acroname si trovano i sensori a infrarossi della Sharp che sono più precisi ma adaati per distanze più piccole http://www.acroname.com/robotics/parts/R49-IR15.html e seguenti
Alt! guardando questi mi sono accorto che la sharp ha messo a punto moduli adatti anche per distanze importanti (potrebbero essere una soluzione)
http://www.acroname.com/robotics/parts/R316-GP2Y0A710YK.html



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:
20.05.2012, alle ore 11:56
@Jasson
In rete c'è pure un programmia inutile ma simpatico, che calcola la distanza in metri percorsa dal mosue.

Scusa ma è qui che ti sbagli, il programma calcola la distanza percorsa dal puntatore, non quella percorsa dal mouse, infatti (OVVIAMENTE) se muovi il mouse tenendolo sollevato dal tappetino lui non conta la distanza percorsa.
E' esattamente come dice schottky, tu riesci a puntare con precisione gli oggetti sullo schermo perchè muovi il mouse finchè il puntatore non si ci posiziona sopra, non perchè conosci a priori lo spostamento che devi fare con la mano.
E' un dato di fatto che l'algoritmo che analizza i dati del sensore può non riuscire ad interpretare correttamente le immagini che gli arrivano, tant'è che su alcune superfici il puntatore si muove da solo nonostante il mouse sia fermo. Potresti obiettare dicendo che basta mettere il robot s una superficie adeguata, ma resta il fatto che il mouse riesce a misurare solo sommariamente lo spostamento. Inoltre bisognerebbe ricostruire gran parte dell'elettronica e riscrivere l'algoritmo perchè non è progettato per misurare le rotazioni, guai se fai una curva!



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





postato il:
20.05.2012, alle ore 12:06
Ma la distanza percorsa dal puntatore è proporzionale alla distanza percorsa dal mouse.
Non è che il puntatore si muove senza che venga mosso il mouse.

E poi io non devo puntare nulla, forse non ci siamo capiti, io non devo dire muoviti di tot centimetri o segui un determinato percorso, non devo sapere dove mi devo spostare, semplicemente io muovo il mosue ad occhi chiusi, e poi "guardando lo schermo" e posso capire di quanto ho spostato il mosue.




schottky





postato il:
20.05.2012, alle ore 12:07
Daniels118:

Questo è assolutamente vero, però ci tengo a precisare che relativamente alla soluzione che ho proposto io bisogna fare delle considerazioni diverse, le elenco di seguito:
- il ricevitore deve captare segnali diretti e non riflessi, quindi la loro intensità è di gran lunga superiore e consente una portata maggiore;
- l'ampiezza del fascio DEVE coprire tutta la stanza, quindi degli emettitori economici sono i più graditi;
- il sistema prevede che vengano considerati buoni i segnali diretti, ovvero i primi ad essere ricevuti, quindi la presenza di ostacoli bassi non è un problema e non influisce sulla precisione.
Non so dire a che livelli di precisione si può arrivare, ma credo comunque nell'ordine di qualche centimetro. La risoluzione dipende ovviamente dalla velocità dei timer è dalla capienza dei registri.


Infatti la tua soluzione non l'avevo letta affato, probabilmente stavamo scrivendo insieme ma mi pare che potrebbe funzionare, l'unica criticità, ma mi pare affrontabile, è il perfetto sincronismo degli "orologi" che possono accettare un errore molto inferiore al "tempi di volo". In realtà l'approccio di principio è lo stesso che avevoi suggerito io, non è il robot che si loclizza nella stanza ma la stanza che localizza il robot. Mi piace molto la tua proposta.



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





postato il:
20.05.2012, alle ore 12:12
Jasson:
Ma la distanza percorsa dal puntatore è proporzionale alla distanza percorsa dal mouse.




E' qua che ti sbagli non "è proporzionale" ma "dipende da" e dipende da un'altra quantità di fattori determinabili solo statisticamente, ma noi non ce ne accorgiamo grazie al feedback visuale.



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:
20.05.2012, alle ore 12:23
non è il robot che si loclizza nella stanza ma la stanza che localizza il robot.

Beh non è proprio esattamente così, perchè la logica di posizionamento sta tutta dentro al robot, gli emettitori sono solo dei punti di riferimento, diciamo così, "particolarmente evidenti".
l'unica criticità, ma mi pare affrontabile, è il perfetto sincronismo degli "orologi" che possono accettare un errore molto inferiore al "tempi di volo"

La soluzione più semplice è quella di collegare fisicamente con dei cavi elettrici tutti i clock all'accensione del sistema in modo che siano sincronizzati. Questo ovviamente produce una deriva nel tempo dovuta al fatto che i clock sicuramente non oscilleranno alla stessa frequenza, però se si tarano bene e il robot non deve funzionare per tempi lunghi l'errore è trascurabile proprio in virtù della "lentezza" del suono. Un sistema più affidabile sarebbe quello di sincronizzare i timer con delle onde radio, il tempo di propagazione di queste ultime è assolutamente trascurabile rispetto a quello delle onde sonore.
Per evitare di trasmettere l'orario codificato ed implementare protocolli di comunicazione eccetera, si potrebbe utilizzare un clock radio e lasciare a bordo solo un contatore, viste le distanze ridotte è difficile perdere qualche impulso.
Ti ringrazio molto per l'apprezzamento :)
Jasson:
Ma la distanza percorsa dal puntatore è proporzionale alla distanza percorsa dal mouse.
Non è che il puntatore si muove senza che venga mosso il mouse.

E poi io non devo puntare nulla, forse non ci siamo capiti, io non devo dire muoviti di tot centimetri o segui un determinato percorso, non devo sapere dove mi devo spostare, semplicemente io muovo il mosue ad occhi chiusi, e poi "guardando lo schermo" e posso capire di quanto ho spostato il mosue.

E' proprio questo il punto, guardando di quanto si è spostato il puntatore non riesci a capire di quanto si è spostato il mouse, provare per credere (facendo parecchi movimenti in modo da far crescere l'errore cumulativo abbastanza da renderlo evidente, come avverrebbe con il robot).



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:
21.05.2012, alle ore 19:11
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!



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