Opened 11 years ago

Closed 11 years ago

#109 closed enhancement (fixed)

Kalibrierungsverhalten für Motorregelung

Reported by: ip Owned by: ip
Priority: minor Milestone: Motorregelung
Component: ct-Bot Keywords: ct-Bot, Motorregelung, Kalibrierung
Cc: Linux: no
Mac OS X: no Windows: no

Description

Es kam die Idee auf, das Einstellen der Regelungsparameter durch ein Verhalten zu unterstüzen und so weit wie möglich zu automatisieren.

Hier der bisherige Stand der Überlegungen:

Einfachste Variante:

for x=0; x<Anzahl_tests; x++)
while( user_nicht_zufrieden) {
   testverhalten(x);
   lasse_User_parameter_Ändern(param_x);
}

Nachteil: Auswahl günstiger Testverhalten. Diese müssen frei von Nebenwirkungen und eigenen Problemchen sein, sonst weiß man nicht, wo gerade etwas schief läuft.

Erweiterte Variante:

for x=0; x<Anzahl_tests; x++) {
  repeat {
    while( zielbedingung_nicht_erfüllt) {
    testverhalten(x);
    modify_parameter(x);
    }
  } until (user_thinks_test_looks_nice());
}


Automatisierte Variante:
Mittelwert der Geschwindigkeit bestimmen und dann die mittlere Abweichung davon.

Formel für den gleitenden Mittelwert: xm = (xm * (1-a) + x * a;
Für die Varianz vm = vm * (1-a)  +  (x-xm)^2* a
alternativ: vm = max(vm , (x-xm)^2)
und vm als Bewertungsfkt ausprobieren. je kleiner vm ist, desto besser
Fehler_gesamt = Fehler_schwingung * Gewichtung + Fehler_benötigte_Zeit * Gewichtung

Code-Grundgerüst:

1. wähle Parameter
2. Lasse den Bot ne Weile drehen und ermittle die Größe der Schwingung (und dabei insbesondere den Mittelwert)
3. wenn kleine Schwingung, dann
3a. halte Bot an und starte neu. Jetzt Zeit messen, bis Varianz klein

xm mit der Sollgeschwindigkeit initialisieren.

Soweit die theoretischen Überlegungen, ob das funktioniert, müsste man mal ausprobieren.

Change History (4)

comment:1 Changed 11 years ago by ip

  • Milestone changed from Zukunftsmusik to Motorregelung

comment:2 Changed 11 years ago by ip

  • Owner changed from somebody to ip

comment:3 Changed 11 years ago by ip

  • Status changed from new to assigned

comment:4 Changed 11 years ago by ip

  • Resolution set to fixed
  • Status changed from assigned to closed

funktioniert soweit ganz gut, allerdings etwas anders als oben beschrieben.

Note: See TracTickets for help on using tickets.