-
-
ok,
also für die roll achse wäre das: (für nick natürlich genauso)
roll_error = roll_vorgabe - gyro;
roll_stellwert = K_p * roll_error + rollerrot_int / K_i + K_d * (roll_error - last_roll_error); //die einzelnen Summanden entsprechen P, I und D.
last_roll_error = roll_error;
motor_links = kollektiver_pitch + roll_stellwert + gier;
motor_rechts = kollektiver_pitch - roll_stellwert + gier
diese berechnung wird alle 500µs wiederholt an die Motoren gesendet.
Wie bereits erwähnt fliege ich momentan mit K_i und K_d = 0 es ist also nur der Teil K_p *roll_error wirksam
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen