The RRTWeight algorithm/planner maintains a weight of zero or one at the node of tree. A weight of one means that the node can be used to extend the tree.A weight of zero means that particular node is not a good choice for extending the tree. When a node is created it is assigned a value of one. If during the running of the algorithm we are unable to extend the tree via a particular node, the node's weight is reset to zero. This make sure that the node will not be used in future to extend the tree. Once we are unable to extend the tree for the randomly selected point,one of follwing steps is taken

(1) extend the tree via a randomly selected node. The randomly selected node should also have a weight of one. We try upto K times(I set K=2 for my experiments) to select a node whose weight is one. If unable to extend the tree for K iterations ,in the next iteration try extending the tree towards goal.

(2) we first of all try to extend the tree via Bestbet node. The Bestbet node is the last node the extension by which caused GoalDist (distance to the goal) to decrease. If the Weight of Bestbet is zero we try to extend the tree via a random node. However, if the randomly selected node also has a weight of zero, in next iteration try to extend the tree towards goal.
(3) try extending the tree via a random node having weight one;
Approach (3) gives worse performance compared to approach(1) and approach(2)

example1

example2

example3

example4

example5

results(Approach 1)RRTWeight .

results(Approach 2) Bestbet

The results point towards the fact that RRTWeight gives consistently better performance than RRT Planner. Further the performance of RRTWeight is better or comparable to RRTGoalBias (with bias=0.5). Bestbet gives slightly worse performance than pure RRTWeight.

* Using RRTWeight inside RRTExtExt. Presently RRTExtExt uses the basic RRT Planner to extend the tree from both
the goal and the initial state. it would be intersting to note how the performance improves on using RRTWeight instead of RRT

* Presently the strategy of maintaining weights at the nodes of the tree is simple. Studies need to be carried out forother methods/strategies of maintaining weights

* Tuning the parameter K. This is the number of times we iterate to select a random node with weight one to extend the tree when we are unable to extend it via the nearest neighbor

* The performance of RRTWeight needs to be compared with RRTGoalBias for different values of the bias(presently done only for bias=0.5)

[2] Rapidly-Exploring Random Trees: Progress and Prospects by Steven M. LaValle and James J. Kuffner, Jr., Proc. 2000 Workshop on the Algorithmic Foundations of Robotics.