spacer.png, 0 kB

Torna indietro   Roboitalia.com - Il primo portale in Italia sulla robotica amatoriale > Competizioni robotiche > Line Follower

Rispondi
 
Strumenti discussione Modalitŗ† visualizzazioe
  #21  
Vecchio 30-09-2006, 16.04.09
L'avatar di guiott
guiott guiott non è collegato
Robottaro sostenitore
 
Data registrazione: 23-04-2004
Residenza: Roma
Etŗ†: 63
Messaggi: 1,418
Potenza reputazione: 336
guiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua fama
Invia un messaggio via AIM a guiott Invia un messaggio via MSN a guiott Invia un messaggio via Yahoo a guiott Send a message via Skype™ to guiott
Predefinito

Ho visto i video e dato un'occhiata alla tesi. Mi devo guardare bene il capitolo 4, √® la parte che mi interessa di pi√Ļ.

Complimenti, anche solo per essere riuscito a fare una cosa del genere con quell'HW e quel sistema di sviluppo!

Scherzi a parte, bel lavoro. Altri spunti per il lavoro di Nonno.

Vorrei chiederti una cosa, qualcuno tempo fa si opponeva all'utilizzo del PID per il LF perch√© temeva che avrebbe rallentato l'avanzamento del mezzo anche se con un movimento pi√Ļ fluido. Nei tuoi filmati sembra proprio che sia cos√¨, lo stesso bot con il sistema classico sembra andare molto pi√Ļ velocemente (scodinzolando) che con il PID perfettamente tarato. E' vero che regolare la velocit√* dei servi modificati, e per di pi√Ļ con un BasicStamp, non √® il massimo.
Puoi confermare la mia sensazione? Hai un'idea del perché?

P.S OT
Io lavoro nel mondo dei giornali e, per deformazione professionale, sono particolarmente sensibile ai "refusi", soprattutto nei titoli di apertura. Controlla la pagina web in questione.
__________________
Guido
------
www.guiott.com
Rispondi citando
  #22  
Vecchio 30-09-2006, 19.30.06
L'avatar di dariodimaio
dariodimaio dariodimaio non è collegato
Robottaro senior
 
Data registrazione: 19-04-2006
Residenza: Napoli
Etŗ†: 34
Messaggi: 54
Potenza reputazione: 58
dariodimaio E' per ora ancora un mistero
Predefinito

No il PID non rallenta la velocit√* di percorrenza, nel caso specifico l'agoritmo originale riesce ad essere pi√Ļ veloce ma per un motivo diverso.
Leggendo il primo capitolo è spiegato che con i servomotori modificati la distanza tra gli impulsi temporali definisce la frequenza del segnale PWM e il duty cycle massimo.
Con il software originale il tempo che intercorre tra due impulsi √® di 20 ms, e si riesce a sfruttare il duty cycle massimo. Con l'algoritmo PID, pi√Ļ complesso, sono necessari 40 ms e si sfrutta il d.c. fino al 50%.
Questo è un problema legato al PBASIC, perchè con un software compilato e non interpretato in pochi ms il software verrebbe eseguito.

Purtroppo non era possibile nemmeno aumentare il tempo dell'impulso di comando, non si otteneva nessun effetto. Ed oltre un certo limite si otteneva un'effetto contrario. Ciò è dovuto all'implementazione effettiva dell'elettronica interna, che non è nota.

In assoluto il PID non rallenta la velocit√* massima, se la legge √® progettata bene i limiti rimangono intrinsecamente quelli imposti dal gruppo di locomozione. A farci caso una percorrenza con forti oscillazioni richiede un tempo per percorrere le curve maggiore.

Per quanto riguarda i "refusi", cosa sono?

Ciao.
Rispondi citando
  #23  
Vecchio 30-09-2006, 21.06.52
L'avatar di guiott
guiott guiott non è collegato
Robottaro sostenitore
 
Data registrazione: 23-04-2004
Residenza: Roma
Etŗ†: 63
Messaggi: 1,418
Potenza reputazione: 336
guiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua fama
Invia un messaggio via AIM a guiott Invia un messaggio via MSN a guiott Invia un messaggio via Yahoo a guiott Send a message via Skype™ to guiott
Predefinito

OK!
Ti ringrazio per la precisazione. Era quello che volevo sentire :-)


