回答:
最も単純なアプローチは、非凸ポリゴンを複数の凸ポリゴンに変換し、通常の凸衝突とパスファインディングを実行することです(A *またはD *などを使用)。最初のプロセスは、しばしば計算ジオメトリの三角測量と呼ばれ、それを行う一般的な方法がいくつかあります。
これはあなたの質問に対する正確な答えではないかもしれませんが、この問題に対するアプローチを提案するかもしれません。
実際、あなたの問題は2つの問題を組み合わせたものです。
そして、2番目の問題は1番目に組み込まれます。最初にブラインド検索を理解することをお勧めします。これに関する非常に単純なプレゼンテーションを以下に示します。ブラインド検索
状態空間を構築するためのドキュメントを読む場合は、状態点を生成する必要があります。それらは合法的である必要があります。つまり、これらの状態が最短パス上にあり、空間内のオブジェクトと衝突しないようにする必要があります。これからは、ユークリッド衝突アルゴリズムを続行できます。衝突で制限された状態空間と検索ツリーを構築した後、任意の最短経路アルゴリズム、または独自のアルゴリズムまたは修正されたハイブリッドアルゴリズムを選択できます。