claytronics./claytronics/claytronics/scg... · 2008. 1. 3. · © 2007 goldstein 1 seth copen...

17
© 2007 Goldstein 1 Seth Copen Goldstein [email protected] And, lots of other people! www.cs.cmu.edu/~claytronics November 8, 2007 Claytronics © 2007 Goldstein 2 Programmable Matter A programmable material… …with actuation and sensing… …that can change its physical properties … … under software control… …and in reaction to external stimuli For movie see www.cs.cmu.edu/~claytronics/movies/cardesign.wmv © 2007 Goldstein 3 Challenge At End Or, unabashed request for help. © 2007 Goldstein 4 Basic Human Need

Upload: others

Post on 06-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Claytronics./claytronics/claytronics/SCG... · 2008. 1. 3. · © 2007 Goldstein 1 Seth Copen Goldstein seth@cs.cmu.edu And, lots of other people! claytronics November 8, 2007 Claytronics

© 2007 Goldstein 1

Seth Copen [email protected]

And, lots of other people!www.cs.cmu.edu/~claytronics

November 8, 2007

Claytronics

© 2007 Goldstein 2

Programmable Matter• A programmable

material…• …with actuation and

sensing…• …that can change its

physical properties …• … under software

control…• …and in reaction to

external stimuli

For movie see www.cs.cmu.edu/~claytronics/movies/cardesign.wmv

© 2007 Goldstein 3

Challenge At End• Or, unabashed request for help.

© 2007 Goldstein 4

Basic Human Need

Page 2: Claytronics./claytronics/claytronics/SCG... · 2008. 1. 3. · © 2007 Goldstein 1 Seth Copen Goldstein seth@cs.cmu.edu And, lots of other people! claytronics November 8, 2007 Claytronics

© 2007 Goldstein 5

An Abstract Communication Device

Sense physical phenomena

Encode and transmit data

© 2007 Goldstein 6

An Abstract Communication Device

Sense physical phenomena

Encode and transmit dataReproduce

physical phenomena

© 2007 Goldstein 7

audio…01110010…

Encoding

mp3

video

Communication: a CS point of view

…01110010…Encoding

mpeg4© 2007 Goldstein 8

Can we do better?• Audio: sound waves

– Microphone– Speaker

• Video: light– Camera/CCD– Display

• Pario: 3D model– Multiple cameras– ?

Page 3: Claytronics./claytronics/claytronics/SCG... · 2008. 1. 3. · © 2007 Goldstein 1 Seth Copen Goldstein seth@cs.cmu.edu And, lots of other people! claytronics November 8, 2007 Claytronics

© 2007 Goldstein 9

Can we do better?• Audio: sound waves

– Microphone– Speaker

• Video: light– Camera/CCD– Display

• Pario: 3D model– Multiple cameras– Claytronics

© 2007 Goldstein 10

An Advertisement from 2012

For movie see www.cs.cmu.edu/~claytronics/movies/cardesign.wmv

© 2007 Goldstein 11

Today

What we need to do

© 2007 Goldstein 12

Today Tomorrow

What we need to doAnd don’t forget …

And, of course, movement

Page 4: Claytronics./claytronics/claytronics/SCG... · 2008. 1. 3. · © 2007 Goldstein 1 Seth Copen Goldstein seth@cs.cmu.edu And, lots of other people! claytronics November 8, 2007 Claytronics

© 2007 Goldstein 13

A Computer Architects View• Human need:

what we want to do

• Moore’s law:

what we can do

© 2007 Goldstein 14

Moore’s Law

Good

ness

Time

© 2007 Goldstein 15

Moore’s Law

Good

ness

Time

© 2007 Goldstein 16

Moore’s Law

Good

ness

Time

Page 5: Claytronics./claytronics/claytronics/SCG... · 2008. 1. 3. · © 2007 Goldstein 1 Seth Copen Goldstein seth@cs.cmu.edu And, lots of other people! claytronics November 8, 2007 Claytronics

© 2007 Goldstein 17

Moore’s LawGo

odne

ss

Time

HappyB’dayHappyB ‘ Day

HappyB’Day

?

© 2007 Goldstein 18

Where are we in 50 years?

1 nm3?? (1 μm3)1 cm3450 M3Volume

16KB4KB<800BStorage

2 attowatts20mW200KWPower

20 μg1 oz30 tonsWeight

2 picosec25ns>200μsCycle time

1 millicent1$5M-23M (2002 $)

Cost

2050Programmable matter

2003 greeting card

1949Eniac

Cogent arguments for both sooner and later exist

© 2007 Goldstein 19

