Diagnóstico e relatório de problemas
Este capítulo descreve principalmente problemas que podem surgir durante a construção de aplicações AR, os principais métodos de análise, bem como as informações necessárias para recolher e as formas de contacto para reportar problemas.
Desafios na análise de problemas em cenários de AR
A análise de problemas em cenários de AR apresenta desafios únicos.
Incerteza na entrada
Em aplicações tradicionais, as entradas são normalmente eventos determinísticos de clique ou teclado. Na RA, as entradas originam-se de um ambiente físico em mudança, o que traz grande dificuldade de análise. As aplicações AR precisam de ser usadas combinadas com o ambiente físico, mas durante o desenvolvimento e teste, é impossível obter a mesma entrada repetidamente no ambiente físico. Mesmo seguindo o mesmo percurso, os dados de sensores como imagens da câmara, acelerómetro e giroscópio podem variar, o que pode ter um impacto enorme nos resultados do rastreamento.
O EasyAR fornece funcionalidades de gravação e reprodução de ficheiros EIF, que podem aliviar parcialmente a incerteza da entrada. Contudo, devido à incerteza inerente do algoritmo, os resultados finais do rastreamento permanecem essencialmente indeterminados. Simultaneamente, dados EIF gravados incompletos, variações de iluminação e oclusão dinâmica causada por pessoas ou veículos também podem afetar a qualidade do rastreamento durante o uso real.
Incerteza algorítmica
Os algoritmos centrais da AR são algoritmos visuais, como o SLAM (Simultaneous Localization and Mapping). Estes algoritmos são inerentemente probabilísticos, não determinísticos.
Quando as imagens da câmara de entrada carecem de características significativas, o algoritmo pode usar a pose de localização histórica e dados de sensores como acelerómetro e giroscópio para prever. Os resultados previstos de posição e pose acumulam-se ao longo do tempo, causando desvio (drift). Além disso, cada resultado de previsão e o momento da chegada dos dados estão relacionados com fatores externos dinâmicos, como temperatura do dispositivo, frequência da CPU, velocidade de transmissão da rede, etc. Mesmo com as mesmas entradas, os resultados após múltiplas execuções podem divergir significativamente.
Métodos de análise para diferentes problemas
Problemas diferentes podem exigir métodos de análise distintos.
Registos (Logs)
Para situações onde o programa não funciona corretamente, como ecrã preto, incapacidade de localizar ou rastrear normalmente, o método mais básico é verificar os registos (logs) e procurar mensagens de erro. Os registos gerados pelo EasyAR utilizam etiquetas (tags) específicas para fácil identificação.
Falhas (Crashes)
Por vezes, o programa pode sofrer falhas (crashes). O ponto de falha pode estar no código da biblioteca ou no código do próprio programa. A causa da falha pode ser um problema no programa ou na biblioteca.
Tremores, saltos e outras anomalias visuais
Devido a imprecisão nos dados dos sensores ou incompatibilidades algorítmicas, podem ocorrer tremores ou saltos na localização. Nestes casos, deve tentar reproduzir o problema em dispositivos diferentes, e capturar imagens (screenshots), gravar o ecrã e gravar ficheiros EIF.
Guia específico por plataforma
O diagnóstico e reporte de problemas estão intimamente ligados à plataforma. Consulte os seguintes guias de acordo com a sua plataforma alvo:
- Análise de registos Android
- Análise de registos iOS/macOS/visionOS
- Análise de registos Windows
- Análise de falhas Android
- Análise de falhas iOS/macOS/visionOS
- Análise de falhas Windows
- Análise de tremores, saltos e outras anomalias visuais Captura de ecrã e gravação
- Análise de tremores, saltos e outras anomalias visuais Gravação de ecrã em headsets de RA
- Análise de tremores, saltos e outras anomalias visuais Utilizar EIF para reproduzir anomalias
- Introdução ao Unity
- Mensagens de UI no Unity
- Modo de programador no Unity
- Gravar ficheiro de despejo EED no Unity
- Reporte de problemas no Unity
- Referência do componente Diagnostics Controller no Unity