  We present a decoupled algorithm for motion planning for a collection of
unit-balls moving among polyhedral obstacles in $\mathbb{R}^d$, for any $d \ge
2$. We assume that the robots have revolving areas in the vicinity of their
start and target positions: Revolving areas are regions where robots can
maneuver in order to give way to another moving robot. Given that this
assumption is fulfilled, the algorithm is complete, namely it is guaranteed to
find a solution or report that none exists. A key goal in our design is to make
the revolving areas as economical as possible and in particular to allow
different revolving areas to overlap. This makes the analysis rather involved
but in return makes the algorithm conceptually fairly simple. We show that for
the case of $m$ unit-discs moving among polygonal obstacles of total complexity
$n$ in $\mathbb{R}^2$, the algorithm can be executed in $O(n^2m +
m(m+n)\log(m+n))$ time. We implemented the algorithm for this case and tested
it on several scenarios, for which we show experimental results for up to
$1000$ robots. Finally, we address the problem of choosing the order of
execution of the paths in decoupled algorithms that locally solve interferences
and show that finding the optimal order of execution is NP-hard. This motivated
us to develop a heuristic for choosing the order; we describe the heuristic and
demonstrate its effectiveness in certain scenarios.
