Model predictive control,un aiuto

Messaggioda MattRCS86 » 24/07/2014, 21:44

Ciao a tutti,apro qui il topic perchè credo riguardi l'argomento ingegneria,ora vi spiego :)
Sto lavorando sulla mia tesi,devo sviluppare un algoritmo di controllo usando la teoria del controllo predittivo che insegue un riferimento stabilito da noi (e che si può variare durante l'esecuzione).
Dato lo stato istante per istante \(\displaystyle x_{t }\)e uno stato di equilibrio \(\displaystyle x_{ss} \),che è il mio riferimento e a cui corrisponderà l'ingresso di equilibrio \(\displaystyle u_{ss} \),io devo minimizzare la seguente funzione di costo:

\(\displaystyle \sum_{k=0}^{N-1}(x_{t|t+k}-x_{ss})^{T}*Q*(x_{t|t+k}-x_{ss})+(u_{t|t+k}-u_{ss})^{T}*R*(u_{t|t+k}-u_{ss}) \)

Sviluppando per gli N passi devo in sostanza risolvere il seguente super-prodotto matriciale:

\(\displaystyle (X-X_{ss})^{T}*\hat{Q}*(X-X_{ss})+(U-U_{ss})^{T}*\hat{R}*(U-U_{ss}) \)

Dove \(\displaystyle X=\hat{A}*x_{t|k}+B*U \) , U è la matrice incognita da trovare contentente gli ingressi che danno la soluzione ottima per il problema.
Quello che è necessario fare è sviluppare questo prodotto e scriverlo poi nella nota QP formulation:

\(\displaystyle f(x)=c^{T}*x+\frac{1}{2}*x^{T}*Q*x \)

dove nel mio caso ho U come x,a meno del fattore 0,5 che qui ovviamente non è presente.
Ora,ci siamo accorti che il controllore non raggiunge mai il riferimento impostato,nel senso:se ad esempio il riferimento è 0,4 il controllore porta l'uscita a 0,375 e si assesta li,senza riuscire a raggiungere il riferimento;ciò non è accettabile e pensiamo di aver sbagliato qualcosa nel calcolo del prodotto...potreste darmi una mano a verificare il prodotto?
Temo di sbagliare l'ordine di prodotto o di cancellare qualche semiprodotto che invece non andrebbe cancellato,anche perchè la prima versione dell'algoritmo che ho sviluppato,ossia il controllo predittivo classico,senza riferimento da inseguire,funziona perfettamente.
Devo solo farli con le notazioni simboliche delle matrici,i calcoli con i dati effettivi poi li fa Matlab.
Grazie :)
MattRCS86
Starting Member
Starting Member
 
Messaggio: 22 di 44
Iscritto il: 05/06/2012, 09:44

Torna a Ingegneria

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite