Tracking bestimmt, wie und wo 3D-Inhalte in der realen Umgebung platziert und stabilisiert werden. Sobald Modelle korrekt ausgerichtet und in der 3D-Szene verankert sind, werden sie zu interaktiven Elementen innerhalb des Workflows.

Spatial Tracking

Mit Werkzeugen wie Markern, Objekt-Trackern und Transformations-Gizmos können Sie Modelle präzise positionieren, miteinander verknüpfen und ihr Verhalten definieren. Diese Werkzeuge stellen sicher, dass Inhalte korrekt platziert, visuell konsistent dargestellt und in Spatial Workplace zuverlässig verwendet werden können.

Je nach Anwendungsfall stehen im Spatial Editor verschiedene Tracking-Methoden zur Verfügung:

Schauen wir uns die Tracker, mit denen Sie Modelle in Workflows integrieren können, einmal genauer an:

Marker Tracker 

Ein Marker wird verwendet, um Informationen innerhalb eines Workflows an einer bestimmten Position auf einem realen Objekt anzuzeigen.

Dafür muss im Editor mindestens ein virtueller Marker an der Position platziert werden, an der sich später der reale Marker am echten Objekt befinden wird. Unterschiedliche Geräte verwenden unterschiedliche Markertypen. Das virtuelle Modell wird anschließend in Spatial Workplace anhand der gescannten Markerposition(en) geladen.

Derzeit wird ein Markertyp unterstützt:

Marker Tracker können auf mobilen Geräten (iOS und Android) verwendet werden. Die Markergröße kann zwischen 1 und 99 cm festgelegt werden. Als Richtwert werden Marker mit einer Größe von 10 cm (12 cm inklusive Rand) oder 15 cm (18 cm inklusive Rand) empfohlen. Die tatsächliche Größe kann jedoch an das jeweilige Objekt angepasst werden.

Um Ihrem Modell einen Marker Tracker hinzuzufügen:

  1. Klicken Sie oben auf Spatial Tracking.
  2. Wählen Sie Marker Tracker aus.
  3. Klicken Sie auf die Oberfläche des Modells an der Stelle, an der der Marker platziert werden soll. Bis zur Platzierung des Markers sind andere Editor-Funktionen deaktiviert.
  4. Um die Position des Markers auf der Modelloberfläche zu ändern, wählen Sie ihn aus und klicken Sie auf Object > Snap oder drücken Sie S auf der Tastatur.
  5. Position und Rotation können unabhängig von der Modelloberfläche über die Transformations-Gizmos oder den Menübereich Transform auf der rechten Seite angepasst werden.

Auf der rechten Seite können Sie die Marker-Referenz (ID und Größe) bearbeiten:

Der virtuelle Marker im Editor muss mit dem physischen Marker übereinstimmen, der später am realen Objekt über Spatial Workplace verwendet wird. Stellen Sie daher sicher, dass die Marker IDs identisch ist.

Es ist wichtig, den korrekten Marker auszudrucken und ihn sowohl im Editor als auch auf dem realen Objekt an derselben Position zu platzieren.

Der Marker kann über Marker PDF im oberen Menü heruntergeladen werden.

Object Tracker

Beim Einsatz von Object Trackern wird das reale Objekt verwendet, um die Position der Informationen  an der gewünschten Stelle im Workflow zu bestimmen. Object Tracker können in Workflows verwendet werden, die auf iOS- und Android-Geräten angezeigt werden.

Um Ihrem Modell einen Object Tracker hinzuzufügen:

  1. Klicken Sie in der Menüleiste oberhalb der 3D-Szene auf Spatial Tracking > Object Tracker.
  2. Es erscheint ein rotes Hologramm von Smart Glasses. Gegebenenfalls müssen Sie mit dem Mausrad herauszoomen. Das Hologramm zeigt, wie das Objekt durch die Smart Glasses wahrgenommen wird.
  3. Die Position des Object Trackers relativ zum Modell zeigt an, wo das Gerät platziert werden muss, um das reale Objekt beim Ausführen des Workflows in Spatial Workplace zu scannen.
  4. Fügen Sie den Object Tracker hinzu. Er wird automatisch entsprechend der aktuellen Kameraperspektive in der 3D-Szene positioniert.
  5. Drehen Sie die Szene mit der Maus, um die Position aus verschiedenen Perspektiven zu prüfen. Verwenden Sie das Gizmo des Object Trackers, um die Position weiter anzupassen oder bewegen Sie die Kamera.
  6. Optional können Sie rechts auf Set Transform From View klicken, um den Tracker erneut an die aktuelle Ansicht anzupassen.
  7. Nachdem Sie ein Modell zugewiesen haben, drücken Sie die Eingabetaste, um die Auswahl zu bestätigen, oder Escape, um sie abzubrechen.
  8. Klicken Sie auf Generate, um den Vorgang abzuschließen.

