Skip to main content
. 2022 Nov 26;22(23):9203. doi: 10.3390/s22239203
Algorithm 4 M-RRT*
1: G ← (V, E); Vxinit; xpeakxinit; N ← 0;
2: h^(xpeak) ← Dis(xpeak, xgoal);
3: h^(xinit) ← Dis(xinit, xgoal);
4: for i = 1 to n do
5: xrandSample(i);
6: xnearestNearest(V, xrand);
7:  (xn, σ) ← Steer(xnearest, xrand);
8: if CollisionFree(σ) then
9:   if N = 0 then
10:    AVAC(xn, h^(xpeak), h^(xinit));
11:   else
12:    NDVAC(xn, xnearest, n, N, σ*);
13:   XnearNear(V, xn);
14:   (xparent, σparent) ← ChooseParent(Xnear, xnearest, xn, σ);
15:   VAddVertex(xn);
16:   EAddEdge(xparent, xn);
17:   GRewire(G, xn, Xnear);
18:   (σ*, N) ← NearGoal(G, xn, n);
19: end if
20: end for
21: return G;