  We present the first universal reconfiguration algorithm for transforming a
modular robot between any two facet-connected square-grid configurations using
pivot moves. More precisely, we show that five extra "helper" modules
("musketeers") suffice to reconfigure the remaining $n$ modules between any two
given configurations. Our algorithm uses $O(n^2)$ pivot moves, which is
worst-case optimal. Previous reconfiguration algorithms either require less
restrictive "sliding" moves, do not preserve facet-connectivity, or for the
setting we consider, could only handle a small subset of configurations defined
by a local forbidden pattern. Configurations with the forbidden pattern do have
disconnected reconfiguration graphs (discrete configuration spaces), and indeed
we show that they can have an exponential number of connected components. But
forbidding the local pattern throughout the configuration is far from
necessary, as we show that just a constant number of added modules (placed to
be freely reconfigurable) suffice for universal reconfigurability. We also
classify three different models of natural pivot moves that preserve
facet-connectivity, and show separations between these models.