⇒ Danach sollte das Hologramm des Object Trackers grün dargestellt werden.

Hinweis: Der Object Tracker sollte sich in einem sinnvollen Abstand zum Modell befinden, und die von ihm ausgehende Linie sollte auf das Modell zeigen.

⇒ Testen Sie nach dem Hochladen des Workflows die Scanperspektive und den Abstand auf einem Zielgerät und optimieren Sie diese gegebenenfalls im Editor. Dadurch wird die Erkennung für die spätere Verwendung verbessert.

Hinweis: Die rote Farbe des Hologramms zeigt an, dass noch keine .obj-Datei zugewiesen wurde. Die .obj-Datei wird von VisionLib verwendet, um das reale Objekt zu verfolgen.

9. Um eine .obj-Datei aus der Szene zu erstellen, wählen Sie das rote Hologramm aus.

10. Öffnen Sie rechts den Bereich Settings.

11. Klicken Sie auf Assign > Generate new from scene unter Tracked Object.

12. Optional können Sie die erzeugte .obj-Datei per Klick auf Export lokal speichern.

Hinweis: Unabhängig vom importierten Modellformat muss eine .obj-Datei aus der Szene erzeugt oder von einem Datenträger bereitgestellt werden.

13. Optional: Wenn Teile eines Modells in Spatial ausgeblendet oder verschoben werden, muss die .obj-Datei neu generiert werden, damit diese Änderungen berücksichtigt werden. Um die anfängliche Tracking-Position und -Rotation in Workplace anzupassen, aktivieren Sie die Option Dynamic Initial Pose.

14. Passen Sie Position und Rotation des Object Trackers über die Einstellungen auf der rechten Seite an.

15. Abschließend können Sie die Tracking-Parameter anpassen (siehe unten), um das Tracking für ein bestimmtes Objekt zu optimieren.

Hinweis: Einer dieser Parameter ist Static Scene. Diese Option sollte deaktiviert werden, wenn mit einer dynamischen Szene gearbeitet wird. Diese Funktion ist derzeit nur auf mobilen Geräten verfügbar.

Die Standardwerte sind so gewählt, dass sie für die meisten Objekte gute Ergebnisse liefern.

