TeamViewer spatial references help define how models are displayed in the Spatial Workplace app. By adding a spatial reference to your workflow, you ensure the model appears in the correct location within Spatial Workplace. Without a spatial reference, the model will open in the default 3D view.

There are three types of spatial references:

  • Markers
  • Object trackers
  • Model placement

Note: Mixing different spatial reference types in a workflow is currently not supported.

6. On the right side, you can edit the marker's reference (ID and size).

Note: The virtual marker used in the editor must be the same as the real-life marker that is put on the real-life component when using Spatial Workplace, so ensure that the marker ID matches. It is important to print the correct marker and place it in the same position both virtually in the editor and on the real-life component. 

The marker can be downloaded by clicking on Marker PDF in the top menu. 

Object Trackers

When using object trackers, the real-life object is used to calculate the position of the information that is to be displayed within a workflow at the desired spot. Object trackers can be used in workflows that will be viewed on iOS and Android devices.

To add an object tracker to your model:

  1. Click on Add > Object Tracker in the menu at the top of the 3D scene.
  2. You will see a red hologram of smart glasses (you need to zoom out using the scroll wheel on your mouse). This hologram shows how the object will be perceived through smart glasses.

3. The position of the object tracker in relation to the model in the scene represents the position and distance in which the user will have to position their device to scan the real object while playing the workflow in Spatial Workplace.

4. Add the object tracker. It is now positioned automatically where the 3D scene camera is (i.e., the perspective in which the user is currently looking at the model in the 3D scene).

Note: Using the mouse, the user can rotate the scene to see it better from different perspectives.

5. Use the gizmo over the object tracker to refine its positions or move the camera.

6. Optional: Click on Set Transform From View in the menu on the right to move it again to your viewing perspective.

Note: It is important that the object tracker is at a reasonable distance from the model and that the line coming out of it is pointing to the model.

⇒ After uploading your workflow, test the scanning perspective and the distance on a viewing device and fine-tune it in the Editor. With this, it will be guaranteed for the final user to have a better scanning experience.

Note: The red color of the smart glasses hologram means that there is no .obj file attached. The .obj file aids object tracking from VisionLib to track the real-life component.

7. To create a .obj file from the scene, select the red hologram.

8. Go to Settings on the right.

9. Click on Assign > Generate new from scene under Tracked Object.

10. Optional: The user can also save the .obj file on their computer by clicking on Export and saving the file.

Note: Independent from the model format imported into Spatial Editor, a .obj file needs to be generated from the scene or provided from disk.

⇒ Now, the hologram of the Object Tracker in the 3D scene should change its color to green.

11. Optional: If parts are hidden or moved from the model in Spatial, the .obj file needs to be regenerated to include these changes in your workflow. To be able to adjust the position and rotation of the initial tracking when using the Workplace app, enable the Dynamic Initial Pose option.

12. Change the position and rotation of the object tracker using the menu on the right.

13. Click on Set Transform From View. The object tracker is automatically moved to the position and point of view of the 3D scene.

14. Finally, you can change the values of the tracking parameters (explained below) to improve tracking for a specific object.

Note: One of these parameters is the Static Scene, which the user can disable if the scene they are working with is dynamic. This feature is currently available on mobile devices only.

Note: The default values are general parameters chosen to work well with most objects.

