PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] Roboter zur Entfernungsmessung von Menschen und großen Tieren auf 360 Grad



meraille
12.10.2015, 18:14
Hallo liebe Experten,

ich möchte einen Roboter bauen um Entfernungen zu Menschen oder großen Tieren zu messen und anzuzeigen.

Ziel ist es, einen Roboter (Gerät) in die Natur oder einen großen Raum zustellen und alles in 150-200m in 360 Grad um das Gerät soll erkannt und die Entfernung ausgegeben werden.

- nähere nicht lebendige Objekte sollen nicht erkannt werden!
- es sollen 360 Grad um das Gerät abgedeckt sein
- es muss nur ein Mensch oder Tier erkannt werden (das am nähesten dran)

quasi so ein bisschen wie bei der Tiererkennung im Auto bei Audi, BMW, etc... nur auf 360 Grad

ich hab das sofort an Ultraschallsensoren gepaart mit IR-Sensoren gedacht, aber damit 360 Grad abzudecken und nicht lebende (also kalte) Objekte auszublenden ist ja quasi nicht möglich, da der Ultraschall nicht dazwischen unterscheiden kann.

Hab auch von einer IR-Kamera gehört, aber die kann keine Entfernung messen.

Habt ihr eine Idee, wie ich das Problem lösen kann? Hier noch mal eine detailliertere Erklärung:

ich möchte ein Gerät mit in den Wald nehmen können, es aufstellen und nur auf den Display gucken, wie weit das nächste "warme" bzw lebende Objekt um mich herum weg ist (bis 200m reicht), egal ob Tag oder Nacht, es soll bei beiden klappen. Logisch dabei ist, dass ich mich mal aus dem Geschehen ausklammer und nicht direkt vor dem Gerät stehe, sondern mir die Daten entweder aufs Telefon schicken lasse oder eine andere Lösung finde!


Danke im Voraus!

i_make_it
12.10.2015, 19:37
Versuche mal bei Google mit "perimeter Sensor" zu suchen.
Da findest Du einige Lösungen die schon im Einsatz erprobt sind.
Das dürfte erst mal genug Ideen liefern.

meraille
12.10.2015, 20:42
damit kann ich immerhin bis zu (geraten) 30m erkenne, OB etwas da ist.
Das Wichtigste WIE WEIT es entfernt ist, kann ich mir damit aber leider nicht beantworten.

Vom Prinzip her eine günstige IR-Kamera oder?
Interessant find ich die Seismischen Sensoren, die ich dabei gerad gefunden habe, über Bodenerschütterung, aber ich will nicht erst den halben Wald umgraben müssen ;)

Wie auch immer. Danke für den Tipp, aber mein Problem die ENTFERNUNGSMESSUNG von lebenden Objekten, löst es leider nicht.

Eventuell andere Vorschläge?

i_make_it
17.10.2015, 12:16
Mit einem einzigen Sensor (an einem Punk) gehen nur aktive verfahren. (z.B. Laufzeitmessungen wie bei Radar, Lidar, US).
Für passive Verfahren (PIR, IR-Kamera, Schallmess, etc.) sind midestens zwei Sensoren notwendig Womit eine Kreuzpeilung möglich ist. (z.B. Stereo Kamera)
Die Erkennung von lebenden Objekten ist an sich ziemlich schwer.
Bei IR kann der Vorder- und Hintergrund im Sommer Probleme bereiten. Im Winter das Objekt selbst, Bei entsprechendem Fell oder Bekleidung, kann die Wärmesignatur so verfremdet sein, das eine Erkennung nicht mehr sicher gegeben ist. Wenn das Objekt sich dann auch noch nicht bewegt oder extrem langsam, wird es fast unmöglich.
Im Wald kann man auch nicht mit Kontouren Arbeiten, um sicher die Objektform zu erkennen, da Bäume im Vordergrund den Umriss in Einzelflächen zerteilt.
Also eine recht anspruchsvolle Aufgabenstellung.
Für Bewegungserkennung kann man sich mal mit Doppler- und FMCW Radar und entsprechenden mathematischen Filtern befassen.
Für Wärmeerkennung PIR (Passiv Infrarot) und den IR Vorsatzkammeras fürs I-Phone (die einzigen die in einer Preisklasse liegen, über die man nachdenken kann)
Bodenschallmikrofone oder seismische Sensoren in Verbindung mit entsprechenden Algorithmen zur Mustererkennung sind auch ein Ansatz um Schritte zu erkennen.

meraille
02.11.2015, 19:58
Vielen Dank für deinen Beitrag!
Ich recherchiere immer noch jeden einzelnen Sensor den du aufgezählt hast!
Es sind einige sehr gute Ansätze für mich dabei!!

