Positionbestimmung Saugroboter

Gast #4556013
Lesenswert?

Hallo zusammen,

ich baue mir gerade einen Saugrobotor. Den Raum chaotisch abfahren und 
Hindernissen ausweichen ist ja relativ trivial. Allerdings würde ich den 
Raum gerne systematisch abfahren und v.a. am Ende zurück zur 
Ausgangsposition finden.

Dazu muss natürlich zunächste die Position genau bestimmt werden. Ich 
hab hier schon einiges gelesen. Aber leider war keine Lösung dabei, die 
zu meinem Problem passen würde.

Meine Idee wäre bis jetzt: Roboter sendet Signal (z.B. 433MHz?) an 
"Basisstation". Basis antwortet -> Laufzeit und Richtung bestimmen -> 
Postion.
Hierbei besteht nicht immer Sichtkontakt zur Basisstation.

Nun zu den Problemen: Für die Laufzeitbestimmung müssten Zeiten im 
ns-Bereich gemessen werden. Das ist vmtl nicht mit einem Arduino 
möglich?
Gibt es eine Möglichkeit die Richtung, aus der die Antwort des 
Basisstation kommt zu bestimmen?
Was haltet ihr davon/Ist das machbar?

Ich bin natürlich auf offen für neune Ideen. ;)

Grüße
Stefan
(Firma: matzetronics) #4556034
Lesenswert?

Es ist aussichtslos, in einem Raum durch anpeilen eines UHF Senders 
Richtung bestimmen zu wollen. Die Ausbreitung  der Wellen ist durch 
Auslöschung, Reflektionen und Addition unvorhersehbar. Funkpeilung 
funktioniert nur im Freifeld so, wie man das erwartet.

Eher könnte ein Kreuzpeilung mit Infrarot Baken funktionieren oder der 
gute alte Ultraschall.
Gast #4556067
Lesenswert?

Wow das ging ja schnell. Danke schon mal!

Zum Thema Ultraschall:
Ich will nicht mit vorgefertigten Karten arbeiten, um den Roboter 
überall ohne Vorbereitung einsetzen zu können. Ist es also möglich, die 
Karten direkt während der Fahrt zu erstellen? (V.a. mit der begrenzten 
Rechenleisung auf dem Arduino) Würden mir dafür 4 Sensoren (vorne, 
links, rechts, hinten) reichen? Ich könnte mir auch vorstellen, dass der 
Kartenabgleich an der Leistung scheitern wird?

Zu IR Kreupeilung: Danke, noch nie was von gehört... Ich les mich mal 
schlau :D

Mit RFID möchte ich nicht arbeiten. Ich hab dank fehlendem Teppich keine 
Möglichkeit hier Transponder zu verteilen. :/
Gast #4556080
Lesenswert?

Zur Kreuzpeilung: Dazu müsste ich zunächst die Position der Baken exakt 
ausmessen. Und wenn ich das richtig verstehe ist das auch nur bei 
Sichtkontakt möglich?

Wäre es möglich ein "Indoor-GPS" aufzubauen? 3 Sender und dann wieder 
Laufzeitbestimmung der Signale usw.
#4556092
Lesenswert?

Stefan schrieb:
> Ich will nicht mit vorgefertigten Karten arbeiten, um den Roboter
> überall ohne Vorbereitung einsetzen zu können.

Da kommst du ja auch mit allen anderen Navigationsarten nicht drum 
herum.
Was nützt eine Position, wenn der Roboter nicht weiss, wo die Wand ist.

Du kannst die Karte natürlich auch den Roboter herausfinden lassen, 
aufwändig genug wird dein Projekt ja in jedem Fall... ;-)
Gast #4556118
Lesenswert?

