SensorEvent.Values プロパティ

定義

配列の長さと内容は、監視対象の #values values 型によって異なります android.hardware.Sensor sensor (使用される座標系の定義も SensorEvent 参照してください)。

[Android.Runtime.Register("values")]
public System.Collections.Generic.IList<float>? Values { get; set; }
[<Android.Runtime.Register("values")>]
member this.Values : System.Collections.Generic.IList<single> with get, set

プロパティ値

属性

注釈

配列の長さと内容は、監視対象の #values values 型によって異なります android.hardware.Sensor sensor (使用される座標系の定義も SensorEvent 参照してください)。

<h4>android.hardware.Sensor#TYPE_ACCELEROMETER Sensor.TYPE_ACCELEROMETER:</h4> すべての値は SI 単位 (m/s^2)

<ul>li values[0]: x 軸 </li li>>< 値の加速度から Gx を引いた値 [1]: y 軸 </li li>>< 値の加速度マイナス Gy[2]: z 軸 </li></ul の加速度マイナス Gz><>

この種類のセンサーは、デバイスに適用される加速度を測定します (<b>Ad</b>)。 概念的には、次の関係を使用してセンサー自体 (<b>Fs</b>) に適用される力を測定することによって行われます。

<b><center>Ad = - ∑Fs / mass</center></b>

特に、重力の力は常に測定された加速度に影響を与える:

<b><center>Ad = -g - ∑F / mass</center></b>

このため、デバイスがテーブルに座っているとき (明らかに加速していない場合)、加速度計は b>g</b> = 9.81 m/s^2 の<大きさを読み取ります

同様に、デバイスが自由落下状態にあり、9.81 m/s^2 で地面に向かって危険に加速すると、加速度計は 0 m/s^2 の大きさを読み取ります。

デバイスの実際の加速度を測定するには、重力の影響を排除する必要があることを明らかにする必要があります。 これは、 ハイパス フィルターを適用することで実現できます。 逆に、 ローパス フィルターを使用して重力を分離することができます。

public void onSensorChanged(SensorEvent event)
                {
                     // alpha is calculated as t / (t + dT)
                     // with t, the low-pass filter's time-constant
                     // and dT, the event delivery rate

                     final float alpha = 0.8;

                     gravity[0] = alpha * gravity[0] + (1 - alpha) * event.values[0];
                     gravity[1] = alpha * gravity[1] + (1 - alpha) * event.values[1];
                     gravity[2] = alpha * gravity[2] + (1 - alpha) * event.values[2];

                     linear_acceleration[0] = event.values[0] - gravity[0];
                     linear_acceleration[1] = event.values[1] - gravity[1];
                     linear_acceleration[2] = event.values[2] - gravity[2];
                }

<u>Examples</u>: <ul><li>デバイスがテーブル上に平らで、左側を右に向かって押すと、x 加速度値は正になります。</李>

<li>デバイスがテーブル上に平らになると、加速度値は +9.81 で、これはデバイスの加速度 (0 m/s^2) から重力 (-9.81 m/s^2) を引いた値に対応します。</李>

<li>デバイスがテーブル上に平らで、A m/s^2 の加速度で空に向かって押されると、加速度値は、デバイスの加速度 (+A m/s^2) から重力 (-9.81 m/s^2) を引いた加速度に対応する A+9.81 と<等しくなります。/li></ul>

<h4>android.hardware.Sensor#TYPE_MAGNETIC_FIELD Sensor.TYPE_MAGNETIC_FIELD:</h4> すべての値はマイクロテスラ (uT) にあり、X、Y、Z 軸の周囲磁場を測定します。

<h4>android.hardware.Sensor#TYPE_GYROSCOPE Sensor.TYPE_GYROSCOPE: </h4> すべての値はラジアン/秒で、デバイスのローカル X、Y、Z 軸の周りの回転率を測定します。 座標系は、加速度センサーに使用されるのと同じです。 回転は反時計回りの方向に正です。 つまり、原点上に位置するデバイスの x、y、または z 軸上の何らかの正の位置から見ているオブザーバーは、デバイスが反時計回りに回転しているように見える場合、正の回転を報告します。 これは正の回転の標準的な数学的定義であり、前に指定したロールの定義には一致しないことに注意してください。 <ul>li values[0]: x 軸 </li li>>< 値の周りの速度をAngularします[1]: y 軸 </li li>>< 値の周りの速度をAngularします[2]: z 軸 </li></ul の周りの速度をAngular><>

