用語集 · ロボティクスと制御

位相変数

別名:Phase variable、phase、motion clock、punch clock、clock、time scaling、位相、モーションクロック、クロック、時間スケーリング

動作のどこまで進んだかを、始まりの0から終わりの1で示す時計。動きを速くも遅くも再生できます。

記録またはアニメーションで作った動きは、時間に沿ったポーズのリストです。それに従うには、制御器は自分が動作のどこにいるかを知る必要があります。位相変数 ϕ\phi がその答えです。始まりで0、終わりで1になります。目指すポーズは、実時間ではなく位相から引きます。

位相はふつう、一定の速さで進みます。

ϕt+1=ϕt+r ΔtT\phi_{t+1} = \phi_t + r\,\frac{\Delta t}{T}

ここで TT は動作の通常の長さ、Δt\Delta t は制御のタイムステップ、rr はレートです。r=1r = 1 では動作は通常の速さで再生されます。r=2r = 2 では、同じポーズを通って2倍の速さで再生されます。

レートを決めるのは誰か

最も単純な設定では、レートは固定で、制御器は参照モーションについていかなければなりません。すると参照のタイミングが越えられない上限になります。参照をうまく追う方策(ポリシー)は、決して参照より速くなれません。

別のやり方は、レートをもう1つの行動として方策に選ばせることです。すると参照は動作の形、つまりポーズの順序を決めますが、そのタイミングは決めません。脚式ロボットの制御器も、同じ考え方で歩容を速めたり遅くしたりしています。

これには落とし穴が1つあります。報酬が毎ステップ支払われるなら、遅い動作ほど多くの報酬を集められます。自分の時計を制御できる方策は、遅くすることでより多く稼げてしまうのです。対策は、各ステップの支払いにレートを掛けることです。そうすれば、動作がどの速さでも合計で稼げる量は同じになります。

このプロジェクトでは

構えのリズムには位相があり、各パンチにもあります。10月18日のスピードの取り組みまでは、各パンチの時計はアニメーション本来のペースで進んでいました。それ以降は方策がそれを決め、そのペースの1倍から2倍の範囲になります。最初のバージョンでは半分の速さも許していたため、方策はすべてのパンチを遅くしました(左フックは 0.52 秒から 0.92 秒に)。ステップごとのスタイルの支払いが、速さのボーナスより価値があったからです。時計を速める方向だけに制限し、ステップごとの支払いにレートを掛けると、フックは 0.48–0.52 秒ではなく 0.36 秒で目標に届くようになりました。速いパンチへ を参照してください。

関連用語

この用語が出てくる記事

← すべての用語