Вы находитесь на странице: 1из 28

Seminar

Project
Report
Topic:
Claytronics

Made By:
Amit Mahajan
Roll # 74544
B.Tech(ECE), 7th Semester
GNDU, Amritsar
Welcome to the Claytronics Project
Collaborative Research in Programmable Matter Design
This project combines modular robotics, systems nanotechnology and computer science to create the dynamic, 3-
Dimensional display of electronic information known as claytronics.
Our goal is to give tangible, interactive forms to information so that a user's senses will experience digital
environments as though they are indistinguishable from reality.
Claytronics is taking place across a rapidly advancing frontier. This technology will help to drive breathtaking
advances in the design and engineering of computing and hardware systems.
Our research team focuses on two main projects:
♦ Creating the basic modular building block of claytronics known as the claytronic atom or catom, and
♦ Designing and writing robust and reliable software programs that will manage the shaping of ensembles of
millions of catoms into dynamic, 3-Dimensional forms.
Realizing the vision of claytronics through the self-assembly of millions of catoms into synthetic reality will have
a profound effect on the experience of users of electronic information. This promise of claytronic technology has
become possible because of the ever increasing speeds of computer processing predicted in Moore's Law (the
number of transistors that can be placed inexpensively on an integrated circuit has increased exponentially,
doubling approximately every two years).
This website will introduce you to the ideas that are driving claytronics, the research team that is working to make
it happen, and the hardware and software projects that enable the building of claytronic ensembles.

Development of this powerful form of information display represents a partnership between the School of
Computer Sciences of Carnegie Mellon University and Intel Corporation at its Pittsburgh Laboratory. As an
integral part of our philosophy, the Claytronics Project seeks the contributions of scholars and researchers
worldwide who are dedicating their efforts to the diverse scientific and engineering studies related to this rich
field of nanotechnology and computer science.

Claytronics Hardware
Through hardware engineering projects, researchers in the Carnegie Mellon-Intel Claytronics Project investigate
the effects of scale on micro-electro-mechanical systems and model concepts for manufacturable, nanoscale
modular robots capable of self-assembly.
Catoms created from this research to populate claytronic ensembles will be less than a millimeter in size, and the
challenge in designing and manufacturing them draws the CMU-Intel Research team into a scale of engineering
where have never been built. The team of research scientists, engineers, technicians and students who design
these devices are testing concepts that cross the frontiers of computer science, modular robotics and systems
nanotechnology.

The team of research scientists, engineers, technicians and graduate and undergraduate students assembled at
Carnegie Mellon and in the Pittsburgh Intel Lab to design these devices is testing the performance of concepts
beyond boundaries commonly believed to prevent the engineering of such a small scale, self-actuating module
that combines in huge numbers to create cooperative patterns of work.
At the current stage of design, claytronics hardware operates from macroscale designs with devices that are much
larger than the tiny modular robots that set the goals of this engineering research. Such devices are designed to
test concepts for sub-millimeter scale modules and to elucidate crucial effects of the physical and electrical forces
that affect nanoscale robots.
• Planar catoms test the concept of motion without moving parts and the design of force effectors that create
cooperative motion within ensembles of modular robots.
• Electrostatic latches model a new system of binding and releasing the connection between modular robots,
a connection that creates motion and transfers power and data while employing a small factor of a
powerful force.
• Stochastic Catoms integrate random motion with global objectives communicated in simple computer
language to form predetermined patterns, using a natural force to actuate a simple device, one that
cooperates with other small helium catoms to fulfill a set of unique instructions.
• Giant Helium Catoms provide a larger-than-life, lighter-than-air platform to explore the relation of forces
when electrostatics has a greater effect than gravity on a robotic device, an effect simulated with a
modular robot designed for self-construction of macro-scale structures.
• Cubes employ electrostatic latches to demonstrate the functionality of a device that could be used in a
system of lattice-style self-assembly at both the macro and nano-scale.
Each section devoted to an individual hardware project provides an overview of the basic functionality of the
device and its relationship to the study of claytronics. In addition, each project page is paired with a page of
design notes that offer more detail on the steps in building the device.
As these creative systems have evolved in the Carnegie Mellon-Intel Claytronics Hardware Lab, they have
prepared the path for development of a millimeter scale module that will represent the creation of a self-actuating
catom - a device that can compute, move, and communicate - at the nano-scale.
With the millimeter scale modular robot, the Claytronics Hardware Lab will demonstrate the feasibility of
manufacturing catoms in the quantities needed to produce dynamic 3-dimensional representations of original
objects.

Millimeter Scale Catoms


Realizing high-resolution applications that Claytronics offers requires catoms that are in the order of millimeters.
In this work, we propose millimeter-scale catoms that are electrostatically actuated and self contained. As a
simplified approach we are trying to build cylindrical catoms instead of spheres.

The millimeter scale catom consists of a tube and a High voltage CMOS die attached inside the tube. The tubes
are fabricated as double-layer planar structures in 2D using standard photolithography. The difference in thermal
stress created in the layers during the fabrication processes causes the 2D structures to bend into a 3D tubes upon
release from the substrate. The tubes have electrodes for power transfer and actuation on the perimeter.

The high voltage CMOS die is fabricated separately and is manually wire bonded to the tube before release. The
chip includes an AC-DC converter, a storage capacitor, a simple logic unit, and output buffers.
The catom moves on a power grid (the stator) that contains rails which carry high voltage AC signals. Through
capacitive coupling, an AC signal is generated on the coupling electrodes of the tube, which is then converted to
DC power by the chip. The powered chip then generates voltage on the actuation electrodes sequentially, creating
electric fields that push the tube forward.
Cubes
A lattice-style modular robot, the 22-cubic-centimeter Cube, which has been developed in the Carnegie Mellon-
Intel Claytronics Research Program, provides a base of actuation for the electrostatic latch that has also been
engineered as part of this program. The Cube (pictured below, right) also models the primary building block in a
hypothetical system for robotic self-assembly that could be used for modular construction and employ Cubes that
are larger or smaller in scale than the pictured device.

The design of a cube, which resembles a box with starbursts flowering from six sides, emphasizes several
performance criteria: accurate and fast engagement, simplistic release and firm, strong adhesion while Cube
latches clasps one module to another. Its geometry enables reliable coupling of modules, a strong binding
electrostatic force and close spacing of modules within an ensemble to create structural stability.
Designed to project angular motion from the faces of its box-like shape, the Cube extends and contracts six
electrostatic latching devices on stem assemblies. By this mechanism, the latches of a Cube integrate with latches
on adjacent Cubes for construction of larger shapes.
With extension and retraction of stem-drive arms that carry the latches, the module achieves motion, exchanges
power and communicates with other Cubes in a matrix that contains many of these devices. Combining these
forces of motion, attachment and data coupling, Cubes demonstrate a potential to create intricate forms from
meta-modules or ensembles that consist of much greater numbers of Cubes; numbers determined by the scale of
Cubes employed in an ensemble of self-construction.
To create motion for a Cube in a matrix of many cubes, a direct-current motor inside the Cube's central frame
actuates expansion and contraction of electrostatic latches fixed to the ends of independent worm-drive
assemblies. Housed in individual tubes, the assemblies provide arms to support the motion of latches from six
sides of the central frame. Linear motion enables the Cube to exploit considerable lateral flexibility for forming
shapes within a matrix. The Cube measures 22 cm between faces when fully contracted and 44 cm when fully
expanded.
The worm-drive assembly extends the face of one cube to create contact with the face of an adjacent cube. The
electrodes on each face create one-half of a capacitor. When the two "genderless," star-shaped faces of adjacent
Cubes integrate their combs, they complete a capacitor and form an electrostatic couple from the contact of
electrodes, which binds the faces as a completed latch.

The capacitive couple, which forms the electrostatic latch, provides within an ensemble of Cubes not only
adhesion and structural stability but also the transmission of power and communication. In a meta-module of
many cubes, power would move in discrete packets rather than as a continuous current, in a mode similar to data
moving through a network in discrete packets of bytes that reassemble into larger packages of information at the
point of delivery. This packet delivery of energy would enable the meta-module or ensemble to move power
from cubes that have a surplus to others that require more of it.
Four sub-circuits within the capacitive couplings of these electrostatic latches make possible this system of power
transfer. With these circuits, the simultaneous transfer of data would follow an even simpler scheme.

