Programming Methodology for BiologicallyInspired SelfAssembling Systems Radhika Nagpal
Programming Methodology for Biologically-Inspired Self-Assembling Systems Radhika Nagpal, Attila Kondacs, Catherine E. Chang Amorphous Computing Group MIT Artificial Intelligence Lab
Emerging Technologies ● MEMs (Microelectromechanical devices) ● Programmable materials ● Self-reconfigurable robots ● Smart matter, dust ● Biofilms
Engineering Challenge ● Engineer robust, complex and prespecified behavior from – Vast numbers of identically-programmed agents – Irregular, time-varying interconnects – Only local interactions and local information – Limited resources; limited global information – Limited reliability
Approach ● Developmental biology – Complex structures from cells with identical DNA ● Formalize general principles as programming languages -- with explicit primitives, means of combination, and means of abstraction
● Two Examples: – Shape formation on a reconfigurable sheet - Shape formation using directed growth
1. Shape Formation on a Reconfigurable Sheet Global Shape Description using a language based on geometry axioms from paperfolding (origami) COMPILED Programmable Surface Agent Program (all agents have identical program) using biologically-inspired primitives for local interactions
2. Shape Formation using Directed Growth Program for an agent, so that "grows" the appropriate shape
A Global Shape Representation - Shape represented as network of overlapping circles - Overlapping circles are linked with reference points relative to each circle. - A circle can use reference points to triangulate its neighboring sphere centers
Illustration N W E S
Illustration N W E S
Illustration N W S
Illustration N W S
Illustration N W S
Illustration N W S
Illustration
Two Primitive Operations 1. Grow a Circle 2. Choose Reference Points and Centers
● Low-level Agent Primitives – Create gradients – Exchange messages with immediate neighbors – Reproduce, placing the child agent randomly within a fixed, small radius – Die (removal from substrate) Combine these primitives to form high-level operations ●
Cell Program ● ● Each cell executes the same program Function that maps a cell's internal state and received messages to actions the must be performed in the next time-step In-messages Program Internal state Sequence of high-level actions Low-level cell actions
Self- Assembling 2 D Shape
Properties - Regeneration - Scale-independence
Summary ● Both use same approach to designing collective behavior: – Constructive global description of the desired goal – Compile this to produce the local interactions – Composition of small set of biologically-inspired primitives for local interactions – Regeneration, scalability
- Slides: 23