annuncio

Comprimi
Ancora nessun annuncio.

Naza V2 + GPS

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

  • Originariamente inviato da Spectrum Visualizza il messaggio
    La Dij è riuscita a semplificare in modo efficace ed elegante un ostico problema dei sistemi di controllo automatici.

    Quello che viene definito GAIN è un realtà il risultato di un sofisticato algoritmo di elaborazione dei PID, delizia e incubo per tutti quelli che ci hanno a che fare.



    Ma cos'è 'sto PID?

    E' l'acronimo di Proporzionale, Integrale, Derivativo ed è la base dei sistemi di controllo a Retroreazione.

    Wow! ora che lo sappiamo siamo tutti più contenti.

    Ma vediamo di fare un pò di chiarezza, sempre che questo sia possibile.



    Supponiamo di avere una piattaforma volante, guardacaso un multirotore.

    Siamo in un bel prato, c'e' il sole, le batterie sono cariche e siamo pronti a volare.

    Attiviamo i motori e visto che teoricamente questi hanno una spinta uguale e che la loro spinta sia superiore alla massa totale del velivolo, il coso si solleva in verticale e accelera fino a quando non riduciamo di poco il throttle.

    Purtroppo non viviamo in un mondo perfetto e si dà il caso che il volo del nostro gioiello volante sia insidiato da mille forze nemiche.

    Ad esempio gli ESC non erogano l'esatta potenza ad ogni motore, i motori hanno varie tolleranze costruttive, le eliche non hanno tutte la stessa resa, il centro di spinta (CS) dell'impianto propulsivo non coincide con il centro di gravità (CG) del multi. Oppure semplicemente ci sia del vento che agisca lateralmente.

    Quello che succede lo sappiamo tutti, il coso si inclina fino a ribaltarsi, se non si è pronti con gli stick a compensare l'anomalia.

    A noi non piace passare un quarto d'ora di terrore evitando che il coso vada ad affettare noi, i curiosi o anche gli alberi circostanti. Occorre dunque un sistema di compensazione automatica, che corregga l'assetto senza il nostro intervento.

    Fortunatamente oggi la nanoelettronica ha reso disponibili dei trasduttori che fino a pochi anni fa erano fantascienza.

    Merito anche della ditta italo-francese STM microelectronics, che a messo sul mercato a prezzi abbordabili dei giroscopi e accelerometri a stato solido di altissima precisione e grandi come un chicco di riso.

    Cosa riescono a fare questi micro dispositivi?

    Semplicemente generano un segnale in tensione (o digitale in formato I2C) proporzionale all'inclinazione (per gli accelerometri), oppure la variazione di angolazione (per i giroscopi), cui sono sottoposti. Questi segnali sono fagocitati dal microprocessore di controllo ed usati per attuare le opportune correzioni.

    Semplice no?

    Mica tanto, visto che la risposta di correzione (la cosiddetta RETROREAZIONE) deve essere prima condizionata da determinate regole, anche abbastanza complesse.

    E qui interviene il famigerato PID.



    Abbiamo dunque un segnale (in realtà diversi, ma per semplificare ne consideriamo uno solo), che ci indica che l'inclinazione dell'accelerometro non corrisponde a quella prestabilita. Il processore confronta il valore con quello teorico e per differenza genera il valore dell'errore. Questo valore può essere positivo o negativo e di conseguenza l'intervento di correzione dovrà avere un valore opposto.



    Per prima cosa viene applicato l'algoritmo P (proporzionale) che consiste nel prodotto dell'errore con una costante prestabilita: Risp(P)=errore * k(P)

    La risposta del sistema di correzione è dunque PROPORZIONALE all'errore rilevato. Più alto è il valore della costante k(P), più energico sarà l'intervento applicato.

    In via teorica potrebbe essere sufficiente per risolvere il problema, ma nella realtà del nostro mondo imperfetto ci accorgiamo che in questo modo il segnale d'errore non convergerebbe mai a zero, annullando in questo modo la risposta di correzione, abbiamo dunque bisogno di raffinare l'algoritmo.



    E' stato perciò introdotto il concetto di Integrale (I) che viene modulato dall'integrazione nel tempo di diversi valori dell'errore precedente, moltiplicato per un'altra costante di comodo definita come k(I).

    In sostanza il sistema di controllo ha ora una sorta di "memoria" dei precedenti valori di errore, calcola una media (li "integra") e fa in modo che la riposta del sistema non sia mai nulla.

    Tutto a posto? Siamo ora in grado di compensare adeguatamente l'errore in modo automatico?

    Ovviamente no, o almeno non con la precisione che ci serve.



    E' stato allora inventato anche il parametro DERIVATIVO (D) che cerca di anticipare la risposta del sistema prima che l'errore diventi troppo grande. In sostanza possiamo agire sul TEMPO DI RISPOSTA per contrastare l'errore. In questo modo, più veloce sarà l'errore generato, più rapido sarà l'intervento di correzione.



    Prendiamoci ora un'aspirina per cercare di azzerare il mal di testa generato da quanto letto fin'ora e poi diamo un'occhiata al seguente codice implementato in quasi tutti i controller per multirotori:



    time = millis();

    interval = time - previousTime;

    P = error * kP;

    I = I + (((error + previousError)/2) * interval);

    D = ((error - previousError) / interval)*kD;

    PID = P + (I * kI) + D;

    previousTime = time;

    previousError = error;



    In questo caso si tratta di uno spezzone di codice scritto in linguaggio Wiring, ad esempio usato su hardware Arduino e dunque anche sulla piattaforma Multiwii.

    Notiamo che il segnale di correzione viene generato partendo dal segnale di errore, condizionato dai valori delle costanti da noi impostate per rendere la risposta più o meno intensa, reattiva e veloce. Il segnale complessivo è la somma dei singoli valori di P, I, D.

    Ricordiamoci anche questa procedura viene applicata a tutti valori generati dai sensori, perciò 3 assi per l'accelerometro, 3 assi per il giroscopio, mettiamoci anche il magnetometro e il barometro e possiamo comprendere che carico di lavoro grava sulla CPU.

    In realtà i valori di queste costanti sono strettamente correlati, in quanto anche la minima variazione ha il suo effetto. Scegliere i valori giusti è il risultato di mesi o anni di sperimentazione sul campo, con modifiche delicatissime pena il disastro assicurato.

    Personalmente ho lavorato con il sistema Multiwii per diversi anni, usando la scheda Crius All In One Pro e nonostante l'esperienza accumulata la regolazione di questi parametri era ed è tutt'ora decisamente difficile e critica.



    La DiJ è riuscita a semplificare il tutto e renderlo fruibile ai comuni mortali inserendo delle sue unità di controllo degli algoritmi che creano una perfetta correlazione tra i PID, limitandoci a poter variare solo il famoso GAIN, che integra in modo logico ed accurato i valori dei PID. Magia! un solo valore per poter decidere come volerà il multirotore, senza impazzire con noiosi e perniciosi tentativi.

    Valori bassi renderanno in velivolo molto lento nella retroreazione, con valori TROPPO bassi sarà già a tosare l'erba prima di compensare!

    Con valori alti risulterà più stabile? Non sempre. Tutto dipende dalla configurazione strutturale del multi: dalla sua massa, dal diametro del frame, dalle eliche ecc.

    Questo perchè un telaio pesante, con tanti rotori, con eliche dal diametro importante e grosse Lipo, ha un tempo di reazione superiore ad un quadricottero leggero e con eliche piccole (ricordiamoci anche dell'effetto giroscopico dei rotori).

    La regola generale sarà perciò: Valori bassi per multirotori piccoli e alti per quelli grossi e pesanti.

    Poi dipende dall'uso che ne vogliamo fare:

    Ci serve una piattaforma ultrastabile per riprese video? in questo caso vogliamo risposte più lente e ponderate.

    Oppure ci piacciono le acrobazie? Meglio che sia reattivo e nervoso, anche se meno stabile.

    Tutto qui, semplice no?

    Se avete avuto la pazienza di leggere tutto, ora dovreste avere un'idea più chiara su come operano i sistemi di stabilizzazione dei nostri multirotori.

    Se non sono riuscito nell'intento... non è colpa vostra, ma solo mia



    Saluti a tutti

    Eugenio

















    .

    Spiegazione chiara, completa e soprattutto utilissima!!! Grazie!


    Inviato dal mio iPhone 6 plus utilizzando Tapatalk

    Commenta


    • Originariamente inviato da esponenziale Visualizza il messaggio
      In questo caso ti consiglio gli esponenziali invece del dualrate, con gli esponenziali negativi avrai un comportamento molto dolce nella prima parte della corsa ma manterrai tutta l'ampiezza del comando che può essere molto utile per riprendere il drone in situazioni limite!

      Io uso l'esponenziale sui tre assi quando uso la gopro.

      Anche io faccio lo stesso, infatti.
      Ho chiesto info al riguardo, perché ho scaricato il software companion tx per la mia 9xr,
      E dandogli una prima occhiata, nella sezione dedicata ai modelli predefiniti, ho visto oltre ai soliti, anche un modello denominato "per multirotori" ed andandolo ad osservare, i mix predefiniti, sono appunto così!!
      AIL 50%
      ELE 50%
      THR 100%
      RUD 100%
      Mi ha incuriosito ed ho chiesto info!!!
      Tutto qui, perché infatti, con gli esponenziali, si può addolcire il multi e mantenere tutta la corsa nello stesso tempo.


      Inviato dal mio iPhone 6 plus utilizzando Tapatalk

      Commenta


      • Quando ho visto la lunghezza del messaggio, prima di leggerlo, mi sono un pò demoralizzato e stavo per chiudere.
        Poi la curiosità, si sa', non ti fa resistere e l'ho letto.
        Molto interessante e molto tecnica questa spiegazione.
        Per chi non mastica elettronica, come me, è anche difficile da comprendere.
        Il linea di massima, però, ho carpito le nozioni fondamentali e devo dire che hanno rafforzato ciò che bene o male già sapevo.
        FUTABA T14SG

        Commenta


        • Grazie Spectrum

          Una bella paginetta,spiegata in modo chiaro.
          Molti lettori, timidi di far domande,troveranno una buona base per capire il principio di funzionamento di questi molteplici controller.

          Sergio

          Commenta


          • Originariamente inviato da Spectrum Visualizza il messaggio
            La Dij (= Dji)...
            .............................
            Saluti a tutti
            Eugenio
            .
            ciao Spectrum

            molto interessante la tua relazione in particolare quando spieghi come i tecnici di Dji hanno semplificato questo problema applicandolo alle loro apparecchiature.

            io approfitto di questo tuo spunto per segnalare l'articolo in inglese di Wikipedia
            PID controller - Wikipedia, the free encyclopedia
            che spiega in modo esaustivo il PID fin dalle origini, e il perché è stato inventato

            io il PID l'ho capito solo dopo aver letto questo articolo

            saluti
            Alfio

            Commenta


            • Scusate, ma guardando questo video è interessante il discorso di comandare l'accensione dei led da radiocomando, solo che essendo in tedesco non ci capisco niente. Sapete come si chiamano i due dispositivi che va a montare e a cosa servono esattamente ?
              https://www.youtube.com/watch?v=_xYQtjK__gI

              grazie.
              Quadricottero: DJI Phantom 3 Advanced + Ipad Air 2 Gold 64gb

              Commenta


              • Originariamente inviato da ziodavide Visualizza il messaggio
                Scusate, ma guardando questo video è interessante il discorso di comandare l'accensione dei led da radiocomando, solo che essendo in tedesco non ci capisco niente. Sapete come si chiamano i due dispositivi che va a montare e a cosa servono esattamente ?
                https://www.youtube.com/watch?v=_xYQtjK__gI

                grazie.
                Decisamente OT in questa sezione
                Comunque controller Led collegabile alla Rx e Ubec per alimentarla

                Commenta


                • Ragazzi.. Ho finalmente montato il gimbal sul mio f450. Ho dovuto mettere dei tubi del vecchio carrello altrimenti non sapevo bene dove attaccarlo.
                  La domanda è questa.. Il Drone è parecchio sbilanciato in avanti.. Il gimbal e la GoPro pesano!! La Naza ce la fara a tirare su tutto e stare dritto?

                  Commenta


                  • Originariamente inviato da AmphybiouS Visualizza il messaggio
                    Ragazzi.. Ho finalmente montato il gimbal sul mio f450. Ho dovuto mettere dei tubi del vecchio carrello altrimenti non sapevo bene dove attaccarlo.
                    La domanda è questa.. Il Drone è parecchio sbilanciato in avanti.. Il gimbal e la GoPro pesano!! La Naza ce la fara a tirare su tutto e stare dritto?
                    Per tirarlo su, vai tranquillo.. motorizzazione E300.. io ho in ODV 1.7kg con batt da 5A sobo a 8 min di volo.. cmq dovresti provare a vedere dove si trova il CG in questo momento, ma da come scrivi direi che si trova abbondantemente lontano dalla centralina.. ti consiglierei di bilanciarlo con la batteria spostandola verso la poppa..
                    La probabilità che qualcosa accada è inversamente proporzionale alla sua desiderabilità.

                    Commenta


                    • Quindi sconsigli di prendere il volo col Drone non bilanciato..
                      Si.. Ora il peso è tutto in avanti.. Ma come sposto la batteria indietro..?

                      Commenta


                      • Originariamente inviato da AmphybiouS Visualizza il messaggio
                        Quindi sconsigli di prendere il volo col Drone non bilanciato..
                        assolutamente.. se di poco ci può stare, ma nel tuo caso mi sembra eccessivo..
                        La probabilità che qualcosa accada è inversamente proporzionale alla sua desiderabilità.

                        Commenta


                        • Devo mettere la batteria sul posteriore e non sopra.. Oppure potrei spostare il gimbal e metterlo sotto al Drone, in mezzo alle gambe.. Però poi nelle riprese si vedrebbero le gambe..

                          Commenta


                          • Originariamente inviato da MATTYMEY79 Visualizza il messaggio
                            Io invece credo di si!!!
                            dando comando per avanzare (pitch) il drone non deve perdere quota, "non deve" x modo di dire, poi lo so che una perdita rimane sempre, ma non 4/5 forse anche 6 metri.
                            Inviato dal mio iPhone utilizzando Tapatalk
                            Hai ancora questo problema??
                            Stavo facendo delle prove con il simulatore della radio in quanto stavo cercando una miscelazione particolare..
                            Senza volere ho simulato il tuo problema..

                            Come vedi qui sotto, questo è quello che accade mentre vai avanti

                            e questo quando vai indietro


                            Anche blade l'aveva ipotetizzato
                            Originariamente inviato da Blade-slap Visualizza il messaggio
                            Se dici che hai anche fatto varianti sulla radio , io prima di fasciarmi la testa sul naza , ricontrollerei la radio , non vorrei che ci fossero delle miscelazioni strane.
                            Prova a fare un altro modello e ricominciare.
                            PS: scusate l'OT, ma era per scongiurare che fosse un problema della naza..
                            La probabilità che qualcosa accada è inversamente proporzionale alla sua desiderabilità.

                            Commenta


                            • Originariamente inviato da ziodavide Visualizza il messaggio
                              Scusate, ma guardando questo video è interessante il discorso di comandare l'accensione dei led da radiocomando, solo che essendo in tedesco non ci capisco niente. Sapete come si chiamano i due dispositivi che va a montare e a cosa servono esattamente ?
                              https://www.youtube.com/watch?v=_xYQtjK__gI

                              grazie.

                              Il primo è un BEC da 5 ampere, il secondo è un controller RGB che puoi trovare qui:
                              MWC-Light RGB Controller - HaDi-RC Modellbau

                              Sarà anche bello ma pesa e assorbe energia.
                              Secondo me lo scopo delle luci di navigazione è quello di segnalare la posizione in cui si trova il multirotore.
                              Il più affidabile sistema di FAILSAFE :
                              Un buon fucile da caccia a portata di mano...
                              www.missilistica.it

                              Commenta


                              • per cui basta una striscia led semplicissima da lasciare sempre accesa allora


                                Sent from my iPhone 📱using Tapatalk
                                Quadricottero: DJI Phantom 3 Advanced + Ipad Air 2 Gold 64gb

                                Commenta

                                Sto operando...
                                X