annuncio

Comprimi
Ancora nessun annuncio.

PID Tuning & C. - Come settare i parametri del vostro Multiwii

Comprimi
X
  • Filtro
  • Ora
  • Visualizza
Elimina tutto
nuovi messaggi

  • PID Tuning & C. - Come settare i parametri del vostro Multiwii

    PID Tuning, ovvero come ottimizzare i parametri P - I - D del vostro Multiwii.

    Un buon riferimento (in inglese) per fare pid tuning è la guida di Aeroquad, nella quale Ted Carancho spiega come fare un primo setup al banco:
    AeroQuad Forums - PID Tuning Your AeroQuad

    Alcune premesse:
    - Fare il settaggio al banco, con un multirotore vicino al porprio viso/mani ecc... può essere pericoloso. Cercate di non farvi male e tagliarvi o cavarvi un occhio mentre fate queste prove.
    Operate sempre in sicurezza, tenendo il mezzo saldamente in modo che non possa scappare, specialmente alla prima accensione, per verificare che i motori girino tutti nella direzione prevista e che le eliche siano state montate correttamente.
    Se il quad ha improvvise reazioni e tenta di inclinarsi, spegnete subito il mezzo e controllate orientamento dei sensori/verso di rotazione dei motori e tipo di elica.

    - Per un mezzo ben montato (senza problemi di vibrazioni o di elettronica) e dimensioni standard (bracci da 18/25cm) i parametri di default del Multiwii sono molto conservativi. Si possono quindi alzare moltissimo per avere un mezzo più stabile in hovering e nei movimenti lenti, e successivamente lavorare sul rate di diminuzione del pid per rendere il mezzo più veloce e reattivo per manovre veloci e movimenti rapidi.

    Il parametro P (Proporzionale) è il GAIN, ovvero la potenza con cui i giroscopi interverranno. Più è alto e più i giroscopi influiranno sui motori cercando di correggere l'assetto del quad.
    E' importante che sia il più alto possibile per avere un quad molto stabile, ma non deve essere eccessivo, altrimenti il mezzo sovracompenserà le variazioni di assetto e non sarà in grado di recuperare le oscillazioni, anzi ne causerà lui stesso.
    Si deve lavorare prima di tutto su questo parametro (cercando di alzarlo a step di 0.5 - 1 unità) per trovare un valore ottimale intorno al quale fare poi piccoli aggiustamenti.
    Al banco, tenendo saldamente il quad da sotto in modo che non possa scappare o farvi male, ma lasciandogli la possibilità di muoversi senza forzarlo eccessivamente, portate i motori quasi all'hovering (deve sostenere la maggior parte del suo peso autonomamente) e cercate di inclinare il mezzo con le mani.
    Questo deve risultare "duro" da muovere, contrastando il movimento che gli si vuole imporre. Il P va alzato finchè il mezzo è sufficientemente "duro" da spostare ma non vibra o innesca oscillazioni quando viene forzato. Se inizia ad oscillare, dovete ridurre il P finchè il fenomeno sparisce. Scuotendolo vistosamente non deve mostrare la tendenza ad amplificare l'oscillazione.

    Il parametro D (Derivativo) ha influenza sulla velocità con il quale i giroscopi interverranno e quindi nei transitori, sui passaggi dal volato all'hovering, sui cambiamenti di assetto veloci e continuativi. Per comodità è ora un valore positivo sulla gui, mentre in realtà è un valore negativo nel filtro.
    Va generalmente aumentato proporzionalmente al P, in passi di 2-5 unità per cercare di rendere il quad più sincero nel volo e meno soggetto ad oscillazioni.
    Per ottimizzarlo al banco, quando avete finito di settare P, provate a scuotere il quad, colpendolo leggermente da sotto su un braccio. Questo deve ritornare in posizione smorzando il colpo in fretta, senza oscillare. Se rimbalza un po' od oscilla, alzate il D finchè l'oscillazione non viene smorzata efficacemente. (Provate anche valori estremi di D, troppo alti e troppo bassi, per capire come lavora, e poi cercate il valore corretto)

    Il parametro I (Integrale) ha influenza sulla durata e sulla persistenza con cui il quad compensa le variazioni di assetto, cercando di mantenere l'angolo impostato dagli stick.
    Va modificato con cautela e in piccoli passi di 0,05 unità, durante le prove al banco, cercando di evitare che induca oscillazioni ad alta frequenza durante le piccole correzioni col mezzo in hovering. Più e alto e più a lungo la correzione in caso di disturbo esterno (tipo folata di vento) viene mantenuta.
    Questo parametro determina quanto il mezzo tenderà a mantenere l'angolo di inclinazione voluto, più è alto e più il mezzo tenderà a rimanere nella posizione comandata dal pilota.
    Con le nuove versioni del codice è possibile alzarlo molto di più rispetto a prima, avendo un mezzo molto più insensibile ai disturbi esterni e che mantiene meglio l'inclinazione voluta.
    Il codice multiwii non ne tiene conto nei movimenti veloci, per evitare problemi.
    Ultima modifica di jhoexp; 28 marzo 11, 01:31.
    Johnny
    (GTE - Torino)
    Out of sight, NOT out of mind.

  • #2
    Grazie Jhoexp, metto in evidenza il 3d e nel caso volessi fare aggiunte o modifiche dammene notizia cosi' almeno la prima pagina rimarra' sempre aggiornata.
    Se riusciamo a non parlare delle ricette della zia maria tanto meglio.
    Questo settaggio nasce principalmente per l'uso sulla Multiwii, ma si adatta in parte anche ad altri sistemi.
    Per divagazioni o domande specifiche sul progetto MUltiWii vi pregherei di accodarvi al 3d principale:
    http://www.baronerosso.it/forum/mode...nsori-wii.html

    Grazie ancora G.

    Commenta


    • #3
      E' giusta come procedura, prima di settare il P portare il D a 0?
      in questa maniera si potrebbe osservare l effetto del P senza offuscarlo con il parametro D(che ad esempio su Multiwii di default è gia 15), le oscillazioni si osserverebbero subito e il passo tra P molto alto e P troppo basso sarebbe piu marcato.
      FpvProjekt channels:
      http://www.youtube.com/user/Arnald26
      http://www.vimeo.com/album/72997

      Commenta


      • #4
        E' giusta come procedura, prima di settare il P portare il D a 0?
        Non proprio, questo perchè una volta trovata la P estrema, se poi alzi D il comportamento cambia, è solo un metodo per trovare almeno il valore di base di P, ma questo non vuol dire che non dovrai più toccarlo.

        Il parametro I è semplice da capire, in pratica è un trim automatico, somma lentamente l'errore attuale e genera un offset cumulativo.
        Esattamente cosa faremo noi col trim e I a 0.
        Attenzione anche che un valore basso di I non significa che interviene poco, vuol dire che il trim ci mette tanto ad alzarsi ma anche ad abbassarsi, è lento a cambiare.
        Un valore troppo alto di I invece innesca tipicamente delle oscillazioni "circolari" abbastanza rapide ma di piccola intensità. Come se muovessimo il trim ad ogni manovra.

        Per chi volesse approfondire basta dare un occhiata alle regole di ziegler nichols:
        Controllori PID - Wikipedia.
        Ultima modifica di ciskje; 05 aprile 11, 20:13.
        Informatico Professionista, Amante dei 4x4 e delle auto ibride, costruttore di quadricotteri.

        Commenta


        • #5
          Settaggio riuscito

          Seguendo i consigli di Johexp (soprattutto quelli dati a voce) è stato possibile alzare sensibilmente i valori con evidenti vantaggi .

          Prima il tricottero (si tratta di un tricottero in legno, con bracci di obece rinforzato con nastro fibrato ed attacchi, sia centrale che dei motori, in profilato di alluminio, motori Towerpro). Precedentemente volava con P intorno a 2,6, dopo i consigli di Joh sono arrivato senza problemi a P=6 (6,1) e D=25. In questo modo è talmente stabile che è possibile tenere il tricottero, da 90cm di ingombro a volare sicuro in salotto, quasi come se fosse appeso al lampadario.
          Anche sugli altri due, i quad, a x e + PID aumentati, con P intorno a 6 e stanno in aria molto, molto + stabilmente, pronti per le riprese aeree o l'FPV.
          E tutto senza intervenire sulle strutture dei frames

          Un consiglio (grazie JOHEXP) che è meglio iniziare ad aumentare il valore D prima di aumentare il valore P, cioè:

          aumentare il D di 5;

          verificare la stabilità (in mano... si dice a banco?);

          se tutto ok allora aumentare il P di 0,5

          verificare la stabilità

          e così via di nuovo col D fin quando tutto va bene; se cominciano ad esserci dei comportamenti ballerini bisogna tornare al valore di massima stabilità.

          il valore di I per ora non l'ho toccato, vedremo in seguito se servirà.

          Adesso invece il problema è che non riesco ad utilizzare versioni Multiwii sopra la 1.5 a causa di problemi di comunicazione tra USB con il PC. Utilizzo delle schede autocostruite, assemblate in casa con ATMEGA 328P, che volano benissimo e comunicano benissimo con il pc, ma solo fino alla la versione 1.5. Sopra, se uso la GUI non è possibile impostare i valori. In pratica prende valori stranissimi sia di PID che tutte le altre regolazioni, ed è impossibile quindi dare un settaggio alla Multiwii; inoltre è evidente la lentezza con cui comunica con il pc.
          Perchè?


          Ciao
          http://perry-piermaria.blogspot.com/

          Commenta


          • #6
            Originariamente inviato da Perryosio Visualizza il messaggio
            Seguendo i consigli di Johexp (soprattutto quelli dati a voce) è stato possibile alzare sensibilmente i valori con evidenti vantaggi .
            Ciao Perry, vedo che la breve sessione di pid tuning al campo ha dato i suoi frutti...
            Purtroppo non è sempre possibile rendere bene per scritto quella che è una operazione pratica un po' particolare e che comunque comporta qualche rischio, specie se l'orientamento dei sensori o i versi di rotazione eliche/motore non sono corretti.
            Magari alla prossima occasione facciamo vedere dal vivo come si fa a testare il mezzo "live" e cosa cambia agendo sui vari parametri.

            In questo modo è talmente stabile che è possibile tenere il tricottero, da 90cm di ingombro a volare sicuro in salotto, quasi come se fosse appeso al lampadario.
            Che ovviamente è una cosa da non fare....

            Un consiglio (grazie JOHEXP) che è meglio iniziare ad aumentare il valore D prima di aumentare il valore P, cioè:
            Comunque il consiglio di alzare prima la D era specifico per la tua situazione, infatti provando il tricottero con i valori di default si notava chiaramente che il mezzo tendeva a rimbalzare ed era necessario smorzare ulteriormente il comportamente alzando la D.
            Normalmente però i valori di default per mezzi più piccoli del tuo e costruiti in alluminio sono abbastanza conservativi, quindi è bene procedere per gradi aumentando prima P e solo successivamente D testando il comportamento come mi hai visto fare (colpendo il braccio e osservando come l'oscillazione veniva smorzata).

            il valore di I per ora non l'ho toccato, vedremo in seguito se servirà.
            Puoi sicuramente alzare la I, rispetto al valore default. Vedrai che il mezzo tenderà a essere ancora più piacevole nel volo e manterrà meglio l'inclinazione impostagli, anche nei transitori e nei passaggi veloci.

            Adesso invece il problema è che non riesco ad utilizzare versioni Multiwii sopra la 1.5 a causa di problemi di comunicazione tra USB con il PC. Utilizzo delle schede autocostruite, assemblate in casa con ATMEGA 328P, che volano benissimo e comunicano benissimo con il pc, ma solo fino alla la versione 1.5. Sopra, se uso la GUI non è possibile impostare i valori. In pratica prende valori stranissimi sia di PID che tutte le altre regolazioni, ed è impossibile quindi dare un settaggio alla Multiwii; inoltre è evidente la lentezza con cui comunica con il pc.
            Perchè?
            Su questo bisognerebbe indagare. Probabilmente la routine di comunicazione seriale è cambiata e qualcosa infastidisce le tue schede autoscotruite. Vediamo di chiarirlo sul thread multiwii.
            Johnny
            (GTE - Torino)
            Out of sight, NOT out of mind.

            Commenta


            • #7
              PID su Mikrokopter

              Ciao jhoexp,
              grazie per la tua utilissima guida PID per MultiWii, l'ho seguita per impostare il mio nuovo quad seguendola passo-passo e ora vola molto bene.

              Hai delle indicazioni anche per quanto riguarda il tuning della fc Mikrokopter?

              Fermo restando la stessa procedura da seguire come prove al banco, sarebbe interessante avere delle indicazioni su dei valori medi di PID per ottenere un esa molto stabile. So bene che molto dipende dalla somma di telaio + motori + pesi peró magari hai qualche altro utile suggerimento da dare.
              digitAlex (Torino e Lugano)
              X4 MultiWii, V6-DSLR MK

              Commenta


              • #8
                Cavolo se avessi visto subito questo post mi sarei risparmiato qualche preoccupozione per l'aspetto ballerino del mio multiwii....
                l'ho preso già bello e fatto da sexycopter e non sapevo nemmeno della possibilità di settare il pid (ero abituato ai bei potenziometri della kk!)

                Domanda: il mio X-quand è già bello stabile in hovering, ma balla parecchio nel traslato... sia in acro che stable...

                Inizialmente ho pensato di diminuire P perchè credevo correggesse troppo andando in hovershoot... ma leggendo qui, se ho capito bene, dovrei aumentare D e quindi anche P?
                Oppure visto che in hovering è già stabile, lascio P inalterato e aumento solo D?

                ... oppure diminuisco solo P?

                Essere o non essere, P o D, questo è il dilemma!

                Ah scusa, cambiando via radio, la sequenza dei parametri è P I D, e non P D I vero?
                Ultima modifica di Wolt; 30 settembre 11, 11:44.
                http://www.vimeo.com/user538648/videos
                Fpv - T-rex 450S - T-rex 250 - rvosd - Easystar - Bae Hawk - Easyglider - Fox 2m - Cap 232

                Commenta


                • #9
                  lo posto qui così rimane anche un mio pensiero in rilievo!

                  dopo giorni a impazzire con il PID tuning e bestemmiando dietro quelli che la facevan così facile (se vi fischiavan le orecchie ero io!) ho provato a lavorare sull'hardware piuttosto che sul software. ho smontato e rimontato tutto il tricottero eliminando qualsiasi parte superflua e consolidando tutte le parti mobili il più possibile. ho eliminato le piastre di supporto dei motori in vetronite e li ho fissati direttamente ai bracci metallici. ho lavorato sul meccanismo di yaw e sul servo di coda per eliminare qualsiasi gioco e ho eliminato qualsiasi supporto ammortizzato sotto la Board (si lo so che si dice di non metterlo, ma io pensavo di essere più furbo degli altri...), ho ribilanciato motori ed eliche e stretto bene le viti.

                  risultato: volo perfetto senza toccare un solo parametro, basta oscillazioni, basta incertezze nel traslato.... liscio come l'olio....

                  lascio questo pensiero a futura memoria per quanti passeranno di qua per settare bene la board multiwii: PENSATE PRIMA ALLA STRUTTURA! solo dopo toccate il software!

                  grazie ancora a johexp e a tutti i pazienti utenti esperti!

                  saluti!

                  Commenta


                  • #10
                    Pid

                    Originariamente inviato da jhoexp Visualizza il messaggio
                    PID Tuning, ovvero come ottimizzare i parametri P - I - D del vostro Multiwii.

                    Un buon riferimento (in inglese) per fare pid tuning è la guida di Aeroquad, nella quale Ted Carancho spiega come fare un primo setup al banco:
                    AeroQuad Forums - PID Tuning Your AeroQuad

                    Alcune premesse:
                    - Fare il settaggio al banco, con un multirotore vicino al porprio viso/mani ecc... può essere pericoloso. Cercate di non farvi male e tagliarvi o cavarvi un occhio mentre fate queste prove.
                    Operate sempre in sicurezza, tenendo il mezzo saldamente in modo che non possa scappare, specialmente alla prima accensione, per verificare che i motori girino tutti nella direzione prevista e che le eliche siano state montate correttamente.
                    Se il quad ha improvvise reazioni e tenta di inclinarsi, spegnete subito il mezzo e controllate orientamento dei sensori/verso di rotazione dei motori e tipo di elica.

                    - Per un mezzo ben montato (senza problemi di vibrazioni o di elettronica) e dimensioni standard (bracci da 18/25cm) i parametri di default del Multiwii sono molto conservativi. Si possono quindi alzare moltissimo per avere un mezzo più stabile in hovering e nei movimenti lenti, e successivamente lavorare sul rate di diminuzione del pid per rendere il mezzo più veloce e reattivo per manovre veloci e movimenti rapidi.

                    Il parametro P (Proporzionale) è il GAIN, ovvero la potenza con cui i giroscopi interverranno. Più è alto e più i giroscopi influiranno sui motori cercando di correggere l'assetto del quad.
                    E' importante che sia il più alto possibile per avere un quad molto stabile, ma non deve essere eccessivo, altrimenti il mezzo sovracompenserà le variazioni di assetto e non sarà in grado di recuperare le oscillazioni, anzi ne causerà lui stesso.
                    Si deve lavorare prima di tutto su questo parametro (cercando di alzarlo a step di 0.5 - 1 unità) per trovare un valore ottimale intorno al quale fare poi piccoli aggiustamenti.
                    Al banco, tenendo saldamente il quad da sotto in modo che non possa scappare o farvi male, ma lasciandogli la possibilità di muoversi senza forzarlo eccessivamente, portate i motori quasi all'hovering (deve sostenere la maggior parte del suo peso autonomamente) e cercate di inclinare il mezzo con le mani.
                    Questo deve risultare "duro" da muovere, contrastando il movimento che gli si vuole imporre. Il P va alzato finchè il mezzo è sufficientemente "duro" da spostare ma non vibra o innesca oscillazioni quando viene forzato. Se inizia ad oscillare, dovete ridurre il P finchè il fenomeno sparisce. Scuotendolo vistosamente non deve mostrare la tendenza ad amplificare l'oscillazione.

                    Il parametro D (Derivativo) ha influenza sulla velocità con il quale i giroscopi interverranno e quindi nei transitori, sui passaggi dal volato all'hovering, sui cambiamenti di assetto veloci e continuativi. Per comodità è ora un valore positivo sulla gui, mentre in realtà è un valore negativo nel filtro.
                    Va generalmente aumentato proporzionalmente al P, in passi di 2-5 unità per cercare di rendere il quad più sincero nel volo e meno soggetto ad oscillazioni.
                    Per ottimizzarlo al banco, quando avete finito di settare P, provate a scuotere il quad, colpendolo leggermente da sotto su un braccio. Questo deve ritornare in posizione smorzando il colpo in fretta, senza oscillare. Se rimbalza un po' od oscilla, alzate il D finchè l'oscillazione non viene smorzata efficacemente. (Provate anche valori estremi di D, troppo alti e troppo bassi, per capire come lavora, e poi cercate il valore corretto)

                    Il parametro I (Integrale) ha influenza sulla durata e sulla persistenza con cui il quad compensa le variazioni di assetto, cercando di mantenere l'angolo impostato dagli stick.
                    Va modificato con cautela e in piccoli passi di 0,05 unità, durante le prove al banco, cercando di evitare che induca oscillazioni ad alta frequenza durante le piccole correzioni col mezzo in hovering. Più e alto e più a lungo la correzione in caso di disturbo esterno (tipo folata di vento) viene mantenuta.
                    Questo parametro determina quanto il mezzo tenderà a mantenere l'angolo di inclinazione voluto, più è alto e più il mezzo tenderà a rimanere nella posizione comandata dal pilota.
                    Con le nuove versioni del codice è possibile alzarlo molto di più rispetto a prima, avendo un mezzo molto più insensibile ai disturbi esterni e che mantiene meglio l'inclinazione voluta.
                    Il codice multiwii non ne tiene conto nei movimenti veloci, per evitare problemi.
                    ciao sono nuovo per quanto riguarda i pid, ho una scheda kk fiw. 48 potresti spiegarmi da dove devo regolare questo benedetto pid, ossia su cosa devo agire? grazie anticipatamente.

                    Commenta


                    • #11
                      Originariamente inviato da nino62 Visualizza il messaggio
                      ciao sono nuovo per quanto riguarda i pid, ho una scheda kk fiw. 48 potresti spiegarmi da dove devo regolare questo benedetto pid, ossia su cosa devo agire? grazie anticipatamente.
                      Qui ci sono le spiegazioni dell'ultimo firmware
                      RC Groups - View Single Post - Improved firmware for the KK multicopter, also the HK KK.

                      Commenta


                      • #12
                        Originariamente inviato da areis81 Visualizza il messaggio

                        lascio questo pensiero a futura memoria per quanti passeranno di qua per settare bene la board multiwii: PENSATE PRIMA ALLA STRUTTURA! solo dopo toccate il software!
                        quoto, riquoto e straquoto...
                        erano giorni che impazzivo perchè non capivo perchè il mio mezzo oscillasse, quando ormai da più di un mese non l'ho modificato come gruppo propulsivo o telaio...
                        sono sceso di P da 7 a 3,8 e ancora bastava che una mosca starnutisse che lui oscillava un po'...
                        poi oggi in autodromo avuto la folgorazione e mi sono ricordato di una modifica importante che ho fatto: il carrello!! l'ho allungato parecchio, ed è fatto con 2 barre di alluminio piegate, per cui molto flessibile, e finisce con 2 pattini proprio sotto il flusso delle eliche.. e così ho collegato che effettivamente il comportamento è peggiorato da quando ho ingrandito il carrello... per cui probabilmente questo sbatacchia e innesca riverberi strani...
                        stasera sono andato da un team e mi sono fatto accorciare di 9 cm per parte, la U rovesciata .. ho rimontato tutto ma ormai era buio pesto... proverò domattina...
                        e io che cercavo i valori giusti...

                        Commenta


                        • #13
                          domanda sul throttle pid attenuation:

                          come lavora sul pid?

                          esempio, vediamo se me lo confermate
                          ho un TPA a 0.50, questo vuol dire che supponiamo sia in hovering con 50% di gas, il mio PID in realtà sarà un 25% in meno di quello che effettivamente imposto? per impotesi P 10 in realtà è un P 7.5? e cosi a crescere o diminiuri a seconda del gas?
                          Quello che mi interessa è capire in che % influisce sul PiD

                          o lavora in altro modo?
                          tutti i miei video
                          tutte le mie recensioni

                          Commenta


                          • #14
                            Originariamente inviato da kamikazeta Visualizza il messaggio
                            o lavora in altro modo?
                            Lavora così, abbassando il pid (forse solo PI, vado a controllare) ma inizia a diminuire proporzionalmente al comando solo da metà gas in su (cioè da 1500us in poi, se il tuo midrc è 1500).

                            Se lo imposti a 0.5 vuol dire che a tutto gas il pid sarà la metà di quello che hai impostato.
                            Johnny
                            (GTE - Torino)
                            Out of sight, NOT out of mind.

                            Commenta


                            • #15
                              Ciao a tutti, anche io sono nuovo per i quadricotteri.

                              Utilizzo un Multiwii e vi volevo chiedere, dove si possono trovare i valori iniziali di riferimento dal quale partire a settare il quadricottero.

                              grazie a chi mi può aiutare.
                              [COLOR=blue][B][COLOR=blue]- PROTOS 500 - Logo 500 Vstabi - Autogiro

                              Commenta

                              Sto operando...
                              X