Guadagni P I D - significato, funzionamento e differenze

« Older   Newer »
 
  Share  
.
  1.     +1   +1   -1
     
    .
    Avatar

    Master 3D

    Group
    ADV Moderator
    Posts
    12,699
    Reputation
    +163

    Status
    I guadagni P I D.... tutte le centraline flybarless (FES) li hanno e purtroppo non è mai chiaro a cosa servono.

    Partiamo dal concetto base... e cioè capire che cosa fanno le nostre amate unità flybarless.

    Tutte le centraline FES fanno, banalmente, una cosa sola: "Calcolano un errore e lo correggono".
    Mi spiego meglio: la coda del nostro elicottero è a ore 3, io dò comando per portarla a ore 6. Lui calcola "l'errore" e cioè dov'è la coda adesso (ore 3) e dove dovrebbe essere (ore 6) e muove il servo per azzerare questo errore (cioè mettere la coda a ore 6 dove dovrebbe essere).
    Siamo in volo e una folata di vento sposta la coda.... il FES calcola l'errore e rimette la coda in posizione. E così via...

    Ho volutamente esemplificato al massimo e parlato solo della coda, ma questo vale per tutti gli assi. Insomma i sistemi flybarless non fanno altro che "CALCOLARE UN ERRORE E PORTARLO A ZERO"

    Fin qui tutto semplice. Ora però la cosa si complica: in che modo correggo l'errore?

    Ed ecco che entrano in in gioco i famosi Gain P I D.

    GAIN P (Proportional)
    Questo è il "gain principale". Quello che reagisce all'errore: la coda si sposta a destra...e io la sposto a sinistra!
    Più si aumenta il Gain P più la reazione diventa immediata e potente.

    Il problema di questo gain è che è "stupido": a volte troppo irruento, altre volte non abbastanza pronto. Lui reagisce e quando arriva al valore desiderato smette di colpo.
    Un valore elevato del gain P fa si che la reazione sia irruenta e potente al punto di sovra-correggere. Un valore basso del gain P risulta in una reazione "timida" che potrebbe non correggere abbastanza.
    Ora ci spieghiamo perchè se alzo troppo il gain di coda l'eli sbacchetta vero? Lui corregge.... è troppo "irruento" e arriva oltre...allora corregge in senso opposto ma arriva ancora oltre e ricorregge.....

    Graficamente è una cosa di questo genere (la linea blu è "l'errore zero" cioè la posizione in cui voglio la mia coda...)

    jpg

    GAIN D (Derivative)
    Questo è il Gain che serve ad "addolcire" l'irruenza del Gain pricipale, diciamo ad aggiustare il tiro. Della serie "Oh kz sei quasi arrivato...rallenta un pelo se no arrivi oltre!!!!"

    Graficamente succede questo:

    jpg

    GAIN I (Integral)
    Gain di "precisione e mantenimento". Questo è il gain che corregge l'errore che P e D non sono riusciti a correggere.
    Lui è il krumiro stacanovista.... e quindi "lavora sempre"! E' il gain che cerca di sistemare i problemi causati dagli altri due o da fattori esterni: cerca SEMPRE e senza mai fermarsi di tenere "l'errore a zero":
    In volo rettilineo tiene l'eli in traiettoria... se avete problemi di pitch-up ad esempio è il gain I sul quale dovete agire.
    In caso di vento l'eli "drifterebbe" senza gain I. Etc etc

    Graficamente riporta a zero l'errore quando i gain P e D non ci riescono. Un valore troppo elevato del gain I è comunque deleterio perchè nel tentativo spasmodico di tendere alla perfezione continuerà a fare micro correzioni:

    jpg

    In questo video si vede molto bene l'effetto dei vari Gain. Si inizia attivando solo il gain P, poi viene aggiunto il gain D e infine il gain I:




    RICAPITOLANDO:
    Gain P:
    Gain Pricipale.
    Se troppo alto l'eli sbacchetta. Se troppo basso l'eli non è autoritario

    Gain D:
    Gain che "addolcisce" le stoppate.
    Se troppo alto l'eli vibra in stoppata (stoppate troppo brusche e secche), se troppo basso abbiamo il classico "bounce back"

    Gain I:
    Tiene l'eli in posizione.
    Se troppo alto l'eli diventa robotico. Se troppo basso l'eli non manterrà la posizione durante le manovre.


    Come ultima cosa un concetto forse scontato: ovviamente i 3 gain non sono "animali separati"....in altre parole i 3 gain sono correlati e qualsiasi modifica facciamo su un gain si ripercuoterà (in maniera piu o meno evidente) anche sugli altri due.
    Il consiglio è quindi in fase di setup di modificare solo un parametro per volta se no correte il rischio di perdervi...

    Edited by STENO DG - 8/4/2015, 10:29
     
    Top
    .
  2.     +1   -1
     
    .
    Avatar

    Master 3D

    Group
    ADV Moderator
    Posts
    12,699
    Reputation
    +163

    Status
    Ho aggiornato il post inserendo un video. Molto banale ma credo faccia molto ben capire l'effetto dei tre diversi gain....
     
    Top
    .
  3. AlexBooo
        +1   -1
     
    .

    User deleted


    Nutro qualche dubbio che il control loop di un moderno sistema FES sia rapportabile ad un semplice sistema PID. Sembrano esserci troppi fattori correttivi. Secondo me su una vbar modificando I e D è più probabile che alterino il control loop per avere un effetto equivalente.
     
    Top
    .
  4.     +1   -1
     
    .
    Avatar

    Master 3D

    Group
    ADV Moderator
    Posts
    12,699
    Reputation
    +163

    Status
    Alex ho cercato di esemplificare al massimo, tralasciando molti concetti.
    E anche quelli esposti sono volutamente "semplificati al massimo". Il Gain P ad esempio non è proprio vero che sovracorregga... ma penso che così si capisca bene come funziona e perchè un eli sbacchetta ad esempio.

    Detto questo le basi sono quelle...personalmente credo che anche Vbar lavori con questi fattori di in input.
    Ad esempio se ricordo bene nel menu "base" Vbar hai solo uno slider per il gain il quale ovviamente "miscela" i 3 gain secondo regole prestabilite da Mikado. Una sorta di "wizard" se vuoi.
    Nel menu avanzato però hai i singoli gain modificabili (non ricordo se hai tutti e 3 o solamente 2)
    Come te credo che poi ci sia di più dei semplici PID nei nostri FES. Sono convinto che ogni casa abbia poi aggiunto delle "ottimizzazioni" nel contorl loop per rendere le loro centraline più facilmente gestibili e settabili.

    Il concetto che volevo far passare è che se la l'eli ti rimbalza nelle stoppate devi agire sul gain D.
    Se mentre fai un tirone l'eli porta il muso in su...devi agire sul gain I e così via...
     
    Top
    .
  5.     +1   -1
     
    .
    Avatar

    In attesa del nuovo "pargoletto"

    Group
    Fans
    Posts
    8,690
    Reputation
    +100
    Location
    Asti

    Status
    Nel sw vbar se entri nelle sezione expert di piatto e coda, ti si aprono non solo i vari PID ma anche diversi altri parametri.
    Mica bau bau micio micio :P
     
    Top
    .
  6.     +1   +1   -1
     
    .
    Avatar

    Terque quaterque taesticula tacta omnia iattura fugata sunt

    Group
    User plus
    Posts
    884
    Reputation
    +62

    Status
    Steno interessante thread. Una piccola imprecisione nel tuo post di apertura: fai un esempio sulla posizione della coda "la coda del nostro elicottero è a ore 3, io dò comando per portarla a ore 6. Lui calcola "l'errore" e cioè dov'è la coda adesso (ore 3) e dove dovrebbe essere (ore 6) e muove il servo per azzerare questo errore (cioè mettere la coda a ore 6 dove dovrebbe essere)." Questo ovviamente non e' corretto perche' da trasmittente non dai un comando sulla posizione da raggiugere ma sulla velocita' angolare che vuoi imporre. Tutto il loop di controllo agisce sulla velocita' angolare, non sui gradi di deviazione dal, che ne so, Nord.

    Per chi vuole approfondire con un minimo di impianto teorico consiglio questo:
    www.dropbox.com/s/trh2j25vl3aqaqz/PID.pdf?dl=0

    tra l'altro c'e' una tabellina empirica che e' molto utile da tenere a mente.
     
    Top
    .
  7.     +1   -1
     
    .
    Avatar

    Master 3D

    Group
    ADV Moderator
    Posts
    12,699
    Reputation
    +163

    Status
    Lasto hai perfettamente ragione. Peraltro ho volutamente scritto anche un altro paio di imprecisioni. Il fine di questo "thread" che in teoria voleva essere una guida per pricipianti (infatti ho pensato a lungo se chiuderlo subito o lasciarlo aperto) era quello di far capire "in soldoni" su che cosa agiscono i vari gain e quindi sapere quale gain toccare se l'eli in volo presenta delle problematiche.
    Se ad esempio l'eli ti alza il muso nei tironi...puoi alzare quanto vuoi i gain P e D...ma nin cambia nulla..e' sull'I(ntegrale) che devi lavorare...e cosi via.
    l'esempio del comando dato alla coda e' il peggior esempio che potevo fare MA forse il piu chiaro per capire il concetto di cosa fa il gain P.
     
    Top
    .
  8.     +1   -1
     
    .
    Avatar

    In attesa del nuovo "pargoletto"

    Group
    Fans
    Posts
    8,690
    Reputation
    +100
    Location
    Asti

    Status
    Provo a fare un riassunto scrivendo ciò che ho capito leggendo qua e la.

    P GAIN
    Il P Gain è il guadagno che la fes introduce per correggere un errore. Esempio : la coda sbanda di brutto, il P Gain se è alto corregge di brutto. Se la coda sbanda di poco, il P Gain corregge di poco.
    Altrettanto dicasi per il piatto chiaramente.

    I GAIN
    L' I GAIN è la precisione con la quale il P Gain interviene. In altre parole, supponiamo che la coda (l'esempio di prima sul P Gain) sbandi di brutto. Ebbene il PGain interviene di brutto, ma così facendo rischia di generare (con I Gain pari a 0) una controreazione troppo brusca. L 'I Gain quindi regola la precisione con la quale il P Gain controreagisce.

    D GAIN
    Il D GAIN è la potenza con la quale avviene la correzione "di fino" introdotta dall ' I Gain. E' il guadagno meno importante dei 3.

    Un esempio di questo è specificato a questo link http://www.fis.unipr.it/~gigi/dida/strumen...rollore_PID.pdf che spiega i PID con l'esempio di un controllo di temperatura di un sistema termico.
    L'esempio è cmq molto calzante
     
    Top
    .
  9. AlexBooo
        +1   -1
     
    .

    User deleted


    Non è proprio corretto. L'I, essendo l'integrale, tien conto del trend passato. Il D essendo la derivata tien conto del trend evolutivo ovvero di quanto velocemente sta cambiando. I tre pesi danno quindi il peso del:
    - presente P
    - passato I
    - futuro D

    Ma tanto secondo me non centrano le teorie, sti valori sono solo simulati sui sistemi FES.

    Edited by Eli-Rhoss - 10/4/2015, 16:45
     
    Top
    .
  10.     +1   -1
     
    .
    Avatar

    Master 3D

    Group
    ADV Moderator
    Posts
    12,699
    Reputation
    +163

    Status
    Non vedo il pdf dal cell lo leggero' con calma stasera.
    Secondo me il.D Gain non e' come hai scritto pero'...il.D gain dovrebbe interagire con il P gain e lo "rallenta/accelera" verso il fine corsa.
    infatti sui nostri elicotteri se vuoi una stoppata piu o meno brusca devi lavorare sul D gain.

    in sostanza P Gain e' il principale...
    D e I lavorano di fino invece. Il D sui fine corsa e il I sull'errore residuo
     
    Top
    .
  11. AlexBooo
        +1   -1
     
    .

    User deleted


    No, no. Leggi quello che ho scritto...
     
    Top
    .
  12.     +1   -1
     
    .
    Avatar

    Master 3D

    Group
    ADV Moderator
    Posts
    12,699
    Reputation
    +163

    Status
    Ecco Alex ha introdotto un concetto nuovo...interessante, lo avevo tralasciato ma e' cosi...

    Secondo me diciamo la stessa cosa Alex. Almeno cosi la intendo io:

    P presente: si sposta l'eli e correggo
    D futuro: occhio che se continui a correggere cosi arrivi "lungo"...ti rallento io
    I passato: bravi voi lavorate...ma visto che alla fine di tutto il vostro lavoro eravate ancora fuori posto....ci penso io a riportare l'eli nella posizione corretta...
     
    Top
    .
  13. AlexBooo
        +1   -1
     
    .

    User deleted


    Quindi rifacendosi alle rimembranze universitarie:
    - P alto -> reazioni violente a piccoli input, quindi si generano le tipiche oscillazioni
    - I alto -> un comportamento più smooth, quindi tende ad avere un comportamento più organico
    - D alto -> un comportamento più crisp, reagendo velocemente alle variazioni veloci dell'input

    Il problema è che un controllo retroazionato tende ad convergere per approssimazioni più o meno successive. Cosa che non appare minimamente con un sistema FES ben settato. Se fosse un semplice sistema PID le stoppate di coda prevederebbero sempre un'oscillazione smorzata. Quindi un sistema FES prevede tutta una serie di fattori correttivi o più probabilmente il control loop è ben più sofisticato.
     
    Top
    .
  14. bomber 9
        +1   +1   -1
     
    .

    User deleted


    Volevo ringraziare per la spiegazione di questi parametri, e anche se e' stata fatta in modo semplice, senza magari entrare moltissimo nel tecnico, la ritengo utile, almeno per un principiante come me. Ho imparato cose nuove.

    Grazie.


    ps nel software della mikado(almeno quello che ho io ci sono solo P GAIN e I GAIN.
     
    Top
    .
  15.     +1   -1
     
    .
    Avatar

    Master 3D

    Group
    ADV Moderator
    Posts
    12,699
    Reputation
    +163

    Status
    Corretto, nella VBAR il gain D non è modificabile. C'era su vecchie versioni ma lo hanno tolto....
     
    Top
    .
19 replies since 7/4/2015, 20:54   2579 views
  Share  
.