FAQ

Kurze Antworten auf häufige Fragen zu LumiScan Template Finder. Jeder Eintrag verweist auf die Seite mit den Details.

Jeder Eintrag hat einen festen Anker (zum Beispiel #faq-pixel-formats). Probleme, Fehlermeldungen und Statuscodes sind Schritt für Schritt unter Fehlerbehebung beschrieben.

Voraussetzungen und Einrichtung

Auf welchen Plattformen läuft der Template Finder, und welchen Data Layer verwendet er?

Antwort

Auf ctrlX OS (ctrlX CORE oder ctrlX IPC) verwendet er den ctrlX Data Layer; auf einem PC mit Windows 11 oder Ubuntu 24.04 verwendet er LumiScan Keryx, den Data Layer von HD Vision Systems für PCs. Die Knotenadressen, Typen und die Art, wie die Methoden aufgerufen werden, sind auf beiden gleich; ein Programm, das für den einen geschrieben wurde, funktioniert auch mit dem anderen. Nur die Namen der Ergebnisse eines Methodenaufrufs unterscheiden sich, zum Beispiel DL_TOO_MANY_OPERATIONS auf dem ctrlX Data Layer und TooManyOperations bei LumiScan Keryx.

Mehr

Data-Layer-Referenz, ctrlX Data Layer und LumiScan Keryx

Welche Bildquelle benötigt der Template Finder?

Antwort

Die Anwendung spricht nicht selbst mit einer Kamera. Sie liest den Bildknoten einer anderen Anwendung, die auf demselben Gerät läuft - derselben ctrlX CORE oder demselben ctrlX IPC oder demselben PC (ein Zugriff auf einen entfernten Data Layer wird nicht unterstützt), normalerweise LumiScan Cam Driver, zum Beispiel hdvisionsystems/lumiscan-cam-driver/camera1/output/image. Jede Anwendung ist geeignet, deren Bildknoten data (rohe, unkomprimierte uint8-Pixeldaten), width, height und pixel-type (Name des GenICam-Pixelformats) bereitstellt. Eine Adresse innerhalb des Template Finder selbst wird mit Statuscode -2 abgelehnt.

Mehr

Voraussetzungen, Data-Layer-Referenz

Welche Pixelformate werden unterstützt?

Antwort

Mono8, Mono12, RGB8, RGB12, BGR8, BGR12, BayerGR8, BayerGR12, BayerRG8 und BayerRG12. Bayer-Bilder werden vor dem Matching in Farbe umgewandelt und 12-Bit-Bilder auf 8 Bit herunterskaliert, sodass Vorlagen aus einem Format auch in Bildern eines anderen Formats gefunden werden. Jedes andere Pixelformat wird mit Statuscode -3 abgelehnt.

Mehr

Voraussetzungen

Vorlagen

Wie erstelle ich eine Vorlage aus einem Live-Kamerabild?

Antwort

Verwenden Sie system/create-template. Die Methode gilt für die gesamte Anwendung: Sie schneidet eine Region aus dem aktuellen Bild aus und speichert sie als PNG, das jedes Modul verwenden kann:

  • Stellen Sie sicher, dass die Kameraanwendung ein Bild aufgenommen hat.

  • Setzen Sie system/create-template/input/input-image-address, die vier Werte unter input/crop/ (width und height müssen größer als 0 sein) und input/template-name. Verwenden Sie einen Namen in Kleinbuchstaben; .png wird angehängt, wenn Sie keine Erweiterung angeben.

  • Schreiben Sie auf system/create-template/execute und lesen Sie output/status-code. Bei 1 benennt output/template-path die Datei, zum Beispiel templates/screw.png.

  • Bei -5 passt die Region nicht in das Bild; output/status-text nennt die tatsächliche Bildgröße.

  • Die Datei wird als 8-Bit-RGB-PNG geschrieben, unabhängig vom Pixelformat der Kamera. Eine vorhandene Datei mit demselben Namen wird ohne Warnung überschrieben.

Mehr

Eine Vorlage erstellen, Anleitung: Ein Teil in einem Kamerabild finden

Wo werden Vorlagen gespeichert, und kann ich eine auf einem PC vorbereitete Vorlage hochladen?

Antwort

Vorlagen sind PNG-Dateien im Ordner templates des Konfigurationsverzeichnisses der Anwendung, der beim ersten Start angelegt wird. Eine von Hand hinzugefügte Vorlage wird bei der nächsten Suche gelesen, ohne Neustart.

  • Auf ctrlX OS ist das Verzeichnis Teil der aktiven Solution (/var/snap/rexroth-solutions/common/solutions/activeConfiguration/lumiscan-template-finder), sodass Vorlagen mit der Solution exportiert und wiederhergestellt werden. Ein vorbereitetes PNG (8-Bit-RGB oder Graustufen) kann über die ctrlX-Weboberfläche dorthin hochgeladen werden.

  • Auf einem PC wird ein vorbereitetes PNG in den Ordner kopiert. Unter Windows ist das Verzeichnis %APP_RESOURCE_DIR%\etc\lumiscan-template-finder, oder ohne APP_RESOURCE_DIR C:\ProgramData\HD Vision Systems GmbH\LumiScan Vision Suite\lumiscan-templ-find\etc\lumiscan-template-finder.

  • Um einen anderen Ordner zu verwenden, schreiben Sie system/set-template-dir/input/template-dir, führen Sie system/set-template-dir aus und prüfen Sie, dass der Statuscode 1 ist. Der Ordner muss bereits vorhanden sein; ein absoluter Pfad oder ein Pfad, der aus dem Konfigurationsverzeichnis hinausführt, wird mit -2 abgelehnt.

Mehr

Speicherung der Vorlagen

Suchen und Abstimmen

Wie führe ich eine Suche aus und lese das Ergebnis?

Antwort

Setzen Sie find-template/input/input-image-address und find-template/input/template-name (wie auf system/templates aufgeführt), schreiben Sie auf find-template/execute und lesen Sie find-template/output/status-code. Der Schreibvorgang blockiert und kehrt zurück, wenn die Suche abgeschlossen ist. Bei 1 lesen Sie output/result: matches ist nach Konfidenz sortiert, sodass matches[0] und best_score den besten Treffer liefern. Jeder Treffer hat eine oriented_bounding_box (center_x, center_y, width, height in Pixeln, angle in Grad), confidence, scale und rotation. Eine leere Liste matches mit Status 1 ist ein normales Ergebnis: Das Teil wurde nicht gefunden.

Mehr

Eine Vorlage finden

Wie kann ich die Suche beschleunigen?

Antwort
  • Suchen Sie nur in einem so großen Skalierungs- und Drehungsbereich, wie die Teile tatsächlich variieren, mit einer groben Schrittweite.

  • Erhöhen Sie input/preprocess/bin-size auf 2 (etwa viermal schneller) und prüfen Sie, ob die Konfidenz noch akzeptabel ist. Kleine oder dünne Vorlagen sollten bei 1 bleiben.

  • Belassen Sie input/use-grayscale auf true (etwa dreimal schneller als das Matching jedes einzelnen Farbkanals); schalten Sie es nur aus, wenn die Farbe das Teil unterscheidet.

  • Beschränken Sie die Suche mit input/crop/ auf eine Region.

Mehr

Die Suche abstimmen, Voraussetzungen

Wie suche ich nur in einem Teil des Bilds, und in welchem Koordinatensystem sind die Positionen?

Antwort

Setzen Sie find-template/input/crop/ (startX, startY, width, height). Eine Breite oder Höhe von null reicht bis zum rechten bzw. unteren Rand; mit lauter Nullen wird also das ganze Bild durchsucht. Eine Region, die über einen Rand hinausreicht, wird abgelehnt und nicht beschnitten, mit einer Meldung wie crop/startX + crop/width (100 + 541 = 641) exceeds the image width 640. input/result-coordinate bestimmt das Koordinatensystem der Positionen: IMAGE (Standard, das ganze Bild, direkt für einen Robotergriff verwendbar) oder CROP (die durchsuchte Region, obere linke Ecke (0,0)).

Mehr

Eine Vorlage finden

Kann der Template Finder jedes Bild durchsuchen, das eine Kamera streamt?

Antwort

Ja, als experimentelle Funktion. Ein Modul abonniert den Stream einer Kamera und durchsucht jedes Bild mit den Eingaben von find-template (alle außer input/input-image-address); es veröffentlicht ein Ergebnis pro Bild auf <module-id>/control/subscribe/output/stream/result:

  • Stellen Sie sicher, dass der Stream des Cam Driver läuft.

  • Schreiben Sie den Stream-Ordner der Kamera, zum Beispiel hdvisionsystems/lumiscan-cam-driver/camera1/control/publish/output/stream, auf <module-id>/control/subscribe/input/address.

  • Setzen Sie control/subscribe/input/enable auf true und schreiben Sie auf control/subscribe/execute. Nur enable zu schreiben startet nichts.

  • Warten Sie, bis control/subscribe/output/stream/active true ist.

  • Was control/subscribe/execute anwendet, wird in <module-id>.json gespeichert; ein Modul, das gestreamt hat, streamt nach einem Neustart wieder. Für eine SPS schalten Sie control/subscribe/input/keep-latest-output ein und lesen find-template/output/result.

Mehr

Vorlagen in einem Bild-Stream finden (experimentell), Streams (experimentell)

Statuscodes und Fehler

Woran erkenne ich, ob eine Operation erfolgreich war, und wo steht der Grund für einen Fehler?

Antwort

Prüfen Sie das Vorzeichen von output/status-code: Größer als 0 bedeutet Erfolg, 0 bedeutet, dass die Operation seit dem Start der Anwendung nicht ausgeführt wurde, kleiner als 0 bedeutet, dass sie fehlgeschlagen ist und nichts erzeugt hat. Der Grund steht auf output/status-text, der mit ok: oder error: beginnt. Ein fehlgeschlagener Schreibvorgang auf execute selbst antwortet nur mit einem Statuscode (über REST ein bloßes 400); lesen Sie danach output/status-text. Derselbe Text wird in das Protokoll der Anwendung geschrieben: auf ctrlX OS in das ctrlX Logbook oder mit journalctl, auf einem PC in die Konsolenausgabe der Anwendung. -1 (belegt) bedeutet, dass eine andere Operation desselben Moduls noch lief; es wurde nichts getan, versuchen Sie es also erneut, sobald sie abgeschlossen ist.

Mehr

Eine Methode ausführen, Ausführungsstatus

Lizenzierung und Support

Welche Lizenz benötige ich, und wie viele Module deckt sie ab?

Antwort

Eine Lizenz deckt zehn Module ab; das elfte Modul belegt eine zweite Lizenz desselben Schlüssels, und ein Modul wird mit Status -11 abgelehnt, wenn keine Lizenz auf dem Gerät es abdeckt. Bezugswege:

  • Bei HD Vision Systems gekauft: Die Lizenz befindet sich auf einem LumiScan Key (Windows 11 oder Ubuntu 24.04). Pro Gerät, auf dem die Software gleichzeitig läuft, wird ein LumiScan Key benötigt; Keys können zwischen Geräten getauscht werden.

  • Im ctrlX Store für Windows 11 gekauft: ctrlX WORKS plus ein LumiScan Key.

  • Im ctrlX Store für ctrlX OS (ctrlX CORE oder IPC) gekauft: eine ctrlX-Lizenz, kein Key.

Mehr

Voraussetzungen, Modulverwaltung, FAQ zur Lizenzierung

Wo finde ich weitere Antworten oder Support?

Antwort

Siehe die LumiScan-FAQ der gesamten Dokumentation. Wenden Sie sich an den Customer Success von HD Vision Systems unter customer.success@hdvisionsystems.com oder +49 6221 6721905; für Lizenzen an licenses@hdvisionsystems.com. Bevor Sie ein Problem für einen Support-Bericht reproduzieren, setzen Sie logLevel im Block system von lumiscan-template-finder.json auf TRACE und starten Sie die Anwendung neu.

Mehr

Speicherung der Vorlagen, FAQ zur Lizenzierung