14

Suppose I have got a solar-powered autonomous surface vessel somewhere in the fjords of Norway, supplied with a fairly recent set of maps, a GPS receiver, and no means of downlinking detailed commands from me. This vessel has to reach, say, the island of Hainan at the earliest possible moment.

  • What are the deterministic algorithms for finding a maritime route on a globe?
  • What is their time and memory complexity?

  • Can I, for instance, use A* after transforming the map of the globe into a diagram with connected polygons (i.e. Delaunay triangulation on a sphere/ellipsoid) and what are other feasible approaches?

Answers should ideally provide references to papers with discussion of the above-mentioned questions.

As pointed out by Rob Lang, the algorithms must fit the usual criteria: in the absence of time constraints, lead to the shortest path between any two points on Earth's oceans and seas, or indicate pathfinding failure otherwise.

There are interesting sub-topics here (trading pre-computation time/storage for online computations, providing slightly suboptimal routes before a deadline kicks in etc.), but these are ancillary to the main issue.

Iancovici
  • 675
  • 3
  • 14
  • 26
Deer Hunter
  • 250
  • 2
  • 8

2 Answers2

7

The deterministic requirement isn't all that constraining. That just implies your vehicle is certain of the state it's in. That being said, you'll probably want to plan paths in a way that allows you to avoid obstacles. The best way I've seen this done is with sampling-based planners. Steven LaValle wrote the central academic resource on this topic: Planning Algorithms.

The RRT* algorithm is among the planners he describes. This algorithm generates the state space tree with random samples and a few heuristics to ensure feasibility (e.g. obstacle avoidance) and optimality. Details on RRT* can be found in LaValle's book, or at Sertac Karaman's website. The asymptotic time and memory characteristics are described as O(nlogn) to process, and O(n) for queries. The algorithm is linear, O(n), in space complexity too.

jdmartin86
  • 186
  • 3
4

For your further consideration, potential fields are an interesting, low-cost choice for pathfinding. You would place a strong charge at the destination, and eventually the agent would arrive at the charge. A more technical article by the International Foundation for Autonomous Agents and Multiagent Systems provides more insights.

Vector fields are also a very cheap solution, but more often used for multi-agent pathfinding. Vector fields are very good however for open areas. None of the above methods guarantee the shortest path however, sacrificing optimal pathing for better dynamic response.

Combined approaches are also strong, such as using A* beforehand to generate waypoints and using vector fields to go to each waypoint. This will probably give much more optimal behavior on a macro scale.

Keep these in mind in case you acquire a swimming robot army.

JDong
  • 141
  • 3