Monday, July 5, 2010


"Claytronics" is an emerging field of engineering concerning reconfigurable Nanoscale robots ('claytronic atoms', or catoms) designed to form much larger scale machines or mechanisms. Also known as "programmable matter", the catoms will be sub-millimeter computers that will eventually have the ability to move around, communicate with each others, change color, and electrostatically connect to other catoms to form different shapes. The forms made up of catoms could morph into nearly any object, even replicas of human beings for virtual meetings.
With Claytronics we are talking of intelligent material. How can a material be intelligent? By being made up of particle-sized machines. At Carnegie Mellon, with support from Intel, the project is called Claytronics. The idea is simple: make basic computers housed in tiny spheres that can connect to each other and rearrange themselves. It’s the same concept as we saw with Modular Robotics, only on a smaller scale. Each particle, called a Claytronics atom or Catom, is less than a millimeter in diameter. With billions you could make almost any object you wanted.
This project combines modular robotics, systems nanotechnology and computer science to create the dynamic, 3-Dimensional display of electronic information known as Claytronics. The main 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.
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.

The Role of Moore’s Law

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).
Claytronics Vs Nanotechnology
Forget Nanotechnology, Think Claytronics
Videoconferencing is like visiting someone in prison. You talk through a glass wall, but you can't deal with each other in a meaningful way.
With Claytronics you could fax over an exact copy of your body, which will sit in that conference room thousands of miles away, mimicking your moves in real time and speaking with your voice.
Claytronics experts are designing a kind of programmable clay that can morph into a working 3-D replica of any person or object, based on information transmitted from anywhere in the world. The clay would be made out of millions of tiny microprocessors called catoms (for "claytronic atoms"), each less than a millimeter wide. The catoms would bond electro-statically and be molded into different shapes when instructed by software.
Think of Claytronics as a more workable version of nanotechnology, which in its most advanced form promises to do the same thing but requires billions of self-assembling robots.
Processors are getting ever smaller, and at the submilli-meter level, they could communicate and move around independently, thanks to electrostatic forces. This makes the possibility of Claytronics even greater.
Intel and Carnegie Mellon joined forces in 2005 to cosponsor a project with a team of 25 robotics researchers and computer scientists. Their first breakthrough came when they developed software that can root out bugs in a system where millions of processors are working together.
The researchers say they will have a hardware prototype of submillimeter electrostatic modules in five years and will be able to fax complex 3-D models --anything from engagement rings to sports cars -- by 2017.
These are the fundamental building blocks for a new world of processing. Intel can see the potential.
That potential could change the world. Who needs a TV when you can watch a live-scale replica of Super Bowl LXX being fought out by claytronic football players on your coffee table? Why would a firefighter run into a burning building when he can send a claytronic version of himself? It's computing in 3-D in everyday life.

1.     SHAPE-SHIFTING: Millions of tiny processors called catoms could turn, say, a laptop into a cell phone. Here's how.
2.     Electrostatic forces bind catoms together in laptop form. Some act as antennas, picking up Wi-Fi.
3.     The software tells each Catom where to go. Catoms are spherical and roll around one another.
4.     The catoms arrive in the shape of a cell phone. Antenna catoms are now picking up 3G signals.
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.
Types of Catoms
  • 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 tube 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.

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.
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.
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. 
Seamless Ensemble: 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.
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.
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.

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. 

Programming Language for Claytronic Ensembles
The Motion of Each Node Is the Object of the Program

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.

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.
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.
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.
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.
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 micro processing 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.
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.
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.
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.

No comments: