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.07867 -1.15138
    CHANNELS 6 Xposition Yposition Zposition Zrotation Xrotation Yrotation
    JOINT torso_2
    {
      OFFSET 0 5.61661 1.07143
      CHANNELS 6 Xposition Yposition Zposition Zrotation Xrotation Yrotation
      JOINT torso_3
      {
...
  }
}
MOTION
Frames: 3062
Frame Time: 0.016667
0 93.2929 0 -0 0 -0 0 5.07867 -1.15138 -0 0 -0 0 5.61661 1.07143 -0 0 -0 -1.02604e-17 5.98978 0.11501 -0 0 -0 -1.10457e-17 6.50583 -0.443523 -0 0 -0 -1.97295e-17 7.60548 -1.50593 -0 0 -0 -2.53307e-17 9.49737 -0.914492 -0 0 -0 -2.90401e-17 10.5513 1.57691 -0 0 -0 -1.29193e-17 4.78644 0.715339 -0 0 -0 -1.8116e-17 4.82109 0.421791 -0 0 -0 -2.00958e-17 4.83041 0.765062 -0 0 -0 1.23299 -7.60731 7.53374 -0 0 -0 12.9547 3.2495 -3.26872 -0 0 -0 29.2081 0.0598081 0.137039 -0 0 -0 24.234 0.0496219 0.113701 -0 0 -0 -1.23299 -7.60729 7.53365 -0 0 -0 -12.9547 3.2495 -3.26872 -0 0 -0 -29.2081 0.0598081 0.137039 -0 0 -0 -24.234 0.0496218 0.113702 -0 0 -0 9.23673 -4.20556 2.0327 -0 0 -0 -0.852353 -38.7721 -0.655187 -0 0 -0 -2.32622 -40.4017 -6.04875 -0 0 -0 0.779096 -9.8844 12.4959 -0 0 -0 -9.23673 -4.20556 2.0327 -0 0 -0 0.852353 -38.7721 -0.655187 -0 0 -0 2.32622 -40.4017 -6.04875 -0 0 -0 -0.779096 -9.8844 12.4959 -0 0 -0 
44.7192 93.5259 214.191 0.124329 -1.31566 -169.84 0 5.07867 -1.15138 0.158849 -2.6889 -0.517085 0 5.61661 1.07143 0.3423 -0.92809 -0.394335 -1.02604e-17 5.98978 0.11501 0.407563 1.16244 -0.268427 -1.10457e-17 6.50583 -0.443523 0.479523 4.32826 -0.25358 -1.97295e-17 7.60548 -1.50593 0.475858 5.67373 -0.356351 -2.53307e-17 9.49737 -0.914492 0.457517 6.57455 -0.487212 -2.90401e-17 10.5513 1.57691 0.0167579 0.0854728 -0.00418096 -1.29193e-17 4.78644 0.715339 0.491759 3.81884 0.733253 -1.8116e-17 4.82109 0.421791 0.210934 -2.327 0.481941 -2.00958e-17 4.83041 0.765062 0.571976 0.145913 -0.0129728 1.23299 -7.60731 7.53374 1.41872 -0.976443 0.144335 12.9547 3.2495 -3.26872 -60.2764 41.9465 -19.4741 29.2081 0.0598081 0.137039 11.8596 -13.968 -100.005 24.234 0.0496219 0.113701 -5.62479 -55.6875 -8.46386 -1.23299 -7.60729 7.53365 -2.74267 -2.25595 1.06461 -12.9547 3.2495 -3.26872 70.6568 17.7327 7.32175 -29.2081 0.0598081 0.137039 -11.3944 -15.7467 108.979 -24.234 0.0496218 0.113702 2.24105 -27.1745 5.17482 9.23673 -4.20556 2.0327 1.254 -1.54432 -18.5989 -0.852353 -38.7721 -0.655187 -0.264913 0.989012 -0.0149766 -2.32622 -40.4017 -6.04875 -0.663133 -0.256184 15.3492 0.779096 -9.8844 12.4959 -2.87313e-16 -8.0567e-16 2.29556e-17 -9.23673 -4.20556 2.0327 -2.61128 -5.96669 24.0823 0.852353 -38.7721 -0.655187 1.1237 4.19604 0.0321032 2.32622 -40.4017 -6.04875 2.69446 0.0183518 -15.6109 -0.779096 -9.8844 12.4959 -6.56914e-16 -5.57189e-16 -1.27433e-14 
44.683 93.5057 214.221 0.128464 -1.26792 -169.848 0 5.07867 -1.15138 0.16803 -2.95483 -0.512878 0 5.61661 1.07143 0.352175 -1.1031 -0.387546 -1.02604e-17 5.98978 0.11501 0.416009 1.13246 -0.261318 -1.10457e-17 6.50583 -0.443523 0.485622 4.52249 -0.245164 -1.97295e-17 7.60548 -1.50593 0.483651 6.00981 -0.350809 -2.53307e-17 9.49737 -0.914492 0.468149 6.98004 -0.488632 -2.90401e-17 10.5513 1.57691 0.0171545 0.0789189 -0.00428391 -1.29193e-17 4.78644 0.715339 0.491169 4.33362 0.689998 -1.8116e-17 4.82109 0.421791 0.245264 -2.3407 0.464987 -2.00958e-17 4.83041 0.765062 0.612997 0.00898331 -0.053246 1.23299 -7.60731 7.53374 1.58725 -1.30528 0.323296 12.9547 3.2495 -3.26872 -60.0449 41.8031 -20.0828 29.2081 0.0598081 0.137039 11.8523 -14.0092 -100.209 24.234 0.0496219 0.113701 -5.41467 -55.8228 -8.19881 -1.23299 -7.60729 7.53365 -2.93865 -2.5793 0.894505 -12.9547 3.2495 -3.26872 70.6241 17.6922 7.82012 -29.2081 0.0598081 0.137039 -11.3795 -15.7888 109.197 -24.234 0.0496218 0.113702 2.14114 -27.0935 4.98864 9.23673 -4.20556 2.0327 1.23576 -1.50149 -18.6731 -0.852353 -38.7721 -0.655187 -0.265078 0.98963 -0.0149846 -2.32622 -40.4017 -6.04875 -0.598786 -0.327724 15.3452 0.779096 -9.8844 12.4959 -1.08639e-17 -7.97031e-16 1.43165e-17 -9.23673 -4.20556 2.0327 -2.61509 -5.93729 24.0824 0.852353 -38.7721 -0.655187 1.13051 4.22142 0.0320467 2.32622 -40.4017 -6.04875 2.65852 -0.0374347 -15.605 -0.779096 -9.8844 12.4959 -5.96354e-16 -5.59082e-16 -1.27471e-14 
...