通常、ジャイロスコープの出力は時間の経過と共に統合され、時間ステップでの角度の変化を説明する回転を計算します。次に例を示します。

private static final float NS2S = 1.0f / 1000000000.0f;
                private final float[] deltaRotationVector = new float[4]();
                private float timestamp;

                public void onSensorChanged(SensorEvent event) {
                     // This time step's delta rotation to be multiplied by the current rotation
                     // after computing it from the gyro sample data.
                     if (timestamp != 0) {
                         final float dT = (event.timestamp - timestamp) * NS2S;
                         // Axis of the rotation sample, not normalized yet.
                         float axisX = event.values[0];
                         float axisY = event.values[1];
                         float axisZ = event.values[2];

                         // Calculate the angular speed of the sample
                         float omegaMagnitude = sqrt(axisX*axisX + axisY*axisY + axisZ*axisZ);

                         // Normalize the rotation vector if it's big enough to get the axis
                         if (omegaMagnitude > EPSILON) {
                             axisX /= omegaMagnitude;
                             axisY /= omegaMagnitude;
                             axisZ /= omegaMagnitude;
                         }

                         // Integrate around this axis with the angular speed by the time step
                         // in order to get a delta rotation from this sample over the time step
                         // We will convert this axis-angle representation of the delta rotation
                         // into a quaternion before turning it into the rotation matrix.
                         float thetaOverTwo = omegaMagnitude * dT / 2.0f;
                         float sinThetaOverTwo = sin(thetaOverTwo);
                         float cosThetaOverTwo = cos(thetaOverTwo);
                         deltaRotationVector[0] = sinThetaOverTwo * axisX;
                         deltaRotationVector[1] = sinThetaOverTwo * axisY;
                         deltaRotationVector[2] = sinThetaOverTwo * axisZ;
                         deltaRotationVector[3] = cosThetaOverTwo;
                     }
                     timestamp = event.timestamp;
                     float[] deltaRotationMatrix = new float[9];
                     SensorManager.getRotationMatrixFromVector(deltaRotationMatrix, deltaRotationVector);
                     // User code should concatenate the delta rotation we computed with the current
                     // rotation in order to get the updated rotation.
                     // rotationCurrent = rotationCurrent * deltaRotationMatrix;
                }

実際には、ジャイロスコープのノイズとオフセットによって、補正が必要なエラーがいくつか発生します。 これは通常、他のセンサーからの情報を使用して行われますが、このドキュメントの範囲外です。

<h4>android.hardware.Sensor#TYPE_LIGHT Sensor.TYPE_LIGHT:</h4><ul><li>値[0]: SI lux 単位 <のアンビエント ライト レベル /li></ul>

<h4>android.hardware.Sensor#TYPE_PRESSURE Sensor.TYPE_PRESSURE:</h4><ul><li>値[0]: hPa の常圧 (ミリバー) </li></ul>

<h4>android.hardware.Sensor#TYPE_PROXIMITY Sensor.TYPE_PROXIMITY: </h4>

<ul><li>値[0]: センチメートル /li<>/ul で<測定された近接センサー距離>

<b>注:</b> 近接センサーの中 には、近 距離または 遠距離 のバイナリ測定のみをサポートするものもあります。 この場合、センサーはその値をandroid.hardware.Sensor#getMaximumRange() maximum range遠方の状態で報告し、い状態では小さい値を報告する必要があります。

<h4>android.hardware.Sensor#TYPE_GRAVITY Sensor.TYPE_GRAVITY:</h4>

重力の方向と大きさを示す 3 次元ベクトル。 単位は m/s^2 です。 座標系は、加速度センサーで使用されるのと同じです。

<b>注:</b> デバイスが保存されている場合、重力センサーの出力は加速度計の出力と同じである必要があります。

