Salve a tutti apro questo topico per chiedere un aiuto in merito ad un progetto che dovrei affrontare e sul quale ho molti dubbi.
Il testo del progetto è il seguente:
Realizzare un algoritmo Fuzzy per guidare un robot mobile differential drive verso un obbiettivo evitando gli ostacoli.Ipotizzare la presenza di tre sensori di distanza (per gli ostacoli) e di un sensore distanza dall'obbiettivo.
Si tratta di un progetto di robotica perché studio ingegneria informatica. La cosa certa è devo farlo usando il fuzzy tool box di matlab.
Il mio primo dubbio riguarda le variabili di ingresso e uscita che bisogna considerare.Per le variabili in ingresso avevo pensato di considerare le 4 variabili provenienti dai sensori e come uscita l'angolo di rotazione.Pensate che possa andare bene?
Algoritmo Fuzzy Robot
Moderatori:
dimaios,
carlomariamanenti
10 messaggi
• Pagina 1 di 1
0
voti
Ad esempio io non so nulla di questa tecnologia. Indubbiamente di fronte al problema abbozzerei un progetto, ma non credo sia negli schemi di cosa si vuole dal tuo esercizio. Ho come la sensazione che a te si chieda di sviluppare ragionamenti di calcolo probabilistico più che realizzare la cosa.
-

Candy
32,5k 7 10 13 - CRU - Account cancellato su Richiesta utente
- Messaggi: 10123
- Iscritto il: 14 giu 2010, 22:54
2
voti
Ciao,
Mi è capitata una sola esperienza di progettazione e sviluppo di un'applicazione in logica sfumata.
A metà degli anni 90 quando ancora facevo il ricercatore. Si trattava di un'applicazione tessile: la macchina in questione raccoglieva un filato tessile rigido monofilamento con danaratura molto bassa, (per avere un'idea, 10g di filato svolto misurano 1Km di lunghezza), su di una spola flangiata ad una velocità di 2000m/1' garantendo una tiro di raccolta costante di pochi grammi con oscillazioni inferiori al grammo.
Un'applicazione non esattamente semplice.
La scelta di un processore con logica fuzzy mi fu consigliata da un carissimo amico e collaboratore, all'epoca docente di matematica al MIT di Boston; "eravamo all'ultima spiaggia", per darti un'idea, spendemmo circa 3 mesi di test in laboratorio con sistemi di controllo basati su PID senza ottenere nemmeno lontanamente le specifiche richieste; con l'utilizzo di un processore Fuzzy Logic risolvemmo il problema in un lampo!
In pratica con la logica sfumata è possibile rappresentare con matematica molto semplificata anche sistemi molto complessi. Molti confondono la logica sfumata con modelli di calcolo probabilistico, in realtà non è così, molto più semplicemente è un differente approcio nel calcolo di sistemi incerti, sfumati per l'appunto. Dove il concetto di vero o falso decade e il sistema può considerare anche le combinazione vero e falso contemporaneamente.
La logica Fuzzy è molto diffusa in una varietà di processi e prodotti commerciali, basta una semplice ricerca su Google per rendersene conto.
Sfortunatamente non ho più avuto occasione di utilizzare tale logica, ma sarebbe molto interessante vedere il risultato della sua applicazione sul tuo robot confrontandolo con il comportamento che lo stesso avrebbe se realizato con logica tradizionale.
Mi è capitata una sola esperienza di progettazione e sviluppo di un'applicazione in logica sfumata.
A metà degli anni 90 quando ancora facevo il ricercatore. Si trattava di un'applicazione tessile: la macchina in questione raccoglieva un filato tessile rigido monofilamento con danaratura molto bassa, (per avere un'idea, 10g di filato svolto misurano 1Km di lunghezza), su di una spola flangiata ad una velocità di 2000m/1' garantendo una tiro di raccolta costante di pochi grammi con oscillazioni inferiori al grammo.
Un'applicazione non esattamente semplice.
La scelta di un processore con logica fuzzy mi fu consigliata da un carissimo amico e collaboratore, all'epoca docente di matematica al MIT di Boston; "eravamo all'ultima spiaggia", per darti un'idea, spendemmo circa 3 mesi di test in laboratorio con sistemi di controllo basati su PID senza ottenere nemmeno lontanamente le specifiche richieste; con l'utilizzo di un processore Fuzzy Logic risolvemmo il problema in un lampo!
In pratica con la logica sfumata è possibile rappresentare con matematica molto semplificata anche sistemi molto complessi. Molti confondono la logica sfumata con modelli di calcolo probabilistico, in realtà non è così, molto più semplicemente è un differente approcio nel calcolo di sistemi incerti, sfumati per l'appunto. Dove il concetto di vero o falso decade e il sistema può considerare anche le combinazione vero e falso contemporaneamente.
La logica Fuzzy è molto diffusa in una varietà di processi e prodotti commerciali, basta una semplice ricerca su Google per rendersene conto.
Sfortunatamente non ho più avuto occasione di utilizzare tale logica, ma sarebbe molto interessante vedere il risultato della sua applicazione sul tuo robot confrontandolo con il comportamento che lo stesso avrebbe se realizato con logica tradizionale.
-

