Table of Contents
Fetching ...

Huddle: Parallel Shape Assembly using Decentralized, Minimalistic Robots

Khai Yi Chin, Tingwei Meng, Zhe Chen, Daniel Bassett, Yuri Ivanov

Abstract

We propose a novel algorithm for forming arbitrarily shaped assemblies using decentralized robots. By relying on local interactions, the algorithm ensures there are no unreachable states or gaps in the assembly, which are global properties. The in-assembly robots attract passing-by robots into expanding the assembly via a simple implementation of signaling and alignment. Our approach is minimalistic, requiring only communication between attached, immediate neighbors. It is motion-agnostic and requires no pose localization, enabling asynchronous and order-independent assembly. We prove the algorithm's correctness and demonstrate its effectiveness in forming a 107-robot assembly.

Huddle: Parallel Shape Assembly using Decentralized, Minimalistic Robots

Abstract

We propose a novel algorithm for forming arbitrarily shaped assemblies using decentralized robots. By relying on local interactions, the algorithm ensures there are no unreachable states or gaps in the assembly, which are global properties. The in-assembly robots attract passing-by robots into expanding the assembly via a simple implementation of signaling and alignment. Our approach is minimalistic, requiring only communication between attached, immediate neighbors. It is motion-agnostic and requires no pose localization, enabling asynchronous and order-independent assembly. We prove the algorithm's correctness and demonstrate its effectiveness in forming a 107-robot assembly.
Paper Structure (19 sections, 6 theorems, 1 equation, 6 figures, 6 algorithms)

This paper contains 19 sections, 6 theorems, 1 equation, 6 figures, 6 algorithms.

Key Result

Lemma 1

Algorithms alg:determine_role_using_self and alg:determine_role_using_adjacent_col ensure that any contiguous column segment $Q_{k+a}$ is connected to only one nucleus robot from an adjacent column $k$ (i.e., each node in the spanning tree has a unique parent).

Figures (6)

  • Figure 1: (a) Axial coordinate system for the 2-D hexagonal space $\mathcal{H}$ that Huddle uses, where $p$ and $q$ are the column and row coordinates, respectively. (b) An unreachable position shown by the dashed hexagon. (c) Layout of wall indices and their corresponding directional unit vectors $\hat{u}_w$.
  • Figure 2: Example of a 5-robot assembly. Dashed hexagons are target positions in $S$. (a) A root robot $(0,0)$ in its Signal Activation phase, signaling (green) on its F wall to attract passing-by robots. (b) A passing-by robot detects and follows the signal to attach to the root robot. Upon connection, the root robot communicates its position $(0,0)$ and the unit vector of the admitting wall $\hat{u}_0$ to the newly attached robot. As a right nucleus---determined prior to its entering the Signal Activation phase---the root robot now signals on its FR wall. (c) The newly attached robot enters the Initialization phase, computing its coordinate $(0,1)$ and identifying its wall statuses. (d) The $(0,1)$ robot determines its role as a left nucleus and its growth direction as $g_i = -1$, as it shares a row with the (rounded down) midpoint $(-1,1)$ of the left column (Algorithms \ref{['alg:determine_role']}--\ref{['alg:determine_growth_direction']}). (e) The $(0,1)$ robot enters the Signal Activation phase, signaling its left flank (Algorithms \ref{['alg:identify_nominal_walls']} and \ref{['alg:delay_signal_activation']}). The robots remain in that phase until their connection walls are occupied.
  • Figure 3: (a) Notable situations during robot $i$'s determination of its role, where it lies on a different row from the midpoint $m = (-1, 3)$ of $Q^{(2)}_{-1}$. Dashed hexagons are target positions for $S$, with color overlays indicating membership to target segments. (i) Located on the midpoint's row, a robot occupying $(0,3)$---in the future---will be the nucleus (Algorithm \ref{['alg:determine_role_using_adjacent_col']}, lines \ref{['alg:determine_role_using_adjacent_col_case_1_if']}--\ref{['alg:determine_role_using_adjacent_col_case_1_endif']}). (ii) Without a target $(0,3)$ position, the new attachment point is $m^\star = (-1,2)$, thus $(0,2)$ is the nucleus position (Algorithm \ref{['alg:determine_role_using_adjacent_col']}, lines \ref{['alg:determine_role_using_adjacent_col_case_2b_else']}--\ref{['alg:determine_role_using_adjacent_col_case_2b_endelse']}). (iii) With its FL wall between two null walls, robot $i$ is solely responsible for nucleating to the left (Algorithm \ref{['alg:determine_role_using_self']}). (b) Suppose $g_i = g_j = -1$ and robot $i$ does not delay its signal (red) while robot $j$'s front wall is free. An unreachable position will occur if robot $i$'s front wall is occupied before robot $j$'s.
  • Figure 4: $256$-robot assembly example from the Monte Carlo experiments (one robot attachment per step). Dashed hexagons represent $X_b$, which are eventually populated by robots marked with red circles; hexagons marked with blue circles are interior robots. Note that our approach does not distinguish between perimeter and interior robots.
  • Figure 5: (a) Robot diffusion motion state diagram. (b) Completion time of a 107-robot assembly forming "$\mathcal{H}$", where 2/30 trials timed out (1 robot remaining).
  • ...and 1 more figures

Theorems & Definitions (11)

  • Definition 1: Reachability
  • Definition 2: Hole-Free Assembly
  • Remark 1
  • Lemma 1: Unique nucleation
  • Corollary 1
  • Lemma 2: Controlled longitudinal expansion
  • Corollary 2
  • Theorem 1: Reachability
  • proof
  • Theorem 2: Hole-free
  • ...and 1 more