Consigli per piccolo robot

Ciao a tutti! Sono qui per chiedervi dei consigli: vorrei provare a costruire un piccolo robot/macchinina. Vedendo in giro, un progetto semplice potrebbe essere un robottino 3/4 ruote che gira per la casa e evita gli ostacoli che trova. Pensavo di mettergli dietro 2 ruote motrici e come motori metterei dei semplici motori DC, secondo voi è la scelta migliore? Mentre davanti metterei 1/2 ruote mosse da un servo (come sterzo). Come sensore di ostacoli sono indeciso tra quello ad infrarossi e quello ad ultrasuoni (per intuito sono orientato agli ultrasuoni).

Dei semplici motori DC sicuramente non vanno bene, devi prevedere anche una riduzione per abbassare il numero dei giri ed aumentare la coppia o prendere dei motori con scatola di riduzione incorporata.

Davanti puoi anche mettere una ruota pivottante, è più semplice e non richiede il servo

Come sensore vai sugli ultrasuoni

Io ho fatto qualcosa di simile, con in più un collegamento bluetooth per il controllo remoto

Ciao

qui è pieno di esempi, se può eserti utile: http://letsmakerobots.com/

flz47655: Dei semplici motori DC sicuramente non vanno bene, devi prevedere anche una riduzione per abbassare il numero dei giri ed aumentare la coppia o prendere dei motori con scatola di riduzione incorporata.

Ecco, trovato il problema! Trovare cose del genere a basso prezzo non sarà facile. Se invece (mi sa di idea stupida) usassi il PWM per abbassare i giri? però la coppia rimarrebbe bassa ...

flz47655: Davanti puoi anche mettere una ruota pivottante, è più semplice e non richiede il servo

Forse per iniziare è più semplice, hai ragione!

flz47655: Come sensore vai sugli ultrasuoni

Eh, stavolta ho avuto un buon intuito, infatti mi sà che gli infrarossi diventano imprecisi con la luce.

flz47655: Io ho fatto qualcosa di simile, con in più un collegamento bluetooth per il controllo remoto

Questo è un passo a cui avevo pensato anche io! Avendo una fonera ho fatto delle prove con quella e sembra funzionare, accendo/spengo led a distanza! Però lo farò più avanti, prima voglio vedere un qualcosa che va a zonzo per casa da solo

post interessante

cavde: qui è pieno di esempi, se può eserti utile: http://letsmakerobots.com/

Ho visto, molti progetti sono interessanti e complessi, io vorrei provare a fare il mio primo robot, quindi un qualcosa di mooolto semplice!

leo72: post interessante

Hahaha, dici davvero?

Su Futura Elettronica, ho trovato varie idee non male riguardo ai motoriduttori:

http://www.futurashop.it/allegato/7300-MOTRID1201.asp?L2=AZIONAMENTI&L1=ROBOTICA&L3=MOTORIDUTTORI&cd=7300-MOTRID1201&nVt=&d=7,00

http://www.futurashop.it/allegato/7300-DGEARBOX.asp?L2=AZIONAMENTI&L1=ROBOTICA&L3=MOTORIDUTTORI&cd=7300-DGEARBOX&nVt=&d=16,50

E' da un pò che ho intenzione di costruire un piccolo robot semovente ma non ho mai affrontato la questione per mancanza di suggerimenti validi. Hai già idea su che tipo di controllore utilizzare?

Controllore? Arduino Uno!

Trovare cose del genere a basso prezzo non sarà facile.

Roba molto semplice per iniziare la trovi a prezzi bassi. I link di Futura Elettronica che hai inserito sono un valido esempio.

Addirittura trovi anche kit base completi economici e abbastanza validi per lo scopo: http://www.homotix.it/catalogo/robotica-e-accessori-438/magician-chassis http://www.homotix.it/catalogo/robotica-e-accessori-438/kit-robot-versione-base

Ovviamente devi mettere anche in conto un driver motori se usi due DC. In alternativa potresti usare due servo a rotazione continua, che possono essere pilotati direttamente da Arduino

Ciao, questo era il primo robottino che avevo creato http://youtu.be/qiN2eteisFw, poi ne ho fatto un secondo più potente con un Driver Motori L298, Ultrasuoni, Bluetooth, etc..

Allora la questione secondo me più importante sono i motori perché influenzeranno maggiormente: -il peso (motori grossi -> batterie grosse e telaio più robusto) -l'autonomia -le prestazioni -il costo (bisogna considerare anche la riduzione)

Io avevo usato il kit "Tamiya 70168 Double Gearbox Kit" http://www.pololu.com/catalog/product/114 e non mi ero trovato male, c'è chi ha utilizzato con successo anche semplicemente due servo motori modificati per la rotazione continua con agganciate le ruote.