carlomariamanenti
60,1k 6 11 13 - G.Master EY

- Messaggi: 4324
- Iscritto il: 18 gen 2012, 10:44
2
voti
Ciao,
Praticamente si utilizzo una CPU con a bordo un DSP con funzioni fuzzy native, non ricordo esattamente la marca. Il segnali in ingresso all'elaborazione erano la velocità del filato, la tensione dello stesso misurata da una cella di carico sprinforce e il diametro calcolato della spola di raccolta. In uscita un'unica variabile: il segnale di riferimento analogico che comandava la velocità dell'inverter della spola di raccolta che, per le velocià in gioco, raggiungeva circa i 28000rpm mediante un motore meccanicamente integrato sul fuso di raccolta.
Il processore fuzzy prevederva differenti possibili combinazioni in grado di "combinare" le variabili in ingresso per i singoli segnali e le combinazioni degli stessi.
La configurazione ricordo era molto semplificata da un software di parametrizzazione.
Se riesco a ritrovare in qualche vecchio archivio più dati riferiti al processore usato sarò lieto di farteli avere.
Praticamente si utilizzo una CPU con a bordo un DSP con funzioni fuzzy native, non ricordo esattamente la marca. Il segnali in ingresso all'elaborazione erano la velocità del filato, la tensione dello stesso misurata da una cella di carico sprinforce e il diametro calcolato della spola di raccolta. In uscita un'unica variabile: il segnale di riferimento analogico che comandava la velocità dell'inverter della spola di raccolta che, per le velocià in gioco, raggiungeva circa i 28000rpm mediante un motore meccanicamente integrato sul fuso di raccolta.
Il processore fuzzy prevederva differenti possibili combinazioni in grado di "combinare" le variabili in ingresso per i singoli segnali e le combinazioni degli stessi.
La configurazione ricordo era molto semplificata da un software di parametrizzazione.
Se riesco a ritrovare in qualche vecchio archivio più dati riferiti al processore usato sarò lieto di farteli avere.
-

carlomariamanenti
60,1k 6 11 13 - G.Master EY

