はじめに
このドキュメントは、センサー OEM、ODM、IHV 向けの 既存の HLK 2.0 のドキュメントとツールを補完するガイドです。 パートナーがテストを実行するために利用できるヒントとテクニックについて説明します。 パートナーは、他の実装を使用してデバイスをテストできます。これは 1 つの参照例にすぎません。 このドキュメントに記載されている項目は省略可能です (これらのハードウェアを使用せずにテストを実行できます)。 これらは、このドキュメントの目的のために方位を示すために使用されているに過ぎません。
このドキュメントでは、HLK 2.0 以上がタブレットのフォーム ファクター システムのテストに使用されていることを前提としています (モーション センサーと光センサーが必要です)。 その他のフォーム ファクター (ノート PC など) については、このドキュメントでは扱いません。 テストでは他のフォーム ファクター システムを検証しますが、以下の詳細は主にタブレットのフォーム ファクター システムのテストを最適化するように設計されています。
このドキュメントでは、次のテストについて説明します。
次の場合には、モーション センサー テストが必要です。
センサー デバイスの認定
システムの認定
これらの領域の両方で同一のテストを行う動機としては、IHV が PC の製造元に、合格したハードウェア、ファームウェア、ドライバーを提供し、PC 製造元が正確で信頼性の高いセンサー読み取り値を提供するためにパーツをシステムに正しく統合できるようにすることでした。
テストの目的
モーション センサー テストの主な目的は、ハードウェア パートナーが、センサーがシステム内で正しく配置されていること、WHLK で要求される精度要件を満たしていることを検証するのを支援することです。 これらのテストは、完全なテスト カバレッジを提供したり、個々のセンサーの不正確さをより正確に判定できる特殊な機器を利用したりするように設計されているわけではありません。 PC の製造元は、WHLK に合格した後に、追加のアプリケーションと品質保証テストを使用してシステムをテストする (例: 実稼働品質の Windows 8 アプリを使用したテスト) ことをお勧めします。
推奨されるテスト シーケンス
次の表に示す順序でテストを実行することをお勧めします。 加速度計とジャイロスコープを最初にテストすることで、これらの基本的なセンサーが正しく動作していることを確認できます。 次の一連のテストでは、複数のセンサーのデータを組み合わせることによって取得した、コンパス センサー、傾斜計センサー、方位センサーからのデータを検証します。 また、前のテストがすべて成功するまで、後続のテストを実行しないことをお勧めします。
Sensor | テスト名 | 依存関係 |
---|---|---|
加速度計 |
センサーの向きを確認する - 3D 加速度計 |
該当なし |
ジャイロスコープ |
ジャイロスコープ センサー テスト |
該当なし |
Compass |
センサーの向きを確認する - 3D コンパス |
加速度計、ジャイロ、コンパス |
Inclinometer |
センサーの向きを確認する - 傾斜計 |
加速度計、ジャイロ、コンパス |
フュージョン/方位センサー (回転行列/クオータニオン) |
高度な方位センサーを確認する |
加速度計、ジャイロ、コンパス |
推奨されるテスト機器
このドキュメントでは、WHLK テストの実行に役立つ次のハードウェア項目を使用しました。 これらのデバイスは WHLK には必要ありませんが、検証エンジニアが使用すると、テストをより簡単に実行できるようになります。
図 1 推奨されるテスト機器
Bluetooth キーボード
Bluetooth マウス
コンパス / GPS
システムを保持するクランプとテープ
回転ターンテーブル (Lazy Susan など)
センサー診断ツール
これらの追加デバイスは、タブレットのフォーム ファクター システムのテストに役立ちます (加速度計、ジャイロ、コンパス、傾斜計、方位センサーが必要です)。 その他の構成では、これらのツールが適用されない場合があります。 このドキュメントの残りの部分では、他のフォーム ファクターではなく、タブレットにのみに焦点を当てます。
センサー診断ツール (WDK の sensordiagnostictool.exe が使用可能) は、テスト エラーのデバッグに役立ちます。 このツールは、さまざまなモーション センサーからリアルタイムで返されるデータを表示します。このデータは、予想される結果と比較できます。
センサーの向きを確認する - 3D 加速度計
テストの範囲: このテストでは、加速度計の方位がシステム内で正しいことを確認します。 テストのエラー許容値は +/- 0.1 G です。
このテストを実行する前の前提条件:
画面の自動回転が期待したとおり動作するか手動で確認します。
SDT を使用して、センサーが静止しているときに新しいデータ イベントが表示されないか検証します。
これらの簡単な前提条件に合格したら、WHLK テストの実行に進みます。 テストでエラーが発生した場合、このドキュメントに記載されているデバイスの向きが正しいか確認してください。 質問がある PC 製造元は、まずはセンサー製造元 (IHV) に連絡して WHLK テストに合格した方法を確認してから、Microsoft に WHLK テストのサポートを依頼してください。
加速度計のテスト 1
Windows ボタンが下部にくるように、デバイスを平らで水平な面に対して垂直に保持します。
期待される値:
SENSOR_DATA_TYPE_ACCELERATION_X_G |
0 |
SENSOR_DATA_TYPE_ACCELERATION_Y_G |
-1 |
SENSOR_DATA_TYPE_ACCELERATION_Z_G |
0 |
図 2 加速度計テスト 1
加速度計のテスト 2
デバイスを平らで水平な面に垂直に保持しながら、時計回りに 90 度回転させます。 Windows ボタンは左側に来るはずです。
期待される値:
SENSOR_DATA_TYPE_ACCELERATION_X_G |
1 |
SENSOR_DATA_TYPE_ACCELERATION_Y_G |
0 |
SENSOR_DATA_TYPE_ACCELERATION_Z_G |
0 |
図 3 加速度計テスト 2
加速度計のテスト 3
次に、Window ボタンが自分から離れるようにデバイスを平らな面に置きます。
期待される値:
SENSOR_DATA_TYPE_ACCELERATION_X_G |
0 |
SENSOR_DATA_TYPE_ACCELERATION_Y_G |
0 |
SENSOR_DATA_TYPE_ACCELERATION_Z_G |
-1 |
図 4 加速度計テスト 3
加速度計のテスト 4
次に、デバイスを反転させ、画面を下向きにします。
期待される値:
SENSOR_DATA_TYPE_ACCELERATION_X_G |
0 |
SENSOR_DATA_TYPE_ACCELERATION_Y_G |
0 |
SENSOR_DATA_TYPE_ACCELERATION_Z_G |
1 |
図 5 加速度計テスト 4
ジャイロスコープ センサー テスト
テストの範囲:
通常、ジャイロスコープは、1 秒あたり +/- 2 度の大きさでノイズを出力します。 ジャイロスコープ検証テストを実行する前に、テスト担当者はセンサー診断ツールを使用して、システムが静止しているときに、1 秒あたり 2 度を超える値が生成されていないことを検証する必要があります。
このテストを実行する前の前提条件:
加速度計のテストが合格します。
SDT を使用し、平面上に固定されているときにセンサーがデータを返さないか検証します。
ジャイロスコープ センサーから過度のノイズが生成されている場合、テスト担当者はセンサーの製造元と一緒に、ノイズの原因を解明して修正する必要があります。
ジャイロ テストでは、回転する軸で 1 秒あたり 40 度を超え、固定軸で 1 秒あたり 15 度未満の角速度の結果を受け取る必要があります。 テスト担当者は、合格の結果を得る目的で、他の 2 つの軸を静止させるために、ターンテーブル上でシステムを回転できます。 また、他の軸が動くことで回転が検出されるのを防ぐために、システムをターンテーブルの中心に設定する必要があります。
ジャイロ テスト 1
画面を上に置き、デバイスを平らな面に置きます。 デバイスを時計回りに回転させます。
ローテーション中に予想される値:
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 |
図 6 ジャイロ テスト 1
ジャイロ テスト 2
画面を上に置き、デバイスを平らな面に置きます。 デバイスを反時計回りに回転します。
ローテーション中に予想される値:
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 |
図 7 ジャイロ テスト 2
ジャイロ テスト 3
Windows ボタンが下部にくるように、デバイスを垂直に保持します。 デバイスを上から見下ろし、画面の上部と Windows ボタンの間の軸に沿ってデバイスを時計回りに回転させます。
ローテーション中に予想される値:
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 |
図 8 ジャイロ テスト 3
ジャイロ テスト 4
Windows ボタンが下部にくるように、デバイスを垂直に保持します。 デバイスを上から見下ろし、画面の上部と Windows ボタンの間の軸に沿ってデバイスを反時計回りに回転させます。
ローテーション中に予想される値:
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 |
図 9 ジャイロ テスト 4
ジャイロ テスト 5
Windows ボタンが左側にくるように、デバイスを垂直に保持します。 デバイスを上から見下ろし、デバイスを垂直方向に、縦方向に保持したまま、時計回りに回転させます。
ローテーション中に予想される値:
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 |
図 10 ジャイロ テスト 5
ジャイロ テスト 6
Windows ボタンが左側にくるように、デバイスを垂直に保持します。 デバイスを上から見下ろし、デバイスを垂直方向に、縦方向に保持したまま、反時計回りに回転させます。
ローテーション中に予想される値:
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 |
図 11 ジャイロ テスト 6
センサーの向きを確認する - 3D コンパス
ほとんどのコンパスの実装では、3D 磁力計とジャイロの両方のデータを使用して、磁北に対してユーザーが向いている現在の方向を計算します。 一部の実装では、加速度計のデータも使用します。 そのため、ジャイロスコープまたは加速度計センサーが正常に機能していない場合、テスト担当者は、コンパスが間違った方向を返していると予想すべきです。
地球の磁力は比較的弱いため、磁力計センサーはシステム内の他のコンポーネントからの干渉を受けることが多々あります。 アンテナ、電源ライン、または磁気受信に干渉する鉄などの材料で構成される電磁干渉の原因から磁力計が適切に隔離されていない場合、テスト担当者は、コンパスが誤った方向を返していることに気づくはずです。 磁力計の適切な配置とベストプラクティスについては、『モーションセンサーと方位センサーの統合に関するホワイトペーパー』を参照してください。
ユーザーは、システムをさまざまな角度で保持して立ち、異なる方向を向くように自分自身を回転させることを強くお勧めします。 コンパスは、システムが保持されている角度や横方向/縦方向に関係なく、常にユーザーが向いている方向を基準とした方向を返します。 センサー診断ツールを使用すると、コンパス センサーの方向値を表示できます。 テスト担当者は、コンパスが間違った結果または一貫性のない結果を返していることを発見した場合、磁力計センサー ベンダーと協力して、そのエラーの原因が干渉の結果なのか、センサーのフュージョン アルゴリズムが間違っている可能性があるのかを判断してください。
WHLK のコンパス テストは、システムがさまざまな方向および向きで保持されている場合に、コンパスが期待される値を返すかを検証します。 コンパス テストでは、+/-10 度の誤差が許容されます。 テスト担当者は、コンパス テストを開始する前に、基準コンパスを使用して、磁北方向を決定する必要があります。
コンパスのテスト 1
Windows ボタンが真南を向くように、デバイスを平らな面に置きます。
コンパスがおよそ 0 度の方位を返すはずです。
Note
ログ記録例外テキストを無視します。 これにより、エラーがログに記録されることはありません。
図 12 コンパス テスト 1
コンパスのテスト 2
ここで、Windows ボタンが下部にくるように、画面が自分を向くようにデバイスを垂直に保持します。 Windows ボタンを真北に向けます。
コンパスがおよそ 0 度の方位を返すはずです
図 13 コンパス テスト 2
コンパスのテスト 3
次に、画面を下にし、Windows のボタンを真南に向けてデバイスを平らな面に置きます。
コンパスがおよそ 0 度の方位を返すはずです。
図 14 コンパス テスト 3
コンパスのテスト 4
次に、画面を時計回りに 90 度回転させ、Windows ボタンが真西を向くようにします。
コンパスがおよそ 90 度の方位を返すはずです。
図 15 コンパス テスト 4
コンパスのテスト 5
画面を時計回りに 90 度回転させ、Windows ボタンが真北を向くようにします。
コンパスがおよそ 180 度の方位を返すはずです。
図 16 コンパス テスト 5
コンパスのテスト 6
画面を時計回りに 90 度回転させ、Windows ボタンが真東を向くようにします。
コンパスがおよそ 270 度の値を返すはずです。
図 17 コンパス テスト 6
センサーの向きを確認する - 傾斜計
『モーション センサーと方位センサーの統合に関するホワイトペーパー』のガイダンスに基づいて、傾斜計の実装では、加速度計、ジャイロスコープ、コンパスのデータを使用してオイラー角の値を決定できます。
テストでは、+/-10 度の角度エラーが許容されます。
重要
それぞれの傾斜テストの予想される角度については、『モーション センサーと方位センサーの統合に関するホワイトペーパー』の「オイラー角の検証」に関するセクションを参照してください。
傾斜計テスト 1
Windows ボタンが真南を向くように、デバイスを平らで水平な面に上向きに置きます。
図 18 傾斜計テスト 1
傾斜計テスト 2
Windows ボタンが真東を向くように、デバイスを平らで水平な面に置きます。
図 19 傾斜計テスト 2
傾斜計テスト 3
Windows ボタンが真北を向くように、デバイスを平らで水平な面に置きます。
図 20 傾斜計テスト 3
傾斜計テスト 4
Windows ボタンが真西を向くように、デバイスを平らで水平な面に置きます。
図 21 傾斜計テスト 4
傾斜計テスト 5
Windows ボタンが真南を向くように、デバイスを平らで水平な面に上向きに置きます。
図 22 傾斜計テスト 5
傾斜計テスト 6
Windows ボタンが下部にくるように、デバイスを平らで水平な面に対して垂直に保持し、+Y 軸が真上を向き、画面が真南を向くようにします。
図 23 傾斜計テスト 6
傾斜計テスト 7
Windows ボタンが真北を向くように、デバイスを平らで水平な面に下向きに置きます。
図 24 傾斜計テスト 7
傾斜計テスト 8
Windows ボタンが上部にくるように、デバイスを平らで水平な面に対して垂直に保持し、+Y 軸が真下を向き、画面が真北を向くようにします。
図 25 傾斜計テスト 8
傾斜計テスト 9
Windows ボタンが真南を向くように、デバイスを平らで水平な面に上向きに置きます。
図 26 傾斜計テスト 9
傾斜計テスト 10
画面が真北を向くように、デバイスの右側が平らで水平な面に対して垂直になるように保持します。
図 27 傾斜計テスト 10
傾斜計テスト 11
Windows ボタンが真南を向くように、デバイスを平らで水平な面に下向きに置きます。
図 28 傾斜計テスト 11
傾斜計テスト 12
画面が真西を向くようにデバイスの左側が平らで水平な面に対して垂直に保持します。
図 29 傾斜計テスト 12
高度な方位センサーを確認する
ほとんどの回転行列とクオータニオンの実装では、加速度計とコンパスの両方から派生したデータを使用して、回転行列とクオータニオンの値を決定します。 テスト担当者は、まず加速度計とコンパスの値を検証してから、高度な方位テストを実行することをお勧めします。
テストでは、ドット積を使用して、予測されるベクトルと、高度な方位センサーから取得されたベクトルとの差を計算します。 テストでは、最大 15 度の差が許容できます。 テスト担当者が、センサーがテストの期待値とは異なる値を返していることを検出した場合、方位フュージョン アルゴリズムをレビューして、『モーション センサーと方位センサーの統合に関するホワイトペーパー』に記載されている値と一貫性のある結果が得られることを確認する必要があります。
重要
予想されるクオータニオンと回転行列の値については、『モーション センサーと方位センサーの統合に関するホワイトペーパー』を参照してください。
高度な方位センサー テスト 1
Windows ボタンが真南を向くように、デバイスを平らな面に画面を上向きに置きます。
図 30 高度な方位センサー テスト 1
高度な方位センサー テスト 2
Windows ボタンが真東を向くように、デバイスを平らで水平な面に上向きに置きます。
図 31 高度な方位センサー テスト 2
高度な方位センサー テスト 3
Windows ボタンが真北を向くように、デバイスを平らで水平な面に上向きに置きます。
図 32 高度な方位センサー テスト 3
高度な方位センサー テスト 4
Windows ボタンが真西を向くように、デバイスを平らで水平な面に上向きに置きます。
図 33 高度な方位センサー テスト 4
高度な方位センサー テスト 5
Windows ボタンが真南を向くように、デバイスを平らな面に画面を上向きに置きます。
図 34 高度な方位センサー テスト 5
高度な方位センサー テスト 6
Windows ボタンが下部に来て真南を向くように、デバイスを垂直に保持します。
図 35 高度な方位センサー テスト 6
高度な方位センサー テスト 7
Windows ボタンが真北を向くように、デバイスを平らな面に画面を下向きに置きます。
図 36 高度な方位センサー テスト 7
高度な方位センサー テスト 8
Windows ボタンが真北を向くように、デバイスを平らな面に画面を下向きに置きます。
図 37 高度な方位センサー テスト 8
高度な方位センサー テスト 9
Windows ボタンが真南を向くように、デバイスを平らな面に画面を上向きに置きます。
図 38 高度な方位センサー テスト 9
高度な方位センサー テスト 10
デバイスの左側が上部になり、Windows ボタンが側部に来て真東を向くように、デバイスを垂直に保持します。
図 39 高度な方位センサー テスト 10
高度な方位センサー テスト 11
Windows ボタンが真北を向くように、デバイスを平らで水平な面に画面を下向きに置きます。
図 40 高度な方位センサー テスト 11
高度な方位センサー テスト 12
デバイスの左側が下部になり、Windows ボタンが側部に来て真西を向くように、デバイスを垂直に保持します。
図 41 高度な方位センサー テスト 12