AT 3D Sensor C6

Bevor ein 3D-Laser-Sensor der C6-Serie von Automation Technology verwendet werden kann, muss zunächst die „CommonVisionBlox CameraSuite Runtime (x64)“ von Stemmer Imaging installiert werden. Hier ist der Filtertreiber „siNetFilter GigE Vision Filter Driver“ enthalten, der für die Bildaufnahme benötigt wird.

Laut Dokumentation müssen folgende Netzwerkeinstellungen am Adapter gesetzt werden:

  • Jumbo Frames/Packets: 9014 Bytes

  • Receive Descriptors/Buffers: 2048 Bytes

  • Transmit Descriptors/Buffers: 2048 Bytes

  • Flow Control: Disabled

  • Interrupt Moderation Rate: Extreme

Allgemeine Einstellungen

../../_images/at-00_full_numbered.PNG
  1. Allgemeine Einstellungen: Bildquellen-Editor

  2. Funktionsschaltflächen:

    • Read from Camera: Alle verwendeten GenICam Parameter werden vom 3D Sensor ausgelesen.

    • Write: Alle verwendeten GenICam Parameter werden auf den 3D Sensor geschrieben.

    • ExportXml: Alle aktuellen AT Parameter werden ausgelesen und in einer Xml Datei gespeichert.

    • Factory Defaults: Setzt die Einstellungen des 3D Sensors auf die Werkseinstellungen zurück.

    • Reset: Setzt die Einstellungen des 3D Sensors auf den Parametersatz zurück, der beim Einschalten des Sensors aktiv war.

    • Stop: Führt einen manuellen Stopp der Akquirierung durch.

    • Live Profile: Zeigt das Live-Bild des 3D Sensors.

  3. Kameraliste: Auswahlliste aller C6 Scanner. Die Liste kann mit dem „… - Taster“ aktualisiert werden.

  4. Sensor- und Lichteinstellungen:

    • Timeout: Timeout für die Bildakquisition in [ms].

    • Exposure Time: Beleuchtungszeit bei Bildaufnahme in [ms].

    • Light Brightness: Helligkeit des Lasers in [%].

    • Light Controller Source: Triggereinstellung für die Laserlinie.

    • Acquisition Mode: Aktuell wird nur der SingleFrame Modus unterstützt.

  5. Trigger:

    • TriggerEnabled: Schaltet die verwendeten Acquisitiontrigger aktiv.

    • Acqu Trigger Source: Verwendet das ausgewählte interne oder physikalische Eingangssignal als Triggerquelle für den AcquisitionStart.

    • Acqu Trigger Activation: Spezifiziert, welche Signalflanken als Triggersignale verwendet werden sollen.

    • Line Trigger Mode: Aktiviert den LineScan.

    • Line Trigger Source: Verwendet das ausgewählte interne oder physikalische Eingangssignal als Triggerquelle für den LineStart.

  6. Range Image Conversion:

    • Profile Distance: Abstand zwischen zwei Profilen in [mm].

    • Profiles to Skip: Anzahl aufgenommener Profile, die für das Cognex-Bild übersprungen werden sollen.

    • Convert To Z-Map: Das AT-Bild wird nicht mehr direkt aus dem Device Buffer geholt. Die Z-Map wird über die Scannerkalibrierung kalkuliert und das AT-Bild im Anschluss daraus extrahiert.

    • Convert To CogImage8Grey: Wandelt das aufgenommene 16-Bit Range Bild in ein 8-Bit Grauwertbild um.

  7. Trigger Overrun Handling:

    • Mode: Hier kann eingestellt werden, wie mit einem Trigger Overrun umgegangen werden soll.

    • Max lost profiles: Anzahl der Profile, für die ein Trigger Overrun akzeptiert wird.

Bildkomponenten

../../_images/at-02_Images.PNG

Im LineScan3D Aufnahmemodus ist es im Gegensatz zum AreaScan (nur Intensity-Komponente) möglich, mehr als nur eine Bildkomponente aufzunehmen. Hier kann für jede Region definiert werden, welche Bildkomponenten daraus ausgegeben werden sollen. Mögliche Optionen sind:

  • Intensity

  • Range

  • Reflectance

  • Scatter

  • SumOfIntensity

Regions Of Interest

../../_images/at-03_roi_numbered.PNG
  1. Region: Auswahl der Region, deren Einstellungen angepasst werden sollen.

  2. Enable: Aktiviert die aktuell ausgewählte Region.

  3. Num Profiles Scan3d: Anzahl der Profile, die bei der nächsten Bildaufnahme aufgenommen werden sollen.

  4. ROI Info: Hilfe für die Einstellung einer ROI.

  5. ROI Settings: Offset und Größe der aktuellen ROI.

  6. Apply ROI from rectangle: Hier gibt es die Möglichkeit ein Rechteck in das Liveprofil zu ziehen, anzupassen und dessen Offset sowie seine Größe für die aktuell ausgewählte Region zu übernehmen.

