Häufig gestellte Fragen#
Allgemeine Fragen#
Was ist das Besondere an der CMUcam1?#
Traditionell werden schnelle Computer benötigt, um Kamerabilder zu erfassen und zu verarbeiten. Es ist auch notwendig, die Software zu schreiben, um diese Verarbeitung durchzuführen. Aus diesem Grund ist es schwierig, Vision als Sensor in einfachen Systemen zu verwenden.
Das CMUcam1-Bildverarbeitungssystem verwendet einen schnellen, kostengünstigen Mikrocontroller, um die gesamte Hochgeschwindigkeitsverarbeitung der Kameradaten zu bewältigen, und enthält Software zur Durchführung einfacher Bildverarbeitungsaufgaben. Da der Benutzer wählen kann, nur hochrangige Informationen mit geringer Bandbreite aus dem Bildverarbeitungssystem auszugeben, wie etwa dass sich das rote Objekt an der Position X-Y befindet, ist es für einen einfachen Prozessor wie einen PIC-Mikrocontroller möglich, diese Daten zu lesen und einen kleinen Roboter bei Aufgaben wie dem Verfolgen eines farbigen Balls zu steuern. Das CMUcam1-Bildverarbeitungssystem ermöglicht es, die Komplexität der Kameraanbindung zu ignorieren und die Bildverarbeitung wie jeden anderen Sensor (z. B. Sonar) zu verwenden, der häufig in Robotersystemen eingesetzt wird.
Wie hoch ist die Bildrate der CMUcam1?#
Die schnellste Bildrate beträgt 16,7 Bilder pro Sekunde. Das bedeutet, die CMUcam1 kann Ihnen etwa 17 Mal pro Sekunde die Position eines Objekts mitteilen. Mithilfe des seriellen Softwareprotokolls können Sie dies bei Bedarf verlangsamen.
Welche Baudraten unterstützt die CMUcam1?#
Ab der neuesten Firmware-Version (v1.12) kann die CMUcam1 mit Baudraten von 9600, 19200, 38400 oder 115200 kommunizieren. Die Baudrate wird über Jumper-Einstellungen auf der Platine ausgewählt.
Wie aktualisiere ich die Firmware meiner CMUcam1?#
Wenn Sie derzeit die Firmware v1.11 verwenden, gibt es keinen Grund für ein Upgrade, es sei denn, Sie benötigen Unterstützung für die niedrigeren Baudraten. Version 1.11 unterstützt 38400 und 115200 Baud. Version 1.12 unterstützt diese Baudraten und fügt Unterstützung für 9600 und 19200 Baud hinzu. Um Ihre Firmware zu aktualisieren, müssen Sie den Flash-Speicher in Ihrem Prozessorchip neu programmieren. Wenn Sie einen Programmierer haben, können Sie die aktuelle Version von unserer Downloads-Seite herunterladen und den Prozessor selbst neu flashen.
Funktioniert die CMUcam1 im Freien?#
Die CMUcam1 funktioniert im Freien, aber nicht in direktem Sonnenschein. Die von uns verwendete CMOS-Kamera hat keinen hochwertigen IR-Filter, und so sättigt Sonnenlicht die roten Pixel und das Bild wird bei direktem Sonnenlicht im Wesentlichen monochrom. Es ist möglich, einen externen Filter hinzuzufügen, um den Betrieb im Freien zu verbessern. Wir haben eine kurze Beschreibung, die Ihnen zeigt, wie Beleuchtungsbedingungen die CMUcam1 beeinflussen, die Sie hier herunterladen können.
Kann ich eigenen Code für die CMUcam1 schreiben?#
Selbstverständlich. Dazu bitten Sie uns um den Quellcode der Firmware, bestellen sich eine C-Programmierumgebung für den Ubicom-Chip und legen los. Wenn wir Ihnen den Firmware-Quellcode zusenden, senden wir Ihnen außerdem eine Zusammenfassung darüber, wie der Code strukturiert ist, sowie Informationen über die von uns verwendete Programmierumgebung.
Wie viel Strom verbraucht die CMUcam1?#
Das komplette System verbraucht etwa 200 Milliampere.
Wie groß ist das Sichtfeld der CMUcam1?#
Dies hängt von der Linse ab, die Sie an der CMOS-Kamera anbringen. Wenn Sie die CMOS-Kamera in der standardmäßig verkauften Ausführung bestellen, erhalten Sie ein Sichtfeld von etwa 25 Grad, was relativ eng ist. Sie können jedoch bei der Bestellung Ihrer CMOS-Kamera speziell Weitwinkellinsen bestellen.
Welchen Prozessor verwendet die CMUcam1?#
Unser Bildverarbeitungscode befindet sich auf einem Mikrocontroller-Chip von Ubicom, der mit 75 MHz läuft, dem SX28AC. Dieser Chip liest alle Pixel von der CMOS-Kamera über eine parallele Schnittstelle und führt die gesamte Verarbeitung in Echtzeit durch. Anschließend übermittelt er die Ergebnisse über eine serielle Schnittstelle an Ihren Mikrocontroller oder Computer.
Welche CMOS-Kamera verwendet die CMUcam1?#
Wir verwenden eine CMOS-Kamera, die die OmniVision OV6620 CMOS-Kamera-auf-einem-Chip nutzt. Wir verwenden eine CMOS-Kameraplatine mit der Modellnummer C3088, auf der der Sensor, ein Steckverbinder und eine Linse montiert sind.
Funktioniert die CMUcam1 mit anderen CMOS-Kameras?#
Nein. Derzeit sind das Hardware- und Softwaresystem speziell für die Zusammenarbeit mit der OmniVision OV6620 CMOS-Kamera ausgelegt. Das System müsste vollständig neu entwickelt werden, um mit einer anderen Kamera zu funktionieren.
Gibt es einen Ort, an dem ich Antworten auf zusätzliche Fragen finden kann, die ich habe?#
Ja. Wir haben einige Informationen zu technischeren Fragen auf dieser Seite.
Wo kann ich mehr über Computer Vision im Allgemeinen erfahren?#
Die CMUcam1 erfüllt die einfache Bildverarbeitungsaufgabe, für die sie konzipiert wurde, in einem kleinen, kostengünstigen Paket. Das allgemeine Problem der Bildverarbeitung, beliebige Objekte unter beliebigen Bedingungen zu erkennen, ist jedoch nach wie vor ein sehr aktives Forschungsthema und weit davon entfernt, einer gelösten Aufgabe auch nur nahe zu kommen.
Wenn Sie mehr über Computer Vision erfahren möchten, könnten Sie diese Links ausprobieren:
Technische Fragen#
Wie lautet die genaue Abfolge der Schritte, die der Demo-Modus beim Einschalten ausführt?#
Hier ist die genaue Abfolge, die der Demo-Modus beim Einschalten ausführt:
Setzen Sie die Kamera zurück.
Warten Sie 5 Sekunden, bis sich die automatische Anpassung der Kameraparameter stabilisiert hat.
Senden Sie die Kameraregister-Zeichenkette:
CR 18 32 19 32, die den YCrCb-Modus auswählt und die automatische Verstärkung ausschaltet.Führen Sie den Befehl
TWaus.
Danach beginnt die Kamera, ein Servo in Richtung des Massenschwerpunkts der vom Befehl TW erkannten Farbe zu steuern.
Wie lautet die genaue Abfolge der Schritte, die der Befehl „TW“ ausführt?#
Hier ist die genaue Abfolge, die der Befehl TW ausführt:
Verkleinert das Fenster auf 1/4 der Größe (in jeder Dimension) des aktuellen Fensters zu einem neuen Fenster, das auf die Mitte des aktuellen Fensters zentriert ist.
Rufen Sie get mean auf.
Stellen Sie das Fenster auf die volle Bildgröße wieder her.
Setzen Sie den Höchst- und Mindestwert für jeden Farbkanal auf den Mittelwert für diesen Kanal +/- 30.
Danach beginnt die Kamera, Pakete vom Typ C, M oder N zu senden.
Unter welchen Bedingungen leuchtet die Tracking-LED auf, wenn der Auto-Modus aktiviert ist?#
Die LED leuchtet auf, wenn der zurückgegebene pixel_count >= 2 ist. Der zurückgegebene pixel_count = (actual_pixel_count + 4) / 8.
Wenn die CMOS-Kamera eine Auflösung von 352 x 288 Pixel hat, warum beträgt die Auflösung der CMUcam1 nur 80 x 143?#
Das Problem hier ist, wie digitale Farbkameras funktionieren. Bei allen digitalen Farbkameras (selbst den sehr teuren - abgesehen von einigen, die auf einer sehr fortschrittlichen Technologie basieren) erhalten Sie nur eine Farbkanalmessung pro Pixelposition, dies wird als Mosaikfilterung bezeichnet. Hier ist ein schönes Diagramm, das dies erklärt:

