alphaFeedback

WorksComputer Science

Distributed Predictive Flocking for a Swarm of Miniature Vibration-Driven Robots in a Confined Arena

AI contributions
Not recorded for this paper
View details
Ancillary data
2 code links
View

Abstract

Coordinating many miniature robots in a confined arena, with no leader, central planner, or global map, is a core challenge for swarm robotics. As the swarm grows denser, collision avoidance becomes the limiting factor, and the number of safely coexisting robots depends on the formulation of the inter-robot safety constraint. We present a distributed predictive flocking controller in which each robot solves its own nonlinear model predictive control (NMPC) problem, optimizing swarm cohesion and alignment costs, inter-robot and obstacle safety, and a task objective, while exchanging only predicted trajectories with local neighbors. Within this generalized controller architecture, solved in real time, we compare six barrier and control-barrier-function (CBF) safety formulations on a digital twin of an open-source vibration-driven bristlebot in a 0.64 m20.64\,\mathrm{m^2} arena. A look-ahead discrete-time CBF performs best overall, with the fewest collisions and the widest inter-robot margins across nearly every swarm size tested. We deploy it on phototaxis, phototactic orbiting, and cohesion without a stimulus tasks, using swarm sizes starting from ten robots and up to the geometric packing limit. The swarm holds well: collisions stay low in small swarms, rising steeply as the packing limit approaches, while coordination and cohesion degrade gently rather than collapsing. The swarm is found not to trade safety for order, keeping both across the confined arena, with local alignment high at every swarm size.

_gset:Nn __short_title: Distributed Predictive Flocking for a Swarm of Miniature Vibration-Driven Robots in a Confined Arena

_gset:Nn __short_authors: Shrestha et al.

[orcid=0009-0005-9585-3800]

Introduction

Autonomous multi-robot systems are a promising approach for tasks in cluttered, inaccessible, or hazardous spaces, from confined-structure inspection to search in collapsed buildings and medical micro-robotics [14]. In these settings, many miniature robots must coordinate in proximity within a tight, bounded arena. As in natural swarms, such as flocking of starlings, schooling of fish, the crowded colonies of ants and honey bees, and even the collective migration of cells, robust group behavior emerges from purely local interactions among simple agents [9, 7, 6], with no central control [14]. Miniaturization, however, tightly bounds onboard compute, memory, and power [15], demanding control that is theoretically principled yet computationally light. Moreover, when the arena is fixed, a growing number of robots increases the density of the swarm and hinders smooth motion. When it is also cluttered with obstacles, coordination is even harder. In this scenario, collision avoidance becomes the central challenge.

The standard way to coordinate such a swarm from purely local interactions is Reynolds’ boid model [1, 2], which reduces collective motion to three local rules (cohesion, alignment, and separation) that produce coherent group motion without global information [8]. Early control laws formalized these as artificial potential fields over a communication graph [4, 5], and reactive velocity-matching rules scale to tens of drones [13]. Such reactive methods, however, offer no predictive horizon, no formal safety guarantee under nonlinear dynamics, and no systematic handling of kinodynamic limits. These shortcomings are especially severe in confined, high-density settings, where many underactuated robots have little room to recover from unsafe motions.

Model predictive control (MPC) [18] addresses these limitations. For the nonlinear dynamics of mobile robots, this takes the form of nonlinear MPC (NMPC). It solves a finite-horizon optimal control problem (OCP) online, which provides closed-loop feedback, constraint satisfaction, and explicit multi-objective trade-offs. Distributed MPC (DMPC) extends this to a swarm by splitting the global problem into per-agent OCPs coupled through shared constraints [19, 20, 21, 22]. Solvers such as the Sequential Quadratic Programming real-time iteration (SQP-RTI) [55] solve each per-agent OCP in real time. Similarly, optimization-based swarm planners achieve strong real-world navigation [23, 25, 24, 27]. These methods are mainly developed for point-to-point navigation [20, 26], with collision avoidance typically encoded as geometric constraints such as separating hyperplanes or safe corridors.

The closest works embed Reynolds behaviors in NMPC. They have been demonstrated on up to 16 quadrotors [28, 29], leader-follower teams [30, 31, 32], and fixed-wing unmanned aerial vehicles (UAVs) [33]. Most share one regime. They assume sparse flight in large 3D airspace, with the swarm migrating toward a shared goal. Even when several obstacles are present, they remain sparse relative to the available space, keeping the environment effectively low-density. Few address the opposite regime that we target, where many underactuated robots coordinate at high density in a fixed, confined, and cluttered arena under a task objective such as following a light gradient. Here, the inter-robot safety formulation, not free-space planning, governs how many robots can coexist. Each of these works, however, fixes a single safety formulation in advance, usually a distance constraint or a penalty. It remains open which formulation fits the most robots into a fixed arena with minimal collisions.

Safety formulations differ in how collision avoidance is encoded as a constraint in the OCP. Such a constraint is classically formulated using a barrier function h(x)h(x) whose safe set S={x∣h(x)≥0}\mathcal{S} = \{x \mid h(x)\ge 0\} is kept forward invariant to certify safety [34], typically imposed as a hard [36] or soft [37] distance constraint. A Control Barrier Function (CBF) [34] relaxes this strict boundary condition by allowing h(x)h(x) to decrease at a rate bounded by a class-K\mathcal{K} function, and its discrete-time form (Dt-CBF) [35] imposes this at each MPC stage. [38] enforces it as a hard constraint, which is often infeasible. Feasibility is restored by softening the decay with slack variables [39, 40, 41], adding terminal barrier terms [43, 44], or anchoring a soft CBF with one hard step [42]. Beyond feasibility, when the constraint has relative degree greater than one, as for a distance constraint under unicycle dynamics, a higher-order CBF (HOCBF) [45, 46] chains the barrier conditions. [42] compare a distance-constraint MPC, a hard discrete-time CBF, a slacked CBF, and their combination on a common footing, but for a single robot. In the multi-robot setting, safety is enforced by reactive schemes [48, 49], by post-hoc CBF-QP (quadratic program) filters [50], or by a CBF inside a decentralized MPC with neighbors as predicted trajectories [51, 52, 53, 54]. A formulation’s collision performance, however, likely changes with the swarm density. A comparison across densities is required to find the best one.

In this work, we investigate the maximum number of miniature robots a distributed predictive controller can flock in a fixed arena, and design a controller to push that limit. Each robot solves its own NMPC combining Reynolds cohesion, alignment, and separation (gated by neighbor presence) with inter-robot/obstacle safety and the task objective. It selects the KK nearest neighbors within the communication radius and exchanges predicted trajectories synchronously as OCP parameters, giving a fully distributed, leader-free architecture with no central planner or global map. We evaluate it on a physics-informed digital twin [17] of the GRASPion [16], an open-source vibration-driven bristlebot studied as an active-matter model system. We characterize how densely the swarm packs a 0.64 m20.64\,\mathrm{m^2} arena while sustaining two behaviors. These are phototaxis (ascending toward a moving Gaussian light gradient) and a phototactic orbital mode (orbiting the source along the intensity level-set). We compare six inter-robot safety formulations on a common footing (§ 3.3). A slacked barrier paired with a discrete-time CBF at a forward handle [47] sustains the highest density with the fewest collisions. The main contributions of this paper are as follows:

  1. A distributed predictive control system for dense swarms of miniature vibration-driven robots. Each robot solves its own NMPC fusing flocking, safety, and the task objective, coupled to neighbors only through exchanged predicted trajectories.

  2. Demonstration that a single controller generalizes across qualitatively different collective behaviors. The same architecture produces gradient-ascending phototaxis, stable phototactic orbital formation, and generic flocking with no modification to the safety or coordination layers, showing that task objectives and coordination structure are separable and that new tasks can be added without re-deriving safety guarantees.

  3. A careful comparison of six inter-robot safety formulations within one identical controller, isolating the safety constraint as the only varying factor. The Look-ahead Slack Dt-CBF gives the best overall trade-off for the phototaxis deployment target.

  4. Characterization of the operating swarm density that the controller sustains in a fixed arena. The swarm stays cohesive with few collisions in small swarms; collisions rise steeply towards the geometric packing limit, as saturation sets in, while coordination and feasibility degrade gently rather than collapse.

The remainder of this paper is structured as follows. § 2 presents the robot model, light field, control architecture overview, behavior generation, flocking rules, and the DMPC OCP. § 3 reports the simulation results, including the safety-formulation study (§ 3.3), the analysis of collective behavior (§ 3.4), and the quantification of collision avoidance under different tasks (§ 3.5). § 4 summarizes the work and provides an outlook for future studies.

Preliminaries and Problem Statement

In this work, we consider a swarm of NbN_b robots operating in a bounded arena A=[−Ah, Ah]2⊂R2\mathcal{A} = [-A_h,\,A_h]^2 \subset \mathbb{R}^2, with each robot labeled by i∈{1,…,Nb}i \in \{1,\ldots,N_b\}. The state of robot ii is xi=[pi, θi]⊤∈R3\bm{x}_i = [\bm{p}_i,\,\theta_i]^\top \in \mathbb{R}^3, where pi=[px,i, py,i]⊤\bm{p}_i = [p_{x,i},\,p_{y,i}]^\top is the position and θi\theta_i the heading. Inter-robot communication is modeled as a directed sensing graph G=(V, E)\mathcal{G} = (\mathcal{V},\,\mathcal{E}), where V={1,…,Nb}\mathcal{V} = \{1,\ldots,N_b\} denotes the set of robots and E⊆V×V\mathcal{E} \subseteq \mathcal{V} \times \mathcal{V} is the communication set of ordered pairs (i,j)(i,j) for which robot ii can observe robot jj. The neighbor set of robot ii is Ni={j∈V∣(i,j)∈E}\mathcal{N}_i = \{j \in \mathcal{V} \mid (i,j) \in \mathcal{E}\}. We adopt a topological neighborhood with fixed cardinality ∣Ni∣≤K|\mathcal{N}_i| \le K, selecting the KK nearest robots within communication radius RcommR_{\rm comm} of robot ii. This choice keeps the neighbor count constant and avoids the cost discontinuities that arise under Voronoi or attraction-based topologies [10, 11, 12]. Each robot additionally accounts for up to MM nearby static circular obstacles within a sensing range dobsd_{\rm obs}, indexed by m∈{1,…,M}m \in \{1,\ldots, M\}, with obstacle mm at center pm∈R2\bm{p}_m \in \mathbb{R}^2 and radius rmr_m. The environment also includes a single light source whose intensity field serves as the swarm stimulus.

The OCP is compiled once with a fixed parameter dimension. Neighbor and obstacle information therefore enters two fixed-size blocks of KK and MM slots, the neighbor block and the obstacle block. At each control step, robot ii receives a predicted trajectory τj={[p^j(k), v^j(k)]⊤}k=0N\bm{\tau}_j = \bigl\{[\hat{\bm{p}}_j^{(k)},\,\hat{\bm{v}}_j^{(k)}]^\top\bigr\}_{k=0}^{N} from each neighbor j∈Nij \in \mathcal{N}_i, where p^j(k)∈R2\hat{\bm{p}}_j^{(k)} \in \mathbb{R}^2 and v^j(k)∈R2\hat{\bm{v}}_j^{(k)} \in \mathbb{R}^2 are the predicted position and velocity of neighbor jj at horizon stage kk. Throughout, a hat denotes a quantity the per-robot OCP treats as fixed data (the ego robot’s current measured state and the neighbors’ received predicted trajectories). The ego robot’s own predicted states are decision variables. These trajectories fill the neighbor block, and the number of occupied slots changes from step to step. Each neighbor slot therefore carries a binary activation mask aj(k)∈{0,1}a_j^{(k)} \in \{0,1\}, where aj(k)=1a_j^{(k)} = 1 if slot jj is occupied at stage kk and aj(k)=0a_j^{(k)} = 0 otherwise. The obstacle block is filled the same way. Robot ii selects the MM nearest obstacles within obstacle sensing range dobsd_{\rm obs} and writes each center pm\bm{p}_m into a slot together with its own activation flag.

Robot Model

Each robot is modeled as a rigid ellipse with semi-major axis aa and semi-minor axis bb, matching the physical footprint of the GRASPion open-source bristlebot [16], as illustrated in Figure 1. The simulated elliptical agent is modeled after this hardware platform, following the physics-informed digital twin of [17], so the simulation study is grounded in a physical robot footprint and can serve as a precursor to future physical experiments.

Figure 1, panel 1Figure 1, panel 2

Figure 1. (Left) Two elliptical robots with minimum safe distance DsafeD_{\rm safe} and semi-axes aa (3 cm3\,\mathrm{cm}) and bb (1.5 cm1.5\,\mathrm{cm}). (Right) The physical GRASPion open-source bristlebot hardware.

The dynamics of each robot are described by a three-state kinematic unicycle model with state x∈R3\bm{x} \in \mathbb{R}^3, input u∈R2\bm{u} \in \mathbb{R}^2, and continuous-time dynamics f(x,u)f(\bm{x}, \bm{u}) given by

x=[ px, py, θ ]⊤,u=[ v, ω ]⊤,x˙=f(x,u)=[ vx, vy, ω ]⊤,\begin{align} \bm{x} &= [\,p_x,\, p_y,\, \theta\,]^\top, \tag*{(1)} \\ \bm{u} &= [\,v,\, \omega\,]^\top, \tag*{(2)} \\ \dot{\bm{x}} &= f(\bm{x},\bm{u}) = [\,v_x,\, v_y,\, \omega\,]^\top, \tag*{(3)} \end{align}

where (px,py)(p_x, p_y) is the position, θ\theta the heading angle, vv the linear velocity, vx=vcos⁡θv_x = v\cos\theta and vy=vsin⁡θv_y = v\sin\theta are the velocity components, and ω\omega the angular velocity. The continuous-time dynamics (3) are integrated using an explicit Runge-Kutta 4 (ERK-4) integrator with three steps per control interval, yielding the discrete-time map x(k+1)=F(x(k),u(k))\bm{x}^{(k+1)} = F(\bm{x}^{(k)}, \bm{u}^{(k)}).

