> という計算をしていますが、これはローパスフィルタで重力加速度を取り出し
ているのでしょうか。
違うと思います。サンプルは余り深く考えていないと思います。式を見る限
り、単純に0.9の一次IIRフィルタを掛けて速い周波数成分をきっているだけだと
思います。
これだと、センサの実変化に追随しないもっさりとした変化になるだけだと思
います。
> また、「方向の取得」の部分の計算はどういう意味なんでしょうか。サンプル
コードでは「加速度の処理」と同じような計算をしています。
これも同じで、深く考えずに速い周波数成分をきっているだけだと思います。
> 方位、ピッチ、ロールを取得には単純にSensorEventの値をそのまま使えばよ
くて、上記のような計算は必要ないと思うのですが。
> 自分の理解は合っているでしょうか。
orientationは、event.values[0]は磁気センサの演算結果から出力して、
event.values[1]とevent.values[2]は加速度センサの値を出しているだけではな
かったかなと記憶しています。以前、調べたときにそんな感じだった記憶が残っ
ています。
なので、静止状態のピッチ、ロールは生の値で大丈夫だと思います(センサが
暴れるので移動平均を少し掛けた方がいいと思いますが)が、動いている状態で
は、ピッチやロールは固体の振動や遠心力も加速度として拾うので、それらを
キャンセルする必要があります。
--
山本三七男 (Minao Yamamoto) ---------------- ハンドル:たろサ -----
E-Mail: taro...@gmail.com
> 今回の値=(SensorEventから取得した値 * 0.1) + (前回の値 * 0.9)
この式はよく使われていますが、
これが何をするものかの説明がほとんどなかったので、
簡単な説明をブログに書いています。
加速度センサ と ローパスフィルタ
http://android.ohwada.jp/archives/334
---
大和田 健一 <ml.o...@gmail.com>