Aber du hast recht, das wird ein sehr schweres Programm werden, egal welchen Sensor ich nutze!

Ich bin sogar schon am überlegen, ob man nicht ein umlaufenden Laser zur Entfernungsmessung nimmt und mit einem Winkelmesser den Drehwinkel bestimmt und dazu die momentane Entfernung speichert. Entsteht eine Differenz bei den nächsten Umläufen, muss es sich um ein bewegendes Objekt handeln.

Bloss die Theorie ist immer einfach :/

i_make_it
02.11.2015, 21:09
Ich bin sogar schon am überlegen, ob man nicht ein umlaufenden Laser zur Entfernungsmessung nimmt
Aber denke daran, nicht jeder trägt eine Laserschutzbrille. Also Laserleistung entsprechend gering halten.
Ich war heute erst wieder beim Augenarzt, wegen meinen Vernarbungen in den Augen, trotz Laserschutzbrille.
Und Blätter und Zweige die sich im Wind bewegen sind auch bewegte Objekte.
Cameleons zum Beispiel laufen gezielt im Wiegeschritt um von der Beute für vom Wind bewegtes Laub gehalten zu werden.
https://www.youtube.com/watch?v=uhWk0OH9T5Q
Da steckt also eine ganze Menge Arbeit in der Signalauswertung drin.

White_Fox
07.11.2015, 10:27
Wie sieht denn die Aufgabenstellung genau aus? Vielleicht gibt es auch einen anderen Weg.

Hätte ich diese Aufgabe wäre es das erste Mal, daß ich ernsthaft über Kameras als Sensoren nachdenken würde. Zwei Kameras für die Entfernung wäre sicherlich nicht verkehrt. Tiere und Menschen wirst du anhand EINES Merkmals sicherlich nicht sicher identifizieren können. Mit den Kameras könntest du aber z.B. feststellen, ob sich ein Objekt selbstständig bewegt, und damit meine ich nicht nur eine Ortsveränderung, sondern auch z.B. Formänderung bei der Atmung. In geschlossenen Räumen oder im Freien bei Windstille kannst du damit schonmal eine Menge Objekte ausschließen.
Auf Wärme alleine ist kein Verlass, aber wenn du die Umgebungstmperatur kennst ist eine Wärmesignatur zumindest ein weiteres Merkmal, daß ich in jedem Fall mit aufnehmen würde.

Mit Wärme und Bewegung (und entsprechend zuverlässige Algorythmen vorrausgesetzt) hast du dann schonmal eine Erkennung von der man annehmen könnte, daß sie eine einigermaßen brauchbare Fehlerrate hat. Eine herumfliegende brennende Papiertüte würde allerdings immer noch Fehler provozieren. Und nun wirds schwierig, mir fällt auf die Schnelle nichts Brauchbares mehr ein, was man aus der Distanz erkennen oder messen könnte und gleichzeitig neue Informationen liefert. Ich versuche beim Programmieren oft, meine eigenen Denkprozesse zu analysieren und nachzubauen. In diesem Fall wirds schwierig und wird wohl über ein neuronales Netz gehen. Die könnten sowas, wenn ich HaWe richtig verstanden habe. Dann wird dein Programm aber eine Wissenschaft für sich. Ob du in der Lage bist das zu stemmen würde ich einfach mal verneinen. Ich selber würde mich dazu zumindest jetzt auch nicht in der Lage sehen.

meraille
20.11.2015, 22:59
Das mit den Kameras hört sich wirklich gut an, aber hier bin ich wahrscheinlich momentan noch nicht in der Lage, diese Auswärtung vorzunehmen. Aber ich es kommt auf die Liste und ich werde mich darin so gut wie möglich drin bilden. Das ist ein klasse Tipp! Danke :)

Das mit dem Laser habe ich gar nicht bedacht. Da hast du recht!

Die Aufgabe ist sehr allgemein beschrieben:
- Sich bewegende Objekte in der Größe eines Menschen und größer in einer Entfernung von (wünschenswerten) 200m und vielleicht realistischen 25-50m zu etwa 95 von 100 Fällen zuverlässig zu erkennen
- und die Entfernung vom Messgerät bis zum erkannten Objekt auszugeben.
- Das alles soll auf 180-360 Grad möglich sein.