各部位は ROOT(root) を基準に、JOINT で定義されている
MOTION は、1行に1フレームのデータが書かれている

rootの位置(x, y, z) rootの回転(x, y, z) torso_1の位置(x, y, z) torso_1の回転(x, y, z) torso_2の位置(x, y, z)…

データをグラフ化

ROOT(HIPS)の位置と回転 root x position root y position root z position root x rotation root y rotation root z rotation

ほぼ一次関数になっていて明らかにおかしい

  • y軸の目盛り間隔が指定通りにならない
  • y軸の範囲が指定通りにならない

csvに書き出してスプレッドシートでグラフ化 root x position root x position データは問題なさそう

型変換が正しくなく、数字ではなくオブジェクトになっていた

修正後のグラフ

root(腰)の位置と回転 root position root rotation

r_up_leg(右足付け根)の位置と回転 r_up_leg position r_up_leg rotation

l_shoulder(左肩)の位置と回転 l_shoulder position l_shoulder rotation

位置をプロット

位置 ふらついているのが気になるが、あらかた正しそう
→ 二乗平均誤差(RMSE) を出したい

余談

寿司大食い対決

外山さんと林先輩とシス研の先輩で寿司大食い対決をした sushi

23皿+デザート食べて、辛かった

会計 4人で10,995円

学祭の打ち上げをした

打ち上げ パイナップルめちゃくちゃ美味しかった
食べすぎて引かれた