Pixy ist ein schneller und günstiger Bildsensor, dem man schnell „beibringen“ kann, Objekten zu folgen. Die komplizierte Objekterkennung übernimmt Pixy’s ARM Prozessor, sodass man die Kamera an einen Arduino anschließen kann, und die vorbereiteten Daten wie Farbe, Größe und die Position des Objektes über UART, SPI und I2C auslesen kann.
Um die Einstellungen an Pixy vornehmen zu können, braucht man PixyMon. Auf der Webseite von Pixy, findet man die neuste Version des Programms. (Siehe: http://www.cmucam.org/projects/cmucam5/files)
Neben PixyMon findet man u.A. auch die Arduino Library und die neuste Firmware. Es sind aber nicht alle Versionen der Firmware und PixyMon miteinander kompatibel.
Inbetriebnahme
Installation und Firmware Update
Bevor man Pixy, mit Hilfe von MiniUSB-Kabel an den Rechner anschließt, sollte man PixyMon herunterladen und installieren. Die Software gibt es für Windows, Linux und OS X. Während der Installation werden auch die benötigten Treiber installiert. Nach der Installation und Anschließen der Kamera, kann PixyMon ausgeführt werden.
Wenn man PixyMon ausgeführt hat, kann man unten im kleinen Terminal. die Fehlermeldungen sehen. In meinem Fall muss ich entweder eine andere Version von PixyMon installieren oder andere Pixy-Firmware verwenden. Ich nehme in diesem Fall einfach eine andere Firmware
Um Pixy in den Upload-Modus zu versetzen, muss man PixyMon starten, das USB-Kabel abziehen, den weißen Taster gedrückt halten, USB-Kabel wieder anschließen und den weißen Taster wieder loslassen. (wenn man das zum ersten mal macht, werden nochmal automatisch zusätzliche Treiber installiert). Danach erscheint ein Fenster, wo man die heruntergeladene Firmware auswählen kann. Das erfolgreiche Update wird unten mit „done!“ bestätigt. Danach sollte man Pixy noch ein Mal vom PC trennen und wieder anschließen.
Fokus einstellen
Um das zu sehen, was auch Pixy sieht, geht man in der Menü-Leiste auf Action > Raw video
Der Fokus ist im Auslieferungszustand meistens verstellt. Um die Kamera etwas schärfer zu stellen, kann man die Linse so weit raus drehen, bis man ein mehr oder weniger scharfes Bild bekommt. Die Auflösung der Kamera ist ziemlich gering, weswegen man sich nicht wundern soll, wenn das Bild etwas verpixelt ist.
Farbsignatur anlernen
Pixy kann sich bis zu 7 Farbsignaturen merken. Eine Farbsignatur anzulernen, geht ziemlich einfach. Zuerst positioniert man das Objekt vor der Kamera. Dann geht man auf Action > Set signature 1
Das Bild wird „eingefroren“ und man kann mit der Maus ein Rechteck um die Farbfläche ziehen.
Danach wird die Farbe des Objektes erkannt und es wird mit einem Rahmen und Überschrift „s=1“ markiert.
Bei der Auswahl der Farbe muss man auf mehrere Dinge achten. Der wohl wichtigste Punkt ist, dass die Farben ziemlich grell sein sollen, und sich anderen Farben in der Umgebung, nicht ähneln dürfen. Das Objekt sollte möglichst nur eine Farbe haben. Bei meinem Objekt sind es schonmal zwei Farben, weswegen ich den Rechteck über den Farbübergang gezogen habe.
Wenn ich den Rechteck nur über die erste oder die zweite Farbe gezogen hätte, würde es die Objekterkennung der Pixy leicht durcheinander bringen. Dann wird ein Objekt fälschlicherweise als zwei (oder mehr) Objekte erkannt.
Nützliche Einstellungen
Unter File > Configure… kann man noch weitere Einstellungen vornehmen, u.A. Helligkeit, min/max Anzahl der Pixel, ab der das Objekt erkannt werden soll, Farbsättigung, max/min Position der Pan/Tilt-Servos, Geschwindigkeit der Servos, I2C-Adresse, UART Baudrate etc.
Die wohl interessantesten Einstellungen sind Helligkeit und die Anzahl der Pixel, ab der ein Objekt erkannt werden soll. Das sollte man an eigene Umgebung/Objekt anpassen.
Pan/Tilt Demo
Wenn Pixy zusammen mit einem Pan/Tilt Kit erworben wurde, kann man unter Action > Run pan/tilt demo, dem angelernten Objekt (Signatur 1) folgen. Das komplett ohne zusätzlichen Controller und die Servos werden an Pixy angeschlossen. Bei Verwendung des Pan/Tilt Moduls, sollte man auch einen Blick in die Einstellungen werfen. Servofrequency mach die Bewegungen des Servos etwas langsamer, sodass die Servos nicht ganz so wild hin und her zucken.
Anlernen ohne PixyMon
Es gibt noch die Möglichkeit, Objekte ohne PixyMon anzulernen. Dazu drückt man den weißen Taster so lange, bis die LED rot leuchtet. Dann hält man das Objekt vor der Kamera und kann anhand der LED Farbe, die erkannte Farbe sehen. Dann betätigt man nochmal den Taster und die Signatur wird gespeichert. Leider funktioniert diese Methode nur beschränkt, weswegen man die Signaturen lieber über PixyMon anlernen sollte.
Stromversorgung
Man kann Pixy entweder mit 5V über den Wannenstecker versorgen oder mit 6-10V über Vin am weißen Stecker (Rückseite). Eine USB-Buchse vom PC, als Stromversorgung eignet sich nur bedingt. Ohne Pan/Tilt sollte es ohne Probleme gehen, mit Pan/Tilt konnte ich in einem kleinem 5 Min. Test mit Netzteil, ganz schnell die 500mA Grenze überschreiten und der max. Strom lag am Ende bei >700mA.
Pixy Wiki: http://www.cmucam.org/projects/cmucam5/wiki
Die pixy kann also nur Farben unterscheiden oder auch Muster, z.b. verschiedene schwarz/weiß anordnungen?
Mein letzter Stand war so, dass die Pixy nur Farbsignaturen aus einer bzw zwei Farben unterscheiden konnte. Die zweifarbigen Signaturen waren u.A. dazu da, um auch den Neigungswinkel des Objektes zu bestimmen (einfarbig nur Position XYZ) Grelle Farben sind hier sehr empfehlenswert.
Hallo mein Pixy kann das Objekt erkennen, aber mit dem Pan/Tilt Demo
folgt er dem Objekt nicht.
Im Terminal steht:
Pixy detected.
> runprogArg 8 1
response: 0 (0x0)
> runprog 1
response: -1 (0xffffffff)
Hi,
sorry, ich bin leider schon lange nicht mehr im Besitz des Pixy Moduls. Habe es mir damals nur geliehen, um damit etwas rum zu spielen und um meine Erfahrungen hier zu teilen.
Folgendes könntest du tun
– Du kannst mal versuchen wieder von Null anzufangen und alle Schritte nochmal sorgfältig durchgehen.
– In einschlägigen Foren nachfragen (z.B. sind im Roboternetz.de einige Pixy Besitzer unterwegs)
– Den technischen Support des Verkäufers kontaktieren.