質問: android4.1, javaでアプリを開発中のものです。 今回、加速度センサーとジャイロセンサーで鉛直下向きの速度(端末が落ちているとき)を検出したいと思っています。 どのような方法があるでしょうか? 数学と物理に疎いので鉛直下向きの速度を検出する考え方をどなたかご教授下さらないでしょうか? よろしくお願いします。
回答: 静止状態では、鉛直方向(地球の中心に向かう方向)に1G(9.80665 (m/(s*s)))の加速度(重力加速度)がかかります。 (厳密には、重力加速度は高度、緯度、地質によって変わりますが、よほどの事がなければ無視できるほどです) 静止している時に加速度センサーで3軸(x、y、z)方向の加速度を測定することによって、鉛直下向きを知ることができます。 後は、加速度(3軸(加速度センサ)と3回転軸(ジャイロセンサ))で向きと回転を把握しながら、鉛直下向きの速度(加速度の積分地)を求めれば良いです。 申し訳ありませんが、物理と数学の知識は必要になります。 例えば、3軸(x,y,z方向)、3回転軸(ロール、ピッチ、ヨー)の変化から、物体の向きと動きを変化させるには、それなりの立体座標系の知識がいります。