Como executar testes de sensor de movimento HLK
Introdução
Este documento é um guia ou um suplemento para a documentação e as ferramentas existentes do HLK 2.0 para sensores OEMs, ODMs e IHVs. Ele fornece algumas dicas e truques que um parceiro pode aproveitar para executar os testes. Os parceiros são livres para usar outras implementações para testar seu dispositivo– essa é apenas uma referência singular. Os itens identificados neste documento são opcionais (você pode executar os testes sem essas partes de hardware). Eles foram simplesmente usados para ajudar a demonstrar as orientações para os fins deste documento.
Este documento pressupõe que o HLK 2.0 ou superior esteja sendo usado para testar um sistema de fator forma tablet (exigindo sensores de movimento e luz). Outros fatores forma (por exemplo, laptops) estão além do escopo deste documento. Embora os testes validem outros sistemas de fator forma, os detalhes abaixo são projetados principalmente para otimizar o teste em sistemas de fatores forma tablet.
Este documento descreve os seguintes testes:
Os testes do sensor de movimento são necessários para o seguinte:
Certificação de dispositivo de sensor
Certificação do sistema
A motivação para ter testes idênticos em ambas as áreas é garantir que os IHVs forneçam hardware, firmware e drivers aprovados para fabricantes de computadores e que os fabricantes de computadores integrem as peças corretamente em seus sistemas para fornecer leituras precisas e confiáveis do sensor.
Finalidade do teste
A principal finalidade dos testes do sensor de movimento é ajudar os parceiros de hardware a validar que seus sensores são orientados corretamente no sistema e que eles atendam aos requisitos de precisão necessários do WHLK. Esses testes não foram projetados para fornecer cobertura completa de teste ou para aproveitar equipamentos especializados que podem determinar com mais precisão as imprecisões dos sensores individuais. É recomendável que os fabricantes de computadores testem seus sistemas com aplicativos adicionais e testes de garantia de qualidade depois de passar em WHLK (por exemplo, teste com aplicativos Windows 8 de qualidade de produção).
Sequência de teste recomendada
A Microsoft recomenda que você execute os testes na ordem listada na tabela a seguir. Testando o acelerômetro e o giroscópio primeiro, você pode garantir que esses sensores básicos estejam funcionando corretamente. O próximo conjunto de testes valida os dados dos sensores Compass, Inclinometer e Orientation derivados da combinação de dados de vários sensores. Também é recomendável não tentar executar testes subsequentes até que todos os testes anteriores sejam aprovados.
Sensor | Nome do teste | Dependências |
---|---|---|
Acelerômetro |
Verificar orientação do sensor – Acelerômetro 3D |
N/D |
Girômetro |
Teste do sensor de giroscópio |
n/a |
Bússola |
Verificar orientação do sensor – Bússola 3D |
Acelerômetro, Giro, Bússola |
Inclinômetro |
Verificar orientação do sensor – Inclinômetro |
Acelerômetro, Giro, Bússola |
Sensores de fusão/orientação (matriz de rotação/quatérnion) |
Verificar sensores de orientação avançada |
Acelerômetro, Giro, Bússola |
Equipamento de teste sugerido
Para os fins deste documento, os seguintes itens de hardware foram utilizados para ajudar a executar os testes WHLK. Embora esses dispositivos não sejam necessários para o WHLK, eles podem ajudar o engenheiro de validação a passar pelos testes com mais facilidade, se usado.
Figura 1 Equipamento de teste sugerido
Teclado Bluetooth
Mouse Bluetooth
Bússola/GPS
Fixar e fita para segurar o sistema
Turn-table giratória (por exemplo, uma Susan preguiçosa)
Ferramenta de Diagnóstico do Sensor
Esses dispositivos adicionais ajudam a testar um sistema de fator forma tablet (em que são necessários sensores de acelerômetro, giro, bússola, inclinômetro e orientação). Para outras configurações, essas ferramentas podem não se aplicar. O restante deste documento se concentrará apenas no tablet e não em outros fatores forma.
A ferramenta de diagnóstico do sensor (sensordiagnostictool.exe disponível no WDK) é útil para depurar falhas de teste. Essa ferramenta mostrará os dados que estão sendo retornados em tempo real dos vários sensores de movimento que podem ser comparados com os resultados esperados.
Verificar orientação do sensor – Acelerômetro 3D
Escopo de teste: esse teste verifica se o acelerômetro está orientado corretamente no sistema. Os testes têm uma tolerância a erros de +/- 0,1 G.
Pré-requisitos antes de executar este teste:
Verifique manualmente se a autorotação da tela funciona conforme o esperado.
Use o SDT e valide se os sensores não mostram novos eventos de dados quando estiverem parados.
Depois que esses pré-requisitos simples forem aprovados, prossiga para executar o teste WHLK. Se você encontrar erros com os testes, verifique se o dispositivo está na orientação correta de acordo com este documento. Os fabricantes de computadores com dúvidas devem primeiro entrar em contato com o fabricante do sensor (IHV) para identificar como eles passaram nos testes whlk antes de entrar em contato com a Microsoft para obter assistência com testes WHLK.
Teste de acelerômetro 1
Mantenha o dispositivo perpendicular a uma superfície plana e de nível com o botão do Windows na parte inferior.
Valores esperados:
SENSOR_DATA_TYPE_ACCELERATION_X_G |
0 |
SENSOR_DATA_TYPE_ACCELERATION_Y_G |
-1 |
SENSOR_DATA_TYPE_ACCELERATION_Z_G |
0 |
Figura 2 Teste do Acelerômetro 1
Teste do acelerômetro 2
Gire o dispositivo 90 graus no sentido horário, mantendo o dispositivo perpendicular à superfície plana e de nível. O botão Do Windows deve estar à esquerda.
Valores esperados:
SENSOR_DATA_TYPE_ACCELERATION_X_G |
1 |
SENSOR_DATA_TYPE_ACCELERATION_Y_G |
0 |
SENSOR_DATA_TYPE_ACCELERATION_Z_G |
0 |
Figura 3 Acelerômetro Teste 2
Teste do acelerômetro 3
Agora coloque o dispositivo plano, com o botão janelas longe de você.
Valores esperados:
SENSOR_DATA_TYPE_ACCELERATION_X_G |
0 |
SENSOR_DATA_TYPE_ACCELERATION_Y_G |
0 |
SENSOR_DATA_TYPE_ACCELERATION_Z_G |
-1 |
Figura 4 Acelerômetro Teste 3
Teste do acelerômetro 4
Agora vire o dispositivo, para que a tela fique voltada para baixo.
Valores esperados:
SENSOR_DATA_TYPE_ACCELERATION_X_G |
0 |
SENSOR_DATA_TYPE_ACCELERATION_Y_G |
0 |
SENSOR_DATA_TYPE_ACCELERATION_Z_G |
1 |
Figura 5 Teste de Acelerômetro 4
Teste do sensor de giroscópio
Escopo do teste:
Os giroscópios geralmente emitem ruído na magnitude de +/- 2 graus por segundo. Antes de executar os testes de verificação do Giroscópio, os testadores devem usar a ferramenta de diagnóstico do sensor para validar se o sensor de giroscópio não está gerando valores maiores que 2 graus por segundo quando o sistema está parado.
Pré-requisitos antes de executar este teste:
Os testes de acelerômetro são aprovados.
Use o SDT e valide se os sensores não retornam dados quando estão parados em uma superfície plana.
Se o sensor de giroscópio estiver gerando ruído excessivo, os testadores deverão trabalhar com o fabricante do sensor para entender e corrigir a origem do ruído.
Os testes de giro esperam receber uma velocidade angular de mais de 40 graus por segundo no eixo que está sendo girado e menor que 15 graus por segundo nos eixos estacionários. Para obter resultados aprovados, os testadores provavelmente descobrirão que o sistema pode ser girado em um toca-eixos para manter os outros dois eixos estacionários. Observe que o sistema também deve ser centralizado no toca-eixos para impedir que o movimento em outros eixos detecte a rotação.
Teste de giro 1
Coloque o dispositivo plano com a tela para cima. Gire o dispositivo no sentido horário.
Valores esperados durante a rotação:
SENSOR_DATA_TYPE_ANGULAR_ACCELERATION_X_DEGREES_PER_SECOND_SQUARED |
< 15 |
SENSOR_DATA_TYPE_ANGULAR_ACCELERATION_Y_DEGREES_PER_SECOND_SQUARED |
< 15 |
SENSOR_DATA_TYPE_ANGULAR_ACCELERATION_Z_DEGREES_PER_SECOND_SQUARED |
< -40 |
Figura 6 Teste de Giro 1
Teste de giro 2
Coloque o dispositivo plano com a tela para cima. Gire o dispositivo no sentido anti-horário.
Valores esperados durante a rotação:
SENSOR_DATA_TYPE_ANGULAR_ACCELERATION_X_DEGREES_PER_SECOND_SQUARED |
< 15 |
SENSOR_DATA_TYPE_ANGULAR_ACCELERATION_Y_DEGREES_PER_SECOND_SQUARED |
< 15 |
SENSOR_DATA_TYPE_ANGULAR_ACCELERATION_Z_DEGREES_PER_SECOND_SQUARED |
> 40 |
Figura 7 Teste de Giro 2
Teste de giro 3
Mantenha o dispositivo vertical com o botão janelas na parte inferior. Olhando para baixo no dispositivo, gire o dispositivo no sentido horário ao longo do eixo entre a parte superior da tela e o botão janelas.
Valores esperados durante a rotação:
SENSOR_DATA_TYPE_ANGULAR_ACCELERATION_X_DEGREES_PER_SECOND_SQUARED |
< 15 |
SENSOR_DATA_TYPE_ANGULAR_ACCELERATION_Y_DEGREES_PER_SECOND_SQUARED |
< -40 |
SENSOR_DATA_TYPE_ANGULAR_ACCELERATION_Z_DEGREES_PER_SECOND_SQUARED |
< 15 |
Figura 8 Teste de Giro 3
Teste de giro 4
Mantenha o dispositivo vertical com o botão janelas na parte inferior. Olhando para baixo no dispositivo, gire o dispositivo no sentido anti-horário ao longo do eixo entre a parte superior da tela e o botão janelas.
Valores esperados durante a rotação:
SENSOR_DATA_TYPE_ANGULAR_ACCELERATION_X_DEGREES_PER_SECOND_SQUARED |
< 15 |
SENSOR_DATA_TYPE_ANGULAR_ACCELERATION_Y_DEGREES_PER_SECOND_SQUARED |
> 40 |
SENSOR_DATA_TYPE_ANGULAR_ACCELERATION_Z_DEGREES_PER_SECOND_SQUARED |
< 15 |
Figura 9 Teste de Giro 4
Teste de giro 5
Mantenha o dispositivo vertical com o botão janelas à esquerda. Olhando para baixo no dispositivo, gire o dispositivo no sentido horário mantendo o dispositivo vertical e na orientação retrato.
Valores esperados durante a rotação:
SENSOR_DATA_TYPE_ANGULAR_ACCELERATION_X_DEGREES_PER_SECOND_SQUARED |
> 40 |
SENSOR_DATA_TYPE_ANGULAR_ACCELERATION_Y_DEGREES_PER_SECOND_SQUARED |
< 15 |
SENSOR_DATA_TYPE_ANGULAR_ACCELERATION_Z_DEGREES_PER_SECOND_SQUARED |
< 15 |
Figura 10 Teste de Giro 5
Teste de giro 6
Mantenha o dispositivo vertical com o botão janelas à esquerda. Olhando para baixo no dispositivo, gire o dispositivo no sentido anti-horário mantendo o dispositivo vertical e na orientação retrato.
Valores esperados durante a rotação:
SENSOR_DATA_TYPE_ANGULAR_ACCELERATION_X_DEGREES_PER_SECOND_SQUARED |
<-40 |
SENSOR_DATA_TYPE_ANGULAR_ACCELERATION_Y_DEGREES_PER_SECOND_SQUARED |
< 15 |
SENSOR_DATA_TYPE_ANGULAR_ACCELERATION_Z_DEGREES_PER_SECOND_SQUARED |
< 15 |
Figura 11 Teste de Giro 6
Verificar orientação do sensor – Bússola 3D
A maioria das implementações de bússola usa dados do magnetômetro 3D e do giro para calcular a direção atual que o usuário está enfrentando em relação ao pólo norte magnético. Algumas implementações também usam dados do acelerômetro. Portanto, se o giroscópio ou o sensor do acelerômetro não estiver funcionando corretamente, os testadores deverão esperar que a bússola retorne títulos incorretos.
Como a força magnética da Terra é relativamente fraca, os sensores magnetômetros muitas vezes estarão sujeitos à interferência de outros componentes dentro do sistema. Se os magnetômetros não forem adequadamente isolados de fontes de interferência eletromagnética, como antenas, linhas de energia ou outros componentes compostos por materiais como ferro que interferem na recepção magnética, os testadores descobrirão que a bússola retornará títulos incorretos. Consulte o white paper Integrando sensores de movimento e orientação para obter diretrizes sobre o posicionamento correto do magnetômetro e as práticas recomendadas.
O usuário é fortemente incentivado a manter o sistema em vários ângulos e girar-se para que ele acabe enfrentando direções diferentes. Independentemente do ângulo em que o sistema está sendo mantido ou da orientação paisagem/retrato, a bússola sempre deve retornar o título relativo à direção que o usuário está enfrentando. Observe que a ferramenta de diagnóstico do sensor pode ser usada para exibir o valor do título do sensor de bússola. Se os testadores descobrirem que a bússola está retornando resultados incorretos ou inconsistentes, trabalhe com o fornecedor do sensor magnetômetro para determinar se o erro é resultado de interferência ou potencialmente um algoritmo de fusão de sensor incorreto.
Os testes de bússola no WHLK validam que a bússola retorna valores esperados quando o sistema é mantido em direções e orientações diferentes. Os testes de bússola permitem uma tolerância a erros de +/- 10 graus. Os testadores devem usar uma bússola de referência para determinar a direção do norte magnético antes de iniciar o teste de bússola.
Teste de bússola 1
Coloque o dispositivo em uma superfície plana com o botão do Windows apontando para o sul.
A bússola deve retornar um título próximo a 0 graus.
Observação
Ignore o texto da exceção de registro em log. Isso não fará com que uma falha seja registrada.
Figura 12 Compass Test 1
Teste de bússola 2
Agora, mantenha o dispositivo vertical com o botão do Windows na parte inferior, com a tela em sua direção. Aponte o botão do Windows para o norte.
A bússola deve retornar um título perto de 0 graus
Figura 13 Compass Test 2
Teste de bússola 3
Agora coloque o dispositivo plano, tela para baixo com o botão janelas apontando para o sul.
A bússola deve retornar um título próximo a 0 graus.
Figura 14 Compass Test 3
Teste de bússola 4
Agora gire a tela 90 graus no sentido horário para que o botão do Windows aponte para Oeste.
A bússola deve retornar um título perto de 90 graus.
Figura 15 Compass Test 4
Teste de bússola 5
Gire a tela mais 90 graus no sentido horário para que o botão do Windows aponte para Norte.
A bússola deve retornar um título perto de 180 graus.
Figura 16 Compass Test 5
Teste de bússola 6
Gire a tela mais 90 graus no sentido horário para que o botão do Windows aponte para Leste.
A bússola deve retornar um valor próximo a 270 graus.
Figura 17 Compass Test 6
Verificar orientação do sensor – Inclinômetro
Com base nas diretrizes do white paper Integrating Motion and Orientation Sensors, a implementação do inclinômetro pode usar dados do acelerômetro, giroscópio e bússola para determinar os valores do ângulo euler.
Os testes permitirão erros de ângulo de +/- 10 graus.
Importante
Consulte a seção Validação de Ângulos euler do white paper Integrando sensores de movimento e orientação para os ângulos esperados para cada um dos testes de inclinômetro.
Teste de inclinômetro 1
Coloque o dispositivo em uma superfície plana e de nível com o botão janelas apontando para SUL.
Figura 18 Teste de Inclinômetro 1
Teste de inclinômetro 2
Coloque o dispositivo em uma superfície plana e de nível com o botão janelas apontando para LESTE.
Figura 19 Teste do Inclinômetro 2
Teste de inclinômetro 3
Coloque o dispositivo em uma superfície plana e de nível com o botão janelas apontando para NORTE.
Figura 20 Teste de Inclinômetro 3
Teste de inclinômetro 4
Coloque o dispositivo em uma superfície plana e de nível com o botão janelas apontando para OESTE.
Figura 21 Teste de Inclinômetro 4
Teste de inclinômetro 5
Coloque o dispositivo em uma superfície plana e de nível voltada para cima com o botão janelas apontando para SUL devido.
Figura 22 Teste de Inclinômetro 5
Teste de inclinômetro 6
Segure o dispositivo verticalmente contra uma superfície plana e de nível para que o botão janelas esteja na parte inferior, o eixo +Y aponte para cima e a tela esteja voltada para SUL devido.
Figura 23 Teste do Inclinômetro 6
Teste de inclinômetro 7
Coloque o dispositivo em uma superfície plana e de nível voltada para baixo para que o botão janelas aponte para NORTE.
Figura 24 Teste de Inclinômetro 7
Teste de inclinômetro 8
Segure o dispositivo verticalmente contra uma superfície plana e de nível para que o botão janelas esteja na parte superior, o eixo +Y aponte para baixo e a tela esteja voltada para NORTE devido.
Figura 25 Teste de Inclinômetro 8
Teste de inclinômetro 9
Coloque o dispositivo em uma superfície plana e de nível voltada para cima com o botão janelas apontando para SUL devido.
Figura 26 Teste de Inclinômetro 9
Teste de inclinômetro 10
Segure o dispositivo verticalmente contra uma superfície plana e de nível no lado direito para que a tela aponte para LESTE.
Figura 27 Teste de Inclinômetro 10
Teste de inclinômetro 11
Coloque o dispositivo em uma superfície plana e de nível voltada para baixo com o botão janelas apontando para SUL devido.
Figura 28 Teste de Inclinômetro 11
Teste de Inclinômetro 12
Segure o dispositivo verticalmente contra uma superfície plana e nivelada no lado esquerdo para que a tela aponte para OESTE.
Figura 29 Teste do Inclinômetro 12
Verificar sensores de orientação avançada
A maioria das implementações de matriz de rotação e quatérnion usará dados derivados do acelerômetro e da bússola para determinar os valores de matriz de rotação e quatérnion. É recomendável que os testadores validem primeiro os valores de acelerômetro e bússola antes de tentar executar os testes de orientação avançada.
Os testes usam produtos de ponto para calcular o delta entre o vetor esperado e o vetor recuperado dos sensores de orientação avançada. Os testes permitem um delta de até 15 graus. Se os testadores descobrirem que o sensor está retornando valores diferentes do que o teste espera, o algoritmo de fusão de orientação deverá ser revisado para ver que ele produz resultados consistentes com os valores fornecidos no white paper Integrando sensores de movimento e orientação.
Importante
Consulte a seção Validação de Ângulos de Euler do white paper Integrando sensores de movimento e orientação para os valores esperados de quatérnion e matriz de rotação.
Teste 1 do Sensor de Orientação Avançada
Coloque o dispositivo em uma superfície de nível plano, tela para cima com o botão janelas apontando para SUL devido.
Figura 30 Teste de Sensor de Orientação Avançada 1
Teste do Sensor de Orientação Avançada 2
Coloque o dispositivo em uma superfície de nível plano, tela para cima com o botão janelas apontando para LESTE.
Figura 31 Teste de Sensor de Orientação Avançada 2
Teste do Sensor de Orientação Avançada 3
Coloque o dispositivo em uma superfície de nível plano, tela para cima com o botão janelas apontando para NORTE.
Figura 32 Teste de Sensor de Orientação Avançada 3
Teste do Sensor de Orientação Avançada 4
Coloque o dispositivo em uma superfície de nível plano, tela para cima com o botão janelas apontando para OESTE.
Figura 33 Teste de Sensor de Orientação Avançada 4
Teste do Sensor de Orientação Avançada 5
Coloque o dispositivo em uma superfície de nível plano, tela para cima com o botão janelas apontando para SUL devido.
Figura 34 Teste de Sensor de Orientação Avançada 5
Teste do Sensor de Orientação Avançada 6
Segure o dispositivo verticalmente com o botão janelas na parte inferior e o botão janelas apontando para SUL.
Figura 35 Teste de Sensor de Orientação Avançada 6
Teste do Sensor de Orientação Avançada 7
Coloque o dispositivo em uma superfície de nível plano com a tela para baixo e o botão janelas apontando para NORTE.
Figura 36 Teste de Sensor de Orientação Avançada 7
Teste do Sensor de Orientação Avançada 8
Coloque o dispositivo em uma superfície de nível plano com a tela para baixo e o botão janelas apontando para NORTE.
Figura 37 Teste de Sensor de Orientação Avançada 8
Teste do Sensor de Orientação Avançada 9
Coloque o dispositivo em uma superfície de nível plano, tela para cima com o botão janelas apontando para SUL devido.
Figura 38 Teste de Sensor de Orientação Avançada 9
Teste 10 do Sensor de Orientação Avançada
Segure o dispositivo verticalmente com o botão janelas na lateral, no lado esquerdo na parte superior e o botão janelas apontando para LESTE.
Figura 39 Teste de Sensor de Orientação Avançada 10
Teste 11 do Sensor de Orientação Avançada
Coloque o dispositivo em uma superfície de nível plano com a tela para baixo e o botão janelas apontando para SUL devido.
Figura 40 Teste de Sensor de Orientação Avançada 11
Teste 12 do Sensor de Orientação Avançada
Segure o dispositivo verticalmente com o botão janelas na lateral, no lado esquerdo na parte inferior e o botão janelas apontando para OESTE.
Figura 41 Teste de Sensor de Orientação Avançada 12