Cubes reconfigure by expanding the connected faces of two neighboring modules so that one is pushed one block
length across the assembly. Then by contracting its extended arm, it pulls the next module forward. Such motion
within a meta-module consisting of sufficiently large numbers of cubes could form any conceivable shape.
This micro-electro-mechanical device thus presents a model for a type of robotic self-assembly of complex
structures at both macro and micro scales.

Powering Catoms with Magnetic Resonant Coupling

As a potential means for providing power to catoms without using electrical connections, we have experimentally demonstrated wireless
power transfer via magnetic resonant coupling is in a system with a large source coil and either one or two small receivers. Resonance
between source and load coils is achieved with lumped capacitors terminating the coils.
We have developed a circuit model to describe the system with a single receiver, and extended it to describe the system with two
receivers. With parameter values chosen to obtain good fits, the circuit models yield transfer frequency responses that are in good
agreement with experimental measurements over a range of frequencies that span the resonance. Resonant frequency splitting is
observed experimentally and described theoretically for the multiple receiver system.
In the single receiver system at resonance, more than 50% of the power that is supplied by the actual source is delivered to the load. In a
multiple receiver system, a means for tracking frequency shifts and continuously retuning the lumped capacitances that terminate each
receiver coil so as to maximize efficiency is a key issue for future work.

Planar Catoms
Creating Motion without Moving Parts
The self-actuating, cylinder-shaped planar catom tests concepts of motion, power distribution, data transfer and
communication that will be eventually incorporated into ensembles of nano-scale robots. It provides a testbed for
the architecture of micro-electro-mechanical systems for self-actuation in modular robotic devices. Employing
magnetic force to generate motion, its operations as a research instrument build a bridge to a scale of engineering
that will make it possible to manufacture self-actuating nano-system devices.

The planar catom is approximately 45 times larger in diameter than the millimeter scale catom for which its work
is a bigger-than-life prototype. It operates on a two-dimensional plane in small groups of two to seven modules in
order to allow researchers to understand how micro-electro-mechanical devices can move and communicate at a
scale that humans cannot yet readily perceive -- or imagine. It forms a bridge into this realm across the evolving
design of a sophisticated electro-magnetic system whose features have followed a path of trail and error as the
CMU-Intel Claytronics Research Team has tested the concept of a robot that moves without moving parts.

In its brief history of demonstrating motion without moving parts, the planar catom has evolved through eight
versions. It began life as a concept vehicle engineered with catalog-sourced hardware. It has become a custom-
designed electronic and magnetic system that carries a complete control package aboard its module.
Weighing 100 grams, Planar Catom V8, shown in the picture here, presents for view its stack of control and
magnet-sensor rings. Its solid state electronic controls ride at the top of the stack. An individual control ring is
dedicated to each of the two rings of magnet sensors, which ride at the base of the module. Two thin threaded
rods extend like lateral girders from top to bottom through the outside edge to brace the rings. A central
connector stack carries circuits between control and magnet rings, enabling easier handling and maintenance of
components while also providing internal alignment and stability along the cylinder's axis.
At the base of the planar catom, the two heavier electro-magnet rings, which comprise the motor for the device,
also add stability. To create motion, the magnet rings exchange the attraction and repulsion of electromagnetic
force with magnet rings on adjacent catoms. From this conversion of electrical to kinetic energy, the module
achieves a turning motion to model the spherical rotation of millimeter-scale catoms.
Motion from Two Magnet Rings
Pictured in a top view (left, below), two magnet rings from Planar Catom V7 display the arrangement of their 12
magnets around individual driver boards and the coil design for horseshoe magnets introduced with Version 6 and
then upgraded in versions 7 and 8.

The magnets are arranged in the containment ring as the straightedge faces of a 12-sided polygon seated in the
acrylic plate that holds them in place. The horseshoe magnets feature 39AWG magnet wire wrapped around AISI
1010 steel cores, components selected to balance machinable metal and flux-saturation density.
Replacing barrel-shaped, round-face magnets in Planar Catom Versions 1-5, the horseshoe magnet was adopted to
boost magnet strength and create a wider footprint. It also represents an evolution of the use of flat-surface
magnets, which were introduced in Planar Catom Version 5. Flat surfaces prove to be more efficient for contact
than round-face magnets. In a fully assembled catom, as seen in the earlier picture of the V8 (above, right), a
second magnet ring would ride below each of these rings. The faces of the lower rings would be offset to the 12
gaps that appear between the magnets in this top view.
This view also highlights the geometry of plane surface magnets as force effectors. A catom sustains a clockwise
or counterclockwise motion by a continuous transfer of electro-magnetic force to achieve the opposite motion in
the other catom.
When compared to a stepper motor, another brushless, synchronous motor that relies upon a large number of steps
to sustain motion, the planar catom faces unique issues from alignment and friction, which this image suggests.
Imagine a third catom rotating in the space above the side-by-side rotation of these adjacent magnet rings. Its
magnets would contact magnets toward the top of the two magnet rings shown here because of the physical
impossibility of its touching magnet faces nearer the point where these two exchange a contact.
This configuration highlights the temporarily "orphan" character of magnets situated on either side of the contact
points at any given moment in the rotation of adjacent catoms. To better manage the flow of power in this
circumstance where a contacting magnet blocks the potential of its neighbors, the controller operates each magnet
ring as 3 independent groups of four magnets. Thus it is possible to direct power to one magnet in a group of four
as the rotation advances in an ensemble.
This electrical design increases the accuracy of the alignment between catoms. It improves torque control and
heat management. It also eliminates 18 unnecessary signal paths from an earlier architecture that allocated an
independent signal path to each magnet. This design to refine functionality represents a 30 percent reduction of
circuit complexity. It also illustrates the Ensemble Axiom's influence as an overarching design criterion. In this
instance, it drives an economy of function to reduce complexity in the device. Because there was no benefit for
the ensemble in the capacity of four neighboring magnets to actuate simultaneously, the arrays of four magnets
have been electronically consolidated to focus actuation on the most magnet in the group that comes closest to a
neighboring catom. This modification in design enhances the functionality for the ensemble while streamlining
an element of the module's complex alignment.
Electronic Density for Device Control
That economy in the design of the controls also makes more room for the rest of the robust package of electronics
that operate the module.

The picture to the right displays a planar catom controller ring with light emitting diodes (LEDs) arranged around
its perimeter. This board directs the two magnet driver boards embedded in the magnet rings, as shown in the
image above.
The custom design of the electronics achieves a very high level of capacity to guide the module's performance.
Built with the smallest components commercially available, each controller board contains 5 layers of embedded
microcircuits on 45 mm diameter acrylic boards. At this density of circuit design, each of the two controller rings
provides approximately 40 times the embedded instrumentation of a standard robotics controller package in 2/5th
the space. The resulting capacity of its boards enables the module to carry on board all devices needed to manage
its firmware, drivers and 24 magnets.
A more typical robotics servo controller would carry a microprocessor, motors, servos and other devices on one
side of a 50 mm x 75 mm board embedded with two layers of microcircuits. While building planar catoms to
investigate a customized actuation system that creates motion without moving parts, the design team also
achieved the complementary objective of constructing a robust, self-contained modular robot.
In pursuing a goal that is broader than the testing of an individual system for a modular robot, the research team
has gained experience with micro-electro-mechanical system (MEMS) interfaces that use "genderless" connectors
while testing algorithms for the transfer of data and power across unary circuits whose points of connection occur
in a transitory state because of the rotation of the modules across which the circuits are formed. This is the
essence of the challenge of constructing nanoscale devices whose motion will enable the shaping of 3-
dimensional representations of objects from ensembles of thousands of catoms.
Another component of this robust electronic system is shown in the picture below of a Planar Catom Infrared
Communication Board.
On this device, the Infrared Data (IrDA) transmitters and receivers are separately multiplexed to transmit and
receive signals on separate channels, allowing fast, simultaneous transmission on all channels. These global
communication features anticipate the necessity of debugging and reprogramming large ensembles of catoms.
The engineering goal for these components is a system that supports cooperative behavior among nanoscale
robotic modules. This concept of machine behavior is one in which the primary devices direct their own motion
toward a common goal by employing functionality that focuses every element of design on the requirements of
the ensemble rather than on those of the individual robot. The engineering design thus adheres to the ensemble
axiom by incorporating in these devices only those functions that advance the functionality of the ensemble.
In the present stage of development, this model of cooperative movement -- motion without moving parts -- can
be seen in this video of two planar catoms exchanging electromagnetic force in order to develop a circular
motion.
The flexibility of its electro-magnetic system also enables the planar catoms to emulate the shapes of hexagonal
and cubic lattices, as well as various irregular polygonal configurations, which are relevant to the modelling of
nano-scale catom ensembles. These shapes conform to lattice configurations that optimize the communication
among individual spherical catoms in an ensemble. For example, within a fully-populated, three-dimensional
hexagonally arranged ensemble, an individual catom would have direct contact with as many as 12 other catoms.
The hexagonal configuration of a group of planar catoms is highlighted in this concept video, which demonstrates
the principle of motion without moving parts. In the video, with an exchange of electromagnetic force one catom
rotates against an ensemble of six other catoms, whose conductive nodes appear as small colored beads around
the perimeter of each barrel-shaped module.
The feasibility of "motion without moving parts" is further explained in this article for the American Association
of Artificial Intelligence.
To gain a close-up view of a planar catom's electrical components and more detailed illustration of the evolution
of the design and electro-magnetics of the planar catom, visit this page of design notes.