Das gesuchte Zauberwort ist Simultaneous localization and 
mapping(https://en.wikipedia.org/wiki/Simultaneous_localization_and_mapping), 
aka "SLAM". Gibt es viele Ansätze, Bücher, Studienfächer und 
Diplomandenstellen dazu.

Sehr einfach ausgedrückt, bedeutet das: Anhand von Sensordaten wie 
Kameras, Ultraschall, LIDAR, IR-Peilung, Trägheitsnavigationssystem, 
etc. wird gleichzeitig eine Karte der Umgebung erstellt und die Position 
mit der höchsten Wahrscheinlichkeit in derselben bestimmt.

Die Universitätsbücherei hilft Dir da gerne weiter.

Aktuelle Anwendungen sind z.B. die bekannten Saugroboter, als auch 
Multikopter und alles sonst, was irgendwie roboterig durch die Gegend 
eiert.

Wie gut das funktioniert, sieht man hier: 
https://www.youtube.com/watch?v=IMSozUpFFkU
Gast #4556206
Lesenswert?

Am ehesten ist Indoor-Navigation dieser Art mit Kameras zu erschlagen. 
Aber da muss schon etwas mehr Verarbeitungspower her (schneller ARM oder 
Blackfin). Leider ist die Technik noch nicht mords hoffähig, aber ich 
würde mal versuchen, mit einer gehackten Kinect oder der 
Softkinetics-Kamera (Intel Branded) zum Ziel zu kommen. Probleme gibts 
nur bei zuviel Sonnenlicht, aber solche Fehler lassen sich u.U. durch 
Einlernen etwas mindern. Frage ist: Soll es wirklich eine 
Industrielösung werden?
Da ist der Weg schon noch etwas lang..
Gast #4556432
Lesenswert?

> Zu IR Kreuzpeilung: ...
> Und wenn ich das richtig verstehe ist das auch nur bei
> Sichtkontakt möglich?

Sicher, Licht kann man bei Sichtkontakt sehen, Wenn man es nicht mehr 
Sieht, hat man keinen Sichtkontakt.
Gast #4556578
Lesenswert?

Strubi schrieb:
> Frage ist: Soll es wirklich eine
> Industrielösung werden?

Eine Industrielösung wäre schon der Hammer :D Aber ich seh schon, dass 
meine Vorstellungen etwas über die Stränge schlagen. Vor allem 
finanziell gesehen.

Ich hab noch etwas nachgedacht. Was mir am wichtigsten ist: Der Roboter 
soll nach getaner Arbeit zurück in eine Basisstation fahren. Dort wird 
er automatisch geladen und kann (evtl. mit Zeitplan) von dort wieder 
losfahren.

Daher noch eine weitere Idee:
Auf der Basisstation 2 IR Dioden. Eine so geschirmt, dass sie nur in 
Richtung "Dockingposition" strahlt. Jeweils unterscheidbar. 
(Unterschiedlicher Takt? Machbar?)

Der Roboter fährt chaotisch für eine bestimmte Zeit (Über Taster 
einstellbar) durch den Raum. Nach der Zeit fährt er chaotisch weiter, 
bis er Sichtkontakt zur ersten Diode hat. Fährt darauf zu (bzw dran 
vorbei) bis Sichtkontakt zur zweiten Diode. Und ab dann muss er nur noch 
gerade auf die Diode zufahren, bis er Kontakt zur Basisstation hat.

Auf eine IR Diode zu peilen klingt für mich relativ trivial, oder wird 
das wieder durch Relektion usw. komplizierter als ich es erwarte? Wie 
sieht es mit der Identifizierung der beiden Dioden aus?

Danke nochmal an alle für die vielen Antworten. :)
Gast #4556581
Lesenswert?

> Auf eine IR Diode zu peilen klingt für mich relativ trivial

Ist es auch.

> Wie sieht es mit der Identifizierung der beiden Dioden aus?

Mit unterschiedlicher Frequenz pulsieren lassen.

Bedenke, dass diese IR Dioden je nach Frequenz deine Fernbedienungen der 
Unterhaltungselektronik stören können.
#4556589
Lesenswert?

Stefan U. schrieb:
> Bedenke, dass diese IR Dioden je nach Frequenz deine Fernbedienungen der
> Unterhaltungselektronik stören können.

Die Arbeit einses Saugroboters ist ziemlich eintönig und langweilig für 
ihn selbst. Da kann man ihm wenigstens das Umschalten der Sender an der 
Stereoanlage erlauben. Schließlich saugt es sich bei flotter Musik 
gleich besser.

MfG Paul
Gast #4556682
Lesenswert?

Falls es nicht klappt / zu teuer wird, mein (gekaufter) Roboter macht 
das folgendermaßen:
Unten eine "Kamera" - quasi ein Sensor einer optischen Maus.
Er sucht sich eine Wand durch schräg anfahren, weiß dann die Richtung 
der Wand, und fährt dann über die Kamera Quadrate von ca. 150 x 150cm 
ab, eins nach dem anderen, ist schon rel genau.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren