梶研 11/01 - 11/07

mocopi センシング スケジュール 短期的な予定 mocopi でセンシング mocopi x Unity 色んな動作をとる 誤差を計測(簡易) 動作をグラフ化 bvhをパースするパッケージを作る 動作判別 csv に書き出せるアプリを作る 研究をしたい テーマを考える 研究する 論文を書く 発表する 長期的な予定 1月~ 研究 12月 WiNF2024 進捗 階段の上り下り 4号館別館の3階から2階へ下りて、上る 経路 位置 気圧 階段を上ったのに気圧にあまり変化がない → ポケットに入れていたから? 撮り直す 経路 位置 気圧 加速度のノルムとピーク 位置yと加速度のノルムのピーク ジャンプ 3回 + 1回 + 1回 y軸の位置 結果 rootの位置(y)は、地面を基準としている 階段を上り下りすると、基準が変わり補正が掛かる 手足がついた瞬間に基準が変わり、補正されるため、 ジャンプ中や、一歩を踏み出している時は基準が変わらない 平面空間であれば取れるが、上下する階段やエレベーター等の判別は難しそう 何やればいいか迷走してます bvhをパースするパッケージを作る 現状、bvhをパースするパッケージはないため、自作する 各関節は相対的な位置・角度で表されているため扱いづらい → 簡単に絶対的な位置・角度を取得できるようにする 結果 2行で取得できるようになった # ファイルを指定 bvhp = BVHparser('sample/jump.bvh') # 欲しい関節を指定 absolute_motion_df = bvhp....

2023-11-7 · 1 min · 126 words · SatooRu

梶研 10/25 - 10/31

