Archivi tag: control loop

SW Dev: modello matematico – correzione e migliorie

ciao,
nel post precedente ho incluso un xls file col modello matematico della dinamica di un quadricottero.
mi sono accorto di un errore banale. calcolavo l’accelerazione usando la velocita’ angolare espressa in rpm % e non in  rpm. Questo portava ad un valore di R.current completamente errato.

In questa nuova versione ho anche aggiunto il calcolo della velocità angolare di equilibrio wh (si veda elica per la spiegazione del calcolo)

control loop rev 2

Di nuovo,se qualcuno interessato, mi invia i dati del proprio quadricottero (lunghezza motore-centro quad ,  massa braccio, massa motore, massa totale ,tipo di elica ,e parametri PID) mi piacerebbe buttarli dentro e validare il modello.

SW Dev: Modello matematico del loop di controllo

Prima di avventurami nello scrivere il codice in python del controllo ho provato a mettere giu il modello matematico che riproduca il comportamento dinamico teorico del quadricottero.Lo potete trovare qui in control_loop.xls.[Rimosso. Vedi qui]

 

Per favore,se qualcuno interessato mi invia i dati del proprio quadricottero (lunghezza motore-centro quad ,  massa braccio, massa motore, massa totale e velocita di hover,e parametri PID) mi piacerebbe buttarli dentro e validare il modello.

Ipotesi iniziali:

  • Quadricottero configurazione +
  • Caso di rotazione Roll

Dati:

  • R.target e’ il valore desiderato
  • R.acc  e’ l’accelerazione angolare ( che calcolo in funzione delle velocita angolari w del motore, al passo precedente

L’equilibrio dimanico e’ dato da:

(F1-F3)b=I R.acc       Kprop(w1^2-w3^2)b= I R.acc

con Kprop=(Mtot*g)/wh^2  I=(Mbar*b^2)12+2*Mmotor*b^2

R.acc=Kprop*(w1^2-w3^2)b/I

  • R.vel  e’ la velocita’ ricavata come integrale di R.acc
  • R.curr e la rotazione teorica del quadricottero ricavata come integrale di R.vel.Tale valore corrisponde il linea teorica al valore che dovrei leggere col giroscopio.

PID

Pertanto questo modello mi permette di  giocare con i parametri P,I,D , vedere come potrebbe oscillare e di ottimizzarli di conseguenza.