Planar Catoms
Creating Motion without Moving Parts
The self-actuating, cylinder-shaped planar catom tests concepts of motion, power distribution, data transfer and
communication that will be eventually incorporated into ensembles of nano-scale robots. It provides a testbed for
the architecture of micro-electro-mechanical systems for self-actuation in modular robotic devices. Employing
magnetic force to generate motion, its operations as a research instrument build a bridge to a scale of engineering
that will make it possible to manufacture self-actuating nano-system devices.
The planar catom is approximately 45 times larger in diameter than the millimeter scale catom for which its work
is a bigger-than-life prototype. It operates on a two-dimensional plane in small groups of two to seven modules in
order to allow researchers to understand how micro-electro-mechanical devices can move and communicate at a
scale that humans cannot yet readily perceive -- or imagine. It forms a bridge into this realm across the evolving
design of a sophisticated electro-magnetic system whose features have followed a path of trail and error as the
CMU-Intel Claytronics Research Team has tested the concept of a robot that moves without moving parts.

In its brief history of demonstrating motion without moving parts, the planar catom has evolved through eight
versions. It began life as a concept vehicle engineered with catalog-sourced hardware. It has become a custom-
designed electronic and magnetic system that carries a complete control package aboard its module.
Weighing 100 grams, Planar Catom V8, shown in the picture here, presents for view its stack of control and
magnet-sensor rings. Its solid state electronic controls ride at the top of the stack. An individual control ring is
dedicated to each of the two rings of magnet sensors, which ride at the base of the module. Two thin threaded
rods extend like lateral girders from top to bottom through the outside edge to brace the rings. A central
connector stack carries circuits between control and magnet rings, enabling easier handling and maintenance of
components while also providing internal alignment and stability along the cylinder's axis.
At the base of the planar catom, the two heavier electro-magnet rings, which comprise the motor for the device,
also add stability. To create motion, the magnet rings exchange the attraction and repulsion of electromagnetic
force with magnet rings on adjacent catoms. From this conversion of electrical to kinetic energy, the module
achieves a turning motion to model the spherical rotation of millimeter-scale catoms.
Motion from Two Magnet Rings
Pictured in a top view (left, below), two magnet rings from Planar Catom V7 display the arrangement of their 12
magnets around individual driver boards and the coil design for horseshoe magnets introduced with Version 6 and
then upgraded in versions 7 and 8.
The magnets are arranged in the containment ring as the straightedge faces of a 12-sided polygon seated in the
acrylic plate that holds them in place. The horseshoe magnets feature 39AWG magnet wire wrapped around AISI
1010 steel cores, components selected to balance machinable metal and flux-saturation density.
Replacing barrel-shaped, round-face magnets in Planar Catom Versions 1-5, the horseshoe magnet was adopted to
boost magnet strength and create a wider footprint. It also represents an evolution of the use of flat-surface
magnets, which were introduced in Planar Catom Version 5. Flat surfaces prove to be more efficient for contact
than round-face magnets. In a fully assembled catom, as seen in the earlier picture of the V8 (above, right), a
second magnet ring would ride below each of these rings. The faces of the lower rings would be offset to the 12
gaps that appear between the magnets in this top view.
This view also highlights the geometry of plane surface magnets as force effectors. A catom sustains a clockwise
or counterclockwise motion by a continuous transfer of electro-magnetic force to achieve the opposite motion in
the other catom.
When compared to a stepper motor, another brushless, synchronous motor that relies upon a large number of steps
to sustain motion, the planar catom faces unique issues from alignment and friction, which this image suggests.
Imagine a third catom rotating in the space above the side-by-side rotation of these adjacent magnet rings. Its
magnets would contact magnets toward the top of the two magnet rings shown here because of the physical
impossibility of its touching magnet faces nearer the point where these two exchange a contact.
This configuration highlights the temporarily "orphan" character of magnets situated on either side of the contact
points at any given moment in the rotation of adjacent catoms. To better manage the flow of power in this
circumstance where a contacting magnet blocks the potential of its neighbors, the controller operates each magnet
ring as 3 independent groups of four magnets. Thus it is possible to direct power to one magnet in a group of four
as the rotation advances in an ensemble.
This electrical design increases the accuracy of the alignment between catoms. It improves torque control and
heat management. It also eliminates 18 unnecessary signal paths from an earlier architecture that allocated an
independent signal path to each magnet. This design to refine functionality represents a 30 percent reduction of
circuit complexity. It also illustrates the Ensemble Axiom's influence as an overarching design criterion. In this
instance, it drives an economy of function to reduce complexity in the device. Because there was no benefit for
the ensemble in the capacity of four neighboring magnets to actuate simultaneously, the arrays of four magnets
have been electronically consolidated to focus actuation on the most magnet in the group that comes closest to a
neighboring catom. This modification in design enhances the functionality for the ensemble while streamlining
an element of the module's complex alignment.
Electronic Density for Device Control
That economy in the design of the controls also makes more room for the rest of the robust package of electronics
that operate the module.
The picture to the right displays a planar catom controller ring with light emitting diodes (LEDs) arranged around
its perimeter. This board directs the two magnet driver boards embedded in the magnet rings, as shown in the
image above.
The custom design of the electronics achieves a very high level of capacity to guide the module's performance.
Built with the smallest components commercially available, each controller board contains 5 layers of embedded
microcircuits on 45 mm diameter acrylic boards. At this density of circuit design, each of the two controller rings
provides approximately 40 times the embedded instrumentation of a standard robotics controller package in 2/5th
the space. The resulting capacity of its boards enables the module to carry on board all devices needed to manage
its firmware, drivers and 24 magnets.
A more typical robotics servo controller would carry a microprocessor, motors, servos and other devices on one
side of a 50 mm x 75 mm board embedded with two layers of microcircuits. While building planar catoms to
investigate a customized actuation system that creates motion without moving parts, the design team also
achieved the complementary objective of constructing a robust, self-contained modular robot.
In pursuing a goal that is broader than the testing of an individual system for a modular robot, the research team
has gained experience with micro-electro-mechanical system (MEMS) interfaces that use "genderless" connectors
while testing algorithms for the transfer of data and power across unary circuits whose points of connection occur
in a transitory state because of the rotation of the modules across which the circuits are formed. This is the
essence of the challenge of constructing nanoscale devices whose motion will enable the shaping of 3-
dimensional representations of objects from ensembles of thousands of catoms.
Another component of this robust electronic system is shown in the picture below of a Planar Catom Infrared
Communication Board.

