Dynamic Elliptical Search Strategy

Input: T, S_start, S_goal

Output: Path

1

T = Tree(start) t

2

Cbest = ∞;

3

ellipse = space;

4

while not stop_condition()

5

if Cbest < ∞;

6

Update ellipse(Cbest);

7

qrand = Sample_point()

8

qnearest = Nearest node(qrand);

9

qnew = Extend tree(qnearest, qrand):

10

if is valid(qnew)

11

T.add(qnew);

12

cost = calculate cost(qnew)

13

if cost < Cbest

14

Cbest = cost;

15

end

16

return get_best_path()