Die Kamera, die ein Bild aufnimmt, ist in zwei Phasen unterteilt: Belichtung und Auslesen. Abhängig vom von der Kamera verwendeten Sensor ist auch das überlappende Verhältnis zwischen Belichtungszeit und Auslesezeit der Kamera unterschiedlich, das in überlappende Belichtung und nicht überlappende Belichtung unterteilt werden kann.
Im Vergleich zur nicht überlappenden Belichtung kann die überlappende Belichtung den Einfluss der Belichtungszeit auf die Zeichenzeit verringern.
Umgeschriebener Satz: Nachdem die Belichtung und das Auslesen des aktuellen Bildes abgeschlossen sind, werden die Belichtung und das Auslesen des nächsten Bildes durchgeführt. Dies ist eine nicht überlappende Belichtung. Die nicht überlappende Belichtungsbildperiode ist größer als die Summe aus Belichtungszeit und Bildauslesezeit.
Innerer Triggermodus, nicht überlappende Belichtung
Überlappende Belichtung bedeutet, dass sich die Belichtung des aktuellen Bildes teilweise mit dem Auslesevorgang des vorherigen Bildes, also des nächsten Bildes, überschneidet Die Belichtung hat begonnen, während das Auslesen des vorherigen Bildes noch läuft. Die überlappende Belichtungsbildperiode ist kleiner oder gleich der Summe aus Belichtungszeit und Bildauslesezeit.
Innerer Triggermodus mit überlappender Belichtung
Ja! Der Zweck des vorherigen Absatzes besteht darin, Ihnen zu sagen: Seien Sie nicht überrascht, wenn sich die Belichtungszeit des aktuellen Bildes mit der Auslesezeit des vorherigen Bildes in der folgenden Beschreibung überschneidet.
Der Triggermodus der Kamera ist in zwei Typen unterteilt: interner Triggermodus und externer Triggermodus.
Interner Triggermodus: Die Kamera sammelt Bilder über das im Gerät bereitgestellte Signal.
Externer Triggermodus: Die Kamera sammelt Bilder durch externe Signale. Soft-Trigger und Hardware-Trigger sind die beiden Hauptformen externer Signale. Externe Signale können entweder Software-Signale oder Hardware-Signale sein. Der externe Triggermodus ist wie in der Abbildung dargestellt:
Externer Triggermodus
Softtrigger: Das Triggersignal wird von der Software gesendet (Sie können auch die von der Kamera bereitgestellte API-Schnittstelle verwenden SDK für Soft-Trigger).
Bei Verwendung von Hardware-Trigger verbindet sich die Kamera über ihre I/O-Schnittstelle mit dem externen Gerät und empfängt das Triggerimpulssignal vom externen Gerät, um Bilder zu sammeln. Tatsächlich liest und schreibt es direkt die internen Register der Kamera. Das Bild unten ist das 6-polige Kabel des Stroms der Hikvision-Kamera:
Hikvision-Kamera Strom und IO-Schnittstelle (6-polige Hirose )
Unter diesen verfügt die Hikvision-Kamera über 1 optokopplerisolierten Eingang Line0+ und 1 konfigurierbaren Ein- und Ausgang Line2+, von denen einer als Eingangssignal ausgewählt werden kann.
Das Triggerausgangssignal der Kamera ist ein Schaltsignal, das zur Steuerung externer Geräte wie Alarmleuchten, Lichtquellen und SPS verwendet werden kann. Das Trigger-Ausgangssignal kann über das Strobe-Signal realisiert werden.
Wenn die Kamera belichtet wird, erzeugt sie sofort ein hochwirksames Strobe-Signal. Im Folgenden verwenden wir dieses Signal hauptsächlich, um eine harte Triggerung auf andere Sensoren wie Lidar durchzuführen. Es gibt ein Konzept der Strobe-Vorausgabe. Das Strobe-Signal wird früher als die Belichtung wirksam. Sein Funktionsprinzip besteht darin, die Belichtung zu verzögern und zuerst die Strobe-Ausgabe durchzuführen. Diese Funktion kann auf externe Geräte angewendet werden, die langsam reagieren. Das Timing der Strobe-Vorausgabe ist in der Abbildung dargestellt. (Ich werde später darüber sprechen, warum eine verzögerte Belichtung erforderlich ist).
Strobe-Signal-Vorausgabe-Timing
Jetzt kommen wir zurück zum Thema, jetzt wird es schnell gehen.
Es gibt drei Hauptmethoden zum Synchronisieren von Kamera- und Lidar-Zeitstempeln: Hard-Trigger, Soft-Trigger und Soft-Trigger plus einen Hard-Trigger. Im Folgenden stelle ich sie einzeln in Form eines handgezeichneten schematischen Diagramms vor.
Lassen Sie uns zunächst über das harte Triggern sprechen. Eine MCU erzeugt Impulssignale, um drei Sensorgeräte hart auszulösen.
Für Soft-Trigger + Hard-Trigger können Sie zunächst die API des Kamera-SDK verwenden, um eine Kamera sanft auszulösen, und dann das externe Triggersignal Strobe der Kamera verwenden, um einen Hard-Trigger auf anderen Sensoren wie Radar durchzuführen und Kameras.
Hier gibt es ein Problem, das beachtet werden muss: Wenn die erste Kamera, die weich ausgelöst wird, gleichzeitig mit der Belichtung ein Strobe-Signal aussendet, werden es die anderen Sensoren, die hart ausgelöst werden, immer tun einen Schritt zu spät und kann nicht vollständig synchronisiert werden. Daher wird das zuvor vorgeschlagene Konzept des Vor-Ausgabe-Strobes eingeführt, das heißt, die Strobe-Ausgabe erfolgt vor der verzögerten Belichtung.
Achten Sie bei der Konfiguration dieses Modus auf vier Punkte:
Lassen Sie uns abschließend noch über den Soft-Trigger sprechen, der nicht empfohlen wird.
Der erste Aufruf der API-Operation ist offensichtlich langsamer als der harte Trigger (direkte Lese- und Schreibvorgänge auf dem internen Register des Sensors API(1) haben bereits einige Zeit gedauert, bevor der zweite Befehl API(2) ausgeführt wurde.
<code>//读取lidar和image数据的线程1while(1){API(1); //软触发第一个sensorAPI(2); //软触发第二个sensor//假设脉冲周期为0.5s}//处理数据线程2for(i=0;i<nimage gettickcount t1 gettickfrequency></nimage></code>
Wenn die zum Verarbeiten eines einzelnen Datenrahmens erforderliche Zeit 0,5 Sekunden überschreitet, liest Thread 1 den nächsten Datenrahmen, was dazu führt, dass die Daten von Thread 2 durcheinander geraten. Thread 2 muss die Verarbeitung eines einzelnen Frames innerhalb von 0,5 Sekunden abschließen und nach jedem Frame warten (1/fps – aktuelle Frame-Verarbeitungszeit).
Das obige ist der detaillierte Inhalt vonIn einem Artikel geht es um das Problem der Zeitstempelsynchronisierung bei der Lidar- und Kamerakalibrierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!