On this device, the Infrared Data (IrDA) transmitters and receivers are separately multiplexed to transmit and
receive signals on separate channels, allowing fast, simultaneous transmission on all channels. These global
communication features anticipate the necessity of debugging and reprogramming large ensembles of catoms.
The engineering goal for these components is a system that supports cooperative behavior among nanoscale
robotic modules. This concept of machine behavior is one in which the primary devices direct their own motion
toward a common goal by employing functionality that focuses every element of design on the requirements of
the ensemble rather than on those of the individual robot. The engineering design thus adheres to the ensemble
axiom by incorporating in these devices only those functions that advance the functionality of the ensemble.
In the present stage of development, this model of cooperative movement -- motion without moving parts -- can
be seen in this video of two planar catoms exchanging electromagnetic force in order to develop a circular
motion.
The flexibility of its electro-magnetic system also enables the planar catoms to emulate the shapes of hexagonal
and cubic lattices, as well as various irregular polygonal configurations, which are relevant to the modelling of
nano-scale catom ensembles. These shapes conform to lattice configurations that optimize the communication
among individual spherical catoms in an ensemble. For example, within a fully-populated, three-dimensional
hexagonally arranged ensemble, an individual catom would have direct contact with as many as 12 other catoms.
The hexagonal configuration of a group of planar catoms is highlighted in this concept video, which demonstrates
the principle of motion without moving parts. In the video, with an exchange of electromagnetic force one catom
rotates against an ensemble of six other catoms, whose conductive nodes appear as small colored beads around
the perimeter of each barrel-shaped module.
The feasibility of "motion without moving parts" is further explained in this article for the American Association
of Artificial Intelligence.
To gain a close-up view of a planar catom's electrical components and more detailed illustration of the evolution
of the design and electro-magnetics of the planar catom, visit this page of design notes.

Stochastic Catoms
High School Techologists Discover Claytronics
A concept being tested in the Carnegie Mellon-Intel Claytronics Research Project is the use of stochastic
reconfiguration in ensembles of modular robots. In this mode of reconfiguration, the module relies on random
motion and follows unmapped paths to gain in the ensemble a position where it can determine its exact location
and contribute its form to the overall structure.

Depending upon the scale of the device, actuation of the module's motion can be created with various sources of
energy, including currents of air, electrostatics or, in the case of a study of the phenomenon during Andrew's
Leap, Carnegie Mellon's summer enrichment program, the propelling motion of high school students throwing
helium-filled balloons.
From such forces, a module derives an initially incoherent motion that causes random contacts with other
modules. In these contacts, the module evaluates the appropriateness of forming a connection with the other
module. The module makes its decision by evaluating the relation of its form in the instance of the contact
location to the ensemble's overall goal for a predetermined shape. Based on this evaluation, the module either
forms a bond or continues in motion.
_______________
Above, Krissie Lauwers, an instructor for the Andrew's Leap program, anchors an ensemble of four
Stochastic Helium Catoms that have linked to each other.
_______________
To demonstrate the applicability of stochastic reconfiguration to modular robots, the Andrew's Leap students
constructed an ensemble of Mylar balloons in the shape of cubes, each approximately 1/2 meter on a side. They
also created a lightweight electronic module to support each catom's functionality as well as simple latches for the
faces of each cube to provide a means of data exchange and attachment among catoms. To create bouyancy, each
catom was filled with helium.
Computations within the electronic module follow a simple program, known as a graph grammar, which enables
each stochastic catom independently to determine its location in relation to other catoms in the ensemble - and in
relation to a predetermined shape into which the catoms locate their positions from random motion.
Localizing its position while in contact with other catoms, a catom either engages its electrostatic latch in order to
bind to an adjacent robot or signals for separation and further stochastic motion until it identifies a location where
it will contribute to the desired global shape.
As a type of swarm behavior conceived for nano-scale robots, stochastic motion among catoms would draw upon
mathematical probability whose effective potential to shape forms would increase with greater numbers of
smaller-scale modules.
While the student technologists worked with a few large-scale, low-mass modules, they were able to test
algorithms that implemented valid steps for the sorting of random associations among catoms. They were also
successful in the design of latches that enabled catoms to exchange data, localize positions within an ensemble
and determine the appropriateness of connections with randomly-encountered catoms to the goal-shape desired
for the ensemble.

_______________
At right, Brian Kirby, a member of the claytronics research team, explains the alignment of electrostatic
latches to Jim Male, left, and Nathan Rubright, students in the Andrew's Leap program who built
Stochastic Catoms. Kirby explains how the design and functionality of stochastic catoms provide
claytronics researchers with a platform to test stochastic - or random - motion as a means of actuation in
ensembles of modular robots.
_______________

With the students' specific contribution to the Carnegie Mellon-Intel Claytronics Research Project of a first
generation of stochastic catoms, the Andrew's Leap project also introduced a group of aspiring technologists to
cutting-edge ideas in modular robotics. This achievement is in keeping with the overall goal of the research
collaboration, which seeks not only to create the basic research for engineering claytronics but also to excite the
imaginations of a new generation of technologists and researchers in the frontiers of computer science, electrical
engineering, nanotechnology and robotics.
As participants in Andrew's Leap, the high school students working on the stochastic catom team learned step-by-
step analysis of algorithm design and programmed solutions, rudiments of the integration of electro-mechanical
systems and computation, the engineering of simple electrostatic devices and perhaps the most basic lesson of all,
that complex science and engineering problems can be explored with materials that are as simple to assemble as
balsa wood, aluminum foil, plastic and Mylar. Indeed, with such materials, they helped to inaugurate a new
domain of claytronics research -- the investigation of random motion as a basis for the actuation of catoms in an
ensemble.

Giant Helium Catoms


Big Surfaces to Manipulate Tiny Forces
A Giant Helium Catom (GHC) measures eight cubic meters when its light Mylar skin fills with helium to acquire
a lifting force of approximately 5.6 kilograms. This lift is necessary to elevate a frame of carbon fiber rods and
plastic joints, which contains the balloon and carries electronic sensors and a communication package to actuate
the catom's motion and engage it with other GHCs. The roughly square balloon is constructed with edge
dimensions of approximately 1.9 meters from 4 meter X 1 meter sheets of Mylar. Each balloon uses four sheets
of this material.

The Giant Helium Catom provides researchers a macroscale instrument to investigate physical forces that affect
microscale devices. The GHC was designed to approximate the relationship between a near-zero-mass (or
weightless) particle and the force of electro-magnetic fields spread across the surface of such particles. Such
studies are needed to understand the influence of surface tensions on the engineering of interfaces for nanoscale
devices.
In addition to its role as a test-bed for nanoscale surface tensions, the great helium catom also offers a prototype
design for a low-mass system of robotic self-assembly that can be used at life-scale in solar system travel.
Because of its very low mass, it was conceived also as a macroscale construction system for delivery by space
craft. Such a system would deploy dwellings and workstations on the Moon and the planet Mars in advance of
astronauts who would occupy the pre-constructed stations for long-term exploration and interplanetary travel.
On each face, the GHC cube carries a novel electrostatic latching system that enables the device to move across
the faces of other catoms and to communicate with them. The design for this latch system centers on a thin
aluminum foil flap across each of the 12 edges of the Mylar cube. This is essentially a square that crosses each of
the catom's edges on a diagonal in order to create two triangular flaps lying at a right angle to each other against
the two adjacent surfaces of the catom. With this arrangement, each surface of the catom has four triangular flaps
with peaks pointed toward the center of the face.
Among the six faces, the triangular flaps provide each catom with the means to form an electrostatic latch with
another cube from 24 positions - providing the cubes with a capacity to move at right angles in any direction. In
addition to motion, the latches also equip the GHC with the means to communicate across the ensemble of
catoms. In the drawing below, one Giant Helium Catom pivots across the surface of another, revealing the
positions and attachments of triangular electrostatic flaps.
Two electrodes on each flap create the electrostatic forces that enable latches to form a capacitive couple between
flaps on adjacent GHCs. A dielectric material (Mylar) isolates the pair of electrodes (and electrical charges from
them) on each flap to prevent their direct electrical contact. This design enables voltage differences applied to the
electrodes to accumulate charges, create electrostatic force on the flap and align with electrodes that carry an
opposing charge on the flap of an adjacent GHC.
Each flap moves independently with the assistance of a spring-loaded mechanism and a composite shape-memory
alloy (SMA). GHCs deliver power to each other using capacitive coupling with alternating current (AC). The
AC power generated at the neighboring catom is rectified and regulated, and the resulting DC power is used for
processing and other electronics on the module. A high-voltage generator creates the electrostatic force to activate
the latches.
Although the project planned to construct six giant helium catoms to simulate an ensemble, in its 3-month
duration, this experiment tested this interface on two catoms.
Experience with this design provided the Carnegie Mellon-Intel Claytronics Research Project with substantial
experience in the design characteristics of micro-electro-mechanical latches.

