Step 1: Sampling optimization: randomly sampled state is obtained by the sampling process in the given state space. Then, the biased node based on the growth trend of the target random tree is obtained by using the Bi-bias() heuristic. After being guided by the BPF() heuristic, randomly sampled state turns into biased potentially guided bidirectional randomly sampled state such that , where .Bi-bias() and BPF() heuristics have been explained later in this section.
Step 2: Insert vertex: the GetBestTreeParent() heuristic finds the best parent for the state obtained in Step 1 from random trees or and InsertVertex() insert the into the best selected tree. Step 1 and Step 2 continue till .
Step 3: Generate the path. As iteration, , goes from to , a feasible solution path from initial to goal configuration is found. Then, the final path is smoothed by B-spline. Finally, BPIB-RRT∗ can provide a smooth feasible path. The pseudocode of BPIB-RRT∗ is given in Algorithm 4.