Hi,
koerc hat geschrieben:Leider führt er immer einen Tanz auf wenn SPEED_CONTROL_AVAILABLE aktiv ist. Er fährt langsam an, bremst, steht, fährt weiter um dann ruckartig 2-3 rechts Drehungen um ca. 45 Grad zu fahren und so weiter.
dafür gibt es zwei typische Gründe: Entweder sind die Parameter für die Regelung völlig daneben (wenn sie nicht optimal, aber zumindest im passenden Bereich sind, wird die Geschwindigkeit nicht exakt eingehalten, es kommt dann aber nicht so zu extremen Auswirkungen) oder die Daten der Radencoder sind schlecht. Ich würde zuerst mal überprüfen, ob die Radencoder auch wirklich jede Flanke melden, das erspart evtl. viel weiteres Suchen und Probieren.
koerc hat geschrieben:Ich habe inzwischen 3 mal das bot_calibrate_pid Verhalten komplett durchlaufen lassen und 3 unterschiedliche Werte kombination erhalten. Alle habe ich (nacheinander) in Code eingetragen und diese samt der .eep Datei auf den Bot geschrieben. Das EEprom Abbild scheint auch anzukommen. Ich hab da mal die Distanzsensorewerte so manipuliert das man das merkt.
Die Parameter kommen nicht ins EEPROM, sondern aus Performance-Gründen ins Flash. Du brauchst die eep-Datei also dafür nicht erneut übertragen.
koerc hat geschrieben:Ich habe folgende Werte Kombination erhalten (immer Kp, Ki, Kd)
32, 26,54
102,3,5
52,22,10
schon sehr unterschiedlich,oder?
Grundsätzlich findet das Verhalten nicht die optimale Lösung, sondern soll nach guten Werten suchen. Es kann durchaus verschiedene Kombinationen mit dem gleichen Ergebnis geben.
Von den Werten sieht 52,22,10 am besten aus. Der Kd-Anteil wirkt sich recht aggressiv aus, am besten setzt du den zunächst mal auf 0. Wenn es dann ganz gut funktioniert, kannst du Kd langsam erhöhen, um die Geschwindigkeit der Regelung zu verbessern.
Vielleicht hilft das schon mal etwas weiter. Es empfiehlt sich auf jeden Fall ADJUST_PID_PARAMS einzuschalten, um per Fernbedienung die Parameter noch nachjustieren zu können. Eigentlich müsstest du recht schnell merken, dass zu kleine Werte zu einem zu langsamen Verhalten führen und zu große zu unkontrollierten Ausreißern.
Gruß,
Timo