Positionsbestimmung auf Zentimeter genau (Indoor)

  • Hallo liebe Community,

    Mein Bruder und sein RC-Traktor haben mich heute Vormittag auf eine Idee gebracht die mir nicht mehr aus dem Kopf will.
    Ich würde gerne ein autonomes Fahrzeug zusammenbasteln, welches in der Wohnung herumfahren kann. (Wozu weiß ich nicht... Aber wär doch eine nette Spielerei :lol:)

    Allerdings weiß ich nicht wie sich das Teil dann orientieren soll... (D-)GPS ist bei weitem zu ungenau und im Haus sowieso nicht verfügbar.

    Zuerst hab ich an Positionsbestimmung per Kamera und einem Muster an Decke und Wänden gedacht. Allerdings fehlt mir dazu das Know-How und vermutlich wäre meine Familie auch nicht grade von den undekorativen Klebeband-Symbolen begeistert :D

    Meine nächste Idee wäre eine Bestimmung per Ultraschall, allerdings müsste ich dann überall uController mit Ultraschallmodul aufhängen... auch keine Option.

    Vll. hat ja einer von euch eine Idee wie man sowas umsetzen kann, wie gesagt die erforderlich Präzision beträgt einige (allerhöchstens 3) Zentimeter, denn es muss ja auch zuverlässig zum Beispiel die Ladestation aufgesucht werden können und ständig an Türrahmen u.ä. hängenbleiben is auch ned so toll :shy:

    lg, couka

    Entschuldigt bitte den Doppelpost, war nicht beabsichtigt :s

    Einmal editiert, zuletzt von couka (9. März 2014 um 20:43)

  • Meine nächste Idee wäre eine Bestimmung per Ultraschall, allerdings müsste ich dann überall uController mit Ultraschallmodul aufhängen... auch keine Option.

    Vll. hat ja einer von euch eine Idee wie man sowas umsetzen kann, wie gesagt die erforderlich Präzision beträgt einige (allerhöchstens 3) Zentimeter, denn es muss ja auch zuverlässig zum Beispiel die Ladestation aufgesucht werden können und ständig an Türrahmen u.ä. hängenbleiben is auch ned so toll :shy:

    lg, couka

    Entschuldigt bitte den Doppelpost, war nicht beabsichtigt :s

    Ich möchte mal kurz festhalten, dass ich keine Praxiserfahrung mit diesen Sensoren habe, aber ich verstehe nicht ganz was du damit meinst die Position mit Ultraschallmodulen die du überall aufhängst festzulugen....


    Naja, mir würde da noch was einfallen: müsstest dazu aber auch 3 Sender in den Raum stellen.. Dann kann man (Handyortungsstyle) durch einen Empfänger feststellen, wie gut der Empfang zu den Sendern ist. Anhand dessen kann man festlegen wie weit der Empfänger vom Sender entfernt ist (wie GPS eben) und durch den "gemeinsamen Punkt" feststellen, wo sich etwas befindet... Wenn du das mit den richtigen Sendern machst (nix starkes natürlich, sehr schwach!!), dann könnte das gehen... Desto mehr Sender, desto besser ;)

  • Bei GPS wird allerdings nicht mit der Signalstärke gearbeitet, sondern mit den Laufzeitunterschieden. Und genauso hab ich mir das auch bei den Ultraschallsensoren gedacht:

    3 Module pro Zimmer, der Abstand zu jedem Modul wird per Laufzeitmessung bestimmt (trivial) und daraus die Position berechnet.

    Allerdings, wie gesagt, sehr unschöne Umsetzung... Würde am liebsten nur auf dem Roboter selber Sensoren haben...

    lg, couka

  • Also ich würde das Fahrzeug beim fahren Lernen lassen, nehmen wir an es gibt Sensoren die feststellen wenn der Wagen gegen die Wand fährt, jede Fahrt aber genau geloggt wird kann sich dein Wagen nach und nach selber die Form und Größe beibringen... (Dass ist die Kurzfassung meines Vorschlags :D)

    Aber ohne etwas mehr KnowHow ist das glaube ich nicht umsetzbar ;)

  • Wieso nicht einfach einen Ultraschallsensor auf den Roboter? Damit könntest du schonmal verhindern das er gegen eine Wand fährt...

    Vll wäre auch eine Idee gleich drei Stück anzubringen, die vorne, vorne links und vorne rechts abtasten, ob sich ein Gegenstand oder eine Wand nähert...

  • Ich hätte auch gesagt ein Ultraschallsensor am Roboter, der die Führung übernimmt, damit der Roboter nicht irgendwo gegen fährt.
    Dazu hätte ich noch einen Kompass genommen, damit der Roboter weiß in welche Richtung er schaut. Dann wird über eine selbst erstelle Map (die den befahrbaren Bereich abbildet) und einen fixen Startpunkt die Position festgelegt. Nun per Berechnung der Bewegung und per Auswertung des Kompasses die Position bestimmen und somit noch weiter mögliche Wege berechnen.

  • Ok ich hab mich mal mit meinen Mit-Bastlern unterhalten und wir haben uns für eine Art Ultraschall-Radar (heißt sich dann Sonar, hab ich mir sagen lassen) entschieden. Ein Ultraschallmodul - drehbar auf einem Servo oder Encodermotor - scannt regelmäßig (fast) komplett rundherum die Abstände und vergleicht das Ergebnis mit einer Karte (...die der Roboter rein theoretisch auch selbst anlegen kann)

    Mit dem Lego Mindstorms-Zeugs jednefalls scheint das anscheinend ganz leicht zu sein also werd ich das schon hinbringen :D
    Das schwierigste wird wohl der Vergleich mit der Map sein, da hab ich noch garkeinen Ansatz :s

    [youtube]w-PNsW7b3CY[/youtube]

    Soweit die Theorie :lol:

    Für den Fall dass das Ganze Fortschritte macht, gibts Updates :)
    Jetzt ist erstmal der LED-Strip dran und dann eine Menge Denkarbeit :denker:

    :danke_ATDE: für eure Anregungen,

    lg, couka

    Einmal editiert, zuletzt von couka (10. März 2014 um 19:46)

  • Moin,

    ich hatte vor zig zig zig Jahren mal eine ähnliche Idee, der Roboter sollte dazu im Zimmer umherfahren und per Ultraschall-Radar seine Position im Zimmer bestimmen.

    Dies hatte ich so gedacht das der Roboter mittels des "Radar" von seiner Position aus die Entfernung zu den Wänden bzw nächsten Hindernissen misst, der Sensor wird dabei in x° schritten gedreht und dann jeweils die Entfernung bestimmt.

    Dieser Datensatz wird dann in ein Neuronales Netz eingespeist (ja, damals war es gerade "hipp" alles mit NN zu machen) und dieses gibt dann an wo der Roboter steht.

    Ich habe das damals sogar mal simuliert in dem ich das Zimmer aufgezeichnet hatte, in ein Raster unterteilt und dann von jedem Punkt dieses Rasters aus einen "Strahl" habe zeichnen lassen bis dieser auf eine Wand stiess. Diese Datensätze habe ich dann in das NN eingespeist und damit angelernt.

    Anschliessend habe ich eine zufällige Position bestimmt, den simulierten Roboter dort platziert und seine Messungen machen lassen, diesen Datensatz habe ich dann dem NN eingefüttert und dieses lieferte dann in welchem Kästchen von dem vorgedachten Raster sich der Roboter befindet. Dies funktionierte erstaunlich gut, vorraussetzung ist natürlich, das das Zimmer nicht ein exakt quadratischer leerer raum ist sondern sich genügend Hindernisse dort befinden so einen Entfernungs Datensatz "einmalig" zu machen

    Ich hatte dies allerdings nur recht grob gemachtt, Zimmer ca 3mx3m und ein 8x8 Raster da hinein gelegt, damals (vor uhm... 20J?) waren PCs nicht so schnell und das NN hattte mit glaube 8 Eingans-Neuronen für den entfernungs-Datensatz und 8 Ausgangs-Neuronen für die Position einige Stunden! zu lernen bis der Fehler klein genug war. Turbo-Pascal auf einem 12MHz 486er :)

    Leider kam ich nie zum basteln bzw damals wäre die Hardware nie mobil geworden...

    Heute könnte man das Netz mit dem PC lernen lassen und die Netzparameter vom RPI dann auswerten lassen und ein feineres Raster mit mehr Neuronen sollte heute auch machbar sein... (quadcore 3.4GHz vs single core 12Hz)

    Frag mich nicht nach code... der ist mit dem 486er und der 40MB Festplatte damals abgeraucht und der selbstgeschriebene assembler code zur ansteuerung einer Tseng ET4000 Grafik-karte dürfte heute kaum funktionieren....

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!