ArduCopter tweaking dei parametri

Significato dei parametri PID

Parametro P = è il coefficiente con il quale il

                     controllore risponde direttamente

                     all'errore

 

Parametro I = consente di correggere un errore

                    in un tempo più o meno lungo

 

Parametro D = rappresenta la forza in diretta

                     opposizione alla velocità del

                     comportamento errato

La modalità stabilize fa parte di tutte le modalità di volo tranne quella acro.

I parametri funzionano in modo simmetrico ad esempio agiscono allo stesso modo su un errore di rollio destro o sinistro.

 

  • STABILIZE_ROLL_P.  STABILIZE_PITCH_P: Controlla la potenza ai motori per raggiungere gli angoli di rollio e beccheggio desiderati
  • STABILIZE_ROLL_I.  STABILIZE_PITCH_I: Usati per la calibrazione fine determinano in quanto tempo vengono raggiunti gli angoli massimi di rollio e beccheggio
  • STABILIZE_ROLL_D.  STABILIZE_PITCH_D: Rallenta le rotazioni del modello impedendogli di oscillare
  • STABILIZE_PITCH_IMAX: Corregge il comportamento di modelli sbilanciati

La modalità acro è quella utilizzata da piloti esperti

 

  • ACRO_RATE_ROLL_P. ACRO_RATE_PITCH_P: Controlla la potenza applicata ai motori per raggiungere gli angoli di rollio e beccheggio desiderati
  • ACRO_RATE_ROLL_I. ACRO_RATE_PITCH_I: Non utilizzati
  • ACRO_RATE_ROLL_D. ACRO_RATE_PITCH_D: Non utilizzati
  • STABILIZE_PITCH_IMAX: Non utilizzato

Controllo dell'imbardata, se il modello tende a piroettare da solo non permettendo di tenere una direzione.

Il parametro P permette di annullare la tendenza a piroettare.

  • YAW_P: Controlla la potenza applicata ai motori per correggere la tendenza a piroettare
  • YAW_I: funziona come un trim per correggere i modelli sbilanciati. Valori più alti comportano una maggiore reattività del controllo
  • YAW_D: Rallenta rotazioni rapide sull'asse di imbardata
  • NAW_LOITER: Controlla il beccheggio in modalità loiter. Determina la velocità di esecuzione della traiettoria
  • NAW_LOITER_P: Valori alti aumentano l'angolo di beccheggio
  • NAW_LOITER_I: Contrasta l'effetto del vento
  • NAW_LOITER_D: Rallenta il comportamento del modello se troppo aggressivo
  • NAW_LOITER_IMAX: Sovracorrezzione angolo di beccheggio per contrastare il vento

NAW_WP: Controlla la velocità del modello verso i waypoints

  • NAW_WP_P: Valori alti più beccheggio e quindi più velocità
  • NAW_WP_I: Controlla l'effetto del vento Valori alti maggior contrasto
  • NAW_WP_D: Rallenta la tendenza del modello ad accellerare troppo bruscamente
  • NAW_WP_IMAX: sovracorrezione dell'angolo di beccheggio per contrastare il vento

THROTTLE_BARO utilizzato per mantenere una posizione fissa utilizzando sensori barometrici e di altitudine

 

  • THROTTLE_BARO_P: Valori di P alti risposta più aggressiva dei motori
  • THROTTLE_BARO_I: Adegua il comportamento dell'acceleratore per compensare il consumo delle batterie
  • THROTTLE_BARO_D: Rallenta la tendenza del modello a salire o scendere troppo bruscamente
  • THROTTLE_BARO_IMAX: Massimo valore di correzzione per il throttle

Se si utilizza una scheda ardupilot diversa dal kit ArduCopter ufficiale, potrebbe essere necessario modificare alcune impostazioni PID (PID è l'acronimo di proporzionale-integrale-derivativo, ed è un metodo di controllo standard.

Potete leggere di più a riguardo qui ).

Si possono impostare i PID in modo interattivo nella scheda di configurazione Planner Missione:

