AStarSearch:
--------------------------------------------------------------------------
Finds the optimal path using A*.
This function requires that you supply three functions
cost = PathCostFunction( startNode, goalNode, d.myData )
cost = TraverseCostFunction( node, newNode, d.myData )
nodes = SuccessorNodes( node, parentNode, d.myData )
Locations are denoted by an index. You use it in your functions
to compute the costs.
--------------------------------------------------------------------------
Form:
path = AStarSearch( startNode, goalNode, d )
--------------------------------------------------------------------------
------
Inputs
------
startNode (1,1) Id of start location
goalNode (1,1) Id of goal location
d (1,1) Data structure
.traverseCostFunction (1,:) Name of traverse cost function
.pathCostEstimateFunction (1,:) Name of path cost function
.successorNodesFunction (1,:) Name of path cost function
.myData (1,1) Data structure with your data
.nodes (1,:) List of nodes
-------
Outputs
-------
path (1,:) List of nodes in path
--------------------------------------------------------------------------
Reference: Stout, W. Bryan, "The Basics of A* for Path Planning,"
Game Programming Gems, DeLoura, M. editor.
Charles River Media, pp. 254-263,
--------------------------------------------------------------------------