controller Inserito: 13 marzo 2009 Segnala Inserito: 13 marzo 2009 Salve a tutti! Sono nuovo del forum. Innanzitutto saluto tutti e illustro il mio problema. Vorrei realizzare in Simulink del Matlab il controllo in anello chiuso di un plant di un sistema dinamico. Per un esame, devo necessariamente utilizzare il tool ANFIS. Avevo pensato di realizzare il controllo utilizzando un modello del plant (ottenuto tramite ANFIS) e di retroazionare in ingresso ad un controllore la differenza tra uscita del plant e uscita del modello(ovvero il .fis ottenuto con anfis). Mi serve quindi che il controllore sia un modello inverso del plant. Come potrei ottenere questo controllore?In che modo potrei realizzarlo? Magari utilizzando una rete neuronale ... Vi ringrazio anticipatamente per le risposte
Bender83 Inserita: 13 marzo 2009 Segnala Inserita: 13 marzo 2009 Di controllori ne esistono vari tipi, sia a livello di tecnica di implementazione che di metodologia per la sintesi. In ambito industriale quello più diffuso è il PID insieme alle sue varianti per svariati motivi che non sto ad elencare!L'inversione del modello dinamico ossia Internal Model Control è una tecnica molto complessa che non si basa, come molti credono, nel modello inverso del plant ma ci sono altre tecniche molto più elaborate.Quello che dici tu è una zozzeria, in quanto non potrai mai costruire una fdit impropria e Malab te lo farà sicuramente notare, poi è una tecnica sbagliata in quanto provocheresti la cancellazione della dinamica del sistema cosa assolutamente inaudita...Analizza prima il tuo plant e vedi le prestazioni che vuoi ottenere in base allo sforzo di controllo. Per le reti neuronali credo che hai una idea sbagliata, infatti significa apprendimento non adattamento.
controller Inserita: 15 marzo 2009 Autore Segnala Inserita: 15 marzo 2009 ok grazie dell'aiuto che fosse una "zozzeria" era evidente.comunque il controllo che voglio fare è esattamente Internal model control, in quanto ho il plant vero e proprio e poi il modello fis del plant. Confrontando le 2 uscite avrei cosi l'errore di predizione da retroazionare come ingresso al controllore.So bene che matlab non ti permette di fare l'invero di 1/(s+1) ad esempio.Il mio problema è che non so con che tecnica potrei "configurare" il controllore per poter realizzare l'internal model control.L'adattamento dei parametri del controllore non deve essere adaptive perchè altrimenti la complessità aumenta. Potresti dunque indicarmi un po di materiale che mi faccia comprendere come realmente "riempire" il controllore fatto con una rete neuronale. Cioè cosa dovrei osservare di preciso nel plant, affinche io possa creare un controllore?se è troppo complesso mi consigli di mettere un pid?grazie 1000 per l'aiuto.ciao
Bender83 Inserita: 15 marzo 2009 Segnala Inserita: 15 marzo 2009 (modificato) Ciao ... .Confrontando le 2 uscite avrei cosi l'errore di predizione da retroazionare come ingresso al controllore.Non puoi parlare di predizione in questo caso, perché l'IMC non si tratta di un predittore di Smith(per qualche aspetto simile a l'IMC) e minimamente di controllo predittivo(teorie di controllo totalmente diverse).L'IMC si tratta in parole povere di una compensazione del disturbo (noto in uscita) tramite una coppia del plant (o esclusivamente della dinamica dominante di questo) che a differenza del plant non vede il disturbo. La loro differenza indica l'errore da retroazionare sul controllore. Il mio problema è che non so con che tecnica potrei "configurare" il controllore per poter realizzare l'internal model control. L'adattamento dei parametri del controllore non deve essere adaptive perchè altrimenti la complessità aumenta.Le leggi di adattamento vengono impiegate nel caso in cui non sono noti i parametri dinamici del sistema, in tal caso una legge di adattamento ad hoc si rende necessaria... ma non credo faccia il caso tuo!Potresti dunque indicarmi un po di materiale che mi faccia comprendere come realmente "riempire" il controllore fatto con una rete neuronale.Per quanto ne so i controllori non si "riempiono" ma si fa la sintesi, le reti neuronali non sono una legge di controllo ma è una tecnica di apprendimento del sistema e ci serve una legge a sua volta per controllare le reti neurali... Ad esempio la branca dei controlli automatici applicata alle TLC le utilizza per far funzionare l'instradamento dei pacchetti dei dati sulle reti e per analizzare il traffico nella rete.Cioè cosa dovrei osservare di preciso nel plant, affinche io possa creare un controllore?se è troppo complesso mi consigli di mettere un pid?Ogni applicazione ha delle problematiche che vanno trattate caso per caso, così come l'utente ha delle esigenze sul sistema controllato. Cosa devi guardare?Beh se ti do la soluzione io tu non ti divertiresti a costruire il controllo Guarda qui, quo, qua. Modificato: 15 marzo 2009 da Bender83
controller Inserita: 16 marzo 2009 Autore Segnala Inserita: 16 marzo 2009 si hai ragione mi sono divertito oggi pomeriggio e ho realizzato un controllo in narma-l2.Che poi la parola "riempire" fosse stata usata in maniera impropria, lo testimoniavano le virgolette stesse.comunque potresti indicarmi come posso implementare una funzione scritta in un file.m in un blocco simulink?in pratica io ho scritto una funzione in un file.m che prende in ingresso i dati in uscita da un blocco simulink, fa le sue elaborazioni e fornisce un altro segnale di output.come posso inserire questo file.m in un blocco simulink.grazie ancora per l'aiutociao
Bender83 Inserita: 16 marzo 2009 Segnala Inserita: 16 marzo 2009 Ma un controllo robusto a norma H-2 è quello che realmente ti serviva?Allora per quanto ne so non sono mai riuscito a fare quello che dici tu, non so neppure se sia possibile, io ovviavo le Matlab Function e con le S-Function.... Ci ho dovuto sbattere la testa per imparare un po' di codice Matlab
Fratelmaestro Inserita: 21 marzo 2009 Segnala Inserita: 21 marzo 2009 Per caso è l'esame di Controllo Fuzzy del prof. Ulivi?
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora