Table of Contents

Problem diagnosis and reporting

This chapter mainly describes the possible problems encountered when building AR applications, the main analysis methods, and the information and contact channels required to report problems.

Challenges in problem analysis in AR scenarios

In AR scenarios, problem analysis presents some unique challenges.

Uncertainty of input

In traditional applications, input is usually deterministic clicks or keyboard events. In AR, input originates from a changing physical environment, which presents significant analytical challenges. AR applications need to be used in conjunction 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 following the same route, the data from sensors such as camera images, accelerometers, and gyroscopes may vary, and the impact on tracking results can be substantial.

EasyAR provides the functionality to record and replay EIF files, which can mitigate input uncertainty to some extent. However, due to the inherent uncertainty of algorithms, the final tracking results remain fundamentally uncertain. Additionally, incomplete EIF recording data, changes in lighting, and dynamic occlusions caused by pedestrians or vehicles can also affect tracking quality in real-world usage.

Uncertainty of algorithms

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

When the input camera images lack significant features, the algorithm may use historical position and orientation data along with sensor data from accelerometers, gyroscopes, etc., for prediction. The predicted position and orientation results accumulate over time, leading to drift. Each prediction result and the timing of data input are influenced by external factors such as device temperature, CPU frequency, and network transmission speed, which are dynamic and variable. As a result, even with the same input, the outcomes of multiple runs may vary significantly.

Analysis methods for different problems

For different problems, different analysis methods may be required.

Log

For some cases where the program is not running properly, such as black screen, failure to locate normally, or failure to track normally, the most basic method is to check the log and see if there are any error messages. The logs generated in EasyAR will use specific tags for easy identification.

Crash

Sometimes programs crash, and the crash may occur in the library code or in the program's own code. The cause of the crash could be due to issues in the program itself or problems in the library.

Jitter, jumping and other visual anomalies

Due to sensor data accuracy or algorithm adaptation issues, positioning jitter or jumping may occur. In such cases, attempt to reproduce the issue using different devices, and take screenshots, screen recordings, and capture EIF files.

Platform-specific guides

Issue diagnosis and reporting are closely tied to the platform. Please refer to the following guides based on your target platform: