- 締切済み
iPhoneの加速度センサー
iPhoneの加速度センサーを使ってプログラミングしています。 重力加速度を取り除き、ユーザーが加えた加速度の値を追っているのですが、 X軸の正の方向に本体を水平移動させ続けると、-0.5、-0.3、-0.1、0.0、0.1、0.3、0.5、0.8のように 動き始めは負の値を示した後、正の方向に値が反転していくような結果を示します。 これは正しい挙動なのでしょうか? 一定方向に加速中は常に正負が反転することは無いように思っていたのですが。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- harawo
- ベストアンサー率58% (3742/6450)
初動の加速度が大きすぎて、計測できないので、計測をキャンセルしているのだと思います。 自動車に乗って、自動車の加速度を計測するとか、iPhoneを手に持って動かすにしても、じわっと動かし始めれば、プラスの加速度から始まるんじゃないでしょうか?
- 麻野 なぎ(@asano_nagi)
- ベストアンサー率35% (42/120)
まず、「加速度」というのは、速度の変化量です。 位置の変化量(変位)ではありません。 ですから、そもそも、「完全に同じ速度で水平に移動させた」場合、加速度は「0」です。 人間ですから、「完全に同じ速度」は無理で、少しは速くなったり遅くなったりするでしょう。 たとえ、同じ方向に動かしていても、 速い → 遅い = 加速度はマイナス 遅い → 速い = 加速度はプラス です。 そもそも、そこに誤解があったかもしれません。
- 麻野 なぎ(@asano_nagi)
- ベストアンサー率35% (42/120)
静止状態から始めて、人が動かしているのなら、あり得ることだと思います。 まず、加速度を測る場合、「停止状態」というのは、かなり特殊なポイントになります。 そもそも、初速が0なので、少し動かしたつもりでも、かなりの加速度が加わります。 そして、本当にそのままの加速度で加速し続けると、これまたとんでもない加速になります。 というわけで、特に意識せずに、「人がものを動かし始める」場合、 ・最初かなりの加速度で加速する (そもそも、静止状態から動かし始める場合、かなりの力が必要) ・すぐに、いったん減速して、 (力を加えすぎたので、一度、力を抑えて) ・ゆっくり加速し始める (ここから普通に動かし始める) という挙動になることが多いです。 上の数字は、「最初にかなりの加速度で加速数」という部分を除いた、すぐにいったん減速してゆっくり加速し始めるという動作を反映しているように見えます。 だから、上のような挙動をするのは、「静止状態から動かし始めるところ」と「動かしているものを止めるところ」の二つあるはずです。 「止めるところ」は、そんなに目立った挙動はありませんが、それでも、一定の加速度で減速するのではなくて、一度急激に減速してから、その後、緩やかに減速して停止するはずです。
- hashioogi
- ベストアンサー率25% (102/404)
水平移動の速度にもよると思いますけどね。 ピンポン玉の両端にゴムひもを付けて両手でゴムひもの両端を上下に持って左から右に平行移動させます。すると最初はピンポン玉はその場に残ろうとしますので手の垂直線よりも左にあると思いますけど、次第にゴムひもに追随して動きだし、平行移動を止めるとピンポン玉は移動したままでいようとしますので手の垂直線よりも右に移動し、ゴムひもに引っ張られる感じで手の垂直線の方に戻ってくるでしょ ? 加速度センサの内部の仕組みが上記のピンポン玉の関係に似ていれば0→負→負→負→負→正→0のような値になることがあると思いますけど。
補足
回答ありがとうございます。 >上のような挙動をするのは、「静止状態から動かし始めるところ」と「動かしているものを止めるところ」の二つあるはずです。 仰る通りこの2箇所で反転のような挙動を確認できます。 ですが、 ・最初かなりの加速度で加速する の部分がどうしても目に見える値として確認できないんですよね・・・ 動き始めた瞬間から、動かしてる正の方向とは反対の負の加速度が計測されているようなデータです。 そして一瞬で正方向に反転するわけではなく、動作が継続しているうちに徐々に正方向に振れていくような印象です。 加速中は進行方向と同じ方向の加速度が検出されるはずですよね? X軸の正方向に動かしているときは、加速度の数値も正になると理解していたのですが、 そもそもこの理解からして間違っているのでしょうか・・・