On the Path Towards Programmable Matter." PDF

advertisement
Programmable Matter
On The Path to
Programmable Matter
• A programmable
material…
• …with actuation and
sensing…
• …that can change its
physical properties …
• … under software
control…
• …and in reaction to
external stimuli
Seth Copen Goldstein
seth@cs.cmu.edu
And, lots of other people!
www.cs.cmu.edu/~claytronics
SenSys, 11/07
SenSys
© 2007 Goldstein
See video at: www.cs.cmu.edu/~claytronics/
1
SenSys
Types of “Programmable Matter”
Types of “Programmable Matter”
• Claytronics
• Sensor Network
• Claytronics
• Nanotechnology
© 2007 Goldstein
3
• Synthetic Biology
• FPGAs
Stoddart
Stoddart
• FPGAs
UT-Austin/UCSF
UT-Austin/UCSF
• Synthetic Biology
SenSys
Guestrin
Guestrin
• Sensor Network
Stoy
• Modular Robots
Stoy
• Modular Robots
2
© 2007 Goldstein
• Nanotechnology
SenSys
© 2007 Goldstein
4
Scaling
Scaling
• Goal: Form dynamic high-fidelity
macroscale objects
SenSys
• Goal: Form dynamic high-fidelity
macroscale objects
• High-fidelity ⇒ sub-millimeter units
• Macroscale ⇒ millions of units
• Scaling: Down in size
Up in number
• Method:
Ensemble
Effect
5
© 2007 Goldstein
SenSys
© 2007 Goldstein
Node Requirements
Challenges
Node
• Each node must have
–
–
–
–
Computation+Memory
Communication
Energy Storage
Sensing
6
– Actuation
– Adhesion
– Display
Hardware
• Yet, scaling demands nodes be:
Software
Ensemble
Design Space
– Simple
– Small
• Ensemble Axiom:
• Challenges are all intertwined
A node should include only the functionality
necessary to achieve the desired ensemble.
– Hardware/Software trade-offs
– Ensemble Axiom
• Example: Energy
SenSys
© 2007 Goldstein
7
SenSys
© 2007 Goldstein
8
Challenges
Node
Ensemble Effect & Motion
Ensemble
Hardware
Software
• Challenges are all intertwined
– Hardware/Software trade-offs
– Ensemble Axiom
• Example: Energy
SenSys
© 2007 Goldstein
9
SenSys
Ensemble Effect & Motion
10
© 2007 Goldstein
Building the Hardware
?
• Not if, but when
Goodness
Happy
HaHappy
pp
y
B’Day
B
‘D
B’day
ay
• Many approaches
– MEMS
– Bio
–?
Time
• Many challenges, but a clear path exists
SenSys
© 2007 Goldstein
11
SenSys
© 2007 Goldstein
12
Current Approach to <1mm
• How to form 3D
from a 2D process?
A potential approach
Silicon
Silicon Dioxide
Silicon
• How to form 3D
from a 2D process?
– begin with foundry
CMOS on SOI
SenSys
13
© 2007 Goldstein
SenSys
A potential approach
A potential approach
• How to form 3D
from a 2D process?
300 microns
– begin with foundry
CMOS on SOI
– pattern a flower
that includes
structure and
circuits
– lift off silicon layer
– begin with foundry
CMOS on SOI
– pattern a flower
that includes
structure and
circuits
– lift off silicon layer
• flexible
• harness stress to
form a sphere
• flexible
• harness stress to
form a sphere
© 2007 Goldstein
14
© 2007 Goldstein
15
SenSys
© 2007 Goldstein
300 microns
Reid, AFRL
• How to form 3D
from a 2D process?
SenSys
Reid, AFRL
– begin with foundry
CMOS on SOI
– pattern a flower
that includes
structure and
circuits
16
Initial Experiments
A sanity check
Computation Capability
1 mm diameter sphere
8086 Processor with
256KB memory
Mass < 1 mg
SOI-CMOS 90 nm process
with > 2M transistors.
Electrostatic Actuators
~5 body lengths / sec
Communication Capacitors
Power Storage
Power distribution
Supercapacitor stores enough
energy to execute over 200
million instructions or move 2
million body lengths
SenSys
Transmission of “energy
packets” using capacitive
coupling fills reservoir in
< 1μs.
17
© 2007 Goldstein
Sensor Networks
Rob Reid, AFRL
SenSys
© 2007 Goldstein
18
Sensor Networks as Programmable Matter
• Both have
Sense physical phenomena
–
–
–
–
Lots of nodes
• Sensor
nodeshard problem
BothNetworks
must tackle
– May be unattended for long periods of time
of programming
the ensemble
– Separate
from each other
– Severely energy constrained
Communicating with
each other
Compute something
• Programmable Matter
Result: an ensemble effect.
i.e., The whole is greater than the sum of the parts
SenSys
© 2007 Goldstein
19
Many nodes networked together
Nodes which can compute & store state
Sense the environment
Need uncertainty tolerance
– More nodes
– Mobile nodes (actuators!)
– Nodes in contact, often in a lattice
SenSys
© 2007 Goldstein
20
Two Broad Problem Areas
Thermodynamics for Computing
• Programming the Ensemble: How does
one think about coordination of millions
of elements?
• Programming the Unit: What is the
programming model for a (single)
element?
Traditional CS
Control each
unit’s actions
Control ensembles
of active units
101
100
• Let’s focus on the ensemble
Engineering Ensemble Effects
102
103
104
105
Control
global properties
of the aggregate
Phy/Chem/Econ
106
107
…
108 …
1024
1025
Number of Entities
Goal: Understand methods for
programming the ensemble as a whole.
SenSys
© 2007 Goldstein
21
SenSys
moveAround( X, Y, Point ) :neighbor( X, Y ),
brightness( X, N ),
brightness( Y, M ),
vacant( Y, Point ),
N <= M.
•Sensor calibration
– manufacturing and
deployment
introduces bias
– sensor cannot
remove bias
independently
• Attributes:
Ensemble level thinking
Concise understandable program
Scalable
Amenable to proof
Robust to failure and environmental uncertainty
SenSys
© 2007 Goldstein
22
Automatic Sensor Calibration
as Probabilistic Inference
Emergent Engineering
–
–
–
–
–
© 2007 Goldstein
23
•Probabilistic inference
for calibration:
– exploit correlations
between nearby sensors
– use probabilistic
graphical model to
represent correlation
Guestrin, CMU
SenSys
probability of bias
given sensor measurements of all nodes
probability of true, unbiased temperature
given sensor measurements of all nodes
© 2007 Goldstein
24
…
ISAT 2007
Specification
In detail for probabilistic inference…
Specification
1
3
environment description
how do
we connect?
message passing algorithm
on junction tree (data structure)
stable distributed junction tree
(even as link qualities change)
IJKO
RTUY
QTXY
SWZ
MNO
XYW
KLO
EFJK
OTY
Topological
physical
communication pattern
Geometric
SenSys
GHJO
Overlay
distributed data structure
optimizing the flow of information
Topological
combination
Logical
integrating and
summarizing information
Overlay
4
2
environment description
Logical
summary
query
query
Geometric
© 2007 Goldstein
25
Building and Maintaining a Real Overlay
Field deployment: 97 sensor
nodes deployed in office
building
SenSys
26
© 2007 Goldstein
A General Architecture
25 C
+2 C
True
Temp
Sensor
Bias
Noisy
Sensor
automatic
sensor calibration
13 messages per node
to form junction tree
(average)
building
automation
sensor field
monitoring
Logical
Overlay
GHJO
IJKO
RTUY
QTXY
SWZ
MNO
robust to node
and link failure
EFJK
Topological
Geometric
Initialization
Phase
© 2007 Goldstein
27
KLO
OTY
XYW
Cost
measures
27 C
SenSys
well-understood
in AI & machine learning
E3 abstraction
The E3 abstraction
Specification
S
Transforming Shapes
• Shape Change in Claytronics
• Requires:
High-level description of the Objective,
including goals, tasks and constraints.
Unified view of ensemble operations
Logical
–
–
–
–
Algorithmic Implementation of Specification
L
Distributed data structure
(integrity, consistency, access)
The distributed data structures necessary
to create ensemble effects from the
local communication relationships.
Overlay
O
• One example:
Communication resources available (~ IP layer)
Topology
T
Determine which robots can move
Keep modules connected
Parallel movement
Dealing with unit failure
– In C++ ~1000 lines
Communication-centric relationship between nodes.
Physical sensor node data (e.g., location, sensors)
Geometry
G
The primary interface to the physical world
And where the nodes are in the world.
SenSys
© 2007 Goldstein
29
SenSys
Morphing Ensembles of Robots
Morphing Ensembles of Robots
S
Transform shape of ensemble from into
target shape without disconnecting any
nodes.
S
Transform shape of ensemble from into
target shape without disconnecting any
nodes.
L
Move leaves towards root of their tree.
L
Move leaves towards root of their tree.
O
T
G
SenSys
Cover surface with forest of trees.
Roots are near target.
O
Links between adjacent neighbors.
Distinguish interior nodes from exterior
ones.
T
3D location in ensemble consistent
coordinate system.1
G
© 2007 Goldstein
31
30
© 2007 Goldstein
SenSys
Cover surface with forest of trees.
Roots are near target.
target
Links between adjacent neighbors.
Distinguish interior nodes from exterior
ones.
3D location in ensemble consistent
coordinate system.1
© 2007 Goldstein
32
Ensemble Compilation
Morphing Ensembles of Robots
S
Transform shape of ensemble from into
target shape without disconnecting any
nodes.
L
Move leaves towards root of their tree.
O
• Programs are 20x shorter
Understandable &
Proof friendly
• Ensemble Compilers are key:
• Where data lives
• Minimize communication
• Keep data consistent
Cover surface with forest of trees.
Roots are near target.
target
Runtime Messages
20000
T
G
• E3 Abstraction ⇒
Efficient ensembles 15000
Links between adjacent neighbors.
Distinguish interior nodes from exterior
ones.
C++
Meld
10000
3D location in ensemble consistent
coordinate system.1
5000
0
SenSys
© 2007 Goldstein
33
SenSys
The E3 abstraction exploits…
new
compiler
techniques
embed
algorithm onto
distributed
data structure
•Concise specifications
•Embarrassingly parallel
•Examples:
High-level description of the Objective,
including goals, tasks and constraints.
Logical
L
–
–
–
–
–
–
–
Algorithmic Implementation of Specification
Overlay
O
embed
overlay onto
available
communication
resources
The distributed data structures necessary
to create ensemble effects from the
local communication relationships.
Topology
T
Communication-centric
relationship between nodes.
SenSys
The primary interface to the physical world
And where the nodes are in the world.
© 2007 Goldstein
Morph
34
Amorphous computing [Nagpal]
Graph grammars [Klavins]
Programming work [Kod.]
CA+Gradients [Stoy]
Hole motion [DeRosa]
Boyd model [Boyd]
Turing stripes
Compile into
Global behavior
Local rules
Predict
•Goal:Compile Global specification into unit rules
Predict global behavior from set of unit rules
Geometry
G
Gradient Routing Localize
Global Behavior from local rules
Specification
S
© 2007 Goldstein
35
SenSys
© 2007 Goldstein
36
Thermodynamics for Computing
Programmable Matter
• Open up an entire new application space
–
–
–
–
–
–
Traditional CS
Control each
unit’s actions
Engineering Ensemble Effects
Control ensembles
of active units
101
100
102
103
104
105
Control
global properties
of the aggregate
Phy/Chem/Econ
106
107
…
108 …
1024
1025
Number of Entities
Goal: Understand methods for
programming the ensemble as a whole.
SenSys
© 2007 Goldstein
37
SenSys
© 2007 Goldstein
39
…
Antennas
Design
Entertainment
Interaction
Rescue
Metal Man
(Programmable Antennas)
(100x protein model)
(WoW in your living room)
(telepario)
(paramedic on demand)
(fault tolerant robotics)
• Vehicle for studying CS problem of the
future:
How do you design, program, maintain,
and use a billion component system?
SenSys
© 2007 Goldstein
38
Download