36
OpenSim のののの Inverse Kinematics mot フフフフフ 06/09/2022 Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved. フフフフフフフフフ フフフフフフフフ フフフフフフ

OpenSim の 使い方 (IK 編)

Embed Size (px)

Citation preview

Page 1: OpenSim の 使い方 (IK 編)

05/01/2023

OpenSimの使い方Inverse Kinematics ( mot ファイル作成)編

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

広島大学工学研究科生体システム論研究室栗田グループ

Page 2: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.

• 本スライドの内容は,広島大学工学研究科生体システム論研究室栗田雄一准教授グループが,平成28年度研究室内チュートリアルで利用している資料の一部をまとめたものです.

• 本スライドの内容には,間違いが含まれている可能性がありますが,当方は修正の責任を負いません.本スライドは,あくまで参考としての利用にとどめ,最終的にはご自身で対応ください.

• そのほか,スライド内容を閲覧,実行したことにより生じたいかなる損害についても,当方は責任は負いません.また,スライド内容に対する質問にも回答できかねますことをご了承ください.

• 以上についてご承諾いただける方のみ,ご利用ください. 2

注意事項

Page 3: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.

3

Inverse Kinematicstrc ファイルから mot ファイルの作成

Inverse Kinematics を用いて trc ファイルから mot ファイルを作成する Inverse Kinematics (以下 IK) とは?

日本語訳:逆運動学 簡単に言うと,マーカーの座標から関節角度を計算する

タブのTools→Inverse

Kinematics※Model ファイル(.osim) を読み込んでいる必要アリ

Page 4: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.

4

trcファイルtrc ファイルから mot ファイルの作成

Inverse Kinematics を用いて trc ファイルから mot ファイルを作成する trc ファイルとは?

OptiTrack や VICON などのモーションキャプチャから得られた OpenSim 用の座標データファイル Optitrack の場合 .csv ファイルが吐き出されるので,改変が必要

VICON, https://www.crescentinc.co.jp/product/vicon/p_top/ OptiTrack, http://www.mocap.jp/optitrack/

Page 5: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.

5

trcファイル.trc 形式に合わせる.trc ファイルの中では最初に「 .trc ファイルの説明事項」があり,その後「マーカー位置の時間変化」が記述されている.

① 組み込みの .trc ファイルをコピー (この例では subject01_walk.trc をコピーし, 「 subject01_walk_copy.trc 」として保存)

② Excel を立ち上げる③ コピーした .trc ファイルを Excel 画面へドラッグ & ドロップ

Page 6: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.

6

上段の 3 行が .trc ファイル内の設定事項4 行目はマーカー名などが記述5 行目は軸( X,Y,Z )7 行目以下がマーカー位置の時間変化このルールを破ると .trcファイルとして読み込まれない

trcファイル.trc 形式に合わせる

Page 7: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.

7

trcファイル

各項目の意味は以下の通りである.DataRate :データの時間解像度 [data/sec]CameraRate :カメラの時間解像度 [fps]NumFrames :この .trc ファイルに含まれるフレームの数NumMarkers :この .trc ファイルに含まれるマーカーの数Units :単位(ソフトによっては [mm],[m] の違いがあるので注意が必要)OrigDataRate,OrigDataStartFrame,OrigNumFrames :詳細不明(いじらなくても良い)

.trc 形式に合わせる

Page 8: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.

8

モーションキャプチャによって各マーカーの座標が得られるので,基本的には .trc ファイルの形式に則って座標をコピペしていけば良い.

trcファイル.trc 形式に合わせる

Page 9: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.

9

trcファイル

保存するこの時「互換性がない」などと訊かれるが,テキスト(タブ区切り)で保存(フォーマットは NotePad++ 等を使えば後で変更可能)

.trc 形式に合わせる

Page 10: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.

10

trcファイル

保存した subject01_walk1_copy.trc.txt を Notepad++ 等で開き,ファイルの種類を「 All types 」ファイル名を「○○ .trc 」と手入力して保存今回は「 test.trc 」として保存

.trc 形式に合わせる

Page 11: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.

11

trcファイル

出来上がったファイルを保存(保存形式に注意が必要)これを OpenSim から読み込めれば成功 (File→Preview Experimental Data)

.trc 形式に合わせる

Preview Experimental Data から .trc ファイルの確認ができる再生するとマーカーが動き出す

