梶研 05/17 - 05/23

スケジュール 短期的なスケジュール 速度を変えてUnityでアニメーション データをとる アニメーションをつける エレベーターと歩きを判別する データをとる グラフ化 フーリエ変換 判別する 進捗 速度を変えてUnityでアニメーション 前回 速度差を再現したけど分からづらかった データをとる 場所 1号館 5階-7階 取り方 腰にポーチをつける Pixel5 (Android) Pyphox 気圧センサー 加速度センサー 角速度センサー 5-6階: 歩く(1段ずつ) 6-7階: 走る(2段ずつ) 速度差をつけた動作のアニメーション (実際の4倍速になっている) 速度に応じて歩幅も変わっている => 加速度を元に歩幅を計算する “二乗平均誤差(RMSE)を出す” で使用した式 step = 0.1 * norm - 0.5 加速度を元に歩幅を変えたアニメーション いい感じ 進行方向を計算から求める 進行方向の求め方 UnityEngine.Vector3 current = positions[currentIndex]; // 現在の座標 UnityEngine.Vector3 next = positions[currentIndex + 1]; // 次の座標 UnityEngine.Vector3 vector = next - current; // 進行方向 float angleY = MathF....

2023-5-23 · 1 min · 148 words · SatooRu

梶研 05/03 - 05/09

スケジュール 3次元の歩行軌跡 計測 二次元グラフ化 三次元グラフ化(Python) 三次元グラフ化(Unity) 進捗 計測 4号館別館の1階(階段前)から3階(トイレ前)へ 使用機器など Android Xperia Phyphox 加速度センサー 角速度センサー 気圧センサー 二次元グラフ化 各センサーの値 (前後40サンプルの移動平均フィルターをかけてある) 二次元グラフ(加速度, 角速度) 1-2階と2-3階が1.5mほどずれている => 階段の歩幅と平坦部の歩幅が異なるから? 三次元グラフ化(Python) 気圧から高さを出す 1気圧の環境で 1hPa 下がると 10m 上があるとして計算 三次元グラフ 三次元グラフ(横から) 階段を登っている様子はわかるが、沈んでしまっている(?) => もっと平滑化すべき? 平滑化を強めた(?)グラフ 前後160サンプルで平滑化 やりすぎだが、フィルター次第で綺麗にできる問題だと分かった 三次元グラフ化(Unity) Pythonで座標をcsvで書き出して、c#で読み込む c#スクリプト 少数16桁ある場合は System.Globalization.NumberStyles.Float が必要となる float.Parse(line[0], System.Globalization.NumberStyles.Float); 動かしながら見れるようになった メモ kajilab.net 論文 梶克彦,河口信夫,安定センシング区間検出に基づく3次元歩行軌跡推定手法, 情報処理学会論文誌,Vol.57, No.1, pp.12-24,2016. (特選論文) 直線や直角,並行な部分を割り出して綺麗にする研究 長期的にみてやる 情報処理学会 入っておくと良い TODO: 直線や直角,並行な部分を割り出して綺麗にする Unity で時間通りのアニメーションにする

2023-5-9 · 1 min · 64 words · SatooRu

梶研 04/26 - 05/02

スケジュール 二乗平均誤差(RMSE)を出す 計測 グラフ化 二乗平均誤差を出す 誤差を減らす 3次元の歩行軌跡 計測 グラフ化 進捗 計測 5歩 + 90度左 + 8歩(大きく) + (3歩) 歩幅に合わせて合わせて目印をつけ、歩く 実測した軌跡 加速度, 角速度, 角度グラフ 1歩を赤丸でプロット 角速度を積分して角度を出した ピークの条件 高さ 11m/s^2 以上 間隔 0.3s 以上(30サンプル) 顕著度(?)の閾値 3.5以上 signal.find_peaks(df_acc[’low_norm’], height=11, distance=30, prominence=3.5) いい感じ…? 軌跡 90度左向いたはずが明らかに無い 原因 角度のグラフ をみてみると… 約6.2rad => 約360度 (先週の記録は 約1.75rad) 角速度を見てみると先週の約10倍 角度を *0.1 してみる 軌跡(角度*0.1) なぜ *0.1 する必要があるかは分からない => 反対に いくつ掛ければ90度になるか を考えてみる 軌跡(角度*0.26) ぐねぐねしてるけど理想はこんな感じ 0.26 って何者… 1 / 0.26 = 3.84...