OT:
I refusi sono gli errori di battitura, hai scritto "aloritmo".
Il termine proviene dai tempi in cui il giornale si faceva fondendo una matrice di piombo. Per correggere gli errori in pagina bisognava "rifondere" la matrice e cominciare daccapo.
__________________
Guido
------
www.guiott.com
Rispondi citando
  #24  
Vecchio 30-09-2006, 21.29.59
L'avatar di astrobeed
astrobeed astrobeed non è collegato
Robottaro sostenitore
 
Data registrazione: 18-03-2004
Residenza: Roma
Etŗ†: 60
Messaggi: 3,377
Potenza reputazione: 350
astrobeed La sua reputazione Ť oltre la sua famaastrobeed La sua reputazione Ť oltre la sua famaastrobeed La sua reputazione Ť oltre la sua famaastrobeed La sua reputazione Ť oltre la sua famaastrobeed La sua reputazione Ť oltre la sua famaastrobeed La sua reputazione Ť oltre la sua famaastrobeed La sua reputazione Ť oltre la sua famaastrobeed La sua reputazione Ť oltre la sua fama
Predefinito

Citazione:
Orginalmente inviato da guiott Visualizza messaggio
Il termine proviene dai tempi in cui il giornale si faceva fondendo una matrice di piombo. Per correggere gli errori in pagina bisognava "rifondere" la matrice e cominciare daccapo.
Le mitiche linotype di una volta,l'arte di fondere le idee nel piombo
__________________
Bye
Rispondi citando
  #25  
Vecchio 30-09-2006, 21.52.13
L'avatar di guiott
guiott guiott non è collegato
Robottaro sostenitore
 
Data registrazione: 23-04-2004
Residenza: Roma
Etŗ†: 63
Messaggi: 1,418
Potenza reputazione: 336
guiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua fama
Invia un messaggio via AIM a guiott Invia un messaggio via MSN a guiott Invia un messaggio via Yahoo a guiott Send a message via Skype™ to guiott
Predefinito

