モーションプランニングとは
モーションプランニングとは、一般に特定のウェイポイントに到達するか、複数の目的地に順番に到達するための、ロボットでの動きの計画方法を指します。 これは、ロボットにコンピュータービジョンを与えるか、指定された空間内のすべての障害物を使用してモーションプランニングをプログラミングし、ロボットが空間のジオメトリをすぐに認識できるようにすることで実行できます。 前方への移動などの単純な動きに加えて、階段を下りるなどの複雑な動きのためにロボットを構築する必要がある場合もあります。 これはロボット工学で最も一般的に使用されますが、ビデオゲームプログラミングにも使用され、キャラクターが壁を通り抜けることを防ぎ、プレイ不可能なキャラクター(NPC)をプログラムします。
モーションプランニングの主なタスクは、ロボットに移動方法を伝えることです。 コントロールは通常微妙であり、定義されたパスはロボットに割り当てられませんが、ロボットには通常エンドポイントの場所が通知されます。 微妙なプログラミングとは、ロボットが移動する方法を知っていることを意味しますが、目標に到達するために特定の距離を前進するよう厳密に指示されることはありません。 これを使用して、ロボットに到達する場所を1つ与えるか、ロボットを複数の目的地でプログラムして、順番に到達することができます。 通常は制御が微妙であるため、ロボットは既知のすべての情報を使用して、目的地までの独自の方法を判断します。
通常、モーションプランニングの支援に使用できる2つの異なるテクノロジーがあります。 コンピュータービジョン、またはロボットが障害物を見て認識できるようにすることを使用して、目的地に到達しようとするときにロボットが通過できるものと通過できないものを知ることができます。 空間の既知の障害やジオメトリ(サイズや形状など)をプログラミングすることは、コンピュータービジョンと同じくらい便利ですが、汎用性に欠ける傾向があります。
基本的な運動計画の場合、ロボットは、前後に移動することを含む単純な動きに対してのみ作成する必要があります。 モーションプランニングのより高度なバージョンには、階段やランプを下りるなどの複雑な動きが含まれます。 これに対応するために、ロボットにはこれらの動きを実行できるボディが必要です。
通常、モーションプランニングはロボット工学に関連して使用されますが、ビデオゲームのプログラミングにも使用できます。 プレイヤーのキャラクターに関して言えば、これはキャラクターがゲームの壁やその他のアイテムなどの固体オブジェクトを通過できないようにするのに役立ちます。 NPCパス、特に厳密にプログラムされていないパスの場合、これにより、NPCがゲームのスペースを適切に通過することが保証されます。