Beta1test. Alcune considerazioni

Durante gli ultimi giorni ho affettuato dei tet con il seguente setup:

  • Throttle speed = 30 (Questo valore non permette al drone di volare ma può farlo bilanciare sulla semisfera montata sulla base ).
  • Roll target=pitch target =0.
  • Command =1 ( solo il controllore PID per il roll è attivo). In questa modalità motor1 e motor 3 ( pitch) ruotano alla velocità di throttle.
  • PID k : li ho variati nei diversi test per poter avere un primo confronto.
  • Cycletime = 10ms.

Analizzando i logs salvati ho raccolto le seguetni considerazioni :

  • Il  cycle time medio è = 11ms, con alcuni picchi fino a 21ms.Questo è un punto fondamentale che devo chiarire.beta1_cycletime
  • Ho bisogno di comparare dati dai diversi  threads (main loop esensor per il momento).Cosi’ ho modificato il codice includendo una colonna del tempo assoluto.
  • When I switch from command 0 (no PID controller) to 1 (roll PID controller) I notice a pick on the motor speed. I find a bug: one data initialization missing.Now it is corrected.
  • Nell’istante in cui passo da command 0 a 1 ci impiega circa 1,5 sec a tentare di bilanciarsi anche se la differenza fra le velocità motori è elevata. Possibile spiegazione (da investigare) è l’effetto dellinerzia all’avvio del movimento. Dovrei provare con permettere una maggiore differenza di velocità
  • Per ora il miglior risultato si è ottenuto con Kp= 0.6 Ki=0 Kd=0.5. Voglio provare aumentando un poco  Kp e riducendo Kd.beta1_balancing

 

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...