Light Field Model

The arena contains a time-varying light field that each robot senses locally to compute its navigation reference. The field is modeled as a Gaussian intensity profile whose source either orbits the arena center or remains stationary.

Light Source

The light source produces a Gaussian intensity field

I(p,t)=I0 exp⁡ ⁣(−∥p−s(t)∥22σL2),\begin{equation} I(\bm{p},t) = I_0\,\exp\!\left(-\frac{\|\bm{p} - \bm{s}(t)\|^2}{2\sigma_{\rm L}^2}\right), \tag*{(4)} \end{equation}

where p∈R2\bm{p} \in \mathbb{R}^2 is an arbitrary position, I0>0I_0 > 0 is the peak intensity, s(t)∈R2\bm{s}(t) \in \mathbb{R}^2 is the position of the source at time tt, and σL\sigma_{\rm L} represents the spatial spread of intensity.

Source Dynamics

The light source supports two motion modes. In circular rotation mode, the source orbits the center of the arena at a fixed radius rr with angular speed ωs=vs/r\omega_s = v_s /r, with the position of the source given by

s(t)=r[cos⁡(ωst+φ0)sin⁡(ωst+φ0)],\begin{equation} \bm{s}(t) = r\begin{bmatrix}\cos(\omega_s t + \varphi_0)\\\sin(\omega_s t + \varphi_0)\end{bmatrix}, \tag*{(5)} \end{equation}

where φ0\varphi_0 is the initial angle of the source in the orbit and vsv_s is the speed of the source along the orbit. In stationary mode, the source remains fixed at the arena center.

Intensity Gradient

The intensity gradient with respect to the robot position is computed analytically as

∇pI(p,t)=−(p−s(t))σL2 I(p,t).\begin{equation} \nabla_{\bm{p}} I(\bm{p},t) = -\frac{(\bm{p} - \bm{s}(t))}{\sigma_{\rm L}^2}\,I(\bm{p},t). \tag*{(6)} \end{equation}

This analytic gradient is the local cue that the collective-behavior modes of § 2.4 convert into each robot’s look-ahead reference.

Control Architecture Overview

Every robot runs an identical decentralized controller, outlined in Figure 2. At each control step, the robot senses the local light field, and a behavior module maps this reading to a look-ahead reference that encodes where the robot should head next. A per-robot optimal control problem (OCP) tracks that reference. Flocking rules keep the group cohesive and heading-aligned, while barrier and control-barrier-function constraints enforce inter-robot and obstacle safety. Robots publish their predicted trajectories over the sensing graph and re-solve synchronously from their neighbors’ previous plans, coordinating the swarm without a central node. The rest of this section develops the remaining components in turn. These are the behavior module (§ 2.4), the flocking rules (§ 2.5), the six safety formulations (§ 2.5.3–§ 2.5.4), the reference-tracking and control-effort costs (§ 2.6), the assembled OCP (§ 2.7), and the decentralized execution loop (§ 2.8).

Figure 2

Figure 2. Per-robot control architecture for the DMPC swarm. Each robot runs three concurrent subsystems. The Perception block estimates the robot’s state comprising position pxp_x and pyp_y, orientation θ\theta, and velocity vxv_x and vyv_y. The Planning and Control block uses this state to compute a look-ahead reference based on the active swarm behavior (phototaxis or phototactic orbital) and then solves the local NMPC problem to produce control commands, which are passed through a Calibration layer before reaching the Actuator. The Communication block handles all inter-robot data exchange, where solid arrows denote state signals and dotted arrows denote predicted trajectory exchanges. Incoming broadcasts are filtered by a Neighbor Filter (within communication range RcommR_{\rm comm} and KK-nearest selection) and stored in the robot’s neighbors buffer before being used by the NMPC solver.

Collective Behavior Modes

Collective motion emerges when individual agents produce coordinated group-level movement through purely local interactions in the absence of centralized planning [1, 3]. In our controller, a behavior module translates local sensory observations into a look-ahead reference (pref,θref,vref,ωref)(\bm{p}^{\rm ref}, \theta^{\rm ref}, v^{\rm ref}, \omega^{\rm ref}) at each control step, which the OCP then tracks while maintaining flocking coherence and safety. We describe two such modes, phototaxis and phototactic orbital behavior.

At each control step, the light-field gradient g=∇I(p^i)\bm{g}=\nabla I(\hat{\bm{p}}_i) is evaluated analytically from (4)–(6). The resulting reference heading depends on the selected collective behavior mode. Once the heading is obtained, the look-ahead reference position is computed as

pref=clip⁡ ⁣(p^i+dla [cos⁡θref, sin⁡θref]⊤,[−Ah,Ah]2)\begin{equation} \bm{p}^{\rm ref} = \operatorname{clip}\!\left( \hat{\bm{p}}_i + d_{\rm la}\,[\cos\theta^{\rm ref},\,\sin\theta^{\rm ref}]^\top, [-A_h,A_h]^2 \right) \tag*{(7)} \end{equation}

where dlad_{\rm la} is the look-ahead distance, and the clipping function constrains the reference position to remain inside the arena. The reference velocity is set to a constant target value vrefv^{\rm ref}, and the reference angular velocity ωref\omega^{\rm ref} is fixed at zero.

Phototaxis Behavior Mode

Phototaxis drives each robot to ascend the intensity gradient of the light field without knowledge of the global source position. The reference heading is aligned with the steepest ascent direction:

