POB-EYE, neues Kamera-Modul mit Objekterkennung

Erweiterungen zum c't-Bot

Moderator: Moderatoren Team

Antworten
marvin
Wiki Master
Wiki Master
Beiträge: 440
Registriert: 18 Jan 2006, 16:21
Wohnort: Berlin
Kontaktdaten:

POB-EYE, neues Kamera-Modul mit Objekterkennung

Beitrag von marvin » 06 Jun 2006, 10:44

Hi,

bei roboter-teile.de gibt es ein neues Kamera-Modul mit Objekterkennung, ähnlich der CMUcam2. Hersteller ist die französische Firma Pob Technology.
Das gute Stück ist zwar um einiges teurer als die CMUcam2, kann dafür auch einiges mehr und hat einen leistungsfähigeren Prozessor.

Die Eckdaten:
– Prozessor 32bit ARM7TDMI, 60Mhz
– 64 Kbyte RAM, 128 Kbyte Flash
– I2C bus
– Serieller Port
– 15 Digital-I/O
– Programmiersprachen: C, JAVA, BASIC
– SDK im Lieferumfang
- Abmessungen 64,28 x 49,50 mm
- Auflösung 88 x 120 pixels
- Farbauflösung (8bit pro Farbkomponente)
- Bildspeicher 32KByte
- Versorgungsspannung 6V bis 9V
- Stromaufnahme ca. 80mA
- Ausgangspegel 3,3V (5 Volt tolerant)

Zum Lieferumfang gehört zudem noch ein SDK, mit dem man das Kamera-Modul selber programmieren kann.
Auch die Ansteuerung über I2C ist natürlich ein nettes Feature, was der CMUcam2 fehlt.
Das Kameramodul ist das gleiche wie bei der CMUcam2, ein C3088 Modul mit OV6620 und 3,7mm Optik.

Klingt auf alle Fälle sehr interessant.

Gruß marvin

VDX
Friends of Johnny-5
Friends of Johnny-5
Beiträge: 258
Registriert: 26 Jan 2006, 22:43
Wohnort: Großkrotzenburg (Main-Kinzig-Kreis)

Beitrag von VDX » 06 Jun 2006, 19:47

Hi Marvin,

... ist vorgemerkt, muß nur noch etwas ansparen ;-)

Ciao, V2

Joerg
Friends of Marvin
Friends of Marvin
Beiträge: 1
Registriert: 10 Jun 2006, 11:25

Beitrag von Joerg » 10 Jun 2006, 14:53

Hallo,

für die Leute, die die CMUcams kennen, möchte ich nochmal auf die Unterschiede der Architekturen eingehen. Die CMUcams kommen mit einer fertigen, von der CMU erstellten Firmware. Die Interaktion mit der Peripherie / Hostcontroller findet ausschließlich über die RS232-Schnittstelle statt. Dabei werden Befehle zur CMUcam übertragen, diese antwortet daraufhin mit Datenpaketen. Als fertige Funktionen stehen im wesentlichen das Color-Tracking (als Ergebnis kommen die Eckpunkte einer bounding box + Schwerpunkt der matchenden Pixel) und Motion Detection (Ergebnis sind die Nummern von einzelnen Zonen, wo sich Veränderungen ergeben haben). Für eigene Erweiterungen kommt man am LineMode nicht vorbei, hier muss man dann das binäre Ergebnisbild (z.B. nach Vorverarbeitung Colortracking) komplett über die RS232 übertragen und vom Hostcontroller auswerten lassen.

Die POB-EYE Cam geht einen völlig anderen Weg. Hier gibt es ein eigenes Entwicklungssystem (Compiler und SDK). Dabei werden die Bilderkennungsfunktionen als Library mitgeliefert, man erstellt die komplette Applikation selbst. Das ist möglich in den Programmiersprachen C, BASIC oder JAVA, also für jeden etwas dabei.

Mit dem Kamerabild (88x120Pixel, 8bit je Farbe) lassen sich verschiedene Operationen machen, fertig vorhanden gibts halt die Pattern-Erkennung und das Pattern-Tracking. Wobei die Suche auf 10 Pattern beschränkt ist.
Sollten verschiedene Pattern in einem Bild auftauchen (oder ein Pattern mehrmals) werden in einer Liste alle gefundenen Pattern und ihre Positionen zurückgegeben.
Man kann aber auch vollkommen eigene Operationen machen. Für eine einfache Linienverfolgung habe ich z.B. nach der Binarisierung den Schwerpunkt berechnet und bekomme als Output einen X-Wert den ich direkt für die Lenkung nutzen kann.

Weiterhin kann die POB-Eye Cam über einen externen parallelen Bus weitere Geräte (verfügbar sind eine Grafik-LCD-Anzeige und ein Prototypenboard mit Motor- und Servotreibern) ansteuern. Das LCD-Display kann die binarisierten Bilddaten in Echtzeit anzeigen, durch die Controllerbelastung beim Datenschaufeln sinkt die Framerate dabei auf ca. 7-8 fps, wenn man jedes Bild überträgt. Hier hat man aber vollkommen freie Hand. Das LCD eignet sich auch gut dazu ein GUI (grafisches Menü mit Cursor) zu bauen. Auf dem Prototypenboard ist ein geeigneter Joystick integriert, man kann aber auch was vollkommen eigenes machen.
Bei der POB-EYE Anbindung für den Robonova (die ich auf der RoboCup-WM vorführen möchte) erfolgt z.B. die Menüführung mit der Robonova-IR-Fernbedienung.

Zur Verfügung stehen auch I2C oder RS232 (12V-Pegel) als Interface. Es ist kein Problem über I2C andere Sensoren auszulesen oder auch einen Motortreiber anzusteuern. Gleiches gilt für die RS232. Die Cam kann aber nur als I2C-Master arbeiten.
Damit ausgerüstet kann die POB-Eye Cam einen Roboter steuern.

Beim Hersteller www.pob-technology.com oder In unserem Webshop sind verschiedene Videos als Beispiel downloadbar.

Hoffe einige Fragen hiermit beantwortet zu haben.

Viele Grüße
Jörg
roboter-teile.de

Antworten