Forum: PC Hard- und Software Software zu aktuellen Standortsbestimmung gesucht.


von Andreas S. (goldrausch)


Lesenswert?

Ich muss im Zusammenhang einer Projektarbeit über einen 
Staubsaugrobotter, die Spur aufzeichnen, in dem der Staubsauger den zu 
reinigenden Raum abarbeitet.
D.h. es soll mit einer Kamera aufgezeichnet werden wie der Raum vom 
Staubsaugrobotter abgearbeitet worden ist. Gibt es dazu ein Programm 
welches den Aktuellen Standpunkt es Roboters erkennt und die Spur 
aufzeichnet?

von Verwirrter Anfänger (Gast)


Lesenswert?

Ein komplett fertiges Programm kenn ich so nicht und für mögliche 
Software Lösungen fehlen noch eine Menge an Informationen:

- Kann auf den Roboter eine Markierung befestigt werden?
- Wie groß ist die Fläche, die überwacht wird und wie genau soll die 
Position bestimmt werden?
- Wo ist die Kamera befestigt?
- Wie schnell und wie lange bewegt sich der Roboter?
- und wahrscheinlich noch vieles mehr, wenn wir mehr über die Situation 
Wissen.

von roboter mit 2 t tsts (Gast)


Lesenswert?

Wir nehmen da immer VacuCleanVisiLog 2.4.
Läuft stabil seit Ver. 2.2.

von Andreas S. (goldrausch)


Lesenswert?

- Kann auf den Roboter eine Markierung befestigt werden?
  Ja am Roboter kann eine Makierung befestigt werden

- Wie groß ist die Fläche, die überwacht wird und wie genau soll die
Position bestimmt werden?
Die Fläche ist 4x4 m und die Genauigkeit liegt bei ca.+/- 20 cm

- Wo ist die Kamera befestigt?
  Die Kamera ist an der Decke befestigt (senkrecht auf die Fläche)

- Wie schnell und wie lange bewegt sich der Roboter?
Der Roboter bewegt sich mit 0,3 m/s vorwärts und max. 45 min.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Hmm. Die c't hat vor einiger Zeit solche autarken Staubsauger getestet, 
und mit einem Kamerasystem die gefahrenen Bahnen aufgezeichnet ...

http://www.heise.de/artikel-archiv/ct/2011/18/132_kiosk

(Heft 18/2011, Seite 132)

von Andreas S. (goldrausch)


Lesenswert?

Das die c't so etwas getestet hat brigt mich nicht weiter, den genau so, 
etwas soll ich selber erstellen.
Zu der Software VacuCleanVisiLog 2.4. was ist das Für eine Software 
Google konnte mir nichts darüber sagen und vor allem wo gibt es diese.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Andreas S. schrieb:
> Das die c't so etwas getestet hat brigt mich nicht weiter, den genau so,
> etwas soll ich selber erstellen.

Doch, das kann Dich weiterbringen, indem Du Dir ansiehst, wie die c't 
das getestet hat -- ist ja nicht auszuschließen, daß die ihre Methodik 
beschrieben haben.

> Zu der Software VacuCleanVisiLog 2.4

Das dürfte ein Trollposting gewesen sein, wo Dich jemand verarschen 
wollte.

von troll (Gast)


Lesenswert?

Andreas S. schrieb:
> Zu der Software VacuCleanVisiLog 2.4. was ist das Für eine Software
> Google konnte mir nichts darüber sagen und vor allem wo gibt es diese.
Kein Wunder, das sollte wohl ein dezenter Hinweis sein dass ein paar 
Details fehlen.

von Verwirrter Anfänger (Gast)


Lesenswert?

Wenn du den Raum einigermaßen kontrollieren kannst, würde ich das mit 
openCV machen.

Allerdings ist das kein Programm, sondern nur eine Library.

Die simple Methode wäre:

- Auf dem Roboter ist oben eine orangfarbene Platte / orange LED 
befestigt. Ansonsten gibt es im Raum nichts Orangefarbenes.
- Die Kamera wird mit einem Computer verbunden, auf dem das 
Trackingprogram läuft. OpenCV hat direkt die Unterstützung für Webcams 
eingebaut. Ich würde hierzu Linux nehmen, aber Windwos sollte genauso 
gut gehen.
- Das Programm selbst wandelt das Bild in HSV um und filtert alle Punkte 
raus, die vom Hue her passen und ein gewisses Minimum an Saturation und 
Value erfüllen.
- Je nach Rauschen lässt man noch ein morphologisches Öffnen / Schließen 
drüber laufen
- Für alle übrigbleibenden Flecken werden die Boundig Circles berechnet, 
es sollte nur ein Kreis übrigbleiben, ansonsten nimmt man den größten 
Kreis.
- Jetzt müssen nur noch die Pixel Koordinaten in Raum Koordinaten 
umgewandelt werden. bei 5% Genauigkeit sollte hier ein einfach 
Pythagoras reichen.