<h4>android.hardware.Sensor#TYPE_LINEAR_ACCELERATION Sensor.TYPE_LINEAR_ACCELERATION: </h4> 重力を含まない各デバイス軸に沿った加速度を示す 3 次元ベクトル。 すべての値の単位は m/s^2 です。 座標系は、加速度センサーで使用されるのと同じです。

加速度計、重力センサー、線形加速度センサーの出力は、次の関係に従う必要があります。

<ul>加速度 = 重力 + 線形加速度</ul>

<h4>android.hardware.Sensor#TYPE_ROTATION_VECTOR Sensor.TYPE_ROTATION_VECTOR:</h4>

回転ベクトルは、 角度と 軸の組み合わせとしてデバイスの向きを表します。この は、デバイスが角度 θ を通して軸 < を中心に回転します。x、y、z>。

回転ベクトルの 3 つの要素は lt &です。x*sin(θ/2)、y*sin(θ/2)、z*sin(θ/2)>。回転ベクトルの大きさが sin(θ/2) に等しく、回転ベクトルの方向が回転軸の方向と等しくなります。

</p>回転ベクトルの 3 つの要素は、b 単位</b>> 四元数 < の最後の <3 つの要素と等しくなります。cos(θ/2),x*sin(θ/2),y*sin(θ/2), z*sin(θ/2)>.</P>

回転ベクトルの要素は単位なしです。 x、y、z 軸は、加速度センサーと同じ方法で定義されます。

参照座標系は、直接正規基底として定義されます。ここで、 </p>

<ul><li>X は、ベクトル積 <b>Y.Z</b> として定義されます (これは、デバイスの現在の位置で地面に接し、ほぼ東をポイントします)。</li li><>Y は、デバイスの現在の位置にある地面に正接し、磁気北を指します。</li li><>Z は空を指し、地面に垂直です。</li></ul>

<center><img src="../../../images/axis_globe.png" alt="World 座標系図" border="0" /></center>

