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

a parte che metà delle formule che citi senza usare le paretesi cambiano se scegli la convenzione di partire da sinistra o da destra per svolgere le operazioni.

comunqe X * a == Z/(1/a), poi mi pare errata del secondo blocco:

I = I + (P * durata loop) / kI;

se i è l'errore precedente ok, è "simile" a fare [valore errore * ?t (durata loop) ]

e del primo blocco

valore errore - valore errore loop precedente / ?t (durata loop)

quì non compare il termine D, ma se lo aggiungi moltiplicando il tutto vedrai che basandoti sul fatto che in realtà la PID del primo blocco è 1/PID del secondo e tutto torna