Das ganze klingt aufwendig, aber ist effektiv ein ~30 zeiliges C 
Programm. Ich hab sowas ähnliches schon mal als "Follow Me" für einen 
kleinen Flugroboter gebaut, ich könnte nochmal nach den Code suchen.

von Andreas S. (goldrausch)


Lesenswert?

Schau doch bitte mal nach ob du dein c Programm noch findest, den von C 
habe ich überhaupt keine Ahnung.

von Lukas K. (carrotindustries)


Lesenswert?

Einfacher wird es, wenn man auf dem Roboter eine IR-Led befestigt und 
vor die Kamera einen nur für IR durchlässigen Filter pappt. Dann sollte 
sich die Positionsbestimmung auf 'Maximum finden' reduzieren lassen.

von Sharping (Gast)


Lesenswert?

Scheinbar kann Andreas aber garnicht programmieren!?
Das dürfte ihm also nicht wirklich weiterhelfen...

von Verwirrter Anfänger (Gast)


Angehängte Dateien:

Lesenswert?

Ohne irgendwelche C Kenntnisse wird dass in der Tat etwas schwer.

Ich hab mal ein Beispielprogramm angehängt. Das Programm sucht nach der 
größten zusammenhängenden Fläche in der vorher festgelegten Farbe und 
gibt die Koordinaten auf der Kommandozeile aus. Von da müsste man dann 
das Ganze noch in die Raumkoordinaten umwandeln.

Das Programm ist mit allem drumherum jetzt leider doch 101 Zeilen lang 
geworden.

von klaus-klaas (Gast)


Lesenswert?

Sharping schrieb:
> Scheinbar kann Andreas aber garnicht programmieren!?

Dann wird es schwierig bis unmöglich. Mir wäre nicht bekannt, dass es 
irgendwelche fertigen Lösungen gibt, um eine Position in einem Raum 
festzustellen. Die Anforderungen dazu sind einfach zu verschieden.

Ich frage mich gerade, ob da wohl mal jemand ein Startup gründen 
sollte...

von sw1ft (Gast)


Lesenswert?

Mit 0 Programmiererfahrung seh ich da schwarz...

von Verwirrter Anfänger (Gast)


Lesenswert?

Lukas K. schrieb:
> Einfacher wird es, wenn man auf dem Roboter eine IR-Led befestigt und
> vor die Kamera einen nur für IR durchlässigen Filter pappt. Dann sollte
> sich die Positionsbestimmung auf 'Maximum finden' reduzieren lassen.

Oder per Wiimote tracken, die nimmt einen dann gleich die ganze 
Bildverarbeitung ab.

von Uhu U. (uhu)


Lesenswert?

Andreas S. schrieb:
> Staubsaugrobotter

Geßtern wußte ich noch nicht, wie man Inschinjör schreibd, heude binn 
ich einer...

von Frank (Gast)


Lesenswert?

In welcher Genauigkeit bzw. örtlicher und zeitlicher Auflösung werden 
denn die Informationen benötigt?

von Andreas S. (goldrausch)


Lesenswert?

Die Genauigkeit sollte bei ca. 5% liegen

von Verwirrter Anfänger (Gast)


Lesenswert?

Kennst du denn irgendwelche Programmiersprachen?
Und falls nicht, wie willst du die Positionsdaten nacher 
weiterverarbeiten?
Bei 1h Aufzeichnung mit 10 fps sind das immerhin 36 000 Koordinaten.

von Michael K. (charles_b)


Lesenswert?

Lokalisierung per Sound:

Einfach beim Staubsaugen das Lied

Another one bites the dust

einspielen.

von Blackbird (Gast)


Lesenswert?

Mein Roomba verschwindet auch mal unter Sessel und Liege - da ist mit 
optical tracking nix zu machen. Da wäre höchstens ein Abgleich zwischen 
optical tracking UND acoustic tracking (gepulster Ultraschallsender auf 
dem Bot und fixe US-Empfänger in den Raumecken) eine einigermaßen 
sichere Methode.

Blackbird

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.