Here's a list of all available tracking parameters:

  • Dynamic Initial Pose: When enabled, the user can dynamically set the initial tracking viewpoint during runtime.
  • Continuous Tracking (Mobile Only): If enabled (default) the object tracker would have continuous object tracking for mobile devices. It is more suitable for objects that can be moved or rotated during the task but keep their form. Non-continuous tracking only tracks the object at the start of the task and then continues the tracking using SLAM. Non-continuous tracking is more suitable for objects that are not moved or rotated during the task and that change their form (e.g. parts are added or removed).
  • Extendible Tracking: If enabled (default), the model-based tracking will be extended with SLAM-based tracking. This allows tracking to be continued even if the model isn't visible in the camera image anymore. The user needs to perform a SLAM dance, which means translating and rotating the camera so that there is enough baseline for the feature reconstruction.
  • Min. Inlier Ratio Init: Threshold for validating tracking during initialization. The value range reaches from 0.5 to 0.9, with 0.6 being the default value. Higher values are recommended if the line model matches the real-life object perfectly with no occlusion. However, usually they will not match perfectly, which is why a lower value works better.
  • Laplace Threshold: Threshold for creating the line model (mm). The value range reaches from 0.0001 to 100000, with 5 being the default value. This specifies the minimum depth between two neighbouring pixels to be recognized as an edge.
  • Normal Threshold: Threshold for generating the line model. The value range reaches from 0.0001 to 1000, with 1000 being the default value. This specifies the minimum normal difference between two neighbouring pixels necessary to be recognized as an edge. Usually, it is set to a high value because normal-based lines can't be recognized very reliably. Though, for certain models, it might make sense to use a lower value.
  • Line Gradient Threshold: Threshold for edge candidates in the image. The value range reaches from 0 to 256, with 40 being the default value. High values will only consider pixels with high contrast as candidates while low values will also consider other pixels. This is a trade-off. If there are too many candidates, the algorithm might choose the wrong pixels. If there are not enough candidates, the line model might not stick to the object in the image. 
  • Keyframe Distance: Minimum distance between keyframes (mm). The value range reaches from 0.001 to 100000, with 100 being the default value. The line model is only generated for certain keyframes. Higher values improve performance but come with lower precision (and vice versa). 
  • Line Search Length Init Relative: Length of the orthogonal search lines (in per cent) relative to the minimum resolution during initialization and tracking. The value range reaches from 0.00625 to 1, with 0.03125 being the default value. The model-based tracker projects the 3D line model into the camera image and searches for edge pixels orthogonal to the projected lines. 
  • Use Color: This is disabled by default. If enabled, colored edges are distinguished better while tracking. It is only useful for objects with colored edges. It can increase the tracking quality but requires more processing power.

Note: Object Tracking has to be enabled by TeamViewer. Extra licensing per model or per device is required (external software supplier - VisionLib)

Model Placement

Model placement uses the user position when Spatial Workplace was started to position all models and pins connected to the spatial reference. 

It can be used in workflows that will be viewed on iOS and Android devices.

To add a model placement spatial reference:

  1. Click on Add > Model Placement at the top of the 3D scene. The gizmos allow movements only along the green and red axes and rotation around the blue axis. This restriction is meant to keep the model placement reference on the same plane.

Tracking Recommendations

Marker sizes

The size of the marker can influence the precision with which information is displayed in Spatial Workplace and also the distance from which the marker can be scanned. The editor allows the user to choose a marker size between 1 and 99 cm.

Note: In general, the minimum recommended size for a marker is 10 cm. However, this might vary according to lighting conditions, camera focus, and the distance from the scanner camera.

Spatial Workplace positions the content of a workflow in relation to the scanned marker.

Only the x- and y-axes are shown in this 2D representation. Spatial Workplace, however, also uses the third axis to map the exact 3D position. The software uses the center of the marker in relation to its height and width to determine a 3D transformation.

By placing a marker on the real-life component that has a different size than the digital one added to the workflow in the editor, the user faces the possibility of setting the starting point of this spatial coordinate system in the wrong location. This can compromise the positioning of all the information in the workflow.

Rule of thumb: A size of 10 cm for ArUco markers is enough for most cases on the respective devices. However, lighting conditions, camera focus, and the distance from the scanner camera may have a significant impact. Consider increasing the size of your markers in case of problems.

Note: The scanner camera must be able to clearly see all four corners of the marker, and it must be flattened to the exact position as defined in the editor. Curls and wrinkles in the marker might compromise the correct positioning of pins.

Real-life setting recommendations

Taking care of all tracking variables is important for positioning the pins at their exact spot and minimizing offset. This includes the physical characteristics of the marker, the environment, and the device used for running the Spatial Workplace application. To achieve the best possible results, follow the below-listed recommendations to increase tracking efficiency.

