[Progetto comune] - Robotica

gio, matematicamente non è problematico farlo, il problema è vedere se l'arduino riesce a stare dietro a tutti quei calcoli ... sono matrici abbastanza grosse e complesse ... dovresti prima provare a fare un poolling di dati e poi processarli sotto mathcad e vedere se riesci a trovare un'algoritmo semplice da eseguire, altrimenti puoi fare un'algorimo di prossimità che è piu semplice... al massimo quando ci becchiamo te lo spiego

i dati del problema potrebbero essere questi?

1 punto di partenza (x;y)
2 propria posizione (x;y)
3 standby (boolean)
4 angolo di curva eventuale (in gradi)
5 rpm ruota (se si vuole la finezza della vel variabile)
6 ostacolo (presenza dell'eventuale ostacolo)

Se qualcuno e' in grado di farlo matematicamente, non e' possibile pensare di attaccare un piccolo computer ad arduino mentre il robot pattuglia la casa, apprenderne la forma e poi togliere il computer e lasciare arduino che ormai ha imparato? O questo tipo di dati sono di difficile gestione una volta anche appresi? F

matematicamente c'è un metodo piu semplice per farlo che sovrapporre la matrice di linee, ovvero usare la matrice di punti e un'algoritmo di prossimità. ovvero in sostanza salvi un punto quando ti trovi a x centimetri da un'ostacolo con coordinate x-y, e fai muovere il mezzo una volta trovato l'ostacolo. una volta che hai un'array sufficentemente grande per la precisione che vuoi ottenere, fai un'algoritmo semplice calcolando con un sistema di radious il punto piu prossimo a quello che hai preso in analisi, quindi sposti il tuo cursore su quel punto e flagghi quello precedente come visitato, continui cosi finchè non rimangono piu punti da visitare e dovresti avere qualcosa di simile a una polilinea aperta che dovrebbe delimitare la tua stanza, dopo devi fare un'algoritmo di refine dell'errore e tracciare una linea fra la media dei punti che mantengono una certa linearità, eliminando quindi l'errore e avendo una linea retta che dovrebbe rispecchiare il tuo muro.... insomma farlo non è complesso ... se ti metti a scriverlo in un paio di giorni cel'hai fatta ... solo fossi in te prima proverei a fare questi calcoli graficamente davanti a un pc, poi vedi se il risultato è soddisfacente automatizzi la cosa dentro al robot.

tempo fa scrissi un'algoritmo simile per fare dei calcoli su googlemap :smiley:

sono contento che la sezione robotica abbia preso questa strada...ma a questo punto io ripropongo il maze solver (che avevo già proposto nel 3D del progetto comune).

Si tratta di un robottino, che prima risolve il labirinto disegnato come se fosse un normale line follower e intanto apprende la soluzione che lo sta portando all'uscita. Una volta risolto il labirinto e riposizionato nella posizione di partenza è in grado di ripercorrere il percorso giusto.

Mi sembra che ci siano delle forti similitudini col robot aspirapolvere, ma un po' più entry level, potrebbe essere il primo step del progetto.

Che ne pensate?

fattibile ma di scarsa utilità, se devo spendere tempo ... almeno che mi pulisca casa :smiley:

Si beh, effettivamente l'unica utilità sarebbe quella di riuscire a farlo funzionare!

L'unica cosa utile è che la struttura e il concetto di fondo del codice sarebbero le stesse...per le mie capacità è più fattibile e potrei contribuire, mentre il progettone "aspirapolvere" lo seguirei comunque ma sarei più passivo.
Dico questo perchè non credo che tutte le 11 persone che hanno votato robotica al poll e che vorrebbero partecipare attivamente al progetto abbiano capacità di modellizzazione e creazione di algoritmi complessi.

algoritmi complessi no :o

mi ricordo che per far esaminare uno spazio a un robot si doveva fargli fare delle specie di chiocciole quadrate sul terreno... ora non ricordo se sta tecnica ha un nome però potrete evitare particolari algoritmi...

Il sistema di mappatura potrebbe essere valido anche per altri tipi di robot, non solo per gli aspirapolveri :slight_smile:

Potrebbe essere interessante anche, prima della mappatura, scrivere un sistema veramente efficace di navigazione e decisione via sonar + servo motore. Due componenti che e' sempre figo avere e che se devi muovere un robot ti fanno comodo.

Beh l'idea di calamaro ci sta, con un ultrasonico montato a lato si possono mappare le posizioni delle pareti in modo piuttosto semplice.

girando ho trovato:
http://www.jonh.net/~jonh/robots/mapping/submitted-paper.html
http://coecsl.ece.uiuc.edu/ge423/spring03/Group7/index.html

http://www.iorobot.net/index.php?option=com_content&task=view&id=22&Itemid=44

post su roboitalia:

da quello che ho capito possiamo usare delle matrici ma occupano un sacco di mem e operazioni/secondo, oppure algoritmi un po' piu' complessi ma leggeri da far girare

Federico Vanzati ha scritto:

Dico questo perchè non credo che tutte le 11 persone che hanno votato robotica al poll e che vorrebbero partecipare attivamente al progetto abbiano capacità di modellizzazione e creazione di algoritmi complessi.

io arrivo a malapena alle equazioni di primo livello... :-? :o :-[ :-/

Massi' non è cosi problematico come sembra.
E poi siamo il forum italiano. Dobbiamo spaccare.
(non per mettere competizione con i forum esteri) pero' dovremmo tirare fuori qualcosa di interessante, avete visto in america cosa fanno?
Non possiamo farci surclassare cosi' :stuck_out_tongue:

Giusto, dobbiamo fargli il cul0 :slight_smile:

E poi siamo il forum italiano. Dobbiamo spaccare.
(non per mettere competizione con i forum esteri)

e perchè no? :wink:
un po' di sana competizione non ha mai fatto male a nessuno, anzi, al massimo ci sprona a dare il nostro meglio :slight_smile:

A me sono arrivati i sensori di colore, vogliamo farci qualcosa?
http://it.mouser.com/ProductDetail/TAOS/TCS3200D-TR/?qs=07cgIB9%2F73FMXjkjs0LJVg%3D%3D
Ho scoperto che su mauser.com costano l'imponente cifrone di 2 euri cadauno... alura?

(piccola precisazione, porca miseria, non abbiamo mai nominato la cosa più interessante nel poll: creare un nuovo shield!! e pensare che doveva essere la prima cosa a venirci in mente ;D ;D)

sai che non lo trovo? Mi mandi il link? :stuck_out_tongue:
Beh io stavo pensando di utilizzare una bussola per rilevare l'orientamento del robot rispetto al mondo. Si potrebbe pensare a uno shield del genere, e risulterebbe anche utile per il progetto del mapping. In teoria se scegliamo decentemente il componente possiamo spendere davvero poco, vedendo in giro.

Ciao
Pensavo a come centrare il progetto, l'obieettivo è quello di usare solo Arduino, oppure anche di basarci su calcoli effettuati dsa Pc che appoggiano Arduino sulla parte di calcolo ?

Nel frattempo ho costruito un rover che puo' portare a spasso un netbook, funziona abbastanza bene. ...e risolve anche problemi di eventuali calcoli on site.

Gio'

Se si potesse fare solo con arduino porebbe essere meglio, metti che un robot possa arrampicarsi o camminare su una griglia, potrebbe essere difficile portarsi a spasso un chilo di netbook...

ho sperimentato anche io in quella direzione tempo fa e mi son reso conto che non ha alcun senso portarsi dietro il pc soprattutto per robot casalinghi quando esiste il wireless.
Cmq si potrebbe essere carino magari rappresentare graficamente con processing la mappa creata dal robot.