- Messaggi: 4324
- Iscritto il: 18 gen 2012, 10:44
1
voti
Salve a tutti, in questo forum sono nuovo e mi sono imbattuto in questa tematica,
se vi può interessare a proposito dell'algoritmo fuzzy per la navigazione c'è qualcosa su questo link:
http://www.delucagiovanni.com/p_aries_video23.html
+ una presentazione introduttiva consultabile on-line qui:
http://www.delucagiovanni.com/files/Fuzzy%20Robot_file/frame.htm
ciao a tutti
se vi può interessare a proposito dell'algoritmo fuzzy per la navigazione c'è qualcosa su questo link:
http://www.delucagiovanni.com/p_aries_video23.html
+ una presentazione introduttiva consultabile on-line qui:
http://www.delucagiovanni.com/files/Fuzzy%20Robot_file/frame.htm
ciao a tutti
2
voti
Dipende da quanto e cosa vuoi simulare.
Innanzitutto devi scrivere le equazioni del robot rispetto ad un sistema di riferimento.
Una volta ricavata la cinematica ( per il tuo caso puoi iniziare leggendohttp://www.itiomar.it/studenti/omarobot/3-mobili.pdf oppure http://rossum.sourceforge.net/papers/DiffSteer/DiffSteer.html) si dovrebbe passare alla dinamica.
Per iniziare eviterei lo studio dinamico del dispositivo e mi concentrerei sulla funzione obbiettivo da minimizzare supponendo di avere una risposta del robot pressochè immediata.
A questo punto bisogna ipotizzare la direzione dei sensori di posizione. Quelli anticollisione sono a bordo del robot e puntano secondo angoli prestabiliti mentre quello di distanza rispetto al target è in pratica un rilevatore assoluto modello radiofaro ( questo almeno ho inteso dal testo del problema ).
Si può successivamente passare alla simulazione dell'ambiente. Per esempio si potrebbe cominciare ipotizzando che il robot abbia un ingombro circolare e gli ostacli siano puntiformi così la funzione di collisione risulta banale.
A questo punto si passa al sistema di controllo anti collisione.
Per la documentazione digita "differential drive mobile robot" sul sito http://ieeexplore.ieee.org, troverai molti articoli utili.
http://www.sta-tn.com/IJ_STA/Papers/volume2/IJSTA_201.pdf
http://academic.csuohio.edu/simond/pubs/Vamsi.pdf
http://www.springerlink.com/content/12n8k28532411585/
Differential Drive Wheeled Mobile Robot (WMR) Control Using Fuzzy Logic Techniques http://dl.acm.org/citation.cfm?id=1825860
L'ultimo link potrebbe essere molto interessante.
L'ambiente virtuale per simulare il robot potrebbe essere :
1. Grafica Matlab con le primitive classiche ( questo è ottimo per iniziare )
2. Virtual Reality Toolbox di Matlab
3. Microsoft Robotic Studio ( http://www.microsoft.com/robotics/)
Per quanto riguarda le variabili ingresso-uscita del sistema direi che gli ingressi debbano essere necessariamente i segnali dei 4 sensori mentre le uscite sono i due riferimenti di velocità da dare ai motori che controllano il moto del robot.
Mediante la velocità dei motori ed il modello cinematico si può ricavare la posizione del veicolo ; ovviamente è necessario uno zero della posizione nell'origine del sistema di riferimento assoluto.
Spero che le informazioni siano utili.
Cordiali saluti
Innanzitutto devi scrivere le equazioni del robot rispetto ad un sistema di riferimento.
Una volta ricavata la cinematica ( per il tuo caso puoi iniziare leggendohttp://www.itiomar.it/studenti/omarobot/3-mobili.pdf oppure http://rossum.sourceforge.net/papers/DiffSteer/DiffSteer.html) si dovrebbe passare alla dinamica.
Per iniziare eviterei lo studio dinamico del dispositivo e mi concentrerei sulla funzione obbiettivo da minimizzare supponendo di avere una risposta del robot pressochè immediata.
A questo punto bisogna ipotizzare la direzione dei sensori di posizione. Quelli anticollisione sono a bordo del robot e puntano secondo angoli prestabiliti mentre quello di distanza rispetto al target è in pratica un rilevatore assoluto modello radiofaro ( questo almeno ho inteso dal testo del problema ).
Si può successivamente passare alla simulazione dell'ambiente. Per esempio si potrebbe cominciare ipotizzando che il robot abbia un ingombro circolare e gli ostacli siano puntiformi così la funzione di collisione risulta banale.
A questo punto si passa al sistema di controllo anti collisione.
Per la documentazione digita "differential drive mobile robot" sul sito http://ieeexplore.ieee.org, troverai molti articoli utili.
http://www.sta-tn.com/IJ_STA/Papers/volume2/IJSTA_201.pdf
http://academic.csuohio.edu/simond/pubs/Vamsi.pdf
http://www.springerlink.com/content/12n8k28532411585/
Differential Drive Wheeled Mobile Robot (WMR) Control Using Fuzzy Logic Techniques http://dl.acm.org/citation.cfm?id=1825860
L'ultimo link potrebbe essere molto interessante.
L'ambiente virtuale per simulare il robot potrebbe essere :
1. Grafica Matlab con le primitive classiche ( questo è ottimo per iniziare )
2. Virtual Reality Toolbox di Matlab
3. Microsoft Robotic Studio ( http://www.microsoft.com/robotics/)
Per quanto riguarda le variabili ingresso-uscita del sistema direi che gli ingressi debbano essere necessariamente i segnali dei 4 sensori mentre le uscite sono i due riferimenti di velocità da dare ai motori che controllano il moto del robot.
Mediante la velocità dei motori ed il modello cinematico si può ricavare la posizione del veicolo ; ovviamente è necessario uno zero della posizione nell'origine del sistema di riferimento assoluto.
Spero che le informazioni siano utili.
Cordiali saluti
-

dimaios
30,2k 7 10 12 - G.Master EY

- Messaggi: 3381
- Iscritto il: 24 ago 2010, 14:12
- Località: Behind the scenes
10 messaggi
• Pagina 1 di 1
Torna a Automazione industriale ed azionamenti
Chi c’è in linea
Visitano il forum: Nessuno e 3 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)




