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?
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.
Wir nehmen da immer VacuCleanVisiLog 2.4. Läuft stabil seit Ver. 2.2.
- 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.
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)
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.
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.
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.
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.
Schau doch bitte mal nach ob du dein c Programm noch findest, den von C habe ich überhaupt keine Ahnung.
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.
Scheinbar kann Andreas aber garnicht programmieren!? Das dürfte ihm also nicht wirklich weiterhelfen...
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.
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...
Mit 0 Programmiererfahrung seh ich da schwarz...
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.
Andreas S. schrieb: > Staubsaugrobotter Geßtern wußte ich noch nicht, wie man Inschinjör schreibd, heude binn ich einer...
In welcher Genauigkeit bzw. örtlicher und zeitlicher Auflösung werden denn die Informationen benötigt?
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.
Lokalisierung per Sound: Einfach beim Staubsaugen das Lied Another one bites the dust einspielen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.