Table of Contents

Issue diagnosis and reporting

This chapter mainly describes issues that may be encountered when building AR applications, the main analysis methods, and the information and contact channels that need to be collected when reporting issues.

Challenges of issue analysis in AR scenarios

Issue analysis in AR scenarios has some unique challenges.

Input uncertainty

In traditional applications, input is usually deterministic clicks or keyboard events. In AR, however, input comes from a changing physical environment, which makes analysis much more difficult. AR applications need to be used together with the physical environment, but during development and testing it is impossible to obtain the same input every time in the physical environment. Even when moving along the same route, camera images and sensor data such as accelerometers and gyroscopes may vary, and these variations may greatly affect tracking results.

EasyAR provides EIF file recording and playback features, which can alleviate input uncertainty to some extent. However, due to algorithm uncertainty, the final tracking result is still inherently uncertain. In addition, incomplete EIF recording coverage, lighting changes, and dynamic occlusions caused by pedestrians or vehicles can also affect tracking quality in actual use.

Algorithm uncertainty

The core algorithms of AR are visual algorithms, such as SLAM (simultaneous localization and mapping). These algorithms are probabilistic rather than deterministic by nature.

When the input camera image lacks significant features, the algorithm may use historical position and pose, as well as sensor data such as accelerometers and gyroscopes, for prediction. The predicted position and pose accumulate over time and produce drift. Each prediction result is related to external factors such as data input timing, device temperature, CPU frequency, and network transmission speed. These factors change dynamically, so even with the same input, results from multiple runs may differ greatly.

Analysis methods for different issues

Different issues may require different analysis methods.

Logs

For cases where the program does not run normally, such as black screen, failure to localize, or failure to track normally, the most basic method is to check logs and see whether there are error messages. Logs generated by EasyAR use specific tags for easy identification.

Crashes

Sometimes the program may crash. The crash location may be in library code or in the program's own code. The cause of the crash may be a problem in the program itself or a problem in the library.

Visual anomalies such as jitter and jump

Due to sensor data accuracy or algorithm adaptation, localization jitter or jump may occur. In this case, try to reproduce the issue on different devices, and capture screenshots, screen recordings, and EIF files.

Platform-specific guides

Issue diagnosis and reporting are closely related to the platform. Refer to the following guides for development according to your target platform: