Roboter Position Filtern

Mindstorms und Delphi, Basic...
Läuft etwas nicht? für den NXT

Moderator: Moderatoren

Sallac
Schreibt viel
Schreibt viel
Beiträge: 154
Registriert: 20. Sep 2007 12:45

Roboter Position Filtern

Beitragvon Sallac » 21. Nov 2007 08:52

Hi,

vielleicht kennt sich zufällig jemand mit dem Thema aus oder kennt einen guten Link:

Ich wollte vor kurzem wissen, wie man die Position des Roboters anhand der Motor Rotation berechnen kann:
http://www.mindstormsforum.de/viewtopic.php?t=2352

Jetzt bräuchte ich eine Methode, um die x-y Koordinaten und Winkelausrichtung zu filtern, damit die Position genauer berechnet werden kann.
(Kalman Filter oder ähnliches, ich weiss, ohne Landmarken geht das nicht lange gut, aber ...)

Ideal wäre natürlich eine Seite, wo gezeigt wird, wie ein Kalman Filter mit einem NXT benutzt wird.
Danke für eure Hilfe, ich such seit ein paar Tagen und finde nichts verwertbares.

Rabenauge
Enorm-Viel-Schreiber
Enorm-Viel-Schreiber
Beiträge: 662
Registriert: 2. Mär 2007 18:26

Beitragvon Rabenauge » 21. Nov 2007 11:07

Scheint leider wirklich wenige zu geben, die sich damit auseinandersetzen.
Dummerweise habe ich das Navigator-Projekt _erstmal_ auf Eis gelegt...kommt aber wieder hervor, irgendwann. Die Sache ist viel zu interessant, um sie nicht weiter zu verfolgen.

Deine Aufgabenstellung aber ist etwas anders, wenn ichs recht verstanden habe: dir geht es darum, einen Raum zu erkunden und eine Karte davon zu zeichnen, richtig?
Wobei ich "Raum" mal im weiteren Sinne sehe.
Leider hab ich- noch immer (wird vorerst auch so bleiben) keinen NXT, aber in Verbindung mit dem Sonar sähe ich da schon Möglichkeiten...
Du kannst Ja beispielsweise Wände und auch Ecken recht gut erfassen.
Ist nicht fertiggedacht jetzt (muss nebenbei gerade meinen RCX füttern), aber wäre es für den Anfang nicht gut, einen _wirklich_ geschlossenen Raum zu benutzen? Dann nämlich kannst du erstmal ringsherum fahren und hast schonmal einen Grundriss.
Diesen kannst du gewissermassen als Kartenrand benutzen- in Verbindung mit den zurückgelegten Entfernungen, die sich- wie im anderen Fred ja schon gesagt- _einigermassen genau- ermitteln lassen kannst du den NXT aus diesem Grundriss mittels eines Rasters (so genau es eben sein soll) doch schon eine leere Karte anlegen lassen.
Nachdem das so steht, kannst du ihn quadratdezimeterweise den Raum erkunden lassen und andere Hindernisse "einzeichnen".
Das ganze müsste man softwaretechnisch als eine Art zweidimensionale Matrix anlegen, dann brauchts in jedem Feld nur Ja (Hindernis) oder Nein (Frei), wie beim bekannten Schiffe versenken.
So füllt sich die Map nach und nach.
Vorteile dabei: der NXT kann sich dann später anhand von Besonderheiten oder der Anordnung der Hindernisse im Raum tatsächlich ohne weitere Baken oder ähnliches orientieren (ich muss jetzt nen Meter links neben der Türe sein)!
___________________________________
„Ist es wahr, dass die Sowietunion bei der Mikrotechnologie besser als die USA ist?“
"Im Prinzip ja. Wir fertigen die größten Mikrochips der Welt."

Sallac
Schreibt viel
Schreibt viel
Beiträge: 154
Registriert: 20. Sep 2007 12:45

Beitragvon Sallac » 21. Nov 2007 14:14

Rabenauge hat geschrieben:Deine Aufgabenstellung aber ist etwas anders, wenn ichs recht verstanden habe: dir geht es darum, einen Raum zu erkunden und eine Karte davon zu zeichnen, richtig?

Ja.
Rabenauge hat geschrieben:Diesen kannst du gewissermassen als Kartenrand benutzen- in Verbindung mit den zurückgelegten Entfernungen, die sich- wie im anderen Fred ja schon gesagt- _einigermassen genau- ermitteln lassen kannst du den NXT aus diesem Grundriss mittels eines Rasters (so genau es eben sein soll)

Du hast Recht aber das Problem dabei ist: Es kostet Zeit. Je genauer die Koordinaten über die Motor Rotation berechnet werden,
desto weniger häufig muss die Position korrigiert werden. Eine Korrektur ist auch nicht immer möglich.
(Bsp.: NXT sieht gerade keine Hindernisse. Dann kann der NXT nur die "normale" Positionsberechnung benutzen.)

Je besser die Schätzung der Position, desto genauer ist später die Karte.

Rabenauge
Enorm-Viel-Schreiber
Enorm-Viel-Schreiber
Beiträge: 662
Registriert: 2. Mär 2007 18:26

Beitragvon Rabenauge » 21. Nov 2007 22:04

Klar. Aber er hat immer (abgesehen von riesigen Räumen) notfalls die Möglichkeit, sich die nächste Wand zu suchen und an der langzufahren, bis er seinen aktuellen Standort wieder kennt.
Das dürfte aber in Räumen _normaler_ Grösse nicht nötig sein, denn die Koppelnavigation funktioniert bei geeigneter Bauweise (und Programmierung) mit Abweichungen von weniger als 10cm pro Meter- für die _meisten_ Anwendungsfälle wohl ausreichend.
Zumal du ja die Möglichkeit hast, ab und an den Standort wieder genauer abzugleichen-spätestens an jeder Wand.
Viel besser wird es -leider- mit den eingeschränkten Möglichkeiten (Lego) nicht klappen, denke ich.
___________________________________

„Ist es wahr, dass die Sowietunion bei der Mikrotechnologie besser als die USA ist?“

"Im Prinzip ja. Wir fertigen die größten Mikrochips der Welt."


Zurück zu „sonstige Software und Software-Probleme“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste

Lego Mindstorms EV3, NXT und RCX Forum : Haftungsauschluss