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...


Avoiding obstacles robot
     
Autore Messaggio opzioni
Diland87





postato il:
16.12.2014, alle ore 09:14
Ho capito... quindi ne metteresti 3? Uno frontale e uno in diagonale?
la cosa che non capisco è come gestire più di un sensore assieme.
Nel senso che a seconda di quale sensore percepisce l'ostacolo, il robot dovrà fare un movimento diverso, o sbaglio?
Faccio un esempio... a me verrebbe spontaneo pensare ad uno schma di funzionamento di questo tipo:
- Se l'ostacolo è percepito dal sensore di sx, il robot deve girare a dx di tot gradi (45°?)
- Se l'ostacolo è percepito dal sensore di dx, il robot deve girare a sx di tot gradi (45°?)
- Se invece a percepire l'ostacolo è il sensore centrale, allora il robot dovrà girare a sx o a dx di 90° a seconda di dove la visuale è più libera.

Questa è la cosa che mi viene in mente per prima, ma logicamente non so se può essere corretta.
Inoltre, una volta percepito un ostacolo, il robot deve girare finché i sensori continuano a captare la presenza dell'ostacolo stesso, oppure l'angolo di virata deve essere fisso come ho scritto prima sopra io?

Scusa per le tante domande, ma ho davvero tanti dubbi.
Grazie!! :)
schottky





postato il:
16.12.2014, alle ore 09:22
Ovviamente le strategie di movimento in assenza di una mappa non possono essere "esatte" nel senso che non è possibile garantire che evitato un ostacolo se non se ne trova un'alto, o che una volta intrappolati eper esempio in uno stretto corridoio se ne riesca ad uscire. La strtegia da te ipotizzata è ragionevole, io terrei memoria delle mosse (almeno di un certo numero) in modo che, nel caso di fallimento ripetuto della strategia per un certo numero di mosse si possa attivare una procedura di backup, per esempio basata su una mossa random al fine di rompere lo schema.


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





postato il:
16.12.2014, alle ore 11:11
Ma tu pensi sia meglio avere degli angoli di virata fissi oppure no?
Ragionandoci mi verrebbe di modificare lo schema di movimento sopra come segue (senza virate fisse):

- se l'ostacolo è percepito dal sensore di sx, allora il robot gira a dx sino a quando il sensore non percepisce più nulla;
- se l'ostacolo è percepito dal sensore di dx, allora il robot gira a sx sino a quando il sensore non percepisce più nulla;
- se l'ostacolo è percepito dal sensore centrale, il robot gira a dx o sx (in base a quale visuale risulta essere più libera) finché il sensore non percepisce più nulla, ma in questo caso sorge un altro problema: durante la rotazione (supponiamo a dx) per forza di cose il sensore di sx percepirà l'ostacolo che prima era segnalato dal sensore centrale (non so se mi sono spiegato). In questo caso non so quale soluzione sarebbe da adottare... forse durante la rotazione dovrei bloccare i sensori in diagonale....
- se i sensori non percepiscono nulla, il robot va avanti senza problemi
- se il robot rimane incastrato, si attiva la retro marcia e poi gira verso un'altra direzione.

Eccezion fatta per il problema al punto 3, forse questo schema è migliore. Secondo te file bene come base di partenza?
schottky





postato il:
16.12.2014, alle ore 13:12
Diland87:

- se l'ostacolo è percepito dal sensore di sx, allora il robot gira a dx sino a quando il sensore non percepisce più nulla;



Questo tipo di schema non funziona proprio per la ristrettezza del fascio se giro solo fino a quando non sento più l'ostacolo con elevatissima pribabilita appena mi muovo l'ostacolo me lo ritrovo

Diland87:

- se il robot rimane incastrato, si attiva la retro marcia e poi gira verso un'altra direzione.



Questa cosa della retromarcia l'avevamo già vista, se la vuoi prevedere ti occorrono anche i sensori posteriori.



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





postato il:
16.12.2014, alle ore 14:25
Perché non dovrebbe funzionare? Se io i sensori dx e sx li metto in diagonale il fascio non è ridotto... avrei una 30 di gradi per ogni sensore e riuscirei a coprire circa 90°.

A parte questo, nemmeno il 3° punto ti suona?
Infine, secondo la tua esperienza, quale è la distanza alla quale i sensori dovrebbero essere capaci di rilevare l'ostacolo?

Grazieeee!!! :)
Jasson