Page 12: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.

12

Inverse Kinematicsの基本説明.trc ファイルから .mot ファイルの作成 Inverse Kinematics 設定画面の説明

設定タブモデルの情報モデル名とモデルのマーカーの数(画面上,モデル名は「 Av2 」マーカー数は 16 個)

IK の設定マーカーデータ

Trc ファイルをここに入れる時間範囲

IK を行う時間範囲通常, trc ファイルに設定された時間が自動で入る参考モーションデータ

モーキャプなどで得られた.mot や .sto などの運動ファイルを入れる.このデータを基にしてIK をする.基本的には必要ない.

出力データ出力先の指定ができる

Page 13: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.

13

Inverse Kinematicsの基本説明.trc ファイルから .mot ファイルの作成 Inverse Kinematics 設定画面の説明

重みタブIK による運動ファイルの各値(関節角度等)は.trc ファイルのマーカー座標.osim ファイルのマーカー間との最小二乗法によって求められる.そこでどのマーカー,関節角度を重要視するのか重みを付ける事ができる.(例えば,歩行なら膝と足首の関節角度,足先のマーカーなど)重みの設定はどちらでも良い.

Page 14: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.

14

Inverse Kinematicsの基本説明.trc ファイルから .mot ファイルの作成 Inverse Kinematics 設定画面の説明

重みタブマーカー (.trc) の設定

関節角度の重み設定

そのマーカーを適用させるか決める.(チェックを入れる)

関節角度 (coordinate) の重みを適用させるか決める.マーカーと同様.

マーカーのデフォルト値マーカー座標のデフォルト値 .特にいじらなくても,.trc ファイルの値が入る.

マーカーの重みデフォルトは 1

Page 15: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.

15

Inverse Kinematicsの基本説明.trc ファイルから .mot ファイルの作成 Inverse Kinematics 設定画面の説明

重みタブマーカー (.trc) の設定

関節角度の重み設定

そのマーカーを適用させるか決める.(チェックを入れる)

関節角度の重みを適用させるか決める.マーカーと同様.

関節角度のデフォルト値関節角度のデフォルト値..osim ファイルの関節角度(coordinate) が入る.

関節角度の重みデフォルトは 0 .

Page 16: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.操作説明

16

IK 実行例モデル

Gait2354 を使用( C:\OpenSim 3.3\Models\Gait2354_Simbody\subject01_simbody.osim ) trc ファイル

subject01_walk1.trc を使用( C:\OpenSim 3.3\Models\Gait2354_Simbody\subject01_walk1.trc )

Page 17: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.操作説明

17

SO 実行例(モデルを開く)

File→Open Model前のスライドで挙げたモデルを読み込む足の筋が張られたモデルが読み込まれる

Page 18: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.操作説明

18

IK 例(メイン設定を行う)subject01_simbody.osimを設定

しかしまだ実行できない

Tools→Inverse Kinematics逆動力学計算の設定を始める

Page 19: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.操作説明

19

IK 例(メイン設定を行う)

今回重みの設定はしない.

チェックを外す

Run できるようになる.

Page 20: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.操作説明

20

IK 例(補足)

Load から設定のサンプルを使うことができる.

Page 21: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.操作説明

21

IK 例(補足)

Subject01_Setup_IK がサンプルとなっている

Page 22: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.操作説明

22

IK 例(補足)

重みの設定等で参考になるかもしれません.

重みがかかっている

Page 23: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.

23

マーカーの編集

2354 モデルの subject01_scaledOnly.osim をコピーし,「 subject01_scaledOnly_MarkerEdit.osim 」として保存します.これを OpenSim で開きます.

マーカー位置を編集し, .osim ファイルに乗せることを考えます.

Page 24: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.

24

マーカーの編集

Navigatorウィンドウから Markers Add New⇒ と選択します.するとマーカーが並んでいる一番下に新しいマーカーが追加されます.

マーカーの追加

Page 25: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.

25

マーカーの編集

Navigatorウィンドウから削除したい Marker を選択し右クリック .その状態から「 Delete 」をクリックすればそのマーカーは消えます.

マーカーの削除

Page 26: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.

26

マーカーの編集

マーカー名 :画面左下 Properties の「 name 」をクリックすれば 編集可能になります. .trc ファイルに記述されているマー

カー名と 合わせて下さい