(Diagramm mit freundlicher Genehmigung von Foveon, Inc.)
Was man also sehen kann, ist, dass Pixel als in Vierergruppen angeordnet betrachtet werden können, wobei es pro Gruppe zwei G-Messungen und je eine R- und eine B-Messung gibt. Wenn man eine der G-Messungen verwirft (was wir tun), sieht man, dass die tatsächliche Auflösung einer 352x288-Kamera näher bei 176x144 liegt. Wir betreiben die Kamera im Halbauflösungsmodus, der horizontal jeden zweiten 2x2-Block überspringt, was 88x144 ergibt. Aufgrund von Speicherbeschränkungen im Prozessor verwerfen wir 8 Spalten horizontal und eine Zeile vertikal, die ein Testmuster enthält, was 80x143 als endgültige Auflösung ergibt.
Nur zur Information: Standard-Digitalkameras verwenden komplexe Interpolationstechniken, um die fehlenden Farbwerte an jedem Pixel aufzufüllen und Ihnen etwas näher an der vollen Auflösung des Sensors zu geben.
Wie kann ich die CMUcam1 präzise fokussieren?#
Natürlich ist die beste Methode zum Fokussieren, mit der GUI Frame-Dumps aufzunehmen. Möglicherweise haben Sie keinen Computer zur Hand oder Sie verwenden eine BotBall CMUcam1, die bei ihrer fest verdrahteten Baudrate von 9600 nicht über ausreichende Auflösung verfügt, damit dies gut funktioniert.
In diesem Fall gibt es zwei Alternativen. Erstens können Sie versuchen, die Gewindegänge zu zählen. Das Objektiv ist bei optimaler Fokussierung nicht vollständig eingeschraubt. Vielmehr ist ein etwa 1 Millimeter großer Gewindespalt sichtbar. In Bezug auf die Anzahl der Gewindegänge sind das etwa 2 Gewindegänge, die im Spalt zwischen dem Objektiv und der Objektivfassung sichtbar sind.
Die zweite Alternative beruht auf der Idee, dass die Dunkeltöne am dunkelsten und die Helltöne am hellsten sind, wenn ein Bild scharf ist. Mit anderen Worten, wenn der Kontrast am größten ist. Wenn das Bild unscharf wird, verblassen die Extremwerte zu einer gleichmäßigeren Verteilung der Intensitäten. Wenn Sie also den Streaming-Modus starten und dann GM (Get Mean) aufrufen, können Sie in Echtzeit fokussieren. Achten Sie auf die Rot-Abweichung. Wenn Sie in der gewünschten Entfernung scharf auf ein kontrastreiches Objekt (wie ein Stück Papier mit viel Schrift darauf) fokussieren, gibt es eine deutliche Spitze in der Rot-Abweichung, wenn am schärfsten fokussiert. Beachten Sie, dass dieser Ansatz zum Fokussieren erfordert, dass Sie die Kamera und das Ziel ziemlich fest positioniert haben, während Sie die Linse drehen.