Software Research
Distributed Computing in Claytronics
In a domain of research defined by many of the greatest challenges facing computer scientists and roboticists
today, perhaps none is greater than the creation of algorithms and programming language to organize the actions
of millions of sub-millimeter scale catoms in a claytronics ensemble.

As a consequence, the research scientists and engineers of the Carnegie Mellon-Intel Claytronics Research
Program have formulated a very broad-based and in-depth research program to develop a complete structure of
software resources for the creation and operation of the densely distributed network of robotic nodes in a
claytronic matrix.

A notable characteristic of a claytronic matrix is its huge concentration of computational power within a small
space. For example, an ensemble of catoms with a physical volume of one cubic meter could contain 1 billion
catoms. Computing in parallel, these tiny robots would provide unprecedented computing capacity within a space
not much larger than a standard packing container. This arrangement of computing capacity creates a
challenging new programming environment for authors of software.

A representation of a matrix of approximately 20,000 catoms can be seen in the left frame of the illustration at the
top of this column. Because of its vast number of individual computing nodes, the matrix invites comparison with
the worldwide reservoir of computing resources connected through the Internet, a medium that not only
distributes data around the globe but also enables nodes on the network to share work from remote locations. The
physical concentration of millions of computing nodes in the small space of a claytronic ensemble thus suggests
for it the metaphor of an Internet that sits on a desk.

An Internet in a Box – Only Generally Speaking


Comparison with the Internet, however, does not represent much of the novel complexity of a claytronic
ensemble. For example, a matrix of catoms will not have wires and unique addresses -- which in cyberspace
provide fixed paths on which data travels between computers. Without wires to tether them, the atomized nodes
of a claytronic matrix will operate in a state of constant flux. The consequences of computing in a network
without wires and addresses for individual nodes are significant and largely unfamiliar to the current operations of
network technology.
Languages to program a matrix require a more abbreviated syntax and style of command than the lengthy
instructions that widely used network languages such as C++ and Java employ when translating data for
computers linked to the Internet. Such widely used programming languages work in a network environment
where paths between computing nodes can be clearly flagged for the transmission of instructions while the
computers remain under the control of individual operators and function with a high degree of independence
behind their links to the network.

In contrast to that tightly linked programming environment of multi-functional machines, where C++, Java and
similar languages evolved, a claytronic matrix presents a software developer with a highly organized, single-
purpose, densely concentrated and physically dynamic network of unwired nodes that create connections by
rotating contacts with the closest neighbors. The architecture of this programming realm requires not only
instructions that move packets of data through unstable channels. Matrix software must also actuate the constant
change in the physical locations of the anonymous nodes while they are transferring the data through the network.

For the Nodes, It’s All about Cooperation


In this environment, the processes of each individual catom must be entirely dedicated to the operational goal of
the matrix – which is the formation of dynamic, 3-dimensional shapes. Yet, given the vast number of nodes, the
matrix cannot dedicate its global resources to the micro-management of each catom. Thus, every catom must
achieve a state of self-actuation in cooperation with its immediate neighbors, and that modality of local
cooperation must radiate through the matrix.

Software language for the matrix must convey concise statements of high-level commands in order to be
universally distributed. For this purpose, it must possess an economy of syntax that is uncommon among
software languages. In place of detailed commands for individual nodes, it must state the conditions toward
which the nodes will direct their motion in local groups. In this way, catoms will organize collective actions that
gravitate toward the higher-level goals of the ensemble.
A Seamless Ensemble of Form and Functionality
By providing a design to focus constructive rearrangements of individual nodes, software for the matrix will
motivate local cooperation among groups of catoms. This protocol reflects a seamless union between form and
functionality in the actuation of catoms. It also underscores the opportunity for high levels of creativity in the
design of software for the matrix environment, which manipulates the physical architecture of this robotic
medium while directing information through it.

In a hexagonal stacking arrangement, for example, rows of catoms in one layer rest within the slight concavities
of catom layers above and below them. That placement gives each catom direct communication with as many as
12 other catoms. Such dynamic groupings provide the stage upon which to program catom motion within local
areas of the matrix. Such collective actuation will transform the claytronic matrix into the realistic
representations of original objects.

The Research Program


In the Carnegie Mellon-Intel Claytronics Software Lab, researchers address several areas of software
development, which are described in this section of the website.

Programming Languages
Researchers in the Claytronics project have also created Meld and LDP. These new languages for declarative
programming provide compact linguistic structures for cooperative management of the motion of millions of
modules in a matrix. The center panel above shows a simulation of Meld in which modules in the matrix have
been instructed with a very few lines of highly condensed code to swarm toward a target.
Integrated Debugging
In directing the work of the thousands to millions of individual computing devices in an ensemble, claytronics
research also anticipates the inevitability of performance errors and system dysfunctions. Such an intense
computational environment requires a comparably dynamic and self-directed process for identifying and
debugging errors in the execution of programs. One result is a program known as Distributed Watch Points,
represented in the snapshot in the right panel below.
Shape Sculpting
The team's extensive work on catom motion, collective actuation and hierarchical motion planning addresses the
need for algorithms that convert groups of catoms into primary structures for building dynamic, 3-dimensional
representations. Such structures work in a way that can be compared to the muscles, bones and tissues of organic
systems. In claytronics, this special class of algorithms will enable the matrix to work with templates suitable to
the representations it renders. In this aspect of claytronics development, researchers develop algorithms that will
give structural strength and fluid movement to dynamic forms. Snapshots from the simulation of these studies
can be seen in the right-side panel at the top of this column and in the left-side panel below.

Localization
The team’s software researchers are also creating algorithms that enable catoms to localize their positions among
thousands to millions of other catoms in an ensemble. This relational knowledge of individual catoms to the
whole matrix is fundamental to the organization and management of catom groups and the formation of cohesive
and fluid shapes throughout the matrix. A pictorial context for examining the dynamics of localization is
represented by the snapshot of the elephant simulated in the center panel of images below.

Dynamic Simulation
As a first step in developing software to program a claytronic ensemble, the team created DPR-Simulator, a tool
that permits researchers to model, test and visualize the behavior of catoms. The simulator creates a world in
which catoms take on the characteristics that researchers wish to observe. A Linux-based modeling tool,
DPRSim can be downloaded from the website of the Intel Pittsburgh Lab.

The simulated world of DPRSim manifests characteristics that are crucial to understanding the real-time
performance of claytronic ensembles. Most important, the activities of catoms in the simulator are governed by
laws of the physical universe. Thus simulated catoms reflect the natural effects of gravity, electrical and magnetic
forces and other phenomena that will determine the behavior of these devices in reality. DPRSim also provides a
visual display that allows researchers to observe the behavior of groups of catoms. In this context, DPRSim
allows researchers to model conditions under which they wish to test actions of catoms. At the top and bottom of
this column, images present snapshots from simulations of programs generated through DPRSim. Videos from
simulations can be seen on other pages of this site.

Programming Language for Claytronic Ensembles


The Motion of Each Node Is the Object of the Program
For more than a half-century, computer programming languages have evolved many branches to address the
accelerating growth in the power of computers and changes in machine configuration to manage information
moving through complex networks. One measure then of the scope of innovation posed by claytronics can be
seen in its requirement for a new branch of programming language to enable communication within a distributed
network of millions of modular robots. This makes the development of programming languages to control the
highly innovative form of distributed computing implemented for a claytronics ensemble a key focus of
investigation for the Carnegie Mellon-Intel Claytronics Research Project.

