Introduction
Problem description
After processing, a Dataset shows high residuals in z-direction for some anchors. You can see that either in the anchor residual text field (both on-premise and on Cloud) or in the residual plots. A typical example from /datasets_proc/<dataset_id>/internal/anchors/optimization/residuals_xyz.png:

The mapper has likely either not taken off the device while scanning the anchor or did not correctly push the control point button on the device (repeating the push later via the display). This can be observed in the residual plot, since the residuals in z-direction are approximately 80-85cm. That is the typical height of the NavVis VLX belt on a medium sized person.
Scope
Solution applies to: NavVis VLX
Troubleshooting procedure
1 Check the mapping log
Another indication of this problem is the delay between the changed z-pose of the NavVis VLX and the actual triggering, shown in the mapping log.
[ INFO][1613634432.531936797][/surveyorslam_node] Added pose at: 0026.865 -28.8519 01.16539
...
[ INFO][1613634435.031290403][/surveyorslam_node] Added pose at: 026.7683 -29.0148 0.531467
...
[ INFO][1613634437.526578808][/surveyorslam_node] Added pose at: 026.4843 0-28.899 0.146602
[ INFO][1613634440.035568989][/surveyorslam_node] Added pose at: 026.4033 -28.8714 0.124203
...
[ INFO][1613634465.594447634][/surveyorslam_node] Added pose at: 026.4289 -28.7787 0.151877
...
[ INFO][1613634468.084122845][/surveyorslam_node] Added pose at: 026.9166 -28.9612 0.972301
...
[ INFO][1613634470.585018289][/surveyorslam_node] Added pose at: 026.9896 -28.8361 01.18751
[ INFO][1613634472.685712847][/dashboard2] Setting anchor at time 1613634472.672829
[ INFO][1613634472.685771480][/dashboard2] Disabling the SLAM anchor laser cross.
[ INFO][1613634472.687014723][/dashboard2] Disabling the SLAM anchor laser cross.
[ INFO][1613634472.736529808][/controller] controller: added SLAM anchor '301' at stamp 1613634472.6728287362 Analyze how an anchor was taken
Analyze the mapping behavior using
rqt_bagon the main bag-file (start roscore first in another terminal), eg:rqt_bag /mnt/support-data/.../datasets_rec/<dataset_id>/internal/bags/bag_2020-10-05-17-45-37_0.bagAnalyze when and how an anchor was taken by checking the two ros-messages
/hw_anchor_button_pressed(GCP button on the head) and/hw_trigger_button_pressed(Pano button next to the display).A mixed dataset with both wall and ground control points as well as manual panorama triggering looks like this:

3 Check the Point cloud
Since the data was already processed, check that:
the correctly scanned anchors all show low residuals after optimization
the xrays in all directions look very precise
If this is true, the optimization has correctly identified the discrepancy in anchor location and the point cloud will be fine.
If you have any doubt about the correctness of the data, delete the incorrect anchor locations from the dataset and re-process without them.
If this happens frequently, submit a case with NavVis Customer Support to investigate if there is a possible lag in anchor capturing.