θref={atan2⁡(gy,gx),∥g∥2≥ϵgrad,θ^i,∥g∥2<ϵgrad,\begin{equation} \theta^{\rm ref} = \begin{cases} \operatorname{atan2}(g_y, g_x), & \|\bm{g}\|_2 \ge \epsilon_{\rm grad},\\ \hat{\theta}_i, & \|\bm{g}\|_2 < \epsilon_{\rm grad}, \end{cases} \tag*{(8)} \end{equation}

where ϵgrad\epsilon_{\rm grad} is a small gradient threshold. When the field is nearly flat (∥g∥2<ϵgrad\|\bm{g}\|_2 < \epsilon_{\rm grad}), the robot holds its current heading θ^i\hat{\theta}_i rather than turning randomly.

Phototactic Orbital Behavior Mode

In the phototactic orbital mode, each robot follows the tangent of the light intensity level set, effectively orbiting the source without knowledge of its global position. The reference heading is obtained by rotating the gradient direction from (8) by π/2\pi/2, with the orbital direction governed by the circulation parameter κ∈{−1,+1}\kappa \in \{-1, +1\} (where κ=+1\kappa = +1 generates counter-clockwise motion, and κ=−1\kappa = -1 generates clockwise motion):

θref={atan2⁡(gy,gx)−κπ2,∥g∥2≥ϵgrad,θ^i,∥g∥2<ϵgrad.\begin{equation} \theta^{\rm ref} = \begin{cases} \operatorname{atan2}(g_y, g_x) - \kappa\frac{\pi}{2}, & \|\bm{g}\|_2 \ge \epsilon_{\rm grad},\\ \hat{\theta}_i, & \|\bm{g}\|_2 < \epsilon_{\rm grad}. \end{cases} \tag*{(9)} \end{equation}

Extensibility to Arbitrary Behaviors

Decoupling the reference generator from the OCP makes the architecture task-agnostic. Any behavior (directed migration, dispersal, transport, shape formation) can be integrated by mapping local observations to a look-ahead reference (pref,θref,vref,ωref)(\bm{p}^{\rm ref}, \theta^{\rm ref}, v^{\rm ref}, \omega^{\rm ref}), while the DMPC preserves safety and flocking coherence.

Reynolds Flocking Rules

The behavior modes set each robot’s individual objective, while the collective motion arises from the local steering rules proposed by Reynolds [1, 2]. Cohesion binds robots into a group, alignment coordinates their heading, separation keeps them from colliding, and obstacle avoidance steers them clear of static hazards. The controller encodes cohesion and alignment as quadratic cost terms in the per-robot OCP, while separation and obstacle avoidance are enforced through barrier and discrete-time CBF constraints [34, 35]. We focus on the separation and obstacle avoidance by comparing six different formulations, ranging from hard barriers to slacked variants (§ 2.5.3 and § 2.5.4).

Cohesion

The active-neighbor centroid at stage kk is computed as a masked weighted average of predicted neighbor positions:

c(k)=1s(k)∑j=1Kaj(k) p^j(k)∈R2,\begin{equation} \bm{c}^{(k)} = \frac{1}{s^{(k)}}\sum_{j=1}^{K} a_j^{(k)}\,\hat{\bm{p}}_j^{(k)} \in \mathbb{R}^2, \tag*{(10)} \end{equation}

where the soft neighbor count

s(k)=max⁡ (∑j=1Kaj(k), ε),ε=10−4,\begin{equation} s^{(k)} = \max\,\left(\sum_{j=1}^{K} a_j^{(k)},\,\varepsilon\right), \qquad \varepsilon = 10^{-4}, \tag*{(11)} \end{equation}

prevents division by zero when there are no neighbors in the vicinity. The cohesion penalty is

ℓcoh(x(k))=qcoh g(k) ∥pi(k)−c(k)∥2,\begin{equation} \ell_{\rm coh}(\bm{x}^{(k)}) = q_{\rm coh}\,g^{(k)}\,\|\bm{p}_i^{(k)} - \bm{c}^{(k)}\|^2, \tag*{(12)} \end{equation}

with weight qcoh≥0q_{\rm coh} \ge 0, gated by the activation gate

g(k)=min⁡ (∑j=1Kaj(k), 1).\begin{equation} g^{(k)} = \min\,\Bigl(\textstyle\sum_{j=1}^{K} a_j^{(k)},\,1\Bigr). \tag*{(13)} \end{equation}

When at least one neighbor slot is active, g(k)=1g^{(k)}=1 and the cost is enabled. In isolation, when g(k)=0g^{(k)}=0 and it vanishes. Separating s(k)s^{(k)} (denominator safety) from g(k)g^{(k)} (which enables the cohesion and alignment costs only when a neighbor is present) keeps the per-robot cost well posed for the SQP-RTI solve. Finally, cohesion uses the stage-matched predicted positions p^j(k)\hat{\bm{p}}_j^{(k)} rather than current measured ones, pulling robot ii toward where its neighbors are predicted to be.

Alignment

The mean heading direction (θmean(k)\theta_{\rm mean}^{(k)}) of active neighbors is estimated from their predicted velocity vectors:

vˉ(k)=∑j=1Kaj(k) v^j(k)=[ vˉx(k), vˉy(k) ]⊤,θmean(k)=atan2⁡ (vˉy(k)+ε,  vˉx(k)+ε).\begin{align} \bar{\bm{v}}^{(k)} &= \sum_{j=1}^{K} a_j^{(k)}\,\hat{\bm{v}}_j^{(k)} = [\,\bar v_x^{(k)},\, \bar v_y^{(k)}\,]^\top, \tag*{(14)} \\ \theta_{\rm mean}^{(k)} &= \operatorname{atan2}\,\bigl(\bar v_y^{(k)}+\varepsilon,\;\bar v_x^{(k)}+\varepsilon\bigr). \tag*{(15)} \end{align}

The neighbor velocities are summed rather than normalized, so faster neighbors weigh more heavily. The ε\varepsilon offsets regularize atan2⁡\operatorname{atan2} near a zero velocity sum (fixing θmean(k)\theta_{\rm mean}^{(k)} at π/4\pi/4 only at exact cancellation, an edge case). The resulting θmean(k)\theta_{\rm mean}^{(k)} then defines the alignment heading error, wrapped to (−π,π](-\pi,\pi]:

eali(k)=atan2⁡ (sin⁡(θ(k)−θmean(k)), cos⁡(θ(k)−θmean(k))),\begin{equation} e_{\rm ali}^{(k)} = \operatorname{atan2}\,\bigl(\sin(\theta^{(k)} - \theta_{\rm mean}^{(k)}),\,\cos(\theta^{(k)} - \theta_{\rm mean}^{(k)})\bigr), \tag*{(16)} \end{equation}

and the alignment penalty is

ℓali(x(k))=qali g(k) (eali(k))2,\begin{equation} \ell_{\rm ali}(\bm{x}^{(k)}) = q_{\rm ali}\,g^{(k)}\,\bigl(e_{\rm ali}^{(k)}\bigr)^2, \tag*{(17)} \end{equation}

with weight qali≥0q_{\rm ali} \ge 0. As in the cohesion term, the shared gate g(k)g^{(k)} disables both cohesion and alignment when robot ii is isolated.

Inter-Robot Separation

The inter-robot separation constraint builds on a pairwise safety barrier and its Dt-CBF extension. For neighbor slot jj at stage kk, the barrier

hj(k)=∥pi(k)−p^j(k)∥2−Dsafe2\begin{equation} h_j^{(k)} = \bigl\|\bm{p}_i^{(k)} - \hat{\bm{p}}_j^{(k)}\bigr\|^2 - D_{\rm safe}^2 \tag*{(18)} \end{equation}

is non-negative exactly when robot ii and neighbor jj are at least DsafeD_{\rm safe} apart. Starting from this barrier, the same safety constraint can be encoded in several ways, each imposed hard or slacked. We consider six formulations that differ only in the safety constraint, and observe the corresponding change in swarm behavior. § 3.3 then evaluates all six under identical conditions and retains the best-performing one. The last three share a common structure consisting of a slacked barrier anchor paired with a rate condition. They differ only in the rate condition, which is a one-step Dt-CBF on the body, the same condition on a forward handle, or a two-step higher-order chain.

(a) Hard BF

The plain barrier imposed as a hard constraint,

hj(k)≥0,\begin{equation} h_j^{(k)} \ge 0, \tag*{(19)} \end{equation}

is the most direct encoding of the DsafeD_{\rm safe} rule. It forbids any predicted configuration closer than DsafeD_{\rm safe} at every stage. It is purely reactive (it acts only once a neighbor is within range) and, as a hard constraint, allows no slack, so a robot surrounded by several neighbors at once can leave its OCP with no feasible input.

(b) Hard Dt-CBF

The discrete-time CBF condition as a hard constraint,

hj(k+1)−(1−α) hj(k)≥0,α∈(0,1],\begin{equation} h_j^{(k+1)} - (1-\alpha)\,h_j^{(k)} \ge 0, \qquad \alpha\in(0,1], \tag*{(20)} \end{equation}

compares the barrier hj(k)h_j^{(k)} with its one-step-ahead value hj(k+1)h_j^{(k+1)}. The latter is formed by a forward-Euler step of the ego position and a constant-velocity step of each neighbor,

pi(k+1)=pi(k)+Δt v(k)[cos⁡θ(k), sin⁡θ(k)]⊤,p^j(k+1)=p^j(k)+Δt v^j(k);\begin{align} \bm{p}_i^{(k+1)} &= \bm{p}_i^{(k)} + \Delta t\, v^{(k)}[\cos\theta^{(k)},\,\sin\theta^{(k)}]^\top, \tag*{(21)} \\ \hat{\bm{p}}_j^{(k+1)} &= \hat{\bm{p}}_j^{(k)} + \Delta t\, \hat{\bm{v}}_j^{(k)}; \tag*{(22)} \end{align}

The ego step is linear in v(k)v^{(k)}, which keeps the quadratic-program subproblems well conditioned. It is a first-order approximation used only inside the barrier constraint, separate from the ERK-4 discretization of the dynamics (3). The condition does not forbid hj<0h_j<0 but limits how fast the barrier may shrink each step, to at most a fraction α\alpha (a discrete class-K\mathcal{K} rate). The robot therefore starts slowing while still safely separated rather than braking at the boundary, giving smoother, early avoidance. This is exactly the MPC-CBF formulation of [38]. Being a hard constraint, it carries the same infeasibility risk as Hard BF with dense congregations of robots.

(c) Slack BF

The plain barrier mentioned in Hard BF, softened by its slack,

hj(k)+ξj,bf(k)≥0,\begin{equation} h_j^{(k)} + \xi_{j,\mathrm{bf}}^{(k)} \ge 0, \tag*{(23)} \end{equation}

keeps the OCP solvable in the crowded configurations that make Hard BF infeasible. When no input can satisfy hj≥0h_j\ge0, the penalized slack ξj,bf\xi_{j,\mathrm{bf}} opens just enough to admit a feasible, minimally-violating solution instead of failing.

(d) Slack Dt-CBF

The slacked barrier anchor (23) and the discrete-time CBF condition softened by its own slack,

hj(k+1)−(1−α) hj(k)+ξj,cbf(k)≥0,\begin{equation} h_j^{(k+1)} - (1-\alpha)\,h_j^{(k)} + \xi_{j,\mathrm{cbf}}^{(k)} \ge 0, \tag*{(24)} \end{equation}

imposed together on the same neighbor, each with its own slack. The rate condition combines the before-contact activation of Hard Dt-CBF with the improved solvability of Slack BF. The anchor guards the footprint at every stage while the CBF constraint shapes the approach rate. This is the reference point for the next two formulations: they retain this anchored structure and change only where or how the rate condition is evaluated, so the ensuing description only mentions those two choices.

(e) Look-ahead (LA) Slack Dt-CBF

This formulation is a modification of Slack Dt-CBF with its rate condition moved from the body onto a forward handle a fixed distance LL (0<L<Dsafe0<L<D_{\rm safe}) ahead of the robot, adapting the offset-point construction of [47] to discrete time,

pL(k)=pi(k)+L [cos⁡θ(k), sin⁡θ(k)]⊤,hj,L(k)=∥pL(k)−p^j(k)∥2−(Dsafe−L)2,\begin{align} \bm{p}_{L}^{(k)} &= \bm{p}_i^{(k)} + L\,[\cos\theta^{(k)},\,\sin\theta^{(k)}]^\top, \tag*{(25)} \\ h_{j,L}^{(k)} &= \bigl\|\bm{p}_{L}^{(k)} - \hat{\bm{p}}_j^{(k)}\bigr\|^2 - (D_{\rm safe}-L)^2, \tag*{(26)} \end{align}

with the slacked condition hj,L(k+1)−(1−α) hj,L(k)+ξj,cbf(k)≥0h_{j,L}^{(k+1)} - (1-\alpha)\,h_{j,L}^{(k)} + \xi_{j,\mathrm{cbf}}^{(k)} \ge 0 imposed on the handle. A body distance barrier has relative degree two under unicycle dynamics, so the turn rate does not appear in its one-step form and a robot can only slow down to keep clear. The handle pL(k)\bm{p}_L^{(k)} moves with the heading, so ω(k)\omega^{(k)} enters the one-step barrier directly. The robot can, therefore, also steer around a neighbor, while the body anchor (23) still guards the true footprint.

(f) Slack Dt-HOCBF

The slacked barrier anchor (23) together with a slacked higher-order (relative-degree-two) chain [46, 45] is built natively in discrete time from successive barrier values rather than from derivatives. With hj(k+1)h_j^{(k+1)} and hj(k+2)h_j^{(k+2)}, the barrier evaluates the one-step and two-step prediction under the held input (v(k),ω(k))(v^{(k)},\omega^{(k)}),

ψ1(k)=hj(k+1)−(1−γ1) hj(k),ψ2(k)=ψ1(k+1)−(1−γ2) ψ1(k)+ξj,cbf(k)≥0,\begin{align} \psi_1^{(k)} &= h_j^{(k+1)} - (1-\gamma_1)\,h_j^{(k)}, \tag*{(27)} \\ \psi_2^{(k)} &= \psi_1^{(k+1)} - (1-\gamma_2)\,\psi_1^{(k)} + \xi_{j,\mathrm{cbf}}^{(k)} \ge 0, \tag*{(28)} \end{align}

with decay rates γ1,γ2∈(0,1]\gamma_1,\gamma_2\in(0,1]. Expanding the chain gives the single constraint actually imposed,

hj(k+2)−(2−γ1−γ2) hj(k+1)+(1−γ1)(1−γ2) hj(k)+ξj,cbf(k)≥0,\begin{equation} h_j^{(k+2)} - (2-\gamma_1-\gamma_2)\,h_j^{(k+1)} + (1-\gamma_1)(1-\gamma_2)\,h_j^{(k)} + \xi_{j,\mathrm{cbf}}^{(k)} \ge 0, \tag*{(29)} \end{equation}

where the two-step prediction advances the heading as θ(k+1)=θ(k)+Δt ω(k)\theta^{(k+1)} = \theta^{(k)} + \Delta t\,\omega^{(k)} and each neighbor by its constant velocity. This addresses the same relative-degree-two obstruction as (e) but analytically rather than geometrically: ω(k)\omega^{(k)} is absent from the one-step barrier, yet it enters hj(k+2)h_j^{(k+2)} through the rotated heading, with sensitivity ∂ψ2/∂ω∝Δt2v(k)\partial\psi_2/\partial\omega \propto \Delta t^{2} v^{(k)}.

Across the six formulations, a safety constraint is either imposed hard or softened by its own non-negative slack (ξj,bf(k)\xi_{j,\mathrm{bf}}^{(k)} for a barrier constraint, ξj,cbf(k)\xi_{j,\mathrm{cbf}}^{(k)} for a Dt-CBF constraint), and the active slacks are penalized in the cost,

ℓrob-safety(k)=∑j=1K ∑ξ∈ξj(k)(Zrob ξ2+zrob ξ),\begin{equation} \ell_{\rm rob\text{-}safety}^{(k)} = \sum_{j=1}^{K}\ \sum_{\xi \in \bm{\xi}_j^{(k)}} \bigl(Z^{\rm rob}\,\xi^2 + z^{\rm rob}\,\xi\bigr), \tag*{(30)} \end{equation}

where ξj(k)\bm{\xi}_j^{(k)} collects the chosen formulation’s inter-robot slacks for neighbor jj, and Zrob,zrobZ^{\rm rob},z^{\rm rob} are the quadratic and linear weights. The set ξj(k)\bm{\xi}_j^{(k)} holds both slacks for the hybrid, look-ahead, and higher-order variants (d)–(f), a single slack for Slack BF, and none for the hard variants. Each slack is driven to zero whenever its constraint is satisfiable and absorbs only the unavoidable residual otherwise. Inactive neighbor slots are padded (h≡100h\equiv100) so their constraints and slacks vanish.

Obstacle Avoidance

The selected formulation (a)–(f) from § 2.5.3 is applied unchanged to static obstacles, so no new safety constraints are introduced. Each obstacle mm is treated as a neighbor with a fixed prediction. Three substitutions turn each inter-robot safety constraint of the chosen formulation into its obstacle counterpart. The neighbor position p^j(k)\hat{\bm{p}}_j^{(k)} becomes the obstacle center pm\bm{p}_m (held at zero velocity). The clearance DsafeD_{\rm safe} becomes Dsafe,obsD_{\rm safe, obs} (a fixed radius exceeding the obstacle radius rmr_m). The class-K\mathcal{K} gains take their obstacle values (defaulting to the inter-robot ones). The obstacle barrier, for instance, is

hm(k)=∥pi(k)−pm∥2−Dsafe,obs2.\begin{equation} h_m^{(k)} = \bigl\|\bm{p}_i^{(k)} - \bm{p}_m\bigr\|^2 - D_{\rm safe,obs}^2 . \tag*{(31)} \end{equation}

The obstacle slacks are penalized analogously,

ℓobs-safety(k)=∑m=1M ∑ξ∈ξm(k)(Zobs ξ2+zobs ξ),\begin{equation} \ell_{\rm obs\text{-}safety}^{(k)} = \sum_{m=1}^{M}\ \sum_{\xi \in \bm{\xi}_m^{(k)}} \bigl(Z^{\rm obs}\,\xi^2 + z^{\rm obs}\,\xi\bigr), \tag*{(32)} \end{equation}

with ξm(k)\bm{\xi}_m^{(k)} the chosen formulation’s obstacle slacks for obstacle mm and Zobs,zobsZ^{\rm obs},z^{\rm obs} the quadratic and linear weights. At the terminal stage k=Nk=N, the one-step prediction is undefined, and all formulations revert to a plain terminal barrier.

Look-Ahead Reference Point and Control Effort

The look-ahead reference point (pref,θref,vref,ωref)(\bm{p}^{\rm ref}, \theta^{\rm ref}, v^{\rm ref}, \omega^{\rm ref}) produced by the behavior module of § 2.4, whatever the mode, enters the per-robot OCP through a quadratic tracking cost. The stage-kk deviations of the state from this reference point are then defined as

epx(k)=px(k)−pxref,epy(k)=py(k)−pyref,eθ(k)=atan2⁡ ⁣(sin⁡ ⁣(θ(k)−θref), cos⁡ ⁣(θ(k)−θref)),ev(k)=v(k)−vref,eω(k)=ω(k)−ωref.\begin{align} e_{p_x}^{(k)} &= p_x^{(k)} - p_x^{\rm ref}, \qquad e_{p_y}^{(k)} = p_y^{(k)} - p_y^{\rm ref}, \tag*{(33)} \\ e_{\theta}^{(k)} &= \operatorname{atan2}\!\bigl( \sin\!\bigl(\theta^{(k)}-\theta^{\rm ref}\bigr),\, \cos\!\bigl(\theta^{(k)}-\theta^{\rm ref}\bigr) \bigr), \tag*{(34)} \\ e_v^{(k)} &= v^{(k)} - v^{\rm ref}, \qquad e_{\omega}^{(k)} = \omega^{(k)} - \omega^{\rm ref}. \tag*{(35)} \end{align}

The wrapping in (34) maps the heading deviation to (−π,π](-\pi,\pi], avoiding discontinuities at ±π\pm\pi. The deviations form a quadratic reference-tracking cost:

ℓla(k)=qpos ⁣(epx(k)2+epy(k)2)+qθ eθ(k)2+qv ev(k)2+qω eω(k)2,\begin{equation} \ell_{\rm la}^{(k)} = q_{\rm pos}\!\left({e_{p_x}^{(k)}}^{2} + {e_{p_y}^{(k)}}^{2}\right) + q_{\theta}\,{e_{\theta}^{(k)}}^{2} + q_v\,{e_v^{(k)}}^{2} + q_{\omega}\,{e_{\omega}^{(k)}}^{2}, \tag*{(36)} \end{equation}

with weights qpos,qθ,qv,qω>0q_{\rm pos}, q_{\theta}, q_v, q_{\omega} > 0. A control-effort term regularizes the inputs for smoother, more energy-efficient trajectories:

ℓeffort(k)=ru ⁣((v(k))2+(ω(k))2),\begin{equation} \ell_{\rm effort}^{(k)} = r_u\!\left(\bigl(v^{(k)}\bigr)^{2} + \bigl(\omega^{(k)}\bigr)^{2}\right), \tag*{(37)} \end{equation}

where ru>0r_u > 0.

OCP Formulation

Each robot solves a finite-horizon OCP over NN stages. The cost assembles the look-ahead, control-effort, cohesion, and alignment terms plus CBF slack penalties into a stage and a terminal cost. This cost is minimized subject to the dynamics, the state and input box constraints, and safety constraints that enforce separation and obstacle avoidance.

Stage Cost

The stage cost at horizon stage k∈{0,…,N−1}k \in \{0,\ldots,N-1\} is

ℓs(k)=ℓla(k)+ℓeffort(k)+ℓcoh(k)+ℓali(k)+ℓrob-safety(k)+ℓobs-safety(k),\begin{equation} \ell_s^{(k)} = \ell_{\rm la}^{(k)} + \ell_{\rm effort}^{(k)} + \ell_{\rm coh}^{(k)} + \ell_{\rm ali}^{(k)} + \ell_{\rm rob\text{-}safety}^{(k)} + \ell_{\rm obs\text{-}safety}^{(k)}, \tag*{(38)} \end{equation}

where the look-ahead, control-effort, cohesion, alignment, inter-robot slack, and obstacle slack terms are given by (36), (37), (12), (17), (30), and (32), respectively. Separation and obstacle avoidance no longer appear as cost terms. They are enforced through the barrier and Dt-CBF constraints of § 2.5.3–§ 2.5.4.

Terminal Cost

The terminal cost at stage k=Nk = N is

ℓt(N)=qpos[(px(N)−pxref)2+(py(N)−pyref)2]+qθ (eθ(N))2+ℓrob-safety(N)+ℓobs-safety(N).\begin{equation} \ell_t^{(N)} = q_{\rm pos}\Bigl[\bigl(p_x^{(N)} - p_x^{\rm ref}\bigr)^2 + \bigl(p_y^{(N)} - p_y^{\rm ref}\bigr)^2\Bigr] + q_{\theta}\,\bigl(e_{\theta}^{(N)}\bigr)^2 + \ell_{\rm rob\text{-}safety}^{(N)} + \ell_{\rm obs\text{-}safety}^{(N)}. \tag*{(39)} \end{equation}

where the position, heading, inter-robot slack, and obstacle slack terms are given by (33), (34), (30), and (32), respectively.

Full OCP

Every robot ii solves the following optimization problem (with neighbor data treated as stage-wise parameters), which incorporates all the previously defined cost terms and constraints in a unified formulation:

min⁡{x(k),u(k)}k=0N,{ξrob(k),ξobs(k)}k=0N∑k=0N−1ℓs(k)+ℓt(N)s.t.x(0)=x^i,x(k+1)=F ⁣(x(k),u(k)),k=0,…,N−1,xmin⁡≤x(k)≤xmax⁡,k=0,…,N,umin⁡≤u(k)≤umax⁡,k=0,…,N−1,Crob-safety(x(k),u(k); {τj})+ξrob(k)≥0,k=0,…,N,Cobs-safety(x(k),u(k); {pm})+ξobs(k)≥0,k=0,…,N,ξrob(k), ξobs(k)≥0,k=0,…,N,\begin{align} \min_{\substack{\{\bm{x}^{(k)},\bm{u}^{(k)}\}_{k=0}^{N},\\[2pt]\{\bm{\xi}_{\rm rob}^{(k)},\bm{\xi}_{\rm obs}^{(k)}\}_{k=0}^{N}}} \quad & \sum_{k=0}^{N-1} \ell_s^{(k)} + \ell_t^{(N)} \\[0.5em] \text{s.t.}\quad & \bm{x}^{(0)} = \hat{\bm{x}}_i, \\ & \bm{x}^{(k+1)} = F\!\bigl(\bm{x}^{(k)},\bm{u}^{(k)}\bigr), \quad k = 0,\dots,N{-}1, \\ & \bm{x}_{\min} \le \bm{x}^{(k)} \le \bm{x}_{\max}, \quad k = 0,\dots,N, \\ & \bm{u}_{\min} \le \bm{u}^{(k)} \le \bm{u}_{\max}, \quad k = 0,\dots,N{-}1, \\ & \bm{C}_{\rm rob\text{-}safety}\bigl(\bm{x}^{(k)}, \bm{u}^{(k)};\, \{\bm{\tau}_j\}\bigr) + \bm{\xi}_{\rm rob}^{(k)} \ge \bm{0}, \quad k = 0,\dots,N, \\ & \bm{C}_{\rm obs\text{-}safety}\bigl(\bm{x}^{(k)}, \bm{u}^{(k)};\, \{\bm{p}_m\}\bigr) + \bm{\xi}_{\rm obs}^{(k)} \ge \bm{0}, \quad k = 0,\dots,N, \\ & \bm{\xi}_{\rm rob}^{(k)},\, \bm{\xi}_{\rm obs}^{(k)} \ge \bm{0}, \quad k = 0,\dots,N, \end{align}

Here, Crob-safety\bm{C}_{\rm rob\text{-}safety} and Cobs-safety\bm{C}_{\rm obs\text{-}safety} are the inter-robot and obstacle safety constraints of the selected formulation (a)–(f) (§ 2.5.3 and § 2.5.4), evaluated on the neighbors’ predicted trajectories {τj}\{\bm{\tau}_j\} and the obstacle positions {pm}\{\bm{p}_m\}. The bounds (xmin⁡,xmax⁡)(\bm{x}_{\min},\bm{x}_{\max}) and (umin⁡,umax⁡)(\bm{u}_{\min},\bm{u}_{\max}) are the state and input box limits. The slack vectors ξrob(k)\bm{\xi}_{\rm rob}^{(k)} and ξobs(k)\bm{\xi}_{\rm obs}^{(k)} hold up to 2K2K and 2M2M entries for k<Nk<N. The predictive Dt-CBF rows require the one-step-ahead prediction, while the higher-order rows require the two-step prediction, so they drop at the terminal stage k=Nk=N. For the hard formulations (a) and (b), the slacks are fixed to 0\bm{0}.

Simulation Workflow

Each control step executes a synchronous parallel update [59] in which all robots compute their optimal control sequences simultaneously using only neighbor information from the previous timestep (Algorithm alg:dmpc). This structure prevents any robot from exploiting another robot’s within-step update, matching the limited communication of a real distributed system. At the beginning of each control step, a KD-Tree [60] is constructed over the current robot positions {p^1,…,p^Nb}\{\hat{\bm{p}}_1, \ldots, \hat{\bm{p}}_{N_b}\}. This spatial partitioning structure enables all KK-nearest-neighbor queries within communication range RcommR_{\rm comm} to be performed in O(Nblog⁡Nb)O(N_b \log N_b) total time compared to the naive pairwise distance search O(Nb2)O(N_b^2) [61]. Each robot then samples the local light intensity and gradient to compute a look-ahead reference (pref,θref,vref,ωref)(\bm{p}^{\rm ref}, \theta^{\rm ref}, v^{\rm ref}, \omega^{\rm ref}) which encodes the desired position, heading, linear speed, and angular velocity according to the active swarm behavior mode. It also collects the nearby obstacle positions within range dobsd_{\rm obs} and the neighbors’ predicted trajectories {τj}\{\bm{\tau}_j\} buffered from the previous control step. Using these inputs, each robot solves a local OCP over horizon NN via a single SQP-RTI step, while updating the stage-wise parameter vector π(k)\bm{\pi}^{(k)} to incorporate the look-ahead reference, neighbor trajectories, and obstacle positions as time-varying coupling parameters in (?). After optimization, the robot applies the first control action u(0)\bm{u}^{(0)} and publishes its updated predicted trajectory τi\bm{\tau}_i for use by neighboring robots at time t+Δtt + \Delta t.

\small
  \caption{DMPC Control Step at time $t$}
  \label{alg:dmpc}
  \begin{algorithmic}[1]
    \State Advance light field: $I(\cdot,t) \leftarrow I(\cdot,t{+}\Delta t)$
    \State \textbf{Spatial Indexing:} Construct KD-Tree from current positions
    $\{\hat{\bm{p}}_1, \ldots, \hat{\bm{p}}_{N_b}\}$

    \For{robot $i = 1,\ldots,N_b$ \textbf{in parallel}}
    \Comment{Communication Phase}
    \State Detect $K$ nearest neighbors $j \ne i$ via KD-Tree query with range
    $R_{\rm comm}$
    \State Buffer $\bm{\tau}_j = \{[\hat{\bm{p}}_j^{(k)},
    \hat{\bm{v}}_j^{(k)}]\}_{k=0}^{N}$ from neighbors'
    \emph{previous} trajectories
    \EndFor

    \For{robot $i = 1,\ldots,N_b$ \textbf{in parallel}}
    \Comment{Computation Phase}
    \State Sense light intensity $I(\hat{\bm{x}}_i)$ and gradient
    $\nabla I(\hat{\bm{x}}_i)$
    \State Compute look-ahead reference
    $(\bm{p}^{\rm ref},\, \theta^{\rm ref},\, v^{\rm ref},\, \omega^{\rm ref})$
    based on the active swarm behavior
    \State Detect the $M$ nearest obstacles within range $d_{\rm obs}$ and
    compute their center positions $\bm{p}_m$
    \State Fetch trajectories $\bm{\tau}_j$ from neighbor buffer
    \State Warm-start: $\bm{x}^{(k)} \leftarrow \hat{\bm{x}}_i$,\;
    $\bm{u}^{(k)} \leftarrow \bm{u}_{\rm nom}$ $\forall k$
    \For{$k = 0,\ldots,N$}
    \State Build and set parameter block $\bm{\pi}^{(k)}$: look-ahead reference +
    neighbor trajectory $\bm{\tau}_j$
    + obstacle positions $\bm{p}_m$
    \EndFor
    \State Execute one SQP-RTI step to obtain $\bm{u}^{(k)}$
    \State Extract first optimal control input $\bm{u}_i^* \leftarrow \bm{u}^{(0)}$ and updated
    $\bm{\tau}_i$ from solver
    \EndFor

    \State \textbf{Synchronize:} All robots publish updated trajectories $\bm{\tau}_i$
    simultaneously \Comment{Available at $t{+}\Delta t$}

    \For{robot $i = 1,\ldots,N_b$}
    \Comment{Actuation Phase}
    \State Apply $\bm{u}_i^*$
    \EndFor
  \end{algorithmic}

Simulation Results

We evaluate the proposed DMPC framework through a series of simulation studies. The studies characterize the operating density up to the geometric packing limit, compare the six inter-robot safety formulations under a common controller setup, demonstrate emergent collective behavior across the task modes, and assess real-time computational scalability with swarm size.

Simulation Setup

We implemented our DMPC framework symbolically in Python using CasADi [57] and exported the resulting OCP to acados [55], which generates and compiles highly optimized C code via its code-generation pipeline. The solver uses the acados SQP-RTI scheme, ERK-4 integration, and the interior-point QP solver HPIPM [56], and a Gauss-Newton Hessian approximation of the OCP. Simulations were performed on the compute nodes of a throughput cluster, each with two 16-core 2.90 GHz2.90\,\mathrm{GHz} Intel Xeon Gold 6326 (Ice Lake) processors, i.e. 32 physical cores, and 250 GB250\,\mathrm{GB} of RAM. Every run was pinned to a single core, so the per-robot solve times reported in § 3.6 are single-core numbers.

The physics environment was simulated using a custom 2D engine within a fixed 0.8 m×0.8 m0.8\,\mathrm{m}\times 0.8\,\mathrm{m} workspace (horizon N=20N=20, control step Δt=0.1 s\Delta t=0.1\,\mathrm{s}, up to K=5K=5 neighbors). The NMPC and Reynolds penalty weights were tuned via Bayesian optimization with Optuna [58] to maximize swarm coherence while prioritizing safety and solver stability. The lower speed bound vmin⁡=0.01v_{\min}=0.01 m/s (Table 3) keeps every robot moving instead of letting it stop. The environmental Gaussian light source rotated along a circular trajectory in the phototaxis experiment and remained stationary in the phototactic orbital experiment. All robots were initialized at uniform random positions in a central sub-region covering 90% of the arena A\mathcal{A} with a minimum initial separation of DsafeD_{\rm safe} and ran for 9000 control steps (Tsim=900 sT_{\rm sim} = 900\,\mathrm{s}), long enough for the swarm to reach and hold a steady state rather than being measured mid-transient.

Metrics and protocol

All reported quantities are means over 1010 random seeds with 95%95\% confidence intervals. Steady-state quantities are averaged over the last 30003000 of the 90009000 steps (the final 300 s300\,\mathrm{s}). A robot-robot (or robot-obstacle) contact is a distinct overlap of the elliptical footprints, evaluated at the MPC-commanded positions and counted once per overlap episode. All runs include a lightweight reactive collision-response layer (a per-robot heading bias plus a few positional-separation sweeps) matching the deployed system. A contact is detected as soon as the footprints overlap, before the layer reacts. The layer then pushes the overlapping pair apart and biases their headings away from each other, so overlaps stay shallow and brief. Solver feasibility is the fraction of per-robot solves returning a successful acados status. The six formulations share an identical stack, weights, horizon, arena, seed set, and safe distance DsafeD_{\rm safe}. Only the inter-robot safety and obstacle-avoidance constraints differ. For the look-ahead formulation, the pair (α,L)(\alpha, L) was selected by a grid screening followed by Bayesian optimization, and for the anchored Slack Dt-CBF, the decay rate α\alpha was selected by a direct two-point comparison, each re-verified over the full ten-seed protocol. Formulations (d) and (e) therefore share α\alpha, which is what makes the look-ahead ablation below a single-variable comparison. The remaining formulations run at the gains inherited from their source implementations rather than at individually optimized ones; a single shared gain would not be meaningful across formulations that differ in structure, and we report this asymmetry because it bounds how the cross-formulation ranking should be read. The complete set of cost weights, CBF gains, slack weights, and environment constants is listed in Appendix § 6,Table 3.

Capacity and Operating Density

We now characterize how densely the swarm can pack in the fixed arena. This section establishes the geometric capacity and selects the operating point used in the later analysis.

Geometric capacity

The swarm size is limited by the safety buffer, not the physical footprint. The elliptical footprint is small, only ≈11%\approx 11\% of the arena at Nb=50N_b=50, against ≈30%\approx 30\% when the buffers are also considered. At Dsafe=7 cmD_{\rm safe}=7\,\mathrm{cm}, the buffers cap the swarm size at an upper limit of Nmax⁡=137N_{\max}=137 non-overlapping safety disks of radius Dsafe/2D_{\rm safe}/2 (Table 1). This packing results in ≈82%\approx 82\% area coverage, just below the ideal hexagonal 90.7%90.7\% because of boundary and finite-size effects. The ceiling depends on the safety distance, ranging from Nmax=188N_{\rm max}=188 at Dsafe=6 cmD_{\rm safe}=6\,\mathrm{cm} to Nmax=68N_{\rm max}=68 at Dsafe=10 cmD_{\rm safe}=10\,\mathrm{cm}. Across these distances, the buffer occupancy at the limit stays near 8282–83%83\%. We therefore use buffer occupancy as a density measure comparable across safety distances.

Operating point

We select the operating point with a closed-loop DMPC sweep over DsafeD_{\rm safe} and movement headroom ΔN\Delta N. The sweep scores occupancy, collisions, feasibility, solve time, and neighbor-buffer utilization. Sweeping over Dsafe∈{7,8} cmD_{\rm safe}\in\{7,8\}\,\mathrm{cm} over the four barrier and CBF formulations available at the time, it finds both viable, so we set Dsafe=Dsafe,obs=7 cmD_{\rm safe}=D_{\rm safe, obs}=7\,\mathrm{cm}, the tighter of the two. The working maximum Nb=100N_b=100 then follows from the geometric headroom criterion Nop=Nmax⁡−ΔNN_{\rm op}=N_{\max}-\Delta N with ΔN=37\Delta N=37 (≈60%\approx 60\% buffer occupancy), not from the sweep score. Beyond Nmax⁡N_{\max} the safety buffers can no longer be packed without forced overlap, and the swarm stays feasible only through the slacked barrier.

Physical Robot FootprintSafety Buffer
2-3 (lr)4-5 Swarm SizeTotal AreaOccupancyTotal AreaOccupancy
NbN_b(cm2\mathrm{cm}^2)(%)(cm2\mathrm{cm}^2)(%)
114.140.2238.480.60
10141.402.21384.856.01
25353.505.52962.1115.03
50707.0011.051924.2330.07
751060.5016.572886.3445.10
801131.2017.683078.7648.11
1001414.0022.093848.4560.13
1201696.8026.514618.1472.16
1371937.1830.275272.3882.38

Table 1. Swarm size, physical robot footprint, and safety buffer occupancy in a 0.8 m×0.8 m0.8\,\mathrm{m} \times 0.8\,\mathrm{m} (0.64 m20.64\,\mathrm{m^2}) arena. The physical footprint uses Abot≈14.14 cm2A_{\rm bot} \approx 14.14\,\mathrm{cm}^2 and the safety buffer area is Abuffer≈38.48 cm2A_{\rm buffer}\approx 38.48\,\mathrm{cm}^2 (Dsafe=7 cmD_{\rm safe} = 7\,\mathrm{cm}). The green row (Nb=50N_b = 50) marks the representative swarm size used for the behavior figures. The yellow row (Nb=100N_b = 100) marks the largest swarm size that leaves some headroom to move. The red row marks the geometric non-overlapping packing limit (Nmax⁡=137N_{\max} = 137).

Safety Formulation Comparison

The inter-robot and obstacle safety constraints can be formulated in several ways. To map this design space, we compare the six formulations (a)–(f) of § 2.5.3 and § 2.5.4 for the phototaxis mode in the absence of obstacles. The slacked variants carry the feasibility-recovery idea of [39] over to our distributed swarm. Under the identical setup of § 3.1 (same stack, solver, and closed-loop simulator), the six formulations differ only in how they enforce inter-robot and obstacle safety, so the comparison isolates that single design choice. Each configuration is evaluated at Nb∈{10,25,50,75,100,125,137}N_b \in \{10,25,50,75,100,125,137\} over 10 seeds, with Nmax⁡=137N_{\max}=137 marked by the dashed vertical line in the figures. Figure 3 reports the solver feasibility, the collisions, and the mean QP solve time versus swarm size NbN_b, and Table 2 summarizes the low-density operating point Nb=25N_b = 25 alongside a high-density operating point Nb=100N_b = 100.

Figure 3

Figure 3. Safety-formulation comparison across the six variants (phototaxis, free space, 10-seed mean, 95%95\% CI bands). (a) Solver feasibility, (b) inter-robot collisions (distinct contacts over 9000 steps, log scale), and (c) mean per-robot QP solve time, versus swarm size NbN_b. The dashed vertical line marks the geometric packing limit Nmax⁡=137N_{\max}=137.

VariantFeas. (%)Solve (ms)Coll. Nb=25N_b{=}25Coll. Nb=100N_b{=}100
Hard BF89.70±0.0389.70 \pm 0.032.79±0.012.79 \pm 0.0167±867 \pm 890608±70190608 \pm 701
Hard Dt-CBF [38]92.44±0.0592.44 \pm 0.052.70±0.01\mathbf{2.70 \pm 0.01}58±758 \pm 799704±86999704 \pm 869
Slack BF100.00±0.00100.00 \pm 0.003.11±0.043.11 \pm 0.045±25 \pm 2116979±417116979 \pm 417
Slack Dt-CBF100.00±0.00100.00 \pm 0.003.77±0.013.77 \pm 0.012±12 \pm 149251±61449251 \pm 614
LA Slack Dt-CBF100.00±0.00100.00 \pm 0.003.74±0.023.74 \pm 0.021±1\mathbf{1 \pm 1}36505±493\mathbf{36505 \pm 493}
Slack Dt-HOCBF100.00±0.00100.00 \pm 0.003.78±0.013.78 \pm 0.012±22 \pm 240628±80740628 \pm 807

Table 2. Safety-formulation comparison (phototaxis, free space, 10-seed mean ±\pm 95%95\% CI). Collisions are cumulative counts of distinct robot-robot contacts over 9000 steps, reported at a low density (Nb=25N_b=25) and at a high-density operating point Nb=100N_b=100. Feasibility and solve time are at Nb=25N_b=25. Bold marks the best value in each column.

Feasibility

Solver feasibility separates the hard and slacked formulations most sharply (Figure 3a). The two hard formulations hold only about 90%90\% to 92%92\% feasibility at Nb=25N_b = 25. When a solver is infeasible (roughly 8%8\% to 10%10\% of the per-robot OCPs), the robot falls back to a reactive potential-field controller (goal attraction with inter-robot, obstacle, and wall repulsion). This matches the recursive-infeasibility limitation that [38] identify for the hard discrete-time CBF. Softening the barrier with slack variables removes the problem. All four slacked formulations (Slack BF, Slack Dt-CBF, LA Slack Dt-CBF, and Slack Dt-HOCBF) hold at least 99.4%99.4\% feasibility across the entire density range, and 100%100\% up to Nb=25N_b=25; the minimum over all densities and all four is 99.47%99.47\%, at the packing limit. The small remaining infeasibility comes from the hard arena-boundary constraint, not the safety constraint. At high density, robots pressed against the arena walls can briefly make it infeasible. Feasibility alone, however, does not separate these four. As the collision results show next, a formulation can be feasible everywhere yet still fail to keep robots apart.

Collisions

The formulations diverge in collision counts, not feasibility (Figure 3b), and they separate by structure rather than by barrier order. At Nb=100N_b=100 the three formulations that pair a barrier anchor with a rate condition (d)–(f) average 4.2×1044.2\times10^{4} contacts, against 1.02×1051.02\times10^{5} for the three without an anchor (a)–(c), a factor of 2.42.4. The two groups do not overlap at any density in the sweep. Carrying an anchor alongside the rate condition therefore matters more than which rate condition is used.

Two further results follow within the anchored group. First, the look-ahead handle alone reduces contacts by a factor of 2.52.5 at low and moderate density, falling to 1.21.2 at the packing limit, where it takes them from 1.05×1051.05\times10^{5} to 8.6×1048.6\times10^{4}. Formulations (d) and (e) are identical apart from the handle, at the same decay rate α=0.9\alpha=0.9, with disjoint confidence intervals at every density Nb≥50N_b\ge50 and no measurable solve-time cost. The reduction is therefore due to the handle, which gives the angular velocity direct authority over the constraint so a robot can steer around a neighbor rather than only brake. Second, the higher-order chain helps at moderate density and stops helping at the packing limit. The Slack Dt-HOCBF is second best in small swarms, but by Nb=137N_b=137 it falls behind the LA Slack Dt-CBF, 1.19×1051.19\times10^{5} against 8.6×1048.6\times10^{4}. It does not fail by becoming infeasible, holding 100%100\% feasibility across the whole range against 99.5%99.5\% for (d) and (e). What it gives up is margin, and not just at the packing limit. The chain lets its robots run closer than the look-ahead variant at every density (Figure 4a), 5.025.02 against 5.31 cm5.31\,\mathrm{cm} at the packing limit. Its two-step condition allows the barrier to shrink further before the robot has to act. That costs nothing when the arena has unoccupied space. As the available area shrinks, a smaller gap leads to contact. On this task, the deployed LA Slack Dt-CBF is best or tied-best at every density except Nb=50N_b=50, where it is second behind the Slack Dt-HOCBF with disjoint confidence intervals. Elsewhere, the look-ahead advantage over the chain widens as the arena fills, from 1.11×1.11\times at Nb=100N_b=100 to 1.39×1.39\times at Nb=137N_b=137.

Safety margins

The formulations also differ in the safety margin they sustain (Figure 4). These runs use the deployed closed loop with the reactive layer active (§ 3.1), and are measured on post-steering positions, so they never show interpenetration. Each value is a mean over robots and steps of the nearest-neighbor distance, not a per-step minimum. The margins separate along the same structural line as the collision counts. On the inter-robot axis, the three anchored formulations (d)–(f) hold 10.110.1–10.6 cm10.6\,\mathrm{cm} at Nb=10N_b=10 and 5.05.0–5.3 cm5.3\,\mathrm{cm} at the packing limit. The three without an anchor (a)–(c) fall from 7.87.8–8.6 cm8.6\,\mathrm{cm} to 4.34.3–4.5 cm4.5\,\mathrm{cm}. Comparing group means, the anchor sustains roughly 0.7 cm0.7\,\mathrm{cm} of extra clearance at maximum crowding. The deployed LA Slack Dt-CBF is widest of all at high density, with 5.82 cm5.82\,\mathrm{cm} at Nb=100N_b=100 and 5.31 cm5.31\,\mathrm{cm} at Nmax⁡=137N_{\max}=137. At Nb=25N_b=25, only the anchored formulations still hold a clear margin above DsafeD_{\rm safe}, at 7.67.6–8.8 cm8.8\,\mathrm{cm}. The unanchored group sits at 6.86.8–7.1 cm7.1\,\mathrm{cm}, at or just either side of it. Beyond that density, every formulation operates inside the nominal buffer, already 6.56.5–6.86.8 against 5.85.8–5.9 cm5.9\,\mathrm{cm} at Nb=50N_b=50. The task drives this, not the choice of formulation. Phototaxis gathers the swarm at the light peak, so the robots there sit far closer than the arena average of 30%30\% buffer coverage at Nb=50N_b=50 (Table 1) would suggest, and neighboring buffers have to overlap. What the anchor leads to is a consistently larger share of the space that remains, and from Nb=75N_b=75 upward the formulation that holds the widest spacing also records the fewest contacts.

On the robot-obstacle axis, the ordering is similar, but the effect concentrates at the low-density end. At Nb=10N_b=10 the Slack Dt-CBF and the LA Slack Dt-CBF (d),(e) keep about 5.6 cm5.6\,\mathrm{cm} of clearance each, against 1.81.8–3.8 cm3.8\,\mathrm{cm} for the remaining four, the Slack Dt-HOCBF included. From Nb=100N_b=100 and up, every formulation converges to 1.61.6–1.7 cm1.7\,\mathrm{cm}. At that density, robots are pressed against obstacles by their neighbors rather than by their own control choices, so the safety formulation can no longer set the obstacle clearance. This is the margin-side counterpart of the collision result that obstacles stop mattering once inter-robot congestion dominates (§ 3.5).

Figure 4

Figure 4. Safety margins of the six safety formulations versus swarm size (phototaxis with two static obstacles, deployed closed loop with the reactive collision-response layer active, 10-seed mean, 95%95\% CI bands). (a) Steady-state mean nearest-neighbor distance drrd_{\mathrm{rr}}, center to center, dashed horizontal line at Dsafe=7D_{\rm safe}=7  cm. (b) Mean robot-obstacle clearance drod_{\mathrm{ro}}, robot center to obstacle surface, dashed horizontal line at Dsafe,obs−rm=4D_{\rm safe, obs}-r_m=4  cm, since the obstacle barrier bounds the center-to-center distance. The gray band spans the footprint-contact range, which varies with orientation for elliptical robots (2b2b–2a2a between two robots, bb–aa from a robot center to an obstacle surface). The vertical dashed line marks the geometric packing limit.

Figure 5

Figure 5. Collective behavior in obstacle-free space with the LA Slack Dt-CBF formulation, Nb=50N_b=50. (a) Phototaxis, where the swarm stays cohesive and heading-aligned while tracking the moving light source. (b) Phototaxis with the coupling costs and avoidance constraints removed, where the robots pile up at the light peak and collide. (c) Phototactic orbiting, where the swarm co-rotates along the light’s intensity level set. (d) Cohesion without a stimulus, where the Reynolds costs alone keep the group cohesive. Each column corresponds to a certain time tt, and the orange field is the light source. Supplementary video 1 shows these four behaviors in the obstacle-free arena.

Computational cost

The LA Slack Dt-CBF costs slightly more to solve because of its added look-ahead constraints. Its per-robot solve time is about 3.7 ms3.7\,\mathrm{ms} at Nb=25N_b = 25, roughly 1.0 ms1.0\,\mathrm{ms} above the cheapest formulations (Figure 3c). Each robot optimizes against a fixed number of neighbors, so this per-robot cost barely changes with swarm size and stays within 3.663.66–3.74 ms3.74\,\mathrm{ms} across the sweep. It is therefore well inside the 100 ms100\,\mathrm{ms} budget of a 10 Hz10\,\mathrm{Hz} loop at every density. § 3.6 reports the distribution and separates this per-robot cost from the per-step wall time of the single-process simulation, which does grow with NbN_b. The extra cost is small, so on phototaxis, the deployment target, the LA Slack Dt-CBF gives the best trade-off across feasibility, collisions, and safety margin. Therefore, we adopt it as the deployed formulation for the collective behavior simulations.

Emergence of Collective Behavior

We characterize the emergent behavior of the swarm under the DMPC framework. The LA Slack Dt-CBF formulation governs both inter-robot separation and obstacle avoidance. We study three tasks, namely coordinated phototaxis, phototactic orbiting, and cohesion without a stimulus. Figure 5 shows representative snapshots at Nb=50N_b=50. The snapshots show how the local coupling terms regulate spatial density and heading agreement while each agent pursues its objective, without global communication or a central coordinator. With two and with twelve static obstacles in the arena, every behavior still holds its form while the swarm moves around the obstacles (Figure 8 and Figure 9 in Appendix § 5).

We assess coordination among the robots using two distinct metrics. The first is the polar order parameter calculated locally over only the set of active neighbors,

Φloc=1Nb∑l=1Nb1Kl∥∑j∈Nleiθj∥∈[0,1],\begin{equation} \Phi_{\rm loc} = \frac{1}{N_b} \sum_{l=1}^{N_b}\frac{1}{K_{l}} \Bigl\lVert\sum_{j \in \mathfrak{N}_{l}} e^{i\theta_j}\Bigr\rVert \in [0,1], \tag*{(40)} \end{equation}

where Nl\mathfrak{N}_{l} is the set of active neighbors of each robot ll inclusive of the robot ll, and Kl=∣Nl∣K_l = |\mathfrak{N}_l| is the number of active neighbors for ll. When all the robots in every neighborhood are in near-perfect alignment, Φloc≈1\Phi_{\rm loc} \approx 1, whereas in a disordered state with random robot orientations, Φloc≈0\Phi_{\rm loc} \approx 0. This metric is widely used in biophysics to quantify order in a moving flock or swarm [8, 3]. The second metric is the nearest-neighbor distance averaged over all robots,

NND=1Nb∑l=1Nb∥xl−xk∥,\begin{equation} \mathrm{NND} = \frac{1}{N_b}\sum_{l=1}^{N_b} \lVert\bm{x}_l - \bm{x}_{k}\rVert, \tag*{(41)} \end{equation}

where kk is the nearest neighbor of robot ii. This metric finds pervasive use in quantifying internal group structure in natural and artificial flocks [64, 63]. While the NND varies with animal species, it unequivocally reaches a stable value at long time scales. The top and bottom rows of Figure 6 elucidate the variation in the local polar order and long-time NND for different swarm sizes and different obstacle numbers, under distinct modes of operation.

Phototaxis Behavior

We first examine the full DMPC formulation with all Reynolds steering rules (§ 2.5) active, demonstrating gradient-following behavior, followed by isolating the contribution of the social coupling by removing these terms entirely.

With Reynolds Flocking Rules – Collective Behavior

In phototaxis mode, each robot ascends the light gradient while the cohesion and alignment costs, together with the CBF separation constraints, produce collective motion. The CBF constrains the closing velocity toward each neighbor’s predicted position, so avoidance starts early, without the over-braking or deadlocks of purely reactive methods [53]. The swarm stays compact and heading-aligned as it tracks the rotating source (Figure 5a). The local polar order reduces with increasing swarm size, as radial phototaxis uses a convergent field that brings agents together from all directions, producing head-on encounters that locally cancel heading agreement (Figure 6a). A cluttered environment further worsen the alignment by introducing additional collision avoidance, which de-aligns the local heading. The NND (Figure 6d), on the other hand, decreases as the space for movement in the domain decreases (increasing swarm size), partly also attributable to the nature of the phototaxis mode, which attempts to converge the robots to a small location. Beyond Nb=50N_b=50, the NND falls below the safe buffer distance of Dsafe=7 cmD_{\rm safe} = 7\, \mathrm{cm}, indicating some amount of buffer overlap. As the swarm size approaches the geometric packing limit, the phototaxis gradient forces the robots into oblique, blocking contacts, causing NND to fall as low as 5 cm5\,\mathrm{cm}.

Without Reynolds Flocking Rules – Swarm Collapse

In the absence of the cohesion and alignment costs and the separation constraints, the collective behavior disappears. Each robot climbs the gradient on its own, so the swarm arrives at the light peak without spacing or heading agreement (Figure 5b). The swarm effectively collapses onto a small area in the domain, clearly attributing the occurrence of flocking to the Reynolds steering costs.

Phototactic Orbital Behavior

In the phototactic orbital mode, each robot follows the tangent of the sensed intensity level set through the gradient-rotation reference (9), orbiting the source without global localization. The CBF constraints (26) prevent collisions as robots compete for the same orbit while the cohesion and alignment costs keep the swarm compact and co-rotating. From arbitrary initial positions, it converges to a stable orbital formation (Figure 5c). Although the phototactic orbital mode is susceptible to crowding similar to the phototaxis mode, the decay of the local polar order is more muted in the former (Figure 6b). This is a direct consequence of the co-location of local neighbors along concentric orbital paths, leading to better heading agreement, even for large swarms. Similarly, the NND also settles slightly below the safe buffer distance even for Nb=137N_b=137, as the locally tangential motion along the orbital causes the robots to align along their major axes, allowing for sufficient separation among them (Figure 6e). Both metrics are only mildly affected by the addition of obstacles to the system.

Flocking in the Absence of Stimuli

In this mode, the light field is disabled, providing the robots no global stimulus. Hence, each robot holds its heading with a small random turn each step. The swarm drifts outward and settles into a band along the walls, with an empty interior (Figure 5d). Once a robot reaches a wall, it stays there until its heading drifts away, so the walls fill faster than they empty. Cohesion and alignment order the band, so the swarm circulates the arena similar to an edge current [62].

Figure 6

Figure 6. Local polar order Φloc\Phi_{\rm loc} (top row) and average nearest-neighbor distance (NND; bottom row) versus swarm size for the deployed LA Slack Dt-CBF, one column per collective behavior (10-seed mean with 95%95\% CI bands, steady state over the last 300 s300\,\mathrm{s}). The columns are phototaxis (a, d), phototactic orbiting (b, e), and cohesion without a stimulus (c, f). Each panel compares the obstacle-free arena, the few-obstacle arena (22 obstacles), and the cluttered arena (1212 obstacles, positions randomized per seed). The dotted horizontal line marks the buffer distance of Dsafe=7 cmD_{\rm safe}=7\,\mathrm{cm}, while the vertical dashed line marks the geometric packing limit Nmax⁡=137N_{\max}=137.

The flock remains relatively well-aligned at low swarm sizes, with heading disagreements as the domain starts getting crowded with robots and obstacles due to frequent steering for collision avoidance (Figure 6c). This is an expected outcome, showing that the alignment and cohesion costs work as intended. The band structure resembles the phototactic orbital, despite the difference in shape of the orbit. This is evident from the NND (Figure 6f), which follows a similar trend as in the phototactic orbital mode.

Collision Behavior Across Density and Tasks

The collision load of the deployed LA Slack Dt-CBF depends on both swarm size and task. We measure both here, across three obstacle environments.

Collisions versus swarm size

We sweep Nb∈{10,25,50,75,100,125,137}N_b\in\{10,25,50,75,100,125,137\} across three environments, namely obstacle-free, few-obstacle (22), and cluttered (1212, positions randomized per seed). We count distinct robot-robot contacts over the 90009000-step run (Figure 7). Contacts stay negligible in small swarms. Free space averages 1.01.0 contact at Nb=25N_b=25, with the nearest neighbor 8.8 cm8.8\,\mathrm{cm} away on average, well above DsafeD_{\rm safe}. Contacts then climb steeply, from 4.2×1024.2\times10^{2} at Nb=50N_b=50 to 8.6×1048.6\times10^{4} at the packing limit, where the mean nearest-neighbor separation has fallen to 5.3 cm5.3\,\mathrm{cm}. The growth is strongly linear. Contacts rise by a factor of 8787 between Nb=50N_b=50 and Nb=100N_b=100 while the robot count only doubles. Near the packing limit the full DsafeD_{\rm safe} margin cannot be held for every pair, so the slacked CBF admits transient contacts while the solver stays feasible (§ 3.3).

Obstacles dominate in small swarms and hardly matter in large ones (Figure 7). At Nb=25N_b=25 the cluttered arena produces three orders of magnitude more contacts than free space. By Nb=100N_b=100 that gap has closed to a factor of 1.61.6, and by Nb=125N_b=125 to 1.31.3. The crossover falls between Nb=50N_b=50 and Nb=75N_b=75. The environment therefore dominates in small swarms, while in large swarms collisions come from the packing density.

Figure 7

Figure 7. Distinct contacts versus swarm size for the deployed LA Slack Dt-CBF. (a) Phototaxis, (b) phototactic orbiting, and (c) cohesion without a stimulus. Each panel compares the obstacle-free arena, the few-obstacle arena (22), and the cluttered arena (1212, positions randomized per seed). The vertical axis is log-scaled. The dashed vertical line marks the packing limit Nmax⁡=137N_{\max}=137. The band around each curve is the 95%95\% confidence interval over 10 seeds.

Effectiveness of avoidance is set by task geometry

Considering an identical controller, the number of contacts spans two orders of magnitude across the three behaviors, a factor of 103103 between the best and the worst at Nb=100N_b=100 (Figure 7). Phototaxis concentrates the swarm at the peak intensity of the light source and has the highest number of contacts at 3.7×1043.7\times10^{4}. The orbital mode spreads robots along an intensity level set and has far fewer contacts at 3.5×1023.5\times10^{2}. Cohesion without a stimulus falls in between at 2.7×1032.7\times10^{3}. However, this order of effectiveness is not preserved across different swarm sizes. The stimulus-free mode is the worst in small swarm, with 2525 contacts at Nb=10N_b=10, whereas the other modes record none. The cause is how robots meet, not how crowded they are. At Nb=10N_b=10 the stimulus-free swarm is the most spread out of the three, with a mean nearest-neighbor distance of 16.1 cm16.1\,\mathrm{cm} against 9.9 cm9.9\,\mathrm{cm} for phototaxis. The difference is in their headings. A shared gradient gives phototaxis and orbiting a common direction, so two robots that come close are already traveling the same way. Without a stimulus each robot follows its own random heading, and only the local coupling keeps neighbors together. In large swarms the same absence of a shared target protects it, since the robots never concentrate. At every larger swarm size orbiting stays safest and phototaxis worst, except in the cluttered arena where the stimulus-free mode moves ahead of orbiting at Nb=50N_b=50 and Nb=75N_b=75. Obstacles raise contacts in every mode, but the orbital mode pays the largest penalty, 14.5×14.5\times at Nb=100N_b=100 against 1.6×1.6\times for phototaxis. Obstacles sit directly on the orbit and force detours. The safety formulation decides how large a swarm can grow before contacts appear. The task decides how many contacts it has at any given size.

Computational Performance and Scalability

The experiments run one task per core on shared compute nodes, so other jobs on the same node could slow down the solve time. We repeated the measurement on an idle node reserved for this run alone. Averaged over the density sweep, each formulation’s mean agrees with its shared-node value to within 0.07 ms0.07\,\mathrm{ms}, so sharing a node does not distort the per-robot times reported in § 3.3, and the idle run also gives the full distribution. Each solve covers the full per-robot control step, including both consensus iterations.

The mean and the 9999th percentile stay well inside both the 100 ms100\,\mathrm{ms} (10 Hz10\,\mathrm{Hz}) and 33.3 ms33.3\,\mathrm{ms} (30 Hz30\,\mathrm{Hz}) budgets at every density. Across the six formulations p99p_{99} peaks at 13.1 ms13.1\,\mathrm{ms}, and at the operating densities Nb≥100N_b\ge100 it stays at or below 3.9 ms3.9\,\mathrm{ms}. Worst-case single solves are larger and matter for a hard real-time guarantee. The maximum observed on the idle node is 98.8 ms98.8\,\mathrm{ms}, so the 10 Hz10\,\mathrm{Hz} budget is met at every density while the 30 Hz30\,\mathrm{Hz} budget is not. These maxima are lone draws from the tail. They grow with NbN_b only because a larger swarm performs more solves per run, from 30003000 at Nb=10N_b=10 to 4110041100 at Nb=137N_b=137, while the mean and p99p_{99} do not grow. A 30 Hz30\,\mathrm{Hz} deployment would therefore cap the solver iterations and fall back to the reactive controller on the rare overrun.

The per-step wall time necessarily grows with NbN_b, since a single process advances all robots in sequence. It is at least NbN_b times the per-robot cost, so ≳37\gtrsim 37, 9393, 184184 and 374 ms374\,\mathrm{ms} at Nb=10,25,50,100N_b=10,25,50,100. This is a simulation artifact. Each robot runs its own optimization onboard or in parallel when deployed, so the governing cost is the per-robot time. That cost is flat in NbN_b (§ 3.3), so computation does not limit the swarm size. The current single-process simulation bottleneck can be removed through parallel execution and is left as future implementation work.

Conclusion

We presented a distributed predictive flocking controller for dense miniature ellipsoid robot swarms in a confined arena. Each robot solves a local NMPC combining task tracking, Reynolds-style flocking, and inter-robot and obstacle safety constraints, using only exchanged predicted trajectories of active neighbors, without a leader, central planner, or global map. The results demonstrate that the same controller architecture generalizes across different modal objectives such as gradient-ascending phototaxis, stable phototactic orbital formation, and even flocking in the absence of any stimulus. The emergent collective behavior arises purely from local optimization of cohesion and alignment costs, coupled with safety constraints that maintain separation. This separability between the task and the coordination points towards a modeling paradigm where new tasks can plausibly be added without necessarily re-deriving the safety features or coordination structure. Each robot optimizes against a fixed neighbor set, so solve time is O(1)\mathcal{O}(1) in swarm size, measured at 3.7 ms3.7\,\mathrm{ms} on average and flat across the density sweep, making the scaling limit architectural (a serial solve with a single workstation caps closed-loop control at roughly 2727 robots) rather than algorithmic.

Comparing six safety formulations under identical conditions showed that performance is determined by structure rather than barrier order; pairing a slacked barrier anchor with a rate condition reduces contact counts by a factor of 2.42.4 relative to formulations without an anchor, with no overlap across the density sweep. Considering the phototaxis mode as the deployment target, the LA Slack Dt-CBF is found to be most effective in preventing collisions, while also providing the highest inter-robot margins for most swarm sizes tested. The look-ahead handle drives this improvement, giving the turn rate direct authority over the constraint so a robot can steer around a neighbor rather than only brake. Removing this handle alone raises contacts by up to a factor of 2.52.5 at low density, and by 1.21.2 at the geometric packing limit. Moreover, a higher-order rate chain improves performance further at moderate density but loses its advantage at the packing limit, showing that a higher barrier order does not automatically guarantee better safety.

The collective motion is analyzed through local polar order and NND analysis, which, apart from quantifying controller performance, also point toward a biomimetic reading of these results. The muted order decay and more efficient packing found for the orbital mode, versus the sharper degradation under phototaxis, mirror a structural distinction well documented in natural swarms: neighbors on a shared circulating path align through a shear-like velocity field, while neighbors converging on a common point align through a convergent one, with the latter being inherently more collision-prone and alignment-averse as group size grows. That our controller reproduces these qualitative results from local optimization alone, without it being an explicit design target, suggests the polar order and NND metrics already computed here could serve as a bridge to the natural flocking literature. Furthermore, the wall-following behavior observed in the absence of external stimuli concurs well with studies of natural fish schools and insect swarms in confined spaces, a systematic evaluation and comparison of which can open a path to tuning the flocking and safety weights toward biologically observed regimes rather than controller-internal ones.

The current work has two limitations. The vibration and friction induced locomotion of the real bristlebot is modeled only kinematically rather than physically, so variations involving surface, payload, and actuation asymmetry enter the controller only as unmodeled disturbance. The safety comparison is also internal by design: six formulations within one stack, which isolates the safety constraint but does not benchmark against external distributed-flocking baselines, most of which target fully actuated 3D quadrotors or underactuated 2D robots rather than vibration-driven platforms. Further extensions can be carried out in terms of optimization and learning; the slack weight, rate-condition horizon, and look-ahead distance form a compact design space suited to automated tuning against the contact-rate and feasibility metrics already collected here, while a learned residual dynamics model could absorb the friction disturbance currently left unmodeled, narrowing the gap between the kinematic model and the true vibration-driven actuation. Immediate next steps include physical validation on the GRASPion hardware, extension to dynamic obstacle avoidance, and robust or stochastic MPC formulations for stronger safety guarantees. Overall, these results establish a single, kinematic model-agnostic NMPC architecture that unifies task-driven behavior, emergent flocking, and safety against collisions, while the polar-order and NND signatures it reproduces open a concrete path toward grounding swarm-robotics control in the structure of natural collective motion.

Declaration of competing interest

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.

Data availability

No external data was used. The code and simulation environment that reproduce all results are available at https://github.com/prajolshrestha/bristlebot-swarm-mpc. The full set of simulation videos, including the full-length renders from which the supplementary videos are derived, is archived at https://doi.org/10.5281/zenodo.22642863.

Collective behaviors with static obstacles

Figure 8 and Figure 9 repeat the four panels of Figure 5 in cluttered arenas, with two and with twelve static obstacles. Each mode keeps the same qualitative behavior while the controller routes the swarm around the obstacles.

Figure 8

Figure 8. Collective behaviors with two static obstacles (LA Slack Dt-CBF formulation, Nb=50N_b=50), one behavior per row. (a) Phototaxis, (b) phototaxis with the Reynolds coupling removed, (c) phototactic orbiting, and (d) cohesion without a stimulus. Columns are snapshots at t=0t=0, 225225, 450450, 675675 and 900 s900\,\mathrm{s}. The red disks are the static obstacles and the orange field is the light source. Supplementary video 2 shows these four behaviors in the two-obstacle arena.

Figure 9

Figure 9. Collective behaviors with twelve static obstacles (LA Slack Dt-CBF formulation, Nb=50N_b=50), one behavior per row. (a) Phototaxis, (b) phototaxis with the Reynolds coupling removed, (c) phototactic orbiting, and (d) cohesion without a stimulus. Columns are snapshots at t=0t=0, 225225, 450450, 675675 and 900 s900\,\mathrm{s}. The red disks are the static obstacles and the orange field is the light source. Supplementary video 3 shows these four behaviors in the cluttered arena.

Supplementary data

Table 3 lists the complete set of controller, safety, environment, and simulation parameters used to produce every result, so the setup of § 3 is reproducible from the paper alone.

ParameterValue
Model and actuation bounds
Arena A\mathcal{A}0.8 m×0.8 m0.8\,\mathrm{m}\times0.8\,\mathrm{m} (0.64 m20.64\,\mathrm{m^2})
Position bounds px,pyp_x,p_y[−0.4, 0.4] m[-0.4,\,0.4]\,\mathrm{m}
Linear speed vv[0.01, 0.15] m/s[0.01,\,0.15]\,\mathrm{m/s}
Angular rate ω\omega[−3.463, 1.432] rad/s[-3.463,\,1.432]\,\mathrm{rad/s}
Robot semi-axes a, ba,\,b3 cm, 1.5 cm3\,\mathrm{cm},\ 1.5\,\mathrm{cm}
Position, heading qpos,qθq_{\rm pos},q_{\theta}60, 8060,\ 80
Speed, turn rate qv,qωq_v,q_{\omega}1.5, 1.51.5,\ 1.5
Control effort rur_u0.010.01
Cohesion, alignment qcoh,qaliq_{\rm coh},q_{\rm ali}2.0, 5.02.0,\ 5.0
Slack quadratic Zrob ⁣= ⁣ZobsZ^{\rm rob}\!=\!Z^{\rm obs}10810^{8}
Slack linear zrob ⁣= ⁣zobsz^{\rm rob}\!=\!z^{\rm obs}10510^{5}
Safe distance Dsafe ⁣= ⁣Dsafe,obsD_{\rm safe}\!=\!D_{\rm safe,obs}7 cm7\,\mathrm{cm}
Decay α\alpha (inter-robot)0.90.9
Decay αobs\alpha_{\rm obs} (obstacle)0.90.9
Look-ahead handle LL2.1 cm2.1\,\mathrm{cm}
Dt-HOCBF gains γ1,γ2\gamma_1,\gamma_20.5, 0.50.5,\ 0.5
Dt-HOCBF obstacle gains γ1,obs,γ2,obs\gamma_{1,\rm obs},\gamma_{2,\rm obs}0.5, 0.50.5,\ 0.5
Communication radius RcommR_{\rm comm}0.15 m0.15\,\mathrm{m}
Max neighbors, obstacle slots K,MK,M5, 55,\ 5
Consensus iterations nconsn_{\rm cons}22
Obstacle sensing range dobsd_{\rm obs}0.30 m0.30\,\mathrm{m}
Obstacle radius rmr_m3 cm3\,\mathrm{cm}
Obstacle counts (free/few/cluttered)0 / 2 / 120\,/\,2\,/\,12
Light spread σL\sigma_{\rm L}, orbit radius rr0.10 m0.10\,\mathrm{m}, 0.25 m0.25\,\mathrm{m}
Source speed vsv_s0.15 m/s0.15\,\mathrm{m/s}
Behavior look-ahead dlad_{\rm la}, ref. speed vrefv^{\rm ref}7 cm7\,\mathrm{cm}, 0.10 m/s0.10\,\mathrm{m/s}
Horizon NN, control step Δt\Delta t2020, 0.1 s0.1\,\mathrm{s}
Episode length90009000 steps (900 s900\,\mathrm{s})
Random seeds1010
IntegratorERK-4, 3 steps/interval
QP solveracados SQP-RTI, HPIPM, Gauss-Newton

Table 3. Complete controller, safety, environment, and simulation parameters used for all experiments. Robot-scale lengths are in cm, the arena and sensing ranges in m, and speeds in m/s; cost and slack weights are dimensionless. Values are those of the deployed LA Slack Dt-CBF; the cost weights, horizon, arena and platform limits are shared by every formulation, while α\alpha, LL, γ1,γ2\gamma_1,\gamma_2 and the slack weights are re-tuned per formulation (§ 3.1). The angular-rate bounds are asymmetric, reflecting the vibration-driven platform’s differing left- and right-turn authority.

References

  1. [1]Reynolds, C. W. (1987). Flocks, herds and schools: A distributed behavioral model. Proceedings of the 14th Annual Conference on Computer Graphics and Interactive Techniques, 25–34. https://doi.org/10.1145/37401.37406
  2. [2]Reynolds, C. W. (1999). Steering behaviors for autonomous characters. Proceedings of the Game Developers Conference 1999, 763–782.
  3. [3]Vicsek, T., & Zafeiris, A. (2012). Collective motion. Physics Reports, 517(3-4), 71–140.
  4. [4]Olfati-Saber, R. (2006). Flocking for multi-agent dynamic systems: algorithms and theory. IEEE Transactions on Automatic Control, 51(3), 401–420. https://doi.org/10.1109/TAC.2005.864190
  5. [5]Tanner, H. G., Jadbabaie, A., & Pappas, G. J. (2003). Stable flocking of mobile agents, part I: fixed topology. 42nd IEEE International Conference on Decision and Control (IEEE Cat. No.03CH37475), 2, 2010–2015Vol.2. https://doi.org/10.1109/CDC.2003.1272910
  6. [6]Jadbabaie, A., Lin, J., & Morse, A. S. (2003). Coordination of groups of mobile autonomous agents using nearest neighbor rules. IEEE Transactions on Automatic Control, 48(6), 988–1001. https://doi.org/10.1109/TAC.2003.812781
  7. [7]Vicsek, T., Czirók, A., Ben-Jacob, E., Cohen, I., & Shochet, O. (1995). Novel Type of Phase Transition in a System of Self-Driven Particles. Phys. Rev. Lett., 75, 1226–1229. https://doi.org/10.1103/PhysRevLett.75.1226
  8. [8]Couzin, I. D., Krause, J., James, R., Ruxton, G. D., & Franks, N. R. (2002). Collective Memory and Spatial Sorting in Animal Groups. Journal of Theoretical Biology, 218(1), 1–11. https://doi.org/10.1006/jtbi.2002.3065
  9. [9]Camazine, S., Deneubourg, J., Franks, N., Sneyd, J., Theraulaz, G., & Bonabeau, E. (2001). Self-Organization in Biological Systems. Princeton University Press.
  10. [10]Ballerini, M., Cabibbo, N., Candelier, R., Cavagna, A., Cisbani, E., Giardina, I., Lecomte, V., Orlandi, A., Parisi, G., Procaccini, A., Viale, M., & Zdravkovic, V. (2008). Interaction ruling animal collective behavior depends on topological rather than metric distance: Evidence from a field study. Proceedings of the National Academy of Sciences, 105(4), 1232–1237. https://doi.org/10.1073/pnas.0711437105
  11. [11]Strandburg-Peshkin, A., Twomey, C. R., Bode, N. W. F., Kao, A. B., Katz, Y., Ioannou, C. C., Rosenthal, S. B., Torney, C. J., Wu, H. S., Levin, S. A., & Couzin, I. D. (2013). Visual sensory networks and effective information transfer in animal groups. Current Biology, 23(17), R709–R711. https://doi.org/10.1016/j.cub.2013.07.059
  12. [12]Chen, Z., & Chu, T. (2013). Multi-agent system model with mixed coupling topologies for pattern formation and formation splitting. Mathematical and Computer Modelling of Dynamical Systems, 19(4), 388–400. https://doi.org/10.1080/13873954.2012.750614
  13. [13]Vásárhelyi, G., Virágh, C., Somorjai, G., Nepusz, T., Eiben, A. E., & Vicsek, T. (2018). Optimized flocking of autonomous drones in confined environments. Science Robotics, 3(20), eaat3536. https://doi.org/10.1126/scirobotics.aat3536
  14. [14]Yang, G.-Z., Bellingham, J., Dupont, P. E., Fischer, P., Floridi, L., Full, R., Jacobstein, N., Kumar, V., McNutt, M., Merrifield, R., Nelson, B. J., Scassellati, B., Taddeo, M., Taylor, R., Veloso, M., Wang, Z. L., & Wood, R. (2018). The grand challenges of Science Robotics. Science Robotics, 3(14), eaar7650. https://doi.org/10.1126/scirobotics.aar7650
  15. [15]Neuman, S. M., Plancher, B., Duisterhof, B. P., Krishnan, S., Banbury, C., Mazumder, M., Prakash, S., Jabbour, J., Faust, A., de Croon, G. C. H. E., & Reddi, V. J. (2022). Tiny Robot Learning: Challenges and Directions for Machine Learning in Resource-Constrained Robots. 2022 IEEE 4th International Conference on Artificial Intelligence Circuits and Systems (AICAS), 296–299. https://doi.org/10.1109/AICAS54282.2022.9870000
  16. [16]Novkoski, F., Mélard, M., Delens, M., Wéry, F., Noirhomme, M., Pande, J., Maier, A., Smith, A.-S., & Vandewalle, N. (2026). GRASPion: An open-source, programmable brainbot for active matter research. Review of Scientific Instruments, 97(1), 014704. https://doi.org/10.1063/5.0303152
  17. [17]Mammadli, I., Shrestha, P., Pande, J., Novkoski, F., Mohapatra, S., Noirhomme, M., Maier, A., Vandewalle, N., & Smith, A.-S. (2026). Physics-informed digital twin and onboard control of a brainbot for intelligent active matter. Physical Review Research, 8, 033164. https://doi.org/10.1103/rd1t-h2v6
  18. [18]Rawlings, J. B., Mayne, D. Q., & Diehl, M. M. (2017). Model Predictive Control: Theory, Computation, and Design. Nob Hill Publishing.
  19. [19]Van Parys, R., & Pipeleers, G. (2017). Distributed MPC for multi-vehicle systems moving in formation. Robotics and Autonomous Systems, 97, 144–152. https://doi.org/10.1016/j.robot.2017.08.009
  20. [20]Luis, C. E., Vukosavljev, M., & Schoellig, A. P. (2020). Online Trajectory Generation With Distributed Model Predictive Control for Multi-Robot Motion Planning. IEEE Robotics and Automation Letters, 5(2), 604–611. https://doi.org/10.1109/LRA.2020.2964159
  21. [21]Testa, A., Camisa, A., & Notarstefano, G. (2021). ChoiRbot: A ROS 2 Toolbox for Cooperative Robotics. IEEE Robotics and Automation Letters, 6(2), 2714–2720. https://doi.org/10.1109/LRA.2021.3061366
  22. [22]Pichierri, L., Testa, A., & Notarstefano, G. (2023). CrazyChoir: Flying Swarms of Crazyflie Quadrotors in ROS 2. IEEE Robotics and Automation Letters, 8(8), 4713–4720. https://doi.org/10.1109/LRA.2023.3286814
  23. [23]Zhou, X., Wen, X., Wang, Z., Gao, Y., Li, H., Wang, Q., Yang, T., Lu, H., Cao, Y., Xu, C., & Gao, F. (2022). Swarm of micro flying robots in the wild. Science Robotics, 7(66), eabm5954. https://doi.org/10.1126/scirobotics.abm5954
  24. [24]Kondo, K., Tewari, C. T., Tagliabue, A., Tordesillas, J., Lusk, P. C., Peterson, M. B., & How, J. P. (2025). PRIMER: Perception-Aware Robust Learning-Based Multiagent Trajectory Planner. 2025 IEEE International Conference on Robotics and Automation (ICRA), 14154–14160. https://doi.org/10.1109/ICRA55743.2025.11128011
  25. [25]Toumieh, C., & Floreano, D. (2024). High-Speed Motion Planning for Aerial Swarms in Unknown and Cluttered Environments. IEEE Transactions on Robotics, 40, 3642–3656. https://doi.org/10.1109/TRO.2024.3429193
  26. [26]Toumieh, C., & Lambert, A. (2022). Decentralized Multi-Agent Planning Using Model Predictive Control and Time-Aware Safe Corridors. IEEE Robotics and Automation Letters, 7(4), 11110–11117. https://doi.org/10.1109/LRA.2022.3196777
  27. [27]Şenbaşlar, B., & Sukhatme, G. S. (2025). DREAM: Decentralized Real-Time Asynchronous Probabilistic Trajectory Planning for Collision-Free Multirobot Navigation in Cluttered Environments. IEEE Transactions on Robotics, 41, 573–592. https://doi.org/10.1109/TRO.2024.3509015
  28. [28]Soria, E., Schiano, F., & Floreano, D. (2021). Predictive control of aerial swarms in cluttered environments. Nature Machine Intelligence, 3(6), 545–554. https://doi.org/10.1038/s42256-021-00341-y
  29. [29]Soria, E., Schiano, F., & Floreano, D. (2022). Distributed Predictive Drone Swarms in Cluttered Environments. IEEE Robotics and Automation Letters, 7(1), 73–80. https://doi.org/10.1109/LRA.2021.3118091
  30. [30]Nag, A., Huang, S., Themelis, A., & Yamamoto, K. (2022). Flock navigation with dynamic hierarchy and subjective weights using nonlinear MPC. 2022 IEEE Conference on Control Technology and Applications (CCTA), 1135–1140. https://doi.org/10.1109/CCTA49430.2022.9966067
  31. [31]Nag, A., & Yamamoto, K. (2024). Distributed control for flock navigation using nonlinear model predictive control. Advanced Robotics, 38(9-10), 619–631. https://doi.org/10.1080/01691864.2023.2299859
  32. [32]Gerdpratoom, N., & Yamamoto, K. (2025). Decentralized nonlinear model predictive control-based flock navigation with real-time obstacle avoidance in unknown obstructed environments. Frontiers in Robotics and AI, 12. https://doi.org/10.3389/frobt.2025.1540808
  33. [33]Kong, F., Chen, H., Li, H., Yan, J., Wang, X., & Fang, J. (2023). Flocking with Obstacle Avoidance for Fixed-Wing Unmanned Aerial Vehicles via Nonlinear Model Predictive Control. 2023 42nd Chinese Control Conference (CCC), 5957–5962. https://doi.org/10.23919/CCC58697.2023.10240689
  34. [34]Ames, A. D., Xu, X., Grizzle, J. W., & Tabuada, P. (2017). Control Barrier Function Based Quadratic Programs for Safety Critical Systems. IEEE Transactions on Automatic Control, 62(8), 3861–3876. https://doi.org/10.1109/TAC.2016.2638961
  35. [35]Agrawal, A., & Sreenath, K. (2017). Discrete control barrier functions for safety-critical control of discrete systems with application to bipedal robot navigation. Robotics: Science and Systems XIII. https://doi.org/10.15607/RSS.2017.XIII.073
  36. [36]Salimi Lafmejani, A., & Berman, S. (2021). Nonlinear MPC for collision-free and deadlock-free navigation of multiple nonholonomic mobile robots. Robotics and Autonomous Systems, 141, 103774. https://doi.org/10.1016/j.robot.2021.103774
  37. [37]Lindqvist, B., Mansouri, S. S., Agha-mohammadi, A.-. akbar ., & Nikolakopoulos, G. (2020). Nonlinear MPC for Collision Avoidance and Control of UAVs With Dynamic Obstacles. IEEE Robotics and Automation Letters, 5(4), 6001–6008. https://doi.org/10.1109/LRA.2020.3010730
  38. [38]Zeng, J., Zhang, B., & Sreenath, K. (2021). Safety-Critical Model Predictive Control with Discrete-Time Control Barrier Function. 2021 American Control Conference (ACC), 3882–3889. https://doi.org/10.23919/ACC50511.2021.9483029
  39. [39]Zeng, J., Li, Z., & Sreenath, K. (2021). Enhancing Feasibility and Safety of Nonlinear Model Predictive Control with Discrete-Time Control Barrier Functions. 2021 60th IEEE Conference on Decision and Control (CDC), 6137–6144. https://doi.org/10.1109/CDC45484.2021.9683174
  40. [40]Zeng, J., Zhang, B., Li, Z., & Sreenath, K. (2021). Safety-Critical Control using Optimal-decay Control Barrier Function with Guaranteed Point-wise Feasibility. 2021 American Control Conference (ACC), 3856–3863. https://doi.org/10.23919/ACC50511.2021.9482626
  41. [41]Minh, N. N., McIlvanna, S., Sun, Y., Jin, Y., & Van, M. (2024). Enhancing Mobile Robot Navigation Safety and Efficiency through NMPC with Relaxed CBF in Dynamic Environments. 2024 IEEE 20th International Conference on Automation Science and Engineering (CASE), 2308–2313. https://doi.org/10.1109/CASE59546.2024.10711662
  42. [42]Lu, Z., Feng, K., & Xu, J. (2024). Robot Safe Planning in Dynamic Environments Based on MPC Using Control Barrier Function. 2024 China Automation Congress (CAC), 3358–3363. https://doi.org/10.1109/CAC63892.2024.10864636
  43. [43]Wabersich, K. P., & Zeilinger, M. N. (2023). Predictive Control Barrier Functions: Enhanced Safety Mechanisms for Learning-Based Control. IEEE Transactions on Automatic Control, 68(5), 2638–2651. https://doi.org/10.1109/TAC.2022.3175628
  44. [44]Katriniok, A., Shakhesi, E., & Heemels, W. P. M. H. (2023). Discrete-Time Control Barrier Functions for Guaranteed Recursive Feasibility in Nonlinear MPC: An Application to Lane Merging. 2023 62nd IEEE Conference on Decision and Control (CDC), 3776–3783. https://doi.org/10.1109/CDC49753.2023.10384157
  45. [45]Xiao, W., & Belta, C. (2019). Control Barrier Functions for Systems with High Relative Degree. 2019 IEEE 58th Conference on Decision and Control (CDC), 474–479. https://doi.org/10.1109/CDC40024.2019.9029455
  46. [46]Nguyen, Q., & Sreenath, K. (2016). Exponential Control Barrier Functions for enforcing high relative-degree safety-critical constraints. 2016 American Control Conference (ACC), 322–328. https://doi.org/10.1109/ACC.2016.7524935
  47. [47]Huang, J., Liu, Z., Zeng, J., Chi, X., & Su, H. (2023). Obstacle Avoidance for Unicycle-Modelled Mobile Robots with Time-Varying Control Barrier Functions. IECON 2023- 49th Annual Conference of the IEEE Industrial Electronics Society, 1–6. https://doi.org/10.1109/IECON51785.2023.10312269
  48. [48]van den Berg, J., Guy, S. J., Lin, M., & Manocha, D. (2011). Reciprocal n-Body Collision Avoidance. In Robotics Research: The 14th International Symposium ISRR (Vol. 70, pp. 3–19). Springer. https://doi.org/10.1007/978-3-642-19457-3_1
  49. [49]Zhou, D., Wang, Z., Bandyopadhyay, S., & Schwager, M. (2017). Fast, On-line Collision Avoidance for Dynamic Vehicles Using Buffered Voronoi Cells. IEEE Robotics and Automation Letters, 2(2), 1047–1054. https://doi.org/10.1109/LRA.2017.2656241
  50. [50]Wang, L., Ames, A. D., & Egerstedt, M. (2017). Safety Barrier Certificates for Collisions-Free Multirobot Systems. IEEE Transactions on Robotics, 33(3), 661–674. https://doi.org/10.1109/TRO.2017.2659727
  51. [51]Mali, P., Harikumar, K., Singh, A. K., Krishna, K. M., & Sujit, P. B. (2021). Incorporating Prediction in Control Barrier Function Based Distributive Multi-Robot Collision Avoidance. 2021 European Control Conference (ECC), 2394–2399. https://doi.org/10.23919/ECC54610.2021.9655081
  52. [52]Wang, C., Zhang, S., & Wang, L. (2025). Distributed Safety-Critical MPC for Multi-Agent Formation Control and Obstacle Avoidance. 2025 IEEE 64th Conference on Decision and Control (CDC), 3288–3295. https://doi.org/10.1109/CDC57313.2025.11312786
  53. [53]Chandra, R., Zinage, V., Bakolas, E., Stone, P., & Biswas, J. (2025). Deadlock-free, safe, and decentralized multi-robot navigation in social mini-games via discrete-time control barrier functions. Autonomous Robots, 49(2), 12. https://doi.org/10.1007/s10514-025-10194-8
  54. [54]Goarin, M., Li, G., Saviolo, A., & Loianno, G. (2025). Decentralized Nonlinear Model Predictive Control for Safe Collision Avoidance in Quadrotor Teams with Limited Detection Range. 2025 IEEE International Conference on Robotics and Automation (ICRA), 5387–5393. https://doi.org/10.1109/ICRA55743.2025.11128389
  55. [55]Verschueren, R., Frison, G., Kouzoupis, D., Frey, J., Duijkeren, N. van ., Zanelli, A., Novoselnik, B., Albin, T., Quirynen, R., & Diehl, M. (2021). acados -- a modular open-source framework for fast embedded optimal control. Mathematical Programming Computation. https://doi.org/10.1007/s12532-021-00208-8
  56. [56]Frison, G., & Diehl, M. (2020). HPIPM: a high-performance quadratic programming framework for model predictive control. IFAC-PapersOnLine, 53(2), 6563–6569. https://doi.org/10.1016/j.ifacol.2020.12.073
  57. [57]Andersson, J. A. E., Gillis, J., Horn, G., Rawlings, J. B., & Diehl, M. (2019). CasADi -- A software framework for nonlinear optimization and optimal control. Mathematical Programming Computation, 11(1), 1–36. https://doi.org/10.1007/s12532-018-0139-4
  58. [58]Akiba, T., Sano, S., Yanase, T., Ohta, T., & Koyama, M. (2019). Optuna: A Next-Generation Hyperparameter Optimization Framework. The 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, 2623–2631. https://doi.org/10.1145/3292500.3330701
  59. [59]Bertsekas, D. P., & Tsitsiklis, J. N. (2015). Parallel and Distributed Computation: Numerical Methods. Athena Scientific.
  60. [60]Bentley, J. L. (1975). Multidimensional binary search trees used for associative searching. Communications of the ACM, 18(9), 509–517. https://doi.org/10.1145/361002.361007
  61. [61]Friedman, J. H., Bentley, J. L., & Finkel, R. A. (1977). An algorithm for finding best matches in logarithmic expected time. ACM Transactions on Mathematical Software, 3(3), 209–226. https://doi.org/10.1145/355744.355745
  62. [62]Beppu, K., Izri, Z., Sato, T., Yamanishi, Y., Sumino, Y., & Maeda, Y. T. (2021). Edge current and pairing order transition in chiral bacterial vortices. Proceedings of the National Academy of Sciences, 118(39), e2107461118. https://doi.org/10.1073/pnas.2107461118
  63. [63]Berlinger, F., Gauci, M., & Nagpal, R. (2021). Implicit coordination for 3D underwater collective behaviors in a fish-inspired robot swarm. Science Robotics, 6(50), eabd8668. https://doi.org/10.1126/scirobotics.abd8668
  64. [64]Partridge, B. L., & Pitcher, T. J. (1980). The sensory basis of fish schools: relative roles of lateral line and vision. Journal of Comparative Physiology, 135(4), 315–325. https://doi.org/10.1007/BF00657647

Paper details

vlnc:W_vkpz2wz2
v1 · latestHistory (1)

published · Fresh — added to the Hub within the last 30 days

added ·

Usage

views · 0

downloads · 0

A view counts once per browser per day, a download each time the PDF is requested.

CC BY 4.0

Original source

  • Computer Science

Not recorded for this paper · View statement →

Looking for related papers…
Contents