Particle Filter

Eines kann ich beim Filter noch probieren: alle Partikel entfernen die weiter als 10m von der GPS Position entfernt sind. Dann ist er zumindest in der richtigen Ecke vom Grundstück.

Hab das heute getestet,ab 10m Entfernung von der errechnten Position werden Partikel verworfen, und in 3m Umkreis wieder neue erstellt.

Manchmal ist der Filter genauer als Odometrie oder GPS Rohdaten, manchmal nicht. Vorteile nach wie vor in der Nähe von Mauern oder Engstellen. Auf freier Fläche eher ungenauer als GPS.
Im Prinzip streuen alle 3 Ergebnisse +/-2m um die richtige Position.

(100 Partikel)

LG Werner
 
Ich hab jetzt den Filter dauerhaft implementiert.

Funktion:
100 Partikel werden erstellt, müssen auf freier Fläche im Garten sein.

Während der Fahrt werden alle Partikel um die Differenz in x und y die aus der Odometrie ermittelt wird, weiter bewegt. Dazu per Zufall +/-3cm.
Orientierung der Partikel wird nicht ermittelt.
Falls ein Partikel nicht auf freier Fläche ist, also zB im Haus oder außerhalb des Gartens wäre, wird ein neues im Umkreis von 300cm zur letzten Gesamtposition erstellt.
Ebenso falls ein Partikel weiter als 10m von der Gesamtposition entfernt ist.
Die neuen Partikel sollten trotz zufälliger Ermittlung natürlich auch auf einer freien Fläche sein.

Funktioniert nach ein paar Minuten dauerhaft auf ca 2m zur Positionsermittlung durch Odometrie und GPS. In schlechter Empfangslage genauer als GPS.
Den einzigen Einfluss den GPS indirekt hat ist oben, wenn neue Partikel im Umkreis zur Gesamtposition eingefügt oder wegen der 10m Marke entfernt werden, da die Gesamtposition immer wieder mit GPS abgeglichen wird (bei (optimal) 2m bis 7m(schlechter Empfang) Abweichung zur errechneten Position).

Funktioniert umso besser je zerklüfteter der Garten, bzw umso mehr Hindernisse in der Karte eingetragen sind.
Das Hindernisse automatisch in die Karte eingetragen werden, ist ein anderes Thema, Hauptproblem ist der geringe Speicher der Atmegas.
 
Oben