<ul>li values[0]: x*sin(θ/2) </li li><> values[1]: y*sin(θ/2) </li li>>< values[2]: z*sin(& #952/2) </li li>>< values[3]: cos(θ/2) </li li>>< values[4]: 推定見出し精度 (ラジアン単位) (-1 使用できない場合)</li></ul><>

values[3], originally optional, will always present from SDK Level 18 froms. values[4] は、SDK レベル 18 で追加された新しい値です。

<h4>android.hardware.Sensor#TYPE_ORIENTATION Sensor.TYPE_ORIENTATION:</h4> すべての値は角度 (度単位) です。

<ul><li> values[0]: 方位角、z 軸 (0 ~ 359) を中心にした磁気北方向と y 軸の間の角度。 0=North、90=East、180=South、270=West </p>

values[1]: ピッチ、x 軸周りの回転 (-180 から 180)、z 軸が b>を y 軸に向かって<移動<>すると正の値を指定します。

values[2]: デバイスが時計回りに動くにつれて、y 軸 (-90 から 90) の周りの回転が増加します。

</ul>

<b>注:</b> この定義は、X軸が平面の長い側(尾から鼻)に沿っている航空で使用されるb>ヨー、ピッチ、ロール</b>とは異なります<。

<b>注:</b> このセンサーの種類は、従来の理由から存在します。代わりに、 と android.hardware.SensorManager#getRotationMatrix getRotationMatrix() とをandroid.hardware.SensorManager#remapCoordinateSystem remapCoordinateSystem()android.hardware.SensorManager#getOrientation getOrientation()組み合わせて使用android.hardware.Sensor#TYPE_ROTATION_VECTOR rotation vector sensor typeし、これらの値を計算してください。

<b>重要な注意事項:</b> 歴史的な理由から、ロールの角度は時計回りの方向に正です (数学的には、反時計回りの方向では正である必要があります)。

<h4>android.hardware.Sensor#TYPE_RELATIVE_HUMIDITY Sensor.TYPE_RELATIVE_HUMIDITY:</h4><ul><li> 値[0]: /li<>/ul の<相対的な周囲の空気湿度>

相対的な周囲の空気の湿度と周囲の温度を測定すると、露点と絶対湿度を計算できます。

<u>露点</u>

露点は、水蒸気が水に凝縮するために、所定の空気の小包を一定の気圧で冷却する必要がある温度です。

<センター>

ln(RH/100%) + m&#183;t/(T<sub>n</sub>+t)
            t<sub>d</sub>(t,RH) = T<sub>n</sub> &#183; ------------------------------
                            m - [ln(RH/100%) + m&#183;t/(T<sub>n</sub>+t)]

</center><dl><dt>t<sub>d</sub></dt><dd>dew point temperature in °C</dd><dt>t</dt><dd>実際の温度 (&度)。%</dd><dt>m</dt><dd>17.62/dd dt>T<sub>n</>><sub></dt<>dd>243.12< ° 内の C</dd<>dt RH</dt><dd>実際の相対湿度。C</dd></dl>

次に例を示します。

h = Math.log(rh / 100.0) + (17.62 * t) / (243.12 + t);
            td = 243.12 * h / (17.62 - h);

<u>絶対湿度</u>

絶対湿度は、乾燥空気の特定の体積における水蒸気の質量です。 単位はg/m<sup>3</supである>。

<センター>

RH/100%&#183;A&#183;exp(m&#183;t/(T<sub>n</sub>+t))
            d<sub>v</sub>(t,RH) = 216.7 &#183; -------------------------
                                      273.15 + t

</center><dl><dt>d<sub>v</sub></dt><dd>絶対湿度 (g/m<sup>3</sup></dd><dt>t</dt><dd>実際の温度) °%</dd><dt>m</dt dd>17.62/dd><dt>T<sub>n</>><sub></dt<>dd>243.12< ° 内の C</dd><dt RH</dt><dd>実際の相対湿度。C</dd><dt>A</dt><dd>6.112 hPa</dd></dl>

次に例を示します。

dv = 216.7 *
            (rh / 100.0 * 6.112 * Math.exp(17.62 * t / (243.12 + t)) / (273.15 + t));

<h4>android.hardware.Sensor#TYPE_AMBIENT_TEMPERATURE Sensor.TYPE_AMBIENT_TEMPERATURE: </h4>

<ul><li> 値 [0]: 摂氏の周囲 (室温)。</li></ul>

<h4>android.hardware.Sensor#TYPE_MAGNETIC_FIELD_UNCALIBRATED Sensor.TYPE_MAGNETIC_FIELD_UNCALIBRATED:</h4> と似ています android.hardware.Sensor#TYPE_MAGNETIC_FIELDが、測定に含まれるのではなく、ハード鉄校正が個別に報告されます。 工場校正と温度補正は、引き続き「未調整」測定に適用されます。 磁場が地球の極に起因すると仮定することは避けてください。

値の配列を次に示します。 ul>li values[0] = x_uncalib </li li>>< values[1] = y_uncalib </li li><> values[2] = z_uncalib </li<>li> values[3] = x_bias </li li><> values[4] = y_bias </li><li> values[5] = z_bias </li<>/ul><<>

x_uncalib、y_uncalib、z_uncalibは、X、Y、Z 軸で測定された磁場です。 柔らかい鉄および温度の口径測定は適用される。 しかし、硬い鉄の校正は適用されません。 値は micro-Tesla (uT) にあります。

x_bias、y_bias、X、Y、Z軸で推定される鉄バイアスを与えるz_bias。 各フィールドは、推定された硬鉄校正のコンポーネントです。 値は micro-Tesla (uT) にあります。

ハード鉄 - これらの歪みは、デバイス上の磁化鉄、鋼、または永久磁石が原因で発生します。 軟鉄 - これらの歪みは、地球の磁場との相互作用によって発生します。

<h4>android.hardware.Sensor#TYPE_GAME_ROTATION_VECTOR Sensor.TYPE_GAME_ROTATION_VECTOR:</h4> 地磁気フィールドを android.hardware.Sensor#TYPE_ROTATION_VECTOR 使用しない点を除き、 と同じです。 したがって、Y 軸は北を指すのではなく、他の参照ではなく、Z 軸の周りのジャイロスコープドリフトと同じ大きさでドリフトできます。

理想的なケースでは、携帯電話が回転して同じ現実世界の向きに戻ると、同じゲーム回転ベクトルが報告されます (地球の地磁気フィールドを使用しません)。 ただし、時間の経過と同時に向きが多少ずれている可能性があります。 値の詳細については、「」を参照してください android.hardware.Sensor#TYPE_ROTATION_VECTOR 。 このセンサーには、推定見出し精度の値はありません。

<h4>android.hardware.Sensor#TYPE_GYROSCOPE_UNCALIBRATED Sensor.TYPE_GYROSCOPE_UNCALIBRATED:</h4> すべての値はラジアン/秒で、X、Y、Z 軸の周りの回転率を測定します。 各軸のドリフトの推定も報告されます。

ジャイロドリフト補正は行われません。 工場校正と温度補償は、回転速度(角速度)に適用されます。

座標系は、回転が反時計回りの方向に正である (右規則) に使用される android.hardware.Sensor#TYPE_ACCELEROMETER のと同じです。 つまり、原点上に配置されたデバイスで x、y、または z 軸上の何らかの正の位置から見ているオブザーバーは、デバイスが反時計回りに回転しているように見えた場合に正の回転を報告します。 範囲は少なくとも 17.45 rad/s (つまり、最大 1000 deg/秒) です。 <ul><li> values[0] : rad/s /li li 値 [1] の X 軸周辺の角速度 (w/o ドリフト補正) : rad/s </li><<>li>> 値 [2] の Y 軸の周りの角速度 (w/o ドリフト補正): rad/s <</li<>li> 値 [3] の Z 軸の周りの角速度 (w/o ドリフト補正) : rad/s </li><li> 値 [4] の X 軸周辺の推定ドリフト: rad/s </li li<>> 値における Y 軸周りの推定ドリフト [5] : z 軸周辺の推定ドリフト (rad/s </li></ul)>

<b>Pro Tip:</b> 常に値配列の長さを使用して、それに対する操作を実行します。 以前のバージョンでは、これは以前は常に 3 で、現在は変更されています。

<h4>android.hardware.Sensor#TYPE_POSE_6DOF Sensor.TYPE_POSE_6DOF:</h4>

TYPE_POSE_6DOFイベントは、四元数として表される回転と、SI 単位で表される変換で構成されます。 イベントには、前のシーケンス番号付きポーズ以降にデバイスの姿勢がどのように変化したかを示す差分回転と平行移動も含まれています。 このイベントでは、大砲の Android センサー軸が使用されます。

<ul>li values[0]: x*sin(θ/2) </li li><> values[1]: y*sin(θ/2) </li li>>< values[2]: z*sin(θ/2) </li><li> values[3]: cos(θ/2) </li><>

<li> values[4]: 任意の原点からの x 軸に沿った平行移動。 </li li><> values[5]: 任意の原点からの y 軸に沿った平行移動。 </li li><> values[6]: 任意の原点からの z 軸に沿った平行移動。 </李>

<li> values[7]: Delta quaternion rotation x*sin(θ/2) </li li><> values[8]: Delta quaternion rotation y*sin(θ/2) </li><li> values[9]: Delta quaternion rotation z*sin(θ/2) </li li<>> values[10]: Delta quaternion rotation cos(θ/2) </li>

<li> values[11]: x 軸に沿ったデルタ平行移動。 </li li><> values[12]: y 軸に沿ったデルタ変換。 </li li><> values[13]: z 軸に沿ったデルタ平行移動。 </李>

<li> values[14]: シーケンス番号 </li>

</ul>

<h4>android.hardware.Sensor#TYPE_STATIONARY_DETECT Sensor.TYPE_STATIONARY_DETECT:</h4>

TYPE_STATIONARY_DETECT イベントは、デバイスが少なくとも 5 秒間静止しており、最大待ち時間が 5 秒の場合に生成されます。 つまり、このイベントをトリガーするには、デバイスが保存されているのに 5 秒から 10 秒かかる場合があります。

使用できる値は 1.0 のみです。

<ul><li> values[0]: 1.0 </li></ul>

<h4>android.hardware.Sensor#TYPE_MOTION_DETECT Sensor.TYPE_MOTION_DETECT:</h4>

TYPE_MOTION_DETECT イベントは、デバイスが少なくとも 5 秒間動作しており、最大待ち時間が 5 秒間続いている場合に生成されます。 つまり、このイベントをトリガーするには、デバイスが保存されているのに 5 秒から 10 秒かかる場合があります。

使用できる値は 1.0 のみです。

<ul><li> values[0]: 1.0 </li></ul>

<h4>android.hardware.Sensor#TYPE_HEART_BEAT Sensor.TYPE_HEART_BEAT:</h4>

この型のセンサーは、心臓の鼓動のピークが検出されるたびにイベントを返します。

ここでのピークは、理想的にはECG信号のQRS複合体の正のピークに対応する。

<ul><li> values[0]: confidence</li></ul>

信頼度値 0.0 は、完全な不確実性を示します。ピークは、他の場所と同じように、指定されたタイムスタンプにある可能性が高くなります。 信頼度値 1.0 は完全であることを示します。ピークが QRS コンプレックスの他の場所に存在する可能性はまったく低いことを示します。

<h4>android.hardware.Sensor#TYPE_LOW_LATENCY_OFFBODY_DETECT Sensor.TYPE_LOW_LATENCY_OFFBODY_DETECT:</h4>

この種類のセンサーは、デバイスがオフボディからオンボディ、オンボディからオフボディに切り替わるたびにイベントを返します (たとえば、手首からウェアラブル デバイスを取り外すと、オフボディ遷移を示すイベントがトリガーされます)。 返されるイベントには、本文外の状態を示す 1 つの値が含まれます。

<ul><li> values[0]: off-body state</li></ul>

オフボディ状態の有効な値: <ul><li> 1.0 (デバイスがオンボディ)</li<>li> 0.0 (デバイスがオフボディ)</li></ul>

この種類のセンサーがアクティブ化されると、センサーをアクティブ化してから 5 秒以内に、現在のデバイスの状態を表す初期のオンボディまたはオフボディ イベントを配信する必要があります。

このセンサーは、本体から取り外されたデバイスから 1 秒以内にオンボディからオフボディへの遷移を検出して報告でき、デバイスが本体に戻されてから 5 秒以内にオフボディからオンボディへの遷移を検出して報告できる必要があります。

<h4>android.hardware.Sensor#TYPE_ACCELEROMETER_UNCALIBRATED Sensor.TYPE_ACCELEROMETER_UNCALIBRATED:</h4> すべての値は SI 単位 (m/s^2)

と同様に android.hardware.Sensor#TYPE_ACCELEROMETER、工場校正と温度補正は、"未調整" 測定に適用されます。

値の配列を次<に示します。ul><li> 値 [0] = バイアス補償<なしのx_uncalib /li li>>< 値 [1] = バイアス補償なしのy_uncalib /li><li> 値 [2] = バイアス補正<<なしのz_uncalib /li><li> 値 [3] = 推定x_bias </li<>li> 値 [4] = 推定y_bias </li><li> 値 [5] = 推定z_bias </li></ul>

x_uncalib、y_uncalib、z_uncalibは、バイアス補正なしでX、Y、Z軸と同様に android.hardware.Sensor#TYPE_ACCELEROMETER測定された加速度である(工場バイアス補償および温度補償が許可される)。 x_bias、y_bias、z_biasは推定バイアスです。

<h4>android.hardware.Sensor#TYPE_HINGE_ANGLE Sensor.TYPE_HINGE_ANGLE:</h4>

このタイプのセンサーは、デバイスの 2 つの不可欠な部分の間の角度を度単位で測定します。 このセンサーの種類によって測定されるヒンジの動きは、ユーザーがデバイスと対話する方法 (たとえば、ディスプレイの展開や表示など) を変更することが期待されます。

<ul><li> 値[0]: 0 ~ 360 度の<範囲のヒンジ角度を測定/li></ul>

<h4>android.hardware.Sensor#TYPE_HEAD_TRACKER Sensor.TYPE_HEAD_TRACKER:</h4>

この種類のセンサーは、任意の参照フレームに対するユーザーの頭の向きと回転速度を測定します。

このセンサーによって生成されるイベントは、<特別なヘッド中心の座標フレームに従います。ul><li> X 軸はユーザーの耳を通過し、正の X 方向はユーザーの右耳<から><>伸び、Y 軸はユーザーの頭の後ろから鼻を通って交差し、正の方向が鼻から伸びて、 X/Y平面は、ユーザーが直立していてまっすぐ前方<を見ているとき、地面に対して名目上平行である/li li><> Z軸は首からユーザーの頭の上部を通って交差し、正の方向は頭</li></ulの上部から延びている>

データはオイラー ベクター表現で提供されます。これは、方向が回転軸を示し、大きさがその軸を中心に回転する角度をラジアン単位で示すベクトルです。

最初の 3 つの要素は、(任意の、おそらくゆっくりとドリフトしている) 参照フレームからヘッド フレームへの変換を提供します。 このベクトルの大きさは範囲 [0, π] ラジアンで、個々の軸の値は範囲 [-π, π] です。 次の 3 つの要素は、必要に応じて、ユーザーの頭の推定回転速度を、それ自体に対して 1 秒あたりのラジアン単位で提供します。 特定のセンサーが速度の決定をサポートしていない場合、これらの要素は 0 に設定されます。

<ul>li values[0] : 回転</li<>li> 値を表すオイラー ベクターの X 成分 [1] : 回転</li li>>< 値を表すオイラー ベクターの Y 成分 [2] : 回転</li li<>> 値を表すオイラー ベクターの Z 成分 [3] : 角速度を表すオイラー ベクターの X 成分 (サポートされている場合は 0)</li li>><><values[4] : 角速度を表すオイラー ベクトルの Y 成分 (サポートされている場合は 0)</li li>>< 値 [5] : 角速度を表すオイラー ベクトルの Z 成分 (サポートされている場合は 0)</li></ul>

<h4>android.hardware.Sensor#TYPE_ACCELEROMETER_LIMITED_AXES Sensor.TYPE_ACCELEROMETER_LIMITED_AXES: </h4> TYPE_ACCELEROMETERに相当しますが、1 つまたは 2 つの軸がサポートされていないサポートケース。

最後の 3 つの値は、特定の軸の加速度値がサポートされているかどうかを表します。 値 1.0 は軸がサポートされていることを示し、値 0 はサポートされていないことを意味します。 サポートされている軸はビルド時に決定する必要があり、実行時にこれらの値は変更されません。

サポートされていない軸の加速度値は 0 に設定されます。

android.hardware.Sensor#TYPE_ACCELEROMETER に似ています。

<ul>li values[0]: x 軸の加速度マイナス Gx (サポートされている場合)</li li>>< 値 [1]: y 軸の加速度マイナス Gy (サポートされている場合)</li li<>> 値 [2]: z 軸の加速度マイナス Gz (サポートされている場合)</li<>li> 値 [3]: x 軸</li><li> 値に対してサポートされる加速度[4]: y 軸</li>>< 値 [5]:>< z 軸</li></ul でサポートされる加速度>

<h4>android.hardware.Sensor#TYPE_GYROSCOPE_LIMITED_AXES Sensor.TYPE_GYROSCOPE_LIMITED_AXES: </h4> TYPE_GYROSCOPEに相当しますが、1 つまたは 2 つの軸がサポートされていないサポートケース。

最後の 3 つの値は、特定の軸の角度速度値がサポートされているかどうかを表します。 値 1.0 は軸がサポートされていることを示し、値 0 はサポートされていないことを意味します。 サポートされている軸はビルド時に決定する必要があり、実行時にこれらの値は変更されません。

サポートされていない軸の角度速度の値は 0 に設定されます。

android.hardware.Sensor#TYPE_GYROSCOPE に似ています。

<ul>li values[0]: x 軸を中心にAngular速度 (サポートされている場合)</li li>>< 値 [1]: y 軸の周りの速度をAngular (サポートされている場合)</li li><> 値[2]: z 軸の周りの速度をAngularします (サポートされている場合)</li li<>> 値[3]: x 軸</li<>li> 値でサポートされる速度Angular[><4]: Angular y 軸</li li> 値でサポートされる速度[5]: z 軸</li>><</ul でサポートされるAngular速度>

<h4>android.hardware.Sensor#TYPE_ACCELEROMETER_LIMITED_AXES_UNCALIBRATED Sensor.TYPE_ACCELEROMETER_LIMITED_AXES_UNCALIBRATED: </h4> TYPE_ACCELEROMETER_UNCALIBRATEDに相当しますが、1 つまたは 2 つの軸がサポートされていないサポートケース。

最後の 3 つの値は、特定の軸の加速度値がサポートされているかどうかを表します。 値 1.0 は軸がサポートされていることを示し、値 0 はサポートされていないことを意味します。 サポートされている軸はビルド時に決定する必要があり、実行時にこれらの値は変更されません。

サポートされていない軸の加速度値とバイアス値は 0 に設定されます。

<ul>li values[0]: バイアス補償なしのx_uncalib (サポートされている場合)</li li<>> 値[1]: バイアス補償なしのy_uncalib (サポートされている場合)</li li<>> 値[2]: バイアス補償なしのz_uncalib (サポートされている場合) )</li li<>> 値[3]: 推定x_bias (サポートされている場合)</li li><> 値[4]: 推定y_bias (サポートされている場合)</li li>>< 値 [5]: 推定z_bias (サポートされている場合)</li><><li> values[6]: x 軸</li li><> 値に対してアクセラレーションがサポートされています[7]: y 軸</li li<>> 値に対してアクセラレーションがサポートされています[8]: z 軸</li></ul でサポートされる加速度>

<h4>android.hardware.Sensor#TYPE_GYROSCOPE_LIMITED_AXES_UNCALIBRATED Sensor.TYPE_GYROSCOPE_LIMITED_AXES_UNCALIBRATED: </h4> TYPE_GYROSCOPE_UNCALIBRATEDに相当しますが、1 つまたは 2 つの軸がサポートされていないサポートケース。

最後の 3 つの値は、特定の軸の角度速度値がサポートされているかどうかを表します。 値 1.0 は軸がサポートされていることを示し、値 0 はサポートされていないことを意味します。 サポートされている軸はビルド時に決定する必要があり、実行時にこれらの値は変更されません。

サポートされていない軸の角度速度値とドリフト値は 0 に設定されます。

<ul>li values[0]: X 軸の周りのAngular速度 (w/o ドリフト補正) (サポートされている場合)</li li>>< 値 [1]: Y 軸の周りのAngular速度 (w/o ドリフト補正) (サポートされている場合)</li li<>> 値 [2]: Z 軸 (サポートされている<場合)/li<>li> 値 [3] の周りの速度 (w/o ドリフト補正) をAngularします。><supported)</li li><> values[4]: Y 軸周辺の推定ドリフト (サポートされている場合)</li li>>< 値[5]: Z 軸周辺の推定ドリフト (サポートされている場合)</li li><> 値[6]: x 軸</li li> 値に対してサポートされるAngular速度 [7]: Angular y 軸</li<>><li> 値でサポートされる速度 [8]: Angular速度z 軸</li></ul></p でサポート>

<h4>android.hardware.Sensor#TYPE_HEADING Sensor.TYPE_HEADING:</h4>

このタイプのセンサーは、デバイスが真北を基準にして指している方向を度単位で測定します。 値は 0.0 (含む) から 360.0 (排他的) の間で、0 は北、90 東、180 南、西 270 を示す必要があります。

精度は 68% の信頼度で定義されます。 基になる分布がガウス正規と見なされる場合、これは標準偏差の 1 つと見なされます。 たとえば、見出しが 60 度を返し、精度が 10 度を返す場合、真の見出しが 50 度から 70 度の間にある確率は 68% になります。

<ul><li> values[0]: 度単位で測定された見出し。</li li><> values[1]: 見出しの精度を度単位で指定します。</li></ul>

の Java ドキュメント android.hardware.SensorEvent.values

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象

こちらもご覧ください