SatooRu's Profile

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

梶研 [3次元歩行軌跡]

2023年5月9日

thumbnail

3次元歩行軌跡

出席率

  • 3年セミナー:??%

スケジュール

短期的な予定

  • 3次元の歩行軌跡
    • 計測
    • 二次元グラフ化
    • 三次元グラフ化(Python)
    • 三次元グラフ化(Unity)

長期的な予定

  • 6月 技育CAMPハッカソンに参加する

進捗

計測

4号館別館の1階(階段前)から3階(トイレ前)へ

使用機器など

  • Xperia(Android)
  • Phyphox
    • 加速度センサー
    • 角速度センサー
    • 気圧センサー

二次元グラフ化

各センサーの値

output_2.png (447.2 kB)

角度は角速度を積分して求めた
前後40サンプルの移動平均フィルターをかけてある

  • 加速度センサー: ±0.1s(400Hz)
  • 角速度センサー: ±0.1s(400Hz)
  • 気圧センサー: ±2.0s(20Hz)

ピーク(1歩)の条件

  • 高さ 10.5m/s^2 以上
  • 間隔 0.3s 以上(120サンプル)

二次元グラフ(加速度, 角速度)

output_1.png (79.3 kB)

三次元グラフ化(Python)

気圧から高さを出す

1hPa 下がると 10m 上があるとして計算

三次元グラフ

output_3.png (67.9 kB)

三次元グラフ(横から)

output_4.png (27.8 kB)

階段を登っている様子はわかるが、上下にぶれている
=> もっと平滑化すべき?

平滑化を強めたグラフ

output_6.png (65.6 kB) output_5.png (23.6 kB)

前後160サンプルで平滑化
ぽくなったが、やりすぎた

移動平均フィルター以外が必要?

三次元グラフ化(Unity)

Pythonで座標をcsvに書き出して、c# (Unity) で読み込む

c#スクリプト

引っかかった点

少数16桁ある場合は System.Globalization.NumberStyles.Float が必要となる

1x = float.Parse(line[0], System.Globalization.NumberStyles.Float);

Unityでの様子

動かせるようになった

3次元での誤差も出したい

余談

技育CAMPハッカソンに参加する

2a14abae-d903-4e19-b872-3e3514780768.png (195.4 kB)

オンラインが良かったけど締め切ってた...
=> 福岡行こう!!

(初心者歓迎されてなくね...)