ロボットは、グリッドのない平面上のある点から別の点に移動する必要があると考えてください。森などのようなものがあれば、最短経路をどうやって見つけるのですか?私はグリッドがA *アルゴリズムを使用できることを知っています。しかし、私が達成しようとしているもう一つの例は、それが人間への最短経路であることを見出そうとしているテレーンに関する優れた知識を持つゾンビです。障害物回避ロボットの自由空間に最短経路を見つけるアルゴリズムはありますか?
-2
A
答えて
2
ロボット/ゾンビがポイントであるという単純な仮定をすると、これをより扱い易いものに減らすことができます。
これは、適合しているかどうかを確認するなどのことを避けるためです。ロボット/ゾンビが円の場合は、障害物のすべてのエッジを円の荒さによってオブジェクトの外側に移動させることで、他のすべてのオブジェクトを「太くする」ことができます。ロボット/ゾンビが矩形である場合、エッジを押し出すことはできますが、キューブのディメンションを使用して行いますが、矩形を回転させる必要はありません。
一度ポイントのパスを見つけようとすると、そのパスはより簡単になります。グラフのノードとして、「太い」ポリゴンの障害物の各頂点を変換し、それを直接目に見える(障害物を通らない)すべてのノードに接続します。あなたが3Dであれば、エッジを考慮する必要があり、問題はもう少し面倒になります。
グラフを作成したら、A */Dijkstra /何でも問題に対応できます。
本当に正確な結果が必要な場合は、コーナーを回ると円弧セグメント上を移動するため、ロボット/コンビが円の場合はコーナーを注意する必要があります。あなたがゲーム/シミュレーションを実行している場合、非常に薄い障害物や比較的大きな円/ロボット/ゾンビを除いて、その違いは目に見えません。
設定が静的な場合は、パフォーマンスを事前に計算できます。また、ノードの数は障害物の頂点の数に依存するため、経路探索のために低品質のオブジェクトで実行する価値があります。
関連する問題
- 1. ロボットの障害物の記録/回避
- 2. 長方形の障害物を持つ11x11グリッド上で最短経路を見つけるFloydのアルゴリズムを実装する方法は?
- 3. 最短経路を見つけるためのダイクストラのアルゴリズム?
- 4. 最短経路、最低回転アルゴリズム
- 5. 最短経路アルゴリズム
- 6. 車両の障害物回避センサー
- 7. 経路内の障害物によってブロックされない最大の被覆要素を見つける
- 8. "方向に依存する"障害物を含む経路探索アルゴリズム?
- 9. dijkstraの最短経路アルゴリズム
- 10. Djikstraの最短経路アルゴリズム
- 11. 迷路での最短経路を見つける、SQL
- 12. Cの迷路で最短経路を見つける
- 13. C++ k最短経路アルゴリズム
- 14. three.jsメッシュの最短経路を見つけますか?
- 15. 迷路で最短経路を見つける
- 16. 人気のある障害回避技術/アルゴリズム
- 17. Cプログラミング:最短経路を見つけるには?
- 18. Neo4jが最短経路を見つけるが、経路を除外する
- 19. Scala - 2つのノード間の最短経路再帰アルゴリズム
- 20. DijkstraアルゴリズムをGoogleマップに適用して、2点間の最短経路を見つける方法は?
- 21. 最長最短経路(あまり)
- 22. Floyd-Warshallアルゴリズム:最短経路を得る
- 23. 複数の場所の間の最短経路を見つけます。C#
- 24. ArangoDB:すべての最短経路を見つける
- 25. C#MVC経路障害後の経路を継続する
- 26. 最短経路を見つけても正しく計算しない星アルゴリズム
- 27. 最短経路ではあるが物理的な迷路にある
- 28. 行列の最短経路を見つける方法
- 29. グラフとプリントルーティングテーブルの最短経路を見つける
- 30. DLVの最短経路を見つける
[Dijkstraのアルゴリズム](https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm)私は言うでしょう。 –
これは空き領域ですが、ダイクストラのアルゴリズムのグリッドやノードはどのように適用されますか? –
グラフは抽象化です。平面内の点をノードと見なし、2つの点(存在する場合)の間の直線の経路をエッジと見なします。グリッドはありません。 –