Filtro Kalman...dubbi...

Mentre attendo la merce dalla dogana ho deciso di affrontare il famoso “Filtro di Kalman”… (titolo da film) :astonished:

dopo che ho adattato il listato a WMp e Nunchuk(per l’accelerometro e giroscopio) vengo al punto… perche sommare P+I+D…

a me servirebbe un +/-Nord +/-Sud +/-Est +/-Ovest…

come li ottongo con questo valore? secondo me potrei ottenere soltanto… ±Nord ±Sud… in base a come è orientato il PCB.

Esempio:
float coefP = (float) totalcoef[0] * 5 / 1024;
float coefI = (float) totalcoef[1] * 5 / 1024;
float coefD = (float) totalcoef[2] * 5 / 1024;

P = myangle * coefP;
I = (I + myangle) * coefI;
if(I * myangle < 0)
I = 0;

D = (myangle - oldAngle) * coefD; //ROLL

pid = P+I+D;
if(pid<20){
stica = map(pid, -50,14,0,90);
//SERVO GRUPPO 1-2?
}
if(pid>20){
stica = map(pid, 14,78,90,180);
//SERVO GRUPPO 3-4?
}

io non posso aiutarti, sono nuovo...
però mi interessa l'argomento.
sembra che quello che stai scrivendo sia un seguito di messaggi o argomenti precedenti; potresti darmene il link?

il 70%-80% del codice l'ho trovato sul forum cercando: "Kalman" :wink: ci sono molti listati, (alcuni in inglese contengono errori perche sono copiati e ri-copiati..con variabili inutilizzate ecc ecc.. MEGLIO QUELLI IN ITA)