Das Update des Sollwertes für die Lageregelung (dem Punkt auf dem Pfad, den ich als nächstes in gerader Linie ansteuern kann) basiert bei mir auf mehreren Ereignissen:
- Die Auswertung des SLAMs (Takt 1s) korrigiert ja die Position. Wenn ich also nach dieser Korrektur sehe, dass der Roboter vom Pfad abweicht, muss ich ihm einen neuen Sollwert verpassen.
- Der Roboter gibt zyklisch (250ms) seine Odometrie-Pose zurück. Erreicht er dabei auf dem Pfad einen Knick, bekommt er einen neuen Sollwert. (Richtungsänderung und Strecke macht der Regler alleine)
- Nach Neuberechnung des Pfades (oder eines Teilstückes) wird der Sollwert instant aktualisiert. Ursache der Pfadänderung kann eine neue Zielvorgabe sein (fahre woanders hin) oder auch ein auf dem Pfad liegendes neu detektiertes Hindernis (Teilneuberechnung zum Umfahren des Hindernisses). Auf jeden Fall treten diese Ereignisse nicht zyklisch auf.
Lesezeichen