The algorithm is a basic RRT (Rapidly Expanding Random Tree) algorithm. It is a single
sided search in that it only expands from the start node outward towards the goal.
An RRT is given a start state, a configuration space, and a desired goal state. For a set number of iterations, the algorithm generates a random state (random joint angles), finds the closest node currently in the tree to that random state, then does a small interpolation towards that random state. The new small interpolation is then added into the tree and connected to the chosen closest node it spawned from. If the small interpolation runs into an obstacle, violates constraints of the robot, or attempts to leave the constraints of the playpen, it is considered invalid and a new random state is chosen to try again. If a state gets within a specified tolerance of the goal state, then a path has been found via the states of the tree from the goal back to the initial start state.
Here is an example of the path found by the planner from a start state to and end state.
A video of this interpolation can be found here.