Ich hab mir jetzt nach dem Laserbrillen Tipp mal einen anderen Anfang gemacht (auch wenn die Reichweite hier nur maximal 7-10m betrifft) habe ich mir einen PIR-Sensor gekauft, einen Ultraschallsensor gekauft und warte momentan noch auf einen Schrittmotor.
Ich möchte PIR und US-Sensor überbeinander auf dem Servo befestigen und jeweils um 90° nach rechts und nach links drehen. Dabei möchte ich mir die Entfernung immer dann ausgeben lassen, wenn der PIR anschlägt. (Ich starte sehr preiswert, mit Arduino Bauteilen--> sollte die Idee klappen, kann ich teurere Geräte versuchen)

Nur fehlt mir momentan noch folgendes Wissen:

Wie fokussier ich den PIR, dass ich die Wärmestrahlung von möglichst weitentfernten Objekten erkennen kann?
Ich muss die Streuung vom US-Sensor möglichst gering halten um keine verzerrten Entfernungen von deren gerad im Winkel befindlichen Objekten zu erhalten.

Wird eine ziemlich große Aufgabe. Aber ich will diese Gerät bauen und freu mich sehr über eure tolle Unterstützung bis jetzt!!

Viele Grüße

i_make_it
21.11.2015, 00:02
PIR erkennt ja nur bewegte Objekte (Personen) die sich quer durch den Erkennungsbereich bewegen.
Schwenkst Du den Sensor, wird jede unbeweglich im Raum stehende Wärmequelle, relativ zum Sensor bewegt und als bewegtes Objekt erkannt.
Das kann man so bewust machen und mit einem schmalen Öffnungswinkel des Sensors so eine Art Thermokamera bauen.
Mache dich auf interessante Sensorsignale gefasst und berücksichtige das oben gesagte bei der Signalauswertung.
Keine detektion des PIR Sensors, bei Anweseheit eines bewegten, warmen, Objektes heist nur, das sich das Objekt in Drehrichtung des Sensors, mit einer genau zur Schwenkgeschwindigkeit passenden Eigengeschwindigkeit bewegt.
Keine Detektion bei bewegtem PIR Sensor kann also heißen kein Objekt vorhanden oder Objekt bewegt sich Synchon mit dem Sensor.

Das Signal das der PIR empfängt ist ja eine Projektion einer Silouette auf einer Kugelschale. Male mal ein Paar Konzentrische Kreise und dann einen Line vom Mittelpunkt aus.
Dann nim an eine Katze ist 1cm breit und ein Mensch 5cm breit.
Trage beide Werte auf jedem Kreis von der gezogenen Linie aus ab.
Du wirst Feststellen, das eine nahe Katze eine größere Fläche auf dem Sensor hat als ein weit entfernter Mensch.
Daraus ergibt sich, das Du den PIR nicht fokusieren kannst. Weit entfernte Objekte müssen entweder entsprechend groß sein, oder verschwinden unterhalb des Schwellwert des PIR.
Um sowas machen zu können bist Du bei Thermografie Kameras angelangt. Und zwar bei denen mit Teleobjektiven die einen einzelnen warmen Bildpunkt ranzoomen können um dann zu Prüfen ob es was interessantes ist.
Am Besten leihst Du Dir mal einen Feldstecher oder ein Spektiv (Fernrohr) mit möglicht weiter Verstellmöglichkeit für die Vergrößerung und beobachtest dann mal die Landschaft.
Einmal mit geringer Vergrößerung und dann mit zunehmend stärkerer Vergößerung.
Mit den selben Problemen mit denen Du dann zu kämpfen hast, hat Dein Sensor nämlich auch zu kämpfen.
Aber als erster Probeaufbau für erste Erfahrungen ist das was Du vorhast schon mal nicht schlecht.
Beim Laser ist ja auch die Leistung über die Zeit entscheidend.
Also kann man durchaus daran denken bei Aldi, Lidl und Co eine billige Wasserwage mit Linienlaser zu kaufen und die zu schlachten.
Ein paar Mosaik Spiegelsteine aus dem Bastelladen und CD-Rom Drive Motor und man kann sich einen Rotationskopf für den Linienlaser bauen.
Eine HD-Webcam und ein Farbfilter und man kann sich die Linien gut ansehen.
OpenCV und man kann damit einen Laserscanner basteln (Such eventuell mal bei Google nach "opencv auf raspberry pi"). Wenn man jetzt noch den Linienlaser in 3 oder 4 Positionen drehen kann, kann man die Bilder mit unterschiedlich ausgerichteter Linie noch überlagern.
Mit 2 Webcams kann man dann Stereografie machen und bekommt so vergleichsweise einfach 3-D Raum und Entferungsinformationen.

Da Liegt man dann zwar preislich deutlich über Deinem bisherigen Aufwand, aber 200 Meter sollten mit HD drin sein (Da muß man dann mal über die Auflösung und den Objektivwinkel ausrechnen wie groß ein Bildpunkt bei 200m ist)