[Multicotteri] Elettronica : IMU, MCU, Sensori ed algoritmi di controllo

ciao,
sto mettendo su un simulatore per algoritmi di stabilizzazione del quad. Ne avevo già fatto uno maho perso il codice :smiley:
al momento c'è l'ambiente grafico 3d, il motore fisico, e un quad stilizato.
Ogni update fisico viene chiamato un update della classe QuadLogic, che sarà dove il codice utente viene inserito. (input: angoli x, y, z, posizione x, y, z; output ppm 4 canali)

per ora la logica mantiene un'altezza fissa, è solo P + I, quindi in realtà "galleggia" come una nave sul mare mosso, e setto lo stesso valore PPM su tutti i canali, però carino da vedere come riesce a mantenere la posizone anche da inclinato, credo che si un bug che le forze non sono solidali col quad ma relative al mondo esterno.

in oltre col sinistro del mouse è possibile sparare una pallina per destabilizzare un pò il sistema..

Domani inizio a lavorarci su seriamente (oggi ho montato grafica e fisica, o meglio il framework JME3) e posto il codice su github.

Domanda: qualcuno ha delle curve motore "ppm/velocità", nel senso: quanto velocemente è in grado un motore di cambiare velocità (e di conseguenza spinta) in un dato istante (1/60 di secondo è la risoluzione attuale).
So che la cosa in realtà varia in base a molti fattori blablabla, ma a me basta una media per capire se posso far finta che i motori siano istantanei, o se devo limitare il cambio di impulso generato in base al PPM limitandolo in base al valore precedente.

Poi, volendo implementare anche l'effetto "rotazionario" sarebbe fico sapere quanto velocemente gira il vostro quad in base ai valori PPM... ma qui la cosa si complica. Quando (e se) il mio quad volerà potrò rilavare i dati in volo e quindi tunare il sistema apposta, ma per ora brancolo nel buio, e mi piacerebbe avere almeno una posto dove pre-testare virtualmente la stabilità dei vari algoritmi.