Go Down

Topic: [Progetto comune] - Robotica (Read 27 times) previous topic - next topic

Saki_Kawa

Grazie mille per le dritte!! ;)

Quote
Però secodo me è più "al passo coi tempi" non un approccio con un cervellone centrale, potente che impartisce dei comandi a delle periferiche in sparse in giro, ma una serie di piccoli dispositivi dotati di intelligenza in grado di dialogare tra loro e aiutarsi a svolgere il compito.


Sicuramente le bot net collaborative sono affascinanti, ma siamo un po' lontani dalla pratica, sopratutto perchè le variabili in gioco sono molte e già serve molta potenza di calcolo per compiere operazioni base, e se non ci si approccia alla realizzazione come si farebbe con una piccola rete neurale, dividendo i compiti si rischia di disperdere le forze e necessitare di processori potenti.. ma non credo che tutti abbiano le competenze/mezzi per applicare teorie di reti neurali a macchine che devono collaborare tra loro.. ovviamente se creassimo i nostri piccoli droidi su processori ARM o roba simile non ci sarebbero problemi, ma costerebbero 10 volte tanto! ;)
IMHO..
Poi secondo me il problema non è neanche di essere al passo con i tempi.. alla fine siamo tutti alla ricerca di una soluzione funzionale, ognuno ha la sua strada e la sua opinione, sarà il confronto di efficienza a parità di lavoro svolto a decretare il successo di un metodo su un altro.
Quindi è anche giusto che qualcuno provi qualche strada differente, secondo le proprie capacità e valutazioni.  8-)

gbm

#61
Apr 15, 2010, 02:29 am Last Edit: Apr 15, 2010, 02:32 am by gioscarab Reason: 1
Ciao! Piacere di conoscerti, o forse abbiamo gia chiacchierato sul forum :P.

Non sono completamente d'accordo con te sull'uso di una struttura tipo hexapod se quello che cerchi è leggerezza e agilità. Ipotizzando almeno 3 gradi di libertà di movimento stai parlando di 18 servomotori!! Con delle ruote abbastanza grandi due servo fanno 20-25cm al secondo..un hexapod se li sogna (e quanto pesa?).

X la possibile connessione alla cloud io sto sperimentando una connessione ir, per dare via web app comandi al robot, es richiamare una funzione.

Delocalizzare la computazione è intelligente fino a un certo punto, credo che la cosa più interessante per un progetto del genere sia l'interfaccia uomo-macchina via web e le sue possibili applicazioni.

Per la computer vision "in terza persona" è gia stato fatto vai su roborealm credo potrai trovare l'eseguibile gia settato che fa il lavoro che hai bisogno, devi solo dipingere una freccia con nastro adesivo del colore richiesto e orientarla nella direzione forward del robot. Il programma credo sia in grado di riconoscere gli ostacoli tramite un semplice filtro rgb e analisi dei bordi.

Interessante anche il tuo intervento sull'astrazione e acquisizione del posizionamento in rapporto alle 3 dimensioni. Il pid a cui stiamo pensando è esattamente la forma prima di questo concetto (o meglio l'hello world della questione) ... in due dimensioni chiaramente
Community robotica / programmazione Arduino
www.gioblu.com

Saki_Kawa

Ciao gbm, piacere! No non credo che abbiamo mai chiaccherato per ora, mi sono appena registrato, anche se seguo da parecchio! ;)

Quote
Non sono completamente d'accordo con te sull'uso di una struttura tipo hexapod se quello che cerchi è leggerezza e agilità. Ipotizzando almeno 3 gradi di libertà di movimento stai parlando di 18 servomotori!! Con delle ruote abbastanza grandi due servo fanno 20-25cm al secondo..un hexapod se li sogna (e quanto pesa?).

Comprendo le tue perplessità, ma forse è colpa mia che non ho detto che sto sviluppando questo hexapode completamente motorless, uso nanomuscle al NiTinol, per ora il prototipo di zampa è piuttosto grezzo, ma ci sto lavorando su. ;)
Il peso dei singoli muscoli è davvero ridicolo, qualche decina di grammi.
Secondo, il mio hexapode non è assolutamente associabile all'idea di leggerezza e agilità di cui parlavo, era un discorso in generale sui droni da casa quello; tutti gli n-podi sono creati più che altro per terreni accidentati, la similitudine dei progetti potrebbe esserci nel sistema di controllo, tanto che sia hexapode o munito di ruote poco importa alla fine, cambiano le funzioni per compiere i movimenti.

Quote
Delocalizzare la computazione è intelligente fino a un certo punto, credo che la cosa più interessante per un progetto del genere sia l'interfaccia uomo-macchina via web e le sue possibili applicazioni.

