The eyes help navigate

Robotic Path Planning: RRT and RRT*

Exploring the optimized version of a orthodox path planning algorithm


RRT Pseudo CodeQgoal //region that identifies success
Counter = 0 //keeps track of iterations
lim = n //number of iterations algorithm should run for
G(V,E) //Graph containing edges and vertices, initialized as empty
While counter < lim:
Xnew = RandomPosition()
if IsInObstacle(Xnew) == True:
Xnearest = Nearest(G(V,E),Xnew) //find nearest vertex
Link = Chain(Xnew,Xnearest)
if Xnew in Qgoal:
Return G
Return G
An Example of an RRT path
The graph generated from RRT algorithm


Fan shaped structure
Example of rewiring of the graph
Path generated by RRT*
Two examples of RRT*
RRT* Pseudo CodeRad = r
G(V,E) //Graph containing edges and vertices
For itr in range(0…n)
Xnew = RandomPosition()
If Obstacle(Xnew) == True, try again
Xnearest = Nearest(G(V,E),Xnew)
Cost(Xnew) = Distance(Xnew,Xnearest)
Xbest,Xneighbors = findNeighbors(G(V,E),Xnew,Rad)
Link = Chain(Xnew,Xbest)
For x’ in Xneighbors
If Cost(Xnew) + Distance(Xnew,x’) < Cost(x’)
Cost(x’) = Cost(Xnew)+Distance(Xnew,x’)
Parent(x’) = Xnew
G += {Xnew,x’}
G += Link
Return G

An engineer who‘s been around the block. I write about technology, space, climate, policy, and occasionally joke around. In LA and got time for coffee? Comment!