2023-5-2 · 1 min · 184 words · SatooRu

梶研 04/19 - 04/25

スケジュール 歩行軌跡の可視化 データを取得する 加速度, 角速度をグラフ化 歩行軌跡を表示する 加速度の大きさに合わせて歩幅を変えてみる 進捗 データを取得する 使用機器等 iPhone 12 iOSアプリを制作 前回使用した phyphox は2つ以上のデータの取得ができなさそうだった (やり方あった) charGPTに聞きながら作った 結局使わなかった 取得方法 腰にポーチを付けてスマホを入れた 画面(z軸)を正面に、ジャイロのx軸左回りを正 10歩 + 左90度 + 5歩 加速度, 角速度をグラフ化 使用言語等 Python 3.10.10 pandas matplotlib numpy signal itertools 加速度と角速度, 角度のグラフ 1歩を赤丸でプロット 角速度を積分して角度を出した 条件 高さ 11m/s^2 以上 間隔 0.3s 以上(30サンプル) 歩行軌跡を表示する アルゴリズム 0歩の時点を (0, 0) とする 1歩 70cm とする 1歩進んだ時の角度(α)を出す α度の方向に70cm進んだ位置にプロット 歩行軌跡 形は想定通りだが、傾いているのが気になる → 1歩踏み出した時点では腰が斜めになるから? 加速度の大きさに合わせて歩幅を変えてみる 5歩(歩く) + 5歩(早歩き) + 6歩(小走り) 歩幅の計算 10m/s^2 : 60cm...

2023-4-25 · 2 min · 220 words · SatooRu

梶研 04/11 - 04/18

スケジュール Androidアプリ開発 お試し Android Stdio の設定 加速度センサーを見るアプリをつくる ファイル出力する ファイルをPCに移す 加速度から距離を出してみる 加速度センサーの値を取る(直線運動) Pythonでグラフ化する 加速度グラフを距離グラフにする 相対時間にする 歩数推定 加速度センサーの値を取る(歩行) Pythonでグラフ化し、フィルターをかける 歩数を取得する 進捗 Androidアプリ開発 お試し 参考サイト 01_HelloAndroid 02_Sensor 03_Output リポジトリ AndroidSensor 変更点 APIレベルに合わせたコードに変更 TextView を行ごとに分割した 加速度から距離を出してみる 加速度センサーの値を取る スマホをx軸正の方向に約[TODO]cm動かした 環境 端末 iPhone 12 センサー取得アプリ phyphox Pythonでグラフ化する グラフ化 Python3.10.10 使用ライブラリ pandas matplotlib numpy 加速度グラフを距離グラフにする 加速度[m/s^2] を微分すると 速度[m/s] になる 速度[m/s] を微分すると 距離[m] になる 問題点 速度グラフ, 距離グラフ の形がおかしい 微分 と 積分 を逆に認識していた 速度, 距離の値が大きすぎる サンプリング周波数(100Hz)を考慮していなかった 最終的なグラフ 歩数推定 加速度センサーの値を取る(歩行) まっすぐ5歩 スマホのz軸正が上向き、y軸正が左向きになるように腰の位置で手に持った Pythonでグラフ化し、フィルターをかける 平滑化フィルター (N0 + N-1 + N-2 + N-3 + N-4) / 5...

2023-4-18 · 1 min · 210 words · SatooRu