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?
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 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.
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:
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.
Amos