用語集 · ロボティクスと制御
オクルージョン(遮蔽)
別名:Occlusion、line of sight、ray casting、blindness、occluded、hidden、遮蔽、オクルージョン、視線、レイキャスト、死角
何かが間にあって視界から隠れること。たとえば、目の前にある自分の腕です。
ある点と目の間に固いものがあって見えなくなっているとき、その点はオクルージョン(遮蔽)されているといいます。ロボティクスでは、カメラの視界がシミュレーションより劣る主な理由の一つです。シミュレーションはすべてのものの位置を知っていますが、カメラには隠れていないものしか見えません。
これをシミュレーションする簡単な方法がレイキャストです。目からその点へ直線を引き、その線が先に何かに当たるかを物理エンジンに尋ねます。当たれば、その点は隠れています。目が2つあれば、両方の線がふさがれたときにだけ点は隠れます。
隠れた点を方策(ポリシー)がどう扱うかは設計上の選択です。ここでは、最後に見えた位置を保持し、速度はゼロにして、見えていないことを示すフラグを立てます。これは人が持っているものとだいたい同じです。手がどこにあったかの記憶はあっても、それがどこへ向かっているかの情報はありません。
このプロジェクトでは
ブロックの記事では、毎ステップ、ファイターの両目から対戦相手の16個のキーポイントそれぞれへレイを飛ばし、ファイター自身の腕や身体がそれをさえぎることがあります。前に立つ対戦相手に対して、構えのガードではテスト点13個中10個が見え、左のハイブロックでは9個、右のハイブロックと低いフロントブロックでは13個すべてが見えます。両方の前腕を顔の前に置くフロントブロックでは、1つも見えません。
「見えなかった」ことに対する報酬の項はありません。目を覆うことのコストは、本物のファイターにとってのコストと同じであるべきだという考えです。つまり、次のパンチが見えないまま飛んでくることです。見えないことにペナルティを与えると、ファイターはまずブロック自体をしないことを覚えてしまうでしょう。