The landscape of systems nanotechnology to which claytronics introduces the programmer presents a largely
unexplored architecture for the use of computing machines. The structure of its vast distributed network features
an enormous capacity for parallel computing. A unique feature of this structure is enormous processing power in
a confined space. The intimate relationship among many tiny yet powerful computing machines accentuates a
compelling novelty in the style of programming for a claytronics ensemble.

While evolution thus far in programming languages has coaxed machines and networks to greater change of
internal status, the purpose of programming in claytronics is to achieve changes in the external status of the
machines themselves. The point of the programming is to translate commands into the motion of each machine in
its relationship to every other machine.

Programming thus evolves in claytronics from the objective of moving information through static and fixed
networks into communication that commands a new dimension in the expressions of computing machines. From
the powerfully confined space of a claytronics ensemble, programming languages begin to explore the largely
untapped structural fluidity of millions of tiny robotic modules, which combine their responses to the
programmer's instructions to express a desired state of communication in 3-dimensional space.

To further this evolution in the language of computer programmers, the Carnegie Mellon-Intel Claytronics
Research Project in this early stage of its work has created the basis for the evolution of two new programming
languages.

Meld
Meld addresses the need to write computer code for an ensemble of robots from a global perspective, enabling the
programmer to concentrate on the overall performance of the matrix while finessing the resource-consuming
alternative of writing individual instructions for every one of the thousands to millions of catoms in the
ensemble. This form of logical programming represents a heuristic solution to the challenge of controlling the
action of such a great number of individual computing nodes.

Meld employs a declarative language that has roots in the logic of P2, a language created for the management of
static, overlay networks that share information from many sources of traffic. Although P2 evolved for networks
with a static topology, Meld extends its programming logic to control motion among robotic modules in
claytronic ensembles.
Concise Instructions to More Machines
From a resource standpoint, as measured in many fewer lines of code, Meld is a language whose programs
produce results comparable to programs that are from 20 to 30 times longer when written in C++. This efficiency
yields a substantial economy of scale in the operational time and reliability of the matrix. It also reduces the time
a programmer needs to write the code.

Meld provides a reliable paradigm for efficiency in the actuation of cooperative motion among millions of nano-
scale robots. It does this by declaring positions that individual robots achieve within clusters by common rules
for direct contact. Meld manages motion as a continuous process of rule-solving. Each robot engages its contacts
until it satisfies all rules it can declare about its physical relationship.

The rules of Meld engage each module in a proving of facts. The facts stipulate a robot’s position in relation to
neighboring modules. In effect, this rule-making provides a map for motion. Applying the rules, a catom
achieves a final position when all rules are satisfied. By their nature, the rules enforce cooperative motions that
build the global design of the 3-dimensional object that the ensemble is programmed to represent.

The logic of proof, which follows from a meldian declaration of positions, results in cooperative motions. This
procedure yields the important result of reducing erroneous moves, such as blocking the motion of neighboring
modules or moving modules into isolated or untenable positions, which threaten the stability and integrity of the
matrix.

Meld enforces rules by requiring existence of a direct connection between neighboring modules before a fact can
be recognized as satisfied. In effect, this means that every fact and every rule relate first to the location of
modules.
This programming of direct relationships among catoms establishes a context in which particular nodes share
facts. The topology of these relationships narrows the field of information and facts. In this framework, the
language actuates the motion of an individual module. At the same time, it enables the declaration of a general
state of network topology. Thus, large numbers of modules can test and satisfy the declaration. The process of
rule testing is continuous and widely distributed. Every individual robot receives necessary facts to determine
whether it has satisfied rules governing its location. At all times, every robot remains in a state of motion or
readiness to move. The evaluation of rules in the ensemble is tireless. Each catom continues to evaluate its
position in relation to a next best move -- even after it has stopped moving.

Another way of characterizing this dynamic aspect of declarative program is to recognize that rules for combining
facts produce new facts that continue to be proven until all rules of proof have been satisfied. Because most if not
all baseline facts state the locations of individual modules in relative positions, the rules drive the proofs until
final positions represent the global shape desired for the ensemble.
Revising History the Meld Way
Motion in the matrix also has a dynamic effect on the quality of historical facts, which are wedded to relative past
positions. Because the process of satisfying rules continues, new positions frequently render previously true facts
to be false, particularly when prior truths declare the locations of neighboring robots. Obviously, the lingering
profile of prior positions that hold no future veracity would be rife with error if used in new declarations, just as
their presence also wastes space in the physical memory of an ongoing process.

Meld dismisses old truths that have become false. The program not only deletes no longer true facts. It also
erases all prior facts derived from them. With this scrubbing routine, Meld’s linguistic process constantly
refreshes the information upon which the matrix shapes its design.

The programming of motion in Meld enables each robot to actuate with a cooperative relationship to the planned
design of the matrix. It motivates individual modules to move in relation to other modules into positions that
support the global result.

As a language for programming modular robots, Meld provides an efficient logic for writing programs and a
linguistic structure suited to the matrix. At the same time, its interpretation of this programming environment
concentrates on the topology of the ensemble and the base facts related to the location of modules through data
from sensors on the devices. An important result is the avoidance of false moves that confuse neighboring
modules or isolate a module after it moves.

In this heuristic, Meld also yields an extensive view of the status of the matrix, a set of base facts that contributes
to insight about the overall operation while opening approaches to debugging. Because states other than motion
will be modeled as the architecture of the matrix develops, the utility of Meld will be evaluated further in relation
to its adaptability as a structure for program logic that can structure changes that extend beyond the current
definitions of base facts, which it has demonstrated a capacity to manage.

Locally Distributed Predicates (LDP)


While Meld approaches the management of the matrix from the perspective of logic programming, LDP employs
distributive pattern matching. As a further development of program languages for the matrix, LDP, which stands
for Locally Distributed Predicates, provides a means of matching distributed patterns. This tool enables the
programmer to address a larger set of variables with Boolean logic that matches paired conditions and enables the
program to search for larger patterns of activity and behavior among groups of modules in the matrix.

While addressing variable conditions related to time, topology and the status of modules, LDP triggers specific
actions in parallel with other expressions governing local groups of modules. A reactive language, LDP grows
from earlier research into the analysis of distributed local conditions, which has been used to trigger debugging
protocols. From this base, LDP adds language that enables the programmer to build operations that can be used
for more general purposes in the development of the shape of the matrix.
LDP shares with Meld the achievement of dramatically shorter code, the automatic distribution of the program
through the matrix and automatic messaging about conditions in the matrix.

As it originates in the research to evaluate conditions throughout the ensemble, its strength is in detection and
description of distributed conditions. From this perspective, it programs locally, focusing upon a bounded
number of modules in contact groups while basing its predicates upon Boolean (if, then) expressions, which
expand the basic set of variables that the programmer can manage throughout the matrix.

Programming Claytronics with Locally Distributed


Predicates (LDP)
Locally Distributed Predicates (LDP) approaches the distributed programming problem using pattern-matching techniques. LDP
provides programmers the ability to specify distributed state configurations, based on combinations of the state found on connected
subgroups of catoms. The LDP runtime automatically detects occurrences of these distributed configurations, and triggers user-specified
actions in response to the detection event.
LDP also allows for the expression of distributed event sequences (through the use of automated history and temporal operators), as well
as the expression of particular shapes (through topological restrictions). These facilities, combined with an array of mathematical and
logical operators, allow programmers to express a wide variety of distributed conditions. As with Meld, LDP produces dramatically
shorter code than traditional high-level languages (C++, Java, etc.).
LDP is descended from work on distributed debugging, and as such its strengths lie in the ability to efficiently detect conditions on
variably-sized groups of modules, interface easily with existing low-level code, and easily express a large numbers of common
distributed programming idioms. LDP has been used to implement several motion planning algorithms, as well as a variety of low-level
utilities such as gradient fields and distributed aggregation.

Programming Claytronics with Meld


Meld is a programming language designed for programming massive ensembles. With DataLog-like syntax, Meld is a logic
programming language. It allows a programmer to specify rules for deriving facts about an ensemble. These rules can be applied by
Meld to a collection of starting facts (called base facts) to run them as a program. Additionally, these rules can be used by with theorem
checkers to prove safety properties of the programs such as maintainance of connectivity.

