SatooRu's Profile

全ての記事梶研の進捗日常の記録制作物一覧

梶研 [端末座標系を世界座標系に]

2023年7月4日

thumbnail

端末座標系を世界座標系に

出席率

  • 3年セミナー:??%

スケジュール

短期的な予定

  • 端末座標系を世界座標系に
    • データをとる
    • 重力に対する各軸の傾きを出す
    • 2次元ベクトルを回転させる
    • 3次元ベクトルを回転させる
    • 端末座標系を世界座標系に変換する

長期的な予定

  • 8/5 技育キャンプ ハッカソン
  • 8/12 技育展
  • 8/26 OpenHackU
  • 9/2 技育キャンプ アドバンス
  • 10/7,8 工科展

進捗報告

assets_2.png (5.8 kB)

世界座標の基準

スマホの画面(z軸正)が垂直上向の状態を世界座標の基準とする

端末の傾きの出し方の確認

端末の傾きの計算方法

1roll = math.acos(x / gravity) 2pitch = math.acos(y / gravity) 3yaw = math.acos(z / gravity)

z軸正が上向きの場合

  • x軸: 0.0(m/s^2)
  • y軸: 0.0(m/s^2)
  • z軸: 9.8(m/s^2)
1x軸: 90.0度 (0度) 2y軸: 90.0度 (0度) 3z軸: 0.0度 (0度)

() 内は理想

x軸正が上向きの場合

  • x軸: 9.8(m/s^2)
  • y軸: 0.0(m/s^2)
  • z軸: 0.0(m/s^2)
1x軸: 0.0度 (0度) 2y軸: 90.0度 (0度) 3z軸: 90.0度 (0度)

y軸正が上向きの場合

  • x軸: 0.0(m/s^2)
  • y軸: 9.8(m/s^2)
  • z軸: 0.0(m/s^2)
1x軸: 90.0度 (0度) 2y軸: 0.0度 (0度) 3z軸: 90.0度 (0度)

計算方法の変更

この計算方法では重力と各軸の角度を出している

1x軸(roll) : 90.0度 2y軸(pitch): 90.0度 3z軸(yaw) : 0.0度

この状態を基準とすると

x軸正が上向きの場合

1x軸(roll) : -90.0度 2y軸(pitch): 0.0度 3z軸(yaw) : -90.0度

y軸正が上向きの場合

1x軸(roll) : 90.0度 2y軸(pitch): 0.0度 3z軸(yaw) : 90.0度

回転後のグラフ

output_1.png (40.0 kB)

比較

元データ

output_3.png (71.9 kB)

回転後

output_2.png (54.8 kB)

動かしているときは誤差が生まれているが、
静止状態では理想的な値になっている

加速度では下方向しかとれないため、
垂直方向(今回はz軸)を軸とした回転量はわからないのでは?

余談

スマホを机に置いた状態で、周りをコンコン叩いた様子
右→下→左→上

なにか遊べそう
(オンラインとんとん相撲的な)

IMG_4416.PNG (375.6 kB) IMG_4417.PNG (368.7 kB)