Hmm, mir schwebt schon seit längerem vor:
- Linien/Ecken aus Scandaten als prägnante Merkmale extrahieren
- Neue Position berechnen, an der Du Linien/Ecken noch erkennen kannst
- Position ansteuern
- Anhand des Vergleiches von Linien/Ecken die Position korrigieren.
- Erst danach neue Merkmale aus Sicht der neuen Position in die Map eintragen

Das wäre also eine Rückkopplung des aktuellen Scans auf das Fahrverhalten (fahre gezielt dorthin, wo Du genug Anhaltspunkte zur Orientierung hast). Ob man beim Durchqueren einer Wohnung allerdings diesen unschönen Drift über lange Zeit wegbekommt? Wohl eher dadurch, dass man das ClosedLoop-Problem auf kleinere Loops begrenzt (Also ggf. so lange einen Raumteil oder einen Raum befährt, bis sich ein schlüssiges(***) Bild ergibt und sich erst danach neuem zu explorierenden Terrain widmet). Auch das wäre sicherlich ein Argument, das Fahrverhalten beim Explorieren von Terrain zu nutzen.


(*** Ich glaube "schlüssig" ist bei GridMaps generell das Kernproblem. Vektorbasierte Maps lassen ggf. eine bessere Fehlerkorrektur zu. Wenn Du z.B. einer Wand folgst, dadurch zwei teilüberlagernde Linien in zwei aufeinanderfolgenden Scans ermittelst, ist es doch eigentlich ganz gut, wenn Du den ermittelten Winkelfehler von 0,5° in der Map wegoptimierst und stattdessen den Winkel des BOTS korrigieren kannst.)


Gruß
Horst