Per il PWM lo puoi utilizzare per passare da 100 ad 80 giri ma non da 20.000 a 100 giri, perdi tutta la coppia ed il robot non riesce a muoversi.

Ciao

kernak: Roba molto semplice per iniziare la trovi a prezzi bassi. I link di Futura Elettronica che hai inserito sono un valido esempio.

Si, infatti me ne sono accorto, ho visto anche che ci sono molti rivenditori in tutta italia, ce ne sono anche nella mia città. Sul sito dicono che i rivenditori hanno tutto, speriamo!

kernak: Addirittura trovi anche kit base completi economici e abbastanza validi per lo scopo: http://www.homotix.it/catalogo/robotica-e-accessori-438/magician-chassis http://www.homotix.it/catalogo/robotica-e-accessori-438/kit-robot-versione-base

Si, ho visto sono molto bellini, però la soddisfazione che hai quando il robot è fatto tutto da te è un'altra cosa!

kernak: Ovviamente devi mettere anche in conto un driver motori se usi due DC.

Lo sò, sono vergognoso, ma avevo pensato a due ponti H fatti a mano. (con 8 transistor e 8 diodi fai 2 ponti H)

kernak: In alternativa potresti usare due servo a rotazione continua, che possono essere pilotati direttamente da Arduino

Ne avevo sentito parlare, ma non ne sò molto

Si, ho visto sono molto bellini, però la soddisfazione che hai quando il robot è fatto tutto da te è un'altra cosa!

Beh se nel bricolage te la cavi effettivamente fare un telaio su cui montare i motoriduttori non è complicato e neanche costoso... Se vuoi fare una cosa un po grande io userei MDF da 1 cm, è facile da lavorare,costa poco (io lo pago intorno ai 5 euro al metro quadro),è robusto e con un po di colla e qualche vite ottieni una buona struttura e tra l'altro ,con un fissativo adatto e vernice di bomboletta, rimane anche molto bello esteticamente....Se vuoi qualcosa di piu particolare puoi, con un po d'ingegno, crearti delle parti mobili tipo il tronco,le braccia e la testa usando sempre dei motoriduttori aggiungendoci degli encoder ad infrarossi per poter gestire i relativi movimenti.... Insomma chi più ne ha più ne metta... :)

flz47655: Allora la questione secondo me più importante sono i motori

Già, la cosa principale che volevo chiedere è proprio questa! Il kit "Tamiya 70168 Double Gearbox Kit" si può considerare un motore grosso o piccolo? Come idea non sarebbe male.

Per quanto riguarda la questione batterie si deve dividere in 2: - Alimentazione arduino - Alimentazione motori e il resto

Per quando riguarda arduino sare indirizzato ad una 9V ricaricabile. Per i motori e il resto o utilizzo un'altra da 9V oppure faccio un bel pacchettino di pile AA

flz47655: Per il PWM lo puoi utilizzare per passare da 100 ad 80 giri ma non da 20.000 a 100 giri, perdi tutta la coppia ed il robot non riesce a muoversi.

Si,si infatti avevo detto una cavolata!

tonid: Beh se nel bricolage te la cavi effettivamente fare un telaio su cui montare i motoriduttori non è complicato e neanche costoso...

Proverò a costruirmi il telaio da solo, per iniziare farò qualcosa di semplice, non farò certo un telaio in fibre di carbonio :D

tonid: Se vuoi qualcosa di piu particolare puoi, con un po d'ingegno, crearti delle parti mobili tipo il tronco,le braccia e la testa usando sempre dei motoriduttori aggiungendoci degli encoder ad infrarossi per poter gestire i relativi movimenti....

Ehhh, calma, calma, devo ancora trovare il motore giusto, questo lo farò mooolto più avanti.

Per far sapere al robot dove si trova.... in un ambiente (in una stanza) ti consiglio di usare motorini con encoder, magari spenderai qualcosina in più ma ne vale la pena. La tecnica che permette di calcolare la posizione di un robot detta POSE x,y,theta, viene detta odometria e per applicarla ti serve che sui motori siano installati encoder relativi incrementali. In caso contrario il robot potrà andare solo a zonzo, magari aggirando ostacoli tramite i sensori, ma si muoverà senza rispettare un percorso e tantomeno tu potrai sapere dove esso si trovi.