Citazione:
Orginalmente inviato da astrobeed Visualizza messaggio
Le mitiche linotype di una volta,l'arte di fondere le idee nel piombo
Prova a chiedere ai vecchi tipografi (qualcuno ne è rimasto) se preferisce lavorare ora davanti ad un iMac 20 pollici LCD senza neanche il rumore delle ventole, o ai vecchi tempi con il rumore dei caratteri metallici che scendevano lungo le guide e seduto a fianco ad un crogiolo pieno di piombo fuso (alla faccia dell'ROHS).
__________________
Guido
------
www.guiott.com
Rispondi citando
  #26  
Vecchio 30-09-2006, 23.53.44
nonno_62 nonno_62 non è collegato
Robottaro sostenitore
 
Data registrazione: 25-11-2005
Residenza: sardegna
Etŗ†: 69
Messaggi: 572
Potenza reputazione: 81
nonno_62 E' un faro della comunitŗ
Predefinito

Complimenti hai fatto miracoli con una risoluzione di lettura come quella che hai usato .... veramente complimenti.

Ancora non ho letto la tesi ma devo dire che sono strabiliato dalle possibilit√* del pid, solo vedendo i video.

Anche a me sembrava che nel caso del secondo ovale la velocit√* sia pi√Ļ bassa, quasi il bot facesse pi√Ļ fatica a mantenere l'allineamento. ma √® ovvio che dipende in gran parte dalla bassa risoluzione del sistema di rilevamento.

Saluti Nonno

PS per Guiot, e te quando con il pid nel line follower?
Rispondi citando
  #27  
Vecchio 01-10-2006, 01.01.15
L'avatar di guiott
guiott guiott non è collegato
Robottaro sostenitore
 
Data registrazione: 23-04-2004
Residenza: Roma
Etŗ†: 63
Messaggi: 1,418
Potenza reputazione: 336
guiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua famaguiott La sua reputazione Ť oltre la sua fama
Invia un messaggio via AIM a guiott Invia un messaggio via MSN a guiott Invia un messaggio via Yahoo a guiott Send a message via Skype™ to guiott
Predefinito

Citazione:
Orginalmente inviato da nonno_62 Visualizza messaggio
PS per Guiot, e te quando con il pid nel line follower?
Quando riuscirò a liberare il cervello dai casini di lavoro... forse per Pasqua.

Avevo gi√* preparato da tempo un sensore simile al Dyna_DL109-24A, un CIS (contact image sensor) recuperato da uno scanner per biglietti da visita. E' la versione ridotta del sensore usato negli scanner economici.
E' della dimensione giusta (un biglietto da visita), ha una quantit√* di sensori enorme (credo che sia da 200 dpi) e si pilota semplicemente con un clock, ad ogni colpo di clock viene commutato un nuovo sensore (analogico) sull'uscita da collegare ad una porta A/D del PIC, quindi con 2 o tre pin leggo un sensore da centinaia di elementi.
La velocit√* √® molto buona, in pochi ms si pu√≤ scandire tutta la zona di lettura, se dovessi avere problemi di tempo posso tranquillamente leggere il valore di uscita solo ogni n colpi di clock mantenendo comunque una risoluzione ottima.
Ha internamente una barretta di led che illumina in modo uniforme l'area di lettura.
La distanza di lettura ideale è... 0 mm, si chiama contact sensor!
Mettendolo ad una distanza di qualche mm l'effetto dovrebbe essere solo quello di una certa sfocatura, non avrei la risoluzione di 200dpi ma non credo che sia un problema.
E' in bianco e nero ed √® sensibile alla luce normale, rispetto ai sensori IR questo √® un handicap perch√© √® pi√Ļ facilmente influenzabile dalla luce ambiente, ma con il sistema del cinese e una gonnellina nera intorno dovrei risolvere il problema.

Tutto questo... in teoria, perché finora non ho avuto tempo (e sinceramente neanche voglia) di provarlo in pratica, magari provandolo scopro qualcosa che ne rende assolutamente impraticabile l'utilizzo.

Di ragionamenti di questo tipo riesco ancora a farne, ma il lavoro mi sta prosciugando tutte le energie, se non avessi il portatile, che uso in poltrona, credo che non avrei neanche il piacere di queste belle chiacchierate con voi.

Insomma... ultimamente faccio solo tante chiacchiere ma di sostanza...
__________________
Guido
------
www.guiott.com
Rispondi citando
  #28  
Vecchio 01-10-2006, 02.30.08
L'avatar di dariodimaio
dariodimaio dariodimaio non è collegato
Robottaro senior
 
Data registrazione: 19-04-2006
Residenza: Napoli
Etŗ†: 34
Messaggi: 54
Potenza reputazione: 58
dariodimaio E' per ora ancora un mistero
Predefinito

Citazione:
Complimenti hai fatto miracoli con una risoluzione di lettura come quella che hai usato .... veramente complimenti.
Grazie, con la risoluzione influenza principalmente la velocit√* massima di percorrenza di una curva ed ingresso nella stessa. Il risultato dipende anche dal percorso, con quello utilizzato non √® necessario limitare la velocit√* massima. Ma utilizzando un percorso con un lungo rettilineo in cui il panettone possa raggiungere la velocit√* massima, seguito da una curva molto stretta, con buona probabilit√* la linea verrebbe persa a meno di ridurre la vel. max.
Citazione:
Ancora non ho letto la tesi ma devo dire che sono strabiliato dalle possibilit√* del pid, solo vedendo i video.

Anche a me sembrava che nel caso del secondo ovale la velocit√* sia pi√Ļ bassa, quasi il bot facesse pi√Ļ fatica a mantenere l'allineamento. ma √® ovvio che dipende in gran parte dalla bassa risoluzione del sistema di rilevamento.

Saluti Nonno
Nel secondo ovale? Intendi la seconda curva dell'otto?
Se parli della seconda curva dell'otto, questa ha un raggio estremamente pi√Ļ piccolo della prima, di conseguenza la velocit√* di percorrenza media deve essere pi√Ļ bassa. Infatti se guardi il video del PID noterai che la ruota interna arriva quasi al bloccaggio (scelta come azione di controllo massima nel mio caso).
Poi come hai giustamente detto a causa della bassa risoluzione la velocit√* media di percorrenza √® al limite, riducendola (agendo sulla velocit√* della ruota esterna che √® sempre pari alla massima) l'inseguimento diventerebbe pi√Ļ fluido.

Ultima modifica di dariodimaio : 01-10-2006 alle ore 02.33.48
Rispondi citando
  #29  
Vecchio 01-10-2006, 10.46.27
nonno_62 nonno_62 non è collegato
Robottaro sostenitore
 
Data registrazione: 25-11-2005
Residenza: sardegna
Etŗ†: 69
Messaggi: 572
Potenza reputazione: 81
nonno_62 E' un faro della comunitŗ
Predefinito

X Guiot

Si anche io sono prosciugato dal lavoro e dalla famiglia Ovviamente, specialmente le seconde sono soddisfazoni di molto superiori anche a quelle dei bot! Anche se parlo molto nei pochi momenti che riesco a sedermi non faccio neanche in tempo a pensare a cosa fare, però piano piano, del resto il bello è anche mantere svegli i cervelli mantre si arrovellano a trovare soluzioni "inesistenti" .

Vuol dire che alla prima occasione ci contenderemo il titolo per il line follower, insieme a Dario.

X Dario

Ieri sera mi hai turbato il sonno ..... non nel senso che si potrebbe capire, ma solo perchè alle 3 stavo ancora leggende e rileggendo la tua tesi (e si, se non faccio così a proposito del tempo disponibile, starei ancora a leggere il primo sheet di pic).

Devo dire come premessa che mi mancano alcune basi, anzi diverse basi, ma il discorso fatto in tesi sono riuscito a seguirlo abbastanza, almeno credo, ci sono per√≤ dei punti oscuri che non riesco a legare. Oggi gli d√≤ un nuova letta, se mi lascieranno stare dopo che mi sar√≤ arrostito una 20ina di bistecche e qualche kg di salsicce, per non parlare del vino che mi toccher√* tracannare .

Diciamo che il punto pi√Ļ oscuro √® come leghi il modello teorico del bot agli zeri della funzione PID(s), Nel testo dici che la funzione deve darti gli zeri a -1 e a -10 per avere risultato ottimale e lo giustifichi anche, per√≤ non riesco a seguire il discorso e non capisco da dove lo deduci. In effetti questa √® un p√≤ la chiave, che fino ad oggi io non avevo, per legare i tre parametri (Kp, Kd, Ki), Che invece di essere scelti completamente a caso o comunque scelti singolarmente con prove sperimentali sono legati dalla funzione PID(s), in pratica mi sembra ovvio le prove si riducono.

Saluti Nonno
Rispondi citando
  #30  
Vecchio 01-10-2006, 11.57.28
L'avatar di dariodimaio
dariodimaio dariodimaio non è collegato
Robottaro senior
 
Data registrazione: 19-04-2006
Residenza: Napoli
Etŗ†: 34
Messaggi: 54
Potenza reputazione: 58
dariodimaio E' per ora ancora un mistero
Predefinito

Per quanto riguarda la taratura del PID non è semplice spiegare in tutto le scelte fatte. Sulla tesi è dato per scontato che il lettore conosca la teoria dei Controlli Automatici.

Cerco per quanto possibile, di riassumere le scelte fatte ed i motivi.

Grazie a delle modellazioni standart √® stata ricavata la dinamica dominante del robot (1 rad/s corrispondente ad un polo in -1), modellato come un servomotore con carico. La dinamica dominante caratterizza principalmente la velocit√* di risposta del robot in anello aperto.
In base a questa informazione √® modellato il PID, senza spiegare il perch√®, ti dico che la scelta migliore √® quella di mantenere la dinamica del sistema controllato nell'intorno di quella originaria. Facendo altrimenti si forza il sistema ad andare pi√Ļ veloce, per fare ci√≤ sarebbe necessario che i motori eroghino una potenza maggiore, quindi devono funzionare con tensioni maggiori. Questa condizione provoca il sovraccarico dei motori, nel nostro caso inoltre, le pile pi√Ļ di 6V non danno e di conseguenza la velocit√* non aumenta. Inoltre si rischia di fare peggio, in genere si perde molto in termini di sovraelongazione.

Per ottenere un'inseguimento privo di oscillazioni il sistema controllato risultante deve avere un andamento in fase dolce, e quindi servir√* un buon margine in fase (nella funzione di anello aperto) nell'intorno della pulsazione dominante del sistema, che poi diventer√* quella di attraversamento.

Quanto scritto non so se possa essere o meno chiaro, ma per ottenerlo è necessario avere una dinamica di anticipo del regolatore PID una decade prima di quella del sistema, nel nostro caso era circa a 0.3 rad/s rispetto a circa 1 rad/s della dinamica del robot.
Il PID ne introduce un'ulteriore che per motivi legati al tempo di campionamento del sistema deve essere interna ai 10 rad/s, altrimenti non avrebbe effetto (anche se di per se introduce un effetto minimo nel nostro caso).

Per ottenere che gli zeri del numeratore della funzione PID siano nelle posizioni desiderate √® necessario scegliere i parametri Ki,kp,Kd opportunamente. Nel caso specifico, per problemi riguardanti le possibilit√* del PBASIC di lavorare solo con interi senza segno, nella legge di controllo discretizzata dovevano comparire solo parametri interi (N.B. Nella legge discretizzata compaiono i paramentri ki,kd moltiplicati o divisi per il tempo di campionamento).
Quindi sono stati scelti Ki e Kd in modo da soddisfare questa caratteristica, poi è stato ricavato Kp in modo che gli zeri siano dove voluto.
In generale non esiste un'unica terna (ki,kp,kd) che restituisce il risultato desiderato, e tali parametri sono stati ottenuti con un processo iterativo. Questo processo non √® mostrato per motivi di stampa, ma conside semplicemente nel calcolo delle radici del numeratore della legge PID. Fissare i parametri Ki e Kd, imporre le radici volute e ricavare Kp. Ovviamente non necessariamente la prima coppia scelta Ki e Kd garantir√* quanto scelto, per questo il processo √® iterativo.
Inoltre i paramentri complessivi della legge di controllo discretizzata non devono assumere valore troppo elevato, per evitare fenomeni di overflow o underflow.

Un'ultima cosa riguardo la taratura del PID, non può essere fatta a caso, esistono dei metodi sperimentali (come lo Zigler & Nicholst) ma non posso essere applicati sempre. Scegliendo i parametri a caso, non si riescono a massimizzare le prestazioni.
Ad esempio la prima versione dell'algoritmo prevedeva che l'agortimo fosse eseguito in 20ms (misurati sono 40) e per annullare le oscillazioni la velocit√* di funzionamento doveva essere ridotta di oltre il 50%. Questo perch√® inzialmente misi qualche toppa, ma le dinamiche del PID erano a frequenze troppo elevate e non venivano simulate correttamente.

Spero di essere stato il pi√Ļ possibile chiaro, per√≤ come anticipai, non penso sia possibile tarare in modo ottimale un'algoritmo PID o un qualsiasi altro algoritmo di controllo senza avere una conoscenza della teoria dei controlli automatici. Anche perch√® le limitazioni dell'hardware spesso creano qualche grattacapo.

Un ultima considerazione riguarda la modellazione del robot, il PID è famoso per essere un regolatore da utilizzare senza conoscere il modello. Questo è vero, ma nella pratica, avere un'idea del modello aiuta moltissimo.
Poi per questo tipo di applicazioni, le modellazioni non sono difficili, anche per via analitica si possono ricavare. Tutto sommato ciò che interessa è conoscere approssimativamente la posizione della dinamica dominante, il resto si aggiusta sperimentalmente senza troppi problemi.
Per fare le cose come si deve il modello si potrebbe ricavare (in questo caso) tramite un'accelerometro. Ma forse si tratta di sparare ai piccioni con un cannone.

Comunque, per qualsiasi chiarimento o suggerimento sono sempre a disposizione.

Un piccolo commento per i LF di Guidot e Nonno, utilizzare dei sensori con una risoluzione cos√¨ elevata pu√≤ essere controproducente. I tempi di acquisizione dei segnali ed elaborazione dell'errore rischiano di aumetare troppo limitando la velocit√* massima.

Ciao.

Ultima modifica di dariodimaio : 01-10-2006 alle ore 12.17.01 Motivo: Correzione 0.1
Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione
Modalitŗ† visualizzazioe

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code Ť Attivato
Le smilies sono Attivato
[IMG] Ť Attivato
Il codice HTML Ť Disattivato

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
Il sensore di linea marnic Sensori 12 17-09-2011 19.13.29
sensori di linea (line follower) fabi090ct Sensori 1 03-03-2009 18.43.27
Inseguimento linea con web cam caste1982 Line Follower 6 06-04-2008 21.59.42
Sensori di linea?? seldon79 Sensori 14 24-10-2004 18.53.20


Tutti gli orari sono GMT. Adesso sono le: 06.11.06.


Basato su: vBulletin Versione 3.8.8
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Realizzazione siti web Cobaltica Foligno
spacer.png, 0 kB