Claytronics• A programmable

material…• …with actuation and

sensing…• …that can morph into

shapes under software control…

• …and in reaction to external stimuli

For Movie see: www.cs.cmu.edu/~claytronics/slice-of-cardesign.avi© 2007 Goldstein 20

Types of “Programmable Matter”

StoddartU

T-Austin/U

CSF

Stoy• Modular Robots

• Sensor Network

• Claytronics

• Synthetic Biology

• FPGAs

• Nanotechnology

Guestrin

Page 6: Claytronics./claytronics/claytronics/SCG... · 2008. 1. 3. · © 2007 Goldstein 1 Seth Copen Goldstein seth@cs.cmu.edu And, lots of other people! claytronics November 8, 2007 Claytronics

© 2007 Goldstein 21

Scaling• Goal: Form dynamic high-fidelity

macroscale objects

© 2007 Goldstein 22

Scaling• Goal: Form dynamic high-fidelity

macroscale objects• High-fidelity ⇒ sub-millimeter units• Macroscale ⇒ millions of units• Scaling: Down in size

Up in number• Method:

EnsembleEffect

© 2007 Goldstein 23

– Actuation– Adhesion– Display

Node Requirements• Each node must have

– Computation+Memory– Communication– Energy Storage– Sensing

• Yet, scaling demands nodes be:– Simple– Small

• Ensemble Axiom:A node should include only the functionality necessary to achieve the desired ensemble.

© 2007 Goldstein 24

Node Ensemble

Hardware

Software

Design Space

Challenges

• Challenges are all intertwined– Hardware/Software trade-offs– Ensemble Axiom

• Example: Energy

Page 7: Claytronics./claytronics/claytronics/SCG... · 2008. 1. 3. · © 2007 Goldstein 1 Seth Copen Goldstein seth@cs.cmu.edu And, lots of other people! claytronics November 8, 2007 Claytronics

© 2007 Goldstein 25

Node Ensemble

Hardware

Software

Challenges

• Challenges are all intertwined– Hardware/Software trade-offs– Ensemble Axiom

• Example: Energy© 2007 Goldstein 26

Node Ensemble

Hardware

Software

Challenges

• Challenges are all intertwined– Hardware/Software trade-offs– Ensemble Axiom

• Example: Energy

© 2007 Goldstein 27

Node Ensemble

Hardware

Software

Challenges

• Challenges are all intertwined– Hardware/Software trade-offs– Ensemble Axiom

• Example: Energy© 2007 Goldstein 28

Today Tomorrow

One Possible Path

Page 8: Claytronics./claytronics/claytronics/SCG... · 2008. 1. 3. · © 2007 Goldstein 1 Seth Copen Goldstein seth@cs.cmu.edu And, lots of other people! claytronics November 8, 2007 Claytronics

© 2007 Goldstein 29

Harness Photolithography

• Use Moore’s law!• Challenge:

How to create a3D object froma 2D process?

© 2007 Goldstein 30

Harness Photolithography

• Use Moore’s law!• Challenge:

How to create a3D object froma 2D process?

• Start with standard Wafer

© 2007 Goldstein 31

Harness Photolithography

• Use Moore’s law!• Challenge:

How to create a3D object froma 2D process?

• Start with standard Wafer• Create our circuits in a special pattern

Reid, AFRL

© 2007 Goldstein 32

Reid, AFRL

Harness Photolithography

• Use Moore’s law!• Challenge:

How to create a3D object froma 2D process?

• Start with standard Wafer• Create our circuits in a special pattern• Post-process to create sphere

300 microns300 microns300 microns

Page 9: Claytronics./claytronics/claytronics/SCG... · 2008. 1. 3. · © 2007 Goldstein 1 Seth Copen Goldstein seth@cs.cmu.edu And, lots of other people! claytronics November 8, 2007 Claytronics

© 2007 Goldstein 33

Reid, AFRL

Harness Photolithography

• Use Moore’s law!• Challenge:

How to create a3D object froma 2D process?

• Start with standard Wafer• Create our circuits in a special pattern• Post-process to create sphere

300 microns300 microns300 microns

© 2007 Goldstein 34

Some recent progress

Rob Reid, AFRL

© 2007 Goldstein 35

A sanity check1 mm diameter sphere

Mass < 1 mg

Electrostatic Actuators~5 body lengths / sec

Power StorageSupercapacitor stores enough energy to execute over 200 million instructions or move 2

million body lengths

Computation Capability8086 Processor with

256KB memory

SOI-CMOS 90 nm process with > 2M transistors.

Power distributionTransmission of “energy packets” using capacitive coupling fills reservoir in

