Absender: Timo Sandmann
Datum: Sa, 13.09.2008 14:16:36
In-reply-to:
<48CA72F2.1090609@xxxxxxxxxxxx>
References:
<48CA72F2.1090609@xxxxxxxxxxxx>
Hi, Am 12.09.2008 um 15:47 schrieb peter könig:
Das ganze läuft auf SLAM hinaus -- Simultaneous Localization and Mapping. <http://de.wikipedia.org/wiki/Simultaneous_Localization_and_Mapping> Denn der Bot muss natürlich schon während er die Karte erstellt,eigentlich immer wissen, wo er sich gerade auf der Karte befindet, sonstkann er neu kartografierte Gebiete ja schlecht anfügen.
prinzipiell wäre natürlich auch noch denkbar, dass der Bot zunächst eine temporäre Karte erstellt, diese nach einiger Zeit mit einer vorgegebenen (Haupt-) Karte (die schon Hindernisse enthält) vergleicht, aus dem Versatz seine Position berechnet und die temporäre Karte in die Hauptkarte überträgt (--> "Map matching", dazu habe ich allerdings auf die Schnelle auch keinen Algorithmus gefunden, der auf dem Bot laufen könnte). SLAM ist natürlich deutlich eleganter, aber eben auch recht aufwendig.
Vielleicht findet sich auf <http://www.openslam.org/> ja ein Algorithmus, den man passend machen kann. Reichlich mathematisch, auch schon betagt, aber immerhin von Koryphäen geschrieben (Sebastian Thrun!), ist dieses Paper: <http://cogvis.nada.kth.se/~hic/SLAM/Papers/museum-ai-00.pdf>. Der beschriebene probabilistische Ansatz ist allerdings für den c't-Bot wahrscheinlich wirklich zu rechenaufwendig.
Danke, das Paper ist sehr interessant! :-)Bei dem dort beschriebenen Ansatz, sind die Module für Lokalisierung und Mapping ja auch extern ausgelagert (die Karte liegt vermutlich auch nicht im Speicher eines der On-Board-Rechner, sondern im RAM einer externen Maschine). Vielleicht sollten wir doch noch mal überlegen, ob die Auslagerung der Karte auf einen PC auch beim ct-Bot eine sinnvolle Alternative wäre (wenn man so etwas wie SLAM möchte)? Zumindest für den Fall, dass sich keine Möglichkeit finden lässt SLAM auf dem Bot ohne Zusatzhardware einsetzen zu können? Ich schätze, alle probabilistischen Ansätze, die dann auf Partikel- Filtern beruhen, werden viel mehr Speicher benötigen, als auf den ATmegas zur Verfügung steht.
Viele Grüße, Timo