佐藤さとる

佐藤さとる

梶研 [mocopi センシング]

2023年10月31日

mocopi センシング

スケジュール

短期的な予定

長期的な予定

進捗

端末姿勢推定

端末の姿勢を可視化

各軸の回転とy軸を変動させた

<iframe width="974" height="548" src="https://www.youtube.com/embed/F-JNpZK817k" title="端末姿勢の推定 可視化 y軸変動ver" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

mocopi でセンシング

csv に書き出せるアプリを作っていたが、時間がかかりそうなので、

bvhで保存したファイルからの動作推定を先にした

動作をとる

モードを モーション保存 に切り替えて、bvhファイルとして保存する.

<iframe width="358" height="636" src="https://www.youtube.com/embed/wy7IH-8nEhY" title="mocopi センシング" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

BVH Sender

mocopiアプリで記録したモーションデータ(BVH形式)を、ローカルネットワーク上にUDP送信することができるアプリケーションです。

<iframe width="1176" height="697" src="https://www.youtube.com/embed/TvTRliToipY" title="bvhsender-for-macos_v1.0.5" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

WireShark で見てみると、UDPで送信されていることがわかる

<iframe width="1136" height="698" src="https://www.youtube.com/embed/C9B_-uZBljY" title="WireShark bvhsender" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

あまり使い道はなさそう

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) torso1の位置(x, y, z) torso1の回転(x, y, z) torso_2の位置(x, y, z)...

データをグラフ化

ROOT(HIPS)の位置と回転

root_ypos.png (37.7 kB)
root_zpos.png (33.2 kB)
root_xrot.png (33.2 kB)
root_yrot.png (31.9 kB)
root_zrot.png (35.9 kB)

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

csvに書き出してスプレッドシートでグラフ化

データは問題なさそう

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

修正後のグラフ

root(腰)の位置と回転

root_pos.png (60.0 kB)
root_rot.png (55.3 kB)

rupleg(右足付け根)の位置と回転

r_up_leg_pos.png (31.9 kB)
r_up_leg_rot.png (86.0 kB)

l_shoulder(左肩)の位置と回転

l_shoulder_pos.png (34.8 kB)
l_shoulder_rot.png (92.5 kB)

位置をプロット

move.png (32.3 kB)

ふらついているのが気になるが、あらかた正しそう

→ 二乗平均誤差(RMSE) を出したい

余談

寿司大食い対決

半年ぶりに外山さんと林先輩とシス研の先輩で寿司大食い対決をした

sushi.jpg (3.9 MB)

23皿+デザート食べた。

外山さんに1皿負けた

kaikei.jpg (4.1 MB)

4人で10,995円

学祭の打ち上げをした

pinapple.jpg (3.5 MB)

焼きパインがめちゃくちゃ美味しかった

食べすぎて引かれた