Skip to content

Rrtstar

Note on implementation of informed RRT*#

Preliminary knowledge on informed-RRT*#

Let us define f(x) as minimum cost of the path when path is constrained to pass through x (so path will be xstartxxgoal). Also, let us define cbest as the current minimum cost of the feasible paths. Let us define a set $ X(f) = \left{ x \in X | f(x) < c*{\mathrm{best}} \right} $. If we could sample a new point from Xf instead of X as in vanilla RRT*, chance that cbest is updated is increased, thus the convergence rate is improved.

In most case, f(x) is unknown, thus it is straightforward to approximate the function f by a heuristic function f^. A heuristic function is admissible if xX,f^(x)<f(x), which is sufficient condition of conversion to optimal path. The good heuristic function f^ has two properties: 1) it is an admissible tight lower bound of f and 2) sampling from X(f^) is easy.

According to Gammell et al [1], a good heuristic function when path is always straight is f^(x)=||xstartx||+||xxgoal||. If we don't assume any obstacle information the heuristic is tightest. Also, X(f^) is hyper-ellipsoid, and hence sampling from it can be done analytically.

Modification to fit reeds-sheep path case#

In the vehicle case, state is x=(x1,x2,θ). Unlike normal informed-RRT* where we can connect path by a straight line, here we connect the vehicle path by a reeds-sheep path. So, we need some modification of the original algorithm a bit. To this end, one might first consider a heuristic function f^RS(x)=RS(xstart,x)+RS(x,xgoal)<f(x) where RS computes reeds-sheep distance. Though it is good in the sense of tightness, however, sampling from X(f^RS) is really difficult. Therefore, we use f^euc=||pos(xstart)pos(x)||+||pos(x)pos(xgoal)||, which is admissible because xX,f^euc(x)<f^RS(x)<f(x). Here, pos function returns position (x1,x2) of the vehicle.

Sampling from X(f^euc) is easy because X(f^euc)=Ellipse×(π,π]. Here Ellipse's focal points are xstart and xgoal and conjugate diameters is $\sqrt{c^{2}{\mathrm{best}} - ||\mathrm{pos}(x}) - \mathrm{pos}(x_{\mathrm{goal}}))|| } $ (similar to normal informed-rrtstar's ellipsoid). Please notice that θ can be arbitrary because f^euc is independent of θ.

[1] Gammell et al., "Informed RRT*: Optimal sampling-based path planning focused via direct sampling of an admissible ellipsoidal heuristic." IROS (2014)