High control point / anchor residuals in z-direction

Prev Next

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.672828736

2 Analyze how an anchor was taken

  1. Analyze the mapping behavior using rqt_bag on 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.bag
  2. Analyze 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

  1. Since the data was already processed, check that:

    1. the correctly scanned anchors all show low residuals after optimization

    2. the xrays in all directions look very precise

  2. If this is true, the optimization has correctly identified the discrepancy in anchor location and the point cloud will be fine.

  3. If you have any doubt about the correctness of the data, delete the incorrect anchor locations from the dataset and re-process without them.

  4. If this happens frequently, submit a case with NavVis Customer Support to investigate if there is a possible lag in anchor capturing.