EINFÜHRUNG |
Im Zusammenhang mit Maschinen, zu denen auch die Roboter gehören, stellt sich oft das Problem, sie so zu steuern, dass eine bestimmte Messgrösse einen vorgegebenen Wert, den Sollwert, möglichst gut einhält. Beispielsweise soll im Auto der Tempomat eine vorgegebene Geschwindigkeit auch dann einhalten, wenn das Auto eine Steigung oder ein Gefälle durchfährt. Dazu muss ein Regelungssystem mit einem Sensor die aktuelle Geschwindigkeit, den Istwert, bestimmen und mit einem Stellglied die Leistung des Motors entsprechend anpassen, also sozusagen das Gaspedal bedienen. Weitere Beispiele von technischen Regelungssystemen:
Auch viele menschliche Tätigkeiten können als Regelungsprozess aufgefasst werden. Beispiele:
|
SELF-DRIVING CAR |
Das Autofahren ist ein komplexer Regelungsprozess mit vielen Eingangssignalen, die vom Fahrer optisch, aber auch taktil (Kräfte am Körper) erfasst werden. Die geistige Verarbeitung dieser Signale führt zu seinem Verhalten (Drehung des Steuerrades, Drücken der Pedale, usw.).
Schematisch kann man diesen Prozess in einem Regelungskreis aufzeichnen. Der Lichtsensor misst den aktuellen Lichtwert (Istwert) und liefert ihn an den Regler. Dieser vergleicht ihn mit dem gewünschten Wert (Sollwert) auf der grünen Strasse. Aus der Differenz errechnet der Regler gemäss einem von dir zu erfindenden Regleralgorithmus die Steuergrösse für das Fahrwerk, d.h. die zwei Motoren werden entsprechend geschaltet.
Wie du siehst, handelt es sich tatsächlich schematisch um einen "Kreis" vom Fahrzeugsensor, zum Regelungssystem und wieder zurück zu den Fahrzeugmotoren
In deinem Programm verwendest du einen naheliegenden Regelalgorithmus: Ist der Istwert grösser als der Sollwert, so befindet sich das Fahrzeug im gelben Gebiet und du fährst eine Rechtskurve. Ist der Istwert hingegen kleiner als der Sollwert, so befindest es sich im schwarzen Gebiet und du fährst eine Linkskurve. Sonst fährst du geradeaus.
|
MEMO |
Im Simulationsmodus funktioniert die Regelung gut, im Realmodus aber gar nicht. Du merkst sicher warum: Die Messwerte des Sensors schwanken, auch wenn sich der Sensor über einem einheitlich gefärbten Gebiet befindet. Das ist ja auch zu erwarten, da die Helligkeit selbst auf der gleichen Unterlage auf Grund der Beleuchtungsunterschiede, aber auch wegen Messfehlern des Sensors, niemals exakt gleich bleibt. Finde selbst eine Lösung für dieses Problem! Ein sensibler Parameter ist der Kurvenradius bei leftArc() bzw. rightArc(). In kleiner Wert führt zu kleineren "Ausreissern" von der Strasse weg, aber zu einem unruhigen, hin-und-her schwingenden Verhalten
[mehr...
Reglerschwingungen sind ein typisches Fehlverhalten von Regelungsprozessen |
AUFGABEN |
|