Go Down

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

Federico_Vanzati

Ho visto che prevedi il movimento delle ruote attraverso dei servi modificati per rotazione continua...non ne ho molta esperienza però a me convince poco come soluzione anche se probabilmente è più partica.

Due motoriduttori o più semplicemente un Twin Gearbox della Tamiya sarebbe una soluzione più economica e un po' più laboriosa.

Che ne pensi?
F

gioscarab

#76
Apr 26, 2010, 05:34 pm Last Edit: Apr 26, 2010, 05:34 pm by gioscarab Reason: 1
Ciao Federico, stiamo testando anche una versione per il twingearbox tamiya!! Unico problema, è la luce a terra. Diciamo che con le ruote cosi' piccole diventa difficile anche solo superare un tappeto e rende l'oggetto molto più giocattoloso. Comunque se pensi che vanno controllati i motori (vista la mancanza di controller motore) si rischia di spendere di piu' e avere una unità motrice peggiore.

Cosi' com'è la base permette di avere la possibilità di navigare in casa senza troppi problemi (superare tappeti, calze, vestiti leggeri, casa mia è un casino). Visto che il gearbox tamiya necessita di solo due fori di fissaggio li sto aggiungendo nel PDF per permettere di alloggiare anche questo tipo di unità motrice a scelta dell'utente.  :D

Federico_Vanzati

Beh effettivamente l'idea dei servo a rotazione continua è la più semplice, anche se non hanno nessun feedback per posizione e velocità.

Comunque per comandare i motori basterebbe un L293D che non è una gran spesa, ci sarebbe un po' di codice in più da scrivere e credo che si dovrebbe quuasi per forza aggiungere un encoder se si vuole qualcosa di preciso!
F

gioscarab

#78
Apr 27, 2010, 02:18 am Last Edit: Apr 27, 2010, 02:22 am by gioscarab Reason: 1
L'encoder ci vuole, ed è uno dei punti focali del nostro workshop, insieme allo sviluppo conseguente di un programma di mapping del movimento del robot e degli eventuali ostacoli incontrati durante il movimento.
Sara' divertente vedere dove e come verrano sventrati o modificati i servi per ottenere un feedback piu' preciso possibile. Per chi non ha voglia potra' ripiegare su componenti gia fatti presenti sul mercato (vedi solarbotics).
Anche l'acquisizione dei dati dal mondo esterno con i microservi (o senza) è un altro punto libero per la sperimentazione. Un ragazzo ha proposto lo sviluppo di un codice che in rapporto all'inclinazione dei microservi e al rilevamento dato dai sensori ricavare distanza e posizionamento dell'ostacolo percepito rispetto al robot (con teorema di pitagora). Piu' o meno quello che facciamo noi con gli occhi (vista in modo mooolto semplicistico)
Beh diciamo che lo spazio per la sperimentazione sembra esserci e alla fine era il goal che ci siamo prefissati di raggiungere  ;).

gioscarab

#79
May 03, 2010, 03:35 am Last Edit: May 03, 2010, 04:25 am by gioscarab Reason: 1
Ciao a tutti ragazzi!
Ecco un video dove potete vedere la piattaforma di sviluppo:

http://www.youtube.com/watch?v=Km9XJVvacD8&feature=player_embedded

qui per il codice:
http://www.gioblu.com/index.php?option=com_content&view=article&id=71:da-ricevente-rc-ad-arduino&catid=39:comunicazione&Itemid=6

qui trovate l'articolo sul workshop di questa domenica:
http://www.gioblu.com/index.php?option=com_content&view=article&id=81&Itemid=36

vi aspettiamo domenica prossima per sviluppare tutti assieme PID e obstacle avoiding  :D

Cosa ne pensate? come fareste il PID?

Calamaro


Federico_Vanzati

wow dal video i risultati sembrano buoni! Carino anche l'articolo 8-)
F

gioscarab

Ciao a tutti ragazzi. Ci troviamo domenica alle 14.30 per la sperimentazione del sensore di prossimità a riflessione basato su due led IR (http://www.gioblu.com/index.php?option=com_content&view=article&id=59:sensore-prossimita-led&catid=37:sensori&Itemid=18) e sulla stesura del codice necessario. In piu' lavoreremo sulla piattaforma di sviluppo robot.
Vi aspettiamo

Calamaro

#83
May 11, 2010, 10:43 am Last Edit: May 11, 2010, 11:59 am by Calamaro Reason: 1
il mio robot si muove grazie a comandi sulla seriale, a breve l'articolo con pics e videi
EDIT
[media]http://www.youtube.com/watch?v=-sSzOonENFU[/media]

gioscarab

Bellissimo hahaha!!!
Bello anche il sottofondo musicale  ;D. Ma chi è caparezza?

Magari posta il codice sono curioso!  ;)