Integrated Debugging
Finding the Hex among a Million Robotic Modules
In programming modular robots to create dynamic, 3-dimensional representations, the Carnegie Mellon-Intel
Claytronics Research Project also anticipates a less enchanting probability for software programmers whose
coded instructions will shape the actions of metamorphic robots. While harnessing millions of tiny computers
interpreting billions of instructions on parallel threads, claytronics will open the gates to a greater number of bugs
that can add a hex to coded instructions, multiplying opportunities for coded devices to go awry. Moreover, as a
unique environment for co-dependent computation, claytronics also can create operations where new types of
bugs develop.

More Places for Bugs to Hide


This scale of interdependent computing in claytronics creates many more processes where bugs can hide. The
numbers of actuating robots will make claytronic ensembles rife with occasion where program instructions might
produce misalignments among devices or inappropriate actions. Each module will carry its own stream of
instructions, often more than one at a time. These threads will move in parallel with similar programs in every
other module. From module to module, threads will mingle, and these convergences of coding in a mega-threaded
realm will dramatically increase the probability of tangles or other subtle, unforeseen interactions among strings
of instruction. Such is the likelihood of glitches common for the course of software development - expanded to
the scale that claytronics brings to the realm of parallel and distributed computing.
New Varieties of Bugs
In the processes that drive metamorphic robots, devices that create structures and transform shapes, the potential
for unfamiliar types of errors also exist. New processes invite new bugs that scatter a species of confusing
redundancy in the execution of code. So claytronics research has also implemented a program to detect and
correct errors that create a state of conflict spread across multiple catoms that appear by individual status to have
executed a program correctly.
To address the requirements for debugging to match the scale of computing in an ensemble, claytronics
researchers are developing tools and strategies that scale up the bug patrol for massively parallel, widely
distributed computation tied to the actuation of robotic devices. DPRSim, the basic simulation program used to
model the performance of claytronic ensembles, is also a versatile tool for the integrated debugging of large
ensembles of modular robots, one that provides programmers with a rich visual context in which to track bugs.
DPRSimulation empowers strategies for writing program code that incorporates macros to capture complete
histories of change to critical groups of variables. Such macros monitor the performance of key variables, such as
scalar values and object classes, and preserve their runtime histories in a SQL database that a programmer can
rapidly reconstruct when it is necessary to track the path of errors. The visualization of the path of error in the
simulator's replay of events makes the search for programming error much easier. In DPRSim, a programmer can
scan the execution of individual programming threads from both two-dimensional and three-dimensional
perspectives in order to trace errors to root causes.
The multi-dimensioning of searches for program errors is a powerful feature of simulation-enhanced debugging.
However, that enhancement becomes all the more powerful because the programmer can review the complete
histories of code threads associated with each catom in an ensemble.
Complete historical review is a great improvement to the context for debugging typically available to
programmers, who more often must draw reconstructions from snapshots captured at intervals of a program's
performance and then attempt to interpolate missing details. Through the replay of simulation, the history
provides the programmer with not only the record of events tied to key variables but also a visual representation
of events tied to individual catoms. The performances of individual catoms can also be highlighted by color to
mark locations and textual labels to append notes. They can also be isolated visually within a transparent
surrounding that eliminates the clutter of catoms superfluous to an investigation.
With claytronics researchers writing programs for simultaneous processing by 50,000 to 500,000 modules, each
catom executing one or more threads of coded programming, this retooling of the debugging process has become
a necessity - although one that is relevant beyond the applications of claytronics technology. With forensic
simulation, a programmer can much more easily and quickly reconstruct root causes of the coding and
algorithmic errors that compromise smooth operations in a mega-threaded environment. The visualization of
records permits a dramatic scaling upward of error searches and speeds recovery of essential information. The
process reduces the time of investigations while rewarding focused inquiries with increasing levels of relevant
information.

Distributed Watchpoints
A more challenging error can arise when modules in a group properly execute their individual processes yet do
not place the group in an intended global state. In this outcome, the error may be said to be distributed because it
is not clear that any individual module has failed to properly execute its commands. However, the group has
failed to achieve a desired configuration. The result is a condition that cannot be observed in the local state of one
robot, and traditional debugging strategies do not easily detect this variety of error.
Such a condition might exist, for example, when seven modules require one among them to be designated as a
leader of future group motion. Two robots might execute simultaneously on that requirement and create two
leaders, a state that would impair the ability of the group to coordinate its actions with surrounding groups.
Traditional debugging tools would probably not detect this new species of bug. They would be more likely to
follow the path of programming threads as executed by the individual modules. Such an analysis would determine
that hardware performed as it should and that each module properly executed its thread of programming.
Thus, to find bugs whose effects are distributed across the status of several catoms, claytronics researchers have
developed Distributed Watchpoints, an algorithm-level approach to detecting and fixing conditions that need to be
resolved in order for the ensemble to engage properly the related status of multiple catoms in appropriate
sequences. Early examples of this class of error have focused on such issues as leader elections among groups of
catoms, token passing for permissions to move data through the network, and the smoothing of gradient values
spread across catom clusters.
Watch Points establish the nodes that receive surveillance to determine the validity of distributed conditions. This
approach provides a simple and highly descriptive set of rules to evaluate distributed conditions and proves
effective in the detection of errors missed by more conventional debugging techniques. The approach will
continue to be implemented with the development of additional functions and further validation.

Shape Sculpting in Claytronics


Lifting Catoms into the 3RD Dimension
Creating dynamic motion in 3-D poses the ultimate goal of the Carnegie Mellon-Intel Claytronics Research
Project.
A claytronics designer might demonstrate the complexity of this challenge of forming 3-dimensional objects from
millions of robotic catoms, each less than a millimeter in diameter, by presenting an ensemble of these tiny
spherical devices laid side-by-side on a flat surface. This arrangement would present a 2-dimensional square,
approximately a meter on each side. This is the organized position that an ensemble could assume before the
application of any external forces. How then to give it a 3-D shape?

With a flow of power into the ensemble, the sensors of adjacent catoms could induce an electrostatic alignment or
latching effect to increase the hold of one catom to another across this million-member network of distributed
computing devices.
With the fine grain particularity of each individual catom, the charge in the ensemble might enhance colors and
shadings across the pixilated surface of each catom to induce subtle lines and surface perspectives that would
appear with the activation of the individual voxels -- in much the same way that pixels activate images on a video
screen.

In this state, moreover, each catom would possess sufficient microprocessing capacity to implement algorithms
that instruct the device to localize its position in relation to other catoms. This information would enable each
catom to initiate motion and change its alignment with adjacent catoms until the tiny spheres reach other
locations. Thus, the ensemble would reshape as it creates a new contour in a boundary line or opens a void inside
its boundary while still lying flat.
The Ensemble Rises
All of these changes in form depend for visual effect upon the number of catoms actuated across the length and
width of the ensemble. Yet the state of actuation described thus far, even as it demonstrates important advances
in distributed computing, nanotechnology and modular robotics, would also highlight the greater challenge of
attaining a 3-dimensional perspective -- in which catoms would rise from the flat surface to represent not only the
outline but also the volume and motion of a fully-shaped object, animal or person.

To gather height and volume from the array of a million catoms lying alongside each other within a level plane,
the ensemble must not only overcome the resistance of local inertia but also mass sufficient internal force to
oppose gravity -- perhaps the most difficult challenge facing claytronic algorithm designers.

Thus far, in this demonstration of the capacity of self-actuating modular robots, the claytronic architect works
with forces that can be manipulated with the mass of two catoms sharing equal amounts of work. The catoms
generate motion, for example, by employing their round shapes to form a simple lever between them, one that
exchanges a small electrostatic force across matching sensors to create a rotational (or kinetic) force, which is
sufficient to shift the mass of one catom around the pivot point of its spherical shape. Balanced between
individual catoms, this force is sufficient to move any catom on a flat surface to any position within an ensemble.