マーカー接着骨:「 body 」で「マーカーをどの骨に貼り付けたか」を指定します.

 骨を選択してください.骨と名前の対応は, Viewウィンドウで

 骨を「 Ctrl + 左クリック」すれば分かります.

マーカーの移動・編集

骨を「 Ctrl+左クリック」すると,オレンジ色に染まり,OpenSim 画面左下に何を選択しているのか表示されます.

Page 27: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.

27

マーカーの編集

マーカーの移動 :マーカーを「 Ctrl + 左クリック」すると,マーカーを選択できます.

 この状態でドラッグすればマーカーを動かせます. その後 x,y,z キーを用いて様々な方向から眺めて,位置を調

節. 何もないところで「 Ctrl + 左クリック」すると選択解除で

き, その後 x,y,z などのキーを押すことでカメラ移動が 通常状態に戻ります.

マーカーの移動・編集

マーカーが「対称な位置にある」という場合には,「 location に直接値をコピペして ± を編集する.」という方法が有効です.ただ, location の値は「その骨との相対位置」なので,注意が必要です.

Page 28: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.

28

マーカーの編集

マーカーセットを保存しておくと,別のモデルにもマーカーを転用できます.Markers を右クリックし Save to File を選択すると, xml ファイルとして保存できます.

マーカーセットの保存 :すべて Navigatorウィンドウから行えます.

Page 29: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.

29

マーカーの編集

Markers を右クリックし Load from File を選択すると, xml ファイルを読み込めます.これによって 2392 モデルにもマーカーを設定できます.

マーカーセットの適用 :保存したマーカーセットを別のモデルに転用.

Page 30: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.

30

ひとまず, 7 行目以降のデータだけいじります.先程 .csv ファイルから抜き出して新しいシートに保存しておいたマーカー位置の時間変化のデータを, .trc ファイルのルールに従いコピー & ペーストします.( 126.767 を R.ASIS マーカーの最初の X 座標だと読んでもらえるように.)この時, .csv側の一番左の列は Field# のデータなので要りません.

.csv → .trc の変換.trc 形式に合わせます.

Field#のデータなので不要

Page 31: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.

31

RTOE より右側はもともとの .trc ファイルのデータです.今回の .csv ファイルから取り込んだデータではありません.削除します.

.csv → .trc の変換.trc 形式に合わせます.

削除

Page 32: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.

32

縮小してみると,一番左の 2列( Frame#,Time )が足りていません.まずは Frame# の列 152 以降を, 205 までオートフィルで補っておきましょう.Time の列については後ほど編集します.

.csv → .trc の変換.trc 形式に合わせます.

時間が足りていない! Frame# の列を補う

Page 33: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.

33

.csv → .trc の変換

ここまで来たら,今までいじっていなかった 3 行目を変えていきます.今回は,以下のように変更します.DataRate : 100CameraRate : 100NumFrames : 205NumMarkers : 27Units : mmOrigDataRate : 100OrigDataStartFrame : 1OrigNumFrames : 205

.trc 形式に合わせます.

.csv 「 TORJECTORIES 」の下に「 100Hz 」とあったので,100[Data/sec] と仮定します..csv 「 TORJECTORIES 」の下に「 100Hz 」とあったので,100[Data/sec] と仮定します.

Page 34: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.

34

.csv → .trc の変換

先程 Frame# のみ編集して Time を編集していなかったので,ここで編集します.DataRate を 100[Data/sec] と宣言したのですから,1Frame経過は1/100= 0.01[sec]経過を意味するはずです.Time を 0[sec] スタートとするならそこから 0.01刻みで増やしていきましょう.(セル右下を W クリックすると,  Excel がオートフィルしてくれて便利です. ただし 205Frame 目まで Time がきちんと埋まっているか 確認はしてください.)

.trc 形式に合わせます.

W クリック

Page 35: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.

35

.csv → .trc の変換

Excel で縮小表示してデータが埋まっていれば OK です..trc 形式に合わせます.

Page 36: OpenSim の 使い方 (IK 編)

Copyright© 2015 Biological Systems Engineering lab. All Rights Reserved.

Biological Systems Engineering lab.

36

マーカーの名前も変更(任意)例 : .csv ファイルの LFHD~RTOE をコピーし .trc ファイルの該当部分に貼り付けマーカーの名前は変えなくても動く

.csv → .trc の変換.trc 形式に合わせる.