Prestazioni di risoluzione dei problemi di base

  • Il mio elicottero oscilla lentamente quando stabilizzato: Abbassare il guadagno in STABILIZE_ROLL_P, STABILIZE_PITCH_P.
  • Il mio elicottero oscilla rapidamente quando stabilizzato: Abbassare il guadagno in RATE_ROLL_P, RATE_PITCH_P.
  • Il mio elicottero traballa quando scende velocemente: Alza il guadagno in RATE_ROLL_P, RATE_PITCH_P. È possibile ottimizzare la maggior parte di questo comportamento, ma è impossibile scendere senza qualche vacillazione.
  • Il mio elicottero è troppo lento: Abbassare il guadagno in RATE_ROLL_P, RATE_PITCH_P, e non alzare la STABILIZE_ROLL_P, guadagno STABILIZE_PITCH_P.
  • Ho regolato il mio guadagno Rate_P ed è ancora non va bene: forse il guadagno STABILIZE_P è troppo alto. Abbassare un po '(vedi sopra) e provare di nuovo RATE_P.
  • Il mio elicottero si inclina a destra o sinistra 15 °, quando tolgo il controllo: I Motori non sono diritti o gli ESC non sono calibrati. Torcere i motori fino a quando non sono diritti. Eseguire la routine di calibrazione ESC.
  • Dopo un cabio di volo il mio elicottero si appoggia su un lato 10 - 30 °: Accertarsi che i pad filtro APM sono saldati sulla IMU, come mostrato qui . È possibile ottimizzare la correzione della deriva in system.pde. Forse 0,5 superiore se necessario.
  • Il mio elicottero non rimane perfettamente immobile nell'aria: Assicurarsi che il baricentro del elicottero è fermo. Quindi eseguire il comando di livello su una superficie piana. (Tenere premuto per 15 secondi disarmare da richiamare.) È inoltre possibile volare in auto trim modalità in assenza di vento (importante!) ambiente. Qualsiasi vento farà le modifiche apportate a lavorare contro di voi quando il quad ruota di 180 °. È possibile utilizzare il campo radio e finiture roll, ma ricordatevi di ricentrare quando si imposta la tua radio con gli strumenti di configurazione. Utilizzando il trim radio può avere un effetto negativo in modalità semplice quando imbardata. Mai Yaw Trim, il tuo elicottero può cominciare a girare su di esso la propria. (I quad sono anche suscettibili di correnti d'aria. Avranno bisogno di correzioni costante se non si installa un sensore ottico di flusso. Un giorno ...)
  • Il mio elicottero vola bene, ma poi scende un braccio motore in modo irrequieto, mentre in bilico: Il tuo motore può andare male o la vostra proiettili di collegare il motore al CES possono essere in difetto. Vibrazioni da un albero piegato o puntelli non equilibrata può effettuare connessioni proiettile non riescono momentaneamente l'arresto del motore. Un motore con cuscinetti male richiede più potenza a girare. Il Comitato potrebbe essere tagliare per proteggere se stesso. O forse volare abbastanza lento di stallo del motore. Collegare un sensore di corrente tra la batteria e il motore e testare la differenza tra un motore buono e quello cattivo. Se state vedendo più disegnare in quello cattivo, sostituire o risolvere il problema.
  • A bighellonare, il mio elicottero in costante superamento: Prova e aumentare il termine Nav_P. È anche possibile regolare il vostro Io termini perché in alcuni casi, il Nav_I o Loiter_I possibile causa superamento. Rendere il Iterms 0 quando ancora nel vento è il modo migliore per sintonizzarsi Nav_P.
  • La presa alt superiori ai 10 piedi è di circa 1-2m precisa: Questa è veramente la migliore che si può raggiungere. Il sensore baro è sensibile alla luce e al vento. Usare una guarnizione di feltro per proteggerla dal vento e fare attenzione a non incollare il buco e sigillo in su.
  • Il mio elicottero oscilla sempre su e giù nella stiva alt. E alla fine di scendere a terra: Il tuo THROTTLE_P è troppo alta o bassa. Non avete bisogno di un sacco di P sono in possesso di alt. Pensate a quanto si sposta il gas per tenere alt perfettamente. Non molto! Questo è quello che devi fare P. Mi salirà come la batteria scende al di sotto a fare la differenza.
  • Ho un sonar installato ma non riesco a farlo funzionare. Il sonar può far salire il rumore elettrico dal CES. Assicurati di spostarlo a pochi centimetri da qualsiasi CES e provare un cavo schermato, se possibile.

In volo messa a punto