To rise above the level plane, however, the ensemble must multiply its catom forces (the mass of a single catom
plus the electrostatic energy that each device can carry) to overcome gravitational force, which increases
resistance by the mass of catoms needed to form a specific shape in the 3rd dimension. Thus, to accomplish the
lifting of more than one catom, the ensemble needs the algorithmic equivalent of ropes and pulleys in order to lift
multiple catoms and build a taller structure.
Cranes and Joints for Ensemble Construction
Such multipliers of catom forces can also be thought of as the analogs of cranes at construction sites or muscles
and joints in the bodies of animals. As groupings of catoms directed by algorithms, these concentrated patterns of
catom motion become the mechanisms for building complex and stable 3-dimensional shapes and providing those
shapes with a means to sustain stable motion against the active resistance of gravity.

Creating leverage to move amassed components into a complex structure is a familiar issue in construction
engineering. However, software engineers have much less experience with this challenge than do other
engineering disciplines. So development of algorithms that create leverage to perform physical work at the scale
of claytronic devices represents not only the creation of a tool that is valuable to this new technology. It also
creates an important intellectual product from this research that benefits a larger domain of applied engineering.
Many Dimensions of Claytronics Software
An understanding of the complexity of the software engineering needed to achieve Collective Actuation - a
general term for algorithms to control the motion of micro-electro-mechanical levers inside ensembles - also helps
to illustrate the structure of software research for the Carnegie Mellon-Intel Claytronics Research Program.
At its important initial stages of software development, claytronics research has designed algorithms that instruct
individual catoms to achieve motion without moving parts by leveraging electrostatic forces between individual
catoms and then to use that motion to assemble geometric groups of catoms to work in unison.

As a next stage of design for the control of claytronic ensembles, researchers have conceived algorithms to
instruct catoms to form and transform complex and irregular patterns. These algorithms will give ensembles a
capacity to form an endless variety of shapes.

Claytronics research also develops algorithms that create hierarchies of efficient motion among more complex
shapes. These hierarchies enable an ensemble to replicate patterns at various scales. Thus, complex forms within
an ensemble of millions of catoms can be rendered quickly and uniformly by drawing upon a book of patterns.

Around the development of algorithms, meanwhile, researchers have also created a structure of programming
language with which to instruct the ensemble in the steps of computation used to implement algorithms
throughout the ensemble. Developed to manage a distributed environment of parallel computing that operates
without fixed wires or individually-identified nodes, programming languages provide the streetwise component of
efficient communication in a venue of one million tiny computers that maintain a capacity to connect while often
momentarily detached from their network.

These levels of software development thus build up the platform upon which the ensemble can begin to shape
catoms into the volume and motion of a 3rd dimension - with algorithms that enact the leveraging of catom
forces known as collective actuation.
Collective Actuation provides the tool that enables the actual construction of forms from groups of catoms in
processes that combine the forces of individual catoms to engineer larger structures and fluid motion in shapes
that withstand the opposition of gravity.
Drawing upon this expanding tool box of algorithms and programming languages, a claytronic ensemble begins
to achieve the leverage needed to achieve its primary goal - elevating millions of tiny modular robots under the
force of gravity to form dynamic, 3-dimensional representations of real-life figures and forms.

Localization
Determining module locations from noisy observations

One of the first tasks for a modular robot is to understand where its modules are located relative of one to another. This knowledge is
very useful: For example, motion planning and control will often shift many modules from one location to another, and knowing the
module locations helps robot properly allocate the resources. The knowledge of module locations will also be useful to identify a human
user.
In order to determine their locations, the modules need to rely on noisy observations of their immediate neighbors. These observations
are obtained from sensors onboard the modules, such as short-range IR sensors. Unlike many other systems, a modular robot may not
have access to long distance measurements, such as wireless radio or GPS. Furthermore, the robot's modules will often form irregular,
non-lattice structures. Therefore, the robot needs to employ sophisticated probabilistic techniques to estimate the location of each its
module from noisy data.
Our contribution is an algorithm that lets the modules estimate their locations in a fully distributed manner. The algorithm has a number
of attractive properties: It can handle errors that arise from uncertain observations. As we scale the ensemble to increasingly finer
resolutions, the accuracy of the localization remains roughly constant. Furthermore, the algorithm is sufficiently simple that it permits a
distributed implementation. Therefore, the locations are estimated directly by the modules themselves, without relying on an external,
centralized processing unit.
On the technical side, our algorithm leverages two insights. One key idea is to hierarchically decompose the ensemble into smaller parts.
The parts are localized first, and the partial solutions are then merged to obtain an estimate for the entire ensemble. Importantly, the
ensemble is split in such a way that the partial solutions do not accumulate too much error. Thus, when the partial solutions are merged,
the algorithm only needs to exercise a minimal effort to compute an accurate overall solution.
The second key idea employed in our work is to limit the amount of communication sent between the modules. Much like in a flock of
birds, each module needs to communicate information about itself to others in the ensemble, but should avoid communicating with
everybody. In our case, many operations in the algorithm are implemented by communicating aggregate statistics about progressively
larger parts of the ensemble. In this manner, the communication complexity of our algorithm scales logarithmically with the size of the
ensemble.

Dynamic Simulation of Claytronic Ensembles


Visualizing the Invisible While Realizing the Unreal
Long before the first ensemble of a million catoms can be created, the designing of these never-before constructed
robotic modules and testing of their performance in real-world conditions must occur. For this purpose, the
research team assembled by Carnegie Mellon and Intel to create claytronics technology, created the Dynamic
Physical Rendering Simulator or DPRSim at the Intel Pittsburgh Research Lab on the Carnegie Mellon campus.

A first of its kind software program for the conceptual testing and visualization of multi-thousand robot
ensembles, DPRSim operates as a Linux-based system on desktop computers. It is available as open source
software with a tutorial on the website of Intel's Pittsburgh Lab. DPRSim has become the primary tool of the
Carnegie Mellon-Intel Claytronics Research Project for observing real-time performance when designing, testing
and debugging modular robots in claytronic ensembles.
Demonstrating the validity of claytronics requires extensive observation of cooperative behaviors among
nanoscale modular robots. The research task is made uniquely challenging by the absence of physical prototypes
that can serve as demonstration platforms for these tiny devices, which are no larger than a grain of sand.
Between concept and engineering conception, there is the need for extensive trial and error with real devices, and,
necessarily, that testing of concept requires very clear representations of a vast number of effects in a tiny world
that cannot be directly observed.
Big Window on A Tiny World
DPRSim provides the bridge between imagination and reality by enabling researchers to create models of
claytronic ensembles that operate in a software environment that fully replicates the forces that will affect the
behavior of these devices during real world operations.

As a computing platform that is able to run many programs at the same time, DPRSim enables the researcher to
program and control the performance of individual catoms. In effect, the simulator opens a visual window onto
the behavior of every tiny module. Thus, it reveals the full complexity of parallel processing in a claytronics
ensemble. In a domain of thusands of active computing nodes, where each individual catom may be running
more than one thread of instruction, the DPR simulator provides the means to activate all catoms under real-life
conditions.
Its run-time record captures all ensemble events in both video and text formats, making DPRSim an unusually
powerful tool for debugging as well as modelling. While providing a platform for programming the internal
computing capacity of individual catoms, DPRSim incorporates software drivers for physical phenomena such as
power flow, magnetics, gravity and friction. From this performance, DPRSim also captures movies to record its
simulations.
Desktop Control for Hundreds of Thousands of Computing Nodes
Developed to run from desktop (and laptop) computers, DPRSim models the complex interactions of catoms in
numbers that simulate the order of magnitude that will be characteristic of operational ensembles (512,000 catoms
on a single processor machine or up to a million on parallel processors). Modeling these complex nanoscale
behaviors, DPRSim projects a real-time visual display that enables an observer to witness the behavior of the sub-
millimeter catoms as they are changing states thorough the complete run of the test.
As it enables researchers to observe and track the performance of algorithms and software programs to control the
actions of otherwise unobservable catoms in a claytronics ensemble, DPR Sim has become the essential tool for
translating the visionary concept of dynamic, 3-D physical renderings into viable ensembles of millions of
nanoscale catoms in the real world. Moreover, a tool that operates with a real-time perpsective on the operating
state of every individual unit in the claytronics ensemble, DPRSim offers a version of the dynamic dashboard
tools that will integrate the operations of hardware and software in real-life versions of claytronic ensembles.

Вам также может понравиться