Marker conditions:

  • Use a marker with the correct size and ID number as defined in the editor.
  • All four corners should be clearly visible for the scanner camera, including the white space around it.
  • The marker should always be flattened and placed in the exact position on the real-life object without curls, rips, or wrinkles.
  • Reflective surfaces covering the marker can compromise the tracking (e.g., glass or lamination).
  • Markers should always be scanned from an angle of 90 degrees in relation to the surface on which they are placed (i.e., the camera should be looking directly at the object/marker). Scanning from different perspectives can influence the positioning of pins.

Environmental conditions:

  • The number of features in the environment and your component influence tracking. After the marker is scanned and the original position is set, the device tracking system takes control of keeping the content in its place. The number of features in your setting increases the efficiency of device tracking. Good features include corners and contrast visible on the component itself and between the component and its environment.
  • The room should have good lighting. The devices' cameras usually have lower capacities for receiving light in relation to our eyes. Make sure that there is enough light in the room to ensure the best possible tracking results. However, also avoid environments that are too bright.
  • Reflective surfaces should be avoided, especially for placing markers, pins, and other content.
  • Brusque movements during a task run can cause drifts in the position of the content. Keep a stable position of the device during task performance.
  • In large settings, the further away a pin is from the position of the scanned marker, the bigger the chance of undesired drifts in content positioning. This is caused by the intensification of small inaccuracies in marker tracking and by the amount of necessary movement between the marker and the content location. To minimize this problem, check the Adding extra markers to improve tracking section below.

 

Device conditions:

  • iOS and Android devices
    • Clear camera lenses are necessary for correct tracking.
    • Auto-focus can compromise the positioning of pins.

Restarting tracking during a task

If there is a drift in the position of your content in the middle of a task run, simply re-scan a marker. Select Reposition Task in the task menu of the device and scan the marker as prompted. After re-scanning the marker, the task will resume starting right where you left off.

Task menu

On mobile devices (iOS and Android), the task menu always stays in the top left corner of the screen with an icon that has three lines in it. 

Adding extra markers to improve tracking

AR devices have better tracking capability when all pins are located closer to the spatial reference (marker) and do not require the user to move far away or do big turns in relation to the original position. When content is distant from the initial spatial reference, small tracking inaccuracies from the marker scan will appear bigger, because they are potentialized by the distance. In addition to this, excessive user movement might cause extra drifts in the position of the content.

This is the reason why we recommend creating different markers for different "sections" of the real component, as shown in this example:

Additional Recommendations

Please take into account the following elements to ensure a seamless AR tracking experience, enhance tracking quality, and prevent problems like AR swimming and incorrect positioning:

  1. Very few optical features in the real-world environmentIf the real-world environment doesn't contain a lot of optical features (e.g. a plain white wall with texture), it can be hard for the cameras to compute the headset or mobile device movements.
  2. Very complex 3D models/holograms: High computation power is needed when visualizing complex models or holograms in order for all objects/ parts to be visible, meaning that less computing power is left for the AR tracking system.
  3. Mobile device with limited computing power: If the device you are using to run Spatial Workplace doesn't have strong computational power, it can be that the AR Tracking experience is not smooth.
  4. Low-quality camera of mobile device: Bad tracking quality can also occur if the quality of the camera of your device is low.
  5. Wrong marker sizes: Markers have to be printed exactly at the size stated in the marker PDF. Wrong marker sizes result in wrong position tracking since the camera perceives that the marker is, e.g., further away if the marker is printed smaller.
  6. Walking large distances/Turning a lot: It is possible that the holograms and pins are misplaced when the user is walking large distances with the device while the Frontline Spatial app is running, or if the workflow requires many 90-degree turns of the user. A way to remedy this could be to add markers in the middle of the workflow to reset the AR Tracking/the pins' positions.
  7. Wrong placement of marker in the real world: It is important that the marker is exactly placed/glued at the same position in the real world as it was defined in the virtual scene within the Spatial Editor. This helps with the correct placement of objects and tracking, so ensure that the real-world position of the marker matches the one inside the Spatial Editor.
  8. Low-powered mobile device: If the device you are using to run Spatial Workplace doesn't have strong computational power, it can be that the AR Tracking experience is not smooth.

Recommended video links for this guide: