Parallel Self-Assembly of Polyominoes under Uniform Control Inputs
https://www.youtube.com/watch?v=JdJFclijlLE
This code generates 'polyomino factories' using parallel self-assembly that actuate large swarms of particles using a uniform global, external force with the same effect on each particle. This occurs in a 2D grid world, in which all obstacles and particles are unit squares, and for each actuation, robots move maximally until they collide with an obstacle or another robot.
We present algorithms that, given an arbitrary 2D polyomino (arrangements of unit squares that are connected at edges), design an obstacle layout. When actuated, this layout generates copies of the input 2D structure.
The main file is BuildFactory.m
BUILDFACTORY given a polyomino part, constructs a tile factory that
contains part hoppers for each part, and a factory floor layout so that a
repeated sequence of r,u,l,d constructs a new partXY each iteration until
supplies run out.
[IsPossible,factoryLayoutArray]=BuildFactory(partXY,numCopies)
partXY: 2D array of the coordinates (rows and columns) of the tiles
numCopies: Number of copies of the partXY to be produced.
Returned variables:
IsPossible: true if part can be constructed, false else
factoryLayoutArray: If 'IsPossible' 2D array of obstacles and part hoppers filled with colored tiles.
The factory produces partXY
Authors: Sheryl Manzoor <smanzoor2@uh.edu> and Aaron T. Becker, atbecker@uh.edu
Zitieren als
Aaron T. Becker's Robot Swarm Lab (2024). Parallel Self-Assembly of Polyominoes under Uniform Control Inputs (https://www.mathworks.com/matlabcentral/fileexchange/61989-parallel-self-assembly-of-polyominoes-under-uniform-control-inputs), MATLAB Central File Exchange. Abgerufen .
Kompatibilität der MATLAB-Version
Plattform-Kompatibilität
Windows macOS LinuxKategorien
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Live Editor erkunden
Erstellen Sie Skripte mit Code, Ausgabe und formatiertem Text in einem einzigen ausführbaren Dokument.
ParallelAssembly/
Version | Veröffentlicht | Versionshinweise | |
---|---|---|---|
1.1.0.0 | Updated code now sorts the PartXY array before finding a build path for it.
|
||
1.0.0.0 |