Be' dipende come la intendi, ma nel mio progetto c'è anche quello, ma i comandi e l'interprete dei comandi vi web sarebbero su un pc centrale che a seconda dell'operazione manderebbe i comandi anche ai droni-appendice, come dire: io dico al cervellone cosa voglio, e lui sa quali droni/operazioni azionare per arrivare allo scopo.

Quote
dipingere una freccia con nastro adesivo del colore richiesto

Intendi che devo disegnare il percorso per terra??..
No no, questo lo escludo, io parlo di fotografare dall'alto la stanza e calcolare in automatico una geometria per il movimento, cosa che su pc si può fare abbastanza bene, poi "l'occhio" impartirà al drone solo i comandi base per muoversi, come una normale macchina telecomandata, tutto gestito visivamente, quindi niente calcolo della posizione del drone o della distanza da un oggetto.
Comunque sto leggendo un po' bene su Roborealm e ci sono davvero tante cose utili che potrebbero servirmi, grazie mille!!

Il problema dell'astrazione è uno dei principali problemi del movimento spaziale dei droni. Per far si che il robot abbia "coscienza" della propria posizione deve poter astrarre lo spazio intorno a lui, senza però dipendere essenzialmente dalla posizione iniziale (se no in qualunque caso imprevedibile, malfunzionamenti, errori di calcolo, colpi contro oggetti, in cui il drone potrebbe "inciampare" gli farebbero perdere ogni riferimento), cosa in realtà non difficilissima.. il difficile è scegliere quale sistema usare per fargli percepire lo spazio circostante. Alcuni si stanno muovendo sempre nella direzione visiva (in realtà anche agli ultrasuoni, ma sempre sistema visivo è..) per triangolare la distanza da oggetti/ostacoli noti dopo ogni spostamento, cioè 4 o più sensori che quadrino il robot in ogni istante; in questo modo la matrice non sarebbe neanche troppo complessa, un arduino potrebbe riuscire a gestirla, ma secondo me ne servirebbero comunque due: uno per l'acquisizione dei dati dai sensori e l'altro per il calcolo della posizione e dei movimenti.. ah e forse un terzo per comandare i movimenti, se non si sceglie un arduino mega.. IMHO! ;)

Dai spero che riusciate a creare qualcosa di davvero funzionale!! Dobbiamo sbaragliare gli altri paesi!  ;D
Se vi serve una mano, nei limiti di tempo e di conoscenze che ho, sono qui! Intanto posterò qualche progresso del mio progetto in un topic, magari potrebbe essere utile anche a voi qualcosa.
In bocca al lupo!

Federico

Scusa l'ignoranza profonda ma come fa un robot a muoversi senza motori? Cosa sono questi muscoli di cui parli?
Federico - Sideralis
Arduino &C: http://www.sideralis.org
Foto: http://blackman.amicofigo.com

gbm

#64
Apr 15, 2010, 02:46 pm Last Edit: Apr 15, 2010, 02:48 pm by gioscarab Reason: 1
Saki sei il benvenuto, ti aspettiamo ai workshop con il tuo mostriciattolo!! Magari crea un post e facci vedere cosa stai facendo.
Ci vuole un po' di anti-conformismo (in questo caso anti-lynxmotion)  :-X.

x roborealm: ummm in questo istante non trovo il video cmq c'è un ragazzo estero che ha montato una webcam in una posizione rialzata nella sua camera e attaccando una freccia sul dorso del suo robot, riusciva a comandarlo tramite roborealm ed evitare gli ostacoli.

X assenza motori: si i motori ci sono sono degli attuatori lineari molto simili ai muscoli, esempio, ci sono dei metalli che se percorsi da corrente modificano la loro forma e la loro elasticità, oppure ci sono i muscoli pneumatici che con una pompetta si tendono.
Community robotica / programmazione Arduino
www.gioblu.com

Calamaro

Quote
X assenza motori: si i motori ci sono sono degli attuatori lineari molto simili ai muscoli, esempio, ci sono dei metalli che se percorsi da corrente modificano la loro forma e la loro elasticità, oppure ci sono i muscoli pneumatici che con una pompetta si tendono.

che figata  :P :P :o

gbm

Community robotica / programmazione Arduino
www.gioblu.com

Saki_Kawa

