Wie kommst du mit der Positionsbestimmung klar?
Mir gehts um längere strecken, wie legst du die anfangsposi fest?
Wie kommst du mit der Positionsbestimmung klar?
Mir gehts um längere strecken, wie legst du die anfangsposi fest?
Ich hab zwei unterschiedliche Zugänge bzw. Anforderungen an meinen Bot. Das erste ist die Outdoor-Navigation. Da arbeite ich mit GPS, Kompass, OSM Kartenmaterial und natürlich mit den Odometriedaten. Die Anfangsposition ermittle ich hier per GPS. Abhängig von der Genauigkeit versuche ich das mit optischen Einflüssen noch zu verfeinern. Z.B. geben mir die GPS Daten eine Position die auf einem Haus liegen oder in einer Wiese - sprich in einem nicht befahrbaren Bereich, werden die Daten bis zur nächste Straße/Weg geändert – dass ist dann meine Startposition. Die weitere Navigation ist immer ein Zusammenspiel/Abgleich aus GPS, Kompass, optische Information und Odometrie.
Die Indoor-Navigation (entsteht gerade) ist auch wieder zweigeteilt.
In beiden Fällen besteht das Problem, dass beim Starten eigentlich kein 0-Punkt vorhanden ist – außer man verwendet Orientierungspunkte die immer sichtbar sind. Ansonsten kann man den Bot nur mal losschicken und er muss einen Punkt finden der Eindeutig zuordenbar ist – ab dem Zeitpunkt ist klar wo man ist.
- Wenn eine Map zur Verfügung steht versuche ich aufgrund dieser markante Punkte zu finden. Auffällige Winkel, Türen, usw – da existiert derzeit noch nicht allzu viel, scheint auch nicht ganz so einfach zu sein.
- Wenn es keine Map gibt, fährt mein Bot mal alles ab und erstellt sich eine Map. Hier versuche ich ebenfalls auffällige Punkte zu finden und mir zu speichern. Diese Punkte dienen dann für die weitere Justierung. D.h. immer wenn solch ein Punkt gefunden wird, wird die bis dahin aufgetretenen Abweichung korrigiert.
Die Indoor Navi funktioniert derzeit rudimentär (eher schlecht als recht) – Objekterkennung mache ich mit emgu (openCV). Ich hab den Vorteil dass ich z.T. auffällige Möbel (fixer Standort) i. d. Wohnung habe die per Objekterkennung gut erkannt werden. Das erleichtert das Finden von markanten Punkten. Derzeit kämpf ich damit, dass wenn ein Objekt erkannt wird ich die Winkelumrechnungen richtig mache um die Position des Bot´s zu errechnen – das funktioniert noch nicht so richtig.
Längere Strecken sind im Outdoor Bereich nicht so sehr das Problem – sofern GPS vorhanden oder die Wege/Straßen gut erkannt werden. Im Indoor versuche ich lange Strecken zu vermeiden und so viel als möglich Zwischenpunkte zu haben bei denen ich nachjustieren kann.
Was sind Deine Ansätze zu der Problematik?
____________________________________________
Mehr Infos zu meinem Projekt unter: http://www.aurob.com
Naja ich bin noch in der Planung, bzw schon lange.
Und daran würde mein Projekt ebend scheitern.
Bei mir geht es aber nur um die Indoor navigation.
An OpenCV hatte ich auch gedacht - wird aber komplex in der Programmierung.
An extra gesetzte orientierungspunkte hatte ich gedacht (Infrarot oder ähnliches, was dann auch nur der Bot sieht).
Aber wie du schon sagtest, es gibt keinen richtigen start punkt.
Das mit der Karte hatte ich auch vor - wie genau erstellst du diese?
Die Karte versuche ich mir mit der Kinect aufzubauen - da bin ich aber gerade am Rumentwickeln, ist nicht so ganz einfach. Die Objekterkennung mit OpenCV ist nicht sehr kompliziert und funktioniert wirklich rel. einfach.
____________________________________________
Mehr Infos zu meinem Projekt unter: http://www.aurob.com
Lesezeichen