postato il:
17.12.2014, alle ore 13:28
Io ho acquistato quello schifo di "robottino" Vileda per pulire i pavimenti,
per capirci questo http://www.ufficio.com/prodotto.asp?id=28565&gclid=CJfJn-6Iz…

Tale robot se così lo possiamo chiamare, non ha nessun sensore, però quando arriva contro un ostacolo gira e va dall'altra parte.

A questo punto credo che l'unica soluzione possibile, stia nell'assorbimento di corrente del motorino, ovvero quando il robot arriva contro un ostacolo, e di conseguenza non riesce più a procedere, il motore va sotto sforzo, quindi assorbe più corrente, e il robot capisce che c'è un impedimento, quindi ruota e si dirige da un altra parte.

Almeno credo sia così, perchè altrimenti non trovo altre possibili spiegazioni.
ilariostella





postato il:
17.12.2014, alle ore 14:22
Quel robot vileda funziona come le macchinine giocattolo. Il gruppo di trazione è pivottante, nulla di elettronico. Se incontra un ostacolo va sotto sforzo e gira. Ne ho uno avuto in regalo, completamente inutile.


Se comprendere è impossibile conoscere è necessario... [P. Levi]
L'ignoranza non è mai meglio della conoscenza. [E. Fermi]
Diland87





postato il:
20.12.2014, alle ore 15:16
Ma secondo voi avere 3 sensori frontali (uno centrale e due in diagonale a 30° da quello centrale) può andar bene?

Inoltre, avete qualche consiglio su come gestire la relazione tra la distanza alla quale viene percepito l'ostacolo e l'angolo di rotazione per poterlo evitare?
L'ostacolo può essere infatti percepito a 5 cm o a 50 cm di distanza (faccio un esempio generico)... per evitarlo ci sarà bisogno di un angolo di virata maggiore nel primo caso e minore nel secondo.. come faccio a gestire questa relazione?
è possibile fare una cosa del genere con i sensori IR?
schottky





postato il:
20.12.2014, alle ore 16:20
Non capisco il problema, a meno di avere un ambiente "dinamico" ma in questo caso il problema si fa "veramente" complesso e hai sensori ch arrivano a 50 cm ovviamente la presenza dell'ostacolo la vedi PRIMA a 50 cm e POI (se decidi di avvicinarti) a 5cm, quindi fa parte della tua strategia quella di decidere, in presenza di un ostacolo se avvicinarti e quanto, ovviamente facendolo anche in base della estensione dell'ostacolo medesimo comprensibile quando si hanno più sensori.
Circa le strtegie "migliori" ovviamente non ve ne è una sola e di fattpo è quello che in genere chi costruisce una cosa del genere si prpone di sperimentare, non capisco la smnia di sapere "tutto prima"
Comunque poi le stratetegie di locazione, navigazione e path planning costituiscono un corpo di disciplina complesso ed eterogeneo e se uno vuole fare qualcosa di sensato deve un po studiare.
PER INCOMINCIARE su questo argomento ti consiglio di leggere la pubblicazione "where am I" si tratta di un lavoro nato da una tesi, abbastanza vecchio ma sempre attuale in cui vengono presentate le problematiche
La puoi scricare qui: http://www-personal.umich.edu/~johannb/Papers/pos96rep.pdf

Diland87:

è possibile fare una cosa del genere con i sensori IR?


NO; come ti ho già detto, a meno che con IR non intendi i rangefinder PSD della Sharp, questi sono dei sistemi molto efficaci per la localizzazione di ostacoli m a anche abbastanza costosi, inoltre essendo abba stanza direzionali per ottenere risultati se ne devono usare un buon numero.
Se sei interessato ne trovi la descrizione qui:
http://www.acroname.com/articles/sharp.html



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





postato il:
20.12.2014, alle ore 17:04
Tra l'altro io credo che l'angolo di sterzata, dipende dall'ingombro dello stesso robot.

Non ho mai costruito robot, e non mi intendo di robotica, ma avendo la patente mi pare scontato che l'angolo di sterzata dipenda dalle dimensioni del mezzo che sto guidando.

Quindi presumo che un robot piccino gli potrebbe bastare deviare la traiettoria magari di 10 gradi per evitare l'ostacolo, un robot più grande magari nella medesima situazione gli servono 30 gradi, ad un altro ancora più grande 50 gradi.

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/2026 GRIX.IT - La community dell'elettronica Amatoriale