Inoltre nel caso in cui tu volessi dire al robot di andare dal una posizione x,y ad una posizione x1,y1 il robot dovrebbe calcolare attraverso calcoli di cinematica inversa (cosa abb complessa)e algoritmi di navigazione tutto il percorso per arrivare nella nuova posizione... il che diventerebbe estremamente complicato senza encoder sulle ruote. Ancora un altro vantaggio di avere gli encoder è che con essi puoi realizzare un controllo a loop chiuso di velocità delle ruote che è molto importante se farai muovere il tuo piccolo robot in ambienti con salite e discese.

cyclone: Per far sapere al robot dove si trova.... in un ambiente (in una stanza)

Questa è un ottima cosa, non sarà certo facile però ne sono molto interessato!

cyclone: ti consiglio di usare motorini con encoder, magari spenderai qualcosina in più ma ne vale la pena.

Quanto costano circa? Hai qualche link?

cyclone: La tecnica che permette di calcolare la posizione di un robot detta POSE x,y,theta, viene detta odometria e per applicarla ti serve che sui motori siano installati encoder relativi incrementali. In caso contrario il robot potrà andare solo a zonzo, magari aggirando ostacoli tramite i sensori, ma si muoverà senza rispettare un percorso e tantomeno tu potrai sapere dove esso si trovi.

Che precisione hanno? Perchè dopo 1 ora a girare per la casa, un piccolo errore di 1 cm può diventare di 1 metro! Ma se uno per sbaglio gli da una piccola botta poi lui avrebbe la posizione un po' slittata ...

questo infatti è il problema che si ha con l'odometria.... se le ruote sbandano o se lo sposti in malo modo hai proprio questi problemi. allora per venire incontro a questi problemi di norma di montano delle ruote passive in parallelo a quelle motrici. quelle passive vengono leggermente pressate sul pavimento con una molla. in questo modo se quelle motrici perdono attrito per forti accelerazioni quelle passive rimarranno incollate (per così dire al pavimento)

se poi ogni tanto devi riprendere i riferimenti lo potrai fare con i cosidetti landmarks ovvero dei segnali che possono essere anche di tipo ottico opportunamente modulati e codificati piazzati nell'ambiente che il robot rileverà e attraverso i quali potrà effettuare i reallineamenti odometrici.

Proverò a costruirmi il telaio da solo, per iniziare farò qualcosa di semplice, non farò certo un telaio in fibre di carbonio

Ma no, l'MDF è una sorta di legno...

Ehhh, calma, calma, devo ancora trovare il motore giusto, questo lo farò mooolto più avanti.

ahahah , ti ho detto queste cose solo perchè nella robotica c'è un sacco di tecnologia che andando avanti con il tuo progetto ti verrà voglia di applicare e sperimentare e poi sarai magari costretto a dover rifare il telaio per mancanza di spazio......se invece parti con una cosa che ti dia più possibilità di lavorarci su devi solo aggiungere e sperimentare......Resta comunque il fatto che sei tu a decidere il da farsi :)

cyclone: Inoltre nel caso in cui tu volessi dire al robot di andare dal una posizione x,y ad una posizione x1,y1 il robot dovrebbe calcolare attraverso calcoli di cinematica inversa (cosa abb complessa)e algoritmi di navigazione tutto il percorso per arrivare nella nuova posizione... il che diventerebbe estremamente complicato senza encoder sulle ruote.

Moolto interessante, è più o meno quello che fa il tomtom per pianificare il percorso, no?

cyclone: Ancora un altro vantaggio di avere gli encoder è che con essi puoi realizzare un controllo a loop chiuso di velocità delle ruote che è molto importante se farai muovere il tuo piccolo robot in ambienti con salite e discese.

Non ho ben capito a che serve capire la velocità ... Più che salite o disce in casa mia ci sono degli scalini, quelli saranno un problema mi sà!

cyclone: questo infatti è il problema che si ha con l'odometria.... se le ruote sbandano o se lo sposti in malo modo hai proprio questi problemi. allora per venire incontro a questi problemi di norma di montano delle ruote passive in parallelo a quelle motrici. quelle passive vengono leggermente pressate sul pavimento con una molla. in questo modo se quelle motrici perdono attrito per forti accelerazioni quelle passive rimarranno incollate (per così dire al pavimento)

Quindi i motori con encoder sarebbero solo passivi?

cyclone: se poi ogni tanto devi riprendere i riferimenti lo potrai fare con i cosidetti landmarks ovvero dei segnali che possono essere anche di tipo ottico piazzati nell'ambiente che il robot rileverà e attraverso i quali potrà effettuare i reallineamenti odometrici.

Ecco, parte il difficile :fearful:

il top è avere delle ruote (motrici) con motori ed encoder per il controllo della velocità / posizione e altre due ruote indipendenti connesse solamente agli encoder per realizzare l'odometria.