Calamaro

stavo ascoltando uochi toki - estetica
il codice è questo
Code: [Select]


#include <Servo.h>

Servo leftservo;  
Servo rightservo;
char a;
long previousMillis = 0;      
long interval = 200;

void setup()
{
 Serial.begin(9600);
 leftservo.attach(9);
 rightservo.attach(10);
 leftservo.write(90);  
 rightservo.write(90);
}


void loop()
{
   if(Serial.available() > 0){
   a = Serial.read();
   leftservo.write(90);  
   rightservo.write(90);
   switch(a){
   case 'w':
   previousMillis = millis();  
   while(millis() - previousMillis < interval) {
   Serial.println("avanti");
   leftservo.write(180);
   rightservo.write(180);
   }
   leftservo.write(90);  
   rightservo.write(90);
   break;
   case 's':
   previousMillis = millis();  
   while(millis() - previousMillis < interval) {
   Serial.println("indietro");
   leftservo.write(0);
   rightservo.write(0);
   }
   leftservo.write(90);  
   rightservo.write(90);
   break;
   case 'a':
   previousMillis = millis();  
   while(millis() - previousMillis < interval) {
   Serial.println("destra");
   leftservo.write(0);
   rightservo.write(180);
   }
   leftservo.write(90);  
   rightservo.write(90);
   break;
   case 'd':
   previousMillis = millis();  
   while(millis() - previousMillis < interval) {
   Serial.println("sinistra");
   leftservo.write(180);
   rightservo.write(0);
   }
   leftservo.write(90);  
   rightservo.write(90);
   break;
   case 'c':
   previousMillis = millis();  
   while(a != 'v') {
   Serial.println("avanti tutta");
   a = Serial.read();
   leftservo.write(180);
   rightservo.write(180);
   }
   leftservo.write(90);  
   rightservo.write(90);
   break;

   }
 }
}


ho un monte di prolunghe usb e volendo potrei mappare una stanza solo che il cavo è robosto e impedisce movimenti precisi. Poi i servi hanno un passo leggermente diverso e uno tira più dell'altro... devo risolvere sta cosa.
O mi prendo un'altro servo normale e lo modifico e mi prendo un servo a rotazione continua altrimenti detto "vericello"!

gioscarab

#86
May 12, 2010, 03:17 am Last Edit: May 12, 2010, 10:37 pm by gioscarab Reason: 1
Ciao ragazzi, scusate la mia sparizione ma sono afflitto da lavoro arretrato  ;D.
Qui vi allego il video della base di sviluppo con montati i sensori che abbiamo sviluppato al workshop!!

http://www.youtube.com/watch?v=s8n60nRRrBU

Nel video il robot procede in retromarcia per pura comodità (veniva comodo con la breadboard posizionata cosi'  ;))

Appena accedo al netbook posto il codice che muove il robot e pilota i LED.

Qui potete trovare il tutorial dei sensori, con l'algoritmo E.R.E.R. spiegato:http://www.gioblu.com/index.php?option=com_content&view=article&id=59:sensore-prossimita-led&catid=37:sensori&Itemid=18

Costo di realizzazione due sensori: 1.75 euro
Range: 1,2m al buio / 1-2 cm sole diretto nel beam


Grazie a tutti gli sviluppatori che hanno collaborato al concept e realizzazione.  :)

Cosa ne pensate? Avete qualche consiglio?

gioscarab

#87
May 14, 2010, 11:47 pm Last Edit: May 14, 2010, 11:48 pm by gioscarab Reason: 1
Ciao a tutti. Ci troviamo domenica alle 15 per lavorare sulla piattaforma. Viste le richieste penso lavoreremo su un sistema di selfbalancing applicabile al robot che abbiamo sviluppato.
Vi aspettiamo

Calamaro

Implementato il controllo del robot tramite manopola play2 wireless, ma dato che non ho pile non posso mostrare nulla al pubblico :D mi sono appena arrivati i modulini radio a 433 MHz quelli come si interfacciano lo sapete?

Calamaro

#89
May 15, 2010, 02:29 pm Last Edit: May 15, 2010, 02:35 pm by Calamaro Reason: 1
[media]http://www.youtube.com/watch?v=8OACa-mgQWQ[/media]

Go Up