Prescribed State Component
fibril_sim/prescribed_pose と fibril_sim/prescribed_trajectory は、MuJoCo mocap body の pose に continuous authority を与えます。
static object と time-varying object を同じ prescribed-state runtime contract で扱います。
MuJoCo 側の要件
body は MuJoCo mocap body を参照する必要があります。
通常の dynamic body を name だけ指定して強制的に kinematic object へ変換する Component ではありません。
固定 pose
| Field | Type | Required | Meaning |
|---|---|---|---|
body |
string | yes | mocap body name |
position |
double[3] | yes | world position |
quaternion |
double[4] | yes | orientation quaternion |
quaternion は non-zero norm が必要で、Component construction で正規化されます。
Trajectory の指定
keyframes は空にできません。
各 keyframe は time_s、position、quaternion を持ち、time は非負かつ狭義単調増加である必要があります。
runtime は keyframe 間を physics boundary 上で補間し、trajectory の前後では endpoint pose を保持します。
State authority の扱い
prescribed Component は自分が所有する MocapPose StateClaim と continuous schedule を Plan へ提供します。
Manifest から別に StateClaim や schedule を重複定義する必要はありません。
completed physics boundary では prescribed source が t + dt の authoritative pose に戻された後で post-physics snapshot が作られます。
そのため、接続された dynamic child は motion に物理的に反応しながら、prescribed source 自体は completed boundary で一 tick 遅れません。