We present flocking with cohesive configuration control — motion controllers that allow multiple robots to move through the environment as a cohesive group while maintaining connectivity and density invariants. We start with a flocking controller from the Prof. Reza's famous flocking literature.
First, we produce a boundary force on robots that are on the internal and external boundaries of the configuration. This removes concave regions of the boundary, producing a convex configuration with uniform density.
Second, we solve intersticial lattice errors caused by robots clumping too close together by moving them toward the boundary with a clump remover algorithm.
Finally, we determine when a configuration is on the verge of disconnecting by identifying local articulation points — regions where the removal of a single robot will change the local topology. When one is detected, we switch modes to a clustering algorithm that draws robots to the vulnerable region. The combination of these algorithms produces a cohesive configuration controller.