Embedded Systems: Ubiquitous Computing
April 10, 2003
Class Meeting 24
Outline
• Quick “Wrap-Up” thoughts on distributed robotic behaviors
• Introduction to Embedded Computing
3 Major Types of Spatially DistributedMulti-Robot Behaviors
• Motion relative to other robots
• Motion relative to the environment
• Motion relative to external agents
Spatially Distributed Behaviors
Motion relative to other robots:• Formations:
– Group motions and/or positions must satisfy defined constraints relative to the entire collective
• Special case: Dispersion, aggregation, flocking, schooling, herding (as in herds of antelope)
• Sorting, clumping:– Robots must separate
themselves into sub-groups according to defined constraints
(From Parker, 1995)
(From Beckers 1998)
Spatially Distributed Behaviors (con’t.)
Motion relative to the environment:
• Search, foraging, grazing, harvesting, deployment, coverage:– Robot motions and/or positions must result in
visitation of entire work area according to defined constraints
• Localization, mapping, exploration:– Robots must collect environmental information that
is merged into a map
From Balch,1994
From Gage,1993
Spatially Distributed Behaviors (con’t.)
Motion relative to external agents:• Pursuit, predator/prey, herding (as in shepherding sheep):
– Team motions must result in control of external agent motions• Target tracking:
– Collective robot motions must maintain external agents within view
Introduction to Embedded Systems
• Example application areas:– Robots– Wearable computers– Sensor networks– Smart spaces
• In time, these will converge– Computation everywhere– Information where you need it, when you need it– Physical action where you need it when you need it (maybe)
• Perhaps the closest vision is ubiquitous computing (Weiser) which we will examine today
Slide adapted from Gaurav Sukhatme, USC
Why Study Embedded Systems ?
• Distributed system par excellence
• In the years to come, wireless embedded systems will dwarf the present day Internet in scale
• Great impact on humanity and the way people live and work
• Hottest thing since sliced bread
Slide adapted from Gaurav Sukhatme, USC
From a recent issue of CACM
Slide adapted from Gaurav Sukhatme, USC
By the numbers...
• Approx. 2 billion computers in the world today
• Approx. 100 million computers are internet hosts
Slide adapted from Gaurav Sukhatme, USC
Where are the rest ?
• Everywhere– Cars, shopping malls, microwaves, aircraft, airports, trains, stadiums, roads,
bridges, building structures, ocean floor, satellites ….
• In fact there are 4 computers on the surface of Mars right now (though they are probably dead)
Slide adapted from Gaurav Sukhatme, USC
Historical Perspective
• Vannevar Bush, As We May Think, The Atlantic Monthly 1945
– Earliest prediction of massive, embedded computational units connected to sensors
– Earliest prediction of hyperlinks and web-like organization of information
Slide adapted from Gaurav Sukhatme, USC
Fast Forward to 1991-93
• Mark Weiser, The Computer for the 21st Century, Scientific American, 1991– Profound technologies disappear and become indistinguishable from
everyday life
• Mark Weiser, Some Computer Science Issues in Ubiquitous Computing, CACM, 1993– New challenges for Computer Science
Slide adapted from Gaurav Sukhatme, USC
Ubiquitous Computing
• Integrate computers seamlessly into the world– invisible, everywhere computing
• Not just laptops and PDAs
• Not virtual reality
Slide adapted from Gaurav Sukhatme, USC
Computers that Vanish
• A new way to think about computers– account for human environment– think about how and where people live and work
• When people learn something very well, they cease to be aware of it– compiling, tacit dimension, visual invariants...
Slide adapted from Gaurav Sukhatme, USC
Student Paper Presentation
• “The computer for the twenty-first century”, by Weiser, Scientific American, September 1991, pgs. 94-104.
• Presented by Trevor Dennison
Social Implications
• Cryptography built in• Digital fingerprints• More people to people interaction• The decline of the computer addict• Reduction in information overload
Agree/Disagree ?
Other Issues?
Slide adapted from Gaurav Sukhatme, USC
Taxonomy, Organization in Embedded Systems
• How to get our hands around all these applications ? (wearables,robots, sensor networks etc.)
• Are there universal basic ideas in common ?
• Two ‘universal’ themes to analyze these systems:– Context– Scale
Slide adapted from Gaurav Sukhatme, USC
Context and Scale
• Context– Logical (e.g. lexical scope in a program, semantics of pronouns in
English etc.)– Physical (e.g. location, proximity, predicate relations in the physical
world)
• Scale– Familiar to most of you in O notation (e.g. an algorithm is O(n^2)– Physical scale (e.g. size)
Slide adapted from Gaurav Sukhatme, USC
Time
• Fits under Context– Did x happen before/after y ?– How long ago did x happen ?
• Fits under Scale– How often should a sensor measure something ? (1 Hz, 10 Hz, 1 kHz etc.)
Slide adapted from Gaurav Sukhatme, USC
Physical Context
• Consider following where x is a person or a computer (as is y)– Where is x ?– Is x moving ? How fast is x moving ?– Is x below/above/under/in y ?– What is the distance between x and y ?
Slide adapted from Gaurav Sukhatme, USC
Localization (location) is an example of Context
• Where is the PDA ?– on my map – in a global coordinate system– relative to other PDAs or computers in
the rooms shown
?
Slide adapted from Gaurav Sukhatme, USC
(Why) Does Location Matter ?
• Routing/Congestion control–Peer to peer vs. broadcast
• Energy savings–Elementary example: turn off lights when I am not in my office (does
this really need location ?)
• The appearance of intelligent behavior
Slide adapted from Gaurav Sukhatme, USC
Gesture Recognition is an Example of Physical Context
• Where is a person pointing ?
• Useful in inferring intention– requires interpretation and possibly understanding
• Immediate application to a user interface
Slide adapted from Gaurav Sukhatme, USC
Temporal Context
• Sensor A measures vibration in a building, sensor B measures traffic on a nearby road
• If both are time stamped one can correlate window rattling with traffic?
• What use is correlation of this sort ?
• Timestamping– Simple mechanism to sequence events– In a distributed system this implies some sort of global clock (perhaps)
Slide adapted from Gaurav Sukhatme, USC
Why is Scale Important ?
• Algorithms that scale well in the size of the problem stand the test of time– O(n) vs. O(n2) vs. O(2n)
• Adapt to different problem sizes– Internet routing is a good example– Originally designed for a few hundred computers, it scales (kinda) to a few
hundred million
Slide adapted from Gaurav Sukhatme, USC
Scaling
• Will current routing scale to a few billion computers ? More ?– Next generation routing algorithms
• Will current information retrieval engines scale to a few billion computers and sensors ?– E.g. ask Google ‘what is the temperature in C205 on the UTK campus ?’– No (reasonable) answer
Slide adapted from Gaurav Sukhatme, USC
Granularity and Scale
• Granularity of sensing depends on the scale of the probleme.g. Monitoring seismic activity in the LA basin needs sensors ~10 m since the
“interesting” seismic waves have wavelengths on that order
• Doesn’t help to measure every 100 m
Slide adapted from Gaurav Sukhatme, USC
PROactive Computing (Tennenhouse, 2000)
• Get Physical– Bridge physical and virtual worlds
• Get Real– Faster than human speeds
• Get Out– Remove people from the control loop
Slide adapted from Gaurav Sukhatme, USC
PROactive Computing
• Is not office automation– That’s already done– In fact its pretty good
• Its not even office computing– Computers aren’t just in offices anymore– Majority are elsewhere
Slide adapted from Gaurav Sukhatme, USC
Where are the Computers ?
• By some estimates 80 - 90% of all processor are embedded in applications other than interactive desktop computers
• However, largely speaking CS focuses on the other 10%– In fact Tennenhouse thinks the number is closer to 2% !
Slide adapted from Gaurav Sukhatme, USC
PROactive Computing: Why Now ?
• We are at an Inflection Point in technology– New embedded processing – Deep networking (802.11 in tiny form factors, IrDA, low power RF etc.)– Limits of interactive computing (one person - one machine has its limits)
Slide adapted from Gaurav Sukhatme, USC
Getting Physical
• Robots– sensors– computers– actuators
• Sensor networks– sensors– computers– wireless communication
Slide adapted from Gaurav Sukhatme, USC
Getting Real: Control
Slide adapted from Gaurav Sukhatme, USC
Getting Out
• People are– users– operators– precious
• Move humans out/above the control loop
Slide adapted from Gaurav Sukhatme, USC
Why be PROactive ?
Slide adapted from Gaurav Sukhatme, USC
Slide adapted from Gaurav Sukhatme, USC
Amorphous Computing (Abelson, 2000)
• MEMS have become inexpensive
• Imagine a MEMS-based system with little tiny sensors and actuators
• Very large numbers
• Scattered about with no particular organization (deep embedding)– in paint, blood, clothes etc.
Slide adapted from Gaurav Sukhatme, USC
Challenges
• How to control such a collection ?
• How to produce coherent behavior by ensuring cooperation betweensuch vast numbers of parts ?
• How to fabricate such devices ?
Slide adapted from Gaurav Sukhatme, USC
Programming
• Think of amorphous systems as:– Irregularly placed, asynchronous, locally interacting devices – call these devices ‘particles’ or ‘computational elements’
• Each element– Modest computing, memory– Random number generation
Slide adapted from Gaurav Sukhatme, USC
No Context A Priori
• Each particle – Does not know where it is– Does not know which way it is pointing
• But..– Each particle can communicate with others within a limited radius r
Slide adapted from Gaurav Sukhatme, USC
Wave Propagation
• An anchor particle broadcasts a message to each neighbor
• The neighbors propagate the message to their neighbors and so on
• Create a ‘wave’ that diffuses through the system
• The message contains a hop count that is stored, incremented andpropagated
• If a particle receives the message again with a higher hop count it is dropped
Slide adapted from Gaurav Sukhatme, USC
What does this Achieve ?
• The hop counts provide a distance estimate from the anchor
• If the hop count is n at a particle, it is (roughly) nr units of distance away from the anchor
• Now each particle has some context (partial location information)
Slide adapted from Gaurav Sukhatme, USC
Pros and Cons
• Pros– Can build a coordinate system by using two anchors– Local strategy– Modest computation, communication– If broadcast is stopped at a certain hop count one can grow regions of
precise size
• Cons– Depends on the density of the particles
Slide adapted from Gaurav Sukhatme, USC
Using Regions
• Particles in one region can stop (or help) certain waves from propagating in their vicinity
• Remember, each particle is still doing something simple, like increment/decrement a number and a broadcast
• If ‘programmed’ properly this can produce engineered designs
Slide adapted from Gaurav Sukhatme, USC
Growing Points
• Organize the process in terms of “growing points” – Make structures that exhibit “likes/dislikes” toward particular “chemical
gradients”– May lay down materials– Materials may secrete pheromones that attract or repel other growing
points. – May split, die off, or join
Slide adapted from Gaurav Sukhatme, USC
Slide adapted from Gaurav Sukhatme, USC
Scale and Context
• Context acquisition by communication
• Depends on large numbers and density
• Individual particles are ‘small’ scale but the overall system could number in the millions
Slide adapted from Gaurav Sukhatme, USC
Next Time
• “Embedded Everywhere”