Come si configura un controllo PID se le costanti di tempo del sistema controllato sono variabili?


9

La descrizione comune per un controller PID continuo è scritta in questo modo: Il migliore il valore delle costanti K_p , K_i e K_d per un dato sistema controllato dipenderà dalle sue costanti di tempo, che si tratti di un sistema \ text {PT} _1 o \ text {PT} _2 , ecc ...

y(t)=Kpe(t)+Ki0te(τ)dτ+Kdde(t)dt
KpKiKdPT1PT2

Cosa fai se la costante di tempo di un tale sistema è variabile. Diciamo che varia tra e ( ). Come si progettano le costanti PID?TaTbTa<Tb

Risposte:


8

Un modo sarebbe implementare una qualche forma di controllo adattativo. Se il tuo intervallo di costanti di tempo è piccolo e noto, potresti usare qualcosa chiamato "pianificazione del guadagno" dove determini in anticipo tutte le costanti di tempo con cui avrai a che fare (si spera che sia finito) e usi la logica if / then per definire PI e D. Può essere difficile assicurarsi di avere coperto una variabilità sufficiente per garantire stabilità e prestazioni in tutta la gamma. Una buona storia di successo per la pianificazione dei guadagni è l'elicottero Chinook. Si può fare.

Se non si dispone di una previsione fattibile su quali saranno le costanti di tempo, è possibile esaminare l'utilizzo del controllo adattivo di riferimento del modello (MRAC). In questo schema di controllo hai un modello di riferimento (il tuo sistema ideale) con il tuo controller PID scelto. MRAC riduce al minimo l'errore tra ciò che l'impianto sta effettivamente facendo e ciò che sta facendo il modello di riferimento. In questo modo costringi il tuo impianto in trasformazione ad agire come il tuo modello LTI.

Oppure potresti provare a utilizzare il Model Identification Adaptive Controller (MIAC). Qui lo schema di controllo esegue l'identificazione del sistema in tempo reale e utilizza una legge di aggiornamento per il controller. Questo richiede l'abilità più avanzata delle tre idee.

Poiché il sistema cambia le costanti di tempo nel tempo, non è più LTI. Ciò significa che è necessario acquisire la pianificazione (abbastanza semplice se si conosce l'intervallo di costanti di tempo) o l'identificazione del sistema con la legge di aggiornamento per il proprio PID.


perché non equalizzare dinamicamente i passi temporali progettando per il più grande timestep e rendendo il software quasi in tempo reale aspettando durante ogni iterazione prima di inviare i comandi dell'attuatore?
Gürkan Çetin,

@ GürkanÇetin cosa sta aspettando il software? Potete aiutarmi a capire cosa sta succedendo quando il software ritarda deliberatamente un aggiornamento di controllo?
willpower2727,

Se ho capito bene, c'è un ritardo sconosciuto a ogni loop delle iterazioni di calcolo (cioè a causa di comunicazioni I / O o altre attività della CPU). Questo è un problema generale su un target non in tempo reale (OS). Quindi, sintonizzando il controller per un delta_t predeterminato (lungo) (diciamo 100msec), e quindi ad ogni iterazione, cercando di adattare il tempo di loop totale a questo delta_t (supponiamo che gli algoritmi di controllo siano terminati dall'80 msec, attendi un ulteriore 20msec ) per inviare i comandi di controllo; potrebbe funzionare, se è noto che tutte le altre attività richiedono meno di 100 ms (meno il tempo di calcolo della legge di controllo).
Gürkan Çetin,

@ GürkanÇetin se capisco correttamente la domanda originale, la domanda è su come controllare quando gli aspetti fisici di una pianta cambiano nel tempo (es. Razzo che perde massa nel tempo), non come gestire i tempi di esecuzione del ciclo operativo non in tempo reale. Penso che il tuo suggerimento potrebbe essere valido, in termini di gestione di sistemi operativi non in tempo reale che eseguono un controller.
willpower2727

Oh si. Ho sbagliato la domanda. In questo caso, se la pianta cambia nel tempo (improvvisamente o gradualmente), direi che la riconfigurazione è un'altra possibilità. Naturalmente, funziona solo se si conosce il cambiamento della dinamica del modello. Come perdere massa, spendere carburante, estrarre / ritrarre carrelli di atterraggio, ecc.
Gürkan Çetin,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.