mocopi センシング スケジュール 短期的な予定 端末姿勢推定 データを収集 グラフを作成 静止状態の判別 端末の姿勢を推定 加速度を世界座標に変換 Unity で可視化 mocopi でセンシング mocopi x Unity 色んな動作をとる 誤差を計測(簡易) 動作をグラフ化 動作判別 csv に書き出せるアプリを作る Androidアプリ開発 長期的な予定 1月~ 研究 12月 WiNF2024 進捗 端末姿勢推定 端末の姿勢を可視化 各軸の回転とy軸を変動させた mocopi でセンシング csv に書き出せるアプリを作っていたが、時間がかかりそうなので、 bvhで保存したファイルからの動作推定を先にした 動作をとる モードを モーション の 保存 に切り替えて、bvhファイルとして保存する. BVH Sender mocopiアプリで記録したモーションデータ(BVH形式)を、ローカルネットワーク上にUDP送信することができるアプリケーションです。 WireShark で見てみると、UDPで送信されていることがわかる あまり使い道はなさそう BVHファイルをパースする HIERARCHY は、モデルの構造を定義している MOTION は、実際の動作が書かれている HIERARCHY ROOT root { OFFSET 0 93.2929 0 CHANNELS 6 Xposition Yposition Zposition Zrotation Xrotation Yrotation JOINT torso_1 { OFFSET 0 5....

2023-10-31 · 4 min · 646 words · SatooRu

梶研 10/18 - 10/24

mocopi センシング 出席率 3年セミナー:??% スケジュール 短期的な予定 mocopi でセンシング mocopi x Unity 色んな動作をとる 誤差を計測(簡易) csv に書き出せるアプリを作る 動作判別 Androidアプリ開発 長期的な予定 1月~ 研究 12月 WiNF2024 進捗 mocopi x Unity 参考: EVMC4UでUnityとバーチャルモーションキャプチャーをつなぐ方法 | STYLY mocopi(本体) -[Bluetooth]→ mocopi(アプリ) mocopi(アプリ) -[UDP]→ Python(mcp-reciever) Python(mcp-reciever) -[VMC]→ Unity リアルタイムでUnityで可視化 色んな動作をとる 足踏み,逆立ち 腹筋,腕立て 素振り,剣道 誤差を計測(簡易) 30m歩く 計測方法・結果 実際に30m歩く 歩きつつ mocopi(アプリ) 内のグリッドを数える 30m歩いたところ、バーチャルでは29m歩いたことになった 外で100mくらい歩いて誤差を計測したい 計測アプリを作る 既存のアプリ等の問題点 扱いづらい PC側が受信(Python)と表示(Unity)で分かれている csv書き出し未対応 Pythonに追加すれば良いが、扱いづらい 移動距離等が分かりづらい グリッドを数える必要がある 技術 Tauri Rust (受信側) Next.js (表示側) 表示とアニメーションができた ブラウザ上で動くようにした 三角関数で円形に動くアニメーションを作った...

2023-10-24 · 1 min · 104 words · SatooRu

梶研 09/27 - 10/03

カルマンフィルタ序章 出席率 3年セミナー:??% スケジュール 短期的な予定 端末姿勢推定 データを収集 グラフを作成 静止状態の判別 端末の姿勢を推定 加速度を世界座標に変換 カルマンフィルタを用いた推定 長期的な予定 9月中旬まで 端末姿勢推定(加速度, 角速度) 10月中 端末姿勢推定(カルマンフィルタ) 11月中 Kotlin(とRust)の勉強 「いつでもセンシングアプリ」 進捗報告 データをとる 回転を滑らかにしたデータを取る 机に置く(z軸正が上) → 縦向きに立てる(y軸正が上) → 横向きに立てる(x軸正が上) → 机に置く(z軸正が上) 元データ 加速度 白: 静止時 灰: 動作時 角速度, 角度 姿勢推定結果 うまくいっているように見えるが、角速度のメリットが分かりづらい 加速度だけを使用した姿勢推定 世界座標系に変換した加速度 加速度を大きくする 小走りしながらスマホを立てて戻す 加速度だけを使用した姿勢推定 相補フィルターを用いた姿勢推定 加速度だけではノイズが大きいが、 相補フィルターではノイズを抑えることができている カルマンフィルタ もっと調べた Youtube ChatGPT に生成させたサンプルコード import numpy as np import pandas as pd # カルマンフィルタの初期化 def initialize_filter(): # 初期状態推定値 (クォータニオン) x = np....

2023-10-3 · 4 min · 755 words · SatooRu

梶研 09/13 - 09/19

端末姿勢推定 出席率 3年セミナー:??% スケジュール 短期的な予定 端末姿勢推定 データを収集 グラフを作成 静止状態の判別 端末の姿勢を推定 加速度を世界座標に変換 カルマンフィルターを用いた推定 長期的な予定 9月23日 技育展 決勝 9月中旬まで 端末姿勢推定(加速度, 角速度) 10月まで? 端末姿勢推定(カルマンフィルター) 10月中 Kotlin(とRust)の勉強 「いつでもセンシングアプリ」 進捗 やりたいこと 端末の姿勢推定 加速度を端末座標から世界座標にする 考え方 相補フィルターを使う 静止状態では加速度から傾きを推定 動作状態では角速度から傾きを推定 最終的には カルマンフィルター を使う 前回) 相補フィルターを使って端末姿勢推定をした 結構理想通りにはなったが正解が分からない 加速度を世界座標系に変換してみる 正解データとの比較ができるデータを取る 前回) 加速度を世界座標系に変換した 明らかにおかしい ベクトル(加速度)を回転させる関数は以前のものを使用したため合ってるはず 元の加速度と姿勢推定後のデータのサンプリング周波数の違い? 問題点1 単位の違い 前回、単位が rad と deg で違うという問題があった → deg に統一 ただし、過去に作ったベクトルを回転させる関数は rad だった 修正後のグラフ 問題点2 関数が良くない 以前に使った加速度から傾きを出す関数を利用した 関数の仕様 以前のプログラムでは以下の処理をして返していた def calc_tilt(df_acc): ... roll = math.acos(x / gravity) yaw = math....

2023-9-19 · 1 min · 205 words · SatooRu