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.