LobeComparerTool

Das LobeComparerTool vergleicht die Außenkontur einer Nocke mit der trainierten Sollkontur einer Musternocke. Des Weiteren werden Anzahl und Position der Sicken geprüft. Bei unsymmetrischen Nocken bzw. über die Sicken bei symmetrischen Nocken wird ausgegeben, wie die Nocke gedreht ist (Fläche mit Sicken oben oder unten). Ist eine Nocke „falsch“ herum bzw. werden keine Sicken gefunden und hat die Nocke dennoch die passende Außenkontur, wird die Nocke als korrekt bewertet. jedoch mit dem Hinweis, dass sie gedreht ist (isMirrored). Stimmt die Außenkontur mit der trainierten Nocke überein, aber die Sickenpositionen bzw. deren Anzahl nicht, wird dies erkannt.

../../../_images/LobeComparerTool.png
  1. Train image: Aktuelles, trainiertes Bild; die Nocke sollte immer so trainiert werden, dass ihr Hauptachse parallel zur X-Achse des Bildes ist und die Sicken nach rechts ausgerichtet sind

  2. Trained contour: Visualisierung des Korridors (Toleranzband), in dem sich die ermittelte Kontur der Istnocke befinden muss

  3. Trained contour mirrored: Visualisierung des gespiegelten Korridors (Toleranzband), in dem sich die ermittelte Kontur der Istnocke befinden muss

  4. Train - Contour Settings - Dimple Settings - Graphics: Verschiedene Reiter zur Parametrierung des Tools (siehe weiter unten)

  5. Train Schaltflächen: Hier kann ein neues Sollbild aufgenommen und anhand dessen trainiert werden

Der innere, dunkle Kreis der Nocke wird mittels CogBlobTool gesucht. Ist ein kreisförmiger, dunkler Blob mit ausreichender Größe gefunden, wird mit Hilfe des ermittelten Flächenschwerpunktes eine Feinsuche mittels CogBlobTool durchgeführt. Die Position der Nocke ist jetzt bekannt. Jetzt wird sternförmig vom ermittelten Mittelpunkt der Innenbohrung die Außenkontur in wahlweise 1- oder 2-Grad-Schritten abgetastet. Die Abtastung ähnelt einer Kreissuche. Die aneinander gereihten Caliper suchen von innen nach außen einen Kantenübergang von hell zu dunkel. Die ermittelte Kontur muss innerhalb eines generierten Korridors der Sollkontur liegen, damit die Nocke als richtiger Typ erkannt wird. Es wird auch geprüft, ob die Istkontur in der gespiegelte Sollkontur liegt, um bei asymmetrischen Nocken (Excenternocken) die Lage der Nocke zu erkennen (gespiegelt – nicht gespiegelt). Bei Nocken, die einen genügend großes Verhältnis Hauptachse zu Grundkreisdurchmesser besitzen, wird die Orientierung ermittelt. Anhand dieser Orientierung werden die Positionen der Sicken mit den trainierten Sollpositionen verglichen. Befinden sich mehr oder weniger als die trainierte Anzahl an Sicken bzw. diese an den falschen Stellen, wird dies erkannt. Bei Nocken ohne Orientierung (z.B. ringförmigen Nocken) werden die Positionen der Sicken zueinander, nicht aber in Relation zur Nocke geprüft. Kann bei symmetrischen Nocken aufgrund der identischen Istkontur bei normaler und gespiegelter Sollkontur keine Identifikation der Lage der Nocke bestimmt werden (gespiegelt oder nicht gespiegelt), so gilt eine Nocke als gespiegelt, wenn keine Sicke gefunden wurde.

Form 1

Form 2

Form 3

../../../_images/LobeComparerTool-asym.png

Asymmetrisch

../../../_images/LobeComparerTool-sym.png

Symmetrisch

../../../_images/LobeComparerTool-example3.png
../../../_images/LobeComparerTool-Graphics.png
  1. magentafarbener, kleiner Kreis; Mittelpunkt: Visualisierung des in der Feinsuche gefundenen Bohrungsmittelpunkt

  2. graue Kreuze; Außenkontur: Mit Hilfe der Kreuze wird die gefundene Außenkontur der Nocke in den jeweiligen Abtastschritten visualisiert

  3. magentafarbener, großer Kreis; Suchregion: In dieser Suchregion, die anhand des größten Nockendurchmessers definiert ist, wird nach Sicken gesucht

  4. cyan; gefundene Sicke: Gefundene Sicken werden visualisiert

Terminals

Name

Zustand

Beschreibung

IsCorrectType

0