È possibile regolare i parametri in volo. Il valore principale da sintonizzare è il valore Rate_P. Questo valore regola l'elicottero se:

  • fuori controllo (troppo bassa)
  • stabile (giusto)
  • lento (un po 'troppo alta)
  • o oscillanti (troppo alto)

Un'altra opzione molto utile è l'impostazione Max Pitch durante il test automatico. In questo modo controlla la velocità elicottero verso waypoint.

Un valore basso impedirà all'elicottero la navigazione, un valore alto causerà un volo molto veloce verso il waypoint.


Come PIs lavoro:

P è la diretta risposta proporzionale all'errore. Se si è inclinato a 25 ° e si desidera 0 °, si ha un errore di -2500 x 0,54 come l'uscita dell'equazione. Questo viene convertito in PWM (x 0,1) e questo è il valore (135pwm) ha inviato ai motori per correggere l'angolo. È possibile limitare l'errore in entrata per rallentare la rampa del termine io.

D rappresenta una forza opposta che è direttamente proporzionale al tasso di cambiamento. Quindi, se siete di rotazione troppo veloce, D saranno utilizzati per contrastare la rotazione e rallentare se. La maggior parte delle persone hanno le braccia corte e potenti motori, vale a dire la loro elicottero sarà sempre correggere l'angolo troppo veloce. Quindi, un termine poco D è usato per rallentarlo. La tensione tra P e D sono ciò che rende l'elicottero agile.

Come potete immaginare, troppo grande di una forza opposta vi darà l'effetto opposto. Non ti rallenta, ti retromarcia! Così D può essere troppo grande. Non fare D un valore negativo, lo farà solo il problema superamento originale peggio. Se avete un elicottero molto lento, non è necessario D affatto, ma le prestazioni saranno pigri.

Io è un valore che consente di correggere un errore nel corso del tempo. Si costruisce lentamente a superare forze esterne ti impedisce di colmare il divario nel vostro errore. Io costruisce aggiungendo l'errore che viene moltiplicato per il ITerm a scala verso il basso. Il ITerm determina quanto tempo ci vuole per scalare al suo valore massimo (o minimo), chiamata IMAX.

Il nuovo controller per AC2 è una variazione sul concetto di cui sopra. Prendiamo l'errore di angolo e di generare un tasso di rotazione desiderato. Questo tasso di rotazione (in gradi) viene confrontato con il tasso attuale e moltiplicato Rate_P. Il valore viene convertito in PWM e inviati ai motori. Questo ci dà numerosi vantaggi come la possibilità di specificare la velocità desiderata di cambiamento viaggio, la rotazione o l'altitudine. E ci dà anche un secondo ho termine per controllare come dobbiamo compensare per ottenere la velocità desiderata.

Che cosa significa per le prestazioni PID

Stabilizzare viene utilizzato per tutte le modalità tranne Acro. E 'destinato ad essere simmetrico, ma rollio e beccheggio sono scoppiate in modo da poter calibrare un elicottero che sta portando un carico di 1 asse.

  • STABILIZE_ROLL_P, STABILIZE_PITCH_P: La quantità di potenza da applicare per ottenere l'angolo desiderio. I motori più deboli bisogno P.
  • STABILIZE_ROLL_I, STABILIZE_PITCH_I: Utilizzato per affinare l'equilibrio, non c'è bisogno reale di toccare questo. Definisce il tempo necessario per ottenere un valore max. Più alto = più veloce.
  • RATE_ROLL_P, RATE_PITCH_P: il valore più importante. Sarà lenta rotazione del quad in modo da non oscillare. Rendere questo il più basso possibile, mentre fiduciosi l'elicottero può recuperare da manovre rapide.
  • RATE_ROLL_I, RATE_PITCH_I: usato per tenere un angolo in modo Acro.
  • STABILIZE_PITCH_IMAX: Importo massimo per correggere quad sbilanciato.

Yaw è usato per tenere un angolo particolare Yaw. Se il vostro elicottero vuole girare, naturalmente, non sarà in grado di tenere una rubrica esatta. Avrete invece deriva pochi gradi fino a quando P si significativamente alto per arrestare la rotazione.

  • STABILIZE_YAW_P: quantità di energia utilizzata per correggere l'imbardata voce.
  • STABILIZE_YAW_I: Agisce come un assetto per superare poveri equilibrio elicottero. Definisce il tempo necessario per ottenere un valore max. Più alto = più veloce.
  • RATE_YAW_P: utilizzato per controllare la velocità di imbardata.
  • RATE_YAW_I: non utilizzato

NAV_LOITER viene utilizzato per controllare quanto ci passo verso l'obiettivo bighellonare durante il tentativo di occupare una posizione.

  • NAV_LOITER_P: La velocità con cui è necessario l'elicottero per spostare verso l'obiettivo WP
  • NAV_LOITER_I: Lascia questo come zero, o avrete superamento.
  • NAV_LOITER_IMAX: Lascia questo come zero, o avrete superamento.

NAV_WP è usato per controllare il tasso di velocità l'elicottero verso il bersaglio.

  • NAV_WP_P: usiamo la nostra velocità (4,5 m / s) offset come l'errore. numero più alto = passo
  • NAV_WP_I: ci permette di dilagare contro il vento. Rampe di maggior valore più velocemente.
  • NAV_WP_IMAX: Quantità di Pitch possiamo aggiungere a superare vento

GAS è utilizzata per tenere una posizione utilizzando il sensore di pressione barometrica relativamente rumorosi.

  • THROTTLE_P: La nostra altezza = nostra errror. Superiore P indica la risposta del motore più aggressivo.
  • THROTTLE_I: ci permette di regolare con precisione l'uscita del gas in quanto la batteria scende al di sotto.
  • THROTTLE_IMAX: Quantità di PWM si può regolare.