SatooRu's Profile

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

梶研 [mocopi センシング]

2023年11月14日

thumbnail

mocopi センシング

スケジュール

短期的な予定

  • "地図は意外とウソつき" を読む
  • 情報処理学会 ジュニア会員になる
  • mocopi でセンシング
    • mocopi x Unity
    • 色んな動作をとる
    • 誤差を計測(簡易)
    • 動作をグラフ化
    • bvhをパースするパッケージを作る
    • 動作判別
    • csv に書き出せるアプリを作る
    • 複数人の絡みを取ってみる
  • 研究をしたい
    • テーマを考える
    • 研究する
    • 論文を書く
    • 発表する

長期的な予定

  • 1月~ 研究
  • 12月 WiNF2024

進捗

"地図は意外とウソつき" を読んだ

Twitter X で気になっていたものが梶研にあったから読んだ。

ジュニア会員のなり方がわからない

前に情報処理学会で "学生会員" で申し込んで、放置してたら金曜日に請求がきた。
ジュニア会員に変更したいが分からない

bvhをパースするパッケージを作った

これから簡単にmocopiの動作をとれるようにする

  • 骨格情報をbvhファイルから取得するように変更した
  • 骨格情報を変更できるようにした
  • bvhファイルをパースして Dataframe として扱えるようにした
  • 初期位置/回転量を変更できるようにした
  • モーションデータを変更できるようにした
  • csv に書き出せるようにした
  • Dataframe から bvhファイルに書き出せるようにした

PYPI に登録した

インストール

1$ pip install mcp_persor

インポート

1from mcp_persor import BVHparser

BVHファイルから取得

1bvhp = BVHparser('bvh/mocopi-move.bvh') 2motion_df = bvhp.get_motion_df()

前回からの進捗

関節名やファイル構造を知っている前提で、パースしていたが、
全ての情報をBVHファイルから取得するようにした

骨格情報を変更できるようにする

1offset = bvhp.get_joint_offset('r_hand') 2offset[0] += 10 3bvhp.set_joint_offset('r_hand', offset)

人の体に合わせて変更でき、より正確な動作になる

bvhファイルをパースして Dataframe として扱えるようにする

相対的(接続する関節が基準)

1relative_motion_df = bvhp.get_joint_motion_df(joint_name, mode='relative')
relative_pos.png (29.2 kB) relative_rot.png (51.7 kB)

絶対的(世界座標が基準)

1relative_motion_df = bvhp.get_joint_motion_df(joint_name, mode='absolute')
absolute_pos.png (62.2 kB) absolute_rot.png (61.8 kB)

初期位置/回転量を変更できるようにする

1init_pos = bvhp.get_initial_position() 2init_rot = bvhp.get_initial_rotation() 3 4bvhp.set_initial_position([0, 0, 0]) 5bvhp.set_initial_rotation([0, 0, 0])

動いてからデータの取得を開始しても補正できる。
複数人での絡みをとった場合に補正できる。

モーションデータを変更できるようにする

1# 取得 2relative_motion_df = bvhp.get_joint_motion_df(joint_name, mode='relative') 3 4# 変更 5relative_motion_df['Xposition'] += 10 6 7# セット 8bvhp.set_joint_motion_df(joint_name, relative_motion_df, mode='relative')

csv に書き出せるようにする

1bvhp.to_csv('mocopi-move.csv')

dataframe を扱っているから要らないけど、csv に書き出せるようにした

Dataframe から bvhファイルに書き出せるようにする

1bvhp.to_bvh('mocopi-move.bvh')

調整等をしたあとに、bvhで書き出して確認をしたりできる

余談

Emacs を入れてみた

emacs.png (590.2 kB)

キーバインドが気に入ってVScodeのキーバインドをEmacs風にした
最終的に更にVScodeに依存することになった

Open Street Map を編集してみた

思ったより面白くなかった

スクリーンショット 2023-11-10 16.31.22.png (2.2 MB) スクリーンショット 2023-11-10 16.31.48.png (2.2 MB)

毎日の草で進化する猿人 API

kusa evolution

ハッカソンに出る友達にAPIの作り方を教えてたら作りたくなった。
コントリビューションが前日以上であれば進化し、 前日未満であれば退化する

readme.png (508.3 kB)

供養のつもりでポストしたら、思いの外好評だった。
ハッカソンのネタ潰してごめんなさい

x.png (95.1 kB)