../../_images/at-09_live.PNG

3D Extraktion

../../_images/at-04_3dextraction_numbered.PNG
  1. Region: Auswahl der Region, deren Einstellungen angepasst werden sollen. Dieses Feld ist mit der ausgewählten Region auf dem „ROI“-Reiter verknüpft.

  2. Z Coordinate Scale: Skalierungsfaktor für das Transformieren eines Pixels von relativen Koordinaten zu Weltkoordinaten. [Formel: Skalierungsfaktor = 1/(2^SubPixel)]
    Z Resolution: Kehrwert des Skalierungsfaktors.
    Z Subpixel: Subpixelskalierung. Abhängig von den verwendeten Range Algorithmus Einstellungen werden die Range Werte mit der Anzahl der Subpixel skaliert.

  3. Extraction Method: Auswahl des verwendeten Algorithmus zur genauen Extraktion der Laserlinienposition.

  4. Extraction Settings: Hier können Parameter für die verschiedenen Extraktionsalgorithmen eingestellt werden.

  5. Filter Coefficients: Abhänging vom verwendeten Algorithmus können verschiedene Filtertypen mit den Ordnungen 5, 7 oder 9 verwendet werden.

  6. Manual: Bei Auswahl des Filtertyps „Manual“ können hier benutzerdefinierte Filterkoeffizienten verwendet werden.

Encoder

../../_images/at-05_encoder.PNG
  1. Encoder Control:

    • Encoder Resolution: Hier ist die Auflösung des Encoders der verwendeten Achse einzutragen.

    • Encoder Mode:
      • High Resolution: Jede Zustandsänderung des/der Encodersignals/Encodersignale wird gezählt.

      • Four Phase: Jeder Zustand muss einmal durchlaufen werden, um den Encoderwert zu erhöhen.

    • Encoder Divider: Gibt an, wie viele Encoder increments/decrements benötigt werden, um ein Encoderausgangssignal zu generieren.

    • Encoder Output Mode:
      • Position Up: Ein Encodersignal wird nur bei Bewegung in eine Richtung generiert. Wird der letzte Encoderwert der Aufnahme in entgegengesetzter Richtung überquert, wird die Aufnahme erst bei überschreiten der zuletzt aufgenommenen Position fortgesetzt.

      • Position Down: Wie „Position Up“, nur in entgegengesetzter Richtung.

      • Direction Up: Ein Encodersignal wird nur bei Bewegung in eine Richtung generiert. Der Unterschied zu „Position Up“ ist die Positionsabhängigkeit.

      • Direction Down: Wie „Direction Up“, nur in entgegengesetzter Richtung.

      • Motion: Encoderausgangssignale werden in beide Richtungen generiert.

  2. Encoder Sources: Definiert die Triggersignalquelle(n).

  3. Profil Distance: Abstand zwischen zwei Profilen in [mm].

  4. ClearTriggerCoordinateOnAcquStart: Bietet die Möglichkeit einen EncoderReset vor jeder Bildaufnahme durchzuführen.
    Read Current Value: Lest den aktuellen Encoderwert des aktuell verwendeten Encoders aus.

Aktive Parameter

../../_images/at-06_activeparams.PNG

get: Liest alle aktuell verfügbaren GenICam Parameter aus dem 3D-Laser-Sensor aus und gibt diese in einer Liste aus.

Timing Info

../../_images/at-07_timinginfo.PNG

get: Liest die SensorReadoutTime(aktuell benötigte Zeit ein Bild auszugeben) und die SensorRateMax(aktuelle maximale Framerate) aus dem 3D-Laser-Sensor aus und berechnet daraus die maximale Verfahrgeschwindigkeit der Achse in [mm/s], ohne den Effekt eines Trigger Overruns.

GigE

../../_images/at-08_gige.PNG

PacketSize: Spezifiziert die Paketgröße in Bytes. Der Standardwert ist 1500. Unterstützt die Netzwerkkarte Jumbo Packets/Frames, sollte der Maximalwert von 7960 Bytes verwendet werden.
InterPacketDelay: Gibt die Verzögerung zwischen den Paketen in [timestamp counter unit] an. Standardwerte sind 100 bzw. 1000.

Bildquellenkonfiguration

../../_images/at-11_imagesource_configuration.PNG

Hier muss bei der Extraktion von mehreren Bildkomponenten für jedes zusätzliche Bild eine Slave-Bildquelle angelegt und konfiguriert werden.