Sì i muscoli ad aria sono belli, sopratutto perchè sono molto potenti e arrivano a delle belle forze alcuni, ma io punto sulla leggerezza e sull'uso ridotto di corrente.
Per adesso io sto usando degli attuatori lineari fatti con il NiTinol, un metallo a memoria di forma molto performante.
Si può allungare parecchio e riscaldandolo torna alla sua forma originale (memorizzata precedentemente a 800° circa).
Può prendere qualunque forma volendo, ma per ora mi sto dedicando solo a fili.
Il bello è che con un impulso di 3.5V e 410mA si contrae istantaneamente di 4mm, sollevando fino a 70g (in realtà anche di più).. contando che un attuatore pesa 1.1g direi che è ottimo! ;)
Ovviamente mettendone 2, 3 o 4 accopiati la forza che applicano è proporzionale, quindi già due possono arrivare a sollevare 1 etto e mezzo!
E le batterie, funzionando tutto ad impulsi brevi, durano una mare, senza contare che il peso è davvero ridicolo.. rimane solo lo scheletro.. ma anche li ci sto lavorando per farlo di materiali leggeri e robusti.

@gbm: allora cerco il video del ragazzo di cui parli, è proprio quello che avevo in mente, segnare i poli anteriore e posteriore del robot, giusto con un decal o una shape riconoscibile, e permettere alla telecamera di individuarlo e capire anche in che direzione è orientato! Grande!!

Per il post aspetto un attimo.. magari vi posto giusto un video sulle potenzialità dei nano muscoletti e quanto sono forti, ma per ora sto progettando tutto su una struttura di LEGO.. e la cosa non è molto professionale..  ::) tanto più che è piuttosto grande..  :-?
Sto prendendo accordi con una ditta che lavora l'alluminio per avere degli scarti di lavorazione e con un amico per avere in prestito il tornio (purtroppo in uni per usarlo ci vogliono mille permessi se sei studente).
Ma appena avrò qualcosa di mezzo fatto lo posterò qui.. anche perchè vorrei riuscire ad ottimizzare tutte le funzioni del moto e la comunicazione con il cervello centrale con un Arduino Mega.

@Federico:
Il problema è proprio quello.. come fare a farlo muovere? Il corpo umano usa micro impulsi per azionare i muscoli e sostanze chimiche per renderli più performanti.. ovviamente ricreare un sistema simile sarebbe un po' fuori dalla mia portata attuale..  ;D
Quindi è ovvio che il problema di tenere in tensione dei muscoli per tenere sollevato da terra lo scheletro, cosa che con i servi non esiste, è una questione cruciale.
Per ora sto ovviando al problema con una serie di perni che bloccano le giunture in una posizione, sempre attuati da nanomuscoli, e sembra funzionare bene.. vedremo se montando tutto ad uno scheletro e coordinando i movimenti delle zampe riuscirà a non essere troppo impacciato, ma la velocità di contrazione e allungamento di questi prodotti è davvero buona!
Vedremo..

Federico Vanzati

io tempo fa li ho visti anche su futura elettronica
F

Saki_Kawa