Abweichende Außenkontur der Nocke zur Sollkontur

IsCorrectType

1

Außenkontur liegt innerhalb des Toleranzbandes der Sollkontur; Gespiegelt oder nicht gespiegelt hat keinen Einfluss auf dieses Flag

IsCorrectTypeAfterCheckDimple

0

Die Anzahl bzw. Position der Sicken stimmt nicht mit der trainierten Nocke überein

IsCorrectTypeAfterCheckDimple

1

Anzahl und Position der Sicken stimmt mit der trainierten Nocke überein

Result.IsMirroredAfterCheckDimple

-1

Nocke ist nicht gespiegelt, aber Flag IsCorrectTypeAfterCheckDimple = 0

Result.IsMirroredAfterCheckDimple

0

IsCorrectType = 0 und IsCorrectTypeAfterCheckDimple = 0

Result.IsMirroredAfterCheckDimple

1

Keine Sicken gefunden und IsCorrectType = 1

Hinweis

Bei symmetrischen Nocken bzw. Nocken mit geringem Verhältnis Hauptachse – Grundkreisdurchmesser kann die gespiegelte Ausrichtung der Nocke nur über die Sicken erkannt werden, d.h. keine Sicken -> Nocke gespiegelt

Einstellparameter - Contour Settings

../../../_images/LobeComparerTool-ContourSettings.png

Get inner circle and outer contour

../../../_images/LobeComparerTool-ContourSettings-getContour.png
  1. Checkbox Coarse search enabled: Grobsuche kann durch Checkbox deaktiviert werden, dafür müssen unter 5. die Parameter x,y,radius vorgegeben werden

  2. Inner circle coarse: Einstellparameter des CogBlobTools, welches die innere Bohrung grob ermittelt

  3. Inner circle fine: Konfiguration der Kreissuche, welche anhand der im BlobTool gefundenen Position den Innenkreis genau bestimmt (Feinsuche)

  4. Outer contour points: Dieser Wert (Offset) wird auf den gefundenen Radius des Innenkreises aufgerechnet und für die Suche nach der Außenkontur verwendet.

  5. X,Y,Radius: Vorgabewerte des Mittelpunkts und des Radius für die Kreissuche

  6. Train contour: Trainieren der vorgegebenen Merkmale

Andere Einstellungen

../../../_images/LobeComparerTool-ContourSettings-other.png
  1. Max. diff. inner circle radius between train and run: Vorgabe der maximalen Abweichung zwischen eintrainiertem, innerem Radius und ermitteltem Kreis

  2. Outlier distance treshold:

  3. Multithreading/ Thread count: Laufzeitoptimierung durch Aktivierung Multithreading und Vorgabe der Anzahl der Threads

  4. Contour compare: - Checkbox Parallel: … - Countour deviation tolerance: Grenzwert, den die gefundene Kontur von der trainierten Kontur abweichen darf

  5. Min. length difference between main axis and conjugate axis:

Einstellparameter - Dimple Settings

../../../_images/LobeComparerTool-DimpleSettings.png
  1. Dimple check enabled: Checkbox für Akitvierung einer Sickensuche

  2. Coarse search by blob: Einstellungen des BlobTools, welches eine grobe Sickensuche vornimmt

  3. Search region radius: In einem Kreis mit diesem Radius um die gefundenen Blobs wird mittels PatMax eine Feinsuche nach Sicken durchgeführt (beachte: Vorgabewert ist ein nur ein Offset, der auf den ermittelte Blobdurchmessers aufsummiert wird)

  4. Fine search by CogPMAlignTool: Einstellungen für PatMax (Feinsuche nach Sicken)

  5. Match positions by LocationMatcher: Trainieren und Abgleichen der Istpositionen der Sicken mit den Sollpositionen

Hinweis

  1. Die Meldung Is mainaxis unique gibt an, ob die Drehrichten der Nocke bestimmt werden kann. (true: die Sicken können auf Position abhängig zur Hauptachse trainiert werden; false: die Sicken werden im Abstand zum Mittelpunkt des Innenkreises und zueinander trainiert)

  2. Ist die Hauptachse eindeutig, findet keine Grobsuche nach Sicken mittels BlobTools statt, sondern die Sicken werden mittels PatMax innerhalb der magentafarbenen Suchregion gesucht

  3. Ist die Hauptachse nicht eindeutig, so werden die Sicken mittels Blobsuche grob vordetektiert

  4. Die Ergebnisse der Blobsuche (Grobsuche Sicken) bei nicht eindeutiger Hauptachse werden im BlobTool vorsortiert, z.B. nach Fläche, ConnectivityLabel und Dehnung