Algorithm 3: expandConfiguration() of RRT-MP
Input: random configuration qrand, configuration to expand qnear ,
previously used primitive pprev
Output: configuration reachable from qnear
1 S = ∅;
2 foreach p ∈ motionPrimitives do
3 if isApplicableAt(qnear , i) ∧ isApplicableAfter(p, pprev) then
4 xp = parameters of the motion primitive p;
5 τ = duration of p;
6 u(t) = (a1(t), . . . , an(t)) using the locomotion generator;
7 q = apply input signal u(t) to the actuators over time τ
using physical simulation;
8 S = S ∪ {q};
9 end
10 end
11 qnew = closest configuration from S to qrand;
12 return qnew or NULL if S = ∅;
4.2. Execution