Table of Contents

Issue diagnosis and reporting

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

Challenges in problem analysis in AR scenarios

Problem analysis in AR scenarios presents some unique challenges.

Uncertainty of input

In traditional applications, input is usually deterministic click or keyboard events. In AR, input originates from a changing physical environment, which brings significant analytical difficulty. AR applications need to be used in combination with the physical environment, but during development and testing, it is impossible to obtain identical input every time in the physical environment. Even when following the same route, the data obtained from sensors such as camera images, accelerometers, and gyroscopes may vary, which can have a huge impact on tracking results.

EasyAR provides the EIF file recording and playback function, which can alleviate input uncertainty to some extent. However, due to the uncertainty of algorithms, the final tracking results are inherently non-deterministic. Meanwhile, incomplete coverage of EIF recorded data, lighting changes, dynamic occlusion caused by pedestrians or vehicles, etc., can also affect tracking quality during actual use.

Uncertainty of algorithms

The core algorithms of AR are some visual algorithms, such as SLAM (Simultaneous Localization and Mapping). These algorithms are essentially probabilistic rather than deterministic.

When the input camera image lacks significant features, the algorithm may use historical position poses and sensor data such as accelerometers and gyroscopes for prediction. The predicted position and pose results will accumulate over time, causing drift. Each prediction result is related to external factors such as data arrival timing, device temperature, CPU frequency, and network transmission speed, which are dynamic. Accumulated over time, even with the same input, the results of multiple runs may deviate significantly.

Analysis methods for different problems

Different problems may require different analysis methods.

Logs

For some situations where the program is not running properly, such as black screens, failure to locate normally, or failure to track normally, the most basic method is to check the logs and look for error messages. Logs generated in EasyAR all use specific tags for easy identification.

Crashes

Sometimes the program may crash. The crash location may be 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.

Visual abnormalities such as jitter and jumping

Due to sensor data accuracy or algorithm adaptation reasons, positioning jitter or jumping may occur. At this time, try to reproduce this issue on different devices, and take screenshots, record the screen, and record EIF files.

Platform-specific guides

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