This is a simple implementation of the Rapidly Exploring Random Trees algorithm. It was done as an exercise so the code is not oriented to be optimized. The RRT class uses templates and there is an implementation with 2d points but essentially it should work with any object that has the same operator overloads as Point2D.
*Right now, the obstacles for 2d points are hardcoded in the main file and in the plotter helper code.