Sì esatto, anche loro li vendono.. non volevo fare pubblicità.. ;)
..e poi sono lievemente fuori mercato.. ma come tutti i venditori italiani online dopotutto.. forse perchè qui sono prodotti di nicchia..
..per un Arduino duemilanove si spendono in media dai 7 agli 11 euro in più e la spedizione è praticamente la stessa cifra che dagli usa.. contando che l'Arduino è prodotta in Italia e che con quei soldi ci faccio uscire un po' di materiale.. fate voi..  >:( >:(

gbm

Ciao a tutti ragazzi. Vista l'impossibilità di lavorare in gruppo su una realizzazione robotica, senza interferire con il lavoro degli altri, oppure solo immaginarsi le nostre sperimentazioni applicate vista la mancanza di una base comune, ho deciso di realizzare un kit di montaggio per un robot. Datemi qualche giorno per info piu' precise.
Community robotica / programmazione Arduino
www.gioblu.com

Federico

Non ho capito i visti, ma sono curioso
Federico - Sideralis
Arduino &C: http://www.sideralis.org
Foto: http://blackman.amicofigo.com

gbm

#72
Apr 26, 2010, 12:32 am Last Edit: Apr 26, 2010, 05:34 am by gioscarab Reason: 1
Ciao Fede!! Cosa intendi con i visti?  :D
Se intendi le motivazioni per cui sto sviluppando la base per sperimentazione è semplice.
Come hai visto sul thread creato da xqtm sul CNC arduino, è difficile permettere a una comunità di lavorare su un unico progetto. Il suo post secondo me è di un certo spessore (ma dov'è finito poi il post??) e soprattutto ben fatto il modello in tre dimesioni realizzabile a casa. Ci sono vari problemi di carattere pratico che limitano la possibilità di lavorare assieme da casa, a un qualsiasi progetto, nel caso del progetto CNC è mancata la possibilità di avere una base comune facilmente realizzabile (e vista la longevità media dei nostri interessi MOLTO facilmente realizzabile), ma soprattutto con la possibilità di upgrade e personale interpretazione del progetto, per permettere un'evoluzione radiale in tutte le possibili applicazioni. Io sto pensando a una struttura di base che permetta la sperimentazione  della programmazione con robot su ruote e le altre eventuali funzionalità: PID, mapping, telepresenza ecc. . Ognuno di noi a casa puo' lavorare sullo stesso progetto e allo stesso modo proporre una modifica, o un upgrade, o proporre i propri programmi.

Se non sbaglio calamaro mi ha mandato un link di un forum di appassionati super-nerd di C1P8 che lavorando assieme lo hanno fatto uguale in svariate versioni con diverse funzionalità: un lavoro incredibile.

I primi due workshop sono serviti a elaborare una base su cui sperimentare tutti assieme parallelamente:





http://www.gioblu.com/GiO/robot/octagon/DEFINITIVO.pdf


Come vedete la struttura è predisposta per montare:
-microservi frontali per movimentare sensori
-fori per servi
-cave per ruote servi
-fori per montare arduino
-fori per ruotino posteriore
-spazio studiato per alloggiare porta batterie 4xAAA
-4 fori per montare viti di fissaggio eventuale secondo livello

quello che serve per realizzare la base:
-Stampata di questo pdf in formato 1:1
-balsa max 3mm
-tagliarino affilato (occhio)
-resina bicomponente (epoxi)

come si realizza:
attaccare con biadesivo staccabile il foglio stampato alla balsa e ritagliare con taglierino la forma e forare con trapano dove serve (se proprio non volete usare il trapano usate viti da legno autofilettanti del diametro corretto). Dopo aver rimosso la stampa e lo scarto della stessa spargere un sottile strato di resina sulla balsa per irrigidire la struttura (diventa davvero rigida e resistente alle torsioni).

materiale necessario:
-due servi rotazione continua o da trasformare in rotazione continua
-due supporti per servi
-una ruota girevole

Questo piu' o meno è quello che è venuto fuori dai primi due workshop iniziali!! Chiaramente ogni domenica ci troveremo qua in via Savona, per continuare lo sviluppo. Chiunque sia interessato è il benvenuto, chiaramente gratuitamente.

Il bello sara' vedere  come interpreteranno gli altri utenti il nostro lavoro e che cosa proporranno  ;D.

Se scaricate il file e lo aprite con illustrator, ci sono gia tutti i livelli suddivisi e potrete facilmente modificare. Un'altra cosa comoda è che stampando il file o anche solo visualizzandolo 1:1 sullo schermo potrete raffrontare con i componenti in mano direttamente appoggiandoli sullo schermo (o sul foglio) e controllando se avete posizionato bene i vostri fori.
(o meglio facendolo sfiorare se no potreste rigarlo  :D).




Community robotica / programmazione Arduino
www.gioblu.com

Calamaro

ottimo, se abbiamo una base comune ci saranno tutti i presupposti per fare il progetto di un robot tutti insieme. Almeno ci possiamo confrontare e scambiarci le idee su come migliorare a vicenda i propri robot e confrontare i vari codici!

Saki_Kawa

Ciao a tutti!

Direi che questa cosa di realizzare un kit di partenza open source è molto utile, così ognuno può partire con il suo sviluppo e confrontarsi con gli altri in presa diretta, davvero grandi!!

Piccolo OT (..ma neanche troppo) veloce veloce!

Riguardo la "computer vision" invece qualcuno del post robotica (e affini) è interessato?
Io sto sviluppando un programma in C che gira su "processing", partendo da zero, dato che gli altri sono tutti a pagamento a quanto ho visto.
Per ora riconosce il colore di un pixel, se quello corrisponde al colore scelto, controlla una matrice di pixel circostante (di range stabilita dall'utente) e se la percentuale di pixel nella matrice del colore scelto è superiore ad un valore fissato dall'utente prova a tracciare uno spostamento, se superiore ad un certo valore prestabilito.
L'idea è quella di avere un simbolo colorato sulla schiena di un robot, poterlo riconoscere dall'alto con una telecamera e guidarlo lungo un percorso.
E' già praticamente tutto fatto, manca da ultimare la parte di tracciatura.

Se qualcuno fosse interessato al codice (ancora grezzo), ad implementare altre funzionalità o a darmi una mano a normalizzarlo, mi contatti, magari apriamo un post e cominciamo a lavorarci!

Un saluto!
Saki

Go Up