Danke für die schnelle Antwort. Zusätzliche Sensoren sind natürlich ein Weg. Dann muss ich mich mal in die Filterung einarbeiten.
Ein Ansatz die vorhandene Map und die Laserscanner Daten zu nutzen wäre auch noch gut.
Danke für die schnelle Antwort. Zusätzliche Sensoren sind natürlich ein Weg. Dann muss ich mich mal in die Filterung einarbeiten.
Ein Ansatz die vorhandene Map und die Laserscanner Daten zu nutzen wäre auch noch gut.
Den einzigen meines Wissens nach möglichen Weg mit den vorhandenen Sensoren um eben den Drift zu kompensieren ist die Messung einer bekannten Größe, also der Weg den du bereits vorgeschlagen hast.
Was daran aber zu optimieren möglich wäre, wäre eine Messung und Map Bildung an einer beliebigen Stelle am Raum. Wenn du nun z.B. deine Lidar Messung durch Filtern vieler einzelner Messwerte an dieser Stelle möglichst präzise machst (Da gibt es schöne Ansätze die von einer Gausverteilung der Lidarmesswerte ausgehen) kannst du versuchen die Messwerte die du an der Stelle hast eindeutig in deiner Map zu verorten. Dadurch könntest du Fehler bezüglich deiner derzeitigen Position beheben.
Ich sehe schon .. wird nicht einfach. Danke für den Input.
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
Wie wäre es den Pi2 zu nehmen und dann mit ROS SLAM umzusetzen?
Kostet auch nur ca 35€, A7-Quadcore
Das auslesen von Merkmalen geht ja schon Richtung SLAM. Nur, dass es nicht permanent gemacht wird.
Mit dem Pi2 wird SLAM langsam möglich. Wäre zu überlegen.
Lesezeichen