< 1μs.

Communication Capacitors

© 2007 Goldstein 36

Research Plan• Investigating hardware

– Mechanisms– Systems

• Investigating Software– Languages and models– Algorithms– Tools

Page 10: Claytronics./claytronics/claytronics/SCG... · 2008. 1. 3. · © 2007 Goldstein 1 Seth Copen Goldstein seth@cs.cmu.edu And, lots of other people! claytronics November 8, 2007 Claytronics

© 2007 Goldstein 37

Investigating many size scales

© 2007 Goldstein 38

Investigating many size scales

© 2007 Goldstein 39

Stochastic Catoms

© 2007 Goldstein 40

Page 11: Claytronics./claytronics/claytronics/SCG... · 2008. 1. 3. · © 2007 Goldstein 1 Seth Copen Goldstein seth@cs.cmu.edu And, lots of other people! claytronics November 8, 2007 Claytronics

© 2007 Goldstein 41

Magnetic Based Catoms

© 2007 Goldstein 42

Ensemble Effect & Motion

For movie see: www.cs.cmu.edu/~claytronics/movies/3catoms.avi

© 2007 Goldstein 43

Initial Experiments at <1mm-scale

For movie see: www.cs.cmu.edu/~claytronics/movies/es-tube.avi © 2007 Goldstein 44

Today Tomorrow

What about the software?

Page 12: Claytronics./claytronics/claytronics/SCG... · 2008. 1. 3. · © 2007 Goldstein 1 Seth Copen Goldstein seth@cs.cmu.edu And, lots of other people! claytronics November 8, 2007 Claytronics

© 2007 Goldstein 45

Two Broad Problem Areas

• 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?

• Let’s focus on the ensemble

© 2007 Goldstein 46

“Emergent Behavior”• Incredibly seductive• Witness ants

• They proceed from nest to food and back via pheromone trail

food nest

© 2007 Goldstein 47

“Emergent Behavior”• Incredibly seductive• Witness ants

• What happens when it is blocked?

food nest

© 2007 Goldstein 48

“Emergent Behavior”• Incredibly seductive• Witness ants

• Ants that hit obstacle turn right or left randomly!

food nest

Page 13: Claytronics./claytronics/claytronics/SCG... · 2008. 1. 3. · © 2007 Goldstein 1 Seth Copen Goldstein seth@cs.cmu.edu And, lots of other people! claytronics November 8, 2007 Claytronics

© 2007 Goldstein 49

“Emergent Behavior”• Incredibly seductive• Witness ants

• Ants prefer to follow a path with pheromones on it.

food nest

© 2007 Goldstein 50

“Emergent Behavior”• Incredibly seductive• Witness ants

• Shortest path has more pheromones on it

food nest

© 2007 Goldstein 51

“Emergent Behavior”• Incredibly seductive• Witness ants

• Voila: They find the shortest path!

food nest

© 2007 Goldstein 52

Emergent EngineeringmoveAround( X, Y, Point ) :-

neighbor( X, Y ),brightness( X, N ), brightness( Y, M ), vacant( Y, Point ),N <= M.

• Attributes:– Ensemble level thinking– Concise understandable program– Scalable– Amenable to proof– Robust to failure and environmental uncertainty

For movie see: www.cs.cmu.edu/~claytronics/movies/phototropic1.mpg

Page 14: Claytronics./claytronics/claytronics/SCG... · 2008. 1. 3. · © 2007 Goldstein 1 Seth Copen Goldstein seth@cs.cmu.edu And, lots of other people! claytronics November 8, 2007 Claytronics

© 2007 Goldstein 53

Thermodynamics for ComputingAggregation fundamentally alters purpose and capabilities

⇒ causes a control barrier as systems scale

Traditional CS

Phy/Chem/Econ

Engineering Ensemble Effects

Number of Entities100 101 102 103 104 105 106 107 108 1024 1025…

Control each unit’s actions

Control global properties of the aggregateControl ensembles

of active units

… …

Goal: Understand methods for programming the ensemble as a whole.

© 2007 Goldstein 54

Solution Attributes• Programs must be:

– Ensemble centric– Uncertainty tolerant– Concise– Support formal methods

• Tools must:– Compile ensemble-program into unit program– Harness distributed nature of problem and

solution

© 2007 Goldstein 55

Some Recent Work• Programming languages

– Oriented to the ensemble– 20x shorter programs– At least as efficient!

• Algorithms– For shape morphing– Finding out where you are– Deciding how to get where you want to be

• Tools– For debugging distributed systems– Visualizing massive numbers of particles

