Roboter, der eine Person aus anderen Objekten auswählt

Ich brauche einige Ideen für Sensoren, die ich verwenden kann, damit mein Panzer auf Menschen zufahren und sie ausfindig machen kann.

Sie vom Hintergrund zu unterscheiden.

Angenommen, der Mensch steht still / ruhig

Irgendwelche Ideen?

  • Ich möchte einen Arduino als Controller verwenden. Wenn es jedoch bessere Optionen gibt, lassen Sie es mich bitte wissen.

Antworten (8)

Ein intelligenter Sensor könnte helfen – schauen Sie sich die CMUcam an .

Könnten Sie eine Reihe von Passiv-Infrarot-Sensoren verwenden ?

Ladyada hat eine Menge Zeug über die Schnittstelle zu ihnen , einschließlich Arduinos.

Ich denke, der Arduino hat nur 6 analoge Eingänge, aber Sie könnten mehr Sensoren mit FETs ein- und ausschalten, wenn Sie sie brauchen.

OpenCV, wie zklapow sagt, ermöglicht es Ihnen, Haar Training zu verwenden, um die Kamera / den Controller zu trainieren, Gesichter oder andere Formen zu erkennen (so wird die Gesichtserkennung auf meiner Kamera durchgeführt, denke ich), aber ich bin mir nicht sicher, welche Ressourcen für Arduino verfügbar sind . Hier sieht es nach einer ziemlich ausführlichen Diskussion mit OpenCV aus. Es gibt hier eine interessant aussehende Seite , die über Haartraining und Roboter spricht (genauer gesagt Hände erkennen).

Ich habe gesucht und kann keine Links finden, die Haartraining und Arduino verbinden, also haben Sie vielleicht kein Glück.

Ich glaube nicht, dass das Arduino die Leistung hat, dies zu tun. Es ist eine sehr schwierige Aufgabe, die Sie vorschlagen.

Welche Art von Plattform verwenden Sie, um den Roboter zu betreiben. Wenn Sie einen ARM-Prozessor (mit Linux) verwenden, können Sie eine Kamera und OpenCV verwenden, aber wenn Sie ein Arduino oder ähnliches verwenden, funktioniert das nicht. Ein Arduino wird hart sein und OpenCV definitiv nicht ausführen.

Eine Infrarotkamera wäre perfekt.

Denken Sie thermisch oder NIR? Thermal wäre ein bisschen teuer für das Projekt und mit einer ganzen Reihe anderer Probleme verbunden. Ich glaube nicht, dass eine NIR-Kamera viel nützlichere Informationen liefern würde als jedes Graustufenbild, das Sie von einem anderen Sensor erhalten könnten, und ehrlich gesagt wäre ein Filter zur Auswahl Ihres gewünschten Bandes billiger.
Dachte an Thermik - aber ich hatte keine Ahnung, wie viel sie waren.
Ja, sie sind ziemlich ordentlich, aber sehr teuer. Sie sind ein Tropfen auf den heißen Stein für, sagen wir, eine Waffenplattform, aber für einen Bastler sind sie etwas unerreichbar.

Ein starker Prädiktor für Mensch-gegen-Objekt ist, dass die Temperatur des menschlichen Körpers oft in einem bestimmten Bereich liegt, der sich von den Temperaturen der meisten Objekte unterscheidet. Wenn Sie diese Tatsache ausnutzen, können Sie eine der folgenden zwei Ideen ausprobieren, die meiner Meinung nach eine gute Genauigkeit und einfache Implementierung aufweisen sollten:

  • Option 1: Verwenden Sie einen IR-Temperatursensor (klein und kostengünstig) wie Texas Instruments TMP006 oder alternativ Melexis MLX90614
  • Option 2: Verwenden Sie eine vorgefertigte Lösung wie Panasonic Grid-Eye , einen Infrarot-Array-Sensor, der eine 8x8-Pixel-Darstellung der in seiner Ansicht erfassten Temperaturen liefert. Das Teil ist kostengünstig (und bei Distributoren wie Digikey erhältlich) und da der Datensatz nicht sehr intensiv ist, können Sie den Sensor sogar mit einem Mikrocontroller-Board wie einem Arduino verbinden.

Wenn Sie einen dieser Sensoren verwenden und die erfassten Daten mit einem vordefinierten Fenster (für menschliche Körpertemperaturen) vergleichen, sollten Sie in der Lage sein, ziemlich genau zu sagen, ob eine Entität ein Objekt oder ein Mensch ist.

Sie können eine Kamera anschließen, die serielle Daten an das Arduino sendet (erhältlich von Sparkfun, ich denke, sie werden normalerweise für Mobiltelefone verwendet, es sieht ähnlich aus wie die CMUcam-Lösung) und dann Daten über USB an Ihren Computer senden, oder Sie können a verwenden Wireless-Modul, wenn Sie sich schick fühlen. Dann könnten Sie ein Gesichtsverfolgungsprogramm herunterladen, das die Bilder vom Arduino verarbeitet. Gesichtsverfolgung ist eine gut etablierte Methode der Echtzeit-Videoverarbeitung, es sollte relativ einfach sein, eine zu finden. Das ist die einzige Möglichkeit, die mir einfällt, um den Mangel an Leistung des Arduino zu umgehen. Sie müssen jedoch an einen geeigneten Computer angeschlossen sein, wenn Sie Echtzeitvideos verarbeiten möchten. Im Vergleich zur Verwendung von NIR-Sensoren wären die Kosten und der Aufwand höher, aber die Ergebnisse sind möglicherweise besser für Ihre Anwendung geeignet.