Skip to content

Connectivity Maintenance

Problem Statement

24 agents are each given a goal drawn at random across a 400 m box. Flown straight, the task tears the radio network into islands. The question is whether the fleet can be made to treat its own connectivity as something worth spending goal progress on.

Model and Formulation

The network is a weighted graph, the weight falling smoothly with range. Its health is λ2, the second smallest eigenvalue of the Laplacian L=DW, strictly positive exactly while the graph is connected.

The gradient with respect to position has a closed form through the Fiedler vector v — the eigenvector belonging to λ2:

λ2pi=jwijpi(vivj)2

Read that for what it says: effort goes where the Fiedler vector disagrees most, not where the distance is greatest. The Fiedler vector is near-constant within a tightly connected cluster and jumps across the weak cut between clusters, so the gradient concentrates on the links actually holding the network together and ignores redundant ones inside a clump.

The controller scales that gradient by a barrier potential in λ2 rather than a fixed gain, so it is nearly silent while the mesh is healthy and grows without bound as λ2 approaches its floor.

Tuning and Failure Modes

  • A fixed connectivity gain distorts the task everywhere. Tuned for the worst case, it drags on the fleet even when the network is comfortable. The barrier form only overrides the task when the mesh is actually at risk.
  • Saturate the force. The barrier diverges by construction; without a limit it produces commands no aircraft can fly.
  • A perfectly symmetric formation can produce a repeated λ2, where the eigenvector — and so the gradient — is not unique. Any disturbance breaks it, but it is why a connectivity controller can look briefly erratic in a regular lattice.
  • Watch the topology, not just the number. A high λ2 in a chain is still a chain: k-connectivity of 1 means every agent is a single point of failure.

Implementation and Execution

bash
python -m flybots.simulations.comms.connectivity_maintenance

Evidence

runfinal λ2k-connectivity
task only5.67e-060 (fragmented)
connectivity-aware0.27621

The aware run does not reach its goals — mean goal error plateaus near 110 m while the task-only run drives it to zero. Connectivity was bought with mission progress, and the second panel shows the bill.

Connectivity Maintenance

References

Released under the MIT License.