© 2007 Goldstein 56

For these and other simulations,see www.cs.cmu.edu/~claytronics/movies

Page 15: Claytronics./claytronics/claytronics/SCG... · 2008. 1. 3. · © 2007 Goldstein 1 Seth Copen Goldstein seth@cs.cmu.edu And, lots of other people! claytronics November 8, 2007 Claytronics

© 2007 Goldstein 57

Something Concrete?• What programming model?• What language?• How to measure effectiveness?

• Imperative approach currently in use– Must program each unit– Must handle messages, links– Changing topology creates compications– Focused on the unit

© 2007 Goldstein 58

A simple “Walk”C++ vs. Meld

dist(S, D) :-at(S, P),D = |P - destination()|.

farther(S, T) :-neighbor(S, T),dist(S, D),dist(T, D’),D >= D’.

moveAround(S,T,U) :-farther(S, T),farther(S, U),T != U.

© 2007 Goldstein 59

Example execution & Base Facts

b ca

dist(S, D) :-at(S, P),D = |P - destination()|.

farther(S, T) :-neighbor(S, T),dist(S, D),dist(T, D’),D >= D’.

moveAround(S,T,U) :-farther(S, T),farther(S, U),T != U.

neighbor(c, a)neighbor(c, b)at(c, point3)

neighbor(b, a)neighbor(b, c)at(b, point2)

neighbor(a, b)neighbor(a, c)at(a, point1)

© 2007 Goldstein 60

Example execution & Base Facts

neighbor(c, a)neighbor(c, b)at(c, point3)

neighbor(b, a)neighbor(b, c)at(b, point2)

neighbor(a, b)neighbor(a, c)at(a, point1) at(a, point1)

dist(S, D) :-at(S, P),D = |P - destination()|.

farther(S, T) :-neighbor(S, T),dist(S, D),dist(T, D’),D >= D’.

moveAround(S,T,U) :-farther(S, T),farther(S, U),T != U.

b ca

Page 16: Claytronics./claytronics/claytronics/SCG... · 2008. 1. 3. · © 2007 Goldstein 1 Seth Copen Goldstein seth@cs.cmu.edu And, lots of other people! claytronics November 8, 2007 Claytronics

© 2007 Goldstein 61

Some Details• Automatic distribution of facts, rules

• Handling deletion• Messaging• Side-effects

farther-remote(S, T, D’) :-neighbor(T, S),dist(T, D’).

farther(S, T) :-farther-remote(S, T,D’),dist(S, D),D >= D’.

farther(S, T) :-neighbor(S, T),dist(S, D),dist(T, D’),D >= D’.

© 2007 Goldstein 62

Can this possibly work?• Amazingly:

– Programs 20x smaller!– Message, bytes sent, memory used, and

cpu used all scale at least as well as C++ program

© 2007 Goldstein 63

Can this possibly work?• Amazingly:

– Programs 20x smaller!– Message, bytes sent, memory used, and

cpu used all scale at least as well as C++ program

0

5000

10000

15000

20000

Gradient Routing Localize Morph

C++ Meld

For movie see: www.cs.cmu.edu/~claytronics/movies/cube2man.mpg © 2007 Goldstein 64

•Concise specifications•Embarrassingly parallel•Examples:– Amorphous computing [Nagpal]– Graph grammars [Klavins]– Programming work [Kod.]– CA+Gradients [Stoy]– Hole motion [DeRosa]– Boyd model [Boyd]– Turing stripes

•Goal:Compile Global specification into unit rulesPredict global behavior from set of unit rules

Global Behavior from local rules

Global behavior Local rules

Compile into

Predict

Global behavior Local rules

Compile into

Predict

Global behavior Local rules

Compile into

Predict

Page 17: Claytronics./claytronics/claytronics/SCG... · 2008. 1. 3. · © 2007 Goldstein 1 Seth Copen Goldstein seth@cs.cmu.edu And, lots of other people! claytronics November 8, 2007 Claytronics

© 2007 Goldstein 65

• 3D Fax machines• Kinesthetic CAD tools• 3D TV• Surgical preparation• New drug design• Pario games• “In person” remote meetings• Doctors make house calls• Fire fighters out of harms way• …

• Imagine:My Vision for the future

© 2007 Goldstein 66

• Imagine:– Imagination is the main limitation

• Not just Claytronics!

• Give the power of programming to matter!

My Vision for the futureKK

© 2007 Goldstein 67

Challenge Problem(s)• Intermediate uses for two classes of

programmable matter:– 1mm particles, not very cohesive– 1cm particles, sort of cohesive

• Suggestions?