Hier ist eine Liste aller verfügbaren Tracking-Parameter:

  • Dynamic Initial Pose: Ermöglicht das Festlegen der anfänglichen Tracking-Perspektive während der Laufzeit.
  • Continuous Tracking (Mobile Only): Bei Aktivierung (Standardeinstellung) erfolgt kontinuierliches Tracking auf mobilen Geräten. Geeignet für Objekte, die während der Aufgabe bewegt oder gedreht werden, dabei jedoch ihre Form beibehalten. Bei deaktivierter Option (Non-continuous tracking) erfolgt die Erfassung nur zu Beginn und wird anschließend über SLAM fortgeführt. Non-continuous tracking eignet sich besser für Objekte, die während der Aufgabe weder bewegt noch gedreht werden und deren Form sich ändert (z.B. wenn Teile hinzugefügt oder entfernt werden).
  • Min. Init Quality: Schwellenwert zur Validierung des Trackings während der Initialisierung. Der Wertebereich liegt zwischen 0,5 und 0,9, wobei der Standardwert 0,6 beträgt. Höhere Werte werden empfohlen, wenn das Linienmodell das reale Objekt perfekt und ohne Verdeckungen wiedergibt. In der Regel stimmen sie jedoch nicht exakt überein, weshalb ein niedrigerer Wert besser geeignet ist.
  • Edge Depth Threshold (mm): Definiert den Schwellenwert für die Erstellung des Linienmodells. Der Wertebereich liegt zwischen 0,0001 und 1000, wobei der Standardwert 1000 beträgt. Legt die minimale Normaldifferenz zwischen zwei benachbarten Pixeln fest, die erforderlich ist, damit diese als Kante erkannt werden. In der Regel wird hier ein hoher Wert eingestellt, da normalenbasierte Linien nicht sehr zuverlässig erkannt werden können. Bei bestimmten Modellen kann es jedoch sinnvoll sein, einen niedrigeren Wert zu verwenden.
  • Normal Threshold: Schwellenwert für die Erstellung des Linienmodells. Der Wertebereich liegt zwischen 0,0001 und 1000, wobei der Standardwert 1000 beträgt. Hiermit wird die minimale Normaldifferenz zwischen zwei benachbarten Pixeln festgelegt, die erforderlich ist, damit diese als Kante erkannt werden. In der Regel wird ein hoher Wert gewählt, da normalenbasierte Linien nicht zuverlässig erkannt werden können. Bei bestimmten Modellen kann es jedoch sinnvoll sein, einen niedrigeren Wert zu verwenden.
  • Edge Contrast Threshold: Definiert den Schwellenwert für Kantenkandidaten im Bild. Der Wertebereich reicht von 0 bis 256, wobei der Standardwert 40 beträgt. Bei hohen Werten werden nur Pixel mit hohem Kontrast als Kandidaten berücksichtigt, während bei niedrigen Werten auch andere Pixel in Betracht gezogen werden. Wenn nicht genügend Kandidaten vorhanden sind, passt sich das Linienmodell möglicherweise nicht an das Objekt im Bild an.
  • Snapshot Distance (mm): Mindestabstand zwischen Keyframes. Der Wertebereich liegt zwischen 0,001 und 100.000, wobei der Standardwert: 100 ist. Das Linienmodell wird nur für bestimmte Keyframes generiert. Höhere Werte verbessern die Leistung, gehen jedoch zu Lasten der Genauigkeit (und umgekehrt).
  • Line Search Length Init Relative: Suchlänge der orthogonalen Suchlinien relativ zur minimalen Auflösung. Der Wertebereich reicht von 0,00625 bis 1, wobei der Standardwert 0,03125 ist. Der modellbasierte Tracker projiziert das 3D-Linienmodell auf das Kamerabild und sucht nach Kantenpixeln, die senkrecht zu den projizierten Linien stehen.
  • Use Colour Edges: Standardmäßig deaktiviert. Bei Aktivierung lassen sich farbige Kanten beim Tracking leichter unterscheiden. Diese Funktion ist nur bei Objekten mit farbigen Kanten sinnvoll. Sie kann die Tracking-Qualität verbessern, erfordert jedoch mehr Rechenleistung.
  • Laplace Threshold: Schwellenwert zur Erstellung des Linienmodells. Der Wertebereich liegt zwischen 0,0001 und 100.000, wobei der Standardwert 5 beträgt. Hiermit wird die Mindesttiefe zwischen zwei benachbarten Pixeln festgelegt, die als Kante erkannt werden soll.
  • Line Gradient Threshold: Schwellenwert für Kantenkandidaten im Bild. Der Wertebereich reicht von 0 bis 256, wobei der Standardwert 40 ist. Bei hohen Werten werden nur Pixel mit hohem Kontrast als Kandidaten berücksichtigt, während bei niedrigen Werten auch andere Pixel in Betracht gezogen werden. Dies ist ein Kompromiss. Wenn es zu viele Kandidaten gibt, wählt der Algorithmus möglicherweise die falschen Pixel aus. Wenn es nicht genügend Kandidaten gibt, passt sich das Linienmodell möglicherweise nicht an das Objekt im Bild an.

Hinweis: Object Tracking muss in TeamViewer aktiviert sein. Zusätzlich ist eine separate Lizenzierung pro Modell oder Gerät erforderlich (über den Drittanbieter VisionLib).

Surface Tracker

Der Surface Tracker verwendet die Position des Benutzers zum Zeitpunkt des Starts von Spatial Workplace, um Modelle und Anweisungskomponenten relativ zur räumlichen Referenz zu platzieren. Surface Tracker können in Workflows verwendet werden, die auf iOS- und Android-Geräten angezeigt werden.

Wichtig: Derzeit wird das Mischen unterschiedlicher Typen räumlicher Referenzen innerhalb eines Workflows in Spatial Editor nicht unterstützt. Wenn Sie einen anderen Referenztyp hinzufügen möchten, müssen Sie zunächst die vorhandene räumliche Referenz entfernen.

Um einen Surface Tracker hinzuzufügen:

1. Klicken Sie oberhalb der 3D-Szene auf Spatial Tracking > Surface Tracker. Die Gizmos erlauben lediglich Bewegungen entlang der roten und grünen Achse sowie Rotationen um die blaue Achse. Dadurch bleibt die Referenz zur Platzierung auf derselben Ebene.

2. Der grüne Pfeil zeigt die Blickrichtung des Benutzers an. Über das Menü auf der rechten Seite können Sie festlegen, welche Modelle dieser Referenz folgen. Beim Start des Workflows in Spatial Workplace werden die ausgewählten Modelle und zugehörigen Anweisungskomponenten entsprechend der Blickrichtung positioniert, die beim Start der Anwendung vorliegt.